欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

用于低復(fù)雜度編碼及后臺檢測的系統(tǒng)及方法與流程

文檔序號:11892743閱讀:489來源:國知局
用于低復(fù)雜度編碼及后臺檢測的系統(tǒng)及方法與流程

本發(fā)明涉及視頻編碼。



背景技術(shù):

數(shù)字視頻能力可以并入到多種多樣的裝置中,包含數(shù)字電視、數(shù)字直播系統(tǒng)、無線廣播系統(tǒng)、個人數(shù)字助理(PDA)、膝上型或桌上型計(jì)算機(jī)、平板計(jì)算機(jī)、電子圖書閱讀器、數(shù)碼相機(jī)、數(shù)字記錄裝置、數(shù)字媒體播放器、視頻游戲裝置、視頻游戲控制臺、蜂窩式或衛(wèi)星無線電電話、智能電話、視頻電話會議裝置、視頻流式傳輸裝置及其類似者。數(shù)字視頻裝置實(shí)施視頻譯碼技術(shù),例如由MPEG-2、MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4第10部分高級視頻譯碼(AVC)、高效率視頻譯碼(HEVC)定義的標(biāo)準(zhǔn)及這類標(biāo)準(zhǔn)的擴(kuò)展中所描述的那些技術(shù)。視頻裝置可通過實(shí)施這類視頻譯碼技術(shù)而更有效地發(fā)射、接收、編碼、解碼及/或存儲數(shù)字視頻信息。

視頻譯碼技術(shù)包含空間(圖片內(nèi))預(yù)測及/或時(shí)間(圖片間)預(yù)測以減少或移除視頻序列中固有的冗余。對于基于塊的視頻譯碼來說,視頻切片(例如,視頻幀或視頻幀的一部分)可分割成視頻塊,視頻塊還可被稱作樹塊、譯碼單元(CU)及/或譯碼節(jié)點(diǎn)。CU可進(jìn)一步分割成一或多個預(yù)測單元(PU)以確定用于CU的預(yù)測性視頻數(shù)據(jù)。視頻壓縮技術(shù)還可將CU分割成殘余視頻塊數(shù)據(jù)的一或多個變換單元(TU),所述殘余視頻塊數(shù)據(jù)表示待譯碼視頻塊與預(yù)測性視頻數(shù)據(jù)之間的差。例如二維離散余弦變換(DCT)的線性變換可應(yīng)用于TU以將殘余視頻塊數(shù)據(jù)從像素域變換到頻域以實(shí)現(xiàn)進(jìn)一步壓縮。此外,圖片的經(jīng)幀內(nèi)譯碼(I)切片中的視頻塊可使用關(guān)于同一圖片中的相鄰塊中的參考樣本的空間預(yù)測來進(jìn)行編碼。圖片的經(jīng)幀間譯碼(P或B)切片中的視頻塊可使用關(guān)于同一圖片中的相鄰塊中的參考樣本的空間預(yù)測,或關(guān)于其它參考圖片中的參考樣本的時(shí)間預(yù)測。圖片可被稱為幀,且參考圖片可被稱為參考幀。

空間或時(shí)間預(yù)測產(chǎn)生待譯碼塊的預(yù)測性塊。殘余數(shù)據(jù)表示待譯碼的原始塊與預(yù)測性塊之間的像素差。經(jīng)幀間譯碼塊是根據(jù)指向形成預(yù)測性塊的參考樣本塊的運(yùn)動向量及指示經(jīng)譯碼塊與預(yù)測性塊之間的差的殘余數(shù)據(jù)來編碼。經(jīng)幀內(nèi)譯碼塊是根據(jù)幀內(nèi)譯碼模式及殘余數(shù)據(jù)來編碼。為了進(jìn)一步壓縮,可將殘余數(shù)據(jù)從像素域變換到變換域,從而產(chǎn)生殘余變換系數(shù),可隨后量化所述殘余變換系數(shù)??蓲呙枳畛醪贾贸啥S陣列的經(jīng)量化變換系數(shù),以便產(chǎn)生變換系數(shù)的一維向量,且可應(yīng)用熵編碼以實(shí)現(xiàn)甚至更多壓縮。

視頻編碼器可利用特定單元(例如,模式?jīng)Q定及/或運(yùn)動估計(jì)單元)來編碼視頻信息。為了在最小化性能下降時(shí)加速處理,許多編碼器使用預(yù)處理引擎以降低這些單元的復(fù)雜度。一種這類預(yù)處理引擎為“后臺檢測”,其可用于將視頻幀中的靜態(tài)(或“不改變”)內(nèi)容(例如,后臺內(nèi)容)與改變(或“移動”)內(nèi)容(例如,前臺內(nèi)容)區(qū)分開來。一旦已確定后臺內(nèi)容,編碼器即可在編碼那個內(nèi)容時(shí)應(yīng)用較低復(fù)雜度過程(例如,較低復(fù)雜度模式?jīng)Q定、較簡單運(yùn)動向量確定、較簡單中斷添加檢查、較低運(yùn)動估計(jì)過程等),這是因?yàn)榫幋a后臺幀可僅涉及將來自先前幀的適當(dāng)塊的內(nèi)容復(fù)制到當(dāng)前幀。在一些情況下,運(yùn)動向量搜索的結(jié)果可為編碼后臺塊的唯一需求。

現(xiàn)代視頻編碼器(例如,HEVC編碼器)中的視頻編碼單元(例如,模式?jīng)Q定及運(yùn)動估計(jì)單元)已變得更復(fù)雜并且為計(jì)算密集型。這些單元執(zhí)行某些功能(例如,檢測后臺區(qū)域)所需的時(shí)間及計(jì)算資源已增加。一個原因是早期視頻標(biāo)準(zhǔn)(例如AVC)僅利用至多8×8的變換大小。然而,更現(xiàn)代的HEVC標(biāo)準(zhǔn)利用高達(dá)16×16及32×32的正變換及逆變換大小。在分析塊以檢測其是否僅包含后臺內(nèi)容時(shí),更大變換要求更多復(fù)雜度及循環(huán)。為了譯碼效率起見,當(dāng)前標(biāo)準(zhǔn)將受益于降低后臺檢測方法的復(fù)雜度的過程。本文中所公開的技術(shù)的一些優(yōu)點(diǎn)涉及在視頻編碼期間通過降低后臺檢測方法的復(fù)雜度來提高譯碼效率及減少計(jì)算資源需求,其隨后可允許較不復(fù)雜的模式?jīng)Q定及運(yùn)動估計(jì)。



技術(shù)實(shí)現(xiàn)要素:

一般來說,本發(fā)明描述與降低視頻編碼器(例如,HEVC視頻編碼器)檢測后臺內(nèi)容所需的復(fù)雜度及減少所需循環(huán)相關(guān)的技術(shù),所述技術(shù)可進(jìn)一步簡化視頻編碼器的整個模式?jīng)Q定及運(yùn)動估計(jì)過程。所述技術(shù)可進(jìn)一步解決與自適應(yīng)地調(diào)整后臺檢測閾值有關(guān)的問題,從而允許視頻編碼器在節(jié)省計(jì)算資源的同時(shí)也保持視頻質(zhì)量。

在隨附圖式及以下描述中闡述一或多個實(shí)例的細(xì)節(jié)。其它特征、目標(biāo)及優(yōu)點(diǎn)將從所述描述及圖式以及從權(quán)利要求書顯而易見。

本發(fā)明中所描述的標(biāo)的物的一個方面提供一種包括經(jīng)配置以存儲視頻塊的存儲器的視頻編碼器。所述視頻編碼器進(jìn)一步包括與存儲器通信的處理器。所述處理器經(jīng)配置以通過比較視頻塊與位于先前時(shí)間幀中的對應(yīng)塊來確定所述視頻塊是否為后臺。所述處理器經(jīng)進(jìn)一步配置以在視頻塊不是后臺時(shí)通過比較視頻塊的一或多個子塊與位于先前時(shí)間幀中的對應(yīng)子塊來確定所述子塊是否為后臺。

本發(fā)明中描述的標(biāo)的物的另一方面提供一種編碼視頻的方法。所述方法包含存儲視頻塊。所述方法進(jìn)一步包含通過比較視頻塊與位于先前時(shí)間幀中的對應(yīng)塊來確定所述視頻塊是否為后臺。所述方法進(jìn)一步包含在視頻塊不是后臺時(shí)通過比較視頻塊的一或多個子塊與位于先前時(shí)間幀中的對應(yīng)子塊來確定所述子塊是否為后臺。

本發(fā)明中描述的標(biāo)的物的另一方面提供一種非暫時(shí)性計(jì)算機(jī)可讀媒體。所述媒體包括在經(jīng)執(zhí)行時(shí)使得設(shè)備存儲視頻塊的代碼。所述媒體進(jìn)一步包括在經(jīng)執(zhí)行時(shí)使得設(shè)備通過比較視頻塊與位于先前時(shí)間幀中的對應(yīng)塊來確定所述視頻塊是否為后臺的代碼。所述媒體進(jìn)一步包括在經(jīng)執(zhí)行時(shí)使得設(shè)備在視頻塊不是后臺時(shí)通過比較視頻塊的一或多個子塊與位于先前時(shí)間幀中的對應(yīng)子塊來確定所述子塊是否為后臺的代碼。

本發(fā)明中描述的標(biāo)的物的另一方面提供一種用于編碼視頻的設(shè)備。所述設(shè)備包括用于存儲視頻塊的裝置。所述設(shè)備進(jìn)一步包括用于通過比較視頻塊與位于先前時(shí)間幀中的對應(yīng)塊來確定所述視頻塊是否為后臺的裝置。所述設(shè)備進(jìn)一步包括用于在視頻塊不是后臺時(shí)通過比較視頻塊的一或多個子塊與位于先前時(shí)間幀中的對應(yīng)子塊來確定所述子塊是否為后臺的裝置。

附圖說明

圖1是說明可利用根據(jù)本發(fā)明中所描述方面的技術(shù)的實(shí)例視頻編碼及解碼系統(tǒng)的框圖。

圖2是說明可實(shí)施根據(jù)本發(fā)明中所描述方面的技術(shù)的視頻編碼器的實(shí)例的框圖。

圖3是說明可實(shí)施根據(jù)本發(fā)明中所描述方面的技術(shù)的視頻解碼器的實(shí)例的框圖。

圖4說明確定視頻塊或其子塊是否含有后臺內(nèi)容的方法的流程圖。

圖5說明自適應(yīng)地調(diào)整后臺閾值以確定塊是否為后臺塊的一種方法的流程圖。

圖式中所說明的各種特征可能未按比例繪制。因此,為了清楚起見,可任意擴(kuò)大或減小各種特征的尺寸。此外,圖式中的一些可能并未描繪給定系統(tǒng)、方法或裝置的所有組件。最后,可貫穿說明書和圖式使用相似參考數(shù)字表示相似特征。

具體實(shí)施方式

本發(fā)明中描述的技術(shù)通常涉及視頻編碼期間的正變換,特別是就高效率視頻譯碼(HEVC)標(biāo)準(zhǔn)及其擴(kuò)展來說。

視頻譯碼標(biāo)準(zhǔn)包含ITU-T H.261、ISO/IEC MPEG-1Visual、ITU-T H.262或ISO/IEC MPEG-2Visual、ITU-T H.263、ISO/IEC MPEG-4Visual及ITU-T H.264(也被稱為ISO/IEC MPEG-4AVC),包含其可縮放視頻譯碼(SVC)及多視圖視頻譯碼(MVC)擴(kuò)展。此外,存在一種新的視頻譯碼標(biāo)準(zhǔn),高效率視頻譯碼(HEVC),其由ITU-T視頻譯碼專家組(VCEG)及ISO/IEC動畫專家組(MPEG)的視頻譯碼聯(lián)合合作小組(JCT-VC)開發(fā)。

如上文所提及,HEVC標(biāo)準(zhǔn)利用大小高達(dá)32×32的正變換(例如,在HEVC編碼器中)及逆變換,而AVC標(biāo)準(zhǔn)僅利用至多8×8的變換大小。在HEVC中,較大變換大小提高較大代碼塊的譯碼效率;然而,相較于較小變換大小,較大變換大小還增加復(fù)雜度、計(jì)算循環(huán)及處理時(shí)間(例如,當(dāng)檢測后臺區(qū)域時(shí))。本發(fā)明中所描述的方法可降低檢測后臺內(nèi)容所需的增加的復(fù)雜度及循環(huán)。

在一些實(shí)施方案中,檢測后臺內(nèi)容可允許整體較不復(fù)雜的模式?jīng)Q定及運(yùn)動估計(jì),這是因?yàn)橐曨l編碼器可經(jīng)配置以在處理與前臺區(qū)域相對的后臺區(qū)域時(shí)簡化模式?jīng)Q定及運(yùn)動估計(jì),如下文關(guān)于圖4至5進(jìn)一步描述。視頻編碼器可進(jìn)一步經(jīng)配置以使用來自先前幀的距離度量值自適應(yīng)地調(diào)整后臺檢測的閾值。通過系統(tǒng)地檢測后臺區(qū)域并且自適應(yīng)地調(diào)整后臺檢測閾值,本發(fā)明中所描述的方法可允許視頻編碼器在節(jié)省計(jì)算資源的同時(shí)也保持視頻質(zhì)量。

在使用基于塊的處理(例如,HEVC,其中視頻幀可分割成視頻塊或譯碼單元)的視頻編解碼器中,可從原始像素減去預(yù)測塊或預(yù)測單元(例如,來自幀間預(yù)測或幀內(nèi)預(yù)測)。如上文進(jìn)一步解釋,這類殘余數(shù)據(jù)可隨后使用正變換(例如,離散余弦變換)變換為殘余變換系數(shù),經(jīng)量化且經(jīng)熵編碼(例如,以實(shí)現(xiàn)進(jìn)一步壓縮)??墒褂孟挛倪M(jìn)一步描述的各種熵譯碼引擎(例如,CAVLC、CABAC等)來執(zhí)行熵編碼。然后,且如下文也進(jìn)一步描述,解碼器可隨后對系數(shù)進(jìn)行熵解碼、解量化及逆變換。最終,系數(shù)可加回到預(yù)測塊以形成經(jīng)重建像素。

在視頻譯碼的一個實(shí)施例中,可首先使用經(jīng)重建的在時(shí)間上及/或空間上相鄰的塊中的像素來預(yù)測圖像塊??呻S后對預(yù)測誤差(有時(shí)被稱作“殘余”)進(jìn)行變換及量化。舉例來說,如果S為大小N×N的殘余塊,那么可如下使用矩陣乘法導(dǎo)出經(jīng)變換塊K:

K=A*S*B

其中K、A及B也具有大小N×N。A為垂直變換矩陣,且B為水平變換矩陣。在一些實(shí)施例中,A及B是彼此的轉(zhuǎn)置(例如,B=A',其中“'”意指轉(zhuǎn)置)。在其它實(shí)施例中,A及B不是彼此的轉(zhuǎn)置。當(dāng)A及B是彼此的轉(zhuǎn)置時(shí),先前方程變?yōu)椋?/p>

K=A*S*A'

每一變換(A及B)可包含多種變換中的任一者。在一些實(shí)施例中,變換包含離散余弦變換(DCT)、離散正弦變換(DST)、哈達(dá)瑪(Hadamard)變換、哈爾(Haar)變換等中的一者。

在SVC擴(kuò)展中,可存在多個視頻信息層。底層可充當(dāng)基礎(chǔ)層(BL),且頂層可充當(dāng)增強(qiáng)型層(EL)或“增強(qiáng)層”。頂層與底層之間的所有層可充當(dāng)EL或BL中的任一者或兩者。SVC可用于提供質(zhì)量可縮放性(或信噪比,SNR)、空間可縮放性及/或時(shí)間可縮放性。增強(qiáng)型層可具有與基礎(chǔ)層不同的空間分辨率。可使用針對SVC提供的不同層來執(zhí)行當(dāng)前塊的預(yù)測。此預(yù)測可被稱為層間預(yù)測??稍赟VC中利用層間預(yù)測方法以便減少層間冗余。層間預(yù)測的一些實(shí)例可包含層間幀內(nèi)預(yù)測、層間運(yùn)動預(yù)測及層間殘余預(yù)測。層間幀內(nèi)預(yù)測使用基礎(chǔ)層中相同位置處的塊的重建來預(yù)測增強(qiáng)層中的當(dāng)前塊。層間運(yùn)動預(yù)測使用基礎(chǔ)層的運(yùn)動來預(yù)測增強(qiáng)層中的運(yùn)動。層間殘余預(yù)測使用基礎(chǔ)層的殘余來預(yù)測增強(qiáng)層的殘余。被稱作“幀內(nèi)BL模式”的用于增強(qiáng)層的一種特定譯碼模式包含可使用基礎(chǔ)層中的對應(yīng)(有時(shí)被稱作“相同位置”,例如,位于相同空間位置處)塊的紋理來預(yù)測的紋理。

在層間殘余預(yù)測中,基礎(chǔ)層的殘余可用于預(yù)測增強(qiáng)層中的當(dāng)前塊。可將所述殘余定義為對視頻單元的時(shí)間預(yù)測與源視頻單元之間的差。在殘余預(yù)測中,也在預(yù)測當(dāng)前塊時(shí)考慮基礎(chǔ)層的殘余。舉例來說,可使用來自增強(qiáng)層的殘余、來自增強(qiáng)層的時(shí)間預(yù)測及來自基礎(chǔ)層的殘余來重建當(dāng)前塊??筛鶕?jù)以下方程重建當(dāng)前塊:

<mrow> <mover> <mi>I</mi> <mo>^</mo> </mover> <mi>e</mi> <mo>=</mo> <mi>r</mi> <mi>e</mi> <mo>+</mo> <mi>P</mi> <mi>e</mi> <mo>+</mo> <mi>r</mi> <mi>b</mi> </mrow>

其中表示當(dāng)前塊的重建,re表示來自增強(qiáng)層的殘余,Pe表示來自增強(qiáng)層的時(shí)間預(yù)測,且rb表示來自基礎(chǔ)層的殘余預(yù)測。

對于使用差域的幀間譯碼,基于增強(qiáng)層參考圖片中的對應(yīng)經(jīng)預(yù)測塊樣本與經(jīng)縮放基礎(chǔ)層參考圖片中的對應(yīng)經(jīng)預(yù)測塊樣本之間的差值來確定當(dāng)前經(jīng)預(yù)測塊。所述差值可被稱為差預(yù)測塊。將相同位置處的基礎(chǔ)層經(jīng)重建樣本添加到差預(yù)測塊以便獲得增強(qiáng)層預(yù)測樣本。

為了將層間殘余預(yù)測用于增強(qiáng)層中的宏塊(MB),基礎(chǔ)層中相同位置處的宏塊應(yīng)為幀間MB,且相同位置的基礎(chǔ)層宏塊的殘余可根據(jù)增強(qiáng)層的空間分辨比率經(jīng)上取樣。在層間殘余預(yù)測中,可在位流中譯碼增強(qiáng)層的殘余與經(jīng)上取樣基礎(chǔ)層的殘余之間的差??苫诨A(chǔ)層及增強(qiáng)層的量化步長之間的比來歸一化基礎(chǔ)層的殘余。

一般來說,如下通過將當(dāng)前塊的時(shí)間預(yù)測與殘余相加來執(zhí)行運(yùn)動補(bǔ)償:

<mrow> <mover> <mi>I</mi> <mo>^</mo> </mover> <mo>=</mo> <mi>r</mi> <mo>+</mo> <mi>P</mi> </mrow>

其中表示當(dāng)前幀,r表示殘余,且P表示時(shí)間預(yù)測。在單環(huán)路解碼中,可用單一運(yùn)動補(bǔ)償環(huán)路來解碼每一所支持層。為了實(shí)現(xiàn)這種情況,使用受約束的幀內(nèi)預(yù)測來譯碼用于對較高層進(jìn)行層間幀內(nèi)預(yù)測的所有層。在受約束的幀內(nèi)預(yù)測中,在不參考來自相鄰經(jīng)幀間譯碼MB的任何樣本的情況下對幀內(nèi)模式MB進(jìn)行幀內(nèi)譯碼。另一方面,HEVC允許用于SVC的多環(huán)路解碼,其中可使用多個運(yùn)動補(bǔ)償環(huán)路來解碼SVC層。舉例來說,可首先完全解碼基礎(chǔ)層,且隨后可解碼增強(qiáng)層。

如上文所描述的殘余預(yù)測可為H.264SVC擴(kuò)展中的有效技術(shù)。然而,其性能可在HEVC SVC擴(kuò)展中得到進(jìn)一步改善,尤其是在多環(huán)路解碼用于HEVC SVC擴(kuò)展中時(shí)。

在多環(huán)路解碼的情況下,可使用差域運(yùn)動補(bǔ)償來替代殘余預(yù)測。在SVC中,可使用像素域譯碼或差域譯碼來譯碼增強(qiáng)層。在像素域譯碼中,對于非SVC HEVC層,可譯碼增強(qiáng)層像素的輸入像素。另一方面,在差域譯碼中,可譯碼增強(qiáng)層的差值。所述差值可為增強(qiáng)層的輸入像素與對應(yīng)的經(jīng)縮放基礎(chǔ)層經(jīng)重建像素之間的差。此些差值可用于差域運(yùn)動補(bǔ)償?shù)倪\(yùn)動補(bǔ)償中。

對于使用差域的幀間譯碼,基于增強(qiáng)層參考圖片中的對應(yīng)經(jīng)預(yù)測塊樣本與經(jīng)縮放基礎(chǔ)層參考圖片中的對應(yīng)經(jīng)預(yù)測塊樣本之間的差值來確定當(dāng)前經(jīng)預(yù)測塊。所述差值可被稱為差預(yù)測塊。將相同位置處的基礎(chǔ)層經(jīng)重建樣本添加到差預(yù)測塊以便獲得增強(qiáng)層預(yù)測樣本。

然而,由于運(yùn)動估計(jì)及運(yùn)動補(bǔ)償常常用于像素域及差域兩者,因此在層間預(yù)測中使用差域運(yùn)動補(bǔ)償會引入兩組運(yùn)動估計(jì)及運(yùn)動補(bǔ)償。引入兩組運(yùn)動估計(jì)及運(yùn)動補(bǔ)償可導(dǎo)致較高的緩沖器及計(jì)算成本,這對于編碼器或解碼器來說可能不實(shí)用。另外,譯碼兩組運(yùn)動向量可降低譯碼效率,因?yàn)楫?dāng)兩組運(yùn)動向量具有不同性質(zhì)且在譯碼單元(CU)層級處交錯時(shí),運(yùn)動場可變得不規(guī)則。此外,差域中的運(yùn)動估計(jì)需要基礎(chǔ)層及增強(qiáng)層共享相同運(yùn)動。此外,由于兩個層之間的差分圖片的導(dǎo)出是基于每一層的完全經(jīng)重建圖片,因此差域運(yùn)動補(bǔ)償不與單環(huán)路解碼一起工作。

本發(fā)明中描述的技術(shù)可解決與降低檢測后臺內(nèi)容所需的復(fù)雜度及減少所需循環(huán)有關(guān)的問題,所述技術(shù)可進(jìn)一步簡化視頻編碼器的整個模式?jīng)Q定及運(yùn)動估計(jì)過程。所述技術(shù)可進(jìn)一步解決與自適應(yīng)地調(diào)整后臺檢測閾值有關(guān)的問題,從而允許視頻編碼器在節(jié)省計(jì)算資源的同時(shí)也保持視頻質(zhì)量。

下文參考附圖更充分地描述新穎系統(tǒng)、設(shè)備及方法的各種方面。然而,本發(fā)明可以許多不同形式來體現(xiàn),且不應(yīng)被解釋為限于貫穿本發(fā)明所呈現(xiàn)的任何特定結(jié)構(gòu)或功能。實(shí)際上,提供這些方面以使得本發(fā)明將透徹且完整,并且將向所屬領(lǐng)域的技術(shù)人員充分傳達(dá)本發(fā)明的范圍。基于本文中的教示,所屬領(lǐng)域的技術(shù)人員應(yīng)了解,本發(fā)明的范圍既定涵蓋無論是獨(dú)立于本發(fā)明的任何其它方面而實(shí)施還是與之組合而實(shí)施的本文中所公開的新穎系統(tǒng)、設(shè)備及方法的任何方面。舉例來說,可使用本文中所闡述的任何數(shù)目個方面來實(shí)施設(shè)備或?qū)嵺`方法。另外,本發(fā)明的范圍既定涵蓋使用其它結(jié)構(gòu)、功能性或除本文中所闡述的本發(fā)明的各種方面之外的或不同于本文中所闡述的本發(fā)明的各種方面的結(jié)構(gòu)及功能性來實(shí)踐的此類設(shè)備或方法。應(yīng)理解,可通過權(quán)利要求書的一或多個要素來體現(xiàn)本文中所公開的任何方面。

盡管本文中描述特定方面,但這些方面的許多變化及排列在本發(fā)明的范圍內(nèi)。盡管提及了優(yōu)選方面的一些益處及優(yōu)點(diǎn),但本發(fā)明的范圍并非既定限于特定益處、用途或目標(biāo)。實(shí)際上,本發(fā)明的方面既定廣泛地適用于不同無線技術(shù)、系統(tǒng)配置、網(wǎng)絡(luò)及發(fā)射協(xié)議,其中的一些借助于實(shí)例在圖式中以及在優(yōu)選方面的以下描述中加以說明。詳細(xì)描述及圖式僅說明本發(fā)明,而不是限制由所附權(quán)利要求書及其等效者定義的本發(fā)明的范圍。

圖1是說明可利用根據(jù)本發(fā)明中所描述方面的技術(shù)的實(shí)例視頻編碼及解碼系統(tǒng)的框圖。如圖1中所展示,視頻編碼及解碼系統(tǒng)10包含源裝置12,所述源裝置提供稍后待由目的地裝置14解碼的經(jīng)編碼視頻數(shù)據(jù)。確切地說,源裝置12經(jīng)由計(jì)算機(jī)可讀媒體16將視頻數(shù)據(jù)提供到目的地裝置14。源裝置12及目的地裝置14可包括各種各樣的裝置中的任一者,包含桌上型計(jì)算機(jī)、筆記本型(例如,膝上型)計(jì)算機(jī)、平板計(jì)算機(jī)、機(jī)頂盒、電話手持機(jī)(例如,智能電話)、電視機(jī)、相機(jī)、顯示裝置、數(shù)字媒體播放器、視頻游戲控制臺、視頻流式傳輸裝置等。在一些情況下,源裝置12及目的地裝置14可經(jīng)裝備以用于無線通信。

如上文所提及,目的地裝置14可經(jīng)由計(jì)算機(jī)可讀媒體16接收待解碼的經(jīng)編碼視頻數(shù)據(jù)。計(jì)算機(jī)可讀媒體16可包括能夠?qū)⒔?jīng)編碼視頻數(shù)據(jù)從源裝置12移動到目的地裝置14的任何類型的媒體或裝置。在一個實(shí)例中,計(jì)算機(jī)可讀媒體16可包括通信媒體(未描畫),以使得源裝置12能夠?qū)崟r(shí)地將經(jīng)編碼視頻數(shù)據(jù)直接發(fā)射到目的地裝置14。經(jīng)編碼視頻數(shù)據(jù)可根據(jù)通信標(biāo)準(zhǔn)(例如,無線通信協(xié)議)來調(diào)制,且被發(fā)射到目的地裝置14。通信媒體可包括任何無線或有線通信媒體,例如射頻(RF)頻譜或一或多個物理發(fā)射線。通信媒體還可形成分組網(wǎng)絡(luò)(例如,局域網(wǎng)、廣域網(wǎng)或全球網(wǎng)絡(luò)(例如因特網(wǎng)))的部分。通信媒體可包含路由器、交換機(jī)、基站或可用于促進(jìn)從源裝置12到目的地裝置14的通信的任何其它設(shè)備。

在一些實(shí)例中,經(jīng)編碼數(shù)據(jù)可從輸出接口22輸出到存儲裝置(未描畫)。類似地,可通過輸入接口28從存儲裝置接入經(jīng)編碼數(shù)據(jù)。存儲裝置可包含多種分布式或本地接入式數(shù)據(jù)存儲媒體中的任一者,例如硬盤驅(qū)動器、藍(lán)光光盤、DVD、CD-ROM、快閃存儲器、易失性或非易失性存儲器或用于存儲經(jīng)編碼視頻數(shù)據(jù)的任何其它合適的數(shù)字存儲媒體。在另一實(shí)例中,存儲裝置可對應(yīng)于文件服務(wù)器或可存儲由源裝置12產(chǎn)生的經(jīng)編碼視頻的另一中間存儲裝置。目的地裝置14可經(jīng)由流式傳輸或下載從存儲裝置接入經(jīng)存儲視頻數(shù)據(jù)。文件服務(wù)器可為能夠存儲經(jīng)編碼視頻數(shù)據(jù)且將所述經(jīng)編碼視頻數(shù)據(jù)發(fā)射到目的地裝置14的任何類型的服務(wù)器。實(shí)例文件服務(wù)器包含網(wǎng)絡(luò)服務(wù)器(例如,用于網(wǎng)站)、FTP服務(wù)器、網(wǎng)絡(luò)附接存儲(NAS)裝置或本地磁盤驅(qū)動器。目的地裝置14可通過任何標(biāo)準(zhǔn)數(shù)據(jù)連接(包含因特網(wǎng)連接)來接入經(jīng)編碼視頻數(shù)據(jù)。數(shù)據(jù)連接可包含適用于接入存儲于文件服務(wù)器上的經(jīng)編碼視頻數(shù)據(jù)的無線通道(例如,Wi-Fi連接)、有線連接(例如,DSL、線纜調(diào)制解調(diào)器等),或兩者的組合。經(jīng)編碼視頻數(shù)據(jù)從存儲裝置的發(fā)射可能是流式發(fā)射、下載發(fā)射或其組合。

本發(fā)明的技術(shù)不必限于無線應(yīng)用或設(shè)定。所述技術(shù)可應(yīng)用于支持多種多媒體應(yīng)用中的任一者的視頻譯碼,例如空中電視廣播、有線電視發(fā)射、衛(wèi)星電視發(fā)射、因特網(wǎng)流式視頻發(fā)射(例如,經(jīng)由HTTP的動態(tài)自適應(yīng)流式傳輸(DASH))、被編碼到數(shù)據(jù)存儲媒體上的數(shù)字視頻、存儲在數(shù)據(jù)存儲媒體上的數(shù)字視頻的解碼或其它應(yīng)用。在一些實(shí)例中,系統(tǒng)10可經(jīng)配置以支持單向或雙向視頻發(fā)射,以用于例如視頻流式傳輸、視頻回放、視頻廣播、視頻電話等應(yīng)用。

在圖1的實(shí)例中,源裝置12包含視頻源18、視頻編碼器20及輸出接口22。目的地裝置14包含輸入接口28、視頻解碼器30及顯示裝置32。根據(jù)本發(fā)明,源裝置12的視頻編碼器20可經(jīng)配置以應(yīng)用用于對包含符合多個標(biāo)準(zhǔn)或標(biāo)準(zhǔn)擴(kuò)展的視頻數(shù)據(jù)的位流進(jìn)行譯碼的技術(shù)。在其它實(shí)例中,源裝置12及目的地裝置14可包含其它組件或布置。舉例來說,源裝置12可從外部視頻源(例如,外部相機(jī))接收視頻數(shù)據(jù)。同樣,目的地裝置14可與外部顯示裝置介接,而不是集成式顯示裝置32。

盡管本發(fā)明的技術(shù)通常由視頻編碼裝置來執(zhí)行,但是所述技術(shù)也可通過視頻編碼器/解碼器(通常被稱作“編解碼器”)執(zhí)行。此外,本發(fā)明的技術(shù)還可以通過視頻預(yù)處理器來執(zhí)行。源裝置12及目的地裝置14僅為這類譯碼裝置的實(shí)例,其中源裝置12產(chǎn)生供發(fā)射到目的地裝置14的經(jīng)譯碼視頻數(shù)據(jù)。在一些實(shí)例中,源裝置12及目的地裝置14可以大致上對稱的方式操作,使得其各自包含視頻編碼及解碼組件。因此,系統(tǒng)10可支持源裝置12與目的地裝置14之間的單向或雙向視頻發(fā)射(例如)以用于視頻流式傳輸、視頻回放、視頻廣播、視頻電話等。

源裝置12的視頻源18可包含視頻捕獲裝置(未描畫),例如攝像機(jī)、含有先前所捕獲視頻的視頻存檔、從視頻內(nèi)容提供者接收視頻的視頻饋入接口等。作為另一替代方案,視頻源18可產(chǎn)生基于計(jì)算機(jī)圖形的數(shù)據(jù),或?qū)崨r視頻、所存檔視頻及計(jì)算機(jī)產(chǎn)生的視頻的組合。在一些情況下,如果視頻源18是攝像機(jī),那么源裝置12及目的地裝置14可為相機(jī)電話或視頻電話。在另一實(shí)施例中,本發(fā)明中描述的技術(shù)一般可適用于視頻譯碼,且可應(yīng)用于無線及/或有線應(yīng)用。在每一種情況下,可由視頻編碼器20編碼所捕獲、經(jīng)預(yù)先捕獲或計(jì)算機(jī)產(chǎn)生的視頻。經(jīng)編碼視頻信息可隨后通過輸出接口22輸出到計(jì)算機(jī)可讀媒體16上。

計(jì)算機(jī)可讀媒體16可包含瞬時(shí)媒體,例如無線廣播或有線網(wǎng)絡(luò)發(fā)射,或存儲媒體(即非暫時(shí)性存儲媒體),例如硬盤、快閃驅(qū)動器、壓縮光盤、數(shù)字視頻光盤、藍(lán)光光盤或其它計(jì)算機(jī)可讀媒體。在一些實(shí)例中,網(wǎng)絡(luò)服務(wù)器(未展示)可從源裝置12接收經(jīng)編碼視頻數(shù)據(jù)且(例如)經(jīng)由網(wǎng)絡(luò)發(fā)射、直接有線通信等將所述經(jīng)編碼視頻數(shù)據(jù)提供到目的地裝置14。類似地,媒體生產(chǎn)設(shè)施(例如光盤沖壓設(shè)施)的計(jì)算裝置可以從源裝置12接收經(jīng)編碼視頻數(shù)據(jù),且生產(chǎn)含有經(jīng)編碼視頻數(shù)據(jù)的光盤。因此,計(jì)算機(jī)可讀媒體16可包含各種形式的一或多個計(jì)算機(jī)可讀媒體。

目的地裝置14的輸入接口28可從計(jì)算機(jī)可讀媒體16接收信息。計(jì)算機(jī)可讀媒體16的信息可包含由視頻編碼器20定義的語法信息。語法信息也可由視頻解碼器30使用,所述語法信息可包含描述塊及其它經(jīng)譯碼單元的特性及/或處理的語法元素。顯示裝置32可將經(jīng)解碼視頻數(shù)據(jù)顯示給用戶,且可包括多種顯示裝置(例如陰極射線管(CRT)、液晶顯示器(LCD)、等離子顯示器、有機(jī)發(fā)光二極管(OLED)顯示器或另一類型的顯示裝置)中的任一者。

視頻編碼器20及視頻解碼器30可根據(jù)視頻譯碼標(biāo)準(zhǔn)操作,所述視頻譯碼標(biāo)準(zhǔn)例如高效率視頻譯碼(HEVC)標(biāo)準(zhǔn)或其變體(例如,HEVC測試模型(HM))中的任一者。替代地,視頻編碼器20及視頻解碼器30可根據(jù)其它專有或行業(yè)標(biāo)準(zhǔn)(例如ITU-T H.264標(biāo)準(zhǔn)(MPEG-4)第10部分高級視頻譯碼(AVC)、ITU-T H.263、ITU-T H.262(ISO/IEC MPEG-2Visual)、ISO/IEC MPEG-1Visual、ITU-T H.261或任何此些標(biāo)準(zhǔn)的擴(kuò)展)操作。在一些方面中,視頻編碼器20及視頻解碼器30可與音頻編碼器、音頻解碼器、多路復(fù)用器-多路分用器單元(未描畫)或其它硬件及軟件集成在一起,以處置共同數(shù)據(jù)流或單獨(dú)數(shù)據(jù)流中的音頻及視頻兩者的編碼。

視頻編碼器20及視頻解碼器30各自可實(shí)施為多種合適的編碼器電路中的任一者,例如一或多個微處理器、數(shù)字信號處理器(DSP)、專用集成電路(ASIC)、現(xiàn)場可編程門陣列(FPGA)、離散邏輯、軟件、硬件、固件,或其任何組合。如果必須要執(zhí)行本發(fā)明的技術(shù),那么視頻編碼器20及/或視頻解碼器30可將軟件指令存儲于合適的非暫時(shí)性計(jì)算機(jī)可讀媒體中且使用一或多個處理器在硬件中執(zhí)行所述指令。視頻編碼器20及視頻解碼器30中的每一者可包含在一或多個編碼器或解碼器中,所述編碼器或解碼器中的任一者可以集成為相應(yīng)裝置中的組合式編碼器/解碼器(編解碼器)的部分。包含視頻編碼器20及/或視頻解碼器30的裝置可包括集成電路、微處理器及/或無線通信裝置,例如手機(jī)。

HEVC標(biāo)準(zhǔn)指定視頻幀或圖片可劃分成包含明度樣本及色度樣本兩者的一系列樹塊或最大譯碼單元(LCU)。位流內(nèi)的語法數(shù)據(jù)可以定義LCU(就像素?cái)?shù)目來說,其為最大譯碼單元)的大小。切片包含按譯碼次序的多個連續(xù)樹塊。視頻幀或圖片可以被分割成一或多個切片。每一樹塊可根據(jù)四叉樹分裂成譯碼單元(CU)。一般來說,四叉樹數(shù)據(jù)結(jié)構(gòu)包含每CU一個節(jié)點(diǎn),其中根節(jié)點(diǎn)對應(yīng)于樹塊。如果CU分裂成四個子CU,那么對應(yīng)于CU的節(jié)點(diǎn)包含四個葉節(jié)點(diǎn),所述葉節(jié)點(diǎn)中的每一者對應(yīng)于所述子CU中的一者。

四叉樹數(shù)據(jù)結(jié)構(gòu)的每一節(jié)點(diǎn)可提供用于對應(yīng)CU的語法數(shù)據(jù)。舉例來說,四叉樹中的節(jié)點(diǎn)可包含分裂旗標(biāo),所述分裂旗標(biāo)指示對應(yīng)于節(jié)點(diǎn)的CU是否分裂成子CU。用于CU的語法元素可遞歸地加以定義,且可取決于CU是否分裂成子CU。如果CU未進(jìn)一步分裂,那么將其稱作葉CU。在本發(fā)明中,葉CU的四個子CU也將被稱作葉CU,即使不存在原始葉CU的明確分裂時(shí)也如此。舉例來說,如果16×16大小的CU未進(jìn)一步分裂,那么盡管16×16CU從未分裂,但四個8×8子CU也將被稱作葉CU。

CU具有與H.264標(biāo)準(zhǔn)的宏塊類似的目的,除了CU不具有大小區(qū)別。舉例來說,樹塊可以分裂成四個子節(jié)點(diǎn)(也被稱作子CU),且每一子節(jié)點(diǎn)可又是父節(jié)點(diǎn)并且分裂成另外四個子節(jié)點(diǎn)。最終的未經(jīng)分裂子節(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ù)語“塊”來指HEVC的上下文中的CU、PU或TU中的任一者,或者其它標(biāo)準(zhǔn)的上下文中的類似數(shù)據(jù)結(jié)構(gòu)(例如,H.264/AVC中的宏塊及其子塊)。

CU包含譯碼節(jié)點(diǎn)以及與所述譯碼節(jié)點(diǎn)相關(guān)聯(lián)的預(yù)測單元(PU)及變換單元(TU)。CU的大小對應(yīng)于譯碼節(jié)點(diǎn)的大小且形狀必須是正方形。CU的大小可在8×8像素至具有最大值64×64像素或在一些情況下更大的樹塊大小的范圍內(nèi)。每一CU可含有一或多個PU及一或多個TU。與CU相關(guān)聯(lián)的語法數(shù)據(jù)可描述(例如)將CU分割成一或多個PU。分割模式可在CU被跳過還是經(jīng)直接模式編碼、經(jīng)幀內(nèi)預(yù)測模式編碼還是經(jīng)幀間預(yù)測模式編碼之間不同。PU可分割成非正方形形狀。與CU相關(guān)聯(lián)的語法數(shù)據(jù)還可描述(例如)根據(jù)四叉樹將CU分割成一或多個TU。TU可為正方形或非正方形(例如,矩形)形狀。

HEVC標(biāo)準(zhǔn)允許根據(jù)TU變換,所述變換可以針對不同CU而有所不同。TU的大小通常是基于針對經(jīng)分割LCU定義的給定CU內(nèi)的PU的大小來設(shè)定,但是情況可能并非始終如此。TU通常與PU大小相同或小于PU。在一些實(shí)例中,可以使用一種被稱為“殘余四叉樹”(RQT)的四叉樹結(jié)構(gòu)將對應(yīng)于CU的殘余樣本細(xì)分成較小單元。RQT的葉節(jié)點(diǎn)可被稱作變換單元(TU)??梢宰儞Q與TU相關(guān)聯(lián)的像素差值以產(chǎn)生變換系數(shù),可對所述變換系數(shù)進(jìn)行量化。

葉CU可包含一或多個預(yù)測單元(PU)。一般來說,PU表示對應(yīng)于對應(yīng)CU的全部或一部分的空間區(qū)域,并且可包含用于檢索PU的參考樣本的數(shù)據(jù)。此外,PU包含與預(yù)測相關(guān)的數(shù)據(jù)。舉例來說,當(dāng)PU經(jīng)幀內(nèi)模式編碼時(shí),用于PU的數(shù)據(jù)可以包含在殘余四叉樹(RQT)中,所述殘余四叉樹可包含描述用于對應(yīng)于PU的TU的幀內(nèi)預(yù)測模式的數(shù)據(jù)。作為另一實(shí)例,當(dāng)PU經(jīng)幀間模式編碼時(shí),PU可包含定義PU的一或多個運(yùn)動向量的數(shù)據(jù)。定義PU的運(yùn)動向量的數(shù)據(jù)可描述(例如)運(yùn)動向量的水平分量、運(yùn)動向量的垂直分量、運(yùn)動向量的分辨率(例如,四分之一像素精度或八分之一像素精度)、運(yùn)動向量所指向的參考圖片,及/或運(yùn)動向量的參考圖片列表(例如,列表0、列表1或列表C)。

具有一或多個PU的葉CU還可包含一或多個變換單元(TU)??墒褂肦QT(也被稱作TU四叉樹結(jié)構(gòu))來指定變換單元,如上文所論述。舉例來說,分裂旗標(biāo)可以指示葉CU是否分裂成四個變換單元。接著,每一變換單元可以進(jìn)一步分裂成更多子TU。當(dāng)TU未進(jìn)一步分裂時(shí),其可被稱作葉TU。一般來說,對于幀內(nèi)譯碼,屬于葉CU的所有葉TU共享相同的幀內(nèi)預(yù)測模式。也就是說,通常應(yīng)用相同的幀內(nèi)預(yù)測模式來計(jì)算葉CU的所有TU的預(yù)測值。對于幀內(nèi)譯碼,視頻編碼器可以使用幀內(nèi)預(yù)測模式將每一葉TU的殘余值計(jì)算為CU對應(yīng)于TU的部分與原始塊之間的差。TU未必限于PU的大小。因而,TU可比PU大或小。對于幀內(nèi)譯碼,PU可與相同CU的對應(yīng)葉TU處于相同位置。在一些實(shí)例中,葉TU的最大大小可對應(yīng)于對應(yīng)葉CU的大小。

此外,葉CU的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)。RQT的未分裂的TU被稱作葉TU。一般來說,除非另有指出,否則本發(fā)明分別使用術(shù)語CU及TU來指葉CU及葉TU。

視頻序列通常包含一系列視頻幀或圖片。圖片群組(GOP)通常包括一系列視頻圖片中的一或多者。GOP可包含GOP的標(biāo)頭、圖片中的一或多者的標(biāo)頭或其它地方中的語法數(shù)據(jù),所述語法數(shù)據(jù)描述GOP中包含的多個圖片。圖片的每一切片可包含描述用于相應(yīng)切片的編碼模式的切片語法數(shù)據(jù)。圖1的視頻編碼器20可對個別視頻切片內(nèi)的視頻塊進(jìn)行操作以便編碼視頻數(shù)據(jù)。視頻塊可對應(yīng)于CU內(nèi)的譯碼節(jié)點(diǎn)。視頻塊可具有固定或變化的大小,且可根據(jù)指定的譯碼標(biāo)準(zhǔn)而大小不同。

HEVC支持各種PU大小的預(yù)測。假定特定CU的大小為2N×2N,那么HEVC支持2N×2N或N×N的PU大小的幀內(nèi)預(yù)測,及2N×2N、2N×N、N×2N或N×N的對稱PU大小的幀間預(yù)測。HEVC還支持用于2N×nU、2N×nD、nL×2N及nR×2N的PU大小的幀間預(yù)測的不對稱分割。在不對稱分割中,不分割CU的一個方向,而將另一方向分割成25%及75%。CU的對應(yīng)于25%分區(qū)的部分由“n”后接續(xù)“上”、“下”、“左”或“右”的指示來指示。因此,例如,“2N×nU”是指經(jīng)水平分割的2N×2N CU,其中頂部為2N×0.5N PU,且底部為2N×1.5N PU。

在本發(fā)明中,“N×N”與“N乘N”可互換使用以指就垂直及水平尺寸來說的視頻塊的像素尺寸,例如,16×16像素或16乘16像素。一般來說,16×16塊將在垂直方向上具有16個像素(y=16),且在水平方向上具有16個像素(x=16)。類似地,N×N塊可在垂直方向上具有N個像素,且在水平方向上具有N個像素,其中N表示非負(fù)整數(shù)值。塊中的像素可布置成行及列。此外,塊可能不一定在水平方向與垂直方向上具有相同數(shù)目的像素。舉例來說,塊可包括N×M個像素,其中M不一定等于N。

在使用CU的PU進(jìn)行幀內(nèi)預(yù)測性或幀間預(yù)測性譯碼之后,視頻編碼器20可計(jì)算CU的TU的殘余數(shù)據(jù)。PU可包括描述在空間域(也被稱作像素域)中產(chǎn)生預(yù)測性像素?cái)?shù)據(jù)的方法或模式的語法數(shù)據(jù),且TU可包括在對殘余視頻數(shù)據(jù)應(yīng)用變換(例如,離散余弦變換(DCT)、整數(shù)變換、小波變換或概念上類似的變換)之后變換域中的系數(shù)。殘余數(shù)據(jù)可對應(yīng)于未經(jīng)編碼圖片的像素與對應(yīng)于PU的預(yù)測值之間的像素差。視頻編碼器20可形成包含CU的殘余數(shù)據(jù)的TU,且隨后變換所述TU以產(chǎn)生CU的變換系數(shù)。

在用于產(chǎn)生變換系數(shù)的任何變換之后,視頻編碼器20可執(zhí)行變換系數(shù)的量化。量化為希望具有其最廣泛普通意義的廣義術(shù)語。在一個實(shí)施例中,量化是指變換系數(shù)經(jīng)量化以可能地減少用于表示系數(shù)的數(shù)據(jù)量從而提供進(jìn)一步壓縮的過程。量化過程可減小與系數(shù)中的一些或全部相關(guān)聯(lián)的位深度。舉例來說,n位值可在量化期間被向下舍入到m位值,其中n大于m。

在量化之后,視頻編碼器可掃描變換系數(shù),從而從包含經(jīng)量化變換系數(shù)的二維矩陣產(chǎn)生一維向量。所述掃描可經(jīng)設(shè)計(jì)以將較高能量(且因此較低頻率)系數(shù)放置在陣列的前面,且將較低能量(且因此較高頻率)系數(shù)放置在陣列的后面。在一些實(shí)例中,視頻編碼器20可利用預(yù)定義掃描次序來掃描經(jīng)量化變換系數(shù)以產(chǎn)生可經(jīng)熵編碼的串行化向量。在其它實(shí)例中,視頻編碼器20可執(zhí)行自適應(yīng)掃描。在掃描經(jīng)量化變換系數(shù)以形成一維向量之后,視頻編碼器20可(例如)根據(jù)上下文自適應(yīng)可變長度譯碼(CAVLC)、上下文自適應(yīng)二進(jìn)制算術(shù)譯碼(CABAC)、基于語法的上下文自適應(yīng)二進(jìn)制算術(shù)譯碼(SBAC)、概率區(qū)間分割熵(PIPE)譯碼或另一熵編碼方法對一維向量進(jìn)行熵編碼。視頻編碼器20還可以對與經(jīng)編碼視頻數(shù)據(jù)相關(guān)聯(lián)的語法元素進(jìn)行熵編碼以供視頻解碼器30在解碼視頻數(shù)據(jù)時(shí)使用。

視頻編碼器20可進(jìn)一步(例如)在幀標(biāo)頭、塊標(biāo)頭、切片標(biāo)頭或GOP標(biāo)頭中將例如基于塊的語法數(shù)據(jù)、基于幀的語法數(shù)據(jù)及基于GOP的語法數(shù)據(jù)等語法數(shù)據(jù)發(fā)送到視頻解碼器30。GOP語法數(shù)據(jù)可描述相應(yīng)GOP中的多個幀,且?guī)Z法數(shù)據(jù)可指示用于對對應(yīng)幀進(jìn)行編碼的編碼/預(yù)測模式。

圖2是說明可實(shí)施下文所描述的技術(shù)(包含下文圖4及5中所描述的方法)中的任一者的視頻編碼器的實(shí)例的框圖。視頻編碼器20的單元中的一或多者可經(jīng)配置以執(zhí)行本發(fā)明的技術(shù)中的任一者或全部。作為一個實(shí)例,變換處理單元52及逆變換單元60可經(jīng)配置以執(zhí)行本發(fā)明中描述的變換技術(shù)中的任一者或全部。然而,本發(fā)明的各方面不限于此。在一些實(shí)例中,本發(fā)明中所描述的技術(shù)可在視頻編碼器20的各種組件間共享。在一些實(shí)例中,處理器(未圖示)可經(jīng)配置以執(zhí)行本發(fā)明中描述的技術(shù)中的任一者或全部。

視頻編碼器20可對視頻切片內(nèi)的視頻塊執(zhí)行幀內(nèi)譯碼及幀間譯碼。幀內(nèi)譯碼依賴于空間預(yù)測來減少或移除給定視頻幀或圖片內(nèi)的視頻中的空間冗余。幀間譯碼依賴于時(shí)間預(yù)測來減少或移除視頻序列的鄰接幀或圖片內(nèi)的視頻中的時(shí)間冗余。幀內(nèi)模式(I模式)可以指若干基于空間的譯碼模式中的任一者。例如單向預(yù)測(P模式)或雙向預(yù)測(B模式)的幀間模式可以指若干基于時(shí)間的譯碼模式中的任一者。

視頻編碼器20可接收待編碼視頻幀內(nèi)的當(dāng)前視頻塊。在圖2的實(shí)例中,視頻編碼器20包含模式選擇單元40、參考幀存儲器64、求和器50、變換處理單元52、量化單元54及熵編碼單元56。模式選擇單元40包含運(yùn)動估計(jì)單元42、運(yùn)動補(bǔ)償單元44、幀內(nèi)預(yù)測單元46及分割單元48。為了進(jìn)行視頻塊重建,視頻編碼器20還可包含逆量化單元58、逆變換單元60及求和器62。還可包含解塊濾波器(未描畫)以對塊邊界進(jìn)行濾波,從而從經(jīng)重建視頻移除成塊假象。必要時(shí),所述解塊濾波器通常將對求和器62的輸出進(jìn)行濾波。除了解塊濾波器之外,還可使用額外濾波器(在環(huán)路中或環(huán)路后)。為簡潔起見未展示此些濾波器,但必要時(shí),此些濾波器可對求和器50的輸出進(jìn)行濾波(作為環(huán)路中濾波器)。

在編碼過程期間,視頻編碼器20可接收待譯碼的視頻幀或切片。所述幀或切片可劃分成多個視頻塊。運(yùn)動估計(jì)單元42及運(yùn)動補(bǔ)償單元44可相對于一或多個參考幀中的一或多個塊對所接收視頻塊執(zhí)行幀間預(yù)測性譯碼以提供時(shí)間預(yù)測。幀內(nèi)預(yù)測單元46可替代地相對于與待譯碼塊相同的幀或切片中的一或多個相鄰塊對所接收視頻塊執(zhí)行幀內(nèi)預(yù)測性譯碼以提供空間預(yù)測。視頻編碼器20可執(zhí)行多個譯碼遍次(例如)以針對每一視頻數(shù)據(jù)塊選擇適當(dāng)?shù)淖g碼模式。

此外,分割單元48可基于對先前譯碼遍次中的先前分割方案的評估將視頻數(shù)據(jù)塊分割成子塊。舉例來說,分割單元48可首先將幀或切片分割成LCU,且基于率失真分析(例如,率失真優(yōu)化)將LCU中的每一者分割成子CU。模式選擇單元40可進(jìn)一步產(chǎn)生指示LCU分割成子CU的四叉樹數(shù)據(jù)結(jié)構(gòu)。四叉樹的葉節(jié)點(diǎn)CU可以包含一或多個PU及一或多個TU。

模式選擇單元40可(例如)基于誤差結(jié)果選擇幀內(nèi)或幀間譯碼模式中的一者,并且將所得經(jīng)幀內(nèi)或經(jīng)幀間譯碼塊提供到求和器50以產(chǎn)生殘余塊數(shù)據(jù),且提供到求和器62以重建用作參考幀的經(jīng)編碼塊。模式選擇單元40還可將語法元素(例如運(yùn)動向量、幀內(nèi)模式指示符、分割信息及其它這類語法信息)提供到熵編碼單元56。

運(yùn)動估計(jì)單元42及運(yùn)動補(bǔ)償單元44可高度集成,但出于概念性目的單獨(dú)地加以說明。由運(yùn)動估計(jì)單元42執(zhí)行的運(yùn)動估計(jì)是產(chǎn)生估計(jì)視頻塊的運(yùn)動的運(yùn)動向量的過程。舉例來說,運(yùn)動向量可指示當(dāng)前視頻幀或圖片內(nèi)的視頻塊的PU相對于參考幀(或其它經(jīng)譯碼單元)內(nèi)的預(yù)測性塊相對于當(dāng)前幀(或其它經(jīng)譯碼單元)內(nèi)正經(jīng)譯碼的當(dāng)前塊的位移。預(yù)測性塊是經(jīng)發(fā)現(xiàn)就像素差來說與待譯碼塊緊密匹配的塊,所述像素差可通過絕對差總和(SAD)、平方差總和(SSD)或其它差量度來確定。在一些實(shí)例中,視頻編碼器20可計(jì)算存儲在參考幀存儲器64中的參考圖片的子整數(shù)像素位置的值。舉例來說,視頻編碼器20可內(nèi)插參考圖片的四分之一像素位置、八分之一像素位置或其它分?jǐn)?shù)像素位置的值。因此,運(yùn)動估計(jì)單元42可相對于全像素位置及分?jǐn)?shù)像素位置執(zhí)行運(yùn)動搜索并且輸出具有分?jǐn)?shù)像素精度的運(yùn)動向量。

運(yùn)動估計(jì)單元42通過比較PU的位置與參考圖片的預(yù)測性塊的位置來計(jì)算經(jīng)幀間譯碼切片中的視頻塊的PU的運(yùn)動向量。參考圖片可選自第一參考圖片列表(列表0)或第二參考圖片列表(列表1),所述參考圖片列表中的每一者識別存儲在參考幀存儲器64中的一或多個參考圖片。運(yùn)動估計(jì)單元42將所計(jì)算的運(yùn)動向量發(fā)送到熵編碼單元56及運(yùn)動補(bǔ)償單元44。

運(yùn)動補(bǔ)償單元44執(zhí)行的運(yùn)動補(bǔ)償可涉及基于由運(yùn)動估計(jì)單元42確定的運(yùn)動向量來提取或產(chǎn)生預(yù)測性塊。此外,在一些實(shí)例中,運(yùn)動估計(jì)單元42及運(yùn)動補(bǔ)償單元44可在功能上集成。在接收到當(dāng)前視頻塊的PU的運(yùn)動向量后,運(yùn)動補(bǔ)償單元44即可在參考圖片列表中的一者中定位所述運(yùn)動向量所指向的預(yù)測性塊。求和器50可通過從經(jīng)譯碼的當(dāng)前視頻塊的像素值減去預(yù)測性塊的像素值從而形成像素差值來形成殘余視頻塊,如下文所論述。運(yùn)動估計(jì)單元42可相對于明度分量執(zhí)行運(yùn)動估計(jì),且運(yùn)動補(bǔ)償單元44可針對色度分量及明度分量兩者使用基于明度分量計(jì)算的運(yùn)動向量。模式選擇單元40還可產(chǎn)生與視頻塊及視頻切片相關(guān)聯(lián)的語法元素,以供視頻解碼器30在解碼視頻切片的視頻塊時(shí)使用。語法元素可表示處于視頻序列層級、視頻幀層級、視頻切片層級、視頻CU層級或視頻PU層級中的一或多者處的預(yù)測信息。舉例來說,運(yùn)動補(bǔ)償單元44可產(chǎn)生指示包含CU、PU及TU的大小的視頻塊信息及用于幀內(nèi)模式預(yù)測的運(yùn)動向量信息的語法元素。

如上文所述,在現(xiàn)代視頻編碼中(例如,在HEVC中),模式?jīng)Q定及運(yùn)動估計(jì)模塊(例如,分別由模式選擇單元40及運(yùn)動估計(jì)單元42執(zhí)行)已變得更復(fù)雜且為計(jì)算密集型。為了降低這個問題的影響,變換處理單元52可進(jìn)一步經(jīng)配置以執(zhí)行上文及下文關(guān)于降低視頻編碼器20檢測后臺內(nèi)容所需的復(fù)雜度及減少所需循環(huán)所描述的方法中的任一者,所述方法可進(jìn)一步簡化由模式選擇單元40及/或運(yùn)動估計(jì)單元42執(zhí)行的過程。

如下文進(jìn)一步描述,本發(fā)明中所描述的檢測后臺的方法可由編碼器20的任一單元執(zhí)行,包含(但不限于)變換處理單元52。在一個實(shí)施例中,變換處理單元52確定且利用當(dāng)前幀(或圖片)中的初始塊值與在時(shí)間上相鄰的幀(或圖片)中的塊值(例如,空間上位于相同位置的塊)之間的距離度量值,如下文相對于圖4進(jìn)一步描述。

作為實(shí)例,變換處理單元52可通過對64×64CU內(nèi)的所有8×8CU的SAD進(jìn)行求和來確定64×64CU的SAD。變換處理單元52可隨后比較64×64塊的SAD與后臺閾值,以確定64×64是否為后臺。在另一實(shí)施例中,變換處理單元52可經(jīng)進(jìn)一步配置以通過比較當(dāng)前塊與先前塊的距離度量值來自適應(yīng)地調(diào)整后臺閾值。如果變換處理單元52確定CU為后臺,那么視頻編碼器20可針對那個CU降低其模式?jīng)Q定及運(yùn)動估計(jì)的復(fù)雜度。以此方式,變換處理單元52、模式選擇單元40及/或運(yùn)動估計(jì)單元42可減少其計(jì)算時(shí)間且降低其計(jì)算復(fù)雜度,同時(shí)還維持視頻質(zhì)量。這個過程在圖4至5中進(jìn)一步加以描述及展現(xiàn)。

在上文所描述的實(shí)例中,變換處理單元52經(jīng)配置以在確定64×64CU為后臺之后降低其模式?jīng)Q定及運(yùn)動估計(jì)復(fù)雜度。在其它情況下,如果變換處理單元52并未確定64×64CU為后臺,那么所述變換處理單元可經(jīng)進(jìn)一步配置以識別64×64CU內(nèi)的子塊(例如,四個32×32子塊)并且確定每一子塊是否為后臺。此外,在一些情況下,變換處理單元52可經(jīng)配置以識別子塊內(nèi)的其它子塊(例如,每一32×32塊內(nèi)的四個16×16子塊、每一16×16塊內(nèi)的四個8×8子塊等)以識別后臺子塊,所述后臺子塊中的一些可具有與其它子塊不同大小。

如上文所描述,作為由運(yùn)動估計(jì)單元42及運(yùn)動補(bǔ)償單元44執(zhí)行的幀間預(yù)測的替代方案,幀內(nèi)預(yù)測單元46可幀內(nèi)預(yù)測或計(jì)算當(dāng)前塊。確切地說,幀內(nèi)預(yù)測單元46可以確定用以對當(dāng)前塊進(jìn)行編碼的幀內(nèi)預(yù)測模式。在一些實(shí)例中,幀內(nèi)預(yù)測單元46可(例如)在單獨(dú)編碼編次期間使用各種幀內(nèi)預(yù)測模式對當(dāng)前塊進(jìn)行編碼,且?guī)瑑?nèi)預(yù)測單元46(或在一些實(shí)例中為模式選擇單元40)可從經(jīng)測試模式中選擇適當(dāng)?shù)膸瑑?nèi)預(yù)測模式來使用。

舉例來說,幀內(nèi)預(yù)測單元46可使用率失真分析計(jì)算各種經(jīng)測試幀內(nèi)預(yù)測模式的率失真值,并且從所述經(jīng)測試模式當(dāng)中選擇具有最佳率失真特性的幀內(nèi)預(yù)測模式。率失真分析通常確定經(jīng)編碼塊與經(jīng)編碼以產(chǎn)生所述經(jīng)編碼塊的原始未經(jīng)編碼塊之間的失真(或誤差)的量,以及用于產(chǎn)生經(jīng)編碼塊的位速率(即,位數(shù)目)。幀內(nèi)預(yù)測單元46可根據(jù)各種經(jīng)編碼塊的失真及速率計(jì)算比率,以確定哪一幀內(nèi)預(yù)測模式對于所述塊展現(xiàn)最佳率失真值。

在選擇用于塊的幀內(nèi)預(yù)測模式之后,幀內(nèi)預(yù)測單元46可將指示用于所述塊的所選擇幀內(nèi)預(yù)測模式的信息提供到熵編碼單元56。熵編碼單元56可對指示所選擇幀內(nèi)預(yù)測模式的信息進(jìn)行編碼。視頻編碼器20可將配置數(shù)據(jù)包含在所發(fā)射位流中,所述配置數(shù)據(jù)可包含多個幀內(nèi)預(yù)測模式索引表及多個經(jīng)修改幀內(nèi)預(yù)測模式索引表(也被稱作碼字映射表)、用于各種塊的編碼上下文的定義,以及用于所述上下文中的每一者的最可能幀內(nèi)預(yù)測模式、幀內(nèi)預(yù)測模式索引表及經(jīng)修改幀內(nèi)預(yù)測模式索引表的指示。

視頻編碼器20通過從經(jīng)譯碼的原始視頻塊減去來自模式選擇單元40的預(yù)測數(shù)據(jù)而形成殘余視頻塊。求和器50可執(zhí)行此減法運(yùn)算。變換處理單元52可將變換(例如離散余弦變換(DCT)或概念上類似的變換)應(yīng)用于殘余塊,從而產(chǎn)生包括殘余變換系數(shù)值的視頻塊。變換處理單元52可執(zhí)行概念上類似于DCT的其它變換。也可使用小波變換、整數(shù)變換、子帶變換或其它類型的變換。變換處理單元52可隨后將變換應(yīng)用于殘余塊,從而產(chǎn)生殘余變換系數(shù)的塊。所述變換可將殘余信息從像素值域轉(zhuǎn)換到變換域,例如頻域。更確切地說,在應(yīng)用變換之前,TU可包括像素域中的殘余視頻數(shù)據(jù),并且在應(yīng)用變換之后,TU可包括表示頻域中的殘余視頻數(shù)據(jù)的變換系數(shù)。

常規(guī)地,視頻編碼器20保持用于所實(shí)施視頻壓縮標(biāo)準(zhǔn)支持的不同TU大小中的每一者的單獨(dú)上下文模型。對于HEVC標(biāo)準(zhǔn),可使用額外變換單元大小(例如,32×32到128×128)來提高視頻譯碼效率,但是額外TU大小也導(dǎo)致增加的存儲器及計(jì)算要求以保持用于額外變換單元大小中的每一者的上下文模型。在一些情況下,更大TU大小可使用更多上下文,所述上下文可導(dǎo)致增加的存儲器及計(jì)算要求以保持用于更大TU大小的增大數(shù)目個上下文。

變換單元52可以將所得變換系數(shù)發(fā)送到量化單元54。量化單元54可隨后量化變換系數(shù)以進(jìn)一步減小位速率。量化過程可減小與系數(shù)中的一些或全部相關(guān)聯(lián)的位深度??赏ㄟ^調(diào)整量化參數(shù)來修改量化的程度。在一些實(shí)例中,量化單元54可隨后執(zhí)行對包含經(jīng)量化變換系數(shù)的矩陣的掃描。替代地,熵編碼單元56可執(zhí)行所述掃描。

在量化之后,熵編碼單元56可對經(jīng)量化變換系數(shù)進(jìn)行熵譯碼。舉例來說,熵編碼單元56可執(zhí)行上下文自適應(yīng)可變長度譯碼(CAVLC)、上下文自適應(yīng)二進(jìn)制算術(shù)譯碼(CABAC)、基于語法的上下文自適應(yīng)二進(jìn)制算術(shù)譯碼(SBAC)、概率分割熵(PIPE)譯碼或另一熵編碼技術(shù)。在基于上下文的熵編碼的情況下,上下文可基于相鄰塊。在通過熵編碼單元56進(jìn)行熵編碼之后,可將經(jīng)編碼位流發(fā)射到另一裝置(例如,視頻解碼器30),或?qū)⒔?jīng)編碼位流存檔以供稍后發(fā)射或檢索。

逆量化單元58及逆變換單元60可分別應(yīng)用逆量化及逆變換以在像素域中重建殘余塊(例如)以供稍后用作參考塊。運(yùn)動補(bǔ)償單元44可通過將殘余塊添加到參考幀存儲器64的幀中的一者的預(yù)測性塊來計(jì)算參考塊。運(yùn)動補(bǔ)償單元44還可將一或多個內(nèi)插濾波器應(yīng)用于經(jīng)重建殘余塊以計(jì)算用于運(yùn)動估計(jì)的子整數(shù)像素值。求和器62可將經(jīng)重建殘余塊添加到由運(yùn)動補(bǔ)償單元44產(chǎn)生的經(jīng)運(yùn)動補(bǔ)償預(yù)測塊,以產(chǎn)生供存儲在參考幀存儲器64中的經(jīng)重建視頻塊。經(jīng)重建視頻塊可隨后由運(yùn)動估計(jì)單元42及運(yùn)動補(bǔ)償單元44用作參考塊以對后續(xù)視頻幀中的塊進(jìn)行幀間譯碼。

圖3是說明可實(shí)施根據(jù)本發(fā)明中所描述方面的技術(shù)的視頻解碼器的實(shí)例的框圖。本發(fā)明中描述的技術(shù)可利用視頻解碼器30的各種組件。在一些實(shí)例中,處理器(未展示)可經(jīng)配置以執(zhí)行所述技術(shù)中的任一者或全部。

在圖3的實(shí)例中,視頻解碼器30包含熵解碼單元70、預(yù)測單元81(其進(jìn)一步包含運(yùn)動補(bǔ)償單元72及幀內(nèi)預(yù)測單元74)、逆量化單元76、逆變換單元78、參考幀存儲器82及求和器80。視頻解碼器30可執(zhí)行通常與關(guān)于視頻編碼器20(例如,參見圖1及圖2)描述的編碼遍次互逆的解碼遍次。運(yùn)動補(bǔ)償單元72可基于從熵解碼單元70接收的運(yùn)動向量產(chǎn)生預(yù)測數(shù)據(jù),而幀內(nèi)預(yù)測單元74可基于從熵解碼單元70接收的幀內(nèi)預(yù)測模式指示符而產(chǎn)生預(yù)測數(shù)據(jù)。

常規(guī)地,視頻解碼器30將保持用于所實(shí)施視頻壓縮標(biāo)準(zhǔn)支持的不同TU大小中的每一者的單獨(dú)上下文模型。對于HEVC標(biāo)準(zhǔn),可利用額外變換單元大小(例如,32×32到128×128)來提高視頻譯碼效率,但是額外TU大小也導(dǎo)致增加的存儲器及計(jì)算要求以保持用于額外變換單元大小中的每一者的上下文模型。

在解碼過程期間,視頻解碼器30可從視頻編碼器20接收表示經(jīng)編碼視頻切片的視頻塊及相關(guān)聯(lián)語法元素的經(jīng)編碼視頻位流。視頻解碼器30的熵解碼單元70對所述位流進(jìn)行熵解碼,以產(chǎn)生經(jīng)量化系數(shù)、運(yùn)動向量或幀內(nèi)預(yù)測模式指示符,及其它語法元素。熵解碼單元70可隨后將運(yùn)動向量及其它語法元素轉(zhuǎn)遞到運(yùn)動補(bǔ)償單元72。視頻解碼器30可接收視頻切片層級及/或視頻塊層級處的語法元素。

當(dāng)視頻切片經(jīng)譯碼為經(jīng)幀內(nèi)譯碼(I)切片時(shí),幀內(nèi)預(yù)測單元74可基于所傳信的幀內(nèi)預(yù)測模式及來自當(dāng)前幀或圖片的先前經(jīng)解碼塊的數(shù)據(jù)產(chǎn)生當(dāng)前視頻切片的視頻塊的預(yù)測數(shù)據(jù)。當(dāng)視頻幀經(jīng)譯碼為經(jīng)幀間譯碼(例如,B、P或GPB)切片時(shí),運(yùn)動補(bǔ)償單元72可基于從熵解碼單元70接收的運(yùn)動向量及其它語法元素產(chǎn)生當(dāng)前視頻切片的視頻塊的預(yù)測性塊。預(yù)測性塊可以從參考圖片列表中的一者內(nèi)的參考圖片中的一者產(chǎn)生。視頻解碼器30可基于存儲在參考幀存儲器82中的參考圖片使用默認(rèn)建構(gòu)技術(shù)建構(gòu)參考幀列表,列表0及列表1。運(yùn)動補(bǔ)償單元72可通過剖析運(yùn)動向量及其它語法元素而確定用于當(dāng)前視頻切片的視頻塊的預(yù)測信息,并且使用所述預(yù)測信息產(chǎn)生正經(jīng)解碼的當(dāng)前視頻塊的預(yù)測性塊。舉例來說,運(yùn)動補(bǔ)償單元72可使用所接收語法元素中的一些確定用于對視頻切片的視頻塊進(jìn)行譯碼的預(yù)測模式(例如,幀內(nèi)預(yù)測或幀間預(yù)測)、幀間預(yù)測切片類型(例如,B切片、P切片或GPB切片)、切片的參考圖片列表中的一或多者的建構(gòu)信息、切片的每一經(jīng)幀間編碼視頻塊的運(yùn)動向量、切片的每一經(jīng)幀間譯碼視頻塊的幀間預(yù)測狀態(tài)及用于對當(dāng)前視頻切片中的視頻塊進(jìn)行解碼的其它信息。

運(yùn)動補(bǔ)償單元72還可基于內(nèi)插濾波器執(zhí)行內(nèi)插。運(yùn)動補(bǔ)償單元72可使用如視頻編碼器20在視頻塊的編碼期間使用的內(nèi)插濾波器來計(jì)算參考塊的子整數(shù)像素的經(jīng)內(nèi)插值。在這種情況下,運(yùn)動補(bǔ)償單元72可從所接收語法元素確定視頻編碼器20使用的內(nèi)插濾波器,并且使用所述內(nèi)插濾波器來產(chǎn)生預(yù)測性塊。

逆量化單元76可對在位流中提供且由熵解碼單元70解碼的經(jīng)量化變換系數(shù)進(jìn)行逆量化,例如解量化。逆量化過程可包含使用視頻解碼器30針對視頻切片中的每一視頻塊計(jì)算的量化參數(shù)QPY以確定應(yīng)應(yīng)用的量化程度,且類似地確定逆量化程度。

逆變換單元78可對變換系數(shù)應(yīng)用逆變換(例如,逆DCT、逆整數(shù)變換或概念上類似的逆變換過程),以便產(chǎn)生像素域中的殘余塊。在運(yùn)動補(bǔ)償單元72基于運(yùn)動向量及其它語法元素產(chǎn)生當(dāng)前視頻塊的預(yù)測性塊之后,視頻解碼器30可通過對來自逆變換單元78的殘余塊與由運(yùn)動補(bǔ)償單元72產(chǎn)生的對應(yīng)預(yù)測性塊進(jìn)行求和來形成經(jīng)解碼視頻塊。求和器80可執(zhí)行此求和運(yùn)算。還可應(yīng)用解塊濾波器以對經(jīng)解碼塊進(jìn)行濾波,以便移除成塊假象。其它環(huán)路濾波器(在譯碼環(huán)路中或在譯碼環(huán)路之后)也可用于使像素轉(zhuǎn)換平滑或以其它方式改善視頻質(zhì)量。給定幀或圖片中的經(jīng)解碼視頻塊可隨后存儲于參考圖片存儲器82中,所述參考圖片存儲器可存儲用于后續(xù)運(yùn)動補(bǔ)償?shù)膮⒖紙D片。參考幀存儲器82還可存儲經(jīng)解碼視頻以供稍后在顯示裝置(例如,圖1的顯示裝置32)上呈現(xiàn)。

圖4說明確定視頻塊或其子塊是否含有后臺內(nèi)容的方法400的流程圖??捎商幚砥骰蛞曨l編碼器(包含但不限于上文關(guān)于圖2所論述的視頻編碼器20)執(zhí)行方法400。在一些實(shí)施例中,由變換處理單元(例如(但不限于)圖2的變換處理單元52)執(zhí)行方法400。另外,盡管在由變換處理單元執(zhí)行的上下文內(nèi)描述方法400,但應(yīng)理解,這僅出于說明的目的且并不以任何方式限制本發(fā)明。

如上文所描述,通過將視頻塊或視頻塊的子塊識別為后臺區(qū)域,變換處理單元52可針對后臺塊降低模式?jīng)Q定過程(例如,由圖2的模式選擇單元40執(zhí)行的模式?jīng)Q定過程)及/或運(yùn)動估計(jì)過程(例如,由圖2的運(yùn)動估計(jì)單元42執(zhí)行的運(yùn)動估計(jì)過程)的復(fù)雜度。

首先,方法400在框405處開始。隨后,在框410處,變換處理單元52可識別初始視頻塊以便分析。在一個實(shí)施方案中,初始視頻塊可為64×64CU(或任何其它大小的塊)。

隨后,在框415處,變換處理單元52可確定視頻塊是否為后臺。為了實(shí)現(xiàn)此情形,如上文關(guān)于圖2所論述,變換處理單元52可確定及利用視頻塊的距離度量值,并且比較所述距離度量值與后臺閾值。距離度量值可提供對視頻塊內(nèi)的視頻信息從先前幀變?yōu)楫?dāng)前幀的程度的指示。舉例來說,如果視頻信息根本未改變或改變極少,那么距離度量值可為零或接近零。在一個實(shí)施例中,距離度量值可為絕對差總和(SAD),其可指示像素信息從一個幀到下一幀的改變。在一個實(shí)施例中,可通過對塊的個別較小CU(例如,其8×8CU)的SAD進(jìn)行求和來確定較大CU的SAD。在另一實(shí)施例中,距離度量值可為平方誤差的總和,其可進(jìn)一步指示像素信息從一個幀到下一幀的改變。距離度量值還可以基于像素信息從一個幀到下一幀的改變的任何其它指示。

為提高譯碼效率,變換處理單元52可對與視頻塊(例如,其8×8CU)的個別較小譯碼單元(CU)相關(guān)聯(lián)的距離度量單元(例如,SAD)進(jìn)行求和,且隨后比較所述總和與后臺閾值。如果距離度量值小于后臺閾值,那么變換處理單元52可將所述視頻塊分類為后臺。如果距離度量值大于或等于后臺閾值,那么變換處理單元52可將所述視頻塊分類為前臺(例如,不將所述視頻塊分類為后臺)。

在一個實(shí)例中,變換處理單元52可通過對64×64CU內(nèi)的所有8×8CU的SAD進(jìn)行求和來確定64×64CU的SAD。變換處理單元52可隨后比較所述SAD與后臺閾值,以確定64×64CU是否為后臺。在一個實(shí)施方案中,后臺閾值可為預(yù)定值。在另一實(shí)施例中,變換處理單元52可經(jīng)進(jìn)一步配置以通過比較當(dāng)前塊與先前塊的距離度量值而自適應(yīng)地調(diào)整后臺閾值,如關(guān)于圖5進(jìn)一步描述。

如果變換處理單元52確定視頻塊為后臺,那么視頻編碼器20可針對所述塊降低其模式?jīng)Q定及運(yùn)動估計(jì)的復(fù)雜度。舉例來說,運(yùn)動估計(jì)單元42可經(jīng)配置以針對后臺塊使用多種不同方式簡化運(yùn)動估計(jì)。舉例來說,運(yùn)動估計(jì)單元42可針對后臺塊搜索更小數(shù)目個參考幀。為了搜索更小數(shù)目個參考幀,運(yùn)動估計(jì)單元42可實(shí)施以下方法中的一或多者:(1)僅搜索參考幀0;(2)搜索先前幀的預(yù)定義更小范圍(例如,更小半徑)的幀;(3)使用僅預(yù)測子搜索;(4)條件性地跳過搜索半像素及/或四分之一像素;或(5)用于搜索更小數(shù)目個參考幀的任何其它方法。

在一個實(shí)施例中,當(dāng)運(yùn)動估計(jì)單元42使用僅預(yù)測子搜索以降低后臺塊的運(yùn)動估計(jì)的復(fù)雜度時(shí),運(yùn)動估計(jì)單元42可在搜索第一預(yù)測子(例如,空間及/或時(shí)間預(yù)測子)之后停止搜索細(xì)化。另一方面,對于前臺塊,運(yùn)動估計(jì)單元42可搜索相鄰塊運(yùn)動向量,分析其預(yù)測子結(jié)果以用于最佳匹配,隨后以此方式進(jìn)一步細(xì)化其搜索直到獲得足夠結(jié)果。

在一個實(shí)施例中,當(dāng)運(yùn)動估計(jì)單元42條件性地跳過搜索半像素及/或四分之一像素以降低后臺塊的運(yùn)動估計(jì)的復(fù)雜度時(shí),運(yùn)動估計(jì)單元42可從后臺塊的當(dāng)前幀中的相鄰塊產(chǎn)生運(yùn)動向量預(yù)測子。那些預(yù)測子可隨后用于來自先前幀的相同位置處的塊。隨后可應(yīng)用每一預(yù)測子來尋找最適當(dāng)?shù)臏y試塊且比較相同位置處的塊與當(dāng)前幀以確定哪一者最接近。另一方面,對于前臺塊,運(yùn)動估計(jì)單元42可首先將其中心點(diǎn)置于整數(shù)像素地點(diǎn)中心,隨后搜索多個(例如,九個)以線性方式內(nèi)插的半像素位置,且隨后進(jìn)一步利用對應(yīng)數(shù)目個以線性方式內(nèi)插的四分之一像素位置細(xì)化其搜索。

作為降低后臺塊的編碼復(fù)雜度的另一實(shí)例,如果變換處理單元52確定視頻塊為后臺,那么模式選擇單元40可經(jīng)配置以多種不同方式簡化模式?jīng)Q定。舉例來說,模式選擇單元40可跳過幀內(nèi)模式?jīng)Q定而前進(jìn)。作為另一實(shí)例,模式選擇單元40可針對后臺塊內(nèi)的更小塊更快速地識別CU大小及跳過模式?jīng)Q定。作為實(shí)例,如果確定32×32塊為后臺,那么模式選擇單元40可指示視頻編碼器20針對32×32塊內(nèi)小于32×32的任何塊跳過模式?jīng)Q定。作為另一實(shí)例,為了簡化模式?jīng)Q定,模式選擇單元40可測試更小數(shù)目個合并候選者。合并候選者可指搜索先前幀的各種塊以確定相鄰塊的運(yùn)動向量的模式?jīng)Q定過程。對于前臺視頻塊,此搜索及確定可出現(xiàn)五次或五次以上。對于后臺視頻塊,本發(fā)明中所描述的方法可僅執(zhí)行一個或兩個搜索及確定。

在任何情況下,如果在框415處,變換處理單元52確定視頻塊為后臺,那么方法400進(jìn)行到框490并且結(jié)束。然而,如果在框416處,變換處理單元52確定視頻塊不是后臺,那么方法400進(jìn)行到框420。在框420處,變換處理單元52可識別視頻塊內(nèi)的子塊且隨后確定每一子塊是否為后臺。

舉例來說,在上文所描述的64×64CU的情況下,變換處理單元52可識別64×64CU內(nèi)的子塊(例如,四個32×32子塊)并且使用如上文關(guān)于框415所描述的方法確定每一子塊是否為后臺。此外,為了提高譯碼效率,變換處理單元52可對視頻塊的個別較小譯碼單元(CU)(例如,組成子塊中的每一者的8×8CU)進(jìn)行求和,且隨后比較其總和與后臺閾值。對于每一個別子塊,如果距離度量值小于后臺閾值,那么變換處理單元52可將所述視頻子塊分類為后臺。如果距離度量值大于或等于后臺閾值,那么變換處理單元52可將所述視頻子塊分類為前臺。此外,視頻編碼器20可隨后針對其識別為后臺的子塊中的每一者降低其模式?jīng)Q定及運(yùn)動估計(jì)的復(fù)雜度,如上文關(guān)于框415所描述。

一旦變換處理單元52已識別哪些子塊為后臺,那么在框425處,變換處理單元52可確定是否已分析最小所需子塊。在一個實(shí)例中,最小所需子塊大小可為8×8。

如果變換處理單元52確定已分析最小所需子塊,那所述么方法在框490處結(jié)束。否則,如果變換處理單元52確定尚未分析最小所需子塊,那么方法400返回到框420以進(jìn)一步識別先前所識別前臺子塊內(nèi)的子塊且隨后使用如上文關(guān)于框415至420所描述的方法來確定新子塊中的每一者是否為后臺。

使用上述實(shí)例,如果在框420處,視頻編碼器20確定32×32子塊中的兩個為后臺且另外兩個為前臺,且如果框425處的最小所需子塊為8×8,那么所述方法將返回到框420。在那時(shí),視頻編碼器20將進(jìn)一步識別兩個32×32前臺子塊內(nèi)的子塊(例如,每一者內(nèi)的四個16×16子塊),且隨后繼續(xù)使用上文所描述的方法識別八個新子塊中的哪些為后臺。

在框490處到達(dá)方法的結(jié)尾后,視頻編碼器20可隨后根據(jù)下文關(guān)于圖5所描述的方法處理后續(xù)幀。

圖5說明自適應(yīng)地調(diào)整后臺閾值(例如,關(guān)于圖4論述的后臺閾值)以確定塊是否為后臺塊的方法500的流程圖??捎商幚砥骰蛞曨l編碼器(包含但不限于上文關(guān)于圖2所論述的視頻編碼器20)執(zhí)行方法500。在一些實(shí)施例中,由變換處理單元(例如(但不限于)圖2的變換處理單元52)執(zhí)行方法500。另外,盡管在由變換處理單元執(zhí)行的上下文內(nèi)描述方法500,但應(yīng)理解,這僅出于說明的目的且并不以任何方式限制本發(fā)明。

如上文所描述,可將后臺閾值與視頻塊的距離度量值(例如,SAD)相比較以確定所述視頻塊是否為后臺。在一些情況下,存儲先前塊(或“先前幀”)的距離度量值以自適應(yīng)地調(diào)整用于后續(xù)塊(或幀)分析的后臺閾值可提高譯碼效率。在其它情況下,后臺閾值可針對一些塊為固定或預(yù)定的,且針對其它塊為自適應(yīng)的。與使用固定閾值相比較,自適應(yīng)地更新后臺閾值可為不同類型的視頻內(nèi)容提供前臺區(qū)域與后臺區(qū)域的更好分類,此情形可降低編碼復(fù)雜度且提高譯碼效率。

方法500開始于框505處。在框510處,變換處理單元52可從先前幀(或先前塊)識別后臺塊。在一個實(shí)施方案中,先前幀可為變換處理單元52針對后臺內(nèi)容所分析的幀(或塊),且后臺塊可為變換處理單元52在關(guān)于圖4所描述的方法期間識別為后臺的那些塊。

隨后在框515處,變換處理單元52可使用所識別后臺塊確定經(jīng)調(diào)整后臺閾值(或當(dāng)前閾值)。如果在先前幀中未識別到后臺塊(例如,將所有塊分類為前臺),那么變換處理單元52可保持后臺閾值相同且在框590處結(jié)束所述方法。在那種情況下,視頻編碼器20可通過使用原始后臺閾值根據(jù)圖4中所描述的方法分析當(dāng)前幀而繼續(xù)。

在一或多個塊已被分類為后臺的情況下,變換處理單元52可確定先前幀內(nèi)的運(yùn)動向量的分類。如果運(yùn)動向量屬于某一分類(例如,全局運(yùn)動向量或零運(yùn)動向量),那么變換處理單元52可根據(jù)先前幀的塊的一或多個距離度量值調(diào)整后臺閾值。全局運(yùn)動向量可指具有全部在同一方向上一起移動但不在其它方面改變的塊的視頻幀(例如,跨靜態(tài)場景平移的相機(jī))。零運(yùn)動向量可指正好或幾乎正好為先前幀的視頻幀,例如,視頻是靜止的。為了計(jì)算當(dāng)前幀與先前幀之間的距離度量值,可應(yīng)用空間偏移值,所述空間偏移值可基于運(yùn)動向量的特定分類(例如,全局運(yùn)動向量或零運(yùn)動向量)。變換處理單元52可隨后繼續(xù)使用經(jīng)調(diào)整后臺閾值根據(jù)圖4中所描述的方法分析當(dāng)前幀。

在一個實(shí)施例中,可通過將先前幀視作原始像素或參考像素來計(jì)算距離度量值。在將先前幀視作原始像素的情況下,存儲器需求可增加。為了減少存儲器需求,替代地將先前幀視作參考像素有時(shí)是有利的。然而,參考像素方法要求系統(tǒng)將量化參數(shù)(QP)考慮在內(nèi)。在一個實(shí)施例中,視頻編碼器20可設(shè)定QP。由于一些距離度量值(例如,SAD)取決于QP而極大地改變(例如,如果QP較高,那么經(jīng)重建幀質(zhì)量可較低),將先前幀的經(jīng)重建像素存儲于參考幀緩沖器中可為有利的。

在一個實(shí)施例中,用于調(diào)整后臺閾值的距離度量值可為先前幀的歸一化SAD。歸一化值可補(bǔ)償任何QP因數(shù),如上文所描述。作為實(shí)例,視頻編碼器20可定義兩個變數(shù)Summetric及Sumscale,以分別表示SAD值的總和及SAD值的歸一化總和。Summetric及Sumscale可在幀的開始處經(jīng)初始化為零。如上文所解釋,如果運(yùn)動向量以某些方式被分類為等于先前幀與當(dāng)前幀之間的空間偏移(例如,全局運(yùn)動或是零運(yùn)動),那么可使用先前幀的度量值根據(jù)下方的方程組更新Summetric及Sumscale(例如,自適應(yīng)地更新后臺閾值)。盡管方程(1)至方程(6)中的每一者表示64×64的實(shí)例原始N×N視頻塊大小,但N也可更大或更小。

新Summetric=Summetric+MetNxN,其中MetNxN表示整個視頻塊的度量值(例如,SAD)(1)

新其中N表示N×N視頻塊的長度或?qū)挾?2)

也可根據(jù)以下替代方程組更新Summetric及Sumscale。

新Sumscale=Sumscale+1(4)

在幀的末尾處,可根據(jù)以下方程組更新新的后臺閾值(ThNxN)。

其中Th64x64表示64×64視頻塊的原始后臺閾值(5)

<mrow> <msub> <mi>Th</mi> <mrow> <mi>N</mi> <mi>x</mi> <mi>N</mi> </mrow> </msub> <mo>=</mo> <mfrac> <mrow> <msub> <mi>Th</mi> <mrow> <mn>64</mn> <mi>x</mi> <mn>64</mn> </mrow> </msub> </mrow> <msup> <mrow> <mo>(</mo> <mfrac> <mn>64</mn> <mi>N</mi> </mfrac> <mo>)</mo> </mrow> <mn>2</mn> </msup> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>6</mn> <mo>)</mo> </mrow> </mrow>

作為實(shí)例,如果變換處理單元52確定先前幀是使用具有上文所描述的運(yùn)動向量分類中的一者的圖片間預(yù)測來編碼的,那么可存儲先前幀的距離度量值(例如,其SAD)并且在所述幀的末尾處根據(jù)如上文所述的方程將其歸一化為整個塊的這個值可隨后成為下一幀的后臺閾值。在一個實(shí)施例中,此過程可出現(xiàn)在每一幀,從而自適應(yīng)地更新每一連續(xù)幀的閾限。

應(yīng)認(rèn)識到,取決于實(shí)例,本文中所描述的技術(shù)中的任一者的某些動作或事件可以不同序列執(zhí)行、可添加、合并或完全省略(例如,并非所有所描述動作或事件必要于實(shí)踐所述技術(shù))。此外,在某些實(shí)例中,可例如通過多線程處理、中斷處理或多個處理器同時(shí)而非循序地執(zhí)行動作或事件。

在一或多個實(shí)例中,所描述功能可以硬件、軟件、固件或其任何組合來實(shí)施。如果以軟件實(shí)施,那么所述功能可作為一或多個指令或代碼在計(jì)算機(jī)可讀媒體上存儲或發(fā)射,且由基于硬件的處理單元執(zhí)行。計(jì)算機(jī)可讀媒體可包含計(jì)算機(jī)可讀存儲媒體,所述計(jì)算機(jī)可讀存儲媒體對應(yīng)于例如數(shù)據(jù)存儲媒體的有形媒體,或包含例如根據(jù)通信協(xié)議促進(jìn)計(jì)算機(jī)程序從一位置傳送到另一位置的任何媒體的通信媒體。以此方式,計(jì)算機(jī)可讀媒體通常可對應(yīng)于(1)有形計(jì)算機(jī)可讀存儲媒體,其為非暫時(shí)性的,或(2)通信媒體,例如信號或載波。數(shù)據(jù)存儲媒體可為可由一或多個計(jì)算機(jī)或一或多個處理器接入以檢索用于實(shí)施本發(fā)明中所描述技術(shù)的指令、代碼及/或數(shù)據(jù)結(jié)構(gòu)的任何可用媒體。計(jì)算機(jī)程序產(chǎn)品可包含計(jì)算機(jī)可讀媒體。

借助于實(shí)例而非限制,這類計(jì)算機(jī)可讀存儲媒體可包括RAM、ROM、EEPROM、CD-ROM或其它光盤存儲裝置、磁盤存儲裝置或其它磁性存儲裝置、快閃存儲器或可用于存儲呈指令或數(shù)據(jù)結(jié)構(gòu)形式的所要程序代碼且可由計(jì)算機(jī)接入的任何其它媒體。并且,將任何連接恰當(dāng)?shù)胤Q為計(jì)算機(jī)可讀媒體。舉例來說,如果使用同軸電纜、光纜、雙絞線、數(shù)字用戶線(DSL)或例如紅外線、無線電及微波的無線技術(shù)從網(wǎng)站、服務(wù)器或其它遠(yuǎn)程源發(fā)射指令,那么同軸電纜、光纜、雙絞線、DSL或例如紅外線、無線電及微波的無線技術(shù)包含在媒體的定義中。然而,應(yīng)理解,計(jì)算機(jī)可讀存儲媒體及數(shù)據(jù)存儲媒體并不包含連接、載波、信號或其它暫時(shí)性媒體,而是實(shí)際上針對非暫時(shí)性的有形存儲媒體。如本文中所使用,磁盤及光盤包含壓縮光盤(CD)、激光光盤、光學(xué)光盤、數(shù)字多功能光盤(DVD)、軟性磁盤及藍(lán)光(Blu-ray)光盤,其中磁盤通常以磁性方式再生數(shù)據(jù),而光盤用激光器以光學(xué)方式再生數(shù)據(jù)。以上各者的組合也應(yīng)包含在計(jì)算機(jī)可讀媒體的范圍內(nèi)。

指令可由一或多個處理器執(zhí)行,所述一或多個處理器例如一或多個數(shù)字信號處理器(DSP)、通用微處理器、專用集成電路(ASIC)、現(xiàn)場可編程邏輯陣列(FPGA)或其它等效的集成或離散邏輯電路。因此,如本文中所使用的術(shù)語“處理器”可指前述結(jié)構(gòu)或適合于實(shí)施本文中所描述技術(shù)的任何其它結(jié)構(gòu)中的任一者。另外,在一些方面中,本文中所描述的功能性可提供于經(jīng)配置用于編碼及解碼的專用硬件及/或軟件模塊內(nèi),或并入于組合式編解碼器中。并且,所述技術(shù)可完全實(shí)施于一或多個電路或邏輯元件中。

本發(fā)明的技術(shù)可在廣泛多種裝置或設(shè)備中實(shí)施,包含無線手持機(jī)、集成電路(IC)或一組IC(例如,芯片組)。本發(fā)明中描述各種組件、模塊或單元以強(qiáng)調(diào)經(jīng)配置以執(zhí)行所公開技術(shù)的裝置的功能性方面,但未必需要由不同硬件單元實(shí)現(xiàn)。實(shí)際上,如上文所描述,各種單元可結(jié)合合適的軟件及/或固件組合在編解碼器硬件單元中,或者由互操作硬件單元的集合來提供,所述硬件單元包含如上文所描述的一或多個處理器。

已描述各種實(shí)例。這些及其它實(shí)例在以下權(quán)利要求書的范圍內(nèi)。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
泾阳县| 嵩明县| 措美县| 清水县| 淮南市| 宝鸡市| 于田县| 吉水县| 灵寿县| 广宁县| 乐都县| 赞皇县| 宜兰县| 清新县| 兰溪市| 漳平市| 夏津县| 新巴尔虎左旗| 灌云县| 故城县| 那曲县| 平果县| 清水河县| 邢台市| 陆河县| 莫力| 手游| 墨江| 乐清市| 金溪县| 莆田市| 东方市| 漯河市| 淅川县| 共和县| 安达市| 阜新| 平阳县| 杭州市| 黑龙江省| 贞丰县|