指数哥伦布码编码规则[转自科讯网]

来源:互联网 发布:淘宝访问受限代理软件 编辑:程序博客网 时间:2024/05/21 19:37
         指数哥伦布算法是一种用于JVT的H.264和中国的音视频编码标准AVS采用的可变长编码算法变长码(variable length code)即采用不同的位数对数据进行编码,对经常出现的数据指定较少的位数表示,对不常出现的数据指定较多的位数表示。总体来说节省了存储的空间,这样得到的代码码长就是不固定的,故称之为变长编码。

  Exp-Golomb熵编码是一种使用一定规则构造码字的变长编码模式。它的逻辑结构为:[MZeros][1][INFO]。

  其中INFO是Mbit的信息值。因此每个ExpGolomb码字的数据长度是(2M+1)。它们的关系是:

  M=floor(log2[Codenum+1]),

  INFO=Codenum+1-2M;

  每个Codenum经编码都可以对应一个如上结构的码字。根据码字结构可知,一个数值范围在[2M-1,2M+1-2]内的数码字长度都为                      (2M+1)。

  如:Codenum=0,则Codeword为1;

              Codenum=1,则Codeword为010;

              Codenum=3,则Codeword为00100;

  Exp-Golomb编码对于一个待编码的参数k映射到Codenum有几种方式:ue(v),se(v),me(v),te(v)。

        ue(v):无符号直接映射,Codenum=k;

        se(v):符号映射,对应关系为:

                  Codenum=2|k|,(k≤0)

                  Codenum=2|k|-1,(k>0)

        me(v):标记映射,k值根据标准对应一个表格得到Codenum,应用语法元素为coded_block_pattern指子宏块残差的编码模式;

        te(v):截断指数golomb,这个映射关系取决于句法元素的取值范围,取值范围在0到X之间。当X大于1时,求解方式和ue(v)相同;若等于1                         时,Codenum=!read_bits(1),应用语法元素:ref_idx_l0,ref_idx_l1。                                                                                       

原文地址:http://www.tech-ex.com/broadcast/industry_database/knowledge/00467015.html

原创粉丝点击