(57)【要約】可変長符号化部１６では、入力シンボルＨ１として可変長符号出力部３０にＣＢＰが入力される。また、符号化シンボルメモリ３１から符号化マップテーブル提供部３２に符号化マップテーブル参照情報Ｈ２として周囲ブロックにおけるＣＢＰが入力される。これら周囲ブロックにおけるＣＢＰに基づいて、符号化マップテーブル提供部３２において、ＣＢＰの符号化に対して用いる符号化マップテーブルが決定され、符号化マップテーブルＨ４が可変長符号出力部３０に提供される。また、可変長符号化テーブル提供部３３から可変長符号化テーブルＨ５が可変長符号出力部３０に入力される。そして、符号化対象ＣＢＰは可変長符号化され、符号化データＤ９として出力される。これにより、符号化シンボルの情報源符号化を、符号化条件や画像の性質に応じて、効率的に行うことができる。
2004039083.tif 000002
【特許請求の範囲】
【請求項１】
符号化対象画像を所定サイズのマクロブロックに分割し、前記マクロブロックをマクロブロックタイプに基づいて特定される所定の形状およびサイズのブロックに分割し、前記ブロックを単位として動き補償予測を行って動きベクトルを出力する動き検出部と、
前記動き検出部によって出力された前記動きベクトルに基づいて参照画像から予測画像を生成する動き補償部と、
前記動き補償部によって生成された前記予測画像と前記符号化対象画像との差分演算を行って予測残差画像を出力する減算部と、
前記減算部によって出力された前記予測残差画像を所定の変換ブロックを単位として変換符号化して変換係数を出力する変換部と、
前記変換部によって出力された前記変換係数を量子化係数に基づいて量子化して量子化変換係数を出力する量子化部と、
前記動き検出部によって出力された前記動きベクトルと前記マクロブロックタイプと前記量子化係数と前記量子化部によって出力された前記量子化変換係数とを含む符号化関連情報を圧縮符号化した符号化データを出力する符号化部とを備える画像符号化装置であって、
前記符号化部は、前記符号化関連情報を記憶する符号化シンボルメモリと、１つまたは複数種類の符号化手順を提供する符号化手順提供部と、前記符号化シンボルメモリに格納されている符号化関連情報を利用し、所定の符号化手順選択基準に基づいて、前記符号化手順提供部が提供するいずれかの符号化手順を選択し、選択された符号化手順に基づいて前記符号化関連情報を圧縮符号化して符号化データを出力する符号化データ出力部とを備える
ことを特徴とする画像符号化装置。
【請求項２】
前記符号化部は、前記マクロブロック内のそれぞれの前記変換ブロックについて、非零である前記量子化変換係数が存在するか否かを示す非零係数存在フラグを含む符号化ブロックパタン情報を圧縮符号化する機能を備え、
前記符号化手順提供部は、当該符号化対象マクロブロックにおける符号化ブロックパタン情報を符号化するときに、該符号化対象マクロブロックの周囲マクロブロックと当該符号化対象マクロブロックとの間で前記符号化ブロックパタン情報の空間的相関が高くなるほど符号長が短くなるような符号化手順を提供することを特徴とする請求項１記載の画像符号化装置。
【請求項３】
前記符号化手順提供部は、当該符号化対象マクロブロックの周囲マクロブロックにおけるマクロブロックタイプが当該符号化対象マクロブロックを最も多くのブロックに分割することを示すマクロブロックタイプである場合には、当該符号化対象マクロブロック内の全ての符号化ブロックは非零である量子化変換係数を持つことを示す符号化ブロックパタン情報を持つものとして、当該符号化対象マクロブロックにおける符号化ブロックパタン情報を符号化するときに、当該符号化対象マクロブロックの周囲マクロブロックと当該符号化対象マクロブロックとの間で前記符号化ブロックパタン情報の空間的相関が高くなるほど符号長が短くなるような符号化手順を提供する
ことを特徴とする請求項１記載の画像符号化装置。
【請求項４】
前記符号化手順提供部は、当該符号化対象マクロブロックにおける前記符号化ブロックパタン情報を符号化するときに、当該符号化対象マクロブロックにおける量子化係数の大きさが予め設定された閾値より大きい場合には、非零である量子化変換係数を含むブロック数がより少ないことを示す前記符号化ブロックパタン情報に対して符号長がより短くなるような符号化手順を提供する
ことを特徴とする請求項１記載の画像符号化装置。
【請求項５】
前記符号化手順提供部は、当該符号化対象マクロブロックにおける前記符号化ブロックパタン情報を符号化するときに、当該符号化対象マクロブロックの周囲マクロブロックに含まれるブロック数が多いほど符号長の偏りが小さくなるような符号化手順を提供する
ことを特徴とする請求項１記載の画像符号化装置。
【請求項６】
前記符号化手順提供部は、当該符号化対象マクロブロックにおける前記量子化変換係数を符号化するときに、当該符号化対象マクロブロックの周囲マクロブロックにおける前記量子化変換係数の絶対値が大きいほど符号長の偏りが小さくなるような符号化手順を提供する
ことを特徴とする請求項１記載の画像符号化装置。
【請求項７】
前記符号化手順提供部は、当該符号化対象マクロブロックにおける前記マクロブロックタイプを符号化するときに、当該符号化対象マクロブロックの周囲マクロブロックと当該符号化対象マクロブロックとの間で前記マクロブロックタイプの空間的相関が高くなるほど符号長が短くなるような符号化手順を提供することを特徴とする請求項１記載の画像符号化装置。
【請求項８】
前記符号化手順提供部は、当該符号化対象マクロブロックにおける前記マクロブロックタイプを符号化するときに、より多くのブロックを含むマクロブロックタイプに対して符号長がより短くなるような符号化手順を提供する
ことを特徴とする請求項１記載の画像符号化装置。
【請求項９】
前記符号化部は、前記ブロック内の前記非零である量子化変換係数の数を符号化する機能を備え、
前記符号化手順提供部は、当該符号化対象マクロブロックにおける前記非零である量子化変換係数の数を符号化するときに、当該符号化対象ブロックの周囲ブロックにおける前記非零である量子化変換係数の数が予め設定された閾値より小さい場合には、前記非零である量子化変換係数の数が小さいほど符号長が短くなるような符号化手順を提供する
ことを特徴とする請求項１記載の画像符号化装置。
【請求項１０】
前記符号化シンボルメモリは、周囲ブロックから予測した予測動きベクトルと実際の動きベクトルの差分値である差分動きベクトル値を保持する機能を備え、
前記符号化手順提供部は、当該符号化対象マクロブロックにおける前記符号化ブロックパタン情報を符号化するときに、当該符号化対象マクロブロックの周囲マクロブロックにおける差分動きベクトル値の大きさが予め設定された閾値より大きい場合には、非零である量子化変換係数を含むブロック数がより多いことを示す符号化ブロックパタン情報に対して符号長がより短くなるような符号化手順を提供する
ことを特徴とする請求項１記載の画像符号化装置。
【請求項１１】
前記符号化シンボルメモリは、周囲ブロックから予測した予測動きベクトルと実際の動きベクトルの差分値である差分動きベクトル値を保持する機能を備え、
前記符号化手順提供部は、当該符号化対象マクロブロックにおける前記差分動きベクトル値を符号化するときに、当該符号化対象ブロックの周囲ブロックにおける差分動きベクトル値の大きさが予め設定された閾値より小さい場合には、より小さい差分動きベクトル値に対して符号長がより短くなるような符号化手順を提供する
ことを特徴とする請求項１記載の画像符号化装置。
【請求項１２】
前記符号化シンボルメモリは、周囲ブロックから予測した予測動きベクトルと実際の動きベクトルの差分値である差分動きベクトル値を保持する機能を備え、
前記符号化手順提供部は、当該符号化対象マクロブロックにおける前記マクロブロックタイプを符号化するときに、当該符号化対象ブロックの周囲ブロックにおける差分動きベクトル値の大きさが予め設定された閾値より大きい場合には、より多くのブロックを含むマクロブロックタイプに対して符号長がより短くなるような符号化手順を提供する
ことを特徴とする請求項１記載の画像符号化装置。
【請求項１３】
符号化対象画像または前記符号化対象画像に基づいて生成された予測残差画像を所定の変換ブロックに分割し、前記符号化対象画像または前記予測残差画像を前記変換ブロックを単位として変換符号化し変換係数を出力する変換部と、
前記変換部によって出力された前記変換係数を量子化係数に基づいて量子化して量子化変換係数を出力する量子化部と、
前記量子化係数と前記量子化部によって出力された前記量子化変換係数とを含む符号化関連情報を圧縮符号化した符号化データを出力する符号化部と
を備える画像符号化装置であって、
前記符号化部は、当該符号化対象ブロック内の前記量子化変換係数を周波数に応じて１次元系列に変換し、前記１次元系列における前記量子化変換係数の絶対値が０となる係数の連続数であるゼロラン値と前記量子化変換係数の絶対値であるレベル値と前記量子化変換係数の正負を示す正負符号とを符号化する機能を備え、前記符号化関連情報を記憶する符号化シンボルメモリと、１つまたは複数種類の符号化手順を提供する符号化手順提供部と、前記符号化シンボルメモリに格納されている符号化関連情報を利用し、所定の符号化手順選択基準に基づいて、前記符号化手順提供部が提供するいずれかの符号化手順を選択し、選択された符号化手順に基づいて前記符号化関連情報を圧縮符号化し符号化データを出力する符号化データ出力部とを備える
ことを特徴とする画像符号化装置。
【請求項１４】
前記符号化手順提供部は、前記レベル値を符号化するときに、符号化対象レベル値の近傍の周波数におけるレベル値により近い値に対して符号長がより短くなるような符号化手順を提供する
ことを特徴とする請求項１３記載の画像符号化装置。
【請求項１５】
前記符号化手順提供部は、前記レベル値を符号化するときに、符号化対象レベル値の近傍の周波数におけるゼロラン値が予め設定された閾値より大きい場合には、小さいレベル値ほど符号長が短くなるような符号化手順を提供する
ことを特徴とする請求項１３記載の画像符号化装置。
【請求項１６】
前記符号化手順提供部は、前記レベル値を符号化するときに、符号化対象レベル値の周波数帯域が大きいほど符号長の偏りが大きくなるような符号化手順を提供する
ことを特徴とする請求項１３記載の画像符号化装置。
【請求項１７】
前記符号化手順提供部は、前記レベル値を符号化するときに、符号化対象レベル値の近傍の周波数におけるレベル値が小さくなるほど符号長の偏りが小さくなるような符号化手順を提供する
ことを特徴とする請求項１３記載の画像符号化装置。
【請求項１８】
前記符号化手順提供部は、前記ゼロラン値を符号化するときに、符号化対象ゼロラン値の近傍の周波数におけるレベル値が小さくなるほど符号長の偏りが大きくなるような符号化手順を提供する
ことを特徴とする請求項１３記載の画像符号化装置。
【請求項１９】
前記符号化部は、前記符号化対象ブロック内の非零である量子化変換係数の数を圧縮符号化する機能を備え、前記符号化対象ブロックの非零である量子化係数の数が予め設定された閾値より小さい場合には、前記レベル値および前記ゼロラン値を低周波成分から順に符号化し、前記符号化対象ブロックの非零である量子化係数の数が予め設定された閾値より大きい場合には、前記レベル値および前記ゼロラン値を高周波成分から順に符号化する
ことを特徴とする請求項１３記載の画像符号化装置。
【請求項２０】
符号化対象画像が所定サイズのマクロブロックに分割され、前記マクロブロックがマクロブロックタイプに基づいて特定される所定の形状およびサイズのブロックに分割され、前記ブロックを単位として動き補償予測が行われて出力された動きベクトルと、前記動きベクトルに基づいて参照画像から予測画像が生成され、前記予測画像と前記符号化対象画像との差分演算が行われて予測画像が出力され、前記予測残差画像が所定の変換ブロックを単位として変換符号化されて変換係数が出力され、前記変換係数が量子化係数に基づいて量子化された量子化変換係数と、前記マクロブロックタイプと、前記量子化係数とを含む符号化関連情報を圧縮符号化した符号化データを復号する復号部
を備えた画像復号装置であって、
前記復号部は、復号済の前記符号化関連情報を記憶する復号シンボルメモリと、１つまたは複数種類の復号手順を提供する復号手順提供部と、前記復号シンボルメモリに格納されている復号済の符号化関連情報を利用し、所定の復号手順選択基準に基づいて、前記復号手順提供部が提供するいずれかの復号手順であって復号対象となる符号化関連情報の符号化に用いられた符号化手順に対応する復号手順を選択し、選択された復号手順に基づいて前記符号化関連情報を復号して復号データを出力する復号データ出力部とを備える
ことを特徴とする画像復号装置。
【請求項２１】
前記復号部は、前記マクロブロック内のそれぞれの前記変換ブロックについて、非零である前記量子化変換係数が存在するか否かを示す非零係数存在フラグを含む符号化ブロックパタン情報を復号する機能を備え、
前記復号手順提供部は、当該符号化対象マクロブロックにおける符号化ブロックパタン情報を復号するときに、該符号化対象マクロブロックの周囲マクロブロックと当該符号化対象マクロブロックとの間で前記符号化ブロックパタン情報の空間的相関が高くなるほど符号長が短くなるように提供された符号化手順に対応する復号手順を提供する
ことを特徴とする請求項２０記載の画像復号装置。
【請求項２２】
前記復号手順提供部は、当該符号化対象マクロブロックの周囲マクロブロックにおけるマクロブロックタイプが当該符号化対象マクロブロックを最も多くのブロックに分割することを示すマクロブロックタイプである場合には、当該符号化対象マクロブロック内の全ての符号化ブロックは非零である量子化変換係数を持つことを示す符号化ブロックパタン情報を持つものとして、当該符号化対象マクロブロックにおける符号化ブロックパタン情報を復号するときに、当該符号化対象マクロブロックの周囲マクロブロックと当該符号化対象マクロブロックとの間で前記符号化ブロックパタン情報の空間的相関が高くなるほど符号長が短くなるように提供された符号化手順に対応する復号手順を提供する
ことを特徴とする請求項２０記載の画像復号装置。
【請求項２３】
前記復号手順提供部は、当該符号化対象マクロブロックにおける前記符号化ブロックパタン情報を復号するときに、当該符号化対象マクロブロックにおける量子化係数の大きさが予め設定された閾値より大きい場合には、非零である量子化変換係数を含むブロック数がより少ないことを示す前記符号化ブロックパタン情報に対して符号長がより短くなるように提供された符号化手順に対応する復号手順を提供する
ことを特徴とする請求項２０記載の画像復号装置。
【請求項２４】
前記復号手順提供部は、当該符号化対象マクロブロックにおける前記符号化ブロックパタン情報を復号するときに、当該符号化対象マクロブロックの周囲マクロブロックに含まれるブロック数が多いほど符号長の偏りが小さくなるように提供された符号化手順に対応する復号手順を提供する
ことを特徴とする請求項２０記載の画像復号装置。
【請求項２５】
前記復号手順提供部は、当該符号化対象マクロブロックにおける前記量子化変換係数を復号するときに、当該符号化対象マクロブロックの周囲マクロブロックにおける前記量子化変換係数の絶対値が大きいほど符号長の偏りが小さくなるように提供された符号化手順に対応する復号手順を提供する
ことを特徴とする請求項２０記載の画像復号装置。
【請求項２６】
前記復号手順提供部は、当該符号化対象マクロブロックにおける前記マクロブロックタイプを復号するときに、当該符号化対象マクロブロックの周囲マクロブロックと当該符号化対象マクロブロックとの間で前記マクロブロックタイプの空間的相関が高くなるほど符号長が短くなるように提供された符号化手順に対応する復号手順を提供する
ことを特徴とする請求項２０記載の画像復号装置。
【請求項２７】
前記復号手順提供部は、当該符号化対象マクロブロックにおける前記マクロブロックタイプを復号するときに、より多くのブロックを含むマクロブロックタイプに対して符号長がより短くなるように提供された符号化手順に対応する復号手順を提供する
ことを特徴とする請求項２０記載の画像復号装置。
【請求項２８】
前記復号部は、前記ブロック内の前記非零である量子化変換係数の数を復号する機能を備え、
前記復号手順提供部は、当該符号化対象マクロブロックにおける前記非零である量子化変換係数の数を復号するときに、当該符号化対象ブロックの周囲ブロックにおける前記非零である量子化変換係数の数が予め設定された閾値より小さい場合には、前記非零である量子化変換係数の数が小さいほど符号長が短くなるように提供された符号化手順に対応する復号手順を提供する
ことを特徴とする請求項２０記載の画像復号装置。
【請求項２９】
前記復号シンボルメモリは、周囲ブロックから予測した予測動きベクトルと実際の動きベクトルの差分値である差分動きベクトル値を保持する機能を備え、
前記復号手順提供部は、当該符号化対象マクロブロックにおける前記符号化ブロックパタン情報を復号するときに、当該符号化対象マクロブロックの周囲マクロブロックにおける差分動きベクトル値の大きさが予め設定された閾値より大きい場合には、非零である量子化変換係数を含むブロック数がより多いことを示す符号化ブロックパタン情報に対して符号長がより短くなるように提供された符号化手順に対応する復号手順を提供する
ことを特徴とする請求項２０記載の画像復号装置。
【請求項３０】
前記復号シンボルメモリは、周囲ブロックから予測した予測動きベクトルと実際の動きベクトルの差分値である差分動きベクトル値を保持する機能を備え、
前記復号手順提供部は、当該符号化対象マクロブロックにおける前記差分動きベクトル値を復号するときに、当該符号化対象ブロックの周囲ブロックにおける差分動きベクトル値の大きさが予め設定された閾値より小さい場合には、より小さい差分動きベクトル値に対して符号長がより短くなるように提供された符号化手順に対応する復号手順を提供する
ことを特徴とする請求項２０記載の画像復号装置。
【請求項３１】
前記復号シンボルメモリは、周囲ブロックから予測した予測動きベクトルと実際の動きベクトルの差分値である差分動きベクトル値を保持する機能を備え、
前記復号手順提供部は、当該符号化対象マクロブロックにおける前記マクロブロックタイプを復号するときに、当該符号化対象ブロックの周囲ブロックにおける差分動きベクトル値の大きさが予め設定された閾値より大きい場合には、より多くのブロックを含むマクロブロックタイプに対して符号長がより短くなるように提供された符号化手順に対応する復号手順を提供する
ことを特徴とする請求項２０記載の画像復号装置。
【請求項３２】
符号化対象画像または前記符号化対象画像に基づいて生成された予測残差画像を所定の変換ブロックに分割し、前記符号化対象画像または前記予測残差画像を前記変換ブロックを単位として変換符号化して変換係数を出力し、出力された前記変換係数を量子化係数に基づいて量子化して出力された量子化変換係数と、前記量子化係数とを含む符号化関連情報を圧縮符号化した符号化データを復号する復号部
を備える画像復号装置であって、
前記復号部は、当該符号化対象ブロック内の前記量子化変換係数を周波数に応じて１次元系列に変換し、前記１次元系列における前記量子化変換係数の絶対値が０となる係数の連続数であるゼロラン値と前記量子化変換係数の絶対値であるレベル値と前記量子化変換係数の正負を示す正負符号とを復号する機能を備え、復号済の前記符号化関連情報を記憶する復号シンボルメモリと、１つまたは複数種類の復号手順を提供する復号手順提供部と、前記復号シンボルメモリに格納されている復号済の符号化関連情報を利用し、所定の符号化手順選択基準に基づいて、前記復号手順提供部が提供するいずれかの復号手順であって復号対象となる符号化関連情報の符号化に用いられた符号化手順に対応する復号手順を選択し、選択された復号手順に基づいて前記符号化関連情報を復号して復号データを出力する復号データ出力部とを備える
ことを特徴とする画像復号装置。
【請求項３３】
前記復号手順提供部は、前記レベル値を復号するときに、符号化対象レベル値の近傍の周波数におけるレベル値により近い値に対して符号長がより短くなるように提供された符号化手順に対応する復号手順を提供する
ことを特徴とする請求項３２記載の画像復号装置。
【請求項３４】
前記復号手順提供部は、前記レベル値を復号するときに、符号化対象レベル値の近傍の周波数におけるゼロラン値が予め設定された閾値より大きい場合には、小さいレベル値ほど符号長が短くなるように提供された符号化手順に対応する復号手順を提供する
ことを特徴とする請求項３２記載の画像復号装置。
【請求項３５】
前記復号手順提供部は、前記レベル値を復号するときに、符号化対象レベル値の周波数帯域が大きいほど符号長の偏りが大きくなるように提供された符号化手順に対応する復号手順を提供する
ことを特徴とする請求項３２記載の画像復号装置。
【請求項３６】
前記復号手順提供部は、前記レベル値を復号するときに、符号化対象レベル値の近傍の周波数におけるレベル値が小さくなるほど符号長の偏りが小さくなるように提供された符号化手順に対応する復号手順を提供する
ことを特徴とする請求項３２記載の画像復号装置。
【請求項３７】
前記復号手順提供部は、前記ゼロラン値を復号するときに、符号化対象ゼロラン値の近傍の周波数におけるレベル値が小さくなるほど符号長の偏りが大きくなるように提供された符号化手順に対応する復号手順を提供する
ことを特徴とする請求項３２記載の画像復号装置。
【請求項３８】
前記復号部は、前記符号化対象ブロック内の非零である量子化変換係数の数を復号する機能を備え、前記符号化対象ブロックの非零である量子化係数の数が予め設定された閾値より小さい場合には、前記レベル値および前記ゼロラン値を低周波成分から順に復号し、前記符号化対象ブロックの非零である量子化係数の数が予め設定された閾値より大きい場合には、前記レベル値および前記ゼロラン値を高周波成分から順に復号する
ことを特徴とする請求項３２記載の画像復号装置。
【請求項３９】
符号化対象画像を所定サイズのマクロブロックに分割し、前記マクロブロックをマクロブロックタイプに基づいて特定される所定の形状およびサイズのブロックに分割し、前記ブロックを単位として動き補償予測を行って動きベクトルを出力する動き検出ステップと、
前記動き検出ステップにおいて出力された前記動きベクトルに基づいて参照画像から予測画像を生成する動き補償ステップと、
前記動き補償ステップにおいて生成された前記予測画像と前記符号化対象画像との差分演算を行って予測残差画像を出力する減算ステップと、
前記減算ステップにおいて出力された前記予測残差画像を所定の変換ブロックを単位として変換符号化して変換係数を出力する変換ステップと、
前記変換ステップにおいて出力された前記変換係数を量子化係数に基づいて量子化して量子化変換係数を出力する量子化ステップと、
前記動き検出ステップにおいて出力された前記動きベクトルと前記マクロブロックタイプと前記量子化係数と前記量子化ステップにおいて出力された前記量子化変換係数とを含む符号化関連情報を圧縮符号化した符号化データを出力する符号化ステップと
を備える画像符号化方法であって、
前記符号化ステップは、１つまたは複数種類の符号化手順を用意しておき、符号化シンボルメモリに格納されている符号化関連情報を利用し、所定の符号化手順選択基準に基づいて、前記１つまたは複数種類の符号化手順の中からいずれかの符号化手順を選択し、選択された符号化手順に基づいて前記符号化関連情報を圧縮符号化して符号化データを出力する
ことを特徴とする画像符号化方法。
【請求項４０】
符号化対象画像または前記符号化対象画像に基づいて生成された予測残差画像を所定の変換ブロックに分割し、前記符号化対象画像または前記予測残差画像を前記変換ブロックを単位として変換符号化し変換係数を出力する変換ステップと、
前記変換ステップにおいて出力された前記変換係数を量子化係数に基づいて量子化して量子化変換係数を出力する量子化ステップと、
前記量子化係数と前記量子化ステップにおいて出力された前記量子化変換係数とを含む符号化関連情報を圧縮符号化した符号化データを出力する符号化ステップと
を備える画像符号化方法であって、
前記符号化ステップは、当該符号化対象ブロック内の前記量子化変換係数を周波数に応じて１次元系列に変換し、前記１次元系列における前記量子化変換係数の絶対値が０となる係数の連続数であるゼロラン値と前記量子化変換係数の絶対値であるレベル値と前記量子化変換係数の正負を示す正負符号とを符号化するステップであって、１つまたは複数種類の符号化手順を用意しておき、符号化シンボルメモリに格納されている符号化関連情報を利用し、所定の符号化手順選択基準に基づいて、前記１つまたは複数種類の符号化手順の中からいずれかの符号化手順を選択し、選択された符号化手順に基づいて前記符号化関連情報を圧縮符号化し符号化データを出力する
ことを特徴とする画像符号化方法。
【請求項４１】
符号化対象画像が所定サイズのマクロブロックに分割され、前記マクロブロックがマクロブロックタイプに基づいて特定される所定の形状およびサイズのブロックに分割され、前記ブロックを単位として動き補償予測が行われて出力された動きベクトルと、前記動きベクトルに基づいて参照画像から予測画像が生成され、前記予測画像と前記符号化対象画像との差分演算が行われて予測画像が出力され、前記予測残差画像が所定の変換ブロックを単位として変換符号化されて変換係数が出力され、前記変換係数が量子化係数に基づいて量子化された量子化変換係数と、前記マクロブロックタイプと、前記量子化係数とを含む符号化関連情報を圧縮符号化した符号化データを復号する復号ステップ
を備えた画像復号方法であって、
前記復号ステップは、１つまたは複数種類の復号手順を用意しておき、復号シンボルメモリに格納されている復号済の符号化関連情報を利用し、所定の復号手順選択基準に基づいて、前記１つまたは複数種類の復号手順の中からいずれかの復号手順であって復号対象となる符号化関連情報の符号化に用いられた符号化手順に対応する復号手順を選択し、選択された復号手順に基づいて前記符号化関連情報を復号して復号データを出力する
ことを特徴とする画像復号方法。
【請求項４２】
符号化対象画像または前記符号化対象画像に基づいて生成された予測残差画像を所定の変換ブロックに分割し、前記符号化対象画像または前記予測残差画像を前記変換ブロックを単位として変換符号化して変換係数を出力し、出力された前記変換係数を量子化係数に基づいて量子化して出力された量子化変換係数と、前記量子化係数とを含む符号化関連情報を圧縮符号化した符号化データを復号する復号ステップ
を備える画像復号方法であって、
前記復号ステップは、当該符号化対象ブロック内の前記量子化変換係数を周波数に応じて１次元系列に変換し、前記１次元系列における前記量子化変換係数の絶対値が０となる係数の連続数であるゼロラン値と前記量子化変換係数の絶対値であるレベル値と前記量子化変換係数の正負を示す正負符号とを復号するステップであって、１つまたは複数種類の復号手順を用意しておき、復号シンボルメモリに格納されている復号済の符号化関連情報を利用し、所定の符号化手順選択基準に基づいて、前記１つまたは複数種類の復号手順の中からいずれかの復号手順であって復号対象となる符号化関連情報の符号化に用いられた符号化手順に対応する復号手順を選択し、選択された復号手順に基づいて前記符号化関連情報を復号して復号データを出力する
ことを特徴とする画像復号方法。
【請求項４３】
コンピュータを、
符号化対象画像を所定サイズのマクロブロックに分割し、前記マクロブロックをマクロブロックタイプに基づいて特定される所定の形状およびサイズのブロックに分割し、前記ブロックを単位として動き補償予測を行って動きベクトルを出力する動き検出手段と、
前記動き検出手段によって出力された前記動きベクトルに基づいて参照画像から予測画像を生成する動き補償手段と、
前記動き補償手段によって生成された前記予測画像と前記符号化対象画像との差分演算を行って予測残差画像を出力する減算手段と、
前記減算手段によって出力された前記予測残差画像を所定の変換ブロックを単位として変換符号化して変換係数を出力する変換手段と、
前記変換手段によって出力された前記変換係数を量子化係数に基づいて量子化して量子化変換係数を出力する量子化手段と、
前記動き検出手段によって出力された前記動きベクトルと前記マクロブロックタイプと前記量子化係数と前記量子化手段によって出力された前記量子化変換係数とを含む符号化関連情報を圧縮符号化した符号化データを出力する符号化手段と
して機能させる画像符号化プログラムであって、
前記符号化手段は、１つまたは複数種類の符号化手順を提供する符号化手順提供手段と、符号化シンボルメモリに格納されている符号化関連情報を利用し、所定の符号化手順選択基準に基づいて、前記符号化手順提供手段が提供するいずれかの符号化手順を選択し、選択された符号化手順に基づいて前記符号化関連情報を圧縮符号化して符号化データを出力する符号化データ出力手段とを備える
ことを特徴とする画像符号化プログラム。
【請求項４４】
コンピュータを、
符号化対象画像または前記符号化対象画像に基づいて生成された予測残差画像を所定の変換ブロックに分割し、前記符号化対象画像または前記予測残差画像を前記変換ブロックを単位として変換符号化し変換係数を出力する変換手段と、
前記変換手段によって出力された前記変換係数を量子化係数に基づいて量子化して量子化変換係数を出力する量子化手段と、
前記量子化係数と前記量子化手段によって出力された前記量子化変換係数とを含む符号化関連情報を圧縮符号化した符号化データを出力する符号化手段として機能させる画像符号化プログラムであって、
前記符号化手段は、当該符号化対象ブロック内の前記量子化変換係数を周波数に応じて１次元系列に変換し、前記１次元系列における前記量子化変換係数の絶対値が０となる係数の連続数であるゼロラン値と前記量子化変換係数の絶対値であるレベル値と前記量子化変換係数の正負を示す正負符号とを符号化する手段を備え、１つまたは複数種類の符号化手順を提供する符号化手順提供手段と、符号化シンボルメモリに格納されている符号化関連情報を利用し、所定の符号化手順選択基準に基づいて、前記符号化手順提供手段が提供するいずれかの符号化手順を選択し、選択された符号化手順に基づいて前記符号化関連情報を圧縮符号化し符号化データを出力する符号化データ出力手段とを備える
ことを特徴とする画像符号化プログラム。
【請求項４５】
コンピュータを、
符号化対象画像が所定サイズのマクロブロックに分割され、前記マクロブロックがマクロブロックタイプに基づいて特定される所定の形状およびサイズのブロックに分割され、前記ブロックを単位として動き補償予測が行われて出力された動きベクトルと、前記動きベクトルに基づいて参照画像から予測画像が生成され、前記予測画像と前記符号化対象画像との差分演算が行われて予測画像が出力され、前記予測残差画像が所定の変換ブロックを単位として変換符号化されて変換係数が出力され、前記変換係数が量子化係数に基づいて量子化された量子化変換係数と、前記マクロブロックタイプと、前記量子化係数とを含む符号化関連情報を圧縮符号化した符号化データを復号する復号手段
として機能させる画像復号プログラムであって、
前記復号手段は、１つまたは複数種類の復号手順を提供する復号手順提供手段と、復号シンボルメモリに格納されている復号済の符号化関連情報を利用し、所定の復号手順選択基準に基づいて、前記復号手順提供手段が提供するいずれかの復号手順であって復号対象となる符号化関連情報の符号化に用いられた符号化手順に対応する復号手順を選択し、選択された復号手順に基づいて前記符号化関連情報を復号して復号データを出力する復号データ出力手段とを備える
ことを特徴とする画像復号プログラム。
【請求項４６】
コンピュータを、
符号化対象画像または前記符号化対象画像に基づいて生成された予測残差画像を所定の変換ブロックに分割し、前記符号化対象画像または前記予測残差画像を前記変換ブロックを単位として変換符号化して変換係数を出力し、出力された前記変換係数を量子化係数に基づいて量子化して出力された量子化変換係数と、前記量子化係数とを含む符号化関連情報を圧縮符号化した符号化データを復号する復号手段
として機能させる画像復号プログラムであって、
前記復号手段は、当該符号化対象ブロック内の前記量子化変換係数を周波数に応じて１次元系列に変換し、前記１次元系列における前記量子化変換係数の絶対値が０となる係数の連続数であるゼロラン値と前記量子化変換係数の絶対値であるレベル値と前記量子化変換係数の正負を示す正負符号とを復号する手段を備え、１つまたは複数種類の復号手順を提供する復号手順提供手段と、復号シンボルメモリに格納されている符号化関連情報を利用し、所定の符号化手順選択基準に基づいて、前記復号手順提供手段が提供するいずれかの復号手順であって復号対象となる符号化関連情報の符号化に用いられた符号化手順に対応する復号手順を選択し、選択された復号手順に基づいて前記符号化関連情報を復号して復号データを出力する復号データ出力手段とを備える
ことを特徴とする画像復号プログラム。
【発明の詳細な説明】
【技術分野】  本発明は、画像符号化装置、画像復号装置、画像符号化方法、画像復号方法、画像符号化プログラム及び画像復号プログラムに関するものである。
【背景技術】  近年、フォトＣＤ、ビデオＣＤ、ＤＶＤビデオ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ−Ｖｉｄｅｏ）、テレビ電話、テレビ会議、デジタルテレビ放送、ＶＯＤ（Ｖｉｄｅｏ  Ｏｎ  Ｄｅｍａｎｄ）など、画像信号の蓄積再生や伝送を行うシステムが普及しつつある。図２９Ａに示すように、画像伝送システムにおいて、送信側では、入力された画像が画像符号化部１によってビットストリームに符号化され、ビットストリームはビットストリーム送信部２によってネットワークを介して伝送され、受信側では、ビットストリーム受信部３によってビットストリームが受信され、受信されたビットストリームは画像復号部４で復号されて画像が出力される。また、図２９Ｂに示すように、画像蓄積システムでは、入力画像は画像符号化部１によってビットストリームに符号化され、ビットストリームは記憶媒体などのビットストリーム蓄積部５に蓄積される。また、図２９Ｃに示すように、画像再生システムでは、ビットストリーム蓄積部５に蓄積されたビットストリームは画像復号部４によって復号されて再生画像が出力される。
これらのシステムでは、伝送帯域や蓄積容量に制限があるため、できるだけ圧縮率の高い画像符号化方式を用いることによりこれらの資源を有効に利用したいという要求がある。画像符号化方式には、静止画像符号化方式と動画像符号化方式に区別できるが、その一例として動画像符号化方式を用いて説明する。
従来、動画像信号の符号化方式として、ＩＴＵ−Ｔ  Ｒｅｃｏｍｍｅｎｄａｔｉｏｎ  Ｈ．２６３やＩＳＯ／ＩＥＣ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｓｔａｎｄａｒｄ  １４４９６−２（ＭＰＥＧ−４  Ｖｉｓｕａｌ）などの国際標準化動画像符号化方式が知られている。
一般的に、これらの動画像符号化方式においては符号化対象として入力された動画像信号を構成するフレーム画像に対して、他のフレーム画像との間で動き補償フレーム間予測を行って動画像信号における時間的な冗長度を削減し、またフレーム間予測結果としての差分画像信号やフレーム間予測を行わない画像信号に対して直交変換および量子化を行って動画像信号における空間的な冗長度を削減し、さらに、得られた動きベクトルや直交変換係数などの予測・変換データに対して情報源符号化を行ってデータ表現の冗長度を削減する。これらの処理により動画像信号に含まれる冗長度を取り除き、効率的な動画像符号化が達成される。
またこれらの動画像符号化方式においては、上記のような処理はマクロブロックと呼ばれるフレーム画像内の部分毎に行われる。一般的にひとつのマクロブロックは１６画素×１６画素からなり、複数個が集まってスライス、フレームを構成する一方、ひとつのマクロブロックの中にはより小さく分割したブロックの単位を持ち、前述の動き補償や直交変換などの処理は、マクロブロックを最大単位として、必要に応じてより小さなブロックの単位で行われる。
図１は動画像符号化方法の一例を概略的に示すフローチャートである。本符号化方法は、動画像などでのフレーム画像である入力画像Ｄ１に対して所定の変換処理操作および符号化処理操作を行って、画像伝送システムや画像蓄積システムにおいて伝送または蓄積可能なデータ圧縮された符号化データＤ９を生成する画像符号化方法である。
図１に示した画像符号化方法において、データ処理操作は入力画像Ｄ１を所定のサイズ（所定の画素数）に分割したマクロブロック単位に行われる。まず、入力画像Ｄ１に対して所定のデータ処理操作を行って画像データを変換し、空間座標によって表される予測残差画像Ｄ５およびデータ処理操作の情報を表す符号化モード情報Ｄ３および動きベクトル情報Ｄ２を出力する（ステップＳ１０１）。ここで、動きベクトル情報Ｄ２には、例えば、動きベクトルの値そのものが含まれていても良いし、対象となるブロックにおける動きベクトルと近隣のブロックにおける動きベクトルとの差分である動きベクトル差分値が含まれていてもよい。
具体的には、後に説明する局部復号画像Ｄ１２内の所定の画像領域を参照して、該符号化対象マクロブロックの画像と類似する画像領域を探索し（動き探索）、探索の結果検出された該符号化対象マクロブロックに類似する画像領域に対する該符号化対象マクロブロックとの間の空間的な移動量によって動きベクトルを決定する（動き補償予測）。また、探索の結果検出された該符号化対象マクロブロックの画像データに類似する画像領域と該符号化対象マクロブロックとの画素値の差分データを予測残差画像Ｄ５として生成する。そして、動き探索の結果得られたこれらの動きベクトルおよび画素値の差分データに基づいて、用意された複数のマクロブロック符号化モードから画像データに適用するマクロブロック符号化モードを選択する。
マクロブロック符号化モードとしては、動き補償を用いるインター符号化モードと、動き補償を用いないイントラ符号化モードに大別することができる。インター符号化モードでは、マクロブロックに動き補償を適用し、その結果得られる画素値の予測残差を予測残差画像Ｄ５として出力する。また、イントラ符号化モードでは、マクロブロック内の画素値の予測値を０とすることにより、入力画像Ｄ１がそのまま予測残差画像Ｄ５として出力される。また、選択された符号化モードおよび量子化パラメータを示す情報を符号化モード情報Ｄ３として、動きベクトルに関する情報を動きベクトル情報Ｄ２として出力する。
次に、予測残差画像Ｄ５に対して直交変換操作を行って、空間周波数によって表される画像データ（周波数画像データ）である複数の直交変換係数Ｄ６を生成する（ステップＳ１０２）。この直交変換は、マクロブロックをさらに分割したブロック毎に行われ、それぞれの直交変換係数が得られる。
この直交変換係数は所定の量子化パラメータによって量子化されて、量子化直交変換係数Ｄ７が得られる（ステップＳ１０３）。
ところでブロックによっては量子化によってブロック内の直交変換係数が全て零になる場合がある。そのように全ての直交変換係数が零である無効ブロックについては直交変換係数に関する情報を符号化する必要がない。そこで、該ブロック内に有意な量子化直交変換係数があるか否かを示す符号化ブロックパタン情報（以下、ＣＢＰとよぶ。Ｃｏｄｅｄ  Ｂｌｏｃｋ  Ｐａｔｔｅｒｎの略）を用いることによって無効ブロックの係数情報の符号化を省き、符号化効率を高める。
また、量子化処理の結果、マクロブロック内の全てのブロック内の直交変換係数が全て零になり、しかも動きベクトルの各成分も零となる場合がある。そのような全ての直交変換係数が零である無効マクロブロックについては、該マクロブロックに関する情報を符号化する必要がない。静止している背景部分などにこのような無効マクロブロックが多発するため、各マクロブロックに対してマクロブロック符号化フラグ（ＣＯＤフラグ）を用いることによって該マクロブロックの有効・無効を識別する。
上記ＣＢＰおよび上記ＣＯＤフラグを符号化補助情報Ｄ８として出力する。
続いて、動きベクトル情報Ｄ２、符号化モード情報Ｄ３、量子化直交変換係数Ｄ７、符号化補助情報Ｄ８に対して可変長符号化および多重化を行い、圧縮データである符号化データＤ９を生成する（ステップＳ１０４）。
具体的には、動きベクトル情報Ｄ２、符号化モード情報Ｄ３、量子化直交変換係数Ｄ７、符号化補助情報Ｄ８に含まれるそれぞれの符号化シンボルに対して可変長符号化テーブルを用いて可変長符号化を行うことによって符号化データＤ９が生成される。
図２は画像符号化装置の構成の一例を示すブロック図である。以下、図２に示した画像符号化装置を参照しつつ、図１に示した画像符号化方法についてさらに説明する。
符号化対象として入力された入力画像Ｄ１に対し、まず、輝度信号画像フレームは１６画素×１６ライン、色差信号画像フレームは８画素×８ラインのサイズで正方形の画像ブロックであるマクロブロックへと分割される。このマクロブロックは、動き補償などのデータ処理の単位となる画像ブロックである。なお、後述するＤＣＴ（直交変換）では、例えばＭＰＥＧ−４符号化方式では、８画素×８ラインのサイズのＤＣＴブロックが用いられる。この場合、１個のマクロブロックは、ＤＣＴにおいて、４個の輝度（Ｙ）ブロックと、２個の色差（Ｃｂ，Ｃｒ）ブロックとを有する。画像符号化はこれらのブロック毎に行われる。
入力画像Ｄ１は、動き検出部１１及び動き補償部１２からなる動き補償手段へと入力される。まず、入力画像Ｄ１は動き検出部１１に入力され、マクロブロック毎に画像の動きが検出される。動き検出部１１は、該符号化対象マクロブロックの画像データと、局部復号画像内のマクロブロックと同じ大きさの画像領域での画像データとを比較することによって、該符号化対象マクロブロックの画像と類似する画像領域を検出し、画像の動きを示す動きベクトルＤ２を生成する。
具体的には、動き検出部１１では、符号化済のフレーム画像としてフレームメモリ２０に格納されている局部復号画像Ｄ１２内の所定の画像領域を参照して、入力画像Ｄ１内の符号化対象となっているマクロブロックに類似する画像領域を探索する。そして、探索の結果検出された該符号化対象マクロブロックの画像データに類似する画像領域と該符号化対象マクロブロックとの間の空間的な移動量によって、動きベクトル情報Ｄ２を決定する。
またこのとき、予め用意された複数の符号化モードの中から、該符号化対象マクロブロックに用いられる符号化モードが選択される。図３Ａ〜Ｃは、動き補償について用意される符号化モードの一例を示す模式図である。図３Ａに例示した符号化モードはインター符号化モード０、図３Ｂに例示した符号化モードはインター符号化モード１、図３Ｃに例示した符号化モードはイントラ符号化モード２である。
インター符号化モード０〜１は、それぞれ異なる動き補償用ブロックへのブロック区分を用いてフレーム間符号化を行う場合のモードである。それぞれでの動き補償用ブロックについては、図３Ａに示すように、インター符号化モード０では、輝度成分画像に対して１６画素×１６ラインのサイズで１個のブロックが用いられる。また、図３Ｂに示すように、インター符号化モード１では、輝度成分画像に対して８画素×８ラインのサイズで４個のブロックが用いられる。
上記動きベクトル情報Ｄ２は、選択されたインター符号化モードにおける区分された動き補償用ブロック毎に付与される。したがって、各マクロブロックに対して、区分されたブロックの個数分の動きベクトル情報Ｄ２が付与される。各動き補償用ブロックへの動きベクトル情報Ｄ２の付与の順序については、例えば、図３Ａ〜Ｃ中の各符号化モードにおいて、ブロック内の数字によって示した順序で行われる。なお、色差成分画像に対しては両インター符号化モードとも８画素×８ラインのサイズのブロックを用い、輝度成分画像に対する動きベクトルの半分の長さの動きベクトルが割り当てられる。
符号化モードの選択方法として一例を挙げると、例えばマクロブロック内の動き補償後の予測残差画像の画素値の分散値を求め、該分散値が予め設定しておいた閾値より大きい場合、あるいは入力画像における該マクロブロックの画素値の分散値より大きい場合にはイントラ符号化モードを選択し、それ以外の場合にはインター符号化モードを選択する。これは該マクロブロックの画像データが複雑である場合にイントラ符号化モードを選択することを意味する。
インター符号化モードが選択された場合には、マクロブロックを４つに分割したブロックごとに動き探索を行うことによって各ブロックに対応する動きベクトルおよび画像データの差分値を生成する。そして、インター符号化モード０における１つの動きベクトルに対する符号量Ｍ（ＭＶ）、インター符号化モード１における４つの動きベクトルに対する符号量の合計値Ｍ（４ＭＶ）を算出する。さらにインター符号化モード０における画像データの差分値Ｄ（ＭＶ）、インター符号化モード１における画像データの差分値の合計値Ｄ（４ＭＶ）を算出する。そして、予め設定してある係数αを用いて、Ｍ（ＭＶ）＋α・Ｄ（ＭＶ）とＭ（４ＭＶ）＋α・Ｄ（４ＭＶ）の値を比較し、例えば前者の方が小さいか等しければインター符号化モード０を、後者の方が小さければインター符号化モード１を選択する。
該符号化モードがインター符号化モードである場合には、各動き補償用ブロックに対して動きベクトルが求められたら、動き補償部１２において、動き検出部１１からの動きベクトル情報Ｄ２と、フレームメモリ２０からの局部復号画像Ｄ１２とを用いて、予測画像Ｄ４を生成する。続いて、減算器１３において、入力画像Ｄ１と予測画像Ｄ４との間の差分（予測残差）を求めることによって予測残差画像Ｄ５が生成される。
該符号化モードがイントラ符号化モードである場合には、予測画像Ｄ４の画素データを０とすることにより、入力画像Ｄ１がそのまま予測残差画像Ｄ５として出力される。
また、選択された符号化モードを示す情報および量子化パラメータを符号化モード情報Ｄ３として、動きベクトルに関する情報を動きベクトル情報Ｄ２として出力する。
予測残差画像Ｄ５の画像データは、直交変換部（直交変換手段）１４へと入力される。直交変換部１４では、予測残差画像Ｄ５に対して、マクロブロックに含まれる直交変換ブロック毎に直交変換が行われて、周波数画像データである直交変換係数Ｄ６が生成される。例えばＭＰＥＧ−４では輝度成分画像に対して８画素×８ラインのサイズの４個のブロックが、それぞれの色差成分画像に対して８画素×８ラインのサイズの１個の直交変換ブロックがマクロブロックに含まれる。
図４Ａ，Ｂは、画像データの直交変換について示す図である。予測残差画像Ｄ５内にある直交変換用に分割された各ブロックの画像データは空間画像データであり、図４Ａに８画素×８ラインの画像成分によって例示するように、水平座標と垂直座標とで規定される８画素×８ラインの空間画像成分ａ１１〜ａ８８によって表される。直交変換部１４は、この空間画像データを所定の変換方法で直交変換することによって、図４Ｂに示す周波数画像データへと変換する。この周波数画像データは、水平周波数と垂直周波数とで規定される８画素×８ラインの周波数画像成分である直交変換係数ｆ１１〜ｆ８８によって表される。
具体的な直交変換としては、例えば、離散コサイン変換（ＤＣＴ：Ｄｉｓｃｒｅｔｅ  Ｃｏｓｉｎｅ  Ｔｒａｎｓｆｏｒｍ）を適用することができる。ＤＣＴは、フーリエ変換のコサインの項を用いる直交変換であり、画像符号化において多く用いられている。空間画像データに対してＤＣＴを行うことにより、周波数画像データであるＤＣＴ係数ｆ１１〜ｆ８８が生成される。なお、ＤＣＴにおいては、例えばＭＰＥＧ−４符号化方式では、直交変換用のブロックとして、図４Ａ，Ｂに示したように８画素×８ラインのＤＣＴブロックが用いられる。
こうして生成された直交変換係数Ｄ６は、量子化部１５において所定の量子化パラメータによって量子化されて、量子化直交変換係数Ｄ７が得られる。また、ブロック単位に有意な直交変換係数があるか否かを示すＣＢＰおよび、マクロブロック内に有意な直交変換係数があるか否かを示すＣＯＤフラグを生成し、符号化補助情報Ｄ８として出力する。
量子化部１５によって生成された量子化直交変換係数Ｄ７および符号化補助情報Ｄ８は可変長符号化部１６において可変長符号化され、これにより入力画像Ｄ１の圧縮データである符号化データＤ９が生成される。また、可変長符号化部１６にはさらに動き検出部１１によって検出された動きベクトル情報Ｄ２と、動き検出部１１において選択された符号化モードおよび量子化パラメータを示す符号化モード情報Ｄ３と、が入力されている。これらの動きベクトル情報Ｄ２および符号化モード情報Ｄ３も可変長符号化部１６において可変長符号化されて、符号化データＤ９に多重化される。
また、量子化部１５において生成された量子化直交変換係数Ｄ７は、本画像符号化装置内において、逆量子化部１７によって逆量子化されて逆量子化直交変換係数Ｄ１０となり、さらに逆直交変換部１８によって逆直交変換されて局部復号残差画像Ｄ１１となる。そして、局部復号残差画像Ｄ１１と予測画像Ｄ４とが加算器１９において加算されて、局部復号画像Ｄ１２が生成される。この局部復号画像Ｄ１２はフレームメモリ２０に格納されて、他のフレーム画像の動き補償に利用される。
次に、動画像復号方法及び動画像復号装置の一例を示す。
図５は、画像復号方法の一例を概略的に示すフローチャートである。本復号方法は、図１に示した画像符号化方法によって生成された符号化データＤ９に対して所定の復号処理操作及び変換処理操作を行って、局部復号画像Ｄ１２と同一の画像として復号画像Ｄ１２を復元する画像復号方法である。
図５に示した画像復号方法においては、まず、符号化データＤ９に対して可変長復号テーブルを用いて可変長復号を行い、量子化直交変換係数Ｄ７を生成する（ステップＳ２０１）。また、動きベクトル情報Ｄ２、符号化モード情報Ｄ３、符号化補助情報Ｄ８も同様に可変長復号テーブルを用いて符号化データＤ９から可変長復号される。
具体的には、まず、符号化データＤ９に対して適用する可変長復号テーブルが設定され、その可変長復号テーブルを用いて符号化データＤ９が可変長復号されてそれぞれの符号化シンボルが生成される。
次に、量子化直交変換係数Ｄ７に対して逆量子化操作を行って逆量子化直交変換係数Ｄ１０を生成し（ステップＳ２０２）、さらに逆直交変換操作を行って局部復号残差画像Ｄ１１を生成する（ステップＳ２０３）。そして、局部復号残差画像Ｄ１１および既復号フレームを用いて符号化モード情報Ｄ３が示す符号化モードを適用して動き補償を行い、復号画像Ｄ１２を復元する（Ｓ２０４）。
図６は、動画像復号装置の一例の構成を概略的に示すブロック図である。
復号対象として入力された符号化データＤ９は可変長復号部２１に入力され、所定の可変長復号テーブルを用いて可変長復号されて動きベクトル情報Ｄ２、符号化モード情報Ｄ３、量子化直交変換係数Ｄ７、符号化補助情報Ｄ８の各復号シンボルが生成される。具体的には可変長復号部２１は、データ圧縮された符号化データＤ９について、フレーム画像の先頭から、マクロブロック毎に符号化データＤ９に含まれている各データをビットストリームより読み込み、それを可変長復号して、動きベクトル情報Ｄ２、符号化モード情報Ｄ３、量子化直交変換係数Ｄ７、符号化補助情報Ｄ８を生成する。なお、可変長復号に用いる可変長復号テーブルは、上述のように適宜各シンボルに応じて切り替えられる。
量子化直交変換係数Ｄ７は、逆量子化部２２及び逆直交変換部２３によって逆量子化、逆直交変換される。これにより、局部復号残差画像Ｄ１１が生成される。この局部復号残差画像Ｄ１１は、符号化前の予測残差画像Ｄ５に対応した画像であるが、量子化・逆量子化のプロセスによって情報が失われている。
一方、動きベクトル情報Ｄ２及び符号化モード情報Ｄ３は、動き補償部２４へと入力される。動き補償部２４では、符号化モード情報Ｄ３が示す符号化モードによって画像の動き補償が行われ、可変長復号部２１からの動きベクトル情報Ｄ２と、フレームメモリ２５に格納されている復号画像とを用いて、予測画像Ｄ４が生成される。そして、加算器２６において、局部復号残差画像Ｄ１１と予測画像Ｄ４とが加算されて、復元されたフレーム画像が復号画像Ｄ１２として出力される。
【発明の開示】
上述したように、従来の一般的な動画像符号化方式においては、マクロブロック内の所定のブロック毎に、有意な画像データが含まれるか否かを示す符号化ブロックパタン情報（ＣＢＰ）を伝送することにより、ブロック毎の画像データ伝送を省略することができるようにして、符号化の効率を高めていた。また符号化ブロックパタン情報は、輝度信号と色差信号とで異なるエントロピー符号を用いることにより、それぞれの信号の特性に合わせてより適したエントロピー符号を適用して符号化し、符号化の効率を高めていた。
ブロック毎の有意な画像データを示す符号化ブロックパタン情報は、当該マクロブロックにおける有意な画像データの発生しやすさ、あるいは有意な画像データを持つブロック毎の出現パタンを示しているといえる。このような情報は、輝度信号もしくは色差信号の同一の信号においても、符号化条件や画像の性質により、その性質が大きく異なる。
例えば、動画像符号化においては量子化パラメータによって直交変換係数を量子化し、その過程において、小さな値を持ち復号画像の品質に大きな影響を与えないような直交変換係数を０として省略することにより、画像データの量を少なくする処理が行われる。
このとき、量子化パラメータが大きな値を取る場合にはより粗い量子化がなされるため、多くの直交変換係数が０として省略されることとなり、したがって有意な画像データを持つブロックが少なくなる。このとき、有意な画像データを持つブロックが少ないような符号化ブロックパタン情報に対してより符号長の短い符号が割り当てられた情報源符号化を行うと、効率的な符号化を行うことができる。
他方で量子化パラメータが小さな値を取る場合にはより細かな量子化がなされるため、０として省略されてしまう直交変換係数は少なくなり、したがって有意な画像データを持つブロックは多くなる。このような場合、有意な画像データを持つブロックが多いような符号化ブロックパタン情報に対してより符号長の長い符号が割り当てられた情報源符号化を行うと、効率的な符号化を行うことができなくなる。
また例えば、動画像符号化においては、動き補償フレーム間予測符号化の処理により、画像上での動きが大きくかつ複雑であるような領域においては、予測が当たりにくく差分画像の信号が大きくなる傾向があるのに対して、画像上での動きが小さくかつ単純であるような領域においては、予測が当たりやすく差分画像の信号が小さくなる傾向がある。
このとき、差分画像の信号が大きくなる場合には有意な画像データを持つブロックが多くなり、また差分画像の信号が小さくなる場合には有意な画像データを持つブロックは少なくなる。このような場合にも、ひとつの情報源符号化手段により符号化ブロックパタン情報を符号化すると、どちらの場合においても効率的となるような符号化を行うことは難しい。
また、通常、動きベクトルは周囲のブロックの動きベクトルの値から符号化対象となるブロックにおける動きベクトル値を予測した予測動きベクトルと実際の動きベクトルとの差分である差分動きベクトルが情報源符号化される。差分動きベクトルは周辺画像の動きが単調な場合にはその大きさが０に集中する傾向があるのに対し、周辺画像の動きが激しい場合には差分動きベクトルの大きさが０に集中しない傾向がある。従ってこのような場合にも、ひとつの情報源符号化手段により差分動きベクトルを符号化すると、どちらの場合においても効率的となるような符号化を行うことは難しい。
また、マクロブロックの符号化モードについても、周辺画像の動きやテクスチャが複雑な場合と単調な場合とで発生する符号化モードの確率分布の特性が大きく異なるため、ひとつの情報源符号化手段により符号化モードを符号化すると、どちらの場合においても効率的となるような符号化を行うことは難しい。
また、量子化直交変換係数についても、符号化条件や画像の性質により、ブロック内に発生する係数の分布の特性が大きく異なる。例えば、量子化パラメータが小さな値を取る場合にはより細かな量子化がなされるため、値の大きな量子化直交変換係数が多く発生する傾向があるのに対して、量子化パラメータが大きな値を取る場合には値の小さな量子化直交変換係数が発生しやすい傾向がある。このような場合にも、ひとつの情報源符号化手段により量子化直交変換係数を符号化すると、どちらの場合においても効率的となるような符号化を行うことは難しい。
ここで、量子化直交変換係数についてより詳しく述べておく。上述したように、従来の一般的な画像符号化方式においては、量子化された直交変換係数に対してさらに可変長符号化すなわち情報源符号化を行い、直交変換係数の伝送に必要な情報量を削減することにより、符号化の効率を高めていた。
直交変換係数について、どのような情報が発生しやすいかという性質は、画像の性質により変化する。例えば動画像符号化においてイントラ符号化モードであるかもしくはインター符号化モードであるかによって、直交変換される画像が画像そのものであるか、あるいは動き補償が行われたあとの残差画像であるかが異なるため、直交変換係数の性質も大きく異なってくる。このため一般的な動画像符号化方式においては、それぞれの符号化モードにおける直交変換係数に対してそれぞれ専用の可変長符号化テーブルを用意することにより、それぞれの直交変換係数の性質に適した情報源符号化がなされるようになっている。
しかしながら直交変換係数は、符号化しようとしている直交変換係数そのものの状況によっても、どのような情報が発生しやすいかという性質が変化する。
直交変換係数は、画像信号を直交変換により空間周波数領域での離散信号に変換した結果として得られるものである。したがって、自然画像においては隣接する画素同士の相関が高く空間低周波領域の信号がより強くなるため、これを直交変換した直交変換係数は一般的に、低周波領域において大きな係数値が密に発生しやすくなる一方、高周波領域においては非ゼロの係数値が発生しにくくなりまた大きな係数値をとることも少ないという特徴がある。さらに一般的な画像符号化方式においては、上述の量子化により、高周波領域における値の小さな直交変換係数がゼロとなるような処理がなされる。これは人間の視覚上における影響の小さい信号を削減してより符号化効率を高めようとするものであるが、このような処理により、高周波領域においては係数値が発生しにくくなるという傾向がより強くなる。
また直交変換係数では、自然画像においては各係数の発生はまったく無相関となるわけではなく、例えば画像信号に画素値の大きな信号が含まれていれば、これを直交変換した係数値は大きな値をとるものが多くなる。あるいは逆に、それぞれの直交変換係数が属する周波数領域が離れた領域であれば、上述の周波数領域による性質の違いもあり、各係数の相関は低くなる。
このように直交変換係数は、それが属する周波数領域などによってその性質が大きく変化するが、一般的な画像符号化方式においてはそれらの変化にかかわらず一律な情報源符号化を行っており、効率的な情報源符号化を実現できていないという問題があった。
このように従来の動画像符号化においては、符号化関連情報について、その性質が、符号化条件や画像の性質により異なるために、情報源符号化を効率的に行うことができないという問題があった。
本発明は以上のような問題点を解決するためになされたものであり、符号化関連情報の情報源符号化が、符号化条件や画像の性質に応じて効率的になされることのできる画像符号化装置、画像復号装置、画像符号化方法、画像復号方法、画像符号化プログラム及び画像復号プログラムを提供することを課題とする。
上記課題を解決するために、本発明の画像符号化装置は、符号化対象画像を所定サイズのマクロブロックに分割し、上記マクロブロックをマクロブロックタイプに基づいて特定される所定の形状およびサイズのブロックに分割し、上記ブロックを単位として動き補償予測を行って動きベクトルを出力する動き検出部と、上記動き検出部によって出力された上記動きベクトルに基づいて参照画像から予測画像を生成する動き補償部と、上記動き補償部によって生成された上記予測画像と上記符号化対象画像との差分演算を行って予測残差画像を出力する減算部と、上記減算部によって出力された上記予測残差画像を所定の変換ブロックを単位として変換符号化して変換係数を出力する変換部と、上記変換部によって出力された上記変換係数を量子化係数に基づいて量子化して量子化変換係数を出力する量子化部と、上記動き検出部によって出力された上記動きベクトルと上記マクロブロックタイプと上記量子化係数と上記量子化部によって出力された上記量子化変換係数とを含む符号化関連情報を圧縮符号化した符号化データを出力する符号化部とを備える画像符号化装置であって、上記符号化部は、上記符号化関連情報を記憶する符号化シンボルメモリと、１つまたは複数種類の符号化手順を提供する符号化手順提供部と、上記符号化シンボルメモリに格納されている符号化関連情報を利用し、所定の符号化手順選択基準に基づいて、上記符号化手順提供部が提供するいずれかの符号化手順を選択し、選択された符号化手順に基づいて上記符号化関連情報を圧縮符号化して符号化データを出力する符号化データ出力部とを備えることを特徴としている。
また、これに対応する画像復号装置は、符号化対象画像が所定サイズのマクロブロックに分割され、上記マクロブロックがマクロブロックタイプに基づいて特定される所定の形状およびサイズのブロックに分割され、上記ブロックを単位として動き補償予測が行われて出力された動きベクトルと、上記動きベクトルに基づいて参照画像から予測画像が生成され、上記予測画像と上記符号化対象画像との差分演算が行われて予測画像が出力され、上記予測残差画像が所定の変換ブロックを単位として変換符号化されて変換係数が出力され、上記変換係数が量子化係数に基づいて量子化された量子化変換係数と、上記マクロブロックタイプと、上記量子化係数とを含む符号化関連情報を圧縮符号化した符号化データを復号する復号部を備えた画像復号装置であって、上記復号部は、復号済の上記符号化関連情報を記憶する復号シンボルメモリと、１つまたは複数種類の復号手順を提供する復号手順提供部と、上記復号シンボルメモリに格納されている復号済の符号化関連情報を利用し、所定の復号手順選択基準に基づいて、上記復号手順提供部が提供するいずれかの復号手順であって復号対象となる符号化関連情報の符号化に用いられた符号化手順に対応する復号手順を選択し、選択された復号手順に基づいて上記符号化関連情報を復号して復号データを出力する復号データ出力部とを備えることを特徴としている。
また、上記課題を解決するために本発明の画像符号化方法は、符号化対象画像を所定サイズのマクロブロックに分割し、上記マクロブロックをマクロブロックタイプに基づいて特定される所定の形状およびサイズのブロックに分割し、上記ブロックを単位として動き補償予測を行って動きベクトルを出力する動き検出ステップと、上記動き検出ステップにおいて出力された上記動きベクトルに基づいて参照画像から予測画像を生成する動き補償ステップと、上記動き補償ステップにおいて生成された上記予測画像と上記符号化対象画像との差分演算を行って予測残差画像を出力する減算ステップと、上記減算ステップにおいて出力された上記予測残差画像を所定の変換ブロックを単位として変換符号化して変換係数を出力する変換ステップと、上記変換ステップにおいて出力された上記変換係数を量子化係数に基づいて量子化して量子化変換係数を出力する量子化ステップと、上記動き検出ステップにおいて出力された上記動きベクトルと上記マクロブロックタイプと上記量子化係数と上記量子化ステップにおいて出力された上記量子化変換係数とを含む符号化関連情報を圧縮符号化した符号化データを出力する符号化ステップとを備える画像符号化方法であって、上記符号化ステップは、１つまたは複数種類の符号化手順を用意しておき、符号化シンボルメモリに格納されている符号化関連情報を利用し、所定の符号化手順選択基準に基づいて、上記１つまたは複数種類の符号化手順の中からいずれかの符号化手順を選択し、選択された符号化手順に基づいて上記符号化関連情報を圧縮符号化して符号化データを出力することを特徴としている。
また、これに対応する画像復号方法は、符号化対象画像が所定サイズのマクロブロックに分割され、上記マクロブロックがマクロブロックタイプに基づいて特定される所定の形状およびサイズのブロックに分割され、上記ブロックを単位として動き補償予測が行われて出力された動きベクトルと、上記動きベクトルに基づいて参照画像から予測画像が生成され、上記予測画像と上記符号化対象画像との差分演算が行われて予測画像が出力され、上記予測残差画像が所定の変換ブロックを単位として変換符号化されて変換係数が出力され、上記変換係数が量子化係数に基づいて量子化された量子化変換係数と、上記マクロブロックタイプと、上記量子化係数とを含む符号化関連情報を圧縮符号化した符号化データを復号する復号ステップを備えた画像復号方法であって、上記復号ステップは、１つまたは複数種類の復号手順を用意しておき、復号シンボルメモリに格納されている復号済の符号化関連情報を利用し、所定の復号手順選択基準に基づいて、上記１つまたは複数種類の復号手順の中からいずれかの復号手順であって復号対象となる符号化関連情報の符号化に用いられた符号化手順に対応する復号手順を選択し、選択された復号手順に基づいて上記符号化関連情報を復号して復号データを出力することを特徴としている。
また、上記課題を解決するために、本発明の画像符号化プログラムは、コンピュータを、符号化対象画像を所定サイズのマクロブロックに分割し、上記マクロブロックをマクロブロックタイプに基づいて特定される所定の形状およびサイズのブロックに分割し、上記ブロックを単位として動き補償予測を行って動きベクトルを出力する動き検出手段と、上記動き検出手段によって出力された上記動きベクトルに基づいて参照画像から予測画像を生成する動き補償手段と、上記動き補償手段によって生成された上記予測画像と上記符号化対象画像との差分演算を行って予測残差画像を出力する減算手段と、上記減算手段によって出力された上記予測残差画像を所定の変換ブロックを単位として変換符号化して変換係数を出力する変換手段と、上記変換手段によって出力された上記変換係数を量子化係数に基づいて量子化して量子化変換係数を出力する量子化手段と、上記動き検出手段によって出力された上記動きベクトルと上記マクロブロックタイプと上記量子化係数と上記量子化手段によって出力された上記量子化変換係数とを含む符号化関連情報を圧縮符号化した符号化データを出力する符号化手段として機能させる画像符号化プログラムであって、上記符号化手段は、１つまたは複数種類の符号化手順を提供する符号化手順提供手段と、符号化シンボルメモリに格納されている符号化関連情報を利用し、所定の符号化手順選択基準に基づいて、上記符号化手順提供手段が提供するいずれかの符号化手順を選択し、選択された符号化手順に基づいて上記符号化関連情報を圧縮符号化して符号化データを出力する符号化データ出力手段とを備えることを特徴としている。
また、これに対応する画像復号プログラムは、コンピュータを、符号化対象画像が所定サイズのマクロブロックに分割され、上記マクロブロックがマクロブロックタイプに基づいて特定される所定の形状およびサイズのブロックに分割され、上記ブロックを単位として動き補償予測が行われて出力された動きベクトルと、上記動きベクトルに基づいて参照画像から予測画像が生成され、上記予測画像と上記符号化対象画像との差分演算が行われて予測画像が出力され、上記予測残差画像が所定の変換ブロックを単位として変換符号化されて変換係数が出力され、上記変換係数が量子化係数に基づいて量子化された量子化変換係数と、上記マクロブロックタイプと、上記量子化係数とを含む符号化関連情報を圧縮符号化した符号化データを復号する復号手段として機能させる画像復号プログラムであって、上記復号手段は、１つまたは複数種類の復号手順を提供する復号手順提供手段と、復号シンボルメモリに格納されている復号済の符号化関連情報を利用し、所定の復号手順選択基準に基づいて、上記復号手順提供手段が提供するいずれかの復号手順であって復号対象となる符号化関連情報の符号化に用いられた符号化手順に対応する復号手順を選択し、選択された復号手順に基づいて上記符号化関連情報を復号して復号データを出力する復号データ出力手段とを備えることを特徴としている。
上述の画像符号化装置、画像符号化方法及び画像符号化プログラムは、ひとつの符号化関連情報について情報源符号化を行うための手順を複数用意し、ブロックにおける当該符号化関連情報の情報源符号化に用いる手順をこれら複数の手順から選択する。従って、上述のように変化する符号化シンボルの性質に適した情報源符号化に用いる手順を、複数の手順の中から選択することができる。その結果、符号化条件や画像の性質に応じて、符号化シンボルの情報源符号化を効率的に行うことが可能となる。
また、上述の画像復号装置、画像復号方法及び画像復号プログラムは、ひとつの符号化関連情報について情報源復号を行うための手順を複数用意し、ブロックにおける当該符号化関連情報の情報源復号に用いる手順をこれら複数の手順から選択する。従って、上述の画像符号化装置、画像符号化方法及び画像符号化プログラムによって符号化された符号化データを正しく復号することができる。
また、本発明の画像符号化装置においては、上記符号化部は、上記マクロブロック内のそれぞれの上記変換ブロックについて、非零である上記量子化変換係数が存在するか否かを示す非零係数存在フラグを含む符号化ブロックパタン情報を圧縮符号化する機能を備え、上記符号化手順提供部は、当該符号化対象マクロブロックにおける符号化ブロックパタン情報を符号化するときに、該符号化対象マクロブロックの周囲マクロブロックと当該符号化対象マクロブロックとの間で上記符号化ブロックパタン情報の空間的相関が高くなるほど符号長が短くなるような符号化手順を提供することを特徴とすることもできる。
また、これに対応する画像復号装置においては、上記復号部は、上記マクロブロック内のそれぞれの上記変換ブロックについて、非零である上記量子化変換係数が存在するか否かを示す非零係数存在フラグを含む符号化ブロックパタン情報を復号する機能を備え、上記復号手順提供部は、当該符号化対象マクロブロックにおける符号化ブロックパタン情報を復号するときに、該符号化対象マクロブロックの周囲マクロブロックと当該符号化対象マクロブロックとの間で上記符号化ブロックパタン情報の空間的相関が高くなるほど符号長が短くなるように提供された符号化手順に対応する復号手順を提供する。
また、本発明の画像符号化装置においては、上記符号化手順提供部は、当該符号化対象マクロブロックの周囲マクロブロックにおけるマクロブロックタイプが当該符号化対象マクロブロックを最も多くのブロックに分割することを示すマクロブロックタイプである場合には、当該符号化対象マクロブロック内の全ての符号化ブロックは非零である量子化変換係数を持つことを示す符号化ブロックパタン情報を持つものとして、当該符号化対象マクロブロックにおける符号化ブロックパタン情報を符号化するときに、当該符号化対象マクロブロックの周囲マクロブロックと当該符号化対象マクロブロックとの間で上記符号化ブロックパタン情報の空間的相関が高くなるほど符号長が短くなるような符号化手順を提供することを特徴とすることもできる。
また、これに対応する画像復号装置においては、上記復号手順提供部は、当該符号化対象マクロブロックの周囲マクロブロックにおけるマクロブロックタイプが当該符号化対象マクロブロックを最も多くのブロックに分割することを示すマクロブロックタイプである場合には、当該符号化対象マクロブロック内の全ての符号化ブロックは非零である量子化変換係数を持つことを示す符号化ブロックパタン情報を持つものとして、当該符号化対象マクロブロックにおける符号化ブロックパタン情報を復号するときに、当該符号化対象マクロブロックの周囲マクロブロックと当該符号化対象マクロブロックとの間で上記符号化ブロックパタン情報の空間的相関が高くなるほど符号長が短くなるように提供された符号化手順に対応する復号手順を提供する。
さらに、本発明の画像符号化装置においては、上記符号化手順提供部は、当該符号化対象マクロブロックにおける上記符号化ブロックパタン情報を符号化するときに、当該符号化対象マクロブロックにおける量子化係数の大きさが予め設定された閾値より大きい場合には、非零である量子化変換係数を含むブロック数がより少ないことを示す上記符号化ブロックパタン情報に対して符号長がより短くなるような符号化手順を提供することを特徴とすることもできる。
これに対応する画像復号装置においては、上記復号手順提供部は、当該符号化対象マクロブロックにおける上記符号化ブロックパタン情報を復号するときに、当該符号化対象マクロブロックにおける量子化係数の大きさが予め設定された閾値より大きい場合には、非零である量子化変換係数を含むブロック数がより少ないことを示す上記符号化ブロックパタン情報に対して符号長がより短くなるように提供された符号化手順に対応する復号手順を提供する。
また、本発明の画像符号化装置においては、上記符号化手順提供部は、当該符号化対象マクロブロックにおける上記符号化ブロックパタン情報を符号化するときに、当該符号化対象マクロブロックの周囲マクロブロックに含まれるブロック数が多いほど符号長の偏りが小さくなるような符号化手順を提供することを特徴とすることもできる。
また、これに対応する画像復号装置においては、上記復号手順提供部は、当該符号化対象マクロブロックにおける上記符号化ブロックパタン情報を復号するときに、当該符号化対象マクロブロックの周囲マクロブロックに含まれるブロック数が多いほど符号長の偏りが小さくなるように提供された符号化手順に対応する復号手順を提供する。
また、本発明の画像符号化装置においては、上記符号化手順提供部は、当該符号化対象マクロブロックにおける上記量子化変換係数を符号化するときに、当該符号化対象マクロブロックの周囲マクロブロックにおける上記量子化変換係数の絶対値が大きいほど符号長の偏りが小さくなるような符号化手順を提供することを特徴とすることもできる。
これに対応する画像復号装置においては、上記復号手順提供部は、当該符号化対象マクロブロックにおける上記量子化変換係数を復号するときに、当該符号化対象マクロブロックの周囲マクロブロックにおける上記量子化変換係数の絶対値が大きいほど符号長の偏りが小さくなるように提供された符号化手順に対応する復号手順を提供する。
また、本発明の画像符号化装置においては、上記符号化手順提供部は、当該符号化対象マクロブロックにおける上記マクロブロックタイプを符号化するときに、当該符号化対象マクロブロックの周囲マクロブロックと当該符号化対象マクロブロックとの間で上記マクロブロックタイプの空間的相関が高くなるほど符号長が短くなるような符号化手順を提供することを特徴とすることもできる。
これに対応する画像復号装置においては、上記復号手順提供部は、当該符号化対象マクロブロックにおける上記マクロブロックタイプを復号するときに、当該符号化対象マクロブロックの周囲マクロブロックと当該符号化対象マクロブロックとの間で上記マクロブロックタイプの空間的相関が高くなるほど符号長が短くなるように提供された符号化手順に対応する復号手順を提供する。
また、本発明の画像符号化装置においては、上記符号化手順提供部は、当該符号化対象マクロブロックにおける上記マクロブロックタイプを符号化するときに、より多くのブロックを含むマクロブロックタイプに対して符号長がより短くなるような符号化手順を提供することを特徴とすることもできる。
これに対応する画像復号装置においては、上記復号手順提供部は、当該符号化対象マクロブロックにおける上記マクロブロックタイプを復号するときに、より多くのブロックを含むマクロブロックタイプに対して符号長がより短くなるように提供された符号化手順に対応する復号手順を提供する。
また、本発明の画像符号化装置においては、上記符号化部は、上記ブロック内の上記非零である量子化変換係数の数を符号化する機能を備え、上記符号化手順提供部は、当該符号化対象マクロブロックにおける上記非零である量子化変換係数の数を符号化するときに、当該符号化対象ブロックの周囲ブロックにおける上記非零である量子化変換係数の数が予め設定された閾値より小さい場合には、上記非零である量子化変換係数の数が小さいほど符号長が短くなるような符号化手順を提供することを特徴とすることもできる。
これに対応する画像復号装置においては、上記復号部は、上記ブロック内の上記非零である量子化変換係数の数を復号する機能を備え、上記復号手順提供部は、当該符号化対象マクロブロックにおける上記非零である量子化変換係数の数を復号するときに、当該符号化対象ブロックの周囲ブロックにおける上記非零である量子化変換係数の数が予め設定された閾値より小さい場合には、上記非零である量子化変換係数の数が小さいほど符号長が短くなるように提供された符号化手順に対応する復号手順を提供する。
また、本発明の画像符号化装置においては、上記符号化シンボルメモリは、周囲ブロックから予測した予測動きベクトルと実際の動きベクトルの差分値である差分動きベクトル値を保持する機能を備え、上記符号化手順提供部は、当該符号化対象マクロブロックにおける上記符号化ブロックパタン情報を符号化するときに、当該符号化対象マクロブロックの周囲マクロブロックにおける差分動きベクトル値の大きさが予め設定された閾値より大きい場合には、非零である量子化変換係数を含むブロック数がより多いことを示す符号化ブロックパタン情報に対して符号長がより短くなるような符号化手順を提供することを特徴とすることもできる。
これに対応する画像復号装置においては、上記復号シンボルメモリは、周囲ブロックから予測した予測動きベクトルと実際の動きベクトルの差分値である差分動きベクトル値を保持する機能を備え、上記復号手順提供部は、当該符号化対象マクロブロックにおける上記符号化ブロックパタン情報を復号するときに、当該符号化対象マクロブロックの周囲マクロブロックにおける差分動きベクトル値の大きさが予め設定された閾値より大きい場合には、非零である量子化変換係数を含むブロック数がより多いことを示す符号化ブロックパタン情報に対して符号長がより短くなるように提供された符号化手順に対応する復号手順を提供する。
また、本発明の画像符号化装置においては、上記符号化シンボルメモリは、周囲ブロックから予測した予測動きベクトルと実際の動きベクトルの差分値である差分動きベクトル値を保持する機能を備え、上記符号化手順提供部は、当該符号化対象マクロブロックにおける上記差分動きベクトル値を符号化するときに、当該符号化対象ブロックの周囲ブロックにおける差分動きベクトル値の大きさが予め設定された閾値より小さい場合には、より小さい差分動きベクトル値に対して符号長がより短くなるような符号化手順を提供することを特徴とすることもできる。
これに対応する画像復号装置においては、上記復号シンボルメモリは、周囲ブロックから予測した予測動きベクトルと実際の動きベクトルの差分値である差分動きベクトル値を保持する機能を備え、上記復号手順提供部は、当該符号化対象マクロブロックにおける上記差分動きベクトル値を復号するときに、当該符号化対象ブロックの周囲ブロックにおける差分動きベクトル値の大きさが予め設定された閾値より小さい場合には、より小さい差分動きベクトル値に対して符号長がより短くなるように提供された符号化手順に対応する復号手順を提供する。
また、本発明の画像符号化装置においては、上記符号化シンボルメモリは、周囲ブロックから予測した予測動きベクトルと実際の動きベクトルの差分値である差分動きベクトル値を保持する機能を備え、上記符号化手順提供部は、当該符号化対象マクロブロックにおける上記マクロブロックタイプを符号化するときに、当該符号化対象ブロックの周囲ブロックにおける差分動きベクトル値の大きさが予め設定された閾値より大きい場合には、より多くのブロックを含むマクロブロックタイプに対して符号長がより短くなるような符号化手順を提供することを特徴とすることもできる。
これに対応する画像復号装置においては、上記復号シンボルメモリは、周囲ブロックから予測した予測動きベクトルと実際の動きベクトルの差分値である差分動きベクトル値を保持する機能を備え、上記復号手順提供部は、当該符号化対象マクロブロックにおける上記マクロブロックタイプを復号するときに、当該符号化対象ブロックの周囲ブロックにおける差分動きベクトル値の大きさが予め設定された閾値より大きい場合には、より多くのブロックを含むマクロブロックタイプに対して符号長がより短くなるように提供された符号化手順に対応する復号手順を提供する。
また、上記課題を解決するために、本発明の画像符号化装置は、符号化対象画像または上記符号化対象画像に基づいて生成された予測残差画像を所定の変換ブロックに分割し、上記符号化対象画像または上記予測残差画像を上記変換ブロックを単位として変換符号化し変換係数を出力する変換部と、上記変換部によって出力された上記変換係数を量子化係数に基づいて量子化して量子化変換係数を出力する量子化部と、上記量子化係数と上記量子化部によって出力された上記量子化変換係数とを含む符号化関連情報を圧縮符号化した符号化データを出力する符号化部とを備える画像符号化装置であって、上記符号化部は、当該符号化対象ブロック内の上記量子化変換係数を周波数に応じて１次元系列に変換し、上記１次元系列における上記量子化変換係数の絶対値が０となる係数の連続数であるゼロラン値と上記量子化変換係数の絶対値であるレベル値と上記量子化変換係数の正負を示す正負符号とを符号化する機能を備え、上記符号化関連情報を記憶する符号化シンボルメモリと、１つまたは複数種類の符号化手順を提供する符号化手順提供部と、上記符号化シンボルメモリに格納されている符号化関連情報を利用し、所定の符号化手順選択基準に基づいて、上記符号化手順提供部が提供するいずれかの符号化手順を選択し、選択された符号化手順に基づいて上記符号化関連情報を圧縮符号化し符号化データを出力する符号化データ出力部とを備えることを特徴としている。
これに対応する画像復号装置は、符号化対象画像または上記符号化対象画像に基づいて生成された予測残差画像を所定の変換ブロックに分割し、上記符号化対象画像または上記予測残差画像を上記変換ブロックを単位として変換符号化して変換係数を出力し、出力された上記変換係数を量子化係数に基づいて量子化して出力された量子化変換係数と、上記量子化係数とを含む符号化関連情報を圧縮符号化した符号化データを復号する復号部を備える画像復号装置であって、上記復号部は、当該符号化対象ブロック内の上記量子化変換係数を周波数に応じて１次元系列に変換し、上記１次元系列における上記量子化変換係数の絶対値が０となる係数の連続数であるゼロラン値と上記量子化変換係数の絶対値であるレベル値と上記量子化変換係数の正負を示す正負符号とを復号する機能を備え、復号済の上記符号化関連情報を記憶する復号シンボルメモリと、１つまたは複数種類の復号手順を提供する復号手順提供部と、上記復号シンボルメモリに格納されている復号済の符号化関連情報を利用し、所定の符号化手順選択基準に基づいて、上記復号手順提供部が提供するいずれかの復号手順であって復号対象となる符号化関連情報の符号化に用いられた符号化手順に対応する復号手順を選択し、選択された復号手順に基づいて上記符号化関連情報を復号して復号データを出力する復号データ出力部とを備えることを特徴としている。
また、上記課題を解決するために、本発明の画像符号化方法は、符号化対象画像または上記符号化対象画像に基づいて生成された予測残差画像を所定の変換ブロックに分割し、上記符号化対象画像または上記予測残差画像を上記変換ブロックを単位として変換符号化し変換係数を出力する変換ステップと、上記変換ステップにおいて出力された上記変換係数を量子化係数に基づいて量子化して量子化変換係数を出力する量子化ステップと、上記量子化係数と上記量子化ステップにおいて出力された上記量子化変換係数とを含む符号化関連情報を圧縮符号化した符号化データを出力する符号化ステップとを備える画像符号化方法であって、上記符号化ステップは、当該符号化対象ブロック内の上記量子化変換係数を周波数に応じて１次元系列に変換し、上記１次元系列における上記量子化変換係数の絶対値が０となる係数の連続数であるゼロラン値と上記量子化変換係数の絶対値であるレベル値と上記量子化変換係数の正負を示す正負符号とを符号化するステップであって、１つまたは複数種類の符号化手順を用意しておき、符号化シンボルメモリに格納されている符号化関連情報を利用し、所定の符号化手順選択基準に基づいて、上記１つまたは複数種類の符号化手順の中からいずれかの符号化手順を選択し、選択された符号化手順に基づいて上記符号化関連情報を圧縮符号化し符号化データを出力することを特徴としている。
これに対応する画像復号方法は、符号化対象画像または上記符号化対象画像に基づいて生成された予測残差画像を所定の変換ブロックに分割し、上記符号化対象画像または上記予測残差画像を上記変換ブロックを単位として変換符号化して変換係数を出力し、出力された上記変換係数を量子化係数に基づいて量子化して出力された量子化変換係数と、上記量子化係数とを含む符号化関連情報を圧縮符号化した符号化データを復号する復号ステップを備える画像復号方法であって、上記復号ステップは、当該符号化対象ブロック内の上記量子化変換係数を周波数に応じて１次元系列に変換し、上記１次元系列における上記量子化変換係数の絶対値が０となる係数の連続数であるゼロラン値と上記量子化変換係数の絶対値であるレベル値と上記量子化変換係数の正負を示す正負符号とを復号するステップであって、１つまたは複数種類の復号手順を用意しておき、復号シンボルメモリに格納されている復号済の符号化関連情報を利用し、所定の符号化手順選択基準に基づいて、上記１つまたは複数種類の復号手順の中からいずれかの復号手順であって復号対象となる符号化関連情報の符号化に用いられた符号化手順に対応する復号手順を選択し、選択された復号手順に基づいて上記符号化関連情報を復号して復号データを出力することを特徴としている。
また、上記課題を解決するために、本発明の画像符号化プログラムは、コンピュータを、符号化対象画像または上記符号化対象画像に基づいて生成された予測残差画像を所定の変換ブロックに分割し、上記符号化対象画像または上記予測残差画像を上記変換ブロックを単位として変換符号化し変換係数を出力する変換手段と、上記変換手段によって出力された上記変換係数を量子化係数に基づいて量子化して量子化変換係数を出力する量子化手段と、上記量子化係数と上記量子化手段によって出力された上記量子化変換係数とを含む符号化関連情報を圧縮符号化した符号化データを出力する符号化手段として機能させる画像符号化プログラムであって、上記符号化手段は、当該符号化対象ブロック内の上記量子化変換係数を周波数に応じて１次元系列に変換し、上記１次元系列における上記量子化変換係数の絶対値が０となる係数の連続数であるゼロラン値と上記量子化変換係数の絶対値であるレベル値と上記量子化変換係数の正負を示す正負符号とを符号化する手段を備え、１つまたは複数種類の符号化手順を提供する符号化手順提供手段と、符号化シンボルメモリに格納されている符号化関連情報を利用し、所定の符号化手順選択基準に基づいて、上記符号化手順提供手段が提供するいずれかの符号化手順を選択し、選択された符号化手順に基づいて上記符号化関連情報を圧縮符号化し符号化データを出力する符号化データ出力手段とを備えることを特徴としている。
これに対応する画像復号プログラムは、コンピュータを、符号化対象画像または上記符号化対象画像に基づいて生成された予測残差画像を所定の変換ブロックに分割し、上記符号化対象画像または上記予測残差画像を上記変換ブロックを単位として変換符号化して変換係数を出力し、出力された上記変換係数を量子化係数に基づいて量子化して出力された量子化変換係数と、上記量子化係数とを含む符号化関連情報を圧縮符号化した符号化データを復号する復号手段として機能させる画像復号プログラムであって、上記復号手段は、当該符号化対象ブロック内の上記量子化変換係数を周波数に応じて１次元系列に変換し、上記１次元系列における上記量子化変換係数の絶対値が０となる係数の連続数であるゼロラン値と上記量子化変換係数の絶対値であるレベル値と上記量子化変換係数の正負を示す正負符号とを復号する手段を備え、１つまたは複数種類の復号手順を提供する復号手順提供手段と、復号シンボルメモリに格納されている符号化関連情報を利用し、所定の符号化手順選択基準に基づいて、上記復号手順提供手段が提供するいずれかの復号手順であって復号対象となる符号化関連情報の符号化に用いられた符号化手順に対応する復号手順を選択し、選択された復号手順に基づいて上記符号化関連情報を復号して復号データを出力する復号データ出力手段とを備えることを特徴としている。
上述の画像符号化装置、画像符号化方法及び画像符号化プログラムは、ひとつの符号化関連情報について情報源符号化を行うための手順を複数用意し、ブロックにおける当該符号化関連情報の情報源符号化に用いる手順をこれら複数の手順から選択する。従って、上述のように変化する符号化シンボルの性質に適した情報源符号化に用いる手順を、複数の手順の中から選択することができる。その結果、符号化条件や画像の性質に応じて、符号化シンボルの情報源符号化を効率的に行うことが可能となる。
また、上述の画像復号装置、画像復号方法及び画像復号プログラムは、ひとつの符号化関連情報について情報源復号を行うための手順を複数用意し、ブロックにおける当該符号化関連情報の情報源復号に用いる手順をこれら複数の手順から選択する。従って、上述の画像符号化装置、画像符号化方法及び画像符号化プログラムによって符号化された符号化データを正しく復号することができる。
本発明の画像符号化装置においては、上記符号化手順提供部は、上記レベル値を符号化するときに、符号化対象レベル値の近傍の周波数におけるレベル値により近い値に対して符号長がより短くなるような符号化手順を提供することを特徴とすることもできる。
これに対応する画像復号装置においては、上記復号手順提供部は、上記レベル値を復号するときに、符号化対象レベル値の近傍の周波数におけるレベル値により近い値に対して符号長がより短くなるように提供された符号化手順に対応する復号手順を提供する。
また、本発明の画像符号化装置においては、上記符号化手順提供部は、上記レベル値を符号化するときに、符号化対象レベル値の近傍の周波数におけるゼロラン値が予め設定された閾値より大きい場合には、小さいレベル値ほど符号長が短くなるような符号化手順を提供することを特徴とすることもできる。
これに対応する画像復号装置においては、上記復号手順提供部は、上記レベル値を復号するときに、符号化対象レベル値の近傍の周波数におけるゼロラン値が予め設定された閾値より大きい場合には、小さいレベル値ほど符号長が短くなるように提供された符号化手順に対応する復号手順を提供する。
また、本発明の画像符号化装置においては、上記符号化手順提供部は、上記レベル値を符号化するときに、符号化対象レベル値の周波数帯域が大きいほど符号長の偏りが大きくなるような符号化手順を提供することを特徴とすることもできる。
これに対応する画像復号装置においては、上記復号手順提供部は、上記レベル値を復号するときに、符号化対象レベル値の周波数帯域が大きいほど符号長の偏りが大きくなるように提供された符号化手順に対応する復号手順を提供する。
また、本発明の画像符号化装置においては、上記符号化手順提供部は、上記レベル値を符号化するときに、符号化対象レベル値の近傍の周波数におけるレベル値が小さくなるほど符号長の偏りが小さくなるような符号化手順を提供することを特徴とすることもできる。
これに対応する画像復号装置においては、上記復号手順提供部は、上記レベル値を復号するときに、符号化対象レベル値の近傍の周波数におけるレベル値が小さくなるほど符号長の偏りが小さくなるように提供された符号化手順に対応する復号手順を提供する。
また、本発明の画像符号化装置においては、上記符号化手順提供部は、上記ゼロラン値を符号化するときに、符号化対象ゼロラン値の近傍の周波数におけるレベル値が小さくなるほど符号長の偏りが大きくなるような符号化手順を提供することを特徴とすることもできる。
これに対応する画像復号装置においては、上記復号手順提供部は、上記ゼロラン値を復号するときに、符号化対象ゼロラン値の近傍の周波数におけるレベル値が小さくなるほど符号長の偏りが大きくなるように提供された符号化手順に対応する復号手順を提供する。
また、本発明の画像符号化装置においては、上記符号化部は、上記符号化対象ブロック内の非零である量子化変換係数の数を圧縮符号化する機能を備え、上記符号化対象ブロックの非零である量子化係数の数が予め設定された閾値より小さい場合には、上記レベル値および上記ゼロラン値を低周波成分から順に符号化し、上記符号化対象ブロックの非零である量子化係数の数が予め設定された閾値より大きい場合には、上記レベル値および上記ゼロラン値を高周波成分から順に符号化することを特徴とすることもできる。
これに対応する画像復号装置においては、上記復号部は、上記符号化対象ブロック内の非零である量子化変換係数の数を復号する機能を備え、上記符号化対象ブロックの非零である量子化係数の数が予め設定された閾値より小さい場合には、上記レベル値および上記ゼロラン値を低周波成分から順に復号し、上記符号化対象ブロックの非零である量子化係数の数が予め設定された閾値より大きい場合には、上記レベル値および上記ゼロラン値を高周波成分から順に復号する。
また、上記課題を解決するために、本発明の画像符号化方法は、画像を所定サイズのブロックに分割して符号化し、上記ブロックの単位にて符号化関連情報を情報源符号化して符号化データ出力とする画像符号化方法であって、ひとつの符号化関連情報について上記情報源符号化を行うための手段を複数用意し、上記ブロックにおける当該符号化関連情報の情報源符号化に用いる手段を上記複数の手段から選択することを特徴とする。
また、上記課題を解決するために本発明の画像符号化装置は、画像を所定サイズのブロックに分割して符号化し、上記ブロックの単位にて符号化関連情報を情報源符号化して符号化データ出力とする画像符号化装置であって、ひとつの符号化関連情報について上記情報源符号化を行うための手段を複数備え、上記ブロックにおける当該符号化関連情報の情報源符号化に用いる手段を上記複数の手段から選択することを特徴とする。
ひとつの符号化関連情報について情報源符号化を行うための手段を複数用意し、ブロックにおける当該符号化関連情報の情報源符号化に用いる手段をこれら複数の手段から選択することにより、多様に変化する符号化シンボルの性質に適した情報源符号化に用いる手段を、複数の手段の中から選択することができる。
また、本発明の画像復号方法は、画像が所定サイズのブロックに分割され、上記ブロックの単位にて符号化関連情報が情報源符号化された符号化データ入力を復号する画像復号方法であって、ひとつの符号化関連情報について情報源復号を行うための手段を複数用意し、上記ブロックにおける当該符号化関連情報の情報源復号に用いる手段を上記複数の手段から選択することを特徴とする。
また、本発明の画像復号装置は、画像が所定サイズのブロックに分割され、上記ブロックの単位にて符号化関連情報が情報源符号化された符号化データ入力を復号する画像復号装置であって、ひとつの符号化関連情報について情報源復号を行うための手段を複数備え、上記ブロックにおける当該符号化関連情報の情報源復号に用いる手段を上記複数の手段から選択することを特徴とする。
このような構成をとることで、上述の画像符号化方法または画像符号化装置によって符号化された符号化データを正しく復号することができる。
また、本発明の画像符号化方法、画像符号化装置においては、上記情報源符号化に用いる手段の選択は、当該ブロックにおいて適用される符号化関連情報に基づくことを特徴することが好適である。
情報源符号化に用いる手段の選択を、当該ブロックにおいて適用される符号化関連情報に基づいて行うことで、上述のように当該ブロックに適用される符号化条件に応じて変化する符号化シンボルの性質に適した、情報源符号化を行うことができる。
また、本発明の画像復号方法、画像復号装置においては、上記情報源復号に用いる手段の選択は、当該ブロックにおいて適用される符号化関連情報に基づくことを特徴することが好適である。
このような構成をとることで、上述の画像符号化方法または画像符号化装置によって符号化された符号化データを正しく復号することができる。
この場合、符号化関連情報には、当該符号化関連情報の符号化に先立って符号化される同じ種類の符号化関連情報、当該符号化関連情報の符号化に先立って符号化される異なる種類の符号化関連情報を含ませることができ、また、情報源符号化に用いる手段の選択を符号化関連情報が情報源符号化される際の符号表上の順位に基づいて行うようにすることもできる。
また、本発明の画像符号化方法、画像符号化装置においては、上記情報源符号化に用いる手段の選択は、当該ブロックの近隣に位置するブロックにおいて適用される符号化関連情報に基づくことを特徴することもできる。
情報源符号化に用いる手段の選択を、当該ブロックの近隣に位置するブロックにおいて適用される符号化関連情報に基づいて行うことで、上述のように当該ブロックが含まれる画像上の領域における画像の性質によって変化する符号化関連情報の性質を、近隣に位置するブロックにおける符号化関連情報から予測し、符号化関連情報の性質に適した、情報源符号化を行うことができる。
また、本発明の画像復号方法、画像復号装置においては、上記情報源復号に用いる手段の選択は、当該ブロックの近隣に位置するブロックにおいて適用される符号化関連情報に基づくことを特徴することもできる。
このような構成をとることで、上述の画像符号化方法または画像符号化装置によって符号化された符号化データを正しく復号することができる。
この場合、符号化関連情報には、当該符号化関連情報と同じ種類の符号化関連情報、当該符号化関連情報と異なる種類の符号化関連情報を含ませることができ、また、情報源符号化に用いる手段の選択を符号化関連情報が情報源符号化される際の符号表上の順位に基づいて行うようにすることもできる。
また、本発明の画像符号化方法、画像符号化装置においては、上記情報源符号化に用いる複数の手段は、それぞれ当該符号化関連情報の情報源符号化における符号表への割り当て順位が異なることを特徴とすることが好適である。
これにより、上述のように符号化シンボルの性質の変化に応じて符号化シンボルの出現頻度の分布が変化した符号化シンボルに対してもその性質に適した情報源符号化を行うことができる。
また、本発明の画像復号方法、画像復号装置においては、上記情報源復号に用いる複数の手段は、それぞれ当該符号化関連情報の情報源復号における符号表への割り当て順位が異なることを特徴とすることが好適である。
このような構成をとることで、上述の画像符号化方法または画像符号化装置によって符号化された符号化データを正しく復号することができる。
また、本発明の画像符号化方法、画像符号化装置においては、上記情報源符号化に用いる複数の手段は、それぞれ当該符号化関連情報の情報源符号化における符号の構成方法が異なることを特徴とすることもできる。
これにより、上述のように符号化シンボルの性質の変化に応じて符号化シンボルの出現頻度の分布の偏りが変化した符号化シンボルに対してもその性質に適した情報源符号化を行うことができる。
また、本発明の画像復号方法、画像復号装置においては、上記情報源復号に用いる複数の手段は、それぞれ当該符号化関連情報の情報源復号における符号の構成方法が異なることを特徴とすることもできる。
このような構成をとることで、上述の画像符号化方法または画像符号化装置によって符号化された符号化データを正しく復号することができる。
また、本発明の画像符号化方法、画像符号化装置においては、当該符号化関連情報に対する複数の予測手段と、上記複数の予測手段の結果得られた複数の予測値の類似度を生成する予測値類似度生成手段とを用意し、上記情報源符号化に用いる手段の選択は、上記複数の予測手段の類似度に基づくことを特徴とすることが好適である。
複数の予測手段の結果得られた複数の予測値の類似度に基づいて情報源符号化に用いる手段の選択を行うことで、情報源符号化に用いる手段を効率よく選択することができる。
また、本発明の画像復号方法、画像復号装置においては、当該符号化関連情報に対する複数の予測手段と、上記複数の予測手段の結果得られた複数の予測値の類似度を生成する予測値類似度生成手段とを用意し、上記情報源復号に用いる手段の選択は、上記複数の予測手段の類似度に基づくことを特徴とすることが好適である。
このような構成をとることで、上述の画像符号化方法または画像符号化装置によって符号化された符号化データを正しく復号することができる。
また、本発明の画像符号化方法、画像符号化装置、画像復号方法、画像復号装置において符号化され、あるいは復号される符号化関連情報としては、符号化対象となるブロックにおける符号化モード情報、当該ブロックにおける符号化ブロックパタン情報、当該ブロックにおける動きベクトル情報、当該ブロックにおける直交変換係数のレベル値、当該ブロックにおける直交変換係数の非零係数数などが該当する。
また、本発明の画像符号化方法、画像符号化装置、画像復号方法、画像復号装置において、上記手段の選択に用いられる符号化関連情報には、符号化モード情報、量子化パラメータ、符号化ブロックパタン情報、動きベクトル、直交変換係数のレベル値、直交変換係数の非零係数数などを含ませることができる。上記手段の選択に用いられる符号化関連情報に符号化モード情報を含ませた場合は、当該符号化モード情報により定義づけられる、周囲ブロックにおける活性度を利用するようにしてもよい。また、上記手段の選択に用いられる符号化関連情報に符号化ブロックパタン情報を含ませた場合は、当該符号化ブロックパタン情報により示される、周囲ブロックにおける有意直交変換係数の出現パタンの方向的偏りを利用するようにしてもよい。
また、本発明の画像符号化方法、画像符号化装置においては、上記情報源符号化に用いる複数の手段は、符号化結果に応じてそれぞれの手段が独立に更新されることを特徴とすることが好適である。
符号化結果に応じてそれぞれの手段が独立に更新されることにより、より符号化条件や画像の性質に適した情報源符号化を行うことができる。
また、本発明の画像復号方法、画像復号装置においては、上記情報源復号に用いる複数の手段は、復号結果に応じてそれぞれの手段が独立に更新されることを特徴とすることが好適である。
このような構成をとることで、上述の画像符号化方法または画像符号化装置によって符号化された符号化データを正しく復号することができる。
また、上記課題を解決するために、本発明の画像伝送システムは、画像を符号化する画像符号化部と、上記画像符号化部によって符号化されたビットストリームを送信するビットストリーム送信部と、上記送信されたビットストリームを受信するビットストリーム受信部と、上記受信されたビットストリームを復号する画像復号部とを備える画像伝送システムであって、上記画像符号化部は、上記いずれかの画像符号化方法によって符号化を行うことを特徴とする。
上記いずれかの画像符号化方法によって符号化を行うことで、多様に変化する符号化シンボルの性質に適した情報源符号化に用いる手段を、複数の手段の中から選択することができる。
また、本発明の画像伝送システムは、画像を符号化する画像符号化部と、上記画像符号化部によって符号化されたビットストリームを送信するビットストリーム送信部と、上記送信されたビットストリームを受信するビットストリーム受信部と、上記受信されたビットストリームを復号する画像復号部とを備える画像伝送システムであって、上記画像復号部は、上記いずれかの画像復号方法によって復号を行うことを特徴とする。
このような構成をとることで、上記いずれかの画像符号化方法によって符号化された符号化データを正しく復号することができる。
また、上記課題を解決するために、本発明の画像蓄積システムは、画像を符号化する画像符号化部と、上記画像符号化部によって符号化されたビットストリームを蓄積するビットストリーム蓄積部と、を備える画像蓄積システムであって、上記画像符号化部は、上記いずれかの画像符号化方法によって符号化を行うことを特徴とする。
上記いずれかの画像符号化方法によって符号化を行うことで、多様に変化する符号化シンボルの性質に適した情報源符号化に用いる手段を、複数の手段の中から選択することができる。
また、本発明の画像再生システムは、蓄積されたビットストリームを保持するビットストリーム蓄積部と、上記ビットストリーム蓄積部より読み出したビットストリームを復号する画像復号部と、を備える画像再生システムであって、上記画像復号部は、上記いずれかの画像復号方法によって復号を行うことを特徴とする。
このような構成をとることで、上記いずれかの画像符号化方法によって符号化された符号化データを正しく復号することができる。
上記課題を解決するために、本発明の画像符号化方法は、画像を所定サイズのブロックに分割して直交変換を行い、直交変換係数情報について情報源符号化を行う画像符号化方法であって、上記情報源符号化を行うための手段を複数用意し、当該直交変換係数情報の情報源符号化に用いる手段を上記複数の手段から選択することを特徴とする。
また、本発明の画像符号化装置は、画像を所定サイズのブロックに分割して直交変換を行い、直交変換係数情報について情報源符号化を行う画像符号化装置であって、上記情報源符号化を行うための手段を複数備え、当該直交変換係数情報の情報源符号化に用いる手段を上記複数の手段から選択することを特徴とする。
直交変換係数情報について情報源符号化を行うための手段を複数用意し、当該直交変換係数情報の情報源符号化に用いる手段を上記複数の手段から選択することで、多様に変化する直交変換係数情報の性質に適した情報源符号化に用いる手段を、上記複数の手段の中から選択することができる。
また、本発明の画像復号方法は、画像が所定サイズのブロックに分割されて直交変換が行われ、直交変換係数情報について情報源符号化が行われた符号化データ入力を復号する画像復号方法であって、情報源復号を行うための手段を複数用意し、当該直交変換係数情報の情報源復号に用いる手段を上記複数の手段から選択することを特徴とする。
さらに、本発明の画像復号装置は、画像が所定サイズのブロックに分割されて直交変換が行われ、直交変換係数情報について情報源符号化が行われた符号化データ入力を復号する画像復号装置であって、情報源復号を行うための手段を複数備え、当該直交変換係数情報の情報源復号に用いる手段を上記複数の手段から選択することを特徴とする。
このような構成をとることで、上述の画像符号化方法または画像符号化装置によって符号化された符号化データを正しく復号することができる。
また、本発明の画像符号化方法、画像符号化装置においては、上記情報源符号化に用いる手段の選択は、事前に伝送された直交変換係数情報における有意係数の係数値に基づくことを特徴することが好適である。
直交変換係数情報における有意係数の係数値に基づいて、情報源符号化に用いる手段を選択することで、多様に変化する直交変換係数情報の性質の変化を、事前に伝送された係数値から予測し、直交変換係数情報の性質に適した情報源符号化を行うことができる。
また、本発明の画像復号方法、画像復号装置においては、上記情報源復号に用いる手段の選択は、事前に伝送された直交変換係数情報における有意係数の係数値に基づくことを特徴することが好適である。
このような構成をとることで、上述の画像符号化方法または画像符号化装置によって符号化された符号化データを正しく復号することができる。
また、本発明の画像符号化方法、画像符号化装置においては、上記情報源符号化に用いる手段の選択は、事前に伝送された直交変換係数情報におけるゼロラン数に基づくことを特徴することもできる。
直交変換係数情報におけるゼロラン数に基づいて、情報源符号化に用いる手段を選択することで、多様に変化する直交変換係数情報の性質の変化を、事前に伝送されたゼロラン数から予測し、直交変換係数情報の性質に適した情報源符号化を行うことができる。
また、本発明の画像復号方法、画像復号装置においては、上記情報源復号に用いる手段の選択は、事前に伝送された直交変換係数情報におけるゼロラン数に基づくことを特徴することもできる。
このような構成をとることで、上述の画像符号化方法または画像符号化装置によって符号化された符号化データを正しく復号することができる。
また、本発明の画像符号化方法、画像符号化装置においては、上記情報源符号化に用いる手段の選択は、当該直交変換係数情報が属する空間周波数に基づくことを特徴することもできる。
直交変換係数情報が属する空間周波数に基づいて、情報源符号化に用いる手段を選択することで、多様に変化する直交変換係数情報の性質の変化を、空間周波数から予測し、直交変換係数情報の性質に適した情報源符号化を行うことができる。
また、本発明の画像復号方法、画像復号装置においては、上記情報源復号に用いる手段の選択は、当該直交変換係数情報が属する空間周波数に基づくことを特徴することもできる。
このような構成をとることで、上述の画像符号化方法または画像符号化装置によって符号化された符号化データを正しく復号することができる。
また、本発明の画像符号化方法、画像符号化装置においては、上記情報源符号化に用いる複数の手段は、それぞれ直交変換係数情報の情報源符号化における符号表への割り当て順位が異なることを特徴とすることが好適である。
これにより、直交変換係数情報の性質が変化し、その情報毎の出現頻度が変化した場合においても、直交変換係数情報の性質に適した情報源符号化を行うことができる。
また、本発明の画像復号方法、画像復号装置においては、上記情報源復号に用いる複数の手段は、それぞれ直交変換係数情報の情報源復号における符号表への割り当て順位が異なることを特徴とすることが好適である。
このような構成をとることで、上述の画像符号化方法または画像符号化装置によって符号化された符号化データを正しく復号することができる。
また、本発明の画像符号化方法、画像符号化装置においては、上記情報源符号化に用いる複数の手段は、それぞれ直交変換係数情報の情報源符号化における符号の構成方法が異なることを特徴とすることが好適である。
これにより、直交変換係数情報の性質が変化し、その情報毎の出現頻度の分布の偏りが変化した場合においても、直交変換係数情報の性質に適した情報源符号化を行うことができる。
また、本発明の画像復号方法、画像復号装置においては、上記情報源復号に用いる複数の手段は、それぞれ直交変換係数情報の情報源復号における符号の構成方法が異なることを特徴とすることが好適である。
このような構成をとることで、上述の画像符号化方法または画像符号化装置によって符号化された符号化データを正しく復号することができる。
また、本発明の画像符号化方法、画像符号化装置においては、上記直交変換係数情報についての情報源符号化は、直交変換係数列におけるゼロラン数および係数値の組み合わせについて行われてもよいし、直交変換係数列におけるゼロラン数および係数値それぞれについて個別に行われてもよい。
同様に、本発明の画像復号方法、画像復号装置においては、上記直交変換係数情報についての情報源復号は、直交変換係数列におけるゼロラン数および係数値の組み合わせについて行われてもよいし、直交変換係数列におけるゼロラン数および係数値それぞれについて個別に行われてもよい。
また、本発明の画像符号化方法、画像符号化装置においては、上記直交変換係数情報として、同じ大きさのレベル値が連続する数が符号表へ割り当てられることを特徴とすることが好適である。
このような構成をとることで、さらに効率のよい符号化が可能となる。
また、本発明の画像復号方法、画像復号装置においては、上記直交変換係数情報として、同じ大きさのレベル値が連続する数が符号表へ割り当てられることを特徴とすることが好適である。
このような構成をとることで、上述の画像符号化方法または画像符号化装置によって符号化された符号化データを正しく復号することができる。
また、本発明の画像符号化方法、画像符号化装置においては、符号化対象ブロックにおける符号化情報に応じて上記直交変換係数情報を低周波成分と高周波成分のいずれから順に符号化するかを決定することを特徴とすることが好適である。
このような構成をとることで、さらに効率のよい符号化が可能となる。
また、本発明の画像復号方法、画像復号装置においては、復号対象ブロックにおける復号済みの情報に応じて上記直交変換係数情報を低周波成分と高周波成分のいずれから順に復号するかを決定することを特徴とすることが好適である。
このような構成をとることで、上述の画像符号化方法または画像符号化装置によって符号化された符号化データを正しく復号することができる。
また、本発明の画像符号化方法、画像符号化装置においては、上記情報源符号化に用いる手段の選択は、事前に伝送された符号化対象ブロックにおける動きベクトル差分値に基づくことを特徴することが好適である。
事前に伝送された符号化対象ブロックにおける動きベクトル差分値に基づいて、情報源符号化に用いる手段を選択することで、多様に変化する直交変換係数情報の性質の変化を、事前に伝送された動きベクトル差分値から予測し、直交変換係数情報の性質に適した情報源符号化を行うことができる。
また、本発明の画像復号方法、画像復号装置においては、上記情報源復号化に用いる手段の選択は、事前に伝送された復号対象ブロックにおける動きベクトル差分値に基づくことを特徴することが好適である。
このような構成をとることで、上述の画像符号化方法または画像符号化装置によって符号化された符号化データを正しく復号することができる。
また、本発明の画像符号化方法、画像符号化装置においては、当該符号化対象となる直交変換係数情報は、ブロック内のゼロラン長の合計値であることを特徴とすることが好適である。
このような構成をとることで、ゼロラン長の合計値を効率よく符号化することができる。
また、本発明の画像復号方法、画像復号装置においては、上記復号対象となる直交変換係数情報は、ブロック内のゼロラン長の合計値であることを特徴とすることが好適である。
このような構成をとることで、上述の画像符号化方法または画像符号化装置によって符号化された符号化データを正しく復号することができる。
また、上記課題を解決するために、本発明の画像伝送システムは、画像を符号化する画像符号化部と、上記画像符号化部によって符号化されたビットストリームを送信するビットストリーム送信部と、上記送信されたビットストリームを受信するビットストリーム受信部と、上記受信されたビットストリームを復号する画像復号部とを備える画像伝送システムであって、上記画像符号化部は、上記いずれかの画像符号化方法によって符号化を行うことを特徴とする。
上記いずれかの画像符号化方法によって符号化を行うことで、多様に変化する直交変換係数情報の性質に適した情報源符号化を行うことができる。
また、上記課題を解決するために、本発明の画像伝送システムは、画像を符号化する画像符号化部と、上記画像符号化部によって符号化されたビットストリームを送信するビットストリーム送信部と、上記送信されたビットストリームを受信するビットストリーム受信部と、上記受信されたビットストリームを復号する画像復号部とを備える画像伝送システムであって、上記画像復号部は、上記いずれかの画像復号方法によって復号を行うことを特徴とする。
このような構成をとることで、上記いずれかの画像符号化方法によって符号化された符号化データを正しく復号することができる。
また、上記課題を解決するために、本発明の画像蓄積システムは、画像を符号化する画像符号化部と、上記画像符号化部によって符号化されたビットストリームを蓄積するビットストリーム蓄積部と、を備える画像蓄積システムであって、上記画像符号化部は、上記いずれかの画像符号化方法によって符号化を行うことを特徴とする。
上記いずれかの画像符号化方法によって符号化を行うことで、多様に変化する直交変換係数情報の性質に適した情報源符号化を行うことができる。
また、上記課題を解決するために、本発明の画像再生システムは、蓄積されたビットストリームを保持するビットストリーム蓄積部と、上記ビットストリーム蓄積部より読み出したビットストリームを復号する画像復号部と、を備える画像再生システムであって、上記画像復号部は、上記いずれかの画像復号方法によって復号を行うことを特徴とする。
このような構成をとることで、上記いずれかの画像符号化方法によって符号化された符号化データを正しく復号することができる。
本発明の画像符号化方法、画像符号化装置は、ひとつの符号化関連情報について情報源符号化を行うための手段を複数用意し、ブロックにおける当該符号化関連情報の情報源符号化に用いる手段をこれら複数の手段から選択する。従って、上述のように変化する符号化シンボルの性質に適した情報源符号化に用いる手段を、複数の手段の中から選択することができる。その結果、符号化条件や画像の性質に応じて、符号化シンボルの情報源符号化を効率的に行うことが可能となる。
また、本発明の画像復号方法、画像復号装置は、ひとつの符号化関連情報について情報源復号を行うための手段を複数用意し、ブロックにおける当該符号化関連情報の情報源復号に用いる手段をこれら複数の手段から選択する。従って、上述の画像符号化方法または画像符号化装置によって符号化された符号化データを正しく復号することができる。
本発明の画像符号化方法、画像符号化装置は、直交変換係数情報について情報源符号化を行うための手段を複数用意し、当該直交変換係数情報の情報源符号化に用いる手段を上記複数の手段から選択する。従って、多様に変化する直交変換係数情報の性質に適した情報源符号化に用いる手段を、上記複数の手段の中から選択することができる。その結果、直交変換係数の周波数領域や他の直交変換係数の傾向に応じて変化した、直交変換係数情報の性質に適した情報源符号化をおこなうことができるようになり、効率的な符号化を行うことが可能となる。
また、本発明の画像復号方法、画像復号装置は、情報源復号を行うための手段を複数用意し、当該直交変換係数情報の情報源復号に用いる手段を上記複数の手段から選択する。従って、上述の画像符号化方法または画像符号化装置によって符号化された符号化データを正しく復号することができる。
【図面の簡単な説明】  図１は、従来の技術のよる動画像符号化手法の一例を概略的に示すフローチャートである。
図２は、従来の技術による動画像符号化装置の一例を概略的に示すブロック図である。
図３Ａ〜Ｃは、従来の技術によるマクロブロック符号化モード種別の一例を示す図である。
図４Ａ，Ｂは、従来の技術による直交変換の一例を示す図である。
図５は、従来の技術による動画像復号手法の一例を概略的に示すフローチャートである。
図６は、従来の技術による動画像復号装置の一例を概略的に示すブロック図である。
図７Ａ，Ｂは、非零量子化直交変換係数の分布の一例を示す図である。
図８は、マクロブロック内のブロックと隣接するブロックの関係を示す図である。
図９Ａ，Ｂは、輝度信号の符号化ブロックパタン情報とインデックス値の関係を示すマップテーブルの一例および、インデックス値と可変長符号の関係を示す可変長符号化テーブルの一例を示す図である。
図１０Ａ，Ｂは、輝度信号の符号化ブロックパタン情報に本発明によるマップテーブルの切り替えを適用した一例を示す図である。
図１１Ａ，Ｂは、色差信号の符号化ブロックパタン情報とインデックス値の関係を示すマップテーブルの一例および、インデックス値と可変長符号の関係を示す可変長符号化テーブルの一例を示す図である。
図１２Ａ，Ｂは、色差信号の符号化ブロックパタン情報に本発明によるマップテーブルの切り替えを適用した一例を示す図である。
図１３は、本発明による可変長符号化部の一例を概略的に示すブロック図である。
図１４は、本発明による可変長復号部の一例を概略的に示すブロック図である。
図１５Ａ，Ｂは、本発明による符号化ブロックパタン情報のコンテキスト生成に用いるブロックの位置の一例を示す図である。
図１６Ａ，Ｂは、Ｈ．２６Ｌ符号化方式におけるマクロブロックおよび符号化ブロックパタン情報の構成を概略的に示す図である。
図１７Ａ，Ｂは、Ｈ．２６Ｌ符号化方式において本発明を適用する場合のマクロブロックと隣接するブロックの関係を示す図である。
図１８Ａ〜Ｄは、Ｈ．２６Ｌ符号化方式における符号化ブロックパタン情報に本発明によるマップテーブルの切り替えを適用した一例を示す図である。
図１９は、Ｈ．２６Ｌ符号化方式における色差信号の符号化ブロックパタン情報に本発明によるマップテーブルの切り替えを適用した一例を示す図である。
図２０Ａ，Ｂは、符号化ブロックパタン情報の各シンボルの出現確率の分布の一例を示す図である。
図２１Ａ〜Ｃは、複数の特性の異なる可変長符号化テーブルの一例を示す図である。
図２２Ａ〜Ｄは、量子化直交変換係数の符号化方法を概略的に示した図である。
図２３は、符号化対象マクロブロックと、隣接するマクロブロックの位置関係を示した図である。
図２４Ａ〜Ｊは、マクロブロック符号化モード種別の他の一例を概略的に示した図である。
図２５は、マクロブロック符号化モードに対するポイントの定義の一例を示した図である。
図２６Ａ，Ｂは、マクロブロック符号化モードとインデックス値の関係を示すマップテーブルの一例および、インデックス値と可変長符号の関係を示す可変長符号化テーブルの一例を示す図である。
図２７は、マクロブロック符号化モードに対するポイントの定義の他の一例を示した図である。
図２８Ａ，Ｂは、マクロブロック符号化モードとインデックス値の関係を示すマップテーブルの他の一例および、インデックス値と可変長符号の関係を示す可変長符号化テーブルの他の一例を示す図である。
図２９Ａは、画像伝送システムの構成を概略的に示す図である。
図２９Ｂは、画像蓄積システムの構成を概略的に示す図である。
図２９Ｃは、画像再生システムの構成を概略的に示す図である。
図３０は、本発明による可変長符号化部の一例を概略的に示すブロック図である。
図３１は、ＣＸが０から７までの値を取る場合のマップテーブルＭＴ（ＣＸ）を示す図である。
図３２は、本発明による可変長復号部の一例を概略的に示すブロック図である。
図３３は、符号化対象マクロブロックと、隣接するマクロブロックの位置関係を示した図である。
図３４Ａ，Ｂは、非零量子化直交変換係数値とインデックス値の関係を示すマップテーブルの一例および、インデックス値と可変長の関係を示す可変長符号化テーブルの一例を示す図である。
図３５Ａ，Ｂは、本発明によるマップテーブルの変更例、および変更後のマップテーブルを用いた符号列の一例を示す図である。
図３６は、Ｌｅｖｅｌ値の絶対値が１であるものが連続する数を符号表に割り当てたマップテーブルの一例を示す図である。
図３７Ａ〜Ｃは、複数の特性の異なる可変長符号化テーブルの他の一例を示す図である。
図３８Ａ〜Ｃは、確率テーブルを示す図である。
【発明を実施するための最良の形態】
【発明の実施形態】
（第１の実施形態）
以下、図面とともに本発明の第１の実施形態による画像符号化方法、画像復号方法、画像符号化装置、画像復号装置、画像伝送システム、画像蓄積システム、画像再生システムの実施形態について詳細に説明する。なお、図面の説明においては同一要素のものには同一符号を付し、重複する説明は省略する。また、図形の寸法比率は、説明のものと必ずしも一致していない。以下においては、符号化対象として入力される入力フレーム画像について、時系列のフレーム画像からなる動画像を想定して説明する。
以下、本発明の第１の実施形態の特徴である、符号化補助情報Ｄ８に含まれるＣＢＰの可変長符号化の手順およびその好適な符号化条件について、ＭＰＥＧ−４符号化方式を例として、具体例を示しつつ説明する。なお、以下に説明する符号化方法および符号化条件については、図１、図２に示した画像符号化方法および画像符号化装置、図５、図６に示した画像復号方法および画像復号装置に対しても同様に適用することが可能である。また、具体的な符号化方式、復号方式については、上記したＭＰＥＧ−４符号化方式には限定されない。
ＭＰＥＧ−４においてＣＢＰは、イントラ符号化モードが選択されたマクロブロックにおいては各ブロックにおいて直交変換係数の非零交流成分があるか否かを示すフラグである。また、インター符号化モードが選択されたマクロブロックにおいては各ブロックにおいて直交変換係数の非零直流成分または非零交流成分があるか否かを示すフラグである。
ところで、非零直交変換係数が存在する領域は画像の空間的特徴および量子化パラメータに大きく依存する。図７Ａ，Ｂは画像の空間的特徴と非零直交変換係数の関係を示した概念図である。図７Ａ，Ｂに示す通り、画面中の背景部分は動きが少なく、比較的動き補償予測が当たるため、非零直交変換係数は出現しにくい。逆に、画面中を移動する人物の部分は、動きが激しくテクスチャの変化も激しいため、動き補償予測による残差が多く出現する。そのため、このような領域には非零直交変換係数が出現しやすい。つまり、テクスチャや動きに変化が少ない領域は非零直交変換係数が出現しにくく、逆にテクスチャや動きに変化の多い領域は非零直交変換係数が出現しやすい。また、特に自然画像などでは形状や動きの変化の傾向が近傍領域において類似することが多い。
ここで図８に示すように、輝度成分画像において符号化対象マクロブロックの各ブロックをそれぞれラスタスキャン順にブロックＡ、ブロックＢ、ブロックＣ、ブロックＤとし、上に隣接するマクロブロックの下側のブロックをそれぞれブロックＥ、ブロックＦとする。また、左に隣接するマクロブロックの右側のブロックをそれぞれブロックＧ、ブロックＨとする。また、符号化対象マクロブロックにおけるＣｂ，ＣｒのブロックをそれぞれブロックＩ，Ｌとし、それぞれの上に隣接するブロックをブロックＪ，Ｍ、左に隣接するブロックをそれぞれブロックＫ，Ｎとする。
すると例えばブロックＥ，Ｆ，Ｇの全てに非零直交変換係数が存在する場合には、画像の空間的連続性を考慮すればブロックＡにも非零直交変換係数が存在する可能性が高いと類推できる。また逆に例えばブロックＥ，Ｆ，Ｇが全て非零直交変換係数を持たない場合には、ブロックＡにも非零直交変換係数が存在しない可能性が高いと類推できる。このように、符号化対象マクロブロックの各ブロックに対し、近傍のブロックの非零直交変換係数の有無によって符号化対象マクロブロックにおける非零直交変換係数の存在する確率が変化する。上記を踏まえ、本発明の第１の実施形態における画像符号化方法は、符号化対象マクロブロックの近傍のブロックの非零直交変換係数の有無をもとに空間コンテキストを生成し、空間コンテキストに基づいて符号化対象マクロブロックのＣＢＰの可変長符号化に用いるマップテーブルを切り替えることによって効率良く符号化を行うことができることを特徴としている。
以下、本発明の第１の実施形態におけるＣＢＰの符号化における可変長符号化に用いるマップテーブルの切り替え手段の一例を以下に説明する。まず、輝度成分に対するＣＢＰであるＣＢＰＹおよび色差成分に対するＣＢＰであるＣＢＰＣに対して以下のように空間コンテキストを導入し、空間コンテキストに応じてマップテーブルを切り替えるよう構成する。
図９ＡにＣＢＰＹとそれぞれのＣＢＰＹに対応するインデックス値を関連付けたマップテーブルを示す。また、図９Ｂには、インデックス値とそれぞれのインデックス値に対応する可変長符号を関連付けた可変長符号化テーブルの一例を示す。ＣＢＰＹは４ビットで表し、ＭＳＢ（Ｍｏｓｔ  Ｓｉｇｎｉｆｉｃａｎｔ  Ｂｉｔ）側から順にブロックＡ，Ｂ，Ｃ，Ｄに対応しており、非零直交変換係数が存在する場合に１、存在しない場合に０とする。ここで、ブロックＡ，Ｂ，Ｃ，Ｄとその近傍のブロックとの相関関係を表すために、ポイントＰ（Ａ），Ｐ（Ｂ），Ｐ（Ｃ），および演算子「＝＝」を導入する。演算子「＝＝」は二つの数値が一致している場合には１を返し、一致していない場合には０を返す演算子である。すなわち、ブロックＡのＣＢＰであるＣＢＰ（Ａ）がブロックＧのＣＢＰであるＣＢＰ（Ｇ）と一致している場合には、以下に示す式（１）の演算結果は１となる。
式（１）：ＣＢＰ（Ａ）＝＝ＣＢＰ（Ｇ）
つまり、ＣＢＰ（Ａ）およびＣＢＰ（Ｇ）が共に１であるか、あるいは共に０であれば式（１）の演算結果は１となり、それ以外の場合は式（１）の演算結果は０となる。ここで、ポイントＰ（Ａ），Ｐ（Ｂ），Ｐ（Ｃ）を以下の式（２），（３），（４）によって定義する。
式（２）：Ｐ（Ａ）＝２・（ＣＢＰ（Ａ）＝＝ＣＢＰ（Ｅ））＋２・（ＣＢＰ（Ａ）＝＝ＣＢＰ（Ｇ））＋（ＣＢＰ（Ａ）＝＝ＣＢＰ（Ｈ））＋（ＣＢＰ（Ａ）＝＝ＣＢＰ（Ｆ））
式（３）：Ｐ（Ｂ）＝４・（ＣＢＰ（Ｂ）＝＝ＣＢＰ（Ｆ））＋２・（ＣＢＰ（Ｂ）＝＝ＣＢＰ（Ｅ））
式（４）：Ｐ（Ｃ）＝４・（ＣＢＰ（Ｃ）＝＝ＣＢＰ（Ｈ））＋２・（ＣＢＰ（Ｃ）＝＝ＣＢＰ（Ｇ））
これらの式によってブロックＡ，Ｂ，Ｃに対して近傍ブロックとのＣＢＰに関する相関度をポイントＰ（Ａ），Ｐ（Ｂ），Ｐ（Ｃ）によって表すことができる。
図９Ａ，Ｂに示したマップテーブルの全てのパターンについてＰ（Ａ），Ｐ（Ｂ），Ｐ（Ｃ）を算出し、その合計値をＰ（ＣＢＰＹ）とする。すなわち、Ｐ（ＣＢＰＹ）は次式で表される。
式（５）：Ｐ（ＣＢＰＹ）＝Ｐ（Ａ）＋Ｐ（Ｂ）＋Ｐ（Ｃ）
ただし、符号化対象マクロブロックの近傍ブロックが画面外またはスライス外となる場合には、相関性が認められないため演算子「＝＝」による演算結果を常に０とする。つまり例えばブロックＧ，Ｈが画面外またはスライス外となる場合には、例えば（ＣＢＰ（Ａ）＝＝ＣＢＰ（Ｇ））および（ＣＢＰ（Ａ）＝＝ＣＢＰ（Ｈ））の値は常に０とする。
こうして求められたＰ（ＣＢＰＹ）は、符号化対象マクロブロックの周囲におけるＣＢＰＹとの空間的相関の高いＣＢＰＹほど大きい値を提供する。つまり、空間的コンテキストをもとにした場合に出現する確率の高いと推定されるＣＢＰＹほどＰ（ＣＢＰＹ）が大きい値となる。そこで、こうして求められたＰ（ＣＢＰＹ）の値が大きい順に図９ＡにおけるＣＢＰＹのインデックス値が小さくなるように並びかえたマップテーブルを作成する。ただし、Ｐ（ＣＢＰＹ）が等しい場合には図９Ａのマップテーブルにおいてインデックス値が小さいものが新しいマップテーブルにおいてもインデックス値が小さくなるようにする。図１０Ａ，ＢにはブロックＥ，Ｆ，Ｇ，ＨのＣＢＰがそれぞれ１，１，０，０である場合（図１０Ａ）と、０，１，１，０である場合（図１０Ｂ）を例としてＣＢＰＹのマップテーブルを示す。
次に、ＣＢＰＣについても同様に空間コンテキストをもとにしてマップテーブルを切り替える。図１１ＡにＣＢＰＣのマップテーブル、図１１ＢにＣＢＰＣの可変長符号化テーブルの一例を示す。ＣＢＰＣは２ビットで表し、ＭＳＢ側から順にＣｂ，Ｃｒ対応しており、非零直交変換係数が存在する場合に１、存在しない場合に０とする。図８に従って、ＣＢＰＹの時と同様に、Ｐ（Ｉ），Ｐ（Ｌ），Ｐ（ＣＢＰＣ）を以下の式（６），（７），（８）によって定義する。
式（６）：Ｐ（Ｉ）＝（ＣＢＰ（Ｉ）＝＝ＣＢＰ（Ｊ））＋（ＣＢＰ（Ｉ）＝＝ＣＢＰ（Ｋ））
式（７）：Ｐ（Ｌ）＝（ＣＢＰ（Ｌ）＝＝ＣＢＰ（Ｍ））＋（ＣＢＰ（Ｌ）＝＝ＣＢＰ（Ｎ））
式（８）：Ｐ（ＣＢＰＣ）＝Ｐ（Ｉ）＋Ｐ（Ｌ）
ただし、符号化対象マクロブロックの近傍ブロックが画面外またはスライス外となる場合には、相関性が認められないため演算子「＝＝」による演算結果を常に０とする。つまり例えばブロックＫが画面外またはスライス外となる場合には、例えば（ＣＢＰ（Ｉ）＝＝ＣＢＰ（Ｋ））の値は常に０とする。
こうして求められたＰ（ＣＢＰＣ）は、符号化対象マクロブロックの周囲におけるＣＢＰＣとの空間的相関の高いＣＢＰＣほど大きい値を提供する。つまり、空間コンテキストをもとにした場合に出現する確率の高いと推定されるＣＢＰＣほどＰ（ＣＢＰＣ）が大きい値となる。そこで、こうして求められたＰ（ＣＢＰＣ）の値が大きい順に図１１ＡにおけるＣＢＰＣのインデックス値が小さくなるように並び替えたマップテーブルを作成する。ただし、Ｐ（ＣＢＰＣ）が等しい場合には図１１Ａのマップテーブルにおいてインデックス値の小さいものが新しいマップテーブルにおいてもインデックス値が小さくなるようにする。図１２Ａ，Ｂには、図８におけるＪ，Ｋ，Ｍ，ＮのＣＢＰがそれぞれ（０，１，０，０）である場合（図１２Ａ）と、（０，０，１，１）である場合（図１２Ｂ）を例としてＣＢＰＣのマップテーブルを示す。
以上のように本発明の第１の実施形態では、ＣＢＰＹおよびＣＢＰＣのマップテーブルを画像の連続性を考慮して切り替えるよう構成したので、出現しやすいシンボルに短い符号語を、出現しにくいシンボルに長い符号語を割り当てることができ、好適にＣＢＰを符号化することができる。
図１３は本発明の第１の実施形態による可変長符号化部１６のブロック図を示した図である。すなわち、図１３の可変長符号化部１６においてまず入力シンボルＨ１として可変長符号出力部３０にＣＢＰが入力される。そして符号化シンボルメモリ３１より、符号化マップテーブル提供部３２に符号化マップテーブル参照情報Ｈ２として周囲ブロックにおけるＣＢＰが入力される。そして、符号化マップテーブル提供部３２にて上記の手法に基づいてＣＢＰの符号化に対して用いる符号化マップテーブルが決定され、符号化マップテーブルＨ４が可変長符号出力部３０に提供される。また、可変長符号化テーブル提供部３３から可変長符号化テーブルＨ５が可変長符号出力部３０に入力される。なお、可変長符号化テーブル提供部３３には可変長符号化テーブル参照情報Ｈ３を入力することができるが、本実施の例ではこの入力が無くてもよい。そして、符号化対象ＣＢＰは可変長符号化され、符号化データＤ９として出力される。
本発明の第１の実施形態では、ＣＢＰの空間コンテキストを生成する際に符号化対象マクロブロックに隣接するブロックのみを参照していたが、もちろん隣接しているブロックに限らず、例えば図１５Ａに示すような符号化対象マクロブロックに隣接はしていないが近傍に存在するブロックのＣＢＰの情報も加えて利用することによって空間コンテキストを生成してもよいし、もちろん、例えば図１５Ｂに示すように、本発明の第１の実施形態では用いなかったマクロブロック内のブロックの情報を利用して空間コンテキストを生成しても同様の効果を得られる。
また、本発明の第１の実施形態による符号化方法では、ＣＢＰＹとＣＢＰＣを別々の可変長符号化テーブルを用いてそれぞれ別々に可変長符号化するよう説明したが、もちろん例えば６ビットで表されＭＳＢ側の４ビットがＣＢＰＹ、ＬＳＢ側の２ビットがＣＢＰＣとなっているＣＢＰに対する可変長符号化テーブルおよびマップテーブルを用いてマップテーブルを切り替えることによってＣＢＰＹとＣＢＰＣを分けずに符号化しても同様の効果を得られる。この場合には式（５）と式（８）によって算出されるＰ（ＣＢＰＹ）およびＰ（ＣＢＰＣ）を用いて、例えば以下の式（９）によって得られるＰ（ＣＢＰ）の値を利用して、可変長符号化テーブルを切り替えるよう構成してもよい。
式（９）：  Ｐ（ＣＢＰ）＝Ｐ（ＣＢＰＹ）＋Ｐ（ＣＢＰＣ）
なお、本発明の第１の実施形態による符号化方法では、既に符号化済の近傍ブロックにおける情報を元に空間コンテキストを生成したので、復号する際にも同様の空間コンテキストを再生することができ、符号化側と同様に可変長復号テーブルを切り替えることができる。
すなわち、図１４に示した可変長復号部２１のブロック図において、本発明の第１の実施形態による符号化方法によって符号化された符号化データＤ９が可変長復号部２１の復号シンボル出力部４０に入力されると、既に復号済のシンボルより周辺ブロックのＣＢＰが復号シンボルメモリ４１から復号マップテーブル参照情報Ｈ７として復号マップテーブル提供部４２に入力される。そして、復号マップテーブル提供部４２から復号マップテーブルＨ９が符号化と同様の手続きにて選択されて復号シンボル出力部４０に入力される。また、可変長復号テーブル提供部４３からは可変長復号テーブルＨ１０が復号シンボル出力部４０に入力される。なお、可変長復号テーブル提供部４３には可変長復号テーブル参照情報Ｈ８を入力することができるが、本実施の例ではこの入力が無くてもよい。そして、復号シンボル出力部４０において可変長復号が成され、復号シンボルＨ６としてＣＢＰが復号されて出力されると同時に、復号シンボルメモリ４１に記憶される。
従って、本発明の第１の実施形態による復号方法によって本発明の第１の実施形態による符号化方法によって符号化されたＣＢＰを好適に復号することができる。
また、本発明の第１の実施形態による符号化方法の説明としてＭＰＥＧ−４符号化方式を例に説明したが、もちろんその他の符号化方式においてもＣＢＰの符号化に空間コンテキストを同様に生成し、空間コンテキストに基づいて可変長符号化テーブルを切り替えることによって同様の効果を得ることができる。その他の符号化方式としてＨ．２６Ｌ符号化方式におけるＣＢＰの符号化方法について本発明の第１の実施形態を適用した例を以下に示す。
図１６Ａ，ＢにはＨ．２６Ｌ符号化方式におけるマクロブロックの構成およびＣＢＰの構成を示す。Ｈ．２６Ｌにおいてマクロブロックは輝度成分画像が１６画素×１６ラインの大きさから成り、２種類の色差成分画像が８画素×８ラインの大きさから成る。直交変換はそれぞれ４画素×４ライン単位に行われるが、こうして生成された直交変換係数のうち色差成分画像のＤＣ成分はさらに２画素×２ラインの直交変換が行われる。イントラ符号化されたマクロブロックの場合、符号化モードとしてイントラ４×４符号化モードとイントラ１６×１６符号化モードの２種類の符号化モードがあり、それぞれＣＢＰの構成が異なる。
まず、イントラ４×４符号化モードでは、ＣＢＰＹについてはＭＰＥＧ−４と同様にマクロブロックを４つの８画素×８ラインのブロックに分割し、それぞれのブロック内に非零直交変換係数が存在するか否かを示す。一方、ＣＢＰＣは「０」、「１」、「２」の３通りがある。ＣＢＰＣとして「０」は色差成分に関しては非零直交変換係数が存在しないことを示す。「１」は色差成分のＤＣ成分のみに非零直交変換係数が存在し、ＡＣ成分には非零直交変換係数が存在しないことを示す。「２」は色差成分のＡＣ成分に非零直交変換係数が少なくとも１つ以上存在することを示す。なおインター符号化されたマクロブロックでは、イントラ４×４符号化モードと同様のＣＢＰの構成となっている。イントラ１６×１６符号化モードにおけるＣＢＰにおいて、ＣＢＰＹはマクロブロック内のＡＣ成分に非零直交変換係数があるか否かを示す１ビットのみで構成される。イントラ１６×１６符号化モードにおけるＣＢＰＣはイントラ４×４符号化モードと同様である。
まず、ＣＢＰＹの構成はイントラ１６×１６符号化モードの場合を除いてはＭＰＥＧ−４と同様に構成されているため、イントラ１６×１６符号化モードにおける場合のみ例外処理として扱い、その他の符号化方法はＭＰＥＧ−４に適用した場合と同様の方法を用いることができる。図８における符号化対象マクロブロックがイントラ１６×１６符号化モードで符号化される場合には、例えば以下の式（１０）を用いてＰ（ＣＢＰＹ）を算出し、Ｐ（ＣＢＰＹ）の値の大きいものを優先度の高いＣＢＰＹとする。図１７Ａに示すように該符号化対象マクロブロック全体をブロックＱとし、ＣＢＰ（Ｑ）は符号化対象マクロブロックにおけるＣＢＰＹの値を表すものとする。また図１８Ａ，Ｂには、図９Ａ，Ｂと同様にＨ．２６Ｌに適用した場合のＣＢＰＹの符号化におけるマップテーブルおよび可変長符号化テーブルを示す。
式（１０）：Ｐ（ＣＢＰＹ）＝（ＣＢＰ（Ｑ）＝＝ＣＢＰ（Ｅ））＋（ＣＢＰ（Ｑ）＝＝ＣＢＰ（Ｆ））＋（ＣＢＰ（Ｑ）＝＝ＣＢＰ（Ｇ））＋（ＣＢＰ（Ｑ）＝＝ＣＢＰ（Ｈ））
符号化対象マクロブロックに隣接するマクロブロックがイントラ１６×１６符号化モードで符号化されている場合には、該イントラ１６×１６符号化モードで符号化されているマクロブロックの輝度成分に対するＣＢＰはすべて該イントラ１６×１６符号化モードで符号化されているマクロブロックのＣＢＰＹと同じ値であるとして、本発明の第１の実施形態においてＭＰＥＧ−４に適用した場合と同様の方法によって符号化を行う。すなわち、例えば符号化対象マクロブロックの左に隣接するマクロブロックの符号化モードがイントラ１６×１６符号化モードであり、かつ、そのＣＢＰＹが「１」であった場合には、図８におけるブロックＧおよびブロックＨのＣＢＰの値であるＣＢＰ（Ｇ）およびＣＢＰ（Ｈ）はいずれも「１」であるとして空間コンテキストを生成する。
次に、ＣＢＰＣの構成は符号化モードに限らず共通であるため、符号化方法に例外処理は必要ない。図１７Ｂに示すように、符号化対象マクロブロックの色差成分画像のブロックをブロックＩとし、上に隣接するブロックをＪ、左に隣接するブロックをＫとする。Ｈ．２６Ｌに適用した場合のＣＢＰＣの符号化におけるマップテーブルおよび可変長符号化テーブルを図１８Ｃ，Ｄに示す。Ｈ．２６Ｌに適用した場合のＣＢＰＣは「０」、「１」、「２」のいずれかの値をとり得る。この値は近傍ブロックにおけるＣＢＰＣの値と類似していると考えられるため、ブロックＩのＣＢＰＣの値をブロックＪおよびブロックＫのＣＢＰＣの値から推測するよう空間コンテキストを生成する。すなわち、ブロックＪにおけるＣＢＰＣの値をＣＢＰＣ（Ｊ）、ブロックＫにおけるＣＢＰＣの値をＣＢＰＣ（Ｋ）とすると、次に示す式（１１）によって算出されるＰ（ＣＢＰＣ）を求め、ＣＢＰＣの値がＰ（ＣＢＰＣ）に近い順にインデックス値が小さくなるようにマップテーブルを切り替える。
式（１１）：Ｐ（ＣＢＰＣ）＝（ＣＢＰＣ（Ｋ）＋ＣＢＰＣ（Ｊ））／２
すなわち、例えばＣＢＰＣ（Ｊ）＝ＣＢＰＣ（Ｋ）＝２である場合には、式（１１）よりＰ（ＣＢＰＣ）＝２となるため、図１９に示すテーブルのように符号化対象マクロブロックにおけるＣＢＰＣとしてＣＢＰＣ＝２のインデックス値が最も小さい値となり、続いてＣＢＰＣ＝１、最後にＣＢＰＣ＝０の順でインデックス値が増加するようマップテーブルを生成する。
以上のように構成すれば、Ｈ．２６Ｌ符号化方式においても、ＣＢＰの符号化を符号化対象マクロブロックの近傍ブロックでの情報を利用した空間コンテキストに基づいてマップテーブルを切り替えることができ、出現確率の高いシンボルに短い符号語を割り当てることができるため、ＣＢＰの好適な符号化が実現できる。
（第２の実施形態）
本発明の第１の実施形態では、ＣＢＰの符号化を行う際に近傍ブロックにおけるＣＢＰの情報を利用して空間コンテキストを生成し、該空間コンテキストに基づいてマップテーブルを切り替えるように構成することによってＣＢＰの好適な符号化を実現する方法を示したが、本発明の第２の実施形態による符号化方法及び装置では、ＣＢＰの符号化を行う際にさらに近傍ブロックにおける符号化モード情報を利用して空間コンテキストを生成することによってマップテーブルを切り替えることにより、符号化効率を向上させることを特徴とする。
本発明の第２の実施形態による符号化および復号においては本発明の第１の実施形態で説明したのと同様にＭＰＥＧ−４符号化方式をもとにして説明する。本発明の第１の実施形態では、符号化対象マクロブロックのＣＢＰの符号化を行う際にその近傍ブロックにおけるＣＢＰの値を利用して空間コンテキストを生成し、該空間コンテキストに応じてＣＢＰのマップテーブルを切り替えるよう構成したが、本発明の第２の実施形態においてはさらに該空間コンテキストの生成に近傍マクロブロックにおける符号化モード情報を利用する。
既に説明したように、ＭＰＥＧ−４においてマクロブロックの符号化モードは２種類のインター符号化モードおよび１種類のイントラ符号化モードから構成される。インター符号化モードのうち４つの動きベクトルを用いることを特徴とするインター符号化モード１は、マクロブロック内のそれぞれのブロックの動きが異なるために選択されると考えられ、この場合には動きが単調ではないために非零直交変換係数が発生しやすいと考えられる。従って、例えば図８に示した符号化対象マクロブロックの近傍ブロックのＣＢＰに対して、もし近傍ブロックの属するマクロブロックがインター符号化モード１によって符号化されている場合には、実際のＣＢＰの値にかかわらずＣＢＰ＝１であるとして空間コンテキストを生成するよう構成する。このように構成すれば、動きが複雑であると考えられるインター符号化モード１の周辺領域の動きも複雑であるために非零直交変換係数が出現しやすいことを反映したマップテーブルの設定が可能となり、ＣＢＰの符号化効率を向上させることができる。
また、復号する際にも上記と同様の手段によってマップテーブルの設定をすることによって、上記の方法によって符号化された符号化データを好適に復号することができる。
また、本発明の第２の実施形態による符号化方法においては、符号化対象マクロブロックの近傍マクロブロックにおける符号化モードに応じて空間コンテキストを生成するよう説明したが、もちろん、当該符号化対象マクロブロックにおける符号化モードも参照して空間コンテキストを生成してもよい。
（第３の実施形態）
本発明の第３の実施形態による符号化方法は、ＣＢＰの符号化において、ＣＢＰのそれぞれのパターンの出現する確率の分布に応じて可変長符号化テーブルを切り替えることを特徴とする。すなわち、図２０Ａ，Ｂに示すように、例えばＣＢＰＹのインデックス順に対するシンボルの発生率が画像によって異なる場合がある。図２０Ａは上位のいくつかのインデックス値に対する発生確率が高く、その他の発生確率が低い場合を示した表である。図２０Ｂはインデックス値に対する発生確率にあまり偏りのない場合を示した表である。このように特性の異なる発生率の分布が生じる場合、それぞれの特性に適した可変長符号化テーブルに切り替えることによって符号化効率をさらに向上させることができる。
例えば図２１Ａ〜Ｃに示すように複数の可変長符号化テーブルを用意しておき、これらを適応的に切り替えるよう制御する。一例として図２１Ａ〜Ｃに示した複数の可変長符号化テーブルはｅｘｐ−Ｇｏｌｏｍｂ符号と呼ばれ、以下のように構成される。すなわち、ｊ＋１ビットのＵｎａｒｙパートに対して、ｋ＋ｊビットのＢｉｎａｒｙパートを追加することによって符号を構成する（ｊ＝０，１，．．．）。すなわち、ｊはその符号におけるＵｎａｒｙパートの「０」の個数に、またｋは０番目の符号におけるＢｉｎａｒｙパートの符号長に等しい。図２１Ａはｋ＝０の場合、図２１Ｂはｋ＝１の場合、図２１Ｃはｋ＝２の場合のｅｘｐ−Ｇｏｌｏｍｂ符号である。図から自明であるように、ｋの値が大きいほど符号長の分布の偏りが小さくなる傾向がある。
さて、このように符号長の分布の偏りの特性の異なる可変長符号化テーブルを複数用意し、適応的にこれらを切り替える。これらの可変長符号化テーブルの切り替え方法としては、例えば、量子化パラメータが大きい場合には非零直交変換係数が発生しにくいため、ＣＢＰＹの各ビットが「０」になるものほど出現しやすく、空間コンテキストによる予測も当たりやすい。逆にＣＢＰＹの各ビットが「１」になるものは出現しにくいため、空間コンテキストによる予測がはずれやすい。量子化パラメータが小さい場合には非零直交変換係数が発生しやすいため、ＣＢＰＹの各ビットが「１」になるものほど出現しやすく、空間コンテキストによる予測も当たりやすい。逆にＣＢＰＹの各ビットが「０」になるものは出現しにくいため、空間コンテキストによる予測ははずれやすい。量子化パラメータが大きくも小さくもない場合には、ＣＢＰＹの各ビットが「０」や「１」に偏らないため、それぞれのパターンが発生し、空間コンテキストによる予測も当たりにくい。そこで、該符号化対象マクロブロックの量子化パラメータの値を参照し、量子化パラメータが予め設定した閾値Ｔｈ１より大きい場合には例えば図２１Ａのテーブルを、量子化パラメータが閾値Ｔｈ１以下であり閾値Ｔｈ２より大きい場合には例えば図２１Ｃのテーブルを、量子化パラメータが閾値Ｔｈ２より小さい場合には図２１Ａのテーブルを用いるよう制御することによって、それぞれの場合に好適な可変長符号化テーブルを提供することができ、符号化効率のよい可変長符号化を実現することができる。
また、可変長符号化テーブルの切り替え方法の別の例では、ＣＢＰＹのインデックス値に応じた実際のＣＢＰＹの出現数をカウントする。すなわち、Ｃ（ｎ）をＣＢＰＹのそれぞれのインデックス値に応じた出現回数のカウンタとし（ｎ＝１〜１５）、Ｃ（ｎ）を正規化したＣ’（ｎ）の分散値が予め設定した閾値Ｔｈ３よりも小さい場合には例えば図２１Ｃのテーブルを、閾値Ｔｈ３以上の場合には例えば図２１Ａのテーブルを用いるよう制御することによって、それぞれの場合に好適な可変長符号化テーブルを提供することができ、符号化効率のよい可変長符号化を実現することができる。
なお、図２１Ａ〜Ｃでは３つの可変長符号化テーブルを用いて説明したが、もちろん可変長符号化テーブルの個数やその値は図２１Ａ〜Ｃに限定されるものではない。また、複数の可変長符号化テーブルをメモリに保持しておくことによって可変長符号化テーブルを切り替えることもできるが、例として示したｅｘｐ−Ｇｏｌｏｍｂ符号などのＵｎｉｖｅｒｓａｌ符号を用いてそのパラメータを切り替えることによって可変長符号化テーブルを切り替えることもできる。
すなわち、図１３の可変長符号化部１６においてまず入力シンボルＨ１として可変長符号出力部３０にＣＢＰが入力される。そして符号化シンボルメモリ３１より、符号化マップテーブル提供部３２に可変長符号化テーブル参照情報Ｈ２として周囲ブロックにおけるＣＢＰが入力される。そして、符号化マップテーブル提供部３２にて例えば本発明の第１の実施形態による手法に基づいてＣＢＰの符号化に対して用いる符号化マップテーブルが決定され、符号化テーブルＨ４が可変長符号出力部３０に提供される。また、可変長符号化テーブル提供部３３には符号化シンボルメモリ３１より、符号化対象マクロブロックの量子化パラメータが可変長符号化テーブル参照情報Ｈ３として入力される。そして、可変長符号化テーブル提供部３３にて、本発明の第３の実施形態による手法に基づいてＣＢＰの符号化に対して用いる可変長符号化テーブルが決定され、該可変長符号化テーブルＨ５が可変長符号出力部３０に入力される。そして、符号化対象ＣＢＰは可変長符号化され、符号化データＤ９として出力される。
また、同様に図１４に示した可変長復号部２１のブロック図において、本発明の第３の実施形態による符号化方法によって符号化された符号化データＤ９が可変長復号部２１の復号シンボル出力部４０に入力されると、既に復号済のシンボルより復号対象マクロブロックの量子化パラメータが復号シンボルメモリ４１から復号マップテーブル参照情報Ｈ７として復号マップテーブル提供部４２に入力される。そして、復号マップテーブル提供部４２から復号マップテーブルＨ９が符号化と同様の手続きにて選択されて復号シンボル出力部４０に入力される。また、復号シンボルメモリ４１から可変長復号テーブル参照情報Ｈ８として復号対象マクロブロックの既復号済の周辺ブロックにおけるＣＢＰが可変長復号テーブル提供部４３に入力される。そして、可変長復号テーブル提供部４３にて、符号化と同様の手続きにて可変長復号テーブルが選択され、可変長復号テーブルＨ１０として復号シンボル出力部４０に入力される。そして、復号シンボル出力部４０において可変長復号が成され、復号シンボルＨ６としてＣＢＰが復号されて出力されると同時に、復号シンボルメモリ４１に記憶される。
なお、本発明の第３の実施形態による符号化方法では、該符号化対象マクロブロックにおける量子化パラメータに基づいて可変長符号化テーブルを切り替えるよう構成したが、もちろん、該符号化対象マクロブロックの符号化すべき画像の複雑さに影響を及ぼす符号化情報であれば、いかなる情報でも同様の手段によって本発明を適用することができる。例えば、マクロブロック符号化モードは、マクロブロックがより細かいブロックに分割されるモードであるほど、画像の複雑さの度合いが高いと考えられる。逆に、分割ブロック数が少ないほど、画像の複雑さの度合いが低いと考えられる。従って、マクロブロック符号化モードに基づいて画像の複雑さの度合いが高いと考えられる場合には、非零量子化直交変換係数が発生しやすいことから、あらゆるＣＢＰの発生の可能性が考えられるため、ＣＢＰ符号化のための可変長符号化テーブルとしてより符号長の偏りの小さい可変長符号化テーブルを用いて符号化するように制御する。逆に画像の複雑さの度合いが低いと考えられる場合には、ＣＢＰ符号化のための可変長符号化テーブルとしてより符号長の偏りの大きい可変長符号化テーブルを用いて符号化するように制御する。また、例えば動きベクトルに関しても、動きベクトルが長ければ長いほど符号化すべき画像が複雑である可能性が高くなる傾向がある。そのため、該マクロブロックにおける動きベクトルの長さが長いほど、可変長符号化テーブルとしてより符号長の偏りの小さいものを用いるように制御するよう構成してもよい。また、周囲ブロックの動きベクトルから符号化対象ブロックの動きベクトルを予測し、予測値と実際の動きベクトルの差分値を符号化する符号化方式の場合には、符号化対象となるマクロブロックにおける動きベクトル差分値を基に可変長符号化テーブルを切り替えるよう構成してもよい。すなわち、動きベクトル差分値が大きければ大きいほど、符号化対象マクロブロック近傍における動きが複雑であり、その結果として非零量子化直交変換係数が発生しやすいと類推できることから、この場合には、例えば符号化対象マクロブロックにおける差分動きベクトルの絶対値が大きければ大きいほど、符号長の偏りの少ない可変長符号化テーブルを用いるように制御するよう構成してもよい。
このように、本発明の第３の実施形態では、各ＣＢＰの発生する確率の分布に応じて可変長符号化テーブルを切り替えるよう構成したので、効率よく符号化を行うことができる。
（第４の実施形態）
次に本発明の第４の実施形態による符号化方法における直交変換係数の可変長符号化の手順について説明する。ここでは、空間画像データを周波数画像データへと変換する直交変換としては、離散コサイン変換（ＤＣＴ：Ｄｉｓｃｒｅｔｅ  Ｃｏｓｉｎｅ  Ｔｒａｎｓｆｏｒｍ）を想定する。図２２Ａは、図４Ｂに示した８画素×８ラインの直交変換係数ｆ１１〜ｆ８８に量子化処理を加えた量子化直交変換係数ｑ１１〜ｑ８８の具体的な一数値例を示している。画像符号化装置の可変長符号化部では、このような量子化直交変換係数に対して所定の処理手順で可変長符号化を行って、符号化データを生成する。
係数ｑｉｊの添字の値ｉ、ｊが対応する垂直周波数、水平周波数をそれぞれ表している量子化直交変換係数ｑ１１〜ｑ８８においては、空間画像データでの画像成分ａ１１〜ａ８８（図４Ａ参照）とは異なり、各量子化直交変換係数が、その係数値の大きさなどについて、対応する空間周波数の値に依存したデータ特性を有している。一般に、自然画像においては、低周波数域で大きい直交変換の係数値が得られ、高周波数になるにしたがって係数値が小さくなる。この分布は零をピークにもつラプラス分布により近似することができる。また、そのとき各ブロック内の各画素の濃度の変化が激しいほど変換係数の分布の広がりも大きくなり、係数の平均振幅値が増大する。
量子化直交変換係数の可変長符号化の処理手順においては、まず、２次元データである量子化直交変換係数ｑ１１〜ｑ８８が、例えば図２２Ｂに示すジグザグ・スキャンによって、１次元データへと変換される。このジグザグ・スキャンでは、スキャン後の１次元データが低周波数域から高周波数域へと移行していくデータ列となるように、量子化直交変換係数がスキャンされる。これにより、低周波数域から高周波数域へと量子化直交変換係数が並ぶ、図２２Ｃに示す１次元データが得られる。
この量子化直交変換係数の１次元データは、そのデータ量を低減するため、さらに、図２２Ｄに示すＬｅｖｅｌ（レベル）及びＲｕｎ（ラン）からなるデータへと変換される。ここで、Ｌｅｖｅｌは、複数の量子化直交変換係数のうちで非零係数値を持つ量子化直交変換係数での係数レベルを示す。また、Ｒｕｎは、０でない量子化直交変換係数の直前にある係数値が０のデータの数であるゼロラン長を示す。
例えば、図２２Ａに示したＤＣＴ係数のデータ例では、図２２Ｃに示すように、６４個のＤＣＴ係数ｑ１１〜ｑ８８が、０でない係数値を持つＤＣＴ係数の出現位置に基づいて、係数ｑ１１からなる係数群Ｓ１、係数ｑ１２、ｑ２１からなる係数群Ｓ２、係数ｑ３１〜ｑ１３からなる係数群Ｓ３、係数ｑ１４〜ｑ３２からなる係数群Ｓ４、係数ｑ４１〜ｑ１５からなる係数群Ｓ５、及び係数ｑ１６〜ｑ８８からなる係数群Ｓ６へと区分される。
そして、これらの係数群Ｓｉ（ｉ＝１〜６）対して、図２２Ｄに示すように、それぞれＬｅｖｅｌ値Ｌｉ及びＲｕｎ値Ｒｉが求められる。具体的には、係数群Ｓ１では、Ｌ１＝ｑ１１＝１０、Ｒ１＝０である。また、係数群Ｓ２では、Ｌ２＝ｑ２１＝−２、Ｒ２＝１である。また、係数群Ｓ３では、Ｌ３＝ｑ１３＝２、Ｒ３＝２である。また、係数群Ｓ４では、Ｌ４＝ｑ３２＝−１、Ｒ４＝２である。また、係数群Ｓ５では、Ｌ５＝ｑ１５＝１、Ｒ５＝５である。また、最後の係数群Ｓ６は、全ての係数ｑ１６〜ｑ８８の係数値が０となっている係数群であり、Ｌ６＝０、Ｒ６は未定義である。
さて、図２２Ｄに示したＬｅｖｅｌ及びＲｕｎからなるデータより、該符号化対象ブロックにおける非零係数数ＣＣおよびＲｕｎ合計値ＲＴを算出する。例えば、具体的には図２２Ｄより非零係数数ＣＣ＝５、Ｒｕｎ合計値ＲＴ＝１０となる。
ここで、これらの係数群および非零係数数ＣＣやＲｕｎ合計値ＲＴの符号化を行う際に用いる可変長符号化テーブルとして例えば図９Ｂに示したものと同一のものを用いることができる。この可変長符号化テーブルの左側の項はインデックス値を表し、右側はインデックス値に対応する可変長符号を表している。
図１３は本発明の第４の実施形態による可変長符号化部１６のブロック図を示した図である。まず入力シンボルＨ１として非零係数数ＣＣおよびＲｕｎ合計値ＲＴが可変長符号出力部３０および可変長符号化テーブル提供部３３に入力される。可変長符号化テーブル提供部３３は入力シンボルＨ１に対応する可変長符号化テーブルとして、例えば図９Ｂに示したような可変長符号化テーブルＨ５を可変長符号出力部３０に提供し、入力シンボルＨ１は可変長符号化テーブルＨ５を用いて符号化される。すなわち、非零係数数ＣＣの値から１を減じた値をインデックス値として対応する可変長符号を符号化データＤ９として出力する。また同様にＲｕｎ合計値ＲＴの値をインデックス値として対応する可変長符号化データＤ９として出力する。
次に、高周波側の係数群より順に符号化を行う。ただし、全ての係数値が０となっている係数群については符号化しない。まず、すべての係数群のＲｕｎ値Ｒｉが入力シンボルＨ１として可変長符号出力部３０に入力されると、Ｒｕｎ値Ｒｉをインデックスとして同様に可変長符号化テーブルを用いて符号化され、符号化データＤ９として出力される。
次に、Ｌｅｖｅｌ値の符号化を高周波側の係数群から順に全ての非零Ｌｅｖｅｌ値に対して行う。
本発明の第４の実施形態による符号化方法においては、符号化対象となるブロックのＬｅｖｅｌ値の符号化を行う際の可変長符号化テーブルを、符号化対象となるブロックの周辺で符号化済のブロックにおけるＬｅｖｅｌ値に応じて切り替えることを特徴とする。
ここで、図２３に示すように、符号化対象となるブロックをブロックＡ、上に隣接するブロックをブロックＢ、左に隣接するブロックをブロックＣとする。画像信号においてテクスチャや動きに変化が少ない領域は非零直交変換係数が出現しにくく、逆にテクスチャや動きに変化の多い領域は非零直交変換係数が出現しやすいことが知られている。また、特に自然画像などではテクスチャや動きの変化の傾向が近傍領域において類似することが多い。従って、符号化対象となるブロックの周辺ブロックにおける符号化係数の出現する傾向から符号化対象となるブロックにおける符号化係数の出現する傾向を類推することができる。
すなわち、符号化対象となるブロックＡに隣接するブロックＢおよびブロックＣにおいて例えばＬｅｖｅｌ値が大きな係数が多数出現していれば、その近傍領域は画像信号においてテクスチャや動きの変化が複雑であると考えられるため、符号化対象ブロックＡにおいてもＬｅｖｅｌ値が大きな係数が多数出現すると類推できる。逆に例えば符号化対象となるブロックＡに隣接するブロックＢおよびブロックＣにおいてＬｅｖｅｌ値が小さな係数しか出現していないか、もしくはＬｅｖｅｌ値が非零の係数が存在しなければ、その近傍領域は画像信号においてテクスチャや動きが単調であると考えられるため、符号化対象ブロックＣにおいてもＬｅｖｅｌ値が小さな係数が出現しやすいと類推できる。
ところで、Ｌｅｖｅｌ値が大きい値が多数出現する場合には、Ｌｅｖｅｌ値が小さい値をとるか大きい値をとるかを類推するのは難しいため、できるだけ各Ｌｅｖｅｌ値に対する符号長が偏らない可変長符号化テーブルを用いることによって符号化を効率よく行うことができる。逆に、Ｌｅｖｅｌ値が小さい値をとりやすい場合には、Ｌｅｖｅｌ値の小さい係数に対する符号長が短くなるよう可変長符号化テーブルを用いることによって、符号化を効率よく行うことができる。
そこで、例えば図２１Ａ〜Ｃに示したように符号長の分布の偏りの特性の異なる可変長符号化テーブルを複数用意し、周囲マクロブロックにおけるＬｅｖｅｌ値に従って該符号化対象Ｌｅｖｅｌ値に対する可変長符号化テーブルを切り替える。すなわち、周囲マクロブロックにおけるＬｅｖｅｌ値より、符号化対象マクロブロックにおけるＬｅｖｅｌ値は小さい値が出現しやすいと類推される場合には図２１Ａに示すように、符号長の偏りが大きいテーブルを用いるよう制御し、Ｌｅｖｅｌ値が大きい値も出現しやすいと類推される場合には図２１Ｃに示すように、符号長の偏りが小さいテーブルを用いるよう制御する。
具体的には、符号化対象となるブロックにおけるＬｅｖｅｌ値を符号化する際に、例えば図２３におけるブロックＢおよびブロックＣにおけるＬｅｖｅｌ値の絶対値の最大値ＭａｘＬを求め、予め設定した閾値Ｔｈ７およびＴｈ８（Ｔｈ７＜Ｔｈ８）に対して、ＭａｘＬがＴｈ７より小さければ図２１Ａの可変長符号化テーブルを、ＭａｘＬがＴｈ７以上でありＴｈ８より小さければ図２１Ｂの可変長符号化テーブルを、ＭａｘＬがＴｈ８以上であれば図２１Ｃの可変長符号化テーブルを用いるよう切り替える。
すなわち、図１３の可変長符号化部１６において、可変長符号出力部３０に入力シンボルＨ１としてＬｅｖｅｌ値が入力されると、符号化シンボルメモリ３１よりＭａｘＬが可変長符号化テーブル参照情報Ｈ３として入力され、可変長符号化テーブル提供部３３は可変長符号化テーブル参照情報Ｈ３に基づいて上記の制御手法によって選ばれる可変長符号化テーブルＨ５を可変長符号出力部３０に提供する。他の動作は本発明の第１から第３の実施形態と同様である。
このように構成すれば、符号化対象となるブロックの近傍ブロックから符号化対象となるブロックにおけるＬｅｖｅｌ値の出現傾向を類推でき、小さいＬｅｖｅｌ値が出現しやすい場合には小さいＬｅｖｅｌ値に対して短い符号長を割り当て、Ｌｅｖｅｌ値が小さい値をとるか大きい値をとるか類推し難い場合には大きいＬｅｖｅｌ値に対しても長くない符号長を割り当てることができるため、Ｌｅｖｅｌ値の符号化を効率よく行うことができる。
本発明の第４の実施形態による符号化方法においては、可変長符号化テーブル参照情報Ｈ３として符号化対象ブロックの近傍にあるブロックＢおよびブロックＣのＬｅｖｅｌ値の絶対値ＭａｘＬを用いるように説明したが、もちろん本発明はこれに限定されることなく、例えば他の符号化済の近傍ブロックをも参照の範囲に入れた上でＬｅｖｅｌ値の絶対値の最大値を用いてもよいし、最大値の代わりに中間値、絶対値の合計値、分散値、絶対値の平均値など、近傍ブロックにおけるＬｅｖｅｌ値の特徴を示す情報であれば種々の情報を利用することができる。
なお、本発明の第４の実施形態による符号化方法において、Ｒｕｎ値の符号化をＬｅｖｅｌ値の前に行うよう記述したが、もちろん本発明はＲｕｎ値をＬｅｖｅｌ値の後に符号化してもＲｕｎ値とＬｅｖｅｌ値を交互に符号化してもよい。
図１４は本発明の第４の実施形態による可変長復号部２１のブロック図を示した図である。本発明の第４の実施形態による符号化方法によって符号化された符号化データＤ９が可変長復号部２１の復号シンボル出力部４０に入力されると、復号シンボルメモリ４１よりＭａｘＬが可変長復号テーブル提供部４３に入力される。そして、符号化の際と同様の処理によって可変長復号テーブル提供部４３は使用する可変長復号テーブルを決定し、可変長復号テーブルＨ９が復号シンボル出力部４０に入力される。そして、復号シンボル出力部４０において可変長復号が成され、復号シンボルＨ６としてＬｅｖｅｌ値が復号されて出力されると同時に、復号シンボルメモリ４１に記憶される。
上記のように可変長復号部を構成したので、本発明の第４の実施形態による符号化方法によって符号化された符号化データを、好適に復号することができる。
なお、本発明の第４の実施形態による符号化方法および復号方法においては、具体的なテーブル値を用いて説明したが、もちろん本発明はこれらの値に限定されるものではない。また、本発明の実施形態においては、８画素×８ラインのＤＣＴ係数を例に用いて説明したが、もちろん直交変換の種類やブロックの大きさがこれらに限定されるものではない。
（第５の実施形態）
次に、本発明の第５の実施形態による符号化方法について説明する。さて、動きベクトル情報Ｄ２は、例えばＭＰＥＧ−４における符号化では、符号化対象となるマクロブロックの動きベクトルに対して、周辺マクロブロックにおける動きベクトルの中間値が予測値として生成され、該予測値と実際の動きベクトルとの差分値ＭＶＤを符号化する。
ここで、図２３に示すように、符号化対象となるマクロブロックをマクロブロックＡ、上に隣接するブロックをマクロブロックＢ、左に隣接するブロックをマクロブロックＣとする。画像信号において、特に自然画像などではある領域のテクスチャや動きの変化の傾向がその近傍領域において類似していることが多い。従って、符号化対象となるマクロブロックの周辺マクロブロックにおける動きの変化が激しい場合には、符号化対象となるマクロブロックにおける動きの変化も激しく、動きベクトル差分値の絶対値がどのような値を取るかを類推することは難しい。逆に、周辺マクロブロックにおける動きの変化があまりない場合には、その近傍領域は単調な動きをしているかもしくは静止している可能性が高いと類推できるため、符号化対象となるマクロブロックにおいても動きベクトル差分値の絶対値は小さな値を取るものと類推することができる。
従って、符号化対象となるマクロブロックの周辺マクロブロックにおける動きベクトル差分値の絶対値が小さい場合には、該符号化対象となる動きベクトル差分値の絶対値は０近傍に集中する可能性が高いため、０近傍の符号長が短くなるような可変長符号化テーブルを用いることによって効率よく符号化できる。逆に、符号化対象となるマクロブロックの周辺マクロブロックにおける動きベクトル差分値の絶対値が大きい場合には、該符号化対象となる動きベクトル差分値の絶対値が０近傍に集中するとは限らない。したがって、このような場合には、動きベクトル差分値の絶対値が大きい値でも小さい値でも符号長にあまり差がないような可変長符号テーブルを用いることによって効率よく符号化することができる。
これらのことを念頭におき、本発明の第５の実施形態においては、例えば図２１Ａ〜Ｃ示すように符号長の分布の偏りの特性の異なる可変長符号化テーブルを複数用意し、符号化対象マクロブロックの周辺マクロブロックにおける動きベクトル差分値の絶対値の大きさに応じて、符号化対象マクロブロックにおける動きベクトル差分値に対する可変長符号化テーブルを切り替える。
具体的には、例えば図２３に示した符号化対象マクロブロックＡの周辺マクロブロックとして上に隣接するマクロブロックＢおよび左に隣接するマクロブロックＣにおける動きベクトル差分値の絶対値をＭＶＤ（Ｂ）およびＭＶＤ（Ｃ）とする。予め設定した閾値Ｔｈ０に対し、ＭＶＤ（Ｂ）およびＭＶＤ（Ｃ）のいずれもＴｈ０より小さければ、マクロブロックＡにおける動きベクトル差分値の可変長符号化テーブルとして図２１Ａのテーブルを、ＭＶＤ（Ｂ）またはＭＶＤ（Ａ）のいずれか片方のみＴｈ０に等しいかＴｈ０より大きければ図２１Ｂのテーブルを、ＭＶＤ（Ｂ）およびＭＶＤ（Ｃ）の両方がＴｈ０に等しいかＴｈ０より大きければ図２１Ｃのテーブルを用いて可変長符号化を行うように構成する。ただし、マクロブロックＢもしくはマクロブロックＣが画面外もしくはスライス外に存在する場合には、そのマクロブロックの動きベクトル差分値の絶対値は予め設定しておいた値Ｚ（Ｚ≧Ｔｈ０）であるとして処理する。これは、隣接するマクロブロックが画面外またはスライス外であれば、動きベクトルの予測値が当たりにくく、符号化対象の動きベクトル差分値の取りうる値が０近傍に集中するとは限らないためである。また、隣接するマクロブロックがイントラマクロブロックであった場合にも同様にそのマクロブロックの動きベクトル差分値の絶対値はＺであるとして処理する。これも、上記と同様に符号化対象の動きベクトルの予測値が当たりにくく、符号化対象の動きベクトル差分値の取りうる値が０近傍に集中するとは限らないためである。
すなわち、図１３の可変長符号化部１６においてまず入力シンボルＨ１として可変長符号出力部３０に動きベクトル差分値ＭＶＤが入力される。そして符号化シンボルメモリ３１より、可変長符号化テーブル提供部３３に可変長符号化テーブル参照情報Ｈ３としてＭＶＤ（Ｂ）およびＭＶＤ（Ｃ）が入力される。そして、可変長符号化テーブル提供部３３にて上記のようにＭＶＤ（Ｂ）およびＭＶＤ（Ｃ）が予め設定しておいた閾値Ｔｈ０と比較され、それに基づいて符号化対象動きベクトルに対して用いる可変長符号化テーブルが決定され、可変長符号化テーブルＨ５が可変長符号出力部３０に提供される。そして、符号化対象動きベクトルは可変長符号化され、符号化データＤ９として出力される。
本発明の第５の実施形態による符号化方法においては、以上のようにＭＶＤ値が０近傍に集中しやすい場合には、０近傍の符号長が短い可変長符号化テーブルに切り替えることによってＭＶＤ値が０近傍であった場合の符号長が短くなるように制御し、ＭＶＤ値が０近傍に集中するとは限らない場合には符号長の偏りの小さいテーブルに切り替えることによってＭＶＤ値が大きな値であっても符号長が長くならないよう構成したので、ＭＶＤ値を効率よく符号化することができる。
なお、図２１Ａ〜Ｃでは３つの可変長符号化テーブルを用いて説明したが、もちろん可変長符号化テーブルの個数やその値は図２１Ａ〜Ｃに限定されるものではない。また、複数の可変長符号化テーブルを可変長符号化テーブル提供部３３内のメモリに保持しておき、可変長符号化テーブルＨ３の提供を切り替えることによって実現しても、例として示したｅｘｐ−Ｇｏｌｏｍｂ符号などのＵｎｉｖｅｒｓａｌ符号を用いてそのパラメータを切り替えることによって可変長符号化テーブル提供部３３内で可変長符号化テーブルＨ３を生成することによって実現してもよい。
図１４は本発明の第５の実施形態による可変長復号部２１のブロック図を示した図である。本発明の第５の実施形態による符号化方法によって符号化された符号化データＤ９が可変長復号部２１の復号シンボル出力部４０に入力されると、既に復号済のシンボルより算出されたＭＶＤ（Ｂ）およびＭＶＤ（Ｃ）が復号シンボルメモリ４１から可変長復号テーブル参照情報Ｈ８として可変長復号テーブル提供部４３に入力される。そして、可変長復号テーブル提供部４３から可変長復号テーブルＨ１０が符号化と同様の手続きにて選択されて復号シンボル出力部４０に入力される。そして、復号シンボル出力部４０において可変長復号が成され、復号シンボルＨ６としてＭＶＤ値が復号されて出力されると同時に、復号シンボルメモリ４１に記憶される。
上記のように可変長復号部を構成したので、本発明の第５の実施形態による符号化方法によって符号化された符号化データを、好適に復号することができる。
（第６の実施形態）
本発明の第５の実施形態による符号化方法では、符号化対象となるマクロブロックの周囲のマクロブロックにおける動きベクトルに応じて可変長符号化テーブルを切り替えるように構成したが、本発明の第６の実施形態による符号化方法では、符号化対象となるマクロブロックの周囲のマクロブロックにおけるマクロブロック符号化モードに応じて可変長符号化テーブルを切り替えることを特徴とする。
既に図３Ａ〜Ｃに示したように、例えばＭＰＥＧ−４においてはマクロブロックの符号化モードとして、インター符号化モード０、インター符号化モード１、イントラ符号化モードの３つに分類される。ところで、インター符号化モード１はインター符号化モード０よりも画面の動きが複雑である場合により効果的に４つの動きベクトルを用いて動き補償を行う符号化モードである。従って、インター符号化モード１が選択されているマクロブロックにおいては画面の動きはインター符号化モード０が選択されているマクロブロックに比べて複雑であると類推できる。従って、本発明の第２の実施形態による符号化方法においては、図２５に示すように任意のマクロブロックＭＢに対して各符号化モードに応じて複雑さを示すポイントＰ（ＭＢ）を定義する。これらを符号化対象となるマクロブロックに隣接する図８に示したマクロブロックＢおよびＣに対して算出したポイントを、ポイントＰ（Ｂ）およびＰ（Ｃ）とする。そして、符号化対象となるマクロブロックＡに対するポイントを、以下の式（１２）によって定義する。
式（１２）：  Ｐ（Ａ）＝Ｐ（Ｂ）＋Ｐ（Ｃ）
さて、以上によって算出されたポイントＰ（Ａ）は符号化対象となるマクロブロックに隣接するマクロブロックにおける画面の動きの複雑さおよび、隣接するマクロブロックから符号化対象となるマクロブロックの動きベクトルの予測の難しさをあらわしている。ポイントが大きければ大きいほど予測が難しいか動きが複雑であることを表す。
従って、図２１Ａ〜Ｃに示すような符号長の分布の偏りの特性の異なる可変長符号化テーブルを複数用意し、符号化対象マクロブロックの周辺マクロブロックにおけるマクロブロック符号化モードから算出したポイントＰ（Ａ）の大きさに応じて、符号化対象マクロブロックにおける動きベクトル差分値に対する可変長符号化テーブルを切り替える。
具体的には、例えば予め設定した閾値Ｔｈ１およびＴｈ２（Ｔｈ１＜Ｔｈ２）に対し、ポイントＰ（Ａ）がＴｈ１より小さければ、動きが複雑でなく動きベクトル予測値が当たりやすいと類推できるので、動きベクトルの絶対値が０に近い符号がより短い符号長となるよう構成されている図２１Ａのテーブルを用いて可変長符号化を行うように構成する。同様に、Ｐ（Ａ）がＴｈ１以上でありＴｈ２より小さければ図２１Ｂのテーブルを、Ｐ（Ａ）がＴｈ２以上であれば図２１Ｃのテーブルを用いて可変長符号化を行うように構成する。ただし、マクロブロックＢもしくはマクロブロックＣが画面外もしくはスライス外に存在する場合には、例えばそのマクロブロックのポイントＰ（Ｘ）（ただしＸはＢまたはＣ）はイントラ符号化モード（ＡＣ係数あり）に対するポイントと同じポイントを用いることとする。これは、隣接するマクロブロックが画面外またはスライス外であれば、動きベクトルの予測値が当たりにくく、符号化対象の動きベクトル差分値のとりうる値が０近傍に集中するとは限らないためである。
すなわち、図１３の可変長符号化部１６においてまず入力シンボルＨ１として可変長符号出力部３０に動きベクトル差分値ＭＶＤが入力される。そして符号化シンボルメモリ３１より、可変長符号化テーブル提供部３３に可変長符号化テーブル参照情報Ｈ３としてマクロブロックＢおよびマクロブロックＣの符号化モード情報が入力される。そして、可変長符号化テーブル提供部３３にて上記のようにポイントＰ（Ａ）が算出されて予め設定しておいた閾値Ｔｈ１およびＴｈ２と比較され、それに基づいて符号化対象動きベクトルに対して用いる可変長符号化テーブルが決定され、可変長符号化テーブルＨ５が可変長符号出力部３０に提供される。そして、符号化対象動きベクトルは可変長符号化され、符号化データＤ９として出力される。
本発明の第６の実施形態による符号化方法においては、以上のように符号化対象となるマクロブロックの周囲のマクロブロックにおけるマクロブロック符号化モードから類推して、ＭＶＤ値が０近傍に集中しやすい場合には、０近傍の符号長が短い可変長符号化テーブルに切り替えることによってＭＶＤ値が０近傍であった場合の符号長が短くなるように制御し、ＭＶＤ値が０近傍に集中するとは限らない場合には符号長の偏りの小さいテーブルに切り替えることによってＭＶＤ値が大きな値であっても符号長が長くならないよう構成したので、ＭＶＤ値を効率よく符号化することができる。
なお、図２１Ａ〜Ｃでは３つの可変長符号化テーブルを用いて説明したが、もちろん可変長符号化テーブルの個数やその値は図２１Ａ〜Ｃに限定されるものではない。また、複数の可変長符号化テーブルを可変長符号化テーブル提供部３３内のメモリに保持しておき、可変長符号化テーブルＨ５の提供を切り替えることによって実現しても、例として示したｅｘｐ−Ｇｏｌｏｍｂ符号などのＵｎｉｖｅｒｓａｌ符号を用いてそのパラメータを切り替えることによって可変長符号化テーブル提供部３３内で可変長符号化テーブルＨ５を生成することによって実現してもよい。
図１４は本発明の第６の実施形態による可変長復号部２１のブロック図を示した図である。本発明の第６の実施形態による符号化方法によって符号化された符号化データＤ９が可変長復号部２１の復号シンボル出力部４０に入力されると、既に復号済のシンボルより算出された符号化対象となるマクロブロックに隣接するマクロブロックＢおよびＣおけるマクロブロック符号化モードが復号シンボルメモリ４１から可変長復号テーブル参照情報Ｈ８として可変長復号テーブル提供部４３に入力される。そして、可変長復号テーブル提供部４３から可変長復号テーブルＨ１０が符号化と同様の手続きにて選択されて復号シンボル出力部４０に入力される。そして、復号シンボル出力部４０において可変長復号が成され、復号シンボルＨ６としてＭＶＤ値が復号されて出力されると同時に、復号シンボルメモリ４１に記憶される。
上記のように可変長復号部を構成したので、本発明の第６の実施形態による符号化方法によって符号化された符号化データを、好適に復号することができる。
本発明の第６の実施形態においてはマクロブロック符号化モードを利用した動きベクトル差分値の好適な符号化方法および復号方法をＭＰＥＧ−４に適用した例を用いて説明したが、もちろん、符号化方法はこれに限定されない。その一例として、Ｈ．２６Ｌ符号化方式に適用した符号化方法を以下に示す。
Ｈ．２６Ｌ符号化方式においては、マクロブロック符号化モードは図２４Ａ〜Ｊに示すように１個のスキップ（Ｓｋｉｐ）モード０と、７個のインターモード１〜７と、２個のイントラモード８、９との１０個の符号化モードが用意されている。
このうち、スキップモード０は、画像の動きが検出されず、動き補償に使用する参照フレームと同位置の画像をコピーするモードである。
また、インターモード１〜７は、それぞれ異なるブロック区分を用いてインターフレーム符号化（フレーム間符号化）を行う場合のモードである。それぞれでの動き補償用ブロックについては、図２４Ａ〜Ｊに示すように、モード１では、１６画素×１６ラインのサイズで１個のブロックが用いられる。モード２では、１６画素×８ラインのサイズで２個のブロックが用いられる。モード３では、８画素×１６ラインのサイズで２個のブロックが用いられる。モード４では、８画素×８ラインのサイズで４個のブロックが用いられる。モード５では、８画素×４ラインのサイズで８個のブロックが用いられる。モード６では、４画素×８ラインのサイズで８個のブロックが用いられる。モード７では、４画素×４ラインのサイズで１６個のブロックが用いられる。図２８Ａには、これらのモードとインデックス値の対応を表すマップテーブルを、図２８Ｂには、それぞれのインデックス値と対応する符号を示す可変長符号化テーブルを示す。
また、イントラモード８、９は、それぞれ異なるブロック区分を用いてイントラフレーム符号化（フレーム内符号化）を行う場合のモードである。それぞれでのブロックについては、図２４Ａ〜Ｊに示すように、モード８では、４画素×４画素のサイズで１６個のブロックが用いられる。モード９では、１６×１６のサイズで１個のブロックが用いられる。
さて、これらの１０個の符号化モードに対して、ＭＰＥＧ−４に適用した例と同様にポイントＰを定義する。例えば、図２７に示すようにポイントを定義する。すなわち、インター符号化モードにおいてはブロック区分数が多いほど動きが複雑であると類推されるため、ブロック区分数が多いほどポイントが大きい値を取るように定義している。また、スキップモードでは動きがないと考えられるため、周囲の動きも無いか小さいことが多いと類推できるため、ポイントが小さい値を取るように定義している。また、イントラ符号化モードにおいても、ブロック区分数が多い場合には動きが複雑であり、符号化対象マクロブロックにおける動きベクトルの予測が当たりにくく、ブロック区分数が少ない場合には、動きは複雑ではない可能性があるが動きベクトルの予測は当たりにくいと予想されるため、モード８ではポイントが大きい値をとるように、モード９ではモード８よりもポイントが小さい値を取るように定義している。これらの値は説明を分かりやすくするために一例としてあげただけであり、本発明はこれらのテーブルの具体的な値に限定されるものではない。
さて、図２７における符号化モードに対するポイントの表を用いて、ＭＰＥＧ−４に適用した例と同様に、符号化対象となるマクロブロックに隣接するマクロブロックＢおよびマクロブロックＣのポイントＰ（Ｂ）およびＰ（Ｃ）を求める。そして、Ｐ（Ｂ）およびＰ（Ｃ）より、符号化対象となるマクロブロックに対するポイントＰ（Ａ）が求められる。
以下、同様にＰ（Ａ）と閾値を比較し、その結果に応じて可変長符号化テーブルを切り替えることにより、Ｈ．２６Ｌ符号化方式においても、本発明を適用することができる。
（第７の実施形態）
次に本発明の第７の実施形態による符号化方法について説明する。さて、マクロブロック符号化モードは既に図３Ａ〜Ｃに示したように、例えばＭＰＥＧ−４においてはマクロブロックの符号化モードとして、インター符号化モード０、インター符号化モード１、イントラ符号化モードの３つに分類される。ところで、インター符号化モード１はインター符号化モード０よりも画面の動きが複雑である場合やテクスチャが複雑である場合により効果的に４つの動きベクトルを用いて動き補償を行う符号化モードである。従って、インター符号化モード１が選択されているマクロブロックにおいては画面の動きやテクスチャはインター符号化モード０が選択されているマクロブロックに比べて複雑であると類推できる。また、イントラ符号化モードに関しては、マクロブロックに含まれる非零係数数が多ければテクスチャが複雑であると考えられ、逆に非零係数数が少なければテクスチャが単調であると考えられる。
ここで、図２３に示すように、符号化対象となるマクロブロックをマクロブロックＡ、上に隣接するブロックをマクロブロックＢ、左に隣接するブロックをマクロブロックＣとする。画像信号において、特に自然画像などではある領域のテクスチャや動きの変化の傾向がその近傍領域において類似していることが多い。従って、符号化対象となるマクロブロックの周辺マクロブロックにおける動きやテクスチャが複雑な場合には、符号化対象となるマクロブロックにおける動きやテクスチャも複雑となると類推できる。逆に、周辺マクロブロックにおける動きやテクスチャが単調な場合には、符号化対象となるマクロブロックにおける動きやテクスチャも単調であると類推できる。
従って、符号化対象となるマクロブロックの周辺マクロブロックにおけるマクロブロック符号化モードなどの情報から、符号化対象マクロブロックにおいて出現しやすい符号化モードが類推できる。
そこで、本発明の第７の実施形態による符号化方法においては、図２５に示すように任意のマクロブロックＭＢに対して各符号化モードに応じて複雑さを示すポイントＰ（ＭＢ）を定義する。ただし、イントラ符号化モードに対しては、輝度成分の直交変換係数のＡＣ成分があるか否かによって異なるポイントを定義している。
これらを符号化対象となるマクロブロックに隣接する図２３に示したマクロブロックＢおよびＣに対して算出したポイントを、ポイントＰ（Ｂ）およびＰ（Ｃ）とする。そして、符号化対象となるマクロブロックＡに対するポイントを、以下の式（１３）によって定義する。
式（１３）：  Ｐ（Ａ）＝（Ｐ（Ｂ）＋Ｐ（Ｃ））／２
さて、以上によって算出されたポイントＰ（Ａ）は符号化対象となるマクロブロックに隣接するマクロブロックにおける動きやテクスチャの複雑さをあらわしている。ポイントが大きければ大きいほど動きやテクスチャが複雑であることをあらわす。
従って、図２６Ａに示すようなマップテーブルおよび図２６Ｂに示すような可変長符号化テーブルを用意し、符号化対象マクロブロックの周辺マクロブロックにおけるマクロブロック符号化モードから算出したポイントＰ（Ａ）の大きさに応じて、マップテーブルを切り替えることによって符号化対象マクロブロックにおけるマクロブロック符号化モードの可変長符号化における符号語の割り当てを切り替える。ただし、イントラマクロブロックに対しては２つのポイントが算出されるので、小さい値の方を採用することとする。
具体的には、例えば算出したポイントＰ（Ａ）と各符号化モードに対して定義されたポイントとの差ＤＰを求め、ＤＰが小さい符号化モードほどマップテーブルにおけるインデックス値が小さくなるようにマップテーブルを切り替える。
すなわち、図１３の可変長符号化部１６においてまず入力シンボルＨ１として可変長符号出力部３０にマクロブロック符号化モードが入力される。そして符号化シンボルメモリ３１より、符号化マップテーブル提供部３２に符号化マップテーブル参照情報Ｈ２としてマクロブロックＢおよびマクロブロックＣの符号化モード情報およびＣＢＰが入力される。そして符号化マップテーブル提供部３２にて上記のようにポイントＰ（Ａ）が算出され、それに基づいて符号化マップテーブルが決定され、符号化マップテーブルＨ４が可変長符号出力部３０に提供される。また、可変長符号化テーブル提供部３３より可変長符号化テーブルＨ５が可変長符号出力部３０に提供される。そして、マクロブロック符号化モードが可変長符号化され、符号化データＤ９として出力される。
本発明の第７の実施形態による符号化方法においては、以上のように出現しやすいと類推されるマクロブロック符号化モードがより短い符号長で符号化されるようにマップテーブルを切り替えるように構成したので、マクロブロック符号化モードを効率よく符号化することができる。
図１４は本発明の第７の実施形態による可変長復号部２１のブロック図を示した図である。本発明の第７の実施形態による符号化方法によって符号化された符号化データＤ９が可変長復号部２１の復号シンボル出力部４０に入力されると、既に復号済のシンボルであるマクロブロックＢおよびＣにおけるマクロブロック符号化モードおよびＣＢＰが復号シンボルメモリ４１から復号マップテーブル参照情報Ｈ７として復号マップテーブル提供部４２に入力される。そして、復号マップテーブル提供部４２から復号マップテーブルＨ９が符号化と同様の手続きにて選択されて復号シンボル出力部４０に入力される。また、可変長復号テーブル提供部４３より可変長復号テーブルＨ１０が復号シンボル出力部４０に入力される。そして、復号シンボル出力部４０において可変長復号が成され、復号シンボルＨ６として符号化モードが復号されて出力されると同時に、復号シンボルメモリ４１に記憶される。
上記のように可変長復号部を構成したので、本発明の第７の実施形態による符号化方法によって符号化された符号化データを、好適に復号することができる。
本発明の第７の実施形態においては符号化対象となるマクロブロックの周囲のマクロブロックの符号化情報を利用したマクロブロック符号化モードの好適な符号化方法および復号方法をＭＰＥＧ−４に適用した例を用いて説明したが、もちろん、符号化方法はこれに限定されない。その一例として、Ｈ．２６Ｌ符号化方式に適用した符号化方法を以下に示す。
Ｈ．２６Ｌ符号化方式においては、マクロブロック符号化モードは図２４Ａ〜Ｊに示すように１個のスキップ（Ｓｋｉｐ）モード０と、７個のインターモード１〜７と、２個のイントラモード８、９との１０個の符号化モードが用意されている。
このうち、スキップモード０は、画像の動きが検出されず、動き補償に使用する参照フレームと同位置の画像をコピーするモードである。
また、インターモード１〜７は、それぞれ異なるブロック区分を用いてインターフレーム符号化（フレーム間符号化）を行う場合のモードである。それぞれでの動き補償用ブロックについては、図２４Ａ〜Ｊに示すように、モード１では、１６画素×１６ラインのサイズで１個のブロックが用いられる。モード２では、１６画素×８ラインのサイズで２個のブロックが用いられる。モード３では、８画素×１６ラインのサイズで２個のブロックが用いられる。モード４では、８画素×８ラインのサイズで４個のブロックが用いられる。モード５では、８画素×４ラインのサイズで８個のブロックが用いられる。モード６では、４画素×８ラインのサイズで８個のブロックが用いられる。モード７では、４画素×４ラインのサイズで１６個のブロックが用いられる。
また、イントラモード８、９は、それぞれ異なるブロック区分を用いてイントラフレーム符号化（フレーム内符号化）を行う場合のモードである。それぞれでのブロックについては、図２４Ａ〜Ｊに示すように、モード８では、４画素×４画素のサイズで１６個のブロックが用いられる。モード９では、１６×１６のサイズで１個のブロックが用いられる。
さて、これらの１０個の符号化モードに対して、ＭＰＥＧ−４に適用した例と同様にポイントＰを定義する。例えば、図２７に示すようにポイントを定義する。すなわち、インター符号化モードにおいてはブロック区分数が多いほど動きやテクスチャが複雑であると類推されるため、ブロック区分数が多いほどポイントが大きい値を取るように定義している。また、スキップモードでは動きがないと考えられるため、周囲の動きも無いか小さいことが多いと類推できるため、ポイントが小さい値を取るように定義している。また、イントラ符号化モードにおいても、ブロック区分数が多い場合には動きやテクスチャが複雑であり、符号化対象マクロブロックにおける動きベクトルの予測が当たりにくく、ブロック区分数が少ない場合には、動きやテクスチャは複雑ではない可能性があるが動きベクトルの予測は当たりにくいと予想されるため、モード８ではポイントが大きい値を取るように、モード９ではモード８よりもポイントが小さい値を取るように定義している。これらの値は説明を分かりやすくするために一例としてあげただけであり、本発明はこれらのテーブルの具体的な値に限定されるものではない。
さて、図２７における符号化モードに対するポイントの表を用いて、ＭＰＥＧ−４に適用した例と同様に、符号化対象となるマクロブロックに隣接するマクロブロックＢおよびマクロブロックＣのポイントＰ（Ｂ）およびＰ（Ｃ）を求める。そして、Ｐ（Ｂ）およびＰ（Ｃ）より式（１３）を用いて符号化対象となるマクロブロックに対するポイントＰ（Ａ）が求められる。
以下、同様にＰ（Ａ）の値を参照し、各符号化モードのポイントがポイントＰ（Ａ）の値に近いほどインデックス値が小さくなるようにマップテーブルを切り替えることにより、Ｈ．２６Ｌ符号化方式においても、本発明を適用することができる。
（第８の実施形態）
本発明の第７の実施形態においては、マップテーブルのみを切り替え、可変長符号化テーブルを切り替えなかったが、本発明の第８の実施形態による符号化方法においては、符号化対象となるマクロブロックの周囲のマクロブロックの符号化モードに応じて可変長符号化テーブルを切り替えることにより、より効率のよい符号化を実現することを特徴とする。
さて、図２３に既に示した符号化対象となるマクロブロックＡに隣接するマクロブロックＢとＣにおいて、同程度の複雑さを示す符号化モードが選ばれていた場合には、マクロブロックＡにおいてもマクロブロックＢおよびマクロブロックＣと同程度の複雑さを示す符号化モードが選択される可能性が高いと類推できる。しかし、マクロブロックＢとＣにおいてまったく異なる複雑さを示す符号化モードが選ばれていた場合には、マクロブロックＡにおいてどのような符号化モードが選択されるかを類推できない。そこで、マクロブロックＢおよびＣにおいて選択された符号化モードの複雑度が類似する場合には、インデックス値の小さい符号化モードに対してより短い符号長で符号化するような、符号長の偏りの大きい可変長符号化テーブルを用い、逆にマクロブロックＢおよびＣにおいて選択された符号化モードの複雑度が類似しない場合には、インデックス値の小さい符号化モードでも大きい符号化モードでも符号長に大きな差がでないような、符号長の偏りの少ない可変長符号化テーブルを用いることによって、効率よく符号化モードを可変長符号化することができる。
例えば図２１Ａ〜Ｃ示すように符号長の分布の偏りの特性の異なる可変長符号化テーブルを複数用意し、符号化対象マクロブロックの周辺マクロブロックにおけるポイントＰ（Ｂ）およびＰ（Ｃ）の差の大きさに応じて、符号化対象マクロブロックにおける可変長符号化テーブルを切り替える。
具体的には、例えばＨ．２６Ｌ符号化方式に適用した場合には、本発明の第７の実施形態によるマップテーブルの切り替えを行うと共に、図２７における表よりマクロブロックＢおよびＣに対して求められたポイントＰ（Ｂ）およびＰ（Ｃ）の差分値の絶対値ＰＤを算出する。そして、例えば予め設定した閾値Ｔｈ１およびＴｈ２に対し（Ｔｈ１＜Ｔｈ２）、ＰＤがＴｈ１より小さい場合には符号長の偏りの大きい図２１Ａの可変長符号化テーブルを用い、ＰＤがＴｈ１以上でありかつＴｈ２より小さい場合には図２１Ｂの可変長符号化テーブルを、ＰＤがＴｈ２以上であれば符号長の偏りの小さい図２１Ｃの可変長符号化テーブルを切り替えることによって、マクロブロック符号化モードを効率よく符号化できる。
すなわち、図１３の可変長符号化部１６においてまず入力シンボルＨ１として可変長符号出力部３０にマクロブロック符号化モードが入力される。そして符号化シンボルメモリ３１より、符号化マップテーブル提供部３２に符号化マップテーブル参照情報Ｈ２としてマクロブロックＢおよびマクロブロックＣの符号化モード情報が入力される。また、同様に符号化シンボルメモリ３１より、可変長符号化テーブル提供部３３に可変長符号化テーブル参照情報Ｈ３としてマクロブロックＢおよびマクロブロックＣの符号化モード情報が入力される。そして符号化マップテーブル提供部３２にて上記のようにポイントＰ（Ａ）が算出され、それに基づいて符号化マップテーブルが決定され、符号化マップテーブルＨ４が可変長符号出力部３０に提供される。また、可変長符号化テーブル提供部３３にて上記のようにポイントＰ（Ｂ）とポイントＰ（Ｃ）の差分値の絶対値ＰＤと予め設定した閾値Ｔｈ１およびＴｈ２を比較することにより選択された可変長符号化テーブルＨ５が可変長符号出力部３０に提供される。そして、マクロブロック符号化モードが可変長符号化され、符号化データＤ９として出力される。
また図１４に示した本発明の第８の実施形態による可変長復号部においては、本発明の第８の実施形態による符号化方法によって符号化された符号化データＤ９が可変長復号部２１の復号シンボル出力部４０に入力されると、既に復号済のシンボルであるマクロブロックＢおよびＣにおけるマクロブロック符号化モード情報が復号シンボルメモリ４１から復号マップテーブル参照情報Ｈ７として復号マップテーブル提供部４２に入力される。同様に既に復号済のシンボルであるマクロブロックＢおよびＣにおけるマクロブロック符号化モード情報が復号シンボルメモリ４１から可変長復号テーブル参照情報Ｈ８として可変長復号テーブル提供部４３に入力される。そして、復号マップテーブル提供部４２から復号マップテーブルＨ９が符号化と同様の手続きにて選択されて復号シンボル出力部４０に入力される。また、可変長復号テーブル提供部４３より可変長復号テーブルＨ１０が符号化と同様の手続きにて選択された復号シンボル出力部４０に入力される。そして、復号シンボル出力部４０において可変長復号が成され、復号シンボルＨ６として符号化モードが復号されて出力されると同時に、復号シンボルメモリ４１に記憶される。
上記のように可変長復号部を構成したので、本発明の第８の実施形態による符号化方法によって符号化された符号化データを、好適に復号することができる。
（第９の実施形態）
本発明の第１から第８の実施形態による符号化方法においては、周囲のコンテキストに応じて適応的に符号化マップテーブルあるいは可変長符号化テーブルを切り替えることを特徴としていたが、本発明の第９の実施形態による符号化方法においては、さらに各符号化マップテーブルにおける各インデックス値に対応する符号化情報を過去の符号化結果から学習させることを特徴とする。
図３０は本発明の第９の実施形態による学習機能付き可変長符号化部５０の構成を示すブロック図である。図３０においては、図１３における可変長符号化部１６と同一要素のものには同一符号を付し、重複する説明は省略する。本発明の第９の実施形態による学習機能付き可変長符号化部５０において、フィードバック機能付き可変長符号出力部５１は図１３における可変長符号出力部３０の機能に加え、さらに符号化マップテーブルにおける入力シンボルに対するインデックス値である採用インデックス値Ｈ１１を出力する機能を備えることを特徴としている。また、学習機能付き符号化マップテーブル提供部５２は図１３における符号化マップテーブル提供部３２の機能に加え、さらに採用インデックス値Ｈ１１を入力し、入力シンボルＨ１に対するコンテキストにおけるマップテーブルを更新する機能を備えることを特徴としている。
さて、本発明の第９の実施形態による学習機能付き可変長符号化部５０に入力シンボルＨ１が入力されると、学習機能付き符号化マップテーブル提供部５２は符号化マップテーブル参照情報Ｈ２および過去の学習結果を基に使用するマップテーブルを決定し、使用するマップテーブルＨ４をフィードバック機能付き可変長符号出力部５１に提供する。また、可変長符号化テーブル提供部３３は必要であれば可変長符号化テーブル参照情報Ｈ３を基に使用する可変長符号化テーブルを決定し、使用する可変長符号化テーブルＨ５をフィードバック機能付き可変長符号出力部５１に提供する。フィードバック機能付き可変長符号出力部５１は、こうして得られたマップテーブルおよび可変長符号化テーブルによって入力シンボルＨ１を可変長符号化し、符号化データＤ９を出力すると共に、入力シンボルＨ１に対応するマップテーブルにおけるインデックス値である採用インデックス値Ｈ１１を学習機能付き符号化マップテーブル提供部５２に提供する。学習機能付き符号化マップテーブル提供部５２では、入力された採用インデックス値Ｈ１１を基にして使用したマップテーブルの更新を行い、次回同じコンテキストが選択された場合にはこうして更新されたマップテーブルを使用して符号化が行われる。
次に、具体的な例を示しながらマップテーブルの更新について詳しく説明する。ここでは符号化対象シンボルとしてＨ．２６Ｌにおけるマクロブロックの符号化モードを例にとり、本発明の第７の実施形態に適用した場合について説明する。
Ｈ．２６Ｌにおけるマクロブロックの符号化モードは図２４Ａ〜Ｊに示すように１０通り存在し、本発明の第７の実施形態の一例では図２７に示すようなポイントを定義し、図２３に示す符号化対象マクロブロックＡに隣接するマクロブロックＢおよびＣの符号化モードに対するポイントＰ（Ｂ）およびＰ（Ｃ）から式（１３）によってポイントＰ（Ａ）を求め、ポイントＰ（Ａ）をコンテキストとしてマップテーブルを切り替えていた。
式（１３）より、Ｐ（Ａ）の取りうる値は０から７までの８種類の整数であることは自明である。Ｐ（Ａ）の値ＣＸに応じて生成されるマップテーブルＭＴ（ＣＸ）は８種類であることが自明である。ここで、ＣＸが０から７までの値を取る場合のマップテーブルＭＴ（ＣＸ）を図３１に示す。図３１に示したテーブルにおいて、マップテーブルＭＴ（ＣＸ）において符号化モードＭに対応するインデックス値をＭＴ（ＣＸ，Ｍ）と表すことにする。図３１から分かるように、例えばＰ（Ａ）＝３に対するマップテーブルＭＴ（３，Ｍ）はＭ＝０から９の順に、７、２、０、１、３、４、５、８、９、６のインデックス値を取るよう構成されている。
ここで、コンテキストとしてＰ（Ａ）＝３であり、符号化対象となる符号化モードがモード８であった場合、マップテーブルＭＴ（３）を用いてＭＴ（３，８）に該当するインデックス値９に対応する符号を例えば図９Ｂに示す可変長符号化テーブルによって出力する。ところが、もし、コンテキストＰ（Ａ）＝３が発生した場合に符号化モードとしてモード８が選択される頻度が多い場合には、対応すべきインデックス値をより小さい値にすることによって、短い符号をモード８に割り当てるべきである。
従って、例えばＭＴ（３）においてモード８が選択される回数Ｃ（３，８）をカウントし、その回数が予め設定した閾値Ｔｈ９より大きくなった場合には、モード８に対応するインデックス値ＭＴ（３，８）を、ＭＴ（３，８）の次に小さいインデックス値を持つＭＴ（３，７）と入れ替える。また、モード８に対応する選択回数Ｃ（３，８）をリセットして０にする。このように、選択回数が多いモードはインデックス値が小さくなるよう制御し、各マップテーブルごとに独立してマップテーブルを更新していくことによって、各コンテキストに応じてそれぞれのマップテーブルを最適化することができる。
ここで説明したマップテーブルの更新方法はほんの一例に過ぎないが、このようにコンテキストごとにマップテーブルの最適化を行えば、より符号化条件や画像の性質に応じて効率のよい可変長符号化を行うことができる。
図３２は本発明の第９の実施形態による学習機能付き可変長復号部６０の構成を示すブロック図である。図３２においては、図１４における可変長復号部２１と同一要素のものには同一符号を付し、重複する説明は省略する。本発明の第９の実施形態による学習機能付き可変長復号部６０において、フィードバック機能付き復号シンボル出力部６１は図１４における復号シンボル出力部４０の機能に加え、さらに復号マップテーブルにおける出力シンボルに対するインデックス値である使用インデックス値Ｈ１２を出力する機能を備えることを特徴としている。また、学習機能付き復号マップテーブル提供部６２は図１４における復号マップテーブル提供部４２の機能に加え、さらに使用インデックス値Ｈ１２を入力し、出力シンボルＨ６に対するコンテキストにおけるマップテーブルを更新する機能を備えることを特徴としている。
このように構成した本発明の第９の実施形態による学習機能付き可変長復号部６０において学習の過程を本発明の第９の実施形態による学習の過程と同一にすることによって、本発明の第９の実施形態による符号化方法によって符号化された符号化データを好適に復号することができる。
なお、本発明の第９の実施形態においてはＨ．２６Ｌ符号化方式におけるマクロブロックの符号化モードを例にして学習の過程を説明したが、もちろんこれに限らずあらゆる符号化シンボルに対しても適用でき、その結果として好適な符号化方法ならびに復号方法を提供することができる。
また、本発明の第９の実施形態においては本発明の第７の実施形態によるマップテーブルの切り替え方法を用いて説明したが、もちろんこれに限らずコンテキストに基づいてシンボルに割り当てる符号語を選択する手段をもつあらゆる符号化方法ならびに復号方法に本発明を適用でき、その結果として好適な符号化方法ならびに復号方法を提供することができる。
（第１０の実施形態）
次に、本発明の第１０の実施形態による符号化方法について説明する。本発明の第５の実施形態による符号化方法においては、符号化対象となるマクロブロックの動きベクトル差分値ＭＶＤを動きベクトル情報Ｄ２として符号化する際に周囲のマクロブロックにおける動きベクトル差分値を参照して可変長符号化テーブルを切り替えるように構成したが、本発明の第１０の実施形態による符号化方法においては、周辺マクロブロックにおける動きベクトルを参照して可変長符号化テーブルを切り替えることを特徴とする。
すなわち、前述したように動きベクトル情報Ｄ２は、例えばＭＰＥＧ−４における符号化では、符号化対象となるマクロブロックの動きベクトルに対して、周辺マクロブロックにおける動きベクトルの中間値が予測値として生成され、該予測値と実際の動きベクトルとの差分値ＭＶＤを符号化するが、周辺マクロブロックにおける動きベクトルが互いに同じような値になる場合には動きベクトルの予測値が信頼できる値であると考えられるため、動きベクトル差分値ＭＶＤは０近傍に集中する可能性が高くなる。従ってこのような場合には、０近傍の符号長が短くなるような可変長符号化テーブルを用いることによって効率よく符号化できる。逆に、周辺マクロブロックにおける動きベクトルが互いに大きく異なる値になる場合には動きベクトル予測値が信頼できない値であると考えられるため、動きベクトル差分値ＭＶＤは０近傍に集中するとは限らない。したがって、このような場合には、動きベクトル差分値の絶対値が大きい値でも小さい値でも符号長にあまり差がないような可変長符号化テーブルを用いることによって効率よく符号化することができる。
これらのことを念頭におき、本発明の第１０の実施形態においては、例えば図２１Ａ〜Ｃに示すように符号長の分布の偏りの特性の異なる可変長符号化テーブルを複数用意し、符号化対象マクロブロックの周辺マクロブロックにおける各動きベクトル同士の絶対差分和の大きさに応じて、符号化対象マクロブロックにおける動きベクトル差分値に対する可変長符号化テーブルを切り替える。
具体的には、例えば図３３に示した符号化対象マクロブロックＡの周辺マクロブロックとして上に隣接するマクロブロックＢおよび左に隣接するマクロブロックＣおよび右上にあるマクロブロックＤにおける動きベクトルをＭＶ（Ｂ）およびＭＶ（Ｃ）およびＭＶ（Ｄ）とする。予め設定した閾値Ｔｈ１０、Ｔｈ１１に対し（ただしＴｈ１０＜Ｔｈ１１とする）、それぞれの動きベクトルの絶対差分和としてＳ＝｜ＭＶ（Ｂ）−ＭＶＤ（Ｃ）｜＋｜ＭＶ（Ｃ）−ＭＶ（Ｄ）｜の値がＴｈ１０より小さければ、マクロブロックＡにおける動きベクトル差分値の可変長符号化テーブルとして図２１Ａのテーブルを、ＳがＴｈ１０以上でありかつＴｈ１１より小さければ図２１Ｂのテーブルを、ＳがＴｈ１１以上であれば図２１Ｃのテーブルを用いて可変長符号化を行うように構成する。ただし、マクロブロックＢもしくはマクロブロックＣもしくはマクロブロックＤが画面外かスライス外に存在する場合またはイントラ符号化されたマクロブロックである場合には、そのマクロブロックの動きベクトルとの絶対差分値は予め設定しておいた値Ｚ１０（Ｚ１０≧Ｔｈ１０）であるとして処理する。これは、動きベクトル予測値を生成するためのマクロブロックが画面外かスライス外またはイントラ符号化されているのであれば、動きベクトルの予測値が当たりにくく、符号化対象の動きベクトル差分値の取りうる値が０近傍に集中するとは限らないためである。
すなわち、図１３の可変長符号化部１６においてまず入力シンボルＨ１として可変長符号出力部３０に動きベクトル差分値ＭＶＤが入力される。そして符号化シンボルメモリ３１より、可変長符号化テーブル提供部３３に可変長符号化テーブル参照情報Ｈ３としてＭＶ（Ｂ）、ＭＶ（Ｃ）およびＭＶ（Ｄ）が入力される。そして、可変長符号化テーブル提供部３３にて上記のようにＭＶ（Ｂ）、ＭＶ（Ｃ）およびＭＶ（Ｄ）の絶対差分和Ｓが予め設定しておいた閾値Ｔｈ１０およびＴｈ１１と比較され、それに基づいて符号化対象動きベクトルに対して用いる可変長符号化テーブルが決定され、可変長符号化テーブルＨ５が可変長符号出力部３０に提供される。そして、符号化対象動きベクトルは可変長符号化され、符号化データＤ９として出力される。
本発明の第１０の実施形態による符号化方法においては、以上のようにＭＶＤ値が０近傍に集中しやすい場合には、０近傍の符号長が短い可変長符号化テーブルに切り替えることによってＭＶＤ値が０近傍であった場合の符号長が短くなるように制御し、ＭＶＤ値の予測が０近傍に集中するとは限らない場合には符号長の偏りの小さいテーブルに切り替えることによってＭＶＤ値が大きな値であっても符号長が長くならないよう構成したので、ＭＶＤ値を効率よく符号化することができる。
なお、図２１Ａ〜Ｃでは３つの可変長符号化テーブルを用いて説明したが、もちろん可変長符号化テーブルの個数やその値は図２１Ａ〜Ｃに限定されるものではない。また、複数の可変長符号化テーブルを可変長符号化テーブル提供部３３内のメモリに保持しておき、可変長符号化テーブルＨ３の提供を切り替えることによって実現しても、例として示したｅｘｐ−Ｇｏｌｏｍｂ符号などのＵｎｉｖｅｒｓａｌ符号を用いてそのパラメータを切り替えることによって可変長符号化テーブル提供部３３内で可変長符号化テーブルＨ３を生成することによって実現してもよい。
図１４は本発明の第１０の実施形態による可変長復号部２１のブロック図を示した図である。本発明の第１０の実施形態による符号化方法によって符号化された符号化データＤ９が可変長復号部２１の復号シンボル出力部４０に入力されると、既に復号済のシンボルより算出されたＭＶ（Ｂ）、ＭＶ（Ｃ）およびＭＶ（Ｄ）が復号シンボルメモリ４１から可変長復号テーブル参照情報Ｈ８として可変長復号テーブル提供部４２に入力される。そして、可変長復号テーブル提供部４３から可変長復号テーブルＨ１０が符号化と同様の手続きにて選択されて復号シンボル出力部４０に入力される。そして、復号シンボル出力部４０において可変長復号が成され、復号シンボルＨ６として動きベクトルが復号されて出力されると同時に、復号シンボルメモリ４１に記憶される。
上記のように可変長復号部を構成したので、本発明の第１０の実施形態による符号化方法によって符号化された符号化データを、好適に復号することができる。
（第１１の実施形態）
次に、本発明の第１１の実施形態による符号化方法について説明する。本発明の第４の実施形態による符号化方法においては、ブロック内の非零係数数ＣＣを符号化する際に可変長符号化テーブルを切り替えることを行わなかったが、本発明の第１１の実施形態による符号化方法においては、非零係数数ＣＣを符号化する際に周囲のブロックにおける非零係数数を参照して可変長符号化テーブルを切り替えることを特徴とする。
すなわち、前述したように画面内のある地点における画像の特徴はその近傍領域における画像の特徴に類似する傾向があるため、あるブロックにおける非零係数数は近傍ブロックにおける非零係数数に近い値を取る可能性が高い。従って、符号化対象となるブロックの周辺ブロックにおける非零係数数が０に近い値である場合には、符号化対象となるブロックにおける非零係数数ＣＣも０に近い値である可能性が高くなる。従ってこのような場合には、０近傍の符号長が短くなるような可変長符号化テーブルを用いることによって効率よく符号化できる。逆に、周辺ブロックにおける非零係数数が０に近くない値である場合には、符号化対象となるブロックにおける非零係数数ＣＣは０近傍に集中するとは限らない。したがって、このような場合には、非零係数数ＣＣの値が大きい値でも小さい値でも符号長にあまり差がないような可変長符号テーブルを用いることによって効率よく符号化することができる。
これらのことを念頭におき、本発明の第１１の実施形態においては、例えば図２１Ａ〜Ｃに示すように符号長の分布の偏りの特性の異なる可変長符号化テーブルを複数用意し、符号化対象ブロックの周辺ブロックにおける各非零係数数の値の平均値に応じて、符号化対象ブロックにおける非零係数数ＣＣに対する可変長符号化テーブルを切り替える。
具体的には、例えば図２３に示した符号化対象ブロックＡの周辺ブロックとして上に隣接するブロックＢおよび左に隣接するブロックＣにおける非零係数数をＣＣ（Ｂ）およびＣＣ（Ｃ）とする。予め設定した閾値Ｔｈ１２、Ｔｈ１３に対し（ただしＴｈ１２＜Ｔｈ１３とする）、それぞれのブロックにおける非零係数数の平均値としてＭＣ＝（ＣＣ（Ｂ）＋ＣＣ（Ｃ））／２の値がＴｈ１２より小さければ、ブロックＡにおける非零係数数ＣＣ（Ａ）の可変長符号化テーブルとして図２１Ａのテーブルを、ＭＣがＴｈ１２以上でありかつＴｈ１３より小さければ図２１Ｂのテーブルを、ＭＣがＴｈ１３以上であれば図２１Ｃのテーブルを用いて可変長符号化を行うように構成する。ただし、ブロックＢもしくはブロックＣが画面外かスライス外に存在する場合には、そのブロックの非零係数数は予め設定しておいた値Ｚ１１（Ｚ１１≧Ｔｈ１２）であるとして処理する。これは、隣接ブロックが画面外かスライス外またはイントラ符号化されているのであれば、符号化対象の非零係数数の取りうる値が予想しにくいため、０近傍に集中するとは限らないためである。
すなわち、図１３の可変長符号化部１６においてまず入力シンボルＨ１として可変長符号出力部３０に非零係数数ＣＣが入力される。そして符号化シンボルメモリ３１より、可変長符号化テーブル提供部３３に可変長符号化テーブル参照情報Ｈ３としてＣＣ（Ｂ）およびＣＣ（Ｃ）が入力される。そして、可変長符号化テーブル提供部３３にて上記のようにＣＣ（Ｂ）およびＣＣ（Ｃ）の平均値ＭＣが予め設定しておいた閾値Ｔｈ１２およびＴｈ１３と比較され、それに基づいて符号化対象非零係数数に対して用いる可変長符号化テーブルが決定され、可変長符号化テーブルＨ５が可変長符号出力部３０に提供される。そして、符号化対象動きベクトルは可変長符号化され、符号化データＤ９として出力される。
本発明の第１１の実施形態による符号化方法においては、以上のように非零係数数ＣＣが０近傍に集中しやすい場合には、０近傍の符号長が短い可変長符号化テーブルに切り替えることによって非零係数数ＣＣが０近傍であった場合の符号長が短くなるように制御し、非零係数数ＣＣの予測が０近傍に集中するとは限らない場合には符号長の偏りの小さいテーブルに切り替えることによって非零係数数ＣＣが大きな値であっても符号長が長くならないよう構成したので、非零係数数ＣＣを効率よく符号化することができる。
なお、図２１Ａ〜Ｃでは３つの可変長符号化テーブルを用いて説明したが、もちろん可変長符号化テーブルの個数やその値は図２１Ａ〜Ｃに限定されるものではない。また、複数の可変長符号化テーブルを可変長符号化テーブル提供部３３内のメモリに保持しておき、可変長符号化テーブルＨ３の提供を切り替えることによって実現しても、例として示したｅｘｐ−Ｇｏｌｏｍｂ符号などのＵｎｉｖｅｒｓａｌ符号を用いてそのパラメータを切り替えることによって可変長符号化テーブル提供部３３内で可変長符号化テーブルＨ３を生成することによって実現してもよい。
図１４は本発明の第１１の実施形態による可変長復号部２１のブロック図を示した図である。本発明の第１１の実施形態による符号化方法によって符号化された符号化データＤ９が可変長復号部２１の復号シンボル出力部４０に入力されると、既に復号済のシンボルより算出されたＣＣ（Ｂ）およびＣＣ（Ｃ）が復号シンボルメモリ４１から可変長復号テーブル参照情報Ｈ８として可変長復号テーブル提供部４２に入力される。そして、可変長復号テーブル提供部４３から可変長復号テーブルＨ１０が符号化と同様の手続きにて選択されて復号シンボル出力部４０に入力される。そして、復号シンボル出力部４０において可変長復号が成され、復号シンボルＨ６として非零係数数ＣＣが復号されて出力されると同時に、復号シンボルメモリ４１に記憶される。
（第１２の実施形態）
まず、図２２Ａ〜Ｄを参照して、本発明の第１２の実施形態による符号化方法における画像データである直交変換係数の可変長符号化の手順について説明する。ここでは、空間画像データを周波数画像データへと変換する直交変換としては、離散コサイン変換（ＤＣＴ：Ｄｉｓｃｒｅｔｅ  Ｃｏｓｉｎｅ  Ｔｒａｎｓｆｏｒｍ）を想定する。図２２Ａは、図４Ｂに示した８画素×８ラインの直交変換係数ｆ１１〜ｆ８８に量子化処理を加えた量子化直交変換係数ｑ１１〜ｑ８８の具体的な一数値例を示している。画像符号化装置の可変長符号化部では、このような量子化直交変換係数に対して所定の処理手順で可変長符号化を行って、符号化データを生成する。
係数ｑｉｊの添字の値ｉ、ｊが対応する垂直周波数、水平周波数をそれぞれ表している量子化直交変換係数ｑ１１〜ｑ８８においては、空間画像データでの画像成分ａ１１〜ａ８８（図４Ａ参照）とは異なり、各量子化直交変換係数が、その係数値の大きさなどについて、対応する空間周波数の値に依存したデータ特性を有している。一般に、自然画像においては、低周波域で絶対値の大きい直交変換の係数値が得られ、高周波数になるにしたがって係数値の絶対値は小さくなる。この分布は零をピークにもつラプラス分布により近似することができる。また、そのとき各ブロック内の各画素の濃度の変化が激しいほど変換係数の分布の広がりも大きくなり、係数の平均振幅値が増大する。
量子化直交変換係数の可変長符号化の処理手順においては、まず、２次元データである量子化直交変換係数ｑ１１〜ｑ８８が、例えば図２２Ｂに示すジグザグ・スキャンによって、１次元データへと変換される。このジグザグ・スキャンでは、スキャン後の１次元データが低周波数域から高周波数域へと移行していくデータ列となるように、量子化直交変換係数がスキャンされる。これにより、低周波数域から高周波数域へと量子化直交変換係数が並ぶ、図２２Ｃに示す１次元データが得られる。
この量子化直交変換係数の１次元データは、そのデータ量を低減するため、さらに、図２２Ｄに示すＬｅｖｅｌ（レベル）及びＲｕｎ（ラン）からなるデータへと変換される。ここで、Ｌｅｖｅｌは、複数の量子化直交変換係数のうちで非零係数値を持つ量子化直交変換係数での係数値を示す。また、Ｒｕｎは、０でない量子化直交変換係数の直前にある係数値が０のデータの数であるゼロラン長を示す。
例えば、図２２Ａに示したＤＣＴ係数のデータ例では、図２２Ｃに示すように、６４個のＤＣＴ係数ｑ１１〜ｑ８８が、０でない係数値を持つＤＣＴ係数の出現位置に基づいて、係数ｑ１１からなる係数群Ｓ１、係数ｑ１２、ｑ２１からなる係数群Ｓ２、係数ｑ３１〜ｑ１３からなる係数群Ｓ３、係数ｑ１４〜ｑ３２からなる係数群Ｓ４、係数ｑ４１〜ｑ１５からなる係数群Ｓ５、及び係数ｑ１６〜ｑ８８からなる係数群Ｓ６へと区分される。
そして、これらの係数群ｓｉ（ｉ＝１〜６）対して、図２２Ｄに示すように、それぞれＬｅｖｅｌ値Ｌｉ及びＲｕｎ値Ｒｉが求められる。具体的には、係数群Ｓ１では、Ｌ１＝ｑ１１＝１０、Ｒ１＝０である。また、係数群Ｓ２では、Ｌ２＝ｑ２１＝−２、Ｒ２＝１である。また、係数群Ｓ３では、Ｌ３＝ｑ１３＝２、Ｒ３＝２である。また、係数群Ｓ４では、Ｌ４＝ｑ３２＝−１、Ｒ４＝２である。また、係数群Ｓ５では、Ｌ５＝ｑ１５＝１、Ｒ５＝５である。また、最後の係数群Ｓ６は、全ての係数ｑ１６〜ｑ８８の係数値が０となっている係数群であり、Ｌ６＝０、Ｒ６は未定義であるが、便宜上、０として扱うことにする。
さて、図２２Ｄに示したＬｅｖｅｌ及びＲｕｎからなるデータより、該符号化対象ブロックにおける非零係数数ＣＣおよびＲｕｎ合計値ＲＴを算出する。例えば、具体的には図２２Ｄより非零係数数ＣＣ＝５、Ｒｕｎ合計値ＲＴ＝１０となる。
ここで、係数群ＳｉのＲｕｎ値をＲｉ、Ｌｅｖｅｌ値をＬｉ、スキャン後の非零係数の周波数位置をＰｉ、直前に符号化したＳｉ＋１のＬｅｖｅｌ値をＬｉ＋１とする。また、該符号化対象ブロックにおけるＲｕｎ合計値をＲＴ、非零係数数をＣＣとし、係数群ＳｉにおけるＲｕｎ合計値残をＲＴｉ、非零係数残数をＣＣｉとする。ＲＴｉおよびＣＣｉは次に示す式（１）および式（２）によって、Ｐｉは次式（３）によって算出される。ただし、最後の係数群Ｓｊに対する非零係数残数は、便宜上、ＣＣｊ＝ＣＣ＋１とする。
式（１）：  ＲＴｉ＝ＲＴｉ＋１−Ｒｉ＋１
式（２）：  ＣＣｉ＝ＣＣｉ＋１−１
式（３）：  Ｐｉ＝ＲＴｉ＋ＣＣｉ
ここで、これらの係数群および非零係数数ＣＣやＲｕｎ合計値ＲＴの符号化を行う際に用いる可変長符号化テーブルの一例を図３４Ｂに示す。この可変長符号化テーブルの左側の項はインデックス値を表し、中央はインデックス値に対応する可変長符号を表し、右側は可変長符号それぞれの符号長を表している。
図１３は本発明の第１２の実施形態による可変長符号化部１６のブロック図を示した図である。まず入力シンボルＨ１として非零係数数ＣＣおよびＲｕｎ合計値ＲＴが可変長符号出力部３０に入力される。可変長符号化テーブル提供部３３は入力シンボルＨ１に対応する可変長符号化テーブルとして、例えば図３４Ｂに示すような可変長符号化テーブルＨ５を可変長符号出力部３０に提供し、入力シンボルＨ１は可変長符号化テーブルＨ５を用いて符号化される。すなわち、非零係数数ＣＣの値から１引いた値をインデックス値として対応する可変長符号を符号化データＤ９として出力する。また同様にＲｕｎ合計値ＲＴの値をインデックス値として対応する可変長符号を、符号化データＤ９として出力する。
次に、高周波側の係数群より順に符号化を行う。ただし、全ての係数値が０となっている係数群については符号化しない。まず、すべての係数群のＲｕｎ値Ｒｉが入力シンボルＨ１として可変長符号出力部３０に入力されると、Ｒｕｎ値Ｒｉをインデックスとして同様に可変長符号化テーブルを用いて符号化され、符号化データＤ９として出力される。
次に、Ｌｅｖｅｌ値の符号化を高周波側の係数群から順に全ての非零Ｌｅｖｅｌ値に対して行う。前述したようにＤＣＴにおいて直交変換係数は高周波数になるにしたがってＬｅｖｅｌ値の絶対値が小さくなり、この分布は零をピークにもつラプラス分布により近似することができる。従って、符号化対象となっているＬｅｖｅｌ値の絶対値は、該符号化対象となっている係数の直前に符号化したＬｅｖｅｌ値の絶対値より類推することができる。つまり、周波数軸上で高周波側から順に符号化を行うため、符号化対象Ｌｅｖｅｌ値が１つ高周波側の係数群におけるＬｅｖｅｌ値に周波数軸上で近い位置にあるため、符号化対象Ｌｅｖｅｌ値の絶対値は１つ高周波側の係数群におけるＬｅｖｅｌ値の絶対値と同程度の値を取る可能性が高いと類推することができる。以上のことから、符号化対象Ｌｅｖｅｌ値の１つ高周波側の係数群におけるＬｅｖｅｌ値の絶対値によってコンテキストを生成し、該コンテキストに基づいて可変長符号化テーブルにおけるインデックス値とＬｅｖｅｌ値の絶対値を関連付けるためのマップテーブルを切り替えることによって符号化効率を高めることができる。
ここで、該符号化対象Ｌｅｖｅｌ値の絶対値を｜Ｌｉ｜、正負を示す符号をｓｉｇｎ（Ｌｉ）、１つ高周波側の係数群Ｓｉ＋１におけるＬｅｖｅｌ値の絶対値を｜Ｌｉ＋１｜とする。まず、符号化マップテーブル提供部３２には符号化シンボルメモリ３１より符号化マップテーブル参照情報Ｈ２として｜Ｌｉ＋１｜が入力され、｜Ｌｉ｜は｜Ｌｉ＋１｜に近い値をとるものと類推されることから、｜Ｌｉ＋１｜が最も短い可変長符号となるインデックス値に対応し、つづいて｜Ｌｉ＋１｜−１および｜Ｌｉ＋１｜＋１が次に短い可変長符号となるインデックス値に対応するよう、同様に｜Ｌｉ＋１｜に近いほど短い可変長符号となるインデックス値に対応するようにマップテーブルＨ４を作成する。
すなわち具体的には、図２２Ｃに示した係数群Ｓ５に対してはＳ６のＬｅｖｅｌ値の絶対値である「０」に近いほどインデックス値が小さくなるよう図３４Ａに示すようなマップテーブルを構成する。同様に係数群Ｓ４に対してはＳ５のＬｅｖｅｌ値の絶対値である「１」に近いほどインデックス値が小さくなるよう図３４Ａに示すようなマップテーブルを構成する。係数群Ｓ３に対してはＳ４のＬｅｖｅｌ値の絶対値である「１」に近いほどインデックス値が小さくなるよう図３４Ａに示すようなマップテーブルを構成する。係数群Ｓ２に対してはＳ３のＬｅｖｅｌ値の絶対値である「２」に近いほどインデックス値が小さくなるよう図３５Ａに示すようなマップテーブルを構成する。係数群Ｓ１に対してはＳ２のＬｅｖｅｌ値の絶対値である「２」に近いほどインデックス値が小さくなるよう図３５Ａに示すようなマップテーブルを構成する。
このようにマップテーブルＨ４を生成し、それぞれに対応するＬｅｖｅｌ値の絶対値をインデックス値として可変長符号化テーブルＨ５を用いて可変長符号出力部３０において可変長符号化を行い、それぞれの可変長符号につづいて正負を示す符号を正の場合には「０」、負の場合は「１」で表される１ビットによって符号化する。つまり、可変長符号出力部３０に入力シンボルとしてＬｅｖｅｌ値Ｌｉが入力されると、符号化マップテーブル提供部３２には符号化シンボルメモリ３１より符号化マップテーブル参照情報Ｈ２として｜Ｌｉ＋１｜が入力され、対応する符号化マップテーブルＨ４が可変長符号出力部３０に提供されると同時に、可変長符号化テーブル提供部３３より可変長符号化テーブルＨ５が可変長符号出力部３０に提供され、入力シンボルＨ１が可変長符号化されて符号化データＤ９が出力される。
図２２Ｃに示した具体例の係数列を本発明の第１２の実施形態による符号化を行った場合のＬｅｖｅｌ値の符号化結果と、従来のマップテーブルを切り替えない場合の符号化結果を図３５Ｂに示す。
本発明の第１２の実施形態による符号化方法おいては、符号化対象係数に対して周波数軸上で近傍にあるＬｅｖｅｌ値を参照して、符号化対象Ｌｅｖｅｌ値として発生する可能性の高い値が短い可変長符号に割り当てられるようマップテーブルを切り替えて可変長符号化するよう構成したので、Ｌｅｖｅｌ値を効率よく符号化することができる。
なお、本発明の第１２の実施形態による符号化方法において、Ｒｕｎ値の符号化をＬｅｖｅｌ値の前に行うよう記述したが、もちろん本発明はＲｕｎ値をＬｅｖｅｌ値の後に符号化してもＲｕｎ値とＬｅｖｅｌ値を交互に符号化しても適用することができる。
図３６は本発明の第１２の実施形態による可変長復号部２１のブロック図を示した図である。本発明の第１２の実施形態による符号化方法によって符号化された符号化データＤ９が可変長復号部２１の復号シンボル出力部４０に入力されると、既に復号済のシンボル｜Ｌｉ＋１｜が復号シンボルメモリ４１から復号マップテーブル参照情報Ｈ７として復号マップテーブル提供部４２に入力される。そして、復号マップテーブル提供部４２から復号マップテーブルＨ９が符号化と同様の手続きにて選択されて復号シンボル出力部４０に入力され、可変長復号テーブル提供部４３からは可変長復号テーブルＨ１０が復号シンボル出力部４０に入力される。そして、復号シンボル出力部４０において可変長復号が成され、復号シンボルＨ６としてＬｅｖｅｌ値が復号されて出力されると同時に、復号シンボルメモリ４１に記憶される。
上記のように可変長復号部を構成したので、本発明の第１２の実施形態による符号化方法によって符号化された符号化データは、好適に復号することができる。
なお、本発明の第１２の実施形態においては、Ｌｅｖｅｌ値をＤＣＴ係数の高周波成分から順に符号化するよう構成したが、その際にはＬｅｖｅｌ値の高周波成分の絶対値が「１」となる可能性が高くなるため、高周波側から「１」の連続する数をＬｅｖｅｌ値のマップテーブルに加えることによってさらに好適な符号化及び復号を実現することができる。そのマップテーブルの一例を図３６に示す。
（第１３の実施形態）
本発明の第１２の実施形態による符号化方法に加え、本発明の第１３の実施形態による符号化方法においては、Ｌｅｖｅｌ値の符号化を行う際に、該符号化対象係数群におけるＲｕｎ値を用いてマップテーブルを切り替えることを特徴とする。従って本発明の第１３の実施形態による符号化方法においては、符号化対象となるＬｅｖｅｌ値の前に該符号化対象係数群におけるＲｕｎ値が符号化されるように構成する。つまり本発明の第１３の実施形態による符号化方法においては、図１３に示した可変長符号化部１６において、符号化シンボルメモリ３１より符号化マップテーブル参照情報Ｈ２としてＬｅｖｅｌ値｜Ｌｉ＋１｜に加えてＲｕｎ値が符号化マップテーブル提供部３２に入力される。すなわち、例えばＲｕｎ値が大きい場合には、符号化対象係数はラプラス分布において裾野に位置すると考えられるため、出現するＬｅｖｅｌ値は小さい値であると考えられる。そこで、例えば予め閾値Ｔｈ０を設定しておき、Ｒｕｎ値が閾値Ｔｈ０より大きい場合にはＬｅｖｅｌ値に対するマップテーブルはＬｅｖｅｌ値が小さければ小さいほどイレデックス値が小さくなるように構成されたマップテーブルを用いるよう制御する。その他の動作は本発明の第１２の実施形態による符号化方法と同じである。
以上のように構成したので、本発明の第１３の形態による符号化方法では、Ｒｕｎ値が大きい場合にはＬｅｖｅｌ値が小さくなる可能性が高いので、Ｒｕｎ値が大きい場合には出現しやすい小さいＬｅｖｅｌ値を短い符号長で符号化できるため、Ｌｅｖｅｌ値を効率よく符号化することができる。
また、本発明の第１３の実施形態による符号化方法と同様の手続にて符号化マップテーブル（復号マップテーブル）の切り替えを行い、本発明の第１２の実施形態による復号方法と同様の処理を行うことによって、本発明の第１３の実施形態による復号方法が実現する。本発明の第１３の実施形態による復号方法によって、本発明の第１３の実施形態による符号化方法によって符号化された符号化データを好適に復号することができる。
（第１４の実施形態）
本発明の第１２および第１３の実施形態による符号化方法に加え、本発明の第１４の実施形態による符号化方法においては、さらに符号化対象係数群におけるＬｅｖｅｌ値の符号化を行う際に、該符号化対象係数群における周波数位置Ｐを用いて可変長符号化テーブルを切り替えることを特徴とする。従って本発明の第１４の実施形態による符号化方法においては、符号化対象となるＬｅｖｅｌ値の前に該符号化対象係数群におけるＲｕｎ値が符号化されるように構成する。
すなわち、例えば周波数位置Ｐが大きければ大きいほど、符号化対象係数はラプラス分布において裾野の方であると考えられるため、出現するＬｅｖｅｌ値は１つ高周波側の係数群におけるＬｅｖｅｌ値に近い値である可能性が高いと類推できる。また、周波数位置Ｐが小さければ小さいほど、符号化対象係数はラプラス分布において頂に近いと考えられるため、出現するＬｅｖｅｌ値は１つ高周波側の係数群におけるＬｅｖｅｌ値からの類推精度が低下する。そこで、例えば図２１Ａ〜Ｃに示すように複数の可変長符号化テーブルを用意しておき、これらを適応的に切り替えるよう制御する。一例として図２１Ａ〜Ｃに示した複数の可変長符号化テーブルはｅｘｐ−Ｇｏｌｏｍｂ符号と呼ばれ、以下のように構成される。すなわち、ｊ＋１ビットのＵｎａｒｙパートに対して、ｋ＋ｊビットのＢｉｎａｒｙパートを追加することによって符号を構成する（ｊ＝０，１，…）。すなわち、ｊはその符号におけるＵｎａｒｙパートの「０」の個数に、またｋは０番目の符号におけるＢｉｎａｒｙパートの符号長に等しい。図２１Ａはｋ＝０の場合、図２１Ｂはｋ＝１の場合、図２１Ｃはｋ＝２の場合のｅｘｐ−Ｇｏｌｏｍｂ符号である。図から自明であるように、ｋの値が大きいほど符号長の分布の偏りが小さくなる傾向がある。
さて、このように符号長の分布の偏りの特性の異なる可変長符号化テーブルを複数用意し、該符号化対象係数群における周波数位置Ｐに従って該符号化対象Ｌｅｖｅｌ値に対する可変長符号化テーブルを切り替える。すなわち、周波数位置Ｐが大きい場合には図２１Ａに示すように、符号長の偏りが大きいテーブルを用いるよう制御し、周波数位置が小さい場合には図２１Ｃに示すように、符号長の偏りが小さいテーブルを用いるよう制御する。
具体的には例えば、予め閾値Ｔｈ１およびＴｈ２を設定しておき（ただしＴｈ１＞Ｔｈ２）、符号化対象となっている係数群Ｓｉにおける周波数位置Ｐｉが閾値Ｔｈ１より大きい場合には図２１Ａの可変長符号化テーブルを、Ｐｉが閾値Ｔｈ１以下でありＴｈ２より大きい場合には図２１Ｂの可変長符号化テーブルを、Ｐｉが閾値Ｔｈ２より小さい場合には図２１Ｃの可変長符号化テーブルを用いるように切り替える。
すなわち、図１３の可変長符号化部１６において、可変長符号出力部３０に入力シンボルＨ１としてＬｅｖｅｌ値が入力されると、符号化シンボルメモリ３１において算出された符号化対象係数群Ｓｉにおける周波数位置Ｐｉが可変長符号化テーブル参照情報Ｈ３として入力され、可変長符号化テーブル提供部３３は可変長符号化テーブル参照情報Ｈ３に基づいて上記の制御手法によって選ばれる可変長符号化テーブルＨ５を可変長符号出力部３０に提供する。他の動作は本発明の第１２および第１３の実施形態と同様である。
本発明の第１４の実施形態による符号化方法においては、以上のようにＬｅｖｅｌ値の予測が当たりやすい場合には符号長の偏りの大きいテーブルに切り替えることによって予測が当たった場合の符号長が短くなるように制御し、Ｌｅｖｅｌ値の予測が当たりにくい場合には符号長の偏りの小さいテーブルに切り替えることによって予測が当たらない場合の符号長が長くならないよう構成したので、Ｌｅｖｅｌ値を効率よく符号化することができる。
なお、図２１Ａ〜Ｃでは３つの可変長符号化テーブルを用いて説明したが、もちろん可変長符号化テーブルの個数やその値は図２１Ａ〜Ｃに限定されるものではない。また、複数の可変長符号化テーブルを可変長符号化テーブル提供部３２内のメモリに保持しておき、可変長符号化テーブルＨ５の提供を切り替えることによって実現しても、例として示したｅｘｐ−Ｇｏｌｏｍｂ符号などのＵｎｉｖｅｒｓａｌ符号を用いてそのパラメータを切り替えることによって可変長符号化テーブル提供部３２内で可変長符号化テーブルＨ５を生成することによって実現してもよい。
また、本発明の第１４の実施形態による符号化方法と同様の手続にて符号化マップテーブル（復号マップテーブル）の切り替えを行い、本発明の第１２の実施形態による復号方法と同様の処理を行うことによって、本発明の第１４の実施形態による復号方法が実現する。本発明の第１４の実施形態による復号方法によって、本発明の第１４の実施形態による符号化方法によって符号化された符号化データを好適に復号することができる。
（第１５の実施形態）
本発明の第１２から第１４の実施形態による符号化方法に加え、本発明の第１５の実施形態による符号化方法においては、さらに符号化対象係数群におけるＬｅｖｅｌ値の符号化を行う際に、該符号化対象係数群の１つ高周波側の係数群におけるＬｅｖｅｌ値の絶対値を用いて可変長符号化テーブルを切り替えることを特徴とする。
すなわち、例えば１つ高周波側の係数群におけるＬｅｖｅｌ値の絶対値が大きければ、該符号化対象係数群におけるＬｅｖｅｌ値は予測し難くなる。逆に１つ高周波側の係数群におけるＬｅｖｅｌ値の絶対値が小さければ、該符号化対象係数群におけるＬｅｖｅｌ値に対する予測は当たりやすい。そこで、本発明の第１４の実施形態による符号化方法と同様に、例えば図２１Ａ〜Ｃに示すような複数の可変長符号化テーブルを用意しておき、これらを適応的に切り替えるように制御する。具体的には例えば、予め閾値Ｔｈ３およびＴｈ４を設定しておき（ただしＴｈ３＜Ｔｈ４）、符号化対象となっている係数群ＳｉにおけるＬｅｖｅｌ値Ｌｉの符号化の際に、１つ高周波側の係数群Ｓｉ＋１におけるＬｅｖｅｌ値の絶対値｜Ｌｉ＋１｜がＴｈ３より小さい場合には図２１Ａの可変長符号化テーブルを、｜Ｌｉ＋１｜がＴｈ３以上でありＴｈ４より小さい場合には図２１Ｂの可変長符号化テーブルを、｜Ｌｉ＋１｜がＴｈ４以上である場合には図２１Ｃの可変長符号化テーブルを用いるように切り替える。
すなわち、図１３の可変長符号化部１６において、可変長符号出力部３０に入力シンボルＨ１としてＬｅｖｅｌ値が入力されると、符号化シンボルメモリ３１より｜Ｌｉ＋１｜が可変長符号化テーブル参照情報Ｈ３として入力され、可変長符号化テーブル提供部３３は可変長符号化テーブル参照情報Ｈ３に基づいて上記の制御手法によって選ばれる可変長符号化テーブルＨ５を可変長符号出力部３０に提供する。他の動作は本発明の第１２から第１４の実施形態と同様である。
本発明の第１５の実施形態による符号化方法においては、以上のようにＬｅｖｅｌ値の予測が当たりやすい場合には符号長の偏りの大きいテーブルに切り替えることによって予測が当たった場合の符号長が短くなるように制御し、Ｌｅｖｅｌ値の予測が当たりにくい場合には符号長の偏りの小さいテーブルに切り替えることによって予測が当たらない場合の符号長が長くならないよう構成したので、Ｌｅｖｅｌ値を効率よく符号化することができる。
なお、本発明の第１５の実施形態による符号化方法において、Ｒｕｎ値の符号化をＬｅｖｅｌ値の前に行うよう記述したが、もちろん本発明はＲｕｎ値をＬｅｖｅｌ値の後に符号化してもＲｕｎ値とＬｅｖｅｌ値を交互に符号化しても適用することができる。
また、本発明の第１５の実施形態による符号化方法と同様の手続にて符号化マップテープル（復号マップテーブル）の切り替えを行い、本発明の第１２の実施形態による復号方法と同様の処理を行うことによって、本発明の第１５の実施形態による復号方法が実現する。本発明の第１５の実施形態による復号方法によって、本発明の第１５の実施形態による符号化方法によって符号化された符号化データを好適に復号することができる。
（第１６の実施形態）
本発明の第１６の実施形態による符号化方法おいては、符号化対象係数群におけるＲｕｎ値の符号化を行う際に、該符号化対象係数群におけるＬｅｖｅｌ値の絶対値を用いて可変長符号化テーブルを切り替えることを特徴とする。従って本発明の第１６の実施形態による符号化方法においては、符号化対象となるＲｕｎ値の前に該符号化対象係数群におけるＬｅｖｅｌ値が符号化されるように構成する。
すなわち、該符号化対象係数群におけるＬｅｖｅｌ値の絶対値が大きければ、該符号化対象係数はラプラス分布において頂に近い部分に位置すると考えられ、近傍の周波数成分も非零となる可能性が高いと考えられるため、Ｒｕｎ値は小さい値をとると予測できる。逆に該符号化対象群におけるＬｅｖｅｌ値の絶対値が小さければ、該符号化対象係数はラプラス分布において裾野の部分に位置すると考えられ、近傍の周波数成分も非零となる可能性が高いとは限らないため、Ｒｕｎ値の予測がし難くなる。そこで、本発明の第１５の実施形態による符号化方法と同様に、例えば図２１Ａ〜Ｃに示すような複数の可変長符号化テーブルを用意しておき、これらを適応的に切り替えるように制御する。具体的には例えば、予め閾値Ｔｈ５およびＴｈ６を設定しておき（ただしＴｈ５＞Ｔｈ６）、符号化対象となっている係数群ＳｉにおけるＲｕｎ値Ｒｉの符号化の際に、係数群ＳｉにおけるＬｅｖｅｌ値の絶対値｜Ｌｉ｜がＴｈ５より大きい場合には図２１Ａの可変長符号化テーブルを、｜Ｌｉ｜がＴｈ５以下でありＴｈ６より大きい場合には図２１Ｂの可変長符号化テーブルを、｜Ｌｉ｜がＴｈ６以下である場合には図２１Ｃの可変長符号化テーブルを用いるように切り替える。
すなわち、図１３の可変長符号化部１６において、可変長符号出力部３０に入力シンボルＨ１としてＲｕｎ値が入力されると、符号化シンボルメモリ３１より｜Ｌｉ｜が可変長符号化テーブル参照情報Ｈ３として入力され、可変長符号化テーブル提供部３３は可変長符号化テーブル参照情報Ｈ３に基づいて上記の制御手法によって選ばれる可変長符号化テーブルＨ５を可変長符号出力部３０に提供する。他の動作は本発明の第１２から第１５の実施形態と同様である。
本発明の第１６の実施形態による符号化方法においては、以上のようにＲｕｎ値が小さい値を取ると予測しやすい場合には符号長の偏りの大きいテーブルに切り替えることによって予測が当たった場合の符号長が短くなるように制御し、Ｒｕｎ値の予測が難しい場合には符号長の偏りの小さいテーブルに切り替えることによって予測が当たらない場合の符号長が長くならないよう構成したので、Ｒｕｎ値を効率よく符号化することができる。
また、本発明の第１６の実施形態による符号化方法と同様の手続にて符号化マップテーブル（復号マップテーブル）の切り替えを行い、本発明の第１５の実施形態による復号方法と同様の処理を行うことによって、本発明の第１６の実施形態による復号方法が実現する。本発明の第１６の実施形態による復号方法によって、本発明の第１６の実施形態による符号化方法によって符号化された符号化データを好適に復号することができる。
（第１７の実施形態）
次に、本発明の第１７の実施形態による符号化方法について説明する。本発明の第１２の実施形態による符号化方法においては、ブロック内のＲｕｎ合計値ＲＴを符号化する際に可変長符号化テーブルを切り替えることを行わなかったが、本発明の第１７の実施形態による符号化方法においては、ブロック内のＲｕｎ合計値ＲＴを符号化する際に該符号化対象ブロックに対する動きベクトル差分値ＤＭＶに応じて可変長符号化テーブルを切り替えることを特徴とする。
ブロック内のＲｕｎ合計値ＲＴはブロック内の非零係数数ＣＣの値およびＤＣＴ係数が自然画像ではラプラス分布で近似できることなどから予測できる。このようにして予測されたＲｕｎ合計値をＰＲＴとする。さて、周辺ブロックから予測された動きベクトル予測値と符号化対象ブロックの動きベクトルとの差分値である動きベクトル差分値ＤＭＶが小さい場合には、該符号化対象ブロックにおいて出現するＤＣＴ係数はラプラス分布で近似しやすい可能性が高い。したがってこのような場合には、ブロック内のＲｕｎ合計値ＲＴの可変長符号化テーブルをＲｕｎ合計値の予測値ＰＲＴの近傍において符号長が短くなるような可変長符号化テーブルを用いることによって効率よく符号化できる。逆に該符号化対象ブロックにおける動きベクトル差分値ＤＭＶが大きい場合には、該符号化対象ブロック周辺において動きやテクスチャが複雑に変化している可能性が高い。このような場合にはＤＣＴ係数はラプラス分布で近似できない可能性が高いく、符号化対象となるブロックにおけるＲｕｎ合計値ＲＴはＲｕｎ合計値の予測値ＰＲＴの近傍に集中するとは限らない。したがって、このような場合には、Ｒｕｎ合計値ＲＴがどのような値でも符号長にあまり差がないような可変長符号テーブルを用いることによって効率よく符号化することができる。
これらのことを念頭におき、本発明の第１７の実施形態においては、例えば図２１Ａ〜Ｃに示すように符号長の分布の偏りの特性の異なる可変長符号化テーブルを複数用意し、符号化対象ブロックにおける動きベクトル差分値ＤＭＶの大きさに応じて、符号化対象ブロックにおけるＲｕｎ合計値ＲＴに対する可変長符号化テーブルを切り替える。
具体的には、例えば符号化対象ブロックにおける動きベクトル差分値ＤＭＶの大きさ｜ＤＭＶ｜に対して予め設定した閾値Ｔｈ７、Ｔｈ８（ただしＴｈ７＜Ｔｈ８とする）と比較することによって可変長符号化テーブルを切り替える。｜ＤＭＶ｜の値がＴｈ７より小さければ、符号化対象ブロックにおけるＲｕｎ合計値ＲＴの可変長符号化テーブルとして図２１Ａのテーブルを、｜ＤＭＶ｜がＴｈ７以上でありかつＴｈ８より小さければ図２１Ｂのテーブルを、｜ＤＭＶ｜がＴｈ８以上であれば図２１Ｃのテーブルを用いて可変長符号化を行うように構成する。
すなわち、図１３の可変長符号化部１６においてまず入力シンボルＨ１として可変長符号出力部３０にＲｕｎ合計値ＲＴが入力される。そして符号化シンボルメモリ３１より、可変長符号化テーブル提供部３３に可変長符号化テーブル参照情報Ｈ３として符号化対象ブロックにおける｜ＤＭＶ｜が入力される。そして、可変長符号化テーブル提供部３３にて上記のように｜ＤＭＶ｜が予め設定しておいた閾値Ｔｈ７およびＴｈ８と比較され、それに基づいて符号化対象ブロックにおけるＲｕｎ合計値ＲＴに対して用いる可変長符号化テーブルが決定され、可変長符号化テーブルＨ５が可変長符号出力部３０に提供される。そして、Ｒｕｎ合計値ＲＴは可変長符号化され、符号化データＤ９として出力される。
本発明の第１７の実施形態による符号化方法においては、以上のようにＲｕｎ合計値がＲｕｎ合計値の予測値ＰＲＴの近傍に集中しやすい場合には、ＰＲＴの近傍の符号長が短い可変長符号化テーブルに切り替えることによってＰＲＴの近傍であった場合の符号長が短くなるように制御し、Ｒｕｎ合計値がＲｕｎ合計値の予測値ＰＲＴの近傍に集中するとは限らない場合には符号長の偏りの小さいテーブルに切り替えることによってＲｕｎ合計値ＲＴがどのような値であっても符号長が長くならないよう構成したので、Ｒｕｎ合計値ＲＴを効率よく符号化することができる。
図３６は本発明の第１７の実施形態による可変長復号部２１のブロック図を示した図である。本発明の第１７の実施形態による符号化方法によって符号化された符号化データＤ９が可変長復号部２１の復号シンボル出力部４０に入力されると、既に復号済のシンボルより算出された｜ＤＭＶ｜が復号シンボルメモリ４１から可変長復号テーブル参照情報Ｈ８として可変長復号テーブル提供部４３に入力される。そして、可変長復号テーブル提供部４３から可変長復号テーブルＨ１０が符号化と同様の手続きにて選択されて復号シンボル出力部４０に入力される。そして、復号シンボル出力部４０において可変長復号が成され、復号シンボルＨ６としてＲｕｎ合計値ＲＴが復号されて出力される
上記実施形態では、符号化装置および復号装置を用いて説明したが、これらはハードウェアで実現してもソフトウェアで実現してもよい。また、説明を分かりやすくするために具体的な可変長符号化テーブルや画像符号化方式を用いて説明したが、もちろん本発明はこれらに限定されるわけでない。
また、上記実施形態で説明したように、符号化条件や画像特徴を用いて符号化テーブルおよびマップテーブルを切り替える方法は容易にさまざまな変更例を想像することができるが、それらすべてに本発明が適用できる。
また、上記実施形態では動画像符号化の一例を用いて説明したが、もちろんこれに限らず、対象となる符号化シンボルおよび利用するコンテキストが適用できる方式であれば、あらゆる動画像符号化方式および静止画像符号化方式に適用できる。
また、上記実施形態による画像符号化方式および画像復号方式は、図２９Ａ、Ｂ，Ｃに示した画像伝送システム、画像蓄積システム、画像再生システムに適用することによって、伝送帯域や蓄積容量などの資源を有効に活用するのに好適なものである。
なお、上記実施形態では、図２１Ａ〜Ｃの３つの可変長符号化テーブルを用いて説明したが、もちろん可変長符号化テーブルの個数やその値は図２１Ａ〜Ｃに限定されるものではない。例えば図３７Ａ〜Ｃに示すようにｅｘｐ−Ｇｏｌｏｍｂ符号の他の係数を変えることによって生成した符号長分布の異なる可変長符号可テーブルを用いてもよい。
なお、上記実施形態による符号化方法および復号方法においては、具体的なテーブル値を用いて説明したが、もちろん本発明はこれらの値に限定されるものではない。また、上記実施形態においては、８画素×８ラインのＤＣＴ係数を例に用いて説明したが、もちろん直交変換の種類やブロックの大きさがこれらに限定されるものではない。
また、上記実施形態によれば、Ｒｕｎ値は高周波成分に関するものから順に処理するよう構成したが、もちろん、低周波成分から処理しても同様の効果を得ることができる。そして、例えば当該処理対象ブロックにおける非零係数数ＣＣの値に応じてＲｕｎ値を処理する順序を変更するよう構成すれば、さらに好適な符復号が可能である。つまり、例えば予め設定した閾値ＴｈＣに対して、非零係数数ＣＣが小さい場合にはようにＲｕｎ値を低周波成分から、上記閾値ＴｈＣに対して非零係数数ＣＣが同じか大きい場合にはＲｕｎ値を高周波成分から処理することによって、Ｒｕｎ値に対してより小さい値が処理される可能性が高くなるため、より好適な符号化及び復号が可能となる。
また、上記実施形態による符号化方法および復号方法はそれぞれ別の実施形態として記述したが、もちろんその中の複数の方法を同時に用いても同様の効果が得られる。
また、上記実施形態による符号化方法および復号方法においては、Ｒｕｎ値およびＬｅｖｅｌ値をそれぞれ１次元の可変長符号化テーブルを用いて直列的に符復号するよう説明したが、もちろん２次元の可変長符号化テーブルを用いて並列的に（Ｒｕｎ値とＬｅｖｅｌ値の組み合わせについて）符復号するよう構成しても同様の効果が得られる。しかしながら、ＲｕｎとＬｅｖｅｌの相関関係を利用した２次元可変長テーブルにおいてマップテーブルの切り替えによるインデックス値の変更を行うと、ＲｕｎとＬｅｖｅｌの相関関係が崩れてしまい符号化効率が悪くなるため、本発明の実施形態において説明した１次元の可変長符号化テーブルを用いる方が効率のよい符号化を行うことができる。
なお、実施形態では可変長符号化テーブルを切り替える可変長符号化を用いて符号化を行うよう記述したが、もちろん算術符号化を用いてこれらの処理を行っても同様の効果を得ることができる。算術符号化を用いる場合には、前記実施形態において、短い符号長を割り当てる符号化対象シンボルに対しては算術符号化におけるシンボル発生確率が大きい確率テーブルを、長い符号長を割り当てる符号化対象シンボルに対しては算術符号化におけるシンボル発生確率が小さい確率テーブルを使用することによって同様の効果が得られる。
また、前記実施形態において用いた符号長に偏りの大きい可変長符号化テーブルに対しては、算術符号化におけるそれぞれのシンボルに対応するシンボル発生確率の偏りが大きい確率テーブルを、符号長に偏りの小さい可変長符号化テーブルに対しては、算術符号化におけるそれぞれのシンボルに対応するシンボル発生確率の偏りが小さい確率テーブルを使用することによって同様の効果を得られる。具体的には、例えば図２１Ａ〜Ｃの可変長符号化テーブルに対し、次の図３８Ａ〜Ｃの確率テーブルを用いることによって同様の効果を得ることができる。なお、他の動作に関してはこれまで述べた実施形態と同様であるので詳細を省略する。
また、上記各実施形態において示した動き検出部１１、動き補償部１２、直交変換部１４、量子化部１５、可変長符号化部１６、逆量子化部１７、逆直交変換部１８、可変長復号部２１、逆量子化部２２、逆直交変換部２３、動き補償部２４、符号化マップテーブル提供部３２、可変長符号化テーブル提供部３３、可変長符号出力部３０、復号シンボル出力部４０、復号マップテーブル提供部４２、可変長復号テーブル提供部４３、学習機能付き符号化マップテーブル提供部５２、フィードバック機能付き可変長符号出力部５１、学習機能付き符復号マップテーブル提供部６２、フィードバック機能付き復号シンボル出力部６１それぞれの機能は、コンピュータプログラムとして提供することもできる。さらにこのコンピュータプログラムを搬送波にのせて伝搬させることもできる。
【産業上の利用可能性】  本発明は、画像符号化装置、画像復号装置、画像符号化方法、画像復号方法、画像符号化プログラム及び画像復号プログラムとして利用可能である。
【図１】
2004039083.tif 000003
【図２】
2004039083.tif 000004
2004039083.tif 000005
2004039083.tif 000006
【図５】
2004039083.tif 000007
【図６】
2004039083.tif 000008
2004039083.tif 000009
【図８】
2004039083.tif 000010
2004039083.tif 000011
2004039083.tif 000012
2004039083.tif 000013
2004039083.tif 000014
【図１３】
2004039083.tif 000015
【図１４】
2004039083.tif 000016
2004039083.tif 000017
2004039083.tif 000018
2004039083.tif 000019
2004039083.tif 000020
【図１９】
2004039083.tif 000021
2004039083.tif 000022
2004039083.tif 000023
2004039083.tif 000024
【図２３】
2004039083.tif 000025
2004039083.tif 000026
【図２５】
2004039083.tif 000027
2004039083.tif 000028
【図２７】
2004039083.tif 000029
2004039083.tif 000030
2004039083.tif 000031
【図３０】
2004039083.tif 000032
【図３１】
2004039083.tif 000033
【図３２】
2004039083.tif 000034
【図３３】
2004039083.tif 000035
2004039083.tif 000036
2004039083.tif 000037
【図３６】
2004039083.tif 000038
2004039083.tif 000039
2004039083.tif 000040
【国際調査報告】
2004039083.tif 000041
2004039083.tif 000042
2004039083.tif 000043
2004039083.tif 000044