[发明专利]无乘法的算术编码无效
申请号: | 98124330.4 | 申请日: | 1998-09-30 |
公开(公告)号: | CN1249473A | 公开(公告)日: | 2000-04-05 |
发明(设计)人: | 赵风光(音译) | 申请(专利权)人: | 朗迅科技公司 |
主分类号: | G06F17/00 | 分类号: | G06F17/00 |
代理公司: | 中国国际贸易促进委员会专利商标事务所 | 代理人: | 于静 |
地址: | 美国*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 乘法 算术 编码 | ||
1、一种产生编码的比特流的无乘法算术编码方法,包括以下步骤:
初始化第一寄存器为1,并且使第二寄存器是一个任意数;
对于一个输入字符串中的每个码元,重复执行下述步骤A-E:
A·接收代表概率为0的一个小数值的第一频率计数,代表概率为
1的一个小数值的第二频率计数,以及该码元;
B·如果第一频率计数大于第二频率计数,那么,交换第一频率计数的值和第二频率计数的值并且设置该编码的码元的值为它的逻辑补码;
C·当第一寄存器的值小于或等于第一频率计数时,重复执行下述步骤C1-C3:
C1、输出第二寄存器的最高有效位,
C2、左移第一寄存器的值和第二寄存器的值,并且
C3、如果第一寄存的值大于第二寄存器的值的二进制补码,那么,设置第一寄存器值为第二寄存器的值的二进制补码加1;
D·如果该码元等于零,则设置第一寄存器的值为第一频率计数,否则从第一寄存器的值中减去第一频率计数并将第一频率计数加到第二寄存器的值中;和
E·选择输入字符串中的下一个码元;并且输出第二寄存器的值作为编码的比特流。
2、一种用于执行无乘法算术编码以便产生一个编码的比特流的处理器,包括:
一个初始化处理单元,用于初始化第一寄存器为1,并使第二寄存器为一个任意数;
一个用于执行于下述操作的处理单元,对于输入字符串中的每个码元,重复执行下列操作A-E:
A·接收代表概率为0的一个小数值的第一频率计数,代表概率为1的一个小数值的第二频率计数,以及该码元;
B·如果第一频率计数大于第二频率计数,那么,交换第一频率计数的值和第二频率计数的值并且设置该编码的码元的值为它的逻辑补码;
C·当第一寄存器的值小于或等于第一频率计数时,重复执行下述步骤C1-C3:
C1、输出第二寄存器的最高有效位,
C2、左移第一寄存器的值和第二寄存器的值,并且
C3、如果第一寄存器的值大于第二寄存器的值的二进制补码,那么,设置第一寄存器的值为第二寄存器的值的二进制补码加1;
D·如果该码元等于零,则设置第一寄存器的值为第一频率计数,否则从第一寄存器的值中减去第一频率计数并将第一频率计数加到第二寄存器的值中;和
E·选择输入字符串中的下一个码元;和用于输出第二寄存器的值作为编码的比特流的一个输出处理单元。
3、一种实现在计算机可读的介质上用于执行无乘法算术编码以产生一个编码的比特流的计算机程序,包括:
一个初始化源代码段,用于初始化第一寄存器为1并且使第二寄存器的为一个任意数;
一个处理源代码段,用于执行下述操作,对于输入字符串中的每个码元,重复执行下述操作A-E:
A·接收代表概率为0的一个小数值的第一频率计数,代表概率为1的一个小数值的第二频率计数,以及该码元;
B·如果第一频率计数大于第二频率计数,那么交换第一频率计数的值和第二频率计数的值并且设置该编码的码元的值为它的逻辑补码;
C·当第一寄存器的值小于或等于第一频率计数时,重复执行下述步骤C1-C3:
C1、输出第二寄存器的最高有效位,
C2、左移第一寄存器的值和第二寄存器的值,并且
C3、如果第一寄存器的值大于第二寄存器的值的二进制补码,那么设置第一寄存器的值为第二寄存器的二进制补码加1;
D·如果该码元等于零,则设置第一寄存器的值为第一频率计数,否则从第一寄存器的值中减去第一频率计数并将和一频率计数加到第二寄存器的值中;和
E·选择输入字符串中的下一个码元;和
一个输出源代码段,用于输出第二寄存器的值作为编码的比特流。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于朗迅科技公司,未经朗迅科技公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/98124330.4/1.html,转载请声明来源钻瓜专利网。
- 上一篇:防火玻璃窗
- 下一篇:模具或模仁预铸成形的方法