(57)【要約】  画像符号化装置は、入力画像信号に対し予測を行って予測画像信号を生成する予測器と、前記入力画像信号と前記予測画像信号との差をとって予測残差信号を生成する減算器と、前記予測残差信号を変換して変換係数を生成する変換器と、量子化マトリクスに対して変調を行い、変調量子化マトリクスを得る変調部と、前記変調量子化マトリクスを用いて前記変換係数を量子化して量子化変換係数を生成する量子化器、及び前記量子化変換係数と変調インデックスを符号化して符号化データを生成する符号化器を有する。
2008132890.tif 000002
【特許請求の範囲】
【請求項１】
入力画像信号に対し予測を行って予測画像信号を生成することと；
前記入力画像信号と前記予測画像信号との差をとって予測残差信号を生成することと；
前記予測残差信号を変換して変換係数を生成することと；
（ａ）量子化マトリクス、（ｂ）量子化のための演算精度を制御する制御パラメータ、（ｃ）量子化の粗さを表す量子化パラメータ、及び（ｄ）量子化の粗さを表す量子化パラメータに量子化スケールを対応付けたテーブル、のいずれか一つに対して変調を行い、量子化に関する変調結果を得ることと；
前記変調結果を用いて前記変換係数を量子化して量子化変換係数を生成することと；
前記量子化変換係数と前記変調に関するインデックスを符号化して符号化データを生成することと；を具備する画像符号化方法。
【請求項２】
入力画像信号に対し予測を行って予測画像信号を生成する予測器と；
前記入力画像信号と前記予測画像信号との差をとって予測残差信号を生成する減算器と；
前記予測残差信号を変換して変換係数を生成する変換器と；
（ａ）量子化マトリクス、（ｂ）量子化のための演算精度を制御する制御パラメータ、（ｃ）量子化の粗さを表す量子化パラメータ、及び（ｄ）量子化の粗さを表す量子化パラメータに量子化スケールを対応付けたテーブル、のいずれか一つに対して変調を行い、量子化に関する変調結果を得る変調部と；
前記変調結果を用いて前記変換係数を量子化して量子化変換係数を生成する量子化器と；
前記量子化変換係数と、前記変調に関するインデックスとを符号化して符号化データを生成する符号化器と；を具備する画像符号化装置。
【請求項３】
前記変調部は、対数モデル、自己相関関数モデル、比例／逆比例モデル、Ｎ次関数（Ｎ≧１）モデル、ガウス分布やラプラス分布を含む一般化ガウス関数モデル、及び三角関数モデル、の少なくとも一つを有する変調マトリクスを用いて前記変調を行うように構成される請求項２記載の画像符号化装置。
【請求項４】
前記変調部は、前記量子化マトリクス、前記制御パラメータ、前記量子化パラメータ、及び前記テーブルのいずれか一つと変調マトリクスとの間の加算、減算、乗算、除算及びビットシフトの少なくとも一つ、を用いて前記変調を行うように構成される請求項２記載の画像符号化装置。
【請求項５】
前記変調マトリクスは、対数モデル、自己相関関数モデル、比例／逆比例モデル、Ｎ次関数（Ｎ≧１）モデル、ガウス分布やラプラス分布を含む一般化ガウス関数モデル、及び三角関数モデル、の少なくとも一つを有する請求項４記載の画像符号化装置。
【請求項６】
前記変調マトリクスは、市街地距離及びユークリッド距離を含むミンコフスキー距離ののうちの一つを用いて計算される周波数成分を有する請求項３記載の画像符号化装置。
【請求項７】
前記変調マトリクスは、市街地距離及びユークリッド距離を含むミンコフスキー距離のうちの一つを用いて計算される周波数成分を有する請求項４記載の画像符号化装置。
【請求項８】
前記符号化器は、前記入力画像信号の符号化シーケンス毎、ピクチャ毎、符号化スライス毎またはブロック毎に、前記量子化器が前記変調結果を用いて前記量子化を行うか否かを示すフラグを前記符号化データに付加するように構成される請求項２記載の画像符号化装置。
【請求項９】
前記量子化器は、異なるサイズを持つブロック単位で前記量子化を行うように構成される請求項２記載の画像符号化装置。
【請求項１０】
前記変調に関するインデックスは、（ａ）変調方法、（ｂ）変調強度、（ｃ）変調マトリクス、（ｄ）変調モデル、及び（ｅ）前記変調方法が記述されたテーブルの番号、の少なくとも一つを示すインデックスである請求項２記載の画像符号化装置。
【請求項１１】
量子化変換係数と変調に関するインデックスを含む符号化データを復号することと；
前記インデックスに従って（ａ）量子化マトリクス、（ｂ）量子化のための演算精度を制御する制御パラメータ、（ｃ）量子化の粗さを表す量子化パラメータ、及び（ｄ）量子化の粗さを表す量子化パラメータに量子化スケールを対応付けたテーブル、のいずれか一つに対して変調を行い、量子化に関する変調結果を得ることと；
前記変調結果を用いて前記量子化変換係数を逆量子化して逆量子化変換係数を生成することと；
前記逆量子化変換係数に逆変換を行って予測残差信号を生成することと；
復号画像信号を用いて予測を行って予測画像信号を生成することと；
前記予測画像信号と前記予測残差信号とを加算することによって復号画像信号を生成することと；を具備する画像復号化方法。
【請求項１２】
量子化変換係数と変調に関するインデックスを含む符号化データを復号する復号器と；
前記変換に関する情報に従って（ａ）量子化マトリクス、（ｂ）量子化のための演算精度を制御する制御パラメータ、（ｃ）量子化の粗さを表す量子化パラメータ、及び（ｄ）量子化の粗さを表す量子化パラメータに量子化スケールを対応付けたテーブル、のいずれか一つに対して変調を行い、量子化に関する変調結果を得る変調部；
前記変調結果を用いて前記量子化変換係数を逆量子化して逆量子化変換係数を生成する逆量子化器と；
前記逆量子化変換係数に逆変換を行って予測残差信号を生成する逆変換器と；
復号画像信号を用いて予測を行って予測画像信号を生成する予測器と；
前記予測画像信号と前記予測残差信号とを加算することによって復号画像信号を生成する加算器と；を具備する画像復号化装置。
【請求項１３】
前記変調部は、対数モデル、自己相関関数モデル、比例／逆比例モデル、Ｎ次関数（Ｎ≧１）モデル、ガウス分布やラプラス分布を含む一般化ガウス関数モデル、及び三角関数モデル、の少なくとも一つを有する変調マトリクスを用いて前記変調を行うように構成される請求項１２記載の画像復号化装置。
【請求項１４】
前記変調部は、前記量子化マトリクス、前記制御パラメータ、前記量子化パラメータ、及び前記テーブルのいずれか一つと、変調マトリクスとの間の加算、減算、乗算、除算及びビットシフトの少なくとも一つを用いて前記変調を行うように構成される請求項１２記載の画像復号化装置。
【請求項１５】
前記変調マトリクスは、対数モデル、自己相関関数モデル、比例／逆比例モデル、Ｎ次関数（Ｎ≧１）モデル、ガウス分布やラプラス分布を含む一般化ガウス関数モデル、及び三角関数モデル、の少なくとも一つを有する請求項１３記載の画像復号化装置。
【請求項１６】
前記変調マトリクスは、市街地距離及びユークリッド距離を含むミンコフスキー距離の中から一つを用いて計算される周波数成分を有する請求項１４記載の画像復号化装置。
【請求項１７】
前記変調マトリクスは、市街地距離及びユークリッド距離を含むミンコフスキー距離の中から一つを用いて計算される周波数成分を有する請求項１５記載の画像復号化装置。
【請求項１８】
前記符号化データは、符号化シーケンス毎、ピクチャ毎、符号化スライス毎またはブロック毎に、（ａ）量子化マトリクス、（ｂ）量子化のための演算精度を制御する制御パラメータ、（ｃ）量子化の粗さを表す量子化パラメータ、及び（ｄ）量子化の粗さを表す量子化パラメータに量子化スケールを対応付けたテーブル、のいずれか一つに対して変調を行って得られる、量子化に関する変調結果に従って前記量子化変換係数が量子化されているか否かを示すフラグを含み、前記変調部は該フラグに従って前記変調を行うように構成される請求項１２記載の画像復号化装置。
【請求項１９】
前記逆量子化器は、異なるサイズを持つブロック単位で前記逆量子化を行うように構成される請求項１２記載の画像復号化装置。
【請求項２０】
前記変調に関するインデックスは、（ａ）変調方法、（ｂ）変調強度、（ｃ）変調マトリクス、（ｄ）変調モデル、及び（ｅ）前記変調方法が記述されたテーブルの番号、の少なくとも一つを示すインデックスである請求項１２記載の画像復号化装置。
【請求項２１】
コンピュータによって実行される、  入力画像信号に対し予測を行って予測画像信号を生成することと；
前記入力画像信号と前記予測画像信号との差をとって予測残差信号を生成することと；
前記予測残差信号を変換して変換係数を生成することと；
（ａ）量子化マトリクス、（ｂ）量子化のための演算精度を制御する制御パラメータ、（ｃ）量子化の粗さを表す量子化パラメータ、及び（ｄ）量子化の粗さを表す量子化パラメータに量子化スケールを対応付けたテーブル、のいずれか一つに対して変調を行い、量子化に関する変調結果を得ることと；
前記変調結果を用いて前記変換係数を量子化して量子化変換係数を生成することと；
前記量子化変換係数と前記変調に関するインデックスを符号化して符号化データを生成することと；を具備するステップの動作をもたらすコンピュータプログラムの命令を記憶するコンピュータの読み取り可能な記憶媒体。
【請求項２２】
コンピュータによって実行される、
量子化変換係数と変調に関するインデックスを含む符号化データを復号することと；
前記変換に関する情報に従って（ａ）量子化マトリクス、（ｂ）量子化のための演算精度を制御する制御パラメータ、（ｃ）量子化の粗さを表す量子化パラメータ、及び（ｄ）量子化の粗さを表す量子化パラメータに量子化スケールを対応付けたテーブル、のいずれか一つに対して変調を行い、量子化に関する変調結果を得ることと；
前記変調結果を用いて前記量子化変換係数を逆量子化して逆量子化変換係数を生成することと；
前記逆量子化変換係数に逆変換を行って予測残差信号を生成することと；
復号画像信号を用いて予測を行って予測画像信号を生成することと；
前記予測画像信号と前記予測残差信号とを加算することによって復号画像信号を生成することと；を具備するステップの動作をもたらすコンピュータプログラムの命令を記憶するコンピュータの読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画像または静止画像のための画像符号化と画像復号化の方法及び装置に関する。
【背景技術】
【０００２】
近年、大幅に符号化効率を向上させた画像符号化方法がITU-TとISO/IECとの共同で、ITU-T Rec. H. 264及びISO/IEC 14496-10（以下、H. 264という）として勧告されている。ISO/IEC MPEG-1, 2及び4, ITU-T H. 261及びH. 263といった符号化方式は、８×８ブロックの２次元ＤＣＴを用いた圧縮を行う。これに対して、H. 264では４×４ブロックの２次元整数直交変換を用いているため、ＩＤＣＴミスマッチを考慮する必要が無く、１６ビットレジスタによる演算が可能である。【０００３】
さらにH. 264 ハイプロファイルでは、ＨＤＴＶサイズのような高解像画像向けの主観画質改善のための１つのツールとして、直交変換係数の量子化処理に対して量子化マトリクスが導入されている（J. Lu, “Proposal of quantization weighting for H. 264/MPEG-4 AVC Professional Profiles”, JVT of ISO/IEC MPEG& ITU-T VCEG, JVT-K029, March. 2004（文献１）参照）。量子化マトリクスは、人間の視覚特性を利用して周波数領域での量子化係数の重み付けを行うことで主観画質を向上させるツールであり、ISO/IEC MPEG-2,4等でも利用されている。H. 264で用いられている量子化マトリクスは、シーケンス、ピクチャ若しくはスライス単位で切り替えることが可能であるが、より小さな処理ブロック単位で変更することきはできない。【０００４】
一方、量子化マトリクスをマクロブロック単位で切り替えることが可能な技術が例えば特開２００６−２６２００４号公報（JP-A 2006-262004 (KOKAI)）によって提案されている。しかし、JP-A 2006-262004では量子化マトリクスの利用可否の切り替えしかできず、符号化対象画像の局所性を考慮した量子化処理の最適化は不可能である。【０００５】
符号量制御のために、前ピクチャからの符号量の変化量を利用して量子化マトリクスを変更する方式が例えば特開２００３−１８９３０８号公報（JP-A 2003-189308 (KOKAI)）で提案されている。しかし、JP-A 2003-189308においても文献１と同様に量子化ブロック単位の量子化処理の最適化は不可能である。
【発明の開示】
【０００６】
本発明の目的は、動画像や静止画像の符号化に際して画像の局所性を利用した量子化処理の最適化を可能として高い符号化効率を実現することを目的とする。
【０００７】
本発明の一観点によると、入力画像信号に対し予測を行って予測画像信号を生成することと；前記入力画像信号と前記予測画像信号との差をとって予測残差信号を生成することと；前記予測残差信号を変換して変換係数を生成することと；（ａ）量子化マトリクス、（ｂ）量子化のための演算精度を制御する制御パラメータ、（ｃ）量子化の粗さを表す量子化パラメータ、及び（ｄ）量子化の粗さを表す量子化パラメータに量子化スケールを対応付けたテーブルのいずれか一つに対して変調を行い、量子化に関する変調結果を得ることと；前記変調結果を用いて前記変換係数を量子化して量子化変換係数を生成することと；前記量子化変換係数と前記変調に関するインデックスを符号化して符号化データを生成することと；を具備する画像符号化方法を提供する。
【０００８】
本発明の他の観点によると、量子化変換係数と変調に関するインデックスを含む符号化データを復号することと；前記インデックスに従って（ａ）量子化マトリクス、（ｂ）量子化のための演算精度を制御する制御パラメータ、（ｃ）量子化の粗さを表す量子化パラメータ、及び（ｄ）量子化の粗さを表す量子化パラメータに量子化スケールを対応付けたテーブルのいずれか一つに対して変調を行い、量子化に関する変調結果を得ることと；前記変調結果を用いて前記量子化変換係数を逆量子化して逆量子化変換係数を生成することと；前記逆量子化変換係数を逆変換して予測残差信号を生成することと；復号画像信号を用いて予測を行って予測画像信号を生成することと；前記予測画像信号と前記予測残差信号とを加算することによって復号画像信号を生成することと；を具備する画像復号化方法を提供する。
【図面の簡単な説明】
【０００９】
【図１】図１は、第１の実施形態に従う画像符号化装置を示すブロック図である。
【図２】図２は、符号化フレーム内の符号化順序を示す図である。
【図３】図３は、量子化ブロックサイズを示す図である。
【図４Ａ】図４Ａは、４×４画素ブロックを示す図である。
【図４Ｂ】図４Ｂは、８×８画素ブロックを示す図である。
【図５Ａ】図５Ａは、４×４画素ブロックの周波数位置を示す図である。
【図５Ｂ】図５Ｂは、８×８画素ブロックの周波数位置を示す図である。
【図６】図６は、図１中の量子化マトリクス変調部を示すブロック図である。
【図７】図７は、図６中の変調マトリクス設定部を示すブロック図である。
【図８】図８は、変調マトリクスの変調モデルの一例を示す図である。
【図９】図９は、変調マトリクスの変調モデルの他の例を示す図である。
【図１０】図１０は、図６中の変調量子化マトリクス生成部を示すブロック図である。
【図１１Ａ】図１１Ａは、符号化スライスのスライス量子化マトリクスについて説明する図である。
【図１１Ｂ】図１１Ｂは、符号化スライスのブロック量子化マトリクスについて説明する図である。
【図１１Ｃ】図１１Ｃは、ブロック量子化マトリクスと変調マトリクス及び変調量子化マトリクスの関係について説明する図である。
【図１１Ｄ】図１１Ｄは、符号化スライスの変調量子化マトリクスについて説明する図である。
【図１２】図１２は、第１の実施形態における符号化処理の手順を示すフローチャート
【図１３】図１３は、第１の実施形態におけるシンタクス構造の概略図である。
【図１４】図１４は、第１の実施形態におけるシーケンスパラメータセットシンタクスのデータ構造の一例を示す図である。
【図１５】図１５は、第１の実施形態におけるピクチャパラメータセットシンタクスのデータ構造の一例を示す図である。
【図１６】図１６は、第１の実施形態におけるスライスヘッダシンタクスのデータ構造の一例を示す図である。
【図１７】図１７は、第１の実施形態におけるマクロブロックヘッダシンタクスのデータ構造の一例を示す図である。
【図１８】図１８は、第１の実施形態におけるマクロブロックヘッダシンタクスのデータ構造の一例を示す図である。
【図１９】図１９は、第１の実施形態におけるスライスヘッダシンタクスのデータ構造の一例を示す図である。
【図２０】図２０は、第１の実施形態におけるシンタクスエレメントのセマンティクスを示した図である。
【図２１】図２１は、第２の実施形態に従う画像符号化装置を示すブロック図である。
【図２２】図２２は、第３の実施形態に従う画像符号化装置を示すブロック図である。
【図２３】図２３は、第４の実施形態に従う画像符号化装置を示すブロック図である。
【図２４】図２４は、第４の実施形態における精度変調インデックスと量子化パラメータ変動値及び量子化スケール変動値の関係を示した図である。
【図２５】図２５は、第４の実施形態におけるシーケンスパラメータセットシンタクスのデータ構造の一例を示す図である。
【図２６】図２６は、第４の実施形態におけるピクチャパラメータセットシンタクスのデータ構造の一例を示す図である。
【図２７】図２７は、第４の実施形態におけるスライスヘッダシンタクスのデータ構造の一例を示す図である。
【図２８】図２８は、第４の実施形態におけるマクロブロックヘッダシンタクスのデータ構造の一例を示す図である。
【図２９】図２９は、一実施形態に従うスライスヘッダシンタクスのデータ構造の一例を示す図である。
【図３０】図３０は、第５の実施形態に従う画像復号化装置を示すブロック図である。
【図３１】図３１は、第６の実施形態に従う画像復号化装置を示すブロック図である。
【図３２】図３２は、第７の実施形態に従う画像復号化装置を示すブロック図である。
【図３３】図３３は、第８の実施形態に従う画像復号化装置を示すブロック図である。
【発明を実施するための最良の形態】
【００１０】
以下、図面を参照して本発明の実施形態を説明する。  
＜画像符号化装置＞  
まず、画像符号化に関する第１〜第４の実施形態について述べる。【００１１】
（第１の実施形態）  
図１を参照すると、本発明の第１の実施形態に従う画像符号化装置では、動画像または静止画像の入力画像信号１２０が小画素ブロック単位、例えばマクロブロック単位に分割され、符号化ユニット１００に入力される。ここでは、マクロブロックが符号化処理の基本的な処理ブロックサイズとされている。以下、入力画像信号１２０の符号化対象マクロブロックを単に対象ブロックという。【００１２】
符号化ユニット１００では、ブロックサイズや予測画像信号の生成方法の異なる複数の予測モードが用意されている。予測画像信号の生成方法は、具体的には大きく分けて符号化対象のフレーム内だけで予測画像を生成するフレーム内予測と、時間的に異なる複数の参照フレームを用いて予測を行うフレーム間予測がある。本実施形態では、説明を簡単にするために図２に示されているように左上から右下に向かって符号化処理がなされていくものとする。【００１３】
マクロブロックは、典型的に例えば図３に示すような１６×１６画素ブロックである。しかし、マクロブロックは３２×３２画素ブロック単位であっても８×８画素ブロック単位であってもよい。またマクロブロックの形状は、正方格子である必要は必ずしもない。【００１４】
符号化ユニット１００について説明する。減算器１０１では入力画像信号１２０と予測器１０２からの予測画像信号１２１との差がとられることにより、予測残差信号１２２が生成される。予測残差信号１２２は、モード判定部１０３及び変換器１０４に入力される。モード判定部１０３については後述する。変換器１０４では、予測残差信号１２２に対して例えば離散コサイン変換（ＤＣＴ）のような直交変換が施されることにより、変換係数１２３が生成される。変換器１０４における変換には、離散サイン変換、ウェーブレット変換や、独立成分解析などの手法を用いてもよい。【００１５】
変換器１０４から出力される変換係数１２３は、量子化器１０５へ入力される。量子化器１０５では、例えば符号化制御部１１３によって与えられる量子化パラメータと後述する量子化マトリクス変調部１１０によって生成される変調量子化マトリクス１３３に従って変換係数１２３が量子化され、量子化変換係数１２４が生成される。【００１６】
量子化変換係数１２４は、逆量子化器１０６及びエントロピー符号化器１１１に入力される。エントロピー符号化器１１１については、後述する。逆量子化器１０６では、量子化変換係数１２４に対して、例えば符号化制御部１１３から与えられる量子化パラメータと変調量子化マトリクス１３３に従って逆量子化が施されることにより、逆量子化変換係数１２５が生成される。【００１７】
逆量子化器１０６からの逆量子化変換係数１２５に対して、逆変換器１０７において変換器１０４の変換と逆の変換、例えば逆離散コサイン変換（ＩＤＣＴ）のような逆直交変換が施される。この逆直交変換によって、予測残差信号１２２と同じ信号（復号予測残差信号という）１２６が再生される。復号予測残差信号１２６は、加算器１０８に入力される。加算器１０８では、復号予測残差信号１２６と予測器１０２からの予測画像信号１２１とが加算されることにより、局部復号信号１２７が生成される。局部復号信号１２７は、参照メモリ１０９に参照画像信号として蓄積される。参照メモリ１０９に蓄積された参照画像信号は、予測器１０２による予測の際に参照される。【００１８】
予測器１０２では、参照メモリ１０７に蓄積された参照画像信号の画素（符号化済み参照画素）を利用して、フレーム間予測またはフレーム内予測が行われる。この結果、予測器１０２により対象ブロックに対して選択可能な全ての予測画像信号１２１が生成される。ただし、H. 264のフレーム内予測、例えば図４Ａに示される４×４画素ブロックサイズ予測または図４Ｂに示される８×８画素ブロックサイズ予測のように、対象ブロック内で局部復号信号を作成しないと次の予測ができないような予測モードに関しては、予測器１０２の内部で変換／量子化及び逆量子化／逆変換を行ってもよい。【００１９】
予測器１０２における予測モードの例として、フレーム間予測について説明する。フレーム間予測で対象ブロックを予測する際、参照メモリ１０９に蓄積されている複数の符号化済み参照画素を用いてブロックマッチングが行われる。ブロックマッチングでは、原画像である入力画像信号１２０の対象ブロックの画素と複数の参照画素との間のずれ量が計算される。予測器１０２から、このずれ量を利用して予測された画像のうち原画像との差が小さい画像が予測画像信号１２１として出力される。このずれ量は整数画素精度や分数画素精度で計算され、このずれ量を示す情報が動きベクトル情報１２８として予測モード情報１２９に付加される。【００２０】
予測器１０２によって生成された予測画像信号１２１、及び前記予測残差信号１２２は、モード判定部１０３へ入力される。モード判定部１０３では、入力画像信号１２０、予測画像信号１２１、予測残差信号１２２、予測器１０２で用いた予測モードを表すモード情報１２９、及び後述する変調インデックス１３２に基づいて、最適な予測モードの選択（これをモード判定という）を行う。【００２１】
より具体的に説明すると、モード判定部１０３は次式のようなコストを用いたモード判定を行う。予測モード情報１２９に関する符号量をＯＨ、変調インデックス１３２の符号量をＩＮＤＥＸ、入力画像信号１２０と局部復号信号１２７との間の差分絶対値和をＳＡＤとすると、モード判定部１０３は以下のモード判定式を用いる。
【数１】
2008132890.tif 000003
【００２２】
ここでＫはコスト、λは定数をそれぞれ表す。λは量子化スケールや量子化パラメータの値に基づいて決められる。このようにして得られたコストＫを基に、モード判定が行われる。すなわち、コストＫが最も小さい値を与えるモードが最適な予測モードとして選択される。【００２３】
モード判定部１０３においては、式（１）に代えて（ａ）予測モード情報１２９のみ、（ｂ）変調インデックス１３２のみ、（ｃ）ＳＡＤのみ、または（ｄ）予測残差信号１２２の絶対和のみを用いてモード判定を行ってもよいし、これら（ａ）（ｂ）（ｃ）及び（ｄ）のいずれかにアダマール変換を施した値、またはそれに近似した値を利用してもよい。さらに、モード判定部１０３において入力画像信号１２０のアクテビティを用いてコストを作成してもよいし、量子化スケールまたは量子化パラメータを利用してコスト関数を作成してもよい。【００２４】
さらに別の例として、仮符号化ユニットを用意し、モード判定部１０３において仮符号化ユニットにより、ある予測モードで生成された予測残差信号１２２を実際に符号化した場合の符号量と、入力画像信号１２０と局部復号信号１２７との間の二乗誤差を用いてモード判定を行ってもよい。この場合のモード判定式は、以下のようになる。
【数２】
2008132890.tif 000004
【００２５】
ここで、Ｊは符号化コスト、Ｄは入力画像信号１２０と局部復号画像１１６との間の二乗誤差を表す符号化歪みである。一方、Ｒは仮符号化によって見積もられた符号量を表している。【００２６】
式（２）の符号化コストＪを用いると、予測モード毎に仮符号化と局部復号処理が必要となるため、回路規模または演算量は増大する。反面、より正確な符号量と符号化歪みを用いるため、高い符号化効率を維持することができる。式（２）に代えてＲのみ、またはＤのみを用いてコストを算出してもよいし、Ｒを近似した値またはＤを近似した値を用いてコスト関数を作成してもよい。以下では、式（２）で示される符号化コストＪを用いて説明を行う。【００２７】
モード判定部１０３から出力される予測モード情報１２９（動きベクトル情報を含む）は、エントロピー符号化器１１１に入力される。エントロピー符号化器１１１では、量子化変換係数１２４、予測モード情報１２９、量子化マトリクス１３１及び変調マトリクス１３２などの情報に対して、エントロピー符号化、例えばハフマン符号化や算術符号化などが行われ、符号化データが生成される。【００２８】
エントロピー符号化器１１１により生成された符号化データは符号化ユニット１００から出力され、多重化を経て出力バッファ１１２に一旦蓄積される。出力バッファ１１２に蓄積された符号化データは、符号化制御部１１３が管理する出力タイミングに従って画像符号化装置の外部へ符号化ビットストリーム１３０として出力される。符号化ビットストリーム１３０は、図示しない蓄積系（蓄積メディア）または伝送系（通信ネットワーク）へ送出される。【００２９】
（量子化マトリクス変調部１１０について）  
量子化マトリクス変調部１１０では、符号化制御部１１３から与えられる量子化マトリクス１３１に対して、モード判定部１０３からの変調インデックス１３２に従って変調が施されることにより、変調量子化マトリクス１３３が生成される。変調量子化マトリクス１３３は量子化器１０５及び逆量子化器１０６に与えられ、量子化及び逆量子化に用いられる。【００３０】
より具体的に説明すると、変調量子化マトリクス１３３に従って量子化器１０５で行われる量子化は次式で表される。
【数３】
2008132890.tif 000005
【００３１】
ここでＹは量子化変換係数１２４を表し、Ｘは量子化前の変換係数１２３を表す。ｆは量子化における切り上げ／切捨てを制御する丸めオフセットである。Ｑstepは量子化スケール（量子化ステップサイズ、もしくは量子化幅ともいう）を表している。Ｑstepの値が大きいときは粗く量子化が行われ、小さいときは細かく量子化が行われる。Ｑstepは、量子化パラメータに基づいて変更される。（ｉ，ｊ）は量子化器１０５における量子化ブロック内の周波数成分位置をｘｙ座標で表している。（ｉ，ｊ）は量子化ブロックが図５Ａで示される４×４画素ブロックであるか、図５Ｂで示される８×８画素ブロックであるかなどによって異なる。【００３２】
一般的に、変換ブロックサイズと量子化ブロックサイズは一致している。本実施形態では、複数のブロックサイズの変換量子化ブロックサイズを持っている。変換量子化ブロックサイズは異なる予測モードとして設定されており、異なる予測モードとしてモード判定部１０３で判断される。【００３３】
式（３）中のＭＱＭは変調量子化マトリクス１３３を表し、ｉｄｘは変調インデックス１３２を表している。変調インデックス１３２は、量子化マトリクス変調部１１０により行われる量子化マトリクス１３１の変調に関するインデックスである。変調インデックス１３２については、後に詳しく説明する。【００３４】
変換係数１２３の符号を分離する場合、式（３）は以下のように変形される。
【数４】
2008132890.tif 000006
【００３５】
ここで、sign(X)はXの符号を返す関数であり、変換係数１２３の符号を表す。abs(X)はＸの絶対値を返す関数である。【００３６】
演算を簡単化するため、量子化スケールQstepを２のべき乗で設計すると、式（３）は以下のように変形される。
【数５】
2008132890.tif 000007
【００３７】
ここで、Qbitは２のべき乗で設計された量子化スケールを表している。【００３８】
この場合、除算をビットシフトで置き換えることが可能となり、除算に必要な処理量を軽減することができる。【００３９】
演算精度をできるだけ抑えるために、周波数成分毎に演算精度を変更することも可能である。この場合、式（３）は以下のように変形される。
【数６】
2008132890.tif 000008
【００４０】
ここで、ＬＳは量子化処理の演算精度を周波数成分毎に調整するための演算精度制御パラメータである。すなわち、ＬＳは量子化処理を行う際に周波数位置毎に演算のスケールを変えるために用いられ、レベルスケール(LevelScale)またはノルムアジャスト(normAdjust)などと呼ばれる。演算精度制御パラメータＬＳは、変換係数の高周波成分（図５Ａ及び図５Ｂのそれぞれの右下の領域）に絶対値の大きい値が発生する確率が低い性質を利用している。量子化と逆量子化で演算のスケールを合わせられるように、ＬＳと後述するＩＬＳを設計する必要がある。【００４１】
次に、量子化マトリクス変調部１１０から出力される変調量子化マトリクス１３３について説明する。変調される前の量子化マトリクス１３１は、変換係数１２３の周波数成分毎に量子化の粗さを変えることが可能なマトリクスである。４×４画素ブロックに対応する量子化マトリクス１３１の例を次式に示す。
【数７】
2008132890.tif 000009
【００４２】
図５Ａと式（７）の周波数成分(i,j)は１対１に対応しており、右下の値ほど高い周波数成分に対するマトリクス値を示している。例えば、周波数位置（０，３）のマトリクス値は２８となっている。量子化マトリクス１３１と変調量子化マトリクス１３３の関係は次式で表される。
【数８】
2008132890.tif 000010
【００４３】
ここで、ＱＭは量子化マトリクス１３１を表し、ＭＱＭは変調量子化マトリクス１３３を表している。ＭＰは、変調強度を示す変調パラメータを表している。この場合、変調インデックス１３２は式（８）に示すような変調方法（量子化マトリクスを変調パラメータの加算によって変調するという方法）と変調パラメータＭＰを指し示す。なお、変調インデックス１３２は、このような変調方法が記述されたテーブルの番号であってもよい。【００４４】
式（８）では量子化マトリクスＱＭと変調パラメータＭＰを加算することによってＱＭを変調する例を示しているが、他にＱＭとＭＰとの間で減算、乗算、除算またはビットシフトなどを行ってＱＭを変調してもよい。【００４５】
一方、量子化マトリクスＱＭに対して周波数成分毎に異なる変調を行う場合は、次式が用いられる。
【数９】
2008132890.tif 000011
【００４６】
ここで、ＭＭは変調マトリクスを表している。この場合、変調インデックス１３２は式（９）に示すような変調方法（量子化マトリクスを変調マトリクスの加算によって変調するという方法）と変調マトリクスＭＭを指し示す。なお、変調インデックス１３２は、このような変調方法が記述されたテーブルの番号であってもよい。【００４７】
ここでは量子化マトリクスＱＭと変調マトリクスＭＭを加算することによってＱＭを変調する例を示しているが、他にＱＭとＭＭとの間で減算、乗算、除算またはビットシフトなどを行ってＱＭを変調してもよい。式（８）は、式（９）の変調マトリクスＭＭの全成分が同じ値を取ることと同義である。【００４８】
式（１０）は、４×４サイズの量子化ブロックに対する変調マトリクスＭＭの例を示している。変調マトリクスＭＭも量子化マトリクスＱＭと同様、図５Ａで示される周波数位置の関係と１対１に対応している。
【数１０】
2008132890.tif 000012
【００４９】
量子化マトリクスＱＭが周波数成分に対して固定値の場合は、式（１０）に代えて次式を用いてもよい。
【数１１】
2008132890.tif 000013
【００５０】
ここで、ＱＭはＱＭ(i,j)の全成分が同じ値を取ることを示している。【００５１】
変調パラメータＭＰ及び変調マトリクスＭＭは、量子化マトリクスＱＭに変調を施すために導入されている。ＱＭの変調を行わない場合、またはＭＰが０、またはＭＭの全成分が０の場合、ＭＱＭは次式で算出されることと同義である。
【数１２】
2008132890.tif 000014
【００５２】
量子化マトリクスＱＭの変調を行わない場合、次式に示される変調マトリクスＭＭを式（９）に代入しても式（１２）と同じ結果が得られる。
【数１３】
2008132890.tif 000015
【００５３】
このようにして、量子化器１０５において変調量子化マトリクス１３３（ＭＭ）を用いた量子化が行われる。ここでは、量子化マトリクス変調部１１０に符号化制御部１１３から量子化マトリクス１３１が入力パラメータとして与えられるとしたが、量子化マトリクス変調部１１０に量子化マトリクス１３１が与えられなくてもよい。その場合、量子化マトリクス変調部１１０に予め決められた初期量子化マトリクス、例えば次式で示されるようなマトリクスＱＭInt(i,j)が設定される。
【数１４】
2008132890.tif 000016
【００５４】
式（１４）では初期量子化マトリクスＱＭInt(i,j)の全ての値が１６である例を示したが、他の値でもよいし、周波数成分毎に異なる値を設定していてもよい。画像符号化装置と画像復号化装置間で予め決められた同じ初期量子化マトリクスが設定されればよい。【００５５】
量子化及び逆量子化に必要とされる量子化パラメータは、符号化制御部１１３において設定されている。量子化器１０５で及び逆量子化器１０６で利用される量子化パラメータは、１対１に対応している。量子化器１０５から出力された量子化変換係数１２４は、変調量子化マトリクス１３３と共に逆量子化器１０６へ入力される。逆量子化器１０６では、量子化器１０５から与えられる量子化変換係数１２４に対して、変調量子化マトリクス１３３と量子化パラメータを用いて逆量子化が行われる。式（３）の量子化に対応する逆量子化は、次式で表される。
【数１５】
2008132890.tif 000017
【００５６】
ここで、Ｙは量子化変換係数１２４、Ｘ’は逆量子化変換係数１２５を表し、ＭＱＭは量子化時に利用された変調量子化マトリクス１３２を表している。【００５７】
式（４）の量子化に対応する逆量子化は、次式で表される。
【数１６】
2008132890.tif 000018
【００５８】
ここで、sign（Ｙ）はＹの符号を返す関数である。【００５９】
演算を簡単化するため、Ｑstepを２のべき乗とすると、式（５）に対応する逆量子化は次式で表される。
【数１７】
2008132890.tif 000019
【００６０】
式（１７）によると、乗算をビットシフトで置き換えることが可能となり、乗算に必要な処理量を軽減することができる。【００６１】
一方、演算精度を抑えるために周波数成分毎に演算精度を変更する、式（６）に対応した逆量子化は次式で示される。
【数１８】
2008132890.tif 000020
【００６２】
ここで、ＩＬＳは逆量子化処理の演算精度を周波数成分毎に調整するための演算精度制御パラメータである。ＩＬＳは逆量子化処理を行う際に、周波数位置毎に演算のスケールを変えるために用いられ、レベルスケール(LevelScale)またはノルムアジャスト(normAdjust)などと呼ばれる。ＩＬＳとしては、量子化で利用した演算精度制御パラメータに対応する値が用いられる。H. 264 ハイプロファイルの逆量子化（誤差信号４×４画素ブロック）を次式に示す。すなわち、H. 264では少ない演算量で１６ビットでの演算精度を実現するために、次式のような逆量子化が行われる。
【数１９】
2008132890.tif 000021
【００６３】
ここで、レベルスケールＩＬＳ(m,i,j)は式（２０）で定義される値であり、ＱＰは０から５１までの値をとる量子化パラメータである。
【数２０】
2008132890.tif 000022
【００６４】
ここで、Norm(m,i,j)は式（５）で表されるスケール調整パラメータであり、各要素は式（６）で表されている。
【数２１】
2008132890.tif 000023
【数２２】
2008132890.tif 000024
【００６５】
量子化器１０５で量子化時に利用された量子化パラメータは、逆量子化器１０６に対しても、符号化制御部１１３によって設定される。これによって、量子化器１０５及び逆量子化器１０６の双方で必ず同じ量子化パラメータが利用される。さらに、量子化器１０５及び逆量子化器１０６では、同じ変調量子化マトリクス１３３が利用される。【００６６】
図１における減算器１０１→変換器１０４→量子化器１０５→逆量子化器１０６→逆変換器１０７→加算器１０８→参照メモリ１０９のループを符号化ループと呼ぶ。符号化ループは、対象ブロックで選択可能な１つの予測モードと、１つの変調インデックスと、１つのブロックサイズとの組み合わせに対して処理を行った場合に一巡する。ここでいう組み合わせは、具体的には例えばイントラ予測モードと変調インデックス０と８ｘ８ブロックサイズとの組み合わせ、インター予測モードと変調インデックス０と４ｘ４ブロックサイズとの組み合わせなどを指す。対象ブロックに対して、このような符号化ループの処理が複数回行われ、取り得る全ての組み合わせが終了すると、次のブロックの入力画像信号１２０が入力され、次の符号化が行われる。【００６７】
符号化制御部１１３は、発生符号量のフィードバック制御、量子化特性制御及びモード判定制御などを行うことによって、発生符号量の制御を行うレート制御、予測器１０２の制御、外部入力パラメータの制御といった符号化の処理全般の制御を行う。符号化制御部１１３は、さらに出力バッファ１１２の制御を行い、適切なタイミングで符号化ビットストリーム１３０を外部に出力させる機能を有する。【００６８】
符号化ユニット１００及び符号化制御部１１３の処理は、ハードウェアにより実現することも可能であるが、コンピュータを用いてソフトウェア（プログラム）によって実現することも可能である。【００６９】
（量子化マトリクス変調部１１０の具体例）  
次に、量子化マトリクス変調部１１０の具体例を説明する。図６に示されるように、量子化マトリクス変調部１１０は変調マトリクス設定部２０１と変調量子化マトリクス生成部２０２を有する。図１中のモード判定部１０３から出力される変調インデックス１３２は、変調マトリクス設定部２０１へ入力される。図１中の符号化制御部１１３から入力パラメータとして設定される、または予め保持されている量子化マトリクス１３１は、変調量子化マトリクス生成部２０２へ入力される。【００７０】
変調マトリクス設定部２０１では、変調インデックス１３２に対応する変調マトリクス１３４が変調量子化マトリクス生成部２０２に対して設定される。変調量子化マトリクス生成部２０２では、量子化マトリクス１３１に対して変調マトリクス１３４を用いて変調が施されることにより、変調量子化マトリクス１３３が生成される。生成された変調量子化マトリクス１３３は、量子化マトリクス変調部１１０から出力される。【００７１】
（変調マトリクス設定部２０１）  
図７に示されるように、変調マトリクス設定部２０１は、切替器３０１と、生成方法または変調パラメータの異なる変調マトリクス生成部３０２，３０３及び３０４を有する。切替器３０１は、入力されてきた変調インデックス１３２の値に応じて切り替わり、変調マトリクス生成部３０２，３０３及び３０４のいずれか一つをアクティブにする機能を有する。例えば、変調インデックス１３２がｉｄｘ＝０であるとき、切替器３０１は変調マトリクス生成部３０２を動作させる。同様に、切替器３０１はｉｄｘ＝１のときは変調マトリクス生成部３０３を動作させ、ｉｄｘ＝Ｎ−１のときは変調マトリクス生成部３０４を動作させる。動作した変調マトリクス生成部によって変調マトリクス１３４が生成される。生成された変調マトリクス１３４は、変調量子化マトリクス生成部２０２に対して設定される。【００７２】
変調マトリクス１３４の具体的な生成方法を説明する。ここでは、変調マトリクス１３４の生成のための２つの生成モデルについて示す。以下、変調マトリクス１３４の生成方法を変調モデルと呼ぶ。式（２４）及び式（２５）に示されるような変調マトリクス１３４の成分の、第１行第１列の成分からの距離を市街地距離として次式で定義する。
【数２３】
2008132890.tif 000025
【００７３】
例えば、図５Ａにおいて（ｉ，ｊ）＝（３，３）に位置する周波数成分の距離は６となる。一方、図５Ｂに示されるような８×８ブロックの場合、（ｉ，ｊ）＝（３，７）に位置する周波数成分の距離は１０となる。【００７４】
本実施形態のように変調マトリクス１３４が量子化マトリクス１３１に加算される例では、量子化マトリクス１３１及び変調マトリクス１３４の各周波数成分は１対１に対応する。つまりｒの値（変調マトリクス１３４のマトリクス値）が大きくなるほど、高周波数成分に対する変調を行い、ｒが小さければ低周波数成分に対する変調を行う。以下、量子化マトリクス１３１を変調するための変調モデルについて説明する。【００７５】
図８は、線形関数で定義される変調モデルであり、次式で表される。  
【数２４】
2008132890.tif 000026
【００７６】
式（２４）中のａは変調の強度を制御するパラメータである。以後、このパラメータａを変調制御パラメータと呼ぶ。変調制御パラメータａは、正の値を取るときは図８中の第１象限に値を持ち、負の値を取るときは第４象限に値を持つ。これにより変調制御パラメータａが大きな値を持つほど、高周波成分に対して強い変調が施される。【００７７】
図９は、線形関数とサイン関数を用いた場合の変調モデルであり、次式で表される。  
【数２５】
2008132890.tif 000027
【００７８】
式（２５）中のｂ，ｃはａと同様に変調制御パラメータである。サイン関数は、線形関数に対して歪みを加える項となっている。変調制御パラメータｃは、サイン関数の変化の周期を制御するパラメータである。変調制御パラメータｂは、歪みの強さを制御するパラメータである。【００７９】
ここでは、変調モデルとして線形関数モデルまたはサイン関数モデルを用いた例を示しているが、変調モデルの別の例として対数モデル、自己相関関数モデル、比例・逆比例モデル、Ｎ次関数（Ｎ≧１）モデル、またはガウス関数やラプラス関数を含む一般化ガウス関数モデルなどを用いてもよい。いずれのモデルを用いる場合も、画像符号化装置において利用された変調と同じ変調が画像復号化装置においても利用できることが重要であるが、これは画像符号化装置において変調インデックス１３２により変調モデルを指し示すようにすることにより可能となる。【００８０】
変調マトリクス生成部３０２，３０３及び３０４は便宜上、それぞれインデックス０，インデックス１及びインデックスＮ−１に対応させている。しかし変調マトリクス生成部をインデックス数Ｎの値に応じて用意してもよいし、インデックスの異なる値に対して同じ変調マトリクス生成部を利用してもよい。例えば、表１〜表３は変調インデックス１３２に対する変調モデルと変調制御パラメータの組み合わせ例を示している。
【表１】
2008132890.tif 000028
【表２】
2008132890.tif 000029
【表３】
2008132890.tif 000030
【００８１】
表１〜表３中、Ｎ／Ａで示される記号は、現在規定されている変調モデルでは対象パラメータを利用しないことを意味している。インデックス０は、変調を行わない場合、すなわち式（１２）を利用する場合を示している。【００８２】
表１は、変調インデックスが２ビット（Ｎ＝４通り）で規定されている場合の変調モデルと変調制御パラメータの組み合わせ例である。この場合、式（２４）で示される変調モデルのみを利用するため、図７中の変調マトリクス生成部は１つのみでよい。変調インデックスに応じて、予め設定されている変調制御パラメータａが読み出され、変調マトリクスが生成される。【００８３】
表２は、変調インデックスが３ビット（Ｎ＝８通り）で規定され、且つ複数の変調モデルを用いたときの例を示している。この場合、式（２４）及び式（２５）の２つの変調モデルを利用している。表１と同様、予め決められた変調制御パラメータに応じて変調マトリクスが生成される。【００８４】
表１で示されるように、１つの変調制御パラメータのみで表現される変調モデルを用いている場合、変調インデックスの値を変調制御パラメータに直接対応付けてもよい。この場合の例は、表３に示されている。表１及び表２の対応付けでは、予め定められたテーブルに従って変調マトリクスが生成されるのに対し、表３の場合は量子化マトリクスの変調の強度を直接変更することが可能となる。すなわち、予め設定しておく必要がなく、必要に応じて大きな値を直接設定して変調マトリクスを生成することが可能である。【００８５】
（変調量子化マトリクス生成部２０２）  
図１０に示されるように、変調量子化マトリクス生成部２０２は算術演算器５０１を有する。算術演算器４０１は、加算を始めとして、減算、乗算、除算及びビットシフトなどの基本演算を行うことができる。また、これらの基本演算を組み合わせて、行列の加算、減算、乗算及び除算なども可能である。【００８６】
算術演算器４０１では、変調マトリクス設定部２０３からの変調マトリクスと符号化制御部１１３からの量子化マトリクス１３１が入力され、量子化マトリクス１３１に対して変調が施される。本実施形態では、式（９）で示されるような変調マトリクス（ＭＭ）の加算によって量子化マトリクス１３１が変調され、変調量子化マトリクス１３３が生成される。生成された変調量子化マトリクス１３３は、変調量子化マトリクス生成部２０２から出力される。【００８７】
次に、量子化マトリクスの変調について図１１Ａ、図１１Ｂ、図１１Ｃ及び図１１Ｄを用いて説明する。図１１Ａは、式（１２）のように変調マトリクスを利用しない場合に、それぞれのマクロブロックに割り当てられる量子化マトリクスを示している。この場合、符号化スライスの全てのマクロブロックに対して同じ量子化マトリクス１３１が適用されるため、図１１Ａでは量子化マトリクスをスライス量子化マトリクスと記載している。【００８８】
一方、図１１Ｂは２つの変調マトリクスを用いた場合（Ｎ＝２）の例を示している。また、図１１Ｄは図１１Ｃに示される４つの変調マトリクスを用いた場合（Ｎ＝４）の例を示している。図１１Ｃは、量子化マトリクス１３１に対して変調マトリクス設定部２０３で設定された４つの変調マトリクス２０３が示されている。変調量子化マトリクス生成部２０２において式（９）に示したような変調マトリクス（ＭＭ）の加算による変調を行うことによって、図１１Ｂ及び図１１Ｄに示すように符号化スライス内の局所的な領域で特性の異なる量子化マトリクス（ブロック量子化マトリクスという）を生成することができる。これによって、符号化スライス内の局所的な領域で異なる量子化マトリクスを適用することが可能となる。【００８９】
（符号化処理手順）  
次に、図１２を用いて本実施形態における画像符号化の処理手順について説明する。画像符号化装置に動画像信号が入力されると、符号化対象の動画像フレーム１枚が読み込まれ（ステップＳ００１）、読み込まれた動画像フレームが複数のマクロブロックに分割され、マクロブロック単位の入力画像信号１２０が符号化ユニット１００に入力される（ステップＳ００２）。このとき、モード判定部１０３では予測モード：modeと変調インデックス１３２：indexの初期化及び符号化コスト：min_costの初期化が行われる（ステップＳ００３）。【００９０】
次に、予測器１０２において入力画像信号１２０を用いて、対象ブロックに対して選択可能な１つのモードにおける予測画像信号１２１が生成される（ステップＳ００４）。図１２では省略しているが、次に入力画像信号１２０と生成された予測画像信号１２１との差分がとられ、予測残差信号１２２が生成される。生成された予測残差信号１２２は、変換器１０４によって直交変換される（ステップＳ００６の前半）。この直交変換により生成された変換係数１２３は、量子化器１０５へ入力される。【００９１】
一方、モード判定部１０３で選択された変調インデックス１３２：indexの値に応じて変調マトリクスが設定される（ステップＳ００５）。設定された変調マトリクスを用いて量子化マトリクス変調部１１０により変調量子化マトリクス１３２が生成され、変調量子化マトリクス１３２を用いて量子化器１０５により変換係数１２３の量子化が行われる（ステップＳ００６の後半）。ここでは符号化歪Ｄと符号量Ｒの算出を行い、式（３）を用いて符号化コスト：costを計算する（ステップＳ００７）。【００９２】
モード判定部１０３は、計算された符号化コスト：costが最小コスト：min_costより小さいか否かを判別する（ステップＳ００８）。costが最小コスト：min_costより小さい場合（Ｓ００８の結果がＹＥＳの場合）には、costでmin_costを更新するとともに、その際の予測モードをbest_modeとして保持し、さらにそのときの変調インデックス１３２：indexをbest_indexとして保持する（ステップＳ００９）。同時に、予測画像信号１２１を内部メモリに一時保持する（ステップＳ０１０）。【００９３】
一方、costが最小コストであるmin_costより大きい場合（Ｓ００８の結果がＮＯの場合）には、変調インデックス１３２：indexをインクリメントし、インクリメント後のindexが変調インデックス１３２の最後かどうかを判定する（ステップＳ０１１）。indexが変調インデックス１３２の最後の番号であるIMAXよりも大きい場合（Ｓ０１１の結果がＹＥＳの場合）、best_indexの情報がエントロピー符号化器１１１へ渡される。一方、indexがIMAXよりも小さい場合（Ｓ０１１の結果がＮＯの場合）には、更新された変調インデックスindexを用いて再度、前記符号化ループの処理が実行される。【００９４】
ステップＳ０１０の結果がＹＥＳの場合、次に予測モード：modeをインクリメントし、インクリメント後のmodeが予測モードの最後であるかどうかを判定する（ステップＳ０１２）。modeが予測モードの最後の番号であるMMAXよりも大きい場合（Ｓ０１２の結果がＹＥＳの場合）、best_modeの予測モード情報及び量子化された変換係数１２３がエントロピー符号化器１１１へ送られ、変換係数１１１と既に確定している変調インデックス１３２のエントロピー符号化が行われる（ステップＳ０１３）。一方、modeがMMAXよりも小さい場合（Ｓ０１２の結果がＮＯの場合）、次のmodeで示される予測モードに対して前記符号化ループの処理が行われる。【００９５】
best_mode及びbest_indexでの符号化が行われると、量子化変換係数１２４が逆量子化器１０６へ入力され、量子化時に利用された変調インデックスと同じbest_indexによって逆量子化が行われる（ステップＳ０１４の前半）。更に逆量子化された変換係数１２５は逆変換器１０７へ入力され、逆変換が行われる（ステップＳ０１４の後半）。再生された予測残差信号１２６とモード判定部１０３から提供されるbest_modeの予測画像信号１２４とが加算され、これによって生成される復号画像信号１２７が参照メモリ１０９へ保存される（ステップＳ０１５）。【００９６】
ここで、１フレームの符号化処理が終了しているかどうかの判定が行われる（ステップＳ０１６）。処理が完了している場合（Ｓ０１６の結果がＹＥＳの場合）、次のフレームの画像信号が入力され、符号化処理が行われる。一方、１フレームの符号化処理が完了していない場合（Ｓ０１６の結果がＮＯの場合）、次の対象ブロックの画像信号が入力され、符号化処理が継続される。【００９７】
（シンタクスの符号化方法）  
次に、本実施形態で用いるシンタクスの符号化方法について説明する。図１３は、本実施形態で用いられるシンタクスの構造の概略を示している。シンタクスは主に３つのパートからなる。ハイレベルシンタクス５０１では、スライス以上の上位レイヤのシンタクス情報が詰め込まれている。スライスレベルシンタクス５０２では、スライス毎に必要な情報が明記されており、マクロブロックレベルシンタクス５０３では、マクロブロック毎に必要とされる量子化パラメータの変更値やモード情報などが明記されている。【００９８】
シクタクス５０１〜５０３は、さらに詳細なシンタクスで構成されている。ハイレベルシンタクス５０１は、シーケンスパラメータセットシンタクス５０４とピクチャパラメータセットシンタクス５０５などのシーケンスレベル及びピクチャレベルのシンタクスを含む。スライスレベルシンタクス５０２は、スライスヘッダシンタクス５０６及びスライスデータシンタクス５０７などを含む。マクロブロックレベルシンタクス５０３は、マクロブロックレイヤーシンタクス５０８及びマクロブロックプレディクションシンタクス５０９などを含む。【００９９】
本実施形態において必要となるシンタクス情報は、シーケンスパラメータセットシンタクス５０４、ピクチャパラメータセットシンタクス５０５、スライスヘッダシンタクス５０６及びマクロブロックレイヤーシンタクス５０８であり、以下これらの各シンタクス５０４〜５０６について説明する。【０１００】
図１４のシーケンスパラメータセットシンタクス内に示されるseq_moduletaed_quantization_matrix_flagは、量子化マトリクスの変調の可否、すなわち量子化器１０５が変調量子化マトリクス１３３を用いて量子化を行うか否か（変調前の量子化１３１を用いて量子化を行うか）をシーケンス毎に変更するかどうかを示すフラグである。当該フラグseq_moduletaed_quantization_matrix_flagがTRUEであるときは、量子化マトリクスの変調を利用するかどうかをシーケンス単位で切り替えることが可能である。一方、当該フラグseq_moduletaed_quantization_matrix_flagがFALSEであるときは、シーケンス内では量子化マトリクスの変調を用いることができない。【０１０１】
図１５のピクチャパラメータセットシンタクス内に示されるpic_moduletaed_quantization_matrix_flagは、量子化マトリクスの変調の利用可否をピクチャ毎に変更するかどうかを示すフラグである。当該フラグpic_moduletaed_quantization_matrix_flagがTRUEであるときは、量子化マトリクスの変調を利用するかどうかをピクチャ単位で切り替えることが可能である。一方、当該フラグpic_moduletaed_quantization_matrix_flagがFALSEであるときは、ピクチャ内では量子化マトリクスの変調を用いることができない。【０１０２】
図１６のスライスヘッダシンタクス内に示されるslice_moduletaed_quantization_matrix_flagは、量子化マトリクスの変調の利用可否をスライス毎に変更するかどうかを示すフラグである。当該フラグslice_moduletaed_quantization_matrix_flagがTRUEであるときは、量子化マトリクスの変調を利用するかどうかを、スライス単位で切り替えることが可能である。一方、当該フラグslice_moduletaed_quantization_matrix_flagがFALSEであるときは、スライス内では量子化マトリクスの変調を用いることができない。【０１０３】
図１７のマクロブロックレイヤーシンタクス内に示されるmodulation_indexは、変調インデックスを表している。シンタクス中のcoded_block_patternは、当該ブロックに変換係数が発生しているかを示すインデックスである。当該インデックスcoded_block_patternが０である場合、当該マクロブロック内では変換係数が発生しないため、復号化の際に逆量子化を行う必要が無い。このような場合は、量子化マトリクスに関する情報を送る必要性がないため、modulation_indexは送信されない。【０１０４】
一方、シンタクス中のmodeは、予測モードを示すインデックスである。当該インデックスmodeがskipモードを選択している場合、当該ブロックは同様に変換係数を送信しない。よってmodulation_indexは送信されない。CurrentModulatedQuantizationMatrixFlagは、seq_moduletaed_quantization_matrix_flag, pic_moduletaed_quantization_matrix_flag及びslice_moduletaed_quantization_matrix_flagの少なくとも１つのフラグがTRUEであるときにTRUEとなり、この条件が満たされない場合はFALSEを取る。当該フラグCurrentModulatedQuantizationMatrixFlagがFALSEであるとき、modulation_indexは送信されず、変調インデックス１３２には０に対応する値が設定される。modulation_indexは表１及び表２に示されるように、インデックス毎に変調モデルと変調制御パラメータが決められたテーブルを予め持っている。【０１０５】
図１７で示されるmacroblock_dataシンタクスを図１８で表されるようなシンタクスに変更してもよい。図１８のシンタクスでは、図１７のシンタクスにおけるmodulation_indexに代えてmodulation_strengthが送信される。modulation_indexは、前述したように変調モデルと変調制御パラメータが決められたテーブルを予め持っている。一方で、modulation_strengthは変調モデルが固定されており、その変調制御パラメータの値が直接送信される。すなわち、図１８のシンタクスは表３で説明した方式に対応している。この場合、modulation_strengthを送信するための送信符号量は一般に増大する反面、量子化マトリクスの変調強度を変更するための自由度が高いため、より柔軟な量子化が可能となる。よって、符号量と復号画像のバランスを考えて図１７のシンタクスと図１８のシンタクスのいずれかを選択すればよい。【０１０６】
図１８におけるCurrentModulatedQuantizationMatrixFlagは、seq_moduletaed_quantization_matrix_flag, pic_moduletaed_quantization_matrix_flag及びslice_moduletaed_quantization_matrix_flagの少なくとも１つのフラグがTRUEであるときにTRUEとなり、この条件が満たされない場合はFALSEを取る。当該フラグCurrentModulatedQuantizationMatrixFlagがFALSEであるとき、modulation_strengthは送信されず、変調インデックス１３２には０に対応する値が設定される。【０１０７】
さらに別の例として、図１６で示されるスライスヘッダシンタクスを図１９で表されるようなシンタクスに変えてもよい。図１９のシンタクスと図１６のシンタクスとの違いは、slice_moduletaed_quantization_matrix_flagがTRUEの場合に、slice_modulation_length, slice_modulation_model及びslice_modulation_typeの３つのインデックスが追加送信される点である。【０１０８】
図２０には、これらのシンタクスエレメントに対するセマンティクスの例が示されている。slice_modulation_lengthは、変調インデックス１３２の最大値を表している。例えば、このslice_modulation_lengthが２の場合、Ｎ＝４種類の変調マトリクスを利用できることを意味する。slice_modulation_modelは、利用する変調モデルを示している。例えば、このslice_modulation_modelが０の場合は式（１９）を利用し、１の場合は式（２０）に対応する変調モデルが割り当てられることを意味している。slice_modulation_typeは、量子化マトリクスに対する変調マトリクスの変調演算方法を規定している。例えば、このslice_modulation_typeが０の場合は加算による変調を行い、４の場合はビットシフトによる変調を行うことを意味する。【０１０９】
以上説明したように、第１の実施形態では量子化マトリクスに対して変調を行い、変調量子化マトリクスを用いて変換係数に対して量子化／逆量子化を行い、量子化変換係数と量子化マトリクスの変調方法を示す変調インデックスをエントロピー符号化する。従って、従来の技術に比較してより高い符号化効率を維持しつつ、復号化側の演算コストを増加させない符号化が実現できる。すなわち、対象ブロックの内容等に応じて好適な符号化を行うことができる。【０１１０】
（第２の実施形態）  
量子化器１０５及び逆量子化器１０６が式（６）及び式（１８）に対応する量子化／逆量子化を行う場合、第１の実施形態のように量子化マトリクスに対して変調を行う代わりに、量子化／逆量子化時の演算精度を制御する演算精度制御パラメータに対して変調を行ってもよい。この場合、式（６）及び式（１８）はそれぞれ次のように変更される。
【数２６】
2008132890.tif 000031
【数２７】
2008132890.tif 000032
【０１１１】
ここで、ＭＬＳ及びＩＭＬＳは変調された演算精度制御パラメータであり、次式で表わされる。
【数２８】
2008132890.tif 000033
【数２９】
2008132890.tif 000034
【０１１２】
このように演算精度制御パラメータＬＳ及びＩＬＳに変調を行うことは、変調マトリクスの値の調整を行うことによって量子化マトリクスに変調を行うこととほぼ同等である。式（２６）及び式（２７）を利用する場合は、加算に加えて、減算、乗算、除算及びビットシフトなどを用いて演算精度制御パラメータＬＳ及びＩＬＳを変調すればよい。【０１１３】
図２１は、第２の実施形態に従う画像符号化装置を示しており、図１に示した第１の実施形態に従う画像符号化装置における量子化マトリクス変調部１１０が演算精度制御パラメータ変調部１４０に置き換えられている。【０１１４】
演算精度制御パラメータ変調部１４０には、符号化制御部１１３から式（２８）中のＬＳまたは式（２９）中のＩＬＳに相当する演算精度制御パラメータ１４１が与えられ、またモード判定部１０３から式（２６）〜（２９）中のidxに相当する、変調方法を示す変調インデックス１４２が与えられる。演算精度制御パラメータ変調部１４０では、変調インデックス１４２により示される変調方法に従って演算精度制御パラメータ１４１に対して変調が施され、式（２８）のＭＬＳまたは式（２９）のＭＩＬＳに相当する、変調された演算精度制御パラメータ（変調制御パラメータという）１４３が生成される。【０１１５】
変調制御パラメータ１４３は、量子化器１０５及び逆量子化器１０６に与えられる。量子化器１０５及び逆量子化器１０６では、変調制御パラメータ１４３に従って変換係数１２３の量子化及び量子化変換係数１２４の逆量子化が行われる。【０１１６】
このように第２の実施形態によれば、第１の実施形態における量子化マトリクスの変調と同等の処理である、量子化／逆量子化時の演算精度を制御する演算精度制御パラメータの変調を行うことによって、第１の実施形態と同様の効果を得ることができる。【０１１７】
（第３の実施形態）  
量子化器１０５及び逆量子化器１０６が式（４）及び式（１６）に対応する量子化／逆量子化を行う場合、第１の実施形態のように量子化マトリクスに対して変調を行う代わりに、量子化パラメータに変調を行ってもよい。この場合、式（４）及び式（１６）はそれぞれ次のように変更される。
【数３０】
2008132890.tif 000035
【数３１】
2008132890.tif 000036
【０１１８】
ここで、ＱＰstepは変調量子化パラメータであり、次式で表わされる。
【数３２】
2008132890.tif 000037
【０１１９】
ここで、Ｑstepは量子化パラメータである。【０１２０】
このように量子化パラメータＱstepに対して変調を行うことは、量子化マトリクスに対して変調を行うことと同義である。式（５）と式（１７）、式（６）と式（１８）のような量子化／逆量子化に対しても、演算精度制御パラメータを調整することにより量子化パラメータに対する変調を行うことが可能である。【０１２１】
図２２は、第３の実施形態に従う画像符号化装置を示しており、図１に示した第１の実施形態に従う画像符号化装置における量子化マトリクス変調部１１０が量子化パラメータ変調部１５０に置き換えられている。【０１２２】
量子化パラメータ変調部１５０には、符号化制御部１１３から式（３２）中のＱstepに相当する量子化パラメータ１５１が与えられ、またモード判定部１０３から式（３０）〜（３１）中のidxに相当する、変調方法を示す変調インデックス１５２が与えられる。量子化パラメータ変調部１５０では、変調インデックス１５２により示される変調方法に従って量子化パラメータ１５１に対して変調が施され、式（３０）〜（３２）のＱＰstepに相当する変調量子化パラメータ（変調量子化パラメータという）１５３が生成される。【０１２３】
変調量子化パラメータ１５３は、量子化器１０５及び逆量子化器１０６に与えられる。量子化器１０５及び逆量子化器１０６では、変調量子化パラメータ１５３に従って変換係数１２３の量子化及び量子化変換係数１２４の逆量子化が行われる。【０１２４】
このように第３の実施形態によれば、第１の実施形態における量子化マトリクスの変調と同等の処理である、量子化／逆量子化時の量子化パラメータの変調を行うことによって、第１の実施形態と同様の効果を得ることができる。【０１２５】
（第４の実施形態）  
図２３は、本発明の第４の実施形態に従う画像符号化装置を示しており、図１に示した第１の実施形態に従う画像符号化装置における量子化マトリクス変調部１１０が量子スケールテーブル変調部１６０に置き換えられている。【０１２６】
量子スケールテーブル変調部１６０には、符号化制御部１１３から後述する量子スケールテーブル１６１が与えられ、またモード判定部１０３から変調方法を示す変調インデックス１６２が与えられる。量子スケールテーブル変調部１６０では、変調インデックス１６２により示される変調方法に従って量子スケールテーブル１６１に対して変調が施され、変調量子スケールテーブル１６３が生成される。【０１２７】
変調量子スケールテーブル１６３は、量子化器１０５及び逆量子化器１０６に与えられる。量子化器１０５及び逆量子化器１０６では、変調量子スケールテーブル１６３に従って変換係数１２３の量子化及び量子化変換係数１２４の逆量子化が行われる。【０１２８】
具体的に説明すると、量子スケールテーブル変調部１６０は量子化の粗さを決定する量子化パラメータによって制御される量子化スケールの変更幅を設定する機能を有する。このとき、量子化器１０５で行われる量子化及び逆量子化器１０６で行われる逆量子化は、次式で表される。
【数３３】
2008132890.tif 000038
【数３４】
2008132890.tif 000039
【０１２９】
ここでＱＴstepは量子化スケールを示しており、この値の大きさによって量子化の粗さが制御される。一方、ｑｐは量子化パラメータを示しており、ｑｐによって定められた量子化スケールが導出される。Ｔidxは量子スケールテーブルに対する変調インデックス１６２を示している。ここで、ｑｐを変更すると量子化スケールが変化し、量子化の粗さも変化する。【０１３０】
H. 264のような従来の動画像符号化方式では、量子化パラメータの値に応じて固定の量子化スケールが導出される。本実施形態では変調インデックス１６２によって、量子化パラメータを変更したときの量子化スケールの幅を変更することが可能である。【０１３１】
図２４は、量子化パラメータと量子化スケールの関係を示している。本実施形態では、このように量子化パラメータと量子化スケールとを対応付けたテーブルを量子スケールテーブルと呼ぶ。図２４中に示されるサークルは、量子化パラメータｑｐ（ＱＰ±ｉ；ｉ＝１，２，・・・）を示している。すなわち、ＱＰは基準の量子化パラメータ（基準パラメータという）であり、量子化パラメータｑｐはＱＰからの変化を示している。一方、サークル間の距離が量子化スケールΔを示している。【０１３２】
図２４（ａ）は、変調インデックス１６２がＴidx=０の時に対応する、量子化スケールの精度を変更しない場合（量子スケールテーブルの変調を行わない場合）の量子スケールテーブルの例を示している。図２４（ａ）によると、量子化パラメータｑｐを基準パラメータＱＰから変更した場合、量子化スケールΔが量子化パラメータに応じて線形に変化している。このような量子化パラメータの変更は、周知のように例えば出力バッファ１１２のバッファ量に応じて行われる。【０１３３】
一方、図２４（ｂ）は変調インデックス１６２がＴidx=１の場合の例であり、この例ではｑｐが±１までに増減したときの量子化スケールΔが約２倍に拡大されている。また、図２４（ｃ）は変調インデックス１６２がＴidx=２の場合の例であり、この例ではｑｐが±１までに増減したときの量子化スケールΔが半分に削減されている。さらに、図２４（ｄ）は変調インデックス１６２がTidx=３の場合の例であり、この例ではｑｐが±２までに増減したときの量子化スケールが半分に削減されている。ここで、量子スケールテーブルを変調するとは、図２４（ａ）に示した基準の量子スケールテーブルを図２４（ｂ）（ｃ）及び（ｄ）のように変調インデックス１６２に従って変化させることを意味している。この場合、例えば図２４（ａ）は量子スケールテーブル変調部１６０に入力される量子スケールテーブル１６１に相当し、図２４（ｂ）（ｃ）及び（ｄ）が変調量子スケールテーブル１６３に相当する。【０１３４】
表４には、変調インデックス１６２：Ｔidxに対応する量子化パラメータの変動値と、そのときの量子化スケールの変動値が示されている。表４に従って、与えられたｑｐから対象ブロックに対応する量子化スケールの変更幅が決定され、ＱＴstepが設定される。このテーブル情報を精度変調情報６０３と呼ぶ。このように、変調インデックス１６２を変更することによって、マクロブロック単位で量子化スケールの精度を変更することが可能となる。
【表４】
2008132890.tif 000040
【０１３５】
次に、本実施形態におけるシンタクスについて説明する。シンタクス構造は、第１の実施形態で説明した図１３と同一であるため説明を省略する。  
図２５のシーケンスパラメータセットシンタクス内に示されるseq_moduletaed_quantization_precision_flagは、量子化精度の変調の利用可否をシーケンス毎に変更するかどうかを示すフラグである。当該フラグseq_moduletaed_quantization_precision_flagがTRUEであるときは、量子化パラメータに対応する量子化スケールの精度変調を行うかどうかをシーケンス単位で切り替えることが可能である。一方、当該フラグseq_moduletaed_quantization_precision_flagがFALSEであるときは、シーケンス内では量子化パラメータに対応する量子化スケールの精度変調を用いることができない。【０１３６】
図２６のピクチャパラメータセットシンタクス内に示されるpic_moduletaed_quantization_precision_flagは、量子化精度の変調の利用可否をピクチャ毎に変更するかどうかを示すフラグである。当該フラグpic_moduletaed_quantization_precision_flagがTRUEであるときは、量子化パラメータに対応する量子化スケールの精度変調を利用するかどうかをピクチャ単位で切り替えることが可能である。一方、当該フラグpic_moduletaed_quantization_precision_flagがFALSEであるときは、ピクチャ内では量子化パラメータに対応する量子化スケールの精度変調を用いることができない。【０１３７】
図２７のスライスヘッダシンタクス内に示されるslice_moduletaed_quantization_precision_flagは、量子化精度の変調の利用可否をスライス毎に変更するかどうかを示すフラグである。当該フラグslice_moduletaed_quantization_precision_flagがTRUEであるときは、量子化パラメータに対応する量子化スケールの精度変調を利用するかどうかをスライス単位で切り替えることが可能である。一方、当該フラグslice_moduletaed_quantization_precision_flagがFALSEであるときは、スライス内では量子化パラメータに対応する量子化スケールの精度変調を用いることができない。【０１３８】
図２８のマクロブロックレイヤーシンタクス内に示されるprecision_modulation_indexは精度変調インデックスを表す。coded_block_patternは当該ブロックに変換係数が発生しているかを示すインデックスである。当該インデックスcoded_block_patternが０である場合、当該マクロブロック内では変換係数が発生しないため、復号化の際に逆量子化を行う必要が無い。このような場合は、量子化処理に関する情報を送る必要性がないため、precision_modulation_indexは送信されない。【０１３９】
一方、modeは予測モードを示すインデックスである。当該インデックスmodeがskipモードを選択している場合、当該ブロックは同様に変換係数を送信しない。よってprecision_modulation_indexは送信されない。【０１４０】
図２８中に示されるmb_qp_deltaは、量子化パラメータの変動値を示している。H. 264のような従来の動画像符号化方式では、当該マクロブロックの１つ前に符号化されたマクロブロック（前マクロブロックと呼ぶ）の量子化パラメータと当該マクロブロックの量子化パラメータの差分値を符号化するシンタクスとなっている。mb_qp_deltaは、この差分値を表している。量子化パラメータが変化しない場合、当該マクロブロックの量子化精度は変更されないため、mb_qp_delta=0のときはprecision_modulation_indexは送信されない。【０１４１】
CurrentModulatedQuantizationPrecisionFlagは、seq_moduletaed_quantization_precision_flag, pic_moduletaed_quantization_precision_flag及びslice_moduletaed_quantization_precision_flagの少なくとも１つのフラグがTRUEであるときにTRUEとなり、この条件が満たされない場合はFALSEを取る。当該フラグCurrentModulatedQuantizationPrecisionFlagがFALSEであるとき、precision_modulation_indexは送信されず、内部の変調インデックスはTidx＝０が設定される。precision_modulation_indexは、表４に示されるようにインデックス毎に量子化パラメータ変動値と量子化スケール変動値が決められたテーブルを予め持っている。【０１４２】
図２７で示されるスライスヘッダシンタクスを図２９で表されるようなシンタクスに変えてもよい。図２９のシンタクスによると、量子化精度の変調の利用可否ではなく、スライスレベルで量子化パラメータに対応する量子化スケールの変調インデックスを変えることができる。slice_precision_modulation_indexは、量子化パラメータに対応する量子化スケールの変調インデックスを示している。もし、更に細かいマクロブロックレベルで精度を変調したい場合は、図２８で示されるマクロブロックヘッダシンタクスで上書きすればよい。【０１４３】
ここで、CurrentModulatedQuantizationPrecisionFlagは、スライスヘッダーより上のシンタクスエレメントであるseq_moduletaed_quantization_precision_flag及び pic_moduletaed_quantization_precision_flagの少なくとも１つがTRUEであるときにTRUEとなり、この条件が満たされない場合はFALSEを取る。当該フラグCurrentModulatedQuantizationPrecisionFlagがFALSEを取る場合、slice_precision_modulation_indexは送信されず、内部の変調インデックスはTidx＝０が設定される。【０１４４】
以上説明したように、第４の実施形態では量子化パラメータに対して量子化精度を変更可能な変調インデックスを用いて、変換係数に適した量子化精度を設定して量子化／逆量子化を行い、量子化変換係数と量子化精度の変調方法を示す変調インデックスをエントロピー符号化する。従って、第１〜第３の実施形態と同様に高い符号化効率を維持しつつ、復号化側の演算コストを増加させない符号化が実現できる。すなわち、対象ブロックの内容等に応じて好適な符号化を行うことができる。【０１４５】
なお、第１の実施形態でも述べたように、選択されたモードでの符号化の際、復号画像信号の生成は選択されたモードについてのみ行えばよく、予測モード判定のためのループ内では必ずしも実行しなくてもよい。【０１４６】
（第１〜第４の実施形態の変形例）  
（１）第１の実施形態においては、符号化ループを対象ブロックの全ての組み合わせに対して繰り返し仮符号化する例を示した。しかし、演算処理を簡単化するために、予め選択されやすい予測モード、変調インデックス及びブロックサイズなどのみについて仮符号化を行い、選択されにくい、対象ブロックの組み合わせの処理を省略してもよい。このような選択的な仮符号化を行うことにより、符号化効率の低下を抑え、また仮符号化に必要となる処理量を抑えることが可能である。【０１４７】
（２）第１の実施形態においては、表１〜表３に示されるような変調モデルと変調制御パラメータの組み合わせテーブルによって、変調マトリクスが生成される例を示した。しかし、表１及び表２のように予め利用する変調マトリクスが固定されている場合は、予め内部メモリに変調マトリクスを保持していてもよい。この場合、マクロブロック毎に変調マトリクスを生成する処理が省略できるため、演算コストを削減することができる。【０１４８】
（３）第１の実施形態においては、量子化マトリクスを変調するために量子化マトリクスと変調マトリクスを加算する場合について説明し。一方、量子化マトリクスと変調マトリクスとの間で減算、乗算、除算またはビットシフトを用いて量子化マトリクスに変調を施してよい。また、これらの演算を組み合わせて量子化マトリクスの変調を行ってもよい。【０１４９】
同様に、第２の実施形態において演算精度制御パラメータと変調マトリクスとの間で、加算のみでなく減算、乗算、除算またはビットシフトを用いて演算精度制御パラメータに変調を施してもよい。【０１５０】
同様に、第３の実施形態において量子化パラメータと変調マトリクスとの間で、加算のみでなく減算、乗算、除算またはビットシフトを用いて量子化パラメータに変調を施してもよい。【０１５１】
（４）第１の実施形態においては、変調マトリクスを生成するために市街地距離による生成モデルを用いている。周波数成分の距離を表すパラメータｒとしては、市街地距離だけでなく、市街地距離、ユークリッド距離等を含むミンコフスキー距離の中から少なくとも１つを用いればよい。【０１５２】
（５）第１〜第４の実施形態においては、処理対象フレームを１６×１６画素サイズなどの短形ブロックに分割し、図２に示したように画面左上のブロックから右下に向かって順に符号化する場合について説明しているが、符号化順序はこれに限られない。例えば、右下から左上に向かって順に符号化を行ってもよいし、画面中央から渦巻状に向かって順に符号化を行ってもよい。さらに、右上から左下に向かって順に符号化を行ってもよいし、画面の周辺部から中心部に向かって順に符号化を行ってもよい。【０１５３】
（６）第１〜第４の実施形態においては、量子化ブロックサイズを４×４画素ブロック、８×８画素ブロックとして説明を行ったが、対象ブロックは均一なブロック形状にする必要なく、１６×８画素ブロック、８×１６画素ブロック、８×４画素ブロック、４×８画素ブロックなどのブロックサイズであってもよい。また、１つのマクロブロック内でも均一なブロックサイズを取る必要はなく、それぞれ異なるサイズのブロックを混在させてもよい。この場合、分割数が増えると分割情報を符号化するための符号量が増加するが、変換係数の符号量と局部復号画像とのバランスを考慮して、ブロックサイズを選択すればよい。【０１５４】
（７）第１〜第４の実施形態では変換ブロックサイズと量子化ブロックサイズが同じ場合の例を示しているが、ブロックサイズがそれぞれ異なっていても実現は可能である。この場合も上述の通り、符号量と局部復号画像のバランスを考慮してブロックサイズの組み合わせを選択すればよい。【０１５５】
＜画像復号化装置＞  
次に、画像復号化に関する第５〜第８の実施形態について述べる。  
（第５の実施形態）  
図３０は、図１〜図２０を用いて説明した第１の実施形態に従う画像符号化装置に対応する、第５の実施形態に従う画像復号化装置を示している。図１に示した画像符号化装置から送出され、蓄積系または伝送系を経て送られてきた符号化ビットストリーム６２０は入力バッファ６０１に一度蓄えられる。入力バッファ６０１から、多重化された符号化データが復号化ユニット６００に入力される。【０１５６】
復号化ユニット６００では、符号化データがエントロピー復号化器６０２に入力される。エントロピー復号化器６０２では、１フレーム毎に第１の実施形態において図１３〜図２０で説明したシンタクスに基づいて構文解析による解読が行われる。すなわち、エントロピー復号化器６０２では、図１３に示したシンタクス構造に従ってハイレベルシンタクス、スライスレベルシンタクス及びマクロブロックレベルシンタクスのそれぞれに対して、順次各シンタクスの符号列のエントロピー復号化が行われ、量子化変換係数６２１、量子化マトリクス６３１、変調インデックス６３２、量子化パラメータ及び予測モード情報６２７（動きベクトル情報を含む）などが解読される。【０１５７】
量子化変換係数６２１は、逆量子化器６０３に入力される。量子化マトリクス６３１及び変調インデックス６３２は、量子化マトリクス変調部６１０に入力される。量子化マトリクス変調部６１０では、変調インデックス６３２で示される変調方法を用いて量子化マトリクス６３２が変調され、変調量子化マトリクス６３３が生成される。変調量子化マトリクス６３３は、逆量子化器６０３に与えられる。【０１５８】
逆量子化器６０３では、量子化変換係数６２１に対して変調量子化マトリクス６３３に基づいて逆量子化が施される。ここで必要な量子化に関するパラメータ（例えば量子化パラメータなど）は、エントロピー復号化器６０２から復号化制御部６０９へ設定されており、逆量子化の際に読み込まれる。【０１５９】
逆量子化後の変換係数６２２は、逆変換器６０４に入力される。逆変換器６０４では、逆量子化後の変換係数６２２に対して図１の画像符号化装置における変換器１０４での変換と逆の変換、例えばＩＤＣＴのような逆直交変換が行われ、復号予測残差信号６２３が生成される。ここでは、逆直交変換の例について説明したが、図１に示した画像符号化装置内の変換器１０４でウェーブレット変換や独立成分分析などが行われている場合、逆変換器６０４では逆ウェーブレット変換や逆独立成分分析などが行われる。【０１６０】
復号予測残差信号６２３は、加算器６０５によって予測器６０７からの予測画像信号６２４と加算され、復号画像信号６２５が生成される。復号画像信号６２５は参照メモリ６０６に蓄積されると共に、参照メモリ６０６から読み出され、復号化ユニット６００から出力される。復号化ユニット６００から出力される復号画像信号は、出力バッファ６０８に一旦蓄積された後、復号化制御部６０９が管理する出力タイミングに従って再生画像信号６２８として出力される。【０１６１】
エントロピー復号化器６０２によって解読された予測モード情報６２７は、予測器６０７へ入力される。一方、既に復号化が終了した復号画像信号が蓄積された参照メモリ６０６から読み出される参照画像信号６２６も、予測器６０７へ入力される。予測器６０７では、予測モード情報６２７（動きベクトル情報を含む）を基にフレーム間予測またはフレーム内予測が行われることにより、予測画像信号６２４が生成される。予測画像信号は６４２加算器６０５へ入力される。【０１６２】
復号化制御部６０９は、入力バッファ６０１及び出力バッファ６０８に対する出力タイミングの制御、復号化タイミングの制御及び参照メモリ６０６の管理を含む復号化の処理全般の制御を行う。【０１６３】
復号化ユニット６００及び復号化制御部６０９の処理は、ハードウェアにより実現することも可能であるが、コンピュータを用いてソフトウェア（プログラム）によって実現することも可能である。【０１６４】
本実施形態における逆量子化器６０３の処理は、図１の画像符号化装置における逆量子化器１０６の処理と同様である。すなわち、逆量子化器６０３では、エントロピー復号化器６０２によって解読された変換係数７１３に対して、変調量子化マトリクス１１８と量子化パラメータを用いて逆量子化が行われる。ここで、逆量子化の一例は式（１５）に示された通りである。一方、変換係数の符号を考慮した式（１６）のような逆量子化も可能である。演算を簡単化するため、Ｑstepを２のべき乗で設計した式（１７）のような逆量子化も可能である。演算精度を抑えるために周波数成分毎に演算精度を変更する場合、式（１８）に示されるような逆量子化を行うことも可能である。【０１６５】
一方、量子化マトリクス変調部６１０は図１の画像符号化装置における量子化マトリクス変調部１１０と同様に、例えば図６に示したように変調マトリクス設定部２０１と変調量子化マトリクス生成部２０２により実現される。変調マトリクス設定部２０１は例えば図７に示したように切替器３０１と変調マトリクス生成部３０２，３０３及び３０４を含む。変調量子化マトリクス生成部２０２は、例えば図１０に示すように算術演算器を用いて実現される。量子化マトリクス変調部６１０の動作は、図１の画像符号化装置における量子化マトリクス変調部１１０の動作と全く同様である。【０１６６】
（第６の実施形態）  
逆量子化器６０３が式（１８）に対応する逆量子化を行う場合、第５の実施形態のように量子化マトリクスに対して変調を行う代わりに、逆量子化時の演算精度を制御する演算精度制御パラメータに対して変調を行ってもよい。この場合、式（１８）は式（２７）のように変更され、また式（２７）中のＩＭＬＳは式（２９）で表される。【０１６７】
図３１は、図２１に示した第２の実施形態に従う画像符号化装置に対応する、第６の実施形態に従う画像復号化装置を示している。図31の画像復号化装置では、図３０に示した第５の実施形態に従う画像復号化装置における量子化マトリクス変調部６１０が演算精度制御パラメータ変調部６４０に置き換えられている。【０１６８】
演算精度制御パラメータ変調部６４０には、復号化制御部６０９から式（２９）中のＩＬＳに相当する演算精度制御パラメータ６４１が与えられ、またエントロピー復号化器６０２から式（２７）（２９）中のidxに相当するインデックス（変調方法を示すインデックス）６４２が与えられる。演算精度制御パラメータ変調部６４０では、インデックス６４２により示される変調方法に従って演算精度制御パラメータ６４１に対して変調が施される。これにより演算精度制御パラメータ変調部６４０では、式（２９）のＭＩＬＳに相当する、変調された演算精度制御パラメータ（変調制御パラメータという）６４３が生成される。変調制御パラメータ６４３は、逆量子化器６０３に与えられる。逆量子化器６０３では、変調制御パラメータ６４３に従って量子化変換係数６２１の逆量子化が行われる。【０１６９】
（第７の実施形態）  
逆量子化器６０３が式（１６）に対応する逆量子化を行う場合、第５の実施形態のように量子化マトリクスに対して変調を行う代わりに、量子化パラメータに変調を行ってもよい。この場合、式（１６）は式（３１）のように変更され、また式（３１）中の変調量子化パラメータＱＰstepは式（３２）で表される。【０１７０】
図３２は、図２２に示した第３の実施形態に従う画像符号化装置に対応する、第７の実施形態に従う画像復号化装置を示している。図３２の画像復号化装置では、図３０に示した第５の実施形態に従う画像復号化装置における量子化マトリクス変調部６１０が量子化パラメータ変調部６５０に置き換えられている。【０１７１】
量子化パラメータ変調部６５０には、復号化制御部６０９から式（３２）中のＱstepに相当する量子化パラメータ６５１が与えられ、またエントロピー復号化器６０２から式（３１）（３２）中のidxに相当するインデックス（変調方法を示すインデックス）６５２が与えられる。量子化パラメータ変調部６５０では、インデックス６５２により示される変調方法に従って量子化パラメータ６５１に対して変調が施され、式（３１）のＱＰstepに相当する、変調量子化パラメータ６５３が生成される。変調量子化パラメータ６５３は、逆量子化器６０３に与えられる。逆量子化器６０３では、変量子化パラメータ６５３に従って量子化変換係数６２１の逆量子化が行われる。【０１７２】
（第８の実施形態）  
図３３は、図２３に示した第４の実施形態に従う画像符号化装置に対応する、第８の実施形態に従う画像復号化装置を示している。図３３の画像復号化装置では、図３０に示した第５の実施形態に従う画像復号化装置における量子化マトリクス変調部６１０が量子スケールテーブル変調部６６０に置き換えられている。【０１７３】
量子スケールテーブル変調部６６０には、エントロピー復号化器６０２によって解読された量子スケールテーブル６６１及び変調方法を示すインデックス６６２が与えられる。量子スケールテーブル変調部６６０では、インデックス６６２により示される変調方法に従って量子スケールテーブル６６１に対して変調が施され、変調量子スケールテーブル６６３が生成される。変調量子スケールテーブル６６３は、逆量子化器６０３に与えられる。逆量子化器６０３では、変調量子スケールテーブル６６３に従って量子化変換係数６２１の逆量子化が行われる。【０１７４】
量子スケールテーブル変調部６６０は、第４の実施形態における量子化スケールテーブル変調部１６０と全く同様であるため、説明を省略する。また、本実施形態における符号化データのシンタクス構造は、図１３及図２５〜図２９で説明した通りであるため、説明を省略する。【０１７５】
上述した各実施形態に従う画像符号化装置及び画像復号化装置は、例えば汎用のコンピュータ装置を基本ハードウェアとして用いることでも実現することが可能である。この場合、上記のプログラムをコンピュータ装置にあらかじめインストールするか、ＣＤ−ＲＯＭなどの記憶媒体に記憶して、あるいはネットワークを介して上記のプログラムを配布して、このプログラムをコンピュータ装置に適宜インストールすることで実現してもよい。【０１７６】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【産業上の利用可能性】
【０１７７】
本発明は、動画像や静止画像の高能率圧縮符号化／復号技術に利用することが可能である。
【図１】
2008132890.tif 000041
【図２】
2008132890.tif 000042
【図３】
2008132890.tif 000043
【図４Ａ】
2008132890.tif 000044
【図４Ｂ】
2008132890.tif 000045
【図５Ａ】
2008132890.tif 000046
【図５Ｂ】
2008132890.tif 000047
【図６】
2008132890.tif 000048
【図７】
2008132890.tif 000049
【図８】
2008132890.tif 000050
【図９】
2008132890.tif 000051
【図１０】
2008132890.tif 000052
【図１１Ａ】
2008132890.tif 000053
【図１１Ｂ】
2008132890.tif 000054
【図１１Ｃ】
2008132890.tif 000055
【図１１Ｄ】
2008132890.tif 000056
【図１２】
2008132890.tif 000057
【図１３】
2008132890.tif 000058
【図１４】
2008132890.tif 000059
【図１５】
2008132890.tif 000060
【図１６】
2008132890.tif 000061
【図１７】
2008132890.tif 000062
【図１８】
2008132890.tif 000063
【図１９】
2008132890.tif 000064
【図２０】
2008132890.tif 000065
【図２１】
2008132890.tif 000066
【図２２】
2008132890.tif 000067
【図２３】
2008132890.tif 000068
【図２４】
2008132890.tif 000069
【図２５】
2008132890.tif 000070
【図２６】
2008132890.tif 000071
【図２７】
2008132890.tif 000072
【図２８】
2008132890.tif 000073
【図２９】
2008132890.tif 000074
【図３０】
2008132890.tif 000075
【図３１】
2008132890.tif 000076
【図３２】
2008132890.tif 000077
【図３３】
2008132890.tif 000078
【国際調査報告】
2008132890.tif 000079
2008132890.tif 000080
2008132890.tif 000081
2008132890.tif 000082
2008132890.tif 000083
2008132890.tif 000084
2008132890.tif 000085