zl程序教程

您现在的位置是:首页 >  其他

当前栏目

算术编码例题详解

编码 详解 例题 算术
2023-06-13 09:17:09 时间

算术编码是什么?

答:算术 编码 是图像压缩的主要算法之一。 是一种无损数据压缩方法,也是一种熵 编码 的方法。 和其它熵 编码 方法不同的地方在于,其他的熵 编码 方法通常是把输入的消息分割为符号,然后对每个符号进行 编码 ,而算术 编码 是直接把整个输入的消息 编码 为一个数,一个满足 (0.0 ≤ n < 1.0)的小数n。

算术编码的基本原理和过程是什么?

答:本篇介绍算术 编码 的基本原理和过程。 早在1948年,香农就提出将信源符号依其出现的概率降序排序,用符号序列累计概率的二进值作为对芯源的 编码 ,并从理论上论证了它的优越性。 1960年, Peter Elias发现无需排序,只要编、解码端使用相同的符号顺序即可,提出了算术 编码 的概念。

算术编码对整条信息的输出是什么?

答:更神奇的事情发生了,算术编码对整条信息(无论信息有多么长),其输出仅仅是一个数,而且是一个介于 0 和 1 之间的二进制小数。 例如算术编码对某条信息的输出为 1010001111,那么它表示小数 0.1010001111,也即十进制数 0.64。

如何使用自适应模型的算术编码算法?

答:使用自适应模型的算术编码算法必须考虑如何为从未出现过的上下文编码。 例如,在 1 阶上下文模型中,需要统计出现概率的上下文可能有 256 * 256 = 65536 种,因为 0 - 255 的所有字符都有可能出现在 0 - 255 个字符中任何一个之后。 当我们面对一个从未出现过的上下文时(比如刚编码过字符 b,要编码字符 d,而在此之前,d 从未出现在 b 的后面),该怎样确定字符的概率呢? 比较简单的办法是在压缩开始之前,为所有可能的上下文分配计数为 1 的出现次数,如果在压缩中碰到从未出现的 bd 组合,我们认为 d 出现在 b 之后的次数为 1,并可由此得到概率进行正确的编码。 使用这种方法的问题是,在压缩开始之前,在某上下文中的字符已经具有了一个比较小的频率。