カバレージ表示装置、カバレージ表示システムおよびカバレージ表示プログラム
【課題】3次元空間に存在する物体により伝播が遮られる場合のカバーエリアをユーザが正確かつ短時間に把握できるよう視覚化するカバレージ表示装置、カバレージ表示システムおよびカバレージ表示プログラムを得る。
【解決手段】距離計算部8は、装置オブジェクト20のカバーエリアをスキャンし、各スキャン方向で装置オブジェクト20に最も近い隠蔽オブジェクト21までの距離Aを求めて距離マップ9を生成する。カバーエリア描画部11は、装置オブジェクト20からカバーエリアの任意部分までの距離Bを求め、B≦Aならその部分は隠蔽オブジェクト21に隠蔽されないと判断して非隠蔽色で描画し、B>Aなら隠蔽されると判断して隠蔽色で描画する。
【解決手段】距離計算部8は、装置オブジェクト20のカバーエリアをスキャンし、各スキャン方向で装置オブジェクト20に最も近い隠蔽オブジェクト21までの距離Aを求めて距離マップ9を生成する。カバーエリア描画部11は、装置オブジェクト20からカバーエリアの任意部分までの距離Bを求め、B≦Aならその部分は隠蔽オブジェクト21に隠蔽されないと判断して非隠蔽色で描画し、B>Aなら隠蔽されると判断して隠蔽色で描画する。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、仮想3次元空間に配置したカメラ等の装置がカバーする空間(カバレージまたはカバーエリア)を視覚化するカバレージ表示装置、カバレージ表示システムおよびカバレージ表示プログラムに関するものである。
【背景技術】
【0002】
カバレージ表示システムの従来例として、カメラの配置設計を支援するCAD(Computer Aided Design)システムがある。このシステムでは、カメラをモデル化したカメラオブジェクトと、被写体をモデル化した被写体オブジェクトとを仮想の3次元空間に配置し、カメラの撮像範囲および被写体の写り具合等をグラフィカルに表示することにより、目的に応じたカメラの最適な配置決めを支援する(例えば、非特許文献1,2参照)。
【0003】
非特許文献1では、3次元空間に配置したカメラオブジェクトに対してパン、チルト、ズームといったカメラ制御をユーザとシステムの間で対話的に行い、そのカメラ制御に連動してカメラオブジェクトの画角および方向を計算し、3次元空間内にカメラのカバーエリアを四角錐または四角錐台の形状で表す。また、このシステムはカメラオブジェクトから撮像したシーンをユーザに表示し、ユーザは被写体がどのように写るかを観察することができる。
【0004】
非特許文献2では、カメラオブジェクトと被写体オブジェクトとを配置した3次元空間に、さらにカメラのカバーエリアに対応した光源を設定し、投影テクスチャマッピングにより、3次元空間に配置された被写体オブジェクトのどの部分がどのような解像度で撮像されるかを再現したシーンを表示する。また、このシステムではシャドウマッピングにより、カメラオブジェクトにより近い位置に配置された被写体オブジェクトにより遮られる隠蔽部分を影として表示する。
【先行技術文献】
【非特許文献】
【0005】
【非特許文献1】Stanislav Utochkin, "The principles of CCTV design in VideoCAD", CCTV focus Issue 36, 2006
【非特許文献2】Andrei State, Greg Welch, and Adrian Ilie, "An Interactive Camera Placement and Visibility Simulator for Image-Based VR Applications", Proceedings of the Engineering Reality of Virtual Reality 2006
【発明の概要】
【発明が解決しようとする課題】
【0006】
従来のカバレージ表示システムは以上のように構成されているので、ユーザは、カメラのカバーエリア、および撮像される被写体の部分と他の被写体により遮られる隠蔽部分を含む被写体の写り具合とを視覚的に確認することができる。しかしながら、カバーエリアを隠蔽部分と非隠蔽部分とに視覚的に区別して表示することができないので、ユーザは例えば壁または柱によってできる死角エリアを正確に把握することができず、また、おおよそであっても把握するのに時間を要するため、正確かつ短時間に配置設計することができないというという課題があった。
【0007】
この発明は、上記のような課題を解決するためになされたもので、仮想3次元空間において、直線的伝播特性を有する電磁波、ビームなどの波動を検知または照射するカメラ、焦電型赤外センサ、照明装置といった装置のカバーエリアを表示する際、この3次元空間に存在する物体により伝播が遮られる場合のカバーエリアをユーザが正確かつ短時間に把握できるよう視覚化するカバレージ表示装置、カバレージ表示システムおよびカバレージ表示プログラムを得ることを目的とする。
【課題を解決するための手段】
【0008】
この発明に係るカバレージ表示装置は、直線的伝播特性を有する波動を検知または照射する装置をモデル化した装置オブジェクト、および当該波動の伝播を遮る物体をモデル化した隠蔽オブジェクトを仮想の3次元空間に配置するオブジェクト配置部と、3次元空間において、装置オブジェクトが検知または照射するカバーエリアをスキャンし、各スキャン方向で装置オブジェクトに最も近い隠蔽オブジェクトまでの第1距離を計算して距離マップを生成する距離計算部と、3次元空間にカバーエリアを示す3次元図形を描画するときに、装置オブジェクトから当該3次元図形の任意部分までの第2距離を計算し、距離マップ内の対応する第1距離との比較結果に基づいて、当該3次元図形の隠蔽オブジェクトに遮られる隠蔽部分と遮られない非隠蔽部分とを視覚的に区別して描画するカバーエリア描画部と、任意位置に設定される視点から見た3次元空間を示す画像データを生成する図形描画部とを備えるものである。
【0009】
この発明に係るカバレージ表示システムは、画像データを表示するディスプレイと、ユーザの指示を受け付ける対話装置と、装置オブジェクトのカバーエリアを示す3次元図形を、対話装置が受け付ける指示に従って対話形式に描画して画像データを生成し、ディスプレイに表示させるものである。
【0010】
この発明に係るカバレージ表示プログラムは、直線的伝播特性を有する波動を検知または照射する装置をモデル化した装置オブジェクト、および当該波動の伝播を遮る物体をモデル化した隠蔽オブジェクトを仮想の3次元空間に配置するオブジェクト配置手順と、3次元空間において、装置オブジェクトが検知または照射するカバーエリアをスキャンし、各スキャン方向で装置オブジェクトに最も近い隠蔽オブジェクトまでの第1距離を計算して距離マップを生成する距離計算手順と、3次元空間にカバーエリアを示す3次元図形を描画するときに、装置オブジェクトから当該3次元図形の任意部分までの第2距離を計算し、距離マップ内の対応する第1距離との比較結果に基づいて、当該3次元図形の隠蔽オブジェクトに遮られる隠蔽部分と遮られない非隠蔽部分とを視覚的に区別して描画するカバーエリア描画手順と、任意位置に設定される視点から見た3次元空間を示す画像データを生成する図形描画手順とをコンピュータに実行させるものである。
【発明の効果】
【0011】
この発明によれば、装置オブジェクトとカバーエリアとの間に隠蔽オブジェクトが存在するか否かを判定し、カバーエリアを示す3次元図形を隠蔽部分と非隠蔽部分とに視覚的に区別して描画するようにしたので、仮想3次元空間において、直線的伝播特性を有する電磁波、ビームなどの波動を検知または照射するカメラ、焦電型赤外センサ、照明装置といった装置のカバーエリアを表示する際、この3次元空間に存在する物体により伝播が遮られる場合のカバーエリアをユーザが正確かつ短時間に把握できるよう視覚化するカバレージ表示装置およびカバレージ表示プログラムを得ることができる。
【0012】
また、この発明によれば、カバレージ表示装置が対話形式でカバーエリアの3次元図形を描画して表示するようにしたので、ユーザがディスプレイに表示されたカバーエリアを確認しながら装置オブジェクトの配置設計ができるカバレージ表示システムを得ることができる。
【図面の簡単な説明】
【0013】
【図1】この発明の実施の形態1に係るカバレージ表示システムの構成を示すブロック図である。
【図2】装置オブジェクト(カメラ)のカバーエリアを説明する図である。
【図3】装置オブジェクト(焦電型赤外センサまたはスポット照明)のカバーエリアを説明する図である。
【図4】装置オブジェクトのカバーエリアの隠蔽を説明する図である。
【図5】図4に示すカバーエリアの表示例を説明する図である。
【図6】図4に示すカバーエリアの別の表示例を説明する図である。
【図7】図4に示すカバーエリアの別の表示例を説明する図である。
【図8】実施の形態1に係るカバレージ表示システムの動作を説明するフローチャートである。
【図9】オブジェクトのデータ構造を示す図である。
【図10】距離計算部が行うZバッファ方式の隠面消去処理を説明する図である。
【図11】図8に示す動作のうち、距離Aの計算処理の流れを示すフローチャートである。
【図12】図8に示す動作のうち、オブジェクト描画処理の流れを示すフローチャートである。
【図13】図8に示す動作のうち、カバーエリア描画処理の流れを示すフローチャートである。
【図14】カバーエリアの隠蔽判定を説明する図である。
【図15】装置オブジェクトのカバーエリアを示す表示例である。
【図16】装置オブジェクトのカバーエリアに設定する平面およびカバーエリア表示例を説明する図である。
【図17】装置オブジェクトのカバーエリアに設定する平面およびカバーエリア表示例を説明する図である。
【図18】装置オブジェクトのカバーエリアに設定する平面の別の例およびカバーエリア表示例を説明する図である。
【図19】装置オブジェクトのカバーエリアに設定する平面の別の例およびカバーエリア表示例を説明する図である。
【図20】装置オブジェクトのカバーエリアに設定する多面体およびカバーエリア表示例を説明する図である。
【発明を実施するための形態】
【0014】
実施の形態1.
図1に示すカバレージ表示システム1は、カバレージ表示装置2にディスプレイ3と、キーボードおよびマウス等で構成する対話装置4とが接続されてなる。このカバレージ表示装置2は、CPU(Central Processing Unit)、メモリ、HDD(Hard Disk Drive)等を有するパーソナルコンピュータ等のコンピュータで構成される。このコンピュータは、ユーザによるカバーエリアの視覚確認を含む対話的な作業をレスポンス良く行うために、3次元グラフィックスを高速に描画するグラフィックプロセッサ(GPU:Graphics Processing Unit)を備えたものが好ましい。
【0015】
カバレージ表示装置2において、対話制御部5は対話装置4を介してユーザからの操作要求を受け付け、該当する処理部に処理指示を行う。オブジェクト配置部6は、対話制御部5から指示されるユーザの操作要求に従い、モデル化したオブジェクトを3次元空間(コンピュータ内の仮想空間)に配置する。オブジェクトとしては、直線的伝播特性を有する波動(例えば電磁波、ビーム)を検知または照射する装置(例えばカメラ、焦電型赤外センサ、照明装置)をモデル化した装置オブジェクト20と、この装置オブジェクト20からの伝播を遮る物体をモデル化した隠蔽オブジェクト21とがある。3次元空間のデータはグラフィックメモリ7にて保持する。
【0016】
距離計算部8は、3次元空間において装置オブジェクト20がカバーするエリアをスキャンし、各スキャン方向で最も近い隠蔽オブジェクト21の装置オブジェクト20までの距離A(第1距離)を計算し、距離マップ9として保持する。
【0017】
オブジェクト描画部10は、グラフィックメモリ7を参照して、装置オブジェクト20および隠蔽オブジェクト21を3次元空間に描画する。カバーエリア描画部11は、グラフィックメモリ7を参照して、装置オブジェクト20のカバーエリアを示す3次元図形を3次元空間に描画する。図形描画部12がカバーエリアを描画する際、カバーエリアの描画部分と装置オブジェクト20との距離B(第2距離)を計算し、距離マップ内の対応する距離Aとの比較結果に基づいて、カバーエリア図形のうち隠蔽オブジェクト21に遮られる隠蔽部分と遮られない非隠蔽部分とを視覚的に区別して描画する。
【0018】
図形描画部12は、対話制御部5から指示されるユーザの操作要求に従って3次元空間の任意位置にユーザ視点を設定し、このユーザ視点から装置オブジェクト20のカバーエリアを観察した様子を、フレームメモリ13に書き込んで、2次元の画像データを作成する。表示部14はフレームメモリ13に書き込まれた画像データをディスプレイ3に表示する。図1に示すディスプレイ3の画面には、装置オブジェクト20と隠蔽オブジェクト21が配置された3次元空間をユーザ視点から見た状態の画像データがディスプレイ2に表示されており、装置オブジェクト20のカバーエリア22のうち、隠蔽オブジェクト21で隠蔽される隠蔽部分23と隠蔽されない非隠蔽部分24とが視覚的に区別されている。
【0019】
図2は、装置オブジェクト20のカバーエリア22を説明する図であり、図2(a)はユーザ視点が真横方向にある場合のビュー、図2(b)は斜め方向のビューである。装置オブジェクト20としてカメラ20aを用いる場合、このカメラ20aのカバーエリア22の3次元図形は画角θ、近端距離Ln、遠端距離Lfで決まる四角錐台として定義される。正確には、画角は焦点距離と撮像素子のサイズで定義され、縦方向と横方向があるが、ここでは説明を簡単にするため画角θのみで表す。
【0020】
図3は、装置オブジェクト20のカバーエリア22を説明する別の図であり、ユーザ視点が斜め方向にある場合のビューである。装置オブジェクト20として楕円形状の集光レンズを有する焦電型赤外センサ(またはスポットライトのような照明)20bを用いる場合、そのカバーエリア22の3次元図形は、集光または照射方向の角度、近端距離Ln、遠端距離Lfで決まる円錐台として定義される。
【0021】
図4は、装置オブジェクト20のカバーエリア22の隠蔽を説明する図であり、図5〜図7は、図4に示すカバーエリア22の表示例を説明する図である。各図とも(a)はユーザ視点が斜め方向にある場合のビュー、(b)は真横方向のビュー、(c)は真上方向のビューである。図中、装置オブジェクト20の一例としてカメラを用い、このカメラの撮像範囲がカバーエリア22となる。また、仮想の3次元空間において、床25の上に隠蔽オブジェクト21が配置され、それを斜め上から撮影するよう装置オブジェクト20が配置されている。
【0022】
装置オブジェクト20のカバーエリア22(近端距離=0とする)は、図4(a)に破線で示す四角錐、および図4(b),(c)に点線で示す三角形となる。図4に示す状態の3次元空間を任意のユーザ視点から描画して2次元の画像データにした場合に、図5では、床25より上にあるカバーエリア22に対し、その輪郭を実線で表示し、境界面を透明色(半透明)で表示している。ただし、図面上では透明色の透明度をグレースケールで表す。以下の図でも同様とする。図5の表示例は、先立って説明した特許文献1の表示方法であり、カバーエリア22の隠蔽部分/非隠蔽部分が区別なく描画されている。
【0023】
一方、図6および図7の表示例は本実施の形態1による表示方法であり、床25より上にあるカバーエリア22の輪郭を実線で表示し、境界面のうち隠蔽オブジェクト21により遮られない非隠蔽部分24を透明色(半透明)で表示し、隠蔽オブジェクト21により遮られる隠蔽部分23を完全な透明色(描画しないと同意)で表示している。なお、図6は隠蔽オブジェクト21として背の高い壁等を用いる場合、図7は隠蔽オブジェクト21として背の低いパーティション等を用いる場合の表示例である。
【0024】
このように、従来の表示方法(図5)では、隠蔽オブジェクト21がカバーエリア22に存在するか否か、即ち物体が他の物体に隠蔽される様子は分かるが、カバーエリア22のどこが隠蔽部分23でどこが非隠蔽部分24かを直感的に短時間に把握することができない。これに対し、本実施の形態1の表示方法(図6および図7)では、従来の表示方法と同様に物体が他の物体に隠蔽される様子が分かる効果に加えて、カバーエリア22自身の隠蔽の様子が容易に把握できる効果がある。
【0025】
次に、カバレージ表示システム1の動作を説明する。
図8は、カバレージ表示システム1の動作を示すフローチャートである。ステップST1〜ST3ではカバレージ表示装置2の対話制御部5が、ユーザが対話装置4を操作して入力する要求の有無をチェックしている。先ずステップST1において、対話制御部5がオブジェクトの配置変更の要求をチェックし、要求がなければ(ステップST1“NO”)、続くステップST2においてオブジェクトおよびカバーエリアを観察するためのユーザ視点の変更要求をチェックする。対話制御部5は、変更要求がなければ(ステップST2“NO”)、続くステップST3において表示処理の終了要求をチェックする。そして、終了要求があれば(ステップST3“YES”)、一連の表示処理を終了し、終了要求がなければ(ステップST3“NO”)、ステップST1に戻る。
【0026】
ステップST1にてオブジェクトの配置変更の要求があると(ステップST1“YES”)、対話制御部5がオブジェクト配置部6へ指示を出し、ステップST4にてオブジェクト配置部6が仮想の3次元空間内で装置オブジェクト20と隠蔽オブジェクト21の配置を変更する処理を行い、ステップST5にて距離計算部8が装置オブジェクト20に最も近い隠蔽オブジェクト21までの距離Aを計算し、距離マップ9に保持する。
【0027】
その後、ステップST6においてオブジェクト描画部10がユーザ視点から装置オブジェクト20と隠蔽オブジェクト21とを描画し、ステップST7においてカバーエリア描画部11がユーザ視点からカバーエリア22を隠蔽部分23と非隠蔽部分24に区別して描画して、ステップST1に戻る。
【0028】
ステップST2にてユーザ視点変更の要求があると(ステップST2“YES”)、続くステップST8において対話制御部5を通じて3次元空間におけるユーザ視点の位置、方向、画角等が対話的に変更される。そして、ステップST6にて装置オブジェクト20と隠蔽オブジェクト21が再描画され、ステップST7にてカバーエリア22が再描画される。
【0029】
ここで、ステップST4におけるオブジェクト配置変更処理の詳細を説明する。
図9は、オブジェクトのデータ構造を示す図である。装置オブジェクト20と隠蔽オブジェクト21に共通のオブジェクトデータとして、ID番号、名称、種類など、オブジェクトを識別する識別情報と、オブジェクトの3次元空間における位置、方向、大きさなどの空間情報と、オブジェクトの形状、色などの図形情報とが定義される。また、装置オブジェクト20は装置の種類に応じたカバーエリアに関する情報が定義され、装置オブジェクト20がカメラであればカバー情報として画角、近端距離、遠端距離などが定義され、焦電型赤外センサであれば集光エリア、近端距離、遠端距離など、スポット照明であれば照射エリア、近端距離、遠端距離などが定義される。これらのオブジェクトデータは、オブジェクトの種類に応じて予めデータ構造を定義した雛型が用意され、オブジェクト配置部6がユーザの指示に従って新たなオブジェクトを作成し配置する際に、適切な雛型を選択し各データに値を代入する。オブジェクトの配置/変更操作はユーザがディスプレイ3の3次元空間に表示されたオブジェクトを直接マウスで移動したり、ダイアログウインドウに表示された数値をキーボードから入力するなど、対話形式で行われる。
【0030】
次に、ステップST5における距離計算処理の詳細を説明する。
ステップST5では、距離計算部8が仮想の3次元空間において装置オブジェクト20のカバー情報に基づくカバーエリアをスキャンし、各スキャン方向で装置オブジェクト20に最も近い隠蔽オブジェクト21までの距離Aを計算して、距離マップ9に保存する。装置オブジェクト20がカメラであれば投影面上の矩形エリアでスキャンし、焦電型赤外センサまたはスポット照明であれば楕円エリアでスキャンし、無指向性のセンサまたは照明であれば球面でスキャンする。距離Aを求めるには、スキャン方向の直線と隠蔽オブジェクト21を構成する面との交差判定により交点座標を求め、装置オブジェクト20の座標から交点座標までの距離を計算すればよい。この方法は、グラフィックス技術分野ではZバッファ、レイトレーシング、スキャンライン方式などの隠面消去処理において行われ計算処理であり、公知技術である。以下では、代表してZバッファ方式を説明するが、これに限定されるものではない。
【0031】
図10は、Zバッファ方式の隠面消去処理を説明する図であり、この隠面消去処理に用いるZバッファ13bおよび距離マップ9も図示している。仮想の3次元空間において、任意の位置に装置オブジェクト20が配置され、この装置オブジェクト20を視点に見立てた場合の視線方向に直交する位置に投影面(矩形エリア)26を配置する。距離計算部8がZバッファ方式を採用した場合、M×N画素からなる投影面26にオブジェクトを投影変換する際に、画素27単位に色情報を書き込むフレームバッファ13aに加え、画素27単位に奥行き情報(投影変換後のZ値)を書き込むZバッファ13bを用いる。このフレームバッファ13aおよびZバッファ13bは、フレームメモリ13のメモリ領域を割り当てたものとする。
【0032】
透視投影の場合、距離計算部8は、視点となる装置オブジェクト20と投影面26の各画素27とを結ぶ直線方向に存在するオブジェクトについて、装置オブジェクト20からこのオブジェクトの面(フラグメントと称する)までの距離を計算し、Zバッファ13bに記録されているそれ以前に求めたフラグメントの最短距離と比較してフラグメント同士の奥行き判定を行う。そして、距離計算部8は新たに計算した距離の方が小さければ、この距離をZバッファ13bに書き込み、このフラグメントの色情報をフレームバッファ13aに書き込む。
【0033】
例えば図10において、装置オブジェクト20から隠蔽オブジェクト21のフラグメントP2までの距離が先に計算されZバッファ13bに記録されているとき、距離計算部8は続いて装置オブジェクト20からフラグメントP1までの距離を計算し、Zバッファ13bに記録されているフラグメントP2の距離と比較する。この例ではフラグメントP1までの距離の方が小さいので、距離計算部8はこのフラグメントP1までの距離をZバッファ13bに上書きし、さらにフラグメントP1の色情報をフレームバッファ13aに上書きする。
一方、フラグメントP1までの距離の方が大きければ、距離計算部8は、フレームバッファ13aおよびZバッファ13bには何も書き込まない。
【0034】
また例えば図10において、装置オブジェクト20から隠蔽オブジェクト21のフラグメントP1までの距離が先に計算されZバッファ13bに記録されているとき、距離計算部8は続いて装置オブジェクト20からフラグメントP2までの距離を計算し、Zバッファ13bに記録されているフラグメントP1の距離と比較する。比較の結果、フラグメントP2までの距離の方が大きいので、フラグメントP2の情報はフレームバッファ13aとZバッファ13bに書き込まれず、先に記録されていたフラグメントP1までの距離と色情報が保持される。
【0035】
オブジェクトの描画が終了すればZバッファ13bには装置オブジェクト20から最も近いフラグメントP1の距離情報が書き込まれており、矩形エリアである投影面26をスキャンして最も近い隠蔽オブジェクト21の距離Aを計算したことになる。また、カバーエリアのスキャン面が矩形でなくても、平面であれば、このスキャン面に含まれる画素のZ値を利用して上記同様に距離Aを計算できる。他方、スキャン面が曲面の場合は、スキャン面を細かく分割して小さな平面(パッチ面)の集合に近似して、パッチ面毎にZバッファ方式の隠面消去処理を複数回繰り返せばよい。
【0036】
以上説明したZバッファ方式は、アルゴリズムが比較的簡単でハードウェア化しやすいため、多くの3次元グラフィックプロセッサ(GPU)に採用されている。従って、図形描画部12をグラフィックプロセッサで構成して、距離計算にグラフィックプロセッサが提供するZバッファ方式の隠面消去処理を用いることにより、処理の記述が簡単になると共に高速な計算処理が可能となる。以下に、距離計算部8がグラフィックプロセッサの隠面消去処理を利用する場合の、距離Aの計算処理を説明する。
【0037】
図11は、距離Aの計算処理の流れを示すフローチャートであり、図8のステップST5を詳細に説明するものである。
ステップST5−1において、距離計算部8が視点および描画モードの設定を行う。具体的には、オブジェクトデータ中に設定された位置、方向、カバーエリア情報に基づいて、距離計算部8が装置オブジェクト20を視点に設定し、その投影面を設定する。また、距離計算部8は、フレームメモリ13の表示モードをオフにして、図形描画部12が処理中にフレームメモリ13に書き込むデータがディスプレイ3に表示されないような描画モードに設定する。
【0038】
ステップST5−2において、距離計算部8から装置オブジェクト20の視点情報を受けて、図形描画部12が、装置オブジェクト20の投影面に隠蔽オブジェクト21を隠面消去しながら描画し、データをフレームメモリ13に書き込む。
ステップST5−3において、図形描画部12が描画した隠蔽オブジェクト21のZバッファの値を距離マップ9にコピーする。図10に示すように、距離マップ9はZバッファ13bに対応してメモリ上に確保された2次元配列である。3次元グラフィックス環境(ハードウェアとソフトウェアとで実現する)ではテクスチャマッピング用のテクスチャ画像を記録するテクスチャマップが提供されており、このテクスチャマップにはテクスチャ画像だけでなく奥行き情報も保存できるので、これを距離マップとして利用してもよい。テクスチャマップを使用すれば、各種座標変換および値比較など有用な機能が高速に実行できる。
【0039】
次に、ステップST6におけるオブジェクト描画処理の詳細を説明する。
図12は、オブジェクト描画処理の流れを示すフローチャートであり、図8のステップST6を詳細に説明するものである。
ステップST6−1において、オブジェクト描画部10が視点および描画モードの設定を行う。具体的には、ユーザがカバーエリアを観察するために仮想の3次元空間に設定するユーザ視点の情報を対話装置4を用いて入力し、対話制御部5から視点情報を受け付けたオブジェクト描画部10が3次元空間にユーザ視点を設定し、その投影面を設定する。また、オブジェクト描画部10は、距離Aの計算に用いたフレームバッファ13aとZバッファ13bをクリアし、フレームメモリ13の表示モードをオンにして、図形描画部12が処理中にフレームメモリ13に書き込むデータがディスプレイ3に表示されるような描画モードに設定する。
【0040】
ステップST6−2において、オブジェクト描画部10の指示を受けて、図形描画部12がユーザ視点の投影面に装置オブジェクト20および隠蔽オブジェクト21を隠面消去しながら描画し、画像データをフレームメモリ13に書き込む。
ステップST6−3において、表示部14がフレームメモリ13の画像フレームをディスプレイ3に表示する。
【0041】
次に、ステップST7におけるカバーエリア描画処理の詳細を説明する。
図13は、カバーエリア描画処理の流れを示すフローチャートであり、図8のステップST7を詳細に説明するものである。
ステップST7−1において、カバーエリア描画部11が装置オブジェクト20のカバーエリア22を示す3次元図形の図形情報(図2および図3参照)を、装置オブジェクト20のオブジェクトデータ(図9参照)に応じて作成する。装置オブジェクト20がカメラであればそのカバーエリア図形は、画角、近端距離および遠端距離に基づき、4個の頂点座標と6個の面情報から構成される四角錐台となる。
【0042】
ステップST7−2において、カバーエリア描画部11はフレームバッファ13aとZバッファ13bをクリアせず、また、フレームメモリ13の表示モードをオンにして、図形描画部12が処理中にフレームメモリ13に書き込む画像データがディスプレイ3に表示されるような描画モードに設定する。これは、ステップST6において描画したオブジェクトに加えて(表示を消さずに)、カバーエリア図形を表示するためである。
【0043】
続くステップST7−3〜ST7−9において、カバーエリア描画部11の指示を受けて、図形描画部12がカバーエリア図形を描画する。このカバーエリア図形描画処理はステップST7−3のパイプライン前段処理と、ステップST7−3〜ST7−9のパイプライン後段処理(フラグメント描画処理)に大別される。通常のグラフィックプロセッサでは3次元図形描画をパイプライン処理しており、パイプライン前段では3次元空間とオブジェクトを定義するシーングラフ処理、オブジェクトの頂点単位の座標変換処理、および照光計算処理が行われる(ステップST7−3)。パイプライン後段では、オブジェクトの頂点座標を元に画素間の塗りつぶしが行われ、ラスタライズ処理およびテクスチャ合成を行うフラグメント生成と、画素単位で特殊効果付与および選別を行うフラグメント処理とが行われる。ステップST7−4〜ST7−9は、このパイプライン後段において、特にカバーエリア22の隠蔽部分23と非隠蔽部分24とを描画する処理を示している。
【0044】
ステップST7−4〜ST7−9において、カバーエリア描画部11は、ユーザ視点の投影面をスキャンし、投影面の画素単位にフラグメントの処理を行う。この処理は、図10に示すZバッファ方式の隠面消去処理と同様に行えばよく、装置オブジェクト20から隠蔽オブジェクト21までの最短距離になるZ値(距離A)を求める代わりに、ユーザ視点からカバーエリア22の判定対象のフラグメントまでの最短距離になるZ値を求める。ステップST7−4において、カバーエリア描画部11は、ユーザ視点から判定対象となるフラグメントまでの距離を表すZ値(以下、距離Zと称す)と、Zバッファ13bに先に記録されたZ値(以下、距離Zminと称す)とを比較する。
【0045】
Z≧Zminであれば(ステップST7−4“NO”)、判定対象のフラグメントがユーザ視点から見て隠蔽オブジェクト21より遠くに位置するので表示する必要がなく、カバーエリア描画部11はステップST7−9へ進む。
一方、Z<Zminであれば(ステップST7−4“YES”)、判定対象のフラグメントがユーザ視点から見て隠蔽オブジェクト21より近くに位置し表示する必要があるため、ステップST7−5へ進む。このフラグメントは、カバーエリア図形の描画部分であり、描画するに際し隠蔽部分か非隠蔽部分かを判定するために、カバーエリア描画部11が以下のステップST7−5,ST7−6を実施する。
【0046】
カバーエリア描画部11は、ステップST7−5において装置オブジェクト20から判定対象のフラグメント(カバーエリア図形の描画部分)までの距離B(第2距離)を計算し、ステップST7−6において距離Bと距離マップ9に保持されている対応する距離Aとを比較する。B≦Aであれば(ステップST7−6“YES”)、カバーエリア描画部11はカバーエリア22の判定対象のフラグメントが隠蔽オブジェクト21に隠蔽されない非隠蔽部分24であると判定し、非隠蔽部分24の設定色を図形描画部12に指示する。図形描画部12は、非隠蔽部分24の設定色をフレームバッファ13aに書き込む(ステップST7−7)。非隠蔽部分24の設定色は、図6および図7の例であれば半透明である。
【0047】
一方、B>Aであれば(ステップST7−6“NO”)、カバーエリア描画部11はカバーエリア22の判定対象のフラグメントが隠蔽オブジェクト21に隠蔽される隠蔽部分23であると判定し、隠蔽部分23の設定色を図形描画部12に指示し、図形描画部12がフレームバッファ13aに書き込む(ステップST7−8)。隠蔽部分23の設定色は、図6および図7の例であれば完全透明で、フレームバッファ13aに書き込まないことになる。
【0048】
なお、カバーエリア22を示す3次元図形の境界面に透明色を用いる場合、境界面同士の奥行き判定を考慮したカバーエリア描画処理が必要となる。即ち、ユーザ視点から見て隠蔽オブジェクト21より近くの位置に複数の境界面に対応する複数のフラグメントが存在する場合、より近くのフラグメントを先に処理し、Zバッファ13bにそのフラグメントの距離Zを書き込んでしまうと、その後で処理される遠い位置のフラグメントの距離ZがZバッファ13bに書き込まれない。そのため、近いフラグメントの透明色に対し、このフラグメントに重なる遠いフラグメントの透明色が加算されず、境界面の重なり具合を表現することができない。このような場合には、オブジェクトが描画されたZバッファ13bとの奥行き判定は行うが、カバーエリア22のフラグメントのZ値は書き込まないようにしたり、予め面単位に境界面の奥行き判定を行って、遠くに存在する境界面から先に描画したりといった方法を適用する。このような方法は公知技術であり、本実施の形態の本質的なところではないので、詳細な説明は省略する。
【0049】
続くステップST7−9において、カバーエリア描画部11はカバーエリア図形の全てのフラグメントについて判定処理が終了したかをチェックし、終了していなければ(ステップST7−9“NO”)、再びステップST7−4に戻る。終了していれば(ステップST7−9“YES”)、ステップST7−10において表示部14がフレームメモリ13の画像データをディスプレイ3に表示する。
【0050】
図14は、カバーエリア22の隠蔽判定を説明する図である。仮想の3次元空間において、装置オブジェクト20が位置Pdに配置されると共に隠蔽オブジェクト21が配置され、また、位置Peにユーザ視点28とその投影面29とが設定されている。ここで、装置オブジェクト20からのスキャンライン(破線で示す)上に、カバーエリア図形(不図示)のフラグメントP3,P4と、隠蔽オブジェクト21との交点Poを考える。ここでは、距離マップ9に保持されている距離AはPdPoとなる。カバーエリアに存在するフラグメントP3は、隠蔽オブジェクト21より装置オブジェクト20に近いので隠蔽されず、距離B1=PdP3と対応する距離A=PdPoとの比較結果はPdP3≦PdPoとなる。一方、カバーエリアに存在するフラグメントP4は、装置オブジェクト20との間に隠蔽オブジェクト21が存在するため隠蔽され、距離B2=PdP4と対応する距離A=PdPoとの比較結果はPdP4>PdPoとなる。よって、フラグメントP3は非隠蔽部分、フラグメントP4は隠蔽部分と判定される。
【0051】
ステップST7−5における距離Bは種々の方法で計算できるが、グラフィックプロセッサが提供するZバッファ方式の隠面消去処理にて得られるZ値を利用すれば効率よく計算できる。パイプライン後段処理において、カバーエリア描画部11がグラフィックプロセッサが提供する座標変換機能を利用して、カバーエリアのローカル座標系をユーザ視点の視点座標系に投影変換し、視点座標系におけるカバーエリアのフラグメントの座標(Xvs,Yvs,Zvs)を表す。(Xvs,Yvs)はスキャンする投影面上の画素の座標であり、ZvsはZバッファ13bに保持されるフラグメントの距離Zである。そして、この座標(Xvs,Yvs,Zvs)にユーザ視点からの視点座標変換および投影変換の逆変換を施すと、3次元空間のワールド座標系におけるフラグメントの座標(Xw,Yw,Zw)が得られる。
【0052】
さらに、Zバッファ方式の隠面消去処理により距離Aを計算した手順(図11に示す)と同様に、カバーエリア描画部11が、装置オブジェクト20を視点とした場合の視点座標変換と投影変換をフラグメントの座標(Xw,Yw,Zw)に施すと、装置オブジェクト20の視点から投影変換したフラグメントの座標(Xds,Yds,Zds)が計算できる。このZdsが装置オブジェクト20からフラグメントまでの距離Bになり、距離マップ9に既に記憶されている座標(Xds,Yds)の距離Zdsがこのフラグメントと比較すべき距離Aになる。
【0053】
以上より、実施の形態1に係るカバレージ表示装置2は、直線的伝播特性を有する波動を検知または照射する装置をモデル化した装置オブジェクト20、および当該波動の伝播を遮る物体をモデル化した隠蔽オブジェクト21を仮想の3次元空間に配置するオブジェクト配置部6と、3次元空間において、装置オブジェクト20が検知または照射するカバーエリア22をスキャンし、各スキャン方向で装置オブジェクト20に最も近い隠蔽オブジェクト21までの距離Aを計算して距離マップ9を生成する距離計算部8と、3次元空間にカバーエリア22を示す3次元図形を描画するときに、装置オブジェクト20から当該3次元図形の任意部分までの距離Bを計算し、距離マップ9内の対応する距離Aとの比較結果に基づいて、当該3次元図形の隠蔽オブジェクト21に遮られる隠蔽部分23と遮られない非隠蔽部分24とを視覚的に区別して描画するカバーエリア描画部11と、任意位置に設定されるユーザ視点から見た3次元空間を示す画像データを生成する図形描画部12とを備えるように構成した。このため、カバーエリア22の隠蔽部分23と非隠蔽部分24を視覚的に区別してユーザに提示することができ、ユーザがカバーエリアの伝播遮蔽を正確かつ短時間に把握できるカバレージ表示装置2を提供することができる。
【0054】
また、実施の形態1によれば、カバーエリア描画部11は、3次元空間の任意位置に設定されるユーザ視点から見たカバーエリアの3次元図形を隠面消去して描画し、当該隠面消去処理で得られる描画部分の3次元座標を用いて距離Bを計算するように構成した。このように描画処理と距離計算処理とを合わせて行うことにより、描画処理と別に距離計算する場合に比べて処理が簡略化され、高速に画面表示することができる。
【0055】
また、実施の形態1によれば、カバーエリア描画部11は、3次元空間の任意位置に設定される視点から見たカバーエリアの3次元図形をZバッファ法により隠面消去して描画し、当該視点を基準にした座標系で表される描画部分の3次元座標を、装置オブジェクト20を基準にした座標系に変換して距離Bを計算するように構成した。このため、グラフィックプロセッサが有する座標変換機能を利用して、高速に、装置オブジェクト20からカバーエリア22の描画部分までの距離Bを計算することができる。
【0056】
また、実施の形態1によれば、距離計算部8は、装置オブジェクト20を視点に用いて、当該視点から見た隠蔽オブジェクト21を隠面消去して描画し、装置オブジェクト20から当該隠面消去処理で得られる隠蔽オブジェクト21の描画部分までの距離を距離Aとするように構成した。このため、グラフィックプロセッサが有する隠面消去機能を利用して計算される視点からオブジェクト描画部分までの距離を、装置オブジェクト20から隠蔽オブジェクト21の描画部分までの距離Aとして用いるため、高速に距離計算することができる。
【0057】
また、実施の形態1によれば、カバーエリア描画部11は、カバーエリア22を示す3次元図形として当該カバーエリア22の境界面を描画するように構成したので、描画するための計算処理が境界面だけと少なくてすみ、高速に描画できる。
【0058】
また、実施の形態1に係るカバレージ表示システム1は、画像データを表示するディスプレイ3と、ユーザの指示を受け付ける対話装置4と、装置オブジェクト20のカバーエリア22を示す3次元図形を、対話装置4が受け付ける指示に従って対話形式に描画して画像データを生成し、ディスプレイ3に表示させるカバレージ表示装置2とを備えるように構成した。このため、ユーザがディスプレイ3に表示されたカバーエリア22を確認しながら装置オブジェクト20の配置設計ができ、例えばユーザ視点を変更した場合でも常にカバーエリア22の隠蔽状況を把握できるようになる。
【0059】
実施の形態2.
上記実施の形態1では、カバーエリアの境界面を描画するようにしたので、ユーザ視点から見て、隠蔽オブジェクトがカバーエリア境界面を遮れば隠蔽部分が識別しやすいが、遮らないと隠蔽部分が識別しにくい場合がある。例えば図15はカバレージ表示装置2が生成する画像データを示し、図15(a)はユーザ視点が斜め方向にある場合のビュー、図15(b)は真横方向のビュー、図15(c)は真上方向のビューである。なお、図15において図6と同一または相当の部分については同一の符号を付し説明を省略する。装置オブジェクト20のカバーエリア22内に隠蔽オブジェクト21全体が存在する場合、カバーエリア22の境界面のみ描画すると、図15(a)のようにカバーエリア22内部の隠蔽部分23を把握することができない。しかし実際には、図15(b),(c)に破線で示すように隠蔽部分23が存在する。そこで、本実施の形態2では、カバーエリア22内に存在する一つ以上の平面をカバーエリア図形として描画する。
【0060】
本実施の形態2に係るカバレージ表示システム1は、図1に示すカバレージ表示システム1と図面上では同様の構成であるので、以下では図1を援用する。そして、図13のフローチャートを援用して、上記実施の形態1とは異なる動作を中心に説明する。
【0061】
図16および図17は、床25に平行、かつ、カバーエリア22内に存在する3つの平面30〜32と、カバーエリア22の輪郭線とをカバーエリア図形として描画する例を示し、各図とも(a)は真横方向のビュー、(b)は斜め方向のビュー、(c)は真上方向のビュー、(d)は斜め方向のビューである。ステップST7−1にてカバーエリア描画部11がカバーエリア22の図形を描画する際、図16(a),(b)および図17(a),(b)に示すように、床25に平行かつカバーエリア図形内に存在する複数の平面(フラグメント)30〜32を設定する。
【0062】
図13のフラグメント描画処理(ステップST7−4〜ST7−9)において、カバーエリア22の輪郭線を実線で描画すると共に、非隠蔽部分24を半透明で描画し、隠蔽部分23は完全透明(全透明)で描画するので、図10で説明した境界面同士の奥行き判定を考慮した処理により、ユーザ視点から見て平面30〜32が重なる部分は透明色が加算され濃く表示される(図16(c),(d)および図17(c),(d))。
【0063】
特に、図17に示す背の低い隠蔽オブジェクト21の場合、カバーエリア22の上部の境界面を遮らないが、床25付近の2つの平面31,32を遮るため、図17(c)に示すようにユーザ視点が真上に位置する場合にも透明度の違いにより隠蔽部分を容易に把握することができる。これに対し、図16に示す背の高い隠蔽オブジェクト21の場合、床25より上の3つの平面30〜32を遮るため、図16(c)に示すように隠蔽部分23が完全透明になる。
【0064】
さらに、カバーエリア22内に存在する平面30〜32の数を多く設定したり、平面30〜32の配置間隔を小さく設定したりすれば、隠蔽部分の有無だけでなく、ユーザ視点から見た隠蔽部分/非隠蔽部分の奥行き(厚さ)も直感的に掴むことができる。
【0065】
別の表示例を図18に示す。図18(a)は真上方向のビュー、図18(b)は斜め方向のビュー、図18(c)は真横方向のビュー、図18(d)は斜め方向のビューである。図18の例では、床25に垂直、かつ、カバーエリア22内に存在する3つの平面33〜35を設定している。この場合、図18(c)に示すように、ユーザ視点が真横に位置する場合に、透明度の違いにより隠蔽部分23を把握することができる。
【0066】
図16〜図18に示したように、ユーザ視点の位置によって、カバーエリア22の隠蔽部分23を把握しやすい、または把握可能な平面30〜35の向きが異なる。そこで、さらに別の表示例を図19に示す。図19(a),(b)とも斜め方向のビューである。図19の例では、ユーザ視点からの視線方向に垂直、かつ、カバーエリア22内に存在する3つの平面36〜38とカバーエリア22の輪郭線とをカバーエリア図形として描画する。この場合、ステップST7−1にてカバーエリア描画部11がカバーエリア22の図形を描画する際、ユーザ視点の配置変更に応じて平面36〜38の向きを動的に変更する構成にする。これにより、ユーザがユーザ視点を真横、真上、斜め方向等さまざまな位置に変更しても、カバーエリア22の隠蔽部分23をより容易に把握することができる。
【0067】
さらに、ユーザが対話的に平面の数、間隔、および表示するときの透明色の透明度等を変更できるように構成すれば、カバーエリア22の隠蔽の状況、およびユーザの観察目的に応じてより適した表示が可能となる。例えば、平面の間隔、透明度等を対話装置4が有するマウスホイールで変更する構成にすれば、ユーザはディスプレイ3に画面表示されるカバーエリアから目を離さずに最適な設定を選択できる。また、隠蔽オブジェクトと交差する平面の数を多くするか、または間隔を狭くすれば、非隠蔽部分の平面の重なりが増え(即ち透明色の加算数が増えて表示色が濃くなり)、隠蔽部分をよりはっきりと視覚的に区別して表示できる。なお、平面の設定数が増えても、公知技術である3次元図形と平面の交差判定処理により、容易に隠蔽オブジェクト21と交差する平面を求めることができ、カバレージ表示装置2の計算処理負担はわずかで足りる。
【0068】
上記例ではカバーエリア内に平面を設定して隠蔽部分と非隠蔽部分を視覚的に表示したが、形状は平面に限定されるものではなく、例えば図20に示すような多面体22aにしてもよい。図20(a)は真横方向のビュー、図20(b)は斜め方向のビュー、図20(c)は真横方向のビュー、図20(d)は真上方向のビュー、図20(e)は斜め方向のビューである。図20の例では、対話制御部5からカバーエリア描画部11に対して床25からの高さを示す上端距離39と下端距離40の条件が与えられたとき、カバーエリア22内で下端距離40以上かつ上端距離39以下の空間の境界面から構成される多面体22aをカバーエリア図形として作成し描画する構成にする。例えば、監視カメラで歩行者の上半身を撮像可能な範囲を確認したい場合、ユーザは、装置オブジェクト20のカバーエリア22を監視カメラの撮像範囲に見立て、対話装置4を操作して上端距離39を2m、下端距離40を0.5mに設定すればよい。なお、カバーエリア図形を示す多面体22aは、カバーエリア22を床25に対して水平に輪切りにした形状(図20)以外であってもよく、その他、床25に対して垂直に輪切りにした形状、ユーザ視点からの視線方向に対して垂直に輪切りにした形状など任意に設定すればよい。
このように、装置オブジェクト20そのもののカバーエリア22と空間を規定する他の条件とを組み合わせたカバーエリアを定義して視覚化することにより、種々の条件を加味したカバーエリアの確認およびカメラ等の装置の配置設計が可能となる。
【0069】
以上のように、実施の形態2によれば、カバーエリア描画部11は、カバーエリア22を示す3次元図形としてカバーエリア内に設定する一つ以上の平面30〜38を描画するように構成したので、上記実施の形態1と同様の方法によりカバーエリア22の隠蔽部分23と非隠蔽部分24とを視覚的に区別して描画することができる。よって、隠蔽オブジェクト21がカバーエリア22の境界面を遮らないような形状および配置の場合でも、ユーザはカバーエリア内部の隠蔽状況を把握することができる。
【0070】
また、実施の形態2によれば、カバーエリア22を示す3次元図形として当該カバーエリア内に設定する多面体22aを描画するように構成したので、カバーエリア22の特定部分について、隠蔽部分23と非隠蔽部分24とを視覚的に区別して描画することができ、種々の条件を加味したカバーエリアの確認およびカメラ等の装置の配置設計が可能となる。
【0071】
また、実施の形態2によれば、平面30〜38のうち少なくとも一面または多面体22aを、隠蔽オブジェクト21と交差する平面または多面体にするようにしたので、隠蔽オブジェクト21がカバーエリア22の境界面を遮らないような形状および配置の場合でも、ユーザはカバーエリア内部の隠蔽状況をより良く把握することができる。
【0072】
また、実施の形態2によれば、カバーエリア描画部11は、ユーザ視点の設定位置に応じて平面36〜38または多面体22aの位置を変更するように構成したので、ユーザはユーザ視点を変更しても常に隠蔽状況を把握することができる。
【0073】
なお、上記実施の形態2では、カバーエリア22の輪郭線を実線で描画し、平面30〜38または多面体22aを隠蔽部分23と非隠蔽部分24とに区別して透明色で描画する構成にしたが、これに加えてカバーエリア22の境界面を隠蔽部分23と非隠蔽部分24とに区別して透明色で描画する構成にしてもよい。境界面の描画については上記実施の形態1で説明した通りである。
【0074】
実施の形態3.
上記実施の形態1ではカバーエリアの境界面を、上記実施の形態2ではカバーエリア内部に設定した平面または多面体をカバーエリア図形として表示するためにサーフェスレンダリング手法を用いたが、本実施の形態3ではカバーエリア内部をボクセルで記述するボリュームレンダリング手法を用いてカバーエリア図形を表示する構成にする。
【0075】
本実施の形態3に係るカバレージ表示装置2の構成および基本的な動作は上記実施の形態1と同様であり、カバーエリア図形とその描画方法が異なる。そのため、以下では図1、図13を援用して、異なる部分を中心に本実施の形態3のカバレージ表示装置2を説明する。
【0076】
リアリティのある3次元物体を描画する方法として、上記実施の形態1のように物体の表面を描画するサーフェスレンダリングが一般的であるが、CTスキャンした体内の様子を視覚化する場合などは3次元物体の内部の色情報等をボクセル単位で記述し描画するボリュームレンダリングが利用される。ボクセルとは2次元画像の要素であるピクセルに相当する3次元空間の体積の要素であり、3次元空間での正規格子単位の値を表す。ボリュームレンダリングについては公知技術のためこれ以上の説明は省略する。
【0077】
本実施の形態3では、図13に示すカバーエリア描画処理のフローチャートにおいて、ステップST7−1では、カバーエリア描画部11がボクセル記述されたカバーエリア図形を生成する。例えば、カバーエリア描画部11は、装置オブジェクト20およびカバーエリア22を含む仮想の3次元空間をL×M×Nの正規格子でサンプリングし、L×M×Nのボクセル配列を生成する。これらのボクセル配列のうち、カバーエリア22を構成する(カバーエリア22の位置に存在する)ボクセルに透明度の情報を含むカバーエリアの色情報を設定し、他のボクセルはオブジェクトが存在しないことを示す情報を設定する。
【0078】
また、ステップST7−4〜ST7−9のフラグメント描画処理では、本来フラグメントが描画単位であるが、本実施の形態3ではボクセルを描画単位にする。そして、カバーエリア描画部11は、カバーエリア22の内部にある全てのボクセルに対してステップST7−4〜ST7−9の処理を実施する。
【0079】
先ず、カバーエリア描画部11がボクセル配列を順番に走査して、対象ボクセルがカバーエリア22内部のボクセルであればステップST7−5にて装置オブジェクト20から対象ボクセルまでの距離Bを計算する。具体的には、ボクセル配列における装置オブジェクト20およびカバーエリア22内部のボクセルのXYZ座標から、装置オブジェクト20と各ボクセルとの間の距離Bを容易に計算することができる。
【0080】
続くステップST7−6において、カバーエリア描画部11は距離マップ9のうちから対象ボクセルに対応する距離Aを距離Bと大小比較し、隠蔽判定を行い、透明度を有する隠蔽色または非隠蔽色を対象ボクセルに設定する(ステップST7−7,ST7−8)。
【0081】
全てのボクセルについて描画が終了すれば(ステップST7−9“YES”)、続くステップST7−10において図形描画部12がそのボクセル配列をフレームメモリ13内のフレームバッファ13aに描画し、表示部14がフレームバッファ13aの画像データをディスプレイ3に表示する。
【0082】
以上より、実施の形態3によれば、カバーエリア描画部11は、カバーエリア22を示す3次元図形をボクセル配列にして描画するときに、当該カバーエリア22の隠蔽部分23に相当する各ボクセルと非隠蔽部分24に相当する各ボクセルとを視覚的に区別して描画するように構成した。このため、カバーエリア22の内部の隠蔽の様子を滑らかに、かつ、きめ細かく表示することができるようになり、ユーザはカバーエリアの伝播遮蔽を正確かつ短時間に把握することができる。
【0083】
なお、上記実施の形態1〜3では装置オブジェクト20、隠蔽オブジェクト21およびカバーエリア22を描画して、ディスプレイ3に画面表示するようにしたが、これに限定されるものではなく、例えばカバーエリア22のみを描画して画面表示してもよい。その場合には、例えば図13に示すステップST7−2において、カバーエリア描画部11がフレームバッファ13aとZバッファ13bをクリアすることにより、図8のステップST6にてオブジェクト描画部10が先に描画しておいた装置オブジェクト20と隠蔽オブジェクト21の表示を消せばよい。
【符号の説明】
【0084】
1 カバレージ表示システム、2 カバレージ表示装置、3 ディスプレイ、4 対話装置、5 対話制御部、6 オブジェクト配置部、7 グラフィックメモリ、8 距離計算部、13a フレームバッファ、13b Zバッファ、9 距離マップ、10 オブジェクト描画部、11 カバーエリア描画部、12 図形描画部、13 フレームメモリ、
14 表示部、20 装置オブジェクト、20a カメラ、20b 焦電型赤外センサ、21 隠蔽オブジェクト、22 カバーエリア、23 隠蔽部分、24 非隠蔽部分、25 床、26 投影面、27 画素、28 ユーザ視点、29 投影面。
【技術分野】
【0001】
この発明は、仮想3次元空間に配置したカメラ等の装置がカバーする空間(カバレージまたはカバーエリア)を視覚化するカバレージ表示装置、カバレージ表示システムおよびカバレージ表示プログラムに関するものである。
【背景技術】
【0002】
カバレージ表示システムの従来例として、カメラの配置設計を支援するCAD(Computer Aided Design)システムがある。このシステムでは、カメラをモデル化したカメラオブジェクトと、被写体をモデル化した被写体オブジェクトとを仮想の3次元空間に配置し、カメラの撮像範囲および被写体の写り具合等をグラフィカルに表示することにより、目的に応じたカメラの最適な配置決めを支援する(例えば、非特許文献1,2参照)。
【0003】
非特許文献1では、3次元空間に配置したカメラオブジェクトに対してパン、チルト、ズームといったカメラ制御をユーザとシステムの間で対話的に行い、そのカメラ制御に連動してカメラオブジェクトの画角および方向を計算し、3次元空間内にカメラのカバーエリアを四角錐または四角錐台の形状で表す。また、このシステムはカメラオブジェクトから撮像したシーンをユーザに表示し、ユーザは被写体がどのように写るかを観察することができる。
【0004】
非特許文献2では、カメラオブジェクトと被写体オブジェクトとを配置した3次元空間に、さらにカメラのカバーエリアに対応した光源を設定し、投影テクスチャマッピングにより、3次元空間に配置された被写体オブジェクトのどの部分がどのような解像度で撮像されるかを再現したシーンを表示する。また、このシステムではシャドウマッピングにより、カメラオブジェクトにより近い位置に配置された被写体オブジェクトにより遮られる隠蔽部分を影として表示する。
【先行技術文献】
【非特許文献】
【0005】
【非特許文献1】Stanislav Utochkin, "The principles of CCTV design in VideoCAD", CCTV focus Issue 36, 2006
【非特許文献2】Andrei State, Greg Welch, and Adrian Ilie, "An Interactive Camera Placement and Visibility Simulator for Image-Based VR Applications", Proceedings of the Engineering Reality of Virtual Reality 2006
【発明の概要】
【発明が解決しようとする課題】
【0006】
従来のカバレージ表示システムは以上のように構成されているので、ユーザは、カメラのカバーエリア、および撮像される被写体の部分と他の被写体により遮られる隠蔽部分を含む被写体の写り具合とを視覚的に確認することができる。しかしながら、カバーエリアを隠蔽部分と非隠蔽部分とに視覚的に区別して表示することができないので、ユーザは例えば壁または柱によってできる死角エリアを正確に把握することができず、また、おおよそであっても把握するのに時間を要するため、正確かつ短時間に配置設計することができないというという課題があった。
【0007】
この発明は、上記のような課題を解決するためになされたもので、仮想3次元空間において、直線的伝播特性を有する電磁波、ビームなどの波動を検知または照射するカメラ、焦電型赤外センサ、照明装置といった装置のカバーエリアを表示する際、この3次元空間に存在する物体により伝播が遮られる場合のカバーエリアをユーザが正確かつ短時間に把握できるよう視覚化するカバレージ表示装置、カバレージ表示システムおよびカバレージ表示プログラムを得ることを目的とする。
【課題を解決するための手段】
【0008】
この発明に係るカバレージ表示装置は、直線的伝播特性を有する波動を検知または照射する装置をモデル化した装置オブジェクト、および当該波動の伝播を遮る物体をモデル化した隠蔽オブジェクトを仮想の3次元空間に配置するオブジェクト配置部と、3次元空間において、装置オブジェクトが検知または照射するカバーエリアをスキャンし、各スキャン方向で装置オブジェクトに最も近い隠蔽オブジェクトまでの第1距離を計算して距離マップを生成する距離計算部と、3次元空間にカバーエリアを示す3次元図形を描画するときに、装置オブジェクトから当該3次元図形の任意部分までの第2距離を計算し、距離マップ内の対応する第1距離との比較結果に基づいて、当該3次元図形の隠蔽オブジェクトに遮られる隠蔽部分と遮られない非隠蔽部分とを視覚的に区別して描画するカバーエリア描画部と、任意位置に設定される視点から見た3次元空間を示す画像データを生成する図形描画部とを備えるものである。
【0009】
この発明に係るカバレージ表示システムは、画像データを表示するディスプレイと、ユーザの指示を受け付ける対話装置と、装置オブジェクトのカバーエリアを示す3次元図形を、対話装置が受け付ける指示に従って対話形式に描画して画像データを生成し、ディスプレイに表示させるものである。
【0010】
この発明に係るカバレージ表示プログラムは、直線的伝播特性を有する波動を検知または照射する装置をモデル化した装置オブジェクト、および当該波動の伝播を遮る物体をモデル化した隠蔽オブジェクトを仮想の3次元空間に配置するオブジェクト配置手順と、3次元空間において、装置オブジェクトが検知または照射するカバーエリアをスキャンし、各スキャン方向で装置オブジェクトに最も近い隠蔽オブジェクトまでの第1距離を計算して距離マップを生成する距離計算手順と、3次元空間にカバーエリアを示す3次元図形を描画するときに、装置オブジェクトから当該3次元図形の任意部分までの第2距離を計算し、距離マップ内の対応する第1距離との比較結果に基づいて、当該3次元図形の隠蔽オブジェクトに遮られる隠蔽部分と遮られない非隠蔽部分とを視覚的に区別して描画するカバーエリア描画手順と、任意位置に設定される視点から見た3次元空間を示す画像データを生成する図形描画手順とをコンピュータに実行させるものである。
【発明の効果】
【0011】
この発明によれば、装置オブジェクトとカバーエリアとの間に隠蔽オブジェクトが存在するか否かを判定し、カバーエリアを示す3次元図形を隠蔽部分と非隠蔽部分とに視覚的に区別して描画するようにしたので、仮想3次元空間において、直線的伝播特性を有する電磁波、ビームなどの波動を検知または照射するカメラ、焦電型赤外センサ、照明装置といった装置のカバーエリアを表示する際、この3次元空間に存在する物体により伝播が遮られる場合のカバーエリアをユーザが正確かつ短時間に把握できるよう視覚化するカバレージ表示装置およびカバレージ表示プログラムを得ることができる。
【0012】
また、この発明によれば、カバレージ表示装置が対話形式でカバーエリアの3次元図形を描画して表示するようにしたので、ユーザがディスプレイに表示されたカバーエリアを確認しながら装置オブジェクトの配置設計ができるカバレージ表示システムを得ることができる。
【図面の簡単な説明】
【0013】
【図1】この発明の実施の形態1に係るカバレージ表示システムの構成を示すブロック図である。
【図2】装置オブジェクト(カメラ)のカバーエリアを説明する図である。
【図3】装置オブジェクト(焦電型赤外センサまたはスポット照明)のカバーエリアを説明する図である。
【図4】装置オブジェクトのカバーエリアの隠蔽を説明する図である。
【図5】図4に示すカバーエリアの表示例を説明する図である。
【図6】図4に示すカバーエリアの別の表示例を説明する図である。
【図7】図4に示すカバーエリアの別の表示例を説明する図である。
【図8】実施の形態1に係るカバレージ表示システムの動作を説明するフローチャートである。
【図9】オブジェクトのデータ構造を示す図である。
【図10】距離計算部が行うZバッファ方式の隠面消去処理を説明する図である。
【図11】図8に示す動作のうち、距離Aの計算処理の流れを示すフローチャートである。
【図12】図8に示す動作のうち、オブジェクト描画処理の流れを示すフローチャートである。
【図13】図8に示す動作のうち、カバーエリア描画処理の流れを示すフローチャートである。
【図14】カバーエリアの隠蔽判定を説明する図である。
【図15】装置オブジェクトのカバーエリアを示す表示例である。
【図16】装置オブジェクトのカバーエリアに設定する平面およびカバーエリア表示例を説明する図である。
【図17】装置オブジェクトのカバーエリアに設定する平面およびカバーエリア表示例を説明する図である。
【図18】装置オブジェクトのカバーエリアに設定する平面の別の例およびカバーエリア表示例を説明する図である。
【図19】装置オブジェクトのカバーエリアに設定する平面の別の例およびカバーエリア表示例を説明する図である。
【図20】装置オブジェクトのカバーエリアに設定する多面体およびカバーエリア表示例を説明する図である。
【発明を実施するための形態】
【0014】
実施の形態1.
図1に示すカバレージ表示システム1は、カバレージ表示装置2にディスプレイ3と、キーボードおよびマウス等で構成する対話装置4とが接続されてなる。このカバレージ表示装置2は、CPU(Central Processing Unit)、メモリ、HDD(Hard Disk Drive)等を有するパーソナルコンピュータ等のコンピュータで構成される。このコンピュータは、ユーザによるカバーエリアの視覚確認を含む対話的な作業をレスポンス良く行うために、3次元グラフィックスを高速に描画するグラフィックプロセッサ(GPU:Graphics Processing Unit)を備えたものが好ましい。
【0015】
カバレージ表示装置2において、対話制御部5は対話装置4を介してユーザからの操作要求を受け付け、該当する処理部に処理指示を行う。オブジェクト配置部6は、対話制御部5から指示されるユーザの操作要求に従い、モデル化したオブジェクトを3次元空間(コンピュータ内の仮想空間)に配置する。オブジェクトとしては、直線的伝播特性を有する波動(例えば電磁波、ビーム)を検知または照射する装置(例えばカメラ、焦電型赤外センサ、照明装置)をモデル化した装置オブジェクト20と、この装置オブジェクト20からの伝播を遮る物体をモデル化した隠蔽オブジェクト21とがある。3次元空間のデータはグラフィックメモリ7にて保持する。
【0016】
距離計算部8は、3次元空間において装置オブジェクト20がカバーするエリアをスキャンし、各スキャン方向で最も近い隠蔽オブジェクト21の装置オブジェクト20までの距離A(第1距離)を計算し、距離マップ9として保持する。
【0017】
オブジェクト描画部10は、グラフィックメモリ7を参照して、装置オブジェクト20および隠蔽オブジェクト21を3次元空間に描画する。カバーエリア描画部11は、グラフィックメモリ7を参照して、装置オブジェクト20のカバーエリアを示す3次元図形を3次元空間に描画する。図形描画部12がカバーエリアを描画する際、カバーエリアの描画部分と装置オブジェクト20との距離B(第2距離)を計算し、距離マップ内の対応する距離Aとの比較結果に基づいて、カバーエリア図形のうち隠蔽オブジェクト21に遮られる隠蔽部分と遮られない非隠蔽部分とを視覚的に区別して描画する。
【0018】
図形描画部12は、対話制御部5から指示されるユーザの操作要求に従って3次元空間の任意位置にユーザ視点を設定し、このユーザ視点から装置オブジェクト20のカバーエリアを観察した様子を、フレームメモリ13に書き込んで、2次元の画像データを作成する。表示部14はフレームメモリ13に書き込まれた画像データをディスプレイ3に表示する。図1に示すディスプレイ3の画面には、装置オブジェクト20と隠蔽オブジェクト21が配置された3次元空間をユーザ視点から見た状態の画像データがディスプレイ2に表示されており、装置オブジェクト20のカバーエリア22のうち、隠蔽オブジェクト21で隠蔽される隠蔽部分23と隠蔽されない非隠蔽部分24とが視覚的に区別されている。
【0019】
図2は、装置オブジェクト20のカバーエリア22を説明する図であり、図2(a)はユーザ視点が真横方向にある場合のビュー、図2(b)は斜め方向のビューである。装置オブジェクト20としてカメラ20aを用いる場合、このカメラ20aのカバーエリア22の3次元図形は画角θ、近端距離Ln、遠端距離Lfで決まる四角錐台として定義される。正確には、画角は焦点距離と撮像素子のサイズで定義され、縦方向と横方向があるが、ここでは説明を簡単にするため画角θのみで表す。
【0020】
図3は、装置オブジェクト20のカバーエリア22を説明する別の図であり、ユーザ視点が斜め方向にある場合のビューである。装置オブジェクト20として楕円形状の集光レンズを有する焦電型赤外センサ(またはスポットライトのような照明)20bを用いる場合、そのカバーエリア22の3次元図形は、集光または照射方向の角度、近端距離Ln、遠端距離Lfで決まる円錐台として定義される。
【0021】
図4は、装置オブジェクト20のカバーエリア22の隠蔽を説明する図であり、図5〜図7は、図4に示すカバーエリア22の表示例を説明する図である。各図とも(a)はユーザ視点が斜め方向にある場合のビュー、(b)は真横方向のビュー、(c)は真上方向のビューである。図中、装置オブジェクト20の一例としてカメラを用い、このカメラの撮像範囲がカバーエリア22となる。また、仮想の3次元空間において、床25の上に隠蔽オブジェクト21が配置され、それを斜め上から撮影するよう装置オブジェクト20が配置されている。
【0022】
装置オブジェクト20のカバーエリア22(近端距離=0とする)は、図4(a)に破線で示す四角錐、および図4(b),(c)に点線で示す三角形となる。図4に示す状態の3次元空間を任意のユーザ視点から描画して2次元の画像データにした場合に、図5では、床25より上にあるカバーエリア22に対し、その輪郭を実線で表示し、境界面を透明色(半透明)で表示している。ただし、図面上では透明色の透明度をグレースケールで表す。以下の図でも同様とする。図5の表示例は、先立って説明した特許文献1の表示方法であり、カバーエリア22の隠蔽部分/非隠蔽部分が区別なく描画されている。
【0023】
一方、図6および図7の表示例は本実施の形態1による表示方法であり、床25より上にあるカバーエリア22の輪郭を実線で表示し、境界面のうち隠蔽オブジェクト21により遮られない非隠蔽部分24を透明色(半透明)で表示し、隠蔽オブジェクト21により遮られる隠蔽部分23を完全な透明色(描画しないと同意)で表示している。なお、図6は隠蔽オブジェクト21として背の高い壁等を用いる場合、図7は隠蔽オブジェクト21として背の低いパーティション等を用いる場合の表示例である。
【0024】
このように、従来の表示方法(図5)では、隠蔽オブジェクト21がカバーエリア22に存在するか否か、即ち物体が他の物体に隠蔽される様子は分かるが、カバーエリア22のどこが隠蔽部分23でどこが非隠蔽部分24かを直感的に短時間に把握することができない。これに対し、本実施の形態1の表示方法(図6および図7)では、従来の表示方法と同様に物体が他の物体に隠蔽される様子が分かる効果に加えて、カバーエリア22自身の隠蔽の様子が容易に把握できる効果がある。
【0025】
次に、カバレージ表示システム1の動作を説明する。
図8は、カバレージ表示システム1の動作を示すフローチャートである。ステップST1〜ST3ではカバレージ表示装置2の対話制御部5が、ユーザが対話装置4を操作して入力する要求の有無をチェックしている。先ずステップST1において、対話制御部5がオブジェクトの配置変更の要求をチェックし、要求がなければ(ステップST1“NO”)、続くステップST2においてオブジェクトおよびカバーエリアを観察するためのユーザ視点の変更要求をチェックする。対話制御部5は、変更要求がなければ(ステップST2“NO”)、続くステップST3において表示処理の終了要求をチェックする。そして、終了要求があれば(ステップST3“YES”)、一連の表示処理を終了し、終了要求がなければ(ステップST3“NO”)、ステップST1に戻る。
【0026】
ステップST1にてオブジェクトの配置変更の要求があると(ステップST1“YES”)、対話制御部5がオブジェクト配置部6へ指示を出し、ステップST4にてオブジェクト配置部6が仮想の3次元空間内で装置オブジェクト20と隠蔽オブジェクト21の配置を変更する処理を行い、ステップST5にて距離計算部8が装置オブジェクト20に最も近い隠蔽オブジェクト21までの距離Aを計算し、距離マップ9に保持する。
【0027】
その後、ステップST6においてオブジェクト描画部10がユーザ視点から装置オブジェクト20と隠蔽オブジェクト21とを描画し、ステップST7においてカバーエリア描画部11がユーザ視点からカバーエリア22を隠蔽部分23と非隠蔽部分24に区別して描画して、ステップST1に戻る。
【0028】
ステップST2にてユーザ視点変更の要求があると(ステップST2“YES”)、続くステップST8において対話制御部5を通じて3次元空間におけるユーザ視点の位置、方向、画角等が対話的に変更される。そして、ステップST6にて装置オブジェクト20と隠蔽オブジェクト21が再描画され、ステップST7にてカバーエリア22が再描画される。
【0029】
ここで、ステップST4におけるオブジェクト配置変更処理の詳細を説明する。
図9は、オブジェクトのデータ構造を示す図である。装置オブジェクト20と隠蔽オブジェクト21に共通のオブジェクトデータとして、ID番号、名称、種類など、オブジェクトを識別する識別情報と、オブジェクトの3次元空間における位置、方向、大きさなどの空間情報と、オブジェクトの形状、色などの図形情報とが定義される。また、装置オブジェクト20は装置の種類に応じたカバーエリアに関する情報が定義され、装置オブジェクト20がカメラであればカバー情報として画角、近端距離、遠端距離などが定義され、焦電型赤外センサであれば集光エリア、近端距離、遠端距離など、スポット照明であれば照射エリア、近端距離、遠端距離などが定義される。これらのオブジェクトデータは、オブジェクトの種類に応じて予めデータ構造を定義した雛型が用意され、オブジェクト配置部6がユーザの指示に従って新たなオブジェクトを作成し配置する際に、適切な雛型を選択し各データに値を代入する。オブジェクトの配置/変更操作はユーザがディスプレイ3の3次元空間に表示されたオブジェクトを直接マウスで移動したり、ダイアログウインドウに表示された数値をキーボードから入力するなど、対話形式で行われる。
【0030】
次に、ステップST5における距離計算処理の詳細を説明する。
ステップST5では、距離計算部8が仮想の3次元空間において装置オブジェクト20のカバー情報に基づくカバーエリアをスキャンし、各スキャン方向で装置オブジェクト20に最も近い隠蔽オブジェクト21までの距離Aを計算して、距離マップ9に保存する。装置オブジェクト20がカメラであれば投影面上の矩形エリアでスキャンし、焦電型赤外センサまたはスポット照明であれば楕円エリアでスキャンし、無指向性のセンサまたは照明であれば球面でスキャンする。距離Aを求めるには、スキャン方向の直線と隠蔽オブジェクト21を構成する面との交差判定により交点座標を求め、装置オブジェクト20の座標から交点座標までの距離を計算すればよい。この方法は、グラフィックス技術分野ではZバッファ、レイトレーシング、スキャンライン方式などの隠面消去処理において行われ計算処理であり、公知技術である。以下では、代表してZバッファ方式を説明するが、これに限定されるものではない。
【0031】
図10は、Zバッファ方式の隠面消去処理を説明する図であり、この隠面消去処理に用いるZバッファ13bおよび距離マップ9も図示している。仮想の3次元空間において、任意の位置に装置オブジェクト20が配置され、この装置オブジェクト20を視点に見立てた場合の視線方向に直交する位置に投影面(矩形エリア)26を配置する。距離計算部8がZバッファ方式を採用した場合、M×N画素からなる投影面26にオブジェクトを投影変換する際に、画素27単位に色情報を書き込むフレームバッファ13aに加え、画素27単位に奥行き情報(投影変換後のZ値)を書き込むZバッファ13bを用いる。このフレームバッファ13aおよびZバッファ13bは、フレームメモリ13のメモリ領域を割り当てたものとする。
【0032】
透視投影の場合、距離計算部8は、視点となる装置オブジェクト20と投影面26の各画素27とを結ぶ直線方向に存在するオブジェクトについて、装置オブジェクト20からこのオブジェクトの面(フラグメントと称する)までの距離を計算し、Zバッファ13bに記録されているそれ以前に求めたフラグメントの最短距離と比較してフラグメント同士の奥行き判定を行う。そして、距離計算部8は新たに計算した距離の方が小さければ、この距離をZバッファ13bに書き込み、このフラグメントの色情報をフレームバッファ13aに書き込む。
【0033】
例えば図10において、装置オブジェクト20から隠蔽オブジェクト21のフラグメントP2までの距離が先に計算されZバッファ13bに記録されているとき、距離計算部8は続いて装置オブジェクト20からフラグメントP1までの距離を計算し、Zバッファ13bに記録されているフラグメントP2の距離と比較する。この例ではフラグメントP1までの距離の方が小さいので、距離計算部8はこのフラグメントP1までの距離をZバッファ13bに上書きし、さらにフラグメントP1の色情報をフレームバッファ13aに上書きする。
一方、フラグメントP1までの距離の方が大きければ、距離計算部8は、フレームバッファ13aおよびZバッファ13bには何も書き込まない。
【0034】
また例えば図10において、装置オブジェクト20から隠蔽オブジェクト21のフラグメントP1までの距離が先に計算されZバッファ13bに記録されているとき、距離計算部8は続いて装置オブジェクト20からフラグメントP2までの距離を計算し、Zバッファ13bに記録されているフラグメントP1の距離と比較する。比較の結果、フラグメントP2までの距離の方が大きいので、フラグメントP2の情報はフレームバッファ13aとZバッファ13bに書き込まれず、先に記録されていたフラグメントP1までの距離と色情報が保持される。
【0035】
オブジェクトの描画が終了すればZバッファ13bには装置オブジェクト20から最も近いフラグメントP1の距離情報が書き込まれており、矩形エリアである投影面26をスキャンして最も近い隠蔽オブジェクト21の距離Aを計算したことになる。また、カバーエリアのスキャン面が矩形でなくても、平面であれば、このスキャン面に含まれる画素のZ値を利用して上記同様に距離Aを計算できる。他方、スキャン面が曲面の場合は、スキャン面を細かく分割して小さな平面(パッチ面)の集合に近似して、パッチ面毎にZバッファ方式の隠面消去処理を複数回繰り返せばよい。
【0036】
以上説明したZバッファ方式は、アルゴリズムが比較的簡単でハードウェア化しやすいため、多くの3次元グラフィックプロセッサ(GPU)に採用されている。従って、図形描画部12をグラフィックプロセッサで構成して、距離計算にグラフィックプロセッサが提供するZバッファ方式の隠面消去処理を用いることにより、処理の記述が簡単になると共に高速な計算処理が可能となる。以下に、距離計算部8がグラフィックプロセッサの隠面消去処理を利用する場合の、距離Aの計算処理を説明する。
【0037】
図11は、距離Aの計算処理の流れを示すフローチャートであり、図8のステップST5を詳細に説明するものである。
ステップST5−1において、距離計算部8が視点および描画モードの設定を行う。具体的には、オブジェクトデータ中に設定された位置、方向、カバーエリア情報に基づいて、距離計算部8が装置オブジェクト20を視点に設定し、その投影面を設定する。また、距離計算部8は、フレームメモリ13の表示モードをオフにして、図形描画部12が処理中にフレームメモリ13に書き込むデータがディスプレイ3に表示されないような描画モードに設定する。
【0038】
ステップST5−2において、距離計算部8から装置オブジェクト20の視点情報を受けて、図形描画部12が、装置オブジェクト20の投影面に隠蔽オブジェクト21を隠面消去しながら描画し、データをフレームメモリ13に書き込む。
ステップST5−3において、図形描画部12が描画した隠蔽オブジェクト21のZバッファの値を距離マップ9にコピーする。図10に示すように、距離マップ9はZバッファ13bに対応してメモリ上に確保された2次元配列である。3次元グラフィックス環境(ハードウェアとソフトウェアとで実現する)ではテクスチャマッピング用のテクスチャ画像を記録するテクスチャマップが提供されており、このテクスチャマップにはテクスチャ画像だけでなく奥行き情報も保存できるので、これを距離マップとして利用してもよい。テクスチャマップを使用すれば、各種座標変換および値比較など有用な機能が高速に実行できる。
【0039】
次に、ステップST6におけるオブジェクト描画処理の詳細を説明する。
図12は、オブジェクト描画処理の流れを示すフローチャートであり、図8のステップST6を詳細に説明するものである。
ステップST6−1において、オブジェクト描画部10が視点および描画モードの設定を行う。具体的には、ユーザがカバーエリアを観察するために仮想の3次元空間に設定するユーザ視点の情報を対話装置4を用いて入力し、対話制御部5から視点情報を受け付けたオブジェクト描画部10が3次元空間にユーザ視点を設定し、その投影面を設定する。また、オブジェクト描画部10は、距離Aの計算に用いたフレームバッファ13aとZバッファ13bをクリアし、フレームメモリ13の表示モードをオンにして、図形描画部12が処理中にフレームメモリ13に書き込むデータがディスプレイ3に表示されるような描画モードに設定する。
【0040】
ステップST6−2において、オブジェクト描画部10の指示を受けて、図形描画部12がユーザ視点の投影面に装置オブジェクト20および隠蔽オブジェクト21を隠面消去しながら描画し、画像データをフレームメモリ13に書き込む。
ステップST6−3において、表示部14がフレームメモリ13の画像フレームをディスプレイ3に表示する。
【0041】
次に、ステップST7におけるカバーエリア描画処理の詳細を説明する。
図13は、カバーエリア描画処理の流れを示すフローチャートであり、図8のステップST7を詳細に説明するものである。
ステップST7−1において、カバーエリア描画部11が装置オブジェクト20のカバーエリア22を示す3次元図形の図形情報(図2および図3参照)を、装置オブジェクト20のオブジェクトデータ(図9参照)に応じて作成する。装置オブジェクト20がカメラであればそのカバーエリア図形は、画角、近端距離および遠端距離に基づき、4個の頂点座標と6個の面情報から構成される四角錐台となる。
【0042】
ステップST7−2において、カバーエリア描画部11はフレームバッファ13aとZバッファ13bをクリアせず、また、フレームメモリ13の表示モードをオンにして、図形描画部12が処理中にフレームメモリ13に書き込む画像データがディスプレイ3に表示されるような描画モードに設定する。これは、ステップST6において描画したオブジェクトに加えて(表示を消さずに)、カバーエリア図形を表示するためである。
【0043】
続くステップST7−3〜ST7−9において、カバーエリア描画部11の指示を受けて、図形描画部12がカバーエリア図形を描画する。このカバーエリア図形描画処理はステップST7−3のパイプライン前段処理と、ステップST7−3〜ST7−9のパイプライン後段処理(フラグメント描画処理)に大別される。通常のグラフィックプロセッサでは3次元図形描画をパイプライン処理しており、パイプライン前段では3次元空間とオブジェクトを定義するシーングラフ処理、オブジェクトの頂点単位の座標変換処理、および照光計算処理が行われる(ステップST7−3)。パイプライン後段では、オブジェクトの頂点座標を元に画素間の塗りつぶしが行われ、ラスタライズ処理およびテクスチャ合成を行うフラグメント生成と、画素単位で特殊効果付与および選別を行うフラグメント処理とが行われる。ステップST7−4〜ST7−9は、このパイプライン後段において、特にカバーエリア22の隠蔽部分23と非隠蔽部分24とを描画する処理を示している。
【0044】
ステップST7−4〜ST7−9において、カバーエリア描画部11は、ユーザ視点の投影面をスキャンし、投影面の画素単位にフラグメントの処理を行う。この処理は、図10に示すZバッファ方式の隠面消去処理と同様に行えばよく、装置オブジェクト20から隠蔽オブジェクト21までの最短距離になるZ値(距離A)を求める代わりに、ユーザ視点からカバーエリア22の判定対象のフラグメントまでの最短距離になるZ値を求める。ステップST7−4において、カバーエリア描画部11は、ユーザ視点から判定対象となるフラグメントまでの距離を表すZ値(以下、距離Zと称す)と、Zバッファ13bに先に記録されたZ値(以下、距離Zminと称す)とを比較する。
【0045】
Z≧Zminであれば(ステップST7−4“NO”)、判定対象のフラグメントがユーザ視点から見て隠蔽オブジェクト21より遠くに位置するので表示する必要がなく、カバーエリア描画部11はステップST7−9へ進む。
一方、Z<Zminであれば(ステップST7−4“YES”)、判定対象のフラグメントがユーザ視点から見て隠蔽オブジェクト21より近くに位置し表示する必要があるため、ステップST7−5へ進む。このフラグメントは、カバーエリア図形の描画部分であり、描画するに際し隠蔽部分か非隠蔽部分かを判定するために、カバーエリア描画部11が以下のステップST7−5,ST7−6を実施する。
【0046】
カバーエリア描画部11は、ステップST7−5において装置オブジェクト20から判定対象のフラグメント(カバーエリア図形の描画部分)までの距離B(第2距離)を計算し、ステップST7−6において距離Bと距離マップ9に保持されている対応する距離Aとを比較する。B≦Aであれば(ステップST7−6“YES”)、カバーエリア描画部11はカバーエリア22の判定対象のフラグメントが隠蔽オブジェクト21に隠蔽されない非隠蔽部分24であると判定し、非隠蔽部分24の設定色を図形描画部12に指示する。図形描画部12は、非隠蔽部分24の設定色をフレームバッファ13aに書き込む(ステップST7−7)。非隠蔽部分24の設定色は、図6および図7の例であれば半透明である。
【0047】
一方、B>Aであれば(ステップST7−6“NO”)、カバーエリア描画部11はカバーエリア22の判定対象のフラグメントが隠蔽オブジェクト21に隠蔽される隠蔽部分23であると判定し、隠蔽部分23の設定色を図形描画部12に指示し、図形描画部12がフレームバッファ13aに書き込む(ステップST7−8)。隠蔽部分23の設定色は、図6および図7の例であれば完全透明で、フレームバッファ13aに書き込まないことになる。
【0048】
なお、カバーエリア22を示す3次元図形の境界面に透明色を用いる場合、境界面同士の奥行き判定を考慮したカバーエリア描画処理が必要となる。即ち、ユーザ視点から見て隠蔽オブジェクト21より近くの位置に複数の境界面に対応する複数のフラグメントが存在する場合、より近くのフラグメントを先に処理し、Zバッファ13bにそのフラグメントの距離Zを書き込んでしまうと、その後で処理される遠い位置のフラグメントの距離ZがZバッファ13bに書き込まれない。そのため、近いフラグメントの透明色に対し、このフラグメントに重なる遠いフラグメントの透明色が加算されず、境界面の重なり具合を表現することができない。このような場合には、オブジェクトが描画されたZバッファ13bとの奥行き判定は行うが、カバーエリア22のフラグメントのZ値は書き込まないようにしたり、予め面単位に境界面の奥行き判定を行って、遠くに存在する境界面から先に描画したりといった方法を適用する。このような方法は公知技術であり、本実施の形態の本質的なところではないので、詳細な説明は省略する。
【0049】
続くステップST7−9において、カバーエリア描画部11はカバーエリア図形の全てのフラグメントについて判定処理が終了したかをチェックし、終了していなければ(ステップST7−9“NO”)、再びステップST7−4に戻る。終了していれば(ステップST7−9“YES”)、ステップST7−10において表示部14がフレームメモリ13の画像データをディスプレイ3に表示する。
【0050】
図14は、カバーエリア22の隠蔽判定を説明する図である。仮想の3次元空間において、装置オブジェクト20が位置Pdに配置されると共に隠蔽オブジェクト21が配置され、また、位置Peにユーザ視点28とその投影面29とが設定されている。ここで、装置オブジェクト20からのスキャンライン(破線で示す)上に、カバーエリア図形(不図示)のフラグメントP3,P4と、隠蔽オブジェクト21との交点Poを考える。ここでは、距離マップ9に保持されている距離AはPdPoとなる。カバーエリアに存在するフラグメントP3は、隠蔽オブジェクト21より装置オブジェクト20に近いので隠蔽されず、距離B1=PdP3と対応する距離A=PdPoとの比較結果はPdP3≦PdPoとなる。一方、カバーエリアに存在するフラグメントP4は、装置オブジェクト20との間に隠蔽オブジェクト21が存在するため隠蔽され、距離B2=PdP4と対応する距離A=PdPoとの比較結果はPdP4>PdPoとなる。よって、フラグメントP3は非隠蔽部分、フラグメントP4は隠蔽部分と判定される。
【0051】
ステップST7−5における距離Bは種々の方法で計算できるが、グラフィックプロセッサが提供するZバッファ方式の隠面消去処理にて得られるZ値を利用すれば効率よく計算できる。パイプライン後段処理において、カバーエリア描画部11がグラフィックプロセッサが提供する座標変換機能を利用して、カバーエリアのローカル座標系をユーザ視点の視点座標系に投影変換し、視点座標系におけるカバーエリアのフラグメントの座標(Xvs,Yvs,Zvs)を表す。(Xvs,Yvs)はスキャンする投影面上の画素の座標であり、ZvsはZバッファ13bに保持されるフラグメントの距離Zである。そして、この座標(Xvs,Yvs,Zvs)にユーザ視点からの視点座標変換および投影変換の逆変換を施すと、3次元空間のワールド座標系におけるフラグメントの座標(Xw,Yw,Zw)が得られる。
【0052】
さらに、Zバッファ方式の隠面消去処理により距離Aを計算した手順(図11に示す)と同様に、カバーエリア描画部11が、装置オブジェクト20を視点とした場合の視点座標変換と投影変換をフラグメントの座標(Xw,Yw,Zw)に施すと、装置オブジェクト20の視点から投影変換したフラグメントの座標(Xds,Yds,Zds)が計算できる。このZdsが装置オブジェクト20からフラグメントまでの距離Bになり、距離マップ9に既に記憶されている座標(Xds,Yds)の距離Zdsがこのフラグメントと比較すべき距離Aになる。
【0053】
以上より、実施の形態1に係るカバレージ表示装置2は、直線的伝播特性を有する波動を検知または照射する装置をモデル化した装置オブジェクト20、および当該波動の伝播を遮る物体をモデル化した隠蔽オブジェクト21を仮想の3次元空間に配置するオブジェクト配置部6と、3次元空間において、装置オブジェクト20が検知または照射するカバーエリア22をスキャンし、各スキャン方向で装置オブジェクト20に最も近い隠蔽オブジェクト21までの距離Aを計算して距離マップ9を生成する距離計算部8と、3次元空間にカバーエリア22を示す3次元図形を描画するときに、装置オブジェクト20から当該3次元図形の任意部分までの距離Bを計算し、距離マップ9内の対応する距離Aとの比較結果に基づいて、当該3次元図形の隠蔽オブジェクト21に遮られる隠蔽部分23と遮られない非隠蔽部分24とを視覚的に区別して描画するカバーエリア描画部11と、任意位置に設定されるユーザ視点から見た3次元空間を示す画像データを生成する図形描画部12とを備えるように構成した。このため、カバーエリア22の隠蔽部分23と非隠蔽部分24を視覚的に区別してユーザに提示することができ、ユーザがカバーエリアの伝播遮蔽を正確かつ短時間に把握できるカバレージ表示装置2を提供することができる。
【0054】
また、実施の形態1によれば、カバーエリア描画部11は、3次元空間の任意位置に設定されるユーザ視点から見たカバーエリアの3次元図形を隠面消去して描画し、当該隠面消去処理で得られる描画部分の3次元座標を用いて距離Bを計算するように構成した。このように描画処理と距離計算処理とを合わせて行うことにより、描画処理と別に距離計算する場合に比べて処理が簡略化され、高速に画面表示することができる。
【0055】
また、実施の形態1によれば、カバーエリア描画部11は、3次元空間の任意位置に設定される視点から見たカバーエリアの3次元図形をZバッファ法により隠面消去して描画し、当該視点を基準にした座標系で表される描画部分の3次元座標を、装置オブジェクト20を基準にした座標系に変換して距離Bを計算するように構成した。このため、グラフィックプロセッサが有する座標変換機能を利用して、高速に、装置オブジェクト20からカバーエリア22の描画部分までの距離Bを計算することができる。
【0056】
また、実施の形態1によれば、距離計算部8は、装置オブジェクト20を視点に用いて、当該視点から見た隠蔽オブジェクト21を隠面消去して描画し、装置オブジェクト20から当該隠面消去処理で得られる隠蔽オブジェクト21の描画部分までの距離を距離Aとするように構成した。このため、グラフィックプロセッサが有する隠面消去機能を利用して計算される視点からオブジェクト描画部分までの距離を、装置オブジェクト20から隠蔽オブジェクト21の描画部分までの距離Aとして用いるため、高速に距離計算することができる。
【0057】
また、実施の形態1によれば、カバーエリア描画部11は、カバーエリア22を示す3次元図形として当該カバーエリア22の境界面を描画するように構成したので、描画するための計算処理が境界面だけと少なくてすみ、高速に描画できる。
【0058】
また、実施の形態1に係るカバレージ表示システム1は、画像データを表示するディスプレイ3と、ユーザの指示を受け付ける対話装置4と、装置オブジェクト20のカバーエリア22を示す3次元図形を、対話装置4が受け付ける指示に従って対話形式に描画して画像データを生成し、ディスプレイ3に表示させるカバレージ表示装置2とを備えるように構成した。このため、ユーザがディスプレイ3に表示されたカバーエリア22を確認しながら装置オブジェクト20の配置設計ができ、例えばユーザ視点を変更した場合でも常にカバーエリア22の隠蔽状況を把握できるようになる。
【0059】
実施の形態2.
上記実施の形態1では、カバーエリアの境界面を描画するようにしたので、ユーザ視点から見て、隠蔽オブジェクトがカバーエリア境界面を遮れば隠蔽部分が識別しやすいが、遮らないと隠蔽部分が識別しにくい場合がある。例えば図15はカバレージ表示装置2が生成する画像データを示し、図15(a)はユーザ視点が斜め方向にある場合のビュー、図15(b)は真横方向のビュー、図15(c)は真上方向のビューである。なお、図15において図6と同一または相当の部分については同一の符号を付し説明を省略する。装置オブジェクト20のカバーエリア22内に隠蔽オブジェクト21全体が存在する場合、カバーエリア22の境界面のみ描画すると、図15(a)のようにカバーエリア22内部の隠蔽部分23を把握することができない。しかし実際には、図15(b),(c)に破線で示すように隠蔽部分23が存在する。そこで、本実施の形態2では、カバーエリア22内に存在する一つ以上の平面をカバーエリア図形として描画する。
【0060】
本実施の形態2に係るカバレージ表示システム1は、図1に示すカバレージ表示システム1と図面上では同様の構成であるので、以下では図1を援用する。そして、図13のフローチャートを援用して、上記実施の形態1とは異なる動作を中心に説明する。
【0061】
図16および図17は、床25に平行、かつ、カバーエリア22内に存在する3つの平面30〜32と、カバーエリア22の輪郭線とをカバーエリア図形として描画する例を示し、各図とも(a)は真横方向のビュー、(b)は斜め方向のビュー、(c)は真上方向のビュー、(d)は斜め方向のビューである。ステップST7−1にてカバーエリア描画部11がカバーエリア22の図形を描画する際、図16(a),(b)および図17(a),(b)に示すように、床25に平行かつカバーエリア図形内に存在する複数の平面(フラグメント)30〜32を設定する。
【0062】
図13のフラグメント描画処理(ステップST7−4〜ST7−9)において、カバーエリア22の輪郭線を実線で描画すると共に、非隠蔽部分24を半透明で描画し、隠蔽部分23は完全透明(全透明)で描画するので、図10で説明した境界面同士の奥行き判定を考慮した処理により、ユーザ視点から見て平面30〜32が重なる部分は透明色が加算され濃く表示される(図16(c),(d)および図17(c),(d))。
【0063】
特に、図17に示す背の低い隠蔽オブジェクト21の場合、カバーエリア22の上部の境界面を遮らないが、床25付近の2つの平面31,32を遮るため、図17(c)に示すようにユーザ視点が真上に位置する場合にも透明度の違いにより隠蔽部分を容易に把握することができる。これに対し、図16に示す背の高い隠蔽オブジェクト21の場合、床25より上の3つの平面30〜32を遮るため、図16(c)に示すように隠蔽部分23が完全透明になる。
【0064】
さらに、カバーエリア22内に存在する平面30〜32の数を多く設定したり、平面30〜32の配置間隔を小さく設定したりすれば、隠蔽部分の有無だけでなく、ユーザ視点から見た隠蔽部分/非隠蔽部分の奥行き(厚さ)も直感的に掴むことができる。
【0065】
別の表示例を図18に示す。図18(a)は真上方向のビュー、図18(b)は斜め方向のビュー、図18(c)は真横方向のビュー、図18(d)は斜め方向のビューである。図18の例では、床25に垂直、かつ、カバーエリア22内に存在する3つの平面33〜35を設定している。この場合、図18(c)に示すように、ユーザ視点が真横に位置する場合に、透明度の違いにより隠蔽部分23を把握することができる。
【0066】
図16〜図18に示したように、ユーザ視点の位置によって、カバーエリア22の隠蔽部分23を把握しやすい、または把握可能な平面30〜35の向きが異なる。そこで、さらに別の表示例を図19に示す。図19(a),(b)とも斜め方向のビューである。図19の例では、ユーザ視点からの視線方向に垂直、かつ、カバーエリア22内に存在する3つの平面36〜38とカバーエリア22の輪郭線とをカバーエリア図形として描画する。この場合、ステップST7−1にてカバーエリア描画部11がカバーエリア22の図形を描画する際、ユーザ視点の配置変更に応じて平面36〜38の向きを動的に変更する構成にする。これにより、ユーザがユーザ視点を真横、真上、斜め方向等さまざまな位置に変更しても、カバーエリア22の隠蔽部分23をより容易に把握することができる。
【0067】
さらに、ユーザが対話的に平面の数、間隔、および表示するときの透明色の透明度等を変更できるように構成すれば、カバーエリア22の隠蔽の状況、およびユーザの観察目的に応じてより適した表示が可能となる。例えば、平面の間隔、透明度等を対話装置4が有するマウスホイールで変更する構成にすれば、ユーザはディスプレイ3に画面表示されるカバーエリアから目を離さずに最適な設定を選択できる。また、隠蔽オブジェクトと交差する平面の数を多くするか、または間隔を狭くすれば、非隠蔽部分の平面の重なりが増え(即ち透明色の加算数が増えて表示色が濃くなり)、隠蔽部分をよりはっきりと視覚的に区別して表示できる。なお、平面の設定数が増えても、公知技術である3次元図形と平面の交差判定処理により、容易に隠蔽オブジェクト21と交差する平面を求めることができ、カバレージ表示装置2の計算処理負担はわずかで足りる。
【0068】
上記例ではカバーエリア内に平面を設定して隠蔽部分と非隠蔽部分を視覚的に表示したが、形状は平面に限定されるものではなく、例えば図20に示すような多面体22aにしてもよい。図20(a)は真横方向のビュー、図20(b)は斜め方向のビュー、図20(c)は真横方向のビュー、図20(d)は真上方向のビュー、図20(e)は斜め方向のビューである。図20の例では、対話制御部5からカバーエリア描画部11に対して床25からの高さを示す上端距離39と下端距離40の条件が与えられたとき、カバーエリア22内で下端距離40以上かつ上端距離39以下の空間の境界面から構成される多面体22aをカバーエリア図形として作成し描画する構成にする。例えば、監視カメラで歩行者の上半身を撮像可能な範囲を確認したい場合、ユーザは、装置オブジェクト20のカバーエリア22を監視カメラの撮像範囲に見立て、対話装置4を操作して上端距離39を2m、下端距離40を0.5mに設定すればよい。なお、カバーエリア図形を示す多面体22aは、カバーエリア22を床25に対して水平に輪切りにした形状(図20)以外であってもよく、その他、床25に対して垂直に輪切りにした形状、ユーザ視点からの視線方向に対して垂直に輪切りにした形状など任意に設定すればよい。
このように、装置オブジェクト20そのもののカバーエリア22と空間を規定する他の条件とを組み合わせたカバーエリアを定義して視覚化することにより、種々の条件を加味したカバーエリアの確認およびカメラ等の装置の配置設計が可能となる。
【0069】
以上のように、実施の形態2によれば、カバーエリア描画部11は、カバーエリア22を示す3次元図形としてカバーエリア内に設定する一つ以上の平面30〜38を描画するように構成したので、上記実施の形態1と同様の方法によりカバーエリア22の隠蔽部分23と非隠蔽部分24とを視覚的に区別して描画することができる。よって、隠蔽オブジェクト21がカバーエリア22の境界面を遮らないような形状および配置の場合でも、ユーザはカバーエリア内部の隠蔽状況を把握することができる。
【0070】
また、実施の形態2によれば、カバーエリア22を示す3次元図形として当該カバーエリア内に設定する多面体22aを描画するように構成したので、カバーエリア22の特定部分について、隠蔽部分23と非隠蔽部分24とを視覚的に区別して描画することができ、種々の条件を加味したカバーエリアの確認およびカメラ等の装置の配置設計が可能となる。
【0071】
また、実施の形態2によれば、平面30〜38のうち少なくとも一面または多面体22aを、隠蔽オブジェクト21と交差する平面または多面体にするようにしたので、隠蔽オブジェクト21がカバーエリア22の境界面を遮らないような形状および配置の場合でも、ユーザはカバーエリア内部の隠蔽状況をより良く把握することができる。
【0072】
また、実施の形態2によれば、カバーエリア描画部11は、ユーザ視点の設定位置に応じて平面36〜38または多面体22aの位置を変更するように構成したので、ユーザはユーザ視点を変更しても常に隠蔽状況を把握することができる。
【0073】
なお、上記実施の形態2では、カバーエリア22の輪郭線を実線で描画し、平面30〜38または多面体22aを隠蔽部分23と非隠蔽部分24とに区別して透明色で描画する構成にしたが、これに加えてカバーエリア22の境界面を隠蔽部分23と非隠蔽部分24とに区別して透明色で描画する構成にしてもよい。境界面の描画については上記実施の形態1で説明した通りである。
【0074】
実施の形態3.
上記実施の形態1ではカバーエリアの境界面を、上記実施の形態2ではカバーエリア内部に設定した平面または多面体をカバーエリア図形として表示するためにサーフェスレンダリング手法を用いたが、本実施の形態3ではカバーエリア内部をボクセルで記述するボリュームレンダリング手法を用いてカバーエリア図形を表示する構成にする。
【0075】
本実施の形態3に係るカバレージ表示装置2の構成および基本的な動作は上記実施の形態1と同様であり、カバーエリア図形とその描画方法が異なる。そのため、以下では図1、図13を援用して、異なる部分を中心に本実施の形態3のカバレージ表示装置2を説明する。
【0076】
リアリティのある3次元物体を描画する方法として、上記実施の形態1のように物体の表面を描画するサーフェスレンダリングが一般的であるが、CTスキャンした体内の様子を視覚化する場合などは3次元物体の内部の色情報等をボクセル単位で記述し描画するボリュームレンダリングが利用される。ボクセルとは2次元画像の要素であるピクセルに相当する3次元空間の体積の要素であり、3次元空間での正規格子単位の値を表す。ボリュームレンダリングについては公知技術のためこれ以上の説明は省略する。
【0077】
本実施の形態3では、図13に示すカバーエリア描画処理のフローチャートにおいて、ステップST7−1では、カバーエリア描画部11がボクセル記述されたカバーエリア図形を生成する。例えば、カバーエリア描画部11は、装置オブジェクト20およびカバーエリア22を含む仮想の3次元空間をL×M×Nの正規格子でサンプリングし、L×M×Nのボクセル配列を生成する。これらのボクセル配列のうち、カバーエリア22を構成する(カバーエリア22の位置に存在する)ボクセルに透明度の情報を含むカバーエリアの色情報を設定し、他のボクセルはオブジェクトが存在しないことを示す情報を設定する。
【0078】
また、ステップST7−4〜ST7−9のフラグメント描画処理では、本来フラグメントが描画単位であるが、本実施の形態3ではボクセルを描画単位にする。そして、カバーエリア描画部11は、カバーエリア22の内部にある全てのボクセルに対してステップST7−4〜ST7−9の処理を実施する。
【0079】
先ず、カバーエリア描画部11がボクセル配列を順番に走査して、対象ボクセルがカバーエリア22内部のボクセルであればステップST7−5にて装置オブジェクト20から対象ボクセルまでの距離Bを計算する。具体的には、ボクセル配列における装置オブジェクト20およびカバーエリア22内部のボクセルのXYZ座標から、装置オブジェクト20と各ボクセルとの間の距離Bを容易に計算することができる。
【0080】
続くステップST7−6において、カバーエリア描画部11は距離マップ9のうちから対象ボクセルに対応する距離Aを距離Bと大小比較し、隠蔽判定を行い、透明度を有する隠蔽色または非隠蔽色を対象ボクセルに設定する(ステップST7−7,ST7−8)。
【0081】
全てのボクセルについて描画が終了すれば(ステップST7−9“YES”)、続くステップST7−10において図形描画部12がそのボクセル配列をフレームメモリ13内のフレームバッファ13aに描画し、表示部14がフレームバッファ13aの画像データをディスプレイ3に表示する。
【0082】
以上より、実施の形態3によれば、カバーエリア描画部11は、カバーエリア22を示す3次元図形をボクセル配列にして描画するときに、当該カバーエリア22の隠蔽部分23に相当する各ボクセルと非隠蔽部分24に相当する各ボクセルとを視覚的に区別して描画するように構成した。このため、カバーエリア22の内部の隠蔽の様子を滑らかに、かつ、きめ細かく表示することができるようになり、ユーザはカバーエリアの伝播遮蔽を正確かつ短時間に把握することができる。
【0083】
なお、上記実施の形態1〜3では装置オブジェクト20、隠蔽オブジェクト21およびカバーエリア22を描画して、ディスプレイ3に画面表示するようにしたが、これに限定されるものではなく、例えばカバーエリア22のみを描画して画面表示してもよい。その場合には、例えば図13に示すステップST7−2において、カバーエリア描画部11がフレームバッファ13aとZバッファ13bをクリアすることにより、図8のステップST6にてオブジェクト描画部10が先に描画しておいた装置オブジェクト20と隠蔽オブジェクト21の表示を消せばよい。
【符号の説明】
【0084】
1 カバレージ表示システム、2 カバレージ表示装置、3 ディスプレイ、4 対話装置、5 対話制御部、6 オブジェクト配置部、7 グラフィックメモリ、8 距離計算部、13a フレームバッファ、13b Zバッファ、9 距離マップ、10 オブジェクト描画部、11 カバーエリア描画部、12 図形描画部、13 フレームメモリ、
14 表示部、20 装置オブジェクト、20a カメラ、20b 焦電型赤外センサ、21 隠蔽オブジェクト、22 カバーエリア、23 隠蔽部分、24 非隠蔽部分、25 床、26 投影面、27 画素、28 ユーザ視点、29 投影面。
【特許請求の範囲】
【請求項1】
直線的伝播特性を有する波動を検知または照射する装置をモデル化した装置オブジェクト、および当該波動の伝播を遮る物体をモデル化した隠蔽オブジェクトを仮想の3次元空間に配置するオブジェクト配置部と、
前記3次元空間において、前記装置オブジェクトが検知または照射するカバーエリアをスキャンし、各スキャン方向で前記装置オブジェクトに最も近い隠蔽オブジェクトまでの第1距離を計算して距離マップを生成する距離計算部と、
前記3次元空間に前記カバーエリアを示す3次元図形を描画するときに、前記装置オブジェクトから当該3次元図形の任意部分までの第2距離を計算し、前記距離マップ内の対応する第1距離との比較結果に基づいて、当該3次元図形の前記隠蔽オブジェクトに遮られる隠蔽部分と遮られない非隠蔽部分とを視覚的に区別して描画するカバーエリア描画部と、
任意位置に設定される視点から見た前記3次元空間を示す画像データを生成する図形描画部とを備えるカバレージ表示装置。
【請求項2】
前記カバーエリア描画部は、3次元空間の任意位置に設定される視点から見たカバーエリアの3次元図形を隠面消去して描画し、当該隠面消去処理で得られる描画部分の3次元座標を用いて第2距離を計算することを特徴とする請求項1記載のカバレージ表示装置。
【請求項3】
前記カバーエリア描画部は、3次元空間の任意位置に設定される視点から見たカバーエリアの3次元図形をZバッファ法により隠面消去して描画し、当該視点を基準にした座標系で表される描画部分の3次元座標を、装置オブジェクトを基準にした座標系に変換して第2距離を計算することを特徴とする請求項1記載のカバレージ表示装置。
【請求項4】
前記距離計算部は、装置オブジェクトを視点に用いて、当該視点から見た隠蔽オブジェクトを隠面消去して描画し、前記装置オブジェクトから当該隠面消去処理で得られる前記隠面オブジェクトの描画部分までの距離を第1距離とする請求項1記載のカバレージ表示装置。
【請求項5】
前記カバーエリア描画部は、カバーエリアを示す3次元図形として当該カバーエリアの境界面を描画することを特徴とする請求項1記載のカバレージ表示装置。
【請求項6】
前記カバーエリア描画部は、カバーエリアを示す3次元図形として当該カバーエリア内に設定する一つ以上の平面を描画することを特徴とする請求項1記載のカバレージ表示装置。
【請求項7】
前記カバーエリア描画部は、カバーエリアを示す3次元図形として当該カバーエリア内に設定する多面体を描画することを特徴とする請求項1記載のカバレージ表示装置。
【請求項8】
前記平面または多面体は、隠蔽オブジェクトと交差する平面または多面体であることを特徴とする請求項6または請求項7記載のカバレージ表示装置。
【請求項9】
前記カバーエリア描画部は、視点の設定位置に応じて前記平面または多面体の位置を変更することを特徴とする請求項6または請求項7記載のカバレージ表示装置。
【請求項10】
前記カバーエリア描画部は、カバーエリアを示す3次元図形をボクセル配列として描画するときに、当該カバーエリアの隠蔽部分に相当する各ボクセルと非隠蔽部分に相当する各ボクセルとを視覚的に区別して描画することを特徴とする請求項1記載のカバレージ表示装置。
【請求項11】
画像データを表示するディスプレイと、
ユーザの指示を受け付ける対話装置と、
装置オブジェクトのカバーエリアを示す3次元図形を、前記対話装置が受け付ける指示に従って対話形式に描画して画像データを生成し、前記ディスプレイに表示させる請求項1から請求項10のうちのいずれか1項記載のカバレージ表示装置とを備えるカバレージ表示システム。
【請求項12】
直線的伝播特性を有する波動を検知または照射する装置をモデル化した装置オブジェクト、および当該波動の伝播を遮る物体をモデル化した隠蔽オブジェクトを仮想の3次元空間に配置するオブジェクト配置手順と、
前記3次元空間において、前記装置オブジェクトが検知または照射するカバーエリアをスキャンし、各スキャン方向で前記装置オブジェクトに最も近い隠蔽オブジェクトまでの第1距離を計算して距離マップを生成する距離計算手順と、
前記3次元空間に前記カバーエリアを示す3次元図形を描画するときに、前記装置オブジェクトから当該3次元図形の任意部分までの第2距離を計算し、前記距離マップ内の対応する第1距離との比較結果に基づいて、当該3次元図形の前記隠蔽オブジェクトに遮られる隠蔽部分と遮られない非隠蔽部分とを視覚的に区別して描画するカバーエリア描画手順と、
任意位置に設定される視点から見た前記3次元空間を示す画像データを生成する図形描画手順とをコンピュータに実行させるためのカバレージ表示プログラム。
【請求項1】
直線的伝播特性を有する波動を検知または照射する装置をモデル化した装置オブジェクト、および当該波動の伝播を遮る物体をモデル化した隠蔽オブジェクトを仮想の3次元空間に配置するオブジェクト配置部と、
前記3次元空間において、前記装置オブジェクトが検知または照射するカバーエリアをスキャンし、各スキャン方向で前記装置オブジェクトに最も近い隠蔽オブジェクトまでの第1距離を計算して距離マップを生成する距離計算部と、
前記3次元空間に前記カバーエリアを示す3次元図形を描画するときに、前記装置オブジェクトから当該3次元図形の任意部分までの第2距離を計算し、前記距離マップ内の対応する第1距離との比較結果に基づいて、当該3次元図形の前記隠蔽オブジェクトに遮られる隠蔽部分と遮られない非隠蔽部分とを視覚的に区別して描画するカバーエリア描画部と、
任意位置に設定される視点から見た前記3次元空間を示す画像データを生成する図形描画部とを備えるカバレージ表示装置。
【請求項2】
前記カバーエリア描画部は、3次元空間の任意位置に設定される視点から見たカバーエリアの3次元図形を隠面消去して描画し、当該隠面消去処理で得られる描画部分の3次元座標を用いて第2距離を計算することを特徴とする請求項1記載のカバレージ表示装置。
【請求項3】
前記カバーエリア描画部は、3次元空間の任意位置に設定される視点から見たカバーエリアの3次元図形をZバッファ法により隠面消去して描画し、当該視点を基準にした座標系で表される描画部分の3次元座標を、装置オブジェクトを基準にした座標系に変換して第2距離を計算することを特徴とする請求項1記載のカバレージ表示装置。
【請求項4】
前記距離計算部は、装置オブジェクトを視点に用いて、当該視点から見た隠蔽オブジェクトを隠面消去して描画し、前記装置オブジェクトから当該隠面消去処理で得られる前記隠面オブジェクトの描画部分までの距離を第1距離とする請求項1記載のカバレージ表示装置。
【請求項5】
前記カバーエリア描画部は、カバーエリアを示す3次元図形として当該カバーエリアの境界面を描画することを特徴とする請求項1記載のカバレージ表示装置。
【請求項6】
前記カバーエリア描画部は、カバーエリアを示す3次元図形として当該カバーエリア内に設定する一つ以上の平面を描画することを特徴とする請求項1記載のカバレージ表示装置。
【請求項7】
前記カバーエリア描画部は、カバーエリアを示す3次元図形として当該カバーエリア内に設定する多面体を描画することを特徴とする請求項1記載のカバレージ表示装置。
【請求項8】
前記平面または多面体は、隠蔽オブジェクトと交差する平面または多面体であることを特徴とする請求項6または請求項7記載のカバレージ表示装置。
【請求項9】
前記カバーエリア描画部は、視点の設定位置に応じて前記平面または多面体の位置を変更することを特徴とする請求項6または請求項7記載のカバレージ表示装置。
【請求項10】
前記カバーエリア描画部は、カバーエリアを示す3次元図形をボクセル配列として描画するときに、当該カバーエリアの隠蔽部分に相当する各ボクセルと非隠蔽部分に相当する各ボクセルとを視覚的に区別して描画することを特徴とする請求項1記載のカバレージ表示装置。
【請求項11】
画像データを表示するディスプレイと、
ユーザの指示を受け付ける対話装置と、
装置オブジェクトのカバーエリアを示す3次元図形を、前記対話装置が受け付ける指示に従って対話形式に描画して画像データを生成し、前記ディスプレイに表示させる請求項1から請求項10のうちのいずれか1項記載のカバレージ表示装置とを備えるカバレージ表示システム。
【請求項12】
直線的伝播特性を有する波動を検知または照射する装置をモデル化した装置オブジェクト、および当該波動の伝播を遮る物体をモデル化した隠蔽オブジェクトを仮想の3次元空間に配置するオブジェクト配置手順と、
前記3次元空間において、前記装置オブジェクトが検知または照射するカバーエリアをスキャンし、各スキャン方向で前記装置オブジェクトに最も近い隠蔽オブジェクトまでの第1距離を計算して距離マップを生成する距離計算手順と、
前記3次元空間に前記カバーエリアを示す3次元図形を描画するときに、前記装置オブジェクトから当該3次元図形の任意部分までの第2距離を計算し、前記距離マップ内の対応する第1距離との比較結果に基づいて、当該3次元図形の前記隠蔽オブジェクトに遮られる隠蔽部分と遮られない非隠蔽部分とを視覚的に区別して描画するカバーエリア描画手順と、
任意位置に設定される視点から見た前記3次元空間を示す画像データを生成する図形描画手順とをコンピュータに実行させるためのカバレージ表示プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【公開番号】特開2012−38132(P2012−38132A)
【公開日】平成24年2月23日(2012.2.23)
【国際特許分類】
【出願番号】特願2010−178456(P2010−178456)
【出願日】平成22年8月9日(2010.8.9)
【出願人】(000006013)三菱電機株式会社 (33,312)
【Fターム(参考)】
【公開日】平成24年2月23日(2012.2.23)
【国際特許分類】
【出願日】平成22年8月9日(2010.8.9)
【出願人】(000006013)三菱電機株式会社 (33,312)
【Fターム(参考)】
[ Back to top ]