奎克的藏经阁 · 原书印刷页

编码 隐匿在计算机软硬件背后的语言 · 第 411 页

PDF 物理页索引 427 · 编码隐匿在计算机软硬件背后的语言

书名
编码 隐匿在计算机软硬件背后的语言
作者
未记录
印刷页
411
PDF 物理页
427(从 0 开始)
章节
编码隐匿在计算机软硬件背后的语言
UUID
38270854-596f-4a26-8183-db8c968c6020
来源类型
original_book
页面 SHA-256
c8f0f49aa78e417f5a22a93ac85821383de9523b027ca617ce6086ca172577e3

常从最顶端1行像素开始,紧跟着的是第2行、第3行,等等。

有些位图产生于图形操作系统设计的绘制程序,它们都是由某个操作者利用这些程序“手工绘制”出来的,还有一些位图是由计算机代码通过某种算法产生的。如今很多现实中的场景都利用位图来表示(比如数码照片),要把现实世界的图像输入到计算机中,可以借助一些不同的硬件,这类设备一般统称为电荷耦合器(charge-coupled device,CCD),它是一种在光照下会起电的半导体器件。每个像素都需要一个CCD单元来进行采样。

这些设备中最原始的可以算是扫描仪(scanner)了,其原理和影印机类似,都是利用一行CCD扫过需要复印的图像的表面,比如照片。由于光感度不同,不同区域CCD累积的电荷数也不同。扫描仪的配套软件把图像转换成位图存放在文件中。

视频摄像机利用二维CCD单元阵列捕捉图像。通常被捕捉到的图像存放在录像磁带上。但其实视频输出可以直接交给视频帧采集器(videoframegrabber)去处理,它的工作原理是把模拟信号转换成像素值阵列。帧采集器可以收集通用的视频源,如录像机(Video Cassette Recorder,VCR)或激光影碟机(Laser Disc Player),甚至可以用于有线电视机机顶盒。

近几年,数码相机的价格已逐渐降低到了家庭用户可以承担的水平,它们从外观上来看和一般相机几乎一样。但数码相机并不使用胶片,而是使用CCD阵列来捕捉图像并直接将其转移到相机的存储器中,之后在适当的时候转储至计算机中。

图形操作系统通常可以将位图文件以某种格式进行存储。Macintosh 系统采用Paint格式,之所以叫这个名字是参考了创建这种格式的MacPaint程序(Macintosh的PICT格式同时支持位图和矢量图形,而且是它们的首选格式)。Windows里的默认的格式是BMP,位图文件通常以它作为扩展名。

位图文件可能很大,如果有方法可以让它们变小一些那就再好不过了。这种需求催生了计算机科学中的数据压缩(DataCompression)这一全新领域。

假设我们正在处理一幅每个像素占3位的图像,这种图像在本章前面曾讲过。这张图片上出现的画面是一片天空、一栋房子和一块草坪。因此,图片中可能有大片的蓝色和绿色。很可能位图的最上面一行出现了72个蓝色像素。如果有一种方法可以表示蓝色像素连续且重复了72次,那么通过这种方法表示的位图文件将会比原先的小很多。这样的压缩方法称为游程长度编码(Run-Length Encoding),即 RLE。

25 图形化革命

411