编码和重建图像,实现信息有丢失的图像压缩,但重建图像的质量要达到难以观察出图像损伤的要求。它采用8×8像素自适应DCT算法量化以及哈夫曼(Huffman)型的熵编码器。
l 扩展系统(Extended System):选用基于离散余弦变换DCT的递增工作方式,编码过程采用具有自适应能力的算术编码。
l 无失真的预测编码:采用帧内预测编码及哈夫曼编码(或算术编码),可保证重建图像与原始图像完全一样(即均方误差为零)。
l 分层编码:以多种分辨率对图像进行编码,按不同的应用要求可以获得不同分辨率或质量的图像。
JPEG标准定义了两种基本的压缩算法,即基于空间线性预测技术差分脉冲码调制DPCM(Differential Pulse Code Modulation)的无失真压缩算法和基于离散余弦DCT(Discrete Cosine Transform)的有失真压缩算法。
JPEG压缩标准的压缩比是通过量化因子(Q因子)来控制的。Q因子用来确定原始图像的采样精度,并产生一个JPEG量化矩阵,即:
式中QM[i,j]为量化矩阵,Q是量化因子,V[i,j]是图像缺省清晰度表。
量化矩阵用来量化DCT变换产生的频率系数,量化后的系数值减少,0值的数目大大增加。Q因子越大,量化后的0值越多,压缩比越大,因此Q因子决定着JPEG的压缩比。
JPEG的无失真压缩率为4:1,有失真压缩率为10:1~100:1。在压缩率小于40:1时,人眼基本上分辨不出图像的效果变化,可认为是“主观无失真压缩”。
JPEG标准较复杂,但有许多公司和组织提供大量的操作JPEG的开放源码可以利用。本设计就使用了Independent JPEG Group的Thomas G. Lane编写的JPEGLIB2。
TGA格式
TGA格式(Tagged Graphics)是由美国True
Vision公司为其显示卡开发的一种图像文件格式,文件后缀为".tga",已被国际上的图形、图像工业所接受。 TGA的结构比较简单,属于一种图形、图像数据的通用格式,在多媒体领域有很大影响,是
计算机生成图像向电视转换的一种首选格式。
TGA图像格式最大的特点是可以做出不规则形状的图形、图像文件,一般图形、图像文件都为四方形,若需要有圆形、菱形甚至是缕空的图像文件时,TGA可就派上用场了! TGA格式支持压缩,使用不失真的压缩算法。
TGA格式是True
Vision公司设计并负责解释的图像格式。TGA也包含了多种变体,TGA文件的第三个字节用来区别不是TGA的文件。该字节的值(二进制整数)及对应的文件类型如下。
l 0:文件中没有图像数据。
l 1:未压缩的,颜色表图像。
l 2:未压缩的,RGB图像。
l 3:未压缩的,黑白图像。
l 9:游程长度(Runlength)编码的颜色表图像。
l 10:游程长度(Runlength)编码的RGB图像。
l 11:压缩的,黑白图像。
l 32:使用Huffman、Delta和Runlength编码的颜色表图像。
l 33:使用Huffman、Delta和Runlength编码的颜色映射图像,四叉树类型处理
1. 数据类型1:未压缩的颜色表(color-mapped)图像TGA未压缩颜色表图像格式的说明如表1.1所示。
表1.1 TGA未压缩颜色表图像格式说明
| 偏移(字节) | 长度(字节) | 描述 |
| 0 | 1 | 图像信息字段(见本子表的后面)的字符数。本字段是1字节无符号整型,指出了图像格式区别字段长度,其取值范围是0到255,当它为0时表示没有图像的信息字段 |
| 1 | 1 | 颜色表的类型。该字段为表示对应格式1的图像而包含一个二进制1 |
| 2 | 1 | 图像类型码。该字段总为1,这也是此类型为格式1的原因 |
| 3 | 5 | 颜色表规格,颜色表首址 |
| 3 | 2 | 颜色表首元表项的整型(低位-高位)索引 |
| 5 | 2 | 颜色表的长度。颜色表的表项总数,整型(低位-高位) |
| 7 | 1 | 颜色表表项的位(bit)数。16代表16位TGA、24代表24位TGA、32代表32位TGA |
| 8 | 10 | 图像规格 |
| 8 | 2 | 图像X坐标的起始位置。图像左下角X坐标的整型(低位-高位)值 |
| 10 | 2 | 图像Y坐标的起始位置。图像左下角Y坐标的整型(低位-高位)值 |
| 12 | 2 | 图像宽度。以像素为单位,图像宽度的整型(低位-高位)值 |
| 14 | 2 | 图像高度。以像素为单位,图像高度的整型(低位-高位) |