发明名称 可变长度解码系统和方法
摘要 通过将可变代码表转换为可变长度解码代码表加上控制表对可变长度代码进行解码的方法,由此通用可变长度解码器能够进行解码。
申请公布号 CN1251414C 申请公布日期 2006.04.12
申请号 CN01108378.6 申请日期 2001.03.02
申请人 德克萨斯仪器股份有限公司 发明人 周民华
分类号 H03M7/42(2006.01) 主分类号 H03M7/42(2006.01)
代理机构 上海专利商标事务所有限公司 代理人 李玲
主权项 1.一种将位序列解码为可变长度代码的方法,其特征在于包括以下步骤:(a)从可变长度代码表构造第一代码表和第一控制表,这里所述第一代码表和第一控制表是利用以下步骤构造而成的:(i)确定可变长度代码表中的最大码字长度“len_max”;(ii)使可变长度代码表的每一个码字“vlc_code”左移“len_max”-“长度”位,这里“长度”是在“vlc_code”中的位数;(iii)通过增加“值”对左移的码字排序,这里左移的码字具有“值”,对于任何丢失的最低有效位,当被解译为具有含0的“len_max”位的二进制数时,这一排序形成左移码字的新表;(iv)形成左移码字的新表的子表,这里当2n-1≤“值”<2n时,将左移的码字放入子表n中,但是对于“值”等于0,该左移的码字放入子表0中;(v)对于已经不对应于左移码字的“len_max”位的每一个可能二进制数,通过将虚设码字插入到子表中,扩展所述新表,这里具有丢失的最低有效位的左移码字准备代表丢失的最低有效位的所有组合;(vi)确定每一个子表的“移位”为“len_max”减去子表中左移码字的最大长度,以及对于每一个子表,形成具有一个项目,即“移位”、“偏移”,的第一控制表,这里“偏移”是在以下步骤(viii)中确定的,(vii)形成每一个项目,即“长度”、“模式”,对应于左移码字或者对应于扩展的新表的虚设码字的第一代码表,第一代码表项目具有与扩展的新代码表相同的排序,而每一个项目具有根据该项目在第一代码表中位置的“索引”,这里“长度”来自步骤(ii),或者来自步骤(v)的虚设码字的0,而“模式”是“vlc_code”或者来自步骤(v)的虚设码字;(viii)通过“索引”=“偏移”+(“值”>>“移位”),确定每一个子表的“偏移”,这里“>>”代表右移;(b)通过以下步骤将位序列解码为所述可变长度代码的码字:(i)将距所述序列的当前解码位置的“len_max”位的间隔解译为一个二进制数,得到一个“值”;(ii)从该“值”确定一个子表;(iii)通过在第一控制表中查找,确定所述子表的“移位”和“偏移”,以及从所述的“移位”、“偏移”和“值”确定“索引”;(iv)通过在第一控制表中查找,确定“索引”的“长度”和“模式”;(v)使当前解码位置更新“长度”位;以及(vi)输出“模式”,作为解码的码字。
地址 美国得克萨斯州