视频数据的基本压缩编码技术与 MPEG 系列标准1. Huffman 编码、算术编码、行程编码的原理、算法及适用范围。1.1 Huffman 编码HUFFMAN 编码又称哈夫曼编码,是一种可变长编码方式,是由美国数学家 David Huffman 创立的,是二叉树的一种特别转化形式。编码的原理是:将使用次数多的代码转换成长度较短的代码,而使用次数少的可以使用较长的编码,并且保持编码的唯一可解性。Huffman 算法的最根本的原则是:累计的(字符的统计数字*字符的编码长度)为最小,也就是权值(字符的统计数字*字符的编码长度)的和最小。由于 Huffman 编码需要扫描两次,第一次是统计数字,第二次是编码写文件,大大影响了速度,因此有人发明了 enhanced Huffman aglorithm。这种算法只扫描一遍文件,动态产生Huffman 树,即每读 n 个字节就重新编码一次 Huffman 树,以达到提高速度的目的。在解码的过程中使用动态还原技术。Huffman 编码是 Huffman 树的一个应用。Huffman 编码应用广泛,如 JPEG 中就应用了 Huffman 编码。 1.2 算术编码算术编码是图像压缩的主要算法之一。 是一种无损数据压缩方法,也是一种熵编码的方法。和其它熵编码方法不同的地方在于,其他的熵编码方法通常是把输入的消息分割为符号,然后对每个符号进行编码,而算术编码是直接把整个输入的消息编码为一个数,一个满足(0.0 ≤ n < 1.0)的小数 n。在给定符号集和符号概率的情况下,算术编码可以给出接近最优的编码结果。使用算术编码的压缩算法通常先要对输入符号的概率进行估量,然后再编码。这个估量越准,编码结果就越接近最优的结果。算术编码是用符号的概率和它的编码间隔两俩个基本参数来描述的(见下文教程)。算术编码可以是静态的或是自适应的。在静态算术编码中,信源符号的概率是固定的。在自适应算术编码中,信源符号的概率根据编码时符号出现的频繁程度动态地进行修改。 在编码期间估算信源符号概率的过程叫建模。需要开发动态算术编码的原因,是因为事先知道精确的信源符号概率是很难的,而且是不切实际的。动态建模是确定编码器压缩效率的关键。算术编码在图像数据压缩标准(如 JPEG,JBIG)中扮演了重要的角色。在算术编码中,消 息用 0 到 1 之间的实数进行编码,算术编码用到两个基本的参数:符号的概率和它的编码 间隔。信源符号的概率决定压缩编码的效率,也决定编码过程中信源符号的间隔,而这 些间隔包含在 0 到 1 之间。编码...