(57)【特許請求の範囲】
【請求項１】
シーン内を移動している物体の一連の画像を定義する画像データを処理して、前記シーン内での物体の位置に対応する三次元コンピュータモデル内の複数の位置における前記物体の表現を定義する信号を発生する画像処理装置であって、
ユーザによる前記三次元コンピュータモデルに対応する画像に対する複数点の指定に応じて、前記画像の静的背景の水平表面を三次元コンピュータモデル内の静的背景の水平平面に変換する変換値を算出して、前記画像と前記三次元コンピュータモデルとの間の変換を定義する設定手段と、
複数の画像の前記画像データを処理して、前記画像内の前記物体の境界を表わす各画像のそれぞれの多角形を定義する第１処理手段と、
前記物体のそれぞれの位置を表す少なくとも１つの平面状表面を三次元コンピュータモデル内で定義する第２処理手段であって、前記算出された変換値を用いて前記画像内の前記物体の境界を表わす前記多角形を三次元コンピュータモデル内に投影し、各平面状表面を、三次元コンピュータモデル内の前記静的背景の水平表面上にある底辺と、前記画像内の前記物体の境界を表わす前記多角形のそれぞれ１つに対応する位置及びサイズとで定義し、三次元コンピュータモデル内の前記静的背景の水平表面に対して垂直平面内にあるように定義する第２処理手段と、
前記画像データに応じて前記物体の形状を表すために、前記平面状表面のテクスチャデータを生成する第３処理手段とを含むことを特徴とする画像処理装置。
【請求項２】
前記第２処理手段が、前記平面状表面の幅が前記画像データ中の境界の多角形の幅で定義され、前記平面状表面の高さが前記画像データ中の境界の多角形のアスペクト比を使って決定されるように、前記平面状表面を定義するよう構成されることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記物体の境界を表わす多角形が矩形であることを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記矩形の辺が画像の辺に平行であることを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記第２処理手段が、１つの前記平面状表面が、前記三次元コンピュータモデル内の物体の各位置を表わすように定義されるよう構成されることを特徴とする請求項１乃至４のいずれか１項に記載の画像処理装置。
【請求項６】
前記第２処理手段が、複数の接続された平面状表面が前記三次元コンピュータモデル内の物体の各位置を表わすために定義されるよう構成されることを特徴とする請求項１乃至５のいずれか１項に記載の画像処理装置。
【請求項７】
前記境界多角形内で前記物体の位置を定義するマスクを抽出するために前記画像データを処理する手段を更に含むことを特徴とする請求項１乃至６のいずれか１項に記載の画像処理装置。
【請求項８】
前記三次元コンピュータモデルを創出する手段を更に含むことを特徴とする請求項１乃至７のいずれか１項に記載の画像処理装置。
【請求項９】
観察方向から前記三次元コンピュータモデルの画像用の画像データを作成するため、前記平面状表面上にテクスチャデータをレンダリングする手段を更に含むことを特徴とする請求項１乃至８のいずれか１項に記載の画像処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、三次元コンピュータ・モデルの動画で（複数の）物体の表現を生成するために、動画を表示するデータを処理する画像処理装置に関するものである。
【０００２】
【従来の技術】
現在、ビデオから生成される画像やその他の動画の内容、即ちデータは、そのデータを取り込むカメラの視野特性に依存する。より詳細には、観察者が物体を見る位置は、そのシーンをカメラが観察する位置及び観察する方向によって決定される。
【０００３】
この制約の解決策として、ビデオデータを使用してシーンの動的三次元コンピュータモデルを作り出し、所望のどの観察方向からもシミュレーションされた眺めを生成してユーザに表示することのできる、対話式システムが提案されてきている。
【０００４】
【発明が解決しようとする課題】
本発明は、このような対話式システムを実現するための画像処理装置を提供することを目的とする。すなわち、ビデオ画面内を移動する物体を確実に効率よく三次元コンピュータモデル内に表現可能とする画像処理装置を提供する。
【０００９】
【課題を解決するための手段】
この課題を解決するために、本発明の画像処理装置は、シーン内を移動している物体の一連の画像を定義する画像データを処理して、前記シーン内での物体の位置に対応する三次元コンピュータモデル内の複数の位置における前記物体の表現を定義する信号を発生する画像処理装置であって、ユーザによる前記三次元コンピュータモデルに対応する画像に対する複数点の指定に応じて、前記画像の静的背景の水平表面を三次元コンピュータモデル内の静的背景の水平平面に変換する変換値を算出して、前記画像と前記三次元コンピュータモデルとの間の変換を定義する設定手段と、複数の画像の前記画像データを処理して、前記画像内の前記物体の境界を表わす各画像のそれぞれの多角形を定義する第１処理手段と、前記物体のそれぞれの位置を表す少なくとも１つの平面状表面を三次元コンピュータモデル内で定義する第２処理手段であって、前記算出された変換値を用いて前記画像内の前記物体の境界を表わす前記多角形を三次元コンピュータモデル内に投影し、各平面状表面を、三次元コンピュータモデル内の前記静的背景の水平表面上にある底辺と、前記画像内の前記物体の境界を表わす前記多角形のそれぞれ１つに対応する位置及びサイズとで定義し、三次元コンピュータモデル内の前記静的背景の水平表面に対して垂直平面内にあるように定義する第２処理手段と、前記画像データに応じて前記物体の形状を表すために、前記平面状表面のテクスチャデータを生成する第３処理手段とを含むことを特徴とする画像処理装置。
【００１０】
ここで、前記第２処理手段が、前記平面状表面の幅が前記画像データ中の境界の多角形の幅で定義され、前記平面状表面の高さが前記画像データ中の境界の多角形のアスペクト比を使って決定されるように、前記平面状表面を定義するよう構成される。また、前記物体の境界を表わす多角形が矩形である。また、前記矩形の辺が画像の辺に平行である。また、前記第２処理手段が、１つの前記平面状表面が、前記三次元コンピュータモデル内の物体の各位置を表わすように定義されるよう構成される。また、前記第２処理手段が、複数の接続された平面状表面が前記三次元コンピュータモデル内の物体の各位置を表わすために定義されるよう構成される。また、前記境界多角形内で前記物体の位置を定義するマスクを抽出するために前記画像データを処理する手段を更に含む。また、前記三次元コンピュータモデルを創出する手段を更に含む。また、観察方向から前記三次元コンピュータモデルの画像用の画像データを作成するため、前記平面状表面上にテクスチャデータをレンダリングする手段を更に含む。
【００１３】
本発明によれば、三次元コンピュータモデル内の物体の平面表現を定義するため、移動している物体の画像を処理する画像処理装置が提供される。画像内の物体の位置を用いてモデル内での位置を決定し、この物体に対応する画像データをその表現の際に使用する。物体を表現するため、複数の平面を使用することが可能である。又、本発明は、画像データ内に記録される移動中の物体の位置を表すために三次元コンピュータモデル内で平らな表面を定義し、上記画像データを用いてその表面のテクスチャデータを作成して、その表現を表示できるようにする画像処理装置を提供する。テクスチャデータは、物体の画像からの実画素データでよい。
【００１４】
【発明の実施の形態】
次に、添付の図面を参照しながら、本発明の実施の形態をその一例によって説明する。
【００１５】
＜本実施の形態の画像処理装置の構成例＞
図１は、本実施の形態の画像処理装置の全体的な構成例を示すブロック図である。
【００１６】
本装置には、メモリ６に接続された中央処理装置（ＣＰＵ）４を含むコンピュータ２が設けられ、メモリ６は、ＣＰＵ４によって実行されるオペレーションを定義するプログラムを格納し、ＣＰＵ４によって処理される対象物体データ及び画像データを格納する働きをする。
【００１７】
メモリ６にはディスクドライブ８が結合される。ディスクドライブ８は、フロッピーディスク１０など取り外し可能なデータ記憶媒体を受け入れると共に、その媒体に格納されたデータやプログラムをメモリ６に転送する働きをする。ディスクドライブ８を使用して、ＣＰＵ４に対する操作命令を、取り外し可能なデータ記憶媒体からメモリ６に入力することが可能である。
【００１８】
ディスクドライブ８を使用して、ＣＰＵ４によって処理される画像データを、取り外し可能なデータ記憶媒体からコンピュータ２に入力することも可能である。その代わりに又はそれに加えて、ソニー社製のＤＣＲ−ＰＣ７などディジタル画像データ出力装置を有するビデオカメラ１２から、処理される画像データを直接メモリ６に入力することも可能である。画像データをメモリ６に入力する前にカメラ１２に格納したり、又は上記データをカメラ１２で収集すると同時にリアルタイムでメモリ６に転送することも可能である。また、ディジタルカメラ１２の代わりに非ディジタルのビデオカメラから画像データを入力することも可能である。この場合、上記カメラで撮った画像をディジタイザ（図示せず）を用いてディジタル化し、そこからディジタル画像データを生成してメモリ６に入力する。更に、画像データを格納する局所の又は遠隔のデータベースからの接続（図示せず）を介して、画像データをメモリ６にダウンロードすることも可能である。
【００１９】
ＣＰＵ４の入力ポートには、例えばキーボード及び／又はマウスやトラッカボールなどの位置感応入力装置を含むユーザ命令入力装置１４が結合されている。
【００２０】
又、ＣＰＵ４にはフレームバッファ１６が結合される。フレームバッファ１６は、例えば、画像の１画素に対し１つ（又は数個）の記憶位置を与えることによって、ＣＰＵ４によって生成された少なくとも１つの画像に関する画像データを格納するように構成された、メモリ装置を含んでいる。各画素ごとにフレームバッファ内に格納される値が、画像内の画素の色又は輝度を定義する。
【００２１】
フレームバッファ１６には、このフレームバッファ１６に格納される画像を従来の方法で表示する、表示装置１８が結合されている。またフレームバッファ１６には、ビデオテープレコーダ（ＶＴＲ）２０、又はペーパプリンタや３５ｍｍフィルムレコーダなどその他の画像記録装置も結合される。
【００２２】
ハードディスクドライブなどデータ記憶容量の大きい大容量記憶装置がメモリ６に（通常はＣＰＵ４を介して）結合され、またフレームバッファ１６にも結合される。大容量記憶装置２２は、ＣＰＵ４によって処理されたデータをメモリ６から受け取り、又は表示装置１８で表示されるデータをフレームバッファ１６から受け取ることができる。
【００２３】
ＣＰＵ４、メモリ６、フレームバッファ１６、表示装置１８と大容量記憶装置２２は、例えばＳｕｎＭｉｃｒｏｓｙｓｔｅｍｓ社から発売されているＳｐａｒｃＳｔａｔｉｏｎのようなワークステーションなど、市販の完成システムの一部から構成することが可能である。
【００２４】
本実施の形態としてコンピュータ２に実行させるための操作命令は、フロッピーディスク１０やその他のデータ記憶媒体に格納されたプログラムの形で、市販用として供給することができ、又は、例えばデータリンク（図示せず）などを介したコンピュータ２への信号として伝送することができる。その結果、受信側コンピュータ２は、本発明を組み込んだ装置に再構成される。
【００２５】
図２に、ＣＰＵ４によって処理する画像データの集合体の例を概略的に示す。
【００２６】
例として、図２には、フットボール競技場３４（コーナー３６、３８、４０、４２で定義された）内を動いている２人の人間３０、３２を示す。競技場３４とその中での人間３０、３２の動きは、固定した観察位置に取り付けられかつ固定した観察方向を有するビデオカメラ１２によって記録される。
【００２７】
＜本実施の形態の画像処理の手順例＞
図３に、本実施の形態で実行される画像処理動作例の例を示す。
【００２８】
図３を参照すると、ステップＳ２では、カメラ１２によって観察されるシーンの静的背景（即ち、動いていない部分）の三次元コンピュータモデルが、ユーザによって創出される。またステップＳ２では、この背景シーンの画像パラメータも設定される。
【００２９】
図４に、図３のステップＳ２で実行される処理段階の例をより詳細に示す。
【００３０】
図４を参照すると、ステップＳ２０では静的背景をモデル化する。すなわち、図２に示す例では、フットボール競技場３４がモデル化される。これは、市販のモデリングパッケージを使用して従来の方法で実施される。
【００３１】
ステップＳ２２では、カメラ１２を使用して、静的背景の複数の参照画像を記録する。本実施の形態では、ビデオの４つのフレームがカメラ１２によって記録される。複数の参照画像は、以下に更に説明するように、背景の採光条件の経時的な変化やノイズ、「静的」背景内での（例えば、動いている木の枝や葉によって引き起こされる）好ましくない動きを考慮に入れるために記録される。
【００３２】
ステップＳ２４では、画像空間（即ち、カメラ１２によって記録される画像）と三次元（３Ｄ）世界空間（即ち、ステップＳ２０で三次元コンピュータモデルが創出された空間）との間での変換が計算される。変換は、画像空間での（対象物体がその上で移動する）基平面と３Ｄ世界空間（３Ｄコンピュータモデル）での基平面との間のマッピングである。この変換は、カメラの絶対位置や観察されているシーン（図２の例では、フットボール競技場３４）に関連するカメラの位置が前もって決定されて乃至、同様にカメラの像形成のパラメータ（焦点長さ、ＣＣＤのサイズ、ズーム設定など）も前もって決定されてないため、実施される。この変換によって、以下に説明するように、画像空間での対象物体の位置や大きさに基づいて、確実で効率的な方法での３Ｄコンピュータモデルにおける対象物体の表現の創出が可能になる。
【００３３】
ステップＳ２４での変換を計算するため、ステップＳ２２で記録した背景の画像の１つを表示装置１８上でユーザに表示する。ユーザは、ＣＰＵ４からの催促に応じて、シーン内の対象物体が動く平面上にある画像内の複数の点（本実施の形態では４点）を指定する。すなわち、図２に示す例を参照すると、フットボール競技場３４のコーナーの点３６、３８、４０、４２を指定することになる（競技場は人間３０、３２が動く表面を表す）。ビデオ画像内で識別された点に対応する、ステップＳ２０で創出された三次元コンピュータモデル内の点も、ユーザによって定義される。例えば、所定の観察方向からの三次元コンピュータモデルの眺めを表示装置１８でユーザに表示し、対応する点を入力手段１４を使用して指定する。ＣＰＵ４は、次いで、ビデオ画像内で指定した点の位置と、三次元コンピュータモデル内で指定した対応する点の位置とを用いて、従来の方法、例えば次の方程式を用いて、画像空間と３Ｄ世界空間との間の変換演算を行う。
【００３４】
【数１】
0004217305.tif 000002
【００３５】
ただし、ｎ＝１，…，４、Ｘｎ及びＹｎは世界空間内の点、ｘｎ及びｙｎは画像空間内の点を示し、Ａ〜Ｈは次式によって得られる。
【００３６】
【数２】
0004217305.tif 000003
【００３７】
これは、画像空間での基平面と３Ｄコンピュータモデル（３Ｄ世界空間）での基平面との間の変換を定義している。
【００３８】
ステップＳ２６では、ＣＰＵ４は静的背景の参照画像の画素パラメータを計算する。これは、ステップＳ２２で記録した複数の画像から、各画素ごとに平均グレーレベルμを計算することによって実行される。即ち、４つのフレームのそれぞれの対応する画素のグレーレベルを考慮し、平均をとる。求めた平均の分散σも算出する。次に、各画素のグレーレベル用「ウィンドウ」をμ±（２σ＋Ｆ）に設定する。ただし、Ｆは、ビデオカメラ１２の利得や雑音などの変数を考慮に入れるように設定されたエラーファクタである。本実施の形態では、グレースケールレベルの合計数は２５６であり、エラーファクタＦは５グレースケールレベルに設定される。
【００３９】
ステップＳ２６で各画素ごとに設定される「ウィンドウ」は、画素が静的背景の画像の一部を形成する場合にとるグレースケール値の広がりを表す（ビデオカメラ１２の観察位置及び方向は一定であり、したがって背景の一部を形成する画素のグレースケール値が採光の変化やノイズによるエラーに応じてのみ変化する）。以下に説明するように、これらの「ウィンドウ」は、背景上を動作中の（したがって、定義されたウィンドウの外側で画素値を移動させる）対象物体を識別するために使用される。
【００４０】
図３を再び参照すると、ステップＳ４では「アクション」の画像、即ち背景上で対象物体が動いている画像（例えば、フットボール競技場３４の人物３０，３２の動き）がビデオカメラ１２によって記録される。
【００４１】
ステップＳ６では、ＣＰＵ４がステップＳ４で記録した画像の画像データを処理して、画像内の「静的背景」の一部ではない対象物体、即ち背景上を動作中の対象物体を識別する。次に、ＣＰＵ４は、この対象物体の情報とステップＳ２で定義した三次元コンピュータモデルとを用い、カメラ１２によって記録されたシーンの三次元コンピュータモデルを示すタイムスタンプ付きの三次元物体データを創出する。
【００４２】
図５に、ステップＳ６でＣＰＵ４によって実行される処理動作例の例を示す。
【００４３】
図５を参照すると、ステップＳ３０では、ＣＰＵ４が画像内の対応する画素について、処理中の画像データの各画素のグレーレベルを、ステップＳ２６で予め設定したグレースケール「ウィンドウ」と比較する。その画素について予め定義されたウィンドウの外側にあるグレーレベルを有するどの画素も、「前景」画素、即ち背景上を動作中の対象物体の一部を形成する画素となる可能性があると見なされる。従って、ステップＳ３０では、ＣＰＵ４が、どの画素が対応して予め計算されたウィンドウの外側のグレースケールレベルを持つかの記録を保持する。
【００４４】
ステップＳ３２では、ノイズを除去するために、画像データをＣＰＵ４で処理する。このようなノイズは、例えば、ビデオカメラ１２がＣＣＤ（電荷結合素子）カメラである場合は量子効果によって、またカメラ１２からのデータを圧縮するために用いられるデータ圧縮技術によって、またＣＰＵ４で処理されるビデオデータのフレーム取り込みに使用するフレームグラッバによってなど、数々の方法によって画像データ中に導入される。また、このようなノイズは、動作中の対象物体の境界に近接する画像データでしばしば発生するノイズのこともある。
【００４５】
図６に、図５のステップＳ３２でノイズを除去するために画像データを処理する際に、ＣＰＵ４が実行する動作を示す。
【００４６】
図６を参照すると、ステップＳ５０では、従来の方法、例えばＲ．Ｍ．Ｈａｒａｌｉｃｋ、Ｌ．Ｇ．Ｓｈａｐｉｒｏ著「Ｃｏｍｐｕｔｅｒ  ａｎｄ  Ｒｏｂｏｔ  Ｖｉｓｉｏｎ  Ｖｏｌｕｍｅ  ２」，Ａｄｄｉｓｏｎ−Ｗｅｓｌｅｙ  Ｐｕｂｌｉｓｈｉｎｇ  Ｃｏｍｐａｎｙ，１９９３  ＩＳＢＮ  ０−２０１−５６９４３−４（ｖ．２）の５８３頁に示される方法で、ＣＰＵ４が画像データに「縮小」マスクを適用する。この操作では、３×３の画素マスクを画像データに適用し、このマスクによって定義される９つの画素の各組ごとに、「前景」画素（ステップＳ３０で識別された）数と「背景」画素数をカウントする。マスク内の大多数の画素が背景画素である場合、中央の画素は背景画素であると定義される（たとえその画素が、以前に前景画素であると識別されたとしても）。マスク内の大多数の画素が前景画素である場合は、何の変化も生じない。この操作は、縮小マスクが全ての画像データに適用されるまで繰り返される。
【００４７】
ステップＳ５２では、従来の方法、例えばＲ．Ｍ．Ｈａｒａｌｉｃｋ、Ｌ．Ｇ．Ｓｈａｐｉｒｏ著「Ｃｏｍｐｕｔｅｒ  ａｎｄ  Ｒｏｂｏｔ  Ｖｉｓｉｏｎ  Ｖｏｌｕｍｅ  ２」，Ａｄｄｉｓｏｎ−Ｗｅｓｌｅｙ  Ｐｕｂｌｉｓｈｉｎｇ  Ｃｏｍｐａｎｙ，１９９３  ＩＳＢＮ  ０−２０１−５６９４３−４（ｖ．２）の５８３頁に示される方法で、ＣＰＵ４が画像に「増大マスク」を適用する。この操作は、マスク内の大多数の画素が前景画素である場合、中央の画素は前景画素であると定義され（たとえその画素が、以前に背景画素であると識別されたとしても）、マスク内の大多数の画素が背景画素である場合は何の変化も生じないこと以外は、ステップＳ５０と同様の方法で実行される。ステップＳ５２の効果は、ステップＳ５０での縮小マスク操作で誤って背景画素であると設定された画素を、前景画素に復帰させることである。
【００４８】
図５を再び参照すると、ステップＳ３４では、前景画素の集団を識別するためにＣＰＵ４がデータの処理を行う。これは、同じ特性を有する画素の集団を識別するために、従来の方法によって実行され、まず画像データを走査して前景画素を識別し、次に隣接する画素を反復的に検討して接続された全ての前景画素を識別する。
【００４９】
ステップＳ３６では、ＣＰＵ４がステップＳ３４で識別された前景画素の次の集団（ここで、ステップＳ３６によって初めて実行されるのは第１の集団である）を考察し、この集団の画素数が３０よりも大か否か判定する。
【００５０】
画素数が３０以下である場合、その集団は全体画像（本実施の形態では、７６８画素×５１２画素）の比較的小さな部分を形成するので、ノイズを表すと見なせる。この場合、その集団はそれ以上は処理されない。一方、集団の画素数が３０より大である場合は、その集団は動作中の物体を表すと見なされ、更に処理が実行される。
【００５１】
ステップＳ３８では、ＣＰＵ４は画素集団の大きさを決定する。本実施の形態では、ＣＰＵ４が、二次元画像内で画像の辺に平行な辺を有する集団の境界四角形を決定することにより、この処理を実施する。。
【００５２】
ステップＳ４０では、ＣＰＵ４が、ステップＳ２４で算出された変換値を用いてステップＳ２０でコンピュータモデルが形成された三次元世界空間に、ステップＳ３８で決定された境界四角形を投影する。これによって、三次元コンピュータモデル内に１つの平面が作成され、以下に示すように、この平面上には動作中の対象物体のビデオ画像がユーザに表示するために投影される。本実施の形態では、三次元コンピュータモデル内の平面は垂直であり、その底辺は、ステップＳ２４でユーザが選択した点によって定義される３Ｄモデル内の表面上にある（対象物体は、観察されるシーンと共に、対応する実世界表面、図２の例ではフットボール競技場３４上を動くと想定されるためである）。
【００５３】
図７に、図５のステップＳ４０で行われる境界平面の変換の際に、ＣＰＵ４によって実行される動作を示す。
【００５４】
図７を参照すると、ステップＳ６２では、ＣＰＵ４が、ステップＳ２４で予め算出した変換値を用いて座標変換を行うことによって、境界四角形の底辺の２つのコーナーを像空間から三次元世界空間に投影する。境界四角形の底辺の各コーナーは、ステップＳ２４で予め選択された点によって定義される表面にあるコンピュータモデルの三次元世界空間内の点へと変換される。
【００５５】
ステップＳ６４では、ＣＰＵ４が、ステップＳ６２で変換されたコーナー間の距離を決定することにより、三次元世界空間内の境界四角形の幅を計算する。
【００５６】
ステップＳ６６では、ＣＰＵ４が像空間内の境界四角形の幅と高さの比と、ステップＳ６４で計算された三次元世界空間内の幅とを用いて、三次元世界空間内の境界四角形の高さを計算する（即ち、境界四角形のアスペクト比が、像空間と三次元世界空間とで同一に維持される）。
【００５７】
図５を再び参照すると、ステップＳ４２では、ＣＰＵ４が、予めステップＳ４０で計算された三次元世界空間内の境界四角形の位置と大きさを格納すると共に、ビデオ画像内の境界四角形から抽出された境界四角形のテクスチャデータ及び「前景マスク」、即ち前景画素に対応する境界四角形内の画素を識別するマスクも格納される。抽出されたテクスチャデータは、３Ｄ世界空間内の境界四角形のテクスチャマップを効果的に提供する。
【００５８】
ステップＳ４４では、ステップＳ３４で識別された前景画素の他の集団でまだ未処理のものが存在するかどうか、ＣＰＵ４が判定する。考察中のビデオフレーム用の前景画素の全ての集団が上述の方法によって処理されるまで、ステップＳ３６からＳ４４が繰り返される。この段階では、動作中の各対象物体の位置を表わす１つの平面（境界四角形）が配置され、更に、これら動作中の対象物体のテクスチャ画像データを、後でユーザによって選択される観察点に基づき平面上に投影できるように格納する、三次元コンピュータモデルが作成されている。従ってこのデータは、カメラ１２から得られる１つの二次元画像（ビデオフレーム）の、三次元コンピュータモデルに対応する。
【００５９】
図３を再び参照すると、ステップＳ８では、ステップＳ４でカメラ１２によって記録され未だ処理されていない他の画像（ビデオフレーム）が存在するか否か、ＣＰＵ４が判定する。ステップＳ４でカメラ１２により記録された全ての画像が上述の方法で処理されるまで、ステップＳ６及びＳ８が繰り返される。
【００６０】
ステップＳ１０では、ＣＰＵ４が、ユーザに選択された所望の観察点からの画像を、表示装置１８でユーザに表示する。この段階でＣＰＵ４によって表示される画像は、予め創出された三次元モデルの対象物体データを使用して作成された、シミュレーションされたビデオ画像である。
【００６１】
図８は、ステップＳ１０での画像表示の際にＣＰＵ４によって実行される処理動作を示す。
【００６２】
図８を参照すると、ステップＳ７０では、対象物体が観察される方向が入力装置１４を使用してユーザにより定義される。
【００６３】
ステップＳ７２では、ステップＳ７０で選択された観察方向に従って、３Ｄ世界空間を視野空間へと変換する。この変換によって、モデル化された空間全体よりも通常は狭い範囲である特定の視野が識別される。従って、ステップＳ７４では、視野からはみ出る表面又はその一部を除去するために、ＣＰＵ４がクリッピング処理を実行する。
【００６４】
この段階に至るまでは、ＣＰＵ４によって処理される対象物体データが三次元座標での位置を定義する。ステップＳ７６では、３Ｄコンピュータモデルを構成する三角形の面の頂点が投影されて、二次元画像を定義する。
【００６５】
画像を二次元に投影した後に、「前向き」、即ち観察者に面している三角形表面、及び「後ろ向き」、即ち観察者が視認できない三角形表面を識別することが必要である。従って、ステップＳ７８では、後ろ向きの面を識別して選別する。すなわち、ステップＳ７８の後には、視認される多角形の三角形の面を識別する頂点が二次元内で定義されている。
【００６６】
ステップＳ８０では、ＣＰＵ４によって表面を定義する二次元データが走査変換され、画素値を生成する。この段階では、画像内の背景を表す表面をレンダリングすると共に、ステップＳ４２で格納された適正なビデオテクスチャデータによって、ステップＳ４０で先に決定された境界四角形もレンダリングされる。境界四角形内の前景画素のみが格納されたビデオテクスチャデータでレンダリングされるが、これらの画素は格納された「前景マスク」によって定義される。その他の画素は、背景テクスチャデータでレンダリングされる。ステップＳ８０で作成されたレンダリングデータは、シミュレーションされたビデオフレームを表す。ここで、背景は、ステップＳ２０で創出されたコンピュータモデルから作成され、動作中の各対象物体は、ビデオ画像から抽出された動作中の対象物体の画像データが投影される背景（図２の例では、フットボール競技場３４）の水平表面から延びる、垂直な平面として表される。
【００６７】
ステップＳ８２では、ステップＳ８０で生成した画素値が、表面ごとにフレームバッファに書き込まれ、これにより、完全な二次元画像のデータが生成される。
【００６８】
ステップＳ８４では、ＣＰＵ４によって、画素値を定義する信号が生成される。この信号は、表示装置１８上に対象物体の画像を生成するために用いられ、かつ／又は、例えばビデオテープレコーダ２０のビデオテープなどに記録される。（生成した画像を、このビデオテープから更に生成画像を記録することが可能である。）表示又は記録のために、この信号を遠隔の受信機に伝送することも可能である。
【００６９】
ステップＳ８６では、ステップＳ６で先に創出されたタイムスタンプ付きの他の「フレーム」の三次元対象物体データで、ユーザに未だ表示されていないものが存在するかどうか、ＣＰＵ４が判定する。このような対象物体データの全てのフレームが上述の方法に基づいて表示されるまで、ステップＳ７０からＳ８６が繰り返され、これによって、シミュレーションされた動く画像のシーケンスを所望の観察方向からユーザに表示することができる。表示中、ユーザがいつでも観察方向を変えることができるのは当然である。
【００７０】
上述の実施の形態に対し、様々な変更点を加えることが可能である。
【００７１】
図３を再び参照すると、上述の実施の形態では、ステップＳ４で全ての画像を記録した後、ステップＳ６（画像データを処理して動作中の対象物体を識別、そこから対象物体データを創出）を実行する。同様に、ステップＳ６及びＳ８を完了した後、ステップＳ１０（画像の表示）を実行する。しかしながら、ステップＳ４、Ｓ６、Ｓ１０を、所望の観察方向からユーザに対し画像を実時間表示させるように実行することが可能である。即ち、ビデオカメラ１２によって次のデータのフレームが記録される間に、ステップＳ６及びＳ１０をビデオデータの１つのフレーム上で実行することができる。この実時間操作が可能なのは、ステップＳ６及びＳ１０の処理要件がＣＰＵ４上で特に面倒なものではなく、また、１／３０秒間以内という、ビデオフレームを記録する合間の時間で処理が実施できるからである。
【００７２】
上述の実施の形態では、動作中の物体は、グレースケール値を基に識別される。しかしながら、それに加えて又はその代わりに、色及び赤外の値のウィンドウを設定し、これらの画像特性を用いて前景物体を識別することも可能である。
【００７３】
上述の実施の形態では、ＣＰＵ４によって処理する画像を記録するのに１台のビデオカメラ１２を使用している。同様に、３Ｄ世界空間内の１つの境界四角形が計算され、そこにビデオ画像データがレンダリングされる。このシステムには、ユーザが境界四角形の平面内の観察方向を選択する場合、その境界平面によって定義される動作中の対象物体が、ユーザに表示されない（ユーザにとっては「エッジオン(edge on)」状態にあるから）という問題がある。この問題は、ステップＳ４で「動作中」の画像を同時に記録するために複数のカメラを使用することによって、また、閉平面を形成するように接続した複数の平面（例えば複数の垂直な平面）で各対象物体を表現することによって、対処できる。ユーザに表示するために１つの平面上にレンダリングされるビデオ画像データは、表示される境界平面の垂線に最も近い観察方向をどのビデオカメラが持っているかを決定することによって、選択される（そのカメラからのビデオデータが、境界四角形のテクスチャデータとして使用される）。
【００７４】
上述の実施の形態では、カメラに向かう動作中の対象物体の表面に関するデータのみが記録されるように、１台のビデオカメラ１２によって画像データを記録する。従って、ステップＳ７０（図８）で、カメラ１２に向かう観察方向をユーザが選択する場合、カメラ１２によって視認されたビデオ画像データが境界四角形上でレンダリングされ、実際にはユーザには対象物体の反対側の表面の画像が表示されていても、そのビデオ画像データがユーザに表示される。この問題は、反対方向を向いている第１及び第２のカメラを使用することによって、また、ユーザが選択する観察方向に最も近い観察方向をどのビデオカメラが持っているかを判定することにより、境界四角形上にレンダリングされるビデオデータを選択する（このカメラで得られるビデオデータが、境界四角形上でレンダリングされる）ことによって、克服することができる。
【００７５】
なお、本発明は、複数の機器（例えばホストコンピュータ，インタフェイス機器，リーダ，プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置に適用してもよい。
【００７６】
また、本発明の目的は、前述したように実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても達成される。この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００７７】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，磁気テープ，不揮発性のメモリカード，ＲＯＭなどを用いることができる。
【００７８】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【００７９】
更に、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【００８０】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応する処理を実行するプログラムコードを格納することになる。
【発明の効果】
以上説明したように、本発明により、ビデオ画面内を移動する物体を確実に効率よく三次元コンピュータモデル内に表現可能とする画像処理装置を提供できる。
【００８１】
すなわち、本発明によれば、三次元コンピュータモデル内の物体の平面表現を定義するため、移動している物体の画像を処理する画像処理装置が提供される。画像内の物体の位置を用いてモデル内での位置を決定し、この物体に対応する画像データをその表現の際に使用する。物体を表現するため、複数の平面を使用することが可能である。又、本発明は、画像データ内に記録される移動中の物体の位置を表すために三次元コンピュータモデル内で平らな表面を定義し、上記画像データを用いてその表面のテクスチャデータを作成して、その表現を表示できるようにする画像処理装置を提供する。テクスチャデータは、物体の画像からの実画素データでよい。
【００８２】
【図面の簡単な説明】
【図１】本実施の形態の画像処理装置の構成要素の一例を示す概略図である。
【図２】本実施の形態の動的環境から得られるビデオデータの集合体の例を示す概略図である。
【図３】本実施の形態において、動画を定義する信号を処理し、三次元コンピュータモデルを創出し、所望の観察方向からの画像をユーザに表示するために、本実施の形態で実行される処理動作例を示す最上位レベルのフローチャートである。
【図４】図３のステップＳ２で実行される処理動作例を示すフローチャートである。
【図５】図３のステップＳ６で実行される処理動作例を示すフローチャートである。
【図６】図５のステップＳ３２で実行される処理動作例を示すフローチャートである。
【図７】図５のステップＳ４０で実行される処理動作例を示すフローチャートである。
【図８】図３のステップＳ１０で実行される処理動作例を示すフローチャートである。
【図１】
0004217305.tif 000004
【図２】
0004217305.tif 000005
【図３】
0004217305.tif 000006
【図４】
0004217305.tif 000007
【図５】
0004217305.tif 000008
【図６】
0004217305.tif 000009
【図７】
0004217305.tif 000010
【図８】
0004217305.tif 000011