(57)【要約】ビデオデータの参照フレーム内の第１サーチウインドウが、第１ウインドウの第１相関閾値に従って特定される。第１相関閾値は、コード化される画素の組と第１サーチウインドウの画素の組の間の相関ファクタが比較される値である。例えば、第１サーチウインドウの特別な画素の組とコード化される画素の組の間の相関ファクタが第１１閾値に合致するならば、２つの画素の組の間の良好な一致が見出され、対応するモーションベクトルをコード化される画素の組に割り当てることができる。もし第１ウインドウ内のいかなる画素の組も第１閾値に合致しなければ、第１フレーム内の第２サーチウインドウが第２相関閾値に従って選択される。第２ウインドウ内の画素の組の相関ファクタは、第２相関閾値と比較される。
2006517069.tif 000002
【特許請求の範囲】
【請求項１】
ビデオ信号の処理方法であって、
ビデオデータの第１フレームの第１サーチウインドウを選択するステップであって、前記第１サーチウインドウは第１サーチウインドウサイズを有するステップと、
ビデオデータの第２フレーム内の第２の画素の組に対する前記第１サーチウインドウ内の第１の画素の組の第１相関ファクタを決定するステップと、
前記第１相関ファクタを第１閾値と比較するステップと、
第１フレームの第２サーチウインドウを選択するステップであって、前記第２サーチウインドウは前記第１サーチウインドウサイズより大きな第２サーチウインドウサイズを有するステップと、
前記第２の画素の組に対する前記第２サーチウインドウ内の第３の画素の組の第２相関ファクタを決定するステップと、
前記第２相関ファクタを、前記第１閾値と異なる第２閾値と比較するステップと、を備える方法。
【請求項２】
前記第２サーチウインドウの選択は、前記第２サーチウインドウ内の前記第１の画素の組を備える請求項１に記載の方法。
【請求項３】
前記第１フレームの第３サーチウインドウを選択するステップであって、前記第３サーチウインドウは前記第２サーチウインドウサイズより大きな第３サーチウインドウサイズを有するステップを、更に備える請求項１に記載の方法。
【請求項４】
前記第２の画素の組に対する前記第３サーチウインドウ内の第４の画素の組の第３相関ファクタを決定するステップを、更に備える請求項３に記載の方法。
【請求項５】
前記第３相関ファクタを、第３相関閾値を有する第３閾値と比較するステップであって、前記第３相関閾値は前記第２相関閾値と異なり且つ前記第１相関閾値と異なるステップを更に備える請求項４に記載の方法。
【請求項６】
前記第３サーチウインドウ内の前記第３の画素の組内で、少なくとも１つの画素に基づいて、モーションベクトルを決定するステップを更に備える請求項１に記載の方法。
【請求項７】
前記第１相関ファクタを記憶するステップと、
前記第１相関ファクタを前記第２閾値と比較するステップとを更に備える請求項１に記載の方法。
【請求項８】
前記第１相関ファクタを前記第２閾値と比較するステップは、前記第２相関ファクタを前記第２閾値と比較するステップの前に行われる請求項７に記載の方法。
【請求項９】
前記第１相関ファクタは、第１の相関技術に基づいて決定され、前記第２相関ファクタは、前記第１の相関技術とは異なる第２の相関技術に基づいて決定される請求項１に記載の方法。
【請求項１０】
前記第１相関ファクタは、第１の相関技術に基づいて決定され、前記第２相関ファクタの決定も、前記第１の相関技術に基づいて決定される請求項２に記載の方法。
【請求項１１】
前記第１フレームの第３サーチウインドウを選択するステップであって、前記第３サーチウインドウは前記第１サーチウインドウサイズより大きな第３サーチウインドウサイズを有するステップと、
前記第２の画素の組に対する前記第３サーチウインドウ内の第４の画素の組の第３相関ファクタを決定するステップと、を更に備え、
前記第４の画素の組は、前記第３サーチウインドウ内に画素の組の最良の相関ファクタを有し、前記第４の画素の組を前記第３ウインドウ内の前記最良の相関ファクタを有する画素の組として特定する請求項１に記載の方法。
【請求項１２】
ビデオデータの第１フレームの第１サーチウインドウを選択するステップであって、前記第１サーチウインドウは第１サーチウインドウサイズを有するステップと、
前記第１サーチウインドウ内の第１の画素の組を、ビデオデータの第２フレーム内の第２の画素の組と比較して第１の相関を決定するステップと、
ビデオデータの前記第１フレームの第２サーチウインドウを選択するステップであって、前記第２サーチウインドウは前記第１サーチウインドウサイズより大きな第２サーチウインドウサイズを有するステップと、
前記第２サーチウインドウ内の第２の画素の組を、ビデオデータの第２フレームの画素の組と比較して、第２相関を決定するステップと、を備える方法。
【請求項１３】
第１の閾値を使用して前記第１の相関を評価するステップと、第２の閾値を使用して前記第２の相関を評価するステップと、更にを備え、前記第１の閾値は前記第２の閾値より厳格である請求項１２に記載の方法。
【請求項１４】
ビデオデータの前記第１フレームの第３サーチウインドウを選択するステップであって、前記第３サーチウインドウは前記第２サーチウインドウサイズより大きな第３サーチウインドウサイズを有するステップを、更に備える請求項１２に記載の方法。
【請求項１５】
前記第３サーチウインドウ内の第３の画素の組をビデオデータの前記第２フレーム内の前記第２の画素の組と比較して、第３相関を決定するステップを、更に備える請求項１４に記載の方法。
【請求項１６】
前記第１ウインドウサイズは、前記第２の画素の組のサイズに等しい請求項１２に記載の方法。
【請求項１７】
前記第１の画素の組の比較は、第１の相関技術に基づいて決定される前記第１相関を有し、前記第２の画素の組の比較は、前記第１の相関技術と異なる第２の相関技術に基づいて決定される前記第２相関を有する請求項１に記載の方法。
【請求項１８】
前記第１の画素の組の比較は、第１の相関技術に基づいて決定される前記第１相関を有し、前記第２の画素の組の比較は、前記第１の相関技術に基づいて決定される前記第２相関を有する請求項１に記載の方法。
【請求項１９】
前記第２サーチウインドウの選択は、前記第２サーチウインドウ内の第１の画素の組を備える請求項１２に記載の方法。
【請求項２０】
ビデオデータの処理エレメントと、
前記ビデオデータの処理エレメントに組み合わされるメモリとを備え、
前記メモリは、
ビデオデータの第１フレーム及びビデオデータの第２フレームを記憶するビデオデータ記憶領域と、
プログラムインストラクションを記憶するプログラム記憶領域であって、前記プログラムインストラクションはビデオデータの第１フレームの第１サーチウインドウの選択を容易にし、前記第１サーチウインドウは第１ウインドウサイズを有するプログラム記憶領域と、
前記第１サーチウインドウ内の第１の画素の組を、ビデオデータの第２フレーム内の画素の組と比較して第１の相関を決定する手段と、
ビデオデータの前記第１フレームの第２サーチウインドウを選択し、前記第２サーチウインドウは前記第１サーチウインドウサイズより大きな第２サーチウインドウサイズを有する手段と、
前記第２サーチウインドウ内の第２の画素の組を、ビデオデータの第２フレームの画素の組と比較して、第２相関を決定する手段と、を備えるシステム。
【請求項２１】
前記プログラムインストラクションは、第１の閾値を使用して前記第１の相関を評価し、
第２の閾値を使用して前記第２の相関を評価するのを容易にする手段を更に備え、
前記第１の閾値は前記第２の閾値と異なる請求項２０に記載のシステム。
【請求項２２】
前記プログラムインストラクションは、ビデオデータの前記第１フレームの第３サーチウインドウの選択を容易にする手段を更に備え、前記第３サーチウインドウは前記第２ウインドウサイズより大きな第３ウインドウサイズを有する請求項２０に記載のシステム。
【請求項２３】
前記第１ウインドウサイズを選択する前記プログラムインストラクションは、単一画素である前記第１ウインドウサイズを備え、前記第２ウインドウサイズは複数の画素を有する請求項２０に記載のシステム。
【請求項２４】
コード化される画素の組みのモーションベクトルを決定する方法であって、
ビデオデータの第１フレームの第１サーチウインドウを選択するステップであって、前記第１サーチウインドウは第１サーチウインドウサイズを有するステップと、
前記第１サーチウインドウに関係するいずれかの画素の組が、コード化される画素の組に対して、第１の相関要求に合致するか決定するステップと、
前記第１サーチウインドウに関係するいずれかの画素の組が、第１の相関要求に合致する時に、コード化される画素の組に対してモーションベクトルを決定するステップと、
前記第１サーチウインドウに関係するいずれの画素の組も、第１の相関要求に合致しない時に、
ビデオデータの前記第１フレームの第２サーチウインドウを選択するステップであって、前記第２サーチウインドウは前記第１サーチウインドウサイズより大きな第２サーチウインドウサイズを有するステップと、
前記第１サーチウインドウに関係するいずれかの画素の組が、コード化される前記画素の組に対する第２の相関要求に合致するか決定するステップであって、前記第２相関要求は前記第１相関要求と異なるステップと、
前記第２サーチウインドウに関係するいずれかの画素の組が、前記第２の相関要求に合致する時に、コード化される前記画素の組のモーションベクトルを決定するステップと、を備える方法。
【請求項２５】
前記コード化される前記画素の組のモーションベクトルを決定するステップは、前記第１相関要求より厳格でない前記第２相関要求を備える請求項２４に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概ねビデオデータ処理に関し、特にはモーションベクトルのコード化方法及びシステムに関する。
【背景技術】
【０００２】
デジタルビデオデータのコード化は、一般にはビデオストリームを表すのに必要なデータ量を圧縮するために実行される。従来技術では、フレームの画素の組を一度にコード化することが知られている。例えば、フレームの各マクロブロックは、マクロブロックの画素を、前に表示されるか又はデコードされたフレームの他のマクロブロックの画素と比較することによりコード化できる。コード化される画素の組によく対応する前のフレームにおける画素の組が一旦見つかると、その画素の組を示すモーションベクトルが特定される。画素の組に対するモーションベクトルが一旦特定されると、画素の２つの組の間のいかなる差異情報も計量できて効率的に圧縮できる。
【発明の開示】
【０００３】
コード化の公知の方法は、コード化される画素の組みを、相関閾値になるまで前のフレームにおける又は前のフレームの一部における画素の組と相関する。一旦相関閾値になると、コード化される画素の組に十分によく対応する前のフレームにおける画素の組が見つかったということが分かる。ビデオストリーム及びビデオフレームに関係する多量のデータのために、コード化プロセスは非常に時間を要する処理である。従って、より効率的に画素の組をコード化可能なシステム又は方法が有用である。
【発明を実施するための最良の形態】
【０００４】
本発明の特別な実施例によれば、第１ウインドウが参照フレームのビデオデータ内に選択される。第１ウインドウは、１つ以上の画素の組を含み、各組はコード化される画素の組と相関されて相関ファクタが決定される。更に、第１の閾値が第１のサーチウインドウについて決定される。第１の閾値は、相関ファクタが比較される値である。例えば、もし第１サーチウインドウの特別な画素の組とコード化される画素の組みの間の相関ファクタが第１の閾値に合致するならば、２つの画素の組の間の良好な一致が見つかり、対応するモーションベクトルをコード化される画素の組に割り当てることができる。
【０００５】
もし第１ウインドウ内のいかなる画素の組も第１の閾値に合致しなければ、第１フレーム内に第２サーチウインドウが選択される。第１の閾値と異なる第２の閾値は、第２サーチウインドウについて決定される。典型的には、第２の閾値は第１の閾値より厳格である。コード化される画素の組に相関される第２サーチウインドウの画素の組の相関ファクタは、第２の閾値と比較される。閾値が変化する多重のサーチウインドウを使用することにより、より効率的なコード化プロセスが得られる。例えば、第１サーチウインドウを比較的小さく設定することにより、高い相関レベルを維持しながらより高速の一致が期待できる。これは、コード化プロセスの処理パワーとコード化プロセスの品質の間のトレードオフを設定する機構を、デコーダシステムに提供する。図１から図４は、本発明の特別な実施例を更に示す。
【０００６】
図１は、Ｆ１のフレーム１０２及びＦ２のフレーム１０４を示す。Ｆ１のフレーム１０２は、コード化されるＦ２のフレーム１０４に対する参照フレームを表す。Ｆ１のフレーム１０２は、Ｆ１のフレームに関係する画素データが利用可能で、Ｆ２のフレーム１０４の画素の組がコード化又はデコードされる時に利用可能である参照フレームである。従って、コード化プロセスの間、Ｆ２のフレーム１０４のマクロブロック又はブロックのような各画素の組は、Ｆ１のフレーム１０２の一部と比較されて、実質的に類似の画素の組がＦ１のフレーム１０２内に存在するかどうかが決定される。本発明の特別な実施例は、図２の方法及び図１のフレームデータを参照して更に説明される。
【０００７】
ステップ２０１では、第１サーチウインドウのサイズ及び位置が決定される。例えば、図１を参照すると、サーチウインドウ１１１が定義される。サーチウインドウ１１１は、マクロブロックＦ２／５２に相関される１つ以上の画素の組を有するＦ１のフレーム１０２の領域を表す。ここで、Ｆ２／５２は、Ｆ２のフレーム１０４におけるマクロブロック位置５２におけるマクロブロックを示し、それがコード化されるマクロブロックである。更に、特別なサーチウインドウ内で、サーチがマクロブロックの境界のような特別な画素の組によって制限されないようにするのが適切である。１つの実施例では、第１サーチウインドウ１１１は、サーチされる単一の画素の組を含む。他の実施例では、多重の画素の組が第１サーチウインドウに含まれる。
【０００８】
第１サーチウインドウの位置は、一般に予測されるモーションベクトルに基づいているのが適切である。モーションベクトルを予測する多くの方法があり、第１サーチウインドウの最初の位置をどのように決定するかについては各種の方法で決定することができる。
【０００９】
図２のステップ２０２では、相関閾値が第１ウインドウに対して設定される。コード化される画素の組が第１ウインドウの画素の組に対して相関されと、相関ファクタが決定される。この相関ファクタは、画素の組の間の一致が成功したことが発見された時を決定するように、第１ウインドウの相関閾値と比較される。一般に、第１ウインドウの相関閾値は相対的に高く設定され、他の相関閾値と比較される。これは第１ウインドウ内の画素の組数が相対的に小さいためである。第１ウインドウ内で予測される画素の組数が相対的に小さいため、いくらか高い相関ファクタがパフォーマンスに影響すること無しに使用できる。
【００１０】
ステップ２０３では、サーチウインドウの画素の組が決定される。図１について、単一のサーチウインドウの画素の組が存在している。それにかかわらず、サーチウインドウ内に１つの画素の組が特定される。
【００１１】
ステップ２０４では、相関ファクタがコード化される画素の組とサーチウインドウの画素の組の間に決定される。相関ファクタは、各種の相関技術のどれを使用しても決定できる。そのような技術は、１つの画素の組を他の組から減算して画素の組の間の差を決定するような単純なものでよい。他の技術はより複雑である。例えば、画素の組の情報が空間データを表す場合には、相関技術は、データを非空間画素の組のデータに変換する数学的な変換を実行できる。例えば、サブサンプリング技術及び／又は周波数界データに作用する技術が使用できる。更に、ステップ２０４−２０５−２１１−２１０により形成されるループにおけるステップ２０４のそれぞれの適用は、同一の相関技術又は異なる相関技術に適用できる。例えば、第１サーチウインドウの位置は、次のサーチウインドウとは異なる相関技術を使用することもできる。
【００１２】
ステップ２０５では、相関ファクタがステップ２０２で特定された相関閾値に合致するかの決定がなされる。相関ファクタが相関閾値に合致しない時には、フローはステップ２０６に進み、そこでモーションベクトルがサーチウインドウの画素の組に対応して使用される。もしステップ２０５で相関ファクタが相関閾値に合致しない時には、フローはステップ２１１に進む。現在のウインドウがサーチされる最後のウインドウである実施例では、相関閾値は合致しないように設定できる。これは画素の組がステップ２２１で選択される最適な相関ファクタを有することを可能にする。
【００１３】
ステップ２１１では、サーチウインドウの組が現在のサーチウインドウ内に更に存在するかどうかの決定がなされる。もしそうであれば、フローはステップ２１０に進み、そうでなければフローはステップ２０９に進む。
【００１４】
ステップ２１０では、次のサーチウインドウの画素の組が、現在のウインドウ内で決定される。一旦次のサーチウインドウの画素の組が決定されると、フローはステップ２０４に進む。ステップ２０４、２０５、２１１及び２１０を含むループは、現在のウインドウ内のサーチウインドウのすべての画素の組がコード化される画素の組に相関されるか、又は良好な相関が生じるまで続けられる。
【００１５】
現在のサーチウインドウ内にサーチウインドウの画素の組が存在しない時には、フローはステップ２１１からステップ２０９に進む。ステップ２０９では、サーチウインドウが特定されたかどうかの決定が行われる。もしそうでなければ、フローはステップ２０９から２２１に進み、そこで図２の方法は、最適な画素の組の位置を選択するか及び／又は良好な相関を見つけること無しに終了する。しかし、付加的なサーチウインドウが特定されるならば、フローはステップ２０８に進む。
【００１６】
ステップ２０８では、次のサーチウインドウのサイズ及び位置が決定される。図１を参照すると、サーチウインドウ１１２が特定された次のサーチウインドウである。
【００１７】
ステップ２０７では、相関閾値が次のサーチウインドウ１１２に対して設定される。再び、図１を参照すると、新しい相関閾値がウインドウサイズ１１２に対して設定される。ウインドウサイズ１１２は、サーチウインドウ１１１より多くの画素の組を有するので、より厳格でない相関ファクタが許容される。言い換えれば、長時間のコード化時間を避けるために、相関の品質とおけるトレードオフが許容される。
【００１８】
ステップ２０３では、新しいサーチウインドウの画素の組が特定される。第１サーチウインドウ１１１が新しいサーチウインドウ１１２のサブセットであり、第１のサーチウインドウの画素の組に関係する相関ファクタが再相関無しに維持でき、新しい閾値と比較されることが適切である。第１サーチウインドウの相関ファクタを活かすために、第２サーチウインドウ１１２に特有のサーチウインドウの画素の組だけが相関されなければならず、それにより処理時間を節約できる。
【００１９】
再び前述の方法において、ステップ２０４、２０５、２１１及び２１０がサーチウインドウの画素の組のすべてがコード化される画素の組に対して相関されるか、又は良好な画素の組の相関が生じるまでのいずれかまで繰り返される。
【００２０】
前述の方法で、複数のウインドウ、すなわちサーチウインドウ１１１、１１２及び１１３は、それぞれ異なる相関閾値に合致する画素の組がサーチできる。この方法で、画像の品質と潜在的に消費されると思われる処理時間の量の間のトレードオフが動的に維持できる。これが、単一のウインドウ及び単一の閾値を特定する従来技術に対する利点であることと考えるのが適当である。
【００２１】
図３は、本発明の特別な実施例によるシステムを示す。特に、図３は、データプロセッサ３１０及びメモリ３２０を有するシステム３００を示す。動作においては、データプロセッサ３１０は、メモリ３００にアクセスして、プログラムインストラクション３２２を実行し、ビデオデータ３２４を処理する。例えば、ビデオデータ３２４は、一般に図１のＦ１のフレーム２０２及びＦ２のフレーム２０４のビデオフレームデータを有する。同様に、ビデオプロセッサ３１０は、インストラクションを実行するインストラクション実行ユニットを一般に備える。更に、データプロセッサ３１０は、コプロセッサ３１２を有してもよく、それはここで説明したコード化プロセスの一部又はすべてを実行可能な特別なハードウエアのアクセラレータ及び／又はマイクロコードエンジンを有してもよい。更に、図３の情報プロセッサ３００は汎用コンピュータ、特定用途コンピュータの一部でも、又は大きなシステムの一部として形成されてもよい。
【００２２】
これまでの実施例の詳細な説明では、本発明が実現される特別な実施例の一部が説明のために示された付属の図面を参照された。これらの実施例は、当業者が発明を実行するのに十分詳細に説明され、本発明の精神又は範囲を逸脱すること無しに、他の実施例が可能で、論理的、機械的、及び電気的な変更が行えることが理解されるであろう。当業者が本発明を実行するのに必要でない細部を避けるために、説明は当業者に知られた特定の情報は除いた。更に、本発明の実行を伴う他の多くの変形例が当業者には容易に構成できる。従って、本発明はこれまで説明した特別な形式に限定されるものではなく、逆に本発明の精神及び範囲内に合理的に含まれる変形例、等価物をカバーすることが意図されている。したがって、これまでの詳細な説明は限定の意味で記載されたものではなく、本発明の範囲は付属の請求範囲によってのみ規定される。
【図面の簡単な説明】
【００２３】
【図１】図１は、本発明によるビデオデータの参照フレームのグラフィックな表現を、ブロック図で示す。
【図２】図２は、本発明による方法を、フロー図で示す。
【図３】図３は、本発明の特別な実施例を実現したシステムをブロック図で示す。
【図１】
2006517069.tif 000003
【図２】
2006517069.tif 000004
【図３】
2006517069.tif 000005
【国際調査報告】
2006517069.tif 000006
2006517069.tif 000007
2006517069.tif 000008