本発明は、画像が重複しないタイルに分割されタイル単位に周波数変換された符号データの処理に係り、特に、この種の符号データの復号処理過程において周波数係数空間上でタイル境界歪みを抑制するための処理を行う装置及び方法に関する。
近年、画像入出力技術の進歩により、画像に対する高精細化の流れはとどまるところを知らず、高精細画像を容易に圧縮・伸長できる技術への要求も強いものがある。
こうした要求を満たす符号化方式の一つとして、高精細画像を小さい単位に分割して処理でき、高圧縮率でも高画質な画像を復号可能なJPEG2000がある。JPEG2000においては、画像を重複しない矩形領域(タイル)に分割し、個々のタイルが圧縮伸長プロセスを実行する際の基本単位となる。
このように画像を重複しないタイルに分割し、タイル毎に処理を行う方法は、省メモリ化・高速化に有効な手法であるが、圧縮率の高い符号データ(コードストリーム)を伸長した画像において、タイルの境界が不連続となるという問題がある。
このタイル境界歪みは、見かけ上、離散コサイン変換(DCT)におけるブロック歪みに類似したものである。このDCTのブロック歪みの除去に関しては、従来、(a)ブロック分割された画像のDCT成分からブロック境界を抽出し、ブロック境界に垂直な一次元ローパスフィルタをかける方法(特許文献1参照)、(b)ブロック境界の方向とエッジの方向との関係からブロック歪みがあるか否かを判定し、ブロック歪みがある画素に対してローパスフィルタをかける方法(特許文献2参照)、(c)ブロック歪みを検出し、検出されたブロック歪みに対しローパスフィルタをかける方法(特許文献3参照)などが知られている。
これらはいずれも、ブロック境界の方向とエッジ度に応じて画素値に適応的なローパスフィルタをかけることにより、ブロック境界の歪みは平滑化しつつも、ブロック境界に位置する真のエッジへの平滑化は避けることを意図している。しかし、こうしたローパスフィルタ的手法は、それがいかに適応的であっても、「歪み自体の平滑化(予定した作用)と、真のエッジの平滑化(予定しない副作用)」のトレードオフに悩まされることになる。
一方、本出願人は、ウェーブレット変換を用いる圧縮伸長システムにおいて、ウェーブレット係数空間でタイル境界歪みを抑制する方法を提案している(特許文献4参照)。
特開平05-316361号公報
特許第2839987号公報
特開平09-307855号公報
特開2001−257596号公報
本発明の目的は、JPEG2000の符号データのような、画像が重複しないタイルを単位として周波数変換された符号データのタイル境界歪み抑制のための処理を、その復号処理過程において周波数係数空間上で効率的に行う新規な画像処理装置及び方法を提供することにある。
請求項1の発明は、画像が重複しないタイルに分割されタイル単位でウェーブレット変換された符号データを復号する画像処理装置であって、
符号データの復号処理過程における、第1、第2のタイル間のタイル境界に隣接した前記第1のタイルに属する高周波係数、及び、前記タイル境界に隣接しない、前記タイル境界近傍の前記第2のタイルに属する高周波係数に対し、タイル境界歪み抑制のための補正を施す係数補正手段を有し、
前記係数補正手段は、前記タイル境界に隣接した前記第1のタイルに属する高周波係数を常に補正の対象とし、前記タイル境界に隣接しない、前記タイル境界近傍の前記第2のタイルに属する高周波係数を、当該高周波係数の属するサブバンドの量子化ステップ数に応じて適応的に補正の対象から除外することを特徴とする画像処理装置である。
請求項3の発明は、請求項2の発明による画像処理装置であって、前記係数補正手段が、前記タイル境界に隣接しない、前記タイル境界近傍の前記第2のタイルに属する高周波係数を、当該高周波係数の属するサブバンドの量子化ステップ数が所定値以下のときにタイル境界歪み抑制のための補正の対象から除外することを特徴とする画像処理装置である。
請求項3の発明は、画像が重複しないタイルに分割されタイル単位でウェーブレット変換された符号データを復号する画像処理装置であって、
符号データの復号処理過程における、第1、第2のタイル間のタイル境界に隣接した前記第1のタイルに属する高周波係数、及び、前記タイル境界に隣接しない、前記タイル境界近傍の前記第2のタイルに属する高周波係数に対し、タイル境界歪み抑制のための補正を施す係数補正手段を有し、
前記係数補正手段は、前記タイル境界に隣接した前記第1のタイルに属する高周波係数を常に補正の対象とし、前記タイル境界に隣接しない、前記タイル境界近傍の前記第2のタイルに属する高周波係数を、当該高周波係数の値及び当該高周波係数の属するサブバンドの量子化ステップ数に応じて適応的に補正の対象から除外することを特徴とする画像処理装置である。
請求項4の発明は、請求項3の発明による画像処理装置であって、前記係数補正手段が、前記タイル境界に隣接しない、前記タイル境界近傍の前記第2のタイルに属する高周波係数を、当該高周波係数の値が0であるとき及び当該高周波係数の属するサブバンドの量子化ステップ数が所定値以下のときに補正の対象から除外することを特徴とする画像処理装置である。
請求項5の発明は、画像が重複しないタイルに分割されタイル単位でウェーブレット変換された符号データを復号する画像処理装置であって、
符号データの復号処理過程における、第1、第2のタイル間のタイル境界に隣接した前記第1のタイルに属する高周波係数に対し、タイル境界歪み抑制のための補正を施す第1の補正モードと、前記タイル境界に隣接した前記第1のタイルに属する高周波係数、及び、前記タイル境界に隣接しない、前記タイル境界近傍の前記第2のタイルに属する高周波係数に対し、タイル境界歪み抑制のための補正を施す第2の補正モードを有する係数補正手段と、
前記係数補正手段に対し前記第1の補正モード又は前記第2の補正モードを指定する補正モード指定手段と、
を有し、
前記係数補正手段は、前記第2の補正モードにおいて、前記タイル境界に隣接した前記第1のタイルに属する高周波係数を常に補正の対象とし、前記タイル境界に隣接しない、前記タイル境界近傍の前記第2のタイルに属する高周波係数を、当該高周波係数の属するサブバンドの量子化ステップ数に応じて適応的に補正の対象から除外することを特徴とする画像処理装置である。
請求項6の発明は、画像が重複しないタイルに分割されタイル単位でウェーブレット変換された符号データを復号する画像処理装置であって、
符号データの復号処理過程における、第1、第2のタイル間のタイル境界に隣接した前記第1のタイルに属する高周波係数に対し、タイル境界歪み抑制のための補正を施す第1の補正モードと、前記タイル境界に隣接した前記第1のタイルに属する高周波係数、及び、前記タイル境界に隣接しない、前記タイル境界近傍の前記第2のタイルに属する高周波係数に対し、タイル境界歪み抑制のための補正を施す第2の補正モードを有する係数補正手段と、
前記係数補正手段に対し前記第1の補正モード又は前記第2の補正モードを指定する補正モード指定手段と、
を有し、
前記係数補正手段は、前記第2の補正モードにおいて、前記タイル境界に隣接した前記第1のタイルに属する高周波係数を常に補正の対象とし、前記タイル境界に隣接しない、前記タイル境界近傍の前記第2のタイルに属する高周波係数を、当該高周波係数の値及び当該高周波係数の属するサブバンドの量子化ステップ数に応じて適応的に補正の対象から除外することを特徴とする画像処理装置である。
請求項7の発明は、請求項1乃至6のいずれか1項の発明による画像処理装置であって、符号データはJPEG2000の符号データであることを特徴とする画像処理装置である。
請求項8の発明は、JPEG2000の符号データの復号処理過程における、第1、第2のタイル間のタイル境界に隣接した前記第1のタイルに属する高周波係数、及び、前記タイル境界に隣接しない、前記タイル境界近傍の前記第2のタイルに属する高周波係数に対し、タイル境界歪み抑制のための補正を施す係数補正工程を含み、
前記係数補正工程において、前記タイル境界に隣接した前記第1のタイルに属する高周波係数を常に補正の対象とし、前記タイル境界に隣接しない、前記タイル境界近傍の前記第2のタイルに属する高周波係数を、当該高周波係数の値及び当該高周波係数の属するサブバンドの量子化ステップ数に応じて適応的に補正の対象から除外することを特徴とする画像処理方法である。
請求項9の発明は、請求項1乃至7のいずれか1項に記載の画像処理装置の少なくとも係数補正手段としてコンピュータを機能させるプログラムである。
請求項10の発明は、請求項1乃至7のいずれか1項に記載の画像処理装置の少なくとも係数補正手段としてコンピュータを機能させるプログラムが記録された、コンピュータが読み取り可能な情報記録媒体である。
実施の形態に関連して詳細に説明するように、本発明の画像処理装置及び方法によれば、JPEG2000の符号データのような、タイル単位で周波数変換された符号データの復号処理過程において、周波数係数空間上での効率的な係数補正処理によってタイル境界歪みを抑制することができ、また、タイル境界歪み抑制の程度やタイル境界歪み抑制のための処理を含めた復号処理の速度をユーザ側で制御することができる。また、本発明に係るプログラム及び情報記録媒体によれば、本発明に係る画像処理装置をコンピュータを利用し容易に実現することができる。
図1は、本発明の実施の形態を説明するためのブロック図である。ここに示す画像処理装置は、JPEG2000のコードストリーム(符号データ)を復号して画像データを生成する復号化機能と、画像データをJPEG2000のアルゴリズムにより符号化してコードストリームを生成する符号化機能の両方を有するが、符号化機能は必ずしも備えなくともよい。この画像処理装置の特徴は、符号データの復号処理過程において、タイル境界歪み抑制のための係数補正の機能を備えることである。
図1において、色変換・逆変換部101、2次元ウェーブレット変換・逆変換部102、量子化・逆量子化部103、エントロピー符号化・復号化部104、符号形成・タグ処理部105は、符号化機能及び復号化機能のための基本的構成要素である。すなわち、これらの要素は符号化処理手段及び復号化処理手段である。
係数補正部110は、復号処理時に、復号化処理手段に含まれる、ウェーブレット順変換及び逆変換の手段である2次元ウェーブレット変換・逆変換部102と協動して、ウェーブレット係数空間上でタイル境界歪み抑制のための係数補正を行う手段である。この係数補正部110は、タイル境界に隣接しない(タイル境界に直接接しない)タイル境界近傍の高周波係数を補正の対象にするか否かを、同係数の値や量子化ステップ数などに応じて適応的に制御するための補正制御手段111を含むことができる。このような適応的な制御を行わない実施の形態では、補正制御手段111を省くことができる。
また、この画像処理装置は、補正モード指定部120を含むことができる。この補正モード指定部120は、係数補正部110に対し係数補正処理に関する動作モード(補正モード)をユーザが指定するための手段である。この補正モード指定部120は、ユーザにより補正モードを指定可能な実施の形態においてのみ必要なもであり、その指定を行わない実施の形態では省くことができる。
この画像処理装置における符号化処理動作は次の通りである。例えばR,G,Bの3コンポーネントからなるカラー画像の場合、各コンポーネントのデータは重複しない矩形のタイルに分割される(これをタイリングと呼ぶ)。分割されたタイルを単位として符号化処理が実行される。
各タイルの各コンポーネントのデータは、まず、色変換・逆変換部101によりY,Cb,Cr(又はY,U,V)のコンポーネントへの色空間変換を施される。次に、各コンポーネントはタイル単位で2次元ウェーブレット変換・逆変換部102により2次元ウェーブレット変換(順変換)が適用されて周波数帯域(サブバンド)に空間分割される。
ウェーブレット係数は、サブバンド毎に、必要に応じて量子化・逆量子化部103によって線形量子化された後、エントロピー符号化・復号化部104でエントロピー符号化される。ウェーブレット変換係数をそのまま符号化することも可能であるが、JPEG2000では符号化効率を上げるため、通常、係数値を「ビットプレーン」単位に分解して符号化する(より詳細にはビットプレーンは3つのサブビットプレーンに分割されて符号化される)。この符号化では、指定された符号化の順番に従って符号化の対象となるビットが定められ、量子化・逆量子化部103で対象ビット周辺のビットからコンテキストが生成され、このコンテキストと対象ビットから確率推定によって符号が決定される。そして、符号形成・タグ処理部105で、不要な符号を破棄し、必要な符号をまとめてパケットを生成し、パケットを所定の順序に並べるとともに必要なタグ又はタグ情報を挿入することにより、所定のフォーマットのコードストリームを形成し出力する。
ここまでの説明から理解されるように、JPEG2000のコードストリームは、画像が重複しないタイルを単位として周波数変換(2次元ウェーブレット変換)された符号データの一種である。
次に復号化処理動作の流れについて説明する。符号形成・タグ処理部105で、外部より入力したコードストリームに付加されたタグ情報が解釈され、コードストリームは各コンポーネントの各タイルのコードストリームに分解される。そして、分解された各コンポーネントの各タイルのコードストリーム毎に復号化の処理が行われる。
コードストリーム内のタグ情報に基づく順番で復号化の対象となるビットの位置が定められるとともに、量子化・逆量子化部103で、その対象ビット位置の周辺ビット(既に復号化を終えている)の並びからコンテキストが生成される。エントロピー符号化・復号化部104で、このコンテキストとコードストリームとから確率推定によって対象ビットが生成され、それが対象ビットの位置に書き込まれる。
このようにして復号されたウェーブレット変換係数は、量子化・逆量子化部103で必要な逆量子化を施された後、2次元ウェーブレット変換・逆変換部102で2次元ウェーブレット逆変換が適用されることにより、各タイルの各コンポーネントの画像データが復元される。この2次元ウェーブレット逆変換の段階で係数補正部110によりタイル境界歪み抑制のための係数補正が行われるが、これについては後述する。復元された画像データは色変換・逆変換部101によって元の表色系のデータに戻される。
図1に示したような本発明に係る画像処理装置は、独立した装置として実現される形態と、パソコンなどの汎用コンピュータ、デジタルカメラ、携帯電話機、携帯情報端末、医療用画像処理装置、インターネット上のウェブサーバやLAN上のファイルサーバのようなネットワーク機器、画像データ又はその符号データを扱う各種機器の組み込み装置として実現される形態のいずれもとり得るものであり、また、ハードウェア、ファームウェア、ソフトウェア又はそれらの組み合わせにより実現し得るものである。
パソコンなどの汎用コンピュータやマイクロコンピュータなどのコンピュータ上でプログラムにより本発明の動画像処理装置を実現する場合について、図2により簡単に説明する。
図2において、201は中央演算処理ユニット(CPU)、202は実行プログラムやデータなどを一時的に記憶するためのメインメモリ、203はプログラムやデータを蓄積するためのハードディスク装置などの補助記憶装置、204は画像等の表示のためのモニタ装置、205はPEG2000準拠のコーデック(エンコーダ・デコーダ)であり、以上の各部はバス206に接続されている。ただし、コーデック205は必須ではない。
このようなコンピュータを、図1に示す各部101〜110として機能させるためのプログラムは、例えば補助記憶装置203よりメインメモリ202にロードされ、CPU201でその命令の解釈・実行を行うことより各部101〜110,120の機能が実現される。なお、コーデック205が備えられているコンピュータでは、係数補正部110及び補正モード指定部120以外の要素101〜105としてコーデック205の持つ対応機能を利用し、補正モード指定部120及び係数補正部110の機能並びに係数補正に関連したウェーブレット順変換及び逆変換の制御を行う機能だけをプログラムにより実現することもできる。
処理の流れは次の通りである。処理対象となる画像データ又は符号データは、例えば補助記憶装置203からメインメモリ202に読み込まれて符号化処理又は復号化処理を施される。復号化処理の場合には、その処理過程でタイル境界歪み抑制のための係数の補正が行われ、メインメモリ202上に復元された画像データは例えばモニタ装置204に画面表示される。符号化処理の場合には、メインメモリ202上に符号データが生成され、これは例えば補助記憶装置203に保存される。
このような本発明に係る画像処理装置の構成要素(少なくとも係数補正部110)をコンピュータ上で実現するためのプログラム(アプリケーションプログラム、デバイスドライバなど)、及び、同プログラムが記録された磁気ディスク、光ディスク、光磁気ディスク、半導体記憶素子などのコンピュータが読み取り可能な各種情報記録(記憶)媒体も本発明に含まれる。
次に、係数補正部110によるウェーブレット係数空間上でのタイル境界歪み抑制のための係数補正の原理について説明するが、その説明にはウェーブレット変換の理解が必要である。
図3〜図8は、16×16画素のモノクロ画像に対して、5×3変換と呼ばれるウェーブレット変換を2次元に(垂直方向および水平方向の順)施す過程の説明図である。
図3の様に画像のXY座標をとり、X座標のある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)。
画像の端部(又はタイルの境界部)では、中心となる画素に対して隣接画素群(又は隣接係数群)が存在しないことがある。この場合、図8に示した「ミラリング」と呼ばれる手法によって適宜画素値(又は係数値)が補われる。ミラリングは、文字通り、画像の端(又はタイル境界)を中心として画素値(又は係数値)を線対称に折り返し、折り返した値を隣接画素(係数)群の値とみなす処理である。このミラリングが、タイル境界歪みの主因である。
ここで、簡単のため、ハイパスフィルタで得られる係数をH、ローパスフィルタで得られる係数をLと表記すれば、前記垂直方向の変換によって図3の画像は図4のようなL係数とH係数の配列へと変換される。
続いて、図4の係数配列に対して、水平方向に、X座標が奇数(x=2i+1)の係数を中心にハイパスフィルタを施し、次にX座標が偶数(x=2i)の係数を中心にローパスフィルタを施す(これを全てのyについて行う)。この場合、式(1),式(2)のP(2i)等は係数値を表すものと読み替える。
簡単のため、
前記L係数を中心にローパスフィルタを施して得られる係数をLL、
前記L係数を中心にハイパスフィルタを施して得られる係数をHL、
前記H係数を中心にローパスフィルタを施して得られる係数をLH、
前記H係数を中心にハイパスフィルタを施して得られる係数をHH、
と表記すれば、図4の係数配列は図5の様な係数配列へと変換される。ここで、同一の記号を付した係数群はサブバンドと呼ばれる。図5の場合は4つのサブバンドの係数からなる。
以上で、1回の2次元ウェーブレット変換(1回のデコンポジション(分解))が終了し、LL係数だけを集めると(図6の様に係数をサブバンド毎に集め、LLサブバンドだけ取り出すと)、ちょうど原画像の1/2の解像度の“画像”が得られる(このように、サブバンド毎に係数を分類することをデインターリーブと呼び、これに対し図5のような状態に係数を配置することをインターリーブすると呼ぶ)。
2回目のウェーブレット変換は、LLサブバンドを原画像と見なして、上に述べたと同様に行われる。そして得られたサブバンド係数をデインターリーブすると、図7に示す様な係数配列となる(図6、図7中の係数の接頭の1や2は、その係数が何回のウェーブレット変換で得られたかを示し、デコンポジションレベルと呼ばれる)。
このようにウェーブレット変換は、低周波係数に対し変換を再帰的に繰り返す階層的な周波数変換の一種である。そして、LLサブバンド係数は低周波係数であり、LH,HL,HHサブバンドの係数が高周波係数である。また、デコンポジションレベルは階層レベルに相当する。
以上は順変換であるが、2次元ウェーブレット逆変換は丁度逆の処理となる。すなわち、図5の様なインターリーブされた係数の配列に対して、まず水平方向に、X座標が偶数(x=2i)の係数を中心に逆ローパスフィルタを施し、次にX座標が奇数(x=2i+1)の係数を中心に逆ハイパスフィルタを施す(これを全てのyについて行う)。ここで、逆ローパスフィルタは式(3)、逆ハイパスフィルタは式(4)で表される。この際も、画像の端部(又はタイル境界部)においては中心となる係数に対して隣接係数群が存在しないことがあり、この場合も図8のミラリングによって適宜係数値を補うことになる。
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)。
このようにして図5の係数配列は図4のような係数配列に変換(逆変換)される。続いて、垂直方向に、Y座標が偶数(y=2i)の係数を中心に逆ローパスフィルタを施し、次にY座標が奇数(y=2i+1)の係数を中心に逆ハイパスフィルタを施せば(これを全てのxについて行う)、1回の2次元ウェーブレット逆変換が終了し、図3の画像に戻る(再構成される)ことになる。ウェーブレット変換が複数回施されている場合は、図3をLLサブバンドとみなし、HL等の他のサブバンド係数を利用して同様の逆変換を繰り返せばよい。
このような5×3変換が用いられたJPEG2000の符号データを例に、その復号処理過程における周波数係数空間(ウェーブレット係数空間)でのタイル境界歪み抑制のための係数補正の原理について説明する。以下の説明中、ハイパス係数は高周波係数に、ローパス係数は低周波係数に相当する。
画像復元では、失われた情報を復元するために、ある経験的な拘束条件を採用し、その条件に基づいて復元すべき解を算出する。前記特許文献4の方法では、
「タイル境界が生じるのは圧縮率が高い場合であり、タイリングの有無に関わらず、全てのハイパス係数は0に量子化される」(近似1)、
「タイリングした場合のローパス係数はタイリングしない場合のローパス係数に等しい」(近似2)
という2つの近似を採用し、
「(0に量子化されたが)補正されたハイパス係数を用いて逆ウェーブレット変換をした場合の、タイル境界の画素値=ハイパス係数が0の場合の、タイリングをせずに逆ウェーブレット変換をした場合の同じ位置の画素値」
という式から、ハイパス係数の補正値を算出している(0に量子化されたハイパス係数に対し、0でない補正値を算出する過程は画像復元である)。
5×3変換の場合について、このような係数補正のための補正式を導出する。図3〜図8を参照して説明したように、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でミラリングの影響を受けているため補正が必要である)。
以上は5×3ウェーブレット変換の場合である。JPEG2000では9×7変換と呼ばれるウェーブレット変換も規定されている。この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係数は補正対象である。
ここまでの説明から理解されるように、タイル境界に隣接するハイパス係数H2を、5×3変換の場合には式(iii)により、9×7変換の場合には式(v)によりそれぞれ補正し、タイル境界に隣接しないタイル境界近傍のハイパス係数H3を、5×3変換の場合には式(iv)により、9×7変換の場合には式(vi)によりそれぞれ補正することにより、タイル境界歪みを抑制することができる。このようなタイル境界に隣接するハイパス係数、及び、タイル境界に隣接しないタイル境界近傍のハイパス係数に対する補正は、要するに、タイル境界に隣接する係数を中心としたウェーブレット逆変換により得られる係数の値を、タイリングしない場合のローパスのみを用いたウェーブレット逆変換により得られる係数の値に近づけようとするものである。
図9に、3×3にタイリングした場合において、以上に述べた補正の対象となるハイパス係数(H2,H3)の位置関係を模式的に示す。JPEG2000では符号化時に垂直方向にウェーブレット順変換が、次に水平方向にウェーブレット順変換が適用されるため、タイル境界歪み抑制のための係数補正は、まず水平方向のタイル境界に関して行い、次に水平方向のウェーブレット逆変換を行ってから垂直方向のタイル境界に関して行うが、この様子をやや詳しく示した図が図10及び図11である。
以上、タイル境界歪み抑制のための係数補正の原理について説明した。しかし、本発明に係る画像処理装置において、係数補正部110は、タイル境界に隣接しない境界近傍のハイパス係数(H3)に関しては、処理効率の向上を図るため、必ずしも原理通りの補正を行うわけではない。すなわち、図10及び図11に付記したように、タイル境界に隣接するハイパス係数(H2)は、タイル境界歪みの発生に大きな影響を与えるため常に係数補正部110で補正される。一方、タイル境界歪みの発生にさほど大きな影響を与えないタイル境界に隣接しないタイル境界近傍のハイパス係数(H3)に対しては、補正の対象から除外されるか、あるいは、その係数値、その量子化ステップ数、又は、その係数値及びその量子化ステップ数に応じて適応的に補正の対象から除外される。
ここに示す実施例においては、係数補正部110は、タイル境界に隣接するハイパス係数(H2)のみを対象として補正処理を行う。すなわち、タイル境界に隣接しないタイル境界近傍のハイパス係数(H3)は常に補正の対象から除外される。したがって、本実施例に係る係数補正部110は補正制御手段111を備える必要はない。
5×3変換の場合、ハイパス係数(H3)の補正は一律に値を0にするだけであるから、この補正自体は比較的短時間に行うことができる。しかし、係数を補正したときには必ずクリッピング処理も行う必要がある。つまり、係数補正の処理にはクリッピング処理も含まれる。このクリッピング処理の時間を含めると、ハイパス係数(H3)の補正のための処理時間はタイル境界に隣接するハイパス係数(H2)の補正処理時間と大きな差はない。したがって、ハイパス係数(H3)を補正対象から除外することは、それを補正対象に含めた場合に比べ、係数補正のための処理時間を略半減し、タイル境界歪み抑制のための係数補正処理を含めた復号処理全体の高速化に大きく寄与する。
なお、ハイパス係数(H3)の補正を行わないため、その補正を行った場合に比べタイル境界歪み抑制の効果は一般に低下する。しかし、ハイパス係数(H3)はタイル境界に隣接するハイパス係数(H2)に比べタイル境界歪みの発生にそれほど大きな影響を及ぼさないため、ハイパス係数(H3)の補正を省略する影響は小さく、特に圧縮率の小さい符号データを処理する場合には、その影響は極めて軽微である。
図12は、量子化ステップ数(Q)が小さい場合のハイパス係数(H3)の補正前の値、補正後の値及びクリップ値との関係の説明図である。一般に圧縮率が小さいときには量子化ステップ数が小さい。よって、図12は圧縮率が小さい場合の説明図でもある。
図示のように、符号化時の量子化前の係数(H3)の値(図中の原信号)が2Qと3Qの間にあるとき、この係数の復号化時に逆量子化された値(補正前の係数値)は、2Q+(3/8)Qとなる(JPEG2000に規定されたリコンストラクションパラメータを3/8とした場合)。5×3ウェーブレット変換の場合、この係数を補正したとすると、その補正値は一律に0になる。この補正値は、クリッピング処理により、元の係数値が含まれていた量子化区間[2Q〜3Q]の近い側の端に対応するクリップ値に戻される。9×7ウェーブレット変換の場合においても、補正値は0又は0に近い値となるため同様に考えることが可能である。
符号データの圧縮率が小さく、量子化ステップ数Qが十分に小さい場合には、係数(H3)の補正前の値とクリップ値との差[(3/8)Q]は十分に小さい。すなわち、係数(H3)の補正を行った場合との差違はわずかであり、したがって、係数(H3)の補正を行わないことによる影響は小さい。
図15は、本実施例における2次元ウェーブレット変換・逆変換部102及び係数補正部110による処理を説明するためのフローチャートである。この処理は、量子化・逆量子化部103による逆量子化が終わった後に、最も上位のデコンポジションレベル(階層)から下位のデコンポジションレベルへと順に実行される。
係数補正部110において、現在のデコンポジションレベルに関し、まず水平方向のタイル境界に隣接するハイパス係数(H2)の補正処理(クリッピング処理を含む)が行われる(step101)。5×3ウェーブレット変換の場合には補正式として式(iii)が、9×7ウェーブレット変換の場合には補正式として式(v)が用いられることは前述した通りである。
2次元ウェーブレット変換・逆変換部102により、水平方向のウェーブレット逆変換が行われる(step102)。この水平方向逆変換後の係数に対し、係数補正部110で垂直方向のタイル境界に隣接するハイパス係数(H2)の補正が行われる(step103)。この中間的な係数に対する量子化ステップ数は分からないためクリッピング処理を行うことができない。したがって、2次元ウェーブレット変換・逆変換部102で水平方向のウェーブレット順変換を行った後、係数補正部110で垂直方向のタイル境界に隣接するハイパス係数(H2)に対するクリッピング処理を行う(step104,step105)。
次に、2次元ウェーブレット変換・逆変換部102により、水平方向及び垂直方向のウェーブレット逆変換が順に行われ(step106)、1つ下のデコンポジションレベルのLLサブバンド係数が生成される。そして、このデコンポジションレベルの係数について、step101〜step106の処理が繰り返される。
デコンポジションレベル1まで同様の処理が行われて画像データが復元されると(step108,NO)、処理は終了する。
図16〜図23を参照し、2×2にタイリングされた符号データを例に、デコンポジションレベル2,1の係数に対する係数補正処理の内容をより具体的に説明する。
図16は、デコンポジションレベル2のインターリーブされた係数配列を示す。まず、水平方向のタイル境界に隣接するハイパス係数(H2)、すなわち図17に示す列Aの係数(2HL,2HH)の補正(クリッピング処理を含む)を行う。タイル境界近傍のハイパス係数(H3)、すなわち図17に示す列Bの係数は本実施例では補正対象外である。
次に、デコンポジションレベル2のウェーブレット係数に対し水平方向のウェーブレット逆変換が行われる。図18は、この水平方向の逆変換後の係数配列を示す。
次に、垂直方向のタイル境界に隣接するハイパス係数、すなわち図19に示す行Cの係数(2H)を補正する。タイル境界近傍の係数である行Dの係数は補正対象外である。
水平方向のウェーブレット順変換を行い、図16に示す係数状態に戻してから行C(図19参照)に対応する係数(2LH,2HH)のクリッピング処理を行う。
次に、水平方向のウェーブレット逆変換と垂直方向のウェーブレット逆変換を順に行い、図20に示すデコンポジションレベル1の係数を得る。
次に、図21のようにインターリーブした係数に対し、図22に示す列Eの係数(HL,HH)の補正とクリッピング処理を行い、水平方向のウェーブレット逆変換を行う。この逆変換後の図23に示す係数配列中の行Gの係数を補正する。次に、水平方向のウェーブレット順変換を行い、図21に示す係数状態に戻し、行G(図23参照)に対応する係数のクリッピング処理を行う。最後に、水平方向及び垂直方向のウェーブレット逆変換が順に行われ、画像データが生成される。
図12に関連して既に説明したように、符号データの圧縮率が小さい場合には、一般に量子化ステップ数が小さいため、タイル境界に隣接しないタイル境界近傍のハイパス係数(H3)は、補正前の値とクリップ値の差は小さく、したがって補正を行わなくとも画質への影響は小さい。しかし、量子化ステップ数はサブバンド毎に異なるのが通常であるので、全体として圧縮率の小さい符号データの場合であっても、特定のサブバンドの量子化ステップ数が大きいこともあり得る。ハイパス係数(H3)に対する量子化ステップ数が予期したより大きい場合には、その補正を行わないとタイル境界歪みが目立つおそれがある。
このような不都合を避けつつ係数補正処理の効率を向上させるため、ここに述べる実施例においては、タイル境界に隣接しないタイル境界近傍のハイパス係数(H3)に対する量子化ステップ数は、所定の閾値thを越えるときには補正の対象とされるが、閾値th以下のときには補正対象から除外される。すなわち、本実施例においては、タイル境界に隣接しないタイル境界近傍のハイパス係数(H3)を補正の対象とするか否かを、当該係数に対する量子化ステップ数に応じて適応的に制御する。この制御は、係数補正部110内の補正制御手段111により行われる。
図24は、本実施例における2次元ウェーブレット変換・逆変換部102及び係数補正部110による処理を説明するためのフローチャートである。この処理は、量子化・逆量子化部103による逆量子化が終わった後に、最も上位のデコンポジションレベル(階層)から実行される。
まず、補正制御手段111において、現在のデコンポジションレベルのHL,LH,HHサブバンドのそれぞれについて、量子化ステップ数と予め設定した閾値との比較判定を行い、その結果により各サブバンドに対応したフラグを設定する(step121)。ここでは、量子化ステップ数が閾値を超えたサブバンドのフラグのみオン状態に設定するものとする。
係数補正部110において、水平方向のタイル境界に隣接するハイパス係数(H2)及びタイル境界に隣接しないタイル境界近傍のハイパス係数(H3)の補正(クリッピング処理を含む)が行われる(step122)。この際、補正制御手段111は、step121で設定されたフラグを参照し、ハイパス係数(H3)に対応するフラグがオン状態ならば同係数を補正対象として選択するが(同係数は補正される)、そのフラグがオフ状態ならば補正対象から除外する(同係数は補正されない)。なお、ハイパス係数(H3)の補正式として、5×3変換の場合は式(iv)が、9×7変換の場合は式(vi)が用いられることは前述した通りである。
2次元ウェーブレット変換・逆変換部102により、水平方向のウェーブレット逆変換が行われる(step123)。
この水平方向逆変換後の係数に対し、係数補正部110において垂直方向のタイル境界に隣接するハイパス係数(H2)及びタイル境界近傍のハイパス係数(H3)の補正(クリッピング処理を含まない)が行われる(step124)。この際、補正制御手段111は、step121で設定されたフラグを参照し、ハイパス係数(H3)に対応するフラグがオン状態ならば同係数を補正対象として選択し、そのフラグがオフ状態ならば補正対象から除外する。
次に、2次元ウェーブレット変換・逆変換部102で水平方向のウェーブレット順変換が行われ(step125)、係数補正部110でstep124で補正された係数(H2,H3)に対するクリッピング処理が行われる(step126)。
次に、2次元ウェーブレット変換・逆変換部102により、水平方向及び垂直方向のウェーブレット逆変換が順に行われ(step127)、1つ下のデコンポジションレベルのLLサブバンド係数が生成される。そして、このデコンポジションレベルの係数について、step121〜step127の処理が繰り返される。デコンポジションレベル1まで同様の処理が行われて画像データが復元されると(step128,NO)、処理は終了する。
なお、5×3変換が用いられた符号データの場合、デコンポジションレベル1の処理において、step121で全てのサブバンドのフラグはオフ状態に設定される。したがって、step122及びstep124において全てのハイパス係数(H3)は補正対象から除外される。
図13に示すように、符号化時の量子化前の係数(原信号)が0とQの間にあるとき(Qは量子化ステップ数)、この係数は復号化時に0に逆量子化される。圧縮率が大きく量子化ステップ数が大きい場合には、このように0に逆量子化される係数がほとんどである。5×3ウェーブレット変換の場合、タイル境界近傍のハイパス係数(H3)の逆量子化された値つまり補正前の値が0であると、それを補正した値も0となり、そのクリップ値も0となる。つまり、補正を行っても行わなくとも結果は同じとなる。9×7ウェーブレット変換の場合においても、このような係数の値及びその補正値は0又は0に近い値をとり、そのクリップ値は0となることが多い。
このように、タイル境界近傍のハイパス係数(H3)の補正前の値が0の場合は、補正を行いクリッピングした値と補正前の値との差は0であるか、0に近い小さな値になるため、補正を行う必要性がない。これに鑑み、ここに示す実施例においては、係数補正部110の補正制御手段111で、タイル境界近傍のハイパス係数(H3)について、その補正前の値が0であるか否かを調べ、0であるならばその係数を補正対象から除外する制御を行う。すなわち、ハイパス係数(H3)を、その係数値に応じて適応的に補正対象から除外する制御を行うことにより、タイル境界歪みの抑制効果の低下を避けつつ係数補正処理の効率を向上させるわけである。
図25は、本実施例における2次元ウェーブレット変換・逆変換部102及び係数補正部110の処理例を説明するためのフローチャートである。この処理は、量子化・逆量子化部103による逆量子化が終わった後に、最も上位のデコンポジションレベル(階層)から開始する。
まず、補正制御手段111において、現在のデコンポジションレベルの水平方向及び垂直方向のタイル境界近傍のハイパス係数(H3)それぞれについて0判定を行い、係数対応のフラグを設定する(step131)。ここでは、係数値(補正前の値)が0でない係数のフラグのみオン状態に設定するものとする。
係数補正部110において、水平方向のタイル境界に隣接するハイパス係数(H2)及びタイル境界近傍のハイパス係数(H3)の補正(クリッピング処理を含む)が行われる(step132)。この際、補正制御手段111は、step131で設定されたフラグを参照し、フラグがオン状態のハイパス係数(H3)は補正対象とし、フラグがオフ状態のハイパス係数(H3)は補正対象から除外する制御を行う。
2次元ウェーブレット変換・逆変換部102により、水平方向のウェーブレット逆変換が行われる(step133)。この水平方向逆変換後に、係数補正部110において垂直方向のタイル境界に隣接するハイパス係数(H2)及びタイル境界近傍のハイパス係数(H3)の補正が行われる(step134)。この際、補正制御手段111により、ハイパス係数(H3)に関しstep132と同様の制御が行われる。
次に、2次元ウェーブレット変換・逆変換部102で水平方向のウェーブレット順変換が行われ(step135)、係数補正部110でstep134で補正されたハイパス係数(H2,H3)に対するクリッピング処理が行われる(step136)。
次に、2次元ウェーブレット変換・逆変換部102により、水平方向及び垂直方向のウェーブレット逆変換が順に行われ(step137)、1つ下のデコンポジションレベルのLLサブバンド係数が生成される。そして、このデコンポジションレベルについて、step131〜step137の処理が繰り返される。デコンポジションレベル1まで同様の処理が行われて画像データが復元されると(step138,NO)、処理は終了する。
5×3ウェーブレット変換が用いられた符号データの場合、デコンポジションレベル1の処理において、step131で全てのタイル境界近傍のハイパス係数(H3)のフラグはオフ状態に設定される。したがって、step132及びstep134において全てのタイル境界近傍ハイパス係数(H3)は補正対象から除外される。
なお、step131を省き、step132の処理前の係数を保存しておき、step132及びstep134において、補正制御手段111で保存されているハイパス係数(H3)の0判定を行い、その結果によりハイパス係数(H3)を補正対象とするか否かの制御を行うことも可能である。かかる態様も本実施例に含まれる。
図12に関連して説明したように、タイル境界近傍のハイパス係数(H3)に対する量子化ステップ数が小さい場合には、その補正を省略することが可能である。また、図13に関連して説明したように、ハイパス係数(H3)の補正前の値が0の場合にも、その補正を省略することが可能である。
しかし、ハイパス係数(H3)の補正前の値が0でなく、かつ、その量子化ステップ数が大きい場合には、補正の必要性が高い。例えば、図14に示すように、タイル境界近傍のハイパス係数(H3)の符号化時の量子化前の値(図の原信号)がQと2Qの間にあると、このハイパス係数(H3)は、復号化時にQ+(3/8)Q
の位置に逆量子化される(リコンストラクションパラメータが3/8の場合)。5×3ウェーブレット変換の場合、この係数は0に補正され、次にクリッピングによりQの位置に戻される。量子化ステップ数Qが小さいときには、係数の補正前の値とクリップ値の差(3/8)Qは小さいので、係数の補正を省略し得る。しかし、符号データの圧縮率が大きく、その量子化ステップ数Qが大きいと、補正前の値とクリップ値の差(3/8)Qはかなり大きな値となるため、補正を行わないとタイル境界歪みが目立ってしまう。以上は5×3ウェーブレット変換の場合として説明したが、9×7ウェーブレット変換の場合にも同様のことが言える。
以上に鑑み、ここに述べる実施例に係る係数補正部110において、その補正制御手段111は、タイル境界近傍のハイパス係数(H3)に関し、量子化ステップ数と予め定めて閾値との比較判定と、補正前の係数値(逆量子化後の値)の0判定とを行い、補正前の値が0であるとき、及び、量子化ステップ数が所定の閾値以下のときに、ハイパス係数(H3)を補正の対象から除外し、補正前の係数値が0でなく、かつ、量子化ステップ数が閾値を超えるときにハイパス係数(H3)を補正の対象とするように制御する。すなわち、ハイパス係数(H3)を補正の対象とするか否かを補正前の係数値及び量子化ステップ数に応じて適応的に制御することにより、タイル境界歪みの抑制効果の低下を避けつつ、係数補正処理の効率を向上させる。
図26は、本実施例における2次元ウェーブレット変換・逆変換部102及び係数補正部110による処理を説明するためのフローチャートである。この処理は、量子化・逆量子化部103による逆量子化が終わった後に、最も上位のデコンポジションレベル(階層)から開始する。
まず、補正制御手段111において、現在のデコンポジションレベルのHL,LH,HHサブバンドのそれぞれについて、量子化ステップ数を予め設定した閾値と比較し、タイル境界に隣接しないタイル境界近傍のハイパス係数(H3)に対応するフラグのうち、量子化ステップ数が閾値以下のサブバンドに属するハイパス係数(H3)のフラグのみオン状態に設定する(step141)。
次に、補正制御手段111において、水平方向及び垂直方向のタイル境界近傍のハイパス係数(H3)それぞれについて0判定を行い、値が0のハイパス係数(H3)のフラグをオン状態に設定する(step142)。
次に係数補正部110において、水平方向のタイル境界に隣接するハイパス係数(H2)及びタイル境界近傍のハイパス係数(H3)の補正(クリッピング処理を含む)が行われる(step143)。この際、補正制御手段111は、各ハイパス係数(H3)のフラグを参照し、フラグがオン状態のハイパス係数(H3)を補正対象から除外する制御を行う。
2次元ウェーブレット変換・逆変換部102により、水平方向のウェーブレット逆変換が行われる(step144)。この水平方向逆変換後に、係数補正部110において垂直方向のタイル境界に隣接するハイパス係数(H2)及びタイル境界近傍のハイパス係数(H3)の補正(クリッピング処理を含まない)が行われる(step145)。この際、補正制御手段111によりハイパス係数(H3)に関しstep143と同様の制御が行われる。
次に、2次元ウェーブレット変換・逆変換部102で水平方向のウェーブレット順変換が行われ(step146)、係数補正部110でstep145で補正されたハイパス係数(H2,H3)に対するクリッピング処理が行われる(step147)。
次に、2次元ウェーブレット変換・逆変換部102により、水平方向及び垂直方向のウェーブレット逆変換が順に行われ(step148)、1つ下のデコンポジションレベルのLLサブバンド係数が生成される。そして、このデコンポジションレベルについて、step141〜step148の処理が繰り返される。デコンポジションレベル1まで同様の処理が行われて画像データが復元されると(step149,NO)、処理は終了する。
5×3ウェーブレット変換が用いられた符号データの場合、図26には明示されていないが、デコンポジションレベル1では、step141,142はスキップされ、step143の直前で全てのハイパス係数(H3)のフラグはオン状態に設定される。したがって、step143及びstep145において全てのハイパス係数(H3)は補正対象から除外される。
ここに示す実施例に係る画像処理装置においては、図1に示す補正モード指定部120を備える。係数補正部110は、タイル境界歪み抑制のための補正モードを複数持ち、補正モード指定部120により指定された補正モードを実行する。
補正モード指定部120は、ハードウェア、ファームウェア、ソフトウェア又はその組み合わせとして実現可能である。例えば、本実施例に係る画像処理装置がパソコンや携帯情報端末などのプログラム制御の機器にハードウェアもしくはファームウェア又はプログラムとして組み込まれた場合には、補正モード指定部120はアプリケーションプログラム又はオペレーティングシステムの一部として実現されるのが典型的な形態であろう。そして、ユーザは、モニタ装置の画面を介して対話的に補正モードを指定するのが実際的であろう。そのような例について図27により説明する。
図27に示す例においては、例えばマウスなどのポインティングデバイスを利用して、画面上に表示されているメニュー項目の一つである「ファイル」201を選択すると、そのプルダウンメニュー202が表示される。このプルダウンメニュー202中の「開く」206を選択することによりJPEG2000の圧縮ファイルを開くことができるが、その前に「プロパティ」203を選択することにより、どのような画質でファイルの内容を表示するか指定することができる。
すなわち、「プロパティ」203を選択すると、そのメニュー204が表示される。このメニュー204の1つの項目として「タイル境界歪み抑制機能」205がある。この「タイル境界歪み抑制機能」205の「無し」ボタンを選択すると、タイル境界歪み抑制のための係数補正を行わない「非補正モード」を指定したことになる。つまり、最も低い画質で表示したいときには「無し」を選択し、その後に「開く」206を選択すればよい。この場合は、指定されたJPEG2000の圧縮ファイルは、タイル境界歪み抑制のための係数補正処理を行うことなく復号され、その画像が表示されることになる。
一方、タイル境界歪みの目立たない画像として表示したい場合、ユーザは、図示のように「タイル境界歪み抑制機能」205の「有り」ボタンを選択する。この選択によりメニュー204内の、それまで非アクティブな状態であった「高品質モード」ボタンと「高速モード」ボタンがアクティブになり、ユーザはそのどちらかのモードを指定することができる。このような補正モード指定を行った後に、プルダウンメニュー202中の「開く」206を選択し、JPEG2000の圧縮ファイルを指定すると、その指定されたファイルが復号されるが、その際に指定された補正モードによりタイル境界歪み抑制のための係数補正処理が行われる。
すなわち、「高速モード」が指定された場合は、図15のフローチャートに示すように、タイル境界に隣接するハイパス係数(H2)のみを対象として係数補正が行われる。
一方、「高品質モード」が指定された場合は、タイル境界に隣接するハイパス係数(H2)及びタイル境界に隣接しない境界近傍のハイパス係数(H3)に対しタイル境界歪み抑制のための補正が行われる。例えば、ハイパス係数(H2)のみならずハイパス係数(H3)も常に補正される(この場合、図15中のstep101,103でハイパス係数(H3)の補正も行うような処理フローとなる)。
なお、「高品質モード」が指定された場合に、図24、図25又は図26のフローチャートに示すように、タイル境界に隣接しない境界近傍のハイパス係数(H3)に関し、量子化ステップ数、補正前の係数値、又は、量子化ステップ数及び補正前係数値に応じて適応的に補正対象から除外する制御を行うような処理とすること可能であり、かかる態様も本実施例に含まれる。
これと逆に、「高速モード」が指定された場合に、図24、図25又は図26のフローチャートに示すような係数補正処理を行い、「高品質モード」が指定された場合に、タイル境界に隣接しない境界近傍のハイパス係数(H3)を常に補正する係数補正処理を行うようにすることも可能であり、かかる態様も本実施例に含まれる。
また、「高品質モード」「高速モード」に加えて「中品質モード」を指定できるようにし、「高品質モード」が指定された場合にタイル境界のハイパス係数(H2)及び境界近傍のハイパス係数(H3)の補正を行い、「中品質モード」が指定された場合に図24、図25又は図26のフローチャートに示すような係数補正を行い、「高速モード」が指定された場合に図15のフローチャートに示すような係数補正を行うことも可能である。かかる態様も本実施例に含まれる。
また、図27に示す例では、ファイルを開く際のタイル境界歪み抑制機能をプルダウンメニューの形で指定するようにしているが、タイル境界歪み抑制機能を、復号する階層数、コンポーネント、位置(タイル、プレシンクト)などの、ファイルを開く際の各種パラメータの一つとしてタブ形式で表示し、タブを選択することでタイル境界歪み抑制のための補正モードの指定を行うようにすることも可能である。かかる態様も本実施例に含まれる。
以上の説明においては、コードストリームの全階層について復号処理を行うものとしたが、モニタ画面の解像度などの関係から、例えばデコンポジションレベル数が5の場合にデコンポジションレベル2まで復号する、というように一部の階層のみを復号することも可能であり、例えば、メニュー204などで「復号する階層数(デコンポジションレベル数)」を指定できるようにしてもよい。そして、階層数を指定した場合には、最上位の階層から指定階層数だけ復号処理を行い、その復号階層に対してのみ必要な係数補正を行うことになる。この場合、図15のstep107、図24のstep128、図25のstep138、又は、図26のstep149において、指定された最も下の階層まで処理が終わったかを判断することになる。図示しないが、前記各実施例において、このような復号階層数を指定可能とした態様も本発明に包含されることは明らかである。
また、復号される階層中の一部の階層に対してのみ、タイル境界歪み抑制のための係数補正を行わせることも可能である。この場合、図示しないが、前記各実施例のフローチャートの処理ループ内で、係数補正の必要な階層であるか否かを判定し、係数補正の必要な階層に対してのみ係数補正を実行し、それ以外の階層では2次元ウェーブレット逆変換のみを行わせればよいことは明らかである。このような一部の階層に対してのみ係数補正を行う態様も本発明に含まれる。
また、前記実施例5のように補正モードを指定できる場合に、指定された補正モードに応じて、復号される全ての階層に対し、あるいは、復号される一部の階層のみに対し、タイル境界歪み抑制のための係数補正を行わせることも可能である。復号される一部の階層のみに対し係数補正を行うならば、復号される全階層に対し係数補正を行う場合に比べ処理時間を短縮できる。かかる態様も本発明に含まれる。
以上、本発明に係る画像処理装置について説明したが、その処理内容の説明は、そのまま本発明に係る画像処理方法の処理の手順及び内容の説明でもあることは明らかである。よって、画像処理方法としての説明は繰り返さない。
また、以上においてはJPEG2000の符号データを扱う場合を例にして本発明を説明した。しかし、画像を重複しないタイル(ブロック)に分割し、タイル単位でウェーブレット変換その他の周波数変換を行い、その際にタイル境界部の不足する画素値又は係数値を、隣接タイルから補うのではなく、同じタイル内からミラリング等の手法で補うような、JPEG2000以外の符号化方式による符号データを扱う場合にも、本発明を適用し得ることは明らかである。
本発明の実施の形態を説明するためのブロック図である。
本発明に係る画像処理装置をコンピュータを利用して実現する形態を説明するためのブロック図である。
原画像と座標系を示す図である。
図3の原画像に対し垂直方向のウェーブレット変換を行った後の係数配列を示す図である。
図4の係数に対し水平方向のウェーブレット変換を行った後の係数配列を示す図である。
図5の係数をデインターリーブした係数配列を示す図である。
2回目の2次元ウェーブレット変換を行った後のインターリーブした係数配列を示す図である。
ミラリングの説明図である。
タイル境界歪み抑制のために補正される係数の位置関係を模式的に示す図である。
タイル境界歪み抑制のために補正される水平方向のタイル境界隣接係数及びタイル境界近傍係数を示す図である。
タイル境界歪み抑制のために補正される垂直方向のタイル境界隣接係数及びタイル境界近傍係数を示す図である。
タイル境界近傍係数の補正の要否の説明のための図である。
タイル境界近傍係数の補正の要否の説明のための図である。
タイル境界近傍係数の補正の要否の説明のための図である。
実施例1における係数補正に関連した処理内容を説明するためのフローチャートである。
デコンポジションレベル2のインターリーブ状態の係数配列を示す図である。
デコンポジションレベル2における水平方向の係数補正に係る係数を示す図である。
上記係数補正後の係数を水平方向にウェーブレット逆変換した後の係数配列を示す図である。
図18の係数に対する垂直方向の係数補正に係る係数を示す図である。
デコンポジションレベル1のデインターリーブ状態の係数配列を示す図である。
デコンポジションレベル1のインターリーブ状態の係数配列を示す図である。
デコンポジションレベル1における水平方向の係数補正に係る係数を示す図である。
上記水平方向の係数補正後の係数を水平方向にウェーブレット逆変換した後の係数に対する係数補正に係る係数を示す図である。
実施例2における係数補正に関連した処理内容を説明するためのフローチャートである。
実施例3における係数補正に関連した処理内容を説明するためのフローチャートである。
実施例4における係数補正に関連した処理内容を説明するためのフローチャートである。
実施例5においてディスプレイ画面上で補正モードを指定する方法の一例を説明するための図である。
符号の説明
101 色変換・逆変換部
102 2次元ウェーブレット変換・逆変換部
103 量子化・逆量子化部
104 エントロピー符号化・復号化部
105 符号形成・タグ処理部
110 係数補正部
111 補正制御手段
120 補正モード指定部