説明

画像処理装置、画像処理方法

【課題】 物体への光源の写り込みの状態を判定し、その判定結果に応じて算出した順応白色点を用いて出力画像を生成する技術を提供すること。
【解決手段】 表示装置の白色点の三刺激値と、光源中心写り込み領域の面積に応じて決まる仮想物体の白色点の三刺激値と、から、仮想物体の部分順応白色点の三刺激値と、表示装置の部分順応白色点の三刺激値とを求める。そしてこれらの部分順応白色点から、投影面上の各画素位置に対するRGB値を確定させ、投影面上に、RGB値を有する画素で構成されている前記レンダリング画像を形成する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像の表示技術に関するものである。
【背景技術】
【0002】
従来、物体の見え方をディスプレイ等の出力デバイスでシミュレーションする方法としては、三次元コンピュータグラフィックス(3D−CG)技術を用いて三次元形状を二次元画面上に擬似三次元表示する方法が知られている。3D−CG技術を用いることにより、物体を回転、拡大・縮小するなどして、様々な視点からの物体の見え方をシミュレーションすることが可能となる。
【0003】
3D−CG技術では、三次元物体や光源といったオブジェクトに対して、反射率、放射輝度、屈折率、あるいは透過率といった光学情報を設定し、XYZ等の三刺激値に基づいて、表示すべき物理色を算出している。これにより、表示すべき物理色を高精度に算出することが出来るが、出力デバイスの色再現範囲に応じてなるべく忠実に再現できるよう圧縮する必要がある。
【0004】
例えば、特許文献1には、二色性反射モデルを用いて拡散反射成分と鏡面反射成分の線形和で反射光のスペクトルを表す方法が開示されている。この方法では、拡散反射成分と鏡面反射成分のそれぞれに所定の定数あるいは関数を乗じることで、反射光スペクトルを出力デバイスの色再現範囲内に調整する。しかしこの方法は、人間の順応状態が考慮されていないため、シミュレーション結果が人間の主観的知覚に一致しない、という問題がある。
【0005】
特許文献2には、レンダリング画像が人間の主観的知覚に一致する画像となるように、オブジェクト毎にアピアランスパラメータを設定し、人間の視覚の順応状態に基づいた良好な画像を生成する方法が開示されている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2000−009537号公報
【特許文献2】特開2008−146260号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、人間の視覚特性はより輝度の高いものに順応するため、物体が光沢のある表面を持つものであった場合には、鏡面反射による光源の写り込みがある時とない時で、人間の視覚の順応状態が変化する。光源の写り込みがない場合は、拡散反射成分の最も輝度が高い点に順応しているが、映り込みがある場合は、より輝度の高い鏡面反射成分に順応しようとする。従来技術では、同一オブジェクトを観察する際に起こる経時的な順応状態の変化が考慮されていないため、実際の物体の見えと異なるという課題があった。
【0008】
本発明は以上の問題に鑑みてなされたものであり、物体への光源の写り込みの状態を判定し、その判定結果に応じて算出した順応白色点を用いて出力画像を生成する技術を提供することを目的とする。
【課題を解決するための手段】
【0009】
本発明の目的を達成するために、例えば、本発明の画像処理装置は以下の構成を備える。即ち、仮想空間中に配されている投影面上に、該仮想空間中に配されている仮想物体を投影させることで、前記投影面上に前記仮想物体のレンダリング画像を形成する画像処理装置であって、前記仮想空間中に設定されている視点の位置と、前記投影面上の着目画素位置と、を通る直線を求め、該求めた直線と前記仮想物体との交点位置を求める第1の計算手段と、前記仮想空間中に設定されている光源から照射され、前記交点位置で反射する反射光の方向ベクトルと、前記直線の方向ベクトルと、が為す角度を求める第2の計算手段と、前記反射光の三刺激値を取得する取得手段と、前記第1及び2の計算手段による計算処理と前記取得手段による取得の処理とを、前記投影面上の各画素位置について行うことで、前記投影面上の各画素位置について前記角度と前記三刺激値を求める手段と、閾値以下となる前記角度を求めた画素位置の数を計数し、前記投影面上の全画素数に対する該計数した数、の割合を求める手段と、前記仮想物体の白色点の三刺激値と、表示装置の白色点の三刺激値と、前記割合とから、前記仮想物体の部分順応白色点と、前記表示装置の部分順応白色点とを求める演算手段と、前記仮想物体の部分順応白色点と、前記表示装置の部分順応白色点とに基づいて前記反射光の三刺激値を前記表示装置のデバイス値に変換することで、前記投影面上に、前記デバイス値で構成される前記レンダリング画像を形成する手段とを備えることを特徴とする。
【発明の効果】
【0010】
本発明の構成によれば、物体への光源の写り込みの状態を判定し、その判定結果に応じて算出した順応白色点を用いて出力画像を生成する技術を提供することができる。
【図面の簡単な説明】
【0011】
【図1】画像処理装置1の機能構成例及びその周辺機器を示すブロック図。
【図2】画像処理装置1が行う処理のフローチャート。
【図3】仮想物体の一例を示す図。
【図4】BRDF特性を説明する図。
【図5】レンダリング画像を生成する際の仮想空間の一例を示す図。
【図6】BRDF特性が異なる場合の閾値mの違いの例を示す図。
【図7】画像出力装置2のデバイスプロファイルの一例を示す図。
【図8】画像処理装置83の機能構成例及びその周辺機器を示すブロック図。
【図9】画像処理装置83が行う処理のフローチャート。
【図10】白色点の関係を概念的に示す図。
【発明を実施するための形態】
【0012】
以下、添付図面を参照し、本発明の好適な実施形態について説明する。なお、以下説明する実施形態は、本発明を具体的に実施した場合の一例を示すもので、特許請求の範囲に記載の構成の具体的な実施例の1つである。
【0013】
[第1の実施形態]
先ず、本実施形態に係る画像処理装置1の機能構成例及びその周辺機器について、図1を用いて説明する。画像処理装置1には画像出力装置2及びメモリ3が接続されている。この画像出力装置2は本実施形態ではCRTや液晶画面などの表示装置とするが、画像を出力可能な装置であれば、プリンタなど他の装置であっても良い。
【0014】
メモリ3には、仮想空間の画像(仮想物体の画像)を生成するために必要な情報(仮想空間情報)や、画像出力装置2のデバイスプロファイル等が格納されている。仮想空間情報には、仮想空間中に配置する仮想物体に係る情報、仮想空間中に配置する視点に係る情報、仮想空間中に配置する光源に係る情報、等が含まれている。なお、これ以外の情報で、以下に説明する各処理で登場する様々な情報についてもこのメモリ3に格納されているものとする。
【0015】
物体情報取得部101は、メモリ3から、仮想物体に係る情報(物体情報)を読み出す。光源情報取得部102は、メモリ3から、光源に係る情報を読み出す。観察情報取得部103は、メモリ3から、視点に係る情報(観察情報)を読み出す。
【0016】
レンダリング画像生成部104は、物体情報取得部101が読み出した物体情報、光源情報取得部102が読み出した光源情報、観察情報取得部103が読み出した観察情報、を用いて、視点から見た仮想物体の画像をレンダリング画像として生成する。より詳しくは、光源から照射され、仮想物体の表面で反射し、視点の位置で受け取った光を、仮想空間中に設定した投影面上に投影することで、レンダリング画像を生成する。
【0017】
光源写り込み領域判定部105は、レンダリング画像を構成する各画素(投影面上の各画素位置)の鏡面反射成分を判定し、割合=(鏡面反射成分の値が0でない画素の数)/(レンダリング画像を構成する全ての画素の数)を求める。
【0018】
順応白色点算出部106は、画像出力装置2の白色点の三刺激値と、上記割合に応じて決まる仮想物体の白色点の三刺激値と、基準としての白色点の三刺激値と、を用いて、画像出力装置2の順応白色点の三刺激値、仮想物体の順応白色点の三刺激値を求める。
【0019】
色変換部107は、順応白色点算出部106が求めた順応白色点を用いて、レンダリング画像生成部104が生成したレンダリング画像を構成する各画素のRGB値(デバイス値)を確定させる。画像出力部108は、色変換部107により各画素のRGB値が確定されたレンダリング画像を、画像出力装置2に対して出力する。
【0020】
次に、画像処理装置1が1枚のレンダリング画像を生成して画像出力装置2に出力するために行う処理について、同処理のフローチャートを示す図2を用いて説明する。然るに、複数フレーム分のレンダリング画像を画像出力装置2に出力する場合は、図2のフローチャートに従った処理を、それぞれのフレームについて行うことになる。
【0021】
先ず、ステップS1では、物体情報取得部101は、メモリ3から上記の物体情報を取得する。本実施形態では仮想物体は図3に示す如く、多数の多角形(面)で構成されているものとするので、この物体情報には多角形毎に、多角形の色情報、多角形を構成する各頂点の位置情報、多角形の法線ベクトル情報、多角形の反射特性情報、等が含まれている。また、物体情報には、この仮想物体の仮想空間中における配置位置、姿勢を示す位置姿勢情報も含まれている。このような物体情報は予めCADソフト等で作成され、メモリ3に格納されている。
【0022】
ここで、反射特性情報とは、多角形におけるBRDF(Bidirectional Reflectance Distribution Function)特性の測定データであり、あらかじめ測定されているものとする。BRDF特性とは、図4に示す如く、反射表面401上のある地点に対して、光源402からある方向から光が入射したときに、それぞれの方向へどれだけの光が反射されるかを表す、反射地点に固有の関数である。
【0023】
次に、ステップS2では、光源情報取得部102は、メモリ3から上記の光源情報を取得する。この光源情報には、光源の仮想空間中における配置位置、姿勢を示す情報や、光源の分光放射輝度情報φ(λ)が含まれている(λは光の波長を表す)。なお、光源の分光放射輝度情報φ(λ)とは、λ:380〜780nmの波長ごとの放射輝度情報を表す。なお、光源情報にはこのほかにも、光源から照射される光の色など、光源に係る他の情報を含めても良い。
【0024】
次に、ステップS3では、観察情報取得部103は、メモリ3から上記の観察情報を取得する。この観察情報には、仮想空間を観察する視点の位置、姿勢を示す位置姿勢情報や、焦点距離や画角などの観察パラメータが含まれている。
【0025】
次に、ステップS4では、レンダリング画像生成部104は、物体情報取得部101が取得した物体情報、光源情報取得部102が取得した光源情報、観察情報取得部103が取得した観察情報を用いて、仮想物体のレンダリング画像を生成する。なお、ステップS4における処理の詳細については後述する。
【0026】
次に、ステップS5では、光源写り込み領域判定部105は、ステップS4で生成したレンダリング画像を構成する各画素(投影面上の各画素位置)の鏡面反射成分を判定し、上記割合を求める。ステップS5における処理の詳細については後述する。
【0027】
ステップS6で順応白色点算出部106は、画像出力装置2の白色点の三刺激値、上記割合に応じた仮想物体の白色点の三刺激値、基準としての白色点の三刺激値、を用いて、画像出力装置2の順応白色点の三刺激値、仮想物体の順応白色点の三刺激値を求める。
【0028】
次に、ステップS7では、色変換部107は、レンダリング画像から未だ選択していない画素を1つ選択する。そしてステップS8では、色変換部107は、順応白色点算出部106が求めた順応白色点を用いて、ステップS7で選択した画素のRGB値を確定させる。そして、ステップS7でレンダリング画像中の全ての画素を選択したのであれば処理はステップS9を介してステップS10に進み、ステップS7で未だ選択していない画素があれば、処理はステップS9を介してステップS7に戻る。ステップS10では、画像出力部108は、色変換部107により全ての画素のRGB値が確定したレンダリング画像を、画像出力装置2に対して出力する。
【0029】
<レンダリング画像生成部104が行う処理(ステップS4)について>
仮想物体のレンダリング画像を生成するためには、図5に示す如く、仮想空間中に視点52、投影面51、仮想物体54、光源53を配置する必要がある。ここではレンダリング画像を生成するための方法として、周知のレイトレーシング法を用いる場合について説明する。
【0030】
先ず、投影面51上の画素位置Pにおける画素値(RGB値)を決定するためには、視点52の位置と画素位置Pとを通る直線Vを求め、この直線Vが仮想物体54と交差するのであればその交差点(交点)でこの直線Vを反射させる。このように仮想物体との交差があればその交差点で反射させる処理を、反射した直線が光源53と交差するまで行う。そしてそれぞれの交差点における画素値を用いて、画素位置Pにおける画素値を決定する。そしてこのような画素値を求める処理を、投影面51上の各画素位置について行うことで、投影面51上の各画素位置における画素値が決定する。
【0031】
ここで、直線Vは仮想物体54と交差しているが、実際に直線Vと交差しているのは、仮想物体54を構成する何れかの多角形である。図5では、直線Vは多角形59と交差している。なお、多角形59のサイズを極限まで小さくすれば、この多角形59は直線Vと仮想物体54との交点(交点位置)となる。
【0032】
多角形59の法線ベクトルnと、光源53からの光線の方向ベクトルLと、が為す角(入射角)をθとすると、この光線の多角形59における鏡面反射光の方向ベクトルSと、法線ベクトルnとが為す角(反射角)もまたθとなる。また、直線Vの方向ベクトルと鏡面反射光の方向ベクトルSとは、角度(ずれ角)ρだけずれている。
【0033】
然るにレンダリング画像生成部104は図5の場合、画素位置Pについて直線Vを求めると、この直線Vと仮想物体54とが交差している多角形59を特定する(第1の計算)。そして特定した多角形59について上記のずれ角ρと反射角θとを求める(第2の計算)。また、上記の通り、多角形毎に反射特性情報が定義されている。従って、上記処理によれば、画素位置Pについて、ずれ角ρ、反射角θ、反射特性情報が得られることになる。これは他の画素位置についても同じである。
【0034】
次にレンダリング画像生成部104は、画素位置Pについて得た反射角θとずれ角ρとを用いて、多角形59における反射光の輝度スペクトルI(λ,θ,ρ)を求める。そしてレンダリング画像生成部104は、この反射光の輝度スペクトルI(λ,θ,ρ)を用いて、以下の式を計算することで、CIE-XYZ表色系における三刺激値XYZを算出する(第3の計算)。
【0035】
【数1】

【0036】
ここで、x(λ)、y(λ)、z(λ)は等色関数である。また、kは照明する光の明るさに比例する量である。このように、この式で表される三刺激値X、Y、Zは、観察される反射光の輝度スペクトルI(λ,θ,ρ)にそれぞれ等色関数x(λ)、y(λ)、z(λ)を乗じ、可視光の波長域(380nm〜780nm)で積分して求められる。係る式に従えば、刺激値Yの値は正規化されて0〜1の値を取り得るが、本実施形態ではk=1として刺激値Yを表す。したがって、刺激値Yの値は、光源の分光放射輝度φ(λ)の強度に依存する。この三刺激値XYZは画素位置Pについて求めたものでもある。
【0037】
然るに、レンダリング画像生成部104は、投影面上の各画素位置について上記の計算処理(第1乃至3の計算)を行うことで、各画素位置について、ずれ角ρ、反射角θ、三刺激値XYZ、反射特性情報、のセットが得られることになる。
【0038】
<光源写り込み領域判定部105が行う処理(ステップS5)について>
レンダリング画像において、光源の写り込みを判定する際には、投影面上の各画素位置における反射特性情報と、ずれ角ρと、を用いる。着目画素位置におけるずれ角ρが、着目画素位置の反射特性情報に基づいて決まる閾値mより大きい場合、着目画素位置における画素の鏡面反射成分を0とみなすことが出来る。ここで、この閾値mはBRDF特性に応じて決定され、鏡面反射成分が0になる最小のずれ角が閾値mとなる。図6にBRDF特性が異なる場合の閾値mの違いの例を示す。図6(a)は写像性の高いBRDF特性を示しており、図6(b)は写像性の低いBRDF特性を示している。
【0039】
そして光源写り込み領域判定部105は、投影面上の各画素位置について鏡面反射成分が0と見なせるか否かを判定する。そして光源写り込み領域判定部105は、(鏡面反射成分が0と見なせない画素の数=閾値以下の角度を求めた画素の数)を計数する。そして光源写り込み領域判定部105は、この計数した画素数を、(投影面上の全画素数)で割った値を上記割合として求める。当然ながらこの割合は0〜1の間の値を取ることになる。
【0040】
<順応白色点算出部106が行う処理(ステップS6)について>
本実施形態では、部分順応白色点の三刺激値を求める為に、仮想物体及び画像出力装置2の白色点の三刺激値と、基準となる白色点の三刺激値と、から、仮想物体及び画像出力装置2の部分順応白色点の三刺激値を求める計算式を、部分順応モデルとして用いる。この部分順応モデルについての詳細な説明は後述する。
【0041】
そして本実施形態では順応白色点算出部106は、画像出力装置2の白色点の三刺激値と、上記割合の値に応じて決まる仮想物体の白色点の三刺激値と、を上記部分順応モデルに与えてこの部分順応モデルを計算する。係る演算により、仮想物体の部分順応白色点の三刺激値と、画像出力装置2の部分順応白色点の三刺激値とを求める。
【0042】
ここで、画像出力装置2の白色点の三刺激値は、メモリ3内に保持されている画像出力装置2のデバイスプロファイルに含まれている。また、基準となる白色点の三刺激値は、色温度が8500Kの黒体放射軌跡上の点を用い、これもまたメモリ3内に情報として格納されている。なお、等エネルギー白色等、他の白色点の三刺激値を、基準となる白色点の三刺激値として用いてもよい。
【0043】
ここで上記の通り、順応白色点算出部106は、部分順応モデルに与える仮想物体の白色点の三刺激値を、光源写り込み領域判定部105が求めた割合に応じて決めるのであるが、以下に、係る決定の方法について説明する。
【0044】
順応白色点算出部106は、上記割合が0の場合(若しくは充分に0に近い場合)、完全拡散反射面に光源の分光放射輝度値φ(λ)を掛け合わせて算出した三刺激値を、仮想物体の白色点の三刺激値として部分順応モデルに与える。なお、上記割合が0の場合に部分順応モデルに与える三刺激値についてはこれ以外にも考えられ、例えば、投影面上の各画素位置における拡散反射成分を参照し、最も輝度の高い画素位置における三刺激値を、仮想物体の白色点の三刺激値としても良い。
【0045】
順応白色点算出部106は、上記割合が1の場合(若しくは充分に1に近い場合)、レンダリング画像内で最も強度が高い鏡面反射成分の輝度値Yを仮想物体の白色点の輝度値とする。なお、仮想物体の白色点の色度は、完全拡散反射面の三刺激値の色度と同じ色度とする。
【0046】
順応白色点算出部106は、上記割合が0〜1の場合、上記割合が0の場合に部分順応モデルに与えるものとして説明した三刺激値と、上記割合が1の場合に部分順応モデルに与えるものとして説明した三刺激値と、を上記割合の値に応じて合成する。例えば、上記割合がr(0<r<1)であるとする。この場合、上記割合が0の場合に部分順応モデルに与えるものとして説明した三刺激値に(1−r)を乗じた三刺激値と、上記割合が1の場合に部分順応モデルに与えるものとして説明した三刺激値にrを乗じた三刺激値と、を加算した結果を求める。そして順応白色点算出部106は、この加算結果(合成結果)を、仮想物体の白色点の三刺激値として部分順応モデルに与える。
【0047】
これにより、順応白色点算出部106は、画像出力装置2の白色点、光源の分光放射輝度、仮想物体のBRDF特性、を考慮して、仮想物体の部分順応白色点の三刺激値と、画像出力装置2の部分順応白色点の三刺激値と、を求めることができる。
【0048】
<色変換部107が行う処理(ステップS8)について>
先ず色変換部107は、メモリ3に格納されている画像出力装置2のデバイスプロファイル内に記述されている各格子点の三刺激値XYZを読み出す。図7に画像出力装置2のデバイスプロファイルの一例を示す。図7に示す如く、デバイスプロファイルには、RGB色空間中における各格子点に対応する三刺激値XYZが記述されている。
【0049】
そして色変換部107は、ステップS6で求めた「画像出力装置2の部分順応白色点の三刺激値」を用いて、デバイスプロファイルから読み出した各格子点の三刺激値XYZに対してCIECAM02色順応変換を行う。これにより、各格子点の三刺激値XYZをJCh値に変換する。そして色変換部107は、各格子点のJch値を参照して、最外郭の格子点を特定し、画像出力装置2の色再現範囲を求める。
【0050】
次に色変換部107は、ステップS6で求めた「仮想物体の部分順応白色点の三刺激値」を用いて、投影面上の各画素位置について得た三刺激値XYZに対してCIECAM02色順応変換を行う。これにより、投影面上の各画素位置について得た三刺激値XYZをJch値に変換する。なお、本実施形態では色順応変換にCIECAM02を用いているが、VonKriesの色順応式等、他の色順応変換を用いても良い。
【0051】
次に色変換部107は、投影面上の各画素位置について求めたJch値を、上記色再現範囲内に色圧縮(カラリメトリック色域圧縮)を行う。色域圧縮処理は、色再現範囲外の色を色再現範囲内の色に変換するために行う。カラリメトリック色域圧縮では、色再現範囲内の色はそのまま保ち、色再現範囲外の色は色再現範囲の最も近い点に圧縮する手法である。なお、色圧縮には様々なものがあり、カラリメトリック以外の色圧縮を用いても良い。
【0052】
そして色変換部107は、ステップS6で求めた「仮想物体の部分順応白色点の三刺激値」を用いて、色圧縮済みのJch値に対してCIECAM02色順応逆変換を行う。これにより、投影面上の各画素位置についてJch値から三刺激値XYZに変換することができる。次に色変換部107は、画像出力装置2のデバイスプロファイルに記述されている、「三刺激値XYZとRGB値との対応情報」を用いて、この三刺激値XYZをRGB値に変換する。これにより、投影面上の各画素位置について三刺激値XYZをRGB値に変換することができる。デバイスプロファイルにない三刺激値XYZをRGB値に変換する場合には、この三刺激値XYZの周囲の格子点の三刺激値XYZから、四面体補間等の補間処理を用いてRGB値を求める。
【0053】
以上の処理により、投影面上の各画素位置に対するRGB値を確定させることができるので、投影面上に、RGB値を有する画素で構成されているレンダリング画像を形成することができる。
【0054】
<順応モデルについて>
図10は、白色点の関係を概念的に示す図である。人間の視覚系はモニタの観察時も、仮想物体の観察時も光源の色を完全に補正することはできない。それ故、不完全順応を補正する必要がある。不完全順応を正確に補正するには、人間の視覚系が最も白いと感じる白色を(図10に△印で示す)基準白色として用いるべきである。そこで、上記の通り、色温度8500Kの黒体放射軌跡上の点を基準としての白色点として用いる。これは、モニタに白色を表示して白色の色温度を変化させた場合に被験者が最も好ましいと感じた白色の実験結果に基づく。勿論、基準白色は、この白色点に限られるわけではなく、異なる白色点、例えば等エネルギ白色よりも高い色温度をもつ、昼光軌跡上の白色点を設定してもよい。
【0055】
順応モデルを用いた計算では、画像出力装置2の白色点(以下、モニタ白色点)の色度uWm, vWmと、仮想物体の白色点(以下、仮想物体白色点)の色度uWp, vWpを以下の式(1)によって計算する。
【0056】
uWi = 4・XWi/(XWi + 15・YWi + 3・ZWi)
vWi = 6・YWi/(XWi + 15・YWi + 3・ZWi) …(1)
ここで、i = m, p
XWmYWmZWmはモニタ白色点の三刺激値
XWpYWpZWpは仮想物体白色点の三刺激値
次に、モニタ白色点の色度に対応するモニタ白色点の色温度TWmと、仮想物体白色点の色度に対応する仮想物体白色点の色温度TWpを、例えば、メモリ3が記憶する色度-色温度テーブルから取得する。
【0057】
次に、不完全順応補正用の、モニタ白色点の色温度T'Wmと、仮想物体白色点の色温度T'Wpを、以下の式(2)によって算出する。なお、基準白色点の色温度TWrは、上述したように8500Kである。
【0058】
1/T'Wm = {kinc_m・1/TWm} + {(1 - kinc_m)・1/TWr}
1/T'Wp = {kinc_p・1/TWp} + {(1 - kinc_p)・1/TWr} …(2)
ここで、kinc_iは不完全順応係数
0 ≦ kinc_i ≦1
なお、不完全順応係数は、ユーザが設定した値を利用するが、関数などを利用して自動的に算出することもできる。また、上記の計算に色温度の逆数を用いるのは、色温度の差は人間の知覚する色差に対応しないが、色温度の逆数は人間の知覚に対してほぼ均等になるからである。
【0059】
式(2)よって求めた色温度の白色点を利用すれば、不完全順応を正確に補正し、画像出力装置2や仮想物体を単独に観察する場合の色の見えを正確に予測することができる。ただし、画像出力装置2と仮想物体を同時に観察する場合は、単独に観察する場合と順応状態が異なり、画像出力装置2を観察する場合は仮想物体白色点の影響を、仮想物体を観察する場合はモニタ白色点の影響を受けると考えられる。
【0060】
そこで、部分順応を考慮して部分順応補正用の、モニタ白色点の色温度T”Wmと、仮想物体白色点の色温度T”Wpを、以下の式(3)によって計算する。
【0061】
1/T”Wm = (Km・L*m・1/T'Wm - Km'・L*p・1/T'Wp)/(Km・L*m + Km'・L*p)
1/T”Wp = (Kp・L*p・1/T'Wp - Kp'・L*m・1/T'Wm)/(Kp・L*p + Kp'・L*m) …(3)
ここで、Ki = kmix_iは部分順応係数
Ki' = 1 - Ki
0 ≦ Ki ≦ 1
L*iは白色点の輝度による重み係数
なお、部分順応係数は、ユーザが設定した値を利用するが、関数などを利用して自動的に算出することもできる。また、重み係数L*iは、白色点の輝度が高い方に、より順応するという考えから式(4)によって算出する。
【0062】
YWm ≦ YWp の場合 L*m = 116.0×(YWm/YWp)1/3 - 16.0
else L*m = 100
YWp ≦ YWm の場合 L*m = 116.0×(YWp/YWm)1/3 - 16.0 …(4)
else L*p = 100
次に、前述した色度-色温度テーブルよって、部分順応補正用のモニタ白色点の色温度に対応する色度u”Wm, v”Wmと、部分順応補正用の仮想物体白色点の色温度に対応する色度u”Wp, v”Wpを逆算する。そして、部分順応補正用のモニタ白色点の三刺激値X”WmY”WmZ”Wmを、以下の式(5)によって算出する。
【0063】
YWm ≦ YWp の場合 Y”Wm = {(L*”Wm + 16.0)/116.0}3・YWp
else Y”Wm = YWm
X”Wm = (3.0/2.0)・(u”Wm/v”Wm)・Y”Wm …(5)
Z”Wm = (4.0・X”Wm/u”Wm - X”Wm - 15.0・Y”Wm)/3.0
ここで、L*”Wm = L*m・km + 100.0(1-km)
また、部分順応補正用の仮想物体白色点の三刺激値X”WpY”WpZ”Wpを式(6)によって算出する。
【0064】
YWp ≦ YWm の場合 Y”Wp = {(L*”Wp + 16.0)/116.0}3・YWm
else Y”Wp = YWp
X”Wp = (3.0/2.0)・(u”Wp/v”Wp)・Y”Wp …(6)
Z”Wp = (4.0・X”Wp/u”Wp - X”Wp - 15.0・Y”Wp)/3.0
ここで、L*”Wp = L*p・kp + 100.0(1-kp)
以上の説明により、本実施形態によれば、光源の写り込み領域の面積に応じた最適な順応白色点を用いて色変換を行なうことで、実際の物体の見えをより忠実に再現することができる。
【0065】
[第2の実施形態]
第1の実施形態では、(投影面上の総画素数)に対する(鏡面反射成分が0と見なせない画素の数)の割合、即ち、光源写り込み領域の面積に応じて順応白色点を算出した。本実施形態では、レンダリング画像上の各画素位置について、光源の中心点の写り込みからの距離に応じて順応白色点を算出する。
【0066】
先ず、本実施形態に係る画像処理装置83の機能構成例とその周辺機器について、図8を用いて説明する。図8において図1と同じ部分については同じ参照番号を付しており、その説明は省略する。
【0067】
光源中心写り込み位置判定部815は、投影面上のレンダリング画像を形成する為の領域(レンダリング画像領域)内の各画素位置について、光源の中心点の写り込み位置からの距離を判定する。順応白色点算出部816は、光源中心写り込み位置判定部815による判定結果に応じて、レンダリング画像領域内の各画素に対する順応白色点を算出する。
【0068】
次に、画像処理装置83が1フレーム分のレンダリング画像を生成するために行う処理について、同処理のフローチャートを示す図9を用いて説明する。然るに、複数フレーム分のレンダリング画像を画像出力装置2に出力する場合は、図8のフローチャートに従った処理を、それぞれのフレームについて行うことになる。
【0069】
ステップS901〜ステップS904の各ステップにおける処理はそれぞれ、上記のステップS1〜ステップS4の各ステップにおける処理と同様であるため、その説明は省略する。なお、ステップS901〜ステップS904はステップS1〜ステップS4と同様であるものの、以下の処理において不要となる情報を求める処理は省略することができる。
【0070】
ステップS905では、光源中心写り込み位置判定部815は、レンダリング画像領域内の画素群から、未だ選択していない画素を1つ選択する。そしてステップS906では、光源中心写り込み位置判定部815は、投影面上の光源の中心点の写り込み位置を求め、求めた位置からステップS905で選択した画素(選択画素)の位置(選択画素位置)までの距離を求める。本ステップにおける処理の詳細については後述する。
【0071】
次に、ステップS907では順応白色点算出部816は、次の処理を行う。選択画素についてステップS906で求めた距離に基づいて、画像出力装置2の白色点の三刺激値、仮想物体の白色点の三刺激値、基準としての白色点の三刺激値を用いて、画像出力装置2の順応白色点の三刺激値、選択画素の順応白色点の三刺激値を求める。
【0072】
ステップS908では色変換部107は、順応白色点算出部816が求めた順応白色点を用いて、選択画素のRGB値を確定させる。ステップS908における処理は、画素単位で色変換処理を行う点を除けば、上記のステップS8と同じ処理である。
【0073】
ステップS905でレンダリング画像領域内の全ての画素を選択したのであれば処理はステップS909を介してステップS910に進み、ステップS905で未だ選択していない画素があれば、処理はステップS909を介してステップS905に戻る。ステップS910では、画像出力部108は、色変換部107により全ての画素のRGB値が確定したレンダリング画像を、画像出力装置2に対して出力する。
【0074】
<光源中心写り込み位置判定部815が行う処理(ステップS906)について>
光源中心写り込み位置判定部815は投影面上の各画素位置のうち光源の中心点からの光線の方向ベクトルLに対する鏡面反射光の方向ベクトルSと視点52からの直線Vの方向が平行(ずれ角ρが最も0に近い)となる画素位置Cを特定する。即ちこの画素位置Cを「光源中心写り込み位置」として特定する。この画素位置Cの特定処理では、投影面のサイズはレンダリング画像のサイズよりも充分に大きく設けておく。
【0075】
次に光源中心写り込み位置判定部815は、画素位置Cと選択画素の位置との間の距離を求める。そして次に光源中心写り込み位置判定部815は、この求めた距離を分子、レンダリング画像領域の対角線距離を分母とする分数の値を計算する。なお、分母はこれに限定するものではない。
【0076】
そして光源中心写り込み位置判定部815は、求めた分数の値が1よりも大きい場合には判定結果として0を出力し、求めた分数の値が1の場合には判定結果として0を出力し、求めた分数の値が0の場合には判定結果として1を出力する。また、求めた分数の値がr(0<r<1)の場合には判定結果として(1−r)を出力する。
【0077】
<順応白色点算出部816が行う処理(ステップS907)について>
第1の実施形態では、レンダリング画像に対して判定結果は一意に決まっていたため部分順応白色点は固定であった。本実施形態では、レンダリング画像の画素毎に判定結果が異なるため、部分順応白色点も画素毎に異なる。
【0078】
部分順応モデルに入力する仮想物体の白色点の三刺激値は以下のようにして決める。先ず、光源中心写り込み位置判定部815による判定結果が1の場合、画素位置Cにおける鏡面反射光Sの輝度値Yを仮想物体の白色点の輝度値とする。また、仮想物体の白色点の色度は、完全拡散反射面の三刺激値の色度と同じ色度とする。
【0079】
光源中心写り込み位置判定部815による判定結果が0の場合、完全拡散反射面に光源の分光放射輝度φ(λ)を掛け合わせて算出した三刺激値を、選択画素の白色点の三刺激値として部分順応モデルに与える。
【0080】
光源中心写り込み位置判定部815による判定結果が0〜1の場合、第1の実施形態と同様、上記判定結果が0の場合の三刺激値と、上記判定結果が1の場合の三刺激値と、を上記判定結果の値に応じて合成する。例えば、上記判定結果がf(0<f<1)であるとする。この場合、上記判定結果が0の場合の三刺激値に(1−f)を乗じた三刺激値と、上記判定結果が1の場合の三刺激値にfを乗じた三刺激値と、を加算した結果を求める。そして順応白色点算出部816は、この加算結果(合成結果)を、選択画素の白色点の三刺激値として部分順応モデルに与える。
【0081】
以上の説明により、本実施形態によれば、光源中心の写り込み位置からの距離に応じた最適な順応白色点を用いて色変換を行なうことで、実際の物体の見えをより忠実に再現することが可能となる。
【0082】
[第3の実施形態]
第1の実施形態では図1に示した画像処理装置1を構成する各部は何れもハードウェアで構成されているものとして説明したし、第2の実施形態では図8に示した画像処理装置83を構成する各部は何れもハードウェアで構成されているものとして説明した。しかし、これら各部の一部若しくは全部をソフトウェア(コンピュータプログラム)で構成しても良い。
【0083】
図1,8に示した画像処理装置1(83)を構成する各部をソフトウェアで構成する場合、このソフトウェアは、CPU等の実行部、RAM、ROM、ハードディスク等のメモリを有するコンピュータにより実行されることになる。この場合、このソフトウェアは、このメモリに格納され、この実行部により実行されることになる。もちろん、このソフトウェアを実行するコンピュータの構成については特に限定するものではない。
【0084】
[その他の実施形態]
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。

【特許請求の範囲】
【請求項1】
仮想空間中に配されている投影面上に、該仮想空間中に配されている仮想物体を投影させることで、前記投影面上に前記仮想物体のレンダリング画像を形成する画像処理装置であって、
前記仮想空間中に設定されている視点の位置と、前記投影面上の着目画素位置と、を通る直線を求め、該求めた直線と前記仮想物体との交点位置を求める第1の計算手段と、
前記仮想空間中に設定されている光源から照射され、前記交点位置で反射する反射光の方向ベクトルと、前記直線の方向ベクトルと、が為す角度を求める第2の計算手段と、
前記反射光の三刺激値を取得する取得手段と、
前記第1及び2の計算手段による計算処理と前記取得手段による取得の処理とを、前記投影面上の各画素位置について行うことで、前記投影面上の各画素位置について前記角度と前記三刺激値を求める手段と、
閾値以下となる前記角度を求めた画素位置の数を計数し、前記投影面上の全画素数に対する該計数した数、の割合を求める手段と、
前記仮想物体の白色点の三刺激値と、表示装置の白色点の三刺激値と、前記割合とから、前記仮想物体の部分順応白色点と、前記表示装置の部分順応白色点とを求める演算手段と、
前記仮想物体の部分順応白色点と、前記表示装置の部分順応白色点とに基づいて前記反射光の三刺激値を前記表示装置のデバイス値に変換することで、前記投影面上に、前記デバイス値で構成される前記レンダリング画像を形成する手段と
を備えることを特徴とする画像処理装置。
【請求項2】
仮想空間中に配されている投影面上に、該仮想空間中に配されている仮想物体を投影させることで、前記投影面上に前記仮想物体のレンダリング画像を形成する画像処理装置であって、
前記レンダリング画像を表示するための表示装置のデバイスプロファイルを保持する保持手段と、
前記投影面において前記レンダリング画像を形成するための領域をレンダリング画像領域とし、該レンダリング画像領域内の着目画素位置と、前記仮想空間中に設定されている視点の位置と、を通る直線を求め、該求めた直線と前記仮想物体との交点位置を求める第1の計算手段と、
前記仮想空間中に設定されている光源から照射され、前記交点位置で反射する反射光の方向ベクトルと、前記直線の方向ベクトルと、が為す角度を求める第2の計算手段と、
前記反射光の輝度スペクトルを求め、該求めた輝度スペクトルから三刺激値を計算する第3の計算手段と、
前記第1乃至3の計算手段による計算処理を、前記投影面上の各画素位置について行うことで、前記投影面上の各画素位置について前記角度と前記三刺激値を求める手段と、
前記角度が0に最も近い画素位置を特定し、特定した画素位置と、前記レンダリング画像領域内の各画素位置との距離を求め、前記レンダリング画像領域の対角線距離に対する該求めた距離の比を求める手段と、
前記レンダリング画像領域からの選択画素位置の白色点の三刺激値と、前記表示装置の白色点の三刺激値と、基準となる白色点の三刺激値と、から、前記選択画素位置の部分順応白色点の三刺激値と、前記表示装置の部分順応白色点の三刺激値と、を求める計算式に対して、前記デバイスプロファイルに含まれている前記表示装置の白色点の三刺激値と、前記比の値に応じて決まる前記選択画素位置の白色点の三刺激値と、を与えて前記計算式を計算することで、前記選択画素位置の部分順応白色点の三刺激値と、前記表示装置の部分順応白色点の三刺激値とを求める演算手段と、
前記デバイスプロファイルに含まれている各格子点における三刺激値を、前記表示装置の部分順応白色点の三刺激値を用いてJch値に変換し、該変換したJch値から前記表示装置の色再現範囲を求める手段と、
前記選択画素位置の部分順応白色点の三刺激値を用いて、前記選択画素位置について求めた三刺激値をJch値に変換し、該変換したJch値を前記色再現範囲内に色圧縮する手段と、
前記選択画素位置の部分順応白色点の三刺激値を用いて、前記選択画素位置に対する色圧縮済みのJch値を三刺激値に変換し、該変換した三刺激値を、前記表示装置のデバイスプロファイルに含まれている三刺激値とRGB値との対応情報を用いてRGB値に変換することで、前記選択画素位置に対するRGB値を確定させ、前記レンダリング画像領域内に、RGB値を有する画素で構成されている前記レンダリング画像を形成する手段と
を備え、
前記演算手段は、
前記比が0の場合には、完全拡散反射面の三刺激値に前記光源の分光放射輝度値を乗ずることで算出した三刺激値を、前記選択画素位置の白色点の三刺激値として前記計算式に与え、
前記比が1の場合には、選択画素位置における鏡面反射成分の輝度値と、完全拡散反射面の三刺激値の色度と同じ色度と、から成る三刺激値を、前記選択画素位置の白色点の三刺激値として前記計算式に与え、
前記比が0〜1の間の値である場合には、前記比が0の場合の三刺激値と、前記比が1の場合の三刺激値と、を該比に応じて合成した三刺激値を、前記選択画素位置の白色点の三刺激値として前記計算式に与える
ことを特徴とする画像処理装置。
【請求項3】
前記第3の計算手段は、前記輝度スペクトルに等色関数を乗じた結果を、可視光の波長域で積分することで、前記三刺激値のそれぞれの成分であるX、Y、Zを求めることを特徴とする請求項2に記載の画像処理装置。
【請求項4】
仮想空間中に配されている投影面上に、該仮想空間中に配されている仮想物体を投影させることで、前記投影面上に前記仮想物体のレンダリング画像を形成する画像処理装置が行う画像処理方法であって、
前記画像処理装置の第1の計算手段が、前記仮想空間中に設定されている視点の位置と、前記投影面上の着目画素位置と、を通る直線を求め、該求めた直線と前記仮想物体との交点位置を求める第1の計算工程と、
前記画像処理装置の第2の計算手段が、前記仮想空間中に設定されている光源から照射され、前記交点位置で反射する反射光の方向ベクトルと、前記直線の方向ベクトルと、が為す角度を求める第2の計算工程と、
前記画像処理装置の取得手段が、前記反射光の三刺激値を取得する取得工程と、
前記画像処理装置の三刺激値を求める手段が、前記第1及び2の計算工程による計算処理と前記取得工程による取得の処理とを、前記投影面上の各画素位置について行うことで、前記投影面上の各画素位置について前記角度と前記三刺激値を求める工程と、
前記画像処理装置の割合を求める手段が、閾値以下となる前記角度を求めた画素位置の数を計数し、前記投影面上の全画素数に対する該計数した数、の割合を求める工程と、
前記画像処理装置の演算手段が、前記仮想物体の白色点の三刺激値と、表示装置の白色点の三刺激値と、前記割合とから、前記仮想物体の部分順応白色点と、前記表示装置の部分順応白色点とを求める演算工程と、
前記画像処理装置の形成手段が、前記仮想物体の部分順応白色点と、前記表示装置の部分順応白色点とに基づいて前記反射光の三刺激値を前記表示装置のデバイス値に変換することで、前記投影面上に、前記デバイス値で構成される前記レンダリング画像を形成する工程と
を備えることを特徴とする画像処理方法。
【請求項5】
仮想空間中に配されている投影面上に、該仮想空間中に配されている仮想物体を投影させることで、前記投影面上に前記仮想物体のレンダリング画像を形成する画像処理装置が行う画像処理方法であって、
前記画像処理装置の第1の計算手段が、前記投影面において前記レンダリング画像を形成するための領域をレンダリング画像領域とし、該レンダリング画像領域内の着目画素位置と、前記仮想空間中に設定されている視点の位置と、を通る直線を求め、該求めた直線と前記仮想物体との交点位置を求める第1の計算工程と、
前記画像処理装置の第2の計算手段が、前記仮想空間中に設定されている光源から照射され、前記交点位置で反射する反射光の方向ベクトルと、前記直線の方向ベクトルと、が為す角度を求める第2の計算工程と、
前記画像処理装置の第3の計算手段が、前記反射光の輝度スペクトルを求め、該求めた輝度スペクトルから三刺激値を計算する第3の計算工程と、
前記画像処理装置の三刺激値を求める手段が、前記第1乃至3の計算工程による計算処理を、前記投影面上の各画素位置について行うことで、前記投影面上の各画素位置について前記角度と前記三刺激値を求める工程と、
前記画像処理装置の比を求める手段が、前記角度が0に最も近い画素位置を特定し、特定した画素位置と、前記レンダリング画像領域内の各画素位置との距離を求め、前記レンダリング画像領域の対角線距離に対する該求めた距離の比を求める工程と、
前記画像処理装置の演算手段が、前記レンダリング画像領域からの選択画素位置の白色点の三刺激値と、前記レンダリング画像を表示するための表示装置の白色点の三刺激値と、基準となる白色点の三刺激値と、から、前記選択画素位置の部分順応白色点の三刺激値と、前記表示装置の部分順応白色点の三刺激値と、を求める計算式に対して、前記表示装置のデバイスプロファイルに含まれている前記表示装置の白色点の三刺激値と、前記比の値に応じて決まる前記選択画素位置の白色点の三刺激値と、を与えて前記計算式を計算することで、前記選択画素位置の部分順応白色点の三刺激値と、前記表示装置の部分順応白色点の三刺激値とを求める演算工程と、
前記画像処理装置の色再現範囲を求める手段が、前記デバイスプロファイルに含まれている各格子点における三刺激値を、前記表示装置の部分順応白色点の三刺激値を用いてJch値に変換し、該変換したJch値から前記表示装置の色再現範囲を求める工程と、
前記画像処理装置の色圧縮手段が、前記選択画素位置の部分順応白色点の三刺激値を用いて、前記選択画素位置について求めた三刺激値をJch値に変換し、該変換したJch値を前記色再現範囲内に色圧縮する工程と、
前記画像処理装置の形成手段が、前記選択画素位置の部分順応白色点の三刺激値を用いて、前記選択画素位置に対する色圧縮済みのJch値を三刺激値に変換し、該変換した三刺激値を、前記表示装置のデバイスプロファイルに含まれている三刺激値とRGB値との対応情報を用いてRGB値に変換することで、前記選択画素位置に対するRGB値を確定させ、前記レンダリング画像領域内に、RGB値を有する画素で構成されている前記レンダリング画像を形成する工程と
を備え、
前記演算工程では、
前記比が0の場合には、完全拡散反射面の三刺激値に前記光源の分光放射輝度値を乗ずることで算出した三刺激値を、前記選択画素位置の白色点の三刺激値として前記計算式に与え、
前記比が1の場合には、選択画素位置における鏡面反射成分の輝度値と、完全拡散反射面の三刺激値の色度と同じ色度と、から成る三刺激値を、前記選択画素位置の白色点の三刺激値として前記計算式に与え、
前記比が0〜1の間の値である場合には、前記比が0の場合の三刺激値と、前記比が1の場合の三刺激値と、を該比に応じて合成した三刺激値を、前記選択画素位置の白色点の三刺激値として前記計算式に与える
ことを特徴とする画像処理方法。
【請求項6】
コンピュータを、請求項1乃至3の何れか1項に記載の画像処理装置が有する各手段として機能させるためのコンピュータプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2011−248476(P2011−248476A)
【公開日】平成23年12月8日(2011.12.8)
【国際特許分類】
【出願番号】特願2010−118769(P2010−118769)
【出願日】平成22年5月24日(2010.5.24)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】