JP2004350034A - Image encoding device and method and image decoding device and method - Google Patents

Image encoding device and method and image decoding device and method Download PDF

Info

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
Application number
JP2003144873A
Other languages
Japanese (ja)
Inventor
Takahiro Fukuhara
隆浩 福原
Seishi Kimura
青司 木村
Kazuhisa Hosaka
和寿 保坂
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2003144873A priority Critical patent/JP2004350034A/en
Publication of JP2004350034A publication Critical patent/JP2004350034A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Image Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To improve the subjective image quality of a decoded image by improving reproducibility of oblique lines existing in the decoded image and the sharpness of texture and to improve reproducibility of motions in the case that an input image is an interlaced image. <P>SOLUTION: In a subband quantization part of an image encoding device, a part of coefficients in a dead zone out of wavelet conversion coefficients in subbands of the highest band in the case of a still image or a progressive image or in subbands of the highest band, which are in a low band in the horizontal direction and are in a high band in the vertical direction, in the case of an interlaced image is substituted with values of adjacent quantization sections. Concretely, parameters D (0<D≤1), a constant R (1≤R<2), and a quantization step size Δ are used to perform quantization by substituting values of wavelet conversion coefficients being equal to or larger than D×Δ and smaller than Δ, with R×Δ and substituting values of wavelet conversion coefficients equal to or smaller than -D×Δ and larger than -Δ, with-R×Δ. <P>COPYRIGHT: (C)2005,JPO&NCIPI

Description

【0001】
【発明の属する技術分野】
本発明は、例えば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を量子化ステップサイズ(Δ)D23で除算して量子化する。さらに符号化パス切り捨て部18までの処理を実際に行って切り捨て符号化パス数D17を求める。そして、この切り捨て符号化パス数D17をサブバンド量子化部13に入力し、再度サブバンド量子化部13以降の処理を行う。この際、サブバンド量子化部13は、デッドゾーン内係数置き換え部31の処理を有効にする。
【0045】
なお、最初のデッドゾーン内係数置き換え部31における処理をスルーした状態で処理したデータをメモリ(図示せず)にバッファリングしておけば、デッドゾーン内係数置き換え部31の処理を有効にした後には、バッファリングしたデータと異なるものだけを実際に処理すればよい。この結果、全体の符号化処理量の増加を抑制することができる。
【0046】
以下では、この切り捨て符号化パス数D17を求めた後の処理について説明する。量子化ステップサイズ設定部30は、符号化パス切り捨て部18(図1)から供給された切り捨て符号化パス数(TC)D17とスカラ量子化の量子化ステップサイズ(Δ)D23とに基づいて、新たな量子化ステップサイズ(Δ)D30を算出し、この量子化ステップサイズ(Δ)D30をデッドゾーン内係数置き換え部31に供給する。
【0047】
この量子化ステップサイズ(Δ)D30の算出方法の一例について、図10を用いて説明する。この図10は、サブバンド量子化部13で生成される量子化係数D13を最上位ビット(MSB)から最下位ビット(LSB)までのビットプレーンに展開した場合における各ビットプレーンの配置関係を示したものである。各符号ブロックCB,CB,CB,CBに対して、最大ビットプレーン数M、ゼロビットプレーン数I、符号化される符号化パス数N、及び切り捨て符号化パス数TCが図10のように定義される。この場合、符号化される符号化パス数Nは、以下の式(1)によって求められる。但し、この式(1)で算出された符号化パス数Nが負になる場合は、強制的に0に置き換えられる。
【0048】
【数1】

Figure 2004350034
【0049】
ここで、JPEG2000規格では、1つのビットプレーンを符号化する際に、最上位のビットプレーンのみ1つの符号化パスを用いて符号化し、それ以外のビットプレーンは3つの符号化パスを用いて符号化することが定められているため、切り捨てビットプレーン数TBは、切り捨て符号化パス数TCを用いて以下の式(2)のように与えられる。
【0050】
【数2】
Figure 2004350034
【0051】
量子化ステップサイズ設定部30は、この切り捨てビットプレーン数TBとスカラ量子化の量子化ステップサイズΔとを用いて、以下の式(3)に従って量子化ステップサイズΔを算出する。
【0052】
【数3】
Figure 2004350034
【0053】
なお、ビットプレーン単位でまとめて符号化パスを切り捨てる場合には切り捨てビットプレーン数TBが整数となるが、符号化パス単位で符号化パスを切り捨てる場合には切り捨てビットプレーン数TBが整数とならないことがある。このような場合であっても、例えば式(2)をそのまま適用し、k/3の有理数(k:整数)を切り捨てビットプレーン数TBとして使用して構わない。
【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をスカラ量子化の量子化ステップサイズ(Δ)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における量子化ステップサイズΔを変更することによってもレート制御を行うことができる。この場合、算術符号化部16の出力である算術符号D16の符号量をカウントし、その合計符号量が目標符号量より多い場合にはスカラ量子化部32の量子化ステップサイズΔを大きくし、逆に目標符号量より少ない場合には量子化ステップサイズΔを小さくするという手順を複数回試行することで、全体の符号量を目標符号量に近付けることができる。この際、切り捨て符号化パス数TCcは固定値0となる。また、この手法を動画像に適用する場合には、複数フレーム間に亘って符号量を制御すればよいため、最初のフレームでは1回だけ試行し、次フレーム以降は過去のフレームで発生した符号量を利用して現在のフレームに対する量子化ステップサイズΔを予測して設定することも可能である。
【0065】
また、スカラ量子化部32における量子化ステップサイズΔの変更と、符号化パス切り捨て部18における符号化パスの切り捨てとを併用することも可能である。この場合、スカラ量子化の量子化ステップサイズ(Δ)D23は、画像領域又はウェーブレット変換係数領域で目標符号量を超える符号量が最小になるように量子化ステップサイズΔを予測するようにしても構わない。これにより、後段のEBCOT部17で符号化する符号化パス数Nや切り捨て符号化パス数TCを最小限に抑え、全体の符号化処理量を削減することができる。
【0066】
(1−1−2)変形例
上述の例では、デッドゾーン内係数置き換え部31(図9)で切り捨て符号化パス数(TC)D17を使用するため、予めスカラ量子化部32から符号化パス切り捨て部18(図1)までの処理を少なくとも1回実行する必要がある。しかしながら、通常のJPEG2000符号化処理ではEBCOT部17(図1)における処理の計算負荷が最も重いため、この処理を複数回行うと全体の符号化処理量が増大してしまうという問題が発生する。
【0067】
そこで、例えば図18に示すようにサブバンド量子化部13を構成し、切り捨て符号化パス数予測部33で切り捨て符号化パス数(TC)を予測することで、全体の符号化処理量を軽減することができる。このような構成のサブバンド量子化部13では、先ずデッドゾーン内係数置き換え処理を行わずにスカラ量子化部32においてウェーブレット変換係数D12を量子化ステップサイズ(Δ)D23で除算して量子化し、この量子化係数D32を用いて切り捨て符号化パス数予測部33において切り捨て符号化パス数(TC)を予測する。そして、量子化ステップサイズ設定部30では、切り捨て符号化パス数予測部33から供給された切り捨て符号化パス数(TC)D33を用いて、前述と同様にして量子化ステップサイズ(Δ)D30を設定する。
【0068】
ここで、切り捨て符号化パス数(TC)の予測方法の一例としては、本件出願人が先に提案した特願2002−350185の明細書及び図面に記載された技術を用いることができる。具体的には、ビットプレーン毎の量子化係数に基づいて符号量推定のための特徴量を抽出し、その特徴量に基づいてビットプレーン毎に発生する符号量を推定する。そして、この推定符号量に基づいて切り捨て符号化パス数(TC)を予測する。
【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は、各符号ブロック毎の切り捨て符号化パス数(TC)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】
Figure 2004350034
【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】
Figure 2004350034
【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】
Figure 2004350034
【0095】
続いてステップS25において、以下の式(8)乃至式(10)に従って、符号ブロック番号cb、ビットプレーン番号bp、符号化パス番号cpの符号化パスの符号化で発生する符号量Bitsを求め、符号量の総和TotalBitsにこの符号量Bitsを加える。
【0096】
【数7】
Figure 2004350034
【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とから符号ブロック毎の切り捨て符号化パス数(TC)を求め、この切り捨て符号化パス数(TC)を出力して処理を終了する。具体的には、符号ブロック番号cbがcb未満の符号ブロックでは、符号化パス番号cpがcp+1以上である符号化パスの数を切り捨て符号化パス数(TC)として出力し、符号ブロック番号cbがcb以上の符号ブロックでは、符号化パス番号cpがcp以上である符号化パスの数を切り捨て符号化パス数(TC)として出力する。一方、符号量の総和TotalBitsが初期目標符号量未満である場合(No)にはステップS27に進む。
【0103】
ステップS27では、未処理の符号ブロックがあるか否かを判別し、未処理の符号ブロックがある場合(Yes)には、ステップS28でcbに1を加えてステップS22に戻り、そうでない場合(No)にはステップS29に進む。
【0104】
ステップS29では、符号ブロック番号cbの符号ブロックにおいて未処理の符号化パスがあるか否かを判別し、未処理の符号化パスがある場合(Yes)には、ステップS30でcpに1を加えてステップS21に戻り、そうでない場合(No)にはステップS31に進み、その時点での符号ブロック番号cbと符号化パス番号cpとから符号ブロック毎の切り捨て符号化パス数(TC)を求め、この切り捨て符号化パス数(TC)を出力して処理を終了する。
【0105】
以上のような処理を行うことで、符号量推定部43及び初期レート制御部44は、特徴量抽出部42から供給された特徴量D42に基づいて符号化パス毎の推定符号量を求め、この推定符号量を上述した順序で順次加算し、初期目標符号量に達した時点で加算を停止する。そして、加算を停止した時点のコードブロック番号cbと符号化パス番号cpとから符号ブロック毎の切り捨て符号化パス数(TC)を求め、この切り捨て符号化パス数(TC)D33を量子化ステップサイズ設定部30(図18)に供給する。これにより、EBCOT部17(図1)における処理を行うことなく切り捨て符号化パス数(TC)を求めることができ、全体の符号化処理量を削減することができる。
【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は、前述と同様に、スカラ逆量子化の量子化ステップサイズ(Δ)D55と符号化パスの情報D56とに基づいて切り捨て符号化パス数(TC)D70を算出し、この切り捨て符号化パス数(TC)D70を量子化ステップサイズ設定部71に供給する。また、量子化ステップサイズ設定部71は、前述と同様に、スカラ逆量子化の量子化ステップサイズ(Δ)D55と切り捨て符号化パス数(TC)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は、量子化係数(Q)D60と量子化復号パラメータ(r)D73と量子化ステップサイズ(Δ)D71とを用いて、以下の式(11)に従って量子化復号値IQを算出し、この量子化復号値IQをウェーブレット変換係数D61として出力する。
【0122】
【数8】
Figure 2004350034
【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を量子化ステップサイズ(Δ)D23で除算して量子化し、量子化係数D90を符号ブロック化部14に供給する。
【0128】
量子化復号値設定部92は、ウェーブレット変換部12から供給されたウェーブレット変換係数D12と、符号ブロック化部14から供給された符号ブロック毎の量子化係数D14と、符号化パス切り捨て部18から供給された切り捨て符号化パス数(TC)D17と、量子化ステップサイズ(Δ)D23とに基づいて最小の量子化誤差を与える量子化復号値を探索し、その量子化復号値を与える量子化復号パラメータD91を量子化復号パラメータ符号化部93に供給する。
【0129】
この量子化復号値設定部92の詳細な構成を図26に示す。図26に示すように、量子化復号値設定部92は、符号ブロック化部100と、量子化ステップサイズ設定部101と、量子化復号値算出部102と、量子化復号パラメータテーブル103と、量子化誤差算出部104と、量子化復号パラメータ設定部105とから構成されている。
【0130】
符号ブロック化部100は、ウェーブレット変換部12から供給されたウェーブレット変換係数D12を符号ブロック単位に分割し、符号ブロック変換係数D100を量子化誤差算出部104に供給する。
【0131】
量子化ステップサイズ設定部101は、前述と同様に、スカラ逆量子化の量子化ステップサイズ(Δ)D23と符号化パス切り捨て部17から供給された切り捨て符号化パス数(TC)D17とに基づいて量子化ステップサイズ(Δ)D 101を求め、この量子化ステップサイズ(Δ)D101を量子化復号値算出部102及び量子化復号パラメータテーブル103に供給する。
【0132】
量子化復号値算出部102は、量子化復号パラメータテーブル103から複数のパラメータ候補値(r,0≦r<1)のうちの1つを読み出し、読み出したパラメータ候補値D102と量子化ステップサイズ設定部101から供給された量子化ステップサイズ(Δ)D101とに基づいて、以下の式(12)に従って量子化復号値(IQc,n)D103を算出する。量子化復号値算出部102は、この量子化復号値D103を量子化誤差算出部104に供給する。
【0133】
【数9】
Figure 2004350034
【0134】
ここで、量子化復号パラメータテーブル103は、各量子化ステップサイズ(Δ)D101及び各量子化係数(Q)D14の大きさに応じて定義され、パラメータ候補値rは0以上1未満の値である。さらに、そのパラメータ候補値rの数は、量子化ステップサイズ(Δ)D101の大きさが小さいほど、また各量子化係数(Q)D14の値が大きいほど少なくする。これは、量子化ステップサイズ(Δ)D101が小さいほど、また量子化係数(Q)D14の値が大きいほど、量子化区間内の生起確率が一様分布に近づき、パラメータ候補値rの数を多くする効果が低減するためである。
【0135】
量子化誤差算出部104は、量子化復号値D103と符号ブロック変換係数D100との量子化誤差D104を算出し、この量子化誤差D104を量子化復号パラメータ設定部105に供給する。なお、量子化誤差の評価規範は、2乗誤差や絶対値誤差などを用いることができる。
【0136】
以上の処理を、量子化復号パラメータテーブル103の全てのパラメータ候補値rについて実行し、量子化復号パラメータ設定部105は、最小の量子化誤差を与える量子化復号パラメータD105を量子化復号パラメータテーブル103から読み出して、最終的な量子化復号パラメータ(r)D91として出力する。
【0137】
この量子化復号パラメータの探索処理について、図27のフローチャートを用いて説明する。先ずステップS40において、初期設定として最小量子化誤差Eminを無限大とする。また、パラメータ候補値rをr,…,rM−1のM個とし、さらにパラメータkをk=0とする。
【0138】
次にステップS41において、パラメータ候補値rのときの量子化誤差Eを算出し、続くステップS42において、量子化誤差EがEmin未満であるか否かが判別される。ここで、量子化誤差EがEmin未満である場合(Yes)にはステップS43でEmin=E、r=rと更新し、ステップS44に進む。一方、量子化誤差EがEmin以上である場合(No)にはステップS44に進む。
【0139】
ステップS44では、kが1インクリメントされ、ステップS45では、kがMよりも大きいか否か、すなわち全てのパラメータ候補値rについて量子化誤差Eを算出したか否かが判別される。ここで、kがM以下である場合(Yes)には、ステップS41に戻って残りのパラメータ候補値rについて量子化誤差Eを算出し、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から供給されたスカラ逆量子化の量子化ステップサイズ(Δ)D55とパケットヘッダ解析部54から供給された符号化パスの情報D56と、量子化復号パラメータ復号部111から供給された量子化復号パラメータD111とに基づいて、ビットプレーン復号パス生成部57から供給された量子化係数D60に対して逆量子化を施してウェーブレット変換係数D112を生成する。
【0146】
この適応逆量子化部112の詳細な構成を図29に示す。図29に示すように、適応逆量子化部112は、切り捨て符号化パス数算出部120と、量子化ステップサイズ設定部121と、逆量子化部123とから構成されている。
【0147】
切り捨て符号化パス数算出部120は、前述と同様に、スカラ逆量子化の量子化ステップサイズ(Δ)D55と符号化パスの情報D56とに基づいて切り捨て符号化パス数(TC)D120を算出し、この切り捨て符号化パス数(TC)D120を量子化ステップサイズ設定部121に供給する。また、量子化ステップサイズ設定部121は、前述と同様に、スカラ逆量子化の量子化ステップサイズ(Δ)D55と切り捨て符号化パス数(TC)D120とに基づいて量子化ステップサイズ(Δ)D121を求め、この量子化ステップサイズ(Δ)D121を逆量子化部123に供給する。
【0148】
逆量子化部123は、量子化係数(Q)D60と量子化復号パラメータ(r)D111と量子化ステップサイズ(Δ)D121とを用いて、前述と同様にして量子化復号値IQを算出し、この量子化復号値IQをウェーブレット変換係数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 逆量子化部[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to an image encoding device and method for compressing an input image according to, for example, the JPEG2000 system, and an image decoding device and method for decoding an encoded code stream generated by such an image encoding device.
[0002]
[Prior art]
As a conventional representative image compression method, there is a JPEG (Joint Photographic Experts Group) method standardized by ISO (International Standards Organization). It uses a discrete cosine transform (DCT) and is known to provide good encoded and decoded images when relatively high bits are assigned. However, if the number of coded bits is reduced to a certain degree or more, block distortion peculiar to DCT becomes remarkable, and deterioration is subjectively noticeable.
[0003]
On the other hand, in recent years, researches on a method of dividing an image into a plurality of bands by a filter called a filter bank, which is a combination of a high-pass filter and a low-pass filter, and performing encoding for each band have been actively conducted. Above all, wavelet transform coding is regarded as a promising new technology to replace DCT because it does not have the drawback that block distortion becomes remarkable at high compression unlike DCT.
[0004]
For example, JPEG2000, whose international standardization was completed in January 2001, employs a method in which this wavelet transform is combined with highly efficient entropy coding (bit modeling and arithmetic coding on a bit plane basis). A great improvement in coding efficiency is realized (for example, see Patent Document 1 below).
[0005]
In these international standards, only the standards on the decoder side are defined, and the encoder side can be freely designed. On the other hand, the establishment of know-how is of paramount importance since there is no standard for effective means of rate control for achieving the target compression ratio. In particular, in the JPEG system, it is difficult to control the rate, and it is often necessary to perform a plurality of encodings to obtain a target value. However, this leads to an increase in processing time. Therefore, in the JPEG2000 system, it is desired to obtain a target code amount by one-time encoding.
[0006]
[Patent Document 1]
JP-A-2002-165098
[0007]
[Problems to be solved by the invention]
By the way, the encoding method in the JPEG2000 encoder is a technology outside the standard of JPEG2000, but an encoding method for assigning code bits with emphasis on low frequency is generally used. This utilizes the property that the human visual sensitivity to the spatial frequency increases as the low-frequency component increases. In this method, since the code bits are assigned with emphasis on the low band, the quantization step size of the high band component becomes large as a result, and most of the high band components are coded as 0 values. For this reason, the sharpness of the decoded image is reduced, resulting in an overall blurred image. In particular, a thin oblique line is reproduced as a jagged line, which is a factor that greatly reduces the subjective image quality.
[0008]
Motion-JPEG2000, which is a moving image standard of JPEG2000, is a continuation of still images of JPEG2000. However, when an encoding method that performs low-frequency-oriented bit allocation is directly applied to an interlaced image, motion is generally reproduced. There is a problem that the property is reduced. Although this problem can be improved by increasing the number of bits assigned to subbands that have the greatest effect on the reproducibility of motion, there is generally a trade-off relationship with the image quality of the image flat part. There was a problem that was difficult.
[0009]
Furthermore, although the operation of the decoder is specified in the JPEG2000 standard, there is a part where the parameter has a degree of freedom. For example, the quantized decoded value in the inverse quantization process only needs to exist within the quantization interval, and generally, the median of the quantization interval is used. On the other hand, the occurrence probability distribution of the wavelet transform coefficient is often approximated to a Laplace distribution, and when the median of the quantization interval is used as the quantization decoding value, the quantization error increases as the quantization step size increases. There was a problem that becomes large.
[0010]
The present invention has been proposed in view of such a conventional situation. For example, when an input image is encoded according to the JPEG2000 standard and a generated encoded code stream is decoded, an oblique image present in the decoded image is used. Improve the subjective image quality of decoded images by improving line reproducibility and texture sharpness, and improve the reproducibility of motion when the input image is an interlaced image, and further reduce quantization errors. It is an object of the present invention to provide an image encoding apparatus and method, and an image decoding apparatus and method capable of improving image quality by using the method.
[0011]
[Means for Solving the Problems]
In order to achieve the above object, an image coding apparatus and method according to the present invention perform hierarchical filtering processing on an input image to generate a plurality of subbands, and perform filtering on the input image. Is divided by the quantization step size to quantize, the subband is divided to generate a code block of a predetermined size, and a bit plane from the most significant bit to the least significant bit is generated for each code block. And generating a coded code stream by arithmetically coding the coding path generated for each bit plane and adding a packet header to the generated arithmetic code to form a packet. At the time of quantization, the ratio of the width of the dead zone, which is the quantization interval to be quantized to 0 value, to the width of the adjacent quantization interval adjacent to the dead zone is allowed. It is set to.
[0012]
In such an image encoding device and method, for example, the width of the dead zone in the highest sub-band is reduced, or when the input image is an interlaced image, the highest sub-band and the horizontal direction are used. The ratio between the width of the dead zone and the width of the adjacent quantization section is set so as to narrow the width of the dead zone in the sub-band in which the vertical direction is high in the low frequency band.
[0013]
Further, in order to achieve the above-described object, an image decoding device and a method thereof according to the present invention receive an encoded code stream generated as described above, decode the input encoded code stream, and Reconstructing an input image, decomposing the input coded code stream into the packet header and the arithmetic code, decoding the arithmetic code, decoding the coding path for each bit plane, and The bit plane from the bit to the least significant bit is restored, the code block is restored based on the bit plane from the most significant bit to the least significant bit, and the code blocks are collected to generate the subband. The quantization coefficient for each band is inversely quantized, and the sub-band is hierarchically filtered to restore the input image. Here, at the time of quantization on the encoding side, the ratio of the width of a dead zone, which is a quantization interval to be quantized to 0 value, to the width of an adjacent quantization interval adjacent to the dead zone is variably set. At the time of the inverse quantization, the quantized decoded value of the quantized coefficient having a value of 1 is variably set.
[0014]
In such an image decoding apparatus and method, for example, the ratio of the width of a dead zone to the width of an adjacent quantization section adjacent to the dead zone is reduced so as to reduce the width of the dead zone in the highest subband on the encoding side. Is set, the quantized decoded value of the quantized coefficient having the value of 1 is set to a value smaller than the median value of the adjacent quantization section.
[0015]
In addition, in order to achieve the above object, an image coding apparatus and method according to the present invention perform hierarchical filtering processing on an input image to generate a plurality of subbands, Each coefficient of the input image is divided by a quantization step size and quantized, and the sub-band is divided to generate a code block of a predetermined size, and a bit ranging from the most significant bit to the least significant bit for each code block. A plane is generated, an encoding path generated for each bit plane is arithmetically encoded, and a quantized decoded value with a minimum quantization error is searched for each quantized coefficient generated by the above-described quantization. Determining and encoding parameter information that gives a quantized decoded value that minimizes the quantization error, and adding a packet header to the arithmetic code generated by the arithmetic coding. Packets constitute, and generates an encoded code stream by adding the parameter information further encoded.
[0016]
Further, in order to achieve the above-described object, an image decoding device and a method thereof according to the present invention receive an encoded code stream generated as described above, decode the input encoded code stream, and It is for restoring an input image, decodes the parameter information included in the input coded code stream, decomposes the input coded code stream into the packet header and the arithmetic code, and decodes the arithmetic code. Decoding the encoding path for each bit plane and restoring the bit plane from the most significant bit to the least significant bit, and restoring the code block based on the bit plane from the most significant bit to the least significant bit , Collects the code blocks to generate the subbands, and performs quantization on each of the subbands based on the parameter information. The inverse quantization, in which by performing hierarchical filtering process on the subband to recover the input image.
[0017]
In such an image encoding apparatus and method, and an image decoding apparatus and method, a quantization decoding value is adaptively selected on the encoding side so that a quantization error is minimized, and the quantization decoding value is calculated. The given quantization decoding parameter is encoded and included in the encoded code stream, and the quantization decoding parameter is used for inverse quantization on the decoding side.
[0018]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, specific embodiments to which the present invention is applied will be described in detail with reference to the drawings.
[0019]
(1) First embodiment
(1-1) Configuration and operation of image coding apparatus
First, FIG. 1 shows a schematic configuration of an image encoding device according to the present embodiment. As shown in FIG. 1, the image encoding device 10 includes a DC level shift unit 11, a wavelet transform unit 12, a subband quantization unit 13, a code blocking unit 14, and a bit plane encoding path generation unit 15 , An arithmetic encoding unit 16, an encoding pass truncation unit 18, a packet header generation unit 19, a packet generation unit 20, a header generation unit 21, and an encoded code stream generation unit 22. Here, the EBCOT (Embedded Coding with Optimized Truncation) unit 17 is configured by the bit plane coding pass generation unit 15 and the arithmetic coding unit 16.
[0020]
The DC level shift unit 11 shifts the level of the original image signal D10 in order to efficiently perform the wavelet transform in the subsequent wavelet transform unit 11 and improve the compression ratio. In principle, the RGB signal has a positive value (an unsigned integer value), and therefore, by performing a level shift that halves the dynamic range of the original signal, the compression efficiency can be improved. On the other hand, since the color difference signals such as Cb and Cr in the YCbCr signal have both positive and negative integer values, no level shift is performed.
[0021]
The wavelet transform unit 12 is generally realized by a filter bank including a low-pass filter and a high-pass filter. Since a digital filter usually has an impulse response (filter coefficient) having a plurality of tap lengths, it is necessary to buffer an input image enough to perform filtering in advance, but for simplicity, FIG. Is omitted.
[0022]
The DC level shift unit 11 receives the minimum image signal D10 necessary for filtering and performs level shift as described above. Then, the wavelet transform unit 12 performs a filtering process for performing a wavelet transform on the image signal D11 after the DC level shift, and generates a wavelet transform coefficient D12.
[0023]
In this wavelet transform, the low-frequency component is usually repeatedly transformed as shown in FIG. 2, since most of the energy of the image is concentrated in the low-frequency component. This means that the subbands are formed as the division level is advanced from the division level = 1 shown in FIG. 3A to the division level = 3 shown in FIG. 3B as shown in FIG. It can be understood from going. Here, the division level of the wavelet transform in FIG. 2 is 3, and as a result, a total of 10 subbands are generated. In FIG. 2, L and H represent low and high frequencies, respectively, and the numbers after L and H represent the number of wavelet transform divisions. That is, for example, LH-1 represents a subband having a wavelet transform division number = 1 in which the horizontal direction is low and the vertical direction is high.
[0024]
The subband quantization unit 13 performs irreversible compression on the wavelet transform coefficient D12 supplied from the wavelet transform unit 12. As the quantization means, it is common to use scalar quantization for dividing the wavelet transform coefficient D12 by a quantization step size. Here, according to the JPEG2000 standard, when performing the above-described irreversible compression and using an irreversible 9 × 7 wavelet transform filter, it is determined that scalar quantization is automatically used together. On the other hand, when a reversible 5 × 3 wavelet transform filter is used, subband quantization is not performed, and code amount control is performed in the encoding path truncation unit 18 at the subsequent stage. Therefore, the subband quantizer 13 of FIG. 1 operates when the irreversible 9 × 7 wavelet transform filter is actually used, but when the reversible 5 × 3 wavelet transform filter is used. Also, it is interpreted that quantization has been performed such that the quantization step size is 1, and the following description proceeds.
[0025]
Here, the quantization in the image encoding device 10 is a concept including scalar quantization in the subband quantization unit 13 and truncation of the encoding path in the encoding path truncation unit 18, and the quantization step size is , Are defined by both a quantization step size of scalar quantization and a truncation number of an encoding pass, which will be described later. In the sub-band quantization unit 13, a process of replacing coefficients in the dead zone based on the quantization step size is performed, and the wavelet transform coefficient D 12 supplied from the wavelet transform unit 12 is based on the quantization step size D 23. The scalar quantization is performed to generate a quantization coefficient D13, and the quantization coefficient D13 is supplied to the code blocking unit 14. The details of the sub-band quantization unit 13 will be described later.
[0026]
The code blocking unit 14 divides the quantization coefficient D13 generated by the subband quantization unit 13 into code blocks of a predetermined size, which are processing units of entropy coding. Here, the positional relationship of the code blocks in the subband is shown in FIG. Normally, a code block having a size of, for example, about 64 × 64 is generated in all subbands after division. Therefore, if the size of a certain sub-band is 640 × 320, there are a total of 50 64 × 64 code blocks, 10 in the horizontal direction and 5 in the vertical direction. The code blocking unit 14 supplies the quantization coefficient D14 for each code block to the bit plane coding path generation unit 15, and the subsequent encoding process is performed for each of these code blocks.
[0027]
The bit plane coding pass generation unit 15 performs bit modeling on the quantization coefficient D14 for each code block as follows. Here, the present embodiment will be described by taking an example of entropy coding called EBCOT defined by the JPEG2000 standard. This EBCOT is described in detail in, for example, the document “IS0 / IEC 15444-1, Information technology-JPEG 2000, Part 1: Core coding system”.
[0028]
Before describing EBCOT, the concept of a bit plane will be described with reference to FIG. FIG. 5 (A) assumes a quantized coefficient composed of a total of 16 coefficients, four in length and four in width. Of these 16 coefficients, the one with the largest absolute value is 13, which is 1101 in binary notation. Therefore, the bit plane of the absolute value of the coefficient is composed of four bit planes as shown in FIG. The elements of each bit plane all take the number 0 or 1. On the other hand, as for the sign of the quantization coefficient, -6 is the only negative value, and the rest is 0 or a positive value. Therefore, the bit plane of the code is as shown in FIG.
[0029]
EBCOT is means for encoding while measuring the statistics of the coefficients in each block of a predetermined size, and entropy-encodes the quantized coefficients in code block units. The code block is independently coded from the most significant bit (MSB) to the least significant bit (LSB) for each bit plane. The vertical and horizontal size of the code block is a power of 2 from 4 to 256, and a size such as 32 × 32, 64 × 64, or 128 × 32 is usually used. The quantization coefficient is represented by an n-bit signed binary number, and bit0 to bit (n−2) represent each bit from LSB to MSB. Note that the remaining one bit is a code. The coding of the code block is performed by the following three types of coding passes (a) to (c) in order from the bit plane on the MSB side.
(A) Significance Propagation Pass
(B) Magnitude Refinement Pass
(C) Clean up Pass
[0030]
The order in which the three coding passes are used is shown in FIG. As shown in FIG. 6, first, the bit plane (n-2) (MSB) is encoded by a Clean up Pass (hereinafter, appropriately referred to as a "CU pass"). Subsequently, sequentially going to the LSB side, each bit plane is used in the following order: Significance Propagation Pass (hereinafter, appropriately referred to as “SP pass”), Magnitude Refinement Pass (hereinafter, appropriately referred to as “MR pass”), and CU pass. And encoded.
[0031]
However, in practice, the number of the bit plane from the MSB side at which 1 appears for the first time is written in the header, and the bit plane of all 0s is not encoded. Coding is performed by repeatedly using three types of coding paths in this order, and coding is stopped at any bit plane up to any coding path, thereby taking a trade-off between the code amount and the image quality, that is, controlling the rate. It can be carried out.
[0032]
Here, scanning of coefficients will be described with reference to FIG. The code block is divided into stripes for every four height coefficients. The width of the stripe is equal to the width of the code block. The scan order is the order in which all the coefficients in one code block are traced, and the order from the upper stripe to the lower stripe in the code block, the order from the left column to the right column in each stripe, Scanning is performed from top to bottom in each column. Note that in each encoding pass, all coefficients in the code block are processed in this scan order.
[0033]
Hereinafter, the three encoding passes described above will be described.
(A) Significance Propagation Pass
In the SP pass that encodes a certain bit plane, non-significant coefficients in which at least one coefficient near eight is significant are arithmetically encoded. If the value of the encoded coefficient is 1, the sign of the code is arithmetically encoded continuously.
[0034]
Here, “significance” is a state that the encoder has for each coefficient. The initial value of the significance is 0 representing non-significant, changes to 1 representing significant when 1 is encoded by the coefficient, and is always 1 thereafter. Therefore, the significance can also be said to be a flag indicating whether or not the information of the significant digits has already been encoded. If an SP pass occurs in a certain bit plane, no SP pass occurs in subsequent bit planes.
[0035]
(B) Magnitude Refinement Pass
In an MR pass for encoding a bit plane, a significant coefficient not encoded in the SP pass is arithmetically encoded.
[0036]
(C) Clean up Pass
In the CU pass for encoding a bit plane, non-significant coefficients not encoded in the SP pass are arithmetically encoded. If the value of the encoded coefficient is 1, the sign of the code is arithmetically encoded continuously.
[0037]
In arithmetic coding in the above three coding passes, ZC (Zero Coding), RLC (Run-Length Coding), SC (Sign Coding), and MR (Magnitude Refinement) are used depending on the case, and the Is selected. Then, the selected context is encoded by an arithmetic code called MQ encoding. This MQ coding is a learning-type binary arithmetic code defined by JBIG2. MQ coding is described in, for example, the document “ISO / IEC FDIS 14492,“ Lossy / Lossless Coding of Bi-level Images ”, March 2000” and the like. In JPEG2000, there are a total of 19 types of contexts in all encoding passes.
[0038]
As described above, the bit plane encoding path generation unit 15 decomposes the quantized coefficient D14 for each code block into bit planes, and also decomposes each bit plane into three encoding paths. Generate context D15. Then, the arithmetic coding unit 16 performs arithmetic coding on the context D15.
[0039]
The coding pass truncation unit 18 counts the code amount of the arithmetic code D16 supplied from the arithmetic coding unit 16 after performing at least a part of the coding pass processing, and when the code amount reaches the target code amount or Immediately before reaching, the subsequent arithmetic code D16 is truncated. In this way, by truncating just before the target code amount is exceeded, it is possible to reliably fit within the target code amount. The coding pass truncation unit 18 supplies the truncated coding pass number D17 to the subband quantization unit 13 and supplies the arithmetic code D18 after the code amount control is completed to the packet header generation unit 19 and the packet generation unit 20. .
[0040]
The packet header generation unit 19, based on the arithmetic code D18 after the code amount control supplied from the coding path truncation unit 18, adds additional information in the code block, such as the number of compression paths in the code block and the compression. The data length or the like of the code stream is generated as a packet header D19, and the packet header D19 is supplied to the packet generation unit 20.
[0041]
The packet generator 20 generates a packet D20 by combining the arithmetic code D18 after the code amount control is completed and the packet header D19, and supplies the packet D20 to the coded code stream generator 22. At this time, the packet generator 20 generates individual packets from subbands having the same number of wavelet transform divisions as shown in FIG. As can be seen from FIG. 8, packet-1 which is the lowest band includes only the LL component, and the other packets-2 to -4 include the LH component, the HL component, and the HH component.
[0042]
The header generation unit 21 inputs various parameter information such as the quantization step size D23 and supplies it to the encoded code stream generation unit 22 as the header D21. Then, the coded code stream generation unit 22 generates the coded code stream D22 by combining the packet D20 and the header D21, and outputs the coded code stream D22.
[0043]
(1-1-1) Configuration and operation of subband quantization unit
Hereinafter, the details of the processing in the above-described subband quantization unit 13 will be described. As shown in FIG. 9, the subband quantization unit 13 includes a quantization step size setting unit 30, a coefficient replacement unit in dead zone 31, and a scalar quantization unit 32. Based on the number of truncated encoding passes D17 supplied from FIG. 18 (FIG. 1) and the quantization step size D23 of scalar quantization, coefficients in the dead zone are replaced, and the wavelet transform supplied from the wavelet transform unit 12 is performed. Scalar quantization is performed on the coefficient D12 to generate a quantized coefficient D13.
[0044]
Here, information on the number of truncated encoding passes D17 is required for the process of replacing coefficients in the dead zone in the coefficient replacement unit in the dead zone 31 of the subband quantization unit 13. Therefore, in the image encoding apparatus 10, first, the scalar quantization unit 32 converts the wavelet transform coefficient D12 into the quantization step size (Δ b ) Divide by D23 and quantize. Further, the processing up to the coding pass truncation unit 18 is actually performed to obtain the truncated coding pass number D17. Then, the number of truncated encoding passes D17 is input to the sub-band quantization unit 13, and the processing after the sub-band quantization unit 13 is performed again. At this time, the sub-band quantization unit 13 enables the processing of the coefficient replacement unit in dead zone 31.
[0045]
If data processed in the state where the processing in the first dead zone coefficient replacement unit 31 is passed is buffered in a memory (not shown), the processing in the dead zone coefficient replacement unit 31 is enabled. Need only actually process data different from the buffered data. As a result, it is possible to suppress an increase in the entire encoding processing amount.
[0046]
In the following, a description will be given of the processing after obtaining the number of truncated encoding passes D17. The quantization step size setting unit 30 determines the number of truncated encoding passes (TC) supplied from the encoding pass truncating unit 18 (FIG. 1). c ) D17 and the quantization step size of scalar quantization (Δ b ) D23, and calculates a new quantization step size (Δ) D30, and supplies this quantization step size (Δ) D30 to the coefficient replacement unit 31 in the dead zone.
[0047]
An example of a method for calculating the quantization step size (Δ) D30 will be described with reference to FIG. FIG. 10 shows an arrangement relationship of each bit plane when the quantization coefficient D13 generated by the sub-band quantization unit 13 is expanded into bit planes from the most significant bit (MSB) to the least significant bit (LSB). It is a thing. Each code block CB 0 , CB 1 , CB 2 , CB 3 , The maximum number of bit planes M b , The number of zero bit planes I c , The number N of encoding passes to be encoded c , And the number of truncated encoding passes TC c Is defined as shown in FIG. In this case, the number N of encoding passes to be encoded c Is obtained by the following equation (1). However, the number N of encoding passes calculated by the equation (1) c Is negatively replaced with 0.
[0048]
(Equation 1)
Figure 2004350034
[0049]
Here, according to the JPEG2000 standard, when encoding one bit plane, only the most significant bit plane is encoded using one encoding pass, and the other bit planes are encoded using three encoding passes. , The number of truncated bit planes TB c Is the number of truncated encoding passes TC c Is given as in the following equation (2).
[0050]
(Equation 2)
Figure 2004350034
[0051]
The quantization step size setting unit 30 calculates the number TB of the truncated bit planes. c And scalar quantization step size Δ b Is used to calculate the quantization step size Δ according to the following equation (3).
[0052]
[Equation 3]
Figure 2004350034
[0053]
When the coding pass is cut off in units of bit planes, the number of cut-off bit planes TB c Is an integer, but when the coding pass is truncated in coding pass units, the number of truncated bit planes TB c May not be an integer. Even in such a case, for example, the equation (2) is applied as it is, and a rational number (k: an integer) of k / 3 is rounded down and the number of bit planes TB c It may be used as.
[0054]
The in-dead-zone coefficient replacement unit 31 converts a part of the coefficients in the dead zone, which is a quantization section to be quantized to 0, from the wavelet transform coefficients D12 supplied from the wavelet transform unit 12 (FIG. 1) to the dead zone. The value of the adjacent quantization section is replaced with the value, and the process of changing the ratio of the width of the dead zone to the width of the adjacent quantization section is performed. Specifically, as shown in FIG. 11, the value of the wavelet transform coefficient that is equal to or larger than D · Δ and smaller than Δ is replaced with R · Δ. Similarly, the value of the wavelet transform coefficient which is equal to or less than -D ・ and larger than -Δ is replaced with -R ・. Here, D is a parameter satisfying 0 <D ≦ 1, and R is a constant satisfying 1 ≦ R <2. The parameter D can be arbitrarily set for each number of wavelet transform divisions, for each subband, or for each wavelet transform coefficient belonging to a specific image space area, as long as it is within the range of 0 <D ≦ 1. When a color image has a plurality of components such as luminance and color difference, the parameter D can be set for each component.
[0055]
By this replacement process, in the linear quantization with a dead zone generally used in the related art as shown in FIG. 12, a wavelet transform coefficient equal to or larger than D · Δ and smaller than Δ, or equal to or smaller than −D · Δ. In addition, the quantization value when quantizing a wavelet transform coefficient larger than -Δ is replaced with 0 to 1.
[0056]
Returning to FIG. 9, the scalar quantization unit 32 converts the wavelet transform coefficient D31 of which some values have been replaced by the coefficient replacement unit 31 in the dead zone into a quantization step size (Δ b ) Divide by D23 for quantization, and output the quantized coefficient D13 after quantization.
[0057]
Here, the subband quantization unit 12 in the present embodiment sets the parameter D to 0 <only for the wavelet transform coefficient D12 belonging to the highest subband such as HL-1, LH-1, and HH-1. A value that satisfies D ≦ 1 is set, and D = 1 for the other subbands so that the conventional quantization characteristics are obtained. As a result, many of the wavelet transform coefficients D12 in the sub-bands of HL-1, LH-1, and HH-1 are quantized to non-zero values, and an effect like a kind of high-pass filter is obtained. It is possible to improve the reproducibility of the oblique lines existing in the decoded image and the sharpness of the texture.
[0058]
By the way, the JPEG2000 standard is a standard for still images, and sufficient consideration has not been given to interlaced images that frequently exist in moving images. Therefore, if the technique for a still image is applied to a moving image as it is, there is a disadvantage that deterioration is conspicuous. This will be specifically described below.
[0059]
FIG. 13 shows one frame of a certain interlaced moving image scene. When this is viewed on a progressive monitor such as a PC monitor, the effect of interlacing is strongly exerted on a moving part, and a stripe pattern is seen in the horizontal direction.
[0060]
That is, as shown in FIG. 14A, when a round object moves rightward in the screen, there is no problem on the interlaced screen, but on the progressive screen, a stripe pattern is formed in the horizontal direction as shown in FIG. 14B. I can see it. This is because the interlaced screen uses interlaced scanning in odd and even fields.
[0061]
FIG. 15 shows the state of each subband after the image shown in FIG. 13 is subjected to the wavelet transform five times. As can be seen from FIG. 15, the energy of the coefficient in the LH-1 sub-band, that is, the highest sub-band and the sub-band in the low frequency band in the horizontal direction and the high frequency band in the vertical direction, is smaller than that in the other sub-bands. It is getting bigger. On the other hand, FIG. 16 shows the state of each subband after performing the wavelet transform on the decoded image five times. As can be seen from FIG. 16, as a result of quantizing most of the coefficients of the LH-1 subband having the greatest effect on the reproducibility of the motion to 0, the energy of the coefficients of the LH-1 subband is reduced.
[0062]
Thus, when the input image is an interlaced image, subband quantization section 12 in the present embodiment sets parameter D in FIG. Is set to D = 1 so as to obtain the conventional quantization characteristic. At this time, FIG. 17 shows the state of each subband after performing the wavelet transform on the decoded image five times. As can be seen from FIG. 17, many of the coefficients quantized to 0 in the LH-1 subband are quantized to non-zero. As a result, the reproducibility of the motion when the decoded image is displayed as a moving image is improved.
[0063]
In the above-described example, the coding path truncation unit 18 counts the code amount of the arithmetic code D16 supplied from the arithmetic coding unit 16, and when the code amount reaches the target code amount or immediately before the target code amount is reached, Although it has been described that the rate control is performed by truncating the arithmetic code D16, the present invention is not limited to this.
[0064]
For example, the quantization step size Δ in the scalar quantization unit 32 b The rate control can also be performed by changing. In this case, the code amount of the arithmetic code D16 output from the arithmetic coding unit 16 is counted, and when the total code amount is larger than the target code amount, the quantization step size Δ of the scalar quantization unit 32 is used. b Is increased, and conversely, if it is smaller than the target code amount, the quantization step size Δ b By trying the procedure of reducing the number of times a plurality of times, the total code amount can be made closer to the target code amount. At this time, the number TCc of truncated encoding passes becomes a fixed value 0. When this method is applied to a moving image, the code amount may be controlled over a plurality of frames. Therefore, only one attempt is made in the first frame, and the code generated in the past frame is used in the subsequent frames. The quantization step size Δ for the current frame using the quantity b Can be predicted and set.
[0065]
Also, the quantization step size Δ in the scalar quantization unit 32 b Can be used in combination with the truncation of the coding pass in the coding pass truncation unit 18. In this case, the scalar quantization step size (Δ b ) D23 is a quantization step size Δ such that a code amount exceeding a target code amount in the image region or the wavelet transform coefficient region is minimized. b May be predicted. As a result, the number N of encoding passes to be encoded by the subsequent EBCOT unit 17 c And truncated encoding pass number TC c Can be minimized, and the entire encoding processing amount can be reduced.
[0066]
(1-1-2) Modified example
In the above example, the number of truncated encoding passes (TC c ) In order to use D17, it is necessary to execute at least once the processing from the scalar quantization unit 32 to the encoding pass truncation unit 18 (FIG. 1). However, in a normal JPEG2000 encoding process, since the calculation load of the process in the EBCOT unit 17 (FIG. 1) is the heaviest, if this process is performed a plurality of times, there arises a problem that the entire encoding processing amount increases.
[0067]
Therefore, for example, as shown in FIG. 18, the subband quantization unit 13 is configured, and the truncated encoding pass number prediction unit 33 configures the truncated encoding pass number (TC c ) Can reduce the entire coding processing amount. In the subband quantization unit 13 having such a configuration, the scalar quantization unit 32 first converts the wavelet transform coefficient D12 into the quantization step size (Δ b ), Divides by D23 to quantize, and uses the quantized coefficient D32 in the truncated coding pass number predicting unit 33 to calculate the truncated coding pass number (TC c Predict). Then, in the quantization step size setting unit 30, the number of truncated encoding passes (TC) supplied from the c ) Using D33, the quantization step size (Δ) D30 is set in the same manner as described above.
[0068]
Here, the number of truncated encoding passes (TC c As an example of the prediction method, the technique described in the specification and drawings of Japanese Patent Application No. 2002-350185 previously proposed by the present applicant can be used. Specifically, a feature amount for code amount estimation is extracted based on a quantization coefficient for each bit plane, and a code amount generated for each bit plane is estimated based on the feature amount. Then, based on the estimated code amount, the number of truncated coding passes (TC c Predict).
[0069]
FIG. 19 shows an example of the internal configuration of the truncated encoding pass number prediction unit 33. As shown in FIG. 19, the truncated coding pass number prediction unit 33 includes a code blocking unit 40, a bit plane decomposition unit 41, a feature amount extraction unit 42, a code amount estimation unit 43, and an initial rate control unit 44. It is composed of
[0070]
The code blocking unit 40 divides the quantization coefficient D32 generated by the scalar quantization unit 32 (FIG. 18) into the above-described code blocks, and the bit plane decomposition unit 41 converts the quantization coefficient D40 for each code block into bits. Break it down into planes.
[0071]
Based on the quantization coefficient D41 for each bit plane, the feature amount extraction unit 42, for example, encodes the number of quantization coefficients to be newly significant in the encoding of the bit plane to be processed, that is, the value in the bit plane to be processed. Is 1 and the number of quantized coefficients having a value of 0 in a higher-order bit plane is determined for each bit plane of all code blocks, and is supplied to the code amount estimating unit 43 as a feature amount D42.
[0072]
The code amount estimating unit 43 estimates a code amount generated for each bit plane by a method described later based on the feature amount D42 supplied from the feature amount extracting unit 42, and sends the estimated code amount D43 to the initial rate control unit 44. Supply.
[0073]
The initial rate control unit 44 sequentially adds the estimated code amount D43 supplied from the code amount estimating unit 43 for each coding pass, and when reaching the initial target code amount, discards the coding passes after that. Then, the initial rate control unit 44 determines the number of truncated coding passes (TC c ) D33 is supplied to the above-mentioned quantization step size setting unit 30 (FIG. 18).
[0074]
Hereinafter, the processing in the feature amount extraction unit 42, the code amount estimation unit 43, and the initial rate control unit 44 of the truncation coding pass number prediction unit 33 will be described in more detail. Here, for convenience, a number serving as an ID is defined for each code block, and processing is performed in the order of the number. Here, the numbers are defined in order from the low-frequency sub-band to the high-frequency sub-band, and within the same sub-band in the raster scan order.
[0075]
As for the HL sub-band and the LH sub-band having the same number of wavelet transform divisions, the HL sub-band may be prioritized as shown in FIG. 20 (A), or as shown in FIG. 20 (B). The LH subband may be prioritized.
[0076]
Also, when there are a plurality of components in a color image or the like, a number serving as an ID is similarly defined for all code blocks. At this time, if the component is composed of the luminance and the color difference, the number is defined by giving priority to the luminance component.
[0077]
In addition, for each code block, processing is performed in the direction from the most significant bit (MSB) to the least significant bit (LSB). Here, the number of digits when the quantization coefficient is expressed in a binary number generally differs for each subband. Therefore, in the following, when the maximum number of digits in all subbands is MAX_BP, a code block in which the number of digits is less than MAX_BP is padded with 0s on the most significant bit (MSB) side to make the number of digits MAX_BP and the least significant bit It is assumed that the bit positions from the (LSB) side are aligned.
[0078]
First, an example of a feature amount extraction process in the feature amount extraction unit 42 is shown in a flowchart of FIG. First, in step S1, cb = 0 is set. This indicates that the code block number cb of the code block to be processed first is 0.
[0079]
Next, in step S2, Significant [s] is initialized to “0” for all the quantized coefficients s of the code block. Here, Significant [s] is a variable that takes “1” if the quantization coefficient s is significant, and takes “0” if it is not significant. Since none of the quantization coefficients is initially a significant, it is initialized to "0". In step S2, bp = 0 is further set. This indicates that the bit plane number bp of the bit plane to be processed first is 0. Here, it is assumed that the bit plane number bp is assigned 0, 1, 2,..., MAX_BP-1 from the most significant bit (MSB) side.
[0080]
Subsequently, in Step S3, CountNewSig [cb] [bp] is initialized to 0. Here, CountNewSig [cb] [bp] is a counter that counts the number of quantization coefficients that are newly significant in the coding of the bit plane with the code block number cb and the bit plane number bp.
[0081]
In step S4, one unprocessed quantization coefficient s in the bit plane of the code block number cb and the bit plane number bp is selected. In step S5, Significant [s] is “0” and the quantization coefficient s It is determined whether or not the bp-th coefficient is 1. Here, if Significant [s] is “0” and the bp-th coefficient of the quantization coefficient s is 1 (Yes), the value of Significant [s] is updated to 1 in step S6, and CountNewSig [ cb] Add 1 to [bp]. Otherwise (No), the process proceeds to step S7.
[0082]
In step S7, it is determined whether or not there is an unprocessed quantized coefficient s in the bit plane of the bit plane number bp. If there is an unprocessed quantized coefficient s (Yes), the process returns to step S4; In this case (No), the process proceeds to step S8, and the value of CountNewSig [cb] [bp] is output. This value is the feature amount D42 in the bit plane of the code block number cb and the bit plane number bp, and is supplied from the feature amount extraction unit 42 to the code amount estimation unit 43.
[0083]
In step S9, it is determined whether or not there is an unprocessed bit plane in the code block of the code block number cb. If there is an unprocessed bit plane (Yes), 1 is added to bp in step S10, and step S10 is performed. The process returns to S3, and if not (No), the process proceeds to step S11.
[0084]
In step S11, it is determined whether there is an unprocessed code block. If there is an unprocessed code block (Yes), 1 is added to cb in step S12, and the process returns to step S2. In No), the feature amount extraction processing ends.
[0085]
By performing the above-described processing, the feature amount extraction unit 42 counts the number of quantization coefficients that are newly significant in each bit plane of all code blocks, and estimates the code amount as the feature amount D42. To the unit 43.
[0086]
In the above description, the number of quantization coefficients that are newly significant in the bit plane of the code block number cb and the bit plane number bp, that is, the value in the bit plane is 1, and the value in the bit plane higher than that is 1. The number of quantized coefficients that are 0 is counted as CountNewSig [cb] [bp], and this is used as the feature amount D42, but is not limited to this.
[0087]
For example, the number of quantized coefficients that are significant in the bit plane of the code block number cb and the bit plane number bp, that is, the number of quantized coefficients whose value is 1 in at least one bit plane equal to or larger than the bit plane is CountSig [ If cb] [bp], this CountSig [cb] [bp] satisfies the following equations (4) and (5).
[0088]
(Equation 4)
Figure 2004350034
[0089]
That is, since either CountSig [cb] [bp] or CountNewSig [cb] [bp] can be calculated by determining one of them, CountSig [cb] is used instead of the above-mentioned CountNewSig [cb] [bp]. ] [Bp] can be used as the feature amount D42.
[0090]
Next, an example of the processing in the code amount estimation unit 43 and the initial rate control unit 44 is shown in the flowchart of FIG. First, in step S20, the encoding pass number cp of the encoding pass to be processed is initialized to 0, and the total bit amount TotalBits is initialized to 0. Here, the coding pass number cp is 0 for the bit plane of bp = 0, and after bp = 1, for each bit plane, the order of SP pass, MR pass, CU pass is 1, 2, 3,. It shall be attached.
[0091]
Next, in step S21, the code block number cb of the code block to be processed is initialized to 0, and the current bit plane number bp is obtained according to the following equation (6). In Equation (6), the decimal part of the division result is truncated.
[0092]
(Equation 5)
Figure 2004350034
[0093]
Subsequently, in step S22, it is determined whether or not the bit plane number bp is 0. Here, if the bit plane number bp is 0 (Yes), CountMR [cb] [bp] is set to 0 in step S23. This CountMR [cb] [bp] indicates the number of quantization coefficients to be coded in the MR pass in the bit plane of the code block number cb and the bit plane number bp. On the other hand, if the bit plane number bp is not 0 (No) and the remainder obtained by dividing the coding pass number cp by 3 is 1, that is, if it is the first coding pass of each bit plane, at step S24 CountMR [cb] [bp] is obtained according to the following equation (7). Here, in Expression (7), cp% 3 indicates a remainder when cp is divided by 3.
[0094]
(Equation 6)
Figure 2004350034
[0095]
Subsequently, in step S25, according to the following equations (8) to (10), the code amount Bits generated in the coding pass coding of the code block number cb, the bit plane number bp, and the coding pass number cp is obtained. This code amount Bits is added to the total amount TotalBits of the code amount.
[0096]
(Equation 7)
Figure 2004350034
[0097]
That is, when the remainder obtained by dividing the encoding pass number cp by 3 is 2, that is, when the MR pass, the CountMR [cb] [bp] is multiplied by the constant RatioMR as shown in Expression (8). The obtained value becomes the estimated code amount Bits. The MR pass is an encoding for a coefficient that is already a significant. That is, since 1 appears in the bit plane higher than the bit plane, there is little bias in the probability of taking either 0 or 1 in the bit plane. The value of the constant RatioMR is approximately 1 because the code amount is necessary to encode what happens with a probability of 1/2.
[0098]
The code amount generated in the SP pass and the CU pass is CountNewSig [cb] [bp] × RatioNewSig. CountNewSig [cb] [bp] is the number of quantized coefficients whose bit plane coefficients to be encoded next are 1 which are not yet significant. Since this is unlikely to occur, the amount of generated codes increases. Therefore, a constant RatioNewSig different from the constant RatioMR of the second term on the right side is multiplied to obtain an estimated code amount.
[0099]
Here, assuming that the number of quantized coefficients of the code block is CountAll, the larger the value of CountMR [cb] [bp] / CountAll, the higher the ratio of the code amount generated in the SP path, and the smaller the code amount generated in the CU path. The ratio is lower. This means that a large CountMR [cb] [bp] / CountAll means that the number of significant coefficients is large, and the SP path encoding condition that at least one significant coefficient is near 8 is satisfied. This is because it becomes easier.
[0100]
Therefore, if the remainder obtained by dividing the encoding pass number cp by 3 is 1, that is, if it is an SP pass, CountMR [cb] [bp] / CountAll is converted into the ratio of the code amount generated in the SP pass. Using the function RatioSPFunk (CountMR [cb] [bp] / CountAll), as shown in Expression (9), the ratio SPFunk (CountMR [cb] [bp] / CountAl / CountNewSig [cb] [bp] × RatioNewSig) The multiplied value becomes the estimated code amount Bits.
[0101]
On the other hand, when the remainder obtained by dividing the encoding pass number cp by 3 is 0, that is, when the remainder is a CU pass, as shown in Expression (10), CountNewSig [cb] [bp] × RatioNewSig is calculated as 1−1. The value obtained by multiplying the RatioSPFunk (CountMR [cb] [bp] / CountAll) is the estimated code amount Bits.
[0102]
In step S26, it is determined whether or not the total amount TotalBits of the code amount is equal to or more than the initial target code amount. Here, if the total code amount TotalBits is equal to or more than the initial target code amount (Yes), the process proceeds to step S31, in which the truncation encoding for each code block is performed based on the code block number cb and the encoding pass number cp at that time. Number of passes (TC c ), And the number of truncated encoding passes (TC c ) Is output and the processing is terminated. Specifically, in a code block in which the code block number cb is less than cb, the number of coding passes in which the coding pass number cp is equal to or greater than cp + 1 is rounded down to the number of coding passes (TC c ), And for code blocks whose code block number cb is greater than or equal to cb, the number of coding passes whose coding pass number cp is greater than or equal to cp is rounded down to the number of coding passes (TC c ). On the other hand, if the total code amount TotalBits is less than the initial target code amount (No), the process proceeds to step S27.
[0103]
In step S27, it is determined whether there is an unprocessed code block. If there is an unprocessed code block (Yes), 1 is added to cb in step S28, and the process returns to step S22. No), the process proceeds to step S29.
[0104]
In step S29, it is determined whether there is an unprocessed coding pass in the code block of the code block number cb. If there is an unprocessed coding pass (Yes), 1 is added to cp in step S30. Otherwise, the process returns to step S21. If not (No), the process proceeds to step S31, where the number of truncated coding passes (TCC) for each code block is calculated from the code block number cb and the coding pass number cp at that time. c ), And the number of truncated encoding passes (TC c ) Is output and the processing is terminated.
[0105]
By performing the processing as described above, the code amount estimating unit 43 and the initial rate control unit 44 determine the estimated code amount for each encoding pass based on the feature amount D42 supplied from the feature amount extracting unit 42. The estimated code amounts are sequentially added in the order described above, and the addition is stopped when the initial target code amount is reached. Then, based on the code block number cb and the coding pass number cp at the time when the addition is stopped, the number of truncated coding passes for each code block (TC c ), And the number of truncated encoding passes (TC c ) D33 is supplied to the quantization step size setting unit 30 (FIG. 18). As a result, the number of truncated coding passes (TCC) is performed without performing the processing in the EBCOT unit 17 (FIG. 1). c ) Can be obtained, and the entire encoding processing amount can be reduced.
[0106]
(1-2) Configuration and operation of image decoding apparatus
Next, FIG. 23 shows a schematic configuration of the image decoding device according to the first embodiment. As shown in FIG. 23, the image decoding device 50 according to the first embodiment includes an encoded code stream decomposing unit 51, a packet decomposing unit 52, a header analyzing unit 53, a packet header analyzing unit 54, a decoding block It comprises a transforming section 55, an arithmetic decoding section 56, a bit plane decoding path generating section 57, an adaptive inverse quantization section 59, an inverse wavelet transform section 60, and a DC level inverse shift section 61. Here, the arithmetic decoding unit 56 and the bit plane decoding path generation unit 57 constitute an EBCOT decoding unit 58.
[0107]
The encoded code stream decomposing unit 51 decomposes the input encoded code stream D50 into a packet D51 and a header D52, supplies the packet D51 to the packet decomposing unit 52, and supplies the header D52 to the header analyzing unit 53.
[0108]
The packet decomposing unit 52 decomposes the packet D51 into a packet main body D53 and a packet header D54. Note that an actual encoded code stream is written in the packet body D53. The packet decomposing unit 52 supplies the packet body D53 to the decoding blocking unit 55 and supplies the packet header D54 to the packet header analyzing unit 54.
[0109]
The header analysis unit 53 analyzes the header D52 and supplies a quantization step size D55 of the scalar inverse quantization to the adaptive inverse quantization unit 59.
[0110]
The packet header analysis unit 54 analyzes the packet header D54 and converts the information D56 of the coding path, such as the number of coding paths in the code block, the generated code amount of the coding path, and the number of zero bit planes, into a bit plane decoding path. It is supplied to the generation unit 57 and the adaptive inverse quantization unit 59. Further, the packet header analyzing unit 54 supplies the position information D57 of the code block to the decoding blocking unit 55.
[0111]
The decoding blocker 55 supplies the coded code stream D58 for each code block to the arithmetic decoder 56.
[0112]
The arithmetic decoding unit 56 arithmetically decodes the encoded code stream D58 for each code block to generate coefficient information D59, and performs a bit demodeling process. Restore binary data. This is actually the quantization coefficient D60. The bit plane decoding path generation unit 57 supplies the quantization coefficient D60 to the adaptive inverse quantization unit 59.
[0113]
The adaptive inverse quantization unit 59 performs adaptive inverse quantization processing when the value of the quantization coefficient D60 is 1 and in other cases, and outputs the quantized decoded value as a wavelet transform coefficient D61. The details of the processing in the adaptive inverse quantization section 59 will be described later.
[0114]
The inverse wavelet transform unit 60 inversely transforms the wavelet transform coefficient D61 to generate a decoded image D62, and supplies the decoded image D62 to the DC level inverse shift unit 61.
[0115]
The DC level reverse shift unit 61 performs a reverse shift process on the decoded image D62 when the DC level shift process has been performed in the image encoding device 10, and outputs a final decoded image D63.
[0116]
(1-2-1) Configuration and operation of adaptive inverse quantization unit
Hereinafter, the details of the processing in the adaptive inverse quantization unit 59 will be described. As shown in FIG. 24, the adaptive inverse quantization unit 59 includes a truncation coding pass number calculation unit 70, a quantization step size setting unit 71, a quantization decoding parameter selection unit 72, and a quantization decoding parameter table 73. , And an inverse quantization unit 74, based on the scalar inverse quantization quantization step size D 55 supplied from the header analysis unit 53 and the coding path information D 56 supplied from the packet header analysis unit 54. Then, inverse quantization is performed on the quantization coefficient D60 supplied from the bit plane decoding path generation unit 57 to generate a wavelet transform coefficient D61.
[0117]
As described above, the truncation-encoding pass number calculation unit 70 calculates the quantization step size (Δ b ) Based on D55 and coding pass information D56, the number of truncated coding passes (TC c ) D70 and calculate the number of truncated encoding passes (TC c ) D70 is supplied to the quantization step size setting unit 71. In addition, the quantization step size setting unit 71 determines the quantization step size (Δ b ) D55 and the number of truncated coding passes (TC c ) D70, and obtains a quantization step size (Δ) D71, and supplies the quantization step size (Δ) D71 to the quantization decoding parameter selection unit 72 and the inverse quantization unit 74.
[0118]
The quantization decoding parameter selection unit 72 sets a different quantization decoding parameter (r) D73 depending on whether the value of the quantization coefficient D60 is 1 or not, and reverses the quantization decoding parameter (r) D73. This is supplied to the quantization unit 74.
[0119]
Here, in the image encoding device 10 described above, the wavelet transform coefficients in the range from D · Δ to 2 · Δ in FIG. 11 are quantized to 1. In ordinary decoding processing, 0.5, which is the median value of the quantization section, is often used as the quantization decoding parameter r. In this case, however, the quantization decoding value is shifted to a larger value as a result. become. In particular, when the above processing is performed on the wavelet transform coefficients of the high band sub-band, since the occurrence probability distribution of the quantization coefficients follows the Laplace distribution, the ordinary decoding processing is accompanied by a large deterioration in image quality. Therefore, the quantization decoding parameter selection unit 72 sets the quantization decoding parameter r when the quantization coefficient D60 is 1 to a value smaller than 0.5, thereby reducing the quantization error and reducing the image quality degradation. To prevent.
[0120]
Specifically, when the value of the quantization coefficient D60 is 1, the quantization decoding parameter selection unit 72 selects the index D72 of the quantization decoding parameter table 73 according to the size of the quantization step size (Δ) D71. I do. Then, the quantization decoding parameter selection unit 72 reads out the quantization decoding parameter (r) indicated by the index D72 from the quantization decoding parameter table 73 and supplies it to the inverse quantization unit 74. Here, in the quantization decoding parameter table 73, a plurality of quantization decoding parameter values r smaller than 0.5 and corresponding indexes are described. The index D72 is selected such that the smaller the size (Δ) D71, the closer the quantization decoding parameter value to 0.5. On the other hand, when the value of the quantization coefficient D60 is other than 1, the quantization decoding parameter selection unit 72 supplies a default value of 0.5 to the inverse quantization unit 74 as the quantization decoding parameter (r) D73.
[0121]
The inverse quantization unit 74 calculates the quantization coefficient (Q c ) Using D60, a quantization decoding parameter (r) D73, and a quantization step size (Δ) D71, a quantization decoding value IQ is calculated according to the following equation (11). c And the quantized decoded value IQ c Is output as a wavelet transform coefficient D61.
[0122]
(Equation 8)
Figure 2004350034
[0123]
As described above, according to the image encoding device 10 in the first embodiment, the wavelet transform coefficient is replaced so that the wavelet transform coefficient quantized to 0 is quantized to 1. For example, when applied to a high frequency sub-band of a still image or a progressive image, the reproducibility of oblique lines and the sharpness of texture existing in the decoded image can be improved, and the LH-1 of the interlaced image can be improved. When applied to subbands, motion reproducibility can be improved. In particular, it is possible to improve the reproducibility of a region having a small amplitude value quantized to a value near 0 at a low bit rate, for example, a wrinkle of a face or a texture of a rock.
[0124]
Further, according to the image decoding device 50 in the first embodiment, when the value of the quantization coefficient is 1, the quantization decoding parameter r is set to a value smaller than 0.5 which is the median of the quantization section. , And using this quantization decoding parameter r for inverse quantization, it is possible to reduce quantization errors and prevent image quality deterioration.
[0125]
Even when such a decoding process is applied to an encoded code stream generated by a normal encoding process, the occurrence probability close to a Laplace distribution is obtained in a quantization section where the quantization coefficient is 1. In many cases, the quality of the decoded image is hardly deteriorated. That is, the image decoding device 70 according to the first embodiment can be used for both the encoded code stream encoded by the image encoding device 10 and the normal encoded code stream.
[0126]
(2) Second embodiment
(2-1) Configuration and operation of image coding apparatus
Next, as a second embodiment, an image encoding device 90 shown in FIG. 25 has the same basic structure as the image encoding device 10 shown in FIG. 1, except that the subband quantization unit 13 is a scalar quantization unit. It has a feature in that it comprises only a quantization decoding value setting unit 92 and a quantization decoding parameter encoding unit 93. Therefore, the same components as those of the image encoding device 10 shown in FIG. 1 are denoted by the same reference numerals and detailed description thereof will be omitted. In the following, a scalar quantization unit 91, a quantized decoded value setting unit 92, and The quantization decoding parameter coding unit 93 will be described.
[0127]
The scalar quantization unit 91 converts the wavelet transform coefficient D12 supplied from the wavelet transform unit 12 into a quantization step size (Δ b ) Divide by D23 for quantization, and supply the quantized coefficient D90 to the code blocking unit 14.
[0128]
The quantized decoded value setting unit 92 supplies the wavelet transform coefficient D12 supplied from the wavelet transform unit 12, the quantized coefficient D14 for each code block supplied from the code blocking unit 14, and the supplied code from the encoding path cutoff unit 18. Number of truncated coding passes (TC c ) D17 and the quantization step size (Δ b ) D23 to search for a quantized decoded value that gives the minimum quantization error, and supplies a quantized decoding parameter D91 that gives the quantized decoded value to the quantized decoding parameter encoding unit 93.
[0129]
FIG. 26 shows a detailed configuration of the quantized decoded value setting section 92. As shown in FIG. 26, the quantization decoding value setting unit 92 includes a code blocking unit 100, a quantization step size setting unit 101, a quantization decoding value calculation unit 102, a quantization decoding parameter table 103, It comprises a quantization error calculation unit 104 and a quantization decoding parameter setting unit 105.
[0130]
The code blocking unit 100 divides the wavelet transform coefficient D12 supplied from the wavelet transform unit 12 into code block units, and supplies the code block transform coefficient D100 to the quantization error calculation unit 104.
[0131]
As described above, the quantization step size setting unit 101 sets the quantization step size (Δ b ) D23 and the number of truncated coding passes (TC c ) D17, and obtains a quantization step size (Δ) D101, and supplies the quantization step size (Δ) D101 to the quantization decoding value calculation unit 102 and the quantization decoding parameter table 103.
[0132]
The quantized decoded value calculation unit 102 calculates a plurality of parameter candidate values (r n , 0 ≦ r n <1) is read, and based on the read parameter candidate value D102 and the quantization step size (Δ) D101 supplied from the quantization step size setting unit 101, the quantization is performed according to the following equation (12). Decrypted value (IQ c, n ) D103 is calculated. The quantized decoded value calculation unit 102 supplies the quantized decoded value D103 to the quantization error calculation unit 104.
[0133]
(Equation 9)
Figure 2004350034
[0134]
Here, the quantization decoding parameter table 103 stores each quantization step size (Δ) D101 and each quantization coefficient (Q c ) Defined according to the size of D14, parameter candidate value r n Is a value of 0 or more and less than 1. Further, the parameter candidate value r n Are smaller as the quantization step size (Δ) D101 is smaller, and each quantization coefficient (Q c ) The smaller the value of D14, the smaller the value. This is because the smaller the quantization step size (Δ) D101 and the larger the quantization coefficient (Q c ) As the value of D14 increases, the occurrence probability in the quantization interval approaches a uniform distribution, and the parameter candidate value r n This is because the effect of increasing the number is reduced.
[0135]
The quantization error calculation unit 104 calculates a quantization error D104 between the quantization decoding value D103 and the code block transform coefficient D100, and supplies the quantization error D104 to the quantization decoding parameter setting unit 105. In addition, a square error, an absolute value error, or the like can be used as the evaluation criterion of the quantization error.
[0136]
The above processing is performed for all parameter candidate values r in the quantization decoding parameter table 103. n , And the quantization decoding parameter setting unit 105 reads out the quantization decoding parameter D105 that gives the minimum quantization error from the quantization decoding parameter table 103, and outputs it as the final quantization decoding parameter (r) D91. .
[0137]
This quantization decoding parameter search process will be described with reference to the flowchart in FIG. First, in step S40, the minimum quantization error E is set as an initial setting. min Is infinite. Also, the parameter candidate value r n To r 0 , ..., r M-1 And the parameter k is set to k = 0.
[0138]
Next, in step S41, the parameter candidate value r k Quantization error E k Is calculated, and in a succeeding step S42, the quantization error E is calculated. k Is E min It is determined whether or not it is less than. Here, the quantization error E k Is E min If it is less than (Yes), E in step S43 min = E k , R = r k And the process proceeds to step S44. On the other hand, the quantization error E k Is E min If so (No), the process proceeds to step S44.
[0139]
In step S44, k is incremented by one. In step S45, whether k is greater than M, that is, all parameter candidate values r n For the quantization error E n Is calculated. Here, if k is equal to or less than M (Yes), the process returns to step S41 and the remaining parameter candidate values r n For the quantization error E n Is calculated, and when k is larger than M (No), r is determined as a quantization decoding parameter, and the process is terminated.
[0140]
Returning to FIG. 25, the quantization / decoding parameter coding unit 93 codes the quantization / decoding parameter D91 supplied from the quantization / decoding value setting unit 92, and supplies the coded data D92 to the coded code stream generation unit 22. . Here, when there is a correlation between the quantization decoding parameters, the difference between the quantization decoding parameters and adjacent quantization decoding parameters that have already been encoded is entropy-encoded, and the encoded data is supplied to the encoded code stream generation unit 22.
[0141]
Note that the value of the quantization error is defined by the sum of the quantization errors for a certain range of the data area, and the range is defined for each rectangular area called Precinct on the image area, for each component, and for the wavelet. Any of conversion levels, subbands, or code blocks can be specified. In this case, since the quantization decoding parameter is also defined for each data area, the quantization decoding parameter coding unit further codes additional information indicating how the data area is defined, and codes the coded data. This is supplied to the coded code stream generation unit 22.
[0142]
The encoded code stream generation unit 22 embeds the encoded data in a user-usable data area called a COM marker of the JPEG2000 standard. By embedding in the COM marker in this way, decoding processing can be performed even in the JPEG2000 standard-compliant image decoding apparatus that does not assume an encoded code stream in the second embodiment.
[0143]
(2-2) Configuration and operation of the image decoding device
Next, FIG. 28 shows a schematic configuration of an image decoding device according to the second embodiment. The image decoding apparatus 110 shown in FIG. 28 has the same basic structure as the image decoding apparatus 50 shown in FIG. 23, except that the processing content of the adaptive inverse quantization unit 112 is changed, and a quantization decoding parameter decoding unit 111 is added. Is characterized by Therefore, the same components as those of the image decoding device 50 shown in FIG. 23 are denoted by the same reference numerals, and detailed description thereof will be omitted. In the following, the quantization decoding parameter decoding unit 111 and the adaptive inverse quantization unit 112 Will be described.
[0144]
The quantization decoding parameter decoding unit 111 decodes the quantization decoding parameter (r) D110 in the JPEG2000 standard COM marker by a predetermined method, and converts the decoded quantization decoding parameter (r) D111 into an adaptive inverse quantization unit. To supply.
[0145]
The adaptive inverse quantization unit 112 calculates the quantization step size (Δ) of the scalar inverse quantization supplied from the header analysis unit 53. b Based on D55, the encoding path information D56 supplied from the packet header analysis unit 54, and the quantization decoding parameter D111 supplied from the quantization decoding parameter decoding unit 111, and supplied from the bit plane decoding path generation unit 57. The wavelet transform coefficient D112 is generated by performing inverse quantization on the quantized coefficient D60.
[0146]
FIG. 29 shows a detailed configuration of the adaptive inverse quantization unit 112. As shown in FIG. 29, the adaptive inverse quantization unit 112 includes a truncation encoding pass number calculation unit 120, a quantization step size setting unit 121, and an inverse quantization unit 123.
[0147]
As described above, the truncation-encoding pass number calculation section 120 calculates the quantization step size (Δ b ) Based on D55 and coding pass information D56, the number of truncated coding passes (TC c ) D120 is calculated and the number of truncated encoding passes (TC c ) D120 is supplied to the quantization step size setting unit 121. In addition, the quantization step size setting unit 121 determines the quantization step size (Δ b ) D55 and the number of truncated coding passes (TC c ) D120, and obtains a quantization step size (Δ) D121, and supplies the quantization step size (Δ) D121 to the inverse quantization unit 123.
[0148]
The inverse quantization unit 123 calculates the quantization coefficient (Q c ) Using D60, the quantization decoding parameter (r) D111 and the quantization step size (Δ) D121, the quantization decoding value IQ c And the quantized decoded value IQ c Is output as a wavelet transform coefficient D112.
[0149]
As described above, according to the image encoding device 90 and the image decoding device 110 in the second embodiment, the encoding side adaptively selects the quantized decoded value so that the quantization error is minimized. By encoding the quantization decoding parameter giving the quantization decoding value and including it in the encoded code stream, and using the quantization decoding parameter for inverse quantization on the decoding side, the quantization error is reduced, Image quality can be greatly improved.
[0150]
Here, in the usual method of setting the quantized decoded value, the same method is used for all code blocks, but the quantization error increases as the occurrence probability distribution in the quantization interval becomes more distant from the uniform distribution. Become. In particular, at the time of low bit rate encoding, the quantization step size increases, and as a result, the ratio of quantization to a value near 0 increases. At this time, the occurrence probability distribution in the quantization section near zero approaches the Laplace distribution as shown in FIG. 30 and the quantization error increases, but as described above, the quantization decoding is performed so that the quantization error is minimized. By selecting the value, the quantization error is reduced, and the image quality can be greatly improved.
[0151]
It should be noted that the present invention is not limited to only the above-described embodiment, and it is needless to say that various changes can be made without departing from the gist of the present invention.
[0152]
【The invention's effect】
As described above in detail, the image encoding apparatus and method according to the present invention perform hierarchical filtering processing on an input image to generate a plurality of subbands, and perform filtering of the input image after the filtering processing. Each coefficient is divided by a quantization step size and quantized, the above-mentioned subband is divided to generate a code block of a predetermined size, and a bit plane from the most significant bit to the least significant bit is generated for each code block. The encoding path generated for each bit plane is arithmetically encoded, and a packet is generated by adding a packet header to the generated arithmetic code to generate an encoded code stream. In this case, the ratio of the width of the dead zone, which is the quantization interval to be quantized to 0 value, to the width of the adjacent quantization interval adjacent to the dead zone is made variable. A constant.
[0153]
According to such an image encoding apparatus and its method, for example, the width of a dead zone in the highest sub-band is reduced, or when the input image is an interlaced image, the highest sub-band is used. By setting the ratio between the width of the dead zone and the width of the adjacent quantization section so as to reduce the width of the dead zone in the sub-band where the direction is low band and the vertical direction is high band, the slant existing in the decoded image is reduced. The reproducibility of lines and the sharpness of texture can be improved, and the reproducibility of movement of interlaced images can be improved.
[0154]
Further, the image decoding device and the method according to the present invention are configured to input the encoded code stream generated as described above, decode the input encoded code stream, and restore the input image. The input coded code stream is decomposed into the packet header and the arithmetic code, the arithmetic code is decoded, and an encoding path is decoded for each bit plane, and a bit plane from the most significant bit to the least significant bit is decoded. , Restore the code block based on the bit plane from the most significant bit to the least significant bit, collect the code blocks to generate the subband, and inverse quantize the quantization coefficient for each subband. The sub-band is hierarchically filtered to restore the input image. Here, at the time of quantization on the encoding side, the ratio of the width of a dead zone, which is a quantization interval to be quantized to 0 value, to the width of an adjacent quantization interval adjacent to the dead zone is variably set. At the time of the inverse quantization, the quantized decoded value of the quantized coefficient having a value of 1 is variably set.
[0155]
According to such an image decoding apparatus and method, for example, the width of a dead zone and the width of an adjacent quantization section adjacent to the dead zone are set so as to reduce the width of the dead zone in the highest sub-band on the encoding side. When the ratio is set, the quantization error is reduced by setting the quantized decoded value of the quantized coefficient having the value of 1 to a value smaller than the median value of the adjacent quantized sections. Can be prevented.
[0156]
Further, the image encoding apparatus and method according to the present invention perform hierarchical filtering processing on an input image to generate a plurality of subbands, and quantize each coefficient of the input image after the filtering processing. Divide by the size and quantize, divide the sub-band to generate a code block of a predetermined size, generate a bit plane from the most significant bit to the least significant bit for each code block, Is arithmetically coded, and for each quantized coefficient generated by the above-described quantization, a quantization decoded value with a minimum quantization error is searched for, and the quantization error is minimized. Determine and encode parameter information that gives a quantized decoded value, add a packet header to the arithmetic code generated by arithmetic coding to form a packet, and further code And it generates an encoded code stream by adding the parameter information.
[0157]
Further, the image decoding device and the method according to the present invention are configured to input the encoded code stream generated as described above, decode the input encoded code stream, and restore the input image. Decoding the parameter information included in the input coded code stream, decomposing the input coded code stream into the packet header and the arithmetic code, decoding the arithmetic code, and performing a coding pass for each bit plane. To restore the bit plane from the most significant bit to the least significant bit, restore the code block based on the bit plane from the most significant bit to the least significant bit, collect the code blocks, and Generating a band, dequantizing the quantization coefficient for each of the subbands based on the parameter information, It is to restore the input image by performing hierarchical filtering for.
[0158]
According to such an image encoding apparatus and method, and an image decoding apparatus and method, a quantization decoding value is adaptively selected on the encoding side so that a quantization error is minimized, and the quantization decoding is performed. By encoding a quantization decoding parameter that gives a value and including it in an encoded code stream, and using the quantization decoding parameter for inverse quantization on the decoding side, a quantization error is reduced and image quality is greatly improved. be able to.
[Brief description of the drawings]
FIG. 1 is a diagram illustrating a schematic configuration of an image encoding device according to a first embodiment.
FIG. 2 is a diagram illustrating sub-bands when wavelet transform is performed three times.
3A and 3B are diagrams showing subbands in a case where an actual image is subjected to wavelet transform. FIG. 3A shows an example in which one-time wavelet transform is performed, and FIG. 3B shows an example in which three-time wavelet transform is performed. Is shown.
FIG. 4 is a diagram illustrating the relationship between code blocks and subbands.
5A and 5B are diagrams for explaining a bit plane. FIG. 5A shows a quantized coefficient composed of a total of 16 coefficients, FIG. 5B shows a bit plane of the absolute value of the coefficient, FIG. 2C shows a bit plane of a code.
FIG. 6 is a diagram illustrating a processing procedure of an encoding pass in a code block.
FIG. 7 is a diagram illustrating a scan order of coefficients in a code block.
FIG. 8 is a diagram illustrating a packet generated by the image encoding device.
FIG. 9 is a diagram illustrating an example of an internal configuration of a subband quantization unit in the image encoding device.
FIG. 10 is a diagram illustrating an example of a method for calculating a quantization step size (Δ).
FIG. 11 is a diagram showing quantization characteristics in the subband quantization unit.
FIG. 12 is a diagram showing a conventional quantization characteristic.
FIG. 13 is a diagram illustrating an example of an interlaced image.
14A and 14B are diagrams illustrating how a subject image appears in an interlaced image. FIG. 14A illustrates a case where an object moves rightward in a screen, and FIG. 14B illustrates a progressive screen. Shows the appearance of the object at.
15 is a diagram illustrating subbands when the interlaced image in FIG. 13 is subjected to wavelet transform five times.
FIG. 16 is a diagram illustrating subbands when a decoded image is subjected to wavelet transform five times.
FIG. 17 is a diagram illustrating subbands when a decoded image in which coefficients in a dead zone are replaced is subjected to wavelet transform five times.
FIG. 18 is a diagram illustrating another example of the internal configuration of the subband quantization unit.
FIG. 19 is a diagram illustrating an example of an internal configuration of a truncation encoding pass number prediction unit of the subband quantization unit.
FIG. 20 is a diagram for explaining the ID of each code block. FIG. 20A shows an example in which the HL subband is prioritized over the LH subband, and FIG. An example in which the LH subband is prioritized will be described.
FIG. 21 is a flowchart illustrating an example of a feature amount extraction process in a feature amount extraction unit of the truncation encoding pass number prediction unit.
FIG. 22 is a flowchart illustrating an example of a process performed by a code amount estimating unit and an initial rate control unit of the truncated coding pass number predicting unit.
FIG. 23 is a diagram illustrating a schematic configuration of an image decoding device according to the first embodiment.
FIG. 24 is a diagram illustrating an example of an internal configuration of an adaptive inverse quantization unit in the image decoding device.
FIG. 25 is a diagram illustrating a schematic configuration of an image encoding device according to a second embodiment.
FIG. 26 is a diagram illustrating an example of an internal configuration of a quantized decoded value setting unit in the image encoding device.
FIG. 27 is a flowchart illustrating a search process of a quantization decoding parameter in the quantization decoding value setting unit.
FIG. 28 is a diagram illustrating a schematic configuration of an image decoding device according to a second embodiment.
FIG. 29 is a diagram illustrating an example of the internal configuration of an adaptive inverse quantization unit in the image decoding device.
FIG. 30 is a diagram illustrating an example in which an occurrence probability distribution in a quantization section near zero is approximated to a Laplace distribution.
[Explanation of symbols]
Reference Signs List 10 image encoding device, 11 DC level shift unit, 12 wavelet transform unit, 13 subband quantization unit, 14 code blocking unit, 15 bit plane encoding path generation unit, 16 arithmetic encoding unit, 17 EBCOT unit, 18 Coding path truncation unit, 19 packet header generation unit, 20 packet generation unit, 21 header generation unit, 22 coded code stream generation unit, 30 quantization step size setting unit, 31 dead zone coefficient replacement unit, 32 scalar quantization Unit, 33 truncation coding pass number prediction unit, 40 code blocking unit, 41 bit plane decomposition unit, 42 feature amount extraction unit, 43 code amount estimation unit, 44 initial rate control unit, 50 image decoding device, 51 encoded code Stream decomposition unit, 52 packet decomposition unit, 53 header analysis unit, 54 packet header analysis , 55 decoding blocker, 56 arithmetic decoder, 57 bit plane decoding path generator, 58 EBCOT decoder, 59 adaptive inverse quantizer, 60 inverse wavelet transform, 61 DC level inverse shift, 70 truncation encoding path Number calculation unit, 71 quantization step size setting unit, 72 quantization decoding parameter selection unit, 73 quantization decoding parameter table, 74 inverse quantization unit, 90 image encoding device, 91 scalar quantization unit, 92 quantized decoding value Setting unit, 93 quantization decoding parameter coding unit, 100 code blocking unit, 101 quantization step size setting unit, 102 quantization decoding value calculation unit, 103 quantization decoding parameter table, 104 quantization error calculation unit, 105 quantum Quantization decoding parameter setting unit, 110 image decoding device, 111 quantization decoding parameter decoding unit, 11 2 adaptive inverse quantization unit, 120 truncation encoding pass number calculation unit, 121 quantization step size setting unit, 123 inverse quantization unit

Claims (25)

入力画像に対して階層的にフィルタリング処理を施して複数のサブバンドを生成するフィルタリング手段と、
上記フィルタリング処理後の上記入力画像の各係数を量子化ステップサイズで除算して量子化する量子化手段と、
上記サブバンドを分割し、所定の大きさの符号ブロックを生成する符号ブロック生成手段と、
上記符号ブロック毎に最上位ビットから最下位ビットに至るビットプレーンを生成するビットプレーン生成手段と、
上記ビットプレーン毎に生成された符号化パスを算術符号化する符号化手段と、
上記符号化手段によって生成された算術符号にパケットヘッダを付加してパケットを構成することにより符号化コードストリームを生成する符号化コードストリーム生成手段とを備え、
上記量子化手段は、0値に量子化する量子化区間であるデッドゾーンの幅と該デッドゾーンに隣接する隣接量子化区間の幅との比を可変に設定する
ことを特徴とする画像符号化装置。
Filtering means for performing a hierarchical filtering process on the input image to generate a plurality of subbands;
Quantizing means for dividing and quantizing each coefficient of the input image after the filtering process by a quantization step size,
Code block generating means for dividing the sub-band to generate a code block of a predetermined size;
Bit plane generating means for generating a bit plane from the most significant bit to the least significant bit for each code block;
Encoding means for arithmetically encoding the encoding path generated for each bit plane,
Encoding code stream generating means for generating an encoded code stream by forming a packet by adding a packet header to the arithmetic code generated by the encoding means,
The above-mentioned quantization means variably sets a ratio of a width of a dead zone, which is a quantization interval to be quantized to 0 value, to a width of an adjacent quantization interval adjacent to the dead zone. apparatus.
上記量子化手段は、上記デッドゾーン内の係数の一部を上記隣接量子化区間内の値に置き換えることを特徴とする請求項1記載の画像符号化装置。2. The image coding apparatus according to claim 1, wherein said quantization means replaces a part of the coefficient in the dead zone with a value in the adjacent quantization section. 上記デッドゾーンの幅と上記隣接量子化区間の幅との比は、上記フィルタリングの各階層毎、上記サブバンド毎、コンポーネント毎又は上記係数毎に設定されることを特徴とする請求項1記載の画像符号化装置。The ratio between the width of the dead zone and the width of the adjacent quantization section is set for each layer of the filtering, for each of the subbands, for each component, or for each of the coefficients. Image coding device. 上記量子化手段は、最高域のサブバンドにおける上記デッドゾーンの幅を狭めるように、上記デッドゾーンの幅と上記隣接量子化区間の幅との比を設定することを特徴とする請求項1記載の画像符号化装置。2. The quantization unit according to claim 1, wherein the quantization unit sets a ratio between the width of the dead zone and the width of the adjacent quantization section so as to reduce the width of the dead zone in the highest sub-band. Image encoding device. 上記量子化手段は、上記入力画像がインタレース画像の場合に、最高域のサブバンドで、且つ水平方向が低域で垂直方向が高域のサブバンドにおける上記デッドゾーンの幅を狭めるように、上記デッドゾーンの幅と上記隣接量子化区間の幅との比を設定することを特徴とする請求項1記載の画像符号化装置。The quantization means, when the input image is an interlaced image, to narrow the width of the dead zone in a sub-band of the highest band and a sub-band of a low band in the horizontal direction and a high band in the vertical direction, 2. The image coding apparatus according to claim 1, wherein a ratio between a width of the dead zone and a width of the adjacent quantization section is set. 入力画像に対して階層的にフィルタリング処理を施して複数のサブバンドを生成するフィルタリング工程と、
上記フィルタリング処理後の上記入力画像の各係数を量子化ステップサイズで除算して量子化する量子化工程と、
上記サブバンドを分割し、所定の大きさの符号ブロックを生成する符号ブロック生成工程と、
上記符号ブロック毎に最上位ビットから最下位ビットに至るビットプレーンを生成するビットプレーン生成工程と、
上記ビットプレーン毎に生成された符号化パスを算術符号化する符号化工程と、
上記符号化工程にて生成された算術符号からパケットを構成して符号化コードストリームを生成する符号化コードストリーム生成工程とを有し、
上記量子化工程では、0値に量子化する量子化区間であるデッドゾーンの幅と該デッドゾーンに隣接する隣接量子化区間の幅との比が可変に設定される
ことを特徴とする画像符号化方法。
A filtering step of performing a filtering process hierarchically on the input image to generate a plurality of subbands,
A quantization step of dividing and quantizing each coefficient of the input image after the filtering process by a quantization step size,
A code block generation step of dividing the sub-band to generate a code block of a predetermined size;
A bit plane generating step of generating a bit plane from the most significant bit to the least significant bit for each code block;
An encoding step of arithmetically encoding the encoding path generated for each of the bit planes;
An encoded code stream generating step of generating an encoded code stream by forming a packet from the arithmetic code generated in the encoding step,
In the above-mentioned quantization step, a ratio of a width of a dead zone, which is a quantization interval to be quantized to 0 value, to a width of an adjacent quantization interval adjacent to the dead zone is variably set. Method.
入力画像に対して階層的にフィルタリング処理を施して複数のサブバンドを生成し、上記フィルタリング処理後の上記入力画像の各係数を量子化ステップサイズで除算して量子化し、上記サブバンドを分割して所定の大きさの符号ブロックを生成し、上記符号ブロック毎に最上位ビットから最下位ビットに至るビットプレーンを生成し、上記ビットプレーン毎に生成された符号化パスを算術符号化し、生成された算術符号にパケットヘッダを付加してパケットを構成することで得られた符号化コードストリームを入力し、該入力符号化コードストリームを復号して上記入力画像を復元する画像復号装置であって、
上記入力符号化コードストリームを上記パケットヘッダと上記算術符号とに分解するパケット分解手段と、
上記算術符号を復号する復号手段と、
上記ビットプレーン毎に符号化パスを復号して上記最上位ビットから最下位ビットに至るビットプレーンを復元する符号化パス復号手段と、
上記最上位ビットから最下位ビットに至るビットプレーンに基づいて上記符号ブロックを復元する符号ブロック復元手段と、
上記符号ブロックを集めて上記サブバンドを生成するサブバンド生成手段と、
上記サブバンド毎の量子化係数を逆量子化する逆量子化手段と、
上記サブバンドに対して階層的にフィルタリング処理を施して上記入力画像を復元するフィルタリング手段とを備え、
上記量子化の際には、0値に量子化する量子化区間であるデッドゾーンの幅と該デッドゾーンに隣接する隣接量子化区間の幅との比が可変に設定されており、
上記逆量子化手段は、値が1である量子化係数の量子化復号値を可変に設定する
ことを特徴とする画像復号装置。
A plurality of sub-bands are generated by performing a filtering process on the input image hierarchically, each coefficient of the input image after the filtering process is divided by a quantization step size, quantized, and the sub-band is divided. To generate a code block of a predetermined size, generate a bit plane from the most significant bit to the least significant bit for each code block, arithmetically encode the encoding path generated for each bit plane, and generate An image decoding apparatus for inputting an encoded code stream obtained by adding a packet header to an arithmetic code to form a packet, decoding the input encoded code stream and restoring the input image,
Packet decomposing means for decomposing the input coded code stream into the packet header and the arithmetic code;
Decoding means for decoding the arithmetic code,
Encoding path decoding means for decoding an encoding path for each bit plane and restoring a bit plane from the most significant bit to the least significant bit,
Code block restoring means for restoring the code block based on a bit plane from the most significant bit to the least significant bit,
Sub-band generating means for collecting the code blocks to generate the sub-band,
Inverse quantization means for inversely quantizing the quantization coefficient for each subband,
Filtering means for performing a filtering process hierarchically on the sub-band to restore the input image,
At the time of the above-mentioned quantization, the ratio of the width of the dead zone, which is the quantization interval to be quantized to 0 value, and the width of the adjacent quantization interval adjacent to the dead zone is variably set,
An image decoding apparatus, wherein the inverse quantization means variably sets a quantized decoded value of a quantized coefficient having a value of 1.
上記量子化の際には、上記デッドゾーン内の係数の一部が上記隣接量子化区間内の値に置き換えられており、
上記逆量子化手段は、上記値が1である量子化係数の量子化復号値を上記隣接量子化区間の中央値よりも小さな値に設定する
ことを特徴とする請求項7記載の画像復号装置。
At the time of the quantization, some of the coefficients in the dead zone have been replaced with values in the adjacent quantization interval,
8. The image decoding apparatus according to claim 7, wherein said inverse quantization means sets a quantized decoded value of the quantized coefficient whose value is 1 to a value smaller than a median value of said adjacent quantized sections. .
上記逆量子化手段は、上記量子化ステップサイズが小さくなるほど上記隣接量子化区間の中央値に近付くように、上記値が1である量子化係数の量子化復号値を設定することを特徴とする請求項8記載の画像復号装置。The inverse quantization means sets a quantized decoded value of the quantization coefficient whose value is 1 such that the smaller the quantization step size is, the closer to the median value of the adjacent quantization section. The image decoding device according to claim 8. 上記量子化の際には、最高域のサブバンドにおける上記デッドゾーンの幅を狭めるように、上記デッドゾーンの幅と上記隣接量子化区間の幅との比が設定されており、
上記逆量子化手段は、上記最高域のサブバンドにおいて値が1である量子化係数の量子化復号値を可変に設定する
ことを特徴とする請求項7記載の画像復号装置。
At the time of the quantization, a ratio between the width of the dead zone and the width of the adjacent quantization section is set so as to narrow the width of the dead zone in the highest band sub-band,
8. The image decoding apparatus according to claim 7, wherein said inverse quantization means variably sets a quantized decoded value of a quantized coefficient having a value of 1 in said highest subband.
上記量子化の際には、上記入力画像がインタレース画像の場合に、最高域のサブバンドで、且つ水平方向が低域で垂直方向が高域のサブバンドにおける上記デッドゾーンの幅を狭めるように、上記デッドゾーンの幅と上記隣接量子化区間の幅との比が設定されており、
上記逆量子化手段は、上記最高域のサブバンドで、且つ水平方向が低域で垂直方向が高域のサブバンドにおいて値が1である量子化係数の量子化復号値を可変に設定する
ことを特徴とする請求項7記載の画像復号装置。
In the quantization, when the input image is an interlaced image, the width of the dead zone in the subband of the highest band and the subband of the low band in the horizontal direction and the high band in the vertical direction is reduced. In the ratio of the width of the dead zone and the width of the adjacent quantization section is set,
The inverse quantization means variably sets a quantized decoded value of a quantization coefficient having a value of 1 in the subband of the highest band and the subband of the low band in the horizontal direction and the high band in the vertical direction. The image decoding apparatus according to claim 7, wherein:
入力画像に対して階層的にフィルタリング処理を施して複数のサブバンドを生成し、上記フィルタリング処理後の上記入力画像の各係数を量子化ステップサイズで除算して量子化し、上記サブバンドを分割して所定の大きさの符号ブロックを生成し、上記符号ブロック毎に最上位ビットから最下位ビットに至るビットプレーンを生成し、上記ビットプレーン毎に生成された符号化パスを算術符号化し、生成された算術符号にパケットヘッダを付加してパケットを構成することで得られた符号化コードストリームを入力し、該入力符号化コードストリームを復号して上記入力画像を復元する画像復号方法であって、
上記入力符号化コードストリームを上記パケットヘッダと上記算術符号とに分解するパケット分解工程と、
上記算術符号を復号する復号工程と、
上記ビットプレーン毎に符号化パスを復号して上記最上位ビットから最下位ビットに至るビットプレーンを復元する符号化パス復号工程と、
上記最上位ビットから最下位ビットに至るビットプレーンに基づいて上記符号ブロックを復元する符号ブロック復元工程と、
上記符号ブロックを集めて上記サブバンドを生成するサブバンド生成工程と、
上記サブバンド毎の量子化係数を逆量子化する逆量子化工程と、
上記サブバンドに対して階層的にフィルタリング処理を施して上記入力画像を復元するフィルタリング工程とを有し、
上記量子化の際には、0値に量子化する量子化区間であるデッドゾーンの幅と該デッドゾーンに隣接する隣接量子化区間の幅との比が可変に設定されており、
上記逆量子化工程では、値が1である量子化係数の量子化復号値が可変に設定される
ことを特徴とする画像復号方法。
A plurality of sub-bands are generated by hierarchically filtering the input image to generate a plurality of sub-bands. To generate a code block of a predetermined size, generate a bit plane from the most significant bit to the least significant bit for each code block, and arithmetically encode a coding path generated for each of the bit planes. An image decoding method for inputting an encoded code stream obtained by forming a packet by adding a packet header to the arithmetic code, decoding the input encoded code stream, and restoring the input image,
A packet decomposing step of decomposing the input coded code stream into the packet header and the arithmetic code;
A decoding step of decoding the arithmetic code,
An encoding path decoding step of decoding an encoding path for each bit plane and restoring a bit plane from the most significant bit to the least significant bit;
A code block restoring step of restoring the code block based on a bit plane from the most significant bit to the least significant bit,
A sub-band generation step of collecting the code blocks to generate the sub-band;
An inverse quantization step of inversely quantizing the quantization coefficient for each subband,
A filtering step of performing a filtering process hierarchically on the sub-band to restore the input image,
At the time of the above-mentioned quantization, the ratio of the width of the dead zone, which is the quantization interval to be quantized to 0 value, and the width of the adjacent quantization interval adjacent to the dead zone is variably set,
In the above-mentioned inverse quantization step, a quantization decoding value of a quantization coefficient having a value of 1 is variably set.
入力画像に対して階層的にフィルタリング処理を施して複数のサブバンドを生成するフィルタリング手段と、
上記フィルタリング処理後の上記入力画像の各係数を量子化ステップサイズで除算して量子化する量子化手段と、
上記サブバンドを分割し、所定の大きさの符号ブロックを生成する符号ブロック生成手段と、
上記符号ブロック毎に最上位ビットから最下位ビットに至るビットプレーンを生成するビットプレーン生成手段と、
上記ビットプレーン毎に生成された符号化パスを算術符号化する符号化手段と、
上記量子化手段によって生成された各量子化係数に対して、量子化誤差が最小となる量子化復号値を探索し、該量子化誤差が最小となる量子化復号値を与えるパラメータ情報を決定するパラメータ設定手段と、
上記パラメータ情報を符号化するパラメータ符号化手段と、
上記符号化手段によって生成された算術符号にパケットヘッダを付加してパケットを構成し、さらに上記パラメータ符号化手段によって符号化された上記パラメータ情報を付加することにより符号化コードストリームを生成する符号化コードストリーム生成手段と
を備えることを特徴とする画像符号化装置。
Filtering means for performing a hierarchical filtering process on the input image to generate a plurality of subbands;
Quantizing means for dividing and quantizing each coefficient of the input image after the filtering process by a quantization step size,
Code block generating means for dividing the sub-band to generate a code block of a predetermined size;
Bit plane generating means for generating a bit plane from the most significant bit to the least significant bit for each code block;
Encoding means for arithmetically encoding the encoding path generated for each bit plane,
For each of the quantized coefficients generated by the quantization means, a quantized decoded value that minimizes the quantization error is searched, and parameter information that gives the quantized decoded value that minimizes the quantized error is determined. Parameter setting means;
Parameter encoding means for encoding the parameter information,
A coding method for generating a coded code stream by adding a packet header to the arithmetic code generated by the coding means to form a packet and further adding the parameter information coded by the parameter coding means. An image encoding device comprising: a code stream generation unit.
上記パラメータ設定手段は、上記フィルタリング処理後の上記入力画像の各係数との所定のデータ領域内における自乗誤差和又は絶対値誤差和が最小となる量子化復号値を探索することを特徴とする請求項13記載の画像符号化装置。The parameter setting means searches for a quantized decoded value that minimizes the sum of square errors or the sum of absolute errors in a predetermined data area with each coefficient of the input image after the filtering process. Item 14. The image encoding device according to Item 13. 上記パラメータ設定手段は、予め所定数に制限された複数のパラメータ候補値を記憶する記憶手段を有し、上記複数のパラメータ候補値の各々について量子化復号値を算出し、上記フィルタリング処理後の上記入力画像の各係数との上記所定のデータ領域内における自乗誤差和又は絶対値誤差和が最小となる量子化復号値を探索することを特徴とする請求項14記載の画像符号化装置。The parameter setting means has a storage means for storing a plurality of parameter candidate values limited to a predetermined number in advance, calculates a quantized decoded value for each of the plurality of parameter candidate values, and 15. The image encoding apparatus according to claim 14, wherein a search is made for a quantized decoded value that minimizes the sum of squared errors or the sum of absolute values of errors in the predetermined data area with each coefficient of the input image. 上記パラメータ候補値の数は、上記量子化ステップサイズが小さいほど少ないことを特徴とする請求項15記載の画像符号化装置。16. The image encoding apparatus according to claim 15, wherein the number of the parameter candidate values decreases as the quantization step size decreases. 上記パラメータ候補値の数は、上記量子化係数の値が大きいほど少ないことを特徴とする請求項15記載の画像符号化装置。16. The image coding apparatus according to claim 15, wherein the number of parameter candidate values decreases as the value of the quantization coefficient increases. 上記パラメータ情報は、上記フィルタリングの各階層毎、上記サブバンド毎、コンポーネント毎、所定の矩形領域毎又は上記符号ブロック毎に設定されることを特徴とする請求項13記載の画像符号化装置。14. The image encoding apparatus according to claim 13, wherein the parameter information is set for each layer of the filtering, for each of the sub-bands, for each component, for each predetermined rectangular area, or for each of the code blocks. 上記パラメータ符号化手段は、隣接する量子化係数についてのパラメータ情報との差分値をエントロピー符号化することを特徴とする請求項13記載の画像符号化装置。14. The image coding apparatus according to claim 13, wherein said parameter coding means performs entropy coding on a difference value between parameter information about adjacent quantized coefficients. 上記符号化コードストリーム生成手段は、上記パラメータ情報をヘッダのCOMマーカに埋め込むことを特徴とする請求項13記載の画像符号化装置。14. The image encoding apparatus according to claim 13, wherein the encoded code stream generating unit embeds the parameter information in a COM marker of a header. 入力画像に対して階層的にフィルタリング処理を施して複数のサブバンドを生成するフィルタリング工程と、
上記フィルタリング処理後の上記入力画像の各係数を量子化ステップサイズで除算して量子化する量子化工程と、
上記サブバンドを分割し、所定の大きさの符号ブロックを生成する符号ブロック生成工程と、
上記符号ブロック毎に最上位ビットから最下位ビットに至るビットプレーンを生成するビットプレーン生成工程と、
上記ビットプレーン毎に生成された符号化パスを算術符号化する符号化工程と、
上記量子化手段によって生成された各量子化係数に対して、量子化誤差が最小となる量子化復号値を探索し、該量子化誤差が最小となる量子化復号値を与えるパラメータ情報を決定するパラメータ設定工程と、
上記パラメータ情報を符号化するパラメータ符号化工程と、
上記符号化工程にて生成された算術符号にパケットヘッダを付加してパケットを構成し、さらに上記パラメータ符号化工程にて符号化された上記パラメータ情報を付加することにより符号化コードストリームを生成する符号化コードストリーム生成工程と
を有することを特徴とする画像符号化方法。
A filtering step of performing a filtering process hierarchically on the input image to generate a plurality of subbands,
A quantization step of dividing and quantizing each coefficient of the input image after the filtering process by a quantization step size,
A code block generation step of dividing the sub-band to generate a code block of a predetermined size;
A bit plane generating step of generating a bit plane from the most significant bit to the least significant bit for each code block;
An encoding step of arithmetically encoding the encoding path generated for each of the bit planes;
For each of the quantized coefficients generated by the quantization means, a quantized decoded value that minimizes a quantization error is searched, and parameter information that gives a quantized decoded value that minimizes the quantization error is determined. Parameter setting process,
A parameter encoding step of encoding the parameter information,
A packet is formed by adding a packet header to the arithmetic code generated in the encoding step, and the encoded code stream is generated by adding the parameter information encoded in the parameter encoding step. An encoded code stream generating step.
入力画像に対して階層的にフィルタリング処理を施して複数のサブバンドを生成し、上記フィルタリング処理後の上記入力画像の各係数を量子化ステップサイズで除算して量子化し、上記サブバンドを分割して所定の大きさの符号ブロックを生成し、上記符号ブロック毎に最上位ビットから最下位ビットに至るビットプレーンを生成し、上記ビットプレーン毎に生成された符号化パスを算術符号化し、上記量子化によって生成された各量子化係数に対して、量子化誤差が最小となる量子化復号値を探索して該量子化誤差が最小となる量子化復号値を与えるパラメータ情報を符号化し、生成された算術符号にパケットヘッダを付加してパケットを構成し、さらに上記パラメータ情報を付加することで得られた符号化コードストリームを入力し、該入力符号化コードストリームを復号して上記入力画像を復元する画像復号装置であって、
上記入力符号化コードストリームに含まれる上記パラメータ情報を復号するパラメータ復号手段と、
上記入力符号化コードストリームを上記パケットヘッダと上記算術符号とに分解するパケット分解手段と、
上記算術符号を復号する復号手段と、
上記ビットプレーン毎に符号化パスを復号して上記最上位ビットから最下位ビットに至るビットプレーンに復元する符号化パス復号手段と、
上記最上位ビットから最下位ビットに至るビットプレーンに基づいて上記符号ブロックを復元する符号ブロック復元手段と、
上記符号ブロックを集めて上記サブバンドを生成するサブバンド生成手段と、
上記パラメータ情報に基づいて上記サブバンド毎の量子化係数を逆量子化する逆量子化手段と、
上記サブバンドに対して階層的にフィルタリング処理を施して上記入力画像を復元するフィルタリング手段と
を備えることを特徴とする画像復号装置。
A plurality of sub-bands are generated by performing a filtering process on the input image hierarchically, each coefficient of the input image after the filtering process is divided by a quantization step size, quantized, and the sub-band is divided. To generate a code block of a predetermined size, generate a bit plane from the most significant bit to the least significant bit for each code block, arithmetically code the coding path generated for each bit plane, For each of the quantized coefficients generated by the quantization, a quantized decoding value that minimizes the quantization error is searched, and parameter information that gives the quantized decoded value that minimizes the quantization error is encoded and generated. A packet is constructed by adding a packet header to the arithmetic code obtained, and an encoded code stream obtained by adding the parameter information is input, Decodes the input encoded code stream An image decoding apparatus for restoring said input image,
Parameter decoding means for decoding the parameter information included in the input encoded code stream,
Packet decomposing means for decomposing the input coded code stream into the packet header and the arithmetic code;
Decoding means for decoding the arithmetic code,
Encoding path decoding means for decoding an encoding path for each bit plane and restoring the bit plane from the most significant bit to the least significant bit,
Code block restoring means for restoring the code block based on a bit plane from the most significant bit to the least significant bit,
Sub-band generating means for collecting the code blocks to generate the sub-band,
Inverse quantization means for inversely quantizing the quantization coefficient for each subband based on the parameter information,
An image decoding apparatus, comprising: filtering means for hierarchically performing a filtering process on the subband to restore the input image.
上記パラメータ情報は、上記フィルタリング処理後の上記入力画像の各係数との所定のデータ領域内における自乗誤差和又は絶対値誤差和が最小となる量子化復号値を与えるものであることを特徴とする請求項23記載の画像復号装置。The parameter information is characterized in that a quantized decoded value that minimizes the sum of square errors or the sum of absolute errors in a predetermined data area with each coefficient of the input image after the filtering process is provided. The image decoding device according to claim 23. 上記入力符号化コードストリームに上記パラメータ情報が含まれていない場合、上記逆量子化手段は、所定のパラメータ情報に基づいて上記サブバンド毎の量子化係数を逆量子化することを特徴とする請求項23記載の画像復号装置。If the input coded code stream does not include the parameter information, the inverse quantization means inversely quantizes the quantization coefficient for each subband based on predetermined parameter information. Item 24. The image decoding device according to item 23. 入力画像に対して階層的にフィルタリング処理を施して複数のサブバンドを生成し、上記フィルタリング処理後の上記入力画像の各係数を量子化ステップサイズで除算して量子化し、上記サブバンドを分割して所定の大きさの符号ブロックを生成し、上記符号ブロック毎に最上位ビットから最下位ビットに至るビットプレーンを生成し、上記ビットプレーン毎に生成された符号化パスを算術符号化し、上記量子化によって生成された各量子化係数に対して、量子化誤差が最小となる量子化復号値を探索して該量子化誤差が最小となる量子化復号値を与えるパラメータ情報を符号化し、生成された算術符号にパケットヘッダを付加してパケットを構成し、さらに上記パラメータ情報を付加することで得られた符号化コードストリームを入力し、該入力符号化コードストリームを復号して上記入力画像を復元する画像復号方法であって、
上記入力符号化コードストリームに含まれる上記パラメータ情報を復号するパラメータ復号工程と、
上記入力符号化コードストリームを上記パケットヘッダと上記算術符号とに分解するパケット分解工程と、
上記算術符号を復号する復号工程と、
上記ビットプレーン毎に符号化パスを復号して上記最上位ビットから最下位ビットに至るビットプレーンに復元する符号化パス復号工程と、
上記最上位ビットから最下位ビットに至るビットプレーンに基づいて上記符号ブロックを復元する符号ブロック復元工程と、
上記符号ブロックを集めて上記サブバンドを生成するサブバンド生成工程と、
上記パラメータ情報に基づいて上記サブバンド毎の量子化係数を逆量子化する逆量子化工程と、
上記サブバンドに対して階層的にフィルタリング処理を施して上記入力画像を復元するフィルタリング工程と
を有することを特徴とする画像復号方法。
A plurality of sub-bands are generated by performing a filtering process on the input image hierarchically, each coefficient of the input image after the filtering process is divided by a quantization step size, quantized, and the sub-band is divided. To generate a code block of a predetermined size, generate a bit plane from the most significant bit to the least significant bit for each code block, arithmetically code the coding path generated for each bit plane, For each of the quantized coefficients generated by the quantization, a quantized decoding value that minimizes the quantization error is searched, and parameter information that gives the quantized decoded value that minimizes the quantization error is encoded and generated. A packet is constructed by adding a packet header to the arithmetic code obtained, and an encoded code stream obtained by adding the parameter information is input, Decodes the input encoded code stream An image decoding method for restoring the input image,
A parameter decoding step of decoding the parameter information included in the input encoded code stream,
A packet decomposing step of decomposing the input coded code stream into the packet header and the arithmetic code;
A decoding step of decoding the arithmetic code,
An encoding pass decoding step of decoding an encoding pass for each bit plane and restoring the bit plane from the most significant bit to the least significant bit,
A code block restoring step of restoring the code block based on a bit plane from the most significant bit to the least significant bit,
A sub-band generation step of collecting the code blocks to generate the sub-band;
An inverse quantization step of inversely quantizing the quantization coefficient for each subband based on the parameter information,
A filtering step of performing a filtering process hierarchically on the subband to restore the input image.
JP2003144873A 2003-05-22 2003-05-22 Image encoding device and method and image decoding device and method Pending JP2004350034A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003144873A JP2004350034A (en) 2003-05-22 2003-05-22 Image encoding device and method and image decoding device and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003144873A JP2004350034A (en) 2003-05-22 2003-05-22 Image encoding device and method and image decoding device and method

Publications (1)

Publication Number Publication Date
JP2004350034A true JP2004350034A (en) 2004-12-09

Family

ID=33532212

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003144873A Pending JP2004350034A (en) 2003-05-22 2003-05-22 Image encoding device and method and image decoding device and method

Country Status (1)

Country Link
JP (1) JP2004350034A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007251672A (en) * 2006-03-16 2007-09-27 Ricoh Co Ltd Device and method for decoding image, image encoder, and method of encoding image
JP2008131140A (en) * 2006-11-17 2008-06-05 Canon Inc Image encoding device
US7912324B2 (en) 2005-04-28 2011-03-22 Ricoh Company, Ltd. Orderly structured document code transferring method using character and non-character mask blocks

Cited By (3)

* Cited by examiner, † Cited by third party
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 (en) * 2006-03-16 2007-09-27 Ricoh Co Ltd Device and method for decoding image, image encoder, and method of encoding image
JP2008131140A (en) * 2006-11-17 2008-06-05 Canon Inc Image encoding device

Similar Documents

Publication Publication Date Title
JP4273996B2 (en) Image encoding apparatus and method, and image decoding apparatus and method
JP3743384B2 (en) Image encoding apparatus and method, and image decoding apparatus and method
JP3461821B2 (en) Memory management system and memory management method
US7167592B2 (en) Method and apparatus for compression using reversible wavelet transforms and an embedded codestream
JP5034018B2 (en) Compression encoding apparatus, compression encoding method and program
US6519284B1 (en) Encoding method for the compression of a video sequence
JP4365957B2 (en) Image processing method and apparatus and storage medium
US20060222254A1 (en) Method and apparatus for compression using reversible wavelet transforms and an embedded codestream
US20080089413A1 (en) Moving Image Encoding Apparatus And Moving Image Encoding Method
Wang et al. Curved wavelet transform for image coding
JP2004336254A (en) Device and method for encoding image
US20070036222A1 (en) Non-zero coefficient block pattern coding
JP2006304329A (en) Encoding method, decoding method, encoding device, and decoding device
US5737448A (en) Method and apparatus for low bit rate image compression
JP4449400B2 (en) Image encoding apparatus and method, program, and recording medium
JP2005086351A (en) Coding device, coding method, program and information record medium
CA2552800A1 (en) Video/image coding method and system enabling region-of-interest
JP4003628B2 (en) Image encoding apparatus and method, and program
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 (en) Image encoding device and method and image decoding device and method
JP2000041249A (en) Visual progressive coding method
JP2005229441A (en) Image coding equipment and method therefor, and image decoding equipment and method therefor
KR20020055864A (en) The encoding and decoding method for a colored freeze frame
JP4934081B2 (en) Encoding apparatus, code processing apparatus, encoding method, code processing method, computer program, and recording medium

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