(57)【要約】【課題】ビットプレーン切り捨てによって再生画像に生じる違和感や不明瞭感を安定的に抑制する。【解決手段】有意係数検出部２４１は、符号化ストリームを復号化処理して得られた変換係数が有意であるか否か検出する。補正値テーブル２４３には、ビットプレーン切り捨てによって切り捨てられる係数値を統計的に処理して予め作成した補正値を、ビットプレーン切り捨て位置毎に格納しておく。補正値取得部２４２は、有意とされた変換係数におけるビットプレーン切り捨て位置に対応する補正値を補正値テーブル２４３から取得する。係数補正処理部２４４は、有意とされた変換係数についてのみ、補正値作成部２４２で作成された補正値を用いて変換係数の係数補正処理を行う。【選択図】        図７
2010118729.tif 000002
【特許請求の範囲】
【請求項１】
画像データの周波数変換により得られた変換係数をビットプレーン符号化処理して生成された符号化ストリームから、該符号化ストリームにおけるビットプレーン切り捨て位置の情報を取得する情報取得部と、
前記符号化ストリームを復号化処理して変換係数を生成する復号化処理部と、
前記復号化処理部で生成された変換係数が有意であるか否か検出する有意係数検出部と、
前記有意係数検出部で有意と検出された変換係数におけるビットプレーン切り捨て位置に対応する補正値を、ビットプレーン切り捨てによって切り捨てられる係数値を統計的に処理して予め作成した補正値がビットプレーン切り捨て位置毎に格納されている補正値テーブルから取得する補正値取得部と、
前記有意係数検出部で有意と検出された変換係数についてのみ、前記補正値取得部で取得された補正値を用いて変換係数の係数補正処理を行う係数補正処理部とを有する画像復号化装置。
【請求項２】
前記補正値テーブルには、前記画像データの特徴であるコンテキスト毎に補正値を格納するものとし、
前記補正値取得部は、ビットプレーン切り捨て位置と前記コンテキストに対応した補正値を前記補正値テーブルから取得する請求項１記載の画像復号化装置。
【請求項３】
前記コンテキストは、変換係数のシグニフィカントビット位置であり、
前記復号化処理部で得られた変換係数のシグニフィカントビット位置を検出するシグニフィカントビット検出部をさらに設け、
前記補正値取得部は、前記シグニフィカントビット検出部で検出されたシグニフィカントビット位置を用いて前記補正値を取得する請求項２記載の画像復号化装置。
【請求項４】
前記コンテキストは、前記変換係数が何れの色成分の係数であるかを示す色成分情報、前記変換係数が何れの周波数成分の係数であるかを示す周波数成分情報のいずれか、またはその組み合わせであり、
前記情報取得部は、前記符号化ストリームから前記色成分情報や前記周波数成分情報の取得を行い、
前記補正値取得部は、前記情報取得部で取得された前記色成分情報や前記周波数成分情報を用いて前記補正値を取得する請求項２記載の画像復号化装置。
【請求項５】
前記補正値テーブルには、ビットプレーン切り捨て位置毎に、ビットプレーン切り捨てによって切り捨てられる係数値の分布を代表する中心の値を格納する請求項１記載の画像復号化装置。
【請求項６】
情報取得部によって、画像データの周波数変換により得られた変換係数をビットプレーン符号化処理して生成された符号化ストリームから、前記符号化ストリームにおけるビットプレーン切り捨て位置の情報を取得するステップと、
復号化処理部によって、前記符号化ストリームを復号化処理して変換係数を生成するステップと、
有意係数検出部によって、前記復号化処理部で生成された変換係数が有意であるか否か検出するステップと、
補正値取得部によって、前記有意係数検出部で有意と検出された変換係数におけるビットプレーン切り捨て位置に対応する補正値を、ビットプレーン切り捨てによって切り捨てられる係数値を統計的に処理して予め作成した補正値がビットプレーン切り捨て位置毎に格納されている補正値テーブルから取得するステップと、
係数補正処理部によって、前記有意係数検出部で有意と検出された変換係数についてのみ、前記補正値取得部で取得された補正値を用いて変換係数の係数補正処理を行うステップを具備する画像復号化方法。
【請求項７】
コンピュータを、
画像データの周波数変換により得られた変換係数をビットプレーン符号化処理して生成された符号化ストリームから、前記符号化ストリームにおけるビットプレーン切り捨て位置の情報を取得する機能手段と、
前記符号化ストリームを復号化処理して変換係数を生成する機能手段と、
前記符号化ストリームを復号化処理して生成された変換係数が有意であるか否か検出する機能手段と、
前記有意係数検出部で有意と検出された変換係数におけるビットプレーン切り捨て位置に対応する補正値を、ビットプレーン切り捨てによって切り捨てられる係数値を統計的に処理して予め作成した補正値がビットプレーン切り捨て位置毎に格納されている補正値テーブルから取得する機能手段と、
前記有意とされた変換係数についてのみ、前記補正値テーブルから取得された補正値を用いて変換係数の係数補正処理を行う機能手段として機能させるためのコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、画像復号化装置と画像復号化方法およびコンピュータ・プログラムに関する。詳しくは、ビットプレーン切り捨てによって切り捨てられる係数値を統計的に処理して予め作成された補正値が、ビットプレーン切り捨て位置毎に格納されている補正値テーブルを用いるものとして、符号化ストリームを復号化処理して得られた変換係数の補正を、ビットプレーン切り捨て位置に対応して補正テーブルから読み出した補正値を用いて行うことで、再生画像に生じる違和感や不明瞭感を安定的に抑制するものである。
【背景技術】
【０００２】
従来の画像圧縮方式として、例えばＩＳＯ（International Standards Organization）によって標準化されたＪＰＥＧ方式がある。これは、離散コサイン変換（ＤＣＴ；Discrete Cosine Transform）を用い、比較的高いビットが割り当てられる場合には、良好な符号化 画像および復号画像を供することが知られている。また、近年では画像をフィルタバンクと呼ばれるハイパス・フィルタとローパス・フィルタとを組み合わせたフィルタによって複数の帯域に分割し、帯域毎に符号化を行う例えばウェーブレット変換符号化が用いられている。このウェーブレット変換符号化は、ＤＣＴのように高圧縮でブロック歪みが顕著になるという欠点がないことから、ＤＣＴに代わる新たな技術として有力視されている。
【０００３】
このようなウェーブレット変換符号化を用いる画像圧縮方式として、ＪＰＥＧ−２０００方式が標準化されている。ＪＰＥＧ−２０００方式は、ウェーブレット変換にビットプレーン符号化を組み合わせた方式であり、ＪＰＥＧに比べて符号化効率の大きな改善を実現している。
【０００４】
また、ＪＰＥＧ−２０００方式を用いたとき、目標の符号量を得ることができるように、特許文献１では、生成された符号化ストリームデータを後尾から切り捨てるビットプレーン切り捨てを行うことでレート制御が可能とされている。また、特許文献２では、ビットプレーン切り捨てが行われた符号化ストリームデータを用いて復号化を行うとき、切り捨てられたビット数で表現できる乱数を生成してウェーブレット係数に加算することで、再生画像に生じる違和感や不明瞭感を抑制することが行われている。また、特許文献３では、復号化画像データにノイズを疑似信号として含めることにより、非可逆圧縮の過程で喪失した信号成分を代替して、符号化時の信号喪失による画質低下を改善することが行われている。また、切り捨てられたビット数で表現可能な値のほぼ中央の値を、切り捨てられたビットが示していた値として用いることも行われる。
【０００５】
【特許文献１】特開２００２−１６５０９８号公報
【特許文献２】特開２００４−２６０５３９号公報
【特許文献３】特開２００２−２０４３５７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ところで、ウェーブレット係数に加算される乱数や復号化画像データに含められるノイズ、および切り捨てられたビット数で表現可能な値のほぼ中央の値等は、符号化前の画像と関連性が全くないことから、ビットプレーン切り捨てによって再生画像に生じる違和感等を安定して抑制することが困難である。
【０００７】
そこで、この発明では、ビットプレーン切り捨てによって再生画像に生じる違和感や不明瞭感を安定的に抑制することができる、画像復号化装置と画像復号化方法およびコンピュータ・プログラムを提供するものである。
【課題を解決するための手段】
【０００８】
この発明の第１の側面は、画像データの周波数変換により得られた変換係数をビットプレーン符号化処理して生成された符号化ストリームから、該符号化ストリームにおけるビットプレーン切り捨て位置の情報を取得する情報取得部と、前記符号化ストリームを復号化処理して変換係数を生成する復号化処理部と、前記復号化処理部で生成された変換係数が有意であるか否か検出する有意係数検出部と、前記有意係数検出部で有意と検出された変換係数におけるビットプレーン切り捨て位置に対応する補正値を、ビットプレーン切り捨てによって切り捨てられる係数値を統計的に処理して予め作成した補正値がビットプレーン切り捨て位置毎に格納されている補正値テーブルから取得する補正値取得部と、記有意係数検出部で有意と検出された変換係数についてのみ、前記補正値取得部で取得された補正値を用いて変換係数の係数補正処理を行う係数補正処理部とを有する画像復号化装置にある。
【０００９】
この発明においては、画像データの周波数変換により得られた変換係数をビットプレーン符号化処理して生成された符号化ストリームから、該符号化ストリームにおけるビットプレーン切り捨て位置の情報が取得される。また、補正値テーブルには、ビットプレーン切り捨てによって切り捨てられる係数値を統計的に処理して予め作成した補正値、すなわち、ビットプレーン切り捨てによって切り捨てられる係数値の分布を代表する中心の値が、ビットプレーン切り捨て位置や入力画像データの特徴であるコンテキスト、例えばシグニフィカントビット位置、色成分情報、周波数成分情報のいずれか、またはその組み合わせ毎に格納される。符号化ストリームを復号化処理して得られた変換係数は、ビットプレーン切り捨て位置やコンテキストに応じて補正値テーブルから取得された補正値を用いて補正される。この補正後の変換係数が出力画像データに逆変換されて出力される。
【００１０】
また、この発明の第２の側面は、情報取得部によって、画像データの周波数変換により得られた変換係数をビットプレーン符号化処理して生成された符号化ストリームから、前記符号化ストリームにおけるビットプレーン切り捨て位置の情報を取得するステップと、復号化処理部によって、前記符号化ストリームを復号化処理して変換係数を生成するステップと、有意係数検出部によって、前記復号化処理部で生成された変換係数が有意であるか否か検出するステップと、補正値取得部によって、前記有意係数検出部で有意と検出された変換係数におけるビットプレーン切り捨て位置に対応する補正値を、ビットプレーン切り捨てによって切り捨てられる係数値を統計的に処理して予め作成した補正値がビットプレーン切り捨て位置毎に格納されている補正値テーブルから取得するステップと、係数補正処理部によって、前記有意係数検出部で有意と検出された変換係数についてのみ、前記補正値取得部で取得された補正値を用いて変換係数の係数補正処理を行うステップを具備する画像復号化方法にある。
【００１１】
さらに、この発明の第３の側面は、コンピュータを、画像データの周波数変換により得られた変換係数をビットプレーン符号化処理して生成された符号化ストリームから、前記符号化ストリームにおけるビットプレーン切り捨て位置の情報を取得する機能手段と、前記符号化ストリームを復号化処理して変換係数を生成する機能手段と、前記符号化ストリームを復号化処理して生成された変換係数が有意であるか否か検出する機能手段と、前記有意係数検出部で有意と検出された変換係数におけるビットプレーン切り捨て位置に対応する補正値を、ビットプレーン切り捨てによって切り捨てられる係数値を統計的に処理して予め作成した補正値がビットプレーン切り捨て位置毎に格納されている補正値テーブルから取得する機能手段と、前記有意とされた変換係数についてのみ、前記補正値テーブルから取得された補正値を用いて変換係数の係数補正処理を行う機能手段として機能させるためのコンピュータ・プログラムにある。
【００１２】
なお、本発明のコンピュータ・プログラムは、例えば、様々なプログラム・コードを実行可能な汎用コンピュータ・システムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体、例えば、光ディスクや磁気ディスク、半導体メモリなどの記憶媒体、あるいは、ネットワークなどの通信媒体によって提供可能なコンピュータ・プログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、コンピュータ・システム上でプログラムに応じた処理が実現される。
【発明の効果】
【００１３】
この発明によれば、ビットプレーン切り捨てによって切り捨てられる係数値を統計的に処理して予め作成した補正値が、ビットプレーン切り捨て位置毎に格納されている補正値テーブルを用いるものとして、符号化ストリームを復号化処理して得られた変換係数の補正が、ビットプレーン切り捨て位置に対応して補正テーブルから読み出した補正値を用いて行われる。このため、変換係数の補正が最適な補正値を用いて行われるので、ビットプレーン切り捨てによって再生画像に生じる違和感や不明瞭感を安定的に抑制することができる。
【発明を実施するための最良の形態】
【００１４】
以下、発明を実施するための最良の形態について説明する。
なお、説明は以下の順序で行う。
１．画像符号化装置の構成と動作
２．画像復号化装置の第１の実施の形態
３．画像復号化装置の第２の実施の形態
４．コンピュータを用いて画像復号化を行う場合の構成と動作
【００１５】
＜１．画像符号化装置の構成と動作＞
［画像符号化装置の構成」
図１は、画像符号化装置の構成を示すブロック図である。画像符号化装置１０の色変換部１１は、任意のカラー空間で入力された画像データを特定のカラー空間に変換する。色変換部１１は、例えばＲ，Ｇ，Ｂの画像データをＹ，Ｃｂ，Ｃｒなどの画像データに変換する。なお、色変換部１１は必要に応じて画像符号化装置１０に設けられるものである。
【００１６】
直交変換部１２は、色変換部１１によって変換された画像データの各画素値を空間座標から周波数座標に変換して変換係数を出力する。直交変換部１２は、例えばウェーブレット変換（ＤＷＴ）、離散コサイン変換（ＤＣＴ）、離散フーリエ変換（ＤＦＴ）等を行うことにより得られた変換係数を出力する。
【００１７】
量子化部１３は、直交変換部１２から出力された変換係数を量子化して、量子化された係数を出力する。なお、量子化部１３は、画像符号化装置１０において必ずしも必要ではない。
【００１８】
係数ビットモデリング部１４は、量子化部１３によって量子化された変換係数をエントロピー符号化部１５で効率良く符号化できるように変換する処理を行う。係数ビットモデリング部１４は、例えばジグザグスキャンやＪＰＥＧ２０００における３パスへの分解などのビットモデリングを行う。
【００１９】
エントロピー符号化部１５は、係数ビットモデリング部１４により処理されたデータをエントロピー符号化する。
【００２０】
ポスト量子化部１６は、エントロピー符号化により得られたビットストリームのポスト量子化（「トランケーション」）を行う。ポスト量子化は、ビットストリームが目標のデータ量に達することに応じて、その後のデータを切り捨てるビットプレーン切り捨て処理である。このため、ポスト量子化部１６から出力されるビットストリームを所望のデータ量に抑えることができる。ヘッダ生成部１７は、ヘッダ情報を生成して、ポスト量子化部１６から出力されるビットストリームに付加して出力する。
【００２１】
［画像符号化装置の動作」
次に、画像符号化装置１０の動作として、例えば直交変換部１２でウェーブレット変換を行い、係数ビットモデリング部１４でビットプレーンの展開を行う場合について説明する。なお、説明を簡単とするため、量子化部１３は設けられていないものとする。
【００２２】
ウェーブレット変換を行う場合、直交変換部１２は、フィルタバンクを用いて構成されている。フィルタバンクは、例えば通常低域フィルタと高域フィルタを用いて構成されている。直交変換部１２は、フィルタバンクを用いてフィルタリングを行うことによりウェーブレット変換係数を生成する。図２は、第２ステージまでウェーブレット分割したときのサブバンドを示す。ウェーブレット変換では、画像のエネルギーの多くが低域成分に集中していることから、通常、図２のように、第２レベルまでの最低域サブバンドＬＬ２と、低高域サブバンドＬＨ２と、高低域サブバンドＨＬ２と、最高域サブバンドＨＨ２のように、低域成分を繰り返し変換する手段を取る。
【００２３】
ウェーブレット変換のレベル数を「２」とすると、図２に示すように、第２レベルまでの最低域サブバンドＬＬ２と、低高域サブバンドＬＨ２と、高低域サブバンドＨＬ２と、最高域サブバンドＨＨ２と、第１レベルの低高域サブバンドＬＨ１と、高低域サブバンドＨＬ１と、最高域サブバンドＨＨ１の計７つのサブバンドが生成される。
【００２４】
係数ビットモデリング部１４は、変換係数を所定サイズのコードブロックに分割して、各変換係数をビットプレーンに展開する。コードブロックの縦横のサイズは４から２５６までの２のべき乗で、通常使用される大きさは、３２×３２、６４×６４、１２８×３２等である。
【００２５】
図３は、ビットプレーンを説明するための図である。図３の（Ａ）は、１つのコードブロックが例えば縦４個、横４個の計１６個の変換係数で構成される場合を仮定している。この１６個の変換係数のうち、絶対値が最大のものは１３で、２進表現にすると１１０１になる。係数ビットモデリング部１４は、変換係数の絶対値を最下位ビット（ＬＳＢ：Least Significant Bit）から最上位ビット（ＭＳＢ：Most Significant Bit）までの各ビットで順次スライスするようにして、各サンプルに対応する絶対値ビットプレーンを生成する。ここで、変換係数が図３の（Ａ）に示すものである場合、絶対値ビットプレーンは、図３の（Ｂ）に示すように４つ生成される。また、係数ビットモデリング部１４は、図３の（Ｃ）に示すように、変換係数の符号を示す符号ビットプレーンを生成する。
【００２６】
すなわち、変換係数を例えばｎビットの符号付き２進数で表すものとすると、ビット０からビットｎ−２はＬＳＢからＭＳＢまでのそれぞれのビットを表し、残りの１ビットは符号を示すものとなる。したがって、係数ビットモデリング部１４は、この場合、（ｎ−１）個の絶対値ビットプレーンと１つの絶対値ビットプレーンを生成することになる。
【００２７】
次に、係数ビットモデリング部１４は、コードブロックの符号化を、ＭＳＢ側の絶対値ビットプレーンから順番に、３つの符号化パスに基づいて行う。この３つの符号化パスとしては、シグニフィカンスプロパゲーションパス(Significance Propagation Pass)、マグニチュードリファイメントパス(Magnitude Refinement Pass)、およびクリーンナップパス(Cleanup Pass）と呼ばれる符号化パスが規定されている。
【００２８】
シグニフィカンスプロパゲーションパスとは、有意である係数が周囲に存在している有意でない係数についての符号化である。マグニチュードリファイメントパスとは、有意である係数の符号化である。クリーンナップパスとは、シグニフィカンスプロパゲーションパスやマグニチュードリファイメントパスの係数に含まれない係数の符号化である。なお、有意であるとは、既に「０」でないと判定されている状態を示している。
【００２９】
３つの符号化パスは、最初にＭＳＢ側のビットプレーンがクリーンナップパスによって符号化される。続いて順次ＬＳＢ側に向かい、各ビットプレーンに対して、シグニフィカンスプロパゲーションパス、マグニチュードリファイメントパス、クリーンナップパスによる符号化が順次行われる。また、初めてビットプレーンで「１」が現れるときは、極性ビット符号化を行う。なお、実際にはＭＳＢ側から何番目のビットプレーンで初めて１が出てくるかをヘッダに書き、はじめのオール０のビットプレーンは符号化しないものとする。
【００３０】
エントロピー符号化部１５は、係数ビットモデリング部１４で得られた０／１値（２進デシジョン）のエントロピー符号化を行う。エントロピー符号化部１５では、例えばＭＱ符号化と呼ばれる算術符号が用いて２進デシジョンの符号列を無ひずみ圧縮してビットストリームを生成する。
【００３１】
ポスト量子化部１６は、エントロピー符号化により得られたビットストリームのポスト量子化を行い、ビットストリームが目標のデータ量に達することに応じて、その後のデータを切り捨てる。ここで、ポスト量子化部１６は、ビットストリームが目標のデータ量に達したとき、符号化パスの終了点を検出して、最初に検出した符号化パスの終了点をビットプレーン切り捨て位置として、その後のビットストリームを切り捨てる。したがって、ビットストリームのデータ量を目標のデータ量に抑えることができる。
【００３２】
ヘッダ生成部１７は、コードブロック内の符号化パスの個数やビットストリームのデータ長、ビットプレーン切り捨て位置等を示すヘッダ情報を生成して、ポスト量子化部１６から出力されるビットストリームに付加して、符号化ストリームとして出力する。また、ヘッダ情報には、符号化ストリームによって示される変換係数が何れの色成分の係数であるかを示す色成分情報や、何れの周波数成分の係数（何れのサブバンドの係数）であるかを示す周波数成分情報等も含めることができる。
【００３３】
＜２．画像復号化装置の第１の実施の形態＞
［画像復号化装置の構成」
図４は、画像復号化装置の構成を示すブロック図である。画像復号化装置２０のヘッダ解析部２１は、画像符号化装置１０から出力された符号化ストリームに付加されているヘッダ情報を抽出して、ヘッダ情報の解析を行い、ビットプレーン切り捨て位置の情報を取得する。また、ヘッダ解析部２１は、符号化ストリームの変換係数が何れの色成分の係数であるかを示す情報、符号化ストリームの変換係数が何れの周波数成分の係数であるかを示す情報等の取得も行う。さらに、ヘッダ解析部２１は、取得した情報をエントロピー復号化部２２等を介して、あるいはヘッダ解析部２１から変換係数補正部２４に供給する。
【００３４】
エントロピー復号化部２２とビットモデリング復号部２３は、符号化ストリームを復号化処理して変換係数を得るための復号化処理部である。エントロピー復号化部２２は、エントロピー符号化部１５で行われる符号化に対応した復号化を行う。このエントロピー復号化部２２は、ヘッダ解析部２１から供給された符号化ストリームの復号化を行い、復号化によって得られたデータをビットモデリング復号部２３に供給する。
【００３５】
ビットモデリング復号部２３は、係数ビットモデリング部１４の符号化に対応した復号化を行うものである。ビットモデリング復号部２３は、エントロピー復号化部２２から出力されたデータに対してビットプレーンを単位とした復号化を施して変換係数を求める。
【００３６】
変換係数補正部２４は、画像符号化装置１０のポスト量子化部１６で行われたビットプレーン切り捨てによる悪影響を軽減するため、ビットモデリング復号部２３から出力された変換係数に対して補正処理を行う。
【００３７】
逆量子化部２５は、量子化部１３で行われる量子化に対応した逆量子化を行うものである。逆量子化部２５は、量子化部１３で量子化を行ったときの量子化ステップサイズを、変換係数補正部２４から出力される変換係数に乗じて、逆量子化処理を行う。なお、画像符号化装置１０に量子化部１３が設けられておらず、量子化が行われていないときには、逆量子化部２５を設けて逆量子化を行う必要がない。
【００３８】
逆直交変換部２６は、直交変換部１２の直交変換に対応した逆直交変換を行う。逆直交変換部２６は、逆量子化部２５から供給された変換係数を用いて逆直交変換を行い、画像データを生成する。また、逆量子化部２５が設けられていない場合、逆直交変換部２６は、変換係数補正部２４から出力される変換係数を用いて逆直交変換を行い、画像データを生成する。
【００３９】
逆色変換部２７は、逆直交変換部２６で得られた画像データを所望のカラー空間の画像データに変換する。例えば、色変換部１１でＲ，Ｇ，Ｂの画像データをＹ，Ｃｂ，Ｃｒの画像データに変換しており、画像復号化装置２０では、画像符号化装置１０に入力された画像データと同じカラー空間の画像データと出力する場合、逆色変換部２７は、Ｙ，Ｃｂ，Ｃｒの画像データをＲ，Ｇ，Ｂの画像データに変換して出力する。また、逆色変換部２７は、画像復号化装置２０に接続されている機器に応じたカラー空間の画像データに変換して出力するものとしてもよい。
【００４０】
このように構成された画像復号化装置２０において、変換係数補正部２４は、直交変換部１２で得られる変換係数の偏りに着目し、ポスト量子化部１６で切り捨てられる値を統計的に最適な値で補正する。変換係数補正部２４は、このような補正を行うことで、従来の方法すなわち変換係数に乱数を加算したり復号化画像データにノイズを含める方法よりも、再生画像に生じる違和感や不明瞭感を安定的に抑制できるようにする。
【００４１】
図５は、自然画における変換係数の分布を例示している。変換係数の絶対値が４ビットで表現できる場合、変換係数の絶対値の発生頻度は「０」を除いて単調減少となる。このため、１ビット目、２ビット目、３ビット、４ビット目の各ビットにおいて、「０」が立つ区間の発生頻度は、「１」が立つ区間の発生頻度よりも大きい。すなわち、各位置のビットは「１」よりも「０」の方が多く発生する。
【００４２】
例えば４ビット目の場合、「０」が立つ区間の発生頻度は、変換係数の絶対値が「０」のときの発生頻度から絶対値が「７」のときの発生頻度までの総和である。また、「１」が立つ区間の発生頻度は、変換係数の絶対値が「８」のときの発生頻度から絶対値が「１５」のときの発生頻度までの総和である。ここで、「０」が立つ区間の発生頻度は、「１」が立つ区間の発生頻度よりも大きく、４ビット目は「０」が立ちやすくなる。
【００４３】
このように、各ビットにおける「０」と「１」の発生頻度に偏りが生じているため、任意の切り捨て位置で切り捨てられた値は、切り捨て位置によって決まる表現可能な値の平均値よりも小さくなりやすくなる。例えばＬＳＢ側から４番目の位置「４」で切り捨てられた場合、切り捨てられた係数値の発生頻度分布は一般に図６のようになり、切り捨てられた値の平均値は、表現可能な値の平均値である「４」よりも小さい「３」に近くなる。このような偏りがある場合、補正値として「４」を使用するよりも「３」を使用した方がポスト量子化による量子化誤差の平均値は小さくなる。
【００４４】
したがって、これらの偏りを基に補正値テーブルを事前に作成しておき、変換係数補正部２４は、作成されている補正値テーブルを用いることで、統計的に最適な補正値を決定して変換係数の補正を行う。補正値テーブルの作成では、複数の学習用画像データを画像符号化装置１０で符号化したとき、ポスト量子化部１６で切り捨てられた値を統計的に処理して最適な補正値を決定する。具体的には、ポスト量子化部１６で切り捨てられた値の分布を求めて、この分布を代表する中心の値を格納する。分布を代表する中心の値としては、例えば平均値を用いる。また、分布を代表する中心の値として最頻値や中央値を補正値として用いるものとしてもよい。
【００４５】
図７は、変換係数補正部２４の構成を示している。変換係数補正部２４の有意係数検出部２４１は、ビットモデリング復号部２３から出力される変換係数が有意であるか否か、つまり「０」でないか否か検出して、検出結果を補正値取得部２４２に出力する。
【００４６】
補正値取得部２４２は、ヘッダ解析部２１から供給されたビットプレーン切り捨て位置情報と有意係数検出部２４１から出力された検出結果に基づき補正値の取得を行う。補正値取得部２４２は、ビットプレーン切り捨て位置に対応した補正値を補正値テーブル２４３から取得して、この補正値を有意係数検出部２４１で有意と判断された係数に対する補正値とする。また、補正値作成部２４２は、有意係数検出部２４１で有意でないと判断された係数の補正値を「０」とする。
【００４７】
補正値テーブル２４３は、補正値取得部２４２からビットプレーン切り捨て位置が示されたとき、ビットプレーン切り捨て位置に対応した補正値を一意に出力する。
【００４８】
係数補正処理部２４４は、ビットモデリング復号部２３から供給された変換係数に補正値取得部２４２で取得した補正値を加算して変換係数の補正を行い、補正後の変換係数を逆直交変換部２６に出力する。
【００４９】
次に、変換係数補正部２４の動作について説明する。以下の説明では、図８の（Ａ）に示す変換係数に対して切り捨てが行われた図８の（Ｂ）に変換係数の補正を行うものとする。例えば、切り捨て前の変換係数が「５２，２４２，１２，３，９８，１０５」であり、ビットプレーン切り捨て位置が「５，５，３，３，３，４」とされた場合、切り捨て後であって補正前の変換係数は「４８，２４０，１２，０，９６，１０４」となっている。
【００５０】
変換係数補正部２４の補正値テーブル２４３は、ビットプレーン切り捨て位置毎に最適な補正値を示すものである。この最適な補正値は、複数の学習用画像データを符号化したときにビットプレーン切り捨て位置毎に切り捨てられた値を統計的に処理して設定した値である。図９は、補正値テーブル２４３を例示したものである。補正値テーブル２４３は、例えばビットプレーン切り捨て位置が「１０」，「９」，「８」，・・・，「１」であるとき補正値「１４８」，「９１」，「５２」，・・・，「０」を出力する。
【００５１】
図１０は、変換係数補正部２４の動作を示すフローチャートである。ステップＳＴ１で変換係数補正部２４は、変換係数とビットプレーン切り捨て位置の入力を行う。変換係数補正部２４は、ヘッダ解析部２１から供給されたビットプレーン切り捨て位置情報に基づき、ビットモデリング復号部２３から供給された変換係数におけるビットプレーン切り捨て位置を判別して、変換係数とビットプレーン切り捨て位置を係数毎に用いるものしてステップＳＴ２に進む。
【００５２】
ステップＳＴ２で変換係数補正部２４は、変換係数が「０」より大きいか否かを判別する。変換係数補正部２４は、変換係数が「０」より大きい場合はステップＳＴ３に進み、変換係数が「０」の場合はステップＳＴ４に進む。
【００５３】
ステップＳＴ３で変換係数補正部２４は、補正値テーブルから補正値を取得する。変換係数補正部２４は、補正値テーブル２４３からビットプレーン切り捨て位置情報に対応した補正値を取得してステップＳＴ５に進む。
【００５４】
ステップＳＴ４で変換係数補正部２４は、補正値を「０」としてステップＳＴ５に進む。
【００５５】
ステップＳＴ５で変換係数補正部２４は、補正値を用いて変換係数の補正を行う。変換係数補正部２４は、変換係数にステップＳＴ３またはステップＳＴ４で取得された補正値を加算して、変換係数の補正を行いステップＳＴ６に進む。
【００５６】
ステップＳＴ６で変換係数補正部２４は、全ての変換係数の補正が終了したか否か判別する。変換係数補正部２４は、全ての変換係数の補正が終了していないときステップＳＴ１に戻り、新たな変換係数の補正を行う。また、変換係数補正部２４は、全ての変換係数の補正が終了したとき、変換係数の補正動作を終了する。
【００５７】
したがって、図１１の（Ａ）に示すように、変換係数が「４８，２４０，１２，０，９６，１０４」で、ビットプレーン切り捨て位置が「５，５，３，３，３，４」の場合、補正値テーブルから出力される補正値はそれぞれ「７，７，２，２，２，３」となる。また、変換係数が「０」のときは補正値が「０」とされる。したがって、変換係数「４８，２４０，１２，０，９６，１０４」に加算される補正値は「７，７，２，０，２，３」となり、補正後の変換係数は、図１１の（Ｂ）に示すように、変換係数「５５，２４７，１４，０，９８，１０７」となる。
【００５８】
なお、図１１の（Ｃ）は、切り捨てられたビット数で表現できる数字のほぼ中央の値を、切り捨てられたビットが示していた値とする従来の手法で変換係数の補正を行った場合を例示している。例えば、切り捨てられたビット範囲の最上位ビットのみを「１」とすると、切り捨てられたビット数で表現できる数字のほぼ中央の値を示すものとなる。この場合、補正後の変換係数は「５６，２４８，１４，０，９８，１０８」となる。
【００５９】
このように、補正値テーブルには、ビットプレーン切り捨てによって切り捨てられる係数値を統計的に処理して予め作成した補正値を格納しておき、補正値は、ビットプレーン切り捨て位置に対応した補正値を補正値テーブルから読み出すものとする。このようにして得た補正値を用いて変換係数の補正を行うことで、従来よりも変換係数を最適な値に補正することができるようになる。例えば、図１１の（Ｂ）に示す補正後の変換係数は、図１１の（Ｃ）に示す補正後の変換係数よりも、図８の（Ａ）に示すビットプレーン切り捨て前の変換係数に近い値であり、従来よりも変換係数を最適な値に補正できる。したがって、ビットプレーン切り捨てに起因して画像に生じる違和感や不明瞭感を安定的に抑制することが可能となる。
【００６０】
＜３．画像復号化装置の第２の実施の形態＞
ところで、上述の変換係数補正部２４は、ビットプレーン切り捨て位置に応じて切り捨てられた値を統計的に処理して最適な補正値を決定するものとしたが、切り捨てられた値の分布は、入力された変換係数の特徴、例えばシグニフィカントビット(Significant Bit)位置、色成分情報、周波数情報などによって異なる。ここで、シグニフィカントビット位置とは、対象とする変換係数のＭＳＢ（最上位ビット）からＬＳＢ（最下位ビット）に向かって走査し初めて有意なビット「１」が立ったビットの位置のことである。
【００６１】
ここで、自然画の画像データを画像符号化装置１０で符号化したとき、ポスト量子化部１６で切り捨てられた値では、シグニフィカントビット位置がＭＳＢ側からＬＳＢ側に向かうにつれて、切り捨てられたビットは「０」が立ちやすく、「０」と「１」の発生頻度の差は広がり偏りが大きくなる。
【００６２】
そこで、第２の実施の形態では、変換係数の特徴であるコンテキストによって切り捨てられた値の分布が異なることに着目し、ビットプレーン切り捨て位置に加えてコンテキスト（例えばシグニフィカントビット位置、色成分、周波数情報などのいずれか、またはその組み合わせ）を用いるものとする。以下、シグニフィカントビット位置を用いた場合について説明する。
【００６３】
図１２は、変換係数補正部の他の構成として、ビットプレーン切り捨て位置に加えてコンテキストを用いて変換係数の補正を行う変換係数補正部２４ａの構成を示している。
【００６４】
変換係数補正部２４ａの有意係数検出部２４１は、ビットモデリング復号部２３から供給された変換係数が有意であるか否か、つまり「０」でないか否か検出して、検出結果を補正値取得部２４２に出力する。
【００６５】
シグニフィカントビット検出部２４５は、ビットモデリング復号部２３から供給された変換係数のシグニフィカントビット位置を検出して検出結果を出力する。
【００６６】
補正値取得部２４６は、ヘッダ解析部２１から供給されたビットプレーン切り捨て位置情報と、有意係数検出部２４１から出力された検出結果と、シグニフィカントビット検出部２４５から出力された検出結果に基づき補正値を取得する。補正値取得部２４６は、ビットプレーン切り捨て位置とシグニフィカントビット位置に対応した補正値を補正値テーブル２４７から取得して、この補正値を有意係数検出部２４１で有意と判断された係数に対する補正値とする。また、補正値取得部２４６は、有意係数検出部２４１で有意でないと判断された係数の補正値を「０」とする。
【００６７】
補正値テーブル２４７は、補正値取得部２４２からビットプレーン切り捨て位置とシグニフィカントビット位置が示されたとき、ビットプレーン切り捨て位置とシグニフィカントビット位置に対応した補正値を一意に出力する。
【００６８】
係数補正処理部２４８は、ビットモデリング復号部２３から供給された変換係数に補正値取得部２４６で取得した補正値を加算して変換係数の補正を行い、補正後の変換係数を逆直交変換部２６に出力する。
【００６９】
次に、変換係数補正部２４ａの動作について説明する。以下の説明では、図８の（Ａ）に示す変換係数に対して切り捨てが行われた図８の（Ｂ）に変換係数の補正を行うものとする。例えば、切り捨て前の変換係数が「５２，２４２，１２，３，９８，１０５」であり、ビットプレーン切り捨て位置が「５，５，３，３，３，４」とされた場合、切り捨て後であって補正前の変換係数は「４８，２４０，１２，０，９６，１０４」となっている。
【００７０】
変換係数補正部２４の補正値テーブル２４７では、複数の学習用画像データを符号化したときにビットプレーン切り捨て位置毎に切り捨てられた値を統計的に処理して、この統計的な処理によって設定された最適な補正値をビットプレーン切り捨て位置毎に示すものとする。図１３は、補正値テーブル２４７の他の例を示したものである。補正値テーブル２４７は、ビットプレーン切り捨て位置とシグニフィカントビット位置から補正値を特定できるようになされている。例えばビットプレーン切り捨て位置が「１０」であって、シグニフィカントビット位置が「９，８，７，６，５，４，３，２，１」であるとき、補正値は「１４８，０，０，０，０，０，０，０，０」となっている。また、ビットプレーン切り捨て位置が「９」であって、シグニフィカントビット位置が「９，８，７，６，５，４，３，２，１」であるとき、補正値は「９５，９０，−，−，−，−，−，−，−」となっている。同様に、ビットプレーン切り捨て位置とシグニフィカントビット位置に応じて補正値が設定されており、ビットプレーン切り捨て位置が「１」であって、シグニフィカントビット位置が「９，８，７，６，５，４，３，２，１」であるとき、補正値は「０，０，０，０，０，０，０，０，０」となっている。なお、図１３において「−」は、該当する条件が存在しないことを示している。
【００７１】
図１４は、変換係数補正部２４ａの動作を示すフローチャートである。ステップＳＴ１１で変換係数補正部２４ａは、変換係数とビットプレーン切り捨て位置の入力を行う。変換係数補正部２４ａは、ヘッダ解析部２１から供給されたビットプレーン切り捨て位置情報に基づき、ビットモデリング復号部２３から供給された変換係数におけるビットプレーン切り捨て位置を判別して、変換係数とビットプレーン切り捨て位置を係数毎に用いるものしてステップＳＴ１２に進む。
【００７２】
ステップＳＴ１２で変換係数補正部２４ａは、変換係数が「０」より大きいか否かを判別する。変換係数補正部２４ａは、変換係数が「０」より大きい場合はステップＳＴ１３に進み、変換係数が「０」の場合はステップＳＴ１５に進む。
【００７３】
ステップＳＴ１３で変換係数補正部２４ａは、シグニフィカントビット位置の検出を行う。変換係数補正部２４ａは、変換係数をＭＳＢ側から走査して、初めて「１」が立ったビットの位置を検出してステップＳＴ１４に進む。
【００７４】
ステップＳＴ１４で変換係数補正部２４ａは、補正値テーブルから補正値を取得する。変換係数補正部２４ａは、補正値テーブル２４７からビットプレーン切り捨て位置とシグニフィカントビット位置に対応した補正値を取得してステップＳＴ１６に進む。
【００７５】
ステップＳＴ１５で変換係数補正部２４ａは、補正値を「０」としてステップＳＴ１６に進む。
【００７６】
ステップＳＴ１６で変換係数補正部２４ａは、補正値を用いて変換係数の補正を行う。変換係数補正部２４ａは、変換係数にステップＳＴ１４またはステップＳＴ１５で取得した補正値を加算して、変換係数の補正を行いステップＳＴ１７に進む。
【００７７】
ステップＳＴ１７で変換係数補正部２４ａは、全ての変換係数の補正が終了したか否か判別する。変換係数補正部２４ａは、全ての変換係数の補正が終了していないときステップＳＴ１１に戻り、新たな変換係数の補正を行う。また、変換係数補正部２４ａは、全ての変換係数の補正が終了したとき、変換係数の補正動作を終了する。
【００７８】
したがって、図１５の（Ａ）に示すように、変換係数が「４８，２４０，１２，０，９６，１０４」で、ビットプレーン切り捨て位置が「５，５，３，３，３，４」、シグニフィカントビット位置が「６，８，４，シグニフィカントビット位置なし，７，７」の場合、補正値テーブルから出力される補正値はそれぞれ「６，７，１，補正値なし，２，３」となる。また、変換係数が「０」のときは補正値が「０」とされる。したがって、変換係数「４８，２４０，１２，０，９６，１０４」に加算される補正値は「６，７，１，０，２，３」となり、補正後の変換係数は、図１５の（Ｂ）に示すように、変換係数「５４、２４７、１３，０，９８，１０７」となる。
【００７９】
このように、ビットプレーン切り捨て位置だけでなくシグニフィカントビット位置に応じて補正値を取得することで、ビットプレーン切り捨て位置に基づいて補正値を取得する場合よりも変換係数を最適な値に補正することができるようになり、ビットプレーン切り捨てによって再生画像に生じる違和感や不明瞭感をさらに安定的に抑制することが可能となる。
【００８０】
また、ビットプレーン切り捨て位置とシグニフィカントビット位置だけでなく他のコンテキストを用いる場合、ビットプレーン切り捨て位置とシグニフィカントビット位置および他のコンテキストから補正値を特定できる補正値テーブルを用いて、図１６に示す処理を行うものとすればよい。
【００８１】
ステップＳＴ２１で変換係数補正部２４ａは、変換係数とビットプレーン切り捨て位置の入力を行う。変換係数補正部２４ａは、ヘッダ解析部２１から供給されたビットプレーン切り捨て位置情報に基づき、ビットモデリング復号部２３から供給された変換係数におけるビットプレーン切り捨て位置を判別する。また、変換係数補正部２４ａは、変換係数とビットプレーン切り捨て位置を係数毎に用いるものとしてステップＳＴ２２に進む。
【００８２】
ステップＳＴ２２で変換係数補正部２４ａは、変換係数が「０」より大きいか否かを判別する。変換係数補正部２４ａは、変換係数が「０」より大きい場合はステップＳＴ２３に進み、変換係数が「０」の場合はステップＳＴ２６に進む。
【００８３】
ステップＳＴ２３で変換係数補正部２４ａは、シグニフィカントビット位置の検出を行う。変換係数補正部２４ａは、変換係数をＭＳＢ側から走査して、初めて「１」が立ったビットの位置を検出してステップＳＴ２４に進む。
【００８４】
ステップＳＴ２４で変換係数補正部２４ａは、コンテキスト選択を行う。変換係数補正部２４ａは、ビットプレーン切り捨て位置のほかに用いるコンテキストとして、変換係数が何れの色成分の係数であるかを示す色成分情報や、変換係数が何れの周波数成分の係数であるかを示す周波数情報を選択してステップＳＴ２５に進む。何れのコンテキストを用いるかは、予め設定されていてもよく、ユーザによって選択可能としてもよい。
【００８５】
ステップＳＴ２５で変換係数補正部２４ａは、補正値テーブルから補正値を取得する。変換係数補正部２４ａは、補正値テーブル２４７からビットプレーン切り捨て位置とシグニフィカントビット位置、およびステップＳＴ２４で選択されたコンテキストに対応した補正値を取得してステップＳＴ２７に進む。
【００８６】
ステップＳＴ２６で変換係数補正部２４ａは、補正値を「０」としてステップＳＴ２７に進む。
【００８７】
ステップＳＴ２７で変換係数補正部２４ａは、補正値を用いて変換係数の補正を行う。変換係数補正部２４ａは、変換係数にステップＳＴ２５またはステップＳＴ２６で取得された補正値を加算して、変換係数の補正を行いステップＳＴ２８に進む。
【００８８】
ステップＳＴ２８で変換係数補正部２４ａは、全ての変換係数の補正が終了したか否か判別する。変換係数補正部２４ａは、全ての変換係数の補正が終了していないときステップＳＴ２１に戻り、新たな変換係数の補正を行う。また、変換係数補正部２４ａは、全ての変換係数の補正が終了したとき、変換係数の補正動作を終了する。
【００８９】
このような処理を行うものとすれば、色成分毎や周波数成分毎に変換係数の補正をさらに良好に行うことができるようになる。
【００９０】
また、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。
【００９１】
＜４．コンピュータで画像復号化を行う場合の構成と動作＞
図１７は、上述した一連の処理をプログラムにより実行するコンピュータの構成を例示したブロック図である。
【００９２】
コンピュータ５０は、情報処理装置５１、情報処理装置５１とバス５２によって接続された記憶装置５３、１あるいは複数の記録再生装置５４、ユーザがこれらに対する操作入力を行うためにマウスやキーボード等を用いて構成されたユーザインタフェース部５５により構成されるシステムであり、インストールされたプログラムによって、上述したような画像復号処理を行うシステムである。
【００９３】
情報処理装置５１は、ＨＤＤ等を用いて構成した記憶装置５３に記憶されている動画コンテンツを符号化して得られた符号化データを記憶装置５３に記憶させたり、記憶装置５３に記憶されている符号化データを復号して得られた復号画像データ(動画コンテンツ)を記憶装置５３に記憶させたり、符号化データや復号画像データを記録再生装置５４で記録媒体に記録したりすることができる。また、情報処理装置５１は、記録媒体に記録された動画コンテンツを記憶装置５３に取り込み得るようにもなされている。その際、情報処理装置５１が、動画コンテンツを符号化するようにしてもよい。
【００９４】
情報処理装置５１は、マイクロプロセッサ５１１、ＧＰＵ(Graphics Processing Unit)５１２、ＸＤＲ(Extreme Data Rate)-ＲＡＭ５１３、ブリッジ５１４、ＨＤＤ５１５、通信インタフェース(I/F)５１６、およびサウンド入出力コーデック５１７を有している。
【００９５】
ＧＰＵ５１２は、バス５２１を介してマイクロプロセッサ５１１に接続される。ＸＤＲーＲＡＭ５１３はバス５２２を介してマイクロプロセッサ５１１に接続される。ブリッジ５１４は、専用のバスを介してマイクロプロセッサ５１１のＩ／Ｏコントローラ５１１４に接続される。
【００９６】
ブリッジ５１４には、ＨＤＤ５１５、ＵＳＢインタフェース５１６、および、サウンド入出力コーデック５１７も接続されている。このサウンド入出力コーデック５１７にはスピーカ６１が接続されている。また、ＧＰＵ５１２にはディスプレイ６２が接続されている。
【００９７】
ブリッジ５１４には、さらに、ＰＣＩバス５２を介して、ユーザインタフェース部５５、記録再生装置５４、並びに、操作コントローラ５７が接続されている。
【００９８】
ユーザインタフェース部５５は、ユーザの操作入力を受け、ＰＣＩバス５２およびブリッジ５１４を介して、ユーザの操作入力の内容を示す信号を、マイクロプロセッサ５１１に供給する。記憶装置５３および記録再生装置５４は、所定のデータを記録または再生できるようになされている。
【００９９】
ＰＣＩバス５２にはさらに、必要に応じてドライブ５８が接続され、磁気ディスク、光ディスク、光磁気ディスク、あるいは半導体メモリなどのリムーバブルメディア５９が適宜装着され、それらから読み出されたコンピュータ・プログラムが、必要に応じてＨＤＤ５１５にインストールされる。
【０１００】
マイクロプロセッサ５１１は、メインＣＰＵコア５１１１と、メインＣＰＵコア５１１１に内部バス５１１５を介して接続された複数のサブＣＰＵコア５１１２-1乃至サブＣＰＵコア５１１２-8、メモリコントローラ５１１３、Ｉ／Ｏコントローラ５１１４が１チップに集積されたマルチコア構成とされている。メインＣＰＵコア５１１１は、ＯＳ(Operating System)等の基本プログラムを実行するものである。サブＣＰＵコア５１１２-1乃至サブＣＰＵコア５１１２-8は、例えばＲＩＳＣ(Reduced Instruction Set Computer)タイプの信号処理プロセッサである。メモリコントローラ５１１３は、例えばＸＤＲ−ＲＡＭ５１３に対するメモリコントロールを行うためのものである。Ｉ／Ｏコントローラ５１１４は、ブリッジ５１４との間でデータの入出力を管理するためのものである。
【０１０１】
マイクロプロセッサ５１１は、起動時、ＨＤＤ５１５に格納された制御プログラムに基づき、ＨＤＤ５１５に格納されている必要なアプリケーションプログラムを読み出してＸＤＲ−ＲＡＭ５１３に展開し、この後このアプリケーションプログラムおよびオペレータ操作に基づいて必要な制御処理を実行する。
【０１０２】
また、マイクロプロセッサ５１１は、ソフトウェアを実行することにより、例えば、上述した画像符号化処理や画像復号処理を実現し、エンコードの結果得られた符号化ストリームを、ブリッジ５１４を介して、ＨＤＤ５１５に供給して記憶させたり、デコードした結果得られる動画像コンテンツの再生映像を、ＧＰＵ５１２にデータ転送して、ディスプレイ６２に表示させたりすることができる。
【０１０３】
マイクロプロセッサ５１１内の各ＣＰＵコアの使用方法は任意であるが、例えば、メインＣＰＵコア５１１１が、画像符号化処理や画像復号処理の制御に関する処理を行い、８個のサブＣＰＵコア５１１２-1乃至サブＣＰＵコア５１１２-8に、ウェーブレット変換、係数並び替え、エントロピー符号化、エントロピー復号、ウェーブレット逆変換、量子化、および逆量子化等の各処理を同時並列的に実行させるようにしてもよい。その際、メインＣＰＵコア５１１１が、８個のサブＣＰＵコア５１１２-1乃至サブＣＰＵコア５１１２-8のそれぞれに対してラインブロック(プレシンクト)単位で処理を割り振るようにすれば、画像符号化処理や画像復号処理がラインブロック単位で同時並列的に実行される。つまり、画像符号化処理や画像復号処理の効率を向上させ、処理全体の遅延時間を短縮させ、さらに、負荷、処理時間、および、処理に必要なメモリ容量を低減させることができる。もちろん、これ以外の方法で各処理を行うようにしてもよい。例えば、マイクロプロセッサ５１１の８個のサブＣＰＵコア５１１２-1乃至サブＣＰＵコア５１１２-8のうちの一部がエンコード処理を、他の部分がデコード処理を、同時並列的に実行するようにすることも可能である。
【０１０４】
さらに、メインＣＰＵコア５１１１は、これらのサブＣＰＵコアが行う以外の処理も行う。例えば、メインＣＰＵコア５１１１は、ブリッジ５１４を介してユーザインタフェース部５５、または、操作コントローラ５７から供給された命令を受け付け、命令に応じた種々の処理を実行する。
【０１０５】
ＧＰＵ５１２は、ディスプレイ６２に表示する動画コンテンツの再生映像を動かすときのテクスチャの張り込みなどに関する最終的なレンダリング処理を行う。またＧＰＵ５１２は、動画コンテンツの再生映像および静止画コンテンツの静止画像をディスプレイ６２に一度に複数表示するときの座標変換計算処理や、動画コンテンツの再生映像および静止画コンテンツの静止画像に対する拡大・縮小処理等を行い、マイクロプロセッサ５１１の処理負担を軽減させるようになされている。
【０１０６】
このＧＰＵ５１２は、マイクロプロセッサ５１１の制御のもとに、供給された動画コンテンツの映像データや静止画コンテンツの画像データに対して所定の信号処理を施し、その結果得られた映像データや画像データをディスプレイ６２に送出して、画像をディスプレイ６２で表示させる。
【０１０７】
上述した一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、ネットワークや記録媒体からインストールされる。このプログラムは、例えば記録媒体としてのハードディスクやＲＯＭ（Read Only Memory)に予め記録しておくことができる。あるいは、プログラムはフレキシブルディスク、ＣＤ−ＲＯＭ(Compact Disc Read Only Memory)，ＭＯ(Magneto optical)ディスク，ＤＶＤ(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体に、一時的あるいは永続的に格納（記録）しておくことができる。このようなリムーバブル記録媒体は、いわゆるパッケージソフトウェアとして提供することができる。
【０１０８】
なお、プログラムは、上述したようなリムーバブル記録媒体からコンピュータにインストールする他、ダウンロードサイトから、コンピュータに無線転送したり、ＬＡＮ(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送し、コンピュータでは、そのようにして転送されてくるプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
【０１０９】
また、以上においては、マイクロプロセッサ５１１内に８個のサブＣＰＵコアが構成されるように説明したが、これに限らず、サブＣＰＵコアの数は任意である。また、マイクロプロセッサ５１１が、シングルコア(1つのコア)により構成されているものであってもよい。また、マイクロプロセッサ５１１の代わりに複数のＣＰＵを用いるようにしてもよいし、複数の情報処理装置を用いるようにしてもよい。
【０１１０】
さらに、コンピュータ・プログラムは、上述したようなリムーバブル記録媒体からコンピュータにインストールする他、ダウンロードサイトから、コンピュータに無線転送したり、ＬＡＮ(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送してもよい。この場合、コンピュータは、そのようにして転送されてくるプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
【０１１１】
なお、本発明は、上述した発明の実施の形態に限定して解釈されるべきではない。この発明の実施の形態は、例示という形態で本発明を開示したものであり、本発明の要旨を逸脱しない範囲で当業者が実施の形態の修正や代用をなし得ることは自明である。すなわち、本発明の要旨を判断するためには、特許請求の範囲を参酌すべきである。
【産業上の利用可能性】
【０１１２】
この発明の画像復号化装置と画像復号化方法およびコンピュータ・プログラムでは、ビットプレーン切り捨てによって切り捨てられる係数値を統計的に処理して予め作成された補正値を、ビットプレーン切り捨て位置毎に格納した補正値テーブルを用いる。また、符号化ストリームを復号化処理して得られた変換係数の補正を、ビットプレーン切り捨て位置に対応して補正テーブルから読み出した補正値を用いて行うことで、ビットプレーン切り捨てによって再生画像に生じる違和感や不明瞭感が安定的に抑制される。このため、ＪＰＥＧ−２０００方式等のようにビットプレーン符号化処理によって生成された符号化ストリームの復号化に好適できある。
【図面の簡単な説明】
【０１１３】
【図１】画像符号化装置の構成を示すブロック図である。
【図２】サブバンドを示す図である。
【図３】ビットプレーンを説明するための図である。
【図４】画像復号化装置の構成を示すブロック図である。
【図５】自然画における変換係数の分布を例示した図である。
【図６】切り捨てられた係数値の発生頻度分布を示す図である。
【図７】変換係数補正部の構成を示す図である。
【図８】変換係数補正部の動作を説明するための図である。
【図９】補正値テーブルの例を示す図である。
【図１０】変換係数補正部の動作を示すフローチャートである。
【図１１】変換係数の補正例を示す図である。
【図１２】変換係数補正部の他の構成を示す図である。
【図１３】補正値テーブルの他の例を示す図である。
【図１４】変換係数補正部の他の動作を示すフローチャートである。
【図１５】変換係数の他の補正例を示す図である。
【図１６】変換係数補正部の他の動作を示すフローチャートである。
【図１７】コンピュータの構成を示す図である。
【符号の説明】
【０１１４】
１０・・・画像符号化装置、１１・・・色変換部、１２・・・直交変換部、１３・・・量子化部、１４・・・係数ビットモデリング部、１５・・・エントロピー符号化部、１６・・・ポスト量子化部、１７・・・ヘッダ生成部、２０・・・画像復号化装置、２１・・・ヘッダ解析部、２２・・・エントロピー復号化部、２３・・・ビットモデリング復号部、２４，２４ａ・・・変換係数補正部、２５・・・逆量子化部、２６・・・逆直交変換部、２７・・・逆色変換部、５０・・・コンピュータ、５１・・・情報処理装置、５２・・・ＰＣＩバス、５３・・・記憶装置、５４・・・記録再生装置、５５・・・ユーザインタフェース部、５７・・・操作コントローラ、５８・・・ドライブ、５９・・・リムーバブルメディア、６１・・・スピーカ、６２・・・ディスプレイ、２４１・・・有意係数検出部、２４２，２４６・・・補正値取得部、２４３，２４７・・・補正値テーブル、２４４，２４８・・・係数補正処理部、２４５・・・シグニフィカントビット検出部、５１１・・・マイクロプロセッサ、５１２・・・ＧＰＵ、５１３・・・ＲＡＭ、５１４・・・ブリッジ、５１５・・・ＨＤＤ、５１６・・・ＵＳＢインタフェース、５１７・・・サウンド入出力コーデック、５２１，５２２・・・バス、５１１１・・・メインＣＰＵコア、５１１２-1〜５１１２-8・・・サブＣＰＵコア、５１１３・・・メモリコントローラ、５１１４・・・Ｉ／Ｏコントローラ、５１１５・・・内部バス
【図１】
2010118729.tif 000003
【図２】
2010118729.tif 000004
【図３】
2010118729.tif 000005
【図４】
2010118729.tif 000006
【図５】
2010118729.tif 000007
【図６】
2010118729.tif 000008
【図７】
2010118729.tif 000009
【図８】
2010118729.tif 000010
【図９】
2010118729.tif 000011
【図１０】
2010118729.tif 000012
【図１１】
2010118729.tif 000013
【図１２】
2010118729.tif 000014
【図１３】
2010118729.tif 000015
【図１４】
2010118729.tif 000016
【図１５】
2010118729.tif 000017
【図１６】
2010118729.tif 000018
【図１７】
2010118729.tif 000019