JP5413502B2 - ハレーションシミュレーション方法、装置、及びプログラム - Google Patents
ハレーションシミュレーション方法、装置、及びプログラム Download PDFInfo
- Publication number
- JP5413502B2 JP5413502B2 JP2012504139A JP2012504139A JP5413502B2 JP 5413502 B2 JP5413502 B2 JP 5413502B2 JP 2012504139 A JP2012504139 A JP 2012504139A JP 2012504139 A JP2012504139 A JP 2012504139A JP 5413502 B2 JP5413502 B2 JP 5413502B2
- Authority
- JP
- Japan
- Prior art keywords
- image
- halation
- light source
- lens
- wide
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 72
- 238000004088 simulation Methods 0.000 title claims description 55
- 238000003384 imaging method Methods 0.000 claims description 24
- 230000004075 alteration Effects 0.000 claims description 19
- 238000012545 processing Methods 0.000 claims description 16
- 238000013507 mapping Methods 0.000 claims description 9
- 241000283080 Proboscidea <mammal> Species 0.000 claims 1
- 230000008569 process Effects 0.000 description 37
- 238000010586 diagram Methods 0.000 description 11
- 239000000203 mixture Substances 0.000 description 11
- 238000002156 mixing Methods 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 238000009434 installation Methods 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 230000002238 attenuated effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000005855 radiation Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 1
- 239000011248 coating agent Substances 0.000 description 1
- 238000000576 coating method Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
Images
Classifications
-
- G06T3/047—
Description
本発明は、撮影装置による撮影画像上に生じるハレーションをシミュレーションする技術に関する。
カメラ等の撮影装置による撮影では、外部の強い光源によってハレーションが発生することがある。このハレーションは、光源からの光によって形成される光の像である。この光の像であるハレーションは、撮影画像を不鮮明にさせるのが普通である。場合によっては、撮影画像中に何も視認できない部分を生じさせる。このようなことから、常に良好な撮影画像を要求されるような撮影装置、例えば工業製品に搭載される、或いは工業製品の製造に用いられる撮影装置では、ハレーションは防止すべき対象となっている。
例えば自動車等の車両に取り付けられるバックアイカメラでは、街灯の光が強いと、撮影範囲内に入っている、或いは入ってくる物がハレーションにより視認でき難くなる場合がある。これは、安全上、非常に望ましくない。それにより、このような工業製品に搭載される撮影装置では、ハレーションの防止、つまりその発生を抑えることは非常に重要となっている。
このハレーションは、一度に比較的に広い画角(視野角)を撮影できる広角レンズで発生しやすい。これは、広角レンズは設計上、この広角レンズの前面側が大きく突出した形となっていることが多いためである。この突出部分は、外部光源からの光を入射しやすくする。
レンズは、その焦点距離によって分類される。具体的には、焦点距離が35〜50mm(35mm版換算。以降、特に断らない限り、この換算を前提とする)あたりを「標準」、それより長いものを「望遠 (テレ)」、逆にそれよりも短いものを「広角 (ワイド)」と呼ぶことが多い。このことから、通常、焦点距離が35mm以下のレンズが広角レンズと呼ばれる。
ハレーションの発生の抑制には、レンズフードを設ける、レンズのコーティングを行う、といった手法がある。しかし、何れの手法もコスト増を招く。レンズフードは、更に視野角を狭める可能性もある。このようなことから、ハレーションの発生を抑制する対応は、ハレーションの及ぼす影響を考慮して、必要に応じて採用すべきと考えられる。それにより、撮影装置では、ハレーションを模擬するシミュレーションを容易に行えるようにすることが重要と云える。
James D. Foley等、佐藤 義雄 監訳、"コンピュータグラフィックス 理論と実践"、2001.3
本発明は、撮影装置で発生するハレーションを模擬するシミュレーションを行うための技術を提供することを目的とする。
本発明を適用した1システムは、3次元モデルに対する複数の方向からの仮想の撮影画像を合成して、撮影画像と比較して撮影範囲が大きい第1の広角画像を生成し、その3次元モデルについての透視投影についてのその3次元モデル内に想定した仮想光源によるハレーションの内容を表すハレーション画像を生成し、第1の広角画象と、透視投影についてのハレーション画象とを合成して、ハレーションを模擬した、3次元モデルについての第2の広角画像を得る。
本発明を適用した1システムでは、撮影装置で発生するハレーションを模擬するシミュレーションを行うことができる。
以下、本発明の実施形態について、図面を参照しながら詳細に説明する。
図1は、本実施形態によるハレーションシミュレーション装置を用いて構築されたシミュレーションシステムの構成を説明する図である。図1に示すように、このシミュレーションシステムは、ハレーションシミュレーション装置1に、ユーザが操作するキーボード、マウス等のポインティングデバイス等が相当するユーザインタフェース2、及びディスプレイ3を接続することで構築されている。
図1は、本実施形態によるハレーションシミュレーション装置を用いて構築されたシミュレーションシステムの構成を説明する図である。図1に示すように、このシミュレーションシステムは、ハレーションシミュレーション装置1に、ユーザが操作するキーボード、マウス等のポインティングデバイス等が相当するユーザインタフェース2、及びディスプレイ3を接続することで構築されている。
本実施形態によるハレーションシミュレーション装置(以降「シミュレーション装置」と略記)1は、カメラ等の撮影装置に発生するハレーションを模擬するシミュレーションを行うものとして実現されている。そのシミュレーション装置は、より具体的には、シミュレーションを行うためのプログラムであるハレーションシミュレーションプログラム(以降「シミュレーションソフト」)をコンピュータ等のデータ処理装置に実行させることで実現させている。
このシミュレーション装置1は、撮影装置(以降、理解を容易とするために「カメラ」を想定する)による撮影時の条件で得られると想定する撮影画像を生成することでシミュレーションを行うようになっている。それにより、シミュレーション装置1は、その条件でハレーションが発生する場合には、そのハレーションが発生した撮影画像を生成する。シミュレーションは、オペレータによって指定された3D(3次元)データ4、オペレータが指定、或いは入力したレンズデータ5及びパラメータ群6を用いて行う。
本実施形態では、シミュレーションは、カメラによる撮影によって得られると想定する、ハレーションを無視した撮影画像と、ハレーションの内容を表す画像とをそれぞれ生成し、生成したそれらの画像を合成することで、行うようにしている。以降、混乱を避けるために、シミュレーションによって最終的に得られる撮影画像は「シミュレーション画像」、カメラによる撮影によって得られると想定する撮影画像は「広角画像」、ハレーションの内容を表す画像は「ハレーション画像」或いは「反射画像」とそれぞれ呼ぶことにする。カメラによる撮影によって得られると想定する撮影画像を「広角画像」と呼ぶのは、広角画像の撮影に用いられるレンズはハレーションが発生し易いからである。言い換えれば、ハレーションが発生し易いカメラをシミュレーションの対象と想定しているからである。
シミュレーション装置1は、データ取得部11、広角画像生成部12、反射画像生成部13、ブレンド処理部14及び表示制御部15を備えた構成となっている。それらの構成要素11〜15は以下のような機能を備えている。図2〜図9の説明図を参照して具体的に説明する。
データ取得部11は、シミュレーションに必要なデータを取得する。図1では、そのデータとして、3Dデータ4、レンズデータ5及びパラメータ群6を示している。データ取得部11は、取得したデータを広角画像生成部12、及び反射画像生成部13にそれぞれ出力する。
反射画像生成部13には、データ取得部11からパラメータ群6が出力される。そのパラメータ群6を説明する前に、図2を参照して、反射画像生成部13による反射画像生成方法について具体的に説明する。その図2は、反射画像の生成方法を説明する図である。
図2に概略構成を示すカメラ20は、シミュレーションの対象とする撮影装置である。そのカメラ20は、鏡胴22の端に配置されたレンズ21により外部から光を取り込み、撮像面(例えばCCDの受光面)23に結像させることにより、撮影を行う構成となっている。ハレーションは、カメラ20の外に位置する外部光源25からの光がレンズ21を通って内部に入射し、撮像面23に達することによって生じる。このことから、ハレーション(反射画像)の生成は、外部光源25の強さ、及び位置を設定し、その外部光源25からの光が達する撮像面23上の位置、及びその光量を特定することで行われる。反射画像の生成は、カメラ20をモデル化した仮想的なもの(仮想撮影装置)を想定してハレーションを模擬するシミュレーションに相当する。
レンズ21の光軸上、或いは光軸に近い位置に強い光を放つ外部光源が存在する場合、ハレーションは防ぐことはできない。このことから、ハレーションを考慮すべき外部光源25は、図2に示すように、レンズ21の光軸上から比較的に離れた位置に存在するものとなる。それにより、レンズ21の外周にレンズフード24を設けているカメラ20では、主に、レンズフード24によって遮ることができる境界の方向の近傍に位置する外部光源25が、特に考慮の対象つまり設定の対象となる。
そのような外部光源25から放射されて撮像面23に達する光の経路は、様々である。しかし、カメラ20との位置関係から、その光の大部分は鏡胴22に反射する。ハレーションにより生じる光の像を「反射画像」と呼ぶのはこのためである。
外部光源25からの光は、外部光源25の位置によってはレンズ21内部に進入しない。このことから本実施形態では、反射画像の生成は、光がレンズ21内部に進入するか否かチェックし、そのチェック結果として光が進入する場合に行う。その生成は、レンズ21内に外部光源25の代わりとする仮想光源26を配置して行う。
光がレンズ21内部に進入するか否かのチェックには、既知の干渉チェック技術を用いることができる。仮想光源26を配置するレンズ21内部の位置は、反射画像生成部13により、例えばレンズ21の光軸と直交する径方向上で外部光源25からの光が通過する範囲を求め、その範囲の中央、或いはその近傍に決定する。そのようにして、反射画像生成部13は、レンズ21内部で外部光源25からの光が通ると考えられる経路上に仮想光源26を配置する。外部光源25からの光がレンズ21内部に進入するか否かのチェック方法、及び仮想光源26を配置する位置の決定方法は、ここに挙げたものに限定されるものではない。仮想光源26を配置する位置は、求めた範囲内であれば良い。このことから、その位置は、撮像面23に達する光量をより大きく見積もれるように考慮して決定するようにしても良い。
外部光源25から放射された光がレンズ21内部に進入するか否かは、その放射位置や放射方向によって変化する。このため、外部光源25では、その外部光源25から放射される光(光線)毎に、レンズ21内部に進入するか否かのチェックを行わなければならない。しかし、上記のような仮想光源26を外部光源25の代わりに用いる場合、そのようなチェックを行わなくとも済む。このことから、外部光源25の代わりに仮想光源26を用いる場合、反射画像の生成をより短時間に行えるようになる。
その仮想光源26から放射された光も、様々な経路で撮像面23に達する。また、光は鏡胴22での反射によって減衰する。このようなことから、本実施形態では、既知のレイトレーシング技術を用いて光が達する撮像面23上の位置、及びその光量を算出することにより、反射画像を生成するようにしている。
周知のように、レイトレーシング技術では、光源と、定めた受光点の間の経路をその受光点側から光源まで辿ることにより特定し、その受光点の光量を算出する。上記のようなケースでは、受光点は撮像面23上の各点に相当し、光源は仮想光源26に相当する。このレイトレーシング技術には、美しい画像を作りやすい、必要なメモリ容量が比較的に小さい、といった利点がある。
反射画像の生成には、レイトレーシング技術以外の技術を用いても良い。例えばレイトレーシング技術とは逆に、光源側から受光点までの光の経路を特定するフォトンマッピング技術を用いても良い。
図3は、そのようにして生成される、外部光源の反射画像例を説明する図である。この反射画像例では、外部光源25からの光が中央付近に多く集まっている。
反射画像生成部13は、上述したようにして、カメラ20の外部に仮想的に配置した外部光源25からの光によるハレーションを模擬した反射画像を生成し、生成した反射画像をブレンド処理部14に出力する。そのように反射画像を生成することから、パラメータ群6は、レンズ21の鏡面反射率、鏡胴22の反射率、カメラ20の形状データ、及び外部光源25に係わるデータを含むものとしている。カメラ20の形状データは、レンズ21及びレンズフード24の各形状を含むものである。外部光源25に係わるデータは、外部光源25の強さ、位置等を含むものである。その位置は、例えばレンズ21の光軸からの角度、及び距離により指定することができる。
反射画像生成部13は、上述したようにして、カメラ20の外部に仮想的に配置した外部光源25からの光によるハレーションを模擬した反射画像を生成し、生成した反射画像をブレンド処理部14に出力する。そのように反射画像を生成することから、パラメータ群6は、レンズ21の鏡面反射率、鏡胴22の反射率、カメラ20の形状データ、及び外部光源25に係わるデータを含むものとしている。カメラ20の形状データは、レンズ21及びレンズフード24の各形状を含むものである。外部光源25に係わるデータは、外部光源25の強さ、位置等を含むものである。その位置は、例えばレンズ21の光軸からの角度、及び距離により指定することができる。
パラメータ群6として用意すべきパラメータは、採用するモデル、或いは考慮すべき対等に応じて決定すれば良いものである。例えばカメラ20では、絞り等の不図示の構成要素を考慮しても良い。このようなことからも、特に限定されるものではない。
広角画像生成部12は、データ取得部11から3Dデータ4及びレンズデータ5を得て、広角画像を生成する。その広角画像は、複数の画像から生成される。3Dデータ4は、その複数の画像を得るために用いられる。例えば、カメラ20が車両のバックアイカメラであった場合、3Dデータ4は、車両の3Dモデルデータ、車両が置かれた撮影環境上に存在する道路、街灯、建物、他の車両、及び通行者等の物体のモデルデータ(配置を示す配置情報を含む)等を含むものである。車両の3Dモデルデータは、バックアイカメラの配置、及びその撮影方向を含むものである。カメラ20が監視カメラであった場合には、その監視カメラの位置情報、及び撮影環境上に存在する物体のモデルデータ等を含むものである。監視カメラの位置情報は、配置場所を示す情報の他に、撮影方向を含むものである。以降、広角画像の生成に用いる画像は視野角(撮影範囲)が広角画像よりも小さいと想定することから、便宜的に「標準画像」と呼ぶことにする。
標準画像の取得は、3Dデータ4が表現する撮影環境を、その標準画像が得られる仮想的なカメラ(以降「仮想カメラ」)で撮影方向を変えての複数の撮影をシミュレーションする形で行われる。本実施形態では、複数の標準画像を用いた撮影画像の生成にキューブマップ(Cubemap)を採用している。
3Dデータ4の表示は、静止画の表示に対応したソフトウェア(ビューア)を用いて行うことができる。このことから、ビューアを用いる場合には、その3Dデータ4が表現する撮影環境の撮影(仮想的な撮影)は、その撮影条件で3Dデータ4の表示画像をビューアに生成させることに相当する。
このキューブマップは、テクスチャ・マッピングの手法の一つである。キューブマップでは、視点を中心とした3Dモデルを仮想的に囲む無限大の立方体(キューブマップ)を考え、あるポリゴンに貼り付けるテクスチャをそのポリゴンの法線が立方体と交わる位置から決定する。立方体は6面であることから標準画像は、前後上下左右の6方向でそれぞれ取得する。各標準画像はそれぞれ撮影方向によって決定される立方体の面として扱われる。
図4は、キューブマップを用いて行われるテクスチャ・マッピングを説明する図である。図4に示す立方体40はキューブマップであり、そのキューブマップ40の6つの面40ft、40bk、40tp、40bm、40lt及び40rtにはそれぞれ、対応する撮影方向の標準画像が割り当てられる。具体的には、面40ftには前方向の標準画像が割り当てられる。同様に、面40bk、40tp、40bm、40lt及び40rtにはそれぞれ、後上下左右の各方向の標準画像が割り当てられる。
キューブマップによるテクスチャ・マッピングは、多数のポリゴン51が配置された仮想的な平面(仮想面)50を用いて行われる。図5は、ポリゴンが配置された平面を説明する図である。図5では、正面から見た平面50を示している。この平面50は簡略的に描いているが、実際には平面50は多数の3角形(ポリゴン)51で分割されている。各ポリゴン51は、実際に表示する広角画像では画素に相当する。
図4の41は平面50上のあるポリゴン51における法線である。そのポリゴン51のテクスチャとして、法線41がキューブマップ40の面と交わる部分42のテクスチャが決定される。このことから平面50は、テクスチャを投影する投影面として用いられる。
各ポリゴン51の法線は個別に設定することができる。このことから本実施形態では、各ポリゴン51の法線の設定により、複数の標準画像から広角画像を生成するようにしている。その法線の設定は、カメラ20のレンズ21の特性を示すレンズ収差データを用いて行うようにしている。
図6は、そのレンズ収差データの形式例を説明する図である。その収差データは、広角画像上の像高(図6中「画面上の像高」と表記)とその像高に対応させる画角の組をまとめたものとしている。図7に示すように、画角は、視点と広角画像の中心を結ぶ線(以降「視線方向」)からの角度であり、像高は、平面50上の視線方向からの距離に相当する。それにより像高と画角の組は、平面50上のポリゴン51と、そのポリゴン51のテクスチャとして決定すべきキューブマップ40の部分との関係を示すものとなっている。
図7は、レンズ収差データによるポリゴンの法線の設定方法を説明する図である。図7には便宜的に、平面50は視線方向から上の部分のみ描いている。
図7において、Wは、像高と組となった画角αの直線である。vはその組の像高と視点を結ぶ直線である。Pは、平面50上で直線Wが表す画角αと組み合わされた像高に対応する点である。W’はその像高(点P)を起点とする、直線Wと平行な直線である。この直線W’は、点Pのポリゴン51の法線として設定される。それにより、各ポリゴン51の法線W’?には、そのポリゴン51の像高、つまりその位置P?と視線方向(広角画像の中心)の間の距離に対応する画角αの直線が設定される。
図7において、Wは、像高と組となった画角αの直線である。vはその組の像高と視点を結ぶ直線である。Pは、平面50上で直線Wが表す画角αと組み合わされた像高に対応する点である。W’はその像高(点P)を起点とする、直線Wと平行な直線である。この直線W’は、点Pのポリゴン51の法線として設定される。それにより、各ポリゴン51の法線W’?には、そのポリゴン51の像高、つまりその位置P?と視線方向(広角画像の中心)の間の距離に対応する画角αの直線が設定される。
図7に示すように、点Pのポリゴン51の法線として設定される直線W’は、レンズ収差データが無い場合に設定される直線vよりも傾きが急となっている。法線の傾きをより急にすることは、キューブマップ40における視線方向からより離れた部分のテクスチャを用いることを意味する。収差データは、図6に示すように、像高が大きくなるほど、画角αもより大きくなっている。このことから、各ポリゴン51に決定されるテクスチャは、視線方向(広角画像の中心)から離れるほど、キューブマップ40上では視線方向から更に離れた部分のものとなる。その結果、生成される広角画像は、その中心から離れるにつれて像が小さくなる歪曲(タル型歪曲)収差が生じたものとなる(図9)。
このようにして画角αは、組み合わされた像高のポリゴン51に割り当てるテクスチャが存在するキューブマップ40上の位置を指定する。その位置は、標準画像上の位置であり、標準画像は実際に得られた画像である。レンズ収差データは、平面50上のポリゴン51に割り当てるテクスチャが存在するキューブマップ40上の位置を特定できるのであれば良いことから、図6に示すようなものに限定されない。
多くのポリゴン51は、像高と画角αと組み合わされた何れの像高とも一致しない。そのようなポリゴン51の法線は、補間により決定する。法線の決定に用いる補間方法は、特に限定するものではないが、1次補間方法以外の方法、例えば2次補間方法、或いは多項式補間方法等を採用するのが望ましい。
広角レンズを用いた撮影では、歪曲収差が生じるのが普通である。そのような歪曲収差が生じた広角画像を生成するのは、このためである。キューブマップ40を用いたテクスチャ・マッピングでは、平面50上の各ポリゴン51の法線の設定を通して、そのような広角画像を生成することができる。
グラフィックスの表示に必要な計算処理を行なうGPU(Graphics Processing Unit)の大部分は、キューブマップ40を用いたテクスチャ・マッピングに対応している。このため、GPUを搭載したコンピュータでは、広角画像の生成は極めて高速に行うことができる。キューブマップ40を用いた広角画像の生成を採用しているのは、このことも理由の一つである。
図8Aは、広角画像の生成手順を説明する図である。図8Aにおいて、画像81は撮影環境例、画像82はその撮影環境で得られる6つの標準画像例、画像83は画像82つまり6つの標準画像から生成される広角画像例、をそれぞれ示している。図8Bには、標準画像例の拡大図を示している。画像83、つまり生成される広角画像には、明らかな歪曲収差が生じている。
図8Bに示す6つの標準画像にそれぞれ付した82ft、82bk、82tp、82bm、82lt及び82rtには、括弧書きでキューブマップ40の各面の符号40ft、40bk、40tp、40bm、40lt或いは40rtを続けて付している。それにより、図8Bでは、6つの各標準画像82ft、82bk、82tp、82bm、82lt及び82rtが割り当てられるキューブマップ40の各面40ft、40bk、40tp、40bm、40lt及び40rtを示している。
上記広角画像は、図8A及び図8Bから明らかなように、左右を反転させたものとなっている。これは、シミュレーションを行うカメラとして、車両のバックアイカメラを想定しているためである。つまり、バックアイカメラにより撮影した画像は前(撮影する方向の逆方向)を向いて見る場合、その画像は左右を反転させたほうが望ましいと考えられるためである。
広角画像生成部12は、上記のようにして、広角画像を生成する。レンズデータ5は、例えば上記レンズ収差データ、及びカメラ20の位置情報(設置場所や撮影方向(視線方向)等の情報を含む)を含むものである。そのため、標準画像の取得には3Dデータ4の他に、レンズデータ5も用いられる。
広角画像生成部12は、法線設定部12a、及び標準画像生成部12bを備えている。法線設定部12aは、レンズ収差データに従って、平面50上の各ポリゴンの法線を設定する。標準画像生成部12bは、レンズデータ5のカメラ20の位置情報を参照し、3Dデータ4から標準画像を生成する。生成した標準画像、及び平面50を用いて生成した広角画像は、ブレンド処理部14に出力する。
生成すべき標準画像は、カメラ20の設置場所の変更により変化する。標準画像の生成に3Dデータ4を用いるのは、このためである。言い換えれば、カメラ20の設置場所の変更等に容易に対応できるようにするためである。しかし、そのような変更に対応すべき状況があまり発生しない、その変更に対応する必要性は小さいような場合には、3Dデータ4から標準画像を生成しなくとも良い。それにより、標準画像を予め用意しても良い。このことから、標準画像として、実際の撮影によって得られた撮影画像を用いるようにしても良い。
ブレンド処理部14は、広角画像生成部12、及び反射画像生成部13がそれぞれ生成した広角画像及び反射画像を得て、それらを合成することにより、シミュレーション画像を生成する。生成したシミュレーション画像は、表示制御部15に出力する。
表示制御部15は、ブレンド処理部14から入力したシミュレーション画像をディスプレイ3に表示させる。図9は、表示されるシミュレーション画像例を説明する図である。このシミュレーション画像は、図3の反射画像と、図8Aの画像83として表す広角画像を合成して得られるものである。
図14は、本実施形態を適用可能なコンピュータのハードウェア構成の一例を示す図である。ここで図14を参照して、上記シミュレーション装置10として使用可能なコンピュータの構成例について具体的に説明する。
図14に示すコンピュータは、CPU61、メモリ62、入力装置63、出力装置64、外部記憶装置65、媒体駆動装置66、ネットワーク接続装置67、及びGPU68を有し、これらがバス69によって互いに接続された構成となっている。同図に示す構成は一例であり、これに限定されるものではない。
CPU61は、当該コンピュータ全体の制御を行う。図14には一つのみ示しているが、CPU61は複数、搭載されていても良い。
メモリ62は、プログラム実行、データ更新等の際に、外部記憶装置65(あるいは可搬型の記録媒体70)に記憶されているプログラムあるいはデータを一時的に格納するRAM等の半導体メモリである。CPU61は、プログラムをメモリ62に読み出して実行することにより、全体の制御を行う。
メモリ62は、プログラム実行、データ更新等の際に、外部記憶装置65(あるいは可搬型の記録媒体70)に記憶されているプログラムあるいはデータを一時的に格納するRAM等の半導体メモリである。CPU61は、プログラムをメモリ62に読み出して実行することにより、全体の制御を行う。
入力装置63は、例えば、キーボード、マウス等のオペレータが操作する操作装置、つまり図1のユーザインタフェース2との接続を可能にする装置である。接続された操作装置に対するユーザの操作を検出し、その検出結果をCPU61に通知する。
出力装置64は、例えば表示装置と接続された表示制御装置である。図1に示す構成では、ディスプレイ3が接続される。外部記憶装置65は、例えばハードディスク装置等の大容量の記憶装置である。主に各種データやプログラムの保存に用いられる。
媒体駆動装置66は、光ディスクや光磁気ディスク等の可搬型の記録媒体70にアクセスするものである。ネットワーク接続装置67は、例えば通信ネットワークを介した外部装置との通信を可能とさせるものである。GPU68は、グラフィックスの表示に必要な計算処理を行う、キューブマップ40を用いたテクスチャ・マッピングに対応した処理装置である。
上記シミュレーションソフト、及び3Dデータ4は、外部記憶装置65、若しくは記録媒体70に記録されているか、或いは通信ネットワークを介してネットワーク接続装置67により取得される。そのシミュレーションソフトをメモリ62に読み出してCPU61が実行することにより、シミュレーション装置1は実現される。
シミュレーションの結果、つまりシミュレーション画像は、外部記憶装置65、或いは記録媒体70に保存される。その結果はネットワーク接続装置67を介して外部装置に保存させることも可能である。レンズデータ45、及びパラメータ群46は、入力装置63、或いはネットワーク接続装置67を介して取得される。それらの保存には、例えば外部記憶装置65が用いられる。
図14に示す構成では、シミュレーションソフト、及び3Dデータ4が外部記憶装置65に格納され、レンズデータ5及びパラメータ群6が入力装置63を介して入力されると想定する場合、データ取得部11は、CPU61、メモリ62、入力装置63、外部記憶装置65及びバス69によって実現される。広角画像生成部12、反射画像生成部13及びブレンド処理部14は共に、CPU61、メモリ62、外部記憶装置65及びバス69によって実現される。表示制御部15は、CPU61、メモリ62、出力装置64、外部記憶装置65及びバス69によって実現される。
以降は、図10〜図13に示す各処理のフローチャートを参照して、シミュレーション装置1の動作について詳細に説明する。
図10は、シミュレーション画像生成処理のフローチャートである。このハレーション画像生成処理は、シミュレーション画像を生成するための処理であり、図14に示す構成において、CPU61がシミュレーションソフトを実行することで実現される。
図10は、シミュレーション画像生成処理のフローチャートである。このハレーション画像生成処理は、シミュレーション画像を生成するための処理であり、図14に示す構成において、CPU61がシミュレーションソフトを実行することで実現される。
先ず、ステップS1では、CPU61は広角画像を生成するための広角画像生成処理を実行する。続くステップS2では、CPU61は反射画像を生成するための反射画像生成処理を実行する。その後はステップS3に移行して、CPU61は広角画像と反射画像をブレンドするブレンド処理を実行する。そのブレンド処理の実行後、このハレーション画像生成処理を終了する。
広角画像生成部12は、ステップS1の広角画像生成処理をCPU61が実行することで実現される。反射画像生成部13は、ステップS2の反射画像生成処理をCPU61が実行することで実現される。ブレンド処理部14及び表示制御部15は、ステップS3のブレンド処理をCPU61が実行することで実現される。
シミュレーション画像生成処理は、3Dデータ4、レンズデータ5、及びパラメータ群6を用いて実行される。これらのデータは、例えば専用の入力画面により指定、或いは入力されるようになっている。例えば3Dデータ4がその格納場所によって指定され、レンズデータ5及びパラメータ群6が入力されるようになっている。シミュレーション画像生成処理は、例えばその入力画面上で実行を指示できるようになっている。この入力画面上に入力されたデータはメモリ62、或いは外部記憶装置65に保存され、必要に応じて参照される。それにより、データ取得部11は、この入力画面の表示、及びデータ入力のための処理の実行によって実現される。
図11は、広角画像生成処理のフローチャートである。次に図11を参照して、この広角画像生成処理について詳細に説明する。
先ず、ステップS11では、CPU61はレンズデータ5のレンズ収差データを読み込む。次のステップS12では、CPU61は平面50(図11では「テクスチャ表示用のメッシュ」及び「テクスチャ表示メッシュ」と表記)を生成する。その平面50の各ポリゴン51の法線は、図7に示すように、レンズ収差データ、及びその位置(像高)から設定される。そのようにして設定する法線は、ポリゴン51の位置(像高)に相当する画角を有するものである。各ポリゴン51の法線の設定が終了した後はステップS13に移行する。
先ず、ステップS11では、CPU61はレンズデータ5のレンズ収差データを読み込む。次のステップS12では、CPU61は平面50(図11では「テクスチャ表示用のメッシュ」及び「テクスチャ表示メッシュ」と表記)を生成する。その平面50の各ポリゴン51の法線は、図7に示すように、レンズ収差データ、及びその位置(像高)から設定される。そのようにして設定する法線は、ポリゴン51の位置(像高)に相当する画角を有するものである。各ポリゴン51の法線の設定が終了した後はステップS13に移行する。
本実施形態では、平面50を分割するポリゴン51の数、つまりポリゴンのマイクロポリゴンへの分割は、オペレータの設定に沿って行うようにしている。この設定(指定)は、例えば上記専用の入力画面上で解像度の選択により行うようになっている。この選択された解像度は、パラメータ群6を構成する1パラメータとして扱われる。CPU61は、設定された解像度に従って平面50をポリゴン51に分割する。
オペレータは、この解像度の選択により、生成されるシミュレーション画像の精度、及び描画速度を調整することができる。比較的に低い解像度を選択した場合、低精度のシミュレーション画像をより短時間に表示させることができ、比較的に高い解像度を選択した場合には、比較的に長い時間がかかっても高精度のシミュレーション画像を表示させることができる。
ステップS13では、仮想カメラを想定し、その仮想カメラを上下左右前後に向けて、3Dデータ4によって表現される撮影環境をビューアにより順次、表示し、各表示画像をフレームバッファから読み込む。撮影環境の表示、つまり仮想カメラによる撮影結果とする標準画像の取得は、レンズデータ5が示すカメラ20の位置情報(設置場所)に沿って行う。次のステップS14では、読み込んだ各表示画像をキューブマップ40のテクスチャとして登録する。それにより、各表示画像は標準画像として、キューブマップ40の各面40bk、40tp、40bm、40lt及び40rtの何れかに割り当てる。その次に移行するステップS15では、平面50を用いて、キューブマップ40から広角画像83を生成し登録する。その平面50は、レンズデータ5が示すカメラ20の位置情報(設置場所や撮影方向(視線方向)等)から特定される位置に配置する。そのようにして、カメラ20を想定した広角画像83を生成した後、この広角画像生成処理を終了する。
広角画像の生成は、CPU61がGPU68に、例えば平面50、登録した標準画像、及び平面50の配置の特定等に用いられる生成条件を送出し、その平面50及び標準画像を用いた広角画像の生成を指示することで行われる。このことからCPU61は、実際には広角画像の生成は行わない。GPU68から入力した広角画像を登録する。
図12は、反射画像生成処理のフローチャートである。次に図12を参照して、この反射画像生成処理について詳細に説明する。
先ず、ステップS21では、CPU61はパラメータ群6を参照し、外部光源25の位置からの直線とカメラ20の部品の交差をチェックする。それにより、外部光源25からの光がレンズ21に入射するか否か確認する。続くステップS22では、CPU61はそのチェック結果から、交差があるか否か判定する。交差が確認できなかった場合、判定はNOとなり、ステップS23に移行して、CPU61は反射画像無しとして反射画像生成処理を終了する。その交差が確認できた場合には、判定はYESとなってステップS24に移行する。
先ず、ステップS21では、CPU61はパラメータ群6を参照し、外部光源25の位置からの直線とカメラ20の部品の交差をチェックする。それにより、外部光源25からの光がレンズ21に入射するか否か確認する。続くステップS22では、CPU61はそのチェック結果から、交差があるか否か判定する。交差が確認できなかった場合、判定はNOとなり、ステップS23に移行して、CPU61は反射画像無しとして反射画像生成処理を終了する。その交差が確認できた場合には、判定はYESとなってステップS24に移行する。
ステップS24では、CPU61はレンズ21内に仮想光源26を配置し、鏡胴22の反射率を考慮して、その仮想光源26から撮像面23に達する光線(大部分は反射光線)を生成することにより、反射画像を生成する。そのような反射画像の生成は、既知のレイトレーシング・アルゴリズムを用いて行う。それにより、仮想光源26と撮像面23の光の経路は撮像面23側から辿ることで特定し、光線の光量は特定した経路、及び反射率に応じて減衰させる。反射画像の生成後に移行するステップS25では、CPU61は反射画像を登録する。その後、この反射画像生成処理を終了する。
図13は、ブレンド処理のフローチャートである。最後に図13を参照して、このブレンド処理について詳細に説明する。
先ず、ステップS31では、CPU61は反射画像が存在するか否かのチェックを行う。次のステップS32では、CPU61はそのチェック結果から、反射画像が存在するか否か判定する。反射画像が登録されていた場合、判定はYESとなって、ステップS34に移行する。反射画像が登録されていない場合には、判定はNOとなってステップS33に移行し、CPU61は広角画像をシミュレーション画像として表示させる。その後、このブレンド処理を終了する。
先ず、ステップS31では、CPU61は反射画像が存在するか否かのチェックを行う。次のステップS32では、CPU61はそのチェック結果から、反射画像が存在するか否か判定する。反射画像が登録されていた場合、判定はYESとなって、ステップS34に移行する。反射画像が登録されていない場合には、判定はNOとなってステップS33に移行し、CPU61は広角画像をシミュレーション画像として表示させる。その後、このブレンド処理を終了する。
ステップS34では、反射画像、広角画像の画素を対応付けて、各画素のRGB成分の値を算出(変換)する。その変換は、シミュレーション画像(の画素値)をPi、広角画像(の画素値)をPo、反射画像(の画素値)をQとした場合、
Pi、=Po+α*Q
により行う。そのような変換を各画素でRGB成分ごとに行うことにより、広角画像と反射画像のブレンドが実現される。それにより、ステップS35には、全ての画素の変換を行った後に移行する。
Pi、=Po+α*Q
により行う。そのような変換を各画素でRGB成分ごとに行うことにより、広角画像と反射画像のブレンドが実現される。それにより、ステップS35には、全ての画素の変換を行った後に移行する。
シミュレーション画像の生成、つまり広角画像と反射画像のブレンドは、全ての画素の変換を行うことで完了する。ステップS35では、CPU61は変換によって得られたシミュレーション画像をディスプレイ3に表示させる。その後、このブレンド処理を終了する。
シミュレーション画像は、広角画像や反射画像と同様に、登録(保存)される。それにより、必要に応じて表示させることが可能となっている。画像の保存先は、例えば上記入力画面上で指定できるようになっている。
なお、本実施形態では、シミュレーション画像生成処理の実行時に平面50を生成するようにしているが、その平面50の生成は必要に応じて行うようにしても良い。これは、レンズ収差データを変更しなければ、生成する平面50は同じとなるからである。同様に、標準画像も3Dデータ4、つまり撮影環境、或いはカメラ20の配置、若しくは撮影方向等が変更されない限り、変化しない。広角画像は、標準画像、及び平面50のうちの少なくとも一方が変化しない限り、変化しない。このようなことから、標準画像、及び広角画像も必要に応じて生成するようにしても良い。標準画像は、生成するのではなく、予め用意しても良い。
シミュレーション画像生成処理を実現させるシミュレーションソフトは、GPU68による広角画像の生成を想定したものである。このシミュレーションソフトは、GPU68を搭載していないコンピュータを想定したものであっても良い。或いはGPU68を搭載しているか否かに応じて処理内容を変更するようなものであっても良い。
Claims (6)
- コンピュータに、
3次元モデルに対する複数の方向からの仮想の撮影画像を合成して、前記撮影画像と比較して撮影範囲が大きい第1の広角画像を生成し、
該3次元モデルについての透視投影についての該3次元モデル内に想定した仮想光源によるハレーションの内容を表すハレーション画像を生成し、
前記第1の広角画象と、前記透視投影についてのハレーション画象とを合成して、ハレーションを模擬した、前記3次元モデルについての第2の広角画像を得る、
処理を実行させるためのシュミレーションプログラム。 - コンピュータに、
前記コンピュータが有するメモリに保存された、撮影対象に対して複数の方向から得られた複数の第1の画像から、撮影装置のレンズによる収差を反映させて前記第1の画像と比較して撮影範囲が大きい第2の画像を生成する第1の画像生成手順と、
前記撮影装置の外部に位置する光源からの光が該撮影装置に入射することによって生じるハレーションの内容を表す第3の画像を生成する第2の画像生成手順と、
前記第2の画像と前記第3の画像を合成して、前記光源によって生じるハレーションを模擬した第4の画像を生成する第3の画像生成手順と、
を実行させるためのハレーションシミュレーションプログラム。 - 前記複数の第1の画像は、前後上下左右の6方向から得られた画像群であり、
前記第1の画像生成手順では、各ポリゴンの法線を設定した仮想面を用いたキューブ・マッピングにより、前記撮影装置のレンズによる収差を反映して、前記複数の第1の画像から前記第2の画像を生成する、
ことを特徴とする請求項2記載のハレーションシミュレーションプログラム。 - 前記第1の画像生成手順では、前記仮想面を分割するポリゴン数を変更する、
ことを特徴とする請求項3記載のハレーションシミュレーションプログラム。 - コンピュータを用いて画像をシミュレートする方法であって、
前記コンピュータが有するプロセッサが、
前記コンピュータが有するメモリに保存された、撮影対象に対して複数の方向から得られた複数の第1の画像から、撮影装置のレンズによる収差を反映させて前記第1の画像と比較して撮影範囲が大きい第2の画像を生成し、
前記撮影装置の外部に位置する光源からの光が該撮影装置に入射することによって生じるハレーションの内容を表す第3の画像を生成し、
前記第2の画像と前記第3の画像を合成して、前記光源によって生じるハレーションを模擬した第4の画像を生成する、
ことを特徴とするハレーションシミュレーション方法。 - 撮影対象に対して複数の方向から得られた複数の第1の画像から、撮影装置のレンズによる収差を反映させて前記第1の画像と比較して撮影範囲が大きい第2の画像を生成する第1の画像生成手段と、
前記撮影装置の外部に位置する光源からの光が該撮影装置に入射することによって生じるハレーションの内容を表す第3の画像を生成する第2の画像生成手段と、
前記第2の画像と前記第3の画像を合成して、前記光源によって生じるハレーションを模擬した第4の画像を生成する第3の画像生成手段と、
を具備することを特徴とするハレーションシミュレーション装置。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2010/001673 WO2011111095A1 (ja) | 2010-03-09 | 2010-03-09 | ハレーションシミュレーション方法、装置、及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2011111095A1 JPWO2011111095A1 (ja) | 2013-06-27 |
JP5413502B2 true JP5413502B2 (ja) | 2014-02-12 |
Family
ID=44562944
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012504139A Expired - Fee Related JP5413502B2 (ja) | 2010-03-09 | 2010-03-09 | ハレーションシミュレーション方法、装置、及びプログラム |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP5413502B2 (ja) |
WO (1) | WO2011111095A1 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6115639B2 (ja) * | 2013-07-19 | 2017-04-19 | 富士通株式会社 | 情報処理装置、検査範囲の計算方法、及びプログラム |
CN111899157A (zh) * | 2020-07-16 | 2020-11-06 | 中国人民解放军海军航空大学 | 一种利用蒙版技术对杂散光干扰模拟方法 |
CN113886910B (zh) * | 2021-09-14 | 2023-05-30 | 襄阳达安汽车检测中心有限公司 | 仿真路灯的创建方法、装置、设备及可读存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005215974A (ja) * | 2004-01-29 | 2005-08-11 | Namco Ltd | プログラム、情報記憶媒体及びゲーム装置 |
-
2010
- 2010-03-09 WO PCT/JP2010/001673 patent/WO2011111095A1/ja active Application Filing
- 2010-03-09 JP JP2012504139A patent/JP5413502B2/ja not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005215974A (ja) * | 2004-01-29 | 2005-08-11 | Namco Ltd | プログラム、情報記憶媒体及びゲーム装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2011111095A1 (ja) | 2011-09-15 |
JPWO2011111095A1 (ja) | 2013-06-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11069124B2 (en) | Systems and methods for reducing rendering latency | |
JP4990852B2 (ja) | 3次元移動の自由視点映像生成システムおよび記録媒体 | |
US11138782B2 (en) | Systems and methods for rendering optical distortion effects | |
US8817079B2 (en) | Image processing apparatus and computer-readable recording medium | |
US6621925B1 (en) | Image processing apparatus and method and information providing medium | |
JP7201869B1 (ja) | 前の目線からのレンダリングされたコンテンツおよびレンダリングされなかったコンテンツを使用した新しいフレームの生成 | |
US10699467B2 (en) | Computer-graphics based on hierarchical ray casting | |
US20190318529A1 (en) | Systems and Methods for Rendering Foveated Effects | |
CN112399158B (zh) | 投影图像校准方法、装置及投影设备 | |
CN113490879A (zh) | 使用实时光线跟踪以用于透镜重新映射 | |
JP5413502B2 (ja) | ハレーションシミュレーション方法、装置、及びプログラム | |
JP3629243B2 (ja) | モデリング時の距離成分を用いてレンダリング陰影処理を行う画像処理装置とその方法 | |
US10382679B2 (en) | Drawing apparatus, drawing method, and drawing program | |
US20230162442A1 (en) | Image processing apparatus, image processing method, and storage medium | |
US9595132B2 (en) | Methods and apparatuses of lens flare rendering using linear paraxial approximation, and methods and apparatuses of lens flare rendering based on blending | |
JP2016072691A (ja) | 画像処理装置及びその制御方法、プログラム | |
JP2018014583A (ja) | 画像処理装置 | |
KR102611481B1 (ko) | 이미지 내의 좌표들 간의 실제 거리를 계산하는 방법 및 장치 | |
US11615574B2 (en) | System and method for rendering 6 degree-of-freedom virtual reality | |
US20230245378A1 (en) | Information processing apparatus, information processing method, and medium | |
WO2017145755A1 (ja) | 情報処理装置および情報処理方法 | |
US8462157B2 (en) | Computing the irradiance from a disk light source at a receiver point | |
CN115209044A (zh) | 形成对象的图像的方法、计算机程序产品和图像形成系统 | |
JP2015072565A (ja) | 画像処理装置、画像処理方法およびプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130625 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130826 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20131015 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20131028 |
|
LAPS | Cancellation because of no payment of annual fees |