(57)【要約】【課題】３次元ＣＧにおいて、デフォーカス画像を効率よく生成し、リアルタイムでの表示を可能にする手段を提供する。【解決手段】ビューボリューム内に配置された対象物に対して、観察者の視点からの透視変換を行うことにより、２次元画像を生成する方法である。この方法は以下のステップを備える：（ａ）前記ビューボリューム内の空間を、観察者からの視点に近いほど細かくされた複数のボクセルに区切るステップ；（ｂ）前記ボクセルの中心から前記視点への光路を辿ることにより、前記観察者の網膜上でのボケ量を算出するステップ；（ｃ）前記網膜上でのボケ量に対応する、前記ボクセル中での頂点ずれ範囲を算出して記録するステップ；（ｄ）前記頂点ずれ範囲に応じて、当該頂点を実際にずらすステップ；（ｅ）前記視点から見た前記２次元画像を透視変換により生成するステップ。【選択図】図５
2009003812.tif 000002
【特許請求の範囲】
【請求項１】
ビューボリューム内に配置された対象物に対して、観察者の視点からの透視変換を行うことにより、２次元画像を生成する方法であって、さらに、以下のステップを備えた画像生成方法：
（ａ）前記ビューボリューム内の空間を、観察者からの視点に近いほど細かくされた複数のボクセルに区切るステップ；
（ｂ）前記ボクセルの中心から前記視点への光路を辿ることにより、前記観察者の網膜上でのボケ量を算出するステップ；
（ｃ）前記網膜上でのボケ量に対応する、前記ボクセル中での頂点ずれ範囲を算出して記録するステップ；
（ｄ）前記頂点ずれ範囲に応じて、当該頂点を実際にずらすステップ；
（ｅ）前記視点から見た前記２次元画像を透視変換により生成するステップ。
【請求項２】
さらに、
（ｆ）前記視点から前記ボクセルの中心への光路を求めるステップ
を有しており、このステップは、前記ステップ（ｂ）の前に行われ、
かつ、前記ステップ（ｂ）は、前記ステップ（ｆ）で求めた光路を逆に辿ることにより実行される、請求項１に記載の画像生成方法。
【請求項３】
前記ステップ（ｂ）において、前記ボクセルの中心から前記視点への光路を辿る手法として、波面追跡法が用いられている、請求項１又は２に記載の画像生成方法。
【請求項４】
３次元空間内に配置された対象物に対する透視変換を行うことにより２次元画像を生成する装置であって、
この装置は、記憶部と画像生成部とを備えており、
前記記憶部は、処理に必要なデータやコンピュータプログラムを格納するものであり、
前記画像生成部は、以下の処理を行うことを特徴とする画像生成装置：
（ａ）前記ビューボリューム内の空間を、観察者からの視点に近いほど細かくされた複数のボクセルに区切るステップ；
（ｂ）前記ボクセルの中心から前記視点への光路を辿ることにより、前記観察者の網膜上でのボケ量を算出するステップ；
（ｃ）前記網膜上でのボケ量に対応する、前記ボクセル中での頂点ずれ範囲を算出して記録するステップ；
（ｄ）前記頂点ずれ範囲に応じて、当該頂点を実際にずらすステップ；
（ｅ）前記視点から見た前記２次元画像を透視変換により生成するステップ。
【請求項５】
３次元空間内に配置された対象物に対する透視変換を行うことにより２次元画像を生成する方法であって、さらに、以下のステップを備えた画像生成方法を、コンピュータにより実行させることを特徴とするコンピュータプログラム：
（ａ）前記ビューボリューム内の空間を、観察者からの視点に近いほど細かくされた複数のボクセルに区切るステップ；
（ｂ）前記ボクセルの中心から前記視点への光路を辿ることにより、前記観察者の網膜上でのボケ量を算出するステップ；
（ｃ）前記網膜上でのボケ量に対応する、前記ボクセル中での頂点ずれ範囲を算出して記録するステップ；
（ｄ）前記頂点ずれ範囲に応じて、当該頂点を実際にずらすステップ；
（ｅ）前記視点から見た前記２次元画像を透視変換により生成するステップ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、３次元コンピュータグラフィックス（３ＤＣＧ）の分野において、デフォーカス画像を生成する方法及び装置に関するものである。すなわち、本発明は、３次元空間内に配置された対象物に対する透視変換を行うことにより２次元画像を生成するに際してデフォーカス画像を生成できる方法及び装置に関するものである。
【背景技術】
【０００２】
反射・屈折の表示はコンピュータグラフィクスの研究の中で重要なテーマの一つである。従来からレイトレーシングによってこれらの処理が実現されているが、処理時間が膨大である。そのため近年は、グラフィックスハードウェアの機能である環境マッピングを使ってリアルタイムで反射・屈折を近似的に表示する手法が一般的に使われている。
【０００３】
レイトレーシングはもともと光学系設計のための手法であり、正確な屈折をシミュレートするために現在も使われている。精度が要求される光学系の設計には、近似手法は現在使われていない。
【０００４】
しかし、人間がメガネレンズを通して見える様子をシミュレートする目的であれば、近似手法でも実用上問題ないことが期待できる。リアルタイム表示になることにより、設計検証の効率が上がるだけでなく、販売店での顧客への提示といった応用も可能となる。
【０００５】
リアルタイムの反射・屈折を考慮した表示を行う技術に関して、関連研究を以下に記載する。さらに、人間の視力矯正のシミュレーションに関する関連研究についても紹介する。
【０００６】
（リアルタイムの反射・屈折表示）
反射を近似するためにBlinnによって提案された環境マッピング（非特許文献１）は、ハードウェアにより実装できるため（非特許文献２及び３）、リアルタイム表示の応用に広く用いられている。環境マッピングは映りこむ物体が無限遠にあるという前提が伴うため、特に近くにある（ローカルな）物体に関して誤差が大きいという欠点があった。
【０００７】
近年、これを改良するための手法が考案されている。Hakura らは、ローカル物体に関しては別のレイヤーとし、個別の環境マップをレイトレーシングによる前処理で用意することでこれを解決した（非特許文献４）。しかしながら、この方法では反射・屈折物体が動いてローカル物体が頻繁に変わる場合、前処理やり直しのコストが大きい。Szirmay-Kalos らは、画素ごとに奥行き値zも持つキューブマップを求め、反射・屈折方向へのレイと物体の交点を、繰り返し計算で近似することで、ローカル物体のより正確な反射・屈折をリアルタイムで実現した（非特許文献５）。この手法の目的はゲームであるため、屈折はシーンに置かれた透過物体の雰囲気を出すことが目的であった。
【０００８】
レンズを通して見たシーン全体の様子を検証するためには、より正確な手法が必要となる。そこで、本発明者らは、レンズ各頂点を通してレイとシーンの交差計算を行い、レイトレーシングと同等の正確さを実現する手法を提案している（特願２００６−１２４６５６号参照）。
【０００９】
（視力矯正のシミュレーション）
人間の眼の特性を考慮した描画手法として、被写界深度のシミュレーションは以前から行われている（非特許文献６及び７）。
【００１０】
眼球をレンズ系としてとらえ、視力の矯正まで考慮したシミュレーションモデルはMostafawy らによって提案された（非特許文献８）。Loos らは、波動光学的なアプローチであるwavefront tracing を活用し、累進焦点レンズ（境目のない遠近両用レンズ）による視力矯正のシミュレーションを行った（非特許文献９）。また、Barskyは、Vision Realistic Renderingという概念を導入し、被写界深度の導入を行った（非特許文献１１）。
【００１１】
これらの従来手法はいずれも分散レイトレーシングを使って処理を行っているため、表示速度は遅くリアルタイム処理は不可能である。
【００１２】
また、本発明者らは、ボクセルごとに頂点ずれ量を格納しておき、その頂点ずれ量に基づいてボケ画像を生成する手法を提案している（非特許文献１２）。この手法によれば、ほぼリアルタイムでボケ画像を生成することができる。ただし、この手法では、
・ビューボリューム外の空間にもボクセルを想定しているために計算効率が悪い点
・空間を等間隔で区切ることでボクセルを生成しているため、実際の見え方とは若干の違いがある点
において改善の余地があった。
【非特許文献１】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.
【非特許文献１１】BARSKY B. A.: Vision-realistic rendering: simulation of the scanned foveal image from wavefront data of human subjects. In Proc. APGV '04 (2004), pp. 73-81.
【非特許文献１２】情報処理学会研究報告Vol.2006, No.91, pp.25-30 「頂点ベースのレイトレーシングを用いた屈折矯正結果の表示」
【発明の開示】
【発明が解決しようとする課題】
【００１３】
本発明は、前記した状況に鑑みてなされたものである。本発明は、デフォーカス画像を効率よく生成し、リアルタイムでの表示を可能にする手段を提供することを目的としている。
【課題を解決するための手段】
【００１４】
前記した課題を解決するために、本発明は、以下のいずれかの項目に記載される構成を備えている。
【００１５】
（項目１）
ビューボリューム内に配置された対象物に対して、観察者の視点からの透視変換を行うことにより、２次元画像を生成する方法であって、さらに、以下のステップを備えた画像生成方法：
（ａ）前記ビューボリューム内の空間を、観察者からの視点に近いほど細かくされた複数のボクセルに区切るステップ；
（ｂ）前記ボクセルの中心から前記視点への光路を辿ることにより、前記観察者の網膜上でのボケ量を算出するステップ；
（ｃ）前記網膜上でのボケ量に対応する、前記ボクセル中での頂点ずれ範囲を算出して記録するステップ；
（ｄ）前記頂点ずれ範囲に応じて、当該頂点を実際にずらすステップ；
（ｅ）前記視点から見た前記２次元画像を透視変換により生成するステップ。
【００１６】
項目１に係る発明によれば、網膜上でのボケ量に対応する、ボクセル中での頂点ずれ範囲を算出する。ここで、頂点とは、ポリゴンを構成する要素となるものである。得られた頂点ずれ範囲を用いて、頂点を、実際に、当初の位置からずらす。これにより、当初の位置とはずれた位置に、当該頂点を有するポリゴンが生成される。この状態で透視変換を行う。この作業を繰り返すことで、透視変換によって得られた画像においては、位置がずらされた対象物が重ねて表示されるために、当該対象物は、ぼやけて見えることになる。すなわち、これにより、デフォーカス画像を生成することができる。
【００１７】
また、項目１に係る発明によれば、観察者の視点に近いほど、細かくボクセルを区切っているので、ボクセルごとのぼけ量（デフォーカス量）を細かく変更できる。このため、実際の見え方をより正確にシミュレートすることができる。また、このようなボクセル設定は、３次元モデリング空間を用いた画像生成に必須の透視変換と親和性の高い処理となるので、画像生成に要する処理時間を短縮することが可能になる。
【００１８】
（項目２）
さらに、
（ｆ）前記視点から前記ボクセルの中心への光路を求めるステップ
を有しており、このステップは、前記ステップ（ｂ）の前に行われ、
かつ、前記ステップ（ｂ）は、前記ステップ（ｆ）で求めた光路を逆に辿ることにより実行される、項目１に記載の画像生成方法。
【００１９】
（項目３）
前記ステップ（ｂ）において、前記ボクセルの中心から前記視点への光路を辿る手法として、波面追跡法が用いられている、項目１又は２に記載の画像生成方法。
【００２０】
（項目４）
３次元空間内に配置された対象物に対する透視変換を行うことにより２次元画像を生成する装置であって、
この装置は、記憶部と画像生成部とを備えており、
前記記憶部は、処理に必要なデータやコンピュータソフトウエアを格納するものであり、
前記画像生成部は、以下の処理を行うことを特徴とする画像生成装置：
（ａ）前記ビューボリューム内の空間を、観察者からの視点に近いほど細かくされた複数のボクセルに区切るステップ；
（ｂ）前記ボクセルの中心から前記視点への光路を辿ることにより、前記観察者の網膜上でのボケ量を算出するステップ；
（ｃ）前記網膜上でのボケ量に対応する、前記ボクセル中での頂点ずれ範囲を算出して記録するステップ；
（ｄ）頂点ずれ範囲に応じて、当該頂点を実際にずらすステップ；
（ｅ）前記視点から見た前記２次元画像を透視変換により生成するステップ。
【００２１】
（項目５）
３次元空間内に配置された対象物に対する透視変換を行うことにより２次元画像を生成する方法であって、さらに、以下のステップを備えた画像生成方法を、コンピュータにより実行させることを特徴とするコンピュータプログラム：
（ａ）前記ビューボリューム内の空間を、観察者からの視点に近いほど細かくされた複数のボクセルに区切るステップ；
（ｂ）前記ボクセルの中心から前記視点への光路を辿ることにより、前記観察者の網膜上でのボケ量を算出するステップ；
（ｃ）前記網膜上でのボケ量に対応する、前記ボクセル中での頂点ずれ範囲を算出して記録するステップ；
（ｄ）頂点ずれ範囲に応じて、当該頂点を実際にずらすステップ；
（ｅ）前記視点から見た前記２次元画像を透視変換により生成するステップ。
【発明の効果】
【００２２】
本発明によれば、デフォーカス画像を効率よく生成し、リアルタイムでの表示を可能にする手段を提供することができる。
【発明を実施するための最良の形態】
【００２３】
以下、本発明の一実施形態を、添付図面を参照して説明する。
【００２４】
（画像生成装置）
まず、本実施形態の実施に用いる画像生成装置を、図１に基づいて説明する。この画像生成装置は、入力部１０と、入力インタフェース１１と、表示部２０と、出力インタフェース２１と、記憶部３０と、画像生成部４０と、バス５０とを備えている。これらの構成要素は、ワークステーションやコンピュータなどのハードウエア自体、又は、ハードウエアにコンピュータプログラムを組み込むことによって構成することができる。
【００２５】
入力部１０は、入力インタフェース１１を介してバス５０に接続されている。入力部１０は、例えばキーボードやマウスやタッチパッドなどの適宜な入力機器であり、これを用いて操作者からの指令を入力できるようになっている。
【００２６】
表示部２０は、出力インタフェース２１を介してバス５０に接続されている。出力部２０は、例えばディスプレイやプリンタなどの適宜な出力機器である。出力部２０は、画像生成部４０で生成された画像（透視変換により得た２次元画像）を受け取って利用者に提示できる構成になっている。
【００２７】
記憶部３０は、データ（コンピュータプログラムを含む）の記憶や読み出しができる機器である。記憶部３０としては、磁気的記憶装置（例えばハードディスク）、半導体記憶装置（例えばメモリボード）、光学的記憶装置（例えばＤＶＤなどの光ディスクを用いた記憶装置）など、適宜の装置を用いることができる。記憶部３０は、ワークステーションやコンピュータに内蔵されているものでも、インターフェース機器を介して外部に接続されるものでもよい。さらに、記憶部３０としては、ネットワークを介して利用できる記憶装置であってもよい。記憶部３０は、物理的には複数存在する記憶装置によって構成されていてもよい。
【００２８】
本実施形態に係る記憶部３０には、ワークステーションやコンピュータを用いて画像生成部４０を構成するためのコンピュータプログラムや、本実施形態の方法の実施に用いるデータが予め格納されている。また、記憶部３０は、本実施形態の方法の実施に伴って生成されるデータを格納できるようになっている。
【００２９】
画像生成部４０は、以下の処理を行う構成となっている。
（ａ）前記ビューボリューム内の空間を、観察者からの視点に近いほど細かくされた複数のボクセルに区切るステップ；
（ｂ）前記ボクセルの中心から前記視点への光路を辿ることにより、前記観察者の網膜上でのボケ量を算出するステップ；
（ｃ）前記網膜上でのボケ量に対応する、前記ボクセル中での頂点ずれ範囲を算出して記録するステップ；
（ｄ）頂点ずれ範囲に応じて、当該頂点を実際にずらすステップ；
（ｅ）前記視点から見た前記２次元画像を透視変換により生成するステップ。
【００３０】
これらの処理の詳細は、本実施形態に係る画像生成方法の説明（後述）において述べる。画像生成部４０は、ワークステーションやコンピュータ上で、コンピュータプログラムを実行することにより、機能要素として構成されるものである。
【００３１】
バス５０は、前記した各部間でのデータのやりとりを可能にする伝送路である。バス５０としては、一本のバスを共用する構成に限らず、専用のバスを別途用いる構成であってもよい。また、伝送路としては、有線でなく無線でもよい。要するに伝送路としては、データのやりとりができればよく、物理的構成や使用するプロトコルは制約されない。
【００３２】
（本実施形態に係る画像生成方法）
つぎに、本実施形態に係る画像生成方法を説明する。以下においては、まず、レンズによる歪みを正確に表示するための屈折処理に用いる、頂点ベースのレイトレーシングについて説明する。なお、本実施形態の説明においては、対象となる物体はすべてポリゴンモデルとしている。
【００３３】
（アルゴリズム）
毎フレームについて行われる処理手順は、以下のとおりである。図２と対応させて説明する。なお、このアルゴリズムは、発明者らによる前記した非特許文献１２に記載されているものと同様である。
( 1 ) 反射・屈折物体表面１の頂点１ａでの反射・屈折ベクトルをすべて求める；
( 2 ) 仮想視点２と視野を求め、環境マップを描画する；
( 3 ) 反射・屈折物体の各頂点について：
( a ) 反射・屈折ベクトルの延長がシーン中の物体３と交差する点（交点）４を求める；
( b ) 上記交点４と仮想視点２を結ぶ直線５を求める；
( c ) 上記直線５と環境マップ投影面６との交点を求める；
( d ) 上記交点４の、環境マップ画像上での座標を、頂点１ａのテクスチャ座標とする；
( 4 ) 本来の視点から反射・屈折物体とシーン全体を描画する。
【００３４】
上記(2) の仮想視点２は、反射・屈折ベクトルをいくつか選び、それらの延長線に最も近くなる点として求める。本アルゴリズムでは、反射・屈折物体の各頂点について正確な位置が映りこむことが基本的に保証される。
【００３５】
例外として、頂点と仮想視点のずれに起因して遮蔽物体の食い違いが起こる場合がある。これは反射・屈折物体が大きく、かつレイの広がりが極端に大きい場合にほぼ限られ、レンズのシミュレーションでは問題にならない。
【００３６】
図２では反射の例について示しているが、レンズのような屈折物体の場合は、入射と出射の2 回の屈折を経たあとのレイを求めて同様の手順を実行する。
【００３７】
（反射と屈折の表示結果）
頂点ベースのレイトレーシングの反射の表示例を図３（ａ）及び（ｂ）に示す。比較として、従来のキューブマッピングによる反射の表示例を図３（ｃ）及び（ｄ）に示す。キューブマッピングではずれが生じる、視点に近い物体の映りこみも、頂点ベースのレイトレーシングでは正確に処理されていることがわかる。これらの図では、車のドアミラーに映りこんだ画像を表示している。図３（ｂ）及び図３（ｄ）の画像では、ミラーのワイヤーフレームモデルを重ね合わせている。多数の球は、反射ベクトルとシーンとの交点に配置した。頂点ベースのレイトレーシングでは交点が正確に頂点部分に映りこんでいる。また、レンズを通した屈折の表示例を図４に示す。この図は、凹レンズを通した屈折の表示結果を示している。図４（ｂ）は図４（ａ）の右端付近を拡大したもので、レンズ頂点をワイヤーフレームで表示し、屈折ベクトルとシーンの交点に小さな球を配置したものである。この図においても、屈折ベクトルの交点が頂点に正確に映りこんでいることがわかる。
【００３８】
（本実施形態の方法）
以下、本実施形態に係るボケ画像の生成方法を、図５を主に参照しながら説明する。この方法は、大きく、前処理と、レンダリングとに分けられる。前処理では、ボクセルごとに、頂点のずれ範囲を算出し、これを当該ボクセルと関連づけて記憶部３０に記録しておく。レンダリング時には、頂点ずれ範囲に応じて、各ポリゴンの各頂点を変位させて、描画処理を行う。以下、詳しく説明する。
【００３９】
（図５のステップＳＡ−１）
まず、ボクセルの区切りを、図６（ａ）を参照しながら説明する。この例では、視点１からのビューボリューム２が設定されている。ビューボリュームとは、モデル化された３Ｄ空間のうちで、透視変換が行われる領域である。ここで、本実施形態では、視点１とビューボリューム２との間に、レンズ３が配置されている。
【００４０】
本実施形態においては、ボクセルを、ビューボリューム２内の空間を分割することにより生成する。つまり、ボクセルの集合が、本実施形態でのビューボリュームを構成していることになる。ここで、本実施形態では、ビューボリューム２内の空間を、観察者の視点１に近いほど細かく区切る（図６（ａ）参照）。すなわち、奥行き方向、上下方向及び左右方向（つまりＸＹＺ方向）のいずれにおいても、視点に近いほど細かい（小さい）ボクセルとなるように区切る。このような区切りは、正規化デバイス座標系（ＮＤＣ）を等間隔に区切ることで実現することができる。このため、必要な計算量を少なく抑えることができるという利点がある（後述）。
【００４１】
（図５のステップＳＡ−２）
ついで、視点１からボクセル４の中心への光路を求める。この方法の詳細な手順を図７に基づいて説明する。
【００４２】
（図７のステップＳＢ−１）
まず、図８に示されるように、ボクセル４の中心にモデルを配置する。具体的には、ある奥行きのボクセル群を、まず対象とする。このボクセル群のそれぞれの中心（奥行き方向における中心）に、矩形モデル５をそれぞれ配置する。これらの矩形モデルは、ボクセルによって異なる色とされている。
【００４３】
（図７のステップＳＢ−２）
ついで、この状態で、レンズ３での屈折も考慮して、各矩形モデル５を描画（透視変換）する。描画の結果の一例を図９に示す。この描画結果においては、各ボクセルに対応して異なる色が付されているので、色を基準にして、ボクセルを特定することができる。
【００４４】
（図７のステップＳＢ−３）
その後、描画結果の画像（図９参照）から、投影面上での各矩形モデルの中心位置（ＸＹ平面内における中心）を求める。
【００４５】
（図７のステップＳＢ−４）
さらに、視点から、投影面上で矩形中央となる位置に向かう光線（Ray）を求める。つまり、この光線は、視点からボクセル中心への向かうことになる。
【００４６】
本実施形態では、このように求めた光路を逆に辿ることで、網膜上でのボケ量を算出する（後述）。
【００４７】
（図５のステップＳＡ−３）
ついで、網膜上でのボケ量を算出する。この算出の概略は、前記のようにして得られた、視点からボクセル中心への光路を、今度はボクセルから、視点（瞳）を介して、網膜まで辿るというものである。本実施形態では、ボクセル中心から、視点を経由して網膜への光路を辿る手法として、波面追跡法が用いられている。
【００４８】
（図５のステップＳＡ−４）
ついで、網膜上でのボケ量に対応する、ボクセル中での頂点ずれ範囲を算出して記録する。
【００４９】
（図５のステップＳＡ−５及びＳＡ−６）
ついで、視点から見た２次元画像を透視変換により生成する。この２次元画像の生成は、基本的に、非特許文献１２に記載された頂点ベースのレイトレーシング法により行なうことができる。
【００５０】
本実施形態の手法によれば、得られた頂点ずれ範囲に応じて、後述の「ＧＰＵによるレンダリングの実装」で説明するような方法で各頂点をずらしながら複数回の透視変換を行う。このため、透視変換によって得られた画像においては、頂点ずれ範囲内で位置がずらされた複数のポリゴンで構成される対象物がぼやけて見えることになる。これにより、デフォーカス画像を生成することができる。
【００５１】
また、この手法によれば、観察者の視点に近いほど、細かくボクセルを区切っているので、ボクセルごとのぼけ量（デフォーカス量）を細かく変更できる。このため、実際の見え方をより正確にシミュレートすることができる。また、このようなボクセル設定は、３次元モデリング空間を用いた画像生成に必須の透視変換と親和性の高い処理となるので、画像生成に要する処理時間を短縮することが可能になる。
【００５２】
（本実施形態の具体例）
以下、本実施形態の手法を用いてボケ画像を生成する具体例を説明する。まず、本実施例のステップＳＡ−３において採用した波面追跡法の詳細を説明し、その後、それを用いたボケ画像の生成方法を説明する。
【００５３】
（波面追跡法）
波面追跡法自体は、光線追跡の一手法として従来から存在する。ある地点での波面は、波の動きの方向により表される。たとえば法線ベクトルＮ、二つの主方向ｅ１及びｅ２、並びに対応する主曲率κ１及びκ２が、波の動きの方向を示す。二つの主方向ｅ１及びｅ２は互いに直交している。曲率は、曲率の中心が波の動きと反対側にあるとき、負となる。
【００５４】
距離ｄで拡散ないし進行すると、波面は単純に以下のように変形する。
2009003812.tif 000003
ここで、ベクトルＮ、ｅ１及びｅ２は変化しない。
【００５５】
この変形はスネルの法則によって導かれるが、このことはよく知られているので、結果のみをここに示した。方向ベクトルＮは、
Ｎ'＝μＮ＋γＮ（ｓ）のように変形される。ここで、Ｎ（ｓ）は、屈折性表面の単位法線ベクトル（unit normal vector）であり、μ＝ｎ１／ｎ２、γ＝−μcosφ＋cosφ'である。ｎ１及びｎ２は、それぞれ、表面前後の媒質の屈折率である。φ及びφ'は、それぞれ、入射角及び屈折角を示す。
【００５６】
単位ベクトル
2009003812.tif 000004
を考える。これは、入射する波面と表面の両方に共通の接ベクトルである。ベクトルｕに対応する曲率は、以下のようにして得られる。
【００５７】
もう一つの単位ベクトルｖ＝Ｎ×ｕを考える。さらに、ベクトルｕと主方向ベクトルｅ１をとの角度ωを考える。すなわち、
2009003812.tif 000005
このとき、オイラーの公式により、
2009003812.tif 000006
であり、これは、入力する波について、u,v方向の曲率（directional curvature）κｕ、κｖ及びトーションκｕｖを決定する。屈折により、波面のu,v方向の曲率は、以下のように変化する：
2009003812.tif 000007
【００５８】
ここで、κｕ（ｓ）、κｖ（ｓ）及びκｕｖは、それぞれ、入射点における屈折性表面の、u,v方向性の曲率及びトーションである。これらは、式３を使うことにより、波面と同様に計算できる。屈折後の波面を表すために、式３を変形することにより、主曲率と主方向を見いだす必要がある。
2009003812.tif 000008
【００５９】
表１は、提案手法における波面追跡の操作の用法を示している。すなわち、この表は、各ボクセルのためのボケ領域（blur field）の計算において、どの操作がどの段階で使用されるかを表している。
【００６０】
【表１】
2009003812.tif 000009
【００６１】
表１は、各ボクセルのための前計算の処理を示している。これらの操作は、各ボクセルの波源から視点への、二重に屈折された光線（double refracted ray）について行われる。
【００６２】
（眼のモデル）
乱視を含む屈折異常による見え方をシミュレートするために、従来は、波面追跡法と分散レイトレーシングを使う技術が知られている（非特許文献９参照）。本実施形態では、眼内の領域において、新たな波面追跡法を使用する。このモデルでは、眼のレンズにおける波面を変形して、円錐に似たコーノイド形状（revolved conoid shape）を形成し、そして、この形状を網膜の位置で切り取り、正確なボケ量、すなわち点広がり形状を獲得する。このボケ量はブラーフィールド（blur field）の値として、記憶部３０に格納される。
【００６３】
この実施形態では、レンズ機構としての眼を、薄い、トーリックレンズと見なした。このレンズは、方向に依存し、かつ、レンズ表面にわたって均一な屈折力を持つものとした。眼科学の見地からは、この眼球モデルは、近視、遠視、老視に加えて、直乱視や斜乱視を扱えることになる。
【００６４】
（薄いトーリックレンズによる波面変形）
一般に、眼における波面の変形は複雑な法則に基づいている。そこで、この実施形態では、眼を、薄いトーリックレンズに近似したことに加えて、さらに、入射する光線の方向が、レンズに直交すると仮定した。この仮定は、以下の理由で合理的である。すなわち、眼球は、興味のある領域に向けて回転し、光線が、網膜の中心窩において収束する。
【００６５】
以降においては、入射された波面の単純な変形を導入することにより、波面が屈折して網膜に収束する状態を記述する。
【００６６】
眼鏡用レンズで屈折され、角膜の表面に向けて並進した後の状態を、主曲率κ１及びκ２、並びに、主方向ｅ１及びｅ２をそれぞれ備えた波面として記述する。図１０に記述されるように、ここでは、眼のレンズの座標系を、右手座標系とし、さらに、その原点を入射部分とした。さらに、ｚ軸を、波面法線ベクトルと一致させた。ｘ軸は、波面及びレンズの両方に接して、かつ水平になるようにした。簡単のため、ｘ軸の正方向は、ｙ軸が上を向くように決める。
【００６７】
入射した波面におけるあらゆる接線ベクトルは、レンズについても接線ベクトルとなるので、ｘ軸を共通の接線に選ぶことができ、ここでは接ベクトルｕで示される。これにより、トーリックレンズによる変形を受けた波面を記述できる。
【００６８】
ω１を、ｘ軸と、第１の主方向ｅ１との間の角度とする。そして、式３にω＝−ω１を代入して、方向性の曲率κｘ、κｙ及びκｋｙを得ることができる。
【００６９】
眼のレンズの表面における波面の変形のために、ここで、スネルの法則に代えて、バージェンスの法則（vergence formula）を導入する。ここで、トーリックレンズにおける方向依存性の屈折力を、乱視における入力パラメータのセットとして導入する。
【００７０】
まず、基本的な屈折力Ｐ１及びＰ２、並びに、ｘ軸と第１の主方向ω１（ｅ）との間の角度を与えると、方向依存性の屈折力Ｐｘ（ｘ−ｚ平面内において）、Ｐｙ（ｙ−ｚ平面内において）、及びＰｘｙを、式３の適用によって得る。ここで、κ１＝Ｐ１、κ２＝Ｐ２、ω＝−ω１（ｅ）を代入する。
【００７１】
光学においては、基本的なバージェンスの法則は、
2009003812.tif 000010
で表される。ここでＶは入力光のバージェンスであり、定義によって、Ｖ＝ｎκと表せる。ここで、入力側における媒質の屈折率ｎと、入力点の曲率κが用いられている。また、Ｐはレンズの屈折力、Ｖ'は、出力光のバージェンスである。この実施形態では、この式を、方向性の曲率及び誘導される法則に拡張し、乱視による波面の変形を導く。ここで、
2009003812.tif 000011
である。ここで、μ＝ｎ１／ｎ２であり、ｎ１は空気の屈折率、ｎ２は硝子体（Vitreous humor）の屈折率である。
【００７２】
このようにして最終的に、波面は、５式に従って網膜に収束する。ここで、κｕ＝κ'ｘ、κｖ＝κ'ｙ、そして、κｕｖ＝κ'ｘｙであり、主曲率κ'１及びκ'２と、第１の主方向ω'１＝−ωの角度を得る。
【００７３】
（網膜における光の広がりの評価）
前記したような光は、トーリックレンズで屈折されると、一般的には、一点に収束しない。あるサイズの、円形の瞳を通ってきた光は、円錐に似た形状となる。この形状は、スタームのコーノイド（Sturm's conoid）として知られている。ここでは、二つの焦線（focal line）が互いに直交している（図１１参照）。そこで、以下、（１）スタームのコーノイドを分析し、（２）人の眼による調節を検討する。これにより、瞳と、コーノイドを形成する一定の点光源からの光とが与えられたときに、網膜に投影される光の広がりの形状を求める。ついで、眼の調節についても検討する。
【００７４】
スタームのコーノイドを簡単に検討するために、当面はｚ方向における回転を無視する。すなわち、ここで、ω'１＝０とする。一点に投影された光の広がりをシミュレートするために、ｚ軸に直交する平面での、コーノイドの断面に着目する。ｚを、角膜と網膜との間における定数パラメータｚｅとする。これにより、以下に示す楕円の式を得る。
2009003812.tif 000012
また、ｒｐは瞳の半径である。上記のａとｂは、ｚ軸に沿う直角三角形の相似を使うことで得られる（例えば、図１１における△ＡＯＣと△ＢＰＣ）。パラメータκ'１とκ'２とは、人の眼による調整をどこ程度組み込むかによって決定される（後述）。
【００７５】
網膜においては、ｚｅ＝ｚｒであり、ａ、ｂ及びω'１で記述される楕円形状は、光源の点広がりを表す。ボクセルにおける波源からの光波が追跡され、そして、網膜での楕円を得ることができる。この形状をボケのパターン（すなわち「網膜上でのボケ量」）とする。このパターンは、各ボクセルからの光源が、それぞれ、生み出すものである。このボケのパターンを、それぞれのボクセルに関連付けて記録する。ただし、ａ、ｂ及びω'１を記録する代わりに、これと等価な２×２の行列をボクセル値として記録する。この行列は、単位円を、方向付けされた楕円に変換するものである。このようにして前計算された、それぞれのボクセルについての行列が、ブラーフィールドの要素となる。
【００７６】
この行列のスケーリングファクタを決めるために、網膜と、正規化デバイス座標系（ＮＤＣ）との、幾何学的な関係を考察する必要がある。ＮＤＣにおけるスケールは、本実施形態でのボクセル空間と等価なものとなっている。
【００７７】
ｓｈとｓｖを、水平及び垂直方向のそれぞれにおける、網膜からＮＤＣへのスケーリングファクタとする。また、ボクセル（ｖｘ，ｖｙ，ｖｚ）における最終的なブラーフィールドの値Ｂｖｘ，ｖｙ，ｖｚ（すなわち「頂点ずれの範囲」）は以下のようになる。
2009003812.tif 000013
【００７８】
図１２は、ｓｈがどのように計算されるかを表している。網膜における小さい水平方向の長さｈｒは正規化デバイス座標系（ＮＤＣ）における長さｈＮＤＣに割り当てられる。スケーリングファクタｓｈは、ｈＮＤＣ／ｈｒにより計算される。垂直なスケーリングファクタｓｖは同様に計算できる。
【００７９】
ここで、式９における右辺の変数は、いずれも、それぞれのボクセルに応じて変化しうることに注意する。２×２行列の乗算の結果は、それぞれのボクセルに対応して格納される。
【００８０】
（眼による調節）
よく知られているように、人の眼は、ボケのパターン網膜状での最小錯乱円となるように屈折力を調節しようとする。ｚｒを眼球モデルにおける薄いレンズと網膜との距離とする。この条件は、式８においてａ＝−ｂとすることで満足される。したがって、下記式を得る。
2009003812.tif 000014
【００８１】
上記の法則を、式３，７，４および５を用いて拡張し、そして、ｎ１＝１．０という事実を用いると、下記式を得る。
2009003812.tif 000015
ここで、
2009003812.tif 000016
である。光学的には、κバーは、眼に入射する波面の平均の曲率であり、そして、Ｐバーは、眼の平均的な屈折力である。
【００８２】
Ｐminバーを、標準的な、非乱視の眼における最小の（緩んだ）調節での屈折力とし、ΔＰを、最大の調節能力Δmaxによって限界付けられた、調節屈折力とする。すなわち、
2009003812.tif 000017
とする。これにより
2009003812.tif 000018
となる。
【００８３】
式１１及び１２から、下記式を得る。
2009003812.tif 000019
【００８４】
上記の調節の式の意味は以下のようである。入射光の平均曲率κバーは、通常負である。これが小さくなると（つまり−κバーが大きくなると）、光波が眼に近い位置からくることになり、調節に要する努力ΔＰが大きくなる。逆も同様である。Δmaxの標準的な値は表２に示される。この値は年をとるにつれて低下する。
【００８５】
【表２】
2009003812.tif 000020
【００８６】
Ａを、使用者が定義する乱視成分とする。つまり、Ａ＝Ｐ１,min−Ｐ２,minである。ここでＰ１,min及びＰ２,minは、最小の調節における、眼の基本的な屈折力であり、これは、以下のようになる。
2009003812.tif 000021
【００８７】
したがって、
2009003812.tif 000022
である。そして、定義により、調節を考慮に入れた、眼の基本的な屈折力を得ることができる。
2009003812.tif 000023
【００８８】
波面追跡モジュールは、上記の二つの値を、ユーザが定義したパラメータω１（ｅ）とともに受け取り、前記した追跡を可能にしている。つまり、本実施形態では、眼のレンズのパラメータを、眼の調節機能まで考慮して設定することが可能である。
【００８９】
前記した表２は、標準的な眼のパラメータである。表３は、見え方をシミュレーションするために制御が必要なパラメータの例を示している。
【００９０】
【表３】
2009003812.tif 000024
【００９１】
以上により、波面追跡法を用いて、網膜上でのボケ量を、傾きを持つ楕円状の範囲として算出できる。各ボクセルに対応する頂点ずれ範囲は、ブラーフィールドの値（式（９）の２×２行列）として格納される。頂点を実際にずらせる動作は、以下で述べるレンダリングにおいて行う。
【００９２】
（ＧＰＵによるレンダリングの実装）
レンダリングの主要なループにおいては、ユーザが指定したサンプリングの回数に応じて、シーンは繰り返して描画される。そして、描画結果が混合されて、ボケ画像が生成される。
【００９３】
それぞれのサンプリングにおいては、一個の変位種ベクトル（以下、種ベクトル。図１３（a））が生成され、これが、頂点シェーダに供給される。種ベクトルは、２Ｄのベクトルで、単位円の中心を起点とし、当該単位円の内部においてランダムに生成された点を終点とするベクトルとなっている。
【００９４】
頂点シェーダでは、種ベクトルが、頂点位置に応じた実際の２Ｄ変位ベクトルに変換される（図１３（ｂ））。この変換には、前記で求めたブラーフィールドのボクセル値となる２×２行列Ｂｖｘ，ｖｙ，ｖｚ（式９、図１３（ｃ））が使用される。このボクセル値は、頂点のＮＤＣ座標により参照される。ここで、視点座標系（カメラ座標系）とＮＤＣ座標系との関係を図１４に示す。このようなボクセルの区切り方は、GPUで頂点処理をする際の中間結果であるＮＤＣ座標系を等間隔に区切ることで実現できる。こうすることによって、眼の近くを密にできるという品質上の利点だけでなく、表示処理時の各物体頂点座標の中間データを変位に利用することができるという、処理性能上の大きな利点がある。この座標系（NDC）での頂点は、一般に表示処理では必ず計算されるものなので、NDC座標を元に所属ボクセルが簡単に分かる。そして、そのボクセルでの変位量もNDC座標系の値であらかじめ保持しておけば、中間座標に加算するだけで変位処理が終了する。つまり、余計な座標変換が不要になるという利点がある。
【００９５】
現実的には、頂点シェーダで必ず計算されるのはＮＤＣ座標の一歩手前の同次座標（x, y, z, w）である。本実施例では、この同次座標のwでx, y, zのそれぞれを除算することによりＮＤＣ座標を得て、２Ｄ変位ベクトルを足した後再び同次座標に戻すという処理で頂点を変位させる。
【００９６】
ブラーフィールドの値Ｂｖｘ，ｖｙ，ｖｚは、３Ｄテクスチャまたは部分的な２Ｄテクスチャを並べた２Ｄテクスチャとして頂点シェーダに与えられる。ブラーフィールドの典型的なサイズは、ｘ及びｙ方向において３２×３２ボクセル、ｚ（深さ）方向において１２８ボクセルである。それぞれのフィールド値は２×２の行列であり、４要素のテクセル（texel;テクスチャ画素）として表現できる。
【００９７】
変位のための頂点シェーダ用コードの例を以下に示す。これは、OpenGLシェーダ言語を使ったものである。この動作により、ポリゴンの頂点を実際にずらして描画することができる。頂点のずれ量を変えながら、複数回の描画を行い、得られた画像を重ね合わせることで、ボケ画像を生成することができる。
【００９８】
2009003812.tif 000025
【００９９】
図１５は、本実施例における処理の全体を示す説明図である。ここに示されているように、透視変換は、第１回目のパスと第２回目のパスについてそれぞれ描画し、それらを組み合わせた２次元画像を使用者に呈示する。このような、パスごとの描画という処理自体はよく知られた手法なので、詳細な説明は省略する。
【０１００】
（結果及び性能）
性能は、シーンに含まれる全てのポリゴンの数により影響される。特に、屈折レンズにおけるメッシュの複雑さは影響力を持つ。なぜなら、光線は、頂点ごとに追跡されるからである。ここでは、１０００個の頂点を持つように区切られたポリゴンのモデルを使う。これは、実質的には、光線追跡法（ray tracing）と同じ程度に正確な画像を生成できるものである。以下の実験は、以下の条件で行われた。
３．２GHz Pentium4 CPU
NVIDIA GPU GeForce 7800GTX Graphics使用
1024×768ピクセルの出力画像サイズ
【０１０１】
レンズを通過しながら２回屈折した状態のレンダリングでは、およそ１００００ポリゴンのシーンについて、３０〜４０ｆｐｓ（frame per second）を達成した。色収差を考慮した場合、スループットは１５ｆｐｓに低下した（図１６参照）。図１６は、色収差を考慮した描画の例である。ここでは、ＲＧＢの三色についてそれぞれ別に描画している。また、各色について、異なる屈折率を設定している。例えば、(R:1.60, G:1.61, B:1.62)である。このようにして得た画像を重ねた画像を、二次元画像として使用者に呈示する。これにより、色収差の状況を知ることができる。
【０１０２】
焦点ボケの表示処理は、各頂点を移動範囲内でサンプリングした複数回の描画結果を合成することで行う。その性能は、サンプリングの数に影響される。ここでは、１０サンプリングのボケ画像を使用する。これは、経験上、レンズ設計の検証には十分であると考えられる。レンズによる屈折がない場合、図１７の左側に示すボケ画像のフレームレートは、およそ３０ｆｐｓである。眼鏡レンズによる屈折の影響を考慮に入れたレンダリングの場合は７ｆｐｓから２０ｆｐｓ以上となった。ただし、これは、シーンの複雑さ、ウインドウサイズ、サンプリングの数によって影響される。図１７の中央及び右側の画像は、それそれ、２０．１ｆｐｓであった。このときの条件は、１０サンプリングで、１０２４×７６８ウインドウであった。図１７の画像においては、瞳の直径は２ｃｍに設定されており、焦点ボケの結果を強調している。ブラーフィールドの値は、瞳のサイズｒｐに比例している。このことは、式８及び９から明らかである。
【０１０３】
図１８は、設計中の累進焦点レンズ（progressive lens）の検証結果を示している。レンズの上半分は近視を矯正するように設計され、下半分は、レンズ中央で老視を矯正するように設計されている。下半分の左右はうまく矯正できていないが、これは、累進焦点レンズの設計が難しいことを示している。
【０１０４】
乱視の例が図１９に示されている。ここでは、ブラーフィールドの一部におけるボクセル情報が、楕円群として示されている。図１９は、裸眼の乱視についての、シミュレーションによる描画結果である。対象物である新聞は、かなり近くに配置されている（左下の隅で６．１ｃｍ、右上の隅で１０．７ｃｍ）。この距離では人間の眼による調整が難しく、焦点ボケが起こる。乱視の設定なので、焦点ボケ範囲すなわちブラーフィールドは楕円状になる。ブラーフィールドの一部（新聞とほぼ同じ深さにあるボクセル群）が、各ボクセルについて、楕円で表示されている。ここで、それぞれのブラーフィールドの楕円自体も、ちょうど自らの大きさの範囲内でボケて表示されていることに注目されたい。また、楕円形状は、視点からの距離に応じて異なっている。これは、スタームのコーノイドとして説明した現象に基づいている。
【０１０５】
全てのブラーフィールドについての観察は図２０に示されている。図２０では、８×８×１２８のボクセルのブラーフィールドを観察した状態が示されている（右上）。また、ブラーフィールドを適用した結果も示されている（右下）。それぞれの小さい円は、ボクセルについてのブラーフィールド値を表している。視点の近くではボクセルの間隔が非常に狭くなるため、それぞれの円は互いに近づいてひとかたまりに見えている。円のサイズは、その地点での頂点ずれ範囲を示している。これは先の図１９に示したとおりである。ここでは強い近視および老視がシミュレートされており、焦点は、右側のコンピュータディスプレイのモデルにのみに合っている。焦点が合う場所では、ブラーフィールドの値は零となり、円は表示されていない。
【０１０６】
この実施形態では、ブラーフィールドを生成するための前計算に、波面追跡を使用する。この前計算には、８×８×１２８ボクセルのブラーフィールドの場合で３００ミリ秒を要した。ブラーフィールドが１６×１６×１２８であれば１秒、３２×３２×２５６であれば７秒を要した。
【０１０７】
（結論）
以上説明したように、本実施例の手法によれば、人の視力を考慮した、高速なレンダリング方法を提供することができる。本手法の特徴は以下の通りである。
・ほぼリアルタイムのフレームレートで、屈折とボケとを表現できる。
・様々な症状の視力と眼球レンズによる屈折とをシミュレートできる精細な眼球モデルを採用している。
・ボケ情報を空間的に分散して前計算し、ブラーフィールドとして格納しておく。
【０１０８】
ブラーフィールドは、焦点ボケの高速描画のために利用できる新しい概念である。プログラム可能なＧＰＵを使用して簡単に実装することができ、データ自体も単純で容量もさほど大きくない。空間内の位置に応じた物体の変位を必要とするような応用分野であれば、幅広い分野でブラーフィールドを適用することができる。もしプログラマが頂点変位のルーティンを追加するならば、ブラーフィールドは分散レイトレーシングと組み合わせることもできる。
【０１０９】
ブラーフィールドの技術を使う場合、対象物は、メッシュ化されたポリゴンに分割される必要がある。また、このポリゴンは、ブラーフィールドのボクセルサイズと同程度の粒度である必要がある。
【０１１０】
なお、前記の例においては、眼鏡レンズを用いた例を示したが、眼鏡レンズを用いなくても、視力による見え方を生成する必要がある場面であれば、本発明を適用可能である。
【０１１１】
なお、本発明の範囲は、前記実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることはもちろんである。
【０１１２】
例えば、前記した各構成要素は、機能ブロックとして存在していればよく、独立したハードウエアとして存在しなくても良い。また、実装方法としては、ハードウエアを用いてもコンピュータソフトウエアを用いても良い。さらに、本発明における一つの機能要素が複数の機能要素の集合によって実現されても良い。本発明における複数の機能要素が一つの機能要素により実現されても良い。
【０１１３】
また、機能要素は、物理的に離間した位置に配置されていてもよい。この場合、機能要素どうしがネットワークにより接続されていても良い。
【図面の簡単な説明】
【０１１４】
【図１】本実施形態に係る画像生成装置の、概略的な機能ブロック図である。
【図２】頂点ベースのレイトレーシングによる画像生成方法を説明するための説明図である。
【図３】図２の方法により描画した結果を示す図であって、図（ａ）及び（ｂ）は頂点ベースのレイトレーシングによる描画結果を示し、図（ｃ）及び（ｄ）は従来のキューブマッピングによる描画結果を示している。
【図４】凹レンズを通した屈折における描画結果を示す図である。図（ｂ）は図（ａ）の右端付近を拡大したものである。
【図５】本実施形態における画像生成方法の一例を説明するためのフローチャートである。
【図６】本実施形態における画像生成方法の一例を説明するための説明図である。
【図７】本実施形態において、レンズ経路を求める方法の一例を説明するためのフローチャートである。
【図８】レンズ経路を求める手法を説明するための説明図である。
【図９】図８の例において、矩形モデルを描画した結果の一例を示す説明図である。
【図１０】波面追跡法における波面の計算手法を説明するための図である。図（ａ）は入力波、図（ｂ）は乱視の眼による屈折力、図（ｃ）は屈折された波を示している。
【図１１】トーリックレンズにより形成されるスタームのコーノイドを示す図である。
【図１２】網膜上でのボケ量を、ボクセルでの頂点ずれ量に換算するための計算手法を説明するための説明図である。
【図１３】ボクセルでの頂点ずれ量の計算を説明するための説明図である。図（ａ）は、どのボクセルにも共通する種ベクトルの例を示す図である。図（ｂ）は、種ベクトルを用いて、あるボクセルでの頂点に与える実際の変位を示すベクトルの図（ＮＤＣ座標系）である。図（ｃ）は、あるボクセルでのブラーフィールドの値を示す計算例である。
【図１４】視点座標系から正規化デバイス座標系に変換する手順を説明するための説明図である。
【図１５】実施例における描画手順の詳細を示す説明図である。
【図１６】色収差を考慮した描画例を示す図である。
【図１７】近視及び遠視をシミュレートしたことによって得られた描画例を示す図である。
【図１８】累進焦点レンズを介して対象物を見た状態をシミュレートした画像の例である。
【図１９】乱視の裸眼における見え方のシミュレーション結果である。図（ａ）はボケを考慮していない場合の画像例、図（ｂ）はボケを考慮した場合の画像例である。
【図２０】ブラーフィールドの例を説明するための説明図である。
【符号の説明】
【０１１５】
１  視点
２  ビューボリューム
３  レンズ
４  ボクセル
５  矩形モデル
１０  入力部
１１  入力インタフェース
２０  表示部
２１  出力インタフェース
３０  記憶部
４０  画像生成部
５０  バス
【図１】
2009003812.tif 000026
【図２】
2009003812.tif 000027
【図５】
2009003812.tif 000028
【図６】
2009003812.tif 000029
【図７】
2009003812.tif 000030
【図８】
2009003812.tif 000031
【図９】
2009003812.tif 000032
【図１０】
2009003812.tif 000033
【図１１】
2009003812.tif 000034
【図１２】
2009003812.tif 000035
【図１３（ａ）】
2009003812.tif 000036
【図１３（ｂ）】
2009003812.tif 000037
【図１３（ｃ）】
2009003812.tif 000038
【図１４】
2009003812.tif 000039
【図３（ａ）】
2009003812.tif 000040
【図３（ｂ）】
2009003812.tif 000041
【図３（ｃ）】
2009003812.tif 000042
【図３（ｄ）】
2009003812.tif 000043
【図４（ａ）】
2009003812.tif 000044
【図４（ｂ）】
2009003812.tif 000045
【図１５】
2009003812.tif 000046
【図１６】
2009003812.tif 000047
【図１７】
2009003812.tif 000048
【図１８】
2009003812.tif 000049
【図１９】
2009003812.tif 000050
【図２０】
2009003812.tif 000051