一、算术编码定义
它是一种非分组编码算法。它是从全序列出发,采用递推形式的连续编码。它不是将单个的信源符号映射成一个码字,而是将整个输入序列的符号依据它们的概率映射为实数轴上区间[0 1)内的一个小区间,再在该小区间内选择一个代表性的二进制小数,作为实际的编码输出。
算术编码不同于霍夫曼码,它 是非分组(非块)码。它从全序列出发,考虑符号之间的关系来进行编码。算术编码利用了 累积概率的概念。算术码主要的编码方法是 计算输入信源符号序列所对应的区间。因为在编码过程中,每输入一个符号要进行乘法和加法运算,所以称此编码方法为算术编码。
二、算术编码的编码
设输入符号串s取自符号集S={a1,a2,a3,…,am},p(ai)={p1,p2,p3,…,pm}