
近代医学表明,人类获取信息的70-80%都是来自视觉观感。简单的说,色彩就是人的大脑对于光的感受。多媒体计算机的图像处理和视频效应都是基于人眼视觉原理实现的模拟方法。因此要将离散化的数字信息中的色彩信息精确还原为连续的视觉感受就必须了解色彩技术的来龙去脉。色彩理论的源头,目前公认的是古希腊时亚里士多德的《关于色彩》。亚里士多德认为:原色是黑和白,是黑暗与光明的无穷无尽的产物——非常近似我们中国的“阴阳”之说。后来他又认为除了黑白之外还有另外两个原色:来自阳光的黄色和天空的蓝色。同时亚里士多德还认为这些就是构成世界的四大物理元素,那些看到这里暗暗发笑的二次元爱好者是不是发现这就是“气水火土”的世界元素设置?

色彩还曾经被认为是被观察物体的属性。我们现在当然知道色彩是由于光和人眼的解析才产生的。大约有1200年左右的时间,几乎所有科学家、艺术家和思想家都坚信亚里士多德的色彩理论,直到17世纪,伟大的科学家艾萨克·牛顿才证明光线和色彩来自太阳。那个著名的三棱镜分色实验,相信很多在校生都还记得吧。
一束阳光被三棱镜分解为不同色彩的特等色彩序列。

由此就产生了一种特殊的“色彩表述”工具——将色彩条首尾相连后获得的环形色轮可以为我们解释不同色彩间的关系。色环的核心作用还是用来展示基本色彩之间的关系。比如,自然界常见的各种颜色光,都是由红(Red)、绿(Green)、蓝(Blue)三种颜色光按不同比例相配而成,同样绝大多数颜色也可以分解成红、绿、蓝三种色光,这就是色度学中最基本的原理—三原色原理。
油墨或颜料的三基色是青(Cyan)、品红(Magenta)和黄(Yellow),简称为CMY。青色对应蓝绿色;品红对应紫红色。理论上说,任何一种由颜料表现的色彩都可以用这三种基色按不同的比例混合而成,这种色彩表示方法称CMY色彩空间表示法。彩色打印机和彩色印刷系统都采用CMY色彩空间。青色,品红,黄色分别是红、绿、蓝三色的补色。对于大多数人来说,接触原色是在小学的美术课上。老师告诉我们黄色和蓝色混合在一起就会产生绿色(我至今清楚记得里约奥运会游泳池变绿的新闻下面,某段子手回复说:是谁尿的!)接下来就要弄清楚到底色彩到底要做到多精确才能达到说清楚事。
精准标定颜色有多重要?
举个例子。《Mr. Blandings Builds His Dream House》这电影里有个奇葩的夫人,在跟室内装潢设计师沟通时,描述了一下她想象中的卧室的油漆色彩:“应该是浅绿色,不像知更鸟的蛋那么蓝,也不像水仙花的芽那么黄。样品这个颜色是我能拿到的比较接近,但有点偏黄,所以也别让调色的人别弄的太蓝。它应该是那种偏灰一点点的苹果绿。”
……相信很多设计师大概看到这里都会崩溃的感同身受……所以我们要引入计算机的数值来精确表述颜色。

计算机在使用发光体作为光源时,还是使用RGB作为色彩模型来制作发色设备。计算机彩色显示器的输入需要RGB三个彩色分量,通过三个分量的不同比例,在显示屏幕上合成所需要的任意颜色。当使用2的8次方来表色时,我们就能获得28x28x28=16.7M种颜色。这就是为什么我们把好的液晶屏称为8bit屏,同时要获得更精确的色彩时,还可能要用上10bit甚至12bit的算法,而这个bit数就是色彩位深。电脑的屏幕和电视机、投影仪、数码相机都是这样生成色彩。


使用这样的方式 精确表述颜色就非常容易
大部分的数码图像编辑软件,例如photoshop也是使用RGB表色模式来进行数码色彩的分析和运算。例如现在常见的通用图像JPG格式,就明确规定使用8bit色深来表色,这时候数码相机的RAW格式中保持下来的12~14bit色彩信息就必然会损失掉一部分了。彩色印刷或彩色打印的纸张是不能发射光线的,因而印刷机或彩色打印机就只能使用一些能够吸收特定的光波而反射其它光波的油墨或颜料。CMYK颜色模型就是这么来的。相对于RGB的加色混色模型,CMY是减色混色模型,颜色混在一起,亮度会降低。之所以加入黑色是因为打印时由品红、黄、青构成的黑色无法实现真正的灰阶和纯黑。除了常见的RGB和CMYK色彩模型之外,还有HSL、HSV(HSB)、YUV、YCvCr等颜色模型。这些都是用于不同领域的色彩模型。
先看看静态图像领域的RGB和CMYK以及延伸的HSL/HSV。首先要确定的是HSL和HSV是类似的色彩模型。在大部分图像编辑软件中,对于色彩的描述相对RGB这类比较抽象的表色方法,HSL这样的表色方法更为直观和简便。

无论是HSL或HSV中,H都表示色相(Hue)。色相可以理解为色彩相貌,也就是对颜色的概况描述——通常该值取值范围是[0°~360°],对应红-橙-黄-绿-青-蓝-紫-红这样顺序的颜色,也就是我们前面提到的色相环。色相是描述任何物体任何色彩都能使用的参数,哪怕这样的颜色很难用语言来表述。

S在HSL和HSV中表示饱和度(Saturation)(有时也称为色浓度、色彩度)即色彩的纯净程度,用作描述某种特定颜色的纯粹程度的参数。比如画家可能在涂抹天空的蓝色时加入一些淡褐色,从而获得蓝色天空的渐变效果。而摄影师修饰照片时可以通过调准饱和度获得某种特别鲜艳的颜色或有意把某种颜色变得黯淡无光。两种颜色模型不同的就是最后一个参数。
L表示亮度(Lightness/Luminance/Intensity),V表示明度(Value/Brightness)亮度通常指一种色彩的明亮或黯淡程度,在大部分图像编辑软件中,都可以认为亮度就是黑白的变化。比如摄影师修图时改变亮度(调准曝光值)就是色亮度的典型应用。但是如果简单粗暴调准曝光,色相细节也会发生一定程度的改变。这就是亮度和明度的区别了。纯色的明度是白点变化 ,而纯色的亮度是中灰色点变化。

动态影像中常见的YUV模型
YUV颜色模型中,Y是亮度信号参数,UV都是色差的参数。Y的信息和U、V获得的信息是独立的。这种表色方式可以保证三个信息量之间互不干扰,因此在电视广播信号中采用YUV方式进行编码。例如用Y亮度信号表示图像亮度,UV表示颜色信息就可以进行图像的大面积着色。我们能看到的很多视频拍摄器材中都会提到8:2:2视频编码,这说明该器材使用Y:U:V=8:2:2的方式进行色彩编码,Y亮度信号使用8bit色渲染1个像素点获得256级亮度,而UV色度信号对每4个像素点进行8bit色渲染获得同样的256级亮度,画面的颗粒感会较重,但是可以节省出更多的存储器空间。这样的编码方式会带来画质上的损失,但并不是所有人都能迅速观察到动态变化的视频中这种不明显的画质损失,因此视频图像压缩技术中经常使用这样的方案。典型的生活案例就是有些在线电影是1080p清晰度,但实际上文件大小只有不到2GB,而有些720p的网络视频都有4-5GB的大小,就是因为使用了不同的压缩采样。RGB、CMYK、HSL和YUV之间只是同一物理量之间的不同表述方案,所以互相之间完全可以通过数学计算的方法进行彼此间的换算。比如在RGB和CMY的换算中,RGB为原色而CMY为补色,两个空间刚好互补。在摄影摄像的调色过程中,“红色+青色=绿色+品红=蓝色+黄色=白色” 这一口诀很多人都会用,但其中的原理就是基于加色和减色空间的互补原理。

今天的干货太多,
明天小编给各位带来《色彩空间那点小事(下)》~