(57)【要約】【課題】  投影用の高品位な画像を生成することができる。【解決手段】  投影面に投影した所定画像を撮像する。撮像画像に基づいて、投影画像を補正するための補正パラメータを算出する。算出した補正パラメータと投影部の設置状態に関するデータとに基づいて、投影画像を構成する画素の位置を補正する。補正された画素の位置の画素値を算出し投影画像を生成する。【選択図】  図６
2016072691.tif 000002
【特許請求の範囲】
【請求項１】
投影面に投影する画像を生成する画像処理装置であって、
前記投影面に画像を投影する投影手段と、
前記投影手段によって前記投影面に投影した所定画像を撮像する撮像手段と、
前記撮像手段によって得られる撮像画像に基づいて、前記投影手段が投影する投影画像を補正するための補正パラメータを算出する算出手段と、
前記算出手段で算出した補正パラメータと前記投影手段の設置状態に関するデータとに基づいて、前記投影画像を構成する画素の位置を補正する補正手段と
前記補正手段によって補正された画素の位置の画素値を算出し投影画像を生成する生成手段と
を備えることを特徴とする画像処理装置。
【請求項２】
前記撮像手段は、前記撮像画像に基づいて、前記投影手段の投影状態として前記投影面の歪みを取得する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記設置状態に関するデータは、前記投影手段と、前記撮像手段と、前記投影画像の投影面の位置関係を仮想的に規定する仮想空間に関するデータである
ことを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記算出手段は、
前記撮像画像に基づいて、前記投影手段が画像を投影する投影領域を検出する検出手段と、
前記検出手段で検出した投影領域に基づいて、前記投影画像の表示領域を決定する決定手段とを備え、
前記算出手段は、前記撮像画像の前記表示領域を規定する画素の座標と、前記表示領域を規定する画素の座標との間を変換するための変換係数を、前記補正パラメータとして算出する
ことを特徴とする請求項１乃至３のいずれか１項に記載の画像処理装置。
【請求項５】
前記決定手段は、前記投影領域に内接する最大矩形領域を前記表示領域に決定する
ことを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記決定手段は、前記撮像画像に対して指定された矩形領域を前記表示領域に決定する
ことを特徴とする請求項４に記載の画像処理装置。
【請求項７】
前記補正手段は、前記投影手段の設置状態に関するデータに含まれる、前記撮像手段と前記投影面との間に規定される仮想的な所定面を、前記補正パラメータに基づいて幾何補正することで、前記投影画像を構成する画素の位置を補正する
ことを特徴とする請求項１乃至６のいずれか１項に記載の画像処理装置。
【請求項８】
前記所定面は、前記撮像手段の位置からの画角が影響する位置に設定されている
ことを特徴とする請求項７に記載の画像処理装置。
【請求項９】
前記生成手段は、コンピュータグラフィックス画像によって前記投影画像を生成する
ことを特徴とする請求項１乃至８のいずれか１項に記載の画像処理装置。
【請求項１０】
投影面に投影する画像を生成する画像処理装置の制御方法であって、
前記投影面に投影した所定画像を撮像する撮像工程と、
前記撮像工程によって得られる撮像画像に基づいて、投影装置が前記投影面に投影する投影画像を補正するための補正パラメータを算出する算出工程と、
前記算出工程で算出した補正パラメータと前記投影装置の設置状態に関するデータとに基づいて、前記投影画像を構成する画素の位置を補正する補正工程と
前記補正工程によって補正された画素の位置の画素値を算出し投影画像を生成する生成工程と
を備えることを特徴とする画像処理装置の制御方法。
【請求項１１】
コンピュータを、請求項１乃至９のいずれか１項に記載の画像処理装置の各手段として機能させるための、または請求項１０に記載の画像処理装置の制御方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、投影面に投影する画像を生成する画像処理技術に関するものである。
【背景技術】
【０００２】
従来、高い解像度の画像を表示するために、複数のプロジェクタから互いに異なる投影領域に画像を投影し、これらの投影画像をつなぎ合わせることで単一画像を表示する方法が提案されている（例えば、特許文献１）。特許文献１では、投影領域が重複するように配置した複数のプロジェクタから校正用パターンを投影し、それらの投影画像を撮像した画像に基づいて、投影画像に幾何補正等の補正処理を施すことにより、各投影画像を簡便につなぎ合わせている。しかしながら、特許文献１では、幾何補正に伴う画素補間処理の影響により解像感が損なわれるという問題がある。このような画素補間処理による解像度の低下に対しては、特許文献２のようにエッジの方向判定を用いたシャープネス処理を適用する等の対策がとられてきた。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００３−５２１３２８号公報
【特許文献２】特開２００４−１５３６６８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、画素補間処理を行う限り、解像感の低下を避けることはできない。また、エッジの方向判定において誤判定が起こることにより不自然な画像になってしまう可能性もある。
【０００５】
本発明は上記の課題を解決するためになされたものであり、投影用の高品位な画像を生成することができる画像処理技術を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記の目的を達成するための本発明による画像処理装置は以下の構成を備える。即ち、
投影面に投影する画像を生成する画像処理装置であって、
前記投影面に画像を投影する投影手段と、
前記投影手段によって前記投影面に投影した所定画像を撮像する撮像手段と、
前記撮像手段によって得られる撮像画像に基づいて、前記投影手段が投影する投影画像を補正するための補正パラメータを算出する算出手段と、
前記算出手段で算出した補正パラメータと前記投影手段の設置状態に関するデータとに基づいて、前記投影画像を構成する画素の位置を補正する補正手段と
前記補正手段によって補正された画素の位置の画素値を算出し投影画像を生成する生成手段と
を備える。
【発明の効果】
【０００７】
本発明によれば、投影用の高品位な画像を生成することができる。
【図面の簡単な説明】
【０００８】
【図１】画像処理装置の構成を示すブロック図である。
【図２】画像処理装置の機能構成を示す図である。
【図３】校正用パターン画像の例を示す図である。
【図４】仮想空間の概要を示す図である。
【図５】撮像処理の様子を表す図である。
【図６】画像処理装置が実行する処理を示すフローチャートである。
【図７】撮像画像の例を示す図である。
【図８】補正パラメータ算出処理の詳細を示すフローチャートである。
【図９】撮像画像と投影領域の対応を示す図である。
【図１０】撮像画像と表示画像の対応を示す図である。
【図１１】仮想センサと生成画像の対応を示す図である。
【図１２】仮想カメラパラメータの補正処理前と処理後の対応を示す図である。
【図１３】仮想カメラパラメータ補正処理の詳細を示すフローチャートである。
【図１４】画像生成処理の詳細を示すフローチャートである。
【図１５】仮想被写体の１点と仮想空間との関係を示す図である。
【発明を実施するための形態】
【０００９】
以下、本発明の実施の形態について図面を用いて詳細に説明する。
【００１０】
本実施形態では、３ＤＣＧ（３  Ｄｉｍｅｎｓｉｏｎａｌ  Ｃｏｍｐｕｔｅｒ  Ｇｒａｐｈｉｃｓ）データを対象として、投影装置であるプロジェクタとスクリーンの位置を考慮したレンダリングを行うことで、画素補間処理を伴わない幾何補正処理を実現する。具体的には、図１において、撮像装置１０７で撮像した画像を基に出力デバイス１１４の投影状態を取得し、プロジェクタ等の出力デバイス１１４のスクリーンに対する歪みに応じて投影画像を生成する。この投影画像の生成にあたり、本実施形態では、出力デバイス１１４の設置状態（設置歪み）に基づき、表示する画素位置の画素値を直接生成することにより、従来における画素補間処理を省略し、解像感劣化を抑制する。尚、本実施形態では、出力デバイスが１台である場合を例に挙げて説明するが、２台や１６台等の複数台でもよい。
【００１１】
まず、本実施形態における画像処理装置の構成例について、図１を用いて説明する。
【００１２】
図１において、ＣＰＵ１０１は、ＲＯＭ１０３あるいはハードディスクドライブ（ＨＤＤ）１０５に格納されたプログラムを読み出し、ワークメモリとして機能するＲＡＭ１０２上で実行することで、各種処理を実現する。また、ＣＰＵ１０１は、システムバス１１８を介して相互に接続される各種構成要素を制御する。
【００１３】
ＨＤＤインタフェース（Ｉ／Ｆ）１０４は、ＨＤＤ１０５や光ディスクドライブ等の２次記憶装置を接続する。ＨＤＤＩ／Ｆ１０４は、例えば、シリアルＡＴＡ（ＳＡＴＡ）等のインタフェースで実現される。ＣＰＵ１０１は、ＨＤＤＩ／Ｆ１０４を介して、ＨＤＤ１０５からのデータ読出、及びＨＤＤ１０５へのデータ書込が可能である。更に、ＣＰＵ１０１は、ＨＤＤ１０５に格納されたデータをＲＡＭ１０２に展開し、ＲＡＭ１０２に展開されたデータをＨＤＤ１０５に保存することが可能である。そして、ＣＰＵ１０１は、ＲＡＭ１０２に展開したデータをプログラムとみなして、実行することができる。
【００１４】
撮像インタフェース（Ｉ／Ｆ）１０６は、撮像装置１０７等の画像入力デバイスを接続する。撮像Ｉ／Ｆ１０６は、例えば、ＵＳＢやＩＥＥＥ１３９４等のシリアルバスインタフェースで実現される。ＣＰＵ１０１は、撮像Ｉ／Ｆ１０６を介して撮像装置１０７を制御し、撮像を行うことが可能である。更に、ＣＰＵ１０１は、撮像Ｉ／Ｆ１０６を介して撮像装置１０７から撮像したデータを読み込むことが可能である。
【００１５】
入力インタフェース（Ｉ／Ｆ）１０８は、キーボードやマウス等の入力デバイス１０９を接続する。入力Ｉ／Ｆ１０８は、例えば、ＵＳＢやＩＥＥＥ１３９４等のシリアルバスインタフェースで実現される。ＣＰＵ１０１は、入力Ｉ／Ｆ１０８を介して入力デバイス１０９からデータを読み込むことが可能である。出力インタフェース（Ｉ／Ｆ）１１０は、プロジェクタや画像表示装置等の出力デバイス１１４を接続する。出力Ｉ／Ｆ１１０は、例えば、ＳＤＩやＤＶＩやＨＤＭＩ（登録商標）等の映像出力インタフェースである。ＣＰＵ１０１は、出力Ｉ／Ｆ１１０を介して出力デバイス１１４に画像データを送信して、スクリーン等の投影面に画像の出力（表示）を実行させることができる。
【００１６】
次に、画像処理装置が実行する一連の処理を実現する機能構成について、図２を用いて説明する。この機能構成は、例えば、ＣＰＵ１０１がＲＯＭ１０３に格納されているプログラムをＲＡＭ１０２に読み出し実行することで実現される。
【００１７】
パラメータ入力部３０１は、校正用パターン画像３０７及び仮想空間データ３０３を、入力デバイス１０９、あるいはＲＯＭ１０３及びＨＤＤ１０５等の記憶装置から取得する。校正用パターン画像３０７とは、例えば、図３に示す白画像や格子画像等の、投影状態（スクリーンに対する歪み）を補正するための補正パラメータ３１３を算出するための画像である。仮想空間データ３０３は、コンピュータグラフィックス画像（ＣＧ画像）を生成するために必要な仮想空間についてのデータを含んでいる。
【００１８】
仮想空間についてのデータには、出力デバイス１１４の設置状態に関するデータが含まれる。設置状態に関するデータは、撮像装置１０７と、出力デバイス１１４と、出力デバイス１１４が画像を投影する投影面（スクリーンの少なくとも一部）の位置関係を仮想的に規定する仮想空間に関するデータで表現される。具体的には、図４に示すように、仮想空間データ３０３が示す仮想空間内に設置される仮想被写体１６０２の形状及び反射特性データ、仮想ライト１６０３の位置と特性データ、視点の役割となる仮想カメラ１６０１の位置データ、仮想カメラ１６０１の視点からの画角に影響する前方クリップ面データ等が仮想空間についてのデータである。尚、前方クリップ面については後述する。ここで、図４において、仮想カメラ１６０１が撮像装置１０７に対応し、仮想被写体が１６０２が投影面に対応し、仮想ライト１６０３が出力デバイス１１４に対応する。
【００１９】
画像出力部３０２は、校正用パターン画像３０７や後述の表示画像３０６を出力デバイス１１４へ出力し、それらを出力デバイス１１４を介してスクリーンへ投影する。撮像装置１０７は、出力デバイス１１４がスクリーンへ投影する投影領域の撮像を行い、撮像画像３１２を出力する（図５参照）。ここで、図５に示すように、撮像装置１０７は、投影領域を含むスクリーンを撮像可能な十分な撮影範囲を有している。また、この撮像画像３１２によって、出力デバイス１１４の投影状態（スクリーン歪み）を取得することができる。
【００２０】
補正パラメータ算出部３０５は、撮像画像３１２に基づき投影画像を幾何変換するために必要な補正パラメータ３１３を算出する。補正パラメータ３１３は、例えば、ベクトルデータであり、画素の座標値との演算に使用し座標値を変換する。仮想カメラパラメータ補正部３１０は、補正パラメータ３１３及び仮想空間データ３０３に基づいて、仮想空間データ３０３に含まれる仮想カメラのパラメータを補正し補正仮想空間データ３０４として算出する。画像生成部３１１は、補正仮想空間データ３０４に基づきＣＧ画像により表示画像３０６を生成する。
【００２１】
図６は画像処理装置が実行する一連の処理を示すフローチャートである。この処理は、ＣＰＵ１０１が、図６のフローチャートに示す手順を記述したコンピュータ実行可能なプログラムをＲＯＭ１０３あるいはＨＤＤ１０５からＲＡＭ１０２上に読み込んだ後に実行することによって実現される。
【００２２】
まず、Ｓ４０１で、パラメータ入力部３０１は、パラメータとして、所定画像である校正用パターン画像３０７及び仮想空間データ３０３をＲＯＭ１０３やＨＤＤ１０５等の記録装置から読み込むことで入力する。ここで、本実施形態における校正用パターン画像３０７は白画像（図２）とする。
【００２３】
次に、Ｓ４０２で、画像出力部３０２は、Ｓ４０１で取得した校正用パターン画像３０７を出力デバイス１１４によってスクリーンに投影する。撮像装置１０７は、撮像命令を入力Ｉ／Ｆ１０８もしくはＲＯＭ１０３やＨＤＤ１０５等の記憶装置に保存された撮像設定から読み込むことにより、スクリーンに投影された校正用パターン画像３０７を撮像し、撮像画像３１２を取得する。撮像画像３１２の例を図７に示す。
【００２４】
次に、Ｓ４０３で、補正パラメータ算出部３０５は、Ｓ４０２で取得した撮像画像３１２を基に、投影画像を幾何変換するために必要な補正パラメータ３１３を算出する。尚、このＳ４０３の補正パラメータ算出処理の詳細については後述する。
【００２５】
次に、Ｓ４０４で、仮想カメラパラメータ補正部３１０は、Ｓ４０３で算出した補正パラメータ３１３を基に、仮想空間データ３０３に含まれる仮想カメラのパラメータを補正し、補正仮想空間データ３０４を算出する。尚、このＳ４０４の仮想カメラパラメータ補正処理の詳細については後述する。
【００２６】
次に、Ｓ４０５で、画像生成部３１１は、Ｓ４０４で算出した補正仮想空間データ３０４を用いて出力デバイス１１４で投影するための表示画像３０６をＣＧにより生成する。尚、このＳ４０５の画像生成処理の詳細については後述する。
【００２７】
次に、Ｓ４０６で、画像出力部３０２は、Ｓ４０５で生成した表示画像３０６を出力デバイス１１４を用いてスクリーンに投影し、処理を終了する。
【００２８】
＜補正パラメータ算出処理＞
補正パラメータ算出処理では、Ｓ４０２で取得した撮像画像３１２を基に、出力デバイス１１４で投影する画像を幾何変換するために必要な補正パラメータ３１３を算出する。以下、図８に示すフローチャートを用い、Ｓ４０３の補正パラメータ算出処理の詳細を説明する。
【００２９】
まず、Ｓ８０１で、補正パラメータ算出部３０５は、撮像画像３１２を入力する。
【００３０】
次に、Ｓ８０２で、補正パラメータ算出部３０５は、撮像画像３１２から出力デバイス１１４の投影領域を検出する。まず、図９に示すように、撮像画像３１２に対して閾値処理による二値化を行う。具体的には、撮像画像３１２の画素値を輝度値に変換する。そして、予め設定しておいた閾値ｔｈと、撮像画像３１２の各画素の輝度値とを比較し、輝度値がｔｈ以上の画素は投影領域、輝度値がｔｈより小さい場合はその他の領域とし、それぞれ異なるラベル値を与えた二値画像を生成する。
【００３１】
次に、Ｓ８０３で、補正パラメータ算出部３０５は、表示画像３０６を投影する表示領域を決定する。例えば、本実施形態では、撮像画像３１２から検出される投影領域に内接する最大矩形領域を表示領域を自動的に設定する。ここで、図１０（ａ）に示すように、表示領域の頂点にあたる画素をそれぞれＰ００〜Ｐ０３とし、Ｐ００〜Ｐ０３に対応する表示画像３０６の４隅の画素をそれぞれＱ００〜Ｑ０３とする。
【００３２】
次に、Ｓ８０４で、補正パラメータ算出部３０５は、撮像画像３１２（補正パラメータ算出用画像）と補正画像（補正後の投影画像（表示領域））との間の幾何変換係数ａ００〜ａ０７を算出する。幾何変換係数ａ００〜０７はＰ００〜Ｐ０３とＱ００〜Ｑ０３との間の射影変換係数である。以下、算出方法について説明する。表示領域を規定する画素を（ｘ、ｙ）、撮像画像３１２内の表示領域を規定する画素を（ｘ”、ｙ”）とすると、ａ００〜ａ０７、ｘ、ｙ、ｘ”、ｙ”、の関係は下記の式（１）で表すことができる。
【００３３】
【数１】
2016072691.tif 000003
【００３４】
式（１）を展開し、図１０（ｂ）に示すように、撮像画像３１２内の画素Ｐ００〜Ｐ０３の座標と、Ｐ００〜Ｐ０３に対応する表示領域の４隅の画素Ｑ００〜Ｑ０３の座標を用いることで、式（２）の連立方程式を導くことができる。
【００３５】
【数２】
2016072691.tif 000004
【００３６】
ここで、Ｐ００〜Ｐ０３の座標をそれぞれ（ｘ０、ｙ０）〜（ｘ３、ｙ３）、Ｑ００〜Ｑ０３の座標をそれぞれ（ｘ”０、ｙ”０）〜（ｘ”３、ｙ”３）とする。上記の式（２）を解くことによって幾何変換係数ａ００〜ａ０７を算出する。
【００３７】
次に、Ｓ８０５で、補正パラメータ算出部３０５は、Ｓ８０４で算出した幾何変換係数ａ００〜ａ０７を補正パラメータ３１３として出力し、処理を終了する。
【００３８】
尚、本実施形態では、Ｓ８０３において投影領域から自動で表示領域を設定しているが、表示領域の設定方法は、これに限定されるものではない。例えば、撮像画像３１２を出力デバイス１１４上に表示した状態で、マウス等の入力デバイス１０９を用いて表示領域となる矩形領域を直接指定することにより表示領域を設定してもよい。
【００３９】
＜仮想カメラパラメータ補正処理＞
Ｓ４０４の仮想カメラパラメータ補正処理は、スクリーンの設置歪みに応じた投影画像を生成するためのパラメータ補正処理である。尚、仮想カメラパラメータ補正処理後に実行する画像生成処理では、図１１（ａ）に示すように、仮想カメラ１６０１の位置から所定面である前方クリップ面１２０１を通過するように光線を飛ばすことにより画像を生成する。図１２に示すように、前方クリップ面１２０１は矩形であり、画像生成処理の処理画素は正方格子状に配置される。仮想カメラパラメータ補正処理は、この前方クリップ面の形状を幾何補正し変形させることで、処理画素位置を、出力デバイス１１４（例えば、プロジェクタ）とスクリーン間の相対位置に最適化する処理である。以降、この前方クリップ面を仮想センサ１２０１として説明する。
【００４０】
以下、図１３に示すフローチャートを用いて、Ｓ４０４の仮想カメラパラメータ補正処理の詳細を説明する。
【００４１】
Ｓ１１０１で、仮想カメラパラメータ補正部３１０は、出力デバイス１１４の設置状態に関するデータとなる仮想空間データ３０３を入力する。図４に示されるように、仮想カメラ１６０１は仮想空間データ３０３内に設置され、ＣＧ画像を生成するための視点となる。次に、Ｓ１１０２で、仮想カメラパラメータ補正部３１０は、Ｓ４０３で算出した補正パラメータ３１３を入力する。
【００４２】
次に、Ｓ１１０３で、仮想カメラパラメータ補正部３１０は、仮想空間データ３０３に含まれる仮想センサ１２０１の座標変換を行い、補正仮想空間データ３０４を生成する。図１２（ａ）は仮想センサ１２０１を正対した状態で表したものである。図１２（ｂ）は仮想センサ１２０１の斜視図である。仮想センサデータにはセンサ中心を原点Ｏとしたローカル座標があり、仮想センサ１２０１はｘｙ平面上に分布する。仮想センサ１２０１上の画素座標Ｓｉ（ｘｉ、ｙｉ）を幾何変換しＳｉ’（ｘｉ’、ｙｉ’）として算出する。この際、式（１）及び幾何変換係数ａ００〜ａ０７を用いて処理を行う。本発明の重要な処理は本フローチャートのＳ１１０３であり、Ｓ４０１〜Ｓ４０３の処理はＳ１１０３の処理を実行するための前処理と言える。Ｓ１１０３において、処理画素の仮想空間中での座標を投影歪みに応じて画像生成前に位置補正をしておくことにより、後の画像生成処理で適切な画素値を生成することが可能となっている。
【００４３】
次に、Ｓ１１０４で、仮想カメラパラメータ補正部３１０は、全ての画素が処理済みであるか否かを判定する。処理済みでない場合（Ｓ１１０４でＮＯ）、Ｓ１１０５に進み、仮想カメラパラメータ補正部３１０は、処理対象の画像を、次の画素に設定した後、Ｓ１１０３に戻る。一方、処理済みである場合（Ｓ１１０４でＹＥＳ）、Ｓ１１０６に進み、仮想カメラパラメータ補正部３１０は、生成した補正仮想空間データ３０４を出力し、処理を終了する。
【００４４】
以上の処理により、仮想センサ１２０１は、ローカル座標ｘｙ平面上で幾何変形される。図１２（ｃ）は変換後の仮想センサを正対した状態で表したものであり、図１２（ｄ）はその斜視図である。以上の処理を行うことにより、図１２（ａ）に示す仮想センサ１２０１から図１２（ｃ）に示す仮想センサ１２０１に幾何変形される。
【００４５】
＜画像生成処理＞
Ｓ４０５の画像生成処は、一般的に用いるＣＧレンダリング手法で画像を生成する。ＣＧの画像生成の手法は、スキャンライン方式、レイトレーシング方式、フォトンマッピング方式、ラジオシティ方式等様々にあり、どれを採用してもよいが、ここではレイトレーシング方式で説明する。
【００４６】
以下、図１４に示すフローチャートを用いて、Ｓ４０５の画像生成処理の詳細を説明する。
【００４７】
まず、Ｓ１３１で、画像生成部３１１は、補正仮想空間データ３０４を入力する。次に、Ｓ１３２で、画像生成部３１１は、仮想センサ１２０１において処理画素を選択する。次に、Ｓ１３３で、画像生成部３１１は、仮想カメラデータに基づき処理画素から光線を発射する。仮想カメラデータには、図１１（ａ）に示すように、仮想空間データ補正処理にて算出された仮想センサ１２０１の３次元座標が含まれており、仮想被写体１６０２に向けて、仮想カメラ１６０１から仮想センサ１２０１の処理画素の中心を通過するように光線を発射する。
【００４８】
次に、ステップ１３４で、画像生成部３１１は、Ｓ１３３で発射した光線と仮想被写体１６０２との交点Ｐの画素値を算出する。図１５は仮想被写体１６０２上の点Ｐの画素値算出に関する図である。法線ベクトルＮは、光線と仮想被写体１６０２との交点Ｐにおける仮想被写体１６０２の面に垂直なベクトルである。法線ベクトルＮに基づいて交点Ｐから仮想ライト１６０３に向かって光線Ｌを発射する。一般に、交点Ｐから発射する光線数は多いほど精度よく画素の色信号値を算出することが可能である。また、発射する光線の方向は法線ベクトルＮと発射する光線のベクトルＬとのなす角φが９０°より小さい範囲で決定する。
【００４９】
尚、本実施形態では所望の方向で光線を発射することができる。例えば、所定の角度範囲内を所望の光線数で等分して飛ばしても良いし、ランダムに飛ばしても良い。仮想ライト１６０３に向かって光線を発射した場合の画素の色信号値Ｒｐｉｘｅｌ、Ｇｐｉｘｅｌ、Ｂｐｉｘｅｌは、仮想ライト１６０３の各色成分に対応する強度をＲｒｉｇｈｔ、Ｇｒｉｇｈｔ、Ｂｒｉｇｈｔ、各色成分に対応する仮想被写体の反射特性をそれぞれＲｒｅｆ、Ｇｒｅｆ、Ｂｒｅｆとすると、式（３）になる。
【００５０】
【数３】
2016072691.tif 000005
【００５１】
次に、Ｓ１３５で、画像生成部３１１は、仮想センサ１２０１上の画素の処理が全て終了したか否かを判定する。終了していない場合（Ｓ１３５でＮＯ）、Ｓ１３２に戻る。一方、終了している場合（Ｓ１３５でＹＥＳ）、Ｓ１３６に進む。
【００５２】
次に、Ｓ１３６で、画像生成部３１１は、算出した全画素値を表示画像３０６として出力し、処理を終了する。ここで、図１１（ｂ）は、算出した画素値を仮想センサ１２０１上に示した状態であり、この画素を正方ピクセルで示す図１１（ｃ）が表示画像３０６である。このようにして、出力デバイス１１４から表示画像３０６がスクリーンへ投影される。
【００５３】
以上説明したように、本実施形態によれば、ＣＧ画像を生成し、出力デバイス１１４により解像感の高い画像を表示することができる。具体的には、撮像装置１０７で撮像した画像を基に出力デバイス１１４の投影状態（スクリーン歪み）を取得し、プロジェクタである出力デバイス１１４のスクリーンに対する歪みに応じて投影画像を生成する。従来手法では、生成した画像を歪みに応じて幾何補正していたが、幾何補正により解像感が劣化していた。本実施例では、歪みに基づき、表示する画素位置の画素値を直接生成して表示することにより、画素補間を省略し解像感劣化を抑制することができる。
【００５４】
このように、プロジェクタ（出力デバイス１１４）とスクリーンの設置状態に応じた表示画像を生成することにより、画素補間等に起因する解像感の低下を抑制した画像を投影することができる。
【００５５】
尚、以上の実施形態の機能は以下の構成によっても実現することができる。つまり、本実施形態の処理を行うためのプログラムコードをシステムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）がプログラムコードを実行することによっても達成される。この場合、記憶媒体から読み出されたプログラムコード自体が上述した実施形態の機能を実現することとなり、またそのプログラムコードを記憶した記憶媒体も本実施形態の機能を実現することになる。
【００５６】
また、本実施形態の機能を実現するためのプログラムコードを、１つのコンピュータ（ＣＰＵ、ＭＰＵ）で実行する場合であってもよいし、複数のコンピュータが協働することによって実行する場合であってもよい。更に、プログラムコードをコンピュータが実行する場合であってもよいし、プログラムコードの機能を実現するための回路等のハードウェアを設けてもよい。またはプログラムコードの一部をハードウェアで実現し、残りの部分をコンピュータが実行する場合であってもよい。
【符号の説明】
【００５７】
１０１：ＣＰＵ、１０２：ＲＡＭ、１０３：ＲＯＭ、１０４：ＨＤＤ  Ｉ／Ｆ、１０５：ＨＤＤ、１０６：撮像Ｉ／Ｆ、１０７：撮像装置、１０８：入力Ｉ／Ｆ、１０９：入力デバイス、１１０：出力Ｉ／Ｆ、１１４：出力デバイス
【図１】
2016072691.tif 000006
【図２】
2016072691.tif 000007
【図３】
2016072691.tif 000008
【図４】
2016072691.tif 000009
【図５】
2016072691.tif 000010
【図６】
2016072691.tif 000011
【図７】
2016072691.tif 000012
【図８】
2016072691.tif 000013
【図９】
2016072691.tif 000014
【図１０】
2016072691.tif 000015
【図１１】
2016072691.tif 000016
【図１２】
2016072691.tif 000017
【図１３】
2016072691.tif 000018
【図１４】
2016072691.tif 000019
【図１５】
2016072691.tif 000020