視差矢量生成方法及裝置制造方法【專利摘要】本發明公開了一種視差矢量生成方法及裝置。其中,該視差矢量生成方法包括:根據第一視點深度圖像中基本深度塊的深度像素值獲得基本深度塊的第一深度值;根據第一深度值生成第二視點圖像中基本圖像塊的第一視差矢量,其中,第二視點圖像為第二視點紋理圖像或第二視點深度圖像。通過本發明,達到了視差矢量的運算復雜度降低、投影次數少以及存儲空間小的效果。【專利說明】視差矢量生成方法及裝置【
技術領域:
】[0001]本發明涉及通信領域,具體而言,涉及一種視差矢量生成方法及裝置。【
背景技術:
】[0002]三維視頻(3Dvideo)包括多路(通常為2路或3路)紋理圖像序列(其中每一幀為表示被拍攝物體色彩或亮度的圖像)和深度圖像序列(其中每一幀為表示被拍攝物體與拍攝像機之間的距離的圖像)。通常,一路紋理圖像序列對應于一路深度圖像序列,稱為多視點視頻加深度(Mult1-ViewVideoPlusD印th,簡稱為MVD)格式;有時,紋理圖像序列可能沒有對應的深度圖像序列,例如兩路紋理圖像序列只有其中一路具有對應的深度圖像序列,稱為無配對的MVD(unpairedMVD)。三維視頻通過視點合成(viewsynthesis)技術產生虛擬視點視頻序列。另外,多路紋理圖像之間的分辨率通常相等,多路深度圖像之間的分辨率也通常相等;一路紋理圖像和深度圖像的分辨率可能相等,或者深度圖像的分辨率小于紋理圖像,例如深度圖像的水平(horizontal)和豎直(vertical)分辨率均為紋理圖像相應值的一半,也稱紋理圖像的分辨率(總像素數)為深度圖像分辨率的4倍。[0003]三維視頻編碼中可以借助視點間的相關性,例如兩個視點的紋理圖像之間具有一定的相似度(包括像素值、運動信息的相似度等),兩個視點的深度圖像之間也具有一定的相似度。但是,多個視點之間存在視差,即視點間的對應點(correspondence)之間存在位置偏移,兩個視點間的對應點通常由視差矢量指示。請參考圖1,圖1是根據相關技術的視差矢量和視差矢量起始位置之間的關系示意圖,例如,當視點I圖像中的中心坐標為Pl(150,100)的像素區域A(像素區域例如一個像素點或者一個矩形像素塊等)對應于視點2圖像中的中心坐標為的P2(180,95)像素區域B,則對于A和B,由視點I圖像中Pl指向視點2圖像中P2的視差矢量DVl為(30,-5),30為水平分量,_5為豎直分量,即有P2=P1+DV1,P1=P2-DV1,矢量方向可簡述為“由視點2圖像指向視點I圖像”,或“由視點2指向視點I”;由視點2圖像中P2指向視點I圖像中Pl的視差矢量DV2為(-30,5),即有Pl=P2+DV2,P2=P1-DV2;相應的有DV2=-DVl。不區分矢量方向籠統地說,DVl和DV2均為視點I和視點2之間的視差矢量,僅指向相反。特別的,當兩個視點圖像呈平行攝像機排列(IDparallelcameraarrangement,即光軸平行、焦距相等、光心處于同一水平直線上、且圖像分辨率相同)時,兩個視點圖像間任意像素的視差矢量的豎直分量為O(即豎直視差為0);此時,僅需要指示視差矢量的水平分量即可;這種情況下,水平視差,即視差的水平分量,也簡稱為視差,以上P2=P1+DV1等坐標運算可以退化為水平方向標量運算。[0004]視差和深度之間存在一定的幾何關系。某個像素區域A對應的在視點I圖像和視點2圖像間的視差可以根據該像素區域的深度值和這兩個視點間的攝像機參數轉換得到。例如,當兩個視點圖像為通常所說的平行攝像機排列時,豎直視差為0,各圖像區域(例如一個像素點)的水平視差值DV可以通過DV=(fXL/Z)+du得到,其中f為視點I圖像對應的攝像機的焦距,L為視點I和視點2之間的基線距離,Z為由圖像區域對應的深度值D指示的像素點所在物體與對應攝像機的距離,du為視點I和視點2圖像中心點(principlepoint)之間的水平偏移。此時,各具有相同深度值的圖像區域具有相同的水平視差值,即水平視差值與其所在的圖像區域位置無關;通常可以先建立由深度值映射到水平視差值的映射表(look-uptable);對各區域,由其位置和深度對應的視差,找到該區域在另一個視點中的對應位置。需要說明的是,同一物體在兩個不同視角圖像之間的視差隨著這兩個視角的基線距離(baseline)增加而增加,因此,至少需要說明視差矢量對應的兩個視點才能明確這個視差矢量的大小。[0005]當兩個視點的圖像不滿足平行攝像機排列時,則可以通過更為復雜的三維投影(3Dwarping)方程,由各圖像區域的位置和深度(以及攝像機參數)得到各圖像區域在另一視點中的投影位置,從而得到視差。此時水平視差、豎直視差與視差所在圖像區域的位置有關。上述平行攝像機排列下的視差計算為此情況的一個常用的簡單特例。[0006]一些編碼工具利用當前編碼視點重建的深度圖像幫助當前編碼視點紋理圖像的編碼效率,例如3D-ATM平臺中的基于反向投影(backwardwarping)的視點合成預測(ViewSynthesisPrediction,簡稱為VSP)和基于深度的運動矢量預測(Depth-basedMotionVectorPrediction,簡稱為DMVP)。它們都需要從當前編碼視點的重建深度圖像的深度像素值獲取當前編碼紋理塊的一個視差矢量(例如,對一個4x4塊,由其中心點的深度像素值轉換為這個塊的視差矢量)。所以,如果當前編碼視點的紋理圖像先于深度圖像編碼,即編碼紋理圖像時深度圖像還沒有重建,則上述兩個編碼工具均無法獲得視差矢量,不能正常工作,從而造成當前編碼視點紋理圖像的編碼性能下降。要使得這些編碼工具在紋理圖像先于深度圖像編碼時仍然能夠工作,則需要另一種不依賴于當前視點深度的視差矢量生成方法。[0007]編碼中,視差矢量生成方法包括如下2種:[0008]I)若當前視點(正在編碼/解碼的視點)的深度圖像可得,由當前視點中一個目標塊(通常是一個紋理塊)對應的深度圖像的深度值轉換為目標塊的視差矢量。但是,該方法存在如下缺點:如果當前編碼視點的紋理圖像先于深度圖像編碼,即編碼紋理圖像時深度圖像還沒有重建,則本方法無法獲得視差矢量;[0009]2)若當前視點的深度圖像不可得,S.Shimizu等人在JCT3V-B0103中提出另一種視差矢量導出方法:用另一視點(一個已經編碼/解碼的視點)的深度圖像通過正向投影(forwardwarping)的方式合成當前視點的深度圖像,用來代替當前編碼視點的深度圖像。再根據合成的深度圖像轉換得到視差矢量。但是,該方法存在如下缺點:投影所有深度像素,投影次數較多,具有很高的復雜度,也需要較大的數據存儲空間用于存儲合成的深度圖像;另外,仍然需要由合成的深度圖像轉換成目標區域的視差矢量的處理。[0010]針對相關技術中的視差矢量導出方法復雜度較高、占用較大數據存儲空間以及需要進行圖像轉化處理的問題,目前尚未提出有效的解決方案。【
發明內容】[0011]本發明提供了一種視差矢量生成方法及裝置,以至少解決上述問題。[0012]根據本發明的一個方面,提供了一種視差矢量生成方法,包括:根據第一視點深度圖像中基本深度塊的深度像素值獲得基本深度塊的第一深度值;根據第一深度值生成第二視點圖像中基本圖像塊的第一視差矢量,其中,第二視點圖像為第二視點紋理圖像或第二視點深度圖像。[0013]優選地,根據第一視點深度圖像中基本深度塊的深度像素值獲得基本深度塊的第一深度值,包括以下方式之一:將基本深度塊中一個預定位置的深度像素的深度值作為第一深度值;將從基本深度塊中多個預定位置的深度像素的深度值中選擇的一個深度值作為第一深度值,其中,選擇的深度值為多個預定位置的深度像素的深度值中的最大值、最小值或者中間值;將基本深度塊中多個預定位置的深度像素的深度值的加權平均值作為第一深度值。[0014]優選地,根據第一深度值生成第二視點圖像中基本圖像塊的第一視差矢量,包括:將第一深度值轉換為第一視點圖像和第二視點圖像之間的第二視差矢量,并獲得基本深度塊在第二視點圖像中的對應位置,其中,當第二視點圖像為第二視點紋理圖像時,第一視點圖像為第一視點紋理圖像,當第二視點圖像為第二視點深度圖像時,第一視點圖像為第一視點深度圖像;將第二視差矢量或第二視差矢量與預定實數的乘積作為第一視差矢量,其中,基本圖像塊位于對應位置上,預定實數包括以下之一:常數、縮放系數,其中,縮放系數的絕對值為第一視點深度圖像的第一分辨率和第二視點圖像的第二分辨率的比值或比值的倒數。[0015]優選地,在根據第一深度值生成第二視點圖像中基本圖像塊的第一視差矢量之后,還包括:根據第一視差矢量生成目標圖像塊的第三視差矢量,其中,目標圖像塊包括多個基本圖像塊。[0016]優選地,根據第一視差矢量生成目標圖像塊的第三視差矢量,包括:確定目標圖像塊中一個或多個預定位置的基本圖像塊的第一視差矢量;從確定的所有第一視差矢量中選取一個第一視差矢量的值作為第三視差矢量,或者,將確定的所有第一視差矢量的加權平均值作為第三視差矢量。[0017]根據本發明的另一方面,提供了一種視差矢量生成裝置,包括:獲取模塊,用于根據第一視點深度圖像中基本深度塊的深度像素值獲得基本深度塊的第一深度值;第一生成模塊,用于根據第一深度值生成第二視點圖像中基本圖像塊的第一視差矢量,其中,第二視點圖像為第二視點紋理圖像或第二視點深度圖像。[0018]優選地,獲取模塊包括以下之一:第一設置單元,用于將基本深度塊中一個預定位置的深度像素的深度值作為第一深度值;選取單元,用于將從基本深度塊中多個預定位置的深度像素的深度值中選擇的一個深度值作為第一深度值,其中,選擇的深度值為多個預定位置的深度像素的深度值中的最大值、最小值或者中間值;第二設置單元,用于將基本深度塊中多個預定位置的深度像素的深度值的加權平均值作為第一深度值。[0019]優選地,第一生成模塊包括:轉換單元,用于將第一深度值轉換為第一視點圖像和第二視點圖像之間的第二視差矢量,并獲得基本深度塊在第二視點圖像中的對應位置,其中,當第二視點圖像為第二視點紋理圖像時,第一視點圖像為第一視點紋理圖像,當第二視點圖像為第二視點深度圖像時,第一視點圖像為第一視點深度圖像;第三設置單元,用于將第二視差矢量或第二視差矢量與預定實數的乘積作為第一視差矢量,其中,基本圖像塊位于對應位置上,預定實數包括以下之一:常數、縮放系數,其中,縮放系數的絕對值為第一視點深度圖像的第一分辨率和第二視點圖像的第二分辨率的比值或比值的倒數。[0020]優選地,該裝置還包括:第二生成模塊,用于根據第一視差矢量生成目標圖像塊的第三視差矢量,其中,目標圖像塊包括多個基本圖像塊。[0021]優選地,第二生成模塊包括:確定單元,用于確定目標圖像塊中一個或多個預定位置的基本圖像塊的第一視差矢量;第四設置單元,用于從確定的所有第一視差矢量中選取一個第一視差矢量的值作為第三視差矢量,或者,將確定的所有第一視差矢量的加權平均值作為第三視差矢量。[0022]通過本發明,采用由已編碼視點中的基本深度塊獲得當前編碼視點各基本圖像塊的視差矢量,由基本圖像塊的視差矢量生成各目標圖像塊的視差矢量的方式,解決了相關技術中的視差矢量導出方法復雜度較高、占用較大數據存儲空間以及需要進行圖像轉化處理的問題,進而達到了視差矢量的運算復雜度降低、投影次數少以及存儲空間小的效果。【專利附圖】【附圖說明】[0023]此處所說明的附圖用來提供對本發明的進一步理解,構成本申請的一部分,本發明的示意性實施例及其說明用于解釋本發明,并不構成對本發明的不當限定。在附圖中:[0024]圖1是根據相關技術的視差矢量和視差矢量起始位置之間的關系示意圖;[0025]圖2是根據本發明實施例的視差矢量生成方法流程圖;[0026]圖3是根據本發明實施例的視差矢量生成裝置的結構框圖;[0027]圖4是根據本發明優選實施例的視差矢量生成裝置的結構框圖;[0028]圖5是根據本發明實施例的一個優選實施方式的視差矢量生成裝置的結構示意圖;[0029]圖6是根據本發明實施例的另一個優選實施方式的視差矢量生成裝置的結構示意圖。【具體實施方式】[0030]下文中將參考附圖并結合實施例來詳細說明本發明。需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。[0031]圖2是根據本發明實施例的視差矢量生成方法流程圖,如圖2所示,該方法主要包括以下步驟(步驟S202-步驟S204):[0032]步驟S202,根據第一視點深度圖像中基本深度塊的深度像素值獲得基本深度塊的第一深度值;[0033]步驟S204,根據第一深度值生成第二視點圖像中基本圖像塊的第一視差矢量,其中,第二視點圖像為第二視點紋理圖像或第二視點深度圖像。[0034]在本實施例中,步驟S202可以采用以下之一的方式來實現:(I)將基本深度塊中一個預定位置的深度像素的深度值作為第一深度值;(2)將從基本深度塊中多個預定位置的深度像素的深度值中選擇的一個深度值作為第一深度值,其中,選擇的深度值為多個預定位置的深度像素的深度值中的最大值、最小值或者中間值;(3)將基本深度塊中多個預定位置的深度像素的深度值的加權平均值作為第一深度值。[0035]在本實施例中,步驟S204可以采用這樣的方式來實現:將第一深度值轉換為第一視點圖像和第二視點圖像之間的第二視差矢量,并獲得基本深度塊在第二視點圖像中的對應位置,其中,當第二視點圖像為第二視點紋理圖像時,第一視點圖像為第一視點紋理圖像,當第二視點圖像為第二視點深度圖像時,第一視點圖像為第一視點深度圖像;將第二視差矢量或第二視差矢量與預定實數的乘積作為第一視差矢量,其中,基本圖像塊位于對應位置上,預定實數包括以下之一:常數、縮放系數,其中,縮放系數的絕對值為第一視點深度圖像的第一分辨率和第二視點圖像的第二分辨率的比值或比值的倒數。[0036]在本發明的一個優選實施方式中,在執行了步驟S204之后,還可以根據第一視差矢量生成目標圖像塊的第三視差矢量,其中,目標圖像塊包括多個基本圖像塊。[0037]優選地,在根據第一視差矢量生成目標圖像塊的第三視差矢量時,可以這樣來實現:先確定目標圖像塊中一個或多個預定位置的基本圖像塊的第一視差矢量;再從確定的所有第一視差矢量中選取一個第一視差矢量的值作為第三視差矢量,或者,將確定的所有第一視差矢量的加權平均值作為第三視差矢量。[0038]為了便于理解上述實施例提供的視差矢量生成方法,這里先以一個設置有詳細參數的實例進行適當說明。[0039]例如,在實際應用中,上述實施例提供的視差矢量生成方法可以采用如下方式來實施:[0040]由視點I深度圖像(即上述第一視點深度圖像)中EXF大小的基本深度塊得到視點2圖像(即上述第二視點圖像)中MXN大小的基本圖像塊的視差矢量的過程(其中,EXF>1,MXN>1,)可以包括以下步驟:[0041]1、由基本深度塊的X(I^X^EXF)個深度像素的深度值獲得基本深度塊的深度值D;[0042]2、將深度值D轉換為視點I圖像和視點2圖像之間的視差矢量DVl(即上述第二視差矢量),并獲得基本深度塊在視點2圖像中的對應位置Pos2;[0043]3、基本圖像塊的視差矢量DV2(即上述第一視差矢量)為視差矢量DV1,或者為DVl與一個實數的乘積,其中,基本圖像塊位于視點2圖像中的對應位置Pos2,其中,實數可以是:-1、1/2、-1/2、2、-2等常數,也可以是一個縮放系數,其中,該縮放系數的絕對值為視點I的深度圖像分辨率和視點2的圖像分辨率比值或該比值的倒數。[0044]需要說明的是,在該實例中,E、F和M、N之間存在以下關系之一:[0045]關系一:E=MXS1,F=NXS2,其中,SI和S2為常數,例如SI=S2=1,SI=S2=2,SI=S2=1/2,SI=1、S2=2;[0046]關系二:將視點I深度圖像分辨率和視點2圖像分辨率的比值分別乘以M和N,得到E和F。[0047]其中,由基本深度塊的X(I^X^EXF)個深度像素的深度值獲得基本深度塊的深度值D的過程可以包括采用以下處理方法之一進行:[0048]方法1:將基本深度塊中一個固定位置的深度像素的深度值作為深度值D;[0049]方法2:從基本深度塊中多個固定位置的深度像素的深度值中選擇一個作為深度值D;其中選擇方法包括從多個深度值中選擇其中的最大值、最小值、或者中值;[0050]方法3:以基本深度塊中多個固定位置的深度像素的深度值的加權平均值作為深度值D。[0051]當然,在實際應用中,在得到視點2圖像中MXN大小的基本圖像塊的視差矢量之后,繼續采用上述的方式進行重復操作,進一步由視點I深度圖像中EXF大小的基本深度塊得到視點圖像2中JXK大小的目標圖像塊的視差矢量(即上述第三視差矢量),其中,目標圖像塊包括Q(Q≥2)個MXN大小的基本圖像塊,具體可以再執行以下處理:[0052]對一個或多個基本深度塊重復執行步驟I至步驟3,確定所述目標圖像塊包括的Q個基本圖像塊中的Ql(1≤Ql≤Q)個基本圖像塊的視差矢量,得到Ql個視差矢量之后,將目標圖像塊的視差矢量賦值為Ql個視差矢量中的一個視差矢量,或者這Ql個視差矢量的加權平均值。[0053]圖3是根據本發明實施例的視差矢量生成裝置的結構框圖,該裝置用于實現上述實施例提供的視差矢量生成方法,如圖3所示,該裝置包括:獲取模塊10和第一生成模塊20。其中,用于根據第一視點深度圖像中基本深度塊的深度像素值獲得基本深度塊的第一深度值;第一生成模塊20,連接至獲取模塊10,用于根據第一深度值生成第二視點圖像中基本圖像塊的第一視差矢量,其中,第二視點圖像為第二視點紋理圖像或第二視點深度圖像。[0054]圖4是根據本發明優選實施例的視差矢量生成裝置的結構框圖,如圖4所示,在該優選實施例提供的視差矢量生成裝置中,獲取模塊10可以包括以下之一:第一設置單元12,用于將基本深度塊中一個預定位置的深度像素的深度值作為第一深度值;選取單元14,用于將從基本深度塊中多個預定位置的深度像素的深度值中選擇的一個深度值作為第一深度值,其中,選擇的深度值為多個預定位置的深度像素的深度值中的最大值、最小值或者中間值;第二設置單元16,用于將基本深度塊中多個預定位置的深度像素的深度值的加權平均值作為第一深度值。[0055]在本優選實施例中,第一生成模塊20包括:轉換單元22,用于將第一深度值轉換為第一視點圖像和第二視點圖像之間的第二視差矢量,并獲得基本深度塊在第二視點圖像中的對應位置;第三設置單元24,連接至轉換單元22,用于將第二視差矢量或第二視差矢量與預定實數的乘積作為第一視差矢量,其中,基本圖像塊位于對應位置上,預定實數包括以下之一:常數、縮放系數,其中,縮放系數的絕對值為第一視點深度圖像的第一分辨率和第二視點圖像的第二分辨率的比值或比值的倒數。[0056]在本優選實施例中,該視差矢量生成裝置還可以包括:第二生成模塊30,用于根據第一視差矢量生成目標圖像塊的第三視差矢量,其中,目標圖像塊包括多個基本圖像塊。[0057]優選地,第二生成模塊30可以包括:確定單元32,用于確定目標圖像塊中一個或多個預定位置的基本圖像塊的第一視差矢量;第四設置單元34,連接至確定單元32,用于從確定的所有第一視差矢量中選取一個第一視差矢量的值作為第三視差矢量,或者,將確定的所有第一視差矢量的加權平均值作為第三視差矢量。[0058]下面結合圖5、圖6以及優選實施例1至優選實施例15對上述實施例提供的視差矢量生成方法和視差矢量生成裝置進行更加詳細的描述。[0059]在進行描述之前,首先對以下優選實施例需要用到的一些參數進行簡要的介紹:視點I深度圖像分辨率為WdlXHdl(即寬度為Wdl個深度像素,高度為Hdl個深度像素);視點I紋理圖像分辨率為WtlXHtl(即寬度為Wtl個紋理像素,高度為Htl個紋理像素);視點2深度圖像分辨率為Wd2XHd2(即寬度為Wd2個深度像素,高度為Hd2個深度像素),視點2紋理圖像分辨率為Wt2XHt2(即寬度為Wt2個紋理像素,高度為Ht2個紋理像素)。[0060]另外,這里定義“視點2圖像”指代視點2紋理圖像(即表示被拍攝物體色彩或亮度的圖像)或視點2深度圖像(即表示被拍攝物體與拍攝像機之間的距離的圖像),其分辨率為W2XH2;也就是說,當視點2圖像指代視點2紋理圖像時,分辨率W2XH2為視點2紋理圖像的分辨率,即有W2=Wt2,H2=Ht2,視點2圖像像素指的是視點2紋理圖像中的紋理像素;當視點2圖像指代視點2深度圖像時,分辨率W2XH2為視點2深度圖像的分辨率,即有W2=Wd2,H2=Hd2,視點2圖像像素指的是視點2深度圖像中的深度像素。通常,一個視點的紋理圖像分辨率和深度圖像分辨率的比值為常數(例如I倍、2倍、4倍等),不同視點的紋理圖像分辨率相同,不同視點的深度圖像分辨率相同。[0061]視差矢量DV的水平視差分量和豎直視差分量分別由DVx和DVy表不;一個位置坐標P(X,y)的水平坐標和豎直坐標分別由Px和Py表示。[0062]優選實施例1[0063]本優選實施例涉及一種視差矢量生成方法:[0064]視點I深度圖像包含Nd個基本深度塊,基本深度塊包括EXF個深度像素(即每個基本深度塊的寬度為E個像素,高度為F個像素),例如:視點I深度圖像水平方向包含ffdl/E個基本深度塊,豎直方向包含Hdl/F個基本深度塊,共計Nd=(Wdl/E)X(Hdl/F)個基本深度塊。[0065]視點2圖像包含Nt個基本圖像塊,基本圖像塊包括MXN個圖像像素,例如:視點2圖像水平方向有W2/M個基本圖像塊,豎直方向有H2/N個基本圖像塊,共計Nt=(W2/Μ)X(H2/N)個基本圖像塊。如上所述,視點2圖像可以為視點2紋理圖像,也可以為視點2深度圖像。每個基本圖像塊對應一個視點I圖像和視點2圖像之間的視差矢量,更具體的說,由視點2圖像指向視點I圖像的視差矢量(或者也可以是由視點I圖像指向視點2圖像的視差矢量),簡稱基本圖像塊的視差矢量。需要說明的是,視點I圖像指代視點I紋理圖像或深度圖像,且有如下關系:當視點2圖像指代視點2紋理圖像時,視點I圖像指代視點I紋理圖像;當視點2圖像指代視點2深度圖像時,視點I圖像指代視點I深度圖像。[0066]基本深度塊大小和基本圖像塊大小的確定方式有多種,可以選擇一種,例如:[0067]方式1:將基本圖像塊大小和基本深度塊大小均設置為MXN(例如2X2,4X4,8X8,16X16,4X2,8X4,16X8,2X4,4X8,8X16,3X5等),即E=M,F=N;[0068]方式2:將基本圖像塊大小設置為MXN(例如2X2,4X4,8X8,16X16,4X2,8X4,16X8,2X4,4X8,8X16,3X5等);將基本深度塊大小設置為(MXSl)X(NXS2),其中SI和S2為常數,例如:S1=S2=1/2,或者SI=I,S2=1/2,或者SI=S2=2,或者SI=2,S2=I等;[0069]方式3:將基本圖像塊大小設置為MXN(例如2X2,4X4,8X8,16X16,4X2,8父4,16\8,2\4,4\8,8\16,3父5等),將視點I深度圖像分辨率和視點2圖像分辨率的比值分別乘以M和N,得到E和F,即E、F和M、N滿足以下關系:E=MXWdl/W2,F=NXHdl/H2。當Wdl/W2=Hdl/H2=S時,則E=MXS,F=NXS。[0070]需要說明的是,上述方式2和方式3中,等價地也可以先將基本深度塊大小設置為EXF,再將E和F乘以上述方式2和方式3中的系數的倒數得到M和N。[0071]Nt個基本圖像塊中的Nta(NtaSNt)個基本圖像塊的視差矢量可以存儲為一個包含這Nta個視差矢量的視差矢量場。特別的,當所有視差矢量的豎直分量為O時,僅需要存儲由視差的水平分量構成的視差矢量場。此外,基本圖像塊的視差矢量也可以存儲為另一種形式:視差矢量對應的深度值;當需要訪問基本圖像塊的視差矢量時,將基本圖像塊的深度值轉換為基本圖像塊的視差矢量。[0072]由視點I深度圖像中EXF大小的基本深度塊得到視點2圖像中MXN大小的基本圖像塊的視差矢量,其中EXF>1,MXN>1,包括以下處理:[0073](I)對任意一個基本深度塊,由其中的X(1EXF)個深度像素獲得一個深度值D,其方法有多種,可以選擇一種,例如:[0074]方法1:將基本深度塊中一個預定位置的深度像素的像素值作為深度值D,例如左上角深度像素、或左下角深度像素、或右上角深度像素、或右下角深度像素、或中心點深度像素等;[0075]方法2:從基本深度塊中多個預定位置的深度像素的像素值中選擇一個作為深度值D,其中多個預定位置例如包括該基本深度塊的左上角、右上角、左下角、右下角、中心點等位置中的兩個或更多個,又例如包括該基本深度塊中所有的深度像素位置;其中選擇方法例如從多個預定位置的深度像素的像素值中選擇最大值、最小值、或中值(mediumvalue)等;[0076]方法3:以基本深度塊中多個預定位置的深度像素的像素值的加權平均值作為深度值D,其中多個預定位置例如包括該基本深度塊的左上角、右上角、左下角、右下角、中心點等位置中的兩個或更多個,又例如包括該基本深度塊中所有的深度像素位置;加權平均值的計算方法例如平均值(即各權值相等),又例如當包括三個預定位置時,采用1/4、1/2、1/4分別作為三個位置的權值。[0077](2)將深度值D轉換為視點I圖像和視點2圖像之間的視差矢量DVl,并獲得基本深度塊在視點2圖像中的對應位置Pos2,其中,視差矢量DVl由對應位置Pos2指向基本深度塊在視點I圖像中的位置Posl(或者由基本深度塊在視點I圖像中的位置Posl指向對應位置Pos2);其中,當視點2圖像為視點2紋理圖像時,視點I圖像指代視點I紋理圖像,當視點2圖像為視點2深度圖像時,視點I圖像指代視點I深度圖像。[0078]由深度值D轉換為基本深度塊在視點I圖像和視點2圖像之間的視差矢量DVl為成熟常用的方法,例如在視點I圖像和視點2圖像呈(或近似為)平行攝像機排列時,視差矢量DVl的豎直分量為O,水平分量值DVlx可用公式DVlx=(fXL/Z)+du得到,其中f為視點I圖像對應的攝像機的焦距,L為視點I和視點2之間的基線距離,Z為深度值D指示的像素點到對應攝像機的物理距離,du為視點I和視點2圖像主點偏移差值(differenceinprincipalpointoffset)。通常,L為有符號數,其絕對值表示視點I和視點2之間的距離,其符號與視差矢量方向、視點I和視點2的左右位置關系相關,例如:;當視差矢量DVl從視點2指向視點I時,若視點2在視點I左側,則L為負值(相應fXL/Z值為負值),若視點2在視點I右側,則L為正值;當視差矢量DVl從視點I指向視點2時,若視點2在視點I左側,則L為正值,若視點2在視點I右側,則L為負值。視差矢量DVl可以為由基本深度塊在視點2圖像中的對應位置(correspondingposition)Pos2指向基本深度塊在視點I圖像中的對應位置Posl,視差矢量方向可簡述為由“視點2圖像指向視點I圖像”,或“由視點2指向視點I”;此時有Pos2=Posl-DVl(特別的,對于水平分量有Pos2x=PosIx-DVIx);另外,視差矢量DVl也可以為由Posl指向Pos2,視差矢量方向可簡述為由“視點I圖像指向視點2圖像”,或“由視點I指向視點2”,此時有Pos2=Posl+DVl(特別的,對于水平分量有Pos2x=PoslX+DVlX)。視差矢量DVl可以為整像素精度,也可以為亞像素精度,例如1/2或1/4像素精度。當視點I圖像和視點2圖像呈非平行攝像機排列時,采用常用的三維投影(3Dwarping)方程求得Posl的對應位置Pos2,同時由DVl=Posl-Pos2(DVl由Pos2指向Posl)或DVl=Pos2-Posl(DVl由Posl指向Pos2)等到DV1。為了便于理解,這里可以同時參考圖1。[0079]需要補充說明的是,一個塊的位置通常可以由塊中某一像素點(例如中心點、左上角點、豎直中心線上的某一點、或者其它預先約定的點)在圖像中的坐標表示,結合塊的大小,就可以知道這個塊占據圖像中的哪個區域。在本實施例中,塊的位置約定為由塊的中心點表示,也可采用其它約定方式。另外,為表述方便,記視點I中基本深度塊的位置為PosO0[0080]基本深度塊在視點I圖像中的對應位置Posl可以由如下方法確定:當視點I圖像指代視點I深度圖像時,Posl所在的深度圖像塊即為基本深度塊本身,即有Posl=PosO;當視點I圖像指代視點I紋理圖像時,Posl所在的紋理圖像塊與基本深度塊對應于同一個空間區域,例如當紋理圖像和深度圖像具有相同分辨率時,Posl=PosO(即有Poslx=PosOx,Posly=PosOy),又例如當紋理圖像的水平分辨率和豎直分辨率均為和深度圖像的2倍時,Posl=PosOX2(即有Poslx=Pos0xX2,Pos2y=PosOyX2)。[0081](3)基本圖像塊的視差矢量DV2為視差矢量DVl,或者為DVl與一個實數的乘積,其中基本圖像塊位于對應位置Pos2,其中實數為例如-1、1/2、-1/2、2、-2等常數,或者為一個絕對值為視點I深度圖像分辨率和視點2圖像分辨率比值或其倒數的縮放系數。[0082]基本圖像塊位于對應位置Pos2,即基本圖像塊為視點2圖像中覆蓋Pos2的一個圖像塊,例如以Pos2為中心的一個包含MXN個圖像像素的圖像塊。特別的,若視點2圖像已經按一定規則預先被劃分為多個包含MXN個圖像像素的圖像塊,則基本圖像塊為這些預先劃分的圖像塊中覆蓋Pos2的一個包含MXN個圖像像素的圖像塊;需要說明的是,此基本圖像塊的中心點Pos2’與Pos2可能不相等。[0083]通常,DV2為DVl,也可以保存為-DVl(即大小相同,方向相反),或者保存為對DVl縮放(Scaling)之后的值。[0084]優選實施例2[0085]本優選實施例涉及一種視間預測圖像產生方法,為本發明提供的視差矢量生成方法的應用之一。先由優選實施例1所述方法得到視點2圖像中基本圖像塊的視差矢量DV2,基本圖像塊的位置為Pos2’,DV2由視點2圖像指向視點I圖像(或DV2由視點I圖像指向視點2圖像);然后,由Posl’=Pos2+DV2(或Posl’=Pos2_DV2)得到視點I圖像中的一個對應位置Posl’的圖像塊;需要說明的是,Posl’可能不等于優選實施例1中用于生成DV2的基本深度塊在視點I圖像中的對應位置Posl。[0086]取Posl’所在的圖像塊作為視點2中的基本圖像塊的視間預測圖像;需要說明的是,當Posl’為亞像素位置時(即DV2為亞像素精度時),可以采用亞像素插值濾波器(如H.264/AVC中的亞像素插值濾波器等)獲得亞像素位置的圖像像素,產生Posl’所在圖像塊的亞像素精度像素值。需要補充說明的是,在本實施例中,視點I的紋理圖像和深度圖像通常為重建(reconstructed)圖像,而不是原始(original)圖像。[0087]優選實施例3[0088]本優選實施例涉及一種視差矢量生成方法。在本優選實例中,視點I和視點2的紋理圖像分辨率相同,視點I和視點2的深度圖像分辨率相同,視點I的紋理圖像的水平分辨率和豎直分辨率均為深度圖像的2倍。視點I和視點2紋理圖像呈平行攝像機排列。本實施例用于生成視點2紋理圖像的視差矢量。需要補充說明的是,當本實施例應用于視頻編碼時,紋理圖像和深度圖像通常為重建(reconstructed)圖像。[0089]將視點2紋理圖像劃分為MXN塊(即包含MXN個像素的塊,寬度為M個像素,高度為N個像素)),M=4,N=4,每個MXN塊為基本圖像塊,為表述更為清晰明確,在本實施例中,稱為基本紋理塊;將視點I深度圖像劃分為EXF塊,E=2,F=2,每個EXF塊為基本深度塊。[0090]對所有基本深度塊或其中的一部分(例如包含一個或多個基本深度塊的矩形窗內的所有基本深度塊),進行如下處理,獲得視點2紋理圖像中一個或多個基本紋理塊的視差矢量:[0091](I)對任意一個基本深度塊,用其左上角、右上角、左下角、右下角等四個深度像素的深度值的最大值作為該基本深度塊的深度值D。[0092](2)由常用公式DVlx=(fXL/Z)+du得到基本深度塊的視差矢量DVl的水平分量DVlx,豎直分量為0,其中f為視點I圖像對應的攝像機的焦距,L為視點I和視點2之間的基線距離,Z為深度值D指示的像素點到對應攝像機的物理距離,du為視點I和視點2圖像主點偏移差值(differenceinprincipalpointoffset),其值通常為0。DVl方向為由視點2指向視點1,其水平分量數值為1/4像素精度(例如數值5表示1.25個像素,或5個1/4像素)。由Pos2=Posl-DVl得到基本深度塊在視點2紋理圖像上的對應位置Pos2,其中Posl為基本深度塊在視點I紋理圖像上的對應位置,PosUPos2的水平分量也為1/4像素精度,豎直分量為整像素精度(即數值5表示5個像素)。基本深度塊左上角像素在視點I深度圖像中的坐標記為(xl,yl),其中xl、yl為整像素精度,則有:[0093]Poslx=xlXSclXFa+offsetl,Posly=ylXSc2+offset2;[0094]Pos2x=xlXSclXFa+offsetl-DVlx,Pos2y=ylXSc2+offset3;[0095]其中,Scl等于紋理圖像水平分辨率和深度圖像水平分辨率的比值,Sc2等于紋理圖像豎直分辨率和深度圖像豎直分辨率的比值,“XFa”操作將整像素精度的水平坐標轉為Ι/Fa像素精度;在本實施例中,即有Scl=2,Sc2=2,Fa=4。offsetl=FaXEXScl/2;offset2>offset3為0到FXSc2_l之間的一個數,例如offset2=offset3=O。[0096](3)將覆蓋Pos2點的基本紋理塊的視差矢量DV2賦值為DVl;其中判斷基本紋理塊是否覆蓋Pos2例如可以可用以下方法:記基本紋理塊左上角像素在視點2紋理圖像中的坐標為(x2,y2),其中x2、y2為整像素精度,若滿足x2/M取整(即x2除以M的整數部分)等于Pos2X/(FaXM)取整且y2/N取整等于Pos2y/N取整,則該基本紋理塊覆蓋Pos2。需要說明的是,當Y為2的冪次時,“X/Y取整”操作也可以采用“對X右移1g2(Y)位”操作實現。[0097]優選實施例4[0098]本優選實施例4涉及一種視差矢量生成方法。在本優選實施例中,視點I和視點2的紋理圖像分辨率相同,視點I和視點2的深度圖像分辨率相同,視點I的紋理圖像分辨率和深度圖像分辨率相同。視點I和視點2紋理圖像均呈平行攝像機排列。視點I和視點2紋理圖像主點偏移差值(differenceinprincipalpointoffset)均為0。本優選實施例用于生成視點2紋理圖像的視差矢量(即視點2紋理圖像中的基本圖像塊的視差矢量)。[0099]將視點2紋理圖像劃分為MXNi夾,例如有M=4,N=4,每個4X4塊為基本圖像塊,為表述更為清晰,在本實施例中,稱為基本紋理塊;將視點I深度圖像劃分為EXF塊,E、F根據視點I深度圖像和視點2紋理圖像分辨率的比例確定:E=MX(Wdl/fft2)=4,F=NX(Hdl/Ht2)=4,每個EXF塊為基本深度塊。[0100]對所有基本深度塊或其中的一部分,進行如下處理,獲得視點2紋理圖像中一個或多個基本紋理塊的視差矢量:[0101](I)對任意一個基本深度塊,用其中心點Cen的深度像素的深度值作為該基本深度塊的深度值D。基本深度塊左上角像素在視點I深度圖像中的坐標記為(xl,yl),其中xUyl為整像素精度,則中心點Cen的水平坐標、豎直坐標可定義為:[0102]Cenx=xl+E/2;Ceny=yl+F/2;[0103]或者也可定義為:[0104]Cenx=xl+E/2-1;Ceny=yl+F/2-l。[0105](2)由常用公式DVl=fXl/Z=G1XD+C2得到基本深度塊的視差矢量DVl的水平分量,豎直分量為O,其中,【權利要求】1.一種視差矢量生成方法,其特征在于,包括:根據第一視點深度圖像中基本深度塊的深度像素值獲得所述基本深度塊的第一深度值;根據所述第一深度值生成第二視點圖像中基本圖像塊的第一視差矢量,其中,所述第二視點圖像為第二視點紋理圖像或第二視點深度圖像。2.根據權利要求1所述的方法,其特征在于,根據第一視點深度圖像中基本深度塊的深度像素值獲得所述基本深度塊的第一深度值,包括以下方式之一:將所述基本深度塊中一個預定位置的深度像素的深度值作為所述第一深度值;將從所述基本深度塊中多個預定位置的深度像素的深度值中選擇的一個深度值作為所述第一深度值,其中,選擇的深度值為所述多個預定位置的深度像素的深度值中的最大值、最小值或者中間值;將所述基本深度塊中多個預定位置的深度像素的深度值的加權平均值作為所述第一深度值。3.根據權利要求1所述的方法,其特征在于,根據所述第一深度值生成第二視點圖像中基本圖像塊的第一視差矢量,包括:將所述第一深度值轉換為第一視點圖像和所述第二視點圖像之間的第二視差矢量,并獲得所述基本深度塊在所述第二視點圖像中的對應位置,其中,當所述第二視點圖像為所述第二視點紋理圖像時,所述第一視點圖像為第一視點紋理圖像,當所述第二視點圖像為所述第二視點深度圖像時,所述第一視點圖像為第一視點深度圖像;將所述第二視差矢量或所述第二視差矢量與預定實數的乘積作為所述第一視差矢量,其中,所述基本圖像塊位于所述對應位置上,所述預定實數包括以下之一:常數、縮放系數,其中,所述縮放系數的絕對值為所述第一視點深度圖像的第一分辨率和所述第二視點圖像的第二分辨率的比值或所述比值的倒數。4.根據權利要求1至3中任一項所述的方法,其特征在于,在根據所述第一深度值生成第二視點圖像中基本圖像塊的第一視差矢量之后,還包括:根據所述第一視差矢量生成目標圖像塊的第三視差矢量,其中,所述目標圖像塊包括多個所述基本圖像塊。5.根據權利要求4所述的方法,其特征在于,根據所述第一視差矢量生成目標圖像塊的第三視差矢量,包括:確定所述目標圖像塊中一個或多個預定位置的所述基本圖像塊的所述第一視差矢量;從確定的所有所述第一視差矢量中選取一個所述第一視差矢量的值作為所述第三視差矢量,或者,將確定的所有所述第一視差矢量的加權平均值作為所述第三視差矢量。6.一種視差矢量生成裝置,其特征在于,包括:獲取模塊,用于根據第一視點深度圖像中基本深度塊的深度像素值獲得所述基本深度塊的第一深度值;第一生成模塊,用于根據所述第一深度值生成第二視點圖像中基本圖像塊的第一視差矢量,其中,所述第二視點圖像為第二視點紋理圖像或第二視點深度圖像。7.根據權利要求6所述的裝置,其特征在于,獲取模塊包括以下之一:第一設置單元,用于將所述基本深度塊中一個預定位置的深度像素的深度值作為所述第一深度值;選取單元,用于將從所述基本深度塊中多個預定位置的深度像素的深度值中選擇的一個深度值作為所述第一深度值,其中,選擇的深度值為所述多個預定位置的深度像素的深度值中的最大值、最小值或者中間值;第二設置單元,用于將所述基本深度塊中多個預定位置的深度像素的深度值的加權平均值作為所述第一深度值。8.根據權利要求6所述的裝置,其特征在于,第一生成模塊包括:轉換單元,用于將所述第一深度值轉換為第一視點圖像和所述第二視點圖像之間的第二視差矢量,并獲得所述基本深度塊在所述第二視點圖像中的對應位置,其中,當所述第二視點圖像為所述第二視點紋理圖像時,所述第一視點圖像為第一視點紋理圖像,當所述第二視點圖像為所述第二視點深度圖像時,所述第一視點圖像為第一視點深度圖像;第三設置單元,用于將所述第二視差矢量或所述第二視差矢量與預定實數的乘積作為所述第一視差矢量,其中,所述基本圖像塊位于所述對應位置上,所述預定實數包括以下之一:常數、縮放系數,其中,所述縮放系數的絕對值為所述第一視點深度圖像的第一分辨率和所述第二視點圖像的第二分辨率的比值或所述比值的倒數。9.根據權利要求6至8中任一項所述的裝置,其特征在于,所述裝置還包括:第二生成模塊,用于根據所述第一視差矢量生成目標圖像塊的第三視差矢量,其中,所述目標圖像塊包括多個所述基本圖像塊。10.根據權利要求9所述的裝置,其特征在于,所述第二生成模塊包括:確定單元,用于確定所述目標圖像塊中一個或多個預定位置的所述基本圖像塊的所述第一視差矢量;第四設置單元,用于從確定的所有所述第一視差矢量中選取一個所述第一視差矢量的值作為所述第三視差矢量,或者,將確定的所有所述第一視差矢量的加權平均值作為所述第二視差矢量。【文檔編號】H04N19/597GK103916652SQ201310007164【公開日】2014年7月9日申請日期:2013年1月9日優先權日:2013年1月9日【發明者】虞露,趙寅,張熠辰申請人:浙江大學