(57)【特許請求の範囲】
【請求項１】
カメラパンベクトルを推定するための方法であって、
動きベクトルを第１の解像度で提供する動作と、
前記動きベクトルを、前記第１の解像度とは異なる解像度を有する第２の解像度に投影する動作と、
前記投影された動きベクトルの分布を生成する動作と、
前記動きベクトルの分布においてクラスタを特定する動作と、
前記第２の解像度における前記特定されたクラスタの質量中心を決定し、前記第２の解像度における前記特定されたクラスタの質量中心を前記第１の解像度に投影することにより、前記第１の解像度におけるクラスタの質量中心を決定する動作と、
前記第１の解像度における前記決定された質量中心に基づいて前記カメラパンベクトルを提供する動作と、を備える、方法。
【請求項２】
請求項１記載の方法であって、
前記カメラパンベクトルは、画像パッチの中の前記動きベクトルを表しているカメラモデルのパラメータを含む、方法。
【請求項３】
請求項２記載の方法であって、
前記決定された質量中心に基づいて前記カメラパンベクトルを提供する前記動作は、前記決定された質量中心を前記カメラモデルの１つまたはそれ以上の前記パラメータとして提供することを含む、方法。
【請求項４】
請求項１記載の方法であって、さらに、
前記提供されたカメラパンベクトルをプロセッサ読み出し可能メモリに格納する動作を備える、方法。
【請求項５】
請求項１記載の方法であって、
前記動きベクトルは値を含み、
前記動きベクトルの分布を生成する前記動作は、
複数のビンを有する二次元ヒストグラムを生成する動作と、
前記動きベクトルの値を前記二次元ヒストグラムの適切なビンに提供する動作と、を含む、方法。
【請求項６】
請求項１記載の方法であって、
前記第２の解像度は前記第１の解像度より低い解像度である、方法。
【請求項７】
請求項１記載の方法であって、
前記カメラパンベクトルは、単一の画素を含む画像パッチに対応して生成される、方法。
【請求項８】
請求項１記載の方法であって、
前記カメラパンベクトルは、複数の画素を含む画像パッチに対応して生成される、方法。
【請求項９】
請求項５記載の方法であって、
前記動きベクトルの分布においてクラスタを特定する動作は、
前記二次元ヒストグラムの第１の近傍区域の中のビンを累算する動作と、
前記二次元ヒストグラムの第２の近傍区域の中のビンを累算する動作と、
前記近傍区域のうちの１つを、ビンの累算がより多いものとして選択する動作と、
前記選択された近傍区域を、前記動きベクトルの分布において特定されたクラスタとして提供する動作と、を含む、方法。
【請求項１０】
請求項９記載の方法であって、
各近傍区域は、所定の大きさの窓の中に含まれる、方法。
【請求項１１】
請求項９記載の方法であって、
前記動きベクトルの分布においてクラスタを特定する動作は、さらに、
近傍区域を１つ選択するのに先立って、前記二次元ヒストグラムのさらに他の近傍区域の中のビンを累算する動作を含む、方法。
【請求項１２】
請求項１記載の方法であって、
前記特定されたクラスタの前記質量中心は、所定の大きさの窓の中で決定される、方法。
【請求項１３】
請求項１０記載の方法であって、
前記特定されたクラスタの前記質量中心は、前記近傍区域を含む前記１つまたはそれ以上の窓よりも大きいサイズの窓の中で決定される、方法。
【請求項１４】
カメラパンベクトルを推定するための装置であって、
動きベクトルを第１の解像度で取得し、前記動きベクトルを、前記第１の解像度とは異なる解像度を有する第２の解像度に投影し、前記投影された動きベクトルの分布を生成するように構成された動きベクトル生成部と、
前記動きベクトルの分布においてクラスタを特定するように構成されたクラスタ特定部と、
前記第２の解像度における前記特定されたクラスタの質量中心を決定し、前記第２の解像度における前記特定されたクラスタの質量中心を前記第１の解像度に投影することにより、前記第１の解像度におけるクラスタの質量中心を決定するように構成された決定モジュールと、
前記第１の解像度における前記決定された質量中心に基づいて前記カメラパンベクトルを提供するように構成されたカメラパン計算部と、を備える、装置。
【請求項１５】
請求項１４記載の装置であって、
前記カメラパンベクトルは、画像パッチの中の前記動きベクトルを表しているカメラモデルのパラメータを含む、装置。
【請求項１６】
請求項１５記載の装置であって、
前記カメラパンベクトル計算部は、前記決定された質量中心を前記カメラモデルの１つまたはそれ以上の前記パラメータとして提供するように構成される、装置。
【請求項１７】
請求項１４記載の装置であって、
前記動きベクトルは値を含み、
前記動きベクトル生成部は、複数のビンを有する二次元ヒストグラムを生成し、前記動きベクトルの値を前記二次元ヒストグラムの適切なビンに提供するように構成される、装置。
【請求項１８】
請求項１７記載の装置であって、
前記クラスタ特定部は、前記二次元ヒストグラムの第１の近傍区域の中のビンを累算し、前記二次元ヒストグラムの第２の近傍区域の中のビンを累算し、前記近傍区域のうちの１つをビンの累算がより多いものとして選択し、前記選択された近傍区域を前記動きベクトルの分布において特定されたクラスタとして提供するように構成される、装置。
【請求項１９】
プロセッサ読み取り可能な媒体に格納されたコンピュータプログラムであって、カメラパンベクトルを推定するための方法をコンピュータに実行させるように機能できる命令を備え、前記方法は、
動きベクトルを第１の解像度で提供する動作と、
前記動きベクトルを、前記第１の解像度とは異なる解像度を有する第２の解像度に投影する動作と、
前記投影された動きベクトルの分布を生成する動作と、
前記動きベクトルの分布においてクラスタを特定する動作と、
前記第２の解像度における前記特定されたクラスタの質量中心を決定し、前記第２の解像度における前記特定されたクラスタの質量中心を前記第１の解像度に投影することにより、前記第１の解像度におけるクラスタの質量中心を決定する動作と、
前記第１の解像度における前記決定された質量中心に基づいて前記カメラパンベクトルを提供する動作と、を含む、コンピュータプログラム。
【請求項２０】
請求項１９記載のコンピュータプログラムであって、
前記動きベクトルは値を含み、
前記動きベクトルの分布を生成する前記動作は、
複数のビンを伴う二次元ヒストグラムを生成する動作と、
前記動きベクトルの値を前記二次元ヒストグラムの適切なビンに提供する動作と、を含む、コンピュータプログラム。
【請求項２１】
請求項２０記載のコンピュータプログラムであって、
前記動きベクトルの分布においてクラスタを特定する動作は、
前記二次元ヒストグラムの第１の近傍区域の中のビンを累算する動作と、
前記二次元ヒストグラムの第２の近傍区域の中のビンを累算する動作と、
前記近傍区域のうちの１つをビンの累算がより多いものとして選択する動作と、
前記選択された近傍区域を前記動きベクトルの分布において特定されたクラスタとして提供する動作と、を含む、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、映像および図形処理の改良に関する。
【背景技術】
【０００２】
表示装置のための標準的な映像コンテンツおよびフィルムコンテンツは、低いリフレッシュレート（例えば、インターレース形式の映像マテリアルの場合は毎秒５０フィールド、フィルムをもとにしたマテリアルの場合は毎秒２４フレーム）で記録および表示される。プログレッシブ形式のデジタル表示装置を含む、このような装置に関連する問題は、１つには、表示アーチファクトの存在である。例えば、表示のリフレッシュレートが低いと、「エリアフリッカー」と呼ばれる表示アーチファクトが生じる可能性がある。人間の視覚は、末端にいくほどフリッカーに対して敏感になるので、エリアフリッカーは、表示サイズが大きくなるにつれて顕著になる。エリアフリッカーを低減させるための単純な解決法は、フィールドまたはフレームの高速入力（例えば、インターレース形式の映像の場合は毎秒１００フィールド）を繰り返し、表示のリフレッシュレートを増大させることである。この方法は、静止場面に対してならば、エリアフリッカーの問題を解決することができる。しかしながら、動きのある場面に対しては、このような高速入力の繰り返しによって、「モーションジャダー」または「モーションスミア」として知られる新たなアーチファクトが生じ、特に、コントラストの高い領域では顕著である。これは、人間の目が、動く対象の軌跡を追う傾向を有するからである。このため、動きを補償するフレーム補間が望まれている。このようなフレーム補間では、局所的な動きの軌跡の中間点にある補間フレームまたは補間フィールドにおいて画素計算が行われるので、視標追跡によって期待される画像の動きと、表示される画像の動きとの間の不一致が解消される。あるフィールドまたはフレームから次のフィールドまたはフレームに至る局所的な画像の動きの軌跡は、動きベクトルによって記述される。
【０００３】
動きベクトルは、画素レベル、画像パッチレベル、または対象レベルなど、様々なレベルの空間解像度で計算することができる。「画像パッチ」とは、フレームに表示される画像の任意の一部分を指して言う。画像パッチは、１つまたは複数の画素で構成され、様々な形状および大きさを採ることができる。個々の画素ごとに独立に動きベクトルを計算すれば、理論上は理想的なデータセットを得ることができるが、これには大量の計算が必要とされるので、実際は実行不可能である。個々の画像パッチごとに動きベクトルを計算すれば、計算の量を減らすことができるが、１つの画像パッチ内における動きベクトルの不連続性によって、アーチファクトが生じる可能性がある。対象を基準にして動きベクトルを計算すれば、理論上は高い解像度および少ない所要計算量を実現することができるが、対象の区分けが困難な問題として残される。
【０００４】
画像のノイズおよびその他の問題は、動きベクトルの計算および処理に誤差を生む可能性がある。調査によると、動きベクトルを正確に推定する目的で、様々な技術が提案されてきたことが知られている。これらの技術の１つがカメラモデルである。この技術では、フレームシーケンスを映像信号のかたちで記録するカメラの運動が数学的モデルによって表される。カメラモデルは、カメラのパン、ズーム、および回転を含むカメラの様々な運動を数学的に表すことができる。例えば、カメラのパン運動において、カメラモデルは、水平方向および／または垂直方向に一定速度で運動するカメラの動きに関連付けられた動きベクトルを、数学的に表すことができる。カメラモデルが望ましいのは、１つの画像パッチまたは１つの画像フレーム全体に含まれるあらゆる動きベクトルに関してグローバルなモデルを提供できるからである。したがって、カメラモデルを適用すれば、画像フレームの中のどの位置のどの動きベクトルをも数学的に予測することができる。
【０００５】
動きベクトルの推定にカメラモデルを使用する従来の方法に伴う問題の１つは、１つのフレームシーケンスに２つまたはそれ以上の独立に運動する対象が含まれる場合に生じる。このような状況では、独立に運動する対象に関連付けられた画像データにカメラモデルを適合させようとする際に、それらの独立に運動する対象によって欠陥が引き起こされる。例えば、１つのフレームシーケンスに、車および背景画像という２つの運動する対象が含まれる場合を考える。フレームの１０％を占める車は、水平方向に西向きに運動する。フレームの９０％を占める背景画像は、車と反対の東方向に運動する。テストの画像として望ましいのは、背景画像の方である。何らかの改善措置を採らない限り、背景画像に関連付けられて予測されたカメラモデルの動きベクトルは、車の運動の影響によって誤りを含むこととなる。とりわけ、カメラモデルを計算するための従来の技術は、カメラの回転を、正しいカメラパンではなく誤って背景画像に適合させると考えられる。また、欠陥を伴うこのカメラモデルによって予測される動きベクトルは、画像のあらゆるポイントで誤りを含むと考えられる。
【０００６】
したがって、画像フレームのシーケンスにカメラモデルを適合させるための技術であって、テストされる特定の運動する対象または背景以外の独立に運動する対象に関連付けられたデータを排除することによって、より正確なカメラモデルを実現する技術が必要とされている。
【発明の開示】
【０００７】
本発明の態様は、他の独立に運動する対象を含み得る１つのフレームシーケンスにおいて、１つの独立に運動する対象または背景に関連付けられた動きベクトルを予測するための、ロバスト適合を提供することのできる、カメラモデルを規定および適用することを含む。
【０００８】
一般に、本発明の一態様は、カメラパンベクトルを推定するための技術を実施および使用する、コンピュータプログラム製品を含む方法ならびに装置を提供する。先ず、複数のパラメータに基づいて動きベクトルを表すためのカメラモデルが提供される。次に、動きベクトルの分布が生成される。生成された動きベクトルの分布において１つのクラスタが特定される。特定されたクラスタの質量中心が決定される。決定された質量中心に基づいてカメラパンベクトルが提供される。
【０００９】
本発明の実施形態は、下記の特徴のうち、１つまたはそれ以上の特徴を含むことができる。すなわち、動きベクトルは、値の二次元のセットを含むことができ、動きベクトルの分布の生成は、複数のビンを有する二次元ヒストグラムの生成を含むことができる。動きベクトルの値は、二次元ヒストグラムの有する適切なビン中に提供される。また、動きベクトルは、その分布の生成に先だって、より低い解像度に投影することができる。
【００１０】
動きベクトルの分布におけるクラスタの特定は、二次元ヒストグラムの第１の近傍区域の中のビンを累算すること、二次元ヒストグラムの第２の近傍区域の中のビンを累算すること、いずれかの近傍区域をビンの累算がより多いものとして選択すること、そして、選択された近傍区域を動きベクトルの分布において特定されたクラスタとして提供すること、を含むことができる。
【００１１】
本発明の１つまたはそれ以上の実施形態が、添付の図面および以下の説明で詳細に示される。本発明の他の特徴、目的、および利点は、以下の説明および添付の図面、ならびに特許請求の範囲から明らかになる。
【００１２】
図面において、類似の参照番号は、類似の構成要素を示すものとする。
【発明を実施するための最良の形態】
【００１３】
本発明の実施形態は、画像パッチに対してその動きベクトルの数学的モデルを提供するために使用されるカメラモデルを含む。カメラモデルは、１つのフレームシーケンスにおけるカメラの運動を表すものである。例えば、カメラモデルは、水平および／または垂直のカメラパン、ズームインまたはズームアウト操作、および回転操作を提供するために使用することができる。また、カメラモデルは、上記のカメラ運動の１つまたはそれ以上を組み合わせたものを表すこともできる。カメラモデルは、１つのフレームシーケンスに関してその動きベクトルをグローバルに記述するものである。
【００１４】
カメラモデルは、独立に計算される各画像パッチ位置におけるローカルベクトルとは対照的に、フレームコンテンツのグローバルな運動を記述するので、より正確な、すなわちより真実に近い動きベクトルを見つけるのに役立つ。一般に、フレームの全ての位置におけるカメラ運動に基づく動きベクトルは、単純なモデルの使用によって、極めて容易に予測することができる。例えば、カメラレンズが遠景をパンする場合は、どの動きベクトルも同一で、なおかつ、カメラの速度に等しいと考えられる。もう１つは、カメラレンズが、例えば壁に掛かった絵など、平坦な表面上にある対象にズームインする場合である。この場合は、どの運動ベクトルも放射方向で、なおかつ、画像の中心から周辺にかけてゼロ値から最大値へと増大する。
【００１５】
本発明の実施形態は、他に独立に運動する対象を含み得るフレームシーケンスにおいて、１つの独立に運動する対象に関連付けられた動きベクトルを予測するためのロバスト適合を提供することのできる、カメラモデルを規定および適用するための方法ならびに装置を提供する。本明細書において開示されるのは、画像フレームのシーケンスにカメラモデルを適合させるための技術であって、テストされる特定の運動する対象または背景以外の独立に運動する対象に関連付けられたデータを排除することによって、より正確なカメラモデルを実現する技術である。テストされる特定の運動する対象以外の独立に運動する対象を排除することによって、より正確なカメラモデルを計算し、ひいては、より正確な動きベクトルを予測することが可能になる。
【００１６】
本発明の実施形態は、カメラモデルのためのパラメータの決定と、決定されたカメラモデルパラメータを使用した動きベクトルの生成とを可能にする。先ず、メモリに格納されている既存の動きベクトルのセットが提供され、そこからカメラモデルパラメータが計算される。後述されるように、数学的モデルの適用によって、既存の動きベクトルに対して最良適合方法（線形最小二乗法など）が施され、その結果、カメラモデルパラメータが推定される。カメラモデルパラメータは、次いで、デジタル映像フレームシーケンスの中の後続フレームに対してその動きベクトルを予測するために使用される。具体的な一実施形態において、このカメラモデルを使用した後続の動きベクトルの推定は、２００４年４月２６日出願の同時係属の米国特許出願第１０／８３３，１９８号「動きベクトルの一時フィルタリング（Temporal Motion Vector Filtering）」に記載されるような帰納的階層的プロセスを取り入れている。本文献は、引用によって本明細書に援用されるものとする。
【００１７】
独立に運動する対象（それらの中のいくつかは、互いに反対方向に動いている）を含む１つのフレームシーケンスに対してそのカメラモデルパラメータを計算するにあたって、本発明の実施形態は、独立に運動する対象のうち主要な１つにカメラモデルを適合させ、その他の独立に運動する対象を排除する技術を提供する。主要な対象は、ほとんどの状況下では背景である。先ず、第１の、すなわち最初の解像度を有する入力された動きベクトルのセットが低い解像度に投影され、メモリ資源の節約が図られる。次いで、全ての動きベクトル値に関するヒストグラムが生成され、動きベクトルの分布が作成される。ヒストグラムのビンの中の動きベクトル値が累算され、主要な動きベクトルクラスタが特定される。次いで、二次元分布において他の動きベクトルクラスタを排除した状態で、このクラスタの質量中心が計算され、所望のロバスト適合が達成される。この質量中心は、カメラモデルの１つまたはそれ以上の変換（即ちパンパラメータ）を表すものである。カメラモデルパラメータは、次いで、カメラモデルを使用してその後に行われる動きベクトルの推定に使用される。このようにすれば、視標追跡によって期待される画像の動きと、デジタル映像に表示される画像の動きと、の間にほとんどまたは全く不一致がないように、効率良くかつ精度良く動きベクトルを決定することができる。
【００１８】
カメラモデルの数学的表現は、次の通りである。
【００１９】
【数１】
0004741836.tif 000002
【００２０】
上記の式において、カメラモデルは、カメラモデルパラメータＳy，Ｓx，ｒ1，ｒ2，ｔy，ｔxを画像の中の位置シーケンス（ｘ，ｙ）にあてはめることによって、複数の動きベクトルの推定値Ｍy，Ｍxを提供する。Ｓy，Ｓx，ｒ1，ｒ2，ｔy，ｔxは、カメラの運動を表すカメラモデルパラメータである。上記のモデルにおいて、ｔy，ｔxは、カメラをパンする際の水平および垂直の変換をそれぞれ表すパラメータである。カメラのパンに関連付けられた動きベクトルが、図２Ａに例示されている。上記の式において、ｒ1，ｒ2は、カメラの回転を表すパラメータである。図２Ｂは、カメラの回転に関連付けられた動きベクトルを例示している。Ｓy，Ｓxは、ズームアウトまたはズームインの操作に関連付けられたパラメータであって、図２Ｃに例示されている。
【００２１】
上述の実施形態において、パラメータＳy，Ｓx，ｒ1，ｒ2，ｔy，ｔxは、米国特許出願第１０／８３３，１９８号に記載されている帰納的階層的プロセスを使用して決定された動きベクトルのセットを使用して計算される。したがって、動きベクトルは、第１の画像フレームにソース相関窓を適用すると共に、後続の画像フレームにターゲット相関窓を適用し、次いで、ターゲット相関窓がソース相関窓に最も良く一致するように、すなわち、ターゲット相関窓のコンテンツがソース相関窓のコンテンツに可能な限り一致するようにターゲット相関窓を配置することによって決定される。また、帰納的階層的方法は、複数の解像度レベルの画像フレームを使用する。先ず、最も高い解像度レベルに対応する先の最適動きベクトルが最も低い解像度レベルに投影され、それがテストされ、１回またはそれ以上に渡って更新されることによって、最も低い解像度レベルに対応する最適動きベクトルが決定される。この最適動きベクトルは、次いで、より高い解像度レベルに伝搬され、更なる調整を経た後に、新たな最適動きベクトルとして決定される。このプロセスは、最も高い最初の解像度レベルに到達するまで繰り返され、その結果、最初の解像度レベルに対応する最適動きベクトルが特定される。
【００２２】
図１は、米国出願第１０／８３３，１９８号の帰納的階層的プロセス（１００）の一実施形態を示している。ただし、ここでは、複数の解像度レベルの画像フレームが既に生成されたものと仮定する。図１からわかるように、動きベクトルを決定するための帰納的階層的プロセス（１００）は、先の画像フレームからの動きベクトルを、最も低い解像度レベルに投影することから開始する（ステップ１０２）。この最も低い解像度レベルにおける最適動きベクトルを見つけるために、更新ベクトルのセットが生成され、テストされる（ステップ１０４）。一実施形態において、このテストは、動きベクトルの起点を中心とするソース相関窓と、対応する各更新ベクトルの終点を中心とするターゲット相関窓との間で、それぞれの対応位置にある画素を比較することによって実施される。この比較は、例えば、ソース窓の中の各画素の輝度値を、それぞれのターゲット窓の中の対応画素から差し引くことによって実施される。この場合は、絶対差の合計（ＳＡＤ）が最小となるソース相関窓とターゲット相関窓とのペアを探すことによって、最適な一致が定められ、このソース相関窓とターゲット相関窓とのペアに関連付けられたベクトルが、最適動きベクトルになる。
【００２３】
最小のＳＡＤが見つかると、最適ベクトルが選択される（ステップ１０６）。プロセス（１００）は、次いで、より高い解像度レベルが存在するか否かを調べる（ステップ１０８）。より高い解像度レベルが存在する場合は、プロセスは、最適ベクトルを次に高い解像度レベルに伝搬し（ステップ１１０）、ステップ１０４〜１０８を繰り返す。より高い解像度レベルが存在しない場合は、プロセスは、ステップ１１２に進む。ステップ１１２では、最適ベクトルが動きベクトルとして選択され、動きを補償するために使用される。こうして、現行のフレームに対するプロセスが完了する。
【００２４】
図１のステップ１１２において決定された最適ベクトルは、次いで、上記の式（１）によって表される数学的モデルにＭy，Ｍxとして代入することができる。当業者ならば明らかなように、Ｍy，Ｍxとしては、図１の任意の低い解像度（例えばステップ１０４の解像度）に対応して決定された最適ベクトルを使用しても良い。他の実施形態では、カメラモデルの式に、Ｍy，Ｍxとして他のベクトルを代入しても良い。なお、上述の実施形態では、線形最小二乗法の適合方法が使用されているが、他にも、任意の適切なデータ適合技術が使用可能である。こうして、Ｓy，Ｓx，ｒ1，ｒ2，ｔy，ｔxについて式を解くために、線形最小二乗の適合方法が実施される。すなわち、上記の数学的モデルによれば、既知のｘ，ｙ位置に対応する既知の値のセットＭy，Ｍxが提供されるので、行列反転動作の実施によって、未知のパラメータＳy，Ｓx，ｒ1，ｒ2，ｔy，ｔxを決定することができる。
【００２５】
カメラモデルパラメータの決定後、これらのカメラモデルパラメータは、画像パッチまたはフレームの中の位置ｙ，ｘに対応するカメラモデル動きベクトルＭy，Ｍxを生成するために適用され、その結果、上述された帰納的階層的プロセスの１回またはそれ以上の繰り返しに使用されるベクトル候補が提供される。例えば、カメラモデルによって予測されるこれらの動きベクトルは、ＳＡＤを計算するためのテスト候補として、更新ベクトルと共に使用することができる。次いで、図１のステップ１０６において、全てのテスト候補をもとにして、最適ベクトルが決定される。
【００２６】
図３は、カメラモデルパラメータを計算するため、そして、これらのカメラモデルパラメータを使用して動きベクトルを生成するための、本発明の一実施形態に従った装置３００のブロック図である。図４は、図３の装置の動作を説明した方法４００のフローチャートである。ステップ４０５において、例えば図１のステップ１０６において決定された最適ベクトルなどのテストベクトルＭy'，Ｍx'が、カメラモデルパラメータ計算部３１０によって、メモリ３０５から読み出される。このカメラモデルパラメータ計算部３１０は、主に、ソフトウェアのかたちで実装されることが好ましいが、当業者ならば理解できるように、ソフトウェアとハードウェアとの様々な組み合わせを使用することが可能である。メモリ３０５は、例えばＳＤＲＡＭのような、プロセッサによる読み取りが可能な任意の適切な記憶媒体である。
【００２７】
図４のステップ４１０において、カメラモデルパラメータ計算部３１０は、上述のように、読み出された動きベクトルと、それに対応する既知のｘ，ｙ位置とに基づいて、カメラモデルパラメータＳｙ，Ｓｘ，ｒ１，ｒ２，ｔｙ，ｔｘを計算する。すなわち、カメラモデルパラメータＳｙ，Ｓｘ，ｒ１，ｒ２，ｔｙ，ｔｘを決定する目的で、行列反転の動作が実施される。ステップ４１５において、カメラモデルパラメータ計算部３１０は、次いで、計算されたこれらのカメラモデルパラメータＳｙ，Ｓｘ，ｒ１，ｒ２，ｔｙ，ｔｘを、１つまたはそれ以上のレジスタに格納するために、メモリ３０５に出力する。ステップ４２０において、カメラモデル動きベクトル生成部３１５は、カメラモデルパラメータＳｙ，Ｓｘ，ｒ１，ｒ２，ｔｙ，ｔｘを、メモリ３０５のレジスタから読み出す。したがって、ステップ４２５において、カメラモデル動きベクトル生成部３１５に画像のｘ，ｙ位置が提供されると、カメラモデル動きベクトル生成部３１５は、ステップ４３０において、上記のカメラモデルの式を適用し、動きベクトルＭｙ，Ｍｘを生成することができる。これらの動きベクトルＭｙ，Ｍｘは、カメラモデル動きベクトル生成部３１５によって出力され、ステップ４３５において格納することができる。帰納的階層的プロセスの次の繰り返しの際は、帰納的に且つ階層的に予測されたベクトルに加えて、格納されたこれらの動きベクトルがテスト候補として使用可能である。
【００２８】
図５には、Ｘ方向およびＹ方向に沿った動きベクトルの二次元表現５００が例示されている。図５において、動きベクトル５０５ａ〜５０５ｅのグループは、カメラモデルが適合されることが望ましい、独立に運動する対象を表している。一方で、動きベクトル群５１０は、カメラモデルから排除されることが望ましい、独立に運動する別の画像すなわち対象に関連付けられた動きベクトルである。この例において、カメラモデルが採用するのはパンのケースであるので、上記の数学的モデルのうち、計算する必要があるのはｔy，ｔxの値のみである。ここで、動きベクトル５０５ａ〜５０５ｅの大部分は同じであるので、カメラパンモデルは、これらの動きベクトル５０５ａ〜５０５ｅのモデルの提供を目的として適合されることが望ましい。カメラモデルが有効であるためには、カメラパンモデルの変換パラメータｔy，ｔxが計算される際に、動きベクトル群５１０が例外値として排除されることが望ましい。以下で説明される技術は、カメラモデルパラメータの計算から動きベクトル群５１０を排除することによって、ロバストでかつ正確なカメラモデルの適合を達成する。
【００２９】
図６Ａは、代表的な動きベクトルのセットＭy，Ｍxに関するそのＭy値およびＭx値の二次元分布６００を示している。動きベクトルＭy，Ｍxの値は、全て、二次元表現の範囲内にある。すなわち、全てのＭx値は、−Ｍx ｍａｘから＋Ｍx ｍａｘまでの範囲に分布し、同様に、全てのＭy値は、−Ｍy ｍａｘから＋Ｍy ｍａｘからまでの範囲に分布する。一例では、Ｍx値は−３２から＋３２までの範囲内であり、Ｍy値は−２４から＋２４までの範囲内である。当業者ならば明らかなように、これらのＭy値およびＭx値の範囲は例示に過ぎないので、本発明の実施形態にしたがって、他にも様々な範囲が使用可能である。図６において、動きベクトルは、その大半がクラスタ６０５を構成している。これは、どの動きベクトルも、カメラのパンを表すほぼ同じ値を有することを意味する。したがって、クラスタ６０５の質量中心を決定すれば、カメラモデルのパラメータｔy，ｔxを得ることができる。クラスタ６０５の外側のベクトルは、ｔy，ｔxの計算の際に、例外値として排除されることが好ましい。
【００３０】
図６Ｂは、例えば図６Ａの動きベクトル値などのＭx値の分布を側面から示した図である。Ｍx値の分布は、第１のピーク６１５および第２のピーク６２０を呈している。これらのピーク６１５，６２０は、特定のＭx値を有するベクトルの数を示している。したがって、第１のピーク６１５は、Ｍx1の値を有するベクトルが沢山集中したために形成されたものである。小さめの第２のピーク６２０は、それとは別にＭx2の値を有するベクトルが集中したために形成されたものである。特定のＭx値を有するベクトルがより多数であるピーク６１５は、ここでは主要ピークと称され、カメラモデルのパラメータｔy，ｔxの真の値を突き止めるための近傍区域を表している。本発明の実施形態に従った方法および装置は、主要ピーク６１５を特定し、ピーク６２０のような小さめのピークを排除し、主要ピーク６１５の質量中心をカメラモデルパラメータｔy，ｔxとして決定することを可能にする。
【００３１】
図７は、離散値Ｍｙ，Ｍｘを累算するためのビン７０５ａ〜７０５ｃを伴う二次元ヒストグラムの一例を示した平面図である。Ｍｙ，Ｍｘは離散的であるので、ヒストグラムはグリッドとして表現され、グリッド内の各ブロックすなわちビンによって、特定のＭｙ値またはＭｘ値が表される。Ｍｘの値が−３２から＋３２までの範囲内で、かつ、Ｍｙの値が−２４から＋２４までの範囲内である上記の例では、動きベクトル値の二次元分布は、特定の動きベクトル値が配置されうる総分布数すなわち総ビン数が６４×４８であるグリッドサイズを有すると考えられる。ビンの集合は、６４×４８の二次元ヒストグラムを提供する。ビン７０５は、各ビンにおける動きベクトル値Ｍｙ，Ｍｘの数を表すビンカウント数を有する。例えば、ビン７０５ｂは、カウント数が９の動きベクトルを有し、ビン７０５ｃは、カウント数が１００の動きベクトルを有する。各ビンカウント数は、そのビンに動きベクトル値が分配されるたびに増加される。この例において、ビン７０５ｃを含むビンの近傍区域は、ヒストグラムの主要ピークを表している。以下で説明される技術を使用して、カメラパンベクトルの推定値を正確に決定するためには、この主要ピークを特定することが望ましい。
【００３２】
図８および図９は、本発明の一実施形態にしたがって実施される、カメラパンベクトルを推定するための方法８００および装置９００をそれぞれに示している。当業者ならば理解できるように、装置９００は、ハードウェアおよびソフトウェアを様々に組み合わせて実装することができる。図８の方法は、図９を参照にしながら説明される。ステップ８０５において、カメラモデルが提供される。このカメラモデルは、上述のように、図３および図４を参照にして説明された方法にしたがって定められる。カメラモデルは、例えば上述された動きベクトルＭy，Ｍxの二次元セットのような複数のカメラモデル動きベクトルを、デジタル映像シーケンスの複数のフレーム中の一画像パッチに対応して生成するために使用される。カメラモデルは、上述のように、ｔy，ｔxなどの複数のパラメータを含み、これらのパラメータｔy，ｔxは、動きベクトルＭy，Ｍxを生成する目的で、ｙ座標およびｘ座標に適用される。カメラモデルの動きベクトルは、例えば１：１などの第１の解像度で提供される。
【００３３】
図８のステップ８１０において、カメラモデルの動きベクトルＭy，Ｍxは、より低い解像度に投影されることが好ましい。動きベクトルをより低い解像度に投影するこのステップは、メモリを節約すると共に所要の計算量を減らすことができる。解像度としては、様々なレベルが使用可能である。一例では、最初の、すなわち第１の解像度が１：１であるのに対し、より低い解像度は１：２、１：４、または１：８である。したがって、図９の二次元ヒストグラムの中のビンの数は、大幅に低減される。例えば、もとは−３２から＋３２までの範囲のＭx値と、もとは−２４から＋２４までの範囲のＭy値とが、１：２まで低減されると、対応するビンカウント数も、６４×４８から３２×２４に低減される。すなわち、動きベクトルの値が２分の１に縮小されると、ビンカウント数は４分の１に低減される。この例では、隣り合う４つのビンのビンカウント数が効果的に組み合わされて、単一のビンを形成している。当業者ならば理解できるように、低減された解像度としては、他の様々な解像度が使用可能である。
【００３４】
図８のステップ８１５において、図９に示された動きベクトル生成部９１０は、動きベクトルの分布を生成する。動きベクトルが二次元である場合は、図７を参照にして上述されたように、二次元の動きベクトルセットの特定の値が、複数のビンを伴う二次元ヒストグラムに分配される。
【００３５】
図８のステップ８２０において、図９に示されたクラスタ特定部９２０は、図７の二次元ヒストグラムの中から主要ピークを見つけ出す。すなわち、クラスタ特定部９２０は、動きベクトル値の分布において最も多くの動きベクトルが集中した箇所を、その分布のクラスタとして特定する。一実施形態において、この特定のステップは、図７に示されるような二次元ヒストグラムの複数の近傍区域の中のビンを累算することを含む。これらの近傍区域は、ｐ×ｑの窓７１０または３×３、４×４、１２×１２、もしくは１００×１００などの他の所定の大きさの窓として定められ、ヒストグラムの中を動かされ、窓に一定数のビンが含まれるように様々な位置に配置される。ある特定の位置にある窓に関し、その窓に含まれるビンカウント数が累算され、その窓すなわち近傍区域に関連付けられたビンカウント総数が提供される。次いで、ビンの累算数のより多いまたは最も多い近傍区域が、特定されたクラスタとして選択される。特定されたこのクラスタは、図６Ｂのピーク６１５のような、ヒストグラムの主要ピークを提供する。
【００３６】
図８のステップ８２５において、図９に示された決定モジュール９３０は、ステップ８２０において特定されたクラスタの質量中心を決定する。この質量中心の計算は、所定の大きさの別の窓の中で実施されることが好ましい。一実施形態において、この窓の大きさは、ステップ８２０においてビンの累算に使用された近傍区域を含むｐ×ｑの窓よりも大きいｍ×ｎである。上述されたカメラモデルの数学的表現に従うと、ステップ８２５において決定された質量中心は、ステップ８３０において、後続の動きベクトルの計算に使用される１つまたはそれ以上のカメラモデルパラメータとして提供される。例えばカメラパンのケースでは、決定された質量中心は、変換パラメータｔｘ，ｔｙとして提供される。ステップ８１０において、動きベクトルが最初の解像度からより低い解像度に投影される実施形態では、決定された質量中心は、最初の解像度に再び投影されることが好ましい。実施形態によっては、この投影のための計算が、より正確な投影を実現する目的で、浮動小数点を使用して行われる場合もある。カメラモデルパラメータは、次いで、ステップ８３５において格納され、後に、上記の式（１）を使用してカメラパンモデルの動きベクトルＭｙ，Ｍｘを生成するために、図９のカメラパン計算部９４０によって読み出される。一実施形態において、これらのカメラパンモデルの動きベクトルＭｙ，Ｍｘは、次いで、米国出願第１０／８３３，１９８号に記載されている帰納的階層的プロセスのためのテスト候補を決定するために使用される。
【００３７】
カメラモデルによって予測されたベクトルを、帰納的階層的プロセスにおける更なる候補ベクトルとして使用すれば、帰納的階層的検索の帰納部分が真の極小点ではなく偽の極小点に収束する可能性を、最小限に抑えることができる。このような候補としての予測ベクトルの使用は、このプロセスを真の極小点に導くことができる。実施形態によっては、本明細書において説明されるように、カメラモデルによって予測または生成された動きベクトルが、ＳＡＤを計算するためのテスト候補としても使用される。
【００３８】
図３および図９の装置を含む本発明の実施形態は、デジタル電子回路のかたちで、または、コンピュータのハードウェア、ファームウェア、ソフトウェア、もしくはそれらの組み合わせのかたちで実装することができる。本発明による装置の実施形態は、プログラマブルプロセッサによる実行のための、機械読み取り可能な記憶装置の中に具体的に組み込まれたコンピュータプログラム製品の形態で実装することができる。また、本発明による方法のステップは、プログラマブルプロセッサが命令プログラムを実行し、入力データに作用すると共に出力を生成することによって本発明の機能を実行することにより実施することができる。本発明の実施形態は、データおよび命令を送受信するためにデータ記憶システムに連結された少なくとも１つのプログラマブルプロセッサと、少なくとも１つの入力装置と、少なくとも１つの出力装置と、を含むプログラマブルシステム上で実行可能である１つまたはそれ以上のコンピュータプログラムの形態で実装することができる。各コンピュータプログラムは、プロシージャ型もしくはオブジェクト指向型の高水準のプログラミング言語、または、もし所望であればアセンブリもしくはマシン言語で記述することができる。いずれの場合も、その言語は、コンパイラ型言語またはインタプリタ型言語のいずれかであって良い。適切なプロセッサの例としては、例えば、汎用および特殊用途の両方のマイクロプロセッサが含まれる。一般に、プロセッサは、読み出し専用メモリおよびランダムアクセスメモリの一方または両方から命令およびデータを受信する。一般に、コンピュータは、データファイルを格納するための１つまたはそれ以上の大容量の記憶装置を含む。このような記憶装置の例としては、内部ハードディスクおよびリムーバブルディスクなどの磁気ディスク、光磁気ディスク、ならびに光ディスクなどが含まれる。コンピュータプログラム命令およびデータを具体的に組み込むのに適した記憶装置としては、あらゆる形態の不揮発性メモリが含まれ、例えば、ＥＰＲＯＭ、ＥＥＰＲＯＭ、およびフラッシュメモリ装置などの半導体メモリ装置、内部ハードディスクおよびリムーバブルディスクなどの磁気ディスク、光磁気ディスク、ならびにＣＤ−ＲＯＭディスクが含まれる。上記のいずれも、ＡＳＩＣ（特定用途向け集積回路）によって補足される、あるいは、ＡＳＩＣに組み入れることができる。
【００３９】
以上では、本発明の様々な実施形態が説明された。しかしながら、本発明の趣旨および範囲から逸脱することなく、様々な変更形態が実現可能である。したがって、他の実施形態も、添付の特許請求の範囲に含まれる。
【図面の簡単な説明】
【００４０】
【図１】動きベクトルを決定するための帰納的階層的プロセスのフローチャート。
【図２Ａ】カメラのパンに関連付けられた動きベクトルの一例を示した図。
【図２Ｂ】カメラの回転に関連付けられた動きベクトルの一例を示した図。
【図２Ｃ】カメラのズームイン操作に関連付けられた動きベクトルの一例を示した図。
【図３】カメラモデルパラメータを計算し、さらに、カメラモデルを使用して動きベクトルを生成するための装置のブロック図。
【図４】本発明の一実施形態に従ったカメラパンベクトルを推定するための方法のフローチャート。
【図５】独立に運動する複数の対象に関連付けられた動きベクトルの一例を示した図。
【図６Ａ】二次元に沿った動きベクトルの分布を示した図。
【図６Ｂ】動きベクトル値の分布を側面から示した図。
【図７】複数のビンを有する二次元ヒストグラムにおける動きベクトル値の分布を示した図。
【図８】デジタル映像のフレームシーケンスに関し、カメラモデルを使用して動きベクトルを推定するための方法のフローチャート。
【図９】本発明の一実施形態に従ったカメラパンベクトルを推定するための装置を示した図。
【図１】
0004741836.tif 000003
【図２Ａ】
0004741836.tif 000004
【図２Ｂ】
0004741836.tif 000005
【図２Ｃ】
0004741836.tif 000006
【図３】
0004741836.tif 000007
【図４】
0004741836.tif 000008
【図５】
0004741836.tif 000009
【図６Ａ】
0004741836.tif 000010
【図６Ｂ】
0004741836.tif 000011
【図７】
0004741836.tif 000012
【図８】
0004741836.tif 000013
【図９】
0004741836.tif 000014