优艾设计网

颜色知识,RGB显色系统详解(下)

优艾设计网 https://www.uibq.com 2020-09-14 00:00 出处:网络 作者:endlessring
之前写的几篇: 颜色知识,RGB显色系统详解(上) 颜色知识,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位精度!否则,在软件进行内部计算的时候,如果参与计算的数据位数不够,就有可能造成下面的“色带”现象:

颜色知识,RGB显色系统详解(下)

出现这个现象的原因,在于第一步开始压缩色阶输出范围的时候,过渡色的细节信息被“压缩”了,变成了一片色差很小的灰色。由于在计算机里由于没有分配空间存储这些被“压缩”的信息,这些细节只好被扔掉。恢复色阶后,这些信息也没地方找回来,所以只能恢复一个大概。这样,大量的过渡色被“吃掉”,最终形成“色带”。

那么,如果做这个计算的时候,有“草稿纸”能暂时记一下中间数据,不就能把丢失的细节找回来了?大家可以自己在PS动手验证一下,如果采用16-bpc的设置,则可以几乎完好无损的恢复原图。这就是因为16-bpc的数据存储空间比8-bpc大了整整一倍的缘故,被“压缩”的细节信息有地儿暂存,恢复色阶的时候就可以原地满血复活。

 

如果你之前曾遇到“色带”问题,是不是百思不得其解?吼吼,现在明白了吗?

 

但是!如果不管三七二十一,任何工作都设置为16-bpc,也会有别的问题。

16-bpc的设置下,数据存储空间翻倍,文件的大小也翻倍了。也因此计算机数据处理的工作量也大大增加了,如果文件数据本身就很大,处理数据的速度会明显变慢。32-bpc文件大小更是翻了两番。

颜色知识,RGB显色系统详解(下)

并且,PS里有很多滤镜效果都不能支持16-bpc,绝大部分不支持32-bpc。

楼主对此的推测是,其实没什么别的原因,就是计算量太大了,搞不过来。并且,为了在16-bpc里尽可能多的使用滤镜,把16-bpc的实际数据量降到了15-bpc,只是保留了原来16-bpc的名字。以上只是推测,有没有高人有Adobe的内部消息的,跟楼主悄悄说一下:D

 

而且我知道有些画手,在PS里图层的数量动不动以百位计,经常把电脑搞死机。如果动不动就发大招,采用16位数据深度,电脑工作的负担翻了好几倍,有些老机器不是要卡成狗?

 

实际上,你完全可以在使用PS的过程中在8bit/channel和16bit/channel的之间来回切换(图像->模式)。只有在你感觉可能需要使用较深的数据深度的情况下,再用16-bpc的设置。

颜色知识,RGB显色系统详解(下)

 

那么问题来了,

----什么是“可能需要使用较深的数据深度的情况”?

 

1.有渐变颜色的地方,特别容易出现“色带”。

比如照片里面的蓝天、水面,UI里面用过渡颜色填充的背景,等等。因为渐变的颜色,从原理上说,每一个色块之间的色差应该很微小,才能形成自然流畅的渐变色,一旦色差跨度反常的变大,就会出现“色带”。

所以,照片是出现“色带”的重灾区。对摄影师们来说,对照片修片还是尽量用16-bpc设置为好。此外,JPEG格式只支持8-bpc数据深度,而RAW格式支持16-bpc。为了在后期有更大的调整空间,拍照还是应该保存为RAW格式。

颜色知识,RGB显色系统详解(下)

(图上的右边例子里,原图已经出现了轻微的“色带”)

 

2.带文字的画面。

我们看到的文字颜色也许是黑色的,但其实文字的细节之处(特别是有斜线的位置),有很多不同的灰阶(过渡色)。所以文字的斜线部分也容易出现看起来像锯齿一样的“色带”。

颜色知识,RGB显色系统详解(下)

 

如果你处理的图像是动画、插画风格的,色彩变化剧烈、渐变颜色填充用得少,这个问题就不会很明显。

如果是尺寸比较小、大面积纯色用得多的类型,比如logo之类,也完全不用担心这个问题,选择用8位数据精度一点事儿也没有。

比如驼灰灰这样的:

颜色知识,RGB显色系统详解(下)

 

对楼主这样的懒人来说,平时一概用默认的8位/通道设置。

只有修图走到某一步发现:哎呀,出现“色带”了!退回去嘛,配置成16位/通道再来一遍就是了,哈哈哈哈~

 

明白了吗?楼主为什么要强调图像、通道这些CG的概念和数据有关?

CG=ComputerGraphic。

这个“计算机”的名头可不是白给的。

和传统的图像相比,数字图像的确有很多特性和它的数据本质息息相关。

你甚至会发现数字图像处理的问题发展到一定阶段,其实本质是数学问题。在Adobe之类的公司,还会专门有叫“算法工程师”的职位,基本不用写代码,一心研究算法。

 

大家不用一听到数学就腿软,反正我们只负责用,难题都交给那些学数学的好了,嗯哼。

不过楼主一想到,某种意义上,设计界的未来竟然掌握在一群数学家手里,就觉得很。。。反差萌。。。望天。。。

 

接下来,

——什么时候需要用32位/通道?

 

如果你都问出这个问题了,其实就说明你不需要用它了。。。

因为32位/通道,是为了应对更极端的应用场合:处理高动态范围(HDR)的照片。

要用的人自然就用了,不用的人完全可以不管它。。。

 

——楼主你是不是想偷懒?你是不是自己都搞不明白就想糊弄过去了!?

呃,被你看穿了。。。

楼主平时的工作完全用不到HDR,所以以下内容完全是查资料后的理解。。。有错误的地方还请高人指正。。。

 

--什么是HDR?

 

HDR简单的说,就是要解决逆光拍照的技术。

 

逆光拍照~困扰了摄影师们多少年的难题~~~

提示:键盘也能翻页,试试"← →"键
0

精彩评论

暂无评论...
验证码 换一张
取 消