JP4003628B2 - 画像符号化装置及び方法、並びにプログラム - Google Patents
画像符号化装置及び方法、並びにプログラム Download PDFInfo
- Publication number
- JP4003628B2 JP4003628B2 JP2002350185A JP2002350185A JP4003628B2 JP 4003628 B2 JP4003628 B2 JP 4003628B2 JP 2002350185 A JP2002350185 A JP 2002350185A JP 2002350185 A JP2002350185 A JP 2002350185A JP 4003628 B2 JP4003628 B2 JP 4003628B2
- Authority
- JP
- Japan
- Prior art keywords
- bit
- bit plane
- encoding
- code
- code amount
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/63—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
- H04N19/64—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by ordering of coefficients or of bits for transmission
- H04N19/645—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by ordering of coefficients or of bits for transmission by grouping of coefficients into blocks after the transform
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/63—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/63—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
- H04N19/64—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by ordering of coefficients or of bits for transmission
- H04N19/647—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by ordering of coefficients or of bits for transmission using significance based coding, e.g. Embedded Zerotrees of Wavelets [EZW] or Set Partitioning in Hierarchical Trees [SPIHT]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal 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)
Description
【発明の属する技術分野】
本発明は、例えばJPEG−2000方式のように、ウェーブレット変換とエントロピー符号化とにより画像を圧縮する画像符号化装置及びその方法、並びに画像符号化処理をコンピュータに実行させるプログラムに関する。
【0002】
【従来の技術】
従来の代表的な画像圧縮方式として、ISO(International Standards Organization)によって標準化されたJPEG(Joint Photographic Experts Group)方式がある。これは、離散コサイン変換(Descrete Cosine Transform;DCT)を用い、比較的高いビットが割り当てられる場合には、良好な符号化画像及び復号画像を供することが知られている。しかし、ある程度以上に符号化ビット数を少なくすると、DCT特有のブロック歪みが顕著になり、主観的に劣化が目立つようになる。
【0003】
一方、近年では画像をフィルタバンクと呼ばれるハイパス・フィルタとローパス・フィルタとを組み合わせたフィルタによって複数の帯域に分割し、各帯域毎に符号化を行う方式の研究が盛んになっている。その中でも、ウェーブレット変換符号化は、DCTのように高圧縮でブロック歪みが顕著になるという欠点がないことから、DCTに代わる新たな技術として有力視されている。
【0004】
2001年1月に国際標準化が完了したJPEG−2000方式は、このウェーブレット変換に高能率なエントロピー符号化(ビットプレーン単位のビット・モデリングと算術符号化)を組み合わせた方式を採用しており、JPEGに比べて符号化効率の大きな改善を実現している。
【0005】
これらの国際規格ではデコーダ側の規格のみが定められており、エンコーダ側は自由に設計することができる。その反面、目標の圧縮率を実現する効果的なレート制御手法についての規格が存在しないため、ノウハウの確立が何よりも重要になる。特にJPEG方式では、このレート制御が困難であり、目標値を得るまでに複数回の符号化を施す必要も多々あった。しかしながら、これは処理時間の増大に繋がるため、JPEG−2000方式では、1度の符号化で目標の符号量を得ることが望まれている。
【0006】
そこで本件出願人は、以下の特許文献1において、一旦生成した符号化コードストリームを後尾から切り捨てることでレート制御を行う技術を提案している。この技術によれば、目標符号量に正確に合わせた制御が可能になる。
【0007】
【特許文献1】
特開2002−165098号公報
【0008】
【発明が解決しようとする課題】
ところで、一般にJPEG−2000方式のエンコーダでは、エントロピー符号化の処理負荷が非常に高い。その一方で、目標の圧縮率又はビットレートで符号化する際には、符号化した後に実際には使用されないものが存在し、これらは結果的に無駄になる。
【0009】
しかしながら、上述したレート制御はエントロピー符号化部の後段で行われるため、エントロピー符号化を行う際に最終的な符号化コードストリームに使用されるか否かをすることができず、全てを符号化する必要があった。
【0010】
本発明は、このような従来の実情に鑑みて提案されたものであり、例えばJPEG−2000方式の画像符号化装置においてエントロピー符号化の処理負荷を軽減する画像符号化装置及びその方法、並びに画像符号化処理をコンピュータに実行させるプログラムを提供することを目的とする。
【0011】
【課題を解決するための手段】
上述した目的を達成するために、本発明に係る画像符号化装置及びその方法は、入力画像に対して、低域フィルタ及び高域フィルタにより垂直方向及び水平方向にフィルタリング処理を施してサブバンドを生成し、低域成分のサブバンドに対してはさらに階層的にフィルタリング処理を施し、生成されたサブバンドを分割して所定の大きさのコードブロックを生成し、コードブロック毎に最上位ビットから最下位ビットに至るビットプレーンを生成する。そして、そのビットプレーンにおける値が非0であり、それより上位のビットプレーンにおける値が0である係数の数を上記ビットプレーン毎に計数して第1の計数値を求め、該第1の計数値に基づいて推定符号量を求め、上記入力画像の全てのコードブロックで最もビット位置の高いビットプレーンから上記最下位ビットのビットプレーンの順に上記推定符号量を加算し、所定の目標符号量を超えた場合に加算を停止して、それまでに加算されたビットプレーンを符号化対象となる符号化対象ビットプレーンとして予測し、最上位ビットから最下位ビットに至るビットプレーンのうち、この符号化対象ビットプレーンについて、上記ビットプレーン毎にビットモデリングを行って、最上位ビットから最下位ビットに至るビットプレーンのうち、ビットプレーン毎に符号化パスを生成し、生成された符号化パス内で算術符号化を行い、生成された算術符号を用いて符号化コードストリームを生成する。
【0012】
また、上述した目的を達成するために、本発明に係る画像符号化装置及びその方法は、入力画像に対して、低域フィルタ及び高域フィルタにより垂直方向及び水平方向にフィルタリング処理を施してサブバンドを生成し、低域成分のサブバンドに対してはさらに階層的にフィルタリング処理を施し、生成されたサブバンドを分割して所定の大きさのコードブロックを生成し、コードブロック毎に最上位ビットから最下位ビットに至るビットプレーンを生成する。そして、そのビットプレーン又はそれより上位の少なくとも1つのビットプレーンにおける係数値が非0である係数の数を上記ビットプレーン毎に計数し、その数に基づいて推定符号量を求め、上記入力画像の全てのコードブロックで最もビット位置の高いビットプレーンから上記最下位ビットのビットプレーンの順に上記推定符号量を加算し、所定の目標符号量を超えた場合に加算を停止して、それまでに加算されたビットプレーンを符号化対象となる符号化対象ビットプレーンとして予測し、最上位ビットから最下位ビットに至るビットプレーンのうち、この符号化対象ビットプレーンについて、上記ビットプレーン毎にビットモデリングを行って、最上位ビットから最下位ビットに至るビットプレーンのうち、ビットプレーン毎に符号化パスを生成し、生成された符号化パス内で算術符号化を行い、生成された算術符号を用いて符号化コードストリームを生成する。
【0013】
このような画像符号化装置及びその方法では、算術符号化を行う前にビットプレーン毎の推定符号量を求め、この推定符号量に基づいて符号化対象ビットプレーンを予測し、この符号化対象ビットプレーンのみを算術符号化する。
【0014】
また、本発明に係るプログラムは、上述した画像符号化処理をコンピュータに実行させるものである。
【0015】
【発明の実施の形態】
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。この実施の形態は、本発明を、JPEG−2000方式により入力画像を圧縮符号化する画像符号化装置及びその方法に適用したものである。以下では、先ず、画像符号化装置の全体構成及びその動作について説明し、次いで、この画像符号化装置において本発明が適用された要部を説明する。
【0016】
(1)画像符号化装置の構成及び動作
本実施の形態における画像符号化装置の概略構成を図1に示す。図1に示すように、画像符号化装置1は、ウェーブレット変換部10と、量子化部11と、コードブロック化部12と、ビットプレーン分解部13と、符号化対象予測部14と、エントロピー符号化部15と、レート制御部18と、符号化コードストリーム生成部19とから構成されている。ここで、エントロピー符号化部15は、ビットモデリング部16と算術符号化部17とからなる。
【0017】
ウェーブレット変換部10は、通常、低域フィルタと高域フィルタとから構成されるフィルタバンクによって実現される。なお、デジタルフィルタは、通常複数タップ長のインパルス応答(フィルタ係数)を持っているため、フィルタリングが行えるだけの入力画像を予めバッファリングしておく必要があるが、簡単のため、図1では図示を省略する。
【0018】
ウェーブレット変換部10は、フィルタリングに必要な最低限の画像信号D10を入力し、この画像信号D10に対してウェーブレット変換を行うフィルタリング処理を行ってサブバンドに分割し、サブバンド毎のウェーブレット変換係数D11を生成する。
【0019】
このウェーブレット変換では、通常図2に示すように最低周波数域のサブバンドが再帰的に変換されるが、これは画像のエネルギの多くが低域成分に集中しているためである。ここで、図2におけるウェーブレット変換のレベル数は3であり、この結果計10個のサブバンドが形成されている。なお、図2においてL,Hはそれぞれ低域,高域を表し、L,Hの前の数字は分割レベルを表す。すなわち、例えば1LHは、水平方向が低域で垂直方向が高域である分割レベル=1のサブバンドを表す。
【0020】
量子化部11は、ウェーブレット変換部10から供給されたサブバンド毎のウェーブレット変換係数D11を量子化することにより非可逆圧縮を施し、量子化係数D12を生成する。量子化手段としては、ウェーブレット変換係数D11を量子化ステップサイズで除算するスカラ量子化を用いることができる。
【0021】
コードブロック化部12は、量子化部11で生成された量子化係数D12を、エントロピー符号化の処理単位である所定の大きさのコードブロックに分割する。ここで、サブバンド中のコードブロックの位置関係を図3に示す。通常、例えば64×64、32×32、128×32程度のサイズのコードブロックが、分割後の全てのサブバンド中に生成される。したがって、図2において最も分割レベルが小さい3HHのサブバンドの大きさが640×320であった場合には、64×64のコードブロックは、水平方向に10個、垂直方向に5個、合計50個存在することになる。コードブロック化部12は、コードブロック毎の量子化係数D13をビットプレーン分解部13に供給し、後段の符号化処理は、これらのコードブロック毎に行われる。
【0022】
ビットプレーン分解部13は、コードブロック毎の量子化係数D13をビットプレーンに分解する。このビットプレーンの概念について図4を用いて説明する。図4(A)は、縦4個、横4個の計16個の係数からなる量子化係数を仮定したものである。この16個の係数のうち絶対値が最大のものは13であり、2進数表現では1101となる。したがって、係数の絶対値のビットプレーンは、図4(B)に示すような4つのビットプレーンから構成される。なお、各ビットプレーンの要素は、全て0又は1の数をとる。一方、量子化係数の符号は、−6が唯一負の値であり、それ以外は0又は正の値である。したがって、符号のビットプレーンは、図4(C)に示すようになる。ビットプレーン分解部13は、このビットブレーンに分解された量子化係数D14を符号化対象予測部14とエントロピー符号化部15のビットモデリング部16とに供給する。
【0023】
符号化対象予測部14は、ビットプレーン分解部13においてビットブレーンに分解された量子化係数D14に基づいて、最終的に符号化されるビットプレーンをエントロピー符号化部15で符号化する前に事前予測し、符号化対象情報D15としてエントロピー符号化部15のビットモデリング部16に供給する。なお、この符号化対象予測部14における予測処理の詳細については後述する。
【0024】
ビットモデリング部16は、ビットプレーン分解部13から供給されたビットプレーン毎の量子化係数D14のうち、符号化対象予測部14から供給された符号化対象情報D15で示されるビットプレーンの量子化係数D14に対して、以下のようにして係数ビットモデリングを行い、符号化シンボル及びコンテキストD16を算術符号化部17に供給する。そして、算術符号化部17は、このコンテキストに基づいて符号化シンボルに対して算術符号化を施し、得られた算術符号D17をレート制御部18に供給する。ここで、本実施の形態では、特にJPEG−2000規格で定められたEBCOTと呼ばれるエントロピー符号化を例に取りながら説明する。このEBCOTについては、例えば、文献「IS0/IEC 15444-1, Information technology-JPEG 2000, Part 1:Core coding system」等に詳細に記載されている。なお、上述したように、ビットモデリング部16と算術符号化部17とにより、エントロピー符号化部15が構成される。
【0025】
EBCOTは、所定の大きさのブロック毎にそのブロック内の係数ビットの統計量を測定しながら符号化する手段であり、コードブロック単位に量子化係数をエントロピー符号化する。コードブロックは、最上位ビット(Most Significant Bit;MSB)から最下位ビット(Least Significant Bit;LSB)方向にビットプレーン毎に独立して符号化される。また、コードブロックの縦横のサイズは、4から256までの2の冪乗で、通常は32×32、64×64、128×32等の大きさが使用される。量子化係数は、nビットの符号付き2進数で表されており、bit0からbit(n−2)がLSBからMSBまでのそれぞれのビットを表す。なお、残りの1ビットは符号である。コードブロックの符号化は、MSB側のビットプレーンから順番に、以下の(a)〜(c)に示す3種類の符号化パスによって行われる。
【0026】
(a) Significance Propagation Pass
(b) Magnitude Refinement Pass
(c) Clean Up Pass
3つの符号化パスの用いられる順序を図5に示す。図5に示すように、先ずビットプレーン(n−2)(MSB)がClean Up Pass(以下、適宜CUパスという。)によって符号化される。続いて、順次LSB側に向かい、各ビットプレーンが、Significance Propagation Pass(以下、適宜SPパスという。)、Magnitude Refinement Pass(以下、適宜MRパスという。)、Clean Up Pass の順序で用いられて符号化される。
【0027】
但し、実際にはMSB側から何番目のビットプレーンで初めて1が出てくるかをヘッダに書き、ゼロ係数から構成されるビットプレーン(ゼロビットプレーン)は符号化しない。この順序で3種類の符号化パスを繰返し用いて符号化し、任意のビットプレーンの任意の符号化パスまでで符号化を打ち切ることにより、符号量と画質のトレードオフを取る、すなわちレート制御を行うことができる。
【0028】
ここで、係数ビットの走査(スキャニング)について図6を用いて説明する。コードブロックは、高さ4個の係数ビット毎にストライプ(stripe)に分けられる。ストライプの幅は、コードブロックの幅に等しい。スキャン順とは1個のコードブロック内の全ての係数ビットを辿る順番であり、コードブロック中では上のストライプから下のストライプへの順序、各ストライプ中では左の列から右の列への順序、各列中では上から下への順序でスキャニングされる。なお、各符号化パスにおいてコードブロック中の全ての係数ビットがこのスキャン順で処理される。
【0029】
以下、上述した3つの符号化パスについて説明する。なお、この3つの符号化パスについては、何れも上述した文献文献「IS0/IEC 15444-1, Information technology-JPEG 2000, Part 1:Core coding system」に記載されている。
【0030】
(a) Significance Propagation Pass
あるビットプレーンを符号化するSPパスでは、8近傍の少なくとも1つの係数が有意(significant)であるようなnon-significantな係数ビットが算術符号化される。その符号化した係数ビットの値が1である場合には、符号の正負が続けて算術符号化される。
【0031】
ここでsignificanceとは、各係数ビットに対して符号化器が持つ状態である。significanceの初期値は、non-significantを表す「0」であり、その係数で1が符号化されたときにsignificantを表す「1」に変化し、以降常に「1」であり続ける。したがって、significanceとは、有効桁の情報を既に符号化したか否かを示すフラグともいえる。あるビットプレーンでSPパスが発生すれば、以降のビットプレーンではSPパスは発生しない。
【0032】
(b) Magnitude Refinement Pass
ビットプレーンを符号化するMRパスでは、ビットプレーンを符号化するSPパスで符号化していないsignificantな係数ビットが算術符号化される。
【0033】
(c) Clean Up Pass
ビットプレーンを符号化するCUパスでは、ビットプレーンを符号化するSPパスで符号化していないnon-significantな係数ビットが算術符号化される。その符号化した係数ビットの値が1である場合には、符号の正負が続けて算術符号化される。
【0034】
なお、以上の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」等に記載されている。JPEG−2000では、全ての符号化パスで合計19種類のコンテキストがある。
【0035】
以上のようにして、ビットモデリング部16は、ビットプレーン毎の量子化係数D14のうち、符号化対象予測部14から供給された符号化対象情報D15で示されるビットプレーンの量子化係数D14を3つの符号化パスで処理し、符号化シンボル及びコンテキストD16を生成する。そして、算術符号化部17は、このコンテキストに基づいて符号化シンボルに対して算術符号化を施し、算術符号D17を生成する。
【0036】
レート制御部18は、少なくとも一部の符号化パスの処理を行った後で、算術符号化部17から供給された算術符号D17の符号量をカウントし、目標の符号量に達した時点で、それより後の算術符号D17を切り捨てる。このように、符号量をオーバーする直前で切り捨てることにより、確実に目標の符号量に抑えることができる。レート制御部18は、この符号量制御完了後の算術符号D18を符号化コードストリーム生成部19に供給する。なお、レート制御部18におけるレート制御処理の詳細については後述する。
【0037】
符号化コードストリーム生成部19は、レート制御部18から供給された符号量制御完了後の算術符号D18に基づいて、コードブロック内での付加情報、例えばコードブロック内の符号化パスの個数や圧縮コードストリームのデータ長等をヘッダとして生成する。そして、このヘッダと符号量制御完了後の算術符号D18とを合わせてパケットを生成し、符号化コードストリームD19として出力する。この際、符号化コードストリーム生成部19は、図7に示すように同一解像度レベルから個々のパケットを生成する。なお、図7から分かるように、最低域であるパケット−1は、LL成分のみを含み、それ以外のパケット−2乃至パケット−4は、LH成分,HL成分及びHH成分を含む。
【0038】
以上のように、本実施の形態における画像符号化装置1は、ウェーブレット変換及びエントロピー符号化を用いて画像信号D10を高効率に圧縮符号化し、パケット化して符号化コードストリームD19として出力することができる。
【0039】
(2)画像符号化装置における適用部分
(2−1)符号化対象予測部の構成及び動作
ところで、一般にJPEG−2000方式により入力画像を圧縮符号化する画像符号化装置では、EBCOTにおけるエントロピー符号化の処理負荷が非常に高い。その一方で、目標の圧縮率又はビットレートで符号化する際には、EBCOTで符号化した後に実際には使用されないものが存在し、これらは結果的に無駄になる。しかしながら、各符号化パスの算術符号が必要であるか否かはエントロピー符号化部の後段にあるレート制御部で判断されるため、エントロピー符号化部では必要であるか否かに拘わらず全ての符号化パスを符号化する必要があった。
【0040】
そこで、本実施の形態における符号化対象予測部14は、最終的に使用される蓋然性の高いビットプレーンをエントロピー符号化部15の前段で事前予測し、符号化対象情報D15として上述したビットモデリング部16に供給する。具体的には、ビットプレーン毎の量子化係数D14に基づいて符号量推定のための特徴量を抽出し、その特徴量に基づいてビットプレーン毎に発生する符号量を推定する。そして、この推定符号量に基づいて最終的に符号化されるビットプレーンを予測する。
【0041】
この符号化対象予測部14の内部構成の一例を図8に示す。図8に示すように、符号化対象予測部14は、特徴量抽出部30と、符号量推定部31と、初期レート制御部32とから構成されている。
【0042】
特徴量抽出部30は、ビットプレーン毎の量子化係数D14に基づいて、例えば処理対象となるビットプレーンの符号化で新規にsignificantとなる量子化係数の数、すなわち処理対象のビットプレーンにおける係数ビットの値が1で、それより上位のビットプレーンにおける係数ビットの値が0である量子化係数の数を、全てのコードブロックの各ビットプレーンについて求め、これを特徴量D30として符号量推定部31に供給する。
【0043】
符号量推定部31は、特徴量抽出部30から供給された特徴量D30に基づいて、後述する手法によりビットプレーン毎に発生する符号量を推定し、推定符号量D31を初期レート制御部32に供給する。
【0044】
初期レート制御部32は、符号量推定部31から供給された推定符号量D31を後述する手法により順次加算し、初期目標符号量に達した時点で加算を停止し、それまでに加算されたビットプレーンの情報を符号化対象情報D15として上述したビットモデリング部16に供給する。
【0045】
以下、符号化対象予測部14の各部における処理をさらに詳細に説明する。ここで、便宜上、各コードブロックにIDとなる番号を定義し、この番号順に処理を行うものとする。ここでは、低域のサブバンドから高域のサブバンドの順に、同じサブバンド内ではラスタスキャン順に番号を定義する。
【0046】
なお、同じ分割レベルにおけるHLとLHとについては、図9(A)に示すようにHLを優先させるようにしてもよく、図9(B)に示すようにLHを優先させるようにしてもよい。
【0047】
また、カラー画像などでコンポーネントが複数ある場合にも、同様にして全てのコードブロックにIDとなる番号を定義する。この際、コンポーネントが輝度と色差とからなる場合には、輝度のコンポーネントを優先させて番号を定義する。
【0048】
また、各コードブロックについては、最上位ビット(MSB)から最下位ビット(LSB)方向に処理を行うものとする。ここで、量子化係数を2進数表現した際の桁数は、一般にサブバンド毎に異なる。そこで、以下では、全サブバンドで最大の桁数をMAX_BPとしたとき、桁数がMAX_BP未満であるコードブロックは最上位ビット(MSB)側に0を埋めて桁数をMAX_BPとし、最下位ビット(LSB)側からのビット位置を合わせるものとする。
【0049】
(2−1−1)特徴量抽出部の動作
先ず、特徴量抽出部30における特徴量抽出処理の一例を、図10のフローチャートに示す。始めにステップS1において、cb=0とセットする。これは、最初に処理するコードブロックのコードブロック番号cbが0であることを示す。
【0050】
次にステップ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と付けてあるものとする。
【0051】
続いてステップS3において、CountNewSig[cb][bp]を0に初期化する。ここで、CountNewSig[cb][bp]は、コードブロック番号cb、ビットプレーン番号bpのビットプレーンの符号化で新規にsignificantとなる量子化係数の数を計数するカウンタである。
【0052】
ステップ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に進む。
【0053】
ステップS7では、ビットプレーン番号bpのビットプレーンにおいて未処理の量子化係数sがあるか否かを判別し、未処理の量子化係数sがある場合(Yes)にはステップS4に戻り、そうでない場合(No)にはステップS8に進み、CountNewSig[cb][bp]の値を出力する。この値がコードブロック番号cb、ビットプレーン番号bpのビットプレーンにおける特徴量D30であり、特徴量抽出部30から符号量推定部31に供給される。
【0054】
ステップS9では、コードブロック番号cbのコードブロックにおいて未処理のビットプレーンがあるか否かを判別し、未処理のビットプレーンがある場合(Yes)には、ステップS10でbpに1を加えてステップS3に戻り、そうでない場合(No)にはステップS11に進む。
【0055】
ステップS11では、未処理のコードブロックがあるか否かを判別し、未処理のコードブロックがある場合(Yes)には、ステップS12でcbに1を加えてステップS2に戻り、そうでない場合(No)には特徴量抽出処理を終了する。
【0056】
本実施の形態における特徴量抽出部30は、以上のような処理を行うことで、全てのコードブロックの各ビットプレーンで新規にsignificantとなる量子化係数の数を計数し、この数を特徴量D30として符号量推定部31に供給する。
【0057】
なお、以上の説明では、コードブロック番号cb、ビットプレーン番号bpのビットプレーンにおいて新規にsignificantとなる量子化係数の数、すなわちそのビットプレーンにおける係数ビットの値が1で、それより上位のビットプレーンにおける係数ビットの値が0である量子化係数の数をCountNewSig[cb][bp]として計数し、これを特徴量D30としたが、これに限定されるものではない。
【0058】
例えば、コードブロック番号cb、ビットプレーン番号bpのビットプレーンにおいてsignificantである量子化係数の数、すなわちそのビットプレーン以上の少なくとも1つのビットプレーンで係数ビットの値が1である量子化係数の数をCountSig[cb][bp]とすると、このCountSig[cb][bp]は、以下の式(1)、(2)を満たす。
【0059】
【数1】
【0060】
すなわち、CountSig[cb][bp]とCountNewSig[cb][bp]とは、何れか一方を求めれば他方を算出することができるため、上述したCountNewSig[cb][bp]の代わりにCountSig[cb][bp]を特徴量D30として用いることができる。
【0061】
(2−1−2)符号量推定部及び初期レート制御部の動作
続いて、符号量推定部31及び初期レート制御部32における処理の一例を、図11のフローチャートに示す。始めにステップS20において、処理するビットプレーンのビットプレーン番号bpを0に、符号量の総和であるTotalBitsを0に、それぞれ初期化し、ステップS21において、処理するコードブロックのコードブロック番号cbを0に初期化する。
【0062】
次にステップS22において、ビットプレーン番号bpが0であるか否かを判別する。ここで、ビットプレーン番号bpが0である場合(Yes)にはステップS23においてCountMR[cb][bp]を0とし、そうでない場合(No)にはステップS24において以下の式(3)に従ってCountMR[cb][bp]を求める。このCountMR[cb][bp]は、コードブロック番号cb、ビットプレーン番号bpのビットプレーンにおいて、MRパスで符号化される量子化係数の数を示す。
【0063】
【数2】
【0064】
なお、CountMR[cb][i]は、CountMR[cb][i+1]を求めた以降は使われることがないため、bpの値ごとに異なるメモリ領域を確保する必要はなく、CountMR[cb][i+1]はCountMR[cb][i]と同じメモリを共有できる。
【0065】
続いてステップS25において、以下の式(4)に従って、コードブロック番号cb、ビットプレーン番号bpのビットプレーンの符号化で発生する符号量Bitsを求め、符号量の総和TotalBitsにこの符号量Bitsを加える。
【0066】
【数3】
【0067】
ここで、式(4)の右辺第2項(CountMR[cb][bp]×RatioMR)は、そのビットプレーンのMRパスにおいて発生する符号量の推定値を示す。MRパスは、既にsignificantである係数ビットについての符号化である。すなわち、そのビットプレーンよりも上位のビットプレーンで1が現れているため、そのビットプレーンで0と1の何れを取るかの確率に偏りは少ない。1/2の確率で起こることを符号化するのに必要なビット量なので、定数RatioMRの値は、ほぼ1となる。
【0068】
また、式(4)の右辺第1項(CountNewSig[cb][bp]×RatioNewSig)は、そのビットプレーンのSPパス及びCUパスにおいて発生する符号量の推定値を示す。CountNewSig[cb][bp]は、まだsignificantでない量子化係数で次に符号化するビットプレーンの係数ビットが1である量子化係数の数である。これは起こる確率が少ないため発生符号量は多くなる。そこで、右辺第2項の定数RatioMRとは異なる定数RatioNewSigを掛けて、符号量の推定値とする。
【0069】
なお、この定数RatioNewSigは、CountMR[cb][bp]の値によって最適な値が異なるものであるため、例えばCountMR[cb][bp]についての関数を用いてその値を求めたり、CountMR[cb][bp]の値によって数種類の中から最適な値を選択したりしてもよい。この際、CountMR[cb][bp]の値をコードブロック内の量子化係数の総数で正規化するようにすれば、コードブロックの大きさが異なる場合であっても、最適な値を求めることができる。
【0070】
ステップS26では、符号量の総和TotalBitsが初期目標符号量以上であるか否かを判別する。ここで、符号量の総和TotalBitsが初期目標符号量以上である場合(Yes)にはステップS31に進み、その時点でのコードブロック番号cbとビットプレーン番号bpとを出力して処理を終了する。一方、符号量の総和TotalBitsが初期目標符号量未満である場合(No)にはステップS27に進む。
【0071】
ステップS27では、未処理のコードブロックがあるか否かを判別し、未処理のコードブロックがある場合(Yes)には、ステップS28でcbに1を加えてステップS22に戻り、そうでない場合(No)にはステップS29に進む。
【0072】
ステップS29では、コードブロック番号cbのコードブロックにおいて未処理のビットプレーンがあるか否かを判別し、未処理のビットプレーンがある場合(Yes)には、ステップS30でbpに1を加えてステップS21に戻り、そうでない場合(No)にはステップS31に進み、その時点でのコードブロック番号cbとビットプレーン番号bpとを出力して処理を終了する。
【0073】
本実施の形態における符号量推定部31及び初期レート制御部32は、以上のような処理を行うことで、特徴量抽出部30から供給された特徴量D30に基づいてビットプレーン毎の推定符号量D31を求め、この推定符号量D31を上述した順序で順次加算し、初期目標符号量に達した時点で加算を停止する。そして、加算を停止した時点のコードブロック番号cbとビットプレーン番号bpとを符号化対象情報D15としてエントロピー符号化部15に供給する。
【0074】
後段のエントロピー符号化部15では、ビットプレーン毎の量子化係数D14のうち、符号化対象情報D15で示されるビットプレーンの量子化係数D14を3つの符号化パスで処理する。すなわち、コードブロック番号cbがcb未満のコードブロックでは、ビットプレーン番号bpが0からbp−1までの符号化を行い、コードブロック番号cbがcb以上のコードブロックでは、ビットプレーン番号bpが0からbpまでの符号化を行い、残りのビットプレーンの符号化を省略する。
【0075】
このように、コードブロック毎に符号化対象情報D15で示されるビットプレーンのみが実際に符号化されるため、省略したビットプレーン数分だけ処理負荷を軽減し、符号化に費やす時間を短縮することができる。
【0076】
(2−2)符号量推定部及び初期レート制御部の動作の他の例
ここで、上述の例では、ビットプレーン単位で発生符号量を推定し、ビットプレーン単位で初期レート制御を行うものとして説明したが、これに限定されるものではなく、符号化パス単位で発生符号量を推定し、符号化パス単位で初期レート制御を行うようにしても構わない。
【0077】
このように符号化パス単位で初期レート制御を行う場合の符号量推定部31及び初期レート制御部32における処理の一例を、図12のフローチャートに示す。始めにステップS40において、処理する符号化パスの符号化パス番号cpを0に、符号量の総和TotalBitsを0に、それぞれ初期化する。ここで、符号化パス番号cpは、bp=0のビットプレーンが0であり、bp=1以降は各ビットプレーンについてSPパス、MRパス、CUパスの順に、1,2,3・・・と付けてあるものとする。
【0078】
次にステップS41において、処理するコードブロックのコードブロック番号cbを0に初期化すると共に、以下の式(5)に従って現在のビットプレーン番号bpを求める。なお、式(5)において、除算結果の小数部は切り捨てるものとする。
【0079】
【数4】
【0080】
続いてステップS42において、ビットプレーン番号bpが0であるか否かを判別する。ここで、ビットプレーン番号bpが0である場合(Yes)にはステップS43においてCountMR[cb][bp]を0とする。一方、ビットプレーン番号bpが0でなく(No)、符号化パス番号cpを3で除算した余りが1である場合、すなわち各ビットプレーンの最初の符号化パスである場合には、ステップS44において以下の式(6)に従ってCountMR[cb][bp]を求める。ここで、式(6)においてcp%3はcpを3で除算したときの余りを示す。
【0081】
【数5】
【0082】
続いてステップS45において、以下の式(7)乃至式(9)に従って、コードブロック番号cb、ビットプレーン番号bp、符号化パス番号cpの符号化パスの符号化で発生する符号量Bitsを求め、符号量の総和TotalBitsにこの符号量Bitsを加える。
【0083】
【数6】
【0084】
すなわち、符号化パス番号cpを3で除算した余りが2である場合、すなわち、MRパスである場合には、式(7)に示すように、CountMR[cb][bp]に定数RatioMRを乗算した値が推定される符号量Bitsとなる。
【0085】
また、SPパス及びCUパスで発生する符号量は上述の通りCountNewSig[cb][bp]×RatioNewSigである。ここで、コードブロックの量子化係数の数をCountAllとしたとき、CountMR[cb][bp]/CountAllが大きいほどSPパスで発生する符号量の割合が高くなり、CUパスで発生する符号量の割合が低くなる。これは、CountMR[cb][bp]/CountAllが大きいということはsignificantな係数ビットの数が多いということであり、8近傍にsignificantな係数ビットが少なくとも1つあるというSPパスの符号化条件が満たされやすくなるためである。
【0086】
そこで、符号化パス番号cpを3で除算した余りが1である場合、すなわち、SPパスである場合には、CountMR[cb][bp]/CountAllをSPパスで発生する符号量の割合に変換する関数RatioSPFunk(CountMR[cb][bp]/CountAll)を用いて、式(8)に示すように、CountNewSig[cb][bp]×RatioNewSigにRatioSPFunk(CountMR[cb][bp]/CountAll)を乗算した値が推定される符号量Bitsとなる。
【0087】
一方、符号化パス番号cpを3で除算した余りが0である場合、すなわち、CUパスである場合には、式(9)に示すように、CountNewSig[cb][bp]×RatioNewSigに1-RatioSPFunk(CountMR[cb][bp]/CountAll)を乗算した値が推定される符号量Bitsとなる。
【0088】
ステップS46では、符号量の総和TotalBitsが初期目標符号量以上であるか否かを判別する。ここで、符号量の総和TotalBitsが初期目標符号量以上である場合(Yes)にはステップS51に進み、その時点でのコードブロック番号cbと符号化パス番号cpとを出力して処理を終了する。一方、符号量の総和TotalBitsが初期目標符号量未満である場合(No)にはステップS47に進む。
【0089】
ステップS47では、未処理のコードブロックがあるか否かを判別し、未処理のコードブロックがある場合(Yes)には、ステップS48でcbに1を加えてステップS42に戻り、そうでない場合(No)にはステップS49に進む。
【0090】
ステップS49では、コードブロック番号cbのコードブロックにおいて未処理の符号化パスがあるか否かを判別し、未処理の符号化パスがある場合(Yes)には、ステップS50でcpに1を加えてステップS41に戻り、そうでない場合(No)にはステップS51に進み、その時点でのコードブロック番号cbと符号化パス番号cpとを出力して処理を終了する。
【0091】
以上のような処理を行うことで、符号量推定部31及び初期レート制御部32は、特徴量抽出部30から供給された特徴量D30に基づいて符号化パス毎の推定符号量を求め、この推定符号量を上述した順序で順次加算し、初期目標符号量に達した時点で加算を停止する。そして、加算を停止した時点のコードブロック番号cbと符号化パス番号cpとを符号化対象情報D15としてエントロピー符号化部15に供給する。
【0092】
後段のエントロピー符号化部15では、ビットプレーン毎の量子化係数D14のうち、符号化対象情報D15で示されるビットプレーンの量子化係数D14を3つの符号化パスで処理する。すなわち、コードブロック番号cbがcb未満のコードブロックでは、符号化パス番号cpが0からcp−1までの符号化を行い、コードブロック番号cbがcb以上のコードブロックでは、符号化パス番号cpが0からcpまでの符号化を行い、残りの符号化パスの符号化を省略する。
【0093】
このように、コードブロック毎に符号化対象情報D15で示される符号化パスのみが実際に符号化されるため、省略した符号化パス数分だけ処理負荷を軽減し、符号化に費やす時間を短縮することができる。
【0094】
(2−3)レート制御部の動作
初期レート制御部32とレート制御部18とで同じ方式のレート制御を行い、符号量推定部31における発生符号量の推定が完全にできる場合には、レート制御部18を省略し、符号化コードストリーム生成部19ではエントロピー符号化部15で符号化された全ての符号化パスの符号を用いて符号化コードストリームD19を作成することが可能である。
【0095】
勿論、一般的には符号量推定部31における符号量の推定は完全にはできないが、目標符号量に近いサイズにレート制御を行うことができるため、このときの目標符号量に対するサイズの変動がこの画像符号化装置1の目的における許容範囲内である場合にはレート制御部18を省略することができる。
【0096】
但し、符号量推定部31において、ビットプレーン毎の発生符号量を実際よりも多く推定した場合には、目標符号量に達するまでに必要な符号化パス数が実際よりも少なくなり、エントロピー符号化部15で符号化した符号化パスを全て符号化コードストリームD19に含めても目標符号量に達しない虞がある。この場合、目標符号量に達するように、さらに多くの符号化パスを含めた符号化コードストリームと比較して、復号したときの画質が劣化する。
【0097】
これを避けるために、ビットプレーン毎の発生符号量を実際よりも多く推定する可能性がある場合、或いは高画質が求められている場合には、初期目標符号量を割増ししたり、推定される発生符号量の範囲内で小さい値を推定符号量として用いたりすることができる。
【0098】
この場合には、レート制御部18において、図13のフローチャートに示すようにレート制御を行うことが好ましい。すなわち、先ずステップS60において、エントロピー符号化部15で符号化された全符号化パスの情報と各ビットプレーンの符号量とを保持する。
【0099】
次にステップS61において、処理するビットプレーンのビットプレーン番号bpを0に、符号量の総和TotalBitsを0に、それぞれ初期化し、ステップS62において、処理するコードブロックのコードブロック番号cbを0に初期化する。
【0100】
続いてステップS63において、コードブロック番号cb、ビットプレーン番号bpのビットプレーンの符号量Bitsを符号量の総和TotalBitsに加算する。
【0101】
ステップS64では、符号量の総和TotalBitsが目標符号量以上であるか否かを判別する。ここで、符号量の総和TotalBitsが目標符号量以上である場合(Yes)には符号量の加算処理を終了する。一方、符号量の総和TotalBitsが目標符号量未満である場合(No)にはステップS65に進む。
【0102】
ステップS65では、未処理のコードブロックがあるか否かを判別し、未処理のコードブロックがある場合(Yes)には、ステップS66でcbに1を加えてステップS63に戻り、そうでない場合(No)にはステップS67に進む。
【0103】
ステップS67では、コードブロック番号cbのコードブロックにおいて未処理のビットプレーンがあるか否かを判別し、未処理のビットプレーンがある場合(Yes)には、ステップS68でbpに1を加えてステップS62に戻り、そうでない場合(No)には符号量の加算処理を終了する。
【0104】
このように、レート制御部18では、最もビット位置の高いビットプレーン番号bpが0のビットプレーンから、コードブロック番号cbの順に符号量を加算し、同じビット位置の符号量を全て加算して初めて、下位のビット位置に移り、同様にコードブロック番号cbの順に目標符号量に達するまで加算を繰り返す。このため、最終的に選択されずに切り捨てられるビットプレーン数が、1フレーム内の全てのコードブロックに対して最下位ビット(LSB)側から数えて最大でも1ビットプレーンしか相違せず、サブバンド間の画質差がなくなり、全体的に高画質な画像が得られる。
【0105】
(3)その他
本発明は上述した実施の形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。
【0106】
例えば、初期レート制御部32では、RD(Rate-Distortion)特性を利用した初期レート制御を行うようにしても構わない。このRD特性を利用した初期レート制御では、ビットプレーン毎に発生する推定符号量と、そのビットプレーンを含めた場合に削減される歪み量とを比較し、推定符号量当たりに削減される歪み量が多いビットプレーンから優先して符号化する。なお、この場合、後段のレート制御部18においても、RD特性を利用したレート制御を行うことが好ましい。
【0107】
また、上述の実施の形態では、ハードウェアの構成として説明したが、これに限定されるものではなく、任意の処理を、CPU(Central Processing Unit)にコンピュータプログラムを実行させることにより実現することも可能である。この場合、コンピュータプログラムは、記録媒体に記録して提供することも可能であり、また、インターネットその他の伝送媒体を介して伝送することにより提供することも可能である。
【0108】
【発明の効果】
以上詳細に説明したように本発明に係る画像符号化装置及びその方法は、入力画像に対して、低域フィルタ及び高域フィルタにより垂直方向及び水平方向にフィルタリング処理を施してサブバンドを生成し、低域成分のサブバンドに対してはさらに階層的にフィルタリング処理を施し、生成されたサブバンドを分割して所定の大きさのコードブロックを生成し、コードブロック毎に最上位ビットから最下位ビットに至るビットプレーンを生成する。そして、上記ビットプレーン毎の推定符号量を求め、この推定符号量に基づいて符号化対象となる符号化対象ビットプレーンを予測し、この符号化対象ビットプレーンについて、上記ビットプレーン毎にビットモデリングを行ってビットプレーン毎に符号化パスを生成し、生成された符号化パス内で算術符号化を行い、生成された算術符号を用いて符号化コードストリームを生成する。
【0109】
また、本発明に係る画像符号化装置及びその方法は、入力画像に対して、低域フィルタ及び高域フィルタにより垂直方向及び水平方向にフィルタリング処理を施してサブバンドを生成し、低域成分のサブバンドに対してはさらに階層的にフィルタリング処理を施し、生成されたサブバンドを分割して所定の大きさのコードブロックを生成し、コードブロック毎に最上位ビットから最下位ビットに至るビットプレーンを生成する。また、符号化パス毎の推定符号量を求め、この推定符号量に基づいて、符号化対象となる符号化対象符号化パスを予測する。そして、上記ビットプレーン毎にビットモデリングを行ってビットプレーン毎に符号化パスを生成し、この符号化パスのうち上記符号化対象符号化パスについて符号化パス内で算術符号化を行い、生成された算術符号を用いて符号化コードストリームを生成する。
【0110】
このような画像符号化装置及びその方法によれば、算術符号化を行う前にビットプレーン又は符号化パス毎の推定符号量を求め、この推定符号量に基づいて符号化対象ビットプレーン又は符号化対象符号化パスを予測し、その符号化対象ビットプレーン又は符号化対象符号化パスのみを算術符号化することで、算術符号化の処理負荷を軽減することができる。
【0111】
また、本発明に係るプログラムは、上述した画像符号化処理をコンピュータに実行させるものである。
【0112】
このようなプログラムによれば、上述した画像符号化処理をソフトウェアにより実現することができる。
【図面の簡単な説明】
【図1】本実施の形態における画像符号化装置の概略構成を説明する図である。
【図2】分割レベル=3までウェーブレット変換・分割した場合のサブバンドを説明する図である。
【図3】コードブロックとサブバンドとの関係を説明する図である。
【図4】ビットプレーンを説明する図であり、同図(A)は、計16個の係数から成る量子化係数を示し、同図(B)は、係数の絶対値のビットプレーンを示し、同図(C)は、符号のビットプレーンを示す。
【図5】コードブロック内の符号化パスの処理手順を説明する図である。
【図6】コードブロック内の係数のスキャン順序を説明する図である。
【図7】同画像符号化装置の符号化コードストリーム生成部で生成されるパケットを説明する図である。
【図8】同画像符号化装置の符号化対象予測部の内部構成の一例を説明する図である。
【図9】同画像符号化装置における各コードブロックのIDを説明する図であり、同図(A)は、LHサブバンドよりもHLサブバンドを優先させる例を示し、同図(B)は、HLサブバンドよりもLHサブバンドを優先させる例を示す。
【図10】同画像符号化装置の特徴量抽出部での特徴量抽出処理の一例を説明するフローチャートである。
【図11】同画像符号化装置の符号量推定部及び初期レート制御部での処理の一例を説明するフローチャートである。
【図12】同画像符号化装置の符号量推定部及び初期レート制御部での処理の他の例を説明するフローチャートである。
【図13】同画像符号化装置のレート制御部での処理の一例を説明するフローチャートである。
【符号の説明】
1 画像符号化装置、10 ウェーブレット変換部、11 量子化部、12 コードブロック化部、13 ビットプレーン分解部、14 符号化対象予測部、15 エントロピー符号化部、16 ビットモデリング部、17 算術符号化部、18 レート制御部、19 符号化コードストリーム生成部、30 特徴量抽出部、31 符号量推定部、32 初期レート制御部
Claims (6)
- 入力画像に対して、低域フィルタ及び高域フィルタにより垂直方向及び水平方向にフィルタリング処理を施してサブバンドを生成し、低域成分のサブバンドに対してはさらに階層的にフィルタリング処理を施すフィルタリング手段と、
上記フィルタリング手段によって生成されたサブバンドを分割し、所定の大きさのコードブロックを生成するコードブロック生成手段と、
上記コードブロック毎に最上位ビットから最下位ビットに至るビットプレーンを生成するビットプレーン生成手段と、
そのビットプレーンにおける値が非0であり、それより上位のビットプレーンにおける値が0である係数の数を上記ビットプレーン毎に計数して第1の計数値を求め、該第1の計数値に基づいて推定符号量を求める符号量推定手段と、
上記推定符号量に基づいて、符号化対象となる符号化対象ビットプレーンを予測する符号化対象予測手段であって、上記入力画像の全てのコードブロックで最もビット位置の高いビットプレーンから上記最下位ビットのビットプレーンの順に上記推定符号量を加算し、所定の目標符号量を超えた場合に加算を停止して、それまでに加算されたビットプレーンを上記符号化対象ビットプレーンとする符号化対象予測手段と、
最上位ビットから最下位ビットに至るビットプレーンのうち、上記符号化対象ビットプレーンについて、上記ビットプレーン毎にビットモデリングを行うビットモデリング手段と、
最上位ビットから最下位ビットに至るビットプレーンのうち、上記符号化対象ビットプレーンについて、上記ビットプレーン毎に符号化パスを生成する符号化パス生成手段と、
上記符号化パス生成手段によって生成された符号化パス内で算術符号化を行う算術符号化手段と、
上記算術符号化手段によって生成された算術符号を用いて符号化コードストリームを生成する符号化コードストリーム生成手段と
を備えることを特徴とする画像符号化装置。 - 上記符号化対象予測手段は、各ビットプレーンの符号により削減される削減歪み量を算出し、上記推定符号量当たりの上記削減歪み量が大きいビットプレーンから小さいビットプレーンの順に上記推定符号量を加算し、所定の目標符号量を超えた場合に加算を停止して、それまでに加算されたビットプレーンを上記符号化対象ビットプレーンとすることを特徴とする請求項1記載の画像符号化装置。
- 入力画像に対して、低域フィルタ及び高域フィルタにより垂直方向及び水平方向にフィルタリング処理を施してサブバンドを生成し、低域成分のサブバンドに対してはさらに階層的にフィルタリング処理を施すフィルタリング手段と、
上記フィルタリング手段によって生成されたサブバンドを分割し、所定の大きさのコードブロックを生成するコードブロック生成手段と、
上記コードブロック毎に最上位ビットから最下位ビットに至るビットプレーンを生成するビットプレーン生成手段と、
そのビットプレーン又はそれより上位の少なくとも1つのビットプレーンにおける係数値が非0である係数の数を上記ビットプレーン毎に計数し、その数に基づいて推定符号量を求める符号量推定手段と、
上記推定符号量に基づいて、符号化対象となる符号化対象ビットプレーンを予測する符号化対象予測手段であって、上記入力画像の全てのコードブロックで最もビット位置の高いビットプレーンから上記最下位ビットのビットプレーンの順に上記推定符号量を加算し、所定の目標符号量を超えた場合に加算を停止して、それまでに加算されたビットプレーンを上記符号化対象ビットプレーンとする符号化対象予測手段と、
最上位ビットから最下位ビットに至る上記ビットプレーンのうち、上記符号化対象ビットプレーンについて、上記ビットプレーン毎にビットモデリングを行うビットモデリング手段と、
最上位ビットから最下位ビットに至る上記ビットプレーンのうち、上記符号化対象ビットプレーンについて、上記ビットプレーン毎に符号化パスを生成する符号化パス生成手段と、
上記符号化パス生成手段によって生成された符号化パス内で算術符号化を行う算術符号化手段と、
上記算術符号化手段によって生成された算術符号を用いて符号化コードストリームを生成する符号化コードストリーム生成手段と
を備えることを特徴とする画像符号化装置。 - 上記符号化対象予測手段は、各ビットプレーンの符号により削減される削減歪み量を算出し、上記推定符号量当たりの上記削減歪み量が大きいビットプレーンから小さいビットプレーンの順に上記推定符号量を加算し、所定の目標符号量を超えた場合に加算を停止して、それまでに加算されたビットプレーンを上記符号化対象ビットプレーンとすることを特徴とする請求項3記載の画像符号化装置。
- 入力画像に対して、低域フィルタ及び高域フィルタにより垂直方向及び水平方向にフィルタリング処理を施してサブバンドを生成し、低域成分のサブバンドに対してはさらに階層的にフィルタリング処理を施すフィルタリング工程と、
上記フィルタリング工程にて生成されたサブバンドを分割し、所定の大きさのコードブロックを生成するコードブロック生成工程と、
上記コードブロック毎に最上位ビットから最下位ビットに至るビットプレーンを生成するビットプレーン生成工程と、
そのビットプレーンにおける値が非0であり、それより上位のビットプレーンにおける値が0である係数の数を上記ビットプレーン毎に計数して第1の計数値を求め、該第1の計数値に基づいて推定符号量を求める符号量推定工程と、
上記推定符号量に基づいて、符号化対象となる符号化対象ビットプレーンを予測する符号化対象予測工程であって、上記入力画像の全てのコードブロックで最もビット位置の高いビットプレーンから上記最下位ビットのビットプレーンの順に上記推定符号量を加算し、所定の目標符号量を超えた場合に加算を停止して、それまでに加算されたビットプレーンを上記符号化対象ビットプレーンとする符号化対象予測工程と、
最上位ビットから最下位ビットに至る上記ビットプレーンのうち、上記符号化対象ビットプレーンについて、上記ビットプレーン毎にビットモデリングを行うビットモデリング工程と、
最上位ビットから最下位ビットに至る上記ビットプレーンのうち、上記符号化対象ビットプレーンについて、上記ビットプレーン毎に符号化パスを生成する符号化パス生成工程と、
上記符号化パス生成手段によって生成された符号化パス内で算術符号化を行う算術符号化工程と、
上記算術符号化工程にて生成された算術符号を用いて符号化コードストリームを生成する符号化コードストリーム生成工程と
を有することを特徴とする画像符号化方法。 - 所定の処理をコンピュータに実行させるプログラムにおいて、
入力画像に対して、低域フィルタ及び高域フィルタにより垂直方向及び水平方向にフィルタリング処理を施してサブバンドを生成し、低域成分のサブバンドに対してはさらに階層的にフィルタリング処理を施すフィルタリング工程と、
上記フィルタリング工程にて生成されたサブバンドを分割し、所定の大きさのコードブロックを生成するコードブロック生成工程と、
上記コードブロック毎に最上位ビットから最下位ビットに至るビットプレーンを生成するビットプレーン生成工程と、
そのビットプレーンにおける値が非0であり、それより上位のビットプレーンにおける値が0である係数の数を上記ビットプレーン毎に計数して第1の計数値を求め、該第1の計数値に基づいて推定符号量を求める符号量推定工程と、
上記推定符号量に基づいて、符号化対象となる符号化対象ビットプレーンを予測する符号化対象予測工程であって、上記入力画像の全てのコードブロックで最もビット位置の高いビットプレーンから上記最下位ビットのビットプレーンの順に上記推定符号量を加算し、所定の目標符号量を超えた場合に加算を停止して、それまでに加算されたビットプレーンを上記符号化対象ビットプレーンとする符号化対象予測工程と、
最上位ビットから最下位ビットに至る上記ビットプレーンのうち、上記符号化対象ビットプレーンについて、上記ビットプレーン毎にビットモデリングを行うビットモデリング工程と、
最上位ビットから最下位ビットに至る上記ビットプレーンのうち、上記符号化対象ビットプレーンについて、上記ビットプレーン毎に符号化パスを生成する符号化パス生成工程と、
上記符号化パス生成手段によって生成された符号化パス内で算術符号化を行う算術符号化工程と、
上記算術符号化工程にて生成された算術符号を用いて符号化コードストリームを生成する符号化コードストリーム生成工程と
を有することを特徴とするプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002350185A JP4003628B2 (ja) | 2002-12-02 | 2002-12-02 | 画像符号化装置及び方法、並びにプログラム |
US10/724,102 US7356191B2 (en) | 2002-12-02 | 2003-12-01 | Image encoding apparatus and method, program and recording medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002350185A JP4003628B2 (ja) | 2002-12-02 | 2002-12-02 | 画像符号化装置及び方法、並びにプログラム |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2004186902A JP2004186902A (ja) | 2004-07-02 |
JP2004186902A5 JP2004186902A5 (ja) | 2006-01-26 |
JP4003628B2 true JP4003628B2 (ja) | 2007-11-07 |
Family
ID=32752488
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002350185A Expired - Fee Related JP4003628B2 (ja) | 2002-12-02 | 2002-12-02 | 画像符号化装置及び方法、並びにプログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US7356191B2 (ja) |
JP (1) | JP4003628B2 (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7483575B2 (en) * | 2002-10-25 | 2009-01-27 | Sony Corporation | Picture encoding apparatus and method, program and recording medium |
KR101050261B1 (ko) * | 2004-07-14 | 2011-07-19 | 에이전시 포 사이언스, 테크놀로지 앤드 리서치 | 콘텍스트 기반의 신호 엔코딩 및 디코딩 |
JP4301193B2 (ja) * | 2005-03-31 | 2009-07-22 | ソニー株式会社 | 画像比較装置及び方法、画像検索装置及び方法、並びにプログラム及び記録媒体 |
US8401082B2 (en) * | 2006-03-27 | 2013-03-19 | Qualcomm Incorporated | Methods and systems for refinement coefficient coding in video compression |
US8964851B2 (en) * | 2009-06-09 | 2015-02-24 | Sony Corporation | Dual-mode compression of images and videos for reliable real-time transmission |
US8457425B2 (en) * | 2009-06-09 | 2013-06-04 | Sony Corporation | Embedded graphics coding for images with sparse histograms |
US8285062B2 (en) * | 2009-08-05 | 2012-10-09 | Sony Corporation | Method for improving the performance of embedded graphics coding |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2853727B2 (ja) * | 1994-02-22 | 1999-02-03 | 日本ビクター株式会社 | 再生プロテクト方法及びプロテクト再生装置 |
US5926222A (en) * | 1995-09-28 | 1999-07-20 | Intel Corporation | Bitrate estimator for selecting quantization levels for image encoding |
JPH11225335A (ja) | 1998-02-05 | 1999-08-17 | Hitachi Ltd | 画像圧縮方法およびそれを用いた郵便物処理システム |
US6356665B1 (en) * | 1998-12-09 | 2002-03-12 | Sharp Laboratories Of America, Inc. | Quad-tree embedded image compression and decompression method and apparatus |
JP3702778B2 (ja) | 2000-11-27 | 2005-10-05 | ソニー株式会社 | 画像符号化装置及び方法 |
JP2003032680A (ja) | 2001-07-18 | 2003-01-31 | Canon Inc | 画像符号化装置、及び画像符号化方法、並びにプログラムコード、記憶媒体 |
JP3989787B2 (ja) | 2002-07-24 | 2007-10-10 | 株式会社メガチップス | 圧縮符号化装置、圧縮符号化方法およびプログラム |
JP4045544B2 (ja) * | 2003-04-14 | 2008-02-13 | ソニー株式会社 | 符号化装置及び符号化方法 |
-
2002
- 2002-12-02 JP JP2002350185A patent/JP4003628B2/ja not_active Expired - Fee Related
-
2003
- 2003-12-01 US US10/724,102 patent/US7356191B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US20040161155A1 (en) | 2004-08-19 |
JP2004186902A (ja) | 2004-07-02 |
US7356191B2 (en) | 2008-04-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4273996B2 (ja) | 画像符号化装置及び方法、並びに画像復号装置及び方法 | |
JP3743384B2 (ja) | 画像符号化装置及び方法、並びに画像復号装置及び方法 | |
US6519284B1 (en) | Encoding method for the compression of a video sequence | |
JP4114534B2 (ja) | 画像符号化装置及び方法 | |
US5682152A (en) | Data compression using adaptive bit allocation and hybrid lossless entropy encoding | |
JP3702778B2 (ja) | 画像符号化装置及び方法 | |
US6256415B1 (en) | Two row buffer image compression (TROBIC) | |
JP4365957B2 (ja) | 画像処理方法及びその装置及び記憶媒体 | |
EP0940994B1 (en) | Image processing apparatus and method and storage medium storing steps realizing such method | |
US5737448A (en) | Method and apparatus for low bit rate image compression | |
US7333664B2 (en) | Image compression method capable of reducing tile boundary distortion | |
JP4449400B2 (ja) | 画像符号化装置及び方法、並びにプログラム及び記録媒体 | |
JP4135617B2 (ja) | 画像符号化装置及び方法 | |
JP4003628B2 (ja) | 画像符号化装置及び方法、並びにプログラム | |
US7333659B2 (en) | Picture encoder and picture encoding method | |
JP3853708B2 (ja) | デジタル画像符号化装置および符号化方法ならびにプログラム | |
JP2005229441A (ja) | 画像符号化装置及び方法、並びに画像復号装置及び方法 | |
JP2004064104A (ja) | 圧縮符号化装置、圧縮符号化方法およびプログラム | |
JP4379527B2 (ja) | 符号化装置及び方法 | |
JP2004350034A (ja) | 画像符号化装置及び方法、並びに画像復号装置及び方法 | |
JP4367113B2 (ja) | 画像符号化装置及び方法 | |
JP4086424B2 (ja) | 符号化装置 | |
JPH05276499A (ja) | 符号化装置及び符号化方法 | |
JP2003234905A (ja) | 固定長画像符号化装置及び固定長画像復号化装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051201 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20051201 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070515 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070710 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20070731 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070813 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100831 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110831 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110831 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120831 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120831 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130831 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |