(57)【要約】【課題】  不正確に推定された動きベクトルを用いて動きの補償することに起因するブロック・アーチファクトを未然に防止することができる動きベクトルの生成装置及び方法を提供する。【解決手段】  重み値算出部は、入力される少なくとも１つの候補の動きベクトルのそれぞれに対応する所定の重み値を算出し、最終の動きベクトル算出部は、算出された所定の重み値を所定の重み値に対応する少なくとも１つの候補の動きベクトルに与えて最終の動きベクトルを生成し、生成された最終の動きベクトルは、補間すべき現ブロックの動きの補償に用いられる。【選択図】      図３
2005012798.tif 000002
【特許請求の範囲】
【請求項１】
補間すべき現ブロックの補償のために推定された少なくとも１つの候補の動きベクトルのそれぞれに割り当てるべき所定の重み値を適応的に算出する重み値算出部と；
算出された前記所定の重み値を前記所定の重み値に対応する少なくとも１つの前記候補の動きベクトルに割り当て、適応的に最終の動きベクトルを生成する最終の動きベクトル算出部とを含み、
生成された前記最終の動きベクトルは、前記現ブロックの動きの補償に用いられることを特徴とする動きベクトルの生成装置。
【請求項２】
少なくとも１つの前記候補の動きベクトルは、前記現ブロックから推定された動きベクトル及び前記現ブロックに隣接している少なくとも１つの周辺ブロックのそれぞれから推定された動きベクトルを含むことを特徴とする請求項１に記載の動きベクトルの生成装置。
【請求項３】
前記重み値算出部は、推定された前記候補の動きベクトルの正確度を、前記候補の動きベクトルのそれぞれに対応する前記最終の動き予測誤差値を比較して判断し、判断された前記正確度によって前記候補の動きベクトルに割り当てるべき前記重み値を算出し、
少なくとも１つの前記候補の動きベクトルは、前記現ブロック及び前記周辺ブロックのそれぞれに対してブロック・マッチング・アルゴリズムを適用して算出された多数の動き予測誤差値のうちの最小値に対応する位置から推定されたベクトルであることを特徴とする請求項２に記載の動きベクトルの生成装置。
【請求項４】
少なくとも１つの前記候補の動きベクトルに与えられる前記重み値は、前記現ブロック及び前記周辺ブロック毎に算出された前記最終の動き予測誤差値に反比例することを特徴とする請求項３に記載の動きベクトルの生成装置。
【請求項５】
前記動き予測誤差値は、ＳＡＤ方式及びＭＡＤ（Ｍｅａｎ  Ａｂｓｏｌｕｔｅ  Ｄｉｆｆｅｒｅｎｃｅ）方式の少なくともいずれか一方により算出されることを特徴とする請求項３に記載の動きベクトルの生成装置。
【請求項６】
前記重み値算出部で算出される前記候補の動きベクトルのそれぞれに対応する前記重み値の和は、１であることを特徴とする請求項１に記載の動きベクトルの生成装置。
【請求項７】
前記最終の動きベクトル算出部は、次の式
【数１】
2005012798.tif 000020
（前記式の中で、ｖｉは、少なくとも１つの前記候補の動きベクトルを表し、ｗｉはｖｉに与えられる重み値を表し、ｖ’は最終の動きベクトルを表す）
により前記最終の動きベクトルを算出することを特徴とする請求項１に記載の動きベクトルの生成装置。
【請求項８】
前記最終の動きベクトルの生成時、それぞれの前記候補の動きベクトルを用いるか否かを判断する信頼度値を少なくとも１つの前記候補の動きベクトル毎に算出し、少なくとも１つの前記候補の動きベクトルのうちの予め設定された閾値より大きい前記信頼度値を有する所定の候補の動きベクトルに対してのみ前記重み値を算出するようにする選別信号を前記重み値算出部に提供する信頼度判断部を更に含むことを特徴とする請求項１に記載の動きベクトルの生成装置。
【請求項９】
前記信頼度値は、次の式
【数２】
2005012798.tif 000021
（前記式の中で、
【数３】
2005012798.tif 000022
は、零動きベクトルに対応する動き予測誤差値を表し、
【数４】
2005012798.tif 000023
は、前記候補の動きベクトルに対応する動き予測誤差値を表し、
【数５】
2005012798.tif 000024
は、前記閾値を表す）
により算出されることを特徴とする請求項８に記載の動きベクトルの生成装置。
【請求項１０】
補間すべき現ブロックの補償のために推定された少なくとも１つの候補の動きベクトルのそれぞれに割り当てるべき所定の重み値を適応的に算出するステップと；
算出された前記所定の重み値を前記所定の重み値に対応する少なくとも１つの前記候補の動きベクトルに割り当て、適応的に最終の動きベクトルを生成するステップとを含み、
生成された前記最終の動きベクトルは、前記現ブロックの動きの補償に用いられることを特徴とする動きベクトルの生成方法。
【請求項１１】
少なくとも１つの前記候補の動きベクトルは、前記現ブロックから推定された動きベクトル及び前記現ブロックに隣接している少なくとも１つの周辺ブロックのそれぞれから推定された動きベクトルを含むことを特徴とする請求項１０に記載の動きベクトルの生成方法。
【請求項１２】
前記重み値算出ステップにおいては、推定された前記候補の動きベクトルの正確度を、前記候補の動きベクトルのそれぞれに対応する前記最終の動き予測誤差値を比較して判断し、判断された前記正確度によって前記候補の動きベクトルに割り当てるべき前記重み値を算出し、
少なくとも１つの前記候補の動きベクトルは、前記現ブロック及び前記周辺ブロックのそれぞれに対してブロック・マッチング・アルゴリズムを適用して算出された多数の動き予測誤差値のうちの最小値に対応する位置から推定されたベクトルであることを特徴とする請求項１１に記載の動きベクトルの生成方法。
【請求項１３】
前記重み値算出ステップにおいて、少なくとも１つの前記候補の動きベクトルに与えられる前記重み値は、前記現ブロック及び前記周辺ブロック毎に算出された前記最終の動き予測誤差値に反比例することを特徴とする請求項１２に記載の動きベクトルの生成方法。
【請求項１４】
前記重み値算出ステップで算出される前記候補の動きベクトルのそれぞれに対応する前記重み値の和は、１であることを特徴とする請求項１０に記載の動きベクトルの生成方法。
【請求項１５】
前記最終の動きベクトル算出ステップでは、次の式
【数６】
2005012798.tif 000025
（前記式の中で、ｖｉは、少なくとも１つの前記候補の動きベクトルを表し、ｗｉは、ｖｉに与えられる重み値を表し、ｖ’は、最終の動きベクトルを表す）
により前記最終の動きベクトルを算出することを特徴とする請求項１０に記載の動きベクトルの生成方法。
【請求項１６】
前記最終の動きベクトルの生成時、それぞれの前記候補の動きベクトルを用いるか否かを選別する信頼度値を少なくとも１つの前記候補の動きベクトル毎に算出し、少なくとも１つの前記候補の動きベクトルのうちの予め設定された閾値より大きい前記信頼度値を有する所定の候補の動きベクトルに対してのみ前記重み値を算出するようにする選別信号を前記重み値算出ステップに提供するステップを更に含むことを特徴とする請求項１０に記載の動きベクトルの生成方法。
【請求項１７】
前記信頼度値は、次の式
【数７】
2005012798.tif 000026
（前記式の中で、
【数８】
2005012798.tif 000027
は、零動きベクトルに対応する動き予測誤差値を表し、
【数９】
2005012798.tif 000028
は、前記候補の動きベクトルに対応する動き予測誤差値を表し、
【数１０】
2005012798.tif 000029
は、前記閾値を表す）
により算出されることを特徴とする請求項１６に記載の動きベクトルの生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動きベクトルの生成装置及び方法に係り、より詳しくは、１つのブロック当たりに多数の候補の動きベクトルを推定した後、推定された動きベクトルに重み値を与えることで動きの補償を行うようにする動きベクトルの生成装置及び方法に係る。
【背景技術】
【０００２】
一般に、ＰＣやＨＤＴＶでは、ＰＡＬまたはＮＴＳＣのような種々の放送信号規格を有するプログラムをやり取りするために、フレームレート変換（Ｆｒａｍｅ  Ｒａｔｅ  Ｃｏｎｖｅｒｓｉｏｎ）を行う。フレームレート変換とは、秒当たりに出力されるフレーム数を変換させることを意味する。特に、フレームレートが増す場合には、新規のフレームを補間する過程が必要となる。
【０００３】
一方、最近では、放送技術の発達に伴い、ＭＰＥＧ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）、Ｈ．２６３といった映像の圧縮方式により映像データを圧縮した後、フレームレート変換を行っている。かかる映像処理分野において、映像信号は、大半の場合、大きな相関関係（ａｕｔｏｃｏｒｒｅｌａｔｉｏｎ）を有するため重複性（ｒｅｄｕｎｄａｎｃｙ）をもっている。従って、データの圧縮時に重複性を取り除くことにより、データの圧縮効果を向上することができる。なお、時間的に変わるビデオフレームを効率よく圧縮するためには、時間軸方向の重複性を取り除く必要がある。
【０００４】
時間軸方向の重複性の取り除きは、フレームにおいて動きがないか、またはあるとしても類似の部分については直前のフレーム等から持ってきて埋めることにより伝送すべきデータ量を大幅に軽減することができるという考えに基づく。
【０００５】
このために、前フレームと現フレームとの間で最も類似のブロックを見出す作業を必要とし、これを、動き推定といい、ブロックの動き度合いの変位を示すことを動きベクトル（Ｍｏｔｉｏｎ  Ｖｅｃｔｏｒ；ＭＶ）という。
【０００６】
一方、動きを推定する方法としては、一般に、動き度合いの正確度、リアルタイム処理可能性及びハードウェアの実行等を考慮し、ブロック・マッチング・アルゴリズム（以下、“ＢＭＡ”と称す）が用いられている。
【０００７】
図１は、一般のＢＭＡを用いて動きを推定する方法を説明するために示す図である。Ｆｎ−１は前フレーム／フィールドを、Ｆｎは現フレーム／フィールドを、Ｆｉは、前フレーム／フィールドＦｎ−１及び現フレーム／フィールドＦｎを用いて補間すべきフレームを意味する。
【０００８】
ＢＭＡは、前フレーム／フィールドＦｎ−１と現フレーム／フィールドＦｎのように連続入力される２枚のフレームをブロック単位で比較し、比較されるブロック内の画素が並進運動をするという仮定下で、ブロック当たりに１つの動きベクトルＭＶを推定する。なお、動きベクトルＭＶは、既に公知されたＳＡＤ値を用いて推定する。そして、動きベクトルが推定されると、推定された動きベクトルＭＶを用いて補間すべき現ブロックＢに対して動き補償を行う。
【０００９】
しかし、従来の動き推定／補償方法において、ブロック毎に推定されたそれぞれの動きベクトルが正確ではない場合が生じる。かかる場合、動きの補償を行うと、補間フレーム／フィールドＦｉでは、図２Ａに示すようなブロック・アーチファクト（Ｂｌｏｃｋ  Ａｒｔｉｆａｃｔｓ）が発生し、これを動きベクトルフィールドとして示すと図２Ａ及び図２Ｂの通りである。図２Ａにおいて実線で示すベクトルは、実際の動きベクトルであり、点線で示すベクトルは、推定された動きベクトルである。
【００１０】
図２Ｂを参照すれば、実線で示す楕円は、点線で示す楕円の位置から所定の距離動いた物体であり、矢印は、動きベクトルである。補間すべき現ブロックＢの動きベクトルＭＶが不正確に推定された場合、現ブロックの動きベクトルＭＶと周辺ブロック（図示せず）毎に推定されたそれぞれの動きベクトルとには、ずれが生じかねなく、これは、ブロック・アーチファクトのような視覚的に障る映像の提供につながる。このような動きベクトルの不正確な推定は、例えば、背景領域と動く物体の動き方向が行き交う閉塞（Ｏｃｃｌｕｓｉｏｎ）領域、またはノイズ領域において発生頻度が高い。
【００１１】
また、従来の動き推定／補償方法では、ブロック・アーチファクトを取り除くために推定された動きベクトルＭＶにメディアン・フィルタ（Ｍｅｄｉａｎ  Ｆｉｌｔｅｒ）のような非線形フィルタを適用したりもするが、閉塞領域では大きな画質改善の効果がない。
【発明の開示】
【発明が解決しようとする課題】
【００１２】
本発明は、前記のような従来技術の問題点を解決するためになされたものであって、その目的は、不正確に推定された動きベクトルを用いて動きの補償することに起因するブロック・アーチファクトを未然に防止することができる動きベクトルの生成装置及び方法を提供することにある。
【課題を解決するための手段】
【００１３】
前記のような目的を達成するための、本発明に係る動きベクトルの生成装置は、補間すべき現ブロックの補償のために推定された少なくとも１つの候補の動きベクトルのそれぞれに割り当てるべき所定の重み値を適応的に算出する重み値算出部、及び算出された前記所定の重み値を前記所定の重み値に対応する少なくとも１つの前記候補の動きベクトルに割り当て、適応的に最終の動きベクトルを生成する最終の動きベクトル算出部と、を含み、生成された前記最終の動きベクトルは、前記現ブロックの動きの補償に用いられる。
【００１４】
より詳しくは、少なくとも１つの前記候補の動きベクトルは、前記現ブロックから推定された動きベクトル及び前記現ブロックに隣接している少なくとも１つの周辺ブロックのそれぞれから推定された動きベクトルを含む。
【００１５】
また、前記重み値算出部は、推定された前記候補の動きベクトルの正確度を、前記候補の動きベクトルのそれぞれに対応する前記最終の動き予測誤差値を比較して判断し、判断された前記正確度によって前記候補の動きベクトルに割り当てるべき前記重み値を算出し、少なくとも１つの前記候補の動きベクトルは、前記現ブロック及び前記周辺ブロックのそれぞれに対してブロック・マッチング・アルゴリズムを適用して算出された多数の動き予測誤差値のうちの最小値に対応する位置から推定されたベクトルである。
【００１６】
また、少なくとも１つの前記候補の動きベクトルに与えられる前記重み値は、前記現ブロック及び前記周辺ブロック毎に算出された前記最終の動き予測誤差値に反比例し、前記動き予測誤差値は、ＳＡＤ方式により算出される。
【００１７】
好ましくは、前記重み値算出部で算出される前記候補の動きベクトルのそれぞれに対応する前記重み値の和は、１である。
【００１８】
また、前記最終の動きベクトル算出部は、次の式により前記最終の動きベクトルを算出する。
【００１９】
【数１１】
2005012798.tif 000003
（前記式の中で、ｖｉは、少なくとも１つの前記候補の動きベクトルを表し、ｗｉは、ｖｉに与えられる重み値を表し、ｖ’は、最終の動きベクトルを表す）
好ましくは、前記最終の動きベクトルの生成時、それぞれの前記候補の動きベクトルを用いるか否かを判断する信頼度値を少なくとも１つの前記候補の動きベクトル毎に算出し、少なくとも１つの前記候補の動きベクトルのうちの予め設定された閾値より大きい前記信頼度値を有する所定の候補の動きベクトルに対してのみ前記重み値を算出するようにする選別信号を前記重み値算出部に提供する信頼度判断部を更に含む。
【００２０】
また、前記信頼度値は、次の式により算出される。
【００２１】
【数１２】
2005012798.tif 000004
（前記式の中で、
【００２２】
【数１３】
2005012798.tif 000005
は、零動きベクトルに対応する動き予測誤差値を表し、
【００２３】
【数１４】
2005012798.tif 000006
は、前記候補の動きベクトルに対応する動き予測誤差値を表し、
【００２４】
【数１５】
2005012798.tif 000007
は、前記閾値を表す）
一方、前記のような目的を達成するための、本発明に係る動きベクトルの生成方法は、補間すべき現ブロックの補償のために推定された少なくとも１つの候補の動きベクトルのそれぞれに割り当てるべき所定の重み値を適応的に算出するステップと、及び算出された前記所定の重み値を前記所定の重み値に対応する少なくとも１つの前記候補の動きベクトルに割り当て、適応的に最終の動きベクトルを生成するステップと、を含み、生成された前記最終の動きベクトルは、前記現ブロックの動きの補償に用いられる。
【００２５】
前記重み値算出ステップにおいては、推定された前記候補の動きベクトルの正確度を、前記候補の動きベクトルのそれぞれに対応する前記最終の動き予測誤差値を比較して判断し、判断された前記正確度によって前記候補の動きベクトルに割り当てるべき前記重み値を算出し、少なくとも１つの前記候補の動きベクトルは、前記現ブロック及び前記周辺ブロックのそれぞれに対してブロック・マッチング・アルゴリズムを適用して算出された多数の動き予測誤差値のうちの最小値に対応する位置から推定されたベクトルである。
【００２６】
好ましくは、前記最終の動きベクトルの生成時、それぞれの前記候補の動きベクトルを用いるか否かを選別する信頼度値を少なくとも１つの前記候補の動きベクトル毎に算出し、少なくとも１つの前記候補の動きベクトルのうちの予め設定された閾値より大きい前記信頼度値を有する所定の候補の動きベクトルに対してのみ前記重み値を算出するようにする選別信号を前記重み値算出ステップに提供するステップを更に含む。
【発明の効果】
【００２７】
以上で説明したように、本発明に係る動きベクトルを用いた動きのベクトル生成装置及び方法によれば、現ブロックの補間時、現ブロックの動きベクトルのみならず、現ブロックに隣接している周辺ブロックの動きベクトルも推定して、現ブロックの候補の動きベクトルとして適用する。そして、少なくとも１つの候補の動きベクトルに適応的に重み値を割り当てて最終の動きベクトルを生成した後、動き補償を行う。この結果、多数の候補の動きベクトルを考慮して動きの補償を行うことにより、現ブロックの動きベクトルが不正確に推定されることで発生するブロック・アーチファクトを未然に防止するかまたは発生率を軽減することができる。また、複数の動きベクトルにおいて考慮可能なすべての動き軌跡を付加的な処理を要することなく適用するため、ハードウェアの構成の複雑度を下げることができる。
【発明を実施するための最良の形態】
【００２８】
図３は、本発明の好適な実施例に係る動きベクトルを用いた動きの補正装置を概略的に示すブロック図である。
【実施例】
【００２９】
図３に示すように、本発明に係る動きのベクトル生成装置が適用された動きの補償装置３００は、動き推定部３１０、最終の動きベクトル生成部３２０、及び動き補償部３３０を含む。本発明は、多数の候補の動きベクトルを推定して動きを補償することに関するものであって、動きの推定／補償に係るブロックだけを図示して説明する。
【００３０】
動き補償部３１０は、前フレーム／フィールドＦｎ−１及び現フレーム／フィールドＦｎ間の動きベクトルをＢＭＡを用いて推定する。ここで、前フレーム／フィールドＦｎ−１及び現フレーム／フィールドＦｎは、連続して入力される。
【００３１】
また、動きの補償装置３００が飛び越し走査にて入力される映像信号のフレームレートを変換する場合、前フレーム／フィールドＦｎ−１及び現フレーム／フィールドＦｎは、フィールド単位で入力されることが好ましい。
【００３２】
まず、動き推定部３１０は、動きベクトル推定部３１２及び動き予測エラー算出部３１４を有する。
【００３３】
動きベクトル推定部３１２は、現フレーム／フィールドＦｎを所定の大きさの補間すべきブロックに分割した後、分割された各補間すべきブロックと前フレーム／フィールドＦｎ−１をなす複数のブロック（図示せず）を単方向にマッチングし、各補間すべきブロック毎に多数の動き予測エラー値を算出する。
【００３４】
詳述すれば、動きベクトル推定部３１２は、所定の大きさのブロックを分割された現フレーム／フィールドＦｎ内において、所定の大きさの検索範囲Ｓを設定する。そして、動きベクトル推定部３１２は、検索範囲Ｓ内にある補間すべき各ブロックと前フレーム／フィールドＦｎ−１をなす複数のブロック（図示せず）を単方向にマッチングし、補間すべき各ブロック毎に多数の動き予測エラー値を算出する。
【００３５】
動き予測エラー値は、ＳＤＡ、ＭＡＤ（Ｍｅａｎ  Ａｂｓｏｌｕｔｅ  Ｄｉｆｆｅｒｅｎｃｅ）等の各種の方式により算出することができ、本発明では、ＳＡＤ値を適用する。
【００３６】
そして、補間すべき各ブロック毎に多数のＳＤＡ値が算出されると、動きベクトル推定部３１２は、次の式（１）を用いて補間すべき各ブロックの動きベクトルを推定する。
【００３７】
【数１６】
2005012798.tif 000008
前記式（１）を参照すれば、
【００３８】
【数１７】
2005012798.tif 000009
は、ＳＡＤ値を表し、ｖは、最小のＳＡＤ値を有するブロックの動きベクトル（以下、ｖはベクトル量を称す）を表し、Ｓは、検索範囲を表す。即ち、動きベクトル推定部３１２は、補間すべき各ブロック毎に算出された多数のＳＡＤ値のうちの最小のＳＡＤ値を有する位置から補間すべき各ブロックの動きベクトルを推定する。
【００３９】
図４Ａは、図３の動きベクトル推定部において動きの推定のために設定した検索範囲内に存在する現ブルック及び周辺ブロックを示す図であり、図４Ｂは、図３の動きベクトル推定部において単方向ＢＭＡにより推定した現ブロック及び周辺ブロックの動きベクトルを概略的に示す図である。
【００４０】
図４Ａ及び図４Ｂを参照すれば、動きベクトル推定部３１２において図４Ａに示すように補間すべき現ブロックＢ０を基準にして所定の検索範囲Ｓを設定した場合、Ｂ１乃至Ｂ８は、検索範囲Ｓ内における現ブロックＢ０に隣接している周辺ブロックになる。そして、動きベクトル推定部３１２で推定された現ブロックＢ０の動きベクトルがｖ０である場合、周辺ブロックＢ１乃至Ｂ８の動きベクトルは、それぞれｖ１乃至ｖ８である。
【００４１】
ここで、現フレーム／フィールドＦｎにおいて設定された検索範囲Ｓは、いわば、補間フレーム／フィールドＦｉにおける補間すべき領域を意味し、検索範囲Ｓ内に存在するブロックの個数は、ブロックの大きさ及び／または検索範囲Ｓの大きさによって異なって設定され得ることはいうまでもない。
【００４２】
また、動きベクトル推定部３１２は、補間すべき現ブロックＢ０の零動きベクトルｖｚも推定する。
【００４３】
そして、動きベクトル推定部３１２は、検索範囲Ｓ内に存在する各ブロックＢ０乃至Ｂ８の動きベクトルｖ０乃至ｖ８及び補間すべき現ブロックＢ０の動きベクトルが零である零動きベクトルｖｚを動き予測エラー算出部３１４に提供する。
【００４４】
動き予測エラー算出部３１４は、動きベクトル推定部３１２からの動きベクトルｖｚ、ｖ０乃至ｖ８に対応するＳＡＤ値を次の式（２）を用いて算出する。
【００４５】
【数１８】
2005012798.tif 000010
前記式の中で、
【００４６】
【数１９】
2005012798.tif 000011
は、各動きベクトルｖ０乃至ｖ８に対応するＳＡＤ値を表し、ｘは、所定のブロック（Ｂ０乃至Ｂ８のいずれか）に位置する所定の画素の座標値としてベクトル量であり、ｖｉは、各ブロックＢ０乃至Ｂ８の動きベクトルｖ０乃至ｖ８を表し、ｎは、前フレーム／フィールドＦｎ−１と現フレーム／フィールドＦｎとの時間的間隔を表し、Ｍは、検索範囲Ｓ内に存在する各ブロックＢ１乃至Ｂ８の個数である。なお、動き予測エラー算出部３１４は、補間すべき現ブロックＢ０の零動きベクトルｖｚに対するＳＡＤ値も式（２）により算出する。
【００４７】
式（２）を参照すれば、動き予測エラー算出部３１４は、各周辺ブロックＢ１乃至Ｂ８の動きベクトルｖ１乃至ｖ８と零動きベクトルｖｚに相当するＳＡＤ値を現ブロックＢ０に対して算出されたすべてのＳＡＤ値のうちから取り出す。即ち、動きベクトル推定部３１２からの動きベクトルｖｚ、ｖ０乃至ｖ８は、補間すべき現ブロックＢ０の候補の動きベクトルとして適用されるものである。
【００４８】
これは、現ブロックＢ０の動きベクトルｖ０が不正確に推定された場合、周辺ブロックＢ１乃至Ｂ８のうちの推定が正確なブロック（例えば、最も小さいＳＡＤ値を有するブロック）の動きベクトルを現ブロックＢ０の最終の動きベクトルに代替したり、推定が正確な周辺ブロックＢ１乃至Ｂ８に重み値を与えたりしてより正確に動きの補償を行うためである。
【００４９】
即ち、本発明は、ブロックＢ０乃至Ｂ８間の動きが滑らかであるという仮定下で、現ブロックＢ０のみならず周辺ブロックＢ１乃至Ｂ８の動き軌跡を考慮して動きの補償を行う。これは、現ブロックＢ０の動きベクトルｖ０が不正確に推定された場合に発生するブロック・アーチファクトの発生を未然に防止するためである。
【００５０】
各候補の動きベクトルｖｚ、ｖ０乃至ｖ８に対応する各ＳＡＤ値が取り出されると、動き予測エラー算出部３１４は、取り出された各ＳＡＤ値を信頼度判断部３２２及び重み値算出部３２４に提供する。
【００５１】
また、動きベクトル推定部３１２で推定された各ブロックＢ０乃至Ｂ８の動きベクトルｖｚ、ｖ０乃至ｖ８、または分割されたすべてのブロック（図示せず）に対して推定された動きベクトル（図示せず）は、信頼度判断部３２２及び最終の動きベクトル算出部３２６に提供される。
【００５２】
一方、前述したような動き推定部３１０は、図４Ｂに示すような単方向ＢＭＡのみならず、図４Ｃに示すように双方向ＢＭＡにより推定された現ブロックＢ０及び周辺ブロックＢ１乃至Ｂ８の動きベクトルｖｚ、ｖ０乃至ｖ８を推定することができ、これに関連する説明は、公知の技術であるので省く。
【００５３】
また、前述したような補間すべき現ブロックＢ０の候補の動きベクトルは、周辺ブロックＢ１乃至Ｂ８に対する動きベクトルｖ１乃至ｖ８のみならず、動きの分析過程（図示せず）で検出された全域の動きベクトル及び同一位置の前フレーム／フィールド内から検出された動きベクトルを再使用することができる。また、候補の動きベクトルにメディアンフィルタ或いは平均フィルタを適用して得られた動きベクトルを、現ブロックＢ０の候補の動きベクトルとして使用することもできる。
【００５４】
再び図３を参照して説明すれば、本発明に係る動きベクトルの生成装置として適用された最終の動きベクトル生成部３２０は、動き推定部３１０からの多数のＳＡＤ値及び候補の動きベクトルを用いて補間すべき現ブロックＢ０の最終の動きベクトルを生成する。このために、最終の動きベクトル生成部３２０は、信頼度判断部３２２、重み値算出部３２４及び最終の動きベクトル算出部３２６を含む。
【００５５】
信頼度判断部３２２は、動きベクトル推定部３１２で推定された多数の動きベクトルのうちの候補の動きベクトルｖｚ、ｖ０乃至ｖ８に対する信頼度を判断する。そして、信頼度判断部３２２は、判断結果によって候補の動きベクトルｖｚ、ｖ０乃至ｖ８のうちの信頼度に優れている動きベクトルに対してのみ重み値を与えるようにする選別信号を重み値算出部３２４に提供する。ここで、信頼度は、後述する最終の動きベクトルの生成時における、それぞれの動きベクトルｖｚ、ｖ０乃至ｖ８を用いるか否かを判断する値である。
【００５６】
このために、信頼度判断部３２２には、動きベクトル推定部３１２で推定された各ブロックＢ０乃至Ｂ８の動きベクトルｖｚ、ｖ０乃至ｖ８及び動き予測エラー算出部３１４で取り出された各ブロックＢ０乃至Ｂ８の動きベクトルｖｚ、ｖ０乃至ｖ８に対応するＳＡＤ値が提供される。
【００５７】
信頼度判断部３２２は、次の式（３）を用いて動きベクトルｖ０乃至ｖ８のそれぞれに対する信頼度を判断する。
【００５８】
【数２０】
2005012798.tif 000012
前記式の中で、
【００５９】
【数２１】
2005012798.tif 000013
は、推定された動きベクトルの信頼度を判断するために設定された閾値を表し、
【００６０】
【数２２】
2005012798.tif 000014
は、零動きベクトルｖｚに対応するＳＡＤ値を表し、
【００６１】
【数２３】
2005012798.tif 000015
は、推定された動きベクトルｖ０乃至ｖ８に対応するＳＡＤ値を表し、
【００６２】
【数２４】
2005012798.tif 000016
は、推定された各動きベクトルｖ０乃至ｖ８の信頼度値を表す。
【００６３】
式（３）を参照して説明すれば、信頼度判断部３２２は、信頼度値と予め設定された閾値とを比較し、推定された動きベクトルｖ０乃至ｖ８のうちの予め設定された閾値より大きい信頼度値を有する動きベクトルに対してのみ重み値を算出するようにする選別信号を重み値算出部３２４に提供する。
【００６４】
詳述すれば、信頼度判断部３２２は、推定された動きベクトルｖ０乃至ｖ８のうちの式（３）を満たさない動きベクトル（例えば、ｖ１）に対しては、動きベクトルが正確に推定されたと判断し、式（３）を満たさない所定の動きベクトル（例えば、ｖ１）に所定の重み値を与えるようにする選別信号‘１’を重み値算出部３２４に送る。
【００６５】
これに対し、信頼度判断部３２２は、推定された動きベクトルｖ０乃至ｖ８のうちの式（３）を満たす動きベクトル（例えば、ｖ２）は、不正確に推定されたと判断し、式（３）を満たす所定の動きベクトル（例えば、ｖ２）に所定の重み値を与えないようにする選別信号‘０’を重み値算出部３２４に送る。
【００６６】
これと共に、信頼度判断部３２２は、推定された動きベクトルｖ０乃至ｖ８のうちの式（３）を満たす動きベクトル（例えば、ｖ２）は、平滑な映像から推定された動きベクトルであると判断し、零動きベクトルｖｚと認識する。この結果、式（３）を満たす所定の動きベクトル（例えば、ｖ２）は、テンポラリーアベレージング（Ｔｅｍｐｏｒａｒｙ  Ａｖｅｒａｇｉｎｇ）により動きの補償が行われる。これは、動きの補償過程において、並進運動ではない複雑な動きが存在する場合、ＢＭＡにより推定した動きベクトルよりは、動きを考慮せずテンポラリーアベレージング（Ｔｅｍｐｏｒａｒｙ  Ａｖｅｒａｇｉｎｇ）により補償を行うことがより正確な補償が行われるためである。ここで、平滑な映像としては、エッジ領域がないかまたは高周波成分のない映像が例に挙げられる。
【００６７】
重み値算出部３２４は、動き予測エラー算出部３１４からの現ブロックＢ０の零動きベクトルｖｚに対応するＳＡＤ値、各動きベクトルｖ０乃至ｖ８に対応するＳＡＤ値及び信頼度判断部３２２からの各動きベクトルｖｚ、ｖ０乃至ｖ８に対する信頼度の選別信号を用いて、各動き軌跡における正確度を考慮してから、各動きベクトルｖ０乃至ｖ８に与えるべき重み値を算出する。ここで、動きベクトルｖ０乃至ｖ８の正確度とは、推定された動きベクトルｖ０乃至ｖ８がいかに正確に推定されたかを表すものであって、ＳＡＤ値に基づいて判断する。
【００６８】
言い換えれば、重み値算出部３２４は、選別信号‘０’に対応するＳＡＤ値を有する動き軌跡には重み値を与えず、選別信号‘１’に対応するＳＡＤ値を有する動きベクトルには、ＳＡＤ値の大きさによって適応的に重み値を与える。
【００６９】
このために、重み値算出部３２４は、次の式（４）を用いて現ブロックＢ０の零動きベクトルｖｚと各ブロックＢ０乃至Ｂ８の動きベクトルｖ０乃至ｖ８に与えられる重み値を算出する。
【００７０】
【数２５】
2005012798.tif 000017
前記式の中で、ｖｉは、現及び周辺ブロックＢ０、Ｂ１乃至Ｂ８の動きベクトルｖ０乃至ｖ８を表し、重み値ｗｉは、次の式（５）を満たさなければならない。
【００７１】
【数２６】
2005012798.tif 000018
式（４）及び式（５）を参照すれば、重み値算出部３２４で算出される各動きベクトルｖｚ、ｖ０乃至ｖ８に与えられる重み値は、各動きベクトルｖｚ、ｖ０乃至ｖ８に対応するＳＡＤ値に反比例する。
【００７２】
言い換えれば、重み値算出部３２４は、各ブロックＢ０乃至Ｂ８の各動きベクトルｖ０乃至ｖ８に対応するＳＡＤ値を比較し、比較されたＳＡＤ値が小さいほど正確な動きの推定が行われたと判断し、ＳＡＤ値に反比例する重み値を算出する。即ち、各動きベクトルｖｚ、ｖ０乃至ｖ８における正確度は、各ブロックＢ０乃至Ｂ８のＳＡＤ値により決められる。
【００７３】
例を挙げて説明すれば、信頼度判断部３２２から各動きベクトルｖ０乃至ｖ８のうちの二つの動きベクトル（例えば、ｖ０、ｖ２）に重み値を与えるようにする選別信号‘１’が二つ入力されると、重み値算出部３２４は、入力された二つの選別信号‘１’に対応する動きベクトル（例えば、ｖ０、ｖ２）に与えるための重み値を算出し、より小さいＳＡＤ値を有する動きベクトル（例えば、ｖ０及びｖ２のいずれか）により大きな重み値が与えられるようにし、二つの動きベクトル（例えば、ｖ０、ｖ２）に対する重み値を最終の動きベクトル算出部３２６に提供する。無論、二つのＳＡＤ値に対応する動きベクトル（例えば、ｖ０、ｖ２）に与えられた重み値の和は、式（５）の条件により‘１’を有する。
【００７４】
最終の動きベクトル算出部３２６は、動きベクトル推定部３１２で推定された各動きベクトルｖｚ、ｖ０乃至ｖ８及び重み値算出部３２４で算出された各動きベクトルｖｚ、ｖ０乃至ｖ８に対応する重み値を用いて最終の動きベクトルｖ’を算出する。即ち、最終の動きベクトル算出部３２６は、次の式（６）により最終の動きベクトルｖ’を算出する。
【００７５】
【数２７】
2005012798.tif 000019
式（６）を参照すれば、ｗｉは、動きベクトルｖｉに対応する重み値を表し、ｖ’は、最終の動きベクトルを表す。詳述すれば、最終の動きベクトル算出部３２６は、各動きベクトルｖｚ、ｖ０乃至ｖ８に対応する重み値を乗算した後、乗算した値のすべてを加算することにより最終の動きベクトルｖ’を生成する。生成された最終の動きベクトルｖ’は、動き補償部３３０に提供される。
【００７６】
動き補償部３３０は、最終の動きベクトル算出部３２６から入力される最終の動きベクトルｖ’を用いて、補間すべきフレーム／フィールドＦｉにおいて動きの補償を行って補間される画素ｆを生成する。
【００７７】
一方、本発明に係る動きベクトル生成装置が適用された動きの補償装置３００において、動きの推定及び動きの補償時に互いに異なる大きさのブロックを使用することにより層一層正確に動きを推定及び補償することができる。即ち、動きの推定は、より大きいブロックにおいて、動きの補償は、より小さいブロックにおいて行うことが有利である。
【００７８】
例えば、（１６×１６）ブロックと（８×８）ブロックが存在する場合、動きの推定は、（１６×１６）の大きさのブロックを使用することにより（８×８）のブロックを使用する時に比べてより正確な動きベクトルを推定することができる。これに対し、動きの補償は、（８×８）の大きさのブロックを使用すると、不正確に推定された動きベクトルの大きさが相対的に小さく見え、結局、ブロック・アーチファクト現象もほぼ発生しない。従って、動き推定部３１０は、（１６×１６）のブロックにおいて動きベクトルを推定し、動き補償部３３０は、（８×８）のブロックにおいて動きの補償を行うと、推定された動きベクトルが補償過程では４倍多くなるため、動きベクトルフィールドのベクトル密度が向上し、この結果、より改善された画質を有する映像が提供できるようになる。
【００７９】
図６は、図３に示す動きの補償方法を概略的に説明するためのフローチャートである。
【００８０】
まず、動きベクトル推定部３１２は、現フレーム／フィールドＦｎを多数のブロックに分割した後、分割された各ブロックに対するＳＡＤ値をＢＭＡを用いて算出する。そして、動きベクトル推定部３１２は、分割された各ブロックのうちの補間すべき現ブロックＢ０及び周辺ブロックＢ１乃至Ｂ８を先に考慮して動きベクトルを推定する。
【００８１】
即ち、動きベクトル推定部３１２は、各補間すべき各ブロックＢ０、Ｂ１乃至ｖ８毎に算出された多数のＳＡＤ値のうちの最小のＳＡＤ値を有する位置から補間すべき各ブロックＢ０、Ｂ１乃至Ｂ８の動きベクトルｖ０乃至ｖ８を推定する。また、動きベクトル推定部３１２は、補間すべき現ブロックＢ０の動きベクトルが‘０’である零動きベクトルｖｚも推定する。
【００８２】
各動きベクトルｖｚ、ｖ０乃至ｖ８が推定されると、動き予測エラー算出部３１４は、推定された動きベクトルｖｚ、ｖ０乃至ｖ８に相当するＳＡＤ値を取り出す（Ｓ６１０）。この時、推定された現ブロックＢ０、及び周辺部ロックＢ１乃至Ｂ８のそれぞれに対して推定された動きベクトルｖｚ、ｖ０乃至ｖ８は、現ブロックＢ０の候補の動きベクトルとして指定される。
【００８３】
Ｓ６１０ステップが行われると、信頼度判断部３２２は、式（３）を用いて各動きベクトルｖ０乃至ｖ８の信頼度値を算出した後、その信頼度値と予め設定された閾値とを比較する（Ｓ６２０）。Ｓ６２０ステップにおいて、信頼度判断部３２２は、各動きベクトルｖ０乃至ｖ８のうちの式（３）を満たす動きベクトルに対してのみ重み値を与えるようにする選別信号を重み値算出部３２４に提供する。
【００８４】
そして、動きベクトルｖ０乃至ｖ８のうちの信頼度値が閾値より大きい所定の動きベクトルに対してのみ重み値を与えるようにする選別信号が提供されると、重み値算出部３２４は、式（４）を用いて選別信号‘１’を有する動きベクトルに与えるべき重み値を算出する（Ｓ６３０）。
【００８５】
各動きベクトルｖ０乃至ｖ８に対する重み値が算出されると、最終の動きベクトル算出部３２６は、算出された重み値を適用して最終の動きベクトルを生成する（Ｓ６４０）。そして、動き補償部３３０は、算出された最終の動きベクトルを用いて動きの補償を行う（Ｓ６５０）。
【００８６】
前述した動きベクトルを用いた動きの補償装置３００及び方法によれば、動きの補償を行うに当たって、現ブロックＢ０の動きベクトルｖ０のみならず、周辺ブロックＢ１乃至Ｂ８の動きベクトルｖ１乃至ｖ８を用いて補間すべきブロックの動きを補償する。即ち、現ブロックＢ０及び周辺ブロックＢ１乃至Ｂ８の動きベクトルｖ０乃至ｖ８を用いて、それぞれの動き軌跡におけるＳＡＤ値を算出した後、算出されたＳＡＤ値を用いて重み値を算出する。
【００８７】
そして、算出されたＳＡＤ値に反比例する重み値を与えることにより現ブロックＢ０の動きベクトルｖ０が不正確に推定された場合に発生する図２に示すようなブロック・アーチファクトを未然に防止することができる。
【００８８】
即ち、前述した動きの補償装置３００によれば、ブロック間の動きが滑らかであるという仮定下で補間すべきブロック毎に多数の動きベクトルｖｚ、ｖ０乃至ｖ８を考慮して最終の動きベクトルｖ’を生成した後、生成された最終の動きベクトルｖ’を用いて動きの補償を行う。従って、本発明に係る動きベクトルを用いた動きの補償装置３００から出力される映像は、図５に示すようにブロック・アーチファクト現象が取り除きまたは減少するという効果を有する。
【００８９】
以上では、代表的な実施例を挙げて本発明について詳しく説明したが、本発明の属する技術分野における通常の知識を有する者であれば、前述した実施例に対し本発明の範疇を逸脱しない限度内で種々の変形が可能であることが理解できるはずである。ゆえに、本発明の権利範囲は、説明された実施例に限られるものではなく、添付する特許請求の範囲のみならず、該特許請求の範囲と均等な物により定められるべきである。
【産業上の利用可能性】
【００９０】
本発明は、１つのブロック当たりに多数の候補の動きベクトルを推定した後、推定された動きベクトルに重み値を与えて動きの補償を行う動きベクトルの生成装置及び方法に用いられ得る。
【図面の簡単な説明】
【００９１】
【図１】一般のブロック・マッチング方式を用いて動きを推定する方法を説明するために示す図である。
【図２Ａ】従来の動きの補償方法によりブロック・アーチファクトが発生した映像のシミュレーション例を示す図である。
【図２Ｂ】図２Ａに示すブロック・アーチファクトが発生した閉塞領域において推定された動きベクトルフィールドを示す図である。
【図３】本発明の好適な実施例に係る動きベクトル生成装置が適用された動きの補償装置を概略的に示すブロック図である。
【図４Ａ】図３の動きベクトル推定部において動きの推定のために設定した現ブルック及び周辺ブロックを示す図である。
【図４Ｂ】図３の動きベクトル推定部において単方向ＢＭＡにより推定した現ブロック及び周辺ブロックの動きベクトルを概略的に示す図である。
【図４Ｃ】図３の動き推定部において双方向推定による現ブロック及び周辺ブロック動きベクトルを概略的に示す図である。
【図５】図３の動きの補償装置によりブロック・アーチファクトが取り除かれた映像のシミュレーション例を示す図である。
【図６】図３に示す動きの補償方法を概略的に説明するためのフローチャートである。
【符号の説明】
【００９２】
３００  動きの補償装置
３１０  動き推定部
３１２  動きベクトル推定部
３１４  動き予測エラー算出部
３２０  最終の動きベクトル生成部
３２２  信頼度判断部
３２４  重み値算出部
３２６  最終の動きベクトル算出部
３３０  動き補償部
【図１】
2005012798.tif 000030
【図２Ａ】
2005012798.tif 000031
【図２Ｂ】
2005012798.tif 000032
【図３】
2005012798.tif 000033
【図４Ａ】
2005012798.tif 000034
【図４Ｂ】
2005012798.tif 000035
【図４Ｃ】
2005012798.tif 000036
【図５】
2005012798.tif 000037
【図６】
2005012798.tif 000038