打字猴:1.700506817e+09
1700506817
1700506818 在我们每天使用的办公电脑中,通常有两大类静态图形文件,一类是矢量图,另一类是标量图,后者更为常见。矢量图和标量图的最大不同在于图中信息的描述方式,当然这也为它们带来了各自的优势和局限性。
1700506819
1700506820 (1)矢量图
1700506821
1700506822 矢量图一般有用Corel Draw打开的 .CDR格式、用Illustrator打开的 .AI格式、用Photoshop打开的 .EPS格式等。矢量文件对图形中的每个元素对象进行描述,每个元素对象都是一个独立的实体,描述的信息包括颜色、形状、轮廓、大小和位置等属性,就连字体信息也都保存为一个字体的描述指针。3d Max这种用来做三维模型的专用软件,其文件也都是以这种对象和模型的描述形式来保存的(如图9-12所示)。
1700506823
1700506824
1700506825
1700506826
1700506827 图9-12 3d Max中的矢量模型文件可视化效果
1700506828
1700506829 这种描述方式的优势在于,由于描述的是一个对象信息,那么这个描述可以用“连续”的方式来表达。例如,在一个平面中声明一个圆形的信息,需要用哪些参数来描述呢?
1700506830
1700506831 圆心坐标(x, y),圆的半径r,圆的颜色RGB。从理论上说,在64位计算机操作系统中,用48字节就能把这个圆的信息描述完成,对立方体则描述顶点位置与颜色即可。如果想将图形放大,也是没有限制的,放大过程中不会产生锯齿效果(看看后面关于标量图的介绍就能知道区别了)——这种描述是一种“连续型”的描述,可以“延展”而不失真。
1700506832
1700506833 矢量图当然也有局限性,那就是当文件中描述的图形比较细碎的时候,描述起来就比较困难(因为对每个对象都要声明其颜色、形状、轮廓、大小和位置等属性)。很明显,用矢量图描述简单的图标或图形对象信息还是比较方便的,而对于人眼能够识别的曲度、颜色等极为丰富的图形信息则变得极为不便。
1700506834
1700506835 (2)标量图
1700506836
1700506837 一般来说,人们在记录(例如摄影照片、大幅面不规则且色彩丰富的画面信息)的时候会使用标量图。比较早的标量图就是微软在Windows中使用的 .bmp后缀的BITMAP格式。在局部放大以后,我们能明显看到其中有锯齿的效果,原因在于这种文件内容的描述方式是基于像素单位的离散描述(如图9-13和图9-14所示)。
1700506838
1700506839
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是指将一组光强描述数据转换成光谱频率描述数据。这个地方非常有意思。
[ 上一页 ]  [ :1.700506817e+09 ]  [ 下一页 ]