以下、一例として、本発明を適用した実施の形態の複合機(MFP:Multifunction Peripheral)を、図面を参照しながら詳細に説明する。なお、MFPは、例えば印刷機能、複写機能、スキャナ機能、およびファクシミリ機能のうち、1つまたは2つ以上の機能を有する電子機器である。
(概要)
MFP等の画像の読み取りを行う電子機器において、読み取り光学系の主走査位置毎の光量分布のばらつき、およびセンサチップ画素毎の感度のばらつきを補正するために、シェーディング補正が行われる。具体的には、所定の白色を有する濃度基準部材の読み取り結果(シェーディングデータ)を「SD」、入力データを「Din」とし、以下の数1式の演算を行うことで、入力データに対してシェーディング補正を施した結果である「Dout」を得るようになっている。
Dout=Din/SD・・・(数1式)
ここで、シェーディング補正に用いるシェーディングデータの生成時に、濃度基準部材に汚れが付着していると、汚れが付着している箇所のシェーディングデータの値は、正確なシェーディング補正が困難な値となる。これは、例えばライン状のイメージセンサ等の読み取り光学系の主走査方向(画素が並べられている方向)に沿って、濃度基準部材に付着している汚れが付着している箇所に対応する画素の画素データが正確にシェーディング補正されないことを意味している。このため、主走査方向に対して2次元方向に直交する副走査方向に読み取り光学系を走査して生成される1枚の画像上に、濃度基準部材に汚れが付着していた箇所に対応するスジ状のノイズが現れる不都合を生ずる。
具体的には、濃度基準部材に黒い汚れが付着していた場合、黒い汚れにより、読み取り光が吸収され、また、乱反射することで、黒い汚れの付着箇所に対応する画素に対する入射光が、他の箇所よりも少なくなり、生成されるシェーディングデータの値に落ち込みが生ずる。この落ち込みが生じたシェーディングデータをシェーディング補正に用いると、上述の数1式の分母の値が小さくなるため、シェーディング補正結果が大きな値となり、白スジが発生する(シェーディング補正不足)。同様に、濃度基準部材に白い汚れが付着していた場合、白い汚れにより、読み取り光の反射量が多くなる。このため、白い汚れの付着箇所に対応する画素に対する入射光が、他の箇所よりも多くなり、生成されるシェーディングデータの値が大きな値となる。この大きな値となったシェーディングデータをシェーディング補正に用いると、上述の数1式の分母の値が大きくなるため、シェーディング補正結果が小さな値となり、黒スジが発生する(シェーディング補正過多)。
このようなスジ状のノイズの発生を防止するために、シェーディングデータの生成時に、画像読取部のイメージセンサと濃度基準部材との相対的な位置を、可動機構で変更することで、濃度基準部材の汚れおよびキズ等の影響を低減することが考えられる。すなわち、副走査方向にイメージセンサを移動させながら濃度基準部材の複数箇所の読み取りを行う。そして、読み取りを行った複数個所に対応する各シェーディングデータを平均化する。これにより、汚れおよびキズ等の影響を低減したシェーディングデータを生成できる。または、回転ローラで形成した濃度基準部材を回転させながら複数箇所の読み取りを行う。これにより、汚れおよびキズ等の影響を低減したシェーディングデータを生成できる。
しかし、原稿の裏面を読み取るための密着型イメージセンサ(CIS:Compact Image Sensor)等の読み取りモジュールは、ADF(Auto Document Feeder)装置内の小スペースに固定して設けられることが多い。このため、濃度基準部材および可動機構をADF装置内に設けると、ADF装置の複雑化、大型化およびコスト高を招く。
ここで、以下の手法により、可動機構を設けなくても濃度基準部材の汚れやキズの影響を低減できる。すなわち、不揮発性のメモリに、予め清浄な濃度基準部材で取得した初期のシェーディングデータを格納しておく。初期のシェーディングデータと、原稿を読み取る直前に取得したシェーディングデータとを対比する。対比結果が所定以上の画素位置のデータを、汚れまたはキズ等の影響を受けたデータとして判定する。そして、汚れの影響を受けたデータを、汚れの無い初期のシェーディングデータに光量比を補正して置き換えて補間する。なお、光量比は、初期のシェーディングデータと原稿を読み取る直前に取得したシェーディングデータとの主走査全域、または主走査の特定エリア平均値の比である。これにより、可動機構を設けなくても濃度基準部材の汚れやキズの影響を低減できる。
しかし、このような手法においても、汚れを検知して初期のシェーディングデータに置き換えた箇所において、原稿を読み取る直前に取得したシェーディングデータと初期のシェーディングデータのロッドレンズ間隔で発生するリップルムラの振幅差に起因する縦スジが発生する。
以下、具体的に説明する。図1に読み取りモジュール(CIS)の模式図を示す。図1の(a)の符号を付した図は、読み取りモジュールの要部の分解斜視図である。図1の(b)の符号を付した図は、読み取りモジュールの、要部の拡大図である。図1の(c)の符号を付した図は、読み取りモジュールの各ロッドレンズに対応する出力波形を示す図である。
図1の(a)の符号を付した図に示すように、読み取りモジュールは、棒状の導光体1と、導光体1の両端部にそれぞれ設けられたLED等の光源部2とを有している。LEDは、「Light Emitting Diode」の略記である。導光体1は、光源部2からの光を、濃度基準部材および原稿等に照射する。また、読み取りモジュールは、濃度基準部材および原稿等に照射した光の反射光を読み取り信号に変換するラインセンサ3を有している。ラインセンサ3は、図1の(b)の符号を付した拡大図からわかるように、複数の読み取りセンサ(以下、画素という)3aが、主走査方向に沿ってライン状に配置されて形成されている。また、読み取りモジュールは、濃度基準部材および原稿等に照射された光の反射光をラインセンサ3に集光するロッドレンズアレイ4を有している。ロッドレンズアレイ4は、図1の(b)の符号を付した拡大図からわかるように、複数のロッドレンズ4aを、主走査方向に沿ってライン状に配置されて形成されている。
このような読み取りモジュールは、ロッドレンズ4を用いて反射光をラインセンサ3に集光している。このため、図1の(c)の符号を付した図から分かるように、反射光が集光されるロッドレンズ4aの中心付近では、ラインセンサ3の出力(読み取り信号のレベル)が高くなり、ロッドレンズ4aの端部においては、ラインセンサ3の出力が低くなる。このため、ロッドレンズ4a周期で、出力の高い位置と低い位置とが周期的に発生する。
ここで、原稿読み取り時の光源部2の連続点灯による発熱、および、環境温度等により、光量の低下が発生すると共に、主走査光量分布のリップルの振幅が変動する。図2は、主走査光量分布のリップルの振幅が変動する理由を説明するための図である。また、図2の(a)の符号を付した図は、ロッドレンズ4aに熱膨張が生じていないときの、画素3aの出力を示す図である。図2の(b)の符号を付した図は、ロッドレンズ4aが熱膨張した後の、画素3aの出力を示す図である。
図2の(a)および(b)の符号を付した図を、それぞれ見比べて分かるように、ロッドレンズ4aが熱膨張して径の大きさが変化すると、ロッドレンズ4aと画素3aの相対的な位置関係が副走査方向に経時でずれる。副走査方向は、主走査方向に対して、2次元的に直交する方向である。また、ラインセンサ3の基板も、熱膨張により副走査方向に伸びる。ラインセンサ3の基板が副走査方向に伸びると、ロッドレンズ4aと画素3aの相対的な位置関係が、副走査方向に経時でずれる。ロッドレンズ4aとラインセンサ3の基板の熱膨張率が等しければ、副走査光量分布のシフトは発生しない。しかし、ロッドレンズ4aとラインセンサ3の基板の熱膨張率は、それぞれ異なる。このため、ラインセンサ3で受光される反射光の受光量が減少する。
図3は、リップルの振幅差により、出力原稿または出力データに発生する縦スジを説明するための図である。図3の(a)の符号を付した図において、点線の波形は、工場出荷時等の初期の段階で生成された初期シェーディングデータである。図3の(a)の符号を付した図において、実線の波形は、原稿読み取り時に生成された原稿読取時シェーディングデータである。図3の(b)の符号を付した図において、点線の波形は、工場出荷時等の初期の段階で生成された初期シェーディングデータである。図3の(b)の符号を付した図において、細線の波形は、原稿読み取り時に生成された原稿読取時シェーディングデータである。図3の(b)の符号を付した図において、太線の波形は、初期シェーディングデータで補正された原稿読取時シェーディングデータ(補正シェーディングデータ)である。
シェーディング補正を行う場合、通常、光量比を補正することで、汚れの影響を受けた原稿読取時シェーディングデータを、汚れの無い初期シェーディングデータに置き換える。光量比は、初期シェーディングデータと原稿読取時シェーディングデータの主走査全域、または、主走査の特定エリアの平均値の比である。初期シェーディングデータに置き換える時、光量比を補正した補正シェーディングデータにおいても、原稿読取時シェーディングデータのリップルを正確に再現困難となり、両者間に差が生じる場合がある。この場合、本来よりも明るい、または、本来よりも暗い補正シェーディングデータが生成される。このため、このような本来とは異なる補正シェーディングデータでシェーディング補正された箇所に、図3の(c)の符号を付した図に示すように、明るいスジ、または、暗いスジが発生する。
(第1の実施の形態)
実施の形態のMFPは、以下に説明するように、原稿を読み取る直前に取得した汚れのついている原稿読取時シェーディングデータを、汚れのない初期シェーディングデータに置き換える際に、初期シェーディングデータを、原稿読取時シェーディングデータのリップルムラと振幅が合うように補正する。これにより、出力原稿または出力データに明るいスジ、または、暗いスジが発生する不都合を防止し、正確なシェーディング補正を可能とすることができる。
図4に、実施の形態のMFPの断面図を示す。この図4に示すように、実施の形態のMFPは、自動原稿搬送機構(ADF:Auto Document Feeder)10と、給紙部20と、画像形成部30とを備えている。給紙部20は、用紙サイズの異なる記録紙を収納する給紙カセット21,22を有している。また、給紙部20は、給紙カセット21,22に収納された記録紙を画像形成部30の画像形成位置まで搬送する各種ローラを備えた給紙機構23を有している。
画像形成部30は、露光装置31と、感光体ドラム32と、現像装置33と、転写ベルト34と、定着装置35とを備えている。画像形成部30は、ADF10内部の画像読取部で読み取られた原稿の画像データに基づいて、露光装置31により感光体ドラム32を露光して感光体ドラム32に潜像を形成する。また、画像形成部30は、現像装置33により、感光体ドラム32に異なる色のトナーを供給して現像する。そして、画像形成部30は、転写ベルト34により、感光体ドラム32に現像された像を給紙部20から供給された記録紙に転写した後、定着装置35により記録紙に転写されたトナー画像のトナーを溶融して、記録紙にカラー画像を定着させる。
図5は、ADF10の断面の拡大図である。また、図6は、ADF10を制御するコントローラ11、および、コントローラ11の周辺回路のブロック図である。ADF10は、固定された読取装置部に読取原稿を搬送し、所定の速度で搬送しながら画像の読み取りを行う。ADF10は、原稿セット部A、分離給送部B、レジスト部C、ターン部D、第1読取搬送部E、第2読取搬送部F、排紙部G、および、スタック部Hを有する。原稿セット部Aは、読取原稿束をセットする。分離給送部Bは、セットされた原稿束から一枚毎に原稿を分離して給送する。レジスト部Cは、給送された原稿を一次突当整合する働きと、整合後の原稿を引き出し搬送する働きを有する。ターン部Dは、搬送される原稿をターンさせて、原稿面を読取り側(下方)に向けて搬送する。第1読取搬送部Eは、原稿の表面画像を、コンタクトガラスの下方より読取を行わせる。第2読取搬送部Fは、読取後の原稿の裏面画像を読み取る。排紙部Gは、表裏の読取が完了した原稿を機外に排出する。スタック部Hは、読取完了後の原稿を積載保持する。
読み取りを行う原稿束130は、可動原稿テーブル131を含む原稿テーブル132上に、原稿面を上向きの状態としてセットする。さらに、原稿束130の幅方向を、図示しないサイドガイドによって、搬送方向と直行する方向に位置決めする。原稿のセットは、セットフィラー133、原稿セットセンサ100により検知され、I/F114により本体制御部122に送信される。
さらに、原稿テーブル面に設けられた原稿長さ検知センサ134または135(反射型センサ、または、原稿1枚も検知可能なアクチュエータータイプのセンサが用いられる)により、原稿の搬送方向長さの概略が判定される。
可動原稿テーブル131は、底板上昇モータ112により、図5中矢印で示すa方向およびb方向に動作可能(上下動可能)な構成となっている。可動原稿テーブル131は、原稿のセットを、セットフィラー133および原稿セットセンサ100で検知すると、底板上昇モータ112を正転させて原稿束130の最上面がピックアップローラ148と接触するように可動原稿テーブル131を上昇させる。ピックアップローラ148は、ピックアップモータ108を駆動源とするカム機構により、図5中矢印で示すc方向およびd方向に動作する。また、ピックアップローラ148は、可動原稿テーブル131が上昇し、可動原稿テーブル131上の原稿上面により押されてc方向に上がり、給紙適正位置センサ102により上限を検知可能となっている。
操作部121よりプリントキーが押下され、本体制御部122からI/F114を介してコントローラ11に原稿給紙信号が送信されると、ピックアップローラ148が、給紙モータ109の正転により回転駆動され、原稿テーブル132上の数枚(理想的には1枚)の原稿をピックアップする。回転方向は、最上位の原稿を給紙口に搬送する方向である。
給紙ベルト136は、給紙モータ109の正転により給紙方向に駆動される。リバースローラ137は、給紙モータ109の正転により、給紙方向と逆方向に回転駆動され、最上位の原稿とその下の原稿を分離して、最上位の原稿のみを給紙する構成となっている。さらに詳しく説明すると、リバースローラ137は、給紙ベルト136と所定圧で接する。リバースローラ137は、給紙ベルト136と直接接している際、または原稿1枚を介して接している状態では、給紙ベルト136の回転につられて反時計回り方向に回転する。また、リバースローラ137は、給紙ベルト136とリバースローラ137との間に、2枚以上の原稿が侵入した時は、連れ回り力がトルクリミッターのトルクよりも低くなるように設定されている。この場合、リバースローラ137は、本来の駆動方向である時計回り方向に回転し、余分な原稿を押し戻す働きをする。これにより、原稿の重送を防止できる。
給紙ベルト136とリバースローラ137との作用により、1枚に分離された原稿は、給紙ベルト136によって更に送られ、突き当てセンサ105によって先端が検知され更に進んで停止しているプルアウトローラ138に突き当たる。その後、原稿は、突き当てセンサ105の検知から所定量定められた距離分、搬送され、プルアウトローラ138に所定量撓みを持って押し当てられる。この状態で、給紙モータ109が停止され、給紙ベルト136の駆動が停止する。この時、ピックアップモータ108を回転させ、ピックアップローラ148を原稿上面から退避させ、原稿を給紙ベルト136の搬送力のみで送る。これにより、原稿の先端部は、プルアウトローラ138の上下ローラ対のニップに進入し、先端部の整合(スキュー補正)が行われる。
プルアウトローラ138は、スキュー補正機能を有する。また、プルアウトローラ138は、分離後にスキュー補正された原稿を中間ローラ139まで搬送するためのローラで、給紙モータ109の逆転により駆動される。またこの時(給紙モータ109逆転時)、プルアウトローラ138と中間ローラ139は駆動されるが、ピックアップローラ148と給紙ベルト136は駆動されない。
原稿幅センサ104は、奥行き方向に複数個並べられ、プルアウトローラ138により搬送された原稿の搬送方向に直行する幅方向のサイズを検知する。また、原稿の搬送方向の長さは、原稿の先端および後端を突き当てセンサ105で読み取ることで生成されるモータパルスを用いて検知される。
プルアウトローラ138および中間ローラ139の駆動により、レジスト部Cからターン部Dに原稿が搬送される際には、レジスト部Cでの搬送速度が、第1読取搬送部Eでの搬送速度よりも高速に設定される。これにより、原稿を読み取り部へ送り込む処理時間の短縮化が図られている。原稿の先端が読取入口センサ103により検出されると、読取入口ローラ140の上下ローラ対のニップに原稿先端が進入する前に、原稿搬送速度を、読取搬送速度と同速にするために減速を開始する。これと同時に、読取モータ110を正転駆動し、読取入口ローラ140、読取出口ローラ141、およびCIS出口ローラ142を駆動する。レジストセンサ107で原稿の先端が検知されると、所定の搬送距離をかけて減速し、読取位置143の手前で一時停止すると共に、本体制御部122にI/F114を介してレジスト停止信号を送信する。
続いて、本体制御部122より読取り開始信号を受信すると、レジスト停止していた原稿は、読取位置に原稿先端が到達するまでに所定の搬送速度に立ち上がるように増速されて搬送される。読取モータ110のパルスカウントにより検出された原稿先端が読取部に到達するタイミングで、本体制御部122に対して第1面の副走査方向の有効画像領域を示すゲート信号が、第1読取部を原稿後端が抜けるまで送信される。
片面原稿読取りの場合には、第1読取搬送部Eを通過した原稿は第2読取り部を経て排紙部Gへ搬送される。この際、排紙センサ106により原稿の先端が検知されると、排紙モータ111が正転駆動され、排紙ローラ144が、反時計回り方向に回転する。また、排紙センサ106による原稿の先端検知からの排紙モータパルスカウントにより、原稿後端が排紙ローラ144の上下ローラ対のニップから抜ける直前に、排紙モータ駆動速度が減速される。これにより、排紙トレイ145上に排出される原稿が、排紙トレイ145から飛び出る不都合を防止している。
両面原稿読取りの場合には、排紙センサ106にて原稿先端を検知してから読取りモータのパルスカウントにより第2読取部113に原稿先端が到達するタイミングで、第2読取部113に対してコントローラ11から副走査方向の有効画像領域を示すゲート信号が読取り部を原稿後端が抜けるまで送信される。第2読取ローラ146は、第2読取り部における原稿の浮きを抑える。また、第2読取ローラ146は、第2読取部113でシェーディングデータを取得するための基準白部(濃度基準部材)を兼ねている。
図7は、第2読取部113の電気回路の要部のブロック図である。図7に示すように、第2読取部113は、LED、蛍光灯、又は冷陰極管などからなる光源部2を有する。なお、光源部2は、図示しない導光体などと共に光を主走査方向に照射する照射部を構成する。
また、第2読取部113は、主走査方向(原稿幅方向に対応する方向)に並ぶ複数の画素(光電変換素子)3a、各画素3aにそれぞれ接続された複数のアンプ回路202、各アンプ回路202にそれぞれ接続された複数のA/D変換部203も有している。A/D変換部203の出力信号には、信号成分以外に黒レベルオフセット成分が含まれている。第2読取部113は、黒レベルオフセット成分を除去する黒補正部204を有している。
白補正部205は、黒補正部204の出力信号に対して白補正処理を施すことで、光源部2のムラおよび各画素3aの不均一な感度による画像データへの悪影響を除去する。また、詳しくは後述するが、白補正部205は、原稿を読み取る直前に濃度基準部材を読み取ることで取得した、汚れのついている原稿読取時シェーディングデータを、汚れのない初期シェーディングデータに置き換える際に、初期シェーディングデータを、原稿読取時シェーディングデータのリップルムラと振幅が合うように補正する。これにより、出力原稿または出力データに明るいスジ、または、暗いスジが発生する不都合を防止している。
また、第2読取部113は、画像処理部206、フレームメモリ207、出力制御回路208、I/F回路209等も有している。
このような第2読取部113で読み取りが行われる読取位置に対する原稿の搬送に先立って、コントローラ11から光源部2に点灯をON制御するための点灯信号が供給される。これにより、光源部2が点灯し、図示しない原稿に光が照射され、反射光が発生する。この原稿からの反射光は、ロッドレンズ4aにより各画素3aに集光され受光される。各画素3aは、受光した反射光に対応する電気信号である読み取り信号を生成する。読み取り信号は、アンプ回路202で増幅された後、A/D変換部203によって、読み取りデータにデジタル化される。例えば、読み取りデータが8bitの場合、黒レベルが「0」となり、白レベルが「255」となる。
読み取りデータには、黒補正部204によりオフセット成分の除去処理が施され、白補正部205により、後述するシェーディング補正が施される。また、読み取りデータは、画像処理部206によりライン間補正処理等が施された後、フレームメモリ207に一時記憶される。その後、読み取りデータは、出力制御回路208によって本体制御部122でデータ処理可能なデータ形式に変換された後、I/F回路209を介して、本体制御部122に供給される。なお、コントローラ11から第2読取部113に対しては、上述の光源部2の点灯信号の他、原稿の先端が第2読取部113による読取位置に到達するタイミング(そのタイミング以降の画像データが有効データとして扱われる)を知らせるためのタイミング信号、および、電源等が供給される。
次に、白補正部205におけるシェーディング補正動作を説明する。図8は、白補正部205の機能ブロック図である。この図8に示すように、白補正部205は、第1記憶部301、第2記憶部302、平滑化部303、交流成分抽出部304、ピーク検出部305、および平滑化部306を有している。また、白補正部205は、交流成分抽出部307、ピーク検出部308、交流補正倍率計算部309、補正データ生成部310、およびシェーディング補正部311を有している。
平滑化部303は、第1の直流成分抽出部の一例である。交流成分抽出部304は、第1の交流成分抽出部の一例である。平滑化部306は、第2の直流成分抽出部の一例である。交流成分抽出部307は、第2の交流成分抽出部の一例である。ピーク検出部305は、第1のピーク検出部の一例である。ピーク検出部308は、第2のピーク検出部の一例である。交流補正倍率計算部309は、補正倍率計算部の一例である。
平滑化部303〜シェーディング補正部311は、コントローラ11が、図6に示すように、例えばハードディスクドライブ装置、ROMまたはRAM等の記憶部101に記憶されているシェーディング補正プログラムを実行することで、ソフトウェア的に実現する機能となっている。ROMは、「Read Only Memory」の略記である。RAMは、「Random Access Memory」の略記である。なお、この例では、白補正部205の平滑化部303〜シェーディング補正部311は、ソフトウェア的に実現することとして説明を進めるが、平滑化部303〜シェーディング補正部311のうち、一部または全部をハードウェアで実現してもよい。
また、シェーディング補正プログラムは、インストール可能な形式または実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)などのコンピュータ装置で読み取り可能な記録媒体に記録して提供してもよい。また、CD−R、DVD、ブルーレイディスク(登録商標)、半導体メモリなどのコンピュータ装置で読み取り可能な記録媒体に記録して提供してもよい。DVDは、「Digital Versatile Disk」の略記である。また、シェーディング補正プログラムは、インターネットなどのネットワーク経由でインストールするかたちで提供してもよい。また、シェーディング補正プログラムは、機器内のROM等に予め組み込んで提供してもよい。
このような白補正部205において、実施の形態のMPFの工場出荷時等の初期時に、汚れていない濃度基準部材(この例の場合、上述の第2読取ローラ146)を読取った入力データを、初期シェーディングデータとして第1記憶部301に格納する。そして、第1記憶部301に格納した初期シェーディングデータを、不揮発性メモリなどで構成される第2記憶部302に転送して格納する。
次に、原稿読み取り時において、原稿の読み取りを行う直前に濃度基準部材を読み取り、これを原稿読取時シェーディングデータとして第1記憶部301に格納する。図9の(a)の符号を付した図は、原稿読取時シェーディングデータの一例を示す図である。この図9の(a)の符号を付した図からわかるように、原稿読取時シェーディングデータは、ロッドレンズ4aのレンズピッチに対応した周期的な変動成分が重畳した波形となっている。
平滑化部306は、第1記憶部301から読み出された原稿読取時シェーディングデータから、ロッドレンズ4aのレンズピッチに対応した周期的な変動成分等を除去することで、原稿読取時シェーディングデータの直流成分を生成する。図9の(b)の符号を付した図が、原稿読取時シェーディングデータから生成された直流成分の波形図である。
交流成分抽出部307は、平滑化部306で生成された原稿読取時シェーディングデータの直流成分と、第1記憶部301から読み出された原稿読取時シェーディングデータとの差分となる交流成分を抽出する。図9の(c)の符号を付した図は、交流成分抽出部307により抽出された交流成分の波形を示している。
一方、平滑化部303および交流成分抽出部304も上述と同様に、第2記憶部302に格納された初期シェーディングデータから直流成分を抽出し、初期シェーディングデータから直流成分と初期シェーディングデータとの差分となる交流成分を抽出する。
次に、主走査軸上でx画素目の初期シェーディングデータの交流成分の値を「Ainit(x)」とし、直流成分の値を「Dinit(x)」とする。また、原稿読取時シェーディングデータに関しても同様に、主走査軸上でx画素目の原稿読取時シェーディングデータの交流成分の値を「Apre(x)」とし、直流成分の値を「Dpre(x)」とする。そして、一定の画素数で構成されるブロックを主走査方向に複数設定し、以下に説明する処理をブロック単位で行う。
ピーク検出部308は、上述のブロック内における原稿読取時シェーディングデータの交流成分Apre(x)の絶対値の最大値である「Apre_amp[]」を検出する。なお、Apre_amp[]のように、括弧([])がついた変数は配列であり、括弧内にはブロック番号が入ることとする。以下の説明においても同様である。また、ピーク検出部305は、上述のブロック内における初期シェーディングデータの交流成分Ainit(x)の絶対値の最大値である「Ainit_amp[]」を検出する。
具体的には、図10の(a)の符号を付した図において、初期シェーディングデータの交流成分Ainit(x)、および、原稿読取時シェーディングデータの交流成分Apre(x)の各波形の一例を示す。図10の(a)の符号を付した図において、点線の波形が、初期シェーディングデータの交流成分Ainit(x)である。また、図10の(a)の符号を付した図において、実線の波形が、原稿読取時シェーディングデータの交流成分Apre(x)の波形である。この図10の(a)の符号を付した図に示すように、ピーク検出部308は、原稿読取時シェーディングデータの交流成分Apre(x)の絶対値の最大値Apre_amp[]、および、初期シェーディングデータの交流成分Ainit(x)の絶対値の最大値Ainit_amp[]を、ブロック毎に検出する。
次に、交流補正倍率計算部309は、図10の(b)の符号を付した図に示すように、以下の次の数2式を用いて、交流補正倍率α[]をブロック毎に算出する。
α[]=(Apre_amp[])/(Ainit_amp[])・・・(数2式)
なお、この数2式において、Ainit_amp[]=0の場合、α[]=0である。
次に、補正データ生成部310は、第1の手順として、以下の数3式の演算を行う。これにより、補正データ生成部310は、各ブロックの初期シェーディングデータの交流成分Ainit(x)に対して、それぞれ対応する交流補正倍率α[]を乗算処理した補正交流成分Acor(x)を算出する。
Acor(x)=Ainit(x)×α[]・・・(数3式)
図10の(c)の符号を付した図において、点線の波形は、補正倍率α[]の乗算処理前(補正前)における各ブロックの初期シェーディングデータの交流成分Ainit(x)の波形である。これに対して、図10の(c)の符号を付した図において、実線の波形は、補正倍率α[]の乗算処理後(補正後)における各ブロックの初期シェーディングデータの交流成分Ainit(x)の波形である。この図10(c)の符号を付した図からわかるように、初期シェーディングデータの交流成分Ainit(x)の値は、原稿読取時シェーディングデータの交流成分Apre(x)との間の振幅差に応じて補正される。
次に、補正データ生成部310は、第2の手順として、以下の数4式の演算を行う。これにより、補正データ生成部310は、補正交流成分Acor(x)と、初期シェーディングデータの直流成分Dinit(x)とを加算処理した、主走査軸上におけるx画素目のシェーディングデータSD(x)を算出する。
SD(x)=Acor(x)+Dinit(x)・・・(数4式)
補正データ生成部310は、このような数3式および数4式の演算を、全画素に対して行うことで、全画素のシェーディングデータSD(x)を生成し、これをシェーディング補正部311に供給する。
図11は、シェーディングデータSD(x)の生成工程を模式的に示した図である。図11の(a)の符号を付した図は、交流補正倍率計算部309からの補正倍率α[]により補正された補正交流成分Acor(x)の波形図である。図11の(b)の符号を付した図は、平滑化部303により生成された初期シェーディングデータの直流成分Dinit(x)の波形である。図11の(c)の符号を付した図は、補正データ生成部310で生成されたシェーディングデータの波形図である。すなわち、図11の(a)の符号を付した図に示す補正交流成分Acor(x)と、図11の(b)の符号を付した図に示す初期シェーディングデータの直流成分Dinit(x)とを加算処理する(上述の数4式)。これにより、図11の(c)の符号を付した図に示すように、初期シェーディングデータの交流成分Ainit(x)と、原稿読取時シェーディングデータの交流成分Apre(x)との間の振幅差を是正するシェーディングデータSD(x)を生成することができる。
次に、シェーディング補正部311は、補正データ生成部310により補正されたシェーディングデータSD(x)を用いて、黒補正部204からの読み取りデータ(入力データ)にシェーディング補正処理を施す。図12の実線の波形は、汚れ等が付着した濃度基準部材を読み取ることで、汚れ等の付着箇所に対応するタイミングで特異的な変動が発生している原稿読取時シェーディングデータの波形を示している。また、図12の点線の波形は、初期シェーディングデータの交流成分Ainit(x)と、原稿読取時シェーディングデータの交流成分Apre(x)との間の振幅差を是正するシェーディングデータSD(x)の波形を示している。
濃度基準部材に付着した汚れ等が原因で、原稿読取時シェーディングデータに特異的な変動が発生した場合でも、濃度基準部材に汚れの付着していない状態で取得された初期シェーディングデータに置換してシェーディング補正を行うため、濃度基準部材の汚れ等が原因で画像に縦スジが発生する不都合を防止できる。
また、原稿読取時シェーディングデータを、初期シェーディングデータに置換する際に、初期シェーディングデータの交流成分Ainit(x)と、原稿読取時シェーディングデータの交流成分Apre(x)との間の振幅を合わせるように初期シェーディングデータを補正している。このため、正確なシェーディング補正を行うことができ、シェーディングデータの交流成分の振幅の差から生ずる周期的なスジの発生を防止した印刷画像または画像データを提供することができる。
以上の説明から明らかなように、第1の実施の形態のMFPは、原稿を読取る直前に取得した汚れが付着した原稿読取時シェーディングデータを、汚れのない初期シェーディングデータに置き換える際に、原稿読取時シェーディングデータのリップルムラと振幅が合うように初期シェーディングデータを補正する。そして、補正した初期シェーディングデータを用いて、シェーディング補正を行う。これにより、シェーディングデータの交流成分の振幅の差から生ずる周期的なスジの発生を防止する、正確なシェーディング補正を行うことができる。
(第2の実施の形態)
次に、本発明の第2の実施の形態となるMFPの説明をする。上述の第1の実施の形態のMFPでは、初期シェーディングデータの交流成分Ainit(x)、および、原稿読取時シェーディングデータの交流成分Apre(x)の各振幅の絶対値の最大値を用いて、初期シェーディングデータの補正倍率を決定した。これに対して、第2の実施の形態のMFPでは、初期シェーディングデータの交流成分Ainit(x)、および、原稿読取時シェーディングデータの交流成分Apre(x)の正側および負側の補正倍率を別個に決定するようにしたものである。以下、第1の実施の形態と第2の実施の形態の差異の説明のみ行い、重複説明は省略する。
図13は、第2の実施の形態のMFPに設けられている白補正部205の機能ブロック図である。この図13に示す各機能ブロックのうち、ピーク検出部321、ピーク検出部322、交流補正倍率計算部323、および補正データ生成部324の各機能ブロックが、上述の第1の実施の形態との差異となっている。
ピーク検出部321は、図14の(a)の符号を付した図に示すように、上述の各ブロック毎に、初期シェーディングデータの交流成分Ainit(x)の最大値Ainit_max[]、および、最小値Ainit_min[]を検出する。また、ピーク検出部322は、図14の(a)の符号を付した図に示すように、上述の各ブロック毎に、原稿読取時シェーディングデータの交流成分Apre(x)の最大値Apre_max[]、および、最小値Apre_min[]を検出する。なお、図14の(a)の符号を付した図において、例えばAinit_max[N]は、Nブロック目の初期シェーディングデータの交流成分Ainit(x)の最大値を示す。
交流補正倍率計算部323は、以下の数5式に示す演算を行うことで、図14の(b)の符号を付した図に示すように正側の補正倍率α_p[]をブロック毎に算出する。また、交流補正倍率計算部323は、以下の数6式に示す演算を行うことで、図14の(b)の符号を付した図に示すように負側の補正倍率α_n[]をブロック毎に算出する。
正側の補正倍率α_p[]=(Apre_max[])/(Ainit_max[])・・・(数5式)
なお、数5式において、Ainit_max[]=0の場合、α_p[]=0となる。
負側の補正倍率α_n[]=(Apre_min[])/(Ainit_min[])・・・(数6式)
なお、数6式において、Ainit_min[]=0の場合、α_n[]=0となる。
次に、補正データ生成部324は、Ainit(x)≧0の場合、以下の数7式による演算を行うことで、ブロック毎の正側の波形に対応する初期シェーディングデータの交流成分Ainit(x)に補正倍率α_p[]を乗算処理する。なお、「Ainit(x)≧0の場合」とは、初期シェーディングデータの交流成分Ainit(x)の値が正の値の場合を示している。これにより、補正データ生成部324は、図14の(c)の符号を付した図に示すように、正側を補正した初期シェーディングデータの交流成分Acor(x)を生成する。
Acor(x)=Ainit(x)×α_p[]・・・(数7式)
同様に、補正データ生成部324は、Ainit(x)<0の場合、以下の数8式による演算を行うことで、ブロック毎の負側の波形に対応する初期シェーディングデータの交流成分Ainit(x)に補正倍率α_n[]を乗算処理する。なお、「Ainit(x) <0の場合」とは、初期シェーディングデータの交流成分Ainit(x)の値が負の値の場合を示している。これにより、補正データ生成部324は、図14の(c)の符号を付した図に示すように、負側を補正した初期シェーディングデータの交流成分Acor(x)を生成する。
Acor(x)=Ainit(x)×α_n[]・・・(数8式)
次に、補正データ生成部324は、以下の数9式の演算を行い、正側および負側の両方を補正した初期シェーディングデータの交流成分Acor(x)と、初期シェーディングデータの直流成分Dinit(x)を加算する。この演算により、補正データ生成部324は、上述の正側および負側の両方の補正に対応するシェーディングデータSD(x)を生成する。
SD(x)=Acor(x)+Dinit(x)・・・(数9式)
シェーディング補正部311は、補正データ生成部324で生成された、上述の正側および負側の両方の補正に対応するシェーディングデータSD(x)を用いて、黒補正部204からの読み取りデータ(入力データ)にシェーディング補正処理を施す。
以上の説明から明らかなように、第2の実施の形態のMFPは、正側および負側の補正倍率を個別に設定する。これにより、初期シェーディングデータの交流成分Ainit(x)の波形が、正側および負側で非対称な波形であっても、初期シェーディングデータの交流成分Ainit(x)の値を、原稿読取時シェーディングデータの交流成分Apre(x)の値に合わせることができる。このため、シェーディングデータの交流成分の振幅の差から生ずる周期的なスジの発生を、より強力に防止できる他、上述の第1の実施の形態のMFPと同様の効果を得ることができる。
(第3の実施の形態)
次に、本発明の第3の実施の形態となるMFPの説明をする。上述の各実施の形態のMFPでは、初期シェーディングデータの交流成分Ainit(x)、および、原稿読取時シェーディングデータの交流成分Apre(x)の各振幅の最大値、または、最小値を用いて、ブロック毎の初期シェーディングデータの補正倍率を決定した。これに対して、第3の実施の形態のMFPでは、初期シェーディングデータの交流成分Ainit(x)の値の平均値、および、原稿読取時シェーディングデータの交流成分Apre(x)の値の平均値で、ブロック毎の初期シェーディングデータの交流成分Ainit(x)の補正倍率を決定するようにしたものである。以下、上述の各実施の形態と第3の実施の形態の差異の説明のみ行い、重複説明は省略する。
図15は、第3の実施の形態のMFPに設けられている白補正部205の機能ブロック図である。この図15の機能ブロックにおいて、ピーク検出部305,308,321,322が不要である点、および、交流補正倍率計算部331が、上述の平均値で、ブロック毎の初期シェーディングデータの交流成分Ainit(x)の補正倍率を決定する点が、上述の各実施の形態との差異となっている。
すなわち、第3の実施の形態のMFPの場合、図15に示す交流補正倍率計算部331は、図16の(a)の符号を付した図に示すように、初期シェーディングデータの交流成分Ainit(x)の値に応じて、上述のブロック毎に、下記の演算を行う。すなわち、Ainit(x)>0の場合、交流補正倍率計算部331は、以下の数10式の演算を行うことで、初期シェーディングデータの交流成分Ainit(x)と原稿読取時シェーディングデータの交流成分Apre(x)との比である「R_p(x)」を算出する。
R_p(x)=(Apre(x))/(Ainit(x))・・・(数10式)
なお、交流補正倍率計算部331は、この数10式の演算を行った場合、ブロック内でAinit(x)>0となる画素数を示す変数Num_p[]の値を1つインクリメントする。換言すると、交流補正倍率計算部331は、図16の(a)の符号を付した図に示すように、上述の比である「R_p(x)」を算出する演算を、各ブロック内において所定時間毎に行う。
また、Ainit(x)<0の場合、交流補正倍率計算部331は、以下の数11式の演算を行うことで、初期シェーディングデータの交流成分Ainit(x)と原稿読取時シェーディングデータの交流成分Apre(x)との比である「R_n(x)」を算出する。
R_n(x)=(Apre(x))/(Ainit(x))・・・(数11式)
なお、交流補正倍率計算部331は、この数11式の演算を行った場合、ブロック内でAinit(x)<0となる画素数を示す変数Num_n[]の値を1つインクリメントする。換言すると、交流補正倍率計算部331は、図16の(a)の符号を付した図に示すように、上述の比である「R_n(x)」を算出する演算を、各ブロック内において所定時間毎に行う。また、交流補正倍率計算部331は、Ainit(x)=0の場合は、演算は行わない。
次に、交流補正倍率計算部331は、以下の数12式の演算をブロック毎に行うことで、正側の補正倍率α_p[]を算出する。また、交流補正倍率計算部331は、以下の数13式の演算をブロック毎に行うことで、負側の補正倍率α_n[]を算出する。正側の補正倍率α_p[]は、各ブロック内における複数のR_p(x)の平均値である。同様に、負側の補正倍率α_n[]も、各ブロック内における複数のR_n(x)の平均値である。なお、以下の数12式および数13式において、「ΣR_p(x)」および「ΣR_n(x)」は、それぞれ各ブロック内でのR_p(x)の総和、R_n(x)の総和を示している。
α_p[]=(ΣR_p(x))/(Num_p[])・・・(数12式)
α_n[]=(ΣR_n(x))/(Num_n[])・・・(数13式)
補正データ生成部324は、図16の(b)の符号を付した図に示すように、正側の平均値である補正倍率α_p[]を用いて、初期シェーディングデータの交流成分Ainit(x)をブロック毎に補正する。また、補正データ生成部324は、図16の(b)の符号を付した図に示すように、負側の平均値である補正倍率α_n[]を用いて、初期シェーディングデータの交流成分Ainit(x)の値をブロック毎に補正する。
ここで、図17は、濃度基準部材に付着した汚れ等が原因で、原稿読取時シェーディングデータの交流成分Apre(x)の最大値または最小値が特異的に変化した場合、補正に用いる初期シェーディングデータの交流成分Ainit(x)の値が不適当な値となる様子を示している。すなわち、図17の(a)の符号を付した図は、原稿読取時シェーディングデータの交流成分Apre(x)に、いわゆるスパイクノイズ状の異常値が現れた様子を示している。
図17の(a)の符号を付した図において、Nブロック目の原稿読取時シェーディングデータの交流成分Apre(x)に現れた2つの異常値は、最大値以下、または、最小値未満である。このため、図17の(b)の符号を付した図に示すように、上述の正側および負側の補正倍率の演算(上述の数5式および数6式を参照)を行うことで、図17の(c)の符号を付した図に示すように、Nブロック目の初期シェーディングデータの交流成分Ainit(x)は、正確な補正倍率で、シェーディング補正に適した値に補正される。
これに対して、図17の(a)の符号を付した図において、N+1ブロック目の原稿読取時シェーディングデータの交流成分Apre(x)に現れた2つの異常値は、最大値または最小値を超えた値である。この場合、図17の(b)の符号を付した図に示す、上述の正側および負側の補正倍率の演算(上述の数5式および数6式を参照)を行うと、図17の(c)の符号を付した図に示すように、N+1ブロック目の初期シェーディングデータの交流成分Ainit(x)は、上述の異常値による不正確な補正倍率で補正され、シェーディング補正には適さない値となる恐れがある。
しかし、第3の実施の形態のMFPの場合、図16を用いて説明したように、正側における初期シェーディングデータの交流成分Ainit(x)と原稿読取時シェーディングデータの交流成分Apre(x)との比である複数のR_p(x)の平均値を補正倍率α_p[]として用いて、初期シェーディングデータの交流成分Ainit(x)をブロック毎に補正する。また、第3の実施の形態のMFPの場合、負側における初期シェーディングデータの交流成分Ainit(x)と原稿読取時シェーディングデータの交流成分Apre(x)との比である複数のR_n(x)の平均値を補正倍率α_n[]として用いて、初期シェーディングデータの交流成分Ainit(x)をブロック毎に補正する。
これにより、図17の(a)の符号を付した図に示したように、ブロック内に特異な値の最大値または最小値が現れた場合でも、上述の平均化により、正常に近い値の補正倍率を生成し、正確なシェーディング補正を実行可能とすることができる。このため、濃度基準部材に濃度変化の大きな汚れが付着した場合等の、濃度基準部材の汚れに対する耐性を高くすることができる。従って、シェーディングデータの交流成分の振幅の差から生ずる周期的なスジの発生を、さらに強力に防止できる他、上述の各実施の形態のMFPと同様の効果を得ることができる。
(第4の実施の形態)
次に、本発明の第4の実施の形態となるMFPの説明をする。第4の実施の形態のMFPは、特異的に値が変動した画素が多い異常ブロックの補正倍率を、異常ブロックの前後の正常ブロックの補正倍率から推定する。そして、推定した補正倍率で初期シェーディングデータの交流成分Ainit(x)を補正してシェーディング補正に用いることで、正確なシェーディング補正を可能としたものである。以下、上述の各実施の形態と第4の実施の形態の差異の説明のみ行い、重複説明は省略する。
図18は、第4の実施の形態のMFPに設けられている白補正部205の機能ブロック図である。この図18の機能ブロックにおいて、異常検出部341、交流補正倍率計算部342、および出力選択部343が、上述の各実施の形態との差異となっている。
すなわち、第4の実施の形態のMFPの場合、図18に示す異常検出部341に、第1記憶部301に格納された原稿読取時シェーディングデータ、および、第2記憶部302に格納された初期シェーディングデータが供給される。異常検出部341は、各シェーディングデータを比較することで、濃度基準部材の汚れ等が原因で原稿読取時シェーディングデータに特異的な変動が発生した画素を検出する。このような異常検出部341としては、例えば特開2010−011297号公報等で開示されている技術を用いることができる。
なお、特異的な変動が発生している画素を「異常画素」という。また、異常画素を含むブロックを「異常ブロック」という。これに対して、異常画素ではない画素を「正常画素」という。また、正常画素のみで構成されるブロックを「正常ブロック」という。
図19の(a)の符号を付した図の例は、Nブロックが異常ブロック、Nブロックの前のブロックに相当するN−1ブロック、および、Nブロックの後のブロックに相当するN+1ブロックが、それぞれ正常ブロックである例である。また、図19の(a)の符号を付した図において、点線の波形は、初期シェーディングデータの交流成分Ainit(x)の波形の例である。また、図19の(a)の符号を付した図において、実線の波形は、原稿読取時シェーディングデータの交流成分Apre(x)の波形の例である。交流補正倍率計算部342は、まず、図19の(a)の符号を付した図に例示したような、全ての正常ブロックおよび異常ブロックに対して、第2または第3の実施の形態で説明したいずれかの手法で正側の補正倍率α_p[]および負側の補正倍率α_n[]を算出する。
次に、交流補正倍率計算部342は、異常ブロック(または複数の異常ブロックで構成されるブロック群)を挟む二つ一組の正常ブロックの補正倍率に用いて線形補間を行うことで、異常ブロックの補正倍率を再算出する。すなわち、図19の(b)の符号を付した図の例の場合、交流補正倍率計算部342は、異常ブロックとなっているNブロックに近接する正常ブロックの補正倍率を用いて線形補間を行うことで近似値を算出し、この近似値を、異常ブロックであるNブロックの補正倍率とする。図19の(b)の符号を付した図の例の場合、交流補正倍率計算部342は、異常ブロックとなっているNブロックの前後の正常ブロックであるN−1ブロックおよびN+1ブロックの補正倍率を用いて線形補間を行うことで近似値を算出し、この近似値を、異常ブロックであるNブロックの補正倍率とする。
具体的には、交流補正倍率計算部342は、この例の異常ブロックであるNブロックの正側の補正倍率α_p[N]を、以下の数14式に示す線形補間の演算式を用いて再算出し、負側の補正倍率α_n[N]を、以下の数15式に示す線形補間の演算式を用いて再算出する。
α_p[N]=α_p[N−1]+((α_p[N+1]−α_p[N−1])×{N−(N−1)})/{(N+1)−(N−1)}・・・(数14式)
α_n[N]=α_n[N−1]+((α_n[N+1]−α_n[N−1])×{N−(N−1)})/{(N+1)−(N−1)}・・・(数15式)
なお、この例においては、異常ブロックの前後の正常ブロックを用いて、異常ブロックの補正倍率を線形補間により推定(再算出)した。しかし、例えば異常ブロックの前または後のうち、いずれか一方の複数の正常ブロックを用いて上述の推定を行ってもよい。また、例えば異常ブロックの二つ前の正常ブロック、異常ブロックの一つ前の正常ブロック、異常ブロックの一つ後の正常ブロック、異常ブロックの二つ後の正常ブロックを用いて上述の推定を行う等のように、二つ以上の正常ブロックを用いて上述の推定を行ってもよい。
次に、補正データ生成部324は、交流成分抽出304からの初期シェーディングデータの交流成分Ainit(x)に、交流補正倍率計算部342により算出された正側の補正倍率α_p[N]および負側の補正倍率α_n[N]を乗算する。これにより、図19の(c)の符号を付した図に示すように、正常ブロックであるN−1ブロックおよびN+1ブロックの初期シェーディングデータの交流成分Ainit(x)が、さらに最適な値のシェーディングデータに補正される。また、異常ブロックであるNブロックの初期シェーディングデータの交流成分Ainit(x)も、前後の正常ブロックから推定された最適な値のシェーディングデータに補正される。
次に、補正データ生成部324は、補正倍率を乗算処理することで補正した初期シェーディングデータの交流成分Ainit(x)と、平滑化部303から供給される初期シェーディングデータの直流成分Dinit(x)とを加算処理することで、シェーディング補正用のシェーディングデータを生成する。
次に、出力選択部343には、第1記憶部301から読み出された原稿読取時シェーディングデータ、および、補正データ生成部324により補正された初期シェーディングデータが供給されている。また、出力選択部343には、異常検出部341からのブロック判別信号が供給されている。このブロック判別信号は、シェーディング補正部311でシェーディング補正を行おうとしているブロックが、正常ブロックまたは異常ブロックであることを示す信号である。
出力選択部343は、異常検出部341から供給されたブロック判別信号が、正常ブロックであることを示す場合、第1記憶部301から読み出された原稿読取時シェーディングデータを選択して、シェーディング補正部311に供給する。すなわち、シェーディング補正部311でシェーディング補正を行おうとしているブロックが、正常ブロックである場合、第1記憶部301から読み出された原稿読取時シェーディングデータがシェーディング補正部311に供給される。
これに対して、出力選択部343は、異常検出部341から供給されたブロック判別信号が、異常ブロックであることを示す場合、補正データ生成部324により補正された初期シェーディングデータを選択して、シェーディング補正部311に供給する。すなわち、シェーディング補正部311でシェーディング補正を行おうとしているブロックが、異常ブロックである場合、上述の線形補間により推定された近似値(補正された初期シェーディングデータ)が、シェーディング補正部311に供給される。
シェーディング補正部311は、原稿読取時シェーディングデータを用いて、正常ブロックのシェーディング補正を行う。また、シェーディング補正部311は、上述の線形補間により推定された近似値(補正された初期シェーディングデータ)を用いて、異常ブロックのシェーディング補正を行う。
濃度基準部材の広範囲に汚れが付着した場合、特異的な値となった異常画素群の値が支配的となって補正倍率の演算が行われ、正確な補正倍率を算出することが困難となる。しかし、第4の実施の形態のMFPの場合、異常画素を含む異常ブロックの補正倍率を、異常ブロックの周囲の正常ブロックの値を用いて推定することで、適した値のシェーディング補正データを用いて、さらに正確なシェーディング補正を行うことができる他、上述の各実施の形態と同様の効果を得ることができる。
(第5の実施の形態)
次に、本発明の第5の実施の形態となるMFPの説明をする。上述の各実施の形態のMFPは、初期シェーディングデータの交流成分Ainit(x)を補正するものであった。これに対して、第5の実施の形態のMFPは、初期シェーディングデータの交流成分Ainit(x)と共に、直流成分Dinit(x)も補正するようにしたものである。以下、上述の各実施の形態と第5の実施の形態の差異の説明のみ行い、重複説明は省略する。
図20は、第5の実施の形態のMFPに設けられている白補正部205の機能ブロック図である。この図20の機能ブロックにおいて、異常検出部341、直流補正倍率計算部351、直流成分補正部352、交流成分補正部353、および、出力選択部354が、上述の各実施の形態との差異となっている。異常検出部341は、異常画素検出部も兼ねている。
すなわち、図21の(a),(b),(c)の符号を付した各図において、二次曲線状の波形は、原稿読取時シェーディングデータの直流成分Dpre(x)の波形を示しており、緩やかな曲線状の波形(略々直線状の波形)は、初期シェーディングデータの直流成分Dinit(x)の波形を示している。第5の実施の形態のMFPの場合、図21の(a),(b),(c)の符号を付した各図に示したような、初期シェーディングデータの直流成分Dinit(x)、および、原稿読取時シェーディングデータの直流成分Dpre(x)が、平滑化部303および平滑化部306から直流補正倍率計算部351にそれぞれ供給される。
第5の実施の形態のMFPの場合、異常検出部341は、原稿読取時シェーディングデータの直流成分、および、初期シェーディングデータの直流成分を比較することで、濃度基準部材の汚れ等が原因で特異的な変動が発生している画素を検出する。具体的には、異常検出部341は、図21の(a)の符号を付した図に例示する原稿読取時シェーディングデータの直流成分Dpre(x)、および、初期シェーディングデータの直流成分Dinit(x)を比較する。これにより、異常検出部341は、T番目の画素Dpre(T)およびU番目の画素Dpre(U)を異常画素として検出することとなる。この異常画素の検出出力(異常画素検出信号)は、直流補正倍率計算部351および出力選択部354に供給される。
直流補正倍率計算部351は、以下の数16式の演算を行うことで、主走査軸上の位置xにおける直流成分の補正倍率β(x)を算出する。直流補正倍率計算部351は、主走査軸上の全ての画素に対する直流成分の補正倍率β(x)を算出する。
β(x)=Dpre(x)/Dinit(x)・・・(数16式)
次に、直流補正倍率計算部351は、異常検出部341で検出された異常画素を挟む二つの正常画素の補正倍率β(x)を用い、線形補間による近似値を算出し、この近似値を異常画素の補正倍率β(x)とする。すなわち、直流補正倍率計算部351は、異常画素の補正倍率β(x)だけ、前後の正常画素を用いて再計算する。
具体的には、図21の(a)の符号を付した図において、原稿読取時シェーディングデータの直流成分Dpre(x)の出力レベルに大きな落ち込みが生じている箇所が存在する。この出力レベルの落ち込みの開始点となるS番目の画素Dpre(S)は正常画素である。また、出力レベルの落ち込みの終端点となるV番目の画素Dpre(V)は正常画素である。これに対して、原稿読取時シェーディングデータの直流成分Dpre(x)のS番目の画素Dpre(S)およびV番目の画素Dpre(V)の間に存在するT番目の画素Dpre(T)およびU番目の画素Dpre(U)は、それぞれ異常画素である。すなわち、T番目の画素Dpre(T)およびU番目の画素Dpre(U)は、原稿読取時シェーディングデータの直流成分Dpre(x)の出力レベルの落ち込みを生じさせている異常画素である。
直流補正倍率計算部351は、S番目およびV番目の各正常画素の直流成分の補正倍率β(S)、β(V)を用い、以下の数17式および数18式に示す線形補間による近似値の演算を行う。この演算により、直流補正倍率計算部351は、この例において異常画素となっているT番目およびU番目の各異常画素に対応する直流成分の補正倍率β(T)、β(U)を再算出(推定)する。
β(T)=β(S)+({β(V)−β(S)}×(T−S))/(V−S)・・・(数17式)
β(U)=β(S)+({β(V)−β(S)}×(U−S))/(V−S)・・・(数18式)
次に、直流成分補正部352は、直流補正倍率計算部351で算出した補正倍率β(x)と、平滑化部303から供給された初期シェーディングデータの直流成分Dinit(x)とを乗算処理し、乗算処理結果を補正後の直流成分とする。すなわち、直流成分補正部352は、以下の数19式の演算を行うことで、補正後の直流成分Dcor(x)を算出する。
Dcor(x)=β(x)×Dinit(x)・・・(数19式)
これにより、図21の(b)の符号を付した図に示すように、初期シェーディングデータの直流成分Dinit(x)に出力レベルの落ち込みが生じている場合でも、図21の(c)の符号を付した図に示すように、出力レベルの落ち込みを補正した直流成分Dinit(x)を生成することができる。すなわち、図21の(b)の符号を付した図に示すように、正常画素の補正倍率から再算出(推定)したT番目の異常画素用の補正倍率β(T)およびU番目の異常画素用の補正倍率β(U)で、T番目およびU番目の各異常画素に対応する直流成分Dpre(T)および直流成分Dpre(U)を補正する。これにより、図21の(c)の符号を付した図に示すように、T番目およびU番目の各異常画素に対応する直流成分Dpre(T)および直流成分Dpre(U)の出力レベルの落ち込みを補正することができる。
一方、交流成分補正部353は、上述の補正データ生成部324と同様に、初期シェーディングデータの補正した交流成分Acor(x)を生成する。すなわち、交流成分補正部353は、Ainit(x)≧0の場合、以下の数20式に示す演算を行う。これにより、初期シェーディングデータの交流成分Ainit(x)に対して、交流補正倍率計算342で算出した交流用の正側の補正倍率α_p[]を乗算処理して補正した交流成分Acor(x)を生成する。
Acor(x)=Ainit(x)×α_p[]・・・(数20式)
交流成分補正部353は、Ainit(x)<0の場合、以下の数21式に示す演算を行う。これにより、初期シェーディングデータの交流成分Ainit(x)に対して、交流補正倍率計算342で算出した交流用の負側の補正倍率α_n[]を乗算処理して補正した交流成分Acor(x)を生成する。
Acor(x)=Ainit(x)×α_n[]・・・(数21式)
次に、出力選択部354には、異常検出部341で直流成分が異常値となっている異常画素が検出されている間、異常画素検出信号が供給される。出力選択部354は、異常画素検出信号が供給されていないときには、以下の数22式で示すように、原稿読取時シェーディングデータのそのままの直流成分Dpre(x)、および、そのままの交流成分Apre(x)を加算処理したシェーディングデータSD(x)を生成する。すなわち、この場合のシェーディングデータSD(x)は、原稿読取時シェーディングデータをそのまま用いることを意味している。出力選択部354は、異常画素検出信号が供給されていないときには、この原稿読取時シェーディングデータを、シェーディングデータSD(x)としてシェーディング補正部311に供給する。
SD(x)=Apre(x)+Dpre(x)・・・(数22式)
これに対して、出力選択部354は、異常検出部341から異常画素検出信号が供給された場合、以下の数23式に示すように、補正された交流成分Acor(x)と、補正された直流成分Dcor(x)とを加算処理し、この加算出力を、異常画素用のシェーディングデータSD(x)として選択し、シェーディング補正部311に供給する。
SD(x)=Acor(x)+Dcor(x)・・・(数23式)
シェーディング補正部311は、原稿読取時シェーディングデータを用いて、正常画素のシェーディング補正を行う。また、シェーディング補正部311は、上述の線形補間により近似値に補正された直流成分が補正されたシェーディングデータを用いて、異常画素のシェーディング補正を行う。
以上の説明から明らかなように、第5の実施の形態のMFPは、異常画素の直流成分の補正倍率を、周囲の正常画素の直流成分の補正倍率から線形補間によって近似する。そして、異常画素の直流成分を、直流成分の補正倍率と初期シェーディングデータの直流成分の積で上書き(再算出)する。これにより、原稿読取時シェーディングデータと初期シェーディングデータとの間で直流成分が変化した場合でも、異常画素の直流成分の値を、シェーディング補正に適した値に補正して用いることができる。このため、より正確なシェーディング補正を行うことができる他、上述の各実施の形態と同様の効果を得ることができる。
上述の各実施の形態は、例として説明したものであり、本発明の範囲を限定することは意図していない。これら新規な各実施の形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことも可能である。各実施の形態および各実施の形態の変形は、発明の範囲や要旨に含まれると共に、特許請求の範囲に記載された発明とその均等の範囲に含まれる。