颜色知识,RGB显色系统详解(下)
之前写的几篇:
颜色知识,RGB显色系统详解(上)
颜色知识,RGB显色系统详解(中)
今天继续高冷的烧脑内容:
——为什么PS要有16位/通道和32位/通道的颜色深度设置?
为了防止看到最后有人看晕,先来一个简单粗暴的比喻:
我们小时候参加数学考试都要带草稿纸的对不对?
对改卷子的老师来说,只看你的最后交上去的考卷就行了。但是作为答题的我们来说,如果单靠心算,要么只能给一个估算的大概值,要么就算着算着算错了(答题从来不用打草稿的学霸请走开)。。。
其实,16位/通道和32位/通道这些额外增加的数据深度,以及前面介绍的Alpha通道,就是给计算机发的草稿纸!是给计算机打草稿用的!
它们对24位色的显示器本身(相当于考卷)是没有意义的,但是对于承担数据处理工作的计算机却很有意义,Over。
简单说,16位颜色深度和32位颜色深度,都是为了PS做后期图片处理用的。
如果你只是用PS画原稿,8位深度完全够用。修照片,要用16位深度。处理HDR图片,用32位深度。
好奇心还没有被满足的同学请继续看。
具体什么是16位/通道数据深度?
24位色,是目前RGB显示器(注意是显示器,不是电脑)的标配,意思是RGB信号分别分配了8位的数据深度,可以各分为256份。
这就是最常用的8位/通道配置(8bit-per-channel,为了方便,以下都用8-bpc缩写表示)。
如果是16位/通道,就是R/G/B分别有16位数据深度。
——其实PS里只分配了15位,所以每种颜色可以分为2的15次方=32768份。这就应该是15×3=45位色了。(不要问我为啥叫16-bpc实际上只有15-bpc。。。楼主也不知道。。。)
至于32位/通道,每个通道可以分得更加精细,2的32次方=4294967296份。。。
所以,回答上一章留下的问题:32位色和32位/通道,它们不是!一回事儿!!
一个是指每个像素数据有4个通道(RGB+Alpha),每个通道有8位。
另一个,则是指每个通道有32位数据,单个通道的数据量是32位色的4倍。
至于为什么它们叫了这么容易混淆的名字。。。学理工的人起名字就是这个德行,你懂的。。。
好了,基本情况介绍完毕。
至于大家最关心的问题“什么时候需要用16位/通道的设置”,所有网上能搜到的中文答案都是这么说的:平时就用8位/通道,就行了!
嗯,这么说是没错的。但是楼主这样钻牛角尖的人怎么会满足于这种小白答案?!咱继续。
——16位/通道是干嘛用的?
简单说,为了避免对24位色图像的后期处理出现“色带”问题。
目前,除了一些非主流的显示器(比如RGBW像素、四色显示器之类),24位色就是显示器的标准配置。也就是说,计算机传送给显示器的数据一定是24位的。超出24位的数据,显示器都不知道该拿它们怎么办。。。
但这是仅仅是对显示系统而言的。电脑不仅要存储、显示图像,还要对图像做各种修改、编辑,也就是对图像数据进行计算处理。这样24位的数据深度就不再够用了。
楼主举个跟钱有关的例子。
你的信用卡平时怎么记帐?是精确到分吧?比如,-¥119.34元。
而为了方便,我们往往还钱都会还整钱,比如上面的¥119.34元就会干脆还120块。既然我们只关心到整数的精度,可不可以记账的时候就直接四舍五入、化零为整了?——试问哪家银行敢这么干?一次两次就算了,一个月下来,这误差不知道有多大!记少了银行不干,记多了你干不干?
也就是说,记账的时候,我们需要的是整数,但计算的时候会保留两位小数,避免误差在计算中的累积,导致最后对不上帐。
——怎么样,有点直观感觉了吗?
记账只是加减法。一旦涉及到乘除、求导、指数等高阶计算,误差的累积速度更是惊人。
大家试着算一下:1÷3×3=?当然大家都知道结果是1。
但是如果是计算器算呢?
如果你们手上有安卓系统的手机,请打开手机里的计算器来算一下,得到的答案是0.99999999。。。
因为手机计算器计算过程中,会保留8位小数,所以1÷3=0.33333333。再乘以3,就是0.9999999。。。不过,好歹误差还是远低于千分之一的,一般应用里足够了。
这是不是有点颠覆你的感觉?计算机其实很笨,对一些简单问题的处理甚至还比不上人心算。为了用正确的算法得到靠谱的数值结果,软件背后的程序员们必须十分小心,要付出很多很多艰苦的努力。
(PS:如果用苹果手机或者电脑上的计算器算,就还是等于1。我觉得这两家的工程师应该是专门优化了这个算法。谷歌的工程师们加油啊。。。)
如果再极端一点,看看整个计算的中间过程,如果只能保留整数位会发生什么。
1除以3等于0.33333333,四舍五入一下,就是0了。。。0再乘以3,等于0。。。——那么结果就是,1÷3×3=0!这是什么鬼?!
——这就是中间值没有使用小数带来的误差悲剧。
所以,当参与计算的数据是N+1位时,能得到的精确值最多只能到N位。这就是被一门叫做《数值计算方法》的学科里提出的“有效数字”的概念。
——说人话!!
——好。一个24位色的图像,是标准的8-bpc数据深度。如果要对图像数据进行复杂的运算,计算机内部计算用的数据深度,必须大于显示用的8-bpc。
回到PS这里,如果你的工作主要是做后期、做特效,特别是照片要修色,修改色阶输出什么的,就最好一开始就选择为16位精度!否则,在软件进行内部计算的时候,如果参与计算的数据位数不够,就有可能造成下面的“色带”现象:
出现这个现象的原因,在于第一步开始压缩色阶输出范围的时候,过渡色的细节信息被“压缩”了,变成了一片色差很小的灰色。由于在计算机里由于没有分配空间存储这些被“压缩”的信息,这些细节只好被扔掉。恢复色阶后,这些信息也没地方找回来,所以只能恢复一个大概。这样,大量的过渡色被“吃掉”,最终形成“色带”。
那么,如果做这个计算的时候,有“草稿纸”能暂时记一下中间数据,不就能把丢失的细节找回来了?大家可以自己在PS动手验证一下,如果采用16-bpc的设置,则可以几乎完好无损的恢复原图。这就是因为16-bpc的数据存储空间比8-bpc大了整整一倍的缘故,被“压缩”的细节信息有地儿暂存,恢复色阶的时候就可以原地满血复活。
如果你之前曾遇到“色带”问题,是不是百思不得其解?吼吼,现在明白了吗?
但是!如果不管三七二十一,任何工作都设置为16-bpc,也会有别的问题。
16-bpc的设置下,数据存储空间翻倍,文件的大小也翻倍了。也因此计算机数据处理的工作量也大大增加了,如果文件数据本身就很大,处理数据的速度会明显变慢。32-bpc文件大小更是翻了两番。
并且,PS里有很多滤镜效果都不能支持16-bpc,绝大部分不支持32-bpc。
楼主对此的推测是,其实没什么别的原因,就是计算量太大了,搞不过来。并且,为了在16-bpc里尽可能多的使用滤镜,把16-bpc的实际数据量降到了15-bpc,只是保留了原来16-bpc的名字。以上只是推测,有没有高人有Adobe的内部消息的,跟楼主悄悄说一下:D
而且我知道有些画手,在PS里图层的数量动不动以百位计,经常把电脑搞死机。如果动不动就发大招,采用16位数据深度,电脑工作的负担翻了好几倍,有些老机器不是要卡成狗?
实际上,你完全可以在使用PS的过程中在8bit/channel和16bit/channel的之间来回切换(图像->模式)。只有在你感觉可能需要使用较深的数据深度的情况下,再用16-bpc的设置。
那么问题来了,
----什么是“可能需要使用较深的数据深度的情况”?
1.有渐变颜色的地方,特别容易出现“色带”。
比如照片里面的蓝天、水面,UI里面用过渡颜色填充的背景,等等。因为渐变的颜色,从原理上说,每一个色块之间的色差应该很微小,才能形成自然流畅的渐变色,一旦色差跨度反常的变大,就会出现“色带”。
所以,照片是出现“色带”的重灾区。对摄影师们来说,对照片修片还是尽量用16-bpc设置为好。此外,JPEG格式只支持8-bpc数据深度,而RAW格式支持16-bpc。为了在后期有更大的调整空间,拍照还是应该保存为RAW格式。
(图上的右边例子里,原图已经出现了轻微的“色带”)
2.带文字的画面。
我们看到的文字颜色也许是黑色的,但其实文字的细节之处(特别是有斜线的位置),有很多不同的灰阶(过渡色)。所以文字的斜线部分也容易出现看起来像锯齿一样的“色带”。
如果你处理的图像是动画、插画风格的,色彩变化剧烈、渐变颜色填充用得少,这个问题就不会很明显。
如果是尺寸比较小、大面积纯色用得多的类型,比如logo之类,也完全不用担心这个问题,选择用8位数据精度一点事儿也没有。
比如驼灰灰这样的:
对楼主这样的懒人来说,平时一概用默认的8位/通道设置。
只有修图走到某一步发现:哎呀,出现“色带”了!退回去嘛,配置成16位/通道再来一遍就是了,哈哈哈哈~
明白了吗?楼主为什么要强调图像、通道这些CG的概念和数据有关?
CG=ComputerGraphic。
这个“计算机”的名头可不是白给的。
和传统的图像相比,数字图像的确有很多特性和它的数据本质息息相关。
你甚至会发现数字图像处理的问题发展到一定阶段,其实本质是数学问题。在Adobe之类的公司,还会专门有叫“算法工程师”的职位,基本不用写代码,一心研究算法。
大家不用一听到数学就腿软,反正我们只负责用,难题都交给那些学数学的好了,嗯哼。
不过楼主一想到,某种意义上,设计界的未来竟然掌握在一群数学家手里,就觉得很。。。反差萌。。。望天。。。
接下来,
——什么时候需要用32位/通道?
如果你都问出这个问题了,其实就说明你不需要用它了。。。
因为32位/通道,是为了应对更极端的应用场合:处理高动态范围(HDR)的照片。
要用的人自然就用了,不用的人完全可以不管它。。。
——楼主你是不是想偷懒?你是不是自己都搞不明白就想糊弄过去了!?
呃,被你看穿了。。。
楼主平时的工作完全用不到HDR,所以以下内容完全是查资料后的理解。。。有错误的地方还请高人指正。。。
--什么是HDR?
HDR简单的说,就是要解决逆光拍照的技术。
逆光拍照~困扰了摄影师们多少年的难题~~~
精彩评论