(57)【要約】【課題】必要な像高特性を有する仮想環境の広い視野の画像を、表示に支障を生じない時間内に合成する広視野分割合成方法、そのためのプログラム及び記録媒体を提供することにある。【解決手段】部分によって解像度が異なると共に広視野をカバーする仮想環境の複数の合成画像を、透視投影画像を元画像として前記解像度に対応した像高特性に基づいて画素変換することにより合成する広視野分割合成方法であって、前記広視野の合成画像を、広視野を複数に分割し、分割した複数の視野のそれぞれをカバーする複数の前記元画像を生成し、個々の分割した視野を該視野をカバーする前記元画像に基づいて画素変換する手順からなること。【選択図】  図１
2004152047.tif 000002
【特許請求の範囲】
【請求項１】
部分によって解像度が異なると共に広視野をカバーする仮想環境の複数の合成画像を、透視投影画像を元画像として前記解像度に対応した像高特性に基づいて画素変換することにより合成する広視野分割合成方法であって、
前記広視野の合成画像を、広視野を複数に分割し、分割した複数の視野のそれぞれをカバーする複数の前記元画像を生成し、個々の分割した視野を該視野をカバーする前記元画像に基づいて画素変換する手順からなることを特徴とする広視野分割合成方法。
【請求項２】
前記分割した個々の視野への変換を、分割視野内での解像度の違いを考慮して、解像度の高い部分だけをカバーする高い解像度の元画像と、分割視野全体をカバーする低い解像度の元画像の２つの解像度の異なる元画像から変換する手順からなることを特徴とする請求項１記載の広視野分割合成方法。
【請求項３】
部分によって解像度が異なる広い視野をカバーする仮想環境の画像を複数の透視投影画像から変換して合成処理する広視野分割合成方法であって、分割した視野ごとに並列に合成処理することを特徴とする請求項１又は２項記載の広視野分割合成方法。
【請求項４】
広視野分割画像の合成処理をコンピュータに実行させるプログラムであって、合成処理プログラムは、請求項１乃至３のいずれか１項記載の手順をコンピュータに実行させることを特徴とする合成処理プログラム。
【請求項５】
広視野分割画像の合成処理をコンピュータに実行させる合成処理プログラムを記録した記録媒体であって、前記合成処理プログラムは、
請求項１乃至３のいずれか１項記載の手順をコンピュータに実行させることを特徴とする合成処理プログラムを記録した記録媒体。
【請求項６】
合成の要求を出し、合成された画像を受け取る要求手段と、前記要求手段の視点位置、視線方向を管理し、前記要求手段の要求を合成手段に中継する中継手段と、前記要求手段の要求を受けて担当する分割視野の画像を合成する合成手段と、仮想環境データおよび画素変換等のデータを記憶している記憶手段からなる画像生成システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、仮想環境の画像を合成する方法及びシステム並びにプログラムに関する。特に、部分によって解像度が異なる広い視野の画像を効率よく安価に合成するに必須の技術であり、透視投影カメラだけでなく、魚眼カメラ、全方位カメラなど様々な撮像系をシミュレートできる。
【０００２】
【従来の技術】
仮想環境の画像合成は、コンピュータ・グラフィクスの分野で行なわれ、３次元物体を２次元で表現する必要から、一般には透視投影あるいは直方投影が前提とされてきた。
前記平行投影は、ある面に対して、３次元の形を垂直にそのまま押し付けるようにして投影する方法で、その中で簡単なものに正投影がある。ｘ−ｙ平面（他の平面でも同様）を投影面とすると、正投影はＺ座標を０（ゼロ）とすることにより簡単に得ることができる。
また、前記透視投影は、視点から形へと視線を伸ばし、その視線とスクリーンの交点に形を描画します。この透視投影は、３次元物体を眺めた場合、近くが大きく、遠方が小さく見える効果を表現できる。
一方、最近ではＶＲ（バーチャルリアリテイ：人間に対して仮想世界を現実のように提示すること）の需要に応じて、広い視野の画像を合成する技術（例えば、特許文献１参照。）もあるが、大量の計算を高速に処理するために大規模な計算機を用いている。
【特許文献１】
特開２００２−１３１８３５号広報
【０００３】
【発明が解決しようとする課題】
このため、広い視野の画像を合成する際、従来の透視投影あるいは直方投影をそのまま用いると画像の合成が間に合わず、使い勝手が悪く、また、大規模なハードウエアを必要とする問題があった。
本発明は、上記問題点に鑑み、必要な像高特性を有する仮想環境の広い視野の画像を、表示に支障を生じない時間内に合成する広視野分割合成方法、そのためのプログラム及び記録媒体を提供することにある。
【０００４】
【課題を解決するための手段】
本発明の広視野分割合成方法、そのためのプログラムおよび記録媒体は、基本的には、広い視野を複数に分割し、分割した複数の視野の各々を解像度に応じてカバーする複数の透視投影画像を高速に生成し、生成した透視投影画像から個々の分割した視野の画像への変換を並列に実行する手順に特徴を有する。
以下、本発明の課題を解決する手段を説明する。
（１）  部分によって解像度が異なると共に広視野をカバーする仮想環境の複数の合成画像を、透視投影画像を元画像として前記解像度に対応した像高特性に基づいて画素変換することにより合成する広視野分割合成方法であって、
前記広視野の合成画像を、広視野を複数に分割し、分割した複数の視野のそれぞれをカバーする複数の前記元画像を生成し、個々の分割した視野を該視野をカバーする前記元画像に基づいて画素変換する手順からなることを特徴とする。
ここで「画素変換」とは、変換後の画像の１画素に対応する変換前の画像の該当領域の画素値（輝度値等）等の属性を当該領域の面積で重み付けして変換後の画像の１画素の属性として置き換える処理を意味する。
この手順によって、安価な市販のグラフィクスボード等により高速に合成することができる透視投影画像を元画像として、画素変換することにより仮想環境の広視野の画像を高速に合成することができる。
この手順により、元画像を分割した分割視野の合成を複数台のコンピュータで並列に合成できるので、広視野の画像全部を一台の計算機で合成するのに比べ高速に合成することができる。
（２）  本発明の広視野分割合成方法は、上記（１）に記載の広視野分割合成方法において、前記分割した個々の視野への変換を、分割視野内での解像度の違いを考慮して、解像度の高い部分だけをカバーする高い解像度の元画像と、分割視野全体をカバーする低い解像度の元画像の２つの解像度の異なる元画像から変換する手順からなる。
この手順により、合成画像に必要な元画像のサイズを小さくすることが可能になる。もし、この手順を用いないと、合成画像の高解像度にあわせて分割視野全体をカバーする元画像を作成するととんでもなく大きな透視投影画像が必要になる。
（３）  本発明の広視野分割合成方法は、上記（１）又は２項に記載の広視野分割合成方法において、部分によって解像度が異なる広い視野をカバーする仮想環境の画像を複数の透視投影画像から変換して合成処理する広視野分割合成方法であって、分割した視野ごとに並列に合成処理する手順からなる。
この手順によって、分割した視野毎の画像処理を並列に行うことができるので、処理速度を高めることができ、従って、広視野の画像の表示に支障が生じない時間内での合成が可能となる。
（４）広視野分割画像の合成処理をコンピュータに実行させるプログラムであって、合成処理プログラムは、上記（１）乃至（３）のいずれか１項記載の手順をコンピュータに実行させるプログラムにある。
（５）合成処理プログラムを記録した記録媒体において、広視野分割画像の合成処理をコンピュータに実行させる合成処理プログラムを記録した記録媒体であって、前記合成処理プログラムは、上記（１）乃至（３）のいずれか１項記載の手順をコンピュータに実行させる記録媒体にある。
（６）画像生成システムを、合成の要求を出し、合成された画像を受け取る要求手段と、前記要求手段の視点位置、視線方向を管理し、前記要求手段の要求を合成手段に中継する中継手段と、前記要求手段の要求を受けて担当する分割視野の画像を合成する合成手段と、仮想環境データおよび画素変換等のデータを記憶している記憶手段から構成する。
具体的には、クライアントコンピュータと、環境シミュレータと、複数のレンダリングノードと、モデルデータメモリとからなり、クライアントコンピュータの情報によってシステム全体に広視野の画像を分割して解像度に応じて合成する設定を行い、クライアントコンピュータによって環境シミュレータにレンダリング要求を出力した時、環境シミュレータによって各レンダリングノードにレンダリング要求を出して、各レンダリングノードがモデルデータメモリの仮想環境の状態に応じて分割視野の画像を合成し、クライアントコンピュータによって各レンダリングノードから分割画像を取得する。
【０００５】
【発明の実施の形態】
以下、本発明の実施の形態を図に基づいて詳細に説明する。
たとえば、複雑な環境内を移動し作業するロボットの視覚に要求されるタスクには，壁面の文字を読むように高い解像度の画像入力を必要とするタスクもあれば、障害物回避のようにできるだけ広い視野の画像入力を要するタスクもある。これらの要求を同時にみたすために、高い解像度の１枚の透視投影画像で大きな視野をカバーしようとすると必要な画素が膨大な数になる。例えば、１ｍ前方の１ｃｍ四方の文字を読める程度の解像度で１２０度の視野をカバーする透視投影画像は一辺４０００画素になる。このように大きな画像を入力し処理するには非常に高価で規模の大きい装置が必要であり、例えばロボットに搭載することは現実的でない。これに対して１枚の画像内で、一部のみ解像度を高くし、その他の部分は解像度を低くすれば、広い視野の情報と、部分的に高い解像度の情報を１枚の現実的な大きさの画像で得ることができる。
通常の透視投影系に対して、魚眼レンズのように歪曲収差を与えることにより広い視野を小さい画像に投影できる。さらに、視野の部分において歪曲収差の大小を調整できるので、視野の一部で解像度が高く、その他の部分で解像度が低い画像を入力できる。図３は、そのような投影系の一例の歪曲収差を定義する像高特性を示す図である。図３において、横軸はｉｎｃｉｄｅｎｔ  ａｎｇｌｅ（ｄｅｇｒｅｅ）入射角度（度）を表し、縦軸はｉｍａｇｅ  ｈｅｉｇｈｔ（ｍｍ）像高（ミリメートル）を表す。この像高特性は入射角度０（ゼロ）から５度近辺までは約０．１６６（ｍｍ／度）の傾きで立ち上がり、入射角度約１８から６０度までは約０．０２４（ｍｍ／度）の傾きで伸びる。
この投影系によれば水平方向の視野角度約１２０度が１／３インチＣＣＤに相当するサイズの画像に投影される。さらにこれを、５１２ｘ４８０画素の画像として読み込むと、水平方向の解像度変化は図４となる。
図４では、横軸はＰｉｘｅｌ  ｃｏｏｒｄｉｎａｔｅ（ｐｉｘｅｌ）画素座標（画素）で、縦軸はＲｅｓｏｌｕｔｉｏｎ（ｐｉｘｅｌ／ｄｅｇ）解像度（画素／度）を表し、特性は画素座標が０（ゼロ）から５０までは解像度が２０に近い一定値をとり、画素座標５０から１５０の間は解像度２０から２．５近辺の値へなだらかに垂れ下がる特性をとり、画素座標１５０から２５０近辺の間は２．５近辺の一定値をとる特性となる。
つまり５１２ｘ４８０画素の画像で、中心から半径５０画素あたりまでは２０画素／度という高い解像度で、１２０度という広い視野の画像入力を実現している。
このような投影系により得られる実世界の画像をシミュレーションできることは、投影系や画像処理アルゴリズムの設計にとって重要である。
このため、ロボットが動き回る環境を忠実にモデル化した仮想環境において、任意の視点と視線方向から眺めた広い視野を、与えられた像高曲線にしたがった部分的に解像度の異なる画像として、表示に支障のない時間で合成する機能が求められる。
コンピュータグラフィクスの分野において仮想環境の画像を合成する技術が標準化され、それをハードウェアで実現したグラフィクスボードが安価に入手可能である。ただし、画像合成は透視投影にしたがう。よって、グラフィクスボードにより高速に合成できる仮想環境の透視投影画像を元画像として、与えられた像高曲線にしたがった画素変換により、部分的に解像度の異なる広視野の画像を合成する。
【０００６】
（視野分割合成）
ところが、部分的に解像度の異なる広視野の画像を合成するために、一部の高い解像度にあわせて透視投影である元画像を合成すると、その大きさは膨大になる。例えば、図３の像高曲線に基づく画像の元画像のためには、解像度が約２０画素／度以上で視野角度約１２０度の透視投影画像が必要であり、これは少なくとも水平方向約４０００画素の画像となり、一般的なグラフィクスボードでは合成できない。これを回避するために、本発明では、視野角を分割して合成する。画像分割時、水平方向の視野１２０度を１枚の透視投影画像でカバーしようとすると、４０００画素以上必要であったが、２等分して水平方向の視野６０度とすると、それをカバーする透視投影画像は約１３００画素となる。このように、分割による効果は非常に大きく、分割数を増やすにしたがって、全視野を合成するために必要なトータルな画素数は減少していく。ただし、画像合成に要する処理量は画素数に比例する部分のほかに、合成回数に比例するオーバヘッド部分などがあり、これらは合成に使用するソフトやハードに依存するため、最適な分割数は一般的には決まらない。
【０００７】
（解像度分担合成）
広い視野の画像を分割した視野に、解像度の高い部分と低い部分が混在する場合、これを高い解像度の１枚の透視投影画像を元画像として合成するのは無駄が多い。ここでは、解像度の高い部分だけをカバーする高解像度の透視投影画像と、分割視野全体をカバーする低解像度の透視投影画像を用いる。図２（ａ）（ｂ）は（ｃ）に示した左右２分割された左側視野を合成するための、高解像度透視投影画像（３８２ｘ７０５画素）と、低解像度透視投影画像（４３０ｘ６７４画素）である。左側視野の半円で囲まれた内側の画素は高解像度画像から、外側の画素は低解像度画像から計算している。半円で示した分割のための視野角の閾値は、合成に必要な２枚の透視投影画像の合計面積を最小にする値を求め用いる。
【０００８】
（画素変換）
合成する画像の大きさと像高曲線、さらに、分割数を与えると、元画像の大きさ、および元画像と合成画像の幾何学的関係が決まる。図５（ａ）は視野全体を左右に分割した右視野の合成画像と、それを合成するための元画像との関係を図示している。この関係から、図５（ｂ）に示す合成画像の１画素の４頂点を元画像上に座標変換すると、図５（ｃ）のようになる。実際には合成する画像の１画素を構成する４辺は元画像上では直線とはならないが、これを直線で近似し、合成する画像の１画素の元画像上に変換したものを、図５（ｃ）のように４頂点で囲まれる四角形領域で近似するものとして、合成画像上の１画素の輝度値を求める。具体的には、この領域に含まれる各画素の輝度値を面積比で重み付け平均した値を計算する。合成画像の各画素について、輝度値を計算するための元画像の画素の集合と、重み付き平均を計算するための各画素の重みは、合成する視野の視点や視線方向が変化したり、仮想環境が変化しても変わらない。
【０００９】
（画像合成）
仮想環境において、合成したい視野の視点と視線方向を与えると、分割視野を合成するための複数の透視投影画像がグラフィクスボードにより生成されるので、前記画素変換にしたがって、合成画像の各画素の輝度値を元画像の輝度値から計算することにより画像を合成する。
【００１０】
（画像生成システム）
図１は、本発明の画像生成システムの構成の概略図である。
本発明の画像生成システムは、合成の要求を出し、合成された画像を受け取る要求手段となるクライアントコンピュータ（Ｃｌｉｅｎｔ）１、クライアントコンピュータ１の視点位置、視線方向を管理し、クライアントコンピュータ１の要求をレンダリングノードに中継する中継手段となる環境シミュレータ（Ｅｎｖｉｒｏｎｍｅｎｔ  Ｓｉｍｕｌａｔｏｒ）２、クライアントコンピュータ１の要求を受けて担当する分割視野の画像を合成する合成手段となる各レンダリングノード（  Ｒｅｎｄｅｒｉｎｇ  Ｎｏｄｅ）３−１〜３−３、仮想環境データおよび画素変換等のデータを記憶している記憶手段となるモデルデータメモリ（Ｍｏｄｅｌ  Ｄａｔａ）４からなる。
【００１１】
（システムの動作）
システムの起動時に、環境サーバー２はモデルデータメモリ４から使用する仮想環境データを読出し、使用するクライアントコンピュータ１をセットアップする。クライアントコンピュータ１のセットアップでは、クライアントコンピュータ１が持つ合成画像の大きさ、像高曲線、および、分割数の情報から、各分割視野を担当するレンダリングノード３−１〜３−３が起動され、レンダリングノード３−１〜３−３のセットアップが行なわれる。レンダリングノード３−１〜３−３の起動では、各レンダリングノードを使用できる複数のコンピュータに順繰りに割り振る。したがって、レンダリングノードの個数と、コンピュータの台数は一致していなくてよい。レンダリングノード３−１〜３−３のセットアップでは、担当する分割視野の画像を合成するための元画像の大きさや画素変換、さらに、仮想環境の状態を各レンダリングノード３−１〜３−３にセットする。
クライアントコンピュータ１が、合成する視野の視点位置と視線方向の情報とともに合成の要求を環境シミュレータ２に出すと環境シミュレータ２は仮想環境データの状態の更新を各レンダリングノード３−１〜３−３に伝える。
次に、環境シミュレータ２は各レンダリングノード３−１〜３−３にレンダリング要求を出す。各レンダリングノードは初期セットアップにしたがい、更新した仮想環境の透視投影画像であるところの元画像を生成し、初期セットアップした画素変換にしたがい分割合成画像の各画素の輝度値を計算し、担当する分割視野の画像を合成する。その後、合成できた分割画像をクライアントに送る。
クライアントコンピュータ１は各レンダリングノード３−１〜３−３から分割視野の合成画像取得する。
【００１２】
【発明の効果】
以上説明したように、本発明においては、以下の効果を得ることができる。
（１）  部分によって解像度が異なると共に広視野をカバーする仮想環境の複数の合成画像を、透視投影画像を元画像として前記解像度に対応した像高特性に基づいて画素変換することにより合成する広視野分割合成方法であって、
前記広視野の合成画像を、広視野を複数に分割し、分割した複数の視野のそれぞれをカバーする複数の前記元画像を生成し、個々の分割した視野を該視野をカバーする前記元画像に基づいて画素変換する手順により、例えば、広い視野の仮想環境の画像を観察できると共にその視野画像の内の注視しなければならない視野領域の解像度を高めることができ、また、その逆に広い視野の画像における周辺部の解像度を中心部に対して高め、次に回転する方向を精度よく観察することができるようになる。
また、普通に取得できる透視投影画像を元画像として、仮想環境の広視野の合成画像を、安価な市販のグラフィクスボード等により高速に合成することができる。
また、元画像を分割し、該分割画像を前記画素変換するので、仮想環境の広視野の画像全部を一度に変換するのに比べ高速に変換処理することができる。
（２）  上記（１）記載の広視野分割合成方法において、前記分割した個々の視野への変換を、分割視野内での解像度の違いを考慮して、解像度の高い部分だけをカバーする高い解像度の元画像と、分割視野全体をカバーする低い解像度の元画像の２つの解像度の異なる元画像から変換する手順により、仮想環境の画像における解像度の高い画像のみを高解像度で作ることができるので、少ない処理時間で必要な画像を形成できる。
（３）  上記（１）又は（２）項に記載の広視野分割合成方法において、部分によって解像度が異なる広い視野をカバーする仮想環境の画像を複数の透視投影画像から変換して合成処理する広視野分割合成方法であって、分割した視野ごとに並列に合成処理する手順によって、分割した視野毎の画像処理を並列に行うことができるので、処理速度を高めることができ、従って、広視野の画像の処理が可能となる。
（４）  合成処理プログラムを、上記（１）乃至（３）のいずれか１項記載の手順をコンピュータに実行させるプログラムとしたので、プログラムの実行により前記合成処理方法を確実に実行することができる。
（５）  合成処理プログラムを記録した記録媒体を、広視野分割画像の合成処理をコンピュータに実行させる合成処理プログラムを記録した記録媒体としたので、前記合成処理プログラムの実行により、上記（１）乃至（３）のいずれか１項記載の手順をコンピュータに実行させることができる。
（６）合成の要求を出し、合成された画像を受け取る要求手段と、前記要求手段の視点位置、視線方向を管理し、前記要求手段の要求を合成手段に中継する中継手段と、前記要求手段の要求を受けて担当する分割視野の画像を合成する合成手段と、仮想環境データおよび画素変換等のデータを記憶している記憶手段からなる画像生成システムとしたので、分割画像を並列処理でき、また、分割画像を短い時間で合成することができる。
【図面の簡単な説明】
【図１】本発明の画像生成システムを示す図である。
【図２】本発明の解像度の異なる分割画像を合成する処理を説明する図である。
【図３】本発明の解像度の異なる広い視野の像高曲線を示す図である。
【図４】本発明の解像度の異なる広い視野の解像度曲線を示す図である。
【図５】本発明の画素変換を説明する図である。
【符号の説明】
１    Ｃｌｉｅｎｔ（クライアントコンピュータ）
２    Ｅｎｖｉｒｏｎｍｅｎｔ  Ｓｉｍｕｌａｔｏｒ（環境シミュレータ）
３−１、３−２、３−３    Ｒｅｎｄｅｒｉｎｇ  Ｎｏｄｅ（レンダリングノード）
４    Ｍｏｄｅｌ  Ｄａｔａ（モデルデータメモリ）
【図１】
2004152047.tif 000003
【図２】
2004152047.tif 000004
【図３】
2004152047.tif 000005
【図４】
2004152047.tif 000006
【図５】
2004152047.tif 000007