(57)【要約】【課題】  本発明は、符号化装置、符号化方法、符号化方法のプログラム及び符号化方法のプログラムを記録した記録媒体に関し、動画による撮像結果を記録するビデオカメラ、電子スチルカメラ、監視装置等に適用して、コスト関数により最適モードを検出して画像データを符号化処理する場合に、簡易な処理により最適モードを検出することができるようにする。【解決手段】  本発明は、整数画素精度によるコスト値に基づいてインター予測モードの最適モードを検出し、この最適モードについて１画素以下の精度によるコスト値を計算してイントラ予測モードとインター予測モードとの最適モードを検出する。【選択図】        図１
2006100871.tif 000002
【特許請求の範囲】
【請求項１】
符号化効率を示すコスト関数によるコスト値の比較により、複数のイントラ予測モード及び複数のインター予測モードから符号化処理に供する最適モードをマクロブロック毎に検出し、前記最適モードにより画像データを符号化処理する符号化装置において、
前記インター予測モード毎に、整数画素精度により動きベクトルを検出し、前記動きベクトルによる粗の動き補償位置の前記コスト値を計算する粗動き予測回路と、
前記粗の動き補償位置によるコスト値に基づいて、前記複数のインター予測モードにおける最適モードを検出するインターモード判定回路と、
前記インターモード判定回路により検出される最適モードについて、１画素以下の精度により動き補償して前記コスト値を計算する微動き予測回路と、
前記微動き予測回路によるコスト値と、前記複数のイントラ予測モードによるコスト値との比較により前記符号化処理に供する最適モードを検出するイントラ・インターモード判定回路と
を備えることを特徴とする符号化装置。
【請求項２】
前記複数のインター予測モードが、
大きさの異なる複数のブロックサイズにより動き補償するインター予測符号化処理である
ことを特徴とする請求項１に記載の符号化装置。
【請求項３】
前記複数のインター予測モードが、
異なる参照フレームを用いて動き補償するインター予測符号化処理である
ことを特徴とする請求項１に記載の符号化装置。
【請求項４】
前記複数のインター予測モードが、
前方向予測、後方向予測及び双方向予測によるインター予測符号化処理である
ことを特徴とする請求項１に記載の符号化装置。
【請求項５】
前記インターモード判定回路は、
前記インター予測モード毎に、前記粗の動き補償位置によるコスト値に基づいて、１画素以下の精度により前記コスト値が最小値となる動き補償位置における前記コスト値の見込み値を計算し、
前記複数のインター予測モードにおける前記見込み値の比較により、前記複数のインター予測モードにおける最適モードを検出する
ことを特徴とする請求項１に記載の符号化装置。
【請求項６】
前記粗動き予測回路は、
前記インター予測モード毎に、前記粗の動き補償位置によるコスト値と共に、前記粗の動き補償位置の周囲の補償位置で前記コスト値を計算し、
前記インターモード判定回路は、
前記インター予測モード毎に、前記粗の動き補償位置によるコスト値と、前記周囲の補償位置のコスト値とから前記見込み値を計算する
ことを特徴とする請求項５に記載の符号化装置。
【請求項７】
前記インターモード判定回路は、
前記粗の動き補償位置と、前記粗の動き補償位置を間に挟んで対向する２つの前記周囲の補償位置とを結ぶ方向について、極小点で傾きの符号が切り換わる一次関数により前記コスト値の変化を表して前記コスト値の極小値を検出し、前記コスト値の極小値に基づいて前記見込み値を検出する
ことを特徴とする請求項６に記載の符号化装置。
【請求項８】
前記インターモード判定回路は、
前記粗の動き補償位置と、前記粗の動き補償位置を間に挟んで対向する２つの前記周囲の補償位置とを結ぶ方向について、二次関数により前記コスト値の変化を表して前記コスト値の極小値を検出し、前記コスト値の極小値に基づいて前記見込み値を検出する
ことを特徴とする請求項６に記載の符号化装置。
【請求項９】
前記インターモード判定回路は、
前記対向する２つの周囲の補償位置を切り換えて、前記極小値を複数検出し、
前記複数の極小値の最小値より、前記見込み値を検出する
ことを特徴とする請求項７に記載の符号化装置。
【請求項１０】
前記インターモード判定回路は、
前記対向する２つの周囲の補償位置を切り換えて、前記極小値を複数検出し、
前記複数の極小値の最小値より、前記見込み値を検出する
ことを特徴とする請求項８に記載の符号化装置。
【請求項１１】
前記対向する２つの周囲の補償位置の切り換えが、
前記粗の動き補償位置と、前記対向する２つの前記周囲の補償位置とを結ぶ直線が直交する関係にある組み合わせ間での切り換えである
ことを特徴とする請求項９に記載の符号化装置。
【請求項１２】
前記対向する２つの周囲の補償位置の切り換えが、
前記粗の動き補償位置と、前記対向する２つの前記周囲の補償位置とを結ぶ直線が直交する関係にある組み合わせ間での切り換えである
ことを特徴とする請求項１０に記載の符号化装置。
【請求項１３】
前記インターモード判定回路は、
前記複数のインター予測モードの前記見込み値から最小値でなる見込み値のインター予測モードを検出することにより、前記複数のインター予測モードにおける最適モードを検出する
ことを特徴とする請求項５に記載の符号化装置。
【請求項１４】
前記コスト関数が、
原画像と予測画像との誤差値に対して、動きベクトルの伝送に供する符号量を与える関数であり、
前記動きベクトルの伝送が、
既に符号化処理された隣接する動き補償ブロックの動きベクトルにより予測動きベクトルを設定し、前記予測動きベクトルを基準にした動きベクトルの伝送であり、
前記粗動き補償回路は、
前記隣接する動き補償ブロックと処理対象の動き補償ブロックとが同一のマクロブロックである場合、前記粗動き予測回路で検出される粗の動き補償位置に係る動きベクトルを前記予測動きベクトルに設定して前記コスト値を計算する
ことを特徴とする請求項１に記載の符号化装置。
【請求項１５】
前記微動き予測回路は、
所定タップ数のＦＩＲフィルタを用いて１／４画素精度により動き補償して前記コスト値を計算する
ことを特徴とする請求項１に記載の符号化装置。
【請求項１６】
前記複数のイントラ予測モードが、
イントラ４×４予測モード及びイントラ１６×１６予測モードである
ことを特徴とする請求項１に記載の符号化装置。
【請求項１７】
符号化効率を示すコスト関数によるコスト値の比較により、複数のイントラ予測モード及び複数のインター予測モードから符号化処理に供する最適モードをマクロブロック毎に検出し、前記最適モードにより画像データを符号化処理する符号化方法において、
前記インター予測モード毎に、整数画素精度により動きベクトルを検出し、前記動きベクトルによる粗の動き補償位置の前記コスト値を計算する粗コスト値計算ステップと、
前記粗の動き補償位置によるコスト値に基づいて、前記複数のインター予測モードにおける最適モードを検出するインターモードの判定ステップと、
前記インターモードの判定ステップで検出される最適モードについて、１画素以下の精度により動き補償して前記コスト値を計算する微コスト値計算ステップと、
前記コスト値計算ステップによるコスト値と、前記複数のイントラ予測モードによるコスト値との比較により前記符号化処理に供する最適モードを検出するイントラ・インターモード判定のステップとを有する
ことを特徴とする符号化方法。
【請求項１８】
符号化効率を示すコスト関数によるコスト値の比較により、複数のイントラ予測モード、複数のインター予測モードから最適モードをマクロブロック毎に検出する最適モード検出のステップと、
前記最適モードにより画像データを符号化処理する符号化処理のステップとを有する符号化方法のプログラムにおいて、
前記最適モード検出のステップは、
前記インター予測モード毎に、整数画素精度により動きベクトルを検出し、前記動きベクトルによる粗の動き補償位置の前記コスト値を計算する粗コスト値計算ステップと、
前記粗の動き補償位置によるコスト値に基づいて、前記複数のインター予測モードにおける最適モードを検出するインターモードの判定ステップと、
前記インターモードの判定ステップにより検出される最適モードについて、１画素以下の精度により動き補償して前記コスト値を計算する微コスト値計算ステップと、
前記微コスト値計算ステップによるコスト値と、前記複数のイントラ予測モードによるコスト値との比較により前記符号化処理に供する最適モードを検出するイントラ・インターモード判定のステップとを有する
ことを特徴とする符号化方法のプログラム。
【請求項１９】
演算処理手段により実行される符号化方法のプログラムを記録した記録媒体において、
前記符号化方法のプログラムは、
符号化効率を示すコスト関数によるコスト値の比較により、複数のイントラ予測モード、複数のインター予測モードから最適モードをマクロブロック毎に検出する最適モード検出のステップと、
前記最適モードにより画像データを符号化処理する符号化処理のステップとを有し、
前記最適モード検出のステップは、
前記インター予測モード毎に、整数画素精度により動きベクトルを検出し、前記動きベクトルによる粗の動き補償位置の前記コスト値を計算する粗コスト値計算ステップと、
前記粗の動き補償位置によるコスト値に基づいて、前記複数のインター予測モードにおける最適モードを検出するインターモードの判定ステップと、
前記インターモードの判定ステップにより検出される最適モードについて、１画素以下の精度により動き補償して前記コスト値を計算する微コスト値計算ステップと、
前記微コスト値計算ステップによるコスト値と、前記複数のイントラ予測モードによるコスト値との比較により前記符号化処理に供する最適モードを検出するイントラ・インターモード判定のステップとを有する
ことを特徴とする符号化方法のプログラムを記録した記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、符号化装置、符号化方法、符号化方法のプログラム及び符号化方法のプログラムを記録した記録媒体に関し、動画による撮像結果を記録するビデオカメラ、電子スチルカメラ、監視装置等に適用することができる。本発明は、整数画素の精度によるコスト値に基づいてインター予測モードの最適モードを検出し、この最適モードについて１画素以下の精度によりコスト値を計算してイントラ予測モードとインター予測モードとの最適モードを検出することにより、コスト関数により最適モードを検出して画像データを符号化処理する場合に、簡易な処理により最適モードを検出することができるようにする。
【背景技術】
【０００２】
近年、放送局、一般家庭等に係る動画の伝送、記録においては、画像データの冗長性を有効に利用して効率良く画像データを伝送、蓄積する装置が普及しつつあり、このような装置は、例えばＭＰＥＧ（Moving Picture Experts Group ）等の方式に準拠して、離散コサイン変換等の直交変換と動き補償とにより画像データをデータ圧縮するように構成されている。
【０００３】
ここでこのような方式の１つであるＭＰＥＧ２（ISO/IEC 13818-2 ）は、汎用の画像符号化方式として定義された方式であり、飛び越し走査方式、順次走査方式の双方に対応できるように、また標準解像度画像、高精細画像の双方に対応できるように定義され、これらにより現在、プロフェッショナル用途及びコンシューマー用途の広範なアプリケーションに広く用いられている。具体的にＭＰＥＧ２によれば、例えば７２０×４８０画素による標準解像度、飛び越し走査方式の画像データを４〜８〔Ｍｂｐｓ〕のビットレートにデータ圧縮して、また１９２０×１０８８画素による高解像度、飛び越し走査方式の画像データを１８〜２２〔Ｍｂｐｓ〕のビットレートにデータ圧縮して、高画質で高い圧縮率を確保することができる。
【０００４】
しかしながらＭＰＥＧ２は、放送用に適合した高画質符号化方式であり、ＭＰＥＧ１より符号量の少ない高圧縮率の符号化方式には対応していない。これに対して近年の携帯端末の普及により、このようなＭＰＥＧ１より符号量の少ない高圧縮率の符号化方式のニーズの高まりが予測される。このためＭＰＥＧ４による符号化方式の規格が、ＩＳＯ／ＩＥＣ（International 0rganization for Standardization／International Electrotechnical Commission ）１４４９６−２により１９９８年１２月に国際標準に承認された。
【０００５】
またこのような方式にあっては、当初はテレビ会議用の画像符号化を目的としたものであったＨ２６Ｌ（ITU-T Q6/16 VCEG）の規格化が進み、ＭＰＥＧ２、ＭＰＥＧ４に比して演算量が増大するものの、ＭＰＥＧ２、ＭＰＥＧ４に比して高い符号化効率を確保できるようになり、またＭＰＥＧ４の活動の一環として、このＨ２６Ｌをベースにして各種機能を取り入れ、さらに一段と高い符号化効率を確保する符号化方式の標準化が、Joint Model of Enhanced-Compression Video Codingとして進められ、これらの方式にあっては、２００３年３月に、Ｈ２６４及びＭＰＥＧ−４  Ｐａｒｔ１０（ＡＶＣ：Advanced Video Coding ）との名称により国際標準に設定された。
【０００６】
ここで図５は、このＡＶＣに基づく符号化装置を示すブロック図である。この符号化装置１は、複数のイントラ予測モードと複数のインター予測モードとから最適な予測モードを選択し、この選択した予測モードによる予測値を画像データから減算して差分データを生成し、この差分データを直交変換処理、量子化処理、可変長符号化処理することにより、この画像データをイントラ符号化、インター符号化により符号化処理する。
【０００７】
すなわちこの符号化装置１において、アナログディジタル変換回路（Ａ／Ｄ）２は、ビデオ信号ＳＶをアナログディジタル変換処理して画像データＤ１を出力する。画面並べ替えバッファ３は、このアナログディジタル変換回路２から出力される画像データＤ１を入力し、この符号化装置１の符号化処理に係るＧＯＰ（Group of Pictures ）構造に応じて、この画像データＤ１のフレームを並べ替えて出力する。
【０００８】
減算回路４は、この画面並べ替えバッファ３から出力される画像データＤ１を受け、イントラ符号化においては、イントラ予測回路５で生成される予測値との差分データＤ２を生成して出力するのに対し、インター符号化においては、動き予測・補償回路６で生成される予測値との差分データＤ２を生成して出力する。直交変換回路７は、減算回路４の出力データＤ２を入力し、離散コサイン変換、カルーネン・レーベ変換等の直交変換処理を実行し、その処理結果による変換係数データＤ３を出力する。
【０００９】
量子化回路８は、レート制御回路９のレート制御による量子化スケールにより、この変換係数データＤ３を量子化して出力する。可逆符号化回路１０は、この量子化回路８の出力データを可変長符号化、算術符号化等により可逆符号化処理して出力する。また可逆符号化回路１０は、イントラ符号化に係るイントラ予測モードに関する情報、インター符号化に係る動きベクトルに関する情報等をイントラ予測回路５、動き予測・補償回路６から取得し、これらの情報を出力データＤ４のヘッダ情報に設定して出力する。
【００１０】
蓄積バッファ１１は、この可逆符号化回路１０の出力データＤ４を蓄積して続く伝送路の伝送速度により出力する。レート制御回路９は、この蓄積バッファ１１の空き容量の監視により符号化処理による発生符号量を監視すると共に、この監視結果により量子化回路８における量子化スケールを切り換え、これによりこの符号化装置１による発生符号量を制御する。
【００１１】
逆量子化回路１３は、量子化回路８の出力データを逆量子化処理し、これにより量子化回路８の入力データを再生する。逆直交変換回路１４は、逆量子化回路１３の出力データを逆直交変換処理し、これにより直交変換回路７の入力データを再生する。デブロックフィルタ１５は、この逆直交変換回路１４の出力データよりブロック歪を除去して出力する。フレームメモリ１６は、このデブロックフィルタ１５の出力データに、適宜、イントラ予測回路５又は動き予測・補償回路６により生成される予測値を加算して参照画像情報として記録する。
【００１２】
しかして動き予測・補償回路６は、フレームメモリ１６に保持された参照画像情報による予測フレーム（参照フレーム）を基準にして画面並べ替えバッファ３から出力される画像データの動きベクトルを検出し、またこの検出した動きベクトルによりフレームメモリ１６に保持した参照画像情報を動き補償してインター予測の最適モードを検出する。またインター予測により符号化処理を実行する場合、この最適モードにより予測画像情報を生成し、この予測画像情報による予測値を減算回路４に出力する。
【００１３】
イントラ予測回路５は、イントラ符号化において、フレームメモリ１６に蓄積された参照画像情報に基づいてイントラ予測モードの最適モードを検出する。またイントラ予測により符号化処理する場合には、この最適モードにより参照画像情報から予測画像情報の予測値を生成して減算回路４に出力する。
【００１４】
これらによりこの符号化方式においては、インター符号化とイントラ符号化とでそれぞれインター予測に係る動き補償による差分データＤ２とイントラ予測による差分データＤ２とを生成し、これらの差分データＤ２を直交変換処理、量子化処理、可変長符号化処理して伝送する。
【００１５】
図６は、このようにして符号化処理された符号化データＤ４を復号化処理する復号化装置を示すブロック図である。この復号化装置２０において、蓄積バッファ２１は、伝送路を介して入力される符号化データＤ４を一時蓄積して出力する。可逆復号化回路２２は、この蓄積バッファ２１の出力データを可変長復号化、算術復号化等により復号化処理し、符号化装置１における可逆符号化回路１０の入力データを再生する。またこのときこの出力データがイントラ符号化されたものである場合、ヘッダに格納されたイントラ予測モードの情報を復号化してイントラ予測回路２３に伝送するのに対し、この出力データがインター符号化されたものである場合、ヘッダに格納された動きベクトルに関する情報を復号して動き予測・補償回路２４へ転送する。
【００１６】
逆量子化回路２５は、可逆復号化回路２２の出力データを逆量子化処理し、これにより符号化装置１の量子化回路８に入力される変換係数データＤ３を再生する。逆直交変換回路２６は、この逆量子化回路２５から出力される変換係数データを受け、４次の逆直交変換処理を実行し、これにより符号化装置１の直交変換回路７に入力される差分データＤ２を再生する。
【００１７】
加算器２７は、逆直交変換回路２６から出力される差分データＤ２を受け、イントラ符号化において、イントラ予測回路２３で生成される予測画像による予測値を加算して出力するのに対し、インター符号化において、動き予測・補償回路２４から出力される予測画像による予測値を加算して出力する。これにより加算器２７は、符号化装置１における減算回路４の入力データを再生する。
【００１８】
デブロックフィルタ２８は、この加算器２７の出力データよりブロック歪を除去して出力し、画面並べ替えバッファ２９は、このデブロックフィルタ２８から出力される画像データのフレームをＧＯＰ構造に応じて並べ替えて出力する。ディジタルアナログ変換回路（Ｄ／Ａ）３０は、この画面並べ替えバッファ２９の出力データをディジタルアナログ変換処理して出力する。
【００１９】
フレームメモリ３１は、デブロックフィルタ２８の出力データを参照画像情報として記録して保持する。動き予測・補償回路２４は、インター符号化において、可逆復号化回路２２から通知される動きベクトルの情報によりフレームメモリ３１に保持された参照画像情報を動き補償して予測画像による予測値を生成し、この予測値を加算器２７に出力する。またイントラ予測回路２３は、イントラ符号化において、可逆復号化回路２２から通知されるイントラ予測モードによりフレームメモリ３１に保持された参照画像情報より予測画像による予測値を生成し、この予測値を加算器２７に出力する。
【００２０】
このようなＡＶＣ方式によるインター符号化においては、Multiple Reference Frames
により、図７に示すように、処理対象のフレームＯｒｇに対して、複数の参照フレームＲｅｆの何れかを選択して動き補償できるように設定され、これにより直前のフレームにおいて動き補償のブロックに対応する部位が隠れている場合、さらにはフラッシュ等により直前のフレームで一時的に全体の画素値が変動した場合等にあっても、高い精度により動き補償してデータ圧縮効率を向上する。
【００２１】
また動き補償に係るブロックにおいては、図８（Ａ１）に示すように、１６画素×１６画素によるブロックを基準にして動き補償するようになされているものの、variable MC Block Size によりtree-structured motion compensation がサポートされており、これにより図８（Ａ２）〜（Ａ４）に示すように、１６画素×１６画素によるマクロブロックを水平方向及び又は垂直方向に２分割して、１６画素×８画素、８画素×１６画素、８画素×８画素によるサブマクロブロックによりそれぞれ独立に動きベクトル、参照フレームを設定して動き補償できるように設定されている。また８画素×８画素によるサブマクロブロックについては、図８（Ｂ１）〜（Ｂ４）に示すように、８画素×８画素、８画素×４画素、４画素×８画素、４画素×４画素によるサブマクロブロックにさらに分割して、それぞれ独立に動きベクトル、参照フレームを設定して動き補償できるように設定されている。
【００２２】
また動き補償においては、６タップのＦＩＲフィルタを用いて１／４画素精度により動き補償できるように設定されている。これにより図９において、符号Ａにより１画素精度の画素値、符号ｂ〜ｄにより１／２画素精度の画素値、符号ｅ１〜ｅ３により１／４画素精度の画素値を示すように、動き予測・補償回路６は、始めに、６タップのＦＩＲフィルタの各タップ入力を値１、−５、２０、２０、−５、１により重み付けして次式の演算処理を実行することにより、水平方向又は垂直方向の連続する画素間に１／２画素精度による画素値ｂ又はｄを計算する。
【００２３】
【数１】
2006100871.tif 000003
【００２４】
またこのようにして計算した１／２画素精度による画素値ｂ又はｄを用いて、６タップのＦＩＲフィルタの各タップ入力を値１、−５、２０、２０、−５、１により重み付けして次式の演算処理を実行することにより、水平方向及び垂直方向の連続する画素間の１／２画素精度による画素値ｃを計算する。
【００２５】
【数２】
2006100871.tif 000004
【００２６】
またこのようにして計算した１／２画素精度による画素値ｂ〜ｄを用いて、直線補間による次式の演算処理を実行することにより、１／４画素精度による画素値ｅ１〜ｅ３を計算する。なおこの（１）式及び（２）式の重み付け加算に係る正規化の処理においては、垂直方向及び水平方向の全ての補間処理が完了して実行される。
【００２７】
【数３】
2006100871.tif 000005
【００２８】
このような輝度信号に対する動き補償の処理に対して、色差信号に対する動き補償は、線型補間により実行される。すなわち図１０に示すように、画素ピッチｓによる隣接画素Ａ〜Ｄに対して、水平方向及び垂直方向にそれぞれ内分比ｄx 、ｓ−ｄx 及びｄy 、ｓ−ｄy に係るサンプリング点に設定される画素値νは、次式により表される。
【００２９】
【数４】
2006100871.tif 000006
【００３０】
ＡＶＣでは、このようなインター予測に係る符号化の情報である動きベクトルの情報について、連続するマクロブロック、サブマクロブロック間の相関を有効に利用してデータ伝送量を低減する。すなわちＡＶＣ符号化においては、１つのマクロブロックを複数のサブマクロブロックに分割してそれぞれ動き補償することも可能であることにより、動きベクトルの伝送に供する符号量が増大する。このためブロック毎にそれぞれ水平方向成分及び垂直方向成分についてメディアン予測により予測動きベクトルpmv を生成し、この予測動きベクトルpmv と実際の動きベクトルmvとの間で次式により表される演算処理による計算される差分値の動きベクトル情報ＭＶＤ(Motion Vector Data)を符号化して伝送する。
【００３１】
【数５】
2006100871.tif 000007
【００３２】
但し、図１１（Ａ）に示すように、動きベクトルmvに係るブロックが、１つのマクロブロックを水平方向に２分割して形成される２つのサブマクロブロックうちの右側のサブマクロブロックＣの場合であって、予測動きベクトルmvの検出に係る参照フレームrefIdxE が、残る左側に隣接するサブマクロブロックＡの参照フレームrefIdxA と等しい場合、次式により示すように、この左側に隣接するサブマクロブロックＡで検出された動きベクトルmvA を予測動きベクトルpmv に設定する。
【００３３】
【数６】
2006100871.tif 000008
【００３４】
またこれとは逆に、動きベクトルmvに係るブロックが、左側のサブマクロブロックＡの場合であって、予測動きベクトルmvの検出に係る参照フレームrefIdxE が、残る右側に隣接するサブマクロブロックＣの参照フレームrefIdxC と等しい場合、次式により示すように、この右側に隣接するサブマクロブロックＣで検出された動きベクトルmvC を予測動きベクトルpmv に設定する。
【００３５】
【数７】
2006100871.tif 000009
【００３６】
また図１１（Ｂ）に示すように、動きベクトルmvに係るブロックが、１つのマクロブロックを垂直方向に２分割して形成される２つのサブマクロブロックうちの上側のサブマクロブロックＣの場合であって、予測動きベクトルmvの検出に係る参照フレームrefIdxE が、残る下側に隣接するサブマクロブロックＢの参照フレームrefIdxA と等しい場合、次式により示すように、この下側に隣接するサブマクロブロックＢで検出された動きベクトルmvB を予測動きベクトルpmv に設定する。
【００３７】
【数８】
2006100871.tif 000010
【００３８】
またこれとは逆に、動きベクトルmvに係るブロックが、下側のサブマクロブロックＢの場合であって、予測動きベクトルmvの検出に係る参照フレームrefIdxE が、残る上側に隣接するサブマクロブロックＡの参照フレームrefIdxA と等しい場合、次式により示すように、この下側に隣接するサブマクロブロックＡで検出された動きベクトルmvA を予測動きベクトルpmv に設定する。
【００３９】
【数９】
2006100871.tif 000011
【００４０】
またこれら以外の場合にあっては、図１２（Ａ）に示すように、動き補正に係るブロックＥに対して、隣接するブロックで検出される動きベクトルにより予測動きベクトルpmv
を生成する。なおここでこの隣接するブロックは、ラスタ走査順序による水平方向の走査開始側に隣接するブロックＡ、ラスタ走査の順序により垂直方向の走査開始側に隣接するブロックＢ、このブロックの左右のブロックＣ、Ｄである。なおこれら隣接するブロックによる予測動きベクトル値pmv の設定は、図１２（Ｂ）に示すように、この隣接するブロックがサブマクロブロックの場合、さらには処理対象のブロックがサブマクロブロックの場合であっても適用される。
【００４１】
具体的に、各隣接ブロックの検出に係る参照フレームインデックスrefIdxA 、refIdxB、refIdxC の値により、動き補正に係るブロックＥとの間で参照フレームが一致する隣接ブロックが存在する場合、次式により、この参照フレームが一致する隣接ブロック（N=Aor B or C ）による動きベクトルmvN を予測動きベクトルpmv に設定する。
【００４２】
【数１０】
2006100871.tif 000012
【００４３】
またこれ以外の場合には、垂直方向及び水平方向の各成分について、次式により、メディアンフィルタによる処理結果による成分を予測動きベクトルpmv の各成分に設定する。
【００４４】
【数１１】
2006100871.tif 000013
【００４５】
但し、垂直方向に隣接するブロックＢ、又はこのブロックＢに続くブロックＣの何れかが有意でない場合であって、水平方向に隣接するブロックＡが有意である場合、これら垂直方向に係る隣接ブロックＢ及びＣの動きベクトルmv及び参照フレームインデックスrefIdxは、次式により示すように、ブロックＡによる動きベクトルmvA 及び参照フレームインデックスrefIdxA が代用される。
【００４６】
【数１２】
2006100871.tif 000014
【００４７】
さらにＡＶＣでは、Ｂピクチャにおいて、テンポラル（時間）ダイレクトモードと、スペーシャル（空間）ダイレクトモードとによるダイレクトモードが設けられており、このダイレクトモードでは動きベクトルに関する情報の伝送を中止して符号化効率を向上する。
【００４８】
これによりスペーシャルダイレクトモードでは、予測動きベクトルpmv を動きベクトルに設定して復号化処理を実行する。これに対してテンポラルダイレクトモードは、動きが線形であると仮定して、図１３に示すように、符号化処理を完了した予測フレームＬ１の対応するブロック（Ｃｏ−Ｌｏｃａｔｅｄ  Ｂｌｏｃｋ）の動きベクトルmvcol を用いた線型補間により、処理対象のＢピクチャに係る動きベクトルＭＶl0及びＭＶl1を作成する。なお、ＡＶＣ画像圧縮情報においては、これらピクチャＬ０、Ｌ１との間の時間情報に係るパラメータＴＤが存在しないことにより、これに代えてPOC (Picture Order Count) が用いられる。
【００４９】
ＡＶＣは、これらイントラ及びインター予測に係る予測モードに関して、ＡＶＣに係るＪｏｉｎｔ  Ｍｏｄｅｌ（ＡＶＣ参照符号化方式）により、マルチパスエンコードを前提としたＨｉｇｈ  Ｃｏｍｐｌｅｘｉｔｙ  Ｍｏｄｅと、１パスエンコードを前提としたＬｏｗ  Ｃｏｍｐｌｅｘｉｔｙ  Ｍｏｄｅとが定義されており、これらの定義に従って最適モードを選択して符号化処理を実行する。またこれらのモードのうち、Ｌｏｗ  Ｃｏｍｐｌｅｘｉｔｙ  Ｍｏｄｅでは、符号化効率を示すコスト関数を次式により定義し、このコスト関数により得られるコスト値Ｃｏｓｔ（Ｍｏｄｅ）の比較により最適モードを検出する。
【００５０】
【数１３】
2006100871.tif 000015
【００５１】
ここでＳＡ（Ｔ）Ｄは、原画像と予測画像との誤差値であり、これら原画像と予測画像との間の、画素値差分値の絶対値誤差和が適用される。またＳＡ（Ｔ）Ｄ０は、誤差値ＳＡ（Ｔ）Ｄに与えられるオフセット値であり、ヘッダビット、モード判定の際の重みとなるコストによるものであり、動きベクトル等の付加的な情報の伝送に供するデータ量が示される。
【００５２】
具体的に絶対値誤差和ＳＡＤは、各マクロブロックについて、次式により示され、それぞれ各予測モードＭｏｄｅにおける原画像と予測画像の差分値が適用される。
【００５３】
【数１４】
2006100871.tif 000016
【００５４】
なおここでこの（１４）式による絶対値誤差和ＳＡＤに代えて、次式による得られる差分加算値をＳＡＴＤ（Ｍode ）を用いてもよい。
【００５５】
【数１５】
2006100871.tif 000017
【００５６】
なおＨａｄａｍａｒｄ（）は、次式により示すように、対象の行列にアダマール変換行列を掛けるアダマール変換操作である。なおアダマール変換行列は、（１７）式により表され、ＨTは、アダマール変換行列の転置行列である。
【００５７】
【数１６】
2006100871.tif 000018
【００５８】
【数１７】
2006100871.tif 000019
【００５９】
またオフセット値ＳＡ（Ｔ）Ｄ０は、前方向予測モードにおいては、次式により示される。なおここでＱＰ０（ＱＰ）は、量子化パラメータＱＰを量子化スケールに変換する関数であり、ＭＶＤＦＷは、前方向予測に係る動きベクトルであり、Bit to code は、この動きベクトルに係るビットストリーム上の符号量である。
【００６０】
【数１８】
2006100871.tif 000020
【００６１】
またオフセット値ＳＡ（Ｔ）Ｄ０は、後方向予測モードにおいては、次式により表される。なおここでＭＶＤＢＷは、後方向予測に係る動きベクトルである。
【００６２】
【数１９】
2006100871.tif 000021
【００６３】
またオフセット値ＳＡ（Ｔ）Ｄ０は、双方向予測モードにおいては、次式により表される。なおここでBit to code forward Blk size、Bit to code backward Blk size は、それぞれ前方向予測及び後方向予測に係る動き補償ブロックに関する情報の伝送に必要なビットストリーム上における符号量である。
【００６４】
【数２０】
2006100871.tif 000022
【００６５】
またダイレクトモードにおいては、オフセット値ＳＡ（Ｔ）Ｄ０は、次式により求められる。
【００６６】
【数２１】
2006100871.tif 000023
【００６７】
またイントラ４×４予測モードでは、オフセット値ＳＡ（Ｔ）Ｄ０は、次式により求められる。
【００６８】
【数２２】
2006100871.tif 000024
【００６９】
因みに、このコスト関数にあっては、動きベクトルの探索にも適用され、次式により示すように、コスト値Ｃｏｓｔを最小にする動きベクトルが検出される。
【００７０】
【数２３】
2006100871.tif 000025
【００７１】
これらによりＬｏｗ  Ｃｏｍｐｌｅｘｉｔｙ  Ｍｏｄｅにおいて、最適モードを検出する場合、符号化装置１では、イントラ予測回路５及び動き予測・補償回路６において、輝度信号を用いて、それぞれイントラ符号化及びインター符号化の全ての予測モードのコスト値Ｃｏｓｔを計算し、このコスト値Ｃｏｓｔの最も小さな予測モードを選択して輝度信号の最適モードを検出する。またこれによりイントラ符号化が選択された場合、色差信号について、各イントラ予測モードのコスト値を計算し、この計算結果の比較により最も値の小さなコスト値によるイントラ予測モードを色差信号の最適モードに設定する。なお輝度信号によるコスト値の判定によりインター予測により符号化処理する場合、色差信号は、輝度信号による動き補償ブロック、動きベクトル、参照フレームにより動き補償される。これらによりＡＶＣでは、複数のイントラ予測モード、複数のインター予測モードから最適モードをマクロブロック毎に検出し、この最適モードにより画像データを処理して画像データを効率良く符号化処理する。
【００７２】
このようなコスト関数による予測モードの選択に関しては、例えば特開２００３−２３０１４９号公報等に種々の工夫が開示されている。
【００７３】
ところでインター符号化に係る最適モードの検出においては、上述した４×４予測モード、１６×１６予測モードの全てに対して、６タップのＦＩＲフィルタにより動き補償してそれぞれコスト値を計算することが必要になり、これにより最適モードの判定に膨大な演算処理を要する問題がある。
【特許文献１】特開２００３−２３０１４９号公報
【発明の開示】
【発明が解決しようとする課題】
【００７４】
本発明は以上の点を考慮してなされたもので、コスト関数により最適モードを検出して画像データを符号化処理する場合に、簡易な処理により最適モードを検出することができる符号化装置、符号化方法、符号化方法のプログラム及び符号化方法のプログラムを記録した記録媒体を提案しようとするものである。
【課題を解決するための手段】
【００７５】
かかる課題を解決するため請求項１の発明においては、符号化効率を示すコスト関数によるコスト値の比較により、複数のイントラ予測モード及び複数のインター予測モードから符号化処理に供する最適モードをマクロブロック毎に検出し、前記最適モードにより画像データを符号化処理する符号化装置に適用して、前記インター予測モード毎に、整数画素精度により動きベクトルを検出し、前記動きベクトルによる粗の動き補償位置の前記コスト値を計算する粗動き予測回路と、前記粗の動き補償位置によるコスト値に基づいて、前記複数のインター予測モードにおける最適モードを検出するインターモード判定回路と、前記インターモード判定回路により検出される最適モードについて、１画素以下の精度により動き補償して前記コスト値を計算する微動き予測回路と、前記微動き予測回路によるコスト値と、前記複数のイントラ予測モードによるコスト値との比較により前記符号化処理に供する最適モードを検出するイントラ・インターモード判定回路とを備えるようにする。
【００７６】
また請求項１７の発明においては、符号化効率を示すコスト関数によるコスト値の比較により、複数のイントラ予測モード及び複数のインター予測モードから符号化処理に供する最適モードをマクロブロック毎に検出し、前記最適モードにより画像データを符号化処理する符号化方法に適用して、前記インター予測モード毎に、整数画素精度により動きベクトルを検出し、前記動きベクトルによる粗の動き補償位置の前記コスト値を計算する粗コスト値計算ステップと、前記粗の動き補償位置によるコスト値に基づいて、前記複数のインター予測モードにおける最適モードを検出するインターモードの判定ステップと、前記インターモードの判定ステップにより検出される最適モードについて、１画素以下の精度により動き補償して前記コスト値を計算する微コスト値計算ステップと、前記微コスト値計算ステップによるコスト値と、前記複数のイントラ予測モードによるコスト値との比較により前記符号化処理に供する最適モードを検出するイントラ・インターモード判定のステップとを有するようにする。
【００７７】
また請求項１８の発明においては、符号化効率を示すコスト関数によるコスト値の比較により、複数のイントラ予測モード、複数のインター予測モードから最適モードをマクロブロック毎に検出する最適モード検出のステップと、前記最適モードにより画像データを符号化処理する符号化処理のステップとを有する符号化方法のプログラムに適用して、前記最適モード検出のステップは、前記インター予測モード毎に、整数画素精度により動きベクトルを検出し、前記動きベクトルによる粗の動き補償位置の前記コスト値を計算する粗コスト値計算ステップと、前記粗の動き補償位置によるコスト値に基づいて、前記複数のインター予測モードにおける最適モードを検出するインターモードの判定ステップと、前記インターモードの判定ステップにより検出される最適モードについて、１画素以下の精度により動き補償して前記コスト値を計算する微コスト値計算ステップと、前記微コスト値計算ステップによるコスト値と、前記複数のイントラ予測モードによるコスト値との比較により前記符号化処理に供する最適モードを検出するイントラ・インターモード判定のステップとを有するようにする。
【００７８】
また請求項１９の発明においては、演算処理手段により実行される符号化方法のプログラムを記録した記録媒体に適用して、前記符号化方法のプログラムは、符号化効率を示すコスト関数によるコスト値の比較により、複数のイントラ予測モード、複数のインター予測モードから最適モードをマクロブロック毎に検出する最適モード検出のステップと、前記最適モードにより画像データを符号化処理する符号化処理のステップとを有し、前記最適モード検出のステップは、前記インター予測モード毎に、整数画素精度により動きベクトルを検出し、前記動きベクトルによる粗の動き補償位置の前記コスト値を計算する粗コスト値計算ステップと、前記粗の動き補償位置によるコスト値に基づいて、前記複数のインター予測モードにおける最適モードを検出するインターモードの判定ステップと、前記インターモードの判定ステップにより検出される最適モードについて、１画素以下の精度により動き補償して前記コスト値を計算する微コスト値計算ステップと、前記微コスト値計算ステップによるコスト値と、前記複数のイントラ予測モードによるコスト値との比較により前記符号化処理に供する最適モードを検出するイントラ・インターモード判定のステップとを有するようにする。
【００７９】
請求項１の構成により、符号化効率を示すコスト関数によるコスト値の比較により、複数のイントラ予測モード及び複数のインター予測モードから符号化処理に供する最適モードをマクロブロック毎に検出し、前記最適モードにより画像データを符号化処理する符号化装置に適用して、前記インター予測モード毎に、整数画素精度により動きベクトルを検出し、前記動きベクトルによる粗の動き補償位置の前記コスト値を計算する粗動き予測回路と、前記粗の動き補償位置によるコスト値に基づいて、前記複数のインター予測モードにおける最適モードを検出するインターモード判定回路と、前記インターモード判定回路により検出される最適モードについて、１画素以下の精度により動き補償して前記コスト値を計算する微動き予測回路と、前記微動き予測回路によるコスト値と、前記複数のイントラ予測モードによるコスト値との比較により前記符号化処理に供する最適モードを検出するイントラ・インターモード判定回路とを備えるようにすれば、全てのインター予測モードについて、１画素以下の精度により動き補償してコスト値を計算しなくても、インター予測モードの最適モードについてのみ１画素以下の精度によりコスト値を計算すればよく、その分、コスト関数により最適モードを検出して画像データを符号化処理する場合に、簡易な処理により最適モードを検出することができる。
【００８０】
これにより請求項１７、請求項１８、請求項１９の構成によれば、コスト関数により最適モードを検出して画像データを符号化処理する場合に、簡易な処理により最適モードを検出することができる符号化方法、符号化方法のプログラム、符号化方法のプログラムを記録した記録媒体を提供することができる。
【発明の効果】
【００８１】
本発明によれば、コスト関数により最適モードを検出して画像データを符号化処理する場合に、簡易な処理により最適モードを検出することができる。
【発明を実施するための最良の形態】
【００８２】
以下、適宜図面を参照しながら本発明の実施例を詳述する。
【実施例１】
【００８３】
（１）実施例の構成
図１は、本発明の実施例に係る符号化装置を示すブロック図である。この符号化装置４０において、図５について上述した符号化装置１と同一の構成は、対応する符号を付して示し、重複した説明は省略する。
【００８４】
これによりこの符号化装置４０において、イントラ予測回路５は、輝度信号の全てのイントラ予測モードについて、マクロブロック単位で、（１３）式について上述したコスト関数によるコスト値Ｃｏｓｔ（Ｍｏｄｅ）を計算する。なおこのようにして計算されるイントラ予測モードは、４×４予測モード、１６×１６予測モードの全てのモードである。イントラ予測回路５は、この計算した全ての予測モードのコスト値をイントラ・インターモード判定回路４５に通知する。またこのコスト値の通知によりこのイントラ・インターモード判定回路４５からイントラ符号化が指示されて最適モードが指示されると、この最適モードにより輝度信号の予測値を生成して減算回路４に出力する。また色差信号について、コスト値の計算、比較により最適モードを検出し、この最適モードにより色差信号の予測値を減算回路４に出力する。
【００８５】
動き予測・補償回路４１は、フレームメモリ１６に保持された参照画像情報による予測フレーム（参照フレーム）を基準にして画面並べ替えバッファ３から出力される画像データの動きベクトルを検出する。またこの検出した動きベクトルによる補償位置によりフレームメモリ１６に保持した参照画像情報を動き補償してコスト値を計算すると共に、このコスト値より最小値を検出することにより、ダイレクトモードを除くインター予測の最適モードを検出する。またインター予測により符号化処理を実行する場合、この最適モードにより予測画像情報を生成し、この予測画像情報による予測値を減算回路４に出力する。
【００８６】
すなわち動き予測・補償回路４１において、粗動き予測回路４２は、全てのインター予測モードについて、整数画素精度により動きベクトルを検出し、この動きベクトルによる粗の動き補償位置のコスト値を計算する。具体的に粗動き予測回路４２は、輝度信号の全てのインター予測モードについて、１画素の精度により動き補正して動きベクトルを検出する。なお全てのインター予測モードは、ダイレクトモードを除く各モードであり、これにより粗動き予測回路４２は、全ての参照フレーム、マクロブロック及びサブマクロブロックによる全ての動き補償ブロック、前方向予測、後方向予測、双方方向予測の全ての予測方向の組み合わせについて、動き予測して整数画素精度の動きベクトルを検出する。
【００８７】
粗動き予測回路４２は、この整数画素精度による動きベクトルを用いて、マクロブロック単位で、全てのインター予測モードについて、（１３）式について上述したコスト関数によるコスト値Ｃｏｓｔ（Ｍｏｄｅ）を計算して出力する。なおここでこの場合、コスト値は次式により表される。なお以下において、この粗の動き補償位置によるコスト値を、適宜、粗のコスト値と呼ぶ。
【００８８】
【数２４】
2006100871.tif 000026
【００８９】
ここでMV intBit(Mode) は、図１１及び図１２について上述した予測動きベクトルpmv
により動きベクトルの情報の伝送に供する符号量であり、この符号量の計算には、周辺ブロックの動きベクトル値から予測動きベクトルpmv を生成することが必要になる。この場合に図１２における隣接ブロックＡ〜Ｃがマクロブロックである場合、これら隣接ブロックＡ〜Ｃでは最適モードが検出されて既に符号化処理されていることにより、予測動きベクトルpmv を設定することができる。
【００９０】
しかしながらこれら隣接ブロックＡ〜Ｃが、処理対象のブロックＥと同一のマクロブロックに属している場合、ここではこれら隣接ブロックＡ〜Ｃにあっては未だ最適モードを判定していないことにより動きベクトルが未だ確定していないことになる。これによりこの場合、処理対象のブロックにおいて、粗動き予測回路４２により整数画素精度で検出される動きベクトル値mv intX を予測動きベクトルpmv int に設定し、これにより擬似的な予測動きベクトルpmv を生成してコスト値Ｃｏｓｔ（Ｍｏｄｅ）を計算する。
【００９１】
さらに粗動き予測回路４２は、このような粗の動き補償位置による粗のコスト値と共に、粗の動き補償位置の周囲、この粗の動き補償位置に係る動き補償精度による周囲の補償位置について、同様にしてコスト値を検出して出力する。具体的にこの実施例においては、この動き補償精度が１画素であることにより、粗動き予測回路４２は、粗の動き補償位置に係る動きベクトルのＸ方向及びＹ方向成分について、値を±１画素だけ変化させて、同様に動き補償し、コスト値Ｃｏｓｔ（Ｍｏｄｅ）を計算する。
【００９２】
インターモード判定回路４３は、この粗動き予測回路４２で検出される粗の動き補償位置によるコスト値に基づいて、１画素以下の精度によりコスト値が最小値となる動き補償位置におけるコスト値の見込み値を計算し、複数のインター予測モードにおけるこの見込み値の比較により、複数のインター予測モードにおける最適モードを検出する。すなわち図２に示すように、このように粗の動き補償位置Ｅ及びその周囲の補償位置Ａ〜Ｄ、Ｆ〜Ｉにおけるコスト値Ｃｏｓｔ（Ｍｏｄｅ）をＣｏｓｔ  ｉｎｔ（Ｘ）：Ｘ＝Ａ〜Ｉで表すとして、次式の関係式が成立する場合、１／４画素精度により動き予測した場合のコスト値最小の点は、補償位置Ｂと粗の動き補償位置Ｅとの間に存在すると判断される。
【００９３】
【数２５】
2006100871.tif 000027
【００９４】
これによりインターモード判定回路４３は、このような粗の動き補償位置によるコスト値と周囲の補償位置によるコスト値とから、コスト値の見込み値を計算する。具体的にインターモード判定回路４３は、粗の動き補償位置Ｅと、粗の動き補償位置Ｅを間に挟んで対向する２つの周囲の補償位置とを結ぶ方向について、極小点で傾きの符号が切り換わる一次関数によりコスト値の変化を表してコスト値の極小値を検出し、このコスト値の極小値に基づいて見込み値を検出する。
【００９５】
すなわちこの場合、粗の動き補償位置Ｅを通る水平方向、垂直方向、斜め方向の４方向について、このような粗の動き補償位置Ｅと、粗の動き補償位置Ｅを間に挟んで対向する２つの周囲の補償位置とを結ぶ方向を設定できる。ここでは、図３に示すように、これら４方向の各方向について、コスト値最小の点を一次関数による直線近似により検出する。すなわちインターモード判定回路４３は、例えば垂直方向については、周囲の補償位置Ｂのコスト値Ｃｏｓｔｉｎｔ（Ｂ）と対向する補償位置Ｈのコスト値Ｃｏｓｔ  ｉｎｔ（Ｈ）とを比較して値の大きなコスト値を選択することにより、コスト最小の点が、粗の動き補償位置Ｅの点Ｂ側に存在するか、粗の動き補償位置Ｅの点Ｈ側に存在するかを判定する。
【００９６】
またこのようにして選択した値の大きな側のコスト値Ｃｏｓｔ  ｉｎｔ（Ｈ）と、粗の動き補償位置Ｅのコスト値Ｃｏｓｔ  ｉｎｔ（Ｅ）とを結ぶ直線Ｌ１の傾きα１を検出する。インターモード判定回路４３は、この傾きα１の符号を切り換えた傾きα２（＝−α１）により値の小さな側のコスト値Ｃｏｓｔ  ｉｎｔ（Ｂ）を通る直線Ｌ２と、コスト値Ｃｏｓｔ  ｉｎｔ（Ｈ）とコスト値Ｃｏｓｔ  ｉｎｔ（Ｅ）とを通る直線Ｌ１との交点により、この垂直方向についてのコスト値の最小値Ｃｏｓｔ  ｉｎｔ（ＢＨ）を検出する。
【００９７】
なおこのようなこのようなコスト値の最小値の検出にあっては、一次関数を用いた直線近似による方法に代えて、例えば２次関数を用いた近似により検出する場合等、種々の極小値検出手法を広く適用することができる。なお２次関数の近似により検出する場合、これら３つの点Ｂ、Ｅ、Ｈの連続する方向をｘ、これら３つの点Ｂ、Ｅ、Ｈのコスト値をｙとおいて、これらｘ及びｙを次式の関係式に代入して得られる３次の連立方程式を解いて係数ａ、ｂ、ｃを求めて２次曲線式を得、この２次曲線式から極小値を検出することにより実行することができる。
【００９８】
【数２６】
2006100871.tif 000028
【００９９】
インターモード判定回路４３は、このようにして粗の動き補償位置Ｅを通る水平方向、垂直方向、斜め方向の４方向について、それぞれコスト値の最小値Ｃｏｓｔ  ｉｎｔ（ＤＦ）、Ｃｏｓｔ  ｉｎｔ（ＢＨ）、Ｃｏｓｔ  ｉｎｔ（ＡＩ）、Ｃｏｓｔ  ｉｎｔ（ＣＧ）を求め、次式の演算処理により、この４つのコスト値の最小値からさらに最小値を検出することにより、当該モードに対するコスト値の見込み値Ｃｏｓｔ  ｅｓｔ（Ｍｏｄｅ）を検出する。なおこのような４方向によるコスト値最小値の処理による見込み値Ｃｏｓｔ  ｅｓｔ（Ｍｏｄｅ）の計算に代えて、３方向によりコスト値最小値を処理して見込み値Ｃｏｓｔ  ｅｓｔ（Ｍｏｄｅ）を計算するようにしてもよい。なおこの場合、例えば垂直方向及び水平方向においてコスト値が最小値となる位置に応じて、２つの斜め方向の何れかの方向についてのみコスト値の最小値を検出すること等が考えられる。また実用上十分な精度を確保できる場合には、粗の動き補償位置と、対向する２つの周囲の補償位置とを結ぶ直線が直交する関係にある組み合わせだけで見込み値を検出するようにしてもよい。
【０１００】
【数２７】
2006100871.tif 000029
【０１０１】
インターモード判定回路４３は、このようにして得られる各予測モードに係るコスト値の見込み値Ｃｏｓｔ  ｅｓｔ（Ｍｏｄｅ）の比較により、最も見込み値Ｃｏｓｔ  ｅｓｔ（Ｍｏｄｅ）の小さな予測モードを判定し、イントラ予測に係る最適モードを検出する。なおこの最適モードの検出にあっては、図７について上述した参照フレーム、図８について上述した大きさの異なる全ての動き補償ブロック、予測方向の組み合わせによるマクロブロック毎の最適モードである。インターモード判定回路４３は、この判定結果を微動き予測回路４４に通知する。
【０１０２】
微動き予測回路４４は、この通知に係る予測モードについてのみ、図９について上述した１／４画素精度による動き予測の処理を実行し、（１３）式により真のコスト値を計算する。またこのようにして検出される予測モードにより双方向予測してダイレクイトモードを適用可能な場合には、１／４画素精度による動き予測の処理を実行し、（１３）式によりコスト値を計算する。微動き予測回路４４は、このようにして計算したコスト値をイントラ・インターモード判定回路４５に通知する。またこのイントラ・インターモード判定回路４５からインター予測による符号化が指示されると、この指示による最適モードにより輝度信号及び色差信号の予測値を生成して減算回路４に出力する。
【０１０３】
イントラ・インターモード判定回路４５は、次式の演算処理を実行することにより、イントラ予測回路５、動き予測・補償回路４１から出力される各種のコスト値より最も値の小さなコスト値を選択して最適モードを検出し、イントラ予測、インター予測による符号化を判定する。また判定結果によりインター予測により符号化処理する場合には、対応する最適モードを動き予測・補償回路４１の微動き予測回路４４に通知し、この微動き予測回路４４で検出された最適モードによる予測値の出力、またはダイレクトモードによる予測値の出力を指示する。これに対してイントラ予測により符号化処理する場合には、イントラ予測に係る最適モードをイントラ予測回路５に通知して予測値の出力を指示する。
【０１０４】
【数２８】
2006100871.tif 000030
【０１０５】
しかして図４は、これら最適モードの検出に係る符号化装置４０の一連の処理手順を示すフローチャートである。符号化装置４０は、マクロブロック毎にこの処理手順を実行してステップＳＰ１からステップＳＰ２に移り、候補となるインター予測モードの全てに対して整数画素精度による動き予測を実行し、続くステップＳＰ３において、ステップＳＰ１の動き予測による整数画素精度による動きベクトルを用いてそれぞれコスト値を計算する。また続くステップＳＰ４において、このコスト値を用いたコスト値の見込み値を上述したようにして算出し、続くステップＳＰ５において、このステップＳＰ４の算出値より最小値を検出して最適インター予測モードを検出する。また続くステップＳＰ６において、この最適インター予測モードにより実際のＦＩＲフィルタを用いた補間演算処理によりコスト値を計算する。
【０１０６】
また続くステップＳＰ７において、ダイレクトモード、イントラ４×４予測モード、イントラ１６×１６予測モードについてそれぞれ全てのモードでコスト値を計算し、続くステップＳＰ８において、ステップＳＰ６、ＳＰ７の計算によるコスト値の比較により最適モードを選択した後、ステップＳＰ９に移って一連の処理を終了する。
【０１０７】
（２）実施例の動作
以上の構成において、この符号化装置４０（図１）において、順次入力されるビデオ信号ＳＶは、アナログディジタル変換回路２により画像データＤ１に変換され、この画像データＤ１が画面並べ替えバッファ３により処理の順序に並べ替えられて減算回路４に入力される。ここで画像データＤ１は、イントラ予測、インター予測による予測値との間で減算されて減算データＤ２が生成され、この減算データＤ２が直交変換回路７、量子化回路８、可逆符号化回路１０で順次処理されて符号化データＤ４に変換され、この符号化データＤ４が例えば記録系により記録媒体に記録される。また量子化回路８の出力データが、画像データに復号されてフレームメモリ１６に参照画像として記録され、この参照画像より動き予測・補償回路４１、イントラ予測回路５でインター予測、イントラ予測の予測値が生成される。
【０１０８】
これら一連の処理において、画像データＤ１は、動き予測・補償回路４１、イントラ予測回路５において、それぞれインター予測、イントラ予測の各予測モードについて、符号化効率を示すコスト関数によりコスト値が求められ、イントラ予測については、各予測モードにおけるコスト値の比較により、最も符号化処理に適した最適モードが検出される。またインター予測についても、同様にコスト値の比較により最適モードが検出され、これら最適モードより、イントラ・インターモード判定回路４５において、最終的に最適な予測モードが検出される。これにより符号化装置４０では、この最適な予測モードによりイントラ予測、インター予測の何れの予測方式により符号化処理するかが決定され、イントラ予測による場合には、イントラ予測回路５で最適モードによる予測値が生成されて減算回路４に出力される。またインター予測による場合には、動き予測・補償回路４１で最適モードによる予測値が生成されて減算回路４に出力される。これらにより符号化装置４０では、符号化効率を示すコスト関数によるコスト値の比較により、複数のイントラ予測モード、複数のインター予測モードから最適モードがマクロブロック毎に検出され、この最適モードにより画像データＤ１を順次符号化処理する。
【０１０９】
しかしてこれらの処理において、インター予測モードの最適モードを検出する場合に、本来のコスト値を各予測モード毎に計算していたのでは、１／４画素精度の動き補償に係る６タップのＦＩＲフィルタを用いた演算処理が必要なことにより、著しく演算処理が煩雑になる。
【０１１０】
このためこの実施例においては、このようなＦＩＲフィルタを用いた演算処理を必要としない整数画素精度により各予測モードのコスト値が計算され、このコスト値に基づいてインター予測モードの最適モードが検出される。またこの最適モードについて、１画素以下の精度によるコスト値を計算してイントラ予測モードとインター予測モードとの最適モードが検出される。これによりこの実施例においては、インター予測の最適モードについてだけ、ＦＩＲフィルタを用いて演算処理を実行するだけで複数のインター予測モードと複数のイントラ予測モードとの最適モードを検出することができ、その分、コスト関数により最適モードを検出して画像データを符号化処理する場合に、簡易な処理により最適モードを検出することができる。
【０１１１】
すなわちこの符号化装置４０では、粗動き予測回路４２において、１画素の動きベクトル検出精度により動きベクトルを検出し、この動きベクトルによりコスト値がインター予測モードの各予測モード毎に検出される。またインターモード判定回路４３において、この動きベクトルに係る粗の動き補償位置によるコスト値に基づいて、複数のインター予測モードにおける最適モードが検出され、微動き予測回路４４において、この最適モードについて、１画素以下の精度により動き補償してコスト値が計算される。またこのインター予測によるコスト値と複数のイントラ予測モードによるコスト値とがイントラ・インターモード判定回路４５により判定されて最適モードが検出され、これらにより１画素以上の精度によるコスト値に基づいてインター予測モードの最適モードが検出され、この最適モードによる１画素以下の精度によるコスト値によりイントラ予測モードとインター予測モードとの最適モードが検出される。
【０１１２】
具体的にこれらの処理によりインター予測モードについては、大きさの異なる複数のブロックサイズ、異なる参照フレーム、前方向予測、後方向予測及び双方向予測の組み合わせによる符号化処理から最適なインター予測モードが検出され、この最適なインター予測モードのコスト値からイントラ予測モードとインター予測モードとの最適モードが検出される。
【０１１３】
より具体的に、この符号化装置４０では、インターモード判定回路４３において、インター予測モード毎に、粗の動き補償位置によるコスト値に基づいて、１画素以下の精度によりコスト値が最小値となる動き補償位置におけるコスト値の見込み値が計算され、またこの見込み値の比較により、複数のインター予測モードにおける最適モードが検出される。これによりこの実施例においては、１画素以上の画素精度によるコスト値から１画素以下の動き補償精度によるコスト値を検出する場合に、実用上十分な精度を確保できるようにこの見込み値の算出に供する演算処理を種々に設定して簡易な処理によりインター予測モードの最適モードを検出することができ、その分、全体としての演算処理を簡略化することができる。
【０１１４】
またこのように１画素以上の画素精度によるコスト値から１画素以下の動き補償精度によるコスト値を検出する場合に、この実施例では粗の動き予測回路４２により、粗の動き補償位置によるコスト値と共に、この粗の動き補償位置の周囲の補償位置でコスト値を計算し、インターモード判定回路４３により、この粗動き補償位置によるコスト値と、周囲の補償位置のコスト値とから見込み値を計算するように構成され、これにより動き補償位置によるコスト値の変化を反映させて見込み値を検出して、本来のコスト値により最適モードとして検出されるインター予測モードを正確に検出することができる。
【０１１５】
またインターモード判定回路４３において、粗の動き補償位置と、粗の動き補償位置を間に挟んで対向する２つの周囲の補償位置とを結ぶ方向について、極小点で傾きの符号が切り換わる一次関数によりコスト値の変化を表してコスト値の極小値を検出し、このコスト値の極小値に基づいて見込み値を検出することにより、簡易な処理により実用上十分な精度で最適モードを検出することができる。
【０１１６】
またこのような一次関数を用いた見込み値の検出に代えて、二次関数を用いて見込み値を検出するようにすれば、さらに一段と高い精度により最適モードを検出することができる。
【０１１７】
またこのような対向する２つの周囲の補償位置を切り換えて、極小値を複数検出し、この複数の極小値の最小値より、見込み値を検出することによっても、一段と高い精度により最適モードを検出することができる。
【０１１８】
また実用上十分な精度を確保できる場合には、例えばこのような粗の動き補償位置と、対向する２つの周囲の補償位置とを結ぶ直線が直交する関係にある組み合わせ間で対向する２つの周囲の補償位置を切り換えて、極小値を複数検出するようにすれば、一段と簡易な処理により最適モードを検出することができる。
【０１１９】
またこのようにして１画素精度によりコスト値を計算する場合に、この実施例では、隣接する動き補償ブロックと処理対象の動き補償ブロックとが同一のマクロブロックである場合、粗の動き補償位置に係る動きベクトルを予測動きベクトルに設定してコスト値を計算することにより、一段と処理を簡略化することができる。
【０１２０】
すなわちこの場合、既に符号化処理された隣接する動き補償ブロックの動きベクトルにより予測動きベクトルを設定し、この予測動きベクトルを基準にして動きベクトルの情報を伝送することにより、本来ならば、この隣接する動き補償ブロックに設定が予測される全ての動きベクトルについて予測動きベクトルを設定してコスト値を計算することが必要になる。しかしながらこのようにすると、コスト値の計算回数が指数関数的に増大することになる。これによりこの場合、粗の動き補償位置に係る動きベクトルを予測動きベクトルに設定してコスト値を計算することにより、実用上十分な精度を確保して一段と処理を簡略化することができる。
【０１２１】
（３）実施例の効果
以上の構成によれば、整数画素精度によるコスト値に基づいてインター予測モードの最適モードを検出し、この最適モードについて１画素以下の精度によるコスト値を計算してイントラ予測モードとインター予測モードとの最適モードを検出することにより、コスト関数により最適モードを検出して画像データを符号化処理する場合に、簡易な処理により最適モードを検出することができる。
【０１２２】
これによりこれらインター予測モードが、大きさの異なる複数のブロックサイズにより動き補償するインター予測符号化処理である場合、異なる参照フレームを用いて動き補償するインター予測符号化処理である場合、さらには前方向予測、後方向予測及び双方向予測によるインター予測符号化処理である場合に、簡易な処理により最適モードを検出することができる。
【０１２３】
またこのとき、インター予測モード毎に、粗の動き補償位置によるコスト値に基づいて、１画素以下の精度によりコスト値が最小値となる動き補償位置におけるコスト値の見込み値を計算し、複数のインター予測モードにおける見込み値の比較により、複数のインター予測モードにおける最適モードを検出することにより、この見込み値の算出に供する演算処理を種々に設定して簡易な処理によりインター予測モードの最適モードを検出することができ、その分、全体としての演算処理を簡略化することができる。
【０１２４】
より具体的には、粗の動き補償位置によるコスト値と共に、粗の動き補償位置の周囲の補償位置でコスト値を計算し、この粗の動き補償位置によるコスト値と、周囲の補償位置のコスト値とから見込み値を計算することにより、動き補償位置によるコスト値の変化を反映させて見込み値を検出して、本来のコスト値により最適モードとして検出されるインター予測モードを正確に検出することができる。
【０１２５】
またインターモード判定回路４３において、粗の動き補償位置と、粗の動き補償位置を間に挟んで対向する２つの周囲の補償位置とを結ぶ方向について、極小点で傾きの符号が切り換わる一次関数によりコスト値の変化を表してコスト値の極小値を検出し、このコスト値の極小値に基づいて見込み値を検出することにより、簡易な処理により実用上十分な精度で最適モードを検出することができる。
【０１２６】
また一次関数に代えて、二次関数を用いて見込み値を検出することにより、一段と高い精度により最適モードを検出することができる。
【０１２７】
またこのような対向する２つの周囲の補償位置を切り換えて、極小値を複数検出し、この複数の極小値の最小値より、見込み値を検出することにより、一段と高い精度により最適モードを検出することができる。
【０１２８】
またこのような切り換えを、粗の動き補償位置と、対向する２つの周囲の補償位置とを結ぶ直線が直交する関係にある組み合わせ間で実行するようにすれば、一段と簡易な処理により最適モードを検出することができる。
【０１２９】
しかしてこのようにして得られる見込み値から最小値でなる見込み値のインター予測モードを検出することにより、簡易な処理により複数のインター予測モードにおける最適モードを検出することができる。
【０１３０】
またこのようなコスト値の計算に供するコスト関数が、原画像と予測画像との誤差値に対して、動きベクトルの伝送に供する符号量を与える関数であり、この動きベクトルの伝送が、既に符号化処理された隣接する動き補償ブロックの動きベクトルにより予測動きベクトルを設定し、この予測動きベクトルを基準にした動きベクトルの伝送である場合に、隣接する動き補償ブロックと処理対象の動き補償ブロックとが同一のマクロブロックである場合、粗動き補償回路で検出される粗の動き補償位置に係る動きベクトルを予測動きベクトルに設定してコスト値を計算することにより、一段と処理を簡略化することができる。
【実施例２】
【０１３１】
なお上述の実施例においては、１画素精度の粗の動き補償位置によりコスト値を計算してインター予測モードの最適モードを検出する場合について述べたが、本発明はこれに限らず、実用上十分な精度を確保できる場合には２画素以上の整数画素精度により粗のコスト値を計算するようにしてもよい。
【０１３２】
また上述の実施例においては、６タップのＦＩＲフィルタを用いて輝度信号を１/４画素精度により動き補償する場合について述べたが、本発明はこれに限らず、種々のタップ数のＦＩＲフィルタにより１画素以下の精度により動き補償する場合、さらには、色差信号を同様に動き補償する場合等広く適用することができる。
【０１３３】
また上述の実施例においては、ＡＶＣにおけるＬｏｗ  Ｃｏｍｐｌｅｘｉｔｙ  Ｍｏｄｅに本発明を適用する場合について述べたが、本発明はこれに限らず、Ｈｉｇｈ  Ｃｏｍｐｌｅｘｉｔｙ  Ｍｏｄｅに適用するようにしてもよい。
【０１３４】
また上述の実施例においては、本発明をＡＶＣによる符号化装置に適用する場合について述べたが、本発明はこれに限らず、符号化効率を示すコスト関数によるコスト値の比較により、複数のイントラ予測モード、複数のインター予測モードから最適モードをマクロブロック毎に検出して画像データを符号化処理する場合に広く適用することができる。
【０１３５】
また上述の実施例においては、本発明をハードウエアの構成に適用する場合について述べたが、本発明はこれに限らず、画像データをソフトウエアにより処理する場合にも適用することができる。なおこのようなソフトウエアに係る符号化処理、復号化処理のプログラムにおいては、例えばインターネット等のネットワークにより提供する場合、光ディスク、磁気ディスク、メモリカード等、種々の記録媒体により提供する場合に、広く適用することができる。
【産業上の利用可能性】
【０１３６】
本発明は、符号化装置、符号化方法、符号化方法のプログラム及び符号化方法のプログラムを記録した記録媒体に関し、動画による撮像結果を記録するビデオカメラ、電子スチルカメラ、監視装置等に適用することができる。
【図面の簡単な説明】
【０１３７】
【図１】本発明の実施例１に係る符号化装置を示すブロック図である。
【図２】見込み値の計算の説明に供する平面図である。
【図３】一次関数による見込み値の計算に供する略線図である。
【図４】図１の符号化装置における最適モード検出の処理手順を示すフローチャートである。
【図５】ＡＶＣ方式の符号化装置を示すブロック図である。
【図６】ＡＶＣ方式の復号化装置を示すブロック図である。
【図７】ＡＶＣ方式の参照フレームの説明に供する略線図である。
【図８】ＡＶＣ方式の動き補償の説明に供する略線図である。
【図９】ＡＶＣ方式の動き補償精度の説明に供する略線図である。
【図１０】色差信号の動き補償の説明に供する略線図である。
【図１１】サブマクロブロックに係る動きベクトルの予測値の説明に供する略線図である。
【図１２】他の例による動きベクトルの予測値の説明に供する略線図である。
【図１３】テンポラルダイレクトモードの説明に供する略線図である。
【符号の説明】
【０１３８】
１、４１……符号化装置、５……イントラ予測回路、６、４１……動き予測・補償回路、４２……粗動き予測回路、４３……インターモード判定回路、４４……微動き予測回路、４５……イントラ・インターモード判定回路
【図１】
2006100871.tif 000031
【図２】
2006100871.tif 000032
【図３】
2006100871.tif 000033
【図４】
2006100871.tif 000034
【図５】
2006100871.tif 000035
【図６】
2006100871.tif 000036
【図７】
2006100871.tif 000037
【図８】
2006100871.tif 000038
【図９】
2006100871.tif 000039
【図１０】
2006100871.tif 000040
【図１１】
2006100871.tif 000041
【図１２】
2006100871.tif 000042
【図１３】
2006100871.tif 000043