(57)【要約】      （修正有）【課題】  デジタルビデオにおいて、眼の動きによる期待画像運動と表示画像運動との間に相違が殆ど又は全く存在しなくなるように動きベクトルを効率的かつ正確に決定する。【解決手段】  デジタルビデオシーケンスにおいて一時的動きベクトルフィルタリングを実行する方法及び装置を開示する。再帰的階層プロセスにおいて、古い動きベクトルの近傍は、二つの画像フレームのペア内の画像パッチについて第一の推定動きベクトルを生成するためにフィルタリングされる。フィルタリングプロセスは、古い動きベクトルを中心とする近傍の多数のベクトルを使用し、第一の推定動きベクトルの予測を改善する。一時的ベクトル分割プロセスは、最良の動きベクトルを選択する前に、背景に関連する動きベクトルから、オブジェクトに関連する動きベクトルを分離し、選択プロセスを改善する。プロセスは、更に、オブジェクト／背景境界が存在しない状態でも上手く機能する。【選択図】  図１
2005182829.tif 000002
【特許請求の範囲】
【請求項１】
デジタルビデオシーケンスにおいて一時的動きベクトルフィルタリングを実行する方法であって、
一つ以上のオブジェクト及び背景を含む画像パッチについての複数の動きベクトル候補をそれぞれ表す複数のベクトルを受領するステップと、
前記複数のベクトルを二つ以上のベクトルクラスタに分割するステップと、
各ベクトルクラスタ毎に、代表ベクトルを決定するステップと、
前記デジタルビデオの第一のフレームと第二のフレームとの間の前記画像パッチの移動を、どの代表ベクトルが最も正確に反映するかを決定するために、各代表ベクトルをテストするステップと、
前記画像パッチの移動を最も正確に反映する前記代表ベクトルを動きベクトルとして選択するステップと、
を備える方法。
【請求項２】
分割するステップは、
前記複数のベクトルの中で互いに最も遠く離れた二つのベクトルを特定することにより、第一のクラスタのための第一のシードベクトルと第二のクラスタのための第二のシードベクトルとを決定するステップと、
前記複数のベクトル内の他の各ベクトルについて、
前記ベクトルが前記第一のシードベクトルに最も近い場合、当該ベクトルを前記第一のクラスタに入れるステップと、
前記ベクトルが前記第二のシードベクトルに最も近い場合、当該ベクトルを前記第二のクラスタに入れるステップと、を含む、請求項１記載の方法。
【請求項３】
代表ベクトルを決定するステップは、
各クラスタについて、前記クラスタ内のどのベクトルが、前記クラスタ内の他の全ての前記ベクトルからの最小の総距離を有するかを決定するステップを含む、請求項１記載の方法。
【請求項４】
各クラスタは、前記デジタルビデオ内のオブジェクト又は背景を代表する、請求項１記載の方法。
【請求項５】
各画像パッチは、複数の画素を含む、請求項１記載の方法。
【請求項６】
前記複数のベクトルのうちの一つのベクトルは、第一の画素を起点とし、第二の画素で終端する古い動きベクトルを表し、
前記複数のベクトルのうちの他のベクトルは、前記第一の画素を起点とし、前記第二の画素とは水平方向又は垂直方向において異なる画素で終端する、請求項１記載の方法。
【請求項７】
各画像パッチのサイズは、８×８画素である、請求項１記載の方法。
【請求項８】
各代表ベクトルをテストするステップは、
各代表ベクトルについて、
前記代表ベクトルの起点を形成する画素を第一のウィンドウの中心とするステップと、
前記代表ベクトルの終点を形成する画素を第二のウィンドウの中心とするステップと、
前記第一のウィンドウ内の画素及び前記第二のウィンドウ内の対応する位置にある画素の輝度値の差分絶対値和を決定するステップと、
前記画像パッチの移動を最も正確に反映する前記代表ベクトルとして、最小の差分絶対値和を有する前記代表ベクトルを選択するステップと、を含む、請求項１記載の方法。
【請求項９】
前記第一及び第二のウィンドウの寸法は、前記画像パッチの寸法と同一である、請求項８記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ビデオ及びグラフィクス処理の改良に関する。
【背景技術】
【０００２】
プログレッシブデジタルディスプレイデバイスにおいて、低ディスプレイリフレッシュレート（例えば、インタレースビデオデータで５０フィールド／秒、フィルム由来データで２４フレーム／秒）では、「エリアフリッカ」と呼ばれる表示アーチファクトが発生する可能性がある。エリアフリッカは、人間の視覚の末梢領域におけるフリッカに対する高い感受性のため、表示サイズが増加するに従って、多く見えるようになる。エリアフリッカを低減する単純な解決策は、入力フィールド又はフレームを高いレート（例えば、インタレースビデオで１００フィールド／秒）で反復し、ディスプレイリフレッシュレートを高めることである。これにより、静的なシーンでのエリアフリッカの問題は解決する。しかしながら、人間の眼が運動オブジェクトの軌道を追跡する傾向のため、反復によって、動きのあるシーンには、特に高コントラストの領域において、「モーションジャダ」又は「モーションスメア」として知られる新たなアーチファクトが持ち込まれる。この理由から、動き補償フレーム補間が好適であり、これにおいて、画素値は、眼の動きによる期待画像運動と表示画像運動との間の相違が存在しなくなるように、局所的運動軌道上の中間点にある補間フレーム又はフィールドにおいて計算される。あるフィールド又はフレームから次のフィールド又はフレームへの局所的な画像運動の軌道は、動きベクトルによって表される。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
動きベクトルは、画素レベル、画像パッチレベル、又はオブジェクトレベルといった、様々なレベルの空間解像度で計算できる。全ての画素の動きベクトルを個別に計算することで、理論的には理想的なデータセットが生じるが、多数の計算が必要になるため実現は不可能である。各画像パッチの動きベクトルを計算することで、計算の数は減るが、画像パッチ内での動きベクトルの不連続性によりアーチファクトが生じる。オブジェクトに基づいた動きベクトルを計算することで、理論的には、高い解像度が生じ、計算量は少なくなるが、オブジェクトのセグメント化は、難しい問題となる。
【０００４】
したがって、必要なものは、デジタルビデオにおいて、眼の動きによる期待画像運動と表示画像運動との間に相違が殆ど又は全く存在しなくなるように動きベクトルを効率的且つ正確に決定する方法である。
【課題を解決するための手段】
【０００５】
本発明は、デジタルビデオにおいて、眼の動きによる期待画像運動と表示画像運動との間に相違が殆ど又は全く存在しなくなるように動きベクトルを効率的且つ正確に決定する方法及び装置を提供する。
【０００６】
一般に、一態様において、本発明は、デジタルビデオシーケンスにおいて動きベクトルを計算する手法を実現及び使用するコンピュータプログラム製品や、その方法及び装置を提供する。いくつかのベクトルが受領され、これらのベクトルは、一つ以上のオブジェクト及び背景を含む画像パッチについての動きベクトル候補（ポテンシャル動きベクトル）を表す。これらのベクトルは、二つ以上のベクトルクラスタに分割される。各ベクトルクラスタについて、代表ベクトルが決定される。各代表ベクトルは、デジタルビデオの第一のフレームと第二のフレームとの間での画像パッチの移動を、どの代表ベクトルが最も正確に反映するかを決定するためにテストされる。画像パッチの移動を最も正確に反映する代表ベクトルは、動きベクトルとして選択される。
【０００７】
有利な実装例では、一つ以上の以下の特徴を含むことができる。分割するステップは、ベクトルの中で互いに最も遠く離れた二つのベクトルを特定することにより、第一のクラスタのための第一のシードベクトルと第二のクラスタのための第二のシードベクトルとを決定するステップと、他の全てのベクトルについて、ベクトルが第一のシードベクトルに最も近い場合にそのベクトルを第一のクラスタに入れるステップと、ベクトルが第二のシードベクトルに最も近い場合にそのベクトルを第二のクラスタに入れるステップとを含むことができる。代表ベクトルを決定するステップは、各クラスタについて、クラスタ内のどのベクトルがクラスタ内の他の全ベクトルからの最小の総距離を有するかを決定するステップを含むことができる。各クラスタは、デジタルビデオ内のオブジェクト又は背景を代表または表現できる。各画像パッチは、いくつかの画素を含むことができる。一つのベクトルは、第一の画素を起点とし、第二の画素で終端する古い動きベクトルを表現可能であり、他のベクトルは、第一の画素を起点とし、第二の画素とは水平方向又は垂直方向において異なる画素で終端する。各画像パッチのサイズは、８×８画素にすることができる。
【０００８】
各代表ベクトルをテストするステップは、各代表ベクトルについて、代表ベクトルの起点を形成する画素を第一のウィンドウの中心とするステップと、代表ベクトルの終点を形成する画素を第二のウィンドウの中心とするステップと、第一のウィンドウ内の画素及び第二のウィンドウ内の対応する位置にある画素の輝度値の差分絶対値和を決定するステップと、画像パッチの移動を最も正確に反映する代表ベクトルとして、最小の差分絶対値和を有する代表ベクトルを選択するステップとを含むことができる。第一及び第二のウィンドウの寸法は、画像パッチの寸法と同一であってよい。
【０００９】
次に、本発明の一つ以上の実施形態の詳細を添付図面と以下の説明において述べる。本発明のその他の特徴、目的及び利点は、説明と図面、及び特許請求の範囲から明らかになろう。
【発明を実施するための最良の形態】
【００１０】
各図面の同様の参照符号は、同様の構成要素を示す。
【００１１】
本発明は、デジタルビデオにおいて、眼の動きによる期待画像運動と表示画像運動との間に相違が殆ど又は全く存在しなくなるように動きベクトルを効率的且つ正確に決定する方法及び装置を提供する。これは、動きベクトルを決定するための一時的ベクトル分割方法を含む再帰的階層アプローチを使用することで達成される。
【００１２】
一般に、本明細書で説明する再帰的階層アプローチを含め、有効に機能する動き補償アプローチでは、オブジェクトの運動の性質について、１）運動オブジェクトは慣性を有し、２）運動オブジェクトは大きい、という二つの基本的な仮定が行われる。慣性の仮定は、一時的ベクトル抽出間隔（即ち、デジタルビデオのフレームレート）に関して、動きベクトルが徐々にのみ変化することを意味する。大きなオブジェクトの仮定は、空間的ベクトル抽出間隔に関して、動きベクトルが徐々にのみ変化すること、即ち、ベクトルフィールドが平滑であり、境界となる運動の不連続性をごく僅かしか有していないことを意味する。
【００１３】
再帰的階層方法の目的は、第一の画像フレームにソース補正ウィンドウを適用し、後続の画像フレームにターゲット補正ウィンドウを適用すること、及びソース補正ウィンドウとの最良の一致が得られるように、即ち、ソース補正ウィンドウ及びターゲット補正ウィンドウのコンテンツが可能な限り類似するように、ターゲットウィンドウを配置することにより、動きベクトルを求めることである。同時に、ソース補正ウィンドウとターゲット補正ウィンドウとの間のマッチングを実行するのに必要な計算の数は、ベクトル空間制限範囲の全体を検索しつつ、可能な限り少なくする必要がある。こうした目的を達成するために、再帰的階層方法は、画像フレームの多数の解像度レベルを使用する。最良の動きベクトルは、最初に、最高解像度レベルでの以前の最良の動きベクトルを最低解像度レベルに対して下方投影し、この動きベクトルと一つ以上の更新とをテストすることにより、最低解像度レベルにおいて決定される。この最良の動きベクトルは、その後、より高い解像度レベルに対して上方伝播させ、ある程度の調整を行い、新しい最良の動きベクトルを決定する。この新しい最良の動きベクトルを、更に別の高い解像度レベルに対して上方伝播させ、更に調整を行い、別の新しい最良の動きベクトルを決定する。このプロセスは、オリジナルの最高解像度レベルに到達し、オリジナルの解像度レベルにおいて最良の動きベクトルが特定されるまで反復する。
【００１４】
図１は、再帰的階層プロセス（１００）の一実施例を図示している。画像フレームの多数の解像度レベルは、既に生成されていると仮定する。図１において確認できるように、動きベクトルを決定する再帰的階層プロセス（１００）は、以前の画像フレームからの動きベクトルを、最低解像度レベルに対して下方投影することで開始される（ステップ１０２）。更新ベクトルのセットが生成され、この最低解像度レベルでの最良の動きベクトルを求めるためにテストされる（ステップ１０４）。一実施例において、このテストは、動きベクトルの起点を中心とするソース補正ウィンドウと各更新ベクトルそれぞれの終点を中心とするターゲット補正ウィンドウとにおいて対応する位置にある画素同士を比較することで実行される。この比較は、例えば、ソースウィンドウ内の各画素の輝度値を、それぞれのターゲットウィンドウ内の対応する画素から減算することで実行できる。この場合、最良の一致は、ソース補正ウィンドウ及びターゲット補正ウィンドウのペアについて最小の差分絶対値和（ＳＡＤ(Sum of Absolute Differences)）を求めることで定義され、最良の動きベクトルは、このソース補正ウィンドウ及びターゲット補正ウィンドウのペアに関連するベクトルとなる。
【００１５】
最小ＳＡＤを求めた後、最良ベクトルが選択される（ステップ１０６）。プロセス（１００）は、その後、更に高い解像度レベルが存在するかどうかを調べる（ステップ１０８）。更に高い解像度レベルが存在する場合、プロセスは、最良ベクトルを、次に高い解像度レベルに対して上方伝播させ（ステップ１１０）、ステップ１０４乃至１０８を反復する。更に高い解像度レベルが存在しない場合、プロセスは、ステップ１１２へ進み、最良ベクトルが動きベクトルとして選択され、動きベクトルは動き補償として使用され、現在のフレームに対するプロセスが完了する。
【００１６】
このアプローチの利点は、二つのレベル間の解像度の差に応じて、低いレベルでの一画素の更新が次に高いレベルでの二つ以上の画素の更新と等しくなることである。例えば、１：１、１：２、及び１：４といった三つの解像度レベルが存在し、各レベルで±１画素の更新が行われる場合、収束遅延は、四分の一に低減される可能性がある。別の形で表現すれば、事実上、解像度階層は、時間的再帰収束を加速するために使用される。これによって、特に高速で移動する小さなオブジェクトを含むフレームについて、大幅な改善が生じる。
【００１７】
次に、本発明について、１：１、１：２、及び１：４の三つのレベルの解像度での再帰的階層方式の例として、４×４画素の画像パッチグリッドにより、図１乃至４を参照して、更に詳細に説明する。図２乃至４に図示したベクトルは、この一例のみを表現するものであり、解像度レベルの数と、各解像度レベルでのベクトルの数及び／又はタイプとは、計算コスト、品質、処理スピード、及びその他に応じて変化させてよいことに留意されたい。
【００１８】
図４は、４×４画素の画像パッチ（４０５）に分割された画像パッチグリッド（４００）を図示しており、各画素は円（４１０）として例示されている。黒い画素（４１５）は、４×４画素の画像パッチ毎に動きベクトルが計算された位置を示す。図４において確認できるように、４×４画素の画像パッチ毎に一つの動きベクトルが計算されており、動きベクトルの起点の各４×４画素画像パッチ内の位置は同じである。図３は、図４のオリジナル画素グリッドの半分の解像度である同じ画素グリッド（４００）を図示している。図２は、最も低い解像度の同じ画素グリッド（４００）を図示しており、この例では、図３の半分の解像度であり、図４の四分の一の解像度である。
【００１９】
図１及び図２に図示したように、動きベクトルを決定する再帰的階層プロセスは、以前の画像からの動きベクトル（２０５）を、最低解像度レベルに対して下方投影することで開始され（ステップ１０２）、この例において、最低解像度レベルはオリジナル解像度に対して１：４であり、図２に例示されている。一実施例において、古い動きベクトル（２０５）は、主に、ベクトルの不連続性を発生させるオブジェクト−背景境界が近隣に含まれるケースを処理するために、投影の前にフィルタリングされる。このプロセスは、一時的ベクトル分割とも呼ばれ、下で更に詳細に説明する。フィルタリングされた出力は、１：１レベルでの新しいベースベクトルとなり、その後、１：４レベルに対して下方投影される。シーケンスの第一のフレームにおいて、即ち、以前の画像が存在しない時には、プロセス（１００）は、ゼロベクトルを古い動きベクトルとして開始される。一実施例において、ゼロベクトルは、ビデオにシーンの中断が存在する時、即ち、二つのフレーム間に連続性が存在しない時にも使用される。
【００２０】
図５Ａは、一時的ベクトル分割プロセス（５００）の一実施例を図示している。上で説明したように、一時的ベクトル分割プロセス（５００）の目的は、図２に図示したような最低解像度レベルへの投影の対象となる古い動きベクトル（２０５）の優れた推定を提供することである。したがって、単一の動きベクトルを単純に投影するのではなく、図５Ｂに図示したように、多数のベクトルを含む近傍（５５０）を調べる。更に、このベクトルの近傍（５５０）は、オブジェクト／背景境界を含むと仮定される。一時的ベクトル分割プロセス（５００）は、最良の動きベクトルを選択する前に、背景に関連する動きベクトルから、オブジェクトに関連する動きベクトルを分離し、これにより選択プロセスを更に改善する。
【００２１】
図５Ａにおいて確認できるように、プロセス（５００）は、以前の画像フレームから１セットの近傍ベクトル（５５０）を取得することで開始される。図５Ｂに図示したセット（５５０）は、九つのベクトルを含み、各ベクトルは１つの画像パッチ（５６０）を指している。この例において、九つの隣接画像パッチ（５６０）が近傍ベクトルを定義するために使用されているが、そのうち五つのみ（Ｘ形のパターンで配置されるＶ１乃至Ｖ５）が、本明細書で説明する実施例での計算に使用される。しかしながら、任意の数のベクトルを選択可能であり、近傍は多数の異なる形状にできると読者には理解されたい。五つの近傍ベクトルのセットと、正方形の形状の画像パッチのセット（５６０）は、本明細書において例示的な目的でのみ使用される。
【００２２】
プロセスは、次に、近傍ベクトルのセット（５５０）を二つのクラスタに分割する（ステップ５０４）。一実施例において、この分割は、どのベクトルが互いに最も遠く離れているかを決定し、こうした二つのベクトルを二つのクラスタのシードとして使用することで実行される。クラスタのための二つのシードベクトルが決定された後、残りの各ベクトルは、最も近いのがどちらのクラスタシードであるかに基づいて、二つのクラスタの一方に格納される。
【００２３】
次に、プロセスは、各クラスタの代表ベクトルを決定する（ステップ５０６）。代表ベクトルを決定する目的は、それぞれのクラスタにとって最良の代表となる既存のベクトルを求めることである。一実施例において、代表ベクトルは、それぞれのクラスタにおいて、他の全てのベクトルからの距離が最小であるベクトルとして決定される。最小距離は、例えば、クラスタ内の各ベクトルから、同じくラスタ内の他の全てのベクトルまでの距離を決定し、距離を加算することで計算できる。最小の総距離を有するベクトルは、代表ベクトルとして選択される。
【００２４】
二つの代表ベクトルを求めた後、プロセスは、画像パッチがそれぞれの代表ベクトルによって定義される距離及び方向で移動した時、どちらの代表ベクトルが最良の一致を提供するかを決定する（ステップ５０８）。これは、例えば、一方の相関ウィンドウがベクトルの起点を中心とし、他方がベクトルの終点を中心とする二つの相関ウィンドウを使用し、二つの相関ウィンドウ内の画素について最小の差分絶対値和（ＳＡＤ(Sum of Absolute differences)）を決定することで実行可能である。これが正確にどのように実行されるかは、下で更に詳細に説明するが、図５Ａの目的として、重要な結果は、二つの代表ベクトルの一方で最良の一致が見つかることである。プロセスは、次に、候補ベクトルとして、最良の一致を有する代表ベクトルを選択する（ステップ５１０）。選択されたベクトルは、その後、最低解像度レベルへ下方投影され、プロセスは終了する。最良の一致となるベクトルは、オブジェクトベクトルを表し、他方のベクトルは背景ベクトルを表す。
【００２５】
上で説明した分割は、動いている自動車のボンネットの装飾物等、より小さな境界の詳細の周囲でのオブジェクト／背景ベクトルの不連続性を分解するのに役立つ。この分割は、オブジェクト境界を全く含有しない近傍においても同様に上手く機能し、これは、ベクトルの殆どが一方のクラスタ内に存在し、他方のクラスタは一つ又は僅かな「外れ値」ベクトルのみを含有するためである。
【００２６】
次に図１及び２に戻ると、フィルタリングされたベクトルが最低解像度レベルに投影された後、更新ベクトル（２１０ａ乃至２１０ｆ）のセットが生成され、古いフィルタリング済み投影動きベクトルから±１画素又は±２画素での最小ＳＡＤ値を求めるためにテストされる（ステップ１０４）。更新ベクトル（２１０ａ乃至２１０ｆ）のセットが生成され、この最低解像度レベルにおいて、古い投影動きベクトルから±１画素又は±２画素での最小ＳＡＤを求めるためにテストされる（ステップ１０４）。図２では、六個の更新ベクトル（２１０ａ乃至２１０ｆ）が例示されており、水平運動は垂直運動より一般に大きいため、水平方向での±１画素の二個の更新ベクトル及び±２画素の二個の更新ベクトルと、垂直方向での±１画素の二個の更新ベクトルが例示されている。しかしながら、投影ベクトル（２０５）に関して、任意の水平及び／又は垂直位置で、任意の数の更新ベクトルを生成及びテスト可能であることを当業者は理解するであろう。一実施例では、予測されるカメラベクトルも、１：４レベルに対して下方投影される。カメラベクトルについては、下で更に詳細に説明する。
【００２７】
一実施例において、ＳＡＤは、１つの画像パッチの複数の候補ベクトルが、全てソースフレーム内の同じ画像パッチ位置を起点とし、ターゲットフレーム内の異なる画素位置を指し示すように設定された状態で計算される。各候補ベクトルについて、矩形ウィンドウは、ターゲットフレームにおいて、それぞれの候補ベクトルが指し示す画素を中心とするように設定される。対応する矩形ウィンドウは、ソースフレームにおいて、候補ベクトルが起点とする画素を中心とするように設定される。その後、二つのウィンドウにおいて対応する輝度画素値、即ち、二つのウィンドウ内の同じ相対位置を有する画素のペア毎の絶対差が計算される。全ての絶対差の合計が、ＳＡＤ値となる。ＳＡＤ値は、ウィンドウ同士の一致が高まるにつれ減少し、画素が同一である時、理想的にはゼロになる。実際には、当然ながら、ノイズ及びその他の要素から、最良ベクトルは、非ゼロＳＡＤ値を有するが、候補ベクトルのセットにおけるベクトルの最小ＳＡＤ値を有する。
【００２８】
最小ＳＡＤ値が求められた後、最良ベクトル、即ち、最小ＳＡＤ値を有するベクトル（２１０ｆ）が選択され、メモリに格納される（ステップ１０６）。プロセスは、その後、更に高い解像度レベルが存在するかどうかを調べる（ステップ１０８）。上で説明したように、この例においては、より高い二つの解像度レベルが存在するため、プロセスは最良ベクトル（２１０ｆ）を伝播させ、図３に図示した１：２解像度レベルに対して上方投影する（ステップ１１０）。ここでも、１：２レベルに対する上方投影の後、最良ベクトル（２１０ｆ）を中心に、更新ベクトル（３０５ａ乃至３０５ｄ）のセットが生成される（１０４）。このレベルでは、１：２解像度レベルに対して下方投影された古い１：１フィルタリング済みベクトル（２０５）を中心に、更新ベクトル（３１０ａ乃至３１０ｄ）の第二のセットも生成される。１：４解像度レベルと全く同じように、全ての更新ベクトルの中の最小ＳＡＤ値を計算することで、新しい最良ベクトル（３０５ａ）が求められる。その後、最良更新ベクトルが選択され、メモリに格納される（ステップ１０６）。
【００２９】
プロセスは、その後、更に高い解像度レベルが存在するかどうかを再び調べる（ステップ１０８）。この時点では、解像度ピラミッドにおいて更に高い解像度レベルが一つ残っているため、プロセスは、再びステップ１０４に戻り、図３の１：２解像度レベルからの最良ベクトル（３０５ａ）がフィルタリングされ、図４に図示した最も高い１：１解像度レベルに対して上方投影される。ここでも、投影及びフィルタリングされた最良ベクトル（３０５ａ）を中心に、更新ベクトル（４０５ａ乃至４０５ｄ）のセットが生成される（ステップ１０４）。このレベルでは、更に、更新ベクトル（４１０ａ乃至４１０ｄ）の第二のセットが、古い１：１フィルタリング済みベクトル（２０５）を中心に生成される。更新ベクトル（４２０ａ乃至４２０ｄ）の第三のセットは、カメラベクトル（４１５）を中心に生成される。
【００３０】
カメラベクトルは、完全に独立して計算される各画像パッチ位置での局所的ベクトルとは対照的に、フレームのコンテンツのグローバルな（大域的な）運動を表し、したがって、より優れた真の動きベクトルを求めるのを助けるために使用できる。一般的に発生するいくつかのシナリオにおいて、フレーム内の全ての位置でカメラの移動により発生する動きベクトルは、単純なモデルにより極めて容易に予測できる。例えば、カメラレンズが遠くの風景全体をパンする場合、全ての動きベクトルは、同一となり、カメラの速度と等しくなる。別のシナリオは、壁の写真のような平面上のオブジェクトにカメラレンズがズームインする時である。この時、全ての動きベクトルは、１つの放射方向を有し、画像中心のゼロから画像外周の最大値まで増加する。
【００３１】
一実施例において、プロセスは、最小二乗法を使用して計算された複数の動きベクトルに、数学的モデルを当てはめることを試みる。カメラの複数の動きベクトルと数学的モデルとの間での良好な適合は、上で説明したシナリオの一つが存在すると思われることを示し、そのため、次の再帰的階層ベクトル推定ステップにおいて、カメラモデルの予測ベクトルを追加的な候補ベクトルとして使用できる。カメラベクトルを考慮に入れることは、再帰的階層検索の再帰部分が局所的検索アプローチであり、真の最小値ではなく、誤った局所最小値に収束し得るという点において有利となる。カメラ予測ベクトル候補は、誤った局所最小値の検出を回避し、プロセスを真の最小値に方向付けるのに役立つ可能性がある。
【００３２】
次に、新しい最良ベクトル（４０５ｄ）が、１：４及び１：２解像度レベルと全く同じように求められ（ステップ１０６）、メモリに格納される。プロセスは、その後、更に高い解像度レベルが利用可能かどうかを再び調べる（ステップ１０８）。今回は更に高い解像度レベルが存在しないため、プロセスはステップ１１２に進み、最良ベクトルが動き補償のために選択及び使用され、現在のフレームでのプロセスは完了する。
【００３３】
上のプロセスは、フレーム内の全ての４×４画素画像パッチについて実行され、決定された動きベクトルに基づいて、眼の動きによる期待画像運動と表示画像運動との間で相違が最小限になるように、或いは存在しなくなるように、ソースフレームとターゲットフレームとの間でフレームの補間を作成できる。
【００３４】
上の説明から確認できるように、本発明は、平滑で正確なベクトルフィールドを提供し、極めて少数の計算のみを使用する。更に、多数の解像度レベルにより、収束遅延が低減される。従来のアプローチと比較して、少ない解像度レベルを使用可能であり、各解像度で投影ベクトルをテストすることで保護されるため、低いレベルにおけるベクトルの誤差は、更に高い解像度レベルでの解像度の変化により増幅されない。以前の画像ペアについて決定された動きベクトルのフィルタリング中に一時的ベクトル分割を実行することで、例えば、動いている自動車のボンネットの装飾物等、より小さな境界の詳細、或いは同様のタイプの詳細の周囲でのオブジェクト−背景ベクトルの不連続性を分解するのを支援できる。同時に、一時的ベクトル分割は、オブジェクト境界を含有しない画像領域にも悪影響を与えない。このシナリオにおいては、外れ値ベクトル（即ち、不正確なベクトル）又はベクトル群が良好なベクトルから分離されるため、手順には依然として利益がある。
【００３５】
本発明は、デジタル電子回路、或いはコンピュータハードウェア、ファームウェア、ソフトウェア、又はそれらの組み合わせにおいて実施可能である。本発明の装置は、プログラム可能なプロセッサで実行するために機械読み取り可能なストレージデバイスにおいて明白に実施されたコンピュータプログラム製品において実施可能であり、本発明の方法ステップは、入力データを操作して出力を生成することで本発明の機能を遂行する命令のプログラムを実行するプログラム可能なプロセッサによって実行可能である。本発明は、有利なことに、データストレージシステムと、少なくとも一つの入力デバイスと、少なくとも一つの出力デバイスとからデータ及び命令を受領し、これらに対してデータ及び命令を送信するように結合された少なくとも一つのプログラム可能なプロセッサを含むプログラム可能なシステム上で実行可能な一つ以上のコンピュータプログラムにおいて実施できる。各コンピュータプログラムは、高レベル手続き型又はオブジェクト指向プログラミング言語において、或いは、望ましい場合には、アセンブリ言語又は機械語において、実施可能であり、いずれの場合においても、言語は、コンパイラ型又はインタプリタ型言語にすることができる。適切なプロセッサは、例として、汎用及び特殊用途マイクロプロセッサを共に含む。一般に、プロセッサは、読み出し専用メモリ及び／又はランダムアクセスメモリから命令及びデータを受領する。一般に、コンピュータは、データファイルを格納する一つ以上の大量記憶デバイスを含み、こうしたデバイスは、内蔵ハードディスク及びリムーバブルディスクのような磁気ディスクと、光磁気ディスクと、光ディスクとを含む。コンピュータプログラムの命令及びデータを明白に実施するのに適したストレージデバイスは、例えば、ＥＰＲＯＭ、ＥＥＰＲＯＭ、及びフラッシュメモリデバイスのような半導体メモリデバイスと、内蔵ハードディスク及びリムーバブルディスクのような磁気ディスクと、光磁気ディスクと、ＣＤ−ＲＯＭディスクとを含め、あらゆる形態の不揮発性メモリを含む。上記のいずれかは、ＡＳＩＣ（特定用途向け集積回路）により補足すること、或いは、これに組み込むことが可能である。
【００３６】
図６は、本発明を実施するために利用されるコンピュータシステム６００を図示している。コンピュータシステム６００は、本発明を実施可能なグラフィックスシステムの例に過ぎない。コンピュータシステム６００は、中央演算処理装置（ＣＰＵ）（６１０）と、ランダムアクセスメモリ（ＲＡＭ）（６２０）と、読み出し専用メモリ（ＲＯＭ）（６２５）と、一つ以上の周辺機器（６３０）と、グラフィックスコントローラ（６６０）と、一次記憶デバイス（６４０及び６５０）と、デジタルディスプレイユニット（６７０）とを含む。この技術において周知であるように、ＲＯＭは、データ及び命令をＣＰＵ（６１０）に単方向で転送する役割を果たし、一方、ＲＡＭ（６２０）は、通常、データ及び命令を双方向に転送するために使用される。ＣＰＵ（６１０）は、一般に、任意の数のプロセッサを含むことができる。一次記憶デバイス（６４０及び６５０）は、両方とも、任意の適切なコンピュータ読み取り可能な媒体を含むことができる。通常は大容量メモリデバイスである二次記憶媒体（６８０）も、双方向でＣＰＵ（６１０）に結合され、追加的なデータ記憶容量を提供する。大容量メモリデバイス（６８０）は、コンピュータコード、データ、及びその他を含むプログラムを格納するのに使用できるコンピュータ読み取り可能な媒体である。通常、大容量メモリデバイス（６８０）は、一次記録デバイス（６４０、６５０）よりも一般的に低速な、ハードディスク又はテープのような記憶媒体である。大容量メモリ記憶デバイス（６８０）は、磁気又は紙テープリーダ、或いは他の何らかの周知のデバイスの形態をとることができる。大容量メモリデバイス（６８０）内で保持される情報は、適切である場合、標準的な形で、仮想メモリとしてＲＡＭ（６２０）の一部に組み込んでもよいと理解されるであろう。
【００３７】
ＣＰＵ（６１０）は、更に、ビデオモニタ、トラックボール、マウス、キーボード、マイクロフォン、タッチセンシティブディスプレイ、トランスデューサカードリーダ、磁気又は紙テープリーダ、タブレット、スタイラス、音声又は手書認識器、或いは、当然ながら、他のコンピュータ等、その他の周知の入力デバイスといったデバイスを一部として含むことが可能な一つ以上の入出力デバイス（６９０）に結合される。最後に、ＣＰＵ（６１０）は、（６９５）において一般的に図示したようなネットワーク接続を使用して、コンピュータ、或いはインターネットネットワーク又はイントラネットネットワーク等の電気通信ネットワークに、随意的に結合できる。こうしたネットワーク接続により、ＣＰＵ（６１０）は、上記の方法ステップを実行する過程で、ネットワークから情報を受領してよく、或いは、ネットワークに情報を出力してよいと考えられる。こうした情報は、ＣＰＵ（６１０）を使用して実行される命令のシーケンスとして表現される場合が多く、例えば、搬送波内で具現化されたコンピュータデータ信号の形態で、ネットワークから受領し、ネットワークに出力できる。上記のデバイス及び材料は、コンピュータハードウェア及びソフトウェアに関わる当業者によく知られている。
【００３８】
グラフィックスコントローラ（６６０）は、画像データ及び対応する基準信号を生成し、その両方をデジタルディスプレイユニット（６７０）に提供する。画像データは、例えば、ＣＰＵ（６１０）から、又は外部エンコード（図示なし）から受領した画素データに基づいて生成できる。一実施形態において、画像データは、ＲＧＢ形式で提供され、基準データは、この技術において周知であるＶＳＹＮＣ及びＨＳＹＮＣ信号を含む。しかしながら、本発明は、他の形式のデータ及び／又は基準信号でも実施できると理解されたい。例えば、画像データは、対応する時間参照信号を有するビデオ信号データを含むことができる。
【００３９】
本発明の多数の実施について説明してきた。しかしながら、本発明の趣旨及び範囲から逸脱することなく、様々な変形を為し得ることは理解されよう。例えば、中間層の階層的及び一時的ベクトルに加え、下方投影されたカメラモデル生成ベクトルを、ＳＡＤ計算の候補として使用することもできる。したがって、他の実施形態は、前記特許請求の範囲に含まれる。
【図面の簡単な説明】
【００４０】
【図１】動きベクトルを決定する再帰的階層プロセスのフローチャート。
【図２】ビデオフレームのオリジナル解像度に対して１：４である解像度において最良の動きベクトルを決定するベクトルの例を示す図。
【図３】ビデオフレームのオリジナル解像度に対して１：２である解像度において最良の動きベクトルを決定するベクトルの例を示す図。
【図４】ビデオフレームのオリジナル解像度において最良の動きベクトルを決定するベクトルの例を示す図。
【図５Ａ】一時的ベクトル分割のためのプロセスのフローチャート。
【図５Ｂ】一時的ベクトル分割プロセスにおいて使用可能な近隣ベクトルの例示的なセットを示す図。
【図６】本発明を実施するために利用されるコンピュータシステムを例示した図。
【図１】
2005182829.tif 000003
【図２】
2005182829.tif 000004
【図３】
2005182829.tif 000005
【図４】
2005182829.tif 000006
【図５Ａ】
2005182829.tif 000007
【図５Ｂ】
2005182829.tif 000008
【図６】
2005182829.tif 000009