專利名稱:一種針對高效視頻編碼hevc熵編碼的上下文簡化方法
技術領域:
本發(fā)明屬于視頻編碼的技術領域,具體地涉及一種針對高效視頻編碼HEVC(High efficiency video coding)熵編碼的上下文簡化方法。
背景技術:
基于上下文的自適應算數(shù)編碼(Context-based Adaptive Binary Arithmetic Coding,簡稱CABAC)是廣泛應用于視頻編碼領域的熵編碼方法,相比于另一廣泛應用的 CAVLC(Context adaptive variable length coding,易于上下文的自適應變長編碼)熵編碼方法而言,編碼效率更高,但是消耗更大。在新一代視頻編碼標準HEVC的編訂中,CABAC 被用作高效模塊(High Efficiency Module)的熵編碼方法?,F(xiàn)階段的HEVC測試程序包(最新版本是HM4. 0)中,研究人員設定了大量相互獨立的上下文模型來進行CABAC編碼。HEVC的CABAC上下文模型儲存于三維上下文模型容器中,容器維度分別為x、y、z。調用時使用3個參數(shù),如a、b、c(a彡x,b彡y,c彡ζ),則調用到的上下文模型在容器中的線性位置為a*0Z+MZ+C。在對于變換后的NxN(N為正整數(shù)) 圖像塊參數(shù)進行熵編碼時,需要應用CABAC方法對用來標記參數(shù)值的COeff_abS_level_ greaterl_flag(用來標記變換后的圖像塊里面參數(shù)值大于1的位置,需要占用60個相互獨立的上下文模型,其中30個用來進行亮度的編碼,另外30個用來進行色度的編碼,兩者相互獨立并通過b的取值來選擇,c取值為W,29])和coeff_abs_level_greater2_flag (用來標記變換后的圖像塊里面參數(shù)值大于2的位置,需要占用60個相互獨立的上下文模型, 其中30個用來進行亮度的編碼,另外30個用來進行色度的編碼,兩者相互獨立并通過b的取值來選擇,a = 0,c取值為W,29])進行編碼,兩者共需要占用120個相互獨立的上下文模型。
發(fā)明內(nèi)容
本發(fā)明的技術解決問題是克服現(xiàn)有技術的不足,提供一種在維持編碼效率總體不變的條件下,減少應用的上下文模型個數(shù),刪除冗余模型,節(jié)省系統(tǒng)資源的針對HEVC熵編碼的上下文簡化方法。本發(fā)明的技術解決方案是這種針對HEVC熵編碼的上下文簡化方法,HEVC的 CABAC上下文模型儲存于三維上下文模型容器中,容器維度分別為χ、y、z,調用時使用 3個參數(shù)a、b、c(a彡X,b彡y,c彡ζ),則調用到的上下文模型在容器中的線性位置為 a*0Z+Mz+c,在對于變換后的NxN圖像塊參數(shù)進行熵編碼時,N為正整數(shù),應用于一個指定上下文模型的待編碼元素取值只能是0或1,而編碼的效率取決于0和1出現(xiàn)的概率,其特征在于對于兩個不同的上下文模型,如果它們的對應的編碼元素概率相等,那么將這兩個上下文模型合并。由于將這兩個編碼元素概率相等的上下文模型合并,并不影響總體的編碼效率, 而通過上下文合并,減少應用的上下文模型個數(shù),刪除冗余模型,就可以節(jié)約編碼時占用的系統(tǒng)資源。
圖1示出了在coeff_abs_level_greaterl_flag幀內(nèi)亮度編碼模式下,30個不同上下文模型對應概率的概率柱狀圖;圖2示出了在COeff_abS_level_greaterl_flag幀內(nèi)亮度編碼模式下,根據(jù)本發(fā)明對30個不同上下文模型對應概率進行步長為5%的量化后得到的概率柱狀圖;圖3示出了根據(jù)本發(fā)明的coeff_abs_level_greaterl_flag的幀內(nèi)亮度部分的具體合并方案表;圖4示出了根據(jù)本發(fā)明的coeff_abs_level_greaterl_flag的幀內(nèi)色度部分的具體合并方案表;圖5示出了根據(jù)本發(fā)明的COeff_abS_level_greaterl_flag的幀間亮度部分的具體合并方案表;圖6示出了根據(jù)本發(fā)明的coeff_abs_level_greaterl_flag的幀間色度部分的具體合并方案表;圖7示出了根據(jù)本發(fā)明的coeff_abs_level_greater2_flag的幀內(nèi)亮度部分的具體合并方案表;圖8示出了根據(jù)本發(fā)明的coeff_abs_level_greater2_flag的幀內(nèi)色度部分的具體合并方案表;圖9示出了根據(jù)本發(fā)明的c0eff_abS_level_greater2_flag的幀間亮度部分的具體合并方案表;圖10示出了根據(jù)本發(fā)明的coeff_abs_level_greater2_flag的幀間色度部分的具體合并方案表;圖11是對上下文模型簡化前后的對比明細表;圖12是基于HM4. 0的實驗結果。
具體實施例方式該針對HEVC參數(shù)編碼的上下文簡化方法,HEVC的CABAC上下文模型儲存于三維上下文模型容器中,容器維度分別為X、1、Z,調用時使用3個參數(shù)a、b、c(a < X,b彡y, c ( ζ),則調用到的上下文模型在容器中的線性位置為a*0Z+MZ+C,在對于變換后的NxN 圖像塊參數(shù)進行熵編碼時,N為正整數(shù),應用于一個指定上下文模型的待編碼元素取值只能是0或1,而編碼的效率取決于0和1出現(xiàn)的概率,其特征在于對于兩個不同的上下文模型,如果它們的對應的編碼元素概率相等,那么將這兩個上下文模型合并。優(yōu)選地,當對用來標記變換后的圖像塊里面參數(shù)值大于1的位置的COeff_abS_ level_greaterl_flag元素的上下文模型進行合并時,其中b表示對亮度或色度進行編碼, c取值為
,將所有概率在量化之后相同的上下文模型合并,合并后的模型采用同概率一組模型中位置最靠前的一個模型的初值,然后對合并后的模型重排序。優(yōu)選地,當對用來標記變換后的圖像塊里面參數(shù)值大于2的位置的COeff_abS_ level_greater2_flag元素的上下文模型進行合并時,其中a = 0,b表示對亮度或色度進行編碼,c取值為
,將所有概率在量化之后相同的上下文模型合并,合并后的模型采用同概率一組模型中位置最靠前的一個模型的初值,然后對合并后的模型重排序。下面對本發(fā)明的技術方案做進一步的詳細描述。本發(fā)明提供的上下文簡化方法, 具體分為以下部分1.關于 coeff_abs_level_greaterl_f lag原始的HM4. 0當中應用于coeff_abs_level_greaterlflag編碼的上下文模型總共有60個,其中30個用來進行亮度(Luma)的編碼工作,另外30個用來進行色度(Chroma) 的編碼,兩者相互獨立,通過上下文模型調用參數(shù)組(a,b,c)中b的取值來進行選擇,而c 的有效取值為W,29]共30個。由于編碼中會遇到幀內(nèi)編碼幀(I幀)和幀間編碼幀(B幀或P幀),需要載入不同的上下文初值,加之亮度與色度在編碼時應用上下文的獨立性,需要對于幀內(nèi)亮度、幀內(nèi)色度、幀間亮度、幀間色度四種不同的編碼環(huán)境進行數(shù)據(jù)統(tǒng)計。以幀內(nèi)亮度的統(tǒng)計為例,樣本為HEVC官方測試序列,共5組20個,如圖1所示(圖中橫坐標為上下文模型的序列號,也就是(a,b,c)中c的取值;圖中縱坐標為該特定上下文模型對應待編碼元素在整個編碼過程中出現(xiàn)“1”的百分比概率)。對這個統(tǒng)計結果進行量化步長為5%的均勻量化,可以得到如圖2所示的結果(坐標意義同圖1)。上下文簡化的基本方法就是將概率近似的上下文模型予以合并,在圖2所示的量化結果就是合并方案的基礎。應用于c0eff_abS_level_greaterl_flag編碼的上下文模型還有兩條特點一是30個上下文模型在具體編碼是分為6個組,每組5個上下文模型,對于一個確定的圖像塊,僅應用一個特定的上下文組進行編碼;二是各個組出現(xiàn)的次數(shù)差距很大,涵蓋編號靠后上下文模型的組,其應用次數(shù)明顯少于前面的組。綜合上下文合并的基本原則和coeff_abs_level_greaterl_flag的具體特點,本發(fā)明中提出如下表所示的上下文簡化方案,將所有概率在量化之后相同的上下文模型合并,合并后的模型采用同概率一組模型中位置最靠前的一個模型的初值,然后對合并后的模型重排序。幀內(nèi)亮度部分的具體合并方案如圖3。同樣的,可以獲得幀內(nèi)色度、幀間亮度、幀間色度的合并方案,分別如圖4、5、6所
7J\ ο當刪除閑置的上下文模型后,關于COeff_abS_level_greaterl_flag所應用的上下文總數(shù)由60個減少為M個。2.關于 coeff_abs_level_greater2_flagHM4. 0 中關于 coeff_abs_level_greater2_flag 的上下文模型組織結構與 coeff_ abs_level_greaterl_flag十分類似,其調用參數(shù)組(a,b,c)中a的取值只有a = 0 —種, 而c的取值為W,29]共30個,根據(jù)其特點,合并具體方案針對幀內(nèi)亮度、幀內(nèi)色度、幀間亮度、幀間色度的合并具體方案分別如圖7、8、9、10所示。當刪除閑置的上下文模型后,關于COeff_abS_level_greater2_flag所應用的上下文個數(shù)由60個減少為M個。關于coeff_abs_level_greaterl_flag,根據(jù)幀內(nèi)亮度、幀內(nèi)色度、幀間亮度、幀間色度四種情況下的合并方案,在HM4. 0中添加一張4*30的映射表,用于將原調用參數(shù)映射到現(xiàn)調用參數(shù)上,在將上下文模型進行刪減和重排序即可,coeff_abs_level_greater2_
5flag的處理方式與此相同?;贖M4.0,可以得到如圖12的實驗結果。綜上所述,本發(fā)明針對變換后的NxN圖像塊的熵編碼進行了一系列上下文簡化, 總共減少上下文模型個數(shù)72個,占總比例的60%,具體明細如圖11所示。圖3-圖6的映射表只是較優(yōu)的一種實現(xiàn)。改變這些映射表的大小和映射關系也可以得到類似的結果。我{門對于 coeff_abs_level_greaterl_flag 禾口 coeff—abs_level_greater2_flag 的編碼上下文釆用了上述方法進行簡化。同樣對于所有HEVC中用到的編碼符號,我們均可以釆用上述方案進行上下文簡化??梢院喕木幋a符號例如下表
權利要求
1.一種針對高效視頻編碼HEVC熵編碼的上下文簡化方法,HEVC的基于上下文的自適應算數(shù)編碼CABAC上下文模型儲存于三維上下文模型容器中,容器維度分別為x、y、z,調用時使用3個參數(shù)a、b、c(a彡x,b彡y,c彡ζ),則調用到的上下文模型在容器中的線性位置為a*0Z+MZ+C,在對于變換后的NxN圖像塊參數(shù)進行熵編碼時,N為正整數(shù),應用于一個指定上下文模型的待編碼元素取值只能是0或1,而編碼的效率取決于0和1出現(xiàn)的概率,其特征在于對于兩個不同的上下文模型,如果它們的對應的編碼元素概率相等,那么將這兩個上下文模型合并。
2.根據(jù)權利要求1所述的方法,其特征在于當對用來標記變換后的圖像塊里面參數(shù)值大于1的位置的c0eff_abS_level_greaterl_flag元素的上下文模型進行合并時,其中 b表示對亮度或色度進行編碼,c取值為
,將所有概率在量化之后相同的上下文模型合并,合并后的模型采用同概率一組模型中位置最靠前的一個模型的初值,然后對合并后的模型重排序。
3.根據(jù)權利要求1所述的方法,其特征在于當對用來標記變換后的圖像塊里面參數(shù)值大于2的位置的COeff_abS_level_greater2_flag元素的上下文模型進行合并時,其中 a = 0,b表示對亮度或色度進行編碼,c取值為
,將所有概率在量化之后相同的上下文模型合并,合并后的模型采用同概率一組模型中位置最靠前的一個模型的初值,然后對合并后的模型重排序。
全文摘要
公開了一種在維持編碼效率總體不變的條件下,減少應用的上下文模型個數(shù),刪除冗余模型,節(jié)省系統(tǒng)資源的針對HEVC熵編碼的上下文簡化方法,HEVC的CABAC上下文模型儲存于三維上下文模型容器中,容器維度分別為x、y、z,調用時使用3個參數(shù)a、b、c(a≤x,b≤y,c≤z),則調用到的上下文模型在容器中的線性位置為a*y*z+b*z+c,在對于變換后的NxN圖像塊參數(shù)進行熵編碼時,N為正整數(shù),應用于一個指定上下文模型的待編碼元素取值只能是0或1,而編碼的效率取決于0和1出現(xiàn)的概率,其特征在于對于兩個不同的上下文模型,如果它們的對應的編碼元素概率相等,那么將這兩個上下文模型合并。
文檔編號H04N7/50GK102420983SQ20111036970
公開日2012年4月18日 申請日期2011年11月18日 優(yōu)先權日2011年11月18日
發(fā)明者丁文鵬, 尹寶才, 施云慧, 車效音 申請人:北京工業(yè)大學