CG描画のためのアウトラインカラースペクトル

日本バーチャルリアリティ学会第 11 回大会論文集 (2006 年 9 月)
CG 描画のためのアウトラインカラースペクトル
Outlined Color Spectrum for CG Rendering
渡辺啓蔵
Keizo WATANABE
株式会社 数理設計研究所
(〒 371-0816 群馬県前橋市上佐鳥町 54-2, wakei dol.hi-ho.ne.jp)
Abstract : A new color reproduction system for CG rendering is proposed instead of conventional
RGB system. Each of spectral luminance and spectral reflectance is defined as a piecewise linear
function with a limited number of control points and that enables processing of both smoothly
distributed and spiky spectra. The number of the control points forming that a function is kept
constant in spite of light reflecting and color mixing operations to consume much less memory.
Key Words: Outlined Color Spectrum, Spectral Luminance, Spectral Reflectance
1.
はじめに
(a) では赤色 LED (∼630 nm) と緑色 LED (∼530 nm) を
従来,CG を作成する上での色再現には RGB 等の三原
組み合わせたものを,図 2 (b) では黄色 LED (∼587 nm)
色が多く用いられてきた.熱放射による光源や自然物体に
を単独で用いている.白色の球に反射された光はほぼ同色
よる反射を想定した場合はこれで十分だが,ルミネセンス
に見えるが,赤色の球に反射された光は異なる色を示して
による光源 [1] や光の干渉を利用した塗料 [2] による反射を
いる.一般的な赤色塗料は波長 600 nm 以上の光のみをよ
想定した場合には鋭いピークを持つスペクトルを扱わなく
く反射するため,同じ赤色の球上でも,図 2 (a) では赤色
てはならないため,正確な色再現が困難になる.
LED からの光が強いまま観察され,図 2 (b) では黄色 LED
からの光が大きく減じられて観察されている.
白色光源下で図 1 の写真のような色を呈する物体に,黄
この様子を RGB 三原色を用いて CG 上に再現し,図 3
色の光を当てた様子を図 2 の写真に示す.光源として図 2
に示す.図 2 の写真と同じく図 3 (a), (b) で異なる光源を
用いたが,写真に見られたような違いが現れない.RGB 三
原色を用いた場合は赤色 LED と緑色 LED の混合色も,黄
色 LED の単色光も R 成分と G 成分を足したものとして扱
われ,細かな分光情報が無視されるためである.
このような不具合を解決するために,分光的色再現を可
能にする数々の手法が考案されてきた [3][4].本研究ではア
ウトラインカラースペクトルと称した,輝度と反射率に関
する分光情報を折れ線一次関数で管理する手法を提案する.
図 1: 白色光源下の写真
(a)
(b)
(a)
(b)
図 2: 写真 (a) 赤色 LED と緑色 LED の混合色光源下,
図 3: RGB 三原色を用いた CG (a) 赤色 LED と緑色
(b) 黄色 LED の単色光源下
LED の混合色光源下,(b) 黄色 LED の単色光源下
414
Spectral Reflectance Rλ [%]
3
Spectral Luminance Lλ [cd/m ]
x 1013
1.0
0.8
0.6
0.4
0.2
0
380
500
600
700
780
100
80
60
40
20
0
380
500
600
700
780
Wavelength λ [nm]
Wavelength λ [nm]
図 4: 折れ線関数で定めたタングステンランプの輝度
図 5: 折れ線関数で定めた赤色塗料の反射率
2.
分光情報の設定
2.1
塗料の分光反射率である.輝度の場合と異なり,左右両端
分光輝度
の制御点は横軸と平行に伸ばした直線でグラフ両端と結ぶ.
放射輝度 Le [W/sr/m2 ] は物理量であるため,異なる波
輝度の場合と同様,制御点の波長 λ を定めるために 8 ビッ
長ごとの強度である分光放射輝度 Le,λ [W/sr/m3 ] の線形和
トの記憶領域を使用する.制御点の分光反射率 Rλ は 8 ビッ
と等しくなる.一方,輝度 L [cd/m2 ] は物理刺激量であり,
トの符号なし整数を用いて 256 階調で表す.1 つの制御点
波長ごとの強度に分けることは厳密にはできない.しかし,
を定めるために計 16 ビットを費やすことになり,図 5 のよ
ある程度の加法則は成立する [5] ことから,本研究において
うな 10 個の制御点から構成される分光反射率を設定するた
は分光輝度 Lλ [cd/m3 ] なるものを
めには 160 ビットの記憶領域を要することになる.
Lλ = Km V (λ)Le,λ
(1)
3.
分光情報の演算
3.1
780
Lλ dλ
L=
制御点削減
記憶領域の節約のため,分光輝度を構成する制御点の数
(2)
に上限 N を設ける.入力された分光輝度の制御点数が N
380
より大きい場合や,後に述べる 3.2, 3.3 の演算の過程で N
を超えた場合には,以下に述べる手順によって制御点を削
と定義する.ここで Km = 683 [lm/W] と V (λ) は CIE の
定めた明所視における,最大視感効果度と標準分光視感効率
減する.例として図 6 のような分光輝度を挙げる.説明の
である.これを用いて輝度に関する分光情報を波長 λ [nm]
必要上,同一の値を持つ 2 つのグラフを並べて表示する.
に対する分光輝度 Lλ の折れ線一次関数として設定する.図
この分光輝度は 11 個の制御点で設定されている.ここで
4 にこうして定められたタングステンランプの分光輝度を示
N = 10 とした場合,1 つの制御点を削除しなくてはならな
す.グラフ中の小さい円は一次関数の直線同士の接続部を
い.このとき,輝度 L を極力変化させないことを削除対象
表しており,これらを制御点と呼ぶことにする.グラフに
の制御点を選ぶ基準とする.2.1 で述べたように L はグラ
おけるこれら制御点の座標を決定すると,折れ線関数は一
フ上の折れ線関数に囲まれた面積に比例する.従って図 6 の
意に定まる.このとき左,右両端の制御点はそれぞれグラ
グラフ上の赤く塗られた三角形の面積は,各制御点を削除
フ両端の (380, 0) と (780, 0) の座標と直線で結ばれる.
した際に増加,または減少する輝度の値を表すことになる.
この例の場合,この三角形の面積が最も小さい制御点 k が
制御点の座標を決定するための記憶領域を次のように割
り当てる.まず,波長 λ を表す横軸を 380 nm から 780 nm
削除対象となる.これを削除した結果,図 7 の折れ線関数
まで 2 nm ずつに刻み,201 点のいずれかを 8 ビット符号
で表される分光輝度を得る.
なし整数で定める.分光輝度 Lλ を表すのには 8 ビットの
複数の制御点を削除する必要がある場合は,この作業を制
仮数部,8 ビットの 2 を基数とする指数部からなる 16 ビッ
御点が N 個になるまで繰り返す.その後,全ての制御点の Lλ
ト符号なし浮動小数点数を用いる.計 24 ビットを用いて 1
に,制御点削減前の削減後に対する輝度の比 Lbefore /Lafter
つの制御点を定める.図 4 に示した分光輝度は 10 個の制御
を乗じて輝度の合わせこみを行う.Lbefore , Lafter はグラフ
点で構成されるため,240 ビットの記憶領域が必要になる.
上の折れ線関数に囲まれた面積を求めることにより容易に
算出される.
波長を細かく指定できるため,単色性の高い光が扱える.
3.2
最も単色性の高いものでは,スペクトル半値幅 1 nm のレー
反射
波長 λ において,ある光源の分光輝度が L1λ ,ある物体
ザ光を設定することもできる.また,(2) 式より輝度 L はグ
ラフ上の折れ線関数に囲まれた領域の面積に比例する.
の分光反射率が Rλ である場合,反射後の光の同波長にお
2.2
ける分光輝度 L0λ は
分光反射率
反射率の分光情報も波長 λ に対する分光反射率 Rλ [%]
L0λ = Rλ L1λ
の折れ線一次関数として設定する.図 5 に示したのは赤色
415
(3)
e
0.8
0.6
0.4
i
c
0.2
0
a
g
380
500
k
600
700
780
x 1013
tungsten lamp
luminance
1.0
80
0.6
60
0.4
40
0.2
20
0
0
380
500
600
700
780
Wavelength λ [nm]
13
x 10
3
図 8: タングステンランプの分光輝度と赤色塗料の分光反
1.0
d
射率
0.8
Spectral Luminance Lλ [cd/m3]
Spectral Luminance Lλ [cd/m ]
100
0.8
Wavelength λ [nm]
0.6
0.4
h
f
0.2
b
j
0
380
500
600
700
780
Wavelength λ [nm]
図 6: 制御点削除前の分光輝度
13
x 10
before reduction
1.0
after reduction
0.8
0.6
0.4
0.2
0
380
500
600
700
780
Wavelength λ [nm]
13
x 10
3
1.0
d e
図 9: タングステンランプの光の赤色塗料による反射
0.8
Spectral Luminance Lλ [cd/m3]
Spectral Luminance Lλ [cd/m ]
red paint
reflectance
Spectral Reflectance Rλ [%]
1.0
Spectral Luminance Lλ [cd/m3]
3
Spectral Luminance Lλ [cd/m ]
x 1013
0.6
0.4
c
0.2
h i
f
b
0
a
380
j
g
500
k
600
700
780
Wavelength λ [nm]
図 7: 制御点削除後の分光輝度
14
x 10
tungsten lamp
luminance
1.0
blue LED
luminance
0.8
0.6
0.4
0.2
0
380
500
600
700
780
Wavelength λ [nm]
図 10: タングステンランプと青色 LED の分光輝度
とすることで得られる.本来ならば全波長域に渡ってこの
Spectral Luminance Lλ [cd/m3]
計算を行い反射後の分光輝度を得るべきであるが,その場
合は結果が折れ線二次関数となり扱いづらい.本手法では
以下の手順で折れ線一次関数による近似値を得る.
まず,分光輝度と分光反射率の制御点のいずれかが存在
する波長においてのみ (3) 式の計算を行い,得られた L0λ
と λ で新たな制御点を作成する.こうして得た制御点全て
を直線で結ぶと折れ線一次関数が得られるため,これを反
射後の分光輝度とする.この手順を経て図 8 中に示したタ
ングステンランプの光が,同じく図 8 中の赤色塗料に反射
x 1014
1.0
before reduction
after reduction
0.8
0.6
0.4
0.2
0
380
500
600
700
780
Wavelength λ [nm]
される様子を再現し,反射後の分光輝度を得た.図 9 中の
図 11: タングステンランプと青色 LED の光の混合
緑の折れ線関数がそれである.この例では反射前の分光輝
度,分光反射率が共に 10 個の制御点で構成されていたため,
して図 9 中に示した.
反射後の分光輝度は 20 個の制御点から成っている.制御点
3.3
のいくつかは同じ位置に重なっている.
2 色混合
波長 λ において,分光輝度 L1λ と L2λ の光を混合した場
次に,得られた分光輝度の制御点の数が N を超える場合,
合,混合後の光の分光輝度 L0λ は
3.1 で述べた手順に従って制御点を削減する.この例では
N = 10 として制御点削減を行い,結果を黒の折れ線関数と
L0λ = L1λ + L2λ
416
(4)
Blue LED
Green
LED
Blue LED
Red
LED
Green
LED
(a)
Red
LED
(b)
図 13: アウトラインカラースペクトルを用いた白色光源下
図 12: 分光視感効率により得られる画像の違い (a) V (λ)
の CG
を用いた場合,(b) Vb,10 (λ) を用いた場合
となる.ここでも制御点の存在する波長においてのみ (4) 式
の計算を行い,L0λ と λ で新たに作成した制御点を直線で
結び折れ線一次関数を得る.この場合は全波長域に渡って
分光輝度を加算した場合と同じ結果が得られる.図 10 中に
示した,それぞれ 10 個の制御点から成るタングステンラン
(a)
プと青色 LED の光を混合した場合,まず図 11 中の,20 個
図 14: アウトラインカラースペクトルを用いた CG (a) 赤
の制御点で構成される緑の折れ線関数が得られる.
色 LED と緑色 LED の混合色光源下,(b) 黄色 LED の
その後,3.1 に従い制御点が N 個になるまで削減する.
単色光源下
この例では N = 10 として,図 11 中に黒の折れ線関数で表
される分光輝度を得た.
4.
6.
N = 10 とし,分光視感効率には Vb,10 (λ) を用いた.図 13
最終的に得られた分光輝度 Lλ は CIE 1931 等色関数 x̄(λ),
780
X=
380
アウトラインカラースペクトルを用いた CG 描画
本手法を用いて 1. で述べた物体を CG 上に再現した.
CIE 1931 表色系への変換
ȳ(λ), z̄(λ) を用いて
(b)
の CG は図 1 の写真に,図 14 の CG は図 2 の写真に対応
する.図 14 (a), (b) 共に白色の球に反射された光はほぼ同
x̄(λ)
Lλ dλ
V (λ)
色に見えるが,赤色の球に反射された光は光源の組み合わ
(5)
せに依存して異なる色を示しており,写真の様子がよく再
現されている.
780
Y =
380
ȳ(λ)
Lλ dλ
V (λ)
参考文献
(6)
[1] K. Bando, K. Sakano, Y. Noguchi and Y. Shimizu:
Development of High-bright and Pure-white LED
780
Z=
380
z̄(λ)
Lλ dλ
V (λ)
Lamps, Journal of Light and Visual Environment,
(7)
Vol. 22, No. 1, pp. 2-5, 1998.
[2] R. W. Phillips, T. Mayer and G. S. Ash: Opti-
と CIE 1931 表色系へ変換できる.
cally variable printing ink, United States Patent No.
本稿では更に IEC 61966-2-1 に従い 8 ビット sRGB 値に
5279657, 1994.
[3] M. G. Raso and A. Fournier: A Piecewise Polynomial
変換し,画像を作成した.
Approach to Shading Using Spectral Distributions,
5.
図 12 は本手法を用い,N = 10 の条件で作成した CG で
Proceedings Graphics Interface ’91, pp. 40-46, 1991.
[4] M. S. Peercy: Linear Color Representations for Full
ある.白色の球に赤色 LED (∼630 nm),緑色 LED (∼530
Spectral Rendering, SIGGRAPH 93 Conference Pro-
nm),青色 LED (∼470 nm) の光が 3 方向から当たる様子
ceedings, pp. 191-198, 1993.
[5] W. de W. Abney: Researches in Colour Vision and
分光視感効率の選択
を表した.図 12 (a) では複数の光が重ねて当たる部分で青
the Trichromatic Theory, Longmans, Green and Co.,
色の光が欠けている.これは青色等の短波長部分における
pp. 105-106, 1913.
[6] Commission Internationale de l’Éclairage: Spectral
標準分光視感効率 V (λ) の値が他の波長部分と比較して極
端に小さく,制御点削減時にこの部分の制御点が優先的に
luminous efficiency functions based upon brightness
削除されるためである.図 12 (b) では分光視感効率として
matching for monochromatic point sources, 2˚ and
V (λ) の替わりに 視野角 10˚における,単色光の直接比較法
10˚fields, Publication CIE No. 75, 1988.
に基づく Vb,10 (λ) [6] を用いてこの不具合を改善した.
417