发明名称 用于二进制算术编码可并行的非零系数上下文建模方法
摘要 用于二进制算术编码可并行的非零系数上下文建模方法,它涉及视频编码的上下文建模技术。它为解决现有二进制算术编码在对非零系数进行上下文建模过程中存在对上下文产生数据的依赖关系,使编码系统的数据吞吐率降低的问题而提出。一:定义变换量化块中系数、非零系数的个数;二:对非零系数二值化得到bin序列;三:以非零系数的位置信息和该变换量化块中非零系数的个数为第一上下文进行上下文建模;四:计算绝对值为abs(Li)的非零系数在第一上下文下取值的概率分布;五:对Li的绝对值减1进行二值化;六:利用等概率分布进行上下文建模。它可使不同的非零系数的上下文建模过程同时进行,实现了编码过程中多个上下文建模并行执行。
申请公布号 CN102186087A 申请公布日期 2011.09.14
申请号 CN201110172229.X 申请日期 2011.06.24
申请人 哈尔滨工业大学 发明人 赵德斌;高敏;范晓鹏;王强;刘绍辉
分类号 H04N7/26(2006.01)I;H04N7/30(2006.01)I 主分类号 H04N7/26(2006.01)I
代理机构 哈尔滨市松花江专利商标事务所 23109 代理人 张宏威
主权项 1.用于二进制算术编码可并行的非零系数上下文建模方法,其特征在于它由如下步骤完成:步骤一:定义当前变换量化块中系数的个数为B,非零系数的个数为N,所述N个非零系数分别用L<sub>i</sub>来表示,其中i的取值范围为0≤i≤N-1,非零系数L<sub>i</sub>对应在变换量化块中所处的子带位置用P<sub>i</sub>来表示,定义C[P<sub>i</sub>][N][k]为一个计数器,参数C[P<sub>i</sub>][N][k]表示当变换量化块中非零系数的个数为N,子带位置为P<sub>i</sub>时,绝对值等于k的非零系数出现的次数;步骤二:对非零系数L<sub>i</sub>二值化得到bin序列,序列中每一个bin用bin index来标识,定义bin index用j来表示;步骤三:以非零系数的位置信息P<sub>i</sub>和该变换量化块中非零系数的个数N为第一上下文,利用公式四来对非零系数L<sub>i</sub>的绝对值进行上下文建模;C<sub>L</sub>(P<sub>i</sub>,N)=P<sub>i</sub>+(N-1)×B公式四式中参数C<sub>L</sub>(P<sub>i</sub>,N)表示第一上下文状态的索引;步骤四:设定参数C[P<sub>i</sub>][N][abs(L<sub>i</sub>)]的初始值为0,在所有的典型视频序列中,对每一个满足条件0≤P<sub>i</sub>≤B-1的P<sub>i</sub>和每一个满足条件1≤N≤B的N、并且绝对值为abs(L<sub>i</sub>)的非零系数利用公式五来进行计数;C[P<sub>i</sub>][N][abs(L<sub>i</sub>)]=C[P<sub>i</sub>][N][abs(L<sub>i</sub>)]+1公式五然后,利用上式得到的C[P<sub>i</sub>][N][abs(L<sub>i</sub>)]通过公式六来计算绝对值为abs(L<sub>i</sub>)的非零系数在第一上下文下取值的概率分布P(abs(L<sub>i</sub>)=l<sub>i</sub>|P<sub>i</sub>,N),<maths num="0001"><![CDATA[<math><mrow><mi>P</mi><mrow><mo>(</mo><mi>abs</mi><mrow><mo>(</mo><msub><mi>L</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>=</mo><msub><mi>l</mi><mi>i</mi></msub><mo>|</mo><msub><mi>P</mi><mi>i</mi></msub><mo>,</mo><mi>N</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><mi>C</mi><mo>[</mo><msub><mi>P</mi><mi>i</mi></msub><mo>]</mo><mo>[</mo><mi>N</mi><mo>]</mo><mo>[</mo><msub><mi>l</mi><mi>i</mi></msub><mo>]</mo></mrow><mrow><munder><mi>&Sigma;</mi><mrow><mi>abs</mi><mrow><mo>(</mo><msub><mi>L</mi><mi>i</mi></msub><mo>)</mo></mrow></mrow></munder><mi>C</mi><mo>[</mo><msub><mi>P</mi><mi>i</mi></msub><mo>]</mo><mo>[</mo><mi>N</mi><mo>]</mo><mo>[</mo><mi>abs</mi><mrow><mo>(</mo><msub><mi>L</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>]</mo></mrow></mfrac></mrow></math>]]></maths>公式六以每一个非零系数L<sub>i</sub>的位置信息和该非零系数所处的变换量化块中非零系数的个数N为上下文,同时根据步骤三得到非零系数L<sub>i</sub>的绝对值在第一上下文下取值的概率分布P(L<sub>i</sub>=l<sub>i</sub>|C<sub>L</sub>(P<sub>i</sub>,N)),简记为<img file="FDA0000070849600000012.GIF" wi="246" he="59" />利用公式七计算两个在不同的P<sub>i</sub>和N下条件概率分布间的距离,<maths num="0002"><![CDATA[<math><mrow><mi>D</mi><mrow><mo>(</mo><msub><mi>P</mi><mn>0</mn></msub><mo>,</mo><msub><mi>N</mi><mn>0</mn></msub><mo>,</mo><msub><mi>P</mi><mn>1</mn></msub><mo>,</mo><msub><mi>N</mi><mn>1</mn></msub><mo>)</mo></mrow><mo>=</mo><munder><mi>&Sigma;</mi><mrow><mi>l</mi><mo>&Element;</mo><mi>L</mi><mrow><mo>(</mo><msub><mi>P</mi><mn>0</mn></msub><mo>,</mo><msub><mi>N</mi><mn>0</mn></msub><mo>)</mo></mrow><mo>&cup;</mo><mi>L</mi><mrow><mo>(</mo><msub><mi>P</mi><mn>1</mn></msub><mo>,</mo><msub><mi>N</mi><mn>1</mn></msub><mo>)</mo></mrow></mrow></munder><msup><mrow><mo>(</mo><mi>P</mi><mrow><mo>(</mo><mi>abs</mi><mrow><mo>(</mo><mi>L</mi><mo>)</mo></mrow><mo>=</mo><mi>l</mi><mo>|</mo><msub><mi>P</mi><mn>0</mn></msub><mo>,</mo><msub><mi>N</mi><mn>0</mn></msub><mo>)</mo></mrow><mo>-</mo><mi>P</mi><mrow><mo>(</mo><mi>abs</mi><mrow><mo>(</mo><mi>L</mi><mo>)</mo></mrow><mo>=</mo><mi>l</mi><mo>|</mo><msub><mi>P</mi><mn>1</mn></msub><mo>,</mo><msub><mi>N</mi><mn>1</mn></msub><mo>)</mo></mrow><mo>)</mo></mrow><mn>2</mn></msup></mrow></math>]]></maths>公式七采用k均值聚类的方法,即k-means聚类方法,把上述上下文状态分为4类,处在同一类的条件概率分布利用公式八进行合并,<maths num="0003"><![CDATA[<math><mrow><mi>P</mi><mrow><mo>(</mo><mi>L</mi><mo>=</mo><mi>l</mi><mo>|</mo><msup><msub><mi>C</mi><mi>L</mi></msub><mo>&prime;</mo></msup><mrow><mo>(</mo><mi>P</mi><mo>,</mo><mi>N</mi><mo>)</mo></mrow><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><mi>C</mi><mo>[</mo><msub><mi>P</mi><mn>0</mn></msub><mo>]</mo><mo>[</mo><msub><mi>N</mi><mn>0</mn></msub><mo>]</mo><mo>[</mo><mi>l</mi><mo>]</mo><mo>+</mo><mi>C</mi><mo>[</mo><msub><mi>P</mi><mn>1</mn></msub><mo>]</mo><mo>[</mo><msub><mi>N</mi><mn>1</mn></msub><mo>]</mo><mo>[</mo><mi>l</mi><mo>]</mo></mrow><mrow><munder><mi>&Sigma;</mi><mrow><mi>abs</mi><mrow><mo>(</mo><msub><mi>L</mi><mi>i</mi></msub><mo>)</mo></mrow></mrow></munder><mrow><mo>(</mo><mi>C</mi><mo>[</mo><msub><mi>P</mi><mn>0</mn></msub><mo>]</mo><mo>[</mo><msub><mi>N</mi><mn>0</mn></msub><mo>]</mo><mo>[</mo><mi>abs</mi><mrow><mo>(</mo><mi>L</mi><mo>)</mo></mrow><mo>]</mo><mo>+</mo><mi>C</mi><mo>[</mo><msub><mi>P</mi><mn>1</mn></msub><mo>]</mo><mo>[</mo><msub><mi>N</mi><mn>1</mn></msub><mo>]</mo><mo>[</mo><mi>abs</mi><mrow><mo>(</mo><mi>L</mi><mo>)</mo></mrow><mo>]</mo><mo>)</mo></mrow></mrow></mfrac></mrow></math>]]></maths>公式八其中L(P<sub>0</sub>,N<sub>0</sub>),L(P<sub>1</sub>,N<sub>1</sub>)分别表示在P<sub>0</sub>,N<sub>0</sub>和P<sub>1</sub>,N<sub>1</sub>的条件下abs(L)取值的集合;将上下文C<sub>L</sub>(P<sub>i</sub>,N)的个数合并为4个,即:f:C<sub>L</sub>(P<sub>i</sub>,N)→{0,1,2,3} 公式九步骤五:利用截断一元码和0阶指数哥伦布码的组合来对abs(L<sub>i</sub>)-1进行二值化,所述abs(L<sub>i</sub>)-1表示L<sub>i</sub>的绝对值减1,设x=abs(L<sub>i</sub>)-1,截断一元码的截断值为S,指数哥伦布码的阶数为k,其中S=14,k=0:如果0≤x<S则Bin String由x个1,最后外加一个0组成,即<img file="FDA0000070849600000022.GIF" wi="224" he="98" />如果x=S则Bin String由x个1构成,即<img file="FDA0000070849600000023.GIF" wi="195" he="98" />如果x>S,Bin String的前缀部分由S个1构成,即<img file="FDA0000070849600000024.GIF" wi="196" he="98" />后缀部分由x-S的k阶指数哥伦布码表示;步骤六:利用位置信息P<sub>i</sub>和非零系数的个数N,得到非零系数L<sub>i</sub>的取值的概率分布<img file="FDA0000070849600000025.GIF" wi="242" he="56" />然后利用步骤五所述的二值化方法得到bin的索引j,并利用公式十和公式十一计算二值化后的bin的概率分布,用(P<sub>LPS</sub>(j),V<sub>MPS</sub>(j))来表示所述二值化后的bin的概率分布,其中参数P<sub>LPS</sub>(j)表示在bin索引等于j时,概率小于0.5的低概率字符的概率,V<sub>MPS</sub>(j)表示在bin索引为j时,概率大于0.5的高概率字符的取值;<maths num="0004"><![CDATA[<math><mrow><msub><mi>P</mi><mi>LPS</mi></msub><mrow><mo>(</mo><mi>j</mi><mo>)</mo></mrow><mo>=</mo><mi>min</mi><mrow><mo>(</mo><mfrac><mrow><msub><mi>P</mi><msub><mi>C</mi><mi>L</mi></msub></msub><mrow><mo>(</mo><mi>L</mi><mo>=</mo><mi>j</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow></mrow><mrow><mn>1</mn><mo>-</mo><munderover><mi>&Sigma;</mi><mrow><mi>k</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>j</mi><mo>-</mo><mn>1</mn></mrow></munderover><msub><mi>P</mi><msub><mi>C</mi><mi>L</mi></msub></msub><mrow><mo>(</mo><mi>L</mi><mo>=</mo><mi>k</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow></mrow></mfrac><mo>,</mo><mn>1</mn><mo>-</mo><mfrac><mrow><msub><mi>P</mi><msub><mi>C</mi><mi>L</mi></msub></msub><mrow><mo>(</mo><mi>L</mi><mo>=</mo><mi>j</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow></mrow><mrow><mn>1</mn><mo>-</mo><munderover><mi>&Sigma;</mi><mrow><mi>k</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>j</mi><mo>-</mo><mn>1</mn></mrow></munderover><msub><mi>P</mi><msub><mi>C</mi><mi>L</mi></msub></msub><mrow><mo>(</mo><mi>L</mi><mo>=</mo><mi>k</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow></mrow></mfrac><mo>)</mo></mrow><mo>,</mo><mn>0</mn><mo>&le;</mo><mi>j</mi><mo>&le;</mo><mi>ctx</mi><mo>_</mo><mi>num</mi></mrow></math>]]></maths>公式十<maths num="0005"><![CDATA[<math><mrow><msub><mi>V</mi><mi>MPS</mi></msub><mrow><mo>(</mo><mi>j</mi><mo>)</mo></mrow><mo>=</mo><mfenced open='{' close=''><mtable><mtr><mtd><mn>1</mn><mo>,</mo></mtd><mtd><mfrac><mrow><msub><mi>P</mi><msub><mi>C</mi><mi>L</mi></msub></msub><mrow><mo>(</mo><mi>L</mi><mo>=</mo><mi>j</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow></mrow><mrow><mn>1</mn><mo>-</mo><munderover><mi>&Sigma;</mi><mrow><mi>k</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>j</mi><mo>-</mo><mn>1</mn></mrow></munderover><msub><mi>P</mi><msub><mi>C</mi><mi>L</mi></msub></msub><mrow><mo>(</mo><mi>L</mi><mo>=</mo><mi>k</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow></mrow></mfrac><mo>&lt;</mo><mn>1</mn><mo>-</mo><mfrac><mrow><msub><mi>P</mi><msub><mi>C</mi><mi>L</mi></msub></msub><mrow><mo>(</mo><mi>L</mi><mo>=</mo><mi>j</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow></mrow><mrow><mn>1</mn><mo>-</mo><munderover><mi>&Sigma;</mi><mrow><mi>k</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>j</mi><mo>-</mo><mn>1</mn></mrow></munderover><msub><mi>P</mi><msub><mi>C</mi><mi>L</mi></msub></msub><mrow><mo>(</mo><mi>L</mi><mo>=</mo><mi>k</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow></mrow></mfrac></mtd></mtr><mtr><mtd><mn>0</mn><mo>,</mo></mtd><mtd><mfrac><mrow><msub><mi>P</mi><msub><mi>C</mi><mi>L</mi></msub></msub><mrow><mo>(</mo><mi>L</mi><mo>=</mo><mi>j</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow></mrow><mrow><mn>1</mn><mo>-</mo><munderover><mi>&Sigma;</mi><mrow><mi>k</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>j</mi><mo>-</mo><mn>1</mn></mrow></munderover><msub><mi>P</mi><msub><mi>C</mi><mi>L</mi></msub></msub><mrow><mo>(</mo><mi>L</mi><mo>=</mo><mi>k</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow></mrow></mfrac><mo>&GreaterEqual;</mo><mn>1</mn><mo>-</mo><mfrac><mrow><msub><mi>P</mi><msub><mi>C</mi><mi>L</mi></msub></msub><mrow><mo>(</mo><mi>L</mi><mo>=</mo><mi>j</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow></mrow><mrow><mn>1</mn><mo>-</mo><munderover><mi>&Sigma;</mi><mrow><mi>k</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>j</mi><mo>-</mo><mn>1</mn></mrow></munderover><msub><mi>P</mi><msub><mi>C</mi><mi>L</mi></msub></msub><mrow><mo>(</mo><mi>L</mi><mo>=</mo><mi>k</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow></mrow></mfrac></mtd></mtr></mtable></mfenced><mo>,</mo><mn>0</mn><mo>&le;</mo><mi>j</mi><mo>&le;</mo><mi>ctx</mi><mo>_</mo><mi>num</mi></mrow></math>]]></maths>公式十一式中参数ctx_num表示对bin进行分割的阈值,利用等概率分布对j>ctx_num的bin进行上下文建模。
地址 150001 黑龙江省哈尔滨市南岗区西大直街92号
您可能感兴趣的专利