JP2004350034A - 画像符号化装置及び方法、並びに画像復号装置及び方法 - Google Patents
画像符号化装置及び方法、並びに画像復号装置及び方法 Download PDFInfo
- Publication number
- JP2004350034A JP2004350034A JP2003144873A JP2003144873A JP2004350034A JP 2004350034 A JP2004350034 A JP 2004350034A JP 2003144873 A JP2003144873 A JP 2003144873A JP 2003144873 A JP2003144873 A JP 2003144873A JP 2004350034 A JP2004350034 A JP 2004350034A
- Authority
- JP
- Japan
- Prior art keywords
- quantization
- image
- code
- encoding
- decoding
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Image Processing (AREA)
Abstract
【解決手段】画像符号化装置のサブバンド量子化部では、静止画像又はプログレッシブ画像については最高域のサブバンド内の、インタレース画像については最高域のサブバンドで、且つ水平方向が低域で垂直方向が高域のサブバンド内のウェーブレット変換係数のうち、デッドゾーン内の係数の一部を隣接量子化区間の値に置き換える。具体的には、パラメータD(0<D≦1)、定数R(1≦R<2)及び量子化ステップサイズΔを用いて、D・Δ以上であり且つΔよりも小さいウェーブレット変換係数の値をR・Δに、−D・Δ以下であり且つ−Δよりも大きいウェーブレット変換係数の値を−R・Δにそれぞれ置き換えて量子化を行う。
【選択図】 図11
Description
【発明の属する技術分野】
本発明は、例えばJPEG2000方式に従って入力画像を圧縮する画像符号化装置及びその方法、並びにそのような画像符号化装置において生成された符号化コードストリームを復号する画像復号装置及びその方法に関する。
【0002】
【従来の技術】
従来の代表的な画像圧縮方式として、ISO(International Standards Organization)によって標準化されたJPEG(Joint Photographic Experts Group)方式がある。これは、離散コサイン変換(Descrete Cosine Transform;DCT)を用い、比較的高いビットが割り当てられる場合には、良好な符号化画像及び復号画像を供することが知られている。しかし、ある程度以上に符号化ビット数を少なくすると、DCT特有のブロック歪みが顕著になり、主観的に劣化が目立つようになる。
【0003】
一方、近年では画像をフィルタバンクと呼ばれるハイパス・フィルタとローパス・フィルタとを組み合わせたフィルタによって複数の帯域に分割し、各帯域毎に符号化を行う方式の研究が盛んになっている。その中でも、ウェーブレット変換符号化は、DCTのように高圧縮でブロック歪みが顕著になるという欠点がないことから、DCTに代わる新たな技術として有力視されている。
【0004】
例えば2001年1月に国際標準化が完了したJPEG2000は、このウェーブレット変換に高能率なエントロピー符号化(ビットプレーン単位のビットモデリングと算術符号化)を組み合わせた方式を採用しており、JPEGに比べて符号化効率の大きな改善を実現している(例えば下記特許文献1参照)。
【0005】
これらの国際規格では復号器側の規格のみが定められており、符号化器側は自由に設計することができる。その反面、目標の圧縮率を実現するためのレート制御の効果的な手段等についての規格が存在しないため、ノウハウの確立が何よりも重要になる。特にJPEG方式では、このレート制御が困難であり、目標値を得るまでに複数回の符号化を施す必要も多々あった。しかしながら、これは処理時間の増大に繋がるため、JPEG2000方式では、1度の符号化で目標の符号量を得ることが望まれている。
【0006】
【特許文献1】
特開2002−165098号公報
【0007】
【発明が解決しようとする課題】
ところで、JPEG2000符号化器における符号化手法は、JPEG2000の規格外の技術であるが、一般的に低域重視の符号ビット割り当てを行う符号化手法が用いられる。これは、人間の空間周波数に対する視覚感度が低域成分ほど高くなるという性質を利用したものである。この手法では、低域重視で符号ビットが割り当てられているため、結果的に高域成分の量子化ステップサイズが大きくなり、高域成分の多くが0値として符号化されてしまう。このため、復号画像の鮮鋭度が低下して全体的にぼけた画像となり、特に細い斜め線がギザギザとした線で再現され、主観画質を大きく低下させる要因となっていた。
【0008】
また、JPEG2000の動画像規格であるMotion−JPEG2000は、JPEG2000の静止画像の連続であるが、低域重視のビット割り当てを行う符号化手法をインタレース画像にそのまま適用すると、一般的に動きの再現性が低下するという問題がある。この問題は、動きの再現性に最も影響を及ぼすサブバンドに対してビット割り当てを多くすることで改善されるものの、一般的には画像平坦部の画質とのトレードオフの関係があり、その調整が困難であるという問題があった。
【0009】
さらに、JPEG2000規格では復号器の動作を規定しているが、一部にパラメータに自由度を持つ部分がある。例えば、逆量子化処理における量子化復号値は、量子化区間内に存在すればよく、一般的には、量子化区間の中央値が使用される。一方で、ウェーブレット変換係数の生起確率分布は、ラプラス分布に近似されることが多く、量子化復号値として量子化区間の中央値を用いた場合には、量子化ステップサイズが大きくなるほど量子化誤差が大きくなるという問題があった。
【0010】
本発明は、このような従来の実情に鑑みて提案されたものであり、例えばJPEG2000規格に従って入力画像を符号化し、生成された符号化コードストリームを復号する際に、復号画像中に存在する斜め線の再現性やテクスチャの鮮鋭度を向上させることで復号画像の主観画質を改善し、また入力画像がインタレース画像の場合には動きの再現性を向上させ、さらに量子化誤差を低減させることで画質を改善することを可能とする画像符号化装置及びその方法、並びに画像復号装置及びその方法を提供することを目的とする。
【0011】
【課題を解決するための手段】
上述した目的を達成するために、本発明に係る画像符号化装置及びその方法は、入力画像に対して階層的にフィルタリング処理を施して複数のサブバンドを生成し、フィルタリング処理後の上記入力画像の各係数を量子化ステップサイズで除算して量子化し、上記サブバンドを分割して所定の大きさの符号ブロックを生成し、この符号ブロック毎に最上位ビットから最下位ビットに至るビットプレーンを生成し、このビットプレーン毎に生成された符号化パスを算術符号化し、生成された算術符号にパケットヘッダを付加してパケットを構成することにより符号化コードストリームを生成するものであり、上記量子化の際には、0値に量子化する量子化区間であるデッドゾーンの幅と該デッドゾーンに隣接する隣接量子化区間の幅との比を可変に設定する。
【0012】
このような画像符号化装置及びその方法では、例えば最高域のサブバンドにおけるデッドゾーンの幅を狭めるように、或いは入力画像がインタレース画像の場合に、最高域のサブバンドで、且つ水平方向が低域で垂直方向が高域のサブバンドにおけるデッドゾーンの幅を狭めるように、デッドゾーンの幅と隣接量子化区間の幅との比を設定する。
【0013】
また、上述した目的を達成するために、本発明に係る画像復号装置及びその方法は、上記のようにして生成された符号化コードストリームを入力し、該入力符号化コードストリームを復号して上記入力画像を復元するものであり、上記入力符号化コードストリームを上記パケットヘッダと上記算術符号とに分解し、上記算術符号を復号し、上記ビットプレーン毎に符号化パスを復号して上記最上位ビットから最下位ビットに至るビットプレーンを復元し、上記最上位ビットから最下位ビットに至るビットプレーンに基づいて上記符号ブロックを復元し、この符号ブロックを集めて上記サブバンドを生成し、このサブバンド毎の量子化係数を逆量子化し、上記サブバンドに対して階層的にフィルタリング処理を施して上記入力画像を復元する。ここで、符号化側における量子化の際には、0値に量子化する量子化区間であるデッドゾーンの幅と該デッドゾーンに隣接する隣接量子化区間の幅との比が可変に設定されており、上記逆量子化の際には、値が1である量子化係数の量子化復号値を可変に設定する。
【0014】
このような画像復号装置及びその方法では、例えば符号化側において最高域のサブバンドにおけるデッドゾーンの幅を狭めるようにデッドゾーンの幅と該デッドゾーンに隣接する隣接量子化区間の幅との比が設定されている場合に、値が1である量子化係数の量子化復号値を隣接量子化区間の中央値よりも小さな値に設定する。
【0015】
また、上述した目的を達成するために、本発明に係る画像符号化装置及びその方法は、入力画像に対して階層的にフィルタリング処理を施して複数のサブバンドを生成し、フィルタリング処理後の上記入力画像の各係数を量子化ステップサイズで除算して量子化し、上記サブバンドを分割して所定の大きさの符号ブロックを生成し、この符号ブロック毎に最上位ビットから最下位ビットに至るビットプレーンを生成し、このビットプレーン毎に生成された符号化パスを算術符号化し、上記量子化によって生成された各量子化係数に対して、量子化誤差が最小となる量子化復号値を探索し、該量子化誤差が最小となる量子化復号値を与えるパラメータ情報を決定して符号化し、算術符号化によって生成された算術符号にパケットヘッダを付加してパケットを構成し、さらに符号化された上記パラメータ情報を付加することにより符号化コードストリームを生成するものである。
【0016】
また、上述した目的を達成するために、本発明に係る画像復号装置及びその方法は、上記のようにして生成された符号化コードストリームを入力し、該入力符号化コードストリームを復号して上記入力画像を復元するものであり、上記入力符号化コードストリームに含まれる上記パラメータ情報を復号し、上記入力符号化コードストリームを上記パケットヘッダと上記算術符号とに分解し、上記算術符号を復号し、上記ビットプレーン毎に符号化パスを復号して上記最上位ビットから最下位ビットに至るビットプレーンに復元し、この最上位ビットから最下位ビットに至るビットプレーンに基づいて上記符号ブロックを復元し、上記符号ブロックを集めて上記サブバンドを生成し、上記パラメータ情報に基づいて上記サブバンド毎の量子化係数を逆量子化し、上記サブバンドに対して階層的にフィルタリング処理を施して上記入力画像を復元するものである。
【0017】
このような画像符号化装置及びその方法、並びに画像復号装置及びその方法では、量子化誤差が最小となるように符号化側で量子化復号値を適応的に選択し、この量子化復号値を与える量子化復号パラメータを符号化して符号化コードストリームに含め、復号側においてこの量子化復号パラメータを逆量子化に用いる。
【0018】
【発明の実施の形態】
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。
【0019】
(1)第1の実施の形態
(1−1)画像符号化装置の構成及び動作
先ず本実施の形態における画像符号化装置の概略構成を図1に示す。図1に示すように、画像符号化装置10は、DCレベルシフト部11と、ウェーブレット変換部12と、サブバンド量子化部13と、符号ブロック化部14と、ビットプレーン符号化パス生成部15と、算術符号化部16と、符号化パス切り捨て部18と、パケットヘッダ生成部19と、パケット生成部20と、ヘッダ生成部21と、符号化コードストリーム生成部22とから構成されている。ここで、ビットプレーン符号化パス生成15と算術符号化部16とにより、EBCOT(Embedded Coding with Optimized Truncation)部17が構成される。
【0020】
DCレベルシフト部11は、後段のウェーブレット変換部11におけるウェーブレット変換を効率的に行い圧縮率を向上させるために、原画像信号D10のレベルシフトを行う。原理的には、RGB信号は、正の値(符号なしの整数値)を持つため、原信号のダイナミックレンジを半分にするレベルシフトを行うことで、圧縮効率を向上させることができる。これに対して、YCbCr信号におけるCbやCrといった色差信号は、正負両方の整数値を持つため、レベルシフトは行われない。
【0021】
ウェーブレット変換部12は、通常、低域フィルタと高域フィルタとから構成されるフィルタバンクによって実現される。なお、デジタルフィルタは、通常複数タップ長のインパルス応答(フィルタ係数)を持っているため、フィルタリングが行えるだけの入力画像を予めバッファリングしておく必要があるが、簡単のため、図1では図示を省略する。
【0022】
DCレベルシフト部11は、フィルタリングに必要な最低限の画像信号D10を入力し、上述のようにレベルシフトを行う。そして、ウェーブレット変換部12は、DCレベルシフト後の画像信号D11に対して、ウェーブレット変換を行うフィルタリング処理を行い、ウェーブレット変換係数D12を生成する。
【0023】
このウェーブレット変換では、通常図2に示すように低域成分が繰り返し変換されるが、これは画像のエネルギの多くが低域成分に集中しているためである。このことは、図3(A)に示す分割レベル=1から図3(B)に示す分割レベル=3のように、分割レベルを進めていくに従って、同図のようにサブバンドが形成されていくことからも分かる。ここで、図2におけるウェーブレット変換の分割レベルは3であり、この結果計10個のサブバンドが生成されている。なお、図2においてL,Hはそれぞれ低域,高域を表し、L,Hの後の数字はウェーブレット変換分割数を表す。すなわち、例えばLH−1は、水平方向が低域で垂直方向が高域であるウェーブレット変換分割数=1のサブバンドを表す。
【0024】
サブバンド量子化部13は、ウェーブレット変換部12から供給されたウェーブレット変換係数D12に対して非可逆圧縮を施す。量子化手段としては、ウェーブレット変換係数D12を量子化ステップサイズで除算するスカラ量子化を用いるのが一般的である。ここで、JPEG2000の規格上、上述の非可逆圧縮を行う場合で、非可逆の9×7ウェーブレット変換フィルタを用いる場合には、自動的にスカラ量子化を併用することが決められている。一方、可逆の5×3ウェーブレット変換フィルタを用いる場合にはサブバンド量子化を行わず、後段の符号化パス切り捨て部18において符号量制御が行われる。したがって、図1のサブバンド量子化部13が動作するのは、実際には非可逆の9×7ウェーブレット変換フィルタを用いた場合であるが、可逆の5×3ウェーブレット変換フィルタを用いた場合にも量子化ステップサイズが1であるような量子化が行われているものと解釈して、以下の説明を進める。
【0025】
ここで、画像符号化装置10における量子化とは、サブバンド量子化部13におけるスカラ量子化と符号化パス切り捨て部18における符号化パスの切り捨てとを含む概念であり、その量子化ステップサイズは、後述するスカラ量子化の量子化ステップサイズと符号化パスの切り捨て数との両方で定義される。サブバンド量子化部13では、この量子化ステップサイズに基づいたデッドゾーン内の係数の置き換え処理が実行され、ウェーブレット変換部12から供給されたウェーブレット変換係数D12に対して量子化ステップサイズD23に基づくスカラ量子化を施して量子化係数D13を生成し、この量子化係数D13を符号ブロック化部14に供給する。なお、このサブバンド量子化部13についての詳細は後述する。
【0026】
符号ブロック化部14は、サブバンド量子化部13で生成された量子化係数D13を、エントロピー符号化の処理単位である所定の大きさの符号ブロックに分割する。ここで、サブバンド中の符号ブロックの位置関係を図4に示す。通常、例えば64×64程度のサイズの符号ブロックが分割後の全てのサブバンド中に生成される。したがって、あるサブバンドの大きさが640×320であった場合には、64×64の符号ブロックは水平方向に10個、垂直方向に5個、合計50個存在することになる。符号ブロック化部14は、符号ブロック毎の量子化係数D14をビットプレーン符号化パス生成部15に供給し、後段の符号化処理は、これらの符号ブロック毎に行われる。
【0027】
ビットプレーン符号化パス生成部15は、符号ブロック毎の量子化係数D14に対して、以下のようにしてビットモデリングを行う。ここで、本実施の形態では、特にJPEG2000規格で定められたEBCOTと呼ばれるエントロピー符号化を例に取りながら説明する。なお、このEBCOTについては、例えば、文献「IS0/IEC 15444−1, Information technology−JPEG 2000, Part 1:Core coding system」等に詳細に記載されている。
【0028】
このEBCOTの説明の前に、ビットプレーンの概念について図5を用いて説明する。図5(A)は、縦4個、横4個の計16個の係数からなる量子化係数を仮定したものである。この16個の係数のうち絶対値が最大のものは13であり、2進数表現では1101となる。したがって、係数の絶対値のビットプレーンは、図5(B)に示すような4つのビットプレーンから構成される。なお、各ビットプレーンの要素は、全て0又は1の数を取る。一方、量子化係数の符号は、−6が唯一負の値であり、それ以外は0又は正の値である。したがって、符号のビットプレーンは、図5(C)に示すようになる。
【0029】
EBCOTは、所定の大きさのブロック毎にそのブロック内の係数の統計量を測定しながら符号化する手段であり、符号ブロック単位に量子化係数をエントロピー符号化する。符号ブロックは、最上位ビット(MSB)から最下位ビット(LSB)方向にビットプレーン毎に独立して符号化される。また、符号ブロックの縦横のサイズは、4から256までの2の冪乗で、通常は32×32、64×64、128×32等の大きさが使用される。量子化係数は、nビットの符号付き2進数で表されており、bit0からbit(n−2)がLSBからMSBまでのそれぞれのビットを表す。なお、残りの1ビットは符号である。符号ブロックの符号化は、MSB側のビットプレーンから順番に、以下の(a)〜(c)に示す3種類の符号化パスによって行われる。
(a) Significance Propagation Pass
(b) Magnitude Refinement Pass
(c) Clean up Pass
【0030】
3つの符号化パスの用いられる順序を図6に示す。図6に示すように、先ずビットプレーン(n−2)(MSB)がClean up Pass(以下、適宜「CUパス」という。)によって符号化される。続いて、順次LSB側に向かい、各ビットプレーンが、Significance Propagation Pass(以下、適宜「SPパス」という。)、Magnitude Refinement Pass(以下、適宜「MRパス」という。)、CUパスの順序で用いられて符号化される。
【0031】
但し、実際にはMSB側から何番目のビットプレーンで初めて1が出てくるかをヘッダに書き、オール0のビットプレーンは符号化しない。この順序で3種類の符号化パスを繰返し用いて符号化し、任意のビットプレーンの任意の符号化パスまでで符号化を打ち切ることにより、符号量と画質とのトレードオフを取る、すなわちレート制御を行うことができる。
【0032】
ここで、係数の走査(スキャニング)について図7を用いて説明する。符号ブロックは、高さ4個の係数毎にストライプ(stripe)に分けられる。ストライプの幅は、符号ブロックの幅に等しい。スキャン順とは1個の符号ブロック内の全ての係数を辿る順番であり、符号ブロック中では上のストライプから下のストライプへの順序、各ストライプ中では左の列から右の列への順序、各列中では上から下への順序でスキャニングされる。なお、各符号化パスにおいて符号ブロック中の全ての係数がこのスキャン順で処理される。
【0033】
以下、上述した3つの符号化パスについて説明する。
(a) Significance Propagation Pass
あるビットプレーンを符号化するSPパスでは、8近傍の少なくとも1つの係数が有意(significant)であるようなnon−significantな係数が算術符号化される。その符号化した係数の値が1である場合には、符号の正負が続けて算術符号化される。
【0034】
ここでsignificanceとは、各係数に対して符号化器が持つ状態である。significanceの初期値は、non−significantを表す0であり、その係数で1が符号化されたときにsignificantを表す1に変化し、以降常に1であり続ける。したがって、significanceとは、有効桁の情報を既に符号化したか否かを示すフラグとも言える。あるビットプレーンでSPパスが発生すれば、以降のビットプレーンではSPパスは発生しない。
【0035】
(b) Magnitude Refinement Pass
ビットプレーンを符号化するMRパスでは、SPパスで符号化していないsignificantな係数が算術符号化される。
【0036】
(c) Clean up Pass
ビットプレーンを符号化するCUパスでは、SPパスで符号化していないnon−significantな係数が算術符号化される。その符号化した係数の値が1である場合には、符号の正負が続けて算術符号化される。
【0037】
なお、以上の3つの符号化パスでの算術符号化では、ケースに応じてZC(Zero Coding)、RLC(Run−Length Coding)、SC(Sign Coding)、MR(Magnitude Refinement)が使い分けられて係数のコンテキストが選択される。そして、MQ符号化と呼ばれる算術符号によって選択されたコンテキストが符号化される。このMQ符号化は、JBIG2で規定された学習型の2値算術符号である。MQ符号化については、例えば、文献「ISO/IEC FDIS 14492, “Lossy/Lossless Coding of Bi−level Images”, March 2000」等に記載されている。JPEG2000では、全ての符号化パスで合計19種類のコンテキストがある。
【0038】
以上のようにしてビットプレーン符号化パス生成部15は、符号ブロック毎の量子化係数D14をビットプレーンに分解すると共に各ビットプレーンを3つの符号化パスに分解し、符号化パス毎に係数のコンテキストD15を生成する。そして、算術符号化部16は、このコンテキストD15に対して算術符号化を施す。
【0039】
符号化パス切り捨て部18は、少なくとも一部の符号化パスの処理を行った後で、算術符号化部16から供給された算術符号D16の符号量をカウントし、目標符号量に達した時点又は達する直前に、それより後の算術符号D16を切り捨てる。このように、目標符号量をオーバーする直前で切り捨てることにより、確実に目標符号量以内に収めることができる。符号化パス切り捨て部18は、この切り捨て符号化パス数D17をサブバンド量子化部13に供給すると共に、符号量制御完了後の算術符号D18をパケットヘッダ生成部19及びパケット生成部20に供給する。
【0040】
パケットヘッダ生成部19は、符号化パス切り捨て部18から供給された符号量制御完了後の算術符号D18に基づいて、符号ブロック内での付加情報、例えば符号ブロック内の符号化パスの個数や圧縮コードストリームのデータ長等をパケットヘッダD19として生成し、このパケットヘッダD19をパケット生成部20に供給する。
【0041】
パケット生成部20は、符号量制御完了後の算術符号D18とパケットヘッダD19とを合わせてパケットD20を生成し、このパケットD20を符号化コードストリーム生成部22に供給する。この際、パケット生成部20は、図8に示すように同一のウェーブレット変換分割数であるサブバンドから個々のパケットを生成する。なお、図8から分かるように、最低域であるパケット−1は、LL成分のみを含み、それ以外のパケット−2乃至パケット−4は、LH成分,HL成分及びHH成分を含む。
【0042】
ヘッダ生成部21は、量子化ステップサイズD23等の各種パラメータ情報を入力し、ヘッダD21として符号化コードストリーム生成部22に供給する。そして、符号化コードストリーム生成部22は、パケットD20とヘッダD21とを合わせて符号化コードストリームD22を生成し、出力する。
【0043】
(1−1−1)サブバンド量子化部の構成及び動作
以下、上述したサブバンド量子化部13における処理の詳細について説明する。サブバンド量子化部13は、図9に示すように、量子化ステップサイズ設定部30と、デッドゾーン内係数置き換え部31と、スカラ量子化部32とから構成されており、符号化パス切り捨て部18(図1)から供給された切り捨て符号化パス数D17とスカラ量子化の量子化ステップサイズD23とに基づいてデッドゾーン内の係数の置き換え処理を行い、ウェーブレット変換部12から供給されたウェーブレット変換係数D12に対してスカラ量子化を施して量子化係数D13を生成する。
【0044】
ここで、サブバンド量子化部13のデッドゾーン内係数置き換え部31におけるデッドゾーン内の係数の置き換え処理には切り捨て符号化パス数D17の情報が必要となる。そこで、画像符号化装置10では、先ずデッドゾーン内係数置き換え処理を行わずにスカラ量子化部32においてウェーブレット変換係数D12を量子化ステップサイズ(Δb)D23で除算して量子化する。さらに符号化パス切り捨て部18までの処理を実際に行って切り捨て符号化パス数D17を求める。そして、この切り捨て符号化パス数D17をサブバンド量子化部13に入力し、再度サブバンド量子化部13以降の処理を行う。この際、サブバンド量子化部13は、デッドゾーン内係数置き換え部31の処理を有効にする。
【0045】
なお、最初のデッドゾーン内係数置き換え部31における処理をスルーした状態で処理したデータをメモリ(図示せず)にバッファリングしておけば、デッドゾーン内係数置き換え部31の処理を有効にした後には、バッファリングしたデータと異なるものだけを実際に処理すればよい。この結果、全体の符号化処理量の増加を抑制することができる。
【0046】
以下では、この切り捨て符号化パス数D17を求めた後の処理について説明する。量子化ステップサイズ設定部30は、符号化パス切り捨て部18(図1)から供給された切り捨て符号化パス数(TCc)D17とスカラ量子化の量子化ステップサイズ(Δb)D23とに基づいて、新たな量子化ステップサイズ(Δ)D30を算出し、この量子化ステップサイズ(Δ)D30をデッドゾーン内係数置き換え部31に供給する。
【0047】
この量子化ステップサイズ(Δ)D30の算出方法の一例について、図10を用いて説明する。この図10は、サブバンド量子化部13で生成される量子化係数D13を最上位ビット(MSB)から最下位ビット(LSB)までのビットプレーンに展開した場合における各ビットプレーンの配置関係を示したものである。各符号ブロックCB0,CB1,CB2,CB3に対して、最大ビットプレーン数Mb、ゼロビットプレーン数Ic、符号化される符号化パス数Nc、及び切り捨て符号化パス数TCcが図10のように定義される。この場合、符号化される符号化パス数Ncは、以下の式(1)によって求められる。但し、この式(1)で算出された符号化パス数Ncが負になる場合は、強制的に0に置き換えられる。
【0048】
【数1】
【0049】
ここで、JPEG2000規格では、1つのビットプレーンを符号化する際に、最上位のビットプレーンのみ1つの符号化パスを用いて符号化し、それ以外のビットプレーンは3つの符号化パスを用いて符号化することが定められているため、切り捨てビットプレーン数TBcは、切り捨て符号化パス数TCcを用いて以下の式(2)のように与えられる。
【0050】
【数2】
【0051】
量子化ステップサイズ設定部30は、この切り捨てビットプレーン数TBcとスカラ量子化の量子化ステップサイズΔbとを用いて、以下の式(3)に従って量子化ステップサイズΔを算出する。
【0052】
【数3】
【0053】
なお、ビットプレーン単位でまとめて符号化パスを切り捨てる場合には切り捨てビットプレーン数TBcが整数となるが、符号化パス単位で符号化パスを切り捨てる場合には切り捨てビットプレーン数TBcが整数とならないことがある。このような場合であっても、例えば式(2)をそのまま適用し、k/3の有理数(k:整数)を切り捨てビットプレーン数TBcとして使用して構わない。
【0054】
デッドゾーン内係数置き換え部31は、ウェーブレット変換部12(図1)から供給されたウェーブレット変換係数D12のうち、0に量子化する量子化区間であるデッドゾーン内の係数の一部をデッドゾーンに隣接する隣接量子化区間の値に置き換え、デッドゾーンの幅と隣接量子化区間の幅との比を変更する処理を行う。具体的には、図11に示すように、D・Δ以上であり且つΔよりも小さいウェーブレット変換係数の値をR・Δに置き換える。同様に、−D・Δ以下であり且つ−Δよりも大きいウェーブレット変換係数の値を−R・Δに置き換える。ここで、Dは0<D≦1を満たすパラメータであり、Rは1≦R<2を満たす定数である。パラメータDは、0<D≦1の範囲内であれば、ウェーブレット変換分割数毎、サブバンド毎、或いは特定の画像空間領域に属するウェーブレット変換係数毎に、任意に設定することが可能である。また、カラー画像で輝度や色差などコンポーネントが複数ある場合には、コンポーネント毎にパラメータDを設定することも可能である。
【0055】
この置き換え処理により、従来から一般的に用いられていた図12のようなデッドゾーン付き線形量子化において、D・Δ以上であり且つΔよりも小さいウェーブレット変換係数、或いは−D・Δ以下であり且つ−Δよりも大きいウェーブレット変換係数を量子化した際の量子化値が0から1に置き換わることになる。
【0056】
図9に戻って、スカラ量子化部32は、デッドゾーン内係数置き換え部31において一部の値が置き換わったウェーブレット変換係数D31をスカラ量子化の量子化ステップサイズ(Δb)D23で除算して量子化し、量子化後の量子化係数D13を出力する。
【0057】
ここで、本実施の形態におけるサブバンド量子化部12は、HL−1,LH−1,HH−1のような最高域のサブバンドに属するウェーブレット変換係数D12に対してのみパラメータDを0<D≦1を満たす値とし、その他のサブバンドに対しては、従来の量子化特性になるようにD=1とする。これにより、HL−1,LH−1,HH−1のサブバンド内のウェーブレット変換係数D12の多くが非0値に量子化されて一種のハイパスフィルタのような効果が得られ、復号した際に復号画像中に存在する斜め線の再現性やテクスチャの鮮鋭度を向上させることができる。
【0058】
ところで、JPEG2000規格は静止画の規格であり、動画像では頻繁に存在するインタレース画像に対する十分な検討がなされていない。したがって、静止画用の技術をそのまま動画像に応用すると、劣化が目立ってしまうという欠点が露呈する。以下、具体的に説明する。
【0059】
あるインタレースの動画シーンの1フレームを図13に示す。これをPCモニタ等のプログレッシブ方式のモニタで見ると、動きのある部分にインタレースの影響が強く出て、横方向に縞模様が見える。
【0060】
すなわち、図14(A)に示すように、丸い物体が画面中を右方向に移動する場合、インタレース画面では問題ないが、プログレッシブ画面では図14(B)のように横方向に縞模様が見えてしまう。これはインタレース画面が奇数フィールドと偶数フィールドとで飛び越し走査を用いていることに起因している。
【0061】
図13に示した画像を5回ウェーブレット変換した後の各サブバンドの様子を図15に示す。図15から分かるように、明らかにLH−1サブバンド、すなわち最高域のサブバンドで、且つ水平方向が低域で垂直方向が高域のサブバンドにおける係数のエネルギが他のサブバンドに比べて大きくなっている。一方、復号画像を5回ウェーブレット変換した後の各サブバンドの様子を図16に示す。図16から分かるように、動きの再現性に最も影響を及ぼすLH−1サブバンドの係数の多くが0に量子化された結果、LH−1サブバンドの係数のエネルギが低下している。
【0062】
そこで、本実施の形態におけるサブバンド量子化部12は、入力画像がインタレース画像の場合、LH−1サブバンドのみ図11におけるパラメータDを0以上1未満の値に設定し、他のサブバンドは従来の量子化特性になるようにD=1とする。このとき、復号画像を5回ウェーブレット変換した後の各サブバンドの様子を図17に示す。図17から分かるように、LH−1サブバンドで0に量子化されていた係数の多くが非0に量子化されている。この結果、復号画像を動画像として表示した場合における動きの再現性が向上する。
【0063】
なお、上述の例では、符号化パス切り捨て部18において、算術符号化部16から供給された算術符号D16の符号量をカウントし、目標符号量に達した時点又は達する直前に、それより後の算術符号D16を切り捨てることによりレート制御を行うものとして説明したが、これに限定されるものではない。
【0064】
例えば、スカラ量子化部32における量子化ステップサイズΔbを変更することによってもレート制御を行うことができる。この場合、算術符号化部16の出力である算術符号D16の符号量をカウントし、その合計符号量が目標符号量より多い場合にはスカラ量子化部32の量子化ステップサイズΔbを大きくし、逆に目標符号量より少ない場合には量子化ステップサイズΔbを小さくするという手順を複数回試行することで、全体の符号量を目標符号量に近付けることができる。この際、切り捨て符号化パス数TCcは固定値0となる。また、この手法を動画像に適用する場合には、複数フレーム間に亘って符号量を制御すればよいため、最初のフレームでは1回だけ試行し、次フレーム以降は過去のフレームで発生した符号量を利用して現在のフレームに対する量子化ステップサイズΔbを予測して設定することも可能である。
【0065】
また、スカラ量子化部32における量子化ステップサイズΔbの変更と、符号化パス切り捨て部18における符号化パスの切り捨てとを併用することも可能である。この場合、スカラ量子化の量子化ステップサイズ(Δb)D23は、画像領域又はウェーブレット変換係数領域で目標符号量を超える符号量が最小になるように量子化ステップサイズΔbを予測するようにしても構わない。これにより、後段のEBCOT部17で符号化する符号化パス数Ncや切り捨て符号化パス数TCcを最小限に抑え、全体の符号化処理量を削減することができる。
【0066】
(1−1−2)変形例
上述の例では、デッドゾーン内係数置き換え部31(図9)で切り捨て符号化パス数(TCc)D17を使用するため、予めスカラ量子化部32から符号化パス切り捨て部18(図1)までの処理を少なくとも1回実行する必要がある。しかしながら、通常のJPEG2000符号化処理ではEBCOT部17(図1)における処理の計算負荷が最も重いため、この処理を複数回行うと全体の符号化処理量が増大してしまうという問題が発生する。
【0067】
そこで、例えば図18に示すようにサブバンド量子化部13を構成し、切り捨て符号化パス数予測部33で切り捨て符号化パス数(TCc)を予測することで、全体の符号化処理量を軽減することができる。このような構成のサブバンド量子化部13では、先ずデッドゾーン内係数置き換え処理を行わずにスカラ量子化部32においてウェーブレット変換係数D12を量子化ステップサイズ(Δb)D23で除算して量子化し、この量子化係数D32を用いて切り捨て符号化パス数予測部33において切り捨て符号化パス数(TCc)を予測する。そして、量子化ステップサイズ設定部30では、切り捨て符号化パス数予測部33から供給された切り捨て符号化パス数(TCc)D33を用いて、前述と同様にして量子化ステップサイズ(Δ)D30を設定する。
【0068】
ここで、切り捨て符号化パス数(TCc)の予測方法の一例としては、本件出願人が先に提案した特願2002−350185の明細書及び図面に記載された技術を用いることができる。具体的には、ビットプレーン毎の量子化係数に基づいて符号量推定のための特徴量を抽出し、その特徴量に基づいてビットプレーン毎に発生する符号量を推定する。そして、この推定符号量に基づいて切り捨て符号化パス数(TCc)を予測する。
【0069】
この切り捨て符号化パス数予測部33の内部構成の一例を図19に示す。図19に示すように、切り捨て符号化パス数予測部33は、符号ブロック化部40と、ビットプレーン分解部41と、特徴量抽出部42と、符号量推定部43と、初期レート制御部44とから構成されている。
【0070】
符号ブロック化部40は、スカラ量子化部32(図18)で生成された量子化係数D32を上述した符号ブロックに分割し、ビットプレーン分解部41は、符号ブロック毎の量子化係数D40をビットプレーンに分解する。
【0071】
特徴量抽出部42は、ビットプレーン毎の量子化係数D41に基づいて、例えば処理対象となるビットプレーンの符号化で新規にsignificantとなる量子化係数の数、すなわち処理対象のビットプレーンでの値が1で、それより上位のビットプレーンでの値が0である量子化係数の数を、全ての符号ブロックの各ビットプレーンについて求め、これを特徴量D42として符号量推定部43に供給する。
【0072】
符号量推定部43は、特徴量抽出部42から供給された特徴量D42に基づいて、後述する手法によりビットプレーン毎に発生する符号量を推定し、推定符号量D43を初期レート制御部44に供給する。
【0073】
初期レート制御部44は、符号量推定部43から供給された推定符号量D43を符号化パス毎に順次加算し、初期目標符号量に達した時点でそれより後の符号化パスを切り捨てる。そして、初期レート制御部44は、各符号ブロック毎の切り捨て符号化パス数(TCc)D33を上述した量子化ステップサイズ設定部30(図18)に供給する。
【0074】
以下、切り捨て符号化パス数予測部33の特徴量抽出部42、符号量推定部43及び初期レート制御部44における処理をさらに詳細に説明する。ここで、便宜上、各符号ブロックにIDとなる番号を定義し、この番号順に処理を行うものとする。ここでは、低域のサブバンドから高域のサブバンドの順に、同じサブバンド内ではラスタスキャン順に番号を定義する。
【0075】
なお、同じウェーブレット変換分割数であるHLサブバンドとLHサブバンドとについては、図20(A)に示すようにHLサブバンドを優先させるようにしてもよく、図20(B)に示すようにLHサブバンドを優先させるようにしてもよい。
【0076】
また、カラー画像などでコンポーネントが複数ある場合にも、同様にして全てのコードブロックにIDとなる番号を定義する。この際、コンポーネントが輝度と色差とからなる場合には、輝度のコンポーネントを優先させて番号を定義する。
【0077】
また、各符号ブロックについては、最上位ビット(MSB)から最下位ビット(LSB)方向に処理を行うものとする。ここで、量子化係数を2進数表現した際の桁数は、一般にサブバンド毎に異なる。そこで、以下では、全サブバンドで最大の桁数をMAX_BPとしたとき、桁数がMAX_BP未満であるコードブロックは最上位ビット(MSB)側に0を埋めて桁数をMAX_BPとし、最下位ビット(LSB)側からのビット位置を合わせるものとする。
【0078】
先ず、特徴量抽出部42における特徴量抽出処理の一例を、図21のフローチャートに示す。始めにステップS1において、cb=0とセットする。これは、最初に処理する符号ブロックの符号ブロック番号cbが0であることを示す。
【0079】
次にステップS2において、その符号ブロックの全ての量子化係数sについてSignificant[s]を「0」に初期化する。ここで、Significant[s]は、量子化係数sがsignificantであれば「1」、significantでなければ「0」をとる変数である。どの量子化係数も始めはsignificantでないため「0」に初期化する。また、ステップS2では、さらにbp=0とセットする。これは、最初に処理するビットプレーンのビットプレーン番号bpが0であることを示す。ここで、ビットプレーン番号bpは、最上位ビット(MSB)側から0,1,2・・・MAX_BP−1と付けてあるものとする。
【0080】
続いてステップS3において、CountNewSig[cb][bp]を0に初期化する。ここで、CountNewSig[cb][bp]は、符号ブロック番号cb、ビットプレーン番号bpのビットプレーンの符号化で新規にsignificantとなる量子化係数の数を計数するカウンタである。
【0081】
ステップS4では、符号ブロック番号cb、ビットプレーン番号bpのビットプレーンにおける未処理の量子化係数sを1つ選び、ステップS5では、Significant[s]が「0」であり、且つ量子化係数sのbp番目の係数が1であるか否かを判別する。ここで、Significant[s]が「0」であり、且つ量子化係数sのbp番目の係数が1である場合(Yes)には、ステップS6においてSignificant[s]を1に更新し、CountNewSig[cb][bp]に1を加える。一方、そうでない場合(No)には、ステップS7に進む。
【0082】
ステップS7では、ビットプレーン番号bpのビットプレーンにおいて未処理の量子化係数sがあるか否かを判別し、未処理の量子化係数sがある場合(Yes)にはステップS4に戻り、そうでない場合(No)にはステップS8に進み、CountNewSig[cb][bp]の値を出力する。この値が符号ブロック番号cb、ビットプレーン番号bpのビットプレーンにおける特徴量D42であり、特徴量抽出部42から符号量推定部43に供給される。
【0083】
ステップS9では、符号ブロック番号cbの符号ブロックにおいて未処理のビットプレーンがあるか否かを判別し、未処理のビットプレーンがある場合(Yes)には、ステップS10でbpに1を加えてステップS3に戻り、そうでない場合(No)にはステップS11に進む。
【0084】
ステップS11では、未処理の符号ブロックがあるか否かを判別し、未処理の符号ブロックがある場合(Yes)には、ステップS12でcbに1を加えてステップS2に戻り、そうでない場合(No)には特徴量抽出処理を終了する。
【0085】
特徴量抽出部42は、以上のような処理を行うことで、全ての符号ブロックの各ビットプレーンで新規にsignificantとなる量子化係数の数を計数し、この数を特徴量D42として符号量推定部43に供給する。
【0086】
なお、以上の説明では、符号ブロック番号cb、ビットプレーン番号bpのビットプレーンにおいて新規にsignificantとなる量子化係数の数、すなわちそのビットプレーンにおける値が1で、それより上位のビットプレーンにおける値が0である量子化係数の数をCountNewSig[cb][bp]として計数し、これを特徴量D42としたが、これに限定されるものではない。
【0087】
例えば、符号ブロック番号cb、ビットプレーン番号bpのビットプレーンにおいてsignificantである量子化係数の数、すなわちそのビットプレーン以上の少なくとも1つのビットプレーンでの値が1である量子化係数の数をCountSig[cb][bp]とすると、このCountSig[cb][bp]は、以下の式(4)、(5)を満たす。
【0088】
【数4】
【0089】
すなわち、CountSig[cb][bp]とCountNewSig[cb][bp]とは、何れか一方を求めれば他方を算出することができるため、上述したCountNewSig[cb][bp]の代わりにCountSig[cb][bp]を特徴量D42として用いることができる。
【0090】
次に、符号量推定部43及び初期レート制御部44における処理の一例を、図22のフローチャートに示す。始めにステップS20において、処理する符号化パスの符号化パス番号cpを0に、符号量の総和TotalBitsを0に、それぞれ初期化する。ここで、符号化パス番号cpは、bp=0のビットプレーンが0であり、bp=1以降は各ビットプレーンについてSPパス、MRパス、CUパスの順に、1,2,3・・・と付けてあるものとする。
【0091】
次にステップS21において、処理する符号ブロックの符号ブロック番号cbを0に初期化すると共に、以下の式(6)に従って現在のビットプレーン番号bpを求める。なお、式(6)において、除算結果の小数部は切り捨てるものとする。
【0092】
【数5】
【0093】
続いてステップS22において、ビットプレーン番号bpが0であるか否かを判別する。ここで、ビットプレーン番号bpが0である場合(Yes)にはステップS23においてCountMR[cb][bp]を0とする。このCountMR[cb][bp]は、コードブロック番号cb、ビットプレーン番号bpのビットプレーンにおいて、MRパスで符号化される量子化係数の数を示す。一方、ビットプレーン番号bpが0でなく(No)、符号化パス番号cpを3で除算した余りが1である場合、すなわち各ビットプレーンの最初の符号化パスである場合には、ステップS24において以下の式(7)に従ってCountMR[cb][bp]を求める。ここで、式(7)においてcp%3はcpを3で除算したときの余りを示す。
【0094】
【数6】
【0095】
続いてステップS25において、以下の式(8)乃至式(10)に従って、符号ブロック番号cb、ビットプレーン番号bp、符号化パス番号cpの符号化パスの符号化で発生する符号量Bitsを求め、符号量の総和TotalBitsにこの符号量Bitsを加える。
【0096】
【数7】
【0097】
すなわち、符号化パス番号cpを3で除算した余りが2である場合、すなわち、MRパスである場合には、式(8)に示すように、CountMR[cb][bp]に定数RatioMRを乗算した値が推定される符号量Bitsとなる。MRパスは、既にsignificantである係数についての符号化である。すなわち、そのビットプレーンよりも上位のビットプレーンで1が現れているため、そのビットプレーンで0と1の何れを取るかの確率に偏りは少ない。1/2の確率で起こることを符号化するのに必要な符号量なので、定数RatioMRの値は、ほぼ1となる。
【0098】
また、SPパス及びCUパスで発生する符号量はCountNewSig[cb][bp]×RatioNewSigである。CountNewSig[cb][bp]は、まだsignificantでない量子化係数で次に符号化するビットプレーンの係数が1である量子化係数の数である。これは起こる確率が少ないため発生符号量は多くなる。そこで、右辺第2項の定数RatioMRとは異なる定数RatioNewSigを掛けて、符号量の推定値とする。
【0099】
ここで、符号ブロックの量子化係数の数をCountAllとしたとき、CountMR[cb][bp]/CountAllが大きいほどSPパスで発生する符号量の割合が高くなり、CUパスで発生する符号量の割合が低くなる。これは、CountMR[cb][bp]/CountAllが大きいということはsignificantな係数の数が多いということであり、8近傍にsignificantな係数が少なくとも1つあるというSPパスの符号化条件が満たされやすくなるためである。
【0100】
そこで、符号化パス番号cpを3で除算した余りが1である場合、すなわち、SPパスである場合には、CountMR[cb][bp]/CountAllをSPパスで発生する符号量の割合に変換する関数RatioSPFunk(CountMR[cb][bp]/CountAll)を用いて、式(9)に示すように、CountNewSig[cb][bp]×RatioNewSigにRatioSPFunk(CountMR[cb][bp]/CountAll)を乗算した値が推定される符号量Bitsとなる。
【0101】
一方、符号化パス番号cpを3で除算した余りが0である場合、すなわち、CUパスである場合には、式(10)に示すように、CountNewSig[cb][bp]×RatioNewSigに1−RatioSPFunk(CountMR[cb][bp]/CountAll)を乗算した値が推定される符号量Bitsとなる。
【0102】
ステップS26では、符号量の総和TotalBitsが初期目標符号量以上であるか否かを判別する。ここで、符号量の総和TotalBitsが初期目標符号量以上である場合(Yes)にはステップS31に進み、その時点での符号ブロック番号cbと符号化パス番号cpとから符号ブロック毎の切り捨て符号化パス数(TCc)を求め、この切り捨て符号化パス数(TCc)を出力して処理を終了する。具体的には、符号ブロック番号cbがcb未満の符号ブロックでは、符号化パス番号cpがcp+1以上である符号化パスの数を切り捨て符号化パス数(TCc)として出力し、符号ブロック番号cbがcb以上の符号ブロックでは、符号化パス番号cpがcp以上である符号化パスの数を切り捨て符号化パス数(TCc)として出力する。一方、符号量の総和TotalBitsが初期目標符号量未満である場合(No)にはステップS27に進む。
【0103】
ステップS27では、未処理の符号ブロックがあるか否かを判別し、未処理の符号ブロックがある場合(Yes)には、ステップS28でcbに1を加えてステップS22に戻り、そうでない場合(No)にはステップS29に進む。
【0104】
ステップS29では、符号ブロック番号cbの符号ブロックにおいて未処理の符号化パスがあるか否かを判別し、未処理の符号化パスがある場合(Yes)には、ステップS30でcpに1を加えてステップS21に戻り、そうでない場合(No)にはステップS31に進み、その時点での符号ブロック番号cbと符号化パス番号cpとから符号ブロック毎の切り捨て符号化パス数(TCc)を求め、この切り捨て符号化パス数(TCc)を出力して処理を終了する。
【0105】
以上のような処理を行うことで、符号量推定部43及び初期レート制御部44は、特徴量抽出部42から供給された特徴量D42に基づいて符号化パス毎の推定符号量を求め、この推定符号量を上述した順序で順次加算し、初期目標符号量に達した時点で加算を停止する。そして、加算を停止した時点のコードブロック番号cbと符号化パス番号cpとから符号ブロック毎の切り捨て符号化パス数(TCc)を求め、この切り捨て符号化パス数(TCc)D33を量子化ステップサイズ設定部30(図18)に供給する。これにより、EBCOT部17(図1)における処理を行うことなく切り捨て符号化パス数(TCc)を求めることができ、全体の符号化処理量を削減することができる。
【0106】
(1−2)画像復号装置の構成及び動作
次に第1の実施の形態における画像復号装置の概略構成を図23に示す。図23に示すように、第1の実施の形態における画像復号装置50は、符号化コードストリーム分解部51と、パケット分解部52と、ヘッダ解析部53と、パケットヘッダ解析部54と、復号ブロック化部55と、算術復号部56と、ビットプレーン復号パス生成部57と、適応逆量子化部59と、ウェーブレット逆変換部60と、DCレベル逆シフト部61とから構成されている。ここで、算術復号部56とビットプレーン復号パス生成部57とにより、EBCOT復号部58が構成される。
【0107】
符号化コードストリーム分解部51は、入力した符号化コードストリームD50をパケットD51とヘッダD52とに分解し、パケットD51をパケット分解部52に供給すると共に、ヘッダD52をヘッダ解析部53に供給する。
【0108】
パケット分解部52は、パケットD51を中身のパケット本体D53とパケットヘッダD54とに分解する。なお、パケット本体D53には、実際の符号化コードストリームが書き込まれている。パケット分解部52は、パケット本体D53を復号ブロック化部55に供給すると共に、パケットヘッダD54をパケットヘッダ解析部54に供給する。
【0109】
ヘッダ解析部53は、ヘッダD52を解析してスカラ逆量子化の量子化ステップサイズD55を適応逆量子化部59に供給する。
【0110】
パケットヘッダ解析部54は、パケットヘッダD54を解析し、例えば符号ブロック内の符号化パスの個数や符号化パスの発生符号量、ゼロビットプレーン数等の符号化パスの情報D56をビットプレーン復号パス生成部57及び適応逆量子化部59に供給する。また、パケットヘッダ解析部54は、符号ブロックの位置情報D57を復号ブロック化部55に供給する。
【0111】
復号ブロック化部55は、符号ブロック毎の符号化コードストリームD58を算術復号部56に供給する。
【0112】
算術復号部56は、符号ブロック毎の符号化コードストリームD58を算術復号して係数情報D59を生成し、ビットデモデリング処理を行うビットプレーン復号パス生成部57は、係数情報D59からビットプレーン単位のバイナリデータを復元する。これは、実際には量子化係数D60になっている。ビットプレーン復号パス生成部57は、この量子化係数D60を適応逆量子化部59に供給する。
【0113】
適応逆量子化部59は、量子化係数D60の値が1の場合とそれ以外の場合とで適応的な逆量子化処理を行い、量子化復号値をウェーブレット変換係数D61として出力する。なお、この適応逆量子化部59における処理の詳細は後述する。
【0114】
ウェーブレット逆変換部60は、ウェーブレット変換係数D61を逆変換して復号画像D62を生成し、この復号画像D62をDCレベル逆シフト部61に供給する。
【0115】
DCレベル逆シフト部61は、画像符号化装置10においてDCレベルシフト処理が施されていた場合に復号画像D62に対して逆シフト処理を行い、最終的な復号画像D63を出力する。
【0116】
(1−2−1)適応逆量子化部の構成及び動作
以下、上述した適応逆量子化部59における処理の詳細について説明する。適応逆量子化部59は、図24に示すように、切り捨て符号化パス数算出部70と、量子化ステップサイズ設定部71と、量子化復号パラメータ選択部72と、量子化復号パラメータテーブル73と、逆量子化部74とから構成されており、ヘッダ解析部53から供給されたスカラ逆量子化の量子化ステップサイズD55とパケットヘッダ解析部54から供給された符号化パスの情報D56とに基づいて、ビットプレーン復号パス生成部57から供給された量子化係数D60に対して逆量子化を施してウェーブレット変換係数D61を生成する。
【0117】
切り捨て符号化パス数算出部70は、前述と同様に、スカラ逆量子化の量子化ステップサイズ(Δb)D55と符号化パスの情報D56とに基づいて切り捨て符号化パス数(TCc)D70を算出し、この切り捨て符号化パス数(TCc)D70を量子化ステップサイズ設定部71に供給する。また、量子化ステップサイズ設定部71は、前述と同様に、スカラ逆量子化の量子化ステップサイズ(Δb)D55と切り捨て符号化パス数(TCc)D70とに基づいて、量子化ステップサイズ(Δ)D71を求め、この量子化ステップサイズ(Δ)D71を量子化復号パラメータ選択部72及び逆量子化部74に供給する。
【0118】
量子化復号パラメータ選択部72は、量子化係数D60の値が1の場合とそれ以外の場合とで異なる量子化復号パラメータ(r)D73を設定し、この量子化復号パラメータ(r)D73を逆量子化部74に供給する。
【0119】
ここで、前述した画像符号化装置10では、図11のD・Δ 以上2・Δ未満の範囲のウェーブレット変換係数は1に量子化される。通常の復号処理では、量子化復号パラメータrとして量子化区間の中央値である0.5を採用することが多いが、この場合には結果的に値の大きい方に量子化復号値がずれることになる。特に、高域サブバンドのウェーブレット変換係数に対して上記処理を行った場合、量子化係数の生起確率分布がラプラス分布に従うため、通常の復号処理では大きな画質劣化を伴ってしまう。したがって、量子化復号パラメータ選択部72は、量子化係数D60が1である場合の量子化復号パラメータrを0.5よりも小さい値に設定することで、量子化誤差を削減し、画質劣化を防止する。
【0120】
具体的に、量子化復号パラメータ選択部72は、量子化係数D60の値が1である場合、量子化ステップサイズ(Δ)D71の大きさに応じて量子化復号パラメータテーブル73のインデックスD72を選択する。そして量子化復号パラメータ選択部72は、このインデックスD72で示される量子化復号パラメータ(r)を量子化復号パラメータテーブル73から読み出し、逆量子化部74に供給する。ここで、量子化復号パラメータテーブル73には、0.5よりも小さい複数の量子化復号パラメータ値rとそれに対応するインデックスとが記載されており、量子化復号パラメータ選択部72は、量子化ステップサイズ(Δ)D71の大きさが小さいほど量子化復号パラメータ値が0.5に近くなるようにインデックスD72を選択する。一方、量子化係数D60の値が1以外の場合、量子化復号パラメータ選択部72は、量子化復号パラメータ(r)D73として、デフォルト値である0.5を逆量子化部74に供給する。
【0121】
逆量子化部74は、量子化係数(Qc)D60と量子化復号パラメータ(r)D73と量子化ステップサイズ(Δ)D71とを用いて、以下の式(11)に従って量子化復号値IQcを算出し、この量子化復号値IQcをウェーブレット変換係数D61として出力する。
【0122】
【数8】
【0123】
以上説明したように、第1の実施の形態における画像符号化装置10によれば、0に量子化していたウェーブレット変換係数が1に量子化されるようにウェーブレット変換係数の置き換えを行うことにより、例えば静止画像やプログレッシブ画像の高域サブバンドに対して適用した場合には、復号画像中に存在する斜め線の再現性やテクスチャの鮮鋭度を向上させることができ、インタレース画像のLH−1サブバンドに適用した場合には、動きの再現性を向上させることができる。特に、低ビットレート時において0近傍の値に量子化される微小な振幅値を持った領域、例えば顔のしわや岩の質感などの再現性を向上させることができる。
【0124】
また、第1の実施の形態における画像復号装置50によれば、量子化係数の値が1の場合には、量子化復号パラメータrを量子化区間の中央値である0.5よりも小さい値に設定し、この量子化復号パラメータrを逆量子化に用いることにより、量子化誤差を削減し、画質劣化を防止することができる。
【0125】
なお、通常の符号化処理で生成された符号化コードストリームに対してこのような復号処理を適用した場合であっても、量子化係数が1となる量子化区間ではラプラス分布に近い生起確率になっていることが多いため、復号画像上では大きな画質劣化を伴いにくい。つまり、第1の実施の形態における画像復号装置70は、画像符号化装置10で符号化された符号化コードストリームと通常の符号化コードストリームとの両者に対して用いることが可能である。
【0126】
(2)第2の実施の形態
(2−1)画像符号化装置の構成及び動作
次に第2の実施の形態として図25に示す画像符号化装置90は、基本構造を図1に示した画像符号化装置10と同様とするが、サブバンド量子化部13がスカラ量子化部91のみで構成され、量子化復号値設定部92と量子化復号パラメータ符号化部93とが追加されている点に特徴を有している。したがって、先に図1に示した画像符号化装置10と同様の構成については同一符号を付して詳細な説明を省略し、以下では主としてスカラ量子化部91、量子化復号値設定部92及び量子化復号パラメータ符号化部93について説明する。
【0127】
スカラ量子化部91は、ウェーブレット変換部12から供給されたウェーブレット変換係数D12を量子化ステップサイズ(Δb)D23で除算して量子化し、量子化係数D90を符号ブロック化部14に供給する。
【0128】
量子化復号値設定部92は、ウェーブレット変換部12から供給されたウェーブレット変換係数D12と、符号ブロック化部14から供給された符号ブロック毎の量子化係数D14と、符号化パス切り捨て部18から供給された切り捨て符号化パス数(TCc)D17と、量子化ステップサイズ(Δb)D23とに基づいて最小の量子化誤差を与える量子化復号値を探索し、その量子化復号値を与える量子化復号パラメータD91を量子化復号パラメータ符号化部93に供給する。
【0129】
この量子化復号値設定部92の詳細な構成を図26に示す。図26に示すように、量子化復号値設定部92は、符号ブロック化部100と、量子化ステップサイズ設定部101と、量子化復号値算出部102と、量子化復号パラメータテーブル103と、量子化誤差算出部104と、量子化復号パラメータ設定部105とから構成されている。
【0130】
符号ブロック化部100は、ウェーブレット変換部12から供給されたウェーブレット変換係数D12を符号ブロック単位に分割し、符号ブロック変換係数D100を量子化誤差算出部104に供給する。
【0131】
量子化ステップサイズ設定部101は、前述と同様に、スカラ逆量子化の量子化ステップサイズ(Δb)D23と符号化パス切り捨て部17から供給された切り捨て符号化パス数(TCc)D17とに基づいて量子化ステップサイズ(Δ)D 101を求め、この量子化ステップサイズ(Δ)D101を量子化復号値算出部102及び量子化復号パラメータテーブル103に供給する。
【0132】
量子化復号値算出部102は、量子化復号パラメータテーブル103から複数のパラメータ候補値(rn,0≦rn<1)のうちの1つを読み出し、読み出したパラメータ候補値D102と量子化ステップサイズ設定部101から供給された量子化ステップサイズ(Δ)D101とに基づいて、以下の式(12)に従って量子化復号値(IQc,n)D103を算出する。量子化復号値算出部102は、この量子化復号値D103を量子化誤差算出部104に供給する。
【0133】
【数9】
【0134】
ここで、量子化復号パラメータテーブル103は、各量子化ステップサイズ(Δ)D101及び各量子化係数(Qc)D14の大きさに応じて定義され、パラメータ候補値rnは0以上1未満の値である。さらに、そのパラメータ候補値rnの数は、量子化ステップサイズ(Δ)D101の大きさが小さいほど、また各量子化係数(Qc)D14の値が大きいほど少なくする。これは、量子化ステップサイズ(Δ)D101が小さいほど、また量子化係数(Qc)D14の値が大きいほど、量子化区間内の生起確率が一様分布に近づき、パラメータ候補値rnの数を多くする効果が低減するためである。
【0135】
量子化誤差算出部104は、量子化復号値D103と符号ブロック変換係数D100との量子化誤差D104を算出し、この量子化誤差D104を量子化復号パラメータ設定部105に供給する。なお、量子化誤差の評価規範は、2乗誤差や絶対値誤差などを用いることができる。
【0136】
以上の処理を、量子化復号パラメータテーブル103の全てのパラメータ候補値rnについて実行し、量子化復号パラメータ設定部105は、最小の量子化誤差を与える量子化復号パラメータD105を量子化復号パラメータテーブル103から読み出して、最終的な量子化復号パラメータ(r)D91として出力する。
【0137】
この量子化復号パラメータの探索処理について、図27のフローチャートを用いて説明する。先ずステップS40において、初期設定として最小量子化誤差Eminを無限大とする。また、パラメータ候補値rnをr0,…,rM−1のM個とし、さらにパラメータkをk=0とする。
【0138】
次にステップS41において、パラメータ候補値rkのときの量子化誤差Ekを算出し、続くステップS42において、量子化誤差EkがEmin未満であるか否かが判別される。ここで、量子化誤差EkがEmin未満である場合(Yes)にはステップS43でEmin=Ek、r=rkと更新し、ステップS44に進む。一方、量子化誤差EkがEmin以上である場合(No)にはステップS44に進む。
【0139】
ステップS44では、kが1インクリメントされ、ステップS45では、kがMよりも大きいか否か、すなわち全てのパラメータ候補値rnについて量子化誤差Enを算出したか否かが判別される。ここで、kがM以下である場合(Yes)には、ステップS41に戻って残りのパラメータ候補値rnについて量子化誤差Enを算出し、kがMよりも大きい場合(No)には、rを量子化復号パラメータと決定して処理を終了する。
【0140】
図25に戻って量子化復号パラメータ符号化部93は、量子化復号値設定部92から供給された量子化復号パラメータD91を符号化し、その符号データD92を符号化コードストリーム生成部22に供給する。ここで、量子化復号パラメータ間に相関がある場合、既に符号化された隣接する量子化復号パラメータとの差分をエントロピー符号化し、符号データを符号化コードストリーム生成部22に供給する。
【0141】
なお、量子化誤差の値は、ある範囲のデータ領域を対象にした量子化誤差の和で定義されるが、その範囲は画像領域上のプリシンクト(Precinct)と呼ばれる矩形領域毎、コンポーネント毎、ウェーブレット変換レベル毎、サブバンド毎、或いは符号ブロック毎の何れも指定可能である。この場合、量子化復号パラメータもそのデータ領域毎に定義されるため、量子化復号パラメータ符号化部 は、データ領域がどのように定義されているかを示す付加情報をさらに符号化し、符号データを符号化コードストリーム生成部22に供給する。
【0142】
符号化コードストリーム生成部22は、JPEG2000規格のCOMマーカと呼ばれるユーザが使用可能なデータ領域にその符号データを埋め込む。このようにCOMマーカに埋め込むことにより、第2の実施の形態における符号化コードストリームを想定していないJPEG2000規格準拠の画像復号装置でも復号処理が可能となる。
【0143】
(2−2)画像復号装置の構成及び動作
次に第2の実施の形態における画像復号装置の概略構成を図28に示す。図28に示す画像復号装置110は、基本構造を図23に示した画像復号装置50と同様とするが、適応逆量子化部112における処理内容が変わり、量子化復号パラメータ復号部111が追加されている点に特徴を有している。したがって、先に図23に示した画像復号装置50と同様の構成については同一符号を付して詳細な説明を省略し、以下では主として量子化復号パラメータ復号部111と適応逆量子化部112とについて説明する。
【0144】
量子化復号パラメータ復号部111は、JPEG2000規格のCOMマーカ内の量子化復号パラメータ(r)D110を予め規定された方法で復号し、復号した量子化復号パラメータ(r)D111を適応逆量子化部に供給する。
【0145】
適応逆量子化部112は、ヘッダ解析部53から供給されたスカラ逆量子化の量子化ステップサイズ(Δb)D55とパケットヘッダ解析部54から供給された符号化パスの情報D56と、量子化復号パラメータ復号部111から供給された量子化復号パラメータD111とに基づいて、ビットプレーン復号パス生成部57から供給された量子化係数D60に対して逆量子化を施してウェーブレット変換係数D112を生成する。
【0146】
この適応逆量子化部112の詳細な構成を図29に示す。図29に示すように、適応逆量子化部112は、切り捨て符号化パス数算出部120と、量子化ステップサイズ設定部121と、逆量子化部123とから構成されている。
【0147】
切り捨て符号化パス数算出部120は、前述と同様に、スカラ逆量子化の量子化ステップサイズ(Δb)D55と符号化パスの情報D56とに基づいて切り捨て符号化パス数(TCc)D120を算出し、この切り捨て符号化パス数(TCc)D120を量子化ステップサイズ設定部121に供給する。また、量子化ステップサイズ設定部121は、前述と同様に、スカラ逆量子化の量子化ステップサイズ(Δb)D55と切り捨て符号化パス数(TCc)D120とに基づいて量子化ステップサイズ(Δ)D121を求め、この量子化ステップサイズ(Δ)D121を逆量子化部123に供給する。
【0148】
逆量子化部123は、量子化係数(Qc)D60と量子化復号パラメータ(r)D111と量子化ステップサイズ(Δ)D121とを用いて、前述と同様にして量子化復号値IQcを算出し、この量子化復号値IQcをウェーブレット変換係数D112として出力する。
【0149】
以上説明したように、第2の実施の形態における画像符号化装置90及び画像復号装置110によれば、量子化誤差が最小となるように符号化側で量子化復号値を適応的に選択し、この量子化復号値を与える量子化復号パラメータを符号化して符号化コードストリームに含め、復号側においてこの量子化復号パラメータを逆量子化に用いるようにすることで、量子化誤差を低減し、画質を大きく改善することができる。
【0150】
ここで、通常の量子化復号値の設定方法では、全ての符号ブロックで同一の手法を用いているが、量子化区間内の生起確率分布が一様分布から離れる分布になるほど量子化誤差が大きくなる。特に、低ビットレート符号化時では量子化ステップサイズが大きくなり、結果的に0近傍の値に量子化される割合が大きくなる。このとき、0近傍の量子化区間内の生起確率分布が図30に示すようなラプラス分布に近付き、量子化誤差が大きくなるが、上述したように量子化誤差が最小となるように量子化復号値を選択することで、量子化誤差が低減され、画質を大きく改善することができる。
【0151】
なお、本発明は上述した実施の形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。
【0152】
【発明の効果】
以上詳細に説明したように、本発明に係る画像符号化装置及びその方法は、入力画像に対して階層的にフィルタリング処理を施して複数のサブバンドを生成し、フィルタリング処理後の上記入力画像の各係数を量子化ステップサイズで除算して量子化し、上記サブバンドを分割して所定の大きさの符号ブロックを生成し、この符号ブロック毎に最上位ビットから最下位ビットに至るビットプレーンを生成し、このビットプレーン毎に生成された符号化パスを算術符号化し、生成された算術符号にパケットヘッダを付加してパケットを構成することにより符号化コードストリームを生成するものであり、上記量子化の際には、0値に量子化する量子化区間であるデッドゾーンの幅と該デッドゾーンに隣接する隣接量子化区間の幅との比を可変に設定する。
【0153】
このような画像符号化装置及びその方法によれば、例えば最高域のサブバンドにおけるデッドゾーンの幅を狭めるように、或いは入力画像がインタレース画像の場合に、最高域のサブバンドで、且つ水平方向が低域で垂直方向が高域のサブバンドにおけるデッドゾーンの幅を狭めるように、デッドゾーンの幅と隣接量子化区間の幅との比を設定することにより、復号画像中に存在する斜め線の再現性やテクスチャの鮮鋭度を向上させたり、インタレース画像の動きの再現性を向上させたりすることができる。
【0154】
また、本発明に係る画像復号装置及びその方法は、上記のようにして生成された符号化コードストリームを入力し、該入力符号化コードストリームを復号して上記入力画像を復元するものであり、上記入力符号化コードストリームを上記パケットヘッダと上記算術符号とに分解し、上記算術符号を復号し、上記ビットプレーン毎に符号化パスを復号して上記最上位ビットから最下位ビットに至るビットプレーンを復元し、上記最上位ビットから最下位ビットに至るビットプレーンに基づいて上記符号ブロックを復元し、この符号ブロックを集めて上記サブバンドを生成し、このサブバンド毎の量子化係数を逆量子化し、上記サブバンドに対して階層的にフィルタリング処理を施して上記入力画像を復元する。ここで、符号化側における量子化の際には、0値に量子化する量子化区間であるデッドゾーンの幅と該デッドゾーンに隣接する隣接量子化区間の幅との比が可変に設定されており、上記逆量子化の際には、値が1である量子化係数の量子化復号値を可変に設定する。
【0155】
このような画像復号装置及びその方法によれば、例えば符号化側において最高域のサブバンドにおけるデッドゾーンの幅を狭めるようにデッドゾーンの幅と該デッドゾーンに隣接する隣接量子化区間の幅との比が設定されている場合に、値が1である量子化係数の量子化復号値を隣接量子化区間の中央値よりも小さな値に設定することにより、量子化誤差を削減し、画質劣化を防止することができる。
【0156】
また、本発明に係る画像符号化装置及びその方法は、入力画像に対して階層的にフィルタリング処理を施して複数のサブバンドを生成し、フィルタリング処理後の上記入力画像の各係数を量子化ステップサイズで除算して量子化し、上記サブバンドを分割して所定の大きさの符号ブロックを生成し、この符号ブロック毎に最上位ビットから最下位ビットに至るビットプレーンを生成し、このビットプレーン毎に生成された符号化パスを算術符号化し、上記量子化によって生成された各量子化係数に対して、量子化誤差が最小となる量子化復号値を探索し、該量子化誤差が最小となる量子化復号値を与えるパラメータ情報を決定して符号化し、算術符号化によって生成された算術符号にパケットヘッダを付加してパケットを構成し、さらに符号化された上記パラメータ情報を付加することにより符号化コードストリームを生成するものである。
【0157】
また、本発明に係る画像復号装置及びその方法は、上記のようにして生成された符号化コードストリームを入力し、該入力符号化コードストリームを復号して上記入力画像を復元するものであり、上記入力符号化コードストリームに含まれる上記パラメータ情報を復号し、上記入力符号化コードストリームを上記パケットヘッダと上記算術符号とに分解し、上記算術符号を復号し、上記ビットプレーン毎に符号化パスを復号して上記最上位ビットから最下位ビットに至るビットプレーンに復元し、この最上位ビットから最下位ビットに至るビットプレーンに基づいて上記符号ブロックを復元し、上記符号ブロックを集めて上記サブバンドを生成し、上記パラメータ情報に基づいて上記サブバンド毎の量子化係数を逆量子化し、上記サブバンドに対して階層的にフィルタリング処理を施して上記入力画像を復元するものである。
【0158】
このような画像符号化装置及びその方法、並びに画像復号装置及びその方法によれば、量子化誤差が最小となるように符号化側で量子化復号値を適応的に選択し、この量子化復号値を与える量子化復号パラメータを符号化して符号化コードストリームに含め、復号側においてこの量子化復号パラメータを逆量子化に用いるようにすることで、量子化誤差を低減し、画質を大きく改善することができる。
【図面の簡単な説明】
【図1】第1の実施の形態における画像符号化装置の概略構成を説明する図である。
【図2】3回ウェーブレット変換した場合のサブバンドを説明する図である。
【図3】実際の画像をウェーブレット変換した場合のサブバンドを示す図であり、同図(A)は、1回ウェーブレット変換した例を示し、同図(B)は、3回ウェーブレット変換した例を示す。
【図4】符号ブロックとサブバンドとの関係を説明する図である。
【図5】ビットプレーンを説明する図であり、同図(A)は、計16個の係数から成る量子化係数を示し、同図(B)は、係数の絶対値のビットプレーンを示し、同図(C)は、符号のビットプレーンを示す。
【図6】符号ブロック内の符号化パスの処理手順を説明する図である。
【図7】符号ブロック内の係数のスキャン順序を説明する図である。
【図8】同画像符号化装置で生成されるパケットを説明する図である。
【図9】同画像符号化装置におけるサブバンド量子化部の内部構成の一例を説明する図である。
【図10】量子化ステップサイズ(Δ)の算出方法の一例を説明する図である。
【図11】同サブバンド量子化部における量子化特性を示す図である。
【図12】従来の量子化特性を示す図である。
【図13】インタレース画像の一例を説明する図である。
【図14】インタレース画像における被写体画像の見え方を説明する図であり、同図(A)は、物体が画面中を右方向に移動する場合を示し、同図(B)は、プログレッシブ画面における当該物体の見え方を示す。
【図15】図13のインタレース画像を5回ウェーブレット変換した場合のサブバンドを示す図である。
【図16】復号画像を5回ウェーブレット変換した場合のサブバンドを示す図である。
【図17】デッドゾーン内の係数を置き換えた復号画像を5回ウェーブレット変換した場合のサブバンドを示す図である。
【図18】同サブバンド量子化部の内部構成の他の例を説明する図である。
【図19】同サブバンド量子化部の切り捨て符号化パス数予測部の内部構成の一例を説明する図である。
【図20】各符号ブロックのIDを説明する図であり、同図(A)は、LHサブバンドよりもHLサブバンドを優先させる例を示し、同図(B)は、HLサブバンドよりもLHサブバンドを優先させる例を示す。
【図21】同切り捨て符号化パス数予測部の特徴量抽出部での特徴量抽出処理の一例を説明するフローチャートである。
【図22】同切り捨て符号化パス数予測部の符号量推定部及び初期レート制御部での処理の一例を説明するフローチャートである。
【図23】第1の実施の形態における画像復号装置の概略構成を説明する図である。
【図24】同画像復号装置における適応逆量子化部の内部構成の一例を説明する図である。
【図25】第2の実施の形態における画像符号化装置の概略構成を説明する図である。
【図26】同画像符号化装置における量子化復号値設定部の内部構成の一例を説明する図である。
【図27】同量子化復号値設定部における量子化復号パラメータの探索処理を説明するフローチャートである。
【図28】第2の実施の形態における画像復号装置の概略構成を説明する図である。
【図29】同画像復号装置における適応逆量子化部の内部構成の一例を説明する図である。
【図30】0近傍の量子化区間内の生起確率分布がラプラス分布に近似される例を示す図である。
【符号の説明】
10 画像符号化装置、11 DCレベルシフト部、12 ウェーブレット変換部、13 サブバンド量子化部、14 符号ブロック化部、15 ビットプレーン符号化パス生成部、16 算術符号化部、17 EBCOT部、18 符号化パス切り捨て部、19 パケットヘッダ生成部、20 パケット生成部、21ヘッダ生成部、22 符号化コードストリーム生成部、30 量子化ステップサイズ設定部、31 デッドゾーン内係数置き換え部、32 スカラ量子化部、33 切り捨て符号化パス数予測部、40 符号ブロック化部、41 ビットプレーン分解部、42 特徴量抽出部、43 符号量推定部、44 初期レート制御部、50 画像復号装置、51 符号化コードストリーム分解部、52 パケット分解部、53 ヘッダ解析部、54 パケットヘッダ解析部、55 復号ブロック化部、56 算術復号部、57 ビットプレーン復号パス生成部、58 EBCOT復号部、59 適応逆量子化部、60 ウェーブレット逆変換部、61 DCレベル逆シフト部、70 切り捨て符号化パス数算出部、71 量子化ステップサイズ設定部、72 量子化復号パラメータ選択部、73 量子化復号パラメータテーブル、74 逆量子化部、90 画像符号化装置、91 スカラ量子化部、92 量子化復号値設定部、93 量子化復号パラメータ符号化部、100 符号ブロック化部、101 量子化ステップサイズ設定部、102 量子化復号値算出部、103 量子化復号パラメータテーブル、104 量子化誤差算出部、105 量子化復号パラメータ設定部、110 画像復号装置、111 量子化復号パラメータ復号部、112 適応逆量子化部、120 切り捨て符号化パス数算出部、121 量子化ステップサイズ設定部、123 逆量子化部
Claims (25)
- 入力画像に対して階層的にフィルタリング処理を施して複数のサブバンドを生成するフィルタリング手段と、
上記フィルタリング処理後の上記入力画像の各係数を量子化ステップサイズで除算して量子化する量子化手段と、
上記サブバンドを分割し、所定の大きさの符号ブロックを生成する符号ブロック生成手段と、
上記符号ブロック毎に最上位ビットから最下位ビットに至るビットプレーンを生成するビットプレーン生成手段と、
上記ビットプレーン毎に生成された符号化パスを算術符号化する符号化手段と、
上記符号化手段によって生成された算術符号にパケットヘッダを付加してパケットを構成することにより符号化コードストリームを生成する符号化コードストリーム生成手段とを備え、
上記量子化手段は、0値に量子化する量子化区間であるデッドゾーンの幅と該デッドゾーンに隣接する隣接量子化区間の幅との比を可変に設定する
ことを特徴とする画像符号化装置。 - 上記量子化手段は、上記デッドゾーン内の係数の一部を上記隣接量子化区間内の値に置き換えることを特徴とする請求項1記載の画像符号化装置。
- 上記デッドゾーンの幅と上記隣接量子化区間の幅との比は、上記フィルタリングの各階層毎、上記サブバンド毎、コンポーネント毎又は上記係数毎に設定されることを特徴とする請求項1記載の画像符号化装置。
- 上記量子化手段は、最高域のサブバンドにおける上記デッドゾーンの幅を狭めるように、上記デッドゾーンの幅と上記隣接量子化区間の幅との比を設定することを特徴とする請求項1記載の画像符号化装置。
- 上記量子化手段は、上記入力画像がインタレース画像の場合に、最高域のサブバンドで、且つ水平方向が低域で垂直方向が高域のサブバンドにおける上記デッドゾーンの幅を狭めるように、上記デッドゾーンの幅と上記隣接量子化区間の幅との比を設定することを特徴とする請求項1記載の画像符号化装置。
- 入力画像に対して階層的にフィルタリング処理を施して複数のサブバンドを生成するフィルタリング工程と、
上記フィルタリング処理後の上記入力画像の各係数を量子化ステップサイズで除算して量子化する量子化工程と、
上記サブバンドを分割し、所定の大きさの符号ブロックを生成する符号ブロック生成工程と、
上記符号ブロック毎に最上位ビットから最下位ビットに至るビットプレーンを生成するビットプレーン生成工程と、
上記ビットプレーン毎に生成された符号化パスを算術符号化する符号化工程と、
上記符号化工程にて生成された算術符号からパケットを構成して符号化コードストリームを生成する符号化コードストリーム生成工程とを有し、
上記量子化工程では、0値に量子化する量子化区間であるデッドゾーンの幅と該デッドゾーンに隣接する隣接量子化区間の幅との比が可変に設定される
ことを特徴とする画像符号化方法。 - 入力画像に対して階層的にフィルタリング処理を施して複数のサブバンドを生成し、上記フィルタリング処理後の上記入力画像の各係数を量子化ステップサイズで除算して量子化し、上記サブバンドを分割して所定の大きさの符号ブロックを生成し、上記符号ブロック毎に最上位ビットから最下位ビットに至るビットプレーンを生成し、上記ビットプレーン毎に生成された符号化パスを算術符号化し、生成された算術符号にパケットヘッダを付加してパケットを構成することで得られた符号化コードストリームを入力し、該入力符号化コードストリームを復号して上記入力画像を復元する画像復号装置であって、
上記入力符号化コードストリームを上記パケットヘッダと上記算術符号とに分解するパケット分解手段と、
上記算術符号を復号する復号手段と、
上記ビットプレーン毎に符号化パスを復号して上記最上位ビットから最下位ビットに至るビットプレーンを復元する符号化パス復号手段と、
上記最上位ビットから最下位ビットに至るビットプレーンに基づいて上記符号ブロックを復元する符号ブロック復元手段と、
上記符号ブロックを集めて上記サブバンドを生成するサブバンド生成手段と、
上記サブバンド毎の量子化係数を逆量子化する逆量子化手段と、
上記サブバンドに対して階層的にフィルタリング処理を施して上記入力画像を復元するフィルタリング手段とを備え、
上記量子化の際には、0値に量子化する量子化区間であるデッドゾーンの幅と該デッドゾーンに隣接する隣接量子化区間の幅との比が可変に設定されており、
上記逆量子化手段は、値が1である量子化係数の量子化復号値を可変に設定する
ことを特徴とする画像復号装置。 - 上記量子化の際には、上記デッドゾーン内の係数の一部が上記隣接量子化区間内の値に置き換えられており、
上記逆量子化手段は、上記値が1である量子化係数の量子化復号値を上記隣接量子化区間の中央値よりも小さな値に設定する
ことを特徴とする請求項7記載の画像復号装置。 - 上記逆量子化手段は、上記量子化ステップサイズが小さくなるほど上記隣接量子化区間の中央値に近付くように、上記値が1である量子化係数の量子化復号値を設定することを特徴とする請求項8記載の画像復号装置。
- 上記量子化の際には、最高域のサブバンドにおける上記デッドゾーンの幅を狭めるように、上記デッドゾーンの幅と上記隣接量子化区間の幅との比が設定されており、
上記逆量子化手段は、上記最高域のサブバンドにおいて値が1である量子化係数の量子化復号値を可変に設定する
ことを特徴とする請求項7記載の画像復号装置。 - 上記量子化の際には、上記入力画像がインタレース画像の場合に、最高域のサブバンドで、且つ水平方向が低域で垂直方向が高域のサブバンドにおける上記デッドゾーンの幅を狭めるように、上記デッドゾーンの幅と上記隣接量子化区間の幅との比が設定されており、
上記逆量子化手段は、上記最高域のサブバンドで、且つ水平方向が低域で垂直方向が高域のサブバンドにおいて値が1である量子化係数の量子化復号値を可変に設定する
ことを特徴とする請求項7記載の画像復号装置。 - 入力画像に対して階層的にフィルタリング処理を施して複数のサブバンドを生成し、上記フィルタリング処理後の上記入力画像の各係数を量子化ステップサイズで除算して量子化し、上記サブバンドを分割して所定の大きさの符号ブロックを生成し、上記符号ブロック毎に最上位ビットから最下位ビットに至るビットプレーンを生成し、上記ビットプレーン毎に生成された符号化パスを算術符号化し、生成された算術符号にパケットヘッダを付加してパケットを構成することで得られた符号化コードストリームを入力し、該入力符号化コードストリームを復号して上記入力画像を復元する画像復号方法であって、
上記入力符号化コードストリームを上記パケットヘッダと上記算術符号とに分解するパケット分解工程と、
上記算術符号を復号する復号工程と、
上記ビットプレーン毎に符号化パスを復号して上記最上位ビットから最下位ビットに至るビットプレーンを復元する符号化パス復号工程と、
上記最上位ビットから最下位ビットに至るビットプレーンに基づいて上記符号ブロックを復元する符号ブロック復元工程と、
上記符号ブロックを集めて上記サブバンドを生成するサブバンド生成工程と、
上記サブバンド毎の量子化係数を逆量子化する逆量子化工程と、
上記サブバンドに対して階層的にフィルタリング処理を施して上記入力画像を復元するフィルタリング工程とを有し、
上記量子化の際には、0値に量子化する量子化区間であるデッドゾーンの幅と該デッドゾーンに隣接する隣接量子化区間の幅との比が可変に設定されており、
上記逆量子化工程では、値が1である量子化係数の量子化復号値が可変に設定される
ことを特徴とする画像復号方法。 - 入力画像に対して階層的にフィルタリング処理を施して複数のサブバンドを生成するフィルタリング手段と、
上記フィルタリング処理後の上記入力画像の各係数を量子化ステップサイズで除算して量子化する量子化手段と、
上記サブバンドを分割し、所定の大きさの符号ブロックを生成する符号ブロック生成手段と、
上記符号ブロック毎に最上位ビットから最下位ビットに至るビットプレーンを生成するビットプレーン生成手段と、
上記ビットプレーン毎に生成された符号化パスを算術符号化する符号化手段と、
上記量子化手段によって生成された各量子化係数に対して、量子化誤差が最小となる量子化復号値を探索し、該量子化誤差が最小となる量子化復号値を与えるパラメータ情報を決定するパラメータ設定手段と、
上記パラメータ情報を符号化するパラメータ符号化手段と、
上記符号化手段によって生成された算術符号にパケットヘッダを付加してパケットを構成し、さらに上記パラメータ符号化手段によって符号化された上記パラメータ情報を付加することにより符号化コードストリームを生成する符号化コードストリーム生成手段と
を備えることを特徴とする画像符号化装置。 - 上記パラメータ設定手段は、上記フィルタリング処理後の上記入力画像の各係数との所定のデータ領域内における自乗誤差和又は絶対値誤差和が最小となる量子化復号値を探索することを特徴とする請求項13記載の画像符号化装置。
- 上記パラメータ設定手段は、予め所定数に制限された複数のパラメータ候補値を記憶する記憶手段を有し、上記複数のパラメータ候補値の各々について量子化復号値を算出し、上記フィルタリング処理後の上記入力画像の各係数との上記所定のデータ領域内における自乗誤差和又は絶対値誤差和が最小となる量子化復号値を探索することを特徴とする請求項14記載の画像符号化装置。
- 上記パラメータ候補値の数は、上記量子化ステップサイズが小さいほど少ないことを特徴とする請求項15記載の画像符号化装置。
- 上記パラメータ候補値の数は、上記量子化係数の値が大きいほど少ないことを特徴とする請求項15記載の画像符号化装置。
- 上記パラメータ情報は、上記フィルタリングの各階層毎、上記サブバンド毎、コンポーネント毎、所定の矩形領域毎又は上記符号ブロック毎に設定されることを特徴とする請求項13記載の画像符号化装置。
- 上記パラメータ符号化手段は、隣接する量子化係数についてのパラメータ情報との差分値をエントロピー符号化することを特徴とする請求項13記載の画像符号化装置。
- 上記符号化コードストリーム生成手段は、上記パラメータ情報をヘッダのCOMマーカに埋め込むことを特徴とする請求項13記載の画像符号化装置。
- 入力画像に対して階層的にフィルタリング処理を施して複数のサブバンドを生成するフィルタリング工程と、
上記フィルタリング処理後の上記入力画像の各係数を量子化ステップサイズで除算して量子化する量子化工程と、
上記サブバンドを分割し、所定の大きさの符号ブロックを生成する符号ブロック生成工程と、
上記符号ブロック毎に最上位ビットから最下位ビットに至るビットプレーンを生成するビットプレーン生成工程と、
上記ビットプレーン毎に生成された符号化パスを算術符号化する符号化工程と、
上記量子化手段によって生成された各量子化係数に対して、量子化誤差が最小となる量子化復号値を探索し、該量子化誤差が最小となる量子化復号値を与えるパラメータ情報を決定するパラメータ設定工程と、
上記パラメータ情報を符号化するパラメータ符号化工程と、
上記符号化工程にて生成された算術符号にパケットヘッダを付加してパケットを構成し、さらに上記パラメータ符号化工程にて符号化された上記パラメータ情報を付加することにより符号化コードストリームを生成する符号化コードストリーム生成工程と
を有することを特徴とする画像符号化方法。 - 入力画像に対して階層的にフィルタリング処理を施して複数のサブバンドを生成し、上記フィルタリング処理後の上記入力画像の各係数を量子化ステップサイズで除算して量子化し、上記サブバンドを分割して所定の大きさの符号ブロックを生成し、上記符号ブロック毎に最上位ビットから最下位ビットに至るビットプレーンを生成し、上記ビットプレーン毎に生成された符号化パスを算術符号化し、上記量子化によって生成された各量子化係数に対して、量子化誤差が最小となる量子化復号値を探索して該量子化誤差が最小となる量子化復号値を与えるパラメータ情報を符号化し、生成された算術符号にパケットヘッダを付加してパケットを構成し、さらに上記パラメータ情報を付加することで得られた符号化コードストリームを入力し、該入力符号化コードストリームを復号して上記入力画像を復元する画像復号装置であって、
上記入力符号化コードストリームに含まれる上記パラメータ情報を復号するパラメータ復号手段と、
上記入力符号化コードストリームを上記パケットヘッダと上記算術符号とに分解するパケット分解手段と、
上記算術符号を復号する復号手段と、
上記ビットプレーン毎に符号化パスを復号して上記最上位ビットから最下位ビットに至るビットプレーンに復元する符号化パス復号手段と、
上記最上位ビットから最下位ビットに至るビットプレーンに基づいて上記符号ブロックを復元する符号ブロック復元手段と、
上記符号ブロックを集めて上記サブバンドを生成するサブバンド生成手段と、
上記パラメータ情報に基づいて上記サブバンド毎の量子化係数を逆量子化する逆量子化手段と、
上記サブバンドに対して階層的にフィルタリング処理を施して上記入力画像を復元するフィルタリング手段と
を備えることを特徴とする画像復号装置。 - 上記パラメータ情報は、上記フィルタリング処理後の上記入力画像の各係数との所定のデータ領域内における自乗誤差和又は絶対値誤差和が最小となる量子化復号値を与えるものであることを特徴とする請求項23記載の画像復号装置。
- 上記入力符号化コードストリームに上記パラメータ情報が含まれていない場合、上記逆量子化手段は、所定のパラメータ情報に基づいて上記サブバンド毎の量子化係数を逆量子化することを特徴とする請求項23記載の画像復号装置。
- 入力画像に対して階層的にフィルタリング処理を施して複数のサブバンドを生成し、上記フィルタリング処理後の上記入力画像の各係数を量子化ステップサイズで除算して量子化し、上記サブバンドを分割して所定の大きさの符号ブロックを生成し、上記符号ブロック毎に最上位ビットから最下位ビットに至るビットプレーンを生成し、上記ビットプレーン毎に生成された符号化パスを算術符号化し、上記量子化によって生成された各量子化係数に対して、量子化誤差が最小となる量子化復号値を探索して該量子化誤差が最小となる量子化復号値を与えるパラメータ情報を符号化し、生成された算術符号にパケットヘッダを付加してパケットを構成し、さらに上記パラメータ情報を付加することで得られた符号化コードストリームを入力し、該入力符号化コードストリームを復号して上記入力画像を復元する画像復号方法であって、
上記入力符号化コードストリームに含まれる上記パラメータ情報を復号するパラメータ復号工程と、
上記入力符号化コードストリームを上記パケットヘッダと上記算術符号とに分解するパケット分解工程と、
上記算術符号を復号する復号工程と、
上記ビットプレーン毎に符号化パスを復号して上記最上位ビットから最下位ビットに至るビットプレーンに復元する符号化パス復号工程と、
上記最上位ビットから最下位ビットに至るビットプレーンに基づいて上記符号ブロックを復元する符号ブロック復元工程と、
上記符号ブロックを集めて上記サブバンドを生成するサブバンド生成工程と、
上記パラメータ情報に基づいて上記サブバンド毎の量子化係数を逆量子化する逆量子化工程と、
上記サブバンドに対して階層的にフィルタリング処理を施して上記入力画像を復元するフィルタリング工程と
を有することを特徴とする画像復号方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003144873A JP2004350034A (ja) | 2003-05-22 | 2003-05-22 | 画像符号化装置及び方法、並びに画像復号装置及び方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003144873A JP2004350034A (ja) | 2003-05-22 | 2003-05-22 | 画像符号化装置及び方法、並びに画像復号装置及び方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004350034A true JP2004350034A (ja) | 2004-12-09 |
Family
ID=33532212
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003144873A Pending JP2004350034A (ja) | 2003-05-22 | 2003-05-22 | 画像符号化装置及び方法、並びに画像復号装置及び方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004350034A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007251672A (ja) * | 2006-03-16 | 2007-09-27 | Ricoh Co Ltd | 画像復号装置、画像符号化装置、画像復号方法、及び、画像符号化方法 |
JP2008131140A (ja) * | 2006-11-17 | 2008-06-05 | Canon Inc | 画像符号化装置 |
US7912324B2 (en) | 2005-04-28 | 2011-03-22 | Ricoh Company, Ltd. | Orderly structured document code transferring method using character and non-character mask blocks |
-
2003
- 2003-05-22 JP JP2003144873A patent/JP2004350034A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7912324B2 (en) | 2005-04-28 | 2011-03-22 | Ricoh Company, Ltd. | Orderly structured document code transferring method using character and non-character mask blocks |
JP2007251672A (ja) * | 2006-03-16 | 2007-09-27 | Ricoh Co Ltd | 画像復号装置、画像符号化装置、画像復号方法、及び、画像符号化方法 |
JP2008131140A (ja) * | 2006-11-17 | 2008-06-05 | Canon Inc | 画像符号化装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4273996B2 (ja) | 画像符号化装置及び方法、並びに画像復号装置及び方法 | |
JP3743384B2 (ja) | 画像符号化装置及び方法、並びに画像復号装置及び方法 | |
JP3461821B2 (ja) | メモリ管理システム及びメモリ管理方法 | |
US7167592B2 (en) | Method and apparatus for compression using reversible wavelet transforms and an embedded codestream | |
JP5034018B2 (ja) | 圧縮符号化装置、圧縮符号化方法およびプログラム | |
JP4365957B2 (ja) | 画像処理方法及びその装置及び記憶媒体 | |
US20060222254A1 (en) | Method and apparatus for compression using reversible wavelet transforms and an embedded codestream | |
KR20010075232A (ko) | 비디오 시퀀스의 압축을 위한 인코딩 방법 | |
US20080089413A1 (en) | Moving Image Encoding Apparatus And Moving Image Encoding Method | |
Wang et al. | Curved wavelet transform for image coding | |
JP2004336254A (ja) | 画像符号化装置及び方法 | |
JP2006304329A (ja) | 符号化方法及び復号化方法及び符号化装置及び復号化装置 | |
US5737448A (en) | Method and apparatus for low bit rate image compression | |
US20070036222A1 (en) | Non-zero coefficient block pattern coding | |
JP4449400B2 (ja) | 画像符号化装置及び方法、並びにプログラム及び記録媒体 | |
CA2552800A1 (en) | Video/image coding method and system enabling region-of-interest | |
JP2005086351A (ja) | 符号化装置、符号化方法、プログラム、及び、情報記録媒体 | |
JP4003628B2 (ja) | 画像符号化装置及び方法、並びにプログラム | |
Zandi et al. | CREW lossless/lossy medical image compression | |
Suruliandi et al. | Empirical evaluation of EZW and other encoding techniques in the wavelet-based image compression domain | |
JP2004350034A (ja) | 画像符号化装置及び方法、並びに画像復号装置及び方法 | |
JP2000041249A (ja) | 視覚的プログレッシブコ―ディング方法 | |
JP2005229441A (ja) | 画像符号化装置及び方法、並びに画像復号装置及び方法 | |
KR20020055864A (ko) | 칼라 정지영상의 부호화 및 복호화 방법 | |
JP4934081B2 (ja) | 符号化装置、符号処理装置、符号化方法、符号処理方法、コンピュータプログラム及び記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060522 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20071122 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071211 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080212 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20080311 |