JP4114144B2 - 画像符号化装置、画像符号化プログラム、及び画像復号化プログラム - Google Patents
画像符号化装置、画像符号化プログラム、及び画像復号化プログラム Download PDFInfo
- Publication number
- JP4114144B2 JP4114144B2 JP2003082153A JP2003082153A JP4114144B2 JP 4114144 B2 JP4114144 B2 JP 4114144B2 JP 2003082153 A JP2003082153 A JP 2003082153A JP 2003082153 A JP2003082153 A JP 2003082153A JP 4114144 B2 JP4114144 B2 JP 4114144B2
- Authority
- JP
- Japan
- Prior art keywords
- wavelet
- bit
- wavelet coefficient
- coefficient
- image
- 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
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Description
【発明の属する技術分野】
本発明は、符号化規格JPEG2000を用いて画像データについて符号化を行う画像符号化装置、及び画像符号化プログラム、並びにこの符号化により得られる符号データについて復号化を行うための画像復号化プログラムに関するものである。
【0002】
【従来の技術】
画像圧縮方式としては、最も一般的なJPEGをはじめとして従来から種々の方式が用いられてきているが、最近、国際標準化され注目されている画像圧縮方式としてJPEG2000がある。このJPEG2000は、従来のJPEGが離散コサイン変換(DCT)を用いた方式であるのに対し、ウェーブレット変換(DWT)を用いた方式であるため、より高画質及び高階調の画像が得られ、また、同程度の画質に比べ圧縮率を高くすることができるなど多くのメリットを有している。このようなJPEG2000の規格を用いた従来の画像復号化装置は、例えば、特許文献1に開示されている。
【0003】
図11は、JPEG2000を用いた従来の画像符号化装置の構成を示すブロック図である。この装置は、DCレベルシフト手段1、カラー変換手段2、ウェーブレット変換手段3、係数ビットモデリング手段5、エントロピー符号化手段6、ポスト量子化手段8を有する画質制御手段7、ヘッダ生成手段9、及び符号データ出力手段10を備えている。
【0004】
なお、上記の構成要素のうち、DCレベルシフト手段1、カラー変換手段2、及びスカラ量子化手段4はJPEG2000においてはオプションとして備えられたものである。JPEG2000では、その他にもオプションとして備えられたものがあるが、本発明の技術とは直接的な関連性がないか、あっても重要度が低いため説明を省略している。また、JPEG2000では、画像を複数のタイル領域に分割し、各タイル領域間の相関関係をなくすことによって高速の並列処理を可能にしているが、本明細書での符号化処理は、1つのタイル領域における処理であることを前提としている。したがって、図11においては、タイリング手段等の構成要素については図示を省略している。
【0005】
次に、この図11に係る装置の動作について説明すると、まず、入力画像データはDCレベルシフト手段1に入力され、DCレベルがシフトされる。DCレベルのシフトとは、符号化効率を高めるために、DC(直流)成分すなわちゼロ成分を基準として入力画像データのレベルをシフトすることである。
【0006】
DCレベルシフト手段1からの入力画像データはカラー変換手段2に入力され、ここでRGBカラー空間における値からYUVカラー空間における値への変換が行われる。この変換も符号化効率を高めるために行われるものである。
【0007】
カラー変換手段2でカラー変換された画像データはウェーブレット変換演算手段3に入力されウェーブレット変換が行われる。ウェーブレット変換は、複雑な振動波形の解析等を行う場合に用いられる変換であり、フーリェ解析の特徴を生かしつつ、時間的又は空間的な変動を同時にとらえることができる波形データ解析手法である。
【0008】
スカラ量子化手段4は、ウェーブレット変換演算手段3からの変換データをある値で割算することにより、この変換データをスカラ値に量子化する。但し、この量子化は必ずしも常に必要なわけではない。
【0009】
係数ビットモデリング手段5は、スカラ量子化手段4により量子化が行われたウェーブレット係数をビットプレーン化し、更に、各ビットプレーンに対し3つの所定のパス(Significant Propagation Pass,Magnitude Refinement Pass,Cleanup Passと呼ばれる3つのパス)による処理を行う。
【0010】
係数ビットモデリング手段5により処理されたビットプレーンデータはエントロピー符号化手段6に入力され、ここで符号化が行われる。符号化により得られた符号データは画質制御手段7に入力され、ここでポスト量子化手段8によりポスト量子化(「トランケーション」と呼ばれることもある)と呼ばれる切り捨て処理が行われる。
【0011】
ポスト量子化が行われたウェーブレット係数はヘッダ生成手段9に入力される。そして、このヘッダ生成手段9により生成された必要なヘッダ情報(例えば、ウェーブレット係数のビット数、ゼロビットプレーン数、処理パス数等)がエントロピー符号化手段6からの符号データに付加される。符号データ出力手段10は、このヘッダ情報が付加された符号データの出力を行う。
【0012】
ここで、ウェーブレット変換手段3によるウェーブレット変換につき更に詳しく説明する。ウェーブレット変換手段3により変換されたデータは任意の分解レベル(decomposition level)を有し、周波数成分の種類毎に分割された複数のサブバンドを有している。図12は、各分解レベルと各サブバンドとの関係を示す説明図であり、(a),(b),(c)はそれぞれ分解レベルが1,2,3の場合を示している。
【0013】
すなわち、ある1つのタイルの画像データに対してウェーブレット変換を行うと、この画像データは、図12(a)に示すように、1LL,1HL,1LH,1HHの4つのサブバンドに分割される。画像データが、これら4つのサブバンド1LL,1HL,1LH,1HHにより分割されている状態を、JPEG2000では分解レベルが1の状態と呼んでいる。ここで、1LLは水平方向及び垂直方向が共に低周波成分であることを示し、1HLは水平方向が高周波成分で垂直方向が低周波成分であることを示し、1LHは水平方向が低周波成分で垂直方向が高周波成分であることを示し、1HHは水平方向及び垂直方向が共に高周波成分であることを示している。そして、各サブバンドは所定の大きさのコードブロックによって形成されている(このコードブロックの大きさはヘッダ生成手段9により符号データに付加される。)。
【0014】
次いで、4つのサブバンド1LL,1HL,1LH,1HHのうち1LLに対してのみウェーブレット変換を行うと、図12(b)に示すように、このサブバンド1LLは4つのサブバンド2LL,2HL,2LH,2HHに分割されるが、この状態は分解レベルが2の状態と呼ばれる。更に、4つのサブバンド2LL,2HL,2LH,2HHのうち2LLに対してのみウェーブレット変換を行うと、図12(c)に示すように、このサブバンド2LLは4つのサブバンド3LL,3HL,3LH,3HHに分割されるが、この状態は分解レベルが3の状態と呼ばれる。このようにLL成分のサブバンドに対してのみウェーブレット変換を再帰的に繰り返す手法はオクターブ分解と呼ばれる。
【0015】
次に、画質制御手段7のポスト量子化手段8が行うポスト量子化につき図13を参照しつつ説明する。図13(a)はポスト量子化手段8が係数ビットモデリング手段5から入力するビットプレーン化されたウェーブレット係数の内容を示す説明図である。この図に示すように、ウェーブレット係数は9ビットで表されており、各係数の値は「52,242,14,5,488,79」である。また、MSB(9ビット目)側からLSB(1ビット目)に向かう矢印は、前述の3つのパスによる処理方向を示している。ポスト量子化手段8は、このビットプレーン化されたウェーブレット係数に対し、3つのパスのうちのCleanup Passで終わったビットプレーンと次のビットプレーンとの境目を切り捨てポイントとし、図13(b)の斜線部で示すように、この切り捨てポイントよりも下位側のビットデータを全て「0」とする切り捨て処理を行う。JPEG2000では、このような切り捨て処理すなわちポスト量子化により極力効率的な圧縮符号化を行うことが企図されている。
【0016】
【特許文献1】
特開2002−369202号公報
【0017】
【発明が解決しようとする課題】
JPEG2000では、上述したポスト量子化により符号化量が削減され効率的な画像圧縮が行われるようになっている。しかし、このポスト量子化が行われると、切り捨てポイントより下位のビットデータは、有意な値(つまり「1」値)であると否とにかかわらず全て一律に「0」値となってしまうため、これをそのまま復号化して再生すると再生画像には違和感や不明瞭感のある部分が含まれることがある。
【0018】
すなわち、図13(a)に示したウェーブレット係数の値「52,242,14,5,488,79」は、図13(b)に示したウェーブレット係数の値「32,224,0,0,480,64」に変化している。この場合、図13(a)の「52,242,488,79」については、ポスト量子化により「32,224,480,64」に低下していてもデータ自体としては依然として存在していることに変わりはないため、その違和感や不明瞭感はそれほど大きなものとはならない。
【0019】
ところが、図13(a)の「14,5」はポスト量子化によって「0,0」となってしまっている。これは値は小さくても何らかの形で存在していた原画像データが全く存在しなくなってしまったことを意味している。したがって、値が低下することについては同じであってもその違和感や不明瞭感は「52,242,488,79」が「32,224,480,64」に低下した場合に比べてかなり大きなものとなる。
【0020】
本発明は上記事情に鑑みてなされたものであり、ポスト量子化に起因して再生画像に生じる違和感や不明瞭感を極力抑制することが可能な画像符号化装置及び画像符号化プログラムを提供し、更に、これらにより生成された符号データを復号化するのに好適な画像復号化プログラムを提供することを目的としている。
【0021】
【課題を解決するための手段】
上記課題を解決するための手段として、請求項1記載の発明は、入力画像データに対してウェーブレット変換を行うことにより、任意に設定される分解レベルに応じて周波数成分の種類毎に分割された複数のサブバンドを有するウェーブレット係数を得るウェーブレット変換手段と、前記ウェーブレット係数に対して丸め処理を行うウェーブレット係数丸め処理手段と、前記丸め処理が行われたウェーブレット係数に対して係数ビットモデリングによるビットプレーン化を行う係数ビットモデリング手段と、前記ビットプレーン化されたウェーブレット係数に対してエントロピー符号化を行うエントロピー符号化手段と、前記エントロピー符号化により得られた符号データにおいて、所定のビットプレーンよりも下位側のビットデータ部分に対する切り捨て処理であるポスト量子化を行う画質制御手段と、前記ポスト量子化が行われた符号データに対してヘッダ情報を生成して付加するヘッダ生成手段と、前記ヘッダが付加された符号データである非可逆圧縮符号データを出力する符号データ出力手段と、を備えた画像符号化装置であって、前記ウェーブレット係数丸め処理手段は、前記ウェーブレット変換手段により得られた各サブバンドのウェーブレット係数に用いられるビット数よりも小さなビット数に予め設定されている有効ビット数で該ウェーブレット係数を表し、かつ、この有効ビットの先頭桁位置を、該ウェーブレット係数における有意数を有する最上位ビットの桁位置とする、丸め処理を行う手段である、ことを特徴とする。
【0022】
請求項2記載の発明は、請求項1記載の発明において、前記ウェーブレット係数丸め処理手段は、前記ウェーブレット変換手段で得られたウェーブレット係数から前記有効ビット数による表示により切り捨てられるビットデータ部分の数値が所定の閾値よりも大きな場合は、前記ウェーブレット係数を表している前記有効ビットの桁を繰り上げる繰り上げ処理を行うものである、ことを特徴とする。
【0023】
請求項3記載の発明は、コンピュータを、入力画像データに対してウェーブレット変換を行うことにより、任意に設定される分解レベルに応じて周波数成分の種類毎に分割された複数のサブバンドを有するウェーブレット係数を得るウェーブレット変換手段と、前記ウェーブレット係数に対して丸め処理を行うウェーブレット係数丸め処理手段と、前記丸め処理が行われたウェーブレット係数に対して係数ビットモデリングによるビットプレーン化を行う係数ビットモデリング手段と、前記ビットプレーン化されたウェーブレット係数に対してエントロピー符号化を行うエントロピー符号化手段と、前記エントロピー符号化により得られた符号データにおいて、所定のビットプレーンよりも下位側のビットデータ部分に対する切り捨て処理であるポスト量子化を行う画質制御手段と、前記ポスト量子化が行われた符号データに対してヘッダ情報を生成して付加するヘッダ生成手段と、前記ヘッダが付加された符号データである非可逆圧縮符号データを出力する符号データ出力手段、として機能させるための画像符号化プログラムであって、前記ウェーブレット係数丸め処理手段は、前記ウェーブレット変換手段により得られた各サブバンドのウェーブレット係数に用いられるビット数よりも小さなビット数に予め設定されている有効ビット数で該ウェーブレット係数を表し、かつ、この有効ビットの先頭桁位置を、該ウェーブレット係数における有意数を有する最上位ビットの桁位置とする、丸め処理を行う手段である、ことを特徴とする。
【0024】
請求項4記載の発明は、請求項3記載の発明において、前記ウェーブレット係数丸め処理手段は、前記ウェーブレット変換手段で得られたウェーブレット係数から前記有効ビット数による表示により切り捨てられるビットデータ部分の数値が所定の閾値よりも大きな場合は、前記ウェーブレット係数を表している前記有効ビットの桁を繰り上げる繰り上げ処理を行うものである、ことを特徴とする。
【0025】
請求項5記載の発明は、請求項4記載の発明において、前記ヘッダ生成手段は、前記有効ビット数を示す情報と、前記ウェーブレット係数丸め処理手段が前記繰り上げ処理を行ったか否かを示す繰り上げ処理実行フラグとを前記ヘッダ情報に含めるものである、ことを特徴とする。
【0026】
請求項6記載の発明は、コンピュータを、ウェーブレット変換を用いた非可逆圧縮符号化により画像データを符号化して得られた符号データをエントロピー復号化してウェーブレット係数を出力するエントロピー復号化手段と、前記エントロピー復号化手段からのウェーブレット係数に対して補正処理を行うウェーブレット係数補正処理手段と、前記ウェーブレット係数補正処理手段から出力されるウェーブレット係数に対して逆ウェーブレット変換を施し画像データを得る逆ウェーブレット変換手段、として機能させるための画像復号化プログラムであって、前記非可逆圧縮符号化された前記符号データは、符号化時のウェーブレット変換により、任意に設定される分解レベルに応じ周波数成分の種類毎に分割された複数のサブバンドを有するものであり、また、前記ウェーブレット変換により変換されたウェーブレット係数に用いられるビット数よりも小さなビット数に予め設定されている有効ビット数で該ウェーブレット係数が表されるものであり、更に、この有効ビットの先頭桁位置を該ウェーブレット係数における有意数を有する最上位ビットの桁位置とする丸め処理が行われるものであり、また、前記ウェーブレット変換手段で得られたウェーブレット係数が前記有効ビット数による表示により切り捨てられるビットデータ部分の数値が所定の閾値よりも大きな場合は、前記ウェーブレット係数を表している前記有効ビットの桁を繰り上げる繰り上げ処理が行われるものであり、更に、各サブバンドのウェーブレット係数がポスト量子化により切り捨てられたビットデータ部分を持つものであり、前記符号データには、前記有効ビット数と、前記繰り上げ処理が行われたか否かを示す繰り上げ処理実行フラグとがヘッダ情報として付加されており、前記ウェーブレット係数補正処理手段が行う補正処理は、前記エントロピー復号化手段から出力されるウェーブレット係数において前記ポスト量子化に基づき切り捨てられたビットデータ部分のビット数を求め、更に、この切り捨てられたビット数で表現できる乱数を生成し、この生成した乱数を前記ウェーブレット係数に加算して新たなウェーブレット係数とする処理であり、しかも、前記ウェーブレット係数補正処理手段は、前記有効ビット数と前記繰り上げ処理が行われたことを示す繰り上げ処理実行フラグとがヘッダ情報として前記符号データに付加されている場合は前記補正処理を行わないものである、ことを特徴とする。
【0027】
【発明の実施の形態】
図1は、本発明の実施形態に係る画像符号化装置の構成を示すブロック図である。図1が図11と異なる点は、スカラ量子化手段4と係数ビットモデリング手段5との間にウェーブレット係数丸め処理手段11が設けられている点である。
【0028】
図2は、このウェーブレット係数丸め処理手段11の動作を説明するためのフローチャートである。ウェーブレット係数丸め処理手段11は、まず、ウェーブレット係数をコードブロック毎に入力し(ステップ1)、そのコードブロックが属するサブバンドがLL以外のサブバンドであるか否かにつき判別する(ステップ2)。LLのサブバンドであれば丸め処理を行わずに、ステップ1に戻って次のコードブロックを入力する。一方、LL以外のサブバンドすなわちLH、HL、HH等のサブバンドであれば有効ビット数を決定する(ステップ3)。
【0029】
この有効ビット数の決定は、ユーザが手動設定するようにすることもできるが、コードブロック内の最大値や予想される切り捨てポイント位置などに基づき自動設定させることができる。例えば、コードブロック内の最大値が「488」である場合を考えて見る。このウェーブレット係数「488」の2進数表現は「1,1,1,1,0,1,0,0,0」であるが、ポスト量子化手段8の予想される切り捨てポイントの位置がLSB側から数えて5ビット目と6ビット目の間であるとすると、このウェーブレット係数について実際に符号化されるのは上位4ビットのみであり、その2進数表現は「1,1,1,1,」となる。したがって、この4ビットの半分の2ビットを有効ビット数として設定することが考えられる。
【0030】
次いで、ウェーブレット係数丸め処理手段11は、このようにして決定した有効ビット数に基づき各ウェーブレット係数に対して丸め処理を実行する(ステップ4)。そして、丸め処理を全てのコードブロックについて終了したか否か判別し(ステップ5)、全てのコードブロックについて終了していなければステップ1に戻って次のコードブロックを入力する。一方、全てのコードブロックについて終了していれば、全てのサブバンドについて終了したか否かを判別し(ステップ6)、全てのサブバンドについて終了していなければステップ1に戻って次のサブバンドに属するコードブロックを入力する。一方、全てのサブバンドについて終了していれば、そこでウェーブレット係数丸め処理手段11の動作が終了する。
【0031】
次に、ステップ4の丸め処理の詳細な内容を図3のフローチャートに基づき具体的に説明する。但し、以下の具体例では、有効ビット数を2とし、この有効ビット数に基づき図4(a)のウェーブレット係数を図4(b)に示すように丸め処理する場合につき説明する。なお、理解を容易にするため、図4(a)のウェーブレット係数の値は、従来技術における図13(a)のウェーブレット係数と同一の値にしてある。
【0032】
ウェーブレット係数丸め処理手段11は、まずウェーブレット係数「52」を入力し、このウェーブレット係数「52」の中に有意な数値である「1」値があるか否かを判別する(ステップ41)。もし、「1」値がなければ、ウェーブレット係数丸め処理手段11はこのウェーブレット係数を「0」値として処理するが(ステップ42)、図4(a)に示されるように、ウェーブレット係数の2進数表現の中には「1」値が含まれているので、この場合のステップ41の判別は「YES」となる。
【0033】
次いで、ウェーブレット係数丸め処理手段11は、最初の「1」の位置を先頭桁位置にした有効ビット数分のデータのみを有効とする演算を行う(ステップ43)。ここで、最初の「1」の位置とは、最上位ビットであるMSBのビット(9ビット目)から数えて最初に現れる「1」の位置である。ウェーブレット係数「52」の2進数表現は、図4(a)に示されるように、「0,0,0,1,1,0,1,0,0」であり、最上位ビットであるMSB側から数えて4番目のビット(LSB側からだと6ビット目)が最初に現れる「1」値となっている。したがって、ウェーブレット係数丸め処理手段11は、図4(b)に示されるように、この4番目のビットの「1」の位置を先頭桁位置とし、これから有効ビット数の2ビット分のデータである4番目及び5番目の「1,1」のみを有効ビットデータとする。
【0034】
次いで、ウェーブレット係数丸め処理手段11は、切り捨て分が発生するか否かを判別する(ステップ44)。切り捨て分が発生する場合とは、有効ビットデータ以外のデータに「1」値が含まれている場合である。いまの場合、ウェーブレット係数「52」の2進数表現において、有効ビットデータ「1,1」より下位側のデータは「0,1,0,0」(10進数表現の「4」)であり、「1」が含まれているのでステップ44の判別結果は「YES」となる。
【0035】
ステップ44の判別結果が「YES」の場合、ウェーブレット係数丸め処理手段11は、切り捨て分が閾値より大きいか否かを判別する(ステップ45)。この例では、切り捨て分の上位2桁のビットのデータを「1」でマスクした値を閾値としている。いまの場合、切り捨て分のデータ「0,1,0,0」(10進数表現の「4」)の上位2桁のビットのデータを「1」でマスクした値は「1,1」(10進数表現の「12」)であり、切り捨て分は閾値より小さいものとなっている。したがって、ステップ45の判別結果は「NO」となる。
【0036】
そして、ウェーブレット係数丸め処理手段11は、有効ビットデータ以外の6番目〜9番目(LSB側からの4ビット目〜1ビット目)のデータ「0,1,0,0」をすべてゼロとして「0,0,0,0」とする。結局、図4(a)に示したウェーブレット係数の値「52」は、有効ビット数を2とした丸め処理により、図4(b)に示したように、「48」となる。
【0037】
ウェーブレット係数丸め処理手段11は、次にウェーブレット係数「242」を入力し、ステップ41で「YES」の判別を行った後、ステップ43の演算を行う。すなわち、ウェーブレット係数「242」の2進数表現は「0,1,1,1,1,0,0,1,0」であり、最初の「1」の位置を先頭桁位置にした有効ビット数(2)分のデータとは「1,1」(10進数表現の「192」)である。この有効ビット数分のデータをそのまま最終データとして採用したのでは、ウェーブレット係数の当初の値「242」が「192」と大きく低下することになり好ましくない。ステップ44,45,47,48はこのような場合を想定して設けたものである。
【0038】
つまり、ウェーブレット係数丸め処理手段11は、ステップ44について「YES」と判別した後、ウェーブレット係数「242」の有効ビット数分のデータ「1,1」(10進数表現の「192」)以外の切り捨て分データ「1,1,0,0,1,0」(10進数表現の「50」)が、上位2桁のビットのデータを「1」でマスクして得られる閾値「1,1」(10進数表現の「48」)よりも大きいと判別し、ステップ45の判別結果を「YES」とする。
【0039】
そして、現在の有効ビット数分のデータ「1,1」(10進数表現の「192」)を1つ繰り上げて「1,0」(10進数表現の「256」)とする(ステップ47)。この10進数表現のウェーブレット係数「256」は、上記の「192」よりもはるかに元のウェーブレット係数「242」に近く好ましいものになっている。このとき、ウェーブレット係数丸め処理手段11は、更に、繰り上げ処理が実行されたことを示すフラグを立てるようにする(ステップ48)。後にヘッダ生成手段9は、ウェーブレット係数丸め処理手段11がステップ3にて決定した有効ビット数と、この繰り上げ処理実行フラグとをヘッダ情報に含めるようにし、符号データ出力手段10はこのようなヘッダ情報が付加された符号データを出力することになる。
【0040】
この後、ウェーブレット係数丸め処理手段11は、有効ビットデータ以外の3番目〜9番目(LSB側から7ビット目〜1ビット目)のデータをすべてゼロとする(ステップ46)。結局、図4(a)に示したウェーブレット係数の値「242」は、有効ビット数を2とした丸め処理、及び繰り上げ処理により、図4(b)に示したように、「256」となる。
【0041】
ウェーブレット係数丸め処理手段11は、次にウェーブレット係数「14」を入力する。この場合の処理は、上述したウェーブレット係数「52」を入力した場合と同様であるため詳しい説明は省略する。結局、図4(a)に示したウェーブレット係数の値「14」は、有効ビット数を2とした丸め処理により、図4(b)に示したように、「12」となる。
【0042】
同様にして、ウェーブレット係数丸め処理手段11はウェーブレット係数「5」を入力し、結局、図4(a)に示したウェーブレット係数の値「5」は、有効ビット数を2とした丸め処理により、図4(b)に示したように、「4」となる。
【0043】
次に、ウェーブレット係数丸め処理手段11はウェーブレット係数「488」を入力する。このウェーブレット係数「488」の2進数表現は「1,1,1,1,0,1,0,0,0」であり、有効ビットデータはMSB側から上位2桁のデータの「1,1」(10進数表現の「384」)である。そして、切り捨て分は「1,1,0,1,0,0,0」(10進数表現の「104」)であり、これはこの切り捨て分の上位2桁のビットデータを「1」でマスクして得られる閾値「1,1」(10進数表現の「96」)よりも大きいものであるため、ステップ45の判別結果は「YES」となる。したがって、本来であればステップ47の繰り上げ処理を行うべきであるが、それでは使用ビット数が9ビットを超えて10ビットになってしまう。それ故、この場合には直ちにステップ46の処理を行うことにする。
【0044】
このように、ステップ45の判別結果が「YES」であるにもかかわらずステップ47,48の処理を行わずに直ちにステップ46の処理を行うフローを、本来であれば図示するべきであるが、図面が煩雑になるため図3においては省略している。結局、図4(a)に示したウェーブレット係数の値「488」は、有効ビット数を2とした丸め処理により、図4(b)に示したように、「384」となる。
【0045】
ウェーブレット係数丸め処理手段11は、最後にウェーブレット係数「79」を入力する。この場合の処理も、上述したウェーブレット係数「52」を入力した場合と同様であるため詳しい説明は省略する。結局、図4(a)に示したウェーブレット係数の値「79」は、有効ビット数を2とした丸め処理により、図4(b)に示したように、「64」となる。
【0046】
ウェーブレット係数は、ウェーブレット係数丸め処理手段11により上記のような丸め処理が行われた後、係数ビットモデリング手段5による処理が行われ、更に画質制御手段7のポスト量子化手段8により切り捨て処理であるポスト量子化が行われる。このときの切り捨てポイントは、図4(b)の太線ラインで示されている。
【0047】
ポスト量子化が行われたウェーブレット係数はエントロピー符号化手段6による符号化が行われ、その符号データにヘッダ生成手段9が生成したヘッダ情報が付加される。このヘッダ情報には、上記の有効ビット数が含まれ、また、繰り上げ処理が実行されている場合には繰り上げ処理実行フラグについての情報が含まれる。そして、ヘッダ情報が付加された符号データは符号データ出力手段10から出力される。
【0048】
図4(b)のウェーブレット係数を図13(b)と対比してみれば明らかなように、図13(b)では値が小さなウェーブレット係数はポスト量子化によって切り捨てられた結果全くゼロとなっていたが、図4(b)では値が小さなウェーブレット係数でも全くゼロとはならないで存在している。これは、ウェーブレット係数丸め処理手段11がMSB側から数えて最初に「1」が現れるビットの位置を有効ビットの先頭桁位置とする丸め処理を行ったことにより、その後にポスト量子化手段8によって行われる切り捨て処理の切り捨てポイントが全体として下がったからである。このように、図1の構成に係る画像符号化装置によれば、従来技術ではゼロとなってしまっていた小さな値のウェーブレット係数についても存続させることができるので、画像再生時には画像に生じる違和感や不明瞭感を極力抑制することが可能になる。
【0049】
次に、上述した図1の構成に係る画像符号化装置により符号化された符号データについて復号化を行う画像復号化装置につき説明する。図5は、この画像復号化装置の構成を示すブロック図である。この装置は、符号データ入力手段51、ヘッダ解析手段52、エントロピー復号化手段53、ウェーブレット係数補正処理手段54、スカラ逆量子化手段55、逆ウェーブレット変換手段56、カラー変換手段57、DCレベルシフト手段58、及び画像データ出力手段59を備えている。これらのうち、スカラ逆量子化手段55、カラー変換手段57、DCレベルシフト手段58はJPEG2000においてはオプションとして備えられたものである。JPEG2000では、その他にもオプションとして備えられたものがあるが、本発明の技術とは直接的な関連性がないか、あっても重要度が低いため説明を省略している。
【0050】
次に、図5の動作につき説明する。まず、図1の画像符号化装置によりJPEG2000の規格にしたがって圧縮符号化された画像データは、ファイルシステムやネットワーク手段を用いて符号データ入力手段51によって入力される。この画像データには、メインヘッダ、及びタイルヘッダが付されており、ヘッダ解析手段52はこれらのヘッダを読み込み、解析する。ここで、メインヘッダには、画像の大きさ、タイルの大きさ、画像位置のオフセット、タイル位置のオフセット、1画素あたりのサンプルビット数、RGBなどのコンポーネント数等についての情報が格納されている。そして、既述したように、図1のウェーブレット係数丸め処理手段11が丸め処理を行った際の有効ビット数や繰り上げ処理実行フラグについての情報も格納されている。また、タイルヘッダには、タイル番号、タイルの大きさ等が格納され、符号化スタイルや量子化スタイルなどを指定することができる。
【0051】
エントロピ復号化手段53は、ヘッダ解析手段52の解析結果を用いて、圧縮符号化された画像データのエントロピ復号化を行い、出力されるビット列からスカラ量子化した係数列を作成する。
【0052】
エントロピ復号化手段53によりエントロピ復号化され係数ビットモデリングされたビットプレーンデータの値はウェーブレット係数補正処理手段54により補正処理される。ウェーブレット係数補正処理手段54は、この補正した値をスカラ逆量子化手段55へ(スカラ逆量子化されない場合は逆ウェーブレット変換手段56へ)出力する。一般的に、画像復号化装置において行われる処理は符号化されたデータの範囲内で復号化するだけであるため、符号化画像データ以上に良好な画質を有する復号化画像データを得られないのが通常である。しかし、本発明では、符号化時にはポスト量子化により切り捨てられていた可能性の大きい有意のデータを付加する補正処理を行うことにより、符号化画像データ以上に良好な画質を有する復号化画像データを得ることを可能にしている。
【0053】
スカラ逆量子化手段55は、ヘッダ解析手段52で解析されたメインヘッダ及びタイルヘッダにより指定された量子化スタイルに基づき、エントロピ復号化手段53で作成された係数列をJPEG2000の規格にある所定の計算式で逆量子化し、ウェーブレット係数を生成する。なお、符号化時にはウェーブレット変換により生成されたウェーブレット係数は必ずしも量子化されるとは限らず、その場合にはスカラ逆量子化手段55による逆量子化は行われないことになる。
【0054】
逆ウェーブレット変換手段56は、スカラ逆量子化手段55で得られたウェーブレット係数をメインヘッダ又はタイルヘッダで指定された符号化スタイルの分解数に基づき逆ウェーブレット変換を行い、YUVカラー空間の画像データを作成する。
【0055】
カラー変換手段57は、逆ウェーブレット変換手段56で得られた画像データをヘッダ解析手段52の解析結果にしたがってYUV成分からRGB成分へカラー変換する。但し、モノクロ画像の符号データや、符号化時にカラー変換を行わなかった場合、カラー変換手段57は動作しない。
【0056】
DCレベルシフト手段58は、カラー変換手段57で得られたRGB成分の各値のDCレベルをシフトする。DCレベルシフトとは、符号化時にダイナミックレンジが値0を中心とするようにシフトすることであり、復号化時にはそれを元に戻すことである。DCレベルシフトを行う理由は、周波数変換後の係数は正負の符号と絶対値とに分けられて符号化されるため、ゼロ値を基準としてデータ配置されている方が符号化効率が高くなるからである。画像データ出力手段59は、DCレベルシフト手段58で得られた画像を出力する手段である。
【0057】
次に、上記のウェーブレット係数補正処理手段54が行う補正係数処理の内容を図6のフローチャートに基づき説明する。なお、ウェーブレット係数補正処理手段54の処理対象となる符号データは非可逆符号データであるが、本発明に係る画像復号化装置は可逆符号データ及び非可逆符号データのいずれをも扱うことができる(ウェーブレット係数補正処理手段54は可逆符号データに対しては補正係数処理を行わない。)。
【0058】
ウェーブレット係数補正処理手段54は、まず、分解レベルの大きなサブバンドの順に、LL以外の各サブバンドに属する各コードブロック毎にウェーブレット係数を注目していく(ステップ61)。例えば、図12(c)に示すように、分解レベルが「3」であるとすると、ウェーブレット係数補正処理手段54は、3LLのサブバンドを除外し、3HL,3LH,3HH,2HL,2LH,2HH,1HL,1LH,1HHのサブバンドの順で、コードブロック毎にウェーブレット係数を注目していく。そして、いまウェーブレット係数補正処理手段54が注目しているのが図7に示したウェーブレット係数のデータであるとし、このウェーブレット係数はサブバンド1HLに属するコードブロックの一部であるとする。また、ウェーブレット係数補正処理手段54には、このコードブロックの有効ビット数が2であり、繰り上げ処理が実行されている旨のヘッダ情報がヘッダ解析手段52から入力されているものとする。
【0059】
ウェーブレット係数補正処理手段54は、このウェーブレット係数が符号化時にポスト量子化が行われたものであるか否かについて判別し(ステップ62)、ポスト量子化が行われていればその切り捨てポイントを求めるようにする。ここで、ポスト量子化が行われているか否かについては、エントロピ復号化手段53が対象となるウェーブレット係数について全て復号化できたか否かにより判別することができ、切り捨てポイントについては、最後に復号化できたビットプレーンにおいて、復号化できた係数とできなかった係数との境界を求めることにより行うことができる。
【0060】
次いで、ウェーブレット係数補正処理手段54は、各ウェーブレット係数毎に、その補正しようとするウェーブレット係数がゼロであるか否かを判別し(ステップ63)、ゼロでなければ、このウェーブレット係数は符号化時に繰り上げ処理が行われたものであるか否かにつき判別する(ステップ64)。なお、繰り上げ処理については、図3のステップ47において既述している。
【0061】
そして、繰り上げ処理が行われていないウェーブレット係数に対しては、切り捨てられたビットの数に基づき乱数を生成し、この乱数を現在のウェーブレット係数に加算して、これを新たなウェーブレット係数とする処理を行う(ステップ65)。一方、繰り上げ処理が行われているウェーブレット係数に対しては、このような生成した乱数を加算するような処理は行わないようにする。何故なら、繰り上げ処理が行われているということは、繰り上げ処理後のウェーブレット係数の値が元のウェーブレット係数の値と大きくずれてしまう場合があり(もちろん、繰り上げ処理を行った場合の方が行わない場合よりもズレが小さくなることもある)、このような乱数の加算を行うとそのズレを一層大きくしてしまう結果となる虞があるからである。
【0062】
ここで、図7に示されたウェーブレット係数は、左から順に「16,64,24,32,0,0,0,48」であるが、そのうちゼロではないウェーブレット係数は「16,64,24,32,48」である。そして、図1の画像符号化装置において前述したように、最上位ビットから数えて最初の「1」の位置を先頭桁位置とする有効ビット数が2のウェーブレット係数であって繰り上げ処理が行われたものは、そのデータ配列が「1,0」となっている。このようなデータ配列を有するウェーブレット係数は、「64」及び「32」である。したがって、ウェーブレット係数補正処理手段54は、この「64」及び「32」を除いた「16,24,48」に対して、乱数発生器を用いて加算すべき乱数「5,4,1」を発生させる。
【0063】
但し、これらの係数についてポスト量子化により切り捨てられているデータのビット数は、それぞれ4ビット、3ビット、4ビットであり、これらのビット数で表すことのできる乱数の最大値は「15,7,15」である。図8(a)は、切り捨てポイントの下側データ部分に、このようにして発生させた乱数を記入した状態を示したものである。また、図8(b)は、図7における切り捨てポイントの下側データ部分を図8(a)に示したデータで置き換えた状態を示している。
【0064】
一方、ステップ63で、補正しようとするウェーブレット係数がゼロであると判別した場合、ウェーブレット係数補正処理手段54は、注目しているコードブロックが属するサブバンドの分解レベルが最大であるか否かを判別する(ステップ66)。現在注目しているサブバンドは上述したように1HLであり、これは分解レベルが1であって最大のものではないから、この判別結果は「NO」となる。
【0065】
次いで、ウェーブレット係数補正処理手段54は、サブバンド1HLよりも分解レベルが1段階上のサブバンド2HLに属するウェーブレット係数を参照して乱数を生成し、これを現在のウェーブレット係数(ゼロである)に加算する(ステップ67)。
【0066】
ここで、サブバンド1HLとサブバンド2HLとは、それぞれ画面の大きさが異なるため、このままの状態ではサブバンド1HL上の現在の注目位置が2HL上のどの位置に対応するのか知ることができない。そこで、この場合は、図9に示すように、サブバンド2HLの画面を1HLと同じ大きさになるまで拡大し、その上で両者を比較する。そして、サブバンド1HL上の現在の注目位置に対応するサブバンド2HL上の位置のウェーブレット係数を参照し、注目位置について生成した乱数の値がこの参照したウェーブレット係数の値からかけ離れた値とならないように制限を加えるようにする。
【0067】
図10(a)は、切り捨てポイントの下側データ部分に、このようにして発生させた乱数を記入した状態を示したものである。また、図10(b)は、図7における切り捨てポイントの下側データ部分を図10(a)に示したデータで置き換えた状態を示している。つまり、サブバンド1HL上で現在注目しているウェーブレット係数がゼロとなっている位置(3個所)に対応する2HL上の位置のウェーブレット係数が「5,5,30」であるとすると、ウェーブレット係数補正処理手段54はこれらの係数に所定値αを乗じた値「5α,5α,30α」を得る。ここで、α=1とすると、やはり「5,5,30」となる。
【0068】
また、現在注目されており値がゼロとなっている3つのウェーブレット係数において、ポスト量子化で切り捨てられているビット数はそれぞれ3ビット、4ビット、4ビットであり、これらのビット数で決まる乱数最大値は「7,15,15」である。したがって、現在ゼロとなっているウェーブレット係数に加算できる乱数の値は、「5,5,30」及び「7,15,15」のそれぞれ小さな方の値を選択した「5,5,15」となる。そして、乱数発生器により発生させた乱数「2,3,1」は、いずれもこの加算可能な乱数最大値「5,5,15」以下であるので問題はない。したがって、符号化時のポスト量子化により値が「0,0,0」となっていた3つのウェーブレット係数は、ウェーブレット係数補正処理手段54の補正処理によって、「2,3,1」となる。
【0069】
ウェーブレット係数補正処理手段54は、上記のように、値がゼロではないウェーブレット係数と、値がゼロであったウェーブレット係数との双方に対して、ポスト量子化によって切り捨てられた可能性の高いデータを加算する補正処理を、現在注目しているコードブロックに対して終了すると、全てのコードブロックについて終了したか否かを判別し(ステップ68)、終了していなければステップ61に戻って同様の処理を繰り返す。なお、ウェーブレット係数補正処理手段54は、ステップ62において、注目しているコードブロックについて符号化時にポスト量子化が行われていないと判別した場合は、補正処理を行うことなく直ちにステップ68の判別を行う。また、ステップ66において、注目しているコードブロックの属するサブバンドが最大の分解レベルである場合(つまり3HLのサブバンドである場合)も、同様に、補正処理を行うことなく直ちにステップ7の判別を行う。
【0070】
上述したウェーブレット係数補正処理手段54の補正処理により、従来、符号化時に行われたポスト量子化に起因して再生画像に生じていた違和感や不明瞭感を抑制することができ、画質を向上させることが可能になっている。すなわち、ステップ65では、値がゼロではないウェーブレット係数に対して乱数を付加する補正を行っている。ポスト量子化は、もともとそれほど激しい画像劣化を伴うことのないLSB側に近いビットデータの切り捨てであるが、切り捨てられたデータに対応する原画像データの部分には多くの場合、何らかの有意のデータが存在していたはずである。この有意のデータを従来装置では、全く無視して存在しないかのような取り扱いをしていたが、本発明では乱数を発生させて何らかの有意データを付加するようにしている。したがって、本発明によれば、切り捨てられたデータが原画像ではどのようなものであったかまでは知ることができないが、少なくとも従来の復号化よりも画質の向上した再生画像を得ることが可能になる。
【0071】
また、再生しようとする画像に係る符号データに図1の画像符号化装置のウェーブレット係数丸め処理手段11によって繰り上げ処理の行われたものが含まれている場合、そのまま乱数を付加する補正を行ったのでは却って画像を劣化させる虞がある。しかし、ステップ64において繰り上げ処理の有無を判別し、繰り上げ処理が行われているウェーブレット係数に対しては補正処理を行わないようにしているので画像を劣化させてしまうことを防止している。
【0072】
更に、ステップ67では、値がゼロであったウェーブレット係数に対して乱数を付加する補正を行っている。この場合の補正は、符号化時には全く存在していなかったデータを付加する補正であり、画質に与える影響が大きくなる補正である。そのため、上記の実施形態では、分解レベルが最大でない限りは1段階上のサブバンドの同じ位置でのウェーブレット係数を参照するようにし、この参照したウェーブレット係数からあまりかけ離れた値とならないようにしている。
【0073】
上記のような補正処理は、符号化時には存在していなかったデータを付加した上で復号化を行おうとするものであり、一般的な復号化処理の枠を超えるものであるということもできる。それ故、従来の復号化装置では、元の符号化画像データよりも画質が劣化することがあっても、それよりも画質の優れた再生画像を得ることができないのが通常であったが、本発明によれば、入力する元の符号化画像データよりも画質の優れた再生画像を得ることができるようになる。
【0074】
なお、本発明は、上述した画像符号化装置及び画像復号化装置の機能をコンピュータに実現させるためのプログラムを含むものである。これらのプログラムは、記録媒体から読み取られてコンピュータに取り込まれてもよいし、通信ネットワークを介して伝送されてコンピュータに取り込まれてもよい。
【0075】
【発明の効果】
以上のように、本発明によれば、ポスト量子化に起因して再生画像に生じる違和感や不明瞭感を極力抑制することが可能な画像符号化装置及び画像符号化プログラムを提供し、更に、これらにより生成された符号データを復号化するのに好適な画像復号化プログラムを提供することができる。
【図面の簡単な説明】
【図1】本発明の実施形態に係る画像符号化装置の構成を示すブロック図。
【図2】図1におけるウェーブレット係数丸め処理手段11が行う丸め処理の内容を説明するためのフローチャート。
【図3】図2におけるステップ4の丸め処理の詳細な内容を説明するためのフローチャート。
【図4】図1におけるウェーブレット係数丸め処理手段11の処理を説明するためのウェーブレット係数についての説明図。
【図5】本発明の実施形態に係る画像復号化装置の構成を示すブロック図。
【図6】図5におけるウェーブレット係数補正処理手段54が行う補正処理の内容を説明するためのフローチャート。
【図7】図5におけるウェーブレット係数補正処理手段54が行う補正処理の内容を説明するためのウェーブレット係数についての説明図。。
【図8】図5におけるウェーブレット係数補正処理手段54が補正しようとするウェーブレット係数がゼロでない場合の補正処理の内容についての説明図であり、(a)は、切り捨てポイントの下側データ部分に、発生させた乱数を記入した状態を示したものであり、(b)は、図7における切り捨てポイントの下側データ部分を(a)に示したデータで置き換えた状態を示したものである。
【図9】図5におけるウェーブレット係数補正処理手段54が補正しようとするウェーブレット係数がゼロである場合の補正処理についての説明図。
【図10】図5におけるウェーブレット係数補正処理手段54が補正しようとするウェーブレット係数がゼロである場合の補正処理の内容についての説明図であり、(a)は、切り捨てポイントの下側データ部分に、発生させた乱数を記入した状態を示したものであり、(b)は、図7における切り捨てポイントの下側データ部分を(a)に示したデータで置き換えた状態を示したものである。
【図11】従来の画像符号化装置の構成を示すブロック図。
【図12】各分解レベルと各サブバンドとの関係を示す説明図であり、(a),(b),(c)はそれぞれ分解レベルが1,2,3の場合を示している。
【図13】符号化時に行われるポスト量子化を説明するためのウェーブレット係数についての説明図。
【符号の説明】
1 DCレベルシフト手段
2 カラー変換手段
3 ウェーブレット変換手段
4 スカラ量子化手段
5 係数ビットモデリング手段
6 エントロピー符号化手段
7 画質制御手段
8 ポスト量子化手段
9 ヘッダ生成手段
10 符号データ出力手段
11 ウェーブレット係数丸め処理手段
51 符号データ入力手段
52 ヘッダ解析手段
53 エントロピー復号化手段
54 ウェーブレット係数補正処理手段
55 スカラ逆量子化手段
56 逆ウェーブレット変換手段
57 カラー変換手段
58 DCレベルシフト手段
59 画像データ出力手段
MSB 最上位ビット
LSB 最下位ビット
Claims (6)
- 入力画像データに対してウェーブレット変換を行うことにより、任意に設定される分解レベルに応じて周波数成分の種類毎に分割された複数のサブバンドを有するウェーブレット係数を得るウェーブレット変換手段と、
前記ウェーブレット係数に対して丸め処理を行うウェーブレット係数丸め処理手段と、
前記丸め処理が行われたウェーブレット係数に対して係数ビットモデリングによるビットプレーン化を行う係数ビットモデリング手段と、
前記ビットプレーン化されたウェーブレット係数に対してエントロピー符号化を行うエントロピー符号化手段と、
前記エントロピー符号化により得られた符号データにおいて、所定のビットプレーンよりも下位側のビットデータ部分に対する切り捨て処理であるポスト量子化を行う画質制御手段と、
前記ポスト量子化が行われた符号データに対してヘッダ情報を生成して付加するヘッダ生成手段と、
前記ヘッダが付加された符号データである非可逆圧縮符号データを出力する符号データ出力手段と、
を備えた画像符号化装置であって、
前記ウェーブレット係数丸め処理手段は、前記ウェーブレット変換手段により得られた各サブバンドのウェーブレット係数に用いられるビット数よりも小さなビット数に予め設定されている有効ビット数で該ウェーブレット係数を表し、かつ、この有効ビットの先頭桁位置を、該ウェーブレット係数における有意数を有する最上位ビットの桁位置とする、丸め処理を行う手段である、
ことを特徴とする画像符号化装置。 - 前記ウェーブレット係数丸め処理手段は、前記ウェーブレット変換手段で得られたウェーブレット係数から前記有効ビット数による表示により切り捨てられるビットデータ部分の数値が所定の閾値よりも大きな場合は、前記ウェーブレット係数を表している前記有効ビットの桁を繰り上げる繰り上げ処理を行うものである、
ことを特徴とする請求項1記載の画像符号化装置。 - コンピュータを、
入力画像データに対してウェーブレット変換を行うことにより、任意に設定される分解レベルに応じて周波数成分の種類毎に分割された複数のサブバンドを有するウェーブレット係数を得るウェーブレット変換手段と、
前記ウェーブレット係数に対して丸め処理を行うウェーブレット係数丸め処理手段と、
前記丸め処理が行われたウェーブレット係数に対して係数ビットモデリングによるビットプレーン化を行う係数ビットモデリング手段と、
前記ビットプレーン化されたウェーブレット係数に対してエントロピー符号化を行うエントロピー符号化手段と、
前記エントロピー符号化により得られた符号データにおいて、所定のビットプレーンよりも下位側のビットデータ部分に対する切り捨て処理であるポスト量子化を行う画質制御手段と、
前記ポスト量子化が行われた符号データに対してヘッダ情報を生成して付加するヘッダ生成手段と、
前記ヘッダが付加された符号データである非可逆圧縮符号データを出力する符号データ出力手段、
として機能させるための画像符号化プログラムであって、
前記ウェーブレット係数丸め処理手段は、前記ウェーブレット変換手段により得られた各サブバンドのウェーブレット係数に用いられるビット数よりも小さなビット数に予め設定されている有効ビット数で該ウェーブレット係数を表し、かつ、この有効ビットの先頭桁位置を、該ウェーブレット係数における有意数を有する最上位ビットの桁位置とする、丸め処理を行う手段である、
ことを特徴とする画像符号化プログラム。 - 前記ウェーブレット係数丸め処理手段は、前記ウェーブレット変換手段で得られたウェーブレット係数から前記有効ビット数による表示により切り捨てられるビットデータ部分の数値が所定の閾値よりも大きな場合は、前記ウェーブレット係数を表している前記有効ビットの桁を繰り上げる繰り上げ処理を行うものである、
ことを特徴とする請求項3記載の画像符号化プログラム。 - 前記ヘッダ生成手段は、前記有効ビット数を示す情報と、前記ウェーブレット係数丸め処理手段が前記繰り上げ処理を行ったか否かを示す繰り上げ処理実行フラグとを前記ヘッダ情報に含めるものである、
ことを特徴とする請求項4記載の画像符号化プログラム。 - コンピュータを、
ウェーブレット変換を用いた非可逆圧縮符号化により画像データを符号化して得られた符号データをエントロピー復号化してウェーブレット係数を出力するエントロピー復号化手段と、
前記エントロピー復号化手段からのウェーブレット係数に対して補正処理を行うウェーブレット係数補正処理手段と、
前記ウェーブレット係数補正処理手段から出力されるウェーブレット係数に対して逆ウェーブレット変換を施し画像データを得る逆ウェーブレット変換手段、
として機能させるための画像復号化プログラムであって、
前記非可逆圧縮符号化された前記符号データは、符号化時のウェーブレット変換により、任意に設定される分解レベルに応じ周波数成分の種類毎に分割された複数のサブバンドを有するものであり、また、前記ウェーブレット変換により変換されたウェーブレット係数に用いられるビット数よりも小さなビット数に予め設定されている有効ビット数で該ウェーブレット係数が表されるものであり、更に、この有効ビットの先頭桁位置を該ウェーブレット係数における有意数を有する最上位ビットの桁位置とする丸め処理が行われるものであり、また、前記ウェーブレット変換手段で得られたウェーブレット係数が前記有効ビット数による表示により切り捨てられるビットデータ部分の数値が所定の閾値よりも大きな場合は、前記ウェーブレット係数を表している前記有効ビットの桁を繰り上げる繰り上げ処理が行われるものであり、更に、各サブバンドのウェーブレット係数がポスト量子化により切り捨てられたビットデータ部分を持つものであり、
前記符号データには、前記有効ビット数と、前記繰り上げ処理が行われたか否かを示す繰り上げ処理実行フラグとがヘッダ情報として付加されており、
前記ウェーブレット係数補正処理手段が行う補正処理は、前記エントロピー復号化手段から出力されるウェーブレット係数において前記ポスト量子化に基づき切り捨てられたビットデータ部分のビット数を求め、更に、この切り捨てられたビット数で表現できる乱数を生成し、この生成した乱数を前記ウェーブレット係数に加算して新たなウェーブレット係数とする処理であり、
しかも、前記ウェーブレット係数補正処理手段は、前記有効ビット数と前記繰り上げ処理が行われたことを示す繰り上げ処理実行フラグとがヘッダ情報として前記符号データに付加されている場合は前記補正処理を行わないものである、
ことを特徴とする画像復号化プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003082153A JP4114144B2 (ja) | 2003-03-25 | 2003-03-25 | 画像符号化装置、画像符号化プログラム、及び画像復号化プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003082153A JP4114144B2 (ja) | 2003-03-25 | 2003-03-25 | 画像符号化装置、画像符号化プログラム、及び画像復号化プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004289737A JP2004289737A (ja) | 2004-10-14 |
JP4114144B2 true JP4114144B2 (ja) | 2008-07-09 |
Family
ID=33295516
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003082153A Expired - Fee Related JP4114144B2 (ja) | 2003-03-25 | 2003-03-25 | 画像符号化装置、画像符号化プログラム、及び画像復号化プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4114144B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4986906B2 (ja) * | 2008-03-27 | 2012-07-25 | 株式会社リコー | 復号装置、復号方法、プログラム及び記録媒体 |
JP5061330B2 (ja) * | 2008-05-12 | 2012-10-31 | 株式会社メガチップス | 画像処理装置 |
JP5114462B2 (ja) * | 2009-08-28 | 2013-01-09 | 京セラドキュメントソリューションズ株式会社 | 画像圧縮装置及び画像圧縮プログラム |
-
2003
- 2003-03-25 JP JP2003082153A patent/JP4114144B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004289737A (ja) | 2004-10-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3800551B2 (ja) | データ処理装置及び方法 | |
JP3693988B2 (ja) | 通信管理システム及び通信管理方法 | |
US6873734B1 (en) | Method and apparatus for compression using reversible wavelet transforms and an embedded codestream | |
US20060222254A1 (en) | Method and apparatus for compression using reversible wavelet transforms and an embedded codestream | |
JP4784281B2 (ja) | 復号化装置、逆量子化方法及びこれらのプログラム | |
US20110091123A1 (en) | Coding apparatus and coding method | |
JP4148429B2 (ja) | 圧縮システム、圧縮方法及び伸長システム | |
JP4086196B2 (ja) | 画像符号化装置、プログラム及び記憶媒体 | |
JP2004166254A (ja) | 画像符号化装置及び方法、並びにプログラム及び記録媒体 | |
JP4114144B2 (ja) | 画像符号化装置、画像符号化プログラム、及び画像復号化プログラム | |
JP4609918B2 (ja) | 画像処理システム、画像処理方法、プログラム及び情報記録媒体 | |
JP2014521273A (ja) | 画像を符号化する方法および装置 | |
JP2013187692A (ja) | 画像処理装置及び画像処理方法 | |
JP4111761B2 (ja) | 画像処理装置 | |
JP2004260539A (ja) | 画像復号化装置及び画像復号化プログラム | |
WO2010064569A1 (ja) | 動画像データの圧縮方法 | |
Tabra et al. | FPGA implementation of new LM-SPIHT colored image compression with reduced complexity and low memory requirement compatible for 5G | |
JP2007049485A (ja) | 離散ウェーブレット変換装置及び方法、並びにプログラム及び記録媒体 | |
JP2005150846A (ja) | 画像処理方法及び装置 | |
CN111264062A (zh) | 编码器、编码系统和编码方法 | |
JP2004229101A (ja) | 画像符号化システム及びその方法 | |
JP2006295611A (ja) | 画像処理装置及び画像処理プログラム | |
JP2003234905A (ja) | 固定長画像符号化装置及び固定長画像復号化装置 | |
JP2007173940A (ja) | 画像処理装置及び画像処理システム | |
JP2010219798A (ja) | 画像符号・復号化装置、画像符号・復号化方法、プログラム、記録媒体及び画像処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050330 |
|
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: 20080321 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080403 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110425 Year of fee payment: 3 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 4114144 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110425 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120425 Year of fee payment: 4 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120425 Year of fee payment: 4 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130425 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140425 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |