(57)【要約】【課題】画像データのダーク部、ハイライト部における奥行き感を損なうことなく、急峻なエッジを保存しつつ弱いエッジを除去する画像処理装置。【解決手段】伸長装置１００はJPEG2000の符号化データを伸長する。この伸長画像データには、急峻なエッジの周りに擬似エッジ（リンギング）が発生することがある。いわゆるεフィルタの類であるフィルタ処理部１１１により伸長画像データにフィルタ処理を施すことにより擬似エッジを除去するが、このフィルタ処理によりダーク部及びハイライト部の奥行き感が損なわれ可能性がある。出力処理部１１２は、奥行き感を保存するため、注目画素の明るさに応じてフィルタ処理後の画素値又はフィルタ処理前の画素値を出力値として選択し、あるいは、注目画素の明るさに応じた重み付けの割合でのフィルタ処理前後の画素値の補間によって出力値を決定する。【選択図】図７
2006211094.tif 000002
【特許請求の範囲】
【請求項１】
入力画像データに対し急峻なエッジを保存しつつ弱いエッジを平滑化するためのフィルタ処理を施すフィルタ処理手段と、
前記入力画像データの各画素の明るさ応じて、当該画素の出力値として前記フィルタ処理手段により処理後の画素値又は前記入力画像データの画素値を選択して出力する出力処理手段と、
を有することを特徴する画像処理装置。
【請求項２】
前記出力処理手段は、前記入力画像データの各画素の明るさが所定値より小さいときに当該画素の出力値として前記フィルタ処理手段により処理後の画素値を選択して出力し、、それ以外のときに当該画素の出力値として前記入力画像データの画素値を選択することを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記出力処理手段は、前記入力画像データの各画素の明るさが所定値より大きいときに当該画素の出力値として前記フィルタ処理手段により処理後の画素値を選択して出力し、それ以外のときに当該画素の出力値として前記入力画像データの画素値を選択して出力することを特徴とする請求項１記載の画像処理装置。
【請求項４】
前記出力処理手段は、前記入力画像データの各画素の明るさが所定値th1(ただしth1＞0)より小さいとき及び所定値th2(ただしth2＞th1＞0)より大きいときに当該画素の出力値として前記フィルタ処理手段により処理後の画素値を選択して出力し、それ以外のときに当該画素の出力値として前記入力画像データの画素値を選択して出力することを特徴とする請求項１記載の画像処理装置。
【請求項５】
入力画像データに対し急峻なエッジを保存しつつ弱いエッジを平滑化するためのフィルタ処理を施すフィルタ処理手段と、
前記入力画像データの各画素の明るさに応じて制御した重み付けの割合で、前記フィルタ処理手段により処理後の画素値と前記入力画像データの画素値とを補間した値を当該画素の出力値として出力する出力処理手段と、
を有することを特徴する画像処理装置。
【請求項６】
前記出力処理手段は、前記入力画像データの各画素の明るさが所定値より小さくなるにつれて又は大きくなるにつれて、前記フィルタ処理手段により処理後の画素値に対する重み付けの割合を徐々に大きくすることを特徴とする請求項５記載の画像処理装置。
【請求項７】
前記出力処理手段は、前記入力画像データの各画素の明るさが所定値th1以上(ただしth1＞0)、所定値th3以下(ただしth3＞th1＞0)の範囲ならば、前記明るさが所定値th2(ただしth3＞th2＞th1＞0)より小さくなるにつれて又は大きくなるにつれて前記フィルタ処理手段により処理後の画素値に対する重み付けの割合を徐々に大きくして前記フィルタ処理手段による処理後の画素値と前記入力画像データの画素値とを補間した値を当該画素の出力値として出力し、前記入力画像データの各画素の明るさが前記所定値th1より小さいとき及び前記所定値th3より大きいときに前記フィルタ処理手段により処理後の画素値を当該画素の出力値として出力することを特徴とする請求項５記載の画像処理装置。
【請求項８】
前記フィルタ処理手段は、前記入力画像データの各画素についてエッジ量（絶対値）を算出する手段と、前記入力画像データの各画素に対し、所定の値より小さいエッジ量が算出された近傍画素を用いる平滑化フィルタをかける手段とからなることを特徴とする請求項１乃至７のいずれか１項記載の画像処理装置。
【請求項９】
前記フィルタ処理手段は、前記入力画像データの各画素について、それを含む小ブロック内の画素値の分散を算出する手段と、前記入力画像データの各画素に対し、所定の値より小さい分散が算出された近傍画素を用いる平滑化フィルタをかける手段とからなることを特徴とする請求項１乃至７のいずれか１項記載の画像処理装置。
【請求項１０】
前記フィルタ処理手段は、前記入力画像データの各画素について、それを含む小ブロック内の画素値の分散を算出する手段と、前記入力画像データの各画素について、それを含む小ブロック内の画素について算出された分散の最大値を算出する手段と、前記入力画像データの各画素に対し、所定の値より小さい分散の最大値が算出された近傍画素を用いて平滑化フィルタをかける手段とからなることを特徴とする請求項１乃至７のいずれか１項記載の画像処理装置。
【請求項１１】
入力画像データに対し急峻なエッジを保存しつつ弱いエッジを平滑化するためのフィルタ処理を施すフィルタ処理工程と、
前記入力画像データの各画素の明るさに応じて、当該画素の出力値として前記フィルタ処理工程により処理後の画素値又は前記入力画像データの画素値を選択し出力する出力処理工程と、
を有することを特徴する画像処理方法。
【請求項１２】
入力画像データに対し急峻なエッジを保存しつつ弱いエッジを平滑化するためのフィルタ処理を施すフィルタ処理工程と、
前記入力画像データの各画素の明るさに応じて制御した重み付けの割合で、前記フィルタ処理工程により処理後の画素値と前記入力画像データの画素値とを補間した値を当該画素の出力値として出力する出力処理工程と、
を有することを特徴する画像処理方法。
【請求項１３】
入力画像データに対し急峻なエッジを保存しつつ弱いエッジを平滑化するためのフィルタ処理を施すフィルタ処理手段、
前記入力画像データの各画素の明るさに応じて、当該画素の出力値として前記フィルタ処理手段により処理後の画素値又は前記入力画像データの画素値を選択して出力する出力処理手段、
としてコンピュータを機能させるプログラム。
【請求項１４】
入力画像データに対し急峻なエッジを保存しつつ弱いエッジを平滑化するためのフィルタ処理を施すフィルタ処理手段、
前記入力画像データの各画素の明るさが所定の値より小さいときに当該画素の出力値として前記フィルタ処理手段により処理後の画素値を選択して出力し、それ以外のときに当該画素の出力値として前記入力画像データの画素値を選択して出力する出力処理手段、
としてコンピュータを機能させるプログラム。
【請求項１５】
入力画像データに対し急峻なエッジを保存しつつ弱いエッジを平滑化するためのフィルタ処理を施すフィルタ処理手段、
前記入力画像データの各画素の明るさが所定値より大きいときに当該画素の出力値として前記フィルタ処理手段により処理後の画素値を選択して出力し、それ以外のときに当該画素の出力値として前記入力画像データの画素値を選択して出力する出力処理手段、
としてコンピュータを機能させるプログラム。
【請求項１６】
入力画像データに対し急峻なエッジを保存しつつ弱いエッジを平滑化するためのフィルタ処理を施すフィルタ処理手段、
前記入力画像データの各画素の明るさが所定値th1(ただしth1＞0)より小さいとき及び所定値th2(ただしth2＞th1＞0)より大きいときに当該画素の出力値として前記フィルタ処理手段により処理後の画素値を選択して出力し、それ以外のときに当該画素の出力値として前記入力画像データの画素値を選択して出力する出力処理手段、
としてコンピュータを機能させるプログラム。
【請求項１７】
入力画像データに対し急峻なエッジを保存しつつ弱いエッジを平滑化するためのフィルタ処理を施すフィルタ処理手段、
前記入力画像データの各画素の明るさに応じて制御した重み付けの割合で、前記フィルタ処理手段により処理後の画素値と前記入力画像データの画素値とを補間した値を当該画素の出力値として出力する出力処理手段、
としてコンピュータを機能させるプログラム。
【請求項１８】
前記出力処理手段は、前記入力画像データの各画素の明るさが所定値より小さくなるにつれて又は大きくなるにつれて、前記フィルタ処理手段により処理後の画素値に対する重み付けの割合を徐々に大きくすることを特徴とする請求項１７記載のプログラム。
【請求項１９】
前記出力処理手段は、前記入力画像データの各画素の明るさが所定値th1以上(ただしth1＞0)、所定値th3以下(ただしth3＞th1＞0)の範囲ならば、前記明るさが所定値th2(ただしth3＞th2＞th1＞0)より小さくなるにつれて又は大きくなるにつれて前記フィルタ処理手段により処理後の画素値に対する重み付けの割合を徐々に大きくして前記フィルタ処理手段による処理後の画素値と前記入力画像データの画素値とを補間した値を当該画素の出力値として出力し、前記入力画像データの各画素の明るさが前記所定値th1より小さいとき及び前記所定値th3より大きいときに前記フィルタ処理手段により処理後の画素値を当該画素の出力値として出力することを特徴とする請求項１７記載のプログラム。
【請求項２０】
請求項１３乃至１９のいずれか１項記載のプログラムが記録された、コンピュータが読み取り可能な情報記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データに対しフィルタ処理を施す画像処理装置及び方法に係り、特に、符号化データの伸長画像データにおける擬似エッジのような弱いエッジを平滑化する一方で本来のエッジを保存する処理を行う画像処理装置及び方法に関する。本発明は、その応用範囲は広範であり、例えば、画像処理機能を持つ携帯電話機などの携帯情報機器、デジタルカメラなどの画像撮像機器、パソコンなどのコンピュータのアプリケーションプログラムもしくはプリンタドライバなどのデバイスドライバに適用し得るものである。
【背景技術】
【０００２】
画像に対するフィルタ処理を、画素値や画像特徴量により制御する技術に関する文献は極めて多いが、代表的なものとして例えば特許文献１〜５がある。
【０００３】
特許文献１には、原信号とそれを網点パターンの周波数成分除去のためのフィルタに通した信号とを混合した信号を出力する装置又は方法において、その混合比を原画像の注目画素近傍の平均濃度値又はフィルタを通した注目画素の濃度値により変化させ、モアレの目立ちやすい高濃度域及び低濃度域ではフィルタを通した信号の割合を大きくすることによってモアレ抑制を優先させ、モアレの目立ちにくい中間濃度域では原信号の割合を大きくすることにより網点画像エッジ部の画質劣化を抑える発明が記載されている。
【０００４】
特許文献２には、画像の処理領域に対しエッジ強調等のためのフィルタ処理を行う装置及び方法において、原稿の下地の部分についてはフィルタ処理を省略するが、処理領域より大きな判定領域を用いて下地判定を行うことにより、非下地部分に対するフィルタ処理の省略を避ける発明が記載されている。
【０００５】
特許文献３には、画像の平滑化処理を行う装置において、元の画像のメリハリを薄れさせることなく、様々な種類のソフトなイメージの画像を得るために、複数種類の特徴量（明度の分散、エッジ強度、特定色との色差）から任意の特徴量を選択できるようにし、選択された特徴量を注目画素について算出し、算出した特徴量に応じて注目画素に対する平滑化処理に用いられる近傍画素の範囲や注目画素に対する平滑化の度合を変化させる発明が記載されている。
【０００６】
特許文献４には、画像に対しエッジ強調を行うデジタルフィルタにおいて、処理前後で画像全体の濃度が保存されるようするため、注目画素の濃度値に基づいてフィルタ係数の値を変更する発明が記載されている。
【０００７】
【特許文献１】特開平10-276332号公報
【特許文献２】特開平2002-288654号公報
【特許文献３】特開平10-208038号公報
【特許文献４】特開平04-329485号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
近年、画像入出力技術の進歩により、画像に対する高精細化の要求が高まっている。画像入力機器としてデジタル・カメラを例にあげると、画素数が３００万以上の高性能な電化結合素子の低価格化が進み、普及価格帯の製品においても広く用いられるようになっている。画像出力装置に関してもレーザ・プリンタ、インクジェット・プリンタ等のハード・コピー分野における高精細化・低価格化は目を見張るものがあり、このことはディスプレイ等のソフト・コピー分野においても例外ではない。こうした高性能・低価格な画像入出力機器の市場投入によって、高精細画像の大衆化が始まっており、あらゆる場面で高精細画像の需要が高まると予想される。
【０００９】
以上を背景として、高精細画像を容易に取扱うことのできる圧縮伸長技術に対する要求も、今後ますます高まっていくことは必至と思われる。こうした要求を満たす圧縮方式の一つとして、高圧縮率でも高画質な画像を復号可能なJPEG2000がある。
【００１０】
JPEG2000は、高圧縮率でも、JPEGのブロック歪みのようなノイズを発生しない。これは、JPEGでは８画素ｘ８画素のブロックでDCT変換をして量子化を行うため、隣接するブロック間で量子化ノイズが異なる特性をもつ場合にブロックノイズが生じるのに対し、JPEG2000では、通常、画像全面でウェーブレット変換をかけて量子化するためである。JPEG2000にもブロックと同等なタイルという概念が存在するが、タイルのサイズは、通常、最低でも128画素x128画素程度であり、JPEGの８画素x８画素のブロックサイズよりもかなり大きいため、JPEG2000のタイル境界歪みはJPEGのブロック歪みほど目障りでない。
【００１１】
しかし、JPEG2000の符号化データを伸長した画像において、真のエッジの近傍に微細な擬似エッジ（リンギング）が生じることがある。このようなリンギングが発生する原因を図１と図２により説明する。
【００１２】
JPEG2000では、圧縮時のウェーブレット変換により、原信号は低周波成分Ｌｏｗと高周波成分Ｈｉｇｈに分割される。ロスレス圧縮では、図１に示すように、これら周波数成分は保存されるため、伸長時の逆ウェーブレット変換で足し合わされて原信号に戻る。しかし、高圧縮率のロシー圧縮では、量子化により例えば図２のように高周波数成分Ｈｉｇｈが失われたような場合には、伸長時の逆ウェーブレット変換後の信号は低周波成分Ｌｏｗのみとなり、急峻なエッジの近傍に微細な擬似エッジ（リンギング）が発生することがある。
【００１３】
なお、JPEG2000では２次元のウェーブレット変換が用いられるが、図１及び図２では簡略化のためウェーブレット変換は１次元で表されている。
【００１４】
画像中の上記リンギングのような弱いエッジを平滑化し、かつ、真のエッジである急峻なエッジを保存する目的に向いたフィルタとして、いわゆるεフィルタがある（εフィルタについては、例えば、「安藤勝俊，外３名，”Motion  JPEG2000におけるポストフィルタによる画質改善の検討”，2002年画像符号化シンポジウム(PCSJ2002)，2002年11月，pp.59-60」、及び、「佐々木陽助，外４名，”εフィルタによるJPEG2000復号画像の画質改善”，日本画像学会誌第４１巻第１号（2002），pp.46-51」を参照）。
【００１５】
しかし、εフィルタはリンギング抑制効果を期待できるものの、画像のハイライト部又はダーク部において過平滑（つぶれ）により画像の奥行き感を損なう可能性がある。
【００１６】
よって、本発明の目的は、入力画像のハイライト部及び／又はシャドー部における奥行き感をできるだけ損なわずに、入力画像の急峻なエッジを保存しつつリンギングのような弱いエッジを除去した出力画像を得ることができる画像処理装置及び方法を提供することにある。
【課題を解決するための手段】
【００１７】
請求項１記載の発明は、入力画像データに対し急峻なエッジを保存しつつ弱いエッジを平滑化するためのフィルタ処理を施すフィルタ処理手段と、前記入力画像データの各画素の明るさに応じて、当該画素の出力値として前記フィルタ処理手段により処理後の画素値又は前記入力画像データの画素値を選択して出力する出力処理手段とを有することを特徴する画像処理装置である。
【００１８】
請求項２記載の発明は、請求項１記載の発明に係る画像処理装置であって、前記出力処理手段は、前記入力画像データの各画素の明るさが所定値より小さいときに当該画素の出力画素値として前記フィルタ処理手段により処理後の画素値を選択して出力し、それ以外のときに当該画素の出力値として前記入力画像データの画素値を選択して出力することを特徴とする画像処理装置である。
【００１９】
請求項３記載の発明は、請求項１記載の発明に係る画像処理装置であって、前記出力処理手段は、前記入力画像データの各画素の明るさが所定値より大きいときに当該画素の出力値として前記フィルタ処理手段により処理後の画素値を選択して主力し、それ以外のときに当該の出力値として前記入力画像データの画素値を選択して出力することを特徴とする画像処理装置である。
【００２０】
請求項４記載の発明は、請求項１記載の発明に係る画像処理装置であって、前記出力処理手段は、前記入力画像データの各画素の明るさが所定値th1(ただしth1＞0)より小さいとき及び所定値th2(ただしth2＞th1＞0)より大きいときに当該画素の出力値として前記フィルタ処理手段により処理後の画素値を選択して出力し、それ以外のときに当該画素の出力値として前記入力画像データの画素値を選択して出力することを特徴とする画像処理装置である。
【００２１】
請求項５記載の発明は、入力画像データに対し急峻なエッジを保存しつつ弱いエッジを平滑化するためのフィルタ処理を施すフィルタ処理手段と、前記入力画像データの各画素の明るさに応じて制御した重み付けの割合で、前記フィルタ処理手段により処理後の画素値と前記入力画像データの画素値とを補間した値を当該画素の出力値として出力する出力処理手段とを有することを特徴する画像処理装置である。
【００２２】
請求項６記載の発明は、請求項５記載の発明に係る画像処理装置であって、前記出力処理手段は、前記入力画像データの各画素の明るさが所定値より小さくなるにつれて又は大きくなるにつれて、前記フィルタ処理手段により処理後の画素値に対する重み付けの割合を徐々に大きくすることを特徴とする画像処理装置である。
【００２３】
請求項７記載の発明は、請求項５記載の発明に係る画像処理装置であって、前記出力処理手段は、前記入力画像データの各画素の明るさが所定値th1以上(ただしth1＞0)、所定値th3以下(ただしth3＞th1＞0)の範囲ならば、前記明るさが所定値th2(ただしth3＞th2＞th1＞0)より小さくなるにつれて又は大きくなるにつれて前記フィルタ処理手段により処理後の画素値に対する重み付けの割合を徐々に大きくして前記フィルタ処理手段による処理後の画素値と前記入力画像データの画素値とを補間した値を当該画素の出力値として出力し、前記入力画像データの各画素の明るさが前記所定値th1より小さいとき及び前記所定値th3より大きいときに前記フィルタ処理手段により処理後の画素値を当該画素の出力値として出力することを特徴とする画像処理装置である。
【００２４】
請求項８記載の発明は、請求項１乃至７のいずれか１項記載の発明に係る画像処理装置であって、前記フィルタ処理手段は、前記入力画像データの各画素についてエッジ量（絶対値）を算出する手段と、前記入力画像データの各画素に対し、所定の値より小さいエッジ量が算出された近傍画素を用いる平滑化フィルタをかける手段とからなることを特徴とする画像処理装置である。
【００２５】
請求項９記載の発明は、請求項１乃至７のいずれか１項記載の発明に係る画像処理装置であって、前記フィルタ処理手段は、前記入力画像データの各画素について、それを含む小ブロック内の画素値の分散を算出する手段と、前記入力画像データの各画素に対し、所定の値より小さい分散が算出された近傍画素を用いる平滑化フィルタをかける手段とからなることを特徴とする画像処理装置である。
【００２６】
請求項１０記載の発明は、請求項１乃至７のいずれか１項記載の発明に係る画像処理装置であって、前記フィルタ処理手段は、前記入力画像データの各画素について、それを含む小ブロック内の画素値の分散を算出する手段と、前記入力画像データの各画素について、それを含む小ブロック内の画素について算出された分散の最大値を算出する手段と、前記入力画像データの各画素に対し、所定の値より小さい分散の最大値が算出された近傍画素を用いて平滑化フィルタをかける手段とからなることを特徴とする画像処理装置である。
【００２７】
請求項１１記載の発明は、入力画像データに対し急峻なエッジを保存しつつ弱いエッジを平滑化するためのフィルタ処理を施すフィルタ処理工程と、前記入力画像データの各画素の明るさに応じて、当該画素の出力値として前記フィルタ処理工程により処理後の画素値又は前記入力画像データの画素値を選択し出力する出力処理工程とを有することを特徴する画像処理方法である。
【００２８】
請求項１２記載の発明は、入力画像データに対し急峻なエッジを保存しつつ弱いエッジを平滑化するためのフィルタ処理を施すフィルタ処理工程と、前記入力画像データの各画素の明るさに応じて制御した重み付けの割合で、前記フィルタ処理工程により処理後の画素値と前記入力画像データの画素値とを補間した値を当該画素の出力値として出力する出力処理工程とを有することを特徴する画像処理方法である。
【００２９】
請求項１３記載の発明は、入力画像データに対し急峻なエッジを保存しつつ弱いエッジを平滑化するためのフィルタ処理を施すフィルタ処理手段、前記入力画像データの各画素の明るさに応じて、当該画素の出力値として前記フィルタ処理手段により処理後の画素値又は前記入力画像データの画素値を選択して出力する出力処理手段としてコンピュータを機能させるプログラムである。
【００３０】
請求項１４記載の発明は、入力画像データに対し急峻なエッジを保存しつつ弱いエッジを平滑化するためのフィルタ処理を施すフィルタ処理手段、前記入力画像データの各画素の明るさが所定の値より小さいときに当該画素の出力値として前記フィルタ処理手段により処理後の画素値を選択して出力し、それ以外のときに当該画素の出力値として前記入力画像データの画素値を選択して出力する出力処理手段としてコンピュータを機能させるプログラムである。
【００３１】
請求項１５記載の発明は、入力画像データに対し急峻なエッジを保存しつつ弱いエッジを平滑化するためのフィルタ処理を施すフィルタ処理手段、前記入力画像データの各画素の明るさが所定値より大きいときに当該画素の出力値として前記フィルタ処理手段により処理後の画素値を選択して出力し、それ以外のときに当該画素の出力値として前記入力画像データの画素値を選択して出力する出力処理手段としてコンピュータを機能させるプログラムである。
【００３２】
請求項１６記載の発明は、入力画像データに対し急峻なエッジを保存しつつ弱いエッジを平滑化するためのフィルタ処理を施すフィルタ処理手段、前記入力画像データの各画素の明るさが所定値th1(ただしth1＞0)より小さいとき及び所定値th2(ただしth2＞th1＞0)より大きいときに当該画素の出力値として前記フィルタ処理手段により処理後の画素値を選択して出力し、それ以外のときに当該画素の出力値として前記入力画像データの画素値を選択して出力する出力処理手段としてコンピュータを機能させるプログラムである。
【００３３】
請求項１７記載の発明は、入力画像データに対し急峻なエッジを保存しつつ弱いエッジを平滑化するためのフィルタ処理を施すフィルタ処理手段、前記入力画像データの各画素の明るさに応じて制御した重み付けの割合で、前記フィルタ処理手段により処理後の画素値と前記入力画像データの画素値とを補間した値を当該画素の出力値として出力する出力処理手段としてコンピュータを機能させるプログラムである。
【００３４】
請求項１８記載の発明は、請求項１７記載の発明に係るプログラムであって、前記出力処理手段は、前記入力画像データの各画素の明るさが所定値より小さくなるにつれて又は大きくなるにつれて、前記フィルタ処理手段により処理後の画素値に対する重み付けの割合を徐々に大きくすることを特徴とするプログラムである。
【００３５】
請求項１９記載の発明は、請求項１７記載の発明に係るプログラムであって、前記出力処理手段は、前記入力画像データの各画素の明るさが所定値th1以上(ただしth1＞0)、所定値th3以下(ただしth3＞th1＞0)の範囲ならば、前記明るさが所定値th2(ただしth3＞th2＞th1＞0)より小さくなるにつれて又は大きくなるにつれて前記フィルタ処理手段により処理後の画素値に対する重み付けの割合を徐々に大きくして前記フィルタ処理手段による処理後の画素値と前記入力画像データの画素値とを補間した値を当該画素の出力値として出力し、前記入力画像データの各画素の明るさが前記所定値th1より小さいとき及び前記所定値th3より大きいときに前記フィルタ処理手段により処理後の画素値を当該画素の出力値として出力することを特徴とするプログラムである。
【００３６】
請求項２０記載の発明は、請求項１３乃至１９のいずれか１項記載の発明に係るプログラムが記録された、コンピュータが読み取り可能な情報記録媒体である。
【発明の効果】
【００３７】
請求項１〜１２記載の発明によれば、入力画像データ中の急峻なエッジは保存され擬似エッジのような弱いエッジが除去された、かつ、ダーク部及び／又はハイライト部における奥行き感が保存された出力画像データを生成することができる。特に、請求項２記載の発明によればダーク部における奥行き感を保存することができ、請求項３記載の発明によればハイライト部における奥行き感を保存することができ、請求項４記載の発明によればダーク部及びハイライト部における奥行き感を保存することができ、また、請求項５〜７記載の発明によれば、ダーク部近傍の明るさを持つ画素又はハイライト部近傍の明るさを持つ画素における奥行き感が不自然になることを防止することができる。請求項８〜１０記載の発明によれば入力画像データ中の急峻なエッジを保存しつつ擬似エッジのような弱いエッジを確実に除去することができる。請求項１３〜２０記載の発明によれば、請求項１〜１０記載の発明をコンピュータを利用し容易に実施することができる、等々の効果を得られる。
【発明を実施するための最良の形態】
【００３８】
本発明の実施の形態の説明に先立ち、JPEG2000の概要を説明する。図３はJPEG2000の圧縮（符号化）処理の概要を示すブロック図である。
【００３９】
例えばＲＧＢ表色系の画像データは、コンポーネント毎に重複しない矩形ブロック（タイル）に分割される。各タイルの各コンポーネントの画像データは、ＤＣレベルシフトとＹＣｂＣｒ表色系への色変換が行われる（ブロック１）。以後、Ｙ，Ｃｂ，Ｃｒ各コンポーネントが別々に処理される。まず、タイル毎に２次元のウェーブレット変換が行われサブバンドに分割される（ブロック２）。JPEG2000の基本仕様では、ウェーブレット変換として９×７変換を用いる場合、ウェーブレット係数はサブバンド毎に線形量子化される（ブロック３）。次に、ウェーブレット係数はビットプレーン符号化される（ブロック４）。次に、不要なエントロピー符号を破棄し（ポスト量子化）、必要なエントロピー符号をまとめてパケットが生成される（ブロック５）。最後にパケットが所定の順に並べられるとともに必要なヘッダなどが付加されることにより、１本のコードストリーム（符号化データ）が形成される（ブロック６）。
【００４０】
図４は画像、タイル、サブバンド、プリシンクト、コードブロックの関係を示す図である。プリシンクトとは、サブバンドを（ユーザが指定可能なサイズの）矩形に分割したものであり、ＨＬ，ＬＨ，ＨＨの３つのサブバンドの対応したプリシンクトが１まとまりで扱われる。プリシンクトは大まかには画像中の場所（Position）を表す。プリシンクトをサブバンドと同じサイズにすることもできる。プリシンクトをさらに（ユーザが指定可能なサイズの）矩形に分割したものがコードブロックである。
【００４１】
サブバンドの係数はコードブロック単位でビットプレーン符号化される（詳しくは１つのビットプレーンは３つのサブビットプレーンに分解されて符号化される）。プリシンクトに含まれる全てのコードブロックの符号から一部を取り出して集めたもの（例えば全てのコードブロックのMSBから３枚目までのビットプレーンの符号を集めたもの）がパケットである。
【００４２】
全てのプリシンクト（＝全てのコードブロック＝全てのサブバンド）のパケットを集めると、画像全域の符号の一部（例えば画像全域のウェーブレット係数の、MSBから３枚目までのビットプレーンの符号）ができるが、これをレイヤーとよぶ。レイヤーは、大まかには画像全体のビットプレーンの符号の一部であるから、復号されるレイヤー数が増えれば画質は上がる。すべてのレイヤーを集めると、画像全域の全てのビットプレーンの符号になる。
【００４３】
ウェーブレット変換の階層数(デコンポジションレベル数)＝２、プリシンクトサイズ＝サブバンドサイズ、としたときのレイヤーの例を図５に示す。そのレイヤーに含まれるパケットの例を図６に示す。この例の場合、プリシンクトサイズ＝サブバンドサイズであり、デコンポジションレベル２のサブバンドは４つのコードブロックに、デコンポジションレベル１のサブバンドは９個のコードブロックに分割されている。パケットはプリシンクトを単位とするものであるから、プリシンクト＝サブバンドとした場合、ＨＬ〜ＨＨサブバンドをまたいだものとなる。
【００４４】
上に述べたようにパケットは「コードブロックの符号の一部を取り出して集めたもの」であり、不要な符号はパケットとして生成する必要はない。例えば、図５のレイヤー９に含まれる様な下位ビットプレーンの符号は破棄されるのが通常である。したがって、符号破棄による画質制御（ポスト量子化）は、コードブロック単位（かつサブビットプレーン単位）で可能である。
【００４５】
JPEG2000の伸長（復号化）処理は圧縮処理の丁度逆の処理になる。伸長処理については実施の形態に関連して後述する。
［実施の形態］
以下、本発明の実施の形態について説明する。図７は本発明の実施の形態を説明するためのブロック図である。図７において、１００はJPEG2000の符号化データの伸長（復号化）処理を行う伸長装置であり、機能的にはブロック１０１〜１０６から構成される。１１０は伸長装置１００により伸長された画像データが入力される、本発明に係る画像処理装置である。
【００４６】
伸長装置１００について簡略に説明する。ブロック１０１で符号化データを解析しパケットに分割し、次にブロック１０２でパケットをコードブロック単位に分割する。次に、ブロック１０３で、コードブロック毎に符号のビットプレーン復号化を行いウェーブレット係数を得る。次にブロック１０４で、ウェーブレット係数に対しサブバンド単位で逆量子化（９×７変換の場合）を行う。次にブロック１０５で、タイル毎に２次元逆ウェーブレット変換を行う。ここでは符号化データはＹ，Ｃｂ，Ｃｒコンポーネントからなるものとすると、この段階でＹ，Ｃｂ，Ｃｒ各コンポーネントの画像データが復元される。次にブロック１０６で、この画像データの逆色変換及びＤＣ逆レベルシフトを行い、元のＲＧＢ表色系の伸長画像データを生成する。
【００４７】
前述したように、高圧縮率のロシー符号化データから伸長された画像データには、急峻なエッジの近傍に擬似的な弱いエッジ（リンギング）が発生することがある。本発明に係る画像処理装置１１０は、急峻なエッジを保存しつつリンギングのような弱いエッジを除去し、かつ、ダーク部及び／又はハイライト部における奥行き感を保存する処理を行うものである。
【００４８】
画像処理装置１１０は、入力画像データ（ここでは伸長画像データ）に対し急峻なエッジを保存しつつリンギングのような弱いエッジを除去するためのフィルタ処理を施すフィルタ処理部（フィルタ処理手段）１１１と、このフィルタ処理により損なわれる可能性のあるダーク部及び／又はハイライト部における奥行き感を保存するための処理を行う出力処理部（出力処理手段）１１２とから構成される。
【００４９】
出力処理部１１２は、入力画像データより各画素の明暗を表す指標を検出し、その指標により表される画素の明るさの情報を出力する明暗検出部１１３と、入力画像データ及びフィルタ処理部１１１によるフィルタ処理後の画像データより、明暗検出部１１３から入力される注目画素の明るさの情報に応じて各画素の最終的な出力値を決定する出力値決定部１１４とから構成される。
【００５０】
本実施形態では、明暗検出部１１３は明暗を表す指標として注目画素のＲＧＢコンポーネント値から輝度値を算出するものとして説明するが、これのみに限られない。輝度値を算出する代わりに、例えばＲＧＢ画像データのＧコンポーネント値や、ＣＭＹＫ画像データのＫコンポーネント値などを明暗指標として用いることも可能である。また、本実施形態の場合、伸長装置１００内のブロック１０５でＹＣｒＣｂ画像データが生成されるので、そのＹ（輝度）コンポーネント値を明暗指標として用いることも可能である。
【００５１】
以下、フィルタ処理部１１１及び出力処理部１１２について詳細に説明する。なお、本実施形態にあっては、画像処理装置１１０は入力画像データ（伸長画像データ）に対しＲ，Ｇ，Ｂ各コンポーネントの処理を独立して行うため、以下の説明ではコンポーネントを区別せず単に入力画像データと記す。
【００５２】
［フィルタ処理部の説明（１）］
図８はフィルタ処理部１１１の実施例１を示すブロック図である。本実施例に係るフィルタ処理部１１１はエッジ量算出部２０１、画素選択部２０２及び平滑化フィルタ部２０３から構成される。
【００５３】
エッジ量算出部２０１は、入力画像データの各画素について例えば図９に示すような３×３のエッジ量検出フィルタを用いてエッジ量（絶対値）を算出する。なお、エッジ量検出フィルタはこれに限るものではない。
【００５４】
画素選択部２０２は、注目した画素を中心とした例えば３×３画素の小ブロック内で、エッジ量算出手段２０１により算出されたエッジ量（絶対値）が所定の閾値ε以下の画素を選択し、選択結果を平滑化フィルタ部２０３に通知する。
【００５５】
平滑化フィルタ部２０３は、入力画像データに対し平滑化フィルタをかけるものであり、ここでは、入力画像データの注目した画素を中心とした例えば３×３画素の小ブロック内における画素選択手段２０２で選択された画素の画素値の平均値を求める。なお、平滑化フィルタ部２０３において、３×３画素の小ブロック内のエッジ量が閾値ε以下の画素の画素値に重み係数を乗じた値を加算し、その値の総和を、エッジ量が閾値ε以下の画素の重み係数の和で除した値を求めるようにしてもよい。また、平滑化フィルタのサイズは３×３画素に限らない。
【００５６】
画素選択部２０２は、急峻なエッジまわりのリンギングのような弱いエッジの抽出手段に相当し、注目画素がリンギングのような弱いエッジに対応する場合にはその近傍画素の多くが選択される結果、リンギングのような弱いエッジは平滑化フィルタ部２０３で平滑化される。換言すれば、そのような画素選択及び平滑化が行われるように閾値εが選ばれる。
【００５７】
ここまでの説明から理解されるように、本実施例に係るフィルタ処理部１１１は、いわゆるεフィルタの一種であり、画像中の真のエッジを保存しつつ、急峻なエッジのまわりに発生する擬似エッジ（リンギング）のような弱い（微細な）エッジの除去を行うことができる。また、本実施例に係るフィルタ処理部１１１は、請求項８に係る発明におけるフィルタ処理手段に相当するものである。
【００５８】
本実施例に係るフィルタ処理部１１１は、ハードウェアによって容易に実現可能であるが、ＣＰＵとメモリなどから構成されるコンピュータを利用してプログラムにより実現することも可能である。後者の実現形態について図１０のフローチャートを参照して説明する。
【００５９】
図１０のステップ２１０〜２１２はエッジ量算出部２０１に対応する処理部分であり、コンピュータのメモリに保存されている入力画像データより、注目画素を順次移動させながらエッジ量（絶対値）が算出される。算出された各画素のエッジ量のデータはコンピュータのメモリに一時的に保存される。
【００６０】
ステップ２１３〜２２０は画素選択部２０２と平滑化フィルタ部２０３に相当する処理部分である。この処理部分では、入力画像データより１の画素を注目画素に選び、注目画素を中心とした例えば３×３画素の小ブロック内で、エッジ量ｅ（ｉ，ｊ）が閾値ε以下の画素を見つけ、その個数Ｔと、それら画素の画素値の合計Ｘ（ｉ，ｊ）を求め、Ｘ（ｉ，ｊ）をＴで除することにより注目画素に対するフィルタ処理結果Ｙ（ｉ，ｊ）を求める。この処理を、注目画素を最後の画素まで順次移動しながら繰り返す。フィルタ処理結果のデータはコンピュータのメモリに保存される。
【００６１】
［フィルタ処理部の説明（２）］
図１１はフィルタ処理部１１１の実施例２を示すブロック図である。本実施例に係るフィルタ処理部１１１は分散算出部３０１、画素選択部３０２及び平滑化フィルタ部３０３から構成される。
【００６２】
分散算出手段３０１は、入力画像データの各画素について、例えば、その画素を中心としたＮ×Ｎ画素の小ブロック内の画素値の分散を算出する。Ｎ＝３としたときの分散（ｂｕｎｓａｎ）は次式により算出される。
【００６３】
【数１】
2006211094.tif 000003
式中、ｘは画素値、ａｖｅは３×３画素ブロック内の画素値の平均である。なお、分散を算出するブロックサイズはこれに限らない。
【００６４】
画素選択部３０２は、注目した画素を中心とした例えば３×３画素の小ブロック内で、分散算出手段３０１により算出された分散が所定の閾値ε以下の画素を選択し、選択結果を平滑化フィルタ部３０３に通知する。
【００６５】
平滑化フィルタ部３０３は、入力画像データに対し平滑化フィルタをかけるものであり、ここでは、入力画像データの注目した画素を中心とした例えば３×３画素の小ブロック内における画素選択手段３０２で選択された画素の画素値の平均値を求める。なお、平滑化フィルタ部３０３において、３×３画素の小ブロック内の分散が閾値ε以下の画素の画素値に重み係数を乗じた値を加算し、その値の総和を、エッジ量が閾値ε以下の画素の重み係数の和で除した値を求めるようにしてもよい。また、平滑化フィルタのサイズは３×３画素に限らない。
【００６６】
画素選択部３０２は、急峻なエッジまわりのリンギングのような弱いエッジの抽出手段に相当し、注目画素がリンギングのような弱いエッジに対応する場合にはその近傍画素の多くが選択される結果、リンギングのような弱いエッジは平滑化フィルタ部３０３で平滑化される。換言すれば、そのような画素選択及び平滑化が行われるように閾値εが選ばれる。
【００６７】
ここまでの説明から理解されるように、本実施例に係るフィルタ処理部１１１は、いわゆるεフィルタの一種であり、画像中の真のエッジを保存しつつ、急峻なエッジのまわりに発生する擬似エッジ（リンギング）のような弱い（微細な）エッジの除去を行うことができる。また、本実施例に係るフィルタ処理部１１１は、請求項９に係る発明におけるフィルタ処理手段に相当するものである。
【００６８】
本実施例に係るフィルタ処理部１１１は、ハードウェアによって容易に実現可能であるが、ＣＰＵとメモリなどから構成されるコンピュータを利用してプログラムにより実現することも可能である。後者の実現形態について図１２のフローチャートを参照して説明する。
【００６９】
図１２のステップ３１０〜３１２は分散算出部３０１に対応する処理部分であり、コンピュータのメモリに保存されている入力画像データより、注目画素を順次移動させながら分散が算出される。算出された各画素の分散のデータはコンピュータのメモリに一時的に保存される。
【００７０】
ステップ３１３〜３２０は画素選択部３０２と平滑化フィルタ部３０２に相当する処理部分である。この処理部分では、入力画像データより１の画素を注目画素に選び、注目画素を中心とした例えば３×３画素の小ブロック内で、分散ｂ（ｉ，ｊ）が閾値ε以下の画素を見つけ、その個数Ｔと、それら画素の画素値の合計Ｘ（ｉ，ｊ）を求め、Ｘ（ｉ，ｊ）をＴで除することにより注目画素に対するフィルタ処理結果Ｙ（ｉ，ｊ）を求める。この処理を、注目画素を最後の画素まで順次移動しながら繰り返す。フィルタ処理結果のデータはコンピュータのメモリに保存される。
【００７１】
［フィルタ処理部の説明（３）］
図１３はフィルタ処理部１１１の実施例３を示すブロック図である。本実施例に係るフィルタ処理部１１１は分散算出部４０１、分散最大値算出部４０２、画素選択部４０３及び平滑化フィルタ部４０４から構成される。
【００７２】
分散算出手段４０１は、入力画像データの各画素について、その画素を中心としたＮ×Ｎ画素の小ブロック内の画素値の分散を算出する。Ｎ＝３としたときの分散（ｂｕｎｓａｎ）は前記（１）により算出される。
【００７３】
分散最大値算出手段４０２は、注目した画素を中心としたＭ×Ｍ画素の小ブロック内の各画素について算出された分散のうちの最大値を求め、これを注目画素に対する分散最大値とする処理を行う。なお、小ブロックサイズ（Ｎ×Ｎ，Ｍ×Ｍ）は、急峻なエッジと弱いエッジを適切に識別可能であれば任意に選ぶことができる。
【００７４】
画素選択部４０３は、注目した画素を中心とした例えば３×３画素の小ブロック内で、分散最大値算出手段４０２により算出された分散最大値が所定の閾値ε以下の画素を選択し、選択結果を平滑化フィルタ部４０４に通知する。
【００７５】
平滑化フィルタ部４０４は、入力画像データに対し平滑化フィルタをかけるものであり、ここでは、入力画像データの注目した画素を中心とした例えば３×３画素の小ブロック内における画素選択手段４０３で選択された画素の画素値の平均値を求める。なお、平滑化フィルタ部４０４において、３×３画素の小ブロック内の分散最大値が閾値ε以下の画素の画素値に重み係数を乗じた値を加算し、その値の総和を、エッジ量が閾値ε以下の画素の重み係数の和で除した値を求めるようにしてもよい。また、平滑化フィルタのサイズは３×３画素に限らない。
【００７６】
画素選択部４０３は、急峻なエッジまわりのリンギングのような弱いエッジの抽出手段に相当し、注目画素がリンギングのような弱いエッジに対応する場合にはその近傍画素の多くが選択される結果、リンギングのような弱いエッジは平滑化フィルタ部４０４で平滑化される。換言すれば、そのような画素選択及び平滑化が行われるように閾値εが選ばれる。
【００７７】
ここまでの説明から理解されるように、本実施例に係るフィルタ処理部１１１は、いわゆるεフィルタの一種であり、画像中の真のエッジを保存しつつ、急峻なエッジのまわりに発生する擬似エッジ（リンギング）のような弱い（微細な）エッジの除去を行うことができる。また、本実施例に係るフィルタ処理部１１１は、請求項１０に係る発明におけるフィルタ処理手段に相当することは明らかである。
【００７８】
本実施例に係るフィルタ処理部１１１は、ハードウェアによって容易に実現可能であるが、ＣＰＵとメモリなどから構成されるコンピュータを利用してプログラムにより実現することも可能である。後者の実現形態について図１４のフローチャートを参照して説明する。
【００７９】
図１４のステップ３１０〜３１２は分散算出部４０１に対応する処理部分であり、コンピュータのメモリに保存されている入力画像データより、注目画素を順次移動させながらＮ×Ｎ画素の小ブロック内の画素値の分散が算出される（図１５（ａ）参照）。この処理により、各画素の分散を画素対応に格納した分散マトリクス（図１５（ｂ）参照）がコンピュータのメモリ上に生成される。
【００８０】
ステップ４１３〜４１５は分散最大値算出部４０２に対応する処理部分であり、分散マトリクスを参照しながら、注目画素を中心としたＭ×Ｍ画素の小ブロック内の画素の分散の最大値を求め、これを注目画素の分散最大値とする処理が、注目画素を順次移動しながら行われる（図１５（ｃ）参照）。この処理により、各画素の分散最大値が画素対応に格納された分散最大値マトリクスがコンピュータのメモリ上に生成される。
【００８１】
ステップ４１６〜４２２は画素選択部４０３と平滑化フィルタ処理部４０４に相当する処理部分である。この処理部分では、入力画像データより１の画素を注目画素に選び、注目画素を中心とした例えば３×３画素の小ブロック内で、分散最大値Ｂ（ｉ，ｊ）が閾値ε以下の画素を見つけ、その個数Ｔと、それら画素の画素値の合計Ｘ（ｉ，ｊ）を求め、Ｘ（ｉ，ｊ）をＴで除することにより注目画素に対するフィルタ処理結果Ｙ（ｉ，ｊ）を求める。この処理を、注目画素を最後の画素まで順次移動しながら繰り返す。フィルタ処理結果のデータはコンピュータのメモリに保存される。
【００８２】
［出力処理部の説明］
出力処理部１１２はいくつかの動作モードを持ち、動作モードによって出力値決定部１１４の動作内容が異なる。以下、動作モード別に出力処理部１１２の動作について説明する。
【００８３】
＜モード１＞
このモード１の場合、出力値決定部１１４は、注目画素の輝度値が所定値より小さいときにはフィルタ処理部１１１により処理後の画素値を、輝度値がその所定値以上のときには入力画像データの画素値（フィルタ処理前の画素値）を、注目画素の出力値として選択し出力する。すなわち、モード１で動作する出力処理部１１２は請求項２の発明に係る出力処理手段に相当する。
【００８４】
図１６に注目画素の輝度値と出力値の選択の関係を例示する。この例では、輝度値が６４未満ならばフィルタ処理後の画素値が選択され、６４以上ならばフィルタ処理前の画素値が選択される。このモード１では、出力値選択の輝度閾値（図１６では６４）を適切に選ぶことにより、入力画像データのダーク部より少し明るい画素に対しフィルタ処理を非適用としてダーク部における奥行き感を保存することができる。
【００８５】
このモード１の動作をする出力処理部１１２はハードウェアによって容易に実現可能であるが、ＣＰＵとメモリなどから構成されるコンピュータを利用しプログラムにより実現することもできる。後者の実施形態について図１７を参照して説明する。
【００８６】
図１７に示す処理は注目画素を順次移動させながら入力画像データの全画素に対して繰り返される。ステップ５００で、コンピュータのメモリ上の入力画像データより注目画素の輝度Ｙ（ｉ，ｊ）を算出する。次のステップ５０１で、その輝度Ｙ（ｉ，ｊ）が所定値ｔｈ１（ただしｔｈ１＞０）より小さいか判定し、そうであればステップ５０２でコンピュータのメモリに保存されているフィルタ処理後の注目画素の画素値を出力値として選択しメモリの出力画像データ記憶域へ書き込み、そうでなければステップ５０３でメモリに保存されている入力画像データの注目画素の画素値（フィルタ処理前の画素値）を出力値として選択しメモリの出力画像データ記憶域へ書き込む。
【００８７】
＜モード２＞
このモード２の場合、出力値決定部１１４は、注目画素の輝度値が所定値より大きいときにはフィルタ処理部１１１により処理後の画素値を、輝度値がその所定値以下のときにはフィルタ処理前の画素値を、注目画素の出力値として選択し出力する。すなわち、モード２で動作する出力処理部１１２は請求項３の発明に係る出力処理手段に相当する。
【００８８】
図１８に注目画素の輝度値と出力値選択の関係を例示する。この例では、輝度値が１９２より大きいならばフィルタ処理後の画素値が選択され、１９２以下ならばフィルタ処理前の画素値が選択される。このモード２では、出力値選択の輝度閾値（図１６では１９２）を適切に選ぶことにより、入力画像データのハイライト部より少し暗い画素に対しフィルタ処理を非適用としてハイライト部における奥行き感を保存することができる。
【００８９】
このモード２の動作をする出力処理部１１２はハードウェアによって容易に実現可能であるが、ＣＰＵとメモリなどから構成されるコンピュータを利用しプログラムにより実現することもできる。後者の実施形態について図１９を参照して説明する。
【００９０】
図１９に示す処理は注目画素を順次移動させながら入力画像データの全画素に対して繰り返される。ステップ６００で、コンピュータのメモリに保存されている入力画像データより注目画素の輝度Ｙ（ｉ，ｊ）を算出する。次のステップ６０１で注目画素の輝度Ｙ（ｉ，ｊ）が所定値ｔｈ３（ただしｔｈ３＞０）より大きいか判定し、そうであればステップ６０２でメモリに保存されている入力画像データの注目画素の画素値（フィルタ処理前の画素値）を出力値として選択しメモリの出力画像データ記憶域へ書き込み、そうでなければステップ６０３でメモリに保存されているフィルタ処理後の注目画素の画素値を出力値として選択しメモリの出力画像データ記憶域へ書き込む。
【００９１】
＜モード３＞
このモード３の場合、出力値決定部１１４は、注目画素の輝度値が所定値ｔｈ１より小さいか又は所定値ｔｈ３より大きいか（ただしｔｈ３＞ｔｈ１＞０）の判定を行い、判定条件を満たすときにはフィルタ処理部１１１により処理後の画素値を、判定条件を満たさないときにはフィルタ処理前の画素値を、注目画素の出力値として選択し出力する。すなわち、モード３で動作する出力処理部１１２は請求項４の発明に係る出力処理手段に相当する。
【００９２】
図２０に注目画素の輝度値と出力値選択の関係を例示する。この例では、輝度値が６４未満又は１９２より大きいときにフィルタ処理後の画素値が選択され、それ以外ならばフィルタ処理前の画素値が選択される。このモード３では、出力値選択の輝度閾値（図１６では６４と１９２）を適切に選ぶことにより、入力画像データのダーク部より少し明るい画素及びハイライト部より少し暗い画素に対しフィルタ処理を非適用とし、ダーク部における奥行き感及びハイライト部における奥行き感を保存することができる。
【００９３】
このモード３の動作をする出力処理部１１２はハードウェアによって容易に実現可能であるが、ＣＰＵとメモリなどから構成されるコンピュータを利用しプログラムにより実現することもできる。後者の実施形態について図２１を参照して説明する。
【００９４】
図２１に示す処理は注目画素を順次移動させながら入力画像データの全画素に対して繰り返される。ステップ７００で、コンピュータのメモリに保存されている入力画像データより注目画素の輝度Ｙ（ｉ，ｊ）を算出する。次のステップ７０１で注目画素の輝度Ｙ（ｉ，ｊ）が所定値ｔｈ１（ただしｔｈ１＞０）より小さいか又は所定値ｔｈ３（ただしｔｈ３＞ｔｈ１＞０）より大きいか判定し、そうであればステップ７０２でメモリに保存されているフィルタ処理後の注目画素の画素値を出力値として選択しメモリの出力画像データ記憶域へ書き込み、そうでなければステップ７０３でメモリに保存されている入力画像データの注目画素の画素値（フィルタ処理前の画素値）を出力値として選択しメモリの出力画像データ記憶域へ書き込む。
【００９５】
＜モード４＞
このモード４及び後記モード５においては、出力値決定部１１４は、注目画素の輝度値に応じて制御した重み付けの割合でフィルタ処理後の画素値とフィルタ処理前の画素値とを補間することにより出力値を決定する。前記モード１，２，３の場合、輝度閾値（図１６の例では６４、図１８の例では１９２，図２０の例では６４と１９２）の近傍輝度において奥行き感が残ったり消えたりする混在現象が現れる可能性があるが、モード４，５のように補間により出力値を決定することにより、そのような混在現象の発生を防止し不自然さなく奥行き感を保存することができる。
【００９６】
このモード４においては、例えば図２２に示すように、注目画素の輝度値が所定の閾値ｔｈ２（この例では１２８）のときにフィルタ処理前の画素値の重み付けの割合を１００％とし、輝度値が所定の閾値ｔｈ２より小さくなるにつれ又は大きくなるにつれてフィルタ処理後の画素値の重み付けの割合を徐々に大きくし、輝度値が０又は２５５のときにフィルタ処理後の画素値の重み付けの割合を１００％とする線形補間により出力値を決定する。これを計算式で表すならば、輝度値が所定の閾値ｔｈ２より小さいときには、
出力値＝（フィルタ処理後画素値−フィルタ処理前画素値）×（輝度値−ｔｈ２）
÷（−ｔｈ２）＋フィルタ処理前画素値              （２）式
により出力値を算出し、輝度値がｔｈ２以上のときには
出力値＝（フィルタ処理後画素値−フィルタ処理前画素値）×（輝度値−ｔｈ２）
÷（２５５−ｔｈ２）＋フィルタ処理前画素値        （３）式
により出力値を算出する。
【００９７】
以上から明らかなように、このモード４で動作する出力処理部１１２は請求項６の発明に係る出力処理手段に相当する。
【００９８】
このようなモード４の動作をする出力処理部１１２はハードウェアによって容易に実現可能であるが、ＣＰＵとメモリなどから構成されるコンピュータを利用しプログラムにより実現することもできる。後者の実施形態について図２３を参照して説明する。
【００９９】
図２３に示す処理は注目画素を順次移動させながら入力画像データの全画素に対して繰り返される。ステップ８００で、コンピュータのメモリに保存されている入力画像データより注目画素の輝度Ｙ（ｉ，ｊ）を算出する。次のステップ８０１で注目画素の輝度Ｙ（ｉ，ｊ）が所定値ｔｈ２（ただしｔｈ２＞０）より小さいか判定し、そうであればステップ８０２でメモリに保存されているフィルタ処理後の注目画素の画素値及びメモリに保存されている入力画像データの画素値（フィルタ処理前の画素値）を用いて前記（２）式により出力値を算出し、それをメモリの出力画像データ記憶域へ書き込み、そうでなければステップ８０３でフィルタ処理後の画素値及びフィルタ処理前の画素値を用いて前記（３）式により出力値を算出し、それをメモリの出力画像データ記憶域へ書き込む。
【０１００】
なお、ここでは一次関数による線形補間を用いたが、奥行き感の保存に有効であれば、補間関数として多次関数、指数関数、三角関数などを用いる補間方法を採用することも可能である。
【０１０１】
＜モード５＞
このモード５においては、出力値決定部１１４は、例えば図２４に示すように、注目画素の輝度値が６４（ｔｈ１）以上、１０２（ｔｈ３）以下の範囲では、輝度値に応じて制御した重み付けの割合でフィルタ処理後の画素値とフィルタ処理前の画素値との補間により出力値を決定する。この重み付けの割合の制御は、図２４に示す例では、輝度値が１２８（ｔｈ２）のときにフィルタ処理前の画素値の重み付けの割合を１００％、輝度値が６４又は１０２のときにフィルタ処理後の画素値の重み付けを１００％とし、輝度値が１２８より小さくなるにつれて又は１２８より大きくなるにつれてフィルタ処理後の画素値の重み付けの割合を徐々に大きくする。これを数式で表せば、輝度値がｔｈ２より小さいときには、
出力値＝（フィルタ処理後画素値−フィルタ処理前画素値）×（輝度値−ｔｈ２）
÷（ｔｈ２−ｔｈ１）＋フィルタ処理前画素値          （４）式
により出力値を算出し、輝度値がｔｈ２以上のときには
出力値＝（フィルタ処理後画素値−フィルタ処理前画素値）×（輝度値−ｔｈ２）
÷（ｔｈ３−ｔｈ２）＋フィルタ処理前画素値          （５）式
により出力値を算出する。
【０１０２】
一方、輝度値が６４〜１０２の範囲から外れているときには、フィルタ処理後の画素値をそのまま出力値とする。
【０１０３】
このような出力値決定方法によれば、前記モード１，２，３におけるような輝度閾値の近傍輝度において奥行き感が残ったり消えたりする混在現象の発生を防止し、不自然さなく奥行き感を保存することができる。
【０１０４】
以上から明らかなように、このモード５で動作する出力処理部１１２は請求項７の発明に係る出力処理手段に相当する。
【０１０５】
このようなモード５の動作をする出力処理部１１２はハードウェアによって容易に実現可能であるが、ＣＰＵとメモリなどから構成されるコンピュータを利用しプログラムにより実現することもできる。後者の実施形態について図２５を参照して説明する。
【０１０６】
図２５に示す処理は注目画素を順次移動させながら入力画像データの全画素に対して繰り返される。ステップ９００で、コンピュータのメモリに保存されている入力画像データより注目画素の輝度Ｙ（ｉ，ｊ）を算出する。次のステップ９０１で注目画素の輝度Ｙ（ｉ，ｊ）が所定値ｔｈ１（ただしｔｈ１＞０）より小さいか又は所定値ｔｈ３（ただしｔｈ３＞ｔｈ１＞０）より大きいか判定し、そうであればステップ９０２でメモリに保存されているフィルタ処理後の注目画素の画素値を出力値としてメモリの出力画像データ記憶域に書き込む。
【０１０７】
輝度が所定値ｔｈ１以上、所定値ｔｈ３以下のときには、ステップ９０３で輝度は所定値ｔｈ２（ただしｔｈ３＞ｔｈ２＞ｔｈ１＞０）より小さいか判定され、そうならばステップ９０４で注目画素のフィルタ処理後の画素値とフィルタ処理前の画素値を用いて前記（４）式により出力値を算出し、それをメモリの出力画像データ記憶域に書き込む。輝度が所定値ｔｈ２以上ならば、ステップ９０５で注目画素のフィルタ処理後の画素値とフィルタ処理前の画素値を用いて前記（５）式により出力を算出し、それをメモリの出力画像データ記憶域に書き込む。
【０１０８】
なお、ここでは一次関数による線形補間を用いたが、奥行き感の保存に有効であれば、補間関数として多次関数、指数関数、三角関数などを用いる補間方法を採用することも可能である。
【０１０９】
以上に説明した図１０，図１２又は図１４のフローチャートに示すような手順によりフィルタ処理部１１１としてコンピュータを機能させ、図１７，図１９，図２１，図２３又は図２５のフローチャートに示すような手順により出力処理部１１２としてコンピュータを機能させるプログラムは請求項１３〜１９に係る発明の実施例に相当し、そのようなプログラムが記録された磁気ディスク、光ディスク、光磁気ディスク、半導体記憶素子等のコンピュータが読み取り可能な各種情報記録（記憶）媒体は請求項２０に係る発明の実施例に相当することは明らかである。また、以上の画像処理装置についての説明は、請求項１１，１２に係る発明の実施例の説明でもあることは明らかである。
【図面の簡単な説明】
【０１１０】
【図１】ロスレス圧縮の場合に擬似エッジ（リンギング）が発生しないことを説明するための図である。
【図２】高圧縮率のロシー圧縮の場合における擬似エッジ（リンギング）の発生を説明するための図である。
【図３】JPEG2000の圧縮処理の概要を説明するためのブロック図である。
【図４】JPEG2000における画像、タイル、プリシンクト、コードブロックの関係を説明するための図である。
【図５】JPEG2000のレイヤ構造の一例を示す図である。
【図６】図５に示したレイヤ構造におけるパケットの例を示す図である。
【図７】本発明の実施の形態を説明するためのブロック図である。
【図８】フィルタ処理部の一実施例を示すブロック図である。
【図９】エッジ量抽フィルタの一例を示す図である。
【図１０】図８のフィルタ処理部をコンピュータ上でプログラムにより実現する態様を説明するためのフローチャートである。
【図１１】フィルタ処理部の別の実施例を示すブロック図である。
【図１２】図１１のフィルタ処理部をコンピュータ上でプログラムにより実現する態様を説明するためのフローチャートである。
【図１３】フィルタ処理部の別の実施例を示すブロック図である。
【図１４】図１３のフィルタ処理部をコンピュータ上でプログラムにより実現する態様を説明するためのフローチャートである。
【図１５】分散の算出及び分散の最大値の算出を説明するための図である。
【図１６】出力処理部におけるモード１での出力値決定方法を説明するためのグラフである。
【図１７】モード１の動作を行う出力処理部をコンピュータ上でプログラムにより実現する態様を説明するためのフローチャートである。
【図１８】出力処理部におけるモード２での出力値決定方法を説明するためのグラフである。
【図１９】モード２の動作を行う出力処理部をコンピュータ上でプログラムにより実現する態様を説明するためのフローチャートである。
【図２０】出力処理部におけるモード３での出力値決定方法を説明するためのグラフである。
【図２１】モード３の動作を行う出力処理部をコンピュータ上でプログラムにより実現する態様を説明するためのフローチャートである。
【図２２】出力処理部におけるモード４での出力値決定方法を説明するためのグラフである。
【図２３】モード４の動作を行う出力処理部をコンピュータ上でプログラムにより実現する態様を説明するためのフローチャートである。
【図２４】出力処理部におけるモード５での出力値決定方法を説明するためのグラフである。
【図２５】モード５の動作を行う出力処理部をコンピュータ上でプログラムにより実現する態様を説明するためのフローチャートである。
【符号の説明】
【０１１１】
１００    伸長装置
１１０    画像処理装置
１１１    フィルタ処理部
１１２    出力処理部
１１３    明暗検出部
１１４    出力値決定部
２０１    エッジ量算出部
２０２    画素選択部
２０３    平滑化フィルタ部
３０１    分散算出部
３０２    画素選択部
３０３    平滑化フィルタ部
４０１    分散算出部
４０２    分散最大値算出部
４０３    画素選択部
４０４    平滑化フィルタ部
【図１】
2006211094.tif 000004
【図２】
2006211094.tif 000005
【図３】
2006211094.tif 000006
【図４】
2006211094.tif 000007
【図５】
2006211094.tif 000008
【図６】
2006211094.tif 000009
【図７】
2006211094.tif 000010
【図８】
2006211094.tif 000011
【図９】
2006211094.tif 000012
【図１０】
2006211094.tif 000013
【図１１】
2006211094.tif 000014
【図１２】
2006211094.tif 000015
【図１３】
2006211094.tif 000016
【図１４】
2006211094.tif 000017
【図１５】
2006211094.tif 000018
【図１６】
2006211094.tif 000019
【図１７】
2006211094.tif 000020
【図１８】
2006211094.tif 000021
【図１９】
2006211094.tif 000022
【図２０】
2006211094.tif 000023
【図２１】
2006211094.tif 000024
【図２２】
2006211094.tif 000025
【図２３】
2006211094.tif 000026
【図２４】
2006211094.tif 000027
【図２５】
2006211094.tif 000028