G16WP3和ISO/IEC JTC1/SC29/WG11的視頻譯碼聯(lián)合合作小組(JCT-VC),瑞士日內(nèi)瓦第 12次會(huì)議,2013年1月14-23日)中描述,其從2013年8月15日起可從11?口 ://^1^1^叉. intevry. fr/jct/doc_end_user/documents/12Geneva/wgll/JCTVC-L1003_v34. zip 下載。 HEVC標(biāo)準(zhǔn)的另一草案在本文中被稱作"WD10修訂本",其在布洛斯等人的"HEVC版本1的 編者提議補(bǔ)正書"(ITU-T SG16WP3和ISO/IEC JTC1/SC29/WG11的視頻譯碼聯(lián)合合作小組 (JCT-VC),韓國仁川第13次會(huì)議,2013年4月)中描述,其從2013年10月3日起從http :// phenix.intevry.fr/jct/doc_end_user/documents/13_Incheon/wgll/JCTVC-M0432_v3. zip可用。
[0047] 出于說明的目的,本發(fā)明的技術(shù)主要是關(guān)于HEVC的3DV擴(kuò)展進(jìn)行描述的。然而, 應(yīng)理解這些技術(shù)同樣可應(yīng)用于用于對用以產(chǎn)生三維效果的視頻數(shù)據(jù)進(jìn)行譯碼的其它標(biāo)準(zhǔn)。
[0048] VCEG和MPEG的3D視頻譯碼聯(lián)合合作小組(JCT-3C)正在開發(fā)基于HEVC的3DV 標(biāo)準(zhǔn),其標(biāo)準(zhǔn)化努力的部分包含基于ffiVC的多視圖視頻編解碼器(MV-HEVC)的標(biāo)準(zhǔn)化和用 于基于HEVC的3D視頻譯碼(3D-HEVC)的另一部分。對于MV-HEVC,大體上期望僅存在相 對于HEVC的高級語法(HLS)改變,以使得HEVC中的CU/PU層級中沒有模塊需要再設(shè)計(jì)且 可完全再用于MV-HEVC。對于3D-HEVC,可包含且支持用于紋理和深度視圖兩者的新譯碼工 具,包含在單元/預(yù)測單元層級處的譯碼中的那些工具。用于3D-HEVC的最新軟件3D-HTM 從 2013 年 10 月 3 日起可從以下鏈接下載:https://hevc.hhi. fraunhofer.de/svn/svn_ HEVCSoftware/trunk/。
[0049] 或者,視頻編碼器20及視頻解碼器30可根據(jù)例如或者被稱作MPEG-4第10部分 高級視頻譯碼(AVC)的ITU-T H. 264標(biāo)準(zhǔn)等其它專屬或工業(yè)標(biāo)準(zhǔn)或此些標(biāo)準(zhǔn)的擴(kuò)展(例如 ITU-T H. 264/AVC的MVC擴(kuò)展)操作。確切地說,本發(fā)明的技術(shù)涉及基于高級編解碼器的多 視圖及/或3D視頻譯碼。一般來說,本發(fā)明的技術(shù)可應(yīng)用于多種不同視頻譯碼標(biāo)準(zhǔn)中的任 一者。舉例來說,這些技術(shù)可應(yīng)用于ITU-T H.264/AVC(高級視頻譯碼)的多視圖視頻譯碼 (MVC)擴(kuò)展,應(yīng)用于即將到來的HEVC標(biāo)準(zhǔn)的3D視頻(3DV)擴(kuò)展(例如,3D-HEVC)或其它譯 碼標(biāo)準(zhǔn)。
[0050] ITU-T H. 264/MPEG-4(AVC)標(biāo)準(zhǔn)是作為被稱為聯(lián)合視頻小組(JVT)的集體聯(lián)盟的 產(chǎn)品而由ITU-T視頻譯碼專家組(VCEG)連同IS0/IEC移動(dòng)圖片專家組(MPEG)制定。在一 些方面中,本發(fā)明中描述的技術(shù)可應(yīng)用到一般符合H. 264標(biāo)準(zhǔn)的裝置。H. 264標(biāo)準(zhǔn)描述于 ITU-T研宄組的日期為2005年3月的"ITU-T推薦H. 264,用于通用視聽服務(wù)的高級視頻 譯石馬(ITU-T Recommendation H. 264,Advanced Video Coding for generic audiovisual services) "中,其在本文中可被稱作H. 264標(biāo)準(zhǔn)或H. 264規(guī)范或H. 264/AVC標(biāo)準(zhǔn)或規(guī)范。 聯(lián)合視頻組(JVT)持續(xù)致力于擴(kuò)展H. 264/MPEG-4AVC。
[0051] 視頻編碼器20和視頻解碼器30各自可經(jīng)實(shí)施為例如一或多個(gè)微處理器、數(shù)字信 號(hào)處理器(DSP)、專用集成電路(ASIC)、現(xiàn)場可編程門陣列(FPGA)、離散邏輯、軟件、硬件、 固件或其任何組合的多種合適編碼器電路中的任一者。當(dāng)部分地用軟件實(shí)施所述技術(shù)時(shí), 裝置可將用于軟件的指令存儲(chǔ)在合適的非暫時(shí)性計(jì)算機(jī)可讀媒體中且使用一或多個(gè)處理 器用硬件執(zhí)行所述指令以執(zhí)行本發(fā)明的技術(shù)。視頻編碼器20和視頻解碼器30中的每一者 可包含在一或多個(gè)編碼器或解碼器中,所述編碼器或解碼器中的任一者可集成為相應(yīng)裝置 中的組合編碼器/解碼器(CODEC)的部分。包含視頻編碼器20和/或視頻解碼器30的裝 置可包括集成電路、微處理器和/或無線通信裝置,例如蜂窩式電話。
[0052] 最初,將論述HEVC的實(shí)例譯碼技術(shù)。JCT-VC正在致力于開發(fā)HEVC標(biāo)準(zhǔn)。HEVC 標(biāo)準(zhǔn)化努力是基于被稱作ffiVC測試模型(HM)的視頻譯碼裝置的進(jìn)化模型。HM根據(jù)(例 如)ITU-T H. 264/AVC假設(shè)視頻譯碼裝置相對于現(xiàn)有裝置的若干額外能力。舉例來說,雖然 H. 264提供9種幀內(nèi)預(yù)測編碼模式,但HM可提供多達(dá)三十三種角度幀內(nèi)預(yù)測編碼模式加DC 及平面模式。
[0053] 一般來說,HM的工作模型描述視頻幀或圖片可以分成包含亮度及色度樣本兩者的 樹塊或最大譯碼單元(LCU)的序列。位流內(nèi)的語法數(shù)據(jù)可以定義最大譯碼單元(LCU,依據(jù) 像素?cái)?shù)目來說,其為最大譯碼單元)的大小。切片包含呈譯碼次序的多個(gè)連續(xù)樹塊。視頻 幀或圖片可被分割成一或多個(gè)切片。每一樹塊可以根據(jù)四叉樹而分裂成譯碼單元(CU)。一 般來說,四叉樹數(shù)據(jù)結(jié)構(gòu)包含每個(gè)CU -個(gè)節(jié)點(diǎn),其中根節(jié)點(diǎn)對應(yīng)于所述樹塊。如果CU分裂 成四個(gè)子CU,那么對應(yīng)于CU的節(jié)點(diǎn)包含四個(gè)葉節(jié)點(diǎn),其中葉節(jié)點(diǎn)中的每一者對應(yīng)于所述子 CU中的一者。
[0054] 四叉樹數(shù)據(jù)結(jié)構(gòu)的每一節(jié)點(diǎn)可以提供相對應(yīng)的CU的語法數(shù)據(jù)。舉例來說,四叉 樹中的一個(gè)節(jié)點(diǎn)可包括一個(gè)分裂旗標(biāo),這表明對應(yīng)于所述節(jié)點(diǎn)的所述CU是否分裂成子CU。 CU的語法元素可以遞歸地來定義,且可以取決于CU是否分裂成子CU。如果CU不進(jìn)一步分 裂,那么將其稱為葉CU。在本發(fā)明中,葉CU的四個(gè)子CU也將被稱作葉CU,即使不存在原始 葉CU的明確分裂時(shí)也是如此。舉例來說,如果16x16大小的CU不進(jìn)一步分裂,那么這四個(gè) 8x8子⑶將也被稱作葉⑶,雖然16x16⑶從未分裂。
[0055] CU具有與H. 264標(biāo)準(zhǔn)的宏塊類似的目的,除了 CU不具有大小區(qū)別。舉例來說,樹 塊可以分裂成四個(gè)子節(jié)點(diǎn)(還被稱作子CU),并且每一子節(jié)點(diǎn)又可以是父節(jié)點(diǎn)并且可以分 裂成另外四個(gè)子節(jié)點(diǎn)。最終的未分裂子節(jié)點(diǎn)(被稱作四叉樹的葉節(jié)點(diǎn))包括譯碼節(jié)點(diǎn),還 稱為葉CU。與經(jīng)譯碼位流相關(guān)聯(lián)的語法數(shù)據(jù)可以界定樹塊可以分裂的最大次數(shù),被稱作最 大CU深度,并且還可界定譯碼節(jié)點(diǎn)的最小大小。因此,位流還可定義最小譯碼單元(SCU)。 本發(fā)明使用術(shù)語"塊"指代CU、PU或TU中的任一者(在HEVC的情況下)或類似數(shù)據(jù)結(jié)構(gòu) (在其它標(biāo)準(zhǔn)的情況下)(例如,在H. 264/AVC中的宏塊及其子塊)。
[0056]CU包含譯碼節(jié)點(diǎn)以及與所述譯碼節(jié)點(diǎn)相關(guān)聯(lián)的預(yù)測單元(PU)及變換單元(TU)。 CU的大小對應(yīng)于譯碼節(jié)點(diǎn)的大小并且形狀必須是正方形。CU的大小可從8x8像素到具有 最大64x64像素或更大的樹塊的大小變動(dòng)。每一 CU可含有一或多個(gè)PU及一或多個(gè)TU。舉 例來說,與CU相關(guān)聯(lián)的語法數(shù)據(jù)可描述將CU分割成一或多個(gè)PU。分割模式可以在CU被跳 過或經(jīng)合并模式編碼、經(jīng)幀內(nèi)預(yù)測模式編碼或經(jīng)幀間預(yù)測模式編碼之間有區(qū)別。PU可分割 成非正方形形狀。舉例來說,與CU相關(guān)聯(lián)的語法數(shù)據(jù)還可描述CU根據(jù)四叉樹到一或多個(gè) TU的分割。TU可以是正方形或非正方形(例如,矩形)形狀。
[0057] HEVC標(biāo)準(zhǔn)允許根據(jù)TU的變換,TU可針對不同⑶而有所不同。TU的大小通常是基 于針對經(jīng)分割LCU定義的給定CU內(nèi)的PU的大小而設(shè)置,但是情況可能并不總是如此。TU 通常與PU大小相同或小于PU。在一些實(shí)例中,對應(yīng)于CU的殘余樣本可以使用被稱為"殘 余四叉樹"(RQT)的四叉樹結(jié)構(gòu)而細(xì)分成較小單元。RQT的葉節(jié)點(diǎn)可被稱為變換單元(TU)。 可以變換與TU相關(guān)聯(lián)的像素差值以產(chǎn)生變換系數(shù),可以將所述變換系數(shù)量化。
[0058] 葉⑶可包含一或多個(gè)預(yù)測單元(PU)。一般來說,PU表示對應(yīng)于相對應(yīng)的⑶的 全部或一部分的空間區(qū)域,并且可包含用于檢索PU的參考樣本的數(shù)據(jù)。此外,PU包含與預(yù) 測有關(guān)的數(shù)據(jù)。舉例來說,當(dāng)PU經(jīng)幀內(nèi)模式編碼時(shí),用于TO的數(shù)據(jù)可以包含在殘余四叉樹 (RQT)中,殘余四叉樹可包含描述用于對應(yīng)于PU的TU的幀內(nèi)預(yù)測模式的數(shù)據(jù)。作為另一實(shí) 例,當(dāng)PU經(jīng)幀間模式編碼時(shí),PU可包含定義PU的一或多個(gè)運(yùn)動(dòng)向量的數(shù)據(jù)。舉例來說,定 義PU的運(yùn)動(dòng)向量的數(shù)據(jù)可以描述運(yùn)動(dòng)向量的水平分量、運(yùn)動(dòng)向量的垂直分量、運(yùn)動(dòng)向量的 分辨率(例如,四分之一像素精度或八分之一像素精度)、運(yùn)動(dòng)向量指向的參考圖片和/或 運(yùn)動(dòng)向量的參考圖片列表(例如,列表0、列表1或列表C)。
[0059] 具有一或多個(gè)TO的葉⑶還可包含一或多個(gè)變換單元(TU)。變換單元可以使用 RQT(還稱為TU四叉樹結(jié)構(gòu))來指定,如上文所論述。舉例來說,分裂旗標(biāo)可以指示葉CU是 否分裂成四個(gè)變換單元。接著,每一變換單元可以進(jìn)一步分裂成其它的子TU。當(dāng)TU未經(jīng)進(jìn) 一步分裂時(shí),其可被稱作葉TU??傮w上,對于幀內(nèi)譯碼,所有屬于一個(gè)葉CU的葉TU共享相 同的幀內(nèi)預(yù)測模式。也就是說,總體上應(yīng)用相同幀內(nèi)預(yù)測模式來計(jì)算葉CU的所有TU的預(yù) 測值。對于幀內(nèi)譯碼,視頻編碼器可以使用幀內(nèi)預(yù)測模式針對每一葉TU計(jì)算殘余值,作為 ⑶的對應(yīng)于TU的部分與原始塊之間的差。TU不必限于PU的大小。因此,TU可大于或小 于TO。對于幀內(nèi)譯碼,PU可以與相同⑶的相對應(yīng)的葉TU位于同一地點(diǎn)。在一些實(shí)例中, 葉TU的最大大小可以對應(yīng)于對應(yīng)葉CU的大小。
[0060] 此外,葉⑶的TU還可與相應(yīng)的四叉樹數(shù)據(jù)結(jié)構(gòu)(被稱作殘余四叉樹(RQT))相關(guān) 聯(lián)。也就是說,葉CU可包含指示葉CU如何分割成TU的四叉樹。TU四叉樹的根節(jié)點(diǎn)一般對 應(yīng)于葉CU,而CU四叉樹的根節(jié)點(diǎn)一般對應(yīng)于樹塊(或LCU)。未經(jīng)分裂的RQT的TU被稱作 葉TU。一般來說,除非以其它方式提及,否則本發(fā)明分別使用術(shù)語CU及TU來指葉CU及葉 TU〇
[0061] 視頻序列通常包含一系列視頻幀或圖片。圖片群組(GOP) -般包括一系列一或多 個(gè)視頻圖片。G0P可包含G0P的標(biāo)頭、圖片中的一或多者的標(biāo)頭或其它地方中的語法數(shù)據(jù), 其描述G0P中包含的圖片的數(shù)目。圖片的每一切片可包含描述用于相應(yīng)切片的編碼模式的 切片語法數(shù)據(jù)。視頻編碼器20通常對個(gè)別視頻切片內(nèi)的視頻塊操作以便編碼視頻數(shù)據(jù)。視 頻塊可以對應(yīng)于CU內(nèi)的譯碼節(jié)點(diǎn)。視頻塊可以具有固定或變化的大小,并且根據(jù)指定譯碼 標(biāo)準(zhǔn)可以有不同大小。
[0062] 作為實(shí)例,HM支持各種TO大小的預(yù)測。假設(shè)特定CU的大小是2Nx2N,則HM支持 2Nx2N或NxN的PU大小的幀內(nèi)預(yù)測,及2Nx2N、2NxN、Nx2N或NxN的對稱PU大小的幀間預(yù)測。 HM還支持用于2NxnU、2NxnD、nLx2N和nRx2N的PU大小的幀間預(yù)測的不對稱分割。在不對 稱分割中,不分割⑶的一個(gè)方向,而將另一方向分割成25%及75%。⑶的對應(yīng)于25%分區(qū) 的部分表示成"n",接著是用"上方"、"下方"、"左側(cè)"或"右側(cè)"指示。因此,例如,"2NxnU" 是指經(jīng)水平分割的2Nx2N CU,其中頂部為2NxO. 5N PU,而底部為2Nxl. 5N PU。
[0063] 在本發(fā)明中,"NxN"及"N乘N"可以互換使用以指在垂直尺寸及水平尺寸方面的 視頻塊的像素尺寸,例如,16x16像素或16乘16像素。大體來說,16x16塊將在垂直方向上 具有16個(gè)像素(y = 16),且在水平方向上具有16個(gè)像素(x = 16)。同樣,NxN塊總體上 在垂直方向上具有N個(gè)像素,并且在水平方向上具有N個(gè)像素,其中N表示非負(fù)整數(shù)值。塊 中的像素可按行及列布置。此外,塊未必需要在水平方向與垂直方向上具有相同數(shù)目的像 素。舉例來說,塊可包括NxM像素,其中M未必等于N。
[0064] 在使用⑶的TO進(jìn)行幀內(nèi)預(yù)測性或幀間預(yù)測性譯碼之后,視頻編碼器