[发明专利]一种动态码表及其生成方法无效
申请号: | 200810094368.3 | 申请日: | 2008-04-29 |
公开(公告)号: | CN101572812A | 公开(公告)日: | 2009-11-04 |
发明(设计)人: | 林润 | 申请(专利权)人: | 合肥坤安电子科技有限公司 |
主分类号: | H04N7/26 | 分类号: | H04N7/26;H04N7/30;H04N7/50 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 230001安徽省合肥市蜀*** | 国省代码: | 安徽;34 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 动态 码表 及其 生成 方法 | ||
技术领域
本发明属于变长熵编码方法和算术编码方法领域,特别涉及一种新型的针对残差系数的变长熵编码方法。
背景技术
目前,CAVLC和CABAC分别代表了国际视频标准中性能最优的变长熵编码方法和算术编码方法。其中,CABAC拥有很高的编码效率,但由于算术编码和多模型带来的高复杂度使得其某些应用中仍然受到限制;而拥有较高编码效率以及较低复杂度的CAVLC则更为产业界所接受。
发明内容
本发明的目的是针对现有技术的不足,提供一种新型的针对残差系数的变长熵编码方法。与CAVLC类似,本方法采用了level和run分开编码的基本框架,其核心技术是对level和run分别进行二次游程编码,同时将传统的查找固定码表的方式改进为基于上下文内容由序号表动态生成码字的方式。我们在AVS_M平台上已实现了用本方法对4x4块残差系数亮度分量的编码,其性能较CAVLC只有略微下降(-0.02dB~-0.04dB)。
本发明提供了一种二次游程编码方法:其特征对残差系数进行一次游程编码后可分别得到的level序列和run序列,将这些绝对值为1的level进一步视为level序列的游程;类似的将连续出现值为0的run序列进一步视为run序列的游程,并将level和level的游程poslev组成(lev,poslev)进行成对编码,将run和run的游程posrun组成(run,posrun)进行成对编码。
本发明还提供了一种动态码表:变长编码均是采用查找固定码表的方式编码语法元素。码表均是事先通过对大量的特征序列进行统计,训练生成的。而若想在编码的同时训练码表也会面临复杂度过高的问题。本方法提出了一种动态码表的方法:事先依据统计得到的概率分布对各个信源符号进行排序,对概率最大的符号分配序号0,对概率仅次之的符号分配序号1,依此类推,得到一张序号表。然后在编码的同时通过上下文跟踪信源符号的限制信息,对2维序号表进行某一维或两维的截断,再跟据截断后的序号表动态生成待编码符号相应的码字。
本发明还提供了一种GR码和EG码自适应方法:有实验表明Golomb-Rice和Exp-Golomb这两种规则码字均只能做到在某一特定的高斯信源和量化级数下接近编码效率100%。而Hybrid-Golomb与前两者相比虽然有较高的健壮性,但编码效率始终离100%有一段距离。但是若将各阶GR码和各阶EG码并在一起则可以涵盖大部分不同的信源情况并接近100%的编码效率。
本发明二次游程编码方法,将能够在很大程度上提高对level序列中连续绝对值为1的level元素,以及run序列中连续值为0的run元素的编码效率。
在多张码表自适应选择的技术的基础上,动态码表策略可以进一步充分的利用上下文信息,提高编码效率。在采用简化算法后,现已大大降低了动态生成码字的复杂度。
本发明的一套GR码字(保证不出现伪起始码),和原始的EG码做两选一的自适应选择,即每张codenum映射表选用EG(k=0~3)和GR(k=0~3)中的一种码字结构来封装成最后的码字。经过我们的实验这一方式的确可以提高编码效率。
具体实施方式
下面进一步举例说明本发明的具体实施方式。
1、首先说明编码的语法元素:
经过扫描和游程编码后,残差系数转换为了level和run序列。接着采用本方法完成对level和run的编码。需要编码的语法元素划分为:
(1)numcoeff:非零残差系数的个数。
(2)numleft1:level序列高频端绝对值连续为1的个数。
(3)(lev,levpos)s:这里lev指的是绝对值非0且非1的level;而levpos指的是与lev相邻靠低频端的连续绝对值为1的level的个数。将每一对这样的lev和levpos组成一个联合对(lev,levpos)。
(4)lsigns:level序列中所有绝对值为1的level的符号。
(5)totrun:所有非零run之和。
(6)(run,runpos)s:这里run指的是非0的run;而runpos是指与run相邻靠高频端的连续值为0的run的个数。将每一对这样的run和runpos组成一个联合对(run,runpos)。
2、现以8x8块为例,说明本方法的编码流程:
残差系数经zig-zag扫描后为(左端为低频端,右端为高频端):
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于合肥坤安电子科技有限公司,未经合肥坤安电子科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200810094368.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:基于MIWI协议的开关面板的入网方法
- 下一篇:冷拔机主传动功力装置