用于視頻譯碼的變換系數(shù)的譯碼的制作方法
【專利摘要】本發(fā)明描述用于對在視頻譯碼過程中與殘余視頻數(shù)據(jù)塊相關聯(lián)的變換系數(shù)進行譯碼的技術。本發(fā)明的各方面包含選擇用于有效性圖譯碼及層級譯碼兩者的掃描次序,以及選擇與所述選定掃描次序一致的熵譯碼的上下文。本發(fā)明提出對所述掃描次序進行協(xié)調(diào)以對所述變換系數(shù)的所述有效性圖進行譯碼以及對所述變換系數(shù)的所述層級進行譯碼。提出用于所述有效性圖的所述掃描次序應在逆方向上(即,從較高頻率到較低頻率)。本發(fā)明還提出以子集而不是固定子塊來掃描變換系數(shù)。明確地說,根據(jù)所述掃描次序以由許多連續(xù)系數(shù)組成的子集來掃描變換系數(shù)。
【專利說明】用于視頻譯碼的變換系數(shù)的譯碼
[0001]本申請案主張2011年3月8日申請的第61 / 450, 555號美國臨時申請案、2011年3月10日申請的第61 / 451,485號美國臨時申請案、2011年3月10日申請的第61 /451,496號美國臨時申請案、2011年3月14日申請的第61 / 452,384號美國臨時申請案、2011年6月8日申請的第61 / 494,855號美國臨時申請案及2011年6月15日申請的第61 / 497,345號美國臨時申請案的權益,這些申請案中的每一者以全文引用的方式并入本文中。
【技術領域】
[0002]本發(fā)明涉及視頻譯碼,且更明確地說涉及用于對通過視頻譯碼過程產(chǎn)生的變換系數(shù)進行掃描及譯碼的技術。
【背景技術】
[0003]數(shù)字視頻能力可并入到廣泛范圍的裝置中,包含數(shù)字電視、數(shù)字直播系統(tǒng)、無線廣播系統(tǒng)、個人數(shù)字助理(PDA)、膝上型或桌上型計算機、數(shù)碼相機、數(shù)字記錄裝置、數(shù)字媒體播放器、視頻游戲裝置、視頻游戲控制臺、蜂窩式或衛(wèi)星無線電電話、視頻電話會議裝置及類似裝置。數(shù)字視頻裝置實施視頻壓縮技術,例如通過MPEG-2、MPEG-4、ITU-T H.263,ITU-TH.264 / MPEG-4第10部分、高級視頻譯碼(AVC)、目前正在開發(fā)的高效率視頻譯碼(HEVC)標準及此類標準的擴展部分定義的標準中描述的技術,以便更有效率地發(fā)射、接收及存儲數(shù)字視頻信息。
[0004]視頻壓縮技術包含空間預測及/或時間預測,以減少或移除視頻序列中所固有的冗余。對于基于塊的視頻譯碼,一視頻幀或切片可以分割成塊。每一塊可被進一步分割。使用相對于相同幀或切片中的相鄰塊中的參考樣本的空間預測對經(jīng)幀內(nèi)譯碼(I)幀或切片中的塊進行編碼。經(jīng)幀間譯碼(P或B)幀或切片中的塊可使用相對于相同幀或切片中的相鄰塊中的參考樣本的空間預測,或相對于其它參考幀中的參考樣本的時間預測??臻g或時間預測產(chǎn)生用于待譯碼塊的預測性塊。殘余數(shù)據(jù)表示待譯碼原始塊與預測性塊之間的像素差。
[0005]經(jīng)幀間譯碼塊是根據(jù)指向形成預測性塊的參考樣本塊的運動向量及指示經(jīng)譯碼塊與預測性塊之間的差的殘余數(shù)據(jù)而被編碼。經(jīng)幀內(nèi)譯碼塊是根據(jù)幀內(nèi)譯碼模式及殘余數(shù)據(jù)而被編碼。為了進一步壓縮,可以將殘余數(shù)據(jù)從像素域變換到變換域,從而產(chǎn)生殘余變換系數(shù),接著可以對殘余變換系數(shù)進行量化。可以特定次序掃描起初布置在二維陣列中的經(jīng)量化變換系數(shù)以產(chǎn)生變換系數(shù)的一維向量用于熵譯碼。
【發(fā)明內(nèi)容】
[0006]總的來說,本發(fā)明描述用于對在視頻譯碼過程中與殘余視頻數(shù)據(jù)塊相關聯(lián)的變換系數(shù)進行譯碼的裝置及方法。本發(fā)明中描述的技術、結構及方法可適用于使用熵譯碼(例如,上下文自適應二進制算術譯碼(CABAC))對變換系數(shù)進行譯碼的視頻譯碼過程。本發(fā)明的各方面包含選擇用于有效性圖譯碼以及層級及正負號譯碼兩者的掃描次序,以及選擇與選定掃描次序一致的熵譯碼的上下文。本發(fā)明的技術、結構及方法可適用于在視頻編碼器及視頻解碼器兩者使用。
[0007]本發(fā)明提出對變換系數(shù)的有效性圖進行譯碼以及對變換系數(shù)的層級進行譯碼的掃描次序的協(xié)調(diào)。也就是說,在一些實例中,用于有效性圖及層級譯碼的掃描次序應具有相同模式及方向。在另一實例中,提出用于有效性圖的掃描次序應在逆方向上(即,從較高頻率的系數(shù)到較低頻率的系數(shù))。在又一實例中,提出用于有效性圖及層級譯碼的掃描次序應經(jīng)過協(xié)調(diào),從而使得每一者在逆方向上進行。
[0008]本發(fā)明還提出,在一些實例中,在子集中掃描變換系數(shù)。明確地說,根據(jù)掃描次序在由多個連續(xù)系數(shù)組成的子集中掃描變換系數(shù)。這些子集可適用于有效性圖掃描以及系數(shù)層級掃描兩者。
[0009]此外,本發(fā)明提出,在一些實例中,以連續(xù)掃描且根據(jù)相同掃描次序執(zhí)行有效性圖及系數(shù)層級掃描。在一個方面中,所述掃描次序是逆掃描次序。連續(xù)掃描可以由若干掃描回合組成。每一掃描回合可以由一語法元素掃描回合組成。舉例來說,第一掃描是有效性圖掃描(也稱為變換系數(shù)的層級的二進位O),第二掃描是對每一子集中的變換系數(shù)的層級的二進位I的掃描,第三掃描可以是對每一子集中的變換系數(shù)的層級的二進位2的掃描,第四掃描是對變換系數(shù)的層級的其余二進位的掃描,并且第五掃描是對變換系數(shù)的層級的正負號的掃描。所述正負號回合可能在有效性圖回合之后的任何點處。此外,通過每個回合譯碼一種以上語法元素可以減少掃描回合的數(shù)目。舉例來說,一個掃描回合用于使用經(jīng)譯碼二進位的語法元素,且第二掃描回合用于使用旁路二進位(例如,其余的層級及正負號)的語法元素。在此上下文中,二進位是經(jīng)熵譯碼的二進位串的一部分。將給定非二進制值的語法元素映射到二進制序列(所謂的二進位串)。
[0010]本發(fā)明還提出,在一些實例中,在兩個不同上下文區(qū)域中使用CABAC對變換系數(shù)進行熵譯碼。第一上下文區(qū)域的上下文推導取決于變換系數(shù)的位置,而第二區(qū)域的上下文推導取決于變換系數(shù)的因果相鄰者。在另一實例中,第二上下文區(qū)域可使用兩個不同上下文模型,這取決于變換系數(shù)的位置。
[0011]在本發(fā)明的一個實例中,提出對在視頻譯碼過程中與殘余視頻數(shù)據(jù)相關聯(lián)的多個變換系數(shù)進行譯碼的方法。所述方法包括根據(jù)掃描次序對指示所述多個變換系數(shù)的有效系數(shù)的信息進行譯碼;將所述經(jīng)譯碼信息劃分成至少第一區(qū)域及第二區(qū)域;根據(jù)使用上下文推導準則的第一上下文集合對所述第一區(qū)域中的所述經(jīng)譯碼信息進行熵譯碼;以及根據(jù)使用與所述第一區(qū)域相同的上下文推導準則的第二上下文集合對所述第二區(qū)域中的所述經(jīng)譯碼信息進行熵譯碼。
[0012]在本發(fā)明的另一實例中,提出一種經(jīng)配置以對在視頻譯碼過程中與殘余視頻數(shù)據(jù)相關聯(lián)的多個變換系數(shù)進行譯碼的設備。所述設備包括視頻譯碼單元,所述視頻譯碼單元經(jīng)配置以根據(jù)掃描次序對指示所述多個變換系數(shù)的有效系數(shù)的信息進行譯碼;將所述經(jīng)譯碼信息劃分成至少第一區(qū)域及第二區(qū)域;根據(jù)使用上下文推導準則的第一上下文集合對所述第一區(qū)域中的所述經(jīng)譯碼信息進行熵譯碼;以及根據(jù)使用與所述第一區(qū)域相同的上下文推導準則的第二上下文集合對所述第二區(qū)域中的所述經(jīng)譯碼信息進行熵譯碼。
[0013]在本發(fā)明的另一實例中,提出一種經(jīng)配置以對在視頻譯碼過程中與殘余視頻數(shù)據(jù)相關聯(lián)的多個變換系數(shù)進行譯碼的設備。所述設備包括用于根據(jù)掃描次序對指示所述多個變換系數(shù)的有效系數(shù)的信息進行譯碼的裝置;用于將所述經(jīng)譯碼信息劃分成至少第一區(qū)域及第二區(qū)域的裝置;用于根據(jù)使用上下文推導準則的第一上下文集合對所述第一區(qū)域中的所述經(jīng)譯碼信息進行熵譯碼的裝置;以及用于根據(jù)使用與所述第一區(qū)域相同的上下文推導準則的第二上下文集合對所述第二區(qū)域中的所述經(jīng)譯碼信息進行熵譯碼的裝置。
[0014]在本發(fā)明的另一實例中,一種計算機程序產(chǎn)品包括上面存儲有指令的計算機可讀存儲媒體,所述指令在執(zhí)行時致使用于對在視頻譯碼過程中與殘余視頻數(shù)據(jù)相關聯(lián)的多個變換系數(shù)進行譯碼的裝置的處理器進行以下操作:根據(jù)掃描次序對指示所述多個變換系數(shù)的有效系數(shù)的信息進行譯碼;將所述經(jīng)譯碼信息劃分成至少第一區(qū)域及第二區(qū)域;根據(jù)使用上下文推導準則的第一上下文對所述第一區(qū)域中的所述經(jīng)譯碼信息進行熵譯碼;以及根據(jù)使用與所述第一區(qū)域相同的上下文推導準則的第二上下文對所述第二區(qū)域中的所述經(jīng)譯碼信息進行熵譯碼。
[0015]一個或一個以上實例的細節(jié)陳述于附圖及以下描述中。其它特征、目標及優(yōu)勢將從描述及附圖及從權利要求書中顯而易見。
【專利附圖】
【附圖說明】
[0016]圖1是圖解說明有效性圖譯碼過程的概念圖。
[0017]圖2是圖解說明用于有效性圖譯碼的掃描模式及方向的概念圖。
[0018]圖3是圖解說明用于變換單元的層級譯碼的掃描技術的概念圖。
[0019]圖4是圖解說明實例視頻譯碼系統(tǒng)的框圖。
[0020]圖5是圖解說明實例視頻編碼器的框圖。
[0021]圖6是圖解說明用于有效性圖及系數(shù)層級譯碼的逆掃描次序的概念圖。
[0022]圖7是圖解說明根據(jù)逆對角線掃描次序的變換系數(shù)的第一子集的概念圖。
[0023]圖8是圖解說明根據(jù)逆水平掃描次序的變換系數(shù)的第一子集的概念圖。
[0024]圖9是圖解說明根據(jù)逆垂直掃描次序的變換系數(shù)的第一子集的概念圖。
[0025]圖10是圖解說明用于有效性圖譯碼的上下文區(qū)域的概念圖。
[0026]圖11是圖解說明用于使用逆掃描次序的有效性圖譯碼的實例上下文區(qū)域的概念圖。
[0027]圖12是圖解說明用于使用正向掃描次序的熵譯碼的實例因果相鄰者的概念圖。
[0028]圖13是圖解說明用于使用逆掃描次序的熵譯碼的實例因果相鄰者的概念圖。
[0029]圖14是圖解說明用于使用逆掃描次序的熵譯碼的實例上下文區(qū)域的概念圖。
[0030]圖15是圖解說明用于使用逆掃描次序的熵譯碼的實例因果相鄰者的概念圖。
[0031]圖16是圖解說明用于使用逆掃描次序的CABAC的上下文區(qū)域的另一實例的概念圖。
[0032]圖17是圖解說明用于使用逆掃描次序的CABAC的上下文區(qū)域的另一實例的概念圖。
[0033]圖18是圖解說明用于使用逆掃描次序的CABAC的上下文區(qū)域的另一實例的概念圖。
[0034]圖19是圖解說明實例熵譯碼單元的框圖。[0035]圖20是圖解說明實例視頻解碼器的框圖。
[0036]圖21是圖解說明實例熵解碼單元的框圖。
[0037]圖22是圖解說明用于使用經(jīng)協(xié)調(diào)掃描次序的有效性圖及系數(shù)層級掃描的實例過程的流程圖。
[0038]圖23是圖解說明用于有效性圖及系數(shù)層級掃描及熵譯碼上下文推導的實例過程的流程圖。
[0039]圖24是圖解說明用于有效性圖及系數(shù)層級掃描及熵譯碼上下文推導的另一實例過程的流程圖。
[0040]圖25是圖解說明用于有效性圖及系數(shù)層級掃描及熵譯碼上下文推導的另一實例過程的流程圖。
[0041]圖26是圖解說明用于使用逆掃描方向的有效性圖譯碼的實例過程的流程圖。
[0042]圖27是圖解說明用于根據(jù)變換系數(shù)子集的有效性圖及系數(shù)層級掃描的實例過程的流程圖。
[0043]圖28是圖解說明用于根據(jù)變換系數(shù)子集的有效性圖及系數(shù)層級掃描的另一實例過程的流程圖。
[0044]圖29是圖解說明用于根據(jù)變換系數(shù)子集的有效性圖及系數(shù)層級掃描的另一實例過程的流程圖。
[0045]圖30是圖解說明用于使用多個區(qū)域的熵譯碼的實例過程的流程圖。
【具體實施方式】
[0046]數(shù)字視頻裝置實施視頻壓縮技術以更有效率地發(fā)射及接收數(shù)字視頻信息。視頻壓縮可以應用空間(幀內(nèi))預測及/或時間(幀間)預測技術來減少或移除視頻序列中固有的冗余。
[0047]作為一個實例,對于根據(jù)視頻譯碼聯(lián)合協(xié)作組(JCT-VC)當前正在開發(fā)的高效率視頻譯碼(HEVC)標準的視頻譯碼,可以將視頻幀分割成譯碼單元。譯碼單元一股是指充當基本單元的圖像區(qū)域,各種譯碼工具被應用于所述基本單元以進行視頻壓縮。譯碼單元通常是正方形的(但不必如此),并且可以被認為是類似于所謂的宏塊,例如,根據(jù)例如ITU-H.264等其它視頻譯碼標準。在本申請案中出于說明的目的將描述根據(jù)正在開發(fā)的HEVC標準的一些目前所提出的方面的譯碼。然而,本發(fā)明中描述的技術可以用于其它視頻譯碼過程,例如根據(jù)H.264或其它標準定義的視頻譯碼過程或專有視頻譯碼過程。
[0048]為了實現(xiàn)合意的譯碼效率,譯碼單元(CU)可以具有取決于視頻內(nèi)容的可變大小。另外,譯碼單元可以分裂成較小塊用于進行預測或變換。明確地說,每一譯碼單元可以進一步被分割成預測單元(PU)及變換單元(TU)。預測單元可以被認為是類似于根據(jù)例如H.264標準等其它視頻譯碼標準的所謂的分區(qū)。變換單元(TU) —股是指殘余數(shù)據(jù)塊,變換被應用于所述殘余數(shù)據(jù)塊以產(chǎn)生變換系數(shù)。
[0049]譯碼單元通常具有一個亮度分量(表示為Y)及兩個色度分量(表示為U及V)。取決于視頻取樣格式,就樣本數(shù)目而言,U及V分量的大小可以與Y分量的大小相同或不同。
[0050]為了對塊(例如,視頻數(shù)據(jù)的預測單元)進行譯碼,首先推導用于所述塊的預測符。所述預測符(還稱為預測性塊)可以通過幀內(nèi)(I)預測(即,空間預測)或幀間(P或B)預測(即,時間預測)來推導。因此,可以使用相對于相同幀(或切片)中的相鄰參考塊中的參考樣本的空間預測對一些預測單元進行幀內(nèi)譯碼(I),并且可以相對于其它先前經(jīng)譯碼幀(或切片)中的參考樣本塊對其它預測單元進行單向幀間譯碼(P)或雙向幀間譯碼(B)。在每一情況下,參考樣本均可用于形成用于待譯碼塊的預測性塊。
[0051]在識別出預測性塊后,即刻確定原始視頻數(shù)據(jù)塊與其預測性塊之間的差。這個差可被稱為預測殘余數(shù)據(jù),并且指示所述塊中的像素值與被選擇為表示經(jīng)譯碼塊的預測性塊中的經(jīng)譯碼及像素值之間的像素差。為了實現(xiàn)更好的壓縮,可以例如使用離散余弦變換(DCT)、整數(shù)變換、卡忽南-拉維(K-L)變換或另一變換對預測殘余數(shù)據(jù)進行變換。
[0052]變換塊(例如TU)中的殘余數(shù)據(jù)可以布置在駐存在空間像素域中的像素差值的二維(2D)陣列中。變換將殘余像素值轉換成變換域(例如頻域)中的變換系數(shù)的二維陣列。為了進一步壓縮,可以在熵譯碼之前對變換系數(shù)進行量化。熵譯碼器接著對經(jīng)量化變換系數(shù)應用熵譯碼,例如上下文自適應可變長度譯碼(CAVLC)、上下文自適應二進制算術譯碼(CABAC)、概率區(qū)間分割熵譯碼(PIPE)等。
[0053]為了對經(jīng)量化變換系數(shù)塊進行熵譯碼,通常執(zhí)行掃描過程,以便在經(jīng)排序的一維(ID)陣列(即,變換系數(shù)的向量)中根據(jù)特定掃描次序來處理塊中的經(jīng)量化變換系數(shù)的二維(2D)陣列。用變換系數(shù)的1-D次序應用熵譯碼。對變換單元中的經(jīng)量化變換系數(shù)的掃描將熵譯碼器的變換系數(shù)的2D陣列串行化??梢援a(chǎn)生有效性圖以指示有效(即,非零)系數(shù)的位置??梢詰脪呙枰話呙栌行?即,非零)系數(shù)的層級及/或對有效系數(shù)的正負號進行譯碼。
[0054]作為一實例,對于DCT,朝向2D變換單元的左上角(即,低頻區(qū)域)的非零系數(shù)的概率常常更高??赡苄枰迷黾訉⒎橇阆禂?shù)在系數(shù)的串行化行程的一端處分組在一起的概率的方式掃描所述系數(shù),從而準許朝向串行化向量的另一端將零值系數(shù)分組在一起,并且將零值系數(shù)更有效率地譯碼成零行程。因為這個原因,掃描次序對于有效熵譯碼來說可能
較重要。
[0055]作為一個實例,在HEVC標準中已采用所謂的對角線(或波前)掃描次序來用于掃描經(jīng)量化的變換系數(shù)。替代地,可以使用z字形、水平、垂直或其它掃描次序。如上文所提及,對于變換是DCT的實例,通過變換及量化,非零變換系數(shù)一股位于朝向塊的左上方區(qū)域的低頻區(qū)域處。因此,在對角線掃描過程(所述過程可能首先橫越左上方區(qū)域)之后,非零變換系數(shù)通常更可能位于掃描的前面部分中。對于首先從右下方區(qū)域橫越的對角線掃描過程,非零變換系數(shù)通常更有可能位于掃描的后面部分中。
[0056]多個零系數(shù)通常將在掃描的一端處被分組在一起(這取決于掃描方向),這是因為在較高頻率下能量減少,并且是因為量化的影響,量化可能致使一些非零系數(shù)在位深度減小后即刻變?yōu)榱阒迪禂?shù)。在熵譯碼器設計中可以利用串行化ID陣列中的系數(shù)分布的這些特性來改進譯碼效率。換句話說,如果非零系數(shù)可以通過某種適當?shù)膾呙璐涡蚨行Р贾迷贗D陣列的一個部分中,那么歸因于許多熵譯碼器的設計,可以預期更好的譯碼效率。
[0057]為了實現(xiàn)將更多非零系數(shù)放置在ID陣列的一端處的這個目標,可以在視頻編碼器-解碼器(編解碼器)中使用不同掃描次序來對變換系數(shù)進行譯碼。在一些情況下,對角線掃描可能是有效的。在其它情況下,例如z字形、垂直或水平掃描等不同類型的掃描可能更加有效。[0058]可以用各種方法來產(chǎn)生不同的掃描次序。一個實例是,對于變換系數(shù)的每一塊,可以從多個可用的掃描次序中選出“最佳”掃描次序。視頻編碼器接著可以針對每一塊向解碼器提供對通過相應索引表示的一組掃描次序當中的最佳掃描次序的索引的指示。通過應用若干掃描次序并且選擇在將非零系數(shù)放置在ID向量的開頭或結尾附近方面最有效的一個掃描次序,可以確定最佳掃描次序的選擇,由此促進有效的熵譯碼。
[0059]在另一實例中,可以基于與相關預測單元的譯碼有關的各種因素來確定用于當前塊的掃描次序,所述因素例如是預測模式(1、B、P)、塊大小、變換或其它因素。在一些情況下,因為可以在編碼器及解碼器兩側推斷相同信息(例如預測模式),所以可能不需要向解碼器提供對掃描次序索引的指示。而是,視頻解碼器可以存儲配置數(shù)據(jù),所述配置數(shù)據(jù)指示在了解用于塊的預測模式及將預測模式映射到特定掃描次序的一個或一個以上準則的情況下的適當掃描次序。
[0060]為了進一步改進譯碼效率,可用的掃描次序可能并不是一直不變。而是,可以啟用某種調(diào)適,以便例如基于已經(jīng)譯碼的系數(shù)來自適應地調(diào)整掃描次序??偟膩碚f,可以用使得根據(jù)選定掃描次序、零及非零系數(shù)更有可能被分組在一起的方式來進行掃描次序調(diào)適。
[0061]在一些視頻編解碼器中,初始可用掃描次序可以采用非常常規(guī)的形式,例如完全水平、垂直、對角線或z字形掃描。替代地,可以通過訓練過程來推導掃描次序,并且因而所述掃描次序可能看起來有些隨機。所述訓練過程可能涉及向塊或若干系列塊應用不同掃描次序以識別產(chǎn)生合意的結果的掃描次序(例如如上文所提及,在非零及零值系數(shù)的有效放置方面)。
[0062]如果從訓練過程推導掃描次序,或者如果可以選擇多種不同的掃描次序,那么可能在編碼器及解碼器兩側保存特定掃描次序是有益的。指定此類掃描次序的數(shù)據(jù)量可相當大。舉例來說,對于32X32變換塊,一個掃描次序可能含有1024個變換系數(shù)位置。因為可能存在不同大小的塊并且對于每一大小的變換塊可能存在多個不同掃描次序,所以需要保存的數(shù)據(jù)的總量不可小視。例如對角線、水平、垂直或z字形次序等常規(guī)掃描次序可能不需要存儲,或者可能需要最少的存儲。然而,對角線、水平、垂直或z字形次序可能無法提供充足的種類來提供與被訓練的掃描次序同等的譯碼性能。
[0063]在一個常規(guī)實例中,對于目前正在開發(fā)的H.264及HEVC標準,當使用CABAC熵譯碼器時,在系數(shù)層級之前對變換塊(即,HEVC中的變換單元)中的有效系數(shù)(即,非零變換系數(shù))的位置進行編碼。對有效系數(shù)位置的譯碼過程稱為有效性圖譯碼。系數(shù)的有效性與系數(shù)層級的二進位O相同。如圖1中所示,經(jīng)量化變換系數(shù)11的有效性圖譯碼產(chǎn)生有效性圖13。有效性圖13是I及O的圖,其中I指示有效系數(shù)的位置。有效性圖通常需要視頻位速率的高百分比。本發(fā)明的技術還可適于與其它熵譯碼器(例如,PIPE) —起使用。
[0064]D.馬普(D.Marpe)、H.施華茲(H.Schwarz)及 Τ.維根(T.Wiegand)的“H.264 /AVC視頻壓縮標準中的基于上下文的自適應二進制算術譯碼(Context-Based AdaptiveBinary Arithmetic Coding in the H.264 / AVC Video Compression Standard),’(《IEEE視頻技術電路與系統(tǒng)期刊》(IEEE Trans.Circuits and Systems for Video Technology),2003年7月,第7期,第13卷)中描述了用于對有效性圖進行譯碼的實例過程。在此過程中,如果如經(jīng)譯碼塊旗標(CBF)所指示在塊中存在至少一個有效系數(shù),則對有效性圖進行譯碼,上述情況被定義為:[0065]經(jīng)譯碼塊旗標:coded_block_flag是一位符號,其指示在單一變換系數(shù)塊內(nèi)部是否
[0066]存在有效(即,非零)系數(shù),針對所述塊,經(jīng)譯碼塊模式指示非零條目。如果
[0067]coded_block_flag是零,則不針對相關塊發(fā)射進一步的信息。
[0068]如果所述塊中存在有效系數(shù),則通過如下遵照所述塊中的變換系數(shù)的掃描次序對有效性圖進行編碼:
[0069]對變換系數(shù)的掃描:首先使用給定掃描模式將coded_block_flag針對其指示非零條
[0070]目的子塊的變換系數(shù)層級的二維陣列映射成一維列表。換句話說,根據(jù)掃描模式掃
[0071]描具有有效系數(shù)的子塊。
[0072]在給定掃描模式的情況下,如下掃描有效性圖:
[0073]有效性圖:如果coded_block_flag指示一個塊具有有效系數(shù),則對二進制值的有效性圖進行編碼。針對掃描次序中的每一變換系數(shù),發(fā)射一位符號significant_coeff_flag。如果significant_coeff_flag符號是一,即,如果在這個掃描位置存在非零系數(shù),貝Ij發(fā)送另一個一位符號last_significant_coeff_flag。這個符號指示當前有效系數(shù)是不是所述塊內(nèi)部的最后一個有效系數(shù),或者后面是否跟著其它有效系數(shù)。如果到達最后一個掃描位置,并且有效性圖編碼尚未以值為一的last_significant_coeff_flag終止,則顯然最后一個系數(shù)必須是有效的。
[0074]近來關于HEVC的提議已經(jīng)移除了 last_significant_coeff旗標。在這些提議中,在發(fā)送有效性圖之前,先發(fā)送對最后一個有效系數(shù)的位置的X及Y位置的指示。
[0075]當前,在HEVC中,提出對有效性圖使用三種掃描模式:對角線、垂直及水平。圖2展示了 z字形掃描17、垂直掃描19、水平掃描21及對角線掃描15的實例。如圖2中所示,這些掃描中的每一者在正向方向上進行,即,從變換塊左上角的較低頻率變換系數(shù)到變換塊右下角的較高頻率變換系數(shù)。在對有效性圖進行譯碼之后,對每一有效變換系數(shù)(即,系數(shù)值)的其余的層級信息(二進位1-N,其中N是二進位的總數(shù))進行譯碼。
[0076]在先前在H.264標準中指定的CABAC過程中,在處置了 4X4子塊之后,例如根據(jù)一元代碼將變換系數(shù)層級中的每一者二進制化,以產(chǎn)生一系列二進位。在H.264中,用于每一子塊的CABAC上下文模型集合是由二乘五個上下文模型組成,其中有五個模型用于coeff_abs_level_minus_one語法元素的第一個二進位及所有其余二進位(高達并且包含第14個二進位),所述語法元素對變換系數(shù)的絕對值進行編碼。值得注意的是,在HEVC的一個所提議的版本中,其余的二進位僅包含二進位I及二進位2。其余的系數(shù)層級是用哥倫布-萊斯(Golomb-Rice)譯碼及指數(shù)哥倫布(Golomb)代碼來譯碼。
[0077]在HEVC中,可以像在H.264標準中提出的原始CABAC過程中一樣執(zhí)行上下文模型的選擇。然而,可以針對不同子塊選擇上下文模型的不同集合。明確地說,針對給定子塊的上下文模型集合的選擇取決于先前經(jīng)譯碼的子塊的某些統(tǒng)計數(shù)據(jù)。
[0078]圖3展示HEVC過程的一個所提出的版本在對變換單元25中的變換系數(shù)的層級(層級的絕對值及層級的正負號)進行編碼時所遵照的掃描次序。應注意,存在用于掃描較大塊的4X 4子塊的正向z字形模式27,及用于掃描每一子塊內(nèi)的變換系數(shù)層級的逆z字形模式23。換句話說,在正向z字形模式中掃描一系列4X4子塊,從而以一序列掃描所述子塊。然后,在每一子塊內(nèi),執(zhí)行逆z字形掃描來掃描子塊內(nèi)的變換系數(shù)的層級。因此,將變換單元形成的二維陣列中的變換系數(shù)串行化成一維陣列,使得給定子塊中被逆掃描的系數(shù)后面接著是在相繼子塊中被逆掃描的系數(shù)。
[0079]在一個實例中,根據(jù)圖3中展示的子塊掃描方法掃描的系數(shù)的CABAC譯碼可以使用60種上下文,即,10種上下文的6個集合,每一者如下文所描述而分布。對于4X4塊,如表I中所示,可以使用10種上下文模型(5種模型用于二進位1,且5種模型用于二進位2到 14):
【權利要求】
1.一種對在視頻譯碼過程中與殘余視頻數(shù)據(jù)相關聯(lián)的多個變換系數(shù)進行譯碼的方法,所述方法包括: 根據(jù)掃描次序對指示所述多個變換系數(shù)的有效系數(shù)的信息進行譯碼; 將所述經(jīng)譯碼信息劃分成至少第一區(qū)域及第二區(qū)域; 根據(jù)使用上下文推導準則的第一上下文集合對所述第一區(qū)域中的所述經(jīng)譯碼信息進行熵譯碼;以及 根據(jù)使用與所述第一區(qū)域相同的所述上下文推導準則的第二上下文集合對所述第二區(qū)域中的所述經(jīng)譯碼信息進行熵譯碼。
2.根據(jù)權利要求1所述的方法,其中使用上下文自適應二進制算術譯碼CABAC執(zhí)行熵譯碼。
3.根據(jù)權利要求2所述的方法,其中所述掃描次序具有對角線掃描模式及逆方向。
4.根據(jù)權利要求1所述的方法,其中所述上下文推導準則包含因果相鄰變換系數(shù)相對于當前變換系數(shù)的層級信息。
5.根據(jù)權利要求1所述的方法,其中所述第一區(qū)域至少含有所述多個變換系數(shù)的DC分量,并且其中所述第二區(qū)域含有不在所述第一區(qū)域中的其余多個變換系數(shù)。
6.根據(jù)權利要求5所述的方法,其中所述第一區(qū)域含有通過x+y〈T定義的區(qū)域內(nèi)的所有變換系數(shù),其中X是所述變換系數(shù)的水平位置,y是所述變換系數(shù)的垂直位置,并且T是閾值。.
7.根據(jù)權利要求6所述的方法,其中所述閾值是基于變換大小。
8.根據(jù)權利要求5所述的方法,其中所述第一區(qū)域含有通過x〈T及y〈T定義的區(qū)域內(nèi)的所有變換系數(shù),其中X是所述變換系數(shù)的所述水平位置,y是所述變換系數(shù)的所述垂直位置,并且T是閾值。
9.根據(jù)權利要求5所述的方法,其中所述第一區(qū)域包含在位置(1,0)及(O,I)處的所述DC分量及所述變換系數(shù)。
10.根據(jù)權利要求1所述的方法,其中所述第一區(qū)域僅含有所述多個變換系數(shù)的所述DC分量,并且其中所述第二區(qū)域含有所述其余多個變換系數(shù)。
11.根據(jù)權利要求1所述的方法,其中所述第一區(qū)域中的每一變換系數(shù)的所述第一上下文集合是基于所述第一區(qū)域中的每一變換系數(shù)的位置,并且其中所述第二區(qū)域中的每一變換系數(shù)的所述第二上下文集合是基于每一變換系數(shù)的若干因果相鄰者的所述經(jīng)譯碼信肩、O
12.根據(jù)權利要求11所述的方法,其中所述第二上下文集合進一步基于所述第二區(qū)域中的每一變換系數(shù)的位置。
13.根據(jù)權利要求12所述的方法,其中所述第二區(qū)域中的每一變換系數(shù)的所述第二上下文集合是基于每一變換系數(shù)的五個因果相鄰者的經(jīng)譯碼層級信息。
14.根據(jù)權利要求13所述的方法,其中,如果因果相鄰者位于變換塊之外,則假設所述因果相鄰者的所述經(jīng)譯碼層級信息是零。
15.一種經(jīng)配置以對在視頻譯碼過程中與殘余視頻數(shù)據(jù)相關聯(lián)的多個變換系數(shù)進行譯碼的設備,所述設備包括: 視頻譯碼處理器,經(jīng)配置以:根據(jù)掃描次序對指示所述多個變換系數(shù)的有效系數(shù)的信息進行譯碼; 將所述經(jīng)譯碼信息劃分成至少第一區(qū)域及第二區(qū)域; 根據(jù)使用上下文推導準則的第一上下文集合對所述第一區(qū)域中的所述經(jīng)譯碼信息進行熵譯碼;以及 根據(jù)使用與所述第一區(qū)域相同的所述上下文推導準則的第二上下文集合對所述第二區(qū)域中的所述經(jīng)譯碼信息進行熵譯碼。
16.根據(jù)權利要求15所述的設備,其中所述視頻譯碼處理器經(jīng)配置以使用上下文自適應二進制算術譯碼CABAC執(zhí)行熵譯碼。
17.根據(jù)權利要求15所述的設備,其中所述掃描次序具有對角線掃描模式及逆方向。
18.根據(jù)權利要求15所述的設備,其中所述上下文推導準則包含因果相鄰變換系數(shù)相對于當前變換系數(shù)的層級信息。
19.根據(jù)權利要求15所述的設備,其中所述第一區(qū)域至少含有所述多個變換系數(shù)的DC分量,并且其中所述第二區(qū)域含有不在所述第一區(qū)域中的其余多個變換系數(shù)。
20.根據(jù)權利要求19所述的設備,其中所述第一區(qū)域含有通過x+y〈T定義的區(qū)域內(nèi)的所有變換系數(shù),其中X是所述變換系數(shù)的水平位置,y是所述變換系數(shù)的垂直位置,并且T是閾值。
21.根據(jù)權利要求20所述的設備,其中所述閾值是基于變換大小。
22.根據(jù)權利要求19所述的設備,其中所述第一區(qū)域含有通過x〈T及y〈T定義的區(qū)域內(nèi)的所有變換系數(shù),其中X是所述變換系數(shù)`的所述水平位置,y是所述變換系數(shù)的所述垂直位置,并且T是閾值。
23.根據(jù)權利要求19所述的設備,其中所述第一區(qū)域包含在位置(1,0)及(0,1)處的所述DC分量及所述變換系數(shù)。
24.根據(jù)權利要求15所述的設備,其中所述第一區(qū)域僅含有所述多個變換系數(shù)的所述DC分量,并且其中所述第二區(qū)域含有所述其余多個變換系數(shù)。
25.根據(jù)權利要求15所述的設備,其中所述第一區(qū)域中的每一變換系數(shù)的所述第一上下文集合是基于所述第一區(qū)域中的每一變換系數(shù)的位置,并且其中所述第二區(qū)域中的每一變換系數(shù)的所述第二上下文集合是基于每一變換系數(shù)的若干因果相鄰者的所述經(jīng)譯碼信肩、O
26.根據(jù)權利要求25所述的設備,其中所述第二上下文集合進一步基于所述第二區(qū)域中的每一變換系數(shù)的位置。
27.根據(jù)權利要求26所述的設備,其中所述第二區(qū)域中的每一變換系數(shù)的所述第二上下文集合是基于每一變換系數(shù)的五個因果相鄰者的經(jīng)譯碼層級信息。
28.根據(jù)權利要求27所述的設備,其中,如果因果相鄰者位于變換塊之外,則假設所述因果相鄰者的所述經(jīng)譯碼層級信息是零。
29.—種經(jīng)配置以對在視頻譯碼過程中與殘余視頻數(shù)據(jù)相關聯(lián)的多個變換系數(shù)進行譯碼的設備,所述設備包括: 用于根據(jù)掃描次序對指示所述多個變換系數(shù)的有效系數(shù)的信息進行譯碼的裝置; 用于將所述經(jīng)譯碼信息劃分成至少第一區(qū)域及第二區(qū)域的裝置; 用于根據(jù)使用上下文推導準則的第一上下文集合對所述第一區(qū)域中的所述經(jīng)譯碼信息進行熵譯碼的裝置;以及 用于根據(jù)使用與所述第一區(qū)域相同的所述上下文推導準則的第二上下文集合對所述第二區(qū)域中的所述經(jīng)譯碼信息進行熵譯碼的裝置。
30.根據(jù)權利要求29所述的設備,其中所述用于熵譯碼的裝置使用上下文自適應二進制算術譯碼CABAC。
31.根據(jù)權利要求29所述的設備,其中所述掃描次序具有對角線掃描模式及逆方向。
32.根據(jù)權利要求29所述的設備,其中所述第一區(qū)域至少含有所述多個變換系數(shù)的DC分量,并且其中所述第二區(qū)域含有不在所述第一區(qū)域中的其余多個變換系數(shù)。
33.根據(jù)權利要求32所述的設備,其中所述第一區(qū)域含有通過x+y〈T定義的區(qū)域內(nèi)的所有變換系數(shù),其中X是所述變換系數(shù)的水平位置,y是所述變換系數(shù)的垂直位置,并且T是閾值。
34.根據(jù)權利要求32所述的設備,其中所述第一區(qū)域含有通過x〈T及y〈T定義的區(qū)域內(nèi)的所有變換系數(shù),其中X是所述變換系數(shù)的所述水平位置,y是所述變換系數(shù)的所述垂直位置,并且T是閾值。
35.根據(jù)權利要求32所述的設備,其中所述第一區(qū)域包含在位置(1,0)及(0,1)處的所述DC分量及所述變換系數(shù)。
36.根據(jù)權利要求29所述的設備,其中所述第一區(qū)域僅含有所述多個變換系數(shù)的所述DC分量,并且其中所述第二區(qū)域含有所述其余多個變換系數(shù)。
37.根據(jù)權利要求29所述的設備,其中所述第一區(qū)域中的每一變換系數(shù)的所述第一上下文集合是基于所述第一區(qū)域 中的每一變換系數(shù)的位置,并且其中所述第二區(qū)域中的每一變換系數(shù)的所述第二上下文集合是基于每一變換系數(shù)的若干因果相鄰者的所述經(jīng)譯碼信肩、O
38.根據(jù)權利要求37所述的設備,其中所述第二區(qū)域中的每一變換系數(shù)的所述第二上下文集合是基于每一變換系數(shù)的五個因果相鄰者的經(jīng)譯碼層級信息。
39.一種包括上面存儲有指令的計算機可讀存儲媒體的計算機程序產(chǎn)品,所述指令在執(zhí)行時致使用于對在視頻譯碼過程中與殘余視頻數(shù)據(jù)相關聯(lián)的多個變換系數(shù)進行譯碼的裝置的處理器進行以下操作: 根據(jù)掃描次序對指示所述多個變換系數(shù)的有效系數(shù)的信息進行譯碼; 將所述經(jīng)譯碼信息劃分成至少第一區(qū)域及第二區(qū)域; 根據(jù)使用上下文推導準則的第一上下文對所述第一區(qū)域中的所述經(jīng)譯碼信息進行熵譯碼;以及 根據(jù)使用與所述第一區(qū)域相同的所述上下文推導準則的第二上下文對所述第二區(qū)域中的所述經(jīng)譯碼信息進行熵譯碼。
40.根據(jù)權利要求39所述的計算機程序產(chǎn)品,其中所述指令致使處理器使用上下文自適應二進制算術譯碼CABAC執(zhí)行熵譯碼。
41.根據(jù)權利要求39所述的計算機程序產(chǎn)品,其中所述掃描次序具有對角線掃描模式及逆方向。
42.根據(jù)權利要求39所述的計算機程序產(chǎn)品,其中所述第一區(qū)域至少含有所述多個變換系數(shù)的DC分量,并且其中所述第二區(qū)域含有不在所述第一區(qū)域中的其余多個變換系數(shù)。
43.根據(jù)權利要求42所述的計算機程序產(chǎn)品,其中所述第一區(qū)域含有通過x+y〈T定義的區(qū)域內(nèi)的所有變換系數(shù),其中X是所述變換系數(shù)的水平位置,y是所述變換系數(shù)的垂直位置,并且T是閾值。
44.根據(jù)權利要求42所述的計算機程序產(chǎn)品,其中所述第一區(qū)域含有通過x〈T及y〈T定義的區(qū)域內(nèi)的所有變換系數(shù),其中X是所述變換系數(shù)的所述水平位置,y是所述變換系數(shù)的所述垂直位置,并且T是閾值。
45.根據(jù)權利要求42所述的計算機程序產(chǎn)品,其中所述第一區(qū)域包含在位置(1,0)及(0,1)處的所述DC分量及所述變換系數(shù)。
46.根據(jù)權利要求39所述的計算機程序產(chǎn)品,其中所述第一區(qū)域僅含有所述多個變換系數(shù)的所述DC分量,并且其中所述第二區(qū)域含有所述其余多個變換系數(shù)。
47.根據(jù)權利要求39所述的計算機程序產(chǎn)品,其中所述第一區(qū)域中的每一變換系數(shù)的所述第一上下文集合是基于所述第一區(qū)域中的每一變換系數(shù)的位置,并且其中所述第二區(qū)域中的每一變換系數(shù)的所述第二上下文集合是基于每一變換系數(shù)的若干因果相鄰者的所述經(jīng)譯碼層級信息。
48.根據(jù)權利要求47所述的計算機程序產(chǎn)品,其中所述第二區(qū)域中的每一變換系數(shù)的所述第二上下文集合是基于 每一變換系數(shù)的五個因果相鄰者的所述經(jīng)譯碼層級信息。
【文檔編號】H04N7/26GK103444176SQ201280015076
【公開日】2013年12月11日 申請日期:2012年3月7日 優(yōu)先權日:2011年3月8日
【發(fā)明者】霍埃爾·索賴羅哈斯, 拉詹·L·喬希, 馬爾塔·卡切維奇 申請人:高通股份有限公司