トップ :: H 電気 :: H04 電気通信技術




【発明の名称】 画像読取装置、印刷装置及び画像読取方法
【発明者】 【氏名】中山 陽介

【氏名】鈴木 大志

【要約】 【課題】読み取り動作のスループットを向上させる。

【構成】本発明は、センサユニットと原稿とを相対的に移動させながら原稿の画像を読み取り、データを出力する画像読取部と、前記画像読取部を制御するとともに、前記画像読取部から出力されたデータをメモリにバッファするコントローラと、を備えた画像読取装置において、前記コントローラは、前記メモリにバッファされたデータ量に基づいて、前記センサユニットと前記原稿との相対的な移動速度を変更することを特徴とする。
【特許請求の範囲】
【請求項1】
センサユニットと原稿とを相対的に移動させながら原稿の画像を読み取り、データを出力する画像読取部と、
前記画像読取部を制御するとともに、前記画像読取部から出力されたデータをメモリにバッファするコントローラと、
を備えた画像読取装置において、
前記コントローラは、前記メモリにバッファされたデータ量に基づいて、前記センサユニットと前記原稿との相対的な移動速度を変更することを特徴とする画像読取装置。
【請求項2】
請求項1に記載の画像読取装置であって、
前記コントローラは、書き込みポインタ及び読み出しポインタに基づいて、前記メモリにバッファされたデータ量を算出することを特徴とする画像読取装置。
【請求項3】
請求項1に記載の画像読取装置であって、
前記コントローラは、前記メモリを制御するメモリ制御部を有し、
前記メモリ制御部は、前記メモリにバッファされたデータ量に応じた信号を出力し、
前記コントローラは、前記信号に基づいて、前記移動速度を変更する
ことを特徴とする画像読取装置。
【請求項4】
請求項1〜3に記載の画像読取装置であって、
前記コントローラは、前記メモリにバッファされたデータ量が所定の範囲を超えたときに、前記移動速度が遅くなるように前記画像読取部を制御することを特徴とする画像読取装置。
【請求項5】
請求項1〜4に記載の画像読取装置であって、
前記コントローラは、前記メモリにバッファされたデータ量が所定量に達しないときに、前記移動速度が速くなるように前記画像読取部を制御することを特徴とする画像読取装置。
【請求項6】
請求項1〜5に記載の画像読取装置であって、
前記コントローラは、
前記原稿の画像を読み取る際に、前記データ量と前記移動速度を記憶し、
記憶された前記データ量と前記移動速度との関係に基づいて、次の読み取り動作時における前記移動速度を制御する
ことを特徴とする画像読取装置。
【請求項7】
センサユニットと原稿とを相対的に移動させながら原稿の画像を読み取り、データを出力する画像読取部と、
前記画像読取部を制御するとともに、前記画像読取部から出力されたデータをメモリにバッファするコントローラと、
前記コントローラに制御され、前記データに基づいて前記原稿の画像を印刷する印刷部と、
を備えた印刷装置において、
前記コントローラは、前記メモリにバッファされたデータ量に基づいて、前記センサユニットと前記原稿との相対的な移動速度を変更することを特徴とする印刷装置。
【請求項8】
センサユニットと原稿とを相対的に移動させながら原稿の画像を読み取り、データを出力し、
前記データをメモリにバッファし、
前記メモリにバッファされたデータ量を検出し、
検出された前記データ量に基づいて、前記センサユニットと前記原稿との相対的な移動速度を変更する
ことを特徴とする画像読取方法。
【発明の詳細な説明】【技術分野】
【0001】
本発明は、画像読取装置、印刷装置及び画像読取方法に関する。
【背景技術】
【0002】
原稿から画像を読み取る読取装置としてスキャナが知られている。一般的なスキャナは、光源やCCDセンサなどを搭載した読取キャリッジを移動させ、原稿全体の画像を読み取る。原稿から画像を読み取る際に、読取キャリッジは、停止状態から加速し、一定速度移動し、減速し、停止する。そして、読取キャリッジが一定速度で移動しているときに、原稿から画像が読み取られる。
【特許文献1】特開平7−36123号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
上記のスキャナでは、1ライン分のデータが順次転送されてくる。そして、スキャナを制御するコントローラは、転送されてくるデータをメモリにバッファしている。
バッファが一杯になると、読み取り動作を中断する必要がある。しかし、読み取り動作の中断が繰り返されると、読み取り動作のスループットが低下する。
本発明は、読み取り動作のスループットを向上することを目的とする。
【課題を解決するための手段】
【0004】
上記課題を解決するための主たる発明は、読取キャリッジを移動させながら原稿の画像を読み取り、データを出力する画像読取部と、前記画像読取部を制御するとともに、前記画像読取部から出力されたデータをメモリにバッファするコントローラと、を備えた画像読取装置において、前記コントローラは、前記メモリにバッファされたデータ量に基づいて、前記読取キャリッジの移動速度を変更することを特徴とする。
【0005】
本発明の他の特徴については、本明細書及び添付図面の記載により明らかにする。
【発明を実施するための最良の形態】
【0006】
===開示の概要===
本明細書及び添付図面の記載により、少なくとも、以下の事項が明らかとなる。
【0007】
センサユニットと原稿とを相対的に移動させながら原稿の画像を読み取り、データを出力する画像読取部と、
前記画像読取部を制御するとともに、前記画像読取部から出力されたデータをメモリにバッファするコントローラと、
を備えた画像読取装置において、
前記コントローラは、前記メモリにバッファされたデータ量に基づいて、前記センサユニットと前記原稿との相対的な移動速度を変更することを特徴とする画像読取装置。
このような画像読取装置によれば、読み取り動作のスループットを向上できる。
【0008】
また、前記コントローラは、書き込みポインタ及び読み出しポインタに基づいて、前記メモリにバッファされたデータ量を算出することが望ましい。これにより、バッファされたデータ量をソフトウェア上で検出できる。
【0009】
また、前記コントローラは、前記メモリを制御するメモリ制御部を有し、前記メモリ制御部は、前記メモリにバッファされたデータ量に応じた信号を出力し、前記コントローラは、前記信号に基づいて、前記移動速度を変更することが望ましい。これにより、バッファされたデータ量をハードウェアで検出できる。
【0010】
また、前記コントローラは、前記メモリにバッファされたデータ量が所定の範囲を超えたときに、前記移動速度が遅くなるように前記画像読取部を制御することが望ましい。これにより、読み取り動作の中断を回避できる。
【0011】
また、前記コントローラは、前記メモリにバッファされたデータ量が所定量に達しないときに、前記移動速度が速くなるように前記画像読取部を制御することが望ましい。これにより、読み取り動作のスループットを向上できる。
【0012】
また、前記コントローラは、前記原稿の画像を読み取る際に、前記データ量と前記移動速度を記憶し、記憶された前記データ量と前記移動速度との関係に基づいて、次の読み取り動作時における前記移動速度を制御することが望ましい。これにより、読み取り動作のスループットを向上できるとともに、読み取り動作の中断を回避できる。
【0013】
センサユニットと原稿とを相対的に移動させながら原稿の画像を読み取り、データを出力する画像読取部と、
前記画像読取部を制御するとともに、前記画像読取部から出力されたデータをメモリにバッファするコントローラと、
前記コントローラに制御され、前記データに基づいて前記原稿の画像を印刷する印刷部と、
を備えた印刷装置において、
前記コントローラは、前記メモリにバッファされたデータ量に基づいて、前記センサユニットと前記原稿との相対的な移動速度を変更することを特徴とする印刷装置。
このような印刷装置によれば、印刷動作のスループットを向上できる。
【0014】
センサユニットと原稿とを相対的に移動させながら原稿の画像を読み取り、データを出力し、
前記データをメモリにバッファし、
前記メモリにバッファされたデータ量を検出し、
検出された前記データ量に基づいて、前記センサユニットと前記原稿との相対的な移動速度を変更する
ことを特徴とする画像読取方法。
このような画像読取方法によれば、読み取り動作のスループットを向上できる。
【0015】
===印刷システムの構成===
図1は、本実施形態のSPC複合装置の全体図である。図2は、SPC複合装置の構成のブロック図である。本実施形態のSPC複合装置1は、原稿から画像を読み取るためのスキャナ機能、外部のコンピュータからの印刷データに基づいて画像を紙に印刷するプリンタ機能、スキャナ機能により入力した画像を紙に印刷するコピー機能を有する複合装置である。
【0016】
このSPC複合装置1は、プリンタ部10(印刷部に相当)と、スキャナ部20(画像読取部に相当)と、パネル部30と、コントローラ50と、メモリ60とを有する。プリンタ部10の主な構成要素は、SPC複合装置1の下部に設けられている。スキャナ部20は、プリンタ部10の上方に設けられている。パネル部30は、ユーザが操作し易いように、SPC複合装置1の前面に設けられている。
【0017】
図3は、SPC複合装置1におけるプリンタ部10の説明図である。プリンタ部10は、紙を搬送する搬送ユニット(不図示)と、インクを吐出するヘッドを移動させるキャリッジ16とを有し、搬送ユニットによる搬送動作と、移動するヘッドからインクを吐出するドット形成動作とを交互に繰り返すことにより、いわゆるインクジェット方式により紙に印刷を行う。不図示の搬送ユニットは、SPC複合装置1の背面の給紙部12にセットされた紙を給紙し、SPC複合装置1の前面の排紙部14へ印刷された紙を排紙する。SPC複合装置1の上部に設けられたスキャナ部20を持ち上げると、プリンタ部10のキャリッジ16が露出し、キャリッジに搭載されるインクカートリッジ162の交換が可能になる。
【0018】
図4は、SPC複合装置1におけるスキャナ部20の説明図である。スキャナ部20は、上蓋21と、載置ガラス22とを有する。載置ガラス22に原稿5が置かれたときに上蓋21を閉じると、原稿5が載置ガラス22に押圧されて原稿が平らになり、原稿5がスキャナ部20にセットされる。なお、スキャナ部20の主な構成については、後述する。
【0019】
パネル部30は、液晶ディスプレイと、各種のボタンを有する。ユーザは、各種のボタンを押すことにより、SPC複合装置1に対して情報を入力することができる。例えば、ユーザがパネル部30のコピーボタンを押すことにより、SPC複合装置1にコピーを行わせることができる。
【0020】
コントローラ50は、プリンタ部10やスキャナ部20等を制御し、SPC複合装置の全体の制御を行う。このコントローラ50は、不図示のCPUやASIC等から構成される。また、CPUの演算領域やプログラムの記憶領域を確保するメモリ60もコントローラ50の一部を構成する。後述するコントローラ50の機能は、ソフトウェアによって実現されても良いし、ハードウェアによって実現されても良いし、ソフトウェア及びハードウェアの協働によって実現されても良い。
【0021】
<プリンタ機能について>
図5は、プリンタ機能時のデータの流れの説明図である。
コンピュータ3には、予めSPC複合装置1のプリンタドライバがインストールされている。そして、プリンタドライバは、コンピュータ3に、アプリケーションソフトにより作成された画像データを印刷データに変換させる。この印刷データには、コマンドデータと画素データとが含まれている。コマンドデータは、SPC複合装置1のプリンタ部を制御するためのデータである。画素データは、印刷画像を構成するドットの有無・色・階調に関するデータである。そして、プリンタドライバは、コンピュータに、印刷データをSPC複合装置1に送信させる。
コントローラ50は、コンピュータ3から送られてきた印刷データを、コマンドデータと画素データとに分離して、メモリ60にバッファする。そして、コントローラ50は、受信したコマンドデータに基づいてプリンタ部10を制御し、画素データに基づいてヘッドからインクを吐出させ、印刷を行う。これにより、SPC複合装置1は、外部のコンピュータ3からの印刷データに基づいて画像を紙に印刷するプリンタとして機能する。
【0022】
<スキャナ機能について>
図6は、スキャナ機能時のデータの流れの説明図である。
コンピュータ3には、予めSPC複合装置1のスキャナドライバがインストールされている。また、ユーザは、予めスキャナ部20に原稿5をセットする。そして、ユーザは、コンピュータ3上でスキャナドライバの設定を行い、例えば読取解像度、白黒・カラー、読み取り範囲などの設定を行う。
ユーザがコンピュータ上でスキャナドライバによりスキャン開始を指示すると、スキャナドライバは、コンピュータ3に、ユーザの設定内容に応じた制御データをSPC複合装置1に送信させる。
コントローラ50は、受信した制御データに基づいてスキャナ部20を制御し、スキャナ部20から原稿5の画像データを取得する。スキャナ部20から取得した画像データは、メモリ60に一旦バッファされる。そして、コントローラ50は、取得した画像データをコンピュータ3に送信する。これにより、SPC複合装置1は、原稿5の画像を読み取るスキャナとして機能する。
【0023】
<コピー機能について>
図7は、コピー機能時のデータの流れの説明図である。
ユーザは、予めスキャナ部20に原稿5をセットする。そして、ユーザは、パネル部30を操作して、紙の大きさ、原稿の大きさ、倍率、コピーモード(はやい/きれい)等の設定を行う。
【0024】
ユーザがパネル部30のコピーボタンを押すと、印刷開始を示す開始信号がパネル部30からコントローラ50へ送られる。コントローラ50は、ユーザの設定内容に応じた制御データに基づいてスキャナ部20を制御し、スキャナ部20から原稿5の画像データを取得する。スキャナ部20から取得した画像データは、メモリ60に一旦バッファされる。
【0025】
スキャナ部20から取得した画像データは、例えば256階調のRGB(レッド、グリーン、ブルー)のデータである。コントローラ50は、このデータを、256階調のCMYK(シアン、マゼンタ、イエロー、ブラック)のデータに変換する(色変換する)。なお、色変換に必要な色変換テーブルは、メモリ60に格納されている。次に、コントローラ50は、256階調のCMYKデータを2階調のCMYKデータに変換する(ハーフトーン処理する)。この2階調のCMYKデータが、印刷データの画素データを構成する。なお、256階調のデータを2階調のデータに変換するための変換テーブルも、メモリ60に格納されている。また、変換された2階調のデータも、メモリ60にバッファされる。
【0026】
画像データが印刷データに変換された後、コントローラ50は、この印刷データに基づいてプリンタ部10を制御して印刷を行う。これにより、SPC複合装置1は、コピー機として機能する。
【0027】
===スキャナ部20の構成===
<スキャナ部20の全体構成について>
図8は、スキャナ部20の構成の説明図である。スキャナ部20は、上蓋21及び載置ガラス22のほかに、読取キャリッジ23と、駆動ユニット24と、エンコーダ25と、センサユニット70とを更に有する。
【0028】
読取キャリッジ23は、ガイド231により移動方向(副走査方向)に沿って移動可能である。この読取キャリッジ23にはセンサユニット70が収容されている。
駆動ユニット24は、駆動モータ241と、プーリ242と、タイミングベルト243とを有する。駆動モータ241が駆動すると、プーリ242が回転されて、タイミングベルト243も回転する。タイミングベルト243の一部が読取キャリッジ23と接合されており、タイミングベルト243が回転すると、読取キャリッジ23がガイド231に沿って移動方向に移動する。
エンコーダ25は、駆動モータ241の回転量を検出する。エンコーダ25の検出結果は、コントローラ50に出力される。コントローラ50は、駆動モータ241の回転量を検出すれば、読取キャリッジ23の位置を検出することができる。
【0029】
センサユニット70は、光源71と、光学系72と、CCDセンサ73とを有する。光源71は、原稿5に光を照射する。光源71は、RGBの3色のLEDを有し、R点灯→G点灯→B点灯→消灯を順次切り替える。光学系72は、原稿5からの反射光をCCDセンサ73へ結像させる。CCDセンサ73は、受けた光に応じた信号を出力する。CCDセンサ73は、コントローラ50によって制御され、Rデータ→Gデータ→Bデータを画像データとしてコントローラ50へ順次出力することになる。
センサユニット70は、原稿5において、主走査方向に長いライン状の領域の画像を読み取る。このセンサユニット70が読取キャリッジ23により移動方向(副走査方向)に移動することによって、スキャナ部20は原稿5の全体の画像を読み取ることができる。
【0030】
<各種信号について>
図9は、各種信号のタイミングの説明図である。
【0031】
A相信号(ENC A)及びB相信号(ENC B)は、エンコーダ25から出力される信号である。読取キャリッジ23が1/4800インチずつ進むごとに、1パルス分のA相信号及びB相信号が出力される。なお、A相信号とB相信号は、位相が90度ずれている。
【0032】
ポジショントリガ信号は、エンコーダ25の出力に基づいてコントローラ50がスキャナ部20へ出力する制御信号である。コントローラ50は、A相信号の立ち上がりエッジが4回あるごとに、パルス信号をポジショントリガ信号として出力する。つまり、ポジショントリガ信号は、読取キャリッジ23が1/1200インチずつ進むごとに出力される。
【0033】
ポジショントリガ信号がスキャナ部20に入力されると、光源71の3色のLEDのうちのRのLEDが6msの蓄積時間だけ点灯する。RのLEDの点灯後、GのLEDが6msの蓄積時間だけ点灯する。GのLEDの点灯後、BのLEDが6msの蓄積時間だけ点灯する。BのLEDの点灯後、次のポジショントリガ信号が入力されるまで、光源71は消灯する。図に示すとおり、ここでは消灯時間はToffである。
【0034】
また、RのLEDの点灯後、GのLEDの点灯中に、CCDセンサ73からRデータが転送される。GのLEDの点灯後、BのLEDの点灯中に、CCDセンサ73からGデータが転送される。BのLEDの点灯後、消灯時間中に、CCDセンサ73からBデータが転送される。各色のデータの転送は、転送時間Ttrnの間に行われる。転送時間Ttrnは、6msよりも短い時間である。
【0035】
読取キャリッジ23の移動速度が変わると、ポジショントリガ信号の周期が変わってくる。この結果、光源71の消灯時間Toffの時間も変わってくる。但し、Bデータの転送は、消灯時間中に行われるため、消灯時間Toffは、転送時間Ttrnよりも長く設定する必要がある。したがって、読取キャリッジ23の移動速度Vの最高速度Vmaxは、この条件(Toff≧Ttrn)を満たすように決められている。
【0036】
スキャナ部20は、読取キャリッジ23が1/1200インチずつ進むごとに、1ライン分のRGBデータを出力することになる。このため、読取キャリッジ23の移動速度が速くなると、スキャナ部20から出力されるデータ速度が速くなる。また、読取キャリッジ23の移動速度が遅くなると、スキャナ部20から出力されるデータ速度が遅くなる。
【0037】
<読取キャリッジ23の移動制御>
図10は、スキャナ部20の駆動モータ241を制御するコントローラ50の機能的な構成の説明図である。
【0038】
コントローラ50は、速度演算部524と、減算部525と、PID演算部526と、PWM回路527とを有する。図中の構成要素のうちの速度演算部524、減算部525及びPID演算部526の機能は、ソフトウェアによって実現される。PWM回路527はハードウェアによって実現される。このように、図中のコントローラ50の機能は、ソフトウェアとハードウェアによって実現される。
【0039】
速度演算部524は、エンコーダ25の出力(ENC A、ENC B)のエッジの周期を計時し、この周期に基づいて読取キャリッジ23の速度(若しくは駆動モータ241の回転速度)を演算する。減算部525は、目標速度と、速度演算部524により検出された速度との差(速度偏差)を演算する。PID演算部526は、比例要素526Aと、積分要素526Bと、微分要素526Cと、加算要素526Dとを有する。比例要素526Aは、速度偏差に比例ゲインGpを乗算し、比例成分を算出する。積分要素526Bは、速度偏差に積分ゲインGiを乗算したものを積算し、積分成分を算出する。微分要素526Cは、現在の速度偏差と、1つ前の速度偏差との差に微分ゲインGdを乗算し、微分成分を算出する。加算要素526Dは、比例成分、積分成分及び微分成分を合計する。この合計結果は、デューティ信号として、PWM回路527へ出力される。PWM回路527は、ディユーティ信号に基づいて、駆動モータ241を制御するための駆動信号を出力する。
【0040】
図11は、メモリ60に格納されているゲインテーブルの説明図である。ゲインテーブルは、目標速度とゲインGp、Gi、Gdの値とを対応付けたテーブルであり、メモリ60に格納されている。
PID制御では、現実の速度(この場合、駆動モータの回転速度又は読取キャリッジ23の移動速度)が目標速度に精度良く追従するように、目標速度に応じてゲインが設定されている。そして、コントローラ50は、目標速度をキーにしてゲインテーブルを参照し、参照結果に基づいてPID演算部526の各ゲインGp、Gi、Gdの値を決定する。
後述するように目標速度が変更された場合、コントローラ50は、目標速度を変更するタイミングで各ゲインGp、Gi、Gdを変更する。
【0041】
===バッファリング===
<FIFOメモリの構成>
コントローラ50は、SPC複合装置1をスキャナとして機能させるとき、又はSPC複合装置1をコピー機として機能させるとき、スキャナ部20から送られてくるデータをメモリ60にバッファする。このとき、コントローラ50は、メモリ60の一部の領域をFIFOメモリとして活用している。なお、FIFOメモリとして活用されるメモリの領域は、原稿の1頁分の画像データを格納するよりも少ないメモリ領域である。
【0042】
FIFOメモリとして活用するためのコントローラ50の構成は、ソフトウェアでもハードウェアでも構成することができる。ここでは、ソフトウェアで構成する場合について説明する。
【0043】
図12A〜図12Dは、FIFOメモリの説明図である。図12Aは、ポインタの説明図である。図12Bは、書き込むときの動作の説明図である。図12Cは、読み出すときの動作の説明図である。図12Dは、バッファ領域を超えて書き込むときの動作の説明図である。
【0044】
まず、コントローラ50は、一定のバッファ領域を確保する。コントローラ50は、図12Aの上ほど新しいデータになるようにデータを格納し、バッファ領域を超えたらはじめに戻るようにし、見かけ上、このバッファ領域をリング状に扱う。また、コントローラ50は、データをメモリに書き込むためのアドレスを管理する書き込みポインタと、読み出すためのアドレスを管理する読み出しポインタとを用意する。書き込みポインタと読み出しポインタとの間のアドレスには、既にバッファされているデータが格納されている。
【0045】
図12Bに示すように、データを書き込むとき、コントローラ50は、書き込みポインタの示すアドレスにデータを格納する。そして、コントローラ50は、書き込みポインタの示すアドレスを一つ進める(書き込みポインタを上に上げる)。
【0046】
図12Cに示すように、データを読み出すとき、コントローラ50は、読み出しポインタの示すアドレスのデータを読み出す。そして、コントローラ50は、読み出しポインタの示すアドレスを一つ進める(読み出しポインタを上に上げる)。
【0047】
図12Dに示すように、書き込みポインタがバッファ領域を超えるとき、コントローラ50は、バッファ領域の先頭アドレスに書き込みポインタを戻す。これにより、先頭アドレスにデータが書き込まれるようになる。同様に、読み出しポインタがバッファ領域を超えるとき、コントローラは、バッファ領域の先頭アドレスに読み出しポインタを戻す。これにより、先頭アドレスからデータが読み出されるようになる。
【0048】
書き込みポインタと読み出しポインタとの間のアドレスには、既にバッファされているデータが格納されている。このため、コントローラ50は、書き込みポインタと読み出しポインタを参照すれば、バッファされているデータ量を検出できる。
【0049】
<ステータスについて>
図13は、バッファされているデータ量とステータスとの関係の説明図である。ここでは、読み出しポインタのアドレスが一番下になるようにリングバッファが描かれている。図中の斜線部分は、バッファされているデータを示している。
【0050】
バッファ領域一杯までデータが格納されると、ステータスは「FULL」になる。所定のデータ量を格納するとステータスがFULLになる状態のとき、ステータスは「NEAR FULL」になる。一方、バッファ領域にデータが格納されていないとき、ステータスは「EMPTY」になる。また、「EMPTY」から所定のデータ量を格納した状態のとき、ステータスは「NEAR EMPTY」になる。
【0051】
書き込まれるデータ量と読み出されるデータ量が同じであれば、バッファされるデータ量は一定である。但し、書き込まれるデータ量が読み出されるデータ量よりも多いと、バッファされるデータ量は増える。逆に、書き込まれるデータ量が読み出されるデータ量よりも少ないと、バッファされるデータ量は減る。
言い換えると、書き込まれるデータの速度が読み出されるデータの速度よりも速いと、バッファされるデータ量は増えていくことになる。また、書き込まれるデータの速度が読み出されるデータの速度よりも遅いと、バッファされるデータ量は減っていくことになる。
【0052】
なお、図中の「Target_Min」、「Target」及び「Target_Max」については、後述する。
【0053】
===本実施形態の説明===
<参考説明>
スキャナ部20から送られてくるデータの転送速度が、FIFOメモリからのデータ読み出し速度よりも速い場合、FIFOメモリにバッファされるデータ量は増え続けることになる。この状況が続くと、ステータスが「NEAR FULL」になる。
【0054】
ステータスが「NEAR FULL」になると、コントローラ50は、読み取り動作を中断する。具体的には、コントローラ50は、移動中の読取キャリッジ23を停止させ、光源71を消灯する。その後、コントローラ50は、読取キャリッジ23の位置を少し戻す。そして、ステータスが「NEAR EMPTY」になるまで、コントローラ50は、この状態で待機する。
そして、バッファされたデータが読み出された結果、ステータスが「NEAR EMPTY」に切り替わると、コントローラ50は、読取キャリッジ23を移動方向に移動させ、中断された読み取り位置からの読み取り動作をスキャナ部20に行わせる。
【0055】
このように、ステータスが「NEAR FULL」になると、スキャン動作の完了が遅れてしまい、スループットが低下する。また、読み取り動作の中断・再開を繰り返すと、読み取り位置の誤差が生じやすくなり、読み取り精度が低下するおそれがある。また、読み取り動作の中断・再開を繰り返すと、光源71を安定して動作させられず、読み取り結果に色ムラが生じるおそれがある。
【0056】
<本実施形態の読み取り動作>
図14は、本実施形態の読み取り動作のフロー図である。
本実施形態では、読取キャリッジ23の移動速度を変更することによって、スキャナ部20から送られてくるデータの転送速度を遅くして、メモリにバッファされるデータ量を調整している。これにより、本実施形態によれば、読み取り動作が中断されることを回避している。
以下、各動作について説明する。
【0057】
<1回目の読み取り動作(S101)>
まず、コントローラ50は、1回目の読み取り動作を行う(S101)。すなわち、コントローラ50は、デフォルトの目標速度に基づいて駆動モータ241を駆動し、読取キャリッジ23を移動方向に移動させ、読取キャリッジ23が1/1200インチずつ進むごとに1ライン分のRGBデータをスキャナ部20から取得する。前述の通り、スキャナ部20から送られてくるデータは、メモリ60のうちのFIFOメモリとして定義されているバッファ領域に格納される。そして、スキャナ機能時であれば、コントローラ50は、バッファされたデータを読み出し、外部のコンピュータ3に送信する(図6参照)。また、コピー機能時であれば、コントローラ50は、バッファされたデータを読み出して印刷データに変換し、印刷データに基づいてプリンタ部10を制御して印刷を行う(図7参照)。
【0058】
1回目の読み取り動作中に、コントローラ50は、所定周期ごとにタイマー割り込みし、FIFOメモリにバッファされているデータ量と目標速度とを対応付けたテーブルをメモリ60に記憶する。バッファされているデータ量は、前述の通り、書き込みポインタと読み出しポインタに基づいて算出される。
図15は、データ量と目標速度とを対応付けたテーブルの説明図である。ここでは、n回の割り込みが行われ、そのときのFIFOメモリにバッファされているデータ量と目標速度とが対応付けられてテーブルに記憶される。
【0059】
また、1回目の読み取り動作中に、コントローラ50は、目標速度の更新を判定する。具体的には、バッファされているデータ量をLnumとしたときに、コントローラ50は、Target_Min≦Lnum≦Target_Maxの範囲か否かを判定し、Lnumがこの範囲内であれば現在の目標速度を維持する。Lnumがこの範囲内であれば、読み取り動作を中断せずに済むからである。一方、コントローラ50は、Lnum<Target_Minであれば、現在の目標速度よりも速い速度になるように目標速度を変更する。これにより、読み取り動作のスループットを向上できる。また、コントローラ50は、Lnum>Target_Maxであれば、現在の目標速度よりも遅い速度になるように目標速度を変更する。このままではステータスが「NEAR FULL」に達してしまい、読み取り動作が中断されるおそれがあるからである。なお、前述の通り、目標速度を変更したとき、PID演算部526(図10参照)のゲインの値も変更される(図11参照)。
【0060】
なお、目標速度が変更された結果、読取キャリッジ23の移動速度が変更されるが、読取キャリッジ23が1/1200インチずつ進むごとに1ライン分のRGBデータがスキャナ部20から出力されることには変わりはない(出力されるデータ速度が変わるだけである)。このため、目標速度が変更されても、読み取り結果である画像データの示す画像が歪むことはない。
【0061】
<関係式の算出(S102)>
次に、コントローラ50は、図15のテーブルに基づいて、データ量と目標速度との関係式を算出する。具体的には、コントローラ50は、最小二乗法に基づいて、データ量と目標速度との一次近似式Lnum=a×V+bの係数a、bを算出する。なお、係数a、bは、次式のように求められる。
【数1】


【0062】
<目標速度の決定(S103)>
図16は、目標速度の決定の説明図である。図中のグラフの横軸は目標速度であり、縦軸はデータ量Lnumである。図中の黒丸は、S101で記憶したデータ量・目標速度のプロットであり、図中の直線は、S102で算出された近似式Lnum=a×V+bである。
【0063】
前述の図15の「Target」は、2回目以降の読み取り動作中のデータ量Lnumの理想値である。この「Target」は、「Target_Min」と「Target_Max」の間の値であり、具体的には「Target_Min」と「Target_Max」の中間値である。
【0064】
コントローラ50は、次式に基づいて、「Target」に対応する目標速度V’を算出する。
【数2】


【0065】
なお、目標速度V’は、最低速度Vmin以上、最高速度Vmax以下の範囲にしなければならないので、コントローラ50は、この範囲内で目標速度V’を決定する。上式で算出された目標速度V’がこの範囲内であれば、コントローラ50は、算出された目標速度V’を、そのまま次の読み取り動作時の目標速度にする。仮に、上式で算出された目標速度V’が最低速度Vminより小さければ、コントローラ50は、目標速度V’をVminに変更する。また、上式で算出された目標速度V’が最高速度Vmaxより大きければ、コントローラ50は、目標速度V’をVmaxに変更する。
【0066】
<2回目以降の読み取り動作(S104)>
次に、コントローラ50は、2回目以降の読み取り動作を行う。このとき、コントローラ50は、S103で決定された目標速度V’に基づいて駆動モータ241を駆動する。この目標速度V’で駆動モータ241を駆動して読み取り動作を行えば、読み取り動作中にFIFOメモリにバッファされるデータ量Lnumが、Target_Min≦Lnum≦Target_Maxの範囲になる。このため、読み取り動作の中断は生じず、また、読み取り動作速度が必要以上に低速になっていないので、読み取り動作のスループットが向上する。
【0067】
なお、S103で決定された目標速度V’に基づいて読み取り動作が行われたにも関わらず、バッファされるデータ量LnumがTarget_Min≦Lnum≦Target_Maxの範囲から外れた場合、コントローラ50は、前述のS101の場合と同様に、目標速度を調整しても良い。また、2回目以降の読み取り動作の際に、コントローラ50は、前述のS101〜S103と同様の動作を行い、更に次の読み取り動作時の目標速度を決定しても良い。
【0068】
===その他の実施の形態===
上記の実施形態は、主としてSPC複合装置について記載されているが、その中には、画像読取装置(スキャナ)、画像読取方法等の開示が含まれていることは言うまでもない。
【0069】
また、一実施形態としてのSPC複合装置等を説明したが、上記の実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれることは言うまでもない。
【0070】
<SPC複合装置について>
前述の実施形態では、画像読取装置の一例としてSPC複合装置1が説明されている。但し、画像読取装置は、SPC複合装置1に限られるものではない。画像読取装置は、いわゆるスキャナ単体であっても良い。
但し、SPC複合装置1に前述の実施形態の読み取り動作を適用することによって、コピー時の印刷動作のスループットを向上させることができる。
【0071】
<スキャナ部について>
前述の実施形態では、読取キャリッジ23が移動しているため、原稿に対してセンサユニット70が移動している。しかし、これに限られるものではない。要するに、センサユニットと原稿との間で相対的な移動があればよい。このため、原稿がセンサユニット70に対して移動しても良い。この場合、原稿を移動させるための原稿移動機構を用意し、センサユニット70に対する原稿の移動速度を変更することによって、スキャナ部20から送られてくるデータの転送速度を遅くして、メモリにバッファされるデータ量を調整することになる。
【0072】
<FIFOメモリについて>
前述の実施形態では、FIFOメモリをソフトウェアで構成している。しかし、これに限られるものではない。コントローラ50は、ハードウェアで構成されたFIFOメモリを備えていても良い。この場合、コントローラ50は、データをバッファするためのメモリと、このメモリを制御するためのメモリコントローラ(メモリ制御部に相当)と呼ばれるLSIとを備える。メモリコントローラは、Full信号、NearFull信号、NearEmpty信号、Empty信号を出力するだけでなく、バッファされたデータ量が前述の「Target_Min」に達したときにHレベルになるTarget_Min信号や、バッファされたデータ量が前述の「Target_Max」に達したときにHレベルになるTarget_Max信号を出力するように構成される。
【0073】
そして、コントローラ50は、Target_Min信号がHレベルであり、Target_Max信号がLレベルであれば、現在の目標速度を維持する。但し、コントローラ50は、Target_Min信号がLレベルになれば、目標速度が速くなるようにする。また、Target_Max信号がHレベルになれば、目標速度が遅くなるようにする。
このようにすれば、コントローラ50は、ハードウェアを用いて、メモリにバッファされたデータ量に基づいて目標速度を変更することができる。
【図面の簡単な説明】
【0074】
【図1】本実施形態のSPC複合装置の全体図である。
【図2】SPC複合装置の構成のブロック図である。
【図3】SPC複合装置におけるプリンタ部の説明図である。
【図4】SPC複合装置におけるスキャナ部の説明図である。
【図5】プリンタ機能時のデータの流れの説明図である。
【図6】スキャナ機能時のデータの流れの説明図である。
【図7】コピー機能時のデータの流れの説明図である。
【図8】スキャナ部の構成の説明図である。
【図9】各種信号のタイミングの説明図である。
【図10】スキャナ部20の駆動モータ241を制御するコントローラ50の機能的な構成の説明図である。
【図11】メモリ60に格納されているゲインテーブルの説明図である。
【図12】図12A〜図12Dは、FIFOメモリの説明図である。図12Aは、ポインタの説明図である。図12Bは、書き込むときの動作の説明図である。図12Cは、読み出すときの動作の説明図である。図12Dは、バッファ領域を超えて書き込むときの動作の説明図である。
【図13】バッファされているデータ量とステータスとの関係の説明図である。
【図14】本実施形態の読み取り動作のフロー図である。
【図15】データ量と目標速度とを対応付けたテーブルの説明図である。
【図16】目標速度の決定の説明図である。
【符号の説明】
【0075】
1 SPC複合装置、3 コンピュータ、5 原稿
10 プリンタ部、12 給紙部、14 排紙部、
16 キャリッジ、162 インクカートリッジ、
20 スキャナ部、21 上蓋、22 載置ガラス、
23 読取キャリッジ、231 ガイド、
24 駆動ユニット、241 駆動モータ、242 プーリ、
243 タイミングベルト、
25 エンコーダ、30 パネル部、
50 コントローラ、524 速度演算部、525 減算部、
526 PID演算部、527 PWM回路、
60 メモリ、70 センサユニット、
71 光源、72 光学系、73 CCDセンサ
【出願人】 【識別番号】000002369
【氏名又は名称】セイコーエプソン株式会社
【出願日】 平成18年9月15日(2006.9.15)
【代理人】 【識別番号】110000176
【氏名又は名称】一色国際特許業務法人


【公開番号】 特開2008−72642(P2008−72642A)
【公開日】 平成20年3月27日(2008.3.27)
【出願番号】 特願2006−251571(P2006−251571)