静止图像压缩编码的技术标准JPEG由几部分组成。
1.颜色模式转换和采样;
2.DCT变换;
3.量化;
4.编码。
两个。
1.颜色模式转换和采样RGB颜色系统是最常用的表示颜色的方式。JPEG使用YCbCr颜色系统。如果要使用JPEG基本压缩方法处理全色图像,必须先将RGB颜色模式图像数据转换为YCbCr颜色模式数据。y代表亮度,Cb和Cr代表色度和饱和度。数据转换可通过以下计算公式完成。y = 0.2990 r+0.5870g+0.1140 b CB =-0.1687 r-0.3313g+0.5000 b+128 Cr = 0.5000 r-0.4660。高频数据更敏感。事实上,人眼对亮度的变化比对颜色的变化要敏感得多,也就是说Y分量的数据更重要。由于Cb分量和Cr分量的数据相对不重要,所以只能取部分数据进行处理。以增加压缩比。JPEG通常有两种采样方式:YUV411和YUV422,分别代表Y、Cb和Cr的数据采样率。
2.DCT变换DCT变换的全称是离散余弦变换,是指将一组光强数据转换成频率数据,以便知道强度的变化。如果我们对高频数据进行修改,然后转回原始数据,显然与原始数据有所不同,但人眼不容易识别。压缩时,将原始图像数据分成8×8个数据单元矩阵,例如,第一个亮度值矩阵的内容如下:
JPEG将整个亮度矩阵、色度Cb矩阵和饱和度Cr矩阵作为一个基本单元,称为MCU。每个MCU包含不超过10个矩阵。例如,如果行和列采样的比率是4:2:2,那么每个MCU将包含四个亮度矩阵、一个色度矩阵和一个饱和度矩阵。当把图像数据分割成8*8的矩阵时,每个值必须减去128,然后代入DCT变换公式,这样就可以达到DCT变换的目的。图像数据值必须从128中减去,因为DCT转换公式接受的数字范围在-128和+127之间。DCT变换公式:
x,y表示图像数据矩阵中数值的坐标位置f(x,y),v表示DCT变换后矩阵中数值的坐标位置f (u,v),v = 0 c (u) c (v) = 1/1。0或v & gt0 c(u)c(v)= 1 DCT变换后矩阵数据的自然数就是频率系数。这些系数的最大值为f (0,0),称为DC,其余63个频率系数多为接近0的正负浮点数,均称为AC。
3.在量化的图像数据被转换成频率系数之后,在它能够进入编码阶段之前,它必须经历量化过程。在量化阶段,需要两个8*8的矩阵数据,一个是亮度的频率系数,一个是色度的频率系数。用频率系数除以量化矩阵的值,得到最接近商的整数,即完成量化。量化频率系数时,频率系数由浮点数转换为整数,便于最终编码。但是经过量化阶段后,所有数据只保持整数近似,部分数据内容再次丢失。JPEG提供的量化表如下:
4.编码霍夫曼编码没有专利权,已经成为JPEG最常用的编码方式。霍夫曼编码通常是用一个完整的单片机来实现的。编码时,每个矩阵数据的DC值和63个AC值会使用不同的霍夫曼编码表,亮度和色度也需要不同的霍夫曼编码表,所以一个* * *需要4个编码表才能成功完成JPEG编码。DC编码DC是一种差分编码方法,采用差分脉冲编码对颜色进行调制,即在同一图像分量中获得每个DC值与前一个DC值的差值进行编码。DC采用差分脉冲编码的主要原因是在连续色调图像中,差分大多小于原值,对差分进行编码所需的比特数会比原值进行编码所需的比特数少得多。例如,如果差值为5,则其二进制表示值为101。如果差值为-5,则先将其改为正整数5,然后将其二进制转换为1的补码。所谓1的补码,就是把每一位的值如果是0,就改成1;当该位为1时,它变为0。应该为差值5保留的比特数是3。下表列出了应为差值保留的位数与差值内容之间的比较。
在差之前加上一些差的霍夫曼码值。比如亮度差为5(101)的位数是3,那么霍夫曼码值应该是100,两者连在一起就是1001。下面两个表分别是亮度和色度的DC差的编码表。根据这两个表的内容,可以将霍夫曼码值加到DC差上,完成DC的编码。
AC编码的AC编码方法与DC略有不同。交流编码前,63个交流值必须按之字形排序,即按下图箭头所示顺序串联。
如果排列63个AC值,将AC系数转换为中间符号,表示为RRRR/SSSS,RRRR指非零AC前值为0的AC的个数,SSSS指AC值所需的位数。AC系数的范围与SSSS的对应关系类似于DC差分位数和差分内容的对照表。如果连续零的AC的个数大于15,则16个零用15/0表示,称为ZRL(零朗姆长度),( 0/0)称为EOB(块的艾尼路)表示剩余的AC系数都等于0,中间有符号。比如某组亮度中间字符为5/3,AC值为4。首先,使用5/3作为索引值。从亮度AC的霍夫曼编码表中找到1111111110065438。霍夫曼码1111111110065438+。因为亮度AC和色度AC霍夫曼编码表比较长,所以这里省略。有兴趣的可以参考相关书籍。实现以上四个步骤,即完成一幅图像的JPEG压缩。
希望有帮助。