(57)【要約】  候補動きベクトルを分布させるシステムおよび方法は、１つのピクチャ・フレーム（１１０）を、各セグメント（１２０）が複数のピクチャ・ブロック（１３０）を含む複数のセグメント（１２０）に分割する。次いで、各セグメントの局所的な動き複雑性は、フレーム（１１０ａ）のブロック（１３０）と、隣接するフレーム（１１０ｂ）のピクセル・ブロック（１３０）との間の差分絶対値和（ＳＡＤ）を決定し、各セグメント（１２０）内のピクセル・ブロック（１３０）のＳＡＤ値を合計することによって測定されてもよい。セグメントの最大、最小、および平均のＳＡＤ値を使用して、ブロック当たりの候補ベクトルの所望の最大数、最小数、および平均数に従うように候補ベクトルを分布させる分布関数を定義してもよい。次いでこの分布関数を使用して、関連のセグメント（１２０）の測定されたＳＡＤ値に基づいて、ピクセル・ブロック（１３０）に割り当てるべき候補ベクトルの数を決定する。
2007520809.tif 000002
【特許請求の範囲】
【請求項１】
候補動きベクトルを分布させる方法であって、ピクチャ・フレームを各セグメントが複数のピクセル・ブロックを含む複数のセグメントに分割すること、セグメントごとに局所的な動き複雑性を測定すること、前記測定された局所的な動き複雑性に基づいて各セグメント内のピクセル・ブロックにいくつかの候補ベクトルを割り当てることを含む方法。
【請求項２】
測定する前記ステップが、ピクチャ・フレームのピクセル・ブロックと隣接するフレームの対応するピクセル・ブロックとの間の差分絶対値和を決定すること、各セグメント内のピクセル・ブロックに関連付けられている前記測定された差分絶対値和を合計することを含む請求項１に記載の方法。
【請求項３】
割り当てる前記ステップが各セグメントの前記測定された局所的な動き複雑性に基づいて前記いくつかの候補ベクトルを割り当てるように構成された分布関数を使用することを含む請求項２に記載の方法。
【請求項４】
前記分布関数が前記セグメントの前記測定された差分絶対値和の最大値、最小値、および平均値に基づく請求項３に記載の方法。
【請求項５】
前記分布関数がブロック当たりの候補ベクトルの最大数、最小数、および平均数の所定の値にさらに基づく請求項４に記載の方法。
【請求項６】
各ピクセル・ブロックに割り当てられた前記いくつかの候補ベクトルを使用して前記ピクセル・ブロックに動き推定を実行することをさらに含む請求項１に記載の方法。
【請求項７】
候補ベクトルを分布させるシステムであって、ピクチャ・フレームを、各セグメントが複数のピクセル・ブロックを含む複数のセグメントに分割する手段と、セグメントごとに局所的な動き複雑性を測定する手段と、前記測定された局所的な動き複雑性に基づいて各セグメント内のピクセル・ブロックにいくつかの候補ベクトルを割り当てる手段とを含むシステム。
【請求項８】
測定する前記手段が、ピクチャ・フレームのピクセル・ブロックと、隣接するフレームの対応するピクセル・ブロックとの間の差分絶対値和を決定する手段と、各セグメント内のピクセル・ブロックに関連付けられている前記測定された差分絶対値和を合計する手段とを含む請求項７に記載のシステム。
【請求項９】
割り当てる前記手段が各セグメントの前記測定された局所的な動き複雑性に基づいて前記いくつかの候補ベクトルを割り当てるように構成された分布関数を使用する請求項８に記載のシステム。
【請求項１０】
前記分布関数が前記セグメントの前記測定された差分絶対値和の最大値、最小値、および平均値に基づく請求項９に記載のシステム。
【請求項１１】
前記分布関数がブロック当たりの候補ベクトルの最大数、最小数、および平均数の所定の値にさらに基づく請求項１０に記載のシステム。
【請求項１２】
各ピクセル・ブロックに割り当てられた前記いくつかの候補ベクトルを使用して前記ピクセル・ブロックに動き推定を実行する手段をさらに含む請求項７に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般にビデオ処理アプリケーションに関し、より詳細には、局所的な動き複雑性［local motion complexity］に基づいて候補ベクトルを分布させるためのシステムおよび方法に関する。
【背景技術】
【０００２】
高品質のビデオ処理アプリケーションでは、一般に、走査周波数の変換、ノイズ低減、内容符号化、圧縮など、様々な有益な機能を実行するために、動き推定が使用される。この件に関して、ビデオ信号の異なる特徴、異なるタイプの動き、および特定のビデオ処理アプリケーションの異なる目的を補うために、様々な動き推定技術が開発されてきた。
【０００３】
これらの動き推定技術は、一般に限られた組のいわゆる候補動きベクトル［candidate motion vector］を評価することによりピクセルのブロックの動きを推定する。ピクセルのブロックごとに、動き推定技術は、空間および／または時間領域内でオフセットされた検出された動きベクトルの中から選択することによって、ある３Ｄの区域から候補ベクトルを選択する。例えば、候補ベクトルは、同じフレーム内の空間的にオフセットされた１つまたは複数の動きベクトル、および前または後ろのフレーム内の時間的にオフセットされた１つまたは複数の動きベクトルを含むことがある。更新された動きベクトルを考慮に入れたり、静的テキストなどのゼロ動作を補ったりするために、追加の「特別な」候補ベクトルが使用されてもよい。いずれにしても、ピクセルのブロックごとに評価される候補ベクトルの数は一般に、特定の動き推定技術によって固定され、予め定義されている。簡単であろうと難しかろうと、同じ数の候補ベクトルを使用してすべての領域が評価される。
【０００４】
候補ベクトルの数を固定することによって、ハードウェアおよびソフトウェアの実装は簡略化されるが、これらの手法は、最適さに欠ける結果をもたらすことがある。例えば、限られた計算リソースおよびメモリ帯域幅を効率的に使用するために、さらに推定し難いピクチャの領域により重点が置かれ、推定しやすい領域（等速運動を含む背景など）にはあまり重点が置かれないように、動き推定は、理想的には、場面の複雑さ、および局所的な内容に合うようにすべきである。等速（収束した）運動を含むピクチャ領域内の多くの候補ベクトルを評価することによって、ビデオ信号内に面倒な歪みをもたらす可能性があり、したがって有益無害となることもわかっている。固定数の予め定められた候補ベクトルを使用することによって、既存の動き推定技術は、限られたリソースの非効率的な、または望ましくない割り振りをもたらす可能性がある。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
したがって、上記の問題の観点から局所的な動き複雑性に基づいて候補動きベクトルを効率良く分布させるシステムおよび方法が必要である。これらのシステムおよび方法は、好ましくは動き推定技術を使用するビデオ処理アプリケーションにおいて限られたリソースの割り振りを向上させるために使用される。
【課題を解決するための手段】
【０００６】
本発明の実施形態は、局所的な動き複雑性に基づいて候補ベクトルを分布させるシステムおよび方法を提供することにより上記の問題の多くを改善する。一実施形態において、１つのピクチャ・フレームは、各セグメントが複数のピクセル・ブロックを含む複数のセグメントに分割される。次いで、各セグメントの局所的な動き複雑性は、例えば、そのフレームのピクセル・ブロックと、隣接するフレームのピクセル・ブロックとの間の差分絶対値和（ＳＡＤ―Sum-of-Absolute Differences―）を決定し、各セグメント内のピクセル・ブロックのＳＡＤ値を合計することによって測定されてもよい。次いで、測定された局所的な動き複雑性に基づいて、各ブロックに割り当てられる候補ベクトルの数が決定されてもよい。
【０００７】
他の実施形態は、候補ベクトルの数を各ピクセル・ブロックに割り当てる機構を提供する。例えば、一実施形態において、ピクチャ・フレーム内のセグメントの最大、最小、および平均のＳＡＤ値を使用して候補ベクトルを分布させる分布関数が決定されてもよい。分布関数は、分布関数が候補ベクトルの所望の分布を達成するように、ブロック当たりの候補ベクトルの最大数、最小数、および平均数の所定の値を使用してもよい。このように分布関数は、より高いＳＡＤ値を有する（動き複雑性が高い）セグメント内のピクセル・ブロックにより多くの候補ベクトルを分布させ、より低いＳＡＤ値を有する（動き複雑性が低い）セグメント内のピクセル・ブロックにより少ない候補ベクトルを分布させる。候補ベクトル数のこの非均一な分布によって、こうしたリソースが必要とされるピクチャの部分にリソースを向け直すことを確実にすることができる。
【０００８】
本発明のこれらおよび他の特徴および利点は、以降の詳細な説明を添付の図面と併せ読めば当業者により明らかになるであろう。
【発明を実施するための最良の形態】
【０００９】
本発明の実施形態は、局所的な動き複雑性に基づいて候補動きベクトルを分布させるためのシステムおよび方法を提供する。以降の説明は、当業者が本発明を作成し、使用できるようにするために提示される。特定のアプリケーションの説明は、例として提供されているにすぎない。好ましい実施形態の様々な変更、代用、および変形は、当業者には容易にわかり、本明細書に定義された一般的な原理は、本発明の範囲から逸脱することなく、他の実施形態および用途に適用されてもよい。したがって、本発明は、記述され、例示された実施形態に限定されるべきものではなく、本明細書に開示された原理および特徴と一致した最も広範な範囲が与えられるべきである。
【００１０】
本発明の実施形態は、限られた計算リソースを、動き推定の質を犠牲にすることなくピクチャ・フレームの異なる部分に効率良く割り振るために使用されてもよい。一実施形態において、各ピクチャ・フレームは、各セグメントが複数のピクセル・ブロックを含む複数のセグメントに分割される。次いで、各セグメント内のピクセル・ブロックについて評価される候補ベクトルの数は、対応する各セグメントの相対的な動き複雑性の推定に基づいて決定されてもよい。このように、同じセグメント内のピクセル・ブロックには同じ数の候補ベクトルが割り振られるが、異なるセグメント内のピクセル・ブロックには、異なるセグメントの相対的な動き複雑性に応じて、異なる数の候補ベクトルが割り振られてもよい。この手法は、各グループ内の相対的な動きベクトルに基づいて、異なるグループのピクセル・ブロックに対する候補動きベクトル（およびその評価で使用される関連の計算リソース）の非均一な分布を作り出す。
【００１１】
各セグメントの相対的な動き複雑性を推定するために、あるフレームのピクセルと隣接するフレームの対応するピクセルとの間の差分絶対値和（ＳＡＤ）が計算されてもよく、隣接するフレームの対応するピクセルは、候補動きベクトルに従って空間的に配列されても、または空間的にオフセットされてもよい。この場合のＳＡＤ値は、隣接するフレームのブロック間のピクセルの差の絶対値の合計を計算するために、各セグメントのＳＡＤ値は、セグメント内のブロックの不一致エラーをもたらすので、各セグメントの動き複雑性の間接的な基準として使用されてもよい。セグメントは、高いＳＡＤ値を有する場合、おそらく高い動き複雑性を有しており、したがってセグメント内のピクセル・ブロックは、より多くの候補動きベクトルで恩恵を受ける可能性がある。セグメントは、低いＳＡＤ値を有する場合、おそらく低い動き複雑性を有しており、したがってより少ない候補ベクトルをそのセグメント内のピクセル・ブロックに割り振ることがより効率的である可能性がある。各セグメントの相対的な動き複雑性に基づいてより多くの、またはより少ない候補ベクトルを分布させることによって、限られた計算リソースを、相対的な必要性に基づいてピクチャの異なる部分にわたって非均一に分布させることができる。
【００１２】
図１を参照すると、本発明の一実施形態によるピクチャ・フレーム例が１００におおまかに示されている。示されているように、フレーム例１１０は、２４個のピクチャ・セグメント１２０に分割され、各セグメント１２０は、１６個の８×８ピクチャ・ブロック１３０を含む。理解しやすいように、第１のセグメント１２０のピクセル・ブロック１３０のみが示されている。図１のフレーム例は例示の目的で提供されているにすぎず、本発明によってピクチャ・フレームの他の再分割が検討され、含まれることは理解されよう。
【００１３】
各セグメント１２０の動き複雑性を推定するために、あるフレーム１１０ａのピクセル・ブロック１３０と、隣接するフレーム１１０ｂの対応するピクセル・ブロック１３０との間でＳＡＤ値が計算される。この文脈では、隣接するフレーム１１０ｂの対応するピクセル・ブロック１３０を、現在のフレーム１１０ａのピクセル・ブロック１３０と空間的に合わせることができることは理解されよう。あるいは、隣接するフレーム１１０ｂの対応するピクセル・ブロック１３０は、限られた１組の候補動きベクトルを使用して決定される推定された動きベクトルに基づいて現在のフレーム１１０ａ内のピクセル・ブロック１３０に対して空間的にオフセットされてもよい。したがって、本発明の実施形態では、隣接するフレーム１１０ｂの対応するピクセル・ブロック１３０を、現在のフレーム１１０ａのピクセル・ブロックに対して空間的に合わせる、または空間的にオフセットすることができる。
【００１４】
各セグメント１２０は、複数のピクセル・ブロック１３０を含み、各ターゲット・セグメント１２０のＳＡＤ値は、ターゲット・セグメント１２０内の個々のピクセル・ブロック１３０のＳＡＤ値を合計することによって決定されてもよい。したがって、各セグメント１２０のＳＡＤ値は、各セグメント１２０内のピクセル・ブロック１３０間の不一致エラーの推定を提供し、したがって、各セグメント１２０の局所的な動き複雑性の推定を提供する。
【００１５】
各セグメント１２０のＳＡＤ値が決定されると、候補ベクトルの所望の分布を生成するために各セグメント１２０内のピクセル・ブロック１３０について評価されるべき候補ベクトルの数を決定するために分布関数が使用されてもよい。例えば、フレーム１１０内のすべてのブロック１３０について、平均Ｎ＿ａｖ個の候補動きベクトルを評価するために十分なリソースがあると仮定する。さらに、評価されるべき候補ベクトルの数を、ブロック１３０当たりそれぞれＮ＿ｍａｘおよびＮ＿ｍｉｎの最大数および最小数の候補に限定することが望ましいと仮定する。次いで、以降の規則を適用することによって、候補ベクトルの分布関数が決定されてもよい。（１）最も低い一致エラー（最低ＳＡＤ）を有するセグメント内のピクセル・ブロック１３０について、Ｎ＿ｍｉｎ個の候補ベクトルを評価する。（２）最も高い一致エラー（最高ＳＡＤ）を有するセグメント内のピクセル・ブロック１３０について、Ｎ＿ｍａｘ個の候補ベクトルを評価する。（３）平均の一致エラーを有するセグメント内のブロック１３０について、ブロック当たりＮ＿ａｖ個の候補ベクトルを評価する。これらの規則に基づいて、以降の式の例が適用される。
Ｎ＿ｍｉｎ＝ａ＋ｂ＊ＳＡＤ＿ｍｉｎ＋ｃ＊ＳＡＤ＿ｍｉｎ＊ＳＡＤ＿ｍｉｎ  （１）
Ｎ＿ｍａｘ＝ａ＋ｂ＊ＳＡＤ＿ｍａｘ＋ｃ＊ＳＡＤ＿ｍａｘ＊ＳＡＤ＿ｍａｘ  （２）
Ｎ＿ａｖ＝ａ＋ｂ＊ＳＡＤ＿ａｖ＋ｃ＊ＳＡＤ＿ａｖ＊ＳＡＤ＿ａｖ          （３）
【００１６】
式（１）〜（３）で、ＳＡＤ＿ｍａｘ、ＳＡＤ＿ｍｉｎ、およびＳＡＤ＿ａｖは、それぞれ目的のフレーム内のすべてのセグメントの最大、最小、および平均のＳＡＤ値に対応する。さらに、Ｎ＿ｍａｘ、Ｎ＿ｍｉｎ、およびＮ＿ａｖはそれぞれ、ピクセル・ブロック中に候補ベクトルの所望の分布をもたらす、候補ベクトルの最大数、最小数、および平均数の所定の値とすることができる。好ましい実施形態において、Ｎ＿ｍａｘは９、Ｎ＿ｍｉｎは４、およびＮ＿ａｖは６である。
【００１７】
ａ、ｂ、およびｃの値を決定するために、上記の式（１）〜（３）が同時に解かれる場合、以降の式を使用して、セグメントの対応するＳＡＤ値に基づいて各セグメント内で評価されるべき候補ベクトルの数を決定することができる。
Ｎ＿ｃａｎｄｉ＝ａ＋ｂ＊ＳＡＤｉ＋ｃ＊ＳＡＤｉ＊ＳＡＤｉ                （４）
式中、Ｎ＿ｃａｎｄｉは、ｉ番目のセグメント内のピクセル・ブロックについて評価されるべき候補ベクトルの数であり、ＳＡＤｉは、ｉ番目のセグメントのＳＡＤ値である。式（４）を使用して候補ベクトル数を決定することによって、評価すべき使用可能な動きベクトルの数を、各セグメントの局所的な動き複雑性に従って様々なピクセル・ブロックにわたって分布させることができ、すなわち、リソースは、必要とされる場所で費やされる。また、式（４）の分布関数は、候補ベクトルの分布が所望の分布に従うように候補ベクトルの数を割り振る（例えば、ＳＡＤｉ＝ＳＡＤ＿ｍａｘである場合、Ｎ＿ｃａｎｄｉ＝Ｎ＿ｍａｘ、ＳＡＤｉ＝ＳＡＤ＿ｍｉｎである場合、Ｎ＿ｃａｎｄｉ＝Ｎ＿ｍｉｎなどとなる）。
【００１８】
ピクセル・ブロック当たりの固定数の動き候補を使用する方式と比較して、提示された方式は、（１）候補ベクトルの同じ合計数で向上された動き推定の質を提供し、および／または、（２）より少ない数の候補ベクトルで類似の動き推定の質を提供することを支援する。他の式の組が使用されてもよく、（異なる）分布関数に到達するために異なる式が解かれてもよいことは、当業者には明らかである。提示された分布の式の組は、例にすぎない。さらに、局所的な動き複雑性の異なるまたは複数の測定値が考慮されてもよい。例えば、ＳＡＤ値を使用する代わりに、本発明の実施形態は、本発明の原理から逸脱することなく、平均２乗誤差（ＭＳＥ―Mean-Squared Error―）など、不一致エラーの別の推定を使用することができる。
【００１９】
図２を参照すると、本発明の一実施形態による候補ベクトルを分布させるフローチャート形式の方法例が２００におおまかに示されている。示されているように、方法例は、ステップ２１０で、例えば複数のピクセル・ブロックのＳＡＤ値またはＭＳＥ値を測定し、１群のピクセル・ブロックのＳＡＤ値またはＭＳＥ値を合計することによって、局所的な動き複雑性を測定する。次いでステップ２２０で、各ピクセル・ブロックに割り当てられた候補ベクトルの数を決定する分布関数が決定される。このプロセスは、測定された局所的な動き複雑性に基づいて候補ベクトルの所望の分布を定義する上記の式（１）〜（４）などの１組の分布式の展開を伴ってもよい。これらの式は、測定された動き複雑性の最大値、最小値、または平均値など、１つまたは複数のアンカー値を含んでもよい。
【００２０】
ステップ２３０において、各ピクセル・ブロックについて評価されるべき候補ベクトルの数は、例えば、式（４）の分布関数およびピクセル・ブロックの測定された局所的な複雑性を使用して決定される。次いでステップ２４０で、各ピクセル・ブロックに割り当てられた候補ベクトルの数を使用して、適用可能なビデオ・フレームの動き推定が行なわれてもよい。動き推定技術は、異なる数の候補ベクトルが異なるピクセル・ブロックに割り当てられる可能性があるということを考慮に入れるべきであることに留意すべきである。例えば、評価され得る候補ベクトルが１つまたは複数の空間ベクトル、１つまたは複数の時間ベクトル、更新（変更された動き）ベクトル、グローバルな動きベクトル、およびゼロ動作ベクトルを含んでいる場合、動き推定技術は、候補ベクトルの各タイプに優先順位を割り当ててもよい。考え得るすべての候補ベクトルを評価するのにピクセル・ブロックに割り当てられた候補ベクトルの数が不十分な場合、動き推定技術は、次いでベクトルの相対的な優先度に基づいて候補ベクトルのタイプの中から選択することができる。このようにして、比較的少数の候補ベクトルが割り当てられたピクセル・ブロックについて最も関連のある動きベクトルが評価される。さらに、より少数の候補ベクトルが比較的簡単な動き複雑性のピクセル・ブロックに割り当てられるように候補ベクトルの数が選択された場合、この限られた組の動きベクトルは、動き推定の質を犠牲にすることなく、関与する動きを補うのに十分であり得る。
【００２１】
図３を参照すると、本発明の実施形態に従って使用され得るプラットフォーム例が３００におおまかに示されている。示されているように、プラットフォーム例は、システム・バス３４０を介してメモリ・システム３２０に動作可能に結合されているマイクロプロセッサ３１０を含む。メモリ・システムは、ランダム・アクセス・メモリ、ハード・ドライブ、フロッピー・ドライブ、コンパクト・ディスク、動き推定モジュール３５０およびビデオ処理アプリケーション１５０のコンピュータ命令を格納する他のコンピュータ可読媒体を含んでいてもよい。また、システム例は、システムがビデオ信号を入出力できるように、マイクロプロセッサ３１０およびメモリ・システム３２０に結合されたＩ／Ｏインターフェイス３３０も含む。
【００２２】
動作中に、ビデオ処理アプリケーション３６０は、動き推定モジュール３５０を使用して、Ｉ／Ｏインターフェイス３３０から受信されたビデオ信号を処理し、処理されたビデオ信号をＩ／Ｏインターフェイス３３０に出力する。動き推定モジュール３５０が上述された原理に従って実装される場合、システム例は、動き推定の質を犠牲にすることなく、マイクロプロセッサ３１０の限られた処理リソース、およびメモリ・システム３５０の限られたメモリ帯域幅を効率良く使用するように構成されてもよい。さらに、動き推定モジュール３５０および／またはビデオ処理アプリケーション３６０が（図３に示されているソフトウェアのみの実装形態の代わりに）ハードウェア、またはハードウェアおよびソフトウェアの組合せに実装される場合、システム例の他の実施形態によって、システム設計者に、最適の構成の設計における柔軟性が提供される。
【００２３】
本発明は、実施形態例を参照して説明されてきたが、本発明は、開示され、示された実施形態に限定されず、逆に、他の多数の変更、代用、および変形、および頭記の特許請求の範囲内に含まれる広範な同等の構成をカバーするものとすることを当業者であれば容易に理解されよう。
【図面の簡単な説明】
【００２４】
【図１】本発明の一実施形態によるピクチャ・フレーム例を示す図である。
【図２】本発明の一実施形態による候補ベクトルを分布させるフローチャート形式の方法例を示す図である。
【図３】本発明の実施形態に従って使用され得るプラットフォーム例を示す図である。
【図１】
2007520809.tif 000003
【図２】
2007520809.tif 000004
【図３】
2007520809.tif 000005
【国際調査報告】
2007520809.tif 000006
2007520809.tif 000007