多媒体数据压缩方法根据不同的依据可产生不同的分类。第一种,根据质量有无损失可分为有损失编码和无损失编码。第二种,按照其作用域在空间域还是频率域上,可分为空间方法、变换方法和混合方法。第三种,根据是否自适应可分为自适应性编码和非自适应性编码。下面介绍几种常用的压缩编码方法。
1.预测编码
编码器记录与传输的不是样本的真实值,而是它与预测值的差,这一方法称为DPCM(Differential Pulse Code Modulation)方法。预测值由欲编码图像信号的过去信息决定。通常采用线性预测,比例系数由其统计特性估计得到。预测不仅可以在相邻像素值之间进行,而且可以在行与行之间进行。由于空间相关性,真实值与预测值的差值变化范围远远小于真实值的变化范围,因而可以采用较少的位数来表示。另外,若利用人的视觉特性对差值进行非均匀量化,则会获得更高的压缩比。
2.变换编码
变换编码的主要思想是利用图像块内像素值之间的相关性,把图像变换到一组新的基上,使得能量集中到少数几个变换系数上,通过存储这些系数而达到压缩的目的。在变换编码中,由于对整幅图像进行变换的计算量太大,所以一般把原始图像分成许多个矩形区域子图像独立进行变换。常用的变换有KLT(Karhunen-Loeve Transform)、DCT(Discrete Cosine Transform)、WHT(Walsh-Hadamard Transform)和DFT(Discrete Fourier Transform)。其中,KLT是消除相关性最有效的变换,但是由于其计算量较大而没被采用。而DCT消除相关性的效果接近KLT变换,而且存在快速的算法,所以被人们普遍接受。
3.统计编码(www.daowen.com)
最常用的统计编码是Huffman编码。它对于出现频率大的符号用较少的位数来表示,而对于出现频率小的符号用较多的位数来表示。其编码效率主要取决于需要编码的符号出现的概率分布,越集中则压缩比越高。另一个较好的统计编码是算术编码方法。每一个符号对应[0,1)上的一个子区间,区间长度为该符号出现的概率。该方法将被编码的符号串(数值串)表示为实数0~1的一个区间。初始把它设为整个区间[0,1),当出现一个新的待编码符号,先把完整的[0,1)区间影射到上一次形成的区间,然后新区间取为[0,1)上新符号对应区间所映成的像。解码时,根据区间的覆盖性来逐一解出原符号串。
算术编码的优点是可方便地使用自适应编码,可以根据当前接收的数据不断地更改概率模型。当信源符号概率比较接近时,一般使用算术编码,而不使用Huffman编码,这是由于此时Huffman编码效率较低。JPEG成员对多幅图像的测试结果表明,算术编码比Huffman编码能提高5%的效率。因此,在JPEG的扩展系统中,用算术编码代替了Huff-man方法。
游程编码实际上是一维信号的分段常数逼近,是一个相当简单的编码方法。编码器不断比较一维的相邻元素值的变化幅度,一旦发现有明显的变化,就称一个游程开始了。编码器对每一个游程需要确定两种信息:游程的起点位置和该游程对应的信号值。由于游程是连续的,一个游程的终止是下一个游程的开始,所以游程的位置信息和信号值都可以用两种方式记录:差分方式和绝对数值方式。一般情况下,差分方式具有较高的效率。对游程编码来说,显然游程越长则效率越高。
4.混合编码
混合编码是指合并变换和预测技术的编码方法。通常有两种编码形式,第一种为在某一方向上进行合并变换(例如X方向),而在另一方向(例如Y方向)上用DPCM对变换系数进行预测编码。另一种形式是对动态图像而言,二维变换再加上时间方向上的DPCM预测。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。