亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

圖像編碼方法及裝置的制造方法

文檔序號:10516182閱讀:501來源:國知局
圖像編碼方法及裝置的制造方法
【專利摘要】本發(fā)明提供了一種圖像編碼方法及裝置,所述圖像編碼方法包括以下步驟:步驟S1:獲取一景深圖,該景深圖包括多個像素,并且每一像素包含有景深值;確定在景深圖中的對象的離觀測點最近的像素所在的焦平面;確定在景深圖中的對象的離觀測點最遠的像素所在的焦平面;步驟S2:比較對象的處于已確定的鄰近的兩個焦平面之間的像素分別與所述兩個焦平面的距離,從而確定處于所述兩個焦平面中間的焦平面、以及對象的處于該新確定的焦平面上的像素的景深值;步驟S3:將對象的已被確定了景深值的像素及其景深值依次存儲下來,生成編碼流。本發(fā)明的編碼方法簡單實用,在3D電影、3D電視以及3D渲染等領域有著廣泛的應用前景。
【專利說明】
圖像編碼方法及裝置
技術領域
[0001]本發(fā)明涉及編碼方法,尤其涉及一種圖像編碼方法及裝置。
【背景技術】
[0002]近年來,3D概念進入到我們的生活中,各類的影音娛樂商品也搭上了這股潮流,推出3D電影、3D游戲以及3D圖片等。然而,目前,并沒有一個通用的3D圖片的存儲標準,這點將造成影片的不相容,沒辦法在每一臺終端設備上播放,對3D數(shù)位內(nèi)容的推廣造成了阻礙。

【發(fā)明內(nèi)容】

[0003]本發(fā)明針對目前并沒有一個通用的3D圖片的存儲標準,這點將造成影片的不相容,沒辦法在每一臺終端設備上播放,對3D數(shù)位內(nèi)容的推廣造成了阻礙的問題,提供了一種圖像編碼方法及裝置。
[0004]本發(fā)明就該技術問題提出以下技術方案:
[0005]本發(fā)明提供了一種圖像編碼方法,包括以下步驟:
[0006]步驟S1:獲取一景深圖,該景深圖包括多個像素,并且每一像素包含有景深值;確定在景深圖中的對象的離觀測點最近的像素所在的焦平面;確定在景深圖中的對象的離觀測點最遠的像素所在的焦平面;
[0007]步驟S2:比較對象的處于已確定的鄰近的兩個焦平面之間的像素分別與所述兩個焦平面的距離,從而確定處于所述兩個焦平面中間的焦平面、以及對象的處于該新確定的焦平面上的像素的景深值;
[0008]步驟S3:將對象的已被確定了景深值的像素及其景深值依次存儲下來,生成編碼流。
[0009]本發(fā)明上述的圖像編碼方法中,步驟S2和步驟S3之間還包括步驟S31:
[0010]重復步驟S2,直到景深圖中的對象的所有像素的景深值都被確定為止。
[0011]本發(fā)明上述的圖像編碼方法中,步驟SI還包括步驟Sll:獲取重復次數(shù)閾值;
[0012]步驟S2和步驟S3之間還包括:以重復次數(shù)閾值的次數(shù)重復步驟S2。
[0013]本發(fā)明上述的圖像編碼方法中,步驟SI還包括步驟S12:獲取距離閾值;
[0014]步驟S2還包括:當對象的處于已確定的鄰近的兩個焦平面之間的像素分別與所述兩個焦平面的距離之差的絕對值小于距離閾值時,則確定該像素所在的焦平面是處于所述兩個焦平面的中間,并確定新確定的焦平面的景深值為該像素的景深值。
[0015]本發(fā)明還提供了一種圖像編碼裝置,包括:
[0016]編碼信息獲取模塊:用于獲取一景深圖,該景深圖包括多個像素,并且每一像素包含有景深值;還用于確定在景深圖中的對象的離觀測點最近的像素所在的焦平面;還用于確定在景深圖中的對象的離觀測點最遠的像素所在的焦平面;
[0017]景深值確定模塊:用于比較對象的處于已確定的鄰近的兩個焦平面之間的像素分別與所述兩個焦平面的距離,從而確定處于所述兩個焦平面中間的焦平面、以及對象的處于該新確定的焦平面上的像素的景深值;
[0018]存儲模塊:用于將對象的已被確定了景深值的像素及其景深值依次存儲下來,生成編碼流。
[0019]本發(fā)明上述的圖像編碼裝置中,編碼信息獲取模塊還用于獲取距離閾值;
[0020]景深值確定模塊還用于當對象的處于已確定的鄰近的兩個焦平面之間的像素分別與所述兩個焦平面的距離之差的絕對值小于距離閾值時,則確定該像素所在的焦平面是處于所述兩個焦平面的中間,并確定新確定的焦平面的景深值為該像素的景深值。
[0021]本發(fā)明通過采用重復次數(shù)閾值來限定編碼所花費的時間,并且,本發(fā)明還通過采用重復次數(shù)閾值來確定景深圖的精確度。本發(fā)明的編碼方法簡單實用,在3D電影、3D電視以及3D渲染等領域有著廣泛的應用前景。
【附圖說明】
[0022]下面將結(jié)合附圖及實施例對本發(fā)明作進一步說明,附圖中:
[0023]圖1為一種層級結(jié)構(gòu)的示意圖;
[0024]圖2為景深圖文件格式的示意圖;
[0025]圖3為單元的結(jié)構(gòu)示意圖;
[0026]圖4為對像素P編碼的具體過程的示意圖;
[0027]圖5為對單元D解碼的過程的示意圖;
圖6為目標層級數(shù)為4的單元的解碼情況的示意圖。
【具體實施方式】
[0028]在3D計算機繪圖領域,景深圖是一種包含有觀測點到對象表面之間的觀測距離的圖片。景深圖可以被應用于很多場合,如散焦、3D場景的渲染、陰影圖以及其他與觀測距離相關的應用。
[0029]在本申請中,我們公開了一種景深圖的編碼方法。該編碼方法是基于層級結(jié)構(gòu)以及二進制搜索方法,來確定具有一個像素的離觀測點最近的焦平面,然后再計算該像素在景深圖中的景深值。進一步地,我們通過相關的流程圖具體闡述了這種編碼方法的編碼和解碼過程。最后,我們也討論了本申請的編碼方法的優(yōu)點以及潛在應用。
[0030]圖1為一種層級結(jié)構(gòu)的示意圖。
[0031]如圖1所示,F(xiàn)(X)定義為在景深圖中景深值為X的焦平面,進一步地,F(xiàn)(x = O)定義為在景深圖中對象的離觀測點最近的表面的焦平面;而?(1= I)定義為在景深圖中對象的離觀測點最遠的表面的焦平面。這樣,對象的表面所在的所有焦平面都可以用F(0 < X< I)來表示。
[0032]例如,F(xiàn)(0.5)表示處于F(O)和F(I)的中間的焦平面耐(0.25)表示處于F(O)和F(0.5)的中間的焦平面,等等。這樣,我們就可以根據(jù)比較焦平面之間的位置,來確定景深圖中對象上的任意一個像素在景深圖中的景深值。
[0033]具體地,本發(fā)明的編碼方法包括以下步驟:
[0034]步驟S1:獲取一景深圖,該景深圖包括多個像素,并且每一像素包含有景深值;確定在景深圖中的對象的離觀測點最近的像素所在的焦平面;確定在景深圖中的對象的離觀測點最遠的像素所在的焦平面;
[0035]如圖1所示的第一層(Level I),對象的離觀測點最近的表面的焦平面為F(O);而對象的離觀測點最遠的表面的焦平面為F(I);
[0036]我們可以將F(O)確定為景深圖的第一級左邊邊界,并將F(I)確定為景深圖的第一級右邊邊界。
[0037]步驟S2:比較對象的處于已確定的鄰近的兩個焦平面之間的像素分別與所述兩個焦平面的距離,從而確定處于所述兩個焦平面中間的焦平面、以及對象的處于該新確定的焦平面上的像素的景深值;
[0038]本發(fā)明中,為了便于對象的處于已確定的鄰近的兩個焦平面之間的像素分別與所述兩個焦平面的距離的比較,步驟SI還包括步驟S12:獲取距離閾值;
[0039]步驟S2還包括:當對象的處于已確定的鄰近的兩個焦平面之間的像素分別與所述兩個焦平面的距離之差的絕對值小于距離閾值時,則確定該像素所在的焦平面是處于所述兩個焦平面的中間,并確定新確定的焦平面的景深值為該像素的景深值。
[0040]具體地,本步驟中,對于對象的在F(O)和F(I)之間的像素,比較該像素分別與第一級左邊邊界和第一級右邊邊界的距離,如果該像素靠近第一級左邊邊界,則其在景深圖中的景深值會附加上一個數(shù)字O;如果該像素靠近第一級右邊邊界,則其在景深圖中的景深值會附加上一個數(shù)字I ;在對象的在F(O)和F(I)之間的像素中,若鄰近的兩個像素在景深圖中的景深值分別附加上了數(shù)字O和1,則可以將該兩個像素中任意一個所在的焦平面確認為處于F(O)和F(I)的中間的焦平面F(0.5);若某一像素分別與第一級左邊邊界和第一級右邊邊界的距離相等,則確定該像素所在的焦平面為處于F(O)和F(I)的中間的焦平面F(0.5);這樣,處于F(O)和F(I)的中間的焦平面F(0.5)就確定下來,如圖1所示的第二層(即 Level 2)。
[0041]相似地,可以將F (O)作為第二級左邊邊界,并將F (0.5)作為第二級右邊邊界,比較對象的在F(O)和F(0.5)之間的像素分別與第二級左邊邊界和第二級右邊邊界的距離的方式,來確定處于F(O)和F(0.5)的中間的焦平面F(0.25),如圖1所示的第三層(即Level3) ο
[0042]同樣地,在圖1所示的第三層(即Level 3)中,可以將F(0.5)作為第三級左邊邊界,并將F(I)作為第三級右邊邊界,比較對象的在F(0.5)和F(I)之間的像素分別與第三級左邊邊界和第三級右邊邊界的距離的方式,來確定處于F(0.5)和F(I)的中間的焦平面F(0.75)ο
[0043]依上述的方法,便可以將在景深圖中的對象的所有像素的景深值全部確定下來。
[0044]從上述描述中,可以看到,本發(fā)明的編碼方法采用了層級結(jié)構(gòu),并且,編碼過程采用了二進制檢索的思想。隨著層級結(jié)構(gòu)的深化,景深圖能夠更加細致,更多的細節(jié)特征能夠更深入地在景深圖中展現(xiàn)出來。當然,編碼所花費的時間會更多。因此,我們可以控制層級結(jié)構(gòu)的深化的程度來權衡景深圖的細致程度和編碼所花費的時間之間的取舍。
[0045]步驟S3:將對象的已被確定了景深值的像素及其景深值依次存儲下來,生成編碼流。
[0046]進一步地,在本實施例中,步驟S2和步驟S3之間還包括步驟S31:重復步驟S2,直到景深圖中的對象的所有像素的景深值都被確定為止。
[0047]對于某些非常復雜的景深圖,采用步驟S31會花費大量的時間。為了避免這種情況的發(fā)生,在另一實施例中,步驟SI還包括步驟Sll:獲取重復次數(shù)閾值;步驟S2和步驟S3之間還包括:以重復次數(shù)閾值的次數(shù)重復步驟S2。
[0048]這樣,通過采用重復次數(shù)閾值,來控制重復步驟S2的重復次數(shù),可以減少編碼景深圖所花費的時間。
[0049]從上述描述中,可以發(fā)現(xiàn),層級結(jié)構(gòu)的層級數(shù)等于重復步驟S2的重復次數(shù)閾值加上1
[0050]為了便于本領域技術人員清楚地理解和實施本發(fā)明,下面將結(jié)合實施例對本發(fā)明做出具體的說明。
[0051]根據(jù)上面我們所提供的編碼方法,景深圖便可以格式化,成為景深圖文件,如圖2和圖3所示。景深圖文件包括大小固定的結(jié)構(gòu)(如文件頭)以及用來以預定順序存儲景深值數(shù)組的大小可變的結(jié)構(gòu)。文件頭包括景深圖文件的信息;具體地,在圖2和圖3中,F(xiàn)ile_Type表明:本文件是一種景深圖格式;File_Size表明:本文件的大??;Image_Width和ImageJfeight分別表明景深圖的寬度和高度;Depth_Level表明景深圖所達到的層級數(shù);Depth_Flag表明對象的所有像素是否都達到了各自的目標層級數(shù);Data_0ffset表明景深值數(shù)組的存儲的起點;本實施例中,在景深圖數(shù)組中,每個單元存儲景深圖中的一個像素的景深值信息;每個單元包括4個大小固定的位元(bit)和大小在1-N之間變化的位元;這里,N為自然數(shù)。
[0052]在一個單元中,第一個位元被命名為flagA,其存儲了本單元存儲的像素是否達到了其目標層級數(shù);如果flagA的值為0,則表明該像素沒有達到其目標層級數(shù),需要進一步確定該像素所在的焦平面,從而使該像素達到其目標層級數(shù);如果flagA的值為1,則表明該像素已達到了其目標層級數(shù),該像素的層級數(shù)就是確定的。第二個位元到第四個位元被命名為flagB,其是一個二進制數(shù),用于記錄了該像素當前所達到的當前層級數(shù)(如果該像素達到了其目標層級數(shù),則該像素當前所達到的當前層級數(shù)等于其目標層級數(shù);如果該像素沒有達到其目標層級數(shù),則該像素當前所達到的當前層級數(shù)等于景深圖所達到的層級數(shù)),也表明了 dataB的長度。從第五個位元開始到最后一個位元表示像素的深度值,并且還存儲了該像素在景深圖的每一層級的判斷過程。
[0053]圖4示出了對像素P編碼的具體過程。根據(jù)景深圖文件的格式的定義,像素P的處理狀態(tài)可以從flagA讀出;像素P的當前層級數(shù)可以從flagB讀出;像素P的景深值可以從dataB讀出。目標層級數(shù)為N ;
[0054]當像素P的當前層級數(shù)c被增加到flagB+Ι時,根據(jù)層級結(jié)構(gòu),左邊鄰近像素P的焦平面的景深值為L = dataB/2(c 右邊鄰近像素P的焦平面的景深值為R =(l+dataB)/2(el)。編碼過程包括以下步驟:
[0055]步驟100、獲取像素P在景深圖中的位置參數(shù);
[0056]步驟110、如果c > I或者flagA = 1,則將c_l賦值于flagB,并存儲下來,并結(jié)束本編碼過程;否則進入步驟120 ;
[0057]步驟120、計算該像素P與左邊鄰近該像素P的焦平面的距離DistL =IP-F(L)I ;并計算該像素P與右邊鄰近該像素P的焦平面的距離DistR= IP-F(R);如果min(DistL,DistR)小于閾值,則將I賦值于flagA,并將c_l賦值于flagB,并結(jié)束本編碼過程;否則進入步驟130 ;
[0058]步驟130、在dataB的尾端附加一個位元,如果DistL ^ DistR,則該增加的位元為0,并將右邊鄰近該像素P的焦平面的景深值改為L+ (0.5) %且保存左邊邊界。否則,該增加的位元為I,并將左邊邊界的景深值修改為R-(0.5Γ,且保存右邊邊界,然后進入步驟140 ;
[0059]步驟140,計算c+1的值,并將該值賦值給C,進入步驟110。
[0060]圖5示出了對單元D解碼的過程。
[0061 ] 單元D的解碼過程包括:
[0062]步驟200、獲取單元D,獲取該單元D的目標層級數(shù)M,讀取單元D的flagB,將其換算成十進制數(shù)字的N;
[0063]步驟210、如果N3M,則輸出單元D的dataB的第一個位元到第M個位元,并將該輸出值作為景深值,并結(jié)束本解碼過程;否則進入步驟220 ;
[0064]步驟220、在輸出單元D的dataB附加M-N個位元,如果dataB的第N個位元為0,則將O賦值于所有新增加的位元;否則將I賦值于所有新增加的位元,然后進入步驟230 ;
[0065]步驟230、輸出修改后的dataB。
[0066]圖6為目標層級數(shù)為4的單元的解碼情況。
[0067]進一步地,本發(fā)明還提供了一種圖像編碼裝置,包括:
[0068]編碼信息獲取模塊:用于獲取一景深圖,該景深圖包括多個像素,并且每一像素包含有景深值;還用于確定在景深圖中的對象的離觀測點最近的像素所在的焦平面;還用于確定在景深圖中的對象的離觀測點最遠的像素所在的焦平面;
[0069]景深值確定模塊:用于比較對象的處于已確定的鄰近的兩個焦平面之間的像素分別與所述兩個焦平面的距離,從而確定處于所述兩個焦平面中間的焦平面、以及對象的處于該新確定的焦平面上的像素的景深值;
[0070]存儲模塊:用于將對象的已被確定了景深值的像素及其景深值依次存儲下來,生成編碼流。
[0071]其中,本實施例中,景深值確定模塊在景深圖中的對象的所有像素的景深值都被確定后停止工作。
[0072]在另一實施例中,編碼信息獲取模塊還用于獲取重復次數(shù)閾值;景深值確定模塊在以重復次數(shù)閾值的次數(shù)重復工作后,停止工作。
[0073]這里,編碼信息獲取模塊還用于獲取距離閾值;
[0074]景深值確定模塊還用于當對象的處于已確定的鄰近的兩個焦平面之間的像素分別與所述兩個焦平面的距離之差的絕對值小于距離閾值時,則確定該像素所在的焦平面是處于所述兩個焦平面的中間,并確定新確定的焦平面的景深值為該像素的景深值。
[0075]本發(fā)明通過采用重復次數(shù)閾值來限定編碼所花費的時間,并且,本發(fā)明還通過采用重復次數(shù)閾值來確定景深圖的精確度。本發(fā)明的編碼方法簡單實用,在3D電影、3D電視以及3D渲染等領域有著廣泛的應用前景。
[0076]應當理解的是,對本領域普通技術人員來說,可以根據(jù)上述說明加以改進或變換,而所有這些改進和變換都應屬于本發(fā)明所附權利要求的保護范圍。
【主權項】
1.一種圖像編碼方法,其特征在于,包括以下步驟: 步驟S1:獲取一景深圖,該景深圖包括多個像素,并且每一像素包含有景深值;確定在景深圖中的對象的離觀測點最近的像素所在的焦平面;確定在景深圖中的對象的離觀測點最遠的像素所在的焦平面; 步驟S2:比較對象的處于已確定的鄰近的兩個焦平面之間的像素分別與所述兩個焦平面的距離,從而確定處于所述兩個焦平面中間的焦平面、以及對象的處于該新確定的焦平面上的像素的景深值; 步驟S3:將對象的已被確定了景深值的像素及其景深值依次存儲下來,生成編碼流。2.根據(jù)權利要求1所述的圖像編碼方法,其特征在于,步驟S2和步驟S3之間還包括步驟 S31: 重復步驟S2,直到景深圖中的對象的所有像素的景深值都被確定為止。3.根據(jù)權利要I所述的圖像編碼方法,其特征在于,步驟SI還包括步驟Sll:獲取重復次數(shù)閾值; 步驟S2和步驟S3之間還包括:以重復次數(shù)閾值的次數(shù)重復步驟S2。4.根據(jù)權利要I所述的圖像編碼方法,其特征在于,步驟SI還包括步驟S12:獲取距離閾值; 步驟S2還包括:當對象的處于已確定的鄰近的兩個焦平面之間的像素分別與所述兩個焦平面的距離之差的絕對值小于距離閾值時,則確定該像素所在的焦平面是處于所述兩個焦平面的中間,并確定新確定的焦平面的景深值為該像素的景深值。5.一種圖像編碼裝置,其特征在于,包括: 編碼信息獲取模塊:用于獲取一景深圖,該景深圖包括多個像素,并且每一像素包含有景深值;還用于確定在景深圖中的對象的離觀測點最近的像素所在的焦平面;還用于確定在景深圖中的對象的離觀測點最遠的像素所在的焦平面; 景深值確定模塊:用于比較對象的處于已確定的鄰近的兩個焦平面之間的像素分別與所述兩個焦平面的距離,從而確定處于所述兩個焦平面中間的焦平面、以及對象的處于該新確定的焦平面上的像素的景深值; 存儲模塊:用于將對象的已被確定了景深值的像素及其景深值依次存儲下來,生成編碼流。6.根據(jù)權利要5所述的圖像編碼方法,其特征在于,編碼信息獲取模塊還用于獲取距離閾值; 景深值確定模塊還用于當對象的處于已確定的鄰近的兩個焦平面之間的像素分別與所述兩個焦平面的距離之差的絕對值小于距離閾值時,則確定該像素所在的焦平面是處于所述兩個焦平面的中間,并確定新確定的焦平面的景深值為該像素的景深值。
【文檔編號】H04N13/00GK105872560SQ201510028430
【公開日】2016年8月17日
【申請日】2015年1月20日
【發(fā)明人】陳增源, 李榮彬, 李莉華, 劉亞輝
【申請人】香港理工大學
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1