多媒体技术
中南大学信息科学与工程学院黄东军
第四章无损数据压缩技术
1 熵编码
算术编码(Arithmetic Coding)举例
设 s = ( a1, a2, a3, a4 )
p = ( )
message = a3a1a4a1a3a4a2
则算术编码算法的操作如下:
①将区间[ , ) 按照码元的概率分成4个部分
码元
概率
初始子区间
a1
a2
a3
a4
[ , )
[ , )
[ , )
[ , )
1 熵编码
算术编码(Arithmetic Coding)举例
②输入消息的第1个字符 a3 ,将其对应的初始子区间作为它的编码区间,即编码区间为[, )。
1
a3
a1
a4
a1
a3
a4
a2
1 熵编码
算术编码(Arithmetic Coding)举例
③输入消息的第2个字符a1,在上一步得到的编码区间中取第1个十分之一作为a3a1串的编码区间,即[,)。
1
a3
a1
a4
a1
a3
a4
a2
1 熵编码
算术编码(Arithmetic Coding)举例
④输入第3个字符 a4 ,在上一步得到的编码区间中取第7个十分之一开始的3个十分之一作为a3a1a4串的编码区间,即[,)。
1
a3
a1
a4
a1
a3
a4
a2
1 熵编码
算术编码(Arithmetic Coding)举例
⑤对后续输入字符a1a3a4a2,重复上述处理过程。
1
a3
a1
a4
a1
a3
a4
a2
1 熵编码
算术编码(Arithmetic Coding)举例
⑥当所有输入字符处理完毕,最后所得的编码区间的下界值或者上界值即为消息串的编码输出,该输出值为一个实数:。
1
a3
a1
a4
a1
a3
a4
a2
1 熵编码
算术编码(Arithmetic Coding)举例
解码过程
①输入待解码的编码实数,检查其落入的初始子区间,该区间对应的字符即为第一个译码字符。
a3
1 熵编码
算术编码(Arithmetic Coding)举例
②按照所有信源字符概率大小,将上一步译码字符对应的区间分成几个子区间,在这些子区间中,输入数
计算机多媒体的技术 来自淘豆网m.daumloan.com转载请标明出处.