[发明专利]一种适合硬件实现的快速指数哥伦布码解码方法无效
申请号: | 200910099561.0 | 申请日: | 2009-06-18 |
公开(公告)号: | CN101707484A | 公开(公告)日: | 2010-05-12 |
发明(设计)人: | 刘亮;陈日仪 | 申请(专利权)人: | 杭州高特信息技术有限公司 |
主分类号: | H03M7/40 | 分类号: | H03M7/40;H04N7/26;H04N7/50 |
代理公司: | 浙江杭州金通专利事务所有限公司 33100 | 代理人: | 沈孝敬 |
地址: | 310012 浙江省杭州市西*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 适合 硬件 实现 快速 指数 哥伦布 解码 方法 | ||
所属技术领域
本方法用于在硬件ASIC上实现快速AVS、H.264等视频编码码流中的的指数哥 伦布码解码。
背景技术
AVS和H.264标准中都采用自适应变长编码技术——指数哥伦布码。指数哥伦 布码是一种变长码,因此其码长也是由其码字内容决定的。然而指数哥伦布码又有 区别于通常的变长码,它具有对应于阶数的固定形式,不像一般的变长码具有对应 的码表。这就是说当一个码字是由指数哥伦布编码时,不需要知道它的变长码码表, 而只要根据它的阶数按照表的规则构造出一张码表来。解析k阶指数哥伦布码时,首 先从比特流的当前位置开始寻找第一个非零比特,并将找到的零比特个数记为 leadingZeroBits,然后根据leadingZeroBits计算CodeNum。下表给出了0阶、1阶、2 阶指数哥伦布码的结构。指数哥伦布码的比特串分为“前缀”和“后缀”两部分。前缀 由leadingZeroBits个连续的‘0’和一个‘1’构成。后缀由leadingZeroBits+k个比特构成, 即表中的xn串,xn的值为‘0’或‘1’。
在ASIC上以通常的串行实现指数哥伦布码解码时,码流逐位送入解码器,解 码器通过逐位匹配实现可变长码的解码。由于这种方式采用逐位操作方式,而可变 长码的码长又各不相同,使得码字识别所需的运行周期也不相同。在解码长较短、 阶数低的码字时,其解码速度较快,而在解码长较长、阶数高的码字时,其解码速 度较慢。显然,位串行解码方案效率相对较低,解码速度因码字长度不同而不同, 无法满足某些对实时性要求较高的应用场合。另一种常用的PLA解码算法,其特点 是因为容易实现,且可靠。PLA是一种特殊的ROM,它用较少的存储单元就能存储 大量的信息。但用PLA实现解码时,当码字的CodeNum不大时可以很好地在硬件上 得到综合并实现解码功能;但是当该码字的CodeNum的范围超过210时,生成的PLA 码表很难得到速度和面积上均令人满意的结果结果,而且大的PLA码表会导致电路 的关键路径过长,因此,纯粹的PLA并行解码算法不适合解CodeNum大的指数哥伦 布码。综上所述,以完全串行或完全并行的方式都不能很好的在硬件上实现指数哥 伦布码的解码。
发明内容
为了解决纯串行解码在解码长较长、阶数高的码字时,其解码速度较慢、纯并 行解码速度和面积不理想,而且电路的关键路径过长等问题,本方法提供一种适合 硬件实现,电路面积小、工作频率低、存储数据少的快速实现指数哥伦布码解码的 方法。
解决上述问题采用的技术方案是:一种适合硬件实现的快速指数哥伦布码解码 方法,其特征是按以下步骤进行:
(1)解码器每次并行输入32位定长的未解码数据串;
(2)将该数据串中的高位数据与一组同样长度的二进制数比较,确定零比特 个数,进而根据指数哥伦布码的阶数确定有效码字长度;所述的一组二进制数的数 值分别为20、21、22......2n-1,其中,n是比较器的个数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州高特信息技术有限公司,未经杭州高特信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910099561.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:校线灯
- 下一篇:耐磨性电液动扇形闸门