3d視頻譯碼中針對跳過和直接模式的視差向量導出的制作方法
【專利說明】
[0001] 本申請案主張2013年3月19日申請的第61/803, 429號美國臨時專利申請案的 權益,所述臨時專利申請案的整個內容以引用的方式并入本文中。
技術領域
[0002] 本發明涉及視頻編碼和視頻解碼。
【背景技術】
[0003] 數字視頻能力可并入到較寬范圍的裝置中,包括數字電視、數字直播系統、無線 廣播系統、個人數字助理(PDA)、膝上型或桌上型計算機、數字相機、數字記錄裝置、數字媒 體播放器、視頻游戲裝置、視頻游戲控制臺、蜂窩式或衛星無線電電話、視頻電話會議裝置 等。數字視頻裝置實施視頻壓縮技術,例如由MPEG-2 ;MPEG-4 ;ITU-T H. 263 ;ITU-TH. 264/ MPEG-4,第10部分;高級視頻譯碼(AVC)、高效視頻譯碼(HEVC)標準以及此類標準的擴展 界定的標準中所描述的那些技術,來更高效地發射、接收和存儲數字視頻信息。
[0004] 視頻壓縮技術包含空間預測和/或時間預測來減少或去除視頻序列中固有的冗 余。對于基于塊的視頻譯碼,可將視頻幀或切片分割為若干塊。可進一步分割每一塊。相 對于經幀內譯碼(I)幀或切片中的相鄰塊中的參考樣本,使用空間預測來編碼同一幀或切 片中的塊。經幀間譯碼(P或B)幀或切片中的塊可相對于同一幀或切片中的相鄰塊中的參 考樣本使用空間預測,或相對于其它參考幀中的參考樣本使用時間預測。空間或時間預測 產生待譯碼塊的預測塊。殘余數據表示待譯碼的原始塊與預測塊之間的像素差。
[0005] 根據運動向量和殘余數據來編碼經幀間譯碼的塊,運動向量指向形成預測塊的參 考樣本塊,且殘余數據指示經譯碼塊與預測塊之間的差異。根據幀內譯碼模式和殘余數據 來編碼經幀內譯碼的塊。為了進一步壓縮,可將殘余數據從像素域變換到變換域,從而產生 殘余變換系數,其接著可量化。可以特定次序掃描經量化的變換系數,最初布置成二維陣 列,以產生變換系數的一維向量來用于熵譯碼。
【發明內容】
[0006] 本發明涉及基于高級編解碼器的多視圖視頻譯碼和3維(3D)視頻譯碼,包含用 3D高級視頻譯碼(AVC)編解碼器對兩個或兩個以上視圖的譯碼。更具體地說,技術與跳過 和直接模式的視差向量導出有關。如本文所述,視頻解碼器可執行基于相鄰塊的視差向量 (NBDV)導出過程來確定視差向量,或執行NBDV細化(NBDV-R)過程來確定視差向量。當在 跳過模式或直接模式下譯碼當前塊時,視頻解碼器使用所述視差向量作為當前塊的視差向 量,而不對多個視差運動向量使用中值濾波過程。此外,視頻解碼器確定當前塊的像素值。
[0007] 在一個實例中,本發明描述一種解碼視頻數據的方法,所述方法包括:執行NBDV 導出過程來確定視差向量,或執行NBDV-R過程來確定所述視差向量;使用視差向量作為視 頻數據的當前塊的視差向量,而不對多個視差運動向量使用中值濾波過程,其中在跳過模 式或直接模式下譯碼當前塊;以及確定當前塊的像素值。
[0008] 在另一實例中,本發明描述一種編碼視頻數據的方法,所述方法包括:執行NBDV 導出過程以確定視差向量,或執行NBDV-R過程以確定所述視差向量;使用所述視差向量作 為視頻數據的當前塊的視差向量,而不對多個視差運動向量使用中值濾波過程,其中在跳 過模式或直接模式下譯碼當前塊;以及對包含當前塊的當前切片的語法元素進行熵編碼。
[0009] 在另一實例中,本發明描述一種裝置,其包括:存儲器,其存儲經解碼的視頻塊; 一個或一個以上處理器,其經配置以:執行NBDV導出過程以確定視差向量,或執行NBDV-R 過程以確定視差向量;以及使用所述視差向量作為視頻數據的當前塊的視差向量,而不對 多個視差運動向量使用中值濾波過程,其中在跳過模式或直接模式下譯碼當前塊。
[0010] 在另一實例中,本發明描述一種裝置,其包括:用于執行NBDV導出過程以確定視 差向量或執行NBDV-R過程以確定視差向量的裝置;以及用于使用視差向量作為視頻數據 的當前塊的視差向量而不對多個視差運動向量使用中值濾波過程的裝置,其中在跳過模式 或直接模式下譯碼當前塊。
[0011] 在另一實例中,本發明描述一種上面存儲有指令的非暫時性計算機可讀數據存儲 媒體,所述指令在被執行時,致使視頻譯碼裝置:執行NBDV導出過程以確定視差向量,或執 行NBDV-R過程以確定所述視差向量;且使用所述視差向量作為視頻數據的當前塊的視差 向量,而不對多個視差運動向量使用中值濾波過程,其中在跳過模式或直接模式下譯碼當 前塊。
[0012] 在附圖和下文的描述中陳述本發明的一個或一個以上實例的細節。將從描述、圖 式和所附權利要求書中明白其它特征、目標和優點。
【附圖說明】
[0013] 圖1是說明可利用本發明中所描述的技術的實例視頻編碼和解碼系統的框圖。
[0014] 圖2是說明實例多視圖視頻譯碼時間和視圖間預測結構的概念圖。
[0015] 圖3是說明相對于當前宏塊的空間鄰域的實例的概念圖。
[0016] 圖4是說明基于向后翹曲的基于塊的視圖綜合預測的實例的概念圖。
[0017] 圖5是說明相對于3D-HEVC中的當前預測單元的空間運動向量領域的實例的概念 圖。
[0018] 圖6是說明從參考視圖導出深度塊以用于基于塊的視圖綜合預測的概念圖。
[0019] 圖7是說明可實施本發明中所描述的技術的實例視頻編碼器的框圖。
[0020] 圖8是說明可實施本發明中所描述的技術的實例視頻解碼器的框圖。
[0021] 圖9A是說明根據本發明一個或一個以上技術的視頻編碼器的實例操作的流程 圖。
[0022] 圖9B是說明根據本發明一個或一個以上技術的視頻解碼器的實例操作的流程 圖。
【具體實施方式】
[0023] H. 264/AVC是視頻譯碼標準。相似H. 264/AVC中,視頻編碼器可使用跳過模式或直 接模式(即,跳過/直接模式)來編碼特定圖片的至少一些視頻塊。當視頻編碼器使用跳 過模式來編碼視頻塊時,視頻編碼器并不用信號通知所述視頻塊的運動信息或殘余數據。 當視頻編碼器使用直接模式來編碼視頻塊時,視頻編碼器并不用信號通知視頻塊的運動信 息,而是可用信號通知所述視頻塊的殘余數據。
[0024] 3D-AVC是用于3維(3D)視頻譯碼的H. 264/AVC標準的擴展。在3D-AVC中,圖片 可與多個視圖相關聯。每一視圖的圖片可對應于來自不同相機位置的同一場景。在同一時 刻中但在不同視圖中的圖片之間可能存在相當大的冗余。舉例來說,當前圖片中的塊的運 動向量可類似于視圖間參考圖片(即,在與當前圖片相同的時刻中,但在不同視圖中的先 前經譯碼圖片)中的對應塊的運動向量。
[0025] 在3D-AVC中,視頻譯碼器可確定當前圖片中的當前塊的視差向量,且可接著使用 當前塊的視差向量來確定視圖間參考圖片中的對應塊。在3D-AVC的一些版本中,視頻譯碼 器使用基于相鄰塊的視差向量(NBDV)導出過程來確定當前塊的視差向量。當視頻譯碼器 執行NBDV導出過程時,視頻譯碼器可確定特定相鄰塊是否具有視差運動向量。如果所述相 鄰塊中的一者具有視差運動向量,那么視頻譯碼器可將相鄰塊的視差運動向量轉換成當前 塊的視差向量。
[0026] 然而,如果使用跳過模式或直接模式來編碼當前塊,且所述相鄰塊中的一者具有 視差運動向量,那么視頻譯碼器搜索額外相鄰塊以尋找額外視差運動向量。如果所述相鄰 塊中的一個以上具有視差運動向量,那么視頻譯碼器將中值函數(例如,中值濾波過程)應 用于視差運動向量。視頻譯碼器可使用所得視差運動向量作為當前塊的視差向量。
[0027] 在3D-AVC的一些版本中,視頻譯碼器可使用對應的深度塊,或可使用基于塊的視 圖綜合預測(BVSP)來細化未使用跳過模式或直接模式來編碼的塊的視差向量。然而,如果 使用跳過模式或直接模式來編碼當前塊,那么視頻譯碼器不使用對應的深度塊或BVSP來 細化當前塊的視差向量。使用NBDV導出過程來確定的視差向量的細化在本文可稱為NBDV 細化過程或NBDV-R過程。
[0028] 上文所述的用于確定視差向量的過程可能存在若干問題。舉例來說,上文所述的 過程可導致同一塊的不一致的視差向量,取決于以之編碼所述塊的模式。在另一實例中,上 文所述的過程可導致對空間相鄰塊的不必要檢查。在另一實例中,計算多個視差運動向量 的中值函數可僅帶來邊緣譯碼效率益處,但可增加復雜性。
[0029] 本發明的技術可解決這些和/或其它問題。在一個實例中,視頻譯碼器可執行 NBDV導出過程來確定視差向量,或可執行NBDV-R過程來確定視差向量。此外,視頻譯碼器 可使用所確定的視差向量作為視頻數據的當前塊的視差向量,而不對多個視差運動向量使 用中值濾波過程,其中在跳過模式或直接模式下譯碼當前塊。此類技術的實施方案可降低 視頻編碼器和/或視頻解碼器的復雜性。
[0030] 圖1是說明根據本發明中所描述的一個或一個以上實例的實例視頻編碼和解碼 系統10的框圖如圖1中所示,視頻編碼和解碼系統10包含源裝置12和目的地裝置14。源 裝置12產生經編碼的視頻數據。因此,源裝置12可稱為視頻編碼裝置或視頻編碼設備。目 的地裝置14可解碼源裝置12所產生的經編碼的視頻數據。因此,目的地裝置14可稱為視 頻解碼裝置或視頻解碼設備。如本文所使用,術語"視頻譯碼器"在屬類上指代視頻編碼器 和視頻解碼器兩者。在本發明中,術語"視頻譯碼"或"譯碼"在屬類上可指代視頻編碼或 視頻解碼。因此,源裝置12和目的地裝置14可為視頻譯碼裝置或視頻譯碼設備的實例。
[0031] 源裝置12和目的地裝置14經配置以實施多視圖譯碼(MVC)。在MVC中,源裝置 12和目的地裝置14各自譯碼不同視圖的圖片。當一起觀看不同視圖的圖片時,觀看者感知 包含3D體積的圖像,而不是限于顯示器的2D區域的圖像。
[0032] 如圖1中所示,系統10包含源裝置12,其產生稍后時間將由目的地裝置14解碼的 經編碼的視頻數據。源裝置12和目的地裝置14包括較寬范圍的裝置中的任何一種,包含 無線手持機,例如所謂的"智能"電話、所謂的"智能"平板電腦,或其它此類經配備以用于 無線通信的無線裝置。源裝置12和目的地裝置14的額外實例包含但不限于:數字電視、數 字直播系統中的裝置、無線廣播系統中的裝置、個人數字助理(PDA)、膝上型計算機、桌上型 計算機、平板計算機、電子書閱讀器、數字相機、數字記錄裝置、數字媒體播放器、視頻游戲 裝置、視頻游戲控制臺、蜂窩式無線電話、衛星無線電話、視頻電話會議裝置、視頻流式傳輸 裝置等。
[0033] 目的地裝置14可接收將經由鏈路16解碼的經編碼的視頻數據。鏈路16可包括 任何類型的能夠將經編碼的視頻數據從源裝置12移到目的地裝置14的媒體或裝置。在一 個實例中,鏈路16包括通信媒體,以使源裝置12能夠將經編碼的視頻數據直接實時發射到 目的地裝置14。經編碼的視頻數據可根據通信標準(例如無線通信協議)來調制,并發射 到目的地裝置14。通信媒體可包括任何無線或有線通信媒體,例如射頻(RF)頻譜或一個或 一個以上物理傳輸線。通信媒體可形成基于包的網絡的一部分,例如局域網、廣域網或全局 網絡,例如因特網。通信媒體可包含路由器、交換機、基站,或可對促進從源裝置12到目的 地裝置14的通信有用的任何其它設備。
[0034] 在一些實例中,輸出接口 22將經編碼數據輸出到存儲裝置34。類似地,輸入接口 28從存儲裝置34存取經編碼數據。存儲裝置34的實例包含多種分布式或本地存取數據 存儲媒體中的任何一種,例如硬盤驅動器、藍光光盤、DVD、CD-ROM、快閃存儲器、易失性或非 易失性存儲器,或任何其它用于存儲經編碼的視頻數據的合適數字存儲媒體。在另一實例 中,存儲裝置34包括文件服務器或另一中間存儲裝置,其存儲源裝置12所產生的經編碼視 頻。在這些實例中,目的地裝置14例如,經由流式傳輸或下載,從存儲裝置34存取所存儲 的視頻數據。文件服務器可任何類型的能夠存儲經編碼的視頻數據并將所述經編碼的視頻 數據發射到目的地裝置14的服務器。實例文件服務器包含網絡服務器(例如,用于服務網 站)、文件傳送協議(FTP)服務器、網絡附加存儲(NAS)裝置、本地磁盤驅動器,或用于提供 文件的其它裝置或系統。目的地裝置14可通過任何標準數據連接,包含因特網連接,來存 取經編碼的視頻數據。標準數據連接可包含無線信道(例如,Wi-Fi連接),有線連接(例 如,DSL、電纜調制解調器等),或兩者的適合存取存儲在文件服務器上的經編碼的視頻數據 的組合。經編碼的視頻數據從存儲裝置34的傳輸可為流式傳輸、下載傳輸或兩者的組合。
[0035] 本發明的技術不一定限于無線應用或設定。所述技術可在多種多媒體應用中的任 何一種的支持下應用于視頻譯碼,例如空中電視廣播、有線電視發射、衛星電視發射、流式 視頻傳輸(例如,經由因特網)、對數字視頻進行編碼以存儲在數據存儲媒體上,對存儲在 數據存儲媒體上的數字視頻進行解碼,或其它應用。在一些實例中,系統10經配置以支持 單向或雙向視頻傳輸,以支持例如視頻流式傳輸、視頻重放、視頻廣播和/或視頻電話等應 用。
[0036] 在圖1的實例中,源裝置12包含視頻源18、視頻編碼器20和輸出接口 22。在一 些實例中,輸出接口 22包含調制器/解調器(調制解調器)和/或發射器。視頻源18包 含視頻捕獲裝置(例如,攝像機)、含有先前捕獲的視頻的視頻檔案、用以從視頻內容提供 者接收視頻的視頻饋送接口,和/或用于產生計算機圖形數據作為源視頻的計算機圖形系 統,此類來源的組合,或視頻數據的任何其它來源中的一者或一者以上。在其中視頻源18 為攝像機的一個實例中,源裝置12和目的地裝置14為所謂的相機電話或視頻電話。然而, 本發明中所描述的技術一般來說適用于視頻譯碼,且可適用于無線和/或有線應用。
[0037] 視頻編碼器20對所捕獲的、預捕獲的或計算機產生的視頻進行編碼。源裝置12 的輸出接口 22經配置以將經編碼的視頻數據發射到目的地裝置14。經編碼的視頻數據也 可(或替代地)存儲到存儲裝置34上,以供以后由目的地裝置14或其它裝置存取,用于解 碼和/或重放。
[0038] 在圖1的實例中,目的地裝置14包含輸入接口 28、視頻解碼器30和顯示裝置32。 在一些情況下,輸入接口 28包含接收器和/或調制解調器。目的地裝置14的輸入接口 28 經由鏈路16或從存儲裝置34接收經編碼的視頻數據。經由鏈路16傳送或提供于存儲裝 置34上的經編碼的視頻數據包含多種語法元素,其由視頻編碼器20產生以供視頻解碼器 (例如視頻解碼器30)用來解碼視頻數據。此類語法元素可與在通信媒體上傳輸、存儲在存 儲媒體上或存儲在文件服務器中的經編碼的視頻數據包含在一起。
[0039] 顯示裝置32可與目的地裝置14集成,或可在目的地裝置14外部。在一些實例 中,目的地裝置14包含集成顯示裝置,且還經配置以與外部顯示裝置介接。在其它實例中, 目的地裝置14為顯示裝置。一般來說,顯示裝置32向用戶顯示經解碼的視頻數據,且包 括多種顯示裝置中的任何一種,例如液晶顯示器(LCD)、等離子體顯示器、有機發光二極管 (OLED)顯示器,或另一類型的顯示裝置。
[0040] 盡管圖1的中未展示,但在一些實例中,視頻編碼器20和視頻解碼器30各自與音 頻編碼器和解碼器集成,且包含適當的MUX-DEMUX單元,或其它硬件和軟件,來處置共用數 據流或單獨數據流中的音頻和視頻兩者的編碼。如果適用,那么在一些實例中,mux-demux 單元符合ITUH. 223多路復用器協議,或其它協議,例如用戶數據報協議(UDP)。
[0041] 視頻編碼器20和視頻解碼器30各自可實施為多種合適的編碼器電路中的任何一 種,例如一個或一個以上微處理器、數字信號處理器(DSP)、專用集成電路(ASIC)、現場可 編程門陣列(FPGA)、離散邏輯、軟件、硬件、固件或其任何組合。當所述技術部分地在軟件 中實施時,裝置可將用于所述軟件的指令存儲在合適的非暫時性計算機可讀媒體中,且可 在硬件中使用一個或一個以上處理器來執行所述指令,以實施本發明的技術。視頻編碼器 20和視頻解碼器30中的每一者可包含在一個或一個以上編碼器或解碼器中,其中的任一 者可集成為相應裝置中的組合式編碼器/解碼器(編解碼器)的一部分。視頻編碼器20 經配置以根據本發明中所描述的技術來編碼視頻數據,且視頻解碼器30經配置以根據本 發明中所描述的技術來解碼視頻數據。
[0042] 視頻編碼器20和視頻解碼器30可根據各種視頻譯碼標準來操作。舉例來說, 視頻編碼器20和視頻解碼器30可根據視頻譯碼標準來操作,例如ITU-TH. 261、IS0/IEC MPEG-I 視覺、ITU-T H. 262 或 IS0/IEC MPEG-2 視覺、ITU-TH. 263、IS0/IEC MPEG-4 視覺和 ITU-T H. 264 (也稱為IS0/IEC MPEG-4AVC),包含其可縮放視頻譯碼(SVC)、多視圖視頻譯 碼(MVC)和多視圖加深度(MVC+D)擴展。"用于一般視聽服務的高級視頻譯碼",ITU-T建議 H. 264(2011年6月)中描述H. 264/AVC(下文稱為"H. 264/AVC標準。"用于一般視聽服 務的高級視頻譯碼",ITU-T建議Η. 264 (2010年3月)中描述MVC的聯合草案。
[0043] 現在,VCEG和MPEG的3D視頻譯碼(JCT-3V)聯合合作團隊正在開發基于Η. 264/ AVC的3D視頻(3DV)標準,即,3D-AVC。3D-AVC包含并支持除MVC所支持的視圖間預測之 外的新的譯碼工具。用于3D-AVC的軟件(即,3D-ATM)可從http://mpeg3dv. research. nokia.com/svn/mpeg3dv/tags/3DV_ATMv6· 2/下載。漢努克塞拉(Hannuksela)等人的 "304¥(:草案文本5",11'1^156 161?3和150/比(:11'(:1/5029/^11的30視頻譯碼擴展開 發聯合合作團隊,第3次會議,日內瓦,瑞士,2013年1月17日到23日,文獻JCT3V-C1002, 下文稱"JCT3V-C1002",是3D-AVC的草案文本。自2014年2月28日起,JCT3V-C1002可 從 http://phenix. it-sudparis. eu/jct2/doc_end_user/documents/3_Geneva/wglI/ JCT3V-C1002-v3. zip 獲得。
[0044] 在其它實例中,視頻編碼器20和視頻解碼器30可根據由ITU-T視頻譯碼專家組 (VCEG)和IS0/IEC運動圖片專家組(MPEG)的視頻譯碼(JCT-VC)聯合合作團隊所開發的高 效視頻譯碼(HEVC)標準,或其擴展來操作。現在,VCEG和MPEG的3D視頻譯碼聯合合作團 隊(JCT-3C)正在開發基于HEVC的3DV標準,對于所述標準,標準化努力的一部分包含基于 HEVC的多視圖視頻編解碼器(MV-HEVC)的標準化,且另一部分包含基于HEVC的3D視頻譯 碼(3D-HEVC)的標準化。
[0045] 為了描述的目的,在H. 264/AVC標準及其擴展(例如3D-AVC標準)的上下文中描 述視頻編碼器20和視頻解碼器30。然而,本發明的技術不限于任何特定譯碼標準。舉例 來說,本發明中所描述的技術可由視頻編碼器/解碼器(編解碼器)來實施,以用于多視圖 譯碼(即,兩個或兩個以上視圖的譯碼)。視頻壓縮標準的其它實例包含MPEG-2和ITU-T H. 263,且包含3D-HEVC。專有譯碼技術,例如稱為0n2 VP6/VP7/VP8的那些技術,也可實施 本文所述的技術中的一者或一者以上。
[0046] 視頻編碼器20可產生和輸出位流。如H. 264/AVC標準中所定義,位流可包括形成 構成一個或一個以上經譯碼視頻序列的經譯碼的圖片和相關聯數據的表示的位序列。經譯 碼的圖片是圖片的經譯碼表示。在H. 264/AVC中,視頻序列通常包含來自視圖的一系列視 頻圖片。圖片群組(GOP)通常包括一系列一個或一個以上視頻圖片。GOP可在GOP的標頭、 GOP的一個或一個以上圖片的標頭中或別處包含語法數據,其描述包含在GOP中的若干圖 片。每一經譯碼的圖片可包含描述相應圖片的編碼模式的圖片語法數據。視頻編碼器20 通常對個別視頻圖片內的視頻塊操作,以便編碼視頻數據。
[0047] 在H. 264/AVC中,視頻塊可對應于宏塊、宏塊的分區,且可能分區的子塊,如 H. 264/AVC標準中所定義。視頻塊可具有固定或不同大小,且大小可根據指定譯碼標準而 不同