(57)【要約】【課題】スキャン操作を簡略化することを課題とする。【解決手段】スキャナは、名前付きパイプへの読み込みの有無を判断する。そして、名前付きパイプへの読み込みがあった場合に、名前付きパイプに対応づけられている設定値に従ったスキャン処理が実行される。そして、スキャン処理により生成されたスキャンデータが、名前付きパイプに書き込まれる。また、スキャナは、名前付きパイプへの書き込みの有無を判断する。そして、名前付きパイプへの書き込みがあった場合に、名前付きパイプに対応づけられている設定値が、名前付きパイプに書き込まれたデータに応じた設定値に更新される。これにより、名前付きパイプに対する読み込みを行うことで、容易にスキャンデータを得るとともに、名前付きパイプに対する書き込みを行うことで、スキャン処理に係る設定値を容易に更新することが可能となり、スキャン操作を簡略化することが可能となる。【選択図】図１
2016127351.tif 000002
【特許請求の範囲】
【請求項１】
画像処理装置のコンピュータが読み取り可能なスキャンプログラムであって、
仮想的に設けられている疑似画像ファイルに対する読み込み要求の有無を判断する第１判断手段と、
前記第１判断手段によって前記疑似画像ファイルに対する読み込み要求が有ったと判断された場合に、前記疑似画像ファイルに対応づけられているスキャン処理の設定値を示す情報である設定情報に従ったスキャン処理の指令を出力するスキャン指令出力手段と、
前記スキャン指令出力手段によって出力されたスキャン処理の指令により生成されたスキャンデータを、前記第１判断手段により有ったと判断された読み込み要求に対する応答として出力するスキャンデータ出力手段と、
前記疑似画像ファイルに対するデータの書き込みの要求の有無を判断する第２判断手段と、
前記第２判断手段によって前記疑似画像ファイルに対するデータの書き込み要求が有ったと判断された場合に、前記疑似画像ファイルに対応づけられている設定情報により示される設定値が、当該書き込み要求が示すデータに応じた設定値となるように、当該設定情報を更新する更新手段と、
して前記コンピュータを機能させることを特徴とするスキャンプログラム。
【請求項２】
前記疑似画像ファイルの有無を判断するファイル判断手段と、
前記ファイル判断手段によって前記疑似画像ファイルが無いと判断された場合に、スキャン処理の設定値として予め設定された初期値を示す設定情報に対応づけられた前記疑似画像ファイルを作成する作成手段と、
して前記コンピュータを機能させることを特徴とする請求項１に記載のスキャンプログラム。
【請求項３】
前記作成手段は、
前記ファイル判断手段によって前記疑似画像ファイルが無いと判断された場合に、スキャン処理の設定値のうちのスキャン解像度として予め設定された初期解像度設定値を示す設定情報に対応づけられた前記疑似画像ファイルを作成し、
前記更新手段は、
前記第２判断手段によって前記疑似画像ファイルに対するデータの書き込み要求が有ったと判断された場合に、前記疑似画像ファイルに対応づけられている設定情報により示される前記初期解像度設定値が、当該初期解像度設定値より高い解像度を示す設定値となるように、当該設定情報を更新することを特徴とする請求項２に記載のスキャンプログラム。
【請求項４】
前記第２判断手段によって前記疑似画像ファイルに対するデータの書き込み要求が有ったと判断された場合に、当該データが画像データであり、当該画像データに基づく画像に矩形の枠を描画されていることを条件として、当該枠に関する情報を、当該画像データから抽出する抽出手段として前記コンピュータを機能させ、
前記更新手段は、
前記第２判断手段によって前記疑似画像ファイルに対するデータの書き込み要求が有ったと判断された場合に、前記疑似画像ファイルに対応づけられている設定情報により示されるスキャン処理の設定値のうちのスキャンの対象となるスキャン領域が、前記抽出手段によって抽出された情報により特定される、当該画像データに基づく画像での枠の内部の領域となるように、当該設定情報を更新することを特徴とする請求項１乃至３の何れか１項に記載のスキャンプログラム。
【請求項５】
特定の矩形枠の描画態様とスキャン処理の設定値との対応情報を備え、
前記更新手段は、
前記疑似画像ファイルに対応づけられている設定情報により示されるスキャン処理の設定値が、前記対応情報において、前記抽出手段によって抽出された情報により特定される枠の描画態様に対応づけられているスキャン処理の設定値となるように、当該設定情報を更新することを特徴とする請求項４に記載のスキャンプログラム。
【請求項６】
前記画像処理装置は、記憶部を備え、
前記スキャンデータ出力手段によって出力されたスキャンデータを、前記記憶部に記憶させる記憶手段として前記コンピュータを機能させ、
前記抽出手段は、
前記第２判断手段によって前記疑似画像ファイルに対するデータの書き込み要求が有ったと判断された場合に、当該データが画像データであり、当該画像データに基づく画像に矩形の枠が描画されていることを条件として、当該画像データに基づく画像と、当該画像データの書き込みの直前に前記記憶手段によって前記記憶部に記憶されたスキャンデータに基づく画像とを比較することで、当該枠に関する情報を、当該画像データから抽出することを特徴とする請求項４又は５に記載のスキャンプログラム。
【請求項７】
前記更新手段は、
前記第２判断手段によって前記疑似画像ファイルに対するデータの書き込み要求が有ったと判断された場合に、前記抽出手段によって抽出された情報により特定される枠の色と、スキャン処理の設定値とが対応づけされていることを条件として、前記疑似画像ファイルに対応づけられている設定情報により示されるスキャン処理の設定値が、前記抽出手段によって抽出された情報により特定される枠の色に対応づけられているスキャン処理の設定値となるように、当該設定情報を更新し、
前記スキャンデータ出力手段は、
前記スキャン指令出力手段によって出力されたスキャン処理の指令により生成されたスキャンデータに基づく画像に、スキャン処理の設定値と対応づけられた前記枠の色が存在する場合に、当該スキャンデータに含まれる当該枠の色の画素が当該枠の色と異なる色に変更された状態のスキャンデータを、前記第１判断手段により有ったと判断された読み込み要求に対する応答として出力することを特徴とする請求項４乃至６の何れか１項に記載のスキャンプログラム。
【請求項８】
前記疑似画像ファイルは、名前付きパイプであることを特徴とする請求項１乃至７の何れか１項に記載のスキャンプログラム。
【請求項９】
前記第２判断手段は、
前記疑似画像ファイルに対する書き込みが有った場合に、書き込み要求があったと判断し、
前記更新手段は、
前記疑似画像ファイルに書き込まれたデータに応じた設定値となるよう、前記設定情報を更新することを特徴とする請求項１乃至８の何れか１項に記載のスキャンプログラム。
【請求項１０】
前記画像処理装置は、外部装置と通信可能な通信部と、前記疑似画像ファイルを記憶する記憶部とをさらに備え、
前記第１判断手段は、
前記疑似画像ファイルに対する読み込みコマンドを、前記通信部を介して、受信したか否かに基づき判断を行い、
前記スキャンデータ出力手段は、
前記スキャン指令出力手段によって出力されたスキャン処理の指令により生成されたスキャンデータを、前記読み込みコマンドに対する応答として、前記外部装置に前記通信部を介して送信し、
前記第２判断手段は、
前記疑似画像ファイルに対するデータの書き込みを実行するための書き込みコマンドを、前記通信部を介して、受信したか否かに基づき判断を行い
前記更新手段は、
前記書き込みコマンドが示すデータに応じた設定値となるよう、前記設定情報を更新することを特徴とする請求項１乃至８の何れか１項に記載のスキャンプログラム。
【請求項１１】
制御部を備えた画像処理装置であって、
前記制御部は、
仮想的に設けられている疑似画像ファイルに対する読み込み要求の有無を判断する第１判断手段と、
前記第１判断手段によって前記疑似画像ファイルに対する読み込み要求が有ったと判断された場合に、前記疑似画像ファイルに対応づけられているスキャン処理の設定値を示す情報である設定情報に従ったスキャン処理の指令を出力するスキャン指令出力手段と、
前記スキャン指令出力手段によって出力されたスキャン処理の指令により生成されたスキャンデータを、前記第１判断手段により有ったと判断された読み込み要求に対する応答として出力するスキャンデータ出力手段と、
前記疑似画像ファイルに対するデータの書き込みの要求の有無を判断する第２判断手段と、
前記第２判断手段によって前記疑似画像ファイルに対するデータの書き込み要求が有ったと判断された場合に、前記疑似画像ファイルに対応づけられている設定情報により示される設定値が、当該書き込み要求が示すデータに応じた設定値となるように、当該設定情報を更新する更新手段と、
を備えることを特徴とする画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置のコンピュータが読み取り可能なスキャンプログラム、および、画像処理装置に関する。
【背景技術】
【０００２】
ＰＣ（Personal computerの略）等の画像を処理可能な画像処理装置に記憶されたアプリケーションプログラムの多くは、下記特許文献に記載されているように、ＡＰＩ（Application Programming Interfaceの略）を使用することによって、デバイスのドライバを呼び出すことが可能である。このため、プログラム実行中にデバイスのドライバへの出力を行い、画像処理装置と通信可能なスキャン装置を用いて、スキャン処理を行うことが可能である。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００２−７１０３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、このようなアプリケーションプログラムには、スキャンドライバのＡＰＩを呼び出すことができないものがある。このため、そのようなアプリケーションプログラムでスキャンデータを用いるためには、煩雑な操作をユーザに強いることになる。すなわち、まず、スキャンドライバのＡＰＩを呼び出し可能なアプリケーションプログラムからスキャンドライバを起動して、画像処理装置と通信可能なスキャン装置を用いて、スキャン処理を行う。次に、スキャン処理により得られたスキャンデータを、画像処理装置の記憶部に記憶させる。そして、記憶部に記憶されたスキャンデータを、ファイルとしてアプリケーションプログラムによって読み込む。本発明は、そのような事情に鑑みてなされたものであり、容易な操作によりスキャンデータを読み込むこと、スキャンデータを取得する際のスキャン処理に係る設定を容易に行うことを目的とする。
【課題を解決するための手段】
【０００５】
上記課題を解決するために、本発明のスキャンプログラムは、画像処理装置のコンピュータが読み取り可能なスキャンプログラムであって、仮想的に設けられている疑似画像ファイルに対する読み込み要求の有無を判断する第１判断手段と、前記第１判断手段によって前記疑似画像ファイルに対する読み込み要求が有ったと判断された場合に、前記疑似画像ファイルに対応づけられているスキャン処理の設定値を示す情報である設定情報に従ったスキャン処理の指令を出力するスキャン指令出力手段と、前記スキャン指令出力手段によって出力されたスキャン処理の指令により生成されたスキャンデータを、前記第１判断手段により有ったと判断された読み込み要求に対する応答として出力するスキャンデータ出力手段と、前記疑似画像ファイルに対するデータの書き込みの要求の有無を判断する第２判断手段と、前記第２判断手段によって前記疑似画像ファイルに対するデータの書き込み要求が有ったと判断された場合に、前記疑似画像ファイルに対応づけられている設定情報により示される設定値が、当該書き込み要求が示すデータに応じた設定値となるように、当該設定情報を更新する更新手段と、して前記コンピュータを機能させることを特徴とする。
【０００６】
上記課題を解決するために、本発明の画像処理装置は、制御部を備えた画像処理装置であって、前記制御部は、仮想的に設けられている疑似画像ファイルに対する読み込み要求の有無を判断する第１判断手段と、前記第１判断手段によって前記疑似画像ファイルに対する読み込み要求が有ったと判断された場合に、前記疑似画像ファイルに対応づけられているスキャン処理の設定値を示す情報である設定情報に従ったスキャン処理の指令を出力するスキャン指令出力手段と、前記スキャン指令出力手段によって出力されたスキャン処理の指令により生成されたスキャンデータを、前記第１判断手段により有ったと判断された読み込み要求に対する応答として出力するスキャンデータ出力手段と、前記疑似画像ファイルに対するデータの書き込みの要求の有無を判断する第２判断手段と、前記第２判断手段によって前記疑似画像ファイルに対するデータの書き込み要求が有ったと判断された場合に、前記疑似画像ファイルに対応づけられている設定情報により示される設定値が、当該書き込み要求が示すデータに応じた設定値となるように、当該設定情報を更新する更新手段と、を備えることを特徴とする。
【発明の効果】
【０００７】
本発明のスキャンプログラム、および、画像処理装置では、疑似画像ファイルに対する読み込み要求を行うことで、容易にスキャンデータを得るとともに、疑似画像ファイルに対する書き込み要求を行うことで、スキャンデータを取得する際のスキャン処理に係る設定値を容易に更新することが可能となる。
【図面の簡単な説明】
【０００８】
【図１】第１実施形態の画像処理システム１のブロック図である。
【図２】ユーザの操作フローチャートを示す図である。
【図３】スキャナ１０の動作フローチャートを示す図である。
【図４】スキャナ１０の動作フローチャートを示す図である。
【図５】スキャナ１０の動作フローチャートを示す図である。
【図６】スキャナ１０の動作フローチャートを示す図である。
【図７】第２実施形態の画像処理システム１００のブロック図である。
【図８】第２実施形態のＰＣ３０の動作フローチャートを示す図である。
【図９】第３実施形態のスキャナ１０の動作フローチャートを示す図である。
【図１０】第３実施形態のスキャナ１０の動作フローチャートを示す図である。
【発明を実施するための形態】
【０００９】
＜画像処理システムの構成＞
図１に、本願に係る第１実施形態として例示される画像処理システム１のブロック図を示す。画像処理システム１は、スキャナ（本発明の画像処理装置の一例）１０、ＰＣ（Personal computerの略）３０を備える。
【００１０】
スキャナ１０の構成について説明する。スキャナ１０は、ＣＰＵ（Central Processing Unitの略）（本発明の制御部およびコンピュータの一例）１２、記憶部１４、パネル１６、ボタン入力部１８、読取部２０、ネットワークＩ／Ｆ（本発明の通信部の一例）２２を主に備えている。これらの構成要素は、バス２４を介して互いに通信可能とされている。
【００１１】
パネル１６は、スキャナ１０の各種機能を表示する表示面を備える。ボタン入力部１８は、スキャナ１０の各機能を実行するためのキーであり、タッチパネルとして、パネル１６と一体に構成されていてもよい。読取部２０は、ＡＤＦ（Auto Document Feederの略）若しくは、フラットベッドに載置された原稿をスキャンして、画像データを作成する部位である。
【００１２】
ネットワークＩ／Ｆ２２は、ネットワーク５０を介して外部装置と通信するものであり、ＰＣ３０に接続される。これにより、スキャナ１０は、ＰＣ３０と各種データの送受信を行うことが可能である。なお、ネットワーク５０を介したスキャナ１０とＰＣ３０との通信では、ＳＭＢ（Server Message Blockの略）プロトコル、ＣＩＦＳ（Common Internet File System）プロトコル等のファイル共有プロトコルを用いた通信が行われる。
【００１３】
ＣＰＵ１２は、記憶部１４内のスキャンプログラム（本発明のスキャンプログラムの一例）２６に従って処理を実行する。スキャンプログラム２６は、スキャン処理を実行するためのプログラムである。以降、スキャンプログラム２６など、プログラムを実行するＣＰＵ１２のことを、単にプログラム名でも記載する場合がある。例えば、「スキャンプログラム２６が」という記載は、「スキャンプログラム２６を実行するＣＰＵ１２が」ということを意味する場合がある。
【００１４】
なお、記憶部１４は、ＲＡＭ（Random Access Memoryの略）、ＲＯＭ（Read Only Memoryの略）、フラッシュメモリー、ＨＤＤ（ハードディスクの略）などが組み合わされて構成されている。また、記憶部１４は、データ記憶領域（本発明の記憶部の一例）２８を備える。データ記憶領域２８は、読取部２０により作成された画像データ、スキャンプログラム２６の実行に必要なデータなどを記憶する領域である。
【００１５】
ＰＣ３０の構成について説明する。ＰＣ３０は、ＣＰＵ３２、記憶部３４、ディスプレイ３６、キーボード３８、マウス３９、ネットワークＩ／Ｆ４０を主に備えている。これらの構成要素は、バス４４を介して互いに通信可能とされている。
【００１６】
ディスプレイ３６は、ＰＣ３０の各種機能を表示する表示面を備える。キーボード３８は、ＰＣ３０の各機能を実行するためのキーを備える。マウス３９は、ディスプレイ３６に表示されたポインタ（図示省略）を操作する。
【００１７】
ネットワークＩ／Ｆ４０は、ネットワーク５０を介して外部装置と通信するものであり、スキャナ１０に接続される。これにより、ＰＣ３０は、スキャナ１０と各種データの送受信を行うことが可能である。なお、ネットワーク５０を介したスキャナ１０とＰＣ３０との通信では、ＳＭＢプロトコル，ＣＩＦＳプロトコル等のファイル共有プロトコルを用いた通信が行われる。
【００１８】
ＣＰＵ３２は、記憶部３４内の画像処理プログラム４６、若しくは、文書作成プログラム４７に従って処理を実行する。画像処理プログラム４６は、画像データを処理するためのプログラムである。また、文書作成プログラム４７は、テキストデータを作成するためのプログラムである。以降、画像処理プログラム４６など、プログラムを実行するＣＰＵ３２のことを、単にプログラム名でも記載する場合がある。例えば、「画像処理プログラム４６が」という記載は、「画像処理プログラム４６を実行するＣＰＵ３２が」ということを意味する場合がある。
【００１９】
なお、記憶部３４は、ＲＡＭ、ＲＯＭ、フラッシュメモリー、ＨＤＤなどが組み合わされて構成されている。また、記憶部３４は、データ記憶領域４８を備える。データ記憶領域４８は、スキャナ１０から取得した画像データ、画像処理プログラム４６の実行に必要なデータなどを記憶する領域である。
【００２０】
＜名前付きパイプを利用したスキャン処理＞
ＰＣ３０の画像処理プログラム４６は画像データを読み込み、その画像データを処理するように構成されている。この画像処理プログラム４６はスキャナドライバのＡＰＩを呼び出す機能、及びスキャナを直接制御する機能はもたない。そのような画像処理プログラムに対してスキャン画像を読み込ます構成として、本実施例では「名前付パイプ」（本発明の疑似画像ファイルの一例）を用いている。
【００２１】
この名前付パイプは下記のような特徴を有するファイルである。
（１）      書き込まれたデータは、書き込まれた順に読み出される。
（２）      読み出されたデータはパイプ内から消去される。
この名前付パイプは、Ｕｎｉｘ（登録商標），Ｌｉｎｕｘ（登録商標）にて一般的なものである。
【００２２】
スキャナ１０にはスキャンプログラム２６がインストールされており、そのスキャンプログラム２６を用いて名前付パイプを介して画像処理プログラム４６にスキャン画像を提供する。画像処理プログラム４６は、ＳＭＢプロトコル等のファイル共有プロトコルを用いて、通常の画像ファイルと同様に名前付パイプをファイルとして読み込むことによりスキャンデータを読み込む。この名前付パイプは、ＪＰＧなどの画像データを示す拡張子が付けられている。この拡張子が示す画像フォーマットは、スキャンデータの画像フォーマットと一致する。画像処理プログラム４６は、読み込んだスキャンデータに基づく画像をディスプレイ３６に表示する。そして、画像処理プログラム４６は、矩形画像の枠の追加などの画像処理を行う機能がある。なお、画像処理プログラム４６により、矩形画像の枠の追加が行われる際には、画像の上に矩形枠が表示されるが、画像処理プログラム４６では、矩形枠の色として少なくとも特定色、例えば、赤色（ＲＧＢ値（２５５，０，０））、緑色（ＲＧＢ値（０，２５５，０））、青色（ＲＧＢ値（０，０，２５５））の３色を指定することができるものを想定している。このような画像処理プログラムは、一般的でＰＣ３０のＯＳ（Operating Systemの略）自体にバンドルされていることが多い。そして、画像処理プログラム４６が、名前付きパイプから読み込んだ画像に対して、矩形枠により所定の範囲を特定して上書き保存すると、その範囲でのスキャン処理を実行するようにスキャンプログラム２６に指示することが可能である。また、そのスキャン処理時の解像度を、矩形枠の色に応じて設定することが可能である。つまり、画像処理プログラム４６により表示された画像に矩形枠を重ねて描画することで、名前付きパイプを利用したスキャン処理の設定値を変更することが可能となる。
【００２３】
詳しくは、スキャナ１０では、スキャンプログラム２６の実行により、名前付きパイプが存在するか否かが判定される。名前付きパイプが存在する場合には、その名前付きパイプが利用されるが、名前付きパイプが存在しない場合には、スキャナ１０のデータ記憶領域２８にファイルが作成される。このファイルには、スキャナ１０によるスキャン処理の設定値が設定されるが、最初の設定値として、初期値が設定される。この初期値での解像度は、スキャナ１０での処理可能な解像度のうちの最も低い解像度に設定されている。つまり、スキャナ１０での処理可能な解像度が、１００〜１２００ｄｐｉである場合には、スキャナ１０によるスキャン処理の初期値として、解像度は１００ｄｐｉに設定される。そして、作製されたファイルに関連付けられて、名前付きパイプが作成される。
【００２４】
また、スキャナ１０が、ネットワークＩ／Ｆ２２を介してＰＣ３０に接続されると、ＳＭＢプロトコル等のファイル共有プロトコルにより、スキャナ１０が内部に記憶装置を有すると認識する。この結果、例えばＰＣ３０のＯＳがWindows（登録商標）であるならば、新たなドライブレター（例えばＥ：）を作成する。これにより、名前付パイプは、このように認識されたあらたな記録装置に記憶されているものとしてＰＣ３０に認識される。そして、ＰＣ３０では、認識された名前付きパイプに応じたアイコンが作成され、ＰＣ３０のディスプレイ３６に表示される。
【００２５】
このアイコンが、ＰＣ３０のディスプレイ３６において、マウス操作によりダブルクリックされると、画像処理プログラム４６により、スキャナ１０で作成された名前付きパイプに対する読み込みが行われる。スキャナ１０では、名前付きパイプが、ＰＣ３０の画像処理プログラム４６によって読み込まれた場合には、スキャンプログラム２６の実行により、その名前付きパイプに関連付けられているファイルに設定されたスキャン処理の設定値が取得される。
【００２６】
そして、ＡＤＦ若しくは、フラットベッドに載置された原稿のスキャン処理が、取得された設定値に基づいて、スキャンプログラム２６により実行され、スキャンデータが作成される。この際、名前付きパイプに関連付けられているファイルには、上述したように、スキャン処理の設定値として、スキャナ１０で処理可能な解像度のうちの最も低い解像度に設定されているため、短時間でスキャンデータが作成される。また、作成されたスキャンデータに基づく画像に、赤色（ＲＧＢ値（２５５，０，０））、緑色（ＲＧＢ値（０，２５５，０））、青色（ＲＧＢ値（０，０，２５５））の３色が存在する場合には、その３色の画素が、それら３色に近似した色に変換される。具体的には、赤色（ＲＧＢ値（２５５，０，０））の画素は、その赤色に近似した色（ＲＧＢ値（２５４，０，０））に、緑色（ＲＧＢ値（０，２５５，０））の画素は、その緑色に近似した色（ＲＧＢ値（０，２５４，０））に、青色（ＲＧＢ値（０，０，２５５））の画素は、その青色に近似した色（ＲＧＢ値（０，０，２５４）に変換される。
【００２７】
そして、スキャンプログラム２６は、色変換されたスキャンデータを、画像処理プログラム４６によって読み込まれた名前付きパイプに書き込むとともに、スキャンデータに基づく画像の４隅の座標に関するデータを記憶領域２８に記憶する。スキャンプログラム２６は、色変換されたスキャンデータを、画像処理プログラム４６によって読み込まれた名前付きパイプに書き込むことにより、名前付きパイプに書き込まれたスキャンデータが、ＰＣ３０の画像処理プログラム４６を用いて取得される。つまり、ＰＣ３０の画像処理プログラム４６は、通常の画像ファイルの読み込みと同じ操作にてスキャナ１０で作成されたスキャンデータを読み込むことができる。これにより、ドライバを用いることなくＰＣ３０は、スキャナ１０からスキャンデータを取得できる。また、ドライバを必要としないために、ＰＣ３０のアーキテクチャ（ＣＰＵの種類）、プラットフォーム（ＯＳの種類）に依存することなく、スキャンを実行できる。そして、名前付きパイプに書き込まれたスキャンデータが、ＰＣ３０により取得されると、名前付きパイプが使用不能な状態とされる。つまり、名前付きパイプが閉鎖される。
【００２８】
ＰＣ３０では、画像処理プログラム４６が、名前付きパイプからスキャンデータを読み込むと、ディスプレイ３６にスキャンデータに基づく画像を表示する。ユーザは、この画像をそのまま利用することが可能であるが、この画像の任意の範囲を、任意の解像度で再スキャンさせることが可能である。つまり、名前付きパイプから読み込まれた画像を、プレビュー画面として用い、そのプレビュー画面から任意の範囲を特定し、特定された範囲の画像を、任意の解像度で再スキャンさせることが可能である。
【００２９】
詳しくは、画像処理プログラム４６は、上述したように、表示された画像に矩形枠を重ねて描画させることが可能であり、矩形枠の色は、赤色（ＲＧＢ値（２５５，０，０））、緑色（ＲＧＢ値（０，２５５，０））、青色（ＲＧＢ値（０，０，２５５））の３色が用意されている。矩形枠は、再スキャン時のスキャンの対象となる範囲を特定するものであり、ユーザは、再スキャンを行いたい範囲を矩形枠により特定する。また、矩形枠の色は、再スキャン処理時の解像度を特定するものであり、矩形枠の色に応じて、再スキャン時の解像度が設定されている。具体的には、赤色（ＲＧＢ値（２５５，０，０））の矩形枠に、３００ｄｐｉの解像度が、緑色（ＲＧＢ値（０，２５５，０））の矩形枠に、６００ｄｐｉの解像度が、青色（ＲＧＢ値（０，０，２５５））の矩形枠に、１２００ｄｐｉの解像度が、それぞれ設定されている。つまり、ユーザは、高い解像度のスキャンデータが必要な場合には、青色（ＲＧＢ値（０，０，２５５））の矩形枠を用いて、表示された画像の任意の範囲を特定し、ユーザは、低い解像度のスキャンデータが必要な場合には、赤色（ＲＧＢ値（２５５，０，０））の矩形枠を用いて、表示された画像の任意の範囲を特定する。
【００３０】
ＰＣ３０のディスプレイ３６には、画像処理プログラム４６により上書き保存ボタン（図示省略）が表示されており、ユーザは、任意の色の矩形枠を用いて再スキャン時のスキャン範囲を特定すると、その上書き保存ボタンをマウス３９によりクリックする。これにより、画像処理プログラム４６は、スキャナ１０で作成された名前付きパイプに対して、上書き保存、つまり、書き込みを行う。
【００３１】
詳しくは、画像処理プログラム４６は、上書き保存ボタンの操作により、矩形枠が重ねて描画された状態の画像の画像データを、名前付きパイプを書き込み先としてスキャナ１０に送信する。スキャナ１０は、その画像データを受信すると、スキャンプログラム２６により、その画像データから、矩形枠に関する情報（以下、「枠情報」と記載する場合がある）を取得する。具体的には、受信した画像データを解析し、赤色の矩形枠、緑色の矩形枠、青色の矩形枠のいずれかが描画されているかを判断する。上述したように、作成されたスキャンデータに基づく画像に、赤色、緑色、青色の３色が存在する場合には、その３色の画素は、それら３色に近似した色、すなわち、それら３色とは異なる色に変換されているので、赤色、緑色、青色の画素のみを抽出することで、容易に矩形が描画されているかを判断することができる。なお、矩形枠の位置に関するデータは、矩形枠の４隅の座標により表される。矩形枠の４隅の座標は、初期値の設定により取得されるスキャンデータに基づく画像の４隅の１つを原点として定めた場合の、矩形枠の４隅に該当する画素の座標である。
【００３２】
スキャンプログラム２６は、上述した手順により枠情報を取得すると、取得した枠情報に基づいて、名前付きパイプに関連付けられているファイル内のスキャン処理時の設定値を更新する。詳しくは、矩形枠の位置に関する情報から、スキャン処理時のスキャン範囲を特定し、そのスキャン範囲を設定情報として、名前付きパイプに関連付けられているファイルに上書きする。また、矩形枠の色に関する情報から解像度を特定する。つまり、例えば、矩形枠が赤色（ＲＧＢ値（２５５，０，０））である場合には、３００ｄｐｉの解像度を設定情報として、名前付きパイプに関連付けられているファイルに上書きする。また、例えば、矩形枠が青色（ＲＧＢ値（０，０，２５５））である場合には、１２００ｄｐｉの解像度を設定情報として、名前付きパイプに関連付けられているファイルに上書きする。
【００３３】
このように、ＰＣ３０の画像処理プログラム４６は、矩形描画処理と同じ操作にて、スキャナ１０で作成された名前付きパイプに関連付けられているファイルの設定値、つまり、名前付きパイプを用いたスキャン処理時の設定値を更新することが可能となる。これにより、簡易な操作により、スキャン処理時の設定値を変更することが可能となる。
【００３４】
そして、ユーザは、ディスプレイ３６において矩形描画操作を行い、上書き保存ボタンを操作した後に、再度、名前付きパイプに対応するアイコンを操作することで、更新された設定値に応じたスキャンデータを取得することが可能となる。詳しくは、ＰＣ３０において、上書き保存ボタンが操作された後に、名前付きパイプに対応するアイコンが操作された場合に、画像処理プログラム４６により、スキャナ１０で作成された名前付きパイプに対する読み込みが行われる。スキャナ１０では、名前付きパイプが、ＰＣ３０の画像処理プログラム４６によって読み込まれた場合に、上述した手順に従って、スキャン処理が実行される。この際、上述したように、名前付きパイプに関連付けられているファイル内のスキャン処理の設定値は更新されているため、更新された設定値に従ってスキャン処理が実行される。そして、更新された設定値に従って作成されたスキャンデータに対して、上述した色変換が行われ、色変換が行われたスキャンデータが、名前付きパイプに書き込まれる。このため、名前付きパイプに書き込まれたスキャンデータが、ＰＣ３０の画像処理プログラム４６を用いて取得される。そして、画像処理プログラム４６は、取得したスキャンデータに基づく画像を、ディスプレイ３６に表示する。これにより、ユーザは、更新した設定値に従ったスキャンデータを取得し、そのデータを利用することができる。
【００３５】
また、上記説明では、ディスプレイ３６に表示された画像に対して矩形描画処理が行われることで、名前付きパイプを用いたスキャン処理の設定値が更新されるが、スキャン処理の設定値を、文書作成プログラム４７を用いて作成し、作成されたテキストデータが、名前付きパイプを書き込みとして、スキャナ１０に送信されることでも、名前付きパイプを用いたスキャン処理の設定値が更新される。
【００３６】
詳しくは、ユーザは、文書作成プログラム４７を用いて、スキャン処理の設定値に関するテキストデータ、例えば、スキャン処理の対象となるスキャン範囲を特定するためのデータ，解像度を特定するためのデータ等を作成する。そして、文書作成プログラム４７により、設定値に関するテキストデータが、名前付きパイプを書き込みとして、スキャナ１０に送信される。スキャナ１０は、名前付きパイプを宛先とするテキストデータを受信すると、そのテキストデータにより特定されるスキャン処理の設定値を、名前付きパイプに関連付けられているファイルに上書きする。これにより、名前付きパイプを用いたスキャン処理の設定値が更新される。
【００３７】
また、ユーザが、例えば、更新した設定値に従ったスキャン処理が実行された後に、そのスキャン処理と異なる設定値でスキャン処理を行いたい場合がある。しかし、すでに設定値が、最初に得られたスキャンデータの画像の特定の領域を、スキャン範囲として指定している場合には、当該特定の領域よりも広い範囲を、スキャン範囲として指定することができない。また、スキャン処理の対象の原稿を変更したい場合には、スキャン処理の対象の原稿を変更して、スキャン処理をやり直す必要がある。このような場合には、ユーザは、記憶装置として認識された名前付きパイプの削除を行う。これにより、スキャナ１０には、名前付きパイプが存在しなくなる。このため、スキャナ１０では、スキャンプログラム２６が、名前付きパイプの不存在を認識すると、再度、名前付きパイプが作成される。この際、上述したように、名前付きパイプは、スキャン処理の設定値として初期値が設定されたファイルに関連付けられて作成される。そして、ＰＣ３０は、ＳＭＢプロトコル等のファイル共有プロトコルにより、スキャナ１０が内部に記憶装置を有すると認識し、再作成された名前付パイプは、認識された新たな記録装置に記憶されているものとしてＰＣ３０に認識される。これにより、再作成された名前付きパイプを利用して、スキャン処理のやり直しを行うことが可能となる。
【００３８】
＜名前付きパイプを利用したスキャン処理時のユーザ操作＞
上述した名前付きパイプを利用したスキャン処理が実行される際のユーザ操作について、図２を用いて説明する。まず、ユーザは、ＰＣ３０のディスプレイ３６に表示されている名前付きパイプに対応するアイコンを、マウス３９によりダブルクリックする（Ｓ１０）。これにより、画像処理プログラム４６は、名前付きパイプに対して読み込みを行う。そして、スキャナ１０では、スキャンプログラム２６が、上記手順に従ってスキャン処理を実行し、そのスキャン処理により生成されたスキャンデータが名前付きパイプに書き込まれる。次に、画像処理プログラム４６は、名前付きパイプからスキャンデータを取得し、そのスキャンデータに基づく画像をディスプレイ３６に表示する。
【００３９】
続いて、ユーザは、矩形描画処理が必要か否かを判断する（Ｓ１２）。つまり、ユーザは、ディスプレイ３６に表示されている画像を、そのまま利用するか、その画像の少なくとも一部と特定し、任意の解像度で再スキャンを行うかを判断する。ユーザが、ディスプレイ３６に表示されている画像の少なくとも一部を特定し、任意の解像度で再スキャンを行うと判断した場合（Ｓ１２のＹＥＳ）には、ユーザは、矩形枠の色を設定し、設定された色の矩形枠を用いて、ディスプレイ３６に表示されている画像の少なくとも一部の範囲を特定する（Ｓ１４）。そして、ユーザは、上書き保存ボタンを操作する（Ｓ１６）。これにより、名前付きパイプに関連付けられているファイルの設定値が、矩形枠の枠情報に基づいて更新される。つまり、名前付きパイプを用いたスキャン処理の設定値が、ユーザ操作により上書きされる。そして、Ｓ１０に戻って再度名前付きパイプに対応するアイコンを、マウス３９によりダブルクリックする。つまり、スキャン処理の設定値が更新された後に、Ｓ１０の処理が実行されることで、更新された設定値に従ったスキャン処理が実行され、ユーザは、更新された設定値に従ったスキャンデータを取得する。
【００４０】
また、Ｓ１２において、ユーザが、ディスプレイ３６に表示されている画像の少なくとも一部と特定し、任意の解像度で再スキャンを行わないと判断した場合（Ｓ１２のＮＯ）には、ユーザは、スキャン処理を最初からやり直すか否かを判断する（Ｓ１８）。つまり、例えば、更新後の設定値を別の設定値に変更したいか否か、また、スキャン処理の対象の原稿を変更したいか否かを判断する。そして、ユーザが、スキャン処理を最初からやり直すと判断した場合（Ｓ１８のＹＥＳ）に、ユーザは、記憶装置として認識された名前付きパイプの削除を行う（Ｓ２０）。そして、Ｓ１０に戻る。この際、スキャナ１０では、スキャンプログラム２６が、名前付きパイプの不存在を認識し、新たに名前付きパイプを作成する。そして、ＰＣ３０が、新たに作成された名前付きパイプを認識し、Ｓ１０の処理が実行されることで、ＡＤＦ若しくは、フラットベッドに載置された原稿のスキャン処理が行われる。これにより、スキャン処理が最初からやり直される。
【００４１】
一方、ユーザが、スキャン処理のやり直しを不必要と判断した場合（Ｓ１８のＮＯ）に、ユーザは、ディスプレイ３６に表示されている画像を利用する。つまり、アイコンのダブルクリックにより実行されたスキャン処理に基づくスキャンデータが、ユーザにより利用される。
【００４２】
＜スキャンプログラム＞
上述した名前付きパイプを利用したスキャン処理と、そのスキャン処理での設定値の更新は、スキャナ１０のＣＰＵ１２においてスキャンプログラム２６が実行されることによって行われる。以下に、図３乃至図６を用いて、ＣＰＵ１２でスキャンプログラム２６が実行される際のフローを説明する。
【００４３】
スキャンプログラム２６はスキャナ１０が立ち上がると直ちに実行される。スキャンプログラム２６が実行されると、まず、図３に示すように、スキャナ１０のデータ記憶領域２８に、名前付きパイプが存在するか否かが、ＣＰＵ１２によって判断される（Ｓ１００）。名前付きパイプが存在しない場合（Ｓ１００のＮＯ）には、データ記憶領域２８にファイルが形成され、そのファイルにスキャン処理時の設定値として初期値（低解像度のプレビュー用設定値）が書き込まれる（Ｓ１０２）。次に、そのファイルに関連付けられて、名前付きパイプが作成される（Ｓ１０４）。そして、Ｓ１０６に進む。また、Ｓ１００で名前付きパイプが存在する場合（Ｓ１００のＹＥＳ）には、Ｓ１０２、Ｓ１０４の処理がスキップされ、Ｓ１０６に進む。
【００４４】
Ｓ１０６において、パイプオープン処理が実行される（Ｓ１０６）。この処理では、名前付きパイプへの読み込みに対してＮＯＮＢＬＯＣＫモードが指定される。名前付きパイプへの読み込みに対するＮＯＮＢＬＯＣＫモードとは、名前付きパイプへの読み込みが無くても、関連する処理が順次行われるモードであり、このモードでオープンされた場合に、このオープン処理は、その名前付パイプに対する読み込みの有無に関わらず、ブロッキングされない状態、つまり、処理非停止状態となる。次に、名前付きパイプに対して外部（ＰＣ３０の画像処理プログラム４６）から読み込み要求が有ったか否かが、ＣＰＵ１２によって判断される（Ｓ１０８）。
【００４５】
名前付きパイプに対して外部から読み込み要求が有った場合（Ｓ１０８のＹＥＳ）には、スキャンサブルーチンが実行される（Ｓ１１０）。スキャンサブルーチンでは、図５に示すように、名前付きパイプに関連付けられているファイルからスキャン処理時の設定値に関する設定情報が読み込まれる（Ｓ１３０）。次に、読み込まれた設定情報に従ってスキャン処理が実行され、スキャンデータが作成される（Ｓ１３２）。スキャンデータが作成されると、そのスキャンデータに基づく画像に、矩形枠の色（赤色（ＲＧＢ値（２５５，０，０））、緑色（ＲＧＢ値（０，２５５，０））、青色（ＲＧＢ値（０，０，２５５）））が存在する場合に、その矩形枠の色と同じ色の画素が、矩形枠の色に近似する色（赤色に近似する色（ＲＧＢ値（２５４，０，０））、緑色に近似する色（ＲＧＢ値（０，２５４，０））、青色に近似する色（ＲＧＢ値（０，０，２５４）））に変換される（Ｓ１３４）。そして、色変換された画像データが、読み込み要求のあった名前付きパイプに書き込まれるとともに、得られた画像データに基づく画像の４隅の座標に関するデータが、データ記憶領域２８に記憶される（Ｓ１３６）。なお、この際記憶される座標に関するデータが示す座標は、初期値のスキャン設定値に従い得られるスキャンデータに基づく画像を基準としている。これにより、スキャンサブルーチンの処理が終了する。
【００４６】
スキャンサブルーチンの処理が終了すると、メインルーチンに戻り、ＣＰＵ１２は、スキャンサブルーチンで作成された画像データを名前付きパイプに書き込む（Ｓ１１２）。これにより、ＰＣ３０の画像処理プログラム４６は、名前付きパイプから画像データを読み込む。次に、名前付きパイプが使用不能な状態にされる（Ｓ１１４）。つまり、閉鎖（ＣＬＯＳＥ）される。なお、この処理は、パイプが削除されるわけではない。そして、Ｓ１００に戻る。
【００４７】
また、名前付きパイプに対して外部から読み込み要求が無かった場合（Ｓ１０８のＮＯ）には、パイプオープン処理が実行される（Ｓ１１６）。この処理では、名前付きパイプへの書き込みに対してＮＯＮＢＬＯＣＫモードが指定される。名前付きパイプへの書き込みに対するＮＯＮＢＬＯＣＫモードとは、名前付きパイプへの書き込みが無くても、関連する処理が順次行われるモードであり、このモードでオープンされた場合に、このオープン処理は、その名前付パイプに対する書き込みの有無に関わらず、ブロッキングされない状態、つまり、処理非停止状態となる。次に、外部（ＰＣ３０の画像処理プログラム４６）からデータを受信しているか否かが、ＣＰＵ１２によって判断される（Ｓ１１８）。つまり、名前付きパイプに対して外部から書き込み要求が有ったか否かが、ＣＰＵ１２によって判断される。
【００４８】
名前付きパイプに対して外部から書き込み要求が有った場合（Ｓ１１８のＹＥＳ）には、設定サブルーチンが実行される（Ｓ１２０）。設定サブルーチンでは、図６に示すように、名前付きパイプに対して書き込み要求の有ったデータの読み込みが行われ、前記書き込み要求に起因する書き込みデータが読み取られる（Ｓ１４０）。次に、読み込まれたデータが画像データであるか否かが、ＣＰＵ１２によって判断される（Ｓ１４２）。読み込まれたデータが画像データである場合（Ｓ１４２のＹＥＳ）には、読み込んだ画像データに、赤、緑、青の何れかの色で矩形が描画されているかが判断される（Ｓ１４４）。そして、赤、緑、青の何れかの色で矩形が描画されていると判断された場合は（Ｓ１４４・ＹＥＳ）、描画されていると判断された枠情報が取得される（Ｓ１４６）。一方、Ｓ１４４において、赤、緑、青の何れの色でも矩形が描画されていないと判断された場合は（Ｓ１４４・ＮＯ）、設定サブルーチンを終了する。
【００４９】
続いて、直前のＳ１３６において記憶された座標に関するデータが取得される。（Ｓ１４８）。そして、ＣＰＵ１２は、直前のＳ１３６において記憶された座標に関するデータが示す座標に基づいて、読み込んだ画像データに描画されている矩形枠の４隅の、オリジナル画像データ（初期値のスキャン設定値に従い得られるスキャンデータ）に対する座標を演算する（Ｓ１５０）。次に、ＣＰＵ１２は、枠情報の矩形枠の色に関する情報に基づいて、解像度を決定する（Ｓ１５２）。そして、ＣＰＵ１２は、名前付きパイプに関連付けられているファイルの設定値に関する情報を、Ｓ１５０で演算された矩形枠の座標、および、Ｓ１５２で決定された解像度に更新する（Ｓ１５４）。これにより、設定サブルーチンの処理が終了する。
【００５０】
また、Ｓ１４２で読み込まれたデータがテキストデータである場合（Ｓ１４２のＮＯ）には、そのテキストデータが設定情報として読み込まれる（Ｓ１５６）。そして、ＣＰＵ１２は、名前付きパイプに関連付けられているファイルの設定値に関する情報を、Ｓ１５６で読み込んだ設定情報に更新する（Ｓ１５４）。これにより、設定サブルーチンの処理が終了する。
【００５１】
設定サブルーチンの処理が終了すると、メインルーチンに戻り、Ｓ１１４以降の処理が行われる。また、Ｓ１１８で名前付きパイプに対して外部から書き込み要求が無かった場合（Ｓ１１８のＮＯ）にも、Ｓ１１４以降の処理が行われる。
【００５２】
なお、Ｓ１００を実行するＣＰＵ１２は、ファイル判断手段の一例である。Ｓ１０４を実行するＣＰＵ１２は、作成手段の一例である。Ｓ１０８を実行するＣＰＵ１２は、第１判断手段の一例である。Ｓ１１２を実行するＣＰＵ１２は、スキャンデータ出力手段の一例である。Ｓ１１８を実行するＣＰＵ１２は、第２判断手段の一例である。Ｓ１３２を実行するＣＰＵ１２は、スキャン指令出力手段の一例である。Ｓ１３６を実行するＣＰＵ１２は、記憶手段の一例である。Ｓ１４６を実行するＣＰＵ１２は、抽出手段の一例である。Ｓ１５４を実行するＣＰＵ１２は、更新手段の一例である。
【００５３】
＜第２実施形態＞
図７に、本願に係る第２実施形態として例示される画像処理システム１００のブロック図を示す。画像処理システム１００は、第１実施形態の画像処理システム１と略同じ構成であるため、詳細な説明は省略する。ただし、画像処理システム１００のスキャナ１０の記憶部１４に、スキャンプログラム２６は記憶されておらず、画像処理システム１００のＰＣ３０の記憶部３４に、スキャンプログラム（本発明のスキャンプログラムの一例）１０２が記憶されている。
【００５４】
第１実施形態の画像処理システム１では、スキャナ１０のスキャンプログラム２６が名前付きパイプを作成していたが、第２実施形態の画像処理システム１００では、ＰＣ３０のスキャンプログラム１０２が名前付きパイプをＰＣ３０内に作成する。また、パイプに関連付けられているファイルも、ＰＣ３０内に保存されている。そして、ＰＣ３０に作成された名前付きパイプを用いてスキャン処理が行われる。詳しくは、スキャンプログラム１０２が起動されると、ＰＣ３０内に名前付きパイプが存在するか否かが判定され、名前付きパイプが存在しない場合に、ＰＣ３０のデータ記憶領域４８にファイルが作成される。このファイルには、第１実施形態と同様に、スキャン処理の設定値として、初期値が設定される。そして、そのファイルに関連付けられて、名前付きパイプが作成される。
【００５５】
作成された名前付きパイプが、画像処理プログラム４６によって読み込まれた場合には、読み込まれた名前付きパイプに関連付けられているファイルから、スキャン処理の設定値が取得される。そして、取得した設定値に基づくスキャン処理の指令が、ネットワーク５０を介して、スキャナ１０に送信される。
【００５６】
スキャン指令を受信したスキャナ１０では、指令とともに受信した設定値に応じたスキャン処理が実行され、スキャンデータが作成される。そして、作成されたスキャンデータが、スキャナ１０からネットワーク５０を介して、ＰＣ３０に送信される。スキャンプログラム１０２は、スキャンデータを受信すると、そのスキャンデータに対して、第１実施形態と同様に、色変換処理を行う。そして、その色変換処理を行った画像データを、データ記憶領域４８に記憶する。さらに、スキャンプログラム１０２は、データ記憶領域４８に記憶した画像データを、画像処理プログラム４６によって読み込まれた名前付きパイプに書き込む。これにより、名前付きパイプに書き込まれた画像データが、画像処理プログラム４６を用いて取得される。なお、名前付きパイプに書き込まれた画像データが、画像処理プログラム４６を用いて取得されると、その名前付きパイプは閉鎖される。
【００５７】
また、名前付きパイプに対して、画像処理プログラム４６によって書き込みが行われた場合には、その名前付きパイプに関連付けられているファイルのスキャン処理の設定値が更新される。詳しくは、ＰＣ３０において、第１実施形態に記載された手順により、画像処理プログラム４６が、画像に対して矩形描画処理を行うことで、矩形枠を含む画像の画像データを作成し、その画像データの名前付きパイプへの書き込みが行われた場合には、スキャンプログラム１０２は、第１実施形態に記載された手順により、名前付きパイプへの書き込み対象の画像データから枠情報を取得する。そして、スキャンプログラム１０２は、名前付きパイプに関連付けられているファイルの設定情報を、取得した枠情報に応じた設定情報に更新する。
【００５８】
また、名前付きパイプに対して、文書作成プログラム４７によって書き込みが行われた場合にも、その名前付きパイプに関連付けられているファイルのスキャン処理の設定値が更新される。詳しくは、ＰＣ３０において、第１実施形態に記載された手順により、文書作成プログラム４７が、設定情報のテキストデータを作成し、そのテキストデータの名前付きパイプへの書き込みが行われた場合に、スキャンプログラム１０２は、名前付きパイプに関連付けられているファイルの設定情報を、テキストデータの設定情報に更新する。
【００５９】
このように、このように、名前付きパイプを、スキャナ１０ではなく、ＰＣ３０に作成することでも、設定情報の更新を容易に行うことが可能となり、更新された設定情報に応じた設定値に従って、名前付きパイプを用いたスキャン処理を実行することが可能となる。
【００６０】
以下に、上述した第２実施形態の処理を実行するべく、ＣＰＵ３２でスキャンプログラム１０２が実行される際のフローを、図３，図４，図６，図８を用いて説明する。ただし、第２実施形態の処理を実行するためのフローは、第１実施形態の処理を実行するためのフローと、スキャンサブルーチンを除いて略同じである。このため、スキャンサブルーチンのみを説明する。
【００６１】
スキャンサブルーチンでは、図８に示すように、名前付きパイプに関連付けられているファイルからスキャン処理時の設定値に関する設定情報が読み込まれる（Ｓ１６０）。次に、読み込まれた設定情報に従ったスキャン処理の実行指令が、スキャナ１０に送信される（Ｓ１６２）。これにより、スキャナ１０では、設定情報に従ったスキャン処理が実行され、スキャン処理により作成されたスキャンデータが、ＰＣ３０に送信される。そして、ＣＰＵ３２が、スキャンデータを受信する（Ｓ１６４）。スキャンデータを受信すると、そのスキャンデータに基づく画像に、矩形枠の色（赤色（ＲＧＢ値（２５５，０，０））、緑色（ＲＧＢ値（０，２５５，０））、青色（ＲＧＢ値（０，０，２５５）））が存在する場合に、その矩形枠の色と同じ色の画素が、矩形枠の色に近似する色（赤色に近似する色（ＲＧＢ値（２５４，０，０））、緑色に近似する色（ＲＧＢ値（０，２５４，０））、青色に近似する色（ＲＧＢ値（０，０，２５４）））に変換される（Ｓ１６６）。そして、色変換された画像データがデータ記憶領域２８に記憶される（Ｓ１６８）。これにより、スキャンサブルーチンの処理が終了する。なお、本実施例にあってはＳ１６２におけるスキャン指令の送信処理は、スキャナドライバを用いて行われる。スキャンプログラムはこのスキャナドライバを適宜選択可能とするようにすれば、汎用のスキャナ装置とそのドライバを用いることにより、本発明の構成を実現することができる。
【００６２】
なお、Ｓ１６２を実行するＣＰＵ３２は、スキャン指令出力手段の一例である。
【００６３】
＜第３実施形態＞
上記実施形態では、名前付きパイプ、つまり、仮想的に設けられている疑似画像ファイルを利用したスキャン処理が実行されるが、第３実施形態では、ファイルシステムに対する処理コマンドを監視し、必要に応じてその処理を変えることによりスキャン処理が実行される。なお、第３実施形態の画像処理システム１は、第１実施形態の画像処理システム１と同じ構成であるため、構成の説明および、図示を省略する。
【００６４】
スキャナ１０とＰＣ３０とがネットワーク接続されている場合には、通常、ＳＭＢプロトコル等のファイル共有プロトコルに従ったコマンドによりファイル処理が行われる。そのコマンドを監視して、ファイル読み取り要求があったと判断される場合に、その応答として読み取られた画像のファイルを返す。詳しくは、スキャナ１０のデータ記憶領域２８に記憶されているフォルダには、予め空の画像ファイル（以下、「スキャン起動ファイル」と記載する場合がある）と、そのスキャン起動ファイルと関連付けられたファイル（以下、「設定情報ファイル」と記載する場合がある）とが作成されている。設定ファイルには、スキャン処理を実行する際の設定値に関する設定情報が書き込まれている。なお、設定ファイルには、最初、初期値としての設定情報が書き込まれている。スキャン起動ファイルは、ＪＰＧなどの画像データを示す拡張子が付けられている。この拡張子が示す画像フォーマットは、スキャンデータの画像フォーマットと一致する。そして、そのスキャン起動ファイルへの読み込みが行われた場合に、設定ファイルから設定情報が読み取られ、その設定情報に応じた設定値に従って、スキャン処理が実行される。そして、スキャン処理により生成されたスキャンデータのファイルが、読取要求元の外部装置に読み込み処理の対象となったファイルとして送信される。
【００６５】
また、コマンドを監視している際に、ファイルの書き込み要求があったと判断される場合に、設定ファイルの設定情報がその書き込み要求に起因する書き込みデータの内容にそって更新される。詳しくは、ＰＣ３０において、第１実施形態に記載された手順により、画像処理プログラム４６が、画像に対して矩形枠の描画を行うことで、矩形枠が重ねて描画された画像の画像データを作成し、その画像データを書き込みファイルとして、スキャナ１０に送信した場合には、スキャナ１０のスキャンプログラム２６は、第１実施形態に記載された手順により、受信した画像データから枠情報を取得する。そして、スキャンプログラム２６は、設定ファイルの設定情報を、取得した枠情報に応じた設定情報に更新する。また、ＰＣ３０において、第１実施形態に記載された手順により、文書作成プログラム４７が、設定情報のテキストデータを作成し、そのテキストデータを書き込みファイルとして、スキャナ１０に送信した場合には、スキャナ１０のスキャンプログラム２６は、設定ファイルの設定情報を、受信したテキストデータに応じた設定情報に更新する。これにより、更新された設定情報に応じた設定値に従って、名前付きパイプを用いたスキャン処理を実行することが可能となる。このように、名前付きパイプではなく、通常のファイルを用いることでも、第１実施形態と同様の効果を得ることが可能である。
【００６６】
なお、スキャン起動ファイルへの読み込み、若しくは、書き込みが行われたか否かの判定は、実際に、スキャン起動ファイルの読み込み、若しくは、書き込みが行われたか否か、つまり、スキャン起動ファイルへのアクセスが有ったか否かにより判定されるのではなく、スキャン起動ファイルへの読み込み、若しくは、書き込みが行わる際のコマンドに基づいて、行われる。つまり、スキャナ１０に入力されるコマンドが監視されており、入力されたコマンドの対象が、スキャン起動ファイルであるか否かが、判定される。そして、コマンドの対象が、スキャン起動ファイルである場合には、コマンドの内容が、ファイルの読み込みであるか否か、若しくは、書き込みであるか否かが判定される。そして、コマンドの内容がファイルの読み込みである場合に、スキャン起動ファイルへの読み込みが行われたと判定され、コマンドの内容がファイルの書き込みである場合に、スキャン起動ファイルへの書き込みが行われたと判定される。
【００６７】
以下に、上述した第３実施形態の処理を実行するべく、ＣＰＵ１２でスキャンプログラム２６が実行される際のフローを、図９乃至図１１を用いて説明する。なお、このフローは概念を説明するものであり、実際のＳＭＢプロトコル等のファイル共有プロトコルのコマンドとは一致しない。
【００６８】
本フローでは、図９に示すように、スキャナ１０へのファイルに対するＳＭＢプロトコル等のファイル共有プロトコルのコマンドの入力待ちが行われる（Ｓ２００）。次に、入力されたコマンドの対象がスキャン起動ファイルであるか否かが、ＣＰＵ１２によって判断される（Ｓ２０２）。コマンドの対象がスキャン起動ファイルでない場合（Ｓ２０２のＮＯ）には、コマンドに応じた通常のインタープリタの処理が行われる（Ｓ２０４）。そして、Ｓ２００に戻る。一方、コマンドの対象がスキャン起動ファイルである場合（Ｓ２０２のＹＥＳ）には、コマンドの内容がファイルの読み込みであるか否かが、ＣＰＵ１２によって判断される（Ｓ２０６）。コマンドの内容がファイルの読み込みでない場合（Ｓ２０６のＮＯ）には、コマンドの内容がファイルの書き込みであるか否かが、ＣＰＵ１２によって判断される（Ｓ２０８）。
【００６９】
コマンドの内容がファイルの書き込みでない場合（Ｓ２０８のＮＯ）には、Ｓ２０４以降の処理が実行される。一方、コマンドの内容がファイルの書き込みである場合（Ｓ２０８のＹＥＳ）には、書き込まれたデータが、データ記憶領域２８に記憶される（Ｓ２１０）。そして、設定サブルーチンが実行される（Ｓ２１２）。設定サブルーチンでは、図６に示すように、Ｓ１４２〜Ｓ１５６の処理が実行される。そして、設定サブルーチンの処理が終了すると、メインルーチンのＳ２００に戻る。
【００７０】
また、Ｓ２０６でコマンドの内容がファイルの読み込みである場合（Ｓ２０６のＹＥＳ）には、スキャン起動ファイル内にスキャンデータが有るか否かが、ＣＰＵ１２によって判断される（Ｓ２１４）。このファイルは初期値としては空の画像ファイルであるが、すでにこの機能が使われている場合は、前回スキャンされた画像が記憶されている場合がある。スキャン起動ファイル内にスキャンデータが有る場合（Ｓ２１４のＹＥＳ）には、そのスキャンデータが削除され（Ｓ２１６）、Ｓ２１８に進む。一方、スキャン起動ファイル内にスキャンデータがない場合（Ｓ２１６のＮＯ）には、Ｓ２１６の処理がスキップされ、Ｓ２１８に進む。Ｓ２１８では、スキャン処理が実行される（Ｓ２１８）。このスキャン処理時には、設定ファイルから設定情報が読み取られ、その設定情報に応じた設定値に従って、スキャン処理が実行される。そのスキャン処理により、スキャンデータが作成され、作成されたスキャンデータがスキャン起動ファイルとして記憶される（Ｓ２２０）。そして、コマンドに応じた通常のインタープリタの処理が行われる（Ｓ２２４）。つまり、ファイルの読み込みに応じた処理に従って、スキャン起動ファイルに記憶されたスキャンデータが、ＰＣ３０に送信される。そして、Ｓ２００に戻る。
【００７１】
なお、Ｓ２０６を実行するＣＰＵ１２は、第１判断手段の一例である。Ｓ２０８を実行するＣＰＵ１２は、第２判断手段の一例である。Ｓ２１８を実行するＣＰＵ１２は、スキャン指令出力手段の一例である。Ｓ２２４を実行するＣＰＵ１２は、スキャンデータ出力手段の一例である。Ｓ２４２を実行するＣＰＵ１２は、更新手段の一例である。
【００７２】
なお、上記実施例の説明においてはフローによる具体的な説明は割愛したが、異常状態に対して適宜エラー処理が行われる。この異常状態とは、例えば、Ｓ１４２において読み込まれたデータが画像データでも文字データでもなかった場合、Ｓ１６４における無応答、などである。また、Ｓ１４４においてＮＯと判断された場合に設定値を変更していないが、その場合に異常状態と判断して設定を初期値に戻すようにしてもよい。
【００７３】
なお、本発明は、上記実施形態に限定されるものではなく、当業者の知識に基づいて種々の変更、改良を施した種々の態様で実施することが可能である。具体的には、例えば、上記実施形態では、ＰＣ３０での画像処理プログラム４６若しくは、文書作成プログラム４７の実行により名前付きパイプに書き込みがあった場合に設定情報の更新が行われているが、印刷処理プログラム等、種々のプログラム実行時の名前付きパイプへの書き込みにより、設定情報の更新を行うことが可能である。また、上記実施形態では、枠の色をもとに解像度の設定を変更しているが、カラー／モノクロなどの解像度以外の設定値を変更するものとしてもよい。
【００７４】
また上記実施形態では、枠の色をもとに設定値を変更しているが、枠の色ではなく枠線の種類（実線、破線、一点鎖線、破線の間隔）をもとに設定値を変えるようにしてもよい。その場合、上記実施形態とは以下の点が異なる。・矩形枠は特定の色に限定されず、任意の色で描画してよい。・スキャンデータを名前付きパイプ又はスキャン起動ファイルに書き込む際、スキャンデータに基づく画像の４隅の座標に関する座標データに加え、名前付きパイプ又はスキャン起動ファイルに書き込むスキャンデータも、データ記憶領域２８又はデータ記憶領域４８に書き込む。・名前付きパイプ又はスキャン起動ファイルに画像データの書き込み要求が有った際、その画像データに基づく画像上に描画された矩形枠を、データ記憶領域２８又はデータ記憶領域４８に記憶したスキャンデータに基づく画像との比較を行うことで抽出する。より具体的には、書き込む要求が有った画像データに基づく画像と、データ記憶領域２８又はデータ記憶領域４８に記憶したスキャンデータに基づく画像のXOR（排他論理和）を求めることで実現できる。このような変形は、第１〜第３実施形態のいずれにおいても適用できる。このように構成することで、名前付きパイプ又はスキャン起動ファイルに、スキャンより得られたスキャンデータを、色変換無しで書き込むことができる。
【００７５】
また上記実施形態では、矩形枠線によって読み取り範囲を指定しているが、読み取り範囲、あるいは読み取り範囲外を塗りつぶすことによりスキャン領域を指定するようにしてもよい。またその際に塗りつぶし色に応じて解像度などの他の設定を変えるようにしてもよい。
【００７６】
また上記実施例の説明ではスキャナとＰＣがネットワークを介して接続されているとして説明したが、ＵＳＢを介して接続されたものであってもよい。その場合、第1実施形態にあっては、ファイル共有プロトコルの代わりにＵＳＢのストレージクラスが使用される。また第3実施形態にあってもファイル共有プロトコルのコマンドの代わりにＵＳＢプリンタクラスのコマンドが使用される。
【００７７】
また上記実施例では説明の簡略化のために矩形描画を行うための画像処理プログラムと、本スキャンを行う画像処理プログラムは同じとして扱ってきたが、それらは別プログラムでもよい。例えばＯＳにバンドルされた汎用画像処理装置を用いて矩形描画のための書き込みを行い、その後にスキャナAPIを持たないアップローダなどの所望のアプリにてスキャンを行ってもよい。
【００７８】
また、上記実施形態では、ＣＰＵ１２，３２によって図２乃至図６、及び図８乃至図１０に示す処理が実行される例を説明したが、これら処理は、ＣＰＵ１２，３２に限らず、ＡＳＩＣや他の論理集積回路により実行されてもよいし、これら処理が、ＣＰＵやＡＳＩＣ、他の論理集積回路が協働することにより実行されてもよい。
【００７９】
また疑似ファイルに関する処理は本出願人により過去に特願２０１３−２７２１６６号、特願２０１４−０６５７２２号などを提案している。本発明を実施するにあたりその構成を用いてもよい。
【符号の説明】
【００８０】
１０：スキャナ、１２：ＣＰＵ、２２：ネットワークＩ／Ｆ、２６：スキャンプログラム、２８：データ記憶領域、３０：ＰＣ、３２：ＣＰＵ、１０２：スキャンプログラム
【図１】
2016127351.tif 000003
【図２】
2016127351.tif 000004
【図３】
2016127351.tif 000005
【図４】
2016127351.tif 000006
【図５】
2016127351.tif 000007
【図６】
2016127351.tif 000008
【図７】
2016127351.tif 000009
【図８】
2016127351.tif 000010
【図９】
2016127351.tif 000011
【図１０】
2016127351.tif 000012