(57)【特許請求の範囲】
【請求項１】
符号化された過去の第１の数（２以上の整数）の画像フレームを参照フレームとして保存する手段と、
時系列的に入力される符号化対象のフレームを複数のブロックに分割する手段と、
前記分割されたブロックごとに、当該ブロックと前記保存された第１の数の参照フレームとのすべての組み合わせに対し整数画素精度で画像の動きベクトルを算出し、動き補償予測の対象として最適と見なす参照フレームを選択する手段と、
前記選択結果をもとに、前記複数のブロックが最適と見なす参照フレームが前記第１の数より少数の第２の数の参照フレームに集中しているか否かを判定する判定手段と、
前記判定結果に基づいて、前記複数のブロックが最適と見なす参照フレームが前記第２の数の参照フレームに集中している場合に、当該第２の数の参照フレームを非整数探索の対象として選択し、この選択された参照フレームに対し非整数画素精度で画像の動き補償予測を行う手段と
を具備することを特徴とする動画像符号化装置。
【請求項２】
前記判定結果に基づいて、前記複数のブロックが最適と見なす参照フレームが前記第２の数の参照フレームに集中していない場合には、前記第１の数の参照フレームを非整数探索の対象として選択し、この選択された第１の数の参照フレームに対しそれぞれ非整数画素精度で画像の動き補償予測を行う手段を、さらに具備することを特徴とする請求項１記載の動画像符号化装置。
【請求項３】
前記判定手段は、前記選択結果をもとに、前記複数のブロックのすべてが最適と見なす参照フレームが一致しているか否かを判定することを特徴とする請求項１記載の動画像符号化装置。
【請求項４】
前記判定手段は、前記選択結果をもとに、前記複数のブロックのうち予め設定した数又は割合以上のブロックが最適と見なす参照フレームが一致しているか否かを判定することを特徴とする請求項１記載の動画像符号化装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、動画像を符号化する装置に係わり、特に複数の参照フレームから動きベクトルを予測する機能を備えた動画像符号化装置に関する。
【背景技術】
【０００２】
動画像の帯域圧縮符号化の基本的な方式として、予測符号化方式と変換符号化方式がある。映像信号には統計的な性質があること、すなわちフレーム内の画素間及びフレーム間の画素間に相関性があることが知られており、この性質を利用して高能率の符号化が行われる。予測符号化方式は、時間領域における相関性を利用した方式である。これに対し変換符号化方式は、周波数領域における相関性を利用した方式である。
【０００３】
予測符号化方式は、既に符号化された画像フレーム（以後参照フレームと呼称する）から動き補償予測を行って予測画像を作成し、符号化対象の画像とこの予測画像との差分信号を符号化するものである。変換符号化方式は、画面を画素ごとにブロック化したものを離散コサイン変換（Discrete Cosine transform：ＤＣＴ）により周波数領域に変換し、得られた各周波数成分の変換係数（これを以後ＤＣＴ係数と呼称する）を量子化して伝送するものである。そして、近年ではこの両者を組み合わせた方式が一般的に採用されている。
【０００４】
例えば、国際電気通信連合電気通信標準化部門：ＩＴＵ−Ｔ（International Telecommunication Union-Telecommunication Standardization Sector）勧告のＨ．２６１やＨ．２６３、また国際標準化機構：ＩＳＯ（International Organization for Standardization）の下に設立された画像圧縮の標準化作業グループによるＭＰＥＧ（Moving Picture Experts Group）においては例えば１６×１６の画素ブロック（以後マクロブロックと呼称する）単位で符号化が行われる。
【０００５】
さらに最近では、圧縮率をさらに高めるためにＨ．２６４が標準化されている。Ｈ．２６４は、多様な符号化モードを使用することにより高能率な画像符号化を行うものである。特に、動き補償予測に複数枚の参照ピクチャを使用可能であり、また動き探索の画素精度についてもＭＰＥＧ２又はＭＰＥＧ４で採用されている１／２画素精度より精細な１／４画素精度が採用されている。したがって、ＭＰＥＧ２又はＭＰＥＧ４等に比べより高精度の動き補償予測が可能となる（例えば、非特許文献１を参照。）。
【非特許文献１】インプレス標準教科書シリーズ「Ｈ．２６４／ＡＶＣ教科書」  大久保榮監修、角野眞也、菊池義浩、鈴木輝彦共著、２００４年８月１１日、ｐ８２，ｐ１１９等。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ところが、Ｈ．２６４は上述したように、動き補償予測に複数枚の参照ピクチャを使用可能で、かつ動き探索の画素精度として１／４を採用している。このため、参照ピクチャ数に比例して動き補償予測の処理量が増加し、この処理量の増加が装置の消費電力の増加や高価格化を招く原因となる。これは、特に小型軽量化とバッテリ寿命の延長が重要課題の一つとなっている携帯端末においては、非常に好ましくない。
【０００７】
この発明は上記事情に着目してなされたもので、その目的とするところは、動き補償予測の精度を高く維持しつつ処理量の削減を可能とした動画像符号化装置を提供することにある。
【課題を解決するための手段】
【０００８】
上記目的を達成するためにこの発明は、ブロックごとに複数の第１の数の参照フレームを用いて動き補償予測処理を行う際に、先ず上記ブロックごとに、当該ブロックと上記第１の数の参照フレームとのすべての組み合わせに対し整数画素精度で画像の動きベクトルを算出し、動き補償予測の対象として最適と見なす参照フレームを選択する。次に、上記選択結果をもとに、上記複数のブロックが最適と見なす参照フレームが上記第１の数より少数の第２の数の参照フレームに集中しているか否かを判定する。そして、集中していると判定された場合に、当該第２の数の参照フレームを非整数探索の対象として選択して、この選択された参照フレームに対し非整数画素精度で画像の動き補償予測を行うようにしたものである。
【発明の効果】
【０００９】
したがってこの発明によれば、整数探索の結果、複数のブロックが最適と見なす参照フレームが一部の参照フレームに集中していると判定された場合には、当該一部の参照フレームに対し非整数探索処理が行われる。このため、常にすべての参照フレームに対し非整数探索処理を行う場合に比べ、動き補償予測の精度を低下させることなく動き補償予測に要する処理量を減らすことが可能となる。
【００１０】
すなわち、動き補償予測の精度を高く維持しつつ処理量の削減を可能とした動画像符号化装置を提供することができる。
【発明を実施するための最良の形態】
【００１１】
以下、図面を参照してこの発明の実施形態を説明する。  
図１は、この発明に係わる動画像符号化装置の一実施形態を示すブロック図である。  
この実施形態に係わる動画像符号化装置は、ブロック切出部１を備えている。ブロック切出部１は、カメラＣＭから出力される１フレームの画像信号をマクロブロックに分割する。このマクロブロックのサイズは１６×１６画素である。ブロック切出部１から出力されたマクロブロックは、動きベクトル検出部２及び引き算器７にそれぞれ入力される。
【００１２】
動きベクトル検出部２は、インター符号化モードが選択された場合において、参照画像記憶用のメモリ４に記憶されている過去の複数の符号化画像フレーム（以後、参照フレームと呼称する）を参照し、上記ブロック切出部１にてマクロブロック単位に切り出された画像データに対し、動きベクトルを検出する。
【００１３】
この動きベクトルを検出する過程では、先ず上記マクロブロックが様々な大きさのブロックにさらに分割される。次に、この分割されたブロックごとに、複数の参照フレームに対して整数探索と非整数探索が順次行われる。そして、この整数探索と非整数探索との間において、非整数探索対象の参照フレームを絞り込むための処理が行われる。この参照フレームの絞り込み処理については後に詳しく述べる。
【００１４】
なお、上記動きベクトル検出の対象となるブロック形状には、例えば１６×１６画素、１６×８画素、８×１６画素及び８×８画素の４種類がある。これらをマクロブロック（ＭＢ）タイプと呼ぶ。また、これらＭＢタイプのうち８×８画素の各ブロックはさらに分割され、８×８画素、８×４画素、４×８画素及び４×４画素を形成する。これらをサブマクロブロック（ＳｕｂＭＢ）タイプと呼ぶ。
【００１５】
動き補償部３は、上記動きベクトル検出部２により検出された動きベクトルと、上記参照画像記憶用のメモリ４に記憶された参照フレームとをもとに、動き補償された予測画像データを生成する。選択回路５は、上記動き補償部３により生成されたマクロブロック単位の予測画像データと、画面内予測部６により生成されるマクロブロック単位の画面内予測画像データとの一方を選択して、引き算器７へ出力する。
【００１６】
上記選択回路５の選択動作は、図示しない符号化制御部により制御される。すなわち、符号化制御部は、上記動き補償部３により生成された予測画像データと、画面内予測部６により生成された画面内予測画像データのコストを比較し、コストが高い側を選択させるべく上記選択回路５を切替制御する。
【００１７】
引き算器７は、ブロック切出部１から出力された現行フレームの画像データから、上記選択回路５により選択された予測画像データを引き算することにより残差信号を得る。そして、この残差信号を離散コサイン変換（Discrete Cosine Transform：ＤＣＴ）量子化部８に入力する。ＤＣＴ量子化部８は、上記ＤＣＴ係数計算部と量子化部とから構成され、上記残差信号をＤＣＴ変換により周波数領域の信号に変換し、その変換係数を量子化する。エントロピー符号化部９は、上記ＤＣＴ量子化部８により量子化されたＤＣＴ変換係数を可変長符号化して出力する。
【００１８】
また、上記ＤＣＴ量子化部８により量子化されたＤＣＴ変換係数はローカルデコーダ部に入力される。ローカルデコーダ部は、逆量子化・逆ＤＣＴ部１１と、加算器１２と、デブロッキング・フィルタ１３とから構成される。逆量子化・逆ＤＣＴ部１１は、上記量子化されたＤＣＴ変換係数に対し、逆量子化処理、及び逆離散コサイン変換（Inverse Discrete Cosine Transform：ＩＤＣＴ）処理を行う。加算器１２は、上記逆量子化及び逆ＤＣＴの結果と、上記選択回路５により選択された予測画像とを加算して復号画像を生成する。デブロッキング・フィルタ１３は、上記加算器１２により生成された復号画像に対し、ブロック境界歪みを抑圧するためのフィルタリング処理を行う。このデブロッキング・フィルタ１３から出力された復号画像データは、参照フレームとして参照画像記憶用のメモリ４に格納される。
【００１９】
なお、以上述べた動画像符号化装置を構成する各機能部はそれぞれＬＳＩ（Large Scale Integrated Circuit）等のハードウエアにより構成される。
【００２０】
次に、以上のように構成された動画像符号化装置による動き補償予測の処理動作を説明する。図２はその動作手順と動作内容を示すフローチャート、図３は動き補償予測の動作概念を説明するための図である。
【００２１】
いま仮に参照画像記憶用のメモリ４には、過去の連続する３フレームの画像データが参照フレームとして記憶されているものとする。この状態で、現行フレームの画像信号がカメラＣＭから入力されると、この画像信号は先ずブロック切出部１によりマクロブロックに分割される。
【００２２】
次に、動きベクトル検出部２において次のように動き補償予測のための処理が行われる。先ず、上記マクロブロックは様々な大きさのマクロブロックタイプに分割される。このマクロブロックタイプには、先に述べたように１６×１６画素、１６×８画素、８×１６画素及び８×８画素の４種類がある。図３にその一例を示す。上記ブロック分けにより９つのブロックが形成される。その後、参照画像記憶用のメモリ４に記憶されている過去の３個の参照フレームを参照して、上記現行フレームの画像データに対し選択したマクロブロックタイプ内のブロックごとに整数探索が行われる。この整数探索処理は、図２のステップ２ａ〜ステップ２ｃにより実現される。
【００２３】
すなわち、先ずステップ２ａにより参照フレームの一つ、例えば時間的に最も新しい参照フレームref_Idx0が選択される。続いてステップ２ｂにより、上記選択された参照フレームref_Idx0に対し、マクロブロックタイプ内のブロックごとに整数画素精度で動き予測ベクトルの検出が行われる。そして、参照フレームref_Idx0に対するマクロブロックタイプ内のブロックごとの動き予測ベクトルの検出が終了すると、ステップ２ｃにより次の参照フレームref_Idx1が選択され、この選択された参照フレームref_Idx1に対し、マクロブロックタイプ内のブロックごとに整数画素精度で動き予測ベクトルの検出が行われる。以後同様に、ステップ２ａ，２ｃにより残りのすべての参照フレームが順次選択され、この選択された参照フレームに対しそれぞれマクロブロックタイプ内のブロックごとに整数画素精度で動き予測ベクトルの検出が行われる。
【００２４】
またそれと共に動きベクトル検出部２は、上記動き予測ベクトルの検出結果をもとに、マクロブロックタイプ内のブロックごとに絶対値予測誤差（ＳＡＤ）が最小となる参照フレームと動き予測ベクトルを決定する。すなわち、各マクロブロックタイプ内の各ブロックにおいて動き補償予測を行う上で最適な参照フレームが決定される。
【００２５】
さて、そうしてすべての参照フレームref_Idx0，ref_Idx1，ref_Idx2に対するマクロブロックタイプ内のブロックごとの動き予測ベクトルの検出が終了したとする。そうすると、動きベクトル検出部２は次にステップ２ｄにおいて、上記整数画素探索により得られた検出結果が、予め設定された参照フレームの絞り込み条件を満足するか否かを判定する。例えば、すべてのブロック（９ブロック）が最適と見なす参照フレームが一致しているか否か、換言すると整数画素探索後のすべての候補ブロックが同一の参照フレームを選択しているか否かが判定される。
【００２６】
この判定の結果、整数画素探索後のすべての候補ブロックが同一の参照フレームを選択している場合には、第２の非整数探索モード２Ｂを選択する。そして、ステップ２ｈにより、上記すべての候補ブロックが選択している参照フレームのみを非整数画素探索の対象として選択し、この選択された参照フレームに対し非整数画素精度による動き予測ベクトルの検出処理を行う。この非整数画素精度による動き予測ベクトルの検出は、例えば参照フレームに対しフィルタリング処理を行うことにより行われる。例えば、１／４精度探索であれば、１／２精度探索により最適とされた画素位置の周囲８点を探索する手法が用いられる。
【００２７】
一方、上記ステップ２ｄにより判定の結果、整数画素探索後のすべての候補ブロックが同一の参照フレームを選択していないと判定されたとする。この場合動きベクトル検出部２は、第１の非整数探索モード２Ａを選択する。この第１の非整数探索モード２Ａによる処理は、非整数探索の対象としてすべての参照フレームを選択し、この選択されたすべての参照フレームに対し非整数画素精度による動き予測ベクトルを検出するものである。
【００２８】
すなわち、先ずステップ２ｅにより参照フレームの一つ、例えば時間的に最も新しい参照フレームref_Idx0が選択される。続いてステップ２ｆにより、上記選択された参照フレームref_Idx0に対し、非整数画素精度で動き予測ベクトルの検出が行われる。そして、参照フレームref_Idx0に対する動き予測ベクトルの検出が終了すると、ステップ２ｇにより次の参照フレームref_Idx1が選択され、ステップ２ｆによりこの選択された参照フレームref_Idx1に対し非整数画素精度で動き予測ベクトルの検出が行われる。以後同様に、ステップ２ｅ，２ｇにより残りのすべての参照フレームが順次選択され、この選択された各マクロブロックに対しそれぞれ非整数画素精度で動き予測ベクトルの検出が行われる。
【００２９】
そうして、上記第１又は第２の非整数探索モード２Ａ，２Ｂによる動き予測ベクトルの検出処理が終了すると、動きベクトル検出部２は最後にステップ２ｉにおいて最適なインター符号化モードを判定し、一連のすべての処理を終了する。そして、上記動き予測の結果をもとに予測画像データが生成され、さらにこの予測画像データと現行フレームにおけるマクロブロックの画像データとの差分画像データが生成される。
【００３０】
なお、上記動きベクトル検出部２により差分画像データが生成されると、ＤＣＴ量子化部８において上記差分画像データに対して離散コサイン変換が行われ、これにより得られたＤＣＴ係数が量子化されて、符号化データとして出力される。また、上記量子化されたＤＣＴ係数は、逆量子化逆ＤＣＴ部１１で逆量子化及び逆離散コサイン変換が行われる。そして、これにより生成された復号データをもとに参照画像データが生成され、この生成された参照画像データは後続フレームの動き補償予測のために参照フレームとして参照画像記憶用のメモリ４に記憶される。
【００３１】
以上述べたようにこの実施形態では、入力された画像データに対し動きベクトル検出部２で動き補償予測を行う際に、先ず参照画像記憶用のメモリ４に記憶されている過去の３個の参照フレームを参照して、上記画像データに対し選択したマクロブロックタイプ内のブロックごとに整数探索を行い、これにより動き予測ベクトルを検出する。そして、この動き予測ベクトルの検出結果をもとに、マクロブロックタイプ内のブロックごとに動き補償予測を行う上で最適な参照フレームを決定する。次に、この決定結果をもとに、すべてのブロック（９ブロック）が最適と見なす参照フレームが一致しているか否か、つまりすべての候補ブロックが同一の参照フレームを選択しているか否かを判定する。そして、この判定の結果、すべての候補ブロックが同一の参照フレームを選択していれば、上記最適と見なされる参照フレームのみを非整数探索の対象として非整数画素精度で動き予測ベクトルを検出する。
【００３２】
したがって、常にすべての参照フレームに対し非整数探索を行う場合に比べ、動き補償予測の精度を低下させることなく動き補償予測に要する処理量を減らすことが可能となる。一般に、動き探索においては現行フレームの直前の参照フレームが選択されやすい傾向があり、１マクロブロック内で参照するフレーム枚数も１枚のみとなることが多い。その要因としては、１６×１６画素単位のブロックが最も多く選択されるためである。また、自然画像においては、同一ピクチャ内に存在する動きが均一であることが多く、同一の参照フレームにブロックが集まりやすいためと考えられる。
【００３３】
したがって上記したように、整数探索の結果、複数のブロックが最適と見なす参照フレームが一つの参照フレームに集中していると判定された場合に、当該一つの参照フレームに対してのみ非整数探索処理を行うようにすることにより、動き補償予測にかかる処理量を全体として大幅に減らすことが可能となる。そして、この結果装置の消費電力の低減及び低価格化が可能となる。この効果は、特に小型軽量化とバッテリ寿命の延長が重要課題の一つとなっている携帯端末において、きわめて有用である。
【００３４】
また上記実施形態では、すべての候補ブロックが同一の参照フレームを選択していない場合に、すべての参照フレームを非整数探索の対象として非整数画素精度で動き予測ベクトルを検出するようにしている。このため、動き探索の結果一つのマクロブロックが選択した参照フレームが複数の参照フレームに分散している場合でも、高精度の動き補償予測が可能となる。
【００３５】
なお、この発明は前記実施形態に限定されるものではない。例えば、前記実施形態では動画像符号化装置を構成する各機能部をハードウエアにより構成した場合を例にとって説明したが、その一部又はすべてをソフトウエアにより実現することも可能である。
【００３６】
また、前記実施形態では、参照フレームを絞り込むための判定条件として、「整数画素探索後のすべての候補ブロックが同一の参照フレームを選択しているか否か」を用いた場合を例にとって説明した。しかし、それに限るものではなく、「整数画素探索後の一定数又は一定割合以上の候補ブロックが同一の参照フレームを選択しているか否か」を用いてもよい。さらには、絞り込み後の参照フレーム数は１フレームに限ることはなく、整数画素探索の対象となった参照フレーム数より少数のフレーム数であれば如何なる数であってもよい。
【００３７】
その他、動画像符号化装置の機能部の構成や、動き予測部の処理手順と処理内容、参照フレーム数等についても、この発明の要旨を逸脱しない範囲で種々変形して実施できる。  
要するにこの発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
【図面の簡単な説明】
【００３８】
【図１】この発明に係わる動画像符号化装置の一実施形態を示すブロック図。
【図２】図１に示した動画像符号化装置の動き予測部による処理手順と処理内容を示すフローチャート。
【図３】図１に示した動画像符号化装置の動き予測部による動作を説明するための図。
【符号の説明】
【００３９】
ＣＭ…カメラ、１…ブロック切出部、２…動きベクトル検出部、３…動き補償部、４…参照画像記憶用のメモリ、５…選択回路、６…画面内予測部、７…引き算器、８…ＤＣＴ量子化部、９…エントロピー符号化部、１１…逆量子化逆ＤＣＴ部、１２…加算器、１３…デブロッキング・フィルタ。
【図１】
0004686280.tif 000002
【図２】
0004686280.tif 000003
【図３】
0004686280.tif 000004