文章目录

  • 1.概观
    • 2.颜色空转换(颜色转换)
    • 3.采样(下采样)
    • 5.离散余弦变换
    • 6.以数量表示
    • 7.熵编码技术(熵编码)
    • 8.结果
    • 9.引用

图像压缩比(JPEG图像压缩原理简介)

JPEG(发音:[DEPG])是一种广泛使用的对照片视频进行有损压缩的标准方法。

这个名字代表联合摄影专家组。1992年,联合图像专家组发布了JPEG标准,并于1994年被ISO 10918-1认可。JPEG很容易与MPEG(运动图像专家组)混淆,MPEG是一种视频和音频压缩标准,但它们是不同的组织和标准。

其实JPEG并不是一种文件格式,而是联合图像专家组推出的一种图像压缩方法(类似于视频中的H.264等编解码标准)。JPG或JFIF格式只是一种数据包装容器(类似于视频中的MP4、MOV等包装格式)。

1.概观

JPEG编码的主要过程有:颜色转换、下采样、分块、离散余弦变换、量化和熵编码。

2.颜色空转换(颜色转换)

我们的传感器收集的原始(RAW)图像由RGB颜色空表示。即根据每个像素的RGB(红、绿、蓝)值填充到对应的像素位置。

首先我们把RGB(红绿蓝)转换成不同的颜色空,叫做YCrCb (YUV)。

y分量表示像素的亮度,u分量表示色度(饱和度),v分量表示色度(饱和度)

RGB空到YUV空的转换公式为:

下图是Y、U和V的分解示例:

3.采样(下采样)

下采样,即降低人类视觉系统不敏感的色度(U和V分量)。虽然颜色数量减少,但人眼不会注意到图像质量的任何差异。

JPEG中这种下采样的比例可以是4:4:4(无下采样),4:2:2(水平方向2的倍数中的一个,颜色是前一个的1/2),最常见的4:2:0(水平和垂直方向2的倍数中的一个,颜色是前一个的1/4)。

如图所示:

4.分区补丁

源图像中每个点的三个分量交替出现。首先,这三个组件应该分开并存储在三个表中。然后从左到右、从上到下依次读取8*8子块,存储在一个长度为64的表中,即可以进行DCT变换。如果原图的长宽不是8的倍数,需要先补成8的倍数,这样才能分块处理。编码时,程序从源数据中读取一个8*8的数据块,进行DCT变换、量化和编码,然后读取并处理下一个8\\times8的数据块。图像的数据值必须减去128,因为DCT公式接受的数字范围在-128和127之间。

5.离散余弦变换

离散余弦变换(DCT)是一种类似傅立叶变换的数学工具(不知道傅立叶变换的同学可以动:https://www.bilibili.com/video/av19141078简单理解傅立叶变换)。它将信号从时域转换到频域。

在该步骤中,视频中的每个分量(Y,U,V)被生成为三个区域,并且每个区域被分成像瓦片一样排列的8*8个子区域,并且每个子区域通过使用二维离散余弦变换(DCT)被转换为频率空。

如果有这样一个8*8的8位(0~255)子区域:

如图所示:

用矩阵表示为:

原始数据的每个值的范围是[0-255],这样每个数减去128就标准化了。

然后,使用离散余弦变换,将最接近的整数四舍五入,得到如下结果

左上角一个相当大的数值叫做DC系数(直流系数);其他63个值称为AC系数(交流系数)。

6.以数量表示

利用人眼对低频数据敏感而对高频数据不敏感的特性,我们可以把DCT后的很多高频成分四舍五入到接近0,其他很多就会变成很小的正数或者负数。

量化表在JPEG标准中定义。

用QYQY量化矩阵对DCT系数矩阵进行逐个分割,结果如下:

7.熵编码技术(熵编码)

熵编码是一种无损压缩技术,将矩阵数据排列成锯齿形。然后对排列好的数据进行霍夫曼编码(请自行查找霍夫曼编码的数据)。

前者的量化系数的z字形序列将是:

−3, 0,−3, −2, −6,2, −4, 1, −3,1, 1, 5, 1, 2,−1, 1, −1, 2, 0, 0,0, 0, 0, −1, −1, 0, 0,0, 0, 0, 0, 0, 0, 0, 0,0, 0, 0, 0, 0, 0, 0,0, 0, 0, 0, 0, 0,0, 0, 0, 0, 0,0, 0, 0, 0,0, 0, 0,0, 0,0

当所有剩余的系数都为零时,JPEG对提前结束的序列有一个特殊的霍夫曼编码字。使用这个特殊的编码词,EOB,序列变成

−3, 0,−3, −2, −6,2, −4, 1 −3,1, 1, 5, 1, 2,−1, 1, −1, 2, 0, 0,0, 0, 0, −1, −1, EOB

在这一步中,数据量被大大压缩了。

8.结果

JPEG是一种有损压缩算法。所以不同程度的压缩比会呈现不同的文件大小和不同的视觉呈现。下面,给出了相关压缩比和原始图像之间的比较。从上到下,压缩比从小到大。在每张图片中,原始图像在左边,压缩图像在右边。相应的文件大小显示在图形线的顶部。

9.引用

发表评论

后才能评论