以下に本発明の実施例について、図面と共に説明する。
(1)画像読取装置1の全体構成
図1は、本発明が適用された画像読取装置1の電気的構成を表すブロック図である。本実施例の画像読取装置1は、各種演算処理を実行するCPU11、各種プログラムやデータ等を記憶するROM12、及び、CPU11による演算時に作業領域として使用されるRAM13を備え、CPU11にて各種プログラムを実行して、装置全体を統括制御し、スキャナ機能等を実現する。
この画像読取装置1は、更に、カラー読取可能なCISラインセンサ20と、CISラインセンサ20を制御する読取制御部21と、モータMT1,MT2を制御する駆動制御部17と、エンコーダEN1,EN2からの入力信号に基づく処理を実行するエンコーダ処理部15と、外部インタフェース23と、を備え、外部インタフェース23を介して、外部機器(パーソナルコンピュータ(PC)等)と通信可能な構成にされている。外部インタフェース23としては、LANインタフェースやUSBインタフェース等を挙げることができる。
CISラインセンサ20は、図6に示すように、ライン状に配列された受光素子群201及びシフトレジスタ203及び複数のLED20R,20G,20Bを備え、ラインスタート信号が入力される度、受光素子で蓄積された信号電荷を、画素データとして、シフトレジスタ203に入力し、次のラインスタート信号が入力されるまでの期間に、シフトレジスタ203の出力端から、転送クロック信号に従って、順次、画素データを出力する。
また、LED20Rは、赤色の光を発光可能なLEDであり、LED20Gは、緑色の光を発光可能なLEDであり、LED20Bは、青色の光を発光可能なLEDである。
本実施例の画像読取装置1は、カラー画像を、赤(R)、緑(G)、青(B)の三原色の各輝度にて表現する構成にされており、CISラインセンサ20は、読取制御部21から入力されるLED制御信号に従い、LED20R,20G,20Bの内、いずれか一色のLEDのみを選択的に点灯させ、LEDから発射される光が原稿に反射して戻ってくる光を受光素子群201で受けて、各受光素子で、点灯色の読取結果を表す信号電荷を蓄積する。
そして、CISラインセンサ20は、点灯色が赤色の時に蓄積された信号電荷を、赤ライン構成データとして、シフトレジスタ203に入力し、点灯色が緑色の時に蓄積された信号電荷を、緑ライン構成データとして、シフトレジスタ203に入力し、点灯色が青色の時に蓄積された信号電荷を、青ライン構成データとして、シフトレジスタ203に入力する。
一方、読取制御部21は、CISラインセンサ20にラインスタート信号及び転送クロック信号及びLED制御信号を入力して、CISラインセンサ20を制御するものであり、CISラインセンサ20に、ライン毎、及び、三原色の各色毎に、原稿を読み取らせる。そして、読取制御部21は、CISラインセンサ20から読取結果として出力される各ライン及び各色のライン構成データを、メモリコントローラ63を通じて、RAM13に書き込む。
尚、CISラインセンサ20は、自動搬送読取機能の作動時、所定の読取地点に固定され、読取制御部21の制御を受けて、ADF装置150(図2参照)の動作により読取地点を通過する原稿を読み取る。また、CISラインセンサ20は、静止原稿読取機能の作動時、駆動制御部17が制御する読取モータMT1の回転力を、キャリッジ106を介して受けて、原稿が載置されるプラテン102A下で、プラテン102Aに沿って画像読取方向(副走査方向)に移動し、その移動と共に、原稿をライン毎に読み取る。
詳述すると、画像読取装置1の筐体には、図2に示すように、静止原稿読取機能用の画像読取窓(以下、静止読取窓という。)102、及び、自動搬送読取機能用の画像読取窓(以下、自動読取窓という。)103が設けられている。これら両読取窓102,103は、ガラスやアクリル等の透明なプラテン102A、103Aにて閉塞されている。図2は、画像読取装置1の機械的構成を示す断面図である。
この画像読取装置1においては、更に、装置本体101の上面側に、両読取窓102,103を覆う原稿カバー104が開閉可能に組み付けられており、静止読取窓102にて原稿読取が行われる場合には、使用者により、この原稿カバー104が手動操作にて上方側に開かれ、読取対象の原稿が静止読取窓102に載置される。
一方、装置本体101の内部には、両読取窓102、103の直下において、原稿に照射されて反射した光を受光し、その受光した光に基づいて画素データを生成する上述のCISラインセンサ20が、移動可能に設けられており、このCISラインセンサ20は、長手方向(換言すると受光素子配列方向)が、CISラインセンサ20の移動方向である副走査方向とは、垂直な主走査方向に延びている。
具体的に、このCISラインセンサ20は、キャリッジ106を介して装置本体101の長手方向(図2の左右方向)に移動可能に組み付けられており、自動搬送読取機能の作動時、自動読取窓103の直下に停止配置される。一方、静止原稿読取機能の作動時には、静止読取窓102の直下で、駆動制御部17に制御されて、定速移動する。
尚、本実施例では、キャリッジ106が、駆動プーリ107及び従動プーリ108に掛けられたベルト109に連結されており、このベルト109には、ギヤを介してDCモータで構成される読取モータMT1が接続されている。
即ち、静止原稿読取機能の作動時、CISラインセンサ20は、読取モータMT1の回転力を、ベルト109を介して受け、ベルト109と平行に設置されたガイド軸111に案内されながら、装置本体101の長手方向(副走査方向)を真っ直ぐ移動する。図3は、CISラインセンサ20の移動態様を表す説明図である。
また、画像読取装置1は、読取モータMT1が所定角度回転すると、CISラインセンサ20が、所定距離を移動する構成にされており、本実施例では、読取エンコーダEN1から入力されるA相信号及びB相信号に基づき、エンコーダ処理部15にて、CISラインセンサ20の位置や移動速度を検出すると共に、CISラインセンサ20の移動方向(順/逆方向)を検出する。
また、画像読取装置1は、この検出結果に基づき、駆動制御部17にて、読取モータMT1を制御し、CISラインセンサ20を定速でガイド軸111に沿って移動させつつ、読取制御部21にて、CISラインセンサ20を制御し、静止画像読取機能を実現する。
ここで、読取エンコーダEN1としては、ロータリーエンコーダ若しくはリニアエンコーダを採用することができる。読取エンコーダEN1としてロータリーエンコーダを採用する場合には、読取モータMT1の回転軸に、読取エンコーダEN1を設けて、読取モータMT1が所定角度回転する度に、パルス信号(A相信号、B相信号)が読取エンコーダEN1から出力されるようにする。
一方、読取エンコーダEN1としてリニアエンコーダを採用する場合には、ガイド軸111に沿って、リニアエンコーダを構成するタイミングスリット(図示せず)を設けると共に、キャリッジ106に、タイミングスリットを挟むようにして、発光部及び受光部が対向配置されたセンサ素子を設ける。このようにして、タイミングスリット及びセンサ素子からなるリニアエンコーダを、読取エンコーダEN1として画像読取装置1内に設け、CISラインセンサ20が所定量移動する度に、パルス信号(A相信号、B相信号)が読取エンコーダEN1から出力されるようにする。
この他、読取対象の原稿を自動読取窓103に搬送するADF装置150は、原稿カバー104における自動読取窓103に対応する部位に設けられ、自動搬送読取機能の作動時に、ユーザにより原稿トレイ165に積層載置された原稿を、分離して、読取地点である自動読取窓103に、搬送する。
このADF装置150は、積層された原稿を1枚ずつ分離する分離機構として、最上層に載置された原稿に当接して当該原稿に搬送力を付与する分離ローラ153と、分離ローラ153に対して対向配置されて分離ローラ153の反対側から原稿に接触し所定の搬送抵抗を付与する分離パッド154と、原稿トレイ165に積層された原稿を吸引するようにして分離ローラ153に原稿を送り出す吸入ローラ155と、を備える。
また、ADF装置150は、分離機構にて分離された原稿を自動読取窓103に搬送する搬送機構として、分離機構から分離搬送されてきた原稿の搬送方向を自動読取窓103側に向けて転向させながら搬送力を付与する給紙ローラ159と、原稿を給紙ローラ159に押し付ける一対のピンチローラ160と、原稿押さえ161と、排紙ローラ162と、原稿センサアクチュエータ164と、を備える。
尚、ADF装置150を構成する各ローラは、読取搬送モータMT2の回転力を受けて回転し、当該ローラに接触する原稿に副走査方向の力を作用させて、原稿を、原稿トレイ165から排紙トレイ166へと搬送する構成にされており、画像読取装置1では、読取搬送モータMT2が所定角度回転すると、読取対象の原稿が、副走査方向に所定距離移動する。
また、原稿押さえ161は、搬送されてきた原稿を自動読取窓103側に押さえるものである。CISラインセンサ20は、自動搬送読取機能の作動時、この原稿押さえ161の下方に配置された状態で、この地点を通過する原稿を読み取る。
この他、原稿センサアクチュエータ164は、原稿押さえ161の上流に配置され、原稿が通過したか否かを検出するものである。即ち、本実施例では、原稿センサアクチュエータ164からのオン/オフ信号と、DCモータで構成される読取搬送モータMT2の回転軸に設置された読取搬送エンコーダEN2からのパルス信号とに基づき、エンコーダ処理部15にて、原稿の搬送位置を検出する。尚、読取搬送エンコーダEN2は、読取搬送モータMT2が所定角度回転する度に、パルス信号(A相信号、B相信号)を出力するロータリーエンコーダである。
そして、画像読取装置1は、この検出結果に基づき、駆動制御部17にて、原稿の搬送を制御し、原稿を読取地点へ一定速度で搬送すると共に、読取制御部21にて、CISラインセンサ20を制御し、自動搬送読取機能を実現する。
尚、静止原稿読取機能は、原稿トレイ165に原稿が未載置の状態で、当該画像読取装置1に設けられた読取キー(図示せず)が押下操作されたり、外部インタフェース23を通じて読取指令が入力されると、作動する。この作動により、画像読取装置1では、静止読取窓102に載置されている原稿が読み取られる。
一方、自動搬送読取機能は、原稿トレイ165に原稿が載置された状態で、読取キーが押下操作されたり、外部インタフェース23を通じて読取指令が入力されると、作動する。画像読取装置1では、原稿トレイ165に載置された原稿が空になるまで、この自動搬送読取機能が繰返し働き、原稿トレイ165に載置されている各原稿が、順次読み取られる。尚、原稿トレイ165に原稿が未載置であるか否かは、原稿トレイ165に設けられた図示しないセンサの検出信号に基づき、判断される。
(2)エンコーダ処理部15及び駆動制御部17の構成
続いて、エンコーダ処理部15及び駆動制御部17の構成を説明する。図4は、エンコーダ処理部15及び駆動制御部17の構成を表すブロック図である。
(2.1)エンコーダ処理部15の構成
エンコーダ処理部15は、エンコーダEN1,EN2の夫々に対して、エンコーダエッジ検出部31及び位置検出部33及び速度検出部35の組を有し、これらの組により、搬送対象(CISラインセンサ20又は原稿)の位置及び速度を検出する。尚、エンコーダがロータリーエンコーダである場合には、エンコーダからの入力信号に基づき、モータの回転量及び回転速度を検出することで、間接的に、搬送対象の位置及び速度を検出する。
具体的に、エンコーダエッジ検出部31は、対応するエンコーダEN1,EN2から入力されるA相信号及びB相信号の立ち上がりエッジ及び立ち下がりエッジを検出し、このエッジの検出毎に、エッジ検出信号を出力する構成にされている。このエッジ検出信号は、対応する組の位置検出部33及び速度検出部35に入力される。
更に、エンコーダエッジ検出部31は、エンコーダEN1,EN2から入力されるA相信号及びB相信号の位相差に基づき、搬送対象の移動方向(順方向/逆方向)を検出し、この検出結果を、エッジ検出信号と共に、対応する組の位置検出部33及び速度検出部35に入力する。
尚、読取エンコーダEN1の出力信号が入力される読取エンコーダEN1用のエンコーダエッジ検出部31から出力されるエッジ検出信号は、読取エンコーダEN1用の位置検出部33及び速度検出部35に入力されると共に、静止原稿読取機能の作動時、読取制御部21が備える読取フロントエンド41及び駆動停止指令生成部49に入力される。
また、読取搬送エンコーダEN2の出力信号が入力される読取搬送エンコーダEN2用のエンコーダエッジ検出部31から出力されるエッジ検出信号は、読取搬送エンコーダEN2用の位置検出部33及び速度検出部35に入力されると共に、自動搬送読取機能の作動時、読取制御部21が備える読取フロントエンド41及び駆動停止指令生成部49に入力される。
また、位置検出部33は、画像読取装置1がオンされると、エンコーダエッジ検出部31からエッジ検出信号が入力される度、当該位置検出部33から出力する搬送対象の位置enc_posの情報を、1加算又は1減算して更新するものである。
具体的には、エッジ検出信号と共に入力される搬送対象の移動方向の情報に基づき、搬送対象が順方向に移動している場合には、値enc_posを、1加算し(enc_pos←enc_pos+1)、搬送対象が逆方向に移動している場合には、値enc_posを1減算して(enc_pos←enc_pos−1)、更新する。
尚、読取エンコーダEN1用の位置検出部33は、搬送対象(CISラインセンサ20)が所定の原点位置(ホームポジション)に配置されていることを条件として、値enc_posをゼロにリセットする。一方、読取搬送エンコーダEN2用の位置検出部33は、原稿センサアクチュエータ164が原稿先端を検知した時点で、値enc_posをゼロにリセットする。これにより読取エンコーダEN1用の位置検出部33では、CISラインセンサ20の位置が検出され、読取搬送エンコーダEN2用の位置検出部33では、原稿の搬送位置が検出される。
また、速度検出部35は、画像読取装置1がオンされると、エンコーダエッジ検出部31からエッジ検出信号が入力される度、そのエッジ検出信号に基づいて、当該速度検出部35から出力する搬送対象の速度enc_velの情報を更新するものである。
具体的には、エッジ検出信号の入力時間間隔(今回エッジ検出信号が入力された時点と前回エッジ検出信号が入力された時点との時間間隔)の逆数から、搬送対象の速度enc_velを算出し、これを出力する。
尚、読取エンコーダEN1用の位置検出部33から出力される値enc_posは、駆動制御部17に入力されると共に、静止原稿読取機能の作動時、読取制御部21が備える読取フロントエンド41に入力される。この他、読取エンコーダEN1用の速度検出部35から出力される値enc_velは、駆動制御部17に入力される。
また、読取搬送エンコーダEN2用の位置検出部33から出力される値enc_posは、駆動制御部17に入力されると共に、自動搬送読取機能の作動時、読取制御部21が備える読取フロントエンド41に入力される。この他、読取搬送エンコーダEN2用の速度検出部35から出力される値enc_velは、駆動制御部17に入力される。
(2.2)駆動制御部17の構成
続いて、駆動制御部17の構成について説明する。駆動制御部17は、読取モータMT1及び読取搬送モータMT2を、駆動回路37を介して駆動するモータ制御部39を備える(図4参照)。モータ制御部39は、制御対象のモータに対応する位置検出部33及び速度検出部35からの入力値enc_pos,enc_velに基づき、制御対象のモータMT1,MT2を制御する。
詳述すると、モータ制御部39は、エンコーダ処理部15が有する読取エンコーダEN1用の位置検出部33及び速度検出部35からの入力値enc_pos,enc_velに基づいて、読取モータMT1を制御する共に、読取搬送エンコーダEN2用の位置検出部33及び速度検出部35からの入力値enc_pos,enc_velに基づいて、読取搬送モータMT2を制御する。
具体的に、このモータ制御部39は、読取機能が作動すると、CPU11からの指令を受け、制御対象として読取モータMT1及び読取搬送モータMT2のいずれか一方を選択し、選択した制御対象を制御するために、図5に示す処理を開始する。尚、静止原稿読取機能の作動時には、制御対象として読取モータMT1を選択し、自動原稿読取機能の作動時には、制御対象として読取搬送モータMT2を選択する。
この他、モータ制御部39は、全ライン分の読取終了前に、モータ駆動停止指令信号(mtstop)に基づき、図5に示す処理を終了した場合、CPU11から読取再開指令が入力されたときに限って、再び、図5に示す処理を開始する。
図5は、モータ制御部39が実行する処理を表すフローチャートである。
モータ制御部39は、図5に示す処理を開始すると、モータ駆動設定を行い、モータ回転方向を順方向(画像読取方向)に設定すると共に、CPU11からの指示に従って、目標搬送速度を設定する(S110)。
また、この処理を終えると、モータ制御部39は、先駆けてS110で行った駆動設定の内容に従い、エンコーダ処理部15からの入力信号(enc_pos,enc_vel)に基づいて、制御対象のモータを制御する(S120)。具体的に、S120では、搬送対象の移動速度が設定された目標搬送速度に到達するまで、搬送対象が加速するように、モータを制御し、その後、搬送負荷によらず、搬送対象の移動速度が目標搬送速度で一定となるように、モータの制御を行う。本実施例では、このようにして、搬送対象を加速後一定速度で画像読取方向に移動させる。
また、当該制御の実行中には、読取終了信号(詳細後述)が入力されているか否かを判断し(S130)、読取終了信号が入力されていない場合には(S130でNo)、駆動停止指令生成部49から入力されるモータ駆動停止指令信号(mtstop)が値1であるか否かを判断する(S140)。そして、読取終了信号が入力されておらず(S130でNo)、モータ駆動停止指令信号が値1でない場合には(S140でNo)、S130,S140での判断を行いながら、モータの制御を継続的に実行する。
そして、モータ駆動停止指令信号(mtstop)が値1に切り替わると、モータ制御部39は、制御対象のモータを減速・停止させる処理を行う(S150)。その後、モータが停止すると、一旦休止する。
一方、モータ制御部39は、読取終了信号が入力されると(S130でYes)、作動中の読取機能が静止原稿読取機能であるか否かを判断する(S160)。そして、静止原稿読取機能である場合には(S160でYes)、制御対象のモータを減速・停止させる処理を行い(S170)、モータが停止した後には、モータ駆動設定を行って、モータ回転方向を画像読取方向とは逆方向に設定する(S180)。
また、この処理を終えると、モータ制御部39は、制御対象のモータ(読取モータMT1)を駆動して、搬送対象(CISラインセンサ20)を、ホームポジションまで搬送する(S185)。そして、CISラインセンサ20をホームポジションまで搬送すると、一旦休止する。尚、CISラインセンサ20のホームポジションは、自動原稿読取機能作動時のCISラインセンサ20の固定位置に設定されているものとする。
その他、作動中の読取機能が自動搬送読取機能である場合(S160でNo)、モータ制御部39は、制御対象のモータ(読取搬送モータMT2)を、搬送中の原稿が排紙トレイ166に排出されるまで駆動し(S190)、原稿の排出が終了した時点で、モータの回転を止めて、一旦休止する。
(3)読取制御部21の構成
続いて、読取制御部21の構成について説明する。図6は、読取制御部21の構成を表すブロック図である。
図6に示すように、読取制御部21は、読取フロントエンド41、画データ処理部43、ローカルRAM45、及び、駆動停止指令生成部49を備える。
(3.1)読取フロントエンド41の構成
読取制御部21が備える読取フロントエンド41は、CISラインセンサ20に接続され、CISラインセンサ20に対する制御信号を入力すると共に、CISラインセンサ20から入力される読取結果としての画素データを受け付けて、処理するものである。
この読取フロントエンド41は、ラインスタートトリガ信号生成部41a、ラインスタート信号生成部41b、LED制御信号生成部41c、転送クロック信号生成部41d、及び、出力制御部41eを備え、ラインスタートトリガ信号生成部41aにて周期的にラインスタートトリガ(l_start_trg)信号を生成し、このラインスタートトリガ信号に基づいて、CISラインセンサ20に読取タイミングを指定するためのラインスタート信号を入力する。
(3.1.1)ラインスタートトリガ信号生成部41aの構成
上述したように、ラインスタートトリガ信号生成部41aは、周期的にラインスタートトリガ信号を生成し、このラインスタートトリガ信号を、ラインスタート信号生成部41b、LED制御信号生成部41c、転送クロック信号生成部41d、及び、出力制御部41eに入力する。
ラインスタートトリガ信号は、ラインスタート信号の出力タイミングを規定する信号であり、CISラインセンサ20に入力されるべきラインスタート信号の入力周期と同周期で生成され、ラインスタート信号生成部41bに入力される。
具体的に、ラインスタートトリガ信号生成部41aは、読取機能が作動すると、搬送対象が読取開始位置start_posに到達した時点で、ラインスタートトリガ信号の出力を開始し、以後、周期的に、ラインスタートトリガ信号を出力する。
読取開始位置start_posは、CPU11の動作により予め読取制御部21が備えるレジスタRG1に設定されており、ラインスタートトリガ信号生成部41aは、このレジスタRG1に設定された読取開始位置start_posに、搬送対象が到達したか否かを、位置検出部33からの入力値enc_posに基づき判定する。
即ち、ラインスタートトリガ信号生成部41aは、読取機能が作動すると、エンコーダエッジ検出部31からエッジ検出信号が入力される度、位置検出部33が更新した値enc_posの情報を、位置検出部33から取得すると共に、この値enc_posを前回値と比較することにより、値enc_posが、値start_pos未満から値start_posに切り替わったか否かを判断する。そして、値enc_posが値start_pos未満から値start_posに切り替わると、ラインスタートトリガ信号の出力を開始する。
また、ラインスタートトリガ信号生成部41aは、全ライン分の読取が終了すると、ラインスタートトリガ信号の出力を停止する。
(3.1.2)ラインスタート信号生成部41bの構成
読取フロントエンド41が備えるラインスタート信号生成部41bは、ラインスタートトリガ信号の入力タイミングで、CISラインセンサ20に適合する規定のパルス幅のラインスタート信号を生成し、これをCISラインセンサ20に入力するものである。
このラインスタート信号が入力されると、CISラインセンサ20では、受光素子に蓄積された信号電荷が、画素データとして、シフトレジスタ203に入力されることで、ラインスタート信号の当該入力以前に受光素子に蓄積された信号電荷に対応する前サイクルの読取結果を表す画素データがシフトレジスタ203に記憶保持される。また、このタイミングで、受光素子では、信号電荷がリセットされ、光電効果を利用した新たな読取動作が行われる。
(3.1.3)LED制御信号生成部41cの構成
LED制御信号生成部41cは、CISラインセンサ20に対して、LED制御信号を入力することにより、CISラインセンサ20が有するLED20R,20G,20Bの点灯を制御するものである。
CISラインセンサ20は、上述したように、ラインスタート信号の入力毎に受光素子をリセットする構成にされ、ラインスタート信号の入力周期に対応する時間、読取動作を実行して、その間に蓄積された信号電荷に対応したライン構成データを生成する。
しかしながら、本実施例の画像読取装置1においては、LED20R,20G,20Bのいずれもが点灯していないとき、外部から僅かに侵入する背景光を除いて、原稿に、光は照射されない。このため、LED20R,20G,20Bのいずれもが点灯していないとき、実質的に、読取動作は実現されない。
このような装置構成から、LED制御信号生成部41cは、実質的なCISラインセンサ20の読取動作を制御するものとして機能する。
尚、本実施例では、読取開始地点(start_enc)を起点にして、副走査方向に、等間隔にライン開始点を定め、隣り合うライン開始点に挟まれた領域(1ライン分の領域)を三分割して、その分割領域の夫々を、赤領域、緑領域、青領域に定めている。
LED制御信号生成部41cは、(4)章において詳述する色切替処理(図9参照)を実行することにより、このように定められた領域の区画に従って、搬送対象が赤領域にいるときには、原稿に赤色光が照射され、搬送対象が緑領域にいるときには、原稿に緑色光が照射され、搬送対象が青領域にいるときには、原稿に青色光が照射されるように、LED20R,20G,20Bの点灯制御を行う。
また、LED制御信号生成部41cは、読取済のライン数Nを記憶保持するためのラインカウンタを、赤、緑、青の各色毎に備える。以下では、赤色に対応するラインカウンタ50Rを、赤ラインカウンタと表現し、緑色に対応するラインカウンタ50Gを、緑ラインカウンタと表現し、青色に対応するラインカウンタ50Bを、青ラインカウンタと表現する。
尚、赤ラインカウンタの値N[0]、緑ラインカウンタの値N[1]、及び、青ラインカウンタの値N[2]の夫々は、搬送対象が読取開始位置start_encに到達してラインスタートトリガ信号の出力が開始されるタイミングで、LED制御信号生成部41cにより値0にリセットされる。また、当該リセット時には、LED制御信号生成部41cの動作により、点灯対象色の初期値として赤色が設定される。
(3.1.4)転送クロック信号生成部41dの構成
転送クロック信号生成部41dは、ラインスタートトリガ信号が入力される度、シフトレジスタ203に画素データを出力させるための転送クロック信号を、CISラインセンサ20に入力するものである。
この転送クロック信号の入力により、シフトレジスタ203に記憶された画素データ(ライン構成データ)は、次のラインスタート信号が入力されるまでの期間に、シフトレジスタ203から一通り出力される。
また、シフトレジスタ203から読取フロントエンド41に入力されるライン構成データは、出力制御部41eを通じて、画データ処理部43に転送される。尚、CISラインセンサ20から入力されるライン構成データは、読取フロントエンド41から画データ処理部43に転送されるまでの経路において、読取フロントエンド41が有する図示しないA/D(アナログ/ディジタル)変換器により、アナログデータからディジタルデータに変換される。
(3.1.5)出力制御部41eの構成
出力制御部41eは、CISラインセンサ20から入力されるライン構成データの内、所定条件を満足するライン構成データを、画データ処理部43に対して選択的に転送し、条件を満足しないライン構成データを、画データ処理部43に転送せずに破棄する構成にされたものである。具体的に、出力制御部41eは、図12に示す出力制御処理を実行することにより、所定条件を満足するライン構成データのみを選択的に画データ処理部43に転送する。
尚、従来装置では、搬送対象が定速移動しているときに限って読取動作を実行するが、本実施例の画像読取装置1では、搬送対象の加減速中にCISラインセンサ20から出力されるライン構成データについても、これを原稿の読取結果として採用し、RAM13に出力する。出力制御部41eは、この際に、RAM13に出力するライン構成データの取捨選択を行うものである。
即ち、CISラインセンサ20に入力するラインスタート信号の入力周期は、受光素子における受光時間に影響を与えることから、搬送対象の加減速中に、変えることができない。
一方、ラインスタート信号の入力周期を一定に保って、加減速中にCISラインセンサ20に読取動作を実行させると、搬送対象の移動とラインスタート信号の入力とを同期させることできないため、等間隔に定められた正当な各読取位置に搬送対象が位置するとき以外でも、CISラインセンサ20にて読取動作が実行される。
そこで、本実施例では、図12に示す出力制御処理を実行することにより、正当な読取位置の近辺で、CISラインセンサ20が行った読取動作により生成されたライン構成データを、選択的に画データ処理部43に入力する。尚、出力制御処理の詳細については、(5)章において詳述する。
(3.2)画データ処理部43の構成
続いて、画データ処理部43の構成について、図6〜図8を用いて説明する。
画データ処理部43は、読取フロントエンド41から入力されるライン構成データを、順次、ローカルRAM45に設けられたFIFOメモリとしてのバッファ45aに書き込むと共に、バッファ45aに蓄積されたライン構成データに対し、シェーディング補正、ガンマ補正等の画像処理を施し、画像処理後のライン構成データを、メモリコントローラ63を通じて、RAM13に書き込むデータ処理機能を有するものである。
また、この画データ処理部43は、バッファ45aの空き容量に基づき、搬送対象の搬送を一時停止させるための停止信号(stop_sig)を出力すると共に、搬送対象の搬送を再開させるための再開信号(restart_sig)を出力する停止再開制御機能を有する。
図7は、画データ処理部43で実現される上記データ処理機能に係る説明図である。
画データ処理部43は、データ処理機能を実現するための構成として、データ書込部43a、画像処理部43b、及び、データ転送部43cを備え、読取フロントエンド41から、ライン構成データが入力される度、データ書込部43aにて、このライン構成データを、バッファ45aに書き込む。
また、画データ処理部43は、画像処理部43bにて、バッファ45aの読出位置に記録されたライン構成データを読出し、このライン構成データに対してシェーディング補正やガンマ補正等の画像処理を施し、この画像処理後のライン構成データを、ローカルRAM45内の処理データ記憶部45bに保存する。
また、画データ処理部43は、処理データ記憶部45bに蓄積された画像処理後の画素データ(ライン構成データ)を、データ転送部43cを通じて順にRAM13に書き込む。本実施例では、このようにしてRAM13に書き込まれたライン構成データの組合せにより各ラインのラインデータを表現すると共に、各ラインデータの組合せにより、原稿全体の画像を表現する。
そして、画像読取装置1は、例えば、RAM13に書き込まれたラインデータを順に外部インタフェース23を通じて外部PCに出力することにより、原稿の読取結果を、外部PCに提供する。外部PCは、これらのラインデータの組合せにより、原稿全体の読取結果を表す画像データを生成する。
この他、画像読取装置1がコピー機能を有する複合機である場合には、例えば、RAM13に書き込まれたラインデータの組合せからなる画像データが、本装置内で、原稿全体の読取結果を表す画像データとして、コピー処理に供される。
また、図6に示す画データ処理部43内の機能ブロックは、上記停止再開制御機能に係る機能ブロックを示したものである。図6に示すように、画データ処理部43は、停止信号(stop_sig)を出力する停止信号生成部43dと、再開信号(restart_sig)を出力する再開信号生成部43eと、を備える。
停止信号生成部43dは、具体的に、図8(a)に示す処理を実行して、出力する停止信号の状態を切り換える。図8(a)は、読取機能の作動時に、停止信号生成部43dが実行する処理を表すフローチャートである。
停止信号生成部43dは、図8(a)に示す処理を開始すると、停止信号(stop_sig)を値0(ゼロ)に設定し(S310)、その後、読取終了ラインまでのライン構成データの取得が完了したか否かを判断する(S320)。そして、読取終了ラインまでのライン構成データの取得が完了している場合には(S320でYes)、読取終了信号を出力して、読取終了の旨を各部に通知した後(S360)、図8(a)に示す処理を終了する。
一方、読取終了ラインまでのライン構成データの取得が完了していない場合には(S320でNo)、バッファ45aの空き容量rem_bufが、予め定められた閾値B_lim以下であるか否かを判断する(S330)。そして、バッファ45aの空き容量rem_bufが閾値B_limより大きい場合には(S330でNo)、読取フロントエンド41から入力されるライン構成データの書込に十分な空き容量があるとして、S310に移行し、停止信号を値0に設定する。
これに対し、バッファ45aの空き容量rem_bufが、閾値B_lim以下である場合(S330でYes)、停止信号生成部43dは、停止信号を値0から値1に設定変更する(S340)。その後、S320に移行する。
尚、このようにして、停止信号が値0から値1に設定変更されると、本実施例では、搬送対象の搬送動作が停止され、読取フロントエンド41からのライン構成データの出力が停止する。また、このようにして状態が切り替えられる停止信号は、読取フロントエンド41及び駆動停止指令生成部49に入力される。
この他、再開信号生成部43eは、図8(b)に示す処理を実行して、再開信号(restart_sig)の状態を切り替える。図8(b)は、読取機能の作動時に、再開信号生成部43eが実行する処理を表すフローチャートである。
再開信号生成部43eは、図8(b)に示す処理を開始すると、まず再開信号(restart_sig)を値0に設定し(S410)、その後、読取終了ラインまでのライン構成データの取得が完了したか否かを判断する(S420)。そして、読取終了ラインまでのライン構成データの取得が完了している場合には(S420でYes)、休止する。
一方、読取終了ラインまでのライン構成データの取得が完了していない場合には(S420でNo)、バッファ45aの空き容量rem_bufが、予め定められた閾値B_th以上であるか否かを判断する(S430)。
そして、空き容量rem_bufが、閾値B_th以上である場合には(S430でYes)、バッファ45aの空き容量rem_bufが再開に十分な量あるとして、再開信号(restart_sig)を値0から値1に設定変更する(S440)。その後、S420に移行する。尚、閾値B_thは、閾値B_limよりも大きい値に設定されているものとする(B_th>B_lim)。
これに対し、バッファ45aの空き容量rem_bufが、閾値B_th未満である場合(S430でNo)、再開信号生成部43eは、バッファ45aの空き容量rem_bufが再開に十分な量ないとして、S410に移行し、再開信号(restart_sig)を値0に設定する。その後、S420に移行する。
尚、このようにして状態が切り替えられる再開信号(restart_sig)は、CPU11に入力される。また、CPU11は、常時再開信号を監視しており、再開信号(restart_sig)が値0から1に切り替わると、モータ制御部39に対して読取再開指令を入力し、モータ制御部39に図5に示す処理をS110から実行させる。また、CPU11は、読取制御部21に対しても読取再開指令を入力して、駆動停止指令生成部49が出力するモータ駆動停止指令信号(mtstop)を値0にリセットする。
(3.3)駆動停止指令生成部49の構成
続いて、駆動停止指令生成部49の構成について説明する。
駆動停止指令生成部49は、モータ駆動停止指令信号(mtstop)をモータ制御部39に入力するものであり、読取機能の作動時に、モータ駆動停止指令信号(mtstop)を値0にリセットすると共に、画データ処理部43から入力される停止信号(stop_sig)に基づき、モータ駆動停止指令信号を値1に切り替える。
具体的に、駆動停止指令生成部49は、画データ処理部43から入力される停止信号(stop_sig)が値0である場合には、モータ駆動停止指令信号の状態を切り替えず、画データ処理部43から入力される停止信号が値1に切り替わるまで待機する。
そして、画データ処理部43から入力される停止信号(stop_sig)が値1に変化すると、その後、エンコーダエッジ検出部31からエッジ検出信号が入力された時点で、モータ制御部39に入力するモータ駆動停止指令信号(mtstop)を値1に切り替える。
また、モータ駆動停止指令信号(mtstop)を値1に切り替えた後には、CPU11から上述の読取再開指令が入力されるまで待機し、CPU11から読取再開指令が入力されると、モータ駆動停止指令信号(mtstop)を値0にリセットする。また、画データ処理部43から読取終了信号が入力された場合にも、モータ駆動停止指令信号(mtstop)を値0にリセットする。
このようにして、駆動停止指令生成部49は、画データ処理部43から入力される停止信号(stop_sig)が値1に変化すると、モータ駆動停止指令信号(mtstop)を値0から値1に切り替え、その後、CPU11から読取再開指令が入力されるか、最終ラインまでの読取が完了するまで、モータ駆動停止指令信号(mtstop)を値1に保持する。
一方、このモータ駆動停止指令信号が入力されるモータ制御部39は、上述したように、モータ駆動停止指令信号(mtstop)が値1に切り替わった時点で、S150に移行し、モータ駆動停止指令信号に従って、制御対象のモータの回転を減速させて、当該モータを停止させる処理を行う。このようにして、本実施例の画像読取装置1では、図3に示すように、バッファ45aの空き容量が少なくなる度に、搬送対象の搬送動作を一時停止し、バッファ45aの空き容量が回復すると、搬送対象の搬送動作を再開する。
(4)色切替処理
続いて、LED制御信号生成部41cが実行する色切替処理について、図9を用いて説明する。図9(a)は、ラインスタートトリガ信号が入力される度、LED制御信号生成部41cが実行する色切替処理を表すフローチャートである。
色切替処理を開始すると、LED制御信号生成部41cは、まず、位置検出部33から得られる値enc_posに基づき、読取開始位置(enc_start)を基点とした現時点での搬送対象の搬送量Lを算出する(S710)。
L=enc_pos−enc_start
同時に、赤ラインカウンタ50Rの値N[0]に基づき、赤色理想読取開始位置D[0]を算出する(S721)。尚、ここでいう赤色理想読取開始位置D[0]とは、次ラインである第(N[0]+1)ラインの赤ライン構成データを生成するために実行すべき読取動作の開始位置であって、読取開始位置(start_enc)を原点として予め定められた位置のことをいう。具体的に、S721では、次式に従って赤色理想読取開始位置D[0]を算出する。
D[0]=α×{(N[0]+1)+β}
但し、定数αは、単位長さ当たりのエンコーダカウント数/単位長さ当たりのライン数である。即ち、定数αは、1ラインに対応する量、搬送対象が搬送されるときのenc_posの変化量に対応する。
また、定数βは、ロータリーエンコーダを用いる場合等に必要な調整係数である。モータ駆動に対して搬送対象(特に原稿)の搬送が遅れる機構である場合には、ロータリーエンコーダを用いて搬送対象の位置を計測しても、ロータリーエンコーダが示す位置と搬送対象の実位置との間にズレが生じる。定数βは、このズレを補正するためのものである。
尚、定数βは、試験により求めた上記ズレ量に対応した値に設定される。但し、リニアエンコーダを用いて搬送対象の位置を計測する場合においては、通常、位置検出部33が示す位置enc_posと搬送対象の実位置との間にズレがないので、その場合には、β=0に設定される。この定数α,βの設定値は、予めCPU11によりレジスタRG2に書き込まれる。
また、LED制御信号生成部41cは、緑ラインカウンタ50Gの値N[1]に基づき、緑色理想読取開始位置D[1]を算出する(S723)。尚、ここでいう緑色理想読取開始位置D[1]とは、第(N[1]+1)ラインの緑ライン構成データを生成するために実行すべき読取動作の開始位置であって、読取開始位置(start_enc)を原点として予め定められた位置のことをいう。具体的に、S723では、次式に従って緑色理想読取開始位置D[1]を算出する。
D[1]=α×{(N[1]+1)+β+1/3}
このように、緑色理想読取開始位置D[1]は、N[0]=N[1]のとき、赤色理想読取位置D[0]よりも1/3ラインずれた値に設定される。
この他、LED制御信号生成部41cは、青ラインカウンタ50Bの値N[2]に基づき、青色理想読取開始位置D[2]を算出する(S725)。但し、ここでいう青色理想読取開始位置D[2]とは、第(N[2]+1)ラインの青ライン構成データを生成するために実行すべき読取動作の開始位置であって、読取開始位置(start_enc)を原点として予め定められた位置のことをいう。具体的に、S725では、次式に従って青色理想読取開始位置D[2]を算出する。
D[2]=α×{(N[2]+1)+β+2/3}
このように、青色理想読取開始位置D[2]は、N[0]=N[2]のとき、赤色理想読取位置D[0]よりも2/3ラインずれた値に設定される。
また、この処理を終えると、LED制御信号生成部41cは、S721〜S725で算出した理想読取開始位置D[0],D[1],D[2]の内、現在設定されている点灯対象色の理想読取開始位置を、第一基準値STNに設定する(S731)。
点灯対象色の初期値は、赤色であるが、例えば、点灯対象色が赤色に設定されている場合には、赤色理想読取開始位置D[0]を、第一基準値STNに設定する(STN←D[0])。
更に、LED制御信号生成部41cは、現在設定されている点灯対象色について前回算出した理想読取開始位置を、第二基準値STPに設定する(S733)。例えば、S731で、STN←D[0]に設定した場合には、STP←(D[0]の前回算出値DP[0])に設定する。
但し、ここでいう「前回算出値」とは、今回の色切替処理を実行する原因となったラインスタートトリガ信号の一つ前に入力されたラインスタートトリガ信号に基づいて、LED制御信号生成部41cが実行した色切替処理において算出された値であることを示す。
尚、初回の色切替処理の実行時には、前回算出値が存在しないことになるが、その場合には、例えば、今回算出値を、前回算出値に代えて、第二基準値STPに設定すればよい。ただ、本実施例においては、S750の判断によって、初回の色切替処理の実行時には、第二基準値STPを必要とする処理を実質無効化するので、前回算出値としていずれの値を用いても特に問題ない。
また、S733の処理を終えると、LED制御信号生成部41cは、第一基準値STNとS710で算出した搬送量Lとの差Δnを算出すると共に、第二基準値STPと前回のS710で算出した搬送量Lとの差Δpを算出する(S735)。
Δn=STN−L
Δp=STP−L
また、この処理を終えると、LED制御信号生成部41cは、今回算出した赤理想読取開始位置D[0]を、変数DP[0]に設定し、今回算出した緑理想読取開始位置D[1]を、変数DP[1]に設定し、今回算出した青理想読取開始位置D[2]を、変数DP[2]に設定して、今回算出した値D[0],D[1],D[2]の夫々を、記憶保持する(S740)。尚、ここで記憶保持される値DP[0],DP[1],DP[2]は、次回の色切替処理において、前回算出値として利用される。
更に、これらの処理を終えると、LED制御信号生成部41cは、以下に説明するオフ条件A及びオフ条件Bのいずれかが満足されているか否かを判断する(S750)。
具体的に、LED制御信号生成部41cは、上記オフ条件Aが満足されているか否かの判断として、搬送対象が現在停止中であるか否かを判断し、搬送対象が現在停止中である場合にはオフ条件Aが満足されていると判断し、搬送対象が移動中である場合には、オフ条件Aが満足されていないと判断する。尚、搬送対象が停止中であるか否かの判断は、S710で算出された搬送量Lが、前回のS710で算出された搬送量Lと同一であるか否かを判断することにより、実現することができる。
更に、LED制御信号生成部41cは、上記オフ条件Bが満足されているか否かの判断として、今回の色切替処理が、搬送対象が読取開始位置(start_pos)に到達したときに発せられるラインスタートトリガ信号に基づいて実行された初回の色切替処理であるか否かを判断し、初回の色切替処理である場合には、オフ条件Bが満足されていると判断し、二回目以降の色切替処理である場合には、オフ条件Bが満足されていないと判断する。
このようにして、LED制御信号生成部41cは、S750において、オフ条件A及びオフ条件Bのいずれかが満足されているか否かを判断し、いずれかが満足されていると判断すると(S750でYes)、今回のラインスタートトリガ信号の出力を契機に、CISラインセンサ20から転送されてくるライン構成データに対するデータ有効フラグをオフに設定する(S755)。その後、S790に移行する。尚、本実施例では、データ有効フラグがオフのとき、対応するライン構成データが、有効なデータでないものとして取扱う。
一方、LED制御信号生成部41cは、オフ条件A及びオフ条件Bのいずれもが満足されていないと判断すると(S750でNo)、S735で算出したΔnの絶対値|Δn|と、S735で算出したΔpの絶対値|Δp|とを比較して、値|Δn|が、値|Δp|未満であるか否かを判断する(S760)。
そして、|Δn|<|Δp|であると判断すると(S760でYes)、データ有効フラグをオフに設定し(S765)、S790に移行する。即ち、搬送対象が、理想読取開始位置に近づいている段階では、CISラインセンサ20から出力されるデータが、不要データであるとしてデータ有効フラグをオフに設定する。その後、S790に移行する。
これに対して、|Δn|≧|Δp|であると判断すると(S760でNo)、LED制御信号生成部41cは、データ有効フラグをオンに設定する(S770)。なぜなら、|Δn|≧|Δp|であるときには、搬送対象が理想読取開始位置を越えているからである。即ち、|Δn|≧|Δp|であるときには、前回ラインスタートトリガ信号の入力から今回ラインスタートトリガ信号の入力までの期間においてCISラインセンサ20で行われた読取動作が、正当な読取位置付近で行われた読取動作と推定されるので、この読取動作によって生成されたライン構成データを、有効なデータとして取扱うために、データ有効フラグをオンに設定する。
また、S770でデータ有効フラグをオンに設定した場合には、S775において、点灯対象色のラインカウンタの値Nを、1加算して更新する(N←N+1)。例えば、点灯対象色が赤色である場合には、赤ラインカウンタ50Rの値N[0]を、1加算して更新する。このようにして、本実施例では、読取済のライン数Nの情報を、色毎に更新する。
また、|Δn|≧|Δp|であるとき、LED制御信号生成部41cは、S780にて、点灯対象色を次色に切り替える。その後、S790に移行する。
詳述すると、本実施例の画像読取装置1は、点灯対象色を、赤、緑、青の順に切り替える構成にされており、S780では、切替前の点灯対象色が赤色であるとき、これを緑色に切り替える。同様に、切替前の点灯対象色が緑色であるとき、これを青色に切り替え、切替前の点灯対象色が青色であるとき、これを赤色に切り替える。
尚、当該LED制御信号生成部41cは、ラインスタートトリガ信号の入力があった時点を基点として予め定められた点灯禁止時間を経過するまでの期間に、これらの処理を終えて、S790に移行する。
そしてS790に移行すると、LED制御信号生成部41cは、上記点灯禁止時間が経過するまで待機し、経過時点で、LED20R,20G,20Bの内、現在設定されている点灯対象色のLEDのみを所定時間点灯させるためのLED制御信号をCISラインセンサ20に入力することで、上記点灯禁止時間を経過した時点から、上記所定時間、LED20R,20G,20Bの内、点灯対象色のLEDを、選択的に点灯させる。但し、上記所定時間(点灯時間)は、これに点灯禁止時間を加算した時間(点灯禁止時間+点灯時間)が、ラインスタートトリガ信号の入力周期よりも短くなるように、予め設定される。
また、LED制御信号生成部41cは、点灯から所定時間が経過して、点灯対象色のLEDを消灯させると、当該色切替処理を終了する。そして、次のラインスタートトリガ信号が入力されると、再び、S710から色切替処理を開始する。
尚、この色切替処理によって実現されるLEDの点灯制御の態様を、図10及び図11に示す。図10は、搬送対象が減速している期間におけるLEDの点灯態様及び画データ処理部43へのデータ出力態様を示したタイムチャートであり、図11は、搬送対象が定速搬送されている期間におけるLEDの点灯態様及び画データ処理部43へのデータ出力態様を示したタイムチャートである。
図10に示すように、減速時においては、搬送対象の移動速度が低くなるため、搬送対象の移動に対して、CISラインセンサ20によるライン構成データの生成周期が早くなる。
このような理由から、本実施例では、上述した内容の色切替処理を実行することにより、減速時には、搬送対象の移動に合わせて、点灯対象色を切り替える。
具体的には、搬送対象が理想読取開始位置に近づいている場合には、その理想読取開始位置に対応する色のLEDを点灯させ、搬送対象が理想読取開始位置から遠ざかった時点で、点灯対象色を切り替える。そして、点灯対象色の切替時点を基準にして、当該切替時点の直前にCISラインセンサ20が読み取った原稿部分のライン構成データを、有効データに設定する。
従って、本実施例によれば、読取動作と搬送対象の変位とが非同期の状況下でも、理想的な読取位置の付近で、その読取位置に対応する色の読取動作を、CISラインセンサ20に実行させることができ、その理想的な読取位置の付近での読取結果を表すライン構成データを選択的に、下流に転送することができる。
(5)出力制御処理
続いて、出力制御部41eが実行する出力制御処理について、図12を用いて説明する。図12は、ラインスタートトリガ信号が入力される度、出力制御部41eが実行する出力制御処理を表すフローチャートである。
出力制御部41eは、ラインスタートトリガ信号が入力されて、当該出力制御処理を開始すると、当該ラインスタートトリガ信号の入力によりLED制御信号生成部41cで実行される色切替処理においてS765又はS770のステップが終了するまで待機し、S765又はS770のステップが終了すると、それまでの色切替処理により設定されたデータ有効フラグの値を読み取り、今回の色切替処理にて、データ有効フラグがオンに設定されたか否かを判断する(S810)。
そして、データ有効フラグがオンに設定されたと判断すると(S810でYes)、出力制御部41eは、S820に移行し、今回のラインスタートトリガ信号の入力に対応して、CISラインセンサ20から転送されてくる画素データ群を、ライン構成データとして、画データ処理部43に入力する(S820)。その後、当該出力制御処理を終了する。
一方、データ有効フラグがオフに設定されたと判断すると(S810でNo)、出力制御部41eは、S830に移行し、今回のラインスタートトリガ信号の入力に対応して、CISラインセンサ20から転送されてくる画素データ群を、全て破棄し、これを、画データ処理部43に転送しないようにする。その後、当該出力制御処理を終了する。
出力制御部41eは、このようにLED制御信号生成部41cと連携して、搬送対象が理想的な読取位置の付近で行った読取動作に対応するライン構成データを選択的に、下流に転送する。
(6)効果等
各色のライン構成データを組み合わせて原稿全体の画像データを生成する際に、ムラがないように原稿全体の画像データを生成するためには、各読取動作の受光時間を揃えて、生成されるライン構成データの輝度にムラが生じないようにする必要があると共に、副走査方向に等間隔に読み取られたライン構成データを用いて、原稿全体の画像データを構成する必要がある。
このため、従来では、一定時間で搬送対象が一定距離搬送される定速搬送時に生成された画素データのみを用いて、原稿全体の画像データを構築していたのであるが、定速搬送時のみの画素データを用いる場合には、読取効率が悪い。
例えば、コストの関係から大きなバッファを確保することができず、本実施例のように画像処理部43bでの処理遅れ等によって、バッファ45aの空き容量が不足する場合には、搬送動作を一時停止する必要があるが、加減速時の画素データを使用することができない場合には、中断地点で定速搬送状態となるように、搬送対象を一旦中断地点よりも前の地点まで戻す必要がある。よって、中断地点付近では二度同じ位置を搬送対象が移動することになり、効率が悪い。
また、ADF装置では、原稿を逆方向に搬送すると、ジャム等のトラブルが発生しやすくなるといった問題がある。更に言えば、原稿の逆走によりジャム等のトラブルが発生しないような構造を採用することが、コストや技術的な面から難しい。よって、ADF装置では、そもそも原稿を戻す方法を採用しにくいといった問題もある。
これに対して、本実施例の画像読取装置1では、バッファ45aの空き容量が不足して搬送動作を一旦中断する場合でも、中断地点より手前に搬送対象を戻さなくてもよい。
従って、本実施例の画像読取装置1によれば、読取効率を向上させることができ、高速に原稿を読み取ることができる。また、ADF装置のために、バッファ45aの容量を大きくする必要がないので、低コストに製品を製造することできるといった利点がある。
この他、本実施例の画像読取装置1によれば、赤ライン構成データ、緑ライン構成データ及び青ライン構成データの組合せからなる1ライン分の画素データ(ラインデータ)を単位として画素データを取捨選択するのではなく、ライン構成データを単位として取捨選択する画素データを選択するようにし、これを実現するために、ラインスタートトリガ信号が入力される度、搬送対象の位置を推定して、点灯対象色を切り替えるべきか否かを判断するようにした。
従って、本実施例によれば、画データ処理部43に転送する各ライン構成データの読取位置について、正当な読取位置からのズレ量を最大で三分の一ライン分に抑えることができ、1ライン分の画素データ(ラインデータ)を単位として画素データを取捨選択するよりも、画像ムラを抑制することができる。
即ち、各ラインデータを単位として画データ処理部43に転送する画素データを取捨選択する場合には、画データ処理部43に転送する各ライン構成データの正当な読取位置からのズレ量が最大で1ライン分になるが、本実施例によれば、ズレ量をその1/3に抑えることができるので、画像ムラを一層抑制することができる。
また、本実施例の画像読取装置1によれば、加減速時に生成されたライン構成データを適切に取捨選択することができるので、読取開始位置start_encを、搬送対象が定速搬送される前の地点に設定したり、全ライン分の読取動作が完了する前に、搬送対象を減速させ、減速状態で、最終ラインまでの読取動作を実行するように装置を構成することができる。
尚、全ライン分の読取動作が完了する前に、搬送対象を減速させる場合には、S120にて実行する処理を次のように変更すればよい。即ち、S120にて実行する処理を、搬送対象を定速搬送中に、搬送対象がCPU11から指定された減速開始位置に到達すると、減速を開始する処理に変更すればよい。
このようにすれば、原稿全体を読み取るのに必要なCISラインセンサ20の副走査方向の移動範囲が狭くなるので、画像読取装置1を副走査方向に小型化することができる。
また、本実施例では、出力制御部41eにて出力するライン構成データを取捨選択し、必要なライン構成データのみを画データ処理部43に転送するようにしたが、読取フロントエンド41では、ライン構成データを取捨選択せずに、全てのライン構成データを画データ処理部43に転送し、これらを一旦バッファ45aに格納した後、読取制御部21からRAM13にライン構成データを出力する際に、ライン構成データを取捨選択するようにしてもよい(変形例)。
このようにすれば、出力の末端でライン構成データを取捨選択するので、バッファ45aに不要なライン構成データが一時蓄積されることになるものの、上流側でライン構成データを取捨選択するときのように、下流の処理ブロックとの連携が複雑にならずに済む。
(7)変形例
続いて、変形例について説明する。但し、変形例の画像読取装置1は、ラインスタートトリガ信号生成部41a及び出力制御部41e及び画データ処理部43の一部構成が異なることを除けば、上述した実施例の画像読取装置1と同一構成である。従って、以下では、上述した実施例の画像読取装置1とは異なる構成を選択的に説明し、その他の説明を省略する。
まず、変形例のラインスタートトリガ信号生成部41aは、停止信号(stop_sig)が入力されると、その後、搬送対象が停止した時点(搬送速度がゼロになった時点)で、一旦ラインスタートトリガ信号の出力を停止し、CPU11から読取再開指令が入力されると、ラインスタートトリガ信号の出力を再開する構成にされている。本実施例では、このように、搬送対象が停止した時点で、ラインスタートトリガ信号の出力を停止することで、読取フロントエンド41から画データ処理部43へのライン構成データの転送を停止する処理を行う。
一方、出力制御部41eは、ラインスタートトリガ信号が、ラインスタートトリガ信号生成部41aから入力される度、CISラインセンサ20から転送されてくるライン構成データを画データ処理部43に転送する。
即ち、変形例の出力制御部41eは、ライン構成データを取捨選択せずに、CISラインセンサ20から入力される各ライン構成データを、順次、画データ処理部43に転送する。但し、この際には、ライン構成データに、当該ライン構成データに対応するデータ有効フラグを付して、ライン構成データ及びデータ有効フラグからなるデータを、画データ処理部43に入力する。
図13(a)は、出力制御部41eによるデータ出力態様及びデータ書込部43aによるバッファ45aへのデータ書込態様を概念的に示した説明図である。
データ書込部43aは、このようにして読取フロントエンド41から入力されるデータ有効フラグ及びライン構成データを受け付けて、データ有効フラグ及びライン構成データの組を、バッファ45aに書き込む。
この他、データ転送部43cは、図13(b)に示す処理を繰返し実行することにより、RAM13に転送するライン構成データを取捨選択する。図13(b)は、データ転送部43cが繰返し実行する処理を示したフローチャートである。
この処理を開始すると、データ転送部43cは、まず、処理データ記憶部45bに記憶されたRAM13への出力対象のライン構成データに付されたデータ有効フラグを参照する(S910)。尚、処理データ記憶部45bには、バッファ45aと同様の形態で、画像処理部43bでの処理を受けたライン構成データとそのデータ有効フラグとが記憶されているものとする。
そして、参照したデータ有効フラグがオンであると判断すると(S920でYes)、出力対象のライン構成データを、処理データ記憶部45bから読み出して、このライン構成データを、RAM13に書き込む(S930)。尚、データ有効フラグについては、ライン構成データと共に処理データ記憶部45bから読み出して、これをRAM13に書き込むことなく破棄する。
一方、参照したデータ有効フラグがオフであると判断すると(S920でNo)、データ転送部43cは、出力対象のライン構成データを、処理データ記憶部45bから読み出すものの、このライン構成データを、RAM13に書き込むことなく、破棄する(S940)。
データ転送部43cは、このような処理を、処理データ記憶部45bに記憶されたライン構成データ毎に実行して、データ有効フラグがオンに設定されているライン構成データのみを選択的に、RAM13に書き込む。
以上、変形例について説明したが、このようにしてライン構成データを取捨選択し、RAM13に書き込む形態でも、適切なライン構成データを選択的に、RAM13に出力することができる。
(8)その他
以上、本発明の実施例について説明したが、本発明の読取ユニットは、CISラインセンサ20に相当し、搬送手段は、キャリッジ106の搬送機構及びADF装置150及び駆動制御部17に相当する。また、読取制御手段は、ラインスタート信号生成部41bに相当し、計測手段は、エンコーダEN1,EN2及びエンコーダ処理部15に相当する。
この他、色切替手段は、LED制御信号生成部41cが実行するS780〜S790の処理にて実現され、判定手段は、LED制御信号生成部41cが実行するS710〜S775の処理にて実現されている。また、データ出力手段は、出力制御部41e及びデータ書込部43a及びデータ転送部43cにより実現されている。
また、本発明は、上記実施例に限定されるものではなく、種々の態様を採ることができる。例えば、上記実施例では、点灯対象色を切り替える時点を基準として、その切替直前の読取動作で生成された画素データを、有効データとして選択的にRAM13に出力するようにしたが、点灯対象色を切り替える時点を基準として、その切替直後の読取動作で生成された画素データを、選択的にRAM13に出力するように、画像読取装置1を構成してもよい。
但し、この場合には、S760において、搬送量Lと点灯対象色の次色の理想読取開始位置Dとの差Δ=L−Dがゼロ以上であるか否かを判断し、Δ≧0である場合に限って、S770に移行し、点灯対象色を切り替えるようにする。一方、Δ<0である場合には、S765に移行して、点灯対象色を切り替えないようにする。また、出力制御部41eにおいては、前サイクルのデータ有効フラグに基づいて、画素データを出力するか否かを切り替えるようにする。
このように、画像読取装置1を構成した場合であっても、上述した実施例と同様の効果を得ることができる。
1…画像読取装置、11…CPU、12…ROM、13…RAM、15…エンコーダ処理部、17…駆動制御部、20…CISラインセンサ、20R,20G,20B…LED、21…読取制御部、23…外部インタフェース、31…エンコーダエッジ検出部、33…位置検出部、35…速度検出部、37…駆動回路、39…モータ制御部、41…読取フロントエンド、41a…ラインスタートトリガ信号生成部、41b…ラインスタート信号生成部、41c…LED制御信号生成部、41d…転送クロック信号生成部、41e…出力制御部、43…画データ処理部、43a…データ書込部、43b…画像処理部、43c…データ転送部、43d…停止信号生成部、43e…再開信号生成部、45…ローカルRAM、45a…バッファ、45b…処理データ記憶部、49…駆動停止指令生成部、50R,50G,50B…ラインカウンタ、63…メモリコントローラ、101…装置本体、102…静止読取窓、102A,103A…プラテン、103…自動読取窓、104…原稿カバー、106…キャリッジ、107,108…プーリ、109…ベルト、111…ガイド軸、150…ADF装置、153…分離ローラ、154…分離パッド、155…吸入ローラ、159…給紙ローラ、160…ピンチローラ、161…原稿押さえ、162…排紙ローラ、164…原稿センサアクチュエータ、165,166…トレイ、201…受光素子群、203…シフトレジスタ、EN1,EN2…エンコーダ、MT1,MT2…モータ、RG1,RG2…レジスタ