1700506840
1700506841
图9-13 150×150的位图文件 图9-14 150×150的位图文件的锯齿效果 这种格式的描述是:在一个平面直角坐标系中,以左上角为点(0, 0),向右为x轴正方向,向下为y轴正方向,每一个点都用一个24位的RGB通道来描述,那么这个BMP文件的大小应该是:
1700506842
1700506843
1700506844
1700506845
1700506846
67500字节,也就是67.5KB。加上文件描述等额外开销,这个文件实际占用了67854字节。将它保存成 .JPG格式以后,文件的占用空间明显变小了(如图9-15所示)。文件的大小缩小到5401字节,仅为原来的7.96%,而像素数仍旧是150×150,这一点没有变化(如图9-16所示)。既然我们已经有了无损压缩的思路,那么从这个文件的特点上也能看出一些端倪。大量的白色信息恰恰是一种字符串高频度冗余,所以使用字符串压缩的算法也能够对刚才这个.BMP文件进行无损压缩。不过,.JPG格式是怎么做到的呢?应该说,这种有损压缩更为高明。
1700506847
1700506848
1700506849
1700506850
图9-15 .BMP文件占用的空间 图9-16 .JPG文件占用的空间 与MP3压缩的思路一样,JPEG(6)在对数字图片进行压缩的过程中也对人类感知进行了研究,发现人眼对颜色中亮度变换的敏感度比对色彩变换的敏感度高很多,于是就尝试着在编码中用角度的数据空间对亮度进行描述。所以,JPEG中对颜色的描述其实不是RGB三通道方式,而是YCbCr颜色空间方式,转换公式如下:
1700506851
1700506852
1700506853
1700506854
1700506855
对应的逆运算也能得到:
1700506856
1700506857
1700506858
1700506859
1700506860
这里没有什么技巧,只是三元一次方程组的运算。下一步的采样比较重要。
1700506861
1700506862
目前主要的采样格式有YCbCr 4∶2∶0、YCbCr 4∶2∶2、YCbCr 4∶1∶1和YCbCr 4∶4∶4,几种标准的名称分别是YUV420、YUV422、YUV411、YUV444(7),其中YUV411比较常用。
1700506863
1700506864
以YUV411为例,每个点保存一个8位的亮度值(也就是Y值),每2×2个点保存一个Cb和Cr值,图像在肉眼中的感觉不会有太大的变化。所以,理论上使用RGB模型每个点需要24位来描述,而使用YUV411仅需要12位。这种方法从抽样环节开始就进行了有损压缩,损失的部分是人眼相对不敏感的色彩变换信息。
1700506865
1700506866
下面就是进行DCT变换,即离散余弦变换(Discrete Cosine Transform)。DCT是指将一组光强描述数据转换成光谱频率描述数据。这个地方非常有意思。
1700506867
1700506868
1700506869
1700506870
1700506871
其中,x和y代表图形数据矩阵某点的坐标,u和v是奇函数频率域中的坐标——相当于傅里叶变换中的ω;N是块大小,习惯上取8,也就是在8×8的空间里进行离散余弦变换。这种思想实际上可以认为是把音频信号中的f(t)迁移到二维离散空间来使用。变换完成后,每个波形利用无限多的不同周期的余弦波叠加而成的性质可以用来做周期的取舍,优先处理低频分量,通过舍弃高频分量来牺牲对于波形还原的精度。
1700506872
1700506873
这种变换完成之后,在一个8×8的矩阵中,有64个点的信息表示64个不同的波的振幅信息,低频分量的信息都集中在左上角的(0, 0)点,而向右向下,高频分量的信息增加,在(7, 7)点集中了所有的高频信息(如图9-17所示)。
1700506874
1700506875
1700506876
1700506877
1700506878
图9-17 DCT变换中的基函数
1700506879
1700506880
在这个环节可以通过对高频分量的舍弃来起到压缩的作用。如图9-18所示:图d表示的是64个频率描述信息叠加的波形效果,图a是3个,图b是6个,图c是15个。通过观察可以发现,在这个例子中,15个频率分量信息叠加的结果和64个已经很接近了,而这仅仅用了不到四分之一的频率信息。
1700506881
1700506882
1700506883
1700506884
1700506885
图9-18 不同频率分量叠加的还原效果
1700506886
1700506887
在前面获得8×8的频率振幅描述矩阵之后,再用这个矩阵与量化表中相应的值相除来进行振幅的压缩。如图9-19所示:左上角的除数比较小,而右下角的除数比较大,这就意味在相除之后低频的描述信息仍然比较丰富,而高频信息几乎没有了;左侧的低压缩率量化表和右侧的高压缩率量化表只是商的系数不同,高压缩率量化表在做除法的时候,显然由于除数很大而得到了更大的压缩幅度。
1700506888
1700506889
[
上一页 ]
[ :1.70050684e+09 ]
[
下一页 ]