(57)【要約】【課題】より安価な構成でより短時間に画像の読み取りを行うことができる画像読取システム及びその制御方法を提供する。【解決手段】画像読取センサ２０７と、画像メモリと、画像データの画像処理を行う基板２０８とを備えたスキャナ１、画像データを記憶するメモリ３０３と、メモリ３０３に記憶された画像データの画像処理を行うＣＰＵ３０１とを備えたホストコンピュータ２を備え、基板２０８は、画像メモリに所定量以上の空きがある場合は、画像読み取りを継続して画像処理を施すことなく画像データを転送し、画像メモリに所定量以上の空きがない場合は、画像読み取りを停止して画像データに画像処理を施して転送し、また補正有無確認フラグを転送し、ＣＰＵ３０１は補正有無確認フラグに基づいて、画像処理が施されていない画像データに画像処理を施す画像読取システム。【選択図】図１
2008294529.tif 000002
【特許請求の範囲】
【請求項１】
原稿の画像を読み取る画像読取装置、及び前記画像読取装置に画像読み取りを指示する制御装置を備えた画像読取システムであって、
前記画像読取装置は、原稿の画像を読み取る画像読取手段と、前記画像読取手段により読み取られた画像データを記憶する画像記憶手段と、前記画像読取手段の画像読み取り、及び前記画像データの前記制御装置への転送を制御する読取転送制御手段と、前記画像データの画像処理を行う第１の画像処理手段と、を備え、
前記制御装置は、前記画像読取装置から転送された画像データを記憶する転送画像記憶手段と、前記画像読取装置に画像読み取りを指示する制御手段と、前記転送画像記憶手段に記憶された画像データの画像処理を行う第２の画像処理手段と、を備え、
前記画像記憶手段に所定量以上の空きがある場合は、前記読取転送制御手段が前記画像読取手段による画像読み取りを継続し、前記第１の画像処理手段が前記画像記憶手段に記憶された画像データに画像処理を施さず、前記読取転送制御手段が該画像データを前記制御装置に転送し、
前記画像記憶手段に所定量以上の空きがない場合は、前記読取転送制御手段が前記画像読取手段による画像読み取りを停止し、前記第１の画像処理手段が前記画像記憶手段に記憶された画像データに画像処理を施し、前記読取転送制御手段が該画像データを前記制御装置に転送し、
また、前記読取転送制御手段は画像データの画像処理の有無を確認するための画像処理有無情報を前記制御装置に転送し、
前記第２の画像処理手段は、前記画像処理有無情報に基づいて、転送された画像データのうち前記第１の画像処理手段によって画像処理が施されていない画像データに画像処理を施すことを特徴とする画像読取システム。
【請求項２】
請求項１に記載の画像読取システムにおいて、
前記第１の画像処理手段は、前記画像記憶手段に記憶された画像データのうち、前記制御装置への転送の優先度が低い画像データに対して画像処理を施すことを特徴とする画像読取システム。
【請求項３】
請求項１又は２に記載の画像読取システムにおいて、
前記画像読取装置は、原稿を載置して搬送する原稿搬送手段と、前記原稿搬送手段における原稿の有無を検知する原稿検知手段と、を備え、
前記第１の画像処理手段は、前記原稿検知手段により原稿がないことが検知された場合には、前記画像記憶手段の空き容量にかかわらず、前記画像記憶手段に記憶された画像データのうち、前記制御装置への転送の優先度が低い画像データに対して画像処理を施すことを特徴とする画像読取システム。
【請求項４】
原稿の画像を読み取る画像読取装置、及び前記画像読取装置に画像読み取りを指示する制御装置を有する画像読取システムの制御方法であって、
前記画像読取装置が所定量以上の画像データを記憶できるかどうかを判断する容量判断工程と、
前記容量判断工程において、所定量以上の画像データを記憶できると判断された場合に前記画像読取装置による画像読み取りを継続し、読み取られた画像データに対して画像読取装置側で画像処理を施すことなく該画像データを前記制御装置に転送する転送工程と、
前記容量判断工程において、所定量以上の画像データを記憶できないと判断された場合に前記画像読取装置による画像読み取りを停止し、既に読み取られた画像データに画像読取装置側で画像処理を施して該画像データを前記制御装置に転送する第１の画像処理工程と、
画像データの画像処理の有無を前記制御装置に通知する画像処理有無通知工程と、
前記画像処理有無通知工程における通知結果に基づいて、転送された画像データのうち画像処理が施されていない画像データに制御装置側で画像処理を施す第２の画像処理工程と、を含むことを特徴とする画像読取システムの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、原稿の画像を読み取って記録する画像読取システム及びその制御方法に関するものである。
【背景技術】
【０００２】
従来、このような画像読取システムとして、スキャナと、該スキャナとケーブルで接続されたホストコンピュータとからなる画像読取システムが知られている。
【０００３】
このような画像読取システムにおいて、スキャナには複数枚の原稿を連続的に読み取るためのオートドキュメントフィーダ（以下、ＡＤＦという。）を備えるものがある。またスキャナは、一般に大容量の画像メモリを備える。これにより、スキャナからホストコンピュータへの画像データ転送が遅延した場合であっても、画像メモリに空きがあれば、ＡＤＦにセットされている残りの原稿の画像を先行して読み取ることが可能となる。
【０００４】
ところで、ＡＤＦで原稿を搬送して画像を読み取る場合、原稿が傾斜する可能性をともなう。そこで、この問題を解決するために、スキャナからホストコンピュータに画像が転送された後、得られた画像データに対してホストコンピュータ内で傾斜補正等の画像処理を行う画像読取システムが提案されている（例えば、特許文献１参照）。
【０００５】
あるいは、特許文献１に記載の画像読取ステムとは逆の構成、すなわち画像処理を行う機能をスキャナに持たせ、スキャナ側で画像メモリ内の画像データに画像処理を施し、処理された画像データをホストコンピュータに転送するという画像読取システムもある。
【特許文献１】特開２００４−０１５２２７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、近年このような画像読取システムには読取処理速度のさらなる高速化が望まれており、前述の従来例にはかかる観点から以下の問題があった。
【０００７】
すなわち、画像処理をホストコンピュータで行うものでは、画像処理の内容やホストコンピュータの処理能力等によっては、スキャナが原稿１枚を読み取る時間よりもホストコンピュータで原稿１枚分の画像の処理を行う時間の方が長いことがある。前述したようにスキャナは大容量の画像メモリを備えるため、たとえホストコンピュータでの画像処理に時間を要したとしても、スキャナは原稿の搬送を停止させることなく画像の読み取りを継続することができる。
【０００８】
しかしながら、スキャナの画像メモリに空きがなくなった時点で画像の読み取りは停止することとなる。そして、ホストコンピュータでの画像処理が終了し、次の原稿の画像データの転送が再開されると、スキャナの画像メモリに空きが生まれるため、画像の読み取りも再開される。しかしホストコンピュータでは再び次の画像の処理が始まるため、スキャナによるスキャンも再び停止する。
【０００９】
このように、特に処理能力の低いホストコンピュータで大きな負荷の画像処理を行った場合、ホストコンピュータが画像処理を完了するまで頻繁にスキャナが待機することとなり、全ての原稿を搬送し、読み取りを終えるまでに時間がかかってしまう。
【００１０】
一方、スキャナで画像処理を施し、処理した画像データをホストコンピュータに転送する画像読取システムでは、前述のようなホストコンピュータで画像処理を行うことによる画像読み取りの遅延は発生しない。
【００１１】
しかしながら、このような構成では、ホストコンピュータへの画像の転送はスキャナでの画像処理が完了してからでないと開始することができない。そのため、特にスキャナが備える画像処理機能が高速ではない場合には、全ての原稿を搬送し、読み取りを終えるまでに長い時間を要してしまう。また、スキャナの備える画像処理機能が高速であれば短時間に画像の読み取りを完了することができるが、スキャナによる高速な画像処理を実現するにはコストがかかり、安価なシステムを構築できないという問題がある。
【００１２】
本発明は、係る状況下でなされたものであり、より安価な構成でより短時間に画像の読み取りを行うことができる画像読取システム及びその制御方法を提供することを課題とする。
【課題を解決するための手段】
【００１３】
本発明は上述した課題を解決するためになされたものであり、以下の構成を備える。
【００１４】
（１）原稿の画像を読み取る画像読取装置、及び前記画像読取装置に画像読み取りを指示する制御装置を備えた画像読取システムであって、前記画像読取装置は、原稿の画像を読み取る画像読取手段と、前記画像読取手段により読み取られた画像データを記憶する画像記憶手段と、前記画像読取手段の画像読み取り、及び前記画像データの前記制御装置への転送を制御する読取転送制御手段と、前記画像データの画像処理を行う第１の画像処理手段と、を備え、前記制御装置は、前記画像読取装置から転送された画像データを記憶する転送画像記憶手段と、前記画像読取装置に画像読み取りを指示する制御手段と、前記転送画像記憶手段に記憶された画像データの画像処理を行う第２の画像処理手段と、を備え、前記画像記憶手段に所定量以上の空きがある場合は、前記読取転送制御手段が前記画像読取手段による画像読み取りを継続し、前記第１の画像処理手段が前記画像記憶手段に記憶された画像データに画像処理を施さず、前記読取転送制御手段が該画像データを前記制御装置に転送し、前記画像記憶手段に所定量以上の空きがない場合は、前記読取転送制御手段が前記画像読取手段による画像読み取りを停止し、前記第１の画像処理手段が前記画像記憶手段に記憶された画像データに画像処理を施し、前記読取転送制御手段が該画像データを前記制御装置に転送し、また、前記読取転送制御手段は画像データの画像処理の有無を確認するための画像処理有無情報を前記制御装置に転送し、前記第２の画像処理手段は、前記画像処理有無情報に基づいて、転送された画像データのうち前記第１の画像処理手段によって画像処理が施されていない画像データに画像処理を施すことを特徴とする画像読取システム。
【００１５】
（２）原稿の画像を読み取る画像読取装置、及び前記画像読取装置に画像読み取りを指示する制御装置を有する画像読取システムの制御方法であって、前記画像読取装置が所定量以上の画像データを記憶できるかどうかを判断する容量判断工程と、前記容量判断工程において、所定量以上の画像データを記憶できると判断された場合に前記画像読取装置による画像読み取りを継続し、読み取られた画像データに対して画像読取装置側で画像処理を施すことなく該画像データを前記制御装置に転送する転送工程と、前記容量判断工程において、所定量以上の画像データを記憶できないと判断された場合に前記画像読取装置による画像読み取りを停止し、既に読み取られた画像データに画像読取装置側で画像処理を施して該画像データを前記制御装置に転送する第１の画像処理工程と、画像データの画像処理の有無を前記制御装置に通知する画像処理有無通知工程と、前記画像処理有無通知工程における通知結果に基づいて、転送された画像データのうち画像処理が施されていない画像データに制御装置側で画像処理を施す第２の画像処理工程と、を含むことを特徴とする画像読取システムの制御方法。
【発明の効果】
【００１６】
本発明によれば、より安価な構成でより短時間に画像の読み取りを行うことができる画像読取システム及びその制御方法を提供することができる。
【発明を実施するための最良の形態】
【００１７】
本発明を実施するための最良の形態を、図面を用いて説明する。
【００１８】
ただし、この実施形態に記載されている構成部品の寸法、材質、形状、その相対配置等は、特に特定的な記載がない限りは、この発明の範囲をそれらのみに限定する趣旨のものではない。
【００１９】
図１は本実施形態の画像読取システムの概略図である。図１に示す通り、本実施形態の画像読取システムは、スキャナ１（画像読取装置）と、ホストコンピュータ２（制御装置）とで構成され、スキャナ１とホストコンピュータ２は接続ケーブル３（接続手段）で接続される。接続ケーブル３は、ＳＣＳＩ、ＵＳＢ、ネットワーク等のケーブルを使用することができ、またケーブルを用いずに、無線や赤外線通信等を用いてもよい。
【００２０】
図２はスキャナ１の概略断面図である。図２において、２０１は原稿２１０を載置する原稿台（原稿搬送手段）、２０２〜２０６は原稿台２０１に載置された原稿２１０を搬送する搬送ローラ（原稿搬送手段）である。また、２０７は搬送される原稿２１０の画像を読み取る画像読取センサ（画像読取手段）である。２０８は、ローラ２０２〜２０６、画像読取センサ２０７の制御、画像データ転送、傾斜補正等の画像処理を制御するコンピュータプログラムを実装する基板（読取転送制御手段、第１の画像処理手段）である。２０９は、原稿台２０１に載置された原稿２１０の有無を検知する原稿検知センサ（原稿検知手段）である。
【００２１】
基板２０８には不図示の半導体メモリが実装されており、この半導体メモリは、ホストコンピュータ２に転送される前の画像データを記憶する画像メモリ（画像記憶手段）として用いられる。あるいはスキャナ１にハードディスクやメモリカード等の記憶装置を内蔵させ、これらを画像メモリとして用いてもよい。
【００２２】
図３はホストコンピュータの概略ブロック図である。図３において、３０１はスキャナ１に画像読み取りを指示し、また画像データの傾斜補正を行うＣＰＵ（制御手段、第２の画像処理手段）、３０２はユーザがＣＰＵ３０１に指示するためのキーボードである。３０３は、各種プログラムや画像データを記憶するメモリ（転送画像記憶手段）であり、スキャナ１から転送される画像データを記憶する画像メモリを有する。３０４はディスプレイ（画像データ表示手段）、３０５はハードディスク（画像データ保存手段）である。
【００２３】
ホストコンピュータ２は、メモリ３０３に受信用バッファと保存用バッファとを有する。また、ユーザがキーボード３０２を用いて画像読み取りの開始を指示すると、ＣＰＵ３０１は、メモリ３０３に記憶されているスキャナ制御プログラムによって、スキャンスレッド、フィルタスレッド、保存スレッドの３つのスレッドを作成する。各スレッドは非同期に並列処理される。
【００２４】
次に、図４を用いてホストコンピュータ２が受信バッファや保存バッファにデータをスタックする手順を説明する。図４はバッファへのデータスタック手順を示すフローチャートである。
【００２５】
まず、既にバッファにスタックされているデータのサイズと、新たにスタックしようとしているデータのサイズの合計値が、予めバッファに規定されたサイズ上限値を越えていないかどうかを判断する（ステップＳ４０１）。
【００２６】
データサイズが上限値を越える場合は、前述のスレッドによってバッファからデータが取り出され、スタックされているデータと新たにスタックしようとしているデータの合計サイズが上限値以下になるまで待機する。データサイズが上限値を越えない場合は、バッファにデータをスタックし（ステップＳ４０２）、処理を終了する。
【００２７】
続いて、図５を用いてホストコンピュータ２が受信バッファや保存バッファからデータを取り出す手順を説明する。図５はバッファからのデータ取り出し手順を示すフローチャートである。
【００２８】
まず、バッファにデータがスタックされているかどうかを判断する（ステップＳ５０１）。バッファにデータがスタックされていなければ、前述のスレッドによってデータがバッファにスタックされるまで待機する。バッファにデータがスタックされている場合は、バッファからデータを取り出し（ステップＳ５０２）、処理を終了する。
【００２９】
図１２は、ホストコンピュータ２によって作成されるスキャンスレッド、フィルタスレッド、保存スレッドと、それらスレッド間でデータを転送するために用いられるバッファの関係を示す図である。スキャンスレッド１２０１は、処理したデータをメモリ３０３内に作成される受信バッファ１２０２に保存する。フィルタスレッド１２０３は受信バッファ１２０２からデータを取り出し、取り出したデータに画像処理等を行った後に、そのデータを保存バッファ１２０４に保存する。保存スレッド１２０５は保存バッファ１２０４からデータを取り出し、ハードディスク３０５に保存する。
【００３０】
続いて、ホストコンピュータ２の前記各スレッドについて詳細に説明する。
【００３１】
図６は、ホストコンピュータ２のスキャンスレッド１２０１の手順を示すフローチャートである。スキャンスレッド１２０１ではスキャナ１への画像読み取り開始の指示から、画像データを受信バッファ１２０２に保存するところまでを行う。
【００３２】
まず、スキャナ１に対して接続ケーブル３を通じて画像読み取り開始を指示し（ステップＳ６０１）、ページ開始フラグを受信バッファ１２０２にスタックする（ステップＳ６０２）。続いて、スキャナ１から送られてきたデータが画像読み取り終了フラグであるか判断する（ステップＳ６０３）。スキャナ１から送られてきたデータが画像読み取り終了フラグであれば、それを受信バッファ１２０２にスタックし（ステップＳ６１０）、スレッドを終了（破棄）する。なお、受信バッファ１２０２にデータをスタックする手順は図４に示す通りであり、以下も同様である。
【００３３】
スキャナ１から送られてきたデータが画像読み取り終了フラグでなければ、画像データの受信を開始する。スキャナ１から画像データを取得し（ステップＳ６０４）、その画像データを受信バッファ１２０２にスタックする（ステップＳ６０５）。
【００３４】
取得した画像データがそのページの最後の画像データかどうかを判断し（ステップＳ６０６）、まだ残りの画像データがある場合は画像データの取得を繰り返す。１ページ分の画像データを全て受信すると、傾斜補正（画像処理）が済んでいるかどうかを示す補正有無確認フラグ（画像処理有無情報）をスキャナ１から取得し（ステップＳ６０７）、そのフラグを受信バッファ１２０２にスタックする（ステップＳ６０８）。そして、ページ終了フラグを受信バッファ１２０２にスタックし（ステップＳ６０９）、ステップＳ６０２へ戻ってページ開始フラグを受信バッファ１２０２にスタックする。
【００３５】
転送できる画像データがある場合は、同様の手順で次のページの画像データを受信する。転送できる画像データがなく原稿台２０１に原稿２１０もない場合は、画像読み取り終了フラグが受信されるため、受信した画像読み取り終了フラグを受信バッファ１２０２にスタックし（ステップＳ６１０）、スレッドを終了（破棄）する。
【００３６】
図７は、ホストコンピュータ２のフィルタスレッド１２０３の手順を示すフローチャートである。フィルタスレッド１２０３では、スキャンスレッド１２０１で受信バッファ１２０２にスタックした受信データを取り出して保存バッファ１２０４に保存する間に、必要に応じて画像処理を施す。
【００３７】
まず、メモリ３０３内の受信バッファ１２０２が空であるかどうかを判断し（ステップＳ７００）、受信バッファ１２０２が空の場合はスキャンスレッド１２０１が受信バッファ１２０２にデータをスタックするまで待機する。受信バッファ１２０２が空でない場合、受信バッファ１２０２にスタックされているデータを取り出し（ステップＳ７０１）、取り出されたデータがページ開始フラグであるかどうかを判断する（ステップＳ７０２）。なお、受信バッファ１２０２からデータを取り出す手順は図５に示す通りである。取り出されたデータがページ開始フラグの場合は、メモリ３０３内の一領域であるホストコンピュータ２側の画像メモリを初期化する（ステップＳ７０８）。
【００３８】
取り出されたデータがページ開始フラグでない場合、画像データであるかどうかを判断する（ステップＳ７０３）。画像データの場合は、メモリ３０３内の画像メモリに画像データを追加する（ステップＳ７０９）。
【００３９】
画像データでない場合は、補正有無確認フラグであるかどうかを判断する（ステップＳ７０４）。補正有無確認フラグの場合は、フラグの値を画像メモリに記憶する（ステップＳ７１０）。
【００４０】
補正有無確認フラグでない場合は、ページ終了フラグであるかどうかを判断する（ステップＳ７０５）。ページ終了フラグの場合は、補正有無確認フラグの値を確認し（ステップＳ７１１）、その値が「補正済み」でないときのみ、メモリ３０３内のホストコンピュータ２側の画像メモリに保存されている画像データに対して傾斜補正を施す（ステップＳ７１２）。その後、画像データをメモリ３０３内の保存バッファ１２０４にスタックし（ステップＳ７１３）、次のページの処理のためにステップＳ７００に戻る。
【００４１】
ページ終了フラグでない場合は、画像読み取り終了フラグであるかどうかを判断する（ステップＳ７０６）。画像読み取り終了フラグの場合、ページ開始フラグに続いて画像読み取り終了フラグが読み出されるので、画像読み取り終了フラグを保存バッファ１２０４にスタックし（ステップＳ７０７）、スレッドを終了（破棄）する。画像読み取り終了フラグでない場合は、ステップＳ７００に戻る。
【００４２】
図８は、ホストコンピュータ２の保存スレッド１２０５の手順を示すフローチャートである。
【００４３】
まず、保存バッファ１２０４からデータを取り出す（ステップＳ８０１）。そして取り出されたデータが画像データであるかどうかを判断する（ステップＳ８０２）。画像データの場合は、ディスプレイ３０４に画像データを表示し（ステップＳ８０４）、ハードディスク３０５に画像データを保存する（ステップＳ８０５）。
【００４４】
画像データでない場合は、画像読み取り終了フラグであるかどうかを判断する（ステップＳ８０３）。画像読み取り終了フラグの場合は、スレッドを終了（破棄）する。画像読み取り終了フラグでない場合は、ステップＳ８０１に戻る。
【００４５】
一方、スキャナ１は、ホストコンピュータ２から画像読み取り開始の指示を受けると、基板２０８に実装されたコンピュータプログラムによって、スキャンスレッドとリードスレッドを作成する。各スレッドは非同期に並列処理される。
【００４６】
スキャナ１の前記各スレッドについて詳細に説明する。
【００４７】
図９は、スキャナ１のスキャンスレッドの手順を示すフローチャートである。スキャンスレッドでは原稿の画像を読み取って、スキャナ１側の画像メモリに画像データとしてスタックするところまでを行う。また画像メモリに空きがない場合は、画像読み取りを停止して、画像メモリにスタックされた画像データに対し傾斜補正を行う。
【００４８】
まず、スキャナ１の画像メモリに所定量以上の空き、本実施形態においては画像データ一つ分以上の空きが存在するかどうかを判断（容量判断）する（ステップＳ９０１）。なお、画像メモリの空き容量は、画像データ一つ分以上でなく、例えば画像データ数個分以上の空きがあるかどうかを判断するようにしてもよい。画像メモリに画像データ一つ分以上の空きがある場合、原稿台２０１に原稿２１０があるかどうかを、原稿検知センサ２０９を用いて判断する（ステップＳ９０７）。
【００４９】
原稿台２０１に原稿２１０がない場合は、画像メモリに転送待ちの画像データがないかどうかを判断する（ステップＳ９０８）。転送待ちの画像データがなければ、画像読み取り終了フラグを画像メモリにスタックし（ステップＳ９０９）、スレッドを終了（破棄）する。ステップＳ９０７において、原稿台２０１に原稿２１０があると判断された場合は、原稿２１０の搬送を開始し（ステップＳ９１０）、画像読取センサ２０７によって原稿の画像を読み取る（ステップＳ９１１）。そして、読み取られた画像データを画像メモリにスタックし（ステップＳ９１２）、傾斜補正が済んでいないことを示す値の補正有無確認フラグを画像メモリにスタックして（ステップＳ９１３）、ステップＳ９０１に戻る。
【００５０】
一方、ステップＳ９０１において画像メモリに空きがないと判断された場合、又はステップＳ９０８において画像メモリに転送待ちの画像データがあると判断された場合は、傾斜補正が済んでいないものがないかどうかを判断する（ステップＳ９０２）。傾斜補正が済んでいない画像データがないかどうかの判断は、画像メモリ後端から、すなわち転送の優先度が低い順に行う。傾斜補正が済んでいない画像データがないと判断された場合は、画像読み取り終了フラグを画像メモリにスタックし（ステップＳ９０９）、スレッドを終了（破棄）する。
【００５１】
傾斜補正が済んでいない画像データがあると判断された場合は、傾斜補正が済んでいない画像データを読み込み（ステップＳ９０３）、該画像データに対して傾斜補正を行う（ステップＳ９０４）。そして補正前の画像データを補正後の画像データで置換し（ステップＳ９０５）、補正有無確認フラグの値を傾斜補正が済んでいないことを示す値から傾斜補正が済んだことを示す値に書き換えて（ステップＳ９０６）、その後ステップＳ９０１へ戻る。
【００５２】
ステップＳ９０２における傾斜補正が済んでいない画像データの走査は、本実施形態では画像メモリ後端から行ったが、特にこれに限定されず、それ以外の位置から走査を行ってもよい。例えば、転送の優先順位が１番の画像データ、すなわち画像メモリ先端の画像データだけを除き、優先順位が２番の画像データから画像メモリ後端へ向かって走査をしてもよい。しかしながら、画像メモリ後端に近い位置から走査を行う方が、画像データの転送を妨げないためには好ましい。このように画像処理をどの画像データに対して行うかはさまざまであり、最も転送の優先度が高い画像データを除いて傾斜補正の対象にしてよい。また、一つしか転送待ちの画像データがなく、かつこの画像データが未補正である場合は、この画像データを傾斜補正の対象としてもよい。
【００５３】
図１０は、スキャナ１のリードスレッドの手順を示すフローチャートである。
【００５４】
まず、画像メモリが空かどうかを判断する（ステップＳ１０００）。画像メモリが空であれば、前述のスキャナ１のスキャンスレッドによってデータがスタックされるまで待機する。画像メモリが空でない場合、画像メモリからデータを取り出し、取り出されたデータが画像読み取り終了フラグであるかどうかを判断する（ステップＳ１００１）。画像読み取り終了フラグであれば、画像読み取り終了フラグをホストコンピュータ２に送信し（ステップＳ１００６）、スレッドを終了（破棄）する。
【００５５】
画像読み取り終了フラグでない場合は、画像メモリから画像データを取り出し（ステップＳ１００２）、ホストコンピュータ２に画像データを送信する（ステップＳ１００３）。続いて、補正有無確認フラグを取り出し（ステップＳ１００４）、ホストコンピュータ２に送信（画像処理有無通知）して（ステップＳ１００５）、ステップＳ１０００へ戻る。
【実施例１】
【００５６】
以下、本発明の実施例を説明するが、本発明は以下の例に限定されるものではない。
【００５７】
本実施例では、原稿１枚分を搬送して画像データを転送するまでの時間を３７５ｍｓ、スキャナ１で画像データ一つ分を傾斜補正する時間を２５００ｍｓとした。また、ホストコンピュータ２で画像データ一つ分を傾斜補正する時間を５００ｍｓから２５００ｍｓまで変化させた。
【００５８】
この条件でのシミュレーション結果を図１１に示す。図１１において、グラフは、横軸をホストコンピュータ２での補正時間、縦軸を処理速度としての毎分の処理枚数とし、黒四角が従来例、黒ダイヤが本実施例での結果を示すものである。
【００５９】
ホストコンピュータ２の傾斜補正時間が５００ｍｓ／ｐａｇｅの場合は、従来例での処理速度と本実施例での処理速度がともに約１２０ｐａｇｅ／ｍｉｎである。しかしながら、ホストコンピュータ２の傾斜補正時間が長くなるにつれて、従来例及び本実施例での処理速度はともに低下し、その差は徐々に広がっていく。これは、ホストコンピュータ２の処理速度が低下すると、スキャナ１の画像メモリに空きがなくなる頻度が増加し、したがって本実施例のスキャナ１で画像補正を行う頻度が増加するためである。
【００６０】
例えばホストコンピュータ２の補正時間が１５００ｍｓ／ｐａｇｅの場合、従来例での処理速度約４０ｐａｇｅ／ｍｉｎに対して、本実施例では約５０ｐａｇｅ／ｍｉｎであり、速度向上は約２５％である。ホストコンピュータ２の補正時間がスキャナ１の補正時間と等しい場合（２５００ｍｓ／ｐａｇｅ）、従来例での処理速度は約２４ｐａｇｅ／ｍｉｎであったのに対して本実施例では約３６ｐａｇｅ／ｍｉｎとなり、約５０％の速度向上を見込めることが分かる。
【００６１】
以上のように本実施形態の画像読取システムは、傾斜補正を行う機能をスキャナ１とホストコンピュータ２の双方に持たせている。そして、スキャナ１の画像メモリに所定量の空きがある場合は、スキャナ１は画像読み取りを継続して画像メモリに蓄積されている画像データに対して傾斜補正を行わずにホストコンピュータ２へ転送する。スキャナ１の画像メモリに空きがなくなってホストコンピュータ２へのデータ搬送が停止している状態では、スキャナ１の画像メモリに蓄積されている複数の画像データのうち転送の優先度が低いものに対してスキャナ１側（画像読取装置側）で画像補正を行う。ホストコンピュータ２は、画像データとその画像データが補正されたかどうかの情報を受け取る。これによりホストコンピュータ２は画像データの画像処理の有無を通知され、通知結果に基づいて、画像データがまだ補正されていない場合のみホストコンピュータ２側（制御装置側）で傾斜補正を行う。また、原稿全てについての画像読み取りが終了し、スキャナ１の画像メモリに未転送の画像データが残っている場合は、画像メモリに所定量の空きがある場合であっても、スキャナ１は転送の優先度が低い画像データに対して必要に応じて傾斜補正を施す。
【００６２】
このように、スキャナ１とホストコンピュータ２の双方の傾斜補正機能を活用し、スキャナ１はホストコンピュータ２での処理完了まで待機している時間を利用して傾斜補正を施す。したがってホストコンピュータ２では一部の画像データについては傾斜補正を行わずに済む。そのため、高速な傾斜補正機能をスキャナ側とホストコンピュータ側のどちらにも備えることなく、安価な構成で画像読取システム全体の処理速度を向上させることができる。
【００６３】
なお、本実施形態では画像処理として傾斜補正を例に説明したが、特にこれに限定されず、白補正、黒補正、回転、圧縮等のその他の画像変換処理等であってもよい。
【図面の簡単な説明】
【００６４】
【図１】画像読取システムの概略図
【図２】スキャナの概略断面図
【図３】ホストコンピュータの概略ブロック図
【図４】バッファへのデータスタック手順を示すフローチャート
【図５】バッファからのデータ取り出し手順を示すフローチャート
【図６】ホストコンピュータのスキャンスレッドの手順を示すフローチャート
【図７】ホストコンピュータのフィルタスレッドの手順を示すフローチャート
【図８】ホストコンピュータの保存スレッドの手順を示すフローチャート
【図９】スキャナのスキャンスレッドの手順を示すフローチャート
【図１０】スキャナのリードスレッドの手順を示すフローチャート
【図１１】実施例１におけるシミュレーション結果を示す図
【図１２】スレッドとバッファの関係を示す図
【符号の説明】
【００６５】
１  スキャナ（画像読取装置に対応）
２  ホストコンピュータ（制御装置に対応）
３  接続ケーブル
２１０  原稿
２０１  原稿台（原稿搬送手段に対応）
２０２〜２０６  搬送ローラ（原稿搬送手段に対応）
２０７  画像読取センサ（画像読取手段に対応）
２０８  基板（読取転送制御手段、第１の画像処理手段に対応）
２０９  原稿検知センサ（原稿検知手段に対応）
３０１  ＣＰＵ（制御手段、第２の画像処理手段に対応）
３０２  キーボード
３０３  メモリ（転送画像記憶手段に対応）
３０４  ディスプレイ
３０５  ハードディスク
【図１】
2008294529.tif 000003
【図２】
2008294529.tif 000004
【図３】
2008294529.tif 000005
【図４】
2008294529.tif 000006
【図５】
2008294529.tif 000007
【図６】
2008294529.tif 000008
【図７】
2008294529.tif 000009
【図８】
2008294529.tif 000010
【図９】
2008294529.tif 000011
【図１０】
2008294529.tif 000012
【図１１】
2008294529.tif 000013
【図１２】
2008294529.tif 000014