(个人笔记,由于刚开始学习再加上英语不太好,所以有的地理解的可能不太对,望指正)
Chapter 8 Light and Color
Light Quantities
Radiometry(辐射学)
radiometry是解决电磁辐射测量问题。不同波长的电磁波有不同的性质,自然界中可见电磁波的波长范围是400nm到700nm。
radiometry变量:
名称 | 符号 | 单位 |
radiant flux(辐射通量) | Φ \Phi Φ | w a t t ( W ) watt(W) watt(W) |
irradiance(辐射度) | E | W / m 2 W/m^2 W/m2 |
radiant intensity(辐射强度) | I | W / s r W/sr W/sr |
radiance(辐射率) | L | W / ( m 2 s r ) W/(m^2sr) W/(m2sr) |
其中 s r sr sr表示球面度(steradians)
在计算radiance时,要保证光线的方向与测量面垂直,如果不垂直需要进行cosine校正。
在渲染中radiance通常表示为 L o ( x , d ) 或 者 L i ( x , d ) L_o(x, d)或者L_i(x, d) Lo(x,d)或者Li(x,d),分别表示进入和离开点x的radiance,一般来说d的方向是从x发出。
radiance的一个重要性质是不受距离的影响,也不受环境的影响(例如雾),也就是说一个表面无论离观察点多远它的radiance都是相同的。
大多数光波都由很多不同波长的波组成,这可以通过spectual power distribution(SPD)描述,它描述了不同波长的光的能量分布。
Photometry(光度学)
radiometry描述的是真实物理世界的问题,photometry与radiometry相似,只是描述的影响是根据对于人眼的敏感度来进行度量的。两者可以通过CIE photometric curve转换:
除此之外,两则的单位也有所区别:
Radiometry | Photometry |
radiant flux : w a t t ( W ) watt(W) watt(W) | luminous flux : l u m e n ( l u ) lumen(lu) lumen(lu) |
irradiance : W / m 2 W/m^2 W/m2 | illuminance : l u x ( l x ) lux(lx) lux(lx) |
radiant intensity : W / s r W/sr W/sr | luminous intensity : c a n d e l a ( 坎 德 拉 c d ) candela(坎德拉 cd) candela(坎德拉cd) |
radiance : W / ( m 2 s r ) W/(m^2sr) W/(m2sr) | luminance : c d / m 2 = n i t cd/m^2 = nit cd/m2=nit |
luminance是用来描述表面亮度的单位。
Colorimetry(色度学)
Colorimetry是用来处理SPD与对于颜色的认知之间映射关系的。
颜色匹配实验:
rgb三色光不能够直接组成所有可见光,在颜色匹配函数中会出现负权重,CIE提出三个理论光源对于所有可见光都是正值,所以对于有负权重的可见光来说它们是无法实现的数学抽象(什么鬼???)。
CIE提出的颜色匹配函数:
对于这个匹配函数来说 x ˉ ( λ ) , y ˉ ( λ ) , z ˉ ( λ ) \bar{x}(\lambda),\bar{y}(\lambda),\bar{z}(\lambda) xˉ(λ),yˉ(λ),zˉ(λ)可以用来简化SPD 值 s ( λ ) s(\lambda) s(λ)到三个值当中:
X = ∫ 380 780 s ( λ ) x ˉ ( λ ) d λ Y = ∫ 380 780 s ( λ ) y ˉ ( λ ) d λ Z = ∫ 380 780 s ( λ ) z ˉ ( λ ) d λ X = \int_{380}^{780}s(\lambda)\bar{x}(\lambda)d\lambda \\ Y = \int_{380}^{780}s(\lambda)\bar{y}(\lambda)d\lambda \\ Z = \int_{380}^{780}s(\lambda)\bar{z}(\lambda)d\lambda \\ X=∫380780s(λ)xˉ(λ)dλY=∫380780s(λ)yˉ(λ)dλZ=∫380780s(λ)zˉ(λ)dλ
XYZ被称为三刺激値(tristimulus values),它们用来在CIE XYZ空间中定义颜色。常用来分离颜色的色相和亮度。
出于这个目的CIE定义了一个二维的色相空间,将颜色值投射到X+Y+Z=1的明面上,坐标值为x, y
x = X X + Y + Z y = Y X + Y + Z z = Z X + Y + Z = 1 − x − y ( z 值 一 般 被 省 略 ) x = \frac{X}{X + Y + Z} \\ y = \frac{Y}{X + Y + Z} \\ z = \frac{Z}{X + Y + Z} = 1 - x - y \ (z值一般被省略) x=X+Y+ZXy=X+Y+ZYz=X+Y+ZZ=1−x−y (z值一般被省略)
示意图:
CIE 1931 chromaticity diagram:
轮廓线表示可见光谱的范围,中间的黑点表示D65亮度下的色相,常用来表示白色。
色度图描述了一个平面,第三个维度Y描述了亮度,共同组成了xyY坐标系统。涂总三角形的部分代表了常规显示器的色域(gamut),三角形的三个角的颜色代表了三原色,需要注意的是色域是一个三维体,图中显示了投影。
几种不同的颜色空间:
RGB和XYZ颜色空间可以通过矩阵来进行转换,但是转换之后可能出现负值或者是比1要大的值,一种常用的转换到目标RGB色域的方法是将RGB转换到灰度亮度值。
Y
=
0.2126
R
+
0.7152
G
+
0.0722
B
Y = 0.2126R + 0.7152G + 0.0722B
Y=0.2126R+0.7152G+0.0722B
Rendering with RGB Colors
严格来说RGB值是用来代表视觉感受值而不是真正的物理量。正确的方式应该是基于光谱值进行渲染运算,最后转换到RGB空间中。
一个例子:
Scene to Scene
High Dynamic Range Display Encoding
Tone Mapping
显示编码函数是display’s electrical optical transfer funtion(EOTF)的逆操作,EOTF确保了线性的输入值产生线性的显示辐射值。
色调映射是将场景的辐射值转换到显示的辐射值的过程,这个转换被称为end-to-end transfer function或者是screen-to-screen transform。图像状态(image state)是理解色调映射的关键,Scene-referred image和display-referred image是两种基本的图像状态。
色调映射不确保screen-to-screen转换是一个恒等变换,要理解色调映射,最好把它认为是一种图像再生产的过程,这个过程使人对于图像的视觉感受与原场景的感受相同。
对于渲染过程来说曝光是对于scene-referred image的线性缩放,曝光与色调转换(Tone Reproduction Transform)是息息相关的。
Scene-referred image和display-referred image是两个从根本上不同的状态,物理操作只能应用于Scene-referred image。
Tone Reproduction Transform
Tone Reproduction Transform通常表示为一个一维曲线,它将输入值从Scene-referred image转换到display-referred image中,它可以单独的作用于R、G、B和亮度。对于非线性的操作(特别是clipping)可能会导致饱和度和色相的偏移,通过对亮度值使用色调曲线可以避免这个问题,但是display-referred颜色可能会超出色域的范围还需要将其映射回来。使用非线性的色调映射可能会导致与一些反走样处理相矛盾。
Academy Color Encoding System(ACES)将screen-to-screen转换分割为两个过程,第一步称为reference rendering transform(RRT),它将screen-referred值转换成一个标准displace-referred值output color encoding sepcification(OCES),这个过程是设备无关的。第二部称为output device tranform(ODT),将OCES转换成最终显示值。
Exposure
一种常用的用来计算曝光的方式依赖于分析Scene-referred亮度值,为了避免丢帧,通常基于之前帧进行计算。基于(Photographic Tone Reproduction for Digital Images)一文,一个常用的度量是场景亮度的log-average,但是这个方法会对异常值很敏感,少数的亮点就会影响所有帧的曝光,为了解决这个问题引入了亮度的直方图,它使用了中位数代替平均数来避免异常值的影响。到目前为止主要的问题是像素亮度不是用来计算曝光的正确度量,可以使用incident light meters来计算曝光值。
Color Grading(色彩分级)
preferred image reproduction是产生比原场景视觉效果更好的图片,它一般包括对图像颜色的创造性修改,该过程称为色彩分级。色彩分级通常先对一个采样场景图像进行修改,再将这个修改应用到之后的帧上。
(Using Lookup Tables to Accelerate Color Transformations)使用了三维颜色查找表(LUT)来进行色彩分级。色彩分级可以应用到Scene-referred 值和display-referred 值上,但是应用到Scene-referred 值上的效果更好。