[发明专利]构建码表的方法和装置,编码、解码方法和装置有效
申请号: | 201210573145.1 | 申请日: | 2012-12-25 |
公开(公告)号: | CN103905054A | 公开(公告)日: | 2014-07-02 |
发明(设计)人: | 王森;林福辉;罗小伟 | 申请(专利权)人: | 展讯通信(上海)有限公司 |
主分类号: | H03M7/42 | 分类号: | H03M7/42 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 骆苏华 |
地址: | 201203 上海市浦东新区浦东*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 构建 码表 方法 装置 编码 解码 | ||
1.一种构建码表的方法,其特征在于,包括:
将变长编码的所有码字按高位对齐后进行排序;
对排序后的每个码字簇执行至少一步表项构造处理直至所有码字对应的标识信息均为叶子节点,所述码字簇为具有相同前缀的码字,所述前缀的比特数为第一步要读取的比特数;
所述表项构造处理包括:
为所述码字簇确定下一步要读取的比特数;
当所述码字簇中的码字的码长小于或等于已读取的比特数总和,则对应构造第一信息为对应该码字的信息、第二信息为当前读取的比特数中有效的比特数以及标识信息为叶子节点的表项;
当所述码字簇中的码字的码长大于已读取的比特数总和,则对应构造第一信息为对应该码字的下一表项的位置信息、第二信息为下一步要读取的比特数以及标识信息为中间节点的表项。
2.如权利要求1所述的构建码表的方法,其特征在于,所述排序为从小到大排序。
3.如权利要求1所述的构建码表的方法,其特征在于,在所述表项构造处理中,若码字簇中连续多个码字的码长均大于已读取的比特数总和,则仅对其中第一个码字构造对应的表项。
4.如权利要求1所述的构建码表的方法,其特征在于,在所述表项构造处理中,当码字的码长小于已读取的比特数总和,还构造与该码字对应的表项相同的冗余表项。
5.如权利要求1所述的构建码表的方法,其特征在于,所述前缀的比特数满足:码字簇的数量小于或等于2L0,其中L0为前缀的比特数。
6.如权利要求1所述的构建码表的方法,其特征在于,所述下一步要读取的比特数满足:下一步读取到的Li比特的码字数据在[0,2Li-1]的范围内,其中Li为下一步要读取的比特数。
7.如权利要求6所述的构建码表的方法,其特征在于,所述下一步要读取的比特数满足:下一步读取到的Li比特的码字数据尽量多地覆盖[0,2Li-1]的范围。
8.如权利要求1所述的构建码表的方法,其特征在于,所述变长编码为哈夫曼编码。
9.一种编码方法,其特征在于,包括:
采用变长编码方式进行信息编码,以获得变长码码表,所述变长码码表的表项包括变长编码的码字及其对应的信息;
采用权利要求1至8任一项所述构建码表的方法对所述变长码码表进行重构。
10.一种基于码表的解码方法,其特征在于,所述码表采用权利要求1至8任一项所述的构建码表的方法构建,所述解码方法包括:
将码表位置偏移vld_table_offset和码字长度flush_bits初始化为0,将应读码流长度nbits初始化为所述第一步要读取的比特数;
重复执行表项检索步骤直至得到的表项的标识信息为叶子节点;
所述表项检索步骤包括:读取码流数据的前nbits数据nbits_data;以(vld_table_offset+nbits_data)为索引检索所述码表;当得到的表项的标识信息为中间节点,则将所述码流数据左移nbits,令flush_bits=flush_bits+nbits,vld_table_offset=该表项的第一信息,nbits=该表项的第二信息;
当得到的表项的标识信息为叶子节点,输出当前码字的解码结果,所述解码结果包括:码字对应的信息为该表项的第一信息,码字长度等于flush_bits与该表项的第二信息之和。
11.如权利要求10所述的解码方法,其特征在于,所述码流数据为从码流中读取的N比特数据,N大于或等于最大码字长度。
12.如权利要求11所述的解码方法,其特征在于,所述码流为音频码流或视频码流。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于展讯通信(上海)有限公司,未经展讯通信(上海)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210573145.1/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种3D打印机机头控制电路
- 下一篇:铝塑散热器自动组装机