(57)【要約】【課題】逆直交変換の再実行を行わず、少ない処理量で、逆直交変換時の演算ビットオーバーフローが発生しないことを保証した符号化ストリームを生成できる画像符号化装置を提供する。【解決手段】対象ブロックの量子化係数の各係数の絶対値を累積加算した結果を評価値とし、あらかじめ設定された閾値と比較する。前記評価値が前記閾値を超えた場合に前記量子化係数を修正し、その結果である修正後量子化係数を用いて前記評価値を求めた場合にも前記閾値以下となるようにする。逆直交変換において、演算ビットオーバーフローが発生しないことを保証した符号化ストリームを、逆直交変換の再実行を行わずに少ない処理量で生成可能となり、ハードウェアコストやソフトウェア処理量を抑えることが可能となる。【選択図】図１
2008199344.tif 000002
【特許請求の範囲】
【請求項１】
入力された入力画像と再構成画像とから対象ブロックに対する予測画像とその予測方法を示すための予測モード情報を生成する予測手段と、前記予測画像と前記対象ブロックの画像との画素値差分を演算し予測差分画像を生成する差分演算手段と、前記予測差分画像を直交変換して変換係数を出力する直交変換手段と、前記変換係数を量子化パラメータに基づいて量子化し量子化係数を出力する量子化手段と、前記量子化係数の各係数に基づいて導出した評価値を出力する評価値計算手段と、前記評価値が閾値を超える場合に、前記評価値が前記閾値を超えないような量子化係数値に修正するための係数修正情報を出力する係数修正方式決定手段と、前記量子化係数を前記係数修正情報に基づいて修正した修正量子化係数を出力する量子化係数修正手段と、前記修正量子化係数を前記量子化パラメータに基づいて逆量子化し逆量子化係数を出力する逆量子化手段と、前記逆量子化係数を逆直交変換して逆変換係数を出力する逆直交変換手段と、前記逆変換係数と前記予測画像とを加算して再構成画像を生成する再構成手段と、前記修正量子化係数と前記予測モード情報を符号化して符号化ストリームを生成する符号化手段と、
を備える画像符号化装置。
【請求項２】
請求項１に記載の画像符号化装置であって、
前記評価値計算手段によって導出される前記評価値とは、前記量子化係数の各係数の絶対値を累積加算した値であることを特徴とする、
画像符号化装置。
【請求項３】
請求項１または２に記載の画像符号化装置であって、
前記閾値が、前記量子化パラメータに基づいて決定されることを特徴とする、
画像符号化装置。
【請求項４】
請求項２または３に記載の画像符号化装置であって、
前記評価値計算手段によって導出される前記評価値とは、前記量子化係数の各係数の絶対値と、前記各係数のインデックスに応じてあらかじめ決定された重み係数を掛け合わせた値を累積加算した累積加算値であることを特徴とする、
画像符号化装置。
【請求項５】
請求項１から４のいずれかに記載の画像符号化装置であって、
前記量子化係数修正手段は、前記係数修正情報に基づいて、前記量子化係数のいくつかを値０に置換することを特徴とする、
画像符号化装置。
【請求項６】
請求項１から５のいずれかに記載の画像符号化装置であって、
前記量子化係数修正手段は、前記係数修正情報に基づいて、前記量子化係数のうち、高周波係数を優先的に修正することを特徴とする、
画像符号化装置。
【請求項７】
請求項６に記載の画像符号化装置であって、
前記量子化係数修正手段は、前記係数修正情報に基づいて、前記量子化係数のうち前記符号化ストリームを生成する際の前記量子化係数走査順序に従って、より高周波方向の前記量子化係数を優先的に修正することを特徴とする、
画像符号化装置。
【請求項８】
入力された入力画像と再構成画像とから対象ブロックに対する予測画像とその予測方法を示すための予測モード情報を生成する予測手段と、前記予測画像と前記対象ブロックの画像との画素値差分を演算し予測差分画像を生成する差分演算手段と、前記予測差分画像を直交変換して変換係数を出力する直交変換手段と、前記変換係数を量子化パラメータに基づいて量子化し量子化係数を出力する量子化手段と、前記量子化係数を前記量子化パラメータに基づいて逆量子化し逆量子化係数を出力する逆量子化手段と、前記逆量子化係数の各係数に基づいて導出した評価値を出力する評価値計算手段と、前記評価値が閾値を超える場合に、前記評価値が前記閾値を超えないような逆量子化係数値に修正するための係数修正情報を出力する係数修正方式決定手段と、前記係数修正情報に基づいて、前記逆量子化係数を修正し修正逆量子化係数として出力する逆量子化係数修正手段と、逆量子化した結果が前記修正逆量子化係数と一致するように前記量子化係数を修正し修正量子化係数として出力する量子化係数修正手段と、前記修正逆量子化係数を逆直交変換して逆変換係数を出力する逆直交変換手段と、前記逆変換係数と前記予測画像とを加算して再構成画像を生成する再構成手段と、前記修正量子化係数と前記予測モード情報を符号化して符号化ストリームを生成する符号化手段と、
を備える画像符号化装置。
【請求項９】
請求項８に記載の画像符号化装置であって、
前記評価値計算手段によって導出される前記評価値とは、前記逆量子化係数の各係数の絶対値を累積加算した値であることを特徴とする、
画像符号化装置。
【請求項１０】
請求項９に記載の画像符号化装置であって、
前記評価値計算手段によって導出される前記評価値とは、前記逆量子化係数の各係数の絶対値と、前記各係数のインデックスに応じてあらかじめ決定された重み係数を掛け合わせた値を累積加算した値であることを特徴とする、
画像符号化装置。
【請求項１１】
請求項８から１０のいずれかに記載の画像符号化装置であって、
前記逆量子化係数修正手段および前記量子化係数修正手段は、前記係数修正情報に基づいて、前記逆量子化係数および量子化係数のいくつかを値０に置換することを特徴とする、
画像符号化装置。
【請求項１２】
請求項８から１１のいずれかに記載の画像符号化装置であって、
前記逆量子化係数修正手段および前記量子化係数修正手段は、前記係数修正情報に基づいて、前記逆量子化係数および量子化係数のうち、それぞれ、高周波係数を優先的に修正することを特徴とする、
画像符号化装置。
【請求項１３】
請求項１２に記載の画像符号化装置であって、
前記量子化係数修正手段は、前記係数修正情報に基づいて、前記量子化係数のうち、前記符号化ストリームを生成する際の前記量子化係数スキャン順序に従って、より高周波方向の前記量子化係数を優先的に修正することを特徴とする、
画像符号化装置。
【請求項１４】
入力された入力画像と再構成画像とから対象ブロックに対する予測画像とその予測方法を示すための予測モード情報を生成する予測手段と、前記予測画像と前記対象ブロックの画像との画素値差分を演算し予測差分画像を生成する差分演算手段と、前記予測差分画像を直交変換して変換係数を出力する直交変換手段と、前記変換係数を量子化して量子化係数を出力する量子化手段と、前記量子化係数を逆量子化して逆量子化係数を出力する逆量子化手段と、前記逆量子化係数を逆直交変換して逆変換係数を出力し、加えて前記逆直交変換のための内部演算が、途中の演算結果を含めて１つでも所定の演算ビット数を超えたかどうかを示すオーバーフロー情報を出力する逆直交変換手段と、前記量子化係数を修正して修正量子化係数を出力する量子化係数修正手段と、前記逆変換係数を修正して修正逆変換係数を出力する逆変換係数修正手段と、前記修正逆変換係数と前記予測画像とを加算して再構成画像を生成する再構成手段と、前記修正量子化係数と前記予測モード情報を符号化して符号化ストリームを生成する符号化手段と、
を備える画像符号化装置であって、
前記量子化係数修正手段は、前記オーバーフロー情報が、前記逆直交変換のための内部演算が、途中の演算結果を含めて１つでも所定の演算ビット数を超えたことを示す場合、前記量子化係数を修正したものを修正量子化係数として出力し、それ以外の場合は前記量子化係数を修正量子化係数として出力し、
前記逆変換係数修正手段は、前記逆直交変換手段の逆直交変換のための内部演算が、途中の演算結果を含めて１つでも所定の演算ビット数を超える場合には、前記逆変換係数を修正したものを修正逆変換係数として出力し、それ以外の場合は前記逆変換係数を修正逆変換係数として出力することを特徴とする、
画像符号化装置。
【請求項１５】
請求項１４に記載の画像符号化装置であって、
前記量子化係数修正手段における係数の修正とは、修正時に前記量子化係数および前記逆量子化係数の全てを値０に置換することである点を特徴とする、
画像符号化装置。
【請求項１６】
請求項１４に記載の画像符号化装置であって、
前記量子化係数修正手段における係数の修正とは、前記量子化係数のＤＣ係数を除く全てを値０に置換することであり、
前記逆量子化係数修正手段における係数の修正とは、前記逆量子化係数全ての値を、前記量子化係数のうちのＤＣ係数を所定の値で除算した結果の値で置換することである点を特徴とする、
画像符号化装置。
【請求項１７】
入力された入力画像と再構成画像とから対象ブロックに対する予測画像とその予測方法を示すための予測モード情報を生成する予測手段と、前記予測画像と前記対象ブロックの画像との画素値差分を演算し予測差分画像を生成する差分演算手段と、前記予測差分画像を直交変換して変換係数を出力する直交変換手段と、前記変換係数を量子化して量子化係数を出力する量子化手段と、前記量子化係数を逆量子化して逆量子化係数を出力する逆量子化手段と、前記逆量子化係数を逆直交変換して逆変換計数を出力し、加えて前記逆直交変換のための内部演算が、途中の演算結果を含めて１つでも所定の演算ビット数を超えたかどうかを示すオーバーフロー情報を出力する逆直交変換手段と、前記量子化係数を修正して修正量子化係数を出力する量子化係数修正手段と、前記逆変換係数と前記予測画像とを加算して再構成画像を生成する再構成手段と、前記再構成画像と前記予測画像を入力とし修正再構成画像を出力する再構成画像修正手段と、前記修正量子化係数と前記予測モード情報を符号化して符号化ストリームを生成する符号化手段と、
を備える画像符号化装置であって、
前記量子化係数修正手段は、前記オーバーフロー情報が、前記逆直交変換のための内部演算が、途中の演算結果を含めて１つでも所定の演算ビット数を超えたことを示す場合、前記量子化係数をすべて値０に修正したものを前記修正量子化係数として出力し、それ以外の場合は前記量子化係数を修正量子化係数として出力し、
前記再構成画像修正手段は、前記オーバーフロー情報が、前記逆直交変換のための内部演算が、途中の演算結果を含めて１つでも所定の演算ビット数を超えたことを示す場合、前記予測画像を前記修正再構成画像として出力し、それ以外の場合には、前記再構成画像を前記修正再構成画像として出力することを特徴とする、
画像符号化装置。
【請求項１８】
請求項１４から１７のいずれかに記載の画像符号化装置であって、
前記予測手段は、前記オーバーフロー情報が、前記逆直交変換のための内部演算が、途中の演算結果を含めて１つでも所定の演算ビット数を超えたことを示す場合、次の処理ブロックにおける予測モードの種類を制限することを特徴とする、
画像符号化装置。
【請求項１９】
請求項１４から１８のいずれかに記載の画像符号化装置であって、
前記予測手段は、前記オーバーフロー情報が、前記逆直交変換のための内部演算が、途中の演算結果を含めて１つでも所定の演算ビット数を超えたことを示す場合、次の処理ブロックにおける予測モードを、前記量子化係数を修正したブロックを参照しない予測モードに制限することを特徴とする、
画像符号化装置。
【請求項２０】
請求項１４から１９のいずれかに記載の画像符号化装置であって、
前記予測手段は、前記オーバーフロー情報が、前記逆直交変換のための内部演算が、途中の演算結果を含めて１つでも所定の演算ビット数を超えたことを示す場合、次の処理ブロックにおける予測モードを、前記量子化係数を修正したブロックを参照する予測モードに関しては、処理量のより多い予測モードを優先的に禁止することを特徴とする、
画像符号化装置。
【請求項２１】
入力された入力画像と再構成画像とから対象ブロックに対する予測画像とその予測方法を示すための予測モード情報を生成する予測ステップと、前記予測画像と前記対象ブロックの画像との画素値差分を演算し予測差分画像を生成する差分演算ステップと、前記予測差分画像を直交変換して変換係数を出力する直交変換ステップと、前記変換係数を量子化パラメータに基づいて量子化し量子化係数を出力する量子化ステップと、前記量子化係数の各係数に基づいて導出した評価値を出力する評価値計算ステップと、前記評価値が閾値を超える場合に、前記評価値が前記閾値を超えないような量子化係数値に修正するための係数修正情報を出力する係数修正方式決定ステップと、前記量子化係数を前記係数修正情報に基づいて修正した修正量子化係数を出力する量子化係数修正ステップと、前記修正量子化係数を前記量子化パラメータに基づいて逆量子化し逆量子化係数を出力する逆量子化ステップと、前記逆量子化係数を逆直交変換して逆変換係数を出力する逆直交変換ステップと、前記逆変換係数と前記予測画像とを加算して再構成画像を生成する再構成ステップと、前記修正量子化係数と前記予測モード情報を符号化して符号化ストリームを生成する符号化ステップと、
を備える画像符号化方法。
【請求項２２】
請求項２１に記載の画像符号化方法であって、
前記評価値計算ステップによって導出される前記評価値とは、前記量子化係数の各係数の絶対値を累積加算した値であることを特徴とする、
画像符号化方法。
【請求項２３】
入力された入力画像と再構成画像とから対象ブロックに対する予測画像とその予測方法を示すための予測モード情報を生成する予測ステップと、前記予測画像と前記対象ブロックの画像との画素値差分を演算し予測差分画像を生成する差分演算ステップと、前記差分画像を直交変換して変換係数を出力する直交変換ステップと、前記変換係数を量子化パラメータに基づいて量子化し量子化係数を出力する量子化ステップと、前記量子化係数を前記量子化パラメータに基づいて逆量子化し逆量子化係数を出力する逆量子化ステップと、前記逆量子化係数の各係数に基づいて導出した評価値を出力する評価値計算ステップと、前記評価値が閾値を超える場合に、前記評価値が前記閾値を超えないような逆量子化係数値に修正するための係数修正情報を出力する係数修正方式決定ステップと、前記係数修正情報に基づいて、前記逆量子化係数を修正し修正逆量子化係数として出力する逆量子化係数修正ステップと、逆量子化した結果が前記修正逆量子化係数と一致するように前記量子化係数を修正し修正量子化係数として出力する量子化係数修正ステップと、前記修正逆量子化係数を逆直交変換して逆変換係数を出力する逆直交変換ステップと、前記逆変換係数と前記予測画像とを加算して再構成画像を生成する再構成ステップと、前記修正量子化係数と前記予測モード情報を符号化して符号化ストリームを生成する符号化ステップと、
を備える画像符号化方法。
【請求項２４】
請求項２３に記載の画像符号化方法であって、
前記評価値計算ステップによって導出される前記評価値とは、前記逆量子化係数の各係数の絶対値を累積加算した値であることを特徴とする、
画像符号化方法。
【請求項２５】
入力された入力画像と再構成画像とから対象ブロックに対する予測画像とその予測方法を示すための予測モード情報を生成する予測ステップと、前記予測画像と前記対象ブロックの画像との画素値差分を演算し予測差分画像を生成する差分演算ステップと、前記予測差分画像を直交変換して変換係数を出力する直交変換ステップと、前記変換係数を量子化して量子化係数を出力する量子化ステップと、前記量子化係数を逆量子化して逆量子化係数を出力する逆量子化ステップと、前記逆量子化係数を逆直交変換して逆変換係数を出力し、加えて前記逆直交変換のための内部演算が、途中の演算結果を含めて１つでも所定の演算ビット数を超えたかどうかを示すオーバーフロー情報を出力する逆直交変換ステップと、前記量子化係数を修正して修正量子化係数を出力する量子化係数修正ステップと、前記逆変換係数を修正して修正逆変換係数を出力する逆変換係数修正ステップと、前記修正逆変換係数と前記予測画像とを加算して再構成画像を生成する再構成ステップと、前記修正量子化係数と前記予測モード情報を符号化して符号化ストリームを生成する符号化ステップと、
を備える画像符号化方法であって、
前記量子化係数修正ステップは、前記オーバーフロー情報が、前記逆直交変換のための内部演算が、途中の演算結果を含めて１つでも所定の演算ビット数を超えたことを示す場合、前記量子化係数を修正したものを修正量子化係数として出力し、それ以外の場合は前記量子化係数を修正量子化係数として出力し、
前記逆変換係数修正ステップは、前記逆直交変換ステップの逆直交変換のための内部演算が、途中の演算結果を含めて１つでも所定の演算ビット数を超える場合には、前記逆変換係数を修正したものを修正逆変換係数として出力し、それ以外の場合は前記逆変換係数を修正逆変換係数として出力することを特徴とする、
画像符号化方法。
【請求項２６】
請求項２５に記載の画像符号化方法であって、
前記量子化係数修正ステップにおける係数の修正とは、修正時に前記量子化係数および前記逆量子化係数の全てを値０に置換することである点を特徴とする、
画像符号化方法。
【請求項２７】
入力された入力画像と再構成画像とから対象ブロックに対する予測画像とその予測方法を示すための予測モード情報を生成する予測ステップと、前記予測画像と前記対象ブロックの画像との画素値差分を演算し予測差分画像を生成する差分演算ステップと、前記差分画像を直交変換して変換係数を出力する直交変換ステップと、前記変換係数を量子化して量子化係数を出力する量子化ステップと、前記量子化係数を逆量子化して逆量子化係数を出力する逆量子化ステップと、前記逆量子化係数を逆直交変換して逆変換計数を出力し、加えて前記逆直交変換のための内部演算が、途中の演算結果を含めて１つでも所定の演算ビット数を超えたかどうかを示すオーバーフロー情報を出力する逆直交変換ステップと、前記量子化係数を修正して修正量子化係数を出力する量子化係数修正ステップと、前記逆変換係数と前記予測画像とを加算して再構成画像を生成する再構成ステップと、前記再構成画像と前記予測画像を入力とし修正再構成画像を出力する再構成画像修正ステップと、前記修正量子化係数と前記予測モード情報を符号化して符号化ストリームを生成する符号化ステップと、
を備える画像符号化方法であって、
前記量子化係数修正手段は、前記オーバーフロー情報が、前記逆直交変換のための内部演算が、途中の演算結果を含めて１つでも所定の演算ビット数を超えたことを示す場合、前記量子化係数をすべて値０に修正したものを前記修正量子化係数として出力し、それ以外の場合は前記量子化係数を修正量子化係数として出力し、
前記再構成画像修正手段は、前記オーバーフロー情報が、前記逆直交変換のための内部演算が、途中の演算結果を含めて１つでも所定の演算ビット数を超えたことを示す場合、前記予測画像を前記修正再構成画像として出力し、それ以外の場合には、前記再構成画像を前記修正再構成画像として出力することを特徴とする、
画像符号化方法。
【請求項２８】
請求項２１から２７のいずれかに記載の画像符号化方法を用いた画像符号化プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば、動画像データを、直交変換およびそれに順ずる変換方式を利用して符号化を行う符号化装置に関する。また、別の本発明は、動画像データを、直交変換およびそれに順ずる変換方式を利用して符号化を行う符号化方法、および符号化プログラムに関する。
【背景技術】
【０００２】
近年、携帯電話やＤＶＤレコーダなどの多くの機器で画像符号化技術が応用されている。画像符号化方式の国際標準規格であるＨ．２６４／ＭＰＥＧ−４  ＡＶＣにおいては、従来の画像符号化方式で演算精度が課題となっていた小数精度での逆直交変換を廃止し、整数精度で演算可能な逆直交変換を規定している。これにより、従来発生していた、小数精度の実装方法の違いによる符号化器と復号化器の逆直交変換時の演算誤差に関する課題は解決した。しかしながら、整数精度逆直交変換の内部演算において、復号化器の演算量を低減する目的で、各演算の中間変数の値域が１６ビット演算相当に規格の上の制限を課している。このため、規格に準拠した符号化器は、この逆直交変換時に前記値域を越えないような符号化ストリームを生成する必要がある。しかしながら、非特許文献１に記載の処理を行って符号化ストリームを生成する場合、逆直交変換時に前記値域を越えるかどうかは、実際に逆直交変換を実行してみなければ分からない。符号化器は、前記値域を越えた場合、予測方法や量子化パラメータ等の符号化条件を変更して再度逆直交変換までの処理を実行し、これを、逆直交変換時に前記値域を越えなくなるまで繰り返さなければならなかった。
【０００３】
なお、本文において便宜上、数学的意味での直交変換、逆直交変換ではなくとも、それらに類似して周波数成分相当に変換、逆変換可能な操作を、それぞれ直交変換、逆直交変換と呼ぶこととする。例えば、Ｈ．２６４／ＭＰＥＧ−４  ＡＶＣにおける空間領域から周波数領域への変換、および周波数領域から空間領域への逆変換、がそれらに相当する。
【０００４】
次に、画像復号化装置１５０の構成と動作を説明し、それを踏まえた画像符号化装置１００の構成と動作を説明する。
【０００５】
＜画像復号化装置１５０の構成と動作＞
図２０に、画像復号化装置１５０について説明するブロック図を示す。画像復号化装置１５０は、画像符号化装置１００で生成した符号化ストリーム１３３を入力とし、予測モード情報１７８と、量子化係数１７４と、量子化パラメータ１８２を出力する復号化部１５８と、予測モード情報１７８と再構成画像１７７を入力とし予測画像１７１を出力する予測部１５１と、量子化係数１７４と量子化パラメータ１８２を入力とし逆量子化係数１７５を出力する逆量子化部１５５と、逆量子化係数１７５を入力とし逆変換係数１７６を出力する逆直交変換部１５６と、逆変換係数１７６と予測画像１７１を入力とし再構成画像１７７を出力する再構成部１５７とを備えている。また、画像復号化装置１５０の出力は、再構成画像１７７と等しい、出力画像１８１である。
【０００６】
復号化部１５８では、符号化ストリーム１３３に対して、例えば可変長復号化あるいは算術復号化などのエントロピー復号化を施し、復号結果である、量子化係数１７４と量子化パラメータ１８２と、予測モード情報１７８を出力する。
【０００７】
予測部１５１では、画面内をｍ×ｎ（ｍ，ｎは正の整数）画素のブロック分割したうちの対象ブロックに対し、現在までに既に生成されている再構成画像１７７を用いて、予測モード情報１７８に基づいた予測を実行し、その結果である予測画像１７１を出力する。
【０００８】
逆量子化部１５５では、量子化係数１７４を、量子化パラメータ１８２に基づいて決定された量子化幅で乗算した結果を逆量子化係数１７５として出力する。ここで、対象ブロックの量子化係数１７４をＱ（ｉ，ｊ）と置く。（ｉ，ｊ）は係数位置を示し、ｉは水平周波数位置、ｊは垂直周波数位置を示す。Ｑ（０，０）がＤＣ係数に相当する。逆量子化係数１７５を同様にＩＱ（ｉ，ｊ）とすると、逆量子化の演算は、
【０００９】
【数１】
2008199344.tif 000003
【００１０】
で表すことができる。ここで、ＩＱｕａｎｔ（）は逆量子化の演算操作を表し、実際は係数位置（ｉ，ｊ）と量子化パラメータ１８２によって決定される係数ＩＱｕａｎｔＣｏｅｆｆ（ｉ，ｊ）とＱ（ｉ，ｊ）との乗算で定義できる。
【００１１】
逆直交変換部１５６では、逆量子化係数１７５に対して２次元逆直交変換を施したものを逆変換係数１７６として出力する。ここで、逆直交変換とは、離散コサイン逆変換（逆ＤＣＴ）や、それに類似した整数精度の行列演算などであり、周波数成分もしくはそれに順ずる成分である逆量子化係数１７５を空間領域の画素レベルへと変換される。逆直交変換に関わる一連の各演算において、規格で定められた所定のビット数以内の範囲で演算を実施するため、前記所定のビット数以内でのみ、正しい逆変換係数１７６が出力されることが保証される。ここで、逆変換係数１７６をＩＴ（ｘ，ｙ）と置く。（ｘ，ｙ）は係数位置を表し、対象ブロックの左上位置を（０，０）とし、ｘは水平空間位置、ｙは垂直空間位置を示す。
【００１２】
たとえば、Ｈ．２６４／ＭＰＥＧ−４  ＡＶＣにおいて使用される４×４ブロック逆直交変換の演算は、以下で定義されている。
【００１３】
【数２】
2008199344.tif 000004
【００１４】
ここで、逆直交変換における各演算の演算結果ｅ，ｆ，ｇ，ｈ，ｈ’の全ての値が、符号付きの所定ビットで表現できる値の範囲内（たとえば、符号化ストリームから復号されるシンタックス要素ｂｉｔＤｅｐｔｈが８である場合、１６ビット：−３２７６８〜３２７６７の範囲内）に入っていることが、Ｈ．２６４／ＭＰＥＧ−４ＡＶＣ規格準拠の符号化ストリームに課せられた条件である。
【００１５】
再構成部１５７では、逆変換係数１７６と、予測画像１７１の各係数と各画素を加算し、その結果を再構成画像１７７として出力する。ここで、逆直交変換部１５６において、逆直交変換に関わる一連の各演算結果が規格で定められた所定のビット数以内に収まらなければ正しい逆変換係数１７６が生成できないため、符号化ストリーム１３３は、前記各演算結果が前記所定のビット数以内に収まることを保証しなければならない。ここで、予測画像１７１をＰｒｅｄ（ｘ，ｙ）、再構成画像１７７をＲＥＣ（ｘ，ｙ）と置く。（ｘ，ｙ）は係数位置を表し、対象ブロックの左上位置を（０，０）とし、ｘは水平空間位置、ｙは垂直空間位置を示す。このとき再構成の演算は、
【００１６】
【数３】
2008199344.tif 000005
【００１７】
で表すことができる。
【００１８】
＜画像符号化装置１００の構成と動作＞
図１９に、画像符号化装置１００について説明するブロック図を示す。画像符号化装置１００は、入力画像１３１と再構成画像１２７とオーバーフロー情報１４７を入力とし予測画像１２１と予測モード情報１２８を生成する予測部１０１と、入力画像１３１と予測画像１２１を入力とし予測差分画像１２２を出力とする差分演算部１０２と、予測差分画像１２２を入力とし変換係数１２３を出力とする直交変換部１２３と、変換係数１２３と量子化パラメータ１３２とオーバーフロー情報１４７を入力とし量子化係数１２４を出力とする量子化部１０４と、量子化係数１２４と量子化パラメータを入力とし、逆量子化係数１２５を出力とする逆量子化部１０５と、逆量子化係数１２５を入力とし逆変換係数１２６とオーバーフロー情報１４７を出力とする逆直交変換部１０６と、逆変換係数１２６と予測画像１２１を入力とし再構成画像１２７を出力とする再構成部１０７と、予測モード情報１２８と量子化係数１２４と量子化パラメータ１３２を入力とし符号化ストリーム１３３を出力とする符号化部１０８とを備えている。
【００１９】
予測部１０１では、画面内をｍ×ｎ（ｍ，ｎは正の整数）画素のブロック分割したうちの対象とする１ブロック（以下対象ブロックと呼ぶ）に対し、現在までに既に生成されている再構成画像１２７を用いて、規格で規定されている予測モードのいずれかに準じた予測を実行し、その結果である予測画像１２１と、予測画像を生成するために使用した予測モード情報１２８を出力する。このとき、通常、入力画像１３１を参照して、対象ブロックの入力画像１３１により近似した予測画像を生成できる予測モードを用いる。
【００２０】
差分演算部１０２では、予測画像１２１と対象ブロックの入力画像１３１との各画素の差分を計算し、その結果を予測差分画像１２２として出力する。ここで、入力画像１３１をＯｒｇ（ｘ，ｙ）、予測画像１２１をＰｒｅｄ（ｘ，ｙ）、予測差分画像１２２をＤｉｆｆ（ｘ，ｙ）と置く。（ｘ，ｙ）は係数位置を表し、対象ブロックの左上位置を（０，０）とし、ｘは水平空間位置、ｙは垂直空間位置を示す。このとき差分演算は、
【００２１】
【数４】
2008199344.tif 000006
【００２２】
で表すことができる。
【００２３】
直交変換部１０３では、予測差分画像１２２に対して２次元直交変換を施したものを変換係数１２３として出力する。ここで、直交変換とは、離散コサイン変換（ＤＣＴ）や、それに類似した整数精度の行列演算などであり、予測差分画像１２２の周波数成分もしくはそれに順ずる成分へと変換される。ここで、変換係数１２３をＴ（ｉ，ｊ）と置く。（ｉ，ｊ）は係数位置を示し、ｉは水平周波数位置、ｊは垂直周波数位置を示す。このとき直交変換の演算は、
【００２４】
【数５】
2008199344.tif 000007
【００２５】
で表すことができる。Ｔｒａｎｓ（）は直交変換の演算操作を表し、実際は予測差分画像位置（ｘ，ｙ）と変換係数位置（ｉ，ｊ）により決定される係数ＴｒａｎｓＣｏｅｆｆ（ｉ，ｊ，ｘ，ｙ）と予測差分画像Ｄｉｆｆ（ｘ，ｙ）との積和演算で定義できる。
【００２６】
量子化部１０４では、変換係数１２３の各係数を、量子化パラメータ１３２に基づいて決定された量子化幅で除算した結果を整数精度に丸めた係数を量子化係数１２４として出力する。ここで、対象ブロックの量子化係数１７４をＱ（ｉ，ｊ）と置く。（ｉ，ｊ）は係数位置を示し、ｉは水平周波数位置、ｊは垂直周波数位置を示す。Ｑ（０，０）がＤＣ係数に相当する。このとき量子化の演算は、
【００２７】
【数６】
2008199344.tif 000008
【００２８】
で表すことができる。Ｑｕａｎｔ（）は量子化の演算操作を表し、実際は係数位置（ｉ，ｊ）と量子化パラメータ１３２によって決定される係数ＱｕａｎｔＣｏｅｆｆ（ｉ，ｊ）とＴ（ｉ，ｊ）との乗算で定義できる。
【００２９】
逆量子化部１０５では、量子化係数１２４を、量子化パラメータ１３２に基づいて決定された量子化幅で乗算した結果を逆量子化係数１２５として出力する。なお、逆量子化部１０５で使用される量子化幅は、量子化部１０４で使用される量子化幅と同一であっても、異なっていても構わない。逆量子化の演算は、画像復号化装置１５０で説明した逆量子化部１５５と同じである。
【００３０】
逆直交変換部１０６では、逆量子化係数１２５に対して２次元逆直交変換を施したものを逆変換係数１２６として出力する。ここで、逆直交変換とは、離散コサイン逆変換（逆ＤＣＴ）や、それに類似した整数精度の行列演算などであり、周波数成分もしくはそれに順ずる成分である逆量子化係数１２５を空間領域の画素レベルへと変換される。なお、逆直交変換は、直交変換部１０３で実施される直交変換と、完全に逆行列であっても、なくても構わない。逆直交変換に関わる一連の各演算において、演算結果が所定のビット数を超える場合、オーバーフロー情報１４７にて、オーバーフローが発生したことを通知する。逆直交変換部１０６では、前記所定のビット数以内の範囲で演算を実施するため、前記所定のビット数以内でのみ、正しい逆変換係数１２６が出力されることが保証される。逆直交変換の演算は、画像復号化装置１５０で説明した逆直交変換部１５６と同じである。
【００３１】
再構成部１０７では、逆変換係数１２６と、予測画像１２１の各係数と各画素を加算し、その結果を再構成画像１２７として出力する。再構成の演算は、画像復号化装置１５０で説明した再構成部１５７と同じである。
【００３２】
符号化部１０８では、量子化係数１２４と予測モード情報１２８に対して、例えば可変長符号化あるいは算術符号化などのエントロピー符号化を施し、その結果を符号化ストリーム１３３として出力する。
【００３３】
ここで、予測部１０１および量子化部１０４は、逆直交変換部１０６がオーバーフロー情報１４７にてオーバーフローが発生したことを通知されると、予測部１０１にて他の方法にて予測をやり直したり、量子化部１０４にて量子化パラメータを変更して量子化をやり直したりし、逆直交変換部１０６にて再度逆直交変換を実施する。そして、逆直交変換部１０６にてオーバーフローが発生しなくなるまでこれを繰り返す。これにより、画像復号化装置１５０の逆直交変換部１５６にてオーバーフローが発生しない符号化ストリーム１３３を生成することができる。
【００３４】
＜画像符号化方法＞
図２１に、画像符号化装置１００における画像符号化方法を説明するフローチャートを示す。
【００３５】
ブロック単位の繰り返し処理（ステップＳ１００）において、まず対象ブロックの予測画像１２１と、対応する予測モード情報１２８を生成し（ステップＳ１０１）、次に予測画像１２１と、入力画像１３１との差分である予測差分画像１２２を生成する（ステップＳ１０２）。続いて予測差分画像１２２に対し直交変換を行って変換係数１２３を生成し（ステップＳ１０３）、変換係数１２３を量子化して量子化係数１２４を生成する（ステップＳ１０４）。量子化係数１２４を逆量子化し、逆量子化係数１２５を生成し（ステップＳ１０５）、逆量子化係数１２５を逆直交変換して逆変換係数１２６を生成する（ステップＳ１０６）。ここで、逆直交変換の演算において、途中演算を含めて演算ビット数が所定のビット数を超過した（オーバーフローした）かどうかを判定し（ステップＳ１１１）、オーバーフローした場合は、予測画像生成（ステップＳ１０１）からやり直す。ここで、ステップＳ１０１では、前回とは異なる予測を行って予測画像１２１を生成する。もしくは、オーバーフローした場合に予測画像生成（ステップＳ１０１）ではなく量子化（ステップＳ１０４）に戻って、量子化パラメータを変更して量子化（ステップＳ１０４）を再実行する方法もある（図示せず）。いずれの場合も、量子化以降の処理が再実行され、逆直交変換（ステップＳ１０６）の再実行時にオーバーフロー判定（ステップＳ１１１）にてオーバーフローしなくなるまで繰り返される。
【非特許文献１】Ｓｔｅｖｅ  Ｇｏｒｄｏｎ  ｅｔ  ａｌ，“Ｓｉｍｐｌｉｆｉｅｄ  Ｕｓｅ  ｏｆ  ８ｘ８  Ｔｒａｎｓｆｏｒｍｓ  −  Ｐｒｏｐｏｓａｌ”，ＪＶＴ−Ｊ０２９，Ｄｅｃ，２００３．
【発明の開示】
【発明が解決しようとする課題】
【００３６】
上記説明した画像符号化装置においては、逆直交変換でオーバーフローしないことを保証する符号化ストリームを生成するために、逆直交変換までの処理のやり直しが必要となり、処理量が多く必要となっていた。
【００３７】
そこで、本発明では、逆直交変換でオーバーフローしないことを保証する符号化ストリームの生成を、逆直交変換までの処理のやり直しを不要とし少ない処理量で実現する画像符号化装置、画像符号化方法、および画像符号化プログラムを提供することを課題とする。
【課題を解決するための手段】
【００３８】
請求項１に記載の画像符号化装置は、予測手段と、差分演算手段と、直交変換手段と、量子化手段と、評価値計算手段と、係数修正方式決定手段と、量子化係数修正手段と、逆量子化手段と、逆直交変換手段と、再構成手段と、符号化手段とを備えている。
【００３９】
前記評価値計算手段は、直交変換単位ブロックごとの処理であり、対象ブロックの２次元の量子化係数を例えば１次元走査し、その順序で前記量子化係数に基づいて順次、評価値を出力する。
【００４０】
また前記修正方式決定手段は、対象ブロックに関して順次入力される前記評価値があらかじめ設定された閾値を超えた場合に係数修正フラグを１に設定し、そのときの一次元走査位置を係数修正位置情報として保持する。それ以外は係数修正フラグを０に設定する。
【００４１】
また前記量子化係数修正手段は、前記係数修正フラグが１である場合に、前記一次元走査に従って、前記係数修正位置情報で示された位置以降の前記量子化係数を修正する。前記係数修正フラグが０である場合は前記量子化係数の修正は行わない。そして処理後の量子化係数を修正量子化係数として出力する。
【００４２】
本発明の画像符号化装置では、量子化係数に基づいて導出される評価値が閾値以下となるように量子化係数を修正することで、逆直交変換でオーバーフローしないことを保証する符号化ストリームの生成を、逆直交変換までの再実行処理を伴わず低処理で実現できる。
【００４３】
請求項２に記載の画像符号化装置は、請求項１に記載の画像符号化装置であって、前記評価値計算手段によって導出される前記評価値とは、前記量子化係数の各係数の絶対値を累積加算した値である。
【００４４】
本発明の画像符号化装置では、量子化係数の絶対値を累積加算した評価値が閾値以下となるように量子化係数を修正することで、逆直交変換でオーバーフローしないことを保証する符号化ストリームの生成を、逆直交変換までの再実行処理を伴わず低処理で実現できる。
【００４５】
請求項３に記載の画像符号化装置は、請求項１または２に記載の画像符号化装置であって、加えて、閾値計算手段とを備えている。
【００４６】
前記閾値計算手段は、量子化パラメータに応じて一対一対応で閾値を決定する。
【００４７】
本発明の画像符号化装置では、量子化係数に基づいて導出される評価値が、量子化パラメータに基づいて決定された閾値以下となるように量子化係数を修正することで、逆直交変換でオーバーフローしないことを保証する符号化ストリームの生成を、逆直交変換までの再実行処理を伴わず低処理で実現できる。
【００４８】
請求項４に記載の画像符号化装置は、請求項２または３に記載の画像符号化装置であって、前記評価値計算手段によって導出される前記評価値とは、前記量子化係数の各係数の絶対値と、前記各係数のインデックスに応じてあらかじめ決定された重み係数を掛け合わせた値を累積加算した累積加算値である。
【００４９】
本発明の画像符号化装置では、量子化係数の各係数の絶対値と重み係数との積を累積加算した評価値が、閾値以下となるように量子化係数を修正することで、逆直交変換でオーバーフローしないことを保証する符号化ストリームの生成を、逆直交変換までの再実行処理を伴わず低処理で実現できる。
【００５０】
請求項５に記載の画像符号化装置は、請求項１から４のいずれかに記載の画像符号化装置であって、前記量子化係数修正手段は、前記係数修正情報に基づいて、前記量子化係数のいくつかを値０に置換する。
【００５１】
本発明の画像符号化装置では、量子化係数に基づいて導出される評価値が閾値以下となるように量子化係数を値０に修正することで、逆直交変換でオーバーフローしないことを保証する符号化ストリームの生成を、逆直交変換までの再実行処理を伴わず低処理で実現できる。
【００５２】
請求項６に記載の画像符号化装置は、請求項１から５のいずれかに記載の画像符号化装置であって、前記評価値計算手段において、前記１次元走査は、低周波係数から高周波係数への走査である。
【００５３】
本発明の画像符号化装置では、量子化係数に基づいて導出される評価値が閾値以下となるように量子化係数を修正することで、逆直交変換でオーバーフローしないことを保証する符号化ストリームの生成を、逆直交変換までの再実行処理を伴わず低処理で実現できる。さらには、前記量子化係数の修正は、高周波係数が優先的に修正され、該修正に伴う主観画質劣化を抑えることができる。
【００５４】
請求項７に記載の画像符号化装置は、請求項６に記載の画像符号化装置であって、前記評価値計算手段において、前記１次元走査は、低周波係数から高周波係数への走査であり、走査順序は符号化ストリームを生成する際の前記量子化係数の走査順序である。
【００５５】
本発明の画像符号化装置では、量子化係数に基づいて導出される評価値が閾値以下となるように量子化係数を修正することで、逆直交変換でオーバーフローしないことを保証する符号化ストリームの生成を、逆直交変換までの再実行処理を伴わず低処理で実現できる。さらには、前記量子化係数の修正は、高周波係数が優先的に修正され、該修正に伴う主観画質劣化を抑えることができる。
【００５６】
請求項８に記載の画像符号化装置は、予測手段と、差分演算手段と、直交変換手段と、量子化手段と、評価値計算手段と、係数修正方式決定手段と、量子化係数修正手段と、逆量子化手段と、逆量子化係数修正手段と、逆直交変換手段と、再構成手段と、符号化手段とを備えている。
【００５７】
前記評価値計算手段は、直交変換単位ブロックごとの処理であり、対象ブロックの２次元の逆量子化係数を例えば１次元走査し、その順序で前記逆量子化係数に基づいて順次、評価値を出力する。
【００５８】
また前記係数修正方式決定手段は、対象ブロックに関して順次入力される前記累積加算値が前記閾値を超えた場合に係数修正フラグを１に設定し、そのときの一次元走査位置を係数修正位置情報として保持する。それ以外は係数修正フラグを０に設定する。
【００５９】
また前記量子化係数修正手段は、前記係数修正フラグが１である場合に、前記一次元走査に従って、前記係数修正位置情報で示された位置以降の前記量子化係数を修正する。前記係数修正フラグが０である場合は前記量子化係数の修正は行わない。そして処理後の量子化係数を修正量子化係数として出力する。
【００６０】
また前記逆量子化係数修正手段は、前記係数修正フラグが１である場合に、前記一次元走査に従って、前記係数修正位置情報で示された位置以降の前記逆量子化係数を修正する。前記係数修正フラグが０である場合は前記逆量子化係数の修正は行わない。そして処理後の逆量子化係数を修正逆量子化係数として出力する。
【００６１】
本発明の画像符号化装置では、逆量子化係数に基づいて導出される評価値が閾値以下となるように量子化係数を修正することで、逆直交変換でオーバーフローしないことを保証する符号化ストリームの生成を、逆直交変換までの再実行処理を伴わず低処理で実現できる。
【００６２】
請求項９に記載の画像符号化装置は、請求項８に記載の画像符号化装置であって、前記評価値計算手段によって導出される前記評価値とは、前記逆量子化係数の各係数の絶対値を累積加算した値である。
【００６３】
本発明の画像符号化装置では、逆量子化係数の各係数の絶対値を累積加算した評価値が閾値以下となるように逆量子化係数および量子化係数を修正することで、逆直交変換でオーバーフローしないことを保証する符号化ストリームの生成を、逆直交変換までの再実行処理を伴わず低処理で実現できる。
【００６４】
請求項１０に記載の画像符号化装置は、請求項９に記載の画像符号化装置であって、前記評価値計算手段によって導出される前記評価値とは、前記逆量子化係数の各係数の絶対値と、前記各係数のインデックスに応じてあらかじめ決定された重み係数を掛け合わせた値を累積加算した値である。
【００６５】
本発明の画像符号化装置では、逆量子化係数の各係数の絶対値と重み係数との積を累積加算した評価値が閾値以下となるように逆量子化係数および量子化係数を修正することで、逆直交変換でオーバーフローしないことを保証する符号化ストリームの生成を、逆直交変換までの再実行処理を伴わず低処理で実現できる。
【００６６】
請求項１１に記載の画像符号化装置は、請求項８から１０に記載の画像符号化装置であって、前記逆量子化係数修正手段および前記量子化係数修正手段は、前記係数修正情報に基づいて、前記逆量子化係数および量子化係数のいくつかを値０に置換する。
【００６７】
本発明の画像符号化装置では、逆量子化係数の各係数の絶対値を累積加算した評価値が閾値以下となるように逆量子化係数および量子化係数を修正することで、逆直交変換でオーバーフローしないことを保証する符号化ストリームの生成を、逆直交変換までの再実行処理を伴わず低処理で実現できる。
【００６８】
請求項１２に記載の画像符号化装置は、請求項８から１１のいずれかに記載の画像符号化装置であって、前記逆量子化係数修正手段および前記量子化係数修正手段は、前記係数修正情報に基づいて、前記逆量子化係数および量子化係数のうち、それぞれ、高周波係数を優先的に修正する。
【００６９】
本発明の画像符号化装置では、逆量子化係数の各係数の絶対値を累積加算した評価値が閾値以下となるように逆量子化係数および量子化係数を修正することで、逆直交変換でオーバーフローしないことを保証する符号化ストリームの生成を、逆直交変換までの再実行処理を伴わず低処理で実現できる。さらには、前記逆量子化係数および量子化係数の修正は、高周波係数が優先的に修正され、該修正に伴う主観画質劣化を抑えることができる。
【００７０】
請求項１３に記載の画像符号化装置は、請求項１２に記載の画像符号化装置であって、前記評価値計算手段における前記１次元走査は、低周波係数から高周波係数への走査であり、走査順序は符号化ストリームを生成する際の前記量子化係数の走査順序である。
【００７１】
本発明の画像符号化装置では、逆量子化係数の各係数の絶対値を累積加算した評価値が閾値以下となるように逆量子化係数および量子化係数を修正することで、逆直交変換でオーバーフローしないことを保証する符号化ストリームの生成を、逆直交変換までの再実行処理を伴わず低処理で実現できる。さらには、前記逆量子化係数および量子化係数の修正は、高周波係数が優先的に修正され、該修正に伴う主観画質劣化を抑えることができる。
【００７２】
請求項１４に記載の画像符号化装置は、予測手段と、差分演算手段と、直交変換手段と、量子化手段と、量子化係数修正手段と、逆量子化手段と、逆直交変換手段と、逆直交変換係数修正手段と、再構成手段と、符号化手段とを備えている。
【００７３】
前記逆直交変換手段は、対象ブロックの逆直交変換に関わる一連の各演算のいずれかにおいて、演算結果が所定のビット数を超える場合、オーバーフロー情報にて、オーバーフローが発生したことを通知する。
【００７４】
また前記量子化係数修正手段は、前記オーバーフロー情報によりオーバーフローが発生したと通知された場合、前記量子化係数を修正する。
【００７５】
また前記逆量子化係数修正手段は、前記オーバーフロー情報によりオーバーフローが発生したと通知された場合、前記逆量子化係数を修正する。
【００７６】
本発明の画像符号化装置では、逆直交変換でオーバーフローした場合に、逆直交変換の再実行をすることなく量子化係数と逆量子化係数を修正することにより、逆直交変換でオーバーフローしないことを保証する符号化ストリームの生成を低処理で実現できる。
【００７７】
請求項１５に記載の画像符号化装置は、請求項１４に記載の画像符号化装置であって、前記量子化係数修正手段、および前記逆量子化係数修正手段における係数の修正とは、前記量子化係数および前記逆量子化係数の全てを値０に置換することである。
【００７８】
本発明の画像符号化装置では、逆直交変換でオーバーフローした場合に量子化係数と逆量子化係数の全てを値０に修正することにより、逆直交変換でオーバーフローしないことを保証する符号化ストリームの生成を、逆直交変換までの再実行処理を伴わず低処理で実現できる。
【００７９】
請求項１６に記載の画像符号化装置は、請求項１４に記載の画像符号化装置であって、前記量子化係数修正手段における係数の修正とは、前記量子化係数のＤＣ係数を除く全てを値０に置換することである。
【００８０】
また前記逆量子化係数修正手段における係数の修正とは、前記逆量子化係数全ての値を、前記量子化係数のうちのＤＣ係数を所定の値で除算した結果の値で置換することである。
【００８１】
本発明の画像符号化装置では、逆直交変換でオーバーフローしないことを保証する符号化ストリームの生成を、逆直交変換までの再実行処理を伴わず低処理で実現できる。さらには、オーバーフロー時においても、ＤＣ係数の修正を行わないことにより、主観画質の劣化を抑えることができる。
【００８２】
請求項１７に記載の画像符号化装置は、予測手段と、差分演算手段と、直交変換手段と、量子化手段と、量子化係数修正手段と、逆量子化手段と、逆直交変換手段と、再構成手段と、再構成画像修正手段と、符号化手段とを備えている。
【００８３】
前記量子化係数修正手段は、前記オーバーフロー情報が、前記逆直交変換のための内部演算が途中の演算結果を含めて１つでも所定の演算ビット数を超えたことを示す場合、前記量子化係数をすべて値０に修正したものを前記修正量子化係数として出力し、それ以外の場合は前記量子化係数を修正量子化係数として出力する。
【００８４】
また前記再構成画像修正手段は、前記オーバーフロー情報が、前記逆直交変換のための内部演算が、途中の演算結果を含めて１つでも所定の演算ビット数を超えたことを示す場合、前記予測画像を前記修正再構成画像として出力し、それ以外の場合には、前記再構成画像を前記修正再構成画像として出力する。
【００８５】
本発明の画像符号化装置では、逆直交変換でオーバーフローした場合に、逆直交変換の再実行をすることなく量子化係数と再構成画像を全て値０に修正することにより、逆直交変換でオーバーフローしないことを保証する符号化ストリームの生成を低処理で実現できる。
【００８６】
請求項１８に記載の画像符号化装置は、請求項１４から１７のいずれかに記載の画像符号化装置であって、前記予測手段は、前記オーバーフロー情報が、前記逆直交変換のための内部演算が途中の演算結果を含めて１つでも所定の演算ビット数を超えたことを示す場合、次の処理ブロックにおける予測モードの種類を制限する。
【００８７】
本発明の画像符号化装置では、逆直交変換でオーバーフローした場合に、逆直交変換の再実行をすることなく量子化係数と逆量子化係数もしくは再構成画像を修正することにより、逆直交変換でオーバーフローしないことを保証する符号化ストリームの生成を低処理で実現できる。さらには、直交変換でオーバーフローした場合でも、該修正処理に伴う次ブロックの予測画像生成までの遅延を少なくすることができ、ブロック単位の処理時間を短くできる。
【００８８】
請求項１９に記載の画像符号化装置は、請求項１４から１８のいずれかに記載の画像符号化装置であって、前記予測手段は、前記オーバーフロー情報が、前記逆直交変換のための内部演算が、途中の演算結果を含めて１つでも所定の演算ビット数を超えたことを示す場合、次の処理ブロックにおける予測モードを、前記量子化係数を修正したブロックを参照しない予測モードに制限する。
【００８９】
本発明の画像符号化装置では、逆直交変換でオーバーフローした場合に、逆直交変換の再実行をすることなく量子化係数と逆量子化係数もしくは再構成画像を修正することにより、逆直交変換でオーバーフローしないことを保証する符号化ストリームの生成を低処理で実現できる。さらには、直交変換でオーバーフローした場合でも、該修正処理に伴う次ブロックの予測画像生成の遅延を回避でき、ブロック単位の処理時間を短くできる。
【００９０】
請求項２０に記載の画像符号化装置は、請求項１４から１９のいずれかに記載の画像符号化装置であって、前記予測手段は、前記オーバーフロー情報が、前記逆直交変換のための内部演算が、途中の演算結果を含めて１つでも所定の演算ビット数を超えたことを示す場合、次の処理ブロックにおける予測モードを、前記量子化係数を修正したブロックを参照する予測モードに関しては、処理量のより多い予測モードを優先的に禁止する。
【００９１】
本発明の画像符号化装置では、逆直交変換でオーバーフローした場合に、逆直交変換の再実行をすることなく量子化係数と逆量子化係数もしくは再構成画像を修正することにより、逆直交変換でオーバーフローしないことを保証する符号化ストリームの生成を低処理で実現できる。さらには、直交変換でオーバーフローした場合でも、該修正処理に伴う次ブロックの予測画像生成までの遅延を少なくすることができ、ブロック単位の処理時間を短くできる。
【００９２】
請求項２１に記載の画像符号化方法は、予測ステップと、差分演算ステップと、直交変換ステップと、量子化ステップと、評価値計算ステップと、係数修正方式決定ステップと、量子化係数修正ステップと、逆量子化ステップと、逆直交変換ステップと、再構成ステップと、符号化ステップとを備えている。
【００９３】
前記評価値計算ステップは、直交変換単位ブロックごとの処理であり、対象ブロックの２次元の量子化係数を例えば１次元走査し、その順序で前記量子化係数に基づいて順次、評価値を出力する。
【００９４】
また前記修正方式決定ステップは、対象ブロックに関して順次入力される前記評価値があらかじめ設定された閾値を超えた場合に係数修正フラグを１に設定し、そのときの一次元走査位置を係数修正位置情報として保持する。それ以外は係数修正フラグを０に設定する。
【００９５】
また前記量子化係数修正ステップは、前記係数修正フラグが１である場合に、前記一次元走査に従って、前記係数修正位置情報で示された位置以降の前記量子化係数を修正する。前記係数修正フラグが０である場合は前記量子化係数の修正は行わない。そして処理後の量子化係数を修正量子化係数として出力する。
【００９６】
本発明の画像符号化方法では、量子化係数に基づいて導出される評価値が閾値以下となるように量子化係数を修正することで、逆直交変換でオーバーフローしないことを保証する符号化ストリームの生成を、逆直交変換までの再実行処理を伴わず低処理で実現できる。
【００９７】
請求項２２に記載の画像符号化方法は、請求項１に記載の画像符号化方法であって、前記評価値計算ステップによって導出される前記評価値とは、前記量子化係数の各係数の絶対値を累積加算した値である。
【００９８】
本発明の画像符号化方法では、量子化係数の絶対値を累積加算した評価値が閾値以下となるように量子化係数を修正することで、逆直交変換でオーバーフローしないことを保証する符号化ストリームの生成を、逆直交変換までの再実行処理を伴わず低処理で実現できる。
【００９９】
請求項２３に記載の画像符号化方法は、予測ステップと、差分演算ステップと、直交変換ステップと、量子化ステップと、評価値計算ステップと、係数修正方式決定ステップと、量子化係数修正ステップと、逆量子化ステップと、逆量子化係数修正ステップと、逆直交変換ステップと、再構成ステップと、符号化ステップとを備えている。
【０１００】
前記評価値計算ステップは、直交変換単位ブロックごとの処理であり、対象ブロックの２次元の逆量子化係数を例えば１次元走査し、その順序で前記逆量子化係数に基づいて順次、評価値を出力する。
【０１０１】
また前記係数修正方式決定ステップは、対象ブロックに関して順次入力される前記累積加算値が前記閾値を超えた場合に係数修正フラグを１に設定し、そのときの一次元走査位置を係数修正位置情報として保持する。それ以外は係数修正フラグを０に設定する。
【０１０２】
また前記量子化係数修正ステップは、前記係数修正フラグが１である場合に、前記一次元走査に従って、前記係数修正位置情報で示された位置以降の前記量子化係数を修正する。前記係数修正フラグが０である場合は前記量子化係数の修正は行わない。そして処理後の量子化係数を修正量子化係数として出力する。
【０１０３】
また前記逆量子化係数修正ステップは、前記係数修正フラグが１である場合に、前記一次元走査に従って、前記係数修正位置情報で示された位置以降の前記逆量子化係数を修正する。前記係数修正フラグが０である場合は前記逆量子化係数の修正は行わない。そして処理後の逆量子化係数を修正逆量子化係数として出力する。
【０１０４】
本発明の画像符号化方法では、逆量子化係数に基づいて導出される評価値が閾値以下となるように量子化係数を修正することで、逆直交変換でオーバーフローしないことを保証する符号化ストリームの生成を、逆直交変換までの再実行処理を伴わず低処理で実現できる。
【０１０５】
請求項２４に記載の画像符号化方法は、請求項２３に記載の画像符号化方法であって、前記評価値計算ステップによって導出される前記評価値とは、前記逆量子化係数の各係数の絶対値を累積加算した値である。
【０１０６】
本発明の画像符号化方法では、逆量子化係数の各係数の絶対値を累積加算した評価値が閾値以下となるように逆量子化係数および量子化係数を修正することで、逆直交変換でオーバーフローしないことを保証する符号化ストリームの生成を、逆直交変換までの再実行処理を伴わず低処理で実現できる。
【０１０７】
請求項２５に記載の画像符号化装置は、予測手段と、差分演算手段と、直交変換手段と、量子化手段と、量子化係数修正手段と、逆量子化手段と、逆直交変換手段と、逆直交変換係数修正手段と、再構成手段と、符号化手段とを備えている。
【０１０８】
前記逆直交変換手段は、対象ブロックの逆直交変換に関わる一連の各演算のいずれかにおいて、演算結果が所定のビット数を超える場合、オーバーフロー情報にて、オーバーフローが発生したことを通知する。
【０１０９】
また前記量子化係数修正手段は、前記オーバーフロー情報によりオーバーフローが発生したと通知された場合、前記量子化係数を修正する。
【０１１０】
また前記逆量子化係数修正手段は、前記オーバーフロー情報によりオーバーフローが発生したと通知された場合、前記逆量子化係数を修正する。
【０１１１】
本発明の画像符号化装置では、逆直交変換でオーバーフローした場合に、逆直交変換の再実行をすることなく量子化係数と逆量子化係数を修正することにより、逆直交変換でオーバーフローしないことを保証する符号化ストリームの生成を低処理で実現できる。
【０１１２】
請求項２６に記載の画像符号化方法は、請求項２５に記載の画像符号化方法であって、前記量子化係数修正ステップにおける係数の修正とは、修正時に前記量子化係数および前記逆量子化係数の全てを値０に置換することである。
【０１１３】
本発明の画像符号化装置では、逆直交変換でオーバーフローした場合に、逆直交変換の再実行をすることなく量子化係数と逆量子化係数を修正することにより、逆直交変換でオーバーフローしないことを保証する符号化ストリームの生成を低処理で実現できる。
【０１１４】
請求項２７に記載の画像符号化方法は、予測ステップと、差分演算ステップと、直交変換ステップと、量子化ステップと、量子化係数修正ステップと、逆量子化ステップと、逆直交変換ステップと、再構成ステップと、再構成画像修正ステップと、符号化ステップとを備えている。
【０１１５】
前記量子化係数修正ステップは、前記オーバーフロー情報が、前記逆直交変換のための内部演算が途中の演算結果を含めて１つでも所定の演算ビット数を超えたことを示す場合、前記量子化係数をすべて値０に修正したものを前記修正量子化係数として出力し、それ以外の場合は前記量子化係数を修正量子化係数として出力する。
【０１１６】
また前記再構成画像修正ステップは、前記オーバーフロー情報が、前記逆直交変換のための内部演算が、途中の演算結果を含めて１つでも所定の演算ビット数を超えたことを示す場合、前記予測画像を前記修正再構成画像として出力し、それ以外の場合には、前記再構成画像を前記修正再構成画像として出力する。
【０１１７】
本発明の画像符号化方法では、逆直交変換でオーバーフローした場合に、逆直交変換の再実行をすることなく量子化係数と再構成画像を全て値０に修正することにより、逆直交変換でオーバーフローしないことを保証する符号化ストリームの生成を低処理で実現できる。
【発明の効果】
【０１１８】
本発明では、逆直交変換の再実行を不要とし、逆直交変換のオーバーフローが起きないことが保証された符号化ストリームを低処理で生成する、画像符号化装置、画像符号化方法、および画像符号化プログラムを提供することが可能となる。
【発明を実施するための最良の形態】
【０１１９】
（実施形態１）
図１、図５〜図８を用いて、本発明の実施形態１としての画像符号化装置２００について説明する。図１に示す画像符号化装置２００は、逆直交変換時のオーバーフローを回避するために、量子化係数の絶対値の累積加算値に基づいて量子化係数を修正する点に特徴を有している。
【０１２０】
＜画像符号化装置２００の構成＞
画像符号化装置２００は、入力画像２３１と再構成画像２２７を入力とし予測画像２２１と予測モード情報２２８を生成する予測部２０１と、入力画像２３１と予測画像２２１を入力とし予測差分画像２２２を出力とする差分演算部２０２と、予測差分画像２２２を入力とし変換係数２２３を出力とする直交変換部２０３と、変換係数２２３と量子化パラメータ２３２を入力とし量子化係数２２４を出力とする量子化部２０４と、量子化係数２２４を入力とし評価値を出力する評価値計算部２１１と、量子化パラメータ２３２を入力とし閾値２４２を出力する閾値計算部２１２と、評価値２４１と閾値２４２を入力とし係数修正情報２４３を出力する係数修正方式決定部２１３と、量子化係数２２４と係数修正情報２４３を入力とし修正量子化係数２４４を出力する量子化係数修正部２１４と、修正量子化係数２４４を入力とし逆量子化係数２２５を出力する逆量子化部２０５と、逆量子化係数２２５を入力とし逆変換係数２２６を出力する逆直交変換部２０６と、逆変換係数２２６と予測画像２２１を入力とし再構成画像２２７を出力する再構成部２０７と、修正量子化係数２４４と量子化パラメータ２３２と予測モード情報２２８を入力とし符号化ストリーム２３３を出力する符号化部２０８とを備えている。
【０１２１】
予測部２０１では、画面内をｍ×ｎ（ｍ，ｎは正の整数）画素のブロック分割したうちの対象とする１ブロック（以下対象ブロックと呼ぶ）に対し、現在までに既に生成されている再構成画像２２７を用いて、規格で規定されている予測モードのいずれかに準じた予測を実行し、その結果である予測画像２２１と、予測画像を生成するために使用した予測モード情報２２８を出力する。このとき、通常、入力画像２３１を参照して、対象ブロックの入力画像２３１により近似した予測画像を生成できる予測モードを用いる。
【０１２２】
差分演算部２０２では、予測画像２２１と対象ブロックの入力画像２３１との各画素の差分を計算し、その結果を予測差分画像２２２として出力する。
【０１２３】
直交変換部２０３では、予測差分画像２２２に対して２次元直交変換を施したものを変換係数２２３として出力する。ここで、直交変換とは、離散コサイン変換（ＤＣＴ）や、それに類似した整数精度の行列演算などであり、予測差分画像２２２の周波数成分もしくはそれに順ずる成分へと変換される。
【０１２４】
量子化部２０４では、変換係数２２３の各係数を、量子化パラメータ２３２に基づいて決定された量子化幅で除算した結果を整数精度に丸めた係数を量子化係数２２４として出力する。
【０１２５】
評価値計算部２１１では、対象ブロックに関する量子化係数２２４の各係数を、あらかじめ定めた順番で読み込み、量子化係数２２４の各係数位置に応じてあらかじめ設定された重み係数と量子化係数２２４の各係数の絶対値とを掛け合わせた値を累積加算し、その累積加算値を順次、評価値２４１として出力する。
【０１２６】
閾値計算部２１２では、与えられた量子化パラメータ２３２に対して一対一対応で閾値を決定し、閾値２４２として出力する。
【０１２７】
係数修正方式決定部２１３では、評価値２４１と、閾値２４２とから、評価値２４１が閾値２４２を超えた場合に、評価値２４１が閾値２４２以下となるような量子化係数修正方法を、係数修正情報２４３として出力する。
【０１２８】
量子化係数修正部２１４では、係数修正情報２４３に基づいて量子化係数２２４の値を修正し、修正量子化係数２４４として出力する。ここで、修正方法は、量子化係数２２４の特定係数位置を値０に置き換える、または一定値までに抑える、などの簡易な処理である。
【０１２９】
逆量子化部２０５では、修正量子化係数２４４を、量子化パラメータ２３２に基づいて決定された量子化幅で乗算した結果を逆量子化係数２２５として出力する。
【０１３０】
逆直交変換部２０６では、逆量子化係数２２５に対して２次元逆直交変換を施したものを逆変換係数２２６として出力する。ここで、逆直交変換とは、離散コサイン逆変換（逆ＤＣＴ）や、それに類似した整数精度の行列演算などであり、周波数成分もしくはそれに順ずる成分である逆量子化係数２２５を空間領域の画素レベルへと変換される。なお、前記逆直交変換は、直交変換部２０３で実施される直交変換と、完全に逆行列であっても、なくても構わない。逆直交変換部２０６では、所定のビット数以内の範囲で演算を実施するため、前記所定のビット数以内でのみ、正しい逆変換係数２２６が出力されることが保証される。
【０１３１】
再構成部２０７では、逆変換係数２２６と、予測画像２２１の各係数と各画素を加算し、その結果を再構成画像２２７として出力する。
【０１３２】
符号化部２０８では、量子化係数２２４と予測モード情報２２８に対して、例えば可変長符号化あるいは算術符号化などのエントロピー符号化を施し、その結果を符号化ストリーム２３３として出力する。
【０１３３】
＜画像符号化装置２００の動作＞
差分演算部２０２、直交変換部２０３、再構成部２０７、符号化部２０８は背景技術にて説明したとおりである。また、予測部２０１、量子化部２０４は、背景技術にて説明した、オーバーフロー時のやり直し処理を行わないことのみに違いがあり、それ以外の動作は背景技術にて説明したとおりである。
【０１３４】
評価値計算部２１１の動作を、図５、図６を用いて説明する。図５に示す量子化係数２２４は、直交変換の単位ブロックが４×４画素ブロックである場合の２次元量子化係数である。これを、累積加算を行う目的で、１次元走査を行う。ここで前記１次元走査は、例えば図５に示すような、低周波数成分から高周波数成分への走査である。なお、この走査順序は、フレーム符号化時はジグザグ走査、フィールド符号化時はフィールド走査、などとしても良く、またそれ以外の一次元走査でも構わない。
【０１３５】
一次元走査をした後、この順序で、量子化係数２２４（Ｑ（ｋ）：１次元走査によりｋ番目に読まれる量子化係数）の絶対値と、走査位置ごとにあらかじめ与えられた重み係数２５１（Ｗ（ｋ））とから、累積加算した結果である評価値２４１（Ｓ（ｋ）：ｋ番目の量子化係数までの累算値）を求める。評価値２４１（Ｓ（ｋ））は、以下の式で計算される。
【０１３６】
【数７】
2008199344.tif 000009
【０１３７】
なお、Ｗ（ｋ）の値を、例えば２のべき乗などとすることで、実演算では乗算を用いずビットシフトを伴った加算のみの簡易な演算で実現することができる。
【０１３８】
係数修正方式決定部２１３の動作を、図７を用いて説明する。直交変換の単位ブロックごとの処理であり、単位ブロックの処理開始時に、係数修正フラグ２５３を０に初期化する。次に評価値２４１と、閾値２４２とを比較し、評価値２４１が閾値２４２よりも大きくなった場合に、係数修正フラグに１を設定し、その時の評価値２４１（Ｓ（ｋ））に対応する累算位置情報２５２（ｋ）の値を、係数修正位置情報２５４として設定する。係数修正フラグ２５３と、係数修正位置情報２５４の両方を、係数修正情報２４３として出力する。なお、係数修正フラグ２５３が１に設定された時点で、以降のｋにおける評価値２４１（Ｓ（ｋ））の計算、および閾値２４２との比較処理は中断してもよい。
【０１３９】
量子化係数修正部２１４の動作を、図８を用いて説明する。係数修正フラグ２５３が１、係数修正位置情報２５４が１１であった場合、量子化係数２２４（Ｑ（ｋ））は、
【０１４０】
【数８】
2008199344.tif 000010
【０１４１】
として修正され、修正量子化係数２４４（Ｑ’（ｋ））が出力される。また、係数修正フラグ２５３が０であった場合は、すべてのｋに対してＱ’（ｋ）＝Ｑ（ｋ）として、修正量子化係数２４４（Ｑ’（ｋ））が出力される。これによって、修正量子化係数２４４は、量子化係数２２４と見立てて評価値２４１を計算した場合を想定すると、閾値２４２を超えない値に収まるものとなる。なお、閾値２４２を超えない値に収まれば、必ずしも“ｋ＞＝係数修正位置情報２５４”なるｋにおいてＱ’（ｋ）を０に修正する必要はなく、“Ｑ’（ｋ）＜Ｑ（ｋ）”を満たす非０の値に修正してもよい。ここで、評価値計算部２１１において説明した通り、ｋ＝０，１，２，．．．によって走査される量子化係数２２４（Ｑ（ｋ））は、低周波数成分から高周波数成分への走査であるため、高周波数成分を優先的に値を修正している。これは、人間の視覚特性上、高周波数成分よりも低周波数成分がより重要な情報であることを考慮したものであり、これにより、量子化係数が修正されても人間の視覚特性上の劣化は目立ちにくいものとなる。
【０１４２】
以上の量子化係数修正により、修正量子化係数２４４（Ｑ’（ｉ，ｊ））は、
【０１４３】
【数９】
2008199344.tif 000011
【０１４４】
を満たすことになる。
【０１４５】
一方、逆直交変換の各演算を、背景技術にて説明した４×４ブロック直交変換を例に取って説明する。逆直交変換の各演算の演算結果ｅ，ｆ，ｇ，ｈ，ｈ’それぞれは、逆量子化係数２２５（ＩＱ（ｉ，ｊ））の多項式で展開することができる。すなわち、ｅ（ｘ，ｙ），ｆ（ｘ，ｙ），ｇ（ｘ，ｙ），ｈ（ｘ，ｙ），ｈ’（ｘ，ｙ）をそれぞれｎ（０，ｘ，ｙ），ｎ（１，ｘ，ｙ），．．．，ｎ（４，ｘ，ｙ）と置き換えると、ｎＣｏｅｆｆ（ｋ，ｉ，ｊ，ｘ，ｙ）およびｎＣｏｅｆｆ２（ｋ）を多項式の係数として、
【０１４６】
【数１０】
2008199344.tif 000012
【０１４７】
と表すことができる。また、逆量子化係数２２５（ＩＱ（ｉ，ｊ））は、さらに次の通り修正量子化係数２４４（Ｑ’（ｉ，ｊ））で導出される。
【０１４８】
【数１１】
2008199344.tif 000013
【０１４９】
よって、ｎ（ｋ，ｘ，ｙ）はＱ’（ｉ，ｊ）の多項式で表すことができる。この式を、ｎＱＣｏｅｆｆ（ｋ，ｉ，ｊ，ｘ，ｙ）およびｎＱＣｏｅｆｆ２（ｋ）を多項式の係数として、
【０１５０】
【数１２】
2008199344.tif 000014
【０１５１】
と表すことができる。これより、
【０１５２】
【数１３】
2008199344.tif 000015
【０１５３】
が成立する。ｎＱＣｏｅｆｆＳｕｍ（ｋ，ｘ，ｙ）を以下で定義する。
【０１５４】
【数１４】
2008199344.tif 000016
【０１５５】
ｎＱＣｏｅｆｆＳｕｍ（ｋ，ｘ，ｙ）の最大値をＭＡＸＱＣｏｅｆｆ、｜ｎＱＣｏｅｆｆ２（ｋ）｜の最大値をＭＡＸＱＣｏｅｆｆ２として、ｎ（ｋ，ｘ，ｙ）の値が所定のビット数に収めることを考える。収めるべき値の範囲を例えば−３２７６８以上、３２７６７以下とすると、
【０１５６】
【数１５】
2008199344.tif 000017
【０１５７】
と置くことにより、“｜ｎ（ｋ，ｘ，ｙ）｜＜＝３２７６７”が成立する。なお、ＴＨは上記値以下の整数値などを用いてもよく、さらには、よりＩＴの値の見積もり精度を向上させるために、係数位置（ｉ，ｊ）に応じて重みＷ（ｉ，ｊ）を設定してもよい。ここで、閾値ＴＨを導出するためのＭＡＸＱＣｏｅｆｆは、ＩＱｕａｎｔＣｏｅｆｆ（ｉ，ｊ）に依存し、すなわち量子化パラメータ２３２に依存するため、量子化パラメータ２３２の値に応じて閾値ＴＨの値を決定する。このように、修正量子化係数２２４（Ｑ’（ｋ））の多項式展開を利用して、ＴＨとＷ（ｉ，ｊ）の適切な設定により、逆直交変換における各演算の演算結果を所定のビット数で表現できる範囲内に収めることができる。
【０１５８】
＜画像符号化方法＞
図９に、画像符号化装置２００における画像符号化方法を説明するフローチャートを示す。ただし、直交変換単位ブロックが４×４画素ブロックの例で説明する。
【０１５９】
ブロック単位の繰り返し処理（ステップＳ２００）において、まず対象ブロックの予測画像２２１と、対応する予測モード情報２２８を生成し（ステップＳ２０１）、予測画像２２１と入力画像２３１との差分演算を行って予測差分画像２２２を生成し（ステップＳ２０２）、予測差分画像２２２を直交変換して変換係数２２３を生成し（ステップＳ２０３）、変換係数２２３を量子化して量子化係数２２４（Ｑ（ｋ））を生成する（ステップＳ２０４）。次に量子化パラメータ２３２に基づいて閾値２４２（ＴＨ）を決定する（ステップＳ２１２）。
【０１６０】
ＭｏｄＦｌａｇ＝０，Ｓ（−１）＝０と初期値を設定（ステップＳ２３１）した後、ｋ＝０〜１５に関して（ステップＳ２３２）、評価値２４１（Ｓ（ｋ））を、“Ｓ（ｋ）＝Ｓ（ｋ−１）＋｜Ｑ（ｋ）｜＊Ｗ（ｋ）”として計算する（ステップＳ２３３）。ここでＳ（ｋ）が閾値２４２（ＴＨ）よりも大きくなった場合（ステップＳ２３４）、ＭｏｄＦｌａｇを１に設定し（ステップＳ２３５）、修正量子化係数２４４（Ｑ’（ｋ））は、ＭｏｄＦｌａｇが１の場合（ステップＳ２３６）、Ｑ’（ｋ）＝０とし（ステップＳ２３７）、ＭｏｄＦｌａｇが０の場合はＱ’（ｋ）＝Ｑ（ｋ）として生成する。
【０１６１】
続いて修正量子化係数２４４を逆量子化して逆量子化係数２２５を生成し（ステップＳ２０５）、逆量子化係数２２５を逆直交変換して逆変換係数２２６を生成し（ステップＳ２０６）、逆変換係数２２６と予測画像２２１を足し合わせて再構成画像２２７を生成する（ステップＳ２０７）。修正量子化係数２４４と予測モード情報２２８と量子化パラメータ２３２を符号化し、符号化ストリーム２３３を生成する（ステップＳ２０８）。
【０１６２】
＜実施形態１の効果＞
以上のように本実施形態では、量子化係数の値を、直交変換単位ブロック内の量子化係数値の絶対値と、その係数の位置に対応する重み係数とをそれぞれ掛け合わせ累積加算した結果である評価値が所定の値以内になるよう修正することにより、逆直交変換のための内部演算が所定の演算ビット数でオーバーフローしないことを保証することができる。また、重み係数を２のべき乗などに制限することで乗算器を不要にでき、少ない演算量で、逆直交変換時の内部演算がオーバーフローしないことを保証できる。さらには、量子化係数の高周波数成分を優先的に修正することで、人間の視覚特性上の劣化を抑えることができる。
【０１６３】
（実施形態２）
図２、図１０〜図１２を用いて、本発明の実施形態２としての画像符号化装置３００について説明する。図２に示す画像符号化装置３００は、逆直交変換時のオーバーフローを回避するために、逆量子化係数の累積加算値に基づいて逆量子化係数を修正し、また修正した逆量子化係数に対応する量子化係数を修正する点に特徴を有している。
【０１６４】
＜画像符号化装置３００の構成＞
画像符号化装置３００は、入力画像３３１と再構成画像３２７を入力とし予測画像３２１と予測モード情報３２８を生成する予測部３０１と、入力画像３３１と予測画像３２１を入力とし予測差分画像３２２を出力とする差分演算部３０２と、予測差分画像３２２を入力とし変換係数３２３を出力とする直交変換部３０３と、変換係数３２３と量子化パラメータ３３２を入力とし量子化係数３２４を出力とする量子化部３０４と、量子化係数３２４と量子化パラメータ３３２を入力とし逆量子化係数３２５を出力する逆量子化部３０５と、逆量子化係数３２５を入力とし評価値を出力する評価値計算部３１１と、評価値３４１と閾値３４２を入力とし係数修正情報３４３を出力する係数修正方式決定部３１３と、量子化係数３２４と係数修正情報３４３を入力とし修正量子化係数３４４を出力する量子化係数修正部３１４と、逆量子化係数３２５と係数修正情報３４３を入力とし修正逆量子化係数３４５を出力する逆量子化係数修正部３１５と、修正逆量子化係数３４５を入力とし逆変換係数３２６を出力する逆直交変換部３０６と、逆変換係数３２６と予測画像３２１を入力とし再構成画像３２７を出力する再構成部３０７と、修正量子化係数３４４と量子化パラメータ３３２と予測モード情報３２８を入力とし符号化ストリーム３３３を出力する符号化部３０８とを備えている。
【０１６５】
予測部３０１、差分演算部３０２、直交変換部３０３、量子化部３０４、逆量子化部３０５、再構成部３０７、量子化係数修正部３１４、符号化部３０８は、実施形態１として先に説明したものと同じ構成である。また、逆直交変換部３０６は、入力が逆量子化係数の代わりに修正逆量子化係数３４５であることを除いて同じ構成である。
【０１６６】
評価値計算部３１１では、対象ブロックに関する逆量子化係数３２５の各係数を、あらかじめ定めた順番で読み込み、逆量子化係数３２５の各係数位置に応じてあらかじめ設定された重み係数と逆量子化係数３２５の各係数の絶対値とを掛け合わせた値を累積加算し、その累積加算値を順次、評価値３４１として出力する。
【０１６７】
係数修正方式決定部３１３では、評価値３４１と、閾値３４２とから、評価値３４１が閾値３４２を超えた場合に、評価値３４１が閾値３４２以下となるような逆量子化係数修正方法を、係数修正情報３４３として出力する。
【０１６８】
逆量子化係数修正部３１５では、係数修正情報３４３に基づいて逆量子化係数３２５の値を修正し、修正逆量子化係数３４５として出力する。ここで、修正方法は、逆量子化係数３２５の特定係数位置を値０に置き換える、または一定値までに抑える、などの簡易な処理である。
【０１６９】
＜画像符号化装置３００の動作＞
予測部３０１、差分演算部３０２、直交変換部３０３、量子化部３０４、逆量子化部３０５、逆直交変換部３０６、再構成部３０７、量子化係数修正部３１４、符号化部３０８の動作は、実施形態１として先に説明したものと同じである。
【０１７０】
評価値計算部３１１の動作を、図１０、１１を用いて説明する。図１０に示す逆量子化係数３２５は、直交変換の単位ブロックが４×４画素ブロックである場合の２次元逆量子化係数である。これを、累積加算を行う目的で、１次元走査を行う。ここで前記１次元走査は、例えば図１０に示すような、低周波数成分から高周波数成分への走査である。なお、この走査順序は、フレーム符号化時はジグザグ走査、フィールド符号化時はフィールド走査、などとしても良く、またそれ以外の一次元走査でも構わないし、逐次的な走査ではなく、複数の成分を並列に走査する、などの方法を取っても構わない。
【０１７１】
一次元走査をした後、この順序で、逆量子化係数３２５（ＩＱ（ｋ）：１次元走査によりｋ番目に読まれる逆量子化係数）の絶対値と、走査位置ごとにあらかじめ与えられた重み係数３５１（Ｗ（ｋ））とから、評価値３４１（Ｓ（ｋ）：ｋ番目の量子化係数までの累算値）を求める。評価値３４１（Ｓ（ｋ））は、以下の式で計算される。
【０１７２】
【数１６】
2008199344.tif 000018
【０１７３】
なお、Ｗ（ｋ）の値を、例えば２のべき乗などとすることで、実演算では乗算を用いずビットシフトを伴った加算のみの簡易な演算で実現することができる。
【０１７４】
係数修正方式決定部３１３の動作は、図７を用いて説明した実施形態１の係数修正方式決定部２１３と同じである。直交変換の単位ブロックごとの処理であり、単位ブロックの処理開始時に、係数修正フラグ３５３を０に初期化する。次に評価値３４１と、閾値３４２とを比較し、評価値３４１が閾値３４２よりも大きくなった場合に、係数修正フラグに１を設定し、その時の評価値３４１（Ｓ（ｋ））に対応する累算位置情報３５２（ｋ）の値を、係数修正位置情報３５４として設定する。係数修正フラグ３５３と、係数修正位置情報３５４の両方を、係数修正情報３４３として出力する。なお、係数修正フラグ３５３が１に設定された時点で、以降のｋにおける評価値３４１（Ｓ（ｋ））の計算、および閾値３４２との比較処理は中断してもよい。
【０１７５】
逆量子化係数修正部３１５の動作を、図１２を用いて説明する。係数修正フラグ３５３が１、係数修正位置情報３５４が１１であった場合、逆量子化係数３２５（ＩＱ（ｋ））は、
【０１７６】
【数１７】
2008199344.tif 000019
【０１７７】
として修正され、修正逆量子化係数３４５（ＩＱ’（ｋ））が出力される。また、係数修正フラグ３５３が０であった場合は、すべてのｋに対してＩＱ’（ｋ）＝ＩＱ（ｋ）として、修正逆量子化係数３４５（ＩＱ’（ｋ））が出力される。これによって、修正逆量子化係数３４５は、これを逆量子化係数３２５と見立てて評価値３４１を計算した場合を想定すると、閾値３４２を超えない値に収まるものとなる。なお、閾値３４２を超えない値に収まれば、必ずしも“ｋ＞＝係数修正位置情報３５４”なるｋにおいてＱ’（ｋ）を０に修正する必要はなく、“Ｑ’（ｋ）＜Ｑ（ｋ）”を満たす非０の値に修正してもよい。ここで、評価値計算部３１１において説明した通り、ｋ＝０，１，２，．．．によって走査される逆量子化係数３２５（ＩＱ（ｋ））は、低周波数成分から高周波数成分への走査であるため、高周波数成分を優先的に値を修正している。これは、人間の視覚特性上、高周波数成分よりも低周波数成分がより重要な情報であることを考慮したものであり、これにより、量子化係数が修正されても人間の視覚特性上の劣化は目立ちにくいものとなる。
【０１７８】
量子化係数修正部３１４の動作は、図８を用いて説明した実施形態１の量子化係数修正部２１４と同じである。これにより、係数修正フラグ３５３が１である場合、“ｋ＞係数修正位置情報３５４”なるｋにおいて、Ｑ（ｋ）とＩＱ（ｋ）は共に値０に修正される。ここで、逆量子化処理を“ＩＱｕａｎｔ（）”とすると、ＩＱｕａｎｔ（０）＝０であるので、この結果、すべてのｋにおいて、修正後の量子化係数Ｑ’（ｋ）および修正後の逆量子化係数ＩＱ’（ｋ）は、
【０１７９】
【数１８】
2008199344.tif 000020
【０１８０】
の関係が、逆量子化処理“ＩＱｕａｎｔ（）”の再実行なしに成立する。すなわち、逆量子化処理の入力である量子化係数が修正されるものの、逆量子化処理の再実行なしに、修正量子化係数３４４を逆量子化したものに等しい修正逆量子化係数３４５を生成することができる。
【０１８１】
以上の逆量子化係数修正により、修正逆量子化係数３４５（ＩＱ’（ｉ，ｊ））は、
【０１８２】
【数１９】
2008199344.tif 000021
【０１８３】
を満たすことになる。
【０１８４】
一方、逆直交変換の各演算を、背景技術にて説明した４×４ブロック直交変換を例に取って説明する。実施形態１における説明と同様に、各演算の演算結果ｎ（ｋ，ｘ，ｙ）は、
【０１８５】
【数２０】
2008199344.tif 000022
【０１８６】
と、修正逆量子化係数３４５（ＩＱ’（ｉ，ｊ））の多項式で展開できることになる。これより、
【０１８７】
【数２１】
2008199344.tif 000023
【０１８８】
が成立する。ｎＩＱＣｏｅｆｆＳｕｍ（ｋ，ｘ，ｙ）を以下で定義する。
【０１８９】
【数２２】
2008199344.tif 000024
【０１９０】
ｎＩＱＣｏｅｆｆＳｕｍ（ｋ，ｘ，ｙ）の最大値をＭＡＸＱＣｏｅｆｆ、｜ｎＩＱＣｏｅｆｆ２（ｋ）｜の最大値をＭＡＸＩＱＣｏｅｆｆ２として、ｎ（ｋ，ｘ，ｙ）の値が所定のビット数に収めることを考える。収めるべき値の範囲を例えば−３２７６８以上、３２７６７以下とすると、
【０１９１】
【数２３】
2008199344.tif 000025
【０１９２】
と置くことにより、“｜ｎ（ｋ，ｘ，ｙ）｜＜＝３２７６７”が成立する。なお、ＴＨは上記値以下の整数値などを用いてもよい。さらには、よりＩＴの値の見積もり精度を向上させるために、係数位置（ｉ，ｊ）に応じて重みＷ（ｉ，ｊ）を設定してもよい。このように、修正量子化係数２２４（Ｑ’（ｋ））の多項式展開を利用して、ＴＨとＷ（ｉ，ｊ）の適切な設定により、逆直交変換における各演算の演算結果を所定のビット数で表現できる範囲内に収めることができる。
【０１９３】
＜画像符号化方法＞
図１３に、画像符号化装置３００における画像符号化方法を説明するフローチャートを示す。ただし、これは直交変換単位ブロックが４×４画素ブロックの例で説明する。
【０１９４】
ブロック単位の繰り返し処理（ステップＳ３００）において、まず対象ブロックの予測画像３２１と、対応する予測モード情報３２８を生成し（ステップＳ３０１）、予測画像３２１と入力画像３３１との差分演算を行って予測差分画像３２２を生成し（ステップＳ３０２）、予測差分画像３２２を直交変換して変換係数３２３を生成し（ステップＳ３０３）、変換係数３２３を量子化して量子化係数３２４（Ｑ（ｋ））を生成する（ステップＳ３０４）。続いて量子化係数３２４を逆量子化して逆量子化係数３２５を生成する（ステップＳ３１５）。
【０１９５】
ＭｏｄＦｌａｇ＝０，Ｓ（−１）＝０と初期値を設定（ステップＳ３３１）した後、ｋ＝０〜１５に関して（ステップＳ３３２）、評価値３４１（Ｓ（ｋ））を、“Ｓ（ｋ）＝Ｓ（ｋ−１）＋｜ＩＱ（ｋ）｜＊Ｗ（ｋ）”として計算する（ステップＳ３３３）。ここでＳ（ｋ）が閾値３４２（ＴＨ）よりも大きくなった場合（ステップＳ３３４）、ＭｏｄＦｌａｇを１に設定する（ステップＳ３３５）。修正量子化係数３４４（Ｑ’（ｋ））および修正逆量子化係数３４５（ＩＱ’（ｋ））は、ＭｏｄＦｌａｇが１の場合（ステップＳ３３６）、Ｑ’（ｋ）＝０（ステップＳ３３７）およびＩＱ’（ｋ）＝０（ステップＳ３３９）とし、ＭｏｄＦｌａｇが０の場合はＱ’（ｋ）＝Ｑ（ｋ）（ステップＳ３３８）およびＩＱ’（ｋ）＝ＩＱ（ｋ）（ステップＳ３４０）として生成する。
【０１９６】
続いて修正逆量子化係数３４５（ＩＱ’（ｋ））を逆直交変換して逆変換係数３２６を生成し（ステップＳ３０６）、逆変換係数３２６と予測画像３２１を足し合わせて再構成画像３２７を生成する（ステップＳ３０７）。修正量子化係数３４４（Ｑ’（ｋ））と予測モード情報３２８と量子化パラメータ３３２を符号化し、符号化ストリーム３３３を生成する（ステップＳ３０８）。
【０１９７】
＜実施形態２の効果＞
以上のように本実施形態では、逆量子化係数の値を、直交変換単位ブロック内の逆量子化係数値の絶対値と、その係数の位置に対応する重み係数とをそれぞれ掛け合わせ累積加算した結果である評価値が所定の値以内になるよう修正し、加えて対応する量子化係数も修正することにより、逆直交変換のための内部演算が所定の演算ビット数でオーバーフローしないことを保証することができる。また、重み係数を２のべき乗などに制限することで乗算器を不要にでき、少ない演算量で、逆直交変換時の内部演算がオーバーフローしないことが保証された符号化ストリームを生成できる。さらには、逆量子化係数の高周波数成分を優先的に修正することで、人間の視覚特性上の劣化を抑えることができる。
【０１９８】
（実施形態３）
図３、図１４、１５を用いて、本発明の実施形態３としての画像符号化装置４００について説明する。図３に示す画像符号化装置４００は、逆直交変換時のオーバーフローを回避するために、逆直交変換実行中にオーバーフローしたかどうかを判定し、オーバーフローした場合に、量子化係数と逆変換係数を修正する点に特徴を有している。
【０１９９】
＜画像符号化装置４００の構成＞
画像符号化装置４００は、入力画像４３１と再構成画像４２７を入力とし予測画像４２１と予測モード情報４２８を生成する予測部４０１と、入力画像４３１と予測画像４２１を入力とし予測差分画像４２２を出力とする差分演算部４０２と、予測差分画像４２２を入力とし変換係数４２３を出力とする直交変換部４０３と、変換係数４２３と量子化パラメータ４３２を入力とし量子化係数４２４を出力とする量子化部４０４と、量子化係数４２４を入力とし逆量子化係数４２５を出力する逆量子化部４０５と、逆量子化係数４２５を入力とし逆変換係数４２６とオーバーフロー情報４４７を出力する逆直交変換部４０６と、逆変換係数４２６とオーバーフロー情報４４７を入力とし修正逆変換係数４４６を出力する逆変換係数修正部４１６と、修正逆変換係数４４６と予測画像４２１を入力とし再構成画像４２７を出力する再構成部４０７と、量子化係数４２４とオーバーフロー情報４４７を入力とし修正量子化係数４４４を出力する量子化係数修正部４１４と、修正量子化係数４４４と量子化パラメータ４３２と予測モード情報４２８を入力とし符号化ストリーム４３３を出力する符号化部４０８とを備えている。
【０２００】
予測部４０１、差分演算部４０２、直交変換部４０３、量子化部４０４、符号化部４０８は、実施形態１として先に説明したものと同じ構成である。また、逆量子化部４０５は、入力が修正量子化係数の代わりに量子化係数４２４であることを除いて構成は同じであり、逆直交変換部４０６は、入力が修正逆量子化係数の代わりに逆量子化係数４２５であることを除いて構成は同じであり、再構成部４０７は、入力が逆変換係数の代わりに修正逆変換係数４４６であることを除いて構成は同じである。
【０２０１】
逆直交変換部４０６は、背景技術として先に説明したものと同じ構成であり、逆直交変換に関わる一連の各演算において、演算結果が所定のビット数を超える場合、オーバーフロー情報４４７にて、オーバーフローが発生したことを通知する。量子化係数修正部４１４では、オーバーフロー情報４４７に基づいて量子化係数４２４の値を修正し、修正量子化係数４４４として出力する。ここで、修正方法は、対象ブロック内の量子化係数４２４すべてもしくは一部を値０に置き換える、などの簡易な処理である。逆量子化係数修正部４１６では、オーバーフロー情報４４７に基づいて逆変換係数４２６の値を修正し、修正量子化係数４４６として出力する。ここで、修正方法は、対象ブロック内の逆変換係数４２６すべてを値０もしくは一定の値に置き換える、などの簡易な処理である。
【０２０２】
＜画像符号化装置４００の動作＞
予測部４０１、差分演算部４０２、直交変換部４０３、量子化部４０４、逆量子化部４０５、逆直交変換部４０６、再構成部４０７、符号化部４０８は、実施形態１として先に説明したものと同じ動作である。
【０２０３】
逆直交変換部４０６は、背景技術として先に説明したものと同じ動作であり、対象ブロックの逆直交変換に関わる一連の各演算のいずれかにおいて、演算結果が所定のビット数を超える場合、オーバーフロー情報４４７にて、オーバーフローが発生したことを通知する。例えばオーバーフロー情報４４７は１ビットのフラグであり、オーバーフローが発生しなかった場合は値０、オーバーフローが発生した場合は値１に設定される。このオーバーフロー情報４４７を受けて、以下で説明する通り量子化係数修正部４１４は量子化係数４２４の値を修正し、逆変換係数修正部４１６は逆変換係数４２６を修正する。
【０２０４】
量子化係数修正部４１４の動作を図１４を用いて説明する。オーバーフロー情報４４７によって、対象ブロックの逆直交変換の演算でオーバーフローが起きたことを通知された場合（オーバーフロー情報４４７の値が１の場合）、修正量子化係数４４４（Ｑ’（ｉ，ｊ）：ｉ，ｊは水平・垂直方向周波数位置）を、量子化係数４２４（Ｑ（ｉ，ｊ））の値のうち、（ａ）全ての係数を０に置き換える、もしくは、（ｂ）ＤＣ以外の係数値を０に置き換える、などとして生成する。
【０２０５】
【数２４】
2008199344.tif 000026
【０２０６】
ここでＱ０Ｍａｘは、後に説明する、逆直交変換時のオーバーフロー回避を考慮した、｜Ｑ’（０，０）｜の取りうる最大値である。
【０２０７】
逆直交変換の各演算を、背景技術にて説明した４×４ブロック直交変換を例に取って説明する。（ａ）によれば、逆直交変換の各演算の演算結果ｎ（ｋ，ｘ，ｙ）は、
【０２０８】
【数２５】
2008199344.tif 000027
【０２０９】
となり、また通常ｎＱＣｏｅｆｆ２（ｋ）は十分に小さい値であるから、オーバーフローを回避することができる。
【０２１０】
また、（ｂ）によれば、逆直交変換の各演算の演算結果ｎ（ｋ，ｘ，ｙ）は、
【０２１１】
【数２６】
2008199344.tif 000028
【０２１２】
となる。ｎＱＣｏｅｆｆＳｕｍ（ｋ，ｘ，ｙ）の最大値をＭＡＸＱＣｏｅｆｆ、｜ｎＱＣｏｅｆｆ２（ｋ）｜の最大値をＭＡＸＱＣｏｅｆｆ２として、（ｂ）においてｎ（ｋ，ｘ，ｙ）の値を所定のビット数に収めることを考える。収めるべき値の範囲を例えば−３２７６８以上、３２７６７以下とすると、全てのｘ，ｙで次の不等式が成立するようにＱ０Ｍａｘを設定すれば、所定のビット数に収まり、オーバーフローを回避できる。
【０２１３】
【数２７】
2008199344.tif 000029
【０２１４】
なお、上記（ｂ）において、｜Ｑ（０，０）｜の取りうる値が常にＱ０Ｍａｘ以下であることが保証されていれば、Ｑ’（０，０）＝Ｑ（０，０）としてもよい。
【０２１５】
また、オーバーフロー情報４４７によって、対象ブロックの逆直交変換の演算でオーバーフローが起きていないことが通知された場合（オーバーフロー情報４４７の値が０の場合）、修正量子化係数４４４（Ｑ’（ｉ，ｊ））を、量子化係数４２４（Ｑ（ｉ，ｊ））の値と等しい値に設定する。
【０２１６】
【数２８】
2008199344.tif 000030
【０２１７】
逆変換係数修正部４１６の動作を図１５を用いて説明する。オーバーフロー情報４４７によって、対象ブロックの逆直交変換の演算でオーバーフローが起きたことを通知された場合（オーバーフロー情報４４７の値が１の場合）、修正逆変換係数４４６（ＩＴ’（ｘ，ｙ）：ｘ，ｙは水平・垂直空間位置）を、逆変換係数４２６（ＩＴ（ｘ，ｙ））の値のうち、（ａ）全ての係数を０に置き換える、もしくは、（ｂ）全ての係数を値ｄｃ＿ｖａｌに置き換える、などとして生成する。
【０２１８】
【数２９】
2008199344.tif 000031
【０２１９】
ここで量子化係数修正部４１４が図１４（ａ）の動作をする場合は、逆変換係数修正部４１６は、図１５（ａ）の動作をする。また、量子化係数修正部４１４が図１４（ｂ）の動作をする場合は、逆変換係数修正部４１６は、図１５（ｂ）の動作をする。（ｂ）においてｄｃ＿ｖａｌは、図１４（ａ）の処理によって量子化係数４２４が修正された場合に、その修正量子化係数４４４を逆量子化、逆直交変換まで行った場合の逆変換係数に等しい値である。この値は逆量子化係数４２５（ＩＱ（ｉ，ｊ））のＤＣ成分の係数（ＩＱ（０，０））のみから導出することが可能であり、
【０２２０】
【数３０】
2008199344.tif 000032
【０２２１】
などとして計算される。ここで、値ｓｃａｌｅは、逆直交変換の式に対して一意的に決まる定数であり、通常は２のべき乗である。よって、特にＱ’（０，０）＝Ｑ（０，０）である場合は、既にＩＱｕａｎｔ（Ｑ（０，０））の値が逆量子化部４０５にて計算済みであるため、ｄｃ＿ｖａｌの導出はシフト演算のみで低処理で実現できる。なお、図１４、図１５において、（ａ）と（ｂ）のいずれかを固定的に使用しても構わない。（ａ）に比べ（ｂ）の方が、一般的に、より入力画像４３１に近い画像を得ることができるが、処理量は若干増える。
【０２２２】
また、オーバーフロー情報４４７によって、対象ブロックの逆直交変換の演算でオーバーフローが起きていないことが通知された場合（オーバーフロー情報４４７の値が０の場合）、修正逆変換係数４４６（ＩＴ’（ｘ，ｙ））を、逆変換係数４２６（ＩＴ（ｘ，ｙ））の値と等しい値に設定する。
【０２２３】
【数３１】
2008199344.tif 000033
【０２２４】
＜画像符号化方法＞
図１６に、画像符号化装置４００における画像符号化方法を説明するフローチャートを示す。
【０２２５】
ブロック単位の繰り返し処理（ステップＳ４００）において、まず対象ブロックの予測画像４２１と、対応する予測モード情報４２８を生成し（ステップＳ４０１）、次に予測画像４２１と、入力画像４３１との差分である予測差分画像４２２を生成する（ステップＳ４０２）。続いて予測差分画像４２２に対し直交変換を行って変換係数４２３を生成し（ステップＳ４０３）、変換係数４２３を量子化して量子化係数４２４（Ｑ（ｉ，ｊ））を生成する（ステップＳ４０４）。量子化係数４２４を逆量子化し、逆量子化係数４２５を生成し（ステップＳ４０５）、逆量子化係数４２５を逆直交変換して逆変換係数４２６（ＩＴ（ｘ，ｙ））を生成する（ステップＳ４０６）。ここで、逆直交変換の演算において、途中演算を含めて演算ビット数が所定のビット数を超過した（オーバーフローした）かどうかを判定し（ステップＳ４１１）、オーバーフローした場合は、量子化係数４２４（Ｑ（ｉ，ｊ））を修正して修正量子化係数４４４（Ｑ’（ｉ，ｊ））を生成する（ステップＳ４１２）。ここで、修正方法は、図１４（ａ）または（ｂ）で、先に説明した通りである。オーバーフローした場合は、さらに、逆変換係数４２６（ＩＴ（ｘ，ｙ））を修正し、修正逆変換係数４４６（ＩＴ’（ｘ，ｙ））を生成する（ステップＳ４１４）。オーバーフローしなかった場合は、量子化係数４２４の値をそのまま修正量子化係数４４４とし（ステップＳ４１３）、逆変換係数４２６の値をそのまま修正逆変換係数４４６とする（ステップＳ４１５）。
【０２２６】
続いて、修正逆変換係数４４６と予測画像４２１を足し合わせて再構成画像４２７を生成する（ステップＳ４０７）。修正量子化係数４４４と予測モード情報４２８と量子化パラメータ４３２を符号化し、符号化ストリーム４３３を生成する（ステップＳ４０８）。
【０２２７】
＜実施形態３の効果＞
以上のように本実施形態では、逆直交変換のための内部演算が所定の演算ビット数でオーバーフローしたかどうかを判定し、オーバーフローした場合は、量子化係数と逆直交変換係数を修正する。修正の方法は、対称ブロックの量子化係数および逆直交変換係数をすべて値０で置き換える、などの簡易な処理である。このように少ない演算量で、逆直交変換時の内部演算がオーバーフローしないことが保証された符号化ストリームを生成できる。
【０２２８】
（実施形態４）
図４、図１７を用いて、本発明の実施形態３としての画像符号化装置５００について説明する。図４に示す画像符号化装置５００は、逆直交変換時のオーバーフローを回避するために、逆直交変換実行中にオーバーフローしたかどうかを判定し、オーバーフローした場合に、再構成画像を予測画像で置き換え、さらに次ブロックの予測モードを制限する点に特徴を有している。
【０２２９】
＜画像符号化装置５００の構成＞
画像符号化装置５００は、入力画像５３１と再構成画像５２７と予測モード制限情報５４９を入力とし予測画像５２１と予測モード情報５２８を生成する予測部５０１と、入力画像５３１と予測画像５２１を入力とし予測差分画像５２２を出力とする差分演算部５０２と、予測差分画像５２２を入力とし変換係数５２３を出力とする直交変換部５０３と、変換係数５２３と量子化パラメータ５３２を入力とし量子化係数５２４を出力とする量子化部５０４と、量子化係数５２４を入力とし逆量子化係数５２５を出力する逆量子化部５０５と、逆量子化係数５２５を入力とし逆変換係数５２６とオーバーフロー情報５４７を出力する逆直交変換部５０６と、逆変換係数５２６と予測画像５２１を入力とし再構成画像５２７を出力する再構成部５０７と、再構成画像５２７とオーバーフロー情報５４７を入力とし修正再構成画像５２９を出力する再構成画像修正部５１７と、量子化係数５２４とオーバーフロー情報５４７を入力とし修正量子化係数５４４を出力する量子化係数修正部５１４と、オーバーフロー情報５４７を入力とし予測モード制限情報５４９を出力する予測モード制限部５１９と、修正量子化係数５４４と量子化パラメータ５３２と予測モード情報５２８を入力とし符号化ストリーム５３３を出力する符号化部５０８とを備えている。
【０２３０】
差分演算部５０２、直交変換部５０３、量子化部５０４、逆量子化部５０５、逆直交変換部５０６、再構成部５０７、符号化部５０８、量子化係数修正部５１４は、実施形態３として先に説明したものと同じ構成である。
【０２３１】
再構成画像修正部５１７では、オーバーフロー情報５４７において対象ブロックの逆直交変換の内部演算がオーバーフローしたと通知された場合、再構成画像５２７の代わりに予測画像５２１を、修正再構成画像５２９として出力する。
【０２３２】
予測部５０１では、再構成画像５２７を用いて、予測モード制限情報５４９で制限されている予測モード以外の予測を実行し、その結果である予測画像５２１と、予測画像を生成するために使用した予測モード情報５２８を出力する。
【０２３３】
予測モード制限部５１９では、オーバーフロー情報５４７において対象ブロックの逆直交変換の内部演算がオーバーフローしたと通知された場合、次ブロックの予測実行において予測モードを制限するための予測モード制限情報５４９を出力する。
【０２３４】
＜画像符号化装置５００の動作＞
差分演算部５０２、直交変換部５０３、量子化部５０４、逆量子化部５０５、逆直交変換部５０６、再構成部５０７、符号化部５０８、量子化係数修正部５１４は、実施形態３として先に説明したものと同じ動作である。
【０２３５】
再構成画像修正部５１７では、オーバーフロー情報５４７において対象ブロックの逆直交変換の内部演算がオーバーフローしたと通知された場合、再構成画像５２７の代わりに予測画像５２１を、修正再構成画像５２９として出力し、それ以外の場合は、再構成画像５２７をそのまま修正再構成画像５２９として出力する。ここで、画像信号の修正は、単純に再構成画像５２７と予測画像５２１をセレクタで切り換える等の処理であり、高速に修正結果を反映させることができる。
【０２３６】
予測部５０１では、対象ブロックに対し、現在までに既に生成されている再構成画像５２７を用いて、規格で規定されている予測モードのいずれかに準じた予測を実行し、その結果である予測画像５２１と、予測画像を生成するために使用した予測モード情報５２８を出力する。このとき、通常、入力画像５３１を参照して、対象ブロックの入力画像５３１により近似した予測画像を生成できる予測モードを用いる。ただし、予測モード制限情報５４９で、特定の予測モードの禁止を指示されている場合は、該当予測モードを使用しない。
【０２３７】
予測モード制限部５１９では、オーバーフロー情報５４７において対象ブロックの逆直交変換の内部演算がオーバーフローしたと通知された場合、次ブロックの予測実行において予測モードを制限するための予測モード制限情報５４９を出力する。オーバーフローしなかった場合は、予測モード制限情報５４９には、制限を行わない旨を通知する情報を出力する。予測モードの制限方法は以下の（ａ）もしくは（ｂ）である。
【０２３８】
（ａ）次ブロックの予測モードのうち、オーバーフローを起こした対象ブロックの再構成画像を使用する予測モードを禁止する。
【０２３９】
（ｂ）次ブロックの予測モードで、オーバーフローを起こした対象ブロックの再構成画像を使用する予測モードのうち、予測画像の生成遅延が長い予測モードを禁止する。
【０２４０】
ここで、前記予測画像の生成遅延とは、修正逆変換係数に対応する再構成画像が生成されはじめてから、予測画像が生成されはじめるまでの時間で決められる。通常、予測画像生成のための演算量が多いほど、前記生成遅延が長くなるため、上記（ｂ）では演算量の多い予測モードを禁止することになる。
【０２４１】
なお、（ａ）または（ｂ）のいずれを用いるかは問わず、（ａ）を固定的に採用してもよいし、（ｂ）を固定的に採用してもよく、また、ブロックの位置に応じて、対象ブロックを使用する予測モードしか実行できないブロック位置でのみ（ｂ）を採用し、それ以外は（ａ）を採用する、などとしてもよい。
【０２４２】
図１７を用いて、オーバーフロー非発生時とオーバーフロー発生時における、オーバーフロー情報５４７、逆変換係数５２６、修正再構成画像５２９、予測画像５２１のデータの時間軸での変化例を説明する。図中、ブロック＃１は現対象ブロックを指し、ブロック＃２は次ブロックを指す。
【０２４３】
オーバーフロー非発生時は、オーバーフロー情報５４７は常に値０（オーバーフローなしの意味）となり、現対象ブロックの逆変換係数が順次生成され、続いて再構成画像が生成される。さらに生成された再構成画像を参照して、次ブロックの予測画像が生成される。ここで、再構成画像出力開始から予測画像出力開始までの間が予測画像の生成遅延時間であり、これは、予測で必要な再構成画素の生成待ち時間と、予測画像生成のための演算時間とを合わせた時間である。
【０２４４】
オーバーフロー発生時は、オーバーフロー情報５４７は、逆直交変換の演算中にオーバーフローが発生したタイミングで値１（オーバーフローありの意味）となる。このタイミングで、再構成画像修正部５１７は、出力する修正再構成画像５２９を、再構成画像５２７から予測画像５２１に切り換える。切り換え操作のみであるので、オーバーフロー発生から、修正結果である予測画像５２１が修正再構成画像５２９として予測部５０１へ出力され始めるまでの遅延時間は最小限に抑えられる。さらに、このとき予測モード制限部５１９により、予測画像の生成遅延が長い予測モードを禁止しているため、予測画像５２１が修正再構成画像５２９として出力されてから、次ブロックの予測画像が生成されるまでの遅延時間も短く抑えることができる。
【０２４５】
＜画像符号化方法＞
図１８に、画像符号化装置５００における画像符号化方法を説明するフローチャートを示す。
【０２４６】
ブロック単位の繰り返し処理（ステップＳ５００）において、まず対象ブロックの予測画像５２１と、対応する予測モード情報５２８を生成し（ステップＳ５０１）、次に予測画像５２１と、入力画像５３１との差分である予測差分画像５２２を生成する（ステップＳ５０２）。続いて予測差分画像５２２に対し直交変換を行って変換係数５２３を生成し（ステップＳ５０３）、変換係数５２３を量子化して量子化係数５２４（Ｑ（ｉ，ｊ））を生成する（ステップＳ５０４）。量子化係数５２４を逆量子化し、逆量子化係数５２５を生成し（ステップＳ５０５）、逆量子化係数５２５を逆直交変換して逆変換係数５２６（ＩＴ（ｘ，ｙ））を生成する（ステップＳ５０６）。ここで、逆直交変換の演算において、途中演算を含めて演算ビット数が所定のビット数を超過した（オーバーフローした）かどうかを判定し（ステップＳ５１１）、オーバーフローした場合は、量子化係数５２４（Ｑ（ｉ，ｊ））を修正して修正量子化係数５４４（Ｑ’（ｉ，ｊ））を生成する（ステップＳ５１２）。ここで、修正方法は、図１４（ａ）または（ｂ）で、先に説明した通りである。オーバーフローした場合は、さらに、予測画像５２１を修正再構成画像として出力する（ステップＳ５１８）。加えて、オーバーフローした場合は次ブロックの予測モードの制限を行う（ステップＳ５１９）。ここで、制限の方法は、先に説明した予測モード制御部５１９の動作と同じである。オーバーフローしなかった場合は、量子化係数５２４の値をそのまま修正量子化係数５４４とし（ステップＳ５１３）、再構成画像を生成し（ステップＳ５０７）、その再構成画像をそのまま修正再構成画像とする（ステップＳ５１７）。
【０２４７】
続いて、修正量子化係数５４４と予測モード情報５２８と量子化パラメータ５３２を符号化し、符号化ストリーム５３３を生成する（ステップＳ５０８）。
【０２４８】
ここで、ステップＳ５０１で予測画像５２１を生成する際、前ブロックのステップＳ５１９において予測モードの制限が指示されていた場合は、その指示に従って、実行する予測モードを制限する。
【０２４９】
＜実施形態４の効果＞
以上のように本実施形態では、対象ブロックの処理において、逆直交変換のための内部演算が所定の演算ビット数でオーバーフローしたかどうかを判定し、オーバーフローした場合は、量子化係数と逆直交変換係数を修正する。修正の方法は、再構成画像を予測画像で置き換えるだけである。このように少ない演算量で、逆直交変換時の内部演算がオーバーフローしないことが保証された符号化ストリームを生成できる。
【０２５０】
さらに、現対象ブロックでオーバーフローが発生した場合に、１つの方法によれば、次ブロックの予測画像生成において現対象ブロックの修正再構成画像を参照する予測モードを使用しないことにより再構成画像の修正完了を待つ必要がなくなり、処理時間を短縮できる。またもう１つの方法によれば、次ブロックの予測画像生成において現対象ブロックの修正再構成画像を参照する予測モードを使用していながら、該予測モードのうち処理量の多い予測モードを禁止することにより現対象ブロックの再構成画像の修正完了から次ブロックの予測画像生成までの処理時間を短縮でき、再構成画像の修正も先に述べた通り予測画像に置き換えるだけであり高速に処理を完了できる。以上より単位ブロックあたりの処理時間を短縮することが可能となる。
【０２５１】
（実施形態５）
さらに、上記各実施形態で示した画像符号化方法の構成を実現するためのプログラムを、フレキシブルディスク等の記憶媒体に記録するようにすることにより、上記各実施形態で示した処理を、独立したコンピュータシステムにおいて簡単に実施することが可能となる。
【０２５２】
図２２は、本発明の実施形態５として、上記実施形態１から実施形態４の画像符号化方法を格納したフレキシブルディスクを用いて、コンピュータシステムにより実施する場合の説明図である。
【０２５３】
図２２（ｂ）は、フレキシブルディスクの正面からみた外観、断面構造、及びフレキシブルディスクを示し、図２２（ａ）は、記録媒体本体であるフレキシブルディスクの物理フォーマットの例を示している。フレキシブルディスクＦＤはケースＦ内に内蔵され、該ディスクの表面には、同心円状に外周からは内周に向かって複数のトラックＴｒが形成され、各トラックは角度方向に１６のセクタＳｅに分割されている。従って、上記プログラムを格納したフレキシブルディスクでは、上記フレキシブルディスクＦＤ上に割り当てられた領域に、上記プログラムとしての画像符号化方法が記録されている。
【０２５４】
また、図２２（ｃ）は、フレキシブルディスクＦＤに上記プログラムの記録再生を行うための構成を示す。上記プログラムをフレキシブルディスクＦＤに記録する場合は、コンピュータシステムＣｓから上記プログラムとしての画像符号化方法をフレキシブルディスクドライブを介して書き込む。また、フレキシブルディスク内のプログラムにより上記可変長符号化方法または可変長復号化方法をコンピュータシステム中に構築する場合は、フレキシブルディスクドライブによりプログラムをフレキシブルディスクから読み出し、コンピュータシステムに転送する。
【０２５５】
なお、上記説明では、記録媒体としてフレキシブルディスクを用いて説明を行ったが、光ディスクを用いても同様に行うことができる。また、記録媒体はこれに限らず、ハードディスク、ＣＤ−ＲＯＭ、メモリカード、ＲＯＭカセット等、プログラムを記録できるものであれば同様に実施することができる。
【０２５６】
（実施形態６）
本発明の実施形態６として、画像符号化装置、画像符号化方法、および画像符号化プログラムの応用例と、それを用いたシステムとを図２３〜図２５を用いて説明する。
【０２５７】
図２３は、コンテンツ配信サービスを実現するコンテンツ供給システムｅｘ１００の全体構成を示すブロック図である。通信サービスの提供エリアを所望の大きさに分割し、各セル内にそれぞれ固定無線局である基地局ｅｘ１０７〜ｅｘ１１０が設置されている。
【０２５８】
このコンテンツ供給システムｅｘ１００は、例えば、インターネットｅｘ１０１にインターネットサービスプロバイダｅｘ１０２および電話網ｅｘ１０４、および基地局ｅｘ１０７〜ｅｘ１１０を介して、コンピュータｅｘ１１１、ＰＤＡ（ｐｅｒｓｏｎａｌ  ｄｉｇｉｔａｌ  ａｓｓｉｓｔａｎｔ）ｅｘ１１２、カメラｅｘ１１３、携帯電話ｅｘ１１４、カメラ付きの携帯電話ｅｘ１１５などの各機器が接続される。
【０２５９】
しかし、コンテンツ供給システムｅｘ１００は図２４のような組合せに限定されず、いずれかを組み合わせて接続するようにしてもよい。また、固定無線局である基地局ｅｘ１０７〜ｅｘ１１０を介さずに、各機器が電話網ｅｘ１０４に直接接続されてもよい。
【０２６０】
カメラｅｘ１１３はディジタルビデオカメラ等の動画撮影が可能な機器である。また、携帯電話は、ＰＤＣ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ）方式、ＣＤＭＡ（Ｃｏｄｅ  Ｄｉｖｉｓｉｏｎ  Ｍｕｌｔｉｐｌｅ  Ａｃｃｅｓｓ）方式、Ｗ−ＣＤＭＡ（Ｗｉｄｅｂａｎｄ−Ｃｏｄｅ  Ｄｉｖｉｓｉｏｎ  Ｍｕｌｔｉｐｌｅ  Ａｃｃｅｓｓ）方式、若しくはＧＳＭ（Ｇｌｏｂａｌ  Ｓｙｓｔｅｍ  ｆｏｒ  Ｍｏｂｉｌｅ  Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ）方式の携帯電話機、またはＰＨＳ（Ｐｅｒｓｏｎａｌ  Ｈａｎｄｙｐｈｏｎｅ  Ｓｙｓｔｅｍ）等であり、いずれでも構わない。
【０２６１】
また、ストリーミングサーバｅｘ１０３は、カメラｅｘ１１３から基地局ｅｘ１０９、電話網ｅｘ１０４を通じて接続されており、カメラｅｘ１１３を用いてユーザが送信する符号化処理されたデータに基づいたライブ配信等が可能になる。撮影したデータの符号化処理はカメラｅｘ１１３で行っても、データの送信処理をするサーバ等で行ってもよい。また、カメラｅｘ１１６で撮影した動画データはコンピュータｅｘ１１１を介してストリーミングサーバｅｘ１０３に送信されてもよい。カメラｅｘ１１６はディジタルカメラ等の静止画、動画が撮影可能な機器である。この場合、動画データの符号化はカメラｅｘ１１６で行ってもコンピュータｅｘ１１１で行ってもどちらでもよい。また、符号化処理はコンピュータｅｘ１１１やカメラｅｘ１１６が有するＬＳＩｅｘ１１７において処理することになる。なお、画像符号化・復号化用のソフトウェアをコンピュータｅｘ１１１等で読み取り可能な記録媒体である何らかの蓄積メディア（ＣＤ−ＲＯＭ、フレキシブルディスク、ハードディスクなど）に組み込んでもよい。さらに、カメラ付きの携帯電話ｅｘ１１５で動画データを送信してもよい。このときの動画データは携帯電話ｅｘ１１５が有するＬＳＩで符号化処理されたデータである。
【０２６２】
このコンテンツ供給システムｅｘ１００では、ユーザがカメラｅｘ１１３、カメラｅｘ１１６等で撮影しているコンテンツ（例えば、音楽ライブを撮影した映像等）を符号化処理してストリーミングサーバｅｘ１０３に送信する一方で、ストリーミングサーバｅｘ１０３は要求のあったクライアントに対して上記コンテンツデータをストリーム配信する。クライアントとしては、符号化処理されたデータを復号化することが可能な、コンピュータｅｘ１１１、ＰＤＡｅｘ１１２、カメラｅｘ１１３、携帯電話ｅｘ１１４等がある。このようにすることでコンテンツ供給システムｅｘ１００は、符号化されたデータをクライアントにおいて受信して再生することができ、さらにクライアントにおいてリアルタイムで受信して復号化し、再生することにより、個人放送をも実現可能になるシステムである。なお、コンテンツの符号化処理に際しては、上記実施形態の画像符号化装置、画像符号化方法、および画像符号化プログラムを用いても良い。例えば、コンピュータｅｘ１１１、ＰＤＡｅｘ１１２、カメラｅｘ１１３、携帯電話ｅｘ１１４等は、上記実施形態で示した画像符号化装置および画像符号化プログラムを備えていてもよい。
【０２６３】
一例として携帯電話について説明する。
【０２６４】
図２４および図２５は、上記実施形態のメディアデータ表示装置を用いた携帯電話ｅｘ１１５を示す図である。携帯電話ｅｘ１１５は、基地局ｅｘ１１０との間で電波を送受信するためのアンテナｅｘ２０１、ＣＣＤカメラ等の映像、静止画を撮ることが可能なカメラ部ｅｘ２０３、カメラ部ｅｘ２０３で撮影した映像、アンテナｅｘ２０１で受信した映像等が復号化されたデータを表示する液晶ディスプレイ等の表示部ｅｘ２０２、操作キーｅｘ２０４群から構成される本体部、音声出力をするためのスピーカ等の音声出力部ｅｘ２０８、音声入力をするためのマイク等の音声入力部ｅｘ２０５、撮影した動画もしくは静止画のデータ、受信したメールのデータ、動画のデータもしくは静止画のデータ等、符号化されたデータまたは復号化されたデータを保存するための記録メディアｅｘ２０７、携帯電話ｅｘ１１５に記録メディアｅｘ２０７を装着可能とするためのスロット部ｅｘ２０６を有している。記録メディアｅｘ２０７はＳＤカード等のプラスチックケース内に電気的に書換えや消去が可能な不揮発性メモリであるＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  ａｎｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）の一種であるフラッシュメモリ素子を格納したものである。
【０２６５】
さらに、携帯電話ｅｘ１１５について図２５を用いて説明する。携帯電話ｅｘ１１５は表示部ｅｘ２０２および操作キーｅｘ２０４を備えた本体部の各部を統括的に制御するようになされた主制御部ｅｘ３１１に対して、電源回路部ｅｘ３１０、操作入力制御部ｅｘ３０４、画像符号化部ｅｘ３１２、カメラインターフェース部ｅｘ３０３、ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）制御部ｅｘ３０２、画像復号化部ｅｘ３０９、多重分離部ｅｘ３０８、記録再生部ｅｘ３０７、変復調回路部ｅｘ３０６および音声処理部ｅｘ３０５が同期バスｅｘ３１３を介して互いに接続されている。
【０２６６】
電源回路部ｅｘ３１０は、ユーザの操作により終話および電源キーがオン状態にされると、バッテリパックから各部に対して電力を供給することによりカメラ付ディジタル携帯電話ｅｘ１１５を動作可能な状態に起動する。
【０２６７】
携帯電話ｅｘ１１５は、ＣＰＵ、ＲＯＭおよびＲＡＭ等でなる主制御部ｅｘ３１１の制御に基づいて、音声通話モード時に音声入力部ｅｘ２０５で集音した音声信号を音声処理部ｅｘ３０５によってディジタル音声データに変換し、これを変復調回路部ｅｘ３０６でスペクトラム拡散処理し、送受信回路部ｅｘ３０１でディジタルアナログ変換処理および周波数変換処理を施した後にアンテナｅｘ２０１を介して送信する。また携帯電話ｅｘ１１５は、音声通話モード時にアンテナｅｘ２０１で受信した受信信号を増幅して周波数変換処理およびアナログディジタル変換処理を施し、変復調回路部ｅｘ３０６でスペクトラム逆拡散処理し、音声処理部ｅｘ３０５によってアナログ音声信号に変換した後、これを音声出力部ｅｘ２０８を介して出力する。
【０２６８】
さらに、データ通信モード時に電子メールを送信する場合、本体部の操作キーｅｘ２０４の操作によって入力された電子メールのテキストデータは操作入力制御部ｅｘ３０４を介して主制御部ｅｘ３１１に送出される。主制御部ｅｘ３１１は、テキストデータを変復調回路部ｅｘ３０６でスペクトラム拡散処理し、送受信回路部ｅｘ３０１でディジタルアナログ変換処理および周波数変換処理を施した後にアンテナｅｘ２０１を介して基地局ｅｘ１１０へ送信する。
【０２６９】
データ通信モード時に画像データを送信する場合、カメラ部ｅｘ２０３で撮像された画像データをカメラインターフェース部ｅｘ３０３を介して画像符号化部ｅｘ３１２に供給する。また、画像データを送信しない場合には、カメラ部ｅｘ２０３で撮像した画像データをカメラインターフェース部ｅｘ３０３およびＬＣＤ制御部ｅｘ３０２を介して表示部ｅｘ２０２に直接表示することも可能である。
【０２７０】
画像符号化部ｅｘ３１２は、カメラ部ｅｘ２０３から供給された画像データを圧縮符号化することにより符号化画像データに変換し、これを多重分離部ｅｘ３０８に送出する。また、このとき同時に携帯電話ｅｘ１１５は、カメラ部ｅｘ２０３で撮像中に音声入力部ｅｘ２０５で集音した音声を音声処理部ｅｘ３０５を介してディジタルの音声データとして多重分離部ｅｘ３０８に送出する。
【０２７１】
なお、画像符号化部ｅｘ３１２は、上記実施形態の画像符号化装置としての機能を果たすものであっても良い。
【０２７２】
多重分離部ｅｘ３０８は、画像符号化部ｅｘ３１２から供給された符号化画像データと音声処理部ｅｘ３０５から供給された音声データとを所定の方式で多重化し、その結果得られる多重化データを変復調回路部ｅｘ３０６でスペクトラム拡散処理し、送受信回路部ｅｘ３０１でディジタルアナログ変換処理および周波数変換処理を施した後にアンテナｅｘ２０１を介して送信する。
【０２７３】
データ通信モード時にホームページ等にリンクされた動画像ファイルのデータを受信する場合、アンテナｅｘ２０１を介して基地局ｅｘ１１０から受信した受信信号を変復調回路部ｅｘ３０６でスペクトラム逆拡散処理し、その結果得られる多重化データを多重分離部ｅｘ３０８に送出する。
【０２７４】
また、アンテナｅｘ２０１を介して受信された多重化データを復号化するには、多重分離部ｅｘ３０８は、多重化データを分離することにより画像データの符号化ビットストリームと音声データの符号化ビットストリームとに分け、同期バスｅｘ３１３を介して当該符号化画像データを画像復号化部ｅｘ３０９に供給すると共に当該音声データを音声処理部ｅｘ３０５に供給する。
【０２７５】
次に、画像復号化部ｅｘ３０９は、画像データの符号化ビットストリームを復号することにより再生動画像データを生成し、これを、ＬＣＤ制御部ｅｘ３０２を介して表示部ｅｘ２０２に供給し、これにより、例えばホームページにリンクされた動画像ファイルに含まれる動画データが表示される。
【０２７６】
このとき同時に音声処理部ｅｘ３０５は、音声データをアナログ音声信号に変換した後、これを音声出力部ｅｘ２０８に供給し、これにより、例えばホームページにリンクされた動画像ファイルに含まる音声データが再生される。
【０２７７】
なお、上記システムの例に限られず、最近は衛星、地上波によるディジタル放送が話題となっており、図２５に示すようにディジタル放送用システムにも上記実施形態の画像符号化装置、画像符号化方法、および画像符号化プログラムを組み込むことができる。具体的には、放送局ｅｘ４０９では映像情報を放送用エンコーダｅｘ４３０およびカメラｅｘ４３０で符号化処理し、生成された符号化ビットストリームが電波を介して通信または放送衛星ｅｘ４１０に伝送される。これを受けた放送衛星ｅｘ４１０は、放送用の電波を発信し、この電波を衛星放送受信設備をもつ家庭のアンテナｅｘ４０６で受信し、テレビ（受信機）ｅｘ４０１またはセットトップボックス（ＳＴＢ）ｅｘ４０７などの装置により符号化ビットストリームを復号化してこれを再生する。また、アンテナｅｘ４１１を有する車ｅｘ４１２で放送衛星ｅｘ４１０からまたは基地局ｅｘ１０７等から信号を受信し、車ｅｘ４１２が有するカーナビゲーションｅｘ４１３等の表示装置に動画を再生することも可能である。ここで、放送用エンコーダｅｘ４３０およびカメラｅｘ４３０などの装置が上記実施形態の画像符号化装置を備えていてもよい。また、上記実施形態の画像符号化方法を用いるものであってもよい。さらに、上記実施形態の画像符号化プログラムを備えていてもよい。
【０２７８】
さらに、画像信号を符号化し、記録媒体に記録することもできる。具体例としては、ＤＶＤディスクｅｘ４２１に画像信号を記録するＤＶＤレコーダや、ハードディスクに記録するディスクレコーダなどのレコーダｅｘ４２０がある。さらにＳＤカードｅｘ４２２に記録することもできる。また、レコーダｅｘ４２０の他に、コンピュータｅｘ４０３やカーナビゲーションｅｘ４１３に、前記記録媒体に画像信号を符号化して記録する機能を持たせることも可能である。なお、ＤＶＤディスクｅｘ４２１やＳＤカードｅｘ４２２などに記録する際に、画像信号を上記実施形態の画像符号化装置を介して記録することも可能である。
【０２７９】
カーナビゲーションｅｘ４１３の構成は例えば図２６に示す構成のうち、カメラ部ｅｘ２０３とカメラインターフェース部ｅｘ３０３を除いた構成が考えられ、同様なことがレコーダｅｘ４２０やコンピュータｅｘ１１１等でも考えられる。
【０２８０】
また、上記携帯電話ｅｘ１１４等の端末は、符号化器・復号化器を両方持つ送受信型の端末の他に、符号化器のみの送信端末、復号化器のみの受信端末の３通りの実装形式が考えられる。
【０２８１】
このように、上記実施形態の画像符号化装置、画像符号化方法、および画像符号化プログラムを上述したいずれの機器・システムにも用いることが可能であり、上記実施形態で説明した効果を得ることができる。
【産業上の利用可能性】
【０２８２】
本発明にかかる画像符号化装置は、少ない処理量で逆直交変換時の演算オーバーフローが起きないことを保証する符号化ストリームを生成するために有用である。また、本発明の画像符号化方法、および画像符号化プログラムは、ハードウェアコストをより削減する、あるいはソフトウェアによる処理負荷をより削減することが求められている画像符号化方法、およびプログラムとして有用である。
【図面の簡単な説明】
【０２８３】
【図１】実施形態１における、画像符号化装置２００を説明するブロック図
【図２】実施形態２における、画像符号化装置３００を説明するブロック図
【図３】実施形態３における、画像符号化装置４００を説明するブロック図
【図４】実施形態４における、画像符号化装置５００を説明するブロック図
【図５】実施形態１における、画像符号化装置２００における量子化係数２２４の１次元走査方式の説明図
【図６】実施形態１における、評価値計算部２１１の説明図
【図７】実施形態１における、係数修正方式決定部２１３の説明図
【図８】実施形態１における、量子化係数修正部２１４の説明図
【図９】実施形態１における、画像符号化方法を説明するフローチャート
【図１０】実施形態２における、評価値計算部３１１の説明図
【図１１】実施形態２における、評価値計算部３１１の説明図
【図１２】実施形態２における、逆量子化係数修正部３１５の説明図
【図１３】実施形態２における、画像符号化方法を説明するフローチャート
【図１４】実施形態３における、量子化係数修正部４１４の説明図
【図１５】実施形態３における、逆変換係数修正部４１６の説明図
【図１６】実施形態３における、画像符号化方法を説明するフローチャート
【図１７】実施形態４における、再構成画像修正部５１７の説明図
【図１８】実施形態４における、画像符号化方法を説明するフローチャート
【図１９】背景技術における、画像符号化装置１００を説明するブロック図
【図２０】背景技術における、画像復号化装置１５０を説明するブロック図
【図２１】背景技術における、画像符号化方法を説明するフローチャート
【図２２】実施形態５における、コンピュータ上での画像符号化方法実施の説明図
【図２３】実施形態６における、コンテンツ供給システムの全体構成を示すブロック図
【図２４】実施形態６における、画像符号化装置を搭載する携帯電話の例を示す図
【図２５】実施形態６における、携帯電話のブロック図
【図２６】実施形態６における、ディジタル放送用システムの例を示す図
【符号の説明】
【０２８４】
１００，２００，３００，４００，５００    画像符号化装置
１０１，２０１，３０１，４０１，５０１    予測部
１０２，２０２，３０２，４０２，５０２    差分演算部
１０３，２０３，３０３，４０３，５０３    直交変換部
１０４，２０４，３０４，４０４，５０４    量子化部
１０５，２０５，３０５，４０５，５０５    逆量子化部
１０６，２０６，３０６，４０６，５０６    逆直交変換部
１０７，２０７，３０７，４０７，５０７    再構成部
１０８，２０８，３０８，４０８，５０８    符号化部
１１１，２１１，３１１    評価値計算部
１１２，２１２    閾値計算部
１１３，２１３，３１３    係数修正方式決定部
２１４，３１４，４１４，５１４    量子化係数修正部
３１５    逆量子化係数修正部
４１６    逆変換係数修正部
５１７    再構成画像修正部
【図１】
2008199344.tif 000034
【図２】
2008199344.tif 000035
【図３】
2008199344.tif 000036
【図４】
2008199344.tif 000037
【図５】
2008199344.tif 000038
【図６】
2008199344.tif 000039
【図７】
2008199344.tif 000040
【図８】
2008199344.tif 000041
【図９】
2008199344.tif 000042
【図１０】
2008199344.tif 000043
【図１１】
2008199344.tif 000044
【図１２】
2008199344.tif 000045
【図１３】
2008199344.tif 000046
【図１４】
2008199344.tif 000047
【図１５】
2008199344.tif 000048
【図１６】
2008199344.tif 000049
【図１７】
2008199344.tif 000050
【図１８】
2008199344.tif 000051
【図１９】
2008199344.tif 000052
【図２０】
2008199344.tif 000053
【図２１】
2008199344.tif 000054
【図２２】
2008199344.tif 000055
【図２３】
2008199344.tif 000056
【図２４】
2008199344.tif 000057
【図２５】
2008199344.tif 000058
【図２６】
2008199344.tif 000059