r>[0031] 在圖1的實(shí)例中,源裝置12包含視頻源18、視頻編碼器20及輸出接口 22。在一 些狀況下,輸出接口 22可包含調(diào)制器/解調(diào)器(調(diào)制解調(diào)器)及/或發(fā)射器。在源裝置12 中,視頻源18可包含諸如視頻捕獲裝置(例如,視頻相機(jī))的源、含有經(jīng)先前捕獲視頻的視 頻存檔、用以從視頻內(nèi)容提供者接收視頻的視頻饋送接口,及/或用于產(chǎn)生計(jì)算機(jī)圖形數(shù) 據(jù)作為源視頻的計(jì)算機(jī)圖形系統(tǒng),或此類(lèi)源的組合。作為一個(gè)實(shí)例,如果視頻源18為視頻 相機(jī),那么源裝置12及目的地裝置14可形成所謂相機(jī)電話或視頻電話。然而,本發(fā)明所描 述的技術(shù)可大體上適用于視頻譯碼,且可應(yīng)用于無(wú)線應(yīng)用及/或有線應(yīng)用。
[0032] 可由視頻編碼器20編碼經(jīng)捕獲、經(jīng)預(yù)捕獲或經(jīng)計(jì)算機(jī)產(chǎn)生的視頻。可經(jīng)由源裝置 12的輸出接口 22而將經(jīng)編碼視頻數(shù)據(jù)直接地發(fā)射到目的地裝置14。此外(或替代地),可 將經(jīng)編碼視頻數(shù)據(jù)存儲(chǔ)到存儲(chǔ)裝置31上以由目的地裝置14或其它裝置稍后存取,以供解 碼及/或回放。
[0033] 目的地裝置14包含輸入接口 28、視頻解碼器30及顯示裝置32。在一些狀況下, 輸入接口 28可包含接收器及/或調(diào)制解調(diào)器。目的地裝置14的輸入接口 28經(jīng)由鏈路16 而接收經(jīng)編碼視頻數(shù)據(jù)。經(jīng)由鏈路16而傳達(dá)或在存儲(chǔ)裝置31上提供的經(jīng)編碼視頻數(shù)據(jù)可 包含由視頻編碼器20產(chǎn)生以由諸如視頻解碼器30的視頻解碼器用來(lái)解碼所述視頻數(shù)據(jù)的 多種語(yǔ)法元素。此類(lèi)語(yǔ)法元素可與在通信媒體上發(fā)射、存儲(chǔ)在存儲(chǔ)媒體上或存儲(chǔ)在文件服 務(wù)器上的經(jīng)編碼視頻數(shù)據(jù)一起被包含。
[0034] 顯示裝置32可與目的地裝置14整合,或在目的地裝置14外部。在一些實(shí)例中, 目的地裝置14可包含整合式顯示裝置,且還經(jīng)配置以與外部顯示裝置進(jìn)行接口連接。在其 它實(shí)例中,目的地裝置14可為顯示裝置。一般來(lái)說(shuō),顯示裝置32向用戶顯示經(jīng)解碼視頻數(shù) 據(jù),且可包括多種顯示裝置中的任一者,諸如,液晶顯示器(IXD)、等離子顯示器、有機(jī)發(fā)光 二極管(OLED)顯示器,或另一類(lèi)型的顯示裝置。
[0035] 視頻編碼器20及視頻解碼器30可根據(jù)包含HEVC或其類(lèi)似者的其它視頻壓縮 標(biāo)準(zhǔn)而操作。Bross等人在2012年10月于中國(guó)上海召開(kāi)的ITU-TSG16WP3及IS0/IEC JTC1/SC29/WG11的視頻譯碼聯(lián)合協(xié)作團(tuán)隊(duì)(JCT-VC)第11屆會(huì)議中的"HighEfficiency VideoCoding(HEVC)textspecificationdraft9" 中描述"HEVC工作草案 9" 或WD9,其 仍可從http://phenix.int-evry.fr/jct/doc_end_user/documents/ll_Shanghai/wgll/ JCTVC-K1003-v8.zip下載,其全部?jī)?nèi)容是以引用方式并入本文中。然而,本發(fā)明的技術(shù)不限 于任何特定譯碼標(biāo)準(zhǔn)或技術(shù)。
[0036] 替代地,視頻編碼器20及視頻解碼器30可根據(jù)諸如以下各者的其它專(zhuān)有或工業(yè) 標(biāo)準(zhǔn)而操作:ITU-TH. 264標(biāo)準(zhǔn),替代地被稱(chēng)作MPEG-4第10部分的高級(jí)視頻譯碼(AVC);或 此類(lèi)標(biāo)準(zhǔn)的擴(kuò)展。然而,本發(fā)明的技術(shù)不限于任何特定譯碼標(biāo)準(zhǔn)。視頻壓縮標(biāo)準(zhǔn)的其它實(shí) 例包含MPEG-2 及ITU-TH. 263。
[0037] 盡管圖1中未圖示,但在一些方面中,視頻編碼器20及視頻解碼器30各自可與音 頻編碼器及解碼器整合,且可包含適當(dāng)MUX-DEMUX單元或其它硬件及軟件以處置共同數(shù)據(jù) 流或單獨(dú)數(shù)據(jù)流中的音頻及視頻兩者的編碼。適用時(shí),在一些實(shí)例中,MUX-DEMUX單元可符 合ITUH. 223多路復(fù)用器協(xié)議,或諸如用戶數(shù)據(jù)報(bào)協(xié)議(UDP)的其它協(xié)議。
[0038] 視頻編碼器20及視頻解碼器30各自可被實(shí)施為多種合適編碼器電路系統(tǒng)中的任 一者,諸如,一或多個(gè)微處理器、數(shù)字信號(hào)處理器(DSP)、專(zhuān)用集成電路(ASIC)、現(xiàn)場(chǎng)可編程 門(mén)陣列(FPGA)、離散邏輯、軟件、硬件、固件或其任何組合。當(dāng)部分地以軟件來(lái)實(shí)施所述技術(shù) 時(shí),裝置可將用于所述軟件的指令存儲(chǔ)在合適非暫時(shí)性計(jì)算機(jī)可讀媒體中,且使用一或多 個(gè)處理器而以硬件來(lái)執(zhí)行所述指令以執(zhí)行本發(fā)明的技術(shù)。視頻編碼器20及視頻解碼器30 中的每一者可包含在一或多個(gè)編碼器或解碼器中,所述一或多個(gè)編碼器或解碼器中的任一 者可被整合為相應(yīng)裝置中的組合式編碼器/解碼器(CODEC)的部分。
[0039]JCT-VC正致力于HEVC標(biāo)準(zhǔn)的開(kāi)發(fā)。HEVC標(biāo)準(zhǔn)化努力是基于視頻譯碼裝置的演進(jìn) 模型,其被稱(chēng)作ffiVC測(cè)試模型(HM)。HM假設(shè)視頻譯碼裝置相對(duì)于根據(jù)(例如)ITU-TH. 264/ AVC的現(xiàn)有裝置的若干額外能力。舉例來(lái)說(shuō),H. 264提供九個(gè)幀內(nèi)預(yù)測(cè)編碼模式,而HM可提 供多達(dá)三十三個(gè)幀內(nèi)預(yù)測(cè)編碼模式。
[0040] 一般來(lái)說(shuō),HM的工作模型描述出,可將視頻幀或圖片劃分成包含亮度樣本及色度 樣本兩者的譯碼樹(shù)型單元(CTU)的序列,其也被稱(chēng)為最大譯碼單元(LCU)。樹(shù)型塊具有與 H. 264標(biāo)準(zhǔn)的宏塊的目的相似的目的。切片包含按譯碼次序的數(shù)個(gè)連續(xù)樹(shù)型塊。可將視頻 幀或圖片分割成一或多個(gè)切片。可根據(jù)四叉樹(shù)而將每一樹(shù)型塊分裂成若干譯碼單元(CU)。 舉例來(lái)說(shuō),可將樹(shù)型塊(作為四叉樹(shù)的根節(jié)點(diǎn))分裂成四個(gè)子節(jié)點(diǎn),且每一子節(jié)點(diǎn)又可為父 節(jié)點(diǎn)且被分裂成另外四個(gè)子節(jié)點(diǎn)。最后未分裂子節(jié)點(diǎn)(作為四叉樹(shù)的葉節(jié)點(diǎn))包括譯碼 節(jié)點(diǎn),即,經(jīng)譯碼視頻塊。與經(jīng)譯碼位流相關(guān)聯(lián)的語(yǔ)法數(shù)據(jù)可定義樹(shù)型塊可被分裂的最大次 數(shù),且還可定義譯碼節(jié)點(diǎn)的最小大小。
[0041]CU包含譯碼節(jié)點(diǎn),以及與譯碼節(jié)點(diǎn)相關(guān)聯(lián)的預(yù)測(cè)單元(PU)及變換單元(TU)。CU 的大小對(duì)應(yīng)于譯碼節(jié)點(diǎn)的大小且為正方形形狀。CU的大小的范圍可為從8X8像素直到具 有最大64X64像素或更大像素的樹(shù)型塊的大小。每一CU可含有一或多個(gè)PU及一或多個(gè) TU。與CU相關(guān)聯(lián)的語(yǔ)法數(shù)據(jù)可描述(例如)將CU分割成一或多個(gè)PU。分割模式可依CU 被跳過(guò)或直接模式編碼、被幀內(nèi)預(yù)測(cè)模式編碼還是被幀間預(yù)測(cè)模式編碼而不同。PU可被分 割為非正方形形狀。與CU相關(guān)聯(lián)的語(yǔ)法數(shù)據(jù)還可描述(例如)根據(jù)四叉樹(shù)而將CU分割成 一或多個(gè)TU。TU可為正方形或非正方形形狀。
[0042]HEVC標(biāo)準(zhǔn)允許根據(jù)TU的變換,所述變換針對(duì)不同⑶可不同。通?;卺槍?duì)經(jīng)分 割LCU所定義的給定CU內(nèi)的PU的大小來(lái)設(shè)置TU的大小,但可并非總是此狀況。TU通常 為與PU的大小相同的大小,或小于HJ。在一些實(shí)例中,可使用被稱(chēng)為"殘差四叉樹(shù)"(RQT) 的四叉樹(shù)結(jié)構(gòu)而將對(duì)應(yīng)于CU的殘差樣本再分成較小單元。RQT的葉節(jié)點(diǎn)可被稱(chēng)作變換單元 (TU)。可變換與TU相關(guān)聯(lián)的像素差值以產(chǎn)生變換系數(shù),所述變換系數(shù)可被量化。
[0043] 一般來(lái)說(shuō),HJ包含與預(yù)測(cè)過(guò)程相關(guān)的數(shù)據(jù)。舉例來(lái)說(shuō),當(dāng)HJ被幀內(nèi)模式編碼時(shí), PU可包含描述用于PU的幀內(nèi)預(yù)測(cè)模式的數(shù)據(jù)。作為另一實(shí)例,當(dāng)PU被幀間模式編碼時(shí), PU可包含定義用于HJ的運(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)。
[0044] 一般來(lái)說(shuō),TU用于變換過(guò)程及量化過(guò)程。具有一或多個(gè)PU的給定⑶還可包含一 或多個(gè)變換單元(TU)。在預(yù)測(cè)之后,視頻編碼器20可計(jì)算對(duì)應(yīng)于PU的殘差值。所述殘差 值包括可被變換成變換系數(shù)、被量化且使用TU而被掃描以產(chǎn)生序列化變換系數(shù)以供熵譯 碼的像素差值。本發(fā)明通常使用術(shù)語(yǔ)"視頻塊"以指⑶的譯碼節(jié)點(diǎn)。在一些特定狀況下, 本發(fā)明還可使用術(shù)語(yǔ)"視頻塊"以指包含譯碼節(jié)點(diǎn)以及PU及TU的樹(shù)型塊,S卩,IXU或⑶。
[0045] 視頻序列通常包含一系列視頻幀或圖片。圖片群組(GOP)通常包括所述視頻圖片 中的一系列一或多個(gè)視頻圖片。GOP可在所述GOP的標(biāo)頭中、在所述圖片中的一或多者的標(biāo) 頭中或在別處包含語(yǔ)法數(shù)據(jù),所述語(yǔ)法數(shù)據(jù)描述包含在所述GOP中的圖片的數(shù)目。圖片的 每一切片可包含描述用于所述相應(yīng)切片的編碼模式的切片語(yǔ)法數(shù)據(jù)。視頻編碼器20通常 對(duì)個(gè)別視頻切片內(nèi)的視頻塊進(jìn)行操作,以便編碼視頻數(shù)據(jù)。視頻塊可對(duì)應(yīng)于CU內(nèi)的譯碼節(jié) 點(diǎn)。視頻塊可具有固定或變化的大小,且其大小可根據(jù)指定譯碼標(biāo)準(zhǔn)而不同。
[0046] 作為實(shí)例,HM支持以各種HJ大小的預(yù)測(cè)。假定特定⑶的大小為2NX2N,那么HM 支持以2~\2~或~\~的?1]大小的幀內(nèi)預(yù)測(cè),及以2~\212~\1~\21^或~\~的對(duì)稱(chēng)卩1] 大小的幀間預(yù)測(cè)。HM還支持用于以2NXnU、2NXnD、nLX2N及nRX2N的PU大小的幀間預(yù) 測(cè)的不對(duì)稱(chēng)分割。在不對(duì)稱(chēng)分割中,CU的一個(gè)方向未被分割,而另一方向被分割成25%及 75%。⑶的對(duì)應(yīng)于25%分割區(qū)的部分是通過(guò)"n"后面是"向上"、"向下"、"向左"或"向右" 的指示而指示。因此,舉例來(lái)說(shuō),"2NXnU"是指被水平地分割的2NX2N⑶,其中2NX0. 5N PU位于頂部上且2NXI. 5NPU位于底部上。
[0047] 在本發(fā)明中,"NXN"與"N乘N"可被互換式地使用以指視頻塊在垂直維度及水平 維度上的像素尺寸,例如,16X16像素或16乘16像素。一般來(lái)說(shuō),16X16塊將在垂直方向 上具有16個(gè)像素(y= 16)且在水平方向上具有16個(gè)像素(X= 16)。同樣地,NXN塊通 常在垂直方向上具有N個(gè)像素且在水平方向上具有N個(gè)像素,其中N表示非負(fù)整數(shù)值???按行及列來(lái)布置塊中的像素。此外,塊未必需要在水平方向上與在垂直方向上具有相同數(shù) 目個(gè)像素。舉例來(lái)說(shuō),塊可包括NXM個(gè)像素,其中M未必等于N。
[0048] 在使用⑶的HJ進(jìn)行幀內(nèi)預(yù)測(cè)性譯碼或幀間預(yù)測(cè)性譯碼之后,視頻編碼器20可計(jì) 算用于⑶的TU的殘差數(shù)據(jù)。PU可包括位于空間域(也被稱(chēng)作像素域)中的像素?cái)?shù)據(jù),且 TU可包括在將變換(例如,離散余弦變換(DCT)、整數(shù)變換、小波變換或概念上相似變換) 應(yīng)用于殘差視頻數(shù)據(jù)之后位于變換域中的系數(shù)。殘差數(shù)據(jù)可對(duì)應(yīng)于未經(jīng)編碼圖片的像素與 對(duì)應(yīng)于PU的預(yù)測(cè)值之間的像素差。視頻編碼器20可形成包含用于CU的殘差數(shù)據(jù)的TU,且 接著變換所述TU以產(chǎn)生用于CU的變換系數(shù)。
[0049] 在進(jìn)行任何變換以產(chǎn)生變換系數(shù)之后,視頻編碼器20可執(zhí)行變換系數(shù)的量化。量 化通常是指如下過(guò)程:量化變換系數(shù)以可能地縮減用以表示所述系數(shù)的數(shù)據(jù)的量,從而提 供進(jìn)一步壓縮。所述量化過(guò)程可縮減與所述系數(shù)中的一些或全部相關(guān)聯(lián)的位深度。舉例來(lái) 說(shuō),可在量化期間將n位值降值舍位到m位值,其中n大于m。
[0050] 在一些實(shí)例中,視頻編碼器20可利用預(yù)定義掃描次序以掃描經(jīng)量化變換系數(shù),以 廣生可被煙編碼的序列化矢量。在其它實(shí)例中,視頻編碼器20可執(zhí)行自適應(yīng)掃描。在掃描 經(jīng)量化變換系數(shù)以形成一維矢量之后,視頻編碼器20可熵編碼所述一維矢量,例如,根據(jù) 上下文自適應(yīng)可變長(zhǎng)度譯碼(CAVLC)、上下文自適應(yīng)二進(jìn)制算術(shù)譯碼(CABAC)、基于語(yǔ)法的 上下文自適應(yīng)二進(jìn)制算術(shù)譯碼(SBAC)、概率區(qū)間分割熵(PIPE)譯碼或另一熵編碼方法。視 頻編碼器20還可熵編碼與經(jīng)編碼視頻數(shù)據(jù)相關(guān)聯(lián)的語(yǔ)法元素以由視頻解碼器30用來(lái)解碼 所述視頻數(shù)據(jù)。
[0051] 為了執(zhí)行CABAC,視頻編碼器20可將上下文模型內(nèi)的上下文指派到待發(fā)射符號(hào)。 所述上下文可關(guān)于(例如)所述符號(hào)的相鄰值是否為非零。為了執(zhí)行CAVLC,視頻編碼器20 可針對(duì)待發(fā)射符號(hào)選擇可變長(zhǎng)度代碼??蓪LC中的代碼字構(gòu)造成使得相對(duì)較短代碼對(duì)應(yīng) 于較可能符號(hào),而較