压缩失真

<image>

<image>

压缩失真（Compression artifact），是媒体（包括图像、音讯和影片）在使用破坏性资料压缩之后产生的明显失真，在图像和视频中也常将“artifact”译作伪像。

破坏性资料压缩在压缩的过程中，为了使数据变得足够简化而能保存在一定的磁盘空间或是为了在一定的带宽限制（即媒体传输或串流的数据速率或比特率）中传输，而舍弃了部分的资料。如果压缩程序不能使用压缩过的版本产生足够的数据还原压缩前的数据，便会导致品质减少或是产生失真。或者说，使用的压缩算法可能不能足够聪明的辨别某些小地方的失真，而这些往往会令人感觉讨厌。

压缩失真出现在许多的媒体中，例如DVD，以及一些常见的电脑文件格式，如JPEG、MP3或MPEG文件，以及某些其他形式的光碟，例如索尼的MiniDisc格式。另外，一些未经过压缩的媒体格式（诸如镭射影碟、CDDA以及WAV文件）或是非破坏性资料压缩媒体（诸如FLAC或PNG）不会有压缩失真。

在设计一个破坏性资料压缩算法时，尽量减少可察觉的失真是一个很关键的目标。然而，这些失真有时也被“有意”的应用在艺术相关目的，即一种被称为故障艺术 或资料狂舞的艺术风格。

从技术上的角度来说，压缩失真是一种特别类型的数据错误，这种错误通常是因为破坏性资料压缩中的量化而产生的结果。

## 图像

<image>

在使用基于区块的编码算法进行量化时，像是在使用JPEG压缩的图像中，有可能出现几种类型的失真。

- 振铃效应
- 轮廓
- 色调分离
- 沿着弯曲的边缘有阶梯状的噪声（混叠）
- 方块效应

另外使用模式匹配来删除重复或相似资料的破坏性资料压缩算法应用在文字印刷时，很有可能产生难以检测的印刷错误。例如：数字“6”和“8”可能会被算法误换。这样的现象曾经发在某一些使用JBIG2的影印机上。

### 方块效应

<image>

在低比特率时，任何基于区块的破坏性资料压缩算法皆会在像素区块与区块之间的边界上产生可见的失真。这些边界可以是变换区块边界，预测区块边界，或是两者皆是，也可能与宏区块边界同时发生。不论失真的原因是什么，宏区块这一个词很经常被使用。另外这个现象也被称为平铺，拼接，像素化，缝制，及国际象棋盘化。

方块效应是过度的区块变换编码原则而产生的。将变换（例如离散余弦变换）应用在一个区块的像素上，并且为了实现破坏性资料压缩，每一个区块的转换系数皆被量化。当我们使用越低的比特率时，这些系数就会被越粗略的储存并且会有越多的系数被量化为零。据统计结果，图像资料一般而言低频率的成分比高频率的成分多，因此在量化之后资料中低频率的部分一般会有较多被保留下来，这个现象会导致模糊和低分辨率分区的出现。在最极端的状况下，只会有频率为零（直流）的系数被保留下来（该直流系数就是这个分区的平均颜色），也就是说这个变换区块在重建后只有一个单一的颜色。

因为这个量化的处理过程是被单独的应用在每一个区块，所以相邻区块系数的量化皆不同。这个现象导致在区块边界上出现不连续。这个现象在颜色变化平缓的地方最明显，因为这些地方比较少有可以这盖这个现象的图像内容。

### 抑制图像失真

已经有各种不同的方法被提出来解决图像压缩产生的影响，但因为了使用标准化的压缩/解压缩技术，并保留压缩技术的优点（例如：较低的传输和储存成本），这些方法当中大部分关注于图像的“后处理”；也就是说，在观看者收到或观看图像时进行图像的处理。目前没有任何一个后处理技术显示出能在所有的情况下提高图像的品质；因此，没有一个方法被广泛地接受，然而仍有一些方法被实作并应用在一些专有的系统中。例如在许多的照片编辑软件中有内建专有抑制JPEG失真的算法。一些消费性产品中往往称这些后处理程序为“MPEG噪声抑制”。

## 影片

<image>

当使用运动预测的方式进行压缩时，如MPEG-1、MPEG-2或MPEG-4，压缩失真常常会停留在几个解压缩出来相依的帧上，并且会随着图像的光流移动，形成一种特别的效果，像是煤尘在画面中随着物体移动。

在已压缩位元流中的数据错误，可能来自于传输错误，可以导致类似严重量化误差的错误，甚至在短时间内完全的打断数据串流的解析，造成图片的崩溃。当严重的错误发生在位元流中，一段时间内解码器仍然持续运作并更新受损的影像，便造成鬼影现象并持续解码到下一个独立压缩的帧为止。在MPEG影像编码中，这些独立的帧被称为“节点图像”（I画格），其中的I表示Intra。在下一个节点图像到达以前，解码器可以执行错误隐蔽。

### 运动补偿区块边界失真

区块边界的不连续性可能发生在运动补偿预测区块的边缘。在运动补偿影像压缩中，当前画格是借由前几个已解码的帧中移动的区块来预测的。如果两个邻近的区块使用不同的运动向量，则在这两个区块的边缘之间就会出现不连续的现象。

### 蚊式噪声

影像的压缩失真包括静态组成图像压缩的累积结果，例如振铃效应或是其他边缘失真（在连续的静态影像中在边缘附近产生连续闪烁模糊的小点），被称为蚊式噪声，因为它们就像蚊子蜂拥到该物体的周围。

### 抑制影像失真

在区块边缘的失真可以透过去区块滤波器抑制。而当在静止图像编码中，我们也可以将去区块滤波器应用在解码器的输出做为后处理。

在闭环预测的运动预测影像编码中，编码器使用解码器的输出作为对未来几帧预测的参考。为此，这个编码在概念上整合了一个解码器。如果这个“解码器”中进行去区块的处理，则经过去区块的画格被使用为运动补偿的参考画格，如此可以借由避免跨帧传递方块效应来改善编码效率。这样的设计被称为“在环去区块滤波器”。标准中订定使用在环去区块滤波器的包括VC-1，H.263 Annex J，H.264/AVC和H.265/HEVC。

## 音讯

破坏性音讯压缩一般与心理声学模型（人类听觉模型）一起被使用。破坏性音讯压缩通常涉及使用时域/频域变换，例如改进的离散余弦变换。基于心理声学模型，我们可以利用遮蔽效应，像是频域遮蔽及时域遮蔽，使得不会记录到不会被注意到的声音。例如，在一般情况下，人类不能察觉到一个与音量较大的声音同时出现的微小声音。破坏性压缩技术可能可以识别出这个微小的声音并尝试将其移除。此外，量化噪声也会因被其他更为明显的声音遮盖而“隐藏”。在低压缩率的时候，我们可以使用较保守的心理声学模型及较小的区块大小。

当心理声学模型不准确时、变换区块大小受限时、或使用积极的压缩时，这些情况下可能会导致压缩失真。在压缩音讯中的压缩失真通常表现为振铃效应、预回声、birdie artifacts、中断、破损或是杂音。

要观察音讯压缩失真的一个好方法是听在相对高度压缩音讯档案（例如96kbps MP3）中的“观众喝采鼓掌声”。在一般情况下，具有音乐性的声音中有较多的重复波形和较容易预测的音量变化，然而鼓掌基本上是随机的，因此难以被压缩。因此可以在一个高度压缩后的鼓掌声中清楚地观察到“metallic ringing”和其他的压缩失真现象。

## 艺术上的应用

<image>

压缩失真可以被刻意的用作一种视觉风格，有时也称为故障艺术。例如在静止的图像使用刻意的JPEG失真作为图片风格的基础。一个例子是由德国摄影师托马斯拉夫的Jpegs。

在影像艺术中，一种技术是datamoshing，其中是利用两个不同的影片画格交错，以致于两个画格中间的帧是由两个不同的影片来源内插出来的。另一种技术则是简单地从一个有损影片格式转码至另一个，这个技术利用了不同的影片编码器在对运动及色彩资讯处理上的差异。这个技术被使用在艺术家Bertrand Planes在2006年与Christian Jacquemin合作；以及和DivXPrime、 Sven König、Takeshi Murata、Jacques Perconte 和 Paul B. Davis等人于Paperrad合作。最近也使用在 David OReilly 的作品，和Chairlift与Kanye West的音乐录影带。

## 外部链接

- DivXPrime First known experiments of datamoshing video software by Bertrand Planes & Christian Jacquemin (based on Xvid algorithm)
- Teaser for "Accouchement Sonique" a short movie directed by Jérome Blanquet, datamoshing effect by David Olivari, produced by Metronomic.
- datamosher A GPL video datamoshing software.
- Example of heavy video compression artefacts.
- JPEG Tutor, an interactive applet allowing you to investigate the effects of changing the quantization matrix.
- JPEG deringing and deblocking: Matlab software and Photoshop plug-in
- Vernacular of File Formats, a guide to different compression artifacts from the most used file formats