1.4 图像存储与格式
表达一幅图像需要用到大量的数据,因而图像存储会需要大量的空间。在图像处理和分析系统中,大容量和快速的图像存储器是必不可少的。图像数据在联机存储器和数据库存储器中一般以图像文件的形式存储,所采用的图像文件格式不仅要能描述图像数据本身,一般还要能描述图像的其他信息,以方便对图像数据的提取和使用。
1.4.1 图像存储器件
在计算机中,图像数据最小的量度单位是比特(bit)。存储器的存储量常用字节(byte,B)、千字节(KB)、兆(106)字节(MB)、吉(109)字节(GB)、太(1012)字节(TB)等表示。1 byte=8 bit。例如,存储1幅1024×1024像素的24bit彩色图像就需要3MB的存储器。
用于图像处理和分析的数字存储器可分为如下3类。
(1)处理和分析过程中使用的快速存储器。
(2)用于比较快地重新调用的在线或联机存储器。
(3)不经常使用的数据库(档案库)存储器。
例1.4.1 存储器实例
计算机内存是一种提供快速存储功能的存储器。目前一般微型计算机的内存常为几个GB。另一种提供快速存储功能的存储器是特制的硬件卡,也叫帧缓存。它常可存储多幅图像并可以视频速度(每秒25或30幅图像)读取。它也可以允许对图像实时进行放大缩小,以及垂直翻转和水平翻转等操作。目前常用的帧缓存容量常可达几十个GB。近年来得到广泛应用的闪存从其工作原理和结构来说与内存有些相似之处,但它在断电后仍能保持存储的内容。
磁盘是比较通用的在线存储器,常用的Winchester磁盘一般已可存储上百个GB的数据。近年还常用光盘(magneto-optical,MO)存储器,它可在5¼in的光片上存储上GB的数据。在线存储器的一个特点是需要经常(随机地)读取数据,所以一般不采用磁带一类的顺序介质。对更大的存储要求,还可以使用光盘塔,一个光盘塔可放几十个到几百个光盘,利用机械装置插入或从光盘驱动器中抽取光盘。
数据库存储器的特点是要求非常大的容量,但对其上数据的读取不太频繁。一般常用磁带和光盘作为数据库存储器。一条长13 ft(1 ft=30.48 cm)的磁带可存储达到GB的数据。但磁带的储藏寿命较短,在控制很好的环境中也只有7年。一般常用的一次写多次读(WORM)光盘可在12 in的光盘上存储6 GB数据,在14 in的光盘上存储10 GB数据。另外WORM光盘在一般环境下可储藏30年以上。在主要是读取的应用中,也可将WORM光盘放在光盘塔中。一个存储量达到TB级的WORM光盘塔可存储上百万幅1024×1024像素的8 bit图像。
1.4.2 图像文件格式
图像数据文件存储在计算机内有一定的格式。现在图像文件格式已有很多种,基本上对应图像表达的两种形式,一种是矢量形式,另一种是光栅形式。在矢量形式中,图像是用一系列线段或线段的组合体来表示的,线段的灰度(色度)可以是均匀的或变化的,在线段的组合体中各部分也可使用不同的灰度。矢量文件和程序文件一样,里面有一系列命令和数据,执行这些命令就可根据数据画出图案。矢量文件主要用于人工绘制的图形数据。表示自然图像数据的文件主要使用光栅形式,这种形式与人对图像的理解一致(一幅图像是许多图像点的集合),比较适合色彩、阴影或形状变化复杂的真实图像。它的主要缺点是缺少直接表示像素间相互关系的结构,且限定了图像的分辨率。后者带来两个问题,一个是将图像放大到一定程度就会出现方块效应,另一个是如果将图像缩小后再恢复到原尺寸则图像会变得模糊。
不同的系统平台和软件常使用不同的图像文件格式。例如,Macintosh机上普遍使用MacPaint格式(固定大小,宽576像素,高720像素),PC Paintbrush支持PCX格式(包括单色、16色、256色),Digital Research(现Novell)支持GEM IMG格式,Sun Microsystems支持Sun光栅格式等。
下面简单介绍4种应用比较广泛的图像文件格式。
1. BMP格式
BMP是Windows系统中的一种标准图像格式,全称是Microsoft设备独立位图(DIP)。BMP图像文件也称位图文件,包括三部分:① 位图文件头(也称表头);② 位图信息(常称调色板);③ 位图阵列(即图像数据)。一个位图文件只能存放一幅图像。
位图文件头长度固定为54 B,它给出图像文件的类型、大小、打印格式和位图阵列的起始位置等信息。位图信息给出图像的长、宽、每个像素的位数(可以是1、4、8、24,分别对应单色、16色、256色和真彩色的情况)、压缩方法、目标设备的水平和垂直分辨率等信息。位图阵列给出原始图像里每个像素的值(例如对真彩色图像每3个字节表示一个像素,分别是蓝、绿、红的值),它的存储格式可以有压缩(仅用于16色和256色图像)和非压缩两种。位图阵列数据以图像的左下角为起点进行排列。
2. GIF格式
GIF是一种公用的图像文件格式标准,它是8位(8 bit)文件格式(一个像素一个字节),所以最多只能存储256色图像,不支持24位(24 bit)的真彩色图像。GIF文件中的图像数据均为压缩过的,采用的压缩算法是改进的LZW算法,所提供的压缩比通常在1:1到3:1之间,当图像中有随机噪声时效果不太好。
GIF文件结构较复杂,一般包括七个数据单元:文件头、通用调色板、图像数据区,以及4个补充区(如果用户只是利用GIF格式存储用户图像信息,则可不设置)。其中文件头和图像数据区是不可缺少的单元。
一个GIF文件中可以存放多幅图像(这个特点对实现网页上的动画是很有利的),所以文件头中会包含适用于所有图像的全局数据和仅属于其后那幅图像的局部数据。当文件中只有一幅图像时,全局数据和局部数据一致。多幅图像存放时,每幅图像集中成一个图像数据块,每块的第一个字节是标识符,指示数据块的类型(可以是图像块、扩展块或文件结束符)。
3. TIFF格式
TIFF是一种独立于操作系统和文件系统的图像格式(如在Windows系统和Macintosh机上都可使用),很便于在软件之间进行图像数据交换。TIFF图像文件包括文件头(表头)、文件目录(标识信息区)和文件目录项(图像数据区)。文件头只有一个,且在文件前端,它给出数据存放顺序、文件目录的字节偏移信息。文件目录给出文件目录项的个数信息,并有一组标识信息,给出图像数据区的地址。文件目录项是存放信息的基本单位,也称域。域主要分5类:基本域、信息描述域、传真域、文献存储和检索域。此外还有其他建议不再使用的域。
TIFF格式的描述能力很强,可制定私人用的标识信息。TIFF格式支持任意大小的图像,文件可分5类:二值图像、灰度图像、调色板彩色图像、全彩色RGB图像和YcbCr图像。一个TIFF文件中可以存放多幅图像,也可存放多份调色板数据。TIFF格式中采用了10多种压缩方法,其中包括游程算法、LZW压缩算法、JPEG标准算法等(参见第7章和第8章)。
4. JPEG格式
JPEG是对静止灰度或彩色图像的一种国际压缩标准(参见第8章),尤其适用于拍摄的自然照片,所以已在数字照相机上得到广泛使用。JPEG图像文件格式在内容和编码方式方面都比其他图像文件格式要复杂(可节省的空间也比较大),但在使用时并不需要用到每个数据区的详细信息。
JPEG标准本身只是定义了一个规范的编码数据流,并没有规定图像数据文件的格式。Cube Microsystems公司定义了一种JPEG文件交换格式(JFIF)。JFIF图像是一种或者使用灰度表示,或者使用Y,Cb,Cr分量彩色表示的JPEG图像。它包含一个与JPEG兼容的文件头。一个JFIF文件通常包含单个图像,图像可以是灰度图像,其中的数据为单个分量;也可以是彩色图像,其中的数据包括三个分量。