JP4111448B2 - 画像処理装置、画像処理方法、プログラム及び情報記録媒体 - Google Patents

画像処理装置、画像処理方法、プログラム及び情報記録媒体 Download PDF

Info

Publication number
JP4111448B2
JP4111448B2 JP2004127062A JP2004127062A JP4111448B2 JP 4111448 B2 JP4111448 B2 JP 4111448B2 JP 2004127062 A JP2004127062 A JP 2004127062A JP 2004127062 A JP2004127062 A JP 2004127062A JP 4111448 B2 JP4111448 B2 JP 4111448B2
Authority
JP
Japan
Prior art keywords
coefficient
quantization interval
truncation
calculated
frequency conversion
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
Application number
JP2004127062A
Other languages
English (en)
Other versions
JP2005311785A (ja
Inventor
亨 水納
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2004127062A priority Critical patent/JP4111448B2/ja
Publication of JP2005311785A publication Critical patent/JP2005311785A/ja
Application granted granted Critical
Publication of JP4111448B2 publication Critical patent/JP4111448B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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)

Description

本発明は、画像の符号データを復号する画像処理装置及び方法に係り、特に、画像の周波数変換係数がビットプレーン符号化された符号データであって、符号破棄(トランケーション)が行われている可能性のある符号データを復号し、復号過程で周波数変換係数の補正を行う画像処理装置及び方法に関する。
近年、画像入出力技術の進歩により、画像に対する高精細化の流れはとどまるところを知らず、高精細画像を容易に圧縮・伸長できる技術への要求も強いものがある。
こうした要求を満たす圧縮・伸長方式の一つとして、高精細画像を小さい単位に分割して処理でき、高圧縮率でも高画質な画像を復号可能なJPEG2000がある。JPEG2000においては、画像を矩形のブロック(タイル)に分割することにより、少ないメモリ環境下で圧縮伸張処理を行うことが可能である。すなわち、個々のタイルが圧縮伸長プロセスを実行する際の基本単位となり、圧縮伸長動作はタイル毎に独立に行うことができる。
このような分割処理は、タイリングと呼ばれ、省メモリ化・高速化に有効な手法であるが、圧縮率の高い条件で圧縮伸長処理を行った場合、伸張後の画像においてタイルの境界が不連続となるという問題がある。
このタイル境界歪みは、見かけ上、離散コサイン変換(DCT)におけるブロック歪みに類似したものである。このDCTのブロック歪みの除去に関しては、従来、
(1)ブロック分割された画像のDCT成分からブロック境界を抽出し、ブロック境界に垂直な一次元ローパスフィルタをかける方法(特許文献1参照)、
(2)ブロック境界の方向とエッジの方向との関係からブロック歪みの有無を判定し、ブロック歪みがある画素に対してローパスフィルタをかける方法(特許文献2参照)、
(3)ブロック歪みを検出し、検出されたブロック歪みに対しローパスフィルタをかける方法(特許文献3参照)、などが知られている。
これらはいずれも、ブロック境界の方向とエッジ度に応じて画素値に適応的なローパスフィルタをかけることにより、ブロック境界の歪みは平滑化しつつブロック境界に位置する真のエッジへの平滑化は避けることを意図している。しかし、こうした手法は、それがいかに適応的であっても、「歪み自体の平滑化(予定した作用)」と「真のエッジの平滑化(予定しない副作用)」のトレードオフにさいなまれることになる。
これに鑑み、本出願人は、JPEG2000のようなウェーブレット変換を用いる圧縮伸長システムにおいて、例えば、隣接するタイルのローパス係数とハイパス係数を利用して、タイル境界に隣接するハイパス係数の補正処理(デタイリング)を行うことによって、タイル境界歪みを除去する方法を提案している(特許文献4参照)。これは、ウェーブレット係数空間での画像復元に類する手法である。
特開平05-316361号公報 特許第2839987号公報 特開平09-307855号公報 特開2001−257596号公報
前記特許文献4に記載の方法のようなウェーブレット係数空間(より一般的には周波数変換係数空間)でのデタイル処理は有効な手法であるが、係数の補正後の値が当該係数が本来含まれるべき量子化区間から外れることにより画質劣化を招くおそれがある。このことはデタイルのための補正に限られず、係数空間での各種補正を行う場合においても同様の問題が生じる可能性がある。
したがって、係数の補正を行い、その補正値が補正前の値が含まれていた量子化区間から外れた場合には、その補正値を量子化区間の端(補正値に近い側)に修正するクリッピング処理を行うことが望まれる。しかし、このようなクリッピング処理に関する記載は前記特許文献4にはみられない。
また、クリッピング処理を行うためには係数の補正前の値が含まれていた量子化区間を決定しなければならないが、量子化区間を決定するための情報を得られないことがある。これは、圧縮率が高い場合に起きやすい。これについて以下に説明する。
JPEG2000には符号の破棄(トランケーション)を行うポスト量子化の機能がある。ポスト量子化は量子化テーブルを用いて実行される。これについて図1により説明する。
図1において、(a)はポスト量子化前の符号を模式的に示している。本例では3つのコンポーネント(色成分)C0,C1,C2があり、ここでは、その1つのコンポーネントC0を示している。また、階層数(デコンポジションレベル数)は3であり、3LL,3HL,3LH,3HH,2HL,2LH,2HH,1HL,1LH,1HHのサブバンドからなり、深さ方向に8つのビットプレーンで構成された符号の例である。
(b)はポスト量子化のための量子化テーブルの一例である。各コンポーネント、各サブバンド毎に符号が破棄されるビットプレーンの枚数(トランケート数)が記述されている。
(c)はコンポーネントC0のトランケーション例である。コンポーネントC0に関しては、3LLサブバンドはトランケート数は1であるので、8枚のビットプレーン中、最下位の1枚が破棄される。1HHサブバンドについては、トランケート数は7であるので、8枚のビットプレーンのうち下位の7枚が破棄される。このようにして、すべてのサブバンドについて、量子化テーブルの値に従って符号を破棄した後の符号が(d)に模式的に示されている。
図2は、このようなポスト量子化のトランケート数(符号が破棄されたビットプレーン数)と量子化区間の関係を示している。1枚のビットプレーンの破棄は、係数を2で除した(1ビット分シフトした)ことに相当する。図示のように、トランケート数mの場合のポスト量子化の量子化区間の大きさは2^m(2のm乗)、トランケート数nの場合の量子化区間の大きさは2^nであり、トランケート数が大きいほど量子化区間が広くなる。このように、トランケート数が分かれば量子化区間の大きさが分かるため、係数の値の含まれている量子化区間を決定することができる。
次に、トランケート数の算出方法について説明する。図3は、その説明図である。図3の上段の図に示すように、トランケーションを行う前の総ビットプレーン数は、元データのビットプレーン数(桁数)と、ウェーブレットで増えるビットプレーン数(桁数)と、色変換で増えるビットプレー数(桁数)の和である。一方、下段の図に示すように、ゼロビットプレーン数(コーディングされなかったビットプレーン数)と、コーディングされたビットプレーン数と、トランケート(符号破棄)されたビットプレーン数の和が総ビットプレーン数である。このことから、トランケート数は、総ビットプレーン数からゼロビットプレーン数とコーディングされたビットプレーン数を差し引くことにより求まることが分かる。そして、ゼロビットプレーン数は、JPEG2000の符号データを構成するパケットのヘッダ(パケットヘッダ)に記述されている。また、パケットヘッダに記述されているコーディングパス数から、コーディングされたビットプレーン数を計算することができる。したがって、通常は、JPEG2000のデコーダのエントロピー復号化部において、トランケート数を算出可能である。
ところが、高い圧縮率の場合には、パケットヘッダまでも破棄されることがあり、ゼロビットプレーン数、コーディングパス数を知ることができないばかりか、総ビットプレーン数も算出できないため、トランケート数の算出が不可能となる。
クリッピング処理は、図4に示すように、補正前の係数値が含まれていた量子化区間から、補正後の係数値が外れたた場合に、補正値を当該量子化区間の近い側の端(クリップ値)に修正する処理である。
図4の(a)と(b)を比較すれば明らかなように、たとえ原信号と係数の補正値が同じ値であっても、量子化区間が狭い場合と広い場合とでクリップ値は異なる。したがって、量子化区間を決定するための情報(トランケート数)が得られず量子化区間を決定できないとすると、適正なクリッピング処理を行うことはできない。また、不適切な量子化区間を用いてクリッピング処理を行ったのでは、画像品質の悪化をもたらす。
本発明は、以上に鑑みなされたもので、JPEG2000の符号データのような、画像の周波数変換係数がビットプレーン符号化された符号データであって、符号破棄(トランケーション)が行われている可能性のある符号データを復号し、復号過程で周波数変換係数の補正を行う画像処理装置又は方法において、周波数変換係数の補正前の値が含まれている量子化区間を決定するために必要な情報である、符号が破棄されたビットプレーン数(トランケート数)を算出できない場合にも、周波数変換係数の補正値に対するクリッピング処理を適切に行い得るようにすることを目的とする。
請求項1の発明は、画像の周波数変換係数がビットプレーン符号化された符号データであって、符号破棄が行われている可能性のある符号データを復号し、復号過程で周波数変換係数の補正を行う画像処理装置であって、周波数変換係数の補正後の値が、その補正前の値が含まれる量子化区間から外れたときに、当該補正後の値を当該量子化区間の端に修正するクリッピング処理を行うクリッピング処理手段と、前記クリッピング処理に必要な、周波数変換係数の補正前の値が含まれる量子化区間を決定する量子化区間決定手段と、前記量子化区間決定手段が量子化区間を決定するための情報として、符号が破棄されたビットプレーン数(以下、トランケート数)を符号データに基づいて算出するトランケート数取得手段とを有し、前記量子化区間決定手段は、周波数変換係数の補正前の値が含まれる量子化区間を決定するためのトランケート数が前記トランケート数取得手段で算出されないときに、他の周波数変換係数に関し算出されたトランケート数から推定したトランケート数を用いて当該量子化区間を決定することを特徴とする画像処理装置である。
請求項2の発明は、請求項1の発明による画像処理装置において、前記量子化区間決定手段は、周波数変換係数の補正前の値が含まれる量子化区間を決定するためのトランケート数が前記トランケート数取得手段で算出されないときに、当該周波数変換係数の近傍の周波数変換周波数に関し算出されたトランケート数を推定トランケート数として用いることを特徴とするものである。
請求項3の発明は、請求項1の発明による画像処理装置において、符号データは画像の周波数変換係数が所定のブロック単位でビットプレーン符号化されたものであり、前記量子化区間決定手段は、周波数変換係数の補正前の値が含まれる量子化区間を決定するためのトランケート数が前記トランケート数取得手段で算出されないときに、当該周波数変換係数が属するブロックの近傍ブロックの周波数変換係数に関し算出されたトランケート数を推定トランケート数として用いることを特徴とするものである。
請求項4の発明は、請求項1の発明による画像処理装置において、符号データは画像の周波数変換係数が周波数帯域別にビットプレーン符号化されたものであり、前記量子化区間決定手段は、周波数変換係数の補正前の値が含まれる量子化区間を決定するためのトランケート数が前記トランケート数取得手段で算出されないときに、当該周波数変換係数と同じ周波数帯域の他の周波数変換係数に関し算出されたトランケート数を推定トランケート数として用いることを特徴とするものである。
請求項5の発明は、請求項1の発明による画像処理装置において、符号データは画像の周波数変換係数が周波数帯域別に所定のブロック単位でビットプレーン符号化されたものであり、前記量子化区間決定手段は、周波数変換係数の補正前の値が含まれる量子化区間を決定するためのトランケート数が前記トランケート数取得手段で算出されないときに、当該周波数変換係数と同じ周波数帯域の、当該周波数変換係数の属するブロックの近傍ブロックに属する周波数変換係数に関し算出されたトランケート数を推定トランケート数として用いることを特徴とするものである。
請求項6の発明は、請求項1の発明による画像処理装置において、符号データは画像の複数階層の周波数変換係数が階層別にビットプレーン符号化されたものであり、前記量子化区間決定手段は、周波数変換係数の補正前の値が含まれる量子化区間を決定するためのトランケート数が前記トランケート数取得手段で算出されないときに、当該周波数変換係数と同じ階層の、当該周波数変換係数の近傍の周波数変換係数に関し算出されたトランケート数を推定トランケート数として用いることを特徴とするものである。
請求項7の発明は、請求項1の発明による画像処理装置において、符号データは画像の複数階層の周波数変換係数が階層別及び周波数帯域別にビットプレーン符号化されたものであり、前記量子化区間決定手段は、周波数変換係数の補正前の値が含まれる量子化区間を決定するためのトランケート数が前記トランケート数取得手段で算出されないときに、当該周波数変換係数の属する階層の近傍階層の、当該周波数変換係数と同種の周波数帯域に属する周波数変換係数に関し算出されたトランケート数を推定トランケート数として用いることを特徴とするものである。
請求項8の発明は、請求項1の発明による画像処理装置において、符号データは画像の周波数変換係数がコンポーネント別にビットプレーン符号化されたものであり、前記量子化区間決定手段は、周波数変換係数の補正前の値が含まれる量子化区間を決定するためのトランケート数が前記トランケート数取得手段で算出されないときに、当該周波数変換係数と別のコンポーネントの周波数変換係数に関し算出されたトランケート数を推定トランケート数として用いることを特徴とするものである。
請求項9の発明は、請求項1の発明による画像処理装置において、前記量子化区間決定手段は、周波数変換係数の補正前の値が含まれる量子化区間を決定するためのトランケート数が前記トランケート数取得手段で算出されないときに、複数の推定方法を所定の順番で順に試みることにより、当該周波数係数に関するトランケート数を推定することを特徴とするものである。
請求項10の発明は、JPEG2000の符号データを復号し、復号過程でウェーブレット係数の補正を行う画像処理装置であって、ウェーブレット係数の補正後の値が、その補正前の値が含まれる量子化区間から外れたときに、当該補正後の値を当該量子化区間の端に修正するクリッピング処理を行うクリッピング処理手段と、前記クリッピング処理に必要な、ウェーブレット係数の補正前の値が含まれる量子化区間を決定する量子化区間決定手段と、前記量子化区間決定手段が量子化区間を決定するための情報として、符号が破棄されたビットプレーン数(以下、トランケート数)を符号データに基づいて算出するトランケート数取得手段とを有し、前記量子化区間決定手段は、ウェーブレット係数の補正前の値が含まれる量子化区間を決定するためのトランケート数が前記トランケート数取得手段で算出されないときに、他のウェーブレット係数に関し算出されたトランケート数から推定したトランケート数を用いて当該量子化区間を決定することを特徴とする画像処理装置である。
請求項11の発明は、請求項10の発明による画像処理装置において、復号過程でのウェーブレット係数の補正は、タイル境界歪みの抑制のためのタイル境界付近のハイパス係数に対する補正であることを特徴とするものである。
請求項12の発明は、請求項10又は11の発明による画像処理装置において、前記量子化区間決定手段は、ウェーブレット係数の補正前の値が含まれる量子化区間を決定するためのトランケート数が前記トランケート数取得手段で算出されないときに、当該ウェーブレット係数と同じサブバンド内の、当該ウェーブレット係数が属するコードブロックの近傍のコードブロックのウェーブレット係数に関し算出されたトランケート数を推定トランケート数として用いることを特徴とするものである。
請求項13の発明は、請求項10又は11の発明による画像処理装置において、前記量子化区間決定手段は、ウェーブレット係数の補正前の値が含まれる量子化区間を決定するためのトランケート数が前記トランケート数取得手段で算出されないときに、当該ウェーブレット係数の属するサブバンドの近傍サブバンドのウェーブレット係数に関し算出されたトランケート数を推定トランケート数として用いることを特徴とするものである。
請求項14の発明は、請求項13の発明による画像処理装置において、前記量子化区間決定手段は、HHサブバンドのウェーブレット係数の補正前の値が含まれる量子化区間を決定するためのトランケート数が前記トランケート数取得手段で算出されないときに、LHサブバンドのウェーブレット係数に関し算出されたトランケート数を推定トランケート数として用いることを特徴とするものである。
請求項15の発明は、請求項13の発明による画像処理装置において、前記量子化区間決定手段は、LHサブバンドのウェーブレット係数の補正前の値が含まれる量子化区間を決定するためのトランケート数が前記トランケート数取得手段で算出されないときに、HLサブバンドのウェーブレット係数に関し算出されたトランケート数を推定トランケート数として用いることを特徴とするものである。
請求項16の発明は、請求項10又は11の発明による画像処理装置において、前記量子化区間決定手段は、ウェーブレット係数の補正前の値が含まれる量子化区間を決定するためのトランケート数が前記トランケート数取得手段で算出されないときに、当該ウェーブレット係数の属する階層の近傍階層の、当該ウェーブレット係数の属するサブバンドと同種のサブバンドのウェーブレット係数に関し算出されたトランケート数を推定トランケート数として用いることを特徴とするものである。
請求項17の発明は、請求項10又は11の発明による画像処理装置において、前記量子化区間決定手段は、HLサブバンドのウェーブレット係数の補正前の値が含まれる量子化区間を決定するためのトランケート数が前記トランケート数取得手段で算出されないときに、当該HLサブバンドの属する階層の上の階層のHHサブバンドのウェーブレット係数に関し算出されたトランケート数を推定トランケート数として用いることを特徴とするものである。
請求項18の発明は、請求項10又は11の発明による画像処理装置において、前記量子化区間決定手段は、ウェーブレット係数の補正前の値が含まれる量子化区間を決定するためのトランケート数が前記トランケート数取得手段で算出されないときに、当該ウェーブレット係数と別のコンポーネントのウェーブレット係数に関し算出されたトランケート数を推定トランケート数として用いることを特徴とするものである。
請求項19の発明は、請求項18の発明による画像処理装置において、前記量子化区間決定手段は、CbもしくはUコンポーネントのウェーブレット係数の補正前の値が含まれる量子化区間を決定するためのトランケート数が前記トランケート数取得手段で算出されないときに、CrもしくはVコンポーネントのウェーブレット係数に関し算出されたトランケート数を推定トランケート数として用い、CrもしくはVコンポーネントのウェーブレット係数に関するトランケート数も算出されないならば、Yコンポーネントのウェーブレット係数に関し算出されたトランケート数を推定トランケート数として用いることを特徴とするものである。
請求項20の発明は、画像の周波数変換係数がビットプレーン符号化された符号データであって、符号破棄が行われている可能性のある符号データを復号し、復号過程で周波数変換係数の補正を行う画像処理方法であって、周波数変換係数の補正後の値が、当該周波数変換係数の補正前の値が含まれる量子化区間から外れたときに、当該補正後の値を当該量子化区間の端に修正するクリッピング処理を行うクリッピング処理工程と、周波数変換係数の補正前の値が含まれる量子化区間を決定する量子化区間決定工程と、前記量子化区間決定工程が量子化区間を決定するための情報として、符号が破棄されたビットプレーン数(以下、トランケート数)を符号データに基づいて算出するトランケート数取得工程とを有し、前記量子化区間決定工程は、周波数変換係数の補正前の値が含まれる量子化区間を決定するためのトランケート数が前記トランケート数取得工程で算出されないときに、他の周波数変換係数に関し算出されたトランケート数から推定したトランケート数を用いて当該量子化区間を決定することを特徴とする画像処理方法である。
請求項21の発明は、請求項1乃至19のいずれか1項の発明による画像処理装置の少なくともクリッピング処理手段、量子化区間決定手段及びトランケート数取得手段としてコンピュータを機能させるプログラムである。
請求項22の発明は、請求項21の発明によるプログラムが記録されたコンピュータが読み取り可能な情報記録媒体である。
請求項1乃至20の発明によれば、JPEG2000の符号データなどを復号し、復号過程で周波数変換係数の補正を行う画像処理装置又は方法において、量子化区間の決定のために必要なトランケート数が算出できないような場合であっても、推定したトランケート数を用いて量子化区間を決定し、補正された係数に対するクリッピング処理を適切に行うことができるため、係数補正の副作用による画像品質の劣化を防止し、かつ、不適切なクリッピング処理による画像品質の劣化を回避することができる、等々の大きな効果を得られる。また、請求項21,22の発明によれば、コンピュータを利用して容易に請求項1乃至19の発明を実施することができる。
本発明に係る画像処理装置は、符号データの復号のための手段に加え、復号過程で周波数変換係数に対する補正を行う手段と、係数の補正値が、補正前の係数値が含まれていた量子化区間から外れた場合にクリッピング処理を行う手段と、クリッピング処理に必要な、係数の補正前の値が含まれていた量子化区間を決定するための手段と、量子化区間を決定するための情報であるトランケート数を符号データに基づいて算出する手段とを備えることを特徴とする。また、量子化区間を決定する手段は、必要なトランケート数が算出されない場合にはトランケート数の推定を行い、推定したトランケート数を用いて量子化区間を決定する。このトランケート数の推定の方法は一種類に限らず、複数種類の方法を所定の優先順に従って順に適用することができる。また、係数補正の内容は例えばタイル(ブロック)境界歪みを抑制するための補正であるが、これのみに限定されるものではなく、様々な画質補正などを目的としたものでもよい。
上に述べたような画像処理装置における処理の流れは、本発明に係る画像処理方法の処理の流れに相当する。上に述べた係数補正の手段、クリッピング処理の手段、量子化区間を決定する手段、トランケート数を取得する手段による処理は、本発明に係る画像処理方法に含まれる処理工程に対応する。
このような本発明に係る画像処理装置の各手段又は本発明に係る画像処理方法の各処理工程は、ハードウェア、ファームウェア、ソフトウェア又はそれらの組み合わせのいずれによっても実現し得るものである。
図5は、本発明の実施の形態を説明するためのブロック図である。この実施の形態に係る画像処理装置は、JPEG2000の符号データの復号を行うもので、タグ処理部101、エントロピー復号化部102、逆量子化部103、ウェーブレット変換部104、色空間逆変換部105、及び、DCレベル逆シフト部106を備える。これら各部は、JPEG2000のデコーダが一般的に備える手段である。
この画像処理装置は、さらに前記係数補正手段である係数補正部110、前記クリッピング処理手段であるクリッピング処理部111、前記量子化区間決定手段である量子化区間決定部112、及び、前記トランケート数取得手段であるトランケート数取得部113を備える。なお、トランケート数取得部113に相当する手段は、JPEG2000のデコーダのエントロピー復号化部にもともと備わっているものである。この実施の形態においては、ウェーブレット変換部104は、クリッピング処理の関連で、逆変換機能のみならず順変換機能も有する。
このような画像処理装置は、例えばパソコンなどの汎用コンピュータや各種機器に組み込まれたマイクロコンピュータなどのコンピュータを利用して実現することも可能である。このような実現形態について図6により簡単に説明する。
図6において、201は中央演算処理ユニット(CPU)、202はメインメモリ、203はハードディスク装置、204はモニタ、205はバスである。このようなコンピュータを画像処理装置を構成する各手段(101〜113)として機能させるための1以上のプログラムは、例えばハードディスク装置203よりメインメモリ202にロードされ、CPU201により実行されることになる。
処理は例えば次のような流れで行われる。
(1)ハードディスク装置203に記憶されているJPEG2000の符号データが、CPU201からの命令によってメインメモリ202に読み込まれる。
(2)CPU201は、メインメモリ202上の符号データを読み込んで復号処理を行い、その処理過程で、トランケート数の算出、トランケート数に基づく量子化区間の決定(トランケート数が算出不可能な場合は、利用可能なトランケート数を利用した量子化区間の推定)、各コンポーネントの各サブバンド係数に対する補正処理、その補正値に対する必要なクリッピング処理を行う。
(3)CPU201は、復号された画像データをメインメモリ202上の別の領域に書き込む。
(4)そして、例えば、CPU201からの命令によって、復号画像データがモニタ204に画像として表示される。
このようにコンピュータを本発明の画像処理装置の各手段として機能させるプログラム(アプリケーションプログラム、デバイスドライバなど)、及び、同プログラムが記録された磁気ディスク、光ディスク、光磁気ディスク、半導体記憶素子など、コンピュータが読み取り可能な各種情報記録(記憶)媒体も本発明に包含されるものである。
なお、コンピュータにJPEG2000のハードウェアのコーデック(エンコーダ・デコーダ)が備えられている場合には、画像処理装置の係数補正部110、クリッピング処理部111及び量子化区間決定部112をプログラムによって実現し、それ以外の部分の機能はコーデックの機能を利用するような形態をとることも可能である。かかる実現形態も本発明に包含される。
ここで、JPEG2000のアルゴリズムの概要を説明する。JPEG2000の符号化(圧縮)処理の流れは次の通りである。画像はタイルと呼ばれる重複しない矩形のブロックに分割され、各タイル毎に処理が行われる。各タイルの画像はDCレベルシフトと色空間変換(コンポーネント変換)が施された後、周波数変換として2次元のウェーブレット変換(離散ウェーブレット変換)を施され、複数の周波数帯域(サブバンド)に分解される。JPEG2000では、ウェーブレット変換として可逆の5×3変換又は非可逆の9×7変換が用いられる。9×7変換が用いられる場合には、各サブバンド毎に係数の線形量子化が施される。次に、各サブバンドの係数がビットプレーンに分割され、ビットプレーン単位でのエントロピー符号化(ビットプレーン符号化)が行われる(より正確には書くビットプレーは3つのサブビットプレーンに分割されて符号化される)。次の符号形成の段階において、生成されたエントロピー符号のうちの必要な符号をまとめてパケットが生成され、パケットを所要の順序(プログレッション・オーダー)に従って並べるとともに必要なタグ及びタグ情報が付加することにより、1本のコードストリーム(HPEG2000の符号データ)が生成される。
エントロピー符号化及び符号形成について、図7〜図9によりさらに説明する。図7は、画像、タイル、サブバンド、プリシンクト、コードブロックの関係を示す説明図である。タイル分割数=1の場合、画像とタイルは一致する。プリシンクトとは、サブバンドを(ユーザが指定可能なサイズの)矩形に分割した単位で、大まかには画像中の場所(Position)を表すものであり、インプリメンテーションでメモリを効率的に使うために導入されたものである。プリシンクトは、HL,LH,HHの3つのサブバンドにおいて空間的に一致している。つまり、プリシンクトは3つで1つのまとまりを成すものである。ただし、LLサブバンドを分割したプリシンクトは1つで1つのまとまりを成す。このようなプリシンクトは、サブバンドと同じサイズにすることも可能である。プリシンクトを分割した(ユーザが指定可能なサイズの)矩形がコードブロックであり、エントロピー符号化の基本単位となる。
プリシンクトに含まれる全てのコードブロックから、符号の一部を取り出して集めたもの(例えば、全てのコードブロックの最上位ビットから3枚目までのビットプレーンの符号を集めたもの)がパケットである。パケットは符号とヘッダ(パケットヘッダ)からなる。全てのプリシンクト(すなわち、全てのコードブロック、全てのサブバンド)のパケットを集めると、画像全域の符号の一部(例えば、画像全域のウェーブレット係数の最上位ビットから3枚目までのビットプレーンの符号)ができるが、これをレイヤとよぶ。レイヤは、大まかには画像全体のビットプレーンの符号の一部であるから、復号されるレイヤ数が増えれば画質は上がる。レイヤはいわば画質の単位である。
階層数(デコンポジションレベル数)=2、プリシンクトサイズ=サブバンドサイズ、としたときのレイヤの例を図8に、レイヤに含まれるパケットの例を図9に示す。図8に示したレイヤNo.9に含まれるような下位ビットプレーンの符号は、破棄(トランケーション)されるのが通常である。
JPEG2000の復号化(伸長)処理は符号化処理と丁度逆の処理となる。すなわち、コードストリームに付加されたタグ情報を解釈することにより、コードストリームは各コンポーネントの各タイルのコードストリームに分解されて復号化処理が行われる。次に、コードストリーム内のタグ情報に基づく順番で復号化の対象ビットの位置が定められるとともに、その対象ビット位置の周辺ビット(既に復号化を終えている)の並びからコンテキストが生成される。このコンテキストとコードストリームから確率推定によってエントロピー復号化が行われて対象ビットが生成され、これが対象ビットの位置に書き込まれる。このようにして復号化されたウェーブレット係数は(符号化時に線形量子化が行われた場合には逆量子化を施された後)、2次元ウェーブレット逆変換を適用されて各タイルの各コンポーネントの画像データに戻され、続いて色空間逆変換とDCレベル逆シフトが行われて元の表色系のデータとされる。
このような復号化処理と図5に示した画像処理装置とを対応させれば、上に述べたタグ情報の解釈とコードストリームの分解などはタグ処理部101で、エントロピー復号化はエントロピー復号化部102で、コンテキストの生成及び逆量子化は逆量子化部103で、2次元ウェーブレット逆変換はウェーブレット変換部104で、色空間逆変換は色空間逆変換部105で、また、DCレベル逆シフトはDCレベル逆シフト部110でそれぞれ行われる。ただし、前述の通りウェーブレット変換部104は順変換と逆変換が可能である。
次に、JPEG2000における2次元ウェーブレット変換(順変換)について説明する。図10〜図13は、16×16画素のモノクロ画像に対して、5x3変換と呼ばれるウェーブレット変換を2次元(垂直方向および水平方向の順)に施す過程の説明図である。
図10の様にXY座標をとり、あるxについて、Y座標がyである画素の画素値をP(y)(0≦y≦15)と表す。JPEG2000では、まず垂直方向(Y座標方向)に、Y座標が奇数
(y=2i+1)の画素を中心にハイパスフィルタを施して係数C(2i+1)を得た後、Y座標が偶数(y=2i)の画素を中心にローパスフィルタを施して係数C(2i)を得る(これを全てのxについて行う)。ここで、ハイパスフィルタは式(1)、ローパスフィルタは式(2)で表される。式中の記号|_x_|は、xのフロア関数(実数xを、xを越えず、かつ、xに最も近い整数に置換する関数)を示している。
C(2i+1)=P(2i+1)−|_(P(2i)+P(2i+2))/2_| 式(1)
C(2i)=P(2i)+|_(C(2i-1)+C(2i+1)+2)/4_| 式(2)
なお、画像の端部(又はタイルの境界部)においては、中心となる画素に対して隣接画素群(又は隣接係数群)が存在しないことがある。この場合、図15に示した「ミラリング」と呼ばれる手法によって適宜画素値(又は係数値)を補うことになる。ミラリングは、文字通り、画像の端(又はタイル境界)を中心として画素値(又は係数値)を線対称に折り返し、折り返した値を隣接画素(係数)群の値とみなす処理である。
ここで、簡単のため、ハイパスフィルタで得られる係数をH、ローパスフィルタで得られる係数をLと表記すれば、前記垂直方向の変換によって図10の画像は図11のようなL係数とH係数の配列へと変換される。
続いて、図11の係数配列に対して、水平方向に、X座標が奇数(x=2i+1)の係数を中心にハイパスフィルタを施し、次にX座標が偶数(x=2i)の係数を中心にローパスフィルタを施す(これを全てのyについて行う。この場合、式(1),(2)のP(2i)等は係数値を表すものと読み替える)。
簡単のため、
前記L係数を中心にローパスフィルタを施して得られる係数をLL、
前記L係数を中心にハイパスフィルタを施して得られる係数をHL、
前記H係数を中心にローパスフィルタを施して得られる係数をLH、
前記H係数を中心にハイパスフィルタを施して得られる係数をHH、
と表記すれば、図11の係数配列は図12の様な係数配列へと変換される。ここで、同一の記号を付した係数群はサブバンドと呼ばれ、図12の場合は4つのサブバンドの係数からなる。
以上で、1回の2次元ウェーブレット変換(1回のデコンポジション(分解))が終了し、LL係数だけを集めると(図13の様に係数をサブバンド毎に集め、LLサブバンドだけ取り出すと)、ちょうど原画像の1/2の解像度の“画像”が得られる(このように、サブバンド毎に係数を分類することをデインターリーブと呼び、これに対し図12のような状態に係数を配置することをインターリーブすると呼ぶ)。
2回目のウェーブレット変換は、LLサブバンドを原画像と見なして、上に述べたと同様に行われる。そして得られたサブバンド係数をデインターリーブすると、図14に示す様な係数配列となる(図13、図14中の係数の接頭の1や2は、その係数が何回のウェーブレット変換で得られたかを示し、デコンポジションレベルと呼ばれる)。
以上は順変換であるが、2次元ウェーブレット逆変換は丁度逆の処理となる。すなわち、図12の様なインターリーブされた係数の配列に対して、まず水平方向に、X座標が偶数(x=2i)の係数を中心に逆ローパスフィルタを施し、次にX座標が奇数(x=2i+1)の係数を中心に逆ハイパスフィルタを施す(これを全てのyについて行う)。ここで、逆ローパスフィルタは式(3)、逆ハイパスフィルタは式(4)で表される。この際も、画像の端部(又はタイル境界部)においては中心となる係数に対して隣接係数群が存在しないことがあり、この場合も図15のミラリングによって適宜係数値を補うことになる。
P(2i)=C(2i)−|_(C(2i-1)+C(2i+1)+2)/4_| 式(3)
P(2i+1)=C(2i+1)+|_(P(2i)+P(2i+2))/2_| 式(4)
このようにして図12の係数配列は11Iのような係数配列に変換(逆変換)される。続いて、垂直方向に、Y座標が偶数(y=2i)の係数を中心に逆ローパスフィルタを施し、次にY座標が奇数(y=2i+1)の係数を中心に逆ハイパスフィルタを施せば(これを全てのxについて行う)、1回の2次元ウェーブレット逆変換が終了し、図10の画像に戻る(再構成される)ことになる。ウェーブレット変換が複数回施されている場合は、図10をLLサブバンドとみなし、HL等の他のサブバンド係数を利用して同様の逆変換を繰り返せばよい。
以上の説明から理解されるように、JPEG2000の符号データは、画像の周波数変換係数がビットプレーン符号化された、符号破棄が行われている可能性のある符号データの一種である。また、JPEG2000の符号データは、画像の周波数変換係数が所定のブロック(コードブロック)単位でビットプレーン符号化された符号データの一種でもある。また、JPEG2000の符号データは、画像の周波数変換係数が周波数帯域(サブバンド)別にビットプレーン符号化された符号データの一種でもある。また、JPEG2000の符号データは、画像の周波数変換係数が周波数帯域(サブバンド)別に所定のブロック(コードブロック)単位でビットプレーン符号化された符号データの一種でもある。また、JPEG2000の符号データは、画像の複数階層(デコンポジションレベル)の周波数変換係数が階層別にビットプレーン符号化された符号データの一種でもある。また、JPEG2000の符号データは、画像の複数階層の周波数変換係数が階層別及び周波数帯域別にビットプレーン符号化された符号データの一種でもある。また、JPEG2000の符号データは、画像の周波数変換係数がコンポーネント別にビットプレーン符号化された符号データの一種でもある。
以下、本発明の実施の形態について、より具体的に説明する。
本発明の一実施例にあっては、係数補正部110において、前記特許文献4に記載されているようなデタイルのための係数補正が行われる。すなわち、図16に網掛けして示すようなタイル境界部分のハイパス係数に対する補正を行う。
この係数補正のための補正式について説明する。前記特許文献4の方法では、
「タイル境界が生じるのは圧縮率が高い場合であり、タイリングの有無に関わらず、全てのハイパス係数は0に量子化される」(近似1)、
「タイリングした場合のローパス係数はタイリングしない場合のローパス係数に等しい」(近似2)
という2つの近似を採用し、
「(0に量子化されたが)補正されたハイパス係数を用いて逆ウェーブレット変換をした場合の、タイル境界の画素値=ハイパス係数が0の場合の、タイリングをせずに逆ウェーブレット変換をした場合の同じ位置の画素値」」
という式から、ハイパス係数の補正値を算出している(0に量子化されたハイパス係数に対し、0でない補正値を算出する過程は画像復元である)。
このような係数補正のための補正式を、5×3変換を例に説明する。図10〜図13を参照して説明したように、5x3変換の逆変換は、
L,H,L,Hの順にインターリーブした係数列に対し、
偶数位置中心に逆ローパスフィルタを、
奇数位置中心に逆ハイパスフィルタを、
をかける。
前記式(1)〜(4)のフロア関数を省略して展開すれば明らかなように、順変換と逆変換とではフィルタのタップ数は逆転し、またフィルタ係数もインターリーブされる。このため、順変換のフィルタ係数が
HIGH -0.5,1,-0.5
LOW -0.125,0.25,0.75,0.25,-0.125
の場合、逆変換のフィルタ係数は
LOW -0.25,1,-0.25
HIGH -0.125,0.5,0.75,0.5,-0.125
となる(ここでは、フロア関数部分を考慮せずにフィルタ係数を表現している)。
「タイリングしない場合で、かつ、ハイパス係数が全て0のとき(近似1)」、インターリーブされた係数列
L1 H1 L2 H2 L3 H3
において、H2位置中心に逆ハイパスフィルタをかけた値は以下の通りである。
-0.125H1+0.5L2+0.75H2+0.5L3-0.125H3=0.5L2+0.5L3‥‥式(i)
一方、上記係数が、2つのタイルに分割されてから算出されたものであり、タイル境界はH2とL3の間にあるとする。この場合、L1,H1,L2,H2は左側(又は上側)のタイルの係数、L3,H3は右側(又は下側)のタイルの係数になる。ここで、H2は順変換(3タップのハイパスフィルタ)時にミラリングの影響を受けており、補正の対象となる係数である。タイリングは、各タイル内の画素だけを用いてウェーブレット変換を行う処理、あるいは各タイル内の係数だけを用いて逆ウェーブレット変換を行う処理であるため、上記ミラリングによって左タイル(又は上タイル)の係数
L1 H1 L2 H2
を右タイル(又は下タイル)に補った場合
L1 H1 L2 H2 L2 H1
となる。
よって、H2位置中心に逆ハイパスフィルタをかけた値は、
-0.125H1+0.5L2+0.75H2+0.5L2-0.125H1=-0.25H1+L2+0.75H2‥‥式(ii)
となる。
式(i)=式(ii)を狙うため、次式
H2=1/3H1-2/3L2+2/3L3‥‥式(iii)
を得る。これがタイル境界に隣接し、正変換時にミラリングの影響を受けたハイパス係数の補正式である。ただし、補正値の算出時にはタイリングした係数しか存在しないため、L2は左(上)タイルの係数、L3は右(下)タイルの係数を使用する(近似2)。
タイル境界に隣接するローパス係数(L3)に関しても同様な立式が可能であり、その結果、H3の補正式として
H3=0‥‥式(iv)
を得ることができる。ただし、デコンポジションレベル1の場合、H3はミラリングの誤差を含まないため補正不要である(デコンポジションレベル2以上の場合は、H3に隣接するL3自体がデコンポジションレベル1でミラリングの影響を受けているため補正が必要である)。
9×7ウェーブレット変換の場合も、同様な考え方で補正式を算出できる。すなわち、インターリーブされた係数列
H0 L1 H1 L2 H2 L3 H3 L4 H4
において、H2とL3の間がタイル境界である場合、
H2=(-0.0535H0+0.15644H1+0.09127L1-0.59127L2+0.59127L3-0.09127L4)/0.60295
‥‥式(v)
H3=(0.05754L2-0.05754L4+0.03372H4)/0.53372‥‥式(vi)
が得られる。ただし、9×7変換の場合には、デコンポジションレベル1でもH3係数を補正してよい。
図17と図18は以上の係数補正の説明図である。水平方向のデタイルのための補正では、図17に示すタイル境界のハイパス係数H3(LH又はHH)と境界近傍のハイパス係数H3(LH又はHH)が前記補正式により補正される(ただし、5×3変換の場合、デコンポジションレベル1ではハイパス係数H3は補正されない)。垂直方向のデタイルのための補正では、水平方向に逆ウェーブレット変換された係数に対し、図18に示すタイル境界のハイパス係数H2と境界近傍のハイパス係数H3が前記補正式により補正される(ただし、5×3変換の場合、デコンポジションレベル1ではハイパス係数H3は補正されない)。
次に、タイル数=4、デコンポジションレベル数(階層数)=2の、あるコンポーネントのウェーブレット係数を処理する場合を例にして、デタイルのための係数補正処理及びその補正値に対するクリッピング処理について説明する。図19は処理の流れを示す概略フローチャートであり、図20〜図27は処理の説明のための係数配列図である。
図20は、逆量子化部103よりウェーブレット変換部104に入力した4タイル分の係数の配列を示しており、デコンポジションレベル2(階層2)の係数はインターリーブされている。
まず、係数補正部110において、デコンポジションレベル2の係数に対する水平方向の補正が行われる(step1)。補正の対象となる係数は、図21に示す列Aの係数(2HL,2HH)と列Bの係数(2HL,2HH)である。5×3変換の場合は、列Aの係数に対する補正式として式(iii)が、列Bの係数に対する補正式として式(iv)が用いられる。9x7変換の場合は、列Aの係数は式(v)により、列Bの係数は式(vi)により補正される。
クリッピング処理部111は、量子化区間決定部112により決定された当該サブバンド係数(2HL又は2HH)に関する量子化区間の大きさから、列A,Bの係数の補正前の値が含まれていた量子化区間と、それら係数の補正値とを比較することによりクリッピング処理の要否を判断する(step2)。
クリッピング処理部111は、係数の補正値が補正前の係数値の含まれていた量子化区間から外れているときにはクリッピング処理を必要と判断し、その係数に対しクリッピング処理を行う(step3)。補正値が量子化区間内であり、クリッピングが不要と判断した係数に対してはクリッピング処理は行わない。
次に、ウェーブレット変換部104において、補正処理と必要なクリッピング処理が行われた後のデコンポジションレベル2のウェーブレット係数に対し水平方向の逆ウェーブレット変換が行われる(step4)。この水平方向の逆ウェーブレット変換後の係数配列を図22に示す。
係数補正部110において、図23に示す行Cの係数(2H)と行Dの係数(2H)に対する補正を行う(step5)。5x3変換の場合は、行Cの係数は式(iii)で補正され、行Dの係数は式(iv)で補正される。9x7変換の場合は、行Cの係数は式(v)で補正され、行Dの係数は式(vi)で補正される。
次に、ウェーブレット変換部104により、補正後の係数に対し水平方向のウェーブレット変換(順変換)が行われ、図20に示すような係数の状態に戻される(step6)。この順変換を行うのは、図23に示すような中間状態の係数に対する量子化区間は決定されないからである。
そして、クリッピング処理部111において、水平方向の順変換後の行C(図23参照)に対応する係数(2LH,2HH)及び行D(図23参照)に対応する係数(2LH,2HH)の補正値についてクリッピング処理の要否を判断し(step7)、必要と判断した係数の補正値に対するクリッピング処理を行う(step8)。
次に、ウェーブレット変換部104において、補正処理及び必要なクリッピング処理が行われたデコンポジションレベル2の係数に対し、水平方向の逆ウェーブレット変換と垂直方向の逆ウェーブレット変換が順に行われる(step9)。この逆変換により、図24に示すデコンポジションレベル1の各サブバンド係数が得られる。
次に、係数補正部110において、図25のようにインターリーブしたデコンポジションレベル1の係数に対し水平方向のデタイルのための補正を行う(step10)。5×3変換の場合には、図26に示す列Eの係数(HL,HH)を式(iii)で補正する(デコンポジションレベル1では、列Fの係数はミラリングの誤差を含まないため補正は不要である)。一方、9x7変換の場合には、列Eの係数を式(v)で補正し、また、列Fの係数(HL,HH)を式(vi)で補正する。
クリッピング処理部111は、係数の補正値と補正前の係数値が含まれていた量子化区間とを比較することによりクリッピング処理の要否を判断し(step11)、必要と判断した係数の補正値に対するクリッピング処理を行う(step12)。
次に、ウェーブレット変換部104で、補正後の係数に対し水平方向の逆ウェーブレット変換が行われる(step13)。
この逆ウェーブレット変換後の係数に対し、係数補正部110は、垂直方向のデタイルのための係数補正を行う(step14)。すなわち、5x3変換の場合は、図27に示す行Gの係数を式(iii)で補正する。9x7変換の場合は、図27に示す行Gの係数を式(v)で補正し、行Hの係数を式(vi)で補正する。
この補正後の係数に対し、ウェーブレット変換部104で水平方向のウェーブレット変換(順変換)を行い、図25に示す係数の状態に戻す(step15)。そして、行G,Hの係数(5×3変換の場合は行Gの係数のみ)に関しクリッピング処理の要否を判断し(step16)、必要と判断した係数のみクリッピング処理を行う(step17)。
最後に、ウェーブレット変換部104で水平方向の逆ウェーブレット変換、垂直方向の逆ウェーブレット変換が順に行われる(step18)。
以上の処理によりタイル境界歪みの除去された画像データが生成され、これは色空間逆変換部105による色空間逆変換とDCレベル逆シフト部106によるDCレベル逆シフトを経て元の表色系の画像データに戻されて出力される。
次に、量子化区間決定部112について説明する。量子化区間決定部112は、トランケート数取得部113によりトランケート数を算出できない係数に関しては、1つの推定方法又は予め優先順位を定めた複数の推定方法を用いてトランケート数の推定を行い、推定したトランケート数を用いて該係数に対する量子化区間の大きさ求める。そして、この量子化区間の大きさと、係数の補正前の値とから、該係数の補正前の値が含まれている量子化区間を決定する。以下、トランケート数の推定方法の例を説明する。
図28は推定方法Aの説明図である。図中の1HL,1LH,1HHサブバンドにおいて、各矩形はコードブロックを表すものとし、各コードブロックに記された数字は算出されたトランケート数を、?記号はトランケート数を算出できなかったことを表す。?記号が記されたコードブロック(タイルのサブブロックに相当)については、矢線を逆向きに辿って同じサブバンド内でトランケート数を算出できたコードブロックを探し、そのコードブロックのトランケート数を、?記号のコードブロックに対するトランケート数と推定する。ただし、同じコンポーネント内で推定する方法である。
このように、この推定方法は、トランケート数を算出できない係数の推定トランケート数として、その係数が属するサブブロックと同じサブバンド内の近傍のサブブロックのトランケート数を用いる方法の一例であるが、これはトランケート数を算出できない係数の近傍係数のトランケート数を推定トランケート数として用いる方法の一例でもある。
図29はもう1つの推定方法Bの説明図である。この推定方法では、あるサブバンドの係数のトランケート数を算出できない場合、上のデコンポジションレベル(階層)へ向かってトランケート数を算出できた同じ位置(同じ係数位置又は同じコードブロック位置)の同種のサブバンドを探し、そのサブバンドのトランケーション数を推定トランケート数として用いる方法である。例えば、図中の?記号を記した1HHサブバンドのトランケーション数を算出できない場合には、まず、2HHサブバンドのトランケーション数が算出できたか調べ、図の例ではトランケーション数5が算出されているため、1HHサブバンドのトランケーション数を5と推定する。もし2HHサブバンドのトランケーション数も算出できないときには、3HHサブバンドのトランケーション数を推定トランケート数として用いる。
すなわち、この推定方法は、トランケート数を算出できない係数について、その係数の属する階層の近傍階層のトランケート数を推定トランケート数として用いる方法の一例である。ただし、同じコンポーネント内で推定する方法である。
図30はもう一つの推定方法Cの説明図である。この推定方法では、例えば図中の?記号を記した1HHサブバンドの係数のトランケーション数を算出できない場合には、矢線を逆に辿って同じ位置(同じ係数位置又は同じコードブロック位置)のトランケート数を算出できたサブバンドを探し、そのサブバンドのトランケート数を推定トランケート数として用いる。この例では、1LHサブバンドのトランケート数が6であるから、1HHサブバンドのトランケート数を6と推定する。もし1LHサブバンドのトランケート数も算出できないときには、1HLサブバンドのトランケート数6と推定する。このように、この推定方法は、トランケート数を算出できないサブバンドについては、近傍サブバンドのトランケート数を推定トランケート数として用い方法の一例である。
図31はもう一つの推定方法Dの説明図である。コンポーネントC0,C1,C2は下側のものほど符号破棄が行われやすいコンポーネントである。具体的には、JPEG2000の場合、C0はYコンポーネント、C1はCr(もしくはV)コンポーネント、C2はCb(もしくはU)コンポーネントである。トランケート数が算出されないサブバンドについては、矢線を逆に辿ってトランケート数が算出されたサブバンドを捜し、そのトランケート数を推定トランケート数として用いる。例えば、図中の?記号を記したコンポーネントC2の1HHサブバンドのトランケート数を算出できない場合(コンポーネントC2ではトランケート数を算出できなくなるような符号破棄が行われる可能性が最も高い)、まずコンポーネントC1の1LLサブバンドを調べ、そのトランケート数が算出されているならば、それを推定トランケート数とする。そのトランケート数も算出できなかったときには、コンポーネントC0の1HHサブバンドのトランケート数を推定トランケート数とする。このトランケート数も算出されなかったときには、コンポーネントC2の1LHサブバンドのトランケート数を推定トランケート数とする。
このように、この推定方法は、トランケート数を算出できなかったサブバンドのトランケート数を近傍サブバンドのトランケート数を用いて推定するが、この推定を複数のコンポーネントにわたって行うことが他の推定方法と異なる。
図32はもう一つの推定方法Eの説明図である。図中、コンポーネントC0,C1,C3は図31の場合と同様である。この推定方法では、例えば?記号を記したコンポーネントC2の1HHサブバンドのトランケート数を算出できない場合、まず、同じコンポーネント内で、矢線を辿ってトランケート数を算出できたサブバンドを捜し、そのトランケート数を推定トランケート数とする。同じコンポーネント内では推定できないときには、コンポーネントC1について矢線を逆順に辿ってトランケート数が算出されたサブバンドを捜し、そのサブバンドのトランケート数を推定トランケート数として用いる。コンポーネントC1内でも推定できない場合には、コンポーネントC0についてトランケート数が算出されたサブバンドを探し、そのトランケート数を推定トランケート数とする。すなわち、この推定方法は、前記推定方法Cを複数のコンポーネントに拡張した方法の一例と言うことができる。
上に述べたような推定方法の一つのみを用いることもできるが、前述のように、複数の推定方法を所定の優先順位に従い順に適用することもできる。一例を挙げれば、最初に前記推定方法Aを用いてトランケート数の推定を試み、推定ができない場合に前記推定方法B又はCを用いてトランケート数の推定を試みる。それでも推定できない場合には、前記推定方法D又はEを用いて推定を試みる。
以上に説明した実施例においては、タイル境界歪み抑制(デタイル)のための係数補正が行われた。この係数補正の基本的な考え方は、タイル境界近傍の係数を中心とした逆変換後の係数値が、タイリングを行わない場合の低周波係数(ローパス係数)のみを用いて逆変換された係数値とほぼ等しくなるように、タイル境界近傍の高周波係数(ハイパス係数)を補正するというものである。
しかし、既に述べたように、デタイル以外の目的のための係数補正を行う画像処理装置においても本発明を適用可能である。そのような係数補正としては、例えば、画質向上の目的のために、ある階層の係数を、その近傍係数、同階層の他のサブバンドの同じ位置の係数もしくは上位階層の対応位置の係数を用いて補正するようなものがある。
また、前記実施例はJPEG2000の符号データを処理するものであったが、より一般的には、請求項1〜9に記載の通り、画像の周波数変換係数をビットプレーン符号化した符号データであって、符号破棄(トランケーション)が行われている可能性のある符号データを復号し、復号過程で周波数変換係数の補正を行う画像処理装置に、本発明は広く適用し得ることは明らかである。
以上、本発明に係る画像処理装置の構成と処理内容について説明したが、その処理内容の説明は、そのまま本発明に係る画像処理方法の処理の手順及び処理内容の説明でもあることは明らかである。よって、画像処理方法としての説明を繰り返さない。
ポスト量子化テーブルの符号破棄の説明図である。 トランケート数と量子化区間の大きさの関係の説明図である。 トランケート数の算出方法の説明図である。 量子化区間とクリッピング処理の説明図である。 本発明の実施の形態に係る画像処理装置のブロック図である。 上記画像処理装置をコンピュータを利用して実現する形態を説明するためのブロック図である。 JPEG2000における画像、タイル、サブバンド、プリシンクト、コードブロックの関係を示す図である。 JPEG2000のレイヤ構造の例を示す図である。 レイヤに含まれるパケットの例を示す図である。 原画像と座標系を示す図である。 図10の原画像に対し垂直方向のウェーブレット変換を行った後の係数配列を示す図である。 図11の係数配列に対し水平方向のウェーブレット変換を行った後の係数配列を示す図である。 図12の係数をデインターリーブした係数配列を示す図である。 2回目の2次元ウェーブレット変換後のデインターリーブした係数配列を示す図である。 ミラリングの説明図である。 デタイルのために補正されるタイル境界付近の係数を示す図である。 水平方向のデタイルのために補正される係数を示す図である。 垂直方向のデタイルのために補正される係数を示す図である。 デコンポジションレベル数2のウェーブレット係数に対する補正処理及びクリッピング処理の流れを示すフローチャートである。 デコンポジションレベル2のインターリーブ状態の係数配列を示す図である。 最初の水平方向のデタイル補正係数を示す図である。 最初の水平方向デタイル補正後の係数を水平方向に逆ウェーブレット変換した後の係数配列を示す図である。 最初の垂直方向のデタイル補正係数を示す図である。 補正後のデコンポジションレベル1のデインターリーブ状態の係数配列を示す図である。 補正後のデコンポジションレベル1のインターリーブ状態の係数配列を示す図である。 2回目の水平方向のデタイル補正係数を示す図である。 2回目の垂直方向のデタイル補正係数を示す図である。 トランケート数の推定方法Aの説明のための図である。 トランケート数の推定方法Bの説明のための図である。 トランケート数の推定方法Cの説明のための図である。 トランケート数の推定方法Dの説明のための図である。 トランケート数の推定方法Eの説明のための図である。
符号の説明
101 タグ処理部
102 エントロピー復号化部
103 逆量子化部
104 ウェーブレット変換部
105 色空間逆変換部
106 DCレベル逆シフト部
110 係数補正処理部
111 クリッピング処理部
112 量子化区間決定部
113 トランケート数取得部

Claims (22)

  1. 画像の周波数変換係数がビットプレーン符号化された符号データであって、符号破棄が行われている可能性のある符号データを復号し、復号過程で周波数変換係数の補正を行う画像処理装置であって、
    周波数変換係数の補正後の値が、その補正前の値が含まれる量子化区間から外れたときに、当該補正後の値を当該量子化区間の端に修正するクリッピング処理を行うクリッピング処理手段と、
    前記クリッピング処理に必要な、周波数変換係数の補正前の値が含まれる量子化区間を決定する量子化区間決定手段と、
    前記量子化区間決定手段が量子化区間を決定するための情報として、符号が破棄されたビットプレーン数(以下、トランケート数)を符号データに基づいて算出するトランケート数取得手段とを有し、
    前記量子化区間決定手段は、周波数変換係数の補正前の値が含まれる量子化区間を決定するためのトランケート数が前記トランケート数取得手段で算出されないときに、他の周波数変換係数に関し算出されたトランケート数から推定したトランケート数を用いて当該量子化区間を決定することを特徴とする画像処理装置。
  2. 前記量子化区間決定手段は、周波数変換係数の補正前の値が含まれる量子化区間を決定するためのトランケート数が前記トランケート数取得手段で算出されないときに、当該周波数変換係数の近傍の周波数変換周波数に関し算出されたトランケート数を推定トランケート数として用いることを特徴とする請求項1に記載の画像処理装置。
  3. 符号データは、画像の周波数変換係数が所定のブロック単位でビットプレーン符号化されたものであり、
    前記量子化区間決定手段は、周波数変換係数の補正前の値が含まれる量子化区間を決定するためのトランケート数が前記トランケート数取得手段で算出されないときに、当該周波数変換係数が属するブロックの近傍ブロックの周波数変換係数に関し算出されたトランケート数を推定トランケート数として用いることを特徴とする請求項1に記載の画像処理装置。
  4. 符号データは、画像の周波数変換係数が周波数帯域別にビットプレーン符号化されたものであり、
    前記量子化区間決定手段は、周波数変換係数の補正前の値が含まれる量子化区間を決定するためのトランケート数が前記トランケート数取得手段で算出されないときに、当該周波数変換係数と同じ周波数帯域の他の周波数変換係数に関し算出されたトランケート数を推定トランケート数として用いることを特徴とする請求項1に記載の画像処理装置。
  5. 符号データは、画像の周波数変換係数が周波数帯域別に所定のブロック単位でビットプレーン符号化されたものであり、
    前記量子化区間決定手段は、周波数変換係数の補正前の値が含まれる量子化区間を決定するためのトランケート数が前記トランケート数取得手段で算出されないときに、当該周波数変換係数と同じ周波数帯域の、当該周波数変換係数の属するブロックの近傍ブロックに属する周波数変換係数に関し算出されたトランケート数を推定トランケート数として用いることを特徴とする請求項1に記載の画像処理装置。
  6. 符号データは、画像の複数階層の周波数変換係数が階層別にビットプレーン符号化されたものであり、
    前記量子化区間決定手段は、周波数変換係数の補正前の値が含まれる量子化区間を決定するためのトランケート数が前記トランケート数取得手段で算出されないときに、当該周波数変換係数と同じ階層の、当該周波数変換係数の近傍の周波数変換係数に関し算出されたトランケート数を推定トランケート数として用いることを特徴とする請求項1に記載の画像処理装置。
  7. 符号データは、画像の複数階層の周波数変換係数が階層別及び周波数帯域別にビットプレーン符号化されたものであり、
    前記量子化区間決定手段は、周波数変換係数の補正前の値が含まれる量子化区間を決定するためのトランケート数が前記トランケート数取得手段で算出されないときに、当該周波数変換係数の属する階層の近傍階層の、当該周波数変換係数と同種の周波数帯域に属する周波数変換係数に関し算出されたトランケート数を推定トランケート数として用いることを特徴とする請求項1に記載の画像処理装置。
  8. 符号データは、画像の周波数変換係数がコンポーネント別にビットプレーン符号化されたものであり、
    前記量子化区間決定手段は、周波数変換係数の補正前の値が含まれる量子化区間を決定するためのトランケート数が前記トランケート数取得手段で算出されないときに、当該周波数変換係数と別のコンポーネントの周波数変換係数に関し算出されたトランケート数を推定トランケート数として用いることを特徴とする請求項1に記載の画像処理装置。
  9. 前記量子化区間決定手段は、周波数変換係数の補正前の値が含まれる量子化区間を決定するためのトランケート数が前記トランケート数取得手段で算出されないときに、複数の推定方法を所定の順番で順に試みることにより、当該周波数係数に関するトランケート数を推定することを特徴とする請求項1に記載の画像処理装置。
  10. JPEG2000の符号データを復号し、復号過程でウェーブレット係数の補正を行う画像処理装置であって、
    ウェーブレット係数の補正後の値が、その補正前の値が含まれる量子化区間から外れたときに、当該補正後の値を当該量子化区間の端に修正するクリッピング処理を行うクリッピング処理手段と、
    前記クリッピング処理に必要な、ウェーブレット係数の補正前の値が含まれる量子化区間を決定する量子化区間決定手段と、
    前記量子化区間決定手段が量子化区間を決定するための情報として、符号が破棄されたビットプレーン数(以下、トランケート数)を符号データに基づいて算出するトランケート数取得手段とを有し、
    前記量子化区間決定手段は、ウェーブレット係数の補正前の値が含まれる量子化区間を決定するためのトランケート数が前記トランケート数取得手段で算出されないときに、他のウェーブレット係数に関し算出されたトランケート数から推定したトランケート数を用いて当該量子化区間を決定することを特徴とする画像処理装置。
  11. 復号過程でのウェーブレット係数の補正は、タイル境界歪みの抑制のためのタイル境界付近のハイパス係数に対する補正であることを特徴とする請求項10に記載の画像処理装置。
  12. 前記量子化区間決定手段は、ウェーブレット係数の補正前の値が含まれる量子化区間を決定するためのトランケート数が前記トランケート数取得手段で算出されないときに、当該ウェーブレット係数と同じサブバンド内の、当該ウェーブレット係数が属するコードブロックの近傍のコードブロックのウェーブレット係数に関し算出されたトランケート数を推定トランケート数として用いることを特徴とする請求項10又は11に記載の画像処理装置。
  13. 前記量子化区間決定手段は、ウェーブレット係数の補正前の値が含まれる量子化区間を決定するためのトランケート数が前記トランケート数取得手段で算出されないときに、当該ウェーブレット係数の属するサブバンドの近傍サブバンドのウェーブレット係数に関し算出されたトランケート数を推定トランケート数として用いることを特徴とする請求項10又は11に記載の画像処理装置。
  14. 前記量子化区間決定手段は、HHサブバンドのウェーブレット係数の補正前の値が含まれる量子化区間を決定するためのトランケート数が前記トランケート数取得手段で算出されないときに、LHサブバンドのウェーブレット係数に関し算出されたトランケート数を推定トランケート数として用いることを特徴とする請求項13に記載の画像処理装置。
  15. 前記量子化区間決定手段は、LHサブバンドのウェーブレット係数の補正前の値が含まれる量子化区間を決定するためのトランケート数が前記トランケート数取得手段で算出されないときに、HLサブバンドのウェーブレット係数に関し算出されたトランケート数を推定トランケート数として用いることを特徴とする請求項13に記載の画像処理装置。
  16. 前記量子化区間決定手段は、ウェーブレット係数の補正前の値が含まれる量子化区間を決定するためのトランケート数が前記トランケート数取得手段で算出されないときに、当該ウェーブレット係数の属する階層の近傍階層の、当該ウェーブレット係数の属するサブバンドと同種のサブバンドのウェーブレット係数に関し算出されたトランケート数を推定トランケート数として用いることを特徴とする請求項10又は11に記載の画像処理装置。
  17. 前記量子化区間決定手段は、HLサブバンドのウェーブレット係数の補正前の値が含まれる量子化区間を決定するためのトランケート数が前記トランケート数取得手段で算出されないときに、当該HLサブバンドが属する階層の上の階層のHHサブバンドのウェーブレット係数に関し算出されたトランケート数を推定トランケート数として用いることを特徴とする請求項10又は11に記載の画像処理装置。
  18. 前記量子化区間決定手段は、ウェーブレット係数の補正前の値が含まれる量子化区間を決定するためのトランケート数が前記トランケート数取得手段で算出されないときに、当該ウェーブレット係数と別のコンポーネントのウェーブレット係数に関し算出されたトランケート数を推定トランケート数として用いることを特徴とする請求項10又は11に記載の画像処理装置。
  19. 前記量子化区間決定手段は、CbもしくはUコンポーネントのウェーブレット係数の補正前の値が含まれる量子化区間を決定するためのトランケート数が前記トランケート数取得手段で算出されないときに、CrもしくはVコンポーネントのウェーブレット係数に関し算出されたトランケート数を推定トランケート数として用い、CrもしくはVコンポーネントのウェーブレット係数に関するトランケート数も算出されないならば、Yコンポーネントのウェーブレット係数に関し算出されたトランケート数を推定トランケート数として用いることを特徴とする請求項18に記載の画像処理装置。
  20. 画像の周波数変換係数がビットプレーン符号化された符号データであって、符号破棄が行われている可能性のある符号データを復号し、復号過程で周波数変換係数の補正を行う画像処理方法であって、
    周波数変換係数の補正後の値が、当該周波数変換係数の補正前の値が含まれる量子化区間から外れたときに、当該補正後の値を当該量子化区間の端に修正するクリッピング処理を行うクリッピング処理工程と、
    前記クリッピング処理に必要な、周波数変換係数の補正前の値が含まれる量子化区間を決定する量子化区間決定工程と、
    前記量子化区間決定工程が量子化区間を決定するための情報として、符号が破棄されたビットプレーン数(以下、トランケート数)を符号データに基づいて算出するトランケート数取得工程とを有し、
    前記量子化区間決定工程は、周波数変換係数の補正前の値が含まれる量子化区間を決定するためのトランケート数が前記トランケート数取得工程で算出されないときに、他の周波数変換係数に関し算出されたトランケート数から推定したトランケート数を用いて当該量子化区間を決定することを特徴とする画像処理方法。
  21. 請求項1乃至19のいずれか1項に記載の画像処理装置の少なくともクリッピング処理手段、量子化区間決定手段及びトランケート数取得手段としてコンピュータを機能させるプログラム。
  22. 請求項21に記載のプログラムが記録されたコンピュータが読み取り可能な情報記録媒体。
JP2004127062A 2004-04-22 2004-04-22 画像処理装置、画像処理方法、プログラム及び情報記録媒体 Expired - Fee Related JP4111448B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004127062A JP4111448B2 (ja) 2004-04-22 2004-04-22 画像処理装置、画像処理方法、プログラム及び情報記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004127062A JP4111448B2 (ja) 2004-04-22 2004-04-22 画像処理装置、画像処理方法、プログラム及び情報記録媒体

Publications (2)

Publication Number Publication Date
JP2005311785A JP2005311785A (ja) 2005-11-04
JP4111448B2 true JP4111448B2 (ja) 2008-07-02

Family

ID=35440026

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004127062A Expired - Fee Related JP4111448B2 (ja) 2004-04-22 2004-04-22 画像処理装置、画像処理方法、プログラム及び情報記録媒体

Country Status (1)

Country Link
JP (1) JP4111448B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4663489B2 (ja) * 2005-11-16 2011-04-06 株式会社リコー 画像処理装置、デタイル方法、プログラム及び情報記録媒体
JP4730552B2 (ja) * 2006-07-14 2011-07-20 富士ゼロックス株式会社 復号化装置及びそのプログラム
CN114079771B (zh) * 2020-08-14 2023-03-28 华为技术有限公司 基于小波变换的图像编解码方法及装置

Also Published As

Publication number Publication date
JP2005311785A (ja) 2005-11-04

Similar Documents

Publication Publication Date Title
JP4254017B2 (ja) 画像符号化装置及び方法
JP4889248B2 (ja) 方向予測及びリフテイング・ウェーブレットの組合せを使用して画像を符号化するシステムおよび方法
JP4444790B2 (ja) 画像圧縮方法、画像圧縮装置、画像圧縮システム、プログラム
JP3948619B2 (ja) 画像圧縮装置、画像圧縮方法、プログラム及び記録媒体
JP4111448B2 (ja) 画像処理装置、画像処理方法、プログラム及び情報記録媒体
JP4266195B2 (ja) 画像処理装置、画像処理方法、プログラム及び情報記録媒体
JP4379869B2 (ja) 動画像処理装置、プログラム及び情報記録媒体
JP4753297B2 (ja) 画像処理装置、デタイル処理方法、プログラム及び情報記録媒体
JP4663489B2 (ja) 画像処理装置、デタイル方法、プログラム及び情報記録媒体
JP4111447B2 (ja) 画像処理装置、画像処理方法、プログラム及び情報記録媒体
JP4107660B2 (ja) 画像処理装置、画像処理方法、プログラム及び情報記録媒体
JP4636547B2 (ja) 符号化装置、プログラム及び情報記録媒体
JP4859014B2 (ja) 画像処理装置、画像処理方法、プログラム及び情報記録媒体
JP4219302B2 (ja) 画像処理装置、画像処理方法、プログラム及び情報記録媒体
JP4219303B2 (ja) 符号化装置、符号化制御方法、プログラム及び記録媒体
JP4117886B2 (ja) 画像処理装置、画像処理方法、プログラム及び情報記録媒体
JP4743604B2 (ja) 画像処理装置、画像処理方法、プログラム及び情報記録媒体
JP4114144B2 (ja) 画像符号化装置、画像符号化プログラム、及び画像復号化プログラム
JP2005020240A (ja) 画像復号装置、プログラム、記憶媒体及び画像復号方法
KR101574391B1 (ko) 영상 부호화 방법 및 그 장치
JP5412901B2 (ja) 復号化装置、画像処理装置、復号化方法及びプログラム
JPH05276499A (ja) 符号化装置及び符号化方法
JP2004104336A (ja) 画像変換符号化装置および変換画像復号装置ならびに画像処理装置
Vargic et al. An Adaptation of shape adaptive wavelet transform for image coding
KR100740501B1 (ko) 차별적 임계값을 이용한 웨이블릿 영상의 부호화 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060721

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080311

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: 20080402

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080404

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110418

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120418

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130418

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140418

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees