(57)【要約】【課題】ビットプレーンの切り捨てが行われたことによって画像に生じる違和感や不明瞭感を安定的に抑制する。【解決手段】乱数を生成する乱数生成部５３３は乱数を生成する。補正値作成部５３５-1は、予め統計的に作成された補正値テーブルを用いて、ビットプレーンの切り捨て位置と生成された乱数の値に基づき、ビットプレーンの切り捨てに対する補正値を作成する。係数補正処理部５３６は、作成された補正値を用いて、ビットストリームを復号化処理して得られる変換係数の補正を行う。切り捨てられた値の発生確率に応じたゆらぎを持って補正値を作成することが可能となり、ビットプレーンの切り捨てが行われたことによって生じる違和感や不明瞭感を安定的に抑制することができる。【選択図】        図６
2012124837.tif 000002
【特許請求の範囲】
【請求項１】
画像データを直交変換してビットプレーン符号化を行うことにより生成されたビットストリームから、ビットプレーンの切り捨て位置を取得する情報取得部と、
乱数を生成する乱数生成部と、
予め統計的に作成された補正値テーブルを用いて、前記切り捨て位置と前記乱数の値に基づき、前記ビットプレーンの切り捨てに対する補正値を作成する補正値作成部と、
前記作成された補正値を用いて、前記ビットストリームを復号化処理して得られる変換係数の補正を行う係数補正処理部と
を有する画像復号化装置。
【請求項２】
前記補正値テーブルは、切り捨て位置毎に、切り捨てられた変換係数の発生確率に対応させて、前記乱数の値に基づき補正値の作成を行うテーブルである
請求項１記載の画像復号化装置。
【請求項３】
コンテキストを生成するコンテキスト生成部をさらに有し、
前記補正値テーブルは予めコンテキスト毎に作成し、
前記補正値作成部は、前記切り捨て位置と前記乱数の値と、前記生成されたコンテキストに基づき補正値を作成する
請求項２記載の画像復号化装置。
【請求項４】
シードによって前記乱数生成部を初期化するシード生成部をさらに有し、
前記乱数生成部は、前記シードに応じた再現性のある乱数を生成する
請求項２記載の画像復号化装置。
【請求項５】
シード生成部は、切り捨て位置をシードとして用いる
請求項４記載の画像復号化装置。
【請求項６】
シード生成部は、前記ビットストリームに含まれているシードを取得する
請求項４記載の画像復号化装置。
【請求項７】
補正対象の変換係数が有意であるか判別する有意係数判別部をさらに有し、
前記補正値作成部は、有意でないと判別された係数に対する補正値を予め設定した所定値に決定する
請求項２記載の画像復号化装置。
【請求項８】
画像データを直交変換してビットプレーン符号化を行うことにより生成されたビットストリームから、ビットプレーンの切り捨て位置を取得する工程と、
乱数を生成する工程と、
予め統計的に作成された補正値テーブルを用いて、前記切り捨て位置と前記乱数の値に基づき、前記ビットプレーンの切り捨てに対する補正値を作成する工程と、
前記作成された補正値を用いて、前記ビットストリームを復号化処理して得られる変換係数の補正を行う工程と
を有する画像復号化方法。
【請求項９】
画像データを直交変換してビットプレーン符号化を行うことにより生成されたビットストリームから、ビットプレーンの切り捨て位置を取得する手順と、
乱数を生成する手順と、
予め統計的に作成された補正値テーブルを用いて、前記切り捨て位置と前記乱数の値に基づき、前記ビットプレーンの切り捨てに対する補正値を作成する手順と、
前記作成された補正値を用いて、前記ビットストリームを復号化処理して得られる変換係数の補正を行う手順と
をコンピュータで実行させるプログラム。
【請求項１０】
入力画像と予測画像との誤差を示す画像データを直交変換してビットプレーン符号化を行いビットストリームを生成する符号化処理部と、
前記ビットストリームの復号化処理によって変換係数を生成し、該変換係数の逆直交変換を行い前記予測画像の生成に用いる誤差を示す画像データを生成する復号化処理部を有し、
前記復号化処理部には、
乱数を生成する乱数生成部と、
シードによって前記乱数生成部を初期化して、前記シードに応じた再現性のある乱数を生成させるシード生成部と、
予め統計的に作成された補正値テーブルを用いて、前記ビットプレーン符号化におけるビットプレーンの切り捨て位置と前記乱数の値に基づき、前記ビットプレーンの切り捨てに対する補正値を作成する補正値作成部と、
前記作成された補正値を用いて前記変換係数の補正を行う係数補正処理部と
を設けた画像符号化装置。
【請求項１１】
前記補正値テーブルは、切り捨て位置毎に、切り捨てられた変換係数の発生確率に対応させて、前記乱数の値に基づき補正値の作成を行うテーブルである
請求項１０記載の画像符号化装置。
【請求項１２】
シード生成部は、ビットプレーンの切り捨て位置をシードとして用いる
請求項１１記載の画像符号化装置。
【請求項１３】
シード生成部は、生成したシードを前記ビットストリームに含めるようにする
請求項１１記載の画像符号化装置。
【請求項１４】
補正対象の変換係数が有意であるか判別する有意係数判別部をさらに有し、
前記補正値作成部は、有意でないと判別された係数に対する補正値を予め設定した所定値に決定する
請求項１１記載の画像符号化装置。
【請求項１５】
入力画像と予測画像との誤差を示す画像データを直交変換してビットプレーン符号化を行いビットストリームを生成する工程と、
前記ビットストリームの復号化処理によって変換係数を生成し、該変換係数の逆直交変換を行い前記予測画像の生成に用いる誤差を示す画像データを生成する工程を設け、
前記復号化処理の工程には、
シードによって初期化を行い、前記シードに応じた再現性のある乱数を生成させる工程と、
予め統計的に作成された補正値テーブルを用いて、前記ビットプレーン符号化におけるビットプレーンの切り捨て位置と前記乱数の値に基づき、前記ビットプレーンの切り捨てに対する補正値を作成する工程と、
前記作成された補正値を用いて前記変換係数の補正を行う工程と
を設けた画像符号化方法。
【請求項１６】
入力画像と予測画像との誤差を示す画像データを直交変換してビットプレーン符号化を行いビットストリームを生成する手順と、
前記ビットストリームの復号化処理によって変換係数を生成し、該変換係数の逆直交変換を行い前記予測画像の生成に用いる誤差を示す画像データを生成する手順と、
前記復号化処理の手順では、
前記ビットストリームにおけるビットプレーンの切り捨て位置を取得する手順と、
シードによって初期化を行い、前記シードに応じた再現性のある乱数を生成させる手順と、
予め統計的に作成された補正値テーブルを用いて、前記ビットプレーン符号化におけるビットプレーンの切り捨て位置と前記乱数の値に基づき、前記ビットプレーンの切り捨てに対する補正値を作成する手順と、
前記作成された補正値を用いて前記変換係数の補正を行う手順と
を前記コンピュータで実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、画像復号化装置および方法、画像符号化装置および方法、並びにプログラムに関する。詳しくは、ビットプレーン符号化でデータの切り捨てが行われても、この切り捨てによって画像に生じる違和感や不明瞭感を安定的に抑制できるようにする。
【背景技術】
【０００２】
従来の画像圧縮方式として、例えばＩＳＯ（International Standards Organization）によって標準化されたＪＰＥＧ方式がある。これは、離散コサイン変換（Discrete Cosine Transform；ＤＣＴ）を用い、比較的高いビットが割り当てられる場合には、良好な符号化画像および復号画像を供することが知られている。また、近年では画像をフィルタバンクと呼ばれるハイパス・フィルタとローパス・フィルタとを組み合わせたフィルタによって複数の帯域に分割し、帯域毎に符号化を行う例えばウェーブレット変換符号化が用いられている。このウェーブレット変換符号化は、ＤＣＴのように高圧縮でブロック歪みが顕著になるという欠点がない。このようなウェーブレット変換符号化を用いる画像圧縮方式として、ＪＰＥＧ−２０００方式が標準化されている。ＪＰＥＧ−２０００方式は、ウェーブレット変換にビットプレーン符号化を組み合わせた方式であり、ＪＰＥＧに比べて符号化効率の大きな改善を実現している。
【０００３】
また、目標の符号量を得ることができるように、例えば特許文献１では、生成された圧縮データを後尾から切り捨てることでレート制御が可能とされている。特許文献２では、ビットプレーン単位の切り捨てが行われたビットストリームの復号化を行う場合、切り捨てられたビット数で表現できる乱数を生成して変換係数に加算することで、再生画像に生じる違和感や不明瞭感を抑制することが行われている。特許文献３では、復号化画像データにノイズを擬似信号として含めることにより、非可逆圧縮の過程で喪失した信号成分を代替して、符号化時の信号喪失による画質低下を改善することが行われている。また、切り捨てられたビット数で表現可能な値のほぼ中央の値を、ビットプレーン単位で切り捨てられたビットが示していた値として用いることも行われる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−１６５０９８号公報
【特許文献２】特開２００４−２６０５３９号公報
【特許文献３】特開２００２−２０４３５７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、切り捨てられたビット数で表現できる乱数を加算する方法や、切り捨てられたビット数で表現可能な値のほぼ中央の値を加算する方法等は、符号化前の画像と関連性が全くない。したがって、このような方法は、ビットプレーンの切り捨てを行ったことによって画像に生じる違和感等を安定して抑制することが困難である。
【０００６】
そこで、この発明では、ビットプレーンの切り捨てが行われたことによって画像に生じる違和感や不明瞭感を安定的に抑制することができる、画像復号化装置および方法、画像符号化装置および方法、並びにプログラムを提供する。
【課題を解決するための手段】
【０００７】
この発明の第１の側面は、画像データを直交変換してビットプレーン符号化を行うことにより生成されたビットストリームから、ビットプレーンの切り捨て位置を取得する情報取得部と、乱数を生成する乱数生成部と、予め統計的に作成された補正値テーブルを用いて、前記切り捨て位置と前記乱数の値に基づき、前記ビットプレーンの切り捨てに対する補正値を作成する補正値作成部と、前記作成された補正値を用いて、前記ビットストリームを復号化処理して得られる変換係数の補正を行う係数補正処理部とを有する画像復号化装置にある。
【０００８】
この発明では、画像データを直交変換してビットプレーン符号化を行うことにより生成されたビットストリームの復号化処理において、予め統計的に作成された補正値テーブルを用いて、ビットプレーンの切り捨て位置と乱数の値に基づき、ビットプレーンの切り捨てに対する補正値が作成される。補正値テーブルは、切り捨て位置毎に、切り捨てられた符号化データの発生確率に対応させて、乱数の値に基づき補正値の作成を行うテーブルとされている。例えば、乱数を所定範囲の値として、この所定範囲を切り捨てられた符号化データの発生確率に応じて区分する。また、切り捨てられた符号化データの値を、発生確率が対応する区分領域の補正値とする。さらに、切り捨て位置毎に、所定範囲を切り捨てられた変換係数の発生確率に応じて区分して、切り捨てられた変換係数を補正値とすることで補正値テーブルが生成される。
【０００９】
また、補正値テーブルが予めコンテキスト毎に作成されて、切り捨て位置と乱数の値とコンテキストに基づき補正値が作成される。また、補正対象の変換係数が有意であるか判別されて、有意でないと判別された係数に対する補正値は予め設定した所定値に決定される。
【００１０】
さらに、切り捨て位置をシードとして、またはビットストリームに含まれているシードを抽出して、このシードによって乱数生成の初期化が行われて、シードに応じた再現性のある乱数の生成が行われる。したがって、例えば画像符号化装置においてビットストリームの復号化処理を行って予測画像を生成する場合、シードを利用することで、変換係数の補正を画像符号化装置と画像復号化装置で等しく行うことが可能となる。
【００１１】
この発明の第２の側面は、画像データを直交変換してビットプレーン符号化を行うことにより生成されたビットストリームから、ビットプレーンの切り捨て位置を取得する工程と、乱数を生成する工程と、予め統計的に作成された補正値テーブルを用いて、前記切り捨て位置と前記乱数の値に基づき、前記ビットプレーンの切り捨てに対する補正値を作成する工程と、前記作成された補正値を用いて、前記ビットストリームを復号化処理して得られる変換係数の補正を行う工程とを有する画像復号化方法にある。
【００１２】
この発明の第３の側面は、画像データを直交変換してビットプレーン符号化を行うことにより生成されたビットストリームから、ビットプレーンの切り捨て位置を取得する手順と、乱数を生成する手順と、予め統計的に作成された補正値テーブルを用いて、前記切り捨て位置と前記乱数の値に基づき、前記ビットプレーンの切り捨てに対する補正値を作成する手順と、前記作成された補正値を用いて、前記ビットストリームを復号化処理して得られる変換係数の補正を行う手順とをコンピュータで実行させるプログラムにある。
【００１３】
この発明の第４の側面は、入力画像と予測画像との誤差をビットプレーン符号化してビットストリームを生成する符号化処理部と、前記ビットストリームの復号化処理を行い、前記予測画像の生成に用いる誤差データを生成する復号化処理部を有し、前記復号化処理部には、乱数を生成する乱数生成部と、シードによって前記乱数生成部を初期化して、前記シードに応じた再現性のある乱数を生成させるシード生成部と、予め統計的に作成された補正値テーブルを用いて、前記ビットプレーン符号化におけるビットプレーンの切り捨て位置と前記乱数の値に基づき、前記ビットプレーンの切り捨てに対する補正値を作成する補正値作成部と、前記作成された補正値を用いて、前記ビットストリームを復号化処理して得られる復号データの補正を行う係数補正処理部とを設けた画像符号化装置にある。
【００１４】
この発明では、入力画像と予測画像との誤差をビットプレーン符号化してビットストリームの生成を行い、このビットストリームの復号化処理を行い予測画像の生成に用いる誤差データを生成する場合、復号化処理では、予め統計的に作成された補正値テーブルを用いて、ビットプレーンの切り捨て位置と乱数の値に基づき、ビットプレーンの切り捨てに対する補正値が作成される。補正値テーブルは、切り捨て位置毎に、切り捨てられた符号化データの発生確率に対応させて、乱数の値に基づき補正値の作成を行うテーブルとされている。
【００１５】
さらに、切り捨て位置をシードとして、またはシードを設定してビットストリームに含めるようにして、このシードによって乱数生成の初期化を行い、シードに応じた再現性のある乱数の生成が行われる。したがって、シードを利用することで、変換係数の補正を画像符号化装置と画像復号化装置で等しく行うことが可能となる。
【００１６】
この発明の第５の側面は、入力画像と予測画像との誤差を示す画像データを直交変換してビットプレーン符号化を行いビットストリームを生成する工程と、前記ビットストリームの復号化処理によって変換係数を生成し、該変換係数の逆直交変換を行い前記予測画像の生成に用いる誤差を示す画像データを生成する工程を設け、前記復号化処理の工程には、前記ビットストリームにおけるビットプレーンの切り捨て位置を取得する工程と、シードによって初期化を行い、前記シードに応じた再現性のある乱数を生成させる工程と、予め統計的に作成された補正値テーブルを用いて、前記ビットプレーン符号化におけるビットプレーンの切り捨て位置と前記乱数の値に基づき、前記ビットプレーンの切り捨てに対する補正値を作成する工程と、前記作成された補正値を用いて前記変換係数の補正を行う工程とを設けた画像符号化方法にある。
【００１７】
この発明の第６の側面は、入力画像と予測画像との誤差を示す画像データを直交変換してビットプレーン符号化を行いビットストリームを生成する手順と、前記ビットストリームの復号化処理によって変換係数を生成し、該変換係数の逆直交変換を行い前記予測画像の生成に用いる誤差を示す画像データを生成する手順と、前記復号化処理の手順では、前記ビットストリームにおけるビットプレーンの切り捨て位置を取得する手順と、シードによって初期化を行い、前記シードに応じた再現性のある乱数を生成させる手順と、予め統計的に作成された補正値テーブルを用いて、前記ビットプレーン符号化におけるビットプレーンの切り捨て位置と前記乱数の値に基づき、前記ビットプレーンの切り捨てに対する補正値を作成する手順と、前記作成された補正値を用いて前記変換係数の補正を行う手順とを前記コンピュータで実行させるプログラムにある。
【００１８】
なお、本発明のプログラムは、例えば、様々なプログラム・コードを実行可能な汎用コンピュータ・システムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体、例えば、光ディスクや磁気ディスク、半導体メモリなどの記憶媒体、あるいは、ネットワークなどの通信媒体によって提供可能なプログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、コンピュータ・システム上でプログラムに応じた処理が実現される。
【発明の効果】
【００１９】
この発明によれば、予め統計的に作成された補正値テーブルを用いて、ビットプレーンの切り捨て位置と乱数の値に基づき、ビットプレーンの切り捨てに対する補正値が作成される。また、作成された補正値を用いて、ビットストリームを復号化処理して得られる変換係数の補正が行われる。このため、切り捨てられた変換係数の発生確率に基づき補正値にゆらぎを持たせることが可能となり、この補正値を用いて変換係数の補正を行うことで、ビットプレーンの切り捨てが行われたことによって画像に生じる違和感や不明瞭感を安定的に抑制できる。
【図面の簡単な説明】
【００２０】
【図１】画像符号化装置の構成を例示した図である。
【図２】画像復号化装置の構成を例示した図である。
【図３】自然画における変換係数の発生頻度を例示した図である。
【図４】切り捨てられた変換係数の発生確率を例示した図である。
【図５】切り捨てられた変換係数の発生確率に応じて補正値を作成する場合を示した図である。
【図６】変換係数補正部の第１の構成を示す図である。
【図７】補正値テーブルを例示した図である。
【図８】変換係数補正部の第１の構成の動作を示すフローチャートである。
【図９】変換係数の補正動作例を示した図である。
【図１０】変換係数補正部の第２の構成を示す図である。
【図１１】コンテキスト毎に設けた補正値テーブルを例示した図である。
【図１２】変換係数補正部の第２の構成の動作を示すフローチャートである。
【図１３】画像符号化装置の他の構成を例示した図である。
【図１４】画像復号化装置の他の構成を例示した図である。
【図１５】変換係数補正部の第３の構成を示す図である。
【図１６】変換係数補正部の第３の構成の動作を示すフローチャートである。
【図１７】コンピュータ装置の構成を例示した図である。
【発明を実施するための形態】
【００２１】
以下、発明を実施するための形態について説明する。なお、説明は以下の順序で行う。
１．画像符号化装置の構成
２．画像復号化装置の構成
３．変換係数補正部の構成と動作
３−１．変換係数補正部の第１の構成の動作
３−２．変換係数補正部の第２の構成の動作
４．画像符号化装置の他の構成
５．画像復号化装置の他の構成
６．変換係数補正部の第３の構成と動作
７．ソフトウェア処理の場合
【００２２】
＜１．画像符号化装置の構成＞
図１は、画像符号化装置の構成を例示している。画像符号化装置１０は、色変換部１１、直交変換部１３、量子化部１４、係数ビットモデリング部１５、エントロピー符号化部１６、ポスト量子化部１７、ヘッダ生成部１８を有している。
【００２３】
色変換部１１は、任意のカラー空間で入力された画像データを特定のカラー空間に変換する。色変換部１１は、例えばＲ，Ｇ，Ｂの画像データをＹ，Ｃｂ，Ｃｒなどの画像データに変換する。なお、色変換部１１は必要に応じて画像符号化装置１０に設けられるものである。
【００２４】
直交変換部１３は、色変換部１１によって変換された画像データの各画素値を空間座標から周波数座標に変換して変換係数を出力する。直交変換部１３は、例えばウェーブレット変換（ＤＷＴ）、離散コサイン変換（ＤＣＴ）、離散フーリエ変換（ＤＦＴ）等の直交変換を行うことにより得られた変換係数を出力する。
【００２５】
量子化部１４は、直交変換部１３から出力された変換係数を量子化して、係数ビットモデリング部１５に出力する。なお、量子化部１４は、画像符号化装置１０において必ずしも必要ではない。
【００２６】
係数ビットモデリング部１５は、量子化部１４によって量子化された変換係数をエントロピー符号化部１６で効率良く符号化できるように変換する処理を行う。係数ビットモデリング部１５は、２値化処理（例えばＨ．２６４／ＡＶＣやＭＰＥＧ等で用いられている算術符号化など）やビットモデリング（例えばジグザグスキャンやＪＰＥＧ２０００における３パスへの分解など）を行う。
【００２７】
エントロピー符号化部１６は、係数ビットモデリング部１５から出力された係数列をエントロピー符号化する。
【００２８】
ポスト量子化部１７は、エントロピー符号化により得られた圧縮データのポスト量子化（「トランケーション」）を行う。ポスト量子化は、圧縮データが目標のデータ量に達するように、ビットプレーン単位で変換係数を切り捨てる処理である。このため、ポスト量子化部１７から出力されるビットストリームを所望のデータ量に抑えることができる。ヘッダ生成部１８は、復号化処理で必要とされる例えばビットプレーンの切り捨て位置等を示すヘッダ情報を生成して、ポスト量子化部１７から出力されるビットストリームに付加して出力する。
【００２９】
＜２．画像復号化装置の構成＞
図２は、画像復号化装置の構成を例示している。画像復号化装置５０は、ヘッダ解析部５１、エントロピー復号化部５２、変換係数補正部５３、逆量子化部５４、逆直交変換部５５、逆色変換部５７を有している。
【００３０】
ヘッダ解析部５１は、情報取得部であり、画像符号化装置１０から出力されたビットストリームに付加されているヘッダ情報を抽出して、ヘッダ情報の解析を行い、ビットプレーンの切り捨て位置等の情報を取得する。また、ヘッダ解析部５１は、ビットストリームの変換係数が何れの色成分の係数であるかを示す情報、ビットストリームデータの変換係数が何れの周波数成分の係数であるかを示す情報等の取得も行う。さらに、ヘッダ解析部５１は、取得した情報を、エントロピー復号化部５２等を介して、あるいはヘッダ解析部５１から変換係数補正部５３に供給する。
【００３１】
エントロピー復号化部５２は、ヘッダ解析部５１の解析結果を用いて、圧縮符号化されているビットストリームのエントロピー復号化を行う。エントロピー復号化部５２は、エントロピー符号化部１６で行われる符号化に対応した復号化を行い、量子化された係数列をビットストリームから作成する。また、エントロピー復号化部５２は、係数ビットモデリング部１５で行われる処理と逆の処理を行い、変換係数を生成して変換係数補正部５３に出力する。
【００３２】
変換係数補正部５３は、画像符号化装置１０のポスト量子化部１７で行われたビットプレーン切り捨てによる悪影響を軽減するため、エントロピー復号化部５２から出力された変換係数の補正処理を行う。変換係数補正部５３は、例えばヘッダ解析部５１から供給されたビットプレーン切り捨て位置等の情報を用いて補正処理を行い、補正後の変換係数を逆量子化部５４に出力する。
【００３３】
逆量子化部５４は、量子化部１４で行われる量子化に対応した逆量子化を行う。逆量子化部５４は、量子化部１４で量子化を行ったときの量子化ステップサイズを、変換係数補正部５３から出力される補正後の変換係数に乗じて、逆量子化処理を行う。なお、画像符号化装置１０に量子化部１４が設けられておらず、量子化が行われていないときには、逆量子化部５４を設けて逆量子化を行う必要がない。
【００３４】
逆直交変換部５５は、直交変換部１３の直交変換に対応した逆直交変換を行う。逆直交変換部５５は、逆量子化部５４から出力された変換係数を用いて逆直交変換を行い、画像データを生成する。
【００３５】
逆色変換部５７は、逆直交変換部５５で得られた画像データを所望のカラー空間の画像データに変換する。例えば、色変換部１１でＲ，Ｇ，Ｂの画像データをＹ，Ｃｂ，Ｃｒの画像データに変換しており、画像復号化装置５０では、画像符号化装置１０に入力された画像データと同じカラー空間の画像データと出力する。この場合、逆色変換部５７は、Ｙ，Ｃｂ，Ｃｒの画像データをＲ，Ｇ，Ｂの画像データに変換して出力する。また、逆色変換部５７は、画像復号化装置５０に接続されている機器に応じたカラー空間の画像データに変換して出力するものとしてもよい。
【００３６】
なお、図２では、変換係数を補正処理してから逆量子化を行う場合の構成を例示しているが、変換係数の逆量子化を行ってから補正処理を行うようにしてもよい。また、後述する図１３および図１４においても、変換係数の逆量子化を行ってから補正処理を行うようにしてもよい。この場合、逆量子化の影響を考慮した上で統計的に学習した補正テーブルを用いて補正処理を行う。
【００３７】
＜３．変換係数補正部の構成と動作＞
画像復号化装置５０において、変換係数補正部５３は、ポスト量子化部１７で切り捨てられた変換係数を変換係数補正部５３で補正する場合、自然な画像を得られるようにする。具体的には、変換係数補正部５３は、直交変換部１３で得られる変換係数の偏りに着目して、切り捨てられた変換係数の統計的な発生確率に基づくゆらぎを持たせた補正値を用いる。
【００３８】
自然画における変換係数の発生頻度は、図３に示すように変換係数の絶対値に対してその発生頻度が「０」を除いて単調減少となる。例えば変換係数の絶対値が４ビットで表現できる場合、変換係数の絶対値の発生頻度は単調減少している。したがって、図３に示すとおり１ビット目、２ビット目、３ビット、４ビット目の各ビットにおいて「１」が立つ区間の発生頻度よりも「０」が立つ区間の発生頻度の方が大きく、各位置のビットは「１」よりも「０」の方が多く発生する。４ビット目の場合、変換係数の絶対値が「０〜７」までの発生頻度の総和と「８〜１５」までの発生頻度の総和では「０〜７」までの発生頻度の総和の方が大きく、４ビット目は「０」が立ちやすくなる。
【００３９】
このように、各ビットにおける「０」と「１」の発生頻度に偏りが生じているため、任意の切り捨て位置で切り捨てられた値は、切り捨て位置によって決まる表現可能な値の平均値よりも小さくなりやすくなる。例えばＬＳＢ側から４番目の位置で切り捨てられた場合、切り捨てられた値の発生確率は、表現可能な値の平均値（（０＋１＋・・・＋７）／８＝３．５）よりも、一般に図４のように小さくなりやすい。したがって、切り捨て位置に応じて、切り捨てられた変換係数の統計的な発生確率に基づくゆらぎを持たせた補正値を作成する。具体的には、予め学習用画像データを用いて切り捨てられた変換係数の発生確率を統計的に算出しておき、算出した発生確率に応じて、予め指定した範囲を区分しておく。また、指定された範囲の乱数を発生させて、乱数の値が属する区分の発生確率に対応する切り捨てられた変換係数を補正値とする。このようにすれば、切り捨てられた変換係数の統計的な発生確率に基づくゆらぎを持たせた補正値を作成できる。
【００４０】
図５は、切り捨てられた変換係数の発生確率に応じて補正値を作成する場合を示している。例えば、図５に示すように、乱数の範囲「０〜９９」を切り捨てられた変換係数の発生確率に応じて区分する。また、区分された領域に対応する発生確率の変換係数を補正値と設定する。すなわち、切り捨てられた変換係数が「０」である確率は（１３／１００）であるから、範囲「０〜１２」を補正値「０」の範囲とする。また、切り捨てられた変換係数が「１」である確率は（１８／１００）であるから、範囲「１３〜３０」を補正値「１」の範囲とする。以下同様にして、切り捨てられた変換係数の発生確率に応じて乱数の範囲を区分して、区分された範囲に対して切り捨てられた変換係数を補正値として設定する。なお、切り捨てられた変換係数の発生確率に応じて範囲が区分されていれば、範囲は何れの順序であってもよい。
【００４１】
このように、変換係数補正部５３は、乱数の範囲「０〜９９」を切り捨てられた変換係数の発生確率に応じて区分して、切り捨てられた変換係数を補正値とする。さらに、変換係数補正部５３は、乱数の値が何れの区分領域に属するかに応じて補正値を設定して、切り捨てられた変換係数の発生確率に基づき補正値にゆらぎを持たせる。
【００４２】
＜３−１．変換係数補正部の第１の構成と動作＞
図６は、変換係数補正部の第１の構成を示している。変換係数補正部５３-1は、有意係数検出部５３１、乱数生成部５３３、補正値作成部５３５-1、係数補正処理部５３６を有している。
【００４３】
有意係数検出部５３１は、エントロピー復号化部５２から供給された変換係数が有意であるか検出する。有意係数検出部５３１は、「０」でない変換係数は有意であり、「０」である変換係数を有意でないと判別して、検出結果を補正値作成部５３５-1に出力する。
【００４４】
乱数生成部５３３は、乱数を生成して補正値作成部５３５-1に出力する。
【００４５】
補正値作成部５３５-1は、乱数生成部５３３で生成された乱数の値に応じて補正値を作成するための補正値テーブル５３５tbを有している。補正値テーブル５３５tbは、切り捨て位置毎に、切り捨てられた変換係数の発生確率に対応させて、乱数の値に基づき補正値の作成を行うテーブルである。具体的には、複数の学習用画像データからポスト量子化部１７で切り捨てられる変換係数の発生確率に基づき、各切り捨て位置に対して、発生確率に応じて区分された領域に、切り捨てられた変換係数を補正値として設定したテーブルである。
【００４６】
図７は、補正値テーブルを例示している。図７に示す補正値テーブルでは、乱数の範囲を「０〜９９」として、切り捨て位置「１〜５」に対して切り捨てられた変換係数の発生確率に対応させて乱数の範囲を区分して、補正値を設定している。例えば、切り捨て位置「４」の補正値は、図５に示す補正値に対応している。
【００４７】
補正値作成部５３５-1は、ヘッダ解析部５１から供給されたビットプレーンの切り捨て位置と、乱数生成部５３３で生成された乱数の値に基づき、補正値テーブル５３５tbから補正値を取得する。また、補正値作成部５３５-1は、変換係数が有意であると判別されている場合、補正値テーブル５３５tbから取得した補正値を係数補正処理部５３６に出力し、変換係数が有意でない判別されている場合、補正値を「０」として係数補正処理部５３６に出力する。
【００４８】
係数補正処理部５３６は、エントロピー復号化部５２から供給された変換係数に補正値を加算して、逆量子化部５４に出力する。
【００４９】
図８は、変換係数補正部の第１の構成の動作を示している。ステップＳＴ１で変換係数補正部５３-1は、変換係数と切り捨て位置を、係数毎に取得してステップＳＴ２に進む。
【００５０】
ステップＳＴ２で変換係数補正部５３-1は、変換係数が「０」より大きいか判別する。変換係数補正部５３-1は、変換係数が「０」より大きい場合にステップＳＴ３に進み、変換係数が「０」である場合にステップＳＴ５に進む。すなわち、変換係数補正部５３-1は、有意係数検出部５３１で有意と判別された場合にステップＳＴ３に進み、有意でないと判別された場合ステップＳＴ５に進む。
【００５１】
ステップＳＴ３で変換係数補正部５３-1は、乱数を生成する。変換係数補正部５３-1は、乱数生成部５３３で乱数を生成してステップＳＴ４に進む。
【００５２】
ステップＳＴ４で変換係数補正部５３-1は、補正値を作成する。変換係数補正部５３-1は、補正値作成部５３５-1によって、切り捨て位置とステップＳＴ３で生成した乱数の値を基に補正値テーブルを参照して補正値を作成してステップＳＴ６に進む。
【００５３】
例えば図７に示す補正値テーブルを用いた場合、乱数の値が例えば「４，１６，６０，９０，８，４７」、切り捨て位置が「５，５，３，３，３，４」の場合、補正値は「２，４，１，３，０，２」となる。同様に、乱数の値が例えば「６５，１１，７１，８１，３８，５６」の場合、補正値は「８，４，２，２，１，３」となる。
【００５４】
ステップＳＴ５で変換係数補正部５３-1は、補正値を「０」とする。変換係数補正部５３-1は、変換係数が有意でないと判別されていることから、補正値作成部５３５-1で作成する補正値を「０」としてステップＳＴ６に進む。
【００５５】
ステップＳＴ６で変換係数補正部５３-1は、変換係数の補正を行う。変換係数補正部５３-1は、係数補正処理部５３６によって、変換係数に補正値を加算して補正を行う。係数補正処理部５３６は、変換係数が有意である場合、ステップＳＴ４で作成された補正値を変換係数に加算して補正を行い、変換係数が有意でない場合、ステップＳＴ５で作成された補正値「０」を変換係数に加算して補正を行いステップＳＴ７に進む。
【００５６】
ステップＳＴ７で変換係数補正部５３-1は、全ての変換係数の補正が終了していない場合にステップＳＴ１に戻り、全ての変換係数の補正が終了した場合、変換係数の補正を終了する。
【００５７】
図９は、変換係数の補正動作例を示している。図９の（Ａ）は、ポスト量子化が行われる前の変換係数であり、変換係数の値が「５２，２４２，１３，３，９８，１０５」である場合を例示している。図９の（Ｂ）は、ポスト量子化後の変換係数であり、切り捨て位置が「５，５，３，３，３，４」とされた場合、変換係数の値は「４８，２４０，１２，０，９６，１０４」となる。ここで、図９の（Ｃ）に示すように乱数の値が例えば「４，１６，６０，９０，８，４７」である場合、上述のように補正値は「２，４，１，３，０，２」となる。また、ポスト量子化後の４番目の係数は「０」であるから有意でないと判別される。したがって、加算対象の補正値は「２，４，１，−，０，２」となる。なお「−」は、変換係数が有意でないと判別されて補正値が「０」とされていることを示している。この加算対象の補正値がポスト量子化後の変換係数に加算されて、補正後の変換係数は「５０，２４４，１３，０，９６，１０６」となる。また、図９の（Ｄ）に示すように乱数の値が例えば「６５，１１，７１，８１，３８，５６」である場合、上述のように補正値は、「８，４，２，２，１，３」となる。また、ポスト量子化後の４番目の係数は「０」であるから有意でないと判別される。したがって、加算対象の補正値は「８，４，２，−，１，３」となる。なお「−」は、変換係数が有意でないと判別されて補正値が「０」とされていることを示している。この加算対象の補正値がポスト量子化後の変換係数に加算されて、補正後の変換係数は「５６，２４４，１４，０，９７，１０７」となる。
【００５８】
このように、乱数を利用して、切り捨てられた変換係数の統計的な発生確率に基づくゆらぎを持たせた補正値を作成することで、ビットプレーンの切り捨てが行われたことによって画像に生じる違和感や不明瞭感を安定的に抑制できる。
【００５９】
＜３−２．変換係数補正部の第２の構成＞
ところで、切り捨てられた変換係数の分布は、入力された変換係数の特徴、例えばシグニフィカントビット(Significant Bit)の位置、色成分情報、周波数情報などによって異なる。なお、シグニフィカントビットとは、対象とする変換係数のＭＳＢ（最上位ビット）からＬＳＢ（最下位ビット）に向かって走査し初めて有意なビット「１」が立ったビットのことである。例えば変換係数が「４５」の場合、ビット列は２進表現で「１０１１０１」となる。この場合、初めて有意なビット「１」が立つ位置はＬＳＢ側から数えて６番目のビットとなり、シグニフィカントビットの位置は「６」となる。色成分情報とは、例えば色空間（ＲＧＢ、ＹＣｂＣｒ）の何れの成分（Ｒ，Ｇ，Ｂ，Ｙ，Ｃｂ，Ｃｒ）であるかを示す情報である。周波数情報とは、例えばウェーブレット変換符号化で帯域毎に符号化を行う場合に、何れの帯域であるかを示す情報である。
【００６０】
自然画の画像データを画像符号化装置１０で符号化したとき、ポスト量子化部１７で切り捨てられた変換係数は、シグニフィカントビットの位置がＭＳＢ側からＬＳＢ側に向かうにつれて、切り捨てられたビットは「０」が立ちやすくなる。また、「０」と「１」の発生頻度の差は広がり偏りが大きくなる。さらに、各色成分や各帯域で切り捨てられた変換係数の分布も異なる。すなわち、変換係数の特徴であるコンテキストによって切り捨てられた変換係数の分布が異なることから、変換係数補正部の第２の構成では、切り捨て位置に加えてコンテキストを用いることでより最適な補正値の作成を行う。
【００６１】
図１０は、変換係数補正部の第２の構成を示している。変換係数補正部５３-2は、有意係数検出部５３１、乱数生成部５３３、コンテキスト生成部５３４、補正値作成部５３５-2、係数補正処理部５３６を有している。
【００６２】
有意係数検出部５３１は、エントロピー復号化部５２から供給された変換係数が有意であるか検出する。有意係数検出部５３１は、「０」でない変換係数は有意であり、「０」である変換係数を有意でないと判別して、検出結果を補正値作成部５３５-2に出力する。
【００６３】
乱数生成部５３３は、乱数を生成して補正値作成部５３５-2に出力する。
【００６４】
コンテキスト生成部５３４は、補正値テーブルの入力であるコンテキストを生成する。コンテキスト生成部５３４は、シグニフィカントビットの位置、色成分情報、周波数情報等の一つまたはその組み合わせをコンテキストとする。
【００６５】
補正値作成部５３５-2は、ヘッダ解析部５１で得た切り捨て位置、有意係数検出部５３１で得られた有意係数の検出結果、乱数生成部５３３で生成された乱数、およびコンテキスト生成部５３４で生成されたコンテキストに応じて、所定の補正値テーブルを参照することで補正値を取得する。以下、コンテキストとして変換係数が輝度成分の係数であるか色差成分の係数であるかを示す色成分情報を生成する場合について説明する。なお、色成分情報を示すコンテキストは、ビットストリームのヘッダ情報を利用して生成すればよい。
【００６６】
図１１は、コンテキスト毎に設けた補正値テーブルを例示している。図１１の（Ａ）は、輝度成分の補正値テーブル５３５tb-y、図１１の（Ｂ）は色差成分の補正値テーブル５３５tb-cを示している。補正値作成部５３５-2は、コンテキストが輝度成分の係数であることを示している場合、図１１の（Ａ）に示す輝度成分の補正値テーブル５３５tb-yを用いて補正値を作成する。補正値作成部５３５-2は、コンテキストが色差成分の係数であることを示している場合、図１１の（Ｂ）に示す補正値テーブル５３５tb-cを用いて補正値を作成する。
【００６７】
輝度成分の補正値テーブル５３５tb-yは、複数の学習用輝度成分データを用いて予め生成される。例えば、複数の学習用輝度成分データからポスト量子化部１７で切り捨てられる変換係数の発生確率を算出する。さらに、各切り捨て位置に対して、切り捨てられた変換係数の発生確率に対応して区分された領域に、切り捨てられた変換係数を補正値として設定することで生成する。同様に、色差成分の補正値テーブル５３５tb-cは、複数の学習用色差成分データを用いて予め生成される。例えば、複数の学習用色差成分データからポスト量子化部１７で切り捨てられる変換係数の発生確率を算出する。さらに、各切り捨て位置に対して、切り捨てられた変換係数の発生確率に対応して区分された領域に、切り捨てられた変換係数を補正値として設定することで生成する。
【００６８】
補正値作成部５３５-2は、変換係数が有意であると判別されている場合、補正値テーブルから取得した補正値を係数補正処理部５３６に出力し、変換係数が有意でない判別されている場合、補正値を「０」として係数補正処理部５３６に出力する。
【００６９】
係数補正処理部５３６は、エントロピー復号化部５２から供給された変換係数に補正値を加算して、逆量子化部５４に出力する。
【００７０】
図１２は、変換係数補正部の第２の構成の動作を示している。ステップＳＴ１１で変換係数補正部５３-2は、変換係数と切り捨て位置を、係数毎に取得してステップＳＴ１２に進む。
【００７１】
ステップＳＴ１２で変換係数補正部５３-2は、変換係数が「０」より大きいか判別する。変換係数補正部５３-2は、変換係数が「０」より大きい場合にステップＳＴ１３に進み、変換係数が「０」である場合にステップＳＴ１６に進む。すなわち、変換係数補正部５３-2は、有意係数検出部５３１で有意と判別された場合にステップＳＴ１３に進み、有意でないと判別された場合ステップＳＴ１６に進む。
【００７２】
ステップＳＴ１３で変換係数補正部５３-2は、コンテキストを生成する。変換係数補正部５３-2は、コンテキスト生成部５３４で変換係数に関する情報をヘッダから取得してコンテキストを生成してステップＳＴ１４に進む。
【００７３】
ステップＳＴ１４で変換係数補正部５３-2は、乱数を生成する。変換係数補正部５３-2は、乱数生成部５３３で乱数を生成してステップＳＴ１５に進む。
【００７４】
ステップＳＴ１５で変換係数補正部５３-2、補正値を作成する。変換係数補正部５３-2は、補正値作成部５３５-2によって、切り捨て位置とステップＳＴ１３で生成したコンテキストおよびステップＳＴ１４で生成した乱数の値を基に補正値テーブルを参照して補正値を作成してステップＳＴ１７に進む。
【００７５】
ステップＳＴ１６で変換係数補正部５３-2は、補正値を「０」とする。変換係数補正部５３-2は、変換係数が有意でないと判別されていることから、補正値作成部５３５-2で作成する補正値を「０」としてステップＳＴ１７に進む。
【００７６】
ステップＳＴ１７で変換係数補正部５３-2は、変換係数の補正を行う。変換係数補正部５３-2は、係数補正処理部５３６によって、変換係数に補正値を加算して補正を行う。係数補正処理部５３６は、変換係数が有意である場合、ステップＳＴ１５で作成された補正値を変換係数に加算して補正を行い、変換係数が有意でない場合、ステップＳＴ１６で作成された補正値「０」を変換係数に加算して補正を行いステップＳＴ１８に進む。
【００７７】
ステップＳＴ１８で変換係数補正部５３-2は、全ての変換係数の補正が終了していない場合にステップＳＴ１１に戻り、全ての変換係数の補正が終了した場合、変換係数の補正を終了する。
【００７８】
このように、乱数を利用して、切り捨てられた変換係数の統計的な発生確率に基づくゆらぎを持たせた補正値を作成することで、ビットプレーンの切り捨てが行われたことによって画像に生じる違和感や不明瞭感を安定的に抑制できる。また、コンテキストによって切り捨てられた値の分布が異なる場合でも、コンテキストに応じた補正値テーブルから補正値が取得されるので、最適な補正値を作成できる。また、選択するコンテキスト数が多いほど、より適した補正値を作成することができるので、再生画像をさらに高画質とすることが可能となる。
【００７９】
＜４．画像符号化装置の他の構成＞
ところで、画像符号化装置では、静止画像や動画像を符号化する場合、予測画像を用いて符号化効率を高めることが行われている。例えば、フレーム内またはフレーム間の時間的・空間的に相関の高い参照画像から符号化対象の予測画像を生成する。この生成した予測画像と入力画像との差分である予測誤差を符号化することで、符号化効率が高められている。そこで、画像符号化装置の他の構成として、予測画像を用いて符号化を行う画像符号化装置について説明する。
【００８０】
図１３、画像符号化装置の他の構成を例示している。図１３において、図１と対応する部分については同一符号を付している。
【００８１】
画像符号化装置１０ａは、色変換部１１、予測部１２、直交変換部１３、量子化部１４、係数ビットモデリング部１５、エントロピー符号化部１６、ポスト量子化部１７、ヘッダ生成部１８、復号化処理部２０を有している。なお、予測部１２、直交変換部１３、量子化部１４、係数ビットモデリング部１５、エントロピー符号化部１６およびポスト量子化部１７は、本願の画像符号化装置における符号化処理部を構成する。
【００８２】
色変換部１１は、任意のカラー空間で入力された画像データを特定のカラー空間に変換する。色変換部１１は、例えばＲ，Ｇ，Ｂの画像データをＹ，Ｃｂ，Ｃｒなどの画像データに変換する。なお、色変換部１１は必要に応じて画像符号化装置１０ａに設けられるものである。
【００８３】
予測部１２は、後述する復号化処理部２０の出力を利用して参照画像の生成を行う。また、予測部１２は、フレーム内またはフレーム間の時間的・空間的に相関の高い参照画像を用いて符号化対象の予測画像を生成する。さらに、予測部１２は、入力画像と予測画像との差分である予測誤差データを生成して直交変換部１３に出力する。また、予測部１２は、最適な予測モードに関する予測モード情報を、後述するヘッダ生成部１８に出力する。
【００８４】
直交変換部１３は、予測部１２から出力された予測誤差データの各画素値を空間座標から周波数座標に変換して変換係数を出力する。直交変換部１３は、例えばウェーブレット変換（ＤＷＴ）、離散コサイン変換（ＤＣＴ）、離散フーリエ変換（ＤＦＴ）等の直交変換を行うことにより得られた変換係数を出力する。
【００８５】
量子化部１４は、直交変換部１３から出力された変換係数を量子化して、係数ビットモデリング部１５に出力する。なお、量子化部１４は、画像符号化装置１０ａにおいて必ずしも必要ではない。
【００８６】
係数ビットモデリング部１５は、量子化部１４によって量子化された変換係数をエントロピー符号化部１６で効率良く符号化できるように変換する処理を行う。係数ビットモデリング部１５は、２値化処理（例えばＨ．２６４／ＡＶＣやＭＰＥＧ等で用いられているの算術符号化など）やビットモデリング（例えばジグザグスキャンやＪＰＥＧ２０００における３パスへの分解など）を行う。
【００８７】
エントロピー符号化部１６は、係数ビットモデリング部１５から出力された係数列をエントロピー符号化する。また、エントロピー符号化部１６は、係数ビットモデリング部１５から出力された係数列を復号化処理部２０に出力する。なお、図１３では、係数ビットモデリング部１５からの係数列を、ポスト量子化部１７を介して復号化処理部２０に出力する構成を例示している。
【００８８】
ポスト量子化部１７は、エントロピー符号化により得られた圧縮データのポスト量子化を行う。ポスト量子化部１７は、ポスト量子化でビットプレーン単位の切り捨て処理を行い、ポスト量子化部１７から出力されるビットストリームを所望のデータ量に抑える。ポスト量子化部１７は、ビットストリームをヘッダ生成部１８と復号化処理部２０に出力する。また、ポスト量子化部１７は、ビットプレーン単位の切り捨て位置等を示す情報を、係数ビットモデリング部１５からの係数列と共に復号化処理部２０に出力する。
【００８９】
ヘッダ生成部１８は、復号化処理で必要とされる例えば切り捨て位置等を示すヘッダ情報を生成して、ポスト量子化部１７から出力されるビットストリームデータに付加して出力する。また、ヘッダ生成部１８は、予測部１２から出力された予測モード情報をヘッダ情報等に含める。
【００９０】
復号化処理部２０は、変換係数補正部２３、逆量子化部２４、逆直交変換部２５を有しており、画像復号化装置の変換係数補正部５３、逆量子化部５４、逆直交変換部５５と同様な処理を行う。
【００９１】
変換係数補正部２３は、ビットプレーン単位の切り捨て位置等を示す情報と係数ビットモデリング部１５から出力された係数列を用いて、画像復号化装置の変換係数補正部と等しい補正処理を行う。すなわち、変換係数補正部２３は、ビットプレーン単位の切り捨て位置等を示す情報と係数ビットモデリング部１５から出力された係数列に基づき、画像復号化装置のエントロピー復号化部から変換係数補正部に供給される変換係数を生成する。さらに変換係数補正部２３は、ポスト量子化部１７で行われたビットプレーン切り捨てによる悪影響を軽減するため、変換係数の補正処理を行い、補正後の変換係数を逆量子化部２４に出力する。
【００９２】
逆量子化部２４は、量子化部１４で行われる量子化に対応した逆量子化を行う。逆量子化部２４は、量子化部１４で量子化を行ったときの量子化ステップサイズを、変換係数補正部２３から出力された変換係数に乗じて、逆量子化処理を行う。なお、画像符号化装置１０ａに量子化部１４が設けられておらず、量子化が行われていないときには、逆量子化部２４を設けて逆量子化を行う必要がない。
【００９３】
逆直交変換部２５は、直交変換部１３の直交変換に対応した逆直交変換を行う。逆直交変換部２５は、逆量子化部２４から出力された変換係数を用いて逆変換を行い、画像データを生成して、予測部１２に出力する。すなわち、復号化処理部２０から予測部１２に供給される画像データは、予測部１２から直交変換部１３に供給された予測誤差データの符号化と復号化を行ったデータとなる。
【００９４】
＜５．画像復号化装置の他の構成＞
図１４は、画像復号化装置の他の構成を例示している。画像復号化装置５０ａは、ヘッダ解析部５１、エントロピー復号化部５２、変換係数補正部５３-3、逆量子化部５４、逆直交変換部５５、逆予測部５６、逆色変換部５７を有している。
【００９５】
ヘッダ解析部５１は、画像符号化装置１０ａから出力されたビットストリームデータに付加されているヘッダ情報を抽出して、ヘッダ情報の解析を行い、ビットプレーンの切り捨て位置等を取得する。また、ヘッダ解析部５１は、ビットストリームの変換係数が何れの色成分の係数であるかを示す情報、ビットストリームの変換係数が何れの周波数成分の係数であるかを示す情報等の取得も行う。さらに、ヘッダ解析部５１は、取得した情報をエントロピー復号化部５２等を介して、あるいはヘッダ解析部５１から変換係数補正部５３-3に供給する。また、ヘッダ解析部５１は、ヘッダ情報等から取得した予測モード情報を逆予測部５６に出力する。
【００９６】
エントロピー復号化部５２は、ヘッダ解析部５１の解析結果を用いて、圧縮符号化されているビットストリームのエントロピー復号化を行う。エントロピー復号化部５２は、エントロピー符号化部１６で行われる符号化に対応した復号化を行い、量子化された係数列をビットストリームから作成する。また、エントロピー復号化部５２は、係数ビットモデリング部１５で行われる処理と逆の処理を行い、変換係数を生成して変換係数補正部５３-3に出力する。
【００９７】
変換係数補正部５３-3は、画像符号化装置１０のポスト量子化部１７で行われたビットプレーン切り捨てによる悪影響を軽減するため、エントロピー復号化部５２から出力された変換係数の補正処理を行う。変換係数補正部５３は、例えばヘッダ解析部５１から供給されたビットプレーン切り捨て位置等の情報を用いて補正処理を行い、補正後の変換係数を逆量子化部５４に出力する。
【００９８】
逆量子化部５４は、量子化部１４で行われる量子化に対応した逆量子化を行う。逆量子化部５４は、量子化部１４で量子化を行ったときの量子化ステップサイズを、変換係数補正部５３-3から出力される補正後の変換係数に乗じて、逆量子化処理を行う。なお、画像符号化装置１０に量子化部１４が設けられておらず、量子化が行われていないときには、逆量子化部５４を設けて逆量子化を行う必要がない。
【００９９】
逆直交変換部５５は、直交変換部１３の直交変換に対応した逆直交変換を行う。逆直交変換部５５は、逆量子化部５４から出力された変換係数を用いて逆直交変換を行い、画像データを生成する。
【０１００】
逆予測部５６は、ヘッダ解析部５１から出力された予測モード情報に基づき予測画像データを生成する。さらに、逆予測部５６は、逆直交変換部５５から出力された画像データすなわち予測誤差データと生成した予測画像データを加算して、加算結果である画像データを再生画像データとして逆色変換部５７に出力する。
【０１０１】
逆色変換部５７は、逆予測部５６で生成された再生画像データを所望のカラー空間の画像データに変換する。例えば、色変換部１１でＲ，Ｇ，Ｂの画像データをＹ，Ｃｂ，Ｃｒの画像データに変換しており、画像復号化装置５０ａでは、画像符号化装置１０ａに入力された画像データと同じカラー空間の画像データを出力する。この場合、逆色変換部５７は、Ｙ，Ｃｂ，Ｃｒの画像データをＲ，Ｇ，Ｂの画像データに変換して出力する。また、逆色変換部５７は、画像復号化装置５０ａに接続されている機器に応じたカラー空間の画像データに変換して出力するものとしてもよい。
【０１０２】
＜６．変換係数補正部の第３の構成と動作＞
画像符号化装置１０ａと画像復号化装置５０ａにおいて、変換係数補正部２３と変換係数補正部５３-3で異なる補正が行われると、予測部１２に供給される画像データ（予測誤差データ）と逆予測部５６に供給される画像データ（予測誤差データ）が異なってしまう。このため、画像データが等しい場合に比べて再生画像は画質の劣化した画像となってしまう恐れがある。
【０１０３】
したがって、変換係数補正部２３と変換係数補正部５３-3では補正が等しく行われるようにする。具体的には、変換係数補正部２３と変換係数補正部５３-3で用いる乱数と補正値テーブルを等しくすることで、各変換係数に加算される補正値を一致させる。補正値テーブルは、等しい補正値テーブルを変換係数補正部２３と変換係数補正部５３-3に予め記憶させておけばよい。また、乱数は、例えば擬似乱数を用いるようにして、シードによって乱数生成の初期化を行い、シードに応じた再現性のある乱数を生成させる。すなわち、変換係数補正部２３と変換係数補正部５３-3で同じシードを用いることで、変換係数補正部２３で生成された乱数を変換係数補正部５３-3で再現できるようにする。
【０１０４】
図１５は、変換係数補正部の第３の構成を示している。変換係数補正部２３，５３-3は、有意係数検出部５３１、シード生成部５３２、乱数生成部５３３、補正値作成部５３５-1、係数補正処理部５３６を有している。
【０１０５】
有意係数検出部５３１は、エントロピー復号化部５２から供給された変換係数が有意であるか検出する。有意係数検出部５３１は、「０」でない変換係数は有意であり、「０」である変換係数を有意でないと判別して、検出結果を補正値作成部５３５-1に出力する。
【０１０６】
シード生成部５３２は、乱数生成部５３３で擬似乱数を生成するときの初期化を行うためのシードを生成して乱数生成部５３３に出力する。シードは、復号化処理単位の先頭で初期化を行えるように生成する。例えばシード生成部５３２は、フレームやフィールドの開始時、スライス開始時、ブロック開始時等にシードの生成を行う。また、シードは、復号化処理部２０の変換係数補正部２３と画像復号化装置５０ａの変換係数補正部５３-3で、等しい乱数を生成できるように生成する。例えば、画像符号化装置１０ａは、復号化処理部２０の変換係数補正部２３で生成したシードをヘッダ生成部１８によってヘッダ情報に含める。この場合、画像復号化装置５０ａの変換係数補正部５３-3は、ヘッダ情報から抽出したシードを乱数生成部５３３で用いるようにする。また、ビットストリームデータのデータ量増加を防ぐため、復号化処理部２０の変換係数補正部２３は、ヘッダ生成部１８で生成されるヘッダ情報に含まれる情報、例えば切り捨て位置やコンテキストを用いてシードを生成するようにしてもよい。この場合、画像符号化装置１０ａと画像復号化装置５０ａは、ヘッダ情報の何れの情報に応じてシードを生成するか予め決めておく。画像復号化装置５０ａの変換係数補正部５３-3は、復号化処理部２０の変換係数補正部２３において、シードの生成に用いた情報をヘッダ情報から取得して、この取得した情報に基づきシードを生成する。このようにすれば、ビットストリームにシードの情報を独立して含めることなく、復号化処理部２０の変換係数補正部２３で生成された乱数を画像復号化装置５０ａの変換係数補正部５３-3で再現できる。
【０１０７】
乱数生成部５３３は、擬似乱数の生成を行い、生成した乱数を補正値作成部５３５-1に出力する。また、乱数生成部５３３は、シード生成部５３２から供給されたシードを用いて擬似乱数の生成の初期化を行う。
【０１０８】
補正値作成部５３５-1は、ビットプレーンの切り捨て位置と、乱数生成部５３３で生成された乱数の値に基づき、補正値テーブル５３５tbから補正値を取得する。また、補正値作成部５３５-1は、変換係数が有意であると判別されている場合、補正値テーブル５３５tbから取得した補正値を係数補正処理部５３６に出力し、変換係数が有意でない判別されている場合、補正値を「０」として係数補正処理部５３６に出力する。なお、補正値テーブル５３５tbは、上述のように、切り捨て位置毎に、切り捨てられた変換係数の発生確率に対応させて、乱数の値に基づき補正値の作成を行うテーブルである。
【０１０９】
係数補正処理部５３６は、エントロピー復号化部５２から供給された変換係数に補正値を加算して、逆量子化部５４に出力する。
【０１１０】
図１６は、変換係数補正部の第３の構成の動作を示している。ステップＳＴ２１で変換係数補正部２３，５３-3は、変換係数と切り捨て位置を、係数毎に取得してステップＳＴ２２に進む。
【０１１１】
ステップＳＴ２２で変換係数補正部２３，５３-3は、変換係数が「０」より大きいか判別する。変換係数補正部２３，５３-3は、変換係数が「０」より大きい場合にステップＳＴ２３に進み、変換係数が「０」である場合にステップＳＴ２６に進む。すなわち、変換係数補正部２３，５３-3は、有意係数検出部５３１で有意と判別された場合にステップＳＴ２３に進み、有意でないと判別された場合ステップＳＴ２６に進む。
【０１１２】
ステップＳＴ２３で変換係数補正部２３，５３-3は、シードを生成する。変換係数補正部２３，５３-3は、乱数生成部５３３で擬似乱数を生成する場合に、初期化を行うためのシードを生成してステップＳＴ２４に進む。
【０１１３】
ステップＳＴ２４で変換係数補正部２３，５３-3は、擬似乱数を生成する。変換係数補正部２３，５３-3は、乱数生成部５３３で擬似乱数を生成してステップＳＴ２５に進む。また、擬似乱数の生成では、ステップＳＴ２３で生成されたシードを用いて初期化を行う。
【０１１４】
ステップＳＴ２５で変換係数補正部２３，５３-3は、補正値を作成する。変換係数補正部２３，５３-3は、補正値作成部５３５-1によって、切り捨て位置とステップＳＴ２４で生成した乱数の値を基に補正値テーブルを参照して補正値を作成してステップＳＴ２７に進む。
【０１１５】
ステップＳＴ２６で変換係数補正部２３，５３-3は、補正値を「０」とする。変換係数補正部２３，５３-3は、変換係数が有意でないと判別されていることから、補正値作成部５３５-1で作成する補正値を「０」としてステップＳＴ２７に進む。
【０１１６】
ステップＳＴ２７で変換係数補正部２３，５３-3は、変換係数の補正を行う。変換係数補正部２３，５３-3は、係数補正処理部５３６によって、変換係数に補正値を加算して補正を行う。係数補正処理部５３６は、変換係数が有意である場合、ステップＳＴ２５で作成された補正値を変換係数に加算して補正を行い、変換係数が有意でない場合、ステップＳＴ２６で作成された補正値「０」を変換係数に加算して補正を行いステップＳＴ２８に進む。
【０１１７】
ステップＳＴ２８で変換係数補正部２３，５３-3は、全ての変換係数の補正が終了していない場合にステップＳＴ２１に戻り、全ての変換係数の補正が終了した場合、変換係数の補正を終了する。
【０１１８】
このように、乱数を利用して補正値に統計的な発生確率に基づくゆらぎを持たせることで、ポスト量子化が行われても、自然な再生画像を得ることができるようになる。また、ローカルデコードを行うことにより生成した予測画像を用いることで符号化効率を高める符号化方式が用いられても、ローカルデコードと画像復号化装置で変換係数の補正を等しく行うことができるので、再生画像を高画質とすることが可能となる。
【０１１９】
＜７．ソフトウェア処理の場合＞
また、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、または両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させる。または、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることも可能である。
【０１２０】
図１７は、上述した一連の処理をプログラムで実行するコンピュータ装置の構成を例示した図である。コンピュータ装置８０のＣＰＵ８０１は、ＲＯＭ８０２、または記録部８０８に記録されているプログラムにしたがって各種の処理を実行する。
【０１２１】
ＲＡＭ８０３には、ＣＰＵ８０１が実行するプログラムやデータなどが適宜記憶される。これらのＣＰＵ８０１、ＲＯＭ８０２、およびＲＡＭ８０３は、バス８０４で相互に接続されている。
【０１２２】
ＣＰＵ８０１にはまた、バス８０４を介して入出力インタフェース８０５が接続されている。入出力インタフェース８０５には、タッチパネルやキーボード、マウス、マイクロホンなどの入力部８０６、ディスプレイなどよりなる出力部８０７が接続されている。ＣＰＵ８０１は、入力部８０６から入力される指令に対応して各種の処理を実行する。そして、ＣＰＵ８０１は、処理の結果を出力部８０７に出力する。
【０１２３】
入出力インタフェース８０５に接続されている記録部８０８は、例えばハードディスクからなり、ＣＰＵ８０１が実行するプログラムや各種のデータを記録する。通信部８０９は、インターネットやローカルエリアネットワークなどのネットワークやディジタル放送といった有線または無線の通信媒体を介して外部の装置と通信する。また、コンピュータ装置８０は、通信部８０９を介してプログラムを取得し、ＲＯＭ８０２や記録部８０８に記録してもよい。
【０１２４】
ドライブ８１０は、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブルメディア８５が装着された場合、それらを駆動して、記録されているプログラムやデータなどを取得する。取得されたプログラムやデータは、必要に応じてＲＯＭ８０２やＲＡＭ８０３または記録部８０８に転送される。
【０１２５】
ＣＰＵ８０１は、上述の一連の処理を行うプログラムを読み出して実行し、記録部８０８やリムーバブルメディア８５に記録されている画像や、通信部８０９を介して供給された画像に対する符号化処理やビットストリームの復号化処理を行う。
【０１２６】
なお、本発明は、上述した発明の実施の形態に限定して解釈されるべきではない。この発明の実施の形態は、例示という形態で本発明を開示したものであり、本発明の要旨を逸脱しない範囲で当業者が実施の形態の修正や代用をなし得ることは自明である。すなわち、本発明の要旨を判断するためには、特許請求の範囲を参酌すべきである。
【産業上の利用可能性】
【０１２７】
この発明の画像復号化装置と画像復号化方法、画像符号化装置と画像符号化方法、並びにプログラムでは、予め統計的に作成された補正値テーブルを用いて、ビットプレーンの切り捨て位置と乱数の値に基づき、ビットプレーンの切り捨てに対する補正値が作成される。また、作成された補正値を用いて、ビットストリームを復号化処理して得られる変換係数の補正が行われる。このため、切り捨てられた値の発生確率に応じたゆらぎを持って補正値を作成することが可能となり、ビットプレーンの切り捨てが行われたことによって画像に生じる違和感や不明瞭感を安定的に抑制することができる。したがって、ＪＰＥＧ−２０００方式等のようにビットプレーン符号化処理によって生成されたビットストリームの復号化等に適している。
【符号の説明】
【０１２８】
１０，１０ａ・・・画像符号化装置、１１・・・色変換部、１２・・・予測部、１３・・・直交変換部、１４・・・量子化部、１５・・・係数ビットモデリング部、１６・・・エントロピー符号化部、１７・・・ポスト量子化部、１８・・・ヘッダ生成部、２０・・・復号化処理部、５２・・・エントロピー復号化部、２４，５４・・・逆量子化部、２３，５３-1，５３-2，５３-3・・・変換係数補正部、２５，５５・・・逆直交変換部、５０，５０ａ・・・画像復号化装置、５１・・・ヘッダ解析部、５６・・・逆予測部、５７・・・逆色変換部、８０・・・コンピュータ装置、５３１・・・有意係数検出部、５３２・・・シード生成部、５３３・・・乱数生成部、５３４・・・コンテキスト生成部、５３５tb，５３５tb-y，５３５tb-c・・・補正値テーブル、５３５-1，５３５-2・・・補正値作成部、５３６・・・係数補正処理部、８０１・・・ＣＰＵ、８０２・・・ＲＯＭ、８０３・・・ＲＡＭ、８０４・・・バス、８０５・・・入出力インタフェース、８０６・・・入力部、８０７・・・出力部、８０８・・・記録部、８０９・・・通信部、８１０・・・ドライブ
【図１】
2012124837.tif 000003
【図２】
2012124837.tif 000004
【図３】
2012124837.tif 000005
【図４】
2012124837.tif 000006
【図５】
2012124837.tif 000007
【図６】
2012124837.tif 000008
【図７】
2012124837.tif 000009
【図８】
2012124837.tif 000010
【図９】
2012124837.tif 000011
【図１０】
2012124837.tif 000012
【図１１】
2012124837.tif 000013
【図１２】
2012124837.tif 000014
【図１３】
2012124837.tif 000015
【図１４】
2012124837.tif 000016
【図１５】
2012124837.tif 000017
【図１６】
2012124837.tif 000018
【図１７】
2012124837.tif 000019