本發(fā)明涉及虛擬現(xiàn)實(shí)(VR)技術(shù)領(lǐng)域,尤其涉及一種新的全景圖像非對(duì)稱映射方法,可減少全景圖上非ROI區(qū)域(非感興趣區(qū)域)所占的圖像面積,降低編碼全景圖像所需的碼率
背景技術(shù):
目前,虛擬現(xiàn)實(shí)技術(shù)和相關(guān)應(yīng)用正在快速發(fā)展。在虛擬現(xiàn)實(shí)技術(shù)中,全景圖像是一個(gè)重要的組成部分。由于全景圖像記錄了360度視角的全部畫面,具有極高的數(shù)據(jù)量,不利于傳輸和存儲(chǔ)。
由于全景圖像中往往只有一部分是用戶比較感興趣的區(qū)域,而其余部分不太容易引起用戶注意。因此,可以對(duì)全景圖像中的感興趣區(qū)域(ROI)使用較高的采樣精度,而對(duì)非感興趣區(qū)域使用較低采樣精度,可以大幅降低全景圖像的數(shù)據(jù)量。但是,目前通用的基于經(jīng)緯圖的全景圖像映射方式無法靈活地設(shè)定圖像的采樣精度。因此,現(xiàn)有的全景圖像映射方法不能使用上述非對(duì)稱的采樣精度,映射方式不合理,難以降低全景圖像的數(shù)據(jù)量。
技術(shù)實(shí)現(xiàn)要素:
為了克服上述現(xiàn)有技術(shù)的不足,本發(fā)明提供一種針對(duì)全景圖像的非對(duì)稱映射方法,可對(duì)全景圖像不同區(qū)域使用不同的采樣精度,降低非ROI區(qū)域的數(shù)據(jù)量。
本發(fā)明提供的技術(shù)方案是:
一種全景圖像的非對(duì)稱映射方法,包括非對(duì)稱前向映射方法和非對(duì)稱反向映射方法;非對(duì)稱前向映射方法將原始圖轉(zhuǎn)換成非對(duì)稱圖;非對(duì)稱反向映射方法將上述非對(duì)稱圖反映射成原始圖;
其中,對(duì)全景圖像通過非對(duì)稱前向映射方法將原始圖轉(zhuǎn)換(映射)成非對(duì)稱圖的過程中,原始圖可以是任意格式的全景圖,如經(jīng)緯圖;圖像上同一列像素具有相同的經(jīng)度,同一行像素具有相同的維度;與現(xiàn)有的經(jīng)緯圖映射不同,該方法中,圖像在中心位置按照指定寬高設(shè)定ROI區(qū)域,ROI區(qū)域具有同經(jīng)緯圖上對(duì)應(yīng)點(diǎn)相同的采樣精度,非ROI區(qū)域的采樣精度沿圖像中心向圖像邊緣平滑遞減。該映射方法具體步驟為:
第一步:指定一個(gè)寬高為W×H的傳統(tǒng)經(jīng)緯圖,將經(jīng)緯圖坐標(biāo)映射為按照任意指定的映射方法采集或存儲(chǔ)的原始全景圖坐標(biāo),即建立從所屬經(jīng)緯圖上某一點(diǎn)的坐標(biāo)(x,y)到所述原始全景圖像上相同點(diǎn)的坐標(biāo)(xo,yo)的映射關(guān)系為:
F:(xo,yo)=F(x,y) (式1)
第二步:對(duì)經(jīng)緯圖指定一個(gè)中心為經(jīng)緯圖中心、且寬高為Wr×Hr的ROI區(qū)域。指定映射圖的寬高為W′×H′,計(jì)算橫向和縱向上的最大下采樣比例rx和ry:
第三步:建立從映射圖上某一點(diǎn)的坐標(biāo)(x′,y′)到所述經(jīng)緯圖上相同點(diǎn)的坐標(biāo)(x,y)的映射關(guān)系F′,F(xiàn)′可以寫作F′(x′,y′)=(Fx′(x′),Fy′(y′)),其中x=Fx′(x′),y=Fy′(y′)。
如圖3所示,圖3(a)表示經(jīng)緯圖;Rh表示ROI縱向邊界到經(jīng)緯圖縱向邊界的橫向距離;圖3(b)表示映射圖,Rh′表示ROI縱向邊界到映射圖縱向邊界的橫向距離。
x′和x的映射關(guān)系Fx′可以寫作:
當(dāng)x′<Rh′時(shí),如映射圖上Pl′點(diǎn),x=Rh-Dl,如經(jīng)緯圖上Pl點(diǎn);
當(dāng)x′>Rh′+Wr時(shí),如映射圖上Pr′點(diǎn),x=Rh+Wr+Dr,如經(jīng)緯圖上Pr點(diǎn);
否則,x=Rh+x′-Rh′。
Dl和Dr是經(jīng)緯圖上的點(diǎn)Pl和Pr到ROI縱向邊界的橫向距離,可以由映射圖上的點(diǎn)Pl′和Pr′到ROI縱向邊界的橫向距離Dl′和Dr′計(jì)算,公式為:
其中,Dh代表Dl或Dr,Dh′代表Dl′或Dr′,并且,Dl′=Rh′-x′,Dr′=x′-Wr-Rh′。
如圖4所示,圖4(a)表示經(jīng)緯圖,Rv表示ROI橫向邊界到經(jīng)緯圖橫向邊界的縱向距離;圖4(b)表示映射圖,Rv′表示ROI橫向邊界到映射圖橫向邊界的縱向距離。
y′和y的映射關(guān)系Fy′可以寫作:
當(dāng)y′<Rv′時(shí),如映射圖上Pt′點(diǎn),y=Rv-Dt,如經(jīng)緯圖上Pt點(diǎn);
當(dāng)y′>Rv′+Hr時(shí),如映射圖上Pb′點(diǎn),y=Rv+Hr+Db,如經(jīng)緯圖上Pb點(diǎn);
否則,y=Rv+y′-Rv′。
Dt和Db是經(jīng)緯圖上的點(diǎn)Pt和Pb到ROI橫向邊界的縱向距離,可以由映射圖上的點(diǎn)Pt′和Pb′到ROI橫向邊界的縱向距離Dt′和Db′計(jì)算,公式為:
其中,Dv代表Dt或Db,Dv′代表Dt′或Db′,并且,Dt′=Rv′-y′,Db′=y(tǒng)′-Hr-Rv′。
第四步:生成映射圖(非對(duì)稱圖),映射圖上某一點(diǎn)(x′,y′)的像素值為原始全景圖上F(F′(x′,y′))點(diǎn)的像素值。對(duì)映射圖上每一點(diǎn)做上述操作,得到映射圖。
另一方面,通過非對(duì)稱反向映射方法將映射圖反向映射到經(jīng)緯圖上,并進(jìn)一步反向映射到其它任何映射方式的全景圖(目標(biāo)全景圖)上,這個(gè)過程包括如下具體步驟:
第一步:將按照任意指定映射方法映射的目標(biāo)全景圖坐標(biāo)映射到經(jīng)緯圖坐標(biāo),即建立從目標(biāo)全景圖上某一點(diǎn)的坐標(biāo)(xo,yo)到所述經(jīng)緯圖上相同點(diǎn)的坐標(biāo)(x,y)的映射關(guān)系:
F-1:(x,y)=F-1(xo,yo) (式11)
第二步:如圖2所示,經(jīng)緯圖的寬高為W×H,ROI區(qū)域?qū)捀邽閃r×Hr,映射圖的寬高為W′×H′,計(jì)算橫向和縱向上的最大下采樣比例rx和ry:
第三步:建立從經(jīng)緯圖上某一點(diǎn)的坐標(biāo)(x,y)到所述映射圖上相同點(diǎn)的坐標(biāo)(x′,y′)的映射關(guān)系F″,F(xiàn)″可以寫作F″(x,y)=(Fx″(x),Fy″(y)),其中x′=Fx″(x),y′=Fy″(y)。
如圖3所示,圖3(a)表示經(jīng)緯圖,Rh表示ROI縱向邊界到經(jīng)緯圖縱向邊界的橫向距離;圖3(b)表示映射圖,Rh′表示ROI縱向邊界到映射圖縱向邊界的橫向距離。
x和x′的映射關(guān)系Fx″可以寫作:
當(dāng)x<Rh時(shí),如映射圖上Pl點(diǎn),x′=Rh′-Dl′,如經(jīng)緯圖上Pl′點(diǎn);
當(dāng)x>Rh+Wr時(shí),如映射圖上Pr點(diǎn),x′=Rh′+Wr+Dr′,如經(jīng)緯圖上Pr′點(diǎn);
否則,x′=Rh′+x-Rh。
Dl′和Dr′是映射圖上的點(diǎn)Pl′和Pr′到ROI邊界的橫向距離,可以由經(jīng)緯圖上的點(diǎn)Pl和Pr到ROI邊界的橫向距離Dl和Dr計(jì)算,公式為:
其中,Dh′代表Dl′或Dr′,Dh代表Dl或Dr,并且,Dl=Rh-x,Dr=x-Wr-Rh。
如圖4所示,圖4(a)表示經(jīng)緯圖,Rv表示ROI橫向邊界到經(jīng)緯圖橫向邊界的縱向距離;圖4(b)表示映射圖,Rv′表示ROI橫向邊界到映射圖橫向邊界的縱向距離。
y和y′的映射關(guān)系Fy″可以寫作:
當(dāng)y<Rv時(shí),如映射圖上Pt點(diǎn),y′=Rv′-Dt′,如經(jīng)緯圖上Pt′點(diǎn);
當(dāng)y>Rv+Hr時(shí),如映射圖上Pb點(diǎn),y′=Rv′+Hr+Db′,如經(jīng)緯圖上Pb′點(diǎn);
否則,y=Rv′+y-Rv。
Dt′和Db′是映射圖上的點(diǎn)Pt′和Pb′到ROI邊界的縱向距離,可以由映射圖上的點(diǎn)Pt和Pb到ROI邊界的縱向距離Dt和Db計(jì)算,公式為:
其中,Dv′代表Dt′或Db′,Dv代表Dt或Db,并且,Dt=Rv-y,Db=y(tǒng)-Hr-Rv。
第四步:生成原始全景圖,原始全景圖上某一點(diǎn)(xo,yo)的像素值為映射圖上F″(F-1(xo,yo))點(diǎn)的像素值。對(duì)原始全景圖上每一點(diǎn)做上述操作,得到原始全景圖。
與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是:
本發(fā)明提供一種全景圖像的非對(duì)稱映射方法,包括非對(duì)稱前向映射方法和非對(duì)稱反向映射方法;非對(duì)稱前向映射方法將原始圖轉(zhuǎn)換成非對(duì)稱圖;非對(duì)稱反向映射方法將非對(duì)稱圖反映射成原始圖。
本發(fā)明可針對(duì)任意格式的全景圖進(jìn)行映射處理。本發(fā)明實(shí)施例以經(jīng)緯圖為原始全景圖,采用本發(fā)明提供的全景圖像的非對(duì)稱映射方法進(jìn)行映射,與現(xiàn)有經(jīng)緯圖映射方法相比,本發(fā)明可以對(duì)全景圖像中的感興趣區(qū)域(ROI)使用較高的采樣精度,而對(duì)非感興趣區(qū)域使用較低采樣精度,從而可以降低圖像分辨率,進(jìn)而降低全景圖像的數(shù)據(jù)量。
附圖說明
圖1是本發(fā)明提供的非對(duì)稱映射方法的流程框圖。
圖2是本發(fā)明實(shí)施例中經(jīng)緯圖、映射圖以及ROI區(qū)域的示意圖;
其中,(a)為經(jīng)緯圖,圖中的W和H分別代表經(jīng)緯圖的寬和高;(b)為映射圖,圖中的W′和H′分別代表映射圖的寬和高;(a)和(b)中,Wr和Hr分別代表ROI區(qū)域的寬和高。
圖3是本發(fā)明實(shí)施例中經(jīng)緯圖和映射圖上對(duì)應(yīng)點(diǎn)橫坐標(biāo)的映射關(guān)系示意圖;
其中,(a)為經(jīng)緯圖,圖中的Rh代表ROI縱向邊界到經(jīng)緯圖縱向邊界的橫向距離,Pl和Pr分別示意位于ROI區(qū)域左方和右方的兩個(gè)點(diǎn),Dl和Dr分別表示Pl和Pr距離ROI縱向邊界的橫向距離,Wr表示ROI區(qū)域的寬度;(b)為映射圖,圖中的Rh‘代表ROI縱向邊界到映射圖縱向邊界的橫向距離,Pl’和Pr‘分別示意位于ROI區(qū)域左方和右方的兩個(gè)點(diǎn),對(duì)應(yīng)圖(a)中Pl和Pr點(diǎn),Dl’和Dr‘分別表示Pl’和Pr‘距離ROI縱向邊界的橫向距離,Wr表示ROI區(qū)域的高度。
圖4是本發(fā)明實(shí)施例中經(jīng)緯圖和映射圖上對(duì)應(yīng)點(diǎn)縱坐標(biāo)的映射關(guān)系示意圖;
其中,(a)為經(jīng)緯圖,圖中的Rv代表ROI橫向邊界到經(jīng)緯圖橫向邊界的縱向距離,Pt和Pb分別示意位于ROI區(qū)域上方和下方的兩個(gè)點(diǎn),Dt和Db分別表示Pt和Pb距離ROI橫向邊界的縱向距離,Hr表示ROI區(qū)域的高度;(b)為映射圖,圖中的Rv‘代表ROI橫向邊界到映射圖橫向邊界的縱向距離,Pt’和Pb‘分別示意位于ROI區(qū)域上方和下方的兩個(gè)點(diǎn),對(duì)應(yīng)圖(a)中Pt和Pb點(diǎn),Dt’和Db‘分別表示Pt’和Pb‘距離ROI橫向邊界的縱向距離,Hr表示ROI區(qū)域的高度。
具體實(shí)施方式
下面結(jié)合附圖,通過實(shí)施例進(jìn)一步描述本發(fā)明,但不以任何方式限制本發(fā)明的范圍。
本發(fā)明提供一種全景圖像的非對(duì)稱映射方法,包括非對(duì)稱前向映射方法和非對(duì)稱反向映射方法;非對(duì)稱前向映射方法將原始圖轉(zhuǎn)換成非對(duì)稱圖;非對(duì)稱反向映射方法將非對(duì)稱圖反映射成原始圖。本發(fā)明可以對(duì)全景圖像中的感興趣區(qū)域(ROI)使用較高的采樣精度,而對(duì)非感興趣區(qū)域使用較低采樣精度,從而可以降低圖像分辨率,進(jìn)而降低全景圖像的數(shù)據(jù)量。
以下實(shí)施例以經(jīng)緯圖為原始全景圖,采用本發(fā)明提供的全景圖像的非對(duì)稱映射方法進(jìn)行映射處理,首先使用非對(duì)稱前向映射方法將一個(gè)經(jīng)緯圖映射成非對(duì)稱映射圖,再使用非對(duì)稱反向映射方法將映射圖映射為經(jīng)緯圖(原始全景圖)。
使用非對(duì)稱前向映射方法將寬高為W×H的經(jīng)緯圖映射為映射圖,步驟如下:
第一步:由于原始全景圖即為經(jīng)緯圖,因此即建立從經(jīng)緯圖上某一點(diǎn)的坐標(biāo)(x,y)到所述原始全景圖像上相同點(diǎn)的坐標(biāo)(xo,yo)的映射關(guān)系為:
F:(xo,yo)=F(x,y)=(x,y) (式101)
第二步:設(shè)定ROI區(qū)域?qū)捀邽閃r×Hr,指定映射圖寬高為W′×H′,通過式201計(jì)算橫向和縱向上的最大下采樣比例rx和ry:
第三步:建立從映射圖上某一點(diǎn)的坐標(biāo)(x′,y′)到所述經(jīng)緯圖上相同點(diǎn)的坐標(biāo)(x,y)的映射關(guān)系F′,F(xiàn)′可以寫作F′(x′,y′)=(Fx′(x′),Fy′(y′)),其中x=Fx′(x′),y=Fy′(y′)。
如圖3所示,圖3(a)表示經(jīng)緯圖,Rh表示ROI縱向邊界到經(jīng)緯圖縱向邊界的橫向距離;圖3(b)表示映射圖,Rh′表示ROI縱向邊界到映射圖縱向邊界的橫向距離。
x′和x的映射關(guān)系Fx′可以寫作:
當(dāng)x′<Rh′時(shí),如映射圖上Pl′點(diǎn),x=Rh-Dl,如經(jīng)緯圖上Pl點(diǎn);
當(dāng)x′>Rh′+Wr時(shí),如映射圖上Pr′點(diǎn),x=Rh+Wr+Dr,如經(jīng)緯圖上Pr點(diǎn);
否則,x=Rh+x′-Rh′。
Dl和Dr是經(jīng)緯圖上的點(diǎn)Pl和Pr到ROI邊界的橫向距離,可以由映射圖上的點(diǎn)Pl′和Pr′到ROI邊界的橫向距離Dl′和Dr′計(jì)算,公式為式301:
其中,Dh代表Dl或Dr,Dh′代表Dl′或Dr′,并且,Dl′=Rh′-x′,Dr′=x′-Wr-Rh′。
如圖4所示,圖4(a)表示經(jīng)緯圖,Rv表示ROI橫向邊界到經(jīng)緯圖橫向邊界的縱向距離;圖4(b)表示映射圖,Rv′表示ROI橫向邊界到映射圖橫向邊界的縱向距離。
y′和y的映射關(guān)系Fy′可以寫作:
當(dāng)y′<Rv′時(shí),如映射圖上Pt′點(diǎn),y=Rv-Dt,如經(jīng)緯圖上Pt點(diǎn);
當(dāng)y′>Rv′+Hr時(shí),如映射圖上Pb′點(diǎn),y=Rv+Hr+Db,如經(jīng)緯圖上Pb點(diǎn);
否則,y=Rv+y′-Rv′。
Dt和Db是經(jīng)緯圖上的點(diǎn)Pt和Pb到ROI邊界的縱向距離,可以由映射圖上的點(diǎn)Pt′和Pb′到ROI邊界的縱向距離Dt′和Db′計(jì)算,公式為式401:
其中,Dv代表Dt或Db,Dv′代表Dt′或Db′,并且,Dt′=Rv′-y′,Db′=y(tǒng)′-Hr-Rv′。
第四步:生成映射圖,映射圖上某一點(diǎn)(x′,y′)的像素值為原始全景圖上F(F′(x′,y′))點(diǎn)的像素值,即原始全景圖上F′(x′,y′)點(diǎn)的像素值。對(duì)映射圖上每一點(diǎn)做上述操作,得到映射圖。
使用非對(duì)稱反向映射方法將映射圖反向映射為經(jīng)緯圖,步驟為:
第一步:由于目標(biāo)全景圖即為經(jīng)緯圖,建立從目標(biāo)全景圖上某一點(diǎn)的坐標(biāo)(xo,yo)到經(jīng)緯圖上相同點(diǎn)的坐標(biāo)(x,y)的映射關(guān)系為式501:
F-1:(x,y)=F-1(xo,yo)=(xo,yo) (式501)
第二步:設(shè)定經(jīng)緯圖的寬高為W×H,ROI區(qū)域?qū)捀邽閃r×Hr,映射圖的寬高為W′×H′,計(jì)算橫向和縱向上的最大下采樣比例rx和ry:
第三步:建立從經(jīng)緯圖上某一點(diǎn)的坐標(biāo)(x,y)到所述映射圖上相同點(diǎn)的坐標(biāo)(x′,y′)的映射關(guān)系F″,F(xiàn)″可以寫作F″(x,y)=(Fx″(x),Fy″(y)),其中x′=Fx″(x),y′=Fy″(y)。
如圖3所示,圖3(a)表示經(jīng)緯圖,Rh表示ROI縱向邊界到經(jīng)緯圖縱向邊界的橫向距離;圖3(b)表示映射圖,Rh′表示ROI縱向邊界到映射圖縱向邊界的橫向距離。
x和x′的映射關(guān)系Fx″可以寫作:
當(dāng)x<Rh時(shí),如映射圖上Pl點(diǎn),x′=Rh′-Dl′,如經(jīng)緯圖上Pl′點(diǎn);
當(dāng)x>Rh+Wr時(shí),如映射圖上Pr點(diǎn),x′=Rh′+Wr+Dr′,如經(jīng)緯圖上Pr′點(diǎn);
否則,x′=Rh′+x-Rh。
Dl′和Dr′是映射圖上的點(diǎn)Pl′和Pr′到ROI邊界的橫向距離,可以由經(jīng)緯圖上的點(diǎn)Pl和Pr到
ROI邊界的橫向距離Dl和Dr計(jì)算,公式為如下:
其中,Dh′代表Dl′或Dr′,Dh代表Dl或Dr,并且,Dl=Rh-x,Dr=x-Wr-Rh。
如圖4所示,圖4(a)表示經(jīng)緯圖,Rv表示ROI橫向邊界到經(jīng)緯圖橫向邊界的縱向距離;圖4(b)表示映射圖,Rv′表示ROI橫向邊界到映射圖橫向邊界的縱向距離。
y和y′的映射關(guān)系Fy″可以寫作:
當(dāng)y<Rv時(shí),如映射圖上Pt點(diǎn),y′=Rv′-Dt′,如經(jīng)緯圖上Pt′點(diǎn);
當(dāng)y>Rv+Hr時(shí),如映射圖上Pb點(diǎn),y′=Rv′+Hr+Db′,如經(jīng)緯圖上Pb′點(diǎn);
否則,y=Rv′+y-Rv。
Dt′和Db′是映射圖上的點(diǎn)Pt′和Pb′到ROI邊界的縱向距離,可以由映射圖上的點(diǎn)Pt和Pb到ROI邊界的縱向距離Dt和Db計(jì)算,公式為式801:
其中,Dv′代表Dt′或Db′,Dv代表Dt或Db,并且,Dt=Rv-y,Db=y(tǒng)-Hr-Rv。
第四步:生成原始全景圖,原始全景圖上某一點(diǎn)(xo,yo)的像素值為映射圖上F″(F-1(xo,yo))點(diǎn)的像素值,即為映射圖上F″(xo,yo)點(diǎn)的像素值。對(duì)原始全景圖上每一點(diǎn)做上述操作,得到原始全景圖。
需要注意的是,公布實(shí)施例的目的在于幫助進(jìn)一步理解本發(fā)明,但是本領(lǐng)域的技術(shù)人員可以理解:在不脫離本發(fā)明及所附權(quán)利要求的精神和范圍內(nèi),各種替換和修改都是可能的。因此,本發(fā)明不應(yīng)局限于實(shí)施例所公開的內(nèi)容,本發(fā)明要求保護(hù)的范圍以權(quán)利要求書界定的范圍為準(zhǔn)。