(57)【要約】【課題】処理内容に応じて、スキャナと情報処理装置との何れかが選択的に画像処理を実行する。【解決手段】ユーザインタフェースを介して入力された操作入力に基づいて、複数の画像処理のうちのいずれの画像処理を実行するか否かが判断される（Ｓ１２３）。そして、複数の画像処理のうちの第１の画像処理と第２の画像処理とを実行すると判断された場合に、スキャナにより生成されたスキャンデータである第１スキャンデータを対象として、情報処理装置が、第１の画像処理および第２の画像処理を実行する。また、第１の画像処理を実行しないが、第２の画像処理を実行すると判断された場合に、第１スキャンデータを対象として、スキャナが第２の画像処理を実行する。これにより、処理内容に応じて、スキャナと情報処理装置との何れかが選択的に画像処理を実行できる。【選択図】図２
2019047263.tif 000002
【特許請求の範囲】
【請求項１】
スキャナと、
情報処理装置と、
を備えるスキャンシステムであって、
前記スキャンシステムに含まれるコントローラは、
ユーザインタフェースを介して操作入力を受け付ける第１受付手段と、
前記第１受付手段により受け付けられた操作入力に基づいて、複数の画像処理のうちのいずれの画像処理を実行するか否かを判断する判断手段と、
前記複数の画像処理のうちの第１の画像処理と第２の画像処理とを実行すると前記判断手段により判断された場合に、前記スキャナが光学読取によって生成したスキャンデータである第１スキャンデータを、前記スキャナから前記情報処理装置に出力させる第１出力手段と、
前記第１スキャンデータが前記スキャナから出力された場合に、前記第１スキャンデータを対象として、前記第１の画像処理および前記第２の画像処理を前記情報処理装置に実行させる第１実行手段と、
前記第１の画像処理を実行しないが、前記第２の画像処理を実行すると前記判断手段により判断された場合に、前記第１スキャンデータを対象として、前記スキャナに前記第２の画像処理を実行させる第２実行手段と、
前記第２の画像処理が前記スキャナによって実行された場合に、前記第２の画像処理によって生成された情報を、前記スキャナから前記情報処理装置に出力させる第２出力手段と、
して機能することを特徴とするスキャンシステム。
【請求項２】
前記第１の画像処理と前記第２の画像処理とを実行すると前記判断手段により判断された場合に、前記第１実行手段は、前記第１スキャンデータを対象として、前記第１の画像処理を前記情報処理装置に実行させ、かつ、前記第１の画像処理によって生成された第１画像データを対象として、前記第２の画像処理を前記情報処理装置に実行させ、前記第１の画像処理は、対象であるスキャンデータから画像処理によって画像データを生成する処理であることを特徴とする請求項１に記載のスキャンシステム。
【請求項３】
前記第２の画像処理は、前記第１スキャンデータを対象として実行するよりも、前記第１の画像処理によって生成された前記第１画像データを対象として実行したほうが、実行結果の精度が上がる処理であることを特徴とする請求項２に記載のスキャンシステム。
【請求項４】
前記第１の画像処理と前記第２の画像処理とを実行すると前記判断手段により判断された場合に、前記第１スキャンデータは、原稿の前記光学読取により生成された原稿画像データと、原稿の外縁の外側の前記光学読取により生成された外側画像データとを含み、
前記第１の画像処理は、前記原稿画像データを含み、前記外側画像データを含まない画像データを、前記第１画像データとして生成する処理であることを特徴とする請求項２又は３に記載のスキャンシステム。
【請求項５】
前記第２の画像処理は、前記第１の画像処理により取得された原稿画像データに基づいて、原稿画像データの色のスケールを検出する処理を含み、
前記第１の画像処理と前記第２の画像処理を実行すると前記判断手段により判断された場合に、前記第１実行手段は、前記第１スキャンデータを対象として、前記第１の画像処理を前記情報処理装置に実行させ、かつ、前記第１の画像処理によって生成された、前記原稿画像データを含み、前記外側画像データを含まない前記第１画像データを対象として、前記第２の画像処理を前記情報処理装置に実行させ、
前記第１の画像処理を実行しないが、前記第２の画像処理を実行すると前記判断手段により判断された場合に、前記第１スキャンデータは、前記原稿画像データを含み、前記外側画像データとを含まず、前記第２実行手段は、前記第１スキャンデータを対象として、前記第２の画像処理を前記スキャナに実行させることを特徴とする請求項４に記載のスキャンシステム。
【請求項６】
前記第１スキャンデータは、第１数の色のスケールのスキャンデータであり、
前記第２の画像処理は、前記第２の画像処理により検出された色のスケールが前記第１数より少ない第２数以下である場合に、前記第１の画像処理により取得された原稿画像データを、前記第２数の色のスケールのスキャンデータに変換する処理をも含むことを特徴とする請求項５に記載のスキャンシステム。
【請求項７】
前記第１受付手段は、
前記ユーザインタフェースを介して、前記第１の画像処理と前記第２の画像処理との各々の設定パラメータを、前記操作入力として受け付け、
前記第１の画像処理の設定パラメータは、原稿サイズのユーザ操作による指定と、自動的な検出とのいずれが設定されているかを示すパラメータであり、
前記判断手段は、
前記第１の画像処理の設定パラメータが前記自動的な検出に設定されていることを示す場合に、前記第１の画像処理を実行すると判断し、
前記第２の画像処理の設定パラメータは、複数の色のスケールのうちの１の色のスケールのユーザ操作による指定と、自動的な検出とのいずれが設定されているかを示すパラメータであり、
前記判断手段は、
前記第２の画像処理の設定パラメータが前記自動的な検出に設定されていることを示す場合に、前記第２の画像処理を実行すると判断することを特徴とする請求項５又は６に記載のスキャンシステム。
【請求項８】
前記第２の画像処理は、前記第１の画像処理により取得された原稿画像データに基づいて、当該原稿画像データが白原稿に基づくスキャンデータであるか否かを判断する処理であり、
前記第１の画像処理と前記第２の画像処理を実行すると前記判断手段により判断された場合に、前記第１実行手段は、前記第１スキャンデータを対象として、前記第１の画像処理を前記情報処理装置に実行させ、かつ、前記第１の画像処理によって生成された、前記原稿画像データを含み、前記外側画像データを含まない前記第１画像データを対象として、前記第２の画像処理を前記情報処理装置に実行させ、
前記第１の画像処理を実行しないが、前記第２の画像処理を実行すると前記判断手段により判断された場合に、前記第１スキャンデータは、前記原稿画像データを含み、前記外側画像データとを含まず、前記第２実行手段は、前記第１スキャンデータを対象として、前記第２の画像処理を前記スキャナに実行させることを特徴とする請求項４に記載のスキャンシステム。
【請求項９】
前記情報処理装置は、
前記スキャナのスキャナドライバと、前記スキャナドライバにスキャン指令を出力するプログラムとを記憶する記憶領域を有し、
前記スキャナドライバは、
前記第２の画像処理の実行により前記原稿画像データが白原稿に基づくスキャンデータであることを示す情報を取得し、当該情報を前記プログラムに出力することを特徴とする請求項８に記載のスキャンシステム。
【請求項１０】
前記第１受付手段は、
前記ユーザインタフェースを介して、前記第１の画像処理と前記第２の画像処理との各々の設定パラメータを、前記操作入力として受け付け、
前記第１の画像処理の設定パラメータは、原稿サイズのユーザ操作による指定と、自動的な検出とのいずれが設定されているかを示すパラメータであり、
前記スキャナは、
前記第１の画像処理の設定パラメータが前記自動的な検出に設定されていることを示す場合に、前記第１スキャンデータは、原稿の前記光学読取により作成された原稿画像データと、原稿の外縁の外側の前記光学読取により作成された外側画像データとを含み、
前記第１の画像処理の設定パラメータが前記ユーザ操作による指定に設定されていることを示す場合に、前記第１スキャンデータは、前記外側画像データを含まず、前記原稿画像データを含むことを特徴とする請求項１乃至９の何れか１項に記載のスキャンシステム。
【請求項１１】
スキャナと通信可能な通信インタフェースと、
コントローラと、
を有する情報処理装置であって、
前記コントローラは、
ユーザインタフェースを介して操作入力を受け付ける第１受付手段と、
前記第１受付手段により受け付けられた操作入力に基づいて、複数の画像処理のうちのいずれの画像処理を実行するか否かを判断する判断手段と、
前記複数の画像処理のうちの第１の画像処理と第２の画像処理とを実行すると前記判断手段により判断された場合に、前記スキャナが光学読取によって生成したスキャンデータである第１スキャンデータを、前記スキャナから受信する第１受信手段と、
前記第１受信手段が受信した前記第１スキャンデータを対象として、前記第１の画像処理および前記第２の画像処理を実行する第１実行手段と、
前記第１の画像処理を実行しないが、前記第２の画像処理を実行すると前記判断手段により判断された場合に、前記第１スキャンデータを対象として、前記第２の画像処理を実行することを示す指令を前記スキャナに送信する送信手段と、
前記送信手段により送信された指令に従って前記スキャナにおいて前記第２の画像処理によって生成された情報を、前記スキャナから受信する第２受信手段と、
して機能することを特徴とする情報処理装置。
【請求項１２】
スキャナと通信可能な通信インタフェースを有する情報処理装置のコンピュータが読み取り可能なスキャナドライバであって、
前記コンピュータを、
ユーザインタフェースを介して操作入力を受け付ける第１受付手段と、
前記第１受付手段により受け付けられた操作入力に基づいて、複数の画像処理のうちのいずれの画像処理を実行するか否かを判断する判断手段と、
前記複数の画像処理のうちの第１の画像処理と第２の画像処理とを実行すると前記判断手段により判断された場合に、前記スキャナが光学読取によって生成したスキャンデータである第１スキャンデータを、前記スキャナから受信する第１受信手段と、
前記第１受信手段が受信した前記第１スキャンデータを対象として、前記第１の画像処理および前記第２の画像処理を実行する第１実行手段と、
前記第１の画像処理を実行しないが、前記第２の画像処理を実行すると前記判断手段により判断された場合に、前記第１スキャンデータを対象として、前記第２の画像処理を実行することを示す指令を前記スキャナに送信する送信手段と、
前記送信手段により送信された指令に従って前記スキャナにおいて前記第２の画像処理によって生成された情報を、前記スキャナから受信する第２受信手段と、
して機能させることを特徴とするスキャナドライバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スキャナと、そのスキャナが光学読取によって生成したスキャンデータを受信する情報処理装置とを備えるスキャンシステム等に関する。
【背景技術】
【０００２】
光学読取によってスキャンデータを生成するスキャナにおいて、スキャン対象の原稿のサイズを自動で検知する処理を実行可能なスキャナが存在する。下記特許文献には、そのようなスキャナの一例が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１５−２２６１７９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
原稿のサイズを自動で検知する処理などの画像処理を、スキャナが実行したほうがよい場合と、情報処理装置が実行したほうがよい場合とがある。本願は、スキャナと情報処理装置とを含むスキャンシステムにおいて、好適に画像処理を実行することを課題とする。
【課題を解決するための手段】
【０００５】
上記課題を解決するために、実施例に開示するスキャンシステムは、スキャナと、情報処理装置と、を備えるスキャンシステムであって、前記スキャンシステムに含まれるコントローラは、ユーザインタフェースを介して操作入力を受け付ける第１受付手段と、前記第１受付手段により受け付けられた操作入力に基づいて、複数の画像処理のうちのいずれの画像処理を実行するか否かを判断する判断手段と、前記複数の画像処理のうちの第１の画像処理と第２の画像処理とを実行すると前記判断手段により判断された場合に、前記スキャナが光学読取によって生成したスキャンデータである第１スキャンデータを、前記スキャナから前記情報処理装置に出力させる第１出力手段と、前記第１スキャンデータが前記スキャナから出力された場合に、前記第１スキャンデータを対象として、前記第１の画像処理および前記第２の画像処理を前記情報処理装置に実行させる第１実行手段と、前記第１の画像処理を実行しないが、前記第２の画像処理を実行すると前記判断手段により判断された場合に、前記第１スキャンデータを対象として、前記スキャナに前記第２の画像処理を実行させる第２実行手段と、前記第２の画像処理が前記スキャナによって実行された場合に、前記第２の画像処理によって生成された情報を、前記スキャナから前記情報処理装置に出力させる第２出力手段と、して機能することを特徴とする。
【発明の効果】
【０００６】
実施例に開示するスキャンシステムにおいて、ユーザインタフェースを介して入力された操作入力に基づいて、複数の画像処理のうちのいずれの画像処理を実行するか否かが判断される。そして、判断結果に応じて、スキャナと情報処理装置との何れかが選択的に画像処理を実行する。これにより、処理内容に応じて、スキャナと情報処理装置との何れかが選択的に画像処理を実行することが可能となる。
【図面の簡単な説明】
【０００７】
【図１】スキャンシステム１のブロック図である。
【図２】画像の読み取りの作動シーケンスを示す図である。
【図３】画像の読み取りの作動シーケンスを示す図である。
【図４】ＰＣ１０において原稿検知処理が実行される際のスキャンシステムの作動を示す図である。
【図５】ＰＣ１０において原稿検知処理，白紙検知処理，スケール検知処理が実行される際のスキャンシステムの作動を示す図である。
【図６】ＰＣ１０において原稿検知処理が実行される際のスキャンシステムの作動を示す図である。
【図７】ＰＣ１０において原稿検知処理，スケール変換処理が実行される際のスキャンシステムの作動を示す図である。
【図８】スキャナ５０において白紙検知処理が実行される際のスキャンシステムの作動を示す図である。
【図９】スキャナ５０において色数検知処理が実行される際のスキャンシステムの作動を示す図である。
【発明を実施するための形態】
【０００８】
＜スキャンシステムの構成＞
図１に、本願に係る実施形態として例示されるスキャンシステム１のブロック図を示す。スキャンシステム１は、ＰＣ（本発明の情報処理装置の一例）１０、スキャナ５０、ルータ５６を備える。
【０００９】
ＰＣ１０は、ＣＰＵ（本発明のコンピュータ及びコントローラの一例）１２、メモリ１４、ＬＣＤ（本発明のユーザインタフェースの一例）１６、入力インタフェース（本発明のユーザインタフェースの一例）１８、ネットワークインタフェース（本発明の通信インタフェースの一例）２０を主に備えている。これらの構成要素は、バス２２を介して互いに通信可能とされている。なお、「インタフェース」は「Ｉ／Ｆ」とも記載してよい。
【００１０】
ＣＰＵ１２は、メモリ１４内のアプリケーションプログラム（本発明のプログラムの一例）２６、スキャナドライバ２８、オペレーティングシステム（以下、「ＯＳ」と略す）３２に従って処理を実行する。アプリケーションプログラム２６は、例えば、スキャナ５０でスキャンされたスキャンデータＤ１に対して、公知のＯＣＲ技術で利用される文字認識処理を実行するためのプログラムであり、具体的には、Ａｄｏｂｅ  Ｐｈｏｔｏｓｈｏｐ（登録商標）などの画像編集ソフトである。
【００１１】
また、スキャナドライバ２８は、スキャナ５０のデバイスドライバであり、スキャナ５０の作動を制御する。スキャナドライバ２８は、ＤＳＭ２８Ａ、ドライバメイン処理モジュール２８Ｂ、ドライバＵＩモジュール２８Ｄ、ドライバ画像処理モジュール２８Ｅを有している。ＤＳＭ２８Ａは、データソースマネージャーであり、ＴＷＡＩＮ規格に準拠した入出力を行うスキャナドライバ２８において、アプリケーションプログラム２６とのデータの送受信を行うインタフェースとして機能するプログラムである。なお、上記したスキャナドライバ２８の構成は一例であり、スキャナドライバ２８の種類等に応じて適宜変更される。例えば、スキャナドライバ２８がＴＷＡＩＮ規格以外（例えば、ＷＩＡ規格）のドライバである場合、スキャナドライバ２８は、ＤＳＭ２８Ａを備えなくとも良い。この場合、後述するＤＳＭ２８Ａが行う処理は、ＯＳ３２が代わりに実行しても良い。
【００１２】
ドライバメイン処理モジュール２８Ｂ、ドライバＵＩモジュール２８Ｄ、ドライバ画像処理モジュール２８Ｅは、スキャナドライバ２８に含まれる処理モジュールであり、各種の処理を実行する。ドライバメイン処理モジュール２８Ｂは、スキャナ５０とのデータの送受信や、スキャナ５０に対する命令を実行する。ドライバＵＩモジュール２８Ｄは、設定画面の表示等を行う。ドライバ画像処理モジュール２８Ｅは、スキャンデータＤ１に対する画像処理を実行する。
【００１３】
また、ＯＳ３２は、アプリケーションプログラム２６、スキャナドライバ２８に利用される基本的な機能を提供するプログラムである。なお、以下の説明では、アプリケーションプログラム２６等を実行するＣＰＵ１２のことを、単にプログラム名でも記載する場合がある。例えば、「アプリケーションプログラム２６が」という記載は、「アプリケーションプログラム２６を実行するＣＰＵ１２が」ということを意味する場合がある。
【００１４】
また、メモリ１４は、データ記憶領域（本発明の記憶領域の一例）３４を備える。データ記憶領域３４は、アプリケーションプログラム２６等の実行に必要なデータなどを記憶する領域である。なお、メモリ１４は、ＲＡＭ、ＲＯＭ、フラッシュメモリ、ＨＤＤ、ＣＰＵ１２が備えるバッファなどが組み合わされて構成されている。
【００１５】
メモリ１４は、コンピュータが読み取り可能なストレージ媒体であってもよい。コンピュータが読み取り可能なストレージ媒体とは、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな媒体である。ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな媒体には、上記の例の他に、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ等の記録媒体も含まれる。また、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな媒体は、ｔａｎｇｉｂｌｅな媒体でもある。一方、インターネット上のサーバなどからダウンロードされるプログラムを搬送する電気信号は、コンピュータが読み取り可能な媒体の一種であるコンピュータが読み取り可能な信号媒体であるが、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙなコンピュータが読み取り可能なストレージ媒体には含まれない。
【００１６】
ＬＣＤ１６は、ＰＣ１０の各種機能を表示する。入力Ｉ／Ｆ１８は、キーボード，マウス等を含み、ユーザ操作を入力するためのインタフェースである。ネットワークＩ／Ｆ２０は、ルータ５６を介して、スキャナ５０のネットワークＩ／Ｆ５１に接続されている。これにより、ＰＣ１０はスキャナ５０との間で情報の送受信を行う。
【００１７】
スキャナ５０は、原稿に印刷された画像を読み取ってスキャンデータＤ１を生成する装置であり、上記したネットワークＩ／Ｆ５１の他に、ＣＰＵ５２、メモリ５４、読取インタフェース５５、入力Ｉ／Ｆ５７、ＬＣＤ５８等を備えている。これらの構成要素は、バス５９を介して互いに通信可能とされている。
【００１８】
ＣＰＵ５２は、メモリ５４内のプログラム６１に従って処理を実行する。メモリ５４は、ＲＡＭ、ＲＯＭなどが組み合わされて構成されている。また、メモリ５４は、データ記憶領域５４Ａを備える。データ記憶領域５４Ａは、プログラム６１の実行に必要なデータなどを記憶する領域である。
【００１９】
プログラム６１は、スキャナ５０を統括的に制御するプログラムであり、デバイスメイン処理モジュール６５、デバイス画像処理モジュール６６を有する。スキャナ５０は、ＰＣ５２によって制御され、読み取ったスキャンデータＤ１をＰＣ１０へ送信する。ＣＰＵ５２は、デバイスメイン処理モジュール６５やデバイス画像処理モジュール６６に従ってスキャンデータＤ１の生成処理やスキャンデータＤ１に対する画像処理を実行する。デバイスメイン処理モジュール６５やデバイス画像処理モジュール６６の詳細については後述する。
【００２０】
読取Ｉ／Ｆ５５は、例えば、ＣＣＤやＣＩＳなどにより画像を光学的に読み取る光学読取を実行するデバイスである。入力Ｉ／Ｆ５７は、液晶ディスプレイや各種スイッチ等を含み、ユーザ操作を入力するためのインタフェースである。ＬＣＤ５８は、スキャナ５０の各種機能を表示する。
【００２１】
＜画像の読み取りの作動シーケンス＞
次に、ユーザがＰＣ１０を操作してスキャナ５０によって画像の読み取りを行った場合のスキャンシステム１の作動シーケンスについて説明する。図２、図３は、画像読み取りの作動シーケンスの一例を示している。
【００２２】
本明細書のシーケンスチャートは、基本的に、プログラムに記述された命令に従ったＣＰＵ１２、５２の処理を示す。すなわち、以下の説明における「判断」、「抽出」、「選択」、「算出」、「決定」、「特定」、「取得」、「受付」、「制御」「設定」等の処理は、ＣＰＵ１２、５２の処理を表している。ＣＰＵ１２による処理は、ＯＳ３２を介したハードウェア制御も含む。なお、「取得」は要求を必須とはしない概念で用いる。すなわち、ＣＰＵ１２が要求することなくデータを受信するという処理も、「ＣＰＵ１２がデータを取得する」という概念に含まれる。また、本明細書中の「データ」とは、コンピュータに読取可能なビット列で表される。そして、実質的な意味内容が同じでフォーマットが異なるデータは、同一のデータとして扱われるものとする。本明細書中の「情報」についても同様である。また、「命令」「応答」「要求」等の処理は、「命令」「応答」「要求」等を示す情報を通信することにより行われる。また、「命令」「応答」「要求」等の文言を、「命令」「応答」「要求」等を示す情報そのものという意味で記載してもよい。
【００２３】
まず、ＰＣ１０の入力Ｉ／Ｆ１８を介した操作入力に従って、アプリケーションプログラム２６が起動する（Ｓ１０１）。アプリケーションプログラム２６は、スキャナドライバ２８のＤＳＭ２８Ａを介してドライバメイン処理モジュール２８Ｂに対しスキャナ５０との接続を命令する（Ｓ１０３，Ｓ１０５）。ドライバメイン処理モジュール２８Ｂは、ルータ５６を介してスキャナ５０への接続要求を送信する（Ｓ１０７）。
【００２４】
スキャナ５０のデバイスメイン処理モジュール６５は、ＰＣ１０のドライバメイン処理モジュール２８Ｂから接続要求を受信すると、接続を確立するための応答をする（Ｓ１０９）。これにより、ＰＣ１０とスキャナ５０との通信が確立される。ドライバメイン処理モジュール２８Ｂは、デバイスメイン処理モジュール６５との通信が確立すると、デバイスメイン処理モジュール６５に対してデバイス能力値の要求を送信する（Ｓ１１１）。
【００２５】
ここでいうデバイス能力値は、スキャナ５０で実行可能な複数の画像処理の各々を示す値であり、例えば、原稿サイズに関する能力情報である。原稿サイズに関する能力情報は、スキャナ５０で読み取り可能な原稿サイズに関する情報及び、読取対象の原稿サイズをユーザ操作により指定することなく、当該原稿のサイズを自動的に検知する処理（以下、「原稿検知処理」と記載する）（本発明の第１の画像処理の一例）を実行可能であるかを示す情報である。
【００２６】
また、例えば、デバイス能力値は、スキャナが作成可能なスキャンデータの色のスケールに関する能力値を含んでよい。色のスケールは、例えば、ビットマップ画像データにおける１ピクセルに対して設定可能な色数を示す値であり、２４ｂｉｔ（１６６７７７２１６色）のカラースケール（本発明の第１の色深度の一例），８ｂｉｔ（２５６色）のグレースケール（本発明の第３の色深度の一例），１ｂｉｔ（２色：白と黒）のモノクロスケール（本発明の第２の色深度の一例）等である。色のスケールのことを色深度ともいう。そして、色のスケールに関する能力値は、スキャナが作成するスキャンデータの色のスケールを示すパラメータとして設定可能な値を示す情報、スキャナがスキャン原稿に含まれる色数を自動的に検知する処理（以下、「スケール検知処理」と記載する）（本発明の第２の画像処理の一例）を実行可能であるかを示す情報、及び、検知した色数に適した色のスケールを自動的に決定する処理を実行可能であるかを示す情報を含んでよい。
【００２７】
また、例えば、デバイス能力値は、白原稿の検知処理に関する能力情報を含んでよい。原稿が読み取られる際に、白紙の原稿、つまり、白原稿が読み取られる場合がある。このため、白原稿の検知処理に関する能力情報は、原稿の読み取りにより作成されたスキャンデータが、白紙の原稿のスキャンデータを含むか否かを検知する処理（以下、「白紙検知処理」と記載する）（本発明の第２の画像処理の一例）を実行可能であるかを示す情報を含んでよい。なお、スキャナ５０は、原稿検知処理，スケール検知処理，白紙検知処理の何れも実行することが可能である。
【００２８】
デバイスメイン処理モジュール６５は、ドライバメイン処理モジュール２８Ｂからデバイス能力値の要求を受信すると、自身のデバイス能力値を示す値を送信する（Ｓ１１３）。ドライバメイン処理モジュール２８Ｂは、デバイスメイン処理モジュール６５からデバイス能力値を受信すると、スキャナドライバ２８のドライバＵＩモジュール２８Ｄに対して設定画面の表示を命令する（Ｓ１１５）。この設定画面は、デバイスメイン処理モジュール６５から受信したデバイス能力値に基づいて表示されるものであり、画像の読み取りにおいてスキャナ５０で実行可能な処理に対する設定を受け付けるものである。
【００２９】
具体的には、原稿検知処理を実行するか否かを指示する設定操作、及び、原稿サイズを指示する設定操作に従ってパラメータを受け付けるための設定画面が、原稿サイズに関する能力値に基づいて表示される。また、スケール検知処理を実行するか否かを指示する設定操作、及び、色のスケールを指示する設定操作に従ってパラメータを受け付けるための設定画面が色のスケールに関する能力値に基づいて表示される。また、白紙検知処理を実行するか否かを指示する設定操作に従ってパラメータを受け付けるための設定画面が、白原稿の検知処理に関する能力値に基づいて表示される。
【００３０】
ドライバＵＩモジュール２８Ｄは、ドライバメイン処理モジュール２８Ｂからの命令に応じて、ＰＣ１０のＬＣＤ１６に設定画面を表示する（Ｓ１１７）。ドライバＵＩモジュール２８Ｄは、表示された設定画面の「ＯＫ」ボタンが操作されると、「ＯＫ」ボタンが操作されるまでの、ユーザによる、入力インタフェース１８を介した設定操作に従って、画像の読み取りにおける設定値（以下、「スキャンパラメータ」という場合がある）（本発明の設定パラメータの一例）をメモリ１４に記憶させる（本発明の受付手段の一例）。ＣＰＵ１２が設定操作に従ってパラメータをメモリ１４に記憶することを「パラメータを受け付ける」もしくは「パラメータを設定する」と記載してもよい。ＬＣＤ１６に表示された設定画面のボタンを押下する操作は、設定操作の一例である。スキャンパラメータは設定操作によって直接的に指示されるパラメータであってもよい。例えば、解像度「６００ｄｐｉ」を指示する設定操作に従って、解像度「６００ｄｐｉ」というパラメータをメモリ１４に記憶させてもよい。スキャンパラメータは、設定操作によって間接的に指示されるパラメータであってもよい。例えば、「高品質」を指示する設定操作に従って、解像度「６００ｄｐｉ」というパラメータをメモリ１４に記憶させてもよい。また、後述するようになお、スキャンパラメータを受け付ける方法は、ＬＣＤ１６に表示したユーザインタフェースを用いた方法に限らず、例えば、スキャンパラメータを記載した設定ファイルを読み込む方法でも良い。
【００３１】
なお、スキャンパラメータは、原稿サイズに関するパラメータ（本発明の設定パラメータの一例）として、原稿検知処理の実行の有無を示すパラメータ，ユーザ操作により原稿サイズが設定された場合に設定された原稿サイズを示すパラメータを含む。また、スキャンパラメータは、色のスケールに関するパラメータ（本発明の設定パラメータの一例）として、スケール検知処理の実行の有無を示すパラメータ，ユーザ操作により色のスケールが設定された場合に設定された色のスケールを示すパラメータを含む。また、スキャンパラメータは、白原稿の検知処理に関するパラメータ（本発明の設定パラメータの一例）として、白紙検知処理の実行の有無を示すパラメータを含む。
【００３２】
そして、ドライバＵＩモジュール２８Ｄは、スキャンパラメータの受付を終了すると、受け付けたスキャンパラメータをドライバメイン処理モジュール２８Ｂに出力し、ドライバメイン処理モジュール２８Ｂに対してスキャンパラメータの記憶を命令する（Ｓ１２１）。ドライバメイン処理モジュール２８Ｂは、ドライバＵＩモジュール２８Ｄから受け付けたスキャンパラメータを、例えば、メモリ１４のデータ記憶領域３４に記憶する。
【００３３】
また、ドライバメイン処理モジュール２８Ｂは、ドライバＵＩモジュール２８Ｄからスキャンパラメータを受け付けると、受信したパラメータに基づいて、原稿検知処理とスケール検知処理と白紙検知処理とのうちの各々を、ＰＣ１０が実行すべきか、スキャナ５０が実行すべきかを判断する（Ｓ１２３）。なお、Ｓ１２３の判断は、後で詳しく説明する。
【００３４】
次に、ドライバＵＩモジュール２８Ｄは、ユーザからスキャンの開始命令を受け付ける（Ｓ１２４）。具体的に、例えば、ドライバＵＩモジュール２８Ｄは、上記したＳ１１７で表示した設定画面に対して、ユーザからスキャンを開始することを示す操作を受け付ける。そして、ドライバＵＩモジュール２８Ｄは、ドライバメイン処理モジュール２８Ｂへスキャンの開始命令を出力する（Ｓ１２５）。
【００３５】
ドライバメイン処理モジュール２８Ｂは、ドライバＵＩモジュール２８Ｄからスキャン開始命令を受け付けると、上記したＳ１２１で記憶したスキャンパラメータ、即ち、設定画面においてユーザから受け付けたスキャンパラメータを、デバイスメイン処理モジュール６５へ送信する（Ｓ１２７）。この際、ドライバメイン処理モジュール２８Ｂは、Ｓ１２３でスキャナ５０が実行すべきと判断された処理に関するパラメータをデバイスメイン処理モジュール６５へ送信する。
【００３６】
次に、ドライバメイン処理モジュール２８Ｂは、デバイスメイン処理モジュール６５へスキャンの開始命令を送信する（Ｓ１２９）。デバイスメイン処理モジュール６５は、Ｓ１２９においてドライバメイン処理モジュール２８Ｂからスキャンの開始命令を受信すると、読取Ｉ／Ｆ５５を駆動して原稿の光学読取を実行する（Ｓ１３１）。これにより、デバイスメイン処理モジュール６５は、スキャンデータＤ１（本発明の第１スキャンデータの一例）を生成する。
【００３７】
次に、デバイスメイン処理モジュール６５は、読取Ｉ／Ｆが原稿を読み取って出力したデータに基づいて作成されたスキャンデータＤ１に対する画像処理を、デバイス画像処理モジュール６６へ命令する（Ｓ１３３）。この際、デバイスメイン処理モジュール６５は、画像処理命令とともに、スキャンデータＤ１と、Ｓ１２７で受信したスキャンパラメータとを、デバイス画像処理モジュール６６へ出力する。デバイス画像処理モジュール６６は、受け付けたスキャンパラメータに基づいて、スキャンデータＤ１を対象として、画像処理を実行する（Ｓ１３４）。そして、デバイス画像処理モジュール６６は、画像処理後のスキャンデータＤ１をデバイスメイン処理モジュール６５へ出力する（Ｓ１３５）。
【００３８】
次に、デバイスメイン処理モジュール６５は、デバイス画像処理モジュール６６から受け付けたスキャンデータＤ１を、ドライバメイン処理モジュール２８Ｂへ送信する（Ｓ１３７）。この際、デバイスメイン処理モジュール６５は、例えば、デバイス画像処理モジュール６６から１ライン分のスキャンデータＤ１を受信すると、受信したスキャンデータＤ１をドライバメイン処理モジュール２８Ｂに送信する。即ち、デバイスメイン処理モジュール６５は、１ラインの画像処理が完了するごとにスキャンデータＤ１を送信する。なお、デバイスメイン処理モジュール６５は、複数ラインの画像処理が完了するごとにスキャンデータＤ１を送信してもよい。
【００３９】
また、デバイスメイン処理モジュール６５は、ドライバメイン処理モジュール２８Ｂへ送信するスキャンデータＤ１を圧縮処理し、データ量を削減しても良い。この場合、例えば、ドライバメイン処理モジュール２８Ｂは、デバイスメイン処理モジュール６５から受信した圧縮されたスキャンデータＤ１を解凍し、解凍したスキャンデータＤ１をその後の処理に用いる。
【００４０】
次に、図３に示すように、ドライバメイン処理モジュール２８Ｂは、スキャナドライバ２８のモジュールであるドライバ画像処理モジュール２８Ｅに対してスキャンデータＤ１の画像処理を命令する（Ｓ１３９）。この際、ドライバメイン処理モジュール２８Ｂは、画像処理命令とともに、図２のＳ１３７でデバイスメイン処理モジュール６５から受信したスキャンデータＤ１を、ドライバ画像処理モジュール２８Ｅに送信する。さらに、ドライバメイン処理モジュール２８Ｂは、画像処理命令とともに、図２のＳ１２１で記憶したスキャンパラメータのうちの、Ｓ１２３でＰＣ１０が実行すべきと判断された処理に関するパラメータをドライバ画像処理モジュール２８Ｅへ出力する。
【００４１】
ドライバ画像処理モジュール２８Ｅは、ドライバメイン処理モジュール２８Ｂから受け付けたスキャンパラメータに基づいて、スキャンデータＤ１を対象として画像処理を実行する（Ｓ１４１）。そして、ドライバメイン処理モジュール２８Ｂは、画像処理後のスキャンデータＤ１をドライバメイン処理モジュール２８Ｂへ出力する（Ｓ１４３）。
【００４２】
また、アプリケーションプログラム２６は、図２のＳ１０３においてドライバメイン処理モジュール２８Ｂに対して接続命令を出力した後、ドライバメイン処理モジュール２８Ｂへ定期的にスキャンデータＤ１の問い合わせを実行する（Ｓ１４５）。詳しくは、アプリケーションプログラム２６は、スキャナ５０から受信したスキャンデータＤ１の転送準備が完了したか否かをドライバメイン処理モジュール２８Ｂに定期的に問い合わせる。なお、アプリケーションプログラム２６は、ドライバメイン処理モジュール２８Ｂに対して定期的に問い合わせず、ドライバメイン処理モジュール２８ＢからスキャンデータＤ１が送信されるのを待機する構成でも良い。
【００４３】
アプリケーションプログラム２６は、Ｓ１４５の問い合わせに対応する応答をドライバメイン処理モジュール２８Ｂから受け付けると（Ｓ１４７）、ドライバメイン処理モジュール２８Ｂに対してスキャンデータＤ１の出力を命令する（Ｓ１４９）。ドライバメイン処理モジュール２８Ｂは、アプリケーションプログラム２６からスキャンデータＤ１の出力命令を受け付けると、スキャンデータＤ１をアプリケーションプログラム２６へ出力する（Ｓ５１）。
【００４４】
そして、アプリケーションプログラム２６は、ドライバメイン処理モジュール２８Ｂから受け付けたスキャンデータＤ１に対して所定の処理を実行する（Ｓ１５７）。ここでいう所定の処理とは、例えば、ユーザから要求された処理であり、スキャンデータＤ１を印刷する処理する処理である。あるいは、アプリケーションプログラム２６は、スキャンデータＤ１をＰＣ１０（メモリ１４）へ記憶する処理、スキャンデータＤ１をＬＣＤ１６へ表示する処理、スキャンデータＤ１の画像処理、他のアプリケーションプログラムにスキャンデータＤ１を転送する処理、サーバにスキャンデータＤ１を転送する処理などを実行しても良い。
【００４５】
アプリケーションプログラム２６は、Ｓ１５７の処理を完了させると、ＤＳＭ２８Ａを介して、ドライバメイン処理モジュール２８Ｂへ切断命令を送信する（Ｓ１５９、Ｓ１６１）。つまり、アプリケーションプログラム２６は、ドライバメイン処理モジュール２８Ｂに対し、デバイスメイン処理モジュール６５（スキャナ５０）との通信の接続を切断するように命令する（Ｓ１５９、Ｓ１６１）。ドライバメイン処理モジュール２８Ｂは、アプリケーションプログラム２６からの命令に応じて、デバイスメイン処理モジュール６５との通信を切断する（Ｓ１６３）。このようにして、スキャンシステム１は、ＰＣ１０のアプリケーションプログラム２６及びスキャナドライバ２８の制御に基づいたスキャナ５０による画像の読み取り処理を終了する。
【００４６】
＜画像の読み取り処理について＞
上述したように、スキャンシステム１では、スキャナ５０により生成されたスキャンデータＤ１を対象として、原稿検知処理などの画像処理が実行される。この際、従来の手法では、スキャンデータＤ１を対象とした原稿検知処理は、スキャナ５０において実行されていた。しかしながら、原稿検知処理がスキャナ５０で実行されると、原稿サイズを適切に検知することができない虞がある。
【００４７】
詳しくは、スキャナ５０は、例えば、原稿の主走査方向の長さ（原稿の横幅）を、読取Ｉ／Ｆ５５により読み取られた画像データに基づいて検出する。また、スキャナ５０は、例えば、原稿の副走査方向の長さ（原稿の高さ）を、物理的な用紙センサによって検出する。原稿の主走査方向の長さのことを原稿の幅ともいう。原稿の主走査方向の長さのことを原稿の高さともいう。ここでいう物理的な用紙センサとは、例えば、ローラ型のセンサであり、画像の読み取り時に原稿の上を副走査方向へと回転しながら移動し、原稿の端部の段差に基づいて原稿の高さを検出するものである。このような用紙センサによる原稿サイズの検知では、センサの検出精度によっては数ミリ程度の誤差が生じる虞がある。このように、原稿検知処理がスキャナ５０で実行されると、原稿サイズを適切に検知することができない虞がある。
【００４８】
そこで、スキャンシステム１では、上記したスキャンパラメータに、原稿検知処理が設定されたことを示すパラメータを含む場合に、ＰＣ１０が原稿検知処理を行う。この際、スキャナ５０は、読取対象の原稿のサイズよりも大きな画像をスキャンデータとして生成し、ＰＣ１０において、そのスキャンデータに基づいて原稿のサイズを検知し、スキャンデータに基づく画像から原稿の画像を切り出す処理を行う。
【００４９】
以下に、ＰＣ１０が原稿検知処理を実行する場合の概略図である図４を用いて説明する。また、以下の説明では、スキャナ５０で読み取り可能な最大の原稿サイズがＡ４サイズであり、実際に読み取りを行う原稿のサイズがハガキサイズである場合について説明する。この場合、スキャナ５０は、Ａ４サイズよりも小さいハガキサイズの原稿を、読み取り可能な最大のサイズであるＡ４サイズの原稿として画像の読み取りを実行する。
【００５０】
まず、スキャナ５０は、ハガキサイズの原稿の画像をＡ４サイズの画像として読み取る。これにより、スキャナ５０のデバイスメイン処理モジュール６５（図２参照）は、原稿の読み取りにより生成された画像データ（以下、「原稿画像データ」と記載する）７１と、原稿の外縁の外側の読み取りにより生成された画像データ（以下、「外側画像データ」と記載する）７３とを含むスキャンデータＤ１を生成する。この際、デバイスメイン処理モジュール６５は、基本的に、色のスケールうち色要素の最も多い２４ｂｉｔカラースケールのスキャンデータＤ１を生成する。これにより、後述する原稿検知処理において、外側画像データ７３の色を検知することが容易となる。また、後述するスケール検知処理において、適切に色のスケールを検知することができる。
【００５１】
なお、デバイスメイン処理モジュール６５に、原稿画像データ７１と外側画像データ７３とを含むカラースケールのスキャンデータＤ１を生成させるべく、ＰＣ１０のドライバメイン処理モジュール２８Ｂは、図２に示すＳ１２９において、スキャンの開始命令とともに、Ａ４サイズの画像をカラースケールで読み取ることを示す指令を、スキャナ５０のデバイスメイン処理モジュール６５に送信する。
【００５２】
そして、ドライバメイン処理モジュール２８Ｂからスキャンの開始指令を受信したデバイスメイン処理モジュール６５は、Ａ４サイズの原稿の読み取りを実行するが、外側画像データ７３は、Ａ４サイズとしてハガキサイズに足りない部分に対応しており、例えば、スキャナ５０の原稿を読み取る読み取り台において、原稿を背面側から抑える原稿カバーを読み取った画像データとなる。このため、原稿カバーの内側（原稿側）にグレー色が塗られている場合に、スキャナ５０は、原稿の背景色、つまり、原稿カバーのグレー色を、原稿画像データ７１の周囲の外側画像データ７３として読み取り、原稿画像データ７１の外周に付加する。
【００５３】
そして、スキャナ５０は、原稿画像データ７１に外側画像データ７３を付加したスキャンデータＤ１を、ＰＣ１０へ送信する。この送信処理は、図２に示すＳ１３７に対応する。そして、ＰＣ１０は、ドライバ画像処理モジュール２８Ｅによって、スキャンデータＤ１を対象として、原稿検知処理を行う（Ｓ２０１）。
【００５４】
ＰＣ１０では、まず、原稿検知処理において、ドライバ画像処理モジュール２８Ｅが、外側画像データ７３の色（例えば、グレー色）に基づいてスキャンデータＤ１の画像を処理し、スキャンデータＤ１に含まれる外側画像データ７３を検知する。なお、外側画像データ７３の色は、例えば、上記した図２のスキャナ５０のデバイス能力値の取得処理（Ｓ１１１、Ｓ１１３）において、デバイスメイン処理モジュール６５からドライバメイン処理モジュール２８Ｂへ送信される。ドライバ画像処理モジュール２８Ｅは、例えば、この取得処理で得た外側画像データ７３の色に該当し、且つスキャンデータＤ１に基づく画像の外周部分に配置された画像を、外側画像データ７３の画像として検知する。
【００５５】
具体的には、スキャンデータＤ１に基づく画像の外周部に位置する外側画像データ７３の色、つまり、グレー色を検知し、その検知したグレー色の内縁を認識する。そして、その内縁が矩形状に連続している場合に、その内縁より外側の画像を、外側画像データ７３の画像として検知する。ただし、原稿画像データ７１の画像の外縁にグレー色が存在する場合には、外側画像データ７３の画像の内縁のグレー色が矩形状に連続しない虞がある。このような場合には、外側画像データ７３の画像の内縁の直線状に延びるグレー色に基づいて、矩形状に連続するように、外側画像データ７３の画像の内縁が推定される。これにより、適切に外側画像データ７３の画像を認識できる。
【００５６】
そして、ドライバ画像処理モジュール２８Ｅは、検知した外側画像データ７３をスキャンデータＤ１から除去し、原稿画像データ７１を抽出する。画像データを抽出する画像処理のことを画像データを切り取る画像処理ともいう。この抽出された原稿画像データ７１に基づく画像のサイズが、読取対象の原稿の画像サイズである。そして、ドライバ画像処理モジュール２８Ｅは、抽出した原稿画像データ７１を出力する。この出力処理は、上記した図３のＳ１４３の処理に対応する。従って、ドライバ画像処理モジュール２８Ｅは、原稿検知処理によって生成された画像データ（本発明の第１画像データの一例）、つまり、原稿サイズの原稿画像データ７１をドライバ画像処理モジュール２８Ｅに送信する（Ｓ１４３）。
【００５７】
このように、ＰＣ１０では、スキャンデータＤ１に含まれる外側画像データ７３を検出し、その外側画像データ７３をスキャンデータＤ１から除去することで、原稿画像データ７１が抽出される。これにより、原稿のサイズを好適に検知し、原稿のサイズに応じた画像データを生成することが可能となる。なお、ＰＣ１０により原稿検知処理を実行させるべく、図２に示すＳ１２３の判断処理において、スキャンパラメータに原稿検知処理の実行を示すパラメータが含まれている場合に、ＰＣ１０が原稿検知処理を実行するべきと判断される（Ｓ１２３）。
【００５８】
また、白紙検知処理は、スキャナ５０により読み取られた原稿が白紙であるか否かを検知するための処理である。そこで、白紙検知処理では、スキャンデータＤ１に含まれる色要素が１色であり、その１色が白色である場合に、スキャナ５０により読み取られた原稿が白紙であると判定される。このため、ＰＣ１０で原稿検知処理が実行される場合、即ち、スキャナ５０が外側画像データ７３を原稿画像データ７１に付加したスキャンデータＤ１を生成する場合に、スキャナ５０において原稿検知処理を適切に実行できない。これは、例えば、外側画像データ７３としてグレー色が付加されていると、仮に、原稿画像データ７１が白紙（白色）であったとしても、スキャンデータＤ１には、原稿画像データ７１（白色）と外側画像データ７３（グレー色）の２色が含まれることとなる。その結果、白紙検知処理において、スキャンデータＤ１にグレー色が含まれるため、白紙であることを精度良く検知できないためである。
【００５９】
また、スケール検知処理は、スキャナ５０により読み取られた原稿に含まれる色の数を検知し、その色の数に基づいて色のスケールを自動で検知する処理である。このため、スケール検知処理では、スキャンデータに含まれる色要素の数が検知され、その色要素の数に基づいて色のスケールが特定される。このため、ＰＣ１０で原稿検知処理が実行される場合、即ち、スキャナ５０が外側画像データ７３を原稿画像データ７１に付加したスキャンデータＤ１を生成する場合に、スキャナ５０においてスケール検知処理を適切に実行できない。これは、例えば、外側画像データ７３としてグレー色が付加されていると、外側画像データ７３に含まれるグレー色が、原稿（原稿画像データ７１）に含まれる色要素に加算されるため、原稿の色数を精度良く検知できなくなるためである。
【００６０】
このため、ＰＣ１０において原稿検知処理が実行される場合に、白紙検知処理およびスケール検知処理もＰＣ１０において実行される。つまり、原稿検知処理と白紙検知処理とスケール検知処理とが、ＰＣ１０において実行される。ただし、白紙検知処理とスケール検知処理とは、上述したように、外側画像データ７３を原稿画像データ７１に付加したスキャンデータＤ１を対象として実行することが好ましくない。このため、白紙検知処理とスケール検知処理とは、原稿検知処理により生成された画像データを対象として実行される。つまり、ＰＣ１０において、原稿検知処理が実行された後に、白紙検知処理とスケール検知処理とが実行される。
【００６１】
詳しくは、図５に示すように、スキャナ５０は、外側画像データ７３を原稿画像データ７１に付加したスキャンデータＤ１を生成し、ＰＣ１０に送信する（Ｓ１３７）。次に、ＰＣ１０のドライバ画像処理モジュール２８Ｅは、外側画像データ７３を原稿画像データ７１に付加したスキャンデータＤ１を対象として、原稿検知処理を実行し（Ｓ２０１）、原稿画像データ７１を生成する。続いて、ドライバ画像処理モジュール２８Ｅは、Ｓ２０１で生成された原稿画像データ７１を対象として、白紙検知処理を実行する（Ｓ２０３）。この際、ドライバ画像処理モジュール２８Ｅは、例えば、原稿画像データ７１に含まれる色要素が全て白色である場合、白紙の原稿であると検知する。
【００６２】
次に、ドライバ画像処理モジュール２８Ｅは、Ｓ２０１で生成された原稿画像データ７１を対象として、スケール検知処理を実行する。詳しくは、Ｓ２０１で生成された原稿画像データ７１に含まれる色要素の数を検知する（Ｓ２０５）。色要素の数の検知方法としては、公知の画像処理方法を用いることができる。そして、ドライバ画像処理モジュール２８Ｅは、原稿画像データ７１に含まれる色要素の数に基づいて、原稿画像データ７１が、２４ｂｉｔのカラースケールの画像、８ｂｉｔのグレースケールの画像、あるいはモノクロスケールの画像のいずれの画像であるかを判定する。
【００６３】
次に、ドライバ画像処理モジュール２８Ｅは、Ｓ２０１で生成された原稿画像データ７１を、Ｓ２０５で判定された色のスケールに変換する（Ｓ２０７）。例えば、ドライバ画像処理モジュール２８Ｅは、Ｓ２０５において、原稿画像データ７１の色のスケールをモノクロスケールである、即ち、原稿画像データ７１に白色と黒色との２色しか含まれていないことを検出すると、Ｓ２０７においてカラースケールの原稿画像データ７１をモノクロスケールの原稿画像データ７１Ａに変換する。これにより、原稿の色を再現した画像データが生成される。なお、色のスケールの変換方法としては、公知の画像処理方法を用いることができる。
【００６４】
そして、ドライバ画像処理モジュール２８Ｅは、色のスケールを変換した原稿画像データ７１Ａをドライバメイン処理モジュール２８Ｂに出力する（図３のＳ１４３）。また、ドライバ画像処理モジュール２８Ｅは、Ｓ２０３で白紙を検知した場合、ドライバメイン処理モジュール２８Ｂに白紙を検知したことを通知しても良い。あるいは、ドライバ画像処理モジュール２８Ｅは、Ｓ２０３で白紙を検知した場合、白紙と検出された原稿画像データを送信しなくてもよい。
【００６５】
なお、ＰＣ１０において原稿検知処理が実行される場合は、上述したように、ＰＣ１０において、白紙検知処理およびスケール検知処理が実行される。このため、図２に示すＳ１２３の判断処理において、スキャンパラメータに原稿検知処理の実行を示すパラメータが含まれている場合において、白紙検知処理とスケール検知処理との実行の設定の有無に関わらず、ＰＣ１０が、スキャンパラメータに含まれているパラメータに応じた処理を実行するべきと判断される（Ｓ１２３）。
【００６６】
つまり、スキャンパラメータに原稿検知処理の実行を示すパラメータのみが含まれている場合において、先に説明したように、ＰＣ１０が原稿検知処理を実行するべきと判断される。また、スキャンパラメータに原稿検知処理の実行を示すパラメータとスケール検知処理の実行を示すパラメータとが含まれている場合において、ＰＣ１０が原稿検知処理とスケール検知処理とを実行するべきと判断される。また、スキャンパラメータに原稿検知処理の実行を示すパラメータと白紙検知処理の実行を示すパラメータとが含まれている場合において、ＰＣ１０が原稿検知処理と白紙検知処理とを実行するべきと判断される。
【００６７】
なお、スキャンパラメータに原稿検知処理の実行を示すパラメータが含まれている場合において、上述したように、スキャナ５０のデバイスメイン処理モジュール６５は、スケール検知処理において、適切に色のスケールを検知するべく、２４ｂｉｔカラースケールのスキャンデータＤ１を生成する。ただし、スケール検知処理が設定されていない場合、つまり、色のスケールがユーザ操作により指定されている場合には、原稿検知処理が設定されている場合において、ユーザ操作により指定された色のスケールで画像の読み取りが実行される。
【００６８】
具体的には、色のスケールがユーザ操作によりグレースケールに指定されている場合に、デバイスメイン処理モジュール６５は、図６に示すように、グレースケールのスキャンデータＤ１を生成する。そして、デバイスメイン処理モジュール６５は、グレースケールのスキャンデータＤ１をＰＣ１０に送信する。このように、グレースケールのスキャンデータＤ１を送信することで、カラースケールのスキャンデータＤ１と比較して、送信時のデータ量を少なくすることができる。なお、ＰＣ１０のドライバメイン処理モジュール２８Ｂは、図２に示すＳ１２９において、スキャンの開始命令とともに、色のスケールがユーザ操作によりグレースケールに指定されている場合に、原稿をグレースケールで読み取ることを示す指令をスキャナ５０のデバイスメイン処理モジュール６５に送信する。
【００６９】
そして、ＰＣ１０はグレースケールのスキャンデータＤ１を受信すると、ＰＣ１０のドライバ画像処理モジュール２８Ｅは、グレースケールのスキャンデータＤ１を対象として、原稿検知処理を実行する（Ｓ２０１）。この際、グレースケールのスキャンデータＤ１であっても、ＰＣ１０のドライバ画像処理モジュール２８Ｅは、スキャンデータＤ１に含まれる外側画像データ７３を認識することができるため、適切に原稿検知処理を実行することができる。これにより、ドライバ画像処理モジュール２８Ｅは、グレースケールのスキャンデータＤ１から、適切に原稿画像データ７１を抽出し、その原稿画像データ７１を出力する。
【００７０】
ただし、色のスケールがユーザ操作によりモノクロスケールに指定されており、デバイスメイン処理モジュール６５がモノクロスケールのスキャンデータＤ１を作成し、そのスキャンデータＤ１をＰＣ１０に送信した場合に、ドライバ画像処理モジュール２８Ｅは、適切に原稿検知処理を実行することができない虞がある。これは、モノクロスケールのスキャンデータＤ１は、白色と黒色との２色の色要素のみで構成されるため、モノクロスケールのスキャンデータＤ１に基づいて、外側画像データ７３の色要素であるグレー色を認識することができないためである。
【００７１】
そこで、原稿検知処理が設定されており、色のスケールがユーザ操作によりモノクロスケールに指定されている場合に、スキャナ５０は、図７に示すように、グレースケールのスキャンデータＤ１を作成する。つまり、スキャナ５０は、ユーザ操作により指定されているモノクロスケールのスキャンデータＤ１でなく、グレースケールのスキャンデータＤ１を作成する。このため、ＰＣ１０のドライバメイン処理モジュール２８Ｂは、図２に示すＳ１２９において、原稿検知処理が設定されており、色のスケールがユーザ操作によりモノクロスケールに指定されている場合に、スキャンの開始命令とともに、原稿をグレースケールで読み取ることを示す指令をスキャナ５０のデバイスメイン処理モジュール６５に送信する。
【００７２】
そして、デバイス画像処理モジュール６６は、スキャナ５０により作成されたグレースケールのスキャンデータＤ１を対象として、原稿検知処理を実行する（Ｓ２０１）。この際、ドライバ画像処理モジュール２８Ｅは、スキャンデータＤ１に含まれる外側画像データ７３を認識することができるため、適切に原稿検知処理を実行することができる。これにより、スキャンデータＤ１から外側画像データ７３が除去され、原稿画像データ７１が生成される。なお、この原稿画像データ７１は、グレースケールのスキャンデータＤ１から生成されているため、グレースケールである。このため、デバイス画像処理モジュール６６は、グレースケールの原稿画像データ７１を、モノクロスケールの原稿画像データ７１Ａに変換するスケール変換処理を実行する（Ｓ２０７）。これにより、ユーザ指定の色のスケール、つまり、モノクロスケールの原稿画像データ７１Ａが生成される。そして、そのモノクロスケールの原稿画像データ７１Ａが出力される。
【００７３】
なお、スキャンパラメータに原稿検知処理の実行を示すパラメータが含まれている場合には、上述したように、ＰＣ１０において原稿検知処理などが実行されるが、スキャンパラメータに原稿検知処理の実行を示すパラメータが含まれていない場合には、読取対象の原稿サイズがユーザ操作により指定される。このように、原稿サイズがユーザ操作により指定される場合において、スキャナ５０は、指定された原稿サイズに応じた領域を、原稿台にセットされた原稿のサイズに関わらず読み取ればよい。このため、原稿サイズがユーザ操作により指定される場合には、原稿検知処理は実行されず、スキャナ５０において、指定された原稿サイズに応じた領域の読み取りが実行される。
【００７４】
具体的に例えば、原稿の用紙サイズがユーザ操作によりＡ４サイズに指定されている場合に、スキャナ５０のデバイスメイン処理モジュール６５は、図８に示すように、Ａ４サイズに応じた領域の読取処理を実行し、Ａ４サイズの原稿のスキャンデータＤ１を生成する。この際、デバイスメイン処理モジュール６５は、スケール検知処理が設定されていない場合に、ユーザ操作により指定されている色のスケールのスキャンデータＤ１、例えば、モノクロスケールのスキャンデータＤ１を生成する。このため、ＰＣ１０のドライバメイン処理モジュール２８Ｂは、図２に示すＳ１２９において、スキャンの開始命令とともに、Ａ４サイズの原稿をモノクロスケールで読み取ることを示す指令をスキャナ５０のデバイスメイン処理モジュール６５に送信する。
【００７５】
なお、原稿の用紙サイズがユーザ操作により指定されている場合には、白紙検知処理は、スキャナ５０により実行される。これは、スキャナ５０が、ＰＣ１０より高速に白紙検知処理を実行できるためである。このため、白紙検知処理が設定されている場合に、スキャナ５０のデバイス画像処理モジュール６６が白紙検知処理を実行する（Ｓ２１１）。この処理は、図２に示すＳ１３４に対応する。デバイスメイン処理モジュール６５は、白紙検知処理を実行すると、白紙検知処理の結果、つまり、スキャンデータＤ１に基づく画像が白紙であるか否かを示す情報をデバイス画像処理モジュール６６に出力する。そして、デバイス画像処理モジュール６６は、生成したスキャンデータＤ１をＰＣ１０に送信する（図２の１３７）。この際、Ｓ２１１における白紙検知処理の結果が、スキャンデータＤ１に基づく画像が白紙である場合に、スキャンデータＤ１とともに、スキャンデータＤ１の基づく画像が白紙であることを示す白紙情報が、ＰＣ１０に送信される。そして、ＰＣ１０はスキャンデータＤ１を受信すると、ＰＣ１０のドライバメイン処理モジュール２８Ｂが、そのスキャンデータＤ１をアプリケーションプログラム２６に出力する（図３のＳ１５１）。
【００７６】
このように、原稿の用紙サイズがユーザ操作により指定されている場合において、原稿検知処理を実行しないことで、読取処理の高速化を図ることができる。なお、原稿の用紙サイズがユーザ操作により指定されている場合、つまり、原稿検知処理が設定されていない場合に、スキャナ５０により白紙検知処理を実行させるべく、図２に示すＳ１２３の判断処理において、スキャンパラメータに原稿検知処理の実行を示すパラメータが含まれておらず、白紙検知処理の実行を示すパラメータが含まれている場合に、スキャナ５０が白紙検知処理を実行するべきと判断される（Ｓ１２３）。
【００７７】
また、原稿検知処理が設定されておらず、スケール検知処理が設定されていない場合において、スキャナ５０は、上述したように、ユーザ操作により指定されている色のスケールのスキャンデータＤ１を生成するが、原稿検知処理が設定されておらず、スケール検知処理が設定されている場合には、スキャナ５０は、カラースケールのスキャンデータＤ１を生成する。具体的に、例えば、原稿検知処理が設定されておらず、ユーザ操作によりＡ４サイズが指定されており、スケール検知設定が設定されて場合について、以下に具体的に説明する。
【００７８】
ユーザ操作によりＡ４サイズが指定されており、スケール検知設定が設定されて場合において、スキャナ５０のデバイスメイン処理モジュール６５は、図９に示すように、Ａ４サイズに応じた領域の読取処理をカラースケールで実行し、Ａ４サイズの原稿のカラースケールのスキャンデータＤ１を生成する。このため、ＰＣ１０のドライバメイン処理モジュール２８Ｂは、図２に示すＳ１２９において、スキャンの開始命令とともに、Ａ４サイズの原稿をカラースケールで読み取ることを示す指令をスキャナ５０のデバイスメイン処理モジュール６５に送信する。
【００７９】
そして、デバイスメイン処理モジュール６５は、スキャンデータＤ１を生成すると、そのスキャンデータＤ１をデバイス画像処理モジュール６６に出力し、デバイス画像処理モジュール６６が、スケール検知処理を実行する。これは、スキャナ５０が、ＰＣ１０より高速にスケール検知処理を実行できるためである。なお、この処理は、図２に示すＳ１３４に対応する。デバイス画像処理モジュール６６は、スケール検知処理として、デバイス画像処理モジュール６６で生成されたスキャンデータＤ１に含まれる色要素の数を検知する（Ｓ２１３）。そして、デバイス画像処理モジュール６６は、検知した色要素の数に関する色数情報をデバイスメイン処理モジュール６５に出力し、デバイスメイン処理モジュール６５は、生成したスキャンデータＤ１とともに、色情報をＰＣ１０に送信する（図２の１３７）。
【００８０】
ＰＣ１０は、スキャンデータＤ１を受信すると、受信したスキャンデータの色スケールを、スキャンデータＤ１とともに受信した色情報に基づいて、変換する（Ｓ２１５）。つまり、スケール検知処理の色数検知処理はスキャナ５０で実行されるが、スケール変換処理は、ＰＣ１０により実行される。これは、スキャナ５０からＰＣ１０にスキャンデータが送信される際に、スキャナ５０は、読み取ったライン毎のスキャンデータをＰＣ１０に送信するため、全てのスキャンデータＤ１の色要素の数を検知した際に、全てのスキャンデータＤ１は、既にＰＣ１０に送信されているためである。このため、例えば、スキャナ５０が１枚の原稿の読み取りが完了した後に、１枚の原稿のスキャンデータＤ１を纏めてＰＣ１０に送信する場合には、スキャナ５０において、スケール変換処理が実行されてもよい。
【００８１】
なお、ＰＣ１０においてスケールの変換処理が実行される場合には、ドライバ画像処理モジュール２８Ｅが、受信したスキャンデータの色スケールを、スキャンデータＤ１とともに受信した色情報に基づいて、変換する（Ｓ２１５）。つまり、例えば、色情報が２色を示す情報である場合に、ドライバ画像処理モジュール２８Ｅは、カラースケールのスキャンデータＤ１を、モノクロスケールのスキャンデータＤ１Ａに変換する。そして、ドライバ画像処理モジュール２８Ｅは、モノクロスケールのスキャンデータＤ１Ａをドライバメイン処理モジュール２８Ｂに出力し、ドライバメイン処理モジュール２８Ｂが、スキャンデータＤ１Ａをアプリケーションプログラム２６に出力する（図３のＳ１５１）。
【００８２】
なお、原稿の用紙サイズがユーザ操作により指定されている場合、つまり、原稿検知処理が設定されていない場合に、スキャナ５０によりスケール検知処理を実行させるべく、図２に示すＳ１２３の判断処理において、スキャンパラメータに原稿検知処理の実行を示すパラメータが含まれておらず、スケール検知処理の実行を示すパラメータが含まれている場合に、スキャナ５０がスケール検知処理を実行するべきと判断される（Ｓ１２３）。
【００８３】
なお、Ｓ１２１を実行するＣＰＵ１２は、第１受付手段の一例である。Ｓ１２３を実行するＣＰＵ１２は、判断手段の一例である。Ｓ１２９を実行するＣＰＵ１２は、送信手段の一例である。Ｓ１３４を実行するＣＰＵ１２は、第２実行手段の一例である。Ｓ１３７を実行するＣＰＵ１２は、第１出力手段，第２出力手段，第１受信手段及び、第２受信手段の一例である。Ｓ１４１を実行するＣＰＵ１２は、第１実行手段の一例である。
【００８４】
＜実施例の効果＞
上記した実施形態によれば、以下の効果を奏する。
【００８５】
前記第１の画像処理と前記第２の画像処理とを実行すると前記判断手段により判断された場合に、前記第１実行手段は、前記第１スキャンデータを対象として、前記第１の画像処理を前記情報処理装置に実行させ、かつ、前記第１の画像処理によって生成された第１画像データを対象として、前記第２の画像処理を前記情報処理装置に実行させ、前記第１の画像処理は、対象であるスキャンデータから画像処理によって画像データを生成する処理である。これにより、第１の画像処理と第２の画像処理とを、適切に情報処理装置により実行することが可能となる。
【００８６】
前記第２の画像処理は、前記第１スキャンデータを対象として実行するよりも、前記第１の画像処理によって生成された前記第１画像データを対象として実行したほうが、実行結果の精度が上がる処理である。これにより、第２の画像処理を精度よく行うことが可能となる。
【００８７】
前記第１の画像処理と前記第２の画像処理とを実行すると前記判断手段により判断された場合に、前記第１スキャンデータは、原稿の前記光学読取により生成された原稿画像データと、原稿の外縁の外側の前記光学読取により生成された外側画像データとを含み、前記第１の画像処理は、前記原稿画像データを含み、前記外側画像データを含まない画像データを、前記第１画像データとして生成する処理である。これにより、原稿のサイズを検知する処理を、第１の画像処理として好適に実行することが可能となる。
【００８８】
前記第２の画像処理は、前記第１の画像処理により取得された原稿画像データに基づいて、原稿画像データの色のスケールを検出する処理を含み、前記第１の画像処理と前記第２の画像処理を実行すると前記判断手段により判断された場合に、前記第１実行手段は、前記第１スキャンデータを対象として、前記第１の画像処理を前記情報処理装置に実行させ、かつ、前記第１の画像処理によって生成された、前記原稿画像データを含み、前記外側画像データを含まない前記第１画像データを対象として、前記第２の画像処理を前記情報処理装置に実行させ、前記第１の画像処理を実行しないが、前記第２の画像処理を実行すると前記判断手段により判断された場合に、前記第１スキャンデータは、前記原稿画像データを含み、前記外側画像データとを含まず、前記第２実行手段は、前記第１スキャンデータを対象として、前記第２の画像処理を前記スキャナに実行させる。これにより、色のスケールを適切に検出することが可能となる。
【００８９】
前記第１スキャンデータは、第１数の色のスケールのスキャンデータであり、前記第２の画像処理は、前記第２の画像処理により検出された色のスケールが前記第１数より少ない第２数以下である場合に、前記第１の画像処理により取得された原稿画像データを、前記第２数の色のスケールのスキャンデータに変換する処理をも含む。これにより、画像データの情報量を少なくすることが可能となる。
【００９０】
前記第１受付手段は、前記ユーザインタフェースを介して、前記第１の画像処理と前記第２の画像処理との各々の設定パラメータを、前記操作入力として受け付け、前記第１の画像処理の設定パラメータは、原稿サイズのユーザ操作による指定と、自動的な検出とのいずれが設定されているかを示すパラメータであり、前記判断手段は、前記第１の画像処理の設定パラメータが前記自動的な検出に設定されていることを示す場合に、前記第１の画像処理を実行すると判断し、前記第２の画像処理の設定パラメータは、複数の色のスケールのうちの１の色のスケールのユーザ操作による指定と、自動的な検出とのいずれが設定されているかを示すパラメータであり、前記判断手段は、前記第２の画像処理の設定パラメータが前記自動的な検出に設定されていることを示す場合に、前記第２の画像処理を実行すると判断する。これにより、原稿サイズの自動的な検出処理と、複数の色のスケールのうちの１の色のスケールの自動的な検出処理とを好適に行うことができる。
【００９１】
前記第２の画像処理は、前記第１の画像処理により取得された原稿画像データに基づいて、当該原稿画像データが白原稿に基づくスキャンデータであるか否かを判断する処理であり、前記第１の画像処理と前記第２の画像処理を実行すると前記判断手段により判断された場合に、前記第１実行手段は、前記第１スキャンデータを対象として、前記第１の画像処理を前記情報処理装置に実行させ、かつ、前記第１の画像処理によって生成された、前記原稿画像データを含み、前記外側画像データを含まない前記第１画像データを対象として、前記第２の画像処理を前記情報処理装置に実行させ、前記第１の画像処理を実行しないが、前記第２の画像処理を実行すると前記判断手段により判断された場合に、前記第１スキャンデータは、前記原稿画像データを含み、前記外側画像データとを含まず、前記第２実行手段は、前記第１スキャンデータを対象として、前記第２の画像処理を前記スキャナに実行させる。これにより、白原稿を適切に検出することができる。
【００９２】
前記情報処理装置は、前記スキャナのスキャナドライバと、前記スキャナドライバにスキャン指令を出力するプログラムとを記憶する記憶領域を有し、前記スキャナドライバは、前記第２の画像処理の実行により前記原稿画像データが白原稿に基づくスキャンデータであることを示す情報を取得し、当該情報を前記プログラムに出力する。これにより、白原稿に関する情報を、プログラムにおいて利用することができる。
【００９３】
前記第１受付手段は、前記ユーザインタフェースを介して、前記第１の画像処理と前記第２の画像処理との各々の設定パラメータを、前記操作入力として受け付け、前記第１の画像処理の設定パラメータは、原稿サイズのユーザ操作による指定と、自動的な検出とのいずれが設定されているかを示すパラメータであり、前記スキャナは、前記第１の画像処理の設定パラメータが前記自動的な検出に設定されていることを示す場合に、前記第１スキャンデータは、原稿の前記光学読取により作成された原稿画像データと、原稿の外縁の外側の前記光学読取により作成された外側画像データとを含み、前記第１の画像処理の設定パラメータが前記ユーザ操作による指定に設定されていることを示す場合に、前記第１スキャンデータは、前記外側画像データを含まず、前記原稿画像データを含む。これにより、原稿サイズの自動的な検出処理を好適に行うことができる。
【００９４】
また、本発明は、上記実施形態に限定されるものではなく、当業者の知識に基づいて種々の変更、改良を施した種々の態様で実施することが可能である。具体的には、例えば、上記実施形態では、原稿検知処理等の各種処理をＰＣ１０とスキャナ５０との何れで実行すべきかを、ＰＣ１０において判断されているが、スキャナ５０において判断されてもよい。
【００９５】
また、上記実施形態では、ＣＰＵ１２，５２によって図２乃至図９に示す処理が実行される例を説明したが、これら処理は、ＣＰＵ１２，５２に限らず、ＡＳＩＣや他の論理集積回路により実行されてもよいし、これら処理が、ＣＰＵ等やＡＳＩＣ、他の論理集積回路が協働することにより実行されてもよい。
【符号の説明】
【００９６】
１０：ＰＣ、１２：ＣＰＵ、１８：入力Ｉ／Ｆ、２０：ネットワークＩ／Ｆ、２８：スキャナドライバ、５０：スキャナ
【図１】
2019047263.tif 000003
【図２】
2019047263.tif 000004
【図３】
2019047263.tif 000005
【図４】
2019047263.tif 000006
【図５】
2019047263.tif 000007
【図６】
2019047263.tif 000008
【図７】
2019047263.tif 000009
【図８】
2019047263.tif 000010
【図９】
2019047263.tif 000011