近年、放送局、一般家庭等に係る動画の伝送、記録においては、画像データの冗長性を有効に利用して効率良く画像データを伝送、蓄積する装置が普及しつつあり、このような装置は、例えばMPEG(Moving Picture Experts Group )等の方式に準拠して、離散コサイン変換等の直交変換と動き補償とにより画像データをデータ圧縮するように構成されている。
ここでこのような方式の1つであるMPEG2(ISO/IEC 13818-2 )は、汎用の画像符号化方式として定義された方式であり、飛び越し走査方式、順次走査方式の双方に対応できるように、また標準解像度画像、高精細画像の双方に対応できるように定義され、これらにより現在、プロフェッショナル用途及びコンシューマー用途の広範なアプリケーションに広く用いられている。具体的にMPEG2によれば、例えば720×480画素による標準解像度、飛び越し走査方式の画像データを4〜8〔Mbps〕のビットレートにデータ圧縮して、また1920×1088画素による高解像度、飛び越し走査方式の画像データを18〜22〔Mbps〕のビットレートにデータ圧縮して、高画質で高い圧縮率を確保することができる。
しかしながらMPEG2は、放送用に適合した高画質符号化方式であり、MPEG1より符号量の少ない高圧縮率の符号化方式には対応していない。これに対して近年の携帯端末の普及により、このようなMPEG1より符号量の少ない高圧縮率の符号化方式のニーズの高まりが予測される。このためMPEG4による符号化方式の規格が、ISO/IEC(International 0rganization for Standardization/International Electrotechnical Commission )14496−2により1998年12月に国際標準に承認された。
またこのような方式にあっては、当初はテレビ会議用の画像符号化を目的としたものであったH26L(ITU-T Q6/16 VCEG)の規格化が進み、MPEG2、MPEG4に比して演算量が増大するものの、MPEG2、MPEG4に比して高い符号化効率を確保できるようになり、またMPEG4の活動の一環として、このH26Lをベースにして各種機能を取り入れ、さらに一段と高い符号化効率を確保する符号化方式の標準化が、Joint Model of Enhanced-Compression Video Codingとして進められ、これらの方式にあっては、2003年3月に、H264及びMPEG−4 Part10(AVC:Advanced Video Coding )との名称により国際標準に設定された。
ここで図3は、このAVCに基づく符号化装置を示すブロック図である。この符号化装置1は、複数のイントラ予測モードと複数のインター予測モードとから最適な予測モードを選択し、この選択した予測モードによる予測値を画像データから減算して差分データを生成し、この差分データを直交変換処理、量子化処理、可変長符号化処理することにより、この画像データをイントラ符号化、インター符号化により符号化処理する。
すなわちこの符号化装置1において、アナログディジタル変換回路(A/D)2は、ビデオ信号SVをアナログディジタル変換処理して画像データD1を出力する。画面並べ替えバッファ3は、このアナログディジタル変換回路2から出力される画像データD1を入力し、この符号化装置1の符号化処理に係るGOP(Group of Pictures )構造に応じて、この画像データD1のフレームを並べ替えて出力する。
減算回路4は、この画面並べ替えバッファ3から出力される画像データD1を受け、イントラ符号化においては、イントラ予測回路5で生成される予測値との差分データD2を生成して出力するのに対し、インター符号化においては、動き予測・補償回路6で生成される予測値との差分データD2を生成して出力する。直交変換回路7は、減算回路4の出力データD2を入力し、離散コサイン変換、カルーネン・レーベ変換等の直交変換処理を実行し、その処理結果による変換係数データD3を出力する。
量子化回路8は、レート制御回路9のレート制御による量子化スケールにより、この変換係数データD3を量子化して出力する。可逆符号化回路10は、この量子化回路8の出力データを可変長符号化、算術符号化等により可逆符号化処理して出力する。また可逆符号化回路10は、イントラ符号化に係るイントラ予測モードに関する情報、インター符号化に係る動きベクトルに関する情報等をイントラ予測回路5、動き予測・補償回路6から取得し、これらの情報を出力データD4のヘッダ情報に設定して出力する。
蓄積バッファ11は、この可逆符号化回路10の出力データD4を蓄積して続く伝送路の伝送速度により出力する。レート制御回路9は、この蓄積バッファ11の空き容量の監視により符号化処理による発生符号量を監視すると共に、この監視結果により量子化回路8における量子化スケールを切り換え、これによりこの符号化装置1による発生符号量を制御する。
逆量子化回路13は、量子化回路8の出力データを逆量子化処理し、これにより量子化回路8の入力データを再生する。逆直交変換回路14は、逆量子化回路13の出力データを逆直交変換処理し、これにより直交変換回路7の入力データを再生する。デブロックフィルタ15は、この逆直交変換回路14の出力データよりブロック歪を除去して出力する。フレームメモリ16は、このデブロックフィルタ15の出力データに、適宜、イントラ予測回路5又は動き予測・補償回路6により生成される予測値を加算して参照画像情報として記録する。
しかして動き予測・補償回路6は、インター符号化において、このフレームメモリ16に保持された参照画像情報による予測フレームより画面並べ替えバッファ3から出力される画像データの動きベクトルを検出し、またこの検出した動きベクトルによりフレームメモリ16に保持した参照画像情報を動き補償して予測画像情報を生成し、この予測画像情報による予測値を減算回路4に出力する。
イントラ予測回路5は、イントラ符号化において、フレームメモリ16に蓄積された参照画像情報に基づいてイントラ予測モードを判定し、この判定結果により参照画像情報から予測画像情報の予測値を生成して減算回路4に出力する。
これらによりこの符号化方式においては、インター符号化とイントラ符号化とでそれぞれインター予測に係る動き補償による差分データD2とイントラ予測による差分データD2とを生成し、これらの差分データD2を直交変換処理、量子化処理、可変長符号化処理して伝送する。
図4は、このようにして符号化処理された符号化データD4を復号化処理する復号化装置を示すブロック図である。この復号化装置20において、蓄積バッファ21は、伝送路を介して入力される符号化データD4を一時蓄積して出力する。可逆復号化回路22は、この蓄積バッファ21の出力データを可変長復号化、算術復号化等により復号化処理し、符号化装置1における可逆符号化回路10の入力データを再生する。またこのときこの出力データがイントラ符号化されたものである場合、ヘッダに格納されたイントラ予測モードの情報を復号化してイントラ予測回路23に伝送するのに対し、この出力データがインター符号化されたものである場合、ヘッダに格納された動きベクトルに関する情報を復号して動き予測・補償回路24へ転送する。
逆量子化回路25は、可逆復号化回路22の出力データを逆量子化処理し、これにより符号化装置1の量子化回路8に入力される変換係数データD3を再生する。逆直交変換回路26は、この逆量子化回路25から出力される変換係数データを受け、4次の逆直交変換処理を実行し、これにより符号化装置1の直交変換回路7に入力される差分データD2を再生する。
加算器27は、逆直交変換回路26から出力される差分データD2を受け、イントラ符号化において、イントラ予測回路23で生成される予測画像による予測値を加算して出力するのに対し、インター符号化において、動き予測・補償回路24から出力される予測画像による予測値を加算して出力する。これにより加算器27は、符号化装置1における減算回路4の入力データを再生する。
デブロックフィルタ28は、この加算器27の出力データよりブロック歪を除去して出力し、画面並べ替えバッファ29は、このデブロックフィルタ28から出力される画像データのフレームをGOP構造に応じて並べ替えて出力する。ディジタルアナログ変換回路(D/A)30は、この画面並べ替えバッファ29の出力データをディジタルアナログ変換処理して出力する。
フレームメモリ31は、デブロックフィルタ28の出力データを参照画像情報として記録して保持する。動き予測・補償回路24は、インター符号化において、可逆復号化回路22から通知される動きベクトルの情報によりフレームメモリ31に保持された参照画像情報を動き補償して予測画像による予測値を生成し、この予測値を加算器27に出力する。またイントラ予測回路23は、イントラ符号化において、可逆復号化回路22から通知されるイントラ予測モードによりフレームメモリ31に保持された参照画像情報より予測画像による予測値を生成し、この予測値を加算器27に出力する。
しかしてこのような一連の処理によるAVCの符号化処理においては、図5に示すように、1つのマクロブロックが、輝度信号Yでは16×16画素により形成されるのに対し、色差信号Cr、Cbでは8×8画素により形成され、それぞれマクロブロックを単位にして処理される。すなわちこれらマクロブロックは、数字0〜25により示す4×4画素による小ブロックに分割され、各小ブロック毎に、差分データD2が直交変換処理、量子化処理される。
この処理において、色差信号Cr、Cbは、直交変換処理による係数から直流成分がマクロブロック毎に集められて2×2マトリックスが形成され、この2×2マトリックスが2次のアダマール変換処理の後、量子化処理される。また後述するイントラ16×16予測モードによる場合、輝度信号Yは、直交変換処理による係数から直流成分がマクロブロック毎に集められて4×4マトリックスが形成され、この4×4マトリックスが4次のアダマール変換処理後、量子化処理される。
しかしてこのような符号化処理に係るイントラ符号化は、輝度信号の処理に関して、イントラ4×4予測モードとイントラ16×16予測モードとが用意されている。ここでAVCでは上述したように4×4画素のブロック単位で差分データD2を直交変換処理し、イントラ4×4予測モードは、この直交変換処理のブロック単位で、イントラ予測に係る予測値を生成するモードである。これに対してイントラ16×16予測モードは、この直交変換処理のブロックの複数個を単位にしてイントラ予測に係る予測値を生成するモードであり、この複数個が水平方向及び垂直方向にそれぞれ4個に設定される。
このうちイントラ4×4予測モードでは、図6に示すように、予測値を生成する4×4画素a〜pによるブロックに対して、近傍13個の画素A〜Mの一部が予測値の生成に供する予測画素に設定され、この予測画素より予測値が生成される。なおここでこの13個の画素A〜Mは、このブロックの走査開始端側、垂直方向に隣接する4個の画素A〜Dと、この4個の画素A〜Dの走査終了端側の画素Dに続く4個の画素E〜Fと、このブロックの走査開始端側、水平方向に隣接する4個の画素I〜Lと、この水平方向に隣接する4個の画素I〜Lのうちの走査開始端側の画素Iの上方に位置する画素Mとにより形成される。
イントラ4×4予測モードでは、これら13個の予測画素A〜Mと、予測値の生成に供する4×4個の画素a〜pとの相対的な関係により、図7及び図8に示すように、モード0〜モード8の予測モードが定義されている。すなわち図6に示すように、例えばモード0及び1では、予測値の生成に使用する13個の予測画素A〜Mのうち、それぞれ垂直方向及び水平方向に隣接する予測画素A〜D及びI〜Lにより予測値を生成する。
より具体的には、図9(A)において矢印により示すように、モード0は、垂直方向に隣接する予測画素A〜Dより予測値を生成するモードであり、次式により示すように、予測値を生成する4×4個の画素a〜pのうち、垂直方向に連続する1列目の画素a、e、i、mは、その上方向の画素Aが予測画素に設定される。また続く2列目の画素b、f、j、nは、その上方向の画素Bが予測画素に設定され、続く3列目及び4列目の画素c、g、k、o及びd、h、l、pは、それぞれ上方の画素C及びDが予測画素に設定され、これら予測画素A〜Dの画素値がそれぞれ対応する画素a〜pの予測値に設定される。なおモード0は、このモードにおける予測画素A〜Dが有意である場合にのみ適用される。
また図9(B)に示すように、モード1は、水平方向に隣接する予測画素I〜Lより予測値を生成するモードであり、次式により示すように、予測値を生成する4×4個の画素a〜pのうち、水平方向に連続する1ラインの画素a〜dは、その左方の画素Iが予測画素に設定される。また続く2ライン目の画素e〜hは、その左方の画素Jが予測画素に設定され、続く3ライン目及び4ライン目の画素i〜l及びm〜pは、それぞれ左方の画素K及びLが予測画素に設定され、これら予測画素I〜Lの画素値がそれぞれ対応する画素a〜pの予測値に設定される。なおモード1は、このモードにおける予測画素I〜Lが有意である場合にのみ適用される。
これに対してモード2は、図9(C)に示すように、13個の予測画素A〜Mのうち、このブロックの垂直方向及び水平方向に隣接する画素A〜D及びI〜Lより予測値を生成するモードであり、これらの画素A〜D及びI〜Lが全て有意な場合に、次式により各画素a〜pの予測値が生成される。
なおモード2においては、画素A〜Dが全て有意でない場合、予測値は、(4)式により生成され、画素I〜Lが全て有意でない場合、予測値は、(5)式により生成され、画素A〜D及びI〜Lが全て有意でない場合、予測値は値128に設定される。
これに対してモード3は、図9(D)に示すように、13個の予測画素A〜Mのうち、水平方向に連続する画素A〜Hより予測値を生成するモードであり、これらの画素A〜Hのうちの画素A〜Dと画素I〜Mとが全て有意な場合にのみ適用されて、次式により各画素a〜pの予測値が生成される。
これに対してモード4は、図9(E)に示すように、13個の予測画素A〜Mのうち、4×4個の画素a〜pによるブロックに隣接する画素A〜D、I〜Mにより予測値を生成するモードであり、これらの画素A〜D、I〜Mが全て有意な場合にのみ適用されて、次式により各画素a〜pの予測値が生成される。
これに対してモード5は、図9(F)に示すように、13個の予測画素A〜Mのうち、4×4個の画素a〜pによるブロックに隣接する画素A〜D、I〜K、Mとにより予測値を生成するモードであり、予測画素A〜D、I〜Mが全て有意な場合にのみ適用されて、次式により各画素a〜pの予測値が生成される。
これに対してモード6は、図9(G)に示すように、13個の予測画素A〜Mのうち、4×4個の画素a〜pによるブロックに隣接する画素A〜C、I〜Mとにより予測値を生成するモードであり、予測画素A〜D、I〜Mが全て有意な場合にのみ適用されて、次式により各画素a〜pの予測値が生成される。
これに対してモード7は、図9(H)に示すように、13個の予測画素A〜Mのうち、4×4個の画素a〜pによるブロックの上方に隣接する4個の画素A〜Dと、この4個の画素A〜Dに続く4個の画素E〜Gとにより予測値を生成するモードであり、これらのうちの画素A〜D及び画素I〜Mが全て有意な場合にのみ適用されて、次式により各画素a〜pの予測値が生成される。
これに対してモード8は、図9(I)に示すように、13個の予測画素A〜Mのうち、4×4個の画素によるブロックの左方に隣接する4個の画素I〜Lにより予測値を生成するモードであり、画素A〜D及び画素I〜Mが全て有意な場合にのみ適用されて、次式により各画素a〜pの予測値が生成される。
このようなAVCは、イントラ4×4予測モードによる符号化処理においては、ラスタ走査の順序による処理を有効に利用して予測モードを伝送対象に通知する。すなわち4×4予測モードによりイントラ符号化する場合において、図10に示すように、処理対象であるブロックCの予測モードIntra 4x4 pred mode Cに対して、水平方向及び垂直方向に処理を完了している隣接ブロックA及びBの予測モードIntra 4x4 pred mode A及びIntra 4x4 pred mode Bは、高い相関を有する。これによりこれら隣接ブロックA及びBの予測モードIntra 4x4 pred mode A及びIntra 4x4 pred mode Bを用いて、次式により、最も可能性の高い予測モードMost Probable Modeを定義する。なおこの(12)式におけるminの判定は、これら予測モードの伝送に供するコードmode numberにより実行し、コードmode number の値の小さい側の予測モードを最も可能性の高い予測モードMost Probable Modeに設定する。
またビットストリーム中に、この4×4画素によるブロックに係るパラメータとして、予測モードの伝送の有無を示すフラグprev intra 4x4 pred mode flag[luma 4x4 BlkIdx]と、予測モード rem intra 4x4 pred mode[luma 4x4 BlkIdx] とが定義され、復号側は、C言語の記述により図11に示すようにこれら2つのパラメータを処理して、処理対象であるブロックCの予測モードIntra 4x4 pred mode Cを検出する。なおここで[luma 4x4
BlkIdx] は、輝度データに係る対象ブロックを特定するブロック番号である。
すなわちこの場合、予測モードの伝送の有無を示すフラグprev intra 4x4 pred mode flag[luma 4x4BlkIdx]が設定されている場合、隣接ブロックA及びBの予測モードIntra 4x4 pred mode A及びIntra 4x4 pred mode Bを用いて(12)式により復号側で検出される最も可能性の高い予測モードMost Probable Modeを処理対象であるブロックCの予測モードに設定する。またこのフラグ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] を処理対象ブロックCの予測モードに設定する。またフラグ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 に値1を加算したコードmode number の予測モードを処理対象ブロックCの予測モードに設定する。
これらにより符号化装置1は、最も可能性の高い予測モードMost Probable Modeが処理対象ブロックCの予測モードと一致する場合、予測モードの伝送の有無を示すフラグprev intra 4x4 pred mode flag[luma 4x4 BlkIdx]を設定して、予測モード rem intra 4x4 pred mode[luma 4x4 BlkIdx] の伝送を中止し、伝送に供するデータ量を削減する。
これに対してイントラ16×16予測モードでは、図12に示すように、予測値を生成する16×16個の画素P(0,15)〜P(15,15)によるブロックBに対して、このブロックを構成する画素P(0,15)〜P(15,15)と、このブロックBの上方及び左方に隣接する画素P(0,−1)〜P(15,−1)及びP(−1,0)〜P(−1,15)が予測画素に設定され、これらの予測画素により予測値が生成される。
イントラ16×16予測モードでは、図13に示すように、モード0〜モード3の予測モードが定義され、このうちモード0は、処理対象ブロックBの上方に隣接する画素P(0,−1)〜P(15,−1)(P(x,−1);x,y=−1〜15)が有意な場合にのみ適用されて、次式により示すように、ブロックBを構成する各画素P(0,15)〜P(15,15)の予測値が生成される。これにより図14(A)に示すように、ブロックBに隣接する各画素P(0,−1)〜P(15,−1)の画素値によりブロックBの垂直方向に連続する各画素の予測値が生成される。
これに対してモード1は、ブロックBの左方に隣接する画素P(−1,0)〜P(−1,15)(P(−1,y);x,y=−1〜15)が有意な場合にのみ適用されて、次式により示すように、ブロックBを構成する各画素P(0,15)〜P(15,15)の予測値が生成され、これにより図14(B)に示すように、ブロックBに隣接する各画素P(−1,0)〜P(−1,15)の画素値によりブロックBの水平方向に連続する各画素の予測値が生成される。
これに対してモード2は、ブロックBの上方及び左方に隣接する画素P(0,−1)〜P(15,−1)及びP(−1,0)〜P(−1,15)が全て有意な場合には、次式により予測値が求められ、これにより図14(C)に示すように、これらの画素P(0,−1)〜P(15,−1)及びP(−1,0)〜P(−1,15)による画素値の平均値によりブロックBを構成する各画素の予測値が生成される。
なおモード2においては、これらブロックBの上方及び左方に隣接する画素P(0,−1)〜P(15,−1)及びP(−1,0)〜P(−1,15)のうち、上方に隣接する画素P(−1,0)〜P(−1,15)が有意でない場合、(16)式が適用されて有意な側の隣接画素の平均値により各画素の予測値が生成される。また左方に隣接する画素P(−1,0)〜P(−1,15)が有意でない場合、(17)式が適用され、この場合も有意な側の隣接画素の平均値によりブロックBを構成する各画素の予測値が生成される。またブロックBの上方及び左方に隣接する画素P(0,−1)〜P(15,−1)及びP(−1,0)〜P(−1,15)の全てが有意でない場合、値128に予測値が設定される。
これに対してモード3は、ブロックBの上方及び左方に隣接する画素P(0,−1)〜P(15,−1)及びP(−1,0)〜P(−1,15)が全て有意な場合にのみ適用され、次式により予測値が求められ、これにより図14(D)に示すように、斜め方向の演算処理により各画素の予測値が生成される。
このような輝度信号に係る各種のイントラ予測モードに対して、色差信号は、輝度信号におけるイントラ16×16予測モードと同様に予測モードが設定される。但し、イントラ16×16予測モードが16×16画素のマクロブロックが処理対象であるのに対し、色差信号に対するイントラ予測モードは8×8画素のマクロブロックが処理対象であり、また図15に示すように、輝度信号の場合に比して、モード番号と対応する予測モードとが異なる。また輝度信号と色差信号とでは、予測モードがそれぞれ独立に設定される。
すなわちモード0においては、画素P(x,−1)及び画素P(−1,y)が有意な場合に、次式により予測値が生成される。
なお画素P(−1,y)が有意でない場合、(20)式により、画素P(x,−1)が有意でない場合、(21)式により予測値が生成される。
またモード1においては、画素P(−1,y)が有意な場合にのみ適用されて、次式により予測値が生成される。
またモード2においては、P(x,−1)が有意な場合にのみ適用されて、次式により予測値が生成される。
またモード3においては、画素P(x,−1)及び画素P(−1,y)が有意な場合に、次式により予測値が生成される。
これに対してインター符号化においては、Multiple Reference Frames により、図16に示すように、処理対象のフレームOrgに対して、複数の参照フレームRefの何れかを選択して動き補償できるように設定され、これにより直前のフレームにおいて動き補償のブロックに対応する部位が隠れている場合、さらにはフラッシュ等により直前のフレームで一時的に全体の画素値が変動した場合等にあっても、高い精度により動き補償してデータ圧縮効率を向上する。
また動き補償に係るブロックにおいては、図17(A1)に示すように、16画素×16画素によるブロックを基準にして動き補償するようになされているものの、variable
MC Block Sizeによりtree-structured motion compensation がサポートされており、これにより図17(A2)〜(A4)に示すように、16画素×16画素によるブロックを水平方向及び又は垂直方向に2分割して、16画素×8画素、8画素×16画素、8画素×8画素によるサブマクロブロックによりそれぞれ独立に動きベクトル、参照フレームを設定して動き補償できるように設定されている。また8画素×8画素によるサブマクロブロックについては、図17(B1)〜(B4)に示すように、8画素×8画素、8画素×4画素、4画素×8画素、4画素×4画素によるサブマクロブロックにさらに分割して、それぞれ独立に動きベクトル、参照フレームを設定して動き補償できるように設定されている。
また動き補償においては、6タップのFIRフィルタを用いて1/4画素精度により動き補償できるように設定されている。これにより図18において、符号Aにより1画素精度の画素値、符号b〜dにより1/2画素精度の画素値、符号e1〜e3により1/4画素精度の画素値を示すように、動き予測・補償回路6は、6タップのFIRフィルタの各タップ入力を値1、−5、20、20、−5、1により重み付けして次式の演算処理を実行することにより、水平方向又は垂直方向の連続する画素間に1/2画素精度による画素値b又はdを計算する。
またこのようにして計算した1/2画素精度による画素値b又はdを用いて、6タップのFIRフィルタの各タップ入力を値1、−5、20、20、−5、1により重み付けして次式の演算処理を実行することにより、水平方向及び垂直方向の連続する画素間の1/2画素精度による画素値cを計算する。
またこのようにして計算した1/2画素精度による画素値b〜dを用いて、直線補間による次式の演算処理を実行することにより、1/4画素精度による画素値e1〜e3を計算する。なおこの(25)式及び(26)式の重み付け加算に係る正規化の処理においては、垂直方向及び水平方向の全ての補間処理が完了して実行される。
このような輝度信号に対する動き補償の処理に対して、色差信号に対する動き補償は、線型補間により実行される。すなわち図19に示すように、画素ピッチsによる隣接画素A〜Dに対して、水平方向及び垂直方向にそれぞれ内分比dx、s−dx及びdy、s−dyに係るサンプリング点に設定される画素値νは、次式により表される。
AVCでは、このようなインター予測に係る符号化の情報である動きベクトルついても、連続するマクロブロック、サブマクロブロック間の相関を有効に利用してデータ伝送量を低減する。すなわちAVC符号化においては、1つのマクロブロックを複数のサブマクロブロックに分割してそれぞれ動き補償することも可能であることにより、動きベクトルの伝送に供する符号量が増大する。このためブロック毎にそれぞれ水平方向成分及び垂直方向成分について動きベクトル予測値pmv を生成し、この動きベクトル予測値pmv と実際の動きベクトルmvとの間で次式により表される演算処理による計算される差分値の動きベクトル情報MVD(Motion Vector Data)を符号化して伝送する。
但し、図20(A)に示すように、動きベクトルmvに係るブロックが、1つのマクロブロックを水平方向に2分割して形成される2つのサブマクロブロックうちの右側のサブマクロブロックCの場合であって、動きベクトル予測値mvの検出に係る参照フレームrefIdxE が、残る左側に隣接するサブマクロブロックAの参照フレームrefIdxAと等しい場合、次式により示すように、この左側に隣接するサブマクロブロックAで検出された動きベクトルmvA を動きベクトル予測値pmv に設定する。
またこれとは逆に、動きベクトルmvに係るブロックが、左側のサブマクロブロックAの場合であって、動きベクトル予測値mvの検出に係る参照フレームrefIdxE が、残る右側に隣接するサブマクロブロックCの参照フレームrefIdxC と等しい場合、次式により示すように、この右側に隣接するサブマクロブロックCで検出された動きベクトルmvC を動きベクトル予測値pmv に設定する。
また図20(B)に示すように、動きベクトルmvに係るブロックが、1つのマクロブロックを垂直方向に2分割して形成される2つのサブマクロブロックうちの上側のサブマクロブロックCの場合であって、動きベクトル予測値mvの検出に係る参照フレームrefIdxE が、残る下側に隣接するサブマクロブロックBの参照フレームrefIdxA と等しい場合、次式により示すように、この下側に隣接するサブマクロブロックBで検出された動きベクトルmvB を動きベクトル予測値pmv に設定する。
またこれとは逆に、動きベクトルmvに係るブロックが、下側のサブマクロブロックBの場合であって、動きベクトル予測値mvの検出に係る参照フレームrefIdxE が、残る上側に隣接するサブマクロブロックAの参照フレームrefIdxA と等しい場合、次式により示すように、この下側に隣接するサブマクロブロックAで検出された動きベクトルmvA を動きベクトル予測値pmv に設定する。
またこれら以外の場合にあっては、図21(A)に示すように、動き補正に係るブロックEに対して、隣接するブロックで検出される動きベクトルにより動きベクトルの予測値pmv を生成する。なおここでこの隣接するブロックは、ラスタ走査順序による水平方向の走査開始側に隣接するブロックA、ラスタ走査の順序により垂直方向の走査開始側に隣接するブロックB、このブロックの左右のブロックC、Dである。なおこれら隣接するブロックによる動きベクトルの予測値pmvは、図21(B)に示すように、この隣接するブロックに属するサブマクロブロックで検出される動きベクトルにも適用される。
具体的に、各隣接ブロックの検出に係る参照フレームインデックスrefIdxA 、refIdxB 、refIdxC の値により、動き補正に係るブロックEとの間で参照フレームが一致する隣接ブロックが存在する場合、次式により、この参照フレームが一致してなる隣接ブロック(N=A or B or C )による動きベクトルmvN を動きベクトル予測値pmv に設定する。
またこれ以外の場合には、垂直方向及び水平方向の各成分について、次式により、メディアンフィルタによる処理結果による成分を動きベクトル予測値pmv の各成分に設定する。
但し、垂直方向に隣接するブロックB、又はこのブロックBに続くブロックCの何れかが有意でない場合であって、水平方向に隣接するブロックAが有意である場合、これら垂直方向に係る隣接ブロックB及びCの動きベクトルmv及び参照フレームインデックスrefIdxは、次式により示すように、ブロックAによる動きベクトルmvA 及び参照フレームインデックスrefIdxA が代用される。
なおAVCでは、Bピクチャにおいて、テンポラル(時間)ダイレクトモードと、スペーシャル(空間)ダイレクトモードとによるダイレクトモードが設けられており、このダイレクトモードでは動きベクトルに関する情報の伝送を中止して符号化効率を向上する。
すなわちスペーシャルダイレクトモードでは、予測ベクトルpmv を動きベクトルに設定して復号化処理を実行する。これに対してテンポラルダイレクトモードは、動きが線形であると仮定して、図22に示すように、符号化処理を完了した予測フレームL1の対応するブロック(Co−Located Block)の動きベクトルmvcol を用いた線型補間により、処理対象のBピクチャに係る動きベクトルMVl0及びMVl1を作成するものである。なお、AVC画像圧縮情報においては、これらピクチャL0、L1との間の時間情報に係るパラメータTDが存在しないことにより、これに代えてPOC (Picture Order Count) が用いられる。
AVCは、これらイントラ及びインター予測に係る予測モードに関して、AVCに係るJoint Model(AVC参照符号化方式)により、マルチパスエンコードを前提としたHigh Complexity Modeと、1パスエンコードを前提としたLow Complexity Modeとが定義されており、これらの定義に従って最適なモードを選択して符号化処理を実行する。またこれらのモードのうち、Low Complexity Modeでは、符号化効率を示すコスト関数を次式により定義し、このコスト関数により得られるコスト値Cost(Mode)の比較により最適モードを検出する。
ここでSA(T)Dは、原画像と予測画像との誤差値であり、これら原画像と予測画像との間の、画素値差分値の絶対値誤差和が適用される。またSA(T)D0は、ヘッダビット、モード判定の際の重みとなるコストであり、誤差値SA(T)Dに与えられるオフセット値であり、動きベクトル等の付加的な情報の伝送に供するデータ量が示される。
具体的に絶対値誤差和SADは、各マクロブロックについて、次式により示され、それぞれ各予測モードModeにおける原画像と予測画像の差分値が適用される。
なおここでこの(38)式による絶対値誤差和SADに代えて、次式による得られる差分加算値SATD(Mode )を用いてもよい。
なおHadamard()は、次式により示すように、対象の行列にアダマール変換行列を掛けるアダマール変換操作である。なおアダマール変換行列は、(41)式により表され、HTは、アダマール変換行列の転置行列である。
またオフセット値SA(T)D0は、前予測モードにおいては、次式により示される。なおここでQP0(QP)は、量子化パラメータQPを量子化スケールに変換する関数であり、MVDFWは、前予測に係る動きベクトルであり、Bit to code は、この動きベクトルに係るビットストリーム上の符号量である。
またオフセット値SA(T)D0は、後予測モードにおいては、次式により表される。なおここでMVDBWは、後予測に係る動きベクトルである。
またオフセット値SA(T)D0は、 Bi-Predictive予測モードにおいては、次式により表される。なおここでBit to code forward Blk size、Bit to code backward Blk size は、それぞれ前予測及び後予測に係る動き補償ブロックに関する情報の伝送に必要なビットストリーム上における符号量である。
またダイレクトモードにおいては、オフセット値SA(T)D0は、次式により求められる。
またイントラ4×4予測モードでは、オフセット値SA(T)D0は、次式により求められる。
因みに、このコスト関数にあっては、動きベクトルの探索にも適用され、次式により示すように、コスト値Costを最小にする動きベクトルが検出される。
これらによりLow Complexity Modeにおいて、最適モードを検出する場合、符号化装置1では、イントラ予測回路5及び動き予測・補償回路6において、輝度信号を用いて、それぞれイントラ符号化及びインター符号化の全ての予測モードのコスト値Costを計算し、このコスト値Costの最も小さな予測モードをそれぞれ選択してイントラ符号化の最適モード及びインター符号化の最適モードを検出する。またこれらイントラ符号化の最適モード及びインター符号化の最適モードにおけるコスト値Costの比較により、イントラ符号化、インター符号化を選択すると共に、輝度信号の最適モードを検出する。またこれによりイントラ符号化が選択された場合、色差信号について各イントラ予測モードのコスト値を計算し、このコスト値の比較により最も値の小さなイントラ予測モードが色差信号の最適モードに設定される。なお、インター符号化が選択された場合、色差信号は、輝度信号に係る参照フレーム、動きベクトル、輝度信号に対応する動き補償ブロックにより予測値が生成される。
これらによりAVCでは、複数のイントラ予測モード、複数のインター予測モードから最適モードをマクロブロック毎に検出し、この最適モードにより画像データを符号化処理し、これにより画像データを効率良く符号化処理する。
またAVCにおいて、デブロックフィルタ15、28は、復号画像におけるブロック歪を除去すると共に、動き補償処理によるブロック歪の伝播を防止する為に適用され、以下のように定義される。なおここで量子化パラメータQPは、輝度信号の処理においては、QPYが適用され、色差信号の処理においては、QPCが適用される。またデブロックフィルタ処理は、隣接画素に関しては、異なるスライスに属する画素値でも、同一のピクチャに属する場合は有意であるとして処理が実行される。
ここで図23に示すように、ブロック境界を間に挟んで連続する画素について、デブロックフィルタによる処理前の画素値をp0〜p3、q0〜q3とし、処理後の画素値をp0' 〜p3' 、q0' 〜q3' とする。これら処理対象の画素値に対して、図24に示すように、各画素がイントラマクロブロックに属するか否か等によりブロック境界の強度値(Bs:Boundary Strength)が定義される。
この定義を前提に、次式により示す関係式が成立する場合に、デブロックフィルタの処理が実行される。
なおここで定数α、βは、デフォルトでは次式により示すように、量子化パラメータQPにより図25に示すように設定されるが、矢印Aにより示すように、画像圧縮情報中のスライスヘッダに含まれるパラメータslice alpha c0 offset div2及びslice beta offset div2により用度を調整することが可能である。なおここで図26は、α及びβの設定を示す図表であり、この図26におけるindexAとindexBは、次式により定義され、オフセット値Filter OffsetA 及びFilter OffsetBがユーザによる調整分に相当する。
AVCでは、ブロック境界の強度値Bsが値4以下の場合、次式により示すように、画素値p0' 、q0' が設定される。
ここでtcは、クロマエッジフラグ(chroma Edge Flag)が値0の場合、(51)式による値に設定され、それ以外の場合、(52)式による値に設定される。またtcoは、indexA、indexBと、Bsとにより図27に示すように定義される。
またap及びaqは、次式により表される。
これに対して画素値p1' は、クロマエッジフラグ(chroma Edge Flag)が値0であって、かつapの値がb以下の場合、(54)式による値に設定され、それ以外の場合、(55)式による値に設定される。
また画素値q1' は、クロマエッジフラグ(chroma Edge Flag)が値0であって、かつaqの値がb以下の場合、(56)式による値に設定され、それ以外の場合、(57)式による値に設定される。
また画素値p2' 及びq2' は、次式により示すように、処理前の画素値p2及びq2に設定される。
これに対してブロック境界の強度値Bsが値4の場合、処理後の画素値pi' (i=0〜2)は、クロマエッジフラグ(chroma Edge Flag)が値0の場合であって、次式の関係式が成立する場合、(60)式により示す値に設定される。
またこのような条件に該当しない場合、次式により示す値に設定される。
またブロック境界の強度値Bsが値4の場合、処理後の画素値qi' (i=0〜2)は、クロマエッジフラグ(chroma Edge Flag)が値0の場合であって、次式の関係式が成立する場合、(63)式により示す値に設定される。
またこのような条件に該当しない場合、次式により示す値に設定される。
AVCによる符号化装置1及び復号化装置20において、デブロックフィルタ28は、これらにより適宜特性を切り換えて、ブロック歪の発生を防止する。
これに対してレート制御においては、例えばTM5(MPEG−2 Test Model 5)による手法が適用される。ここでTM5によるレート制御は、各ピクチャへの目標符号量を設定するビット配分のステップと、仮想バッファ制御を用いたレート制御のステップと、視覚特性を考慮した適応量子化のステップとによる3つの階層から構成される。
これらのステップのうちビット配分のステップでは、1GOPへの割当ビット量、それまでの発生符号量から、未だ符号化処理されていないピクチャへの目標符号量を計算し、以下の2つの仮定に基づいて、各ピクチャへの符号量割当量を計算する。
ここで第1の仮定は、各ピクチャを符号化する際に用いる平均量子化スケールと、発生符号量との積は、画面が変化しない限り、ピクチャタイプ毎に一定値であるとの仮定である。これによりこのレート制御においては、各ピクチャを符号化処理した後、各ピクチャタイプ毎に、画面の複雑さを表すパラメータXi、Xp、Xb(global complexity measure ) を次式により更新する。これによりTM5によるレート制御においては、これらのパラメータXi、Xp、Xbにより、次のピクチャを符号化処理する際の量子化スケールコードと発生符号量との関係を推定する。
ここで(65)式の各変数の添え字は、それぞれIピクチャ、Pピクチャ、Bピクチャを示す添え字である。またSi 、Sp 、Sb は、各ピクチャの符号化処理による発生符号ビット量であり、Qi 、Qp 、Qb は、各ピクチャの符号化時における平均量子化スケールコードである。またパラメータXi 、Xp 、Xb の初期値は、目標符号量bit rate〔bit/sec 〕を用いて、次式により与えられる。
また第2の仮定は、Iピクチャの量子化スケールに対するPピクチャの量子化スケールコードの比率Kp 、Iピクチャの量子化スケールに対するBピクチャの量子化スケールコードの比率Kb が、次式の関係に保持されている場合に、常に全体の画質が最良となるとの仮定である。
すなわちこの仮定は、Iピクチャ、Pピクチャの量子化スケールに対してBピクチャの量子化スケールを常に1.4倍に設定することにより全体の画質が最良となることを意味するものであり、Iピクチャ、Pピクチャに比してBピクチャを粗く量子化してBピクチャに割当る符号量を節約し、その分、Iピクチャ、Pピクチャに多くの符号量を振り分けてIピクチャ、Pピクチャの画質を向上すると共に、Iピクチャ、Pピクチャを参照するBピクチャの画質も併せて向上し、これらにより全体的に見た画質を最良とするものである。
これらによりTM5では、次式の演算処理により、各ピクチャへの割当ビット量Ti、Tp、Tbを計算する。なおここでNp、Nbは、処理対象であるGOP内で、未だ符号化されていないPピクチャ、Bピクチャの枚数である。
これによりTM5では、上述した2つの仮定に基づいて、各ピクチャの発生符号量を推定する。このとき符号割当対象とは異なるピクチャタイプのピクチャについては、画質最適化条件の下で、そのピクチャの発生する符号量が、割当対象ピクチャの発生符号量の何倍となるかを推定する。またこの推定により、GOP内の未符号化ピクチャが、符号割当対象のピクチャタイプにおける何枚分のピクチャに相当するかを推計し、この推計結果より各ピクチャへの割当ビット量を計算する。なおこの場合に、レート制御回路9は、ヘッダ等の固定的に必要となる符号量を考慮して、その値に下限を設定して割当ビット量を計算する。
これに対して続くレート制御のステップでは、ビット配分のステップで求められた各ピクチャへの割当ビット量Ti 、Tp 、Tb と、実際の発生符号量とを一致させるため、各ピクチャタイプ毎に独立に3種類の仮想バッファを設定し、この仮想バッファの容量に基づいて量子化回路8の量子化スケールをマクロブロック単位のフィードバック制御により計算する。
ここで始めに、これら3種類の仮想バッファの占有率を、次式の演算式により計算する。なおここでd0i、d0p、d0bは、各仮想バッファの初期占有量、Bjは、ピクチャ先頭からj番目のマクロブロックまでの発生ビット量、MB_cntは、1ピクチャ内でのマクロブロック数である。
この(69)式により計算結果に基づいてj番目のマクロブロックに対する量子化スケールを、次式により計算する。
なおここでrは、リアクションパラメータであり、フィードバックの応答を制御するパラメータである。TM5において、リアクションパラメータr及び初期値d0i、d0p、d0bは、次式により与えられる。
なおシーケンス先頭における仮想バッファの初期値は以下の式により与えられる。
続く適応量子化のステップでは、レート制御のステップで計算された量子化スケールを視覚特性を考慮して補正し、これにより視覚特性を考慮した最適量子化の処理を実行する。ここでこの最適量子化の処理においては、視覚的に劣化の目立ちやすい平坦部ではより細かく量子化するように、また劣化の比較的目立ちにくい絵柄の複雑な部分でより粗く量子化するように、各マクロブロックの平坦度を示すアクティビティにより、量子化スケールを補正する。
ここでアクティビティは、16×16画素の大きさによるマクロブロック毎に、このマクロブロックを構成する8×8画素による4個のブロックについて、フレームDCTモードにおける4個のブロックと、フィールドDCTモードにおける4個のブロックとによる計8個のブロックの画素値を用いて、次式により算出され、これにより該当マクロブロックにおける輝度レベルの平滑度を示すようになされている。
なおここでPk は、原画の輝度信号ブロック内画素値である。この(73)式において最小値を取るのは、このマクロブロック内の一部だけでも平坦部分のある場合には量子化ステップを細かくして画質劣化を防止するためである。
TM5では、この計算式により求めたアクティビティを次式により正規化し、これにより0.5〜2の範囲で値を取る正規化アクティビティNactj を求める。なおここでavg_actは、直前に符号化したピクチャにおけるアクティビティactj の平均値である。
またこの正規化アクティビティNactj により次式の演算処理を実行し、レート制御のステップで計算した量子化スケールQj を補正する。
これらにより符号化装置1では、レート制御回路9によりこれらTM5に係るレート制御の処理を実行して逐次画像データD1を符号化処理する。
このような符号化装置に関しては、例えば特開2004−56827号公報等に復号化処理等の利便を図る工夫が種々に提案されている。
ところでAVCでは、比較的アクティビティの低い領域では、イントラ予測モードによる誤差値SA(T)Dが小さくなり、(37)式に示すコスト関数において、動きベクトルに関する情報を伝送しなくて済む分、イントラ予測モードの方がコスト値Cost(Mode)が小さくなる場合がある。これによりAVCでは、例えば地面のように、比較的アクティビティの低い領域が画像の後半部分で多くを占める場合、インタースライスにおいても、このアクティビティの低い領域で、イントラ予測モードが選択され易くなる。
しかしながらこのようなこのアクティビティの低い領域のイントラ予測モードによる符号化処理においては、ノイズの影響により、図8及び図9について上述した9種類のイントラ4×4予測モードで、予測モードを切り換えて符号化処理する場合もあり、この場合には、予測モードの切り換わりがばたついた感じとなって復号した画像に表れる。ここでこのようなばたつきは、フリッカのように見て取られることにより、視聴者の目につきやすく、これによりこのような場合、従来のAVCでは画質が損なわれる問題があった。
またさらにAVCでは、図24に示したように、イントラマクロブロックでブロック境界の強度値Bsが大きくなることにより、このようにアクティビティの低い領域をイントラ予測モードにより符号化処理した場合、デブロックフィルタにより過剰にブロック境界歪を抑圧することになる。ここでこのような過剰なブロック境界歪の抑圧にあっては、平坦な部分における局所的な変化が損なわれることにより、解像度が著しく低下したように視聴者に認識される。これによってもAVCでは、画質が損なわれる問題があった。
特開2004−56827号公報
(1)実施例の構成
図1は、本発明の実施例に係るAVC方式の符号化装置を示すブロック図である。この符号化装置41において、図3について上述した符号化装置1と同一の構成は、対応する符号を付して示し、重複した説明は省略する。これによりこの符号化装置41は、順次入力されるビデオ信号S1をアナログディジタル変換処理して画像データD1に変換した後、イントラ予測モード、インター予測モードより最適モードを選択してこの画像データD1を符号化する。
この符号化装置41において、アクティビティ算出回路42は、この処理対象の画像データD1について、16×16画素によるマクロブロック毎に、画像データD1による画像の平坦度を示すパラメータを計算し、この実施例では、このパラメータにアクティビティが適用される。これによりアクティビティ算出回路42は、次式の演算処理の実行により、マクロブロック毎に画素値の分散値を計算してアクティビティactを計算する。アクティビティ算出回路42は、このアクティビティactをマクロブロックのアクティビティMB actに設定して出力する。
レート制御回路43は、このアクティビティ算出回路42より得られるアクティビティMB actを用いて上述したTM5の手法によりレート制御の処理を実行する。
動き予測・補償回路44は、イントラ・インター判定回路45の制御により、インター符号化に係る輝度信号の全ての予測モードについて、(37)式のコスト値Cost(Mode)を計算し、各予測モードにおけるコスト値Cost(Mode)の比較により、最も値の小さな予測モードを検出する。これにより動き予測・補償回路44は、インター予測モードより最適モードを検出し、この最適モードのコスト値Cost(Mode)をイントラ・インター判定回路45に通知する。またこの通知により得られるイントラ・インター判定回路45からの指示により、インター符号化処理の場合に、この最適モードによる予測値を輝度信号及び色差信号について生成して減算回路4に出力する。
イントラ予測回路46は、同様に、イントラ・インター判定回路45の制御により、イントラ符号化に係る輝度信号の全ての予測モードについて、(37)式に関して上述した原画像と予測画像との誤差値SA(T)D、オフセット値SA(T)D0を計算してイントラ・インター判定回路45に通知する。またこの通知により得られるイントラ・インター判定回路45からの指示により、イントラ符号化処理の場合に、対応する予測値を減算回路4に出力する。またこの場合、色差信号についてコスト値を計算して最適モードを検出し、この最適モードによる予測値を減算回路4に出力する。
イントラ・インター判定回路45は、イントラ予測回路46から通知される誤差値SA(T)D、オフセット値SA(T)D0を用いて全てのイントラ予測モードについてコスト値Cost(Mode)を計算し、この計算したコスト値Cost(Mode)と動き予測・補償回路44から通知されるコスト値Cost(Mode)とを比較し、最もコスト値Cost(Mode)の小さな予測モードを検出する。イントラ・インター判定回路45は、この予測モードの検出により、マクロブロック毎にイントラ予測、インター予測を選択し、また複数のイントラ予測モード、複数のインター予測モードから最適モードをマクロブロック毎に検出する。またこの検出した最適モードによる予測値の出力をイントラ予測回路46、動き予測・補償回路44に指示する。
この一連の処理において、イントラ・インター判定回路45は、アクティビティ算出回路42より得られるアクティビティMB actにより、イントラ4×4予測モードに係るコスト値Cost(Mode)を補正する。
すなわち(46)式について上述したように、従来、Low Complexity
Modeにおいて、イントラ4×4予測モードにおけるコスト値Cost(Mode)は、次式により示すように、値24による定数に、付加情報に関する量子化パラメータから量子化値への変換関数QP0(QP)を乗算してオフセット値SA(T)D0が定義され、このオフセット値SA(T)D0によりコスト値Cost(Mode)をオフセットさせることにより、インタースライスにおけるイントラマクロブロックの発生を低減している。ここでこの値24は、経験値に基づく値である。
しかしてこのような設定により、アクティビティの高い領域において、イントラマクロブロックが選択された場合、絵柄に応じた特定の方向のイントラ予測モードが適切に選択され、これにより符号化効率を確保しつつ、画質劣化を有効に回避することができる。しかしながらアクティビティの低い領域においては、ノイズの影響により予測モードが種々に切り換わったり、またデブロックフィルタにより過剰にブロック境界歪を抑圧することになる。
これによりイントラ・インター判定回路45は、この(77)式に代えて、次式の演算処理によりオフセット値SA(T)D0を設定する。なおここでf(MB act)は、アクティビティMB actを変数とする関数である。これによりイントラ・インター判定回路45は、アクティビティMB actにより、マクロブロックにおいて高周波成分が少ない場合、イントラ予測モードが選択され難くなるように、コスト値を補正する。より具体的に、この実施例では、このアクティビティMB actを変数とする関数f(MB act)に単調減少関数が適用され、これによりアクティビティの低い領域程、より大きな値のオフセット値を設定して、その分、イントラマクロブロックが選択されに難くする。またこれとは逆に、アクティビティの高い領域では、小さな値のオフセット値が適用され、イントラマクロブロックを選択され易くする。なお、単調減少関数には、例えば出力値が2値の関数、一次関数、種々の関数を広く適用することができる。
しかして図2は、この最適予測モードに係る符号化装置41の処理手順を示すフローチャートである。符号化装置41においては、マクロブロック毎に、この処理手順を実行し、ステップSP1によりインター予測モードに係る動き予測の処理を実行し、また続くステップSP2において、各予測モードのコスト値を計算する。また続くステップSP3において、この計算したコスト値の比較により、最適なインター予測モードを検出する。
またこのような動き予測・補償回路44に係る処理と同時並列的なアクティビティ算出回路42、イントラ予測回路46、イントラ・インター判定回路45の処理により、ステップSP4において、アクティビティを計算した後、続くステップSP5において、このアクティビティによりオフセット値を計算する。また続くステップSP6において、この計算したオフセット値により各イントラ予測モードに係るコスト値を計算し、ステップSP7において、この計算したコスト値とステップSP3で計算したコスト値とを比較し、この比較結果により続くステップSP8において、最適モードを検出する。
(2)実施例の動作
以上の構成において、この符号化装置41(図1)において、順次入力されるビデオ信号S1は、アナログディジタル変換回路2により画像データD1に変換され、この画像データD1が画面並べ替えバッファ3により処理の順序に並べ替えられて減算回路4に入力される。ここで画像データD1は、イントラ予測、インター予測による予測値との間で減算されて減算データD2が生成され、この減算データD2が直交変換回路7、量子化回路8、可逆符号化回路10で順次処理されて符号化データD4に変換され、この符号化データD4が例えば記録系により記録媒体に記録される。また量子化回路8の出力データが、画像データに復号されてフレームメモリ16に参照画像として記録され、この参照画像より動き予測・補償回路44、イントラ予測回路46でインター予測、イントラ予測の予測値が生成される。
これら一連の処理において、画像データD1は、動き予測・補償回路44、イントラ予測回路46において、それぞれインター予測、イントラ予測の各予測モードについて、符号化効率を示すコスト関数によりコスト値が求められ、インター予測については、動き予測・補償回路44におけるコスト値の比較により、最も符号化処理に適した最適モードが検出される。またイントラ・インター判定回路45において、イントラ予測の各予測モードによるコスト値と、動き予測・補償回路44で検出されたインター予測に係る最適モードのコスト値との比較により、最適な予測モードが検出される。これにより符号化装置41では、この最適な予測モードによりイントラ予測、インター予測の何れの予測方式により符号化処理するかが決定され、イントラ予測による場合には、イントラ予測回路46で最適モードによる予測値が生成されて減算回路4に出力される。またインター予測による場合には、動き予測・補償回路44で最適モードによる予測値が生成されて減算回路4に出力される。これらにより符号化装置41では、符号化効率を示すコスト関数によるコスト値の比較により、複数のイントラ予測モード、複数のインター予測モードから最適モードがマクロブロック毎に検出され、この最適モードにより画像データD1を順次符号化処理する。
しかしてこれら各予測モードにおけるコスト値のうち、イントラ4×4予測モードにおけるコスト値は、(77)式に示すように、従来、値24による定数に、付加情報に関する量子化パラメータから量子化値への変換関数QP0(QP)を乗算してオフセット値SA(T)D0を計算し、このオフセット値SA(T)D0によりコスト値Cost(Mode)をオフセットさせることにより、インタースライスにおけるイントラマクロブロックの発生を低減するように設定される。
これによりアクティビティの高い領域においては、イントラマクロブロックが選択された場合に、絵柄に応じた特定の方向のイントラ予測モードが適切に選択され、これにより符号化効率を確保しつつ、画質劣化を有効に回避することができる。しかしながらアクティビティの低い領域においては、ノイズの影響により予測モードが種々に切り換わったり、またデブロックフィルタにより過剰にブロック境界歪を抑圧することになる。
このためこの符号化装置41において、画像データD1は、アクティビティ算出回路42において、画像の平坦度を示すパラメータとしてアクティビティが計算され、このアクティビティによりイントラ・インター判定回路45でイントラ4×4予測モードのコスト値が補正された後、最適モードが検出される。これによりこの符号化装置41では、アクティビティに応じて最適モードの選択を制御するように構成され、この構成により適切に最適モードを選択してアクティビティの低い領域における画質劣化を防止することが可能となる。
すなわちこの符号化装置41では、このコスト値の補正により、マクロブロックにおいて高周波成分が少ない場合に、イントラ予測モードが選択され難くなるように設定され、これによりアクティビティの低い領域におけるイントラ4×4予測モードの頻繁な切り換わりによる復号した画像のばたつき感が防止され、フリッカのような画質劣化が防止される。またさらにこのようにアクティビティの低い領域におけるデブロックフィルタによる過剰なブロック境界歪の抑圧を防止することができ、これにより見かけの解像度の低下を防止して画質劣化を防止することができる。
より具体的に、この実施例では、このイントラ4×4予測モードにおいて、原画像と予測画像との誤差値SA(T)Dに対してオフセット値SA(T)D0を与える関数により定義されているコスト関数について、アクティビティMB actを変数とする関数f(MB act)と、付加情報に関する量子化パラメータから量子化値への変換関数QP0(QP)との乗算値をオフセット値SA(T)D0に設定することにより、アクティビティに応じてコスト値を補正するように構成され、これによりこのアクティビティMB
actを変数とする関数f(MB act)の設定により必要に応じて種々の特性によりコスト値を補正することができ、これにより簡易かつ確実に、かつ種々に画質を向上することができる。
またこのアクティビティMB actを変数とする関数f(MB act)がこの実施例では単調減少関数に設定され、これによりアクティビティの低い領域における画質劣化を確実に防止することができる。
またこの処理基準であるアクティビティが、画像データD1による画素値の分散値により計算されることにより、このような画質劣化を知覚し易い領域で適切にイントラ予測モードの選択を制御することができ、これにより従来に比して一段と画質を向上することができる。
(3)実施例の効果
以上の構成によれば、符号化効率を示すコスト関数によるコスト値の比較により、複数のイントラ予測モード、複数のインター予測モードから最適モードをマクロブロック毎に検出して画像データを符号化処理する場合に、アクティビティによりコスト値を補正して最適モードを検出することにより、コスト関数によりイントラ予測モード、インター予測モードから最適モードを選択して画像データを符号化処理する場合に、アクティビティの低い領域における画質劣化を防止することができる。
またこのときこのコスト値の補正が、マクロブロックにおいて高周波成分が少ない場合に、イントラ予測モードが選択され難くなるようにするコスト値の補正であることにより、確実に、アクティビティの低い領域における画質劣化を防止することができる。
またこの処理基準であるアクティビティが、画像データD1による画素値の分散値であることにより、画質劣化を知覚し易い領域で適切にイントラ予測モードの選択を制御することができ、これにより従来に比して一段と画質を向上することができる。
また原画像と予測画像との誤差値に対してオフセット値を与えるコスト関数によるコスト値について、アクティビティを変数とする関数と、付加情報に関する量子化パラメータから量子化値への変換関数との乗算値をオフセット値に設定し、これによりアクティビティによりコスト値を補正することにより、このアクティビティを変数とする関数の設定により必要に応じて種々の特性によりコスト値を補正することができ、これにより簡易かつ確実に、種々に画質を向上することができる。
より具体的には、このアクティビティを変数とする関数に単調減少関数を適用することにより、アクティビティの低い領域における画質劣化を確実に防止することができる。
1……符号化装置、5、23、46……イントラ予測回路、6、24、44……動き予測・補償回路、15、28……デブロックフィルタ、42……アクティビティ算出回路、イントラ・インター判定回路