(57)【特許請求の範囲】
【請求項１】
符号化対象の映像データから分割された所定の単位ブロツクの第１の階層における第１のフレームから少なくとも２フレーム以上離れた第２のフレームまでの動きベクトルを検出する動きベクトル検出方法において、
上記第１のフレームから、上記第２のフレームより１フレーム前の第３のフレームまでの間、複数画素毎の平均値を示す第１の特徴量に基づき、又は上記各画素毎と、対応する上記第１の特徴量とのばらつき度合いを示す第２の特徴量に基づき、隣接するフレーム間で上記第１の階層よりも下層におけるフイールド間の動きベクトルを順次検出する第１のステツプと、
上記第１のステツプにおいて検出した上記フイールド間の動きベクトルに基づいて、上記第１の階層における上記第３及び第２のフレーム間の動きベクトルを検出するための探索領域の大きさ及び位置を決定する第２のステツプと、
各上記第１の特徴量及び各上記第２の特徴量並びに上記探索領域に基づき、上記第１の階層における上記第３及び第２のフレーム間の動きベクトルを検出する第３のステツプと、
上記第１のステツプにおいて検出した上記第１の階層よりも下層における全ての上記フイールド間の動きベクトルと、上記第３のステツプにおいて検出した上記第１の階層における上記第３及び第２のフレーム間の動きベクトルとを合成して、上記単位ブロツクの上記第１の階層における上記第１のフレームから上記第２のフレームまでの上記動きベクトルを検出する第４のステツプと
を具えることを特徴とする動きベクトル検出方法。
【請求項２】
符号化対象の映像データから分割された所定の単位ブロツクの第１の階層における第１のフレームから少なくとも２フレーム以上離れた第２のフレームまでの動きベクトルを検出する動きベクトル検出装置において、
上記第１のフレームから、上記第２のフレームより１フレーム前の第３のフレームまでの間、複数画素毎の平均値を示す第１の特徴量に基づき、又は上記各画素毎と、対応する上記第１の特徴量とのばらつき度合いを示す第２の特徴量に基づき、隣接するフレーム間で上記第１の階層よりも下層におけるフイールド間の動きベクトルを順次検出する第１の動きベクトル検出手段と、
上記第１の動きベクトル検出手段により検出された上記フイールド間の動きベクトルに基づいて、上記第１の階層における上記第３及び第２のフレーム間の動きベクトルを検出するための探索領域の大きさ及び位置を決定する決定手段と、
各上記第１の特徴量及び各上記第２の特徴量並びに上記探索領域に基づき、上記第１の階層における上記第３及び第２のフレーム間の動きベクトルを検出する第２の動きベクトル検出手段と、
上記第１の動きベクトル検出手段により検出された上記第１の階層よりも下層における全ての上記フイールド間の動きベクトルと、上記第２の動きベクトル検出手段により検出された上記第１の階層における上記第３及び第２のフレーム間の動きベクトルとを合成して、上記単位ブロツクの上記第１の階層における上記第１のフレームから上記第２のフレームまでの上記動きベクトルを検出する第３の動きベクトル検出手段と
を具えることを特徴とする動きベクトル検出装置。
【発明の詳細な説明】
【０００１】
【目次】
以下の順序で本発明を説明する。
【０００２】
発明の属する技術分野
従来の技術（図８）
発明が解決しようとする課題（図９〜図１４）
課題を解決するための手段（図１〜図７）
発明の実施の形態
（１）本実施の形態による符号化装置の構成（図１及び図２）
（２）動きベクトルの検出処理（図３〜図７）
（３）本実施の形態の動作及び効果（図１〜図７）
（４）他の実施の形態（図１〜図７）
発明の効果
【０００３】
【発明の属する技術分野】
本発明は動きベクトル検出方法及び装置に関し、例えば映像データを符号化する際に動きベクトルを検出する動きベクトル検出方法及び装置に適用して好適なものである。
【０００４】
【従来の技術】
近年、映像データの符号化方式としてＭＰＥＧ２（Moving Picture Experts Group Phase 2）と呼ばれる方式がある。
【０００５】
このＭＰＥＧ２方式は、ＩＴＵ−Ｔ（International Telecommunication Union-Telecommunication Standardization Secter：国際電気通信連合電気通信標準化部門）等の機関によつて標準化され、映像データを符号化し、これを多重化して蓄積及び伝送する目的で規格化されている。
【０００６】
実際にこのＭＰＥＧ２方式では、映像データをフレーム毎にマクロブロツクと呼ばれる単位で符号化するように規定されており、当該映像データを高能率符号化するための符号化方式として、Ｉ（Intra ）ピクチヤと呼ばれる方式と、前方向と後方向との双方向の動き補償フレーム間予測を用いるＢ（Bidirectionally predictive）ピクチヤと呼ばれる方式と、前方向の動き補償フレーム間予測を用いるＰ（Predictive）ピクチヤと呼ばれる方式とが規定されている。
【０００７】
ここで図８に示すように、例えば映像データの時間的に連続するフレーム単位のデータ（以下、これをフレームデータと呼ぶ）Ｔn 〜Ｔn+2 にＩピクチヤ、Ｂピクチヤ、Ｐピクチヤを割り当てたとすると、当該Ｉピクチヤを割り当てたフレームデータＴn はそのデータのみを用いて符号化し、Ｂピクチヤを割り当てたフレームデータＴn+1 は時間的に過去のＩピクチヤを割り当てたフレームデータＴn と時間的に未来のＰピクチヤを割り当てたフレームデータＴn+2 とを用いてマクロブロツクＭＢ単位で双方向の動き補償フレーム間予測により符号化し、さらにＰピクチヤを割り当てたフレームデータＴn+2 は時間的に過去のＩピクチヤを割り当てたフレームデータＴn を用いてマクロブロツク単位ＭＢで前方向の動き補償フレーム間予測により符号化するようになされている。
【０００８】
【発明が解決しようとする課題】
ところで図９は、ＭＰＥＧ２方式が適用された符号化装置１を示し、外部からアナログでなる映像信号Ｓ１が入力処理部２に供給される。
【０００９】
入力処理部２は、外部から供給される映像信号Ｓ１をアナログデイジタル変換し、順次得られるフレームデータにＩピクチヤ、Ｂピクチヤ及びＰピクチヤのいずれかを割り当てた後、当該フレームデータをマクロブロツク単位に分割して出力する。
【００１０】
ここでまず符号化装置１においては、第１の符号化処理モード時に第１及び第２の切換え器３及び４のスイツチをそれぞれ第１の接点Ａに接続する。
【００１１】
この状態において入力処理部２は、Ｉピクチヤを割り当てたフレームデータ（以下、これを第１のフレームデータと呼ぶ）をマクロブロツク単位に分割し、得られた第１のマクロブロツクデータＤ１を順次第１の切換え器３を介して離散コサイン変換（DCT:Discrete Cosine Transform ）器５に送出する。
【００１２】
離散コサイン変換器５は、第１の切換え器３を介して与えられる第１のマクロブロツクデータＤ１を離散コサイン変換処理して離散コサイン変換係数に変換し、これを量子化器６に送出する。
【００１３】
量子化器６は、離散コサイン変換器５から与えられる離散コサイン変換係数を、情報量制御器７から与えられる対応する量子化係数に基づいて量子化し、得られた量子化データＤ２を可変長符号化器８に送出すると共に、逆量子化器９に送出する。
【００１４】
可変長符号化器８は、量子化器６から与えられる量子化データＤ２を所定方式で可変長符号化し、得られた符号化データＤ３をバツフアメモリ１０を介して例えば所定の記録媒体に符号化データＤ３を記録する記録装置（図示せず）に送出する。
【００１５】
因みに可変長符号化器８から出力される符号化データＤ３は、バツフアメモリ１０を介して情報量制御器７にも与えられ、これにより情報量制御器７は符号化データＤ３のデータ量を検出し、その検出結果に基づいて量子化係数を生成してこれを量子化器６及び逆量子化器９に送出する。
【００１６】
逆量子化器９は、量子化器６から与えられる量子化データＤ２を、情報量制御器７から与えられる対応する量子化係数に基づいて逆量子化し、得られる離散コサイン係数を逆離散コサイン変換器１１に送出する。
【００１７】
逆離散コサイン変換器１１は、逆量子化器９から与えられる離散コサイン係数を逆離散コサイン変換処理することにより第１のマクロブロツクデータＤ１に変換してこれを加算器１２に送出する。
【００１８】
このとき加算器１２は、逆離散コサイン変換器１１から与えられる第１のマクロブロツクデータＤ１をそのままフレームメモリ構成でなる画像メモリ１３に送出し、かくして画像メモリ１３内に第１のマクロブロツクデータＤ１を順次格納して第１のフレームデータを再構成する。
【００１９】
この後この符号化装置１では、入力処理部２から１フレーム分の第１のマクロブロツクデータＤ１が全て出力されると、第２の符号化処理モードに移り、第１及び第２の切換え器３及び４のスイツチを第２の接点Ｂに接続する。
【００２０】
この状態において入力処理部２は、Ｂピクチヤ又はＰピクチヤを割り当てたフレームデータ（以下、これを第２のフレームデータと呼ぶ）をマクロブロツク単位に分割し、得られた第２のマクロブロツクデータＤ４を動きベクトル検出器１４に送出すると共に、減算器１５に送出する。
【００２１】
動きベクトル検出器１４は、入力処理部２から第２のマクロブロツクデータＤ４が与えられると、画像メモリ１３からこれに格納されている、当該第２のマクロブロツクデータＤ４に対して時間的に例えば過去の所定のフレームデータを参照データＤ５として読み出す。そして動きベクトル検出器１４は、画像メモリ１３から読み出した参照データＤ５と第２のマクロブロツクデータＤ４とに基づいて当該第２のマクロブロツクデータＤ４の動きベクトルを求め、これを動きベクトルデータＤ６として動き補償器１６に送出する。
【００２２】
動き補償器１６は、動きベクトル検出器１４から動きベクトルデータＤ６が与えられると、このとき画像メモリ１３から参照データＤ５を読み出し、当該読み出した参照データＤ５から動きベクトルデータＤ６に基づいて、第２のマクロブロツクデータＤ４と最も一致するブロツクデータを取り出し、これを動き補償データＤ７として減算器１５に送出する。
【００２３】
これにより減算器１５は、入力処理部２から与えられる第２のマクロブロツクデータＤ４から、動き補償器１６から与えられる動き補償データＤ７を減算し、得られる差分データＤ８を第１の切換え器３を介して離散コサイン変換器５に送出する。
【００２４】
そしてこの後符号化装置１では、上述した第１の符号化処理モード時と同様にして差分データＤ８を離散コサイン変換器５及び量子化器６を順次介して量子化データＤ９を生成し、これを可変長符号化器８に送出する。
【００２５】
このとき可変長符号化器８においては、動きベクトル検出器１４から動きベクトルデータＤ６が与えられており、量子化器６から与えられる量子化データＤ９と共にこれに対応する動きベクトルデータＤ６も可変長符号化し、これら可変長符号化した量子化データＤ９及び動きベクトルデータＤ６を符号化データＤ１０としてバツフアメモリ１０を介して出力する。
【００２６】
また量子化器６から出力される量子化データＤ９は、逆量子化器９及び逆離散コサイン変換器１１を順次介して復号されることにより差分データＤ８に変換されて加算器１２に与えられる。
【００２７】
このとき加算器１２には、動き補償器１６から第２の切換え器４を介して対応する動き補償データＤ７が与えられており、これにより加算器１２は差分データＤ８と、動き補償データＤ７とを加算して第２のマクロブロツクデータＤ４を生成し、これを画像メモリ１３に送出する。
【００２８】
画像メモリ１３内には、加算器１２から出力される第２のマクロブロツクデータＤ４が順次格納され、これにより第２のフレームデータを再構成することができる。ただしこのとき画像メモリ１３には、Ｐピクチヤが割り当てられた第２のマクロブロツクデータＤ４のみが格納され、Ｂピクチヤが割り当てられた第２のマクロブロツクデータＤ４は動き補償フレーム間予測に参照データとして用いないことから格納されないようになされている。
【００２９】
このようにして符号化装置１では、入力処理部２から１フレーム分の第２のマクロブロツクデータＤ４が全て出力されると、その第２のマクロブロツクデータＤ４に続いて入力処理部２から出力される第１又は第２のマクロブロツクデータＤ１又はＤ４に応じて第１の符号化処理モードに移り、又は第２の符号化処理モードを継続し、この後上述した処理を実行することにより映像信号Ｓ１を符号化処理することができる。
【００３０】
ところで動きベクトル検出器１４では、図１０に示すように、動きベクトル検出対象の第２のマクロブロツクデータＤ４の動きベクトルを検出する場合、この第２のマクロブロツクデータＤ４に基づく画像（以下、これをマクロブロツク画像と呼ぶ）ＭＧ１の位置する１フレーム分の画像（以下、これを原画像と呼ぶ）ＦＧ１よりも時間的に過去又は未来（この場合は時間的に２フレーム過去）の参照データＤ５（第１又は第２のフレームデータ）に基づく画像（以下、これを参照原画像と呼ぶ）ＦＧ２上でマクロブロツク画像ＭＧ１に対する所定の第１の探索領域ＴＲ１を決定する。
【００３１】
そして動きベクトル検出器１４では、第１の探索領域ＴＲ１内をマクロブロツク画像ＭＧ１でサーチしながら順次ブロツクマツチングすることにより当該第１の探索領域ＴＲ１内において、マクロブロツク画像ＭＧ１と最も一致する第１のブロツク画像ＢＧ１を検出し、当該検出して得られた第１のブロツク画像ＢＧ１とマクロブロツク画像ＭＧ１との間の動き量に基づいて動きベクトルＭＶを検出する。
【００３２】
実際上動きベクトル検出器１４では、マクロブロツク画像ＭＧ１と、これに第１の探索領域ＴＲ１内で対応させた第１のブロツク画像ＢＧ１とにおいて、当該マクロブロツク画像ＭＧ１のトツプフイールドｔｆに対する予測誤差ＢＤｔ(m,n) を次式
【００３３】
【数１】
0003944804.tif 000002
【００３４】
で表されるように、マクロブロツク画像ＭＧ１のトツプフイールドｔｆの各画素位置（ｉ，ｊ）の輝度レベルｄと、第１のブロツク画像ＢＧ１のそれぞれ対応させた画素位置（ｍ，ｎ）の輝度レベルＤとの差分の絶対値の総和を算出するようにして求める。
【００３５】
またこのマクロブロツク画像ＭＧ１のボトムフイールドｂｆに対する予測誤差ＢＤｂ(m,n) を次式
【００３６】
【数２】
0003944804.tif 000003
【００３７】
で表されるように、このマクロブロツク画像ＭＧ１のボトムフイールドｂｆの各画素位置（ｉ，ｊ）の輝度レベルｄと、第１のブロツク画像ＢＧ１のそれぞれ対応させた画素位置（ｍ，ｎ）の輝度レベルＤとの差分の絶対値の総和を算出するようにして求める。
【００３８】
そしてマクロブロツク画像ＭＧ１と第１のブロツク画像ＢＧ１とのフレーム間における予測誤差ＢＤｆ(m,n) を次式
【００３９】
【数３】
0003944804.tif 000004
【００４０】
で表されるように、対応する予測誤差ＢＤｔ(m,n) 及び予測誤差ＢＤｂ(m,n) 同士を順次加算して求め、この予測誤差ＢＤｆ(m,n) の値が最も最小となるときの第１のブロツク画像ＢＧ１をマクロブロツク画像ＭＧ１と最も一致するものとして検出することにより、これら第１のブロツク画像ＢＧ１とマクロブロツク画像ＭＧ１との間の動き量に基づいて動きベクトルＭＶを検出する。
【００４１】
ところでマクロブロツク画像ＭＧ１の例えば２フレーム間の動きベクトルを検出する場合には、当該マクロブロツク画像ＭＧ１がその２フレーム間に亘つて動くことを考慮して第１の探索領域ＴＲ１をマクロブロツク画像ＭＧ１の１フレーム間の動きベクトルを検出するときの探索領域に比べて広くする（例えば４倍程度に広くする）必要がある。
【００４２】
このためこの場合には、予測誤差を算出するための演算量が増大することから、動きベクトル検出器１４の回路規模を比較的増大させる必要がある。
【００４３】
従つて、最近では、動きベクトルの検出精度をある程度犠牲にしたり、探索領域の大きさを小さくする等して演算量を削減することにより、動きベクトル検出器１４の回路規模を減少させるための種々の方法が考えられている。
【００４４】
ここで演算量を削減し得る動きベクトル検出方法の１つとして、マクロブロツク画像ＭＧ１及び参照原画像ＦＧ２の第１の探索領域ＴＲ１からそれぞれ画素を減らすように縮小してなる（例えば1/4 程度に縮小）階層画像を生成し、当該生成した階層画像と、マクロブロツク画像ＭＧ１及び参照原画像ＦＧ２とを階層的に用いて動きベクトルを検出する方法（以下、これを階層サーチ法と呼ぶ）がある。
【００４５】
実際上この階層サーチ法では、図１１（Ａ）及び（Ｂ）に示すように、マクロブロツク画像ＭＧ１上でトツプフイールドｔｆ及びボトムフイールドｂｆの第１の特徴量でなる低域成分ｌｆ(q,r) を次式
【００４６】
【数４】
0003944804.tif 000005
【００４７】
で表されるように、フイールド毎に水平方向に２画素おき及び垂直方向に２ラインおきの各位置（ｑ，ｒ）でそれぞれ水平方向に２画素及び垂直方向に２ラインでなる対応するブロツク内の４画素の輝度レベルｄの平均値を算出するようにして求めることにより、トツプフイールドｔｆ及びボトムフイールドｂｆの低域成分でなる階層画像（以下、これを第１の基本階層画像と呼ぶ）ＫＧ１を生成する。
【００４８】
またこの階層サーチ法では、図１２（Ａ）及び（Ｂ）に示すように、参照原画像ＦＧ２の第１の探索領域ＴＲ１内のトツプフイールドｔｆ及びボトムフイールドｂｆの低域成分Ｌｆ(q,r) を次式
【００４９】
【数５】
0003944804.tif 000006
【００５０】
で表されるように、フイールド毎に水平方向に２画素おき及び垂直方向に２ラインおきの各位置（ｑ，ｒ）でそれぞれ水平方向に２画素及び垂直方向に２ラインでなる対応するブロツク内の４画素の輝度レベルＤの平均値を算出するようにして求めることにより、トツプフイールドｔｆ及びボトムフイールドｂｆの低域成分でなる階層画像（以下、これを第１の参照階層画像と呼ぶ）ＳＧ１を生成する。
【００５１】
因みに上述した（４）式及び（５）式では、変数ｆｉに「０」を代入することによりトツプフイールドｔｆの低域成分を求めることができると共に、当該変数ｆｉに「１」を代入することによりボトムフイールドｂｆの低域成分を求めることができる。
【００５２】
次いで階層サーチ法では、図１３に示すように、まず動きベクトル検出処理の第１段階において、第１の参照階層画像ＳＧ１内を第１の基本階層画像ＫＧ１によつてサーチしながら順次ブロツクマツチングすることにより当該第１の基本階層画像ＫＧ１のトツプフイールドｔｆに対する予測誤差ｂｄｔ(q,r) を次式
【００５３】
【数６】
0003944804.tif 000007
【００５４】
で表されるように、この第１の基本階層画像ＫＧ１のトツプフイールドｔｆの各低域成分と、第１の参照階層画像ＳＧ１内の（第１の基本階層画像ＫＧ１と対応させた）第１のブロツク階層画像ＢＫ１のそれぞれ対応させた低域成分との差分の絶対値の総和を算出するようにして求める。
【００５５】
またこの第１の基本階層画像ＫＧ１のボトムフイールドｂｆに対する予測誤差ｂｄｂ(q,r) を次式
【００５６】
【数７】
0003944804.tif 000008
【００５７】
で表されるように、この第１の基本階層画像ＫＧ１のボトムフイールドｂｆの各低域成分と、第１のブロツク階層画像ＢＫ１のそれぞれ対応させた低域成分との差分の絶対値の総和を算出するようにして求める。
【００５８】
そして第１の基本階層画像ＫＧ１と第１のブロツク階層画像ＢＫ１とのフレーム間の予測誤差ｂｄｆ(q,r) を次式
【００５９】
【数８】
0003944804.tif 000009
【００６０】
で表されるように、対応する予測誤差ｂｄｔ(q,r) 及び予測誤差ｂｄｂ(q,r) 同士を順次加算して求め、当該求めた予測誤差ｂｄｆ(q,r) の値が最も最小となるときの第１のブロツク階層画像ＢＫ１を第１の基本階層画像ＫＧ１と最も一致するものとして検出することにより、当該検出した第１のブロツク階層画像ＢＫ１と第１の基本階層画像ＫＧ１との間の動き量に基づいて最下層における２フレーム間の動きベクトルを第１段階の動きベクトルＭＶａ１として検出する。
【００６１】
続いてこの階層サーチ法では、図１４に示すように、動きベクトル検出処理の第２段階において、参照原画像ＦＧ２上で第２の探索領域ＴＲ２を決定し、当該第２の探索領域ＴＲ２内をマクロブロツク画像ＭＧ１でサーチしながら順次ブロツクマツチングすることにより、上述した（１）式〜（３）式を用いて予測誤差を求めるようにして、かくして原画像レベルで第１段階の動きベクトルＭＶａ１を補正するような第２段階の動きベクトルＭＶａ２を検出する。
【００６２】
そしてこの階層サーチ法では、次式
【００６３】
【数９】
0003944804.tif 000010
【００６４】
で表されるように、階層画像を生成する際に欠落した画素数を補うように第１段階の動きベクトルＭＶａ１を２倍にし、これに第２段階の動きベクトルＭＶａ２を加算することによりマクロブロツク画像ＭＧ１の最終的な２フレーム間の動きベクトルＭＶａ３を検出する。
【００６５】
ところでこのような階層サーチ法では、マクロブロツク画像ＭＧ１の２フレーム間の動きベクトルを検出した場合、低域成分のみを用いて第１段階の動きベクトルＭＶａ１を検出するようにして検出精度を犠牲にしたり、探索領域を大幅に小さくする分、予測誤差の演算量を削減できる利点がある。
【００６６】
しかしながらこの階層サーチ法では、動きベクトルの検出と共にリアルタイムで参照原画像ＦＧ２から第１の参照階層画像ＳＧ１を生成するための新たな演算が必要となり、このため動きベクトルの検出時の全体の演算量を大幅には削減し難く、この結果として回路規模の低減も実現し難い問題があつた。
【００６７】
本発明は以上の点を考慮してなされたもので、回路規模を大幅に低減し得る動きベクトル検出方法及び装置を提案しようとするものである。
【００６８】
【課題を解決するための手段】
かかる課題を解決するため本発明においては、符号化対象の映像データから分割された所定の単位ブロツクの第１の階層における第１のフレームから少なくとも２フレーム以上離れた第２のフレームまでの動きベクトルを検出する動きベクトル検出方法において、第１のフレームから、第２のフレームより１フレーム前の第３のフレームまでの間、複数画素毎の平均値を示す第１の特徴量に基づき、又は各画素毎と、対応する第１の特徴量とのばらつき度合いを示す第２の特徴量に基づき、隣接するフレーム間で第１の階層よりも下層におけるフイールド間の動きベクトルを順次検出する第１のステツプと、当該第１のステツプにおいて検出したフイールド間の動きベクトルに基づいて、第１の階層における第３及び第２のフレーム間の動きベクトルを検出するための探索領域の大きさ及び位置を決定する第２のステツプと、各第１の特徴量及び各第２の特徴量並びに当該探索領域に基づき、第１の階層における第３及び第２のフレーム間の動きベクトルを検出する第３のステツプと、第１のステツプにおいて検出した第１の階層よりも下層における全てのフイールド間の動きベクトルと、第３のステツプにおいて検出した第１の階層における第３及び第２のフレーム間の動きベクトルとを合成して、単位ブロツクの第１の階層における第１のフレームから第２のフレームまでの動きベクトルを検出する第４のステツプとを設けるようにした。
【００６９】
この結果、第１の階層よりも下層では隣接するフレーム間でフイールド間の動きベクトルを検出することにより予測誤差の演算量を大幅に低減させることができ、第１の階層における第３及び第２のフレーム間の動きベクトルの検出時には探索領域の大きさを従来に比べて大幅に小さくして予測誤差の演算量を大幅に低減させることができる。
【００７０】
また本発明においては、符号化対象の映像データから分割された所定の単位ブロツクの第１の階層における第１のフレームから少なくとも２フレーム以上離れた第２のフレームまでの動きベクトルを検出する動きベクトル検出装置において、第１のフレームから、第２のフレームより１フレーム前の第３のフレームまでの間、複数画素毎の平均値を示す第１の特徴量に基づき、又は各画素毎と、対応する第１の特徴量とのばらつき度合いを示す第２の特徴量に基づき、隣接するフレーム間で第１の階層よりも下層におけるフイールド間の動きベクトルを順次検出する第１の動きベクトル検出手段と、当該第１の動きベクトル検出手段により検出されたフイールド間の動きベクトルに基づいて、第１の階層における第３及び第２のフレーム間の動きベクトルを検出するための探索領域の大きさ及び位置を決定する決定手段と、各第１の特徴量及び各第２の特徴量並びに当該探索領域に基づき、第１の階層における第３及び第２のフレーム間の動きベクトルを検出する第２の動きベクトル検出手段と、第１の動きベクトル検出手段により検出された第１の階層よりも下層における全てのフイールド間の動きベクトルと、第２の動きベクトル検出手段により検出された第１の階層における第３及び第２のフレーム間の動きベクトルとを合成して、単位ブロツクの第１の階層における第１のフレームから第２のフレームまでの動きベクトルを検出する第３の動きベクトル検出手段とを設けるようにした。
【００７１】
この結果、第１の階層よりも下層では隣接するフレーム間でフイールド間の動きベクトルを検出することにより予測誤差の演算量を大幅に低減させることができ、第１の階層における第３及び第２のフレーム間の動きベクトルの検出時には探索領域の大きさを従来に比べて大幅に小さくして予測誤差の演算量を大幅に低減させることができる。
【００７２】
【発明の実施の形態】
以下図面について、本発明の一実施の形態を詳述する。
【００７３】
（１）本実施の形態による符号化装置の構成
図９との対応部分に同一符号を付して示す図１において、２０は全体として本実施の形態による符号化装置を示し、動きベクトル検出器２１の構成を除いて従来の符号化装置１と同様に構成されている。
【００７４】
この符号化装置２０において動きベクトル検出器２１は、入力処理部２から与えられる第１及び第２のマクロブロツクデータＤ１及びＤ４を参照データとして用いて階層的な動きベクトル検出処理を順次実行し、これにより動きベクトル検出対象の第２のマクロブロツクデータＤ４の２フレーム間の動きベクトルを検出するようになされている。
【００７５】
この場合図２に示すように、動きベクトル検出回路２１においては、全体がＣＰＵ２２によつて制御されており、まず第１の符号化処理モード時、第３及び第４の切換え器２３及び２４のスイツチをそれぞれ第１の接点Ａに接続する。
【００７６】
この状態において入力処理部２から順次出力される第１のマクロブロツクデータＤ１は、フレームメモリ構成でなる原画像メモリ２５に供給されると共に、第３の切換え器２３を介して階層画像生成器２６に供給される。
【００７７】
このとき原画像メモリ２５は、第１のアドレス生成器２７からアドレス情報が与えられており、これにより入力処理部２から順次与えられる第１のマクロブロツクデータＤ１をアドレス情報によつて指定されたアドレス位置に書き込み、このようにして第１のフレームデータを再構成する。
【００７８】
また階層画像生成器２６は、入力処理部２から与えられる第１のマクロブロツクデータＤ１に基づいてそのトツプフイールド及びボトムフイールドの低域成分及び第２の特徴量でなる高域成分でなる参照階層ブロツクデータＤ１０を生成してこれを第４の切換え器２４を介してフレームメモリ構成でなる階層画像メモリ２８に送出する。
【００７９】
階層画像メモリ２８は、このとき第２のアドレス生成器２９からアドレス情報が与えられており、これにより階層画像生成器２６から順次与えられる参照階層ブロツクデータＤ１０をアドレス情報によつて指定されたアドレス位置に書き込む。
【００８０】
またこの動きベクトル検出器２１では、第２の符号化処理モード時、第３及び第４の切換え器２３及び２４のスイツチが第１の接点Ａに接続されたままの状態において、入力処理部２から第２のマクロブロツクデータＤ４が原画像メモリ２５に供給されると共に、第３の切換え器２３を介して階層画像生成器２６に供給される。
【００８１】
原画像メモリ２５は、入力処理部２から与えられる第２のマクロブロツクデータＤ４を、第１のアドレス生成器２７から与えられるアドレス情報によつて指定されたアドレス位置に書き込む。
【００８２】
階層画像生成器２６は、上述した参照階層ブロツクデータＤ１０の生成時と同様にして、入力処理部２から与えられる第２のマクロブロツクデータＤ４に基づいてそのトツプフイールド及びボトムフイールドの低域成分及び高域成分でなる参照階層ブロツクデータＤ１０を生成し、これを第４の切換え器２４を介して階層画像メモリ２８に送出する。
【００８３】
これにより階層画像メモリ２８は、階層画像生成器２６から与えられる参照階層ブロツクデータＤ１０を第２のアドレス生成器２９から与えられるアドレス情報によつて指定されたアドレス位置に書き込む。
【００８４】
そしてこの動きベクトル検出器２１では、入力処理部２から与えられる１つの第２のマクロブロツクデータＤ４に対して上述した処理が終了すると、第２の符号化処理モードから第１の動きベクトル検出処理モードに移つて第１段階の動きベクトル検出処理を開始し、第３及び第４の切換え器２３及び２４のスイツチを第２の接点Ｂに接続する。
【００８５】
この状態において原画像メモリ２５は、第２の符号化処理モード時に格納した第２のマクロブロツクデータＤ４を第１のアドレス生成器２７から与えられるアドレス情報に基づいて読み出し、当該読み出した第２のマクロブロツクデータＤ４を動きベクトル検出対象として原画像予測誤差演算器３０に送出すると共に第３の切換え器２３を介して階層画像生成器２６に送出する。
【００８６】
階層画像生成器２６は、原画像メモリ２５から与えられる第２のマクロブロツクデータＤ４に基づいてその低域成分及び高域成分でなる基本階層ブロツクデータＤ１１を生成してこれを第４の切換え器２４を介して階層画像予測誤差演算器３１に送出する。
【００８７】
このとき第２のアドレス生成器２９には、ＣＰＵ２２から第２のマクロブロツクデータＤ４に基づくマクロブロツク画像の原画像上での位置情報が与えられると共に、前方向又は後方向のいずれの動き補償フレーム間予測を実行するのかを表す予測方向情報が与えられる。
【００８８】
これにより第２のアドレス生成器２９は、その位置情報及び予測方向情報に基づいて、動きベクトル検出対象の第２のマクロブロツクデータＤ４よりも時間的に例えば１フレーム過去の１フレーム分の各参照階層ブロツクデータＤ１０の低域成分に基づく画像（以下、これを第２の参照階層画像と呼ぶ）上で第３の探索領域の大きさ及び位置を決定し、当該第３の探索領域内に位置する参照階層ブロツクデータＤ１０の低域成分を選定する。そして選定した参照階層ブロツクデータＤ１０の低域成分に対するアドレス情報を生成してこれを階層画像メモリ２８に送出する。
【００８９】
これにより階層画像メモリ２８は、第２のアドレス生成器２９から与えられるアドレス情報に基づいて、指定されたアドレス位置に書き込まれている参照階層ブロツクデータＤ１０の低域成分を第１の参照ブロツクデータＤ１２として読み出して階層画像予測誤差演算器３１に送出する。
【００９０】
そして階層画像予測誤差演算器３１は、階層画像生成器２６から与えられた基本階層ブロツクデータＤ１１からそのトツプフイールドの低域成分を取り出し、当該取り出した低域成分と、階層画像メモリ２８から与えられた第１の参照ブロツクデータＤ１２とに基づいてブロツクマツチングすることにより最下層において隣接するフレーム間におけるフイールド間の動きベクトルを第１段階の動きベクトルとして検出し、これを第１の動きベクトルデータＤ１３として第２のアドレス生成器２９及び原画像予測誤差演算器３０に送出する。
【００９１】
次いで動きベクトル検出器２１では、第１段階の動きベクトルを検出すると、第１の動きベクトル検出処理モードから第２の動きベクトル検出処理モードに移り、第２段階の動きベクトル検出処理を開始する。
【００９２】
このとき第２のアドレス生成器２９は、階層画像予測誤差演算器３１から与えられる第１の動きベクトルデータＤ１３に基づいて、第２の参照階層画像よりもさらに時間的に例えば１フレーム過去の１フレーム分の各参照階層ブロツクデータＤ１０に基づく画像（以下、これを第３の参照階層画像と呼ぶ）上で第４の探索領域の大きさ及び位置を決定し、当該第４の探索領域内に位置する参照階層ブロツクデータＤ１０を選定する。そしてこの選定した参照ブロツクデータＤ１０に対するアドレス情報を生成し、これを階層画像メモリ２８に送出する。
【００９３】
これにより階層画像メモリ２８は、第２のアドレス生成器２９から与えられるアドレス情報に基づいて指定されたアドレス位置に書き込まれている参照階層ブロツクデータＤ１０を第２の参照ブロツクデータＤ１４として読み出して階層画像予測誤差演算器３１に送出する。
【００９４】
そして階層画像予測誤差演算器３１は、階層画像生成器２６から与えられた基本階層ブロツクデータＤ１１と、階層画像メモリ２８から与えられた第２の参照ブロツクデータＤ１４とに基づいてブロツクマツチングすることにより最下層よりも上層における隣接するフレーム間の動きベクトルを第２段階の動きベクトルとして検出し、これを第２の動きベクトルデータＤ１５として第１のアドレス生成器２７及び原画像予測誤差演算器３０に送出する。
【００９５】
続いて動きベクトル検出器２１では、第２段階の動きベクトルを検出すると、第２の動きベクトル検出処理モードから第３の動きベクトル検出処理モードに移つて第３段階の動きベクトル検出処理を開始する。
【００９６】
このとき第１のアドレス生成器２７は、階層画像予測誤差演算器３１から与えられる第２の動きベクトルデータＤ１５に基づいて、第２の参照階層画像に対応する（動きベクトル検出対象の第２のマクロブロツクデータＤ４よりも時間的に２フレーム分離れている）参照原画像上で第５の探索領域の大きさ及び位置を決定し、当該第５の探索領域内に位置する第１又は第２のマクロブロツクデータＤ１又はＤ４を選定する。そしてこの選定した第１又は第２のマクロブロツクデータＤ１又はＤ４に対するアドレス情報を生成し、これを原画像メモリ２５に送出する。
【００９７】
これにより原画像メモリ２５は、第１のアドレス生成器２７から与えられるアドレス情報に基づいて指定されたアドレス位置に書き込まれている第１又は第２のマクロブロツクデータＤ１又はＤ４を第３の参照ブロツクデータＤ１６として読み出して原画像予測誤差演算器３０に送出する。
【００９８】
原画像予測誤差演算器３０は、原画像メモリ２５から与えられた第２のマクロブロツクデータＤ４と、第３の参照ブロツクデータＤ１６とに基づいてブロツクマツチングすることにより原画像レベルで第２段階の動きベクトルを補正するような動きベクトルを第３段階の動きベクトルとして検出する。
【００９９】
そして原画像予測誤差演算器３０は、階層画像予測誤差演算器３１から与えられた第１段階及び第２段階の動きベクトルと、第３段階の動きベクトルとに基づいて第２のマクロブロツクデータＤ４の２フレーム間の最終的な動きベクトルを検出し、これを動きベクトルデータＤ１７として動き補償器１６及び可変長符号化器８に送出する。
【０１００】
かくしてこの動きベクトル検出器２１においては、第３段階の動きベクトル検出処理により最終的な動きベクトルを検出すると、再び第２の符号化処理モードに移つて第３及び第４の切換え器２３及び２４のスイツチをそれぞれ第１の接点Ａに接続し、この状態において入力処理部２から１つの第２のマクロブロツクデータＤ４が与えられる。
【０１０１】
そしてこの動きベクトル検出器２１では、この後入力処理部２から１つの第２のマクロブロツクデータＤ４が与えられる毎に上述したように第２の符号化処理モードから第３の動きベクトル検出処理モードまでの動きベクトル検出処理を順次繰り返し、かくして第２のマクロブロツクデータＤ４の動きベクトルを検出する。
【０１０２】
（２）動きベクトル検出処理
実際上この動きベクトル検出器２１では、第１の動きベクトル検出処理モード時、階層画像生成器２６によつて動きベクトル検出対象の第２のマクロブロツクデータＤ４のトツプフイールド及びボトムフイールドのデータからそれぞれ低域成分と高域成分とを取り出すようにして基本階層ブロツクデータＤ１１を生成する。
【０１０３】
すなわち階層画像生成器２６は、図３（Ａ）〜（Ｃ）に示すように、動きベクトル検出対象の第２のマクロブロツクデータＤ４に基づくマクロブロツク画像ＭＧ２上でトツプフイールドｔｆ及びボトムフイールドｂｆの低域成分ｌｆ’(q,r) を次式
【０１０４】
【数１０】
0003944804.tif 000011
【０１０５】
で表されるように、フイールド毎に水平方向に４画素おき及び垂直方向に４ラインおきの各位置でそれぞれ水平方向に４画素及び垂直方向に４ラインでなる対応するブロツク内の16画素の輝度レベルｄの平均値を算出するようにして求めると共に、当該トツプフイールドｔｆ及びボトムフイールドｂｆの高域成分ａｆ’(q,r) を次式
【０１０６】
【数１１】
0003944804.tif 000012
【０１０７】
で表されるように、フイールド毎に水平方向に４画素おき及び垂直方向に４ラインおきの各位置でそれぞれ水平方向に４画素及び垂直方向に４ラインでなる対応するブロツク内の16画素の輝度レベルｄの平均値（すなわち低域成分）を算出し、この平均値と当該ブロツク内の各画素の輝度レベルｄとの差分の絶対値の平均値（各輝度レベルｄの低域成分に対するばらつきの度合い）を算出するようにして求めることにより、水平方向に４画素及び垂直方向に４ラインの低域成分（図３（Ｂ））と、水平方向に４画素及び垂直方向に４ラインの高域成分（図３（Ｃ））とからなる基本階層ブロツクデータＤ１１を生成する。
【０１０８】
因みにこの階層画像生成器２６では、第１及び第２の符号化処理モード時、参照用の第１又は第２のマクロブロツクデータＤ１又はＤ４のトツプフイールド及びボトムフイールドのデータからもそれぞれ低域成分と高域成分とを取り出すようにして参照階層ブロツクデータＤ１０を生成する。
【０１０９】
すなわち階層画像生成器２６は、図４（Ａ）〜（Ｃ）に示すように、参照用の第１又は第２のマクロブロツクデータＤ１又はＤ４に基づくマクロブロツク画像ＭＧ３上でトツプフイールドｔｆ及びボトムフイールドｂｆの低域成分Ｌｆ’(q,r) を次式
【０１１０】
【数１２】
0003944804.tif 000013
【０１１１】
で表されるように、フイールド毎に水平方向に２画素おき及び垂直方向に２ラインおきの各位置でそれぞれ水平方向に４画素及び垂直方向に４ラインでなる対応するブロツク内の16画素の輝度レベルＤの平均値を算出するようにして求めると共に、トツプフイールドｔｆ及びボトムフイールドｂｆの高域成分Ａｆ’(q,r) を次式
【０１１２】
【数１３】
0003944804.tif 000014
【０１１３】
で表されるように、フイールド毎に水平方向に２画素おき及び垂直方向に２ラインおきの各位置でそれぞれ水平方向に４画素及び垂直方向に４ラインでなる対応するブロツク内の16画素の輝度レベルＤの平均値を算出し、その平均値と当該ブロツク内の各画素の輝度レベルＤとの差分の絶対値の平均値を算出するようにして求めることにより、水平方向に８画素及び垂直方向に８ラインの低域成分（図４（Ｂ））と、水平方向に８画素及び垂直方向に８ラインの高域成分（図４（Ｃ））とからなる参照階層ブロツクデータＤ１０を生成する。
【０１１４】
因みに上述した（10）式及び（12）式では、変数ｆｉに「０」を代入することにより、トツプフイールドｔｆの低域成分を求めることができると共に、当該変数ｆｉに「１」を代入することによりボトムフイールドｂｆの低域成分を求めることができる。また上述した（11）式及び（13）式では、変数ｆｉに「０」を代入することにより、トツプフイールドｔｆの高域成分を求めることができると共に、当該変数ｆｉに「１」を代入することによりボトムフイールドｂｆの高域成分を求めることができる。
【０１１５】
そしてこの動きベクトル検出器２１では、図５に示すように、第１の動きベクトル検出処理モード時、第２のアドレス生成器２９により位置情報及び予測方向情報に基づいて、第２の参照階層画像ＳＧ２上で、基本階層ブロツクデータＤ１１のトツプフイールドｔｆの低域成分に基づく画像（以下、これを第２の基本階層画像と呼ぶ）ＫＧ２の所定の１つの角ｗ１と対応する位置を中心にした例えば水平方向Ｓｘに±８画素及び垂直方向Ｓｙに±８ラインでなる第３の探索領域ＴＲ３を決定する。
【０１１６】
これにより階層画像予測誤差演算器３１は、第３の探索領域ＴＲ３内を第２の基本階層画像ＫＧ２によつてサーチしながら順次ブロツクマツチングすることにより、当該第２の基本階層画像ＫＧ２とこれに第３の探索領域ＴＲ３内で対応させた第２のブロツク階層画像ＢＫ２とにおいて、この第２の基本階層画像ＫＧ２のトツプフイールドｔｆに対する予測誤差ｂｄｔ’(q,r) を次式
【０１１７】
【数１４】
0003944804.tif 000015
【０１１８】
で表されるように、第２の基本階層画像ＫＧ２内のトツプフイールドｔｆの低域成分と、第２のブロツク階層画像ＢＫ２内のそれぞれ対応させた低域成分との差分の絶対値の総和を算出するようにして求める。
【０１１９】
そして順次求めた予測誤差ｂｄｔ’(q,r) が最小となるときの第２のブロツク階層画像ＢＫ２を検出し、当該検出した第２のブロツク階層画像ＢＫ２と第２の基本階層画像ＫＧ２との間の動き量に基づいて、隣接するフレーム間におけるフイールド間の第１段階の動きベクトルＭＶｂ１を比較的粗く検出する。
【０１２０】
次いで動きベクトル検出器２１において第２の動きベクトル検出処理モード時、図６に示すように、第２のアドレス生成器２９は、低域成分及び高域成分でなる第３の参照階層画像ＳＧ３上で、第１段階の動きベクトルＭＶｂ１の終点ｗ２と対応する位置を中心にした例えば水平方向Ｓｘに±８画素及び垂直方向Ｓｙに±８ラインでなる第４の探索領域ＴＲ４を決定する。
【０１２１】
これにより階層画像予測誤差演算器３１は、第４の探索領域ＴＲ４内を基本階層ブロツクデータＤ１１に基づく画像（以下、これを第３の基本階層画像と呼ぶ）ＫＧ３によつてサーチしながら順次ブロツクマツチングすることにより、当該第３の基本階層画像ＫＧ３とこれに第４の探索領域ＴＲ４内で対応させた第３のブロツク階層画像ＢＫ３とにおいて、この第３の基本階層画像ＫＧ３のトツプフイールドｔｆに対する予測誤差ｂｄｔ”(q,r) を次式
【０１２２】
【数１５】
0003944804.tif 000016
【０１２３】
で表されるように、第３の基本階層画像ＫＧ３のトツプフイールドｔｆの各低域成分と、第３のブロツク階層画像ＢＫ３のそれぞれ対応させた低域成分との差分の絶対値の総和と、当該第３の基本階層画像ＫＧ３のトツプフイールドｔｆの各高域成分と、第３のブロツク階層画像ＢＫ３のそれぞれ対応させた低域成分との差分の絶対値の総和とを加算するようにして求める。
【０１２４】
また階層画像予測誤差演算器３１は、第３の基本階層画像ＫＧ３のボトムフイールドｂｆに対する予測誤差ｂｄｂ”(q,r) を次式
【０１２５】
【数１６】
0003944804.tif 000017
【０１２６】
で表されるように、第３の基本階層画像ＫＧ３のボトムフイールドｂｆの各低域成分と、第３のブロツク階層画像ＢＫ３のそれぞれ対応させた低域成分との差分の絶対値の総和と、当該第３の基本階層画像ＫＧ３のボトムフイールドｂｆの各高域成分と、第３のブロツク階層画像ＢＫ３のそれぞれ対応させた低域成分との差分の絶対値の総和とを加算するようにして求める。
【０１２７】
そして第３の基本階層画像ＫＧ３と第３のブロツク階層画像ＢＫ３とのフレーム間の予測誤差ｂｄｆ”(q,r) を次式
【０１２８】
【数１７】
0003944804.tif 000018
【０１２９】
で表されるように、対応する予測誤差ｂｄｔ”(q,r) 及び予測誤差ｂｄｂ”(q,r) 同士を順次加算して求め、順次求めた予測誤差ｂｄｆ”(q,r) のうち、その値が最小となるときの第３のブロツク階層画像ＢＫ３と第３の基本階層画像ＫＧ３との間の動き量に基づいて、最下層よりも上層における隣接するフレーム間の（第２及び第３の参照階層画像ＳＧ３間で第１段階の動きベクトルＭＶｂ１につながる）第２段階の動きベクトルＭＶｂ２を第１段階の動きベクトルＭＶｂ１よりも検出精度を上げて検出する。
【０１３０】
続いてこの動きベクトル検出器２１において第３の動きベクトル検出処理モード時、図７に示すように、第１のアドレス生成器２７は、マクロブロツク画像ＭＧ２に対応する原画像ＦＧ３よりも時間的に例えば２フレーム過去の参照原画像ＦＧ４上で、第２段階の動きベクトルＭＶｂ２の終点ｗ３と対応する位置を中心にして、参照階層ブロツクデータＤ１０を生成する際に欠落した画素を補うように例えば水平方向に±１画素及び垂直方向に±１ラインでなる第５の探索領域ＴＲ５を決定する。
【０１３１】
これにより原画像予測誤差演算器３０は、第５の探索領域ＴＲ５内をマクロブロツク画像ＭＧ２によつてサーチしながら順次ブロツクマツチングすることにより、上述した（１）式〜（３）式を用いて当該マクロブロツク画像ＭＧ２とこれに第５の探索領域ＴＲ５内で対応させた第２のブロツク画像ＢＧ２とのフレーム間の予測誤差を求め、順次求めた予測誤差のうち、その値が最も小さいときの第２のブロツク画像ＢＧ２とマクロブロツク画像ＭＧ２との間の動き量に基づいて原画像レベルで第２段階の動きベクトルＭＶｂ２を補正するような第３段階の動きベクトルＭＶｂ３を検出する。
【０１３２】
そして原画像予測誤差演算器３０は、次式
【０１３３】
【数１８】
0003944804.tif 000019
【０１３４】
で表されるように、階層画像を生成する際に欠落した画素を補うように第１段階の動きベクトルＭＶｂ１と第２段階の動きベクトルＭＶｂ２との加算結果を２倍にし、これに第３段階の動きベクトルＭＶｂ３を加算することによりマクロブロツク画像ＭＧ２の最終的な２フレーム間の動きベクトルＭＶＢを検出する。
【０１３５】
なおこの実施の形態の場合、動きベクトル検出器２１では、Ｂピクチヤが割り当てられた第２のマクロブロツクデータＤ４を参照用として用いる際に、第１段階の動きベクトル検出処理でのみ用いることから、このＢピクチヤが割り当てられた第２のマクロブロツクデータＤ４からは低域成分でなる参照階層ブロツクデータのみを生成し、これを階層画像メモリ１８に格納することにより、この階層画像メモリ２８の記憶容量を低減化し得るようになされている。
【０１３６】
（３）本実施の形態の動作及び効果
以上の構成において、この符号化装置２０の動きベクトル検出器２１では、第１の動きベクトル検出処理モード時に第２の参照階層画像ＳＧ２上で第３の探索領域ＴＲ３の大きさ及び位置を決定し、当該第３の探索領域ＴＲ３内を第２の基本階層画像ＫＧ２によつてサーチしながら順次ブロツクマツチングすることにより最下層において隣接するフレーム間におけるフイールド間の第１段階の動きベクトルＭＶｂ１を検出する。
【０１３７】
次いで動きベクトル検出器２１では、第２の動きベクトル検出処理モード時に第１段階の動きベクトルＭＶｂ１に基づいて第３の参照階層画像ＳＧ３上で第４の探索領域ＴＲ４の大きさ及び位置を決定し、当該第４の探索領域ＴＲ４内を第３の基本階層画像ＫＧ３によつてサーチしながら順次ブロツクマツチングすることにより最下層よりも上層における隣接するフレーム間の第２段階の動きベクトルＭＶｂ２を検出する。
【０１３８】
続いて動きベクトル検出器２１では、第３の動きベクトル検出処理モード時に第２段階の動きベクトルＭＶｂ２に基づいて、参照原画像ＦＧ４上で第５の探索領域ＴＲ５の大きさ及び位置を決定し、当該第５の探索領域ＴＲ５内をマクロブロツク画像ＭＧ２によつてサーチしながら順次ブロツクマツチングすることにより、原画像レベルで第２段階の動きベクトルＭＶｂ２の欠落している画素を補うような第３段階の動きベクトルＭＶｂ３を検出する。
【０１３９】
そして動きベクトル検出器２１では、第１段階及び第２段階並びに第３段階の動きベクトルＭＶｂ１及びＭＶｂ２並びにＭＶｂ３を合成するようにして、動きベクトル検出対象の第２のマクロブロツクデータＤ４の最終的な２フレーム間の動きベクトルＭＶＢを検出する。
【０１４０】
この場合動きベクトル検出器２１では、第１の動きベクトル検出処理モード時に動きベクトル検出対象の第２のマクロブロツクデータＤ４の２フレーム間の最終的な動きベクトルを検出するわけではなく、第４の探索領域ＴＲ４の大きさ及び位置を決定するために用いる第１段階の動きベクトルＭＶｂ１を検出することから、第１段階の動きベクトルＭＶｂ１の検出精度を大幅に低減させることができる。
【０１４１】
従つてこの動きベクトル検出器２１では、従来の階層サーチ法に比べて大幅にデータ量を減らした基本階層ブロツクデータＤ１１のトツプフイールドｔｆの低域成分及び参照階層ブロツクデータＤ１０の低域成分のみを用いて第１段階の動きベクトルＭＶｂ１を検出することができる。またこのとき隣り合うフレーム間においてこの第１段階の動きベクトルＭＶｂ１を検出することから、従来の階層サーチ法の第１の探索領域ＴＲ１（図１０）の大きさに比べて第３の探索領域ＴＲ３の大きさを1/4 程度まで縮小させることができ、かくして従来の階層サーチ法における第１段階の動きベクトル検出処理よりも予測誤差の演算量を大幅に低減させることができる。
【０１４２】
さらにこの動きベクトル検出器２１では、第２段階の動きベクトルＭＶｂ２を検出する場合、最終的に求める動きベクトルＭＶＢの検出精度を上げるために、従来の階層サーチ法において第１段階の動きベクトルＭＶａ１（図１３）を検出するときに用いる第１の基本階層画像ＫＧ１及び第１の参照階層画像ＳＧ１よりもわずかにデータ量の多い第３の基本階層画像ＫＧ３及び第３の参照階層画像ＳＧ３を用いてこの第２段階の動きベクトルＭＶｂ２を比較的高精度に検出する必要がある。
【０１４３】
しかしながらこの第２段階の動きベクトル検出処理では、隣り合うフレーム間において当該第２段階の動きベクトルＭＶｂ２を検出することから、従来の階層サーチ法の第１の探索領域ＴＲ１（図１０）の大きさに比べて第４の探索領域ＴＲ４の大きさを1/4 程度まで縮小させることができ、その分従来の階層サーチ法における第１段階の動きベクトル検出処理よりも予測誤差の演算量を大幅に低減させることができる。
【０１４４】
この結果としてこの動きベクトル検出器２１では、上述した第１段階の動きベクトル検出処理における予測誤差の演算量と、第２段階の動きベクトル検出処理における予測誤差の演算量とを合わせてもこの合わせた演算量を従来の階層サーチ法の第１段階の動きベクトル検出処理における予測誤差の演算量よりも大幅に低減させることができる。
【０１４５】
さらにこの動きベクトル検出器２１では、第２段階の動きベクトルＭＶｂ２を基本階層ブロツクデータＤ１１及び参照階層ブロツクデータＤ１０のそれぞれトツプフイールドｔｆ及びボトムフイールドｂｆの低域成分及び高域成分を用いて比較的高精度に検出することから、予測誤差の演算量を格段的に低減させているにもかかわらずに、最終的な動きベクトルの検出精度の低下を極力抑えることができる。
【０１４６】
さらにこの動きベクトル検出器２１では、参照階層ブロツクデータＤ１０をこれが参照データとして用いられる動きベクトル検出処理に先立つて生成して階層画像メモリ２８に格納しておくことから、動きベクトルの検出処理と共にリアルタイムで階層画像を生成するための演算量を、従来の階層サーチ法に比べて大幅に低減させることができる。
【０１４７】
すなわち動きベクトル検出器２１では、動きベクトル検出処理時に基本階層ブロツクデータＤ１１のみを生成し、参照階層ブロツクデータＤ１０を階層画像メモリ２８から読み出すだけで良く、これにより動きベクトル検出処理時の消費電力を大幅に低減させることができる。
【０１４８】
以上の構成によれば、低域成分でなる第２の参照階層画像ＳＧ２の第３の探索領域ＴＲ３内をトツプフイールドｔｆの低域成分でなる第２の基本階層画像ＫＧ２によつてサーチしながらブロツクマツチングすることにより最下層において隣接するフレーム間におけるフイールド間の第１段階の動きベクトルＭＶｂ１を比較的粗く検出し、当該検出して得られた第１段階の動きベクトルＭＶｂ１に基づいて低域成分及び高域成分でなる第３の参照階層画像ＳＧ３上で第４の探索領域ＴＲ４の大きさ及び位置を決定し、この第４の探索領域ＴＲ４内を低域成分及び高域成分でなる第３の基本階層画像ＫＧ３によつてサーチしながらブロツクマツチングすることにより最下層よりも上層における隣接するフレーム間の第２段階の動きベクトルＭＶｂ２を比較的高精度に検出するようにしたことにより、動きベクトルの検出精度の低下を極力抑えて当該動きベクトルの検出のための演算量を大幅に低減させることができ、かくして回路規模を大幅に低減させることができる動きベクトル検出方法及び動きベクトル検出装置を実現することができる。
【０１４９】
（４）他の実施の形態
なお上述の実施の形態においては、動きベクトル検出器２１において、動きベクトル検出対象の第２のマクロブロツクデータＤ４の２フレーム間の動きベクトルを検出するようにした場合について述べたが、本発明はこれに限らず、動きベクトル検出対象の第２のマクロブロツクデータＤ４の１フレーム間の動きベクトルを検出する場合には、動きベクトル検出処理の第１段階の処理を実行せずに第２段階及び第３段階のみの処理により検出し、動きベクトル検出対象の第２のマクロブロツクデータＤ４の３フレーム間以上の動きベクトルを検出する場合には、動きベクトル検出処理の第１段階において求めるフレームよりも１フレーム前のフレームに到達するまでの間、最下層における隣接するフレーム間で第１段階の動きベクトルを順次検出し、求めるフレームとこれよりも１フレーム前のフレーム間に対して動きベクトル検出処理の第２段階及び第３段階をそれぞれ１回実行するようにして第２段階及び第３段階の動きベクトルを検出するようにしても良い。
【０１５０】
また上述の実施の形態においては、動きベクトル検出処理の第１段階において、トツプフイールドｔｆの低域成分でなる第２の基本階層画像ＫＧ２を用いて第１段階の動きベクトルＭＶｂ１を検出するようにした場合について述べたが、本発明はこれに限らず、ボトムフイールドｂｆの低域成分、トツプフイールドｔｆの高域成分又はボトムフイールドｂｆの高域成分でなる画像を用いて第１段階の動きベクトルＭＶｂ１を検出するようにしても良い。
【０１５１】
さらに上述の実施の形態においては、本発明をＭＰＥＧ２が適用された符号化装置２０に適用するようにした場合について述べたが、本発明はこれに限らず、ＭＰＥＧ１のフレーム構造が適用された符号化装置や動きベクトル検出装置に適用するようにしても良い。
【０１５２】
さらに上述の実施の形態においては、第１の特徴量として、複数の輝度レベルｄ毎の平均値を示す低域成分を適用するようにした場合について述べたが、本発明はこれに限らず、各画素毎の色差レベル、明度レベル、色レベル、及び赤緑青レベル等のように、この他種々の所定レベルの平均値を示す低域成分を適用するようにしても良い。
【０１５３】
さらに上述の実施の形態においては、第２の特徴量として、複数の輝度レベルｄ毎の平均値とこれら対応する各輝度レベルｄとのばらつきの度合いを示す高域成分を適用するようにした場合について述べたが、本発明はこれに限らず、各画素毎の色差レベル、明度レベル、色レベル、及び赤緑青レベル等のように、この他種々の所定レベルの平均値とこれら対応する各所定レベルとのばらつきでなる高域成分を適用するようにしても良い。
【０１５４】
さらに上述の実施の形態においては、動きベクトル検出器２１において第３の動きベクトル検出処理モードから第２の符号化処理モードに移つたときに第３及び第４の切換え器２３及び２４のスイツチを接点Ｂから接点Ａに接続するようにした場合について述べたが、本発明はこれに限らず、第２の動きベクトル検出処理モードから第３の動きベクトル検出処理モードに移つたときに第３及び第４の切換え器２３及び２４のスイツチを接点Ｂから接点Ａに接続するようにしても良く、これにより第３の動きベクトル検出処理モードにおける処理を実行しながら第２の符号化処理モードにおける処理を実行することができる。
【０１５５】
さらに上述の実施の形態においては、第１のフレームから第２のフレームの１フレーム前の第３のフレームまでの間、第１の階層よりも下層において隣接するフレーム間におけるフイールド間の動きベクトルを複数画素毎の第１の特徴量に基づいて順次検出する第１の動きベクトル検出手段として、階層画像予測誤差演算器３１、階層画像生成器２６を適用するようにした場合について述べたが、本発明はこれに限らず、第１のフレームから第２のフレームの１フレーム前の第３のフレームまでの間、第１の階層よりも下層において隣接するフレーム間におけるフイールド間の動きベクトルを各第１の特徴量に基づいて順次検出することができれば、この他種々の第１の動きベクトル検出手段を適用するようにしても良い。
【０１５６】
さらに上述の実施の形態においては、第１の動きベクトル検出手段によつて検出された動きベクトルに基づいて、第１の階層における第３及び第２のフレーム間の動きベクトルを検出するための探索領域の大きさ及び位置を決定する決定手段として、第２のアドレス生成器２９を適用するようにした場合について述べたが、本発明はこれに限らず、第１の動きベクトル検出手段によつて検出された各動きベクトルに基づいて、第１の階層における第３及び第２のフレーム間の動きベクトルを検出するための探索領域の大きさ及び位置を決定することができれば、この他種々の決定手段を適用するようにしても良い。
【０１５７】
さらに上述の実施の形態においては、決定手段の決定に基づいて第１の階層における第３及び第２のフレーム間の動きベクトルを各第１の特徴量及び当該第１の特徴量に対応する各画素毎の第２の特徴量に基づいて検出する第２の動きベクトル検出手段として、階層画像予測誤差演算器３１を適用するようにした場合について述べたが、本発明はこれに限らず、決定手段の決定に基づいて第１の階層における第３及び第２のフレーム間の動きベクトルを各第１の特徴量及び各第２の特徴量に基づいて検出することができれば、この他種々の第２の動きベクトル検出手段を適用するようにしても良い。
【０１５８】
【発明の効果】
上述のように本発明によれば、符号化対象の映像データから分割された所定の単位ブロツクの第１の階層における第１のフレームから少なくとも２フレーム以上離れた第２のフレームまでの動きベクトルを検出する動きベクトル検出方法において、第１のフレームから、第２のフレームより１フレーム前の第３のフレームまでの間、複数画素毎の平均値を示す第１の特徴量に基づき、又は各画素毎と、対応する第１の特徴量とのばらつき度合いを示す第２の特徴量に基づき、隣接するフレーム間で第１の階層よりも下層におけるフイールド間の動きベクトルを順次検出し、当該検出したフイールド間の動きベクトルに基づいて、第１の階層における第３及び第２のフレーム間の動きベクトルを検出するための探索領域の大きさ及び位置を決定し、各第１の特徴量及び各第２の特徴量並びに当該探索領域に基づき、第１の階層における第３及び第２のフレーム間の動きベクトルを検出し、このように検出した第１の階層よりも下層における全てのフイールド間の動きベクトルと、第１の階層における第３及び第２のフレーム間の動きベクトルとを合成して、単位ブロツクの第１の階層における第１のフレームから第２のフレームまでの動きベクトルを検出するようにしたことにより、第１の階層よりも下層ではフイールド間の動きベクトルを検出することにより予測誤差の演算量を大幅に低減し得ると共に、第１の階層における第３及び第２のフレーム間の動きベクトルの検出時には探索領域の大きさを従来に比べて大幅に小さくして予測誤差の演算量を大幅に低減させることができ、かくして動きベクトル検出処理時に用いる回路の回路規模を大幅に低減し得る動きベクトル検出方法を実現することができる。
【０１５９】
また符号化対象の映像データから分割された所定の単位ブロツクの第１の階層における第１のフレームから少なくとも２フレーム以上離れた第２のフレームまでの動きベクトルを検出する動きベクトル検出装置において、第１のフレームから、第２のフレームより１フレーム前の第３のフレームまでの間、複数画素毎の平均値を示す第１の特徴量に基づき、又は各画素毎と、対応する第１の特徴量とのばらつき度合いを示す第２の特徴量に基づき、隣接するフレーム間で第１の階層よりも下層におけるフイールド間の動きベクトルを順次検出する第１の動きベクトル検出手段と、当該第１の動きベクトル検出手段により検出されたフイールド間の動きベクトルに基づいて、第１の階層における第３及び第２のフレーム間の動きベクトルを検出するための探索領域の大きさ及び位置を決定する決定手段と、各第１の特徴量及び各第２の特徴量並びに当該探索領域に基づき、第１の階層における第３及び第２のフレーム間の動きベクトルを検出する第２の動きベクトル検出手段と、第１の動きベクトル検出手段により検出された第１の階層よりも下層における全てのフイールド間の動きベクトルと、第２の動きベクトル検出手段により検出された第１の階層における第３及び第２のフレーム間の動きベクトルとを合成して、単位ブロツクの第１の階層における第１のフレームから第２のフレームまでの動きベクトルを検出する第３の動きベクトル検出手段とを設けるようにしたことにより、第１の階層よりも下層ではフイールド間の動きベクトルを検出することにより予測誤差の演算量を大幅に低減し得ると共に、第１の階層における第３及び第２のフレーム間の動きベクトルの検出時には探索領域の大きさを従来に比べて大幅に小さくして予測誤差の演算量を大幅に低減させることができ、かくして回路規模を大幅に低減し得る動きベクトル検出装置を実現することができる。
【図面の簡単な説明】
【図１】本発明による符号化装置の回路構成の一実施の形態を示すブロツク図である。
【図２】本発明による動きベクトル検出器の回路構成の一実施の形態を示すブロツク図である。
【図３】基本階層ブロツクデータの生成の説明に供する略線的概略図である。
【図４】参照階層ブロツクデータの生成の説明に供する略線的概略図である。
【図５】第１段階の動きベクトル検出処理の説明に供する略線的概略図である。
【図６】第２段階の動きベクトル検出処理の説明に供する略線的概略図である。
【図７】第３段階の動きベクトル検出処理の説明に供する略線的概略図である。
【図８】ＭＰＥＧ２方式による一般的な符号化方式の説明に供する略線的概略図である。
【図９】従来の符号化装置の回路構成を示すブロツク図である。
【図１０】一般的な動きベクトル検出処理の説明に供する略線的概略図である。
【図１１】従来の第１の基本階層画像の生成の説明に供する略線的概略図である。
【図１２】従来の第１の参照階層画像の生成の説明に供する略線的概略図である。
【図１３】従来の第１段階の動きベクトル検出処理の説明に供する略線的概略図である。
【図１４】従来の第２段階の動きベクトル検出処理の説明に供する略線的概略図である。
【符号の説明】
２０……符号化装置、２１……動きベクトル検出器、２２……ＣＰＵ、２５……原画像メモリ、２６……階層画像生成器、２７……第１のアドレス生成器、２８……階層画像メモリ、２９……第２のアドレス生成器、３０……原画像予測誤差演算器、３１……階層画像予測誤差演算器、Ｄ１……第１のマクロブロツクデータ、Ｄ４……第２のマクロブロツクデータ、Ｄ１０……参照階層ブロツクデータ、Ｄ１１……基本階層ブロツクデータ、Ｄ１２……第１の参照ブロツクデータ、Ｄ１３……第１の動きベクトルデータ、Ｄ１４……第２の参照ブロツクデータ、Ｄ１５……第２の動きベクトルデータ、Ｄ１６……第３の参照ブロツクデータ、Ｄ１７……動きベクトルデータ、ＭＶｂ１……第１段階の動きベクトル、ＭＶｂ２……第２段階の動きベクトル、ＭＶｂ３……第３段階の動きベクトル、ＭＧ２……マクロブロツク画像、ＦＧ３……原画像、ＦＧ４……参照原画像、ＳＧ２……第２の参照階層画像、ＳＧ３……第３の参照階層画像、ＫＧ２……第２の基本階層画像、ＫＧ３……第３の基本階層画像、ＫＧ４……第４の基本階層画像、ＢＫ２……第２のブロツク階層画像、ＢＫ３……第３のブロツク階層画像、ＢＧ２……第２のブロツク画像、ＴＲ３……第３の探索領域、ＴＲ４……第４の探索領域、ＴＲ５……第５の探索領域。
【図１】
0003944804.tif 000020
【図２】
0003944804.tif 000021
【図３】
0003944804.tif 000022
【図４】
0003944804.tif 000023
【図５】
0003944804.tif 000024
【図６】
0003944804.tif 000025
【図７】
0003944804.tif 000026
【図８】
0003944804.tif 000027
【図９】
0003944804.tif 000028
【図１０】
0003944804.tif 000029
【図１１】
0003944804.tif 000030
【図１２】
0003944804.tif 000031
【図１３】
0003944804.tif 000032
【図１４】
0003944804.tif 000033