(57)【特許請求の範囲】
【請求項１】
３Ｄモデル内の所定の視点位置に仮想的に配置された撮像部によって撮像される撮像画像を前記３Ｄモデルのデータに基づいて作成する撮像画像作成手順と、
前記撮像画像作成手順によって作成された撮像画像を所定角形状の画像領域に分割し、各画像領域に属する前記データに基づいて各画像領域の曲率を算出する曲率算出手順と、
前記曲率算出手順によって算出された各画像領域の曲率に基づいて、前記視点位置から所定の距離に仮想的に配置される仮想平面のメッシュの精粗を調整する精粗調整手順と、
前記撮像部に用いられる、広角レンズの収差データを参照し、前記仮想平面のメッシュの法線を調整し、調整された法線の延長線と交わる位置にある前記画像領域の前記撮像画像を、前記精粗調整手順によって調整された仮想平面のメッシュの精粗に応じて前記仮想平面のメッシュに投影することで、当該広角レンズを通して撮像される広角画像を生成する広角画像生成手順と
をコンピュータに実行させることを特徴とするシミュレーションプログラム。
【請求項２】
前記精粗調整手順は、
各画像領域の曲率値から曲率の平均値を算出し、画像領域の曲率値が該平均値に近似するように隣接する複数の画像領域を１個の画像領域として併合し、または画像領域の曲率値が該平均値に近似するように１個の画像領域を複数の画像領域に分割する画像領域調整手順と、
前記収差データに基づいて、前記画像領域調整手順によって調整された画像領域を前記撮像部から撮像されるべき高さに変換し、変換した画像領域に応じて前記仮想平面のメッシュの精粗を調整する仮想平面精粗調整手順と
を含むことを特徴とする請求項１に記載のシミュレーションプログラム。
【請求項３】
前記画像領域調整手順は、
前記視点位置を経時的に移動させる場合に、各画像領域の曲率値から曲率の平均値を算出し、画像領域の曲率値が該平均値に近似するように隣接する複数の画像領域を１個の画像領域として併合することを特徴とする請求項２に記載のシミュレーションプログラム。
【請求項４】
前記画像領域調整手順は、
前記視点位置を移動させないで前記撮像画像に含まれた対象物を移動させる場合に、移動後の当該対象物を包含する画像領域の曲率を、移動前の当該対象物を包含する画像領域の曲率に置換することを特徴とする請求項２に記載のシミュレーションプログラム。
【請求項５】
３Ｄモデル内の所定の視点位置に仮想的に配置された撮像部によって撮像される撮像画像を前記３Ｄモデルのデータに基づいて作成する撮像画像生成部と、
前記撮像画像生成部によって作成された撮像画像を所定角形状の画像領域に分割し、各画像領域に属する前記データに基づいて各画像領域の曲率を算出する曲率算出部と、
前記曲率算出部によって算出された各画像領域の曲率に基づいて、前記視点位置から所定の距離に仮想的に配置される仮想平面のメッシュの精粗を調整する精粗調整部と、
前記撮像部に用いられる、広角レンズの収差データを参照し、前記仮想平面のメッシュの法線を調整し、調整された法線の延長線と交わる位置にある前記画像領域の前記撮像画像を、前記精粗調整部によって調整された仮想平面のメッシュの精粗に応じて前記仮想平面のメッシュに投影することで、当該広角レンズを通して撮像される広角画像を生成する広角画像生成部と
を有することを特徴とするシミュレーション装置。
【請求項６】
コンピュータが動画像のシミュレーションを実行するシミュレーション方法であって、
３Ｄモデル内の所定の視点位置に仮想的に配置された撮像部によって撮像される撮像画像を前記３Ｄモデルのデータに基づいて作成する撮像画像作成ステップと、
前記撮像画像作成ステップによって作成された撮像画像を所定角形状の画像領域に分割し、各画像領域に属する前記データに基づいて各画像領域の曲率を算出する曲率算出ステップと、
前記曲率算出ステップによって算出された各画像領域の曲率に基づいて、前記視点位置から所定の距離に仮想的に配置される仮想平面のメッシュの精粗を調整する精粗調整ステップと、
前記撮像部に用いられる、広角レンズの収差データを参照し、前記仮想平面のメッシュの法線を調整し、調整された法線の延長線と交わる位置にある前記画像領域の前記撮像画像を、前記精粗調整ステップによって調整された仮想平面のメッシュの精粗に応じて前記仮想平面のメッシュに投影することで、当該広角レンズを通して撮像される広角画像を生成する広角画像生成ステップと
を含むことを特徴とするシミュレーション方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、シミュレーションプログラム、シミュレーション装置及びシミュレーション方法に関する。
【背景技術】
【０００２】
近年、車両や建物等に、広い範囲を写すことができる広角レンズを取り付けたカメラが広く普及している。広角レンズを取り付けたカメラの配置設計では、当該カメラが障害物等に遮られないように適切な位置や方向に配置されることが重要となる。
【０００３】
ところが、広角レンズの歪みの特性は、レンズ毎に異なるものである。このため、例えばＯｐｅｎＧＬ（Open Graphics Library）やＤｉｒｅｃｔＸ等の３ＤグラフィックＡＰＩ（Application Program Interface）を用いても、広角レンズを通した動画像のシミュレーションを簡易的に行うことが困難であった。
【０００４】
そこで、従来から、広角レンズを通した画像を再現するために、例えばキューブマップ等のテクスチャマッピング機能を用いて、適当な大きさに分割したメッシュに６方向の透視画像（テクスチャ）を貼り付ける技術がある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００３−２６４８２５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、広角レンズを通した画像をシミュレーションする従来の技術では、メッシュを細かく分割すればする程、シミュレーション処理に負荷がかかるので、シミュレーションの処理時間が相当かかる。一方、メッシュを大きく分割すればする程、シミュレーションの処理結果を示す画像が粗くなるという問題があった。
【０００７】
開示の技術は、上記に鑑みてなされたものであって、広角レンズの歪みに対応したシミュレーション画像の精度を保ちながら且つ処理負荷を軽減できるシミュレーションプログラム、シミュレーション装置及びシミュレーション方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本願の開示するシミュレーションプログラムは、一つの態様において、３Ｄモデル内の所定の視点位置に仮想的に配置された撮像部によって撮像される撮像画像を前記３Ｄモデルのデータに基づいて作成する撮像画像作成手順と、前記撮像画像作成手順によって作成された撮像画像を所定角形状の画像領域に分割し、各画像領域に属する前記データに基づいて各画像領域の曲率を算出する曲率算出手順と、前記曲率算出手順によって算出された各画像領域の曲率に基づいて、前記視点位置から所定の距離に仮想的に配置される仮想平面のメッシュの精粗を調整する精粗調整手順と、前記精粗調整手順によって調整された仮想平面のメッシュの精粗に応じて、前記撮像部に用いられる広角レンズの収差データを前記撮像画像に適用し、当該広角レンズを通して撮像される広角画像を生成する広角画像生成手順とをコンピュータに実行させる。
【発明の効果】
【０００９】
本願の開示するシミュレーションプログラムの一つの態様によれば、広角レンズの歪みに対応したシミュレーション画像の精度を保ちながら且つ処理負荷を軽減できるという効果を奏する。
【図面の簡単な説明】
【００１０】
【図１】図１は、実施例１に係るシミュレーション装置の構成を示す機能ブロック図である。
【図２】図２は、実施例２に係るシミュレーション装置の構成を示す機能ブロック図である。
【図３】図３は、レンズ収差記憶部のデータ構造の一例を示す図である。
【図４】図４は、仮想平面の具体例を示す図である。
【図５】図５は、撮像画像生成の具体例を示す図である。
【図６】図６は、曲率算出及び画像領域調整の具体例を示す図である。
【図７】図７は、仮想平面精粗調整及び広角画像生成の具体例を示す図である。
【図８】図８は、シミュレーション処理の手順を示すフローチャートである。
【図９】図９は、画像領域調整処理の手順を示すフローチャートである。
【図１０】図１０は、従来技術におけるキューブマップを用いた画像生成を示す図である。
【図１１】図１１は、シミュレーション装置の別の用途を示す図である。
【図１２】図１２は、画像領域調整の具体例を示す図である。
【図１３】図１３は、シミュレーションプログラムを実行するコンピュータを示す図である。
【発明を実施するための形態】
【００１１】
以下に、本願の開示するシミュレーションプログラム、シミュレーション装置及びシミュレーション方法の実施例を図面に基づいて詳細に説明する。なお、以下の実施例では、３次元（３dimension）モデル上に設置される仮想的な広角レンズの映像シミュレーションに適用する場合を示す。また、本実施例を実現するために、キューブマップのテクスチャマッピング機能を用いた技術を採用するものとして説明する。しかし、本実施例によりこの発明が限定されるものではない。
【実施例１】
【００１２】
図１は、本実施例１に係るシミュレーション装置の構成を示す機能ブロック図である。図１に示すように、シミュレーション装置１は、撮像画像生成部１１、曲率算出部１２、精粗調整部１３及び広角画像生成部１４を有する。
【００１３】
撮像画像取得部１１は、３Ｄモデル内の所定の視点位置に仮想的に配置された撮像部によって撮像される撮像画像を当該３Ｄモデルのデータに基づいて作成する。曲率算出部１２は、撮像画像生成部１１によって作成された撮像画像を所定角形状の画像領域に分割し、各画像領域に属するデータに基づいて各画像領域の曲率を算出する。ここで、算出される曲率の値が小さい画像領域は、凹凸の差が小さい平坦な粗い領域であり、算出された曲率の値が大きい画像領域は、凹凸の差が大きい密な領域である。
【００１４】
精粗調整部１３は、曲率算出部１２によって算出された各画像領域の曲率に基づいて、視点位置から所定の距離に仮想的に配置される仮想平面のメッシュの精粗を調整する。広角画像生成部１４は、精粗調整部１３によって調整された仮想平面のメッシュの精粗に応じて、撮像部に用いられる広角レンズの収差データを撮像画像に適用し、当該広角レンズを通して撮像される広角画像を生成する。
【００１５】
このようにして、シミュレーション装置１は、撮像画像を所定角形状の画像領域に分割し、分割した画像領域毎に曲率を算出し、算出した画像領域毎の曲率に基づいて、仮想平面のメッシュの精粗を調整する。仮に、シミュレーション装置１が、曲率の小さい画像領域に対応する仮想平面のメッシュを粗くし、曲率の大きい画像領域に対応する仮想平面のメッシュを密にするとする。この場合、シミュレーション装置１は、曲率に無関係にメッシュを一様に密にする場合と比較して、ある程度の画像の精度を保ちながら、且つ処理負荷を軽減できる。また、シミュレーション装置１は、曲率に無関係にメッシュを一様に粗くする場合と比較して、画像全体が粗くなることから軽減でき、画像の精度を保つことができる。
【実施例２】
【００１６】
［実施例２に係るシミュレーション装置の構成］
図２は、本実施例２に係るシミュレーション装置２の構成を示す機能ブロック図である。シミュレーション装置２は、入力部２１、出力部２２、記憶部２３及び制御部２４を有する。
【００１７】
入力部２１は、ユーザが操作データを入力するための装置であり、例えば、キーワード、マウスまたはタッチパネル型ディスプレイ等を含む。出力部２２は、制御部２４によって生成された画像を出力する装置であり、例えば、ＣＲＴ（Cathode Ray Tube）、ＬＣＤ（Liquid Crystal Display）、タッチパネル型ディスプレイ等を含む。
【００１８】
記憶部２３は、３次元データ記憶部２３１及びレンズ収差記憶部２３２を有する。なお、記憶部２３は、例えば、ＲＡＭ（Random Access Memory）、フラッシュメモリ（flash memory）等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置を含む。
【００１９】
３次元データ記憶部２３１は、キューブマップのテクスチャマッピング機能環境を整えるための３Ｄモデルのデータを記憶する。具体的には、３次元データ記憶部２３１は、広角カメラを取り付けた製品やシミュレーションを行う撮影環境を３Ｄモデルのデータとして予め記憶する。広角カメラを取り付けた製品の１つの例として、バックアイカメラを取り付けた車両があり、この車両の撮影環境の１つの例として、道路、街灯や通行者の人体モデルがある。また、広角カメラを取り付けた製品の別の例として、広角カメラを監視カメラとして取り付けた監視システムがあり、この監視システムの撮影環境の１つの例として、建物、侵入者の人体モデルがある。
【００２０】
なお、実施例では、キューブマップのテクスチャマッピング機能を用いるために、キューブマップに貼り付ける６方向の画像（撮像画像）を、撮影環境の３Ｄモデルのデータとして予め記憶するようにしても良い。また、後述する仮想平面生成部２４１によって生成される仮想平面の仮想的平面データを３Ｄモデルのデータとして予め記憶する。
【００２１】
レンズ収差記憶部２３２は、広角レンズの収差データとして、実像高と広角レンズ上の像高とを対応付けて記憶する。また、レンズ収差記憶部２３２は、予め実験等で調べられた各値を３Ｄモデル内の仮想的に配置される仮想レンズに対応した広角レンズの種類毎に記憶する。ここで、レンズ収差記憶部２３２について図３を参照しながら説明する。図３は、レンズ収差記憶部のデータ構造の一例を示す図である。図３に示すように、レンズ収差記憶部２３２は、実像高２３２ａ及び画面像高２３２ｂを対応付けて記憶する。
【００２２】
実像高２３２ａは、視点位置から所定の距離だけ離れた位置に配置される実像を、広角レンズを通さないで撮像した場合の当該実像の画角を示す。画面像高２３２ｂは、視点位置から所定の距離だけ離れた位置に配置された実像を、広角レンズを通して撮像した場合の当該実像の画角を示す。例えば、実像高２３２ａが０．１５度の場合、画面像高２３２ｂは０．１度を示し、実像高２３２ａが０．２３度の場合、画面像高２３２ｂは０．２度を示し、画面像高２３２ｂは、広角レンズの歪みにより実像高２３２ａより画角が小さくなる。
【００２３】
制御部２４は、入力部２１からの操作データに基づいて、３Ｄモデル内に配置される仮想的な広角レンズの映像シミュレーション処理を行う。さらに、制御部２４は、仮想平面生成部２４１、撮像画像生成部２４２、曲率算出部２４３、精粗調整部２４４及び広角画像生成部２４５を有する。また、精粗調整部２４４は、画像領域調整部２５１及び仮想平面精粗調整部２５２を有する。なお、制御部２４は、例えば、ＡＳＩＣ（Application Specific Integrated Circuit）やＦＰＧＡ（Field Programmable Gate Array）等の集積回路またはＣＰＵ（Central Processing Unit）やＭＰＵ（Micro Processing Unit）等の電子回路である。
【００２４】
仮想平面生成部２４１は、３Ｄモデル内の視点位置から所定の距離だけ離れた位置に配置される仮想平面を生成する。なお、この仮想平面は、キューブマップに貼り付けられる６方向の画像を投影（テクスチャマッピング）する画面となる。具体的には、仮想平面生成部２４１は、視点位置から所定の距離だけ離れた位置に配置される仮想平面の仮想的平面データを３次元データ記憶部２３１から取得する。この仮想的平面データは、２次元平面を同一の形状で分割したときの該分割形状の頂点の位置座標を含む。この各形状は、キューブマップに貼り付けられる６方向の画像を投影する際の投影単位となる。以降、仮想的平面データで表される各形状をメッシュというものとする。メッシュの形状は、例えば３角形であるが、４角形であっても良いし、投影単位となる形状であればこれらに限定されるものではない。また、この視点位置から所定の距離とは、例えば視点位置からキューブマップの中心までの距離であり、レンズ収差記憶部２３２に記憶された収差データが実験等で調べられる際の視点から実像までの距離と同一であっても良い。
【００２５】
ここで、仮想平面の具体例について図４を参照しながら説明する。図４は、仮想平面の具体例を示す図である。図４に示すように、正面図によって表される仮想平面Ｋは、同一の３角形の形状で分割されたメッシュで形成される。仮想平面生成部２４１は、これら３角形の形状の頂点の位置座標を３次元データ記憶部２３１から取得する。
【００２６】
なお、図４に示すように、側面図によって表される仮想平面Ｋは、視点ｖｐから所定の距離だけ離れた位置に配置される。そして、後述する広角画像生成部２４５が、Ｐの位置にある実像高の法線ｖを、画面像高の法線ｗを平行移動した法線ｗ‘に変換し、法線ｗ’を用いてキューブマップに貼り付けられた６方向の画像からＰの位置のメッシュに投影し、広角画像を生成する。
【００２７】
撮像画像生成部２４２は、３Ｄモデル内の所定の視点位置に仮想的に配置された仮想レンズによって撮像される撮像画像を当該３Ｄモデルのデータに基づいて作成する。具体的には、撮像画像生成部２４２は、３次元データ記憶部２３１から撮影環境の３Ｄモデルのデータを取得し、当該３Ｄモデルのデータに基づいてキューブマップに貼り付ける６方向の撮像画像を作成する。すなわち、撮像画像生成部２４２は、広角カメラから仮想的に撮像される前後上下左右６方向の透視投影画像を作成する。なお、キューブマップに貼り付ける６方向の撮像画像が予め３次元データ記憶部２３１に３Ｄモデルのデータとして記憶されている場合には、撮像画像生成部２４２は、これら６方向の撮像画像を取得するようにすれば良い。
【００２８】
ここで、撮像画像生成部２４２による撮像画像作成の具体例について図５を参照しながら説明する。図５は、撮像画像生成の具体例を示す図である。図５に示すように、撮像画像生成部２４２は、３Ｄモデル内の撮影環境に対して、３Ｄモデル内に仮想的に配置された広角カメラｃ１を前後上下左右６方向に向けて撮影した透視投影画像ｚ１〜ｚ６をキューマップｍ１のテクスチャとして作成する。撮影環境は、３Ｄモデルのデータとして、３次元データ記憶部２３１に予め記憶される。このキューマップｍ１は、３Ｄモデル内の視点ｖｐを中心として、３Ｄモデルを仮想的に囲む無限大の立方体を指す。また、ｚ１が視点ｖｐから上面に向けた透視投影画像であり、ｚ２が視点ｖｐから下面に向けた透視投影画像である。また、ｚ３が視点ｖｐから前面に向けた透視投影画像であり、ｚ４が視点ｖｐから左面に向けた透視投影画像である。さらに、ｚ５が視点ｖｐから右面に向けた透視投影画像であり、ｖ６が視点ｖｐから後面に向けた透視投影画像である。
【００２９】
曲率算出部２４３は、撮像画像生成部２４２によって作成された複数方向の画像を所定角形状の画像領域に分割し、各画像領域に属する３Ｄモデルのデータに基づいて各画像領域の曲率を算出する。具体的には、曲率算出部２４３は、広角カメラから仮想的に撮像される前後上下左右６方向の各透視投影画像を所定の大きさの小矩形の画像領域に分割する。また、曲率算出部２４３は、該分割した小矩形の画像領域毎に、画像領域に属する複数のポリゴンに分解し、分解した各ポリゴンの曲率を算出する。また、曲率算出部２４３は、算出したポリゴンの曲率からポリゴンが属する小矩形の画像領域の曲率を、小矩形の画像領域毎に算出する。
【００３０】
例えば、曲率算出部２４３は、小矩形の画像領域に属する複数のポリゴンについて、各ポリゴンの法線の微分を算出する。そして、曲率算出部２４３は、隣接するポリゴンＡとポリゴンＢの隣接曲率ベクトルｖａｂを、ポリゴンＡの法線の微分ｆａ、ポリゴンＢの法線の微分ｆｂ及びポリゴンＡの重心とポリゴンＢの重心との距離ｄａｂを用いて、式（１）のように算出する。
ｖａｂ＝（ｆａ−ｆｂ）／ｄａｂ・・・・・・・・・・・（１）
【００３１】
そして、曲率算出部２４３は、ポリゴンＡの曲率ｐａを、ポリゴンＡと隣接する全て（例えばｎ個）のポリゴンの隣接曲率ベクトルｖａｘ（ｘ＝ａ、ｂ・・・、ｎ）を用いて、式（２）のように算出する。
ｐａ＝｜（ｖａｂ＋ｖａｃ＋・・・＋ｖａｎ）／ｎ｜・・・（２）
【００３２】
そして、曲率算出部２４３は、小矩形の画像領域毎の曲率ｒｙ（ｙ＝１、２、・・・、ｍ）を、小矩形に属する全て（例えば３個）のポリゴンの曲率ｐａ、ｐｂ、ｐｃを用いて、式（３）のように算出する。
ｒｙ＝（ｐａ＋ｐｂ＋ｐｃ）／３・・・・・・・・・・・（３）
【００３３】
画像領域調整部２５１は、６方向の透視投影画像毎に、透視投影画像に含まれる小矩形の画像領域の曲率値から曲率の平均値を算出する。また、画像領域調整部２５１は、小矩形の画像領域の曲率値が該平均値に近似するように隣接する複数の画像領域を１個の画像領域として併合する。また、画像領域調整部２５１は、小矩形の画像領域の曲率値が該平均値に近似するように１個の画像領域を複数の画像領域に分割する。
【００３４】
具体的には、画像領域調整部２５１は、６方向のうち１方向の透視投影画像を選択する。また、画像領域調整部２５１は、選択した透視投影画像に含まれる小矩形の画像領域の曲率値から曲率の平均値を算出する。また、画像領域調整部２５１は、選択した透視投影画像に含まれる小矩形を順に選択し、選択した小矩形の曲率値と平均値との偏差（単一曲率偏差）を算出する。また、画像領域調整部２５１は、選択小矩形の曲率値に隣接する４個の小矩形を合わせた合算曲率値を算出し、該合算曲率値と平均値との偏差（合算曲率偏差）を算出する。また、画像領域調整部２５１は、選択小矩形を４分割した分割曲率値を算出し、該分割曲率値と平均値との偏差（分割曲率偏差）を算出する。
【００３５】
また、画像領域調整部２５１は、合算曲率偏差が単一曲率偏差より小さい場合には、合算曲率偏差の対象となった４個の小矩形を１個の矩形として併合する。つまり、画像領域調整部２５１は、曲率が極端に小さい平坦な小矩形をこの曲率が平均値に近似するように隣接する小矩形を併合し、小矩形の画像領域の粗密を密から粗にすることで、ある程度の画像の精度を保ちながら、処理負荷を軽減する。また、画像領域調整部２５１は、分割曲率偏差が単一曲率偏差より小さい場合には、分割曲率偏差の対象となった選択小矩形を４個の矩形に分割する。つまり、画像領域調整部２５１は、曲率が極端に大きい凹凸の激しい小矩形をこの曲率が平均値に近似するように分割し、小矩形の画像領域の粗密を粗から密にすることで、画像の精度を保つ。このように、画像領域調整部２５１は、順次または同時に６方向の透視投影画像毎に含まれる小矩形の画像領域の粗密を調整する。
【００３６】
ここで、曲率算出部２４３による曲率算出及び画像領域調整部２５１による画像領域調整の具体例について図６を参照しながら説明する。図６は、曲率算出及び画像領域調整の具体例を示す図である。図６に示すように、６方向の透視投影画像のうち前面の透視投影画像の画像領域の粗密を調整する。具体的には、曲率算出部２４３は、前面の透視投影画像を小矩形の画像領域に分割する。そして、曲率算出部２４３は、該分割した小矩形の画像領域毎に、画像領域に属する複数のポリゴンに分解する。ここでは、曲率算出部２４３は、小矩形ａ０の画像領域に属する複数の３角形のポリゴンｔ１〜ｔ３に分解する。そして、曲率算出部２４３は、分解した、小矩形ａ０の画像領域に属する複数のポリゴンｔ１〜ｔ３の法線の微分を用いて各ポリゴンの曲率を算出し、算出した各ポリゴンの曲率から小矩形ａ０の画像領域の曲率を算出する。
【００３７】
次に、画像領域調整部２５１は、前面の透視投影画像に含まれる小矩形の画像領域の曲率値から曲率の平均値を算出する。ここでは、前面の透視投影画像に含まれる小矩形の画像領域の曲率値を１、１、１、１、１、６、３、６及び１０とすると、曲率の平均値は、「３．３」と算出される。
【００３８】
次に、画像領域調整部２５１は、前面の透視投影画像に含まれる小矩形を順次選択し、選択した小矩形の画像領域の粗密を調整する。例えば、画像領域調整部２５１は、前面の透視投影画像に含まれる小矩形ａ１を選択し、該小矩形ａ１の曲率値「１」と平均値「３．３」との単一曲率偏差を算出する。ここでは、単一曲率偏差は、「２．２」と算出される。また、画像領域調整部２５１は、選択小矩形ａ１の曲率値「１」に隣接する４個の小矩形ａ１〜ａ４を合わせた合算曲率値「４」を算出し、該合算曲率値「４」と平均値「３．３」との合算曲率偏差を算出する。ここでは、合算曲率偏差は、「０．７」と算出される。また、画像領域調整部２５１は、選択小矩形ａ１を４分割した分割曲率値「０．２５」を算出し、該分割曲率値「０．２５」と平均値「３．３」との分割曲率偏差を算出する。ここでは、分割曲率偏差は、「３．０５」と算出される。単一曲率偏差が「２．２」、合算曲率偏差が「０．７」、分割曲率偏差が「３．０５」となるので、合算曲率偏差が単一曲率偏差より小さい場合であり、且つ分割曲率偏差が単一曲率偏差より小さくない場合である。よって、画像領域調整部２５１は、合算曲率偏差の対象となった４個の小矩形ａ１〜ａ４を１個の矩形ａ１０として併合する。
【００３９】
次に、画像領域調整部２５１は、前面の透視投影画像に含まれる小矩形ａ５を選択し、該小矩形ａ５の曲率値「１０」と平均値「３．３」との単一曲率偏差を算出する。ここでは、単一曲率偏差は、「６．７」と算出される。また、画像領域調整部２５１は、選択小矩形ａ５の曲率値「１０」に隣接する４個の小矩形（図示せず）を合わせた合算曲率値を算出し、該合算曲率値と平均値「３．３」との合算曲率偏差を算出する。ここでは、合算曲率偏差は、単一局率偏差「６．７」より大きい値となる。また、画像領域調整部２５１は、選択小矩形ａ５を４分割した分割曲率値「２．５」を算出し、該分割曲率値「２．５」と平均値「３．３」との分割曲率偏差を算出する。ここでは、分割曲率偏差は、「０．８」と算出される。単一曲率偏差が「６．７」、合算曲率偏差が「６．７より大」、分割曲率偏差が「０．８」となるので、合算曲率偏差が単一曲率偏差より小さくない場合であり、且つ分割曲率偏差が単一曲率偏差より小さい場合である。よって、画像領域調整部２５１は、分割曲率偏差の対象となった選択小矩形ａ５を４個の小矩形ａ２０に分割する。
【００４０】
図２に戻って、仮想平面精粗調整部２５２は、広角レンズの収差データに基づいて、画像領域調整部２５１によって調整された画像領域を仮想レンズから撮像されるべき高さに変換し、変換した画像領域の粗密に応じて仮想平面のメッシュの精粗を調整する。具体的には、仮想平面精粗調整部２５２は、レンズ収差記憶部２３２を参照し、視点から前面の透視投影画像を分割した矩形毎に各矩形の頂点座標を広角レンズ上の像高に変換し、各矩形の大きさを調整する。そして、仮想平面精粗調整部２５２は、視点から前面以外の６方向の透視投影画像についても、前面と同様に、各矩形の大きさを調整する。また、仮想平面精粗調整部２５２は、仮想平面のメッシュの大きさを、６方向の透視投影画像の調整された矩形の大きさに応じて調整する。つまり、仮想平面精粗調整部２５２は、仮想平面のメッシュの精粗を、６方向の透視投影画像の各矩形の粗密（曲率）に応じて調整する。
【００４１】
広角画像生成部２４５は、仮想平面精粗調整部２５２によって調整された仮想平面のメッシュの精粗に応じて、３Ｄモデル上の仮想レンズに用いられる広角レンズの収差データを透視投影画像に適用し、広角レンズを通して撮像される広角画像を生成する。具体的には、広角画像生成部２４５は、レンズ収差記憶部２３２を参照し、仮想平面の各メッシュの法線を実像高のものから画面像高のものに変換する。そして、広角画像生成部２４５は、この法線の延長がキューブマップと交わる位置の透視投影画像のテクスチャを当該メッシュに投影し、広角画像を生成する。そして、出力部２２が、広角画像生成部２４５によって仮想平面に生成された広角画像をメッシュ毎に、例えばモニターに表示する。
【００４２】
ここで、仮想平面精粗調整部２５２による仮想平面精粗調整及び広角画像生成部２４５による広角画像生成の具体例について図７を参照しながら説明する。図７は、仮想平面精粗調整及び広角画像生成の具体例を示す図である。図７（Ａ）は、仮想平面精粗調整の具体例を示し、図７（Ｂ）は、広角画像生成の具体例を示す。図７（Ａ）に示すように、３Ｄモデル上の視点ｖｐから所定の距離だけ離れた仮想平面Ｋの粗密が、キューブマップｍ１に貼り付けられた透視投影画像の各矩形の粗密に応じて決定される。ここでは、仮想平面精粗調整部２５２は、仮想平面Ｋの点Ａの実像高の法線ｖを画面像高に変換した法線ｗがキューブマップｍ１と交わる透視投影画像の位置の小矩形を、点Ａを中心とした位置に対応させる。仮想平面精粗調整部２５２は、仮想平面Ｋの各点について、点Ａと同様に、キューブマップｍ１に貼り付けられた６方向の透視投影画像の各小矩形を対応させる。つまり、仮想平面Ｋのメッシュの粗密は、透視投影画像の各小矩形の粗密（曲率）に対応することになる。
【００４３】
図７（Ｂ）に示すように、仮想平面Ｋのメッシュの粗密に応じて、キューブマップｍ１に貼り付けられた透視投影画像のテクスチャを投影し、広角画像が生成される。具体的に、広角画像生成部２４５は、仮想平面Ｋのメッシュの粗密に応じて、各メッシュの法線の延長がキューブマップｍ１と交わる位置の透視投影画像のテクスチャを当該メッシュに投影する。これにより、仮想平面Ｋの粗の部分には、粗いメッシュに対応した曲率が小さい平坦な画像が生成される。一方、仮想平面Ｋの密の部分には、細かいメッシュに対応した曲率が大きい凹凸の激しい画像が生成される。
【００４４】
［実施例２に係るシミュレーション処理の手順］
次に、実施例２に係るシミュレーション処理の手順を、図８を参照して説明する。図８は、シミュレーション処理の手順を示すフローチャートである。
【００４５】
まず、シミュレーション処理の前準備として、３次元データ記憶部２３１及びレンズ収差記憶部２３２に各種データが予め格納される（ステップＳ１１）。３次元データ記憶部２３１は、キューブマップのテクスチャマッピング機能環境を整えるための３Ｄモデルのデータを記憶する。レンズ収差記憶部２３２は、広角レンズの収差データとして、実像高と広角レンズ上の像高とを対応付けて記憶する。
【００４６】
続いて、仮想平面生成部２４１は、３Ｄモデル内の視点位置から所定の距離だけ離れた位置に配置される仮想平面を生成する（ステップＳ１２）。そして、撮像画像生成部２４２は、３Ｄモデル内の視点位置に仮想的に配置された仮想レンズによって撮像される６方向の透視投影画像を、前記３次元データ記憶部２３１に記憶された３Ｄモデルのデータに基づいて作成する（ステップＳ１３）。
【００４７】
その後、曲率算出部２４３は、撮像画像生成部２４２によって作成された６方向の透視投影画像を小矩形の画像領域に分割する（ステップＳ１４）。そして、曲率算出部２４３は、分割した小矩形の画像領域毎に、画像領域に属する複数のポリゴンに分解し、分解した各ポリゴンの曲率を算出する。そして、曲率算出部２４３は、ポリゴンの曲率からポリゴンが属する小矩形の画像領域の曲率を、小矩形の画像領域毎に算出する（ステップＳ１５）。
【００４８】
次に、画像領域調整部２５１は、６方向の透視投影画像毎に、透視投影画像に含まれる小矩形の画像領域の曲率値から曲率の平均値を算出する（ステップＳ１６）。そして、画像領域調整部２５１は、透視投影画像毎に、曲率の平均値に近似するように矩形を調整する（ステップＳ１７）。
【００４９】
続いて、仮想平面精粗調整部２５２は、レンズ収差記憶部２３２を参照し、透視投影画像毎に、調整した矩形毎に各矩形の頂点座標を広角レンズ上の像高に変換し、各矩形の大きさを調整する。そして、仮想平面精粗調整部２５２は、仮想平面のメッシュの大きさを、６方向の透視投影画像の調整された矩形の大きさに応じて調整する（ステップＳ１８）。つまり、仮想平面精粗調整部２５２は、仮想平面のメッシュの精粗を、６方向の透視投影画像の各矩形の粗密（曲率）に応じて調整する。
【００５０】
その後、広角画像生成部２４５は、レンズ収差記憶部２３２に参照し、仮想平面の各メッシュの法線を実像高のものから画面像高のものに変換する。そして、広角画像生成部２４５は、この法線の延長がキューブマップと交わる位置の透視投影画像のテクスチャを当該メッシュに投影し（ステップＳ１９）、広角画像を生成する。
【００５１】
［画像領域調整処理の手順］
次に、実施例２に係る画像領域調整処理の手順を、図９を参照して説明する。図９は、画像領域調整処理の手順を示すフローチャートである。
【００５２】
まず、画像領域調整部２５１は、透視投影画像に含まれる１個の小矩形を選択する（ステップＳ２１）。そして、画像領域調整部２５１は、選択した小矩形の曲率値と平均値との偏差（単一曲率偏差）を算出する（ステップＳ２２）。
【００５３】
次に、画像領域調整部２５１は、選択した小矩形に隣接する４個の小矩形を合わせた合算曲率値を算出する（ステップＳ２３）。そして、画像領域調整部２５１は、算出した合算曲率値と平均値との偏差（合算曲率偏差）を算出する（ステップＳ２４）。
【００５４】
次に、画像領域調整部２５１は、選択した小矩形を４分割した分割曲率値を算出する（ステップＳ２５）。そして、画像領域調整部２５１は、算出した分割曲率値と平均値との偏差（分割曲率偏差）を算出する（ステップＳ２６）。
【００５５】
続いて、画像領域調整部２５１は、合算曲率偏差が単一曲率偏差より小さいか否かを判定する（ステップＳ２７）。そして、画像領域調整部２５１によって合算曲率偏差が単一曲率偏差より小さいと判定された場合には（ステップＳ２７Ｙｅｓ）、画像領域調整部２５１は、合算曲率偏差の対象となった４個の小矩形を１個の矩形として併合する（ステップＳ２８）。
【００５６】
一方、画像領域調整部２５１によって合算曲率偏差が単一曲率偏差より小さいと判定されなかった場合には（ステップＳ２７Ｎｏ）、画像領域調整部２５１は、分割曲率偏差が単一曲率偏差より小さいか否かを判定する（ステップＳ２９）。そして、画像領域調整部２５１によって分割曲率偏差が単一曲率偏差より小さいと判定された場合には（ステップＳ２９Ｙｅｓ）、画像領域調整部２５１は、選択した小矩形を４個の矩形に分割する（ステップＳ３０）。一方、画像領域調整部２５１によって分割曲率偏差が単一曲率偏差より小さいと判定されなかった場合には（ステップＳ２９Ｎｏ）、ステップＳ３１に移行する。
【００５７】
その後、画像領域調整部２５１は、小矩形を全て選択したか否かを判定する（ステップＳ３１）。なお、４個の小矩形を１個の矩形として併合した場合には、画像領域調整部２５１は、これらの小矩形を既に選択したものとみなし、選択対象としないものとする。画像領域調整部２５１によって小矩形を全て選択していなかった場合には（ステップＳ３１Ｎｏ）、画像領域調整部２５１は、選択されていない次の小矩形を選択する（ステップＳ３２）。そして、画像領域調整部２５１は、ステップＳ２２に移行する。一方、画像領域調整部２５１によって小矩形を全て選択した場合には（ステップＳ３１Ｙｅｓ）、画像領域調整部２５１は、画像領域調整処理を終了する。
【００５８】
［実施例２の効果］
上記実施例２によれば、画像領域調整部２５１は、透視投影画像の小矩形の画像領域毎の曲率値から曲率の平均値を算出する。そして、画像領域調整部２５１は、画像領域の曲率値が該平均値に近似するように隣接する複数の画像領域を１個の画像領域として併合し、または画像領域の曲率値が該平均値に近似するように１個の画像領域を複数の画像領域に分割する。そして、仮想平面精粗調整部２５２は、広角レンズの収差データを参照し、画像領域調整部２５１によって調整された画像領域を仮想的な広角レンズから撮像されるべき高さに変換し、変換した画像領域に応じて仮想平面のメッシュの精粗を調整する。
【００５９】
かかる構成によれば、小矩形の画像領域の曲率値が該平均値に近似するように小矩形の大きさを調整するようにしたので、調整された小矩形の大きさに応じて仮想平面のメッシュの大きさを調整できる。すなわち、曲率値のバラツキの少ない小矩形の大きさに応じて仮想平面のメッシュの大きさを調整できる。このため、小矩形の画像領域の曲率値が大きい場合には、当該小矩形の大きさを分割して小さくし、この小矩形に対応する仮想平面のメッシュの大きさを小さくできるので、メッシュの粗密を密にでき、メッシュに投影される画像の精度を保つことができる。一方、小矩形の画像領域の曲率値が小さい場合には、当該小矩形の大きさを併合して大きくし、この小矩形に対応する仮想平面のメッシュの大きさを大きくできるので、メッシュの粗密を粗にでき、メッシュに投影される画像のある程度の精度を保つことができる。この結果、メッシュを一様に密にする場合と比較して、全体的にある程度の画像の精度を保ちながら、且つ処理負荷を軽減できる。
【００６０】
ここで、従来技術においてキューブマップから仮想平面に画像を生成する場合について説明する。図１０は、従来技術におけるキューブマップを用いた画像生成を示す図である。図１０に示すように、仮想平面Ｋのメッシュは一様の大きさとなっている。そして、仮想平面Ｋのメッシュ毎に、各メッシュの法線の延長がキューブマップと交わる位置の透視投影画像のテクスチャを当該メッシュに投影する。ここでは、仮想平面Ｋの点Ａの実像高の法線ｖを画面像高に変換した法線ｗがキューブマップｍ１と交わる位置のテクスチャＡ‘を、点Ａを中心としたメッシュに投影する。したがって、メッシュが一様に密である場合には、画像生成の処理負荷が増大し、メッシュが一様に粗である場合には、画像生成の結果生成される画像が粗くなる。
【００６１】
ところが、実施例２では、仮想平面精粗調整部２５２が、画像領域調整部２５１によって画像領域の曲率から調整された画像の粗密からメッシュの大きさをカスタマイズし、メッシュに投影される画像の粗密を調整する。この結果、メッシュが一様に密である場合と比較して、全体的にある程度の画像の精度を保ちながら、画像生成の処理負荷を軽減できる。一方、メッシュが一様に粗である場合と比較して、画像生成の結果生成される画像の精度を保つことができる。
【００６２】
また、実施例２によれば、出力部２２は、広角画像生成部２４５によって仮想平面に生成された画像をメッシュ毎に出力する。かかる構成によれば、仮想平面に生成された画像をメッシュ毎に出力するようにしたので、メッシュを一様に密にした場合と比較して、出力処理を高速化できる。
【００６３】
［シミュレーション装置の用途］
ここで、シミュレーション装置２の用途について説明する。実施例２では、３Ｄモデル内の視点位置を固定した場合に仮想的な広角レンズから見える画像を生成するようにした。しかしながら、シミュレーション装置２は、３Ｄモデル内の視点位置を移動した場合であっても、仮想的な広角レンズから撮像される画像を、当該視点位置を固定した場合と同様に生成するようにしても良い。この場合、シミュレーション処理（図８参照）において、広角画像生成部２４５によって視点位置における仮想レンズから撮像される広角画像が生成された（ステップＳ１９）後、広角画像生成部２４５は、視点位置が移動したか否かを判定する。そして、視点位置が移動したと判定された場合には、移動した視点位置において撮像されるべき６方向画像を作成する処理（ステップＳ１３）に移行するようにすれば良い。これにより、例えば車両のバックアイカメラの設計において、該バックアイカメラの配置設計を効率的に行うことができる。また、広角カメラを用いた監視システム等において、該広角カメラの適切な設置位置を事前に検証することができる。
【００６４】
［シミュレーション装置の別の用途］
また、シミュレーション装置２の別の用途について説明する。３Ｄモデル内の視点位置を経時的に移動させる場合、例えば動画表示のような場合には、画像の精度より高速な処理スピードが要求されることがある。この場合には、画像領域調整部２５１は、小矩形の画像領域の曲率値が該平均値に近似するように隣接する複数の画像領域を１個の画像領域として併合のみすれば良い。また、画像領域調整部２５１は、透視投影画像に含まれる小矩形の画像領域の曲率の平均値に代えて、透視投影画像を複数個に分割した分割画像毎の曲率の平均値を用いて、分割画像毎に小矩形の画像領域を調整しても良い。これにより、例えば車両のバックアイカメラの設計において、該バックアイカメラの配置設計をさらに効率的に行うことができる。また、広角カメラを用いた監視システム等において、該広角カメラの適切な設置位置を事前に効率的に検証することができる。なお、視点位置を経時的に変化させる場合とは、例えばユーザが入力部２１（例えばマウス）から手動で視点位置を移動させる場合や、一定の時間間隔で、自動で視点位置を移動させる場合があるが、これらに限定されるものではない。
【００６５】
また、３Ｄモデル内の視点位置を移動させないで透視投影画像に含まれた対象物を移動させる場合、例えばユーザが入力部２１（例えばマウス）から特定の対象物を操作させる場合がある。この場合について、シミュレーション装置２の別の用途として、図１１及び図１２を参照しながら説明する。図１１は、シミュレーション装置の別の用途を示す図であり、図１２は、画像領域調整の具体例を示す図である。透視投影画像に含まれた特定の対象物を移動させるとき、図１１に示すように、該対象物を仮想平面Ｋに投影した移動前のメッシュが例えば密である場合には、移動後のメッシュを移動前のメッシュの密に合わせる。図１２に示すように、画像領域調整部２５１は、透視投影画像に含まれる小矩形の画像領域の曲率値が該平均値に近似するように画像領域を併合したり分割したりする。このとき、画像領域調整部２５１は、特定の対象物を包含する小矩形、すなわちバウンディングボックス（Bounding Box）ａ２０を取得する。そして、画像領域調整部２５１は、バウンディングボックスａ２０内の小矩形の粗密（曲率）を記憶部２３に一時的に保持する。そして、特定の対象物が移動したとき、画像領域調整部２５１は、該対象物の移動先のバウンディングボックスａ２１内の小矩形の粗密（曲率）を記憶部２３に保持された粗密（曲率）に置換する。そして、仮想平面精粗調整部２５２は、該対象物の移動前後のメッシュの粗密を同一にする。これにより、操作された対象物の一定の画質を保ちつつ、動画表示を高速化することができる。
【００６６】
［その他］
なお、上記実施例２では、画像領域調整部２５１は、複数個の小矩形を１個の矩形として併合したり、１個の小矩形を複数個に分割したりする単位を「４」であるものとして説明した。しかし、画像領域調整部２５１は、これに限定されず、併合及び分割する単位を「２」にしても、「３」にしても、「５」にしても良いし、これらに限定されるものではない。
【００６７】
また、シミュレーション装置１、２は、既知のパーソナルコンピュータ、ワークステーションなどの情報処理装置に、上記した制御部２４及び記憶部２３の各機能を搭載することによって実現することができる。
【００６８】
また、図示した各装置の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的態様は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。例えば、曲率算出部２４３と精粗調整部２４４とを１つの部として統合しても良く、一方、画像領域調整部２５１を、透視投影画像毎の小矩形の画像領域の曲率の平均値を算出する曲率平均算出部と、小矩形の画像領域の曲率値が該平均値に近似するように小矩形の画像領域を分割したり併合したりする画像分割併合部等とに分散しても良い。また、記憶部２３をシミュレーション装置２の外部装置としてネットワーク経由で接続するようにしても良い。また、入力部２１、出力部２２を別の装置がそれぞれ有し、ネットワーク接続されて協働することで、上述したシミュレーション装置２の機能を実現するようにしても良い。
【００６９】
［プログラム］
また、上記実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、図１３を用いて、図２に示したシミュレーション装置２と同様の機能を有するシミュレーションプログラムを実行するコンピュータの一例を説明する。
【００７０】
図１３は、シミュレーションプログラムを実行するコンピュータを示す図である。図１３に示すように、コンピュータ１０００は、ＲＡＭ（Random  Access  Memory）１０１０と、キャッシュ１０２０と、ＨＤＤ１０３０と、ＲＯＭ（Read  Only  Memory）１０４０と、ＣＰＵ（Central  Processing  Unit）１０５０、バス１０６０とを有する。ＲＡＭ１０１０、キャッシュ１０２０、ＨＤＤ１０３０、ＲＯＭ１０４０、ＣＰＵ１０５０は、バス１０６０によって接続されている。
【００７１】
ＲＯＭ１０４０には、図２に示したシミュレーション装置２と同様の機能を発揮するシミュレーション処理プログラム１０４１が予め記憶されている。具体的には、シミュレーション処理プログラム１０４１には、仮想平面生成プログラム、画像取得プログラム、曲率算出プログラム、精粗調整プログラム及び画像生成プログラムが含まれる。
【００７２】
そして、ＣＰＵ１０５０は、このシミュレーション処理プログラム１０４１を読み出して実行する。これにより、図１３に示すように、シミュレーション処理プログラム１０４１は、シミュレーション処理プロセス１０５１になる。なお、シミュレーション処理プロセス１０５１は、図２に示した制御部２４に対応する。
【００７３】
また、ＨＤＤ１０３０には、図１３に示すようにシミュレーション処理関連情報１０３１が設けられる。シミュレーション処理関連情報１０３１は、例えば、図２に示した記憶部２３に記憶される各種データ（３次元データ記憶部２３１及びレンズ収差記憶部２３２）に対応する。
【００７４】
なお、上述したプログラム１０４１については、必ずしもＲＯＭ１０４０に記憶させなくても良い。例えば、コンピュータ１０００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＭＯディスク、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」にプログラム１０４１を記憶させても良い。又は、コンピュータ１０００の内外に備えられるハードディスクドライブ（ＨＤＤ）などの「固定用の物理媒体」にプログラム１０４１を記憶させても良い。又は、公衆回線、インターネット、ＬＡＮ、ＷＡＮなどを介してコンピュータ１０００に接続される「他のコンピュータ（又はサーバ）」にプログラム１０４１を記憶させても良い。そして、コンピュータ１０００は、上述したフレキシブルディスクなどから各プログラムを読み出して実行するようにしても良い。
【００７５】
以上の実施例に係る実施形態に関し、さらに以下の付記を開示する。
【００７６】
（付記１）３Ｄモデル内の所定の視点位置に仮想的に配置された撮像部によって撮像される撮像画像を前記３Ｄモデルのデータに基づいて作成する撮像画像作成手順と、
前記撮像画像作成手順によって作成された撮像画像を所定角形状の画像領域に分割し、各画像領域に属する前記データに基づいて各画像領域の曲率を算出する曲率算出手順と、
前記曲率算出手順によって算出された各画像領域の曲率に基づいて、前記視点位置から所定の距離に仮想的に配置される仮想平面のメッシュの精粗を調整する精粗調整手順と、
前記精粗調整手順によって調整された仮想平面のメッシュの精粗に応じて、前記撮像部に用いられる広角レンズの収差データを前記撮像画像に適用し、当該広角レンズを通して撮像される広角画像を生成する広角画像生成手順と
をコンピュータに実行させることを特徴とするシミュレーションプログラム。
【００７７】
（付記２）前記精粗調整手順は、
各画像領域の曲率値から曲率の平均値を算出し、画像領域の曲率値が該平均値に近似するように隣接する複数の画像領域を１個の画像領域として併合し、または画像領域の曲率値が該平均値に近似するように１個の画像領域を複数の画像領域に分割する画像領域調整手順と、
前記収差データに基づいて、前記画像領域調整手順によって調整された画像領域を前記撮像部から撮像されるべき高さに変換し、変換した画像領域に応じて前記仮想平面のメッシュの精粗を調整する仮想平面精粗調整手順と
を含むことを特徴とする付記１に記載のシミュレーションプログラム。
【００７８】
（付記３）前記画像領域調整手順は、
前記視点位置を経時的に移動させる場合に、各画像領域の曲率値から曲率の平均値を算出し、画像領域の曲率値が該平均値に近似するように隣接する複数の画像領域を１個の画像領域として併合することを特徴とする付記２に記載のシミュレーションプログラム。
【００７９】
（付記４）前記画像領域調整手順は、
前記視点位置を移動させないで前記撮像画像に含まれた対象物を移動させる場合に、移動後の当該対象物を包含する画像領域の曲率を、移動前の当該対象物を包含する画像領域の曲率に置換することを特徴とする付記２に記載のシミュレーションプログラム。
【００８０】
（付記５）前記広角画像生成手順によって前記仮想平面に生成された広角画像をメッシュ毎に出力する画像出力手順を含むことを特徴とする付記１から付記４のいずれか１つに記載のシミュレーションプログラム。
【００８１】
（付記６）３Ｄモデル内の所定の視点位置に仮想的に配置された撮像部によって撮像される撮像画像を前記３Ｄモデルのデータに基づいて作成する撮像画像生成部と、
前記撮像画像生成部によって作成された撮像画像を所定角形状の画像領域に分割し、各画像領域に属する前記データに基づいて各画像領域の曲率を算出する曲率算出部と、
前記曲率算出部によって算出された各画像領域の曲率に基づいて、前記視点位置から所定の距離に仮想的に配置される仮想平面のメッシュの精粗を調整する精粗調整部と、
前記精粗調整部によって調整された仮想平面のメッシュの精粗に応じて、前記撮像部に用いられる広角レンズの収差データを前記撮像画像に適用し、当該広角レンズを通して撮像される広角画像を生成する広角画像生成部と
を有することを特徴とするシミュレーション装置。
【００８２】
（付記７）コンピュータが動画像のシミュレーションを実行するシミュレーション方法であって、
３Ｄモデル内の所定の視点位置に仮想的に配置された撮像部によって撮像される撮像画像を前記３Ｄモデルのデータに基づいて作成する撮像画像作成ステップと、
前記撮像画像作成ステップによって作成された撮像画像を所定角形状の画像領域に分割し、各画像領域に属する前記データに基づいて各画像領域の曲率を算出する曲率算出ステップと、
前記曲率算出ステップによって算出された各画像領域の曲率に基づいて、前記視点位置から所定の距離に仮想的に配置される仮想平面のメッシュの精粗を調整する精粗調整ステップと、
前記精粗調整ステップによって調整された仮想平面のメッシュの精粗に応じて、前記撮像部に用いられる広角レンズの収差データを前記撮像画像に適用し、当該広角レンズを通して撮像される広角画像を生成する広角画像生成ステップと
を含むことを特徴とするシミュレーション方法。
【符号の説明】
【００８３】
１、２  シミュレーション装置
１１  撮像画像生成部
１２  曲率算出部
１３  精粗調整部
１４  画像生成部
２１  入力部
２２  出力部
２３  記憶部
２３１  ３次元データ記憶部
２３２  レンズ収差記憶部
２４  制御部
２４１  仮想平面生成部
２４２  撮像画像生成部
２４３  曲率算出部
２４４  精粗調整部
２４５  広角画像生成部
２５１  画像領域調整部
２５２  仮想平面精粗調整部
【図１】
0005521750.tif 000002
【図２】
0005521750.tif 000003
【図３】
0005521750.tif 000004
【図４】
0005521750.tif 000005
【図５】
0005521750.tif 000006
【図６】
0005521750.tif 000007
【図７】
0005521750.tif 000008
【図８】
0005521750.tif 000009
【図９】
0005521750.tif 000010
【図１０】
0005521750.tif 000011
【図１１】
0005521750.tif 000012
【図１２】
0005521750.tif 000013
【図１３】
0005521750.tif 000014