750 likes | 1.11k Views
静态图像的国际压缩标准 JPEG. 2005 年 fall. 1 概述. JPEG (Joint Photographic Experts Group) 是一个由 ISO 和 IEC 两个组织机构联合组成的一个专家组 1992 年成为国际标准 JPEG 是国际上彩色、灰度、静止图像的第一个国际标准,也是一个适用范围广泛的通用标准。它不仅适用于静止图像的压缩,电视图像序列的帧内图像的压缩编码,也常采用 JPEG 压缩方法。 可用于 多媒体 CD-ROM, 彩色图像传真,图文档案管理等。 该标准制定了有损压缩和无损压缩的编码方案。.
E N D
静态图像的国际压缩标准JPEG 2005年fall
1 概述 • JPEG(Joint Photographic Experts Group) 是一个由 ISO和IEC两个组织机构联合组成的一个专家组 • 1992年成为国际标准 • JPEG是国际上彩色、灰度、静止图像的第一个国际标准,也是一个适用范围广泛的通用标准。它不仅适用于静止图像的压缩,电视图像序列的帧内图像的压缩编码,也常采用JPEG压缩方法。可用于多媒体CD-ROM,彩色图像传真,图文档案管理等。 • 该标准制定了有损压缩和无损压缩的编码方案。
JPEG的目的是为了给出一个适用于连续色调图像的压缩方法,使之满足以下要求:JPEG的目的是为了给出一个适用于连续色调图像的压缩方法,使之满足以下要求: • 达到或接近当前压缩比与图形保真度的技术水平,能覆盖一个较宽的图形质量等级范围,能达到“很好”或“极好”的评估,与原始图像相比,人的视觉难以区分。 • 能适用于任何种类连续色调图像,且宽高比不受限制,同时也不受限于景物内容、图形复杂程度和统计特性。 • 计算的复杂性是可控制的,其软件可在各种CPU上完成,算法也可用硬件实现。
Sequential (line by line) and progressive (successive refinement of the whole image) decoding should both be possible. A lossless, hierarchical coding of the same image with different resolutions should also be possible. • The user can select parameters to trade off • the quality of the reproduced image, • the compression processing time, • the size of the compressed image.
格式 • The encoded data stream has a fixed interchange format • encoded image data • the chosen parameters • tables of the coding process. • 简化的中间格式 • 标准的非简化格式
基本步骤 • 颜色模式转换及采样; • DCT变换; • 量化; • 编码;
JPEG Modes • The lossy, sequential DCT-based mode (baseline process, base mode) • The expanded lossy, DCT-based mode • The lossless mode • The hierarchical mode
压缩比 —— 10:1--100:1 (一般压缩比≯40:1) • 试验表明,经压缩25倍还原后的彩色图像与原图相比 ,对非行家来说很难加以区别。 • 在损失某些图像信息的情况下 ,JPEG可以把图像压缩比提的更高。例如当把 30:1 的压缩比用于一个全彩色的图像帧时,要求的图像存储空间就从1000K降至33K ,而数据传输率则降至每秒1MB,这就降到了目前大多数存储设备可以处理的范围内了。
2 图像预处理 • An image consists of at least one and at most N=255 components or planes.
Each component is a rectangular array Xi×Yi of pixels (the samples).
The resolution of the individual components may be different.
Each pixel is represented by p bits with values in the range from 0 to 2 p–1. • All pixels of all components of an image must have the same number of bits. • The lossy modes of JPEG use a precision of either 8 or 12 bits per pixel. • The lossless modes can use between 2 and 12 bits per pixel. • With any other number of bits, the application must suitably transform the image.
The compressed data includes: • X (maximum of all Xi) • Y (maximum of all Yi) • factors Hi and Vi for each plane. • Hi : relative horizontal resolution • Vi : relative vertical resolution • 例题: P100
the image is divided into data units • The lossless mode uses one pixel as one data unit. • The lossy mode uses blocks of 8×8 pixels. • Non-interleaved data ordering
Interleaved data ordering • Interleaved data units of different components are combined into Minimum Coded Units (MCU).
According to the JPEG standard • a maximum of four components can be encoded using the interleaved mode. • Each MCU can contain at most ten data units. • Within an image, some components can be encoded in the interleaved mode and others in the noninterleaved mode.
After image preparation, the uncompressed image samples are grouped into data units of 8×8 pixels • In this baseline mode, each sample is encoded using p=8bit. Each pixel is an integer in the range 0 to 255.
DCT变换 • DCT变换:空间域矩阵(P矩阵)和频率域矩阵(T矩阵) 否则
The pixel values are shifted into the zero-centered interval (–128, 127). 在逆向离散余弦变换后,对重构图像中的每个样本值数据要加上128。 • This transformation must be carried out 64 times per data unit. The result is 64 coefficients. DCT对一个8×8的矩阵P进行处理,得到一个8×8的频率系数矩阵。 • 物理意义:将信号从一种表达形式(空间域,即图像的像素值)变成另一种等同的表达形式(频率域,即频率系数),并且这种变换过程是可逆的。
数组T中每个元素称为变换系数,这些系数都有明确的物理意义:数组T中每个元素称为变换系数,这些系数都有明确的物理意义: • i=0,j=0的值称为DC系数,它与数组的平均值有关。 • 其余的值称为AC系数。随着i和j值的增加,相应系数分别代表逐步增加的水平空间频率分量和垂直空间频率分量的大小。
离散余弦变换方法研究较早,技术成熟,图像压缩实践证明DCT是许多图像的最佳变换,将88图像的空间表达式转换为频率域,只需要少量的数据点来表示图像。离散余弦变换方法研究较早,技术成熟,图像压缩实践证明DCT是许多图像的最佳变换,将88图像的空间表达式转换为频率域,只需要少量的数据点来表示图像。 • DCT算法的性能很好,可以进行高效的运算,在硬件和软件中都容易实现。它的快速算法已可由专用芯片来实现,因而被广泛采用。
如果源图像为640480的分辨率(即由640480像素组成),则划分后的图像将包含8060个子块。如果源图像为640480的分辨率(即由640480像素组成),则划分后的图像将包含8060个子块。 JPEG将源图像划分为若干个子块,每个子块包含8×8个像素
经过离散余弦变换后的频率系数矩阵T 表示图像灰度(或颜色)的矩阵 一个被放大的8×8个像素的子块
如果P矩阵中所有的值都是一样的,将对应一幅只包含一种颜色没有任何变化的图像。这时所有的AC系数对应余弦函数的和,它们将相互消去,所有的AC系数都为0。如果P矩阵中所有的值都是一样的,将对应一幅只包含一种颜色没有任何变化的图像。这时所有的AC系数对应余弦函数的和,它们将相互消去,所有的AC系数都为0。 • 如果P值中有一点小小的变化,对应一幅颜色均匀变化而不太精细的图像。矩阵T将包含许多值为0的AC系数,但不是全部的AC系数为0。 • 如果P值中有很大的变化,表示一幅小范围内颜色变化剧烈的图像,或一幅有许多精密细节的图像。这时的AC系数值为0的将很少,或者都不为零。 • 一般而言,如果像素值作为其位置的函数变化越快,越不均匀,则AC系数对应越大的数值。另外,有更多的空间频率较高的值不为零。总的来说,AC系数本质上是像素变化的一种尺度。
量化 • DCT变换的作用是使空间域的能量重新分布,降低图像的相关性。DCT变换本身并不能达到数据压缩的作用。 • 要实现图像压缩,需要选择适当的比特分配方案和量化方法。 • 量化的作用是在保证主观图像质量的前提下,丢掉那些对视觉效果影响不大的信息。 • 量化是一种降低精度的过程,所以是有损的。
8×8的图像块经过DCT变换后,其低频分量都集中在左上角,高频分量分布在右下角(DCT变换实际上是空间域的低通滤波器)。8×8的图像块经过DCT变换后,其低频分量都集中在左上角,高频分量分布在右下角(DCT变换实际上是空间域的低通滤波器)。 • 由于该低频分量包含了图像的主要信息,而高频与之相比,就不那么重要了,所以我们可以忽略高频分量,从而达到压缩的目的。 • 如何将高频分量去掉,这就要用到量化,它是产生信息损失的根源。量化操作,就是将某一个值除以量化表中对应的值。由于量化表左上角的值较小,右下角的值较大,这样就起到了保持低频分量,抑制高频分量的目的。
JPEG标准中采用线性均匀量化器,量化过程为对64个DCT系数除以量化步长并取整,量化步长由量化表(量化矩阵)决定。JPEG标准中采用线性均匀量化器,量化过程为对64个DCT系数除以量化步长并取整,量化步长由量化表(量化矩阵)决定。 • 量化的计算公式:量化值(i,j)=T(i,j)/量化矩阵(i,j) • 由公式可见,当量化值较大时,可以保证所有较高频率的分量实际上都将被四舍五入为0。仅在高频系数很大时才将其编码为非0值,但这种情况很少出现。
在解码过程中,逆量化公式为:T(i,j)=量化值(i,j)量化矩阵(i,j)在解码过程中,逆量化公式为:T(i,j)=量化值(i,j)量化矩阵(i,j) • 当使用大的量化值时,在逆量化过程中所用的DCT输出会有大的误差,幸运的是逆量化过程中高频分量的误差不会对图像的质量有严重影响。 • 有许多方案可用来选择量化矩阵中的元素值。
经量化后,源图像(左)与IDCT运算后得到的图像(右)会产生一定的失真,失真程度视量化等级而定经量化后,源图像(左)与IDCT运算后得到的图像(右)会产生一定的失真,失真程度视量化等级而定
JPEG推荐的量化表 • JPEG使用的颜色是YCrCb 格式。Y分量代表了亮度信息,CrCb 分量代表了色差信息。相比而言,Y分量更重要一些。可以对Y采用细量化,对CrCb 采用粗量化,可进一步提高压缩比。所以量化表通常有两张,一张是针对Y的,一张是针对CrCb 的. • JPEG基本算法的量化表是从广泛的实验中得出来的。
我们提到过,JPEG使用的颜色是YCrCb 格式。Y分量代表了亮度信息,CrCb 分量代表了色差信息。相比而言,Y分量更重要一些。我们可以对Y采用细量化,对YCrCb 采用粗量化,可进一步提高压缩比。所以所说的量化表通常有两张,一张是针对Y的,一张是针对YCrCb 的。JPEG基本算法包括一套量化表,它是从广泛的实验法中得出的。表10-3和10-4分别给出了JPEG标准所推荐的亮度量化表和色度量化表。
量化表中元素为1-255之间的任意整数,其值规定了所对应DCT系统的步长。量化表中元素为1-255之间的任意整数,其值规定了所对应DCT系统的步长。 • 当频率系数经过量化后,将频率系数由浮点数转变为整数,这才便于执行最后的编码。不过,经过量化阶段后,所有数据只保留整数近似值,也就再度损失了一些数据内容。
16 11 10 16 24 40 51 61 12 12 14 19 26 58 60 55 14 13 16 24 40 57 69 56 14 17 22 29 51 87 80 62 18 22 37 56 68 109 103 77 24 35 55 64 81 104 113 92 49 64 78 87 103 121 120 101 72 92 95 98 112 100 103 99 17 18 24 47 99 99 99 99 18 21 26 66 99 99 99 99 24 26 56 99 99 99 99 99 47 66 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 亮度量化表 色度量化表
量化表的优化 • 用户可根据人类视觉系统和压缩图像类型的特点对量化表进行优化,并作为编码器的一个输入。 • 显然有许多方案可用来选择量化矩阵中的元素值。一般用两种实验方法检测不同量化方案,一种是测量输入图像和已解压图像间的数学误差,第二种方法就是用人眼去判断解压后的效果。但是后者并非总是与误差水平内的数学差异完全一致。 • 在运行时选择量化矩阵的好处是在压缩图像时控制图像的质量很容易。这样用户有很大的灵活性,从而可根据所想象的要求存储能力来选择图像的质量。
编码 • 直流系数(DC)的编码因为图像中相邻块之间有很强的相关性,JPEG标准对DC系数采用DPCM编码(差分编码)方法,即对相邻的8×8像素块之间的DC系数的差值进行编码,可以提高压缩比。这个差值可用公式表示为:
交流系数(AC)编码T矩阵中有63个元素是交流(AC)系数,可采用行程编码进行压缩。需要考虑的问题是:这63个系数应该按照怎么样的顺序排列?为了保证低频分量先出现,高频分量后出现,这63个元素采用了“之”字型(Zig-Zag)的排列方法,称之为Z形扫描。交流系数(AC)编码T矩阵中有63个元素是交流(AC)系数,可采用行程编码进行压缩。需要考虑的问题是:这63个系数应该按照怎么样的顺序排列?为了保证低频分量先出现,高频分量后出现,这63个元素采用了“之”字型(Zig-Zag)的排列方法,称之为Z形扫描。
Z型扫描算法能够实现高效压缩的原因之一是经过量化后,大量的DCT矩阵元素被截成0。而且零值通常是从左上角开始沿对角线方向分布的。由于这么多0值,对0的处理与对其他数的处理不大相同的,采用行程编码算法(RLE)沿Z型路径可有效地累积图像中的0的个数,所以这种编码的压缩效率非常高。Z型扫描算法能够实现高效压缩的原因之一是经过量化后,大量的DCT矩阵元素被截成0。而且零值通常是从左上角开始沿对角线方向分布的。由于这么多0值,对0的处理与对其他数的处理不大相同的,采用行程编码算法(RLE)沿Z型路径可有效地累积图像中的0的个数,所以这种编码的压缩效率非常高。