(57)【特許請求の範囲】
【請求項１】
複数フレームの参照画像を持ち、連続するフレーム画像のうち処理対象の対象フレーム画像を分割してなるそれぞれの動き補償ブロック毎に、複数フレームの参照画像のどれを用いるかを指定して、階層探索に基づく動きベクトルの探索を行う動き予測補償方法であって、
上記動き補償ブロックの画素サイズのうち、最上位層とすべき最も大きい上記画素サイズでなる上記動き補償ブロックの画素を間引くことにより、所定の縮小率でなる下位層の縮小画像を生成する階層化ステップと、
任意の重み付けを行った参照画像インデックス番号（ｒｅｆＩｄｘ）の大きさより算出される評価指標と、階層探索の単位をＭ×Ｎのマクロブロックとし、Ｍ’×Ｎ’（Ｍ’は１以上Ｍ以下、Ｎ’は１以上Ｎ以下）のブロックに分割し、Ｍ×Ｎのブロックマッチングの結果として得られる評価指標値を用いて、上記階層化ステップにおいて生成された縮小画像上で動きベクトルを探索する第１の動き予測補償ステップと、
縮小前の画像について、上記第１の動き予測補償ステップで探索された動きベクトルにより指定される所定の検索範囲を用いて、動きベクトルを探索して動き予測補償を行う第２の動き予測補償ステップと
を備える動き予測補償方法。
【請求項２】
上記第１の動き予測補償ステップでは、階層探索の単位をＭ×Ｎのマクロブロックとし、Ｍ’×Ｎ’（Ｍ’は１以上Ｍ以下、Ｎ’は１以上Ｎ以下）のブロックに分割し、Ｍ×Ｎのブロックマッチングの結果として得られる評価指標値である差分絶対値和（ＳＡＤ）をＭ’×Ｎ’単位で保持することにより動きベクトルを探索することを特徴とする請求項１記載の動き予測補償方法。
【請求項３】
上記第１の動き予測補償ステップでは、階層探索の単位をＭ×Ｎのマクロブロックとし、Ｍ’×Ｎ’（Ｍ’は１以上Ｍ以下、Ｎ’は１以上Ｎ以下）のブロックに分割し、Ｍ×Ｎのブロックマッチングの結果として得られる評価指標値である直交変換された差分絶対値和（ＳＡＴＤ）をＭ’×Ｎ’単位で保持することにより動きベクトルを探索することを特徴とする請求項１記載の動き予測補償方法。
【請求項４】
上記第１の動き予測補償ステップでは、階層探索の単位をＭ×Ｎのマクロブロックとし、Ｍ’×Ｎ’（Ｍ’は１以上Ｍ以下、Ｎ’は１以上Ｎ以下）のブロックに分割し、Ｍ×Ｎのブロックマッチングの結果として得られる評価指標値である差分２乗和（ＳＳＤ）をＭ’×Ｎ’単位で保持することにより動きベクトルを探索することを特徴とする請求項１記載の動き予測補償方法。
【請求項５】
上記第１の動き予測補償ステップでは、上記参照画像インデックス番号（ｒｅｆＩｄｘ）ごとにＭ’×Ｎ’の単位で残差エネルギーの大小比較を行い上記残差エネルギーの小さい参照画像に切り替えることを特徴とする請求項２乃至請求項４のいずれか１項記載の動き予測補償方法。
【請求項６】
上記第１の動き予測補償ステップでは、ブロックマッチングの結果から算出される評価指標値とともに、上記参照画像インデックス番号（ｒｅｆＩｄｘ）の大きさを任意の重み付けで足し込んだ値を上記縮小画像上で動きベクトルを探索する評価指標とすることを特徴とする請求項１乃至請求項４のいずれか１項に記載の動き予測補償方法。
【請求項７】
複数フレームの参照画像を持ち、連続するフレーム画像のうち処理対象の対象フレーム画像を分割してなるそれぞれの動き補償ブロック毎に、複数フレームの参照画像のどれを用いるかを指定して、階層探索に基づく動きベクトルの探索を行う動き予測補償装置であって、
上記動き補償ブロックの画素サイズのうち、最上位層とすべき最も大きい上記画素サイズでなる上記動き補償ブロックの画素を間引くことにより、所定の縮小率でなる下位層の縮小画像を生成する階層化手段と、
任意の重み付けを行った参照画像インデックス番号（ｒｅｆＩｄｘ）の大きさより算出される評価指標と、階層探索の単位をＭ×Ｎのマクロブロックとし、Ｍ’×Ｎ’（Ｍ’は１以上Ｍ以下、Ｎ’は１以上Ｎ以下）のブロックに分割し、Ｍ×Ｎのブロックマッチングの結果として得られる評価指標値を用いて、上記階層化手段により生成された縮小画像上で動きベクトルを探索する第１の動き予測補償手段と、
縮小前の画像について、上記第１の動き予測補償手段により探索された動きベクトルにより指定される所定の検索範囲を用いて、動きベクトルを探索して動き予測補償を行う第２の動き予測補償手段と
を備える動き予測補償装置。
【請求項８】
上記第１の動き予測補償手段は、階層探索の単位をＭ×Ｎのマクロブロックとし、Ｍ’×Ｎ’（Ｍ’は１以上Ｍ以下、Ｎ’は１以上Ｎ以下）のブロックに分割し、Ｍ×Ｎのブロックマッチングの結果として得られる評価指標値である差分絶対値和（ＳＡＤ）をＭ’×Ｎ’単位で保持することにより動きベクトルを探索することを特徴とする請求項７記載の動き予測補償装置。
【請求項９】
上記第１の動き予測補償手段は、階層探索の単位をＭ×Ｎのマクロブロックとし、Ｍ’×Ｎ’（Ｍ’は１以上Ｍ以下、Ｎ’は１以上Ｎ以下）のブロックに分割し、Ｍ×Ｎのブロックマッチングの結果として得られる評価指標値である直交変換された差分絶対値和（ＳＡＴＤ）をＭ’×Ｎ’単位で保持することにより動きベクトルを探索することを特徴とする請求項７記載の動き予測補償装置。
【請求項１０】
上記第１の動き予測補償手段は、階層探索の単位をＭ×Ｎのマクロブロックとし、Ｍ’×Ｎ’（Ｍ’は１以上Ｍ以下、Ｎ’は１以上Ｎ以下）のブロックに分割し、Ｍ×Ｎのブロックマッチングの結果として得られる評価指標値である差分２乗和（ＳＳＤ）をＭ’×Ｎ’単位で保持することにより動きベクトルを探索することを特徴とする請求項７記載の動き予測補償装置。
【請求項１１】
上記第１の動き予測補償手段は、上記参照画像インデックス番号（ｒｅｆＩｄｘ）ごとにＭ’×Ｎ’の単位で残差エネルギーの大小比較を行い上記残差エネルギーの小さい参照画像に切り替えることを特徴とする請求項８乃至請求項１０のいずれか１項記載の動き予測補償装置。
【請求項１２】
上記第１の動き予測補償手段は、ブロックマッチングの結果から算出される評価指標値とともに、上記参照画像インデックス番号（ｒｅｆＩｄｘ）の大きさを任意の重み付けで足し込んだ値を上記縮小画像上で動きベクトルを探索する評価指標とすることを特徴とする請求項７乃至請求項１０のいずれか１項に記載の動き予測補償装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動き予測補償方法及び動き予測補償装置に関し、例えばＭＰＥＧ、Ｈ．２６ｘ等のように、離散コサイン変換若しくはカルーネン・レーベ変換等の直交変換と動き補償によって圧縮された画像情報（ビットストリーム）を、衛星放送、ケーブルＴＶ、インターネット、携帯電話などのネットワークメディアを介して受信する際に、若しくは光、磁気ディスク、フラッシュメモリのような記憶メディア上で処理する際に用いられる画像情報符号化装置に適用して好適なものである。
本出願は、日本国において２００４年６月２９日に出願された日本特許出願番号２００４−１９１９３７を基礎として優先権を主張するものであり、この出願は参照することにより、本出願に援用される。
【背景技術】
【０００２】
例えば、特開２００４−５６８２７号公報等に示されているように、近年、画像情報をデジタルとして取り扱い、その際、効率の高い情報の伝送、蓄積を目的とし、画像情報特有の冗長性を利用して、離散コサイン変換等の直交変換と動き補償により圧縮するＭＰＥＧなどの方式に準拠した装置が、放送局などの情報配信、及び一般家庭における情報受信の双方において普及しつつある。
特に、ＭＰＥＧ２（ＩＳＯ／ＩＥＣ  １３８１８−２）は、汎用画像符号化方式として定義されており、飛び越し走査画像及び順次走査画像の双方、並びに標準解像度画像及び高精細画像を網羅する標準で、プロフェッショナル用途及びコンシューマー用途の広範なアプリケーションに現在広く用いられている。ＭＰＥＧ２圧縮方式を用いることにより、例えば７２０×４８０画素を持つ標準解像度の飛び越し走査画像であれば４〜８Ｍｂｐｓ、１９２０×１０８８画素を持つ高解像度の飛び越し走査画像であれば１８〜２２Ｍｂｐｓの符号量（ビットレート）を割り当てることで、高い圧縮率と良好な画質の実現が可能である。
ＭＰＥＧ２は主として放送用に適合する高画質符号化を対象としていたが、ＭＰＥＧ１より低い符号量（ビットレート）、つまりより高い圧縮率の符号化方式には対応していなかった。携帯端末の普及により、今後そのような符号化方式のニーズは高まると思われ、これに対応してＭＰＥＧ４符号化方式の標準化が行われた。画像符号化方式に関しては、１９９８年１２月にＩＳＯ／ＩＥＣ  １４４９６−２としてその規格が国際標準に承認された。
更に、近年、当初テレビ会議用の画像符号化を目的として、Ｈ．２６Ｌ（ＩＴＵ−Ｔ  Ｑ６／１６  ＶＣＥＧ）という標準の規格化が進んでいる。Ｈ．２６ＬはＭＰＥＧ２やＭＰＥＧ４といった従来の符号化方式に比べ、その符号化、復号化により多くの演算量が要求されるものの、より高い符号化効率が実現されることが知られている。また、現在、ＭＰＥＧ４の活動の一環として、このＨ．２６Ｌをベースに、Ｈ．２６Ｌではサポートされない機能をも取り入れ、より高い符号化効率を実現する標準化がＪｏｉｎｔ  Ｍｏｄｅｌ  ｏｆ  Ｅｎｈａｎｃｅｄ−Ｃｏｍｐｒｅｓｓｉｏｎ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇとして行われている。標準化のスケジュールとしては、２００３年３月にはＨ．２６４及びＭＰＥＧ−４  Ｐａｒｔ１０（Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ：以下ＡＶＣという）という名の元に国際標準となった。
ＡＶＣ規格に基づいた画像圧縮情報ＤＰＣを出力とする画像情報符号化装置１００の構成例を図１のブロック図に示す。
この画像情報符号化装置１００は、入力となる画像信号Ｓinが供給されるＡ／Ｄ変換装置１、このＡ／Ｄ変換装置１０１によりデジタル化された画像データが供給される画面並べ替えバッファ１０２、この画面並べ替えバッファ１０２から読み出された画像データが供給される加算器１０３、イントラ予測装置１１２及び動き予測補償装置１１３、上記加算器１０３の出力が供給される直交変換装置１０４、この直交変換装置１０４の出力が供給される量子化装置１０５、この量子化装置１０５の出力が供給される可逆符号化装置１０６及び逆量子化装置１０８、上記  可逆符号化装置１０６の出力が供給される蓄積バッファ１０７、上記逆量子化装置１０８の出力が供給される逆直交変換装置１０９、この逆直交変換装置１０９の出力が供給されるデブロックフィルタ１１０、このデブロックフィルタ１１０の出力が供給されるフレームメモリ１１１、上記蓄積バッファ１０７の出力が供給されるレート制御装置１１４等からなる。
この画像情報符号化装置１００において、入力となる画像信号は、まず、Ａ／Ｄ変換装置１０１においてデジタル信号に変換される。次に、出力となる画像圧縮情報ＤＰＣのＧＯＰ(Group of Pictures)構造に応じ、画面並べ替えバッファ１０２においてフレームの並べ替えが行われる。イントラ符号化が行われる画像に関しては、入力画像と、イントラ予測装置１１２により生成される画素値の差分情報が直交変換装置１０４に入力され、ここで離散コサイン変換、カルーネン・レーベ変換等の直交変換が施される。直交変換装置１０４の出力として得られる変換係数は、量子化装置１０５において量子化処理が施される。量子化装置１０５の出力として得られる量子化された変換係数は、可逆変換装置１０６に入力され、ここで可変長符号化、算術符号化等の可逆符号化が施された後、蓄積バッファ１０７に蓄積され、画像圧縮情報ＤＰＣとして出力される。量子化装置１０５の挙動はレート制御装置１１４によって制御される。同時に、量子化装置１０５の出力として得られる量子化された変換係数は、逆量子化装置１０８に入力され、更に逆直交変換装置１０９において逆直交変換処理が施されて、復号化画像情報となり、デブロックフィルタ１１０においてブロック歪の除去が施された後、その情報はフレームメモリ１１１に蓄積される。イントラ予測装置１１２において、当該ブロック／マクロブロックに対して適用されたイントラ予測モードに関する情報は、可逆符号化装置１０６に伝送され、画像圧縮情報ＤＰＣにおけるヘッダ情報の一部として符号化される。
インター符号化が行われる画像に関しては、まず、画像情報は動き予測補償装置１１３に入力される。同時に参照となる画像情報がフレームメモリ１１１より取り出され、動き予測補償処理を施され、参照画像情報が生成される。参照画像情報は加算器１０３に送られ、ここで当該画像情報との差分信号へ変換される。動き予測補償装置１１３は、同時に動きベクトル情報を可逆符号化装置１０６に出力し、その情報は可変長符号化、算術符号化といった可逆符号化処理が施され、画像圧縮情報ＤＰＣのヘッダ部に挿入される情報を形成する。その他の処理はイントラ符号化を施される画像圧縮情報ＤＰＣと同様である。
図２に、離散コサイン変換若しくはカルーネン・レーベ変換等の直交変換と動き補償により画像圧縮を実現する画像情報復号化装置１５０の構成例のブロック図を示す。
この画像情報復号化装置１５０は、画像圧縮情報ＤＰＣが供給される蓄積バッファ１１５、この蓄積バッファ１１５から読み出された画像圧縮情報ＤＰＣが供給される可逆符号化装置１１６、この可逆符号化装置１１６の出力が供給される逆量子化装置１１７、この逆量子化装置１１７の出力が供給される逆直交変換装置１１８、この逆直交変換装置１１８の出力が供給される加算器１１９、この加算器１１９の出力がデブロックフィルタ１２５を介して供給される画面並べ替えバッファ１２０及びフレームメモリ１２２、上記画面並べ替えバッファ１２０の出力がＤ／Ａ変換装置１２１、上記フレームメモリ１２２の出力が供給される動き予測補償装置１２３及びイントラ予測装置１２４等からなる。
この画像情報復号化装置１５０において、入力となる画像圧縮情報ＤＰＣは、まず、蓄積バッファ１１５に格納された後、可逆復号化装置１１６に転送される。ここで、定められた画像圧縮情報ＤＰＣのフォーマットに基づき、可変長復号化、算術復号化等の処理が行われる。同時に、当該フレームがイントラ符号化されたものである場合、可逆復号化装置１１６においては、画像圧縮情報ＤＰＣのヘッダ部に格納されたイントラ予測モード情報をも復号化し、その情報をイントラ予測装置１２４へ伝送する。当該フレームがインター符号化されたものである場合、可逆復号化装置１１６においては、画像圧縮情報ＤＰＣのヘッダ部に格納された動きベクトル情報をも復号化し、その情報を動き予測補償装置１２３へ転送する。
可逆復号化装置１１６の出力として得られる量子化された変換係数は、逆量子化装置１１７に入力され、ここで変換係数として出力される。変換係数は、逆直交変換装置１１８において、定められた方式に基づき、４次の逆直交変換が施される。当該フレームがイントラ符号化されたものである場合には、逆直交変換処理が施された画像情報は、イントラ予測装置１２４において生成された予測画像との合成が加算器１１９において行われ、更に、デブロックフィルタ１２５においてブロック歪の除去が施された後、画面並べ替えバッファ１２０に格納され、Ｄ／Ａ変換装置１２１によりＤ／Ａ変換処理されて出力信号Ｓoutとされる。
当該フレームがインター符号化されたものである場合には、可逆復号化処理が施された動きベクトル情報、及びフレームメモリ１２２に格納された画像情報を元に参照画像が生成され、この参照画像と、逆直交変換装置１１８の出力とが、加算器１２０において合成される。その他の処理はイントラ符号化されたフレームと同様である。
ところで、図１に示した画像情報符号化装置において、高い圧縮効率を実現するために、動き予測補償装置１１２が重要な役割を果たす。ＡＶＣ符号化方式においては、以下に述べる３つの方式を導入することで、従来のＭＰＥＧ２・４等の画像符号化方式と比較して高い圧縮効率を実現している。すなわち、第一の方式はマルチプルリファレンスフレーム（Multiple Reference Frame）、第二の方式は、可変動き予測補償ブロックサイズ、第三の方式は、ＦＩＲフィルタを用いた、１／４画素精度の動き補償である。
まず、ＡＶＣ符号化方式で規定されているマルチプルリファレンスフレームについて述べる。
ＡＶＣにおいては、図３に示すとおり、あるフレームの画像Ｆorgに対し複数フレームの参照画像Ｆrefを持ち、それぞれの動き補償ブロック毎に、複数フレームの参照画像Ｆreのどれを用いるかを指定することが可能である。
これは、例えば、直前のフレームにおいては、オクルージョン（occlusion）により、参照すべきブロックが存在しない場合でも、過去に遡って参照を行うことで、符号化効率の低下を防ぐことが可能となる。すなわち、参照画で本来サーチして欲しい領域が前景によって隠れてしまった場合にも、違う参照画ではその画が隠れていない場合、そちらを参照すれば動き予測補償を行うことができる。
また、参照となる画像にフラッシュが存在した場合、このフレームを参照することにより符号化効率は著しく低下するが、この場合も、過去に遡って参照を行うことで、符号化効率の低下を防ぐことが可能となる。
次に、ＡＶＣ符号化方式で規定されている、可変ブロックサイズについて述べる。
ＡＶＣ符号化方式においては、図４Ａ，図４Ｂ，図４Ｃ，図４Ｄにマクロブロックパーティションを示すように、一つのマクロブロックＭＢは１６×１６，１６×８，８×１６もしくは８×８のいずれかの動き補償ブロックに分割し、それぞれの動き補償ブロックで独立に動きベクトル及び参照フレームを持つことが可能であり、更に、図５Ａ，図５Ｂ，図５Ｃ，図５Ｄにサブマクロブロックパーティションを示すように、８×８動き補償ブロックに関しては、それぞれのパーティションを８×８，８×４，４×８もしくは４×４のいずれかのサブパーティションに分割することが可能である。各マクロブロックＭＢにおいて、それぞれの動き補償ブロックは、別個の動きベクトル情報を持つことが可能である。
次に、ＡＶＣ符号化方式で規定されている１／４画素精度の動き補償処理について述べる。
以下では、図６を用いて、１／４画素精度の動き補償処理について説明する。
ＡＶＣ符号化方式では、１／２画素精度の画素値を生成するため、次の式１に示すようなフィルタ係数を有する６タップのＦＩＲ(Finite Impulse Response)フィルタが定義されている。
｛１，−５，２０，２０，−５，１｝        （式１）
図６に示す画素値ｂ，ｈに対する動き補償（補間）に関しては、式１のフィルタ係数を用いて、まず式２に示すように積和演算を行う。
ｂ＝（Ｅ−５Ｆ＋２０Ｇ＋２０Ｈ−５Ｈ＋Ｊ）
ｈ＝（Ａ−５Ｃ＋２０Ｇ＋２０Ｍ−５Ｒ＋Ｔ）      （式２）
その後式３に示す処理を行う。
ｂ＝Ｃｌｉｐ１（（ｂ＋１６）＞＞５）                （式３）
ここでＣｌｉｐ１は（０，２５５）間でのクリップ処理を示す。また。＞＞５は、５ビットシフトすなわち２５の除算を示す。
また、画素値ｊに関しては、ｂ，ｈと同様の手法で画素値ａａ，ｂｂ，ｃｃ，ｄｄ，ｅｅ，ｆｆ，ｇｇ，ｈｈを生成した後、式４に示すように積和演算が施され、式５に示すようなクリップ処理によって算出される。
る。
ｊ＝ｃｃ−５ｄｄ＋２０ｈ＋２０ｍ−５ｅｅ＋ｆｆ
若しくは                  （式４）
ｊ＝ａａ−５ｂｂ＋２０ｂ＋２０ｓ−５ｇｇ＋ｈｈ
ｊ＝Ｃｌｉｐ１（（ｊ＋５１２）＞＞１０）        （式５）
画素値ａ，ｃ，ｄ，ｎ，ｆ，ｉ，ｋ，ｑに関しては、次の式６に示すように、整数画素精度の画素値と、１／２画素精度の画素値の線形内挿により求められる。
ａ＝（Ｇ＋ｂ＋１）＞＞１
ｃ＝（Ｈ＋ｂ＋１）＞＞１
ｄ＝（Ｇ＋ｈ＋１）＞＞１
ｎ＝（Ｍ＋ｈ＋１）＞＞１
ｆ＝（ｂ＋ｊ＋１）＞＞１
ｉ＝（ｈ＋ｊ＋１）＞＞１                      （式６）
ｋ＝（ｊ＋ｍ＋１）＞＞１
ｑ＝（ｊ＋ｓ＋１）＞＞１
また、画素値ｅ，ｇ，ｐに関しては、次の式７に示すように、１／２画素精度の画素値を用いた線形内挿により求められる。
ｅ＝（ｂ＋ｈ＋１）＞＞１
ｇ＝（ｂ＋ｍ＋１）＞＞１                （式７）
ｐ＝（ｈ＋ｓ＋１）＞＞１
ところで、図１に示した画像情報符号化装置１００では、動きベクトルの探索に多くの演算量を要する。実時間動作する装置を構築するためには、画質劣化を最小限に抑えながら、動きベクトル探索に要する演算量を如何に削減するかが鍵となる。
しかしながら、ＡＶＣ符号化方式では、先に述べたように、マルチプルリファレンスフレーム、可変動き予測補償ブロックサイズ、及び、１／４画素精度の動き補償が許されているため、候補参照フレームの数が増えてくると、動き予測補償におけるリファインメント（Refinement）処理でも重くなってしまう。リファインメント（Refinement）処理では、階層サーチで荒くサーチした後、本来のスケールに戻して、階層サーチの結果得られたベクトルの周辺をサーチする。
さらに、画像符号化装置（Ｈ／Ｗ化）を考えた場合には、マクロブロック内の全てのブロックサイズに対して参照フレーム毎に、動き探索処理を行うため、メモリーへのアクセスが頻繁になるため、場合によってはメモリー帯域をあげる必要が出てくる。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
そこで、本発明の目的は、上述の如き従来の問題点に鑑み、ＡＶＣ等の画像符号化方式に基づく画像圧縮情報を出力する画像情報符号化装置において、動きベクトル探索の高速化や、メモリアクセスの低減を実現することにある。
本発明は、上述した課題を解決するために、複数フレームの参照画像を持ち、連続するフレーム画像のうち処理対象の対象フレーム画像を分割してなるそれぞれの動き補償ブロック毎に、複数フレームの参照画像のどれを用いるかを指定して、階層探索に基づく動きベクトルの探索を行う動き予測補償方法であって、上記動き補償ブロックの画素サイズのうち、最上位層とすべき最も大きい上記画素サイズでなる上記動き補償ブロックの画素を間引くことにより、所定の縮小率でなる下位層の縮小画像を生成する階層化ステップと、任意の重み付けを行った参照画像インデックス番号（ｒｅｆＩｄｘ）の大きさより算出される評価指標と、階層探索の単位をＭ×Ｎのマクロブロックとし、Ｍ’×Ｎ’（Ｍ’は１以上Ｍ以下、Ｎ’は１以上Ｎ以下）のブロックに分割し、Ｍ×Ｎのブロックマッチングの結果として得られる評価指標値を用いて、上記階層化ステップにおいて生成された縮小画像上で動きベクトルを探索する第１の動き予測補償ステップと、縮小前の画像について、上記第１の動き予測補償ステップで探索された動きベクトルにより指定される所定の検索範囲を用いて、動きベクトルを探索して動き予測補償を行う第２の動き予測補償ステップとを備えることを特徴とする。
また、本発明は、複数フレームの参照画像を持ち、連続するフレーム画像のうち処理対象の対象フレーム画像を分割してなるそれぞれの動き補償ブロック毎に、複数フレームの参照画像のどれを用いるかを指定して、階層探索に基づく動きベクトルの探索を行う動き予測補償装置であって、上記動き補償ブロックの画素サイズのうち、最上位層とすべき最も大きい上記画素サイズでなる上記動き補償ブロックの画素を間引くことにより、所定の縮小率でなる下位層の縮小画像を生成する階層化手段と、任意の重み付けを行った参照画像インデックス番号（ｒｅｆＩｄｘ）の大きさより算出される評価指標と、階層探索の単位をＭ×Ｎのマクロブロックとし、Ｍ’×Ｎ’（Ｍ’は１以上Ｍ以下、Ｎ’は１以上Ｎ以下）のブロックに分割し、Ｍ×Ｎのブロックマッチングの結果として得られる評価指標値を用いて、上記階層化手段により生成された縮小画像上で動きベクトを探索する第１の動き予測補償手段と、縮小前の画像について、上記第１の動き予測補償手段により探索された動きベクトルにより指定される所定の検索範囲を用いて、動きベクトルを探索して動き予測補償を行う第２の動き予測補償手段とを備えることを特徴とする。
本発明の更に他の目的、本発明によって得られる具体的な利点は、以下に説明される実施の形態の説明から一層明らかにされる。
【図面の簡単な説明】
【０００４】
【図１】図１は、離散コサイン変換若しくはカルーネン・レーベ変換等の直交変換と動き補償により画像圧縮を実現する画像情報符号化装置の構成を示すブロック図である。
【図２】図２は、離散コサイン変換若しくはカルーネン・レーベ変換等の直交変換と動き補償により画像圧縮を実現する画像情報復号化装置の構成を示すブロック図である。
【図３】図３は、ＡＶＣ符号化方式で規定されているマルチプルリファレンスフレームの概念を示した図である。
【図４】図４Ａ，図４Ｂ，図４Ｃ及び図４Ｄは、ＡＶＣ符号化方式で規定されている、可変ブロックサイズに基づく動き補償処理におけるマクロブロックパーティションを示す図である。
【図５】図５Ａ，図５Ｂ，図５Ｃ及び図５Ｄは、ＡＶＣ符号化方式で規定されている、可変ブロックサイズに基づく動き補償処理におけるサブマクロブロックパーティションを示す図である。
【図６】図６は、ＡＶＣ符号化方式で規定されている、１／４画素精度の動き補償処理を説明するための図である。
【図７】図７は、本発明を適用した画像情報符号化装置の構成を示すブロック図である。
【図８】図８は、上記画像情報符号化装置における間引き装置の動作原理を示した図である。
【図９】図９は、動き予測補償装置（１／Ｎ２解像度）における碁の目サンプリングを説明するための図である。
【図１０】図１０は、上記画像情報符号化装置における縮小画と参照画の関係の一例を示した図である。
【図１１】図１１Ａ及び図１１Ｂは、上記画像情報符号化装置における複数のＭＢ帯の区切り方の一例を示した図である。
【図１２】図１２は、上記画像情報符号化装置における画像処理の手順を示すフローチャートである。
【図１３】図１３は、メモリアクセスの低減の様子を示した図である。
【発明を実施するための最良の形態】
【０００５】
以下、本発明の実施の形態について、図面を参照して詳細に説明する。なお、本発明は以下の例に限定されるものではなく、本発明の要旨を逸脱しない範囲で、任意に変更可能であることは言うまでもない。
本発明は、例えば図７に示すような構成の画像情報符号化装置２０に適用される。
すなわち、図７に示す画像情報符号化装置２０は、入力となる画像信号Ｓinが供給されるＡ／Ｄ変換装置１、このＡ／Ｄ変換装置１によりデジタル化された画像データが供給される画面並べ替えバッファ２、この画面並べ替えバッファ２から読み出された画像データが供給される加算器３、イントラ予測装置１６及び動き予測補償装置１７、上記加算器３の出力が供給される直交変換装置４、この直交変換装置４の出力が供給される量子化装置５、この量子化装置５の出力が供給される可逆符号化装置６及び逆量子化装置８、上記可逆符号化装置６の出力が供給される蓄積バッファ７、この蓄積バッファ７の出力が供給されるレート制御装置１８、上記逆量子化装置８の出力が供給される逆直交変換装置９、この逆直交変換装置９の出力が供給されるデブロックフィルタ１０、このデブロックフィルタ１１０の出力が供給されるフレームメモリ（フル解像度）１１、上記フレームメモリ（フル解像度）１１の出力が供給される間引き装置１２、この間引き装置１２の出力が供給されるフレームメモリ（１／Ｎ２解像度）１３、このフレームメモリ（１／Ｎ２解像度）１３の出力が供給される動き予測補償装置（フル解像度）１４、この動き予測補償装置（フル解像度）１４に接続された参照フレーム決定装置１５等を備えてなる。
この画像情報符号化装置２０において、入力となる画像信号Ｓinは、まず、Ａ／Ｄ変換装置１０１においてデジタル信号に変換される。次に、出力となる画像圧縮情報ＤＰＣのＧＯＰ(Group of Pictures)構造に応じ、画面並べ替えバッファ２においてフレームの並べ替えが行われる。イントラ符号化が行われる画像に関しては、入力画像と、イントラ予測装置１６により生成される画素値の差分情報が直交変換装置４に入力され、ここで離散コサイン変換、カルーネン・レーベ変換等の直交変換が施される。
直交変換装置４の出力として得られる変換係数は、量子化装置５において量子化処理が施される。量子化装置５の出力として得られる量子化された変換係数は、可逆変換装置６に入力され、ここで可変長符号化、算術符号化等の可逆符号化が施された後、蓄積バッファ７に蓄積され、画像圧縮情報ＤＰＣとして出力される。量子化装置５の挙動はレート制御装置１８によって制御される。同時に、量子化装置５の出力として得られる量子化された変換係数は、逆量子化装置８に入力され、更に逆直交変換装置９において逆直交変換処理が施されて、復号化画像情報となり、デブロックフィルタ１０においてブロック歪の除去が施された後、その情報はフレームメモリ１１に蓄積される。イントラ予測装置１６において、当該ブロック／マクロブロックに対して適用されたイントラ予測モードに関する情報は、可逆符号化装置６に伝送され、画像圧縮情報ＤＰＣにおけるヘッダ情報の一部として符号化される。
インター符号化が行われる画像に関しては、まず、画像情報は動き予測補償装置１７に入力される。同時に参照となる画像情報がフレームメモリ１１より取り出され、動き予測補償処理を施され、参照画像情報が生成される。参照画像情報は加算器３に送られ、ここで当該画像情報との差分信号へ変換される。動き予測補償装置１７は、同時に動きベクトル情報を可逆符号化装置６に出力し、その情報は可変長符号化、算術符号化といった可逆符号化処理が施され、画像圧縮情報ＤＰＣのヘッダ部に挿入される情報を形成する。その他の処理はイントラ符号化を施される画像圧縮情報ＤＰＣと同様である。
そして、この画像情報符号化装置２０において、間引き装置１２では、図８に示すように、フレームメモリ（フル解像度）１１に格納された画像情報を入力とし、これに、水平方向、垂直方向それぞれに対して、１／Ｎ間引き処理を行い、これにより生成された画素値を、フレームメモリ（１／Ｎ２解像度）１３に格納する。
また、動き予測補償装置（１／Ｎ２解像度）１４では、フレームメモリ（１／Ｎ２解像度）１３に格納された画素値を用い、８×８ブロック、若しくは１６×１６ブロックの画素値を用いて、ブロックマッチングにより、当該ブロックに対する最適な動きベクトル情報の探索を行う。その際、全ての画素値を用いて予測エネルギーを計算するのではなく、図９に示すように、マクロブロックＭＢに対して、碁の目状に指定された画素ＰＸの画素値を用いて、計算を行う。
当該ピクチャをフィールド符号化する際には、図８に示した間引き処理は、第一フィールドと第二フィールドに分けて行う。
このように、縮小画像を用いて探索された動きベクトル情報は、動き予測補償装置（フル解像度）１７へ入力される。例えば、Ｎ＝２のとき、動き予測補償装置（１／４解像度）１４において、探索の単位が８×８ブロックであった場合には、一つのマクロブロックＭＢに対して、１つの１６×１６ブロックが、探索の単位が１６×１６ブロックであった場合には、四つのマクロブロックＭＢに対して１つの１６×１６ブロックが求まっていることになるが、動き予測補償装置（フル解像度）１７においては、これらの１６×１６動きベクトルを中心としたごく僅かの範囲を、図４及び図５において定義された全ての動きベクトル情報の探索を行う。このように、縮小画像上で求まった動きベクトル情報を元に、ごく僅かの探索範囲に対して動き予測補償を行うことで、画質劣化を最小限に抑えながら、演算量を大幅に削減することが可能である。
それぞれの動き補償ブロックに対する参照フレームの決定は、以下のように行われる。
すなわち、動き予測補償装置（１／Ｎ２解像度）１４においては、候補となる全ての参照フレームに対する動きベクトルの検出を行う。動き予測補償装置（フル解像度）１７において、それぞれの参照フレームに対して求められた動きベクトルのリファインメント（Refinement）処理を行った後、残差若しくはなんらかのコスト関数を最小にするような参照フレームを、当該動き補償ブロックに対する参照フレームとして選択する。リファインメント（Refinement）処理では、階層サーチで荒くサーチした後、本来のスケールに戻して、階層サーチの結果得られた動きベクトルの周辺をサーチする。
ところで、ＡＶＣでは先に述べたように、マルチプルリファレンスフレーム、可変動き予測補償ブロックサイズ、及び１／４画素精度の動き補償が許されているため、候補参照フレームの数が増えてくると、動き予測補償装置（フル解像度）１７におけるリファインメント処理でも重くなってしまう。
さらに、画像符号化装置（Ｈ／Ｗ化）を考えた場合には、マクロブロックＭＢ内の全てのブロックサイズに対して参照フレーム毎に、動き探索処理を行うため、メモリーへのアクセスが頻繁になるため、場合によってはメモリー帯域をあげる必要が出てくる。
ここで、フィールドコーディングのときの具体的な例を図１０に示す。当該フィールドがＢピクチャのボトムフィールドで、参照フィールドが前方側（Ｌｉｓｔ０）、後方側（Ｌｉｓｔ１）が共に２フィールドの時、さらにフレームメモリ（１／Ｎ２解像度）１３の縮小率Ｎが４のときの例である。Ｌｉｓｔ０，Ｌｉｓｔ１は参照画像のインデックスのリストであって、前方側を参照するＰピクチャではＬｉｓｔ０と呼ばれるインデックスリストを用いて参照画像の指定が行われ、後方側を参照するＢピクチャではＬｉｓｔ１と呼ばれるインデックスリストを用いて参照画像の指定が行われる。
参照フィールドごとにブロックマッチングにより、最適な動きベクトルを動き予測補償装置（１／Ｎ２解像度）１４で導出し、その動きベクトルを中心に動き予測補償装置（フル解像度）１７において、全てのブロックサイズに対するｒｅｆｉｎｅｍｅｎｔ処理を行い、参照フィールドをＬｉｓｔ毎に決定したのでは、動き予測補償装置（フル解像度）１７におけるＲｅｆｉｎｅｍｅｎｔ処理が重くなってしまうので、この画像情報符号化装置２０では、参照フレーム決定装置１５において、図１１及び図１２に示すように参照フィールドを決定する。
図１０に示した縮小率（１／４）では、図１１（Ａ）に示すように、動き予測補償装置（１／１６解像度）５７でのブロックマッチングの単位を１６×１６にした場合、動き予測補償装置（フル解像度）５９では４×４マクロブロック（１６個分）への動きベクトルが同一に設定される。
この画像情報符号化装置２０では、図１１（Ｂ）のように１６×１６ブロックを１６×４の帯に分割し、動き予測補償装置（１／１６解像度）１４での１６×１６ブロックマッチングの際に、１６×４の帯毎に、エネルギー（ＳＡＤ）を保持する。
つまり、図１１（Ｂ）のように、帯の上からインデックス番号（ＢｌｋＩｄｘ）を０，１，２，３とつけると、参照フィールドごとに、次の式８で表すようなエネルギー（ＳＡＤ）を得ることができる。
ＬｉｓｔＸに対して（Ｘ＝０，１）
ＳＡＤ＿ＬｉｓｔＸ［ｒｅｆＩｄｘ］［ＢｌｋＩｄｘ］      （式８）
（ＢｌｋＩｄｘ＝０〜３）
ここで、ＳＡＤ＿ＬｉｓｔＸ［ｒｅｆＩｄｘ］［ＢｌｋＩｄｘ］はＬｉｓｔＸの参照画像インデックス番号ｒｅｆＩｄｘ毎に１６×１６ブロックマッチングによって求められた最適な動きベクトルに対してＢｌｋＩｄｘ毎にＳＡＤを格納したものを表す。参照画像インデックス番号ｒｅｆＩｄｘは、規格上の任意に定義することができる参照画像を示すインデックスであって、通常は近い方から小さい番号が割り振られる。同じ参照画像であっても、前方側の参照画像を示すＬｉｓｔ０と、後方側の参照画像を示すＬｉｓｔ１では、異なる参照画像インデックス番号が付される。
さらに、各参照フィールドで１６×１６ブロックマッチングにより、最適な動きベクトルＭＶ＿ＬｉｓｔＸ［ｒｅｆＩｄｘ］（ＭＶ＿Ｌｉｓｔ０［０］、ＭＶ＿Ｌｉｓｔ０［１］、ＭＶ＿Ｌｉｓｔ１［０］、ＭＶ＿Ｌｉｓｔ１［１］）を得ている。
ここで、参照フレーム決定装置５６では、次の式９で表すように、各Ｌｉｓｔの対応したインデックス番号ＢｌｋＩｄｘ毎に残差エネルギーの大小比較を行い、エネルギーの小さい参照フィールドを１６×４単位での参照フィールドであると決定する。
ＬｉｓｔＸに対して（Ｘ＝０，１）
ｒｅｆＩｄｘ［ＢｌｋＩｄｘ］
＝ＭＩＮ（ＳＡＤ＿ＬｉｓｔＸ［ｒｅｆＩｄｘ］［ＢｌｋＩｄｘ］
（ＢｌｋＩｄｘ＝０〜３）
（式９）
また、決められた参照画像インデックス番号ｒｅｆＩｄｘ毎に動きベクトルＭＶ＿ＬｉｓｔＸ［ｒｅｆＩｄｘ］の切り替えも行う。
エネルギーが同値の場合には、参照画像インデックス番号ｒｅｆＩｄｘの小さなフィールドを参照フィールドとする。
上記処理によりＢｌｋＩｄｘ毎に参照フィールド（ｒｅｆＩｄｘ＿ＬｉｓｔＸ［ＢｌｋＩｄｘ］）および、動きベクトル（ＭＶ＿ＬｉｓｔＸ［ＢｌｋＩｄｘ］）を得る。
ここで、比較に用いる指標値をＭ×Ｎのブロックマッチングの結果として得られる差分絶対値和（ＳＡＤ）としたが、Ｍ×Ｎのブロックマッチングの結果として得られる直交変換された差分絶対値和（ＳＡＴＤ）や差分２乗和（ＳＳＤ）を用いてもよい。
また、残差エネルギーから求められるＳＡＤ，ＳＡＴＤあるはＳＳＤだけを指標値とするのではなく、参照画像インデックス番号ｒｅｆＩｄｘの値も任意の重み付け（λ１）でＳＡＤ等に足し込んだ値を評価指標値としてもよい。
評価指標をＣｏｓｔという名前で定義すると式１０のように表す。
Ｃｏｓｔ＝ＳＡＤ＋λ１×ｒｅｆＩｄｘ                （式１０）
さらに、評価指標には、動きベクトルの情報量を加えてもよい。
具体的には、式１１のように重み付け変数λ２を用いて評価指標生成式を定義する。
Ｃｏｓｔ＝ＳＡＤ＋λ１×ｒｅｆＩｄｘ＋λ２×ＭＶ      （式１１）
すなわち、この画像情報符号化装置２０では、図１２のフローチャートに示す手順に従って、画像処理を行う。
すなわち、間引き装置１３７によりフレームメモリ（フル解像度）１３６に格納された画像情報を入力とし、これに、水平方向、垂直方向それぞれに対して、１／Ｎ間引き処理を行い、これにより生成された画素値を、フレームメモリ（１／Ｎ２解像度）１３９に格納する（ステップＳ１）。
ＬｉｓｔＸ（Ｘ＝０）とする（ステップＳ２）。
ｒｅｆＩｄｘ＝０とする（ステップＳ３）。
動き予測補償装置（１／Ｎ２解像度）１３８により、フレームメモリ（１／Ｎ２解像度）１３９に格納された画素値を用いて、ブロックマッチングにより、当該ブロックに対する最適な動きベクトル情報の探索を行う（ステップＳ４）。
そして、ブロックマッチングの結果として得られるＳＡＤが最小値となるポイントでＢｌｋＩｄｘ毎にＳＡＤ値を格納する（ステップＳ５）。
次に、ＬｉｓｔＸの参照画像インデックス番号ｒｅｆＩｄｘ毎に１６×１６ブロックマッチングによって求められた最適な動きベクトルに対してＢｌｋＩｄｘ毎にＳＡＤを格納したものを表すＳＡＤ＿ＬｉｓｔＸ［ｒｅｆＩｄｘ］［ＢｌｋＩｄｘ］を求める（ステップＳ６）。
参照画像インデックス番号ｒｅｆＩｄｘをインクリメントする（ステップＳ７）。
参照画像インデックス番号ｒｅｆＩｄｘが最終値になったか否かを判定して（ステップＳ８）、その判定結果がＮＯである場合には上記ステップＳ４に戻ってステップＳ４〜ステップＳ８の処理を繰り返し行う。
上記ステップＳ８における判定結果がＹＥＳになったら、ＬｉｓｔＸでＢｌｋＩｄｘ毎にＳＡＤが最小値となる参照画像インデックス番号ｒｅｆＩｄｘを求める（ステップＳ９）。
ＬｉｓｔＸ（Ｘ＝１）とする（ステップＳ１０）。
そして、Ｌｉｓｔ１であるか否かを判定して（ステップＳ１１）、その判定結果がＹＥＳである場合には上記ステップＳ３に戻ってステップＳ３〜ステップＳ１１の処理を繰り返し行い、また、上記ステップＳ１における判定結果がＮＯである場合には、処理を終了する。
以上のようにして得られたＬｉｓｔ毎・ＢｌｋＩｄｘ毎に求められた参照画像インデックス番号ｒｅｆＩｄｘ及び動きベクトルの周りだけリファインメント処理を行うことで、リファインメント処理の演算量を削減し、ＭＥの高速化を図ることができる。
また、上記処理では、４×１ＭＢの帯で参照画像インデックス番号ｒｅｆＩｄｘおよび動きベクトルが揃っているため、リファインメント処理において、動きベクトルを探索する領域をメモリアクセスする際に、当該マクロブロックＭＢの前に探索したメモリーを再利用し、図１３に示すように、リファインメントウインドウＲＥＷ内の新たに必要な領域ＡＲｎだけアクセスすることでメモリアクセスの低減も可能となる。
フィールドを例にあげて説明したが、これはフレームにも同様に適用できる。
さらに、４×１ＭＢの帯を例に上げたが、Ｍ×ＮのマクロブロックＭＢを縮小画でのブロックマッチングの単位とした場合に、Ｍ×Ｎ’（Ｎ’は１以上Ｎ以下）や、Ｍ’×Ｎ（Ｍ’は１以上Ｍ以下）の単位をＢｌｋＩｄｘとする場合に適用可能である。
【図１】
0005018085.tif 000002
【図２】
0005018085.tif 000003
【図３】
0005018085.tif 000004
【図４】
0005018085.tif 000005
【図５】
0005018085.tif 000006
【図６】
0005018085.tif 000007
【図７】
0005018085.tif 000008
【図８】
0005018085.tif 000009
【図９】
0005018085.tif 000010
【図１０】
0005018085.tif 000011
【図１１】
0005018085.tif 000012
【図１２】
0005018085.tif 000013
【図１３】
0005018085.tif 000014