早期的视频显示器,比如SAGE中使用的这一种显示器,与我们今天所使用的PC配套显示器不尽相同。我们日常所用的PC配套的纯平显示器属于光栅(raster)显示器。它的原理就像电视机,每一幅图像背后都是一行行的光栅线,这些光栅是电子枪(electrongun)发出光束迅速来回移动覆盖整个屏幕而形成的。我们可以把屏幕想象成一个巨大的矩形阵列,阵列的每个元素都是一个点,这些点称为像素(pixels)。在计算机内部,有一块专门供视频显示器使用的内存区域,屏幕上的每一个像素点由1个或多个比特表示。这些二进制数值不仅决定了像素点的亮度,还决定了它的颜色。
举例来讲,当今大多数计算机显示器的水平分辨率至少为640个像素值,垂直分辨率至少为480个像素,像素总和即两数之乘积:307,200。如果为每个像素赋予1比特内存空间,这时每个像素点只能有两种颜色,通常设置为黑、自两种颜色,比如可以设置让0代表黑色,1代表白色。这种视频显示器需要占据307,200比特的内存,换算过来就是38,400字节。
由于要用到的颜色数目逐渐增加,为了表示这些颜色,每个像素所需要的比特越来越多,显示适配器需要配备的存储器容量也越来越大。比如我们想使像素点具备不同的灰度,那么可以提供一个字节的存储空间。在这种处理方式下,字节00h代表着黑色,FFh代表着白色,两者之间的值代表着不同的灰度。
CRT上的色彩空间由三个电子枪产生,每一个电子枪分别产生三原色中的一种,包括红色、绿色、蓝色(用放大镜来观察电视机或彩色计算机屏幕,你可以清楚地看到,每一幅图像都是利用许许多多不同的三原色组合显示出来的),红绿组合出黄色,红蓝组合出品红色,蓝绿组合是青色,三原色组合出白色。
在最简单的彩色显示适配器中,表示每个像素点需要3个比特。最直观的编码方式就是每一种原色对应编码中的1位。
编码—隐匿在计算机软硬件背后的语言
402