(57)【要約】  複数個のブロック集合を持つフレームでブロック別に相異なる探索ポイントを設定して動きベクトルを求める動き推定方法及び装置を提供する。本発明は、入力される映像フレームのブロックの集合内でブロック別に相異なる動き探索ポイントを設定するステップと、設定された各ブロックの動き探索ポイントでフレーム間のブロックの歪曲程度を測定して、各ブロックの候補動きベクトル値を推定するステップと、推定された候補ベクトル値を現在ブロックに適用して、現在ブロックを基準に各候補ベクトルが適用されたブロックの歪曲程度を測定し、そのブロックの歪曲程度が最小である値を現在ブロックの最終動きベクトルに決定するステップと、を含む。
2009525663.tif 000002
【特許請求の範囲】
【請求項１】
映像動き推定方法において、
入力される映像フレームのブロックの集合内でブロック別に相異なる動き探索ポイントを設定するステップと、
前記設定された各ブロックの動き探索ポイントでフレーム間のブロックの歪曲程度を測定して、各ブロックの候補動きベクトル値を推定するステップと、
前記推定された候補ベクトル値を現在ブロックに適用して、現在ブロックを基準に各候補ベクトルが適用されたブロックの歪曲程度を測定し、そのブロックの歪曲程度が最小である値を現在ブロックの最終動きベクトルに決定するステップと、を含む動き推定方法。
【請求項２】
前記動き探索ポイント設定ステップは、
時間差を持つ二つの映像フレームを入力するステップと、
入力される二つの映像フレームのうち、現在フレームを基準に時間軸に隣接した参照フレームのブロック単位をブロックの集合に分け、そのブロックの集合内でブロック別に相異なる大きさの動きを探索する探索ポイントを割り当てるステップと、を含むことを特徴とする請求項１に記載の動き推定方法。
【請求項３】
前記動き探索ポイント設定ステップは、動きの大きさ及び動きの種類によってブロック別に相異なる探索ポイントを設定することを特徴とする請求項１に記載の動き推定方法。
【請求項４】
前記動き探索ポイント設定ステップは、前記ブロックの集合内ブロックの数を可変的に適用することを特徴とする請求項１に記載の動き推定方法。
【請求項５】
前記動き探索ポイント設定ステップは、ブロックの集合内ブロックで探索ポイントの配置を変形することを特徴とする請求項１に記載の動き推定方法。
【請求項６】
前記エラー歪曲程度はＳＡＤで測定することを特徴とする請求項１に記載の動き推定方法。
【請求項７】
前記最終動きベクトル決定ステップは、
現在ブロックに自身の動きベクトルと隣接ブロックの動きベクトルとを適用して各ブロックの歪曲程度を測定することを特徴とする請求項１に記載の動き推定方法。
【請求項８】
前記最終動きベクトル決定ステップは、
現在ブロックを基準に各候補動きベクトルに対して生成された各ブロックの歪曲程度に加重値を乗算するステップをさらに含むことを特徴とする請求項１に記載の動き推定方法。
【請求項９】
前記加重値は、隣接ブロックの探索ポイントの配置状態によって各ブロックの歪曲程度に異ならせて適用することを特徴とする請求項８に記載の動き推定方法。
【請求項１０】
前記加重値は、現在ブロックを基準に参照するブロックの空間上位置によって各ブロックの歪曲程度に異ならせて適用することを特徴とする請求項８に記載の動き推定方法。
【請求項１１】
映像動き推定装置において、
入力される映像フレームのブロックの集合内でブロック別に相異なる動き探索ポイントを割り当てる探索ポイント割り当て部と、
前記探索ポイント割り当て部で割り当てられた各ブロックの動き探索ポイントでフレーム間のブロックの歪曲程度を測定して、各ブロックの初期動きベクトル値を推定するエラーマッチング部と、
前記エラーマッチング部で推定された初期ベクトル値を現在ブロックに適用して、現在ブロックを基準に各初期ベクトルが適用されたブロックの歪曲程度を測定し、そのブロックの歪曲程度が最小である値を現在ブロックの動きベクトルに決定する動きベクトル決定部と、を備える動き推定装置。
【請求項１２】
前記探索ポイント割り当て部は、動きの大きさ及び動きの種類によって参照フレーム内ブロック別に相異なる探索ポイントを設定する手段であることを特徴とする請求項１１に記載の動き推定装置。
【請求項１３】
前記動きベクトル決定部は、
前記エラーマッチング部で推定された初期ベクトル値を現在ブロックに適用して、現在ブロックを基準に各初期ベクトルが適用されたブロックの歪曲程度を測定して複数個のエラー関数値を生成する第２エラーマッチング部と、
前記第２エラーマッチング部で生成されたエラー関数値に動き方向による加重値を乗算する乗算部と、
前記乗算部で乗算されたエラー関数値のうち、最小値を動きベクトルに決定する最小値選択部と、を備えることを特徴とする請求項１１に記載の動き推定装置。
【請求項１４】
入力される映像フレームのブロックの集合内でブロック別に相異なる動き探索ポイントを設定するステップと、
前記設定された各ブロックの動き探索ポイントでフレーム間のブロックの歪曲程度を測定して、各ブロックの候補動きベクトル値を推定するステップと、
前記推定された候補ベクトル値を現在ブロックに適用して、現在ブロックを基準に各候補ベクトルが適用されたブロックの歪曲程度を測定し、そのブロックの歪曲程度が最小である値を現在ブロックの最終動きベクトルに決定するステップと、を含むことを特徴とする立体音響生成方法をコンピュータで実行させるためのプログラムを記録したコンピュータで読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、映像信号圧縮システムに係り、特に、複数個のブロック集合を持つフレームでブロック別に相異なる探索ポイントを設定して動きベクトルを求める動き推定方法及び装置及び装置に関する。
【背景技術】
【０００２】
通常パソコンやＨＤＴＶ（Ｈｉｇｈ−Ｄｅｆｉｎｉｔｉｏｎ  Ｔｅｌｅｖｉｓｉｏｎｓ）では、ＰＡＬ（Ｐｈａｓｅ  Ａｌｔｅｒｎａｔｉｏｎ  Ｌｉｎｅ）またはＮＴＳＣ（Ｎａｔｉｏｎａｌ  Ｔｅｌｅｖｉｓｉｏｎ  Ｓｙｓｔｅｍ  Ｃｏｍｍｉｔｔｅｅ）のような多様な放送信号規格を持つプログラムを互いに交換するために、ＦＲＣ（Ｆｒａｍｅ  Ｒａｔｅ  Ｃｏｎｖｅｒｓｉｏｎ）を行う。ＦＲＣは秒当たり出力されるフレーム数を変換させることを意味する。特に、フレームレートが増加する場合に新たなフレームを補間するステップが必要である。一方、最近には放送技術の発達につれてＭＰＥＧ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）、Ｈ．２６３のような映像圧縮方式により映像データを圧縮した後、ＦＲＣを行っている。
【０００３】
かかる映像処理分野で映像信号は、大部分の場合に相関関係が大きいため、重複性を持っている。したがって、データ圧縮時に重複性を除去することによってデータ圧縮効果を向上させることができる。この時、経時的に変わるビデオフレームを効率的に圧縮するためには、時間軸方向の重複性除去が必要である。すなわち、動きのないフレームや若干の動きがあるフレームは以前フレームに代替することによって、伝送せねばならないデータ量を大幅に低減できる。動き推定（Ｍｏｔｉｏｎ  Ｅｓｔｉｍａｔｉｏｎ、ＭＥ）は、以前フレームと現在フレームとの間で最も類似したブロックを探す作業である。動きベクトル（Ｍｏｔｉｏｎ  Ｖｅｃｔｏｒ、ＭＶ）は、一フレーム内でブロックの変位を表す。
【０００４】
一般的に動き推定方法は、画素循環アルゴリズム（ＰＲＡ：Ｐｅｌ  Ｒｅｃｕｒｓｉｖｅ  Ａｌｇｏｒｉｔｈｍ）とブロックマッチングアルゴリズム（ＢＭＡ：Ｂｌｏｃｋ  Ｍａｔｃｈｉｎｇ  Ａｌｇｏｒｉｔｈｍ）などがある。このうち、ブロックマッチングアルゴリズムは、アルゴリズムが簡単でハードウェア具現が容易であってリアルタイム処理が可能なために、動映像符号化やＦＲＣなどで広く利用している。
【０００５】
ブロックマッチングアルゴリズムは、全域探索方式、ＴＳＳ（Ｔｈｒｅｅ  Ｓｔｅｐ  Ｓｅａｒｃｈ）方式などがある。
【０００６】
全域探索方式は、探索領域内でＳＡＤ（Ｓｕｍ  ｏｆ  Ａｂｓｏｌｕｔｅ  Ｄｉｆｆｅｒｅｎｃｅ）の最も少ないブロックを探すことで正確な動き情報を提供するが、計算量が多いという短所がある。
【０００７】
ＴＳＳ方式は、中心点からステップの間隔を縮めつつ整合点を探すことで最適の動きを推定する。
【０００８】
図１は、従来のＴＳＳ方式を利用した動き推定方法を示すものである。図１で、１０１は、参照フレームの探索領域である。１０２は、参照フレームの参照ブロックである。１０３は、現在フレームのブロックであり、１０４は、探索ポイントである。
【０００９】
図１を参照するに、先ず（０，０）の位置の基準探索ポイントと隣接した８つの探索ポイントとのＳＡＤを比較して、最も小さなＳＡＤを持つ探索ポイントを探し、次いで、その探索ポイントを基準に探索ステップの大きさを半分にして探索を行う。最終的に探索ステップ大きさが１になるまで探索ステップを反復して最も小さなＳＡＤを持つ探索ポイント１０５を捜し出し、その探索ポイントを最終的な動きベクトルに決定する。
【００１０】
しかし、このようなＴＳＳ方式は、ブロック内で多くの局部的な最小値によって間違った探索をするという問題点がある。
【００１１】
図２のグラフを見れば、一つのブロックでエラー関数に該当する最小ＳＡＤ値が５つほど存在する。したがって、ＴＳＳ方式は、時間軸に隣接したブロック間にただ一つの最小ＳＡＤ値が存在せねばならないが、実際には局部的な複数の最小ＳＡＤ値が存在し、このような局部的な最小ＳＡＤ値により実際動き情報を探せない誤りを犯すようになる。したがって、従来のＴＳＳ方式は、局部的な最小ＳＡＤ値により実際映像でブロックキングアーティファクトを招くという問題点がある。またＴＳＳ方式は、いずれもブロック別に同じ探索ポイントが定められているために、探索範囲を外れる動き情報を推定し難いという問題点がある。
【発明の開示】
【発明が解決しようとする課題】
【００１２】
本発明が解決しようとする技術的課題は、複数個のブロック集合を持つフレームでブロック別に相異なる探索ポイントを設定して初期動きベクトルを推定することによって、探索計算量を減少させ、正確な動きを推定できるブロック基盤動き推定方法を提供するところにある。
【００１３】
本発明が解決しようとする他の技術的課題は、複数個のブロック集合を持つフレームでブロック別に相異なる探索ポイントを設定して、初期動きベクトルを推定するブロック基盤動き推定装置を提供するところにある。
【課題を解決するための手段】
【００１４】
前記の技術的課題を解決するために、本発明は映像動き推定方法において、入力される映像フレームのブロックの集合内でブロック別に相異なる動き探索ポイントを設定するステップと、前記設定された各ブロックの動き探索ポイントでフレーム間のブロックの歪曲程度を測定して、各ブロックの候補動きベクトル値を推定するステップと、前記推定された候補ベクトル値を現在ブロックに適用して、現在ブロックを基準に各候補ベクトルが適用されたブロックの歪曲程度を測定し、そのブロックの歪曲程度が最小である値を現在ブロックの最終動きベクトルに決定するステップと、を含むことを特徴とする。
【００１５】
前記の他の技術的課題を解決するために、本発明は、入力される映像フレームのブロックの集合内でブロック別に相異なる動き探索ポイントを割り当てる探索ポイント割り当て部と、前記探索ポイント割り当て部で割り当てられた各ブロックの動き探索ポイントでフレーム間のブロックの歪曲程度を測定して、各ブロックの初期動きベクトル値を推定するエラーマッチング部と、前記エラーマッチング部で推定された初期ベクトル値を現在ブロックに適用して、現在ブロックを基準に各初期ベクトルが適用されたブロックの歪曲程度を測定し、そのブロックの歪曲程度が最小である値を現在ブロックの動きベクトルに決定する動きベクトル決定部と、を備えることを特徴とする。
【発明の効果】
【００１６】
本発明によれば、映像エンコーディングやＦＲＣ、ＩＰＣ（Ｉｎｔｅｒｌａｃｅ  ｔｏ  Ｐｒｏｇｒｅｓｓｉｖｅ  Ｃｏｎｖｅｒｓｉｏｎ）実行時に、参照フレーム内ブロック別に相異なる探索ポイントを設定することによって、探索計算量を低減させて正確な動きを推定できる。また、動き推定の実行時に実際映像で発生できる局部的な最小エラー値を最小化させることができてさらに正確な動き推定を具現できる。
【発明を実施するための最良の形態】
【００１７】
以下、添付した図面を参照して本発明の望ましい実施形態を説明する。
【００１８】
図３は、本発明による動き推定装置の全体ブロック図である。図３の動き推定装置は、探索ポイント割り当て部３１０、第１エラーマッチング部３２０、動きベクトル決定部３３０で構成される。ここで、動きベクトル決定部３３０は、第２エラーマッチング部３３２、加重値乗算部３３４、最小値選択部３３６で構成される。
【００１９】
まず、時間軸方向に隣接した、すなわち、時間差を持つ二つの映像フレームが入力される。
【００２０】
探索ポイント割り当て部３１０は、その二つの映像フレームのうち、現在フレームを基準に時間軸に隣接した位置にある参照フレームをブロックの集合に区分し、そのブロックの集合内ブロック別に相異なる動き探索ポイントを設定する。図４は、映像フレームのブロックの集合内でブロック別に相異なる動き探索ポイントを設定する一実施形態である。図４を見れば、参照フレームの全体領域を８×８ピクセルを持つブロック単位に分け、そのブロックを２×２のブロック集合に集める。ブロック集合は２×２のブロックでなるが、場合によって３×３、４×４ブロックに変形できる。したがって、参照フレームの全領域には、ブロック集合内でブロック別に相異なる動きの大きさ及び他の種類の動きを探索できるように、相異なる動き探索ポイントが設定される。図５ないし図８は、図４のブロックに探索ポイントを設定する一実施形態である。図５は、図４のブロック４０１の動きベクトルを推定するために設定された探索ポイントである。図５を参照するに、５０１は探索範囲であり、５０２はブロックであり、５０３は中心探索ポイントであり、５０４は探索ポイントであり、４０１は図４に図示されたブロックである。探索ポイントの範囲は、横方向の大きい動きを探索するために水平方向に±１１ピクセル、垂直方向に±４ピクセルほどに定める。図６は、図４のブロック４０２の動きベクトルを推定するために設定された探索ポイントである。図６を参照するに、探索ポイントの範囲は、横方向の中間動きを探索するために水平方向に±７ピクセル、垂直方向に±４ピクセルほどに定める。図７は、図４のブロック４０３の動きベクトルを推定するために設定された探索ポイントである。図７を参照するに、探索ポイントの探索範囲は、小さな動きを探索するために水平方向に±４ピクセル、垂直方向に±４ピクセルほどに定める。図８は、図４のブロック４０４の動きベクトルを推定するために設定された探索ポイントである。図８を参照するに、探索ポイントの範囲は、微細な動きを探索するために水平方向に±１ピクセル、垂直方向に±１ピクセルほどに定める。
【００２１】
図３に再び戻って、第１エラーマッチング部３２０は、探索ポイント割り当て部３１０で探索ポイントが割り当てられた参照フレームと、入力される現在フレームとをマッチングさせて、各ブロックの初期動きベクトルＭＶ１〜ＭＶ４を生成する。一実施形態で、２×２ブロックそれぞれでＭＶ１、ＭＶ２、ＭＶ３、ＭＶ４が生成される。図９を参照するに、９０１は、参照フレーム内の参照ブロックの探索範囲９０１である。９０２は、参照フレームの参照ブロックである。９０３は、現在フレームの現在ブロックである。第１エラーマッチング部３２０は、式（１）のようなエラー関数を利用して参照ブロックと現在ブロックとの間の歪曲程度を測定できる。
【００２２】
【数１】
2009525663.tif 000003
ここで、Ｅｒ（ｌ，ｋ）は、現在位置（ｌ，ｋ）で参照ブロックと現在ブロックとの間の歪曲程度を表し、ＲＢは、ｒｅｆｅｒｅｎｃｅ  ｂｌｏｃｋ、ＣＢは、ｃｕｒｒｅｎｔ  ｂｌｏｃｋ、（ｉ，ｊ）は、ピクセルの位置、ＢＳｙは、ｙ方向のブロックサイズ、ＢＳｘは、ｘ方向のブロックサイズである。エラー関数は、現在位置（ｌ，ｋ）を中心点として、ブロックのサイズほど二つのブロック間のＳＡＤを利用してブロックの歪曲程度を測定する。したがって、第１エラーマッチング部３２０は、図５ないし図８で設定した探索ポイントに対して、そのそれぞれの探索ポイントに該当するＳＡＤを求め、そのＳＡＤのうち、最も小さなＳＡＤを持つ位置（ｌ，ｋ）を該当ブロックの初期動きと決定する。
【００２３】
第２エラーマッチング部３３２は、第１エラーマッチング部３２０で決定された各ブロックの初期動きベクトルを現在ブロックに適用して、現在ブロックの動き推定を再び試みる。すなわち、それぞれのブロックは相異なる探索ポイントにより求められた初期動きベクトルを保有しているため、相異なる動きベクトル値を持つ。したがって、隣接ブロックの初期動きベクトル値を現在ブロックに適用することによって、現在ブロックの適正動きベクトルを推定できる。図１０を参照するに、現在ブロック（ｉ，ｊ）は動きベクトルＭＶ４を持つ。そして、現在ブロックに隣接したブロック（ｉ，ｊ−１）、（ｉ−１，ｊ−１）、（ｉ−１，ｊ）は、それぞれ動きベクトルＭＶ１、ＭＶ２、ＭＶ３を持つ。したがって、隣接ブロックの動きベクトルＭＶ１、ＭＶ２、ＭＶ３と現在ブロックの動きベクトルＭＶ４とを現在ブロックに適用して、参照ブロックと現在ブロックとの間のエラー関数の演算を行う。結局、第２エラーマッチング部３３２は、エラー関数を利用して現在のブロックに対して４個のＳＡＤ値ＳＡＤ１、ＳＡＤ２、ＳＡＤ３、ＳＡＤ４を生成する。
【００２４】
加重値乗算部３３４は、第２エラーマッチング部３３２で生成された４個のＳＡＤ値に、動き方向によって加重値Ｗ１、Ｗ２、Ｗ３、Ｗ４を乗算する。すなわち、隣接したブロックは相異なる探索範囲を持っている。そして、実際映像では横方向に隣接したブロックが互いに同じ動きを持つ場合が多い。したがって、現在ブロックに隣接したブロックの動きベクトルにより得たＳＡＤ値に相異なる加重値を乗算することで、さらに正確な動きベクトルを推定できる。加重値乗算部３３４は、小さい動きと大きい動き、あるいは、現在ブロックを基準に参照するブロックの空間上位置などの多様な動き情報によって、各ＳＡＤに相異なる加重値を設定してもよい。
【００２５】
最小値選択部３３６は、加重値乗算部３３４で加重値が付加された４個のＳＡＤ値のうち、最小ＳＡＤ値を最終動きベクトル値に決定する。
【００２６】
加重値乗算部３３４と最小値選択部３３６とで処理される演算は、式（２）で表すことができる。
【００２７】
【数２】
2009525663.tif 000004
図１１は、本発明によるブロック基盤の動き推定方法を示すフローチャートである。
【００２８】
まず、時間軸方向に隣接した、すなわち、時間差を持つ二つの映像フレームが入力される（１１１０ステップ）。
【００２９】
次いで、入力される二つの映像フレームのうち、現在フレームを基準に時間軸に隣接した位置にある参照フレームをブロックの集合に分け、そのブロックの集合内でブロック別に相異なる大きさの動きを探索する探索ポイントを割り当てる（１１２０ステップ）。
【００３０】
次いで、設定された各ブロックの動き探索ポイントでフレーム間のブロックの歪曲程度を測定して（１１３０ステップ）、各ブロックの候補動きベクトル値を推定する（１１４０ステップ）。この時、ブロックの歪曲程度は、望ましくはＳＡＤを利用する。
【００３１】
次いで、隣接ブロックの候補ベクトル値を現在ブロックに適用して動き推定を再び試みる。たとえば、現在ブロックを基準に４個の候補ベクトルを適用した現在ブロックの歪曲程度を測定して４個のＳＡＤを求める（１１５０ステップ）。
【００３２】
次いで、現在ブロックを基準に各候補動きベクトルに対して生成された各ＳＡＤは、動き方向によって相異なる加重値が付加される（１１６０ステップ）。
【００３３】
最終的にＳＡＤ値が最小である値を現在ブロックの最終動きベクトルに決定する（１１７０ステップ）。
【産業上の利用可能性】
【００３４】
本発明は、コンピュータで読み取り可能な記録媒体にコンピュータで読み取り可能なコードとして具現することができる。コンピュータで読み取り可能な記録媒体は、コンピュータシステムによって読み取られるデータが保存されるあらゆる種類の記録装置を含む。コンピュータで読み取り可能な記録媒体の例には、ＲＯＭ、ＲＡＭ、ＣＤ−ＲＯＭ、磁気テープ、ハードディスク、フロッピー（登録商標）ディスク、フラッシュメモリ、光データ保存装置などがあり、またキャリアウェーブ（例えば、インターネットを通じた伝送）の形態で具現されるものも含む。また、コンピュータで読み取り可能な記録媒体はネットワークに連結されたコンピュータシステムに分散されて、分散方式でコンピュータで読み取り可能なコードとして保存されて実行される。
【００３５】
また、本発明は前述した実施形態に限定されず、本発明の思想内で当業者による変形が可能であるということは言うまでもない。
【図面の簡単な説明】
【００３６】
【図１】従来のＴＳＳ方式を説明するための概念図である。
【図２】図１のＴＳＳ方式により発生するＳＡＤ値を示すグラフである。
【図３】本発明による動き推定装置の全体ブロック図である。
【図４】図３の探索ポイント割り当て部の詳細説明図である。
【図５】図４の詳細図である。
【図６】図４の詳細図である。
【図７】図４の詳細図である。
【図８】図４の詳細図である。
【図９】図３の第１エラーマッチング部の動き推定を説明する概念図である。
【図１０】図３の第２エラーマッチング部の動き推定を説明する概念図である。
【図１１】本発明によるブロック基盤の動き推定方法を示すフローチャートである。
【図１】
2009525663.tif 000005
【図２】
2009525663.tif 000006
【図３】
2009525663.tif 000007
【図４】
2009525663.tif 000008
【図５】
2009525663.tif 000009
【図６】
2009525663.tif 000010
【図７】
2009525663.tif 000011
【図８】
2009525663.tif 000012
【図９】
2009525663.tif 000013
【図１０】
2009525663.tif 000014
【図１１】
2009525663.tif 000015
【国際調査報告】
2009525663.tif 000016
2009525663.tif 000017