石鑫华机器视觉网:PCX是一种由美国佐治亚州的ZSoft公司所开发的图像文件格式,原本是该公司的PC Paintbrush软件的文件格式(PCX代表PC Paintbrush Exchange),却成了最广泛接受的DOS图像标准之一,然而这种使用格式已经被其他更复杂的图像格式如GIF、JPEG、PNG渐渐取代。
PCX是一种不受平台限制的像素图像格式,文件标头存储著有关显示硬件方面的信息(屏幕分辨率、颜色深度、色盘信息、比特平面(bit planes)等),有别于后面夹带的实际文件信息。这个信息能让图像可以正确地传送与显示在不同硬件上的电脑系统。PCX文件一般来说,存储色盘索引的图像,范围从2、4种色彩至16与256种色彩,而且格式同样可扩充以记录真实色彩(24-bit)的图像。
Table A. Typical PCX Image Formats
Planes | 比特深度 | 显示类型 |
1 | 1 | Monochrome |
1 | 2 | CGA |
3 | 1 | EGA |
4 | 1 | EGA or VGA |
1 | 8 | Extended VGA |
3 | 8 | Extended VGA and above |
PCX使用区段长度编码(Run Length Encode;缩写RLE),是一种简单的算法,可以把代表同一个颜色的多个连续字节,简化成一个双字节。当文件做处理时,最高比特会用来当作控制切换(旗标),用来决定所给的数据是代表一个像素中的色盘索引值、色彩数值,还是一个用来表示数个接连相同数值像素的RLE数值。
Table B. PCX Image Data Arranged into Color Planes
由于使用两个最高比特来当作旗标,在一个具有256色盘的PCX文件里,色彩索引编号192至255(其两个最高比特都已设为1),则必须存储成RLE双字节,即使它们在区段中只出现过一两次。而色彩索引编号0至191就可以直接存储或是存成RLE双字节(无论哪一种较省空间)。因此实际的压缩率可以通过适当的排序色盘顺序来达到优化(然而若与其他图像共用色盘时则可能无法实行)。举例来说,一个色盘可以将最常出现的色彩放置于色盘索引编号的0至191的位置,而最少使用的色彩则可坐落于色盘的后半部,这个RLE机制可以有不错的应用。
RLE压缩算法仅需少量的处理器资源与存储器即可应用,以当时的电脑系统来看是非常有用的,但现今电脑的硬件与显示设备逐渐的复杂精密,RLE算法反而变成没那么省空间,它无法压缩混色(dithered)的图像例如相片或复杂的电脑图像。