(57)【要約】【課題】３次元ＣＧにおいて、デフォーカス画像を効率よく生成し、リアルタイムでの表示を可能にする手段を提供する。【解決手段】３次元空間内に配置された対象物に対する透視変換を行うことにより２次元画像を生成する方法であって、さらに、以下のステップを備える：（ａ）観察者の眼球による焦点の調節限界を設定するステップ；（ｂ）調節限界を超えた位置に存在する対象物については、対象物における本来の位置の周囲に、対象物のコピーを配置するステップ；（ｃ）前記観察者の視点から見た画像を前記透視変換により生成するステップ。【選択図】図６
2008176522.tif 000002
【特許請求の範囲】
【請求項１】
３次元空間内に配置された対象物に対する透視変換を行うことにより２次元画像を生成する方法であって、さらに、以下のステップを備えた画像生成方法：
（ａ）観察者の眼球による焦点の調節限界を設定するステップ；
（ｂ）調節限界を超えた位置に存在する対象物については、前記対象物における本来の位置の周囲に、前記対象物のコピーを配置するステップ；
（ｃ）前記観察者の視点から見た画像を前記透視変換により生成するステップ。
【請求項２】
前記対象物のコピーは複数であることを特徴とする、請求項１に記載の画像生成方法。
【請求項３】
前記対象物のコピーは、前記対象物における本来の位置を中心とする円周上に配置されていることを特徴とする、請求項２に記載の画像生成方法。
【請求項４】
前記対象物のコピーは、前記対象物における本来の位置を中心とする複数の同心円上に配置されていることを特徴とする、請求項２に記載の画像生成方法。
【請求項５】
前記対象物は、少なくとも三つの頂点を備えたポリゴンによりモデリングされており、
前記ステップ（ｂ）における、前記対象物のコピーは、前記ポリゴンを単位として配置される
ことを特徴とする、請求項１〜４のいずれかに記載の画像生成方法。
【請求項６】
前記ステップ（ｂ）において、前記対象物のコピーと、前記対象物における本来の位置との距離は、基準点から前記対象物までの距離に応じて設定される
ことを特徴とする請求項１〜５のいずれか１項に記載の画像生成方法。
【請求項７】
前記基準点とは、観察者の視点であることを特徴とする請求項６に記載の画像生成方法。
【請求項８】
前記基準点とは、レンズ表面と視線との交点であることを特徴とする請求項６に記載の画像生成方法。
【請求項９】
前記対象物は、少なくとも三つの頂点を備えたポリゴンによりモデリングされており、前記基準点から前記対象物までの距離とは、前記基準点から前記ポリゴンの頂点までの距離である請求項６〜８のいずれか１項に記載の画像生成方法。
【請求項１０】
前記焦点の調節限界とは、焦点の近点又は遠点であることを特徴とする請求項１から９のいずれか１項に記載の画像生成方法。
【請求項１１】
前記遠点又は前記近点は、レンズによる矯正後のものであることを特徴とする請求項１０に記載の画像生成方法。
【請求項１２】
前記ステップ（ｂ）において、前記対象物のコピーと、前記対象物における本来の位置との距離は、以下のステップを含む処理により設定されていることを特徴とする、請求項１〜１１のいずれか１項に記載の画像生成方法。
（ｂ１）前記透視変換の対象となる３次元空間内に複数のボクセルを配置するステップ；
（ｂ２）前記ボクセル毎に前記距離を設定しておくステップ。
【請求項１３】
前記ボクセルが占める領域は、観察者の視点に近いほど細かく設定されていることを特徴とする請求項１２に記載の画像生成方法。
【請求項１４】
３次元空間内に配置された対象物に対する透視変換を行うことにより２次元画像を生成する装置であって、
この装置は、記憶部と画像生成部とを備えており、
前記記憶部は、処理に必要なデータやコンピュータソフトウエアを格納するものであり、
前記画像生成部は、以下の処理を行うことを特徴とする画像生成装置：
（ａ）観察者の眼球による焦点の調節限界を設定する処理；
（ｂ）調節限界を超えた位置に存在する対象物については、前記対象物における本来の位置の周囲に、前記対象物のコピーを配置する処理；
（ｃ）前記観察者の視点から見た画像を前記透視変換により生成する処理。
【請求項１５】
３次元空間内に配置された対象物に対する透視変換を行うことにより２次元画像を生成する方法であって、さらに、以下のステップを備えた画像生成方法を、コンピュータにより実行させることを特徴とするコンピュータプログラム：
（ａ）観察者の眼球による焦点の調節限界を設定するステップ；
（ｂ）調節限界を超えた位置に存在する対象物については、前記対象物における本来の位置の周囲に、前記対象物のコピーを配置するステップ；
（ｃ）前記観察者の視点から見た画像を前記透視変換により生成するステップ。
【請求項１６】
３次元空間内に配置された対象物を透視変換することにより得られた画像データであって、
観察者の眼球による焦点の調節限界を超えた位置に存在する対象物については、対象物における本来の位置の周囲に、対象物の複数のコピーが配置された状態で透視変換されている
ことを特徴とする画像データ。
【請求項１７】
３次元空間内に配置された対象物に対する透視変換を行うことにより２次元画像を生成する方法であって、さらに、以下のステップを備えた画像生成方法：
（ａ）観察者の眼球による焦点の調節限界を超えた位置に存在する対象物については、前記対象物における本来の位置の周囲に、前記対象物のコピーを配置するステップ；
（ｂ）前記観察者の視点から見た画像を前記透視変換により生成するステップ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、３次元コンピュータグラフィックス（３ＤＣＧ）の分野において、デフォーカス画像を生成する方法及び装置に関するものである。すなわち、本発明は、３次元空間内に配置された対象物に対する透視変換を行うことにより２次元画像を生成するに際してデフォーカス画像を生成できる方法及び装置に関するものである。
【背景技術】
【０００２】
反射・屈折の表示はコンピュータグラフィクスの研究の中で重要なテーマの一つである。従来からレイトレーシングによってこれらの処理が実現されているが、処理時間が膨大である。そのため近年は、グラフィックスハードウェアの機能である環境マッピングを使ってリアルタイムで反射・屈折を近似的に表示する手法が一般的に使われている。
【０００３】
レイトレーシングはもともと光学系設計のための手法であり、正確な屈折をシミュレートするために現在も使われている。精度が要求される光学系の設計には、近似手法は現在使われていない。
【０００４】
しかし、人間がメガネレンズを通して見える様子をシミュレートする目的であれば、近似手法でも実用上問題ないことが期待できる。リアルタイム表示になることにより、設計検証の効率が上がるだけでなく、販売店での顧客への提示といった応用も可能となる。
【０００５】
リアルタイムの反射・屈折を考慮した表示を行う技術に関して、関連研究を以下に記載する。さらに、人間の視力矯正のシミュレーションに関する関連研究についても紹介する。
【０００６】
（リアルタイムの反射・屈折表示）
反射を近似するためにBlinnによって提案された環境マッピング（非特許文献１）は、ハードウェアにより実装できるため（非特許文献２及び３）、リアルタイム表示の応用に広く用いられている。環境マッピングは映りこむ物体が無限遠にあるという前提が伴うため、特に近くにある（ローカルな）物体に関して誤差が大きいという欠点があった。
【０００７】
近年、これを改良するための手法が考案されている。Hakura らは、ローカル物体に関しては別のレイヤーとし、個別の環境マップをレイトレーシングによる前処理で用意することでこれを解決した（非特許文献４）。しかしながら、この方法では反射・屈折物体が動いてローカル物体が頻繁に変わる場合、前処理やり直しのコストが大きい。Szirmay-Kalos らは、画素ごとに奥行き値z も持つキューブマップを求め、反射・屈折方向へのレイと物体の交点を、繰り返し計算で近似することで、ローカル物体のより正確な反射・屈折をリアルタイムで実現した（非特許文献５）。この手法の目的はゲームであるため、屈折はシーンに置かれた透過物体の雰囲気を出すことが目的であった。
【０００８】
レンズを通して見たシーン全体の様子を検証するためには、より正確な手法が必要となる。そこで、本発明者らは、レンズ各頂点を通してレイとシーンの交差計算を行い、レイトレーシングと同等の正確さを実現する手法を提案している（特願２００６−１２４６５６号参照）。
【０００９】
（視力矯正のシミュレーション）
人間の眼の特性を考慮した描画手法として、被写界深度のシミュレーションは以前から行われている（非特許文献６及び７）。
【００１０】
眼球をレンズ系としてとらえ、視力の矯正まで考慮したシミュレーションモデルはMostafawy らによって提案された（非特許文献８）。Loos らは、波動光学的なアプローチ
であるwavefront tracing を活用し、累進焦点レンズ（境目のない遠近両用レンズ）による視力矯正のシミュレーションを行った（非特許文献９）。
【００１１】
これらの従来手法はいずれも分散レイトレーシングを使って処理を行っているため、表示速度は遅くリアルタイム処理は不可能である。
【非特許文献１】1) J.F. Blinn and M.E. Newell. Texture and reflection in computer generated images. Communications of the ACM, Vol. 19, No. 10, pp. 542-547, 1976.
【非特許文献２】2) P.Haeberli and M.Segal. Texture mapping as A fundamental drawing primitive. In Fourth Eurographics Workshop on Rendering, pp. 259-266, 1993.
【非特許文献３】3) D.Voorhies and J. Foran. Reflection vector shading hardware. In Proc. SIGGRAPH '94, pp. 163-166, 1994.
【非特許文献４】4) Z.S. Hakura, J.M. Snyder, and J.E. Lengyel. Parameterized environment maps. In SI3D '01: Proceedings of the 2001 symposium on Interactive 3D graphics, pp. 203-208, 2001.
【非特許文献５】5) L. Szirmay-Kalos, B. Aszodi, I. Lazanyi, and M. Premecz. Approximate Ray-Tracing on the GPU with Distance Impostors. Computer Graphics Forum (Proc. Eurographics 2005), Vol.24, No.3, pp. 685-704, 2005.
【非特許文献６】6) R.L. Cook, T.Porter, and L.Carpenter. Distributed Ray Tracing. In Proc. SIGGRAPH’84, pp. 137-146, 1984.
【非特許文献７】7) P.Haeberli and K.Akeley. The accumulation buffer: hardware support for high-quality rendering. In Proc. SIGGRAPH '90, pp. 309-318, 1990.
【非特許文献８】8) S.Mostafawy, O.Kermani, and H.Lubatschowski. Virtual Eye: Retinal Image Visualization of the Human Eye. IEEE CG&A, Vol.17, No.1, pp. 8-12, January-February 1997.
【非特許文献９】9) J.Loos, Ph. Slusallek, and H.-P. Seidel. Using wavefront tracing for the visualization and optimization of progressive lenses. Computer Graphics Forum (Proc. Eurographics 1998), Vol.17, No.3, pp. 255-263, 1998.
【非特許文献１０】10) J.Amanatides and A.Woo. A fast voxel traversal algorithm for ray tracing. In Proc. Eurographics 1987, pp. 3-10, 1987.
【発明の開示】
【発明が解決しようとする課題】
【００１２】
本発明は、前記した状況に鑑みてなされたものである。本発明は、デフォーカス画像を効率よく生成し、リアルタイムでの表示を可能にする手段を提供することを目的としている。
【課題を解決するための手段】
【００１３】
前記した課題を解決するために、本発明は、以下のいずれかの項目に記載される構成を備えている。
【００１４】
（項目１）
３次元空間内に配置された対象物に対する透視変換を行うことにより２次元画像を生成する方法であって、さらに、以下のステップを備えた画像生成方法：
（ａ）観察者の眼球による焦点の調節限界を設定するステップ；
（ｂ）調節限界を超えた位置に存在する対象物については、前記対象物における本来の位置の周囲に、前記対象物のコピーを配置するステップ；
（ｃ）前記観察者の視点から見た画像を前記透視変換により生成するステップ。
【００１５】
項目１に係る発明によれば、焦点の調節限界を超えた位置に存在する対象物については、その対象物の周囲に、対象物のコピーを配置するので、透視変換によって得られた画像においては、対象物がぼやけて見えることになる。これにより、デフォーカス画像を生成することができる。
【００１６】
（項目２）
前記対象物のコピーは複数であることを特徴とする、項目１に記載の画像生成方法。
【００１７】
（項目３）
前記対象物のコピーは、前記対象物における本来の位置を中心とする円周上に配置されていることを特徴とする、項目２に記載の画像生成方法。
【００１８】
（項目４）
前記対象物のコピーは、前記対象物における本来の位置を中心とする複数の同心円上に配置されていることを特徴とする、項目２に記載の画像生成方法。
【００１９】
（項目５）
前記対象物は、少なくとも三つの頂点を備えたポリゴンによりモデリングされており、
前記ステップ（ｂ）における、前記対象物のコピーは、前記ポリゴンを単位として配置される
ことを特徴とする、項目１〜４のいずれかに記載の画像生成方法。
【００２０】
項目５に係る発明においては、対象物のコピーを、ポリゴン毎に生成して配置することになる。対象物のモデルを構成するポリゴンを細かく設定することにより、対象物の部分に応じてぼけ量を変更することができ、より実際に近いデフォーカス画像を生成することができる。
【００２１】
（項目６）
前記ステップ（ｂ）において、前記対象物のコピーと、前記対象物における本来の位置との距離は、基準点から前記対象物までの距離に応じて設定される
ことを特徴とする項目１〜５のいずれかに記載の画像生成方法。
【００２２】
項目６に係る発明によれば、対象物の位置が調節限界から遠ざかるほど、対象物とそのコピーとの距離を離すことができる。これにより、実際に近いデフォーカス画像を生成することができる。
【００２３】
（項目７）
前記基準点とは、観察者の視点であることを特徴とする項目６に記載の画像生成方法。
【００２４】
項目７に係る発明によれば、裸眼の場合における、「観察者からの見え方」をシミュレートすることができる。
【００２５】
（項目８）
前記基準点とは、レンズ表面と視線との交点であることを特徴とする項目６に記載の画像生成方法。
【００２６】
項目８に係る発明によれば、例えば眼鏡を使用した場合のように、レンズでの屈折を伴う見え方をシミュレートすることができる。
【００２７】
（項目９）
前記対象物は、少なくとも三つの頂点を備えたポリゴンによりモデリングされており、前記基準点から前記対象物までの距離とは、前記基準点から前記ポリゴンの頂点までの距離である項目６〜８のいずれかに記載の画像生成方法。
【００２８】
（項目１０）
前記焦点の調節限界とは、焦点調節の近点又は遠点であることを特徴とする項目１から９のいずれか１項に記載の画像生成方法。
【００２９】
もちろん、焦点の近点と遠点の両者を調節限界とすることもできる。ここで、近点とは、これ以上近くでは焦点が合わなくなる点のことである。近点が調節限界である場合は、「調節限界を超える」とは、近点より近いことである。また、遠点とは、これ以上遠くでは焦点が合わなくなる点のことである。遠点が調節限界である場合は、「調節限界を超える」とは、遠点より遠いことである。近点と遠点との間においては、焦点調整が可能であることになる。
【００３０】
ここで、近点や遠点は、例えば次のようにして設定できる。
・対象者（観察者）の眼球の状態に基づいて、使用の都度に設定；
・平均的な眼球の状態に基づいて予め設定；
・眼鏡を使用した状態を仮定して設定。
【００３１】
（項目１１）
前記遠点又は前記近点は、レンズによる矯正後のものであることを特徴とする項目１０に記載の画像生成方法。
【００３２】
項目１１に係る発明によれば、レンズによる矯正後の状態を簡便にシミュレートすることができる。
【００３３】
（項目１２）
前記ステップ（ｂ）において、前記対象物のコピーと、前記対象物における本来の位置との距離は、以下のステップを含む処理により設定されていることを特徴とする、項目１〜１１のいずれか１項に記載の画像生成方法。
（ｂ１）前記透視変換の対象となる３次元空間内に複数のボクセルを配置するステップ；
（ｂ２）前記ボクセル毎に前記距離を予め設定しておくステップ。
【００３４】
項目１２に係る発明によれば、ボクセル毎に事前の計算を行っておくことにより、表示のリアルタイム性を向上させることができる。
【００３５】
（項目１３）
前記ボクセルが占める領域は、観察者の視点に近いほど細かく設定されていることを特徴とする項目１２に記載の画像生成方法。
【００３６】
項目１３に係る発明によれば、観察者の視点に近いほど、ぼけ量（デフォーカス量）を細かく変更できるので、実際の見え方をより正確にシミュレートすることができる。また、このようなボクセル設定は、３次元モデリング空間を用いた画像生成に必須の透視変換と親和性の高い処理となるので、画像生成に要する処理時間を短縮することが可能になる。
【００３７】
（項目１４）
３次元空間内に配置された対象物に対する透視変換を行うことにより２次元画像を生成する装置であって、
この装置は、記憶部と画像生成部とを備えており、
前記記憶部は、処理に必要なデータやコンピュータソフトウエアを格納するものであり、
前記画像生成部は、以下の処理を行うことを特徴とする画像生成装置：
（ａ）観察者の眼球による焦点の調節限界を設定する処理；
（ｂ）調節限界を超えた位置に存在する対象物については、前記対象物における本来の位置の周囲に、前記対象物のコピーを配置する処理；
（ｃ）前記観察者の視点から見た画像を前記透視変換により生成する処理。
【００３８】
（項目１５）
３次元空間内に配置された対象物に対する透視変換を行うことにより２次元画像を生成する方法であって、さらに、以下のステップを備えた画像生成方法を、コンピュータにより実行させることを特徴とするコンピュータプログラム：
（ａ）観察者の眼球による焦点の調節限界を設定するステップ；
（ｂ）調節限界を超えた位置に存在する対象物については、前記対象物における本来の位置の周囲に、前記対象物のコピーを配置するステップ；
（ｃ）前記観察者の視点から見た画像を前記透視変換により生成するステップ。
【００３９】
（項目１６）
３次元空間内に配置された対象物を透視変換することにより得られた画像データであって、
観察者の眼球による焦点の調節限界を超えた位置に存在する対象物については、対象物における本来の位置の周囲に、対象物の複数のコピーが配置された状態で透視変換されている
ことを特徴とする画像データ。
【００４０】
項目１６の発明によれば、焦点の調節限界を超えた位置にある対象物については、対象物本来の位置の周囲に、それをコピーした対象物が配置されている。このため、実際に近いぼけを有するデフォーカス画像を提供することができる。
【００４１】
（項目１７）
３次元空間内に配置された対象物に対する透視変換を行うことにより２次元画像を生成する方法であって、さらに、以下のステップを備えた画像生成方法：
（ａ）観察者の眼球による焦点の調節限界を超えた位置に存在する対象物については、前記対象物における本来の位置の周囲に、前記対象物のコピーを配置するステップ；
（ｂ）前記観察者の視点から見た画像を前記透視変換により生成するステップ。
【００４２】
焦点の調節限界は、使用の都度設定しても良いし、何らかの固定された値や自動的に生成される値（例えば使用者の年齢等から算出される値）を用いても良い。この場合も、項目１と同様の効果を発揮できる。
【発明の効果】
【００４３】
本発明によれば、デフォーカス画像を効率よく生成し、リアルタイムでの表示を可能にする手段を提供することができる。
【発明を実施するための最良の形態】
【００４４】
以下、本発明の一実施形態を、添付図面を参照して説明する。
【００４５】
（画像生成装置）
まず、本実施形態の実施に用いる画像生成装置を、図１に基づいて説明する。この画像生成装置は、入力部１０と、入力インタフェース１１と、表示部２０と、出力インタフェース２１と、記憶部３０と、画像生成部４０と、バス５０とを備えている。これらの構成要素は、ワークステーションやコンピュータなどのハードウエア自体、又は、ハードウエアにコンピュータプログラムを組み込むことによって構成することができる。
【００４６】
入力部１０は、入力インタフェース１１を介してバス５０に接続されている。入力部１０は、例えばキーボードやマウスやタッチパッドなどの適宜な入力機器であり、これを用いて操作者からの指令を入力できるようになっている。
【００４７】
表示部２０は、出力インタフェース２１を介してバス５０に接続されている。出力部２０は、例えばディスプレイやプリンタなどの適宜な出力機器である。出力部２０は、画像生成部４０で生成された画像（透視変換により得た２次元画像）を受け取って利用者に提示できる構成になっている。
【００４８】
記憶部３０は、データ（コンピュータプログラムを含む）の記憶や読み出しができる機器である。記憶部３０としては、磁気的記憶装置（例えばハードディスク）、半導体記憶装置（例えばメモリボード）、光学的記憶装置（例えばＤＶＤなどの光ディスクを用いた記憶装置）など、適宜の装置を用いることができる。記憶部３０は、ワークステーションやコンピュータに内蔵されているものでも、インターフェース機器を介して外部に接続されるものでもよい。さらに、記憶部３０としては、ネットワークを介して利用できる記憶装置であってもよい。記憶部３０は、物理的には複数存在する記憶装置によって構成されていてもよい。
【００４９】
本実施形態に係る記憶部３０には、ワークステーションやコンピュータを用いて画像生成部４０を構成するためのコンピュータプログラムや、本実施形態の方法の実施に用いるデータが予め格納されている。また、記憶部３０は、本実施形態の方法の実施に伴って生成されるデータを格納できるようになっている。
【００５０】
画像生成部４０は、以下の処理を行う構成となっている。
（ａ）観察者の眼球による焦点の調節限界を設定する処理；
（ｂ）調節限界を超えた位置に存在する対象物については、対象物における本来の位置の周囲に、対象物のコピーを配置する処理；
（ｃ）前記観察者の視点から見た画像を前記透視変換により生成する処理。
【００５１】
これらの処理の詳細は、本実施形態に係る画像生成方法の説明（後述）において述べる。画像生成部４０は、ワークステーションやコンピュータ上で、コンピュータプログラムを実行することにより、機能要素として構成されるものである。
【００５２】
バス５０は、前記した各部間でのデータのやりとりを可能にする伝送路である。バス５０としては、一本のバスを共用する構成に限らず、専用のバスを別途用いる構成であってもよい。また、伝送路としては、有線でなく無線でもよい。要するに伝送路としては、データのやりとりができればよく、物理的構成や使用するプロトコルは制約されない。
【００５３】
（本実施形態に係る画像生成方法）
つぎに、本実施形態に係る画像生成方法を説明する。以下においては、まず、レンズによる歪みを正確に表示するための屈折処理に用いる、頂点ベースのレイトレーシングについて説明する。なお、本実施形態の説明においては、対象となる物体はすべてポリゴンモデルとしている。
【００５４】
（アルゴリズム）
毎フレームについて行われる処理手順は、以下のとおりである。図２と対応させて説明する。なお、このアルゴリズムは、発明者らによる前記した非特許文献１１に記載されているものと同様である。
( 1 ) 反射・屈折物体表面１の頂点１ａでの反射・屈折ベクトルをすべて求める；
( 2 ) 仮想視点２と視野を求め、環境マップを描画する；
( 3 ) 反射・屈折物体の各頂点について：
( a ) 反射・屈折ベクトルの延長がシーン中の物体３と交差する点（交点）４を求める；
( b ) 上記交点４と仮想視点２を結ぶ直線５を求める；
( c ) 上記直線５と環境マップ投影面６との交点を求める；
( d ) 上記交点４の、環境マップ画像上での座標を、頂点１ａのテクスチャ座標とする；
( 4 ) 本来の視点から反射・屈折物体とシーン全体を描画する。
【００５５】
上記(2) の仮想視点２は、反射・屈折ベクトルをいくつか選び、それらの延長線に最も近くなる点として求める。本アルゴリズムでは、反射・屈折物体の各頂点について正確な位置が映りこむことが基本的に保証される。
【００５６】
例外として、頂点と仮想視点のずれに起因して遮蔽物体の食い違いが起こる場合がある。これは反射・屈折物体が大きく、かつレイの広がりが極端に大きい場合にほぼ限られ、レンズのシミュレーションでは問題にならない。
【００５７】
図２では反射の例について示しているが、レンズのような屈折物体の場合は、入射と出射の2 回の屈折を経たあとのレイを求めて同様の手順を実行する。
【００５８】
（反射と屈折の表示結果）
頂点ベースのレイトレーシングの反射の表示例を図３（ａ）及び（ｂ）に示す。比較として、従来のキューブマッピングによる反射の表示例を図３（ｃ）及び（ｄ）に示す。キューブマッピングではずれが生じるローカル物体の映りこみも、頂点ベースのレイトレーシングでは正確に処理されていることがわかる。これらの図では、車のドアミラーに映りこんだ画像を表示している。図（ｂ）及び図（ｄ）の画像では、ミラーのワイヤーフレームモデルを重ね合わせている。多数の球は、反射ベクトルとシーンとの交点に配置した。頂点ベースのレイトレーシングでは交点が正確に頂点部分に映りこんでいる。また、レンズを通した屈折の表示例を図４に示す。この図は、凹レンズを通した屈折の表示結果を示している。図（ｂ）は図（ａ）の右端付近を拡大したもので、レンズ頂点をワイヤーフレームで表示し、屈折ベクトルとシーンの交点に小さな球を配置したものである。この図においても、屈折ベクトルの交点が頂点に正確に映りこんでいることがわかる。
【００５９】
（デフォーカスの補正）
以下では、デフォーカスのモデル化と、メガネレンズによる矯正後のデフォーカスを考慮した表示処理とについて述べる。以下の手法では、幾何光学を利用した簡易モデルを用いることとし、波動光学の要素は考慮しない。
【００６０】
（実施例１：裸眼の場合）
まず、裸眼でのデフォーカスについて考えてみる。眼光学では、最も近くに焦点を合わせたとき、眼球からその点までの距離を近点、逆に最も遠くに合わせたときの距離を遠点と呼ぶ。近点が大きい人ほど老視（老眼）が強く、遠点が小さい人ほど近視が強いことになる。
【００６１】
図５は、本実施形態の手法で用いる簡易モデルである。眼球の屈折は、本来、角膜と水晶体の2ヶ所で起こるが、ここでは、これらを一つの薄いレンズとみなす（図５(a)参照）。
【００６２】
近点に合わせた状態で近点よりもさらに近くの被写体（対象物）を見た場合にデフォーカスが起こる。瞳の開口の直径をA、瞳から近点までの距離をn とし、近点よりもさらにzn だけ内側に点状の被写体があったとする（図５(b)）。この被写体を見ようとしても、開口からのレイは一点に収束せず、被写体を中心として視線に垂直な直径Dn の円盤状に拡がる。ここで
【００６３】
Dn =Azn／n          (1)
【００６４】
である。提案手法では、この直径Dn の円盤を点拡がり関数（Point Spread Function）とみなし、被写体を円盤内に多数サンプリング配置したのちに通常のCGのカメラモデルで描画することによりデフォーカスを実現する。すなわち、調節限界としての近点を超えた位置に存在する対象物については、対象物における本来の位置の周囲に、対象物のコピーを配置する。
【００６５】
各サンプル（つまり各コピー）の描画結果はアキュムレーションバッファ（非特許文献７参照）を使って重み付け（平均化）をして合成することができる。これにより、複数のコピーが対象物の近傍に半透明物体として存在する画像を作り出すことができる。これがデフォーカス画像となる。具体的には、例えば次のような処理が可能である。まず、０番のサンプルについて透視変換して画像を生成し、それをアキュムレーションバッファに入れる。つぎに、１番のサンプルについて同様に画像を生成してアキュムレーションバッファに入れる。以降同様にして、所定数のサンプルについて、２次元画像を生成する。ついで、これらの２次元画像を合成して、デフォーカス画像を生成できる。このとき、元の画像の輝度を１とすると、合成画像の輝度が１となるように、重みづけ（例えばサンプル数１０であれば各サンプル画像の輝度を１／１０とすること）を行う。
【００６６】
図５(c) に示すように、遠点よりさらに遠くの被写体を見たときにもデフォーカスが起こる。このときも、被写体を直径
【００６７】
Df =Azf／f          (2)
【００６８】
の円盤内でサンプリング配置することによりデフォーカスをシミュレートする。すなわち、調節限界としての遠点を超えた位置に存在する対象物については、対象物における本来の位置の周囲に、対象物のコピーを配置する。
【００６９】
（頂点の変位処理）
実際の被写体であるポリゴンモデルに対するデフォーカス画像の生成方法を、図６のフローチャートを参照しながら説明する。
【００７０】
（ステップＳＡ−１）
はじめに、前記したとおり、想定される対象者の眼球の特性に応じて、近点近点及び遠点を設定する。この設定は、操作者が入力部１０を用いて行うことができる。ただし、近点及び遠点の位置は、事前に設定された適宜な固定値を用いても良い。この場合は、使用時における設定作業を省略することができる。
【００７１】
（ステップＳＡ−２）
ついで、サンプリング数S を決め、すべての与えられたモデル（この実施例ではポリゴン）についてクローン（つまりコピー）を作る。各クローンにはクローン番号i（i = 0, 1, .., S-1）を付す。便宜上、もとのモデルにも、クローン番号0を付し、クローンの一種として扱う。表示処理の際には、S 個のクローンすべてを表示するが、全頂点について、視点からの距離に応じて、式(1) または式(2) の範囲内で視線と垂直方向に変位させる（ただし、元の頂点を消去するのではなく、頂点のコピーが生成されるという意味である）。頂点が近点と遠点の間にある場合は変位は0となる。変位した各頂点を結べばコピーのポリゴンが生成できることになる（後述）。ここで、各頂点の変位量は、視点から頂点までの距離により決定される。したがって、一つのポリゴンを構成する三つの頂点の変位量は、視点からの距離によりそれぞれ決定されることになる。変位した頂点を結ぶことで、コピーのポリゴンが生成される。よって、結果的には、コピーのポリゴンの変位量自体も、視点からの距離により決定されていることになる。
【００７２】
変位の方向と大きさは、あらかじめ定めたS 個の変位ベクトルdi（i = 0, 1, ..., S-1）からなる変位ベクトルセットのうち、その頂点の属するモデルのクローン番号にしたがって選択する。図７に変位ベクトルの例を示す。図では近点の内側と遠点の外側とについてそれぞれ一つずつの変位ベクトルセット（S = 17）を例示している。
【００７３】
実装時は、変位ベクトルは正規化したものを1 セットだけ保持し、頂点位置でのDn またはDf の値に応じてその場で大きさを決める。近点と遠点の間では、変位は0 なので、すべての変位ベクトルが0 であるような変位ベクトルセットとする。これは、焦点が完全に合わせられ、デフォーカスがまったくないことを意味する。
【００７４】
（ステップＳＡ−３）
ついで、前記した通り、モデルのコピーを、対象物の周囲に配置する。つまり、前記の手順で変位されたコピーの頂点を結ぶことで、コピーのポリゴンを生成できる。コピーと対象物との距離は、前記したとおり、変位ベクトルセットによって決まる。式（１）及び（２）から明らかなように、対象物のコピーと、対象物における本来の位置との距離は、基準点（前記の例では視点）から対象物までの距離に応じて設定される。つまり、近点より近い位置の対象物については、近いほどずれ量が大きくなり、遠点より遠い位置の対象物については、遠いほどずれ量が大きくなる。
【００７５】
（ステップＳＡ−４）
ついで、前記のようにして生成された３次元シーンを、ビューボリューム内で透視変換する。これにより、描画を行うことができる。透視変換自体は従来からよく知られた手法を用いることができるので、詳細な説明を省略する。得られた画像データは、「観察者の眼球による焦点の調節限界を超えた位置に存在する対象物については、対象物における本来の位置の周囲に、対象物の複数のコピーが配置された状態で透視変換されている」ものとなっている。画像データの実例は後述する。
【００７６】
（実施例２：眼鏡使用の場合）
（デフォーカス量の空間分布）
実施例１の方法では、頂点が決まれば視点からの距離が決まり、変位量を式(1) または式(2) によって計算して変位ベクトルを求めた。裸眼の視覚モデルとしてはこれでよいが、レンズを用いる場合は、各頂点について計算で変位ベクトルを求めるのは困難である。そこで、眼鏡使用の場合におけるデフォーカス画像の生成方法を、図８に示すフローチャートを参照しながら説明する。この方法では、図９に示されるように、立方体のボクセルによる空間分割を行い、各ボクセルについて変位ベクトルセットを前計算する。
【００７７】
ここでは、眼とメガネレンズの位置関係が固定という前提条件を用いる。また、ボクセル空間はシーン全体を包含するのに十分な大きさで設定する。したがって、ボクセルは、ビューボリューム内に配置されることになる。
【００７８】
詳細な説明の前に、前計算の概略を以下に説明する。まず全ボクセルの変位ベクトルを初期化したあと、近点に合わせた状態での変位ベクトルを、次に遠点に合わせた状態での
変位ベクトルを各ボクセルに記録していく。
【００７９】
一回の変位ベクトルの記録の処理は次のようになる。視点からレンズ面にある一点に対して近点用または遠点用のレイの束（光束）を発し、その束が通るボクセルにおけるレイの拡がりを変位ベクトルセットとして蓄積する。この処理を、レンズ面上の点を一定間隔で走査する形で光束の生成と処理を繰り返す。各ボクセル側から見ると光束が複数回通ることになるが、複数回蓄積した変位ベクトルセットから最後に平均の変位ベクトルセットを計算する。
【００８０】
（ステップＳＢ−１）
以下、近点用の光束を処理する方法について詳細に説明する（図１０参照）。まず、視点７からレンズ上の与えられた一点に対して光線を生成する。この光線を中心として光束を生成するため、これを基準光線８とよぶことにする。光束の中の他の光線の開始点９は視点の近傍に設ける。この開始点は瞳孔の表面に対応するもので、視点を中心とし基準光線に垂直な直径A（実施例１で述べた瞳の開口直径）の円盤内でほぼ一様に分布させる。
【００８１】
次に、基準光線上の近点６１（裸眼の場合）を求め、基準光線以外の光線もすべてそこを通るようにする。本例では、近点６１の位置は、適宜の方法で測定されて入力されるものとして扱う。結果として、光束は近点で収束する細長い円錐状の形となる。
【００８２】
さらに、基準光線を含む各光線についてレンズ６３で2回屈折を行い、屈折後の光束が最も収束する点を求め、これを矯正近点６２とする。光束が最も収束する点は、最小二乗法を用いた計算によって求めることができる。矯正遠点についても同様にして求めることができる。これにより、眼鏡使用の場合における焦点の調節限界（矯正近点及び矯正遠点）を設定することができる。
【００８３】
（ステップＳＢ−２）
矯正近点よりも視点に近い場所について、屈折後の基準光線が通るボクセルをたどり（たどる方法については非特許文献１０参照）、そのボクセルにおける屈折後の光束の拡がりを、変位ベクトルセットとして蓄積する。具体的には、ボクセルで切り取られた基準光線（屈折後）の中点を求め、その中点を通り基準光線に垂直な平面を求める。屈折後の光束の各光線がその垂直平面に交わる点に、前記中点から引いたベクトル群を変位ベクトルセットとする（図１０(c) 参照）。ここで、変位ベクトルセットそのものは、裸眼の場合と同様でよい（図７参照）。
【００８４】
以上の処理をレンズ上の各点（通常は頂点でよい）について繰り返す。すなわち、この実施例２では、レンズ表面と視線（基準光線）との交点を基準点とすれば、この基準点からの距離に応じて、変位ベクトルセットの長さ（コピーまでの離間距離）が決まっていることになる。遠点に関しても同様の処理となるので、遠点については詳細な説明を省略する。
【００８５】
最後に各ボクセルについて蓄積した変位ベクトルから平均を求め、前処理を終了する。
【００８６】
（ステップＳＢ−３）
表示処理の実行時には、すべてのクローンモデルの頂点について次のような手順を行う。まず、その頂点の属するボクセルを求める。これは一回の座標変換によって求まる。次に、そのボクセルに記録された変位ベクトルセットから、頂点のクローン番号に応じて変位ベクトルを選び、実施例１と同様の手法により、実際に頂点を変位させる。また、実施例１と同様に、実際の３次元シーンにおいて、各クローンモデルを合成する。これにより、三つの頂点で構成されるポリゴンのコピーを多数生成できることになる。
【００８７】
（ステップＳＢ−４）
ついで、実施例１のステップＳＡ−４と同様に、透視変換を行い、デフォーカス画像を生成することができる。
【００８８】
（実験結果）
実施例２の手法によりデフォーカス処理を施し、レンズによる矯正（屈折）も考慮して描画した結果を図１１に示す。
(a)：裸眼での正視の画像（近点0.2m, 遠点10m）。
(b)：裸眼での近視かつ老視の画像（近点0.5m, 遠点1.3m）。
(c)：上記(b) を近視用の凹レンズで矯正した結果。
(d)：上記(b) を老視用の凸レンズで矯正した結果。
【００８９】
いずれも、瞳口径A = 0:012m、ボクセル数110×77×42、デフォーカスのサンプル数（コピー数）S = 10、屈折率1:66（ガラス）とした。
【００９０】
本実験では、CPU としてPentium4（商標）の3.8GHz、GPU としてGeForce 7800GTX（商標）を使用し、表示性能については以下のような結果を得た。まず、図４（ａ）のように、レンズによる屈折処理だけを行いデフォーカスをしない場合は、30〜40fps（frame per second）で表示できる。これは眼とレンズの相対位置を固定にした場合（屈折ベクトルの再生成が不要）で、この前提を解除すると表示レートは6fps に落ちる。使用したレンズのポリゴン数は表面と裏面それぞれ約1,500、シーンのポリゴン数は10,000 程度である。
【００９１】
次に、デフォーカス処理については、約1,500 の光束（光線数10）を屈折させ110×77×42 のボクセルについてサンプル数10 の変位ベクトルセットを前計算するのに約3 秒かかった。デフォーカス矯正の表示性能（図１１(c)(d)）は12〜15fps であった。レンズを使わない裸眼でのデフォーカスの表示性能（図１１(a)(b)）は30fps である。
【００９２】
（モデルデータの前処理）
実施例２の手法における制限の一つは、「対象物を、ボクセル間隔程度に頂点が配置されるぐらいの細かさでポリゴン化しておく必要がある」という点である。たとえ一枚の四辺形であっても、大きなものであれば細かくメッシュ化する必要がある。そのため、データ作成の手間がかかることは確かである。表示性能への影響についていえば、いわゆるLOD（Level of detail）処理により最小限にすることができる。すなわち、各対象物についてメッシュ化の詳細度が異なるモデルをあらかじめ用意しておき、細かいメッシュ化が必要な比較的視点に近い部分では詳細度の高いモデルを表示し、視点から離れるにつれて詳細度の低いモデルを表示するような制御を行う。
【００９３】
（視線に対する考え方）
人間の視覚は、ある瞬間を考えると、広い視野のうち視線方向の限られた範囲だけに高い視力を集中し、周囲の視力は極端に低い。本実施形態のように、人間の眼球特性まで考慮した描画を行う場合でも、このような視線を考慮した処理は二つの理由で困難である。一つは、広い視野の視力分布のモデル化が困難である点である。もう一つは、結果の提示の際、実際のユーザの視線を検出してそれに即応した表示を行うことが難しい点である。
【００９４】
本実施形態では、描画すべき画像の各部分（各ボクセル）についてそれぞれ個別に最良の調節を行った場合の結果を集積して出力画像とし、広域の視力分布は無視している。このように、出力画像の各部分について入力条件が異なるのは一見奇異に思える。しかし、最終的に結果の画像を見るユーザも、その画像のごく一部にしか高い視力を発揮できないから、画像全体を同一の条件でシミュレートすることはあまり意味がない。少なくとも、メガネレンズによる矯正結果の検証の応用では、各部分で最良の調節を使って描画することが有用である。
【００９５】
（本実施形態の利点）
本実施形態の方法によれば、レイトレーシングと実用上同じ精度の反射・屈折をリアルタイム処理で実現し、従来分散レイトレーシングで多くの時間をかけていた屈折矯正によるデフォーカスのシミュレーションもインタラクティブな表示レートで実現することが可能となる。
【００９６】
この方法は、表示精度を高くすることができるので、実際のメガネレンズ設計の検証に十分活用できると考えられる。
【００９７】
以上説明したように、本実施形態の方法は、環境マッピングをベースに、反射・屈折物体の頂点ごとにレイトレーシングを行ってマップ画像を補正する手法を提案するものである。この手法を用いれば、レンズを通した像の歪みをシミュレートするのに十分な正確さでリアルタイム表示を行うことができる。また、焦点ぼけ（デフォーカス）をモデル化するために、人間の裸眼での視力特性を、レイをサンプリングした光束として表現した。それらの光束を使って空間内のデフォーカス量の分布を求め、物体の各頂点でデフォーカス処理を行うことができる。これによって、裸眼での見え方をシミュレートでき、レンズによる眼球での屈折の矯正もシミュレートできるという利点がある。
【００９８】
なお、本発明の範囲は、前記実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることはもちろんである。
【００９９】
例えば、前記した各構成要素は、機能ブロックとして存在していればよく、独立したハードウエアとして存在しなくても良い。また、実装方法としては、ハードウエアを用いてもコンピュータソフトウエアを用いても良い。さらに、本発明における一つの機能要素が複数の機能要素の集合によって実現されても良い。本発明における複数の機能要素が一つの機能要素により実現されても良い。
【０１００】
また、機能要素は、物理的に離間した位置に配置されていてもよい。この場合、機能要素どうしがネットワークにより接続されていても良い。
【図面の簡単な説明】
【０１０１】
【図１】本実施形態に係る画像生成装置の、概略的な機能ブロック図である。
【図２】頂点ベースのレイトレーシングによる画像生成方法を説明するための説明図である。
【図３】図２の方法により描画した結果を示す図であって、図（ａ）及び（ｂ）は頂点ベースのレイトレーシングによる描画結果を示し、図（ｃ）及び（ｄ）は従来のキューブマッピングによる描画結果を示している。
【図４】凹レンズを通した屈折における描画結果を示す図である。図（ｂ）は図（ａ）の右端付近を拡大したものである。
【図５】眼球によるデフォーカスの簡易モデルを示す説明図である。図(a)は、簡易眼球モデルを示す。図(b)は、限界まで近く（近点）に焦点を合わせた状態を示す。図(c)は、限界まで遠く（遠点）に焦点を合わせた状態を示す。
【図６】実施例１における描画方法の概要を説明するためのフローチャートである。
【図７】視点からの距離によって決まる頂点変位ベクトルの例を示す説明図である。
【図８】実施例２における描画方法の概要を説明するためのフローチャートである。
【図９】デフォーカス量（変位ベクトル）の空間分布（ボクセル）の例を示す説明図である。
【図１０】変位ベクトルセットのボクセルへの蓄積処理を説明する説明図である。図(a)は光束の生成を示す。図(b)は屈折後の光束を示す。図(c)は、屈折後の基準光束が通るボクセルに蓄積する変位ベクトルセットを示す。
【図１１】視力を考慮したデフォーカスの表示とその矯正の結果を示す画像の例である。図(a)は正視の画像（近点0.2m, 遠点10m）を示す。図(b)は、近視かつ老視の画像（近点0.5m, 遠点1.3m）を示す。図(c)は、図(b)を近視用の凹レンズで矯正した結果を示す。図(d)は、図(b)を老視用の凸レンズで矯正した結果を示す。
【符号の説明】
【０１０２】
１０  入力部
１１  入力インタフェース
２０  表示部
２１  出力インタフェース
３０  記憶部
４０  画像生成部
５０  バス
【図１】
2008176522.tif 000003
【図５】
2008176522.tif 000004
【図６】
2008176522.tif 000005
【図７】
2008176522.tif 000006
【図８】
2008176522.tif 000007
【図９】
2008176522.tif 000008
【図１０】
2008176522.tif 000009
【図１２】
2008176522.tif 000010
【図１３】
2008176522.tif 000011
【図１４】
2008176522.tif 000012
【図２】
2008176522.tif 000013
【図３（ａ）】
2008176522.tif 000014
【図３（ｂ）】
2008176522.tif 000015
【図３（ｃ）】
2008176522.tif 000016
【図３（ｄ）】
2008176522.tif 000017
【図４（ａ）】
2008176522.tif 000018
【図４（ｂ）】
2008176522.tif 000019
【図１１（ａ）】
2008176522.tif 000020
【図１１（ｂ）】
2008176522.tif 000021
【図１１（ｃ）】
2008176522.tif 000022
【図１１（ｄ）】
2008176522.tif 000023
【図１５】
2008176522.tif 000024
【図１６（ａ）】
2008176522.tif 000025
【図１６（ｂ）】
2008176522.tif 000026
【図１６（ｃ）】
2008176522.tif 000027
【手続補正書】
【提出日】平成19年1月30日(2007.1.30)
【手続補正１】
【補正対象書類名】図面
【補正対象項目名】図１２
【補正方法】削除
【補正の内容】
【手続補正２】
【補正対象書類名】図面
【補正対象項目名】図１３
【補正方法】削除
【補正の内容】
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】図１４
【補正方法】削除
【補正の内容】
【手続補正４】
【補正対象書類名】図面
【補正対象項目名】図１５
【補正方法】削除
【補正の内容】
【手続補正５】
【補正対象書類名】図面
【補正対象項目名】図１６（ａ）
【補正方法】削除
【補正の内容】
【手続補正６】
【補正対象書類名】図面
【補正対象項目名】図１６（ｂ）
【補正方法】削除
【補正の内容】
【手続補正７】
【補正対象書類名】図面
【補正対象項目名】図１６（ｃ）
【補正方法】削除
【補正の内容】