<実施形態>
一実施形態を、図1から図9を用いて説明する。
1.画像読取装置の機械的構成
図1に示すように、画像読取装置1は、使用者により給紙トレイ2に載置された複数の原稿シートGを排紙トレイ4に搬送するとともに、搬送中の原稿シートGを本体部3に含まれる画像読取部30を用いて読み取るシートフィードスキャナである。
画像読取装置1の本体部3には、給紙トレイ2と排紙トレイ4を接続する搬送経路48が設けられており、この搬送経路48の周辺に、給紙ローラ40と、分離パッド42と、搬送ローラ44と、原稿押さえ部材46と、画像読取部30と、排紙ローラ50と、フロントセンサ(以下、Fセンサ)13を備える。
給紙ローラ40は、駆動モータM(図2参照)によって回転駆動される。給紙ローラ40は、給紙トレイ2に載置された原稿シートGに当接し、摩擦力により、給紙トレイ2に載置された原稿シートGを本体部3の内部へと引き込む。この際、原稿シートGは、分離パッド42の摩擦力により各原稿シートG毎に分離され、搬送経路48へと送り出される。
搬送ローラ44は、駆動モータMにより回転駆動され、給紙ローラ40により本体部3の内部へと引き込まれた複数の原稿シートGを搬送経路48に沿って連続して搬送する。
画像読取部30は、搬送経路48上の読取位置P1に配置され、搬送経路48に沿った搬送方向D2に搬送される原稿シートGの一方の面を読取位置P1で読み取る。また、読取位置P1の搬送経路48を挟んで画像読取部30に対向する位置には、搬送経路48上の原稿シートGを画像読取部30側に押しつける原稿押さえ部材46が配置されている。原稿押さえ部材46は、画像読取部30に対向する対向面46Aが、例えば、白色であり、その反射率は白色の原稿シートGの反射率よりも高い。画像読取部30は、また、原稿押さえ部材46の対向面46Aを読取位置P1で読み取る。原稿押さえ部材46は、対向部材の一例である。
図1に示すように、画像読取部30は、光源32、受光部34を含む。光源32は、搬送方向D2と直交する主走査方向D1に配列され複数の発光ダイオード(以下、LED)を含む。光源32には、青色の光を発光する青色LED32B、緑色の光を発光する緑色LED32G、赤色の光を発光する赤色LED32Rが、搬送方向D2の上流側から互いにずれた位置に配置されている。光源32は、各LED32B、32G、32Rから発光される光を、搬送経路48の上流側から下流側に斜めに出射する。
受光部34は、主走査方向D1に直線状に配列された複数の受光素子を含む。受光部34は、光源32から照射され、読取位置P1を通過する原稿シートGの一方の面で反射された光を各受光素子を用いて受光する。また、画像読取部30は、光源32から照射され、原稿押さえ部材46の対向面46Aで反射された光を各受光素子を用いて受光する。
排紙ローラ50は、搬送経路48において読取位置P1よりも下流側に配置される。排紙ローラ50は、給紙ローラ40及び搬送ローラ44と同様に駆動モータMにより回転駆動され、搬送経路48上に搬送された原稿シートGを排紙トレイ4に送り出す。つまり、給紙ローラ40と搬送ローラ44と排紙ローラ50と駆動モータMとによって、給紙トレイ2に載置された複数の原稿シートGを搬送経路48に沿って搬送する搬送部15(図2参照)が形成されている。
排紙トレイ4の搬送経路48側には、上側に突出した突出部52が設けられており、排紙トレイ4に送り出された原稿シートGは、その搬送経路48側が突出部52に従って上側に反り上がる。そのため、搬送経路48に沿って後から搬送された原稿シートGは、排紙トレイ4に送り出される際に、先に搬送された原稿シートGと突出部52の間、つまり先に搬送された原稿シートGの下側に潜り込むように送り出される。この結果、給紙トレイ2において一方の面が下を向いた状態で下側から順番に載置されていた複数の原稿シートGが、排紙トレイ4において一方の面が上を向いた状態で上側から順番に載置される、いわゆる潜り込み排紙機構が構成されている。
Fセンサ13は、給紙トレイ2上に配置され、給紙トレイ2に原稿シートGが載置された場合にオンし、給紙トレイ2に原稿シートGが載置されていない場合にオフする。また、画像読取装置1には、各種設定ボタンからなり、使用者からの各種命令を受け付ける操作部11や、LEDや液晶ディスプレイからなり画像読取装置1の状況を表示する表示部12が設けられている。操作部11と表示部12は、図1に示すように、別々の構成であってもよければ、タッチパネル等のように、1つの構成であってもよい。
2.画像読取装置の電気的構成
図2に示すように、画像読取装置1は、ASIC(Application Specific Integrated Circuit)29と、ROM26と、RAM27と、NVRAM28と、を備え、これらに画像読取部30、操作部11等が接続されている。図2に実線21で示すように、ASIC29と、ROM26と、RAM27と、NVRAM28とを含めたものが、制御部の一例である。そのうち、ROM26と、RAM27と、NVRAM28とを含めたものが、記憶部の一例である。
ASIC29は、CPU20を含む他、画像処理回路23等の専用のハード回路を含む。ROM26には、画像読取装置1の動作を制御するための各種のプログラムが記憶されており、CPU20は、ROM26から読み出したプログラムに従って各部の制御を行うとともに、必要に応じてハード回路を用いて後述する画像読取処理等の処理を実行する。不揮発メモリであるNVRAM28には、基準最大画素数、基準ピーク輝度等の基準値や、先端閾値、後端閾値等の閾値、及び基準搬送時間等が記憶されている。これらの値は、画像読取処理に用いられる値であり、その詳細は後述して説明する。
画像読取部30は、CPU20からの命令に基づいて、各色の光源32を各々点灯し、原稿押さえ部材46の対向面46A、及び、原稿シートGを読み取る。画像読取部30は、1回の読み取りで主走査方向D1に1ライン読み取り、主走査方向D1に配列された各受光素子により取得された画素データの集まりである読取画像データを取得する。画像読取部30が取得した読取画像データは、デジタル信号の読取画像データに変換されてRAM27に記憶される。
画像処理回路23は、RAM27に記憶された読取画像データに対して、2値化処理やエンハンス処理等のエッジ検出処理を行い、エッジ画素の数を抽出する。また、画像処理回路23は、RAM27に記憶された読取画像データに含まれる各画素データの輝度分布であるヒストグラムを生成する濃度取得処理を行い、ヒストグラムの最大画素数、及び、当該最大画素数におけるピーク輝度を抽出する。読取画像データの最大画素数及びピーク輝度は、画像濃度の一例である。
3.画像読取処理
次に、図3から図9を参照して、原稿シートGの読取処理について説明する。本実施形態では、給紙トレイ2に複数の原稿シートGが載置され、当該複数の原稿シートGを連続して搬送して読み取る場合の例について説明する。CPU20は、操作部11を介して使用者から原稿シートGの画像読取指示が入力されると、以下の処理を開始する。
図3に示すように、CPU20は、画像読取処理を開始すると、まず、後述するトリミング処理(S72)を実行するか否かを決定するトリミングモードを、トリミング処理を実行しないことを示すオフモードに設定する(S2)。次に、CPU20は、画像読取部30に対して各色の光源32の点灯を指示するとともに、1ラインの読み取りを指示する(S4)。これにより、画像読取部30は、各色の光源32の点灯期間において、原稿押さえ部材46の対向面46Aを1回づつ読み取り、各色に対応する読取画像データがRAM27に記憶される。以下の説明において、光源32の色種を指定しない場合の1ラインの読み取りは、各色の光源32を点灯させた読み取りを意味するものとする。
CPU20は、S4においてRAM27に記憶された各色の読取画像データに対して、画像処理回路23を用いてエッジ検出処理を行い、各読取画像データのエッジ画素数を算出する(S6)。また、CPU20は、S4においてRAM27に記憶された各色の読取画像データに対して、画像処理回路23を用いて濃度取得処理を行い、各読取画像データの最大画素数、ピーク輝度を算出する(S8)。
CPU20は、S6、S8において算出されたエッジ画素数、最大画素数、及び、ピーク輝度を、参照エッジ画素数、参照最大画素数、及び、参照ピーク輝度としてRAM27に記憶する(S10)。また、CPU20は、S8において算出された最大画素数をNVRAM28に記憶された基準最大画素数と比較し、S8において算出されたピーク輝度をNVRAM28に記憶された基準ピーク輝度と比較する(S12)。
ここで、基準最大画素数、基準ピーク輝度とは、画像読取装置1の出荷時や、使用開始時等において原稿押さえ部材46の対向面46Aを読み取って取得された読取画像データにおける最大画素数、ピーク輝度である。つまり、基準最大画素数、基準ピーク輝度は、画像読取装置1の使用初期段階であって、原稿押さえ部材46の対向面46Aにゴミ等の付着が比較的少ない状態で取得された最大画素数、ピーク輝度である。
CPU20は、S8において算出された全色の最大画素数と基準最大画素数とが指定範囲で一致し、且つ、S8において算出された全色のピーク輝度と基準ピーク輝度とが指定範囲で一致する場合(S12:YES)、S8において算出された最大画素数、ピーク輝度が基準最大画素数、基準ピーク輝度と異ならないと判断する。この場合、原稿押さえ部材46の対向面46Aへのゴミ等の付着が比較的少ない状態が維持されていると判断されることから、CPU20は、トリミングモードをオフモードに維持する。
一方、CPU20は、S8において算出された少なくとも一色(例えば、緑色)の最大画素数と基準最大画素数とが指定範囲で一致しない場合、或は、S8において算出された少なくとも一色(例えば、緑色)のピーク輝度と基準ピーク輝度とが指定範囲で一致しない場合(S12:NO)、S8において算出された最大画素数、ピーク輝度は基準最大画素数、基準ピーク輝度と異なると判断する。この場合、原稿押さえ部材46の対向面46Aへのゴミ等の付着が増加したと判断されることから、CPU20は、トリミングモードを、トリミング処理を実行することを示すオンモードに切り替える(S14)。
次に、CPU20は、Fセンサ13を用いて給紙トレイ2に原稿シートGが載置されているか否かを検出する(S16)。CPU20は、給紙トレイ2に原稿シートGが載置されていることが検出されると(S16:YES)、搬送部15に対して原稿シートGの搬送を指示し、原稿シートGの搬送を開始させる(S18)とともに、原稿シートGの搬送開始からの経過時間Tを計時する。
続いて、CPU20は、画像読取部30に対して緑色の光源32の点灯を指示するとともに、1ラインの読み取りを指示する(S20)。つまり、CPU20は、原稿シートGの搬送方向D2における先端(以下、先端)が読取位置P1に到達する前から、画像読取部30に読み取りを開始させる。
CPU20は、直前のS20においてRAM27に記憶された読取画像データに対してエッジ検出処理を行い、エッジ画素数を算出する(S22)。以下、RAM27に記憶された読取画像データを説明する場合、その読取画像データは、指定された処理において最も新しくRAM27に記憶された読取画像データを意味するものとする。
次に、CPU20は、図4に示すように、トリミングモードの設定を検出し(S24)、トリミングモードがオンモードである場合(S24:YES)、直前のS22において算出されたエッジ画素数をRAM27に記憶する(S26)。以下、エッジ画素数、最大画素数、及び、ピーク輝度などの算出値を説明する場合、その算出値は、指定された処理において最も新しく算出された算出値を意味するものとする。一方、トリミングモードがオフモードである場合(S24:NO)、算出されたエッジ画素数をRAM27に記憶することなく、S28の処理に進む。
CPU20は、S22において算出されたエッジ画素数をRAM27に記憶された参照エッジ画素数と比較し、当該エッジ画素数と参照エッジ画素数との差が規定値以上であるかを検出する(S28)。CPU20は、当該差が規定値よりも小さい場合(S28:NO)、S20においてRAM27に記憶された読取画像データに対して、更に濃度取得処理を行い、最大画素数、ピーク輝度を算出する(S30)。そして、CPU20は、S30において算出された最大画素数をRAM27に記憶された参照最大画素数と比較し、S30において算出されたピーク輝度をRAM27に記憶された参照ピーク輝度と比較する(S32)。
CPU20は、S30において算出された最大画素数と参照最大画素数とが所定範囲で一致し、且つ、S30において算出されたピーク輝度と参照ピーク輝度とが所定範囲で一致する場合(S32:YES)、つまり、S30において算出された最大画素数、ピーク輝度のいずれもが対応する参照最大画素数、参照ピーク輝度に対して変化が無い場合、S20においてRAM27に記憶された読取画像データは、原稿押さえ部材46の対向面46Aを読み取った読取画像データであると判断する。つまり、CPU20は、原稿シートGの先端が読取位置P1に到達していないと判断する。
この場合、CPU20は、原稿シートGの搬送開始からの経過時間Tを検出する(S34)。NVRAM28には、原稿シートGの搬送速度に基づいて、原稿シートGが給紙トレイ2から読取位置P1に搬送されるまでの時間より大きい第1基準搬送時間が記憶されており、CPU20は、経過時間Tを第1基準搬送時間と比較する。CPU20は、経過時間Tが第1基準搬送時間よりも短い場合(S34:NO)、S20からの処理を繰り返す。
一方、経過時間Tが第1基準搬送時間以上である場合(S34:YES)、原稿シートGが搬送経路48を通過できずにジャムが発生している可能性が高い。この場合、CPU20は、搬送部15に対して原稿シートGの搬送停止を指示し(S36)、更に、表示部12にジャムエラーの発生の表示を指示して(S38)、画像読取処理を終了する。
一方、CPU20は、S22において算出されたエッジ画素数と参照エッジ画素数との差が規定値以上に変化した場合(S28:YES)、S20でRAM27に記憶された読取画像データが、原稿シートGを読み取った読取画像データに切り換わったと判断する。また、S30において算出された最大画素数が参照最大画素数に対して所定範囲を超えて変化し、或は、S30において算出されたピーク輝度が参照ピーク輝度に対して所定範囲を超えて変化した場合(S32:NO)、つまり、S30において算出された最大画素数、ピーク輝度の少なくとも一方が対応する参照最大画素数、参照ピーク輝度に対して変化した場合も、同様に、S20でRAM27に記憶された読取画像データが、原稿シートGを読み取った読取画像データに切り換わったと判断する。
これらの場合、CPU20は、当該読取画像データが読み取られた経過時間Tにおいて、原稿シートGの先端が読取位置P1に到達したと判断する。CPU20は、当該読取画像データが読み取られた経過時間Tを、先端濃度変化位置としてRAM27に記憶し、画像読取部30に対して原稿シートGの読取開始を指示する(S40)。先端濃度変化位置は、読取画像データの読取画像上の位置の一例である。
CPU20は、原稿シートGの読み取りを開始させると、画像読取部30に対して1ラインの読み取りを指示し(S42)、S42においてRAM27に記憶された読取画像データのエッジ画素数を算出する(S44)。CPU20は、トリミングモードの設定を検出し(S46)、トリミングモードがオンモードである場合(S46:YES)、S44において算出されたエッジ画素数をRAM27に記憶する(S48)。一方、トリミングモードがオフモードである場合(S46:NO)、算出されたエッジ画素数をRAM27に記憶することなく、S50の処理に進む。
次に、CPU20は、図5に示すように、S44において算出されたエッジ画素数をRAM27に記憶された参照エッジ画素数と比較する(S50)。CPU20は、S44において算出されたエッジ画素数と参照エッジ画素数との差が規定値以上であるかを判断し、当該差が規定値よりも小さい場合(S50:NO)、S42からの処理を繰り返す。
一方、CPU20は、S44において算出されたエッジ画素数と参照エッジ画素数との差が規定値以上に変化した場合(S50:YES)、S42においてRAM27に記憶された読取画像データに対して、更に濃度取得処理を行い、最大画素数、ピーク輝度を算出する(S52)。そして、CPU20は、S52において算出された最大画素数をRAM27に記憶された参照最大画素数と比較し、S52において算出されたピーク輝度をRAM27に記憶された参照ピーク輝度と比較する(S54)。
CPU20は、S52において算出された最大画素数が参照最大画素数に対して所定範囲で一致し、且つ、S52において算出されたピーク輝度が参照ピーク輝度に対して所定範囲で一致するように変化した場合(S54:YES)、つまり、S52において算出された最大画素数、ピーク輝度の少なくとも一方が対応する参照最大画素数、参照ピーク輝度に対して変化した場合、S42でRAM27に記憶された読取画像データが、原稿シートGを読み取った読取画像データに切り換わったと判断する。
この場合、CPU20は、当該読取画像データが読み取られた経過時間Tにおいて、原稿シートGの搬送方向D2における後端(以下、後端)が読取位置P1に到達したと判断する。CPU20は、当該読取画像データが読み取られた経過時間Tを、後端濃度変化位置としてRAM27に記憶し、画像読取部30に対して原稿シートGの読取停止を指示する(S56)。後端濃度変化位置は、読取画像データの読取画像上の位置の別例である。
CPU20は、原稿シートGの読み取りを停止させると、再び、Fセンサ13を用いて給紙トレイ2に原稿シートGが載置されているか否かを判断する(S16)。CPU20は、給紙トレイ2に原稿シートGが載置されていると判断すると(S16:YES)、S18からの処理を繰り返す。
一方、CPU20は、給紙トレイ2に原稿シートGが載置されていないと判断すると(S16:NO)、最後に読み取られた原稿シートGを排紙トレイ4に搬送させた後に、搬送部15に対して原稿シートGの搬送停止を指示し、原稿シートGの搬送を終了させる(S58)。CPU20は、これまでに読み取られた読取画像データのうち、先端濃度変化位置から後端濃度変化位置までに読み取られた読取画像データの読取画像を抽出する。CPU20は、抽出された読取画像に対応する読取画像データを出力用の読取画像データとしてRAM27に格納し(S60)、画像読取処理を終了する。
一方、CPU20は、S52において算出された最大画素数が参照最大画素数に対して所定範囲を超えて変化した状態が維持されており、或は、S52において算出されたピーク輝度が参照ピーク輝度に対して所定範囲を超えて変化した状態が維持されている場合(S54:NO)、つまり、S52において算出された最大画素数、ピーク輝度のいずれもが対応する参照最大画素数、参照ピーク輝度に対して変化が無い場合、S42でRAM27に記憶された読取画像データは、原稿シートGを読み取った読取画像データであると判断する。つまり、CPU20は、原稿シートGの後端が読取位置P1に到達していないと判断する。
この場合、CPU20は、原稿シートGの搬送開始からの経過時間Tを検出する(S62)。NVRAM28には、原稿シートGの搬送速度に基づいて、原稿シートGが給紙トレイ2から排紙トレイ4に搬送されるまでの第2基準搬送時間が記憶されており、CPU20は、経過時間Tを第2基準搬送時間と比較する。CPU20は、経過時間Tが第2基準搬送時間よりも短い場合(S62:NO)、S20からの処理を繰り返す。
一方、原稿シートGの搬送開始からの経過時間Tが第2基準搬送時間以上である場合(S62:YES)、原稿シートGが搬送経路48を通過できずにジャムが発生している可能性が高い。この場合、CPU20は、画像読取部30に対して原稿シートGの読取停止を指示する(S64)とともに、搬送部15に対して原稿シートGの搬送停止を指示する(S66)。
そして、CPU20は、トリミングモードの設定を検出する(S68)。CPU20は、トリミングモードがオフモードである場合(S68:NO)、表示部12にジャムエラーの発生の表示を指示し(S70)、画像読取処理を終了する。一方、CPU20は、トリミングモードがオンモードである場合(S68:YES)、トリミング処理を実行する(S72)。
(トリミング処理)
トリミング処理において、CPU20は、原稿シートGの読取停止までにRAM27に記憶された読取画像データから、RAM27に格納する読取画像上の領域、すなわち、RAM27に格納する読取画像データの範囲を抽出する。
CPU20は、トリミング処理において、S26、S48においてRAM27に記憶された複数のエッジ画素数を、NVRAM28に記憶された閾値と比較する。RAM27には、各エッジ画素数が、当該エッジ画素数を算出するのに用いた読取画像データが読み取られた経過時間Tに関連付けて記憶されており、経過時間Tに対するエッジ画素数の変化が図8のように表される。
CPU20は、トリミング処理において、RAM27に記憶されたエッジ画素数の1つを選出し、選出されたエッジ画素数を閾値と比較するとともに、選出されるエッジ画素数を経過時間Tに沿った副走査方向に切り替え、選出されたエッジ画素数と閾値との比較を繰り返す。以下、選出されたエッジ画素数の副走査方向における位置、つまり、選出されたエッジ画素数に対応する経過時間Tを、エッジ走査位置と称す。
図6に示すように、トリミング処理において、CPU20は、まず、当該トリミング処理において読取画像データの範囲が抽出されたか否かを示す画像出力モードを、読取画像データの範囲が抽出されていないことを示すオフモードに設定する(S80)。
次に、CPU20は、エッジ走査位置を初期化し、RAM27に記憶された複数のエッジ画素数のうち、対応する経過時間Tが最小であるエッジ画素数を選出する(S82:図8の初期化位置L0参照)。CPU20は、選出されたエッジ画素数とNVRAM28に記憶された先端閾値SSとを比較する(S84)。先端閾値SSは、原稿シートGの先端を検出するための閾値である。
CPU20は、選出されたエッジ画素数が先端閾値SS以下である場合(S84:NO)、更に、エッジ走査位置が最終位置LLであるか、つまり、選択されたエッジ画素数が、RAM27に記憶された複数のエッジ画素数のうち、対応する経過時間Tが最大となるエッジ画素数であるかを判断する(S86)。
CPU20は、エッジ走査位置が最終位置LLでない場合(S86:NO)、エッジ走査位置を副走査方向に移動させ(S88)、S84からの処理を繰り返す。一方、エッジ走査位置が最終位置LLである場合(S86:YES)、CPU20は、エッジ画素数が先端閾値SSを超える先端エッジ位置を検出することができなかったと判断する。この場合、エッジ画素数を用いても読取画像データから原稿シートGを読み取った範囲を何ら特定することができないことから、CPU20は、画像出力モードをオフモードに維持したまま、トリミング処理を終了する。
一方、CPU20は、図8に示すように、選出されたエッジ画素数が先端閾値SSを超えた場合(S84:YES)、当該エッジ画素数に対応するエッジ走査位置を、先端エッジ位置としてRAM27に記憶する(S90)。S90で記憶される先端エッジ位置は、トリミング処理を開始してから最初に検出された先端エッジ位置であることから、連続して搬送される原稿シートGのうち、1枚目に搬送される原稿シートG1の先端の位置に相当する。そのため、以下、S90で記憶される先端エッジ位置を、1枚目の先端エッジ位置L1と称す。
CPU20は、更にエッジ走査位置を副走査方向に移動させ(S92)、先端閾値SSを用いた先端エッジ位置の検出を継続する(S94)。CPU20は、選出されたエッジ画素数が先端閾値SS以下である場合(S94:NO)、更に、エッジ走査位置が最終位置LLであるかを判断する(S96)。
CPU20は、エッジ走査位置が最終位置LLでない場合(S96:NO)、S92からの処理を繰り返す。一方、エッジ走査位置が最終位置LLである場合(S96:YES)、CPU20は、2枚目に搬送される原稿シートGの先端の位置を検出することができなかったと判断する。
この場合、図8の中段に示すように、1枚目に搬送される原稿シートG1が規格外であり、当該原稿シートG1が搬送方向D2において伸びており、1枚目に搬送される原稿シートG1の読み取りが終わっていないことが考えられる。つまり、RAM27には、1枚目に搬送される原稿シートG1の全域の読取画像データも記憶されていないことから、読取画像データの範囲を抽出せず、画像出力モードをオフモードに維持したまま、トリミング処理を終了する。
一方、CPU20は、図8の上段又は下段に示すように、選出されたエッジ画素数が先端閾値SSを超えた場合(S94:YES)、当該エッジ画素数に対応するエッジ走査位置を先端エッジ位置としてRAM27に記憶する(S98)。S98で記憶される先端エッジ位置は、2枚目に搬送される原稿シートG2の先端の位置に相当し、以下、2枚目の先端エッジ位置L2と称す。2枚目の先端エッジ位置L2は、境界位置の一例である。
この場合、RAM27には、1枚目に搬送される原稿シートG1の全域の読取画像データが記憶されていることから、CPU20は、図7に示すように、画像出力モードを、読取画像データの範囲が抽出されることを示すオンモードに切り替える(S100)。
CPU20は、エッジ走査位置を1枚目の先端エッジ位置L1に移動し(S102)、エッジ走査位置を副走査方向に移動させる(S104)。そして、CPU20は、選出されたエッジ画素数とNVRAM28に記憶された後端閾値KSとを比較する(S106)。後端閾値KSは、原稿シートGの後端を検出するための閾値である。後端閾値KSは、画像読取部30の光源32が斜め下流向きに光を出射する構造に対応させて、先端閾値SSよりも小さい値に設定されている。
CPU20は、選出されたエッジ画素数が後端閾値KS以下である場合(S106:NO)、更に、エッジ走査位置を副走査方向に移動させ(S108)、移動させた後のエッジ走査位置が2枚目の先端エッジ位置L2であるかを判断する(S110)。
CPU20は、エッジ走査位置が2枚目の先端エッジ位置L2でない場合(S110:NO)、S106からの処理を繰り返す。一方、エッジ走査位置が2枚目の先端エッジ位置L2である場合(S110:YES)、CPU20は、1枚目に搬送される原稿シートGの後端の位置を検出することができなかったと判断する。
この場合、図8の下断に示すように、RAM27には、1枚目に搬送される原稿シートG1の全域の読取画像データが記憶されており、1枚目の先端エッジ位置L1が検出されているものの、1枚目に搬送される原稿シートGの後端の位置を検出することができていない。そのため、CPU20は、1枚目の先端エッジ位置L1から最終位置LLまでに読み取られた読取画像データの読取画像を抽出し(S112)、トリミング処理を終了する。
一方、CPU20は、図8の上段に示すように、選出されたエッジ画素数が後端閾値KSを超えた場合(S106:YES)、当該エッジ画素数に対応するエッジ走査位置を、後端エッジ位置としてRAM27に記憶する(S114)。S114で記憶される後端エッジ位置は、トリミング処理を開始してから最初に検出された後端エッジ位置であり、かつ、1枚目の先端エッジ位置L1と2枚目の先端エッジ位置L2との間において検出されていることから、連続して搬送される原稿シートGのうち、2枚目に搬送される原稿シートG2の後端の位置に相当する。そのため、以下、S114で記憶される後端エッジ位置を、1枚目の後端エッジ位置L3と称す。
この場合、CPU20は、1枚目の先端エッジ位置L1から1枚目の後端エッジ位置L3までに読み取られた読取画像データの読取画像を抽出し(S116)、トリミング処理を終了する。
CPU20は、トリミング処理を終了すると、図5に示すように、トリミング処理において画像出力モードがオンモードに設定されたか否かを検出する(S74)。CPU20は、トリミング処理において画像出力モードがオフモードに設定された場合(S74:NO)、表示部12にジャムエラーの発生の表示を指示し(S70)、画像読取処理を終了する。
一方、CPU20は、トリミング処理において画像出力モードがオンモードに設定された場合(S74:YES)、トリミング処理において抽出された読取画像に対応する読取画像データをRAM27に格納し(S76)、画像読取処理を終了する。
4.本実施形態の効果
(1)本実施形態の画像読取装置1では、RAM27に格納される読取画像データに対応した読取画像を抽出する際に、まず、最大画素数、ピーク輝度等を用いて先端濃度変化位置及び後端濃度変化位置を検出し、読取画像を抽出する。そして、先端濃度変化位置及び後端濃度変化位置が検出されない場合には、トリミング処理を実行し、RAM27に記憶されたエッジ画素数を用いて先端エッジ位置L1又は後端エッジ位置L3を検出し、読取画像を抽出する。そのため、従来では、先端濃度変化位置及び後端濃度変化位置が検出されず、読取画像の抽出ができなかった場合でも、先端エッジ位置L1又は後端エッジ位置L3が検出された場合には、これらのエッジ位置Lを用いて読取画像を抽出することができ、RAM27に原稿シートGに対応する読取画像データを格納することができる。
(2)本実施形態の画像読取装置1では、トリミング処理を実行する条件として、原稿押さえ部材46の対向面46Aにゴミ等が付着しているか否かを判断する。そして、原稿押さえ部材46の対向面46Aにゴミ等が比較的多く付着していると判断される場合に、RAM27にエッジ画素数を記憶しておき、更に、先端濃度変化位置及び後端濃度変化位置が検出されない場合にトリミング処理を実行する。
図9に示すように、画像読取装置1の使用初期段階では、原稿押さえ部材46の対向面46Aに付着しているゴミ等が比較的少ないことから、原稿押さえ部材46の対向面46Aを読み取って生成されたヒストグラムが、図9の上図に示すように、原稿押さえ部材46の対向面46Aの反射率に対応するピーク輝度、つまり、基準ピーク輝度に集中するヒストグラムとなり、参照最高画素数と基準最高画素数とがほぼ一致する。そのため、参照最高画素数等に基づいて所定範囲を設定した場合、原稿シートGを読み取った読取画像データ(図9破線参照)から算出される最高画素数と参照最高画素数とが所定範囲内で一致することがない。従って、参照最高画素数等に基づいて先端濃度変化位置及び後端濃度変化位置を検出し、読取画像を抽出することができる。
しかし、矢印64で示すように、画像読取装置1の使用期間が長くなると、原稿押さえ部材46の対向面46Aに付着しているゴミ等が増加し、ゴミ等の影響によって、参照最高画素数が減少し、参照最高画素数と基準最高画素数(図9二点鎖線参照)とが指定範囲内で一致しなくなる。その結果、図9の下図に印60で示すように、原稿シートGに記載されたパターンによっては、原稿シートGを読み取った読取画像データから算出される最高画素数と参照最高画素数とが所定範囲内で一致する異常事象が生じることがある。この場合、参照最高画素数等に基づいて先端濃度変化位置及び後端濃度変化位置を検出し、読取画像を抽出することができない。
この画像読取装置1では、上記のように、参照最高画素数と基準最高画素数とが指定範囲内で一致する場合、つまり、原稿押さえ部材46の対向面46Aに付着しているゴミ等が増加したと判断される場合に、RAM27にエッジ画素数を記憶しておき、トリミング処理が実行可能な状況とする。これによって、原稿押さえ部材46の対向面46Aに付着しているゴミ等の影響で、先端濃度変化位置及び後端濃度変化位置が検出されない場合であっても、RAM27に記憶されたエッジ画素数を用いて先端エッジ位置L1又は後端エッジ位置L3を検出し、読取画像を抽出することができる。
(3)本実施形態の画像読取装置1では、トリミング処理において、先端閾値SSを用いて1枚目の先端エッジ位置L1を検出し、続いて2枚目の先端エッジ位置L2を検出する。2枚目の先端エッジ位置L2が検出されることで、RAM27に1枚目の原稿シートG1の全域の読取画像データが記憶されていることが判断される。そのため、1枚目の先端エッジ位置L1に基づいて、少なくとも1枚目の原稿シートG1の全域の読取画像を含んだ読取画像データをRAM27に格納することができる。
(4)また、2枚目の先端エッジ位置L2が検出されることで、1枚目の先端エッジ位置L1と2枚目の先端エッジ位置L2の間に、1枚目の後端エッジ位置L3が存在することが判断される。そのため、1枚目の先端エッジ位置L1を検出してから1枚目の後端エッジ位置L3を検出する際に、1枚目の先端エッジ位置L1と2枚目の先端エッジ位置L2の間で1枚目の後端エッジ位置L3を検出すればよく、2枚目の先端エッジ位置L2を検出していない場合のように、1枚目の先端エッジ位置L1と最終位置LLの間で1枚目の後端エッジ位置L3を検出する必要がない。従って、1枚目の後端エッジ位置L3を検出するのに必要な時間を短縮することができる。
(5)そして、1枚目の後端エッジ位置L3が検出されれば、1枚目の先端エッジ位置L1から1枚目の後端エッジ位置L3の間に読み取られた読取画像データの読取画像、つまり、1枚目の原稿シートG1を読み取った読取画像データを抽出することができ、対応する読取画像データをRAM27に格納することができる。
(6)一方、2枚目の先端エッジ位置L2が検出されない場合には、RAM27に1枚目の原稿シートG1の全域の読取画像データさえも記憶されていない場合がある。本実施形態の画像読取装置1では、2枚目の先端エッジ位置L2が検出されない場合には、表示部12にジャムエラーの発生を表示するので、当該表示により、使用者は原稿シートGの詰り、或は、原稿シートGが画像読取装置では読み取ることのできない規格外の原稿シートGであることを認識することができる。
(7)本実施形態の画像読取装置1では、トリミング処理において、先端エッジ位置L1、L2を検出するための先端閾値SSと、後端エッジ位置L3を検出するための後端閾値KSとが異なる値に設定されている。
本実施形態のように、複数の原稿シートGを連続して搬送して読み取る場合、例えば、1枚目に搬送される原稿シートG1の後端の近傍に2枚目に搬送される原稿シートG2の先端が存在する。そのため、先端閾値SSと後端閾値KSとが共通の閾値Sに設定されていると、閾値Sを用いてエッジ位置Lを検出した場合でも、そのエッジ位置Lが、1枚目の後端エッジ位置L3であるのか、2枚目の先端エッジ位置L2であるのかの識別が困難な場合がある。特に、1枚目の後端エッジ位置L3と2枚目の先端エッジ位置L2のいずれかが検出できなかった場合には、識別ができない場合もある。
この画像読取装置1では、先端閾値SSと後端閾値KSとが異なる値に設定されていることから、用いられる閾値Sによって、先端エッジ位置L1、L2と後端エッジ位置L3とを区別して検出することができる。
(8)特に、本実施形態の画像読取装置1では、画像読取部30の光源32が斜め下流向きに光を出射する構造に対応させて、後端閾値KSが先端閾値SSよりも小さい値に設定されている。光源32が斜め下流向きに光を出射する場合、原稿シートGの後端では、原稿シートGの先端に比べて原稿シートGの厚みによる影が発生しにくく、検出されるエッジ画素数が少ない。この画像読取装置1では、装置の持つ上記の特性に併せて、後端閾値KSが先端閾値SSよりも小さい値に設定されているので、先端エッジ位置L1、L2と後端エッジ位置L3とを区別して検出することができる。特に、エッジ画素数が少なく、先端エッジ位置L1、L2よりも検出が難しい後端エッジ位置L3を精度良く検出することができる。
<他の実施形態>
本発明は上記記述及び図面によって説明した実施形態に限定されるものではなく、例えば次のような種々の態様も本発明の技術的範囲に含まれる。
(1)上記実施形態では、スキャナ機能を備えた画像読取装置1を用いて説明を行ったが、本発明はこれに限られず、プリンタ機能、コピー機能、ファクシミリ機能などを備えた画像読取装置であっても良い。
(2)上記実施形態では、画像読取装置1がCPU20を有する及びASIC29を有し、このCPU20が必要に応じてASIC29内のハード回路を用いて画像読取処理等の各種処理を実行する制御部が構成される例を用いて説明を行ったが、本発明はこれに限られない。例えば、CPUがASICとは別体として存在し、このCPUにより制御部が実行する処理が実行されてもよければ、ASIC内にCPUが存在せず、ASICに設けられたハード回路により制御部が実行する処理が実行されてもよい。さらには、単数又は複数のCPU及びASICによって、制御部が実行する処理を実行していても良い。
(3)また、CPU20が実行するプログラムは必ずしもROM26に記憶されている必要はなく、ASIC29内に記憶されていてもよければ、他の記憶装置に記憶されていても良い。
(4)上記実施形態では、1枚目の先端エッジ位置L1と2枚目の先端エッジ位置L2が検出されたにも関わらず、1枚目の後端エッジ位置L3が検出されない場合には、1枚目の先端エッジ位置L1から最終位置LLまでに読み取られた読取画像データの読取画像を抽出する例を用いて説明を行ったが、本発明はこれに限られない。例えば、上記の場合には、1枚目の先端エッジ位置L1から2枚目の先端エッジ位置L2までに読み取られた読取画像データの読取画像を抽出しても良い。
(5)また、上記実施形態では、1枚目の先端エッジ位置L1が検出されたにも関わらず、2枚目の先端エッジ位置L2が検出されない場合には、読取画像を抽出しない例を用いて説明を行ったが、本発明はこれに限られない。例えば、上記の場合には、1枚目の先端エッジ位置L1から最終位置LLまでに読み取られた読取画像データの読取画像を抽出しても良い。
(6)上記実施形態では、画像読取部30の光源32が斜め下流向きに光を出射する例を用いて説明を行ったが、本発明はこれに限られない。例えば、画像読取部30の光源32が斜め上流向きに光を出射してもよい。この場合、原稿シートGの先端では、原稿シートGの後端に比べて検出されるエッジ画素数が少ないことから、先端閾値SSが後端閾値KSよりも小さい値に設定されることが好ましい。
(7)上記実施形態では、画像読取装置1がトリミング処理を実行するか否かを決定するトリミングモードを有しており、トリミング処理を実行することを示すオンモードに設定されている場合に、RAM27にエッジ画素数を記憶し、トリミング処理を実行する例を用いて説明を行ったが、本発明はこれに限られない。例えば、トリミングモードを設定することなく、常に、RAM27にエッジ画素数を記憶し、トリミング処理を実行するようにしても良い。
(8)上記実施形態では、出力用の読取画像データがRAM27に格納される例を用いて説明を行ったが、本発明はこれに限られない。例えば、画像読取装置1が更にUSBや外部PCなどの外部装置に接続されている場合には、これらの有する記憶部に出力用の読取画像データが格納されても良い。