H.264中用到的指数哥伦布解码 标准中描述子Descriptor为ue(v)、te(v)、se(v)、me(v)时调用 哥伦布码字表前几行 码字 编码数字(Code_Num) 1 0 010 1 011 2 00100 3 00101 4 00110 5 00111 6 0001000 7 前缀为M个0 后缀为M位的二进制数[info] 解码时: 读取1前面的0,计数得到M的值 读取1后M比特 Code_Num = 2^M -1 + [info] 编码时, 语法元素值Value按照映射ue、te、se、me得到Code_Num 解码是,根据映射类型逆运算,得到Value ①ue为无符号映射,Value = Code_Num ②se为有符号映射,如下表 Code_Num 0 1 2 3 4 5 … Value 0 1 -1 2 -2 3 … ③te截断映射,根据Value的取值范围做不同的处理 如果Value范围是[0,K],K是大于1的一个数,那么te和ue一样 如果Value范围是[0,1] 那么不用上面的哥伦布码表取得Code_Num 直接从码流里读取1比特,设值为b,Code_Num = !b ④me映射是用Code_Num对应宏块预测模式,标准中表9-4给出了映射关系 |
还是h264的熵编码,还是转的
2011-04-07 17:31