(57)【特許請求の範囲】
【請求項１】
所定のエリアの任意の位置にカメラを配置した場合の撮影映像をシミュレーションするカメラ映像シミュレーションプログラムであって、
前記カメラ映像シミュレーションプログラムを実行するコンピュータは、
画角が異なる複数のカメラをリスト表示する処理と、
前記所定エリアの上面図データに基づいて当該所定エリアの上面図画像の一部又は全部を表示装置に表示させる処理と、
前記上面図画像と同一画面上に、当該上面図画像と対応する立面図画像を、表示する処理と、
前記複数のカメラのうち、選択された１以上のカメラそれぞれを表す上面方向のカメラ表示子を前記上面図画像上に表示する処理と、
前記上面図画像と当該上面図画像に対応する物体の実寸との変換係数、上面図画像上に表示された個々のカメラにおける前記上面図画像上のカメラの配置位置、上面図画像上に表示された個々のカメラにおける前記カメラの高さ位置、上面図画像上に表示された個々のカメラにおける水平及び垂直設置角度、並びに上面図画像上に表示された個々のカメラにおける画角を有する設定情報を、任意に設定する処理と、
前記設定情報に応じて、前記個々のカメラが撮影可能な撮影範囲を水平面に投影した水平視野表示子を前記個々のカメラ表示子ごとに前記上面図画像上に表示させる処理と、
前記上面図画像上において表示された前記複数のカメラ表示子のうち、任意のカメラ表示子に対する指示を受け付ける処理と、
前記設定情報に応じて、指示を受け付けた任意のカメラ表示子のカメラを表す立面方向のカメラ表示子と、当該任意のカメラ表示子のカメラが撮影可能な撮影範囲を垂直面に投影した垂直視野表示とを、前記立面図画像上に配置して表示させる処理と、
前記設定情報と前記上面図データとに基づいて、前記指示を受けた任意のカメラ表示子のカメラの仮想撮影映像である三次元グラフィックスを作成し、前記表示装置に表示させる処理と、
前記上面図画像上において、前記指示を受け付けた任意のカメラ表示子の移動を受け付ける処理と、
当該任意のカメラ表示子の移動に応じて、前記設定情報のうち、当該任意のカメラ表示子のカメラにおける前記上面図画像上の配置位置を変更する処理と、
前記立面図画像上において、前記指示を受け付けた任意のカメラ表示子の移動を受け付ける処理と、
当該任意のカメラ表示子の移動に応じて、前記設定情報のうち、当該任意のカメラ表示子のカメラにおける高さ位置を変更する処理とを、
含むカメラ映像シミュレーションプログラム。
【請求項２】
所定のエリアの任意の位置にカメラを配置した場合の撮影映像をシミュレーションするカメラ映像シミュレーションプログラムであって、
前記カメラ映像シミュレーションプログラムを実行するコンピュータは、
画角が異なる複数のカメラをリスト表示する処理と、
前記所定エリアの上面図データに基づいて当該所定エリアの上面図画像の一部又は全部を表示装置に表示させる処理と、
前記上面図画像と同一画面上に、当該上面図画像と対応する立面図画像を、表示する処理と、
前記複数のカメラのうち、選択された１以上のカメラそれぞれを表す上面方向のカメラ表示子を前記上面図画像上に表示する処理と、
前記上面図画像と当該上面図画像に対応する物体の実寸との変換係数、上面図画像上に表示された個々のカメラにおける前記上面図画像上のカメラの配置位置、上面図画像上に表示された個々のカメラにおける前記カメラの高さ位置、上面図画像上に表示された個々のカメラにおける水平及び垂直設置角度、並びに上面図画像上に表示された個々のカメラにおける画角を有する設定情報を、任意に設定する処理と、
前記設定情報に応じて、前記個々のカメラが撮影可能な撮影範囲を水平面に投影した水平視野表示子を前記個々のカメラ表示子ごとに前記上面図画像上に表示させる処理と、
前記上面図画像上において表示された前記複数のカメラ表示子のうち、任意のカメラ表示子に対する指示を受け付ける処理と、
前記設定情報に応じて、指示を受け付けた任意のカメラ表示子のカメラを表す立面方向のカメラ表示子と、当該任意のカメラ表示子のカメラが撮影可能な撮影範囲を垂直面に投影した垂直視野表示とを、前記立面図画像上に配置して表示させる処理と、
前記設定情報と前記上面図データとに基づいて、前記指示を受けた任意のカメラ表示子のカメラの仮想撮影映像である三次元グラフィックスを作成し、前記表示装置に表示させる処理と、
前記上面図画像上において、前記指示を受け付けた任意のカメラ表示子の水平視野表示子の回転を受け付ける処理と、
当該水平視野表示子の回転に応じて、前記設定情報のうち、前記指示を受け付けた任意のカメラ表示子のカメラにおける水平設置角度を変更する処理と、
前記立面図画像上において、前記指示を受け付けた任意のカメラ表示子の垂直視野表示子の回転を受け付ける処理と、
当該垂直視野表示子の回転に応じて、前記設定情報のうち、前記指示を受け付けた任意のカメラ表示子のカメラにおける垂直設置角度を変更する処理とを、
さらに含むカメラ映像シミュレーションプログラム。
【請求項３】
請求項２記載のカメラ映像シミュレーションプログラムにおいて、前記カメラ映像シミュレーションプログラムを実行するコンピュータは、
前記上面図画像上において、前記指示を受け付けた任意のカメラ表示子の水平視野表示子に対して当該水平視野表示子の縁の移動を受け付ける処理と、
当該水平視野表示子の縁の移動に応じて、前記設定情報のうち、前記指示を受け付けた任意のカメラ表示子のカメラにおける画角を変更する処理と、
前記立面図画像上において、前記指示を受け付けた任意のカメラ表示子の垂直視野表示子に対して当該垂直視野表示子の縁の移動を受け付ける処理と、
当該垂直視野表示子の縁の移動に応じて、前記設定情報のうち、前記指示を受け付けた任意のカメラ表示子のカメラにおける画角を変更する処理とを、
さらに含むカメラ映像シミュレーションプログラム。
【請求項４】
請求項３記載のカメラ映像シミュレーションプログラムにおいて、前記カメラ映像シミュレーションプログラムを実行するコンピュータは、  前記指示を受け付けた任意のカメラ表示子の表示子の配置位置に基づいて、前記指示を受け付けた任意のカメラ表示子のカメラにおける撮影対象物を所望の大きさで撮影するために必要な該カメラの水平及び垂直設置角度並びに画角を演算する処理と、  この演算結果と、前記設定された変換係数と、前記指示を受け付けた任意のカメラ表示子のカメラの高さ位置と、前記指示を受け付けた任意のカメラ表示子の配置位置と、前記上面図データとに基づいて、前記指示を受け付けた任意のカメラ表示子のカメラの仮想撮影映像である三次元グラフィックスを作成し、前記表示装置に表示させる処理と、  前記指示を受け付けた任意のカメラ表示子のカメラの移動に応答して、前記指示を受け付けた任意のカメラ表示子のカメラで撮影対象物を所望の大きさで撮影するために必要な移動後の前記指示を受け付けた任意のカメラ表示子のカメラの水平及び垂直設置角度並びに画角を再演算する処理と、  この再演算結果と、前記設定された変換係数と、前記指示を受け付けた任意のカメラ表示子のカメラの高さ位置と、前記指示を受け付けた任意のカメラ表示子の移動配置後の配置位置と、前記上面図データとに基づいて、前記指示を受け付けた任意のカメラ表示子のカメラの仮想撮影映像である三次元グラフィックスを再作成し、前記表示装置に表示させる処理とを、さらに含むカメラ映像シミュレーションプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、所定のエリアにカメラを設置した場合、どのように撮影されるかをシミュレーションするプログラムに関する。
【背景技術】
【０００２】
従来、上記のシミュレーションに関連する技術として、特許文献１に開示されているものがある。この技術では、表示画面にモニタリング対象場所のレイアウト図と、カメラの設置位置と、このカメラによって得られる映像がレイアウト図の上でどの範囲であるかを示す映像枠の中心位置と、この映像枠の大きさとが、データとして与えられており、表示画面上にレイアウト図を表示し、このレイアウト図上にカメラの位置と、映像枠とが表示される。
【０００３】
【特許文献１】特開２００６−１４８４０６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上記の技術は、実際に設置された後のカメラに対して、レイアウト図上のどの範囲が撮影されるかを表す映像枠を表示することによって、カメラが撮影している範囲のレイアウト図面内における位置関係を大まかに示すものである。この技術はカメラを設置した後の運用を効率的にすることを目的としたものであり、どのような映り方をするのかを事前に知ることには利用できない。すなわち、従来、カメラを設置する前には、カメラがどのような映り方をするのか、明確に知ることができなかった。このため、設置時にカメラの位置や角度、画角を試行錯誤的に変えるしかなく、最悪の場合、その設置位置では所望の撮影をすることができないことが判明する場合もあった。また、監視カメラ等の場合では設置位置が高所になる場合が多く、この設置位置の調整作業には大変な困難を伴う。
【０００５】
そこで、本発明は、撮影エリアの情報として比較的入手し易い二次元の上面図データを用いて、カメラの仮想三次元撮影映像をシミュレーションすることができるカメラ映像シミュレータプログラムを提供することを目的とする。また、本発明は、エリア画像上に配置されたカメラ表示子と撮影対象物表示子とを関係づけることで、自動的に所望の大きさで撮影対象物を撮影するために必要な設置角度や画角で計算して生成された仮想三次元撮影映像をシミュレーションすることができるカメラ映像シミュレータプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の一態様のカメラ映像シミュレーションプログラムは、所定のエリアの任意の位置にカメラを配置した場合の撮影映像をシミュレーションするもので、前記カメラ映像シミュレーションプログラムを実行するコンピュータは、画角が異なる複数のカメラをリスト表示する処理と、前記所定エリアの上面図データに基づいて当該所定エリアの上面図画像の一部又は全部を表示を表示装置に表示させる処理と、前記上面図画像と同一画面上に、当該上面画像と対応する立面図画像を、表示する処理と、前記複数のカメラのうち、選択された１以上のカメラそれぞれを表す上面方向のカメラ表示子を前記上面図画像上に表示する処理と、前記上面図画像と当該上面図画像に対応する物体の実寸との変換係数、上面図画像上に表示された個々のカメラにおける前記上面図画像上のカメラの配置位置、上面図画像上に表示された個々のカメラにおける前記カメラの高さ位置、上面図画像上に表示された個々のカメラにおける水平及び垂直設置角度、並びに上面図画像上に表示された個々のカメラにおける画角を有する設定情報を、任意に設定する処理と、前記設定情報に応じて、前記個々のカメラが撮影可能な撮影範囲を水平方向に投影した水平視野表示子を前記個々のカメラ表示子ごとに前記上面図画像上に表示させる処理と、前記上面図画像上において表示された前記複数のカメラ表示子のうち、任意のカメラ表示子に対する指示を受け付ける処理と、前記設定情報に応じて、指示を受け付けた任意のカメラ表示子のカメラを表す立面方向のカメラ表示子と、当該任意のカメラ表示子のカメラが撮影可能な撮影範囲を垂直方向に投影した垂直視野表示とを、前記立面画像上に配置して表示させる処理と、前記設定情報と前記上面図データとに基づいて、前記指示を受けた任意のカメラ表示子のカメラの仮想撮影映像である三次元グラフィックスを作成し、前記表示装置に表示させる処理とを行う。
【０００７】
前記カメラ映像シミュレーションプログラムを実行するコンピュータは、前記上面図画像上において、当該任意のカメラ表示子の移動または当該任意のカメラ表示子の水平視野表示子の回転を受け付ける処理と、当該任意のカメラ表示子の移動または当該水平視野表示子の回転に応じて、前記設定情報のうち、当該任意のカメラ表示子のカメラにおける前記上面図画像上の配置位置を変更するか、または前記指示を受け付けた任意のカメラ表示子のカメラにおける水平設置角度を変更する処理と、前記立面図画像上において、前記指示を受け付けた任意のカメラ表示子の移動または垂直視野表示子の回転を受け付ける処理と、
当該任意のカメラ表示子の移動または当該垂直視野表示子の回転に応じて、前記設定情報のうち、当該任意のカメラ表示子のカメラにおける高さ位置または垂直設置角度を変更する処理とを、さらに含んでいる。
【０００８】
或いは、前記カメラ映像シミュレーションプログラムを実行するコンピュータは、前記上面図画像上において、前記指示を受け付けた任意のカメラ表示子の水平視野表示子の回転を受け付ける処理と、当該水平視野表示子の回転に応じて、前記設定情報のうち、前記指示を受け付けた任意のカメラ表示子のカメラにおける水平設置角度を変更する処理と、前記立面図画像上において、前記指示を受け付けた任意のカメラ表示子の垂直視野表示子の回転を受け付ける処理と、当該垂直視野表示子の回転に応じて、前記設定情報のうち、前記指示を受け付けた任意のカメラ表示子のカメラにおける垂直設置角度を変更する処理とを、さらに含む。
【０００９】
前記カメラ映像シミュレーションプログラムを実行するコンピュータは、前記上面図画像上において、前記指示を受け付けた任意のカメラ表示子の水平視野表示子に対して当該水平視野表示子の縁の移動を受け付ける処理と、当該水平視野表示子の縁の移動に応じて、前記設定情報のうち、前記指示を受け付けた任意のカメラ表示子のカメラにおける画角を変更する処理と、前記立面図画像上において、前記指示を受け付けた任意のカメラ表示子の垂直視野表示子に対して当該垂直視野表示子の縁の移動を受け付ける処理と、当該垂直視野表示子の縁の移動に応じて、前記設定情報のうち、前記指示を受け付けた任意のカメラ表示子のカメラにおける画角を変更する処理とを、さらに含むことができる。
また、前記カメラ映像シミュレーションプログラムを実行するコンピュータは、前記指示を受け付けた任意のカメラ表示子の表示子の配置位置に基づいて、前記指示を受け付けた任意のカメラ表示子のカメラにおける前記撮影対象物を所望の大きさで撮影するために必要な該カメラの水平及び垂直設置角度並びに画角を演算する処理と、この演算結果と、前記設定された変換係数と、前記指示を受け付けた任意のカメラ表示子のカメラの高さ位置と、前記指示を受け付けた任意のカメラ表示子の配置位置と、前記上面図データとに基づいて、前記指示を受け付けた任意のカメラ表示子のカメラの仮想撮影映像である三次元グラフィックスを作成し、前記表示装置に表示させる処理と、前記指示を受け付けた任意のカメラ表示子のカメラの移動に応答して、前記指示を受け付けた任意のカメラ表示子のカメラで前記撮影対象物を所望の大きさで撮影するために必要な移動後の前記指示を受け付けた任意のカメラ表示子のカメラの水平及び垂直設置角度並びに画角を再演算する処理と、この再演算結果と、前記設定された変換係数と、前記指示を受け付けた任意のカメラ表示子のカメラの高さ位置と、前記指示を受け付けた任意のカメラ表示子の移動配置後の配置位置と、前記上面図データとに基づいて、前記指示を受け付けた任意のカメラ表示子のカメラの仮想撮影映像である三次元グラフィックスを再作成し、前記表示装置に表示させる処理とを、さらに含むこともできる。
【発明を実施するための最良の形態】
【００１４】
本発明の１実施形態のカメラ映像シミュレータプログラムは、コンピュータ、例えばパーソナルコンピュータで実行されるもので、パーソナルコンピュータの表示装置、例えば液晶表示装置の画面に、図１に示すような画像を表示する。なお、パーソナルコンピュータは、図示していないが、演算手段としてのＣＰＵ、記憶手段としてのメモリ、ハードディスク、ＣＤ−ＲＯＭまたはＤＶＤ−ＲＯＭドライバ、指示手段としてのキーボード、ポインティング手段としてのマウスやタブレット等を備えている。このプログラムは、記録媒体、例えばＣＤ−ＲＯＭまたはＤＶＤ−ＲＯＭに記憶され、この記録媒体からメモリまたはハードディスクに転送される。また、サーバからネットワークを経由してダウンロードすることも可能である。
【００１５】
液晶表示装置の画面には、ベースとなる窓２が表示されている。この窓２の左上部に、エリア表示部、例えば矩形の上面図窓４が表示されている。この上面図窓４内には、所定エリア、例えばカメラを設置しようとする領域、例えばビルの内外を表す上面図６が表示されている。この上面図６を表示するための画像データは、二次元画像データであり、図示していないが、ベース窓２に表示されているファイル読み込み用のタブをマウス等によって選択して、読み込まれたものである。読み込む画像データは、種々の画像形式に対応しており、例えば、当該ビルの管理者から受領したビル内のフロアの上面図或いは建築図面の画像データを取り込んだり、紙に印刷された上面図をスキャナで読み取って画像データとして取り込んだりすることができる。画像データとしては、例えばビットマップ形式やＪＰＥＧ形式の画像データを用いることができる。上面図窓４は、上面図６の一部のみを表示しており、上面図窓４に、上面図６の他の部分を表示する場合には、上面図窓４の下部にあるスライダ４ａを操作するか、上面図窓４上でポインタをドラッグ操作する。また、表示倍率を変更することによって、上面図全体を表示することも可能である。
【００１６】
上面図窓４の斜め下方には、カメラ選択窓８が表示されている。カメラ選択窓８には、複数のカメラ、例えばビデオカメラの型番と、そのカメラの使用場所（例えば屋内用、屋外用）と、最小画角と、最大画角とが、リスト形式で表示されている。カメラの型番と使用場所とからカメラの種類を特定することができる。これらリストの内容を判断して、所望のカメラの型番をマウス等で選択し、上面図６上の任意の位置にドラッグアンドドロップすると、カメラを表すシンボルであるカメラ表示子、例えばカメラ上面図表示子１０が上面図６上に、これに重ねて表示される。同時に、上面図窓４の下方に配置されている立面図窓１２内の立面図１４内にも、カメラを表すシンボルである別のカメラ表示子、例えばカメラ立面図表示子１６が表示される。
【００１７】
同時に、カメラ上面図表示子１０から伸びる水平視野表示子１８が上面図６上に表示され、カメラ立面図表示子１６から伸びる垂直視野表示子２０が立面図１４上に表示される。水平視野表示子１８は、カメラが撮影可能な撮影範囲を水平面に投影した水平視野を表したもので、垂直視野表示子２０は、カメラが撮影可能な撮影範囲を、その光軸が通る垂直面に投影した垂直視野を表したものである。
【００１８】
上面図窓４内には、実線でスケール表示子、例えばスケーラ２２が表示されている。スケーラ２２は、ユーザーのマウス操作により、移動伸縮自在であり、ユーザーは事前に上面図窓４内に表示されている既知の長さの部分（例えば、建物の長さ等）と、スケーラ２２を重ねる操作を行って、このスケーラ２２を何メートルとして認識するかを設定することができる。すなわち、上記既知の長さが１０ｍであれば、画面上でその既知の長さ部分と重ね合わせたスケーラ２２を１０ｍと設定することで、上面図画像と実寸との変換係数であるスケールが設定される。一方、立面図１４上に描いた基準面、例えば地面を表す地面表示子２４の上方に破線で描いた高さスケール表示子２６の地面表示子２４からの高さを何メートルとして認識するかを、事前にユーザーがマウス等を操作することによって設定することもできる。また、立面図１４ではカメラ立面表示子１６から地面表示子２４に垂直に表示されたカメラ位置表示子３０と、このカメラ位置表示子３０からの距離を表す目盛表示子３２、３２・・・が表示されている。
【００１９】
水平視野表示子１８及び垂直視野表示子２０は、カメラ上面表示子１０が上面図６に配置されたとき、予め定めた高さ、予め定めた俯角及び予め定めた方向にカメラが配置され、カメラは最大画角の状態にあると設定されて、表示されている。
【００２０】
水平視野表示子１８は、台形状に表示され、この台形の内側にある領域が撮影可能な範囲である。垂直視野表示子２０は、立面図１４に符号３４で示す光軸表示子を通り地面に垂直な面に投影したカメラの撮影範囲を示しており、地面表示子２４に近い近表示子２０ａと、地面表示子２４から遠い遠表示子２０ｂとを有している。この近表示子２０ａと遠表示子２０ｂと地面表示子２４とで囲われた範囲が撮影可能な範囲である。
【００２１】
カメラ上面表示子１０は、これをマウス等でクリックして任意の方向にドラッグすることによって、配置位置を変更することができ、これに応じて水平視野表示子１８の位置を自動的に再計算し、水平視野表示子１８をクリックして回転させることによって、カメラ上面表示子１０、それの方向（光軸表示子３４の方向）及び水平視野表示子１８の方向である水平設置角を変化させることができる。
【００２２】
カメラ立面表示子１６は、これをマウス等でクリックして上下方向にドラッグすることにより、カメラ立面表示子１６の高さ位置を変更することができる。また、垂直視野表示子２０をマウス等でクリックした状態で回転させることによって垂直設置角を変更することができる。
【００２３】
上記の説明では、カメラの画角は最大の場合を前提として説明したが、水平視野表示子１８または垂直視野表示子２０の縁をマウス等でクリックして、内側に向かって移動させることによって、画角を最小画角とした状態まで、水平視野表示子１８及び垂直視野表示子２０を連続的に変更することができる。逆に、最小画角とした状態から水平視野表示子１８または垂直視野表示子２０の縁をマウス等でクリックして、外側に向かって移動させることによって、画角を最大画角とした状態まで水平視野表示子１８及び垂直視野表示子２０を連続的に変更することができる。
【００２４】
カメラ選択窓８の下方には、撮影対象アイコン、例えば人物アイコン３６と車アイコン３８とが表示されている。人物アイコン３６または車アイコン３８をクリックして、上面図６にドラッグアンドドロップすると、撮影対象表示子、例えば人物上面表示子４０または車上面表示子４２が表示される。これら人物上面表示子４０または車上面表示子４２の配置位置及び方向は、ドラッグすることによって変更可能である。これらの配置位置が水平視野表示子１８内であると、立面図１４内に人物立面表示子４４または車立面表示子（図示せず）が表示される。また、ユーザーは、人物上面表示子４０または車上面表示子４２で、人物上面表示子４０が表す人物の身長及び車上面表示子４２が表す車の長さを入力することができる。人物上面表示子４０が表す人物の幅及び奥行寸法は、入力された身長に比例して設定され、同様に、車上面表示子４２が表す車の幅及び高さ寸法も車の長さに比例して予め設定される。従って、上述したように身長、車の長さを設定することによって、人物及び車の三次元データが全て揃う。
【００２５】
カメラ選択窓８の上部の３Ｄ映像表示窓４６に、水平視野表示子１８及び垂直視野表示子２０によって確定された撮影範囲に相当する仮想撮影映像である３Ｄ映像が表示される。この３Ｄ映像は、上述したカメラ上面表示子１０の配置位置及び方向と、カメラ立面表示子１６の配置位置から決定されたカメラの三次元座標の位置から、地面を見た状態を上面図を座標変換することによって得た画像を、上記水平視野表示子１８及び垂直視野表示子２０によって規定された範囲として表示したものである。この３Ｄ映像を得るアルゴリズムは、例えば次のようなものである。
【００２６】
上面図は二次元データである。二次元データは、三次元空間上では平面と考えることができる。この考えを利用して図３（ｂ）に示すように上面図が三次元空間上における高さ零の平面となるようなＸｗ、Ｙｗ、Ｚｗの直交する三軸で張られる三次元空間を構成する。更に、図３（ａ）に示す上面図の左下端点が三次元空間の原点０、上面図の右方向が＋Ｘｗ、上面図の上方向が＋Ｙｗ、上面図の奥から手前（図３（ａ）の紙面の裏面から表面）に向かう方向が＋Ｚｗとなるように、三次元空間を構成する。また、三次元空間の縮尺は、上面図と同じであるように構成する。
【００２７】
ここで、上述したような上面図、立面図上でのユーザーの操作によってカメラの設置情報が下記のように与えられているとする。
【００２８】
カメラの情報                値
カメラの上面図上の座標    ｕｃ、ｖｃ（ｐｉｘ）        上面図上で設定
カメラの高さ              ｈ（ｍｍ）                  立面図上で設定
カメラの水平設置角        θ（ｒａｄ）                上面図上で設定
カメラの垂直設置角        ρ（ｒａｄ）                立面図上で設定
上面図と実寸の変換係数    ｋ（ｐｉｘ／ｍｍ）          スケーラにより設定
カメラの水平画角          θｈ（ｒａｄ）              上面図上で設定
カメラの垂直画角          θｖ（ｒａｄ）              立面図上で設定
【００２９】
３Ｄ映像作成プログラムにおいて、例えば三次元グラフィックス作成のためのライブラリとしてＯｐｅｎＧＬを使用したものでは、カメラの三次元配置位置と注視点（上述した光軸の先端が撮影しようとする対象物と交差する点）、画角を設定すれば、カメラから見た三次元空間内の画を描画することができる。上記の条件においてカメラの三次元配置位置（ｘｃ、ｙｃ、ｚｃ）のうち、ｘｃ、ｙｃは、上面図上のカメラの座標（ｕｃ、ｖｃ）から
ｘｃ＝ｕｃ、ｙｃ＝ｖｃ
と求められる。ｚｃについては、立面図１４上で設定した高さｈ（ｍｍ）を用いる。しかし、上述したように三次元空間の縮尺は上面図と同じであるように構成しているので、ｚｃはピクセル単位で求めなければならない。このため、上面図上で設定したスケーラ２２を用いる。上面図上で設定したスケーラ２２により求めた変換係数ｋ（ｐｉｘ／ｍｍ）を用いて、ｚｃは、
ｚｃ＝ｈ＊ｋ
と求められる。これにより、三次元空間上において、上面図との位置関係を保持したカメラ位置を算出することができる。ここでは三次元空間の縮尺はピクセル単位に設定したが、スケーラ２２の設定を用いることによって、ミリ単位に設定することも可能である。
【００３０】
三次元空間内のカメラの注視点Ｏは、上記のカメラ位置ｘｃ、ｙｃ、ｚｃと水平設置角θ、垂直設置角ρを用いて計算する。ここで、注視点ＯはＸｗ−Ｙｗ平面上にあるとすると、点（ｘｃ、ｙｃ、０）から注視点Ｏまでの距離ｒは、
ｒ＝ｚｃ／ｔａｎρ
で求められる。注視点Ｏの座標（ｘｏ、ｙｏ、０）のうち、ｘｏ、ｙｏは、
ｘｏ＝ｘｃ＋ｒ・ｃｏｓθ
ｙｏ＝ｙｃ＋ｒ・ｓｉｎθ
で求められる。
【００３１】
更に、カメラの水平画角θｈ、垂直画角θｖも設定されている。ところで、通常カメラの水平画角と垂直画角は、一方を決定することで他方も従属的に決定される関係にある。よって、上記カメラの水平画角および垂直画角のうち、いずれかを設定するだけでよい。
従って、これらの三次元空間上で算出されたカメラ位置、注視点、画角を用いることによってユーザーが指定した設置条件を正確に反映したカメラのシミュレーション画像を生成することができる。
【００３２】
但し、人物上面表示子４０及び車上面表示子４２に対応する人物及び車に対しては上述したように三次元データが揃っているので、人物上面表示子４０や車上面表示子４２が水平視野表示子１８内に全部または一部入っている場合、人物立面表示子４４や車立面表示子が垂直視野表示子２０内に全部または一部入っている場合、これらに対応する像が３Ｄ映像表示部４６に三次元表示される。しかも、その像は、カメラから見た大きさに対応したものとして表示される。
【００３３】
従って、例えばカメラを監視用に使用しようとする場合、監視したい場所に人物上面表示子４０や車上面表示子４２を配置し、カメラ上面表示子１０の配置位置や方向を変更し、かつカメラ立面表示子１６の高さや俯角を調整することによって、人物や車をどのように撮影することができるかを、３Ｄ映像表示窓４６の表示から認識できる。また、人物上面表示子４０や車上面表示子４２をドラッグすることによって、移動する人物や車がどのように表示されるかを３Ｄ映像表示窓４６の表示から認識できる。
【００３４】
なお、上記の説明は、カメラ上面表示子１０を１つだけ表示する場合のものであるが、複数のカメラ上面表示子１０を同時に上面図６上に表示し、同時に複数のカメラの水平視野表示子１８を上面図６上に表示することもできる。この場合、立面図１４には、上面図でマウス等で選択されているカメラ上面図表示子１０に対応するカメラ立面表示子１６および垂直視野表示子２０が表示され、３Ｄ映像表示窓４６には、上面図においてマウス等で選択されているカメラ上面図表示子１０に対応する仮想撮影映像が表示される。
さらに、立面図１４および３Ｄ映像表示窓４６を複数用意し、複数のカメラに対応する立面図および三次元の仮想撮影映像を同時に表示することもできる。
【００３５】
また、この実施形態では、上述したような表示の他に、所望のカメラ配置位置にカメラを配置し、このカメラ撮影位置から、撮影対象物配置位置に配置されている撮影対象物を所望の大きさで撮影するために必要なカメラの水平及び垂直設置角度、画角を、自動的に設定することもできる。
【００３６】
例えば、図２に示すようにカメラで撮影したい位置である撮影対象物配置位置に人物上面表示子４０を配置し、また所望のカメラ設置位置にカメラ上面表示子１０を任意の方向を向いた状態で表示する。この状態で、カメラ上面表示子１０上でマウスを右クリックすると、複数の目標画角、例えば撮影対象物の上半分を撮影する目標画角、撮影対象物の全体を撮影する目標画角、撮影対象物の全体が画面の高さの１／２を占める状態で撮影する目標画角、撮影対象物の全体が画面の高さの１／３を占める状態で撮影する目標画角の合計４つの画角が表示されるので、そのうち所望の目標画角をクリックする。
【００３７】
これによって、カメラと撮影対象物との関連付けがなされ、カメラ上面表示子１０から図２に一点鎖線で示す関連づけ線表示子５８が表示される。この線表示子５８をマウスで人物上面表示子４０までドラッグして、人物上面表示子４０上でクリックすると、図２に矢印で示すように、カメラ上面表示子１０が人物上面表示子４０側を向き、指定された目標画角によって撮影する撮影範囲が水平視野表示子１８によって表示される。また、図示していないが、指定された目標画角で撮影する撮影範囲が垂直視野表示子２０によって表示される。これに併せて３Ｄ映像表示窓４６には、指定された目標画角で人物を撮影した状態を３Ｄグラフィックスでシミュレーションした仮想撮影映像が、表示される。なお、カメラ上面表示子１０と人物上面表示子４０とを関連づけるのは、複数のカメラ上面表示子１０や複数の人物上面表示子４０とが上面図６上に表示されている場合に、どのカメラ上面表示子１０が表すカメラで、どの人物上面表示子４０が表す人物を撮影するかを決定するためである。また、車上面表示子４２でも同様にできる。
【００３８】
上記のようにカメラ上面表示子１０が人物上面表示子４０側を向き、指定された画角で撮影する撮影範囲が水平視野表示子１８によって表示されている状態において、例えば上面人物表示子４０をマウスでドラッグすると、上面人物表示子４０の移動に従って、カメラ上面表示子１０が表すカメラが、設定された目標画角を維持した状態で、人物の撮影を継続できるように、カメラの水平及び垂直設置角度及び画角が変更され、その変更に伴って３Ｄ映像表示窓４６の仮想撮影映像が変更される。同様にカメラ上面表示子１０をマウスでドラッグすると、上面人物表示子４０が表す人物をカメラが設定された画角を維持した状態で撮影を継続できるように、カメラ上面表示子１０の水平及び垂直設置角度が変更され、その変更に伴って３Ｄ映像表示窓４６の仮想撮影映像が変更される。
【００３９】
以下、上述したような表示を行うためには、カメラ上面表示子１０または上面人物表示子４０の移動に従って、設定された目標画角を維持した状態で人物の撮影を継続できるようなカメラの水平設置角度、垂直設置角度及び画角を自動的に求める必要がある。これらを求めるアルゴリズムについて説明する。
【００４０】
図５において、ユーザーがカメラ上面表示子１０またはカメラ立面表示子１６の位置をマウス等の操作によって変更して、カメラの設置位置Ｃが定められ、上述したようにして、三次元空間上の座標（ｘｃ、ｙｃ、ｚｃ）が取得されているとする。同様に、ユーザーが人物上面表示子４０または人物立面表示子４４の位置をマウス等の操作によって変更して、人物の位置が定められ、その人物の足元の三次元空間上の座標（ｘｏ、ｙｏ、０）が取得されているとする。また人物の高さＨｏがユーザーの設定若しくはプログラム既定値によって与えられているとする。
【００４１】
カメラは、人物上の注視点Ｏ（ｘｏ、ｙｏ、ｚｏ）を注視するものとする。注視点Ｏの高さｚｏは、上述した撮影対象物の上半分を撮影するか、撮影対象物の全体を撮影するか等の目標画角の設定によって定まる。例えば撮影対象物の全体を撮影する場合には、ｚｏ＝Ｈｏ／２とし、撮影対象物の上半分を撮影する場合には、ｚｏ＝Ｈｏ＊３／４とする。今、ｚｏ＝Ｈｏ／２とする。
【００４２】
カメラの水平設置角θを＋Xｗ軸方向を基準とした角度とすると、ｔａｎθは、
ｔａｎθ＝［（ｙｏ−ｙｃ）／（ｘｏ−ｘｃ）］
であるので、
θ＝ｔａｎ−１［（ｙｏ−ｙｃ）／（ｘｏ−ｘｃ）］
と求まる。
【００４３】
次に、垂直設置角ρを求める。垂直設置角ρは、カメラの設置位置Ｃを通りＸｗ−Ｙｗ平面に平行な面に対し、カメラの設置位置Ｃと注視点Ｏとを結ぶ直線が成す角となる。ここで、カメラの設置位置からＸｗ−Ｙｗ面に立てた垂線と、この垂線に向かって注視点Ｏから伸ばした直線との交点をＰ’とする。なお、この垂線のＸｗ−Ｙｗ平面への交点をＰ点とする。垂直設置角ρは、角ＣＯＰ’に等しいので、角ＣＯＰ’を求めればよい。ｔａｎＣＯＰ’は、Ｐ’Ｏ間の距離をｒとすれば、
ｔａｎＣＯＰ’＝（ｚｃ−ｚｏ）／ｒ
で求められる。距離ｒは、図５から明らかなように、
ｒ＝［（ｘｏ−ｘｃ）２＋（ｙｏ−ｙｃ）２］１／２
で求められる。従って、ρは、
ρ＝ｔａｎ―１［（ｚｃ−ｚｏ）／ｒ］
で求められる。
【００４４】
次に、カメラに設定する画角を算出する。ここで、上述したような目標画角を満足するように、垂直画角θｖを図６を用いて導出する。このとき、撮影対象となる人物の全体像が画面の高さ一杯に映るように目標画角が設定されているとすると、図６に示すように注視点Ｏを中心にして、人物の身長Ｈｏをピクセル値に換算した長さＶの範囲が撮影されるように画角を算出すればよい。このとき、Ｖは線分ＯＣと直角であるように設定すると、垂直画角θｖは、画面の中央を通る縦方向の線分の両端とカメラの座標位置Ｃとの間の角度となる。従って、ｔａｎ（θｖ／２）は、
ｔａｎ（θｖ／２）＝（Ｖ／２）／ＯＣ
で求められる。線分ＯＣは、上述したｒの二乗ｒ２と（ｚｏ−ｚｃ）の二乗（ｚｏ−ｚｃ）２との和の平方根で求められる。従って、θｖ／２は、
θｖ／２＝ｔａｎ―１｛（Ｖ／２）／［（ｘｏ−ｘｃ）２＋（ｙｏ−ｙｃ）２＋（ｚｏ−ｚｃ）２］−１／２｝
で求められる。
【００４５】
このようにして求められた垂直画角θｖ及び水平設置角度θ、垂直設置角ρ、設置位置に従って３Ｄグラフィックスが作成され、３Ｄ映像表示窓４６に表示される。
【００４６】
このようにして垂直画角を決定すると、カメラの垂直設置角ρによらず、常に画面の縦方向が長さＶの大きさで撮影することができ、例えば撮影対象物がカメラの真下にいる場合でも、垂直画角θｖが零にならず、撮影対象物を映すことができる。但し、垂直設置角ρが大きくなるに連れて、撮影対象物の映り方が所望の大きさに比べて小さくなる。そこで、図７に示すように撮影対象物が画面の縦一杯に映るような垂直画角θｖを定めることもできる。この手法では、垂直設置角ρが大きくなっても、撮影対象物は、設定された大きさで映される。
【００４７】
図７において、人物の足元の座標をＯ’とし、角Ｏ’ＣＰをθｂとすると、垂直設置角ρを用いることによって、θｖ／２は、
θｖ／２＝（π／２−ρ）−θｂ
で表される。ｔａｎθｂは、
ｔａｎθｂ＝ｚｃ／ｒ
であるので、θｂは、
θｂ＝ｔａｎ―１（ｚｃ／ｒ）
で表される。ｒは上述したように、
ｒ＝［（ｘｏ−ｘｃ）２＋（ｙｏ−ｙｃ）２］１／２
であるので、θｂは、
θｂ＝ｔａｎ―１｛ｚｃ／［（ｘｏ−ｘｃ）２＋（ｙｏ−ｙｃ）２］−１／２｝
で求められる。従って、θｖ／２は、
θｖ／２＝（π／２−ρ）−（ｔａｎ―１｛ｚｃ／［（ｘｏ−ｘｃ）２＋（ｙｏ−ｙｃ）２］−１／２｝）
で求められる。
【００４８】
この手法では、垂直設置角ρの大きさによらず、撮影対象物が画面の縦一杯に映るように画角を設定することができる。ただし、垂直設置角が大きくなるにつれて垂直画角θｖが小さくなり、カメラが真下を向いたときには零になる。
【００４９】
上述のように、２つの手法は垂直設置角ρに応じてそれぞれ長所・短所があるので、どちらかの手法をユーザーが選択できるようにしてもよいし、予め定めた垂直設置角ρ、例えば４５度以下の場合は後者の手法が自動的に選択され、４５度以上の場合は前者の手法が自動的に選択されるようにすることもできる。
【００５０】
このようにして求めた垂直画角θｖを用いて、上述したのと同様にして３Ｄグラフィックスが作成され、３Ｄ映像表示窓４６に表示される。
【図面の簡単な説明】
【００５１】
【図１】本発明の１実施形態のカメラ設置シミュレータプログラムに基づいてコンピュータが表示している画像を示す図である。
【図２】図１の画像の一部拡大図である。
【図３】実施形態のカメラ設置シミュレータプログラムによって上面図と三次元空間との関連の説明図である。
【図４】図３の三次元空間におけるカメラの設置位置及び注視点の算出法の説明図である。
【図５】同実施形態のカメラ設置シミュレータプログラムによってシミュレーションするためのカメラの水平設置角度と垂直設置角度を求める手法の説明図である。
【図６】実施形態のカメラ設置シミュレータプログラムによってシミュレーションするためのカメラの垂直画角を求める手法の一例の説明図である。
【図７】実施形態のカメラ設置シミュレータプログラムによってシミュレーションするためのカメラの垂直画角を求める手法の他の例の説明図である。
【符号の説明】
【００５２】
４  上面図表示窓
６  上面図
１０  カメラ上面表示子
１２  立面図表示窓
１４  立面図
１６  カメラ立面表示子
１８  水平視野表示子
２０  垂直視野表示子
【図１】
0005461782.tif 000002
【図２】
0005461782.tif 000003
【図３】
0005461782.tif 000004
【図４】
0005461782.tif 000005
【図５】
0005461782.tif 000006
【図６】
0005461782.tif 000007
【図７】
0005461782.tif 000008