(57)【要約】【課題】  本発明は、符号化装置、符号化方法、符号化方法のプログラム及び符号化方法のプログラムを記録した記録媒体に関し、動画による撮像結果を記録するビデオカメラ、電子スチルカメラ、監視装置等に適用して、コスト関数によりイントラ予測モード、インター予測モードから最適モードを選択して画像データを符号化処理する場合に、アクティビティの低い領域における画質劣化を防止する。【解決手段】  本発明は、符号化効率を示すコスト関数によるコスト値の比較により、複数のイントラ予測モード、複数のインター予測モードから最適モードをマクロブロック毎に検出して画像データを符号化処理する場合に、アクティビティＭＢ  ａｃｔによりコスト値を補正して最適モードを検出する。【選択図】        図１
2006094081.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 ）構造に応じて、この画像データＤ１のフレームを並べ替えて出力する。
【０００８】
減算回路４は、この画面並べ替えバッファ３から出力される画像データＤ１を受け、イントラ符号化においては、イントラ予測回路５で生成される予測値との差分データＤ２を生成して出力するのに対し、インター符号化においては、動き予測・補償回路６で生成される予測値との差分データＤ２を生成して出力する。直交変換回路７は、減算回路４の出力データＤ２を入力し、離散コサイン変換、カルーネン・レーベ変換等の直交変換処理を実行し、その処理結果による変換係数データＤ３を出力する。
【０００９】
量子化回路８は、レート制御回路９のレート制御による量子化スケールにより、この変換係数データＤ３を量子化して出力する。可逆符号化回路１０は、この量子化回路８の出力データを可変長符号化、算術符号化等により可逆符号化処理して出力する。また可逆符号化回路１０は、イントラ符号化に係るイントラ予測モードに関する情報、インター符号化に係る動きベクトルに関する情報等をイントラ予測回路５、動き予測・補償回路６から取得し、これらの情報を出力データＤ４のヘッダ情報に設定して出力する。
【００１０】
蓄積バッファ１１は、この可逆符号化回路１０の出力データＤ４を蓄積して続く伝送路の伝送速度により出力する。レート制御回路９は、この蓄積バッファ１１の空き容量の監視により符号化処理による発生符号量を監視すると共に、この監視結果により量子化回路８における量子化スケールを切り換え、これによりこの符号化装置１による発生符号量を制御する。
【００１１】
逆量子化回路１３は、量子化回路８の出力データを逆量子化処理し、これにより量子化回路８の入力データを再生する。逆直交変換回路１４は、逆量子化回路１３の出力データを逆直交変換処理し、これにより直交変換回路７の入力データを再生する。デブロックフィルタ１５は、この逆直交変換回路１４の出力データよりブロック歪を除去して出力する。フレームメモリ１６は、このデブロックフィルタ１５の出力データに、適宜、イントラ予測回路５又は動き予測・補償回路６により生成される予測値を加算して参照画像情報として記録する。
【００１２】
しかして動き予測・補償回路６は、インター符号化において、このフレームメモリ１６に保持された参照画像情報による予測フレームより画面並べ替えバッファ３から出力される画像データの動きベクトルを検出し、またこの検出した動きベクトルによりフレームメモリ１６に保持した参照画像情報を動き補償して予測画像情報を生成し、この予測画像情報による予測値を減算回路４に出力する。
【００１３】
イントラ予測回路５は、イントラ符号化において、フレームメモリ１６に蓄積された参照画像情報に基づいてイントラ予測モードを判定し、この判定結果により参照画像情報から予測画像情報の予測値を生成して減算回路４に出力する。
【００１４】
これらによりこの符号化方式においては、インター符号化とイントラ符号化とでそれぞれインター予測に係る動き補償による差分データＤ２とイントラ予測による差分データＤ２とを生成し、これらの差分データＤ２を直交変換処理、量子化処理、可変長符号化処理して伝送する。
【００１５】
図４は、このようにして符号化処理された符号化データＤ４を復号化処理する復号化装置を示すブロック図である。この復号化装置２０において、蓄積バッファ２１は、伝送路を介して入力される符号化データＤ４を一時蓄積して出力する。可逆復号化回路２２は、この蓄積バッファ２１の出力データを可変長復号化、算術復号化等により復号化処理し、符号化装置１における可逆符号化回路１０の入力データを再生する。またこのときこの出力データがイントラ符号化されたものである場合、ヘッダに格納されたイントラ予測モードの情報を復号化してイントラ予測回路２３に伝送するのに対し、この出力データがインター符号化されたものである場合、ヘッダに格納された動きベクトルに関する情報を復号して動き予測・補償回路２４へ転送する。
【００１６】
逆量子化回路２５は、可逆復号化回路２２の出力データを逆量子化処理し、これにより符号化装置１の量子化回路８に入力される変換係数データＤ３を再生する。逆直交変換回路２６は、この逆量子化回路２５から出力される変換係数データを受け、４次の逆直交変換処理を実行し、これにより符号化装置１の直交変換回路７に入力される差分データＤ２を再生する。
【００１７】
加算器２７は、逆直交変換回路２６から出力される差分データＤ２を受け、イントラ符号化において、イントラ予測回路２３で生成される予測画像による予測値を加算して出力するのに対し、インター符号化において、動き予測・補償回路２４から出力される予測画像による予測値を加算して出力する。これにより加算器２７は、符号化装置１における減算回路４の入力データを再生する。
【００１８】
デブロックフィルタ２８は、この加算器２７の出力データよりブロック歪を除去して出力し、画面並べ替えバッファ２９は、このデブロックフィルタ２８から出力される画像データのフレームをＧＯＰ構造に応じて並べ替えて出力する。ディジタルアナログ変換回路（Ｄ／Ａ）３０は、この画面並べ替えバッファ２９の出力データをディジタルアナログ変換処理して出力する。
【００１９】
フレームメモリ３１は、デブロックフィルタ２８の出力データを参照画像情報として記録して保持する。動き予測・補償回路２４は、インター符号化において、可逆復号化回路２２から通知される動きベクトルの情報によりフレームメモリ３１に保持された参照画像情報を動き補償して予測画像による予測値を生成し、この予測値を加算器２７に出力する。またイントラ予測回路２３は、イントラ符号化において、可逆復号化回路２２から通知されるイントラ予測モードによりフレームメモリ３１に保持された参照画像情報より予測画像による予測値を生成し、この予測値を加算器２７に出力する。
【００２０】
しかしてこのような一連の処理によるＡＶＣの符号化処理においては、図５に示すように、１つのマクロブロックが、輝度信号Ｙでは１６×１６画素により形成されるのに対し、色差信号Ｃｒ、Ｃｂでは８×８画素により形成され、それぞれマクロブロックを単位にして処理される。すなわちこれらマクロブロックは、数字０〜２５により示す４×４画素による小ブロックに分割され、各小ブロック毎に、差分データＤ２が直交変換処理、量子化処理される。
【００２１】
この処理において、色差信号Ｃｒ、Ｃｂは、直交変換処理による係数から直流成分がマクロブロック毎に集められて２×２マトリックスが形成され、この２×２マトリックスが２次のアダマール変換処理の後、量子化処理される。また後述するイントラ１６×１６予測モードによる場合、輝度信号Ｙは、直交変換処理による係数から直流成分がマクロブロック毎に集められて４×４マトリックスが形成され、この４×４マトリックスが４次のアダマール変換処理後、量子化処理される。
【００２２】
しかしてこのような符号化処理に係るイントラ符号化は、輝度信号の処理に関して、イントラ４×４予測モードとイントラ１６×１６予測モードとが用意されている。ここでＡＶＣでは上述したように４×４画素のブロック単位で差分データＤ２を直交変換処理し、イントラ４×４予測モードは、この直交変換処理のブロック単位で、イントラ予測に係る予測値を生成するモードである。これに対してイントラ１６×１６予測モードは、この直交変換処理のブロックの複数個を単位にしてイントラ予測に係る予測値を生成するモードであり、この複数個が水平方向及び垂直方向にそれぞれ４個に設定される。
【００２３】
このうちイントラ４×４予測モードでは、図６に示すように、予測値を生成する４×４画素ａ〜ｐによるブロックに対して、近傍１３個の画素Ａ〜Ｍの一部が予測値の生成に供する予測画素に設定され、この予測画素より予測値が生成される。なおここでこの１３個の画素Ａ〜Ｍは、このブロックの走査開始端側、垂直方向に隣接する４個の画素Ａ〜Ｄと、この４個の画素Ａ〜Ｄの走査終了端側の画素Ｄに続く４個の画素Ｅ〜Ｆと、このブロックの走査開始端側、水平方向に隣接する４個の画素Ｉ〜Ｌと、この水平方向に隣接する４個の画素Ｉ〜Ｌのうちの走査開始端側の画素Ｉの上方に位置する画素Ｍとにより形成される。
【００２４】
イントラ４×４予測モードでは、これら１３個の予測画素Ａ〜Ｍと、予測値の生成に供する４×４個の画素ａ〜ｐとの相対的な関係により、図７及び図８に示すように、モード０〜モード８の予測モードが定義されている。すなわち図６に示すように、例えばモード０及び１では、予測値の生成に使用する１３個の予測画素Ａ〜Ｍのうち、それぞれ垂直方向及び水平方向に隣接する予測画素Ａ〜Ｄ及びＩ〜Ｌにより予測値を生成する。
【００２５】
より具体的には、図９（Ａ）において矢印により示すように、モード０は、垂直方向に隣接する予測画素Ａ〜Ｄより予測値を生成するモードであり、次式により示すように、予測値を生成する４×４個の画素ａ〜ｐのうち、垂直方向に連続する１列目の画素ａ、ｅ、ｉ、ｍは、その上方向の画素Ａが予測画素に設定される。また続く２列目の画素ｂ、ｆ、ｊ、ｎは、その上方向の画素Ｂが予測画素に設定され、続く３列目及び４列目の画素ｃ、ｇ、ｋ、ｏ及びｄ、ｈ、ｌ、ｐは、それぞれ上方の画素Ｃ及びＤが予測画素に設定され、これら予測画素Ａ〜Ｄの画素値がそれぞれ対応する画素ａ〜ｐの予測値に設定される。なおモード０は、このモードにおける予測画素Ａ〜Ｄが有意である場合にのみ適用される。
【００２６】
【数１】
2006094081.tif 000003
【００２７】
また図９（Ｂ）に示すように、モード１は、水平方向に隣接する予測画素Ｉ〜Ｌより予測値を生成するモードであり、次式により示すように、予測値を生成する４×４個の画素ａ〜ｐのうち、水平方向に連続する１ラインの画素ａ〜ｄは、その左方の画素Ｉが予測画素に設定される。また続く２ライン目の画素ｅ〜ｈは、その左方の画素Ｊが予測画素に設定され、続く３ライン目及び４ライン目の画素ｉ〜ｌ及びｍ〜ｐは、それぞれ左方の画素Ｋ及びＬが予測画素に設定され、これら予測画素Ｉ〜Ｌの画素値がそれぞれ対応する画素ａ〜ｐの予測値に設定される。なおモード１は、このモードにおける予測画素Ｉ〜Ｌが有意である場合にのみ適用される。
【００２８】
【数２】
2006094081.tif 000004
【００２９】
これに対してモード２は、図９（Ｃ）に示すように、１３個の予測画素Ａ〜Ｍのうち、このブロックの垂直方向及び水平方向に隣接する画素Ａ〜Ｄ及びＩ〜Ｌより予測値を生成するモードであり、これらの画素Ａ〜Ｄ及びＩ〜Ｌが全て有意な場合に、次式により各画素ａ〜ｐの予測値が生成される。
【００３０】
【数３】
2006094081.tif 000005
【００３１】
なおモード２においては、画素Ａ〜Ｄが全て有意でない場合、予測値は、（４）式により生成され、画素Ｉ〜Ｌが全て有意でない場合、予測値は、（５）式により生成され、画素Ａ〜Ｄ及びＩ〜Ｌが全て有意でない場合、予測値は値１２８に設定される。
【００３２】
【数４】
2006094081.tif 000006
【００３３】
【数５】
2006094081.tif 000007
【００３４】
これに対してモード３は、図９（Ｄ）に示すように、１３個の予測画素Ａ〜Ｍのうち、水平方向に連続する画素Ａ〜Ｈより予測値を生成するモードであり、これらの画素Ａ〜Ｈのうちの画素Ａ〜Ｄと画素Ｉ〜Ｍとが全て有意な場合にのみ適用されて、次式により各画素ａ〜ｐの予測値が生成される。
【００３５】
【数６】
2006094081.tif 000008
【００３６】
これに対してモード４は、図９（Ｅ）に示すように、１３個の予測画素Ａ〜Ｍのうち、４×４個の画素ａ〜ｐによるブロックに隣接する画素Ａ〜Ｄ、Ｉ〜Ｍにより予測値を生成するモードであり、これらの画素Ａ〜Ｄ、Ｉ〜Ｍが全て有意な場合にのみ適用されて、次式により各画素ａ〜ｐの予測値が生成される。
【００３７】
【数７】
2006094081.tif 000009
【００３８】
これに対してモード５は、図９（Ｆ）に示すように、１３個の予測画素Ａ〜Ｍのうち、４×４個の画素ａ〜ｐによるブロックに隣接する画素Ａ〜Ｄ、Ｉ〜Ｋ、Ｍとにより予測値を生成するモードであり、予測画素Ａ〜Ｄ、Ｉ〜Ｍが全て有意な場合にのみ適用されて、次式により各画素ａ〜ｐの予測値が生成される。
【００３９】
【数８】
2006094081.tif 000010
【００４０】
これに対してモード６は、図９（Ｇ）に示すように、１３個の予測画素Ａ〜Ｍのうち、４×４個の画素ａ〜ｐによるブロックに隣接する画素Ａ〜Ｃ、Ｉ〜Ｍとにより予測値を生成するモードであり、予測画素Ａ〜Ｄ、Ｉ〜Ｍが全て有意な場合にのみ適用されて、次式により各画素ａ〜ｐの予測値が生成される。
【００４１】
【数９】
2006094081.tif 000011
【００４２】
これに対してモード７は、図９（Ｈ）に示すように、１３個の予測画素Ａ〜Ｍのうち、４×４個の画素ａ〜ｐによるブロックの上方に隣接する４個の画素Ａ〜Ｄと、この４個の画素Ａ〜Ｄに続く４個の画素Ｅ〜Ｇとにより予測値を生成するモードであり、これらのうちの画素Ａ〜Ｄ及び画素Ｉ〜Ｍが全て有意な場合にのみ適用されて、次式により各画素ａ〜ｐの予測値が生成される。
【００４３】
【数１０】
2006094081.tif 000012
【００４４】
これに対してモード８は、図９（Ｉ）に示すように、１３個の予測画素Ａ〜Ｍのうち、４×４個の画素によるブロックの左方に隣接する４個の画素Ｉ〜Ｌにより予測値を生成するモードであり、画素Ａ〜Ｄ及び画素Ｉ〜Ｍが全て有意な場合にのみ適用されて、次式により各画素ａ〜ｐの予測値が生成される。
【００４５】
【数１１】
2006094081.tif 000013
【００４６】
このようなＡＶＣは、イントラ４×４予測モードによる符号化処理においては、ラスタ走査の順序による処理を有効に利用して予測モードを伝送対象に通知する。すなわち４×４予測モードによりイントラ符号化する場合において、図１０に示すように、処理対象であるブロックＣの予測モードIntra 4x4 pred mode Ｃに対して、水平方向及び垂直方向に処理を完了している隣接ブロックＡ及びＢの予測モードIntra 4x4 pred mode Ａ及びIntra 4x4 pred mode Ｂは、高い相関を有する。これによりこれら隣接ブロックＡ及びＢの予測モードIntra 4x4 pred mode Ａ及びIntra 4x4 pred mode Ｂを用いて、次式により、最も可能性の高い予測モードMost Probable Modeを定義する。なおこの（１２）式におけるｍｉｎの判定は、これら予測モードの伝送に供するコードmode numberにより実行し、コードmode number の値の小さい側の予測モードを最も可能性の高い予測モードMost Probable Modeに設定する。
【００４７】
【数１２】
2006094081.tif 000014
【００４８】
またビットストリーム中に、この４×４画素によるブロックに係るパラメータとして、予測モードの伝送の有無を示すフラグprev intra 4x4 pred mode flag[luma 4x4 BlkIdx]と、予測モード rem intra 4x4 pred mode[luma 4x4 BlkIdx] とが定義され、復号側は、Ｃ言語の記述により図１１に示すようにこれら２つのパラメータを処理して、処理対象であるブロックＣの予測モードIntra 4x4 pred mode Ｃを検出する。なおここで[luma 4x4
BlkIdx] は、輝度データに係る対象ブロックを特定するブロック番号である。
【００４９】
すなわちこの場合、予測モードの伝送の有無を示すフラグprev intra 4x4 pred mode flag[luma 4x4BlkIdx]が設定されている場合、隣接ブロックＡ及びＢの予測モードIntra 4x4 pred mode Ａ及びIntra 4x4 pred mode Ｂを用いて（１２）式により復号側で検出される最も可能性の高い予測モードMost Probable Modeを処理対象であるブロックＣの予測モードに設定する。またこのフラグprev intra 4x4 pred mode flag[luma 4x4 BlkIdx]が設定されていない場合にあって、最も可能性の高い予測モードMost Probable Modeより伝送された予測モード rem intra 4x4 pred mode[luma 4x4 BlkIdx] のコードmode number が小さい場合、伝送された予測モード rem intra 4x4 pred mode[luma 4x4 BlkIdx] を処理対象ブロックＣの予測モードに設定する。またフラグprev intra 4x4 pred mode flag[luma4x4 BlkIdx] が設定されていない場合にあって、最も可能性の高い予測モードMost Probable Modeより伝送された予測モード rem intra 4x4 pred mode[luma 4x4 BlkIdx] のコードmode number が小さくない場合、伝送された予測モード rem intra 4x4 pred mode[luma 4x4 BlkIdx] のコードmode number に値１を加算したコードmode number の予測モードを処理対象ブロックＣの予測モードに設定する。
【００５０】
これらにより符号化装置１は、最も可能性の高い予測モードMost Probable Modeが処理対象ブロックＣの予測モードと一致する場合、予測モードの伝送の有無を示すフラグprev intra 4x4 pred mode flag[luma 4x4 BlkIdx]を設定して、予測モード rem intra 4x4 pred mode[luma 4x4 BlkIdx] の伝送を中止し、伝送に供するデータ量を削減する。
【００５１】
これに対してイントラ１６×１６予測モードでは、図１２に示すように、予測値を生成する１６×１６個の画素Ｐ（０，１５）〜Ｐ（１５，１５）によるブロックＢに対して、このブロックを構成する画素Ｐ（０，１５）〜Ｐ（１５，１５）と、このブロックＢの上方及び左方に隣接する画素Ｐ（０，−１）〜Ｐ（１５，−１）及びＰ（−１，０）〜Ｐ（−１，１５）が予測画素に設定され、これらの予測画素により予測値が生成される。
【００５２】
イントラ１６×１６予測モードでは、図１３に示すように、モード０〜モード３の予測モードが定義され、このうちモード０は、処理対象ブロックＢの上方に隣接する画素Ｐ（０，−１）〜Ｐ（１５，−１）（Ｐ（ｘ，−１）；ｘ，ｙ＝−１〜１５）が有意な場合にのみ適用されて、次式により示すように、ブロックＢを構成する各画素Ｐ（０，１５）〜Ｐ（１５，１５）の予測値が生成される。これにより図１４（Ａ）に示すように、ブロックＢに隣接する各画素Ｐ（０，−１）〜Ｐ（１５，−１）の画素値によりブロックＢの垂直方向に連続する各画素の予測値が生成される。
【００５３】
【数１３】
2006094081.tif 000015
【００５４】
これに対してモード１は、ブロックＢの左方に隣接する画素Ｐ（−１，０）〜Ｐ（−１，１５）（Ｐ（−１，ｙ）；ｘ，ｙ＝−１〜１５）が有意な場合にのみ適用されて、次式により示すように、ブロックＢを構成する各画素Ｐ（０，１５）〜Ｐ（１５，１５）の予測値が生成され、これにより図１４（Ｂ）に示すように、ブロックＢに隣接する各画素Ｐ（−１，０）〜Ｐ（−１，１５）の画素値によりブロックＢの水平方向に連続する各画素の予測値が生成される。
【００５５】
【数１４】
2006094081.tif 000016
【００５６】
これに対してモード２は、ブロックＢの上方及び左方に隣接する画素Ｐ（０，−１）〜Ｐ（１５，−１）及びＰ（−１，０）〜Ｐ（−１，１５）が全て有意な場合には、次式により予測値が求められ、これにより図１４（Ｃ）に示すように、これらの画素Ｐ（０，−１）〜Ｐ（１５，−１）及びＰ（−１，０）〜Ｐ（−１，１５）による画素値の平均値によりブロックＢを構成する各画素の予測値が生成される。
【００５７】
【数１５】
2006094081.tif 000017
【００５８】
なおモード２においては、これらブロックＢの上方及び左方に隣接する画素Ｐ（０，−１）〜Ｐ（１５，−１）及びＰ（−１，０）〜Ｐ（−１，１５）のうち、上方に隣接する画素Ｐ（−１，０）〜Ｐ（−１，１５）が有意でない場合、（１６）式が適用されて有意な側の隣接画素の平均値により各画素の予測値が生成される。また左方に隣接する画素Ｐ（−１，０）〜Ｐ（−１，１５）が有意でない場合、（１７）式が適用され、この場合も有意な側の隣接画素の平均値によりブロックＢを構成する各画素の予測値が生成される。またブロックＢの上方及び左方に隣接する画素Ｐ（０，−１）〜Ｐ（１５，−１）及びＰ（−１，０）〜Ｐ（−１，１５）の全てが有意でない場合、値１２８に予測値が設定される。
【００５９】
【数１６】
2006094081.tif 000018
【００６０】
【数１７】
2006094081.tif 000019
【００６１】
これに対してモード３は、ブロックＢの上方及び左方に隣接する画素Ｐ（０，−１）〜Ｐ（１５，−１）及びＰ（−１，０）〜Ｐ（−１，１５）が全て有意な場合にのみ適用され、次式により予測値が求められ、これにより図１４（Ｄ）に示すように、斜め方向の演算処理により各画素の予測値が生成される。
【００６２】
【数１８】
2006094081.tif 000020
【００６３】
このような輝度信号に係る各種のイントラ予測モードに対して、色差信号は、輝度信号におけるイントラ１６×１６予測モードと同様に予測モードが設定される。但し、イントラ１６×１６予測モードが１６×１６画素のマクロブロックが処理対象であるのに対し、色差信号に対するイントラ予測モードは８×８画素のマクロブロックが処理対象であり、また図１５に示すように、輝度信号の場合に比して、モード番号と対応する予測モードとが異なる。また輝度信号と色差信号とでは、予測モードがそれぞれ独立に設定される。
【００６４】
すなわちモード０においては、画素Ｐ（ｘ，−１）及び画素Ｐ（−１，ｙ）が有意な場合に、次式により予測値が生成される。
【００６５】
【数１９】
2006094081.tif 000021
【００６６】
なお画素Ｐ（−１，ｙ）が有意でない場合、（２０）式により、画素Ｐ（ｘ，−１）が有意でない場合、（２１）式により予測値が生成される。
【００６７】
【数２０】
2006094081.tif 000022
【００６８】
【数２１】
2006094081.tif 000023
【００６９】
またモード１においては、画素Ｐ（−１，ｙ）が有意な場合にのみ適用されて、次式により予測値が生成される。
【００７０】
【数２２】
2006094081.tif 000024
【００７１】
またモード２においては、Ｐ（ｘ，−１）が有意な場合にのみ適用されて、次式により予測値が生成される。
【００７２】
【数２３】
2006094081.tif 000025
【００７３】
またモード３においては、画素Ｐ（ｘ，−１）及び画素Ｐ（−１，ｙ）が有意な場合に、次式により予測値が生成される。
【００７４】
【数２４】
2006094081.tif 000026
【００７５】
これに対してインター符号化においては、Multiple Reference Frames により、図１６に示すように、処理対象のフレームＯｒｇに対して、複数の参照フレームＲｅｆの何れかを選択して動き補償できるように設定され、これにより直前のフレームにおいて動き補償のブロックに対応する部位が隠れている場合、さらにはフラッシュ等により直前のフレームで一時的に全体の画素値が変動した場合等にあっても、高い精度により動き補償してデータ圧縮効率を向上する。
【００７６】
また動き補償に係るブロックにおいては、図１７（Ａ１）に示すように、１６画素×１６画素によるブロックを基準にして動き補償するようになされているものの、variable
MC Block Sizeによりtree-structured motion compensation がサポートされており、これにより図１７（Ａ２）〜（Ａ４）に示すように、１６画素×１６画素によるブロックを水平方向及び又は垂直方向に２分割して、１６画素×８画素、８画素×１６画素、８画素×８画素によるサブマクロブロックによりそれぞれ独立に動きベクトル、参照フレームを設定して動き補償できるように設定されている。また８画素×８画素によるサブマクロブロックについては、図１７（Ｂ１）〜（Ｂ４）に示すように、８画素×８画素、８画素×４画素、４画素×８画素、４画素×４画素によるサブマクロブロックにさらに分割して、それぞれ独立に動きベクトル、参照フレームを設定して動き補償できるように設定されている。
【００７７】
また動き補償においては、６タップのＦＩＲフィルタを用いて１／４画素精度により動き補償できるように設定されている。これにより図１８において、符号Ａにより１画素精度の画素値、符号ｂ〜ｄにより１／２画素精度の画素値、符号ｅ１〜ｅ３により１／４画素精度の画素値を示すように、動き予測・補償回路６は、６タップのＦＩＲフィルタの各タップ入力を値１、−５、２０、２０、−５、１により重み付けして次式の演算処理を実行することにより、水平方向又は垂直方向の連続する画素間に１／２画素精度による画素値ｂ又はｄを計算する。
【００７８】
【数２５】
2006094081.tif 000027
【００７９】
またこのようにして計算した１／２画素精度による画素値ｂ又はｄを用いて、６タップのＦＩＲフィルタの各タップ入力を値１、−５、２０、２０、−５、１により重み付けして次式の演算処理を実行することにより、水平方向及び垂直方向の連続する画素間の１／２画素精度による画素値ｃを計算する。
【００８０】
【数２６】
2006094081.tif 000028
【００８１】
またこのようにして計算した１／２画素精度による画素値ｂ〜ｄを用いて、直線補間による次式の演算処理を実行することにより、１／４画素精度による画素値ｅ１〜ｅ３を計算する。なおこの（２５）式及び（２６）式の重み付け加算に係る正規化の処理においては、垂直方向及び水平方向の全ての補間処理が完了して実行される。
【００８２】
【数２７】
2006094081.tif 000029
【００８３】
このような輝度信号に対する動き補償の処理に対して、色差信号に対する動き補償は、線型補間により実行される。すなわち図１９に示すように、画素ピッチｓによる隣接画素Ａ〜Ｄに対して、水平方向及び垂直方向にそれぞれ内分比ｄx、ｓ−ｄx及びｄy、ｓ−ｄyに係るサンプリング点に設定される画素値νは、次式により表される。
【００８４】
【数２８】
2006094081.tif 000030
【００８５】
ＡＶＣでは、このようなインター予測に係る符号化の情報である動きベクトルついても、連続するマクロブロック、サブマクロブロック間の相関を有効に利用してデータ伝送量を低減する。すなわちＡＶＣ符号化においては、１つのマクロブロックを複数のサブマクロブロックに分割してそれぞれ動き補償することも可能であることにより、動きベクトルの伝送に供する符号量が増大する。このためブロック毎にそれぞれ水平方向成分及び垂直方向成分について動きベクトル予測値pmv を生成し、この動きベクトル予測値pmv と実際の動きベクトルmvとの間で次式により表される演算処理による計算される差分値の動きベクトル情報ＭＶＤ(Motion Vector Data)を符号化して伝送する。
【００８６】
【数２９】
2006094081.tif 000031
【００８７】
但し、図２０（Ａ）に示すように、動きベクトルmvに係るブロックが、１つのマクロブロックを水平方向に２分割して形成される２つのサブマクロブロックうちの右側のサブマクロブロックＣの場合であって、動きベクトル予測値mvの検出に係る参照フレームrefIdxE が、残る左側に隣接するサブマクロブロックＡの参照フレームrefIdxAと等しい場合、次式により示すように、この左側に隣接するサブマクロブロックＡで検出された動きベクトルmvA を動きベクトル予測値pmv に設定する。
【００８８】
【数３０】
2006094081.tif 000032
【００８９】
またこれとは逆に、動きベクトルmvに係るブロックが、左側のサブマクロブロックＡの場合であって、動きベクトル予測値mvの検出に係る参照フレームrefIdxE が、残る右側に隣接するサブマクロブロックＣの参照フレームrefIdxC と等しい場合、次式により示すように、この右側に隣接するサブマクロブロックＣで検出された動きベクトルmvC を動きベクトル予測値pmv に設定する。
【００９０】
【数３１】
2006094081.tif 000033
【００９１】
また図２０（Ｂ）に示すように、動きベクトルmvに係るブロックが、１つのマクロブロックを垂直方向に２分割して形成される２つのサブマクロブロックうちの上側のサブマクロブロックＣの場合であって、動きベクトル予測値mvの検出に係る参照フレームrefIdxE が、残る下側に隣接するサブマクロブロックＢの参照フレームrefIdxA と等しい場合、次式により示すように、この下側に隣接するサブマクロブロックＢで検出された動きベクトルmvB を動きベクトル予測値pmv に設定する。
【００９２】
【数３２】
2006094081.tif 000034
【００９３】
またこれとは逆に、動きベクトルmvに係るブロックが、下側のサブマクロブロックＢの場合であって、動きベクトル予測値mvの検出に係る参照フレームrefIdxE が、残る上側に隣接するサブマクロブロックＡの参照フレームrefIdxA と等しい場合、次式により示すように、この下側に隣接するサブマクロブロックＡで検出された動きベクトルmvA を動きベクトル予測値pmv に設定する。
【００９４】
【数３３】
2006094081.tif 000035
【００９５】
またこれら以外の場合にあっては、図２１（Ａ）に示すように、動き補正に係るブロックＥに対して、隣接するブロックで検出される動きベクトルにより動きベクトルの予測値pmv を生成する。なおここでこの隣接するブロックは、ラスタ走査順序による水平方向の走査開始側に隣接するブロックＡ、ラスタ走査の順序により垂直方向の走査開始側に隣接するブロックＢ、このブロックの左右のブロックＣ、Ｄである。なおこれら隣接するブロックによる動きベクトルの予測値pmvは、図２１（Ｂ）に示すように、この隣接するブロックに属するサブマクロブロックで検出される動きベクトルにも適用される。
【００９６】
具体的に、各隣接ブロックの検出に係る参照フレームインデックスrefIdxA 、refIdxB 、refIdxC の値により、動き補正に係るブロックＥとの間で参照フレームが一致する隣接ブロックが存在する場合、次式により、この参照フレームが一致してなる隣接ブロック（N=A or B or C ）による動きベクトルmvN を動きベクトル予測値pmv に設定する。
【００９７】
【数３４】
2006094081.tif 000036
【００９８】
またこれ以外の場合には、垂直方向及び水平方向の各成分について、次式により、メディアンフィルタによる処理結果による成分を動きベクトル予測値pmv の各成分に設定する。
【００９９】
【数３５】
2006094081.tif 000037
【０１００】
但し、垂直方向に隣接するブロックＢ、又はこのブロックＢに続くブロックＣの何れかが有意でない場合であって、水平方向に隣接するブロックＡが有意である場合、これら垂直方向に係る隣接ブロックＢ及びＣの動きベクトルmv及び参照フレームインデックスrefIdxは、次式により示すように、ブロックＡによる動きベクトルmvA 及び参照フレームインデックスrefIdxA が代用される。
【０１０１】
【数３６】
2006094081.tif 000038
【０１０２】
なおＡＶＣでは、Ｂピクチャにおいて、テンポラル（時間）ダイレクトモードと、スペーシャル（空間）ダイレクトモードとによるダイレクトモードが設けられており、このダイレクトモードでは動きベクトルに関する情報の伝送を中止して符号化効率を向上する。
【０１０３】
すなわちスペーシャルダイレクトモードでは、予測ベクトルpmv を動きベクトルに設定して復号化処理を実行する。これに対してテンポラルダイレクトモードは、動きが線形であると仮定して、図２２に示すように、符号化処理を完了した予測フレームＬ１の対応するブロック（Ｃｏ−Ｌｏｃａｔｅｄ  Ｂｌｏｃｋ）の動きベクトルmvcol を用いた線型補間により、処理対象のＢピクチャに係る動きベクトルＭＶl0及びＭＶl1を作成するものである。なお、ＡＶＣ画像圧縮情報においては、これらピクチャＬ０、Ｌ１との間の時間情報に係るパラメータＴＤが存在しないことにより、これに代えてPOC (Picture Order Count) が用いられる。
【０１０４】
ＡＶＣは、これらイントラ及びインター予測に係る予測モードに関して、ＡＶＣに係るＪｏｉｎｔ  Ｍｏｄｅｌ（ＡＶＣ参照符号化方式）により、マルチパスエンコードを前提としたＨｉｇｈ  Ｃｏｍｐｌｅｘｉｔｙ  Ｍｏｄｅと、１パスエンコードを前提としたＬｏｗ  Ｃｏｍｐｌｅｘｉｔｙ  Ｍｏｄｅとが定義されており、これらの定義に従って最適なモードを選択して符号化処理を実行する。またこれらのモードのうち、Ｌｏｗ  Ｃｏｍｐｌｅｘｉｔｙ  Ｍｏｄｅでは、符号化効率を示すコスト関数を次式により定義し、このコスト関数により得られるコスト値Ｃｏｓｔ（Ｍｏｄｅ）の比較により最適モードを検出する。
【０１０５】
【数３７】
2006094081.tif 000039
【０１０６】
ここでＳＡ（Ｔ）Ｄは、原画像と予測画像との誤差値であり、これら原画像と予測画像との間の、画素値差分値の絶対値誤差和が適用される。またＳＡ（Ｔ）Ｄ０は、ヘッダビット、モード判定の際の重みとなるコストであり、誤差値ＳＡ（Ｔ）Ｄに与えられるオフセット値であり、動きベクトル等の付加的な情報の伝送に供するデータ量が示される。
【０１０７】
具体的に絶対値誤差和ＳＡＤは、各マクロブロックについて、次式により示され、それぞれ各予測モードＭｏｄｅにおける原画像と予測画像の差分値が適用される。
【０１０８】
【数３８】
2006094081.tif 000040
【０１０９】
なおここでこの（３８）式による絶対値誤差和ＳＡＤに代えて、次式による得られる差分加算値ＳＡＴＤ（Ｍode ）を用いてもよい。
【０１１０】
【数３９】
2006094081.tif 000041
【０１１１】
なおＨａｄａｍａｒｄ（）は、次式により示すように、対象の行列にアダマール変換行列を掛けるアダマール変換操作である。なおアダマール変換行列は、（４１）式により表され、ＨTは、アダマール変換行列の転置行列である。
【０１１２】
【数４０】
2006094081.tif 000042
【０１１３】
【数４１】
2006094081.tif 000043
【０１１４】
またオフセット値ＳＡ（Ｔ）Ｄ０は、前予測モードにおいては、次式により示される。なおここでＱＰ０（ＱＰ）は、量子化パラメータＱＰを量子化スケールに変換する関数であり、ＭＶＤＦＷは、前予測に係る動きベクトルであり、Bit to code は、この動きベクトルに係るビットストリーム上の符号量である。
【０１１５】
【数４２】
2006094081.tif 000044
【０１１６】
またオフセット値ＳＡ（Ｔ）Ｄ０は、後予測モードにおいては、次式により表される。なおここでＭＶＤＢＷは、後予測に係る動きベクトルである。
【０１１７】
【数４３】
2006094081.tif 000045
【０１１８】
またオフセット値ＳＡ（Ｔ）Ｄ０は、 Bi-Predictive予測モードにおいては、次式により表される。なおここでBit to code forward Blk size、Bit to code backward Blk size は、それぞれ前予測及び後予測に係る動き補償ブロックに関する情報の伝送に必要なビットストリーム上における符号量である。
【０１１９】
【数４４】
2006094081.tif 000046
【０１２０】
またダイレクトモードにおいては、オフセット値ＳＡ（Ｔ）Ｄ０は、次式により求められる。
【０１２１】
【数４５】
2006094081.tif 000047
【０１２２】
またイントラ４×４予測モードでは、オフセット値ＳＡ（Ｔ）Ｄ０は、次式により求められる。
【０１２３】
【数４６】
2006094081.tif 000048
【０１２４】
因みに、このコスト関数にあっては、動きベクトルの探索にも適用され、次式により示すように、コスト値Ｃｏｓｔを最小にする動きベクトルが検出される。
【０１２５】
【数４７】
2006094081.tif 000049
【０１２６】
これらによりＬｏｗ  Ｃｏｍｐｌｅｘｉｔｙ  Ｍｏｄｅにおいて、最適モードを検出する場合、符号化装置１では、イントラ予測回路５及び動き予測・補償回路６において、輝度信号を用いて、それぞれイントラ符号化及びインター符号化の全ての予測モードのコスト値Ｃｏｓｔを計算し、このコスト値Ｃｏｓｔの最も小さな予測モードをそれぞれ選択してイントラ符号化の最適モード及びインター符号化の最適モードを検出する。またこれらイントラ符号化の最適モード及びインター符号化の最適モードにおけるコスト値Ｃｏｓｔの比較により、イントラ符号化、インター符号化を選択すると共に、輝度信号の最適モードを検出する。またこれによりイントラ符号化が選択された場合、色差信号について各イントラ予測モードのコスト値を計算し、このコスト値の比較により最も値の小さなイントラ予測モードが色差信号の最適モードに設定される。なお、インター符号化が選択された場合、色差信号は、輝度信号に係る参照フレーム、動きベクトル、輝度信号に対応する動き補償ブロックにより予測値が生成される。
【０１２７】
これらによりＡＶＣでは、複数のイントラ予測モード、複数のインター予測モードから最適モードをマクロブロック毎に検出し、この最適モードにより画像データを符号化処理し、これにより画像データを効率良く符号化処理する。
【０１２８】
またＡＶＣにおいて、デブロックフィルタ１５、２８は、復号画像におけるブロック歪を除去すると共に、動き補償処理によるブロック歪の伝播を防止する為に適用され、以下のように定義される。なおここで量子化パラメータＱＰは、輝度信号の処理においては、ＱＰＹが適用され、色差信号の処理においては、ＱＰＣが適用される。またデブロックフィルタ処理は、隣接画素に関しては、異なるスライスに属する画素値でも、同一のピクチャに属する場合は有意であるとして処理が実行される。
【０１２９】
ここで図２３に示すように、ブロック境界を間に挟んで連続する画素について、デブロックフィルタによる処理前の画素値をｐ０〜ｐ３、ｑ０〜ｑ３とし、処理後の画素値をｐ０' 〜ｐ３' 、ｑ０' 〜ｑ３' とする。これら処理対象の画素値に対して、図２４に示すように、各画素がイントラマクロブロックに属するか否か等によりブロック境界の強度値（Bs：Boundary Strength）が定義される。
【０１３０】
この定義を前提に、次式により示す関係式が成立する場合に、デブロックフィルタの処理が実行される。
【０１３１】
【数４８】
2006094081.tif 000050
【０１３２】
なおここで定数α、βは、デフォルトでは次式により示すように、量子化パラメータＱＰにより図２５に示すように設定されるが、矢印Ａにより示すように、画像圧縮情報中のスライスヘッダに含まれるパラメータslice alpha c0 offset div2及びslice beta offset div2により用度を調整することが可能である。なおここで図２６は、α及びβの設定を示す図表であり、この図２６におけるindexAとindexBは、次式により定義され、オフセット値Filter OffsetA 及びFilter OffsetBがユーザによる調整分に相当する。
【０１３３】
【数４９】
2006094081.tif 000051
【０１３４】
ＡＶＣでは、ブロック境界の強度値Ｂｓが値４以下の場合、次式により示すように、画素値ｐ０' 、ｑ０' が設定される。
【０１３５】
【数５０】
2006094081.tif 000052
【０１３６】
ここでｔｃは、クロマエッジフラグ（chroma Edge Flag）が値０の場合、（５１）式による値に設定され、それ以外の場合、（５２）式による値に設定される。またｔｃｏは、indexA、indexBと、Ｂｓとにより図２７に示すように定義される。
【０１３７】
【数５１】
2006094081.tif 000053
【０１３８】
【数５２】
2006094081.tif 000054
【０１３９】
またａｐ及びａｑは、次式により表される。
【０１４０】
【数５３】
2006094081.tif 000055
【０１４１】
これに対して画素値ｐ１' は、クロマエッジフラグ（chroma Edge Flag）が値０であって、かつａｐの値がｂ以下の場合、（５４）式による値に設定され、それ以外の場合、（５５）式による値に設定される。
【０１４２】
【数５４】
2006094081.tif 000056
【０１４３】
【数５５】
2006094081.tif 000057
【０１４４】
また画素値ｑ１' は、クロマエッジフラグ（chroma Edge Flag）が値０であって、かつａｑの値がｂ以下の場合、（５６）式による値に設定され、それ以外の場合、（５７）式による値に設定される。
【０１４５】
【数５６】
2006094081.tif 000058
【０１４６】
【数５７】
2006094081.tif 000059
【０１４７】
また画素値ｐ２' 及びｑ２' は、次式により示すように、処理前の画素値ｐ２及びｑ２に設定される。
【０１４８】
【数５８】
2006094081.tif 000060
【０１４９】
これに対してブロック境界の強度値Ｂｓが値４の場合、処理後の画素値ｐｉ' （ｉ＝０〜２）は、クロマエッジフラグ（chroma Edge Flag）が値０の場合であって、次式の関係式が成立する場合、（６０）式により示す値に設定される。
【０１５０】
【数５９】
2006094081.tif 000061
【０１５１】
【数６０】
2006094081.tif 000062
【０１５２】
またこのような条件に該当しない場合、次式により示す値に設定される。
【０１５３】
【数６１】
2006094081.tif 000063
【０１５４】
またブロック境界の強度値Ｂｓが値４の場合、処理後の画素値ｑｉ' （ｉ＝０〜２）は、クロマエッジフラグ（chroma Edge Flag）が値０の場合であって、次式の関係式が成立する場合、（６３）式により示す値に設定される。
【０１５５】
【数６２】
2006094081.tif 000064
【０１５６】
【数６３】
2006094081.tif 000065
【０１５７】
またこのような条件に該当しない場合、次式により示す値に設定される。
【０１５８】
【数６４】
2006094081.tif 000066
【０１５９】
ＡＶＣによる符号化装置１及び復号化装置２０において、デブロックフィルタ２８は、これらにより適宜特性を切り換えて、ブロック歪の発生を防止する。
【０１６０】
これに対してレート制御においては、例えばＴＭ５（ＭＰＥＧ−２  Ｔｅｓｔ  Ｍｏｄｅｌ  ５）による手法が適用される。ここでＴＭ５によるレート制御は、各ピクチャへの目標符号量を設定するビット配分のステップと、仮想バッファ制御を用いたレート制御のステップと、視覚特性を考慮した適応量子化のステップとによる３つの階層から構成される。
【０１６１】
これらのステップのうちビット配分のステップでは、１ＧＯＰへの割当ビット量、それまでの発生符号量から、未だ符号化処理されていないピクチャへの目標符号量を計算し、以下の２つの仮定に基づいて、各ピクチャへの符号量割当量を計算する。
【０１６２】
ここで第１の仮定は、各ピクチャを符号化する際に用いる平均量子化スケールと、発生符号量との積は、画面が変化しない限り、ピクチャタイプ毎に一定値であるとの仮定である。これによりこのレート制御においては、各ピクチャを符号化処理した後、各ピクチャタイプ毎に、画面の複雑さを表すパラメータＸi、Ｘp、Ｘb（global complexity measure ) を次式により更新する。これによりＴＭ５によるレート制御においては、これらのパラメータＸi、Ｘp、Ｘbにより、次のピクチャを符号化処理する際の量子化スケールコードと発生符号量との関係を推定する。
【０１６３】
【数６５】
2006094081.tif 000067
【０１６４】
ここで（６５）式の各変数の添え字は、それぞれＩピクチャ、Ｐピクチャ、Ｂピクチャを示す添え字である。またＳi 、Ｓp 、Ｓb は、各ピクチャの符号化処理による発生符号ビット量であり、Ｑi 、Ｑp 、Ｑb は、各ピクチャの符号化時における平均量子化スケールコードである。またパラメータＸi 、Ｘp 、Ｘb の初期値は、目標符号量bit rate〔bit/sec 〕を用いて、次式により与えられる。
【０１６５】
【数６６】
2006094081.tif 000068
【０１６６】
また第２の仮定は、Ｉピクチャの量子化スケールに対するＰピクチャの量子化スケールコードの比率Ｋp 、Ｉピクチャの量子化スケールに対するＢピクチャの量子化スケールコードの比率Ｋb が、次式の関係に保持されている場合に、常に全体の画質が最良となるとの仮定である。
【０１６７】
【数６７】
2006094081.tif 000069
【０１６８】
すなわちこの仮定は、Ｉピクチャ、Ｐピクチャの量子化スケールに対してＢピクチャの量子化スケールを常に１．４倍に設定することにより全体の画質が最良となることを意味するものであり、Ｉピクチャ、Ｐピクチャに比してＢピクチャを粗く量子化してＢピクチャに割当る符号量を節約し、その分、Ｉピクチャ、Ｐピクチャに多くの符号量を振り分けてＩピクチャ、Ｐピクチャの画質を向上すると共に、Ｉピクチャ、Ｐピクチャを参照するＢピクチャの画質も併せて向上し、これらにより全体的に見た画質を最良とするものである。
【０１６９】
これらによりＴＭ５では、次式の演算処理により、各ピクチャへの割当ビット量Ｔi、Ｔp、Ｔbを計算する。なおここでＮp、Ｎbは、処理対象であるＧＯＰ内で、未だ符号化されていないＰピクチャ、Ｂピクチャの枚数である。
【０１７０】
【数６８】
2006094081.tif 000070
【０１７１】
これによりＴＭ５では、上述した２つの仮定に基づいて、各ピクチャの発生符号量を推定する。このとき符号割当対象とは異なるピクチャタイプのピクチャについては、画質最適化条件の下で、そのピクチャの発生する符号量が、割当対象ピクチャの発生符号量の何倍となるかを推定する。またこの推定により、ＧＯＰ内の未符号化ピクチャが、符号割当対象のピクチャタイプにおける何枚分のピクチャに相当するかを推計し、この推計結果より各ピクチャへの割当ビット量を計算する。なおこの場合に、レート制御回路９は、ヘッダ等の固定的に必要となる符号量を考慮して、その値に下限を設定して割当ビット量を計算する。
【０１７２】
これに対して続くレート制御のステップでは、ビット配分のステップで求められた各ピクチャへの割当ビット量Ｔi 、Ｔp 、Ｔb と、実際の発生符号量とを一致させるため、各ピクチャタイプ毎に独立に３種類の仮想バッファを設定し、この仮想バッファの容量に基づいて量子化回路８の量子化スケールをマクロブロック単位のフィードバック制御により計算する。
【０１７３】
ここで始めに、これら３種類の仮想バッファの占有率を、次式の演算式により計算する。なおここでｄ0i、ｄ0p、ｄ0bは、各仮想バッファの初期占有量、Ｂjは、ピクチャ先頭からｊ番目のマクロブロックまでの発生ビット量、ＭＢ＿ｃｎｔは、１ピクチャ内でのマクロブロック数である。
【０１７４】
【数６９】
2006094081.tif 000071
【０１７５】
この（６９）式により計算結果に基づいてｊ番目のマクロブロックに対する量子化スケールを、次式により計算する。
【０１７６】
【数７０】
2006094081.tif 000072
【０１７７】
なおここでｒは、リアクションパラメータであり、フィードバックの応答を制御するパラメータである。ＴＭ５において、リアクションパラメータｒ及び初期値ｄ0i、ｄ0p、ｄ0bは、次式により与えられる。
【０１７８】
【数７１】
2006094081.tif 000073
【０１７９】
なおシーケンス先頭における仮想バッファの初期値は以下の式により与えられる。
【０１８０】
【数７２】
2006094081.tif 000074
【０１８１】
続く適応量子化のステップでは、レート制御のステップで計算された量子化スケールを視覚特性を考慮して補正し、これにより視覚特性を考慮した最適量子化の処理を実行する。ここでこの最適量子化の処理においては、視覚的に劣化の目立ちやすい平坦部ではより細かく量子化するように、また劣化の比較的目立ちにくい絵柄の複雑な部分でより粗く量子化するように、各マクロブロックの平坦度を示すアクティビティにより、量子化スケールを補正する。
【０１８２】
ここでアクティビティは、１６×１６画素の大きさによるマクロブロック毎に、このマクロブロックを構成する８×８画素による４個のブロックについて、フレームＤＣＴモードにおける４個のブロックと、フィールドＤＣＴモードにおける４個のブロックとによる計８個のブロックの画素値を用いて、次式により算出され、これにより該当マクロブロックにおける輝度レベルの平滑度を示すようになされている。
【０１８３】
【数７３】
2006094081.tif 000075
【０１８４】
なおここでＰk は、原画の輝度信号ブロック内画素値である。この（７３）式において最小値を取るのは、このマクロブロック内の一部だけでも平坦部分のある場合には量子化ステップを細かくして画質劣化を防止するためである。
【０１８５】
ＴＭ５では、この計算式により求めたアクティビティを次式により正規化し、これにより０．５〜２の範囲で値を取る正規化アクティビティＮａｃｔj を求める。なおここでａｖｇ＿ａｃｔは、直前に符号化したピクチャにおけるアクティビティａｃｔj の平均値である。
【０１８６】
【数７４】
2006094081.tif 000076
【０１８７】
またこの正規化アクティビティＮａｃｔj により次式の演算処理を実行し、レート制御のステップで計算した量子化スケールＱj を補正する。
【０１８８】
【数７５】
2006094081.tif 000077
【０１８９】
これらにより符号化装置１では、レート制御回路９によりこれらＴＭ５に係るレート制御の処理を実行して逐次画像データＤ１を符号化処理する。
【０１９０】
このような符号化装置に関しては、例えば特開２００４−５６８２７号公報等に復号化処理等の利便を図る工夫が種々に提案されている。
【０１９１】
ところでＡＶＣでは、比較的アクティビティの低い領域では、イントラ予測モードによる誤差値ＳＡ（Ｔ）Ｄが小さくなり、（３７）式に示すコスト関数において、動きベクトルに関する情報を伝送しなくて済む分、イントラ予測モードの方がコスト値Ｃｏｓｔ（Ｍｏｄｅ）が小さくなる場合がある。これによりＡＶＣでは、例えば地面のように、比較的アクティビティの低い領域が画像の後半部分で多くを占める場合、インタースライスにおいても、このアクティビティの低い領域で、イントラ予測モードが選択され易くなる。
【０１９２】
しかしながらこのようなこのアクティビティの低い領域のイントラ予測モードによる符号化処理においては、ノイズの影響により、図８及び図９について上述した９種類のイントラ４×４予測モードで、予測モードを切り換えて符号化処理する場合もあり、この場合には、予測モードの切り換わりがばたついた感じとなって復号した画像に表れる。ここでこのようなばたつきは、フリッカのように見て取られることにより、視聴者の目につきやすく、これによりこのような場合、従来のＡＶＣでは画質が損なわれる問題があった。
【０１９３】
またさらにＡＶＣでは、図２４に示したように、イントラマクロブロックでブロック境界の強度値Ｂｓが大きくなることにより、このようにアクティビティの低い領域をイントラ予測モードにより符号化処理した場合、デブロックフィルタにより過剰にブロック境界歪を抑圧することになる。ここでこのような過剰なブロック境界歪の抑圧にあっては、平坦な部分における局所的な変化が損なわれることにより、解像度が著しく低下したように視聴者に認識される。これによってもＡＶＣでは、画質が損なわれる問題があった。
【特許文献１】特開２００４−５６８２７号公報
【発明の開示】
【発明が解決しようとする課題】
【０１９４】
本発明は以上の点を考慮してなされたもので、コスト関数によりイントラ予測モード、インター予測モードから最適モードを選択して画像データを符号化処理する場合に、アクティビティの低い領域における画質劣化を防止することができる符号化装置、符号化方法、符号化方法のプログラム及び符号化方法のプログラムを記録した記録媒体を提案しようとするものである。
【課題を解決するための手段】
【０１９５】
かかる課題を解決するため請求項１の発明においては、符号化効率を示すコスト関数によるコスト値の比較により、複数のイントラ予測モード、複数のインター予測モードから最適モードをマクロブロック毎に検出し、前記最適モードにより画像データを符号化処理する符号化装置に適用して、前記マクロブロック毎に、前記画像データによる画像の平坦度を示すアクティビティを計算するアクティビティ計算手段と、前記アクティビティにより前記コスト値を補正して前記最適モードを検出する最適モード検出手段とを備えるようにする。
【０１９６】
また請求項１１の発明においては、符号化効率を示すコスト関数によるコスト値の比較により、複数のイントラ予測モード、複数のインター予測モードから最適モードをマクロブロック毎に検出し、前記最適モードにより画像データを符号化処理する符号化方法に適用して、前記マクロブロック毎に、前記画像データによる画像の平坦度を示すアクティビティを計算するアクティビティ計算のステップと、前記アクティビティにより前記コスト値を補正して前記最適モードを検出する最適モード検出のステップとを有するようにする。
【０１９７】
また請求項１２の発明においては、符号化効率を示すコスト関数によるコスト値の比較により、複数のイントラ予測モード、複数のインター予測モードから最適モードをマクロブロック毎に検出する最適モード検出のステップと、前記最適モードにより画像データを符号化処理する符号化処理のステップとを有する符号化方法のプログラムに適用して、前記マクロブロック毎に、前記画像データによる画像の平坦度を示すアクティビティを計算するアクティビティ計算のステップとを有し、前記最適モード検出のステップは、前記アクティビティにより前記コスト値を補正して前記最適モードを検出する。
【０１９８】
また請求項１３の発明においては、演算処理手段により実行される符号化方法のプログラムを記録した記録媒体に適用して、前記符号化方法のプログラムは、符号化効率を示すコスト関数によるコスト値の比較により、複数のイントラ予測モード、複数のインター予測モードから最適モードをマクロブロック毎に検出する最適モード検出のステップと、前記最適モードにより画像データを符号化処理する符号化処理のステップと、前記マクロブロック毎に、前記画像データによる画像の平坦度を示すアクティビティを計算するアクティビティ計算のステップとを有し、前記最適モード検出のステップは、前記アクティビティにより前記コスト値を補正して前記最適モードを検出する。
【０１９９】
請求項１の構成により、符号化効率を示すコスト関数によるコスト値の比較により、複数のイントラ予測モード、複数のインター予測モードから最適モードをマクロブロック毎に検出し、前記最適モードにより画像データを符号化処理する符号化装置に適用して、前記マクロブロック毎に、前記画像データによる画像の平坦度を示すアクティビティを計算するアクティビティ計算手段と、前記アクティビティにより前記コスト値を補正して前記最適モードを検出する最適モード検出手段とを備えるようにすれば、このコスト値の補正によりアクティビティが低い場合にはイントラ予測モードを選択しないようにコスト値を設定することができる。これにより過剰なブロック境界歪の抑圧を防止して解像度の低下を防止することができ、また複数のイントラ予測モードの切り換わりによる画質劣化を防止することができ、これらによりコスト関数によりイントラ予測モード、インター予測モードから最適モードを選択して画像データを符号化処理する場合に、アクティビティの低い領域における画質劣化を防止することができる。
【０２００】
これにより請求項１１、請求項１２、請求項１３の構成によれば、コスト関数によりイントラ予測モード、インター予測モードから最適モードを選択して画像データを符号化処理する場合に、アクティビティの低い領域における画質劣化を防止することができる符号化方法、符号化方法のプログラム、符号化方法のプログラムを記録した記録媒体を提供することができる。
【発明の効果】
【０２０１】
本発明によれば、コスト関数によりイントラ予測モード、インター予測モードから最適モードを選択して画像データを符号化処理する場合に、アクティビティの低い領域における画質劣化を防止することができる。
【発明を実施するための最良の形態】
【０２０２】
以下、適宜図面を参照しながら本発明の実施例を詳述する。
【実施例１】
【０２０３】
（１）実施例の構成
図１は、本発明の実施例に係るＡＶＣ方式の符号化装置を示すブロック図である。この符号化装置４１において、図３について上述した符号化装置１と同一の構成は、対応する符号を付して示し、重複した説明は省略する。これによりこの符号化装置４１は、順次入力されるビデオ信号Ｓ１をアナログディジタル変換処理して画像データＤ１に変換した後、イントラ予測モード、インター予測モードより最適モードを選択してこの画像データＤ１を符号化する。
【０２０４】
この符号化装置４１において、アクティビティ算出回路４２は、この処理対象の画像データＤ１について、１６×１６画素によるマクロブロック毎に、画像データＤ１による画像の平坦度を示すパラメータを計算し、この実施例では、このパラメータにアクティビティが適用される。これによりアクティビティ算出回路４２は、次式の演算処理の実行により、マクロブロック毎に画素値の分散値を計算してアクティビティａｃｔを計算する。アクティビティ算出回路４２は、このアクティビティａｃｔをマクロブロックのアクティビティＭＢ  ａｃｔに設定して出力する。
【０２０５】
【数７６】
2006094081.tif 000078
【０２０６】
レート制御回路４３は、このアクティビティ算出回路４２より得られるアクティビティＭＢ  ａｃｔを用いて上述したＴＭ５の手法によりレート制御の処理を実行する。
【０２０７】
動き予測・補償回路４４は、イントラ・インター判定回路４５の制御により、インター符号化に係る輝度信号の全ての予測モードについて、（３７）式のコスト値Ｃｏｓｔ（Ｍｏｄｅ）を計算し、各予測モードにおけるコスト値Ｃｏｓｔ（Ｍｏｄｅ）の比較により、最も値の小さな予測モードを検出する。これにより動き予測・補償回路４４は、インター予測モードより最適モードを検出し、この最適モードのコスト値Ｃｏｓｔ（Ｍｏｄｅ）をイントラ・インター判定回路４５に通知する。またこの通知により得られるイントラ・インター判定回路４５からの指示により、インター符号化処理の場合に、この最適モードによる予測値を輝度信号及び色差信号について生成して減算回路４に出力する。
【０２０８】
イントラ予測回路４６は、同様に、イントラ・インター判定回路４５の制御により、イントラ符号化に係る輝度信号の全ての予測モードについて、（３７）式に関して上述した原画像と予測画像との誤差値ＳＡ（Ｔ）Ｄ、オフセット値ＳＡ（Ｔ）Ｄ０を計算してイントラ・インター判定回路４５に通知する。またこの通知により得られるイントラ・インター判定回路４５からの指示により、イントラ符号化処理の場合に、対応する予測値を減算回路４に出力する。またこの場合、色差信号についてコスト値を計算して最適モードを検出し、この最適モードによる予測値を減算回路４に出力する。
【０２０９】
イントラ・インター判定回路４５は、イントラ予測回路４６から通知される誤差値ＳＡ（Ｔ）Ｄ、オフセット値ＳＡ（Ｔ）Ｄ０を用いて全てのイントラ予測モードについてコスト値Ｃｏｓｔ（Ｍｏｄｅ）を計算し、この計算したコスト値Ｃｏｓｔ（Ｍｏｄｅ）と動き予測・補償回路４４から通知されるコスト値Ｃｏｓｔ（Ｍｏｄｅ）とを比較し、最もコスト値Ｃｏｓｔ（Ｍｏｄｅ）の小さな予測モードを検出する。イントラ・インター判定回路４５は、この予測モードの検出により、マクロブロック毎にイントラ予測、インター予測を選択し、また複数のイントラ予測モード、複数のインター予測モードから最適モードをマクロブロック毎に検出する。またこの検出した最適モードによる予測値の出力をイントラ予測回路４６、動き予測・補償回路４４に指示する。
【０２１０】
この一連の処理において、イントラ・インター判定回路４５は、アクティビティ算出回路４２より得られるアクティビティＭＢ  ａｃｔにより、イントラ４×４予測モードに係るコスト値Ｃｏｓｔ（Ｍｏｄｅ）を補正する。
【０２１１】
すなわち（４６）式について上述したように、従来、Ｌｏｗ  Ｃｏｍｐｌｅｘｉｔｙ
Ｍｏｄｅにおいて、イントラ４×４予測モードにおけるコスト値Ｃｏｓｔ（Ｍｏｄｅ）は、次式により示すように、値２４による定数に、付加情報に関する量子化パラメータから量子化値への変換関数ＱＰ０（ＱＰ）を乗算してオフセット値ＳＡ（Ｔ）Ｄ０が定義され、このオフセット値ＳＡ（Ｔ）Ｄ０によりコスト値Ｃｏｓｔ（Ｍｏｄｅ）をオフセットさせることにより、インタースライスにおけるイントラマクロブロックの発生を低減している。ここでこの値２４は、経験値に基づく値である。
【０２１２】
【数７７】
2006094081.tif 000079
【０２１３】
しかしてこのような設定により、アクティビティの高い領域において、イントラマクロブロックが選択された場合、絵柄に応じた特定の方向のイントラ予測モードが適切に選択され、これにより符号化効率を確保しつつ、画質劣化を有効に回避することができる。しかしながらアクティビティの低い領域においては、ノイズの影響により予測モードが種々に切り換わったり、またデブロックフィルタにより過剰にブロック境界歪を抑圧することになる。
【０２１４】
これによりイントラ・インター判定回路４５は、この（７７）式に代えて、次式の演算処理によりオフセット値ＳＡ（Ｔ）Ｄ０を設定する。なおここでｆ（ＭＢ  ａｃｔ）は、アクティビティＭＢ  ａｃｔを変数とする関数である。これによりイントラ・インター判定回路４５は、アクティビティＭＢ  ａｃｔにより、マクロブロックにおいて高周波成分が少ない場合、イントラ予測モードが選択され難くなるように、コスト値を補正する。より具体的に、この実施例では、このアクティビティＭＢ  ａｃｔを変数とする関数ｆ（ＭＢ  ａｃｔ）に単調減少関数が適用され、これによりアクティビティの低い領域程、より大きな値のオフセット値を設定して、その分、イントラマクロブロックが選択されに難くする。またこれとは逆に、アクティビティの高い領域では、小さな値のオフセット値が適用され、イントラマクロブロックを選択され易くする。なお、単調減少関数には、例えば出力値が２値の関数、一次関数、種々の関数を広く適用することができる。
【０２１５】
【数７８】
2006094081.tif 000080
【０２１６】
しかして図２は、この最適予測モードに係る符号化装置４１の処理手順を示すフローチャートである。符号化装置４１においては、マクロブロック毎に、この処理手順を実行し、ステップＳＰ１によりインター予測モードに係る動き予測の処理を実行し、また続くステップＳＰ２において、各予測モードのコスト値を計算する。また続くステップＳＰ３において、この計算したコスト値の比較により、最適なインター予測モードを検出する。
【０２１７】
またこのような動き予測・補償回路４４に係る処理と同時並列的なアクティビティ算出回路４２、イントラ予測回路４６、イントラ・インター判定回路４５の処理により、ステップＳＰ４において、アクティビティを計算した後、続くステップＳＰ５において、このアクティビティによりオフセット値を計算する。また続くステップＳＰ６において、この計算したオフセット値により各イントラ予測モードに係るコスト値を計算し、ステップＳＰ７において、この計算したコスト値とステップＳＰ３で計算したコスト値とを比較し、この比較結果により続くステップＳＰ８において、最適モードを検出する。
【０２１８】
（２）実施例の動作
以上の構成において、この符号化装置４１（図１）において、順次入力されるビデオ信号Ｓ１は、アナログディジタル変換回路２により画像データＤ１に変換され、この画像データＤ１が画面並べ替えバッファ３により処理の順序に並べ替えられて減算回路４に入力される。ここで画像データＤ１は、イントラ予測、インター予測による予測値との間で減算されて減算データＤ２が生成され、この減算データＤ２が直交変換回路７、量子化回路８、可逆符号化回路１０で順次処理されて符号化データＤ４に変換され、この符号化データＤ４が例えば記録系により記録媒体に記録される。また量子化回路８の出力データが、画像データに復号されてフレームメモリ１６に参照画像として記録され、この参照画像より動き予測・補償回路４４、イントラ予測回路４６でインター予測、イントラ予測の予測値が生成される。
【０２１９】
これら一連の処理において、画像データＤ１は、動き予測・補償回路４４、イントラ予測回路４６において、それぞれインター予測、イントラ予測の各予測モードについて、符号化効率を示すコスト関数によりコスト値が求められ、インター予測については、動き予測・補償回路４４におけるコスト値の比較により、最も符号化処理に適した最適モードが検出される。またイントラ・インター判定回路４５において、イントラ予測の各予測モードによるコスト値と、動き予測・補償回路４４で検出されたインター予測に係る最適モードのコスト値との比較により、最適な予測モードが検出される。これにより符号化装置４１では、この最適な予測モードによりイントラ予測、インター予測の何れの予測方式により符号化処理するかが決定され、イントラ予測による場合には、イントラ予測回路４６で最適モードによる予測値が生成されて減算回路４に出力される。またインター予測による場合には、動き予測・補償回路４４で最適モードによる予測値が生成されて減算回路４に出力される。これらにより符号化装置４１では、符号化効率を示すコスト関数によるコスト値の比較により、複数のイントラ予測モード、複数のインター予測モードから最適モードがマクロブロック毎に検出され、この最適モードにより画像データＤ１を順次符号化処理する。
【０２２０】
しかしてこれら各予測モードにおけるコスト値のうち、イントラ４×４予測モードにおけるコスト値は、（７７）式に示すように、従来、値２４による定数に、付加情報に関する量子化パラメータから量子化値への変換関数ＱＰ０（ＱＰ）を乗算してオフセット値ＳＡ（Ｔ）Ｄ０を計算し、このオフセット値ＳＡ（Ｔ）Ｄ０によりコスト値Ｃｏｓｔ（Ｍｏｄｅ）をオフセットさせることにより、インタースライスにおけるイントラマクロブロックの発生を低減するように設定される。
【０２２１】
これによりアクティビティの高い領域においては、イントラマクロブロックが選択された場合に、絵柄に応じた特定の方向のイントラ予測モードが適切に選択され、これにより符号化効率を確保しつつ、画質劣化を有効に回避することができる。しかしながらアクティビティの低い領域においては、ノイズの影響により予測モードが種々に切り換わったり、またデブロックフィルタにより過剰にブロック境界歪を抑圧することになる。
【０２２２】
このためこの符号化装置４１において、画像データＤ１は、アクティビティ算出回路４２において、画像の平坦度を示すパラメータとしてアクティビティが計算され、このアクティビティによりイントラ・インター判定回路４５でイントラ４×４予測モードのコスト値が補正された後、最適モードが検出される。これによりこの符号化装置４１では、アクティビティに応じて最適モードの選択を制御するように構成され、この構成により適切に最適モードを選択してアクティビティの低い領域における画質劣化を防止することが可能となる。
【０２２３】
すなわちこの符号化装置４１では、このコスト値の補正により、マクロブロックにおいて高周波成分が少ない場合に、イントラ予測モードが選択され難くなるように設定され、これによりアクティビティの低い領域におけるイントラ４×４予測モードの頻繁な切り換わりによる復号した画像のばたつき感が防止され、フリッカのような画質劣化が防止される。またさらにこのようにアクティビティの低い領域におけるデブロックフィルタによる過剰なブロック境界歪の抑圧を防止することができ、これにより見かけの解像度の低下を防止して画質劣化を防止することができる。
【０２２４】
より具体的に、この実施例では、このイントラ４×４予測モードにおいて、原画像と予測画像との誤差値ＳＡ（Ｔ）Ｄに対してオフセット値ＳＡ（Ｔ）Ｄ０を与える関数により定義されているコスト関数について、アクティビティＭＢ  ａｃｔを変数とする関数ｆ（ＭＢ  ａｃｔ）と、付加情報に関する量子化パラメータから量子化値への変換関数ＱＰ０（ＱＰ）との乗算値をオフセット値ＳＡ（Ｔ）Ｄ０に設定することにより、アクティビティに応じてコスト値を補正するように構成され、これによりこのアクティビティＭＢ
ａｃｔを変数とする関数ｆ（ＭＢ  ａｃｔ）の設定により必要に応じて種々の特性によりコスト値を補正することができ、これにより簡易かつ確実に、かつ種々に画質を向上することができる。
【０２２５】
またこのアクティビティＭＢ  ａｃｔを変数とする関数ｆ（ＭＢ  ａｃｔ）がこの実施例では単調減少関数に設定され、これによりアクティビティの低い領域における画質劣化を確実に防止することができる。
【０２２６】
またこの処理基準であるアクティビティが、画像データＤ１による画素値の分散値により計算されることにより、このような画質劣化を知覚し易い領域で適切にイントラ予測モードの選択を制御することができ、これにより従来に比して一段と画質を向上することができる。
【０２２７】
（３）実施例の効果
以上の構成によれば、符号化効率を示すコスト関数によるコスト値の比較により、複数のイントラ予測モード、複数のインター予測モードから最適モードをマクロブロック毎に検出して画像データを符号化処理する場合に、アクティビティによりコスト値を補正して最適モードを検出することにより、コスト関数によりイントラ予測モード、インター予測モードから最適モードを選択して画像データを符号化処理する場合に、アクティビティの低い領域における画質劣化を防止することができる。
【０２２８】
またこのときこのコスト値の補正が、マクロブロックにおいて高周波成分が少ない場合に、イントラ予測モードが選択され難くなるようにするコスト値の補正であることにより、確実に、アクティビティの低い領域における画質劣化を防止することができる。
【０２２９】
またこの処理基準であるアクティビティが、画像データＤ１による画素値の分散値であることにより、画質劣化を知覚し易い領域で適切にイントラ予測モードの選択を制御することができ、これにより従来に比して一段と画質を向上することができる。
【０２３０】
また原画像と予測画像との誤差値に対してオフセット値を与えるコスト関数によるコスト値について、アクティビティを変数とする関数と、付加情報に関する量子化パラメータから量子化値への変換関数との乗算値をオフセット値に設定し、これによりアクティビティによりコスト値を補正することにより、このアクティビティを変数とする関数の設定により必要に応じて種々の特性によりコスト値を補正することができ、これにより簡易かつ確実に、種々に画質を向上することができる。
【０２３１】
より具体的には、このアクティビティを変数とする関数に単調減少関数を適用することにより、アクティビティの低い領域における画質劣化を確実に防止することができる。
【実施例２】
【０２３２】
この実施例においては、実施例１について上述した１６×１６画素によるマクロブロックを単位にしたマクロブロックのアクティビティＭＢ  ａｃｔの直接の計算に代えて、マクロブロックを水平方向及び垂直方向にそれぞれ４分割した４×４画素によるブロックを単位にしてマクロブロックのアクティビティＭＢ  ａｃｔを計算する。なおこの実施例に係る符号化装置は、このアクティビティの検出に係るアクティビティ算出回路の構成が異なる点を除いて、実施例１について上述した符号化装置４１と同一に構成される。
【０２３３】
すなわちこの実施例において、アクティビティ算出回路は、マクロブロックを水平方向及び垂直方向にそれぞれ４分割した４×４画素によるブロック毎に、次式の演算処理を実行し、これによりこの４×４画素によるブロックの分散により各４×４画素ブロックのアクティビティａｃｔを検出する。
【０２３４】
【数７９】
2006094081.tif 000081
【０２３５】
またアクティビティ算出回路は、このようにして計算される各種ブロックによるアクティビティａｃｔをマクロブロックによりまとめて、マクロブロックのアクティビティＭＢ  ａｃｔを計算する。具体的にアクティビティ算出回路は、次式の演算処理により、マクロブロックを構成する４×４画素ブロックのアクティビティａｃｔより最小値を求めてマクロブロックのアクティビティＭＢ  ａｃｔを計算する。
【０２３６】
【数８０】
2006094081.tif 000082
【０２３７】
この実施例のように、マクロブロックを細分割したブロック毎に、画像データＤ１による画素値の分散値を計算した後、最小値を検出してアクティビティに設定するようにしても、実施例１と同様の効果を得ることができる。
【実施例３】
【０２３８】
この実施例においては、実施例２について上述した４×４画素によるブロックを単位にしたマクロブロックのアクティビティＭＢ  ａｃｔの直接の計算に代えて、マクロブロックを水平方向及び垂直方向にそれぞれ２分割した８×８画素によるブロックを単位にしてマクロブロックのアクティビティＭＢ  ａｃｔを計算する。なおこの実施例に係る符号化装置は、このアクティビティの検出に係るアクティビティ算出回路の構成が異なる点を除いて、実施例２について上述した符号化装置４１と同一に構成される。
【０２３９】
この実施例のように、マクロブロックを細分割したブロックを８×８画素のブロックに設定して、このブロック毎に、画像データＤ１による画素値の分散値を計算した後、最小値を検出してアクティビティに設定するようにしても、実施例２と同様の効果を得ることができる。
【実施例４】
【０２４０】
この実施例では、上述した平均値を基準にした分散値の計算によるアクティビティＭＢ  ａｃｔの検出に代えて、アダマール変換処理によりアクティビティＭＢ  ａｃｔを計算する。なおこの実施例に係る符号化装置は、このアクティビティの検出に係るアクティビティ算出回路の構成が異なる点を除いて、実施例２について上述した符号化装置と同一に構成される。
【０２４１】
すなわちこの実施例において、アクティビティ算出回路は、マクロブロックを水平方向及び垂直方向にそれぞれ４分割した４×４画素によるブロック毎に、次式の演算処理を実行し、これによりアダマール変換処理により４×４画素ブロックのアクティビティａｃｔを検出する。
【０２４２】
【数８１】
2006094081.tif 000083
【０２４３】
なおここでＨ4は、（８２）式により示す４次のアダマール行列である。また（８１）式の演算処理により得られる行列に対して、直流成分を除いた絶対値和を（８３）式より求め、これを当該４×４画素ブロックのアクティビティａｃｔとする。なおこのような４次のアダマール行列による４×４画素ブロックの処理に代えて、８次又は１６次のアダマール行列による８×８画素ブロック又は１６×１６画素ブロックの処理によりアクティビティを検出するようにしてもよい。
【０２４４】
【数８２】
2006094081.tif 000084
【０２４５】
【数８３】
2006094081.tif 000085
【０２４６】
またこのようにして計算した４×４画素ブロックによるアクティビティａｃｔを（８０）式の演算処理によりマクロブロックでまとめてアクティビティＭＢ  ａｃｔを検出する。
【０２４７】
この実施例のように、アダマール変換処理によりアクティビティＭＢ  ａｃｔを検出するようにしても、実施例１と同様の効果を得ることができる。
【実施例５】
【０２４８】
この実施例においては、イントター予測に係る最適モードの検出においても、アクティビティによりコスト関数を補正する。なおこの実施例に係る符号化装置は、このイントター予測の処理に係る動き予測・補償回路の構成が異なる点を除いて、実施例１について上述した符号化装置４１と同一に構成される。
【０２４９】
すなわちこの実施例において、動き予測・補償回路は、予測モードより最適モードを検出する際のコスト値の計算において、アクティビティＭＢ  ａｃｔによりオフセット値を生成し、このオフセット値によりコスト値を補正する。これにより動き予測・補償回路は、動き補償ブロックの大きさの選択、前予測、後予測、双方向予測の選択をアクティビティにより制御する。
【０２５０】
これによりこの符号化装置では、例えばアクティビティが低い場合には、動き補償ブロックの大きさの頻繁な切り換わり、前予測、後予測、双方向予測の頻繁な切り換わりを防止し、その分、このような切り換わりによるばたついた感じを防止して一段と画質を向上する。
【０２５１】
この実施例によれば、さらに動き補償ブロックの大きさの選択、前予測、後予測、双方向予測の選択をアクティビティにより制御することにより、一段と画質を向上することができる。
【実施例６】
【０２５２】
なお上述の実施例においては、ＡＶＣにおけるＬｏｗ  Ｃｏｍｐｌｅｘｉｔｙ  Ｍｏｄｅに本発明を適用する場合について述べたが、本発明はこれに限らず、Ｈｉｇｈ  Ｃｏｍｐｌｅｘｉｔｙ  Ｍｏｄｅに適用するようにしてもよい。
【０２５３】
また上述の実施例においては、本発明をＡＶＣによる符号化装置に適用する場合について述べたが、本発明はこれに限らず、符号化効率を示すコスト関数によるコスト値の比較により、複数のイントラ予測モード、複数のインター予測モードから最適モードをマクロブロック毎に検出して画像データを符号化処理する場合に広く適用することができる。
【０２５４】
また上述の実施例においては、本発明をハードウエアの構成に適用する場合について述べたが、本発明はこれに限らず、画像データをソフトウエアにより処理する場合にも適用することができる。なおこのようなソフトウエアに係る符号化処理、復号化処理のプログラムにおいては、例えばインターネット等のネットワークにより提供する場合、光ディスク、磁気ディスク、メモリカード等、種々の記録媒体により提供する場合に、広く適用することができる。
【産業上の利用可能性】
【０２５５】
本発明は、符号化装置、符号化方法、符号化方法のプログラム及び符号化方法のプログラムを記録した記録媒体に関し、動画による撮像結果を記録するビデオカメラ、電子スチルカメラ、監視装置等に適用することができる。
【図面の簡単な説明】
【０２５６】
【図１】本発明の実施例１に係る符号化装置を示すブロック図である。
【図２】図１の符号化装置における最適モード検出の処理手順を示すフローチャートである。
【図３】ＡＶＣ方式の符号化装置を示すブロック図である。
【図４】ＡＶＣ方式の復号化装置を示すブロック図である。
【図５】ＡＶＣ方式による係数データの処理の説明に供する略線図である。
【図６】ＡＶＣ方式のイントラ４×４予測モードにおける予測画素の設定の説明に供する略線図である。
【図７】イントラ４×４予測モードの説明に供する略線図である。
【図８】イントラ４×４予測モードを示す図表である。
【図９】イントラ４×４予測モードの各モードの説明に供する略線図である。
【図１０】予測モードの伝送の説明に供する略線図である。
【図１１】Ｃ言語の記述により予測モードの復号処理を示す図表である。
【図１２】イントラ１６×１６予測モードの予測画素の説明に供する略線図である。
【図１３】イントラ１６×１６予測モードを示す図表である。
【図１４】イントラ１６×１６予測モードの説明に供する略線図である。
【図１５】色差信号に係るイントラ予測モードの説明に供する図表である。
【図１６】ＡＶＣ方式の参照フレームの説明に供する略線図である。
【図１７】ＡＶＣ方式の動き補償の説明に供する略線図である。
【図１８】ＡＶＣ方式の動き補償精度の説明に供する略線図である。
【図１９】色差信号の動き補償の説明に供する略線図である。
【図２０】サブマクロブロックに係る動きベクトルの予測値の説明に供する略線図である。
【図２１】他の例による動きベクトルの予測値の説明に供する略線図である。
【図２２】テンポラルダイレクトモードの説明に供する略線図である。
【図２３】デブロックフィルタの処理の説明に供する略線図である。
【図２４】ブロック境界の強度の説明に供する図表である。
【図２５】デブロックフィルタの強度の調整の説明に供する特性曲線図である。
【図２６】デブロックフィルタの特性の設定に係るパラメータα及びβを示す図表である。
【図２７】デブロックフィルタの特性の設定に係るパラメータｔｃｏを示す図表である。
【符号の説明】
【０２５７】
１……符号化装置、５、２３、４６……イントラ予測回路、６、２４、４４……動き予測・補償回路、１５、２８……デブロックフィルタ、４２……アクティビティ算出回路、イントラ・インター判定回路
【図１】
2006094081.tif 000086
【図２】
2006094081.tif 000087
【図３】
2006094081.tif 000088
【図４】
2006094081.tif 000089
【図５】
2006094081.tif 000090
【図６】
2006094081.tif 000091
【図７】
2006094081.tif 000092
【図８】
2006094081.tif 000093
【図９】
2006094081.tif 000094
【図１０】
2006094081.tif 000095
【図１１】
2006094081.tif 000096
【図１２】
2006094081.tif 000097
【図１３】
2006094081.tif 000098
【図１４】
2006094081.tif 000099
【図１５】
2006094081.tif 000100
【図１６】
2006094081.tif 000101
【図１７】
2006094081.tif 000102
【図１８】
2006094081.tif 000103
【図１９】
2006094081.tif 000104
【図２０】
2006094081.tif 000105
【図２１】
2006094081.tif 000106
【図２２】
2006094081.tif 000107
【図２３】
2006094081.tif 000108
【図２４】
2006094081.tif 000109
【図２５】
2006094081.tif 000110
【図２６】
2006094081.tif 000111
【図２７】
2006094081.tif 000112