(57)【特許請求の範囲】
【請求項１】
表示手段と撮像手段とを有する画像表示装置のための処理を行う画像処理装置であって、
オブジェクトの反射特性を含むオブジェクトデータを入力する入力手段と、
前記撮像手段により撮像された画像データに基づいて、観察者の観察位置を示す観察位置データと前記撮像手段の周辺の光源を含む環境マップとを取得する取得手段と、
前記オブジェクトにおいて反射した前記環境マップの各位置からの光を前記観察位置において観察した場合の光量を、前記環境マップの各位置から前記オブジェクトへの光の入射角と前記オブジェクトから前記観察位置への光の反射角とに基づいて前記オブジェクトデータを参照して取得し、かつ前記環境マップの各位置について取得した光量を積算することにより、前記オブジェクトにおいて反射した前記環境マップの各位置からの光を前記観察位置において観察した場合の画像を示す画像データを生成する生成手段と、
を備えることを特徴とする画像処理装置。
【請求項２】
画像データを撮像する撮像手段と、
オブジェクトの反射特性を含むオブジェクトデータを入力する入力手段と、
前記撮像手段により撮像された画像データに基づいて、観察者の観察位置を示す観察位置データと前記撮像手段の周辺の光源を含む環境マップとを取得する取得手段と、
前記オブジェクトにおいて反射した前記環境マップの各位置からの光を前記観察位置において観察した場合の光量を、前記環境マップの各位置から前記オブジェクトへの光の入射角と前記オブジェクトから前記観察位置への光の反射角とに基づいて前記オブジェクトデータを参照して取得し、かつ前記環境マップの各位置について取得した光量を積算することにより、前記オブジェクトにおいて反射した前記環境マップの各位置からの光を前記観察位置において観察した場合の画像を示す画像データを生成する生成手段と、
前記生成手段により生成された画像データを表示する表示手段と、
を備えることを特徴とする画像処理装置。
【請求項３】
前記反射特性は、光の入射角度に応じた反射率を示す情報を含むことを特徴とする、請求項１又は２に記載の画像処理装置。
【請求項４】
前記観察者の観察位置を示す観察位置データは、顔検出により決定されることを特徴とする、請求項１乃至３の何れか１項に記載の画像処理装置。
【請求項５】
前記顔検出において複数の顔が検出された場合、最も大きな顔に基づいて前記観察者の観察位置を示す観察位置データが決定されることを特徴とする、請求項４に記載の画像処理装置。
【請求項６】
前記環境マップから前記顔検出により検出された顔を取り除く手段をさらに備えることを特徴とする、請求項４又は５に記載の画像処理装置。
【請求項７】
前記環境マップにおいては、前記表示手段に対応する平面から所定距離離れて、前記撮像手段により撮像された画像データが配置されていることを特徴とする、請求項１乃至６の何れか１項に記載の画像処理装置。
【請求項８】
前記環境マップは、前記撮像手段の画角内の光源に加えて、前記撮像手段の画角外の光源を含んでいることを特徴とする、請求項１乃至７の何れか１項に記載の画像処理装置。
【請求項９】
前記観察者の観察位置に基づいて、前記表示手段の偏角特性を補償するように前記画像データに対して補正処理を行う手段をさらに備えることを特徴とする、請求項１乃至８の何れか１項に記載の画像処理装置。
【請求項１０】
前記オブジェクトデータは、前記光源の強度値及び方向と前記観察位置の方向と前記画像の輝度値との関係を示すことを特徴とする、請求項１乃至９の何れか１項に記載の画像処理装置。
【請求項１１】
前記オブジェクトデータは、前記光源の強度値と前記画像の輝度値との比を示すことを特徴とする、請求項１０に記載の画像処理装置。
【請求項１２】
前記環境マップは、前記光源の強度値及び方向を示すことを特徴とする、請求項１乃至１１の何れか１項に記載の画像処理装置。
【請求項１３】
コンピュータを、請求項１乃至１２の何れか１項に記載の画像処理装置の入力手段、取得手段、及び生成手段として機能させるためのプログラム。
【請求項１４】
表示手段と撮像手段とを有する画像表示装置のための処理を行う画像処理装置が行う画像処理方法であって、
オブジェクトの反射特性を含むオブジェクトデータを入力する入力工程と、
前記撮像手段により撮像された画像データに基づいて、観察者の観察位置を示す観察位置データと前記撮像手段の周辺の光源を含む環境マップとを取得する取得工程と、
前記オブジェクトにおいて反射した前記環境マップの各位置からの光を前記観察位置において観察した場合の光量を、前記環境マップの各位置から前記オブジェクトへの光の入射角と前記オブジェクトから前記観察位置への光の反射角とに基づいて前記オブジェクトデータを参照して取得し、かつ前記環境マップの各位置について取得した光量を積算することにより、前記オブジェクトにおいて反射した前記環境マップの各位置からの光を前記観察位置において観察した場合の画像を示す画像データを生成する生成工程と、
を備えることを特徴とする画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、周辺環境に応じて表示を変更する画像処理技術に関する。
【背景技術】
【０００２】
現実物体の色は、観察方向及び光源方向によって見える色が変化する。この原因として、観察方向及び光源方向によって光沢成分が変化することが挙げられる。光沢成分として具体的には、現実物体に映り込んだ光源像、及び現実物体に映り込んだ周囲環境像が挙げられる。また一方で、薄膜による光の干渉色や、モルフォ蝶の羽のような微細構造に起因する発色（以下、構造色）も、観察方向及び光源方向によって見える色が変化することが知られている。
【０００３】
仮想空間の画像を生成する際に、仮想空間内に配置された光源と、仮想空間内に配置された視点とに従って、光沢を再現する方法が知られている。一例としては、光線追跡法やフォトンマッピングを用いて、視点に到達する光の量の算出を行う方法がある。また、周囲環境の映り込みを再現する手法として環境マッピングが知られている。環境マッピングにおいては、仮想空間内に視点と周囲環境のテクスチャ画像が配置され、視点と仮想オブジェクト表面の角度とを用いて、周囲環境の仮想オブジェクトへの映り込みが再現される。例えば、特許文献１に開示の技術によれば、予め作成された周囲風景のデータと、ユーザ指定に従って配置された光源のデータとに従って、オブジェクト上での周囲風景の映り込み及びグレアが再現される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００３−９９８０１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
以上のように現実物体の色は観察方向及び光源方向によって見える色が変化する。しかしながら、このような観察方向及び光源方向に依存する現実物体の色の変化を、表示装置上で再現する方法は知られていなかった。例えば特許文献１に開示の方法は、仮想空間内の指定された位置に配置された光源と視点とに従って仮想空間画像を生成する方法であるが、現実空間における観察方向及び光源方向に依存する現実物体の色の変化を再現することはできない。
【０００６】
本発明は、観察方向及び光源方向に依存する現実物体の色の変化を、表示装置上で再現することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の目的を達成するために、例えば、本発明の画像出力装置は以下の構成を備える。すなわち、
表示手段と撮像手段とを有する画像表示装置のための処理を行う画像処理装置であって、
オブジェクトの反射特性を含むオブジェクトデータを入力する入力手段と、
前記撮像手段により撮像された画像データに基づいて、観察者の観察位置を示す観察位置データと前記撮像手段の周辺の光源を含む環境マップとを取得する取得手段と、
前記オブジェクトにおいて反射した前記環境マップの各位置からの光を前記観察位置において観察した場合の光量を、前記環境マップの各位置から前記オブジェクトへの光の入射角と前記オブジェクトから前記観察位置への光の反射角とに基づいて前記オブジェクトデータを参照して取得し、かつ前記環境マップの各位置について取得した光量を積算することにより、前記オブジェクトにおいて反射した前記環境マップの各位置からの光を前記観察位置において観察した場合の画像を示す画像データを生成する生成手段と、
を備えることを特徴とする画像処理装置。
【発明の効果】
【０００８】
観察方向及び光源方向に依存する現実物体の色の変化を、表示装置上で再現することができる。
【図面の簡単な説明】
【０００９】
【図１】実施例１における画像表示装置の構成を示すブロック図。
【図２】実施例１における画像表示装置の外観を示す図。
【図３】実施例１における画像処理アプリケーションの論理構成を示すブロック図。
【図４】実施例１における画像処理で使用されるＸＹＺ直交座標系を示す図。
【図５】実施例１における画像処理の流れを示すフローチャート。
【図６】実施例１における環境画像の一例を示す図。
【図７】実施例１における位置ベクトルについて示す図。
【図８】実施例１における撮像入射光マップの形状及び配置を示す図。
【図９】実施例１における拡張入射光マップの形状及び配置を示す図。
【図１０】実施例１における偏角色再現画像生成処理の流れを示すフローチャート。
【図１１】実施例１における位置ベクトルと出射光ベクトルとの関係を示す図。
【図１２】実施例１における座標ベクトルと入射光ベクトルとの関係を示す図。
【図１３】実施例１における回転角と入射光及び出射光ベクトルとの関係を示す図。
【発明を実施するための形態】
【００１０】
以下、本発明の実施の形態を図面を参照して詳細に説明する。尚、以下の実施の形態は本発明の特許請求の範囲を限定するものではなく、また以下の実施の形態で説明されている特徴の組み合わせの全てが本発明を構成する上で必須のものとは限らない。
【００１１】
［実施例１］
以下、本発明に係る一実施例である実施例１について、図面を参照して詳細に説明する。本実施例においては、上述した光沢成分、干渉色、及び構造色などに起因する色の変化が、表示装置上で再現される（以下、偏角色再現と呼ぶ）。
【００１２】
まず、本実施例の画像表示装置１０１の構成例について、図１および図２を参照して説明する。図１は、本発明に係る画像表示装置１０１の構成を示したブロック図である。１０２〜１０８は画像表示装置１０１の構成要素である。１０２は表示部、１０３はＵＩ部、１０４はイメージセンサである。また１０５はＣＰＵ、１０６はメインメモリ、１０７はＨＤＤやＳＳＤ等のデータ保存部、１０８は外部のデバイスやネットワーク等に接続可能なＵＳＢやＷｉ−Ｆｉ等の通信部、１０９はメインバスである。また、１１０は通信部１０８を介して接続される種々の外部デバイスである。
【００１３】
本実施例における画像処理は、画像表示装置１０１上で動作する画像処理アプリケーション上で実現される。また、この画像処理アプリケーションは、画像表示装置１０１上で動作する汎用ＯＳ上で動作しうる。具体的には、画像処理アプリケーション及び汎用ＯＳはデータ保存部１０７等の格納部に格納され、ＣＰＵ１０５の制御の下メインメモリ１０６に展開され、ＣＰＵ１０５によって実行される。ＣＰＵ１０５は、画像処理アプリケーション及び汎用ＯＳに従って、画像表示装置１０１の各部を制御する。このような汎用ＯＳ及び画像処理アプリケーションは、公知の技術によって達成可能なコンピュータプログラムを用いて実現可能である。よって、汎用ＯＳ上での画像処理アプリケーションの詳細な動作については、説明を省略する。
【００１４】
以下、本実施例における画像表示装置１０１の動作の一例を簡単に説明する。まず、データ保存部１０７に格納されている画像処理アプリケーションが、ＣＰＵ１０５からの指令により起動され、メインメモリ１０６に展開される。また、ＣＰＵ１０５は、画像処理アプリケーションに従って、表示部１０２に画面を表示する。続いて、画像処理アプリケーションに従って、データ保存部１０７や外部デバイス１１０に格納されているオブジェクトデータを、バス１０９経由でメインメモリ１０６に転送する。
【００１５】
その後、画像処理アプリケーションに従い、イメージセンサ１０４により取得された画像データが、バス１０９経由でメインメモリ１０６に随時転送される。さらに、画像処理アプリケーションに従い、ＣＰＵ１０５は、メインメモリ１０６上のオブジェクトデータ及び画像データに基づいて、表示画像データの作成を行う。作成された表示画像データはバス１０９経由で表示部１０２上に表示される。
【００１６】
図２は、画像表示装置１０１の外観図である。画像表示装置１０１は外部に表示部１０２、ＵＩ部１０３、及びイメージセンサ１０４を備える。画像表示装置１０１は携帯可能であり、ユーザが手に持って移動することができ、傾けることもできる。すなわち、ユーザは画像表示装置１０１を様々な環境下に置くことができる。
【００１７】
本実施例では、表示部１０２とＵＩ部１０３とはタッチパネル機能付きカラー液晶ディスプレイとして統合される。正確には、液晶ディスプレイである表示部１０２上に、タッチパネルであるＵＩ部１０３が積層されている。本実施例において表示部１０２は、既知のｓＲＧＢ色空間の再現が可能である。
【００１８】
本実施例においては、表示部１０２に表示される画像において、オブジェクトの色再現を行う。そのため、表示部１０２自身が光沢性を持っている場合、表示部１０２表面の映り込みと、画像上で再現された映り込みとが重複する可能性がある。この場合、偏角色再現に支障をきたしうる。従って、表示部１０２表面には外光の反射を抑える処理が施されていることが望ましい。本実施例ではタッチパネルが液晶ディスプレイ上に積層されているため、タッチパネル表面にノングレア処理が施されている。
【００１９】
イメージセンサ１０４は二次元イメージセンサであり、画像表示装置１０１の表面上に、表示部１０２と並んで配置されている。イメージセンサ１０４は、表示部１０２の表示面側を撮影する。画像表示装置１０１は、撮影された画像を用いて、入射光の状況及び観察者の位置を推定及び取得する。本実施例において画像表示装置１０１は、ＲＧＢ各色の輝度をリアルタイムに取得可能なカラーデジタルイメージセンサを有するものとする。
【００２０】
続いて、本実施例に係る画像処理アプリケーションについて説明する。図３は本発明を実現する画像処理アプリケーションの論理構成を示すブロック図である。３０１は画像表示装置１０１上で動作する画像処理アプリケーションであり、３０２〜３０７を含む。３０２はデータ保存部１０７や外部デバイス１１０に格納されているオブジェクトデータ（入力データ）を取得するオブジェクト取得部である。３０３はイメージセンサ１０４を駆動し表示部１０２の表示面側の画像（環境画像）を取得する環境取得部である。
【００２１】
３０４は環境画像を用いて、観察者の方向および距離を推定する位置取得部である。３０５は環境画像を用いて、入射光マップを生成するマップ生成部である。入射光マップは、環境マップの一種である。入射光マップには、オブジェクトへと入射する入射光の輝度値が、それぞれの方向について記録されている。本実施例においては、入射光マップにおいて、輝度値データは平面又は曲面としてモデル化されている。
【００２２】
３０６はオブジェクトデータ、観察者の位置、及び入射光マップに基づいて、偏角色再現画像を生成するレンダリング部３０６である。偏角色再現画像においては、観察者から見たオブジェクトの色及び光沢などが再現されている。３０７は偏角色再現画像に従って、表示部１０２への画像出力を行う出力部である。
【００２３】
＜オブジェクトデータ＞
本実施例ではオブジェクトデータは、各ピクセルのＲＧＢ各色について、以下の関連付け情報を示す。画像表示装置１０１から画像表示装置１０１の外部に存在する光源へと向かう第１の方向と、画像表示装置１０１から画像表示装置１０１の観察者へと向かう第２の方向と、光源から表示装置へと照射される光の照度値と、輝度値と、の間の関連付けである。具体的には本実施例においては、偏角色再現を行うために、各ピクセルについて第１の方向（光の入射方向）と第２の方向（光の出射方向）とに応じた反射特性（以下、偏角反射特性）を示す平面画像データを用いる。
【００２４】
この偏角反射特性を記述する代表的な方法として、ＢＲＤＦ（双方向反射率分布関数）を用いることができる。本実施例においては、ＢＲＤＦに基づく色再現モデルである、偏角反射モデルを使用する。偏角反射モデルにおいては、光の入射角度θｉｎ、出射角度θｏｕｔおよび回転角φの組み合わせごとに、ＲＧＢ各色の反射率ＲｅｆＲ，ＲｅｆＧ，ＲｅｆＢが記録されたデータが用いられる。以下では、このデータのことを偏角反射データと呼ぶ。
【００２５】
このように本実施例においては、光の入射方向と反射方向とを示すパラメータとして、光の入射角度θｉｎ、出射角度θｏｕｔおよび回転角φが用いられる。光の入射角度θｉｎ、出射角度θｏｕｔおよび回転角φは、以下で説明するように、光の入射方向及び光の出射方向から求めることができる。また反射率Ｒｅｆは、後述するように、光源から表示装置へと照射される光の照度値に対する輝度値の割合である。このように本実施例においては、反射率Ｒｅｆを用いて、光源から表示装置へと照射される光の強度値と、輝度値との関連が示される。本実施例においては、オブジェクトデータとして、θｉｎ，θｏｕｔ，φ，ＲｅｆＲ，ＲｅｆＧ，ＲｅｆＢの組み合わせを格納するテーブル、すなわち偏角反射データが、オブジェクトの各ピクセルについて用意されている。
【００２６】
入射角度θｉｎとは、入射光ベクトルと反射面（オブジェクト）の法線ベクトルとがなす角度である。出射角度θｏｕｔとは、出射光ベクトルと反射面の法線ベクトルとがなす角度である。また回転角φとは、入射光ベクトルと出射光ベクトルとを反射面に投影した際に、投影された双方のベクトルがなす角度である。反射率Ｒｅｆとは、入射光ベクトルの方向からから照射される光の照度値と、他の光源が存在しない場合に出射光ベクトルの方向から観察されるオブジェクト表面の輝度値との比を示す値であり、単位は［１／ｓｒ］である。各パラメータの範囲は０°＜θｉｎ＜９０°、０°＜θｏｕｔ＜９０°、０°＜φ＜１８０°である。θｉｎ、θｏｕｔ、φについてそれぞれ５度刻みで、反射率ＲｅｆＲ，ＲｅｆＧ，ＲｅｆＢが記録されている。
【００２７】
＜座標系＞
図４は本実施例において説明のために使用するＸＹＺ軸の向きを示した図である。本実施例ではイメージセンサ１０４の位置を原点とし、イメージセンサ１０４の光学軸（画像表示装置１０１の表面に対して垂直な方向）をＺ軸とする。また、イメージセンサ１０４が向いている方向をＺ軸正方向とする。また、イメージセンサ１０４と表示部１０２の中心とを結んだ直線をＹ軸とし、イメージセンサ側をＹ軸正方向とする。さらにＺ軸およびＹ軸と垂直な軸をＸ軸とし、Ｙ軸正方向からみて時計回りにある方向をＸ軸正方向とする。表示部１０２はＺ＝０となるＸＹ平面上に位置する。
【００２８】
＜全体処理＞
続いて、画像処理アプリケーション３０１において実施される画像処理について説明する。図５は本実施例における画像処理の流れを示したフローチャートである。もっとも、並列に実行可能なステップは並列に実行されてもよいし、逆の順序で実行されてもよい。
【００２９】
ステップＳ５０１でオブジェクト取得部３０２は、オブジェクトデータの取得を行う。例えばオブジェクト取得部３０２は、データ保存部１０７又は外部デバイス１１０に保存されているオブジェクトデータを取得する。そしてオブジェクト取得部３０２は、取得したオブジェクトデータをメインメモリ１０６上に展開する。こうして、画像処理アプリケーション３０１はオブジェクトデータにアクセスすることができるようになる。
【００３０】
続くステップＳ５０２からステップＳ５０７の処理は、画像処理アプリケーション３０１の演算能力、又は表示部１０２のリフレッシュレートに応じた速度で、繰り返し実行される。一連の処理を適切な速度で繰り返すことにより、画像表示装置１０１周囲の環境の変化、観察者の位置の変化、及び画像表示装置１０１の姿勢の変化を反映して表示を行うことができる。
【００３１】
ステップＳ５０２で環境取得部３０３は、イメージセンサ１０４を駆動して画像（環境画像）を取得する。そして環境取得部３０３は、取得した画像をメインメモリ１０６上に保存する。図６は取得された環境画像の一例を示す。６０１は撮影された環境画像であり、この環境画像６０１には、主観察者６０２と副観察者６０３と光源６０４とが写っている。
【００３２】
ステップＳ５０３で位置取得部３０４は、環境画像６０１を用いて、位置ベクトルＯ０を算出する（第２の推定手段）。位置ベクトルＯ０とは、イメージセンサ１０４から主観察者６０２へと向かうベクトル（第２の方向）である。図７は、イメージセンサ１０４と、主観察者６０２と、位置ベクトルＯ０との関係を示す。位置ベクトルＯ０の始点はイメージセンサ１０４であり、終点は主観察者６０２である。本実施例においては位置ベクトルＯ０の終点を主観察者６０２の視点とする。具体的には、具体的には、位置ベクトルＯ０の終点を主観察者６０２の両眼の中間点とする。もっとも、位置ベクトルＯ０の終点はこれには限られない。
【００３３】
位置ベクトルＯ０を算出するために位置取得部３０４は、既知の顔検出アルゴリズムを用いて、環境画像６０１中に存在する顔を検出する。さらに位置取得部３０４は、検出されたそれぞれの顔について、イメージセンサ１０４からの距離を取得する。本実施例においては、既知のコントラスト検出方式を用いて、イメージセンサ１０４と顔との間の距離が検出される。
【００３４】
環境画像６０１からは、主観察者６０２と副観察者６０３の２つの顔が検出される。本実施例において位置取得部３０４は、最もイメージセンサ１０４に近い主観察者６０２を代表的な観察者として選択する。イメージセンサ１０４と主観察者６０２との間の距離が、位置ベクトルＯ０の大きさとなる。さらに位置取得部３０４は、環境画像６０１上の主観察者６０２の顔の位置と、イメージセンサ１０４の画角とに従って、位置ベクトルＯ０の方向を決定する。
【００３５】
環境画像６０１内に観察者が検出されない場合、位置ベクトルＯ０は任意に設定されうる。例えば、観察者が後ろを向いている等の理由で顔が検出できない場合、観察者がイメージセンサ１０４の画角外にいる場合、などがありうる。このような場合位置取得部３０４は、以前に算出した位置ベクトルＯ０、例えば直前に算出した位置ベクトルＯ０、を取得してもよい。また位置取得部３０４は、表示部１０２の正面の位置を指すベクトルを位置ベクトルＯ０として用いてもよいし、表示部１０２の外縁の１点を指すベクトルを位置ベクトルＯ０として用いてもよい。
【００３６】
ステップＳ５０４でマップ生成部３０５は、ステップＳ５０２で取得された環境画像を用いて、入射光マップを生成する。まずマップ生成部３０５は、環境画像を用いて撮像入射光マップを作成する。図８は本実施例における撮像入射光マップ８０１の形状を示す図である。図８はまた、図８は本実施例における撮像入射光マップ８０１と画像表示装置１０１との位置関係を示す。
【００３７】
撮像入射光マップ８０１は部分平面であり、イメージセンサ１０４の光軸と垂直な面上に存在する。イメージセンサ１０４と撮像入射光マップ８０１の距離は、ｄで示される。本実施例において距離ｄは任意の値であり、予め設定されている。例えば、距離ｄは無限大であってもよい。また、本実施例において、撮像入射光マップ８０１の大きさはイメージセンサ１０４の撮像範囲に一致する。撮像入射光マップ８０１の画素数は環境画像６０１の画素数と等しい。また、各画素についての輝度は、環境画像６０１の輝度と同じである。すなわち撮像入射光マップ８０１は、環境画像６０１を、イメージセンサ（原点）から距離ｄだけ離れた平面に配置したものに相当する。
【００３８】
ステップＳ５０４においてマップ生成部３０５は、ユーザの指示に応じて、撮像入射光マップ８０１から観察者の顔を取り除いてもよい。本実施例において位置取得部３０４は、位置ベクトルＯ０を算出するために環境画像から観察者の顔を検出する。また、マップ生成部３０５は、同じ環境画像を用いて撮像入射光マップを生成する。したがって、撮像入射光マップ８０１には観察者の顔が含まれる可能性が高い。
【００３９】
撮像入射光マップ８０１に観察者の顔が含まれる場合、後に説明されるが、観察者の顔がオブジェクトに映り込むように表示部１０２への表示が行われうる。しかしながら、イメージセンサ１０４から観察者までの実際の距離と、撮像入射光マップ８０１におけるイメージセンサ（原点）から観察者までの距離が大きく異なる場合、映り込む観察者の位置、大きさ、形状などが不自然となる可能性がある。撮像入射光マップ８０１から観察者の顔を取り除いた場合、このような不自然な表示を避けることができる。
【００４０】
本実施例では、撮像入射光マップ８０１から観察者の顔を取り除く指示をユーザから受けているものとする。この場合マップ生成部３０５は、撮像入射光マップ８０１から光源部分のみを抽出する。例えばマップ生成部３０５は撮像入射光マップ８０１において、光源部分以外の輝度情報を一定値にしうる。このためには、所定の輝度閾値が用いられうる。この輝度閾値は予め設定されていてもよいし、ユーザによって指定されてもよい。またこの輝度閾値は、撮像入射光マップ８０１の輝度分布に従って求められてもよい。例えばこの輝度閾値は、撮像入射光マップ８０１における輝度値の平均値又は所定のパーセンタイル値のような統計値であってもよい。
【００４１】
そしてマップ生成部３０５は、撮像入射光マップ８０１における閾値以下の輝度を有する画素について、輝度値を固定値で置換する。固定値としては任意の値を用いることができる。この固定値は例えば、閾値以下の輝度を有する画素についての、輝度値の平均のような統計値でありうる。また、この固定値はユーザが指定してもよいし、予め定められた値であってもよい。
【００４２】
さらにＳ５０４でマップ生成部３０５は、撮像入射光マップ８０１から拡張入射光マップ９０１を作成してもよい。以下に述べる拡張入射光マップ９０１を作成することにより、イメージセンサ１０４の画角外からの入射光の影響を再現しうる。本実施例においてマップ生成部３０５は撮像入射光マップ８０１から拡張入射光マップ９０１を作成し、拡張入射光マップ９０１が後の処理において用いられる。しかしながら、マップ生成部３０５が拡張入射光マップ９０１を生成せずに、撮像入射光マップ８０１が後の処理において用いられてもよい。
【００４３】
図９は本実施例における拡張入射光マップ９０１の形状と、画像表示装置１０１との位置関係を示した図である。本実施例に係る拡張入射光マップ９０１は、キューブマップである。具体的には、Ｚ＝０となる平面にキューブマップの一方の底面（以下、下底面と呼ぶ）が位置し、Ｚ＝ｄとなる平面にキューブマップの他方の底面（以下、上底面と呼ぶ）が位置する。Ｚ＝ｄとなる平面には、光源部分のみが抽出された撮像入射光マップ８０１が位置している。イメージセンサ１０４（原点）と撮像入射光マップ８０１との位置関係は上述したものと同様であるから、説明を省略する。
【００４４】
拡張入射光マップ９０１の側面の全ての画素の輝度は、所定の値に設定される。例えば、撮像入射光マップ８０１から光源部分以外の輝度値を一定値とする際に用いた固定値を、この所定の値とすることができる。もっとも、拡張入射光マップ９０１の側面の輝度値はこれには限定されず、例えばＺ座標が大きいほど輝度値が大きくてもよい。また、拡張入射光マップ９０１の側面は、撮像入射光マップ８０１と同等の解像度を持つものとする。さらに本実施例においては、拡張入射光マップ９０１の下底面には輝度を設定しないものとする。
【００４５】
上述の説明では、ステップＳ５０３及びステップＳ５０４の双方において、ステップＳ５０２で取得された環境画像６０１が使用される。しかしながら、ステップＳ５０３で用いられる画像とステップＳ５０４で用いられる画像とは異なる画像であってもよい。例えばステップＳ５０２で環境取得部３０３は、露出や被写界深度等の撮像条件を変化させて、Ｓ５０３用の画像とＳ５０４用の画像とを別々に取得してもよい。
【００４６】
ステップＳ５０５でレンダリング部３０６は、オブジェクトデータ、観察者ベクトル、及び入射光マップを基に、偏角色再現画像を生成する。ステップＳ５０５の詳細については後述する。
【００４７】
ステップＳ５０６で出力部３０７は、ステップＳ５０５で生成された偏角色再現画像に従って、表示部１０２に画像表示を行わせる。ここで出力部３０７は、偏角色再現画像に対して画像処理を行ってもよい。例えば表示部１０２が同じ画像を表示していても、観察者の位置に依存して、観察者に見える画像は異なるかもしれない。このような表示部１０２の偏角特性を考慮して、ステップＳ５０５で算出された偏角色再現画像が観察者に知覚されるように、偏角色再現画像に対して色補正を行うことができる。
【００４８】
具体的には出力部３０７は、表示部１０２の各画素について、観察者ベクトルと、色成分のそれぞれについての補正係数とを格納しうる。偏角色再現画像の輝度値と、観察者ベクトルに対応する補正係数とから、出力部３０７は表示部１０２へと出力する画像データを生成することができる。例えば、偏角色再現画像の輝度値に対して補正係数を乗じて得た値を、表示部１０２へと出力する画像データの輝度値としてもよい。
【００４９】
また、ステップＳ５０５で生成された偏角色再現画像は、本実施例に係る表示部１０２が再現可能な色域であるｓＲＧＢを超える色域を持っている可能性がある。出力部３０７は、既知の色域圧縮技術やＨＤＲ技術に従って、画像の色を補正してもよい。また出力部３０７は、ＧＵＩなどのアプリケーションの動作に必要とされる表示データを生成してもよい。このようなデータは、偏角色再現画像に追加又は重畳されうる。
【００５０】
ステップＳ５０７で、画像処理アプリケーション３０１内の終了判定部（不図示）は、図５の処理を終了するか否かを判定する。例えば、ステップＳ５０２からステップＳ５０６までの処理の間に、ユーザから終了指示がなされた場合、終了判定部は処理を終了することを決定してもよい。また、オブジェクト取得部３０２、環境取得部３０３、又は位置取得部３０４が取得した情報に基づいて、終了判定部は処理を終了するか否かを決定してもよい。終了判定部が処理を終了することを決定した場合、図５の処理は終了する。終了判定部が処理を継続することを決定した場合、処理はステップＳ５０２に戻る。
【００５１】
＜偏角色再現画像生成処理＞
図１０は、ステップＳ５０５における偏角色再現画像を生成する処理の詳細を示すフローチャートである。ステップＳ１００１でレンダリング部３０６は、オブジェクトの位置を決定し、仮想空間内にオブジェクトを配置する。本実施例において仮想空間は、上述の現実空間と座標系を共有する。すなわち、仮想空間のＸＹＺ軸は、上述したイメージセンサ１０４を原点とする現実空間のＸＹＺ軸と一致する。
【００５２】
本実施例で用いる平面オブジェクトは、仮想空間内のＸＹ平面上に、すなわち表示部１０２表面の位置に配置される。さらにレンダリング部３０６は、ユーザあるいは画像処理アプリケーション３０１の指示に従い、オブジェクトを操作することができる。例えばレンダリング部３０６は、オブジェクトをＺ軸を中心として回転させ、拡大縮小させ、又は平行移動させることができる。こうしてレンダリング部３０６は、オブジェクトと表示部１０２との位置関係を決定する。
【００５３】
以下、レンダリング部３０６は、表示部１０２の全画素に対してステップＳ１００２からステップＳ１０１０までの処理を実行する。まずステップＳ１００２でレンダリング部３０６は、表示部１０２の１つの画素を処理画素として指定する。ステップＳ１００２における指定は、任意の順番に、例えばラスタ順に、行われうる。
【００５４】
ステップＳ１００３でレンダリング部３０６は、処理画素について、画素と主観察者６０２との位置関係を示す出射光ベクトルＯ（ｘ，ｙ）を算出する。図１１は、イメージセンサ１０４、処理画素（ｘ，ｙ）、及び主観察者６０２の位置関係を示した図である。処理画素（ｘ，ｙ）の座標ベクトル（原点から処理画素（ｘ，ｙ）へのベクトル）をＰ（ｘ，ｙ）とした場合、出射光ベクトルＯ（ｘ，ｙ）は以下の式（１）により算出することができる。
Ｏ（ｘ，ｙ）  ＝  Ｏ０  −  Ｐ（ｘ，ｙ）  …（１）
【００５５】
またレンダリング部３０６は、Ｚ軸と出射光ベクトルＯ（ｘ，ｙ）とがなす角度を、処理画素（ｘ，ｙ）からの光の出射角度θｏｕｔ（ｘ，ｙ）として求める。
【００５６】
以下、レンダリング部３０６は、拡張入射光マップ９０１の全画素に対してステップＳ１００４からステップＳ１００７までの処理を実行する。まずステップＳ１００４でレンダリング部３０６は、拡張入射光マップ９０１の１つの画素を着目画素として指定する。本実施例においてステップＳ１００４でレンダリング部３０６が指定する画素は、拡張入射光マップ９０１の上底面および側面の全ての画素である。これは、本実施例において表示されるオブジェクトはＺ＝０となるＸＹ平面上に位置する平面であり、Ｚ＝０である下底面からの入射光はオブジェクトの見え方に影響を与えないからである。もっとも他の実施例においては、ステップＳ１００４でレンダリング部３０６が下底面のピクセルを指定してもよい。
【００５７】
ステップＳ１００５でレンダリング部３０６は、着目画素と処理画素（ｘ，ｙ）との位置関係を示す入射光ベクトル（第１の方向）Ｉ（ｘ，ｙ）を算出する（第１の推定手段）。ここで着目画素の輝度値は、入射光ベクトルの方向に存在する光源から処理画素（ｘ，ｙ）へと照射される光の強度を示す。図１２は、原点であるイメージセンサ１０４と、着目画素（ｘ，ｙ）と、拡張入射光マップ９０１との位置関係を示した図である。着目画素の座標ベクトル（原点からのベクトル）をＩ０、着目画素（ｘ，ｙ）の座標ベクトルをＰ（ｘ，ｙ）とした場合、入射光ベクトルＩ（ｘ，ｙ）は以下の式（２）により算出することができる。
Ｉ（ｘ，ｙ）  ＝  Ｉ０  −  Ｐ（ｘ，ｙ）  …（２）
【００５８】
またレンダリング部３０６は、Ｚ軸と入射光ベクトルＩ（ｘ，ｙ）とがなす角度を、処理画素（ｘ，ｙ）への光の入射角度θｉｎ（ｘ，ｙ）として求める。
【００５９】
イメージセンサ１０４と撮像入射光マップ８０１との間隔ｄが無限大に設定されている場合、任意の処理画素（ｘ，ｙ）及び任意の着目画素について、Ｉ（ｘ，ｙ）≒Ｉ０という近似ができる。したがってこの場合、入射光ベクトルＩ（ｘ，ｙ）として、Ｉ０を用いてもよい。
【００６０】
ステップＳ１００６でレンダリング部３０６は、入射光と出射光との間の回転角φを算出する。図１３は、入射光ベクトルＩ（ｘ，ｙ）、出射光ベクトルＯ（ｘ，ｙ）、及び回転角φの関係を示す。１３０１は、Ｚ＝０であるＸＹ平面を示す。ベクトルＩ’（ｘ，ｙ）は、入射光ベクトルＩ（ｘ，ｙ）をＸＹ平面１３０１に投影して得られる。またベクトルＯ’（ｘ，ｙ）は、入射光ベクトルＯ（ｘ，ｙ）をＸＹ平面１３０１に投影して得られる。これらのベクトルＩ’（ｘ，ｙ）とＯ（ｘ，ｙ）との間の角度を、本実施例においては、入射光ベクトルＩ（ｘ，ｙ）と出射光ベクトルＯ（ｘ，ｙ）との間の回転角とする。
【００６１】
ステップＳ１００７でレンダリング部３０６は、処理画素（ｘ，ｙ）における、着目画素からの光の入射に対する主観察者６０２への反射光量を算出する。まずレンダリング部３０６は、処理画素についての、オブジェクトの偏角反射データを取得する。具体的にはレンダリング部３０６は、オブジェクト取得部３０２が取得したオブジェクトデータを参照する。こうしてレンダリング部３０６は、画素（ｘ，ｙ）についての、θｉｎ（ｘ，ｙ），θｏｕｔ（ｘ，ｙ），及びφに対応する反射率ＲｅｆＲ，ＲｅｆＧ，ＲｅｆＢを取得する。
【００６２】
本実施例において偏角反射データには、角度の複数の組み合わせに対する反射率が記録されている。このため、θｉｎ（ｘ，ｙ），θｏｕｔ（ｘ，ｙ），及びφの組み合わせに対応する反射率は偏角反射データに含まれていないかもしれない。この場合、補間によって反射率を求めてもよい。例えば、四面体補完を用いることができる。
【００６３】
その後、レンダリング部３０６は、着目画素からの入射光に対応する、処理画素から主観察者６０２への反射光の輝度Ｒｏｕｔ，Ｇｏｕｔ，Ｂｏｕｔを算出する。反射光の輝度Ｒｏｕｔ，Ｇｏｕｔ，Ｂｏｕｔは、以下の式（３）に従って算出される。
【数１】
0005762015.tif 000002
【００６４】
式（３）においてＲｉｎ，Ｇｉｎ，Ｂｉｎは、拡張入射光マップ９０１における着目画素の輝度値である。本実施例においては、着目画素の輝度値を、着目画素からの入射光の輝度として用いる。また、ωは処理画素からみた着目画素の立体角であり、入射光輝度に立体角ωを積算することで入射光照度が求められる。従って式（３）に示されるように、例えばＲ成分について、反射光の輝度Ｒｏｕｔは、入射光の輝度Ｒｉｎと反射率ＲｅｆＲと入射光立体角ωとの積として求められる。
【００６５】
ステップＳ１００８でレンダリング部３０６は、拡張入射光マップ９０１の全ての画素についてステップＳ１００４〜Ｓ１００７の処理を行ったか否かを判定する。全ての画素について処理が終わっている場合、処理はステップＳ１００９に進む。まだ処理が行われていない画素がある場合、処理はステップＳ１００４に戻る。
【００６６】
ステップＳ１００９でレンダリング部３０６は、それぞれの着目画素についてステップＳ１００７で求められた反射光の輝度Ｒｏｕｔを合計する。こうして求められた合計値が、偏角色再現画像における、ステップＳ１００２で指定された処理画素についてのＲ成分の輝度値となる。同様にレンダリング部３０６は、それぞれの着目画素についての反射光の輝度Ｇｏｕｔの合計を、処理画素についてのＧ成分の輝度値として求める。またレンダリング部３０６は、それぞれの着目画素についての反射光の輝度Ｂｏｕｔの合計を、処理画素についてのＢ成分の輝度値として求める。
【００６７】
ステップＳ１０１０でレンダリング部３０６は、表示部１０２の全ての画素に対してステップＳ１００３〜Ｓ１００９の処理を行ったか否かを判定する。まだ処理が行われていない画素がある場合、処理はステップＳ１００２に戻る。全ての画素について処理が終わっている場合、ステップＳ５０５の処理は終了する。以上のようにしてレンダリング部３０６は、偏角色再現画像のそれぞれの画素の輝度値を算出する。
【００６８】
以上のように、本実施例によれば、ユーザ周囲の実環境に基づいてリアルタイムに偏角色再現を行うことが可能となる。
【００６９】
［その他の実施例］
（表示部およびＵＩ部について）
実施例１では、表示部１０２およびＵＩ部１０３として、タッチパネル機能付きカラー液晶ディスプレイを使用した。しかしながら、本発明を構成する上で表示部１０２とＵＩ部１０３が一体化されている必要はない。また、表示部１０２とＵＩ部１０３とは異なる装置を用いて実装することもできる。例えばＵＩ部１０３として、各種のボタン又はポインティングデバイスを用いてもよい。また、通信部１０８に接続された外部入力デバイスを、ＵＩ部１０３として使用してもよい。
【００７０】
表示部１０２には有機ＥＬディスプレイ等、他の種類のディスプレイデバイスを使用してもよい。その際、表示部１０２として使用されるディスプレイデバイスは、十分な応答速度を備えていることが望ましい。この場合、表示部１０２による表示は周囲環境をリアルタイムに反映しうる。また、表示部１０２が使用する色空間はｓＲＧＢに限らない。例えば、公知であるＷｉｄｅ  Ｇａｍｕｔ  ＲＧＢなどの色空間を使用してもよい。また、本実施例ではＲＧＢの３色について偏角色再現を行ったが、色数および色の組み合わせはこれに限定されない。例えば表示部１０２はモノクロディスプレイでもよく、この場合、モノクロ画像において偏角色再現を行うことができる。
【００７１】
（イメージセンサについて）
実施例１では、イメージセンサ１０４は、表示部１０２の表示面側を撮影した。しかしながらイメージセンサ１０４の撮像系の光学軸は、正確に表示部１０２の法線方向になくてもよい。またイメージセンサ１０４は画像表示装置１０１に固定されている必要はなく、画像表示装置１０１に対して可動であってもよいし、画像表示装置１０１から分離可能であってもよい。
【００７２】
これらの場合、イメージセンサ１０４と表示部１０２との位置姿勢関係が既知であることが望ましい。既知である位置姿勢関係は、位置ベクトルＯ０を算出する際に考慮することができる。また、実施例１においては矩形の撮像領域をもつイメージセンサ１０４を使用した。しかしながら、イメージセンサの形態はこれに限定されない。例えばイメージセンサ１０４が、魚眼レンズを備え、円形の撮像範囲を有してもよい。
【００７３】
（オブジェクトデータについて）
オブジェクトデータの形式は、上述の偏角反射データには限定されない。例えば、表示部１０２又は画像処理アプリケーション３０１の性能および処理形態に応じて、より簡略化されたデータをオブジェクトデータとして用いてもよいし、より詳細なデータをオブジェクトデータとして用いてもよい。例えばオブジェクトデータは偏角反射を表現可能な関数そのものであっても、関数の係数であってもよい。また例えばオブジェクトデータは、オブジェクトの拡散反射特性と鏡面反射特性を個別に記録するものであってもよく、これらの特性は個別にモデル化されていてもよい。またオブジェクトデータは、角度ごとの分光反射率データを記録した分光偏角反射データであってもよい。
【００７４】
さらには上述の実施例において、偏角反射データは色成分Ｒ，Ｇ，Ｂのそれぞれについての反射率を示した。しかしながら偏角反射データはＲＧＢ色空間に基づくものである必要はなく、例えばＸＹＺ色空間に基づくものであってもよい。この場合出力部３０７は、ＸＹＺ色空間で定義される偏角色再現画像を、ＲＧＢ色空間で定義される画像へと変換してもよい。
【００７５】
オブジェクトデータはさらに、平面画像ではなくてもよい。例えばオブジェクトデータは、凹凸情報を持ったデータ又は３Ｄのデータでありうる。この場合オブジェクトデータは、オブジェクト表面の偏角反射特性を記述したものでありうる。オブジェクトデータとして３Ｄデータを使用する場合、表示部１０２の背面側からの入射光も考慮することが好ましい。したがって、拡張入射光マップ９０１をＺ＜０の領域に拡張し、全周からの入射光を扱うことが望ましい。
【００７６】
（観察者位置の取得について）
観察者の位置を取得する方法は、顔検出に限られない。任意の手法を用いて、画像表示装置と観察者との位置関係を取得しうる。例えば、観察者が頭部にマーカーを装着してもよい。このマーカーは、画像処理によって識別可能であってもよいし、他の位置検出方法によって識別可能であってもよい。この場合、マーカーを検出することにより、観察者の位置を取得することができる。あるいは、画像表示装置１０１は複数のイメージセンサを備えていてもよい。この場合、視差を用いて観察者の位置を算出することができる。
【００７７】
また、複数の観察者の中から主観察者を選択する方法も限定されない。例えば、イメージセンサ１０４から観察者までの距離を取得するためには、例えばカメラのオートフォーカスにおいて用いられる既知の技術を使用することができる。またイメージセンサ１０４が固定焦点の光学系を有する場合、検出された顔のぼけ具合から距離を推定してもよい。さらには、検出された顔の大きさに基づいて、観察者までの距離を推定してもよい。あるいは、主観察者を指定する入力をユーザから取得してもよい。
【００７８】
このようなイメージセンサ１０４から観察者までの距離を取得する技術は、イメージセンサ１０４から光源までの距離を取得するためにも利用することができる。この場合、イメージセンサ１０４から光源までの距離を、イメージセンサ１０４と撮像入射光マップ８０１との間隔ｄとしてもよい。
【００７９】
（入射光マップについて）
上述の撮像入射光マップ８０１の形状は平面には限られない。また、拡張入射光マップ９０１の形状も、直方体には限られない。例えば撮像入射光マップ８０１は円形であってもよく、拡張入射光マップ９０１はこの撮像入射光マップ８０１を上底面の一部として有する円柱状であってもよい。また、イメージセンサ１０４が魚眼レンズを備えてもよい。この場合、拡張入射光マップ９０１は表示部１０２の表面側を覆う半球状であってもよく、拡張入射光マップ９０１の一部または全部が撮像入射光マップ８０１であってもよい。
【００８０】
（レンダリングについて）
実施例１では、表示部１０２の表面にはノングレア処理が施されている。しかしながら、表面処理によって外光の反射を完全に抑えることは困難である。そのため、表示画像に適切な画像補正を行うことにより、外光の反射を相殺してもよい。このためには例えば、予め取得された表示部１０２表面のＢＲＤＦ又は偏角反射データを用いることができる。この場合レンダリング部３０６は、拡張入射光マップ９０１からの入射光に対する、表示部１０２表面での反射光量を算出しうる。そして出力部３０７は、算出された反射光量を相殺するような画像補正を、表示部１０２に表示されるデータに対して行ってもよい。
【００８１】
（その他の実施形態）
実施例１では、図１に示される画像表示装置１０１が処理を行った。しかしながら、本発明は他の装置を用いて実現することも可能である。例えば、ＣＰＵとメモリとを備える一般的なコンピュータを、実施例１の画像表示装置１０１として用いることもできる。また実施例１においては、画像表示装置１０１上で動作する画像処理アプリケーション３０１が処理を行うものとして説明した。しかしながら、実施例１に示した処理は、専用の装置を用いて実現することもできる。このような専用の装置は例えば、画像処理アプリケーション３０１の論理構成３０２〜３０７のそれぞれを実現する、１以上のハードウェア要素を備えてもよい。また、本発明に係る画像処理装置は、複数の機器から構成されるシステムであってもよい。
【００８２】
本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）をネットワーク又は各種記憶媒体を介してシステム或いは装置に供給する。そして、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムコードを読み出して実行する。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。
【図１】
0005762015.tif 000003
【図２】
0005762015.tif 000004
【図３】
0005762015.tif 000005
【図４】
0005762015.tif 000006
【図５】
0005762015.tif 000007
【図６】
0005762015.tif 000008
【図７】
0005762015.tif 000009
【図８】
0005762015.tif 000010
【図９】
0005762015.tif 000011
【図１０】
0005762015.tif 000012
【図１１】
0005762015.tif 000013
【図１２】
0005762015.tif 000014
【図１３】
0005762015.tif 000015