以下、図面を参照して、本発明の実施形態について説明する。本実施形態においては、読み取り対象の原稿をスキャナユニットに給紙する給紙部としてADF(Auto Document Feeder)が搭載されたMFP(MultiFunction Peripheral:複合機)などの画像処理装置に本発明を適用した例について説明する。
まず、本実施形態に係る画像処理装置1全体のハードウェア構成について説明する。図1は本実施形態に係る画像処理装置1のハードウェア構成を示すブロック図である。画像処理装置1は、コントローラ100とエンジン部23とをPCI(Peripheral Component Interface)バスで接続した構成となる。
コントローラ100は、画像処理装置1全体の制御と描画、通信、操作部からの入力を制御するコントローラである。エンジン部23は、PCIバスに接続可能なプリンタエンジンなどであり、たとえば白黒プロッタ、1ドラムカラープロッタ、4ドラムカラープロッタ、スキャナまたはファックスユニットなどである。なお、このエンジン部23には、プロッタなどのいわゆるエンジン部分に加えて、誤差拡散やガンマ変換などの画像処理部分が含まれる。
コントローラ100は、CPU11、ノースブリッジ(NB)13、システムメモリ(MEM‐P)12、サウスブリッジ(SB)14、ローカルメモリ(MEM‐C)17、ASIC(Application Specific Integrated Circuit)16、ハードディスクドライブ(HDD)103を含む。また、ノースブリッジ(NB)13とASIC16とが、AGP(Accelerated Graphics Port)バス15によって接続される。さらに、MEM‐P12は、ROM(Read Only Memory)12a、RAM(Random Access Memory)12bを含む。
CPU11は、画像処理装置1全体の動作を制御し、NB13、MEM‐P12、SB14を含むチップセットを含む構成であり、このチップセットを介して他の機器と接続される。NB13は、CPU11とMEM‐P12、SB14、AGPバス15とを接続するためのブリッジであり、MEM‐P12に対する読み書きなどを制御するメモリコントローラと、PCIマスタおよびAGPターゲットとを含む構成である。MEM‐P12は、プログラムやデータの格納用メモリ、プログラムやデータの展開用メモリ、プリンタの描画用メモリなどとして用いるシステムメモリであり、ROM12aとRAM12bとを含む。
ROM12aは、プログラムやデータの格納用メモリとして用いる読み出し専用のメモリであり、RAM12bは、プログラムやデータの展開用メモリ、プリンタの描画用メモリなどとして用いる書き込みおよび読み出し可能なメモリである。SB14は、NB13とPCIデバイス、周辺デバイスとを接続するためのブリッジである。このSB14は、PCIバスを介してNB13と接続されており、このPCIバスには、ネットワークインタフェース(I/F)部が接続される構成であってもよい。
ASIC16は、画像処理用のハードウェア要素を有する画像処理用途向けのIC(Integrated Circuit)であり、AGPバス15、PCIバス、HDD125およびMEM‐C17をそれぞれ接続するブリッジの機能を実現する。ASIC16は、PCIターゲットおよびAGPマスタと、ASIC16の中核をなすアービタ(ARB)と、MEM‐C17を制御するメモリコントローラと、ハードウェアロジックなどにより画像データの回転などをおこなう複数のDMAC(Direct Memory Access Controller)と、エンジン部23との間でPCIバスを介したデータ転送をおこなうPCIユニットとを含む。
ASIC16には、PCIバスを介してFCU(Facsimile Control Unit)18、USB(Universal Serial Bus)19、IEEE1394(the Institute of Electrical and Electronics Engineers 1394)インタフェース21が接続される。操作表示部24はASIC16に直接接続されている。MEM‐C17は、コピー用画像バッファ、符号バッファとして用いるローカルメモリである。
HDD25は、画像データの蓄積、プログラムの蓄積、フォントデータの蓄積、フォームの蓄積を行うためのストレージであり、画像処理装置1において実行されるアプリケーションソフトウェアのプログラムファイルが保存されている。AGPバス15は、グラフィック処理を高速化するために提案されたグラフィックスアクセラレータカード用のバスインタフェースであり、MEM‐P12に高スループットで直接アクセスすることにより、グラフィックスアクセラレータカードを高速にするものである。
このようなハードウェア構成において、ROM12aに格納されたプログラムのステップや、HDD25もしくは光学ディスクなどの記憶媒体からRAM12bにロードされたプログラムのステップに従ってCPU11が演算を行うことにより、ソフトウェア制御部が構成される。このようにして構成されたソフトウェア制御部と、ハードウェアとの組み合わせによって、本実施形態に係る画像処理装置1の機能を実現する機能ブロックが構成され、画像処理方法、画像処理プログラムが実現される。
次に、本実施形態に係る画像処理装置1の機能構成について、図2を参照して説明する。図2に示すように、本実施形態に係る画像処理装置1は、コントローラ100、ADF(Auto Document Feeder:原稿自動搬送装置)101、スキャナユニット102、排紙トレイ103、ディスプレイパネル104、給紙テーブル105、プリントエンジン106、排紙トレイ107およびネットワークI/F108を有する。
また、コントローラ100は、主制御部110、エンジン制御部120、画像処理部130、操作表示制御部140および入出力制御部150を含む。図2に示すように、本実施形態に係る画像処理装置1は、スキャナユニット102、プリントエンジン106を有する複合機として構成されている。なお、図2においては、電気的接続を実線の矢印で示しており、用紙の流れを破線の矢印で示している。
ディスプレイパネル104は、画像処理装置1の状態を視覚的に表示する表示部であると共に、タッチパネルとしてユーザが画像処理装置1を直接操作し、もしくは、画像処理装置1に対して情報を入力する際の入力部でもある。すなわち、ディスプレイパネル104は、ユーザによる操作を受けるための画像を表示する機能を含む。ディスプレイパネル104は、図1に示す操作表示部24によって実現される。
ネットワークI/F108は、画像処理装置1がネットワーク4を介して他の機器と通信するためのインタフェースであり、Ethernet(登録商標)やUSB(Universal Serial Bus)インタフェースなどが用いられる。ネットワークI/F108は、TCP/IPプロトコルによる通信が可能である。また、ネットワークI/F108は、画像処理装置1がファクシミリとして機能する際に、ファクシミリ送信を実行するためのインタフェースとしても機能する。そのため、ネットワークI/F108は、電話回線にも接続されている。ネットワークI/F108は、図1に示すUSB19、IEEE1394インタフェース21によって実現される。
コントローラ100は、ソフトウェアとハードウェアとの組み合わせによって構成される。具体的には、ROM12aや不揮発性メモリならびにHDD25や光学ディスク等の不揮発性記憶媒体に格納されたプログラムが、RAM12b等の揮発性メモリ(以下、メモリ)にロードされ、CPU11がそのプログラムに従って演算を行うことにより構成されるソフトウェア制御部とASIC16などのハードウェアとによって構成される。コントローラ100は、画像処理装置1全体を制御する制御部として機能する。
主制御部110は、コントローラ100に含まれる各部を制御する役割を担い、コントローラ100の各部に命令を与える。エンジン制御部120は、プリントエンジン106やスキャナユニット102などを制御もしくは駆動する駆動手段としての役割を担う。画像処理部130は、主制御部110の制御に従い、印刷出力すべき画像情報に基づいて描画情報を生成する。この描画情報とは、画像形成部であるプリントエンジン106が画像形成動作において形成すべき画像を描画するための情報であるラスターデータである。
また、画像処理部130は、スキャナユニット102から入力される撮像データを処理し、画像データを生成する。この画像データとは、スキャナ動作の結果物として画像処理装置1の記憶領域に格納され、もしくはネットワークI/F108を介して他の情報処理端末や記憶装置に送信される情報である。
操作表示制御部140は、ディスプレイパネル104に情報表示を行い、もしくはディスプレイパネル104を介して入力された情報を主制御部110に通知する。入出力制御部150は、ネットワークI/F108を介して入力される情報を主制御部110に入力する。また、主制御部110は、入出力制御部150を制御し、ネットワークI/F108を介してネットワークに接続された他の機器にアクセスする。
画像処理装置1がプリンタとして動作する場合は、まず、入出力制御部150がネットワークI/F108を介して印刷ジョブを受信する。入出力制御部150は、受信した印刷ジョブを主制御部110に転送する。主制御部110は、印刷ジョブを受信すると、画像処理部130を制御して印刷ジョブに含まれる文書情報もしくは画像情報に基づいて描画情報を生成させる。
画像処理部130によって描画情報が生成されると、エンジン制御部120は、プリントエンジン106を制御し、生成された描画情報に基づき、給紙テーブル105から搬送される用紙に対して画像形成を実行させる。プリントエンジン106の具体的態様としては、インクジェット方式による画像形成機構や電子写真方式による画像形成機構などを用いることが可能である。プリントエンジン106によって画像形成が施された文書は排紙トレイ107に排紙される。
画像処理装置1がスキャナとして動作する場合は、ユーザによるディスプレイパネル104の操作もしくはネットワークI/F108を介して他の端末から入力されるスキャン実行指示に応じて、操作表示制御部140もしくは入出力制御部150が主制御部110にスキャン実行信号を転送する。主制御部110は、受信したスキャン実行信号に基づき、エンジン制御部120を制御する。
エンジン制御部120は、ADF101を駆動し、ADF101にセットされた撮像対象の原稿をスキャナユニット102に搬送する。また、エンジン制御部120は、スキャナユニット102を駆動し、ADF101から搬送される原稿を撮像する。また、ADF101に原稿がセットされておらず、スキャナユニット102に直接原稿がセットされた場合、スキャナユニット102は、エンジン制御部120の制御に従い、セットされた原稿を撮像する。
撮像動作においては、スキャナユニット102に含まれるCIS(Contact Image Sensor)やCCD(charge-coupled device)等の光学素子が原稿を光学的に走査し、光学情報に基づいて撮像情報が生成される。これらの光学素子は、スキャナユニット102に搬送されてくる原稿を、主走査方向に分割した領域ごとに走査し、走査した領域ごとに撮像情報を生成する。
本実施形態においては、主走査方向に分割された領域のことを、以後、「ライン」という。エンジン制御部120は、スキャナユニット102が生成した撮像情報を画像処理部130に転送する。画像処理部130は、主制御部110の制御に従い、エンジン制御部120から受信した撮像情報に基づいて画像情報を生成する。
画像処理部130が生成した画像情報は主制御部110が取得し、主制御部110がHDD40などの画像処理装置1に装着された記憶媒体に保存する。すなわち、スキャナユニット102、エンジン制御部120および画像処理部130が連動して、画像入力部として機能する。画像処理部130によって生成された画像情報は、ユーザの指示に応じてそのままHDD40などの記憶媒体に格納され、もしくは、入出力制御部150およびネットワークI/F108を介して外部の装置に送信される。
また、画像処理装置1が複写機として動作する場合は、エンジン制御部120がスキャナユニット102から受信した撮像情報もしくは画像処理部130が生成した画像情報に基づき、画像処理部130が描画情報を生成する。その描画情報に基づいてプリンタ動作の場合と同様に、エンジン制御部120がプリントエンジン106を駆動する。なお、描画情報と撮像情報との情報形式が同一である場合は、撮像情報をそのまま描画情報として用いることも可能である。
本実施形態に係る画像処理装置1は、スキャナユニット102から入力される撮像データに基づいて、原稿が重複して搬送される、いわゆる「重送」が発生しているか否かを検知する。次に、撮像データを処理する制御を行う画像処理部130の内部機能について説明する。
図3は、本実施形態に係る画像処理部130の内部機能を示す機能ブロック図である。図3に示すように、画像処理部130は、読取画像生成部131、重複検知部132、γ変換処理部133、フィルタ処理部134、色変換処理部135、中間調処理部136を含む。
読取画像生成部131は、光学素子が原稿を走査して得られた光学情報に基づいて、撮像情報を生成する。読取画像生成部131は、例えば、撮像情報として、RGBをそれぞれ8ビットの値(0~255)で表したデジタル画像データである読み取り画像を生成する。
重複検知部132は、読取画像生成部131が生成した読み取り画像に基づいて、読み取り画像における原稿の重複が発生しているか否かを検知する。なお、重複検知部132が行う具体的な処理の態様については、後述する。
γ変換処理部133は、読取画像生成部131が生成した読み取り画像に対して、階調特性を補正する処理を実行する。そして、γ変換処理部133は、階調特性を変換した読み取り画像をフィルタ処理部134に送信する。
フィルタ処理部134は、γ変換処理部133から取得した読み取り画像に対して協調や平滑化などのフィルタ処理を実行する。そして、フィルタ処理部134は、フィルタ処理を実行した読み取り画像を色変換処理部135に送信する。
色変換処理部135は、フィルタ処理部134から取得した読み取り画像に対して、RGBデータで表現された色情報をCMYK(Cyan、Magenta、Yellow、Key plate)データに変換する。そして、色変換処理部135は、色変換を行った読み取り画像を、中間調処理部136に送信する。
中間調処理部136は、色変換処理部135から取得した読み取り画像に対して、ディザ処理や誤差拡散処理などを実行し、階調数を変換する。中間調処理部136によって階調数を変換された読み取り画像が描画情報である。
以上説明したような構成によって、本実施形態に係る画像処理装置1は、取得した画像に対し、画像処理を実行して描画情報を生成し、画像形成出力を実行する。また、本実施形態に係る画像処理装置1は、読み取り画像を生成する際に、読み取り対象の原稿に重複が発生しているか否かを重複検知部132によって判定する。
次に、図4を参照して、本実施形態に係る重複検知部132が実行する重送検知処理の流れについて説明する。図4は、重複検知部132が実行する処理の全体の流れを示すフローチャートである。
重複検知部132は、読取画像生成部131から取得した読み取り画像に対して第1濃度検知処理を実行する(S401)。重複検知部132は、第1濃度検知処理として、原稿1枚分の地肌部分の紙の濃度を算出し、保存する。第1濃度検知処理の詳細については、図7で説明する。
次に、重複検知部132は、読取画像生成部131から取得した読み取り画像に対して第2濃度検知処理を実行する(S402)。重複検知部132は、第2濃度検知処理として、現ラインおよび数ライン分、すなわちMライン分に相当する画像領域における地肌部分の濃度を算出する。第2濃度検知処理の詳細については図9で説明する。
次に、重複検知部132は、読み取り画像に対して、影検知処理を実行する(S403)。重複検知部132は、影検知処理として、読み取り画像において影部分の画像領域である影領域が検知されたか否かを判定する。また、重複検知部132は、影検知処理の結果に基づいて、「status」の値を更新する。
なお、「status」とは、影領域が検知されたか否かを示すパラメータである。「status=0」は、影領域が検知されていないことを示す。また、「status=1」は、影領域から地肌領域へと切り替わる領域であることを示す。「status=2」は、「status=1」であり、かつ、影領域の近傍の領域同士で濃度の比較ができる状態であることを示す。影検知処理の詳細については図10で説明する。
影検知処理が終了すると、重複検知部132は、「status」の値が1かどうかを判定する(S404)。「status=1」と判定された場合(S404/YES)、現ラインおよび1ライン前の画像領域は、影領域と地肌領域との境界、すなわち、影領域から地肌領域へと画素が切り替わっている領域である。
重複検知部132は、S404でYESの場合、第3濃度検知処理を実行する(S405)。重複検知部132は、第3濃度検知処理として、数ライン分の地肌領域の紙の濃度を算出し、保存する。また、重複検知部132は、第3濃度検知処理の結果に基づいて、statusの値を更新する。第3濃度検知処理の詳細は図11で説明する。
第3濃度検知処理が終了すると、重複検知部132は、「status」の値が2かどうかを判定する(S406)。「status=2」と判定された場合(S406/YES)、数ライン分の地肌領域は、影領域から地肌領域へと画素が切り替わっているラインであって、濃度の比較ができる影領域のラインを含んで構成される領域である。
一方で、「status=2」と判定されなかった場合(S406/NO)、重複検知部132は、次のラインについて、再度S401からの処理を実行する。なお、影領域の前後において、濃度の変化が所定より小さい場合には、「status=2」と判定される。
重複検知部132は、S406でYESの場合、第2濃度検知処理の結果である「L2sum」と第3濃度検知処理の結果である「L3sum」との差が「Fth」より大きいか否かを判定する(S407)。
なお、「Fth」の値は、原稿の紙厚や紙種により最適値が変化する。したがって、「Fth」の値を、予め原稿の紙厚や紙種ごとにデータテーブルとしてコントローラ100に記憶させる構成や、ユーザの任意の値をディスプレイパネル104から入力する構成であってもよい。
「L2sum」と「L3sum」との差が「Fth」より大きい場合(S407/YES)、重複検知部132は、原稿の重複を検知し、原稿の重送が発生していることを示す重送発生情報を主制御部110に送信する(S408)。主制御部110は、重送発生情報を受信すると、ADF101およびスキャナユニット102の動作を制御し、原稿の読み取りを停止させる(S409)。
主制御部110は、原稿の読み取りを停止させると、重送を検知したことを、操作表示制御部140を介してディスプレイパネル104に表示させる(S410)。重複検知部132は、主制御部110によって、重送を検知した表示が実行されると、本処理を終了する。
なお、「L2sum」と「L3sum」との差が「Fth」より小さい場合(S407/NO)、重複検知部132は、statusを0に更新する(S411)。S411の場合、原稿の重送は発生していない。
そして、重複検知部132は、原稿に含まれる全てのラインに対してS401からの一連の処理を実行すると(S412/YES)、本処理を終了する。以上説明したように、本実施形態においては、読み取り画像に含まれる原稿の画像領域における画素の濃度の変化に基づいて原稿の重送が発生しているか否かを検知することができる。
図5は、本実施形態に係る1枚の原稿が読み取られて生成された読み取り画像P1である。なお、読み取り画像P1の濃度を示す情報を、原稿のサイズ、紙質、紙種別に予めROM12aやHDD25に記憶させておいてもよい。
正常に読み取られたならば読み取り画像P1が生成される原稿であっても、重送された場合には、原稿が重複した領域の濃度が異なる。この例を図6に示す読み取り画像P2を用いて説明する。図6に示すように、複数枚の原稿が重送されると、複数枚の原稿が重複することになるため、読み取り画像P2に表現される原稿の画像は、複数枚の原稿を重ねた厚みの紙に相当する濃度となる。
したがって、読み取り画像P2の濃度は、読み取り画像P1の濃度よりも高くなるため、複数の読み取り画像の濃度を比較することで、重送を検知することが可能である。
次に、重複検知部132が、S401で実行する第1濃度検知処理について図7を参照して説明する。図7は、本実施形態に係る第1濃度検知処理の流れを示すフローチャートである。
第1濃度検知処理では、まず、原稿1枚分の地肌部分に相当する第1画像情報である読み取り画像P1の濃度を算出する。なお、地肌部分とは、文字や画像が表現されていない原稿上の領域であり、読み取り画像P1においては、読み取り画像P1の元となった第1原稿のそのものの色によって表現される領域である。また、読み取り画像P1の画像の濃度、すなわち、第1画像濃度をあらかじめROM12aやHDD25などに記憶させておき、濃度情報記憶部として構成してもよい。
そして、読み取り画像P1の濃度と第2画像情報である読み取り画像P2の濃度とを比較することによって、原稿の重送か発生しているか否かを判定する。なお、第1濃度処理においては、原稿の四辺が重複して搬送された読み取り画像における重送を検知することができる。
まず、重複検知部132による、読み取り画像P2の濃度、すなわち、第2画像濃度を算出する処理について説明する。なお、読み取り画像P2は、スキャナユニット102で読み取られた第2原稿の撮像情報に基づいて、読取画像生成部131によって生成される。したがって、重複検知部132は、読み取り画像P2に表現された原稿の画像濃度を検知する画像濃度検知部として機能する。
重複検知部132は、読取画像生成部131から取得した読み取り画像P2を、主走査方向に一定の間隔で分割し、分割した画像DIV1、画像DIV2、・・・、DIVnごとに、画像濃度の平坦性の変化、色成分の変化、明度の変化に基づいて平坦性判定、無彩色判定、明るさ判定をそれぞれ実行する(S701)。ここで、主走査方向に分割した画像をそれぞれ画像DIV1、画像DIV2、・・・、DIVnとして、以後の説明を行う。また、画像DIV1は地肌領域の画像、画像DIVXは地肌領域ではない画像である。
重複検知部132は、濃度の平坦性判定として、RGBの色成分ごとに、画像DIV1における画像信号の最大値および最小値を抽出する。そして、重複検知部132は、抽出した画像DIV1における画像信号の最大値と最小値との差分が、RGBのすべての色成分で所定の値THより小さければ、画像DIV1の濃度が平坦であると判定する。
すなわち、重複検知部132は、(画像DIV1における赤成分の画像信号の最大値-画像DIV1における赤成分の画像信号の最小値)<TH_R、かつ、(画像DIV1における緑成分の画像信号の最大値-画像DIV1における緑成分の画像信号の最小値)<TH_G、かつ、(画像DIV1における青成分の画像信号の最大値-画像DIV1における青成分画像信号の最小値)<TH_Bである場合に、画像DIV1の濃度が平坦であると判定する。
重複検知部132は、無彩色判定として、画像DIV1を代表する画像信号値である代表値色成分を相互に比較し、その最大値と最小値を抽出する。このとき、重複検知部132は、画像DIV1における画像信号の平均値あるいは中間値(画像信号の大きさ順に並べ、その中間に位置する信号値のことを示す)、あるいは、画像DIV1およびその周辺の画像信号の平均値あるいは中間値を算出し、代表値色成分としてもよい。
そして、重複検知部132は、抽出した代表値色成分の最大値と最小値との差分が、所定の値TH_Nより小さければ無彩であると判定する。すなわち、重複検知部132は、(代表値色成分の最大値-代表値色成分の最小値)<TH_Nである場合に、画像DIV1が無彩色であると判定する。
重複検知部132は、明るさ判定として、画像DIV1における代表値の各色成分が、それぞれ所定の閾値TH_Lより明るい場合に明るいと判定する処理を行う。すなわち、重複検知部132は、画像DIV1における代表値の赤成分>TH_L、かつ、画像DIV1における代表値の緑成分>TH_L、かつ、画像DIV1における代表値の青成分>TH_Lである場合に、画像DIV1が明るいと判定する。
次に重複検知部132は、濃度の平坦性判定、無彩色判定、明るさ判定の結果にもとづいて、分割した画像ごとに地肌領域であるか否かを判定する(S702)。一般的に、原稿においては、白い紙に画像が形成されているため、地肌領域においては、色の変動および明暗の変動が少なく、明度が明るい。したがって、重複検知部132は、画像DIV1において、画像DIV1の濃度が平坦であり、かつ、画像DIV1が無彩色であり、かつ、画像DIV1が明るい場合に、画像DIV1が地肌領域であると判定する。
S702でYESの場合、重複検知部132は、画像DIV1について「ground=1」とする(S703)。なお、「ground」とは、画像が地肌領域であるか否かを示すパラメータである。S702でNOの場合、重複検知部132は、画像DIVXについて「ground=0」とする(S704)。
次に、重複検知部132は、濃度平均値加算処理を実行する。濃度平均値加算処理の一つとして、重複検知部132は、地肌判定を行った画像DIV1、・・・、DIVnについて、例えば、画像DIV1のように、「ground=1」の場合は画像の濃度の平均値Dを算出し、読み取り画像P2の濃度値Lに加算する。なお、「ground=0」の場合、重複検知部132は何もしないが、その場合も濃度平均値加算処理の一つの形態に含まれる。
また、画像DIV1のように地肌領域であると判定されるごとに、重複検知部132は、濃度平均値加算処理の一つとして、地肌領域であると判定された画像DVInの数を示す「groundAsum」に「ground」の値を加算する(S705)。
なお、濃度値Lは、例えば、読み取り画像の最初のラインについて処理を実行するときに初期化される。また、「groundAsum」についても、読み取り画像の最初のラインについて処理を実行するときに初期化され、副走査方向下流のラインの処理を実行する際には、常にその値がRAM12bやHDD25に保持されている。
次に、重複検知部132は、S705までの処理を主走査方向すべて、すなわち、1ラインに相当する読み取り画像P2の画像領域について行ったどうかを判定する(S706)。S706でYESの場合、重複検知部132は、読み取り画像P2の地肌の濃度値LGに濃度値Lを加算する(S707)。
なお、濃度値LGは、例えば、読み取り画像の最初のラインについて処理を実行するときに初期化され、副走査方向下流のラインの処理を実行する際には、常にその値がRAM12bやHDD25に保持されている。次に、重複検知部132は、S707までの処理を、読み取り画像P2を構成する全てのラインについて実行したか否かを判定し(S708)、全てのラインについてS701からS707までの処理を実行する。
S707でYESの場合、重複検知部132は、紙の地肌の濃度値LGの総和を、地地肌領域であると判定された画像DIVnの数の総和「groundAsum」で割り、読み取り画像P2に含まれる地肌領域の濃度の平均値「LGave」を算出する(S709)。
次に、重複検知部132は、「LGave」と1ページ前の読み取り画像P1に含まれる地肌領域の濃度の平均値「L(G-1)ave」の差が「Tth」より大きいかを判定する(S710)。このとき、読み取り画像P2が、最初の原稿である場合には、1ページ前の原稿が存在しない。したがって、複数ある原稿のうち、1ページ目については、「Tth」以下と判定する。
なお、「Tth」は紙厚や紙種により最適値が変わる。そのため、紙厚や紙種ごとに予め「Tth」の値をデータテーブルとしてROM12aやHDD25に記憶させておいてもよいし、ディスプレイパネル104からユーザが任意の値を設定できるようにしてもよい。
S710でYESの場合、すなわち、読み取り画像P2における濃度の平均値と読み取り画像P1における濃度の平均値との差が大きい場合、重複検知部132は、読み取り画像P1もしくは読み取り画像P2において、原稿が重複していることを検知する(S711)。重複検知部132が原稿の重複を検知した場合、主制御部110は、スキャナユニット102による原稿の読み取りを停止させ(S712)、原稿が重複していることを通知する画面をディスプレイパネル104に表示させる。
S710でNOの場合、すなわち、読み取り画像P2における濃度の平均値と読み取り画像P1における濃度の平均値との差が小さい場合、読み取り画像P1もしくは読み取り画像P2には、原稿の重複が発生していない。このとき、重複検知部132は、次の原稿に備え「L(G-1)ave」で指定されている値を「LGave」の値として更新する(S713)。
以上説明したように、第1濃度検知処理では、原稿の四辺が重複して搬送された読み取り画像における重送を検知することができる。ところが、複数枚の原稿がずれた状態で搬送されることによって、図8に示すように、重複した原稿の影が表現された読み取り画像P3が生成されることがある。
図8では、影領域より副走査方向下流のラインにある地肌部分では原稿が重複しておらず、影領域より副走査方向上流のラインの地肌部分では原稿が重複している。したがって、複数枚の原稿が重複した部分では、複数枚の原稿を重ねた厚みの紙に相当する濃度となるために、影領域より副走査方向下流のラインにある地肌部分の濃度と影領域より副走査方向上流のラインにある地肌部分とでは、画像の濃度が異なる。
そこで、本実施形態では、現ラインと副走査方向に数ライン下流の地肌部分の読み取り画像P3の濃度を算出する。このとき算出される濃度は、重複した原稿の影の画像領域、すなわち影領域より副走査方向上流のラインにある地肌部分の濃度である。重複検知部132は、第2濃度検知処理として、影領域の近傍、すなわち、影領域より副走査方向上流のラインにある地肌部分の濃度と、影領域より副走査方向下流のラインの地肌部分の濃度とを比較することによって重送かどうかを判定する。
次に、重複検知部132が、S402で実行する第2濃度検知処理について図9を参照して説明する。重複検知部132は、読取画像生成部131から取得した読み取り画像P3の「status」が「status=0」であるか否かを判定する(S901)。
「status=0」ではない場合(S901/NO)、重複検知部132は、本処理を終了する。これは、「status=0」ではない場合には、影領域Sがすでに検知されていて、副走査方向下流側のラインにおける画像濃度を検知して画像濃度の比較を行うためである。
「status=0」である場合(S901/YES)、重複検知部132は、読み取り画像P3に対してS701と同様に濃度の平坦性判定、無彩色判定、明るさ判定を行う(S902)。したがって、重複検知部132は、読み取り画像P3に表現された原稿の画像濃度を検知する画像濃度検知部として機能する。
このとき、読み取り画像P3において影領域Sが検知されていない状態であり、副走査方向下流側のラインにおける画像濃度を検知しなければ、読み取り画像P3に影領域Sが存在するか否かは不明である。
次に、重複検知部132は、S902における地肌判定の結果に基づいて、地肌判定を行った画像DIVnごとに「ground」の値を制御する(S903)。S902で地肌と判定された場合、すなわち、S903でYESの場合、重複検知部132は、画像DIVnの「ground」を「ground=1」とする(S904)。
S902で地肌でないと判定された場合、すなわち、S903でNOの場合、重複検知部132は、画像DIVnの「ground」を「ground=0」とする(S905)。
次に、重複検知部132は、濃度平均値加算処理を実行する。重複検知部132は、地肌判定を行った画像DIV1、・・・、DIVnについて、例えば、画像DIV1のように、「ground=1」の場合は画像の濃度の平均値Dを算出し、読み取り画像P3の濃度値Lに加算する。なお、「ground=0」の場合、重複検知部132は何もしないが、この処理も濃度平均値加算処理の一つである。
また、画像DIV1のように地肌領域であると判定されるごとに、重複検知部132は、濃度平均値加算処理の一つとして、地肌領域であると判定された画像DVInの数を示す「groundBsum」に「ground」の値を加算する(S906)。
なお、濃度値Lは、例えば、読み取り画像P3の最初のラインについて処理を実行するときに初期化される。また、「groundBsum」についても、読み取り画像の最初のラインについて処理を実行するときに初期化され、副走査方向下流のラインの処理を実行する際には、常にその値がRAM12bやHDD25に保持されている。
次に、重複検知部132は、S906までの処理を主走査方向すべて、すなわち、1ラインに相当する読み取り画像P3の画像領域について行ったどうかを判定する(S907)。S907でYESの場合、重複検知部132は、読み取り画像P3の地肌領域の画像濃度値LNに濃度値Lを加算し、「groundBsum」で割る事により平均値を算出する(S908)。
なお、画像濃度値LNは、読み取り画像P3の最初のラインについて処理を実行するときに初期化される。次に、重複検知部132は、「L0」から「LN」までの総和である「L2sum」を算出する(S909)。「L2sum」は、処理中のラインおよび地肌領域であると判定された画像DIVnにおける画像の濃度の総和である。
そして、重複検知部132は、「L(N-1)=LN」、「L(N-2)=L(N-1)」、・・・、「L0=L1」、・・・として、次のラインに対する処理を実行するための情報の更新を行い(S910)、本処理を終了する。
このとき、読み取り画像P3には、図8に示すように、重複した原稿の影である影領域Sが表現されている。重複検知部132は、影領域Sと地肌領域E1(もしくは地肌領域E2)との境目を検知し、影領域の前後の画像、すなわち地肌領域E1と地肌領域E2とにおける濃度を比較するために、読み取り画像P3において影領域Sを検知する影検知処理を実行する。したがって、重複検知部132は、影領域検知部として機能する。次に、重複検知部132がS403で実行する影検知処理について、図10を参照して説明する。
重複検知部132は、読取画像生成部131から取得した読み取り画像P3の「status」が「status=0」であるか否かを判定する(S1001)。「status=0」でない場合(S1001/NO)、重複検知部132は、本処理を終了する。このとき、すでに、読み取り画像P3において影領域Sを検知しているためである。
「status=0」である場合(S1001/YES)、重複検知部132は、読み取り画像P3に対してS701と同様に濃度の平坦性判定、無彩色判定、明るさ判定を行う(S1002~S1004)。このとき、影領域Sを検知するために、重複検知部132は、S1002の明るさ判定では明度の閾値を小さくして黒に近い色を検知できるようにする。
S1002からS1004のいずれかの処理において、地肌領域であると判定されたラインについて、重複検知部132は、「Black_M」の値を「Black_M=0」と制御する(S1007)。なお、「Black_M」は、影領域Sであるか否かを示す値であって、「Black_M=0」の場合には、影領域Sではなく、「Black_M=1」の場合には影領域Sであることを示す。
次に重複検知部132は、S1004までの処理を主走査方向すべて、すなわち、1ラインに相当する読み取り画像P3の画像領域について行ったどうかを判定する(S1005)。S1005でYESの場合、重複検知部132は、「Black_M」の値を「Black_M=1」と制御する(S1006)。
次に重複検知部132は、Mライン分に相当する画像領域が影領域Sであるか否かを判定するために、Mライン分に相当する領域の最初のラインについての「Black_M」の値、すなわち「Black_0」から「Black_M」の総和がMとなるかどうかを判定する(S1008)。
画像そのため、紙厚や紙種別のMの値をデータテーブルとしてRAM12bやHDD25に記憶しておいてもよく、ユーザの任意のMの値をディスプレイパネル104から設定できるようにしてもよい。
S1008がYESの場合、すなわち、「Black_0」から「Black_M」の総和がMとなる場合、重複検知部132は、Mライン分に相当する画像領域の「Shadow_M」の値を「Shadow_M=1」と制御する(S1009)。なお、「Shadow_M」は、Mライン分に相当する画像領域が影領域Sであるか否か示す値であり、「Shadow_M=1」は影領域Sであることを示し、「Shadow_M=0」は影領域Sではないことを示す。
S1008がNOの場合、すなわち、「Black_0」から「Black_M」の総和がMとならない場合、重複検知部132は、Mライン分に相当する画像領域の「Shadow_M」の値を「Shadow_M=0」とする(S1010)。また、Mラインにおける「Black_M=0」の場合、Mライン目は、影領域Sではないため、重複検知部132は、「Shadow_M=0」とする。
次に重複検知部132は、「Shadow_M=0」かつ「Shadow_(M-1)=1」であるか否かを判定する(S1011)。「Shadow_(M-1)」はMライン分に相当する画像領域の全ラインが影領域Sであるか否かを示す。
S1011において、「Shadow_M=0」かつ「Shadow_(M-1)=1」となる場合(S1011/YES)、Mライン分に相当する画像領域は影領域Sから地肌領域E1(もしくは地肌領域E2)への切り替わり部分である。そのため、S1101でYESの場合、重複検知部132は、Mライン分に相当する画像領域の「status」を「status=1」とし(S1012)、本処理を終了する。
S1011において、「Shadow_M=0」かつ「Shadow_(M-1)=1」でない場合(S1011/NO)、重複検知部132は、「Shadow_(M-1)=Shadow_M」、「Black_(M-1)=Black_M」、「Black_(M-2)=Black_(M-1)」、・・・、「Black_0=Black_1」として情報を更新し(S1013)、本処理を終了する。
そして、重複検知部132は、検知した影領域Sに対して、影領域より副走査方向下流側の数ライン分の地肌領域E2の濃度を算出し、影領域より副走査方向上流側のラインの地肌領域E1の濃度と比較する第3濃度検知処理を実行する。重複検知部132は、影領域より副走査方向下流側の数ライン分の地肌領域E2の濃度と影領域より副走査方向上流側のラインの地肌領域E1の濃度とを比較することによって原稿が重複しているか否かを判定する。
次に、重複検知部132が、S405で実行する第3濃度検知処理について図11を参照して説明する。図11は、本実施形態に係る第3濃度検知処理の流れを示すフローチャートである。
重複検知部132は、重複検知部132は、読み取り画像P3に対してS701と同様に濃度の平坦性判定、無彩色判定、明るさ判定を行う(S1101)。重複検知部132は、濃度の平坦性判定、無彩色判定、明るさ判定の結果に基づいて、分割した画像ごとに地肌領域であるか否かを判定する(S1102)。
S1102でYESの場合、重複検知部132は、画像DIV1について「ground=1」とする(S1103)。一方で、S1102でNOの場合、重複検知部132は、画像DIVXについて「ground=0」とする(S1104)。
次に、重複検知部132は、濃度平均値加算処理を実行する。濃度平均値加算処理の一つとして、重複検知部132は、地肌判定を行った画像DIV1、・・・、DIVnについて、例えば、画像DIV1のように、「ground=1」の場合は画像の濃度の平均値Dを算出し、読み取り画像P3の濃度値Lに加算する。なお、「ground=0」の場合、重複検知部132は何もしないが、この処理も濃度平均値加算処理の一つである。
また、画像DIV1のように地肌領域であると判定されるごとに、重複検知部132は、濃度平均値加算処理の一つとして、地肌領域であると判定された画像DVInの数を示す「groundBsum」に「ground」の値を加算する(S1105)。
なお、濃度値Lは、例えば、読み取り画像の最初のラインについて処理を実行するときに初期化される。また、「groundBsum」についても、読み取り画像の最初のラインについて処理を実行するときに初期化され、副走査方向下流のラインの処理を実行する際には、常にその値がRAM12bやHDD25に保持されている。
次に、重複検知部132は、S1105までの処理を主走査方向すべて、すなわち、1ラインに相当する読み取り画像P3の画像領域について行ったどうかを判定する(S1106)。S1106でYESの場合、重複検知部132は、読み取り画像P3の地肌領域の濃度値Lを「groundCsum」で割り、読み取り画像P3の地肌領域の濃度の平均値を算出する(S1107)。
なお、濃度値LはMライン分に相当する画像領域において、地肌領域と判定された画像の濃度の総和であり、「groundCsum」はMライン分に相当する画像領域において地肌領域と判定されたラインの数をカウントしている。濃度値Lおよび「groundCsum」は読み取り画像P3の最初のラインに対して処理を行う際に初期化される。
次に、重複検知部132は、算出した読み取り画像P3の地肌領域の濃度の平均値を、「L3sum」に加算する。なお、「L3sum」は影領域Sから副走査方向にNライン分に相当する画像領域における地肌領域E2の画像の濃度値である(S1108)。
次に、重複検知部132は、影領域Sから副走査方向にNライン分に相当する画像領域において、S1101からS1108までの処理を実行したか否かを判定する(S1109)。S1109でNOの場合、重複検知部132は、残りのラインに対してS1101からの処理を実行する。S1109でYESの場合、重複検知部132は、「status」の値を「status=2」とし、本処理を終了する。
以上説明したように、本実施形態では、複数の読み取り画像の濃度を比較することによって、原稿の重送を検知する専用の機構を設けることなく重送を検知することが可能である。したがって、画像処理装置1の筐体を小型化し、さらには、画像処理装置1の製造コストを低減させることができる。
なお、原稿の重複による原稿のずれは、読み取り画像の端部の画像濃度の差となって現れることが多い。そのため、重複検知部132は、読み取り画像の端部から、例えば5センチメートルの範囲の領域において原稿の画像濃度を検知して、原稿の重複を検知してもよい。