説明

画像復号化装置および方法、画像符号化装置および方法、並びにプログラム

【課題】ビットプレーンの切り捨てが行われたことによって画像に生じる違和感や不明瞭感を安定的に抑制する。
【解決手段】乱数を生成する乱数生成部533は乱数を生成する。補正値作成部535-1は、予め統計的に作成された補正値テーブルを用いて、ビットプレーンの切り捨て位置と生成された乱数の値に基づき、ビットプレーンの切り捨てに対する補正値を作成する。係数補正処理部536は、作成された補正値を用いて、ビットストリームを復号化処理して得られる変換係数の補正を行う。切り捨てられた値の発生確率に応じたゆらぎを持って補正値を作成することが可能となり、ビットプレーンの切り捨てが行われたことによって生じる違和感や不明瞭感を安定的に抑制することができる。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、画像復号化装置および方法、画像符号化装置および方法、並びにプログラムに関する。詳しくは、ビットプレーン符号化でデータの切り捨てが行われても、この切り捨てによって画像に生じる違和感や不明瞭感を安定的に抑制できるようにする。
【背景技術】
【0002】
従来の画像圧縮方式として、例えばISO(International Standards Organization)によって標準化されたJPEG方式がある。これは、離散コサイン変換(Discrete Cosine Transform;DCT)を用い、比較的高いビットが割り当てられる場合には、良好な符号化画像および復号画像を供することが知られている。また、近年では画像をフィルタバンクと呼ばれるハイパス・フィルタとローパス・フィルタとを組み合わせたフィルタによって複数の帯域に分割し、帯域毎に符号化を行う例えばウェーブレット変換符号化が用いられている。このウェーブレット変換符号化は、DCTのように高圧縮でブロック歪みが顕著になるという欠点がない。このようなウェーブレット変換符号化を用いる画像圧縮方式として、JPEG−2000方式が標準化されている。JPEG−2000方式は、ウェーブレット変換にビットプレーン符号化を組み合わせた方式であり、JPEGに比べて符号化効率の大きな改善を実現している。
【0003】
また、目標の符号量を得ることができるように、例えば特許文献1では、生成された圧縮データを後尾から切り捨てることでレート制御が可能とされている。特許文献2では、ビットプレーン単位の切り捨てが行われたビットストリームの復号化を行う場合、切り捨てられたビット数で表現できる乱数を生成して変換係数に加算することで、再生画像に生じる違和感や不明瞭感を抑制することが行われている。特許文献3では、復号化画像データにノイズを擬似信号として含めることにより、非可逆圧縮の過程で喪失した信号成分を代替して、符号化時の信号喪失による画質低下を改善することが行われている。また、切り捨てられたビット数で表現可能な値のほぼ中央の値を、ビットプレーン単位で切り捨てられたビットが示していた値として用いることも行われる。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2002−165098号公報
【特許文献2】特開2004−260539号公報
【特許文献3】特開2002−204357号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
ところで、切り捨てられたビット数で表現できる乱数を加算する方法や、切り捨てられたビット数で表現可能な値のほぼ中央の値を加算する方法等は、符号化前の画像と関連性が全くない。したがって、このような方法は、ビットプレーンの切り捨てを行ったことによって画像に生じる違和感等を安定して抑制することが困難である。
【0006】
そこで、この発明では、ビットプレーンの切り捨てが行われたことによって画像に生じる違和感や不明瞭感を安定的に抑制することができる、画像復号化装置および方法、画像符号化装置および方法、並びにプログラムを提供する。
【課題を解決するための手段】
【0007】
この発明の第1の側面は、画像データを直交変換してビットプレーン符号化を行うことにより生成されたビットストリームから、ビットプレーンの切り捨て位置を取得する情報取得部と、乱数を生成する乱数生成部と、予め統計的に作成された補正値テーブルを用いて、前記切り捨て位置と前記乱数の値に基づき、前記ビットプレーンの切り捨てに対する補正値を作成する補正値作成部と、前記作成された補正値を用いて、前記ビットストリームを復号化処理して得られる変換係数の補正を行う係数補正処理部とを有する画像復号化装置にある。
【0008】
この発明では、画像データを直交変換してビットプレーン符号化を行うことにより生成されたビットストリームの復号化処理において、予め統計的に作成された補正値テーブルを用いて、ビットプレーンの切り捨て位置と乱数の値に基づき、ビットプレーンの切り捨てに対する補正値が作成される。補正値テーブルは、切り捨て位置毎に、切り捨てられた符号化データの発生確率に対応させて、乱数の値に基づき補正値の作成を行うテーブルとされている。例えば、乱数を所定範囲の値として、この所定範囲を切り捨てられた符号化データの発生確率に応じて区分する。また、切り捨てられた符号化データの値を、発生確率が対応する区分領域の補正値とする。さらに、切り捨て位置毎に、所定範囲を切り捨てられた変換係数の発生確率に応じて区分して、切り捨てられた変換係数を補正値とすることで補正値テーブルが生成される。
【0009】
また、補正値テーブルが予めコンテキスト毎に作成されて、切り捨て位置と乱数の値とコンテキストに基づき補正値が作成される。また、補正対象の変換係数が有意であるか判別されて、有意でないと判別された係数に対する補正値は予め設定した所定値に決定される。
【0010】
さらに、切り捨て位置をシードとして、またはビットストリームに含まれているシードを抽出して、このシードによって乱数生成の初期化が行われて、シードに応じた再現性のある乱数の生成が行われる。したがって、例えば画像符号化装置においてビットストリームの復号化処理を行って予測画像を生成する場合、シードを利用することで、変換係数の補正を画像符号化装置と画像復号化装置で等しく行うことが可能となる。
【0011】
この発明の第2の側面は、画像データを直交変換してビットプレーン符号化を行うことにより生成されたビットストリームから、ビットプレーンの切り捨て位置を取得する工程と、乱数を生成する工程と、予め統計的に作成された補正値テーブルを用いて、前記切り捨て位置と前記乱数の値に基づき、前記ビットプレーンの切り捨てに対する補正値を作成する工程と、前記作成された補正値を用いて、前記ビットストリームを復号化処理して得られる変換係数の補正を行う工程とを有する画像復号化方法にある。
【0012】
この発明の第3の側面は、画像データを直交変換してビットプレーン符号化を行うことにより生成されたビットストリームから、ビットプレーンの切り捨て位置を取得する手順と、乱数を生成する手順と、予め統計的に作成された補正値テーブルを用いて、前記切り捨て位置と前記乱数の値に基づき、前記ビットプレーンの切り捨てに対する補正値を作成する手順と、前記作成された補正値を用いて、前記ビットストリームを復号化処理して得られる変換係数の補正を行う手順とをコンピュータで実行させるプログラムにある。
【0013】
この発明の第4の側面は、入力画像と予測画像との誤差をビットプレーン符号化してビットストリームを生成する符号化処理部と、前記ビットストリームの復号化処理を行い、前記予測画像の生成に用いる誤差データを生成する復号化処理部を有し、前記復号化処理部には、乱数を生成する乱数生成部と、シードによって前記乱数生成部を初期化して、前記シードに応じた再現性のある乱数を生成させるシード生成部と、予め統計的に作成された補正値テーブルを用いて、前記ビットプレーン符号化におけるビットプレーンの切り捨て位置と前記乱数の値に基づき、前記ビットプレーンの切り捨てに対する補正値を作成する補正値作成部と、前記作成された補正値を用いて、前記ビットストリームを復号化処理して得られる復号データの補正を行う係数補正処理部とを設けた画像符号化装置にある。
【0014】
この発明では、入力画像と予測画像との誤差をビットプレーン符号化してビットストリームの生成を行い、このビットストリームの復号化処理を行い予測画像の生成に用いる誤差データを生成する場合、復号化処理では、予め統計的に作成された補正値テーブルを用いて、ビットプレーンの切り捨て位置と乱数の値に基づき、ビットプレーンの切り捨てに対する補正値が作成される。補正値テーブルは、切り捨て位置毎に、切り捨てられた符号化データの発生確率に対応させて、乱数の値に基づき補正値の作成を行うテーブルとされている。
【0015】
さらに、切り捨て位置をシードとして、またはシードを設定してビットストリームに含めるようにして、このシードによって乱数生成の初期化を行い、シードに応じた再現性のある乱数の生成が行われる。したがって、シードを利用することで、変換係数の補正を画像符号化装置と画像復号化装置で等しく行うことが可能となる。
【0016】
この発明の第5の側面は、入力画像と予測画像との誤差を示す画像データを直交変換してビットプレーン符号化を行いビットストリームを生成する工程と、前記ビットストリームの復号化処理によって変換係数を生成し、該変換係数の逆直交変換を行い前記予測画像の生成に用いる誤差を示す画像データを生成する工程を設け、前記復号化処理の工程には、前記ビットストリームにおけるビットプレーンの切り捨て位置を取得する工程と、シードによって初期化を行い、前記シードに応じた再現性のある乱数を生成させる工程と、予め統計的に作成された補正値テーブルを用いて、前記ビットプレーン符号化におけるビットプレーンの切り捨て位置と前記乱数の値に基づき、前記ビットプレーンの切り捨てに対する補正値を作成する工程と、前記作成された補正値を用いて前記変換係数の補正を行う工程とを設けた画像符号化方法にある。
【0017】
この発明の第6の側面は、入力画像と予測画像との誤差を示す画像データを直交変換してビットプレーン符号化を行いビットストリームを生成する手順と、前記ビットストリームの復号化処理によって変換係数を生成し、該変換係数の逆直交変換を行い前記予測画像の生成に用いる誤差を示す画像データを生成する手順と、前記復号化処理の手順では、前記ビットストリームにおけるビットプレーンの切り捨て位置を取得する手順と、シードによって初期化を行い、前記シードに応じた再現性のある乱数を生成させる手順と、予め統計的に作成された補正値テーブルを用いて、前記ビットプレーン符号化におけるビットプレーンの切り捨て位置と前記乱数の値に基づき、前記ビットプレーンの切り捨てに対する補正値を作成する手順と、前記作成された補正値を用いて前記変換係数の補正を行う手順とを前記コンピュータで実行させるプログラムにある。
【0018】
なお、本発明のプログラムは、例えば、様々なプログラム・コードを実行可能な汎用コンピュータ・システムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体、例えば、光ディスクや磁気ディスク、半導体メモリなどの記憶媒体、あるいは、ネットワークなどの通信媒体によって提供可能なプログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、コンピュータ・システム上でプログラムに応じた処理が実現される。
【発明の効果】
【0019】
この発明によれば、予め統計的に作成された補正値テーブルを用いて、ビットプレーンの切り捨て位置と乱数の値に基づき、ビットプレーンの切り捨てに対する補正値が作成される。また、作成された補正値を用いて、ビットストリームを復号化処理して得られる変換係数の補正が行われる。このため、切り捨てられた変換係数の発生確率に基づき補正値にゆらぎを持たせることが可能となり、この補正値を用いて変換係数の補正を行うことで、ビットプレーンの切り捨てが行われたことによって画像に生じる違和感や不明瞭感を安定的に抑制できる。
【図面の簡単な説明】
【0020】
【図1】画像符号化装置の構成を例示した図である。
【図2】画像復号化装置の構成を例示した図である。
【図3】自然画における変換係数の発生頻度を例示した図である。
【図4】切り捨てられた変換係数の発生確率を例示した図である。
【図5】切り捨てられた変換係数の発生確率に応じて補正値を作成する場合を示した図である。
【図6】変換係数補正部の第1の構成を示す図である。
【図7】補正値テーブルを例示した図である。
【図8】変換係数補正部の第1の構成の動作を示すフローチャートである。
【図9】変換係数の補正動作例を示した図である。
【図10】変換係数補正部の第2の構成を示す図である。
【図11】コンテキスト毎に設けた補正値テーブルを例示した図である。
【図12】変換係数補正部の第2の構成の動作を示すフローチャートである。
【図13】画像符号化装置の他の構成を例示した図である。
【図14】画像復号化装置の他の構成を例示した図である。
【図15】変換係数補正部の第3の構成を示す図である。
【図16】変換係数補正部の第3の構成の動作を示すフローチャートである。
【図17】コンピュータ装置の構成を例示した図である。
【発明を実施するための形態】
【0021】
以下、発明を実施するための形態について説明する。なお、説明は以下の順序で行う。
1.画像符号化装置の構成
2.画像復号化装置の構成
3.変換係数補正部の構成と動作
3−1.変換係数補正部の第1の構成の動作
3−2.変換係数補正部の第2の構成の動作
4.画像符号化装置の他の構成
5.画像復号化装置の他の構成
6.変換係数補正部の第3の構成と動作
7.ソフトウェア処理の場合
【0022】
<1.画像符号化装置の構成>
図1は、画像符号化装置の構成を例示している。画像符号化装置10は、色変換部11、直交変換部13、量子化部14、係数ビットモデリング部15、エントロピー符号化部16、ポスト量子化部17、ヘッダ生成部18を有している。
【0023】
色変換部11は、任意のカラー空間で入力された画像データを特定のカラー空間に変換する。色変換部11は、例えばR,G,Bの画像データをY,Cb,Crなどの画像データに変換する。なお、色変換部11は必要に応じて画像符号化装置10に設けられるものである。
【0024】
直交変換部13は、色変換部11によって変換された画像データの各画素値を空間座標から周波数座標に変換して変換係数を出力する。直交変換部13は、例えばウェーブレット変換(DWT)、離散コサイン変換(DCT)、離散フーリエ変換(DFT)等の直交変換を行うことにより得られた変換係数を出力する。
【0025】
量子化部14は、直交変換部13から出力された変換係数を量子化して、係数ビットモデリング部15に出力する。なお、量子化部14は、画像符号化装置10において必ずしも必要ではない。
【0026】
係数ビットモデリング部15は、量子化部14によって量子化された変換係数をエントロピー符号化部16で効率良く符号化できるように変換する処理を行う。係数ビットモデリング部15は、2値化処理(例えばH.264/AVCやMPEG等で用いられている算術符号化など)やビットモデリング(例えばジグザグスキャンやJPEG2000における3パスへの分解など)を行う。
【0027】
エントロピー符号化部16は、係数ビットモデリング部15から出力された係数列をエントロピー符号化する。
【0028】
ポスト量子化部17は、エントロピー符号化により得られた圧縮データのポスト量子化(「トランケーション」)を行う。ポスト量子化は、圧縮データが目標のデータ量に達するように、ビットプレーン単位で変換係数を切り捨てる処理である。このため、ポスト量子化部17から出力されるビットストリームを所望のデータ量に抑えることができる。ヘッダ生成部18は、復号化処理で必要とされる例えばビットプレーンの切り捨て位置等を示すヘッダ情報を生成して、ポスト量子化部17から出力されるビットストリームに付加して出力する。
【0029】
<2.画像復号化装置の構成>
図2は、画像復号化装置の構成を例示している。画像復号化装置50は、ヘッダ解析部51、エントロピー復号化部52、変換係数補正部53、逆量子化部54、逆直交変換部55、逆色変換部57を有している。
【0030】
ヘッダ解析部51は、情報取得部であり、画像符号化装置10から出力されたビットストリームに付加されているヘッダ情報を抽出して、ヘッダ情報の解析を行い、ビットプレーンの切り捨て位置等の情報を取得する。また、ヘッダ解析部51は、ビットストリームの変換係数が何れの色成分の係数であるかを示す情報、ビットストリームデータの変換係数が何れの周波数成分の係数であるかを示す情報等の取得も行う。さらに、ヘッダ解析部51は、取得した情報を、エントロピー復号化部52等を介して、あるいはヘッダ解析部51から変換係数補正部53に供給する。
【0031】
エントロピー復号化部52は、ヘッダ解析部51の解析結果を用いて、圧縮符号化されているビットストリームのエントロピー復号化を行う。エントロピー復号化部52は、エントロピー符号化部16で行われる符号化に対応した復号化を行い、量子化された係数列をビットストリームから作成する。また、エントロピー復号化部52は、係数ビットモデリング部15で行われる処理と逆の処理を行い、変換係数を生成して変換係数補正部53に出力する。
【0032】
変換係数補正部53は、画像符号化装置10のポスト量子化部17で行われたビットプレーン切り捨てによる悪影響を軽減するため、エントロピー復号化部52から出力された変換係数の補正処理を行う。変換係数補正部53は、例えばヘッダ解析部51から供給されたビットプレーン切り捨て位置等の情報を用いて補正処理を行い、補正後の変換係数を逆量子化部54に出力する。
【0033】
逆量子化部54は、量子化部14で行われる量子化に対応した逆量子化を行う。逆量子化部54は、量子化部14で量子化を行ったときの量子化ステップサイズを、変換係数補正部53から出力される補正後の変換係数に乗じて、逆量子化処理を行う。なお、画像符号化装置10に量子化部14が設けられておらず、量子化が行われていないときには、逆量子化部54を設けて逆量子化を行う必要がない。
【0034】
逆直交変換部55は、直交変換部13の直交変換に対応した逆直交変換を行う。逆直交変換部55は、逆量子化部54から出力された変換係数を用いて逆直交変換を行い、画像データを生成する。
【0035】
逆色変換部57は、逆直交変換部55で得られた画像データを所望のカラー空間の画像データに変換する。例えば、色変換部11でR,G,Bの画像データをY,Cb,Crの画像データに変換しており、画像復号化装置50では、画像符号化装置10に入力された画像データと同じカラー空間の画像データと出力する。この場合、逆色変換部57は、Y,Cb,Crの画像データをR,G,Bの画像データに変換して出力する。また、逆色変換部57は、画像復号化装置50に接続されている機器に応じたカラー空間の画像データに変換して出力するものとしてもよい。
【0036】
なお、図2では、変換係数を補正処理してから逆量子化を行う場合の構成を例示しているが、変換係数の逆量子化を行ってから補正処理を行うようにしてもよい。また、後述する図13および図14においても、変換係数の逆量子化を行ってから補正処理を行うようにしてもよい。この場合、逆量子化の影響を考慮した上で統計的に学習した補正テーブルを用いて補正処理を行う。
【0037】
<3.変換係数補正部の構成と動作>
画像復号化装置50において、変換係数補正部53は、ポスト量子化部17で切り捨てられた変換係数を変換係数補正部53で補正する場合、自然な画像を得られるようにする。具体的には、変換係数補正部53は、直交変換部13で得られる変換係数の偏りに着目して、切り捨てられた変換係数の統計的な発生確率に基づくゆらぎを持たせた補正値を用いる。
【0038】
自然画における変換係数の発生頻度は、図3に示すように変換係数の絶対値に対してその発生頻度が「0」を除いて単調減少となる。例えば変換係数の絶対値が4ビットで表現できる場合、変換係数の絶対値の発生頻度は単調減少している。したがって、図3に示すとおり1ビット目、2ビット目、3ビット、4ビット目の各ビットにおいて「1」が立つ区間の発生頻度よりも「0」が立つ区間の発生頻度の方が大きく、各位置のビットは「1」よりも「0」の方が多く発生する。4ビット目の場合、変換係数の絶対値が「0〜7」までの発生頻度の総和と「8〜15」までの発生頻度の総和では「0〜7」までの発生頻度の総和の方が大きく、4ビット目は「0」が立ちやすくなる。
【0039】
このように、各ビットにおける「0」と「1」の発生頻度に偏りが生じているため、任意の切り捨て位置で切り捨てられた値は、切り捨て位置によって決まる表現可能な値の平均値よりも小さくなりやすくなる。例えばLSB側から4番目の位置で切り捨てられた場合、切り捨てられた値の発生確率は、表現可能な値の平均値((0+1+・・・+7)/8=3.5)よりも、一般に図4のように小さくなりやすい。したがって、切り捨て位置に応じて、切り捨てられた変換係数の統計的な発生確率に基づくゆらぎを持たせた補正値を作成する。具体的には、予め学習用画像データを用いて切り捨てられた変換係数の発生確率を統計的に算出しておき、算出した発生確率に応じて、予め指定した範囲を区分しておく。また、指定された範囲の乱数を発生させて、乱数の値が属する区分の発生確率に対応する切り捨てられた変換係数を補正値とする。このようにすれば、切り捨てられた変換係数の統計的な発生確率に基づくゆらぎを持たせた補正値を作成できる。
【0040】
図5は、切り捨てられた変換係数の発生確率に応じて補正値を作成する場合を示している。例えば、図5に示すように、乱数の範囲「0〜99」を切り捨てられた変換係数の発生確率に応じて区分する。また、区分された領域に対応する発生確率の変換係数を補正値と設定する。すなわち、切り捨てられた変換係数が「0」である確率は(13/100)であるから、範囲「0〜12」を補正値「0」の範囲とする。また、切り捨てられた変換係数が「1」である確率は(18/100)であるから、範囲「13〜30」を補正値「1」の範囲とする。以下同様にして、切り捨てられた変換係数の発生確率に応じて乱数の範囲を区分して、区分された範囲に対して切り捨てられた変換係数を補正値として設定する。なお、切り捨てられた変換係数の発生確率に応じて範囲が区分されていれば、範囲は何れの順序であってもよい。
【0041】
このように、変換係数補正部53は、乱数の範囲「0〜99」を切り捨てられた変換係数の発生確率に応じて区分して、切り捨てられた変換係数を補正値とする。さらに、変換係数補正部53は、乱数の値が何れの区分領域に属するかに応じて補正値を設定して、切り捨てられた変換係数の発生確率に基づき補正値にゆらぎを持たせる。
【0042】
<3−1.変換係数補正部の第1の構成と動作>
図6は、変換係数補正部の第1の構成を示している。変換係数補正部53-1は、有意係数検出部531、乱数生成部533、補正値作成部535-1、係数補正処理部536を有している。
【0043】
有意係数検出部531は、エントロピー復号化部52から供給された変換係数が有意であるか検出する。有意係数検出部531は、「0」でない変換係数は有意であり、「0」である変換係数を有意でないと判別して、検出結果を補正値作成部535-1に出力する。
【0044】
乱数生成部533は、乱数を生成して補正値作成部535-1に出力する。
【0045】
補正値作成部535-1は、乱数生成部533で生成された乱数の値に応じて補正値を作成するための補正値テーブル535tbを有している。補正値テーブル535tbは、切り捨て位置毎に、切り捨てられた変換係数の発生確率に対応させて、乱数の値に基づき補正値の作成を行うテーブルである。具体的には、複数の学習用画像データからポスト量子化部17で切り捨てられる変換係数の発生確率に基づき、各切り捨て位置に対して、発生確率に応じて区分された領域に、切り捨てられた変換係数を補正値として設定したテーブルである。
【0046】
図7は、補正値テーブルを例示している。図7に示す補正値テーブルでは、乱数の範囲を「0〜99」として、切り捨て位置「1〜5」に対して切り捨てられた変換係数の発生確率に対応させて乱数の範囲を区分して、補正値を設定している。例えば、切り捨て位置「4」の補正値は、図5に示す補正値に対応している。
【0047】
補正値作成部535-1は、ヘッダ解析部51から供給されたビットプレーンの切り捨て位置と、乱数生成部533で生成された乱数の値に基づき、補正値テーブル535tbから補正値を取得する。また、補正値作成部535-1は、変換係数が有意であると判別されている場合、補正値テーブル535tbから取得した補正値を係数補正処理部536に出力し、変換係数が有意でない判別されている場合、補正値を「0」として係数補正処理部536に出力する。
【0048】
係数補正処理部536は、エントロピー復号化部52から供給された変換係数に補正値を加算して、逆量子化部54に出力する。
【0049】
図8は、変換係数補正部の第1の構成の動作を示している。ステップST1で変換係数補正部53-1は、変換係数と切り捨て位置を、係数毎に取得してステップST2に進む。
【0050】
ステップST2で変換係数補正部53-1は、変換係数が「0」より大きいか判別する。変換係数補正部53-1は、変換係数が「0」より大きい場合にステップST3に進み、変換係数が「0」である場合にステップST5に進む。すなわち、変換係数補正部53-1は、有意係数検出部531で有意と判別された場合にステップST3に進み、有意でないと判別された場合ステップST5に進む。
【0051】
ステップST3で変換係数補正部53-1は、乱数を生成する。変換係数補正部53-1は、乱数生成部533で乱数を生成してステップST4に進む。
【0052】
ステップST4で変換係数補正部53-1は、補正値を作成する。変換係数補正部53-1は、補正値作成部535-1によって、切り捨て位置とステップST3で生成した乱数の値を基に補正値テーブルを参照して補正値を作成してステップST6に進む。
【0053】
例えば図7に示す補正値テーブルを用いた場合、乱数の値が例えば「4,16,60,90,8,47」、切り捨て位置が「5,5,3,3,3,4」の場合、補正値は「2,4,1,3,0,2」となる。同様に、乱数の値が例えば「65,11,71,81,38,56」の場合、補正値は「8,4,2,2,1,3」となる。
【0054】
ステップST5で変換係数補正部53-1は、補正値を「0」とする。変換係数補正部53-1は、変換係数が有意でないと判別されていることから、補正値作成部535-1で作成する補正値を「0」としてステップST6に進む。
【0055】
ステップST6で変換係数補正部53-1は、変換係数の補正を行う。変換係数補正部53-1は、係数補正処理部536によって、変換係数に補正値を加算して補正を行う。係数補正処理部536は、変換係数が有意である場合、ステップST4で作成された補正値を変換係数に加算して補正を行い、変換係数が有意でない場合、ステップST5で作成された補正値「0」を変換係数に加算して補正を行いステップST7に進む。
【0056】
ステップST7で変換係数補正部53-1は、全ての変換係数の補正が終了していない場合にステップST1に戻り、全ての変換係数の補正が終了した場合、変換係数の補正を終了する。
【0057】
図9は、変換係数の補正動作例を示している。図9の(A)は、ポスト量子化が行われる前の変換係数であり、変換係数の値が「52,242,13,3,98,105」である場合を例示している。図9の(B)は、ポスト量子化後の変換係数であり、切り捨て位置が「5,5,3,3,3,4」とされた場合、変換係数の値は「48,240,12,0,96,104」となる。ここで、図9の(C)に示すように乱数の値が例えば「4,16,60,90,8,47」である場合、上述のように補正値は「2,4,1,3,0,2」となる。また、ポスト量子化後の4番目の係数は「0」であるから有意でないと判別される。したがって、加算対象の補正値は「2,4,1,−,0,2」となる。なお「−」は、変換係数が有意でないと判別されて補正値が「0」とされていることを示している。この加算対象の補正値がポスト量子化後の変換係数に加算されて、補正後の変換係数は「50,244,13,0,96,106」となる。また、図9の(D)に示すように乱数の値が例えば「65,11,71,81,38,56」である場合、上述のように補正値は、「8,4,2,2,1,3」となる。また、ポスト量子化後の4番目の係数は「0」であるから有意でないと判別される。したがって、加算対象の補正値は「8,4,2,−,1,3」となる。なお「−」は、変換係数が有意でないと判別されて補正値が「0」とされていることを示している。この加算対象の補正値がポスト量子化後の変換係数に加算されて、補正後の変換係数は「56,244,14,0,97,107」となる。
【0058】
このように、乱数を利用して、切り捨てられた変換係数の統計的な発生確率に基づくゆらぎを持たせた補正値を作成することで、ビットプレーンの切り捨てが行われたことによって画像に生じる違和感や不明瞭感を安定的に抑制できる。
【0059】
<3−2.変換係数補正部の第2の構成>
ところで、切り捨てられた変換係数の分布は、入力された変換係数の特徴、例えばシグニフィカントビット(Significant Bit)の位置、色成分情報、周波数情報などによって異なる。なお、シグニフィカントビットとは、対象とする変換係数のMSB(最上位ビット)からLSB(最下位ビット)に向かって走査し初めて有意なビット「1」が立ったビットのことである。例えば変換係数が「45」の場合、ビット列は2進表現で「101101」となる。この場合、初めて有意なビット「1」が立つ位置はLSB側から数えて6番目のビットとなり、シグニフィカントビットの位置は「6」となる。色成分情報とは、例えば色空間(RGB、YCbCr)の何れの成分(R,G,B,Y,Cb,Cr)であるかを示す情報である。周波数情報とは、例えばウェーブレット変換符号化で帯域毎に符号化を行う場合に、何れの帯域であるかを示す情報である。
【0060】
自然画の画像データを画像符号化装置10で符号化したとき、ポスト量子化部17で切り捨てられた変換係数は、シグニフィカントビットの位置がMSB側からLSB側に向かうにつれて、切り捨てられたビットは「0」が立ちやすくなる。また、「0」と「1」の発生頻度の差は広がり偏りが大きくなる。さらに、各色成分や各帯域で切り捨てられた変換係数の分布も異なる。すなわち、変換係数の特徴であるコンテキストによって切り捨てられた変換係数の分布が異なることから、変換係数補正部の第2の構成では、切り捨て位置に加えてコンテキストを用いることでより最適な補正値の作成を行う。
【0061】
図10は、変換係数補正部の第2の構成を示している。変換係数補正部53-2は、有意係数検出部531、乱数生成部533、コンテキスト生成部534、補正値作成部535-2、係数補正処理部536を有している。
【0062】
有意係数検出部531は、エントロピー復号化部52から供給された変換係数が有意であるか検出する。有意係数検出部531は、「0」でない変換係数は有意であり、「0」である変換係数を有意でないと判別して、検出結果を補正値作成部535-2に出力する。
【0063】
乱数生成部533は、乱数を生成して補正値作成部535-2に出力する。
【0064】
コンテキスト生成部534は、補正値テーブルの入力であるコンテキストを生成する。コンテキスト生成部534は、シグニフィカントビットの位置、色成分情報、周波数情報等の一つまたはその組み合わせをコンテキストとする。
【0065】
補正値作成部535-2は、ヘッダ解析部51で得た切り捨て位置、有意係数検出部531で得られた有意係数の検出結果、乱数生成部533で生成された乱数、およびコンテキスト生成部534で生成されたコンテキストに応じて、所定の補正値テーブルを参照することで補正値を取得する。以下、コンテキストとして変換係数が輝度成分の係数であるか色差成分の係数であるかを示す色成分情報を生成する場合について説明する。なお、色成分情報を示すコンテキストは、ビットストリームのヘッダ情報を利用して生成すればよい。
【0066】
図11は、コンテキスト毎に設けた補正値テーブルを例示している。図11の(A)は、輝度成分の補正値テーブル535tb-y、図11の(B)は色差成分の補正値テーブル535tb-cを示している。補正値作成部535-2は、コンテキストが輝度成分の係数であることを示している場合、図11の(A)に示す輝度成分の補正値テーブル535tb-yを用いて補正値を作成する。補正値作成部535-2は、コンテキストが色差成分の係数であることを示している場合、図11の(B)に示す補正値テーブル535tb-cを用いて補正値を作成する。
【0067】
輝度成分の補正値テーブル535tb-yは、複数の学習用輝度成分データを用いて予め生成される。例えば、複数の学習用輝度成分データからポスト量子化部17で切り捨てられる変換係数の発生確率を算出する。さらに、各切り捨て位置に対して、切り捨てられた変換係数の発生確率に対応して区分された領域に、切り捨てられた変換係数を補正値として設定することで生成する。同様に、色差成分の補正値テーブル535tb-cは、複数の学習用色差成分データを用いて予め生成される。例えば、複数の学習用色差成分データからポスト量子化部17で切り捨てられる変換係数の発生確率を算出する。さらに、各切り捨て位置に対して、切り捨てられた変換係数の発生確率に対応して区分された領域に、切り捨てられた変換係数を補正値として設定することで生成する。
【0068】
補正値作成部535-2は、変換係数が有意であると判別されている場合、補正値テーブルから取得した補正値を係数補正処理部536に出力し、変換係数が有意でない判別されている場合、補正値を「0」として係数補正処理部536に出力する。
【0069】
係数補正処理部536は、エントロピー復号化部52から供給された変換係数に補正値を加算して、逆量子化部54に出力する。
【0070】
図12は、変換係数補正部の第2の構成の動作を示している。ステップST11で変換係数補正部53-2は、変換係数と切り捨て位置を、係数毎に取得してステップST12に進む。
【0071】
ステップST12で変換係数補正部53-2は、変換係数が「0」より大きいか判別する。変換係数補正部53-2は、変換係数が「0」より大きい場合にステップST13に進み、変換係数が「0」である場合にステップST16に進む。すなわち、変換係数補正部53-2は、有意係数検出部531で有意と判別された場合にステップST13に進み、有意でないと判別された場合ステップST16に進む。
【0072】
ステップST13で変換係数補正部53-2は、コンテキストを生成する。変換係数補正部53-2は、コンテキスト生成部534で変換係数に関する情報をヘッダから取得してコンテキストを生成してステップST14に進む。
【0073】
ステップST14で変換係数補正部53-2は、乱数を生成する。変換係数補正部53-2は、乱数生成部533で乱数を生成してステップST15に進む。
【0074】
ステップST15で変換係数補正部53-2、補正値を作成する。変換係数補正部53-2は、補正値作成部535-2によって、切り捨て位置とステップST13で生成したコンテキストおよびステップST14で生成した乱数の値を基に補正値テーブルを参照して補正値を作成してステップST17に進む。
【0075】
ステップST16で変換係数補正部53-2は、補正値を「0」とする。変換係数補正部53-2は、変換係数が有意でないと判別されていることから、補正値作成部535-2で作成する補正値を「0」としてステップST17に進む。
【0076】
ステップST17で変換係数補正部53-2は、変換係数の補正を行う。変換係数補正部53-2は、係数補正処理部536によって、変換係数に補正値を加算して補正を行う。係数補正処理部536は、変換係数が有意である場合、ステップST15で作成された補正値を変換係数に加算して補正を行い、変換係数が有意でない場合、ステップST16で作成された補正値「0」を変換係数に加算して補正を行いステップST18に進む。
【0077】
ステップST18で変換係数補正部53-2は、全ての変換係数の補正が終了していない場合にステップST11に戻り、全ての変換係数の補正が終了した場合、変換係数の補正を終了する。
【0078】
このように、乱数を利用して、切り捨てられた変換係数の統計的な発生確率に基づくゆらぎを持たせた補正値を作成することで、ビットプレーンの切り捨てが行われたことによって画像に生じる違和感や不明瞭感を安定的に抑制できる。また、コンテキストによって切り捨てられた値の分布が異なる場合でも、コンテキストに応じた補正値テーブルから補正値が取得されるので、最適な補正値を作成できる。また、選択するコンテキスト数が多いほど、より適した補正値を作成することができるので、再生画像をさらに高画質とすることが可能となる。
【0079】
<4.画像符号化装置の他の構成>
ところで、画像符号化装置では、静止画像や動画像を符号化する場合、予測画像を用いて符号化効率を高めることが行われている。例えば、フレーム内またはフレーム間の時間的・空間的に相関の高い参照画像から符号化対象の予測画像を生成する。この生成した予測画像と入力画像との差分である予測誤差を符号化することで、符号化効率が高められている。そこで、画像符号化装置の他の構成として、予測画像を用いて符号化を行う画像符号化装置について説明する。
【0080】
図13、画像符号化装置の他の構成を例示している。図13において、図1と対応する部分については同一符号を付している。
【0081】
画像符号化装置10aは、色変換部11、予測部12、直交変換部13、量子化部14、係数ビットモデリング部15、エントロピー符号化部16、ポスト量子化部17、ヘッダ生成部18、復号化処理部20を有している。なお、予測部12、直交変換部13、量子化部14、係数ビットモデリング部15、エントロピー符号化部16およびポスト量子化部17は、本願の画像符号化装置における符号化処理部を構成する。
【0082】
色変換部11は、任意のカラー空間で入力された画像データを特定のカラー空間に変換する。色変換部11は、例えばR,G,Bの画像データをY,Cb,Crなどの画像データに変換する。なお、色変換部11は必要に応じて画像符号化装置10aに設けられるものである。
【0083】
予測部12は、後述する復号化処理部20の出力を利用して参照画像の生成を行う。また、予測部12は、フレーム内またはフレーム間の時間的・空間的に相関の高い参照画像を用いて符号化対象の予測画像を生成する。さらに、予測部12は、入力画像と予測画像との差分である予測誤差データを生成して直交変換部13に出力する。また、予測部12は、最適な予測モードに関する予測モード情報を、後述するヘッダ生成部18に出力する。
【0084】
直交変換部13は、予測部12から出力された予測誤差データの各画素値を空間座標から周波数座標に変換して変換係数を出力する。直交変換部13は、例えばウェーブレット変換(DWT)、離散コサイン変換(DCT)、離散フーリエ変換(DFT)等の直交変換を行うことにより得られた変換係数を出力する。
【0085】
量子化部14は、直交変換部13から出力された変換係数を量子化して、係数ビットモデリング部15に出力する。なお、量子化部14は、画像符号化装置10aにおいて必ずしも必要ではない。
【0086】
係数ビットモデリング部15は、量子化部14によって量子化された変換係数をエントロピー符号化部16で効率良く符号化できるように変換する処理を行う。係数ビットモデリング部15は、2値化処理(例えばH.264/AVCやMPEG等で用いられているの算術符号化など)やビットモデリング(例えばジグザグスキャンやJPEG2000における3パスへの分解など)を行う。
【0087】
エントロピー符号化部16は、係数ビットモデリング部15から出力された係数列をエントロピー符号化する。また、エントロピー符号化部16は、係数ビットモデリング部15から出力された係数列を復号化処理部20に出力する。なお、図13では、係数ビットモデリング部15からの係数列を、ポスト量子化部17を介して復号化処理部20に出力する構成を例示している。
【0088】
ポスト量子化部17は、エントロピー符号化により得られた圧縮データのポスト量子化を行う。ポスト量子化部17は、ポスト量子化でビットプレーン単位の切り捨て処理を行い、ポスト量子化部17から出力されるビットストリームを所望のデータ量に抑える。ポスト量子化部17は、ビットストリームをヘッダ生成部18と復号化処理部20に出力する。また、ポスト量子化部17は、ビットプレーン単位の切り捨て位置等を示す情報を、係数ビットモデリング部15からの係数列と共に復号化処理部20に出力する。
【0089】
ヘッダ生成部18は、復号化処理で必要とされる例えば切り捨て位置等を示すヘッダ情報を生成して、ポスト量子化部17から出力されるビットストリームデータに付加して出力する。また、ヘッダ生成部18は、予測部12から出力された予測モード情報をヘッダ情報等に含める。
【0090】
復号化処理部20は、変換係数補正部23、逆量子化部24、逆直交変換部25を有しており、画像復号化装置の変換係数補正部53、逆量子化部54、逆直交変換部55と同様な処理を行う。
【0091】
変換係数補正部23は、ビットプレーン単位の切り捨て位置等を示す情報と係数ビットモデリング部15から出力された係数列を用いて、画像復号化装置の変換係数補正部と等しい補正処理を行う。すなわち、変換係数補正部23は、ビットプレーン単位の切り捨て位置等を示す情報と係数ビットモデリング部15から出力された係数列に基づき、画像復号化装置のエントロピー復号化部から変換係数補正部に供給される変換係数を生成する。さらに変換係数補正部23は、ポスト量子化部17で行われたビットプレーン切り捨てによる悪影響を軽減するため、変換係数の補正処理を行い、補正後の変換係数を逆量子化部24に出力する。
【0092】
逆量子化部24は、量子化部14で行われる量子化に対応した逆量子化を行う。逆量子化部24は、量子化部14で量子化を行ったときの量子化ステップサイズを、変換係数補正部23から出力された変換係数に乗じて、逆量子化処理を行う。なお、画像符号化装置10aに量子化部14が設けられておらず、量子化が行われていないときには、逆量子化部24を設けて逆量子化を行う必要がない。
【0093】
逆直交変換部25は、直交変換部13の直交変換に対応した逆直交変換を行う。逆直交変換部25は、逆量子化部24から出力された変換係数を用いて逆変換を行い、画像データを生成して、予測部12に出力する。すなわち、復号化処理部20から予測部12に供給される画像データは、予測部12から直交変換部13に供給された予測誤差データの符号化と復号化を行ったデータとなる。
【0094】
<5.画像復号化装置の他の構成>
図14は、画像復号化装置の他の構成を例示している。画像復号化装置50aは、ヘッダ解析部51、エントロピー復号化部52、変換係数補正部53-3、逆量子化部54、逆直交変換部55、逆予測部56、逆色変換部57を有している。
【0095】
ヘッダ解析部51は、画像符号化装置10aから出力されたビットストリームデータに付加されているヘッダ情報を抽出して、ヘッダ情報の解析を行い、ビットプレーンの切り捨て位置等を取得する。また、ヘッダ解析部51は、ビットストリームの変換係数が何れの色成分の係数であるかを示す情報、ビットストリームの変換係数が何れの周波数成分の係数であるかを示す情報等の取得も行う。さらに、ヘッダ解析部51は、取得した情報をエントロピー復号化部52等を介して、あるいはヘッダ解析部51から変換係数補正部53-3に供給する。また、ヘッダ解析部51は、ヘッダ情報等から取得した予測モード情報を逆予測部56に出力する。
【0096】
エントロピー復号化部52は、ヘッダ解析部51の解析結果を用いて、圧縮符号化されているビットストリームのエントロピー復号化を行う。エントロピー復号化部52は、エントロピー符号化部16で行われる符号化に対応した復号化を行い、量子化された係数列をビットストリームから作成する。また、エントロピー復号化部52は、係数ビットモデリング部15で行われる処理と逆の処理を行い、変換係数を生成して変換係数補正部53-3に出力する。
【0097】
変換係数補正部53-3は、画像符号化装置10のポスト量子化部17で行われたビットプレーン切り捨てによる悪影響を軽減するため、エントロピー復号化部52から出力された変換係数の補正処理を行う。変換係数補正部53は、例えばヘッダ解析部51から供給されたビットプレーン切り捨て位置等の情報を用いて補正処理を行い、補正後の変換係数を逆量子化部54に出力する。
【0098】
逆量子化部54は、量子化部14で行われる量子化に対応した逆量子化を行う。逆量子化部54は、量子化部14で量子化を行ったときの量子化ステップサイズを、変換係数補正部53-3から出力される補正後の変換係数に乗じて、逆量子化処理を行う。なお、画像符号化装置10に量子化部14が設けられておらず、量子化が行われていないときには、逆量子化部54を設けて逆量子化を行う必要がない。
【0099】
逆直交変換部55は、直交変換部13の直交変換に対応した逆直交変換を行う。逆直交変換部55は、逆量子化部54から出力された変換係数を用いて逆直交変換を行い、画像データを生成する。
【0100】
逆予測部56は、ヘッダ解析部51から出力された予測モード情報に基づき予測画像データを生成する。さらに、逆予測部56は、逆直交変換部55から出力された画像データすなわち予測誤差データと生成した予測画像データを加算して、加算結果である画像データを再生画像データとして逆色変換部57に出力する。
【0101】
逆色変換部57は、逆予測部56で生成された再生画像データを所望のカラー空間の画像データに変換する。例えば、色変換部11でR,G,Bの画像データをY,Cb,Crの画像データに変換しており、画像復号化装置50aでは、画像符号化装置10aに入力された画像データと同じカラー空間の画像データを出力する。この場合、逆色変換部57は、Y,Cb,Crの画像データをR,G,Bの画像データに変換して出力する。また、逆色変換部57は、画像復号化装置50aに接続されている機器に応じたカラー空間の画像データに変換して出力するものとしてもよい。
【0102】
<6.変換係数補正部の第3の構成と動作>
画像符号化装置10aと画像復号化装置50aにおいて、変換係数補正部23と変換係数補正部53-3で異なる補正が行われると、予測部12に供給される画像データ(予測誤差データ)と逆予測部56に供給される画像データ(予測誤差データ)が異なってしまう。このため、画像データが等しい場合に比べて再生画像は画質の劣化した画像となってしまう恐れがある。
【0103】
したがって、変換係数補正部23と変換係数補正部53-3では補正が等しく行われるようにする。具体的には、変換係数補正部23と変換係数補正部53-3で用いる乱数と補正値テーブルを等しくすることで、各変換係数に加算される補正値を一致させる。補正値テーブルは、等しい補正値テーブルを変換係数補正部23と変換係数補正部53-3に予め記憶させておけばよい。また、乱数は、例えば擬似乱数を用いるようにして、シードによって乱数生成の初期化を行い、シードに応じた再現性のある乱数を生成させる。すなわち、変換係数補正部23と変換係数補正部53-3で同じシードを用いることで、変換係数補正部23で生成された乱数を変換係数補正部53-3で再現できるようにする。
【0104】
図15は、変換係数補正部の第3の構成を示している。変換係数補正部23,53-3は、有意係数検出部531、シード生成部532、乱数生成部533、補正値作成部535-1、係数補正処理部536を有している。
【0105】
有意係数検出部531は、エントロピー復号化部52から供給された変換係数が有意であるか検出する。有意係数検出部531は、「0」でない変換係数は有意であり、「0」である変換係数を有意でないと判別して、検出結果を補正値作成部535-1に出力する。
【0106】
シード生成部532は、乱数生成部533で擬似乱数を生成するときの初期化を行うためのシードを生成して乱数生成部533に出力する。シードは、復号化処理単位の先頭で初期化を行えるように生成する。例えばシード生成部532は、フレームやフィールドの開始時、スライス開始時、ブロック開始時等にシードの生成を行う。また、シードは、復号化処理部20の変換係数補正部23と画像復号化装置50aの変換係数補正部53-3で、等しい乱数を生成できるように生成する。例えば、画像符号化装置10aは、復号化処理部20の変換係数補正部23で生成したシードをヘッダ生成部18によってヘッダ情報に含める。この場合、画像復号化装置50aの変換係数補正部53-3は、ヘッダ情報から抽出したシードを乱数生成部533で用いるようにする。また、ビットストリームデータのデータ量増加を防ぐため、復号化処理部20の変換係数補正部23は、ヘッダ生成部18で生成されるヘッダ情報に含まれる情報、例えば切り捨て位置やコンテキストを用いてシードを生成するようにしてもよい。この場合、画像符号化装置10aと画像復号化装置50aは、ヘッダ情報の何れの情報に応じてシードを生成するか予め決めておく。画像復号化装置50aの変換係数補正部53-3は、復号化処理部20の変換係数補正部23において、シードの生成に用いた情報をヘッダ情報から取得して、この取得した情報に基づきシードを生成する。このようにすれば、ビットストリームにシードの情報を独立して含めることなく、復号化処理部20の変換係数補正部23で生成された乱数を画像復号化装置50aの変換係数補正部53-3で再現できる。
【0107】
乱数生成部533は、擬似乱数の生成を行い、生成した乱数を補正値作成部535-1に出力する。また、乱数生成部533は、シード生成部532から供給されたシードを用いて擬似乱数の生成の初期化を行う。
【0108】
補正値作成部535-1は、ビットプレーンの切り捨て位置と、乱数生成部533で生成された乱数の値に基づき、補正値テーブル535tbから補正値を取得する。また、補正値作成部535-1は、変換係数が有意であると判別されている場合、補正値テーブル535tbから取得した補正値を係数補正処理部536に出力し、変換係数が有意でない判別されている場合、補正値を「0」として係数補正処理部536に出力する。なお、補正値テーブル535tbは、上述のように、切り捨て位置毎に、切り捨てられた変換係数の発生確率に対応させて、乱数の値に基づき補正値の作成を行うテーブルである。
【0109】
係数補正処理部536は、エントロピー復号化部52から供給された変換係数に補正値を加算して、逆量子化部54に出力する。
【0110】
図16は、変換係数補正部の第3の構成の動作を示している。ステップST21で変換係数補正部23,53-3は、変換係数と切り捨て位置を、係数毎に取得してステップST22に進む。
【0111】
ステップST22で変換係数補正部23,53-3は、変換係数が「0」より大きいか判別する。変換係数補正部23,53-3は、変換係数が「0」より大きい場合にステップST23に進み、変換係数が「0」である場合にステップST26に進む。すなわち、変換係数補正部23,53-3は、有意係数検出部531で有意と判別された場合にステップST23に進み、有意でないと判別された場合ステップST26に進む。
【0112】
ステップST23で変換係数補正部23,53-3は、シードを生成する。変換係数補正部23,53-3は、乱数生成部533で擬似乱数を生成する場合に、初期化を行うためのシードを生成してステップST24に進む。
【0113】
ステップST24で変換係数補正部23,53-3は、擬似乱数を生成する。変換係数補正部23,53-3は、乱数生成部533で擬似乱数を生成してステップST25に進む。また、擬似乱数の生成では、ステップST23で生成されたシードを用いて初期化を行う。
【0114】
ステップST25で変換係数補正部23,53-3は、補正値を作成する。変換係数補正部23,53-3は、補正値作成部535-1によって、切り捨て位置とステップST24で生成した乱数の値を基に補正値テーブルを参照して補正値を作成してステップST27に進む。
【0115】
ステップST26で変換係数補正部23,53-3は、補正値を「0」とする。変換係数補正部23,53-3は、変換係数が有意でないと判別されていることから、補正値作成部535-1で作成する補正値を「0」としてステップST27に進む。
【0116】
ステップST27で変換係数補正部23,53-3は、変換係数の補正を行う。変換係数補正部23,53-3は、係数補正処理部536によって、変換係数に補正値を加算して補正を行う。係数補正処理部536は、変換係数が有意である場合、ステップST25で作成された補正値を変換係数に加算して補正を行い、変換係数が有意でない場合、ステップST26で作成された補正値「0」を変換係数に加算して補正を行いステップST28に進む。
【0117】
ステップST28で変換係数補正部23,53-3は、全ての変換係数の補正が終了していない場合にステップST21に戻り、全ての変換係数の補正が終了した場合、変換係数の補正を終了する。
【0118】
このように、乱数を利用して補正値に統計的な発生確率に基づくゆらぎを持たせることで、ポスト量子化が行われても、自然な再生画像を得ることができるようになる。また、ローカルデコードを行うことにより生成した予測画像を用いることで符号化効率を高める符号化方式が用いられても、ローカルデコードと画像復号化装置で変換係数の補正を等しく行うことができるので、再生画像を高画質とすることが可能となる。
【0119】
<7.ソフトウェア処理の場合>
また、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、または両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させる。または、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることも可能である。
【0120】
図17は、上述した一連の処理をプログラムで実行するコンピュータ装置の構成を例示した図である。コンピュータ装置80のCPU801は、ROM802、または記録部808に記録されているプログラムにしたがって各種の処理を実行する。
【0121】
RAM803には、CPU801が実行するプログラムやデータなどが適宜記憶される。これらのCPU801、ROM802、およびRAM803は、バス804で相互に接続されている。
【0122】
CPU801にはまた、バス804を介して入出力インタフェース805が接続されている。入出力インタフェース805には、タッチパネルやキーボード、マウス、マイクロホンなどの入力部806、ディスプレイなどよりなる出力部807が接続されている。CPU801は、入力部806から入力される指令に対応して各種の処理を実行する。そして、CPU801は、処理の結果を出力部807に出力する。
【0123】
入出力インタフェース805に接続されている記録部808は、例えばハードディスクからなり、CPU801が実行するプログラムや各種のデータを記録する。通信部809は、インターネットやローカルエリアネットワークなどのネットワークやディジタル放送といった有線または無線の通信媒体を介して外部の装置と通信する。また、コンピュータ装置80は、通信部809を介してプログラムを取得し、ROM802や記録部808に記録してもよい。
【0124】
ドライブ810は、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブルメディア85が装着された場合、それらを駆動して、記録されているプログラムやデータなどを取得する。取得されたプログラムやデータは、必要に応じてROM802やRAM803または記録部808に転送される。
【0125】
CPU801は、上述の一連の処理を行うプログラムを読み出して実行し、記録部808やリムーバブルメディア85に記録されている画像や、通信部809を介して供給された画像に対する符号化処理やビットストリームの復号化処理を行う。
【0126】
なお、本発明は、上述した発明の実施の形態に限定して解釈されるべきではない。この発明の実施の形態は、例示という形態で本発明を開示したものであり、本発明の要旨を逸脱しない範囲で当業者が実施の形態の修正や代用をなし得ることは自明である。すなわち、本発明の要旨を判断するためには、特許請求の範囲を参酌すべきである。
【産業上の利用可能性】
【0127】
この発明の画像復号化装置と画像復号化方法、画像符号化装置と画像符号化方法、並びにプログラムでは、予め統計的に作成された補正値テーブルを用いて、ビットプレーンの切り捨て位置と乱数の値に基づき、ビットプレーンの切り捨てに対する補正値が作成される。また、作成された補正値を用いて、ビットストリームを復号化処理して得られる変換係数の補正が行われる。このため、切り捨てられた値の発生確率に応じたゆらぎを持って補正値を作成することが可能となり、ビットプレーンの切り捨てが行われたことによって画像に生じる違和感や不明瞭感を安定的に抑制することができる。したがって、JPEG−2000方式等のようにビットプレーン符号化処理によって生成されたビットストリームの復号化等に適している。
【符号の説明】
【0128】
10,10a・・・画像符号化装置、11・・・色変換部、12・・・予測部、13・・・直交変換部、14・・・量子化部、15・・・係数ビットモデリング部、16・・・エントロピー符号化部、17・・・ポスト量子化部、18・・・ヘッダ生成部、20・・・復号化処理部、52・・・エントロピー復号化部、24,54・・・逆量子化部、23,53-1,53-2,53-3・・・変換係数補正部、25,55・・・逆直交変換部、50,50a・・・画像復号化装置、51・・・ヘッダ解析部、56・・・逆予測部、57・・・逆色変換部、80・・・コンピュータ装置、531・・・有意係数検出部、532・・・シード生成部、533・・・乱数生成部、534・・・コンテキスト生成部、535tb,535tb-y,535tb-c・・・補正値テーブル、535-1,535-2・・・補正値作成部、536・・・係数補正処理部、801・・・CPU、802・・・ROM、803・・・RAM、804・・・バス、805・・・入出力インタフェース、806・・・入力部、807・・・出力部、808・・・記録部、809・・・通信部、810・・・ドライブ

【特許請求の範囲】
【請求項1】
画像データを直交変換してビットプレーン符号化を行うことにより生成されたビットストリームから、ビットプレーンの切り捨て位置を取得する情報取得部と、
乱数を生成する乱数生成部と、
予め統計的に作成された補正値テーブルを用いて、前記切り捨て位置と前記乱数の値に基づき、前記ビットプレーンの切り捨てに対する補正値を作成する補正値作成部と、
前記作成された補正値を用いて、前記ビットストリームを復号化処理して得られる変換係数の補正を行う係数補正処理部と
を有する画像復号化装置。
【請求項2】
前記補正値テーブルは、切り捨て位置毎に、切り捨てられた変換係数の発生確率に対応させて、前記乱数の値に基づき補正値の作成を行うテーブルである
請求項1記載の画像復号化装置。
【請求項3】
コンテキストを生成するコンテキスト生成部をさらに有し、
前記補正値テーブルは予めコンテキスト毎に作成し、
前記補正値作成部は、前記切り捨て位置と前記乱数の値と、前記生成されたコンテキストに基づき補正値を作成する
請求項2記載の画像復号化装置。
【請求項4】
シードによって前記乱数生成部を初期化するシード生成部をさらに有し、
前記乱数生成部は、前記シードに応じた再現性のある乱数を生成する
請求項2記載の画像復号化装置。
【請求項5】
シード生成部は、切り捨て位置をシードとして用いる
請求項4記載の画像復号化装置。
【請求項6】
シード生成部は、前記ビットストリームに含まれているシードを取得する
請求項4記載の画像復号化装置。
【請求項7】
補正対象の変換係数が有意であるか判別する有意係数判別部をさらに有し、
前記補正値作成部は、有意でないと判別された係数に対する補正値を予め設定した所定値に決定する
請求項2記載の画像復号化装置。
【請求項8】
画像データを直交変換してビットプレーン符号化を行うことにより生成されたビットストリームから、ビットプレーンの切り捨て位置を取得する工程と、
乱数を生成する工程と、
予め統計的に作成された補正値テーブルを用いて、前記切り捨て位置と前記乱数の値に基づき、前記ビットプレーンの切り捨てに対する補正値を作成する工程と、
前記作成された補正値を用いて、前記ビットストリームを復号化処理して得られる変換係数の補正を行う工程と
を有する画像復号化方法。
【請求項9】
画像データを直交変換してビットプレーン符号化を行うことにより生成されたビットストリームから、ビットプレーンの切り捨て位置を取得する手順と、
乱数を生成する手順と、
予め統計的に作成された補正値テーブルを用いて、前記切り捨て位置と前記乱数の値に基づき、前記ビットプレーンの切り捨てに対する補正値を作成する手順と、
前記作成された補正値を用いて、前記ビットストリームを復号化処理して得られる変換係数の補正を行う手順と
をコンピュータで実行させるプログラム。
【請求項10】
入力画像と予測画像との誤差を示す画像データを直交変換してビットプレーン符号化を行いビットストリームを生成する符号化処理部と、
前記ビットストリームの復号化処理によって変換係数を生成し、該変換係数の逆直交変換を行い前記予測画像の生成に用いる誤差を示す画像データを生成する復号化処理部を有し、
前記復号化処理部には、
乱数を生成する乱数生成部と、
シードによって前記乱数生成部を初期化して、前記シードに応じた再現性のある乱数を生成させるシード生成部と、
予め統計的に作成された補正値テーブルを用いて、前記ビットプレーン符号化におけるビットプレーンの切り捨て位置と前記乱数の値に基づき、前記ビットプレーンの切り捨てに対する補正値を作成する補正値作成部と、
前記作成された補正値を用いて前記変換係数の補正を行う係数補正処理部と
を設けた画像符号化装置。
【請求項11】
前記補正値テーブルは、切り捨て位置毎に、切り捨てられた変換係数の発生確率に対応させて、前記乱数の値に基づき補正値の作成を行うテーブルである
請求項10記載の画像符号化装置。
【請求項12】
シード生成部は、ビットプレーンの切り捨て位置をシードとして用いる
請求項11記載の画像符号化装置。
【請求項13】
シード生成部は、生成したシードを前記ビットストリームに含めるようにする
請求項11記載の画像符号化装置。
【請求項14】
補正対象の変換係数が有意であるか判別する有意係数判別部をさらに有し、
前記補正値作成部は、有意でないと判別された係数に対する補正値を予め設定した所定値に決定する
請求項11記載の画像符号化装置。
【請求項15】
入力画像と予測画像との誤差を示す画像データを直交変換してビットプレーン符号化を行いビットストリームを生成する工程と、
前記ビットストリームの復号化処理によって変換係数を生成し、該変換係数の逆直交変換を行い前記予測画像の生成に用いる誤差を示す画像データを生成する工程を設け、
前記復号化処理の工程には、
シードによって初期化を行い、前記シードに応じた再現性のある乱数を生成させる工程と、
予め統計的に作成された補正値テーブルを用いて、前記ビットプレーン符号化におけるビットプレーンの切り捨て位置と前記乱数の値に基づき、前記ビットプレーンの切り捨てに対する補正値を作成する工程と、
前記作成された補正値を用いて前記変換係数の補正を行う工程と
を設けた画像符号化方法。
【請求項16】
入力画像と予測画像との誤差を示す画像データを直交変換してビットプレーン符号化を行いビットストリームを生成する手順と、
前記ビットストリームの復号化処理によって変換係数を生成し、該変換係数の逆直交変換を行い前記予測画像の生成に用いる誤差を示す画像データを生成する手順と、
前記復号化処理の手順では、
前記ビットストリームにおけるビットプレーンの切り捨て位置を取得する手順と、
シードによって初期化を行い、前記シードに応じた再現性のある乱数を生成させる手順と、
予め統計的に作成された補正値テーブルを用いて、前記ビットプレーン符号化におけるビットプレーンの切り捨て位置と前記乱数の値に基づき、前記ビットプレーンの切り捨てに対する補正値を作成する手順と、
前記作成された補正値を用いて前記変換係数の補正を行う手順と
を前記コンピュータで実行させるプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate


【公開番号】特開2012−124837(P2012−124837A)
【公開日】平成24年6月28日(2012.6.28)
【国際特許分類】
【出願番号】特願2010−275908(P2010−275908)
【出願日】平成22年12月10日(2010.12.10)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】