JP2009003812A - Generation method and generation device of defocus image - Google Patents

Generation method and generation device of defocus image Download PDF

Info

Publication number
JP2009003812A
JP2009003812A JP2007165624A JP2007165624A JP2009003812A JP 2009003812 A JP2009003812 A JP 2009003812A JP 2007165624 A JP2007165624 A JP 2007165624A JP 2007165624 A JP2007165624 A JP 2007165624A JP 2009003812 A JP2009003812 A JP 2009003812A
Authority
JP
Japan
Prior art keywords
viewpoint
vertex
voxel
blur
retina
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2007165624A
Other languages
Japanese (ja)
Inventor
Masanori Kakimoto
正憲 柿本
Tomoaki Tachikawa
智章 立川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SGI Japan Ltd
Original Assignee
SGI Japan Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SGI Japan Ltd filed Critical SGI Japan Ltd
Priority to JP2007165624A priority Critical patent/JP2009003812A/en
Priority to PCT/JP2008/061305 priority patent/WO2009001763A1/en
Publication of JP2009003812A publication Critical patent/JP2009003812A/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/503Blending, e.g. for anti-aliasing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation

Abstract

<P>PROBLEM TO BE SOLVED: To provide a means to generate a defocus image efficiently and display it on a real time basis in three-dimensional CG. <P>SOLUTION: The method is for generating a two-dimensional image by performing perspective transformation from a viewpoint of an observer to an object arranged in view volume. This method comprises the following steps: (a) a step for dividing the space in the above-described view volume into a plurality of voxels more finely divided in proportionate to adjacency degree to the viewpoint of the observer; (b) a step for calculating the amount of the blur on retina of the above-described observer by tracing an optical path from the center of the above-described voxel to the above-described viewpoint; (c) a step for calculating and recording range of shifting the vertex in the voxel corresponding to the amount of the blur on the above-described retina; (d) a step for actually shifting the vertex responding to the above-described vertex shifting range; and (e)the step for generating the above-described two-dimensional image seen from the above-described viewpoint by the perspective transformation. <P>COPYRIGHT: (C)2009,JPO&INPIT

Description

本発明は、3次元コンピュータグラフィックス(3DCG)の分野において、デフォーカス画像を生成する方法及び装置に関するものである。すなわち、本発明は、3次元空間内に配置された対象物に対する透視変換を行うことにより2次元画像を生成するに際してデフォーカス画像を生成できる方法及び装置に関するものである。   The present invention relates to a method and apparatus for generating a defocused image in the field of three-dimensional computer graphics (3DCG). That is, the present invention relates to a method and apparatus capable of generating a defocused image when generating a two-dimensional image by performing perspective transformation on an object placed in a three-dimensional space.

反射・屈折の表示はコンピュータグラフィクスの研究の中で重要なテーマの一つである。従来からレイトレーシングによってこれらの処理が実現されているが、処理時間が膨大である。そのため近年は、グラフィックスハードウェアの機能である環境マッピングを使ってリアルタイムで反射・屈折を近似的に表示する手法が一般的に使われている。   Reflection and refraction display is one of the important themes in computer graphics research. Conventionally, these processes have been realized by ray tracing, but the processing time is enormous. Therefore, in recent years, a method of approximately displaying reflection / refraction in real time using environment mapping, which is a function of graphics hardware, is generally used.

レイトレーシングはもともと光学系設計のための手法であり、正確な屈折をシミュレートするために現在も使われている。精度が要求される光学系の設計には、近似手法は現在使われていない。   Ray tracing is originally a method for optical system design and is still used to simulate accurate refraction. Approximation methods are not currently used for designing optical systems that require accuracy.

しかし、人間がメガネレンズを通して見える様子をシミュレートする目的であれば、近似手法でも実用上問題ないことが期待できる。リアルタイム表示になることにより、設計検証の効率が上がるだけでなく、販売店での顧客への提示といった応用も可能となる。   However, for the purpose of simulating how a human can see through a spectacle lens, it can be expected that there is no practical problem with the approximation method. Real-time display not only increases the efficiency of design verification, but also enables applications such as presentation to customers at dealers.

リアルタイムの反射・屈折を考慮した表示を行う技術に関して、関連研究を以下に記載する。さらに、人間の視力矯正のシミュレーションに関する関連研究についても紹介する。   The related research on the technology to display in consideration of real-time reflection and refraction is described below. In addition, related research on human vision correction simulation will be introduced.

(リアルタイムの反射・屈折表示)
反射を近似するためにBlinnによって提案された環境マッピング(非特許文献1)は、ハードウェアにより実装できるため(非特許文献2及び3)、リアルタイム表示の応用に広く用いられている。環境マッピングは映りこむ物体が無限遠にあるという前提が伴うため、特に近くにある(ローカルな)物体に関して誤差が大きいという欠点があった。
(Real time reflection / refraction display)
The environment mapping proposed by Blinn to approximate reflection (Non-Patent Document 1) can be implemented by hardware (Non-Patent Documents 2 and 3) and is therefore widely used for real-time display applications. Since environment mapping involves the premise that the object to be reflected is at infinity, there is a drawback that the error is particularly large for a nearby (local) object.

近年、これを改良するための手法が考案されている。Hakura らは、ローカル物体に関しては別のレイヤーとし、個別の環境マップをレイトレーシングによる前処理で用意することでこれを解決した(非特許文献4)。しかしながら、この方法では反射・屈折物体が動いてローカル物体が頻繁に変わる場合、前処理やり直しのコストが大きい。Szirmay-Kalos らは、画素ごとに奥行き値zも持つキューブマップを求め、反射・屈折方向へのレイと物体の交点を、繰り返し計算で近似することで、ローカル物体のより正確な反射・屈折をリアルタイムで実現した(非特許文献5)。この手法の目的はゲームであるため、屈折はシーンに置かれた透過物体の雰囲気を出すことが目的であった。   In recent years, methods for improving this have been devised. Hakura et al. Solved this problem by using a separate layer for local objects and preparing individual environment maps by preprocessing by ray tracing (Non-Patent Document 4). However, in this method, when the reflecting / refracting object moves and the local object frequently changes, the cost of the preprocessing is high. Szirmay-Kalos et al. Found a cube map that also has a depth value z for each pixel, and approximated the intersection of the ray and the object in the reflection / refraction direction by iterative calculation, so that more accurate reflection / refraction of the local object was achieved. Realized in real time (Non-Patent Document 5). Since the purpose of this method is a game, refraction was aimed at creating an atmosphere of a transparent object placed in the scene.

レンズを通して見たシーン全体の様子を検証するためには、より正確な手法が必要となる。そこで、本発明者らは、レンズ各頂点を通してレイとシーンの交差計算を行い、レイトレーシングと同等の正確さを実現する手法を提案している(特願2006−124656号参照)。   In order to verify the state of the entire scene viewed through the lens, a more accurate method is required. In view of this, the present inventors have proposed a method of performing the intersection calculation of the ray and the scene through each vertex of the lens and realizing the same accuracy as ray tracing (see Japanese Patent Application No. 2006-124656).

(視力矯正のシミュレーション)
人間の眼の特性を考慮した描画手法として、被写界深度のシミュレーションは以前から行われている(非特許文献6及び7)。
(Simulation of vision correction)
As a drawing technique that takes into account the characteristics of the human eye, simulation of depth of field has been performed for some time (Non-Patent Documents 6 and 7).

眼球をレンズ系としてとらえ、視力の矯正まで考慮したシミュレーションモデルはMostafawy らによって提案された(非特許文献8)。Loos らは、波動光学的なアプローチであるwavefront tracing を活用し、累進焦点レンズ(境目のない遠近両用レンズ)による視力矯正のシミュレーションを行った(非特許文献9)。また、Barskyは、Vision Realistic Renderingという概念を導入し、被写界深度の導入を行った(非特許文献11)。   A simulation model that considers the eyeball as a lens system and considers correction of vision has been proposed by Mostafawy et al. (Non-patent Document 8). Loos et al. Used wavefront tracing, which is a wave-optical approach, to simulate visual acuity correction using a progressive focus lens (a bifocal lens with no boundary) (Non-Patent Document 9). Barsky introduced the concept of Vision Realistic Rendering and introduced depth of field (Non-Patent Document 11).

これらの従来手法はいずれも分散レイトレーシングを使って処理を行っているため、表示速度は遅くリアルタイム処理は不可能である。   Since all these conventional methods perform processing using distributed ray tracing, the display speed is slow and real-time processing is impossible.

また、本発明者らは、ボクセルごとに頂点ずれ量を格納しておき、その頂点ずれ量に基づいてボケ画像を生成する手法を提案している(非特許文献12)。この手法によれば、ほぼリアルタイムでボケ画像を生成することができる。ただし、この手法では、
・ビューボリューム外の空間にもボクセルを想定しているために計算効率が悪い点
・空間を等間隔で区切ることでボクセルを生成しているため、実際の見え方とは若干の違いがある点
において改善の余地があった。
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 「頂点ベースのレイトレーシングを用いた屈折矯正結果の表示」
Further, the present inventors have proposed a method of storing a vertex shift amount for each voxel and generating a blurred image based on the vertex shift amount (Non-patent Document 12). According to this method, it is possible to generate a blurred image almost in real time. However, with this approach,
・ Voxel is assumed in the space outside the view volume, so the calculation efficiency is bad. ・ Voxel is generated by dividing the space at equal intervals, so there is a slight difference from the actual appearance. There was room for improvement.
1) JF Blinn and ME 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) ZS Hakura, JM Snyder, and JE 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) RL 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 BA: Vision-realistic rendering: simulation of the scanned foveal image from wavefront data of human subjects.In Proc.APGV '04 (2004), pp. 73-81. Information Processing Society of Japan Vol.2006, No.91, pp.25-30 "Display of refractive correction results using vertex-based ray tracing"

本発明は、前記した状況に鑑みてなされたものである。本発明は、デフォーカス画像を効率よく生成し、リアルタイムでの表示を可能にする手段を提供することを目的としている。   The present invention has been made in view of the above situation. An object of the present invention is to provide means for efficiently generating a defocused image and enabling display in real time.

前記した課題を解決するために、本発明は、以下のいずれかの項目に記載される構成を備えている。   In order to solve the above-described problems, the present invention has a configuration described in any of the following items.

(項目1)
ビューボリューム内に配置された対象物に対して、観察者の視点からの透視変換を行うことにより、2次元画像を生成する方法であって、さらに、以下のステップを備えた画像生成方法:
(a)前記ビューボリューム内の空間を、観察者からの視点に近いほど細かくされた複数のボクセルに区切るステップ;
(b)前記ボクセルの中心から前記視点への光路を辿ることにより、前記観察者の網膜上でのボケ量を算出するステップ;
(c)前記網膜上でのボケ量に対応する、前記ボクセル中での頂点ずれ範囲を算出して記録するステップ;
(d)前記頂点ずれ範囲に応じて、当該頂点を実際にずらすステップ;
(e)前記視点から見た前記2次元画像を透視変換により生成するステップ。
(Item 1)
A method of generating a two-dimensional image by performing perspective transformation from an observer's viewpoint on an object placed in a view volume, and further comprising the following steps:
(A) dividing the space in the view volume into a plurality of voxels that are made finer as the viewpoint from the observer is closer;
(B) calculating a blur amount on the retina of the observer by following an optical path from the center of the voxel to the viewpoint;
(C) calculating and recording a vertex shift range in the voxel corresponding to the amount of blur on the retina;
(D) actually shifting the vertex according to the vertex shift range;
(E) generating the two-dimensional image viewed from the viewpoint by perspective transformation;

項目1に係る発明によれば、網膜上でのボケ量に対応する、ボクセル中での頂点ずれ範囲を算出する。ここで、頂点とは、ポリゴンを構成する要素となるものである。得られた頂点ずれ範囲を用いて、頂点を、実際に、当初の位置からずらす。これにより、当初の位置とはずれた位置に、当該頂点を有するポリゴンが生成される。この状態で透視変換を行う。この作業を繰り返すことで、透視変換によって得られた画像においては、位置がずらされた対象物が重ねて表示されるために、当該対象物は、ぼやけて見えることになる。すなわち、これにより、デフォーカス画像を生成することができる。   According to the invention according to item 1, the vertex shift range in the voxel corresponding to the amount of blur on the retina is calculated. Here, the vertex is an element constituting the polygon. Using the obtained vertex shift range, the vertex is actually shifted from the initial position. Thereby, the polygon which has the said vertex in the position shifted | deviated from the original position is produced | generated. In this state, perspective transformation is performed. By repeating this operation, in the image obtained by the perspective transformation, the objects whose positions are shifted are displayed in an overlapping manner, so that the objects appear to be blurred. That is, a defocused image can be generated thereby.

また、項目1に係る発明によれば、観察者の視点に近いほど、細かくボクセルを区切っているので、ボクセルごとのぼけ量(デフォーカス量)を細かく変更できる。このため、実際の見え方をより正確にシミュレートすることができる。また、このようなボクセル設定は、3次元モデリング空間を用いた画像生成に必須の透視変換と親和性の高い処理となるので、画像生成に要する処理時間を短縮することが可能になる。   Further, according to the invention according to item 1, the closer to the observer's viewpoint, the more the voxels are divided, so the blur amount (defocus amount) for each voxel can be finely changed. For this reason, the actual appearance can be simulated more accurately. In addition, such voxel setting is a process having high affinity with the perspective transformation essential for image generation using the three-dimensional modeling space, and thus it is possible to shorten the processing time required for image generation.

(項目2)
さらに、
(f)前記視点から前記ボクセルの中心への光路を求めるステップ
を有しており、このステップは、前記ステップ(b)の前に行われ、
かつ、前記ステップ(b)は、前記ステップ(f)で求めた光路を逆に辿ることにより実行される、項目1に記載の画像生成方法。
(Item 2)
further,
(F) determining an optical path from the viewpoint to the center of the voxel, this step being performed before the step (b);
The image generation method according to item 1, wherein the step (b) is executed by tracing back the optical path obtained in the step (f).

(項目3)
前記ステップ(b)において、前記ボクセルの中心から前記視点への光路を辿る手法として、波面追跡法が用いられている、項目1又は2に記載の画像生成方法。
(Item 3)
Item 3. The image generating method according to Item 1 or 2, wherein a wavefront tracking method is used as a method of tracing the optical path from the center of the voxel to the viewpoint in the step (b).

(項目4)
3次元空間内に配置された対象物に対する透視変換を行うことにより2次元画像を生成する装置であって、
この装置は、記憶部と画像生成部とを備えており、
前記記憶部は、処理に必要なデータやコンピュータソフトウエアを格納するものであり、
前記画像生成部は、以下の処理を行うことを特徴とする画像生成装置:
(a)前記ビューボリューム内の空間を、観察者からの視点に近いほど細かくされた複数のボクセルに区切るステップ;
(b)前記ボクセルの中心から前記視点への光路を辿ることにより、前記観察者の網膜上でのボケ量を算出するステップ;
(c)前記網膜上でのボケ量に対応する、前記ボクセル中での頂点ずれ範囲を算出して記録するステップ;
(d)頂点ずれ範囲に応じて、当該頂点を実際にずらすステップ;
(e)前記視点から見た前記2次元画像を透視変換により生成するステップ。
(Item 4)
An apparatus for generating a two-dimensional image by performing perspective transformation on an object arranged in a three-dimensional space,
The apparatus includes a storage unit and an image generation unit,
The storage unit stores data and computer software necessary for processing,
The image generation unit performs the following processing:
(A) dividing the space in the view volume into a plurality of voxels that are made finer as the viewpoint from the observer is closer;
(B) calculating a blur amount on the retina of the observer by following an optical path from the center of the voxel to the viewpoint;
(C) calculating and recording a vertex shift range in the voxel corresponding to the amount of blur on the retina;
(D) a step of actually shifting the vertex according to the vertex shift range;
(E) generating the two-dimensional image viewed from the viewpoint by perspective transformation;

(項目5)
3次元空間内に配置された対象物に対する透視変換を行うことにより2次元画像を生成する方法であって、さらに、以下のステップを備えた画像生成方法を、コンピュータにより実行させることを特徴とするコンピュータプログラム:
(a)前記ビューボリューム内の空間を、観察者からの視点に近いほど細かくされた複数のボクセルに区切るステップ;
(b)前記ボクセルの中心から前記視点への光路を辿ることにより、前記観察者の網膜上でのボケ量を算出するステップ;
(c)前記網膜上でのボケ量に対応する、前記ボクセル中での頂点ずれ範囲を算出して記録するステップ;
(d)頂点ずれ範囲に応じて、当該頂点を実際にずらすステップ;
(e)前記視点から見た前記2次元画像を透視変換により生成するステップ。
(Item 5)
A method of generating a two-dimensional image by performing perspective transformation on an object arranged in a three-dimensional space, and further comprising causing a computer to execute an image generation method including the following steps: Computer program:
(A) dividing the space in the view volume into a plurality of voxels that are made finer as the viewpoint from the observer is closer;
(B) calculating a blur amount on the retina of the observer by following an optical path from the center of the voxel to the viewpoint;
(C) calculating and recording a vertex shift range in the voxel corresponding to the amount of blur on the retina;
(D) a step of actually shifting the vertex according to the vertex shift range;
(E) generating the two-dimensional image viewed from the viewpoint by perspective transformation;

本発明によれば、デフォーカス画像を効率よく生成し、リアルタイムでの表示を可能にする手段を提供することができる。   According to the present invention, it is possible to provide means for efficiently generating a defocused image and enabling real-time display.

以下、本発明の一実施形態を、添付図面を参照して説明する。   Hereinafter, an embodiment of the present invention will be described with reference to the accompanying drawings.

(画像生成装置)
まず、本実施形態の実施に用いる画像生成装置を、図1に基づいて説明する。この画像生成装置は、入力部10と、入力インタフェース11と、表示部20と、出力インタフェース21と、記憶部30と、画像生成部40と、バス50とを備えている。これらの構成要素は、ワークステーションやコンピュータなどのハードウエア自体、又は、ハードウエアにコンピュータプログラムを組み込むことによって構成することができる。
(Image generation device)
First, an image generation apparatus used for implementing this embodiment will be described with reference to FIG. The image generation apparatus includes an input unit 10, an input interface 11, a display unit 20, an output interface 21, a storage unit 30, an image generation unit 40, and a bus 50. These components can be configured by hardware itself such as a workstation or a computer, or by incorporating a computer program in the hardware.

入力部10は、入力インタフェース11を介してバス50に接続されている。入力部10は、例えばキーボードやマウスやタッチパッドなどの適宜な入力機器であり、これを用いて操作者からの指令を入力できるようになっている。   The input unit 10 is connected to the bus 50 via the input interface 11. The input unit 10 is an appropriate input device such as a keyboard, a mouse, or a touch pad, for example, and can be used to input a command from an operator.

表示部20は、出力インタフェース21を介してバス50に接続されている。出力部20は、例えばディスプレイやプリンタなどの適宜な出力機器である。出力部20は、画像生成部40で生成された画像(透視変換により得た2次元画像)を受け取って利用者に提示できる構成になっている。   The display unit 20 is connected to the bus 50 via the output interface 21. The output unit 20 is an appropriate output device such as a display or a printer. The output unit 20 is configured to receive the image generated by the image generation unit 40 (two-dimensional image obtained by perspective transformation) and present it to the user.

記憶部30は、データ(コンピュータプログラムを含む)の記憶や読み出しができる機器である。記憶部30としては、磁気的記憶装置(例えばハードディスク)、半導体記憶装置(例えばメモリボード)、光学的記憶装置(例えばDVDなどの光ディスクを用いた記憶装置)など、適宜の装置を用いることができる。記憶部30は、ワークステーションやコンピュータに内蔵されているものでも、インターフェース機器を介して外部に接続されるものでもよい。さらに、記憶部30としては、ネットワークを介して利用できる記憶装置であってもよい。記憶部30は、物理的には複数存在する記憶装置によって構成されていてもよい。   The storage unit 30 is a device that can store and read data (including computer programs). As the storage unit 30, an appropriate device such as a magnetic storage device (for example, a hard disk), a semiconductor storage device (for example, a memory board), or an optical storage device (for example, a storage device using an optical disk such as a DVD) can be used. . The storage unit 30 may be built in a workstation or computer, or may be connected to the outside via an interface device. Furthermore, the storage unit 30 may be a storage device that can be used via a network. The storage unit 30 may be physically configured by a plurality of storage devices.

本実施形態に係る記憶部30には、ワークステーションやコンピュータを用いて画像生成部40を構成するためのコンピュータプログラムや、本実施形態の方法の実施に用いるデータが予め格納されている。また、記憶部30は、本実施形態の方法の実施に伴って生成されるデータを格納できるようになっている。   The storage unit 30 according to the present embodiment stores in advance a computer program for configuring the image generation unit 40 using a workstation or a computer, and data used for performing the method of the present embodiment. In addition, the storage unit 30 can store data generated in accordance with the execution of the method of the present embodiment.

画像生成部40は、以下の処理を行う構成となっている。
(a)前記ビューボリューム内の空間を、観察者からの視点に近いほど細かくされた複数のボクセルに区切るステップ;
(b)前記ボクセルの中心から前記視点への光路を辿ることにより、前記観察者の網膜上でのボケ量を算出するステップ;
(c)前記網膜上でのボケ量に対応する、前記ボクセル中での頂点ずれ範囲を算出して記録するステップ;
(d)頂点ずれ範囲に応じて、当該頂点を実際にずらすステップ;
(e)前記視点から見た前記2次元画像を透視変換により生成するステップ。
The image generation unit 40 is configured to perform the following processing.
(A) dividing the space in the view volume into a plurality of voxels that are made finer as the viewpoint from the observer is closer;
(B) calculating a blur amount on the retina of the observer by following an optical path from the center of the voxel to the viewpoint;
(C) calculating and recording a vertex shift range in the voxel corresponding to the amount of blur on the retina;
(D) a step of actually shifting the vertex according to the vertex shift range;
(E) generating the two-dimensional image viewed from the viewpoint by perspective transformation;

これらの処理の詳細は、本実施形態に係る画像生成方法の説明(後述)において述べる。画像生成部40は、ワークステーションやコンピュータ上で、コンピュータプログラムを実行することにより、機能要素として構成されるものである。   Details of these processes will be described in the description (described later) of the image generation method according to the present embodiment. The image generation unit 40 is configured as a functional element by executing a computer program on a workstation or a computer.

バス50は、前記した各部間でのデータのやりとりを可能にする伝送路である。バス50としては、一本のバスを共用する構成に限らず、専用のバスを別途用いる構成であってもよい。また、伝送路としては、有線でなく無線でもよい。要するに伝送路としては、データのやりとりができればよく、物理的構成や使用するプロトコルは制約されない。   The bus 50 is a transmission path that enables data exchange between the above-described units. The bus 50 is not limited to a configuration in which one bus is shared, and a configuration in which a dedicated bus is separately used. Further, the transmission path may be wireless instead of wired. In short, the transmission path only needs to be able to exchange data, and the physical configuration and the protocol to be used are not limited.

(本実施形態に係る画像生成方法)
つぎに、本実施形態に係る画像生成方法を説明する。以下においては、まず、レンズによる歪みを正確に表示するための屈折処理に用いる、頂点ベースのレイトレーシングについて説明する。なお、本実施形態の説明においては、対象となる物体はすべてポリゴンモデルとしている。
(Image generation method according to this embodiment)
Next, an image generation method according to the present embodiment will be described. In the following, vertex-based ray tracing used for refraction processing for accurately displaying distortion caused by a lens will be described first. In the description of the present embodiment, all target objects are polygon models.

(アルゴリズム)
毎フレームについて行われる処理手順は、以下のとおりである。図2と対応させて説明する。なお、このアルゴリズムは、発明者らによる前記した非特許文献12に記載されているものと同様である。
( 1 ) 反射・屈折物体表面1の頂点1aでの反射・屈折ベクトルをすべて求める;
( 2 ) 仮想視点2と視野を求め、環境マップを描画する;
( 3 ) 反射・屈折物体の各頂点について:
( a ) 反射・屈折ベクトルの延長がシーン中の物体3と交差する点(交点)4を求める;
( b ) 上記交点4と仮想視点2を結ぶ直線5を求める;
( c ) 上記直線5と環境マップ投影面6との交点を求める;
( d ) 上記交点4の、環境マップ画像上での座標を、頂点1aのテクスチャ座標とする;
( 4 ) 本来の視点から反射・屈折物体とシーン全体を描画する。
(algorithm)
The processing procedure performed for each frame is as follows. A description will be given in correspondence with FIG. This algorithm is the same as that described in Non-Patent Document 12 by the inventors.
(1) Obtain all reflection / refraction vectors at the vertex 1a of the reflection / refraction object surface 1;
(2) Obtain virtual viewpoint 2 and field of view and draw environment map;
(3) For each vertex of a reflective / refractive object:
(a) Find the point (intersection) 4 where the extension of the reflection / refraction vector intersects the object 3 in the scene;
(b) Find a straight line 5 connecting the intersection 4 and the virtual viewpoint 2;
(c) Find the intersection of the straight line 5 and the environment map projection plane 6;
(d) The coordinates of the intersection 4 on the environment map image are set as the texture coordinates of the vertex 1a;
(4) Draw the reflection / refraction object and the entire scene from the original viewpoint.

上記(2) の仮想視点2は、反射・屈折ベクトルをいくつか選び、それらの延長線に最も近くなる点として求める。本アルゴリズムでは、反射・屈折物体の各頂点について正確な位置が映りこむことが基本的に保証される。   The virtual viewpoint 2 in (2) above is obtained as a point closest to the extension line by selecting several reflection / refraction vectors. This algorithm basically guarantees that the exact position of each vertex of the reflective / refractive object is reflected.

例外として、頂点と仮想視点のずれに起因して遮蔽物体の食い違いが起こる場合がある。これは反射・屈折物体が大きく、かつレイの広がりが極端に大きい場合にほぼ限られ、レンズのシミュレーションでは問題にならない。   As an exception, there may be a discrepancy between occluded objects due to a shift between the vertex and the virtual viewpoint. This is almost limited to cases where the reflective / refractive object is large and the ray spread is extremely large, and this is not a problem in lens simulation.

図2では反射の例について示しているが、レンズのような屈折物体の場合は、入射と出射の2 回の屈折を経たあとのレイを求めて同様の手順を実行する。   Although an example of reflection is shown in FIG. 2, in the case of a refracting object such as a lens, a similar procedure is performed by obtaining a ray after two refractions of incident and outgoing.

(反射と屈折の表示結果)
頂点ベースのレイトレーシングの反射の表示例を図3(a)及び(b)に示す。比較として、従来のキューブマッピングによる反射の表示例を図3(c)及び(d)に示す。キューブマッピングではずれが生じる、視点に近い物体の映りこみも、頂点ベースのレイトレーシングでは正確に処理されていることがわかる。これらの図では、車のドアミラーに映りこんだ画像を表示している。図3(b)及び図3(d)の画像では、ミラーのワイヤーフレームモデルを重ね合わせている。多数の球は、反射ベクトルとシーンとの交点に配置した。頂点ベースのレイトレーシングでは交点が正確に頂点部分に映りこんでいる。また、レンズを通した屈折の表示例を図4に示す。この図は、凹レンズを通した屈折の表示結果を示している。図4(b)は図4(a)の右端付近を拡大したもので、レンズ頂点をワイヤーフレームで表示し、屈折ベクトルとシーンの交点に小さな球を配置したものである。この図においても、屈折ベクトルの交点が頂点に正確に映りこんでいることがわかる。
(Reflection and refraction display results)
Display examples of vertex-based ray tracing reflection are shown in FIGS. As a comparison, FIGS. 3C and 3D show examples of reflection display by conventional cube mapping. It can be seen that the reflection of an object close to the viewpoint, which is displaced in cube mapping, is accurately processed in vertex-based ray tracing. In these figures, an image reflected on the door mirror of the car is displayed. In the images of FIG. 3B and FIG. 3D, mirror wireframe models are superimposed. Many spheres were placed at the intersection of the reflection vector and the scene. In vertex-based ray tracing, the intersection is accurately reflected in the vertex. Further, FIG. 4 shows a display example of refraction through a lens. This figure shows the display result of refraction through a concave lens. FIG. 4B is an enlarged view of the vicinity of the right end of FIG. 4A, in which the lens vertex is displayed in a wire frame, and a small sphere is arranged at the intersection of the refraction vector and the scene. Also in this figure, it can be seen that the intersection of the refraction vectors is accurately reflected at the apex.

(本実施形態の方法)
以下、本実施形態に係るボケ画像の生成方法を、図5を主に参照しながら説明する。この方法は、大きく、前処理と、レンダリングとに分けられる。前処理では、ボクセルごとに、頂点のずれ範囲を算出し、これを当該ボクセルと関連づけて記憶部30に記録しておく。レンダリング時には、頂点ずれ範囲に応じて、各ポリゴンの各頂点を変位させて、描画処理を行う。以下、詳しく説明する。
(Method of this embodiment)
Hereinafter, a method for generating a blurred image according to the present embodiment will be described with reference mainly to FIG. This method is roughly divided into preprocessing and rendering. In the preprocessing, for each voxel, a vertex shift range is calculated, and this is associated with the voxel and recorded in the storage unit 30. At the time of rendering, drawing processing is performed by displacing each vertex of each polygon according to the vertex shift range. This will be described in detail below.

(図5のステップSA−1)
まず、ボクセルの区切りを、図6(a)を参照しながら説明する。この例では、視点1からのビューボリューム2が設定されている。ビューボリュームとは、モデル化された3D空間のうちで、透視変換が行われる領域である。ここで、本実施形態では、視点1とビューボリューム2との間に、レンズ3が配置されている。
(Step SA-1 in FIG. 5)
First, voxel separation will be described with reference to FIG. In this example, the view volume 2 from the viewpoint 1 is set. The view volume is an area where perspective transformation is performed in the modeled 3D space. Here, in the present embodiment, the lens 3 is disposed between the viewpoint 1 and the view volume 2.

本実施形態においては、ボクセルを、ビューボリューム2内の空間を分割することにより生成する。つまり、ボクセルの集合が、本実施形態でのビューボリュームを構成していることになる。ここで、本実施形態では、ビューボリューム2内の空間を、観察者の視点1に近いほど細かく区切る(図6(a)参照)。すなわち、奥行き方向、上下方向及び左右方向(つまりXYZ方向)のいずれにおいても、視点に近いほど細かい(小さい)ボクセルとなるように区切る。このような区切りは、正規化デバイス座標系(NDC)を等間隔に区切ることで実現することができる。このため、必要な計算量を少なく抑えることができるという利点がある(後述)。   In the present embodiment, voxels are generated by dividing the space in the view volume 2. That is, a set of voxels constitutes a view volume in the present embodiment. Here, in this embodiment, the space in the view volume 2 is divided more finely as it is closer to the viewpoint 1 of the observer (see FIG. 6A). That is, in any of the depth direction, the up-down direction, and the left-right direction (that is, the XYZ direction), the voxel is divided so as to become finer (smaller) as the viewpoint is closer. Such division can be realized by dividing the normalized device coordinate system (NDC) at equal intervals. For this reason, there is an advantage that a necessary amount of calculation can be reduced (described later).

(図5のステップSA−2)
ついで、視点1からボクセル4の中心への光路を求める。この方法の詳細な手順を図7に基づいて説明する。
(Step SA-2 in FIG. 5)
Next, an optical path from the viewpoint 1 to the center of the voxel 4 is obtained. The detailed procedure of this method will be described with reference to FIG.

(図7のステップSB−1)
まず、図8に示されるように、ボクセル4の中心にモデルを配置する。具体的には、ある奥行きのボクセル群を、まず対象とする。このボクセル群のそれぞれの中心(奥行き方向における中心)に、矩形モデル5をそれぞれ配置する。これらの矩形モデルは、ボクセルによって異なる色とされている。
(Step SB-1 in FIG. 7)
First, as shown in FIG. 8, the model is arranged at the center of the voxel 4. Specifically, a group of voxels having a certain depth is first set as a target. A rectangular model 5 is arranged at each center (center in the depth direction) of the voxel group. These rectangular models have different colors depending on the voxels.

(図7のステップSB−2)
ついで、この状態で、レンズ3での屈折も考慮して、各矩形モデル5を描画(透視変換)する。描画の結果の一例を図9に示す。この描画結果においては、各ボクセルに対応して異なる色が付されているので、色を基準にして、ボクセルを特定することができる。
(Step SB-2 in FIG. 7)
Then, in this state, each rectangular model 5 is drawn (perspective transformation) in consideration of refraction at the lens 3. An example of the drawing result is shown in FIG. In this drawing result, since different colors are assigned to the respective voxels, the voxels can be specified on the basis of the colors.

(図7のステップSB−3)
その後、描画結果の画像(図9参照)から、投影面上での各矩形モデルの中心位置(XY平面内における中心)を求める。
(Step SB-3 in FIG. 7)
Thereafter, the center position (center in the XY plane) of each rectangular model on the projection plane is obtained from the drawing result image (see FIG. 9).

(図7のステップSB−4)
さらに、視点から、投影面上で矩形中央となる位置に向かう光線(Ray)を求める。つまり、この光線は、視点からボクセル中心への向かうことになる。
(Step SB-4 in FIG. 7)
Further, a ray (Ray) from the viewpoint toward the position at the center of the rectangle on the projection surface is obtained. In other words, this ray goes from the viewpoint to the center of the voxel.

本実施形態では、このように求めた光路を逆に辿ることで、網膜上でのボケ量を算出する(後述)。   In the present embodiment, the amount of blur on the retina is calculated by tracing back the optical path thus obtained (described later).

(図5のステップSA−3)
ついで、網膜上でのボケ量を算出する。この算出の概略は、前記のようにして得られた、視点からボクセル中心への光路を、今度はボクセルから、視点(瞳)を介して、網膜まで辿るというものである。本実施形態では、ボクセル中心から、視点を経由して網膜への光路を辿る手法として、波面追跡法が用いられている。
(Step SA-3 in FIG. 5)
Next, the amount of blur on the retina is calculated. The outline of this calculation is that the optical path from the viewpoint to the center of the voxel obtained as described above is followed from the voxel to the retina through the viewpoint (pupil). In the present embodiment, the wavefront tracking method is used as a method of tracing the optical path from the voxel center to the retina via the viewpoint.

(図5のステップSA−4)
ついで、網膜上でのボケ量に対応する、ボクセル中での頂点ずれ範囲を算出して記録する。
(Step SA-4 in FIG. 5)
Next, the vertex shift range in the voxel corresponding to the amount of blur on the retina is calculated and recorded.

(図5のステップSA−5及びSA−6)
ついで、視点から見た2次元画像を透視変換により生成する。この2次元画像の生成は、基本的に、非特許文献12に記載された頂点ベースのレイトレーシング法により行なうことができる。
(Steps SA-5 and SA-6 in FIG. 5)
Next, a two-dimensional image viewed from the viewpoint is generated by perspective transformation. The generation of the two-dimensional image can be basically performed by the vertex-based ray tracing method described in Non-Patent Document 12.

本実施形態の手法によれば、得られた頂点ずれ範囲に応じて、後述の「GPUによるレンダリングの実装」で説明するような方法で各頂点をずらしながら複数回の透視変換を行う。このため、透視変換によって得られた画像においては、頂点ずれ範囲内で位置がずらされた複数のポリゴンで構成される対象物がぼやけて見えることになる。これにより、デフォーカス画像を生成することができる。   According to the method of the present embodiment, the perspective transformation is performed a plurality of times while shifting each vertex according to the method described in “Implementation of rendering by GPU” described later according to the obtained vertex deviation range. For this reason, in an image obtained by perspective transformation, an object composed of a plurality of polygons whose positions are shifted within the vertex shift range appears blurred. Thereby, a defocused image can be generated.

また、この手法によれば、観察者の視点に近いほど、細かくボクセルを区切っているので、ボクセルごとのぼけ量(デフォーカス量)を細かく変更できる。このため、実際の見え方をより正確にシミュレートすることができる。また、このようなボクセル設定は、3次元モデリング空間を用いた画像生成に必須の透視変換と親和性の高い処理となるので、画像生成に要する処理時間を短縮することが可能になる。   Further, according to this method, the closer to the observer's viewpoint, the finer the voxels are divided, so that the blur amount (defocus amount) for each voxel can be finely changed. For this reason, the actual appearance can be simulated more accurately. In addition, such voxel setting is a process having high affinity with the perspective transformation essential for image generation using the three-dimensional modeling space, and thus it is possible to shorten the processing time required for image generation.

(本実施形態の具体例)
以下、本実施形態の手法を用いてボケ画像を生成する具体例を説明する。まず、本実施例のステップSA−3において採用した波面追跡法の詳細を説明し、その後、それを用いたボケ画像の生成方法を説明する。
(Specific example of this embodiment)
Hereinafter, a specific example of generating a blurred image using the method of the present embodiment will be described. First, details of the wavefront tracking method employed in step SA-3 of the present embodiment will be described, and then a blur image generation method using the same will be described.

(波面追跡法)
波面追跡法自体は、光線追跡の一手法として従来から存在する。ある地点での波面は、波の動きの方向により表される。たとえば法線ベクトルN、二つの主方向e及びe、並びに対応する主曲率κ及びκが、波の動きの方向を示す。二つの主方向e及びeは互いに直交している。曲率は、曲率の中心が波の動きと反対側にあるとき、負となる。
(Wavefront tracking method)
The wavefront tracking method itself has conventionally existed as a method of ray tracing. The wavefront at a point is represented by the direction of wave motion. For example, the normal vector N, the two main directions e 1 and e 2 and the corresponding main curvatures κ 1 and κ 2 indicate the direction of wave motion. The two main directions e 1 and e 2 are orthogonal to each other. Curvature is negative when the center of curvature is on the opposite side of the wave motion.

距離dで拡散ないし進行すると、波面は単純に以下のように変形する。
ここで、ベクトルN、e及びeは変化しない。
As it diffuses or travels at distance d, the wavefront simply deforms as follows.
Here, the vectors N, e 1 and e 2 do not change.

この変形はスネルの法則によって導かれるが、このことはよく知られているので、結果のみをここに示した。方向ベクトルNは、
N'=μN+γN(s)のように変形される。ここで、N(s)は、屈折性表面の単位法線ベクトル(unit normal vector)であり、μ=n/n、γ=−μcosφ+cosφ'である。n及びnは、それぞれ、表面前後の媒質の屈折率である。φ及びφ'は、それぞれ、入射角及び屈折角を示す。
This transformation is guided by Snell's law, which is well known, so only the results are shown here. The direction vector N is
N ′ = μN + γN (s) Here, N (s) is a unit normal vector of the refractive surface, and μ = n 1 / n 2 and γ = −μcosφ + cosφ ′. n 1 and n 2 are the refractive indices of the medium before and after the surface, respectively. φ and φ ′ denote an incident angle and a refraction angle, respectively.

単位ベクトル
を考える。これは、入射する波面と表面の両方に共通の接ベクトルである。ベクトルuに対応する曲率は、以下のようにして得られる。
Unit vector
think of. This is a common tangent vector for both the incident wavefront and the surface. The curvature corresponding to the vector u is obtained as follows.

もう一つの単位ベクトルv=N×uを考える。さらに、ベクトルuと主方向ベクトルeをとの角度ωを考える。すなわち、
このとき、オイラーの公式により、
であり、これは、入力する波について、u,v方向の曲率(directional curvature)κ、κ及びトーションκuvを決定する。屈折により、波面のu,v方向の曲率は、以下のように変化する:
Consider another unit vector v = N × u. Further, consider the angle ω between the vector u and the main direction vector e 1 . That is,
At this time, according to Euler's formula,
Which determines the u, v directional curvature κ u , κ v and torsion κ uv for the incoming wave. Due to refraction, the curvature of the wavefront in the u and v directions changes as follows:

ここで、κ (s)、κ (s)及びκuvは、それぞれ、入射点における屈折性表面の、u,v方向性の曲率及びトーションである。これらは、式3を使うことにより、波面と同様に計算できる。屈折後の波面を表すために、式3を変形することにより、主曲率と主方向を見いだす必要がある。
Here, κ u (s) , κ v (s), and κ uv are the curvature and torsion in the u and v directions of the refractive surface at the incident point, respectively. These can be calculated in the same way as the wavefront by using Equation 3. In order to represent the wavefront after refraction, it is necessary to find the main curvature and the main direction by modifying Equation 3.

表1は、提案手法における波面追跡の操作の用法を示している。すなわち、この表は、各ボクセルのためのボケ領域(blur field)の計算において、どの操作がどの段階で使用されるかを表している。   Table 1 shows the usage of the wavefront tracking operation in the proposed method. That is, this table represents which operation is used at which stage in the calculation of the blur field for each voxel.

表1は、各ボクセルのための前計算の処理を示している。これらの操作は、各ボクセルの波源から視点への、二重に屈折された光線(double refracted ray)について行われる。   Table 1 shows the pre-calculation process for each voxel. These operations are performed for double refracted rays from the source of each voxel to the viewpoint.

(眼のモデル)
乱視を含む屈折異常による見え方をシミュレートするために、従来は、波面追跡法と分散レイトレーシングを使う技術が知られている(非特許文献9参照)。本実施形態では、眼内の領域において、新たな波面追跡法を使用する。このモデルでは、眼のレンズにおける波面を変形して、円錐に似たコーノイド形状(revolved conoid shape)を形成し、そして、この形状を網膜の位置で切り取り、正確なボケ量、すなわち点広がり形状を獲得する。このボケ量はブラーフィールド(blur field)の値として、記憶部30に格納される。
(Eye model)
In order to simulate the appearance due to refractive error including astigmatism, a technique using a wavefront tracking method and distributed ray tracing is conventionally known (see Non-Patent Document 9). In this embodiment, a new wavefront tracking method is used in the intraocular region. In this model, the wavefront in the eye lens is deformed to form a revolved conoid shape that resembles a cone, and this shape is clipped at the retina location to produce the exact amount of blur, ie the point spread shape. To win. This blur amount is stored in the storage unit 30 as a blur field value.

この実施形態では、レンズ機構としての眼を、薄い、トーリックレンズと見なした。このレンズは、方向に依存し、かつ、レンズ表面にわたって均一な屈折力を持つものとした。眼科学の見地からは、この眼球モデルは、近視、遠視、老視に加えて、直乱視や斜乱視を扱えることになる。   In this embodiment, the eye as the lens mechanism is regarded as a thin toric lens. This lens was dependent on the direction and had a uniform refractive power over the lens surface. From the viewpoint of ophthalmology, this eyeball model can handle direct astigmatism and oblique astigmatism in addition to myopia, hyperopia and presbyopia.

(薄いトーリックレンズによる波面変形)
一般に、眼における波面の変形は複雑な法則に基づいている。そこで、この実施形態では、眼を、薄いトーリックレンズに近似したことに加えて、さらに、入射する光線の方向が、レンズに直交すると仮定した。この仮定は、以下の理由で合理的である。すなわち、眼球は、興味のある領域に向けて回転し、光線が、網膜の中心窩において収束する。
(Wave deformation by thin toric lens)
In general, wavefront deformations in the eye are based on complex laws. Therefore, in this embodiment, in addition to approximating the eye to a thin toric lens, it is further assumed that the direction of the incident light beam is orthogonal to the lens. This assumption is reasonable for the following reasons. That is, the eyeball rotates toward the area of interest and the light rays converge at the fovea of the retina.

以降においては、入射された波面の単純な変形を導入することにより、波面が屈折して網膜に収束する状態を記述する。   In the following, a state in which the wavefront is refracted and converges on the retina by introducing a simple deformation of the incident wavefront will be described.

眼鏡用レンズで屈折され、角膜の表面に向けて並進した後の状態を、主曲率κ及びκ、並びに、主方向e及びeをそれぞれ備えた波面として記述する。図10に記述されるように、ここでは、眼のレンズの座標系を、右手座標系とし、さらに、その原点を入射部分とした。さらに、z軸を、波面法線ベクトルと一致させた。x軸は、波面及びレンズの両方に接して、かつ水平になるようにした。簡単のため、x軸の正方向は、y軸が上を向くように決める。 The state after being refracted by the spectacle lens and translated toward the surface of the cornea is described as a wavefront having main curvatures κ 1 and κ 2 and main directions e 1 and e 2 , respectively. As described in FIG. 10, here, the coordinate system of the eye lens is the right-handed coordinate system, and the origin is the incident portion. In addition, the z-axis was matched with the wavefront normal vector. The x axis was in contact with both the wavefront and the lens and was horizontal. For simplicity, the positive direction of the x axis is determined so that the y axis faces upward.

入射した波面におけるあらゆる接線ベクトルは、レンズについても接線ベクトルとなるので、x軸を共通の接線に選ぶことができ、ここでは接ベクトルuで示される。これにより、トーリックレンズによる変形を受けた波面を記述できる。   Since every tangent vector in the incident wavefront is also a tangent vector for the lens, the x-axis can be chosen as a common tangent, and is denoted here by the tangent vector u. Thereby, it is possible to describe a wavefront subjected to deformation by a toric lens.

ωを、x軸と、第1の主方向eとの間の角度とする。そして、式3にω=−ωを代入して、方向性の曲率κ、κ及びκkyを得ることができる。 Let ω 1 be the angle between the x-axis and the first main direction e 1 . Then, by assigning ω = −ω 1 to Equation 3, the directional curvatures κ x , κ y and κ ky can be obtained.

眼のレンズの表面における波面の変形のために、ここで、スネルの法則に代えて、バージェンスの法則(vergence formula)を導入する。ここで、トーリックレンズにおける方向依存性の屈折力を、乱視における入力パラメータのセットとして導入する。   Due to the deformation of the wavefront on the surface of the eye lens, here we introduce the vergence formula instead of Snell's law. Here, the direction-dependent refractive power in the toric lens is introduced as a set of input parameters in astigmatism.

まず、基本的な屈折力P及びP、並びに、x軸と第1の主方向ω (e)との間の角度を与えると、方向依存性の屈折力P(x−z平面内において)、P(y−z平面内において)、及びPxyを、式3の適用によって得る。ここで、κ=P、κ=P、ω=−ω (e)を代入する。 First, given the basic refractive powers P 1 and P 2 and the angle between the x-axis and the first main direction ω 1 (e) , the direction-dependent refractive power P x (xz plane). ), P y (in the yz plane), and P xy are obtained by applying Equation 3. Here, κ 1 = P 1 , κ 2 = P 2 , and ω = −ω 1 (e) are substituted.

光学においては、基本的なバージェンスの法則は、
で表される。ここでVは入力光のバージェンスであり、定義によって、V=nκと表せる。ここで、入力側における媒質の屈折率nと、入力点の曲率κが用いられている。また、Pはレンズの屈折力、V'は、出力光のバージェンスである。この実施形態では、この式を、方向性の曲率及び誘導される法則に拡張し、乱視による波面の変形を導く。ここで、
である。ここで、μ=n/nであり、nは空気の屈折率、nは硝子体(Vitreous humor)の屈折率である。
In optics, the basic valence law is
It is represented by Here, V is the fluence of the input light, and can be expressed as V = nκ by definition. Here, the refractive index n of the medium on the input side and the curvature κ of the input point are used. Further, P is the refractive power of the lens, and V ′ is the fluence of the output light. In this embodiment, this equation is extended to directional curvature and induced laws, leading to wavefront deformation due to astigmatism. here,
It is. Here, μ = n 1 / n 2 , n 1 is the refractive index of air, and n 2 is the refractive index of the vitreous humor.

このようにして最終的に、波面は、5式に従って網膜に収束する。ここで、κ=κ'、κ=κ'、そして、κuv=κ'xyであり、主曲率κ'及びκ'と、第1の主方向ω'=−ωの角度を得る。 In this way, the wavefront finally converges on the retina according to equation 5. Here, κ u = κ ′ x , κ v = κ ′ y , and κ uv = κ ′ xy , the main curvatures κ ′ 1 and κ ′ 2 , and the first main direction ω ′ 1 = −ω. Get the angle.

(網膜における光の広がりの評価)
前記したような光は、トーリックレンズで屈折されると、一般的には、一点に収束しない。あるサイズの、円形の瞳を通ってきた光は、円錐に似た形状となる。この形状は、スタームのコーノイド(Sturm's conoid)として知られている。ここでは、二つの焦線(focal line)が互いに直交している(図11参照)。そこで、以下、(1)スタームのコーノイドを分析し、(2)人の眼による調節を検討する。これにより、瞳と、コーノイドを形成する一定の点光源からの光とが与えられたときに、網膜に投影される光の広がりの形状を求める。ついで、眼の調節についても検討する。
(Evaluation of the spread of light in the retina)
In general, light as described above does not converge to one point when refracted by a toric lens. Light of a certain size passing through a circular pupil has a shape resembling a cone. This shape is known as Sturm's conoid. Here, two focal lines are orthogonal to each other (see FIG. 11). Therefore, in the following, (1) the conoid of the starm is analyzed, and (2) the adjustment by the human eye is examined. Thus, the shape of the spread of light projected on the retina when the pupil and light from a certain point light source that forms a conoid are given. Next, we will consider eye adjustment.

スタームのコーノイドを簡単に検討するために、当面はz方向における回転を無視する。すなわち、ここで、ω'=0とする。一点に投影された光の広がりをシミュレートするために、z軸に直交する平面での、コーノイドの断面に着目する。zを、角膜と網膜との間における定数パラメータzとする。これにより、以下に示す楕円の式を得る。
また、rは瞳の半径である。上記のaとbは、z軸に沿う直角三角形の相似を使うことで得られる(例えば、図11における△AOCと△BPC)。パラメータκ'とκ'とは、人の眼による調整をどこ程度組み込むかによって決定される(後述)。
In order to briefly examine the Starm conoid, for the time being, the rotation in the z direction is ignored. That is, ω ′ 1 = 0. In order to simulate the spread of light projected on one point, attention is paid to the cross-section of the conoid in a plane perpendicular to the z-axis. Let z be the constant parameter z e between the cornea and the retina. As a result, the following elliptic formula is obtained.
R p is the radius of the pupil. The above a and b are obtained by using the similarity of a right triangle along the z axis (for example, ΔAOC and ΔBPC in FIG. 11). The parameters κ ′ 1 and κ ′ 2 are determined by how much adjustment by the human eye is incorporated (described later).

網膜においては、z=zであり、a、b及びω'で記述される楕円形状は、光源の点広がりを表す。ボクセルにおける波源からの光波が追跡され、そして、網膜での楕円を得ることができる。この形状をボケのパターン(すなわち「網膜上でのボケ量」)とする。このパターンは、各ボクセルからの光源が、それぞれ、生み出すものである。このボケのパターンを、それぞれのボクセルに関連付けて記録する。ただし、a、b及びω'を記録する代わりに、これと等価な2×2の行列をボクセル値として記録する。この行列は、単位円を、方向付けされた楕円に変換するものである。このようにして前計算された、それぞれのボクセルについての行列が、ブラーフィールドの要素となる。 In the retina, z e = z r , and the elliptical shape described by a, b and ω ′ 1 represents the point spread of the light source. The light wave from the wave source at the voxel is tracked and an ellipse at the retina can be obtained. This shape is a blur pattern (ie, “amount of blur on the retina”). This pattern is generated by each light source from each voxel. This blur pattern is recorded in association with each voxel. However, a, instead of recording the b and omega '1, record this equivalent 2 × 2 matrix as voxel value. This matrix converts unit circles into oriented ellipses. The matrix for each voxel, precalculated in this way, becomes the blur field element.

この行列のスケーリングファクタを決めるために、網膜と、正規化デバイス座標系(NDC)との、幾何学的な関係を考察する必要がある。NDCにおけるスケールは、本実施形態でのボクセル空間と等価なものとなっている。   To determine the scaling factor of this matrix, it is necessary to consider the geometric relationship between the retina and the normalized device coordinate system (NDC). The scale in NDC is equivalent to the voxel space in this embodiment.

とsを、水平及び垂直方向のそれぞれにおける、網膜からNDCへのスケーリングファクタとする。また、ボクセル(v,v,v)における最終的なブラーフィールドの値Bvx,vy,vz(すなわち「頂点ずれの範囲」)は以下のようになる。
Let s h and s v be the scaling factor from the retina to the NDC in the horizontal and vertical directions, respectively. Further, final blur field values B vx, vy, vz (that is, “vertex deviation range”) in the voxels (v x , v y , v z ) are as follows.

図12は、sがどのように計算されるかを表している。網膜における小さい水平方向の長さhは正規化デバイス座標系(NDC)における長さhNDCに割り当てられる。スケーリングファクタsは、hNDC/hにより計算される。垂直なスケーリングファクタsは同様に計算できる。 Figure 12 shows how s h is how they are computed. The small horizontal length h r in the retina is assigned to the length h NDC in the normalized device coordinate system (NDC). Scaling factor s h is calculated by h NDC / h r. The vertical scaling factor s v can be calculated similarly.

ここで、式9における右辺の変数は、いずれも、それぞれのボクセルに応じて変化しうることに注意する。2×2行列の乗算の結果は、それぞれのボクセルに対応して格納される。   Here, it should be noted that any of the variables on the right side in Equation 9 can change depending on the respective voxel. The result of the 2 × 2 matrix multiplication is stored corresponding to each voxel.

(眼による調節)
よく知られているように、人の眼は、ボケのパターン網膜状での最小錯乱円となるように屈折力を調節しようとする。zを眼球モデルにおける薄いレンズと網膜との距離とする。この条件は、式8においてa=−bとすることで満足される。したがって、下記式を得る。
(Adjustment by eye)
As is well known, the human eye attempts to adjust the refractive power so that it is the smallest circle of confusion with a blurred pattern of retina. Let zr be the distance between the thin lens and the retina in the eyeball model. This condition is satisfied by setting a = −b in Equation 8. Therefore, the following formula is obtained.

上記の法則を、式3,7,4および5を用いて拡張し、そして、n=1.0という事実を用いると、下記式を得る。
ここで、
である。光学的には、κバーは、眼に入射する波面の平均の曲率であり、そして、Pバーは、眼の平均的な屈折力である。
Extending the above law with equations 3, 7, 4 and 5, and using the fact that n 1 = 1.0, we get:
here,
It is. Optically, the κ bar is the average curvature of the wavefront incident on the eye, and the P bar is the average refractive power of the eye.

minバーを、標準的な、非乱視の眼における最小の(緩んだ)調節での屈折力とし、ΔPを、最大の調節能力Δmaxによって限界付けられた、調節屈折力とする。すなわち、
とする。これにより
となる。
Let P min bar be the refractive power at the minimum (relaxed) accommodation in a standard, non-astigmatic eye, and ΔP be the accommodation power limited by the maximum accommodation capacity Δ max . That is,
And This
It becomes.

式11及び12から、下記式を得る。
From the equations 11 and 12, the following equation is obtained.

上記の調節の式の意味は以下のようである。入射光の平均曲率κバーは、通常負である。これが小さくなると(つまり−κバーが大きくなると)、光波が眼に近い位置からくることになり、調節に要する努力ΔPが大きくなる。逆も同様である。Δmaxの標準的な値は表2に示される。この値は年をとるにつれて低下する。 The meaning of the above adjustment formula is as follows. The average curvature κ bar of incident light is usually negative. When this becomes smaller (that is, when the −κ bar becomes larger), the light wave comes from a position close to the eye, and the effort ΔP required for adjustment increases. The reverse is also true. Typical values for Δmax are shown in Table 2. This value decreases with age.

Aを、使用者が定義する乱視成分とする。つまり、A=P1,min−P2,minである。ここでP1,min及びP2,minは、最小の調節における、眼の基本的な屈折力であり、これは、以下のようになる。
Let A be an astigmatism component defined by the user. That is, A = P 1, min −P 2, min . Here, P 1, min and P 2, min are the basic refractive powers of the eye with minimum adjustment, which is as follows.

したがって、
である。そして、定義により、調節を考慮に入れた、眼の基本的な屈折力を得ることができる。
Therefore,
It is. And by definition, it is possible to obtain the basic refractive power of the eye taking account of adjustment.

波面追跡モジュールは、上記の二つの値を、ユーザが定義したパラメータω (e)とともに受け取り、前記した追跡を可能にしている。つまり、本実施形態では、眼のレンズのパラメータを、眼の調節機能まで考慮して設定することが可能である。 The wavefront tracking module receives the above two values along with the user defined parameter ω 1 (e) to enable the tracking described above. That is, in the present embodiment, it is possible to set the parameters of the eye lens in consideration of the eye adjustment function.

前記した表2は、標準的な眼のパラメータである。表3は、見え方をシミュレーションするために制御が必要なパラメータの例を示している。   Table 2 above is a standard eye parameter. Table 3 shows examples of parameters that need to be controlled in order to simulate the appearance.

以上により、波面追跡法を用いて、網膜上でのボケ量を、傾きを持つ楕円状の範囲として算出できる。各ボクセルに対応する頂点ずれ範囲は、ブラーフィールドの値(式(9)の2×2行列)として格納される。頂点を実際にずらせる動作は、以下で述べるレンダリングにおいて行う。   As described above, the blur amount on the retina can be calculated as an elliptical range having an inclination using the wavefront tracking method. The vertex shift range corresponding to each voxel is stored as a blur field value (2 × 2 matrix of equation (9)). The operation of actually shifting the vertices is performed in the rendering described below.

(GPUによるレンダリングの実装)
レンダリングの主要なループにおいては、ユーザが指定したサンプリングの回数に応じて、シーンは繰り返して描画される。そして、描画結果が混合されて、ボケ画像が生成される。
(Gender rendering implementation)
In the main rendering loop, the scene is drawn repeatedly according to the number of samplings specified by the user. Then, the drawing results are mixed to generate a blurred image.

それぞれのサンプリングにおいては、一個の変位種ベクトル(以下、種ベクトル。図13(a))が生成され、これが、頂点シェーダに供給される。種ベクトルは、2Dのベクトルで、単位円の中心を起点とし、当該単位円の内部においてランダムに生成された点を終点とするベクトルとなっている。   In each sampling, one displacement seed vector (hereinafter referred to as a seed vector, FIG. 13A) is generated and supplied to the vertex shader. The seed vector is a 2D vector, starting from the center of the unit circle and ending at a point randomly generated within the unit circle.

頂点シェーダでは、種ベクトルが、頂点位置に応じた実際の2D変位ベクトルに変換される(図13(b))。この変換には、前記で求めたブラーフィールドのボクセル値となる2×2行列Bvx,vy,vz(式9、図13(c))が使用される。このボクセル値は、頂点のNDC座標により参照される。ここで、視点座標系(カメラ座標系)とNDC座標系との関係を図14に示す。このようなボクセルの区切り方は、GPUで頂点処理をする際の中間結果であるNDC座標系を等間隔に区切ることで実現できる。こうすることによって、眼の近くを密にできるという品質上の利点だけでなく、表示処理時の各物体頂点座標の中間データを変位に利用することができるという、処理性能上の大きな利点がある。この座標系(NDC)での頂点は、一般に表示処理では必ず計算されるものなので、NDC座標を元に所属ボクセルが簡単に分かる。そして、そのボクセルでの変位量もNDC座標系の値であらかじめ保持しておけば、中間座標に加算するだけで変位処理が終了する。つまり、余計な座標変換が不要になるという利点がある。 In the vertex shader, the seed vector is converted into an actual 2D displacement vector corresponding to the vertex position (FIG. 13B). For this conversion, the 2 × 2 matrix B vx, vy, vz (Equation 9, FIG. 13C) that is the voxel value of the blur field obtained above is used. This voxel value is referenced by the NDC coordinate of the vertex. Here, the relationship between the viewpoint coordinate system (camera coordinate system) and the NDC coordinate system is shown in FIG. Such a voxel separation method can be realized by dividing the NDC coordinate system, which is an intermediate result when the vertex processing is performed by the GPU, at equal intervals. By doing so, there is not only a quality advantage that the vicinity of the eye can be made dense, but also a great advantage in processing performance that intermediate data of each object vertex coordinate at the time of display processing can be used for displacement. . Since the vertex in this coordinate system (NDC) is generally always calculated in the display process, the voxel to which it belongs can be easily found based on the NDC coordinates. If the amount of displacement at the voxel is also stored in advance in the value of the NDC coordinate system, the displacement process is completed simply by adding to the intermediate coordinates. That is, there is an advantage that unnecessary coordinate conversion is not required.

現実的には、頂点シェーダで必ず計算されるのはNDC座標の一歩手前の同次座標(x, y, z, w)である。本実施例では、この同次座標のwでx, y, zのそれぞれを除算することによりNDC座標を得て、2D変位ベクトルを足した後再び同次座標に戻すという処理で頂点を変位させる。   In reality, the vertex shader always calculates the homogeneous coordinates (x, y, z, w) one step before the NDC coordinates. In this embodiment, each of x, y, and z is divided by w of the homogeneous coordinates to obtain the NDC coordinates, and the vertex is displaced by the process of adding the 2D displacement vector and returning to the homogeneous coordinates again. .

ブラーフィールドの値Bvx,vy,vzは、3Dテクスチャまたは部分的な2Dテクスチャを並べた2Dテクスチャとして頂点シェーダに与えられる。ブラーフィールドの典型的なサイズは、x及びy方向において32×32ボクセル、z(深さ)方向において128ボクセルである。それぞれのフィールド値は2×2の行列であり、4要素のテクセル(texel;テクスチャ画素)として表現できる。 The blur field values B vx, vy, vz are given to the vertex shader as a 2D texture in which 3D textures or partial 2D textures are arranged. The typical size of the blur field is 32 × 32 voxels in the x and y directions and 128 voxels in the z (depth) direction. Each field value is a 2 × 2 matrix and can be expressed as a 4-element texel (texture pixel).

変位のための頂点シェーダ用コードの例を以下に示す。これは、OpenGLシェーダ言語を使ったものである。この動作により、ポリゴンの頂点を実際にずらして描画することができる。頂点のずれ量を変えながら、複数回の描画を行い、得られた画像を重ね合わせることで、ボケ画像を生成することができる。   An example of vertex shader code for displacement is shown below. This uses the OpenGL shader language. By this operation, the vertex of the polygon can be actually shifted and drawn. A blurred image can be generated by performing drawing a plurality of times while superimposing the obtained images while changing the amount of vertex shift.

図15は、本実施例における処理の全体を示す説明図である。ここに示されているように、透視変換は、第1回目のパスと第2回目のパスについてそれぞれ描画し、それらを組み合わせた2次元画像を使用者に呈示する。このような、パスごとの描画という処理自体はよく知られた手法なので、詳細な説明は省略する。   FIG. 15 is an explanatory diagram showing the entire processing in this embodiment. As shown here, in the perspective transformation, the first pass and the second pass are respectively drawn, and a two-dimensional image obtained by combining them is presented to the user. Since the process of drawing for each pass is a well-known technique, detailed description thereof is omitted.

(結果及び性能)
性能は、シーンに含まれる全てのポリゴンの数により影響される。特に、屈折レンズにおけるメッシュの複雑さは影響力を持つ。なぜなら、光線は、頂点ごとに追跡されるからである。ここでは、1000個の頂点を持つように区切られたポリゴンのモデルを使う。これは、実質的には、光線追跡法(ray tracing)と同じ程度に正確な画像を生成できるものである。以下の実験は、以下の条件で行われた。
3.2GHz Pentium4 CPU
NVIDIA GPU GeForce 7800GTX Graphics使用
1024×768ピクセルの出力画像サイズ
(Results and performance)
Performance is affected by the number of all polygons included in the scene. In particular, the complexity of the mesh in the refractive lens is influential. This is because the ray is traced for each vertex. Here, a polygon model that is divided so as to have 1000 vertices is used. This can generate an image that is substantially as accurate as ray tracing. The following experiments were performed under the following conditions.
3.2GHz Pentium4 CPU
Using NVIDIA GPU GeForce 7800GTX Graphics
Output image size of 1024 x 768 pixels

レンズを通過しながら2回屈折した状態のレンダリングでは、およそ10000ポリゴンのシーンについて、30〜40fps(frame per second)を達成した。色収差を考慮した場合、スループットは15fpsに低下した(図16参照)。図16は、色収差を考慮した描画の例である。ここでは、RGBの三色についてそれぞれ別に描画している。また、各色について、異なる屈折率を設定している。例えば、(R:1.60, G:1.61, B:1.62)である。このようにして得た画像を重ねた画像を、二次元画像として使用者に呈示する。これにより、色収差の状況を知ることができる。   Rendering twice refracted while passing through the lens achieved 30-40 fps (frame per second) for a scene with approximately 10,000 polygons. When chromatic aberration was taken into account, the throughput dropped to 15 fps (see FIG. 16). FIG. 16 is an example of drawing in consideration of chromatic aberration. Here, the three colors of RGB are drawn separately. Also, different refractive indexes are set for each color. For example, (R: 1.60, G: 1.61, B: 1.62). The image obtained by superimposing the images obtained in this way is presented to the user as a two-dimensional image. Thereby, the state of chromatic aberration can be known.

焦点ボケの表示処理は、各頂点を移動範囲内でサンプリングした複数回の描画結果を合成することで行う。その性能は、サンプリングの数に影響される。ここでは、10サンプリングのボケ画像を使用する。これは、経験上、レンズ設計の検証には十分であると考えられる。レンズによる屈折がない場合、図17の左側に示すボケ画像のフレームレートは、およそ30fpsである。眼鏡レンズによる屈折の影響を考慮に入れたレンダリングの場合は7fpsから20fps以上となった。ただし、これは、シーンの複雑さ、ウインドウサイズ、サンプリングの数によって影響される。図17の中央及び右側の画像は、それそれ、20.1fpsであった。このときの条件は、10サンプリングで、1024×768ウインドウであった。図17の画像においては、瞳の直径は2cmに設定されており、焦点ボケの結果を強調している。ブラーフィールドの値は、瞳のサイズrpに比例している。このことは、式8及び9から明らかである。   The defocus display processing is performed by combining a plurality of drawing results obtained by sampling each vertex within the movement range. Its performance is affected by the number of samplings. Here, a 10-sampled blurred image is used. From experience, this is considered sufficient for verification of the lens design. When there is no refraction by the lens, the frame rate of the blurred image shown on the left side of FIG. 17 is approximately 30 fps. In the case of rendering that takes into account the effects of refraction due to the spectacle lens, the value is 7 fps to 20 fps or higher. However, this is affected by the complexity of the scene, the window size, and the number of samples. The center and right images in FIG. 17 were 20.1 fps respectively. The conditions at this time were 1024 × 768 windows with 10 samplings. In the image of FIG. 17, the diameter of the pupil is set to 2 cm, and the result of defocus is emphasized. The value of the blur field is proportional to the pupil size rp. This is clear from equations 8 and 9.

図18は、設計中の累進焦点レンズ(progressive lens)の検証結果を示している。レンズの上半分は近視を矯正するように設計され、下半分は、レンズ中央で老視を矯正するように設計されている。下半分の左右はうまく矯正できていないが、これは、累進焦点レンズの設計が難しいことを示している。   FIG. 18 shows the verification result of the progressive lens under design. The upper half of the lens is designed to correct myopia and the lower half is designed to correct presbyopia in the center of the lens. Although the left and right sides of the lower half are not corrected well, this indicates that it is difficult to design a progressive lens.

乱視の例が図19に示されている。ここでは、ブラーフィールドの一部におけるボクセル情報が、楕円群として示されている。図19は、裸眼の乱視についての、シミュレーションによる描画結果である。対象物である新聞は、かなり近くに配置されている(左下の隅で6.1cm、右上の隅で10.7cm)。この距離では人間の眼による調整が難しく、焦点ボケが起こる。乱視の設定なので、焦点ボケ範囲すなわちブラーフィールドは楕円状になる。ブラーフィールドの一部(新聞とほぼ同じ深さにあるボクセル群)が、各ボクセルについて、楕円で表示されている。ここで、それぞれのブラーフィールドの楕円自体も、ちょうど自らの大きさの範囲内でボケて表示されていることに注目されたい。また、楕円形状は、視点からの距離に応じて異なっている。これは、スタームのコーノイドとして説明した現象に基づいている。   An example of astigmatism is shown in FIG. Here, the voxel information in a part of the blur field is shown as an ellipse group. FIG. 19 is a drawing result by simulation for astigmatism of the naked eye. The newspaper that is the object is placed quite close (6.1 cm in the lower left corner and 10.7 cm in the upper right corner). At this distance, adjustment by the human eye is difficult and defocusing occurs. Because of the astigmatism setting, the out-of-focus range, i.e. the blur field, becomes elliptical. A part of the blur field (a group of voxels at approximately the same depth as the newspaper) is displayed as an ellipse for each voxel. Here, it should be noted that the ellipses of each blur field itself are displayed out of focus within the range of their own size. The elliptical shape differs depending on the distance from the viewpoint. This is based on the phenomenon described as Sturm's conoid.

全てのブラーフィールドについての観察は図20に示されている。図20では、8×8×128のボクセルのブラーフィールドを観察した状態が示されている(右上)。また、ブラーフィールドを適用した結果も示されている(右下)。それぞれの小さい円は、ボクセルについてのブラーフィールド値を表している。視点の近くではボクセルの間隔が非常に狭くなるため、それぞれの円は互いに近づいてひとかたまりに見えている。円のサイズは、その地点での頂点ずれ範囲を示している。これは先の図19に示したとおりである。ここでは強い近視および老視がシミュレートされており、焦点は、右側のコンピュータディスプレイのモデルにのみに合っている。焦点が合う場所では、ブラーフィールドの値は零となり、円は表示されていない。   Observations for all blur fields are shown in FIG. FIG. 20 shows a state in which a blur field of 8 × 8 × 128 voxels is observed (upper right). The result of applying the blur field is also shown (lower right). Each small circle represents a blur field value for a voxel. Near the viewpoint, the voxel spacing becomes very narrow, so each circle looks close to each other and looks like a lump. The size of the circle indicates the apex deviation range at that point. This is as shown in FIG. Here, strong myopia and presbyopia are simulated, and the focus is only on the right computer display model. At the point of focus, the blur field value is zero and no circle is displayed.

この実施形態では、ブラーフィールドを生成するための前計算に、波面追跡を使用する。この前計算には、8×8×128ボクセルのブラーフィールドの場合で300ミリ秒を要した。ブラーフィールドが16×16×128であれば1秒、32×32×256であれば7秒を要した。   In this embodiment, wavefront tracking is used for the pre-computation to generate the blur field. This pre-calculation took 300 milliseconds for a blur field of 8 × 8 × 128 voxels. It took 1 second if the blur field was 16 × 16 × 128, and 7 seconds if it was 32 × 32 × 256.

(結論)
以上説明したように、本実施例の手法によれば、人の視力を考慮した、高速なレンダリング方法を提供することができる。本手法の特徴は以下の通りである。
・ほぼリアルタイムのフレームレートで、屈折とボケとを表現できる。
・様々な症状の視力と眼球レンズによる屈折とをシミュレートできる精細な眼球モデルを採用している。
・ボケ情報を空間的に分散して前計算し、ブラーフィールドとして格納しておく。
(Conclusion)
As described above, according to the method of the present embodiment, it is possible to provide a high-speed rendering method in consideration of human visual acuity. The features of this method are as follows.
-Refraction and blur can be expressed at an almost real-time frame rate.
・ A fine eyeball model that can simulate the visual acuity of various symptoms and refraction by the eyeball lens is adopted.
・ Bokeh information is spatially distributed and pre-calculated and stored as a blur field.

ブラーフィールドは、焦点ボケの高速描画のために利用できる新しい概念である。プログラム可能なGPUを使用して簡単に実装することができ、データ自体も単純で容量もさほど大きくない。空間内の位置に応じた物体の変位を必要とするような応用分野であれば、幅広い分野でブラーフィールドを適用することができる。もしプログラマが頂点変位のルーティンを追加するならば、ブラーフィールドは分散レイトレーシングと組み合わせることもできる。   Blurfield is a new concept that can be used for high-speed defocusing. It can be easily implemented using a programmable GPU, the data itself is simple and the capacity is not very large. The blur field can be applied in a wide range of fields as long as it is an application field that requires displacement of an object according to a position in space. Blurfield can also be combined with distributed ray tracing if the programmer adds vertex displacement routines.

ブラーフィールドの技術を使う場合、対象物は、メッシュ化されたポリゴンに分割される必要がある。また、このポリゴンは、ブラーフィールドのボクセルサイズと同程度の粒度である必要がある。   When using the blur field technique, the object needs to be divided into meshed polygons. Also, this polygon needs to have a granularity comparable to the blur field voxel size.

なお、前記の例においては、眼鏡レンズを用いた例を示したが、眼鏡レンズを用いなくても、視力による見え方を生成する必要がある場面であれば、本発明を適用可能である。   In the above example, an example using a spectacle lens is shown, but the present invention can be applied to a scene where it is necessary to generate a visual appearance without using a spectacle lens.

なお、本発明の範囲は、前記実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることはもちろんである。   It should be noted that the scope of the present invention is not limited to the above-described embodiment, and various modifications can be made without departing from the scope of the present invention.

例えば、前記した各構成要素は、機能ブロックとして存在していればよく、独立したハードウエアとして存在しなくても良い。また、実装方法としては、ハードウエアを用いてもコンピュータソフトウエアを用いても良い。さらに、本発明における一つの機能要素が複数の機能要素の集合によって実現されても良い。本発明における複数の機能要素が一つの機能要素により実現されても良い。   For example, each component described above may exist as a functional block, and may not exist as independent hardware. As a mounting method, hardware or computer software may be used. Furthermore, one functional element in the present invention may be realized by a set of a plurality of functional elements. A plurality of functional elements in the present invention may be realized by one functional element.

また、機能要素は、物理的に離間した位置に配置されていてもよい。この場合、機能要素どうしがネットワークにより接続されていても良い。   Moreover, the functional element may be arrange | positioned in the position physically separated. In this case, the functional elements may be connected by a network.

本実施形態に係る画像生成装置の、概略的な機能ブロック図である。It is a schematic functional block diagram of the image generation apparatus which concerns on this embodiment. 頂点ベースのレイトレーシングによる画像生成方法を説明するための説明図である。It is explanatory drawing for demonstrating the image generation method by vertex-based ray tracing. 図2の方法により描画した結果を示す図であって、図(a)及び(b)は頂点ベースのレイトレーシングによる描画結果を示し、図(c)及び(d)は従来のキューブマッピングによる描画結果を示している。FIGS. 3A and 2B are diagrams showing results drawn by the method of FIG. 2, in which FIGS. 1A and 1B show results of drawing by vertex-based ray tracing, and FIGS. 2C and 2D show drawing by conventional cube mapping. Results are shown. 凹レンズを通した屈折における描画結果を示す図である。図(b)は図(a)の右端付近を拡大したものである。It is a figure which shows the drawing result in the refraction through a concave lens. FIG. 2B is an enlarged view of the vicinity of the right end of FIG. 本実施形態における画像生成方法の一例を説明するためのフローチャートである。It is a flowchart for demonstrating an example of the image generation method in this embodiment. 本実施形態における画像生成方法の一例を説明するための説明図である。It is explanatory drawing for demonstrating an example of the image generation method in this embodiment. 本実施形態において、レンズ経路を求める方法の一例を説明するためのフローチャートである。In this embodiment, it is a flowchart for demonstrating an example of the method of calculating | requiring a lens path | route. レンズ経路を求める手法を説明するための説明図である。It is explanatory drawing for demonstrating the method of calculating | requiring a lens path | route. 図8の例において、矩形モデルを描画した結果の一例を示す説明図である。FIG. 9 is an explanatory diagram illustrating an example of a result of drawing a rectangular model in the example of FIG. 8. 波面追跡法における波面の計算手法を説明するための図である。図(a)は入力波、図(b)は乱視の眼による屈折力、図(c)は屈折された波を示している。It is a figure for demonstrating the calculation method of the wavefront in the wavefront tracking method. The figure (a) shows the input wave, the figure (b) shows the refractive power of the astigmatic eye, and the figure (c) shows the refracted wave. トーリックレンズにより形成されるスタームのコーノイドを示す図である。It is a figure which shows the conoid of the starm formed with a toric lens. 網膜上でのボケ量を、ボクセルでの頂点ずれ量に換算するための計算手法を説明するための説明図である。It is explanatory drawing for demonstrating the calculation method for converting the blur amount on a retina into the vertex shift | offset | difference amount in a voxel. ボクセルでの頂点ずれ量の計算を説明するための説明図である。図(a)は、どのボクセルにも共通する種ベクトルの例を示す図である。図(b)は、種ベクトルを用いて、あるボクセルでの頂点に与える実際の変位を示すベクトルの図(NDC座標系)である。図(c)は、あるボクセルでのブラーフィールドの値を示す計算例である。It is explanatory drawing for demonstrating calculation of the amount of vertex shifts in a voxel. FIG. 4A is a diagram showing an example of a seed vector common to all voxels. FIG. 5B is a vector diagram (NDC coordinate system) showing an actual displacement given to a vertex in a certain voxel using a seed vector. FIG. 5C is a calculation example showing the value of the blur field in a certain voxel. 視点座標系から正規化デバイス座標系に変換する手順を説明するための説明図である。It is explanatory drawing for demonstrating the procedure converted from a viewpoint coordinate system to a normalized device coordinate system. 実施例における描画手順の詳細を示す説明図である。It is explanatory drawing which shows the detail of the drawing procedure in an Example. 色収差を考慮した描画例を示す図である。It is a figure which shows the example of drawing which considered chromatic aberration. 近視及び遠視をシミュレートしたことによって得られた描画例を示す図である。It is a figure which shows the example of a drawing obtained by simulating myopia and hyperopia. 累進焦点レンズを介して対象物を見た状態をシミュレートした画像の例である。It is an example of the image which simulated the state which looked at the target object via the progressive focus lens. 乱視の裸眼における見え方のシミュレーション結果である。図(a)はボケを考慮していない場合の画像例、図(b)はボケを考慮した場合の画像例である。It is a simulation result of how to see with the naked eye of astigmatism. FIG. 5A shows an example of an image when no blur is considered, and FIG. 5B shows an example of an image when blur is taken into consideration. ブラーフィールドの例を説明するための説明図である。It is explanatory drawing for demonstrating the example of a blur field.

符号の説明Explanation of symbols

1 視点
2 ビューボリューム
3 レンズ
4 ボクセル
5 矩形モデル
10 入力部
11 入力インタフェース
20 表示部
21 出力インタフェース
30 記憶部
40 画像生成部
50 バス
1 viewpoint 2 view volume 3 lens 4 voxel 5 rectangular model 10 input unit 11 input interface 20 display unit 21 output interface 30 storage unit 40 image generation unit 50 bus

Claims (5)

ビューボリューム内に配置された対象物に対して、観察者の視点からの透視変換を行うことにより、2次元画像を生成する方法であって、さらに、以下のステップを備えた画像生成方法:
(a)前記ビューボリューム内の空間を、観察者からの視点に近いほど細かくされた複数のボクセルに区切るステップ;
(b)前記ボクセルの中心から前記視点への光路を辿ることにより、前記観察者の網膜上でのボケ量を算出するステップ;
(c)前記網膜上でのボケ量に対応する、前記ボクセル中での頂点ずれ範囲を算出して記録するステップ;
(d)前記頂点ずれ範囲に応じて、当該頂点を実際にずらすステップ;
(e)前記視点から見た前記2次元画像を透視変換により生成するステップ。
A method of generating a two-dimensional image by performing perspective transformation from an observer's viewpoint on an object placed in a view volume, and further comprising the following steps:
(A) dividing the space in the view volume into a plurality of voxels that are made finer as the viewpoint from the observer is closer;
(B) calculating a blur amount on the retina of the observer by following an optical path from the center of the voxel to the viewpoint;
(C) calculating and recording a vertex shift range in the voxel corresponding to the amount of blur on the retina;
(D) actually shifting the vertex according to the vertex shift range;
(E) generating the two-dimensional image viewed from the viewpoint by perspective transformation;
さらに、
(f)前記視点から前記ボクセルの中心への光路を求めるステップ
を有しており、このステップは、前記ステップ(b)の前に行われ、
かつ、前記ステップ(b)は、前記ステップ(f)で求めた光路を逆に辿ることにより実行される、請求項1に記載の画像生成方法。
further,
(F) determining an optical path from the viewpoint to the center of the voxel, this step being performed before the step (b);
The image generation method according to claim 1, wherein the step (b) is executed by tracing back the optical path obtained in the step (f).
前記ステップ(b)において、前記ボクセルの中心から前記視点への光路を辿る手法として、波面追跡法が用いられている、請求項1又は2に記載の画像生成方法。   The image generation method according to claim 1, wherein in step (b), a wavefront tracking method is used as a method of tracing an optical path from the center of the voxel to the viewpoint. 3次元空間内に配置された対象物に対する透視変換を行うことにより2次元画像を生成する装置であって、
この装置は、記憶部と画像生成部とを備えており、
前記記憶部は、処理に必要なデータやコンピュータプログラムを格納するものであり、
前記画像生成部は、以下の処理を行うことを特徴とする画像生成装置:
(a)前記ビューボリューム内の空間を、観察者からの視点に近いほど細かくされた複数のボクセルに区切るステップ;
(b)前記ボクセルの中心から前記視点への光路を辿ることにより、前記観察者の網膜上でのボケ量を算出するステップ;
(c)前記網膜上でのボケ量に対応する、前記ボクセル中での頂点ずれ範囲を算出して記録するステップ;
(d)前記頂点ずれ範囲に応じて、当該頂点を実際にずらすステップ;
(e)前記視点から見た前記2次元画像を透視変換により生成するステップ。
An apparatus for generating a two-dimensional image by performing perspective transformation on an object arranged in a three-dimensional space,
The apparatus includes a storage unit and an image generation unit,
The storage unit stores data and computer programs necessary for processing,
The image generation unit performs the following processing:
(A) dividing the space in the view volume into a plurality of voxels that are made finer as the viewpoint from the observer is closer;
(B) calculating a blur amount on the retina of the observer by following an optical path from the center of the voxel to the viewpoint;
(C) calculating and recording a vertex shift range in the voxel corresponding to the amount of blur on the retina;
(D) actually shifting the vertex according to the vertex shift range;
(E) generating the two-dimensional image viewed from the viewpoint by perspective transformation;
3次元空間内に配置された対象物に対する透視変換を行うことにより2次元画像を生成する方法であって、さらに、以下のステップを備えた画像生成方法を、コンピュータにより実行させることを特徴とするコンピュータプログラム:
(a)前記ビューボリューム内の空間を、観察者からの視点に近いほど細かくされた複数のボクセルに区切るステップ;
(b)前記ボクセルの中心から前記視点への光路を辿ることにより、前記観察者の網膜上でのボケ量を算出するステップ;
(c)前記網膜上でのボケ量に対応する、前記ボクセル中での頂点ずれ範囲を算出して記録するステップ;
(d)前記頂点ずれ範囲に応じて、当該頂点を実際にずらすステップ;
(e)前記視点から見た前記2次元画像を透視変換により生成するステップ。
A method of generating a two-dimensional image by performing perspective transformation on an object arranged in a three-dimensional space, and further comprising causing a computer to execute an image generation method including the following steps: Computer program:
(A) dividing the space in the view volume into a plurality of voxels that are made finer as the viewpoint from the observer is closer;
(B) calculating a blur amount on the retina of the observer by following an optical path from the center of the voxel to the viewpoint;
(C) calculating and recording a vertex shift range in the voxel corresponding to the amount of blur on the retina;
(D) actually shifting the vertex according to the vertex shift range;
(E) generating the two-dimensional image viewed from the viewpoint by perspective transformation;
JP2007165624A 2007-06-22 2007-06-22 Generation method and generation device of defocus image Withdrawn JP2009003812A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007165624A JP2009003812A (en) 2007-06-22 2007-06-22 Generation method and generation device of defocus image
PCT/JP2008/061305 WO2009001763A1 (en) 2007-06-22 2008-06-20 Defocus image generating method and generating device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007165624A JP2009003812A (en) 2007-06-22 2007-06-22 Generation method and generation device of defocus image

Publications (1)

Publication Number Publication Date
JP2009003812A true JP2009003812A (en) 2009-01-08

Family

ID=40185581

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007165624A Withdrawn JP2009003812A (en) 2007-06-22 2007-06-22 Generation method and generation device of defocus image

Country Status (2)

Country Link
JP (1) JP2009003812A (en)
WO (1) WO2009001763A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011170642A (en) * 2010-02-18 2011-09-01 Nippon Telegr & Teleph Corp <Ntt> Information display controller, information display control method and program
WO2013175923A1 (en) * 2012-05-25 2013-11-28 Hoya株式会社 Simulation device
KR20190122246A (en) * 2017-09-13 2019-10-29 텐센트 테크놀로지(센젠) 컴퍼니 리미티드 Image processing methods and devices, storage media and electronic devices

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3325323B2 (en) * 1993-01-18 2002-09-17 株式会社東芝 Display device
JP3787939B2 (en) * 1997-02-27 2006-06-21 コニカミノルタホールディングス株式会社 3D image display device
JP4229317B2 (en) * 2003-05-12 2009-02-25 株式会社バンダイナムコゲームス Image generation system, program, and information storage medium

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011170642A (en) * 2010-02-18 2011-09-01 Nippon Telegr & Teleph Corp <Ntt> Information display controller, information display control method and program
WO2013175923A1 (en) * 2012-05-25 2013-11-28 Hoya株式会社 Simulation device
CN104284622A (en) * 2012-05-25 2015-01-14 Hoya株式会社 Simulation device
JPWO2013175923A1 (en) * 2012-05-25 2016-01-12 Hoya株式会社 Simulation device
US9967555B2 (en) 2012-05-25 2018-05-08 Hoya Corporation Simulation device
KR20190122246A (en) * 2017-09-13 2019-10-29 텐센트 테크놀로지(센젠) 컴퍼니 리미티드 Image processing methods and devices, storage media and electronic devices
KR102352092B1 (en) 2017-09-13 2022-01-17 텐센트 테크놀로지(센젠) 컴퍼니 리미티드 Image processing method and apparatus, storage medium and electronic device

Also Published As

Publication number Publication date
WO2009001763A1 (en) 2008-12-31

Similar Documents

Publication Publication Date Title
AU2019419376B2 (en) Virtual try-on systems and methods for spectacles
JP7078540B2 (en) Image creation device, image creation method, image creation program, spectacle lens design method and spectacle lens manufacturing method
KR101924820B1 (en) Methods and systems for creating free space reflective optical surfaces
AU2017208994A1 (en) Eye image collection, selection, and combination
US10924727B2 (en) High-performance light field display simulator
US10586375B2 (en) Hybrid raytracing approach for modeling light reflection
EP3701358B1 (en) Systems and methods of distance-based shaders for procedurally generated graphics
CN108604385A (en) A kind of application interface display methods and device
WO2016099964A1 (en) Vision correction through graphics processing
JP2019121394A (en) Image generation device and method of generating image
US11823321B2 (en) Denoising techniques suitable for recurrent blurs
JP5632245B2 (en) Eyeglass field image display device
Yang et al. Nonlinear perspective projections and magic lenses: 3D view deformation
CA2819660C (en) System and method to achieve better eyelines in cg characters
Loos et al. Using wavefront tracing for the visualization and optimization of progressive lenses
US10088692B1 (en) Free-space lens design method
JP2009003812A (en) Generation method and generation device of defocus image
Kakimoto et al. Interactive simulation of the human eye depth of field and its correction by spectacle lenses
Nießner et al. Real-time simulation and visualization of human vision through eyeglasses on the GPU
JP5327866B2 (en) Glasses fitting simulation system, glasses fitting simulation method and program
JP2008176522A (en) Method and device for generating defocus image
Kakimoto et al. An eyeglass simulator using conoid tracing
US9588489B2 (en) Computational highlight holography
WO2002029718A2 (en) Dynamic depth-of-field emulation based on eye-tracking
JP2007299080A (en) Image generation method and image generation device

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20100907