視頻譯碼中的視差向量選擇的制作方法
【專利摘要】一種視頻譯碼器使用第一視差向量導出過程確定第一視差向量。另外,所述視頻譯碼器使用第二視差向量導出過程確定第二視差向量。所述第一視差向量導出過程不同于所述第二視差向量導出過程。所述視頻譯碼器使用所述第一視差向量來確定當前預測單元PU的一組運動向量預測MVP候選者中的一MVP候選者。所述視頻譯碼器使用所述第二視差向量來確定殘余數據。
【專利說明】視頻譯碼中的視差向量選擇
[0001]本申請案主張2012年6月15日申請的第61/660,632號美國臨時專利申請案以及2012年7月2日申請的第61/667,354號美國臨時專利申請案的權益,所述兩個申請案中的每一者的全部內容以引用的方式并入本文中。
【技術領域】
[0002]本發明涉及視頻譯碼(即,對視頻數據的編碼和/或解碼)。
【背景技術】
[0003]數字視頻能力可并入到大范圍的裝置中,包含數字電視、數字直播系統、無線廣播系統、個人數字助理(PDA)、膝上型或桌上型計算機、平板計算機、電子書閱讀器、數碼相機、數字記錄裝置、數字媒體播放器、視頻游戲裝置、視頻游戲控制臺、蜂窩式或衛星無線電電話、所謂的智能電話摂、視頻會議裝置、視頻串流裝置等等。數字視頻裝置實施視頻壓縮技術,例如由 MPEG-2、MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4 第 10 部分高級視頻譯碼(AVC)、目前在開發中的高效率視頻譯碼(HEVC)標準定義的標準和所述標準的擴展部分中所描述的那些視頻壓縮技術。視頻裝置可通過實施此些視頻壓縮技術來更高效地發射、接收、編碼、解碼和/或存儲數字視頻信息。
[0004]視頻壓縮技術執行空間(圖片內)預測和/或時間(圖片間)預測以減少或移除視頻序列中所固有的冗余。對于基于塊的視頻譯碼,可將一視頻切片(即,視頻幀或視頻幀的一部分)分割成若干視頻塊。使用空間預測相對于同一圖片中的相鄰塊中的參考樣本來編碼圖片的經幀內譯碼(I)切片中的視頻塊。圖片的經幀間譯碼(P或B)切片中的視頻塊可使用相對于同一圖片中的相鄰塊中的參考樣本的空間預測或相對于其它參考圖片中的參考樣本的時間預測。圖片可被稱作幀,且參考圖片可被稱作參考幀。
[0005]空間或時間預測產生對待譯碼的塊的預測性塊。殘差數據表示待譯碼的原始塊與預測性塊之間的像素差。根據指向形成預測性塊的參考樣本塊的運動向量以及指示經譯碼塊與所述預測性塊之間的差的殘差數據來編碼經幀間譯碼塊。根據幀內譯碼模式和殘差數據來編碼經幀內譯碼塊。為了進一步壓縮,可將殘差數據從像素域變換為變換域,從而產生殘余系數,所述殘余系數隨后可被量化。起初布置在二維陣列中的經量化系數可依序掃描以產生系數的一維向量,且可應用熵譯碼以實現更多的壓縮。
[0006]可例如從多個觀點編碼視圖來產生多視圖譯碼位流。已經開發或在開發中的一些三維(3D)視頻標準利用多視圖譯碼方面。舉例來說,不同視圖可傳輸左眼及右眼視圖以支持3D視頻。或者,一些3D視頻譯碼過程可應用所謂的多視圖加深度譯碼。在多視圖加深度譯碼中,3D視頻位流可不僅含有紋理視圖分量而且含有深度視圖分量。舉例來說,每一視圖可包括一個紋理視圖分量及一個深度視圖分量。
【發明內容】
[0007]一般來說,本發明描述用于3D視頻譯碼的視差向量導出。具體來說,視頻譯碼器使用不同的視差向量導出過程,其取決于是否將視差向量用于運動向量預測或殘差預測。因此,視頻譯碼器可使用第一視差向量導出過程確定第一視差向量且可使用第二視差向量導出過程確定第二視差向量。視頻譯碼器使用第一視差向量以確定當前預測單元(PU)的一組運動向量預測(MVP)候選者中的一 MVP候選者。視頻譯碼器使用第二視差向量來確定殘余數據。
[0008]在一個實例中,本發明描述解碼視頻數據的方法,所述方法包括:使用第一視差向量導出過程確定第一視差向量使用第二視差向量導出過程確定第二視差向量,其中所述第一視差向量導出過程不同于所述第二視差向量導出過程;使用所述第一視差向量確定當前PU的一組MVP候選者中的一 MVP候選者;使用所述第二視差向量確定殘余數據;及部分基于所述殘余數據及所述組MVP候選者中的所選擇的MVP候選者而產生經重構圖片的一或多個塊。
[0009]在另一實例中,本發明描述編碼視頻數據的方法,所述方法包括:使用第一視差向量導出過程確定第一視差向量;使用第二視差向量導出過程確定第二視差向量,其中所述第一視差向量導出過程不同于所述第二視差向量導出過程;使用所述第一視差向量確定當前PU的一組MVP候選者中的一 MVP候選者;使用所述第二視差向量確定殘余數據;及產生包含指示用于所述當前PU的殘余數據及所述組MVP候選者中的所選擇的MVP候選者的數據的位流。
[0010]在另一實例中,本發明描述一種視頻譯碼器,其包括一或多個處理器,所述一或多個處理器經配置以:使用第一視差向量導出過程確定第一視差向量;使用第二視差向量導出過程確定第二視差向量,其中所述第一視差向量導出過程不同于所述第二視差向量導出過程;及使用所述第一視差向量確定當前PU的一組MVP候選者中的一 MVP候選者;使用所述第二視差向量確定殘余數據。
[0011]在另一實例中,本發明描述一種視頻譯碼器,其包括:用于使用第一視差向量導出過程確定第一視差向量的裝置;用于使用第二視差向量導出過程確定第二視差向量的裝置,其中所述第一視差向量導出過程不同于所述第二視差向量導出過程;用于使用所述第一視差向量確定當前PU的一組MVP候選者中的一MVP候選者的裝置;及用于使用所述第二視差向量確定殘余數據的裝置。
[0012]在另一實例中,本發明描述一種其上存儲有指令的計算機可讀存儲媒體,所述指令在被執行時配置視頻譯碼器以:使用第一視差向量導出過程確定第一視差向量;使用第二視差向量導出過程確定第二視差向量,其中所述第一視差向量導出過程不同于所述第二視差向量導出過程;使用所述第一視差向量確定當前預測單元(PU)的一組運動向量預測(MVP)候選者中的一 MVP候選者;及使用所述第二視差向量確定殘余數據。
[0013]本發明的一或多個實例的細節在附圖及以下描述中陳述。從描述內容、圖式和權利要求書中將了解其它特征、目的和優點。
【專利附圖】
【附圖說明】
[0014]圖1為說明可利用本發明中所描述的技術的實例性視頻譯碼系統的框圖。
[0015]圖2是說明相對于當前預測單元(PU)的實例性空間運動向量相鄰者的概念圖。
[0016]圖3是說明一條線的實例性2: I運動數據壓縮的概念圖。
[0017]圖4是說明清潔隨機存取(CRA)圖片及前導圖片的概念圖。
[0018]圖5是說明實例性多視圖譯碼解碼次序的概念圖。
[0019]圖6是說明用于多視圖譯碼的實例性預測結構的概念圖。
[0020]圖7是說明實例性空間視差運動向量的概念圖。
[0021]圖8是說明實例性時間視差運動向量的概念圖。
[0022]圖9是說明實例性隱式視差向量的概念圖。
[0023]圖10是說明可實施本發明中描述的技術的實例視頻編碼器的框圖。
[0024]圖11是說明可實施本發明中描述的技術的實例視頻解碼器的框圖。
[0025]圖12是說明用于確定用于高級運動向量預測(AMVP)模式、合并模式中的視差向量以用于運動向量預測及視圖間殘差預測的實例性過程的流程圖。
[0026]圖13是說明用以基于在時間上相鄰的PU來確定當前I3U的視差向量的實例性操作的流程圖。
[0027]圖14是說明候選圖片的實例性候選區的概念圖。
[0028]圖15是說明實例性視差向量產生過程的流程圖。
[0029]圖16是說明用于AMVP及視圖間殘差預測模式的實例性視差向量產生過程的流程圖。
[0030]圖17是說明在空間上與當前I3U相鄰的實例性位置的概念圖。
[0031]圖18是說明圖15及16的視差向量產生過程的實例性接續部分的流程圖。
[0032]圖19是說明圖15、16及17的視差向量產生過程的實例性接續部分的流程圖。
[0033]圖20是說明根據本發明的一或多種技術的視頻編碼器的實例性操作的流程圖。
[0034]圖21是說明根據本發明的一或多種技術的視頻解碼器的實例性操作的流程圖。
【具體實施方式】
[0035]在高效率視頻譯碼(HEVC)中,視頻編碼器可使用合并模式或高級運動向量預測(AMVP)模式用信號發送當前預測單元(PU)的運動信息。當前PU的運動信息可包含一或多個運動向量(MV)、一或多個參考索弓丨及預測方向指示符。
[0036]在視頻編碼器使用合并模式用信號發送當前的運動信息時,視頻編碼器產生包含一組合并候選者的合并候選者列表。所述合并候選者列表可包含指定在空間上或在時間上與當前PU相鄰的的運動信息的合并候選者。在空間上與當前相鄰的PU可在與當前I3U相同的圖片中。在時間上與當前I3U相鄰的PU可至少部分與當前PU位于同一地點,但在與含有當前PU的圖片不同的時間實例處出現的圖片中。視頻編碼器可從合并候選者列表選擇合并候選者中的一者且在所述合并候選者列表內用信號發送所選擇的合并候選者的位置。視頻解碼器可重構相同的合并候選者列表且可基于所述用信號發送的位置來確定所選擇的合并候選者。視頻解碼器可隨后確定當前PU的運動信息與由所選擇的合并候選者指定的運動信息相同。
[0037]在視頻編碼器使用AMVP模式用信號發送當前的運動信息時,視頻編碼器產生包含一組AMVP候選者的AMVP候選者列表。所述AMVP候選者列表可包含指定在空間上或在時間上與當前I3U相鄰的PU的運動信息的AMVP候選者。此外,視頻編碼器可從AMVP候選者列表選擇一 AMVP候選者。視頻編碼器可產生當前的至少一個運動向量差(MVD)。MVD可指示當前的運動向量與所選擇的AMVP候選者的運動向量之間的差。視頻編碼器可用信號發送MVD、參考索引及指示AMVP候選者列表內的所選擇的AMVP候選者的位置的語法元素。視頻解碼器可重構相同的AMVP候選者列表且可基于用信號發送的位置來確定所選擇的AMVP候選者。視頻解碼器可隨后通過將MVD添加到由所選擇的AMVP候選者指定的運動向量來確定當前I3U的運動向量。
[0038]當前正致力于產生HEVC的3維視頻譯碼(3DV)擴展,被稱作3D-HEVC。3D-HEVC提供同一場景的來自不同視點的多個視圖。在3D-HEVC中,在相同時間實例處出現的不同視圖的圖片與相同的“存取單元”相關聯。3D-HEVC支持視圖間預測。視圖間預測類似于用于標準HEVC中的運動補償及可使用相同的語法元素。然而,在視頻譯碼器對執行視圖間預測時,視頻譯碼器可使用在與PU相同的存取單元中但在不同視圖中的圖片作為參考圖片列表中的參考圖片。相比而言,常規的運動補償僅使用不同存取單元中的圖片作為參考圖片。
[0039]如上文所提及,在當前的運動信息是使用合并模式或AMVP模式用信號發送時,視頻譯碼器(例如,視頻編碼器或視頻解碼器)可產生候選者列表(例如,合并候選者列表或AMVP候選者列表)。在3D-HEVC中,所述候選者列表可包含視圖間預測候選者。視頻編碼器可以視頻譯碼器使用候選者列表中的另一候選者相同的方式使用此視圖間預測候選者。
[0040]視圖間預測候選者指定參考的運動信息。所述參考可為參考圖片的PU。所述參考圖片可在與當前I3U相同的存取單元中,但在與當前PU不同的視圖中。為了確定參考PU,視頻譯碼器可確定當前PU的視差向量。當前PU的視差向量可指示當前I3U與參考圖片內的位置之間的水平空間移位。所述參考PU可為覆蓋由視差向量指示的位置的參考圖片的W。
[0041]此外,視頻譯碼器可使用視差向量來定位參考視圖中的殘余塊。此殘余塊可在本文中被稱為殘余參考塊。在針對塊啟用殘差預測時,視頻解碼器可通過將殘余參考塊添加到當前塊的預測性塊及當前塊的用信號發送的殘余塊而重構當前塊。
[0042]在一些情況下,視頻譯碼器可基于空間視差向量(SDV)、時間視差向量(TDV)或隱式視差向量(IDV)來確定當前I3U的視差向量。SDV是在空間上與當前PU相鄰的視差運動向量。TDV是在與當前PU相同的視圖中但在與當前I3U不同的存取單元中的I3U的視差運動向量。如果使用視圖間運動預測來譯碼當前PU的在空間上或在時間上相鄰的W,那么所述在空間上或在時間上相鄰的PU的視差向量是IDV。視差運動向量是指向視圖間參考圖片內的位置的運動向量。視圖間參考圖片是在與當前PU相同的存取單元中但在不同的視圖中的圖片。
[0043]此外,為了確定當前的視差向量,視頻譯碼器可產生包含一組視差向量候選者的視差向量候選者列表。所述視差向量候選者中的每一者指定上文識別的SDV、TDV及IDV中的一者的視差向量。視頻譯碼器可隨后從所述視差向量候選者列表選擇視差向量候選者中的一者。視頻譯碼器可將所選擇的視差運動向量的水平分量用作當前PU的視差向量。以此方式確定當前PU的視差向量可為高效的,這是因為不需要在位流中顯式地用信號發送當前PU的視差向量或用于當前視圖分量的深度圖。
[0044]在其它實例中,視頻譯碼器本身不產生視差向量候選者列表。而是,視頻譯碼器根據特定的預定義次序來處理在空間上及在時間上相鄰的PU。在視頻譯碼器確定在空間上或在時間上相鄰的I3U具有SDV、TDV或IDV時,視頻譯碼器可將所確定的視差運動向量(即,所確定的SDV、TDV或IDV)的水平分量用作當前I3U的視差向量。
[0045]因為當前I3U的視差向量是從視差運動向量(即,SDV、TDV及IDV)導出的,所以針對當前PU所確定的視差向量可能不如在所述視差向量是從深度圖確定時那么準確。此外,視頻譯碼器通常從視差向量候選者列表選擇第一可用的視差向量。然而,來自其它相鄰PU的其它視差向量可比第一可用的視差向量更準確。視差向量上的不準確性可降低譯碼效率,且進而增加所得位流的大小。
[0046]本發明的技術可解決這些問題中的一或多者。舉例來說,視頻譯碼器可使用第一視差向量導出過程確定第一視差向量。此外,視頻譯碼器可使用第二視差向量導出過程確定第二視差向量,其中所述第一視差向量導出過程不同于所述第二視差向量導出過程。視頻譯碼器可使用第一視差向量以確定當前預測單元(PU)的一組運動向量預測(MVP)候選者中的一 MVP候選者。另外,視頻譯碼器可使用第二視差向量來確定殘余數據。通過使用不同的視差向量來用于視圖間運動向量預測及視圖間殘差預測,視頻譯碼器可獲得使得視頻譯碼器能夠更準確地預測運動向量及殘余數據的視差向量。
[0047]圖1為說明可利用本發明的技術的實例性視頻譯碼系統10的框圖。如本文中所使用,術語“視頻譯碼器”一般指代視頻編碼器和視頻解碼器兩者。在本發明中,術語“視頻譯碼”或“譯碼”可一般指代視頻編碼或視頻解碼。
[0048]如圖1中所示,視頻譯碼系統10包含源裝置12和目的地裝置14。源裝置12產生經編碼視頻數據。因此,源裝置12可被稱作視頻編碼裝置或視頻編碼設備。目的地裝置14可對由源裝置12產生的經編碼視頻數據進行解碼。因此,目的地裝置14可被稱作視頻解碼裝置或視頻解碼設備。源裝置12及目的地裝置14可為視頻譯碼裝置或視頻譯碼設備的實例。
[0049]源裝置12和目的地裝置14可包括廣泛范圍的裝置,包含桌上型計算機、移動計算裝置、筆記本(例如,膝上型)計算機、平板計算機、機頂盒、電話手持機(例如,所謂的“智能”電話)、電視、相機、顯示裝置、數字媒體播放器、視頻游戲控制臺、汽車內計算機等。
[0050]目的地裝置14可經由通道16從源裝置12接收經編碼視頻數據。通道16可包括能夠將經編碼視頻數據從源裝置12移動到目的地裝置14的一或多個媒體或裝置。在一個實例中,通道16可包括使得源裝置12能夠實時地將經編碼視頻數據直接發射到目的地裝置14的一或多個通信媒體。在此實例中,源裝置12可根據例如無線通信協議等通信標準來調制經編碼視頻數據,且可將經調制視頻數據發射到目的地裝置14。所述一或多個通信媒體可包含無線或有線通信媒體,例如射頻(RF)頻譜或一或多條物理傳輸線。所述一或多個通信媒體可形成例如局域網、廣域網或全球網絡(例如因特網)的基于包的網絡的部分。所述一或多個通信媒體可包含促進從源裝置12到目的地裝置14的通信的路由器、交換器、基站或其它設備。
[0051]在另一實例中,通道16可包含存儲由源裝置12產生的經編碼視頻數據的存儲媒體。在此實例中,目的地裝置14可(例如)經由磁盤存取或卡存取而存取存儲媒體。所述存儲媒體可包含多種本地存取的數據存儲媒體,例如藍光光盤、DVD、⑶-ROM、快閃存儲器,或用于存儲經編碼視頻數據的其它合適的數字存儲媒體。
[0052]在進一步的實例中,通道16可包含文件服務器或存儲由源裝置12產生的經編碼視頻數據的另一中間存儲裝置。在此實例中,目的地裝置14可經由流式傳輸或下載來存取存儲于文件服務器或其它中間存儲裝置處的經編碼視頻數據。文件服務器可為能夠存儲經編碼視頻數據和將所述經編碼視頻數據發射到目的地裝置14的類型的服務器。實例性文件服務器包含網絡服務器(例如,用于網站)、文件傳遞協議(FTP)服務器、網絡附接式存儲(NAS)裝置,或本地磁盤驅動器。
[0053]目的地裝置14可通過標準的數據連接(例如因特網連接)來存取經編碼視頻數據。數據連接的實例性類型可包含無線通道(例如,W1-Fi連接)、有線連接(例如,DSLJf線調制解調器,等等),或適合于存取存儲于文件服務器上的經編碼視頻數據的以上兩者的組合。經編碼視頻數據從文件服務器的傳輸可為流式傳輸、下載傳輸,或兩者的組合。
[0054]本發明的技術不限于無線應用或環境。所述技術可應用于支持多種多媒體應用(例如,空中電視廣播、有線電視傳輸、衛星電視發射、流式視頻傳輸(例如,經由因特網))的視頻譯碼、供存儲于數據存儲媒體上的視頻數據的編碼、存儲于數據存儲媒體上的視頻數據的解碼,或其它應用。在一些實例中,視頻譯碼系統10可經配置以支持單向或雙向視頻傳輸以支持例如視頻流式傳輸、視頻回放、視頻廣播和/或視頻電話等應用。
[0055]圖1僅是實例,且本發明的技術可應用于在編碼裝置與解碼裝置之間不一定包含任何數據通信的視頻譯碼環境(例如,視頻編碼或視頻解碼)。在其它實例中,從本地存儲器檢索數據,經由網絡流式傳輸數據等。視頻編碼裝置可編碼數據且將數據存儲到存儲器,且/或視頻解碼裝置可從存儲器檢索并解碼數據。在許多實例中,編碼和解碼是由彼此不通信而是僅將數據編碼到存儲器和/或從存儲器檢索并解碼數據的裝置執行。
[0056]在圖1的實例中,源裝置12包含視頻源18、視頻編碼器20和輸出接口 22。在一些實例中,輸出接口 22可包含調制器/解調器(調制解調器)和/或發射器。視頻源18可包含視頻俘獲裝置(例如,攝像機、含有先前俘獲的視頻數據的視頻存檔、用以從視頻內容提供者接收視頻數據的視頻饋送接口),和/或用于產生視頻數據的計算機圖形系統,或此類視頻數據源的組合。
[0057]視頻編碼器20可編碼來自視頻源18的視頻數據。在一些實例中,源裝置12經由輸出接口 22將經編碼視頻數據直接發射到目的地裝置14。在其它實例中,還可將經編碼視頻數據存儲到存儲媒體或文件服務器上以供稍后由目的地裝置14存取以進行解碼和/或回放。
[0058]在圖1的實例中,目的地裝置14包含輸入接口 28、視頻解碼器30和顯示裝置32。在一些實例中,輸入接口 28包含接收器和/或調制器。輸入接口 28可經由通道16接收經編碼視頻數據。顯示裝置32可與目的地裝置14 一起集成,或可在所述目的地裝置外部。一般來說,顯示裝置32顯示經解碼視頻數據。顯示裝置32可包括多種顯示裝置,例如,液晶顯示器(LCD)、等離子體顯示器、有機發光二極管(OLED)顯示器或另一類型的顯示裝置。
[0059]視頻編碼器20和視頻解碼器30各自可經實施為例如一或多個微處理器、數字信號處理器(DSP)、專用集成電路(ASIC)、現場可編程門陣列(FPGA)、離散邏輯、硬件或其任何組合等多種合適電路中的任一者。在所述技術部分地在軟件中實施的情況下,一裝置可將用于軟件的指令存儲于合適的非暫時性計算機可讀存儲媒體中,且可在硬件中使用一或多個處理器來執行所述指令以執行本發明的技術。可將前述內容(包含硬件、軟件、硬件與軟件的組合等)中的任一者視為一或多個處理器。視頻編碼器20和視頻解碼器30中的每一者可包含于一或多個編碼器或解碼器中,所述視頻編碼器和視頻解碼器中的任一者可在相應裝置中被集成為組合式編碼器/解碼器(CODEC)的一部分。
[0060]本發明可一般涉及視頻編碼器20將某一信息“用信號發送”到另一裝置,例如視頻解碼器30。術語“信令”可一般指代用于對經壓縮視頻數據進行解碼的語法元素和/或其它數據的通信。此通信可實時地或準實時地發生。替代地,此通信可在一段時間內發生,例如可能在編碼時在經編碼位流中將語法元素存儲到計算機可讀存儲媒體(例如,可經由文件服務器或流式傳輸服務器存取的存儲媒體或本地可存取的存儲裝置)時發生,所述語法元素隨后可由解碼裝置在被存儲到此媒體之后的任何時間處檢索。
[0061]在一些實例中,視頻編碼器20及視頻解碼器30根據視頻壓縮標準而操作,例如IS0/IEC MPEG-4視覺及ITU-T H.264 (也稱為IS0/IEC MPEG-4 AVC),包含其可縮放視頻譯碼(SVC)擴展、多視圖視頻譯碼(MVC)擴展及基于MVC的3DV擴展。在一些情況下,符合基于MVC的3DV的任何法定位流始終含有順應MVC簡檔(例如,立體聲高簡檔)的子位流。此夕卜,正在致力于產生H.264/AVC的三維視頻(3DV)譯碼擴展,即基于AVC的3DV。在其它實例中,視頻編碼器20及視頻解碼器30可根據以下各者而操作:ITU-T H.26UIS0/IEC MPEG-1視覺、ITU-T H.262 或 IS0/IEC MPEG-2 視覺、ITU-T H.263、IS0/IEC MPEG-4 視覺及 ITU-TH.264、IS0/IEC 視覺。
[0062]在圖1的實例中,視頻編碼器20和視頻解碼器30可根據目前由ITU-T視頻譯碼專家組(VCEG)以及IS0/IEC運動圖片專家組(MPEG)的視頻譯碼聯合合作小組(JCT-VC)開發的高效率視頻譯碼(HEVC)標準來操作。被稱作“HEVC工作草案6”的即將到來的HEVC標準的草案描述于布洛斯(Bross)等人的“高效率視頻譯碼(HEVC)文本規范草案6 (HighEfficiency Video Coding (HEVC) text specificat1n draft 6)”中,ITU-T SG16WP3 和 ISO/IEC JTC1/SC29/WG11的聯合合作視頻譯碼小組(JCT-VC)第7次會議:日內瓦,瑞士,2011年 11 月,其至 2013 年 6 月 13 日為止可從 http://phenix.1t-sudparis.eu/jet/doc_end_user/documents/8_San % 20Jose/wgll/JCTVC-H1003-vl.zip 下載。被稱作 “HEVC 工作草案9”的即將到來的HEVC標準的另一草案描述于布洛斯(Bross)等人的“高效率視頻譯碼(HEVC)文本規范草案 9 (High Efficiency Video Coding (HEVC) text specificat1n draft6)” 中,ITU-T SG16 WP3 和 IS0/IEC JTC1/SC29/WG11 的聯合合作視頻譯碼小組(JCT-VC)第11次會議:中國上海,2012年10月,其至2013年6月13日為止可從http://phenix.1nt-evry.fr/jet/doc_end_user/documents/1l_Shanghai/wglI/JCTVC-K1003-vl3.zip 下載。
[0063]此外,正在致力于產生可縮放視頻譯碼、多視圖譯碼,及HEVC的3DV擴展。HEVC的SVC擴展可被稱為SHEVC。HEVC的3DV擴展可被稱為基于HEVC的3DV或3D-HEVC。3D-HEVC至少部分基于以下文獻中提出的解決方案:施瓦茨等人的“對夫朗和斐的3D視頻譯碼技術提議的描述HHI (HEVC相容的配置A) (Descript1n of3D Video CodingTechnology Proposal by Fraunhofer HHI (HEVC compatible configurat1n A)),,,ISO/IEC JTC1/SC29/WG11,文獻 MPEG11/M22570,瑞士日內瓦,2011 年 11 月 /12 月,下文稱為“m22570”,及施瓦茨等人的“對夫朗和斐的3D視頻譯碼技術提議的描述HHI (HEVC相容的配置 B (Descript1n of 3D Video Coding Technology Proposal by Fraunhofer HHI(HEVCcompatible configurat1n B))),,,ISO/IEC JTC1/SC29/WG11,文獻 MPEG11/M22571,瑞士日內瓦,2011年11月/12月,下文稱為“m22571”對3D-HEVC的參考軟件描述可在以下文獻處得到:施瓦茨等人的“用于基于HEVC的3D視頻譯碼的考慮中的測試模型(Test Modelunder Considerat1n for HEVC based 3D video coding)”, ISO/IEC JTC1/SC29/WG11MPEG2011/N12559,美國圣何塞市,2012年2月。截至2013年6月13日可從https://hevc.hh1.fraunhofer.de/svn/svn_3DVCSoftware/tags/HTM-3.0/ 得到參考軟件,即 HTM 版本3.0。
[0064]在HEVC及其它視頻譯碼標準中,視頻序列通常包含一連串圖片。圖片也可被稱作“幀”。圖片可以包含三個樣本陣列,表示SSpSa以及s&。&是亮度樣本的二維陣列(即,塊)。Sa是Cb色度樣本的二維陣列。S&是Cr色度樣本的二維陣列。色度(chrominance)樣本在本文中還可以被稱為“色度(chroma)”樣本。在其它情況下,圖片可為單色的且可僅包含亮度樣本陣列。
[0065]為了產生圖片的經編碼表示,視頻編碼器20可產生一組譯碼樹單元(CTU)。CTU中的每一者可以是亮度樣本的譯碼樹塊、色度樣本的兩個對應的譯碼樹塊,以及用以對譯碼樹塊的樣本進行譯碼的語法結構。譯碼樹塊可以是樣本的NXN塊。CTU也可以被稱為“樹塊”或“最大譯碼單元”(LCU)。HEVC的CTU可廣義上類似于其它視頻譯碼標準(例如,H.264/AVC)的宏塊。然而,CTU不一定受限于特定大小,且可包含一或多個譯碼單元(⑶)。切片可包含在光柵掃描中連續排序的整數數目的CTU。
[0066]本發明可使用術語“視頻單元”或“視頻塊”來指代一或多個樣本塊及用于譯碼所述一或多個樣本塊的樣本的語法結構。實例類型的視頻單元可包含CTU、CU、PU、變換單元(TU)、宏塊、宏塊分區等。
[0067]為了產生經譯碼的CTU,視頻編碼器20可以對CTU的譯碼樹塊遞歸地執行四叉樹分割,以將譯碼樹塊劃分為譯碼塊,因此命名為“譯碼樹單元”。譯碼塊是樣本的NXN塊。CU可以是具有亮度樣本陣列、Cb樣本陣列和Cr樣本陣列的圖片的亮度樣本的譯碼塊,以及色度樣本的兩個對應的譯碼塊,以及用以對譯碼塊的樣本進行譯碼的語法結構。視頻編碼器20可以將CU的譯碼塊分割成一或多個預測塊。預測塊可以是應用相同預測的樣本的矩形(即,正方形或非正方形)塊。CU的預測單元(PU)可為圖片的亮度樣本的預測塊、所述圖片的色度樣本的兩個對應預測塊,及用于預測所述預測塊樣本的語法結構。視頻編碼器20可以產生用于CU的每一 PU的亮度預測塊、Cb預測塊以及Cr預測塊的預測性亮度塊、Cb塊以及Cr塊。
[0068]視頻編碼器20可使用幀內預測或幀間預測來產生的預測性塊。在視頻編碼器20使用幀內預測來產生PU的預測性塊的情況下,視頻編碼器20可基于與所述PU相關聯的圖片的經解碼樣本來產生PU的預測性塊。
[0069]在視頻編碼器20使用幀內預測來產生的預測性塊的情況下,視頻編碼器20可基于不同于與所述PU相關聯的圖片的一或多個圖片的經解碼樣本來產生的預測性塊。幀間預測可以是單向幀間預測(即,單向預測)或雙向幀間預測(即,雙向預測)。為了執行單向預測或雙向預測,視頻編碼器20可以產生用于當前切片的第一參考圖片列表(RefPicListO)以及第二參考圖片列表(RefPicListl)。參考圖片列表中的每一者可以包含一或多個參考圖片。當使用單向預測時,視頻編碼器20可以搜索RefPicListO以及RefPicListl中的任一者或兩者中的參考圖片,以確定參考圖片內的參考位置。此外,當使用單向預測時,視頻編碼器20可以至少部分基于對應于參考位置的樣本產生用于的預測性樣本塊。此外,在使用單向預測時,視頻編碼器20可產生指示的預測塊與參考位置之間的空間移位的單一運動向量。為了指示PU的預測塊與參考位置之間的空間移位,運動向量可以包含指定PU的預測塊與參考位置之間的水平移位的水平分量并且可以包含指定PU的預測塊與參考位置之間的垂直移位的垂直分量。
[0070]在使用雙向預測來編碼I3U時,視頻編碼器20可確定RefPicListO中的參考圖片中的第一參考位置及RefPicListl中的參考圖片中的第二參考位置。視頻編碼器20可隨后至少部分基于對應于第一和第二參考位置的樣本而產生用于所述PU的預測性塊。此外,當使用雙向預測對PU進行編碼時,視頻編碼器20可以產生指示PU的樣本塊與第一參考位置之間的空間移位的第一運動向量,以及指示PU的預測塊與第二參考位置之間的空間移位的第二運動向量。
[0071]在視頻編碼器20產生⑶的一或多個I3U的預測性亮度、Cb及Cr塊之后,視頻編碼器20可產生CU的亮度殘余塊。CU的亮度殘余塊中的每一樣本可指示CU的預測性亮度塊中的一者中的亮度樣本與CU的原始亮度譯碼塊中的對應樣本之間的差異。另外,視頻編碼器20可產生⑶的Cb殘余塊。⑶的Cb殘余塊中的每一樣本可以指示⑶的預測性Cb塊中的一者中的Cb樣本與CU的原始Cb譯碼塊中的對應樣本之間的差異。視頻編碼器20還可產生⑶的Cr殘余塊。⑶的Cr殘余塊中的每一樣本可以指示⑶的預測性Cr塊中的一者中的Cr樣本與CU的原始Cr譯碼塊中的對應樣本之間的差異。
[0072]此外,視頻編碼器20可使用四叉樹分割將⑶的亮度、Cb及Cr殘余塊分割成一或多個亮度、Cb及Cr變換塊。變換塊可以是對其應用相同變換的樣本的矩形塊。CU的變換單元(TU)可以是亮度樣本的變換塊、色度樣本的兩個對應的變換塊,以及用于對變換塊樣本進行變換的語法結構。因此,CU的每一 TU可以與亮度變換塊、Cb變換塊以及Cr變換塊相關聯。與TU相關聯的亮度變換塊可以是CU的亮度殘余塊的子塊。Cb變換塊可以是CU的Cb殘余塊的子塊。Cr變換塊可以是CU的Cr殘余塊的子塊。
[0073]視頻編碼器20將一或多個變換應用到TU的亮度變換塊以產生TU的亮度系數塊。系數塊可為變換系數的二維陣列。變換系數可以是標量。視頻編碼器20可以將一或多個變換應用到TU的Cb變換塊以產生TU的Cb系數塊。視頻編碼器20可以將一或多個變換應用到TU的Cr變換塊以產生TU的Cr系數塊。
[0074]在產生系數塊(例如,亮度系數塊、Cb系數塊或Cr系數塊)之后,視頻編碼器20可量化系數塊。量化一般指代將變換系數量化以可能地減少用于表示變換系數的數據量從而提供進一步壓縮的過程。此外,視頻編碼器20可將變換系數反量化且對變換系數應用反變換以便重構圖片的⑶的TU的變換塊。視頻編碼器20可使用⑶的TU的經重構變換塊以及⑶的的預測性塊以重構⑶的譯碼塊。通過重構圖片的每一⑶的譯碼塊,視頻編碼器20可以重構所述圖片。視頻編碼器20可將經重構圖片存儲在經解碼圖片緩沖器(DPB)中。視頻編碼器20可以使用DPB中的經重構圖片來用于幀間預測及幀內預測。
[0075]在視頻編碼器20量化系數塊之后,視頻編碼器20可以對指示經量化變換系數的語法元素進行熵編碼。例如,視頻編碼器20可以對指示經量化變換系數的語法元素執行上下文自適應二進制算術譯碼(CABAC)。視頻編碼器20可以在位流中輸出經熵編碼語法元素。
[0076]視頻編碼器20可輸出包含形成經譯碼圖片及相關聯數據的表示的位序列的位流。所述位流可包括網絡抽象層(NAL)單元的序列。所述NAL單元中的每一者包含NAL單元標頭且囊封原始字節序列有效負載(RBSP)。NAL單元標頭可包含指示NAL單元類型代碼的語法元素。由NAL單元的NAL單元標頭指定的所述NAL單元類型代碼指示NAL單元的類型。RBSP可為含有囊封在NAL單元內的整數數目個字節的語法結構。在一些情況下,RBSP包含零個位。
[0077]不同類型的NAL單元可囊封不同類型的RBSP。舉例來說,第一類型的NAL單元可囊封用于圖片參數集(PPS)的RBSP,第二類型的NAL單元可囊封用于經譯碼切片的RBSP,第三類型的NAL單元可囊封用于補充增強信息(SEI)的RBSP,等等。PPS是可含有適用于零個或更多的整個經譯碼圖片的語法元素的語法結構。囊封用于視頻譯碼數據的RBSP(與用于參數集及SEI消息的RBSP相比)的NAL單元可被稱為視頻譯碼層(VCL)NAL單元。囊封經譯碼切片的NAL單元可在本文中被稱為經譯碼切片NAL單元。所述經譯碼切片的RBSP可包含切片標頭和切片數據。
[0078]NAL單兀的標頭包含nuh_reserved_zero_6bits語法兀素。如果NAL單兀涉及多視圖譯碼、3DV譯碼或可縮放視頻譯碼中的基礎層,那么NAL單元的nuh_reserved_zero_6bits語法元素等于O。可在不參考位流的任何其它層中的數據的情況下解碼位流的基礎層中的數據。如果NAL單元不涉及多視圖譯碼、3DV或可縮放視頻譯碼中的基礎層,那么nuh_reserved_zero_6bits語法元素可具有其它非零值。具體地說,如果NAL單元不涉及多視圖譯碼、3DV或可縮放視頻譯碼中的基礎層,那么NAL單元的nuh_reserved_zero_6bits語法元素指定層識別符。
[0079]此外,可在不參考相同層內的其它圖片的情況下解碼層內的一些圖片。因此,可從位流移除囊封一層的某些圖片的數據的NAL單元而不影響所述層中的其它圖片的可解碼性。舉例來說,具有偶數圖片次序計數(POC)值的圖片可為可在不參考具有奇數POC值的圖片的情況下解碼的。POC是與經譯碼圖片相關聯的變量,且具有隨著在輸出次序中圖片位置的增加(相對于在解碼次序中的先前即時解碼刷新(IDR)圖片)而增加的值(如果有的話)。移除囊封此些圖片的數據的NAL單元可能會降低位流的幀速率。層內的可在不參考所述層內的其它圖片而解碼的圖片的子集可在本文中被稱為子層。
[0080]NAL 單兀可包含 nuh_temporal_id_plusl 語法兀素。NAL 單兀的 nuh_temporal_id_plusl語法元素可指定NAL單元的時間識別符(即,temporal_id)。如果第一 NAL單元的時間識別符小于第二 NAL單元的時間識別符,那么可在不參考由第二 NAL單元囊封的數據的情況下解碼由第一 NAL單元囊封的數據。
[0081]位流的操作點各自與一組層識別符(即,一組nuh_reserved_zero_6bits值)及一時間識別符相關聯。所述組層識別符可表示為OpLayerldSet且所述時間識別符可表示為TemporallD。如果NAL單元的層識別符在操作點的一組層識別符中,且NAL單元的時間識別符小于或等于所述操作點的時間識別符,那么所述NAL單元與所述操作點相關聯。操作點表示是與一操作點相關聯的位流子集(即,子位流)。一操作點的操作點表示可包含與所述操作點相關聯的每一 NAL單元。所述操作點表示不包含不與所述操作點相關聯的VCLNAL單元。
[0082]外部源可指定用于一操作點的一組目標層識別符。舉例來說,例如媒體感知網絡元件(MANE)或內容傳遞網絡(CDN)裝置等中間網絡裝置可指定所述組目標層識別符。在此實例中,所述中間網絡裝置可使用所述組目標層識別符來識別操作點。所述中間網絡裝置可隨后提取用于所述操作點的操作點表示且將所述操作點表示而不是原始位流轉發到客戶端裝置。提取所述操作點表示且將所述操作點表示轉發到客戶端裝置可降低位流的位速率。
[0083]視頻解碼器30可接收位流。另外,視頻解碼器30可解析所述位流以解碼來自所述位流的語法元素。視頻解碼器30可至少部分基于從位流解碼的語法元素來重構視頻數據的圖片。重構視頻數據的過程可一般與由視頻編碼器20執行的過程互逆。舉例來說,視頻解碼器30可使用PU的運動向量來確定當前CU的PU的預測性塊視頻解碼器30可使用PU的一個或多個運動向量來產生I3U的預測性塊
[0084]另外,視頻解碼器30可對與CU的TU相關聯的系數塊進行反量化。視頻解碼器30可對系數塊執行反變換以重構與當前CU的TU相關聯的變換塊。通過將用于當前CU的PU的預測性樣本塊的樣本增加到當前CU的TU的變換塊的對應樣本,視頻解碼器30可以重構當前CU的譯碼塊。通過重構用于圖片的每一 CU的譯碼塊,視頻解碼器30可以重構所述圖片。視頻解碼器30可將經解碼圖片存儲在經解碼圖片緩沖器中以用于輸出且/或用于解碼其它圖片。
[0085]在視頻譯碼器(例如,視頻編碼器20或視頻解碼器30)開始譯碼圖片的當前切片時,視頻譯碼器可初始化第一參考圖片列表(即,列表O)。此外,如果所述當前切片是B切片,那么視頻譯碼器可初始化第二參考圖片列表(即,列表I)。本發明可將列表O稱為“RefPicListO”且可將列表I稱為“RefPicListl”。在視頻譯碼器已初始化參考圖片列表(例如,列表O或列表I)之后,視頻譯碼器可修改所述參考圖片列表中的參考圖片的次序。換句話說,視頻譯碼器可執行參考圖片列表修改(RPLM)過程。視頻譯碼器可以任何次序修改參考圖片的次序,包含其中一個特定參考圖片可出現在參考圖片列表中的一個以上位置中的情況。此外,在對HEVC的一些提議中,視頻譯碼器可產生組合參考圖片列表(B卩,列表C)。列表C還可在本文中被稱為“RefPicListC”)。視頻譯碼器可在將RPLM過程應用于列表O及列表I之后從列表O及列表I建構列表C。舉例來說,對于B切片,在已經建構最終參考圖片列表(RefPicListO及RefPicListl)之后建構組合列表(RefPicListC)。如果列表C存在RPLM語法元素,那么視頻解碼器30可進一步修改列表C。
[0086]在一些情況下,視頻編碼器20可使用合并模式或高級運動向量預測(AMVP)模式用信號發送PU的運動信息。換句話說,在HEVC中,存在用于預測運動參數的兩個模式,一個是合并模式且另一個是AMVP。PU的運動信息可以包含I3U的運動向量以及I3U的參考索弓I。在視頻編碼器20使用合并模式用信號發送當前的運動信息時,視頻編碼器20產生包合并候選者列表(即,運動向量預測符(MVP)候選者列表)。換句話說,視頻編碼器20可執行運動向量預測符列表建構過程。所述合并候選者列表包含一組合并候選者(即,MVP候選者)。所述合并候選者列表可包含指示在空間上或在時間上與當前PU相鄰的PU的運動信息的合并候選者。也就是說,在合并模式中,建構運動參數(例如,參考索引、運動向量等)的候選者列表,其中候選者可來自空間及時間相鄰塊。
[0087]此外,在合并模式中,視頻編碼器20可從所述合并候選者列表選擇一合并候選者且可使用由所選擇的合并候選者指示的運動信息作為當前PU的運動信息。視頻編碼器20可用信號發送所選擇的合并候選者在合并候選者列表中的位置。舉例來說,視頻編碼器20可通過將索引發射到候選者列表中而用信號發送所選擇的運動向量參數。視頻解碼器30可從位流獲得進入候選者列表的索引(即,候選者列表索引)。另外,視頻解碼器30可產生相同的合并候選者列表且可基于所選擇的合并候選者的位置的指示來確定所選擇的合并候選者。接著,視頻解碼器30可以使用所選候選的合并候選者的運動信息以產生當前PU的預測性塊。也就是說,視頻解碼器30可至少部分基于所述候選者列表索引來確定候選者列表中的所選擇的候選者,其中所選擇的候選者指定當前PU的運動向量。以此方式,在解碼器側處,一旦索引被解碼,對應塊的所有運動參數,其中索引點將由當前PU繼承。
[0088]跳過模式類似于合并模式。在跳過模式中,視頻編碼器20及視頻解碼器30以視頻編碼器20及視頻解碼器30在合并模式中使用合并候選者列表相同的方式產生并使用合并候選者列表。然而,在視頻編碼器20使用跳過模式用信號發送當前PU的運動信息時,視頻編碼器20不用信號發送當前的任何殘余數據。因此,視頻解碼器30可使用由合并候選者列表中的所選擇的候選者的運動信息指示的參考塊作為所述PU的預測性塊。
[0089]AMVP模式類似于合并模式,類似之處在于視頻編碼器20產生候選者列表并且從候選者列表選擇候選者。然而,當視頻編碼器20使用AMVP模式用信號發送當前的運動信息時,除了用信號發送候選者列表中的所選擇的候選者的位置之外,視頻編碼器20還可以用信號發送當前I3U的運動向量差(MVD)以及參考索引。當前PU的MVD可指示當前PU的運動向量與來自AMVP候選者列表的所選擇的候選者的運動向量之間的差。在單向預測中,視頻編碼器20可以用信號發送當前PU的一個MVD以及一個參考標引。在雙向預測中,視頻編碼器20可以用信號發送當前PU的兩個MVD以及兩個參考索引。以此方式,視頻編碼器20可通過將索引發射到候選者列表中來用信號發送所選擇的運動向量且可用信號發送參考索引值及MVD。換句話說,在位流中的表示當前PU的運動向量的數據可包含表示參考索引的數據、到候選者列表的索引及MVD。
[0090]此外,在使用AMVP模式用信號發送當前的運動信息時,視頻編碼器30可從所述位流獲得當前PU的MVD及候選者列表索引。視頻解碼器30可產生相同的AMVP候選者列表且可基于AMVP候選者列表中的所選擇的合并候選者的位置的指示來確定所選擇的合并候選者。視頻解碼器30可通過將MVD添加到由所選擇的候選者指示的運動向量來恢復當前PU的運動向量。也就是說,視頻解碼器30可至少部分基于由所選擇的候選者指示的運動向量及MVD來確定當前I3U的運動向量。視頻解碼器30可隨后使用當前I3U的所恢復的運動向量來產生當前PU的預測性塊。
[0091]如上文所指示,用于合并模式或AMVP的候選者列表可包含基于在空間上與當前PU相鄰的的候選者。本發明可將此類稱為在空間上相鄰的或空間運動向量相鄰者。圖2是說明相對于當前PU 40的實例性空間運動向量相鄰者的概念圖。也就是說,在圖2中描繪I3U 40與PU 40的在空間上相鄰的PU之間的實例性關系。在圖2的實例中,在空間上相鄰的I3U可為覆蓋指示為AciAJc^B1及B2的位置的PU。在PU的預測塊包含一位置時,PU可覆蓋所述位置。
[0092]關于圖2的實例,亮度位置(xP,yP)可相對于當前圖片的左上方亮度樣本指定TO40的左上方亮度樣本。此外,變量nPSW及nPSH可分別表示PU 40的亮度樣本中的寬度及高度。相對于當前圖片的左上方樣本的I3U N的左上方亮度樣本是(xN,yN),其中N表示覆蓋位置A0、A” B。、B1或B2的PU。對于位置A0, A1' B0、B1或B2的PU,可分別將(xN, yN)界定為(xP-1,yP+nPSH)、(xP-Ι, yP+nPSH-1)、(xP+nPSff, yP-Ι)、(xP+nPSff-1, yP-Ι)或(xP-1,yP-Ι)。
[0093]合并候選者列表或AMVP候選者列表中的基于在時間上與當前相鄰的PU( SP,在與當前I3U不同的時間實例中的I3U)的運動信息的候選者可被稱為時間運動向量預測符(TMVP)。為了確定TMVP,視頻譯碼器可首先識別包含與當前PU位于同一地點的PU的參考圖片。換句話說,視頻譯碼器可識別位于同一地點的圖片。如果當前圖片的當前切片是B切片(即,允許包含經雙向幀間預測的PU的切片),那么視頻編碼器20可在切片標頭中用信號發送指示位于同一地點的圖片是否來自RefPicListO或RefPicListl的語法元素(例如,collocated_from_10_flag)。在視頻解碼器30識別包含位于同一地點的圖片的參考圖片列表之后,視頻解碼器30可使用可在切片標頭中用信號發送的另一語法元素(例如,C0ll0Cated_ref_idX)來識別所識別的參考圖片列表中的圖片(即,位于同一地點的圖片)。
[0094]視頻譯碼器可通過檢查位于同一地點的圖片來識別位于同一地點的TO。TMVP可指示含有位于同一地點的PU的CU的右下方I3U的運動信息或含有此I3U的CU的中心PU內的右下方PU的運動信息。含有位于同一地點的PU的CU的右下方可為覆蓋直接在所述PU的預測塊的右下方樣本的右下方的位置的W。換句話說,TMVP可指示在參考圖片中且覆蓋與當前PU的右下方拐角位于同一地點的位置的PU的運動信息,或TMVP可指示在參考圖片中且覆蓋與當前PU的中心位于同一地點的位置的的運動信息。
[0095]在由以上過程識別的運動向量用于產生用于合并模式或AMVP模式的運動候選者時,可基于時間位置(由POC值反映)來縮放運動向量。舉例來說,在當前圖片和參考圖片的POC值之間的差比在當前圖片和參考圖片的POC值之間的差較小時更大時,視頻譯碼器可將運動向量的量值增加更大的量。
[0096]在HEVC 工作草案 6 中,PPS 包含 enable_temporal_mvp_f lag 語法兀素。enable_temporal_mvp_flag語法元素指定是否可使用時間運動向量預測符。在具有等于O的temporal_id的特定圖片是指具有等于O的enable_temporal_mvp_f lag語法元素的PPS時(即,在與所述特定圖片相關聯的VCL NAL單元指定等于O的時間識別符且與具有等于O的enable_temporal_mvp_flag的PPS相關聯時),視頻譯碼器可將DPB中的所有參考圖片標記為“不用于時間運動向量預測”且視頻譯碼器不將來自在解碼次序中在所述特定圖片之前的圖片的運動向量用作TMVP來解碼所述特定圖片或在解碼次序中在所述特定圖片之后的圖片。
[0097]HEVC可支持運動向量壓縮以用于減少存儲器帶寬。HEVC中的運動向量存儲壓縮方法可經設計以減少存儲及加載合并/跳過模式及AMVP的時間運動向量所消耗的存儲器帶寬。在HEVC的上下文中,存儲器帶寬可指傳遞到存儲器或從存儲器傳遞的數據的量。在一些實例中,壓縮方法可為16X壓縮方法。所述16X壓縮方法可在水平及垂直方向兩者上通過因子4將運動向量字段下取樣,從而產生每一 16X16區的同一運動向量。換句話說,不同的16X 16區可具有不同的運動向量,但16X 16內的每一 PU可具有相同的運動向量。
[0098]視頻譯碼器(例如,視頻編碼器20或視頻解碼器30)可使用線緩沖器來存儲與圖片中的CTU的行(即,線)相關聯的信息。在一些實例中,與CTU的行相關聯的信息可包含與所述行中的CTU相關聯的的運動信息。HEVC可支持運動數據壓縮以用于減少線緩沖器。也就是說,可壓縮運動數據以便減少存儲在線緩沖器中的數據的量。如上文所論述,PU的運動數據可包含一或多個幀間預測方向指示符、一或多個參考圖片索引及一或多個運動向量。如果參考在與PU相關聯的CTU上方的CTB行(S卩,IXU行)中出現的I3U的運動信息來用信號發送PU的運動信息,那么僅可存取線緩沖器中的經壓縮運動數據。
[0099]圖3是說明一條線的實例性2: I運動數據壓縮的概念圖。在圖3的實例中,每一正方形對應于4X4塊。線緩沖器不存儲對應于加陰影正方形的4X4塊的運動信息。對于每一組四個4X4塊,第一個和最后一個4X4塊的運動數據存儲在線緩沖器中。四塊組的第二個塊的運動數據確定為等于四塊組的第一個塊的運動數據。換句話說,第一個塊的運動數據表示頭兩個塊的運動數據。四塊組的第三個塊的運動數據確定為等于四塊組的最后一個塊的運動數據。換句話說,最后一個塊的運動數據表示最后兩個塊的運動數據。以此方式,僅需要一半的存儲器。
[0100]此外,在HEVC中,可將CTU劃分成并行運動估計區(PMER)。僅允許屬于當前I3U的不同MER的那些相鄰I3U包含在合并/跳過運動向量預測符(MVP)列表建構過程中。因此,如果當前PU及在空間上相鄰的在相同的PMER內,那么視頻譯碼器不在合并/跳過MVP候選者列表中包含指定在空間上相鄰的I3U的運動信息的MVP候選者。因此,在PMER的大小大于NXN時,其中2NX2N是最小的⑶大小,PMER以一方式起作用,使得在空間上相鄰的塊在其是在與當前PU相同的PMER內部的情況下被視為不可用。視頻編碼器20可在PPS中用信號發送PMER的大小(例如,使用log2_parallel_merge_level_minus2語法元素)。
[0101]在HEVC中,每一 NAL單元包含指示NAL單元的NAL單元類型的語法元素(例如,nal_unit_type)。此外,在HEVC中,視頻解碼器30可基于NAL單元的NAL單元類型而將NAL單元識別為與四個圖片類型中的一者相關聯。換句話說,存在可由HEVC中的NAL單元類型識別的四個圖片類型。這四個圖片類型是IDR圖片、清潔隨機存取(CRA)圖片、時間層接入(TLA)圖片及不是IDR、CRA或TLA圖片的經譯碼圖片。
[0102]HEVC中的IDR圖片的定義可類似于H.264/AVC中的IDR圖片的定義。類似地,HEVC中的經譯碼圖片的定義可類似于H.264/AVC中的經譯碼圖片的定義。舉例來說,IDR及經譯碼圖片可為從H.264/AVC規范繼承的圖片類型。IDR圖片可致使解碼過程將所有參考圖片標記為“不用于參考”。因為可從存儲參考圖片的經解碼圖片緩沖器(DPB)移除標記為“不用于參考”的參考圖片,所以IDR圖片可清理DPB。在解碼次序中在IDR圖片后面的所有經譯碼圖片可在不從在解碼次序中在IDR圖片前面的任何圖片進行幀間預測的情況下被解碼。在解碼次序中的每一經譯碼視頻序列的第一圖片是IDR圖片。在存取單元的經譯碼圖片是IDR圖片時,所述存取單元可被稱為IDR存取單元。經譯碼視頻序列是存取單元序列,其由在解碼次序中的IDR存取單元及后面的包含所有后續的存取單元直到但不包含任何后續的IDR存取單元的零個或更多的非IDR存取單元組成。
[0103]CRA及TLA圖片類型在HEVC中是新的且不可用于H.264/AVC規范。CRA圖片類型有助于從視頻序列中間的任何隨機存取點(RAP)開始的解碼。將CRA圖片插入視頻序列中可比將IDR圖片插入到相同視頻序列中更有效。隨機存取是在除位流的開頭之外的點處開始對位流的解碼過程的動作。在HEVC中,從CRA圖片開始的位流可為相符位流。也就是說,位流的開始于CRA圖片的部分可符合HEVC規范。TLA圖片可用于指示有效的時間層切換點。
[0104]在例如廣播及流式傳輸等視頻應用中,用戶可在不同頻道之間切換且跳轉到視頻的特定部分。理想的是,應在最小量的延遲下執行以此方式的頻道切換及跳轉。可通過在視頻位流中以規則間隔包含隨機存取圖片來啟用頻道切換及跳轉。IDR圖片可在H.264/AVC及HEVC兩者中用作隨機存取圖片。換句話說,在H.264/AVC及HEVC兩者中指定的IDR圖片可以用于隨機存取。然而,因為IDR圖片開始經譯碼視頻序列且可始終清理DPB,所以在解碼次序中在IDR圖片后面的圖片無法使用在解碼次序中在IDR圖片之前解碼的圖片作為參考圖片。因此,依賴于IDR圖片以用于隨機存取的位流可具有顯著較低的譯碼效率(例如,譯碼效率低6% )。為了提高譯碼效率,HEVC中的CRA圖片可允許在解碼次序中在CRA圖片后面但在輸出次序中在CRA圖片前面的圖片使用在CRA之前解碼的圖片以供參考。
[0105]圖4是說明CRA圖片及前導圖片的概念圖。也就是說,在圖4的實例中展示CRA圖片周圍的典型預測結構。在圖4的實例中,每一平行四邊形表示一圖片。每一相應的平行四邊形內的編號指示由相應的平行四邊形表示的相應圖片的實例POC值。CRA圖片(SP,在圖4的實例中具有POC值24的圖片)屬于含有在解碼次序中在CRA圖片后面但在輸出次序中在CRA圖片前面的其它圖片(即,具有POC值17到23的圖片)的圖片群組(GOP)。這些圖片(在解碼次序中在CRA圖片后面但在輸出次序中在CRA圖片前面)可被稱作CRA圖片的“前導圖片”。如果解碼從IDR圖片或在解碼次序中在當前CRA圖片之前出現的CRA圖片開始,那么視頻解碼器30可正確地解碼當前CRA圖片的前導圖片。然而,在發生從當前CRA圖片的隨機存取時,視頻解碼器30可不能夠正確地解碼當前CRA圖片的前導圖片。因此,視頻解碼器30可在從當前CRA圖片的隨機存取解碼期間丟棄當前CRA圖片的前導圖片。
[0106]在視頻解碼器30在解碼當前圖片時使用參考圖片的不正確地解碼的部分時,可出現錯誤傳播。為防止錯誤從取決于解碼開始處而可能不可用的參考圖片傳播,GOP中的在CRA圖片后面的任何圖片不將在解碼次序或輸出次序中在CRA圖片前面的任何圖片(包含CRA圖片的前導圖片)用作參考。因此,在圖4的實例中,下一 GOP中的在解碼次序和輸出次序兩者中都在CRA圖片后面的所有圖片將不使用在解碼次序或輸出次序中在CRA圖片前面的任何圖片。
[0107]恢復點SEI消息可用于H.264/AVC中,從而以類似于HEVC中的CRA圖片的方式提供隨機存取。換句話說,H.264/AVC使用恢復點SEI消息來支持類似的隨機存取功能性。H.264/AVC解碼器實施方案可支持或可不支持恢復點SEI消息功能性。在HEVC中,開始于CRA圖片的位流被視為相符位流。在位流開始于CRA圖片時,CRA圖片的前導圖片可指不可用的參考圖片,且因此無法被正確地解碼。然而,HEVC指定不輸出開始的CRA圖片的前導圖片,因此名稱“清潔隨機存取”。為了建立位流相符要求,HEVC可規定解碼過程產生不可用的參考圖片以用于解碼非輸出的前導圖片。然而,相符解碼器實施方案不必遵循所述解碼過程,只要解碼器實施方案與在從位流的開頭執行所述解碼過程時相比可產生相同的輸出即可。在HEVC中,相符位流可能完全不包含IDR圖片,且因此,可含有經譯碼視頻序列的子集或不完整的經譯碼視頻序列。
[0108]在多視圖譯碼中,可存在同一場景的來自不同視點的多個視圖。術語“存取單元”用于指代對應于相同時刻的一組圖片。因此,可將視頻數據概念化為隨著時間出現的一連串存取單元。“視圖分量”可為單一存取單元中的視圖的經譯碼表示。在本發明中,“視圖”可指代與相同的視圖識別符相關聯的視圖分量的序列。
[0109]圖5是說明實例性多視圖解碼次序的概念圖。多視圖解碼次序可為位流次序。在圖5的實例中,每一正方形對應于一視圖分量。正方形的列對應于存取單元。可將每一存取單元界定為含有一時刻的所有視圖的經譯碼圖片。正方形的行對應于視圖。在圖5的實例中,存取單元被標記為T0...T9且視圖被標記為S0...S7。因為存取單元的每一視圖分量在下一存取單元的任何視圖分量之前被解碼,所以圖5的解碼次序可被稱作時間優先譯碼。存取單元的解碼次序可不等同于視圖的輸出或顯示次序。
[0110]多視圖譯碼支持視圖間預測。視圖間預測類似于用于H.264/AVC、HEVC中的幀間預測或其它視頻譯碼標準且可使用相同的語法元素。然而,在視頻譯碼器對當前視頻單元(例如,宏塊)執行視圖間預測時,視頻譯碼器可使用在與當前視頻單元相同的存取單元中但在不同視圖中的圖片作為參考圖片。相比而言,常規的幀間預測僅使用不同存取單元中的圖片作為參考圖片。
[0111]在多視圖譯碼中,如果視頻解碼器(例如,視頻解碼器30)可在不參考任何其它視圖中的圖片的情況下解碼視圖中的圖片,那么可將所述視圖稱作“基礎視圖”。當對非基礎視圖中的一者中的圖片進行譯碼時,如果圖片處于不同視圖中但在與視頻譯碼器當前譯碼的圖片相同的時刻(即,存取單元)內,那么視頻譯碼器(例如,視頻編碼器20或視頻解碼器30)可將所述圖片添加到參考圖片列表(例如,RefPicListO或RefPicListl)中。與其它幀間預測參考圖片一樣,視頻譯碼器可將視圖間預測參考圖片插入在參考圖片列表的任何部分處。
[0112]圖6是說明用于多視圖譯碼的實例性預測結構的概念圖。圖6的視圖間預測結構包含時間和視圖間預測。在圖6的實例中,每一正方形對應于一視圖分量。標記為“I”的正方形是經幀內預測的視圖分量。標記為“P”的正方形是經單向幀間預測的視圖分量。標記為“B”和“b”的正方形是經雙向幀間預測的視圖分量。標記為“b”的正方形可使用標記為“B”的正方形作為參考圖片。從第一正方形指向第二正方形的箭頭指示第一正方形在幀間預測中可用作第二正方形的參考圖片。如圖6中的垂直箭頭所指示,相同存取單元的不同視圖中的視圖分量可以可用作參考圖片。存取單元的一個視圖分量用作相同存取單元的另一視圖分量的參考圖片可被稱作視圖間預測。
[0113]在H.264/AVC的MVC擴展中,視圖間預測受到視差運動補償支持,所述視差運動補償使用H.264/AVC運動補償的語法,但允許將不同視圖中的圖片作為參考圖片。對兩個視圖的譯碼還可受到H.264/AVC的MVC擴展支持。H.264/AVC的MVC擴展的優點中的一者是,MVC編碼器可將兩個以上視圖視為3D視頻輸入且MVC解碼器可解碼此多視圖表示。因此,具有MVC解碼器的任何渲染器可預期具有兩個以上視圖的3D視頻內容。
[0114]在H.264/AVC的MVC擴展中,允許相同存取單元(B卩,具有相同時刻)中的圖片間的視圖間預測。當對非基礎視圖中的一者中的圖片進行譯碼時,如果圖片處于不同視圖中但具有相同時刻,那么可將所述圖片添加到參考圖片列表中。可將視圖間預測參考圖片置于參考圖片列表的任何位置中,正如任何幀間預測參考圖片一樣。
[0115]此外,在多視圖視頻譯碼的上下文中,可存在兩種類型的運動向量。一種類型的運動向量是指向時間參考圖片的正常運動向量。另一類型的運動向量是指向不同視圖中的圖片的視差運動向量,且對應的幀間預測是視差補償預測(DCP)。
[0116]3D-HEVC提供同一場景的來自不同視點的多個視圖。3D-HEVC的標準化工作的一部分包含基于HEVC的多視圖視頻編解碼器的標準化。類似地,在基于HEVC的3DV中,啟用基于來自不同視圖的經重構視圖分量的視圖間預測。與H.264/AVC中的MVC —樣,3D-HEVC支持視圖間運動預測。在3D-HEVC中,MP類似于標準HEVC中使用的運動補償且可利用相同或類似的語法元素。然而,在視頻譯碼器對PU執行視圖間運動預測時,視頻譯碼器可使用在與PU相同的存取單元中但在不同視圖中的圖片作為參考圖片。相比而言,常規的運動補償僅使用不同存取單元中的圖片作為參考圖片。因此,在3D-HEVC中,相依視圖中的塊的運動參數是基于相同存取單元的其它視圖中的已經譯碼的運動參數來預測或推斷。
[0117]在當前的運動信息是使用合并模式或AMVP模式用信號發送時,視頻譯碼器可產生MVP候選者列表(例如,合并候選者列表或AMVP候選者列表)。在3D-HEVC中,候選者列表可包含可以與候選者列表中的其它候選者相同的方式使用的視圖間預測候選者。所述視圖間預測候選者指定參考圖片的PU( S卩,參考PU)的運動信息。所述參考圖片可在與當前PU相同的存取單元中,但在與當前不同的視圖中。為了確定參考W,視頻譯碼器可執行視差向量建構過程以確定當前I3U的視差向量。當前PU的視差向量可指示當前I3U與參考紋理圖片內的位置之間的水平空間移位。所述參考PU可為覆蓋由視差向量指示的位置的參考紋理圖片的W。
[0118]2012年3月14日申請的美國臨時專利申請案61/610,961描述了從用于視圖間運動預測的空間視差向量(SDV)、時間視差向量(TDV)或隱式視差向量(IDV)的視差向量建構方法。2012年4月9日申請的美國專利申請案61/621,929描述了遵循類似概念的另一設計。視差運動向量是指向視圖間參考圖片內的位置的運動向量。視圖間參考圖片是在與當前PU相同的存取單元中但在不同的視圖中的紋理圖片。
[0119]SDV是在空間上與當前PU相鄰的視差運動向量。換句話說,SDV是由在空間上相鄰的PU指定且指示視圖間參考圖片中的位置的運動向量,其中在空間上相鄰的在空間上與當前I3U相鄰。TDV是在與當前PU相同的視圖中但在與當前PU不同的存取單元中的與當前I3U位于同一地點的PU的視差運動向量。換句話說,TDV可為來自具有相同存取單元的任何參考圖片或視圖間圖片中的位于同一地點的PU、位于同一地點的LCU的視差運動向量。或者,如果來自用于TMVP的圖片的位于同一地點的I3U的運動向量或由TMVP產生的運動向量是視差向量,那么其也被視為TDV。如果使用視圖間運動預測來譯碼當前的在空間上相鄰或在時間上相鄰的PU,那么所述在空間上相鄰或在時間上相鄰的PU的視差向量是 IDV。
[0120]此外,為了確定當前的視差向量,視頻譯碼器可產生包含一組視差向量候選者的視差向量候選者列表。所述視差向量候選者中的每一者指定上文識別的SDV、TDV及IDV中的一者。換句話說,視頻譯碼器可使用來自以上三個種類的視差向量來建構視差向量候選者列表(表示為disVecCan)。視頻譯碼器可基于某一準則從disVecCan選擇視差向量中的一者。
[0121]視頻譯碼器可使用所選擇的視差向量直接用于視圖間運動預測。如上文所指示,在使用合并/跳過模式或AMVP模式用信號發送當前的運動信息時,視頻編碼器可產生當前的MVP候選者列表。視頻譯碼器可使用由所選擇的視差向量候選者指定的視差向量來確定視圖間參考圖片中的參考PU。視頻譯碼器可隨后包含參考PU的運動信息以作為用于合并模式或AMVP模式的MV候選者列表中的視圖間預測MV候選者。以此方式,視頻譯碼器不需要基于深度圖來計算當前PU的視差向量,而是可基于在空間上或在時間上相鄰的PU的視差向量來確定當前I3U的視差向量。在一些情況下,以此方式確定當前PU的視差向量可為高效的,這是因為不需要在位流中顯式地用信號發送當前PU的視差向量或用于當前視圖分量的深度圖。
[0122]圖7為說明實例性SDV的概念圖。圖7展示三個圖片:當前圖片50、參考圖片52及對應圖片53。當前圖片50是當前正被譯碼的圖片。參考圖片52表示與當前圖片50來自相同視圖的已經譯碼的圖片。對應的圖片53是與當前圖片50具有相同時刻但處于另一視圖中的圖片。當前圖片50包含當前視頻塊54,所述當前視頻塊是當前正被譯碼的視頻塊。當前塊54具有已被譯碼的兩個空間相鄰者(視頻塊55及視頻塊56)。在圖7的實例中,當前視頻塊54的兩個空間相鄰者(視頻塊55及視頻塊56)分別用運動補償預測(MCP)和視差補償預測(DCP)來譯碼。當視頻譯碼器使用時間運動向量來預測視頻數據塊時,對應的幀間預測被稱作運動補償的預測(MCP)。當視頻譯碼器使用視差運動向量來預測視頻數據塊時,對應的幀間預測被稱作視差補償的預測(DCP)。在圖7的實例中,使用MCP譯碼視頻塊55,且視頻塊57表示用于預測視頻塊55的視頻塊。線58表示用于識別塊57的時間運動向量。
[0123]在圖7的實例中,使用DCP而不是MCP來譯碼視頻塊56。從處于與視頻塊56不同的視圖中的視頻塊59預測視頻塊56。因此,用于定位視頻塊56的參考塊(即,視頻塊59)的運動向量是視差運動向量而不是時間運動向量。線60表示用于定位塊59的視差運動向量。在圖7的實例中,線60表示視頻塊56的SDV。在一些實施方案中,SDV可用作當前視頻塊54的視差向量。在其它實施方案中,可將SDV添加到當前視頻塊54的disVecCan,且可從disVecCan中的視差向量候選者選擇當前視頻塊54的視差向量。
[0124]為了確定SDV,視頻編碼器20和視頻解碼器30可以給定次序檢查當前視頻塊54的每一空間相鄰預測單元。當前視頻塊54可比圖7中所示的視頻塊55及56具有更多的空間相鄰預測單元。舉例來說,圖2展示由其它空間相鄰視頻塊覆蓋的位置的實例。對于當ill視頻塊54的在空間上相鄰的視頻塊(例如,PU)中的每一者,如向運動向量(對應于RefPicListO)或后向運動向量(對應于RefPicListl)(如果可用)可被檢查且在所述運動向量是視差運動向量的情況下添加到disVecCan。返回參看圖7,舉例來說,由線60表示的運動向量可構成當前視頻塊54的SDV,因為它是視差運動向量,而由線58表示的運動向量不構成SDV,因為它是時間運動向量。
[0125]圖8為說明實例性TDV的概念圖。圖8展示留個圖片。當前圖片71是當前正被譯碼的圖片。對應的圖片72是與當前圖片71具有相同時刻但處于不同視圖(例如,圖8的實例中的視圖O)中的圖片。參考圖片73及74表示在與當前圖片71相同的視圖(即,視圖1)中的參考圖片,且參考圖片75及76表示在與對應圖片72相同的視圖(即,視圖O)中的參考圖片。在圖8的實例中,參考圖片74和參考圖片76是相同時間實例的圖片,且參考圖片73和參考圖片75是相同時間實例的圖片。
[0126]當前圖片71包含當前正被譯碼的當前視頻塊77。存在當前視頻塊77的三個參考圖片,兩個來自相同視圖(視圖1中的參考圖片73和參考圖片74)且一個來自另一視圖(視圖O中的對應圖片72)。可檢查三個時間相鄰塊(78、79及80)以確定它們是否使用視差運動向量。塊78、79及80被視為視頻塊77的時間相鄰者,因為它們與視頻塊77位于同一地點,意味著它們在與視頻塊77相同的大致位置中但在不同圖片中。
[0127]在圖8的實例中,時間相鄰塊80可被幀內預測且不具有相關聯的運動向量。時間相鄰塊78可使用在圖8中通過線81表示的時間運動向量被幀間預測。時間相鄰塊79使用通過線82表示的視差運動向量被視圖間預測。因此,在圖8的實例中,僅使用視差運動向量來預測時間相鄰塊79。因此,僅時間相鄰塊79的運動向量用作TDV候選者。TDV候選者可用作當前視頻塊77的視差向量或可作為候選視差向量添加到disVecCan,從所述disVecCan選擇當前視頻塊77的視差向量。
[0128]視頻編碼器20及視頻解碼器30可識別參考圖片列表O或參考圖片列表I的第一參考圖片的位于同一地點的PU的視差運動向量以用作TDV。視頻編碼器20及視頻解碼器30還可識別來自用于TMVP的圖片或由TMVP導出的塊的位于同一地點的I3U的視差運動向量以用作TDV。視頻編碼器20及視頻解碼器30還可識別任一參考圖片列表的可為或可不為視圖間參考圖片的任何參考圖片的位于同一地點的PU的視差運動向量以用作TDV。在一些情況下,視頻編碼器20及視頻解碼器30還可識別未包含于參考圖片列表中的相同存取單元的視圖間圖片中的塊的視差運動向量以用作TDV。另外,視頻編碼器20及視頻解碼器30可含有以上提及的圖片中的任一者的位于同一地點的I3U的CU的任何PU的視差運動向量或含有以上提及的圖片中的任一者的位于同一地點的PU的LCU的任何I3U的視差運動向量以用作TDV。
[0129]隱式視差向量(IDV)是指當前視頻塊的相鄰視頻塊的所存儲的視差向量。在譯碼當前視頻塊之后,如果所述視差向量用于視圖間預測,即,其運動向量中的至少一者是從視圖間運動參數預測而預測,那么存儲所述視差向量以用于當前視頻塊。當在譯碼未來的視頻塊時,使用先前存儲的視差向量來預測視差向量。在檢查所述先前的視差向量時,還可僅檢查相鄰的視頻塊。這意味著空間相鄰視頻塊的視差向量(如含有SDV的視差向量)或時間相鄰視頻塊的視差向量(如含有TDV的視差向量)被視為IDV,或空間及時間相鄰視頻塊兩者的視差向量都被視為IDV。所描述的技術可在考慮IDV或不考慮IDV的情況下工作。
[0130]如果使用從視圖間運動參數預測預測(即,基于視差向量從其它視圖導出)的其運動向量中的至少一者而被譯碼,那么視差向量可在時間上與PU相關聯。與此相關聯的視差向量被稱作IDV。在當前I3U的空間或時間相鄰PU含有IDV時,可考慮使用IDV來導出當前塊的視差向量。也就是說,空間或時間相鄰PU的IDV可被視為IDV候選者。IDV候選者可用作當前塊的視差向量或可作為候選視差向量添加到disVecCan,從所述disVecCan選擇當前塊的視差向量。
[0131]圖9為說明實例性IDV的概念圖。具體來說,圖9展示四個圖片。當前圖片90是當前正被譯碼的圖片。圖片91是在與圖片90相同的視圖(視圖1)中但在不同的時間實例中的參考圖片。對應的圖片92是與當前圖片90具有相同時刻但處于不同視圖(視圖O)中的圖片。圖片93是與圖片92相同的視圖(視圖O)中的參考圖片。在圖9的實例中,圖片90包含當前PU 94。當前I3U 94具有從相同視圖(視圖1)中的參考圖片91中的塊96預測的空間相鄰者(PU 95)。用于預測95的運動向量是由線97表示。在圖9的實例中,此運動向量(線97)是從PU 98繼承。I3U 98是由作為PU 95的空間相鄰I3U的PU 99的視差向量定位。在此情況下,PU 95是與IDV相關聯的PU,且PU 99的視差向量被視為IDV。給定目標參考視圖,可從上文所描述的可用的SDV、TDV或IDV確定當前I3U 94的視差向量。
[0132]視頻譯碼器可針對AMVP及合并模式兩者應用視圖間運動預測。視頻譯碼器可建構用于每一 I3U的視圖間運動預測(DVIVMP)的視差向量。視頻譯碼器可使用PU的DVIVMP用于PU的視圖間運動預測,如下文所描述。為了包含視圖間運動預測,AMVP模式已以一方式擴展,使得將視圖間運動向量預測符添加到候選列表。基于當前塊的中間樣本的深度估計,如上文所描述確定參考視圖中的視差向量及參考塊。如果當前塊的參考索引涉及視圖間參考圖片,那么將視圖間運動向量預測符設定為等于對應的視差向量。如果當前參考索引涉及時間參考圖片且參考塊將涉及相同存取單元的運動假設用作當前參考索引,那么與此運動假設相關聯的運動向量用作視圖間運動向量預測符。在所有其它情況下,將視圖間運動向量預測符標記為無效且不包含于運動向量預測符候選者列表中。
[0133]在合并模式及跳過模式中,通過使用視圖間運動預測而獲得的MVP候選者擴展MVP候選者列表。對于每一潛在的運動假設,以給定次序研究參考圖片列表的頭兩個參考索弓I。視頻譯碼器可以與針對AMVP模式相同的方式導出參考索引O的運動向量候選者。如果所導出的運動向量有效,那么視頻譯碼器可使用參考索引O及所導出的運動向量用于所考慮的假設。否則,視頻譯碼器可以相同的方式測試參考索引I。如果參考索引I也導致無效的運動向量,那么視頻譯碼器可將所述運動假設標記為不可用。為了偏向時間預測,視頻譯碼器可在第一索引涉及視圖間參考圖片的情況下顛倒測試參考索引的次序。如果將所有潛在的運動假設標記為不可用,那么視頻譯碼器無法選擇視圖間候選者。
[0134]可在3D-HEVC中啟用視圖間殘差預測。基于對應于當前圖片的深度圖,視頻譯碼器可確定當前塊的視差向量。在一些實例中,視頻譯碼器可估計所述深度圖。所述視頻譯碼器可隨后使用所述視差向量來定位參考視圖中的殘余塊。此殘余塊可在本文中被稱為殘余參考塊。在針對塊啟用殘差預測時,視頻解碼器30可通過將殘余參考塊添加到當前塊的預測性塊及當前塊的用信號發送的殘余塊而重構當前塊。
[0135]3D-HEVC中的視差向量建構過程的現有設計存在若干問題。舉例來說,在3D-HEVC中的視差向量建構過程的現有設計中,通常從視差運動向量導出視差向量。視差運動向量可不與真實視差相關。因此,視差向量可為不準確的。在使用所述視差向量在不同視圖中定位對應的塊時可尤其會出現此問題。在另一實例中,塊偏向視圖間預測可對應于顯著視差。塊偏向視圖間預測可比時間相關具有更多的視圖間相關,且因此視頻編碼器更有可能針對塊選擇視圖間預測而不是視圖內預測。然而,3D-HEVC中的視差向量建構過程的當前現有設計主要考慮可能是次佳的第一可用的視差向量。
[0136]本發明描述可解決3D-HEVC中的視差向量建構過程的現有設計中的這些問題的技術。根據本發明的技術,視頻譯碼器(例如,視頻編碼器20或視頻解碼器30)在譯碼當前視圖時可確定視圖間預測(例如,視圖間運動預測及視圖間殘差預測)的視差向量,視頻譯碼器可以與視差范圍相關的某些約束適用的方式檢查視差向量。所檢查的視差向量可包含來自經譯碼的空間及時間相鄰塊的視差運動向量。因此,作為始終選擇第一可用的視差運動向量的替代,視頻譯碼器可僅在第一可用的視差運動向量在特定視差范圍內時才選擇第一可用的視差運動向量。否則,如果第一可用的視差運動向量不在特定視差范圍內,視頻譯碼器可聯合考慮多個視差運動向量以確定最靠近最合意的視差范圍的視差運動向量。
[0137]根據本發明的第一實例技術,視頻譯碼器可確定一對視圖的視差范圍。舉例來說,一個所確定的范圍可包含僅大于零的值。在一些實例中,視頻譯碼器可從相機參數確定視差范圍。相機參數的實例包含固有參數及非固有參數,包含相機的相對水平位置/移位。此夕卜,視頻譯碼器可根據預定義檢查次序來檢查在空間上和/或在時間上相鄰的塊。在視頻譯碼器檢查相鄰塊時,視頻譯碼器可從相鄰塊的視差運動向量來計算視差。視頻譯碼器可隨后確定所計算的視差是否在視差范圍內。響應于確定所計算的視差在視差范圍內,視頻譯碼器可確定相鄰塊的視差運動向量是可用的。否則,響應于確定所計算的視差不在視差范圍內,視頻譯碼器可確定相鄰塊的視差運動向量不可用。視頻譯碼器可響應于確定相鄰塊的視差運動向量可用而停止檢查相鄰塊。舉例來說,當且僅當視差運動向量可用時,導出過程才成功終止。
[0138]以此方式,視頻譯碼器可確定第一可用的視差向量候選者在預期范圍之外。此外,在第一可用的視差向量候選者在預期范圍之外時,視頻譯碼器可確定當前PU的視差向量等于第二可用的視差向量候選者。第一及第二可用的視差向量候選者可與在空間上或在時間上與當前PU相鄰的相關聯。第一及第二可用的視差向量候選者中的每一者是在空間上或在時間上與當前PU相鄰的相應I3U的SDV、TDV或IDV。
[0139]在一些情況下,可將視差范圍限制到大于或等于O的值。換句話說,可預期視差的范圍大于或等于O。在此些情況下,視頻譯碼器可確定在視差運動向量的水平值(即,視差)大于或等于O的情況下視差運動向量是可用的。換句話說,僅當具有大于或等于O的水平值的視差運動向量被視為可用的時。
[0140]在其它情況下,可將視差范圍限制到小于或等于O的值。換句話說,可預期視差的范圍是小于或等于O的所有值。在此些情況下,視頻譯碼器可確定在視差運動向量的水平值(即,視差)小于或等于O的情況下視差運動向量是可用的。換句話說,僅具有小于或等于O的水平值的視差運動向量被視為可用的。
[0141]根據本發明的第二實例技術,視頻譯碼器可根據預定義檢查次序來檢查在空間上和/或在時間上相鄰的視頻塊(例如,在空間上和/或在時間上相鄰的PU)。在視頻譯碼器檢查相鄰的視頻塊時,視頻譯碼器可確定相鄰的視頻塊的視差運動向量是否可用。如果相鄰的視頻塊的視差運動向量可用,那么視頻譯碼器可記錄視差運動向量。與上文所描述的第一實例技術相比,在此第二實例技術中,視頻譯碼器可根據預定義檢查次序來檢查每一相鄰的視頻塊,而不管視頻譯碼器是否確定相鄰的視頻塊具有可用的視差運動向量。以此方式,可記錄所有的可用的視差運動向量。
[0142]在本發明的第二實例技術中,視頻譯碼器可檢視所記錄的可用的視差運動向量,且從所記錄的可用的視差運動向量中確定對應于在距離上最靠近相機/視點的對象的所記錄的可用的視差運動向量。換句話說,對應于最靠近的對象的視差運動向量可作為最終視差向量而返回。在一個實例中,視頻譯碼器可確定具有較大水平分量的視差運動向量對應于較近的對象。在其它實例中,視頻譯碼器可確定具有較大水平分量的視差運動向量對應于較遠的對象。視頻譯碼器可將所確定的視差運動向量的水平分量用作當前視頻塊(例如,當前PU)的視差向量。
[0143]在本發明的第二實例技術的另一版本中,視頻譯碼器可僅在視差運動向量在特定范圍內時才記錄所述視差運動向量。視頻譯碼器可以關于本發明的第一實例技術所描述的方式來確定所述特定范圍。
[0144]根據本發明的第三實例技術,視頻譯碼器可根據預定義檢查次序來檢查在空間上和/或在時間上相鄰的視頻塊(例如,在空間上和/或在時間上相鄰的PU)。在視頻譯碼器檢查相鄰的視頻塊時,視頻譯碼器可確定相鄰的視頻塊的視差運動向量是否可用。如果相鄰的視頻塊的視差運動向量可用,那么視頻譯碼器可記錄視差運動向量。以此方式,可記錄所有的可用的視差運動向量。視頻譯碼器可隨后從所記錄的可用的視差運動向量中確定對應于具有到相機/視點最遠距離的對象的視差運動向量。視頻譯碼器可至少部分基于所確定的視差運動向量來確定當前視頻塊(例如,當前PU)的視差向量。換句話說,對應于最遠的對象的視差運動向量作為最終視差向量而返回。
[0145]在本發明的第三實例技術的另一版本中,視頻譯碼器可僅在視差運動向量在特定范圍內時才記錄所述視差運動向量。視頻譯碼器可以關于本發明的第一實例技術所描述的方式來確定所述特定范圍。
[0146]在上文所描述的第一、第二及第三實例技術中,視頻譯碼器可至少部分基于視圖的相機參數或相機位置來確定深度范圍(即,對象與相機/視點之間的現實世界距離的范圍)。舉例來說,在上文所描述的第一、第二及第三實例技術中,視頻譯碼器可僅需要針對當前視圖及參考視圖來確定較大或較小的視差是否為優選的,從而暗示著在解碼過程期間,候選者中的相對較大或較小的視差向量可提供對當前塊的視差的較佳表示及因此較高的譯碼效率。舉例來說,在相機并行且沒有傳感器移位且當前視圖在參考視圖的右邊時,視差可通常為正。總之,傳感器轉移配置的相機設定對應于并行相機,其中內部相機含有轉移的主軸以用于將3D場景投影到2D平面中以使得可產生視差。因此,在此實例中,較大的視差可為優選的。在相機并行且沒有傳感器移位且當前視圖在參考視圖的左邊時,視差可通常為負。因此,在此實例中,較小的視差可為優選的。
[0147]根據本發明的第四實例技術,視頻譯碼器可根據預定義檢查次序來檢查在空間上和/或在時間上相鄰的視頻塊。在視頻譯碼器檢查相鄰的視頻塊時,視頻譯碼器可確定相鄰的視頻塊的視差運動向量是否可用。如果相鄰的視頻塊的視差運動向量可用,那么視頻譯碼器可記錄視差運動向量。以此方式,可記錄所有的可用的視差運動向量。隨后,視頻譯碼器可確定具有屬于第一范圍內的水平分量的所記錄的可用的視差運動向量的數目,且視頻譯碼器還可確定具有屬于第二范圍內的水平分量的所記錄的可用的視差運動向量的數目。所述第一范圍可對應于較近的對象,且所述第二范圍可對應于較遠的對象。換句話說,對于兩個給定視差范圍,即,較近的范圍及較遠的范圍,視頻譯碼器可對落到每一范圍中的視差運動向量的數目進行計數。
[0148]接下來,在本發明的第四實例技術中,視頻譯碼器可從第一范圍及第二范圍中選擇包含最多的視差運動向量的范圍。換句話說,選擇具有較大數目的候選者的范圍。如果所選擇的范圍的視差運動向量的水平分量小于未被選擇的范圍的視差運動向量的水平分量,那么視頻譯碼器可從所選擇的范圍中的視差運動向量中確定具有最小的水平分量的視差運動向量。否則,如果所選擇的范圍的視差運動向量的水平分量不小于未被選擇的范圍的視差運動向量的水平分量,那么視頻譯碼器可從所選擇的范圍中的視差運動向量中確定具有最大的水平分量的視差運動向量。視頻譯碼器可至少部分基于所確定的視差運動向量來確定當前視頻塊(例如,當前PU)的視差向量。換句話說,對于所選擇的范圍,如果所選擇的范圍具有比其它范圍小的視差值,那么視頻譯碼器可返回此所選擇的范圍中具有最小的視差運動向量(僅考慮向量的水平部分)的視差運動向量,否則,視頻譯碼器可返回此所選擇的范圍中具有最大的視差運動向量的視差運動向量。
[0149]在本發明的第四實例技術的另一版本中,視頻譯碼器可僅在視差運動向量在特定視差范圍內時才記錄所述視差運動向量。視頻譯碼器可以關于本發明的第一實例技術所描述的方式來確定所述特定視差范圍。
[0150]在本發明的此第四實例技術中,可預定義視差范圍。舉例來說,在使用具有傳感器移位的并行相機設定時,[-10,O]可能是較遠的視差范圍且[0,20]可能是較近的視差范圍。視頻譯碼器可使用較遠的視差范圍來俘獲對應于彈出屏幕的對象的視差。視頻譯碼器可使用較近的視差范圍來俘獲對應于屏幕內部的對象的視差。因此,如果大部分可用的視差運動向量靠近觀看者,那么視頻譯碼器可返回更靠近觀看者的視差運動向量。如果大部分可用的視差運動向量距觀看者較遠,那么視頻譯碼器可返回距觀看者更遠的視差運動向量。
[0151]本發明的第五實例技術類似于上文所描述的第二、第三及第四實例技術。然而,在所述第五實例技術中,視頻譯碼器僅記錄在空間上與當前視頻塊(例如,當前PU)相鄰的視頻塊(例如,PU)的視差運動向量。視頻譯碼器不記錄在時間上與當前視頻塊相鄰的視頻塊的視差運動向量。視頻譯碼器可從所記錄的可用的視差運動向量中確定視差運動向量。視頻譯碼器可隨后至少部分基于所確定的視差運動向量來確定當前視頻塊的視差向量。以此方式,僅來自空間相鄰塊的視差運動向量被記錄且用于返回所選擇的視差向量。如果視頻譯碼器不確定任何可用的視差運動向量,那么視頻譯碼器可檢查其它視差向量源,例如已經導出且存儲在相鄰塊中的視差向量或在其它塊中的視差運動向量。在視頻譯碼器檢查另一視差運動向量時,視頻譯碼器可至少部分基于其它視差運動向量中的第一可用的一者來確定當前視頻塊的視差向量。換句話說,如果第五實例技術的過程不返回可用的視差向量,那么檢查其它視差運動向量且將第一可用的一者作為視差向量而返回。
[0152]本發明的第六實例技術類似于上文所描述的第二、第三及第四實例技術。然而,在本發明的第六實例技術中,視頻譯碼器僅記錄來自在空間上與當前視頻塊(例如,當前PU)相鄰的視頻塊(例如,PU)的視差運動向量及來自在時間上與當前視頻塊相鄰的視頻塊的子集的視差運動向量。可例如以類似于用于HEVC中的AMVP及合并模式的塊的方式來選擇相鄰視頻塊的子集。也就是說,僅來自在空間上相鄰的塊及在時間上相鄰的塊的子集的視差運動向量被記錄且用于返回所選擇的視差向量。如果視頻譯碼器不確定任何可用的視差運動向量,那么視頻譯碼器可檢查其它視差向量源,例如已經導出且存儲在相鄰塊中的視差向量或在其它塊中的視差運動向量。在視頻譯碼器檢查另一視差運動向量時,視頻譯碼器可至少部分基于其它視差運動向量中的第一可用的一者來確定當前視頻塊的視差向量。換句話說,如果第六實例技術的過程不返回可用的視差向量,那么檢查其它視差運動向量且將第一可用的一者作為視差向量而返回。
[0153]本發明的第七實例技術類似于上文所描述的第二、第三及第四實例技術。然而,在本發明的第七實例技術中,可存在將被記錄的預定義數目的視差運動向量。將被記錄的視差運動向量的預定義數目可表示為“N”。在本發明的第七實例技術中,視頻譯碼器可記錄第一N個可用的視差運動向量且視頻譯碼器可從所記錄的視差運動向量中選擇視差向量。如果可用的視差運動向量的數目小于N,那么將其全部進行記錄且視頻編碼器可從所記錄的視差運動向量中選擇視差向量。
[0154]本發明的第八實例技術類似于上文所描述的第二、第三及第四實例技術。然而,在本發明的第八實例技術中,可存在將被檢查的預定義數目的視差運動向量。將被檢查的視差運動向量的預定義數目可表示為“N”。如果視頻譯碼器已檢查所有可能的視差運動向量或所檢查的視差運動向量的數目等于N且大于0,那么視頻譯碼器可應用根據上文所描述的第一、第二或第三實例技術中的一者而描述的方法以確定當前塊的視差向量。否則,如果視頻譯碼器已檢查所有可能的視差運動向量且所檢查的視差運動向量的數目不等于N或不大于0,那么視頻譯碼器可檢查其它視差向量源,例如已經導出且存儲在相鄰塊中的視差向量或在其它塊中的視差運動向量。在視頻譯碼器檢查另一視差運動向量時,視頻譯碼器可選擇其它視差運動向量中的第一可用的一者且可至少部分基于所選擇的視差運動向量來確定當前視頻塊的視差向量。
[0155]在本發明的第九實例技術中,視頻譯碼器可使用不同的視差向量產生方法來用于不同的視圖間預測。視差向量產生方法(即視差向量導出過程)是用于確定視差向量的方法或過程。舉例來說,視頻譯碼器可使用第一視差向量產生方法來用于視圖間殘差預測且可使用第二視差向量產生方法來用于視圖間運動預測。此外,視頻譯碼器可使用不同的視差向量產生方法來用于不同的非基礎視圖。舉例來說,視頻譯碼器可針對第一視圖使用第一視差向量產生方法且針對第二視圖使用第二視差向量產生方法。
[0156]因此,在第九實例技術中,視頻編碼器20可使用第一視差向量導出過程確定第一視差向量。另外,視頻編碼器20可使用第二視差向量導出過程確定第二視差向量。第一視差向量導出過程可不同于第二視差向量導出過程。視頻編碼器20可使用第一視差向量以確定用于當前PU的一組MVP候選者中的一 MVP候選者。視頻編碼器20使用第二視差向量來確定殘余數據。此外,視頻編碼器20可產生包含指示當前的殘余數據及所述組MVP候選者中的所選擇的MVP候選者的數據的位流。
[0157]類似地,在第九實例技術中,視頻解碼器30可使用第一視差向量導出過程確定第一視差向量。另外,視頻解碼器30可使用第二視差向量導出過程確定第二視差向量。第一視差向量導出過程可不同于第二視差向量導出過程。此外,視頻解碼器30可使用第一視差向量以確定用于當前PU的一組MVP候選者中的一 MVP候選者。視頻解碼器30使用第二視差向量來確定殘余數據。另外,視頻解碼器30可部分基于所述殘余數據及所述組MVP候選者中的所選擇的MVP候選者而產生經重構圖片的一或多個塊。
[0158]此外,在一些實例中,視頻譯碼器可使用不同的視差向量產生方法來用于不同的視圖間運動預測模式。舉例來說,視頻譯碼器可使用第一視差向量產生方法來用于AMVP模式且視頻譯碼器可使用第二視差向量產生方法來用于合并模式。因此,視頻譯碼器(例如,視頻編碼器20或視頻解碼器30)可使用不同的視差向量導出過程來確定視差向量,其取決于當前PU的運動信息是使用第一模式(例如,合并模式)還是第二模式(例如,AMVP模式)進行編碼。視頻譯碼器可使用此視差向量來確定MVP。
[0159]舉例來說,視頻編碼器20可產生一組MVP候選者,且產生包含指示所述組MVP候選者中的所選擇的MVP候選者的候選者索引。在當前的運動信息是使用第一模式(即,合并模式)編碼時,所選擇的MVP候選者指定所述當前PU的運動向量。在此實例中,在所述當前PU的所述運動信息是使用第二模式(即,AMVP模式)編碼時,視頻編碼器20可在所述位流中包含指示當前PU的MVD的數據。當前I3U的MVD指示由所選擇的MVP候選者指示的運動向量與當前PU的運動向量之間的差。
[0160]在另一實例中,視頻解碼器30可從位流獲得候選者索引且產生一組MVP候選者。視頻解碼器30可至少部分基于所述候選者索引來確定所述組MVP候選者中的所選擇的MVP候選者。在當前PU的運動信息是使用第一模式(即,合并模式)編碼時,所選擇的MVP候選者可指定所述當前PU的運動向量。在當前PU的運動信息是使用第二模式(即,AMVP模式)編碼時,視頻譯碼器30可從位流獲得當前的MVD,且至少部分基于由所選擇的MVP候選者指示的運動向量及所述MVD來確定當前PU的運動向量。在一些實例中,視頻譯碼器30可至少部分基于所選擇的MVP候選者來確定所述當前的預測性塊。視頻譯碼器30可至少部分基于當前PU的預測性塊及殘余數據來產生經重構塊。
[0161]本發明的第十實例技術類似于上文所描述的第一、第二和第三實例技術。然而,在本發明的第十實例技術中,視頻編碼器20可用信號發送特定視圖的語法元素(例如,旗標)及所述特定視圖的參考視圖。所述語法元素可指示較大的視差是否為優選的(即,在多個視差向量可用于選擇時進行選擇)。在不同的實例中,視頻編碼器20可在切片標頭、PPS、序列參數集(SPS)或視頻參數集(VPS)中用信號發送所述旗標。VPS是含有適用于零個或更多的整個經譯碼視頻序列的語法元素的語法結構。SPS是含有適用于零個或更多的整個經譯碼視頻序列的語法元素的語法結構。單一 VPS可適用于多個SPS。在一些實例中,如果語法元素具有等于I的值且視頻譯碼器使用如上文所描述的第一實例技術,那么視頻譯碼器可僅將正的視差運動向量視為可用的。在其它實例中,如果語法元素具有等于I的值且視頻譯碼器使用如上文所描述的第二實例技術,那么視頻譯碼器可選擇具有最大水平值的視差運動向量。
[0162]或者,在第十實例技術中,視頻編碼器20可用信號發送第一指示及第二指示。所述第一指示可指示相機是否從左到右以視圖識別符的遞增或遞減的次序布置。所述第二指示可指示視圖識別符是遞增還是遞減。在一些實例中,所述第二指示是所述第一指示的一部分。因此,對于一對特定視圖,視頻解碼器30可基于所述第一和第二指示來確定是較大的視差還是較小的視差是優選的(即,在多個視差向量可用于選擇時進行選擇)。
[0163]圖10是說明可實施本發明的技術的實例視頻編碼器20的框圖。圖10是為了闡釋的目的而提供,且不應被視為對本發明中廣義上示范和描述的技術的限制。為了闡釋的目的,本發明在HEVC譯碼的上下文中描述視頻編碼器20。然而,本發明的技術可適用于其它譯碼標準或方法。
[0164]在圖10的實例中,視頻編碼器20包含預測處理單元100、殘差產生單元102、變換處理單元104、量化單元106、反量化單元108、反變換處理單元110、重構單元112、濾波器單元114、經解碼圖片緩沖器116以及熵編碼單元118。預測處理單元100包含幀間預測處理單元120和幀內預測處理單元126。幀間預測處理單元120包含運動估計單元122和運動補償單元124。在其它實例中,視頻編碼器20可包含更多、更少或不同的功能組件。
[0165]視頻編碼器20可接收視頻數據。視頻編碼器20可對視頻數據的圖片的切片中的每一 CTU進行編碼。CTU中的每一者可與圖片的相等大小的亮度譯碼樹塊(CTB)及對應的CTB相關聯。作為對CTU進行編碼的部分,預測處理單元100可執行四叉樹分割以將CTU的CTB劃分為漸進更小的塊。較小的塊可為CU的譯碼塊。舉例來說,預測處理單元100可將與CTU相關聯的CTB分割為四個相等大小的子塊,將子塊中的一或多者分割為四個相等大小的子子塊,以此類推。
[0166]視頻編碼器20可對CTU的⑶進行編碼以產生⑶的經編碼表示(即,經譯碼⑶)。作為對CU進行編碼的部分,預測處理單元100可在CU的一或多個I3U之間分割與CU相關聯的譯碼塊。因此,每一 PU可與一亮度預測塊及對應的色度預測塊相關聯。視頻編碼器20和視頻解碼器30可支持具有各種大小的PU。CU的大小可指CU的亮度譯碼塊的大小,且PU的大小可指I3U的亮度預測塊的大小。假定特定CU的大小為2NX 2N,視頻編碼器20和視頻解碼器30可支持2NX2N或NXN的PU大小以用于幀間預測,以及2NX2N、2NXN、NX 2N、NXN或類似者的對稱PU大小以用于幀間預測。視頻編碼器20和視頻解碼器30還可支持用于2NXnU、2NXnD、nLX2N和nRX2N的I3U大小的不對稱分割以用于幀間預測。
[0167]幀間預測處理單元120可通過對⑶的每一 I3U執行幀間預測而產生I3U的預測性數據。PU的預測性數據可包含的預測性塊以及PU的運動信息。幀間預測處理單元120可依據PU在I切片、P切片還是B切片中而對⑶的I3U執行不同的操作。在I切片中,所有PU都被幀內預測。因此,如果在I切片中,那么幀間預測處理單元120不對PU執行幀間預測。因此,對于以I模式編碼的視頻塊,使用空間預測從相同的幀內的先前經編碼的相鄰塊來形成預測性塊。
[0168]P切片中的I3U可被幀內預測或單向幀間預測。舉例來說,如果I3U在P切片中,那么運動估計單元122可搜索參考圖片列表(例如,“RefPicListO”)的參考圖片以尋找I3U的參考區。PU的參考區可為參考圖片內的含有最緊密地對應于的預測塊的樣本塊的區。運動估計單元122可產生指示參考圖片的RefPicListO中的含有I3U的參考區的位置的參考索引。另外,運動估計單元122可產生指示PU的預測塊與和參考區相關聯的參考位置之間的空間移位的運動向量。舉例來說,所述運動向量可為提供從當前經解碼圖片中的坐標到參考圖片中的坐標的偏移的二維向量。運動估計單元122可將參考索引及運動向量輸出為PU的運動信息。運動補償單元124可至少部分基于由的運動向量指示的參考位置處的實際或經內插樣本而產生PU的預測性塊。
[0169]B切片中的I3U可被幀內預測、單向幀間預測或雙向幀間預測。因此,如果I3U在B切片中,那么運動估計單元122可對PU執行單向預測或雙向預測。為了對執行單向預測,運動估計單元122可搜索RefPicListO或第二參考圖片列表(“RefPicListl”)的參考圖片以尋找PU的參考區。運動估計單元122可輸出以下各者作為PU的運動信息:指示含有參考區的參考圖片的RefPicListO或RefPicListl中的位置的參考索引、指示I3U的預測塊以及與參考區相關聯的參考位置之間的空間移位的運動向量,及指示參考圖片是在RefPicListO還是RefPicListl中的一或多個預測方向指示符。運動補償單元124可以至少部分基于由PU的運動向量指示的參考區處的實際樣本或經內插樣本來產生PU的預測性塊。
[0170]為了對I3U執行雙向幀間預測,運動估計單元122可以搜索RefPicListO中的參考圖片以尋找PU的參考區,并且還可搜索RefPicListl中的參考圖片以尋找I3U的另一參考區。運動估計單元122可產生指示含有參考區的參考圖片的RefPicListO及RefPicListl中的位置的參考索引。另外,運動估計單元122可產生指示與參考區相關聯的參考位置與PU的預測塊之間的空間移位的運動向量。I3U的運動信息可包含I3U的參考索引和MV。運動補償單元124可至少部分基于由PU的運動向量指示的參考區處的實際或經內插樣本而產生PU的預測性塊。
[0171]幀內預測處理單元126可通過對PU執行幀內預測而產生PU的預測性數據。I3U的預測性數據可包含PU的預測性塊和各種語法元素。幀內預測處理單元126可對I切片、P切片和B切片中的I3U執行幀內預測。
[0172]為了對執行幀內預測,幀內預測處理單元126可使用多個幀內預測模式來產生PU的多組預測性數據。幀內預測處理單元126可基于相鄰I3U的樣本而產生I3U的預測性塊。假設用于PU、⑶和CTU的從左到右、從上到下編碼次序,所述相鄰PU可在PU的上方、右上方、左上方,或左邊。幀內預測處理單元126可使用各種數目的幀內預測模式。在一些實例中,幀內預測模式的數目可取決于PU的預測塊的大小。
[0173]預測處理單元100可從由幀間預測處理單元120針對⑶的PU產生的預測性數據或者由幀內預測處理單元126針對所述產生的預測性數據中選擇所述的預測性數據。在一些實例中,預測處理單元100基于多組預測性數據的速率/失真度量來選擇CU的PU的預測性數據。選定的預測性數據的預測性塊可在本文中被稱作選定的預測性塊。
[0174]殘差產生單元102可基于⑶的亮度、Cb及Cr譯碼塊以及⑶的I3U的所選擇的預測性亮度塊、Cb塊及Cr塊而產生⑶的亮度、Cb及Cr殘余塊。舉例來說,殘差產生單元102可產生CU的殘余塊以使得殘余塊中的每一樣本具有等于CU的譯碼塊中的樣本與CU的PU的對應的所選擇的預測性塊中的對應樣本之間的差的值。
[0175]變換處理單元104可執行四叉樹分割以將與CU相關聯的殘余塊分割為與CU的TU相關聯的變換塊。因此,TU可與一亮度變換塊及兩個色度變換塊相關聯。CU的TU的亮度和色度變換塊的大小和位置可基于或可不基于CU的PU的視頻塊的大小和位置。被稱為“殘余四叉樹”(RQT)的四叉樹結構可包含與所述區中的每一者相關聯的節點。CU的TU可對應于RQT的葉節點。
[0176]變換處理單元104可通過將一或多個變換應用于TU的變換塊而產生⑶的每一 TU的系數塊。變換處理單元104可將各種變換應用于與TU相關聯的變換塊。舉例來說,變換處理單元104可對變換塊應用離散余弦變換(DCT)、方向性變換或概念上類似的變換。在一些實例中,變換處理單元104不對變換塊應用變換。在此些實例中,可將變換塊視為系數塊。
[0177]量化單元106可量化系數塊中的變換系數。量化過程可減少與變換系數中的一些或全部相關聯的位深度。舉例來說,η位變換系數可在量化期間下舍入到m位變換系數,其中η大于m。量化單元106可基于與CU相關聯的量化參數(QP)值來量化與CU的TU相關聯的系數塊。視頻編碼器20可通過調整與CU相關聯的QP值來調整向與CU相關聯的系數塊應用的量化的程度。量化可能引入信息的損失,因此經量化變換系數可能具有比原始變換系數低的精確度。
[0178]反量化單元108及反變換處理單元110可分別向系數塊應用反量化及反變換,以從系數塊重構殘余塊。重構單元112可將經重構的殘余塊添加到來自由預測處理單元100產生的一或多個預測性塊的對應樣本,從而產生與TU相關聯的經重構變換塊。通過以此方式重構⑶的每一 TU的變換塊,視頻編碼器20可重構⑶的譯碼塊。
[0179]濾波器單元114可執行一或多個解塊操作以減少與CU相關聯的譯碼塊中的塊性假影。經解碼圖片緩沖器116可在濾波器單元114對經重構的譯碼塊執行一或多個解塊操作之后存儲經重構的譯碼塊。幀間預測處理單元120可使用含有經重構譯碼塊的參考圖片來對其它圖片的PU執行幀間預測。另外,幀內預測處理單元126可使用經解碼圖片緩沖器116中的經重構譯碼塊來對與CU相同的圖片中的其它PU執行幀內預測。
[0180]熵編碼單元118可從視頻編碼器20的其它功能組件接收數據。舉例來說,熵編碼單元118可從量化單元106接收系數塊,且可從預測處理單元100接收語法元素。熵編碼單元118可對數據執行一或多個熵編碼操作以產生經熵編碼數據。舉例來說,視頻編碼單元118可對數據執行上下文自適應可變長度譯碼(CAVLC)操作、CABAC操作、可變-可變(V2V)長度譯碼操作、基于語法的上下文自適應二進制算術譯碼(SBAC)操作、概率區間分割熵(PIPE)譯碼操作,指數哥倫布編碼操作或另一類型的熵編碼操作。視頻編碼器20可輸出包含由熵編碼單元118產生的經熵編碼數據的位流。舉例來說,所述位流可包含表示CU的RQT的數據。所述位流還可包含未被熵編碼的語法元素。
[0181]圖11是說明可實施本發明中所描述的技術的實例視頻解碼器30的框圖。圖11是為了闡釋的目的而提供,且不對本發明中廣義上示范和描述的技術進行限制。為了闡釋的目的,本發明在HEVC譯碼的上下文中描述視頻解碼器30。然而,本發明的技術可適用于其它譯碼標準或方法。
[0182]在圖11的實例中,視頻解碼器30包含熵解碼單元150、預測處理單元152、反量化單元154、反變換處理單元156、重構單元158、濾波器單元160以及經解碼圖片緩沖器162。預測處理單元152包含運動補償單元164和幀內預測處理單元166。在其它實例中,視頻解碼器30可包含更多、更少或不同的功能組件。
[0183]熵解碼單元150可接收NAL單元且解析所述NAL單元以解碼語法元素。熵解碼單元150可解碼NAL單元中的經熵編碼語法元素。預測處理單元152、反量化單元154、反變換處理單元156、重構單元158以及濾波器單元160可基于從位流提取的語法元素而產生經解碼視頻數據。
[0184]位流的NAL單元可包含經譯碼切片NAL單元。作為解碼位流的一部分,熵解碼單元150可從經譯碼切片NAL單元提取語法元素且對所述語法元素進行熵解碼。所述經譯碼切片中的每一者可包含切片標頭和切片數據。所述切片標頭可含有與切片相關的語法元素。切片標頭中的語法元素可包含識別與含有所述切片的圖片相關聯的PPS。
[0185]除了解碼來自位流的語法元素之外,視頻解碼器30可對⑶執行重構操作。為對⑶執行重構操作,視頻解碼器30可對⑶的每一 TU執行重構操作。通過對⑶的每一 TU執行重構操作,視頻解碼器30可重構⑶的殘余塊。
[0186]作為對CU的TU執行重構操作的部分,反量化單元154可將與TU相關聯的系數塊反量化,即,解量化。反量化單元154可使用與TU的CU相關聯的QP值以確定量化程度,以及同樣反量化單元154要應用的反量化的程度。
[0187]在反量化單元154將系數塊反量化之后,反變換處理單元156可依序對系數塊應用一或多個反變換以產生與TU相關聯的殘余塊。舉例來說,反變換處理單元156可向系數塊應用反DCT、反整數變換、反卡胡嫩-羅孚(Karhunen-Loeve)變換(KLT)、反旋轉變換、反方向性變換,或另一反變換。
[0188]如果使用幀內預測對進行編碼,那么幀內預測處理單元166可執行幀內預測來產生PU的預測性塊。幀內預測處理單元166可使用幀內預測模式以基于在空間上相鄰的PU的預測塊而產生I3U的預測性亮度塊、Cb塊以及Cr塊。幀內預測處理單元166可基于從位流解碼的一或多個語法元素來確定用于PU的幀內預測模式。
[0189]預測處理單元152可基于從位流提取的語法元素來建構第一參考圖片列表(RefPicListO)及第二參考圖片列表(RefPicListl)。此外,如果使用幀間預測對I3U進行編碼,那么熵解碼單元150可提取PU的運動信息。運動補償單元164可基于PU的運動信息確定I3U的一或多個參考區。運動補償單元164可基于在PU的一或多個參考塊處的樣本塊而產生PU的預測性亮度塊、Cb塊及Cr塊。
[0190]重構單元158可在適用時使用與⑶的TU相關聯的亮度變換塊、Cb變換塊及Cr變換塊及CU的PU的預測性亮度塊、Cb塊及Cr塊(即,幀內預測數據或幀間預測數據)來重構CU的亮度譯碼塊、Cb譯碼塊及Cr譯碼塊。例如,重構單元158可將亮度變換塊、Cb變換塊以及Cr變換塊的樣本添加到預測性亮度塊、Cb塊及Cr塊的對應樣本以重構CU的亮度譯碼塊、Cb譯碼塊及Cr譯碼塊。
[0191]濾波器單元160可執行解塊操作以減少與CU的亮度譯碼塊、Cb譯碼塊及Cr譯碼塊相關聯的塊性假影。視頻解碼器30可在經解碼圖片緩沖器162中存儲CU的亮度譯碼塊、Cb譯碼塊及Cr譯碼塊。經解碼圖片緩沖器162可提供參考圖片以用于后續的運動補償、幀內預測以及在顯示裝置(例如,圖1的顯示裝置32)上的呈現。舉例來說,視頻解碼器30可基于經解碼圖片緩沖器162中的亮度、Cb及Cr對其它CU的PU執行幀內預測或幀間預測操作。以此方式,視頻解碼器30可從位流解析亮度系數塊的變換系數層級、反量化變換系數層級、對變換系數層級應用變換以產生變換塊、至少部分基于變換塊而產生譯碼塊,且輸出譯碼塊以用于顯示。
[0192]圖12是說明用以確定用于AMVP、合并模式運動向量預測及視圖間殘差預測中的當前PU的視差向量的視頻譯碼器的實例性操作200的流程圖。操作200可由視頻編碼器(例如,視頻編碼器20)、視頻解碼器(例如,視頻解碼器30)或另一裝置執行。視頻譯碼器可針對視圖Vl執行操作200且還可針對視圖V2執行操作200。基礎視圖可被表示為視圖VO0視圖Vl可在視圖VO的左邊且視圖V2可在視圖VO的右邊。此外,關于操作200,可將視差向量候選列表表不為disVecCan。在一些實例中,視差向量可直接用于視圖間運動預測和視圖間殘差預測。另外,視差向量的垂直部分在用于AMVP模式時可被設定為0,且被視為視圖間參考圖片的預測符。
[0193]在圖12的實例中,視頻譯碼器可初始化在空間上相鄰的指示符以使得在空間上相鄰的PU指示符指示根據檢查次序的第一相關的在空間上相鄰的ro(202)。在一些實例中,所述相關的在空間上相鄰的I3U可為覆蓋位置Ap BpB1及B2的PU,如圖2的實例中所示。在一些實例中,視頻譯碼器可根據以下位置次序來檢查所述相關的在空間上相鄰的PU =A1, B1, B0, A0及B2。因此,視頻譯碼器可檢查空間相鄰的預測單元N(其中N依序被仏、
B。、Atl 及 B2 取代)。
[0194]此外,視頻譯碼器可確定是否所有相關的在空間上相鄰的已被檢查(204)。響應于視頻譯碼器尚未檢查所有相關的在空間上相鄰的PU(204的“否”),視頻譯碼器可確定當前在空間上相鄰的I3U的RefPicListO運動向量是否可用且是否為視差運動向量
(206)。當前在空間上相鄰的可為由在空間上相鄰的PU指示符指示的PU。一般來說,PU的RefPicListO運動向量是指示在I3U的RefPicListO參考索引中指示的參考圖片中的位置的PU的運動向量。I3U的RefPicListO參考索引是指示RefPicListO中的參考圖片的參考索引。如果針對PU指定運動向量,那么視頻譯碼器可確定的運動向量是可用的。響應于確定當前在空間上相鄰的I3U的RefPicListO運動向量是可用的且是視差運動向量(206的“是”),視頻譯碼器可將當前在空間上相鄰的的RefPicListO運動向量添加到disVecCan (208)。
[0195]不管當前在空間上相鄰的I3U的RefPicListO運動向量是否可用且是否為視差運動向量,視頻譯碼器可確定當前在空間上相鄰的PU的RefPicListl運動向量是否可用且是否為視差運動向量(210)。一般來說,I3U的RefPicListl運動向量是指示在PU的RefPicListl參考索引中指示的參考圖片中的位置的I3U的運動向量。I3U的RefPicListl參考索引是指不RefPicListl中的參考圖片的參考索引。響應于確定當如在空間上相鄰的PU的RefPicListl運動向量是可用的且是視差運動向量(210的“是”),視頻譯碼器可將當前在空間上相鄰的PU的RefPicListl運動向量添加到disVecCan(212)。
[0196]在將RefPicListl運動向量添加到disVecCan或響應于確定RefPicListl運動向量不可用或不是視差運動向量(210的“否”),視頻譯碼器可設定在空間上相鄰的指示符以指示根據檢查次序的下一相關的在空間上相鄰的PU(214)。視頻譯碼器可隨后再次確定是否所有相關的在空間上相鄰的I3U已被檢查(204)。
[0197]響應于確定所有相關的在空間上相鄰的已被檢查(204的“是”),視頻譯碼器可確定disVecCan包含至少一個視差運動向量(216)。響應于確定disVecCan不包含任何視差運動向量(216的“否”),視頻譯碼器可執行從在時間上相鄰的導出當前的視差向量的過程(在圖12中表示為“A”)。在本發明中其它地方描述的圖13是說明用以從在時間上相鄰的PU導出當前的視差向量的實例性操作的流程圖。
[0198]否則,響應于確定disVecCan包含至少一個視差運動向量(216的“是”),視頻譯碼器可確定當前視圖是否在基礎視圖的左邊(218)。換句話說,視頻譯碼器可確定當前視圖是視圖VI。響應于確定當前視圖在基礎視圖的左邊(218的“是”),視頻譯碼器可基于disVecCan中具有最小水平值的視差運動向量來確定當前PU的視差向量(220)。舉例來說,視頻譯碼器可確定當前PU的視差向量等于當前在空間上相鄰的的RefPicListO運動向量的水平分量。否則,響應于確定當前視圖不在基礎視圖的左邊(218的“否”),視頻譯碼器可基于disVecCan中具有最大水平值的視差運動向量來確定當前I3U的視差向量(222)。
[0199]以此方式,對于每一相鄰F1U N,前向及后向運動向量(即,分別對應于RefPicListO及RefPicListl的運動向量)(如果可用)兩者都被檢查且在所述運動向量是視差運動向量的情況下添加到disVecCan。本發明可將指示RefPicListO中的參考圖片的運動向量稱作前向運動向量,且可將指示RefPicListI中的參考圖片的運動向量稱作后向運動向量。響應于確定在空間上相鄰的PU具有視差運動向量,視頻譯碼器將所述視差向量包含在視差向量候選者列表(disVecCan)中。
[0200]在檢查在空間上相鄰的I3U之后,視頻譯碼器可確定disVecCan是否包含任何視差運動向量。響應于確定disVecCan不包含任何視差運動向量,視頻譯碼器可執行對時間視差向量的導出過程。否則,響應于確定disVecCan包含至少一個視差運動向量,視頻譯碼器可從disVecCan中的視差運動向量中選擇一視差向量。如果當前視圖是視圖VI,那么視頻譯碼器可返回在disVecCan中具有所有條目的最小水平值的視差向量。否則(當前視圖是視圖V2),視頻譯碼器可返回在disVecCan中具有所有條目的最大水平值的視差向量。
[0201]圖13是說明用以基于在時間上相鄰的PU來確定當前I3U的視差向量的實例性操作250的流程圖。操作250可由視頻編碼器(例如,視頻編碼器20)、視頻解碼器(例如,視頻解碼器30)或另一裝置執行。操作250可為在圖12中表示為“A”的操作200的部分。如上文關于圖12所指示,在disVecCan不包含任何視差運動向量時,視頻譯碼器可執行對時間視差向量的導出過程,例如操作250。
[0202]如圖13的實例中所說明,視頻譯碼器可初始化當前候選圖片指示符,以使得當前候選圖片指示符指示來自當前視圖的位于同一地點的參考圖片(252)。如果當前切片(即,含有當前I3U的切片)在B切片中且當前切片的切片標頭中的COllOCated_frOm_10_flag語法元素指示位于同一地點的參考圖片在RefPicListl中,那么位于同一地點的參考圖片可為RefPicListl中的由切片標頭的collocated_ref_idx語法元素指示的位置處的參考圖片。否則,如果當前切片是P切片或當前圖片是B切片且當前切片的切片標頭中的collocated_from_10_flag語法元素指示位于同一地點的參考圖片在RefPicListO中,那么位于同一地點的參考圖片可為RefPicListO中的由切片標頭的collocated_ref_idx語法元素指示的位置處的參考圖片。由當前候選圖片指示符指示的候選圖片可在本文中被稱作當前候選圖片。
[0203]此外,在圖13的實例中,視頻譯碼器可確定是否所有候選圖片已被檢查(254)。在視頻譯碼器尚未檢查所有候選圖片時,視頻譯碼器可檢查當前候選圖片。在視頻譯碼器檢查當前候選圖片時,視頻譯碼器可檢查當前候選圖片內的三個候選區。第一候選區是位于同一地點的PU(CPU)區。第二候選區是位于同一地點的IXU區。第三候選區是右下方(BR)區。CPU區是當前候選圖片內的與當前PU(或當前CU)位于同一地點的區。CLCU區是當前候選圖片內的與覆蓋當前候選圖片內的與當前PU位于同一地點的區的LCU( S卩,CTU)相關聯的區。BR區是當前候選圖片內的緊接在CPU區的右下方的4X4區。因此,可如下定義三個候選區:
[0204].CPU:當前PU或當前⑶的位于同一地點的區。
[0205].CIXU:覆蓋當前I3U的位于同一地點的區的IXU。
[0206].BR:CPU 的右下方 4X4 塊。
[0207]圖14是說明候選圖片300的實例性候選區的概念圖。在圖14的實例中,當前圖片302包含與當前PU相關聯的區304。區304在與當前LCU相關聯的區306內。區304的左上方樣本相對于當前圖片302的左上方樣本位于(xO,y0)處。換句話說,當前圖片302中的當前I3U中的左上方樣本的位置是由(x0,y0)表示。候選圖片300中的CPU區310具有與區304相同的大小。CPU區310的左上方樣本相對于候選圖片300的左上方樣本位于(x0, y0)處。換句話說,在候選圖片300中,由CPU表示具有相同大小的PU且其左上方樣本位于(x0,y0)處的位于同一地點的區。候選圖片的區312與區306具有相同大小且與區306位于同一地點。候選圖片300的區314緊接在CPU區310的右下方而定位。以此方式,由CIXU表示覆蓋CPU的IXU,且由BR表示CPU的右下方塊。
[0208]現在繼續參考圖13的實例。為了檢查當前候選圖片的候選區,響應于確定視頻譯碼器尚未檢查所有候選圖片(254的“否”),視頻譯碼器可初始化當前候選區指示符以使得當前候選區指示符指示根據候選區檢查次序的第一候選區(256)。由候選區指示符指示的候選區可在本文中被稱作當前候選區。如果當前視圖是視圖Vl (即,基礎視圖的左邊的視圖),那么候選區檢查次序可為如下:CPU區、CIXU區及BR區。如果當前視圖是視圖V2 ( SP,基礎視圖的右邊的視圖),那么候選區檢查次序可為如下:BR區、CPU區、CIXU區。換句話說,在每一候選圖片內,此圖片中的對應三個候選區將針對Vl以(CPU、CLCU及BR)的次序且針對V2以(BR、CPU、CIXU)的次序進行檢查。
[0209]在初始化當前候選區指示符之后,視頻譯碼器可確定視頻譯碼器是否已檢查當前候選圖片的所有候選區(258)。響應于確定視頻譯碼器尚未檢查當前候選圖片的所有候選區(258的“否”),視頻譯碼器可確定當前候選區是否與視差運動向量相關聯(260)。在當前候選區覆蓋一個以上16X 16分區時,以光柵掃描次序掃描當前候選區中的每一 16X 16分區的左上方4X4塊。在覆蓋當前候選區的16X 16分區的左上方4X4塊的PU具有可用的視差運動向量時,視頻譯碼器可確定PU的視差運動向量是與當前候選區相關聯的視差運動向量。否則,在當前候選區不覆蓋一個以上16X16分區時,視頻譯碼器可選擇當前候選區的左上方4X4塊以用于視差向量導出。也就是說,在覆蓋當前候選區的左上方4X4塊的PU具有視差運動向量的情況下,視頻譯碼器可確定此視差運動向量是與當前候選區相關聯的視差運動向量。
[0210]響應于確定當前候選區與視差運動向量相關聯(260的“是”),視頻譯碼器可基于與當前候選區相關聯的視差運動向量來確定當前PU的視差向量(262)。舉例來說,視頻譯碼器可確定當前I3U的視差向量等于當前在空間上相鄰的I3U的RefPicListO運動向量的水平分量。否則,響應于確定當前候選區不與視差運動向量相關聯(260的“否”),視頻譯碼器可將當前候選區指示符設定為根據候選區檢查次序的下一候選區(264)。視頻譯碼器可隨后再次確定是否已檢查當前候選圖片的所有候選區(258)。
[0211]響應于確定當前候選圖片的所有候選區已被檢查(258的“是”),視頻譯碼器可將當前候選圖片指示符設定為根據候選圖片檢查次序的下一候選圖片(266)。視頻譯碼器可根據剩余候選圖片的參考索引以遞升次序檢查剩余的候選圖片(即,除了位于同一地點的候選圖片之外的候選圖片)。在一個參考索引對應于RefPicListO中的圖片且還對應于RefPicListl中的圖片時,視頻譯碼器可檢查RefPicListX中的參考圖片,之后檢查RefPicListY中的參考圖片,其中X等于collocated_from_10_flag且Y等于1-X。在設定當前候選圖片指示符之后,視頻譯碼器可再次確定視頻譯碼器是否已檢查所有候選圖片(254)。
[0212]響應于確定視頻譯碼器已檢查所有候選圖片(254的“是”),視頻譯碼器可將零視差向量用作當前PU的視差向量(268)。零視差向量可為水平和垂直部分兩者都被設定為O的視差向量。
[0213]以此方式,首先檢查來自當前視圖的位于同一地點的參考圖片。隨后,以參考索引的遞升次序檢查剩余候選圖片中的每一者。在每一候選圖片內,此圖片中的對應三個候選區可針對Vl以(CPU、CIXU及BR)的次序且針對V2以(BR、CPU、CIXU)的次序進行檢查。一旦識別視差運動向量,便可終止檢查過程且第一可用的視差運動向量可作為視差向量返回。如果此過程未返回可用的視差向量,那么可返回零視差向量(水平和垂直部分兩者都被設定為O)作為用于視圖間運動預測的視差向量。
[0214]圖15是說明實例性視差向量產生過程350的流程圖。視差向量產生過程350可由視頻編碼器(例如,視頻編碼器20)、視頻解碼器(例如,視頻解碼器30)或另一裝置執行。可執行視差向量產生過程350以確定當前的視差向量以用于合并模式、AMVP模式或視圖間殘差預測。視頻譯碼器可針對視圖Vl及視圖V2中的每一者執行視差向量產生過程350,其中Vl在基礎視圖的左邊且V2在基礎視圖的右邊。
[0215]在圖15的實例中,視頻譯碼器可確定視差向量產生過程350經執行以使用合并模式I3U確定當前I3U的運動信息(352)。響應于確定視差向量產生過程350未經執行以使用合并模式確定當前PU的運動信息(352的“否”),視頻譯碼器可執行圖16的實例中展示的視差向量產生過程350的一部分(在圖15中表示為“B”)。舉例來說,在視差向量產生過程350經執行以使用AMVP模式確定當前I3U的運動信息時,或在視差向量產生過程350經執行以作為視圖間殘差預測過程的一部分時,視頻譯碼器可執行圖16中展示的視差向量產生過程350的所述部分。
[0216]響應于確定視差向量產生過程350經執行以使用合并模式確定當前的運動信息(352的“是”),視頻譯碼器可初始化在空間上相鄰的指示符以使得在空間上相鄰的PU指示符指示根據檢查次序的第一相關的在空間上相鄰的PU (354)。在一些實例中,所述相關的在空間上相鄰的PU可為覆蓋位置ApApBc^B1及82的PU,如圖2的實例中所示。在一些實例中,視頻譯碼器可根據以下位置次序來檢查所述相關的在空間上相鄰的PU =A1, B1, B0,Atl及B2。因此,視頻譯碼器可檢查空間相鄰的預測單元N(其中N依序被Ap B1, B0, A0及B2取代)。
[0217]接下來,視頻譯碼器可確定是否所有相關的在空間上相鄰的已被檢查(356)。響應于視頻譯碼器尚未檢查所有相關的在空間上相鄰的PU(356的“否”),視頻譯碼器可確定當前在空間上相鄰的I3U的RefPicListO運動向量是否可用且是否為視差運動向量(358)。當前在空間上相鄰的PU可為由在空間上相鄰的PU指示符指示的PU。響應于確定當前在空間上相鄰的PU的RefPicListO運動向量是可用的且是視差運動向量(358的“是”),視頻譯碼器可基于當前在空間上相鄰的I3U的RefPicListO運動向量來確定當前I3U的視差向量(360)。舉例來說,視頻譯碼器可確定當前的視差向量等于當前在空間上相鄰的PU的RefPicListO運動向量的水平分量。
[0218]另一方面,響應于確定當前在空間上相鄰的I3U的RefPicListO運動向量不可用或不是視差運動向量(358的“否”),視頻譯碼器可確定當前在空間上相鄰的的RefPicListl運動向量是否可用且是否為視差運動向量(362)。響應于確定當前在空間上相鄰的PU的RefPicListl運動向量是可用的且是視差運動向量(362的“是”),視頻譯碼器可基于當前在空間上相鄰的I3U的RefPicListl運動向量來確定當前I3U的視差向量(364)。舉例來說,視頻譯碼器可確定當前的視差向量等于當前在空間上相鄰的PU的RefPicListO運動向量的水平分量。
[0219]然而,響應于確定當前在空間上相鄰的I3U的RefPicListl運動向量不可用或不是視差運動向量(362的“否”),視頻譯碼器可將在空間上相鄰的指示符設定為下一相關的在空間上相鄰的PU(366)。視頻譯碼器可隨后再次確定視頻譯碼器是否已檢查所有相關的在空間上相鄰的PU(356)。以此方式,對于相鄰的I3U N中的每一者,如果來自RefPicListO的運動向量是可用的且其為視差運動向量,那么其作為最終視差向量而返回。否則,檢查來自RefPicListl的運動向量(如果可用)。如果來自RefPicListl的運動向量是視差運動向量,那么來自RefPicListl的運動向量用作用于應用于合并模式的視圖間運動預測的視差向量。
[0220]響應于確定視頻譯碼器已檢查所有相關的在空間上相鄰的TO(356的“是”),視頻譯碼器可執行對圖15的實例中指示為“A”的時間視差向量的導出過程。在一些實例中,在視頻譯碼器已檢查所有相關的在空間上相鄰的PU時,視頻譯碼器可執行圖13中所示的實例過程。
[0221]以此方式,在不存在對空間視差向量的以上導出過程中識別的視差運動向量時,調用對時間視差向量的導出過程。時間相鄰塊的定義以及時間相鄰塊的檢查次序與關于圖13的實例所描述相同。如果此過程未返回可用的視差向量,那么可返回零視差向量(水平和垂直部分兩者都被設定為O)作為視差向量。
[0222]圖16是說明用于AMVP及視圖間殘差預測模式的實例性視差向量產生過程的流程圖。換句話說,對于針對應用于AMVP模式及視圖間殘差預測的視圖間運動預測而產生的視差向量,可利用圖16的方法。以此方式,可針對合并模式執行第一視差運動向量導出過程,且可針對AMVP模式及視圖間殘差預測執行第二視差運動向量導出過程。視差向量產生過程可為圖15的視差向量產生過程350的部分。如下文所描述,在圖16的實例中,首先檢查空間相鄰塊,隨后檢查時間相鄰塊。
[0223]在圖16的實例中,視頻譯碼器可初始化在空間上相鄰的指示符以使得在空間上相鄰的PU指不符指不根據檢查次序的第一相關的在空間上相鄰的PU(402)。圖17是說明在空間上與當前PU相鄰的實例性位置的概念圖。在圖16的實例中,所述相關的在空間上相鄰的PU可為覆蓋位置A0到Ak、BO到BL、C及D的PU,如圖17的實例中所示。
[0224]在初始化在空間上相鄰的指示符之后,視頻譯碼器可隨后確定是否所有相關的在空間上相鄰的PU已被檢查(404)。響應于視頻譯碼器尚未檢查所有相關的在空間上相鄰的PU(404的“否”),視頻譯碼器可確定當前在空間上相鄰的I3U的RefPicListO運動向量是否可用且是否為視差運動向量(406)。響應于確定當前在空間上相鄰的I3U的RefPicListO運動向量是可用的且是視差運動向量(406的“是”),視頻譯碼器可確定當前視圖是否為視圖Vl (即,基礎視圖左邊的視圖)且視差運動向量是否具有小于或等于O的水平值(408)。響應于確定當前視圖不是視圖Vl或視差運動向量具有不小于或等于O的水平值(408的“否”),視頻譯碼器可確定當前視圖是否為視圖V2(即,基礎視圖右邊的視圖)且視差運動向量是否具有大于或等于O的水平值(410)。
[0225]響應于確定當前視圖是視圖Vl且視差運動向量具有小于或等于O的水平值(408的“是”),或響應于確定當前視圖是視圖V2且視差運動向量具有大于或等于O的水平值(408的“是”),視頻譯碼器可將當前在空間上相鄰的的RefPicListO運動向量添加到disVecCan (412)。可將disVecCan初始化為空列表。
[0226]在將當前在空間上相鄰的I3U的RefPicListO運動向量添加到disVecCan之后,響應于確定當前視圖不是視圖V2或視差運動向量不具有大于或等于O的水平值(410的“否”),或響應于確定當前在空間上相鄰的I3U的RefPicListO運動向量不可用或不是視差運動向量(406的“否”),視頻譯碼器可確定當前在空間上相鄰的的RefPicListl運動向量是否可用且是否為視差運動向量(414)。響應于確定當前在空間上相鄰的的RefPicListl運動向量是可用的且是視差運動向量(414的“是”),視頻譯碼器可確定當前視圖是否為視圖Vl (即,基礎視圖左邊的視圖)且視差運動向量是否具有小于或等于O的水平值(416)。響應于確定當前視圖不是視圖Vl或視差運動向量具有不小于或等于O的水平值(416的“否”),視頻譯碼器可確定當前視圖是否為視圖V2(即,基礎視圖右邊的視圖)且視差運動向量是否具有大于或等于O的水平值(418)。
[0227]響應于確定當前視圖是視圖Vl且視差運動向量具有小于或等于O的水平值(416的“是”),或響應于確定當前視圖是視圖V2且視差運動向量具有大于或等于O的水平值(418的“是”),視頻譯碼器可將當前在空間上相鄰的的RefPicListl運動向量添加到disVecCan (420)。在將當前在空間上相鄰的I3U的RefPicListl運動向量添加到disVecCan之后,視頻譯碼器可設定在空間上相鄰的PU指示符以指示根據用于相關的在空間上相鄰的PU的檢查次序的下一相關的在空間上相鄰的TO(420)。在設定在空間上相鄰的指示符之后,或響應于確定當前在空間上相鄰的PU的RefPicListl運動向量不可用或不是視差運動向量(414的“否”),或響應于確定當前視圖不是視圖V2或視差運動向量不具有大于或等于O的水平值(418的“否”),視頻譯碼器可將在空間上相鄰的指示符設定為根據檢查次序的下一相關的在空間上相鄰的PU(422)。視頻譯碼器可隨后再次確定視頻譯碼器是否已檢查所有相關的在空間上相鄰的PU(404)。
[0228]以此方式,對于相鄰塊中的每一者,前向及后向運動向量(分別對應于RefPicListO及RefPicListl)(如果可用)兩者都被檢查且在所述運動向量是視差運動向量且以下條件中的一者為真的情況下添加到disVecCan:
[0229]?如果當前視圖是Vl且視差運動向量具有小于或等于O的水平值。
[0230]?如果當前視圖是V2且視差運動向量具有大于或等于O的水平值。
[0231]響應于確定視頻譯碼器已檢查所有相關的在空間上相鄰的TO(404的“是”),視頻譯碼器可執行圖18中展示的視差向量產生過程350的所述部分(在圖16中標記為“D”)。
[0232]圖18是說明圖15及16的視差向量產生過程350的實例性接續部分的流程圖。在圖18的實例中,視頻譯碼器可確定disVecCan是否包含至少一個視差運動向量(450)。如果disVecCan不含有至少一個視差運動向量,那么視頻譯碼器可調用對時間視差向量的導出過程。具體來說,在圖18的實例中,響應于確定disVecCan不包含任何視差運動向量(450的“否”),視頻譯碼器可確定當前視圖是否在基礎視圖的左邊(452)。換句話說,視頻譯碼器可確定當前視圖是否為視圖VI。響應于確定當前視圖在基礎視圖的左邊(452的“是”),視頻譯碼器執行圖19中展示的視差向量產生過程350的所述部分(在圖18中標記為 “E”)。
[0233]響應于確定當前視圖不在基礎視圖的左邊(S卩,當前視圖是視圖V2) (452的“否”),視頻譯碼器可執行對時間視差向量的不同導出過程(在圖18的實例中標記為“A”)。在一些實例中,在當前視圖是視圖V2時,視頻譯碼器可執行圖13中所示的對時間視差向量的導出過程。也就是說,如果當前視圖是V2,那么調用以下過程:遵循時間相鄰塊的相同定義及如圖13中所描述的檢查次序,返回第一可用的視差運動向量作為最終視差向量。如果未找到此視差運動向量,那么可返回零視差向量(水平和垂直部分兩者都被設定為O)作為視差向量。
[0234]否則,如果disVecCan含有至少一個視差向量,那么視頻譯碼器可調用用以選擇最優選的空間視差運動向量的過程且返回。也就是說,響應于確定disVecCan包含至少一個視差運動向量(450的“是”),視頻譯碼器可確定當前視圖是否在基礎視圖的左邊(454)。換句話說,視頻譯碼器可確定當前視圖是否為視圖VI。響應于確定當前視圖在基礎視圖的左邊(454的“是”),為了 AMVP模式及視圖間殘差預測,視頻譯碼器可基于disVecCan中具有最小水平值的視差運動向量來確定當前PU的視差向量(456)。換句話說,如果當前視圖是VI,那么返回在disVecCan中的所有條目中具有最小視差值的視差向量。
[0235]否則,響應于確定當前視圖不在基礎視圖的左邊(454的“否”),為了 AMVP模式及視圖間殘差預測,視頻譯碼器可基于disVecCan中具有最大水平值的視差運動向量來確定當前I3U的視差向量(458)。換句話說,如果當前視圖是視圖V2,那么返回在disVecCan中的所有條目中具有最大視差值的視差向量。
[0236]圖19是說明圖15、16及17的視差向量產生過程350的實例性接續部分的流程圖。如圖19的實例中所說明,視頻譯碼器可初始化當前候選圖片指示符,以使得當前候選圖片指示符指示來自當前視圖的位于同一地點的參考圖片(500)。如果當前切片(S卩,含有當前PU的切片)在B切片中且當前切片的切片標頭中的collocated_from_10_flag語法元素指示位于同一地點的參考圖片在RefPicListl中,那么位于同一地點的參考圖片可為RefPicListl中的由切片標頭的collocated_ref_idx語法元素指示的位置處的參考圖片。否則,如果當前切片是P切片或當前圖片是B切片且當前切片的切片標頭中的collocated_from_10_flag語法元素指示位于同一地點的參考圖片在RefPicListO中,那么位于同一地點的參考圖片可為RefPicListO中的由切片標頭的collocated_ref_idx語法元素指示的位置處的參考圖片。由當前候選圖片指示符指示的候選圖片可在本文中被稱作當前候選圖片。
[0237]此外,視頻譯碼器可確定是否所有候選圖片已被檢查(502)。在視頻譯碼器尚未檢查所有候選圖片時,視頻譯碼器可檢查當前候選圖片。在視頻譯碼器檢查當前候選圖片時,視頻譯碼器可檢查當前候選圖片的CPU區、CLCU區及BR區。為了檢查當前候選圖片的候選區,響應于確定視頻譯碼器尚未檢查所有候選圖片(502的“否”),視頻譯碼器可初始化當前候選區指示符以使得當前候選區指示符指示根據候選區檢查次序的第一候選區(504)。由候選區指示符指示的候選區可在本文中被稱作當前候選區。候選區檢查次序可為如下:CPU區、CLCU區及BR區。
[0238]在初始化當前候選區指示符之后,視頻譯碼器可確定視頻譯碼器是否已檢查當前候選圖片的所有候選區(506)。響應于確定視頻譯碼器尚未檢查當前候選圖片的所有候選區(506的“否”),視頻譯碼器可確定當前候選區是否與視差運動向量相關聯(508)。在當前候選區覆蓋一個以上16X 16分區時,以光柵掃描次序掃描當前候選區中的每一 16X 16分區的左上方4X4塊。在覆蓋當前候選區的16X 16分區的左上方4X4塊的PU具有可用的視差運動向量時,視頻譯碼器可確定PU的視差運動向量是與當前候選區相關聯的視差運動向量。否則,在當前候選區不覆蓋一個以上16X16分區時,視頻譯碼器可選擇當前候選區的左上方4X4塊以用于視差向量導出。也就是說,在覆蓋當前候選區的左上方4X4塊的PU具有視差運動向量的情況下,視頻譯碼器可確定此視差運動向量是與當前候選區相關聯的視差運動向量。
[0239]響應于確定當前候選區與視差運動向量相關聯(508的“是”),視頻譯碼器可確定視差運動向量的水平值是否小于或等于O (510)。響應于確定視差運動向量的水平值小于或等于0(510的“是”),為了 AMVP模式及視圖間殘差預測,視頻譯碼器可基于與當前候選區相關聯的視差運動向量來確定當前PU的視差向量(512)。
[0240]否則,響應于確定視差運動向量的水平值不小于或等于0(510的“否”)或響應于確定當前候選區不與視差運動向量相關聯(508的“否”),視頻譯碼器可將當前候選區指示符設定為根據候選區檢查次序的下一候選區(514)。視頻譯碼器可隨后再次確定是否已檢查當前候選圖片的所有候選區(506)。
[0241]響應于確定當前候選圖片的所有候選區已被檢查(506的“是”),視頻譯碼器可將當前候選圖片指示符設定為根據候選圖片檢查次序的下一候選圖片(516)。視頻譯碼器可根據剩余候選圖片的參考索引以遞升次序檢查剩余的候選圖片。在一個參考索引對應于Ref Pi cLi StO中的圖片且還對應于Ref Pi cLi st I中的圖片時,視頻譯碼器可檢查RefPicListX中的參考圖片,之后檢查RefPicListY中的參考圖片,其中X等于collocated_from_10_flag且Y等于1_X。在設定當前候選圖片指示符之后,視頻譯碼器可再次確定視頻譯碼器是否已檢查所有候選圖片(502)。
[0242]響應于確定視頻譯碼器已檢查所有候選圖片(502的“是”),為了 AMVP模式及視圖間殘差預測,視頻譯碼器可將零視差向量用作當前PU的視差向量(518)。零視差向量可為水平和垂直部分兩者都被設定為O的視差向量。
[0243]以此方式,如果當前視圖是VI,那么調用以下過程。遵循時間相鄰塊的相同定義及如圖13中所描述的相同檢查次序,返回具有小于或等于O的水平值的第一可用的視差運動向量作為最終視差向量。如果未找到此視差運動向量,那么可返回零視差向量(水平和垂直部分兩者都被設定為O)作為視差向量。
[0244]圖20是說明根據本發明的一或多種技術的視頻編碼器20的實例性操作550的流程圖。在圖20的實例中,視頻編碼器20可使用第一視差向量導出過程確定第一視差向量(552)。視頻譯碼器20可使用第二視差向量導出過程確定第二視差向量,其中所述第一視差向量導出過程不同于所述第二視差向量導出過程(554)。另外,視頻編碼器20可使用第一視差向量以確定用于當前I3U的一組MVP候選者中的一 MVP候選者(556)。另外,視頻編碼器20可使用第二視差向量來確定殘余數據(558)。此外,視頻編碼器20可產生包含指示當前PU的殘余數據及所述組MVP候選者中的所選擇的MVP候選者的數據的位流(560)。
[0245]圖21是說明根據本發明的一或多種技術的視頻解碼器30的實例性操作600的流程圖。在圖21的實例中,視頻解碼器30可使用第一視差向量導出過程確定第一視差向量(602)。另外,視頻解碼器30可使用第二視差向量導出過程確定第二視差向量。第一視差向量導出過程可不同于第二視差向量導出過程¢04)。此外,視頻解碼器30可使用第一視差向量以確定用于當前預測單元(PU)的一組MVP候選者中的一 MVP候選者¢06)。視頻解碼器30使用第二視差向量來確定殘余數據¢08)。另外,視頻解碼器30可部分基于所述殘余數據及所述組MVP候選者中的所選擇的MVP候選者而產生經重構圖片的一或多個塊(610)。
[0246]在一或多個實例中,所描述的功能可以硬件、軟件、固件或其任何組合來實施。如果以軟件實施,那么所述功能可作為一或多個指令或代碼存儲在計算機可讀媒體上或經由計算機可讀媒體進行傳輸且由基于硬件的處理單元執行。計算機可讀媒體可包含計算機可讀存儲媒體(其對應于例如數據存儲媒體等有形媒體)或通信媒體,通信媒體包含促進(例如)根據通信協議將計算機程序從一處傳遞到另一處的任何媒體。以此方式,計算機可讀媒體一般可對應于(I)非暫時性的有形計算機可讀存儲媒體或(2)例如信號或載波等通信媒體。數據存儲媒體可為可由一或多個計算機或一或多個處理器存取以檢索指令、代碼和/或數據結構來用于實施本發明中所描述的技術的任何可用媒體。計算機程序產品可包含計算機可讀媒體。
[0247]舉例來說且并非限制,所述計算機可讀媒體可包括RAM、ROM、EEPROM、CD-ROM或其它光盤存儲裝置、磁盤存儲裝置或其它磁性存儲裝置,快閃存儲器,或可用于存儲呈指令或數據結構的形式的所要程序代碼且可由計算機存取的任何其它媒體。舉例來說,如果使用同軸電纜、光纖電纜、雙絞線、數字訂戶線(DSL)或例如紅外線、無線電及微波的無線技術從網站、服務器或其它遠程源傳輸軟件,則同軸電纜、光纖電纜、雙絞線、DSL或例如紅外線、無線電及微波的無線技術包含于媒體的定義中。然而,應理解,計算機可讀存儲媒體和數據存儲媒體不包含連接、載波、信號或其它瞬時媒體,而是針對于非瞬時的、有形存儲媒體。如本文中所使用,磁盤及光盤包括壓縮光盤(CD)、激光光盤、光學光盤、數字多功能光盤(DVD)、軟磁盤及藍光光盤,其中磁盤通常磁性地復制數據,而光盤使用激光光學地復制數據。以上各者的組合也應包含在計算機可讀媒體的范圍內。
[0248]可由例如一或多個數字信號處理器(DSP)、通用微處理器、專用集成電路(ASIC)、現場可編程邏輯陣列(FPGA)或其它等效集成或離散邏輯電路等一或多個處理器來執行所述指令。因此,如本文中所使用的術語“處理器”可指上述結構或適合于實施本文中所描述的技術的任一其它結構中的任一者。另外,在一些方面中,本文中所描述的功能性可提供于經配置以用于編碼及解碼的專用硬件單元和/或軟件單元內,或并入組合式編解碼器中。并且,可將所述技術完全實施于一或多個電路或邏輯元件中。
[0249]本發明的技術可實施于廣泛多種裝置或設備中,包含無線手持機、集成電路(IC)或IC組(例如,芯片組)。本發明中描述各種組件、模塊或單元來強調經配置以執行所揭示的技術的裝置的若干功能性方面,但不一定需要通過不同的硬件單元來實現。而是,如上文所描述,各種單元可聯合合適的軟件和/或固件而組合于編解碼器硬件單元中或通過互操作的硬件單元的集合(包含如上文所描述的一或多個處理器)來提供。
[0250]已描述了各種實例。這些及其它實例屬于所附權利要求書的范圍內。
【權利要求】
1.一種對視頻數據進行解碼的方法,所述方法包括: 使用第一視差向量導出過程確定第一視差向量; 使用第二視差向量導出過程確定第二視差向量,其中所述第一視差向量導出過程不同于所述第二視差向量導出過程; 使用所述第一視差向量來確定當前預測單元PU的一組運動向量預測MVP候選者中的一 MVP候選者; 使用所述第二視差向量來確定殘余數據;及 部分基于所述殘余數據及所述組MVP候選者中的所選擇的MVP候選者而產生經重構圖片的一或多個塊。
2.根據權利要求1所述的方法,其中確定所述第一視差向量包括依據是使用第一模式還是第二模式對所述當前PU的運動信息進行編碼,而使用不同的視差向量導出過程來確定所述第一視差向量。
3.根據權利要求2所述的方法,其進一步包括: 從位流獲得候選者索引; 產生所述組MVP候選者; 至少部分基于所述候選者索引來確定所述組MVP候選者中的所述所選擇的MVP候選者,其中在所述當前PU的所述運動信息是使用所述第一模式編碼時,所述所選擇的MVP候選者指定所述當前PU的運動向量 '及 在所述當前PU的所述運動信息是使用所述第二模式編碼時: 從所述位流獲得所述當前PU的運動向量差MVD ;及 至少部分基于由所述所選擇的MVP候選者指示的運動向量及所述MVD來確定所述當前PU的所述運動向量。
4.根據權利要求1所述的方法,其進一步包括: 至少部分基于所述所選擇的MVP候選者來確定所述當前的預測性塊;及 至少部分基于所述當前PU的所述預測性塊及所述殘余數據來產生經重構塊。
5.一種對視頻數據進行編碼的方法,所述方法包括: 使用第一視差向量導出過程確定第一視差向量; 使用第二視差向量導出過程確定第二視差向量,其中所述第一視差向量導出過程不同于所述第二視差向量導出過程; 使用所述第一視差向量來確定當前預測單元PU的一組運動向量預測MVP候選者中的一 MVP候選者; 使用所述第二視差向量來確定殘余數據;及 產生包含指示所述當前PU的所述殘余數據及所述組MVP候選者中的所選擇的MVP候選者的數據的位流。
6.根據權利要求5所述的方法,其中確定所述第一視差向量包括依據是使用第一模式還是第二模式對所述當前PU的運動信息進行編碼,而使用不同的視差向量導出過程來確定所述第一視差向量。
7.根據權利要求6所述的方法,其進一步包括: 產生所述組MVP候選者; 產生包含指示所述組MVP候選者中的所述所選擇的MVP候選者的候選者索引的位流,其中在所述當前PU的所述運動信息是使用所述第一模式編碼時,所述所選擇的MVP候選者指定所述當前PU的運動向量 '及 在所述當前PU的所述運動信息是使用所述第二模式編碼時,在所述位流中包含指示所述當前PU的運動向量差MVD的數據,所述當前的所述MVD指示由所述所選擇的MVP候選者指示的運動向量與所述當前PU的運動向量之間的差。
8.一種視頻譯碼器,其包括一或多個處理器,所述一或多個處理器經配置以: 使用第一視差向量導出過程確定第一視差向量; 使用第二視差向量導出過程確定第二視差向量,其中所述第一視差向量導出過程不同于所述第二視差向量導出過程; 使用所述第一視差向量來確定當前預測單元PU的一組運動向量預測MVP候選者中的一 MVP候選者;及 使用所述第二視差向量來確定殘余數據。
9.根據權利要求8所述的視頻譯碼器,其中所述一或多個處理器經配置以依據是使用第一模式還是第二模式對所述當前PU的運動信息進行編碼,而使用不同的視差向量導出過程來確定所述第一視差向量。
10.根據權利要求9所述的視頻譯碼器,其中所述一或多個處理器經配置以: 從位流獲得候選者索引; 產生所述組MVP候選者; 至少部分基于所述候選者索引來確定所述組MVP候選者中的所選擇的MVP候選者,其中在所述當前PU的所述運動信息是使用所述第一模式編碼時,所述所選擇的MVP候選者指定所述當前PU的運動向量 '及 在所述當前PU的所述運動信息是使用所述第二模式編碼時: 從所述位流獲得所述當前PU的運動向量差MVD ;及 至少部分基于由所述所選擇的MVP候選者指示的運動向量及所述MVD來確定所述當前PU的所述運動向量。
11.根據權利要求9所述的視頻譯碼器,其中所述一或多個處理器經配置以: 產生所述組MVP候選者; 產生包含指示所述組MVP候選者中的所述所選擇的MVP候選者的候選者索引的位流,其中在所述當前PU的所述運動信息是使用所述第一模式編碼時,所述所選擇的MVP候選者指定所述當前PU的運動向量;及 在所述當前PU的所述運動信息是使用所述第二模式編碼時,在所述位流中包含指示所述當前PU的MVD的數據,所述當前的所述MVD指示由所述所選擇的MVP候選者指示的運動向量與所述當前PU的運動向量之間的差。
12.根據權利要求8所述的視頻譯碼器,其中所述一或多個處理器經配置以: 至少部分基于所述所選擇的MVP候選者來確定所述當前的預測性塊;及 至少部分基于所述當前PU的所述預測性塊及所述殘余數據來產生經重構塊。
13.根據權利要求8所述的視頻譯碼器,其中所述一或多個處理器對視頻數據進行編碼。
14.根據權利要求8所述的視頻譯碼器,其中所述一或多個處理器對視頻數據進行解碼。
15.一種視頻譯碼器,其包括: 用于使用第一視差向量導出過程確定第一視差向量的裝置; 用于使用第二視差向量導出過程確定第二視差向量的裝置,其中所述第一視差向量導出過程不同于所述第二視差向量導出過程; 用于使用所述第一視差向量來確定當前預測單元PU的一組運動向量預測MVP候選者中的一 MVP候選者的裝置;及 用于使用所述第二視差向量來確定殘余數據的裝置。
16.根據權利要求15所述的視頻譯碼器,其進一步包括用于依據是使用第一模式還是第二模式對所述當前PU的運動信息進行編碼而使用不同的視差向量導出過程來確定所述第一視差向量的裝置。
17.根據權利要求16所述的視頻譯碼器,其進一步包括: 用于從位流獲得候選者索引的裝置; 用于產生所述組MVP候選者的裝置; 用于至少部分基于所述候選者索引來確定所述組MVP候選者中的所選擇的MVP候選者的裝置,其中在所述當前PU的所述運動信息是使用所述第一模式編碼時,所述所選擇的MVP候選者指定所述當前I3U的運動向量; 用于在所述當前PU的所述運動信息是使用所述第二模式編碼時從所述位流獲得所述當前PU的運動向量差MVD的裝置;及 用于在所述當前PU的所述運動信息是使用所述第二模式編碼時至少部分基于由所述所選擇的MVP候選者指示的運動向量及所述MVD來確定所述當前PU的所述運動向量的裝置。
18.根據權利要求16所述的視頻譯碼器,其進一步包括: 用于產生所述組MVP候選者的裝置; 用于產生包含指示所述組MVP候選者中的所述所選擇的MVP候選者的候選者索引的位流的裝置,其中在所述當前PU的所述運動信息是使用所述第一模式編碼時,所述所選擇的MVP候選者指定所述當前I3U的運動向量;及 用于在所述當前PU的所述運動信息是使用所述第二模式編碼時在所述位流中包含指示所述當前PU的MVD的數據的裝置,所述當前PU的所述MVD指示由所述所選擇的MVP候選者指示的運動向量與所述當前PU的運動向量之間的差。
19.一種其上存儲有指令的計算機可讀存儲媒體,所述指令在被執行時致使視頻譯碼器: 使用第一視差向量導出過程確定第一視差向量; 使用第二視差向量導出過程確定第二視差向量,其中所述第一視差向量導出過程不同于所述第二視差向量導出過程; 使用所述第一視差向量來確定當前預測單元PU的一組運動向量預測MVP候選者中的一 MVP候選者;及 使用所述第二視差向量來確定殘余數據。
20.根據權利要求19所述的計算機可讀存儲媒體,其中所述指令進一步配置視頻譯碼器以依據是使用第一模式還是第二模式對所述當前PU的運動信息進行編碼,而使用不同的視差向量導出過程來確定所述第一視差向量。
21.根據權利要求20所述的計算機可讀存儲媒體,其中所述指令進一步配置所述視頻譯碼器以: 從位流獲得候選者索引; 產生所述組MVP候選者; 至少部分基于所述候選者索引來確定所述組MVP候選者中的所選擇的MVP候選者,其中在所述當前PU的所述運動信息是使用所述第一模式編碼時,所述所選擇的MVP候選者指定所述當前I3U的運動向量; 在所述當前PU的所述運動信息是使用所述第二模式編碼時,從所述位流獲得所述當前PU的運動向量差MVD ;及 在所述當前PU的所述運動信息是使用所述第二模式編碼時,至少部分基于由所述所選擇的MVP候選者指示的運動向量及所述MVD來確定所述當前PU的所述運動向量。
22.根據權利要求20所述的計算機可讀存儲媒體,其中所述指令進一步配置視頻譯碼器以: 產生所述組MVP候選者; 產生包含指示所述組MVP候選者中的所選擇的MVP候選者的候選者索引的位流,其中在所述當前PU的所述運動信息是使用所述第一模式編碼時,所述所選擇的MVP候選者指定所述當前PU的運動向量 '及 在所述當前PU的所述運動信息是使用所述第二模式編碼時,在所述位流中包含指示所述當前PU的MVD的數據,所述當前的所述MVD指示由所述所選擇的MVP候選者指示的運動向量與所述當前PU的運動向量之間的差。
【文檔編號】H04N19/176GK104365103SQ201380031453
【公開日】2015年2月18日 申請日期:2013年6月14日 優先權日:2012年6月15日
【發明者】陳穎, 張莉 申請人:高通股份有限公司