視頻譯碼中的視差矢量預測的制作方法
【專利摘要】本發(fā)明描述用于基于空間上及時間上相鄰于待預測的當前塊的一或多個區(qū)的視差運動矢量來確定用于當前塊的視差矢量的技術(shù)。所述空間上及時間上相鄰區(qū)包括一個或多個塊,且所述視差運動矢量表示用于所述空間上或時間上相鄰區(qū)內(nèi)的所述多個塊的一個參考圖片列表中的單一矢量。所述經(jīng)確定視差矢量可用于利用不同視圖之間的信息的譯碼工具,諸如,合并模式、高級運動矢量預測AMVP模式、視圖間運動預測及視圖間殘差預測。
【專利說明】視頻譯碼中的視差矢量預測
[0001]本申請案主張以下各者的權(quán)利:
[0002]2012年3月14日申請的美國臨時申請案61/610,961 ;
[0003]2012年4月9日申請的美國臨時申請案61/621,929 ;
[0004]2012年4月11日申請的美國臨時申請案61/623,041 ;
[0005]2012年6月12日申請的美國臨時申請案61/658,754 ;
[0006]2012年8月11日申請的美國臨時申請案61/682,221 ;及
[0007]2012年8月11日申請的美國臨時申請案61/682,224,所述臨時申請案中的每一者的全部內(nèi)容是特此以引用方式并入。
【技術(shù)領域】
[0008]本發(fā)明是關于視頻譯碼,且更特定言之,是關于用于譯碼多視圖及三維(3D)視頻數(shù)據(jù)的技術(shù)。
【背景技術(shù)】
[0009]可將數(shù)字視頻能力并入到廣泛范圍的裝置中,所述裝置包括數(shù)字電視、數(shù)字直播系統(tǒng)、無線廣播系統(tǒng)、個人數(shù)字助理(PDA)、便攜式計算機或臺式計算機、平板計算機、電子書閱讀器、數(shù)字相機、數(shù)字記錄裝置、數(shù)字媒體播放器、視頻游戲裝置、視頻游戲控制臺、蜂窩或衛(wèi)星無線電話、所謂“智能手機”、視頻電話會議裝置、視頻流式處理裝置,及其類似者。數(shù)字視頻裝置實施視頻壓縮技術(shù),諸如,由MPEG-2、MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4第10部分的高級視頻譯碼(AVC)定義的標準、目前在開發(fā)中的高效率視頻譯碼(HEVC)標準及這些標準的擴展中所描述的視頻壓縮技術(shù)。視頻裝置可通過實施這些視頻壓縮技術(shù)來更有效地傳輸、接收、編碼、解碼及/或存儲數(shù)字視頻信息。
[0010]視頻壓縮技術(shù)執(zhí)行空間(圖片內(nèi))預測及/或時間(圖片間)預測,以縮減或移除視頻序列中所固有的冗余。對于基于塊的視頻譯碼,可將視頻切片(例如,視頻幀或視頻幀的部分)分割為多個視頻塊,所述視頻塊也可被稱為樹塊、譯碼單元(CU)及/或譯碼節(jié)點。圖片的經(jīng)幀內(nèi)譯碼⑴切片中的視頻塊是相對于同一圖片中的相鄰塊中的參考樣本使用空間預測來編碼。圖片的經(jīng)幀間譯碼(P或B)切片中的視頻塊可相對于同一圖片中的相鄰塊中的參考樣本使用空間預測,或相對于其它參考圖片中的參考樣本使用時間預測。圖片可被稱為幀,且參考圖片可被稱為參考幀。
[0011]空間或時間預測產(chǎn)生待譯碼的塊的預測性塊。殘余數(shù)據(jù)表示在待譯碼的原始塊與預測性塊之間的像素差。根據(jù)運動矢量及殘余數(shù)據(jù)來編碼經(jīng)幀間譯碼塊,所述運動矢量指向形成預測性塊的參考樣本的塊,所述殘余數(shù)據(jù)指示在經(jīng)譯碼塊與預測性塊之間的差。根據(jù)幀內(nèi)譯碼模式及殘余數(shù)據(jù)來編碼幀內(nèi)譯碼塊。為了進一步壓縮,可將殘余數(shù)據(jù)從像素域變換到變換域,從而產(chǎn)生接著可量化的殘余變換系數(shù)??蓲呙枳畛跻远S陣列排列的經(jīng)量化變換系數(shù),以便產(chǎn)生變換系數(shù)的一維矢量,且可應用熵譯碼以達成甚至更大程度的壓縮。
【發(fā)明內(nèi)容】
[0012]本發(fā)明所描述的技術(shù)通常是關于基于空間及/或時間相鄰塊的運動信息來確定用于視圖的圖片的當前塊的視差矢量。所述技術(shù)考慮相鄰塊的所述運動信息被存儲的方式以確定用于所述當前塊的所述視差矢量。舉例來說,本發(fā)明所描述的技術(shù)可評估空間上及/或時間上相鄰于所述當前塊的相鄰區(qū)的運動信息,其中區(qū)包括所述相鄰塊中的一者或多者。所述技術(shù)可基于用于所述區(qū)的所述經(jīng)存儲運動信息來確定用于所述當前塊的所述視差矢量。所述技術(shù)可進一步允許隨機訪問點(RAP)圖片的視圖間運動預測,又利用經(jīng)確定視差矢量作為運動矢量預測值候選者。
[0013]在一個實例中,本發(fā)明描述一種用于解碼視頻數(shù)據(jù)的方法。所述方法包括確定用于多個視圖中的第一視圖中的圖片中的區(qū)的運動矢量是否為視差運動矢量。在這個實例中,所述區(qū)相鄰于待預測的當前塊,所述區(qū)包括一或多個塊,用于所述區(qū)的所述運動矢量表示用于一個參考圖片列表的單一運動矢量,且所述視差運動矢量是指第二不同視圖中的圖片。所述方法也包括:響應于確定用于所述圖片中的所述區(qū)的所述運動矢量為所述視差運動矢量而確定用于所述區(qū)的所述視差運動矢量是否為用于所述當前塊的視差矢量;及幀間預測解碼所述當前塊,其中如果確定用于所述區(qū)的所述視差運動矢量為用于所述當前塊的所述視差矢量,那么所述解碼使用用于所述區(qū)的所述視差運動矢量作為用于所述當前塊的所述視差矢量。
[0014]在一個實例中,本發(fā)明描述一種用于編碼視頻數(shù)據(jù)的方法。所述方法包括確定用于多個視圖中的第一視圖中的圖片中的區(qū)的運動矢量是否為視差運動矢量。在這個實例中,所述區(qū)相鄰于待預測的當前塊,所述區(qū)包括一或多個塊,用于所述區(qū)的所述運動矢量表示針對一個參考圖片列表的用于所述一或多個塊的單一運動矢量,且所述視差運動矢量是指第二不同視圖中的圖片。所述方法也包括:響應于確定用于所述圖片中的所述區(qū)的所述運動矢量為所述視差運動矢量而確定用于所述區(qū)的所述視差運動矢量是否為用于所述當前塊的視差矢量;及幀間預測編碼所述當前塊,其中如果確定用于所述區(qū)的所述視差運動矢量為用于所述當前塊的所述視差矢量,那么所述編碼使用用于所述區(qū)的所述視差運動矢量作為用于所述當前塊的所述視差矢量。
[0015]在一個實例中,本發(fā)明描述一種用于解碼視頻數(shù)據(jù)的裝置。所述裝置包括視頻解碼器,所述視頻解碼器經(jīng)配置以確定用于多個視圖中的第一視圖中的圖片中的區(qū)的運動矢量是否為視差運動矢量。在這個實例中,所述區(qū)相鄰于待預測的當前塊,所述區(qū)包括一或多個塊,用于所述區(qū)的所述運動矢量表示針對一個參考圖片列表的用于所述一或多個塊的單一運動矢量,且所述視差運動矢量是指第二不同視圖中的圖片。響應于確定用于所述圖片中的所述區(qū)的所述運動矢量為所述視差運動矢量,所述視頻解碼器經(jīng)配置以確定用于所述區(qū)的所述視差運動矢量是否為用于所述當前塊的視差矢量。所述視頻解碼器也經(jīng)配置以幀間預測解碼所述當前塊,其中為了解碼所述當前塊,如果確定用于所述區(qū)的所述視差運動矢量為用于所述當前塊的所述視差矢量,那么所述視頻解碼器使用用于所述區(qū)的所述視差運動矢量作為用于所述當前塊的所述視差矢量。
[0016]在一個實例中,本發(fā)明描述一種用于編碼視頻數(shù)據(jù)的裝置。所述裝置包括視頻編碼器,所述視頻編碼器經(jīng)配置以確定用于多個視圖中的第一視圖中的圖片中的區(qū)的運動矢量是否為視差運動矢量。在這個實例中,所述區(qū)相鄰于待預測的當前塊,所述區(qū)包括一或多個塊,用于所述區(qū)的所述運動矢量表示針對一個參考圖片列表的用于所述一或多個塊的單一運動矢量,且所述視差運動矢量是指第二不同視圖中的圖片。響應于確定用于所述圖片中的所述區(qū)的所述運動矢量為所述視差運動矢量,所述視頻編碼器經(jīng)配置以確定用于所述區(qū)的所述視差運動矢量是否為用于所述當前塊的視差矢量。所述視頻編碼器也經(jīng)配置以幀間預測編碼所述當前塊,其中為了編碼所述當前塊,如果確定用于所述區(qū)的所述視差運動矢量為用于所述當前塊的所述視差矢量,那么所述視頻編碼器使用用于所述區(qū)的所述視差運動矢量作為用于所述當前塊的所述視差矢量。
[0017]在一個實例中,本發(fā)明描述一種用于解碼視頻數(shù)據(jù)的裝置。所述裝置包括用于確定用于多個視圖中的第一視圖中的圖片中的區(qū)的運動矢量是否為視差運動矢量的裝置。在這個實例中,所述區(qū)相鄰于待預測的當前塊,所述區(qū)包括一或多個塊,用于所述區(qū)的所述運動矢量表示針對一個參考圖片列表的用于所述一或多個塊的單一運動矢量,且所述視差運動矢量是指第二不同視圖中的圖片。所述裝置也包括:響應于確定用于所述圖片中的所述區(qū)的所述運動矢量為所述視差運動矢量,用于確定用于所述區(qū)的所述視差運動矢量是否為用于所述當前塊的視差矢量的裝置;及用于幀間預測解碼所述當前塊的裝置,其中如果確定用于所述區(qū)的所述視差運動矢量為用于所述當前塊的所述視差矢量,那么用于幀間預測解碼的所述裝置使用用于所述區(qū)的所述視差運動矢量作為用于所述當前塊的所述視差矢量。
[0018]在一個實例中,本發(fā)明描述一種用于編碼視頻數(shù)據(jù)的裝置。所述裝置包括用于確定用于多個視圖中的第一視圖中的圖片中的區(qū)的運動矢量是否為視差運動矢量的裝置。在這個實例中,所述區(qū)相鄰于待預測的當前塊,所述區(qū)包括一或多個塊,用于所述區(qū)的所述運動矢量表示針對一個參考圖片列表的用于所述一或多個塊的單一運動矢量,且所述視差運動矢量是指第二不同視圖中的圖片。所述裝置也包括:響應于確定用于所述圖片中的所述區(qū)的所述運動矢量為所述視差運動矢量,用于確定用于所述區(qū)的所述視差運動矢量是否為用于所述當前塊的視差矢量的裝置;及用于幀間預測編碼所述當前塊的裝置,其中如果確定用于所述區(qū)的所述視差運動矢量為用于所述當前塊的所述視差矢量,那么用于幀間預測編碼的所述裝置使用用于所述區(qū)的所述視差運動矢量作為用于所述當前塊的所述視差矢量。
[0019]在一個實例中,本發(fā)明描述一種存儲有指令的計算機可讀存儲媒體,所述指令在執(zhí)行時使一或多個處理器確定用于多個視圖中的第一視圖中的圖片的區(qū)的運動矢量是否為視差運動矢量。在這個實例中,所述區(qū)相鄰于待預測的當前塊,所述區(qū)包括一或多個塊,用于所述區(qū)的所述運動矢量表示針對一個參考圖片列表的用于所述一或多個塊的單一運動矢量,且所述視差運動矢量是指第二不同視圖中的圖片。響應于確定用于所述圖片中的所述區(qū)的所述運動矢量為所述視差運動矢量,所述指令使所述一或多個處理器確定用于所述區(qū)的所述視差運動矢量是否為用于所述當前塊的視差矢量。所述指令也使所述一或多個處理器幀間預測解碼所述當前塊,其中使所述一或多個處理器進行解碼的所述指令包含在確定用于所述區(qū)的所述視差運動矢量為用于所述當前塊的所述視差矢量時使所述一或多個處理器使用用于所述區(qū)的所述視差運動矢量作為用于所述當前塊的所述視差矢量的指令。
[0020]在一個實例中,本發(fā)明描述一種存儲有指令的計算機可讀存儲媒體,所述指令在執(zhí)行時使一或多個處理器確定用于多個視圖中的第一視圖中的圖片的區(qū)的運動矢量是否為視差運動矢量。在這個實例中,所述區(qū)相鄰于待預測的當前塊,所述區(qū)包括一或多個塊,用于所述區(qū)的所述運動矢量表示針對一個參考圖片列表的用于所述一或多個塊的單一運動矢量,且所述視差運動矢量是指第二不同視圖中的圖片。響應于確定用于所述圖片中的所述區(qū)的所述運動矢量為所述視差運動矢量,所述指令使所述一或多個處理器確定用于所述區(qū)的所述視差運動矢量是否為用于所述當前塊的視差矢量。所述指令也使所述一或多個處理器幀間預測編碼所述當前塊,其中使所述一或多個處理器進行編碼的所述指令包含在確定用于所述區(qū)的所述視差運動矢量為用于所述當前塊的所述視差矢量時使所述一或多個處理器使用用于所述區(qū)的所述視差運動矢量作為用于所述當前塊的所述視差矢量的指令。
[0021]在隨附圖式及以下描述中陳述一或多個實例的細節(jié)。其它特征、目標及優(yōu)勢將從所述描述及所述圖式且從權(quán)利要求書變得顯而易見。
【專利附圖】
【附圖說明】
[0022]圖1為根據(jù)本發(fā)明所描述的一或多個實例的說明實例視頻編碼及解碼系統(tǒng)的框圖。
[0023]圖2為根據(jù)本發(fā)明所描述的一或多個實例的說明實例多視圖視頻譯碼(MVC)編碼或解碼順序的圖形圖。
[0024]圖3為說明實例MVC預測樣式的圖形圖。
[0025]圖4為說明運動矢量可為候選運動矢量預測值的空間上相鄰塊的概念圖。
[0026]圖5為說明供基于視差矢量來確定候選運動矢量預測值的方式的概念圖。
[0027]圖6為說明清潔隨機訪問(CRA)圖片的實例的概念圖。
[0028]圖7為說明確定候選視差矢量的一個實例的概念圖。
[0029]圖8為根據(jù)本發(fā)明所描述的一或多個實例的說明運動矢量信息被存儲的方式的概念圖。
[0030]圖9為說明確定候選視差矢量的一個實例的概念圖。
[0031]圖10為說明與待預測的當前塊同置的同置塊的實例的概念圖。
[0032]圖11為說明確定候選視差矢量的一個實例的概念圖。
[0033]圖12為說明可實施本發(fā)明所描述的技術(shù)的視頻編碼器的實例的框圖。
[0034]圖13為說明可實施本發(fā)明所描述的技術(shù)的視頻解碼器的實例的框圖。
[0035]圖14為根據(jù)本發(fā)明所描述的一或多種技術(shù)的說明視頻解碼器的實例操作的流程圖。
[0036]圖15為根據(jù)本發(fā)明所描述的一或多種技術(shù)的說明視頻編碼器的實例操作的流程圖。
[0037]圖16為根據(jù)本發(fā)明所描述的一或多種技術(shù)的說明視頻譯碼器的實例操作的流程圖。
【具體實施方式】
[0038]本發(fā)明所描述的技術(shù)通常是有關于多視圖紋理(或紋理及深度)譯碼(MVC),且更特定言之,是有關于視頻譯碼器(例如,視頻編碼器或視頻解碼器)確定用于MVC的當前視圖的當前圖片內(nèi)的當前塊的視差矢量的方式。MVC是指多個視圖被譯碼的方式,其中每一視圖包括多個圖片。MVC可用以支持三維(3D)視頻。在3D應用中,當顯示器呈現(xiàn)來自視圖中的兩者或兩者以上的圖片時,查看者感知包圍3D體積的圖像,而非約束于顯示器的二維(2D)區(qū)域的圖像。包圍3D體積的圖像的查看者感知是歸因于不同視圖的圖片中的對象之間的水平視差。
[0039]視差矢量為是指對應圖片內(nèi)的塊的矢量,所述對應圖片是在不同于當前圖片的當前視圖的視圖中。對應圖片內(nèi)的塊及當前圖片中的當前塊可包括相似視頻內(nèi)容;然而,塊在對應圖片內(nèi)的位置與當前塊在當前圖片內(nèi)的位置之間存在水平視差。當前塊的視差矢量提供對應圖片中的塊與當前圖片中的當前塊之間的此水平視差的度量。在另一實例中,塊在對應圖片內(nèi)的位置與當前塊在當前圖片內(nèi)的位置之間也可存在垂直視差。當前塊的視差矢量可提供對應圖片中的塊與當前圖片中的當前塊之間的此垂直視差的度量。當前視圖的當前圖片及不同視圖的對應圖片被顯示的時間可相同(即,使得當前視圖及不同視圖為針對同一時間例項的視圖)。
[0040]如下文更詳細地所描述,視頻譯碼器基于用于時間上及空間上相鄰于當前塊的一或多個塊的運動信息來確定視差矢量。然而,由于用于這些空間上及時間上相鄰塊的運動信息被存儲的方式,在一些實例中,視頻譯碼器可無需逐塊地針對所述空間上及時間上相鄰塊確定所述運動信息。更確切地,視頻譯碼器可經(jīng)配置以逐區(qū)地確定運動信息,其中一個區(qū)包括一或多個相鄰塊且可大于當前塊的大小。在這個實例中,視頻譯碼器考慮用于空間上及時間上相鄰塊的運動信息被存儲的方式,使得視頻譯碼器逐區(qū)地確定運動信息,這種情形相比于逐塊地確定運動信息可引起運動信息的較少確定。
[0041]在一些實例中,視頻譯碼器確定視差矢量而未必需要導出用于圖片的深度圖,其中所述深度圖指示所述圖片中的像素的相對深度,或而未必譯碼全局視差矢量(GDV)。從所導出的深度圖確定的視差矢量被稱作平滑時間視圖預測(STV)視差矢量。GDV為將相同視差矢量指派給每一像素的矢量。在一些其它實例中,STV視差矢量可應用于每一預測單元/譯碼單元/宏塊/宏塊分區(qū),因此,其中的每一者具有其自己的STV。
[0042]導出用于圖片的深度圖可為處理密集型及時間密集型。因此,確定用于塊的視差矢量而未必需要導出用于圖片的深度圖會增進有效視頻譯碼。此外,即使可得到深度圖,仍可利用本發(fā)明所描述的技術(shù)。所述技術(shù)也可用于深度圖譯碼工具。此外,GDV不提供不同視圖中的對應塊之間的視差的準確描述。舉例來說,一個視圖中的圖片中的兩個塊可在另一視圖中的圖片中被位移達不同量。因為⑶V將相同視差矢量指派給所有像素,所以⑶V不準確地定義兩個塊的不同量的視差。
[0043]視差矢量可用于若干譯碼工具中,諸如,視圖間運動預測、視圖間殘差預測。舉例來說,視圖間運動預測為可以兩種方式使用視差矢量的實例。在第一方式中,對于視圖間運動預測,用于當前塊的視差矢量所指的塊的運動矢量可為用于當前塊的運動矢量的多個潛在運動矢量預測值中的運動矢量預測值。當視頻譯碼器選擇這個運動矢量預測值(例如,由當前塊的視差矢量所指的塊的運動矢量)時,視頻譯碼器可在合并模式或跳過模式下利用這個運動矢量預測值作為當前塊的運動矢量(出于簡單起見,在以下描述中,合并模式用以指示合并模式及跳過模式兩者),且可在高級運動矢量預測(AMVP)模式下利用這個運動矢量預測值以確定當前塊的運動矢量。在這種狀況下,使用從視差矢量轉(zhuǎn)換的運動矢量作為用于AMVP或合并模式的額外候選者。在第二方式中,對于視圖間運動預測,使用視差矢量以將一個對應塊定位在參考視圖中,且可將所述對應塊的運動信息轉(zhuǎn)換到用于AMVP或合并模式的候選者。
[0044]舉例來說,在合并模式的實例中,視頻譯碼器可將運動矢量預測值設置為當前塊的運動矢量,且利用由運動矢量預測值所指的參考圖片以幀間預測當前塊。在AMVP模式下,視頻譯碼器可譯碼運動矢量預測值與當前塊的實際運動矢量之間的殘差。在這個實例中,視頻譯碼器將殘差加到運動矢量預測值或從運動矢量預測值減去殘差以確定當前塊的運動矢量。此外,在AMVP模式下,視頻譯碼器將參考索引譯碼到第一參考圖片列表及第二參考圖片列表中的至少一者中以識別用以幀間預測當前塊的參考圖片。
[0045]通過確定視差矢量而未必需要導出深度圖,視頻譯碼器可經(jīng)配置以確定用于視差矢量所指的塊的運動矢量,其確定方式相比于視頻譯碼器首先導出深度圖以確定視差矢量的實例更有效。此外,通過不依賴于GDV,視頻譯碼器可經(jīng)配置以提供具有經(jīng)確定視差矢量的更準確量的視差,其中經(jīng)確定視差矢量更準確地定義運動矢量待在合并模式或AMVP模式下使用的塊。因為在合并模式及AMVP模式下用于視差所指的塊的運動矢量為用于當前塊的潛在運動矢量預測值,所以在本發(fā)明所描述的技術(shù)中,視頻譯碼器可經(jīng)配置以實施合并模式及AMVP模式,其實施方式相比于一些其它技術(shù)更有效。
[0046]在一些實例中,視頻譯碼器經(jīng)配置以基于候選視差矢量列表來確定用于塊的視差矢量。舉例來說,不是導出深度圖及從深度圖導出視差矢量,而是在一些實例中,視頻譯碼器構(gòu)造候選視差矢量列表、選擇所述候選視差矢量中的一者,且基于所述選定候選視差矢量來確定用于當前塊的視差矢量。可存在視頻譯碼器選擇候選視差矢量中的一者的各種方式,且本發(fā)明所描述的技術(shù)不限于供選擇所述候選視差矢量的任何特定方式。
[0047]確定視差矢量而未必導出深度圖可允許若干譯碼工具,諸如,針對某些類型的圖片的視圖間運動預測/視圖間殘差預測。舉例來說,視圖間運動預測可應用于利用本發(fā)明所描述的技術(shù)的隨機訪問點(RAP)圖片,諸如,瞬時解碼器刷新(IDR)圖片及清潔隨機訪問(CRA)圖片。在一些其它技術(shù)(例如,未根據(jù)本發(fā)明所描述的技術(shù)的技術(shù))中,視圖間運動預測可不應用于某些非基礎視圖(例如,相依視圖)中的RAP圖片,這是因為所述RAP圖片必須經(jīng)完全地解碼以導出RAP圖片的經(jīng)估計深度圖且視差矢量依賴于所述經(jīng)估計深度圖。通過導出視差矢量而無需深度圖,本發(fā)明所描述的技術(shù)可允許針對非基礎視圖的RAP圖片的視圖間運動預測。
[0048]在一些實例中,視頻譯碼器基于空間及時間相鄰塊來構(gòu)造候選視差矢量列表。舉例來說,如果空間上或時間上相鄰于當前塊的塊使用視圖間預測,那么可潛在地包括用于這些塊的視差運動矢量作為候選視差矢量。視圖間預測是指幀間預測,其中包括用以幀間預測當前塊的參考塊的參考圖片定位在不同于定位有包括當前塊的當前圖片的視圖的視圖中。視差運動矢量為用于第一視圖中的圖片中的塊的矢量,所述矢量是指第二不同視圖中的圖片中的塊。
[0049]如上文所描述,根據(jù)本發(fā)明所描述的技術(shù),在構(gòu)造候選視差矢量列表時,視頻譯碼器可考慮用于空間上及時間上相鄰塊的運動矢量信息被存儲的方式。舉例來說,對于包括時間上相鄰塊的參考圖片,視頻譯碼器可不在每一實例中存儲用于參考圖片中的每一 4X4塊的運動矢量,但可在一些實例中存儲用于參考圖片中的每一 4X4塊的運動矢量。在一些實例中,視頻解碼器可經(jīng)配置以針對16X16區(qū)存儲一個參考圖片列表中的一個運動矢量(其中16X16區(qū)包括16個4X4塊)。用于16X16區(qū)的這一個運動矢量可被視為用于參考圖片列表中的區(qū)內(nèi)的16個4X4塊中的每一者的單一運動矢量。
[0050]出于簡單起見,在以下描述中,用于區(qū)的運動矢量表示一個參考圖片列表的運動矢量。此外,無論來自參考圖片還是來自當前圖片內(nèi)的區(qū)皆可包括一或多個塊。出于說明簡易起見,用實例來描述技術(shù),在所述實例中,區(qū)包括一個以上塊,但應理解,區(qū)可包括一或多個塊。
[0051]在以上實例中,盡管參考圖片中的16X16區(qū)中的每一 4X4塊可由不同運動矢量譯碼,但當視頻譯碼器存儲運動矢量信息時,用于16X16區(qū)中的每一 4X4塊的單獨運動矢量信息丟失,且用針對每一 4X4塊相同的一個運動矢量進行替換。將運動矢量存儲在16X16區(qū)中的另一益處為:存儲器要求顯著地縮減(即,無需將用于每一 4X4塊的運動矢量存儲在16X16區(qū)內(nèi))??纱嬖谝曨l譯碼器確定用于16X16區(qū)的單一運動矢量的不同方式,且本發(fā)明所描述的技術(shù)不限于視頻譯碼器確定用于16X16區(qū)的單一運動矢量的任何特定方式。
[0052]在視頻譯碼器存儲用于區(qū)的運動矢量的實例中,不是逐塊地,而是可沒有必要使視頻譯碼器確定時間上相鄰于當前塊的每一 4X4塊的運動矢量信息。舉例來說,為了確定候選視差矢量,視頻譯碼器可檢查參考圖片內(nèi)的以下位置:與當前塊同置的區(qū)、覆蓋同置區(qū)的最大譯碼單元(LCU)區(qū)內(nèi)的塊,及右底部塊。然而,可有可能的是,用于所有這些經(jīng)檢查區(qū)域的運動矢量信息是歸因于視頻譯碼器存儲所述運動矢量信息的方式而相同。因此,視頻譯碼器可無需出于確定用于當前塊的候選視差矢量的目的而確定用于所有這些塊的運動矢量信息。
[0053]代替地,視頻譯碼器可確定用于16 X 16區(qū)的運動矢量信息。如果用于這個16 X 16區(qū)的運動矢量為視差運動矢量,那么這個視差運動矢量可為用以確定用于當前塊的視差矢量的候選視差矢量。在這個實例中,16 X 16區(qū)在大小方面大于4X4時間上相鄰塊中的每一者。此外,16X16區(qū)在大小方面可大于當前塊的大小。應理解,視頻譯碼器可逐塊地檢查4X4時間上相鄰塊。
[0054]在以上實例中,視頻譯碼器基于時間上相鄰于當前塊的區(qū)來確定候選視差矢量。如上文所描述,在一些實例中,視頻譯碼器也評估是否視圖間預測任何空間上相鄰塊,且利用用于這些空間上相鄰塊的視差運動矢量作為用于當前塊的視差矢量的候選者。相似于具有時間上相鄰塊的狀況,在一些實例中,視頻譯碼器不存儲用于空間上相鄰塊的所有運動矢量?目息。
[0055]舉例來說,在用于幀間預測在包括當前塊的行上方的行中的塊時,視頻譯碼器將用于這個行(即,在包括當前塊的行上方的行)中的塊的運動矢量信息存儲在行緩沖器中。在行緩沖器中,視頻譯碼器可不存儲用于每一 4X4塊的所有運動矢量信息。更確切地,兩個塊可共享相同運動矢量信息。然而,在所有實例中無需共享相同運動矢量信息的兩個塊,且視頻譯碼器可存儲用于每一 4X4塊的所有運動矢量信息。
[0056]舉例來說,假定存在以行而排列的四個4 X 4塊??纱嬖谟糜谝运鲂卸帕械倪@四個4X4塊中的每一者的運動矢量,且用于這四個4X4塊的運動矢量可不同。
[0057]在這個實例中,盡管用于第一 4 X 4塊及第二 4 X 4塊的運動矢量可不同,但當存儲時,第一 4 X 4塊及第二 4 X 4塊共享相同運動矢量信息,且視頻譯碼器將用于這些塊兩者的一個運動矢量存儲在行緩沖器中。這一個運動矢量表示用于第一 4X4塊及第二 4X4塊的單一運動矢量。
[0058]在一些實例中,視頻譯碼器存儲用于第一塊的運動矢量信息作為用于第一塊及第二塊兩者的運動矢量,使得用于第二 4 X 4塊的運動矢量信息丟失,且用于第一 4 X 4塊的運動矢量信息保留。此外,在這個實例中,盡管用于第三4 X 4塊及第四4 X 4塊的運動矢量可不同,但當存儲時,第三4X4塊及第四4X4塊共享相同運動矢量信息,且視頻譯碼器可將用于這些塊兩者的一個運動矢量存儲在行緩沖器中。這一個運動矢量表示用于第三4X4塊及第四4X4塊的單一運動矢量。在一些實例中,視頻譯碼器存儲用于第四塊的運動矢量信息作為用于第三塊及第四塊兩者的運動矢量,使得用于第二 4X4塊的運動矢量信息丟失,且用于第四4X 4塊的運動矢量信息保留。
[0059]在一些實例中,所存儲的運動矢量信息可從第一 4X4塊及第二 4X4塊或第三4 X 4塊及第四4 X 4塊導出,且所導出的運動矢量信息可不相同于所述兩個塊中的任一者。一般而言,視頻譯碼器可利用任何技術(shù)以縮減需要存儲在行緩沖器中的運動矢量信息,且上文所描述的技術(shù)(例如,存儲用于一個塊的運動矢量信息作為用于兩個塊的運動矢量信息,或?qū)С鲇糜趦蓚€塊的運動矢量信息)是出于說明的目的而被提供且不應被視為限制性的。
[0060]在以上實例中,視頻譯碼器存儲用于在包括當前塊的行上方的行內(nèi)的8X4區(qū)的運動矢量信息,其中每一 8X4區(qū)包括兩個4X4塊。在這種狀況下,可沒有必要使視頻譯碼器確定用于空間上相鄰于當前塊的塊當中的每一 4X4塊的運動矢量信息。舉例來說,有可能的是,用于空間上相鄰塊中的一些的運動矢量信息相同。在這個實例中,確定用于塊中僅一者的運動矢量信息可足夠確定哪些候選者可包括在候選視差矢量列表中。
[0061]換言之,視頻譯碼器可不確定用于空間上相鄰塊當中的4X4塊的運動矢量信息。更確切地,視頻譯碼器可確定用于8X4區(qū)的運動矢量信息(在這個實例中),其中8X4區(qū)包括各自空間上相鄰于當前塊的兩個4X4塊(例如,表示兩個4X4塊的單一運動矢量)。如果用于這個8X4區(qū)的運動矢量為視差運動矢量,那么這個視差運動矢量可為用以確定用于當前塊的視差矢量的候選視差矢量。在這個實例中,8X4區(qū)在大小方面大于4X4空間上相鄰塊中的每一者。此外,8X4區(qū)在大小方面可大于當前塊的大小。
[0062]此外,本發(fā)明所描述的技術(shù)可克服存在于一些視頻譯碼技術(shù)中的其它問題。舉例來說,用于空間及時間相鄰塊的視差運動矢量可包括水平分量及垂直分量兩者(例如,X坐標及y坐標兩者)。然而,視差矢量的一些實例僅包括水平分量。因此,在一些實例中,當使用空間或時間相鄰塊的視差運動矢量時,視頻譯碼器可將I坐標值設置到0,使得候選視差矢量僅包括X坐標。再次,并非所有視差矢量皆需要必要地僅包括水平分量,且可包括水平分量及垂直分量兩者。
[0063]相反地,如下文更詳細地所描述,當使用視差矢量作為視差運動矢量時,視差運動矢量可不包括y分量。然而,在一些實例中,可有益的是從位置不在與正被預測的塊確切地相同的y坐標處的塊來視圖間預測當前塊。換言之,從正被視圖間預測的塊僅水平地位移的在參考視圖中的參考圖片中的塊可未必為用于預測的最佳塊。在這種狀況下,可需要使視差運動矢量包括y坐標以識別在參考視圖中的參考圖片中的經(jīng)水平位移塊上方或下方的塊。在一些實例中,當從視差矢量導出視差運動矢量時,本發(fā)明所描述的技術(shù)允許視差運動矢量包括I坐標。
[0064]圖1為根據(jù)本發(fā)明所描述的一或多個實例的說明實例視頻編碼及解碼系統(tǒng)的框圖。舉例來說,系統(tǒng)10包括源裝置12及目的地裝置14。源裝置12及目的地裝置14經(jīng)配置以實施多視圖譯碼(MVC),其中源裝置12及目的地裝置14各自譯碼不同視圖的圖片。當一起查看不同視圖的圖片時,查看者感知包圍3D體積的圖像,而非約束于顯示器的2D區(qū)域的圖像。
[0065]系統(tǒng)10可根據(jù)不同視頻譯碼標準、專有標準或任何其它多視圖譯碼方式而操作。下文描述視頻譯碼標準的幾個實例且不應被視為限制性的。視頻譯碼標準包括ITU-TH.26UIS0/IEC MPEG-1Visual、ITU-T H.262或IS0/IEC MPEG_2Visual、ITU_T H.263、IS0/IEC MPEG-4Visual 及 ITU-T H.264(也被稱作 IS0/IEC MPEG-4AVC),包括其可縮放視頻譯碼(SVC)及多視圖視頻譯碼(MVC)擴展。MVC的最新聯(lián)合草稿被描述在2010年3月ITU-TRecommendat1n H.264 的“Advanced video coding for generic aud1visual services,,中。MVC的較新近的公開可得到聯(lián)合草稿被描述在2012年6月ITU-T Recommendat1nH.264 的 “Advanced video coding for generic aud1visual services,,中。到 2012 年I月為止已審核MVC的當前聯(lián)合草稿。
[0066]另外,存在由ITU-T視頻譯碼專家組(VCEG)及IS0/IEC動畫專家組(MPEG)的視頻譯碼聯(lián)合合作小組(JCT-VC)開發(fā)的新視頻譯碼標準,即,高效率視頻譯碼(HEVC)。到2013年3月6日為止,被稱作HEVC WD9的HEVC的新近工作草稿可得自http://phenix.1nt-evry.fr/jet/doc_end_user/documents/1l_Shanghai/wglI/JCTVC-K1003-vl0.zip。
[0067]僅出于說明的目的,用根據(jù)H.264及HEVC標準的實例來描述本發(fā)明所描述的技術(shù)。在一些實例中,本發(fā)明所描述的技術(shù)可適用于H.2643D-AVC標準、H.264MVC+Depth (H.246MVC+D)標準及3D-HEVC標準。然而,本發(fā)明所描述的技術(shù)不應被視為限于這些實例標準,且可擴展到用于多視圖譯碼或3D視頻譯碼的其它視頻譯碼標準,或可擴展到未必基于特定視頻譯碼標準的與多視圖譯碼或3D視頻譯碼有關的技術(shù)。舉例來說,本發(fā)明所描述的技術(shù)是由用于多視圖譯碼的視頻編碼器/解碼器(編碼解碼器)實施,其中多視圖譯碼包括兩個或兩個以上視圖的譯碼。
[0068]如圖1所示,系統(tǒng)10包括源裝置12,源裝置12產(chǎn)生待在稍后時間由目的地裝置14解碼的經(jīng)編碼視頻數(shù)據(jù)。源裝置12及目的地裝置14包含廣泛范圍的裝置中的任一者,包括諸如所謂“智能”手機的無線手機、所謂“智能”墊,或經(jīng)配備用于無線通信的其它此類無線裝置。源裝置12及目的地裝置14的額外實例包括但不限于數(shù)字電視、數(shù)字直播系統(tǒng)中的裝置、無線廣播系統(tǒng)中的裝置、個人數(shù)字助理(PDA)、便攜式計算機、臺式計算機、平板計算機、電子書閱讀器、數(shù)字相機、數(shù)字記錄裝置、數(shù)字媒體播放器、視頻游戲裝置、視頻游戲控制臺、蜂窩無線電話、衛(wèi)星無線電話、視頻電傳會議裝置及視頻流式處理裝置,或其類似者。
[0069]目的地裝置14可經(jīng)由鏈路16而接收待解碼的經(jīng)編碼視頻數(shù)據(jù)。鏈路16包含能夠?qū)⒔?jīng)編碼視頻數(shù)據(jù)從源裝置12移動至目的地裝置14的任何類型的媒體或裝置。在一個實例中,鏈路16包含通信媒體以使源裝置12能夠?qū)崟r地將經(jīng)編碼視頻數(shù)據(jù)直接傳輸?shù)侥康牡匮b置14。經(jīng)編碼視頻數(shù)據(jù)可根據(jù)諸如無線通信協(xié)議的通信標準予以調(diào)制,且傳輸?shù)侥康牡匮b置14。通信媒體可包含任何無線或有線通信媒體,諸如,射頻(RF)頻譜或一或多個物理傳輸線。通信媒體可形成基于數(shù)據(jù)包的網(wǎng)絡的部分,諸如,局域網(wǎng)、廣域網(wǎng),或諸如因特網(wǎng)的全局網(wǎng)絡。通信媒體可包括路由器、交換機、基站,或可有用于促進從源裝置12到目的地裝置14的通信的任何其它設備。
[0070]在一些實例中,將經(jīng)編碼數(shù)據(jù)從輸出接口 22輸出到存儲裝置33。相似地,由輸入接口 28從存儲裝置33訪問經(jīng)編碼數(shù)據(jù)。存儲裝置33的實例包括多種分布式或本地訪問式數(shù)據(jù)存儲媒體中的任一者,諸如,硬盤驅(qū)動器、藍光光盤、DVD、CD-ROM、閃速存儲器、易失性或非易失性存儲器,或用于存儲經(jīng)編碼視頻數(shù)據(jù)的任何其它合適數(shù)字存儲媒體。在另外實例中,存儲裝置33對應于保持由源裝置12產(chǎn)生的經(jīng)編碼視頻的文件服務器或另一中間存儲裝置。在這些實例中,目的地裝置14經(jīng)由流式處理或下載而從存儲裝置33訪問經(jīng)存儲視頻數(shù)據(jù)。文件服務器為能夠存儲經(jīng)編碼視頻數(shù)據(jù)且將那個經(jīng)編碼視頻數(shù)據(jù)傳輸?shù)侥康牡匮b置14的任何類型的服務器。實例文件服務器包括web服務器(例如,用于網(wǎng)站)、FTP服務器、網(wǎng)絡連接存儲(NAS)裝置,或本地磁盤驅(qū)動器。目的地裝置14經(jīng)由包括因特網(wǎng)連接的任何標準數(shù)據(jù)連接而訪問經(jīng)編碼視頻數(shù)據(jù)。這種連接可包括適合于訪問存儲在文件服務器上的經(jīng)編碼視頻數(shù)據(jù)的無線信道(例如,W1-Fi連接)、有線連接(例如,DSL、電纜調(diào)制解調(diào)器,等等)或這兩者的組合。經(jīng)編碼視頻數(shù)據(jù)從存儲裝置33的傳輸可為流式處理傳輸、下載傳輸或這兩者的組合。
[0071]本發(fā)明的技術(shù)未必限于無線應用或設置。所述技術(shù)可應用于視頻譯碼以支持多種多媒體應用中的任一者,諸如,空中電視廣播、有線電視傳輸、衛(wèi)星電視傳輸、流式處理視頻傳輸(例如,經(jīng)由因特網(wǎng))、供存儲在數(shù)據(jù)存儲媒體上的數(shù)字視頻的編碼、存儲在數(shù)據(jù)存儲媒體上的數(shù)字視頻的解碼,或其它應用。在一些實例中,系統(tǒng)10經(jīng)配置以支持單向或雙向視頻傳輸以支持諸如視頻流式處理、視頻播放、視頻廣播及/或視頻電話的應用。
[0072]在圖1的實例中,源裝置12包括視頻源18、視頻編碼器20及輸出接口 22。在一些狀況下,輸出接口 22包括調(diào)制器/解調(diào)器(調(diào)制解調(diào)器)及/或傳輸器。在源裝置12中,視頻源18包括諸如以下各者的源中的一或多者:視頻捕獲裝置(例如,攝像機)、含有經(jīng)先前捕獲視頻的視頻存檔、用以從視頻內(nèi)容提供者接收視頻的視頻饋送接口,及/或用于產(chǎn)生計算機圖形數(shù)據(jù)作為源視頻的計算機圖形系統(tǒng)、這些源的組合,或任何其它源。作為一個實例,如果視頻源18為攝像機,那么源裝置12及目的裝置14可形成所謂相機電話或視頻電話。然而,本發(fā)明所描述的技術(shù)大體上適用于視頻譯碼,且可應用于無線及/或有線應用。
[0073]視頻編碼器20編碼經(jīng)捕獲、經(jīng)預捕獲或經(jīng)計算機產(chǎn)生視頻。源裝置12的輸出接口22經(jīng)配置以將經(jīng)編碼視頻數(shù)據(jù)傳輸?shù)侥康牡匮b置14。經(jīng)編碼視頻數(shù)據(jù)也(或替代地)可存儲到存儲裝置33上以供稍后由目的地裝置14或其它裝置訪問以用于解碼及/或播放。
[0074]目的地裝置14包括輸入接口 28、視頻解碼器30及顯示裝置32。在一些狀況下,輸入接口 28包括接收器及/或調(diào)制解調(diào)器。目的地裝置14的輸入接口 28經(jīng)由鏈路16或從存儲裝置33接收經(jīng)編碼視頻數(shù)據(jù)。經(jīng)由鏈路16而傳達或提供在存儲裝置33上的經(jīng)編碼視頻數(shù)據(jù)包括由視頻編碼器20產(chǎn)生以供諸如視頻解碼器30的視頻解碼器使用以解碼所述視頻數(shù)據(jù)的多種語法元素。這些語法元素可與傳輸于通信媒體上、存儲在存儲媒體上或存儲在文件服務器上的經(jīng)編碼視頻數(shù)據(jù)一起被包括。
[0075]顯示裝置32可與目的地裝置14整合或在目的地裝置14外部。在一些實例中,目的地裝置14包括整合式顯示裝置且也經(jīng)配置以與外部顯示裝置界接。在其它實例中,目的地裝置14為顯示裝置。一般而言,顯示裝置32向用戶顯示經(jīng)解碼視頻數(shù)據(jù),且包含多種顯示裝置中的任一者,諸如,液晶顯示器(LCD)、等離子顯示器、有機發(fā)光二極管(OLED)顯示器,或另一類型的顯示裝置。
[0076]視頻編碼器20及視頻解碼器30可根據(jù)諸如上文所列出的實例的各種視頻譯碼標準而操作。然而,本發(fā)明所描述的技術(shù)不應被視為因而受到限制。出于描述的目的,視頻編碼器20及視頻解碼器30是在HEVC或H.264標準及這些標準的擴展的上下文中得以描述,且可適用于諸如H.2643D-AVC標準、H.264MVC+D標準及3D-HEVC標準的標準。然而,本發(fā)明的技術(shù)不限于任何特定譯碼標準。視頻壓縮標準的其它實例包括MPEG-2及ITU-T H.263。諸如被稱作0n2 VP6/VP7/VP8的技術(shù)的專有譯碼技術(shù)也可實施本文所描述的技術(shù)中的一或多者。
[0077]盡管圖1中未圖示,但在一些方面,視頻編碼器20及視頻解碼器30各自是與音頻編碼器及解碼器整合,且包括適當MUX-DEMUX單元或其它硬件及軟件以處置通用數(shù)據(jù)流或獨立數(shù)據(jù)流中的音頻及視頻兩者的編碼。適用時,在一些實例中,MUX-DEMUX單元符合ITUH.223多路復用器協(xié)議或諸如用戶數(shù)據(jù)報協(xié)議(UDP)的其它協(xié)議。
[0078]視頻編碼器20及視頻解碼器30各自可被實施為多種合適編碼器電路中的任一者,諸如,一或多個微處理器、數(shù)字信號處理器(DSP)、專用集成電路(ASIC)、現(xiàn)場可編程門陣列(FPGA)、離散邏輯、軟件、硬件、固件或其任何組合。當所述技術(shù)是部分地以軟件予以實施時,裝置可將用于所述軟件的指令存儲在合適非暫時性計算機可讀媒體中且使用一或多個處理器而以硬件來執(zhí)行所述指令以執(zhí)行本發(fā)明的技術(shù)。視頻編碼器20及視頻解碼器30中的每一者可包括在一或多個編碼器或解碼器中,所述一或多個編碼器或解碼器中的任一者可作為組合式編碼器/解碼器(CODEC)的部分而整合于相應裝置中。根據(jù)本發(fā)明所描述的技術(shù),視頻編碼器20經(jīng)配置以編碼視頻數(shù)據(jù)且視頻解碼器30經(jīng)配置以解碼視頻數(shù)據(jù)。
[0079]圖2為根據(jù)本發(fā)明所描述的一或多個實例的說明實例多視圖視頻譯碼(MVC)編碼或解碼順序的圖形圖。舉例來說,圖2所說明的解碼順序排列被稱作時間優(yōu)先譯碼。在圖2中,SO到S7各自是指多視圖視頻的不同視圖。TO到T8各自表示一個輸出時間例項。訪問單元可包括針對一個輸出時間例項的所有視圖的經(jīng)譯碼圖片。舉例來說,第一訪問單元包括針對時間例項TO的所有視圖SO到S7( S卩,圖片O到7),第二訪問單元包括針對時間例項Tl的所有視圖SO到S7( S卩,圖片8到15),等等。在這個實例中,圖片O到7處于相同時間例項(即,時間例項T0),圖片8到15處于相同時間例項(即,時間例項Tl)。具有相同時間例項的圖片通常被同時顯示,且正是相同時間例項的圖片內(nèi)的對象之間的水平視差及可能某一垂直視差使查看者感知包圍3D體積的圖像。
[0080]在圖2中,視圖中的每一者包括圖片集合。舉例來說,視圖SO包括圖片0、8、16、24、32、40、48、56 及 64 集合,視圖 SI 包括圖片 1、9、17、25、33、41、49、57 及 65 集合,等等。每一集合包括兩個圖片:一個圖片被稱作紋理視圖分量,且另一圖片被稱作深度視圖分量。視圖的圖片集合內(nèi)的紋理視圖分量及深度視圖分量可被視為彼此對應。舉例來說,視圖的圖片集合內(nèi)的紋理視圖分量被視為對應于視圖的圖片集合內(nèi)的深度視圖分量,且反之亦然(即,深度視圖分量對應于其在所述集合中的紋理視圖分量,且反之亦然)。如本發(fā)明所使用,對應于深度視圖分量的紋理視圖分量可被視為作為單一訪問單元的同一視圖的部分的紋理視圖分量及深度視圖分量。
[0081]紋理視圖分量包括所顯示的實際圖像內(nèi)容。舉例來說,紋理視圖分量可包括亮度(Y)及色度(Cb及Cr)分量。深度視圖分量可指示其對應紋理視圖分量中的像素的相對深度。作為一個實例,深度視圖分量可被視為僅包括亮度值的灰度圖像。換言之,深度視圖分量可不輸送任何圖像內(nèi)容,而是提供紋理視圖分量中的像素的相對深度的度量。
[0082]舉例來說,深度視圖分量中的純白色像素指示其在對應紋理視圖分量中的對應像素根據(jù)查看者的觀點而言較近,且深度視圖分量中的純黑色像素指示其在對應紋理視圖分量中的對應像素根據(jù)查看者的觀點而言較遠。介于黑色與白色之間的各種灰色陰影指示不同深度級別。舉例來說,深度視圖分量中的極灰色像素指示其在紋理視圖分量中的對應像素相比于深度視圖分量中的淺灰色像素較遠。因為僅需要灰度來識別像素的深度,所以深度視圖分量無需包括色度分量,這是因為深度視圖分量的色彩值可不提供任何目的。
[0083]僅使用亮度值(例如,強度值)以識別深度的深度視圖分量是出于說明的目的而被提供且不應被視為限制性的。一般而言,可利用任何技術(shù)以指示紋理視圖分量中的像素的相對深度。
[0084]根據(jù)MVC,紋理視圖分量是從在同一視圖中但在不同訪問單元中的紋理視圖分量予以幀間預測,或從在一或多個不同視圖中但在同一訪問單元中的紋理視圖分量予以幀間預測。紋理視圖分量可以視頻數(shù)據(jù)塊予以譯碼,所述塊被稱作“視頻塊”且在H.264上下文中通常被稱作“宏塊”。諸如HEVC標準的其它視頻譯碼標準可將視頻塊稱作樹塊或譯碼單元(CU)。
[0085]相同時間例項中的圖片中的視頻內(nèi)容可相似。然而,視頻內(nèi)容可在水平方向上稍微位移,且也可能地在垂直方向上稍微位移。舉例來說,如果塊在視圖SO的圖片O中定位在(x,y)處,那么在視圖SI的圖片I中定位在(x+x^,y)處的塊包括與在視圖SO的圖片O中定位在(x,y)處的塊相似的視頻內(nèi)容。在這個實例中,在視圖SO的圖片O中定位在(X,y)處的塊及在視圖SI的圖片I中定位在(x+x,,y)處的塊被視為對應塊。在一些實例中,用于在視圖SI的圖片I中定位在(x+x',y)處的塊的視差矢量是指其對應塊的位置。舉例來說,用于定位在(x+x',y)處的塊的視差矢量為(-X',0)。
[0086]在一些實例中,視頻編碼器20或視頻解碼器30利用第一視圖的圖片中的塊的視差矢量以識別第二視圖的圖片中的對應塊。視頻編碼器20或視頻解碼器30可利用用于第二視圖的圖片中的經(jīng)識別對應塊的運動信息作為第一視圖中的圖片中的塊的候選運動預測值列表中的候選運動矢量預測值。在一些實例中,視頻編碼器20或視頻解碼器30選擇這個候選運動預測值(例如,用于第二視圖的圖片中的塊的運動信息)作為用于第一視圖中的圖片中的塊的運動矢量預測值。在這個實例中,視頻編碼器20或視頻解碼器30根據(jù)所謂合并模式或高級運動矢量預測(AMVP)模式而基于運動矢量預測值來確定用于第一視圖中的圖片中的塊的運動矢量,所述模式兩者在下文中得以更詳細地描述。在一些實例中,視差矢量可用以將殘余塊定位在第二視圖中以預測第一視圖的當前殘余信息。
[0087]視頻編碼器20或視頻解碼器30經(jīng)配置以確定塊的視差矢量。在一些其它技術(shù)(即,除了根據(jù)本發(fā)明所描述的技術(shù)的技術(shù)以外的技術(shù))中,視頻編碼器20或視頻解碼器30首先導出用于紋理視圖分量的深度視圖分量,且接著基于所導出的深度視圖分量來確定用于紋理視圖分量中的塊的視差矢量。所得視差矢量被稱作平滑時間視圖預測(STV)視差矢量。此外在一些其它技術(shù)中,視頻編碼器20及視頻解碼器30譯碼向每一像素指派相同視差矢量的全局視差矢量(GDV)。
[0088]然而,導出深度視圖分量可復雜(即,處理密集型及時間密集型)。本發(fā)明所描述的技術(shù)允許視頻編碼器20及視頻解碼器30確定用于紋理視圖分量中的塊的視差矢量,而未必首先確定深度視圖分量。然而,即使視頻編碼器20及視頻解碼器30將首先導出深度視圖分量,視頻編碼器20及視頻解碼器30仍可利用本發(fā)明所描述的技術(shù)。在一些狀況下,本發(fā)明所描述的技術(shù)可用作深度圖譯碼工具。
[0089]此外,GDV可不為實際視差矢量的準確度量,且因此可不準確地指運動矢量被用作運動矢量預測值的塊。換言之,GDV所指的塊的運動矢量相比于實際視差矢量所指的塊的運動矢量為較不準確的運動矢量預測值。
[0090]圖3為說明實例MVC預測樣式的圖形圖。在圖3的實例中,說明八個視圖(具有視圖1D “S0”到“S7”),且針對每一視圖說明十二個時間位置(“T0”到“Til”)。S卩,圖3中的每一行對應于視圖,而每一列指示時間位置。
[0091]盡管MVC具有可由H.264/AVC解碼器或HEVC解碼器解碼的所謂基礎視圖且立體視圖對也可受到MVC支持,但MVC的優(yōu)勢為:其可支持使用兩個以上視圖作為3D視頻輸入且解碼由所述多個視圖表示的這個3D視頻的實例。具有MVC解碼器(例如,H.264/MVC解碼器或HEVC解碼器)的客戶端的轉(zhuǎn)譯器可期望具有多個視圖的3D視頻內(nèi)容。
[0092]在圖3中,視圖SO被視為基礎視圖,且視圖SI到S7被視為相依視圖?;A視圖包括未被視圖間預測的圖片?;A視圖中的圖片可相對于同一視圖中的其它圖片予以幀間預測。舉例來說,視圖SO中無任一圖片中是相對于視圖SI到S7中的任一者中的圖片予以幀間預測,但視圖SO中的一些圖片是相對于視圖SO中的其它圖片予以幀間預測。
[0093]相依視圖包括被視圖間預測的圖片。舉例來說,視圖SI到S7中的每一者包括相對于另一視圖中的圖片予以幀間預測的至少一個圖片。相依視圖中的圖片可相對于基礎視圖中的圖片予以幀間預測,或可相對于其它相依視圖中的圖片予以幀間預測。
[0094]包括基礎視圖及相依視圖兩者會確保不同類型的視頻解碼器可解碼圖片。舉例來說,一種類型的視頻解碼器未經(jīng)配置成處理多視圖譯碼。所述類型的視頻解碼器仍可解碼基礎視圖,而經(jīng)配置成處理多視圖譯碼的視頻解碼器可解碼視圖SO到S7中的每一者。
[0095]文檔m22570及m22571定義用于基于HEVC的3D譯碼(3D-HEVC)的一些技術(shù),且到2013年3月6日為止可用密碼而得自http://wgll.sc29.0rg/doc_end_user/documents/98_Geneva/wgll/m22570-v2-m22570-v2.zip ;http://wgl1.sc29.0rg/doc_end_user/documents/98_Geneva/wgll/m22571-v2-m22571-v2.zip。這些文檔所描述的工具中的一者為視圖間運動預測,其中基于同一訪問單元的其它視圖中的已經(jīng)譯碼的運動參數(shù)來預測或推斷(例如,在AMVP模式或合并模式下)相依視圖中的塊的運動參數(shù)(即,運動矢量及參考索引)。如更詳細地所描述,在m22570及m22571文檔所描述的技術(shù)中可存在某些限制及問題。本發(fā)明所描述的技術(shù)潛在地克服m22570及m22571文檔所描述的技術(shù)中的一些限制及問題。針對3D-HEVC的最新參考軟件描述可得自:Gerhard Tech、Krzysztof ffegner> Ying Chen> Sehoon Yea 的“3D-HEVC Test Model I ”,http://phenix.1t-sudparis.eu/jct2/doc_end_user/documents/l_Stockholm/wgll/JCT3V-A1005-vl.zip,2012年4月,瑞典斯德哥爾摩。針對3D-HEVC的最新參考軟件(即,HTM)可得自:https://hevc.hh1.fraunhofer.de/svn/svn_3DVCSoftware/trunk。
[0096]圖3中的圖片在圖3中被指示于每一行與每一列的相交處。具有MVC擴展的
H.264/AVC標準可使用術(shù)語幀以表示視頻的部分,而HEVC標準可使用術(shù)語圖片以表示視頻的部分。本發(fā)明互換式地使用術(shù)語圖片及幀。
[0097]圖3中的圖片是使用包括字母的陰影塊予以說明,所述字母指定對應圖片被幀內(nèi)譯碼(即,為I圖片),還是在一個方向上被幀間譯碼(即,作為P圖片)或在多個方向上被幀間譯碼(即,作為B圖片)。一般而言,預測是由箭頭指示,其中箭頭指向的圖片使用箭頭出發(fā)的圖片以供預測參考。舉例來說,從時間位置TO處的視圖SO的I圖片來預測時間位置TO處的視圖S2的P圖片。
[0098]如同單視圖視頻編碼一樣,可相對于不同時間位置處的圖片來預測性地編碼多視圖視頻譯碼視頻序列的圖片。舉例來說,視圖SO在時間位置Tl處的b圖片具有從視圖SO在時間位置TO處的I圖片指向所述b圖片的箭頭,從而指示從所述I圖片來預測所述b圖片。然而,另外,在多視圖視頻編碼的上下文中,圖片可被視圖間預測。即,視圖分量(例如,紋理視圖分量)可使用其它視圖中的視圖分量以供參考。舉例來說,在MVC中,實現(xiàn)視圖間預測,就好像另一視圖中的視圖分量為幀間預測參考一樣。潛在視圖間參考是在序列參數(shù)集(SPS)MVC擴展中被發(fā)信且可通過參考圖片列表構(gòu)造進程而修改,所述進程使能夠?qū)g預測參考或視圖間預測參考進行靈活排序。
[0099]圖3提供視圖間預測的各種實例。在圖3的實例中,視圖SI的圖片被說明為從視圖SI在不同時間位置處的圖片予以預測,又從視圖SO及S2在相同時間位置處的圖片予以視圖間預測。舉例來說,從視圖SI在時間位置TO及T2處的B圖片以及視圖SO及S2在時間位置Tl處的b圖片中的每一者來預測視圖SI在時間位置Tl處的b圖片。
[0100]在圖3的實例中,大寫字母“B”及小寫字母“b”用以指示圖片之間的不同層次關系,而非指示不同譯碼方法。一般而言,大寫字母“B”圖片在預測層次中相對高于小寫字母“b”幀。圖3也使用不同陰影級別來說明預測層次的變化,其中較大量的陰影(即,相對較暗)幀在預測層次中高于具有較少陰影(即,相對較亮)的那些幀。舉例來說,圖3中的所有I圖片是用完全陰影予以說明,而P圖片具有稍微較亮陰影,且B圖片(及小寫字母b圖片)相對于彼此具有各種陰影級別,但始終亮于P圖片及I圖片的陰影。
[0101]一般而言,預測層次是與視圖順序索引有關,這在于:在預測層次中相對較高的圖片應在解碼在所述層次中相對較低的圖片之前被解碼,使得在所述層次中相對較高的那些圖片可在解碼在所述層次中相對較低的圖片期間用作參考圖片。視圖順序索引為指示訪問單元中的視圖分量的解碼順序的索引。如H.264/AVC的Annex H(MVC^fE)中所指定,在序列參數(shù)集(SPS)MVC擴展中隱含視圖順序索引。在SPS中,對于每一索引i,對對應view_id進行發(fā)信。視圖分量的解碼應遵循視圖順序索引的遞增順序。如果所有視圖皆被呈現(xiàn),那么視圖順序索引是按從O到num_views_minus_l的連續(xù)順序。
[0102]如此,用作參考圖片的圖片是在解碼參考所述參考圖片予以編碼的圖片之前被解碼。視圖順序索引為指示訪問單元中的視圖分量的解碼順序的索引。對于每一視圖順序索引i,對對應View_id進行發(fā)信。視圖分量的解碼遵循視圖順序索引的遞增順序。如果所有視圖皆被呈現(xiàn),那么視圖順序索引集合可包含從O到視圖的完全數(shù)目減I的連續(xù)排序集合。
[0103]對于層次的相等級別處的某些圖片,相對于彼此的解碼順序可無關緊要。舉例來說,視圖SO在時間位置TO處的I圖片用作視圖S2在時間位置TO處的P圖片的參考圖片,視圖S2在時間位置TO處的P圖片又用作視圖S4在時間位置TO處的P圖片的參考圖片。因此,視圖SO在時間位置TO處的I圖片應在視圖S2在時間位置TO處的P圖片之前被解碼,視圖S2在時間位置TO處的P圖片應在視圖S4在時間位置TO處的P圖片之前被解碼。然而,在視圖SI與視圖S3之間,解碼順序無關緊要,這是因為視圖SI及視圖S3對于預測而言并不依賴于彼此,而是僅從在預測層次中較高的視圖予以預測。此外,視圖SI可在視圖S4之前被解碼,只要視圖SI在視圖SO及S2之后被解碼即可。
[0104]如此,可使用層次排序以描述視圖SO到S7。假設表示法SA > SB意謂視圖SA應在視圖SB之前被解碼。在圖2的實例中,在使用這種表示法的情況下,SO > S2 > S4 > S6> S7。此外,關于圖 2 的實例,SO > SI, S2 > SI, S2 > S3, S4 > S3, S4 > S5 且 S6 > S5。不違反這些要求的用于視圖的任何解碼順序是可能的。因此,許多不同解碼順序是可能的,其中僅具有某些限制。
[0105]在一些實例中,圖3可被視為說明紋理視圖分量。在用以在所謂合并模式或AMVP模式下實施視圖間運動預測的這些實例中,在一些狀況下,視頻編碼器20或視頻解碼器30利用用于由待幀間預測的當前塊的視差矢量所指的塊的運動矢量作為運動矢量預測值。本發(fā)明所描述的技術(shù)確定當前塊的視差矢量而未必需要導出深度視圖分量,且未必依賴于全局視差矢量。
[0106]視頻序列通常包括來自視圖(例如,圖2及3所說明的視圖)的一系列視頻圖片。圖片組(GOP)通常包含一系列一或多個視頻圖片。GOP可在GOP的標頭中、在GOP的一或多圖片的標頭中或在別處包括語法數(shù)據(jù),所述語法數(shù)據(jù)描述包括在GOP中的圖片的數(shù)目。每一圖片可包括描述用于相應圖片的編碼模式的圖片語法數(shù)據(jù)。視頻編碼器20通常對單獨視頻圖片內(nèi)的視頻塊進行操作,以便編碼視頻數(shù)據(jù)。視頻塊可對應于宏塊、對應于宏塊的分區(qū)且可能地對應于分區(qū)的子塊,如H.264標準中所定義,或?qū)谧畲笞g碼單元(LCU)、譯碼單元(CU)、預測單元(PU)或變換單元(TU),如HEVC標準中所定義。視頻塊可具有固定或變化大小,且在大小方面可根據(jù)所指定譯碼標準而不同。每一視頻圖片可包括多個切片。每一切片可包括多個塊。
[0107]作為實例,ITU-T H.264標準支持以各種塊大小的幀內(nèi)預測,諸如,針對亮度分量的16乘16、8乘8或4乘4,以及針對色度分量的8X8,又支持以各種塊大小的幀間預測,諸如,針對亮度分量的16X16、16X8、8X16、8X8、8X4、4X8及4X4,以及針對色度分量的對應縮放大小。在本發(fā)明中,“NXN”與“N乘N”可互換式地用以指塊在垂直維度及水平維度方面的像素尺寸(例如,16X16像素或16乘16像素)。一般而言,16X16塊將在垂直方向上具有16個像素(y = 16)且在水平方向上具有16個像素(x = 16)。同樣地,NXN塊通常在垂直方向上具有N個像素且在水平方向上具有N個像素,其中N表示非負整數(shù)值。塊中的像素可以行及列而排列。此外,塊未必需要在水平方向上與在垂直方向上具有相同數(shù)目個像素。舉例來說,塊可包含NXM像素,其中M未必等于N。
[0108]當塊被幀內(nèi)模式編碼(例如,幀內(nèi)預測)時,塊可包括描述用于塊的幀內(nèi)預測模式的數(shù)據(jù)。作為另一實例,當塊被幀間模式編碼(例如,幀間預測)時,塊可包括定義用于塊的運動矢量的信息。這個運動矢量是指同一視圖中的參考圖片,或是指另一視圖中的參考圖片。舉例來說,定義用于塊的運動矢量的數(shù)據(jù)描述運動矢量的水平分量、運動矢量的垂直分量、用于運動矢量的分辨率(例如,四分之一像素精度或八分之一像素精度)。另外,當塊被幀間預測時,塊可包括諸如運動矢量所指向的參考圖片的參考索引信息,及/或用于運動矢量的參考圖片列表(例如,RefPicListO或RefPicListl)。
[0109]JCT-VC正致力于開發(fā)HEVC標準。HEVC標準化努力是基于視頻譯碼裝置的演進模型,其被稱作HEVC測試模型(HM)。HM推測視頻譯碼裝置相對于根據(jù)(例如,ITU-T H.264/AVC)的現(xiàn)有裝置的若干額外能力。舉例來說,H.264提供9個幀內(nèi)預測編碼模式,而HM可提供多達33個方向性/角度幀內(nèi)預測編碼模式加上DC及平面模式。
[0110]HM的工作模型描述出可將視頻圖片劃分成包括亮度樣本及色度樣本兩者的樹塊或最大譯碼單元(LCU)序列。樹塊具有與H.264標準的宏塊的目的相似的目的。切片包括按譯碼順序的數(shù)個連續(xù)樹塊。視頻圖片可分割成一或多個切片。每一樹塊可根據(jù)四叉樹而分裂成若干譯碼單元(CU)。舉例來說,作為四叉樹的根節(jié)點的樹塊可分裂成四個子節(jié)點,且每一子節(jié)點又可為父節(jié)點且分裂成另外四個子節(jié)點。作為四叉樹的葉節(jié)點的最后未分裂子節(jié)點包含譯碼節(jié)點(即,經(jīng)譯碼視頻塊)。與經(jīng)譯碼位流相關聯(lián)的語法數(shù)據(jù)可定義樹塊可被分裂的最大次數(shù),且也可定義譯碼節(jié)點的最小大小。在一些實例中,樹塊被稱作LCU。
[0111]CU包括譯碼節(jié)點以及與譯碼節(jié)點相關聯(lián)的預測單元(PU)及變換單元(TU)。CU的大小對應于譯碼節(jié)點的大小且可為正方形形狀。在一些實例中,⑶的大小是在從8X8像素直到最大值為64X64像素或更大的樹塊的大小的范圍內(nèi)。在一些實例中,每一 CU含有一或多個I3U及一或多個TU。舉例來說,與CU相關聯(lián)的語法數(shù)據(jù)描述CU成為一或多個I3U的分割。分割模式在CU被跳過或直接模式編碼、幀內(nèi)預測模式編碼還是幀間預測模式編碼之間不同。在一些實例中,PU可經(jīng)分割為非正方形形狀。舉例來說,與CU相關聯(lián)的語法數(shù)據(jù)也描述根據(jù)四叉樹而進行的CU成為一或多個TU的分割。TU可為正方形或非正方形形狀。
[0112]HEVC標準允許根據(jù)TU的變換,所述變換對于不同⑶可不同。TU通常是基于針對經(jīng)分割LCU而定義的給定CU內(nèi)的PU的大小被設定大小,但并非始終為這種狀況。TU的大小通常是與PU的大小相同或小于的大小。在一些實例中,使用被稱作“殘余四叉樹”(RQT)的四叉樹結(jié)構(gòu)將對應于CU的殘余樣本再分成較小單元。RQT的葉節(jié)點可被稱作變換單元(TU)。在一些實例中,變換與TU相關聯(lián)的像素差值以產(chǎn)生變換系數(shù),其被量化。
[0113]一般而言,包括與預測進程有關的數(shù)據(jù)。舉例來說,當被幀內(nèi)模式編碼時,PU包括描述用于I3U的幀內(nèi)預測模式的數(shù)據(jù)。作為另一實例,當PU被幀間模式編碼時,PU包括定義用于PU的運動矢量的數(shù)據(jù)。舉例來說,定義用于的運動矢量的數(shù)據(jù)描述運動矢量的水平分量、運動矢量的垂直分量、用于運動矢量的分辨率(例如,四分之一像素精度或八分之一像素精度)、運動矢量所指向的參考圖片,及/或用于運動矢量的參考圖片列表(例如,RefListO 或 RefPicListl)。
[0114]一般而言,TU用于變換進程及量化進程。具有一或多個的給定⑶也可包括一或多個變換單元(TU)。在預測之后,視頻編碼器20可計算對應于PU的殘余值。所述殘余值包含可變換成變換系數(shù)、被量化且使用TU予以掃描以產(chǎn)生串行化變換系數(shù)以供熵譯碼的像素差值。本發(fā)明通常使用術(shù)語“視頻塊”以指⑶的譯碼節(jié)點。在一些特定狀況下,本發(fā)明也可使用術(shù)語“視頻塊”以指可包括譯碼節(jié)點以及PU及TU的樹塊,S卩,LCU或CU。
[0115]作為實例,HM支持以各種I3U大小的預測。假定特定⑶的大小為2NX2N,那么HM支持以2NX2N或NXN的PU大小的幀內(nèi)預測,及以2NX2N、2NXN、NX2N或NXN的對稱I3U大小的幀間預測。HM也支持針對以2N X nU、2N X nD、nL X 2N及nR X 2N的I3U大小的幀間預測的非對稱分割。在非對稱分割中,CU的一個方向未被分割,而另一方向分割成25%及75%。對應于25%分區(qū)的⑶的部分是由“η”后跟著“上”、“下”、“左”或“右”的指示進行指示。因此,舉例來說,“2NXnU”是指被水平地分割的2ΝΧ2Ν⑶,其中2NX0.5N I3U是在頂部且2NX 1.5N PU是在底部。
[0116]在H.264標準或HEVC標準中,在幀內(nèi)預測性或幀間預測性譯碼之后,視頻編碼器20在HEVC中或在H.264中針對宏塊來計算用于⑶的TU的殘余數(shù)據(jù)。I3U包含在空間域(也被稱作像素域)中的像素數(shù)據(jù),且在將變換(例如,離散余弦變換(DCT))、整數(shù)變換、小波變換或概念上相似變換應用于殘余視頻數(shù)據(jù)之后,TU包含在變換域中的系數(shù)。殘余數(shù)據(jù)可對應于未經(jīng)編碼圖片的像素與在HEVC中對應于I3U的預測值或在H.264中針對宏塊的預測值之間的像素差。
[0117]在進行任何變換以產(chǎn)生變換系數(shù)之后,在一些實例中,視頻編碼器20執(zhí)行變換系數(shù)的量化。量化通常是指如下進程:在所述進程中,量化變換系數(shù)以可能地縮減用以表示所述系數(shù)的數(shù)據(jù)的量,從而提供進一步壓縮。所述量化進程縮減與所述系數(shù)中的一些或全部相關聯(lián)的位深度。舉例來說,在量化期間將η位值降值舍位至m位值,其中η大于m。
[0118]在一些實例中,視頻編碼器20利用預定義掃描順序以掃描經(jīng)量化變換系數(shù)以產(chǎn)生可被熵編碼的串行化矢量。在其它實例中,視頻編碼器20執(zhí)行自適應掃描。在掃描經(jīng)量化變換系數(shù)以形成一維矢量之后,在一些實例中,視頻編碼器20根據(jù)上下文自適應可變長度譯碼(CAVLC)、上下文自適應二進制算術(shù)譯碼(CABAC)、基于語法的上下文自適應二進制算術(shù)譯碼(SBAC)、概率區(qū)間分割熵(PIPE)譯碼或另一熵編碼方法(作為幾個實例)來熵編碼一維矢量。視頻編碼器20也熵編碼與經(jīng)編碼視頻數(shù)據(jù)相關聯(lián)的語法元素以供視頻解碼器30用于解碼所述視頻數(shù)據(jù)。
[0119]為了執(zhí)行CABAC,視頻編碼器20可將上下文模型內(nèi)的上下文指派給待傳輸符號。所述上下文可與(例如)所述符號的相鄰值是否為非零有關。為了執(zhí)行CAVLC,視頻編碼器20可選擇用于待傳輸符號的可變長度碼。VLC中的碼字可經(jīng)構(gòu)造成使得相對較短代碼對應于較可能的符號,而較長代碼對應于較不可能的符號。如此,VLC的使用相比于(例如)針對每一待傳輸符號使用相等長度碼字可達成位節(jié)省。概率確定可基于指派給所述符號的上下文。
[0120]如上文所描述,在MVC中,視頻編碼器20及視頻解碼器30參考第二視圖的參考圖片內(nèi)的參考塊來幀間預測第一視圖的當前圖片內(nèi)的當前塊。此幀間預測被稱作視圖間預測。當前圖片及參考圖片的時間例項在相應視圖中可相同。在這個實例中,視頻編碼器20或視頻解碼器30執(zhí)行跨越同一訪問單元中的圖片的視圖間預測,其中所述同一訪問單元中的圖片處于相同時間例項。
[0121]為了對當前塊執(zhí)行視圖間預測,視頻編碼器20或視頻解碼器30構(gòu)造識別可用于幀間預測的參考圖片(包括可用于視圖間預測的圖片)的參考圖片列表。幀間預測是指相對于參考圖片中的參考塊來預測當前圖片中的當前塊。視圖間預測為幀間預測子集,這在于:在視圖間預測中,參考圖片是在不同于當前圖片的視圖的視圖中。因此,對于視圖間預測,視頻編碼器20及視頻解碼器30在經(jīng)構(gòu)造參考圖片列表中的一者或兩者中添加另一視圖中的參考圖片??稍诮?jīng)構(gòu)造參考圖片列表內(nèi)的任何位置處識別另一視圖中的參考圖片。如本發(fā)明所使用,當視頻編碼器20正對塊執(zhí)行幀間預測(例如,幀間預測塊)時,視頻編碼器20可被視為幀間預測編碼塊。當視頻解碼器30正對塊執(zhí)行幀間預測(例如,幀間預測塊)時,視頻解碼器30可被視為幀間預測解碼塊。
[0122]在幀間預測中,用于當前塊的運動矢量識別待用作用于幀間預測當前塊的參考塊的塊的位置,且通向經(jīng)構(gòu)造參考圖片列表中的一者或兩者的參考索引識別包括用作用于幀間預測當前塊的參考塊的塊的參考圖片。在MVC中,存在至少兩種類型的運動矢量。時間運動矢量是指時間參考圖片,其中時間參考圖片為與包括待預測塊的圖片相同的視圖內(nèi)的圖片,且其中時間參考圖片是早于或遲于包括待預測塊的圖片被顯示。視差運動矢量是指不同于包括待預測塊的圖片的視圖的視圖中的參考圖片。在本發(fā)明中,術(shù)語“運動矢量”可指時間運動矢量或視差運動矢量,或僅是指時間運動矢量或視差運動矢量,這在所述描述的上下文中將清楚可見。
[0123]當視頻編碼器20或視頻解碼器30利用時間運動矢量時,視頻編碼器20及視頻解碼器30被視為實施運動補償預測(MCP)。當視頻編碼器20或視頻解碼器30利用視差運動矢量時,視頻編碼器20及視頻解碼器30被視為實施視差補償預測(DCP)或視圖間預測。
[0124]為了縮減需要被發(fā)信的視頻數(shù)據(jù)的量,沒有必要使視頻編碼器20在每一實例中對用于待預測的當前塊的運動矢量進行發(fā)信。更確切地,視頻解碼器30基于運動矢量預測值來確定用于當前塊的運動矢量。運動矢量預測值為用于不同于當前塊的塊的運動矢量。不同于當前塊的塊可為空間上相鄰于當前塊的塊、時間上相鄰于當前塊的塊,或不同于當前塊的視圖的視圖中的對應塊。
[0125]視頻解碼器30利用運動矢量預測值以根據(jù)合并模式或高級運動矢量預測(AMVP)模式來確定當前塊的運動矢量。在合并模式及AMVP模式兩者下,在一些實例中,視頻解碼器30實施隱式技術(shù)以構(gòu)造候選運動矢量預測值列表。隱式技術(shù)意謂視頻解碼器30未必需要從視頻編碼器20接收以供構(gòu)造候選運動矢量預測值列表的方式指示視頻解碼器30的指令。在其它實例中,有可能使視頻編碼器20以供構(gòu)造候選運動矢量預測值列表的方式指示視頻解碼器30。出于說明的目的,用實例來描述技術(shù),在所述實例中,視頻解碼器30實施隱式技術(shù)以構(gòu)造候選運動矢量預測值列表。
[0126]舉例來說,視頻解碼器30確定空間上相鄰于當前塊的一或多個塊的運動矢量,且將這些運動矢量作為候選運動矢量預測值包括在候選運動矢量預測值列表中。在一些實例中,視頻解碼器30確定時間上相鄰于當前塊的一或多個塊的運動矢量,且將這些運動矢量作為候選運動矢量預測值包括在候選運動矢量預測值列表中。時間上相鄰塊是指與包括當前塊的圖片相同的視圖中的圖片中的塊,所述塊在所述圖片中包圍與當前塊在其圖片中所包圍的區(qū)域大致相同的區(qū)域。時間上相鄰塊可被稱作同置塊。
[0127]在一些實例中,視頻解碼器30基于時間上相鄰塊的圖片順序計數(shù)(POC)值及當前塊的POC值來縮放用于時間上相鄰塊的運動矢量。POC值指示圖片的顯示或輸出順序。
[0128]此外,在一些實例中,視頻解碼器30確定由當前塊的視差矢量所指的塊的運動矢量。由當前塊的視差矢量所指的塊是在不同于當前塊的視圖的視圖中。由視差矢量所指的塊被稱作對應于當前塊的塊,這是因為對應塊及當前塊包括相似視頻內(nèi)容,但根據(jù)不同視圖的觀點而言。在這些實例中,視頻解碼器30將用于對應塊的運動矢量作為候選運動矢量預測值包括在候選運動矢量預測值列表中。
[0129]在一些實例中,視頻編碼器20將索引值發(fā)信至候選運動矢量預測值列表中,且視頻解碼器30基于通向候選運動矢量預測值列表的索引值來選擇候選運動矢量預測值列表中識別的運動矢量預測值。在合并模式下,視頻解碼器30將選定運動矢量預測值設置為用于當前塊的運動矢量。此外,在合并模式下,視頻解碼器30繼承選定運動矢量預測值所指的參考圖片。舉例來說,運動矢量預測值為用于不同于當前塊的塊的運動矢量。用于不同于當前塊的塊的運動矢量是指由通向第一參考圖片列表(RefPicListO)或第二參考圖片列表(RefPicListl)中的一者的索引值識別的參考圖片。在合并模式下,視頻解碼器30繼承通向參考圖片列表的參考索引作為通向用于當前塊的參考圖片列表的參考索引。在一些實例中,參考索引可需要在其可被繼承之前基于圖片順序計數(shù)(POC)值予以轉(zhuǎn)換。如此,視頻解碼器30確定用于當前塊的運動矢量,及用以在合并模式下幀間預測當前塊的參考圖片。
[0130]在AMVP模式下,除了對通向候選運動矢量預測值列表的索引值進行發(fā)信以外,視頻編碼器20也對由所述索引值識別的運動矢量預測值與當前塊的實際運動矢量之間的殘差進行發(fā)信。視頻解碼器30基于通向候選運動矢量預測值列表的索引值來選擇運動矢量預測值,且加上或減去由所述索引值識別的運動矢量預測值與當前塊的實際運動矢量之間的經(jīng)發(fā)信殘差以確定用于當前塊的運動矢量。
[0131]在一些實例中,在AMVP模式下,視頻編碼器20也對通向RefPicListO或RefPicListl的參考索引進行發(fā)信,所述參考索引識別將由視頻解碼器30用于幀間預測當前塊的參考圖片。換言之,不同于合并模式,在AMVP模式下,視頻解碼器30不繼承參考索弓丨,而是接收參考索引。
[0132]圖4為說明運動矢量可為候選運動矢量預測值的空間上相鄰塊的概念圖。在圖4中,待幀間預測的當前塊為預測單元(PU)34。圖4說明空間上相鄰于PU 34的塊A0、Al、B0、B1及B2(S卩,與PU 34相同的圖片內(nèi)的塊)。在一些實例中,視頻解碼器30確定用于A0、A1、B0、B1及B2的運動矢量,且在可能縮放之后包括這些運動矢量中的一或多者(如果可得到)作為用于PU 34的候選運動矢量預測值列表中的候選運動矢量預測值。
[0133]塊A0、A1、B0、B1及B2為空間上相鄰于I3U 34的塊的實例且不應被視為空間上相鄰于34的塊的僅有實例。舉例來說,空間上相鄰于34的塊可定位在不同于塊A0、A1、B0、B1及B2的位置處。塊A0、A1、B0、B1及B2的位置被定義如下。
[0134]在圖4中,亮度位置(xP,yP)指定相對于包括PU 34的當前圖片的左頂部樣本的PU 34的左頂部亮度樣本。因此,相對于當前圖片的左頂部樣本的當前I3U “N”的左頂部亮度樣本為(xN,yN)。變量nPSW及nPSH表示針對亮度的PU 34的寬度及高度。在這個實例中,(xN,yN)(其中 N 是由 A0、A1、B0、B1 或 B2 替換)分別被定義為(xP_l,yP+nPSH)、(xP_l,yP+nPSH-1)、(xP+nPSff, yP_l)、(xP+nPSff-1, yP-Ι)或(xP-Ι, yP_l)。如此,視頻解碼器 30確定空間上相鄰塊的位置。視頻解碼器30將在這些塊中的一或多者的可能縮放之后的運動矢量包括在用于確定PU 34的運動矢量的候選運動矢量預測值列表中。
[0135]下文描述視頻解碼器30確定用于時間上相鄰塊的運動矢量的方式。如下文所描述,在一些實例中,時間上相鄰塊駐留于與包括待幀間預測的當前塊的圖片相同的視圖中的圖片中。然而,時間上相鄰塊未必需要駐留于與包括待幀間預測的當前塊的圖片相同的視圖中的圖片中。在一些實例中,時間上相鄰塊可駐留于不同于包括待幀間預測的當前塊的圖片的視圖的視圖中的圖片中。舉例來說,包括時間上相鄰塊的圖片可由到用于包括待中貞間預測的當前塊的圖片的參考圖片列表中的一者中的collocated_ref_idx索弓I值識別。collocated_ref_idx索弓I值可識別與包括待巾貞間預測的塊的圖片相同的視圖中的圖片,或與包括待幀間預測的塊的圖片不同的視圖中的圖片。在這些實例中的任一者中,由C0ll0Cated_ref_idX索引值識別的圖片可包括“時間上相鄰塊”,如所述短語在本發(fā)明中所使用。用于為候選運動矢量預測值的時間上相鄰塊的運動矢量被稱作時間運動矢量預測值(TMVP) ο
[0136]為了確定用于時間上相鄰塊的運動矢量,視頻解碼器30可確定哪一圖片包括時間上相鄰塊。包括時間上相鄰塊的圖片被稱作同置圖片。如果待幀間預測的塊(例如,當前塊)是在當前圖片的切片內(nèi),其中所述切片為B切片(例如,相對于RefPicListO中的參考圖片予以預測、相對于RefPicListl中的參考圖片予以預測,或相對于兩個參考圖片予以預測,其中在RefPicListO中識別一個參考圖片且在RefPicListl中識別另一參考圖片),那么視頻編碼器20對指示在RefPicListO中還是在RefPicListl中識別同置圖片的標志(例如,collocated_from_10_flag)進行發(fā)信。舉例來說,如果標志值為1,那么視頻解碼器30確定在RefPicListO中識別同置圖片,且如果標志值為0,那么視頻解碼器30確定在RefPicListl中識別同置圖片。
[0137]在一些實例中,對于B切片,視頻解碼器30從經(jīng)構(gòu)造RefPicListO及RefPicListl構(gòu)造組合式參考圖片列表(RefPicListC)。如果視頻譯碼器對參考圖片列表修改語法進行發(fā)信,那么視頻解碼器30修改RefPicListC。在視頻解碼器30構(gòu)造RefPicListC的實例中,視頻編碼器20可不對collocated_from_10_flag進行發(fā)信。在這些實例中,視頻解碼器30確定在RefPicListC中識別同置圖片。
[0138]如果待幀間預測的塊是在當前圖片的切片內(nèi),其中所述切片為P切片(例如,相對于RefPicListO中的參考圖片予以預測),那么視頻編碼器20可不對標志進行發(fā)信。在這種狀況下,視頻解碼器30確定同置圖片定位在RefPicListO中,這是因為當前塊(S卩,待幀間預測的塊)是在P切片內(nèi)。
[0139]視頻解碼器30也可接收通向經(jīng)確定參考圖片列表的索引。舉例來說,視頻編碼器20在包括待巾貞間預測的當前塊的切片的切片標頭中對Co I located_ref_i dx語法進行發(fā)信。如上文所描述,collocatecLrefjdx語法提供通向經(jīng)確定參考圖片列表的索引值。視頻解碼器30基于通向參考圖片列表的索引值來確定包括時間上相鄰塊的同置圖片。
[0140]視頻解碼器30接著識別經(jīng)確定同置圖片中的同置塊。舉例來說,視頻解碼器30基于當前塊在其圖片中的位置來識別同置塊在同置圖片中的位置。舉例來說,假定當前塊為預測單元(PU)。在這種狀況下,視頻解碼器30基于PU在其圖片中的位置來確定譯碼單元(CU)在同置圖片中的位置。同置圖片中的此CU被稱作同置塊。
[0141 ] 在一些實例中,視頻解碼器30確定用于同置塊內(nèi)的右底部I3U的運動矢量。在一些實例中,視頻解碼器30確定用于覆蓋同置塊的經(jīng)修改中間位置的的運動矢量。同置塊的經(jīng)修改中間位置可指從同置塊的中心點朝向同置塊的右底部拐角延伸的塊。換言之,定位在同置塊的經(jīng)修改中間位置處的塊的左頂部拐角可為同置塊的中心,且定位在同置塊的經(jīng)修改中間位置處的塊的右底部拐角可相對于同置塊的中心在向下且向右的方向上延伸。在一些實例中,視頻解碼器30基于同置圖片及包括當前塊的圖片的POC值來縮放這些經(jīng)識別運動矢量。
[0142]HEVC標準進一步定義哪些圖片可為同置圖片。換言之,HEVC標準進一步定義視頻解碼器30可利用哪些圖片以從時間上相鄰塊確定候選運動矢量預測值。舉例來說,視頻編碼器20對圖片參數(shù)集(PPS)中的enable_temporal_mvp_flag進行發(fā)信。當包括當前塊的圖片的時間識別值(temporal_id)為O且用于所述圖片的語法元素是指PPS (其中enable_temporal_mvp_flag為O)時,視頻解碼器30可將存儲在視頻解碼器30的經(jīng)解碼圖片緩沖器(DPB)中的所有參考圖片設置為“未用于時間運動矢量預測”。在這種狀況下,視頻解碼器30可不利用按解碼順序早于包括當前塊的圖片的任何圖片作為用于包括當前塊的圖片及用于按解碼順序在包括當前塊的圖片之后的圖片的同置圖片。
[0143]圖5為說明供基于視差矢量來確定候選運動矢量預測值的方式的概念圖。圖5所描述的實例未必根據(jù)本發(fā)明所描述的技術(shù),其中在本發(fā)明所描述的技術(shù)中,視頻解碼器30可無需導出深度圖以確定視差矢量。圖5說明當前視圖的當前圖片36。當前圖片36包括當前塊38,當前塊38為待幀間預測的塊。為了確定用于當前塊38的候選運動矢量預測值,在圖5的實例中,視頻解碼器30確定用于當前塊38的視差矢量。
[0144]為了確定用于塊38的視差矢量,視頻解碼器30確定當前塊38在當前圖片36中的位置40A。視頻解碼器30確定深度圖42中的深度值41。舉例來說,視頻解碼器30可能已必須導出當前圖片36的深度圖42,且深度值41指示定位在當前塊38的位置40A處的像素的相對深度。
[0145]在圖5的實例中,視頻解碼器30確定視差矢量46。舉例來說,視頻解碼器30可確定當前塊38應被水平地位移的量,使得查看者在由深度值41定義的深度處感知塊38的視頻內(nèi)容。視差矢量46可指示水平位移的經(jīng)確定量,且因此可基于深度值41予以確定。視差矢量46為平滑時間視圖預測(STV)視差矢量的實例。
[0146]如所說明,視差矢量46是指參考視圖中的當前圖片44的參考樣本塊48。參考樣本塊48可包括與當前塊38的視頻內(nèi)容相似的視頻內(nèi)容,參考樣本塊48的位置在參考視圖中的當前圖片44中相對于當前塊38在當前視圖中的當前圖片36中的位置水平地位移。參考塊48的運動矢量50是指參考視圖的參考圖片54的參考塊52。
[0147]運動矢量50為用于當前塊38的運動矢量的運動矢量預測值的實例。舉例來說,視頻解碼器30將運動矢量50包括在用于當前塊38的候選運動矢量預測值列表中。
[0148]在一些實例中,視頻解碼器30也包括視差矢量46作為用于當前塊38的候選運動矢量預測值。舉例來說,圖5說明參考塊48被幀間預測。然而,出于說明的目的,假定參考塊48被幀內(nèi)預測,而未被幀間預測。在這種狀況下,不存在可由視頻解碼器30用作運動矢量預測值的用于參考塊48的運動矢量。因此,在這個實例中,視頻解碼器30包括視差矢量46作為候選運動矢量預測值列表中的運動矢量預測值。
[0149]可存在運動矢量50需要滿足以包括為候選運動矢量預測值的某些要求。作為一個實例,視頻解碼器30確定僅在運動矢量50所指的圖片(即,參考視圖中的圖片54)的時間例項與當前塊38的一個參考圖片(諸如,圖片60)的時間例項相同(即,圖片54及圖片60屬于同一訪問單元)時才將運動矢量50包括在候選運動矢量預測值列表中。
[0150]在圖5所說明的實例中,視頻解碼器30實施合并模式。舉例來說,視頻編碼器20對通向視頻解碼器30所構(gòu)造的候選運動矢量預測值列表的索引進行發(fā)信。在圖5中,假定通向候選運動矢量預測值列表的索引識別運動矢量50。在這種狀況下,對于合并模式,視頻解碼器30選擇運動矢量50,且將運動矢量50設置為用于塊38的運動矢量(即,運動矢量56)。
[0151]此外,在這個實例中,視頻解碼器30可能已繼承識別參考視圖中的參考圖片54的通向參考圖片列表的參考索引。在這個實例中,通向視頻解碼器30針對當前視圖的圖片36所構(gòu)造的參考圖片列表的經(jīng)繼承參考索引可識別當前視圖中的參考圖片60。當前視圖中的參考圖片60包括參考塊58。視頻解碼器30利用參考塊58以幀間預測當前塊38。
[0152]關于圖5所描述的AMVP模式技術(shù)及合并模式技術(shù)可被概述如下。舉例來說,AMVP模式及合并模式兩者皆允許視圖間運動矢量預測值包括在候選運動矢量預測值列表中。視頻解碼器30確定當前塊的中間樣本的深度估計,且基于經(jīng)確定深度估計來確定視差矢量及參考視圖中的參考塊。
[0153]在AMVP模式下,如果通向用于當前塊的RefPicListO及RefPicListl中的一者或兩者的參考索引是指視圖間參考圖片,那么視頻解碼器30將視圖間運動矢量預測值設置為等于經(jīng)確定視差矢量。此外,如果通向用于由視差矢量所指的塊的RefPicListO及RefPicListl中的一者或兩者的參考索引是指時間參考圖片(即,與包括由視差矢量所指的塊的圖片相同的視圖中的圖片),且如果時間參考圖片的時間例項與將由視頻解碼器30用于幀間預測的參考圖片的時間例項相同,那么視頻解碼器30利用用于參考塊的運動矢量作為運動矢量預測值。在所有其它狀況下,視頻解碼器30可不利用來自不同視圖的運動矢量。
[0154]在合并模式(或跳過模式)下,視頻解碼器30利用針對圖片36而構(gòu)造的參考圖片列表中的前兩個索引。對于參考索引0,視頻解碼器30確定候選運動矢量預測值,其確定方式是與上文關于AMVP模式所描述的方式相同(即,參考索引O中識別的圖片為參考圖片44)。如果視頻解碼器30確定用于參考索引O中識別的圖片的候選運動矢量預測值,那么視頻解碼器30包括運動矢量50作為候選運動矢量且繼承運動矢量50的參考索引(即,識別圖片54的參考索引)。
[0155]如果視頻解碼器30未在用參考索引O來識別圖片的情況下確定候選運動矢量預測值,那么視頻解碼器30在合并模式下針對用參考索引I識別的圖片重復以上步驟。如果視頻解碼器30未在用參考索引I來識別圖片的情況下確定候選運動矢量預測值,那么視頻解碼器30不包括用于來自候選運動矢量預測值列表中的參考視圖的塊的運動矢量。
[0156]在一些實例中,視頻解碼器30以由參考索引I識別的圖片開始,且接著繼續(xù)進行到由參考索引O識別的圖片。這種情形可引起視頻解碼器30實施的時間預測多于視圖間運動預測。
[0157]在圖5所描述的實例中,視頻解碼器30首先需要導出深度圖42以確定視差矢量46。存在視頻解碼器30導出深度圖42的各種方式。作為一個實例,視頻解碼器30使用基礎視圖中的圖片的時間運動矢量,及對應于基礎視圖中的圖片的基礎視圖中的深度圖,以確定/更新用于相依視圖中的圖片的深度圖。作為另一實例,視頻解碼器30使用用于相依視圖中及基礎視圖中的圖片的時間運動矢量,以及用于相依視圖中的圖片的視差運動矢量,以確定/更新用于相依視圖中的圖片的深度圖。可存在供導出深度圖的其它方式。
[0158]作為一個實例,在譯碼進程開始時,視頻解碼器30可解碼基礎視圖中的第一圖片?;A視圖可包括并未從另一視圖中的圖片予以預測的圖片。舉例來說,參看圖3,基礎視圖可為視圖S0,這是因為視圖SO中的圖片并未用視圖SI到S7中的任一者中的圖片予以幀間預測。視圖SO中的第一圖片為經(jīng)幀內(nèi)預測圖片(即,在時間TO用視圖SO中的I表示的I圖片)。此外,非基礎視圖(例如,相依視圖)中的一者中的第一圖片可被視圖間運動預測或幀內(nèi)預測。非基礎視圖(被稱作相依視圖)可包括相對于另一視圖中的圖片(例如,用視差運動矢量)予以幀間預測的圖片。在譯碼進程的這個階段,不能得到深度圖。
[0159]在解碼非基礎視圖中的第一圖片之后,可得到視差運動矢量(即,用以幀間預測非基礎視圖的第一圖片中的塊的視差運動矢量)。這些視差運動矢量可轉(zhuǎn)換到深度值以產(chǎn)生深度圖。深度圖可用以映射到基礎視圖,或用以更新非基礎視圖中的后繼圖片的深度圖。從深度圖,視頻解碼器30可能夠確定用于塊的視差矢量。
[0160]一般而言,用于導出深度圖的此技術(shù)可復雜且需要視頻解碼器30消耗處理電力及時間以導出深度圖。在本發(fā)明所描述的實例中,視頻解碼器30可不首先導出深度圖以確定用于當前塊的視差矢量。代替地,視頻解碼器30可從空間上及/或時間上相鄰塊的視差運動矢量確定視差矢量,這種情形相比于從所導出的深度圖確定視差矢量可為較不復雜的任務。
[0161]在一些其它技術(shù)中,視頻編碼器20及視頻解碼器30可編碼或解碼⑶V,而非從深度圖確定視差矢量。因為⑶V提供用于所有像素的相同視差矢量,所以⑶V不提供針對實際視差矢量的準確度量,且因此,從GDV確定的運動矢量預測值不與從塊的實際視差矢量確定的運動矢量預測值一樣良好。因此,在從深度圖確定視差矢量時,及根據(jù)使用GDV作為用于實際視差矢量的替代產(chǎn)品,可存在缺陷。
[0162]在一些實例中,根據(jù)本發(fā)明所描述的技術(shù),經(jīng)確定視差矢量可不相同于當前塊的實際視差矢量。作為一個實例,當前塊的實際視差矢量可包括X分量,而不包括I分量,或針對y分量包括0,這是因為實際視差矢量是指相對于當前塊僅水平地位移的對應塊。在一些實例中,經(jīng)確定視差矢量包括X分量及I分量兩者,這是因為用以確定所述視差矢量的視差運動矢量可包括X分量及y分量兩者。用于塊的經(jīng)確定視差矢量可被稱作用于視圖間運動預測的視差矢量(DVIVMP),這是因為其為用于視圖間運動預測的經(jīng)構(gòu)造視差矢量。
[0163]為了確定用于當前塊的視差矢量,視頻解碼器30構(gòu)造候選視差矢量列表。這個候選視差矢量列表不應與候選運動矢量預測值列表相混淆。候選視差矢量列表識別可潛在地用以確定當前塊的視差矢量的矢量。候選運動矢量預測值列表識別可潛在地用以確定當前塊的運動矢量的矢量。
[0164]此外,視差矢量及視差運動矢量不應相混淆。第一視圖中的塊的視差運動矢量為是指第二視圖中的塊的運動矢量,其中第二視圖中的塊為用以幀間預測第一視圖中的塊的參考塊。視差矢量為是指不同于正被預測的塊的視圖中的塊的矢量,且指示正被預測的塊相對于包括由視差矢量所指的塊的圖片的位移。由視差矢量所指的塊未必需要用以幀間預測當前塊,但可用以確定用于當前塊的運動矢量預測值。在一些實例中,由經(jīng)修改視差矢量(通過將經(jīng)確定視差矢量的y分量設置到O)所指的塊用以幀間預測當前塊。在這些實例中,經(jīng)修改視差矢量被視為視差運動矢量的實例。
[0165]換言之,并非所有視差矢量皆為視差運動矢量,且當由視差矢量所指的塊用以幀間預測當前塊時,那些視差矢量可轉(zhuǎn)換到視差運動矢量。視差運動矢量是指用作用于幀間預測的參考塊的塊,且未必指示當前塊的位移。
[0166]舉例來說,視頻編碼器20在不同于當前塊的視圖的視圖中的圖片中執(zhí)行搜索,且找到最佳地匹配于當前塊的在不同視圖的圖片中的塊。視頻編碼器20及視頻解碼器30接著利用這個“最佳匹配”塊以用于幀間預測當前塊,所述幀間預測是通過用視差運動矢量來識別“最佳匹配”塊的位置而進行。
[0167]視差矢量未必是指“最佳匹配”塊。更確切地,視差矢量是指運動矢量可用作運動矢量預測值的塊。然而,如果視差矢量所指的塊未被幀間預測(例如,不存在用于視差矢量所指的塊的運動矢量),那么視差矢量可為候選運動矢量預測值。在一些實例中,即使視差矢量所指的塊被幀間預測,在修改之后的視差矢量仍可為額外候選運動矢量預測值。
[0168]應理解,如何使用視差矢量(例如,用于確定運動矢量預測值)的以上實例是僅出于說明的目的而被提供且不應被視為限制性的。換言之,以上實例描述經(jīng)確定視差矢量可被使用的一些方式,但本發(fā)明所描述的技術(shù)不應被視為如此限制性的。一般而言,本發(fā)明所描述的技術(shù)提供確定視差矢量的實例方式,諸如,用于確定視差矢量而未必需要導出深度圖的技術(shù)(作為一個實例)。
[0169]為了構(gòu)造候選視差矢量列表,視頻解碼器30確定是否已用視差運動矢量來視圖間運動預測空間上相鄰塊及/或時間上相鄰塊。視頻解碼器30可包括用于已在候選視差矢量列表或已使用隱式視差矢量的矢量中被視圖間運動預測的相鄰塊的視差運動矢量中的一或多者。下文更詳細地描述隱式視差矢量。此外,在一些實例中,STV或GDV也可用以構(gòu)造候選視差矢量列表。視頻解碼器30可利用多種不同技術(shù)中的任一者以從候選視差矢量列表選擇一個候選視差矢量,且將選定候選視差矢量設置為用于當前塊的視差矢量。
[0170]在以上實例中,視頻解碼器30逐塊地評估空間上相鄰塊及時間上相鄰塊的運動矢量信息以構(gòu)造候選視差矢量列表。然而,在給出視頻解碼器30存儲空間上及時間上相鄰塊的運動矢量信息的方式的情況下,逐塊地評估空間上相鄰塊及時間上相鄰塊的運動矢量信息可低效。如更詳細地所描述,在一些實例中,視頻解碼器30考慮空間上相鄰塊及時間上相鄰塊的運動矢量信息被存儲的方式,使得視頻解碼器30逐區(qū)地評估運動矢量信息,其中區(qū)包括多個相鄰塊且在大小方面可大于當前塊。然而,如果視頻解碼器30逐塊地存儲空間上或時間上相鄰塊的運動矢量信息,那么所述區(qū)可包括一個塊。換言之,在本發(fā)明中,所述區(qū)可包括一或多個塊。
[0171]基于視差運動矢量的逐區(qū)評估,視頻解碼器30構(gòu)造候選視差矢量列表、選擇所述候選視差矢量中的一者,且基于所述選定候選視差矢量來確定用于當前塊的視差矢量。視頻解碼器30利用由經(jīng)確定視差矢量所指的塊來實施合并模式或AMVP模式。在一些實例中,視頻解碼器30也可使用由經(jīng)確定視差矢量所指的塊來實施視圖間殘差預測。在一些實例中,視頻解碼器30可利用由經(jīng)確定視差矢量所指的塊來實施其它譯碼工具。作為一個實例,視頻解碼器30可通過使用相鄰區(qū)(例如,包括一或多個空間上或時間上相鄰塊的區(qū))的視差運動矢量作為用于塊的視差矢量來幀間預測解碼所述塊。舉例來說,視頻解碼器30可使用相鄰區(qū)的視差運動矢量作為塊的視差矢量來實施合并模式或AMVP模式。
[0172]在本發(fā)明所描述的技術(shù)中,用于區(qū)的視差運動矢量包括X分量及y分量兩者。因此,在一些實例中,經(jīng)確定視差矢量包括X分量及I分量兩者。在一些實例中,視頻解碼器30也包括經(jīng)確定視差矢量作為用于候選運動矢量預測值列表中的當前塊的候選運動矢量預測值。
[0173]視頻解碼器30可在將經(jīng)確定視差矢量包括在候選運動矢量預測值列表中之前修改經(jīng)確定視差矢量。舉例來說,視頻解碼器30將經(jīng)確定視差矢量的y分量設置為等于O以用于修改經(jīng)確定視差矢量,且將經(jīng)修改視差矢量包括在候選運動矢量預測值列表中。在一些情況下,經(jīng)修改視差矢量相比于經(jīng)確定視差矢量為用于當前塊的運動矢量的較佳預測值。在一些實例中,可不等于O的經(jīng)確定視差矢量的y分量保持不變,且用于視圖間運動預測及/或視圖間殘差預測。
[0174]此外,在本發(fā)明所描述的一些技術(shù)中,通過從空間上及時間上相鄰塊確定視差矢量,可用視圖間運動預測及/或視圖間殘差預測或使用視差矢量的其它譯碼工具來譯碼某些類型的圖片。舉例來說,在一些其它技術(shù)(即,未根據(jù)本發(fā)明所描述的技術(shù)的技術(shù))中,相依視圖包括隨機訪問點(RAP)圖片,諸如,瞬時解碼器刷新(IDR)圖片及清潔隨機訪問(CRA)圖片。在這些其它技術(shù)中,在完全地解碼RAP圖片以前不能得到用于RAP圖片的深度圖。因此,在這些其它技術(shù)中,無法使用合并模式或AMVP模式來視圖間預測RAP圖片,這是因為深度圖不可用以確定視差矢量。
[0175]然而,在本發(fā)明所描述的技術(shù)中,視頻解碼器30可經(jīng)配置以確定視差矢量而無需導出深度圖。因此,在一些實例中,視頻解碼器30能夠經(jīng)配置以針對RAP圖片實施合并模式及AMVP模式,其中候選運動矢量預測值列表包括來自不同于RAP圖片的視圖的視圖中的塊的運動矢量。
[0176]下文描述實例圖片類型。在HEVC中存在可由網(wǎng)絡抽象層(NAL)單元類型識別的四個圖片類型。圖片類型的實例包括但不限于瞬時解碼器刷新(IDR)圖片、清潔隨機訪問(CRA)圖片、時間層訪問(TLA)圖片,及不為IDR、CRA或TLA圖片的經(jīng)譯碼圖片。
[0177]H.264/AVC規(guī)范已定義IDR圖片,且HEVC標準已從H.264/AVC規(guī)范繼承IDR圖片的定義。HEVC標準也已定義清潔隨機訪問(CRA)圖片、斷鏈訪問(BLA)圖片及時間層訪問(TLA)圖片。這些圖片類型在HEVC中為新式的且不可用于H.264/AVC規(guī)范中。
[0178]CRA圖片為促進從視頻序列的中間的任何隨機訪問點開始的解碼的圖片類型,且相比于使用IDR圖片以供隨機訪問可更有效。在HEVC中,從這些CRA圖片開始的位流也為符合型位流。TLA圖片為可用以指示有效時間層交換點的圖片類型。下文更詳細地描述CRA及TLA圖片。
[0179]在諸如廣播及流式處理的視頻應用中,查看者可需要在不同信道之間進行切換,或需要以最小延遲跳躍到視頻內(nèi)的特定部分。為了允許此切換或跳躍,視頻編碼器20可在視頻位流中以規(guī)則區(qū)間包括隨機訪問圖片。隨機訪問圖片為可供開始解碼的圖片。舉例來說,當用戶切換信道或跳躍到視頻內(nèi)的特定部分時,視頻在隨機訪問圖片處切換或跳躍到隨機訪問圖片。
[0180]H.264/AVC及HEVC兩者中指定的IDR圖片可用于隨機訪問。然而,因為IDR圖片開始經(jīng)譯碼視頻序列且始終清潔視頻解碼器30的經(jīng)解碼圖片緩沖器(DPB),所以按解碼順序在IDR之后的圖片無法使用在IDR圖片之前解碼的圖片作為參考。舉例來說,DPB存儲由視頻解碼器30出于幀間預測(例如,幀間預測解碼)的目的而用作參考圖片的經(jīng)解碼圖片。如果視頻解碼器30清除DPB(如當視頻解碼器30在IDR圖片處開始解碼時所發(fā)生),那么在DPB中可不存在可由按解碼順序在IDR圖片之后的圖片(被稱作前導圖片)用作參考圖片的任何圖片。
[0181]因此,依賴于用于隨機訪問的IDR圖片的位流可具有顯著較低譯碼效率(例如,6% )0為了改善譯碼效率,HEVC中的CRA圖片允許按解碼順序在CRA之后但按輸出順序在CRA圖片之前的圖片使用在CRA圖片之前解碼的圖片作為參考。
[0182]圖6為說明清潔隨機訪問(CRA)圖片的實例的概念圖。舉例來說,圖6說明由自己的顯示順序識別的圖片。所述顯示順序是由圖片順序計數(shù)(POC)值識別。舉例來說,在圖6中,具有POC值24的圖片為CRA圖片,且屬于圖片組(GOP)。GOP也包括具有POC值17到23的圖片。具有POC值17到23的圖片按解碼順序在CRA圖片(即,具有POC值24的圖片)之后(即,具有POC值17到23的圖片是由具有POC值24的CRA圖片予以幀間預測,或由已被幀間預測的圖片予以幀間預測,已被幀間預測的所述圖片是已由具有POC值24的CRA圖片予以幀間預測)。然而,具有POC值17到23的圖片按輸出順序在具有POC值24的CRA圖片之前(即,具有POC值17到23的圖片是早于具有POC值24的CRA圖片被顯示)。
[0183]在這個實例中,具有POC值17到23的圖片被稱作具有POC值24的CRA的前導圖片,且可在視頻解碼器30從當前CRA圖片(S卩,具有POC值24的圖片)之前的IDR或CRA圖片開始解碼時被正確地解碼。然而,如果視頻解碼器30從具有POC值24的CRA圖片開始解碼,那么視頻解碼器30可不能夠適當?shù)亟獯a具有POC值17到23的圖片。在這些狀況下,視頻解碼器30在隨機訪問解碼期間放棄前導圖片(即,具有POC值17到23的圖片)。
[0184]此外,為了防止從取決于視頻解碼器30在何處開始解碼而可能不可用的參考圖片的誤差傳播,按解碼順序及輸出順序兩者在具有POC值24的CRA圖片之后的下一 GOP中的所有圖片不使用按解碼順序或輸出順序在具有POC值24的CRA圖片之前的任何圖片作為參考。舉例來說,如上文所描述,如果視頻解碼器30從具有POC值24的CRA圖片開始解碼,那么視頻解碼器30放棄具有POC值17到23的圖片。在這種狀況下,因為具有POC值17到23的圖片不可用,所以按解碼順序及輸出順序兩者在具有POC值24的CRA圖片之后的圖片不使用具有POC值17到23的圖片中的任一者作為參考圖片。
[0185]在H.264/AVC中用恢復點補充增強信息(SEI)消息來支持相似隨機訪問功能性。并非所有符合H.264/AVC標準的視頻解碼器皆支持恢復點SEI消息。
[0186]在HEVC中,以CRA圖片開始的位流被視為符合型位流。如上文所描述,當位流以CRA圖片開始時,CRA圖片的前導圖片可指不可用參考圖片且因此無法被正確地解碼。然而,也如上文所描述,HEVC指定開始的CRA圖片的前導圖片未被輸出,因此,名稱為“清潔隨機訪問”。
[0187]為了建立位流符合性要求,HEVC指定解碼進程以產(chǎn)生不可用參考圖片以用于解碼非輸出前導圖片。然而,視頻解碼器30未必必須遵循彼解碼進程,只要視頻解碼器30可產(chǎn)生相比于當從位流的開始執(zhí)行所述解碼進程時相同的輸出即可。此外,在HEVC中,符合型位流可根本不含有IDR圖片,且因此可含有經(jīng)譯碼視頻序列的子集或不完整的經(jīng)譯碼視頻序列。
[0188]如上文所描述,在一些實例中,視頻解碼器30評估空間上及時間上相鄰塊的運動矢量以確定用于當前塊的視差矢量。以下實例說明視頻解碼器30從空間上及時間上相鄰塊的運動矢量確定用于當前塊的視差矢量的實例方式。以下實例不應被視為限制性的,且所述技術(shù)可擴展到用于確定用于當前塊的視差矢量的其它可能技術(shù)。
[0189]在給出目標參考視圖的情況下,為了啟用從目標參考視圖的視圖間運動預測,視頻解碼器30可利用空間視差矢量、時間視差矢量及/或隱式視差矢量以產(chǎn)生用于視圖間運動預測的視差矢量(DVIVMP)及/或用于視圖間殘差預測的視差矢量??臻g視差矢量、時間視差矢量及隱式視差矢量皆在下文得以更詳細地描述。在一些實例中,視差矢量未由給定目標參考視圖限定,這意謂視差矢量對應于被視為可用的任何相依視圖中的圖片且可直接用作經(jīng)確定視差矢量。在一些實例中,這個視差矢量用以基于同一訪問單元的目標參考視圖中的已經(jīng)譯碼的運動參數(shù)來預測或推斷當前視圖中的塊的運動參數(shù)(即,運動矢量預測值)。根據(jù)本發(fā)明的技術(shù),視頻解碼器30可基于經(jīng)確定隱式視差矢量(IDV)、空間視差矢量(SDV)及時間視差矢量(TDV)來構(gòu)造候選視差矢量列表。舉例來說,所述經(jīng)確定候選視差矢量中的一或多者可包括在用于合并或AMVP的候選列表。
[0190]圖7為說明確定候選視差矢量的一個實例的概念圖。在圖7中,圖片62是在第一視圖中,且包括待使用合并模式或AMVP模式予以幀間預測的塊64。為了確定用于塊64的視差矢量,視頻解碼器30確定用于空間上相鄰塊的運動矢量。視頻解碼器30可按任何順序評估空間上相鄰塊。對于每一空間上相鄰塊,視頻解碼器30確定用識別RefPicListO中的參考圖片的前向預測矢量還是用識別RefPicListl中的參考圖片的后向預測矢量來預測空間上相鄰塊。如果使用組合式參考圖片列表(即,RefPicListC),那么視頻解碼器30確定用于空間上相鄰塊的運動矢量是否識別RefPicListC中的圖片。如果這些空間上相鄰塊中的任一者是用視差運動矢量予以幀間預測,那么視頻解碼器30將視差運動矢量包括在用于塊64的候選視差矢量列表中。
[0191]舉例來說,圖7說明各自空間上相鄰于塊64的空間上相鄰塊66及時間上相鄰塊68 (例如,相鄰塊66/68屬于與塊64相同的圖片,所述圖片為圖片62)。在這個實例中,塊66及塊68各自為4 X 4塊。在圖7中,塊66是用圖片70的塊72予以幀間預測,如由是指圖片70的塊72的時間運動矢量78所說明。圖片70是在與圖片62相同的視圖中,但處于不同時間例項。
[0192]塊68是相對于圖片74的塊76予以視圖間預測。舉例來說,用于塊68的運動矢量80為指圖片74的塊76的視差運動矢量。圖片62及74在相同時間例項中位于不同視圖中。運動矢量80為視差運動矢量,這是因為圖片74定位在不同于定位有圖片62的第一視圖的第二視圖中。此外,圖片62及圖片74的時間例項相同。因此,圖片62及圖片74屬于同一訪問單兀。
[0193]在這個實例中,視頻解碼器30評估塊66的運動矢量78及塊68的運動矢量80,且確定運動矢量80為視差運動矢量。視頻解碼器30接著將視差運動矢量80包括在候選視差矢量列表中。視差運動矢量80可被稱作空間視差矢量(SDV)。
[0194]然而,由于視頻解碼器30存儲塊66及塊68的運動矢量信息的方式,可沒有必要使視頻解碼器30評估塊66及塊68兩者的運動矢量信息。舉例來說,在視頻解碼器30幀間預測塊66及塊68之后,視頻解碼器30將用于塊66及塊68的運動矢量信息存儲在視頻解碼器30的行緩沖器中。在一些實例中,在將運動矢量信息存儲在行緩沖器中之前,視頻解碼器30壓縮用于塊66及塊68的運動矢量信息,使得視頻解碼器30存儲用于塊66及塊68中的一者的運動矢量信息,或從用于塊66及68的運動矢量信息導出用于塊66及68兩者的運動矢量信息。圖8中進一步說明運動矢量信息的壓縮。并非在每一實例中皆需要運動矢量信息的壓縮。
[0195]圖8為根據(jù)本發(fā)明所描述的一或多個實例的說明運動矢量信息被存儲的方式的概念圖。圖8說明行緩沖器82。行緩沖器82存儲用于空間上定位在待預測的當前塊上方的塊的運動矢量。圖8中的塊O到15各自為4X4塊。
[0196]運動矢量信息包括幀間預測方向、參考圖片索引,及運動矢量(MV)。在一些實例中,視頻解碼器30不將用于塊O到15中的每一者的運動矢量信息存儲在行緩沖器82中。更確切地,視頻解碼器30將用于每四個塊中的兩個塊的運動矢量信息存儲在行緩沖器82內(nèi)。這種情形引起針對一個行的2:1運動矢量信息壓縮,且引起需要存儲在行緩沖器82中的較少信息。
[0197]舉例來說,用于塊O至3中的每一者的運動矢量信息可不同。在這個實例中,盡管用于塊O及塊I的運動矢量信息不同,但當存儲時,塊O及塊I共享相同運動矢量信息,且視頻解碼器30將用于塊O及塊I兩者的一個運動矢量信息集合存儲在行緩沖器82中。在圖8中,視頻解碼器30存儲用于塊O的運動矢量信息作為用于塊O及塊I兩者的運動矢量信息。在這種狀況下,用于塊I的運動矢量信息可丟失,且用于塊O的運動矢量信息保留。
[0198]相似地,在這個實例中,盡管用于塊2及塊3的運動矢量不同,但當存儲時,塊2及塊3共享相同運動矢量信息,且視頻解碼器30可將用于塊2及塊3兩者的一個運動矢量信息集合存儲在行緩沖器中。在一些實例中,視頻解碼器30存儲用于塊3的運動矢量信息作為用于塊2及塊3兩者的運動矢量。在這種狀況下,用于塊2的運動矢量信息丟失,且用于塊3的運動矢量信息保留。
[0199]換言之,對于用于行緩沖器縮減的運動矢量信息壓縮,視頻解碼器30不將用于塊O及塊I兩者的運動矢量信息存儲在行緩沖器82中。更確切地,視頻解碼器30將塊I的運動矢量信息存儲在行緩沖器82中,且塊O的運動矢量信息可丟失。相似地,視頻解碼器30將塊3的運動矢量信息存儲在行緩沖器82中,且塊2的運動矢量信息可丟失。
[0200]在圖8中,變暗塊指示運動矢量信息被存儲的塊。箭頭指示運動矢量信息現(xiàn)在是由經(jīng)存儲運動矢量信息表示的塊。如所說明,因為用于塊的一半的運動矢量信息丟失且是由用于塊的另一半的運動矢量信息表示,所以相比于用于塊的全部的運動矢量信息被存儲的狀況,在行緩沖器82中需要存儲器的僅一半。
[0201]關于圖8所描述的技術(shù)為一種用于實施運動矢量信息壓縮的方式??纱嬖谟糜趯嵤┯糜谛芯彌_器縮減的運動矢量信息壓縮的其它方式,且本發(fā)明所描述的技術(shù)不限于用于實施用于行緩沖器縮減的運動矢量信息壓縮的任何特定方式。
[0202]根據(jù)本發(fā)明所描述的技術(shù),視頻解碼器30可無需確定用于塊O到15中的每一者的運動矢量信息,這是因為行緩沖器82存儲用于塊的區(qū)而非用于所述區(qū)內(nèi)的所有塊的運動信息。舉例來說,區(qū)84A到84H各自表示8X4像素區(qū)。舉例來說,區(qū)84A表示第一 8X4區(qū),其中第一 8 X 4區(qū)包括塊O及I。在這個實例中,塊O的運動矢量信息被視為區(qū)84A的運動矢量信息。區(qū)84B表示第二 8X4區(qū),其中第二 8X4區(qū)包括塊2及3,等等。在這個實例中,塊3的運動矢量信息被視為區(qū)84B的運動矢量信息,等等。
[0203]此外,盡管圖8說明8X4區(qū),但本發(fā)明的方面并不受到如此限制。在其它實例中,區(qū)可為4X8區(qū),其中行緩沖器82存儲用于駐留于垂直線而非水平線中的塊的運動矢量信息。相似地,空間上相鄰塊的4X4塊大小也是出于說明的目的而被提供且不應被視為限制性的。
[0204]在圖8的實例中,視頻解碼器30可確定區(qū)84A到84H中的哪一者包括空間上相鄰于當前塊的塊。接著,視頻解碼器30確定用于包括空間上相鄰于當前塊的塊的區(qū)的運動矢量信息,而非確定用于所述區(qū)內(nèi)的空間上相鄰塊中的每一者的運動矢量信息。如果用于所述區(qū)的運動矢量為視差運動矢量,那么視頻解碼器30可將視差運動矢量包括在用于當前塊的候選視差矢量列表中。在這個實例中,用于所述區(qū)的運動矢量表示用于所述區(qū)內(nèi)的多個塊的單一運動矢量。
[0205]在一些實例中,可存在用于包括空間上相鄰塊的區(qū)的兩個運動矢量,一個運動矢量是指RefPicListO且另一運動矢量是指RefPicListl。在這些實例中,存在用于包括空間上相鄰塊的區(qū)內(nèi)的所有塊的是指RefPicListO的一個單一運動矢量,及用于包括空間上相鄰塊的區(qū)內(nèi)的所有塊的是指RefPicListl的一個單一運動矢量。
[0206]舉例來說,返回參看圖7,假定圖7的塊66對應于圖8的塊2,且塊68對應于圖8的塊3。在這個實例中,行緩沖器82存儲用于視差運動矢量80的運動矢量信息及識別圖片74的參考索引,而不存儲用于時間運動矢量78的運動矢量信息及識別圖片70的參考索引。
[0207]在這個實例中,視頻解碼器30無需確定用于塊66的運動矢量信息及用于塊68的運動矢量信息。代替地,視頻解碼器30可確定用于區(qū)84B的運動矢量信息,其中區(qū)84B包括塊66及塊68。這種情形允許視頻解碼器30執(zhí)行運動矢量信息的較少確定,藉此增進有效視頻譯碼。在這種狀況下,區(qū)84B的運動矢量信息指示運動矢量為視差運動矢量80。因為用于區(qū)84的運動矢量為視差運動矢量,所以視頻解碼器30將視差運動矢量80作為用于塊64的候選視差矢量包括在用于塊64的候選視差矢量列表中。視差運動矢量80可被稱作空間視差矢量(SDV),這是因為視差運動矢量80為用于空間上相鄰區(qū)84的視差矢量。此夕卜,如果用于空間上相鄰塊(例如,空間上相鄰區(qū))的視差運動矢量80被確定為用于塊64的視差矢量(例如,因為視差運動矢量80是選自候選視差矢量列表),那么視頻解碼器30可使用視差運動矢量80作為用于塊64的視差矢量以用于幀間預測塊64。舉例來說,視頻解碼器30可使用視差運動矢量80作為塊64的視差矢量來對塊64實施AMVP或合并模式。
[0208]在圖7及8的實例中,視頻解碼器30利用空間上相鄰塊以確定用于當前塊的候選視差矢量。在一些實例中,代替利用空間上相鄰塊或除了利用空間上相鄰塊以外,視頻解碼器30也利用時間上相鄰塊以確定用于當前塊的另一候選視差矢量。
[0209]圖9為說明確定候選視差矢量的一個實例的概念圖。圖9說明包括待幀間預測的塊88的視圖1中的圖片86。存在用于圖片86的三個可能參考圖片:圖片96及圖片106,這是因為這些圖片屬于與圖片86相同的視圖;以及圖片90,這是因為圖片90是在不同視圖(視圖O)中,但在與圖片86相同的訪問單元中(例如,圖片86及圖片90的時間例項相同)。
[0210]在這個實例中,視頻解碼器30確定用于參考圖片90、96及106中的三個同置塊(SP,塊92、塊98及塊108)的運動矢量信息。舉例來說,視頻解碼器30確定用于同置塊92、98及108中的任一者的運動矢量是否為視差運動矢量。
[0211]在圖9中,塊108被幀內(nèi)預測,且因此未用視差運動矢量予以預測。塊92是用運動矢量94予以巾貞間預測。然而,運動矢量94為時間運動矢量,這是因為運動矢量94是指圖片110中的塊112,且圖片110是在與圖片90相同的視圖(S卩,視圖O)中。
[0212]圖片96的塊98是相對于圖片102的塊104予以幀間預測,如由運動矢量100所說明。在這個實例中,圖片96是在視圖1中,且圖片102是在不同視圖(B卩,視圖O)中。因此,運動矢量100為視差運動矢量。在這個實例中,視頻解碼器30將視差運動矢量100作為候選視差矢量包括在候選視差矢量列表中。視差運動矢量100被稱作時間視差矢量(TDV),這是因為視差運動矢量100為用于同置塊的運動矢量。
[0213]圖9說明與塊88同置的同置塊的一些實例??纱嬖谕脡K的其它實例。舉例來說,與當前塊同置的塊的一個實例為定位在與當前塊在其當前圖片中所處的區(qū)相同的區(qū)中的同置圖片中的塊。此區(qū)被稱作同置區(qū)(CR)。換言之,同置塊的一個實例為同置圖片的CR中的塊。
[0214]同置塊的另一實例為覆蓋同置區(qū)的最大譯碼單元(IXU)。舉例來說,IXU在大小方面可大于當前塊,且因此可在同置圖片中包圍相比于由當前圖片中的當前塊包圍的區(qū)域較多的區(qū)域。此IXU所覆蓋的區(qū)被稱作同置IXU(CIXU)。
[0215]作為同置塊的又一實例,視頻解碼器30識別定位在同置圖片中的同置區(qū)的右底部處的塊。同置塊的這個實例被稱作BR,BR為右底部塊的縮寫。圖10中進一步說明同置塊的實例。作為同置塊的又一實例,定位在同置圖片中的任何塊可用以導出候選視差矢量。
[0216]圖10為說明與待預測的當前塊同置的同置塊的實例的概念圖。圖10說明圖片114及圖片118。在一些實例中,圖片114及圖片118屬于同一視圖及不同訪問單元。在一些實例中,圖片114及圖片118屬于不同視圖及同一訪問單元。在任一實例中,圖片118被視為與圖片114同置。替代地,僅對于第一實例,圖片118被視為與圖片114同置(S卩,屬于同一視圖及不同訪問單元)。
[0217]圖片114包括待使用(例如)合并模式或AMVP模式或殘差預測予以幀間預測的塊116。為了實施合并模式或AMVP模式,視頻解碼器30確定用于塊116的候選視差矢量,其中所述候選視差矢量中的一或多者為來自被視圖間預測的同置塊的視差運動矢量。
[0218]在圖10中,塊120為與塊116同置的同置塊的一個實例。舉例來說,塊120在圖片118中覆蓋塊116在圖片114中所覆蓋的相同區(qū)。塊120被稱作同置區(qū)(CR)塊(例如,覆蓋同置圖片中的同置區(qū)的塊)。
[0219]塊122為與塊116同置的同置塊的另一實例。舉例來說,塊122為大小大于或等于塊116的大小的最大譯碼單元(LCU)。在圖10的實例中,塊122在圖片118中覆蓋多于塊116在圖片114中所覆蓋的區(qū)域的區(qū)域。然而,塊122在圖片118中覆蓋塊116在圖片114中所覆蓋的至少相同區(qū)域。在這種狀況下,塊122為覆蓋塊116的同置區(qū)的IXU,且被稱作CLCU塊。
[0220]塊124為與塊116同置的同置塊的又一實例。舉例來說,塊124定位在圖片118中的同置區(qū)的右底部,所述同置區(qū)是與駐留有塊116的圖片114中的區(qū)同置。塊124被稱作BR塊。
[0221]在一些實例中,為了確定用于塊116的候選視差矢量,視頻解碼器30確定用于CR塊120、CIXU塊122及BR塊124中的一或多者的運動矢量信息。舉例來說,視頻解碼器30確定CR塊120、CIXU塊122及BR塊124內(nèi)的4X 4塊中的每一者是否被視圖間預測。視頻解碼器30可將用于CR塊120、CIXU塊122及BR塊124內(nèi)的經(jīng)視圖間預測4X4塊的視差運動矢量包括在用于塊116的候選視差矢量列表中。
[0222]然而,確定用于CR塊120、CIXU塊122及BR塊124內(nèi)的每一 4X4塊的運動矢量信息可需要視頻解碼器30不必要地確定用于多于所需要塊的同置塊的運動矢量信息。舉例來說,相似于具有空間上相鄰塊的實例,視頻解碼器30可不存儲用于同置圖片內(nèi)的每一4X4塊的運動矢量信息。然而,可有可能的是,在一些實例中,視頻解碼器30存儲用于同置圖片內(nèi)的4X 4塊的運動矢量信息。
[0223]舉例來說,在視頻解碼器30幀間預測或幀內(nèi)預測同置圖片內(nèi)的塊之后,視頻解碼器30可對同置圖片中的經(jīng)幀間預測4X4塊的運動矢量應用16倍壓縮。作為一個實例,為了應用16倍壓縮,視頻解碼器30基于16個4X4塊(在水平方向上的4個4X4塊及在垂直方向上的4個4X4塊)來產(chǎn)生一個運動矢量信息以引起用于16X16區(qū)的運動矢量。舉例來說,視頻解碼器30可選擇一個16 X 16區(qū)的左頂部4X4塊的運動信息以表示所有16個4X4塊。視頻解碼器30將用于16X 16區(qū)的運動矢量存儲在視頻解碼器30的緩沖器中。這個緩沖器可與行緩沖器82相同,或為視頻解碼器30的不同緩沖器。
[0224]換言之,同置圖片中的16X16區(qū)包括16個4X4塊。用于這些16個4X4塊的運動矢量信息可不同。然而,對于用于存儲器頻寬縮減的運動矢量壓縮,用于這些16個4X4塊中的每一者的單獨運動矢量信息可丟失,且用用于包圍16個4X4塊的16X16區(qū)的一個運動矢量進行替換。用于16X16區(qū)的這個運動矢量表示用于16X16區(qū)內(nèi)的多個4X4塊的單一運動矢量。這個單一運動矢量可指兩個參考圖片列表(RefPicListO或RefPicListl)中的一者。在一些實例中,可存在用于16X16區(qū)的兩個運動矢量,一個運動矢量是指RefPicListO且另一運動矢量是指RefPicListl。在這些實例中,存在用于16 X 16區(qū)內(nèi)的所有塊的指RefPicListO的一個單一運動矢量,及用于16X16區(qū)內(nèi)的所有塊的指RefPicListl的一個單一運動矢量。在未使用壓縮的實例中,所述區(qū)可包括一個4X4塊。
[0225]此外,為包括16個4X4塊的16X 16區(qū)的區(qū)是出于說明的目的而被提供,且不應被考慮。所述區(qū)可具有不同于16X16的大小,且視頻解碼器30可出于16倍壓縮而在水平方向及垂直方向兩者上將運動矢量現(xiàn)場縮小采樣達因數(shù)4。相似地,時間上相鄰塊的4X4塊大小也是出于說明的目的而被提供且不應被視為限制性的。
[0226]根據(jù)本發(fā)明所描述的技術(shù),視頻解碼器30可無需確定用于同置塊內(nèi)的每一 4X4塊的運動矢量信息。更確切地,視頻解碼器30可確定用于包括同置塊內(nèi)的4X4塊的16X16區(qū)的運動矢量信息。舉例來說,返回參看圖10,視頻解碼器30可無需確定用于CR塊120、CIXU塊122或BR塊124內(nèi)的每一 4X4塊的運動矢量信息以確定所述4X4塊中的任一者是否已用視差運動矢量予以視圖間預測。
[0227]在這個實例中,視頻解碼器30確定用于覆蓋CR塊120、CIXU塊122及BR塊124的所述一或多個16X16區(qū)的運動矢量是否為視差運動矢量。如果用于覆蓋CR塊120、CIXU塊122及BR塊124的所述一或多個16 X 16區(qū)的運動矢量為視差運動矢量,那么視頻解碼器30將視差運動矢量作為候選視差矢量包括在塊116的候選視差矢量列表中。此外,如果用于覆蓋CR塊120、CIXU塊122及BR塊124的所述一或多個區(qū)(例如,時間上相鄰區(qū))的視差運動矢量被確定為用于塊88的視差矢量(例如,因為所述視差運動矢量是選自候選視差矢量列表),那么視頻解碼器30可使用這個視差運動矢量作為用于塊88的視差矢量以用于幀間預測塊88。舉例來說,視頻解碼器30可使用視差運動矢量作為塊88的視差矢量來對塊88實施AMVP或合并模式。
[0228]圖7至10所說明的實例描述視頻解碼器30確定添加到候選視差矢量列表的候選視差矢量的技術(shù)。舉例來說,圖7及8描述將空間視差矢量(SDV)包括到候選視差矢量列表中。圖9及10描述將時間視差矢量(TDV)包括到候選視差矢量列表中。如果視頻解碼器30選擇SDV或TDV作為用于當前塊的視差矢量,那么視頻解碼器30使用選定SDV或TDV視差矢量來對當前塊實施合并模式或AMVP模式以識別運動矢量信息用以確定用于當前塊的運動矢量信息的塊。
[0229]然而,本發(fā)明所描述的技術(shù)并不受到如此限制。在一些實例中,視頻解碼器30也確定隱式視差矢量(IDV),且將IDV包括在候選列表矢量列表中。IDV為相鄰塊的視差矢量,所述相鄰塊的相鄰塊是用視圖間運動預測予以譯碼。舉例來說,假定待預測的當前塊被稱作第一塊,相鄰于第一塊的塊被稱作第二塊,且相鄰于第二塊的塊被稱作第三塊。
[0230]在這個實例中,第二塊是相對于與第二塊相同的視圖中的圖片予以幀間預測。然而,用于第二塊的運動矢量是從第三塊予以確定。舉例來說,為了確定用于第二塊的運動矢量,視頻解碼器30使用上文所描述的相似技術(shù)來確定用于第二塊的視差矢量。視頻解碼器30使用用于第二塊的視差矢量所指的第三塊的運動矢量作為用于第二塊的運動矢量。在這種狀況下,第二塊的視差矢量被稱作隱式視差矢量(IDV),且視頻解碼器30包括此IDV作為用于第一塊的候選視差矢量。
[0231]換言之,視頻解碼器30基于空間上及時間上相鄰于當前塊的塊來確定上文關于圖7至10所描述的SDV及TDV。IDV與SDV及TDV不同之處在于:視頻解碼器30基于空間上及/或時間上相鄰于塊的空間上及/或時間上相鄰塊來確定IDV,且這個塊空間上及/或時間上相鄰于當前塊。舉例來說,如果視頻解碼器30基于由第二塊的視差矢量定位的第三塊的運動矢量來確定用于空間上及/或時間上相鄰塊(被稱作第二塊)的運動矢量,那么視頻解碼器30將所述視差矢量(被稱作IDV)包括在用于當前塊(被稱作第一塊)的候選視差矢量列表中。圖11中進一步說明IDV矢量。
[0232]圖11為說明確定候選視差矢量的一個實例的概念圖。圖11說明包括塊128的當前圖片126,其中塊128為待預測塊。在圖11中,塊130相鄰于塊128,且是用圖片134的塊136予以幀間預測,如由運動矢量138所說明。在這個實例中,視頻解碼器30使用AMVP模式或合并模式來確定運動矢量138,其中視頻解碼器30構(gòu)造用于塊130的候選運動矢量預測值列表。在圖11中,視頻解碼器30包括用于塊130的候選運動矢量預測值,其中視頻解碼器30基于空間上相鄰于塊130的空間上相鄰塊的視差矢量來確定用于塊130的候選運動矢量預測值。換言之,在一些實例中,視頻解碼器30實施本發(fā)明所描述的技術(shù)以確定用于塊130的候選運動矢量預測值。
[0233]舉例來說,視頻解碼器30可能已確定空間上相鄰于塊130的塊是相對于在與包括塊130的圖片相同的訪問單元中指不同視圖中的塊的視差運動矢量予以視圖間預測。視頻解碼器30接著可能已確定用于不同視圖中的塊的運動矢量。如果用于不同視圖中的塊的運動矢量是指在與待用以幀間預測塊130的參考圖片相同的訪問單元(例如,相同時間例項)中的圖片,那么視頻解碼器30可能已使用用于不同視圖中的塊的運動矢量信息以幀間預測塊130。
[0234]舉例來說,在圖11中,塊132空間上相鄰于塊130。此外,在圖11中,塊132是由圖片140的塊142予以視圖間預測,如由視差運動矢量144所指示。在這個實例中,圖片140及圖片126是在同一訪問單元(例如,相同時間例項)中,但在不同視圖中;因此,運動矢量144為視差運動矢量。在這個實例中,視頻解碼器30確定視差運動矢量144為用于塊130的候選視差矢量。
[0235]為了確定用于塊130的運動矢量,視頻解碼器30確定塊142 (即,由用于塊130的經(jīng)確定視差矢量所指的塊,其中用于塊130的經(jīng)確定視差矢量為視差運動矢量144)的運動矢量。如所說明,塊142是相對于圖片146的塊148予以幀間預測,如由運動矢量150所指示。在這個實例中,視頻解碼器30包括運動矢量150作為用于塊130的候選運動矢量預測值。舉例來說,視頻編碼器20可能已確定塊130應該用圖片134予以幀間預測。在這個實例中,圖片146是在與圖片134相同的時間例項(例如,同一訪問單元)中。因此,運動矢量150可為用于塊130的有效運動矢量預測值。
[0236]在圖11中,視頻解碼器30確定運動矢量150為用于塊130的運動矢量預測值,且將塊130的運動矢量設置為等于運動矢量150。舉例來說,圖11說明運動矢量138,其為塊130的運動矢量。在這個實例中,視頻解碼器30基于運動矢量150來確定運動矢量138,如由從運動矢量150延伸到運動矢量138的虛線所說明。舉例來說,運動矢量138繼承運動矢量150的運動矢量信息。
[0237]在這個實例中,因為視頻解碼器30基于經(jīng)確定視差矢量144 (即,塊132的視差運動矢量,其為塊130的經(jīng)確定視差矢量)來確定用于塊130的運動矢量,且塊130空間上相鄰于塊128,所以視頻解碼器30包括視差運動矢量144作為用于塊128的候選視差矢量。在這個實例中,視差運動矢量144被稱作隱式視差矢量(IDV)。此外,在這個實例中,因為視頻解碼器30基于隱式視差矢量(即,視差運動矢量144)來確定用于塊130的運動矢量,所以塊130被稱作隱式視差預測(IDP)塊。
[0238]應注意,盡管圖11說明基于空間上相鄰塊的IDV的實例,但本發(fā)明所描述的技術(shù)并不受到如此限制。在一些實例中,塊130可為時間上相鄰塊,且塊132可為相鄰于塊130的空間上或時間上相鄰塊,而非塊130及塊132兩者皆為圖11所說明的空間上相鄰塊。因此,IDV的一個實例為基于空間上相鄰塊而確定的IDV。IDV的另一實例為基于時間上相鄰塊而確定的IDV。
[0239]此外,根據(jù)本發(fā)明所描述的技術(shù),視頻解碼器30可考慮在確定用于當前塊的IDV時存儲用于塊的運動信息的方式。舉例來說,當IDV是基于空間上相鄰塊時,視頻解碼器30可確定用于塊的區(qū)(例如,塊的8X4區(qū))的運動矢量是否為視差運動矢量,其中所述區(qū)包括與包括待幀間預測的塊的圖片相同的圖片中的多個塊,且用于所述塊中的至少一者的運動矢量不同于用于其它塊的運動矢量。此外,當IDV是基于時間上相鄰塊時,視頻解碼器30可確定用于塊的區(qū)(例如,塊的16X16區(qū))的運動矢量是否為視差運動矢量,其中所述區(qū)包括不同于包括待幀間預測的塊的圖片的圖片中的多個塊。
[0240]因此,視頻解碼器30可確定當從相鄰于塊的區(qū)(即,相鄰于當前塊的區(qū))的塊的視差運動矢量導出用于所述區(qū)的運動矢量時所述區(qū)為隱式視差預測區(qū)(即,圖11的塊132相鄰于包括圖11的塊130的塊的區(qū))。響應于確定所述區(qū)為隱式視差預測區(qū),視頻解碼器30可確定相鄰于所述區(qū)的塊的視差運動矢量是否為用于當前塊(例如,圖11的塊128)的視差矢量。舉例來說,視頻解碼器30可將相鄰于所述區(qū)的塊的視差運動矢量包括在候選視差矢量列表中,且選擇所述視差運動矢量。在這個實例中,如果確定視差運動矢量(即,視差運動矢量144)為用于塊128的視差矢量,那么視頻解碼器30可使用視差運動矢量144作為用于塊128的視差矢量來幀間預測解碼塊128。在一些實例中,如果用于相鄰區(qū)的視差運動矢量未被確定為用于塊128的視差矢量(例如,用于空間或時間相鄰區(qū)的視差運動矢量未被確定為用于塊128的視差矢量,或者空間或時間相鄰區(qū)未用視差運動矢量予以幀間預測),那么視頻解碼器30可使用視差運動矢量144作為用于塊128的視差矢量來幀間預測解碼塊128。
[0241]如此,視頻解碼器30可基于視頻解碼器30存儲用于空間上及/或時間上相鄰于當前塊的塊的運動矢量信息的方式來構(gòu)造用于待預測的當前塊的候選視差矢量列表。這個候選視差矢量列表可包括一或多個空間視差矢量(SDV)、一或多個時間視差矢量(TDV),及/或一或多個隱式視差矢量(IDV)。
[0242]視頻解碼器30可從候選視差矢量列表選擇候選視差矢量中的一者。如本發(fā)明所描述,確定用于當前的候選視差矢量列表及從所述列表選擇候選視差矢量可克服上文關于STV及GDV所描述的問題,使得視頻解碼器30能夠以時間有效方式在最小復雜性的情況下確定用于當前塊的視差矢量。
[0243]可存在由視頻解碼器30利用以確定選擇哪一候選視差矢量的各種可能準則。作為一個實例,視頻解碼器30選擇最頻繁出現(xiàn)的候選視差矢量。作為另一實例,視頻解碼器30選擇第一候選視差矢量(例如,一旦找到候選視差矢量,視頻解碼器30就停止查找候選視差矢量)。在這個實例中,視頻解碼器30可首先查找SDV,接著查找TDV,隨后查找IDV ;然而,SDV、TDV及IDV的順序是出于說明的目的而被提供且不應被視為限制性的。舉例來說,如果視頻解碼器30查找SDV,那么SDV可為視差矢量。然而,如果不存在SDV,但視頻解碼器30查找TDV,那么TDV可為視差矢量,等等。
[0244]作為另一實例,視頻解碼器30選擇最短候選視差矢量,如由視頻解碼器30取得候選視差矢量的X分量及y分量的平方的總和及所述總和的結(jié)果的平方根所確定。一般而言,視頻解碼器30可利用任何技術(shù)以從候選視差矢量列表選擇候選視差矢量,包括從視頻編碼器20接收候選視差矢量中的索引值。
[0245]視頻解碼器30可基于選定候選視差矢量來確定當前塊的視差矢量。舉例來說,視頻解碼器30將選定候選視差矢量設置為當前塊的視差矢量。在這個實例中,如果選定候選視差矢量也包括X分量及I分量兩者,那么當前塊的經(jīng)確定視差矢量可包括X分量及I分量兩者。在一些實例中,視頻解碼器30可將選定候選視差矢量的y分量設置為等于0,使得在當前塊的經(jīng)確定視差矢量中不存在垂直分量。
[0246]在一些實例中,視頻解碼器30利用經(jīng)確定視差矢量以識別在不同于當前塊的視圖的視圖中的圖片中的塊。視頻解碼器30確定用于在不同于當前塊的視圖的視圖中的圖片中的塊的運動矢量。在這個實例中,視頻解碼器30將經(jīng)確定運動矢量作為候選運動矢量預測值包括在用于當前塊的候選運動矢量預測值列表中。在一些實例中,如果經(jīng)確定運動矢量是指與用以幀間預測當前圖片的圖片相同的時間例項中的圖片,那么視頻解碼器30將經(jīng)確定運動矢量作為候選運動矢量預測值包括在用于當前圖片的候選運動矢量預測值列表中。
[0247]視頻解碼器30可基于用于當前塊的候選運動矢量預測值列表來對當前塊實施合并模式或AMVP模式。舉例來說,視頻解碼器30可選擇運動矢量預測值中的一者,諸如(作為一個實例),通過從視頻編碼器20接收運動矢量預測值列表中的索引值。視頻解碼器30接著以上文所描述的方式利用用于選定候選運動矢量預測值的運動矢量信息。
[0248]此外,在一些實例中,視頻解碼器30也包括經(jīng)確定視差矢量作為候選運動矢量預測值。舉例來說,如上文所描述,候選運動矢量預測值列表提供使視頻解碼器30確定用于當前塊的運動矢量而未必接收定義所述運動矢量的語法元素的方式。在一些狀況下,經(jīng)確定視差矢量(例如,來自候選視差矢量列表的選定視差矢量)也可為用于當前塊的合適候選運動矢量預測值,且可為候選運動矢量預測值。
[0249]在經(jīng)確定視差矢量為候選運動矢量的實例中,經(jīng)確定視差矢量被視為視差運動矢量。這是因為:在這些實例中,直接地使用視差矢量所指的塊以幀間預測當前塊(例如,視頻編碼器20對視差矢量所指的塊與當前塊之間的殘差進行發(fā)信)。
[0250]在一些實例中,視頻解碼器30修改經(jīng)確定視差矢量。舉例來說,如上文所描述,用于當前塊的經(jīng)確定視差矢量可包括X分量及I分量兩者。在一些實例中,視頻解碼器30將經(jīng)確定視差矢量的I分量設置為等于O。視頻解碼器30包括經(jīng)修改視差矢量作為用于當前塊的候選運動矢量預測值。
[0251]在一些實例中,視頻解碼器30實施合并模式或AMVP模式的平行處理。舉例來說,在HEVC中,視頻解碼器30可將最大譯碼單元(LCU)劃分成平行運動估計區(qū)(MER),且可僅允許屬于不同MER的相鄰于當前塊的那些塊包括在用于運動矢量預測值列表的構(gòu)造進程中。
[0252]視頻編碼器20可在圖片參數(shù)集(PPS)中定義MER的大小。舉例來說,PPS中的log2_parallel_merge_level_minus2語法兀素定義MER的大小。此外,當MER大小大于NXN以使得2NX2N為譯碼單元(⑶)的最小大小時,HEVC規(guī)范可定義出MER以空間上相鄰塊(如果其在與當前塊相同的MER內(nèi)部)被視為不可用的方式起作用。
[0253]此外,以上技術(shù)是關于視圖間運動預測予以描述;然而,這些技術(shù)可擴展到視圖間殘差預測。舉例來說,在基于HEVC的3DV中啟用視圖間殘差預測。在基于HEVC的3DV中,使用從深度圖確定的視差矢量以將殘余參考塊定位在殘余參考視圖中。當針對殘余塊啟用殘差預測時,除了運動補償預測值及用于這個塊的經(jīng)發(fā)信殘差以外,也加上殘余塊。
[0254]在一些實例中,對于視圖間殘差預測,視頻解碼器30可以上文所描述的方式(例如,基于SDV、TDV及/或IDV)來確定視差矢量。視頻解碼器30可確定視差矢量所指的塊。在這個實例中,對于視圖間殘差預測,視頻解碼器30可使用經(jīng)確定塊(即,視差矢量所指的塊)的殘余信息以幀間預測當前塊的殘余信息。視頻編碼器20可實施相似技術(shù)。
[0255]如上文所描述,依賴于從深度圖確定的視差矢量計算上復雜且耗時。因此,視頻解碼器30可利用上文所描述的用于確定視差矢量的技術(shù),且接著實施相似于上文所描述的技術(shù)的針對殘余塊的視圖間殘差預測。
[0256]以上實例已描述視頻解碼器30基于空間上相鄰塊及時間上相鄰塊來確定用于當前塊的視差矢量的方式。以下實例描述視頻解碼器30確定將評估哪些空間上相鄰塊及時間上相鄰塊以確定哪些相鄰塊是用視差矢量予以視圖間預測的方式。
[0257]舉例來說,對于給定當前視圖及參考視圖(例如,目標參考視圖或任何其它相依視圖),視頻解碼器30可包括候選視差矢量,而無論何時從空間上相鄰塊、從時間上相鄰塊或從相鄰塊的相鄰塊(諸如,對于隱式視差矢量)找到候選視差矢量。在一些實例中,視頻解碼器30首先包括從空間上相鄰塊確定的視差矢量,且接著將從時間上相鄰塊確定的視差矢量包括在候選視差矢量列表中,隨后包括從相鄰塊的相鄰塊確定的視差矢量。在一些實例中,視頻解碼器30首先包括從時間上相鄰塊確定的視差矢量,且接著將從空間上相鄰塊確定的視差矢量包括在候選視差矢量列表中,隨后包括從相鄰塊或相鄰塊確定的視差矢量。
[0258]在一些實例中,視頻解碼器30可首先確定空間上相鄰塊中的任一者是否用視差運動矢量予以視圖間預測,且如果找到視差運動矢量,那么視頻解碼器30可將那個視差運動矢量包括在視差矢量候選者列表中,且可不繼續(xù)進行確定是否用視差運動矢量來視圖間預測時間上相鄰塊中的任一者。在一些實例中,視頻解碼器30可首先確定時間上相鄰塊中的任一者是否用視差運動矢量予以視圖間預測,且如果找到視差運動矢量,那么視頻解碼器30可將那個視差運動矢量包括在視差矢量候選者列表中,且可不繼續(xù)進行確定是否用視差運動矢量來視圖間預測空間上相鄰塊中的任一者??臻g/時間相鄰塊及相鄰塊的相鄰塊的檢查順序可呈任何排列。
[0259]對于空間上相鄰塊或時間上相鄰塊,視頻解碼器30可確定用于空間上相鄰塊或時間上相鄰塊的運動矢量是否是指RefPicListO中的圖片,且如果所述運動矢量為視差運動矢量,那么視頻解碼器30可將這個視差運動矢量包括在候選視差矢量列表中。否則,如果用于空間上相鄰塊或時間上相鄰塊的運動矢量是指RefPicListl/RefPicListC中的圖片,那么視頻解碼器30可將這個視差運動矢量包括在候選視差矢量列表中。在先前實例中,視頻解碼器30首先檢查RefPicListO,且接著檢查RefPicListl/RefPicListC。在一些實例中,視頻解碼器30首先檢查RefPicListl/RefPicListC,且接著檢查RefPicListO。在一些實例中,可檢查僅一個參考圖片列表,例如,RefPicListO或RefPicListl。
[0260]對于空間上相鄰塊,視頻解碼器30可按任何順序(例如,從左頂部開始且延伸到右頂部,或從右頂部開始且延伸到左頂部)確定用于相鄰區(qū)的運動矢量是否為視差運動矢量。在一些實例中,在視頻解碼器30未必確定區(qū)中的運動矢量的情況下,視頻解碼器30可按任何順序確定空間上相鄰4X4塊中的任一者的運動矢量是否為用于AMVP模式或合并模式下的視差運動矢量。舉例來說,視頻解碼器30檢查4X4空間上相鄰塊的順序可按由HEVC標準針對不使用視圖間運動預測的實例而定義的順序。舉例來說,對于合并模式,針對不使用視圖間運動預測的實例,HEVC定義出視頻解碼器30按如圖4所說明的Al、B1、B0、AO及B2的順序來檢查運動矢量。在這個實例中,視頻解碼器30可確定用于A1、B1、B0、A0及B2(按那個順序)中的任一者的運動矢量是否為視差運動矢量。
[0261]替代地,視頻解碼器30可利用按以上5個塊(即,A1、B1、B0、A0及B2)的順序的任何排列或空間上相鄰區(qū)的任何排列。在一些實例中,視頻解碼器30可確定用于相鄰塊或相鄰區(qū)的子集的運動矢量是否為視差運動矢量,且在一些實例中,按任何排列進行確定。
[0262]此外,如果空間上相鄰塊是在與待預測的當前塊相同的MER內(nèi)部,那么視頻解碼器30不確定彼空間上相鄰塊是否用視差運動矢量予以視圖間預測。然而,本發(fā)明所描述的技術(shù)并不受到如此限制。在一些其它實例中,如果空間上相鄰塊是在與待預測的當前塊相同的MER內(nèi),那么視頻解碼器30確定那個塊是否用視差運動矢量予以視圖間預測。
[0263]如上文所描述,在一些實例中,可沒有必要使視頻解碼器30確定是否逐塊地視圖間預測空間上相鄰塊,但可確定是否逐區(qū)地視圖間預測空間上相鄰塊。舉例來說,區(qū)可包括多個塊。作為一個實例,塊可為4X4,且所述區(qū)可為包圍8X4區(qū)的兩個塊。塊及區(qū)的其它大小可為可能的,且本發(fā)明所描述的技術(shù)不應被視為限于4X4塊及8X4區(qū)的實例。
[0264]對于時間上相鄰塊,視頻解碼器30可確定評估哪些同置圖片及評估所述同置圖片內(nèi)哪些塊以確定是否用視差運動矢量來視圖間預測時間上相鄰塊。舉例來說,在一些實例中,為了選擇同置圖片,視頻解碼器30評估包括當前塊的當前圖片的參考圖片列表中識別的圖片。在這些實例中,視頻解碼器30按遞增順序(例如,從第一圖片開始,且在列表中的最后圖片上結(jié)束)評估參考圖片列表中識別的圖片。在一些實例中,視頻解碼器30按遞減順序(例如,從列表中的最后圖片開始,且在列表中的第一圖片上結(jié)束)評估參考圖片列表中識別的圖片。
[0265]作為一個實例,由視頻編碼器20發(fā)信的num_ref_idx_10_active_minusl語法元素識別RefPicListO中的條目的數(shù)目,且由視頻編碼器20發(fā)信的num_ref_idx_ll_active_minusl 語法兀素或 num_ref_idx_lC_active_minusl 分別識別 RefPicListl 或RefPicListC中的條目的數(shù)目。num_ref_idx_lC_active_minusl語法兀素可不為當前HEVC標準的部分,但此處被包括作為額外實例。出于說明的目的,用為RefPicListO及RefPicListl的參考圖片列表來描述技術(shù)。在這個實例中,假設N等于定義參考圖片列表中的條目的數(shù)目的這兩個發(fā)信值中的較大者。此外,假設ref_idx是指RefPicListO或RefPicListl中的參考索引。
[0266]在一個實例中,視頻解碼器30基于上文所描述的collocated_from_10_flag的值來檢查RefPicListO及RefPicListl中識別的圖片。舉例來說,如果collocated_from_10_flag為O,那么視頻解碼器30首先確定RefPicListO[ref_idx]中識別的圖片(其中ref_idx在O到N的范圍內(nèi))是否包括相對于視差運動矢量予以視圖間預測的同置塊。如果RefPicListO中無任何圖片中的無任何同置塊是用視差運動矢量予以視圖間預測,那么視頻解碼器30確定RefPicListl [ref_idx]中識別的圖片(其中ref_idx在O到N的范圍內(nèi))是否包括相對于視差運動矢量予以視圖間預測的同置塊。
[0267]如果collocated_from_10_flag為I,那么視頻解碼器30首先確定RefPicListl [ref_idx]中識別的圖片(其中ref_idx在O到N的范圍內(nèi))是否包括相對于視差運動矢量予以視圖間預測的同置塊。如果RefPicListl中無任何圖片中的無任何同置塊是用視差運動矢量予以視圖間預測,那么視頻解碼器30確定RefPicListOtefjdx]中識別的圖片(其中ref_idx在O到N的范圍內(nèi))是否包括相對于視差運動矢量予以視圖間預測的同置塊。
[0268]在一些實例中,視頻解碼器30首先檢查如由RefPicListO [ref_idx]識別的RefPicListO中的任何圖片是否包括相對于視差矢量予以視圖間預測的同置塊而不管 collocated_from_10_flag 的值,且接著檢查如由 RefPicListl [ref_idx]識別的RefPicListl中的任何圖片是否包括用視差矢量予以視圖間預測的同置塊而不管collocated_from_10_flag的值。在一些實例中,視頻解碼器30首先檢查如由RefPicListl [ref_idx]識別的RefPicListl中的任何圖片是否包括相對于視差矢量予以視圖間預測的同置塊而不管collocated_from_10_flag的值,且接著檢查如由RefPicListO[ref_idx]識別的RefPicListO中的任何圖片是否包括用視差矢量予以視圖間預測的同置塊而不管collocated_from_10_flag的值。
[0269]當檢查RefPicListO或RefPicListl中的圖片時,如果所述圖片中的一者是針對不同于當前塊的視圖的視圖中的圖片,那么視頻解碼器30可不確定在這個圖片中是否存在用視差矢量予以視圖間預測的任何同置塊(例如,可跳過參考圖片列表中來自不同視圖的圖片)。替代地,視頻解碼器30可確定不同于當前圖片的視圖的視圖中的圖片是否包括用視差運動矢量予以視圖間預測的同置塊。舉例來說,不同于當前塊的視圖的視圖中的圖片可為與包括當前視圖的圖片相同的訪問單元中的經(jīng)先前解碼圖片。
[0270]在一些實例中,視頻解碼器30可確定不同于當前圖片的視圖的視圖中的圖片是否包括用視差運動矢量予以視圖間預測的同置塊,即使那個圖片未包括在RefPicListO或RefPicListl中仍如此。在這些實例中,在一些情況下,可有可能的是,存在具有在與包括當前塊的圖片相同的訪問單元中的圖片的多個視圖。對于這些狀況,視頻解碼器30可按視圖順序索引的遞減順序檢查圖片。舉例來說,視頻解碼器30可確定具有最聞視圖順序索引的視圖中的圖片是否包括用視差運動矢量予以視圖間預測的同置塊,隨后確定具有第二最高視圖順序索引的視圖中的圖片是否包括用視差運動矢量予以視圖間預測的同置塊,等等。
[0271]在另一實例中,視頻解碼器30確定用于在不同視圖中的圖片中的每一者的視圖標識符與用于當前塊的視圖標識符之間的差。視頻解碼器30基于所述差而按遞增順序檢查圖片。舉例來說,假定存在各自在與包括當前塊的當前圖片相同的訪問單元中的第一視圖中的圖片及第二視圖中的圖片,且用于第一視圖的視圖標識符與用于當前視圖的視圖標識符之間的差小于用于第二視圖的視圖標識符與用于當前視圖的視圖標識符之間的差。在這種狀況下,視頻解碼器30可首先確定第一視圖中的圖片中的同置塊中的任一者是否用視差矢量予以視圖間預測,且如果否,那么確定第二視圖中的圖片中的同置塊中的任一者是否用視差矢量予以視圖間預測。
[0272]在一些實例中,視頻解碼器30僅檢查參考圖片列表中識別的圖片子集以確定所述圖片中的任一者是否包括用視差運動矢量予以視圖間預測的同置塊。在一些實例中,這個圖片子集可包括用相對較小參考索引予以識別的圖片(例如,RefPicListO及RefPicListl中用參考索引O及參考索引I予以識別的圖片)。換言之,視頻解碼器30可檢查RefPicListO及RefPicListl的截斷版本中識別的圖片。
[0273]上文描述供視頻解碼器30檢查同置圖片以識別用視差運動矢量予以視圖間預測的同置塊的順序的一些實例方式。下文描述由視頻解碼器30在每一圖片中檢查以識別用視差運動矢量予以視圖間預測的同置塊的同置塊。
[0274]如上文所描述,可存在同置塊的三個實例(例如,CR塊、CIXU塊及BR塊,如上文關于圖10所描述)。在一些實例中,視頻解碼器30可檢查CR塊、CIXU塊及BR塊中的每一者以確定哪些同置塊是用視差運動矢量予以視圖間預測。在一些實例中,視頻解碼器30可檢查CR塊、CLCU塊及BR塊中的一或多者,但不檢查所有三個塊。舉例來說,視頻解碼器30在一種情況下可不檢查BR塊、在一種情況下可不檢查CR塊,且在一種情況下可不檢查CIXU塊。
[0275]在一些實例中,視頻解碼器30檢查同置塊的三個實例的順序?qū)τ诓煌晥D中的圖片不同。舉例來說,對于第一視圖中的圖片,視頻解碼器30首先檢查CR塊,隨后檢查CLCU塊,且接著檢查BR塊,以確定這些塊中的任一者是否用視差運動矢量予以視圖間預測。對于第二視圖中的圖片,視頻解碼器30首先檢查BR ±夾,隨后檢查CR ±夾,且接著檢查CIXU塊,以確定這些塊中的任一者是否用視差運動矢量予以視圖間預測。
[0276]對于每一 CR塊或CIXU塊,視頻解碼器30可光柵掃描CR塊或CIXU塊中的每一4X4塊以確定所述4X4塊中的任一者是否用視差運動矢量予以視圖間預測。在視頻解碼器30光柵掃描CIXU塊的實例中,視頻解碼器30可跳過CR塊的4 X 4塊,且不確定CR塊的4 X 4塊中的任一者是否用視差運動矢量予以視圖間預測。
[0277]然而,檢查每一 4X4時間上相鄰塊可并非必要的。舉例來說,如上文所描述,視頻解碼器30可歸因于運動矢量壓縮而存儲用于包括16個4X4塊的一個16X 16區(qū)的運動矢量信息,而非用于所述4X4塊中的每一者的運動矢量信息。在這些實例中,視頻解碼器30可按光柵掃描順序檢查16X16區(qū)以確定用于16X16區(qū)的運動矢量是否為視差運動矢量。在同置圖片位于不同訪問單元中但位于同一視圖中的實例中,及在同置圖片位于同一訪問單元中但位于不同視圖中的實例中,視頻解碼器30可在16X16區(qū)中進行檢查。
[0278]16X16區(qū)是作為一個實例被描述且不應被視為限制性的。在一些實例中,所述區(qū)可大于或小于16X 16,且可基于視頻解碼器30壓縮用于時間上相鄰塊(例如,在同一視圖但不同時間例項中的圖片中的塊,或在不同視圖但相同時間例項中的圖片中的塊)的運動矢量信息的方式。
[0279]在一些實例中,視頻解碼器30可在NXN塊上的同置塊上進行光柵掃描,其中2NX2N為最小譯碼單元(CU)的大小。在一些實例中,視頻解碼器30可在預測單元(PU)上進行光柵掃描。
[0280]根據(jù)本發(fā)明所描述的技術(shù),在識別至少一個視差運動矢量(例如,基于空間上相鄰塊及時間上相鄰塊的掃描)之后,視頻解碼器30可出于不同目的而利用所述視差運動矢量。作為一個實例,視頻解碼器30可將視差運動矢量包括在用于當前塊的候選視差矢量列表中,且對于AMVP模式及合并模式,用于由選定候選視差矢量所指的塊的運動矢量信息包括在候選運動矢量預測值列表中。作為另一實例,視頻解碼器30可將視差運動矢量包括在候選運動矢量預測值列表中。在這個實例中,在一些情況下,視頻解碼器30可通過將視差運動矢量的y分量設置為等于零來修改視差運動矢量。
[0281]盡管以上實例技術(shù)是根據(jù)視頻解碼器30的觀點予以描述,但本發(fā)明所描述的技術(shù)并不受到如此限制。一般而言,視頻編碼器20可經(jīng)配置以實施相似于上文關于視頻解碼器30而描述的技術(shù)的技術(shù)。此外,在一些實例中,視頻解碼器30經(jīng)配置以實施本發(fā)明所描述的技術(shù),且視頻編碼器20并非如此。在一些實例中,視頻編碼器20經(jīng)配置以實施本發(fā)明所描述的技術(shù),且視頻解碼器30并非如此。在一些實例中,視頻編碼器20及視頻解碼器30兩者經(jīng)配置以實施本發(fā)明所描述的技術(shù)。
[0282]因此,本發(fā)明描述經(jīng)配置以確定用于第一視圖中的圖片中的區(qū)的運動矢量是否為視差運動矢量的視頻譯碼器(例如,視頻編碼器20及/或視頻解碼器30)。在這個實例中,所述區(qū)時間上或空間上相鄰于待預測的當前塊。舉例來說,所述區(qū)包括一或多個時間上或空間上相鄰塊,且用于此區(qū)的運動矢量表示針對一個參考圖片列表的用于多個時間上或空間上相鄰塊的單一運動矢量。舉例來說,如果從兩個參考圖片列表予以幀間預測,那么用于所述區(qū)的一個運動矢量表示針對一個參考圖片列表(例如,RefPicListO或RefPicListl中的一者)的用于一或多個塊的單一運動矢量,且用于所述區(qū)的另一運動矢量表示針對另一參考圖片列表(例如,RefPicListO或RefPicListl中的另一者)的用于一或多個塊的單一運動矢量。視頻譯碼器經(jīng)進一步配置以將視差運動矢量包括在用于當前塊的候選視差矢量列表中。此外,在一些實例中,當前塊為瞬時解碼器刷新(IDR)或清潔隨機訪問(CRA)圖片的塊。
[0283]在區(qū)為空間上相鄰區(qū)的實例中,所述區(qū)可為包括兩個4X4塊的8X4區(qū)。在這個實例中,包括空間上相鄰區(qū)的圖片也包括待預測的當前塊。在區(qū)為時間上相鄰區(qū)的實例中,所述區(qū)可為包括16個4X4塊的16X16區(qū)。在這個實例中,包括時間上相鄰區(qū)的圖片不包括當前塊。如上文所描述,如果壓縮未用于存儲用于時間上及/或空間上相鄰塊的運動矢量信息,那么空間上相鄰區(qū)及/或時間上相鄰區(qū)可包括一個塊而非多個塊。
[0284]根據(jù)本發(fā)明所描述的技術(shù),視頻譯碼器可經(jīng)配置以確定參考圖片列表(例如,RefPicListO及RefPicListl中的一者或兩者)中識別的圖片中的時間上相鄰區(qū)是否用視差運動矢量予以視圖間預測。舉例來說,在視頻譯碼器確定第一圖片的區(qū)是否被視圖間預測之后,視頻譯碼器確定第二圖片的區(qū)是否被視圖間預測。如果第二圖片的區(qū)被視圖間預測,那么視頻譯碼器將用于第二圖片的區(qū)的視差運動矢量包括在用于當前塊的候選視差矢量列表中。
[0285]在這個實例中,第一圖片及第二圖片兩者屬于參考圖片列表。此外,在一些實例中,所述參考圖片列表按遞增順序識別第一圖片及第二圖片。舉例來說,識別參考圖片列表中的第一圖片的參考索引小于識別參考圖片列表中的第二圖片的參考索引。換言之,在參考圖片列表中,第一圖片是早于第二圖片被識別。
[0286]此外,視頻譯碼器可出于視圖間預測目的(諸如,對于合并模式及AMVP模式)而利用視差運動矢量。舉例來說,視頻譯碼器將視差運動矢量設置為用于當前塊的視差矢量。視頻譯碼器確定視差矢量所指的塊。視頻譯碼器也確定用于視差矢量所指的塊的運動矢量,且將經(jīng)確定運動矢量包括在候選運動矢量預測值列表中。視頻譯碼器接著可基于所述候選運動矢量預測值中的一者來幀間預測當前塊。
[0287]在一些實例中,視頻譯碼器將視差運動矢量包括在候選運動矢量預測值列表中。舉例來說,視頻譯碼器通過將視差運動矢量的y分量設置為等于零來修改視差運動矢量,且將經(jīng)修改視差運動矢量包括在候選運動矢量預測值列表中。
[0288]在一些實例中,視頻譯碼器可實施用于視圖間殘差預測的本發(fā)明所描述的技術(shù)。舉例來說,視頻譯碼器可確定視差矢量所指的塊,且可使用視差矢量所指的塊(即,經(jīng)確定塊)的殘余信息以幀間預測當前塊的殘余信息。
[0289]圖12為說明可實施本發(fā)明所描述的技術(shù)的視頻編碼器的實例的框圖。舉例來說,圖12說明可執(zhí)行視頻切片內(nèi)的視頻塊的幀內(nèi)譯碼及幀間譯碼的視頻編碼器20。舉例來說,視頻編碼器20可執(zhí)行幀間預測編碼或幀內(nèi)預測編碼。幀內(nèi)譯碼依賴于空間預測以縮減或移除給定視頻幀或圖片內(nèi)的視頻中的空間冗余。幀間譯碼依賴于時間預測以縮減或移除視頻序列的鄰近幀或圖片內(nèi)的視頻中的時間冗余。幀內(nèi)模式(I模式)可指若干基于空間的壓縮模式中的任一者。諸如單向預測(P模式)或雙向預測(B模式)的幀間模式可指若干基于時間的壓縮模式中的任一者。
[0290]在圖12的實例中,視頻編碼器20包括分割單元152、預測處理單元154、參考圖片存儲器176、求和器162、變換處理單元164、量化處理單元166及熵編碼單元168。預測處理單元154包括運動估計單元156、運動補償單元158及巾貞內(nèi)預測單元160。對于視頻塊重建,視頻編碼器20也包括反量化處理單元170、反變換處理單元172及求和器174。也可包括去塊濾波器(圖12中未圖示)以對塊邊界進行濾波以從經(jīng)重建視頻移除塊假象。視需要,去塊濾波器通常將對求和器174的輸出進行濾波。除了去塊濾波器以外,也可使用額外環(huán)路濾波器(環(huán)路內(nèi)或環(huán)路后)。參考圖片存儲器176為經(jīng)解碼圖片緩沖器(DPB)的一個實例。
[0291]如圖12所示,視頻編碼器20接收視頻數(shù)據(jù),且分割單元152將所述數(shù)據(jù)分割成視頻塊。這種分割也可包括分割成切片、圖像塊或其它較大單元,以及視頻塊分割(例如,根據(jù)LCU及CU的四叉樹結(jié)構(gòu))。視頻編碼器20通常說明編碼待編碼的視頻切片內(nèi)的視頻塊的組件。所述切片可劃分成多個視頻塊(且可能地劃分成被稱作圖像塊的視頻塊集合)。預測處理單元154可基于誤差結(jié)果(例如,譯碼速率及失真程度)來選擇用于當前視頻塊的多個可能譯碼模式中的一者,諸如,多個幀內(nèi)譯碼模式中的一者或多個幀間譯碼模式中的一者。預測處理單元154可將所得經(jīng)幀內(nèi)譯碼或經(jīng)幀間譯碼塊提供到求和器162以產(chǎn)生殘余塊數(shù)據(jù),且將所得經(jīng)幀內(nèi)譯碼或經(jīng)幀間譯碼塊提供到求和器174以重建經(jīng)編碼塊以用作參考圖片。
[0292]預測處理單元154內(nèi)的幀內(nèi)預測單元160可執(zhí)行當前視頻塊相對于在與待譯碼的當前塊相同的幀或切片中的一或多個相鄰塊的幀內(nèi)預測性譯碼以提供空間壓縮。預測處理單元154內(nèi)的運動估計單元156及運動補償單元158執(zhí)行當前視頻塊相對于一或多個參考圖片中的一或多個預測性塊的幀間預測性譯碼以提供時間壓縮。
[0293]運動估計單元156可經(jīng)配置以根據(jù)用于視頻序列的預定樣式來確定用于視頻切片的幀間預測模式。所述預定樣式可將所述序列中的視頻切片指定為P切片或B切片。運動估計單元156及運動補償單元158可高度地整合,但出于概念目的而被獨立地說明。由運動估計單元156執(zhí)行的運動估計為產(chǎn)生估計用于視頻塊的運動的運動矢量的進程。舉例來說,運動矢量可指示當前視頻幀或圖片內(nèi)的視頻塊的PU相對于參考圖片內(nèi)的預測性塊的位移。
[0294]預測性塊為被發(fā)現(xiàn)在像素差方面接近地匹配于待譯碼的視頻塊的的塊,像素差可通過絕對差總和(SAD)、平方差總和(SSD)或其它差指標確定。在一些實例中,視頻編碼器20可計算存儲在參考圖片存儲器176中的參考圖片的次整數(shù)像素位置的值。舉例來說,視頻編碼器20可內(nèi)插參考圖片的四分之一像素位置、八分之一像素位置或其它小數(shù)像素位置的值。因此,運動估計單元156可執(zhí)行相對于全像素位置及小數(shù)像素位置的運動搜索且輸出具有小數(shù)像素精度的運動矢量。
[0295]運動估計單元156通過比較PU的位置與參考圖片的預測性塊的位置而計算用于經(jīng)幀間譯碼切片中的視頻塊的PU的運動矢量。參考圖片可選自第一參考圖片列表(RefPicListO)或第二參考圖片列表(RefPicListl),所述列表中的每一者識別存儲在參考圖片存儲器176中的一或多個參考圖片。運動估計單元156將經(jīng)計算運動矢量發(fā)送到熵編碼單元168及運動補償單元158。
[0296]由運動補償單元158執(zhí)行的運動補償可涉及基于由運動估計確定的運動矢量來提取或產(chǎn)生預測性塊,從而可能地執(zhí)行到子像素精度的內(nèi)插。在接收到用于當前視頻塊的PU的運動矢量后,運動補償單元158即可在參考圖片列表中的一者中定位運動矢量所指向的預測性塊。視頻編碼器20通過從正被譯碼的當前視頻塊的像素值減去預測性塊的像素值來形成殘余視頻塊,從而形成像素差值。像素差值形成用于塊的殘余數(shù)據(jù),且可包括亮度差分量及色度差分量兩者。求和器162表示執(zhí)行這種減去運算的組件。運動補償單元158也可產(chǎn)生與視頻塊及視頻切片相關聯(lián)的語法元素以供視頻解碼器30用來解碼視頻切片的視頻塊。運動估計單元156及運動補償單元158也可一起實施幀間預測,其中塊是相對于另一視圖中的塊予以幀間預測。
[0297]作為由運動估計單元156及運動補償單元158執(zhí)行的幀間預測(如上文所描述)的替代例,幀內(nèi)預測單元160可幀內(nèi)預測當前塊。詳言之,幀內(nèi)預測單元160可確定用以編碼當前塊的幀內(nèi)預測模式。在一些實例中,幀內(nèi)預測單元160可(例如)在獨立編碼遍次期間使用各種幀內(nèi)預測模式來編碼當前塊,且?guī)瑑?nèi)預測單元160(或在一些實例中,模式選擇單元)可從經(jīng)測試模式選擇待使用的適當幀內(nèi)預測模式。舉例來說,幀內(nèi)預測單元160可使用針對各種經(jīng)測試幀內(nèi)預測模式的速率-失真分析來計算速率-失真值,且在經(jīng)測試模式當中選擇具有最佳速率-失真特性的幀內(nèi)預測模式。速率-失真分析通常確定經(jīng)編碼塊與經(jīng)編碼以產(chǎn)生經(jīng)編碼塊的原始未經(jīng)編碼塊之間的失真(或誤差)的量,以及用以產(chǎn)生經(jīng)編碼塊的位速率(即,位的數(shù)目)。幀內(nèi)預測單元160可計算來自針對各種經(jīng)編碼塊的失真及速率的比率以確定哪一幀內(nèi)預測模式展現(xiàn)所述塊的最佳速率-失真值。
[0298]在任何狀況下,在選擇用于塊的幀內(nèi)預測模式之后,幀內(nèi)預測單元160可將指示用于塊的選定幀內(nèi)預測模式的信息提供到熵編碼單元168。熵編碼單元168可根據(jù)本發(fā)明的技術(shù)來編碼指示選定幀內(nèi)預測模式的信息。視頻編碼器20可在可包括多個幀內(nèi)預測模式索引表及多個經(jīng)修改幀內(nèi)預測模式索引表(也被稱作碼字映射表)的經(jīng)傳輸位流配置數(shù)據(jù)中包括用于各種塊的編碼上下文的定義,及用于所述上下文中的每一者的最可能幀內(nèi)預測模式、幀內(nèi)預測模式索引表及經(jīng)修改幀內(nèi)預測模式索引表的指示。
[0299]在預測處理單元154經(jīng)由幀間預測或幀內(nèi)預測而產(chǎn)生用于當前視頻塊的預測性塊之后,視頻編碼器20通過從當前視頻塊減去預測性塊而形成殘余視頻塊。殘余塊中的殘余視頻數(shù)據(jù)可包括在一或多個TU中且應用于變換處理單元164。變換處理單元164使用諸如離散余弦變換(DCT)或概念上相似變換的變換將殘余視頻數(shù)據(jù)變換成殘余變換系數(shù)。變換處理單元164可將殘余視頻數(shù)據(jù)從像素域轉(zhuǎn)換到變換域,諸如,頻域。
[0300]變換處理單元164可將所得變換系數(shù)發(fā)送到量化處理單元166。量化處理單元166量化變換系數(shù)以進一步縮減位速率。所述量化進程可縮減與所述系數(shù)中的一些或全部相關聯(lián)的位深度??赏ㄟ^調(diào)整量化參數(shù)來修改量化程度。在一些實例中,量化處理單元166接著可執(zhí)行包括經(jīng)量化變換系數(shù)的矩陣的掃描。替代地,熵編碼單元168可執(zhí)行所述掃描。
[0301]在量化之后,熵編碼單元168熵編碼經(jīng)量化變換系數(shù)。舉例來說,熵編碼單元168可執(zhí)行上下文自適應可變長度譯碼(CAVLC)、上下文自適應二進制算術(shù)譯碼(CABAC)、基于語法的上下文自適應二進制算術(shù)譯碼(SBAC)、概率區(qū)間分割熵(PIPE)譯碼或另一熵編碼方法或技術(shù)。在由熵編碼單元168進行的熵編碼之后,可將經(jīng)編碼位流傳輸?shù)揭曨l解碼器30或加以存檔以供稍后由視頻解碼器30傳輸或檢索。熵編碼單元168也可熵編碼用于正被譯碼的當前視頻切片的運動矢量及其它語法元素。
[0302]反量化處理單元170及反變換處理單元172分別應用反量化及反變換,以在像素域中重建殘余塊以供稍后用作參考圖片的參考塊。運動補償單元158可通過將殘余塊加到參考圖片列表中的一者內(nèi)的參考圖片中的一者的預測性塊來計算參考塊。運動補償單元158也可將一或多個內(nèi)插濾波器應用于經(jīng)重建殘余塊以計算次整數(shù)像素值以供運動估計中使用。求和器174將經(jīng)重建殘余塊加到由運動補償單元158產(chǎn)生的經(jīng)運動補償預測塊以產(chǎn)生參考塊以供存儲在參考圖片存儲器176中。參考塊可由運動估計單元156及運動補償單元158用作參考塊以幀間預測后續(xù)視頻幀或圖片中的塊。
[0303]如此,視頻編碼器20為經(jīng)配置以實施本發(fā)明所描述的一或多種實例技術(shù)的視頻編碼器的實例。舉例來說,預測處理單元154可經(jīng)配置以基于空間上及時間上相鄰區(qū)的視差運動矢量來確定用于當前塊的視差矢量。預測處理單元154也可經(jīng)配置以利用經(jīng)確定視差矢量來確定用于候選運動矢量預測值列表的候選運動矢量預測值。在一些實例中,預測處理單元154可修改經(jīng)確定視差矢量,且將經(jīng)修改的經(jīng)確定視差矢量包括在候選運動矢量預測值列表中。預測處理單元154也可經(jīng)配置用于視圖間運動預測及視圖間殘差預測。
[0304]在一些實例中,除了預測處理單元154以外的單元可實施上文所描述的實例。在一些其它實例中,預測處理單元154結(jié)合視頻編碼器20的一或多個其它單元可實施上文所描述的實例。在一些實例中,視頻編碼器20的處理器或單元(圖12中未圖示)可單獨地或結(jié)合視頻編碼器20的其它單元實施上文所描述的實例。
[0305]圖13為說明可實施本發(fā)明所描述的技術(shù)的視頻解碼器的實例的框圖。舉例來說,視頻解碼器30可執(zhí)行幀間預測解碼或幀內(nèi)預測解碼。圖13說明視頻解碼器30。在圖13的實例中,視頻解碼器30包括熵解碼單元180、預測處理單元181、反量化處理單元186、反變換處理單元188、求和器190及參考圖片存儲器192。預測處理單元181包括運動補償單元182及幀內(nèi)預測單元184。在一些實例中,視頻解碼器30可執(zhí)行與關于來自圖12的視頻編碼器20而描述的編碼遍次大體上互逆的解碼遍次。參考圖片存儲器192為經(jīng)解碼圖片緩沖器(DPB)的一個實例。
[0306]在解碼進程期間,視頻解碼器30從視頻編碼器20接收表示經(jīng)編碼視頻切片的視頻塊及關聯(lián)語法元素的經(jīng)編碼視頻位流。視頻解碼器30的熵解碼單元180熵解碼所述位流以產(chǎn)生經(jīng)量化系數(shù)、運動矢量及其它語法元素。熵解碼單元180將所述運動矢量及其它語法元素轉(zhuǎn)發(fā)到預測處理單元181。視頻解碼器30可在視頻切片級別及/或視頻塊級別處接收語法元素。
[0307]當視頻切片經(jīng)譯碼為經(jīng)幀內(nèi)譯碼⑴切片時,預測處理單元181的幀內(nèi)預測單元184可基于經(jīng)發(fā)信的幀內(nèi)預測模式及來自當前幀或圖片的經(jīng)先前解碼塊的數(shù)據(jù)來產(chǎn)生用于當前視頻切片的視頻塊的預測數(shù)據(jù)。當視頻幀經(jīng)譯碼為經(jīng)幀間譯碼(即,B或P)切片時,預測處理單元181的運動補償單元182基于從熵解碼單元180接收的運動矢量及其它語法元素來產(chǎn)生用于當前視頻切片的視頻塊的預測性塊。所述預測性塊可從參考圖片列表中的一者內(nèi)的參考圖片中的一者予以產(chǎn)生。視頻解碼器30可基于存儲在參考圖片存儲器192中的參考圖片而使用默認構(gòu)造技術(shù)來構(gòu)造參考圖片列表(RefPicListO及RefPicListl)。
[0308]運動補償單元182通過分析運動矢量及其它語法元素來確定用于當前視頻切片的視頻塊的預測信息,且使用所述預測信息以產(chǎn)生用于正被解碼的當前視頻塊的預測性塊。舉例來說,運動補償單元182使用經(jīng)接收語法元素中的一些以確定用以譯碼視頻切片的視頻塊的預測模式(例如,幀內(nèi)預測或幀間預測)、幀間預測切片類型(例如,B切片或P切片)、用于所述切片的參考圖片列表中的一或多者的構(gòu)造信息、用于所述切片的每一經(jīng)幀間編碼視頻塊的運動矢量、用于所述切片的每一經(jīng)幀間譯碼視頻塊的幀間預測狀態(tài),及用以解碼當前視頻切片中的視頻塊的其它信息。
[0309]運動補償單元182也可基于內(nèi)插濾波器來執(zhí)行內(nèi)插。運動補償單元182可使用如由視頻編碼器20在視頻塊的編碼期間使用的內(nèi)插濾波器以計算參考塊的次整數(shù)像素的內(nèi)插值。在這種狀況下,運動補償單元182可從經(jīng)接收語法元素確定由視頻編碼器20使用的內(nèi)插濾波器且使用所述內(nèi)插濾波器以產(chǎn)生預測性塊。
[0310]反量化處理單元186反量化(即,去量化)位流中提供且由熵解碼單元180解碼的經(jīng)量化變換系數(shù)。所述反量化進程可包括使用由視頻編碼器20針對視頻切片中的每一視頻塊計算的量化參數(shù)以確定量化程度,且同樣地確定應該應用的反量化程度。反變換處理單元188將反變換(例如,反DCT、反整數(shù)變換或概念上相似反變換進程)應用于變換系數(shù)以便在像素域中產(chǎn)生殘余塊。
[0311]在運動補償單元182基于運動矢量及其它語法元素來產(chǎn)生用于當前視頻塊的預測性塊之后,視頻解碼器30通過對來自反變換處理單元188的殘余塊與由運動補償單元182產(chǎn)生的對應預測性塊進行求和來形成經(jīng)解碼視頻塊。求和器190表示執(zhí)行此求和運算的組件。視需要,也可應用去塊濾波器以對經(jīng)解碼塊進行濾波以便移除塊假象。也可使用其它環(huán)路濾波器(在譯碼環(huán)路中或在譯碼環(huán)路之后)以使像素轉(zhuǎn)變平滑,或以其它方式改善視頻質(zhì)量。接著將給定圖片中的經(jīng)解碼視頻塊存儲在參考圖片存儲器192中,參考圖片存儲器192存儲用于后續(xù)運動補償?shù)膮⒖紙D片。參考圖片存儲器192也存儲供稍后呈現(xiàn)于諸如圖1的顯示裝置32的顯示裝置上的經(jīng)解碼視頻。
[0312]如此,視頻解碼器30為經(jīng)配置以實施本發(fā)明所描述的一或多種實例技術(shù)的視頻解碼器的實例。舉例來說,預測處理單元181可經(jīng)配置以基于空間上及時間上相鄰區(qū)的視差運動矢量來確定用于當前塊的視差矢量。預測處理單元181也可經(jīng)配置以利用經(jīng)確定視差矢量來確定用于候選運動矢量預測值列表的候選運動矢量預測值。在一些實例中,預測處理單元181可修改經(jīng)確定視差矢量,且將經(jīng)修改的經(jīng)確定視差矢量包括在候選運動矢量預測值列表中。預測處理單元181也可經(jīng)配置以執(zhí)行視圖間運動預測及視圖間殘差預測。
[0313]在一些實例中,除了預測處理單元181以外的單元可實施上文所描述的實例。在一些實例中,預測處理單元181結(jié)合視頻解碼器30的一或多個其它單元可實施上文所描述的實例。在又一些其它實例中,視頻解碼器30的處理器或單元(圖13中未圖示)可單獨地或結(jié)合視頻解碼器30的其它單元實施上文所描述的實例。
[0314]圖14為根據(jù)本發(fā)明所描述的一或多種技術(shù)的說明視頻解碼器的實例操作的流程圖。視頻解碼器的一個實例為視頻解碼器30。如圖14所說明,視頻解碼器30可確定用于區(qū)的運動矢量是否為視差運動矢量(194)。舉例來說,所述區(qū)可包括一或多個塊,且可在多個視圖中的第一視圖中的圖片內(nèi)。用于區(qū)的運動矢量可表示針對一個參考圖片列表(即,RefPicListO或RefPicListl)的用于區(qū)內(nèi)的一或多個塊的單一運動矢量。出于簡單起見,在用于區(qū)的運動矢量是針對參考圖片列表中的一者的情況下描述技術(shù)。在一些狀況下,可存在用于區(qū)的兩個運動矢量。在這些實例中,可存在用于一個參考圖片列表的區(qū)內(nèi)的所有塊的單一運動矢量,及用于另一參考圖片列表的區(qū)內(nèi)的所有塊的單一運動矢量。
[0315]所述區(qū)可相鄰于(例如,空間上相鄰于、時間上相鄰于)當前塊。所述區(qū)也可空間上或時間上相鄰于塊,所述塊空間上或時間上相鄰于當前塊。此外,如果運動矢量是指第二不同視圖中(例如,不同于包括具有所述區(qū)的圖片的視圖的視圖中)的圖片,那么運動矢量可為視差運動矢量。
[0316]響應于確定用于圖片中的區(qū)的運動矢量為視差運動矢量,視頻解碼器30可確定用于所述區(qū)的視差運動矢量是否為用于當前塊的視差矢量(196)??纱嬖谝曨l解碼器30可確定用于所述區(qū)的視差運動矢量是否為用于當前塊的視差矢量的各種方式。作為一個實例,視頻解碼器30可檢查空間上相鄰塊以確定空間視差矢量(SDV)、檢查時間上相鄰區(qū)以確定時間視差矢量(TDV)、檢查空間上/時間上相鄰塊的空間上/時間上相鄰區(qū)以確定隱式視差矢量(IDV)。視頻解碼器30可構(gòu)造包括SDV、TDV及IDV的候選視差矢量列表,且可選擇所述候選視差矢量中的一者作為用于當前塊的視差矢量。作為另一實例,視頻解碼器30可選擇第一視差運動矢量作為用于當前塊的視差矢量。可存在視頻解碼器30確定用于所述區(qū)的視差運動矢量是否為用于當前塊的視差矢量的其它實例方式。
[0317]視頻解碼器30幀間預測解碼當前塊(198)。舉例來說,如果確定用于區(qū)的視差運動矢量為用于當前塊的視差矢量,那么視頻解碼器30使用視差運動矢量作為用于當前塊的視差矢量來幀間預測解碼當前塊。幀間預測解碼是指由視頻解碼器30執(zhí)行的幀間預測。舉例來說,視頻解碼器30可確定視差矢量所指的塊。視頻解碼器30可確定用于視差矢量所指的塊的運動矢量,且將用于視差矢量所指的塊的運動矢量包括在候選運動矢量預測值列表中。在這個實例中,作為合并模式或高級運動矢量預測(AMVP)模式的部分,當用于視差矢量所指的塊的運動矢量是選自候選運動矢量預測值列表時,視頻解碼器30可基于用于視差矢量所指的塊的運動矢量來幀間預測解碼當前塊。
[0318]圖15為根據(jù)本發(fā)明所描述的一或多種技術(shù)的說明視頻編碼器的實例操作的流程圖。視頻編碼器的一個實例為視頻編碼器20。一般而言,關于確定用于當前塊的視差矢量,視頻編碼器20可執(zhí)行與上文在圖14中針對視頻解碼器30所描述的技術(shù)相似的技術(shù)。
[0319]舉例來說,視頻編碼器20可確定用于區(qū)的運動矢量是否為視差運動矢量(200)。視頻編碼器20可確定用于區(qū)的運動矢量是否為視差運動矢量,其確定方式相似于上文在圖14中關于視頻解碼器30所描述的方式。響應于確定用于圖片中的區(qū)的運動矢量為視差運動矢量,視頻編碼器20確定用于所述區(qū)的視差運動矢量是否為用于當前塊的視差矢量
(202)。可存在視頻編碼器20可確定用于所述區(qū)的視差運動矢量是否為用于當前塊的視差矢量的各種方式,且所述方式可相似于視頻解碼器30確定用于所述區(qū)的視差運動矢量是否為用于當前塊的視差矢量的方式。視頻編碼器20幀間預測編碼當前塊(204)。舉例來說,如果確定用于區(qū)的視差運動矢量為用于當前塊的視差矢量,那么視頻編碼器20使用視差運動矢量作為用于當前塊的視差矢量進行幀間預測編碼(204)。幀間預測編碼是指由視頻編碼器20執(zhí)行的幀間預測,且視頻編碼器20可以相似于視頻解碼器30的方式但出于編碼視頻數(shù)據(jù)的目的而幀間預測編碼當前塊。如上文所描述,視頻解碼器30可出于解碼視頻數(shù)據(jù)的目的而執(zhí)行幀間預測解碼。
[0320]圖16為根據(jù)本發(fā)明所描述的一或多種技術(shù)的說明視頻譯碼器的實例操作的流程圖。視頻編碼器20及/或視頻解碼器30可經(jīng)配置以實施圖16所說明的實例技術(shù)。
[0321]舉例來說,視頻譯碼器確定用于空間上或時間上相鄰區(qū)的運動矢量是否為視差運動矢量(206)??臻g上相鄰區(qū)(例如,包括兩個4X4塊的8X4區(qū))是在與待預測塊相同的圖片中。時間上相鄰區(qū)(例如,包括16個4X4塊的16X16區(qū))是在不同于包括待預測塊的圖片的圖片中。在一些實例中,視頻譯碼器可確定用于空間上或時間上相鄰于空間上或時間上相鄰塊的區(qū)的運動矢量是否為視差運動矢量。用于所述區(qū)的運動矢量表示用于所述區(qū)內(nèi)的多個塊的單一運動矢量。
[0322]此外,對于時間上相鄰區(qū),視頻譯碼器可評估用于當前塊的一個或兩個參考圖片列表(即,用于包括當前塊的圖片的經(jīng)構(gòu)造參考圖片列表)中的每一圖片。對于每一圖片,視頻譯碼器可確定所述圖片是否包括用視差運動矢量予以幀間預測的時間上相鄰區(qū)。在一些實例中,視頻譯碼器按遞增順序評估參考圖片列表中的每一圖片。此外,視頻譯碼器基于collocated_from_10_flag的值來首先評估RefPicListO中的圖片或首先評估RefPicListl中的圖片。在其它實例中,視頻譯碼器首先評估RefPicListO中的圖片,且接著評估RefPicListl中的圖片,或反之亦然,而不管collocated_from_10_flag的值。
[0323]在圖16的實例中,視頻譯碼器將視差運動矢量包括在候選視差矢量列表中
(208)。如果視頻譯碼器從候選視差矢量列表選擇這個視差運動矢量,那么視頻譯碼器確定由所述視差運動矢量所指的塊的運動矢量(210)。在這個實例中,視頻譯碼器將經(jīng)確定運動矢量包括在用于當前塊的候選運動矢量預測值列表中(212)。在一些實例中,視頻譯碼器也將視差運動矢量的經(jīng)修改版本包括在候選運動矢量預測值列表中(例如,y分量被設置為等于零的視差運動矢量)(214)。
[0324]在一些狀況下,視頻譯碼器基于指示通向候選運動矢量預測值列表的索引的經(jīng)譯碼語法元素來選擇候選運動矢量預測值(216)。視頻譯碼器接著使用高級運動矢量預測(AMVP)模式或合并模式來幀間預測當前塊(218)。
[0325]在一或多個實例中,所描述功能可以硬件、軟件、固件或其任何組合予以實施。如果以軟件予以實施,那么所述功能可作為一或多個指令或代碼而存儲在計算機可讀媒體上或經(jīng)由計算機可讀媒體而傳輸,且由基于硬件的處理單元執(zhí)行。計算機可讀媒體可包括計算機可讀存儲媒體(其對應于諸如數(shù)據(jù)存儲媒體的有形媒體)或通信媒體,通信媒體包括(例如)根據(jù)通信協(xié)議促進計算機程序從一處傳送到另一處的任何媒體。如此,計算機可讀媒體一般可對應于(I)非暫時性的有形計算機可讀存儲媒體,或(2)諸如信號或載波的通信媒體。數(shù)據(jù)存儲媒體可為可由一或多個計算機或一或多個處理器訪問以檢索指令、代碼及/或數(shù)據(jù)結(jié)構(gòu)以用于實施本發(fā)明中所描述的技術(shù)的任何可用媒體。計算機程序產(chǎn)品可包括計算機可讀媒體。
[0326]作為實例而非限制,這些計算機可讀存儲媒體可包含RAM、ROM、EEPROM、CD-ROM或其它光盤存儲裝置、磁盤存儲裝置或其它磁性存儲裝置,閃速存儲器,或可用以存儲呈指令或數(shù)據(jù)結(jié)構(gòu)的形式的所要代碼且可由計算機訪問的任何其它媒體。此外,將任何連接適當?shù)胤Q為計算機可讀媒體。舉例來說,如果使用同軸電纜、光纖電纜、雙絞線、數(shù)字用戶線(DSL)或諸如紅外線、無線電及微波的無線技術(shù)而從網(wǎng)站、服務器或其它遠程源傳輸指令,那么同軸電纜、光纖電纜、雙絞線、DSL或諸如紅外線、無線電及微波的無線技術(shù)包括在媒體的定義中。然而,應理解,計算機可讀存儲媒體及數(shù)據(jù)存儲媒體不包括連接、載波、信號或其它暫時性媒體,而替代地有關于非暫時性有形存儲媒體。如本文所使用,磁盤及光盤包括壓縮光盤(CD)、激光光盤、光學光盤、數(shù)字多功能光盤(DVD)、軟盤及藍光光盤,其中磁盤通常以磁性方式重現(xiàn)數(shù)據(jù),而光盤通過激光以光學方式重現(xiàn)數(shù)據(jù)。以上各者的組合也應包括在計算機可讀媒體的范圍內(nèi)。
[0327]指令可由諸如以下各者的一或多個處理器執(zhí)行:一或多個數(shù)字信號處理器(DSP)、一般用途微處理器、專用集成電路(ASIC)、現(xiàn)場可編程邏輯陣列(FPGA),或其它等效集成或離散邏輯電路。因此,如本文所使用,術(shù)語“處理器”可指前述結(jié)構(gòu)或適合于實施本文所描述的技術(shù)的任何其它結(jié)構(gòu)中的任一者。另外,在一些方面,本文所描述的功能性可提供在經(jīng)配置以用于編碼及解碼的專用硬件及/或軟件模塊內(nèi),或并入在組合式編碼解碼器中。此外,可將所述技術(shù)完全實施在一或多個電路或邏輯元件中。
[0328]本發(fā)明的技術(shù)可實施在各種各樣的裝置或儀器中,所述裝置或儀器包括無線手機、集成電路(IC)或IC集合(例如,芯片集)。在本發(fā)明中描述各種組件、模塊或單元以強調(diào)經(jīng)配置以執(zhí)行所揭示技術(shù)的裝置的功能方面,但未必需要通過不同硬件單元而實現(xiàn)。更確切地,如上文所描述,各種單元可組合在編碼解碼器硬件單元中,或由包括如上文所描述的一或多個處理器的互操作性硬件單元集合結(jié)合合適軟件及/或固件而提供。
[0329]在一些實例中,用包含視頻解碼器的裝置或包含視頻編碼器的裝置來描述所述技術(shù)。所述裝置可為諸如無線通信裝置的獨立裝置。在一些實例中,所述裝置可為微處理器或集成電路。在這些實例中,所述微處理器或集成電路可在適當時包括視頻解碼器或視頻編碼器。在一些實例中,所述視頻解碼器及視頻編碼器可為獨立微處理器或集成電路。
[0330]已描述各種實例。這些及其它實例是在所附權(quán)利要求書的范圍內(nèi)。
【權(quán)利要求】
1.一種用于解碼視頻數(shù)據(jù)的方法,所述方法包含: 確定用于多個視圖中的第一視圖中的圖片中的區(qū)的運動矢量是否為視差運動矢量,其中所述區(qū)相鄰于待預測的當前塊,所述區(qū)包括一或多個塊,用于所述區(qū)的所述運動矢量表示針對一個參考圖片列表的用于所述一或多個塊的單一運動矢量,且所述視差運動矢量是指第二不同視圖中的圖片; 響應于確定用于所述圖片中的所述區(qū)的所述運動矢量為所述視差運動矢量而確定用于所述區(qū)的所述視差運動矢量是否為用于所述當前塊的視差矢量;及 幀間預測解碼所述當前塊,其中如果確定用于所述區(qū)的所述視差運動矢量為用于所述當前塊的所述視差矢量,那么所述解碼使用用于所述區(qū)的所述視差運動矢量作為用于所述當前塊的所述視差矢量。
2.根據(jù)權(quán)利要求1所述的方法,其中確定用于所述第一視圖中的所述圖片中的所述區(qū)的所述運動矢量是否為視差運動矢量包含確定用于空間上相鄰于所述當前塊的空間上相鄰區(qū)的所述運動矢量是否為所述視差運動矢量,且其中所述圖片包括所述空間上相鄰區(qū)且包括所述當前塊。
3.根據(jù)權(quán)利要求2所述的方法,其中所述空間上相鄰區(qū)包含包括兩個4X4塊的8X4區(qū)。
4.根據(jù)權(quán)利要求1所述的方法,其中確定用于所述第一視圖中的所述圖片中的所述區(qū)的所述運動矢量是否為視差運動矢量包含確定用于時間上相鄰于所述當前塊的時間上相鄰區(qū)的所述運動矢量是否為所述視差運動矢量,且其中所述圖片包括所述時間上相鄰區(qū)且不包括所述當前塊。
5.根據(jù)權(quán)利要求4所述的方法,其中所述時間上相鄰區(qū)包含包括16個4X4塊的16X16 區(qū)。
6.根據(jù)權(quán)利要求1所述的方法,其進一步包含: 當用于所述區(qū)的所述運動矢量是從相鄰于所述區(qū)的塊的視差運動矢量導出時,確定所述區(qū)為隱式視差預測區(qū) '及 響應于確定所述區(qū)為所述隱式視差預測區(qū),確定相鄰于所述區(qū)的所述塊的所述視差運動矢量是否為用于所述當前塊的所述視差矢量, 其中,如果用于所述區(qū)的所述視差運動矢量不為用于所述當前塊的所述視差矢量,那么在確定相鄰于所述區(qū)的所述塊的所述視差運動矢量為用于所述當前塊的所述視差矢量時,所述解碼使用用于相鄰于所述區(qū)的所述塊的所述視差運動矢量作為用于所述當前塊的所述視差矢量。
7.根據(jù)權(quán)利要求1所述的方法,其進一步包含: 確定所述視差矢量所指的塊; 確定用于所述視差矢量所指的所述塊的運動矢量;及 將用于所述視差矢量所指的所述塊的所述運動矢量包括于候選運動矢量預測值列表中, 其中幀間預測解碼所述當前塊包含:作為合并模式或高級運動矢量預測AMVP模式的部分,當用于所述視差矢量所指的所述塊的所述運動矢量是選自所述候選運動矢量預測值列表時,基于用于所述視差矢量所指的所述塊的所述運動矢量來幀間預測解碼所述當前塊。
8.根據(jù)權(quán)利要求1所述的方法,其進一步包含: 確定所述視差矢量所指的塊, 其中幀間預測解碼所述當前塊包含使用所述經(jīng)確定塊的殘余信息以幀間預測所述當前塊的殘余信息。
9.根據(jù)權(quán)利要求1所述的方法,其進一步包含: 修改所述視差運動矢量;及 將所述經(jīng)修改視差運動矢量包括于用于所述當前塊的候選運動矢量預測值列表中。
10.根據(jù)權(quán)利要求9所述的方法,其中修改所述視差運動矢量包含將所述視差運動矢量的y分量設置為等于零。
11.根據(jù)權(quán)利要求1所述的方法,其中所述當前塊可為瞬時解碼器刷新IDR或清潔隨機訪問CRA圖片的塊。
12.一種用于編碼視頻數(shù)據(jù)的方法,所述方法包含: 確定用于多個視圖中的第一視圖中的圖片中的區(qū)的運動矢量是否為視差運動矢量,其中所述區(qū)相鄰于待預測的當前塊,所述區(qū)包括一或多個塊,用于所述區(qū)的所述運動矢量表示針對一個參考圖片列表的用于所述一或多個塊的單一運動矢量,且所述視差運動矢量是指第二不同視圖中的圖片; 響應于確定用于所述圖片中的所述區(qū)的所述運動矢量為所述視差運動矢量而確定用于所述區(qū)的所述視差運動矢量是否為用于所述當前塊的視差矢量;及 幀間預測編碼所述當前塊,其中如果確定用于所述區(qū)的所述視差運動矢量為用于所述當前塊的所述視差矢量,那么所述編碼使用用于所述區(qū)的所述視差運動矢量作為用于所述當前塊的所述視差矢量。
13.根據(jù)權(quán)利要求12所述的方法,其中確定用于所述第一視圖中的所述圖片中的所述區(qū)的所述運動矢量是否為視差運動矢量包含確定用于空間上相鄰于所述當前塊的空間上相鄰區(qū)的所述運動矢量是否為所述視差運動矢量,且其中所述圖片包括所述空間上相鄰區(qū)且包括所述當前塊。
14.根據(jù)權(quán)利要求13所述的方法,其中所述空間上相鄰區(qū)包含包括兩個4X4塊的8X4 區(qū)。
15.根據(jù)權(quán)利要求12所述的方法,其中確定用于所述第一視圖中的所述圖片中的所述區(qū)的所述運動矢量是否為視差運動矢量包含確定用于時間上相鄰于所述當前塊的時間上相鄰區(qū)的所述運動矢量是否為所述視差運動矢量,且其中所述圖片包括所述時間上相鄰區(qū)且不包括所述當前塊。
16.根據(jù)權(quán)利要求15所述的方法,其中所述時間上相鄰區(qū)包含包括16個4X4塊的16X16 區(qū)。
17.根據(jù)權(quán)利要求12所述的方法,其進一步包含: 當用于所述區(qū)的所述運動矢量是從相鄰于所述區(qū)的塊的視差運動矢量導出時,確定所述區(qū)為隱式視差預測區(qū) '及 響應于確定所述區(qū)為所述隱式視差預測區(qū),確定相鄰于所述區(qū)的所述塊的所述視差運動矢量是否為用于所述當前塊的所述視差矢量, 其中,如果用于所述區(qū)的所述視差運動矢量不為用于所述當前塊的所述視差矢量,那么在確定相鄰于所述區(qū)的所述塊的所述視差運動矢量為用于所述當前塊的所述視差矢量時,所述編碼使用用于相鄰于所述區(qū)的所述塊的所述視差運動矢量作為用于所述當前塊的所述視差矢量。
18.根據(jù)權(quán)利要求12所述的方法,其進一步包含: 確定所述視差矢量所指的塊, 其中幀間預測編碼所述當前塊包含使用所述經(jīng)確定塊的殘余信息以幀間預測所述當前塊的殘余信息。
19.根據(jù)權(quán)利要求12所述的方法,其進一步包含: 修改所述視差運動矢量;及 將所述經(jīng)修改視差運動矢量包括于用于所述當前塊的候選運動矢量預測值列表中。
20.根據(jù)權(quán)利要求19所述的方法,其中修改所述視差運動矢量包含將所述視差運動矢量的y分量設置為等于零。
21.根據(jù)權(quán)利要求12所述的方法,其中所述當前塊為瞬時解碼器刷新IDR或清潔隨機訪問CRA圖片的所述當前塊。
22.一種用于解碼視頻數(shù)據(jù)的裝置,所述裝置包含視頻解碼器,所述視頻解碼器經(jīng)配置以: 確定用于多個視圖中的第一視圖中的圖片中的區(qū)的運動矢量是否為視差運動矢量,其中所述區(qū)相鄰于待預測的當前塊,所述區(qū)包括一或多個塊,用于所述區(qū)的所述運動矢量表示針對一個參考圖片列表的用于所述一或多個塊的單一運動矢量,且所述視差運動矢量是指第二不同視圖中的圖片; 響應于確定用于所述圖片中的所述區(qū)的所述運動矢量為所述視差運動矢量而確定用于所述區(qū)的所述視差運動矢量是否為用于所述當前塊的視差矢量;及 幀間預測解碼所述當前塊,其中為了解碼所述當前塊,如果確定用于所述區(qū)的所述視差運動矢量為用于所述當前塊的所述視差矢量,那么所述視頻解碼器使用用于所述區(qū)的所述視差運動矢量作為用于所述當前塊的所述視差矢量。
23.根據(jù)權(quán)利要求22所述的裝置,其中為了確定用于所述第一視圖中的所述圖片中的所述區(qū)的所述運動矢量是否為視差運動矢量,所述視頻解碼器經(jīng)配置以確定用于空間上相鄰于所述當前塊的空間上相鄰區(qū)的所述運動矢量是否為所述視差運動矢量,且其中所述圖片包括所述空間上相鄰區(qū)且包括所述當前塊。
24.根據(jù)權(quán)利要求23所述的裝置,其中所述空間上相鄰區(qū)包含包括兩個4X4塊的8X4 區(qū)。
25.根據(jù)權(quán)利要求22所述的裝置,其中為了確定用于所述第一視圖中的所述圖片中的所述區(qū)的所述運動矢量是否為視差運動矢量,所述視頻解碼器經(jīng)配置以確定用于時間上相鄰于所述當前塊的時間上相鄰區(qū)的所述運動矢量是否為所述視差運動矢量,且其中所述圖片包括所述時間上相鄰區(qū)且不包括所述當前塊。
26.根據(jù)權(quán)利要求25所述的裝置,其中所述時間上相鄰區(qū)包含包括16個4X4塊的16X16 區(qū)。
27.根據(jù)權(quán)利要求22所述的裝置,其中所述視頻解碼器經(jīng)配置以: 當用于所述區(qū)的所述運動矢量是從相鄰于所述區(qū)的塊的視差運動矢量導出時,確定所述區(qū)為隱式視差預測區(qū) '及 響應于確定所述區(qū)為所述隱式視差預測區(qū),確定相鄰于所述區(qū)的所述塊的所述視差運動矢量是否為用于所述當前塊的所述視差矢量, 其中,如果用于所述區(qū)的所述視差運動矢量不為用于所述當前塊的所述視差矢量,那么為了解碼所述當前塊,在確定相鄰于所述區(qū)的所述塊的所述視差運動矢量為用于所述當前塊的所述視差矢量時,所述視頻解碼器使用用于相鄰于所述區(qū)的所述塊的所述視差運動矢量作為用于所述當前塊的所述視差矢量。
28.根據(jù)權(quán)利要求22所述的裝置,其中所述視頻解碼器經(jīng)配置以: 確定所述視差矢量所指的塊; 確定用于所述視差矢量所指的所述塊的運動矢量;及 將用于所述視差矢量所指的所述塊的所述運動矢量包括于候選運動矢量預測值列表中, 其中,為了幀間預測解碼所述當前塊,所述視頻解碼器經(jīng)配置以:作為合并模式或高級運動矢量預測AMVP模式的部分,當用于所述視差矢量所指的所述塊的所述運動矢量是選自所述候選運動矢量預測值列表時,基于用于所述視差矢量所指的所述塊的所述運動矢量來幀間預測解碼所述當前塊。
29.根據(jù)權(quán)利要求22所述的裝置,其中所述視頻解碼器經(jīng)配置以: 確定所述視差矢量所指的塊, 其中,為了幀間預測解碼所述當前塊,所述視頻解碼器經(jīng)配置以使用所述經(jīng)確定塊的殘余信息以幀間預測所述當前塊的殘余信息。
30.根據(jù)權(quán)利要求22所述的裝置,其中所述視頻解碼器經(jīng)配置以: 修改所述視差運動矢量;及 將所述經(jīng)修改視差運動矢量包括于用于所述當前塊的候選運動矢量預測值列表中。
31.根據(jù)權(quán)利要求30所述的裝置,其中,為了修改所述視差運動矢量,所述視頻解碼器經(jīng)配置以將所述視差運動矢量的y分量設置為等于零。
32.根據(jù)權(quán)利要求22所述的裝置,其中所述當前塊為瞬時解碼器刷新IDR或清潔隨機訪問CRA圖片的所述當前塊。
33.根據(jù)權(quán)利要求22所述的裝置,其中所述裝置包含以下各者中的一者: 無線通信裝置; 微處理器;及 集成電路。
34.一種用于編碼視頻數(shù)據(jù)的裝置,所述裝置包含視頻編碼器,所述視頻編碼器經(jīng)配置以: 確定用于多個視圖中的第一視圖中的圖片中的區(qū)的運動矢量是否為視差運動矢量,其中所述區(qū)相鄰于待預測的當前塊,所述區(qū)包括一或多個塊,用于所述區(qū)的所述運動矢量表示針對一個參考圖片列表的用于所述一或多個塊的單一運動矢量,且所述視差運動矢量是指第二不同視圖中的圖片; 響應于確定用于所述圖片中的所述區(qū)的所述運動矢量為所述視差運動矢量而確定用于所述區(qū)的所述視差運動矢量是否為用于所述當前塊的視差矢量;及 幀間預測編碼所述當前塊,其中為了編碼所述當前塊,如果確定用于所述區(qū)的所述視差運動矢量為用于所述當前塊的所述視差矢量,那么所述視頻編碼器使用用于所述區(qū)的所述視差運動矢量作為用于所述當前塊的所述視差矢量。
35.根據(jù)權(quán)利要求34所述的裝置,其中,為了確定用于所述第一視圖中的所述圖片中的所述區(qū)的所述運動矢量是否為視差運動矢量,所述視頻編碼器經(jīng)配置以確定用于空間上相鄰于所述當前塊的空間上相鄰區(qū)的所述運動矢量是否為所述視差運動矢量,且其中所述圖片包括所述空間上相鄰區(qū)且包括所述當前塊。
36.根據(jù)權(quán)利要求35所述的裝置,其中所述空間上相鄰區(qū)包含包括兩個4X4塊的8X4 區(qū)。
37.根據(jù)權(quán)利要求34所述的裝置,其中,為了確定用于所述第一視圖中的所述圖片中的所述區(qū)的所述運動矢量是否為視差運動矢量,所述視頻編碼器經(jīng)配置以確定用于時間上相鄰于所述當前塊的時間上相鄰區(qū)的所述運動矢量是否為所述視差運動矢量,且其中所述圖片包括所述時間上相鄰區(qū)且不包括所述當前塊。
38.根據(jù)權(quán)利要求37所述的裝置,其中所述時間上相鄰區(qū)包含包括16個4X4塊的16X16 區(qū)。
39.根據(jù)權(quán)利要求34所述的裝置,其中所述視頻編碼器經(jīng)配置以: 當用于所述區(qū)的所述運動矢量是從相鄰于所述區(qū)的塊的視差運動矢量導出時,確定所述區(qū)為隱式視差預測區(qū) '及 響應于確定所述區(qū)為所述隱式視差預測區(qū),確定相鄰于所述區(qū)的所述塊的所述視差運動矢量是否為用于所述當前塊的所述視差矢量, 其中,如果用于所述區(qū)的所述視差運動矢量不為用于所述當前塊的所述視差矢量,那么為了編碼所述當前塊,在確定相鄰于所述區(qū)的所述塊的所述視差運動矢量為用于所述當前塊的所述視差矢量時,所述視頻編碼器使用用于相鄰于所述區(qū)的所述塊的所述視差運動矢量作為用于所述當前塊的所述視差矢量。
40.根據(jù)權(quán)利要求34所述的裝置,其中所述視頻編碼器經(jīng)配置以: 確定所述視差矢量所指的塊, 其中,為了幀間預測編碼所述當前塊,所述視頻編碼器經(jīng)配置以使用所述經(jīng)確定塊的殘余信息以幀間預測所述當前塊的殘余信息。
41.根據(jù)權(quán)利要求34所述的裝置,其中所述視頻編碼器經(jīng)配置以: 修改所述視差運動矢量;及 將所述經(jīng)修改視差運動矢量包括于用于所述當前塊的候選運動矢量預測值列表中。
42.根據(jù)權(quán)利要求41所述的裝置,其中,為了修改所述視差運動矢量,所述視頻編碼器經(jīng)配置以將所述視差運動矢量的y分量設置為等于零。
43.根據(jù)權(quán)利要求34所述的裝置,其中所述當前塊為瞬時解碼器刷新IDR或清潔隨機訪問CRA圖片的所述當前塊。
44.一種用于解碼視頻數(shù)據(jù)的裝置,所述裝置包含: 用于確定用于多個視圖中的第一視圖中的圖片中的區(qū)的運動矢量是否為視差運動矢量的裝置,其中所述區(qū)相鄰于待預測的當前塊,所述區(qū)包括一或多個塊,用于所述區(qū)的所述運動矢量表示針對一個參考圖片列表的用于所述一或多個塊的單一運動矢量,且所述視差運動矢量是指第二不同視圖中的圖片; 用于響應于確定用于所述圖片中的所述區(qū)的所述運動矢量為所述視差運動矢量而確定用于所述區(qū)的所述視差運動矢量是否為用于所述當前塊的視差矢量的裝置;及 用于幀間預測解碼所述當前塊的裝置,其中如果確定用于所述區(qū)的所述視差運動矢量為用于所述當前塊的所述視差矢量,那么所述用于幀間預測解碼的裝置使用用于所述區(qū)的所述視差運動矢量作為用于所述當前塊的所述視差矢量。
45.根據(jù)權(quán)利要求44所述的裝置,其中所述用于確定用于所述第一視圖中的所述圖片中的所述區(qū)的所述運動矢量是否為視差運動矢量的裝置包含用于確定用于空間上相鄰于所述當前塊的空間上相鄰區(qū)的所述運動矢量是否為所述視差運動矢量的裝置,且其中所述圖片包括所述空間上相鄰區(qū)且包括所述當前塊。
46.根據(jù)權(quán)利要求45所述的裝置,其中所述空間上相鄰區(qū)包含包括兩個4X4塊的8X4 區(qū)。
47.根據(jù)權(quán)利要求44所述的裝置,其中所述用于確定用于所述第一視圖中的所述圖片中的所述區(qū)的所述運動矢量是否為視差運動矢量的裝置包含用于確定用于時間上相鄰于所述當前塊的時間上相鄰區(qū)的所述運動矢量是否為所述視差運動矢量的裝置,且其中所述圖片包括所述時間上相鄰區(qū)且不包括所述當前塊。
48.根據(jù)權(quán)利要求47所述的裝置,其中所述時間上相鄰區(qū)包含包括16個4X4塊的16X16 區(qū)。
49.一種用于編碼視頻數(shù)據(jù)的裝置,所述裝置包含: 用于確定用于多個視圖中的第一視圖中的圖片中的區(qū)的運動矢量是否為視差運動矢量的裝置,其中所述區(qū)相鄰于待預測的當前塊,所述區(qū)包括一或多個塊,用于所述區(qū)的所述運動矢量表示針對一個參考圖片列表的用于所述一或多個塊的單一運動矢量,且所述視差運動矢量是指第二不同視圖中的圖片; 用于響應于確定用于所述圖片中的所述區(qū)的所述運動矢量為所述視差運動矢量而確定用于所述區(qū)的所述視差運動矢量是否為用于所述當前塊的視差矢量的裝置;及 用于幀間預測編碼所述當前塊的裝置,其中如果確定用于所述區(qū)的所述視差運動矢量為用于所述當前塊的所述視差矢量,那么所述用于幀間預測編碼的裝置使用用于所述區(qū)的所述視差運動矢量作為用于所述當前塊的所述視差矢量。
50.根據(jù)權(quán)利要求49所述的裝置,其中所述用于確定用于所述第一視圖中的所述圖片中的所述區(qū)的所述運動矢量是否為視差運動矢量的裝置包含用于確定用于空間上相鄰于所述當前塊的空間上相鄰區(qū)的所述運動矢量是否為所述視差運動矢量的裝置,且其中所述圖片包括所述空間上相鄰區(qū)且包括所述當前塊。
51.根據(jù)權(quán)利要求50所述的裝置,其中所述空間上相鄰區(qū)包含包括兩個4X4塊的8X4 區(qū)。
52.根據(jù)權(quán)利要求49所述的裝置,其中確定用于所述第一視圖中的所述圖片中的所述區(qū)的所述運動矢量是否為視差運動矢量包含確定用于時間上相鄰于所述當前塊的時間上相鄰區(qū)的所述運動矢量是否為所述視差運動矢量,且其中所述圖片包括所述時間上相鄰區(qū)且不包括所述當前塊。
53.根據(jù)權(quán)利要求52所述的裝置,其中所述時間上相鄰區(qū)包含包括16個4X4塊的16X16 區(qū)。
54.一種存儲有指令的計算機可讀存儲媒體,所述指令在執(zhí)行時使一或多個處理器: 確定用于多個視圖中的第一視圖中的圖片中的區(qū)的運動矢量是否為視差運動矢量,其中所述區(qū)相鄰于待預測的當前塊,所述區(qū)包括一或多個塊,用于所述區(qū)的所述運動矢量表示針對一個參考圖片列表的用于所述一或多個塊的單一運動矢量,且所述視差運動矢量是指第二不同視圖中的圖片; 響應于確定用于所述圖片中的所述區(qū)的所述運動矢量為所述視差運動矢量而確定用于所述區(qū)的所述視差運動矢量是否為用于所述當前塊的視差矢量;及 幀間預測解碼所述當前塊,其中所述使所述一或多個處理器進行解碼的指令包含在確定用于所述區(qū)的所述視差運動矢量為用于所述當前塊的所述視差矢量時使所述一或多個處理器使用用于所述區(qū)的所述視差運動矢量作為用于所述當前塊的所述視差矢量的指令。
55.一種存儲有指令的計算機可讀存儲媒體,所述指令在執(zhí)行時使一或多個處理器: 確定用于多個視圖中的第一視圖中的圖片中的區(qū)的運動矢量是否為視差運動矢量,其中所述區(qū)相鄰于待預測的當前塊,所述區(qū)包括一或多個塊,用于所述區(qū)的所述運動矢量表示針對一個參考圖片列表的用于所述一或多個塊的單一運動矢量,且所述視差運動矢量是指第二不同視圖中的圖片; 響應于確定用于所述圖片中的所述區(qū)的所述運動矢量為所述視差運動矢量而確定用于所述區(qū)的所述視差運動矢量是否為用于所述當前塊的視差矢量;及 幀間預測編碼所述當前塊,其中所述使所述一或多個處理器進行編碼的指令包含在確定用于所述區(qū)的所述視差運動矢量為用于所述當前塊的所述視差矢量時使所述一或多個處理器使用用于所述區(qū)的所述視差運動矢量作為用于所述當前塊的所述視差矢量的指令。
【文檔編號】H04N19/513GK104170380SQ201380013810
【公開日】2014年11月26日 申請日期:2013年3月14日 優(yōu)先權(quán)日:2012年3月14日
【發(fā)明者】張莉, 陳穎, 馬爾塔·卡切維奇 申請人:高通股份有限公司