(57)【要約】【課題】反射鏡を介して投影される画質の劣化の抑制を図ること。【解決手段】描画装置１００は、形状１１１のいずれかの頂点Ｐ１の位置情報と、コンバイナ１０２の反射面上の各点の位置情報とに基づいて、３次元座標系における視点Ｐ０から頂点Ｐ１を通る直線とコンバイナ１０２の反射面との交点Ｐ２を特定する。次に、描画装置１００は、頂点Ｐ１から視点Ｐ０に向かう方向と、交点Ｐ２における法線の方向とに基づいて、描画面１１３上のいずれかの点から出射され交点Ｐ２において反射されて視点Ｐ０に到達する光が交点Ｐ２に入射する際の方向を算出する。続けて、描画装置１００は、描画面１１３上の各点の位置情報を参照して、交点Ｐ２に入射する際の方向に基づいて、交点Ｐ２において反射されて視点Ｐ０に到達する光が出射される描画面１１３上のいずれかの点Ｐ３を決定する。【選択図】図１
2015022547.tif 000002
【特許請求の範囲】
【請求項１】
３次元座標系における描画対象形状を表すいずれかの頂点の位置情報と、前記３次元座標系における投影部が有する描画面上の各点から出射される光を反射する反射面上の各点の位置情報とに基づいて、前記３次元座標系における視点と前記頂点とを通る直線と前記反射面との交点を特定する特定部と、
前記頂点から前記視点に向かう方向と、前記特定部が特定した前記交点における法線の方向とに基づいて、前記描画面上のいずれかの点から出射され前記交点において反射されて前記視点に到達する光が前記交点に入射する際の方向を算出する算出部と、
前記描画面上の各点の位置情報を参照して、前記算出部が算出した前記交点に入射する際の方向に基づいて、前記交点において反射されて前記視点に到達する光が出射される前記描画面上のいずれかの点を決定する決定部と、
を有することを特徴とする描画装置。
【請求項２】
前記３次元座標系における前記描画対象形状を表すいずれかの頂点の位置情報および色情報と、前記決定部が決定した前記いずれかの点の位置情報とに基づいて、前記描画面を分割した領域分の画素値を作成する作成部と、
前記作成部が作成した前記領域分の画素値を、前記領域分の画素値分の記憶量を有する記憶領域に格納する格納部と、
をさらに有することを特徴とする請求項１に記載の描画装置。
【請求項３】
前記３次元座標系のいずれかの位置に配置された撮像部が眼球を撮像した画像と前記３次元座標系における前記撮像部の位置情報とに基づいて、前記３次元座標系における前記眼球による視点の位置情報を検出する検出部をさらに有し、
前記特定部は、
３次元座標系における描画対象形状を表すいずれかの頂点の位置情報と、前記反射面上の各点の位置情報とに基づいて、前記３次元座標系における前記検出部が検出した前記視点と前記頂点とを通る直線と前記反射面との交点を特定することを特徴とする請求項１または２に記載の描画装置。
【請求項４】
コンピュータが、
３次元座標系における描画対象形状を表すいずれかの頂点の位置情報と、前記３次元座標系における投影部が有する描画面上の各点から出射される光を反射する反射面上の各点の位置情報とに基づいて、前記３次元座標系における視点と前記頂点とを通る直線と前記反射面との交点を特定し、
前記頂点から前記視点に向かう方向と、特定した前記交点における法線の方向とに基づいて、前記描画面上のいずれかの点から出射され前記交点において反射されて前記視点に到達する光が前記交点に入射する際の方向を算出し、
前記描画面上の各点の位置情報を参照して、算出した前記交点に入射する際の方向に基づいて、前記交点において反射されて前記視点に到達する光が出射される前記描画面上のいずれかの点を決定する、
処理を実行することを特徴とする描画方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、描画装置および描画方法に関する。
【背景技術】
【０００２】
従来、描画した画像を、コンバイナ等の反射鏡上の面で反射させて、利用者が見易い位置に像を投影する技術がある。関連する先行技術として、たとえば、投射手段から発せられた表示を含む光が、曲率を有する風防ガラスによる像歪みを相殺するようなレンズを介して自動車の風防ガラスに設置されたコンバイナに照射され、表示像として運転者に視認させるものがある。また、ポイントを特徴点としてパターン画像と撮影画像との特徴点の対応情報を求め、特徴点の対応情報に基づいて表示対象の表示領域を構成する平面領域を特定し、特定した平面領域を考慮して表示画像の歪みを補正するものがある。さらに、平面ポリゴンオブジェクトの任意のポリゴン分割数に対応したポリゴン頂点座標を、パラメータを含む所定の計算式により曲面スクリーン形状に対応する平面ポリゴンオブジェクトと同一平面上のポリゴン頂点座標へと変換する技術がある。（たとえば、下記特許文献１〜３を参照。）
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平４−２８３７９０号公報
【特許文献２】特開２００８−２８７４２６号公報
【特許文献３】特開２００６−２１５７６６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来技術によれば、反射鏡の歪みに伴い、投影される画像の質が劣化する。具体的には、歪みにより縮小される部分について、歪みを打ち消すために拡大すると、補正後の画像における歪みの補正部分は、補正前の画像の画素値から補完され、補正前の画像と比較して引き延ばされる図となる。また、歪みにより拡大される部分は歪みを打ち消すために縮小すると、補正後の画像における歪みの補正部分は、補正前の画像の画素値を平均した値となって、補正前の画像と比較して細部がつぶれた図となる。
【０００５】
１つの側面では、本発明は、反射鏡を介して投影される画像の質の劣化を抑制できる描画装置および描画方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の一側面によれば、３次元座標系における描画対象形状を表すいずれかの頂点の位置情報と、３次元座標系における投影部が有する描画面上の各点から出射される光を反射する反射面上の各点の位置情報とに基づいて、３次元座標系における視点と頂点とを通る直線と反射面との交点を特定し、頂点から視点に向かう方向と、特定した交点における法線の方向とに基づいて、描画面上のいずれかの点から出射され交点において反射されて視点に到達する光が交点に入射する際の方向を算出し、描画面上の各点の位置情報を参照して、算出した交点に入射する際の方向に基づいて、交点において反射されて視点に到達する光が出射される描画面上のいずれかの点を決定する描画装置および描画方法が提案される。
【発明の効果】
【０００７】
本発明の一態様によれば、反射鏡を介して投影される画像の質の劣化の抑制を図ることができるという効果を奏する。
【図面の簡単な説明】
【０００８】
【図１】図１は、本実施の形態にかかる描画装置の動作例を示す説明図である。
【図２】図２は、本実施の形態で用いる座標系の一例を示す説明図である。
【図３】図３は、視錐台の説明図である。
【図４】図４は、コンピュータシステムのハードウェア構成例を示すブロック図である。
【図５】図５は、描画装置の機能構成例を示すブロック図である。
【図６】図６は、透視変換部の機能構成例を示すブロック図である。
【図７】図７は、コンバイナ形状テーブルの記憶内容の一例を示す説明図である。
【図８】図８は、描画装置から描画された画像を見る際の光路の説明図（その１）である。
【図９】図９は、描画装置から描画された画像を見る際の光路の説明図（その２）である。
【図１０】図１０は、歪みのない虚像が見える理由についての説明図である。
【図１１】図１１は、透視変換処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
【０００９】
以下に図面を参照して、開示の描画装置および描画方法の実施の形態を詳細に説明する。
【００１０】
図１は、本実施の形態にかかる描画装置の動作例を示す説明図である。本実施の形態にかかる描画装置１００は、３Ｄ（ｄｉｍｅｎｓｉｏｎｓ）画像を描画する装置である。具体的に、描画装置１００は、図１の（Ａ）が示すように、車載ＨＵＤ（Ｈｅａｄ  Ｕｐ  Ｄｉｓｐｌａｙ）であり、３Ｄ画像を液晶パネル等に表示して、車内のフロントウィンドウ１０１に張り付けられたコンバイナ１０２に投影するという動作を行う。コンバイナ１０２はハーフミラーでできており、光を反射する反射面を有する。したがって、描画装置１００を利用する利用者Ａから見ると、コンバイナ１０２の向こう側に見える風景の上に、投影された虚像が重畳されたように見える。描画装置１００を利用する利用者Ａは、車を運転する運転者でもよいし、単に乗車する人間でもよい。また、コンバイナ１０２が反射することにより、描画装置１００の設置位置によらず、利用者Ａの見易い位置に像を投影することができる。
【００１１】
ここで、コンバイナ１０２は、フロントウィンドウ１０１の前に置かれた平面に配置されるか、もしくは車のフロントウィンドウ１０１に張り付けられる。フロントウィンドウ１０１は、車種ごとに異なる形状を持ち、複雑な曲面から形成される。コンバイナ１０２がフロントウィンドウ１０１の前に置かれた平面に配置される場合やフロントウィンドウ１０１に張り付けられる場合、コンバイナ１０２の法線の方向は利用者の視線と垂直でない。したがって、描画した画像を投影すると、利用者から見える虚像は、コンバイナ１０２の形状に従って歪んで見えることになる。歪み方の例として、斜め方向から平面上のコンバイナ１０２へ投影された画像を利用者が見ると、描画した画像が四角形であった場合、たとえば、利用者から見える虚像は、台形になるように歪む。コンバイナ１０２の形状が平面ではなく曲面である場合には、更に複雑な歪みが発生する。
【００１２】
歪んだままの虚像では、利用者の視認性が悪化することになる。そこで、歪みがない状態で描画された画像を、アフィン変換等の２次元的な変換処理により変形させることにより歪みを打ち消す方法がある。しかし、２次元的な変換処理により変形させることにより歪みを打ち消す方法は、虚像の画質の劣化を招く。具体的に、２次元的な変換処理により変形させる方法では、虚像の中で、２次元的な変換処理により拡大される部分では、形状表面のテクスチャが引き延ばされたようになる。一方、虚像の中で、２次元的な変換処理により縮小される部分では、細部がつぶれて質感が失われることになる。
【００１３】
そこで、本実施の形態にかかる描画装置１００は、３次元座標系における視点と頂点を通る直線とコンバイナ１０２の反射面との交点における光の入射方向に基づいて、投影される画像が描画される描画面上で頂点を描画する位置を決定する。これにより、本実施の形態にかかる描画装置１００による歪み補正処理では、３次元空間内で変形させた形状を、投影部が有する描画面の解像度に合わせた解像度で描画するため、２次元的な変換処理であった画像の劣化を抑制することができる。図１の（Ａ）において、破線１０４内について拡大した図１の（Ｂ）を用いて、描画装置１００の動作を説明する。
【００１４】
図１の（Ｂ）は、破線１０４内について拡大した図を示す。以下の説明において、Ｐ０は、利用者Ａの視点を表す。描画装置１００は、描画対象形状として、３次元座標系における形状１１１を虚像１０３内に描画するものとする。描画対象形状は、形状を形成する各頂点の座標、２個の頂点の間に張られた辺、複数の辺で囲まれた面といった要素の集合体として表現される。３次元座標系については、図１の（Ｂ）が示すように描画装置１００は、画像を投影する投影部１１２を有する。投影部１１２は、投影される画像を描画する描画面１１３を有する。投影部１１２は、描画面１１３の各点から光を出射する。
【００１５】
描画装置１００は、形状１１１のいずれかの頂点Ｐ１の位置情報と、コンバイナ１０２の反射面上の各点の位置情報とに基づいて、３次元座標系における視点Ｐ０から頂点Ｐ１を通る直線とコンバイナ１０２の反射面との交点Ｐ２を特定する。具体的な特定方法は、図８で後述する。コンバイナ１０２の反射面上の各点の位置情報は、図７で後述する。
【００１６】
次に、描画装置１００は、頂点Ｐ１から視点Ｐ０に向かう方向と、交点Ｐ２における法線の方向とに基づいて、描画面１１３上のいずれかの点から出射され交点Ｐ２において反射されて視点Ｐ０に到達する光が交点Ｐ２に入射する際の方向を算出する。交点Ｐ２における法線の方向は、コンバイナ１０２の反射面上の各点の法線を特定する情報より取得することができる。コンバイナ１０２の反射面上の各点の法線を特定する情報については、図７で後述する。
【００１７】
交点Ｐ２において反射されて視点Ｐ０に到達する光が交点Ｐ２に入射する際の方向を示すベクトルを、ベクトルＩとする。頂点Ｐ１から視点Ｐ０に向かう方向は、描画面１１３上のいずれかの点から出射され交点Ｐ２において反射された方向に等しい。交点Ｐ２において反射される光について、入射角と反射角は同一の角度θとなる。
【００１８】
ベクトルＩは、視点Ｐ０と頂点Ｐ１とを含み、ベクトルＮP2に平行な平面上で、交点Ｐ２を通りベクトルＮP2を対称軸として、頂点Ｐ１から視点Ｐ０に向かうベクトルと線対称の関係にある。本実施の形態にかかる描画装置１００は、この関係を用いて、交点Ｐ２において反射されて視点Ｐ０に到達する光が交点Ｐ２に入射する際の方向としてベクトルＩを算出する。ベクトルＩの算出例については、図９で後述する。
【００１９】
続けて、描画装置１００は、描画面１１３上の各点の位置情報を参照して、交点Ｐ２に入射する際の方向に基づいて、交点Ｐ２において反射されて視点Ｐ０に到達する光が出射される描画面１１３上のいずれかの点Ｐ３を決定する。描画面１１３上の各点の位置情報については、図６で後述する。また、いずれかの点の具体的な決定例については、図９で後述する。図１では、交点Ｐ３が決定されたとする。続けて、描画装置１００について、図２〜図１１を用いて説明する。
【００２０】
図２は、本実施の形態で用いる座標系の一例を示す説明図である。本実施の形態で用いる座標系は、表２０１で記載するように、Ｌｏｃａｌ座標系と、Ｗｏｒｌｄ座標系と、Ｅｙｅ座標系と、Ｃｌｉｐ座標系と、Ｄｅｖｉｃｅ座標系と、いう５つである。
【００２１】
Ｌｏｃａｌ座標系は、形状のどこかを原点として、形状を構成する各頂点の座標を表す座標系である。たとえば、形状が球形の場合、球形のＬｏｃａｌ座標系は、球の中心を原点とした座標系となる。
【００２２】
Ｗｏｒｌｄ座標系は、空間内のある一点を原点として、形状を構成する頂点の座標を表す座標系である。Ｗｏｒｌｄ座標系における座標軸は、空間内にある形状全てで共通となる。
【００２３】
Ｅｙｅ座標系は、視点の位置を原点として、空間内に存在する形状を構成する頂点の座標を表す座標系である。Ｅｙｅ座標系における座標軸は、視線の方向をＺ軸とし、視野の上下方向にＹ軸、視野の水平方向にＸ軸を設定することが一般的である。
【００２４】
Ｃｌｉｐ座標系は、Ｅｙｅ座標系による座標に透視変換を施した結果得られる座標が属する座標系である。Ｃｌｉｐ座標系は、ある形状の頂点が、視野内に入る、すなわち、描画されるかどうかを判定するＣｌｉｐ処理に用いられる。
【００２５】
Ｄｅｖｉｃｅ座標系は、実際のＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）パネル等の描画面１１３上の画素が属する座標系である。たとえば、ＯｐｅｎＧＬ（登録商標）の規格では、画面の左下隅に原点を置き、画面の下から上に向かう方向をＹ軸の正の方向とし、さらに、画面の左から右に向かう方向をＸ軸の正の方向とする。
【００２６】
図２に挙げた座標系のうち、Ｄｅｖｉｃｅ座標系以外は、３次元の座標系である。ただし、Ｚバッファ法やスキャンライン法による描画処理の際には、座標系相互の変換や遠近補正処理の際の取り扱いの利便性の関係により、第４の成分Ｗを追加した同次座標系の形式を用いて、各座標系によるベクトルを表すことがある。ここで、遠近補正処理とは、遠くのものが小さく見えるように形状を描画する際のサイズを補正する処理のことである。
【００２７】
たとえば、同次座標系の形式で表現されたＥｙｅ座標系の位置ベクトルＰ＝［Ｘe，Ｙe，Ｚe，Ｗe］があるとする。そして、位置ベクトルＰを、同次座標系でない通常の３次元の形式の位置ベクトルに変換する際には、Ｘ、Ｙ、Ｚの各成分の値をＷ成分の値で割って、Ｐ’＝Ｘe／Ｗe，Ｙe／Ｗe，Ｚe／Ｗeとする。また、通常の３次元の形式の位置ベクトルを同次座標系の形式に変換する際には、Ｘ，Ｙ，Ｚ→Ｘ，Ｙ，Ｚ，１．０のように値１．０をＷ成分の値として追加することが一般的である。
【００２８】
図３は、視錐台の説明図である。視錐台は、形状を描画する領域である。具体的に、視錐台は、図３に示すように、視点Ｐ０を頂点とする四角錘のうち、頂点Ｐ０を含む四角錘を除く、前方クリップ面３０１と後方クリップ面３０２とにより囲まれる領域である。そして、視錐台の領域は、Ｅｙｅ座標系のＹ軸方向となる仰角方向に±α度、Ｅｙｅ座標系のＸ軸方向となる方位角方向に±β度、Ｅｙｅ座標系のＺ軸の方向となる奥行き方向にｎｅａｒ≦Ｚ≦ｆａｒといった形で定義される。ｎｅａｒは、前方クリップ面３０１のＺ方向の位置である。ｆａｒは、後方クリップ面３０２のＺ方向の位置である。
【００２９】
本実施の形態では、Ｚ軸の方向を方位角０度、仰角０度の方向であると定義する。さらに、方位角は、右手方向を角度のプラス方向とし、仰角は、上方向を角度のプラス方向とする。また、図３に示すｔｏｐは、ｎｅａｒ×ｔａｎαで求められる。また、ｂｏｔｔｏｍは、−ｎｅａｒ×ｔａｎαで求められる。さらに、ｌｅｆｔは、−ｎｅａｒ×ｔａｎβで求められる。さらに、ｒｉｇｈｔは、ｎｅａｒ×ｔａｎβで求められる。
【００３０】
次に、描画装置１００を含むコンピュータシステムのハードウェア構成例について、図４で後述する。描画装置１００は、Ｚバッファ法、スキャンライン法のいずれも適用できる。以下、描画装置１００がＺバッファ法を採用したものを例にして説明する。
【００３１】
図４は、コンピュータシステムのハードウェア構成例を示すブロック図である。コンピュータシステム４００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）４０１と、描画装置１００と、表示制御回路４０２と、表示デバイス４０３と、インターフェース４０４と、カメラデバイス４０５と、メモリ４０６と、を有する。ＣＰＵ４０１と、描画装置１００と、表示制御回路４０２と、インターフェース４０４と、メモリ４０６とは、バス４０７とでそれぞれ接続される。表示デバイス４０３は、表示制御回路４０２と接続される。
【００３２】
さらに、メモリ４０６は、頂点データ格納用領域４１１と、ラインバッファ用領域４１２と、テクスチャ格納用領域４１３と、Ｚバッファ用領域４１４とを有する。
【００３３】
ＣＰＵ４０１は、コンピュータシステム４００の全体の制御を司る演算処理装置である。さらに、ＣＰＵ４０１は、コンピュータシステム４００が、車載機器を想定する場合、たとえば、カーナビゲーションを行うアプリケーションソフトウェアを実行する。表示制御回路４０２は、表示デバイス４０３を制御する回路である。具体的に、表示制御回路４０２は、ラインバッファ用領域４１２から１ライン分の画像を読み出して表示デバイス４０３へ出力する。表示デバイス４０３は、コンバイナ１０２へ画像を表示する装置である。たとえば、表示デバイス４０３は、ＬＣＤパネルに光を通して画像を表示する。
【００３４】
インターフェース４０４は、ネットワークと内部のインターフェースを司り、外部装置からのデータの入出力を制御する制御装置である。たとえば、インターフェース４０４は、ネットワーク外部の装置から地図情報を取得して、メモリ４０６に格納する。また、インターフェース４０４は、カメラデバイス４０５が撮像した画像を取得して、メモリ４０６に格納する。カメラデバイス４０５は、静止画や動画を撮影する装置である。さらに、コンピュータシステム４００は、利用者Ａからの指示を受け付けるボタン等を有し、インターフェース４０４は、ボタンが押下された等の信号を検出して、ＣＰＵ４０１に送信してもよい。
【００３５】
メモリ４０６は、ＣＰＵ４０１や描画装置１００のワークエリアとして使用される揮発性メモリである。頂点データ格納用領域４１１は、描画する形状を形成する頂点の座標や、頂点に設定された色などを含む頂点データを記憶する記憶領域である。頂点データ格納用領域４１１に格納される頂点データは、Ｌｏｃａｌ座標系またはＷｏｒｌｄ座標系で表現される。ラインバッファ用領域４１２は、歪みのない画像の１ライン分の画像を記憶する記憶領域である。テクスチャ格納用領域４１３は、形状の表面に張り付けられるテクスチャマップを記憶する記憶領域である。Ｚバッファ用領域４１４は、Ｚバッファ法を用いるための作業領域である。
【００３６】
図５は、描画装置の機能構成例を示すブロック図である。描画装置１００は、メモリ４０６へアクセスする機能部として、頂点データ読出部５０１と、Ｚバッファアクセス制御部５０２と、テクスチャアクセス制御部５０３と、格納部５０４と、を有する。さらに、描画装置１００は、モデル・ビュー変換部５１１と、ライティング処理部５１２と、透視変換部５１３と、プリミティブセットアップ部５１４と、ラスタライズ部５１５と、ピクセル処理部５１６と、を有する。
【００３７】
頂点データ読出部５０１は、頂点データ格納用領域４１１に格納された頂点データを読み出す。Ｚバッファアクセス制御部５０２は、Ｚバッファ用領域４１４に対する読み書きの制御を行う。テクスチャアクセス制御部５０３は、テクスチャ座標に基づいて、テクスチャマップ中のピクセルを参照し、ピクセル処理部５１６へ送信する。形状を形成する各頂点には、該当の頂点が、テクスチャマップのどの位置に対応しているのかを示すために、テクスチャ座標が付与されている。テクスチャアクセス制御部５０３は、面を囲む各頂点に付与されたテクスチャ座標に対して補完演算を施すことにより、各頂点の間に張られた面上の、ある一点に対応するテクスチャ座標を求める。
【００３８】
格納部５０４は、ピクセル処理部５１６からの要求に基づいて、ラインバッファ用領域４１２の読み書きを行う。格納部５０４については、図６でも説明を行う。
【００３９】
モデル・ビュー変換部５１１は、Ｌｏｃａｌ座標系またはＷｏｒｌｄ座標系で表現される頂点データの座標を、Ｅｙｅ座標系による表現に変換する。ライティング処理部５１２は、各頂点に当たる光の強さや色を計算する。透視変換部５１３は、Ｅｙｅ座標系で表現されている頂点の座標を、コンバイナ１０２による虚像の歪みを考慮してＣｌｉｐ座標系による表現に変換する。さらに、透視変換部５１３は、Ｃｌｉｐ座標系で表現される頂点の座標をＤｅｖｉｃｅ座標系に変換する。透視変換部５１３の詳細については図６で後述する。
【００４０】
プリミティブセットアップ部５１４は、三角形や直線といった基本的な図形の要素の集合として表現される形状を、ラスタライズ部５１５で処理できる形に変形する。ラスタライズ部５１５は、プリミティブセットアップ部５１４から送られてきた区間データに基づいて、描画対象となるピクセルの色を決定し、ピクセル処理部５１６に出力する。ピクセル処理部５１６は、ラスタライズ部から出力された色情報と、αブレンド率に基づいた背景の色の情報とを重ね合わせることにより、描画面１１３に表示する画素値を作成する。ピクセル処理部５１６については、図６でも説明を行う。
【００４１】
図６は、透視変換部の機能構成例を示すブロック図である。透視変換部５１３は、検出部６０２と、特定部６０３と、算出部６０４と、決定部６０５と、変換部６０６とを有する。また、図６に示す撮像部６０１は、図４に示すカメラデバイス４０５に相当する。なお、検出部６０２は、透視変換部５１３の機能でもよいし、ＣＰＵ４０１の機能でもよいし、カメラデバイス４０５の機能でもよい。また、図６には示していないが、ラスタライズ部５１５と、ピクセル処理部５１６と、変換部６０６とを含む部を、作成部として説明する。
【００４２】
また、透視変換部５１３は、コンバイナ形状テーブル６１１と、描画面位置情報６１２とにアクセス可能である。コンバイナ形状テーブル６１１と、描画面位置情報６１２とは、透視変換部５１３内にあるフリップフロップ等の記憶領域に記憶されていてもよいし、メモリ４０６内に記憶されていてもよい。
【００４３】
コンバイナ形状テーブル６１１は、３次元座標系におけるコンバイナ１０２の反射面上の各点の位置情報と、３次元座標系におけるコンバイナ１０２の反射面上の各点の法線を特定する情報とを有するテーブルである。コンバイナ形状テーブル６１１の記憶内容の詳細は、図７に後述する。３次元座標系は、図２に示したＥｙｅ座標系が好ましいが、Ｗｏｒｌｄ座標系でもよい。
【００４４】
描画面位置情報６１２は、描画面１１３上の各点の位置情報である。たとえば、描画面位置情報６１２は、描画面１１３上の各点の３次元座標を記憶してもよい。または、描画面位置情報６１２は、描画面１１３が矩形であれば、描画面１１３上の四隅のある一点の３次元座標と、描画面１１３の横幅と描画面１１３の縦幅と、横方向の画素密度と縦方向の画素密度とを記憶してもよい。
【００４５】
検出部６０２は、Ｗｏｒｌｄ座標系のいずれかの位置に配置された撮像部６０１が眼球を撮像した画像とＷｏｒｌｄ座標系における撮像部６０１の位置情報とに基づいて、Ｅｙｅ座標系における眼球による視点の位置情報を検出する。
【００４６】
ここで、検出部６０２の動作を説明するため、撮像部６０１が有するレンズの光軸方向をＺ軸とし、左右方向をＸ軸とし、上下方向をＹ軸とする。眼球のＺ軸の成分値を特定する際、たとえば、検出部６０２は、たとえば、コントラストＡＦ（ＡｕｔｏＦｏｃｕｓ）や、位相差ＡＦといったオートフォーカスを行い、レンズの合焦位置から、Ｚ軸の成分値を特定することができる。位相差ＡＦは、撮像部６０１のレンズを通して入力される被写体の画像から、撮像部６０１内のセンサ内のセパレータレンズで２つの像を生成し、像の間隔により、オートフォーカスを行う。コントラストＡＦは、撮像部６０１が得た被写体の画像情報を解析し、レンズを動かしながら画像のコントラストが最も高くなるレンズ位置を探索する。いずれの方法であっても、検出部６０２は、Ｅｙｅ座標系のいずれかの位置に配置された撮像部６０１が眼球を撮像した画像に基づき、眼球があるＺ軸の成分値を検出する。
【００４７】
眼球のＸ軸の成分値とＹ軸の成分値を特定する際には、検出部６０２は、撮像部６０１が眼球を撮像した画像を介して眼球がある画素を特定し、画像中央からの画素数と、Ｚ軸の成分値とに基づいてＸ軸の成分値とＹ軸の成分値を検出する。具体的には、水平方向について、撮像部６０１のレンズの画角をθとし、Ｚ軸の成分値をＺとし、水平方向における撮像部６０１のレンズの視野範囲をｘ１とすると、θ、Ｚ、ｘ１は、下記（６−１）式を満たす。
【００４８】
ｘ１＝２＊Ｚ＊ｔａｎ（θ／２）  …（６−１）
【００４９】
（６−１）式のうち、ｘ１以外は設計時に判明する値である。また、撮像部６０１の撮像素子の水平方向の大きさをｗとし、画像中央からの水平方向の画素数をｘとすると、ｘ１、Ｘ軸の成分値、ｗ、ｘは、下記（６−２）式を満たす。
【００５０】
ｘ１：Ｘ軸の成分値＝ｗ：ｘ  …（６−２）
【００５１】
（６−２）式のうち、ｘ１とＸ軸の成分値以外は事前に判明する値である。したがって、検出部６０２は、（６−１）式と（６−２）式とを組み合わせることにより、Ｘ軸の成分値を求めることができる。Ｙ軸の成分値も同様に求めることができる。検出部６０２は、検出した眼球のＸ，Ｙ，Ｚ軸の成分値に対して、Ｗｏｒｌｄ座標系における撮像部６０１の位置情報をオフセットすることにより、Ｗｏｒｌｄ座標系における原点からの検出した視点Ｐ０のＸ，Ｙ，Ｚ軸の成分値を求めることができる。なお、検出した視点の位置情報は、描画装置１００の記憶領域に格納する。
【００５２】
特定部６０３は、Ｅｙｅ座標系における描画対象形状を表すいずれかの頂点Ｐ１の位置情報と、コンバイナ１０２の反射面上の各点の位置情報とに基づいて、Ｅｙｅ座標系における視点Ｐ０から頂点Ｐ１を通る直線と反射面との交点Ｐ２を特定する。交点Ｐ２は、コンバイナ１０２の反射面上の各点のうち、Ｅｙｅ座標系における視点と頂点とを通る直線と反射面との交点から最も近い点としてもよいし、後述する図８の方法でもよい。
【００５３】
また、特定部６０３は、Ｅｙｅ座標系における描画対象形状を表すいずれかの頂点Ｐ１の位置情報と、反射面上の各点の位置情報とに基づいて、Ｅｙｅ座標系における検出部６０２が検出した視点Ｐ０から頂点Ｐ１を通る直線と反射面との交点Ｐ２を特定してもよい。また、特定部６０３は、標準体型の人間による視点Ｐ０の位置情報を記憶しておき、新たに検出した視点Ｐ０の位置情報が予め定められた所定の閾値を超えた場合に、新たに検出した視点Ｐ０の位置情報を使って交点Ｐ２を特定してもよい。なお、特定した交点Ｐ２の位置情報は、描画装置１００の記憶領域に格納する。
【００５４】
新たな視点Ｐ０の位置情報を用いる場合、特定部６０３は、Ｗｏｒｌｄ座標系における標準体型の人間による視点Ｐ０の位置情報と、検出部６０２が検出した視点Ｐ０の位置情報のオフセットを求め、求めたオフセットに基づいて、コンバイナ形状テーブル６１１の記憶内容を書き換える。
【００５５】
算出部６０４は、頂点Ｐ１から視点Ｐ０に向かう方向と、特定部６０３が特定した交点における法線の方向とに基づいて、描画面１１３上のいずれかの点から出射され交点において反射されて視点に到達する光が交点に入射する際の方向を算出する。具体的な算出方法は、図９で後述する。また、算出部６０４は、視点Ｐ０から頂点Ｐ１に向かう方向でもよい。この場合、算出部６０４は、後述する式において、図９で用いる頂点Ｐ１から視点Ｐ０に向かう方向を示すベクトルの正負を反転すればよい。なお、算出した方向を示すベクトルは、描画装置１００の記憶領域に格納する。
【００５６】
決定部６０５は、描画面１１３上の各点の位置情報を参照して、算出部６０４が算出した交点に入射する際の方向に基づいて、交点Ｐ２において反射されて視点Ｐ０に到達する光が出射される描画面１１３上のいずれかの点を決定する。具体的な決定方法は、図９で後述する。
【００５７】
作成部は、Ｅｙｅ座標系における描画対象形状を表すいずれかの頂点Ｐ１の位置情報および色情報と、決定部６０５が決定したいずれかの点の位置情報とに基づいて、描画面１１３を分割した領域分の画素値を作成する。具体的に、作成部内の変換部６０６は、Ｅｙｅ座標系における描画対象形状を表すいずれかの頂点のＺ軸の成分値と、決定部６０５が決定したいずれかの点の位置情報となるＸ軸とＹ軸との成分値を用いて、頂点Ｐ１が描画面１１３上で描かれる画素を決定する。より詳細には、図９で説明する。そして、作成部内のラスタライズ部５１５とピクセル処理部５１６は、描画面１１３上で描かれる画素に対して、頂点Ｐ１の色情報を用いて画素値を作成する。また、図５で説明したように、ピクセル処理部５１６は、色情報の他にテクスチャ画像を用いて画素値を作成してもよい。描画面１１３を分割した領域は、たとえば、描画面１１３の１ラインでもよいし、数ラインでもよい。本実施の形態では、描画面１１３を分割した領域は、描画面１１３の１ラインとする。
【００５８】
格納部５０４は、作成部が作成した領域分の画素値を、領域分の画素値分の記憶量を有するラインバッファ用領域４１２に格納する。
【００５９】
図７は、コンバイナ形状テーブルの記憶内容の一例を示す説明図である。コンバイナ形状テーブル６１１は、視界を格子点状に分割した複数の視線の方向の各方向を１エントリとして、視点から交点までの距離と法線ベクトルの各成分値を記憶するテーブルである。また、コンバイナ１０２へ向かう視線がコンバイナ１０２の反射面と交わらない場合には、距離として無限遠が設定されるものとする。視線の方向は、方位角と仰角の組み合わせで表現する。
【００６０】
図７に示すコンバイナ形状テーブル６１１は、仰角の最大値α＝３０度、方位角の最大値β＝３０度とし、方位角１度仰角１度ごとの方向を１エントリとして、エントリ７０１−０〜７０１−３７２０となる３７２１個のエントリを有する。
【００６１】
コンバイナ形状テーブル６１１は、エントリ番号と、交点までの距離と、法線ベクトルＸ成分と、法線ベクトルＹ成分と、法線ベクトルＺ成分と、いう５つのフィールドを含む。ここで、エントリ番号フィールドと交点までの距離フィールドとが、コンバイナ１０２の反射面上の各点の位置情報に相当する。また、法線ベクトルＸ成分と、法線ベクトルＹ成分と、法線ベクトルＺ成分とが、コンバイナ１０２の反射面上の各点の法線を特定する情報である。
【００６２】
エントリ番号フィールドには、視界を格子点状に分割した方向に対応する値が格納される。具体的に、エントリ７０１−０は、方位角−３０度、仰角−３０度方向の交点に関するエントリである。また、エントリ７０１−１８６０は、方位角０度、仰角０度方向の交点に関するエントリである。同様に、エントリ７０１−３７２０は、方位角３０度、仰角３０度方向の交点に関するエントリである。
【００６３】
交点までの距離フィールドには、視点Ｐ０から交点までの距離が格納される。法線ベクトルＸ成分フィールドには、交点におけるコンバイナ形状テーブル６１１の法線ベクトルのＸ成分が格納される。法線ベクトルＹ成分フィールドには、交点におけるコンバイナ形状テーブル６１１の法線ベクトルのＹ成分が格納される。法線ベクトルＺ成分フィールドには、交点におけるコンバイナ形状テーブル６１１の法線ベクトルのＺ成分が格納される。なお、法線ベクトルは、後の計算を容易にするために、正規化された値であることが好ましい。具体的には、法線ベクトルは、ベクトルのノルムが１となるように大きさが調整される。すなわち、ｘを０から３７２０までの整数とすると、ベクトルの成分値［ＮＸx，ＮＹx，ＮＺx］は、ＮＸx＾２＋ＮＹx＾２＋ＮＺx＾２＝１の関係式を満たす。
【００６４】
たとえば、エントリ７０１−０は、方位角−３０度、仰角−３０度方向における視点Ｐ０から交点までの距離がＤ0000であり、該当の交点の法線ベクトルが［ＮＸ0000、ＮＹ0000、ＮＺ0000］となる。
【００６５】
図８は、描画装置から描画された画像を見る際の光路の説明図（その１）である。まず、図８では、視点Ｐ０と頂点座標Ｐ１とを結ぶ視線と、コンバイナ１０２の反射面との交点Ｐ２を求める方法について説明する。
【００６６】
透視変換部５１３は、Ｅｙｅ座標における視点Ｐ０から頂点座標Ｐ１までの座標ベクトルＶP1＝［ＸP1e，ＹP1e，ＺP1e，ＷP1e］から、コンバイナ形状テーブル６１１における交点Ｐ２を囲む第１のエントリ番号〜第４のエントリ番号を求める。
【００６７】
透視変換部５１３は、第１から第４までのエントリ番号を求めるために、ベクトルＶP1の方位角θazと仰角θaltとを下記（８−１）式と、下記（８−２）式を用いて算出する。
【００６８】
方位角θaz＝ｔａｎ-1（ＸP1e／ＺP1e）  …（８−１）
仰角θalt＝ｔａｎ-1（ＹP1e／ＺP1e）  …（８−２）
【００６９】
次に、透視変換部５１３は、方位角方向のインデックスＩazと、仰角方向のインデックスＩaltとを、下記（８−３）式と、下記（８−４）式とを用いて算出する。
【００７０】
方位角方向のインデックスＩaz＝ｒｏｕｎｄ（θaz）  …（８−３）
仰角方向のインデックスＩalt＝ｒｏｕｎｄ（θalt）  …（８−４）
【００７１】
ただし、「ｒｏｕｎｄ」は引数の値を、マイナス無限大方向に丸めた整数値を返す関数である。続けて、透視変換部５１３は、下記（８−５）式〜（８−８）式を用いて、第１のエントリ番号Ｉ1〜第４のエントリ番号Ｉ4を求める。
【００７２】
Ｉ1＝Ｉaz＋３０＋６１×（Ｉalt＋３０）  …（８−５）
Ｉ2＝Ｉaz＋３０＋１＋６１×（Ｉalt＋３０）  …（８−６）
Ｉ3＝Ｉaz＋３０＋６１×（Ｉalt＋３０＋１）  …（８−７）
Ｉ4＝Ｉaz＋３０＋１＋６１×（Ｉalt＋３０＋１）  …（８−８）
【００７３】
次に、透視変換部５１３は、コンバイナ形状テーブル６１１から、エントリ番号Ｉ1〜Ｉ4に対応するエントリを取得して、特定部６０３に送信する。ただし、透視変換部５１３は、次に示す式（８−９）が真となる場合、エントリ番号Ｉ0に対するエントリの交点までの距離をプラス無限大に置き換えて特定部６０３に送信する。
【００７４】
（Ｉaz≦−３１）∪（Ｉalt≦−３１）  …（８−９）
【００７５】
同様に、透視変換部５１３は、次に示す式（８−１０）〜式（８−１２）が真となる場合、それぞれ、エントリ番号Ｉ2〜Ｉ4に対するエントリの交点までの距離をプラス無限大に置き換える。
（＋３０≦Ｉaz）∪（Ｉalt≦−３１）  …（８−１０）
（Ｉaz≦−３１）∪（＋３０≦Ｉalt）  …（８−１１）
（＋３０≦Ｉaz）∪（＋３０≦Ｉalt）  …（８−１２）
【００７６】
特定部６０３は、第１〜第４のエントリと頂点座標Ｐ１を利用して、線形補完によってコンバイナ１０２の反射面と視線との交点Ｐ２の座標を特定する。同様に、特定部６０３は、交点Ｐ２におけるコンバイナ１０２の反射面の法線ベクトルも線形補完により特定する。
【００７７】
まず、特定部６０３は、方位角の小数部ｆazと、仰角の小数部ｆaltとを、下記（８−２１）式と下記（８−２２）式とを用いて算出する。
【００７８】
ｆaz＝ｆｒａｃ（ｔａｎ-1（ＸP1e／ＺP1e）  …（８−２１）
ｆalt＝ｆｒａｃ（ｔａｎ-1（ＹP1e／ＺP1e）  …（８−２２）
【００７９】
続けて、特定部６０３は、方位角の小数部ｆazと、仰角の小数部ｆaltとから、下記（８−２３）式〜（８−２６）式を用いて、第１〜第４のエントリの重み係数Ｗ1〜Ｗ4を算出する。
【００８０】
Ｗ1＝ｆaz×ｆalt  …（８−２３）
Ｗ2＝（１−ｆaz）×ｆalt  …（８−２４）
Ｗ3＝ｆaz×（１−ｆalt）  …（８−２５）
Ｗ4＝（１−ｆaz）×（１−ｆalt）  …（８−２６）
【００８１】
第１〜第４のエントリそれぞれの交点までの距離をＤ1、Ｄ2、Ｄ3、Ｄ4とする。特定部６０３は、Ｄ１〜Ｄ４と、重み係数Ｗ1〜Ｗ4から、下記（８−２７）式を用いて、交点Ｐ２までの距離ＤP2を算出する。
【００８２】
ＤP2＝（Ｗ1×Ｄ1）＋（Ｗ2×Ｄ2）＋（Ｗ3×Ｄ3）＋（Ｗ4×Ｄ4）  …（８−２７）
【００８３】
また、第１〜第４のエントリそれぞれの法線ベクトルをベクトルＮ１＝［ＸN1，ＹN1，ＺN1］、ベクトルＮ２＝［ＸN2，ＹN2，ＺN2］、ベクトルＮ３＝［ＸN3，ＹN3，ＺN3］、ベクトルＮ４＝［ＸN4，ＹN4，ＺN4］とする。特定部６０３は、ベクトルＮ１〜Ｎ４と、重み係数Ｗ1〜Ｗ4から、下記（８−２８）式を用いて、交点Ｐ２における法線ベクトルＮP2を算出する。
【００８４】
ベクトルＮP2＝（Ｗ1×ベクトルＮ1）＋（Ｗ2×ベクトルＮ2）＋（Ｗ3×ベクトルＮ3）＋（Ｗ4×ベクトルＮ4）  …（８−２８）
【００８５】
特定部６０３は、ＤP2を用いて、視点Ｐ０から交点Ｐ２までのベクトルＶP2＝［ＸP2，ＹP2，ＺP2］の各成分値を下記（８−２９）式〜（８−３１）式を用いて算出する。
【００８６】
ＸP2＝ＤP2×（ＸP1e／（ＸP1e＾２＋ＹP1e＾２＋ＺP1e＾２）＾０．５  …（８−２９）
ＹP2＝ＤP2×（ＹP1e／（ＸP1e＾２＋ＹP1e＾２＋ＺP1e＾２）＾０．５  …（８−３０）
ＺP2＝ＤP2×（ＺP1e／（ＸP1e＾２＋ＹP1e＾２＋ＺP1e＾２）＾０．５  …（８−３１）
【００８７】
特定部６０３は、算出したベクトルＶP2と、ベクトルＮP2とを、算出部６０４に送信する。
【００８８】
図９は、描画装置から描画された画像を見る際の光路の説明図（その２）である。図９では、コンバイナ１０２への入射光と描画面１１３との交点Ｐ３の座標を求めるところまでを説明する。図９が示すように、描画面１１３のいずれかの点からコンバイナ１０２への入射光と法線ベクトルＮP2とが成す角である入射角θと、ベクトルＶP2と法線ベクトルＮP2との成す角である反射角θとの大きさは同一である。
【００８９】
算出部６０４は、ベクトルＶP2と、ベクトルＮP2とを用いて、入射光の方向ベクトルＩを下記（９−１）式に従って算出する。ここで、ベクトルＩは、視点Ｐ０と頂点Ｐ１とを含み、ベクトルＮP2に平行な平面上で、交点Ｐ２を通りベクトルＮP2を対象軸として、ベクトルＶP1と線対象にあるベクトルである。
【００９０】
ベクトルＩ＝（ベクトルＶP2−２×（ベクトルＶP2・ベクトルＮP2）×ベクトルＮP2）／（ベクトルＶP2・ベクトルＶP2）＾０．５  …（９−１）
【００９１】
算出部６０４は、算出した方向ベクトルＩを決定部６０５に送信する。決定部６０５は、方向ベクトルＩと、ベクトルＶP2と、描画面１１３の法線ベクトルＮDおよび視点Ｐ０から描画面１１３における原点ＰＤまでのベクトルＶPDと、を用いて、視点Ｐ０から入射光と描画面１１３との交点Ｐ３までのベクトルＶP3を算出する。描画面１１３の法線ベクトルＮDと、視点Ｐ０から描画面１１３における原点ＰＤまでのベクトルＶPDとは、描画面位置情報６１２に含まれる。
【００９２】
具体的に、ベクトルＶP3は、まず、頂点データと同じＥｙｅ座標系の空間内の座標である。交点Ｐ３は、交点Ｐ２を出発点として、方向ベクトルＩと同じ方向へ延びる直線上に存在する。したがって、Ｔをある実数として、下記（９−２）式の関係が成り立つ。
【００９３】
ベクトルＶP3＝ベクトルＶP2＋Ｔ×ベクトルＩ  …（９−２）
【００９４】
さらに、交点Ｐ３は、描画面１１３上の点でもあるため、下記（９−３）式の関係が成り立つ。
【００９５】
（ベクトルＶP3−ベクトルＶPD）・ベクトルＮD＝０  …（９−３）
【００９６】
したがって、決定部６０５は、（９−２）式と（９−３）式とに基づいて、Ｔを下記（９−４）式を用いて算出する。
【００９７】
Ｔ＝（（ベクトルＶPD−ベクトルＶP2）・ベクトルＮD）／（ベクトルＩ・ベクトルＮD）  …（９−４）
【００９８】
ただし、（９−４）式において、（ベクトルＩ・ベクトルＮD）＝０となる場合とは、入射光と描画面１１３の交点がない場合に相当する。したがって、（ベクトルＩ・ベクトルＮD）＝０となる頂点Ｐ１は描画しない。
【００９９】
ベクトルＶP3を算出した後、変換部６０６は、下記（９−５）式と（９−６）式とに用いて、描画面１１３内の２次元座標ＸP3、ＹP3を算出する。
【０１００】
ＸP3＝ベクトルＶP3・ベクトルｅDX  …（９−５）
ＹP3＝ベクトルＶP3・ベクトルｅDY  …（９−６）
【０１０１】
ただし、ベクトルｅDXは、描画面１１３内のＸ軸方向を示す単位ベクトルである。ベクトルｅDYは、描画面１１３内のＹ軸方向を示す単位ベクトルである。
【０１０２】
続けて、変換部６０６は、２次元座標ＸP3、ＹP3から、下記（９−７）式〜（９−９）式を用いて、Ｄｅｖｉｃｅ座標系における原点ＰＤから交点Ｐ３までのベクトルＶP3Dの各成分値［ＸP3D，ＹP3D，ＺP3D］を算出する。
【０１０３】
ＸP3D＝０．５＊ＲX＊（１．０＋（ＸP3／Ｗ））  …（９−７）
ＹP3D＝０．５＊ＲY＊（１．０＋（ＹP3／Ｈ））  …（９−８）
【０１０４】
ＺP3D＝（ｆａｒ／ＺP1e）＊（（ＺP1e−ｎｅａｒ）／（ｆａｒ−ｎｅａｒ））  …（９−９）
【０１０５】
ただし、Ｗは、描画面１１３の水平方向のサイズを示す。また、Ｈは、垂直方向のサイズを示す。また、ＲXは、描画面１１３上における画素のＸ方向への密度を示す。また、ＲYは、描画面１１３上における画素のＹ方向への密度を示す。さらに、描画面１１３の広がりは、面の原点を中心としてＸ軸方向に±０．５＊Ｗ、Ｙ軸方向に±０．５＊Ｈの長方形として定義されるものとする。
【０１０６】
Ｄｅｖｉｃｅ座標系における交点Ｐ３の各成分値を用いて描画することにより、コンバイナ１０２の反射面で反射した像を利用者Ａが見た場合、視点Ｐ０へ入射する光の角度が、コンバイナ１０２の向こうにある虚像から来た光が視点Ｐ０へ入射する角度と一致する。このため、利用者Ａからの見た目には歪みのない虚像が見えることになる。次に、図１０において、歪みのない虚像が見える理由についてより詳細に説明する。
【０１０７】
図１０は、歪みのない虚像が見える理由についての説明図である。図１０内のＸ、Ｙは、描画面１１３内におけるＰ３の位置を示す。また、図１０内のＸ’、Ｙ’は、描画面１１３内におけるＰ１の位置を示す。
【０１０８】
描画面１１３上の点Ｐ３を出た光は、交点Ｐ２においてコンバイナ１０２の反射面で反射して視点Ｐ０へ到達する。点Ｐ３が、描画回路により用いられたＣｌｉｐ座標を使用して描画面１１３上に描かれた図形に属する点である場合、交点Ｐ２でコンバイナ１０２の反射面で反射され視点Ｐ０へ到達する反射光の方向は、頂点Ｐ１から視点Ｐ０へ到達する光の方向と等しくなる。このため、視点Ｐ０からコンバイナ１０２上に投影された像を見ると、虚像の位置にある歪みがない画像と同様に見えることになる。
【０１０９】
図１１は、透視変換処理手順の一例を示すフローチャートである。透視変換処理は、投影後に歪みのない画像となるような位置に頂点データを変換する処理である。
【０１１０】
描画装置１００は、カメラデバイス４０５が眼球を撮像した画像とカメラデバイスの位置情報とから、利用者Ａの視点Ｐ０の位置を検出する（ステップＳ１１０１）。次に、描画装置１００は、視点Ｐ０を原点とするＥｙｅ座標系における頂点Ｐ１の座標ベクトルＶP1を取得する（ステップＳ１１０２）。
【０１１１】
続けて、描画装置１００は、頂点Ｐ１の座標ベクトルとコンバイナ形状テーブル６１１とから、視点Ｐ０から頂点Ｐ１を通る視線とコンバイナ１０２との交点Ｐ２を特定する（ステップＳ１１０３）。具体的には、描画装置１００は、図８で述べた（８−１）式〜（８−３１）式を用いて交点Ｐ２を特定する。
【０１１２】
次に、描画装置１００は、交点Ｐ２を起点とし、視点Ｐ０と頂点Ｐ１とを含み、ベクトルＮP2に平行な平面上で、交点Ｐ２を通りベクトルＮP2を対称軸として、ベクトルＶP1と線対称にあるベクトルＩを算出する（ステップＳ１１０４）。具体的に、描画装置１００は、（９−１）式を用いてベクトルＩを算出する。
【０１１３】
続けて、描画装置１００は、交点Ｐ２と、描画面位置情報６１２と、ベクトルＩとから、交点Ｐ２を通り、ベクトルＩを方向ベクトルとする直線と、描画面１１３との交点Ｐ３を決定する（ステップＳ１１０５）。具体的に、描画装置１００は、（９−４）式を用いて交点Ｐ３を決定する。
【０１１４】
次に、描画装置１００は、交点Ｐ３から、描画面１１３内における、座標［ＸP3，ＹP3］を算出する（ステップＳ１１０６）。具体的に、描画装置１００は、（９−５）式、（９−６）式を用いて座標［ＸP3，ＹP3］を算出する。
【０１１５】
続けて、描画装置１００は、座標［ＸP3，ＹP3］と、ベクトルＶP1とから、Ｄｅｖｉｃｅ座標系における原点ＰＤから交点Ｐ３までのベクトルＶP3Dの各成分値［ＸP3D，ＹP3D，ＺP3D］を算出する（ステップＳ１１０７）。具体的に、描画装置１００は、（９−７）式〜（９−９）式を用いて［ＸP3D，ＹP3D，ＺP3D］を算出する。
【０１１６】
なお、描画装置１００は、算出した［ＸP3D，ＹP3D，ＺP3D］と頂点Ｐ１の座標ベクトルとを関連付けて、一定期間記憶しておいてもよい。これにより、描画装置１００は、たとえば、頂点Ｐ１の座標ベクトルが変化せずに、テクスチャ画像だけが変化した際、過去に算出した［ＸP3D，ＹP3D，ＺP3D］をそのまま流用することができる。また、関連付けた情報を記憶する期間として、描画装置１００は、描画装置１００の記憶領域や、メモリ４０６の記憶領域に空きが無くなるまで記憶してもよい。また、関連付けた情報を記憶する期間として、描画装置１００は、ステップＳ１１０１において、利用者Ａの視点の位置情報を検出した際に、過去の視点の位置情報と比較して、所定の閾値を越えた場合に、関連付けた情報を削除するとしてもよい。または、関連付けた情報を記憶する期間として、描画装置１００は、周期的に削除してもよい。
【０１１７】
ステップＳ１１０７の処理終了後、描画装置１００は、透視変換処理を終了する。透視変換処理を実行することにより、描画装置１００は、投影後に歪みのない画像を利用者Ａに提供することができる。
【０１１８】
以上説明したように、描画装置１００によれば、Ｅｙｅ座標系における視点Ｐ０と頂点Ｐ１を通る直線とコンバイナ１０２の反射面との交点Ｐ２における光の入射方向に基づいて、描画面１１３上で頂点を描画する位置を決定する。これにより、描画装置１００は、歪みがない状態で描画された画像を、アフィン変換等の２次元的な変換処理により変形させることにより歪みを打ち消す方法と比較して、画質の劣化を抑制することができる。
【０１１９】
また、描画装置１００によれば、３次元座標系における描画対象形状を表すいずれかの頂点Ｐ１の位置情報および色情報と、決定した描画面１１３上のいずれかの点Ｐ３の位置情報とに基づいて、描画面１１３を分割した領域分の画素値を作成する。これにより、描画装置１００は、フレームバッファを形成する大容量のメモリを搭載しなくてよく、コンピュータシステム４００のコストや消費電力を抑えることが可能となる。
【０１２０】
また、描画装置１００によれば、３次元座標系のいずれかの位置に配置された撮像部が眼球を撮像した画像から、３次元座標系における眼球による視点の位置情報を検出して、検出した視点から頂点Ｐ１を通る直線と反射面の交点Ｐ２を特定してもよい。これにより、利用者Ａの視点の位置が変更された場合でも、描画装置１００は、利用者Ａの視点の位置に合わせて歪みのない画像を表示することができる。利用者Ａの視点の位置が変更される場合として、たとえば、描画装置１００の利用者として、運転者が変更した場合や、運転者が運転席の位置を変更した場合である。
【０１２１】
なお、本実施の形態で説明した描画方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本描画方法を実行するプログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また本描画方法を実行するプログラムは、インターネット等のネットワークを介して配布してもよい。
【０１２２】
また、本実施の形態で説明した描画装置１００は、スタンダードセルやストラクチャードＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）などの特定用途向けＩＣ（以下、単に「ＡＳＩＣ」と称す。）やＦＰＧＡなどのＰＬＤ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｄｅｖｉｃｅ）によっても実現することができる。具体的には、たとえば、上述した描画装置１００の検出部６０２〜変換部６０６をＨＤＬ記述によって機能定義し、そのＨＤＬ記述を論理合成してＡＳＩＣやＰＬＤに与えることにより、描画装置１００を製造することができる。
【０１２３】
上述した実施の形態に関し、さらに以下の付記を開示する。
【０１２４】
（付記１）３次元座標系における描画対象形状を表すいずれかの頂点の位置情報と、前記３次元座標系における投影部が有する描画面上の各点から出射される光を反射する反射面上の各点の位置情報とに基づいて、前記３次元座標系における視点と前記頂点とを通る直線と前記反射面との交点を特定する特定部と、
前記頂点から前記視点に向かう方向と、前記特定部が特定した前記交点における法線の方向とに基づいて、前記描画面上のいずれかの点から出射され前記交点において反射されて前記視点に到達する光が前記交点に入射する際の方向を算出する算出部と、
前記描画面上の各点の位置情報を参照して、前記算出部が算出した前記交点に入射する際の方向に基づいて、前記交点において反射されて前記視点に到達する光が出射される前記描画面上のいずれかの点を決定する決定部と、
を有することを特徴とする描画装置。
【０１２５】
（付記２）前記３次元座標系における前記描画対象形状を表すいずれかの頂点の位置情報および色情報と、前記決定部が決定した前記いずれかの点の位置情報とに基づいて、前記描画面を分割した領域分の画素値を作成する作成部と、
前記作成部が作成した前記領域分の画素値を、前記領域分の画素値分の記憶量を有する記憶領域に格納する格納部と、
をさらに有することを特徴とする付記１に記載の描画装置。
【０１２６】
（付記３）前記３次元座標系のいずれかの位置に配置された撮像部が眼球を撮像した画像と前記３次元座標系における前記撮像部の位置情報とに基づいて、前記３次元座標系における前記眼球による視点の位置情報を検出する検出部をさらに有し、
前記特定部は、
３次元座標系における描画対象形状を表すいずれかの頂点の位置情報と、前記反射面上の各点の位置情報とに基づいて、前記３次元座標系における前記検出部が検出した前記視点と前記頂点とを通る直線と前記反射面との交点を特定することを特徴とする付記１または２に記載の描画装置。
【０１２７】
（付記４）３次元座標系における描画対象形状を表すいずれかの頂点の位置情報と、前記３次元座標系における投影部が有する描画面上の各点から出射される光を反射する反射面上の各点の位置情報とに基づいて、前記３次元座標系における視点と前記頂点とを通る直線と前記反射面との交点を特定する特定部と、
前記頂点から前記視点に向かう方向と、前記特定部が特定した前記交点における法線の方向とに基づいて、前記描画面上のいずれかの点から出射され前記交点において反射されて前記視点に到達する光が前記交点に入射する際の方向を算出する算出部と、
前記描画面上の各点の位置情報を参照して、前記算出部が算出した前記交点に入射する際の方向に基づいて、前記交点において反射されて前記視点に到達する光が出射される前記描画面上のいずれかの点を決定する決定部と、
を有するコンピュータを含むことを特徴とする描画装置。
【０１２８】
（付記５）コンピュータが、
３次元座標系における描画対象形状を表すいずれかの頂点の位置情報と、前記３次元座標系における投影部が有する描画面上の各点から出射される光を反射する反射面上の各点の位置情報とに基づいて、前記３次元座標系における視点と前記頂点とを通る直線と前記反射面との交点を特定し、
前記頂点から前記視点に向かう方向と、特定した前記交点における法線の方向とに基づいて、前記描画面上のいずれかの点から出射され前記交点において反射されて前記視点に到達する光が前記交点に入射する際の方向を算出し、
前記描画面上の各点の位置情報を参照して、算出した前記交点に入射する際の方向に基づいて、前記交点において反射されて前記視点に到達する光が出射される前記描画面上のいずれかの点を決定する、
処理を実行することを特徴とする描画方法。
【符号の説明】
【０１２９】
１００  描画装置
１０２  コンバイナ
１１２  投影部
１１３  描画面
６０１  撮像部
６０２  検出部
６０３  特定部
６０４  算出部
６０５  決定部
６０６  変換部
６１１  コンバイナ形状テーブル
６１２  描画面位置情報
【図１】
2015022547.tif 000003
【図２】
2015022547.tif 000004
【図３】
2015022547.tif 000005
【図４】
2015022547.tif 000006
【図５】
2015022547.tif 000007
【図６】
2015022547.tif 000008
【図７】
2015022547.tif 000009
【図８】
2015022547.tif 000010
【図９】
2015022547.tif 000011
【図１０】
2015022547.tif 000012
【図１１】
2015022547.tif 000013