(57)【要約】      （修正有）【課題】原稿分離性能を損なわずに、良好な品質の画像データを取得できる画像読取装置及びその制御方法、プログラムを提供する。【解決手段】画像読取装置は、原稿を給紙する給紙部と、給紙される原稿の画像を読み取る読取部と、画像データを圧縮する画像圧縮部と、所定サイズの記憶部と、装置の動作を制御する制御部とを備える。画像読取装置は、読取部によって得られる原稿の画像データを圧縮し、得られる圧縮画像データを記憶部に記憶する。画像読取装置は、得られる圧縮画像データの圧縮画像データサイズを検出して、給紙部によって新たな原稿を給紙するまでに検出した圧縮画像データサイズの内の最大の圧縮画像データサイズを検出する。画像読取装置は、給紙部によって新たな原稿を給紙しようとする際に、最大の圧縮画像データサイズが記憶部の空き容量未満である場合、給紙部による新たな原稿の給紙を許可する。【選択図】図３
2012222625.tif 000002
【特許請求の範囲】
【請求項１】
原稿の画像を読み取る画像読取装置であって、
原稿を装置内部へ給紙する給紙手段と、
前記給紙手段で給紙される前記原稿の画像を読み取る読取手段と、
前記読取手段によって得られる前記原稿の画像データを圧縮する画像圧縮手段と、
前記画像圧縮手段で得られる圧縮画像データを記憶する所定サイズの記憶手段と、
前記画像圧縮手段で得られる圧縮画像データの圧縮画像データサイズを検出して、前記給紙手段によって新たな原稿を給紙するまでに検出した圧縮画像データサイズの内の最大の圧縮画像データサイズを検出する検出手段と、
前記給紙手段によって新たな原稿を給紙しようとする際に、前記最大の圧縮画像データサイズが前記記憶手段の空き容量未満である場合、前記給紙手段による前記新たな原稿の給紙を許可する制御手段と
を備えることを特徴とする画像読取装置。
【請求項２】
原稿の画像を読み取る画像読取装置であって、
原稿を装置内部へ給紙する給紙手段と、
前記給紙手段で給紙される前記原稿の画像を読み取る読取手段と、
前記読取手段によって得られる前記原稿の画像データを圧縮する画像圧縮手段と、
前記画像圧縮手段で得られる圧縮画像データを記憶する所定サイズの記憶手段と、
前記給紙手段による前記原稿の給紙を許可する前記記憶手段の給紙許可空き容量を記憶する給紙許可空き容量記憶手段と、
前記給紙手段による前記原稿の給紙時の前記記憶手段の給紙時空き容量を記憶する給紙時空き容量記憶手段と、
前記読取手段による前記原稿の読取中に前記記憶手段の空き容量が低下することによって読取を中断した場合、前記給紙手段による前記原稿の給紙時の前記給紙時空き容量を前記給紙時空き容量記憶手段から取得し、該給紙時空き容量以上の値を前記給紙許可空き容量として前記給紙許可空き容量記憶手段に設定する設定手段と、
前記給紙手段によって新たな原稿を給紙しようとする際に、前記設定手段で設定された給紙許可空き容量が前記記憶手段の空き容量未満である場合、前記給紙手段による前記新たな原稿の給紙を許可する制御手段と
を備えることを特徴とする画像読取装置。
【請求項３】
外部接続される情報処理装置から受信するコマンドに応じて、前記記憶手段に記憶された圧縮画像データを前記情報処理装置へ転送する転送手段を更に備える
ことを特徴とする請求項１または２に記載の画像読取装置。
【請求項４】
前記検出手段は、前記読取手段で原稿の画像を読み取る毎に、前記画像圧縮手段で得られる圧縮画像データの圧縮画像データサイズを検出して、前記給紙手段によって新たな原稿を給紙するまでに検出した圧縮画像データサイズの内の最大の圧縮画像データサイズを検出する
ことを特徴とする請求項１に記載の画像読取装置。
【請求項５】
前記画像圧縮手段で得られる圧縮画像データの圧縮画像データサイズを記憶するサイズ記憶手段であって、前記読取手段で前記原稿の画像を読み取る毎に、既に記憶されている圧縮画像データサイズを新たに検出された圧縮画像データサイズに更新しながら記憶するサイズ記憶手段と、
前記最大の圧縮画像データサイズを記憶する最大画像サイズ記憶手段とを更に備え、
前記検出手段は、前記サイズ記憶手段に記憶するべき新たに検出した圧縮画像データが、前記最大画像サイズ記憶手段に記憶されている最大の圧縮画像データサイズよりも大きい場合に、前記最大画像サイズ記憶手段に記憶されている前記最大の圧縮画像データサイズを該新たに検出された圧縮画像データで更新する
ことを特徴とする請求項１に記載の画像読取装置。
【請求項６】
前記記憶手段は、リングバッファとして使用されるメモリであり、
前記所定サイズは、前記給紙手段で給紙可能な最大サイズの原稿の全領域の画像データを一時に蓄えることができるサイズより小さい
ことを特徴とする請求項１乃至５のいずれか１項に記載の画像読取装置。
【請求項７】
原稿を装置内部へ給紙する給紙部と、前記給紙部で給紙される前記原稿の画像を読み取る読取部と、画像データを圧縮する画像圧縮部と、所定サイズの記憶部と、装置の動作を制御する制御部とを備える画像読取装置の制御方法であって、
前記画像圧縮部が、前記読取部によって得られる前記原稿の画像データを圧縮する画像圧縮工程と、
前記制御部が、前記画像圧縮工程で得られる圧縮画像データを前記記憶部に記憶する記憶工程と、
前記制御部が、前記画像圧縮工程で得られる圧縮画像データの圧縮画像データサイズを検出して、前記給紙部によって新たな原稿を給紙するまでに検出した圧縮画像データサイズの内の最大の圧縮画像データサイズを検出する検出工程と、
前記制御部が、前記給紙部によって新たな原稿を給紙しようとする際に、前記最大の圧縮画像データサイズが前記記憶部の空き容量未満である場合、前記給紙部による前記新たな原稿の給紙を許可する制御工程と
を有することを特徴とする画像読取装置の制御方法。
【請求項８】
原稿を装置内部へ給紙する給紙部と、前記給紙部で給紙される前記原稿の画像を読み取る読取部と、画像データを圧縮する画像圧縮部と、所定サイズの記憶部と、データを一時的に記憶するメモリと、装置の動作を制御する制御部とを備える画像読取装置の制御方法であって、
前記画像圧縮部が、前記読取部によって得られる前記原稿の画像データを圧縮する画像圧縮工程と、
前記制御部が、前記画像圧縮工程で得られる圧縮画像データを前記記憶部に記憶する記憶工程と、
前記制御部が、前記給紙部による前記原稿の給紙を許可する前記記憶部の給紙許可空き容量を前記メモリの第１記憶領域に記憶する給紙許可空き容量記憶工程と、
前記制御部が、前記給紙部による前記原稿の給紙時の前記記憶部の給紙時空き容量を前記メモリの第２記憶領域に記憶する給紙時空き容量記憶工程と、
前記制御部が、前記読取部による前記原稿の読取中に前記記憶部の空き容量が低下することによって読取を中断した場合、前記給紙部による前記原稿の給紙時の前記給紙時空き容量を前記メモリの第１記憶領域から取得し、該給紙時空き容量以上の値を前記給紙許可空き容量として前記メモリの第２記憶領域に設定する設定工程と、
前記制御部が、前記給紙部によって新たな原稿を給紙しようとする際に、前記設定工程で設定された給紙許可空き容量が前記記憶部の空き容量未満である場合、前記給紙部による前記新たな原稿の給紙を許可する制御工程と
を備えることを特徴とする画像読取装置の制御方法。
【請求項９】
請求項７または８に記載の方法を、コンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、原稿の画像を読み取る画像読取装置及びその制御方法、プログラムに関するものである。
【背景技術】
【０００２】
一般的に知られている画像読取装置は、固定された画像読取センサの読取面近傍に原稿を搬送、通過させ、画像読取センサから得られた画像データを、装置内部に搭載されたＲＡＭ等の記憶部に一時的に蓄える。そして、画像読取装置は、蓄えた画像データを、ホストコンピュータ等の情報処理装置へＵＳＢやＳＣＳＩ等の転送部を用いて転送する。
【０００３】
画像読取装置に搭載されるＣＩＳやＣＣＤ等の画像読取センサは、一塊の画像データを規定の速度で一時に読み出さなければ動作しないため、画像読取装置内部に搭載したＲＡＭ等の記憶部に空き容量がなければ、画像読取動作を行うことができない。このため、円滑な画像読取動作を行うには、画像読取装置内部に大容量の記憶部を搭載することが望まれる。
【０００４】
しかし、画像読取装置に搭載される記憶部は、筐体の小型化によるサイズの制約や低価格化によるコストの制約からその容量が制限される。このため、画像読取装置には、原稿一枚分の原稿画像を蓄えられるだけの記憶容量を持たない、小容量の記憶部しか搭載していないものがある。
【０００５】
このような画像読取装置では、情報処理装置への画像データの転送速度が低下すると、画像読取動作の途中で記憶部の空きがなくなってしまうことがある。この場合、原稿の搬送を一時停止させて画像読取動作を中断し、情報処理装置が記憶部に蓄えられた画像データを読み出して、記憶部に空き容量が生まれるのを待ってから、画像読取動作を再開させる必要がある。
【０００６】
このように、画像読取中に原稿の搬送を一時停止させると、搬送部に存在する機械的なガタにより、画像読取部による画像読取処理と、搬送部による原稿の搬送処理を完全に同期させることが極めて困難になり、画像データの品質が劣化してしまう問題がある。
【０００７】
この問題を防ぐため、複写機等の高価格な画像読取装置では、記憶部の空き容量が低下した場合には、原稿が画像読取部の前を通過する以前に画像読取速度を低下させ、一枚の原稿画像の途中で画像読取を中断させないようにするものがある（特許文献１）。
【０００８】
一方、近年の画像読取装置では、より高速に画像読取動作を実行するため、画像読取センサから画像データを取得した直後、ハードロジック等のハードウェアによってＪＰＥＧ等の圧縮形式で画像データを即座に圧縮する。そして、この画像読取装置は、その圧縮画像データを記憶部に一時的に蓄えてから、ホストコンピュータ等の情報処理装置へ転送することが可能である。
【０００９】
このような画像読取装置では、記憶部に一時的に蓄えられる画像データのサイズを節約できるため、より効率良く記憶部の容量を活用できる。加えて、画像読取装置と情報処理装置間のデータ転送速度の影響を受けて画像読取速度が低下する可能性が減り、より良好な速度で原稿束の画像読取を行うことができる。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開平６―３１５０７２号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
しかしながら、上記の原稿搬送速度を可変させる従来の技術を、簡易な搬送機構を持つ安価な画像読取装置に適用すると、原稿束を分離する原稿分離機構の駆動速度も同時に可変してしまうものがある。簡易な原稿分離機構は、特定の搬送速度で効率良く動作するように設計されていることが多く、その駆動速度を可変にすると、原稿分離性能が低下し、重送やジャム、原稿破損等の問題を引き起こすことがある。
【００１２】
本発明の目的は、原稿分離性能を損なわずに、良好な品質の画像データを取得できる画像読取装置及びその制御方法、プログラムを提供することにある。
【課題を解決するための手段】
【００１３】
上記の目的を達成するための本発明による画像読取装置は以下の構成を備える。即ち、
原稿の画像を読み取る画像読取装置であって、
原稿を装置内部へ給紙する給紙手段と、
前記給紙手段で給紙される前記原稿の画像を読み取る読取手段と、
前記読取手段によって得られる前記原稿の画像データを圧縮する画像圧縮手段と、
前記画像圧縮手段で得られる圧縮画像データを記憶する所定サイズの記憶手段と、
前記画像圧縮手段で得られる圧縮画像データの圧縮画像データサイズを検出して、前記給紙手段によって新たな原稿を給紙するまでに検出した圧縮画像データサイズの内の最大の圧縮画像データサイズを検出する検出手段と、
前記給紙手段によって新たな原稿を給紙しようとする際に、前記最大の圧縮画像データサイズが前記記憶手段の空き容量未満である場合、前記給紙手段による前記新たな原稿の給紙を許可する制御手段と
を備える。
【発明の効果】
【００１４】
本発明によれば、原稿分離性能を損なわずに、良好な品質の画像データを取得できる画像読取装置及びその制御方法、プログラムを提供できる。
【図面の簡単な説明】
【００１５】
【図１】実施形態１の画像読取装置の外観を示す斜視図である。
【図２】実施形態１の画像読取装置の概略断面図である。
【図３】実施形態１の画像読取装置の内部構成を示すブロック図である。
【図４】実施形態１の画像読取装置の画像読取動作を表すフローチャートである。
【図５】実施形態１の画像読取装置の画像転送動作を表すフローチャートである。
【図６】実施形態１の最大画像サイズ検出部の動作を表すフローチャートである。
【図７】実施形態１の給紙許可判定動作を表すフローチャートである。
【図８】実施形態２の画像読取装置の内部構成を示すブロック図である。
【図９】実施形態２の給紙許可空き容量記憶部と給紙時空き容量記憶部を用いる画像読取装置の動作を表すフローチャートである。
【図１０】実施形態２の給紙許可判定動作を表すフローチャートである。
【図１１】画像圧縮部の動作を表す図である。
【発明を実施するための形態】
【００１６】
以下、本発明の実施の形態について図面を用いて詳細に説明する。
＜実施形態１＞
図１は実施形態１の画像読取装置の外観を示す斜視図である。
【００１７】
図１において、画像読取装置２００は、複数枚の原稿（シートを含む）４０１を載置可能な原稿台４０２と、排紙された原稿４０１が載置される排紙台４０３と、原稿４０１の載置位置を規制する原稿規制板４０５とで構成される。
【００１８】
図２は実施形態１の画像読取装置２００の概略断面図である。
【００１９】
画像読取装置２００は、搬送部として、原稿を装置内部へ給紙する給紙部の一例である給紙ローラ５０３に追従して回転すると共に、原稿４０１が重送された時に逆回転して分離する分離ローラ５０２と、原稿４０１を画像読取センサ５０７の読取面近傍へ搬送するレジストローラ５１３を備える。また、画像読取装置２００は、レジストローラ５１３に追従して回転するレジスト従動ローラ５１４と、搬送路上の原稿４０１の有無を検知する給紙センサ５０４と、原稿４０１の通過有無を検知するレジストセンサ５０６を備える。また、画像読取装置２００は、原稿４０１の画像を読み取る読取部の一例である画像読取センサ５０７と、原稿４０１の排紙の有無を検知する排紙センサ５１１と、排紙ローラ５１０に追従して回転する排紙従動ローラ５１２とを備える。また、画像読取装置２００は、給紙ローラ５０３、レジストローラ５１３、及び排紙ローラ５１０を駆動するメインモータ５０９を備える。
【００２０】
図３は実施形態１の画像読取装置２００の内部構成を示すブロック図である。
【００２１】
図３において、画像読取装置２００は、原稿４０１の画像を読み取る画像読取センサ５０７を備える。また、画像読取装置２００は、読み取った画像データに対して色調補正等の所定の画像処理を行う画像処理部２０３と、画像処理された画像データを記憶する所定サイズの記憶部である画像メモリ２０４とを備える。
【００２２】
さらに、画像読取装置２００は、原稿４０１を搬送するために、メインモータ５０９を駆動するモータ駆動制御部２０５と、給紙センサ５０４、レジストセンサ５０６及び排紙センサ５１１を制御する原稿検知センサ制御部２０６とを備える。また、画像読取装置２００は、本装置を制御するＣＰＵ２０８を備える。また、画像読取装置２００は、ＣＰＵ２０８が実行する各種制御プログラムを保持するフラッシュメモリ２０７と、演算結果等を一時的に保持するワークメモリ２０９とを備える。ワークメモリ２０９は、最大画像サイズ検出部（検出手段）２７０で検出される、一連の原稿４０１の束（原稿束）の内の１枚の読取原稿に対応する圧縮画像データサイズを記憶する画像サイズ記憶部２１９を備える。また、ワークメモリ２０９は、最大画像サイズ検出部２７０で検出される、一連の原稿４０１の束それぞれの読取原稿に対応する圧縮画像データサイズの内、最大の圧縮画像データサイズを記憶する最大画像サイズ記憶部２２０を備える。
【００２３】
更に、画像読取装置２００は、通信インタフェースを介して、外部装置として情報処理装置の一例であるホストコンピュータ２１４に画像データを送信する通信制御部２１０を備える。この通信制御部２１０による通信インタフェースは、例えば、ＵＳＢ、ＳＣＳＩ、ＩＥＥＥ１３９４等を使用できる。
【００２４】
最大画像サイズ検出部２７０は、一連の原稿４０１の束の中で、最大の圧縮画像データサイズを検出する。尚、図３では、最大画像サイズ検出部２７０は、便宜上、１つの構成要素として示している。この最大画像サイズ検出部２７０は、ＣＰＵ２０８によって実行されるソフトウェアとして実現されても良いし、専用のハードウェアとして実現されても良いし、あるいはそれらを組み合わせて実現されても良い。また、最大画像サイズ検出部２７０は、原稿の画像を読み取る毎に、最大の圧縮画像データサイズを検出する。
【００２５】
ホストコンピュータ２１４には、画像読取装置２００を制御するためのドライバや画像キャプチャアプリケーションがインストールされており、これらにより画像読取装置２００に画像を読み取らせることが可能となっている。また、ホストコンピュータ２１４は、画像読取装置２００と通信インタフェースで接続されており、一方で、マウス／キーボード２２１及びディスプレイ２２２に接続されている。
【００２６】
次に、実施形態１の画像読取装置が行う画像読取動作について説明する。
【００２７】
画像読取装置２００の利用者は、まず、ホストコンピュータ２１４にインストールされたキャプチャアプリケーションから画像読取装置２００へ、解像度や画像フォーマット等の画像読取設定を含む画像読取開始コマンドを発行する。これにより、画像読取設定を含む画像読取開始コマンドは設定データとして通信インタフェースを通して通信制御部２１０へと伝わる。画像読取装置２００のＣＰＵ２０８は、通信制御部２１０に受信した設定データに従い、モータ駆動制御部２０５、画像処理部２０３、原稿検知センサ制御部２０６へ、利用者が所望する解像度、画像フォーマットで原稿４０１の画像を取得するための設定を行う。その後、画像読取装置２００は、図４のフローチャートに示す画像読取動作と、図５のフローチャートに示す画像転送動作を実行する。
【００２８】
まず、図４のフローチャートで示す画像読取動作について、詳細に説明する。
【００２９】
ステップＳ１００１で、画像読取装置２００は、原稿台４０２に原稿４０１がセットされているか判定する。具体的には、一般的なメカニカルスイッチや赤外線センサ等で構成される給紙センサ５０４を原稿検知センサ制御部２０６によって制御し、状態を取得する。画像読取装置２００が、原稿台４０２に原稿４０１がセットされていないと判定した場合（ステップＳ１００１でＮＯ）、画像読取動作を中断する。このとき、ホストコンピュータ２１４に原稿４０１がセットされていない旨を通信制御部２１０を制御してホストコンピュータ２１４に通知する。これを受けて、ホストコンピュータ２１４は、原稿がセットされていないことを、ディスプレイ２２２上にエラーメッセージとして表示しても良い。
【００３０】
一方、画像読取装置２００が、原稿台４０２に原稿４０１がセットされていると判定した場合（ステップＳ１００１でＹＥＳ）、ステップＳ１００２に進む。ステップＳ１００２で、画像読取装置２００は、搬送部を駆動し、原稿４０１を画像読取装置２００の内部へ給紙しても良いか判定する。特に、実施形態１では、後述の最大画像サイズ検出部２７０の出力に基づいて、給紙の可否を判定する
画像読取装置２００が、給紙して良くないと判定した場合（ステップＳ１００２でＮＯ）、給紙して良いと判定されるまで待機する。一方、画像読取装置２００が、給紙して良いと判定した場合（ステップＳ１００２でＹＥＳ）、ステップＳ１００３に進む。
【００３１】
ステップＳ１００３で、画像読取装置２００は、給紙処理を行う。まず、モータ駆動制御部２０５に対してメインモータ５０９を駆動するための制御をＣＰＵ２０８から行う。メインモータ５０９がステッピングモータ等の一般的なパルスモータである場合、モータ駆動制御部２０５は、メインモータ５０９に与える励磁パルスの出力間隔を、所定の搬送速度を実現する回転速度に到達するまで徐々に狭めていく動作を行う。メインモータ５０９によって給紙ローラ５０３及び、それに追従して回転する分離ローラ５０２が回転し、原稿台４０２に積載された原稿４０１の束から一枚が分離され、画像読取装置２００の内部へと取り込まれる。
【００３２】
ステップＳ１００４で、画像読取装置２００は、原稿４０１の画像データを取得すべき原稿４０１上の領域の先頭が画像読取センサ５０７の前面に到達したか判定する。この判定は、原稿４０１の先頭がレジストセンサ５０６の前面を通過した時から、メインモータ５０９が一定量回転したかを判定することによって行う。メインモータ５０９にステッピングモータ等のパルスモータを使用している場合、原稿４０１がレジストセンサ５０６を通過してから一定のパルス数をモータ駆動制御部２０５が出力したことをＣＰＵ２０８で検知する。
【００３３】
画像読取装置２００が、画像読取センサ５０７の前面に到達していないと判定した場合（ステップＳ１００４でＮＯ）、到達するまで待機する。一方、画像読取装置２００が、画像読取センサ５０７の前面に到達したと判定した場合（ステップＳ１００４でＹＥＳ）、ステップＳ１００５に進む。
【００３４】
ステップＳ１００５で、画像読取装置２００は、画像メモリ２０４に空き容量が存在するか判定する。例えば、画像メモリ２０４の空き容量を一意の閾値と比較し、画像メモリ２０４の空き容量がその閾値以上であったら、空き容量が存在すると判定し、その閾値未満であったら、空き容量がないと判定する。
【００３５】
画像読取装置２００が、空き容量が存在しないと判定した場合（ステップＳ１００５でＮＯ）、ステップＳ１００７に進む。ステップＳ１００７で、画像読取装置２００は、メインモータ５０９を停止させる処理を行う。すでにメインモータ５０９が停止していることがモータ駆動制御部２０５の状態から明らかな場合には、何も実行せずにステップＳ１１０１へ進む。一方、メインモータ５０９が回転しているときには、モータ駆動制御部２０５にメインモータ５０９の回転を停止する指示をＣＰＵ２０８から出す。モータ駆動制御部２０５がこの指示を受けると、メインモータ５０９がステッピングモータ等の一般的なパルスモータであった場合、メインモータ５０９に与える励磁パルスの出力間隔を、回転が停止するまで徐々に広めていく動作を行う。
【００３６】
一方、画像読取装置２００が、空き容量が存在すると判定した場合（ステップＳ１００５でＹＥＳ）、ステップＳ１００６に進む。ステップＳ１００６で、画像読取装置２００は、メインモータ５０９を回転させる処理を行う。すでにメインモータ５０９が回転していることがモータ駆動制御部２０５の状態から明らかな場合には、何も実行せずに、ステップＳ１１０１に進む。一方、メインモータ５０９が回転していない場合には、モータ駆動制御部２０５にメインモータ５０９の回転を開始する指示をＣＰＵ２０８から出す。モータ駆動制御部２０５がこの指示を受けると、ステップＳ１００３で説明した制御を行い、メインモータ５０９を回転させる。
【００３７】
ステップＳ１１０１で、画像読取装置２００は，メインモータ５０９が回転中であるか判定を行う。メインモータ５０９が停止中であった場合（ステップＳ１１０１でＮＯ）、ステップＳ１００５に戻る。一方、メインモータ５０９が回転中であった場合（ステップＳ１１０１でＹＥＳ）、ステップＳ１００８に進み、画像読取装置２００は、画像読取センサ５０７から画像データを取得する処理を行う。実施形態１で使用する画像読取センサ５０７は１ライン分の画像読取素子を備えたものであり、画像処理部２０３によってこれらを制御することにより、画像読取センサ５０７の読取面近傍の画像を一時に１ライン分取得する。
【００３８】
実施形態１の画像読取装置２００は、ＣＰＵ２０８によって画像処理部２０３へ１ライン分の画像読取コマンドを発行する時間間隔を、モータ駆動制御部２０５の状態に同期させて制御することによって、２次元の画像データを取得する。メインモータ５０９がステッピングモータ等の一般的なパルスモータであった場合、モータ駆動制御部２０５が規定回数だけ励磁パルスを出力するのを待って、画像処理部２０３へ画像読取コマンドを発行する。
【００３９】
具体的には、モータ駆動制御部２０５がより高速でメインモータ５０９を回転させている場合、ＣＰＵ２０８からより短い時間間隔で画像処理部２０３へ１ライン分の画像読取コマンドを発行することになる。一方、モータ駆動制御部２０５がより低速でメインモータ５０９を回転させている場合、ＣＰＵ２０８からより長い時間間隔で画像処理部２０３へ１ライン分の画像読取コマンドを出すことになる。
【００４０】
このように、画像読取装置２００は、ＣＰＵ２０８によってモータ回転と画像読取の同期処理を実行する。これにより、例えば、ステップＳ１００６及びステップＳ１００７で、画像読取途中にメインモータ５０９が停止及び回転再開し、所定の原稿搬送速度を実現する回転速度以外で加速、減速中であったとしても、途切れや伸びの少ない画像データを取得できる。
【００４１】
ステップＳ１１００で、画像読取装置２００は、ステップＳ１００８の処理によって取得した画像データを、画像圧縮部２７３によって圧縮し、随時、画像メモリ２０４に書き込む。画像圧縮部２７３の動作については、図１１を用いて詳細に説明する。画像読取装置２００は、画像メモリ２０４及びワークメモリ２０９で表される記憶部は、装置の仕様上、搬送部で搬送可能な（あるいは給紙部で給紙可能な）最大サイズの原稿の全領域の画像データを一時に蓄えることができない所定サイズとなっている。そのため、ステップＳ１００８で画像読取センサ５０７から取得した画像データに対して逐次圧縮処理を実行するとともに、後述する画像転送動作を同時期に実行する。
【００４２】
ステップＳ１００９で、画像読取装置２００は、画像データを取得すべき原稿４０１上原稿４０１の領域の後端が画像読取センサ５０７の前面を通過したか判定する。つまり、画像データの取得が終了したか判定する。この判定は、原稿４０１の先頭がレジストセンサ５０６の前面を通過したときから、メインモータ５０９が一定量回転したかを判定することによって行う。メインモータ５０９の回転量の判定方法については、ステップＳ１００４で説明したとおりである。
【００４３】
画像読取装置２００が、画像データの取得が終了してないと判定した場合（ステップＳ１００９でＮＯ）、ステップＳ１００５に戻る。一方、画像読取装置２００が、画像取得が終了したと判定した場合（ステップＳ１００９でＹＥＳ）、ステップＳ１０１０に進む。
【００４４】
上述したステップＳ１００５からステップＳ１００９までの処理を順次繰り返すことによって、画像読取装置２００は、原稿４０１の一枚分の圧縮画像データを画像メモリ２０４へ書き込むことができる。
【００４５】
ステップＳ１０１０で、画像読取装置２００は、ステップＳ１１００で画像圧縮部２７３によって変換出力された、原稿一枚分の圧縮画像データサイズをワークメモリ２０９の画像サイズ記憶部２１９に記憶する。これは、ステップＳ１００５からステップＳ１００９の処理を繰り返す間に、画像圧縮部２７３が出力した圧縮画像データサイズを、画像圧縮部２７３に問い合わせ、その結果をワークメモリ２０９の画像サイズ記憶部２１９に記憶する。
【００４６】
ステップＳ１０１０の処理後、画像読取装置２００は、再びステップＳ１００１に戻り、給紙センサ５０４によって原稿台４０２に原稿４０１が存在するか判定する。
【００４７】
以上の処理を実行することによって、画像読取装置２００は、原稿台４０２に積載された原稿４０１の束を全て読み取り終わるまで、画像メモリ２０４の空き容量に追従しながら、画像読取動作を継続することになる。
【００４８】
次に、ステップＳ１１００及びステップＳ１０１０で使用する、画像圧縮部２７３の一例として、ＪＰＥＧ圧縮を行う場合の処理について詳細に説明する。
【００４９】
図１１の７００ａは、ステップＳ１００８で画像読取センサ５０７が読み取るＮ枚目の原稿の全体領域を示したものである。画像圧縮部２７３は、この全体領域７００ａから１ライン分の画像データ７００ｂをワークメモリ２０９へ一時的に格納する。以降、１ライン分の画像データの読取を繰り返し、ＪＰＥＧ圧縮可能な最小ライン数である８ライン分の部分領域７０１ａの読取が終了し、８ライン分の画像データ７０１ｂがワークメモリ２０９に蓄積するまでこの処理を繰り返す。
【００５０】
ワークメモリ２０９に８ライン分の画像データが格納されると、画像圧縮部２７３は一般的に知られるＪＰＥＧ圧縮処理を実行する。この処理により得られた、画像データ７０１ｂに対応する圧縮画像データ７０１ｃを画像メモリ２０４へ書き込む。このとき、この圧縮画像データ７０１ｃのデータサイズを、ワークメモリ２０９内の画像サイズ記憶部２１９に設けた圧縮画像データサイズを表す変数に加算する。
【００５１】
原稿４０１の部分領域７０２ａ及び７０３ａについても同様の処理を繰り返し、得られる圧縮画像データ７０２ｃ及び７０３ｃを画像メモリ２０４へ連続的に書き込む。これらの圧縮画像データ７０２ｃ及び７０３ｃのデータサイズも、圧縮画像データ７０１ｃの場合と同様に、ワークメモリ２０９内の画像サイズ記憶部２１９に設けた圧縮画像データサイズを表す変数にそれぞれ累積加算する。
【００５２】
画像メモリ２０４は、リングバッファとして使用し、画像圧縮部２７３が出力する圧縮画像データが画像メモリ２０４の終端部まで達したら、画像メモリ２０４の先端部に戻り、再び圧縮画像データの書込を継続する。
【００５３】
この画像圧縮部２７３による圧縮画像データの書込と同時に、後述する画像転送動作を実行し、逐次、画像メモリ２０４に出力された圧縮画像データを、ホストコンピュータ２１４へ転送する。
【００５４】
次に、ステップＳ１０１０に示した、画像読取装置２００が原稿一枚分の画像データの読取を終了する時の動作について説明する。画像圧縮部２７３は、一枚の原稿の内、最後部の部分領域７０４ａの画像データをワークメモリ２０９へ格納し、この画像データの圧縮画像データ７０４ｃを作成し、そのデータサイズを更新する。その後、画像圧縮部２７３は、このときのデータサイズ（圧縮画像データサイズを表す変数の値）をワークメモリ２０９の画像サイズ記憶部２１９に変数として保持する。この値が、Ｎ枚目の原稿４０１一枚分の圧縮画像データサイズとなる。この原稿一枚分の圧縮画像データサイズを、ステップＳ１０１０、及び後述の最大画像サイズ検出部２７０による処理で使用する。
【００５５】
Ｎ＋１枚目の原稿４０１についても同様に、部分領域８０１ａで表される、ＪＰＥＧ圧縮可能な最小ライン数の画像データがワークメモリ２０９に格納されたら画像圧縮処理を行う。そして、得られた圧縮画像データ８０１ｃを画像メモリ２０４へ書き込むと共に、そのデータサイズを、原稿一枚分の処理が終了するまで、ワークメモリ２０９内の画像サイズ記憶部２１９に設けた圧縮画像データサイズを表す変数へ随時累積加算する。
【００５６】
次に、図５のフローチャートに示す画像転送動作について、詳細に説明する。
【００５７】
ステップＳ２００１で、画像読取装置２００は、ホストコンピュータ２１４から画像データ取得コマンドを受信したか判定する。ＣＰＵ２０８で通信制御部２１０の状態を監視し、ホストコンピュータ２１４にインストールされたドライバから、画像データ取得コマンドのコマンドデータ列が通信インタフェースを通して送信されてきたか判定する。
【００５８】
画像読取装置２００が、画像データ取得コマンドを受信していないと判定した場合（ステップＳ２００１でＮＯ）、画像データ取得コマンドを取得するまで待機する。一方、画像読取装置２００が、画像データ取得コマンドを受信したと判定した場合（ステップＳ２００１でＹＥＳ）、ステップＳ２００２に進む。
【００５９】
ステップＳ２００２で、画像読取装置２００は、画像メモリ２０４にホストコンピュータ２１４へ送信すべき圧縮画像データが存在するか判定する。ＣＰＵ２０８で画像処理部２０３及び画像メモリ２０４の状態を監視し、ステップＳ１１００の画像圧縮処理によって、画像メモリ２０４に圧縮画像データが書き込まれているか判定する。
【００６０】
画像読取装置２００が、圧縮画像データが存在しないと判定した場合（ステップＳ２００２でＮＯ）、図４のフローチャートで示す画像読取動作が先行して行われ、圧縮画像データが画像メモリ２０４に書き込まれるまで待機する。一方、画像読取装置２００が、画像メモリ２０４に圧縮画像データが存在すると判定した場合（ステップＳ２００２でＹＥＳ）、ステップＳ２００３に進む。
【００６１】
ステップＳ２００３で、画像読取装置２００は、ホストコンピュータ２１４へ圧縮画像データを転送する。ＣＰＵ２０８で通信制御部２１０を制御し、画像メモリ２０４に一時的に記憶されている圧縮画像データを読み出し、ホストコンピュータ２１４へ送信する。また、ワークメモリ２０９の画像サイズ記憶部２１９からから読み取った圧縮画像データサイズは画像処理部２０３へ通知され、ステップＳ１００５で行う画像メモリ２０４の空き容量の監視処理へ状態が反映される。
【００６２】
ステップＳ２００４で、画像読取装置２００は、全ての圧縮画像データの読取が終了したか判定する。ＣＰＵ２０８で画像処理部２０３の状態を監視し、画像メモリ２０４に転送すべき圧縮画像データがなくなったか判定する。
【００６３】
画像読取装置２００が、圧縮画像データの読取が終了していないと判定した場合（ステップＳ２００４でＮＯ）、ステップＳ２００１に戻る。一方、画像読取装置２００が、圧縮画像データの読取が終了したと判定した場合（ステップＳ２００４でＹＥＳ）、画像データの転送を終了する。
【００６４】
上述のように、実施形態１では、図４のフローチャートに示す画像読取動作、及び図５のフローチャートに示す画像転送動作を同時期に実行する。これにより、画像読取装置２００は、原稿台４０２に積載された原稿４０１の束を一枚ずつ分離しながら、全ての原稿４０１の圧縮画像データをホストコンピュータ２１４へと転送することができる。複数のフローチャートで示す処理を同時に実行する機能としては、例えば、一般的に知られるリアルタイムＯＳをＣＰＵ２０８上で実行し、ＯＳが備えるタスクスイッチ機能を使用してそれぞれの処理を実行すればよい。
【００６５】
次に、実施形態１のステップＳ１００１で実行する最大画像サイズ検出部２７０の動作を図６のフローチャートを用いて詳細に説明する。
【００６６】
画像読取装置２００は、ホストコンピュータ２１４から画像読取開始コマンドを受信し、図４のフローチャートに示す画像読取動作、及び図５のフローチャートに示す画像転送動作を開始するタイミングで、図６の処理を実行する。尚、図６中に示す「Ｍａｘ＿ｓｉｚｅ」は、一連の原稿４０１の束の中で、最大の圧縮画像データサイズ（画像データの容量）を表す変数である。また、「Ｓｉｚｅ」は、ステップＳ１０１０で、ワークメモリ２０９の画像サイズ記憶部２１９に記憶した原稿一枚分の圧縮画像データサイズを表す変数である。
【００６７】
ステップＳ３００１で、最大画像サイズ検出部２７０は、変数Ｍａｘ＿ｓｉｚｅを０で初期化する。これは、ＣＰＵ２０８によってプログラムコードを実行し、ワークメモリ２０９の最大画像サイズ記憶部２２０に割り当てた変数Ｍａｘ＿ｓｉｚｅに０を書き込む。
【００６８】
ステップＳ３００２で、最大画像サイズ検出部２７０は、一枚分の原稿読取が終了したか判定する。この処理については、図４のステップＳ１００９で詳細に説明したとおりである。図４のフローチャートでは、ステップＳ１００９の判定を行った後で、ステップＳ１０１０で取得した圧縮画像データサイズをワークメモリ２０９の画像サイズ記憶部２１９に記憶する。この圧縮画像データサイズを変数Ｓｉｚｅとする。最大画像サイズ検出部２７０は、ステップＳ１０１０で、変数Ｓｉｚｅの値が更新されたことを検知して、ステップＳ３００３を実行する。
【００６９】
ステップＳ３００３で、最大画像サイズ検出部２７０は、Ｍａｘ＿ｓｉｚｅとＳｉｚｅを比較して、Ｍａｘ＿ｓｉｚｅがＳｉｚｅ未満であるか判定する。原稿４０１の束の１枚目の読取を開始した直後、初めてステップＳ３００３を実行する時にはＭａｘ＿ｓｉｚｅは０となっているので、必ず比較結果はＳｉｚｅの方が大きくなる。つまり、最大画像サイズ検出部２７０は、Ｍａｘ＿ｓｉｚｅがＳｉｚｅ未満であると判定し（ステップＳ３００３でＹＥＳ）、ステップＳ３００４に進む。そして、ステップＳ３００４で、最大画像サイズ検出部２７０は、最大画像サイズ記憶部２２０に割り当てられているＭａｘ＿ｓｉｚｅをＳｉｚｅに更新する。
【００７０】
一方、ステップＳ３００３の処理を、原稿４０１の束の読取を開始してから既に１回以上実行している場合には、最大画像サイズ検出部２７０は、ステップＳ３００４によって更新されたＭａｘ＿ｓｉｚｅとＳｉｚｅの値を比較する。最大画像サイズ検出部２７０が、Ｍａｘ＿ｓｉｚｅがＳｉｚｅ未満でないと判定した場合（ステップＳ３００３でＮＯ）、ステップＳ３００２に戻る。一方、最大画像サイズ検出部２７０が、Ｍａｘ＿ｓｉｚｅがＳｉｚｅ未満であると判定した場合（ステップＳ３００３でＹＥＳ）、ステップＳ３００４に進み、最大画像サイズ記憶部２２０に割り当てられているＭａｘ＿ｓｉｚｅをＳｉｚｅに更新する。
【００７１】
ステップＳ３００５で、最大画像サイズ検出部２７０は、原稿台４０２に積載された一連の原稿４０１の束の画像読取動作が終了したか判定する。この判定方法の詳細については、ステップＳ１００１で説明したとおりである。最大画像サイズ検出部２７０が、画像読取動作が終了していないと判定した場合（ステップＳ３００５でＮＯ）、ステップＳ３００２に戻る。一方、最大画像サイズ検出部２７０が、画像読取動作が終了したと判定した場合（ステップＳ３００５でＹＥＳ）、処理を終了する。
【００７２】
図６のフローチャートによって、最大画像サイズ記憶部２２０に割り当てられているＭａｘ＿ｓｉｚｅには、一連の原稿４０１の束の中で、最大の圧縮画像データサイズが記憶されることになる。換言すれば、原稿の画像を読み取る毎に、得られる圧縮画像データの圧縮画像データサイズを検出して、新たな原稿を給紙するまでに検出した圧縮画像データサイズの内の最大の圧縮画像データサイズを検出することになる。
【００７３】
次に、ステップＳ１００２による、最大画像サイズ検出部２７０による給紙許可判定動作を図７のフローチャートに示す。尚、図７中に示す「Ｍａｘ＿ｓｉｚｅ」は、上述の最大の圧縮画像データサイズを表す変数であり、「Ｆｒｅｅ＿ｓｉｚｅ」は、画像メモリ２０４の空き容量を表す変数である。
【００７４】
ステップＳ４００１で、最大画像サイズ検出部２７０は、Ｍａｘ＿ｓｉｚｅとＦｒｅｅ＿ｓｉｚｅの値を比較して、Ｍａｘ＿ｓｉｚｅがＦｒｅｅ＿ｓｉｚｅ未満（空き容量未満）であるか判定する。Ｆｒｅｅ＿ｓｉｚｅの値は、ＣＰＵ２０８によって画像メモリ２０４の状態を画像処理部２０３に問い合わせ、取得し更新した値である。最大画像サイズ検出部２７０が、Ｍａｘ＿ｓｉｚｅがＦｒｅｅ＿ｓｉｚｅ未満であると判定した場合（ステップＳ４００１でＹＥＳ）、ステップＳ４００２で、給紙許可の指示を行う。具体的には、ＣＰＵ２０８を制御し、図４のフローチャートの処理に対してステップＳ１００２からステップＳ１００３の処理へ移るように指示を行う。
【００７５】
一方、最大画像サイズ検出部２７０が、Ｍａｘ＿ｓｉｚｅがＦｒｅｅ＿ｓｉｚｅ未満でないと判定した場合（ステップＳ４００１でＮＯ）、ステップＳ４００１に戻る。ここで、図５に示す画像転送動作が実行されると、Ｆｒｅｅ＿ｓｉｚｅが大きくなっていくことは容易に想像できるであろう。
【００７６】
以上説明したように、実施形態１によれば、画像メモリ２０４の空き容量が低下し、原稿の搬送途中で画像読取操作を中断しなければならないことが予想されるときには給紙動作を停止する。これによって、外部接続される情報処理装置へ画像データを転送するための時間を容易に確保できるようになり、搬送機構の速度を可変速にしなくても、画像読取動作を途中で中断する可能性が極めて低くなる。即ち、回路規模等の制約や低価格化によるコストの制約から小容量の画像メモリ２０４しか搭載できない画像読取装置においても、原稿分離性能を損なわずに、良好な品質の画像データを取得できる。
【００７７】
より具体的には、画像読取装置２００は、原稿台４０２に積載された原稿４０１の束を処理する過程で最大の圧縮画像データサイズ以上の空き容量が画像メモリ２０４になければ、給紙動作を一時停止させる処理を行うことができる。これによって、一枚の原稿画像を取得している途中で、画像メモリ２０４の空き容量不足により画像読取動作を中断しなければならない問題が発生するのを極力回避しながら、少ない容量の画像メモリで良好な画像読取動作を実現することができる。
【００７８】
尚、実施形態１では、変数Ｍａｘ＿ｓｉｚｅ及び変数Ｓｉｚｅをそれぞれ、ワークメモリ２０９の画像サイズ記憶部２１９及び最大画像サイズ記憶部２２０に記憶する構成としているが、これに限定されない。例えば、ＣＰＵ２０８の演算結果を保持可能なメモリ（フラッシュメモリ２０７、画像メモリ２０４等）の任意の場所に設けても良い。また、変数Ｆｒｅｅ＿ｓｉｚｅは、ワークメモリ２０９に設けても良いし、ＣＰＵ２０８の演算結果を保持可能なメモリ（フラッシュメモリ２０７、画像メモリ２０４等）の任意の場所に設けても良い。
【００７９】
＜実施形態２＞
実施形態１では、原稿台４０２に積載された原稿４０１の束を処理する過程で最大の圧縮画像データサイズ以上の空き容量が画像メモリ２０４になければ、給紙動作を一時停止させる処理を行う構成としているが、これに限定されない。
【００８０】
例えば、圧縮画像データを記憶部（画像メモリ）に蓄える画像読取装置では、ハードロジックによる画像圧縮処理を実際に行い、圧縮画像データを出力するまで、画像メモリの空き容量を得ることができない。そのため、記憶部（画像メモリ）の空き容量から画像読取を停止する最適なタイミングを決定するのが難しい場合がある。
【００８１】
そこで、実施形態２では、原稿４０１の給紙時に画像メモリ２０４の空き容量に応じて、その原稿の給紙を制御する構成について説明する。この構成を実現するための画像読取装置２００の内部構成は、例えば、図８のようになる。
【００８２】
図８は実施形態２の画像読取装置２００の内部構成を示すブロック図である。
【００８３】
尚、図８において、実施形態１の図３と同一の構成要素については、同一の参照番号を付加し、その詳細については省略する。
【００８４】
図８では、ワークメモリ２０９に、給紙許可空き容量記憶部２７１（第１記憶領域）と給紙時空き容量記憶部２７２（第２記憶領域）を備える。給紙許可空き容量記憶部２７１は、給紙を許可する画像メモリ２０４の空き容量を記憶する。給紙時空き容量記憶部２７２は、給紙時の画像メモリ２０４の空き容量を記憶する。
【００８５】
実施形態２における画像読取動作は、実施形態１の図４のフローチャートに示す画像読取動作に準じ、実施形態１とでは、ステップＳ１００１の処理内容が異なる。
【００８６】
そこで、実施形態２のステップＳ１００１で実行する、給紙許可空き容量記憶部２７１と給紙時空き容量記憶部２７２を用いる画像読取装置２００の動作を図９のフローチャートを用いて詳細に説明する。
【００８７】
画像読取装置２００（ＣＰＵ２０８）は、ホストコンピュータ２１４から画像読取開始コマンドを受信し、図４のフローチャートに示す画像読取動作、及び図５のフローチャートに示す画像転送動作を開始するタイミングで、図９の処理を実行する。尚、図９中に示す「Ａｌｌｏｗ＿ｆｒｅｅ＿ｓｉｚｅ」は、原稿４０１の給紙を許可する画像メモリ２０４の給紙許可空き容量を表す変数である。また、「Ｐｉｃｋ＿ｆｒｅｅ＿ｓｉｚｅ」は、原稿４０１の給紙時の画像メモリ２０４の給紙時空き容量を表す変数である。更に、αは０以上の任意の定数である。
【００８８】
ステップＳ５００１で、画像読取装置２００は、変数Ａｌｌｏｗ＿ｆｒｅｅ＿ｓｉｚｅを０で初期化する。これにより、画像メモリ２０４の空き容量がいかなる状態であっても、ステップＳ１００５で給紙が実行される状態となる。
【００８９】
ステップＳ５００２で、画像読取装置２００は、一枚分の原稿読取が終了したか判定する。この処理は、図４のステップＳ１００９で詳細に説明したとおりである。実施形態２では、ステップＳ１００９の判定を行った後で、ステップＳ１０１０で画像読取装置２００が取得した圧縮画像データサイズをワークメモリ２０９の給紙時空き容量記憶部２７２に割り当てた変数Ｐｉｃｋ＿ｆｒｅｅ＿Ｓｉｚｅに記憶する。Ｐｉｃｋ＿ｆｒｅｅ＿Ｓｉｚｅの値が更新されたことを検知して、ステップＳ５００３を実行する。
【００９０】
ステップＳ５００３で、画像読取装置２００は、画像読取中にメインモータ５０９を停止したか判定する。この処理は、ステップＳ１００６及びステップＳ１００７でモータを停止したか否かを、ワークメモリ２０９に変数を設けるなどしてあらかじめ記憶しておき、判定する。この判定は、一枚の原稿を読み取る途中に画像メモリ２０４の空き容量が低下して、メインモータ５０９を停止したか否かで判定する。
【００９１】
画像読取装置２００が、画像読取中にメインモータ５０９を停止したと判定した場合（ステップＳ５００３でＹＥＳ）、ステップＳ５００４に進む。ステップＳ５００４で、画像読取装置２００は、ワークメモリ２０９の給紙許可空き容量記憶部２７１に割り当てたＡｌｌｏｗ＿ｆｒｅｅ＿ｓｉｚｅにＰｉｃｋ＿ｆｒｅｅ＿ｓｉｚｅ＋αの値を代入する。
【００９２】
一方、画像読取装置２００が、画像読取中にメインモータ５０９を停止していないと判定した場合（ステップＳ５００３でＮＯ）、ステップＳ５００５に進む。
【００９３】
ステップＳ５００５で、画像読取装置２００は、原稿台４０２に積載された一連の原稿４０１の束の画像読取動作が終了したか判定する。この判定方法の詳細については、ステップＳ１００１で説明したとおりである。画像読取装置２００が、画像読取動作が終了していないと判定した場合（ステップＳ５００５でＮＯ）、ステップＳ５００２に戻る。一方、画像読取装置２００が、画像読取動作が終了したと判定した場合（ステップＳ５００５でＹＥＳ）、処理を終了する。
【００９４】
これにより、給紙許可空き容量記憶部２７１には、一枚の画像読取動作中にメインモータ５０９を停止しなければならない状態に陥った原稿給紙時の画像メモリ２０４の給紙時空き容量と同等あるいは給紙時空き容量以上の値が設定される。
【００９５】
次に、ステップＳ１００２で実行する、給紙許可空き容量記憶部２７１と給紙時空き容量記憶部２７２による給紙許可判定動作を図１０のフローチャートに示す。尚、図１０中に示す「Ｆｒｅｅ＿ｓｉｚｅ」は、画像メモリ２０４の空き容量を表す変数である。
【００９６】
ステップＳ６００１で、画像読取装置２００は、Ａｌｌｏｗ＿ｆｒｅｅ＿ｓｉｚｅとＦｒｅｅ＿ｓｉｚｅの値を比較して、Ａｌｌｏｗ＿ｆｒｅｅ＿ｓｉｚｅがＦｒｅｅ＿ｓｉｚｅ未満であるか判定する。Ｆｒｅｅ＿ｓｉｚｅの値は、ＣＰＵ２０８によって画像メモリ２０４の状態を画像処理部２０３に問い合わせ、取得し更新した値である。画像読取装置２００は、この２つの値を比較して、画像読取装置２００が、Ａｌｌｏｗ＿ｆｒｅｅ＿ｓｉｚｅがＦｒｅｅ＿ｓｉｚｅ未満でないと判定した場合（ステップＳ６００１でＮＯ）、ステップＳ６００１に戻る。ここで、図５に示す画像転送動作が実行されるとＦｒｅｅ＿ｓｉｚｅが大きくなっていくことは容易に想像できるであろう。
【００９７】
一方、画像読取装置２００が、Ａｌｌｏｗ＿ｆｒｅｅ＿ｓｉｚｅがＦｒｅｅ＿ｓｉｚｅ未満であると判定した場合（ステップＳ６００１でＹＥＳ）、ステップＳ６００２に進む。ステップＳ６００２で、画像読取装置２００は、Ｐｉｃｋ＿ｆｒｅｅ＿ｓｉｚｅにＦｒｅｅ＿ｓｉｚｅの値を代入する。
【００９８】
ステップＳ６００３で、画像読取装置２００は、給紙許可の指示を行う。具体的には、ＣＰＵ２０８を制御し、図４のフローチャートの処理に対してステップＳ１００２からステップＳ１００３の処理へ移るように指示を行う。
【００９９】
以上説明したように、実施形態２によれば、画像メモリ２０４へ蓄える圧縮画像データが、処理完了までデータサイズの確定しない圧縮画像データであっても、最適なタイミングで給紙を行うことができる。これにより、画像データの読取途中で画像取得動作を停止することなく、より高品質な画像データを取得できる。
【０１００】
より具体的には、画像読取動作を行う前の原稿給紙時での画像メモリ２０４の空き容量を一時的に保持しておく。そして、画像読取途中でメインモータ５０９を停止させなければならない状態に陥ってしまった時には、その状態が発生した時よりも、より大きいサイズの空き容量が画像メモリ２０４になければ、給紙動作を一時停止させる処理を行うことができる。
【０１０１】
これによって、一枚の原稿画像を取得している途中で、画像メモリの空き容量不足により画像読取動作を中断しなければならない問題を極力回避しながら、少ない容量の画像メモリで良好な画像読取動作を実現することができる。
【０１０２】
＜実施形態３＞
実施形態１と実施形態２は、別々の構成として説明しているが、用途や目的に応じて、両者を組み合わせて実現するようにしても良い。
【０１０３】
尚、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステムまたは装置に供給し、そのシステムまたは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2012222625.tif 000003
【図２】
2012222625.tif 000004
【図３】
2012222625.tif 000005
【図４】
2012222625.tif 000006
【図５】
2012222625.tif 000007
【図６】
2012222625.tif 000008
【図７】
2012222625.tif 000009
【図８】
2012222625.tif 000010
【図９】
2012222625.tif 000011
【図１０】
2012222625.tif 000012
【図１１】
2012222625.tif 000013