(57)【要約】【課題】JPEG2000の符号データを伸長する画像処理装置において、ウェーブレット係数空間上での効率的な処理によってタイル境界歪みを除去する。【解決手段】復号されたウェーブレット係数は、逆ウェーブレット変換部２０３により最上位階層より２次元逆ウェーブレット変換される。デタイル処理部２２０は、少なくとも１の階層のウェーブレット係数に対し、その２次元逆ウェーブレット変換に先立って、水平方向タイル境界付近の特定の係数及び垂直方向タイル境界付近の特定の係数に対するデタイル処理（係数補正及びその補正値のクリッピング処理）を行う。このデタイル処理の内部では、順ウェーブレット変換も逆ウェーブレット変換も行われない。【選択図】図２０
2006086883.tif 000002
【特許請求の範囲】
【請求項１】
画像が重複しないタイルに分割され、タイル単位でＮ階層（ただしＮは１以上の整数）の２次元周波数変換処理が行われることにより生成されたＮ階層の周波数変換係数を処理する画像処理装置であって、
前記周波数変換係数に対し２次元逆周波数変換処理を行う逆周波数変換手段と、
前記逆周波数変換手段による各階層の２次元逆周波数変換処理に先だって、少なくとも１の階層の周波数変換係数に対し、前記２次元周波数変換処理の際のミラリングの影響を除去するためのデタイル処理を施すデタイル処理手段とを有し、
前記デタイル処理手段は、前記少なくとも１の階層の周波数変換係数に対する前記デタイル処理において、当該階層の周波数変換係数に対し、周波数変換処理及び逆周波数変換処理を施すことなく、水平方向のタイル境界付近に位置する特定の係数の補正処理及びその補正値のクリッピング処理、並びに、垂直方向のタイル境界付近に位置する特定の係数の補正処理及びその補正値のクリッピング処理を行うことを特徴とする画像処理装置。
【請求項２】
前記周波数変換処理はウェーブレット変換処理であることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
画像が重複しないタイルに分割され、タイル単位でＮ階層（ただしＮは１以上の整数）の２次元周波数変換処理が行われ、そのＮ階層の周波数変換係数が符号化された符号データを処理する画像処理装置であって、
前記符号データより周波数変換係数を復号する手段と、
前記手段により復号された周波数変換係数に対し２次元逆周波数変換処理を行う逆周波数変換手段と、
前記逆周波数変換手段による各階層の２次元逆周波数変換処理に先だって、少なくとも１の階層の周波数変換係数に対し、前記２次元周波数変換処理の際のミラリングの影響を除去するためのデタイル処理を施すデタイル処理手段とを有し、
前記デタイル処理手段は、前記少なくとも１の階層の周波数変換係数に対する前記デタイル処理において、当該階層の周波数変換係数に対し、周波数変換処理及び逆周波数変換処理を施すことなく、水平方向のタイル境界付近に位置する特定の係数の補正処理及びその補正値のクリッピング処理、並びに、垂直方向のタイル境界付近に位置する特定の係数の補正処理及びその補正値のクリッピング処理を行うことを特徴とする画像処理装置。
【請求項４】
前記周波数変換処理はウェーブレット変換処理であることを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記符号データはＪＰＥＧ２０００による符号データであることを特徴とする請求項３に記載の画像処理装置。
【請求項６】
前記符号データから、符号が破棄されたビットプレーン数（以下、トランケート数）を取得するトランケート数取得手段と、
前記トランケート数取得手段により取得されたトランケート数に基づいてウェーブレット係数の量子化区間を決定する量子化区間決定手段とをさらに有し、
前記デタイル処理手段は前記量子化区間決定手段により決定された量子化区間を前記クリッピング処理に用いることを特徴とする請求項５に記載の画像処理装置。
【請求項７】
画像が重複しないタイルに分割され、タイル単位でＮ階層（ただしＮは１以上の整数）の２次元ウェーブレット変換処理が行われることにより生成されたＮ階層のウェーブレット係数を処理する画像処理方法であって、
前記ウェーブレット係数に対し２次元逆ウェーブレット変換処理を行う逆ウェーブレット変換工程と、
前記逆ウェーブレット変換工程による各階層の２次元逆ウェーブレット変換処理に先だって、少なくとも１の階層のウェーブレット係数に対し、前記２次元ウェーブレット変換処理の際のミラリングの影響を除去するためのデタイル処理を施すデタイル処理工程とを有し、
前記デタイル処理工程は、前記少なくとも１の階層のウェーブレット係数に対する前記デタイル処理において、当該階層のウェーブレット係数に対し、ウェーブレット変換処理及び逆ウェーブレット変換処理を施すことなく、水平方向のタイル境界付近に位置する特定の係数の補正処理及びその補正値のクリッピング処理、並びに、垂直方向のタイル境界付近に位置する特定の係数の補正処理及びその補正値のクリッピング処理を行うことを特徴とする画像処理方法。
【請求項８】
画像が重複しないタイルに分割され、タイル単位でＮ階層（ただしＮは１以上の整数）の２次元ウェーブレット変換処理が行われ、そのＮ階層のウェーブレット係数が符号化された符号データを処理する画像処理方法であって、
前記符号データよりウェーブレット係数を復号する工程と、
前記工程により復号されたウェーブレット係数に対し、２次元逆ウェーブレット変換処理を行う逆ウェーブレット変換処理工程と、
前記逆ウェーブレット変換処理工程による各階層の２次元逆ウェーブレット変換処理に先だって、少なくとも１の階層のウェーブレット係数に対し、前記２次元ウェーブレット変換処理の際のミラリングの影響を除去するためのデタイル処理を施すデタイル処理工程を有し、
前記デタイル処理工程は、前記少なくとも１の階層のウェーブレット係数に対する前記デタイル処理において、当該階層のウェーブレット係数に対し、ウェーブレット変換処理及び逆ウェーブレット変換処理を施すことなく、水平方向のタイル境界付近に位置する特定の係数の補正処理及びその補正値のクリッピング処理、並びに、垂直方向のタイル境界付近に位置する特定の係数の補正処理及びその補正値のクリッピング処理を行うことを特徴とする画像処理方法。
【請求項９】
前記符号データはＪＰＥＧ２０００による符号データであることを特徴とする請求項８に記載の画像処理方法。
【請求項１０】
請求項１乃至６のいずれか１項に記載の画像処理装置の各手段としてコンピュータを機能させるプログラム。
【請求項１１】
請求項１乃至６のいずれか１項に記載の画像処理装置の各手段としてコンピュータを機能させるプログラムが記録された、コンピュータが読み取り可能な情報記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理の分野に係り、より詳細には、画像を重複しないタイルに分割し、タイル単位で２次元周波数変換した際のミラリングの影響により発生するタイル境界歪みの除去（デタイル）を行う画像処理装置及び方法に関する。
【背景技術】
【０００２】
近年、画像入出力技術の進歩により、画像に対する高精細化の流れはとどまるところを知らず、高精細画像を容易に圧縮・伸長できる技術への要求も強いものがある。
【０００３】
こうした要求を満たす圧縮・伸長方式の一つとして、高精細画像を小さい単位に分割して処理でき、高圧縮率でも高画質な画像を復号可能なJPEG2000がある。
【０００４】
JPEG2000においては、画像を重複しない矩形のブロック(タイル)に分割することにより、少ないメモリ環境下で圧縮伸張処理を行うことが可能である。すなわち、個々のタイルが圧縮伸長プロセスを実行する際の基本単位となり、圧縮伸長動作はタイル毎に独立に行うことができる。
【０００５】
このような分割処理はタイリングと呼ばれ、省メモリ化・処理高速化に有効な手法であるが、圧縮率の高い条件で圧縮を行った場合、その伸張画像においてタイルの境界が不連続になるタイル境界歪みが生じるという問題がある。
【０００６】
このタイル境界歪みは、見かけ上、離散コサイン変換（ＤＣＴ）におけるブロック歪みに類似したものである。このＤＣＴのブロック歪みの除去に関しては、
（１）ブロック分割された画像のＤＣＴ成分からブロック境界を抽出し、ブロック境界に垂直な一次元ローパスフィルタをかける方法（特許文献１参照）、
（２）ブロック境界の方向とエッジの方向との関係からブロック歪みの有無を判定し、ブロック歪みがある画素に対してローパスフィルタをかける方法（特許文献２参照）、
（３）ブロック歪みを検出し、検出されたブロック歪みに対しローパスフィルタをかける方法（特許文献３参照）、などが知られている。
【０００７】
これらはいずれも、ブロック境界の方向とエッジ度に応じて画素値に適応的なローパスフィルタをかけることにより、ブロック境界の歪みは平滑化しつつブロック境界に位置する真のエッジへの平滑化は避けることを意図している。しかし、こうした手法は、それがいかに適応的であっても、「歪み自体の平滑化(予定した作用)」と「真のエッジの平滑化(予定しない副作用)」のトレードオフにさいなまれることになる。
【０００８】
これに鑑み、本出願人は、JPEG2000のようなウェーブレット変換を用いる圧縮伸長システムにおいて、隣接するタイルのローパス係数とハイパス係数を利用して、ウェーブレット変換時のミラリングの影響を受けたタイル境界付近のハイパス係数の補正処理を行う、タイル境界歪み除去（デタイル）方法を提案している（特許文献４参照）。
【０００９】
【特許文献１】特開平05-316361号公報
【特許文献２】特許第2839987号公報
【特許文献３】特開平09-307855号公報
【特許文献４】特開2001−257596号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
前記特許文献４に記載のデタイル方法は、ウェーブレット係数空間での画像復元に類する手法であり良好なタイル境界歪み除去を達成可能であるが、処理時間の短縮が課題である。
【００１１】
JPEG2000では、タイル単位で２次元のウェーブレット変換を行う。この２次元のウェーブレット変換では、まず垂直方向にウェーブレット変換を行い、その結果に対し水平方向にウェーブレット変換を行う。通常、この２次元ウェーブレット変換は階層的に行われる。すなわち、１回目の２次元ウェーブレット変換により生成されたＬＬサブバンド係数に対し２次元ウェーブレット変換を適用し、そのＬＬサブバンドに対し２次元ウェーブレット変換を適用するという操作を必要回数繰り返す。そして、各階層の垂直方向のウェーブレット変換時にタイル境界の下側のハイパス係数がミラリングの影響を受け、水平方向のウェーブレット変換時にタイル境界の右側のハイパス係数がミラリングの影響を受けることになる。
【００１２】
したがって、JPEG2000の符号データの伸長システムにおいて、前記特許文献４の教えるウェーブレット係数空間上でのデタイル処理を、ウェーブレット変換の手順を逆に辿りながら忠実に行おうとすると、次のような処理手順となる（処理手順については発明を実施するための最良の形態の欄でより具体的に説明する）。
【００１３】
まず、符号データより復号されたウェーブレット係数のうちの最上位階層のウェーブレット係数に対し、水平方向のタイル境界付近のハイパス係数を補正する処理が行われる。この補正後の係数値が元の量子化区間から外れた場合に係数値を量子化区間の近い側の端に修正するためのクリッピング処理が行われる。次に、最上位階層のウェーブレット係数に対し水平方向の逆ウェーブレット変換が行われ、その結果に対し垂直方向のタイル境界付近のハイパス係数を補正する処理が行われる。この補正後の係数値に対するクリッピング処理は、ウェーブレット係数に対し水平方向のウェーブレット変換（順変換）を行って最上位階層のウェーブレット係数に戻してから実行される。これは、水平方向逆ウェーブレット変換後の中間的なウェーブレット係数に対する量子化区間が定まらないためである。
【００１４】
このようにして、符号化時の２次元ウェーブレット変換と丁度逆の手順を辿ってデタイル処理された最上位階層のウェーブレット係数に対し２次元逆ウェーブレット変換を行った後、次位階層のウェーブレット係数に対し同様のデタイル処理を行うことになる。
【００１５】
このように、各階層のデタイル処理で水平方向の逆ウェーブレット変換と順ウェーブレット変換が行われ、これが処理時間の増加要因となり、階層数が多い場合にはデタイルのために長い処理時間を要してしまう。
【００１６】
よって、本発明の目的は、タイル単位の２次元ウェーブレット変換の際のミラリングの影響によるタイル境界歪みの除去を、ウェーブレット係数空間上で、より少ない処理時間で効率的に行うことができ、また、その処理のためのハードウェアやソフトウェアを単純化することができる新規な画像処理装置及び方法を提供することである。
【００１７】
ここまでは、ウェーブレット変換の場合について説明したが、本発明は、ウェーブレット変換以外の周波数変換を用いる場合にも適用し得るものである。
【００１８】
よって、本発明のより一般的な目的は、タイル（重複しない矩形ブロック）単位の２次元周波数変換の際のミラリングの影響によるタイル境界歪みの除去を、周波数変換係数空間上で、少ない処理時間で効率的に行うことができ、また、その処理のためのハードウェアやソフトウェアを単純化することができる新規な画像処理装置及び方法を提供することである。
【課題を解決するための手段】
【００１９】
請求項１記載の発明は、画像が重複しないタイルに分割され、タイル単位でＮ階層（ただしＮは１以上の整数）の２次元周波数変換処理が行われることにより生成されたＮ階層の周波数変換係数を処理する画像処理装置であって、
前記周波数変換係数に対し２次元逆周波数変換処理を行う逆周波数変換手段と、
前記逆周波数変換手段による各階層の２次元逆周波数変換処理に先だって、少なくとも１の階層の周波数変換係数に対し、前記２次元周波数変換処理の際のミラリングの影響を除去するためのデタイル処理を施すデタイル処理手段とを有し、
前記デタイル処理手段は、前記少なくとも１の階層の周波数変換係数に対する前記デタイル処理において、当該階層の周波数変換係数に対し、周波数変換処理及び逆周波数変換処理を施すことなく、水平方向のタイル境界付近に位置する特定の係数の補正処理及びその補正値のクリッピング処理、並びに、垂直方向のタイル境界付近に位置する特定の係数の補正処理及びその補正値のクリッピング処理を行うことを特徴とする画像処理装置である。
【００２０】
請求項２記載の発明は、前記周波数変換処理はウェーブレット変換処理であることを特徴とする請求項１記載の発明の画像処理装置である。
【００２１】
請求項３記載の発明は、画像が重複しないタイルに分割され、タイル単位でＮ階層（ただしＮは１以上の整数）の２次元周波数変換処理が行われ、そのＮ階層の周波数変換係数が符号化された符号データを処理する画像処理装置であって、
前記符号データより周波数変換係数を復号する手段と、
前記手段により復号された周波数変換係数に対し２次元逆周波数変換処理を行う逆周波数変換手段と、
前記逆周波数変換手段による各階層の２次元逆周波数変換処理に先だって、少なくとも１の階層の周波数変換係数に対し、前記２次元周波数変換処理の際のミラリングの影響を除去するためのデタイル処理を施すデタイル処理手段とを有し、
前記デタイル処理手段は、前記少なくとも１の階層の周波数変換係数に対する前記デタイル処理において、当該階層の周波数変換係数に対し、周波数変換処理及び逆周波数変換処理を施すことなく、水平方向のタイル境界付近に位置する特定の係数の補正処理及びその補正値のクリッピング処理、並びに、垂直方向のタイル境界付近に位置する特定の係数の補正処理及びその補正値のクリッピング処理を行うことを特徴とする画像処理装置である。
【００２２】
請求項４記載の発明は、前記周波数変換処理はウェーブレット変換処理であることを特徴とする請求項３記載の発明の画像処理装置である。
【００２３】
請求項５記載の発明は、前記符号データはＪＰＥＧ２０００による符号データであることを特徴とする請求項３記載の発明の画像処理装置である。
【００２４】
請求項６記載の発明は、前記符号データから、符号が破棄されたビットプレーン数（以下、トランケート数）を取得するトランケート数取得手段と、
前記トランケート数取得手段により取得されたトランケート数に基づいてウェーブレット係数の量子化区間を決定する量子化区間決定手段とをさらに有し、
前記デタイル処理手段は前記量子化区間決定手段により決定された量子化区間を前記クリッピング処理に用いることを特徴とする請求項５記載の発明の画像処理装置である。
【００２５】
請求項７記載の発明は、画像が重複しないタイルに分割され、タイル単位でＮ階層（ただしＮは１以上の整数）の２次元ウェーブレット変換処理が行われることにより生成されたＮ階層のウェーブレット係数を処理する画像処理方法であって、
前記ウェーブレット係数に対し２次元逆ウェーブレット変換処理を行う逆ウェーブレット変換工程と、
前記逆ウェーブレット変換工程による各階層の２次元逆ウェーブレット変換処理に先だって、少なくとも１の階層のウェーブレット係数に対し、前記２次元ウェーブレット変換処理の際のミラリングの影響を除去するためのデタイル処理を施すデタイル処理工程とを有し、
前記デタイル処理工程は、前記少なくとも１の階層のウェーブレット係数に対する前記デタイル処理において、当該階層のウェーブレット係数に対し、ウェーブレット変換処理及び逆ウェーブレット変換処理を施すことなく、水平方向のタイル境界付近に位置する特定の係数の補正処理及びその補正値のクリッピング処理、並びに、垂直方向のタイル境界付近に位置する特定の係数の補正処理及びその補正値のクリッピング処理を行うことを特徴とする画像処理方法である。
【００２６】
請求項８記載の発明は、画像が重複しないタイルに分割され、タイル単位でＮ階層（ただしＮは１以上の整数）の２次元ウェーブレット変換処理が行われ、そのＮ階層のウェーブレット係数が符号化された符号データを処理する画像処理方法であって、
前記符号データよりウェーブレット係数を復号する工程と、
前記工程により復号されたウェーブレット係数に対し、２次元逆ウェーブレット変換処理を行う逆ウェーブレット変換処理工程と、
前記逆ウェーブレット変換処理工程による各階層の２次元逆ウェーブレット変換処理に先だって、少なくとも１の階層のウェーブレット係数に対し、前記２次元ウェーブレット変換処理の際のミラリングの影響を除去するためのデタイル処理を施すデタイル処理工程を有し、
前記デタイル処理工程は、前記少なくとも１の階層のウェーブレット係数に対する前記デタイル処理において、当該階層のウェーブレット係数に対し、ウェーブレット変換処理及び逆ウェーブレット変換処理を施すことなく、水平方向のタイル境界付近に位置する特定の係数の補正処理及びその補正値のクリッピング処理、並びに、垂直方向のタイル境界付近に位置する特定の係数の補正処理及びその補正値のクリッピング処理を行うことを特徴とする画像処理方法である。
【００２７】
請求項９記載の発明は、前記符号データはＪＰＥＧ２０００による符号データであることを特徴とする請求項８記載の発明の画像処理方法である。
【００２８】
請求項１０記載の発明は、請求項１乃至６のいずれか１項記載の発明の画像処理装置の各手段としてコンピュータを機能させるプログラムである。
【００２９】
請求項１１記載の発明は、請求項１乃至６のいずれか１項記載の発明の画像処理装置の各手段としてコンピュータを機能させるプログラムが記録された、コンピュータが読み取り可能な情報記録媒体である。
【発明の効果】
【００３０】
請求項１乃至９に係る発明によれば、デタイル処理に順、逆周波数変換が含まれないため、それがデタイル処理に含まれる場合に比べデタイル処理をより効率的に少ない時間で実行することができ、しかも、順，逆周波数変換がデタイル処理に含まれる方式と同等のデタイル効果を達成できる。また、水平方向のデタイル処理と垂直方向のデタイル処理とが全く同一の処理となるため、デタイル処理を実行するためのハードウェア又はソフトウェアを単純化することができる。請求項６に係る発明によれば、JPEG2000の符号データにポスト量子化が行われている場合であっても、デタイル処理における係数補正値に対するクリッピング処理を適切に行うことができる。請求項１０，１１に係る発明によれば、コンピュータを利用し請求項１乃至６に係る発明を容易に実施することができる、等々の効果を得られるものである。
【発明を実施するための最良の形態】
【００３１】
まず、JPEG2000の圧縮・伸長アルゴリズムの概要を説明する。図１はJPEG2000の圧縮・伸長アルゴリズムを説明するためのブロック図である。
【００３２】
まず圧縮処理について説明する。画像は重複しないタイルに分割され、タイル毎に処理される。各タイルの画像はＤＣレベルシフト・逆シフト部１００によりＤＣレベルシフトを施され、次に色空間変換・逆変換部１０１により例えばＲＧＢ色空間からＹＣｒＣｂ（もしくはＹＵＶ）色空間へ変換される。この色空間変換後のタイルの各コンポーネント画像に対し、２次元ウェーブレット変換・逆変換部１０２により２次元ウェーブレット変換処理が行われる。JPEG2000では、ウェーブレット変換として可逆の５×３変換又は非可逆の９×７変換が用いられる。９×７変換が用いられる場合には、ウェーブレット係数は量子化・逆量子化部１０３でサブバンド毎に線形量子化を施される。次に、エントロピー符号化・復号化部１０４で、ウェーブレット係数はサブバンド毎にビットプレーン単位でのエントロピー符号化が行われる（より正確には各ビットプレーンは３つのサブビットプレーンに分割されて符号化される）。この際、量子化・逆量子化部１０３で、符号化対象ビットの周辺ビットの並びからコンテキストが生成され、これがエントロピー符号化・復号化部１０４に与えられる。そして、タグ処理部１０５において、必要なエントロピー符号をまとめてパケットが生成され、パケットが所要の順序に従って並べられとともに必要なタグ及びタグ情報が付加されることにより、１本のコードストリーム（JPEG2000の符号データ）が形成される。
【００３３】
エントロピー符号化及び符号形成について、図２〜図４によりさらに説明する。図２は画像、タイル、サブバンド、プリシンクト、コードブロックの関係を模式的に表した説明図である。タイル分割数＝１の場合、画像とタイルは一致する。プリシンクトとは、サブバンドを（ユーザが指定可能なサイズの）矩形に分割した単位で、大まかには画像中の場所（Position）を表すものであり、インプリメンテーションでメモリを効率的に使うために導入されたものである。プリシンクトは、ＨＬ，ＬＨ，ＨＨの３つのサブバンドにおいて空間的に一致している。つまり、プリシンクトは３つで１つのまとまりを成すものである。ただし、ＬＬサブバンドを分割したプリシンクトは１つで１つのまとまりを成す。このようなプリシンクトは、サブバンドと同じサイズにすることも可能である。プリシンクトを分割した（ユーザが指定可能なサイズの）矩形がコードブロックであり、エントロピー符号化の基本単位となる。
【００３４】
プリシンクトに含まれる全てのコードブロックから、符号の一部を取り出して集めたもの（例えば、全てのコードブロックの最上位ビットから３枚目までのビットプレーンの符号を集めたもの）がパケットである。パケットは符号とヘッダ（パケットヘッダ）からなる。全てのプリシンクト（すなわち、全てのコードブロック、全てのサブバンド）のパケットを集めると、画像全域の符号の一部（例えば、画像全域のウェーブレット係数の最上位ビットから３枚目までのビットプレーンの符号）ができるが、これをレイヤとよぶ。レイヤは、大まかには画像全体のビットプレーンの符号の一部であるから、復号されるレイヤ数が増えれば画質は上がる。レイヤはいわば画質の単位である。
【００３５】
２次元ウェーブレット変換の階層数（デコンポジションレベル数）＝２、プリシンクトサイズ＝サブバンドサイズ、としたときのレイヤの例を図３に、レイヤに含まれるパケットの例を図４に示す。図３に示したレイヤＮｏ．９に含まれるような下位ビットプレーンの符号は、符号形成段階で破棄（トランケート）されるのが通常である。
【００３６】
JPEG2000の符号データの伸長処理は圧縮処理と丁度逆の処理となる。すなわち、タグ処理部１０５において、符号データに付加されたタグ情報を解釈することにより、符号データは各コンポーネントの各タイルのコードストリームに分解され、また、各コンポーネント内のタグ情報に基づいた順番で復号化の対象ビットの位置が定められる。量子化・逆量子化部１０４で、その対象ビット位置の周辺ビット(既に復号化を終えている)の並びからコンテキストが生成される。このコンテキストとコードストリームからエントロピー符号化・復号化部１０４で確率推定によってエントロピー復号化が行われて対象ビットが生成され、これが対象ビットの位置に書き込まれる。このようにして復号されたウェーブレット係数に対し（９×７ウェーブレット変換が用いられる場合には量子化・逆量子化部１０３で逆量子化を施された後）、２次元ウェーブレット変換・逆変換部１０２で２次元逆ウェーブレット変換処理が行われることにより、各タイルの各コンポーネントの画像データが生成され、これは色空間逆変換・逆変換部１０１で元の色空間へ戻され、さらにＤＣレベルシフト・逆シフト部１００で逆ＤＣレベルシフトを施される。
【００３７】
次に、JPEG2000における２次元ウェーブレット変換（順変換）について説明する。図５〜図１０は、16×16画素のモノクロ画像に対して、５x３変換と呼ばれるウェーブレット変換を２次元に(垂直方向および水平方向の順)施す過程の説明図である。
【００３８】
まず垂直方向にウェーブレット変換を施す。図５の様にＸＹ座標をとり、あるｘについて、Ｙ座標がｙである画素の画素値をP（y）（0≦ｙ≦15）と表す。JPEG2000では、まず垂直方向（Ｙ座標方向）に、Ｙ座標が奇数（y=2i+1）の画素を中心にハイパスフィルタを施して係数C(2i+1)を得た後、Ｙ座標が偶数（y=2i）の画素を中心にローパスフィルタを施して係数C(2i)を得る(これを全てのｘについて行う)。ここで、ハイパスフィルタは式（１）、ローパスフィルタは式（２）で表される。式中の記号|_ｘ_|は、ｘのフロア関数（実数ｘを、ｘを越えず、かつ、ｘに最も近い整数に置換する関数）を示している。
【００３９】
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)
【００４０】
画像の端部又はタイルの境界部においては、中心となる画素に対して隣接画素群又は隣接係数群が存在しないことがある。この場合、図１０に示した「ミラリング」と呼ばれる手法によって画素値又は係数値を補うことになる。ミラリングは、文字通り、画像の端又はタイル境界を中心として画素値又は係数値を線対称に折り返し、折り返した値を隣接画素群又は係数群の値とみなす処理である。
【００４１】
ここで、簡単のため、ハイパスフィルタで得られる係数をＨ、ローパスフィルタで得られる係数をＬと表記すれば、前記垂直方向の変換によって図５の画像は図６のようなＬ係数とＨ係数の配列へと変換される。
【００４２】
続いて、図６の係数配列に対して、水平方向にウェーブレット変換を施す。すなわち、水平方向に、Ｘ座標が奇数（x=2i+1）の係数を中心にハイパスフィルタを施し、次にＸ座標が偶数（ｘ=2i）の係数を中心にローパスフィルタを施す(これを全てのｙについて行う。この場合、式（１），式（２）のP(2i)等は係数値を表すものと読み替える）。
【００４３】
簡単のため、
前記Ｌ係数を中心にローパスフィルタを施して得られる係数をLL、
前記Ｌ係数を中心にハイパスフィルタを施して得られる係数をHL、
前記Ｈ係数を中心にローパスフィルタを施して得られる係数をLH、
前記Ｈ係数を中心にハイパスフィルタを施して得られる係数をHH、
と表記すれば、図６の係数配列は図７の様な係数配列へと変換される。ここで、同一の記号を付した係数群はサブバンドと呼ばれる。図７の係数配列は４つのサブバンドの係数からなる。
【００４４】
以上で、１回の２次元ウェーブレット変換（１回のデコンポジション（分解））が終了し、LL係数だけを集めると（図８の様に係数をサブバンド毎に集め、LLサブバンドだけ取り出すと）、ちょうど原画像の１/２の解像度の“画像”が得られる（このように、サブバンド毎に係数を分類することをデインターリーブと呼び、これに対し図７のような状態に係数を配置することをインターリーブと呼ぶ）。
【００４５】
２回目のウェーブレット変換は、LLサブバンドを原画像と見なして、上に述べたと同様に行われる。そして得られたサブバンド係数をデインターリーブすると、図９に示す様な係数配列となる。これで２階層の２次元ウェーブレット変換が行われたことになる。
【００４６】
なお、図８、図９中の係数の接頭の１や２は、その係数が何回のウェーブレット変換で得られたかを示し、デコンポジションレベルと呼ばれる。図９の例では、デコンポジションレベル２の各サブバンド係数が最上位階層のウェーブレット係数である。
【００４７】
以上は順変換であるが、２次元逆ウェーブレット変換処理は順変換と丁度逆の処理となる。図７の様なインターリーブされた係数の配列に対して、まず順変換時とは逆に水平方向に逆ウェーブレット変換が施される。すなわち、水平方向に、Ｘ座標が偶数（ｘ=2i）の係数を中心に逆ローパスフィルタを施し、次にＸ座標が奇数（ｘ=2i+1）の係数を中心に逆ハイパスフィルタを施す（これを全てのｙについて行う）。ここで、逆ローパスフィルタは式（３）で、逆ハイパスフィルタは式（４）で表される。この際も、画像の端部又はタイル境界部においては中心となる係数に対して隣接係数群が存在しないことがあり、この場合も図１０のミラリングによって適宜係数値を補うことになる。
【００４８】
P(2i)=C(2i)−|_(C(2i-1)+C(2i+1)+2)/4_|              式(３)
P(2i+1)=C(2i+1)＋|_(P(2i)+P(2i+2))/2_|              式(４)
【００４９】
このようにして図７の係数配列は図６のような係数配列に変換（逆変換）される。続いて、垂直方向に逆ウェーブレット変換が施される。すなわち、垂直方向に、Ｙ座標が偶数（y=2i）の係数を中心に逆ローパスフィルタを施し、次にＹ座標が奇数（y=2i+1）の係数を中心に逆ハイパスフィルタを施せば（これを全てのｘについて行う）、１回の２次元ウェーブレット逆変換が終了し、図５の画像に戻る(再構成される)ことになる。複数階層の２次元ウェーブレット変換が施されている場合は、図５をLLサブバンドとみなし、HL等の他のサブバンド係数を利用して同様の逆変換を繰り返すことになる。
【００５０】
次に、前記特許文献４の発明に沿ったウェーブレット係数空間でのデタイル処理について説明する。前記特許文献４の発明では、
（１）タイル境界が生じるのは圧縮率が高い場合であり、タイリングの有無に関わらず、全てのハイパス係数は０に量子化される、
（２）タイリングした場合のローパス係数はタイリングしない場合のローパス係数に等しい、
という２つの近似を採用し、
「(０に量子化されたが)補正されたハイパス係数を用いて逆ウェーブレット変換をした場合の、タイル境界の画素値＝ハイパス係数が０の場合の、タイリングをせずに逆ウェーブレット変換をした場合の同じ位置の画素値」」
という式から、ハイパス係数の補正値を算出している（０に量子化されたハイパス係数に対し、０でない補正値を算出する過程は画像復元である）。
【００５１】
このような係数補正のための補正式を、５×３変換を例に説明する。前述のように、５x３変換と呼ばれるウェーブレット変換の逆変換の場合、L,H,L,Hの順にインターリーブした係数列に対し、
偶数位置中心に逆ローパスフィルタを、
奇数位置中心に逆ハイパスフィルタを、
をかける。
【００５２】
前記式（１）〜（４）のフロア関数を省略して展開すれば明らかなように、順変換と逆変換とではフィルタのタップ数は逆転し、またフィルタ係数もインターリーブされる。このため、順変換のフィルタ係数が
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
となる（ここでは、フロア関数部分を考慮せずにフィルタ係数を表現している）。
【００５３】
「タイリングしない場合で、かつ、ハイパス係数が全て０のとき(近似１)」、インターリーブされた係数列
L1  H1  L2  H2  L3  H3
において、H2位置中心に逆ハイパスフィルタをかけた値は以下の通りである。
【００５４】
-0.125H1+0.5L2+0.75H2+0.5L3-0.125H3=0.5L2+0.5L3‥‥式(i)
一方、上記係数が、２つのタイルに分割されてから算出されたものであり、タイル境界はH2とL3の間にあるとする。この場合、L1,H1,L2,H2は左側（又は上側）のタイルの係数、L3,H3は右側（又は下側）のタイルの係数になる。ここで、H2は順変換（３タップのハイパスフィルタ）時にミラリングの影響を受けており、補正の対象となる係数である。タイリングは、各タイル内の画素だけを用いてウェーブレット変換を行う処理、あるいは各タイル内の係数だけを用いて逆ウェーブレット変換を行う処理であるため、上記ミラリングによって左タイル（又は上タイル）の係数
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は右（下）タイルの係数を使用する(近似２)。
【００５７】
タイル境界に隣接するローパス係数（L3）に関しても同様な立式が可能であり、その結果、左側又は上側のタイル境界近傍のハイパス係数H３の補正式として
H3＝０‥‥式（iv）
を得ることができる。ただし、デコンポジションレベル１の場合、H3はミラリングの誤差を含まないため補正不要である（デコンポジションレベル２以上の場合は、H3に隣接するL3自体がデコンポジションレベル１でミラリングの影響を受けているため補正が必要である）。
【００５８】
９×７ウェーブレット変換の場合も同様な考え方で補正式を算出できる。すなわち、インターリーブされた係数列
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）
が得られる。ただし、９×７変換の場合には、デコンポジションレベル１でもH3係数を補正してよい。
【００５９】
２階層（デコンポジションレベル数＝２）の２次元ウェーブレット変換が行われたウェーブレット係数の場合を例に、前記特許文献４の教えるウェーブレット係数空間上でのデタイル処理をウェーブレット変換の手順を逆に辿りながら忠実に行うデタイル処理の手順について説明する。図１１はその処理手順のフローチャートであり、図１２乃至図１９は処理説明のための係数配列図である（便宜、４タイルとしている）。
【００６０】
図１２は最上位階層であるデコンポジションレベル２のインターリーブされた係数を示している。まず、この係数に対する水平方向の係数補正が行われる（ｓｔｅｐ１）。補正の対象となる係数は、図１３に示す列Ａの係数(2HL,2HH)と列Ｂの係数(2HL,2HH)である。列Ａの係数は上に論じたＨ２係数に対応し、列Ｂの係数は上に論じたＨ３係数に対応する。５×３変換の場合、列Ａの係数に対する補正式として式（iii）が、列Ｂの係数に対する補正式として式（iv）が用いられる。９ｘ７変換の場合には、列Ａの係数は式（v）により補正され、列Ｂの係数は式（vi）により補正される。そして、係数の補正値に対するクリッピング処理が行われる（ｓｔｅｐ３）。
【００６１】
次に、デコンポジションレベル２のウェーブレット係数に対し水平方向の逆ウェーブレット変換が行われる（ｓｔｅｐ４）。この水平方向の逆ウェーブレット変換により図１４に示すような係数配列となる。
【００６２】
この係数配列に対し、図１５に示す行Ｃの係数(2H)と行Ｄの係数(2H)を対象として係数補正が行われる（ｓｔｅｐ５）。行Ｃの係数は上に論じたＨ２係数に対応し、行Ｄの係数は上に論じたＨ３係数に対応する。５ｘ３変換の場合、行Ｃの係数は式（iii）で補正され、行Ｄの係数は式（iv）で補正される。９ｘ７変換の場合、行Ｃの係数は式（v）で補正され、行Ｄの係数は式（vi）で補正される。
【００６３】
この補正後に、水平方向のウェーブレット変換（順変換）が行われ、図１２に示すような係数の状態に戻される（ｓｔｅｐ６）。この順変換を行うのは、図１５に示すような中間状態の係数に対する量子化区間は定まらないからである。
【００６４】
次に、行Ｃ（図１５参照）に対応する係数（2LH,2HH）及び行Ｄ（図１５参照）に対応する係数（2LH,2HH）の補正値に対するクリッピング処理が行われる（ｓｔｅｐ８8）。
【００６５】
次に、デコンポジションレベル２の係数に対し、水平方向の逆ウェーブレット変換と垂直方向の逆ウェーブレット変換が順に行われる（ｓｔｅｐ９）。この逆変換により、図１６に示すデコンポジションレベル１の係数が得られる。
【００６６】
次に、図１７のようにインターリーブしたデコンポジションレベル１の係数に対し水平方向の係数補正が行われる（ｓｔｅｐ１０）。５×３変換の場合には、図１８に示す列Ｅの係数（HL,HH）を式（iii）で補正する（デコンポジションレベル１では、列Ｆの係数はミラリングの誤差を含まないため補正は不要である）。一方、９ｘ７変換の場合には、列Ｅの係数を式（v）で補正し、また、列Ｆの係数(HL,HH)を式（vi）で補正する。そして、補正された係数値のクリッピング処理が行われる（ｓｔｅｐ１２）。
【００６７】
次に、ウェーブレット変換部１０４で、水平方向の逆ウェーブレット変換が行われる（ｓｔｅｐ１３）。
【００６８】
この逆ウェーブレット変換後の係数に対し、垂直方向の係数補正が行われる（ｓｅｐ１４）。すなわち、５ｘ３変換の場合は図１９に示す行Ｇの係数を式（iii）で補正する。９ｘ７変換の場合、図１９に示す行Ｇの係数を式（v）で補正し、行Ｈの係数を式（vi）で補正する。
【００６９】
この補正後の係数に対し、水平方向のウェーブレット変換（順変換）が行われ（ｓｔｅｐ１５）、図１７に示す係数の状態に戻す。そして、行Ｇ，Ｈの係数（５×３変換の場合は行Ｇの係数のみ）に関しクリッピング処理が行われる（ｓｔｅｐ１７）。
【００７０】
最後に、水平方向の逆ウェーブレット変換、垂直方向の逆ウェーブレット変換が順に行われ（ｓｔｅｐ１８）、タイル境界歪みの除去された画像データが生成される。
【００７１】
以上の処理手順において、ｓｔｅｐ４，ｓｔｅｐ６，ｓｔｅｐ１３，ｓｔｅｐ１５のウェーブレット順／逆変換はデタイル処理のために必要となったものであり、これがデタイル処理時間短縮の大きな障碍となる。本発明によれば、このようなデタイル処理のためのウェーブレット順／逆変換が排除され、デタイル処理時間が大幅に短縮される。
【００７２】
以下、本発明の実施の形態について説明する。図２０は本発明の実施形態を説明するためのブロック図である。
【００７３】
この実施形態に係る画像処理装置は、JPEG2000の符号データを処理するもので、タグ処理部２０１、エントロピー復号化部２０２、逆量子化部２０３、逆ウェーブレット変換部２０４、色空間逆変換部２０５及びＤＣレベル逆シフト部２０６を備える。これら各部はJPEG2000のデコーダが一般的に備える手段であり、その作用は図１に関連して説明した通りである。
【００７４】
この画像処理装置は、ウェーブレット係数空間上でのデタイル処理を行う手段であるデタイル処理部２２０を備える。このデタイル処理部２２０には、タイル境界付近に位置する特定の係数に対する補正処理手段である係数補正処理部２２１と、この係数補正処理部２２１による係数の補正値に対するクリッピング処理手段であるクリッピング処理部２２２が含まれる。
【００７５】
この画像処理装置は、JPEG2000の符号データがポスト量子化により符号の破棄が行われた場合にも適切なクリッピング処理を可能にするため、符号が破棄されたビットプレーン数（トランケート数）を取得するトランケート数取得部２１０と、このトランケート数に基づいて量子化区間を決定する量子化区間決定部２１１とを備える。なお、トランケート数取得部２１０に相当する手段は、JPEG2000のデコーダのエントロピー復号化部にもともと備わっているものである。
【００７６】
入力されたJPEG2000の符号データをタグ処理部２９１、エントロピー復号化部２０２及び逆量子化部２０３により処理することにより、ウェーブレット係数が復号される。つまり、タグ処理部２０１から逆量子化部２０３までは全体として、符号データからウェーブレット係数を復号する手段を構成していると言うことができる。タグ処理部２０１、エントロピー復号化部２０２及び逆量子化部２０３の処理内容については図１に関連して説明した通りであるので、これ以上の説明は省略するが、エントロピー復号化部２０２におけるエントロピー復号の際に、トランケート数取得部２１０によりサブバンド毎のトランケート数が算出される。
【００７７】
ここで、符号の破棄（トランケーション）とトランケーション数の算出、及びトランケート数と量子化区間の関係について説明する。
【００７８】
JPEG2000には符号の破棄（トランケーション）を行うポスト量子化の機能がある。ポスト量子化は量子化テーブルを用いて実行される。これについて図２１により説明する。
【００７９】
図２１において、（ａ）はポスト量子化前の符号を模式的に示している。本例では３つのコンポーネント（色成分）C0,C1,C2があり、ここでは、その１つのコンポーネントC0を示している。また、階層数(デコンポジションレベル数）は３であり、３ＬＬ，３ＨＬ，３ＬＨ，３ＨＨ，２ＨＬ，２ＬＨ，２ＨＨ，１ＨＬ，１ＬＨ，１ＨＨのサブバンドからなり、深さ方向に８つのビットプレーンで構成された符号の例である。
【００８０】
（ｂ）はポスト量子化のための量子化テーブルの一例である。各コンポーネント、各サブバンド毎に符号が破棄されるビットプレーンの枚数（トランケート数）が記述されている。
【００８１】
（ｃ）はコンポーネントC0のトランケーション例である。コンポーネントC0に関しては、３ＬＬサブバンドはトランケート数は１であるので、８枚のビットプレーン中、最下位の１枚が破棄される。１ＨＨサブバンドについては、トランケート数は７であるので、８枚のビットプレーンのうち下位の７枚が破棄される。このようにして、すべてのサブバンドについて、量子化テーブルの値に従って符号を破棄した後の符号が（ｄ）に模式的に示されている。
【００８２】
図２２は、このようなポスト量子化のトランケート数（符号が破棄されたビットプレーン数）と量子化区間の関係を示している。１枚のビットプレーンの破棄は、係数を２で除した（１ビット分シフトした）ことに相当する。図示のように、トランケート数ｍの場合のポスト量子化の量子化区間の大きさは２^m（２のｍ乗）、トランケート数ｎの場合の量子化区間の大きさは２^nであり、トランケート数が大きいほど量子化区間が広くなる。このように、トランケート数が分かれば量子化区間の大きさが分かる。このようなポスト量子化によるトランケート数から各サブバンド係数の量子化区間（の大きさ）を決定する手段が前記量子化区間決定部２１１である。
【００８３】
次に、トランケート数の算出方法について説明する。図２３は、その説明図である。図２３の上段の図に示すように、トランケーションを行う前の総ビットプレーン数は、元データのビットプレーン数（桁数）と、ウェーブレット変換で増えるビットプレーン数（桁数）と、色変換で増えるビットプレーン数（桁数）の和である。一方、下段の図に示すように、ゼロビットプレーン数（コーディングされなかったビットプレーン数）と、コーディングされたビットプレーン数と、トランケート（符号破棄）されたビットプレーン数の和が総ビットプレーン数である。このことから、トランケート数は、総ビットプレーン数からゼロビットプレーン数とコーディングされたビットプレーン数を差し引くことにより求まることが分かる。そして、ゼロビットプレーン数は、JPEG2000の符号データを構成するパケットのヘッダ（パケットヘッダ）に記述されている。また、パケットヘッダに記述されているコーディングパス数から、コーディングされたビットプレーン数を計算することができる。
【００８４】
図２０に戻り説明を続ける。逆ウェーブレット変換部２０４において、復号されたウェーブレット係数に対し最上位階層（最高のデコンポジションレベル）から係数の２次元逆ウェーブレット変換処理が行われるが、デタイル処理部２２０は少なくとも１の階層（デコンポジションレベル）のウェーブレット係数に対し、その２次元逆ウェーブレット変換に先立ち、デタイルのための係数補正処理及びその補正値のクリッピング処理行う。このクリッピング処理に量子化区間決定２１１で決定された量子化区間（その大きさ）が用いられる。なお、各階層のデタイル処理内ではウェーブレット変換（順変換）も逆ウェーブレット変換も行われない。
【００８５】
次に、デタイル処理部２２０によるデタイル処理について詳細に説明する。図２４はデタイル処理を説明するためのフローチャートである。ただし、ｓｔｅｐ１０３は逆ウェーブレット変換部２０４の処理ステップであり、デタイル処理部２２０の処理ステップではない。また、ここでは全てのデコンポジションレベル（階層）についてデタイル処理が行われるものとして表されているが、特定の１以上のデコンポジションレベルのみデタイル処理の対象とすることも可能であことは上に述べた通りである。また、図２４に示した処理は各コンポーネントについてタイル単位で実行される。
【００８６】
まず、最上位階層のウェーブレット係数よりデタイル処理が行われるため、処理デコンポジションレベル（階層）として最高デコンポジションレベル（最上位階層）が設定され（ｓｔｅｐ１００）、現在の処理デコンポジションレベルのウェーブレット係数に対する水平方向のデタイル処理がデタイル処理部２２０で実行され（ｓｔｅｐ１０１）、続いて垂直方向のデタイル処理がデタイル処理部２２０で実行される（ｓｔｅｐ１０２）。そして、デタイル後の処理デコンポジションレベルのウェーブレット係数に対する２次元逆ウェーブレット変換（水平方向、垂直方向の順）が逆ウェーブレット変換部２０４で実行される（ｓｔｅｐ１０３）。
【００８７】
現在の処理デコンポジションレベルが１より上ならば（ｓｔｅｐ１０４，ＮＯ）、処理デコンポジションレベルが１つ下のレベルに設定され（ｓｔｅｐ１０５）、この処理デコンポジションレベルに対する水平方向、垂直方向のデタイル処理が順にデタイル処理部２２０により実行され（ｓｔｅｐ１０１，１０２）、次に２次元逆ウェーブレット変換が逆ウェーブレット変換部２０４により実行される（ｓｔｅｐ１０３）。
【００８８】
このような処理がデコンポジションレベル１（最下位階層）まで繰り返されると（ｓｔｅｐ１０４，ＹＥＳ）、デタイル処理部２２０及び逆ウェーブレット変換部２０４の処理は完了であり、タイル境界歪みの少ない画像データが得られた。
【００８９】
この画像データは色空間逆変換部２０５、ＤＣレベル逆シフト部２０６により処理されてＲＧＢ画像データに戻される。
【００９０】
図２５はｓｔｅｐ１０１の水平方向デタイル処理のフローチャートである。図２６は水平方向デタイル処理で補正される係数の説明図である。
【００９１】
最初のｓｔｅｐ２０１で、水平方向のタイル境界に隣接した、図２５中に矢印２０１で示す列の係数（ＨＨ又はＨＬ）が補正される。この補正処理はデタイル処理部２２０の係数補正処理部２２１により行われる。係数の補正式としては、ウェーブレット変換が５×３変換の場合には前記式（iii)が、９×７変換の場合には前記式（ｖ）がそれぞれ用いられる。
【００９２】
この補正処理後の係数値に対するクリッピング処理が次のｓｔｅｐ２０２で行われる。このクリッピング処理はデタイル処理部２２０のクリッピング処理部２２２により実行される。
【００９３】
次に、ｓｔｅｐ２０３において、水平方向のタイル境界に隣接しない境界近傍の、図２５中に矢印２０３で示す列の係数（ＨＨ又はＨＬ）が補正される。この補正式としては、ウェーブレット変換が５×３変換の場合には前記式（iv）が用いられ、９×７変換の場合には前記（vi）が用いられる。この補正後の係数値に対するクリッピング処理が次のｓｔｅｐ２０４で行われる。なお、５×３変換の場合、デコンポジションレベル１のデタイル処理ではｓｔｅｐ２０３，ｓｔｅｐ２０４の処理はスキップされる。
【００９４】
図２７はｓｔｅｐ１０２の垂直方向デタイル処理のフローチャートである。図２８は垂直方向デタイル処理で補正される係数の説明図である。
【００９５】
最初のｓｔｅｐ３０１で、垂直方向のタイル境界に隣接した、図２８中に矢印３０１で示す列の係数（ＨＨ又はＨＬ）が補正される。この補正式としては、ウェーブレット変換が５×３変換の場合には前記式（iii)が、９×７変換の場合には前記式（ｖ）がそれぞれ用いられる。この補正処理後の係数値に対するクリッピング処理が次のｓｔｅｐ３０２で行われる。
【００９６】
次に、ｓｔｅｐ３０３において、垂直方向のタイル境界に隣接しない境界近傍の、図２８中に矢印３０３で示す列の係数（ＨＨ又はＨＬ）が補正される。この補正式としては、ウェーブレット変換が５×３変換の場合には前記式（iv）が用いられ、９×７変換の場合には前記（vi）が用いられる。この補正後の係数値に対するクリッピング処理が次のｓｔｅｐ３０４で行われる。なお、５×３変換の場合、デコンポジションレベル１のデタイル処理ではｓｔｅｐ３０３，ｓｔｅｐ３０４の処理はスキップされる。
【００９７】
以上の通り、本発明によれば、図１１により説明したようなウェーブレット変換（逆変換及び順変換）がデタイル処理に含まれないため、デタイル処理の高速化を図ることができる。また、水平方向のデタイル処理と垂直方向のデタイル処理とが同一内容の処理となるため、デタイル処理部２２０をハードウェアで実現するにしてもソフトウェアで実現するにしても、その構成を単純化することができる。また、処理しようとする符号データがポスト量子化が行われたものであっても、デタイル処理のクリッピング処理において係数補正値を適切なクリップ値にクリッピングすることができる。
【００９８】
なお、本発明のように水平方向の逆ウェーブレット変換を行わずにデタイル処理を行っても、水平方向の逆ウェーブレット変換を行ってから垂直方向のデタイル処理を行った場合と同等のデタイル結果を得られる。違いがあるとすれば、水平方向の逆ウェーブレット変換時又は順ウェーブレット変換時のフローティング誤差であり、問題となるような誤差は生じない。これについて図２９により説明する。
【００９９】
図１１に示した処理方法では、図２９の上段に示すように、水平方向の逆ウェーブレット変換でLH係数はＨ係数に変換され、LL係数はＬ係数に変換される。垂直方向のタイル境界に隣接するＨ係数を近傍のＨ係数とＬ係数で補正してから水平方向の順ウェーブレット変換を行った後の、タイル境界に隣接する係数の補正値LH2は、５×３変換の場合、
LH2'＝(2/3)*(LL3-LL2)＋(1/3)LH1                              （vii）
となる。
【０１００】
一方、本発明によれば、垂直方向のタイル境界に隣接するLH係数をそのまま補正するので、その補正値LH2"は、
LH2"＝(2/3)＊(LL3-LL2)＋(1/3)LH1                            （viii）
となる。
【０１０１】
このようにLH2'＝LH2"となる。誤差が生じるとしても、水平方向の逆ウェーブレット変換時と水平方向の順ウェーブレット変換時のフロア−関数の中であるため、その誤差は概算でせいぜい１程度であるため実用上問題にならない。
【０１０２】
図３０乃至図図３２は、ｓｔｅｐ２０２，２０４，３０２，３０４のクリッピング処理の説明図である。図３０に示すように、補正前の係数値が量子化区間（Q〜2Q）にあるときにデタイルのための係数補正により-1/2Qに補正されたとする。このままでは、復号時に係数は元の量子化区間に存在しなければならないというルールに反するため、クリッピング処理により、その量子化区間の端Ｑに戻される。つまり、クリッピング処理とは係数の補正値が、補正前の係数値が属していた量子化区間をはみ出したきときに、元の量子化区間の端（補正値に近い側）の値（クリップ値）に修正する処理である。
【０１０３】
図３１は量子化区間が大きな場合のクリッピングの例であり、図３２は量子化区間が小さな場合のクリッピングの例である。これらの比較から分かるように、原信号と補正値が同じであっても、クリップ値は量子化区間の大きさによって異なる。
【０１０４】
デタイル処理部２２０のクリッピング処理部２２２は、補正対象の係数が含まれるサブバンドに関する量子化区間（その大きさ）を量子化区間決定部２１１より取得し、その係数の補正値と量子化区間とから決まるクリップ値へのクリッピングを行う。
【０１０５】
以上に述べた本発明の画像処理装置における処理の流れは、本発明の画像処理方法の処理手順でもあることは明らかである。よって、本発明の画像処理方法についての説明は繰り返さない。
【０１０６】
図２０に示したような本発明の画像処理装置は、パソコンなどの汎用のコンピュータや各種機器に内蔵されたマイクロコンピュータなどのコンピュータを利用して実現することも可能である。このような実現形態について図３３により簡単に説明する。
【０１０７】
図３３において、４０１は中央演算処理ユニット（ＣＰＵ）、４０２はメインメモリ、４０３はハードディスク装置、４０４はモニタ、４０５はバスである。このようなコンピュータを画像処理装置を構成する各手段（２０１〜２０６，２１０，２１１，２２０）として機能させるための１以上のプログラムは、例えばハードディスク装置４０３よりメインメモリ４０２にロードされ、ＣＰＵ４０１により実行されることになる。
【０１０８】
処理は例えば次のような流れで行われる。
（１）ハードディスク装置４０３に記憶されているJPEG2000の符号データが、ＣＰＵ４０１からの命令によってメインメモリ４０２に読み込まれる。
（２）ＣＰＵ４０１は、メインメモリ４０２上の符号データを読み込んで復号処理を行い、その処理過程で、トランケート数の算出、トランケート数に基づく量子化区間の決定を行い、各コンポーネントの各ウェーブレット係数に対するデタイル処理（係数補正及びクリッピング処理）及び２次元逆ウェーブレット変換、復元された画像データに対する色空間逆変換及びＤＣレベル逆シフトの処理を行う。
（３）ＣＰＵ４０１は、再生した画像データをメインメモリ３０２上の別の領域に書き込む。
（４）そして、例えば、ＣＰＵ４０１からの命令によって、再生画像データがモニタ４０４に画像として表示される。
【０１０９】
このようにコンピュータを本発明の画像処理装置の各手段として機能させるプログラム（アプリケーションプログラム、デバイスドライバなど）、及び、同プログラムが記録された磁気ディスク、光ディスク、光磁気ディスク、半導体記憶素子など、コンピュータが読み取り可能な各種情報記録（記憶）媒体も本発明に包含される。
【０１１０】
なお、コンピュータにハードウェアのJPEG2000デコーダが備えられている場合には、画像処理装置のデタイル処理部２２０及び量子化区間決定部２１１をプログラムによって実現し、それ以外の部分の機能はデコーダの機能を利用するような形態をとることも可能である。かかる実現形態も本発明に包含される。
【０１１１】
以上に説明した本発明の実施形態ではJPEG2000の符号データが用いられたが、タイル単位のウェーブレット変換を利用するJPEG2000以外の符号化方式による符号データを処理する画像処理装置に対しても、さらには、タイル単位のウェーブレット変換以外の２次元周波数変換を利用する符号化方式による符号データを扱う画像処理装置に対しても、本発明を適用し得るものである。また、以上の説明から明らかなように、タイル単位の２次元ウェーブレット変換処理により生成されたウェーブレット係数、さらには、タイル単位の他の２次元周波数変換処理により生成された周波数変換係数を入力され、それを処理する画像処理装置に対しても本発明を適用可能であり、かかる画像処理装置も本発明に包含される。
【図面の簡単な説明】
【０１１２】
【図１】JPEG2000の圧縮・伸長アルゴリズム説明するためのブロック図である。
【図２】JPEG2000におけるタイル、サブバンド、プリシンクト、コードブロックの説明図である。
【図３】JPEG2000のレイヤ構造の例を示す図である。
【図４】図３に示すレイヤに含まれるパケットの例を示す図である。
【図５】タイル画像と座標系を示す図である。
【図６】図５のタイル画像に対し垂直方向のウェーブレット変換を行った後の係数配列を示す図である。
【図７】図６の係数配列に対し水平方向のウェーブレット変換を行った後の係数配列を示す図である。
【図８】図７の係数をデインターリーブした係数配列を示す図である。
【図９】２回目の２次元ウェーブレット変換後のデインターリーブした係数配列を示す図である。
【図１０】ミラリングの説明図である。
【図１１】ウェーブレット係数空間上でウェーブレット変換処理を逆順に忠実に辿ったデタイル処理の流れを示すフローチャートである。
【図１２】図１１に示したデタイル処理手順の説明ための係数配列図である。
【図１３】図１１に示したデタイル処理手順の説明ための係数配列図である。
【図１４】図１１に示したデタイル処理手順の説明ための係数配列図である。
【図１５】図１１に示したデタイル処理手順の説明ための係数配列図である。
【図１６】図１１に示したデタイル処理手順の説明ための係数配列図である。
【図１７】図１１に示したデタイル処理手順の説明ための係数配列図である。
【図１８】図１１に示したデタイル処理手順の説明ための係数配列図である。
【図１９】図１１に示したデタイル処理手順の説明ための係数配列図である。
【図２０】本発明の実施の形態に係る画像処理装置のブロック図である。
【図２１】JPEG2000における符号破棄の説明図である。
【図２２】トランケート数と量子化区間の大きさの関係の説明図である。
【図２３】トランケート数の算出方法の説明図である。
【図２４】本発明に係る画像処理装置におけるデタイル処理の流れを示すフローチャートである。
【図２５】水平方向デタイル処理のフローチャートである。
【図２６】水平方向デタイル処理で補正されるタイル境界付近係数の説明図である。
【図２７】垂直方向デタイル処理のフローチャートである。
【図２８】垂直方向デタイル処理で補正さるタイル境界付近係数の説明図である。
【図２９】水平方向逆ウェーブレット変換を行わずに垂直方向デタイル処理を行う場合の誤差の説明図である。
【図３０】クリッピング処理の説明図である。
【図３１】クリッピング処理の説明図である。
【図３２】クリッピング処理の説明図である。
【図３３】本発明に係る画像処理装置をコンピュータを利用して実現する形態を説明するためのブロック図である。
【符号の説明】
【０１１３】
２０１    タグ処理部
２０２    エントロピー復号化部
２０３    逆量子化部
２０４    逆ウェーブレット変換部
２０５    色空間逆変換部
２０６    ＤＣレベル逆シフト部
２１０    トランケート数取得部
２１１    量子化区間決定部
２２０    デタイル処理部
２２１    係数補正処理部
２２２    クリッピング処理部
【図１】
2006086883.tif 000003
【図２】
2006086883.tif 000004
【図３】
2006086883.tif 000005
【図４】
2006086883.tif 000006
【図５】
2006086883.tif 000007
【図６】
2006086883.tif 000008
【図７】
2006086883.tif 000009
【図８】
2006086883.tif 000010
【図９】
2006086883.tif 000011
【図１０】
2006086883.tif 000012
【図１１】
2006086883.tif 000013
【図１２】
2006086883.tif 000014
【図１３】
2006086883.tif 000015
【図１４】
2006086883.tif 000016
【図１５】
2006086883.tif 000017
【図１６】
2006086883.tif 000018
【図１７】
2006086883.tif 000019
【図１８】
2006086883.tif 000020
【図１９】
2006086883.tif 000021
【図２０】
2006086883.tif 000022
【図２１】
2006086883.tif 000023
【図２２】
2006086883.tif 000024
【図２３】
2006086883.tif 000025
【図２４】
2006086883.tif 000026
【図２５】
2006086883.tif 000027
【図２６】
2006086883.tif 000028
【図２７】
2006086883.tif 000029
【図２８】
2006086883.tif 000030
【図２９】
2006086883.tif 000031
【図３０】
2006086883.tif 000032
【図３１】
2006086883.tif 000033
【図３２】
2006086883.tif 000034
【図３３】
2006086883.tif 000035