(57)【要約】【課題】原稿の地肌濃度のばらつき及び読み取りに起因するムラを排除する。【解決手段】入力画像データをブロック単位に分割する。１ブロックは１６画素である。次いで、各ブロック毎に各色の最大値、最小値、平均値を算出する。次いで、各色平均値の最大値と最小値を算出する。各色平均値の最大値と最小値が算出されると、平坦パラメータ閾値と前記平均値の最大値と最小値の差分とを各ブロック毎に比較し、平均値の最大値と最小値の差分が平坦パラメータ閾値より小さければ、そのブロックは地肌部として平坦ブロック処理を、平坦パラメータ閾値より小さくなければ、そのブロックは非地肌部として起伏ブロック処理を行い、地肌抽出値を求める。そして、この地肌抽出値を用いて周囲ブロックの加重乗加算により地肌レベル値を算出し、地肌レベル値と基準地肌パラメータ値とを比較し、その比較結果に基づいて補正処理を行う。【選択図】図８
2006042194.tif 000002
【特許請求の範囲】
【請求項１】
ラインメモリを備え、主走査方向に所定の画素単位でブロック処理するブロック処理手段と、
前記ブロック処理されたブロック内でＲＧＢ各色の最大値、最小値及び平均値を算出する第１の算出手段と、
前記第１の算出手段で算出された各色平均値の最大値、最小値を算出する第２の算出手段と、
前記ブロック毎に各色最大値と最小値の差分を平坦性を示す所定のパラメータと比較し、地肌の平坦性を検出する検出手段と、
前記ブロック毎に前記検出手段によって検出された地肌部と非地肌部のそれぞれに対して地肌抽出値を設定し、当該地肌抽出値を使用して注目画素の周囲ブロック濃度から地肌レベル値を算出する第３の算出手段と、
前記第３の算出手段によって算出された地肌レベル値と基準となる地肌レベルを示す所定のパラメータと比較する比較手段と、
前記第１の比較手段の比較結果に応じて画素単位で入力画像信号を補正する補正手段と、
を備えていることを特徴とする画像処理装置。
【請求項２】
前記検出手段は、第１の算出手段によって算出されたＲ，Ｇ，Ｂ各色の濃度の
最大値（Ｍａｘ＿Ｒ，Ｍａｘ＿Ｇ，Ｍａｘ＿Ｂ）
最小値（Ｍｉｎ＿Ｒ，Ｍｉｎ＿Ｇ，Ｍｉｎ＿Ｂ）
平均値（Ａｖｅ＿Ｒ，Ａｖｅ＿Ｇ，Ａｖｅ＿Ｂ）
から第２の算出手段によって
各色平均値の最大値（Ｍａｘ＿Ａ）
各色平均値の最小値（Ｍｉｎ＿Ａ）
を算出し、ブロック毎に平均値の最大値と最小値の差分と前記パラメータ（Ｆｌａｔ＿Ｒ，Ｆｌａｔ＿Ｇ，Ｆｌａｔ＿Ｂ）とを、
（（Ｍａｘ＿Ｒ−Ｍｉｎ＿Ｒ）＜Ｆｌａｔ＿Ｒ）＆＆（（Ｍａｘ＿Ｇ−Ｍｉｎ＿Ｇ）＜Ｆｌａｔ＿Ｇ）＆＆（（Ｍａｘ＿Ｂ−Ｍｉｎ＿Ｂ）＜Ｆｌａｔ＿Ｂ））
のように比較して各色ＲＧＢの画像信号の平坦性を検出することを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記第３の算出手段は、地肌部については、各色ともブロック毎の平均値（Ａｖｅ＿Ｒ、Ａｖｅ＿Ｇ、Ａｖｅ＿Ｂ）を地肌抽出値（Ｒｔ、Ｇｔ、Ｂｔ）
Ｒｔ＝Ａｖｅ＿Ｒ
Ｇｔ＝Ａｖｅ＿Ｇ
Ｂｔ＝Ａｖｅ＿Ｂ
とし、非地肌部については、注目ブロックに対して前ラインの周囲ブロック（ｌ）（ｃ）（ｒ）及び現ラインの前ブロック（ｂ）の地肌レベル値（Ｒｄ，Ｇｄ，Ｂｄ）に対して設定可能なパラメータを選択し、前記各ブロックに対して所定の重み付け（α、β、γ、δ）を行った後、それぞれ加算したものを注目ブロックの地肌レベル予測値（Ｒｅ，Ｇｅ，Ｂｅ）
Ｒｅ＝α×Ｒｄ（ｌ）＋β×Ｒｄ（ｃ）＋γ×Ｒｄ（ｒ）＋δ×Ｒｄ（ｂ）
Ｇｅ＝α×Ｇｄ（ｌ）＋β×Ｇｄ（ｃ）＋γ×Ｇｄ（ｒ）＋δ×Ｇｄ（ｂ）
Ｂｅ＝α×Ｂｄ（ｌ）＋β×Ｂｄ（ｃ）＋γ×Ｂｄ（ｒ）＋δ×Ｂｄ（ｂ）
として求め、前記地肌レベル予測値（Ｒｅ，Ｇｅ，Ｂｅ）を地肌抽出値（Ｒｔ，Ｇｔ，Ｂｔ）
Ｒｔ＝Ｒｅ
Ｇｔ＝Ｇｅ
Ｂｔ＝Ｂｅ
とし、地肌レベル値（Ｒｄ，Ｇｄ，Ｂｄ）を、
Ｒｄ＝設定係数×Ｒｅ＋Ｒｔ
Ｇｄ＝設定係数×Ｇｅ＋Ｇｔ
Ｂｄ＝設定係数×Ｂｅ＋Ｂｔ
として算出することを特徴とする請求項１または２記載の画像処理装置。
【請求項４】
前記補正手段は、前記比較手段の比較結果と、地肌レベル値と地肌パラメータ値との比較結果に応じて、地肌レベルと基準地肌パラメータ値の差分を入力画像データから減算あるいは加算することを特徴とする請求項１ないし３のいずれか１項に記載の画像処理装置。
【請求項５】
前記補正手段は、地肌レベル値が基準地肌パラメータ（ｂａｓｅ）値より大きく、入力画像データが地肌レベル値（Ｒｄ，Ｇｄ，Ｂｄ）以下でなければ、Ｒ，Ｇ，Ｂの入力画像データをｉｍｇ＿ｒｉ，ｉｍｇ＿ｇｉ，ｉｍｇ＿ｂｉ、Ｒ，Ｇ，Ｂの出力画像データをｉｍｇ＿ｒｏ，ｉｍｇ＿ｇｏ，ｉｍｇ＿ｂｏとしたときに、
ｉｍｇ＿ｒｏ＝ｉｍｇ＿ｒｉ−（Ｒｄ−ｂａｓｅ）
ｉｍｇ＿ｇｏ＝ｉｍｇ＿ｇｉ−（Ｇｄ−ｂａｓｅ）
ｉｍｇ＿ｂｏ＝ｉｍｇ＿ｂｉ−（Ｂｄ−ｂａｓｅ）
とすることを特徴とする請求項４記載の画像処理装置。
【請求項６】
前記補正手段は、地肌レベル値が基準地肌パラメータ（ｂａｓｅ）値より大きくなく、入力画像データが地肌レベル値（Ｒｄ，Ｇｄ，Ｂｄ）以下でなければ、Ｒ，Ｇ，Ｂの入力画像データをｉｍｇ＿ｒｉ，ｉｍｇ＿ｇｉ，ｉｍｇ＿ｂｉ、Ｒ，Ｇ，Ｂの出力画像データをｉｍｇ＿ｒｏ，ｉｍｇ＿ｇｏ，ｉｍｇ＿ｂｏとしたときに、
ｉｍｇ＿ｒｏ＝ｉｍｇ＿ｒｉ＋（ｂａｓｅ−Ｒｄ）
ｉｍｇ＿ｇｏ＝ｉｍｇ＿ｇｉ＋（ｂａｓｅ−Ｇｄ）
ｉｍｇ＿ｂｏ＝ｉｍｇ＿ｂｉ＋（ｂａｓｅ−Ｂｄ）
とすることを特徴とする請求項４記載の画像処理装置。
【請求項７】
前記補正手段は、地肌レベル値が基準地肌パラメータ（ｂａｓｅ）値より大きく、入力画像データが地肌レベル値（Ｒｄ，Ｇｄ，Ｂｄ）以下で、入力画像データ（ｉｍｇ＿ｒｉ，ｉｍｇ＿ｇｉ，ｉｍｇ＿ｂｉ）が、明パラメータをｌｉｇｈｔとしたときに、
ｉｍｇ＿ｒｏ＝ｂａｓｅ−（Ｒｄ−ｉｍｇ＿ｒｉ）×ｌｉｇｈｔ
ｉｍｇ＿ｇｏ＝ｂａｓｅ−（Ｇｄ−ｉｍｇ＿ｇｉ）×ｌｉｇｈｔ
ｉｍｇ＿ｂｏ＝ｂａｓｅ−（Ｂｄ−ｉｍｇ＿ｂｉ）×ｌｉｇｈｔ
より大きければ、前記入力画像データに補正し、大きくなければ、入力画像データをそのまま出力画像データとすることを特徴とする請求項４記載の画像処理装置。
【請求項８】
前記補正手段は、地肌レベル値が基準地肌パラメータ（ｂａｓｅ）値より大きくなく、入力画像データが地肌レベル値（Ｒｄ，Ｇｄ，Ｂｄ）以下で、入力画像データ（ｉｍｇ＿ｒｉ，ｉｍｇ＿ｇｉ，ｉｍｇ＿ｂｉ）が、暗パラメータをｄａｒｋとしたときに、
ｉｍｇ＿ｒｏ＝ｂａｓｅ−（Ｒｄ−ｉｍｇ＿ｒｉ）×ｄａｒｋ
ｉｍｇ＿ｇｏ＝ｂａｓｅ−（Ｇｄ−ｉｍｇ＿ｇｉ）×ｄａｒｋ
ｉｍｇ＿ｂｏ＝ｂａｓｅ−（Ｂｄ−ｉｍｇ＿ｂｉ）×ｄａｒｋ
より小さければ、前記入力画像データに補正し、小さくなければ、入力画像データをそのまま出力画像データとすることを特徴とする請求項４記載の画像処理装置。
【請求項９】
前記検出手段は、前記平坦性を示す所定のパラメータとの比較結果を格納するラインメモリを備え、ブロック毎にＡＮＤ処理を行い、副走査方向にブロック単位で平坦性の連続性を検出することを特徴とする請求項１ないし８のいずれか１項に記載の画像処理装置。
【請求項１０】
前記平坦性の連続性を検出するパラメータが変更可能であることを特徴とする請求項９記載の画像処理装置。
【請求項１１】
前記検出手段は、平坦性の連続性を検知するためのカウンタを初期化した後、前ラインブロックの前記カウンタの値を読み、注目ブロックが平坦であるか否かを判断することを特徴とする請求項１０記載の画像処理装置。
【請求項１２】
前記検出手段の結果と各色ブロック毎の平均値から地肌レベル予測値との差分の最大値（予測平均最大値）と予測値異常の基準とする設定可能なパラメータとを比較する手段を備え、前記補正手段は前記比較結果に基づき注目ブロックの地肌抽出値に誤差が生じた場合、当該地肌抽出値を適切な値に修正することを特徴とする請求項１ないし１１のいずれか１項に記載の画像処理装置。
【請求項１３】
前記検出手段の検出結果が前記パラメータより小さくない場合には、予測値異常パラメータと地肌レベル予測値を比較し、その比較結果に基づいて非地肌部として処理するか、地肌部及び非地肌部ではないとして処理するかを選択することを特徴とする請求項１２記載の画像処理装置。
【請求項１４】
前記検出手段は、地肌の平均値（Ａｖｅ＿Ｒ，Ａｖｅ＿Ｇ，Ａｖｅ＿Ｂ）と地肌レベル予測値（Ｒｅ，Ｇｅ，Ｂｅ）の差をそれぞれ算出し、その最大値である予測平均最大値
Ｍａｘ＿ａｖｅ＝Ｍａｘ（（Ａｖｅ＿Ｒ−Ｒｅ）、（Ａｖｅ＿Ｇ  −Ｇｅ）、（Ａｖｅ＿Ｂ−Ｂｅ））
を求め、予測値異常パラメータ（ｅｒｒｏｒ）と前記予測平均最大値（Ｍａｘ＿ａｖｅ）を比較し、
予測値異常パラメータが小さい場合（Ｍａｘ＿ａｖｅ＞ｅｒｒｏｒ）は、
Ｍａｘ＿Ａ＞Ｒｅ、Ｍａｘ＿Ａ＞Ｇｅ、Ｍａｘ＿Ａ＞Ｂｅ
であって、
（Ｒｅ＋Ｍａｘ＿ａｖｅ）＞Ｍａｘ＿Ａ
（Ｇｅ＋Ｍａｘ＿ａｖｅ）＞Ｍａｘ＿Ａ
（Ｂｅ＋Ｍａｘ＿ａｖｅ）＞Ｍａｘ＿Ａ
のとき、それぞれ、
Ｒｔ＝Ｍａｘ＿Ａ
Ｇｔ＝Ｍａｘ＿Ａ
Ｂｔ＝Ｍａｘ＿Ａ
を、また、
（Ｒｅ＋Ｍａｘ＿ａｖｅ）≦Ｍａｘ＿Ａ
（Ｇｅ＋Ｍａｘ＿ａｖｅ）≦Ｍａｘ＿Ａ
（Ｇｅ＋Ｍａｘ＿ａｖｅ）≦Ｍａｘ＿Ａ
のとき、それぞれ
Ｒｔ＝（Ｒｅ＋Ｍａｘ＿ａｖｅ）
Ｇｔ＝（Ｇｅ＋Ｍａｘ＿ａｖｅ）
Ｂｔ＝（Ｂｅ＋Ｍａｘ＿ａｖｅ）
を、また、
Ｍａｘ＿Ａ≦Ｒｅ、Ｍａｘ＿Ａ≦Ｇｅ、Ｍａｘ＿Ａ≦Ｂｅ
であれば、
Ｒｔ＝Ｒｅ
Ｇｔ＝Ｇｅ
Ｂｔ＝Ｂｅ
をそれぞれ地肌抽出値（Ｒｔ，Ｇｔ，Ｂｔ）とすることを特徴とする請求項１２記載の画像処理装置。
【請求項１５】
前記第３の算出手段は、前記地肌抽出値をブロック単位で加算する手段を備え、
前記地肌抽出値で地肌となったブロックに対して各色ブロック単位で加算した総和（Ｓｕｍ＿Ｒ，Ｓｕｍ＿Ｇ，Ｓｕｍ＿Ｂ）を該当ブロックのカウント値で除算した結果と、ライン平均値（Ｒｌ，Ｇｌ，Ｂｌ）との差分に加重設定可能なパラメータを各色毎に乗算したものと、前ラインで算出したライン平均値とを下記のように加算して
Ｒｌ＝Ｒｌ＋設定係数×（Ｓｕｍ＿Ｒ／加算カウント値−Ｒｌ）
Ｇｌ＝Ｇｌ＋設定係数×（Ｓｕｍ＿Ｇ／加算カウント値−Ｇｌ）
Ｂｌ＝Ｂｌ＋設定係数×（Ｓｕｍ＿Ｂ／加算カウント値−Ｂｌ）
ラインの単位毎に更新し、地肌ブロックの濃度の平均値を求めることを特徴とする請求項１ないし１４のいずれか１項に記載の画像処理装置。
【請求項１６】
前記第３の算出手段は、前記地肌抽出値と前記ライン平均値の差分を設定可能な閾値パラメータ（変動閾値）と比較する手段を備え、
差が小さくなるようにライン平均値に対して閾値パラメータを加算もしくは減算した結果を、地肌レベルの予測値に加重設定するパラメータを各色毎に乗算したものに下記のように加算し、
Ｒｄ＝設定係数×Ｒｅ＋Ｒｌ±変動閾値
Ｇｄ＝設定係数×Ｇｅ＋Ｇｌ±変動閾値
Ｂｄ＝設定係数×Ｂｅ＋Ｂｌ±変動閾値
ブロック毎に地肌レベル値（Ｒｄ，Ｇｄ，Ｂｄ）を更新することを特徴とする請求項１ないし１４のいずれか１項に記載の画像処理装置。
【請求項１７】
前記更新されたブロック毎に地肌レベル値（Ｒｄ，Ｇｄ，Ｂｄ）をラインメモリに蓄積し、次ラインの周辺ブロック参照値として使用することを特徴とする請求項１６記載の画像処理装置。
【請求項１８】
ＡＣＣパターンが記録された記録紙を読み取った画像データを格納し、読み込み可能なラインメモリを備え、
前記ＡＣＣパターンを読み込む場合に前記補正手段に前記ラインメモリからの読み出しデータを送り込むバスセレクタを備えていることを特徴とする請求項１ないし１７のいずれか１項に記載の画像処理装置。
【請求項１９】
請求項１ないし１８のいずれか１項に記載の画像処理装置を備えていることを特徴とする画像形成装置。
【請求項２０】
ＡＣＣパターンを記録紙に出力する出力手段と、
原稿を読み取る読み取り手段と、
を備え、前記読み取り手段により前記出力手段により出力された記録紙上の前記ＡＣＣパターンを読み取ることを特徴とする請求項１９記載の画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は原稿の地肌濃度のばらつきを検出し、補正処理やＡＣＣ（自動画像調整）を行う画像処理装置、及びこの画像処理装置を備えた画像形成装置に関する。
【背景技術】
【０００２】
この種の技術として例えば特許文献１あるいは２に記載された発明が公知である。このうち特許文献１には、１ライン毎に複数のブロックに分割して平均値のピークレベルを保持し、その結果により地肌レベルを除去する画像形成装置が開示されている。また、特許文献２には、地肌レベル変動があるような画像データの地肌を除去する画像データ装置が開示されている。
【特許文献１】特開２００２−１１２０３４公報
【特許文献２】特開２００２−８４４２３公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら特許文献１記載の画像形成装置は、平均手段からのピーク値とブロック間隔を設けているだけで細かな抽出値の検出はできない。また、特許文献２記載の画像データ装置は、重み付けの値を地肌レベルに応じて変更するようにしているが、各色毎の比較設定や副走査方向への連続性の加味等がなく、より詳細な地肌レベルの検知ができない。
【０００４】
本発明はこのような従来技術の実情に鑑みてなされたもので、その目的は、原稿の地肌濃度のばらつき及び読み取りに起因するムラを排除することが可能な画像処理装置及び画像形成装置を提供することにある。
【課題を解決するための手段】
【０００５】
前記目的を達成するため、第１の手段は、ラインメモリを備え、主走査方向に所定の画素単位でブロック処理するブロック処理手段と、前記ブロック処理されたブロック内でＲＧＢ各色の最大値、最小値及び平均値を算出する第１の算出手段と、前記第１の算出手段で算出された各色平均値の最大値、最小値を算出する第２の算出手段と、前記ブロック毎に各色最大値と最小値の差分を平坦性を示す所定のパラメータと比較し、地肌の平坦性を検出する検出手段と、前記ブロック毎に前記検出手段によって検出された地肌部と非地肌部のそれぞれに対して地肌抽出値を設定し、当該地肌抽出値を使用して注目画素の周囲ブロック濃度から地肌レベル値を算出する第３の算出手段と、前記第３の算出手段によって算出された地肌レベル値と基準となる地肌レベルを示す所定のパラメータと比較する比較手段と、前記第１の比較手段の比較結果に応じて画素単位で入力画像信号を補正する補正手段とを画像処理装置が備えていることを特徴とする。
【０００６】
第２の手段は、第１の手段において、前記検出手段は、第１の算出手段によって算出されたＲ，Ｇ，Ｂ各色の濃度の
最大値（Ｍａｘ＿Ｒ，Ｍａｘ＿Ｇ，Ｍａｘ＿Ｂ）
最小値（Ｍｉｎ＿Ｒ，Ｍｉｎ＿Ｇ，Ｍｉｎ＿Ｂ）
平均値（Ａｖｅ＿Ｒ，Ａｖｅ＿Ｇ，Ａｖｅ＿Ｂ）
から第２の算出手段によって
各色平均値の最大値（Ｍａｘ＿Ａ）
各色平均値の最小値（Ｍｉｎ＿Ａ）
を算出し、ブロック毎に平均値の最大値と最小値の差分と前記パラメータ（Ｆｌａｔ＿Ｒ，Ｆｌａｔ＿Ｇ，Ｆｌａｔ＿Ｂ）とを、
（（Ｍａｘ＿Ｒ−Ｍｉｎ＿Ｒ）＜Ｆｌａｔ＿Ｒ）＆＆（（Ｍａｘ＿Ｇ−Ｍｉｎ＿Ｇ）＜Ｆｌａｔ＿Ｇ）＆＆（（Ｍａｘ＿Ｂ−Ｍｉｎ＿Ｂ）＜Ｆｌａｔ＿Ｂ））
のように比較して各色ＲＧＢの画像信号の平坦性を検出することを特徴とする。
【０００７】
第３の手段は、第１または第２の手段において、前記第３の算出手段は、地肌部については、各色ともブロック毎の平均値（Ａｖｅ＿Ｒ、Ａｖｅ＿Ｇ、Ａｖｅ＿Ｂ）を地肌抽出値（Ｒｔ、Ｇｔ、Ｂｔ）
Ｒｔ＝Ａｖｅ＿Ｒ
Ｇｔ＝Ａｖｅ＿Ｇ
Ｂｔ＝Ａｖｅ＿Ｂ
とし、非地肌部については、注目ブロックに対して前ラインの周囲ブロック（ｌ）（ｃ）（ｒ）及び現ラインの前ブロック（ｂ）の地肌レベル値（Ｒｄ，Ｇｄ，Ｂｄ）に対して設定可能なパラメータを選択し、前記各ブロックに対して所定の重み付け（α、β、γ、δ）を行った後、それぞれ加算したものを注目ブロックの地肌レベル予測値（Ｒｅ，Ｇｅ，Ｂｅ）
Ｒｅ＝α×Ｒｄ（ｌ）＋β×Ｒｄ（ｃ）＋γ×Ｒｄ（ｒ）＋δ×Ｒｄ（ｂ）
Ｇｅ＝α×Ｇｄ（ｌ）＋β×Ｇｄ（ｃ）＋γ×Ｇｄ（ｒ）＋δ×Ｇｄ（ｂ）
Ｂｅ＝α×Ｂｄ（ｌ）＋β×Ｂｄ（ｃ）＋γ×Ｂｄ（ｒ）＋δ×Ｂｄ（ｂ）
として求め、前記地肌レベル予測値（Ｒｅ，Ｇｅ，Ｂｅ）を地肌抽出値（Ｒｔ，Ｇｔ，Ｂｔ）
Ｒｔ＝Ｒｅ
Ｇｔ＝Ｇｅ
Ｂｔ＝Ｂｅ
とし、地肌レベル値（Ｒｄ，Ｇｄ，Ｂｄ）を、
Ｒｄ＝設定係数×Ｒｅ＋Ｒｔ
Ｇｄ＝設定係数×Ｇｅ＋Ｇｔ
Ｂｄ＝設定係数×Ｂｅ＋Ｂｔ
として算出することを特徴とする。
【０００８】
第４の手段は、第１ないし第３のいずれかの手段において、前記補正手段は、前記比較手段の比較結果と、地肌レベル値と地肌パラメータ値との比較結果に応じて、地肌レベルと基準地肌パラメータ値の差分を入力画像データから減算あるいは加算することを特徴とする。
【０００９】
第５の手段は、第４の手段において、前記補正手段は、地肌レベル値が基準地肌パラメータ（ｂａｓｅ）値より大きく、入力画像データが地肌レベル値（Ｒｄ，Ｇｄ，Ｂｄ）以下でなければ、Ｒ，Ｇ，Ｂの入力画像データをｉｍｇ＿ｒｉ，ｉｍｇ＿ｇｉ，ｉｍｇ＿ｂｉ、Ｒ，Ｇ，Ｂの出力画像データをｉｍｇ＿ｒｏ，ｉｍｇ＿ｇｏ，ｉｍｇ＿ｂｏとしたときに、
ｉｍｇ＿ｒｏ＝ｉｍｇ＿ｒｉ−（Ｒｄ−ｂａｓｅ）
ｉｍｇ＿ｇｏ＝ｉｍｇ＿ｇｉ−（Ｇｄ−ｂａｓｅ）
ｉｍｇ＿ｂｏ＝ｉｍｇ＿ｂｉ−（Ｂｄ−ｂａｓｅ）
とすることを特徴とする。
【００１０】
第６の手段は、第４の手段において、前記補正手段は、地肌レベル値が基準地肌パラメータ（ｂａｓｅ）値より大きくなく、入力画像データが地肌レベル値（Ｒｄ，Ｇｄ，Ｂｄ）以下でなければ、Ｒ，Ｇ，Ｂの入力画像データをｉｍｇ＿ｒｉ，ｉｍｇ＿ｇｉ，ｉｍｇ＿ｂｉ、Ｒ，Ｇ，Ｂの出力画像データをｉｍｇ＿ｒｏ，ｉｍｇ＿ｇｏ，ｉｍｇ＿ｂｏとしたときに、
ｉｍｇ＿ｒｏ＝ｉｍｇ＿ｒｉ＋（ｂａｓｅ−Ｒｄ）
ｉｍｇ＿ｇｏ＝ｉｍｇ＿ｇｉ＋（ｂａｓｅ−Ｇｄ）
ｉｍｇ＿ｂｏ＝ｉｍｇ＿ｂｉ＋（ｂａｓｅ−Ｂｄ）
とすることを特徴とする。
【００１１】
第７の手段は、第４の手段において、前記補正手段は、地肌レベル値が基準地肌パラメータ（ｂａｓｅ）値より大きく、入力画像データが地肌レベル値（Ｒｄ，Ｇｄ，Ｂｄ）以下で、入力画像データ（ｉｍｇ＿ｒｉ，ｉｍｇ＿ｇｉ，ｉｍｇ＿ｂｉ）が、明パラメータをｌｉｇｈｔとしたときに、
ｉｍｇ＿ｒｏ＝ｂａｓｅ−（Ｒｄ−ｉｍｇ＿ｒｉ）×ｌｉｇｈｔ
ｉｍｇ＿ｇｏ＝ｂａｓｅ−（Ｇｄ−ｉｍｇ＿ｇｉ）×ｌｉｇｈｔ
ｉｍｇ＿ｂｏ＝ｂａｓｅ−（Ｂｄ−ｉｍｇ＿ｂｉ）×ｌｉｇｈｔ
より大きければ、前記入力画像データに補正し、大きくなければ、入力画像データをそのまま出力画像データとすることを特徴とする。
【００１２】
第８の手段は、第４の手段において、前記補正手段は、地肌レベル値が基準地肌パラメータ（ｂａｓｅ）値より大きくなく、入力画像データが地肌レベル値（Ｒｄ，Ｇｄ，Ｂｄ）以下で、入力画像データ（ｉｍｇ＿ｒｉ，ｉｍｇ＿ｇｉ，ｉｍｇ＿ｂｉ）が、暗パラメータをｄａｒｋとしたときに、
ｉｍｇ＿ｒｏ＝ｂａｓｅ−（Ｒｄ−ｉｍｇ＿ｒｉ）×ｄａｒｋ
ｉｍｇ＿ｇｏ＝ｂａｓｅ−（Ｇｄ−ｉｍｇ＿ｇｉ）×ｄａｒｋ
ｉｍｇ＿ｂｏ＝ｂａｓｅ−（Ｂｄ−ｉｍｇ＿ｂｉ）×ｄａｒｋ
より小さければ、前記入力画像データに補正し、小さくなければ、入力画像データをそのまま出力画像データとすることを特徴とする。
【００１３】
第９の手段は、第１ないし第８のいずれかの手段において、前記検出手段は、前記平坦性を示す所定のパラメータとの比較結果を格納するラインメモリを備え、ブロック毎にＡＮＤ処理を行い、副走査方向にブロック単位で平坦性の連続性を検出することを特徴とする。
【００１４】
第１０の手段は、第９の手段において、前記平坦性の連続性を検出するパラメータが変更可能であることを特徴とする。
【００１５】
第１１の手段は、第１０の手段において、前記検出手段は、平坦性の連続性を検知するためのカウンタを初期化した後、前ラインブロックの前記カウンタの値を読み、注目ブロックが平坦であるか否かを判断することを特徴とする。
【００１６】
第１２の手段は、第１ないし第１１のいずれかの手段において、前記検出手段の結果と各色ブロック毎の平均値から地肌レベル予測値との差分の最大値（予測平均最大値）と予測値異常の基準とする設定可能なパラメータとを比較する手段を備え、前記補正手段は前記比較結果に基づき注目ブロックの地肌抽出値に誤差が生じた場合、当該地肌抽出値を適切な値に修正することを特徴とする。
【００１７】
第１３の手段は、第１２の手段において、前記検出手段の検出結果が前記パラメータより小さくない場合には、予測値異常パラメータと地肌レベル予測値を比較し、その比較結果に基づいて非地肌部として処理するか、地肌部及び非地肌部ではないとして処理するかを選択することを特徴とする。
【００１８】
第１４の手段は、第１２の手段において、前記検出手段は、地肌の平均値（Ａｖｅ＿Ｒ，Ａｖｅ＿Ｇ，Ａｖｅ＿Ｂ）と地肌レベル予測値（Ｒｅ，Ｇｅ，Ｂｅ）の差をそれぞれ算出し、その最大値である予測平均最大値
Ｍａｘ＿ａｖｅ＝Ｍａｘ（（Ａｖｅ＿Ｒ−Ｒｅ）、（Ａｖｅ＿Ｇ  −Ｇｅ）、（Ａｖｅ＿Ｂ−Ｂｅ））
を求め、予測値異常パラメータ（ｅｒｒｏｒ）と前記予測平均最大値（Ｍａｘ＿ａｖｅ）を比較し、
予測値異常パラメータが小さい場合（Ｍａｘ＿ａｖｅ＞ｅｒｒｏｒ）は、
Ｍａｘ＿Ａ＞Ｒｅ、Ｍａｘ＿Ａ＞Ｇｅ、Ｍａｘ＿Ａ＞Ｂｅ
であって、
（Ｒｅ＋Ｍａｘ＿ａｖｅ）＞Ｍａｘ＿Ａ
（Ｇｅ＋Ｍａｘ＿ａｖｅ）＞Ｍａｘ＿Ａ
（Ｂｅ＋Ｍａｘ＿ａｖｅ）＞Ｍａｘ＿Ａ
のとき、それぞれ、
Ｒｔ＝Ｍａｘ＿Ａ
Ｇｔ＝Ｍａｘ＿Ａ
Ｂｔ＝Ｍａｘ＿Ａ
を、また、
（Ｒｅ＋Ｍａｘ＿ａｖｅ）≦Ｍａｘ＿Ａ
（Ｇｅ＋Ｍａｘ＿ａｖｅ）≦Ｍａｘ＿Ａ
（Ｇｅ＋Ｍａｘ＿ａｖｅ）≦Ｍａｘ＿Ａ
のとき、それぞれ
Ｒｔ＝（Ｒｅ＋Ｍａｘ＿ａｖｅ）
Ｇｔ＝（Ｇｅ＋Ｍａｘ＿ａｖｅ）
Ｂｔ＝（Ｂｅ＋Ｍａｘ＿ａｖｅ）
を、また、
Ｍａｘ＿Ａ≦Ｒｅ、Ｍａｘ＿Ａ≦Ｇｅ、Ｍａｘ＿Ａ≦Ｂｅ
であれば、
Ｒｔ＝Ｒｅ
Ｇｔ＝Ｇｅ
Ｂｔ＝Ｂｅ
をそれぞれ地肌抽出値（Ｒｔ，Ｇｔ，Ｂｔ）とすることを特徴とする。
【００１９】
第１５の手段は、第１ないし第１４のいずれかの手段において、前記第３の算出手段が、前記地肌抽出値をブロック単位で加算する手段を備え、前記地肌抽出値で地肌となったブロックに対して各色ブロック単位で加算した総和（Ｓｕｍ＿Ｒ，Ｓｕｍ＿Ｇ，Ｓｕｍ＿Ｂ）を該当ブロックのカウント値で除算した結果と、ライン平均値（Ｒｌ，Ｇｌ，Ｂｌ）との差分に加重設定可能なパラメータを各色毎に乗算したものと、前ラインで算出したライン平均値とを下記のように加算して
Ｒｌ＝Ｒｌ＋設定係数×（Ｓｕｍ＿Ｒ／加算カウント値−Ｒｌ）
Ｇｌ＝Ｇｌ＋設定係数×（Ｓｕｍ＿Ｇ／加算カウント値−Ｇｌ）
Ｂｌ＝Ｂｌ＋設定係数×（Ｓｕｍ＿Ｂ／加算カウント値−Ｂｌ）
ラインの単位毎に更新し、地肌ブロックの濃度の平均値を求めることを特徴とする。
【００２０】
第１６の手段は、第１ないし第１４のいずれかの手段において、前記第３の算出手段が、前記地肌抽出値と前記ライン平均値の差分を設定可能な閾値パラメータ（変動閾値）と比較する手段を備え、差が小さくなるようにライン平均値に対して閾値パラメータを加算もしくは減算した結果を、地肌レベルの予測値に加重設定するパラメータを各色毎に乗算したものに下記のように加算し、
Ｒｄ＝設定係数×Ｒｅ＋Ｒｌ±変動閾値
Ｇｄ＝設定係数×Ｇｅ＋Ｇｌ±変動閾値
Ｂｄ＝設定係数×Ｂｅ＋Ｂｌ±変動閾値
ブロック毎に地肌レベル値（Ｒｄ，Ｇｄ，Ｂｄ）を更新することを特徴とする。
【００２１】
第１７の手段は、第１６の手段において、前記更新されたブロック毎に地肌レベル値（Ｒｄ，Ｇｄ，Ｂｄ）をラインメモリに蓄積し、次ラインの周辺ブロック参照値として使用することを特徴とする。
【００２２】
第１８の手段は、第１ないし第１７のいずれかの手段において、ＡＣＣパターンが記録された記録紙を読み取った画像データを格納し、読み込み可能なラインメモリを備え、前記ＡＣＣパターンを読み込む場合に前記補正手段に前記ラインメモリからの読み出しデータを送り込むバスセレクタを備えていることを特徴とする。
【００２３】
第１９の手段は、第１ないし第１８のいずれかの手段に係る画像処理装置を画像形成装置が備えていることを特徴とする。
【００２４】
第２０の手段は、第１９の手段おいて、ＡＣＣパターンを記録紙に出力する出力手段と、原稿を読み取る読み取り手段とを備え、前記読み取り手段により前記出力手段により出力された記録紙上の前記ＡＣＣパターンを読み取ることを特徴とする。
【発明の効果】
【００２５】
本発明によれば、原稿の地肌濃度のばらつき及び読み取りに起因するムラを排除することができる。
【発明を実施するための最良の形態】
【００２６】
以下、図面を参照し、本発明の実施形態について説明する。
【００２７】
図１は本発明の実施形態に係る画像形成装置の電気的構成を示す機能ブロック図、図２は画像形成装置の概略構成を示す図である。なお、この実施形態における画像形成装置はデジタル複合機として構成されている。
【００２８】
図２に示すように画像形成装置は画像形成装置本体１００、画像形成装置本体１００の上部に設置される自動原稿送り装置２００、及び画像形成装置本体１００の側面に設置され、画像形成装置本体１００からの用紙の排紙経路と接続されたソータ３００から構成されている。画像形成装置本体１００には図示しない読み取り光学装置が本体上部のコンタクトガラス１０１の下側に設けられ、その下部に図示しない書き込み光学装置が設けられている。書き込み光学系は読み取り光学系で読み取った原稿の画像データに基づいて感光体ドラム１０２の表面に光書き込みを行い、潜像を形成するものである。感光体ドラム１０２の外周部には、図示しない帯電装置、現像装置、転写装置、クリーニング装置及び除電装置が図示時計方向に沿って配置され、帯電装置と現像装置との間から光書き込みが行われる。
【００２９】
潜像は現像装置でトナー現像され、第１または第２給紙トレイ１０４，１０５のいずれかから給紙された用紙が転写装置側に送られ、転写部で感光体ドラム１０２表面のトナー像と接触し、トナー像が転写される。トナー像が転写された用紙は搬送ベルト１０３で定着装置１０６に送られ、定着装置１０６で加熱、加圧定着が行われた後、ソータ３００に排紙され、ソータ３００では３つのビンあるいは最上段のプルーフトレイの何れかに排紙される。排紙先は画像形成装置本体１００の制御装置からの指示によって行われる。
【００３０】
図１に戻って、画像形成装置の回路構成について説明する。
【００３１】
画像形成装置本体１の電気的構成（回路構成）は、図１に示すように、装置全体の制御を行うコントローラ１０と、コンタクトガラス１０１上の原稿画像を読み取って画像データに変換するスキャナ４０と、電子写真プロセスにより記録紙上に画像形成を行うプロッタ５０と、スキャナ４０及びプロッタ５０を制御するエンジン部２０と、各種スイッチや表示部を有する操作部３０と、ＡＤＦ６０と、外部のＡＣ電源から電力を入力して直流の電力を供給する電力供給装置（ＰＳＵ）７０と、ＦＡＸ網を介して画像データの送受信を行うＦＡＸ部８０とから基本的に構成されている。コントローラ１０、エンジン部２０、及びＦＡＸ部８０の各ユニットは、ＰＣＩバスにより相互に接続されている。当然のことながら、それらは他のローカルバスで接続させても良い。
【００３２】
スキャナ４０及びプロッタ５０を制御するエンジン部２０は、ＡＣＳ、フィルタ、誤差拡散及びγ変換などの画像処理を行う画像処理部２１及びＰＣＩバスを介してデータの送受信を行うＰＣＩ部２５を有するＡＳＩＣ２２と、エンジン部２０全体の制御を行うＣＰＵ２３と、ＣＰＵ２３が実行するプログラムや各種制御用データなどを格納したＲＯＭ２４とを備えている。ＦＡＸ部８０は、ＦＡＸ部８０全体の制御を行うＣＰＵ８１と、プログラムや各種制御用データを格納したＲＯＭ８２と、ＡＳＩＣ８３、ＦＡＸ網から受信した画像データの蓄積に用いられるメモリ８４と、網制御を行うＮＣＵ８５とを備えている。ＡＳＩＣ８３は、網制御を行うＮＣＵ８５を介してＦＡＸ網との間でデータの送受信を行う通信制御部８６と、ＰＣＩバスを介してデータの送受信を行うＰＣＩ部８７とを備えている。
【００３３】
コントローラ１０は、複合機全体の制御と描画、通信、操作部３０からの入力を制御し、ネットワークＩ／Ｆ部を通してサーバ１００とＰＣ端末１０１がＬＡＮを介して接続される。プログラムや各種制御用データを格納したＲＯＭ１１と、各種データ格納用メモリ１２と、ＡＳＩＣ１３と、ＣＰＵ１４と、ＩＤを含む制御データ格納用のＮＶＲＡＭ１６と、各部への給電を制御する給電制御部１７とを備えている。給電制御部１７はＰＳＵ７０のＡＣ電源スイッチ７１の状態を監視して、その状態を示す状態フラグを例えばＮＶＲＡＭ１６に格納する。そのフラグはＣＰＵ１４が監視する。ＡＣ電源スイッチ７１はオペレータが操作できるものであり、電源のオン／オフはそのスイッチ７１を操作して行うようになっている。
【００３４】
図３はスキャナ部４０から入力された画像データをプロッタ部５０に出力する過程におけるＡＳＩＣ２２の画像処理部２１の構成を主に示す機能ブロック図である。画像処理部２１は、シェーディング補正部２１０１、第１のセレクタ部（以下、セレクタ（１）と称す）２１０２、画像信号遅延ＦＩＦＯ２１０３、像域分離信号生成部２１０４、第２のセレクタ部（以下、セレクタ（２）と称す）２０１５、ハイライト補正部２１０６、スキャナγ補正部２１０７、ＭＴＦフィルタ処理部２９０８、色変換部２１０９、ＡＣＣパターン部２１１０、文字用プリンタγ補正部２１１１、伸長部２１１２及びプリンタγ補正部２１１３からなる。文字用プリンタγ補正部２１１１からの補正画像データは記憶手段である各種データ格納用メモリ１２に一時格納され、印刷出力時に読み出され、伸長部２１１２で伸長され、プリンタγ補正部２１１３で補正された後、プロッタ部５０から用紙に印字出力される。
【００３５】
スキャナ部４０で読み取られた画像データはシェーディング補正部２１０１に入力され、セレクタ（１）２１０２でシェーディング補正されたＲＧＢデータあるいは後述のスキャナγ補正部２１０７からのＲＧＢデータのいずれかが選択され、画像信号遅延ＦＩＦＯ２１０３及び像域分離信号生成部２１０４に入力される。画像信号遅延ＦＩＦＯ２１０３からの出力は像域分離信号生成部２１０４とセレクタ（２）２１０５に入力され、像域分離信号生成部２１０４からは画像信号遅延ＦＩＦＯ２１０３からの入力基づいて像域分離信号がＭＴＦフィルタ部２１０８に出力される。セレクタ（２）２１０５では、画像信号遅延ＦＩＦＯ２１０３の出力と、シェーディング補正されただけの出力のいずれかが選択され、ハイライト補正部２１０６に入力される。このハイライト補正部２１０６が本願発明の対象となる部分である。ハイライト補正部２１０６で補正された画像データはスキャナγ補正部２１０７に出力され、スキャナのγ補正が施された後、ＭＴＦフィルタ補正部２１０８とセレクタ（１）２１０２に入力される。
【００３６】
ＭＴＦフィルタ補正部２１０８でＭＴＦが補正されたＲＧＢ画像データは色変換部２１０９に入力され、ＹＭＣＫデータに変換される。そして、ＡＣＣ（Auto Color Control）パターン部でＹＭＣＫの各色のＡＣＣ用のパターンを出力し、このパターンを読み取ってＡＣＣを実行することにより色調整が行われ、文字用プリンタγ部で文字用のγ補正が実行された後、メモリ１２に格納される。
【００３７】
本願発明は上述のようにハイライト補正部２１０６に特徴があり、このハイライト補正部２１０６では、地肌レベル予測値を求め、この予測値に基づいて画素単位で地肌濃度のばらつきを検出してその画像信号を補正する。ここでは、１６画素を１ブロックとしてブロック単位で最大値、最小値、平均値をとり、これらに基づいて画像信号の平坦性の有無（ばらつきの状態）を判断する。
【００３８】
図３に示した画像処理では、スキャナ部４０からの入力信号であるＲＧＢ各信号を主走査方向に例えば１６画素を１ブロックとしてそれぞれ加算させるとともにブロック単位で
最大値（Ｍａｘ＿Ｒ，Ｍａｘ＿Ｇ，Ｍａｘ＿Ｂ）  …（１）
最小値（Ｍｉｎ＿Ｒ，Ｍｉｎ＿Ｇ，Ｍｉｎ＿Ｂ）  …（２）
平均値（Ａｖｅ＿Ｒ，Ａｖｅ＿Ｇ，Ａｖｅ＿Ｂ）  …（３）
各色平均値の最大値（Ｍａｘ＿Ａ）              …（４）
各色平均値の最小値（Ｍｉｎ＿Ａ）              …（５）
を算出し、ブロック毎に平均値の最大値と最小値の差分とＣＰＵ２３のレジスタによって設定可能なパラメータ閾値（Ｆｌａｔ＿Ｒ，Ｆｌａｔ＿Ｇ，Ｆｌａｔ＿Ｂ）とを、
（（Ｍａｘ＿Ｒ−Ｍｉｎ＿Ｒ）＜Ｆｌａｔ＿Ｒ）＆＆（（Ｍａｘ＿Ｇ−Ｍｉｎ＿Ｇ）＜Ｆｌａｔ＿Ｇ）＆＆（（Ｍａｘ＿Ｂ−Ｍｉｎ＿Ｂ）＜Ｆｌａｔ＿Ｂ））  …（６）
のように比較して各色ＲＧＢの画像信号の平坦性の有無を判断する。ここでは、式（１）が成り立つときに平坦であると判断する。
【００３９】
一方、注目ブロックに対して図４のように周囲ブロック（ｌ）（ｃ）（ｒ）及び現ラインの前ブロック（ｂ）の地肌レベル値（Ｒｄ，Ｇｄ，Ｂｄ）に対して設定可能なパラメータを選択して図５に示すような重み付けを行った後、それぞれ加算したものを注目ブロックの地肌レベル予測値（Ｒｅ，Ｇｅ，Ｂｅ）として各色出力する。また、１ライン目は前ラインがないのでパラメータにより設定された初期値を地肌レベルとして代用する。
【００４０】
Ｒｅ＝３×Ｒｄ（ｌ）＋２４×Ｒｄ（ｃ）
＋４×Ｒｄ（ｒ）＋１×Ｒｄ（ｂ）  …（７）
Ｇｅ＝３×Ｇｄ（ｌ）＋２４×Ｇｄ（ｃ）
＋４×Ｇｄ（ｒ）＋１×Ｇｄ（ｂ）  …（８）
Ｂｅ＝３×Ｂｄ（ｌ）＋２４×Ｂｄ（ｃ）
＋４×Ｂｄ（ｒ）＋１×Ｂｄ（ｂ）  …（９）
予測値はハード構成と精度とのトレードオフにより適切なビットシフトを行って余剰は次ブロックへ加算するようにすることも考られる。
【００４１】
前記平坦性の有無判断を副走査方向にも検出するためラインメモリを用いてブロック単位で平坦性結果を蓄積できるようにする。また、毎ライン検知するのではなく、パラメータを用いて数ラインに１度検知するようにしても良いし、蓄積した結果をＡＮＤ処理して副走査方向への平坦性の連続性を検知するようにすることもできる。なお、頁の初期値はデータがないのでユーザ側で頁単位で（各頁毎に）初期設定ができるようにしておく。この初期設定は任意の値に設定できるので、画像の種類に応じて濃度値を入力できるように、あるいは選択できるようにしておく。
【００４２】
前記連続性の検出手段の結果に基づき、平均値の最小値から明度閾値状態（Ｉ）、地肌レベル予測値と平均値の差分から各色毎の予測値許容判断（II）、平均値の最大値と最小値の差分から無彩色（III）をそれぞれ判定するために設定可能なパラメータを用いて比較し、その全ての結果が満たされれば注目ブロックは地肌候補であると判断し、注目ブロックの地肌抽出値を各色とも平均値とする。それ以外は非地肌と判断し予測値を格納する。
【００４３】
ただし、平均値と予測値の差が設定パラメータより大きい場合においては平均値の最大値と予測値とを比較し、予測値が小さければさらに設定パラメータの値を加算して再比較を行い、まだ予測値が小さければ予測値を、異なる場合は平均値の最大値を各色とも選択し、地肌抽出値とする。
【００４４】
前記明度閾値状態の判定、前記予測値許容判断、無彩色の判定は、以下の式に基づいて行われる。
【００４５】
（Ｉ）Ｍｉｎ＿Ａ＞明度閾値      …（１０）
（II）（（Ｒｅ−Ａｖｅ＿Ｒ）＜Ｒ許容値）＆＆（（Ｇｅ＿Ｇ−Ａｖｅ＿Ｇ）＜Ｇ許容値）＆＆（（Ｂｅ−Ａｖｅ＿Ｂ）＜Ｂ許容値））  …（１１）
（III）Ｍａｘ＿Ａ−Ｍｉｎ＿Ａ＜無彩色閾値    …（１２）
すなわち、地肌抽出値は、明度閾値状態（Ｉ）、予測値許容判断（II）、無彩色（III）の全ての状態を満たす条件となった場合に、そのブロックは地肌候補と推測し、各色ともブロック毎の平均値（Ａｖｅ＿Ｒ、Ａｖｅ＿Ｇ、Ａｖｅ＿Ｂ）を地肌抽出値（Ｒｔ、Ｇｔ、Ｂｔ）とする。これを式で表すと、
Ｒｔ＝Ａｖｅ＿Ｒ  …（１３）
Ｇｔ＝Ａｖｅ＿Ｇ  …（１４）
Ｂｔ＝Ａｖｅ＿Ｂ  …（１５）
となる。地肌候補とならなかった部分（非地肌ブロック）については、地肌レベル予測値（Ｒｅ，Ｇｅ，Ｂｅ）を地肌抽出値（Ｒｔ，Ｇｔ，Ｂｔ）とする。これを式で表すと、
Ｒｔ＝Ｒｅ  …（１６）
Ｇｔ＝Ｇｅ  …（１７）
Ｂｔ＝Ｂｅ  …（１８）
となる。また、地肌レベル値（Ｒｄ，Ｇｄ，Ｂｄ）は、
Ｒｄ＝設定係数×Ｒｅ＋Ｒｔ  …（１９）
Ｇｄ＝設定係数×Ｇｅ＋Ｇｔ  …（２０）
Ｂｄ＝設定係数×Ｂｅ＋Ｂｔ  …（２１）
として算出できる。
【００４６】
前記地肌抽出値で地肌となったブロックに対して各色ブロック単位で加算した総和（Ｓｕｍ＿Ｒ，Ｓｕｍ＿Ｇ，Ｓｕｍ＿Ｂ）を該当ブロックのカウント値で除算した結果と、ライン平均値（Ｒｌ，Ｇｌ，Ｂｌ）との差分に加重設定可能なパラメータを各色毎に乗算したものと、前ラインで算出したライン平均値とを加算してラインの単位毎に更新する。１ライン目は前ラインがないのでパラメータにより設定された初期値をライン平均値とすることで代用する。これにより地肌ブロックの濃度の平均値を出す。
【００４７】
Ｒｌ＝Ｒｌ＋設定係数×（Ｓｕｍ＿Ｒ／加算カウント値−Ｒｌ）  …（２２）
Ｇｌ＝Ｇｌ＋設定係数×（Ｓｕｍ＿Ｇ／加算カウント値−Ｇｌ）  …（２３）
Ｂｌ＝Ｂｌ＋設定係数×（Ｓｕｍ＿Ｂ／加算カウント値−Ｂｌ）  …（２４）
ここで総和及び加算カウント値を実施する際に主走査エリアを設定するようにしても良い。また任意の設定ライン間隔に１度ライン平均値を減算させるように制御することもできる。また、副走査ラインの更新エリアを設定してもよく、ライン平均値も必要に応じて適切なビットシフトを行い、余剰は次ラインへ加算するようにすることもできる。
【００４８】
また、地肌抽出値とライン平均値の差分を設定可能な閾値パラメータ（変動閾値）と比較し、差が小さくなるようにライン平均値に対して閾値パラメータを加算もしくは減算した結果を、地肌レベルの予測値に加重設定するパラメータを各色毎に乗算したものに加算し、ブロック毎に地肌レベル値（Ｒｄ，Ｇｄ，Ｂｄ）を更新制御するとともにラインメモリに蓄積し、次ラインの周辺ブロック参照値として使用する（後述の図１１のフローチャート参照）こともできる。
【００４９】
Ｒｄ＝設定係数×Ｒｅ＋Ｒｌ±変動閾値  …（２５）
Ｇｄ＝設定係数×Ｇｅ＋Ｇｌ±変動閾値  …（２６）
Ｂｄ＝設定係数×Ｂｅ＋Ｂｌ±変動閾値  …（２７）
地肌レベル値も必要に応じて適切なビットシフトを行って余剰は次ブロックへ加算することも考られる。
【００５０】
注目ブロックの地肌レベル値と基準地肌パラメータを比較し、地肌レベル値の方が大きい場合には、入力画像信号を画素単位で地肌レベル値と比較し、入力画像信号の方が大きければ地肌レベル値と基準地肌パラメータの差分を入力画像信号から減算する。入力画像信号の方が小さければ地肌レベル値と画像信号との差分に設定可能なパラメータ係数を乗算したものを基準地肌パラメータから減算し、入力画像信号と比較し、入力画像信号の方が大きければその値を補正値として出力し、小さければ入力画像信号を無変換で出力する。
【００５１】
一方、注目ブロックの地肌レベル値と基準地肌パラメータを比較し、地肌レベル値の方が小さい場合には入力画像信号を画素単位で地肌レベル値と比較し、入力画像信号の方が大きければ地肌レベル値と基準地肌パラメータの差分を入力画像信号に加算する。入力画像信号の方が小さければ地肌レベル値と画像信号との差分に設定可能なパラメータ係数を乗算したものを基準地肌パラメータから減算し、入力画像信号と比較し、入力画像信号の方が小さければその値を補正値として出力し、大きければ入力画像信号を無変換で出力する。
【００５２】
上記関係を式で示すと、下記のようになる。
【００５３】
・検出地肌レベルが基準地肌レベルより大きい時・・・（Ｒｄ＞ｂａｓｅ）  …（２８）
・・入力画像データが地肌レベルより大きい時・・・（ｉｍｇ＿ｒｉ＞Ｒｄ）…（２９）
ｉｍｇ＿ｒｏ＝ｉｍｇ＿ｒｉ−（Ｒｄ−ｂａｓｅ）                    …（３０）
・・入力画像データが地肌レベル以下の時（ｉｍｇ＿ｒｉ≦Ｒｄ）          …（３１）
・・・（ｂａｓｅ−（Ｒｄ−ｉｍｇ＿ｒｉ）×ｌｉｇｈｔ）＜ｉｍｇ＿ｒｉの時
…（３２）
ｉｍｇ＿ｒｏ＝ｂａｓｅ−（Ｒｄ−ｉｍｇ＿ｒｉ）×ｌｉｇｈｔ
・・・（補正処理１）…（３３）
・・・（ｂａｓｅ−（Ｒｄ−ｉｍｇ＿ｒｉ）×ｌｉｇｈｔ）≧ｉｍｇ＿ｒｉの時
…（３４）
ｉｍｇ＿ｒｏ＝ｉｍｇ＿ｒｉ・・・無変換                            …（３５）
・検出地肌レベルが基準地肌レベル以下の時・・・（Ｒｄ≦ｂａｓｅ）      …（３６）
・・入力画像データが地肌レベルより大きい時・・・（ｉｍｇ＿ｒｉ＞Ｒｄ）…（３７）
ｉｍｇ＿ｒｏ＝ｉｍｇ＿ｒｉ＋（ｂａｓｅ−Ｒｄ）                    …（３８）
・・入力画像データが地肌レベル以下の時・・・（ｉｍｇ＿ｒｉ≦Ｒｄ）    …（３９）
・・・（ｂａｓｅ−（Ｒｄ−ｉｍｇ＿ｒｉ）×ｄａｒｋ）＞ｉｍｇ＿ｒｉの時…（４０）
ｉｍｇ＿ｒｏ＝ｂａｓｅ−（Ｒｄ−ｉｍｇ＿ｒｉ）×ｄａｒｋ
・・・（補正処理２）…（４１）
・・・（ｂａｓｅ−（Ｒｄ−ｉｍｇ＿ｒｉ）×ｄａｒｋ）≦ｉｍｇ＿ｒｉの時…（４２）
ｉｍｇ＿ｒｏ＝ｉｍｇ＿ｒｉ・・・無変換                            …（４３）
ただし、
上記の式において、
ｉｍｇ＿ｒｉ  ：Ｒの入力画像データ
ｉｍｇ＿ｒｏ  ：Ｒの出力画像データ
ｂａｓｅ      ：基準地肌パラメータ
ｌｉｇｈｔ    ：明パラメータ
ｄａｒｋ      ：暗パラメータ
を示す。
【００５４】
なお、ここでは、Ｒについてのみ示すが、Ｇ及びＢについてはｍ前記レベル値Ｒｄを、ＧｄあるいはＢｄに置き換え、Ｒの入力画像データであるｉｍｇ＿ｒｉをＧの入力画像データｉｍｇ＿ｇｉあるいはＢの入力画像データｉｍｇ＿ｂｉに置き換え、Ｒの出力画像データｉｍｇ＿ｒｏをＧの出力画像データｉｍｇ＿ｇｏあるいはＢの出力画像データｉｍｇ＿ｂｏに置き換えればＧ及びＢの色についても同様である。なお、「課題を解決するための手段」に、Ｇ及びＢについての式を記載している。
【００５５】
前述の比較及び補正は色成分毎に実施する。また本機能をオフさせるようにパラメータを設け、画像信号をスルーさせるようにすることも容易に考えられる。
【００５６】
画像のエッジ検出や色彩、網点等画像の特徴量を算出し、その結果に基づいてフィルタ等の画像調整をする場合には、前記ハイライト補正部２１０６でハイライト補正処理を行った後に実施すると網点等の検出に誤判定が発生する可能性がある。従ってそのような処理を抽出した後に前記補正をするのが一般的である。またエッジ検出や色彩、網点等画像を画素単位で判断するには多数の周辺画素のパターンマッチング等の処理があるため多数のラインメモリ（画像信号遅延ＦＩＦＯ２１０３）を必要とする。従ってＡＣＣパターン部で出力されたＹＭＣＫ各色の階調パターン５０１（図６）をスキャナ部４０で読み込ませたデータは前記ラインメモリ（ＦＩＦＯ２１０３）を利用してＣＰＵ等によりデータをリードし、その結果に基づきプリンタγ特性を更新することも考えられる。
【００５７】
ここでＡＣＣ等フィルタ処理を実施しない場合においても一度プリント出力した階調パターン（階調データ）の原稿読み取りが発生するが、その時点においても前記補正処理は原稿の読み取りに起因するムラを排除することが可能であり、有効であるのでプリンタγ特性等の濃度調整用としてセレクタを配置し、ＡＣＣのスキャナ読み込み時には図５のようにセレクタ（１）２１０２及びセレクタ（２）１２０５を用いて通常はイ側、ＡＣＣ時はロ側に入力画像信号のバス構成を切り替える。すなわち、通常の読み込み時には、シェーディング補正部２１０１でシェーディング補正されたＲＧＢデータがセレクタ（１）２１０２から画像信号遅延ＦＩＦＯ２１０３に記憶され、セレクタ（２）２１０５からハイライト補正部２１０６に入力され、スキャナγ部２１０７でγ補正が成された後、後段のＭＴＦフィルタ部２１０８に送られる。
【００５８】
一方、ＡＣＣ時には、プロッタ部５０から出力された図６のパターンをスキャナ部４０で読み込み、シェーディング補正部２１０１でシェーディング補正されたＲＧＢデータが、セレクタ（１）２１０２及びセレクタ（２）２１０５でロ側を選択することにより、そのままハイライト補正部２１０６に入力されスキャナγ補正されたデータが後段のＭＴＦフィルタ部２１０８とセレクタ（１）２１０２に送られる。セレクタ（１）２１０２ではロ側が選択されているので、パターンデータが画像信号遅延ＦＩＦＯ２１０３に格納され、セレクタ（２）でイ側が選択されたときに、ハイライト補正部２１０６で使用される。また、スキャナγ部もＡＣＣパターンのスキャナ読み込み時には画調パラメータとして必要であるため補正処理に付随して切り替えるような構成にすることもできる。
【００５９】
この処理手順を図７のフローチャートに示す。この処理手順では、カラー画像調整指示入力があると（ステップＳ１）、図６に示したＡＣＣパターンをプロッタ部５０で記録紙に印字出力し、セレクタ（１）２１０２及びセレクタ（２）２０１５を（ロ）側に切り替える（ステップＳ２）。次いで、スキャナ４０によってＡＣＣパターンが印刷された記録紙を読み込み（ステップＳ４）、画像信号遅延ＦＩＦＯ２１０３に読み込んだ画像データを格納する（ステップＳ５）。そして、ＣＰＵ２３の指示により画像信号遅延ＦＩＦＯ２１０３に格納された画像データを読み出し、その読み出した値に基づいてプリンタγデータを変更し（ステップＳ７）、セレクタ（１）２１０２及びセレクタ（２）２１０５を（イ）側に切り替え（ステップＳ７）、スキャナ部４０で読み取った原稿データに対して変更したプリンタγデータでガンマ補正をかけてプロッタ部５０から印字出力する（ステップＳ８）。
【００６０】
これにより、１つのハイライト補正部２１０６で、ＡＣＣパターンを読み取ってＡＣＣの補正データを取得し、原稿を読み込んで原稿出力時の補正を行うことが可能となる。すなわち、原稿をスキャナ部４０で読み込んだ後、通常の画像読込時と画像調整用とでハイライト補正部２１０６の配置位置が異なる場合においても、セレクタ（１）及び（２）２１０２，２０１５によりスキャナγ部２１０７とともに共通使用することができるので、重複した補正専用回路やメモリを付加する必要がなくなる。その結果、ＡＳＩＣ等への実装規模を削減することができる。
【００６１】
ここで、前述の各処理について、具体的にフローチャートに基づいて説明する。
【００６２】
図８は平坦パラメータを基準に地肌部か非地肌部かを判断して補正する処理手順を示すフローチャートである。この処理では、まず、入力画像データをブロック単位に分割する（ステップＳ１０１）。１ブロックは前述のようにこの実施形態では１６画素である。次いで、各ブロック毎に各色の最大値〔式（１）〕、最小値〔式（２）〕、平均値〔式（３）〕を算出する（ステップＳ１０２）。次いで、各色平均値の最大値〔式（４）〕と最小値〔式（５）〕を算出する（ステップＳ１０４）。
【００６３】
ステップＳ１０４で各色平均値の最大値〔式（４）〕と最小値〔式（５）〕が算出されると、ステップＳ１０５で式（６）で示すように平坦パラメータ閾値（Ｆｌａｔ＿Ｒ，Ｆｌａｔ＿Ｇ，Ｆｌａｔ＿Ｂ）と前記平均値の最大値と最小値の差分とを各ブロック毎に比較し、平均値の最大値と最小値の差分が平坦パラメータ閾値より小さければ、そのブロックは地肌部として平坦ブロック処理、ここでは、式（１３），（１４），（１５）に示すように地肌抽出値（Ｒｔ，Ｇｔ，Ｂｔ）を設定し（ステップＳ１０６）、平坦パラメータ閾値より小さくなければ、そのブロックは非地肌部として起伏ブロック処理、ここでは式（１６），（１７），（１８）に示すように地肌抽出値（Ｒｔ，Ｇｔ，Ｂｔ）を設定する（ステップＳ１０７）。そして、ステップＳ１０６あるいはステップＳ１０７で求めた地肌抽出値（Ｒｔ，Ｇｔ，Ｂｔ）を用いて地肌レベル値を式（１９），（２０），（２１）から算出する（ステップＳ１０８）。この地肌レベル値は、周囲ブロックの加重乗加算により算出される。
【００６４】
次いで、地肌レベル値（Ｒｄ，Ｇｄ，Ｂｄ）と基準地肌パラメータ値（ｂａｓｅ）とを比較し（ステップＳ１０９）、地肌レベル値（Ｒｄ，Ｇｄ，Ｂｄ）が基準地肌パラメータ値（ｂａｓｅ）より大きければ、（Ｒｄ＞ｂａｓｅ，Ｇｄ＞ｂａｓｅ，Ｂｄ＞ｂａｓｅ…式（２８））、さらに入力画像データと地肌レベル値とを比較し（ステップＳ１１０）、入力画像データが地肌レベル以下の時（ｉｍｇ＿ｒｉ≦Ｒｄ，ｉｍｇ＿ｇｉ≦Ｇｄ，ｉｍｇ＿ｂｉ≦Ｂｄ…式（３１））、ステップＳ１１１で入力画像データと補正処理１…式（３３）で得られたＲ，Ｇ，Ｂの出力画像データとを比較し（ｂａｓｅ−（Ｒｄ−ｉｍｇ＿ｒｉ）×ｌｉｇｈｔ＜ｉｍｇ＿ｒｉ，ｂａｓｅ−（Ｇｄ−ｉｍｇ＿ｇｉ）×ｌｉｇｈｔ＜ｉｍｇ＿ｇｉ，ｂａｓｅ−（Ｂｄ−ｉｍｇ＿ｂｉ）×ｌｉｇｈｔ＜ｉｍｇ＿ｂｉ）、入力画像データが大きければ［（ｂａｓｅ−（Ｒｄ−ｉｍｇ＿ｒｉ）×ｌｉｇｈｔ）＜ｉｍｇ＿ｒｉ，（ｂａｓｅ−（Ｇｄ−ｉｍｇ＿ｇｉ）×ｌｉｇｈｔ）＜ｉｍｇ＿ｇｉ，（ｂａｓｅ−（Ｂｄ−ｉｍｇ＿ｂｉ）×ｌｉｇｈｔ）＜ｉｍｇ＿ｂｉ    式（３２）］、前記式（３１）で表される補正処理１を実行する。
【００６５】
一方、ステップＳ１１１で入力画像データが補正処理１より大きくなければ、無変換（補正なし…式（４３））、すなわち、入力画像データに対して補正は行わない（ｉｍｇ＿ｒｏ＝ｉｍｇ＿ｒｉ，ｉｍｇ＿ｇｏ＝ｉｍｇ＿ｇｉ，ｉｍｇ＿ｂｏ＝ｉｍｇ＿ｂｉ）。他方、ステップＳ１１０で入力画像データが地肌レベル値以下でなければ、地肌レベルと基準地肌パラメータ値の差分を入力画像データから減算する（ステップＳ１１４）。すなわち、式（３０）により出力画像データを得る（ｉｍｇ＿ｒｏ＝ｉｍｇ＿ｒｉ−（Ｒｄ−ｂａｓｅ），ｉｍｇ＿ｇｏ＝ｉｍｇ＿ｇｉ−（Ｇｄ−ｂａｓｅ），ｉｍｇ＿ｂｏ＝ｉｍｇ＿ｂｉ−（Ｂｄ−ｂａｓｅ）。
【００６６】
また、ステップＳ１０９で地肌レベル値が基準地肌パラメータ値より大きくなければ、さらにステップＳ１１５で、入力画像データと地肌レベル値とを比較し、入力画像データが地肌レベル値以下であれば、ステップＳ１１６で入力画像データと補正処理２…式（４１）で得られたＲ，Ｇ，Ｂの出力画像データとを比較し（ｂａｓｅ−（Ｒｄ−ｉｍｇ＿ｒｉ）×ｄａｒｋ＞ｉｍｇ＿ｒｉ，ｂａｓｅ−（Ｇｄ−ｉｍｇ＿ｇｉ）×ｄａｒｋ＞ｉｍｇ＿ｇｉ，ｂａｓｅ−（Ｂｄ−ｉｍｇ＿ｂｉ）×ｄａｒｋ＞ｉｍｇ＿ｂｉ）、入力画像データがＲ，Ｇ，Ｂの出力画像データより小さければ、式（４１）で表される補正処理２（ｉｍｇ＿ｒｉ＝ｂａｓｅ−（Ｒｄ−ｉｍｇ＿ｒｉ）×ｄａｒｋ，ｉｍｇ＿ｇｉ＝ｂａｓｅ−（Ｇｄ−ｉｍｇ＿ｇｉ）×ｄａｒｋ，ｉｍｇ＿ｂｉ＝ｂａｓｅ−（Ｂｄ−ｉｍｇ＿ｂｉ）×ｄａｒｋ）を実行する。一方、入力画像データが補正処理２より小さくなければ、ステップＳ１１３で無変換、すなわち入力画像データをそのまま出力する。
【００６７】
また、ステップＳ１１５で入力画像データが地肌レベル以下でなければ、ステップＳ１１８で、基準地肌パラメータ値と地肌レベル値の差分と入力画像データに加算する。すなわち、式３８により出力データを得る（ｉｍｇ＿ｒｏ＝ｉｍｇ＿ｒｉ＋（ｂａｓｅ−Ｒｄ）、ｉｍｇ＿ｇｏ＝ｉｍｇ＿ｇｉ＋（ｂａｓｅ−Ｇｄ），ｉｍｇ＿ｂｏ＝ｉｍｇ＿ｂｉ＋（ｂａｓｅ−Ｂｄ））。
【００６８】
このように処理すると、頁単位で各色毎の設定が可能で、モード別にパラメータの切り替えを行うことができ、周囲ブロックの地肌レベルに基づいて該当ブロックの画像信号の検出を行うので、プレスキャンすることなしに的確に特徴量の検出が可能となる。
【００６９】
また、地肌レベル値と基準地肌パラメータとの差分が小さくなるように加減算することにより検出誤差を少なくするとともに、画像信号の起伏を検知することによりハイライト側のみ補正を行い、高濃度部には波及させずに画素単位で補正処理することができる。更にパラメータ設定を変更することが可能なので、モード別の調整を行うこともできる。
【００７０】
前記平坦性の有無判断を副走査方向にも検出するためラインメモリを用いてブロック単位で平坦性結果を蓄積できるようにした場合、蓄積した結果をＡＮＤ処理して副走査方向への平坦性の連続性を検知するときの処理手順を図９に示す。
【００７１】
この処理では、処理を開始すると（ステップＳ２０１）、連続した平坦性を検出するための連続性カウンタを初期化した（ステップＳ２０２）後、前ラインの前記連続性カウンタを読み込む。連続性カウンタは、図１０（ａ）に示すようにラインＬ１，Ｌ２，Ｌ３，Ｌ４・・・について１６画素を１ブロックとしてブロック毎に読んでいき、黒で示したブロック（地肌部…これを「１」とする。）が副走査方向に連続しているか否かをみるためのものである。すなわち、連続していれば副走査方向に隣接するブロックが地肌か地肌でないかを１ビットで記憶するＦＩＦＯメモリを設け、前ラインの主走査方向で同一位置のブロックが地肌か地肌でないかを示す１ビットの情報のＡＮＤを取ると、副走査方向で地肌が連続していれば、「１」となるが、地肌が連続していなければ「０」となる（図１０（ｂ））。そこで、「１」となるブロックのライン数をカウンタによりカウントし、このカウンタにより地肌の連続性、言い換えれば地肌の濃度の平坦性を判断し、この平坦性の状態に応じて処理を変更することができる。ここでは、例えば設定値を「３」とすると、主走査方向で同じ位置に位置する画素が副走査方向に連続して３画素連続している場合には、地肌と見なし、ステップＳ２０４で注目ブロックが平坦かどうかをチェックする。注目ブロックが平坦でなければ、すなわち、ステップＳ１０５でｎｏと判断されれば、ステップＳ２０６で平坦連続カウンタをクリアし（図１０（ｂ）で該当するビットに「０」を書き込み）、起伏ブロック処理（ステップＳ１０７）の処理を実行する。
【００７２】
一方、ステップＳ２０４で注目ブロックが平坦であると判断された場合、すなわち、ステップＳ１０５でｙｅｓと判断された場合には、さらに、カウンタの設定値が連続性カウンタと一致しているかどうか、ここでは、連続性カウンタの値が前述の設定値である「３」になっているかどうかをチェックし、設定値になっていれば、ステップＳ２０７で平坦ブロック処理（ステップＳ１０６の処理）を実行し、設定値になっていなければ、ＦＩＦＯを読んだ値に１加算した値を書き込み（図８（ｂ）の該当するビットに「１」を書き込み）、起伏ブロック処理（ステップＳ１０７）の処理を実行する。このようにして、連続性カウンタのカウント値と設定値とを比較して、平坦ブロックか起伏ブロックかを判断して処理を変更する。なお、前記設定値は図との関係で例として３としているが、この設定値は任意に設定される。
【００７３】
このように処理すると、ラインメモリ（ＦＩＦＯ）を例えば１ライン具備し、ブロック毎に１ビットのＡＮＤ条件処理を実施することにより副走査方向への平坦性連続性を検出することができる。
【００７４】
図１１は、図８に示したステップＳ１０５の平坦性の判断で、平坦ではないと判断されたときの他の処理例を示すフローチャートで、この処理手順では、連続性の検出手段の結果と各色ブロック毎の平均値から地肌レベル予測値との差分の最大値（予測平均最大値）と予測値異常の基準とする設定可能なパラメータ（ｅｒｒｏｒ）とを比較し、その結果に基づき注目ブロックの地肌抽出値に誤差が生じた場合に適切な値へ修正するようにしている。なお、この処理手順は、図８のフローチャートのステップＳ１０７及びステップＳ１０８の処理が異なるだけなので、異なるステップについてのみ説明する。
【００７５】
この処理手順では、ステップＳ１０５で平坦パラメータより小さくないと判断されたとき、予測値異常パラメータと地肌レベル予測値を比較する（ステップＳ１２１）。すなわち、平均値（Ａｖｅ＿Ｒ，Ａｖｅ＿Ｇ，Ａｖｅ＿Ｂ）と地肌レベル予測値（Ｒｅ，Ｇｅ，Ｂｅ）の差をそれぞれ算出し、下記の最大値（Ｍａｘ＿ａｖｅ）を求め、
Ｍａｘ＿ａｖｅ＝Ｍａｘ（（Ａｖｅ＿Ｒ−Ｒｅ）、（Ａｖｅ＿Ｇ  −Ｇｅ）、（Ａｖｅ＿Ｂ−Ｂｅ））
予測値異常パラメータ（ｅｒｒｏｒ）と予測平均最大値（Ｍａｘ＿ａｖｅ）を比較し、予測値異常パラメータが小さい場合（Ｍａｘ＿ａｖｅ＞ｅｒｒｏｒ）は下記の条件に基づいて算出されたものを地肌抽出値（Ｒｔ，Ｇｔ，Ｂｔ）とする。すなわち、平均値の最大値（Ｍａｘ＿Ａ）と、予測値とをそれぞれ比較し、予測値が小さい場合は予測値に予測平均最大値を加算した値を用いて下記のように算出する（ステップＳ１２２）。
【００７６】
Ｍａｘ＿Ａ＞Ｒｅの時
（Ｒｅ＋Ｍａｘ＿ａｖｅ）＞Ｍａｘ＿Ａの時
Ｒｔ＝Ｍａｘ＿Ａ
（Ｒｅ＋Ｍａｘ＿ａｖｅ）≦Ｍａｘ＿Ａの時
Ｒｔ＝（Ｒｅ＋Ｍａｘ＿ａｖｅ）
Ｍａｘ＿Ａ≦Ｒｅの時
Ｒｔ＝Ｒｅ
Ｇｔ、Ｂｔの算出も同様（課題を解決する手段参照）
他方、ステップＳ１２１で予測値異常パラメータ（ｅｒｒｏｒ）が地肌レベル予測値（Ｒｅ，Ｇｅ，Ｂｅ）より小さくなければ、地肌部ではなく、また、非地肌部として処理することできないので、前述のように平均値の最大値を各色とも選択し、地肌抽出値（Ｒｔ，Ｇｔ，Ｂｔ）とする（ステップＳ１２３）。そして、ステップＳ１０８ａで、式（１９），（２０），（２１）に基づいて地肌レベル値（Ｒｄ，Ｇｄ，Ｂｄ）を算出し、ステップＳ１０９以降の処理を実行する。なお、このステップの処理については地肌抽出値についての定義の説明を参照のこと。
【００７７】
このように処理すると、副走査方向への連続性と各色ブロック毎の平均値、地肌レベル予測値と平均値の差分の最大値（予測平均最大値）を設定可能なパラメータと比較することによりそのブロックの予測値の閾値基準を設けることによって誤差が大きい場合に予測値に対して適切な値に修正することができる。
【００７８】
図１２は、ステップＳ１０５の平坦性の判断で、平坦ではないと判断されたときのさらに他の処理例を示すフローチャートで、この処理手順では、注目ブロックに対して前ラインの周囲ブロック及び現ラインの前ブロックとし、それぞれ周囲のブロック位置に対して加重設定可能なパラメータを選択した選択結果に基づき地肌抽出値をブロック単位で加算する手段を備え、その加算値の総和を地肌該当ブロックのカウント値で除算した結果と頁単位で初期設定が可能なライン平均値との差分に加重設定可能なパラメータを各色毎に乗算したものと前ライン平均値とを加算してライン単位毎に更新するようにしている。なお、この処理手順は、図１１のフローチャートのステップＳ１０８ａをステップＳ１０８ｂの処理に変更しただけなので、異なるステップについてのみ説明する。
【００７９】
この処理では、ステップＳ１０８ｂで地肌レベル値（Ｒｄ，Ｇｄ，Ｂｄ）を、
Ｒｄ＝設定係数×Ｒｅ＋Ｒｌ
Ｇｄ＝設定係数×Ｇｅ＋Ｇｌ
Ｂｄ＝設定係数×Ｂｅ＋Ｂｌ
として算出する。そして、この地肌レベル値（Ｒｄ，Ｇｄ，Ｂｄ）を使用してステップ１０９以降の処理を実行する。
【００８０】
なお、この処理は、フローチャートには図示していないが、地肌抽出値とライン平均値の差分を設定可能な閾値パラメータ（変動閾値）を比較して実行される。
【００８１】
すなわち、
Ｒｔ＞Ｒｌ＋変動閾値
の場合は、Ｒｌ＋変動閾値を（設定係数×Ｒｅ）に加算して、
Ｒｄ＝設定係数×Ｒｅ＋Ｒｌ＋変動閾値
となり、
Ｒｔ＜Ｒｌ−変動閾値
の場合は、Ｒｌ−変動閾値を（設定係数×Ｒｅ）に加算して、
Ｒｄ＝設定係数×Ｒｅ＋Ｒｌ−変動閾値
となり、いずれにも当てはまらない場合は、Ｒｔを（設定係数×Ｒｅ）に加算して、
Ｒｄ＝設定係数×Ｒｅ＋Ｒｔ
となる。Ｇｔ、Ｂｔも同様に
Ｇｔ＞Ｇｌ＋変動閾値
Ｂｔ＞Ｂｌ＋変動閾値
の場合は、
Ｇｄ＝設定係数×Ｇｅ＋Ｇｌ＋変動閾値
Ｂｄ＝設定係数×Ｂｅ＋Ｂｌ＋変動閾値
となり、
Ｇｔ＜Ｇｌ−変動閾値
Ｂｔ＜Ｂｌ−変動閾値
の場合は、
Ｇｄ＝設定係数×Ｇｅ＋Ｇｌ−変動閾値
Ｂｄ＝設定係数×Ｂｅ＋Ｂｌ−変動閾値
となり、いずれにも当てはまらない場合は、
Ｇｄ＝設定係数×Ｇｅ＋Ｇｔ
Ｂｄ＝設定係数×Ｂｅ＋Ｂｔ
となる。
【００８２】
このように処理することにより、地肌であるかないかをブロック毎の判定に基づいてライン全体に対する範囲に拡張することにより、次ラインへの判定要素基準とすることができる。
【００８３】
図１３は、ステップＳ１０５で平坦性の判断で、平坦ではないと判断されたときのさらに他の処理例を示すフローチャートで、この処理手順では、地肌抽出値とライン平均値の差分を設定可能な閾値パラメータと比較し、差が小さくなるようにライン平均値に対して閾値パラメータを加算もしくは減算した結果を、地肌レベルの予測値に加重設定可能なパラメータを各色毎に乗算したものとを加算させ、ブロック毎に地肌レベル値（Ｒｄ，Ｇｄ，Ｂｄ）を更新制御するとともにラインメモリに蓄積するようにしている。なお、この処理手順は、図１２のフローチャートのステップＳ１０８ｂをステップＳ１０８ｃの処理に変更しただけ、すなわち、前述の式（２５），（２６），（２７）に基づいて地肌レベル値（Ｒｄ，Ｇｄ，Ｂｄ）を算出するようにしたもので、その他の処理は図９の各ステップを同様なので、説明は省略する。
【００８４】
このように処理することにより、地肌レベル値をブロック毎に更新してラインメモリに蓄積することにより注目ブロックだけでなく周囲の地肌レベル値を加味させて注目ブロックの地肌レベルを決定することができる。また、次ブロック及び次ラインへの周囲ブロック「ｌ：前ライン（左ブロック）」「ｃ：前ライン（中央ブロック）」「ｒ：前ライン（右ブロック）」「ｂ：前ブロック」として予測値算出に利用することができる。
【００８５】
以上のように、前述の実施形態によれば、各色毎に設定可能な画像の平坦性を比較し、また副走査方向への平坦性の連続性を検知することにより、画像処理信号の地肌レベル値を動的に検出するとともに検出した地肌レベル値に基づいて各色毎に補正することができるので、地肌レベルを一定に保ち、原稿の地肌濃度のばらつき及び読み取りに起因するムラを排除することが可能となる。
【図面の簡単な説明】
【００８６】
【図１】本発明の実施形態に係る画像形成装置の電気的構成を示す機能ブロック図である。
【図２】本実施形態における画像形成装置の概略構成を示す図である。
【図３】図１におけるＡＳＩＣの画像処理部の構成を主に示す機能ブロック図である。
【図４】注目ブロックの地肌レベル予測値を算出するときの注目ブロックと周辺ブロックとの関係を示す図である。
【図５】図４において周辺ブロックに対して重み付けを行って地肌レベル予測値を算出するときの注目ブロックと周辺ブロックとの関係を示す図である。
【図６】ＡＣＣパターンの出力例を示す図である。
【図７】ＡＣＣパターンを読み込んで通常の原稿の出力データを補正する処理手順を示すフローチャートである。
【図８】平坦パラメータを基準に地肌部か非地肌部かを判断して補正する処理手順を示すフローチャートである。
【図９】副走査方向の平坦性の連続性を検知するときの処理手順を示すフローチャートである。
【図１０】図９の処理におけるＡＮＤ処理を説明するための図である。
【図１１】図８に示したステップＳ１０５の平坦性の判断で、平坦ではないと判断されたときの他の処理例を示すフローチャートである。
【図１２】図８に示したステップＳ１０５の平坦性の判断で、平坦ではないと判断されたときのさらに他の処理例を示すフローチャートである。
【図１３】図８に示したステップＳ１０５の平坦性の判断で、平坦ではないと判断されたときのさらに他の処理例を示すフローチャートである。
【符号の説明】
【００８７】
１０  コントローラ
２０  エンジン部
２１  画像処理部
２２  ＡＳＩＣ
２３  ＣＰＵ
３０    操作部
４０    スキャナ
５０    プロッタ
１００  画像形成装置
２００  自動原稿送り装置
３００  ソータ
５０１  ＡＣＣパターン
２１０１  シェーディング補正部
２１０２  セレクタ（１）
２１０３  画像信号遅延ＦＩＦＯ
２１０４  像域分離信号生成部
２１０５  セレクタ（２）
２１０６  ハイライト補正部
２１０７  スキャナγ補正部
２１１３  プリンタγ補正部
【図１】
2006042194.tif 000003
【図２】
2006042194.tif 000004
【図３】
2006042194.tif 000005
【図４】
2006042194.tif 000006
【図５】
2006042194.tif 000007
【図６】
2006042194.tif 000008
【図７】
2006042194.tif 000009
【図８】
2006042194.tif 000010
【図９】
2006042194.tif 000011
【図１０】
2006042194.tif 000012
【図１１】
2006042194.tif 000013
【図１２】
2006042194.tif 000014
【図１３】
2006042194.tif 000015