(57)【要約】【課題】ユーザが指定した出力解像度を、画像読取装置で指定不可能な場合、読み取り時間やＰＣメモリ消費量を無駄に使用せずに、最も適した画像解像度によって読み取ることができる画像処理装置を提供することを目的とする。【解決手段】ユーザが指定した出力解像度、出力画像サイズ、拡大、縮小倍率に基づいて、画像読取装置に設定する適切な読取解像度を決定する。読取解像度が、ユーザが指定した出力解像度と異なる場合、読み取った原稿サイズと、ユーザが指定した出力画像サイズとが一致するかどうかを判定する。読み取った原稿サイズと、ユーザが指定した出力画像サイズとが一致すると判定された場合、読取解像度を、出力解像度以下の解像度とし、一致しないと判定された場合、読取解像度を、出力解像度よりも大きな解像度とする。【選択図】図６
2010263435.tif 000002
【特許請求の範囲】
【請求項１】
原稿を光学スキャナで読み取る画像読取装置において、
複数の読取解像度を指定する読取解像度指定手段と；
読取範囲を指定する読取範囲指定手段と；
ユーザが出力解像度を任意に指定する出力解像度指定手段と；
ユーザが出力画像サイズを任意に指定する出力画像サイズ指定手段と；
上記画像読取装置が読み取った画像を、ユーザが任意の倍率に変倍することを指定する倍率指定手段と；
上記出力解像度指定手段によって指定された出力解像度以下の解像度であり、かつ、上記読取解像度指定手段によって指定可能な解像度のうちで最大の解像度で読み取り、読み取った結果の画像を、上記出力解像度指定手段によって指定された出力解像度に等しくなるように拡大処理し、出力画像を生成する第１画像生成手段と；
上記出力解像度指定手段によって指定された出力解像度よりも大きな解像度で、かつ、上記読取解像度指定手段によって指定可能な解像度のうちで最小の解像度で読み取り、読み取った結果の画像について、上記出力解像度指定手段によって指定された出力解像度に等しくなるように縮小処理し、出力画像を生成する第２画像生成手段と；
上記読取範囲指定手段によって指定された画像サイズと、上記出力画像サイズ指定手段によって指定された画像サイズとがともに、定型原稿サイズに一致するか否かを判定するサイズ判定手段と；
上記サイズ判定手段の結果が定型原稿サイズに一致すれば、上記第１画像生成手段に出力画像を生成させ、一致しなければ、上記第２画像生成手段に出力画像を生成させるように、画像生成手段を切り替える切替手段と；
を有することを特徴とする画像読取装置。
【請求項２】
請求項１であって、
上記サイズ判定手段は、上記読取範囲指定手段による読取範囲指定方法と、上記出力解像度指定手段を介してユーザが指定した出力解像度とに基づいて、サイズ一致を判定する手段であることを特徴とする画像読取装置。
【請求項３】
請求項１であって、
上記読取範囲指定手段は、
読取範囲をユーザが手動で指定可能な第１読取範囲指定手段と；
スキャナ装置が読み取った画像から、原稿領域を自動で抽出し、読取範囲として設定可能な第２読取範囲指定手段と；
を有する手段であり、上記第１読取範囲指定手段、上記第２読取範囲指定手段を、ユーザが選択可能であることを特徴とする画像読取装置。
【請求項４】
請求項３であって、
上記サイズ判定手段は、上記読取範囲指定手段による読取範囲指定方法と、上記読取範囲指定手段を介してユーザが選択した読取範囲と、上記出力解像度指定手段を介してユーザが指定した出力解像度とに基づいてサイズ一致を判定する手段であることを特徴とする画像読取装置。
【請求項５】
原稿を光学スキャナで読み取る画像読取方法において、
ユーザによって指定された出力解像度以下の解像度であり、かつ、指定可能な読取解像度のうちで最大の解像度で読み取り、読み取った結果の画像を、ユーザによって指定された出力解像度に等しくなるように拡大処理し、出力画像を生成する第１画像生成工程と；
ユーザによって指定された出力解像度よりも大きな解像度で、かつ、ユーザによって指定可能な読取解像度のうちで最小の解像度で読み取り、読み取った結果の画像について、上記指定された出力解像度に等しくなるように縮小処理し、出力画像を生成する第２画像生成工程と；
読取範囲が指定された画像サイズと、上記指定された出力画像サイズとがともに、定型原稿サイズに一致するか否かを判定するサイズ判定工程と；
サイズ判定の結果が定型原稿サイズに一致すれば、上記第１画像生成工程によって出力画像を生成させ、一致しなければ、上記第２画像生成工程によって出力画像を生成させるように、画像生成手段を切り替える切替工程と；
を有することを特徴とする画像読取方法。
【請求項６】
請求項１から請求項５記載の画像読取装置を構成する各手段としてコンピュータを機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像読取装置の原稿台に置かれている原稿を読み取り、この読み取った画像を処理し、出力する画像処理装置に係り、特に、ユーザが出力する画像の解像度、出力紙、倍率等を自由に指定可能な画像処理装置に関する。
【背景技術】
【０００２】
従来、この種の画像読取装置は、原稿領域を読み取る際に、読取範囲、画像の精細さを指定する読取解像度、読み取った画像領域を指定のサイズに変換するための拡大縮小率等を、ユーザが予め指定してから読み取る。これによってユーザは、読み取った画像について、拡大、縮小等の余分な処理を行う手間を省略し、使い勝手のよい画像読取装置を提供している。
【０００３】
この際に、画像読取装置の制御プログラムは、ユーザが指定した出力画像についての情報に基づいて、制御プログラムが実際に画像読取装置に対する読み取り設定を適切に行うことによって、ユーザは、画像読取装置について複雑な設定を行う必要がない。そして、最終的に得たい画像の情報を入力するだけで、所望の画像を得ることができる。また、プレスキャンして得た原稿領域画像の内容を評価し、内容に応じて適切な読取解像度を決定する発明が知られている。
【０００４】
ところで、ラインセンサを用いた画像読取装置では、ラインセンサ内の全てのセンサを用いた最大解像度（＝光学解像度）による読み取り以外にも、たとえば１つおきのセンサのみを使用して、最大解像度の半分の解像度で読み取る方法がある。この方法を用いることによって、ラインセンサの光学解像度以下の複数の解像度による読み取りが可能な画像読取装置を実現することができる。
【０００５】
しかし、任意の解像度を指定できる訳ではなく、読み取りを行うセンサが等間隔に配置されるような限られた解像度でしか、読み取ることができない。したがって、ユーザに対して任意の解像度の指定を可能にしている画像読取装置においては、ユーザが指定する解像度が、画像読取装置に指定不可能なケースが少なくない。この場合、制御プログラムは、ユーザが指定した解像度に近い、画像読取装置に指定可能な解像度で読み取った後に、拡大、縮小処理を行うことによって、ユーザ所望の解像度に変換した画像を生成する必要がある。
【０００６】
さらに、原稿台に置かれている原稿を読み取る画像読取装置において、読み取った画像サイズが、実際の原稿サイズと異なるという問題がある。
【０００７】
この問題は、読み取りを行うセンサのレンズに起因する倍率精度の影響のほかに、プレスキャンによって読み取った原稿領域から、読取対象となる領域を自動抽出する手法（たとえば、特許文献１参照）にも起因する。
【０００８】
上記自動抽出の手法では、原稿領域の抽出時に、原稿用紙と原稿台との間の影の写りこみを防ぐために、抽出された領域を、わざと小さくする処理が行われる。このために、たとえば、定型サイズ原稿を原稿台に置き、プレスキャンを行い、原稿領域のみを読取範囲に指定すると、読み取り結果の画像サイズは、定型サイズ原稿よりも少し小さくなる。
【０００９】
これを、ユーザが元の定型サイズ原稿に一致させるように、出力画像サイズを指定した場合、制御プログラムによって、読み取り結果の画像を拡大処理し、ユーザ所望のサイズに変換した画像を生成する必要がある。
【００１０】
しかし、このように、制御プログラムが画像読取装置について設定を行う手法では、ユーザが意図しない読み取り設定を行なうという問題がある。たとえば、画像の拡大処理が、ユーザから指定されている際に、制御プログラムが出力画像を生成する方法として、次の第１の方法、第２の方法が考えられる。
【００１１】
上記第１の方法は、ユーザが指定した解像度で読み取り、制御プログラムでソフトウェア拡大処理を行い、所望の倍率の画像を生成する方法である。
【００１２】
上記第２の方法は、ユーザが指定した解像度よりも大きな解像度で読み取り、制御プログラムでソフトウェア縮小処理を行い、所望の倍率の画像を生成する方法である。
【００１３】
上記第１の方法は、ユーザが指定した設定を忠実に実行するが、ソフトウェア拡大処理による画質の劣化が発生する。したがって、ユーザが指定した解像度よりも大きな解像度で読み取りが可能な場合、ソフトウェア拡大処理を行う第１の方法に代わり、画像劣化を発生せずに所望の倍率の画像を生成する第２の方法が制御プログラムで利用されることがある。
【先行技術文献】
【特許文献】
【００１４】
【特許文献１】特開平９−１０２０３６号公報
【発明の概要】
【発明が解決しようとする課題】
【００１５】
上記第２の方法は、画像劣化を発生せずにユーザ所望の画像を生成することができる一方で、ユーザが指定した解像度よりも大きな解像度で読み取るので、読み取り時間や、ＰＣメモリ消費量の増加が問題である。特に、読取範囲を、実際の原稿サイズよりもわずかに小さく指定し、出力画像サイズを正しい原稿サイズとしてユーザが指定した場合、制御プログラムは、読み取った画像を出力画像サイズと等しくなるように、わずかに拡大する必要がある。この場合、第２の方法に従い、出力解像度よりも大きな解像度で読み取って縮小処理した場合と、第１の方法に従い、出力解像度で読み取り、拡大処理した場合とで、画質の差異が認識できない程わずかである。しかし、読み取り時間やＰＣメモリ消費量を無駄に使用するという問題がある。
【００１６】
本発明は、ユーザが指定した出力解像度を、画像読取装置で指定不可能な場合、読み取り時間やＰＣメモリ消費量を無駄に使用せずに、最も適した画像解像度によって読み取ることができる画像処理装置を提供することを目的とする。
【課題を解決するための手段】
【００１７】
本発明は、ユーザが指定した出力解像度、出力画像サイズ、拡大、縮小倍率に基づいて、画像読取装置に設定する適切な読取解像度を決定する。読取解像度が、ユーザが指定した出力解像度と異なる場合、読み取った原稿サイズと、ユーザが指定した出力画像サイズとが一致するかどうかを判定する。読み取った原稿サイズと、ユーザが指定した出力画像サイズとが一致すると判定された場合、読取解像度を、出力解像度以下の解像度とし、一致しないと判定された場合、読取解像度を、出力解像度よりも大きな解像度とする。
【発明の効果】
【００１８】
本発明によれば、ユーザが指定した出力解像度と出力画像サイズに基づいて、読み取り時間やＰＣメモリ消費量を無駄に使用せずに、最も適した画像解像度によって読み取ることができるという効果を奏する。
【００１９】
本発明によれば、ユーザが指定した出力解像度よりも高解像度読取を行うことによるスキャン時間や使用メモリ量増加を、最終的な出力画像への影響がないと判定されると、行わないので、不要なＰＣリソースの使用を防止することができるという効果を奏する。
【図面の簡単な説明】
【００２０】
【図１】本発明の実施例１である画像読取装置Ｒ１を示す断面図である。
【図２】実施例１におけるスキャナ１０の機能構成を示すブロック図である。
【図３】実施例１において、ホストＰＣ５０の概略構成を示す図である。
【図４】実施例１において、ホストＰＣ５０のソフトウェア構成を示す図である。
【図５】実施例１において、スキャナ１０の読取動作を示すフローチャートである。
【図６】図５に示すＳ５の処理について、さらに詳細に示すフローチャートである。
【発明を実施するための形態】
【００２１】
発明を実施するための形態は、次の実施例である。
【実施例１】
【００２２】
図１は、本発明の実施例１である画像読取装置Ｒ１を示す断面図である。
【００２３】
画像読取装置Ｒ１は、スキャナ１０を有し、読取原稿Ｄ１が載置される。スキャナ１０は、原稿を読み取る光学スキャナの例であり、不図示のインタフェースケーブルによって、ホストコンピュータ（以下、「ホストＰＣ」という）に接続される。
【００２４】
画像読取装置Ｒ１は、プーリＰ１、Ｐ２と、原稿台ガラスＧ１と、ギア列１１と、ガイドレール１２と、白色基準板１３と、圧板１４と、パルスモータ１７と、無端ベルト１８と、光学ユニット３０と、電気基板４０とを有する。
【００２５】
白色基準板１３の中に、黒マーク１３ｂが設けられ、スキャナ１０は、この黒マーク１３ｂを基準にして、読み取りエリアを決め、画像を読み取る。
【００２６】
光学ユニット３０、パルスモータ１７は、それぞれ、不図示のケーブルによって、電気的に接続されている。また、光学ユニット３０は、圧板１４に載置され、ガイドレール１２に沿って摺動可能であり、圧板１４は、無端ベルト１８に固着されている。
【００２７】
光学ユニット３０は、反射原稿用光源１５と、複数の反射ミラーＭ１、Ｍ２、Ｍ３と、結像レンズ１９と、撮像手段であるラインセンサ２０とによって構成されている。
【００２８】
次に、スキャナ１０における反射原稿画像の読み取り動作について説明する。
【００２９】
ホストＰＣが読み取り命令コマンドを発生すると、スキャナ１０が読み取り動作を開始する。スキャナ１０は、光学ユニット３０の反射原稿用光源１５を点灯し、読取原稿Ｄ１からの反射光を、複数の反射ミラーＭ１、Ｍ２、Ｍ３が反射し、結像レンズ１９を介して、ラインセンサ２０に結像することによって、主走査方向１ライン分の画像を読み取る。
【００３０】
ギア列１１を介して、パルスモータ１７の動力によって、プーリＰ１を回転させ、無端ベルト１８を駆動する。これによって、圧板１４に固着されている光学ユニット３０は、矢印Ｘで示す副走査方向に、ガイドレール上を移動する。
【００３１】
スキャナ１０は、光学ユニット３０を、副走査方向に移動しつつ、上記主走査方向のライン画像の読み取りを繰り返し、図１に点線で示す位置まで、読み取り動作をしながら、光学ユニット３０を移動し、原稿台ガラスＧ１の全面をスキャンする。
【００３２】
ただし、ホストＰＣからの読み取りコマンドの内容に応じて、原稿台ガラスＧ１上の原稿の部分画像を読むことができる。この場合、ホストＰＣが指定する読み取り画像領域に対して、主走査方向には、センサ出力のうちで採用する画素領域を、電気基板４０上の上記制御部が規定することによって、原稿台ガラスＧ１上の読取原稿Ｄ１の部分画像を読む。また、副走査方向には、光学ユニット３０の移動領域を、電気基板４０上の上記制御部が規定することによって、原稿台ガラスＧ１上の読取原稿Ｄ１の部分画像を読む。
【００３３】
また、副走査方向に、光学ユニット３０を移動させる場合、ホストＰＣが指定する画像読み取りの解像度設定に応じて、システムコントローラ４１が速度を選択し、画像を読み取る。
【００３４】
なお、スキャナ１０は、マルチクロップスキャン機能を有し、ホストＰＣ又はスキャナ１０自身の制御によって、原稿台ガラスＧ１上に配置されている複数の読取原稿Ｄ１を、自動的に順に読み取る。
【００３５】
圧板１４上にオペレーションパネルを設置し、このオペレーションパネルには、液晶画面とボタンとが設けられ、ユーザが、マルチクロップのパラメータをスキャナ１０に入力し、読み取りの開始等の操作を行う。
【００３６】
図２は、実施例１において使用するスキャナ１０の機能構成を示すブロック図である。
【００３７】
スキャナ１０は、光学ユニット３０と、電気基板４０と、パルスモータ１７と、モータ駆動回路ＭＤ１と有する。
【００３８】
光学ユニット３０は、光源点灯回路３１を有し、光源点灯回路３１は、反射原稿用光源１５を点灯する回路であり、この中に、反射原稿用光源１５の光量検知を行う検知部が含まれている。反射原稿用光源１５に冷陰極管を用いた場合、いわゆるインバータ回路を構成する。
【００３９】
電気基板４０は、システムコントローラ４１と、アナログゲイン調整器４２Ｒ、４２Ｇ、４２Ｂと、Ａ／Ｄ変換器４３と、画像処理部４４と、ラインバッファ４５と、インタフェース部４６とを有する。また、電気基板４０は、オフセットＲＡＭ４７と、ガンマＲＡＭ４８と、ＣＰＵバス４９とを有する。
【００４０】
アナログゲイン調整器４２Ｒ、４２Ｇ、４２Ｂは、ラインセンサ２０から出力されたアナログ画像信号を可変増幅する。Ａ／Ｄ変換器４３は、アナログゲイン調整器４２Ｒ、４２Ｇ、４２Ｂが出力したアナログ画像信号をデジタル画像信号に変換する。画像処理部４４は、デジタル信号化された画像信号について、オフセット補正、シェーディング補正、デジタルゲイン調整、カラーバランス調整、マスキング、主・副走査方向の解像度変換、画像圧縮等の画像処理を行う。
【００４１】
ラインバッファ４５は、画像データを一時的に記憶し、汎用のランダムアクセスメモリを有する。インタフェース部４６は、ホストＰＣ５０と通信し、ＵＳＢインタフェースによって構成されている。インタフェース部４６として、ＩＥＥＥ１３９４等、別のインタフェースを採用するようにしてもよい。
【００４２】
オフセットＲＡＭ４７は、画像処理を行う際のワーキングエリアとして用いるＲＡＭであり、ＲＧＢ用ラインセンサが、互いに所定のオフセットを持ち、ラインセンサ２０に、平行に配置されているので、このＲＧＢライン間オフセットの補正用として用いられる。また、オフセットＲＡＭ４７は、シェーディング補正等、各種データの一時記憶も行う。ここでは、汎用のランダムアクセスメモリで実現している。ガンマＲＡＭ４８は、ガンマカーブを記憶し、ガンマ補正を行うためのＲＡＭである。
【００４３】
システムコントローラ４１は、フィルムスキャナ全体のシーケンスを記憶しているシステムコントローラであり、ホストＰＣ５０からの命令に従って、各種制御を行う。
【００４４】
ＣＰＵバス４９は、システムコントローラ４１と、画像処理部４４と、ラインバッファ４５と、インタフェース部４６と、オフセットＲＡＭ４７と、ガンマＲＡＭ４８とを接続するバスであり、アドレスバスとデータバスとを有する。
【００４５】
モータ駆動回路ＭＤ１は、パルスモータ１７用のモータ駆動回路であり、スキャナ１０のシステム制御手段であるシステムコントローラ４１からの信号によって、パルスモータ１７の励磁切替え信号を出力する。
【００４６】
次に、実施例１において、スキャナ１０の制御に用いられるホストＰＣ５０の概略構成について、説明する。
【００４７】
図３は、実施例１において、スキャナ１０の制御に用いられるホストＰＣ５０の概略構成を示す図である。
【００４８】
ホストＰＣ５０は、中央処理装置５１と、ＲＯＭ５２と、ＲＡＭ５３と、ディスク装置５４と、バス５５と、Ｉ／Ｆ５６、５７と、外部記憶装置５８とを有する。
【００４９】
ＲＯＭ５２は、図５に示すフローチャートの動作を実現するプログラムを保持する。ＲＡＭ５３は、上記プログラムの動作に必要な記憶領域とワークエリアとを提供する。中央処理装置５１は、ＲＯＭ５２に保持されているプログラムに従って処理する。
【００５０】
バス５５は、上記各構成を接続し、各構成間におけるデータの授受を可能とする。Ｉ／Ｆ５６は、スキャナ１０との通信を行うＩ／Ｆであり、スキャナ１０のインタフェース部４６と同様に、ＵＳＢインタフェースで実現しているが、ＩＥＥＥ１３９４等、別のインタフェースを採用するようにしてもよい。
【００５１】
Ｉ／Ｆ５７は、マウスやキーボード等の入力部６１と接続する。また、外部記憶装置５８は、フロッピー（登録商標）ディスクやＣＤ−ＲＯＭ等、外部記憶媒体を駆動するためのものである。また、Ｉ／Ｆ５７は、上記のように、ＲＯＭ５２に制御プログラムを予め保持する代わりに、外部記憶媒体に記憶されている場合に、それを読み出してダウンロードする。なお、図示しないネットワークコネクタを介して、ネットワーク経由で、制御プログラムをダウンロードするようにしてもよい。
【００５２】
図４は、実施例１において、ホストＰＣ５０の内部で動作するソフトウェア構成を示す図である。
【００５３】
ＴＷＡＩＮ規格に対応したＴＷＡＩＮ対応アプリケーション４０１は、ＴＷＡＩＮドライバ４０２経由で、図３に示すスキャナ１０から画像を読み取り、モニタ６０に表示する。また、ユーザの指示によって画像を処理・保存する機能を有する。ＴＷＡＩＮドライバ４０２は、ＴＷＡＩＮ規格に従い、ＴＷＡＩＮ対応アプリケーション４０１に、スキャナ１０からの画像を渡すと共に、独自のＧＵＩ（グラフィック・ユーザ・インタフェース）を表示する。ＧＵＩは、プレビュー、プレビュー画像に対するクロップエリアの指定、解像度の設定、読み取りモード（２値、８ビット多値、２４ビット多値等）の設定、ガンマ補正等の色調整の設定等を行う機能を有する。
【００５４】
デバイスドライバ４０３は、インタフェース部４６を介して、画像処理部４４にアクセスする。そして、シェーディングの制御、解像度やクロップ範囲に応じたモータスピードの設定、ＴＷＡＩＮドライバ４０２から受取ったガンマ補正データを、ガンマＲＡＭ４８への送信処理、画像読み取りのためのフロー制御を行う。ポートドライバ４０４は、パラレル・インタフェース、ＳＣＳＩインタフェース、ＵＳＢインタフェース、ＩＥＥＥ１３９４インタフェース等のインタフェースに応じて、スキャナ１０との間で通信制御を行う。オペレーティングシステム４０５は、Ｗｉｎｄｏｗｓ（登録商標）等、図３に示すホストＰＣ５０のオペレーティングシステムＯＳである。
【００５５】
次に、実施例１において、ホストＰＣ５０によるスキャナ１０の読み取り動作について説明する。
【００５６】
図５は、実施例１において、ホストＰＣ５０によるスキャナ１０の読み取り動作を示すフローチャートである。
【００５７】
Ｓ１で、スキャナ１０から画像を読み取る。読み取る場合における画像の解像度は、仮のものであってもよく、ユーザ所望の解像度であってもよい。
【００５８】
Ｓ２で、読み取った画像領域から、読取対象領域を設定する。読取対象領域を設定する場合、ユーザが手動で領域を指定してもよく、自動抽出手法によって自動的に領域の指定を行ってもよい。
【００５９】
Ｓ３で、出力画像に関する情報を設定する。ユーザが設定可能な情報としては、出力画像の解像度、画像サイズ、カラーモード（カラー、グレー、モノクロ）、拡大率やエッジ強調処理等の画像処理等がある。
【００６０】
Ｓ４では、Ｓ３で設定された出力画像に関する情報に基づいて、スキャナ１０の読取解像度（以下、「第１読取解像度」という）を仮決定する。ここで、仮決定される第１読取解像度は、スキャナ１０が読み取り可能な解像度のうちで、以下の式（１）を満たす最小の解像度である。
【００６１】
ＲｅｓＩｎ×ＬｅｎｇｔｈＩｎ≧ＲｅｓＯｕｔ×ＬｅｎｇｔｈＯｕｔ×ＳｃａｌｅＯｕｔ  …式（１）
ＲｅｓＩｎ×ＬｅｎｇｔｈＩｎ≧ＲｅｓＯｕｔ×ＬｅｎｇｔｈＯｕｔ  …式（２）
ここで、ＲｅｓＩｎは、第１読取解像度（ｄｏｔ／ｉｎｃｈ）であり、ＬｅｎｇｔｈＩｎは、Ｓ２で設定した読取対象領域（ｉｎｃｈ）であり、ＲｅｓＯｕｔは、出力画像の解像度（ｄｏｔ／ｉｎｃｈ）である。ＬｅｎｇｔｈＯｕｔは、出力画像サイズ（ｉｎｃｈ）であり、ＳｃａｌｅＯｕｔは、画像の倍率である。
【００６２】
式（１）の左辺は、スキャナ１０から読み取った画像の各辺のピクセル数に等しく、式（１）の右辺は、ユーザが、Ｓ２、Ｓ３で設定した情報を満たす、ユーザ所望の出力画像の各辺におけるピクセル数に等しい。このときに、左辺が右辺よりも小さければ、スキャナ１０で読み取った画像を、拡大処理する必要があるが、これをソフトウェア処理による拡大を行うと、画像が劣化する。これを防ぐために、式（１）を満たす第１読取解像度ＲｅｓＩｎによって、読み取り、縮小処理によって、出力画像を生成する。これによって、画像劣化を起こさずに、ユーザ指定の解像度、倍率の画像を生成する。
【００６３】
また、式（１）のＳｃａｌｅＯｕｔの項を削除した上記式（２）を満たす最小解像度を、スキャナ１０の読取解像度として仮決定する場合、画像の拡大、縮小を、ユーザが明示的に指定した場合、これを常にソフトウェア処理で実行することを仕様とする。
【００６４】
Ｓ５では、Ｓ４で決定した読取解像度について、再設定を行う必要があるかどうかを判定し、必要があると判定されれば、スキャナ１０の読取解像度（以下、「第２読取解像度」という）を決定し直す。
【００６５】
ここで、再設定が必要であると判定されるケースとは、読取対象領域と、出力画像サイズとが等しいにもかかわらず、より大きな解像度で読み取る必要があると、Ｓ４で判定されたケースを指す。たとえば、結像レンズ１９の倍率誤差によって、読取対象領域として、ＬｅｎｇｔｈＩｎ（ｉｎｃｈ）のサイズを指定しても、実際に読み取られた画像のピクセルサイズは、指定されたサイズに一致しない。
【００６６】
特に、レンズが小さく結像するような誤差を持つ場合、読み取った画像のサイズは、読取対象領域に指定したサイズよりも小さくなる。したがって、出力画像サイズが読取対象領域のサイズに等しく設定された場合でも、Ｓ４の処理によって読取解像度は、大きな解像度に設定される。
【００６７】
また、別のケースでは、読取対象領域を自動抽出する手法を用いた際にも、実際に読み取られた画像のピクセルサイズが、指定されたサイズに一致しない状態が発生する。つまり、原稿の領域を自動抽出する際に、原稿の外周部に写り込む影を抽出領域に含まれないようにするために、抽出領域をわざと小さめに決定するような仕様を持つ。このために、定型サイズの原稿を含む画像を、プレスキャンで読み取り、自動抽出によって原稿領域を読取対象領域に指定した場合、指定された読取対象領域は、実際の定型サイズ原稿よりも小さいサイズが指定される。このために、出力画像サイズを定型サイズにユーザが指定した場合、やはりＳ４の処理によって読取解像度は、大きな解像度に設定される。
【００６８】
このようなケースにおいて、ユーザは、読取対象領域と出力画像サイズとが一致するように設定をしているにもかかわらず、読取解像度は、ユーザが指定した解像度よりも大きな解像度に設定される。この結果、読み取り時間やホストＰＣのリソース負荷の増加という問題が発生する。このために、Ｓ５で、このようなケースが発生しているかどうかを判定し、発生していると判定されると、Ｓ４で決定された読取解像度を、ユーザ指定の解像度に設定し直すことによって、上記問題を解決する。
【００６９】
Ｓ６では、Ｓ５で決定した読取解像度、Ｓ２で設定した読取対象領域において、スキャナ１０から画像を読み取る。
【００７０】
Ｓ７では、Ｓ６で読み取った画像について、必要に応じて拡大、縮小処理を行う。拡大、縮小処理が必要であるか否かを判定するには、上記式（１）を用いる。式（１）の不等式が成り立つ場合で、左辺が右辺よりも大きければ、読み取った画像を縮小処理することによって出力画像を生成する。左辺と右辺とが等しければ、拡大、縮小処理は必要なく、読み取った画像をそのまま出力画像とすればよい。式（１）の不等式が成り立たなければ、読み取った画像を拡大処理することによって出力画像を生成する。
【００７１】
図６は、図５に示すＳ５の処理について、さらに詳細に示すフローチャートである。
【００７２】
Ｓ５１では、Ｓ２で設定された読取対象領域が、ユーザ手動によるものか、自動抽出手法を用いたものかを判定する。
【００７３】
自動抽出手法を用いて読取対象領域を設定したことを、Ｓ５１で判定すると、次の算出を行う。つまり、Ｓ５２で、自動抽出処理によって原稿領域を抽出した際に発生する実原稿サイズからの誤差量に基づいて、自動抽出処理によって抽出された原稿領域サイズと、実際の原稿サイズとの比率を、誤差係数ａとして算出する。
【００７４】
ここで、自動抽出処理によって発生する実原稿サイズからの誤差量と、誤差係数ａとの算出方法は、自動抽出手法によって異なる。たとえば、自動抽出された領域から一律で一定サイズ外周部を予め切り取った領域を、最終的な抽出結果とする場合、次のように推測する。つまり、切り取るサイズを、ｄ（ｐｉｘｅｌ）とし、最終的な抽出結果の画像サイズの一辺を、Ｌ（ｐｉｘｅｌ）とすると、元の原稿サイズは、Ｌ＋２ｄ（ｐｉｘｅｌ）であったと推測される。したがって、自動抽出処理によって抽出された原稿領域と、実際の原稿領域との誤差係数ａは、次の式（３）で決定される。
【００７５】
ａ＝（Ｌ＋２ｄ）／Ｌ  …式（３）
ここで、上記ｄは、自動抽出処理モジュールから制御プログラムが取得し、内部保持するようにしてもよく、ユーザが抽出結果を確認したうえで設定できるようにしてもよい。また、制御プログラム内部で保持する場合、Ｓ１での読取解像度や原稿種に応じて、自動抽出処理で切り取る領域が変化する場合がある、この場合、切り取るサイズを個別に保持可能なテーブルとして保持してもよい。
【００７６】
Ｓ５１の判定において、自動抽出手法を用いずに、読取対象領域を設定したと判定した場合、Ｓ５３で、自動抽出処理による誤差係数ａに、１を代入する。
【００７７】
Ｓ５４では、スキャナ１０で読み取った際に発生する、実際に読み取られた領域サイズとの誤差量に基づいて、スキャナ１０で読み取った画像サイズと、実際に読み取りを行った領域のサイズとの比率を、誤差係数ｂとして算出する。誤差係数ｂは、次の式（４）で決定される。
【００７８】
ｂ＝Ｅ＿ｌ×Ｆ＿ｒ×Ｆ＿ｓ  …式（４）
なお、スキャナ１０の読み取りセンサのレンズ単体の倍率誤差を、Ｅ＿ｌとし、スキャナ１０の読取解像度によるレンズの倍率誤差への影響を、Ｆ＿ｒとし、スキャナ１０が読み取るサイズによるレンズ倍率誤差への影響を、Ｆ＿ｓとする。
【００７９】
ここで、読み取りセンサのレンズ単体の倍率誤差Ｅ＿ｌとして、事前に決定された平均誤差の値を使用するようにしてもよく、スキャナ１０がパターン画像を読み取ることによって動的に算出された値を使用してもよい。スキャナ１０の読取解像度によるレンズの倍率誤差への影響Ｆ＿ｒは、スキャナ１０が読み取り可能な解像度の数だけ、値をテーブルとして保持してもよい。また、スキャナ１０の読取解像度によるレンズの倍率誤差への影響Ｆ＿ｒは、ある基準となる解像度でレンズ倍率誤差がＥ＿ｌとなるように、Ｅ＿ｌの値を決定し、その他の解像度について、レンズ倍率誤差Ｅ＿ｌの値を補正する係数として保持してよい。
【００８０】
レンズ倍率誤差への影響Ｆ＿ｓも、レンズの倍率誤差への影響Ｆ＿ｒと同様に、ある基準となるサイズでの読み取りを行った場合のレンズ倍率誤差がＥ＿ｌとなるように、Ｅ＿ｌの値を決定する。その他のサイズについて、レンズ倍率誤差Ｅ＿ｌの値を補正する係数として保持してもよい。このときに、その他のサイズは、特定の定型原稿サイズに限定されてもよく、または、基準となるサイズからの比率に基づいて、動的に決定してもよい。
【００８１】
Ｓ５５で、読取対象領域のサイズと、出力画像のサイズとを比較し、両サイズの誤差が、スキャナ１０の読取精度誤差範囲内であるかどうかを判定する。読取対象領域のサイズと、出力画像のサイズとが一致していると判定されるための条件は、次の式（５）である。
【００８２】
｜読取対象領域サイズ−出力画像サイズ｜／出力画像サイズ×１００≦ａ×ｂ  …式（５）
実際は、読取対象領域サイズと、出力画像サイズの縦横の辺とが、上記式（５）を満たすことが条件である。ここで、式（５）におけるａとして、Ｓ５２またはＳ５３で決定された値を用い、式（５）におけるｂとして、Ｓ５４で決定された値を用いる。
【００８３】
Ｓ５５で、読取対象領域のサイズと、出力画像のサイズとが、読取精度誤差以内であるかどうかを判断し、読取精度誤差以内であれば、Ｓ５６で、スキャナ１０が読み取る解像度として、Ｓ５で決定した第２読取解像度を用いる。
【００８４】
Ｓ５５で、読取対象領域のサイズと、出力画像のサイズとが、読取精度誤差以内であるかどうかを判断し、読取精度誤差以内でなければ、Ｓ５７で、スキャナ１０が読み取る解像度として、Ｓ４で決定した第１読取解像度を決定する。ここで、第２読取解像度は、次の式（６）を満たし、スキャナ１０で読み取りが可能な解像度のうち最大の解像度である。
【００８５】
ＲｅｓＩｎ×ＬｅｎｇｔｈＩｎ＜ＲｅｓＯｕｔ×ＬｅｎｇｔｈＯｕｔ×ＳｃａｌｅＯｕｔ  …式（６）
ＲｅｓＩｎ×ＬｅｎｇｔｈＩｎ＜ＲｅｓＯｕｔ×ＬｅｎｇｔｈＯｕｔ  …式（７）
このように、読取対象領域と出力画像サイズとが一致していると判定されると、第２読取解像度を再設定することによって、読み取り時間やホストＰＣのリソース負荷の増加を防止する。また、式（６）のＳｃａｌｅＯｕｔの項を削除した上記式（７）を満たす最小解像度を、スキャナ１０の読取解像度として仮決定する場合、画像の拡大、縮小を、ユーザが明示的に指定すると、これを常にソフトウェア処理する。
【００８６】
つまり、上記実施例において、入力部６１は、複数の読取解像度を指定する読取解像度指定手段の例であり、読取範囲を指定する読取範囲指定手段の例であり、ユーザが出力解像度を任意に指定する出力解像度指定手段の例である。また、入力部６１は、ユーザが出力画像サイズを任意に指定する出力画像サイズ指定手段の例であり、上記画像読取装置が読み取った画像を、ユーザが任意の倍率に変倍するように指定する倍率指定手段の例でもる。
【００８７】
電気基板４０は、第１画像生成手段の例である。この第１画像生成手段は、上記出力解像度指定手段によって指定された出力解像度以下の解像度であり、かつ、上記読取解像度指定手段によって指定可能な解像度のうちで最大の解像度で読み取る。そして、第１画像生成手段は、読み取った結果の画像を、上記出力解像度指定手段によって指定された出力解像度に等しくなるように拡大処理し、出力画像を生成する。
【００８８】
また、電気基板４０は、第２画像生成手段の例である。第２画像生成手段は、上記出力解像度指定手段によって指定された出力解像度よりも大きな解像度で、かつ、上記読取解像度指定手段によって指定可能な解像度のうちで最小の解像度で読み取る。そして、第２画像生成手段は、読み取った結果の画像について、上記出力解像度指定手段によって指定された出力解像度に等しくなるように縮小処理し、出力画像を生成する。
【００８９】
さらに、電気基板４０は、上記読取範囲指定手段によって指定された画像サイズと、上記出力画像サイズ指定手段によって指定された画像サイズとがともに、定型原稿サイズに一致するか否かを判定するサイズ判定手段の例である。
【００９０】
しかも、電気基板４０は、上記サイズ判定手段の結果が定型原稿サイズに一致すれば、上記第１画像生成手段に出力画像を生成させ、一致しなければ、上記第２画像生成手段に出力画像を生成させるように、画像生成手段を切り替える切替手段の例である。
【００９１】
そして、上記サイズ判定手段におけるサイズ一致の判定基準は、上記スキャナ装置、上記読取範囲指定手段による読取範囲指定方法と、上記出力解像度指定手段を介してユーザが指定した出力解像度とに基づいて決定される基準である。
【００９２】
加えて、上記読取範囲指定手段は、読取範囲指定をユーザが手動で設定可能な第１読取範囲指定手段と、上記スキャナ装置が読み取った画像から、原稿領域を自動で抽出し、読取範囲として設定可能な第２読取範囲指定手段とを有する。また、上記第１読取範囲指定手段、上記第２読取範囲指定手段を、ユーザが選択可能である。
【００９３】
さらに、上記サイズ一致の判定基準は、上記スキャナ装置、上記読取範囲指定手段による読取範囲指定方法と、上記読取範囲指定手段を介してユーザが選択した読取範囲と、上記出力解像度指定手段を介してユーザが指定した出力解像度とに基づいて決定される。
【００９４】
また、上記実施例を方法の発明として把握することができる。つまり、上記実施例は、第１画像生成工程と、第２画像生成工程と、サイズ判定工程と、切替工程とを有する画像読取方法である。
【００９５】
第１画像生成工程は、ユーザが指定した出力解像度以下の解像度であり、かつ、指定可能な読取解像度のうちで最大の解像度で読み取り、読み取った結果の画像を、ユーザが指定した出力解像度に等しくなるように拡大処理し、出力画像を生成する工程である。
【００９６】
第２画像生成工程は、ユーザが指定した出力解像度よりも大きな解像度で、かつ、ユーザが指定可能な読取解像度のうちで最小の解像度で読み取り、読取結果の画像について、上記指定した出力解像度に等しくなるように縮小処理し、出力画像を生成する。
【００９７】
サイズ判定工程は、上記読取範囲が指定された画像サイズと、上記指定された出力画像サイズとがともに、定型原稿サイズに一致するか否かを判定する工程である。
【００９８】
切替工程は、上記サイズ判定手段の結果が定型原稿サイズに一致すれば、上記第１画像生成手段に出力画像を生成させ、一致しなければ、上記第２画像生成手段に出力画像を生成させるように、画像生成手段を切り替える工程である。
【００９９】
また、上記実施例をプログラムの発明として把握することが出来る。つまり、上記実施例は、請求項１から請求項５記載の画像読取装置を構成する各手段としてコンピュータを機能させるプログラムの例である。
【符号の説明】
【０１００】
Ｒ１…画像読取装置、
１０…スキャナ、
４１…システムコントローラ、
４４…画像処理部、
５１…中央処理装置。
【図１】
2010263435.tif 000003
【図２】
2010263435.tif 000004
【図３】
2010263435.tif 000005
【図４】
2010263435.tif 000006
【図５】
2010263435.tif 000007
【図６】
2010263435.tif 000008