(57)【要約】【課題】画像内の階調段差の発生を抑制するようにした画像処理装置を提供する。【解決手段】第１の記憶手段は、画像内の画素を記憶し、第２の記憶手段は、加算回数を記憶し、加算手段は、画像内の注目画素を含む領域内の離れた位置にある画素の画素値に基づいて定められる第１の値を、該領域内の各画素の画素値と該第１の値との比較に基づいて、該各画素に対応する、前記第１の記憶手段内の位置に加算し、計数手段は、前記加算手段によって加算された回数を画素毎に計数し、前記領域内の画素に対応する、前記第２の記憶手段内の位置に記憶させ、画素値算出手段は、前記第１の記憶手段に記憶された値と該値に対応する位置にある前記第２の記憶手段に記憶された回数に基づいて、画素値を算出する。【選択図】図１
2011039972.tif 000002
【特許請求の範囲】
【請求項１】
画像内の画素を記憶する第１の記憶手段と、
加算回数を記憶する第２の記憶手段と、
画像内の注目画素を含む領域内の離れた位置にある画素の画素値に基づいて定められる第１の値を、該領域内の各画素の画素値と該第１の値との比較に基づいて、該各画素に対応する、前記第１の記憶手段内の位置に加算する加算手段と、
前記加算手段によって加算された回数を画素毎に計数し、前記領域内の画素に対応する、前記第２の記憶手段内の位置に記憶させる計数手段と、
前記第１の記憶手段に記憶された値と該値に対応する位置にある前記第２の記憶手段に記憶された回数に基づいて、画素値を算出する画素値算出手段
を具備することを特徴とする画像処理装置。
【請求項２】
前記画像内の注目画素を含む領域内の離れた位置にある画素の画素値に基づいて定められる第２の値に基づいて、該領域内に階調の段差が生じているか否かを判断する判断手段
をさらに具備し、
前記加算手段は、前記判断手段による判断結果に基づいて、前記加算を行う
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記判断手段は、複数の方向について、前記領域内に階調の段差が生じているか否かを判断し、
前記加算手段は、前記判断手段によって階調の段差が生じていると判断された方向について、前記加算を行う
ことを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記領域は、前記注目画素を中央にした予め定められた数の画素群であり、
前記領域内の離れた位置にある画素の画素値に基づいて定められる値は、前記画素群の両端から予め定められた数の画素の画素値の平均値である
ことを特徴とする請求項１から３に記載の画像処理装置。
【請求項５】
前記画像に対してグラデーション領域を抽出するグラデーション領域抽出手段
をさらに具備し、
前記加算手段は、前記グラデーション領域抽出手段によって抽出されたグラデーション領域を対象として、前記加算を行う
ことを特徴とする請求項１から４のいずれか一項に記載の画像処理装置。
【請求項６】
前記画像に対して雑音除去を行う雑音除去手段
をさらに具備し、
前記加算手段は、前記雑音除去手段によって雑音除去された画像を対象として、前記加算を行う
ことを特徴とする請求項１から５のいずれか一項に記載の画像処理装置。
【請求項７】
コンピュータを、
画像内の画素を記憶する第１の記憶手段と、
加算回数を記憶する第２の記憶手段と、
画像内の注目画素を含む領域内の離れた位置にある画素の画素値に基づいて定められる第１の値を、該領域内の各画素の画素値と該第１の値との比較に基づいて、該各画素に対応する、前記第１の記憶手段内の位置に加算する加算手段と、
前記加算手段によって加算された回数を画素毎に計数し、前記領域内の画素に対応する、前記第２の記憶手段内の位置に記憶させる計数手段と、
前記第１の記憶手段に記憶された値と該値に対応する位置にある前記第２の記憶手段に記憶された回数に基づいて、画素値を算出する画素値算出手段
として機能させることを特徴とする画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置及び画像処理プログラムに関する。
【背景技術】
【０００２】
近年の電子文書やデジタルカメラの広範な普及により、デジタル画像を高画質プリントするという要求が高くなっている。
【０００３】
これに関連する技術として、例えば、特許文献１には、連続する画素のシェーディング基準値に段差がある場合であっても、シェーディング基準値の異常判定を適正に行える装置及び方法を提供することを課題とし、注目画素Ｐ０の直前の処理済みの４画素Ｐ−４〜Ｐ−１を含む画素ブロックＦ０の白基準値（ただし正常値のみ）の平均値Ａが演算され、これに基づいて、注目画素Ｐの白基準値についての正常値の範囲が設定され、さらに、注目画素Ｐ０とそれに引き続く３個の未処理の画素Ｐ＋１〜Ｐ＋３とを含む４画素の画素ブロックＦ１の白基準値の平均値Ｂと、これに続く画素ブロックＦ２の白基準値の平均値Ｃと、これに続く画素ブロックＦ３の白基準値の平均値Ｄとが演算され、これらの平均値Ａ，Ｂ，Ｃ，Ｄに基づき、注目画素Ｐ０が段差部の画素かどうかが判定され、注目画素Ｐ０が段差部の画素の場合、平均値Ｂに基づいて、注目画素Ｐ０の白基準値についての正常値の範囲が設定されることが開示されている。
【０００４】
また、例えば、特許文献２には、画像をタイル単位に圧縮・伸張することによってタイル境界に発生する歪み（以下『タイル歪み』という）を軽減する画像処理装置であり、この画像処理装置は、段差検出部、スロープ演算部、及びスロープ修正部を備える。この段差検出部は、タイル境界を挟む画素間で差分を算出し、この差分に基づいてタイル歪みの階調段差を検出する。スロープ演算部は、この階調段差を所定幅（ただし、所定幅＜タイル幅）でゼロに近づけるスロープ状の補正値を算出し、タイルの境界近傍の画素値に付加する。その結果、タイル歪みによる急峻な階調段差を、なだらかなスロープ変化に修正する。このような処理により、タイル歪みは良好に軽減することが開示されている。
【０００５】
また、例えば、特許文献３には、映像信号の量子化の粗さに起因して表示画像中のグラデーション領域内に生じる縞模様の段差を検出することを課題とし、水平画素値比較回路によって映像信号の隣り合う２画素の画素値を遂次比較し、水平検出回路によって比較回路で比較された画素値の差が一定範囲内にある領域を水平平坦領域として検出し、この検出領域の水平方向の境界を求め、境界前後の画素値の差又は変化の度合い（傾斜）が規定範囲内にある場合には、その境界をグラデーション領域内の段差と判定し、同様に、垂直画素値比較回路によって映像信号の垂直方向に並ぶ２画素の画素値について遂次比較を行い、垂直検出回路によって比較回路の比較結果から垂直平坦領域を検出し、この検出領域の垂直方向の境界を求め、境界前後の画素値の差又は変化の度合い（傾斜）からグラデーション領域内の段差か否かを判定することが開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平１１−２１５３７１号公報
【特許文献２】再表２００４−１０７７３６号公報
【特許文献３】特開２００６−１５４４５２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明は、画像内の階調段差の発生を抑制するようにした画像処理装置及び画像処理プログラムを提供することを目的としている。
【課題を解決するための手段】
【０００８】
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
請求項１の発明は、画像内の画素を記憶する第１の記憶手段と、加算回数を記憶する第２の記憶手段と、画像内の注目画素を含む領域内の離れた位置にある画素の画素値に基づいて定められる第１の値を、該領域内の各画素の画素値と該第１の値との比較に基づいて、該各画素に対応する、前記第１の記憶手段内の位置に加算する加算手段と、前記加算手段によって加算された回数を画素毎に計数し、前記領域内の画素に対応する、前記第２の記憶手段内の位置に記憶させる計数手段と、前記第１の記憶手段に記憶された値と該値に対応する位置にある前記第２の記憶手段に記憶された回数に基づいて、画素値を算出する画素値算出手段を具備することを特徴とする画像処理装置である。
【０００９】
請求項２の発明は、前記画像内の注目画素を含む領域内の離れた位置にある画素の画素値に基づいて定められる第２の値に基づいて、該領域内に階調の段差が生じているか否かを判断する判断手段をさらに具備し、前記加算手段は、前記判断手段による判断結果に基づいて、前記加算を行うことを特徴とする請求項１に記載の画像処理装置である。
【００１０】
請求項３の発明は、前記判断手段は、複数の方向について、前記領域内に階調の段差が生じているか否かを判断し、前記加算手段は、前記判断手段によって階調の段差が生じていると判断された方向について、前記加算を行うことを特徴とする請求項２に記載の画像処理装置である。
【００１１】
請求項４の発明は、前記領域は、前記注目画素を中央にした予め定められた数の画素群であり、前記領域内の離れた位置にある画素の画素値に基づいて定められる値は、前記画素群の両端から予め定められた数の画素の画素値の平均値であることを特徴とする請求項１から３に記載の画像処理装置である。
【００１２】
請求項５の発明は、前記画像に対してグラデーション領域を抽出するグラデーション領域抽出手段をさらに具備し、前記加算手段は、前記グラデーション領域抽出手段によって抽出されたグラデーション領域を対象として、前記加算を行うことを特徴とする請求項１から４のいずれか一項に記載の画像処理装置である。
【００１３】
請求項６の発明は、前記画像に対して雑音除去を行う雑音除去手段をさらに具備し、前記加算手段は、前記雑音除去手段によって雑音除去された画像を対象として、前記加算を行うことを特徴とする請求項１から５のいずれか一項に記載の画像処理装置である。
【００１４】
請求項７の発明は、コンピュータを、画像内の画素を記憶する第１の記憶手段と、加算回数を記憶する第２の記憶手段と、画像内の注目画素を含む領域内の離れた位置にある画素の画素値に基づいて定められる第１の値を、該領域内の各画素の画素値と該第１の値との比較に基づいて、該各画素に対応する、前記第１の記憶手段内の位置に加算する加算手段と、前記加算手段によって加算された回数を画素毎に計数し、前記領域内の画素に対応する、前記第２の記憶手段内の位置に記憶させる計数手段と、前記第１の記憶手段に記憶された値と該値に対応する位置にある前記第２の記憶手段に記憶された回数に基づいて、画素値を算出する画素値算出手段として機能させることを特徴とする画像処理プログラムである。
【発明の効果】
【００１５】
請求項１の画像処理装置によれば、画像内の階調段差の発生を抑制することができる。
【００１６】
請求項２の画像処理装置によれば、本構成を有していない場合に比較して、高速化することができる。
【００１７】
請求項３の画像処理装置によれば、本構成を有していない場合に比較して、高速化することができる。
【００１８】
請求項４の画像処理装置によれば、本構成を有していない場合に比較して、より簡易な構成で高速化することができる。
【００１９】
請求項５の画像処理装置によれば、グラデーション領域で発生しやすい階調段差を抑制できる。
【００２０】
請求項６の画像処理装置によれば、雑音を除去した後に、画像内の階調段差の発生を抑制することができる。
【００２１】
請求項７の画像処理プログラムによれば、画像内の階調段差の発生を抑制することができる。
【図面の簡単な説明】
【００２２】
【図１】本実施の形態の構成例についての概念的なモジュール構成図である。
【図２】第１の実施の形態等による処理例を示すフローチャートである。
【図３】補正画素値算出処理モジュールによる処理例を示すフローチャートである。
【図４】水平領域の画素例を示す説明図である。
【図５】第４の実施の形態による処理例を示すフローチャートである。
【図６】階調段差判定処理モジュールによる処理例を示すフローチャートである。
【図７】補正情報更新処理モジュールによる処理例を示すフローチャートである。
【図８】水平領域の画素例と垂直領域の画素例を示す説明図である。
【図９】本実施の形態による処理結果の例を示す説明図である。
【図１０】本実施の形態による処理結果の例を示す説明図である。
【図１１】本実施の形態を実現するコンピュータのハードウェア構成例を示すブロック図である。
【発明を実施するための形態】
【００２３】
以下、図面に基づき本発明を実現するにあたっての好適な各種の実施の形態の例を説明する。
図１は、各種の実施の形態の代表的な構成例についての概念的なモジュール構成図を示している。
なお、モジュールとは、一般的に論理的に分離可能なソフトウェア（コンピュータ・プログラム）、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはコンピュータ・プログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、コンピュータ・プログラム、システム及び方法の説明をも兼ねている。ただし、説明の都合上、「記憶する」、「記憶させる」、これらと同等の文言を用いるが、これらの文言は、実施の形態がコンピュータ・プログラムの場合は、記憶装置に記憶させる、又は記憶装置に記憶させるように制御するの意である。また、モジュールは機能に一対一に対応していてもよいが、実装においては、１モジュールを１プログラムで構成してもよいし、複数モジュールを１プログラムで構成してもよく、逆に１モジュールを複数プログラムで構成してもよい。また、複数モジュールは１コンピュータによって実行されてもよいし、分散又は並列環境におけるコンピュータによって１モジュールが複数コンピュータで実行されてもよい。なお、１つのモジュールに他のモジュールが含まれていてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続（データの授受、指示、データ間の参照関係等）の場合にも用いる。
また、システム又は装置とは、複数のコンピュータ、ハードウェア、装置等がネットワーク（一対一対応の通信接続を含む）等の通信手段で接続されて構成されるほか、１つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。「装置」と「システム」とは、互いに同義の用語として用いる。「予め定められた」とは、対象としている処理の前に定まっていることをいい、本実施の形態による処理が始まる前はもちろんのこと、本実施の形態による処理が始まった後であっても、対象としている処理の前であれば、そのときの状況・状態に応じて、又はそれまでの状況・状態に応じて定まることの意を含めて用いる。
【００２４】
まず、本実施の形態が対象とする階調段差について説明する。
高画質プリントを行うためには、階調段差（トーンジャンプ、擬似輪郭）を抑制することが必要である。例えば、デジタルカメラ画像やグラフィック画像のプリント出力において、色変換やスクリーン処理の性能、あるいは電子写真の物理的な特性により、原画像とプリント画像との一対一の色対応に非線形な段差が混入し、結果としてグラデーション領域で階調段差が顕在化し、擬似輪郭として知覚されやすい。
例えば、色変換を例とすると、読み取ったＪＰＥＧ方式の原画像を写真プリントする際には、例えばＹＣｂＣｒの画像からＲＧＢの画像へ変換し、さらに、写真補正（ガンマ補正、ＴＲＣ補正、明度／彩度補正等）を行い、そして、ＹＭＣＫ画像への変換など複数回の色変換（原画像の画素値の更新）が行われる。更に出力機器に応じて個別のＴＲＣ補正やスクリーン処理が後段で行われる。このような画像処理を行った場合に、原画像に均一段階的に変化するグラデーション領域が含まれていると、最終的に、そのグラデーション領域はほとんどの場合に非線形段階的に変化するグラデーション領域として出力されてしまう。
【００２５】
本実施の形態である画像処理装置は、図１に例示するように、画像受付モジュール１１０、画像補正処理モジュール１２０、画像出力モジュール１９０を有している。
画像受付モジュール１１０は、画像補正処理モジュール１２０と接続されており、対象とする画像を受け付けて、その画像を画像補正処理モジュール１２０へ渡す。画像を受け付けるとは、例えば、スキャナ、カメラ等で画像を読み込むこと、ファックス等で通信回線を介して外部機器から画像を受信すること、ハードディスク（画像処理装置に内蔵されているものの他に、ネットワークを介して接続されているもの等を含む）等に記憶されている画像を読み出すこと等が含まれる。画像は、カラー画像を含む多値画像である。受け付ける画像は、１枚であってもよいし、複数枚であってもよい。また、画像の内容として、例えば、風景や人物等の写真画像、その写真画像が含まれているビジネスに用いられる文書又は広告宣伝用のパンフレット等であってもよい。
【００２６】
画像補正処理モジュール１２０は、画像受付モジュール１１０、画像出力モジュール１９０と接続されており、画像受付モジュール１１０が受け付けた画像について、階調段差を抑制する画像処理を行って、その画像処理後の画像を画像出力モジュール１９０へ渡す。
画像出力モジュール１９０は、画像補正処理モジュール１２０と接続されており、画像補正処理モジュール１２０から受け取った画像を出力する。画像を出力するとは、例えば、プリンタ等の印刷装置で印刷すること、ディスプレイ等の表示装置に表示すること、ファックス等の画像送信装置で画像を送信すること、画像データベース等の画像記憶装置へ画像を書き込むこと、メモリーカード等の記憶媒体に記憶すること、他の情報処理装置へ渡すこと等が含まれる。
【００２７】
画像補正処理モジュール１２０は、原画像記憶用メモリ１２５、画素値記憶用メモリ１３０、重複量記憶用メモリ１３５、補正情報更新処理モジュール１４０、補正画素値算出処理モジュール１４５、階調段差判定処理モジュール１５０、青空領域判定処理モジュール１５５、ノイズ除去処理モジュール１６０、制御モジュール１６５を有している。
【００２８】
制御モジュール１６５は、画像補正処理モジュール１２０内の各モジュール等を制御する。
原画像記憶用メモリ１２５は、画像受付モジュール１１０が受け付けた画像を記憶する。そして、補正情報更新処理モジュール１４０等からアクセスされる。
【００２９】
画素値記憶用メモリ１３０は、画像受付モジュール１１０が受け付けた画像内の画素を記憶するメモリである。また、補正情報更新処理モジュール１４０によって、その画素に加算処理が行われる。具体的には、制御モジュール１６５によって、画像受付モジュール１１０が受け付けた画像のサイズに応じた記憶容量のメモリが確保され、初期値としてその画像内の画素を記憶する。そして、補正情報更新処理モジュール１４０による処理によって、各画素に加算処理が行われる。一連の加算処理が終了すると、画像内の次の画素を記憶し、補正情報更新処理モジュール１４０による加算処理が繰り返される。
より具体的には、確保されるサイズとして、画像のサイズと同じであれば充分であるが、必要なサイズとして、例えば、画像の横幅と同じ長さの１画素列、画像の横幅と同じ長さであり縦長は（２Ｎ＋１）等がある。なお、Ｎについては後述する。
【００３０】
重複量記憶用メモリ１３５は、補正情報更新処理モジュール１４０による原画像記憶用メモリ１２５内の画素に対する加算回数を記憶するメモリである。つまり、加算回数を計数するためのものである。具体的には、制御モジュール１６５によって、画素値記憶用メモリ１３０のサイズに応じた記憶容量のメモリが確保され、初期値として「１」を記憶する。そして、補正情報更新処理モジュール１４０による処理によって、各画素に対して行われた加算処理の回数が計数される。一連の加算処理が終了すると、初期化、補正情報更新処理モジュール１４０による加算処理の計数が繰り返される。なお、確保されるセル（各画素に対応した計数場所）の個数は画素値記憶用メモリ１３０と同じになるが、回数を計数するので、それに必要なビット幅があればよい。画素値記憶用メモリ１３０は画素値を記憶するので、各画素のビット幅（例えば、２４ビット）が必要であるが、重複量記憶用メモリ１３５は回数の上限以上を表せるビット幅（例えば、１６ビット）あればよい。
【００３１】
補正情報更新処理モジュール１４０は、原画像記憶用メモリ１２５の画像内の注目画素を含む領域内の離れた位置にある画素の画素値に基づいて定められる第１の値を、その領域内の各画素の画素値とその第１の値との比較に基づいて、それら各画素に対応する、画素値記憶用メモリ１３０内の位置に加算する。そして、加算された回数を画素毎に計数し、領域内の画素に対応する、重複量記憶用メモリ１３５内の位置に記憶させる。また、階調段差判定処理モジュール１５０による判断結果に基づいて、加算処理を行うようにしてもよい。また、階調段差判定処理モジュール１５０によって階調の段差が生じていると判断された方向について、加算処理を行うようにしてもよい。さらに、より大きな階調の段差が生じている方向について加算処理を行うようにしてもよい。
なお、具体的には、例えば、領域とは、注目画素を中央にした予め定められた数の画素群であり、より具体的には、その注目画素を中央にして予め定められた方向（例えば、上下又は左右等）に連続する画素群である。また、その領域内の離れた位置にある画素の画素値に基づいて定められる第１の値とは、その画素群の両端から予め定められた数の画素をそれぞれ選択し、それらの画素値の平均値で定められるもの等がある。また、その領域内の離れた位置にある画素の画素値に基づいて定められる第２の値とは、その画素群の両端から予め定められた数の画素をそれぞれ選択し、それらの画素値の差分で定められるもの等がある。
また、補正情報更新処理モジュール１４０は、青空領域判定処理モジュール１５５によって抽出された画像内のグラデーション領域を対象として、加算処理を行うようにしてもよい。
【００３２】
補正画素値算出処理モジュール１４５は、画素値記憶用メモリ１３０に記憶された値とその値に対応する位置にある重複量記憶用メモリ１３５に記憶された回数に基づいて、画素値を算出する。
【００３３】
階調段差判定処理モジュール１５０は、原画像記憶用メモリ１２５の画像内の注目画素を含む領域内の離れた位置にある画素の画素値に基づいて定められる第２の値（前述の第１の値とは異なる値である）に基づいて、その領域内に階調の段差が生じているか否かを判断する。また、複数の方向について、その領域内に階調の段差が生じているか否かを判断するようにしてもよい。
【００３４】
青空領域判定処理モジュール１５５は、原画像記憶用メモリ１２５の画像内のグラデーション領域を抽出する。グラデーション領域としては、例えば、風景写真等の青空部分が該当する。この処理としては、例えば、予め定められた面積以上の青色領域等を青空部分と判定することを行えばよい。なお、このグラデーション領域抽出の処理は、補正情報更新処理モジュール１４０等により処理が行われる前に行い、そのグラデーション領域に対して補正情報更新処理モジュール１４０等が処理を施す。
ノイズ除去処理モジュール１６０は、原画像記憶用メモリ１２５の画像に対して雑音除去を行う。なお、この雑音除去の処理は、補正情報更新処理モジュール１４０等により処理が行われる前に行い、原画像記憶用メモリ１２５は、その雑音除去が行われた画像内の画素を記憶し、雑音除去が行われた画像に対して補正情報更新処理モジュール１４０等が処理を施す。特に、画像のざらつきを軽減するために、低周波の雑音を除去してもよい。例えば、ノイズ除去フィルタ等を用いる。
【００３５】
＜第１の実施の形態＞
第１の実施の形態は、画像の水平方向に向かって変化するグラデーション内の階調段差を対象にするものである。
図２は、第１の実施の形態等による処理例を示すフローチャートである。
ステップＳ２０２では、画像受付モジュール１１０が、対象となる画像を受け付ける。そして、制御モジュール１６５が、その画像を原画像記憶用メモリ１２５へ記憶する。
ステップＳ２０４では、制御モジュール１６５が、画素値記憶用メモリ１３０と重複量記憶用メモリ１３５を確保する。つまり、画像の横幅と同じ長さであり、縦長は必要なライン分のメモリ領域を確保する。本実施の形態では１ライン分確保する。
ステップＳ２０６では、制御モジュール１６５が、画像内の対象ラインを設定する。つまり、最初の場合（ステップＳ２０４の次の処理の場合）、画像の１ライン目を設定し、２回目以降の場合（ステップＳ２２２から戻ってきた場合）、順次、次のラインを設定する。
【００３６】
ステップＳ２０８では、制御モジュール１６５が、画素値記憶用メモリ１３０と重複量記憶用メモリ１３５を初期化する。つまり、ステップＳ２０６で設定された対象ラインの画素を原画像記憶用メモリ１２５から画素値記憶用メモリ１３０へ複写する。そして、重複量記憶用メモリ１３５内は「１」に初期化する。
ステップＳ２１０では、補正情報更新処理モジュール１４０が、原画像記憶用メモリ１２５の画像内の注目画素を選択し、更に注目画素を含む領域を設定する。注目画素の選択は、最初の場合（ステップＳ２０８の次の処理の場合）、対象ライン内の１画素目となり、２回目以降の場合（ステップＳ２１８から戻ってきた場合）、順次、次の右側の画素を設定する。注目画素を含む領域としては、ここでは注目画素を中央に含む水平方向の２Ｎ＋１画素を設定する。従って、現実的には、注目画素を含む領域が適正に設定できる必要があり、例えば、対象ライン内から選択した注目画素に対して、注目画素を中央に含む水平方向の１７画素を領域として設定する場合、注目画素の選択開始位置を対象ライン内の左から９画素目とし、選択終了位置を対象ライン内の右から９画素目とすることで領域が適正に設定できる。このように予め開始位置と終了位置を変更してもよいし、変更せずに、領域が適正に設定できない場合には内部判定して処理を行わず次の注目画素に進んでも良い。
【００３７】
ステップＳ２１２では、補正情報更新処理モジュール１４０が、領域内の両端画素の平均値を計算する。ここでは、一例として注目画素を含む水平方向の２Ｎ＋１画素を領域として、その領域内の画素の両端２画素ずつを選択して計４画素の平均値として計算する。Ｎは注目画素から左方向（又は右方向）にある画素の数である。したがって、領域の横幅は（２Ｎ＋１）となる。
ｖ＝（（ｐ（−Ｎ，０）＋ｐ（−Ｎ＋１，０）＋ｐ（Ｎ−１，０）＋ｐ（Ｎ，０））／４
なお、ここでｐ（ｘ，ｙ）の座標表記は、注目画素ｐ（０，０）から見て相対座標で表記している。
前述のように領域を１７画素からなるライン（つまり、Ｎ＝８）とすると、図４に例示するように、水平な領域内の中央に注目画素４０９があり、その両端から予め定められた数である２画素の画素（画素４０１、４０２、４１６、４１７）を抽出し、その画素値の平均値を算出する。
なお、広範囲にわたる階調段差を補正する場合は、Ｎの値を大きくする。例えば、８以上の値である。
【００３８】
ステップＳ２１４では、補正情報更新処理モジュール１４０が、領域内の各画素値と平均値との差が予め定めた値以下か否かを判断する。各画素について予め定めた値以下の場合は逐次ステップＳ２１６へ進み、それ以外の場合はステップＳ２１８へ進む。
ここでは、以下のような判断を行う。つまり、領域内の全画素ｐ（ｉ，０）（ｉ＝−Ｎ，．．．，Ｎ）について、平均値ｖとの差分が予め定められた値（例えば、ここでは３とする）以下であるか否かの判断式である
ａｂｓ（ｐ（ｉ，０）−ｖ）≦３
を満たす場合に逐次画素値記憶用メモリ１３０及び重複量記憶用メモリ１３５を更新する処理であるステップＳ２１６へ進む。つまり、必要に応じて（ここでは、平均値ｖからの差分が３以下の画素に対してのみ）、ステップＳ２１６の処理を行う。
なおここで、ａｂｓは絶対値を返す関数とする。また、より一般には、画像出力に関わる系（前後の画像処理や出力機器の特性）に応じて、予め３以外のより適正な閾値を決めて使用してもよい。
【００３９】
ステップＳ２１６では、補正情報更新処理モジュール１４０が、画素値記憶用メモリ１３０と重複量記憶用メモリ１３５を更新する。具体的には、例えば、画素値記憶用メモリ１３０内の前述の判断式を満たすｐ（ｉ，０）に対応する画素に平均値ｖを加算し、重複量記憶用メモリ１３５内の同様の位置に１を加算する。つまり、注目画素４０９とその前後にある計１７画素のうち、平均値ｖからの差分が３以下の画素全てについて、平均値ｖを加算し、その加算回数を画素毎に計数する。
なお、ステップＳ２１４とステップＳ２１６の処理は、領域（合計２Ｎ＋１画素）内の画素それぞれに対して行う。
ステップＳ２１８では、補正情報更新処理モジュール１４０が、１ライン終了したか否かを判断する。つまり、次の注目画素が対象ライン内にはない場合を終了したと判断する。終了した場合はステップＳ２２０へ進み、それ以外の場合はステップＳ２１０へ戻る。ステップＳ２１０に戻った場合は、注目画素ｐ（０，０）を対象ライン内で設定しなおす。
【００４０】
ステップＳ２２０では、補正画素値算出処理モジュール１４５が、対象ライン内の各画素の補正値を出力する。つまり、画素値記憶用メモリ１３０の値（各画素値に複数の平均値を加算した値）を重複量記憶用メモリ１３５に記憶された値（加算回数）で除算して、補正した画素値を得る。そして、画像出力モジュール１９０へ出力する。なお、この処理の詳細については、図３を用いて後述する。
ステップＳ２２２では、制御モジュール１６５が、画像内のラインの処理が終了したか否かを判断する。終了した場合は処理を終了し（ステップＳ２９９）、それ以外の場合はステップＳ２０６へ戻る。ステップＳ２０６に戻った場合は、対象ラインを画像内の次のラインに設定しなおす。
ステップＳ２９９では、画像出力モジュール１９０が、補正された画像を出力する。
【００４１】
図３は、補正画素値算出処理モジュール１４５による処理例を示すフローチャートである。つまり、図２に例示したフローチャート内のステップＳ２２０の処理例である。
ステップＳ３０２では、次画素の設定を行う。対象ライン内の注目画素を設定する。ここでの注目画素とは、図２のステップＳ２１０とは異なる。
ステップＳ３０４では、注目画素に対応する画素値記憶用メモリ１３０の対応データを、同じく対応する重複量記憶用メモリ１３５内の重複量データで除算した値を補正画素として採用する。なお、重複量記憶用メモリ１３５に記憶された重複量（加算回数）が１の場合は原画像の画素値をそのまま採用し、重複量（加算回数）が１以外の場合のみ除算を行うようにしてもよい。
ステップＳ３０６では、１ライン終了したか否かを判断する。終了した場合は処理を終了し（ステップＳ３９９）、それ以外の場合はステップＳ３０２へ戻る。
【００４２】
＜第２の実施の形態＞
第２の実施の形態は、画像の垂直方向に向かって変化するグラデーション内の階調段差を対象にするものである。図２を用いて説明するが、第１の実施の形態と異なる部分について説明する。画像の走査方向を水平に行う前提とすると、水平方向の段差補正を行う第１の実施の形態では１ライン分のメモリを保持しておけば良かったが、垂直方向の段差補正を行う第２の実施形態では１ライン分のメモリ×垂直方向の段差補正幅（２Ｎ＋１）分のメモリを保持する必要がある。なお、第２の実施の形態では、対象ラインとして「対象ライン（入力）」、「対象ライン（処理）」、「対象ライン（出力）」を導入する。
【００４３】
ステップＳ２０２の処理は、第１の実施の形態におけるステップＳ２０２と同等である。
ステップＳ２０４では、制御モジュール１６５が、画素値記憶用メモリ１３０と重複量記憶用メモリ１３５を確保する。つまり、画像の横幅と同じ長さであり、縦長は必要なライン分のメモリ領域を確保する。本実施の形態では（２Ｎ＋１）分確保する。これは、領域を垂直方向に設定するためである。
ステップＳ２０６では、制御モジュール１６５が、画像内の対象ライン（入力）を設定する。つまり、最初の場合（ステップＳ２０４の次の処理の場合）、画像の１ライン目を設定し、順次、次のラインを設定する。また、対象ライン（入力）が初めて２Ｎ＋１になった時点で、対象ライン（処理）をＮに設定し、対象ライン（出力）を１に設定する。この初期設定がなされた後は、順次、次のラインに設定する。
【００４４】
ステップＳ２０８では、制御モジュール１６５が、画素値記憶用メモリ１３０と重複量記憶用メモリ１３５を初期化する。つまり、ステップＳ２０６で設定された対象ライン（入力）の画素を原画像記憶用メモリ１２５から画素値記憶用メモリ１３０へ複写する。そして、重複量記憶用メモリ１３５内は「１」に初期化する。
ステップＳ２１０では、補正情報更新処理モジュール１４０が、原画像記憶用メモリ１２５の画像内の注目画素を選択し、更に注目画素を含む領域を設定する。注目画素の選択は、最初の場合（ステップＳ２０８の次の処理の場合）、対象ライン（処理）内の１画素目となり、２回目以降の場合（ステップＳ２１８から戻ってきた場合）、順次、次の右側の画素を設定する。注目画素を含む領域としては、ここでは注目画素を中央に含む垂直方向の２Ｎ＋１画素を設定する。従って、現実的には、注目画素を含む領域が適正に設定できる必要があり、例えば、対象ライン（処理）内から選択した注目画素に対して、注目画素を中央に含む垂直方向の１７画素を領域として設定する場合、対象ライン（処理）の上下に８ライン分の原画像画素値を参照できる必要がある。そのため、第２の実施の形態では、原画像における始めのＮライン及び終わりのＮラインに関しては、注目画素の取得及び段差補正処理を行わずに、直ちに後述のステップＳ２２０に進んで対象ライン（出力）内の各画素の補正値を出力する。
【００４５】
ステップＳ２１２では、補正情報更新処理モジュール１４０が、領域内の両端画素の平均値を計算する。ここでは、一例として注目画素を含む垂直方向の２Ｎ＋１画素を領域として、その領域内の画素の両端２画素ずつを選択して計４画素の平均値として計算する。Ｎは注目画素から上方向（又は下方向）にある画素の数である。したがって、領域の縦長は（２Ｎ＋１）となる。
ｖ＝（（ｐ（０，−Ｎ）＋ｐ（０，−Ｎ＋１）＋ｐ（０，Ｎ−１）＋ｐ（０，Ｎ））／４
【００４６】
ステップＳ２１４では、補正情報更新処理モジュール１４０が、領域内の各画素値と平均値との差が予め定めた値以下か否かを判断する。各画素について予め定めた値以下の場合は逐次ステップＳ２１６へ進み、それ以外の場合はステップＳ２１８へ進む。
ここでは、以下のような判断を行う。つまり、領域内の全画素ｐ（０，ｉ）（ｉ＝−Ｎ，．．．，Ｎ）について、平均値ｖとの差分が予め定められた値（例えば、ここでは３とする）以下であるか否かの判断式である
ａｂｓ（ｐ（０，ｉ）−ｖ）≦３
を満たす場合に逐次画素値記憶用メモリ１３０及び重複量記憶用メモリ１３５を更新する処理であるステップＳ２１６へ進む。より一般には、画像出力に関わる系（前後の画像処理や出力機器の特性）に応じて、予め３以外のより適正な閾値を決めて使用してもよい。
【００４７】
ステップＳ２１６では、補正情報更新処理モジュール１４０が、画素値記憶用メモリ１３０と重複量記憶用メモリ１３５を更新する。具体的には、例えば、画素値記憶用メモリ１３０内の前述の判断式を満たすｐ（０，ｉ）に対応する画素に平均値ｖを加算し、重複量記憶用メモリ１３５内の同様の位置に１を加算する。つまり、注目画素４０９とその上下にある計１７画素のうち、平均値ｖからの差分が３以下の画素全てについて、平均値ｖを加算し、その加算回数を画素毎に計数する。
ステップＳ２１８では、補正情報更新処理モジュール１４０が、１ライン終了したか否かを判断する。つまり、次の注目画素が対象ライン（処理）内にはない場合を終了したと判断する。終了した場合はステップＳ２２０へ進み、それ以外の場合はステップＳ２１０へ戻る。ステップＳ２１０に戻った場合は、注目画素ｐ（０，０）を対象ライン（処理）内で設定しなおす。
【００４８】
ステップＳ２２０では、補正画素値算出処理モジュール１４５が、対象ライン（出力）内の各画素の補正値を出力する。つまり、画素値記憶用メモリ１３０の値（各画素値に複数の平均値を加算した値）を重複量記憶用メモリ１３５に記憶された値（加算回数）で除算して、補正した画素値を得る。そして、画像出力モジュール１９０へ出力する。第１の実施の形態における図３に例示したフローチャートと同様の処理を行う。なお、前述のように、第２の実施の形態では、３つの対象ラインがあり、それらは第１の実施の形態では全て等しいため区別する必要はなかったが、相対的に２Ｎ＋１ラインを保持する第２の実施の形態では、「対象ライン（入力）＝２Ｎ＋１ライン目」、「対象ライン（処理）＝Ｎライン目」、「対象ライン（出力）＝１ライン目」という関係となっている（以上は画素値記憶用メモリ１３０内の相対的なライン位置関係として表現した場合）。つまり、処理対象であるＮライン目を処理するために、対象ライン（入力）として常にその先の２Ｎ＋１ライン目までを読み込んでおく必要があり、またＮライン目の処理が終わった段階で１ライン目の全画素値の補正が終わる（二度と画素値加算されない）ため出力することができるようになる。
【００４９】
ステップＳ２２２では、制御モジュール１６５が、画像内のラインの処理が終了したか否かを判断する。ここでは、対象ライン（出力）が原画像の全てのライン数まで達したときが終了であるとする。終了した場合は処理を終了し（ステップＳ２９９）、それ以外の場合はステップＳ２０６へ戻る。ステップＳ２０６に戻った場合は、対象ライン（入力）を画像内の次のラインに設定しなおす。
【００５０】
なお、第２の実施の形態では、ステップＳ２０８の処理の際に、画素値記憶用メモリ１３０の値と重複量記憶用メモリ１３５の値を１ライン分回転させて（つまり、１ライン目を最終ラインとし、２ライン目から２Ｎ＋１ライン目までを１ラインずつ繰り上げる）、不要になった画素値記憶用メモリ１３０内の領域に原画像から新たに１ラインを読み込んで、同様に不要になった重複量記憶用メモリ１３５内の領域を新しく「１」に初期化する。つまり、前記Ｎ＋１ライン目の処理を終えたときには、画素値記憶用メモリ１３０と重複量記憶用メモリ１３５に記憶された値のうち、１ライン目に記憶された情報は再び使うことがないため、１ライン分の回転）を行い、不要になった領域を新しい１ライン分の情報を保持するために使用する。いわゆるリングバッファ的な使い方を行う。
ステップＳ２９９の処理は、第１の実施の形態におけるステップＳ２９９と同等である。
【００５１】
なお、これらの説明から分かるように、第１の実施の形態では画像のライン内の初めのＮ画素（水平方向における左からＮ画素）及び終わりのＮ画素（水平方向における右からＮ画素）については、又は、第２の実施の形態では初めのＮライン（垂直方向における上からＮライン）及び終わりのＮライン（垂直方向における下からＮライン）については、注目画素を含む領域が画像の中から選択できない部分（いわゆる額縁部分）に相当している。このような部分は処理をパスしてもよいし、選択できる範囲の中に限定して領域選択してもよいし、左右にＮ画素分又は上下にＮライン分を余計に設け、その部分に周辺の画素を複写して処理を行うようにしてもよい。第１、２の実施の形態では処理をパスするものである。
【００５２】
＜第３の実施の形態＞
第３の実施の形態は、水平方向と垂直方向の処理を行うものである。つまり、画像の水平、垂直どちらの方向で変化するグラデーションの階調段差をも対象とするものである。
第３の実施の形態では、第２の実施の形態と同様に画素値記憶用メモリ１３０及び重複量記憶用メモリ１３５を、受け付けた画像の横幅×（２Ｎ＋１）のサイズで確保し、第２の実施の形態の枠組みの中で、各注目画素について第２の実施の形態の補正情報更新処理を行い、第１の実施の形態の補正情報更新処理モジュール１４０、補正画素値算出処理モジュール１４５による処理を行うようにすればよい。
【００５３】
＜第４の実施の形態＞
第３の実施の形態では、水平、垂直どちらの方向に向かって変化するグラデーションの階調段差も補正するが、実際のグラデーションでは両方向の補正よりもグラデーションが発生している方向に合致する方向の成分だけを補正すれば充分な場合が多い。第４の実施の形態は、前もって階調段差の部位を判定しておくことにより不要な補正処理を減らすためのものである。
【００５４】
図５は、第４の実施の形態による処理例を示すフローチャートである。なお、第３の実施の形態における図２に例示したフローチャートと同種の処理については重複した説明を省略する。
ステップＳ５０２からステップＳ５１０までの処理は、第３の実施の形態におけるステップＳ２０２からステップＳ２１０までの処理と同等である。
【００５５】
ステップＳ５１２では、階調段差判定処理モジュール１５０が、ステップＳ５１０で選択した注目画素を含む領域内に階調段差部分が含まれているか否かを判断する。階調段差部分が含まれている場合はステップＳ５１４へ進み、それ以外の場合はステップＳ５１６へ進む。
【００５６】
ステップＳ５１２の詳細な処理については、図６に例示するフローチャートを用いて説明する。図６は、階調段差判定処理モジュール１５０による処理例を示すフローチャートである。
ステップＳ６０２では、水平方向の段差（△１）と垂直方向の段差（△２）を算出する。つまり、次式によって算出する。
△１＝ａｂｓ（ｐ（−Ｎ，０）＋ｐ（−Ｎ＋１，０）＋ｐ（−Ｎ＋２，０）−（ｐ（Ｎ−２，０）＋ｐ（Ｎ−１，０）＋ｐ（Ｎ，０）））
△２＝ａｂｓ（ｐ（０，−Ｎ）＋ｐ（０，−Ｎ＋１）＋ｐ（０，−Ｎ＋２）−（ｐ（０，Ｎ−２）＋ｐ（０，Ｎ−１）＋ｐ（０，Ｎ）））
【００５７】
これらの式について図８を用いて説明する。図８は、水平領域の画素例と垂直領域の画素例を示す説明図である。
注目画素８０９を中央とした水平方向の左端にある３画素（画素８０１、８０２、８０３）と右端にある３画素（画素８１５、８１６、８１７）の差分（△１）と、注目画素８０９を中央とした垂直方向の上端にある３画素（画素８２１、８２２、８２３）と下端にある３画素（画素８３５、８３６、８３７）の差分（△２）をそれぞれ求めている。なお、ここでは、注目画素を含む領域内の離れた位置にある画素として領域内の両端にある３画素としているが、必ずしも３画素である必要はなく、３画素以外の画素数であってもよい。
【００５８】
ステップＳ６０４では、総合段差△＝ｍａｘ{△１，△２}とする。つまり、差分の大きい方を総合段差として選択する。なお、ｍａｘは最大値を返す関数である。
ステップＳ６０６では、△≦１２か否かを判断する。△≦１２の場合はステップＳ６０８へ進み、それ以外の場合はステップＳ６１０へ進む。なお、１２は絶対的な段差値（１画素単位の差分）が４以下の場合に相当するものである。より一般には、画像出力に関わる系（前後の画像処理や出力機器の特性）に応じて、予め４以外のより適正な段差値を設定し、それに応じて△の閾値を決めて使用してもよい。△≦１２を満たすならば、注目画素が階調段差部分の候補に該当すると判断（ステップＳ６０８））し、この式を満たさない場合には、エッジ部と判断（ステップＳ６１０）することになる。前者と判断された場合は引き続き階調段差情報の更新処理（ステップＳ６０８を経て、ステップＳ５１４の処理）に進み、後者と判断された場合には、階調段差情報の更新処理をパスして（ステップＳ６１０を経て、ステップＳ５１６へ進む）次の画素に進む。
【００５９】
ステップＳ５１４では、補正情報を更新する。注目画素が階調段差部分に該当すると判断された場合の階調段差情報の更新処理は、前述の第３の実施の形態で説明したように水平方向、垂直方向共に行ってもよいが、第４の実施の形態では、より段差が大きい片側だけについて行う。
【００６０】
ステップＳ５１４の詳細な処理については、図７に例示するフローチャートを用いて説明する。図７は、第４の実施の形態における補正情報更新処理モジュール１４０による補正情報の更新処理例を示すフローチャートである。
ステップＳ７０２では、算出した水平方向の段差△１及び垂直方向の段差△２について、△１＞△２か否かを判断する。△１＞△２の場合（水平方向により強い段差が発生している場合）はステップＳ７０４へ進み、それ以外の場合（垂直方向により強い段差が発生している場合）はステップＳ７１０へ進む。
【００６１】
ステップＳ７０４では、水平領域内の画素の平均値を計算する。
ステップＳ７０６では、水平領域内の画素値と平均値との差が予め定めた値以下か否かを判断する。予め定めた値以下の場合はステップＳ７０８へ進み、それ以外の場合は処理を終了する（ステップＳ７９９）。
ステップＳ７０８では、画素値記憶用メモリ１３０と重複量記憶用メモリ１３５を更新する。
なお、ステップＳ７０６とステップＳ７０８の処理は、水平領域（合計２Ｎ＋１画素）内の画素それぞれに対して行う。
【００６２】
ステップＳ７１０では、垂直領域内の画素の平均値を計算する。
ステップＳ７１２では、垂直領域内の画素値と平均値との差が予め定めた値以下か否かを判断する。予め定めた値以下の場合はステップＳ７１４へ進み、それ以外の場合は処理を終了する（ステップＳ７９９）。
ステップＳ７１４では、画素値記憶用メモリ１３０と重複量記憶用メモリ１３５を更新する。
なお、ステップＳ７１２とステップＳ７１４の処理は、垂直領域（合計２Ｎ＋１画素）内の画素それぞれに対して行う。
つまり、ステップＳ７０４からステップＳ７０８までの処理、ステップＳ７１０からステップＳ７１４までの処理は、図２に例示したフローチャート内のステップＳ２１２からステップＳ２１６までの処理に該当するものである。
【００６３】
ステップＳ５１６からステップＳ５９９までの処理は、第３の実施の形態におけるステップＳ２１８からステップＳ２９９までの処理と同等である。なお、ステップＳ５１８の処理も図３に例示したフローチャートと同様の処理を行う。
【００６４】
＜第５の実施の形態＞
前述の実施の形態では水平方向と垂直方向の領域で説明したが、第５の実施の形態は、４５度方向又は１３５度方向についても同等の補正情報の生成、段差判定を行う。つまり、４５度方向のみ、１３５度方向のみ、これらの組み合わせ、さらに、水平方向と垂直方向の組み合わせであってもよい。また、４５度、１３５度以外の方向について処理を行ってもよい。具体的には、前述の実施の形態においてｐ（−Ｎ，０）等とあるのをｐ（−Ｎ，−Ｎ）等にすることによって対応する。
【００６５】
＜第６の実施の形態＞
第６の実施の形態は、前述の実施の形態に加えて青空領域判定処理モジュール１５５によって受け付けた画像内のグラデーション領域（例えば、青空領域）を抽出して、その抽出した領域に対して補正情報更新処理モジュール１４０等による処理を行う。
【００６６】
＜第７の実施の形態＞
第７の実施の形態は、前述の実施の形態に加えてノイズ除去処理モジュール１６０によって受け付けた画像からノイズを除去して、その画像に対して補正情報更新処理モジュール１４０等による処理を行う。
【００６７】
図９は、本実施の形態による処理結果の例を示す説明図である。図９（Ａ）に例示する画像は、画像受付モジュール１１０が受け付ける画像であり、元々は均等なグラデーションの画像であるが、色空間の変更（例えば、ＹＣｒＣｂ空間からＲＧＢ空間への変換）等が繰り返された結果、階調段差が顕在化している。図９（Ｂ）に例示する画像は、本実施の形態によって処理された結果（画像出力モジュール１９０によって出力された画像）である。このように階調段差を軽減している。
【００６８】
図１０は、本実施の形態による処理結果の例を示す説明図である。図１０（Ａ）に例示する画像は、画像受付モジュール１１０が受け付ける画像であり、この画像にも青空部分であるグラデーション領域には、階調段差が顕在化している。図１０（Ｂ）に例示する画像は、青空部分を抽出し、その部分のノイズを除去した画像である。図１０（Ｃ）に例示する画像は、本実施の形態によって処理された結果（画像出力モジュール１９０によって出力された画像）である。このように青空部分だけの階調段差を軽減している。
【００６９】
図１１を参照して、本実施の形態の画像処理装置のハードウェア構成例について説明する。図１１に示す構成は、例えばパーソナルコンピュータ（ＰＣ）などによって構成されるものであり、スキャナ等のデータ読み取り部１１１７と、プリンタなどのデータ出力部１１１８を備えたハードウェア構成例を示している。
【００７０】
ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１０１は、前述の実施の形態において説明した各種のモジュール、すなわち、補正情報更新処理モジュール１４０、補正画素値算出処理モジュール１４５、階調段差判定処理モジュール１５０等の各モジュールの実行シーケンスを記述したコンピュータ・プログラムにしたがった処理を実行する制御部である。
【００７１】
ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１１０２は、ＣＰＵ１１０１が使用するプログラムや演算パラメータ等を格納する。ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１１０３は、ＣＰＵ１１０１の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を格納する。これらはＣＰＵバスなどから構成されるホストバス１１０４により相互に接続されている。
【００７２】
ホストバス１１０４は、ブリッジ１１０５を介して、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ／Ｉｎｔｅｒｆａｃｅ）バスなどの外部バス１１０６に接続されている。
【００７３】
キーボード１１０８、マウス等のポインティングデバイス１１０９は、操作者により操作される入力デバイスである。ディスプレイ１１１０は、液晶表示装置又はＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）などがあり、各種情報をテキストやイメージ情報として表示する。
【００７４】
ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）１１１１は、ハードディスクを内蔵し、ハードディスクを駆動し、ＣＰＵ１１０１によって実行するプログラムや情報を記録又は再生させる。ハードディスクには、受け付けた画像、出力する画像などが格納される。さらに、その他の各種のデータ処理プログラム等、各種コンピュータ・プログラムが格納される。
【００７５】
ドライブ１１１２は、装着されている磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体１１１３に記録されているデータ又はプログラムを読み出して、そのデータ又はプログラムを、インタフェース１１０７、外部バス１１０６、ブリッジ１１０５、及びホストバス１１０４を介して接続されているＲＡＭ１１０３に供給する。リムーバブル記録媒体１１１３も、ハードディスクと同様のデータ記録領域として利用可能である。
【００７６】
接続ポート１１１４は、外部接続機器１１１５を接続するポートであり、ＵＳＢ、ＩＥＥＥ１３９４等の接続部を持つ。接続ポート１１１４は、インタフェース１１０７、及び外部バス１１０６、ブリッジ１１０５、ホストバス１１０４等を介してＣＰＵ１１０１等に接続されている。通信部１１１６は、ネットワークに接続され、外部とのデータ通信処理を実行する。データ読み取り部１１１７は、例えばスキャナであり、ドキュメントの読み取り処理を実行する。データ出力部１１１８は、例えばプリンタであり、ドキュメントデータの出力処理を実行する。
【００７７】
なお、図１１に示す画像処理装置のハードウェア構成は、１つの構成例を示すものであり、本実施の形態は、図１１に示す構成に限らず、本実施の形態において説明したモジュールを実行可能な構成であればよい。例えば、一部のモジュールを専用のハードウェア（例えば特定用途向け集積回路（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ：ＡＳＩＣ）等）で構成してもよく、一部のモジュールは外部のシステム内にあり通信回線で接続しているような形態でもよく、さらに図１１に示すシステムが複数互いに通信回線によって接続されていて互いに協調動作するようにしてもよい。また、複写機、ファックス、スキャナ、プリンタ、複合機（スキャナ、プリンタ、複写機、ファックス等のいずれか２つ以上の機能を有している画像処理装置）などに組み込まれていてもよい。
【００７８】
前述の実施の形態では数式を用いて説明したが、数式には、その数式と同等のものが含まれる。同等のものとは、その数式そのものの他に、最終的な結果に影響を及ぼさない程度の数式の変形、又は数式をアルゴリズミックな解法で解くこと等が含まれる。
また、前述の実施の形態の説明において、予め定められた値との比較において、「以上」、「以下」、「より大きい」、「より小さい（未満）」としたものは、その組み合わせに矛盾が生じない限り、それぞれ「より大きい」、「より小さい（未満）」、「以上」、「以下」としてもよい。
【００７９】
なお、説明したプログラムについては、記録媒体に格納して提供してもよく、また、そのプログラムを通信手段によって提供してもよい。その場合、例えば、前記説明したプログラムについて、「プログラムを記録したコンピュータ読み取り可能な記録媒体」の発明として捉えてもよい。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通などのために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク（ＤＶＤ）であって、ＤＶＤフォーラムで策定された規格である「ＤＶＤ−Ｒ、ＤＶＤ−ＲＷ、ＤＶＤ−ＲＡＭ等」、ＤＶＤ＋ＲＷで策定された規格である「ＤＶＤ＋Ｒ、ＤＶＤ＋ＲＷ等」、コンパクトディスク（ＣＤ）であって、読出し専用メモリ（ＣＤ−ＲＯＭ）、ＣＤレコーダブル（ＣＤ−Ｒ）、ＣＤリライタブル（ＣＤ−ＲＷ）等、ブルーレイ・ディスク（Ｂｌｕ−ｒａｙ  Ｄｉｓｃ（登録商標））、光磁気ディスク（ＭＯ）、フレキシブルディスク（ＦＤ）、磁気テープ、ハードディスク、読出し専用メモリ（ＲＯＭ）、電気的消去及び書換可能な読出し専用メモリ（ＥＥＰＲＯＭ）、フラッシュ・メモリ、ランダム・アクセス・メモリ（ＲＡＭ）等が含まれる。
そして、前記のプログラム又はその一部は、前記記録媒体に記録して保存や流通等させてもよい。また、通信によって、例えば、ローカル・エリア・ネットワーク（ＬＡＮ）、メトロポリタン・エリア・ネットワーク（ＭＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、あるいは無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分であってもよく、あるいは別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して
記録されていてもよい。また、圧縮や暗号化など、復元可能であればどのような態様で記録されていてもよい。
【符号の説明】
【００８０】
１１０…画像受付モジュール
１２０…画像補正処理モジュール
１２５…原画像記憶用メモリ
１３０…画素値記憶用メモリ
１３５…重複量記憶用メモリ
１４０…補正情報更新処理モジュール
１４５…補正画素値算出処理モジュール
１５０…階調段差判定処理モジュール
１５５…青空領域判定処理モジュール
１６０…ノイズ除去処理モジュール
１６５…制御モジュール
１９０…画像出力モジュール
【図１】
2011039972.tif 000003
【図２】
2011039972.tif 000004
【図３】
2011039972.tif 000005
【図４】
2011039972.tif 000006
【図５】
2011039972.tif 000007
【図６】
2011039972.tif 000008
【図７】
2011039972.tif 000009
【図８】
2011039972.tif 000010
【図９】
2011039972.tif 000011
【図１０】
2011039972.tif 000012
【図１１】
2011039972.tif 000013