算术编码
来源:互联网 发布:优化最好的安卓系统 编辑:程序博客网 时间:2024/04/29 04:36
1.算术编码
2.举例说明算术编码过程
[ 例 ]设英文元音字母采用固定模式符号概率分配如下:
字符
a
e
i
o
u
概率
0.2
0.3
0.1
0.2
0.2
范围
[0,0.2]
[0.2,0.5]
[0.5,0.6]
[0.6,0.8]
[0.8,1.0]
设编码的数据串为 eai 。令 high 为编码间隔的高端 ,low 为编码间隔的低端 , range 为编码间隔的长度 ,rangelow 为编码字符分配的间隔低端 ,rangehigh 为编码字符分配的间隔高端。
初始 high=1,low=0,range=high-low, 一个字符编码后新的 low 和 high 按下式计算 :
·low =low+range × rangelow
·high =low+range×rangehigh
(1) 在第一个字符 e 被编码时 ,e 的 rangelow=0.2,rangehigh=0.5, 因此 :
low=0 + 1 × 0.2 = 0.2
high=0 + 1 × 0.5 = 0.5
range=high-low=0.5-0.2=0.3
此时分配给 e 的范围为 [0.2,0.5] 。
(2)第二个字符 a 编码时使用新生成范围 [0.2,0.5],a 的 rangelow=0, rangehigh=0.2, 因此:
low=0.2 十 0.3 × 0=0.2
high=0.2 +0.3 × 0.2=0.26
range=0.06
范围变成 [0.2,0.26] 。
(3) 对下一个字符 i 编号,i 的 rangelow=0.5,rangehigh=0.6, 则:
low=0.2 + 0.06 × 0.5=0.23
high=0.2 + 0.06 × 0.6=0.236
即用 [0.23,0.236] 表示数据串 eai, 如果解码器知道最后范围是
[0.23,0.236 ]这一范 围 , 它马上可解得一个字符为 e, 然后依次得到惟一解 a, 即最终得到 eai 。
3.算术编码的特点
①不必预先定义概率模型 , 自适应模式具有独特的优点;
②信源符号概率接近时 , 建议使用算术编码 , 这种情况下其效率高于 Huffman 编码;
③算术编码绕过了用一个特定的代码替代一个输入符号的想法 , 用一个浮点输出数值代替一个流的输入符号 , 较长的复杂的消息输出的数值中就需要更多的位数。
④算术编码实现方法复杂一些 , 但 JPEG 成员对多幅图像的测试结果表明 , 算术编码比Huffman 编码提高了 5% 左右的效率 , 因此在 JPEG 扩展系统中用算术编码取代 Huffman 编码。
- 算术编码
- 算术编码
- 算术编码
- 算术编码
- 算术编码
- 算术编码
- 算术编码
- 算术编码
- 算术编码
- 算术编码算法
- 算术编码简单研究
- 算术编码简单研究
- 算术编码简单研究
- 03 算术编码
- 算术编码(浮点)
- 模拟算术编码
- 算术编码简介
- matlab 算术编码
- Siebel Config: Enabling CTI Toolbar in Mobile Web Client
- oracle日常操作总结
- Linux的关机与重启命令
- 郁闷中。。。
- 龚方雄:中国股市仍处牛市初期
- 算术编码
- sql操作基础学习笔记
- 实用windows使用技巧
- asp中application和session的区别
- java调用Shell脚本
- GE To Open Advanced Manufacturing Technology & Software Center in Michigan
- Oracle实用操作
- 院士教我们这样做科研
- Chrome OS 就是“浏览器OS化,OS浏览器化”的最新进展吧