(57)【特許請求の範囲】
【請求項１】
コンピュータが、
仮想空間において視点が移動する速度および方向を受け付け、
前記仮想空間における視点の移動速度および移動方向に応じて、
前記仮想空間に配置される二次元の面を含んでなる書割に当該書割から描画範囲の遠方限界までの遠景にあるモデルがマッピングされた遠景画像と、当該遠景に存在するモデルが表示部に透視投影された場合の実画像とのズレを所定の許容値以内に収める描画品質に関する条件と、
前記視点から前記書割までの近景にあるモデルを描画するのに要する処理量の見積もりと、前記書割から前記描画範囲の遠方限界までの遠景にあるモデルを描画するのに要する処理量の見積もりとの合計を所定の閾値以内に収める描画処理量に関する条件とを満たし、かつ前記描画範囲の遠方限界が最も遠くなるように、
前記書割の位置と、前記描画範囲の遠方限界と、前記遠景画像を更新する頻度とを含む書割配置情報を決定する
処理を実行することを特徴とする画像処理方法。
【請求項２】
前記書割配置情報を決定する処理として、
前記遠景画像がマッピングされた書割および前記視点から書割までの近景にあるモデルが描画される頻度よりも、前記遠景画像を更新する頻度を低くすることを特徴とする請求項１に記載の画像処理方法。
【請求項３】
仮想空間において視点が移動する速度および方向を算出する算出部と、
前記仮想空間における視点の移動速度および移動方向に応じて、
前記仮想空間に配置される二次元の面を含んでなる書割に当該書割から描画範囲の遠方限界までの遠景にあるモデルがマッピングされた遠景画像と、当該遠景に存在するモデルが表示部に透視投影された場合の実画像とのズレを所定の許容値以内に収める描画品質に関する条件と、
前記視点から前記書割までの近景にあるモデルを描画するのに要する処理量の見積もりと、前記書割から前記描画範囲の遠方限界までの遠景にあるモデルを描画するのに要する処理量の見積もりとの合計を所定の閾値以内に収める描画処理量に関する条件とを満たし、かつ前記描画範囲の遠方限界が最も遠くなるように、
前記書割の位置と、前記描画範囲の遠方限界と、前記遠景画像を更新する頻度とを含む書割配置情報を決定する書割配置決定部と
を有することを特徴とする画像処理装置。
【請求項４】
コンピュータに、
仮想空間において視点が移動する速度および方向を受け付け、
前記仮想空間における視点の移動速度および移動方向に応じて、
前記仮想空間に配置される二次元の面を含んでなる書割に当該書割から描画範囲の遠方限界までの遠景にあるモデルがマッピングされた遠景画像と、当該遠景に存在するモデルが表示部に透視投影された場合の実画像とのズレを所定の許容値以内に収める描画品質に関する条件と、
前記視点から前記書割までの近景にあるモデルを描画するのに要する処理量の見積もりと、前記書割から前記描画範囲の遠方限界までの遠景にあるモデルを描画するのに要する処理量の見積もりとの合計を所定の閾値以内に収める描画処理量に関する条件とを満たし、かつ前記描画範囲の遠方限界が最も遠くなるように、
前記書割の位置と、前記描画範囲の遠方限界と、前記遠景画像を更新する頻度とを含む書割配置情報を決定する
処理を実行させることを特徴とする画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理方法、画像処理装置及び画像処理プログラムに関する。
【背景技術】
【０００２】
３次元の立体が仮想的に表現された映像を提供するコンピュータグラフィクス（Computer  Graphics）が知られている。かかるコンピュータグラフィックスは、車両の運転者の視点で交通を体験できる交通シミュレーションに適用される場合がある。
【０００３】
交通シミュレーションの一例として、都市を丸ごと再現するといった大規模なものが開発されている。このように、再現しようとする仮想空間の規模が大きい場合には、コンピュータグラフィックスによって広域な仮想空間を連続的に移動し続ける映像を提示できることが望まれる。特に、車両が高速道路やバイパスなどの高架道路を走行する場面を再現する場合には、高架下の道路を走行する場面よりも遠くまで視界に入るので、なるべく遠方の景色まで３次元物体として表現できるのが好ましい。
【０００４】
ところが、多数の物体を描画するには、コンピュータがそれに見合う演算処理能力を備える必要があるが、コンピュータの演算能力には限界がある。このため、描画処理量を削減するために、レベルオブディテール（ＬＯＤ：Level  of  Detail）という方法や書割を用いる描画方法などが採用されている。
【０００５】
ＬＯＤは、視点からの距離に応じてモデルのポリゴンの数を削減する方式である。例えば、建物や橋梁などの物体ごとに詳細なモデルから簡略化されたモデルまで複数の段階に分けて用意しておき、視点からの距離が近いほど詳細なモデルを描画に用いる一方で、視点からの距離が遠いほど簡略化されたモデルを描画に用いる。これによって、全てを詳細なモデルで描画するのに比べて描画処理量を削減する。
【０００６】
上記のＬＯＤを適用するには、各々の物体についてあらかじめ複数の段階に分けてモデルを作成しておくためにオーサリングと呼ばれる作業を行う必要がある。かかるオーサリングは、完全に自動化するのは困難な作業である上、広域の仮想空間を再現しようとするほどその作業に要するコストは増大することになる。
【０００７】
一方、書割を用いる描画方法では、オーサリングを行うことなく描画の処理量を削減できる。かかる描画方法では、視点からあらかじめ定められた距離だけ離れた位置に、その距離よりも遠くにあるモデルを描画しておいた遠景画像が貼り付けられたついたて状の物体、すなわち「書割」を配置する。その上で、上記の描画方法では、書割とともに書割よりも手前に位置する物体を透視投影で描画する。これによって、書割よりも近くの近景から書割よりも遠くの遠景までを含む画像が描画されることになる。
【０００８】
かかる描画方法では、書割にテクスチャとして貼り付ける遠景画像を更新する頻度を少なくするほど描画処理量を削減できる。そして、描画処理量を削減することによって余ったコンピュータの演算処理能力は、描画範囲の遠方限界をより遠くに設定するのに振り分けられる。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開平１１−１５４２４４号公報
【特許文献２】特開２００１−４３３９３号公報
【特許文献３】特開２００９−１６５８７８号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、上記の従来技術では、以下に説明するように、描画品質の低下を抑制しつつ、描画範囲の遠方限界を最大限遠く設定することができないという問題がある。
【００１１】
すなわち、上記の書割を用いる描画方法では、視点が移動する速度や向きにも変化があることが想定されていない。例えば、車両の移動に伴って視点が移動する速度が上がったり、視点が移動する向きが書割に平行な向きに近づいた場合には、書割に貼り付けられた遠景画像とシミュレーションで計算される風景との間で生じる見え方のズレが大きくなる。このため、見え方のズレが想定よりも大きい場合には、書割に貼り付けられた遠景画像を更新する処理がズレの広がりに追いつかなくなる結果、描画品質が低下してしまう。一方、視点が移動する速度が下がったり、視点が移動する向きが書割に垂直な向きに近づいた場合には、書割に貼り付けられた遠景画像とシミュレーションで計算される風景との間で生じる見え方のズレが小さくなる。この場合には、書割に貼り付けられた遠景画像を更新する頻度は少なくて済む。このため、描画範囲の遠方限界をさらに遠くに設定できる状況であるにもかかわらず、コンピュータの演算処理能力が遠景画像の更新に割かれるという無駄が生じる。
【００１２】
開示の技術は、上記に鑑みてなされたものであって、描画品質の低下を抑制しつつ、描画範囲の遠方限界を最大限遠く設定できる画像処理方法、画像処理装置及び画像処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１３】
本願の開示する画像処理方法は、コンピュータが、仮想空間において視点が移動する速度および方向を受け付ける処理を実行する。さらに、前記コンピュータが、前記仮想空間における視点の移動速度および移動方向に応じて、前記仮想空間に配置される二次元の面を含んでなる書割に当該書割から描画範囲の遠方限界までの遠景にあるモデルがマッピングされた遠景画像と、当該遠景に存在するモデルが表示部に透視投影された場合の実画像とのズレを所定の許容値以内に収める描画品質に関する条件と、前記視点から前記書割までの近景にあるモデルを描画するのに要する処理量の見積もりと、前記書割から前記描画範囲の遠方限界までの遠景にあるモデルを描画するのに要する処理量の見積もりとの合計を所定の閾値以内に収める描画処理量に関する条件とを満たし、かつ前記描画範囲の遠方限界が最も遠くなるように、前記書割の位置と、前記描画範囲の遠方限界と、前記遠景画像を更新する頻度とを含む書割配置情報を決定する処理を実行する。
【発明の効果】
【００１４】
本願の開示する画像処理方法の一つの態様によれば、描画品質の低下を抑制しつつ、描画範囲の遠方限界を最大限遠く設定できるという効果を奏する。
【図面の簡単な説明】
【００１５】
【図１】図１は、実施例１に係るシミュレーション装置の機能的構成を示すブロック図である。
【図２】図２は、仮想空間の模式図の一例を示す図である。
【図３】図３は、画面解像度と描画ピクセル位置の許容誤差の相関関係を示す図である。
【図４】図４は、仮想空間の模式図の一例を示す図である。
【図５】図５は、書割を用いない場合における更新頻度と視点からの距離の関係を示す図である。
【図６】図６は、書割を用いる場合における更新頻度と視点からの距離の関係を示す図である。
【図７】図７は、視点位置ベクトル及び視点速度ベクトルの一例を示す図である。
【図８】図８は、書割配置情報の一例を示す図である。
【図９】図９は、実施例１に係る書割配置決定処理の手順を示すフローチャートである。
【図１０】図１０は、実施例１に係る書割画像の更新処理の手順を示すフローチャートである。
【図１１】図１１は、実施例１に係るシミュレーション映像の更新処理の手順を示すフローチャートである。
【図１２】図１２は、実施例１及び実施例２に係る画像処理プログラムを実行するコンピュータの一例について説明するための図である。
【発明を実施するための形態】
【００１６】
以下に、本願の開示する画像処理方法、画像処理装置及び画像処理プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例は開示の技術を限定するものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【実施例１】
【００１７】
［シミュレーション装置の構成］
図１は、実施例１に係るシミュレーション装置の機能的構成を示すブロック図である。図１に示すシミュレーション装置１０は、仮想空間をリアルタイムにシミュレートしたシミュレーション映像をコンピュータグラフィックスによって提供するものであり、とりわけ広域の仮想空間内を連続的に移動し続ける大規模な交通シミュレータを搭載する。なお、以下では、交通シミュレータの一例として、利用者によって運転される車両が広域の地図上を走行する広域ドライビングシミュレータである場合を想定する。
【００１８】
図１に示すように、シミュレーション装置１０は、操作入力部１１と、映像出力部１２と、シミュレーション実行部１３と、書割配置決定部１４と、書割配置記憶部１５と、描画部１６とを有する。なお、上記のシミュレーション装置１０は、図１に示した機能部以外にも既知のコンピュータが有する各種の機能部、例えば音声出力デバイスや通信インターフェースなどの機能部を有することとしてもかまわない。
【００１９】
このうち、操作入力部１１は、各種の情報、例えば後述のシミュレーション実行部１３によってシミュレートされる車両を運転操作する情報を入力する入力デバイスである。かかる操作入力部１１の一態様としては、ステアリングハンドル、アクセルペダル、ブレーキペダルやシフトレバーなどを模したものが挙げられる。これらステアリングハンドル、アクセルペダル、ブレーキペダルやシフトレバーなどの操作量が後述のシミュレーション実行部１３へ入力される。
【００２０】
映像出力部１２は、各種の情報、例えばシミュレーション結果として得られる車両が走行する映像を表示する表示デバイスである。かかる映像出力部１２の一態様としては、液晶ディスプレイやプラズマディスプレイを採用してもよく、また、他の光源からの反射により映像を表示する電子ペーパーやプロジェクタなどを採用することもできる。
【００２１】
シミュレーション実行部１３は、上述の広域ドライビングシミュレータを用いて、シミュレーションを実行する処理部である。一態様としては、シミュレーション実行部１３は、操作入力部１１によって出力されたステアリングハンドル、アクセルペダル、ブレーキペダルやシフトレバーなどの操作量を用いて、仮想空間内における車両の位置や速度、建物や橋梁などの物体の位置を計算する。ここで、以下では、仮想空間内における車両の運転席に着座する運転者の視点の位置がコンピュータグラフィックスによって視点として用いられる場合を想定する。このようにしてシミュレーション実行部１３によって計算された視点の位置ベクトルや速度ベクトルが後述の書割配置決定部１４へ入力される。
【００２２】
書割配置決定部１４は、仮想空間内における書割の配置に関する情報を決定する処理部である。以下では、書割の配置に関する情報のことを「書割配置情報」と記載する場合がある。かかる書割配置情報には、視点から書割までの距離Ｄ、書割にマッピングされるテクスチャを描画し直す更新頻度Ｆおよび視点からモデルを描画する終端とする位置までの距離Ｅなどの情報が含まれる。なお、以下では、視点から書割までの距離のことを「書割の位置」と記載する場合がある。また、以下では、書割にマッピングされるテクスチャを描画し直す更新頻度のことを「遠景画像の更新頻度」と記載する場合がある。さらに、以下では、視点からモデルを描画する終端とする位置までの距離のことを「描画範囲の遠方限界」と記載する場合がある。
【００２３】
ここで言う「書割」とは、視点からあらかじめ定められた距離だけ離れた位置に、その距離よりも遠くにあるモデルを描画しておいた遠景画像が貼り付けられる仮想的な透視投影面を指し、例えば、長方形の板状の物体を採用できる。なお、以下では、書割が映像出力部１２のスクリーンと正対する方向に配置される場合を想定するが、必ずしも書割が配置される向きを固定する必要はなく、視点の向きに合わせて映像出力部１２のスクリーンと正対する方向から傾けることもできる。また、ここでは、書割が長方形の板状の物体である場合を例示するが、書割の形状はこれに限定されず、長方形以外の形状を採用したり、曲面を採用したりすることもできる。
【００２４】
一態様としては、書割配置決定部１４は、描画品質に関する条件、並びに、描画処理量に関する条件が組み込まれた下記の式（１）〜（３）の計算式を用いて、書割の位置Ｄ、遠景画像の更新頻度Ｆおよび描画範囲の遠方限界Ｅを決定する。
【００２５】
Ｆ＝｛Ｒ／（２×ｔａｎ（θ／２）×Ｐ）｝×ｓｉｎα×Ｖ／Ｄ・・・式（１）
Ｅ＝ｓｑｒ（（Ｅ０２×Ｆ０−（Ｆ０−Ｆ）×Ｄ２）／Ｆ）・・・式（２）
Ｄ＝｛Ｘ＋ｓｑｒ（Ｘ２＋３×Ｅ０２・Ｆ０２）｝／（３×Ｆ０）・・・式（３）
Ｘ＝｛Ｒ／（２×ｔａｎ（θ／２）×Ｐ）｝×ｓｉｎα×ｖ・・・式（３．１）
【００２６】
このうち、式（１）は、描画品質に関する条件が組み込まれた書割の位置Ｄ及び遠景画像の更新頻度Ｆの関係式である。かかる式（１）には、「ある書割の位置Ｄにおいて、視点が速度ｖおよび方向αで移動するとしたとき、書割に貼られた遠景画像と、書割の向こう側に本来見えるべき画像との間に発生するズレが、画面上でＰピクセル以内に収まるためには、書割を毎秒Ｆ回以上の頻度で更新しなければならない」という描画品質に関する条件が組み込まれている。
【００２７】
上記の式（１）における「Ｖ」は、視点の移動速度を指す。式（１）における「α」は、視点の移動方向を指す。式（１）における「Ｄ」は、書割の位置を指す。式（１）における「Ｆ」は、遠景画像の更新頻度を指す。式（１）における「Ｒ」は、画面の横方向の解像度（ピクセル数）を指す。式（１）における「Ｐ」は、描画ピクセル位置の許容誤差（ピクセル数）を指す。また、式（１）における「θ」は、視野角を指す。なお、上記の方向αは、書割へ垂直に向かう方向をゼロとしたときに視点が移動する方向と書割へ垂直に向かう方向とがなす角度を表す。以下では、方向αのことを「視点の移動方向」と記載する場合がある。
【００２８】
ここで、図２〜図４を用いて、上記の式（１）の導出について説明する。図２は、仮想空間の模式図の一例を示す図である。図３は、画面解像度と描画ピクセル位置の許容誤差の相関関係を示す図である。図４は、仮想空間の模式図の一例を示す図である。なお、図２及び図４は、視点が書割の面と平行な方向へ移動する場合を図示している。
【００２９】
図２に示すように、仮想空間内において視点から書割よりも遠い位置に存在する対象物の視点に対する相対移動量ｄは、視点の移動速度ｖを遠景画像の更新頻度Ｆで除算することによって下記の式（ａ）のように表される。さらに、画面内移動量ｓは、視点に対する相対移動量ｄを用いて、下記の式（ｂ）のように表すことができる。また、図３に示す描画ピクセル位置の許容誤差Ｐと画面内移動量ｓとが一致する場合には、画面内移動量ｓおよび書割の幅Ｗの比と、画面の横方向の解像度Ｒおよび描画ピクセル位置の許容誤差Ｐの比とが等しくなるので、画面内移動量ｓは下記の式（ｃ）によって表すことができる。さらに、図４に示すように、書割をちょうど画面一杯の大きさに設定するとしたとき、書割の幅Ｗは、下記の式（ｄ）によって表すことができる。
【００３０】
ｄ＝ｖ／Ｆ・・・式（ａ）
ｓ＝ｄ×Ｈ／Ｄ・・・式（ｂ）
ｓ＝（Ｐ／Ｒ）×Ｗ・・・式（ｃ）
Ｗ＝Ｈ×２×ｔａｎ（θ／２）・・・式（ｄ）
【００３１】
上記の式（ａ）及び上記の式（ｂ）から、遠景画像の更新頻度Ｆは、「Ｆ＝ｖ／ｄ＝ｖ×（Ｈ／Ｄ）／ｓ」と表すことができる。さらに、上記の式（ｃ）を代入することによって、遠景画像の更新頻度Ｆは、「Ｆ＝ｖ×（Ｈ／Ｄ）×（Ｒ／Ｐ）／Ｗ」と表すことができ、これを変形すると「Ｆ＝｛Ｒ／（（Ｗ／Ｈ）×Ｐ）｝×ｖ／Ｄ」となる。さらに、上記の式（ｄ）を代入することによって、遠景画像の更新頻度Ｆは、「Ｆ＝｛Ｒ／（２×ｔａｎ（θ／２）×Ｐ）｝×ｖ／Ｄ」と表すことができる。これに視線の移動方向αの効果を導入すると、上記の式（１）が導出される。
【００３２】
このようにして導出された式（１）は、書割が視点から遠くにあるほど、すなわち視点から書割までの距離Ｄが大きくなるほど、視点が移動したときの画面上での見え方の変化が小さくなるので、遠景画像の更新頻度Ｆが低く設定されることを意味する。さらに、式（１）は、視点の移動が速いほど、すなわち視点の移動速度ｖが大きいほど、見え方の変化が大きくなるので、遠景画像の更新頻度Ｆが高く設定されることを意味する。
【００３３】
次に、上記の式（２）の導出について説明する。上記の式（２）には、描画処理量に関する条件が組み込まれた書割の位置Ｄ、遠景画像の更新頻度Ｆおよび描画範囲の遠方限界Ｅの関係式である。かかる式（２）には、「視点から書割までの近景にある物体を描画するのに要する描画処理量の見積もりと、書割から描画範囲の遠方限界までの遠景にある物体を描画するのに要する描画処理量の見積もりとの合計がコンピュータの描画処理能力に一致する」という描画処理量に関する条件が組み込まれている。
【００３４】
まず、描画処理量を見積もるために、空間内の範囲、および、遠景画像の更新頻度と、単位時間当たりの描画処理量Ｌとの関係を定義する。この定義は、仮想空間の性質に基づいて行うべきもので、以下には一つの例を示す。
【００３５】
単位時間あたりの描画処理量の見積もりＬは、遠景画像の更新頻度Ｆに比例すると推定できる。また、広域ドライビングシミュレータにおいて、単位時間あたりの描画処理量の見積もりＬは、「仮想空間内の地面の面積に比例する」と近似することができる。なぜなら、地面に大量の建物や橋梁などの物体が接している空間では、描画処理量はおよそ物体の数に比例すると想定でき、さらに、物体が略均一の密度で地面に配置されていると仮定すれば、物体の数は地面の面積に比例すると見做すことができるからである。そして、視点からの距離が距離ａから距離ｂまでの範囲についての視野内の地面の面積は、（ｂ２−ａ２）に比例する。
【００３６】
Ｌ＝Ｆ×（ｂ２−ａ２）・・・式（ｅ）
【００３７】
これらの関係から、単位時間あたりの描画処理量の見積もりＬは、上記の式（ｅ）のように表すことができる。なお、物体の配置が均一でなければ、比例関数の代わりに分布関数などを用いればより正確な関係式を導出できる。また、物体が地面だけでなく空中にも存在するような仮想空間であれば、地面の面積ではなく、空間の体積に比例するような関係式とすることもできる。
【００３８】
図５は、書割を用いない場合における更新頻度と視点からの距離の関係を示す図である。図５に示すように、書割を用いずに、視点から描画範囲の遠方限界Ｅ０までの全ての物体をリアルタイム、すなわち映像出力部１２へ出力されるシミュレーション映像のフレームレート（秒間Ｆ０回）で描画する場合を想定する。その上で、視点から描画範囲の遠方限界Ｅまでの距離Ｅ０がコンピュータの描画処理能力を全て使い切るように値が設定されるものと仮定する。このような仮定の下、描画処理量の見積もりＬ０は、下記の式（ｆ）のように表すことができる。
【００３９】
Ｌ０＝Ｆ０×Ｅ０２・・・式（ｆ）
【００４０】
図６は、書割を用いる場合における更新頻度と視点からの距離の関係を示す図である。図６に示すように、書割を用いた場合の描画処理量の見積もりＬ１は、視点から書割までの近景にある物体を描画するのに要する処理量と、書割から描画範囲の遠方限界Ｅまでの遠景にある物体を描画するのに要する処理量との合計となる。よって、書割を用いた場合の描画処理量の見積もりＬ１は、下記の式（ｇ）のように表すことができる。このとき、視点から書割までの近景にある物体を描画する描画の更新頻度は、映像出力部１２へ出力されるシミュレーション映像のフレームレートＦ０と同じ更新頻度であるものとする。その一方で、書割から描画範囲の遠方限界Ｅまでの遠景にある物体を描画する更新頻度Ｆは、描画処理量の削減、並びに、描画範囲の遠方限界の最大化を実現するために、シミュレーション映像のフレームレートＦ０よりも低く設定されるものとする。
【００４１】
Ｌ１＝Ｆ０×Ｄ２＋Ｆ×（Ｅ２−Ｄ２）・・・式（ｇ）
【００４２】
ここで、コンピュータが描画処理能力を常に使い切るとすると、Ｌ０とＬ１は等しいので、下記の式（ｈ）が得られる。
【００４３】
Ｆ０×Ｅ０２＝Ｆ０×Ｄ２＋Ｆ×（Ｅ２−Ｄ２）・・・式（ｈ）
【００４４】
上記の式（ｈ）を左辺がＥとなるように変形すると上記の式（２）を導出することができる。なお、上記の式（２）における「Ｄ」は、書割の位置を指す。式（２）における「Ｅ」は、描画範囲の遠方限界を指す。式（２）における「Ｆ」は、遠景画像の更新頻度を指す。式（２）における「Ｆ０」は、リアルタイムの更新頻度、例えば秒間６０コマを指す。式（２）における「Ｅ０」は、描画範囲の全体をリアルタイムで描画する場合の遠方限界の最大値を指す。
【００４５】
続いて、上記の式（３）の導出について説明する。上記の式（３）は、描画範囲の遠方限界Ｅが最大となる書割の位置Ｄを算出する算出式であり、上記の式（１）及び上記の式（２）を用いて導出される。
【００４６】
まず、上記の式（１）を上記の式（２）に代入することによって、描画範囲の遠方限界Ｅを書割の位置Ｄの関数として表した下記の式（ｊ）が得られる。なお、下記の式（ｊ）における「Ｘ」は、下記の式（ｋ）によって表される。
【００４７】
Ｅ２＝−（Ｆ０／Ｘ）×Ｄ３＋Ｄ２＋（Ｅ０２×Ｆ０／Ｘ）×Ｄ・・・式（ｊ）
Ｘ＝｛Ｒ／（２×ｔａｎ（θ／２）×Ｐ）｝×ｓｉｎα×ｖ・・・式（ｋ）
【００４８】
上記の式（ｊ）におけるＥをＤで微分して、それが０となる式を解くことにより、Ｅが最大値となるＤを求める上記の式（３）を導出することができる。なお、上記の式（３）における「Ｖ」は、視点の移動速度を指す。式（３）における「α」は、視点の移動方向を指す。式（３）における「Ｄ」は、書割の位置を指す。式（３）における「Ｆ」は、遠景画像の更新頻度を指す。式（３）における「Ｒ」は、画面の横方向の解像度を指す。式（３）における「Ｐ」は、描画ピクセル位置の許容誤差を指す。式（３）における「θ」は、視野角を指す。式（３）における「Ｆ０」は、リアルタイムの更新頻度を指す。また、式（３）における「Ｅ０」は、描画範囲の全体をリアルタイムで描画する場合の遠方限界の最大値を指す。
【００４９】
このようにして導出された式（１）〜式（３）を用いて、書割配置決定部１４は、書割の位置Ｄ、遠景画像の更新頻度Ｆおよび描画範囲の遠方限界Ｅを算出する。
【００５０】
図７は、視点位置ベクトル及び視点速度ベクトルの一例を示す図である。例えば、図７に示す視点の位置ベクトル及び視線の速度ベクトルがシミュレーション実行部１３によって入力された場合を想定する。すると、書割配置決定部１４は、視点の位置ベクトル及び視線の速度ベクトルを用いて、視点の移動速度の大きさｖと、視点の移動方向、すなわち書割の法線に対する角度αとを算出する。その上で、書割配置決定部１４は、先に算出した視線の移動速度ｖおよび視線の移動方向αを上記の式（３）へ代入することによって書割の位置Ｄ「783.5」を算出する。さらに、書割配置決定部１４は、視線の移動速度ｖ、視線の移動方向αおよび上記の式（３）を用いて算出した書割の位置Ｄを上記の式（１）へ代入することによって遠景画像の更新頻度Ｆ「12.3」を算出する。そして、書割配置決定部１４は、式（３）を用いて算出した書割の位置Ｄおよび式（１）を用いて算出した遠景画像の更新頻度Ｆを上記の式（２）へ代入することによって描画範囲の遠方限界Ｅ「5401.2」を算出する。その後、書割配置決定部１４は、上述のように算出した書割の位置Ｄ「783.5」、描画範囲の遠方限界Ｅ「5401.2」及び遠景画像の更新頻度Ｆ「12.3」を書割配置情報として後述の書割配置記憶部１５へ格納する。
【００５１】
なお、書割配置決定部１４は、シミュレーション実行部１３から視点の位置ベクトル及び速度ベクトルが入力される度に、書割の位置Ｄ、描画範囲の遠方限界Ｅ及び遠景画像の更新頻度Ｆを算出することもできるが、必ずしも入力の度に算出する必要はない。例えば、書割配置決定部１４は、前回に書割配置情報を決定した時の視点の位置ベクトル及び速度ベクトルからの変化量が所定の閾値以上になった場合に、改めて書割配置情報を決定することもできる。これによって、書割配置情報が頻繁に変更されることによって画像処理装置１０の処理負荷が高まることを防止できる。
【００５２】
書割配置記憶部１５は、書割配置情報を記憶する記憶部である。かかる書割配置情報の一態様としては、書割の位置Ｄ、描画範囲の遠方限界Ｅ及び遠景画像の更新頻度Ｆなどの項目が対応付けられたデータを採用できる。図８は、書割配置情報の一例を示す図である。図８の例では、描画範囲の遠方限界を「5401.2」に設定するとともに視点からの距離が「783.5」である位置に書割を配置し、書割にマッピングされる遠景画像を秒間「12.3」回の頻度で更新すべき旨の設定がなされていることを示す。
【００５３】
描画部１６は、映像出力部１２へ出力させるシミュレーション映像をコンピュータグラフィックスによって描画する処理部である。描画部１６は、図１に示すように、書割描画部１６ａと、書割画像記憶部１６ｂと、映像描画部１６ｃとを有する。
【００５４】
このうち、書割描画部１６ａは、書割に貼り付けるテクスチャである遠景画像を描画する処理部である。一態様としては、書割描画部１６ａは、前回に遠景画像を描画してから書割配置情報に定められた遠景画像の更新頻度Ｆが経過した場合に、シミュレーション実行部１３によって算出された視点の位置ベクトルを参照する。そして、書割描画部１６ａは、書割配置記憶部１５に記憶された書割配置情報を参照する。その上で、書割描画部１６ａは、シミュレーション実行部１３によって算出されたモデルのうち書割配置情報に定められた書割の位置Ｄから描画範囲の遠方限界までの遠景に含まれるモデルを選択する。その後、書割描画部１６ａは、先に選択したモデルを書割に透視投影することによって遠景画像を描画する。その上で、書割描画部１６ａは、先に描画した遠景画像を書割にテクスチャマッピングする。そして、書割描画部１６ａは、遠景画像が書割にマッピングされた書割画像を書割画像記憶部１６ｂへ格納する。
【００５５】
書割画像記憶部１６ｂは、書割画像を記憶する記憶部である。一例として、書割画像記憶部１６ｂは、書割配置情報に定められた遠景画像の更新頻度Ｆが経過する度に、書割描画部１６ａによって更新される。他の一例として、書割画像記憶部１６ｂは、シミュレーション映像を描画するために、シミュレーション映像のフレームレートＦ０が経過する度に後述の映像描画部１６ｃによって参照される。
【００５６】
映像描画部１６ｃは、シミュレーション映像を描画する処理部である。一態様としては、映像描画部１６ｃは、映像出力部１２へ出力されるシミュレーション映像のフレームレート（秒間Ｆ０回）で処理を起動する。そして、映像描画部１６ｃは、シミュレーション実行部１３によって算出された視点の位置ベクトルを参照する。続いて、映像描画部１６ｃは、書割配置記憶部１５に記憶された書割配置情報を参照する。そして、映像描画部１６ｃは、書割画像記憶部１６ｂに記憶された書割画像を読み出す。その上で、映像描画部１６ｃは、シミュレーション実行部１３によって算出されたモデルのうち仮想空間の視点から書割配置情報に定められた書割の位置Ｄまでにある近景のモデルを選択する。その後、映像描画部１６ｃは、先に選択したモデルとともに書割画像を映像出力部１２のスクリーンに透視投影することによってシミュレーション映像を描画する。そして、映像描画部１６ｃは、シミュレーション映像を映像出力部１２へ出力する。
【００５７】
なお、シミュレーション実行部１３、書割配置決定部１４、書割描画部１６ａ及び映像描画部１６ｃには、各種の集積回路や電子回路を採用できる。例えば、集積回路としては、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）が挙げられる。また、電子回路としては、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）などが挙げられる。
【００５８】
また、書割配置記憶部１５及び書割画像記憶部１６ｂには、次のようなデバイスを採用できる。例えば、ＲＡＭ（Random  Access  Memory)、ＲＯＭ（Read  Only  Memory）やフラッシュメモリ（flash  memory）などの半導体メモリ素子を採用できる。また、ハードディスク、光ディスクなどの記憶装置も採用できる。
【００５９】
［処理の流れ］
次に、本実施例に係る画像処理装置の処理の流れについて説明する。なお、ここでは、シミュレーション装置１０によって実行される（１）書割配置決定処理を説明した後に（２）書割画像の更新処理を説明し、その後、（３）シミュレーション映像の更新処理を説明することとする。
【００６０】
（１）書割配置決定処理
図９は、実施例１に係る書割配置決定処理の手順を示すフローチャートである。この書割配置決定処理は、広域ドライビングシミュレータが動作中である限り、繰り返し実行される処理である。
【００６１】
図９に示すように、操作入力部１１からの操作を受け付けると（ステップＳ１０１  Ｙｅｓ）、シミュレーション実行部１３は、次のような処理を実行する。すなわち、シミュレーション実行部１３は、操作入力部１１によって出力されたステアリングハンドル、アクセルペダル、ブレーキペダルやシフトレバーなどの操作量を用いて、仮想空間内における自車両の視点の位置や速度を始め、仮想空間に存在する各種のモデル、例えば建物や橋梁などの位置を計算する（ステップＳ１０２）。なお、仮想空間には、自車両の他にも多くの車両が存在しており、かかる他の車両も時間の経過に従って位置や速度を変えてゆくので、ステップＳ１０２では他の車両の位置や速度も合わせてシミュレーション実行部１３によって計算される。
【００６２】
続いて、書割配置決定部１４は、シミュレーション実行部１３から視点の位置ベクトル及び速度ベクトル等の視線に関するパラメータを受け付ける（ステップＳ１０３）。そして、書割配置決定部１４は、前回に書割配置情報を決定した時の視点の位置ベクトル及び速度ベクトルからの変化量が所定の閾値以上になったか否かを判定する（ステップＳ１０４）。
【００６３】
ここで、前回に書割配置情報を決定した時の視点の位置ベクトル及び速度ベクトルからの変化量が所定の閾値以上である場合（ステップＳ１０４  Ｙｅｓ）には、書割配置決定部１４は、次のような処理を実行する。すなわち、書割配置決定部１４は、視点の位置ベクトル及び速度ベクトルから得られる視線の移動速度ｖおよび視線の移動方向αを上記の式（３）へ代入することによって書割の位置Ｄを算出する（ステップＳ１０５）。
【００６４】
続いて、書割配置決定部１４は、視線の移動速度ｖ、視線の移動方向αおよびステップＳ１０５で算出した書割の位置Ｄを上記の式（１）へ代入することによって遠景画像の更新頻度Ｆを算出する（ステップＳ１０６）。
【００６５】
そして、書割配置決定部１４は、ステップＳ１０５で算出した書割の位置ＤおよびステップＳ１０６で算出した遠景画像の更新頻度Ｆを上記の式（２）へ代入することによって描画範囲の遠方限界Ｅを算出する（ステップＳ１０７）。
【００６６】
その後、書割配置決定部１４は、ステップＳ１０５〜ステップＳ１０７で算出した書割の位置Ｄ、描画範囲の遠方限界Ｅ及び遠景画像の更新頻度Ｆを書割配置情報として後述の書割配置記憶部１５へ格納する（ステップＳ１０８）。
【００６７】
このように、上記のステップＳ１０１〜ステップＳ１０８までの処理が広域ドライビングシミュレータが停止されるまで繰り返し実行される。
【００６８】
（２）書割画像の更新処理
図１０は、実施例１に係る書割画像の更新処理の手順を示すフローチャートである。この書割処理も、広域ドライビングシミュレータが動作中である限り、繰り返し実行される処理である。
【００６９】
図１０に示すように、前回に遠景画像を描画してから書割配置情報に定められた遠景画像の更新頻度Ｆが経過した場合（ステップＳ２０１  Ｙｅｓ）に、書割描画部１６ａは、シミュレーション実行部１３によって算出された視点の位置ベクトルを参照する（ステップＳ２０２）。
【００７０】
そして、書割描画部１６ａは、書割配置記憶部１５に記憶された書割配置情報を参照する（ステップＳ２０３）。その上で、書割描画部１６ａは、シミュレーション実行部１３によって算出されたモデルのうち書割配置情報に定められた書割の位置Ｄから描画範囲の遠方限界までの遠景に含まれるモデルを選択する（ステップＳ２０４）。
【００７１】
その後、書割描画部１６ａは、先に選択したモデルを書割に透視投影することによって遠景画像を描画する（ステップＳ２０５）。その上で、書割描画部１６ａは、先に描画した遠景画像を書割にテクスチャマッピングする（ステップＳ２０６）。そして、書割描画部１６ａは、遠景画像が書割にマッピングされた書割画像を書割画像記憶部１６ｂへ格納する（ステップＳ２０７）。
【００７２】
このように、上記のステップＳ２０１〜ステップＳ２０７までの処理が書割配置情報に定められた遠景画像の更新頻度Ｆで広域ドライビングシミュレータが停止されるまで繰り返し実行される。
【００７３】
（３）シミュレーション映像の更新処理
図１１は、実施例１に係るシミュレーション映像の更新処理の手順を示すフローチャートである。この係るシミュレーション映像も、広域ドライビングシミュレータが動作中である限り、繰り返し実行される処理である。
【００７４】
図１１に示すように、前回にシミュレーション映像を映像出力部１２へ出力してからフレームレート（秒間Ｆ０回）が経過すると（ステップＳ３０１  Ｙｅｓ）、映像描画部１６ｃは、次のような処理を実行する。すなわち、映像描画部１６ｃは、シミュレーション実行部１３によって算出された視点の位置ベクトルを参照する（ステップＳ３０２）。続いて、映像描画部１６ｃは、書割配置記憶部１５に記憶された書割配置情報を参照する（ステップＳ３０３）。そして、映像描画部１６ｃは、書割画像記憶部１６ｂに記憶された書割画像を読み出す（ステップＳ３０４）。
【００７５】
その上で、映像描画部１６ｃは、シミュレーション実行部１３によって算出されたモデルのうち仮想空間の視点から書割配置情報に定められた書割の位置Ｄまでにある近景のモデルを選択する（ステップＳ３０５）。
【００７６】
その後、映像描画部１６ｃは、ステップＳ３０５で選択したモデルとともに書割画像を映像出力部１２のスクリーンに透視投影することによってシミュレーション映像を描画する（ステップＳ３０６）。そして、映像描画部１６ｃは、シミュレーション映像を映像出力部１２へ出力する（ステップＳ３０７）。
【００７７】
このように、上記のステップＳ３０１〜ステップＳ３０７までの処理がシミュレーション映像のフレームレート（秒間Ｆ０回）で広域ドライビングシミュレータが停止されるまで繰り返し実行される。
【００７８】
［実施例１の効果］
上述してきたように、本実施例に係るシミュレーション装置１０は、仮想空間において視点が移動する速度と方向から、描画品質に関する条件及び描画処理量に関する条件を満たす書割の位置Ｄ、遠景画像の更新頻度Ｆ及び描画範囲の遠方限界Ｅを決定する。このため、本実施例に係るシミュレーション装置１０では、描画品質が低下しない範囲において、視点の移動が遅いほど遠景画像の更新頻度Ｆを低く設定し、視点が移動する方向が書割と垂直な方向に近づくほど遠景画像の更新頻度Ｆを低く設定することができる。さらに、本実施例に係るシミュレーション装置１０では、遠景画像の更新頻度をシミュレーション映像が出力されるフレームレートよりも低い頻度へ設定して描画処理量を削減することによって絞り出された演算処理能力を描画範囲の遠方限界を最大化するのに振り分けることができる。したがって、本実施例に係るシミュレーション装置１０によれば、描画品質の低下を抑制しつつ、描画範囲の遠方限界を最大限遠く設定することが可能である。
【実施例２】
【００７９】
さて、これまで開示の装置に関する実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。
【００８０】
［書割の配置の応用例］
上記の実施例１では、仮想空間内に書割を１つ配置する場合を想定したが、必ずしも配置する書割が１つである必要はない。すなわち、書割の見え方の変化、すなわち本来見えるべき画像からのズレは、視点の位置の変化にのみ依存し、視線の方向の変化には関係がない。従って、視点を動かさずに視線の方向だけを変化させた場合、書割を更新する必要はない。ただし、視線方向が大きく変化すると、視野の一部または全部が書割によってカバーされなくなることが考えられる。それを防ぐために、開示の装置は、視点を取り囲むように、複数の平面の書割を配置することもできる。そして、各々の書割について独立に図９〜図１１に示した処理を適用すればよい。このように、複数の書割を配置する場合には、例えば、上から見て四角形や多角形になるようにすれば良い。視線が上下方向にも大きく動く場合は、上下にも書割を追加して、全体として立方体や多面体を構成するようにすることができる。
【００８１】
［分散および統合］
また、図示した各装置の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、シミュレーション実行部１３、書割配置決定部１４、書割描画部１６ａまたは映像描画部１６ｃをシミュレーション装置１０の外部装置としてネットワーク経由で接続するようにしてもよい。また、シミュレーション実行部１３、書割配置決定部１４、書割描画部１６ａまたは映像描画部１６ｃを別の装置がそれぞれ有し、ネットワーク接続されて協働することで、上記のシミュレーション装置１０の機能を実現するようにしてもよい。
【００８２】
［画像処理プログラム］
また、上記の実施例で説明した各種の処理は、予め用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、図１２を用いて、上記の実施例と同様の機能を有する画像処理プログラムを実行するコンピュータの一例について説明する。
【００８３】
図１２は、実施例１及び実施例２に係る画像処理プログラムを実行するコンピュータの一例について説明するための図である。図１２に示すように、コンピュータ１００は、操作部１１０ａと、スピーカ１１０ｂと、カメラ１１０ｃと、ディスプレイ１２０と、通信部１３０とを有する。さらに、このコンピュータ１００は、ＣＰＵ１５０と、ＲＯＭ１６０と、ＨＤＤ１７０と、ＲＡＭ１８０とを有する。これら１１０〜１８０の各部はバス１４０を介して接続される。
【００８４】
ＨＤＤ１７０には、図１２に示すように、上記の実施例１で示したシミュレーション実行部１３、書割配置決定部１４、書割描画部１６ａ及び映像描画部１６ｃと同様の機能を発揮する画像処理プログラム１７０ａが予め記憶される。この画像処理プログラム１７０ａについては、図１に示したシミュレーション実行部１３、書割配置決定部１４、書割描画部１６ａ及び映像描画部１６ｃの各構成要素と同様、適宜統合又は分離しても良い。すなわち、ＨＤＤ１７０に格納される各データは、常に全てのデータがＨＤＤ１７０に格納される必要はなく、処理に必要なデータのみ、例えば書割配置決定部１４が発揮する機能に関するプログラムだけがＨＤＤ１７０に格納されれば良い。
【００８５】
そして、ＣＰＵ１５０が、画像処理プログラム１７０ａをＨＤＤ１７０から読み出してＲＡＭ１８０に展開する。これによって、図１２に示すように、画像処理プログラム１７０ａは、画像処理プロセス１８０ａとして機能する。この画像処理プロセス１８０ａは、ＨＤＤ１７０から読み出した各種データを適宜ＲＡＭ１８０上の自身に割り当てられた領域に展開し、この展開した各種データに基づいて各種処理を実行する。なお、画像処理プロセス１８０ａは、図１に示したシミュレーション実行部１３、書割配置決定部１４、書割描画部１６ａ及び映像描画部１６ｃにて実行される処理、例えば図９〜図１１に示す処理を含む。また、ＣＰＵ１５０上で仮想的に実現される各処理部は、常に全ての処理部がＣＰＵ１５０上で動作する必要はなく、処理に必要な処理部のみ、例えば書割配置決定部１４だけが仮想的に実現されれば良い。
【００８６】
なお、上記の画像処理プログラム１７０ａについては、必ずしも最初からＨＤＤ１７０やＲＯＭ１６０に記憶させておく必要はない。例えば、コンピュータ１００に挿入されるフレキシブルディスク、いわゆるＦＤ、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」に各プログラムを記憶させる。そして、コンピュータ１００がこれらの可搬用の物理媒体から各プログラムを取得して実行するようにしてもよい。また、公衆回線、インターネット、ＬＡＮ、ＷＡＮなどを介してコンピュータ１００に接続される他のコンピュータまたはサーバ装置などに各プログラムを記憶させておき、コンピュータ１００がこれらから各プログラムを取得して実行するようにしてもよい。
【符号の説明】
【００８７】
１０    シミュレーション装置
１１    操作入力部
１２    映像出力部
１３    シミュレーション実行部
１４    書割配置決定部
１５    書割配置記憶部
１６    描画部
１６ａ  書割描画部
１６ｂ  書割画像記憶部
１６ｃ  映像描画部
【図１】
0005825179.tif 000002
【図２】
0005825179.tif 000003
【図３】
0005825179.tif 000004
【図４】
0005825179.tif 000005
【図５】
0005825179.tif 000006
【図６】
0005825179.tif 000007
【図７】
0005825179.tif 000008
【図８】
0005825179.tif 000009
【図９】
0005825179.tif 000010
【図１０】
0005825179.tif 000011
【図１１】
0005825179.tif 000012
【図１２】
0005825179.tif 000013