- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
4.4.3 算术编码 一. 算术编码基本原理: 算术编码方法是将被编码的信息表示成实 数0和1之间的一个间隔。信息越长编码表示它 的间隙就越小,表示这一间隙所须二进位就越 多,大概率符号出现的概率越大对应于区间愈 宽,可用长度较短的码字表示;小概率符号出 现概率越小层间愈窄,需要较长码字表示。 二. 编码算法及举例 实际问题是,只针对某个输入,“0”,“1”符号组合,求出其输出码字,也就是说求出这组符号将落入子区间的起点(头)和子区间的宽度,在这个范围内便可确定输出码字。 C+A等于子区间的右端点,算术编码的结果落在子区间内。输入编码符号串中大概率的符号出现频率愈高,对应的子区间变宽,这时可用短的码字表示编码结果;相反,输入符号串中小概率的符号出现频率增加,相应的子区间变窄,落入该区间的编码结果,需要一个长的码字表示。 例: 行算术编码 0 为LPS Qe= 1/8 =(0.001)b 1 为MPS Pe= 7/8 =(0.111)b 初始状态: C=0 子区间起始位置 A=1 子区域宽度 四. 改进区间算法 改进区间编码 改进区间解码 1 改进区间编码 2. 改进区间解码 算术编码的特点: (1). 不需要码表; (2). 当信源概率比较接近时,建议使用算术编码。 (3). JPEG成员对多幅图进行算术编码效率可以提高5%。 JPEG扩展系统用算术编码代替Huffman。 * * 图4.19 算术编码区间分割图 编码时设置两个专用寄存器,A寄存器和C寄存器,这两个寄存器中的内容是存储符号“0”或“1”到来之前子区间的状态参数。 设C寄存器内的数值为子区间的起始位置,A寄存器内的数值为子区间的宽度,该宽度正好是已输入符号串的概率(初始化时C=0, A=1)。 随被编码符号流“0”符号和“1”符号不断输入,C寄存器中的值和A寄存器中的值,按以下规律不断修正。 当低概率符号LPS到来时 (4.52) 当高概率符号MPS到来时 (4.53) 初始化时:C=0 A=1 当第一个符号“1”到来后: C = C+AQe = 0.001 A = Ape = 0.111 第二个符号“1”到来后 C = C+AQe = 0.001+(0.111)?(0.001 = 0.001111 A = APe = (0.111)?(0.111) 算术编码原理图 三. 解码算法及举例 解码是编码的逆过程。在解码过程中同样设置两个寄存器C’和寄存器A。C’寄存器和A寄存器中的内容,要根据每次符号“1”或“0”按照以下公式修改。 当C’落在0~QeA子区间内,解码符号赋以“0”,这时 (4.54) 当C’落在QeA~A子区间内,解码符号赋以“1”,这时 C'=C'-QeA A =A(1-Qe) (4.55) 利用上述公式多次重复计算,求得与解码输入符号串所对应的解码输出。解码结果是由“0”、“1”构成的符号串。现在以上面编码结果“0101”为例,对它进行解码。 设开始时,MPS对应“1”符号,LPS对应“0”符号,Qe = (0.001)b, A =1, C’=0.0101。首先将区间[0.1)分割成两个子区间,分割方法是让Qe靠近零的一侧,Pe靠近1的一侧,以QeA为分界,0~QeA构成一个子区间,QeA~A构成另一个子区间。解码开始后,判C’=0.0101的值,落在哪个区间。 当C’落在0~QeA子区间,解码符号赋以“0”,这时 C'=C' A =QeA 当C’落在QeA~A子区间,解码符号赋以“1”,这时 C'=C'-QeA A =A(1-Qe) 图4.22 改进区间算术编码 图4.23 改进区间算术解码
文档评论(0)