第2幸多媒体信息编码 22基本编码方法 221行程编码 行程编码是一种简单的无损压缩编码方法,它通过压缩原始 数据中相同的字节序列实现数据压缩。在图像和声音数据中可能 包含大量的相同字节连续重复的序列,通过行程编码可以将这些 重复字节压缩掉,取而代之的是一个更加紧密的字节序列。例如, 个原始数据字符串为 RTTTTTTTTABBCDGHJK,采用行程编码 后的字符串为R#8 TABBCDGHJK,这里用#8T替换掉8个T字符, 符号“#”是特殊标识符,用于表示行程编码。如果原始数据字 符串也包含了“#”符号,则必须用两个“#”符号替换掉原始 数据字符串中的“#”符号
第2章 多媒体信息编码 2.2 基本编码方法 2.2.1 行程编码 行程编码是一种简单的无损压缩编码方法, 它通过压缩原始 数据中相同的字节序列实现数据压缩。在图像和声音数据中可能 包含大量的相同字节连续重复的序列, 通过行程编码可以将这些 重复字节压缩掉, 取而代之的是一个更加紧密的字节序列。 例如, 一个原始数据字符串为RTTTTTTTTABBCDGHJK, 采用行程编码 后的字符串为R#8TABBCDGHJK, 这里用#8T替换掉8个T字符, 符号“#”是特殊标识符, 用于表示行程编码。 如果原始数据字 符串也包含了“#” 符号, 则必须用两个“#” 符号替换掉原始 数据字符串中的“#” 符号
第2幸多媒体信息编码 22,2哈夫曼编码 哈夫曼( Huffman)编码是一种无损压缩编码方法,它根据信源 符号出现的概率大小进行排序,出现的概率大的符号分配短码,反 之分配长码。在分配代码过程中,需要建立一个n阶二叉树,其编 码过程如下 ①对信源符号按其出现的概率进行递减排序; ②将两个最小的概率相加,其和作为新符号的概率; ③重复①和②,直到概率之和达到1为止 ④每次合并消息时,将被合并的消息赋予1和0或者0和1; ⑤寻找从每个信源符号到概率为1处的路径,记录下路径上的1和0; ⑥从树根节点到叶子节点,对每个信源符号列出0、1序列
第2章 多媒体信息编码 2.2.2 哈夫曼编码 哈夫曼(Huffman)编码是一种无损压缩编码方法, 它根据信源 符号出现的概率大小进行排序, 出现的概率大的符号分配短码, 反 之分配长码。 在分配代码过程中, 需要建立一个n阶二叉树, 其编 码过程如下: ① 对信源符号按其出现的概率进行递减排序; ② 将两个最小的概率相加, 其和作为新符号的概率; ③ 重复①和②, 直到概率之和达到1为止; ④ 每次合并消息时, 将被合并的消息赋予1和0或者0和1; ⑤ 寻找从每个信源符号到概率为1处的路径, 记录下路径上的1和0; ⑥ 从树根节点到叶子节点, 对每个信源符号列出0、 1序列
第2幸多媒信息編码 例如,A、B、C、D四个字符出现的概率分别为:P(A)=3/4 P(B=1/8;P(C)=1/16;P(D=1/16,按照上述编码过程将生成如 图21所示的二叉树,获得的编码结果是:HA=1;HB=01 H(C)=001;H(D)=000该结果存放在哈夫曼表中 P(ABCD= P(BCD=1/4 0 P(CD)=1/8 0 P(A)=3/4 P(B)=18 P(C=/16P(D=1/16 图2.1哈夫曼编码生成的二叉树
第2章 多媒体信息编码 例如, A、B、C、D四个字符出现的概率分别为: P(A)=3/4; P(B)=1/8; P(C)= 1/16; P(D)=1/16, 按照上述编码过程将生成如 图2.1所示的二叉树, 获得的编码结果是: H(A)=1; H(B)=01; H(C)=001; H(D)=000, 该结果存放在哈夫曼表中。 图 2.1 哈夫曼编码生成的二叉树
第2幸多媒体信息编码 223离散余弦变换编码 变换编码主要有离散傅立叶变换(DFη编码、离散余弦变换 (DCT编码等。其中,DCT编码方法被普遍使用,在JPEG、 MPEG和H261等标准中都采用了DCT编码。由于声音信号只有 个时间维,因此音频信号压缩采用一维DCT编码,而图像压缩 必须考虑水平和垂直两个方向,因此图像压缩则采用二维DCT编 码
第2章 多媒体信息编码 2.2.3 离散余弦变换编码 变换编码主要有离散傅立叶变换(DFT)编码、 离散余弦变换 (DCT)编码等。其中, DCT编码方法被普遍使用, 在JPEG、 MPEG和H.261等标准中都采用了DCT编码。 由于声音信号只有 一个时间维, 因此音频信号压缩采用一维DCT编码, 而图像压缩 必须考虑水平和垂直两个方向, 因此图像压缩则采用二维DCT编 码
第2幸多媒体信息编码 DCT编码方法是对一个8×8图像块灰度样本数据流进行 压缩,而彩色图像压缩可看成是压缩图像的多个分量。在编码 器中,首先将源图像8×8样本数据块(像素块)的取值范围由 [0,2-1](无符号)转换成[-21,2-1-1](有符号),其中p 为样本定义的精度。然后对8×8样本数据块进行正向离散余弦 变换(FDCT)。在解码器中,利用逆向离散余弦变换(IDCT) 重建8×8样本数据块,恢复图像。FDCT和IDCT的数学表达式 如(1)式和(2)式所示
第2章 多媒体信息编码 DCT编码方法是对一个8×8图像块灰度样本数据流进行 压缩, 而彩色图像压缩可看成是压缩图像的多个分量。在编码 器中, 首先将源图像8×8样本数据块(像素块)的取值范围由 [0, 2 p -1](无符号)转换成[-2 p-1 , 2 p-1 -1](有符号), 其中p 为样本定义的精度。 然后对8×8样本数据块进行正向离散余弦 变换(FDCT)。在解码器中, 利用逆向离散余弦变换(IDCT) 重建8×8样本数据块, 恢复图像。 FDCT和IDCT的数学表达式 如(1)式和(2)式所示: