JP4760460B2 - スキャナ制御システム、およびスキャナドライバプログラム - Google Patents

スキャナ制御システム、およびスキャナドライバプログラム Download PDF

Info

Publication number
JP4760460B2
JP4760460B2 JP2006067902A JP2006067902A JP4760460B2 JP 4760460 B2 JP4760460 B2 JP 4760460B2 JP 2006067902 A JP2006067902 A JP 2006067902A JP 2006067902 A JP2006067902 A JP 2006067902A JP 4760460 B2 JP4760460 B2 JP 4760460B2
Authority
JP
Japan
Prior art keywords
scanner
information
model
communication interface
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2006067902A
Other languages
English (en)
Other versions
JP2007251252A (ja
Inventor
政敏 門田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2006067902A priority Critical patent/JP4760460B2/ja
Priority to US11/685,430 priority patent/US8427669B2/en
Publication of JP2007251252A publication Critical patent/JP2007251252A/ja
Application granted granted Critical
Publication of JP4760460B2 publication Critical patent/JP4760460B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00344Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a management, maintenance, service or repair apparatus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32502Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device in systems having a plurality of input or output devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32502Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device in systems having a plurality of input or output devices
    • H04N1/32507Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device in systems having a plurality of input or output devices a plurality of input devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0008Connection or combination of a still picture apparatus with another apparatus
    • H04N2201/0034Details of the connection, e.g. connector, interface
    • H04N2201/0037Topological details of the connection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0008Connection or combination of a still picture apparatus with another apparatus
    • H04N2201/0034Details of the connection, e.g. connector, interface
    • H04N2201/0037Topological details of the connection
    • H04N2201/0041Point to point
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0008Connection or combination of a still picture apparatus with another apparatus
    • H04N2201/0034Details of the connection, e.g. connector, interface
    • H04N2201/0037Topological details of the connection
    • H04N2201/0043Point to multipoint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0077Types of the still picture apparatus
    • H04N2201/0094Multifunctional device, i.e. a device capable of all of reading, reproducing, copying, facsimile transception, file transception

Description

本発明は、スキャナと通信可能な情報処理装置上で機能するスキャナ制御システムと、このスキャナ制御システムの一部を構成するスキャナドライバ部として情報処理装置を機能させるためのスキャナドライバプログラムに関する。
一般に、USB(Universal Serial Bus)規格に準拠したデバイス(以下、USBデバイスと称する。)は、ベンダーID(以下、VIDと略称する。)やプロダクトID(以下、PIDと略称する。)と呼ばれる識別子を備えている。
これらVIDやPIDは、例えば、USBデバイスがパーソナルコンピュータ(以下、PCと略称する。)などの情報処理装置に接続された場合に、USBデバイス側から情報処理装置側へと伝送することができ、これにより、情報処理装置側では、どのような機能を持つUSBデバイスが接続されたのかを認識することができる(例えば、特許文献1参照)。
したがって、例えば、情報処理装置側では、USBデバイスから伝送されてきたVIDやPID基づいて、USBデバイスを制御するために必要なデバイスドライバのプログラムをメモリに読み込んで、そのデバイスドライバを機能させることができた。また、例えば、単一のデバイスドライバが、機能や性能の異なる複数通りの機種に対応しているような場合には、USBデバイスが備える機能や性能をPIDに基づいて特定し、特定した機能や性能に応じた適切な制御を実行することもできた。
特開2005−184360号公報
ところで、Linux(登録商標)等のUNIX(登録商標)系OS(Operating System)が搭載された情報処理装置においては、SANE(Scanner Access Now Easy)と呼ばれるスキャナ制御システムが利用されている。このSANEは、アプリケーション側ないし利用者側との間のインターフェースを提供するSANEシステム本体部(以下、SANE本体とも称する。)と、スキャナに対する制御を行うスキャナドライバ部とが協働して機能するように構成されている。SANEシステム本体部には、スキャナドライバ部から取得した情報を表示するとともに、利用者の入力操作に応じた情報をスキャナドライバ部へと伝送するユーザーインターフェース機能を提供するフロントエンド部(以下、フロントエンドとも称する。)が含まれている。また、このようなフロントエンド部に対して、上記スキャナドライバ部は、バックエンド部(以下、バックエンドとも称する。)とも呼ばれる。
このSANEにおいては、新たにバックエンドを用意して、それを登録することにより、新たに対応する機種を増やすことができる。その際、新たに登録されたバックエンドは、その操作対象となる機種と、その機種がサポートする機能を、SANE本体側に伝える能力を持つ。SANE本体は、複数のスキャナが接続された場合にバックエンドから送られた機種の情報を列挙し、利用者に対象となる機種を選ばせる機能を有する。またSANE本体はバックエンドから送られた機種情報を基に、利用者にその機能を選択させるためのダイアログを表示し、利用者に機能を設定させる機能を有する。このSANEに関しては、http://www.sane-project.org/(2006年3月現在)において、その仕様、ソースコードが公開されているので、この明細書においては詳述しない。
このようなスキャナ制御システムにおいても、スキャナ系デバイス(例えば、単機能のイメージスキャナや、スキャナ機能に加えてスキャナ機能以外の機能をも兼ね備えた複合機;以下、これらを総称してスキャナと称する。)に対する制御を行う際、そのスキャナがUSB規格に準拠したもの(以下、このようなスキャナをUSBスキャナと称する。)であれば、上述の背景技術同様、スキャナドライバ部が、様々なUSBデバイスからVIDやPIDを取得し、取得したVIDやPIDに基づいて、スキャナドライバ部の対応しているUSBスキャナを検出していた。また、単一のスキャナドライバ部が、機能や性能の異なる複数通りの機種に対応しているような場合には、個々のUSBスキャナが備える機能や性能をPIDに基づいて特定し、特定した機能や性能に応じた適切な制御を実行していた。
しかし、情報処理装置とスキャナとの間の通信インターフェースが、USBとは異なる規格の通信インターフェースになっている場合、情報処理装置はVIDやPIDをスキャナから取得することができなかった。
より具体的な例を挙げれば、上記のようなUSBスキャナの中には、USB以外の通信インターフェースを兼ね備えている機種があり、代表的な例を挙げれば、例えば、IEEE802系(IEEE802.3/IEEE802.3u/IEEE802.3ab等)の規格に準拠した通信インターフェース(以下、LAN(Local Area Network)インターフェースと称する)を備えている機種がある。このような機種は、USBスキャナとして運用する以外に、LANインターフェースを介して情報処理装置と通信可能なスキャナ(以下、ネットワークスキャナと称する。)としての運用も可能である。
しかし、このようなスキャナをネットワークスキャナとして運用した場合、情報処理装置は、上述のようなVIDやPIDをネットワークスキャナから取得することができなかった。これは、USB規格とIEEE802系規格との違いに起因するもので、そもそもVIDやPIDは、USB規格で利用するために実装されたIDであるのに対し、IEEE802系規格ではVIDやPIDを取得するための通信プロトコルが用意されていないからである。そのため、従来は、USBスキャナを制御可能なスキャナドライバ部であっても、ネットワークスキャナをUSBスキャナと同等に制御することはできない、という問題があった。
本発明は、上記問題を解決するためになされたものであり、その目的は、スキャナの機能を特定するために必要な情報を、情報処理装置が第1の通信インターフェースを介して通信可能なスキャナからは取得でき、第2の通信インターフェースを介して通信可能なスキャナからは取得できない環境であっても、どちらのスキャナについても同等に制御可能なスキャナ制御システムと、そのようなスキャナ制御システムの一部を構成するスキャナドライバ部として情報処理装置を機能させるためのスキャナドライバプログラムを提供することにある。
以下、本発明において採用した特徴的構成について説明する。
本発明のスキャナ制御システムは、USB規格に沿った手順でスキャナと通信するための第1の通信インターフェースと、USB規格とは異なる通信規格に沿った手順でスキャナと通信するための第2の通信インターフェースと、記憶手段と、表示部とを備えた情報処理装置上で機能するスキャナ制御システムであって、前記情報処理装置上では、前記第1の通信インターフェースまたは前記第2の通信インターフェースを介してスキャナを制御するスキャナドライバ部と、スキャナを利用する旨の操作を利用者から受けたアプリケーション部から指令を受けると、前記スキャナドライバ部に対し、そのスキャナドライバ部が対応するスキャナに関する表示用情報を格納したスキャナデータ情報を要求し、その要求に応じて前記スキャナドライバ部から提供されるスキャナデータ情報を取得すると、そのスキャナデータ情報に基づいて、スキャナデータ情報に含まれる表示用情報を前記表示部に表示し、その表示に基づいて、一のスキャナを制御対象スキャナとする指令をユーザから受け付けると、指令された制御対象スキャナを示す制御対象情報をスキャナドライバ部に指定するシステム本体部とが機能するように構成されており、前記記憶手段には、あらかじめ、スキャナに関する情報として、前記USB規格で定められた情報であって前記第1の通信インターフェースを介して接続しているスキャナからは前記第1の通信インターフェースを介して取得することが可能であるものの前記第2の通信インターフェースを介して接続しているスキャナからは前記第2の通信インターフェースを介して取得することが不能な情報であるデバイスの種類を判別する機種情報とユーザインターフェースに表示するための表示用情報とを対応付けて格納した記述ファイルと、情報処理装置と第2の通信インターフェースを介して接続可能なスキャナに関する情報として、そのスキャナの前記機種情報を格納した設定ファイルと、が記憶されており、前記スキャナドライバ部は、前記システム本体部からの要求に応じて、前記情報処理装置と前記第1の通信インターフェースを介して接続しているスキャナが送信した、そのスキャナの前記機種情報を前記第1の通信インターフェースを介して受信する受信手段と、前記システム本体部からの前記要求に応じて、前記記憶手段が記憶している前記設定ファイルが格納する、前記第2の通信インターフェースを介して接続しているスキャナの前記機種情報を取得する設定ファイル情報取得手段と、前記システム本体部からの前記要求に応じて前記受信手段が前記第1の通信インターフェースを介して接続しているスキャナの前記機種情報を受信すると、その前記機種情報に対応する表示用情報を前記記述ファイルから取得し、前記システム本体部からの前記要求に応じて前記設定ファイル情報取得手段が前記第2の通信インターフェースを介して接続しているスキャナの前記機種情報を取得すると、その前記機種情報に対応する表示用情報前記記述ファイルから取得する手段であって、前記受信手段が受信した前記第1の通信インターフェースを介して接続しているスキャナの前記機種情報に対応する表示用情報と、前記設定ファイル情報取得手段が取得した前記第2の通信インターフェースを介して接続しているスキャナの前記機種情報に対応する表示用情報との双方を取得すると、取得した双方の表示用情報を含んだ前記スキャナデータ情報を作成するスキャナデータ情報作成手段と、記スキャナデータ情報作成手段が前記双方の表示用情報を含んだ前記スキャナデータ情報を作成すると、そのスキャナデータ情報を前記システム本体部に提供するスキャナデータ情報提供手段と、前記スキャナデータ情報提供手段が前記スキャナデータ情報を提供した前記システム本体部から前記制御対象情報を指定されると、当該制御対象情報に応じて、その制御対象情報に対応する機種情報を特定するとともに、前記制御対象情報が示す制御対象スキャナが前記第1の通信インターフェースまたは前記第2の通信インターフェースのいずれを介して通信可能かを判定し、前記第1の通信インターフェースを介して通信可能と判定された場合は、前記機種情報に対応して特定したコマンドを前記第1の通信インターフェースを介して前記制御対象スキャナへ送信する一方、前記第2の通信インターフェースを介して通信可能と判定された場合は、前記機種情報に対応して特定したコマンドを前記第2の通信インターフェースを介して前記制御対象スキャナへ送信するスキャン指令送信手段とを備えることを特徴とする。
このスキャナ制御システムにおいて、第1の通信インターフェースは、USB規格に沿った手順でスキャナからスキャナ情報を取得可能な通信インターフェースである。第2の通信インターフェースは、USB規格とは規格が異なるものであり、代表的な例としては、IEEE802系のLANインターフェースを挙げることができる。
また、このスキャナ制御システムにおいて、システム本体部の一例としては、UNIX(登録商標)系OSが搭載された情報処理装置の場合であれば、SANEと呼ばれるスキャナ制御システムを利用することができる。このSANEを利用すれば、新たにスキャナドライバ部を用意するだけで本発明のスキャナ制御システムを構成することができる。ただし、SANEと同等な機能を有するシステムは、他のOS上で機能するものを用意することも可能である。例えば、Windows(登録商標)、MacOS(登録商標)などをプラットフォームとするシステム本体部およびスキャナドライバ部を用意すれば、UNIX(登録商標)系以外のOSが搭載された情報処理装置でも、本発明のスキャナ制御システムを構成することができる。
また、機種情報は、USB規格で定められた、デバイスの種類を判別するための情報であり、USB規格においてVIDやPIDと呼ばれる情報が、本発明でいう機種情報に相当する。この機種情報は、第1の通信インターフェースを介して情報処理装置と接続しているスキャナから取得できる。
一方、第2の通信インターフェースは、USB規格とは規格が異なるため、第2の通信インターフェースを介してスキャナから機種情報(USB規格で規定されたVIDやPID)を取得することはできない。ただし、本発明においては、情報処理装置と第2の通信インターフェースを介して接続可能なスキャナに関する情報として、そのスキャナの機種情報を格納した設定ファイルがあらかじめ記憶手段に記憶されているので、記憶手段に記憶された設定ファイルから機種情報を取得することができる。
したがって、本発明のスキャナ制御システムによれば、第2の通信インターフェースを介して機種情報を取得することができない場合でも、第2の通信インターフェースを介する通信を行うことなく、記憶手段に記憶された設定ファイルから機種情報を取得してシステム本体部に渡すことができる。
より詳しくは、システム本体部からの要求があるとスキャナドライバ部においては、その要求に応じて、受信手段は、情報処理装置と第1の通信インターフェースを介して接続しているスキャナが送信した、そのスキャナの機種情報を第1の通信インターフェースを介して受信する。また、同要求に応じて、設定ファイル情報取得手段は、記憶手段が記憶している設定ファイルが格納する機種情報を取得する。

そして、スキャナデータ情報作成手段は、システム本体部からの前記要求に応じて受信手段が第1の通信インターフェースを介して接続しているスキャナの前記機種情報を受信すると、その機種情報に対応する表示用情報を記述ファイルから取得し、システム本体部からの前記要求に応じて設定ファイル情報取得手段が第2の通信インターフェースを介して接続しているスキャナの機種情報を設定ファイルから取得すると、その機種情報に対応する表示用情報記述ファイルから取得する。さらに、スキャナデータ情報作成手段は、受信手段が受信した前記第1の通信インターフェースを介して接続しているスキャナの前記機種情報に対応する表示用情報と、前記設定ファイル情報取得手段が取得した前記第2の通信インターフェースを介して接続しているスキャナの前記機種情報に対応する表示用情報との双方を取得すると、取得した双方の表示用情報を含んだ前記スキャナデータ情報を作成する。スキャナデータ情報提供手段は、スキャナデータ情報作成手段が前記双方の表示用情報を含んだ前記スキャナデータ情報を作成すると、そのスキャナデータ情報をシステム本体部に提供する。
このようなスキャナデータ情報が提供されたシステム本体部では、スキャナデータ情報に基づいて、スキャナデータ情報に含まれる表示用情報を前記表示部に表示し、その表示に基づいて、一のスキャナを制御対象スキャナとする指令をユーザから受け付けた場合には、指令された制御対象スキャナを示す制御対象情報をスキャナドライバ部に指定する。
スキャナデータ情報提供手段が前記スキャナデータ情報を提供したシステム本体部から前記制御対象情報を指定されると、スキャナドライバ部において、スキャン指令送信手段は、指定された制御対象情報に応じて、その制御対象情報に対応する機種情報を特定するとともに、前記制御対象情報が示す制御対象スキャナが前記第1の通信インターフェースまたは前記第2の通信インターフェースのいずれを介して通信可能かを判定し、前記第1の通信インターフェースを介して通信可能と判定された場合は、前記機種情報に対応して特定したコマンドを前記第1の通信インターフェースを介して前記制御対象スキャナへ送信する一方、前記第2の通信インターフェースを介して通信可能と判定された場合は、前記機種情報に対応して特定したコマンドを前記第2の通信インターフェースを介して前記制御対象スキャナへ送信する。
したがって、このような仕組みをスキャナドライバ部が提供すれば、システム本体部では、第1,第2の通信インターフェースのいずれを介して接続しているスキャナであってもまったく同様に扱うことができるようになる。
その結果、例えば、情報処理装置上で機能するアプリケーションソフトウェアから、本発明のスキャナ制御システムを介してスキャナを利用する際には、第1の通信インターフェース介して接続されたスキャナであればもちろんのこと、第2の通信インターフェース介して接続されたスキャナであっても利用できるので、アプリケーションソフトウェア側では、通信インターフェースの規格の違いを何ら意識することなく、所望のスキャナを利用できるようになる。
ところで、本発明のスキャナ制御システムにおいて、前記スキャナデータ情報作成手段は、利用者が個々のスキャナに対して任意に付与するスキャナ名を含む前記スキャナデータ情報を作成するとよい。
このように構成されたスキャナ制御システムによれば、システム本体部側においてスキャナ名を表示できるようになるので、例えば同型のスキャナが複数あるような場合であっても、利用者は所望のスキャナを選択しやすくなる。
また、本発明のスキャナ制御システムにおいて、前記スキャナデータ情報作成手段は、スキャナの機種名を含む前記スキャナデータ情報を作成するとよい。
このように構成されたスキャナ制御システムによれば、システム本体部側において機種名を表示できるようになるので、利用者は所望の機能を備えた機種を選択しやすくなる。
また、本発明のスキャナ制御システムは、前記制御対象スキャナから送信されてくる画像データを、前記機種情報に応じて、前記制御対象スキャナの機種に依存したデータ形式から、前記システム本体部の仕様に合ったデータ形式に変換するデータ形式変換手段を備えるとよい。
このように構成されたスキャナ制御システムによれば、制御対象スキャナの機種によって、制御対象スキャナから送信されてくる画像データのデータ形式が異なる場合でも、そのような違いをシステム本体部側では意識することなく、画像データを受け取ることができる。
また、本発明のスキャナ制御システムは、前記記憶手段には、前記記述ファイルとして、前記スキャナドライバ部が制御可能なスキャナの機種を示す対応機種情報が格納された機種記述ファイルと、前記スキャナドライバ部が制御可能且つ前記機種記述ファイルには前記対応機種情報が格納されていないスキャナについて、当該スキャナの機種を示す情報であり且つ前記対応機種情報とは独立に追加および削除可能な情報である拡張対応機種情報が格納された拡張機種記述ファイルとが記憶されており、前記受信手段は、前記第1の通信インターフェースを介して送信されてくる機種情報が、前記対応機種情報または前記拡張対応機種情報のいずれかとして記憶されている場合に、前記送信されてくる機種情報を受信対象とするとよい。
このように構成されたスキャナ制御システムによれば、初期公開時において、機能が確定している機種の情報を対応機種情報として公開し、その後、新たに機能が確定した機種に関しては、新たにその機種の情報を拡張対応機種情報とする。このようにすることにより、対応機種を順次増やすことができる。
しかも、追加した機種を削除する際には、対応機種情報の内容を直に書き換えなくても、その追加した拡張対応機種情報のみを削除すればよく、この削除による影響を、削除されなかった対応機種情報または拡張対応機種情報に与えることがない。また、例えば、2回にわたって機種拡張をした場合であって、初めに追加した機種のみを削除する場合などにあっても、2回目の拡張を無効とすることなく、初めに追加した機種を容易に削除することができる。また、拡張された機種をすべて削除した場合に、初期のファイル内容が保証されるので、元通りの状態になることが確実に保証されるといった利点がある。
また特に、新たな前記記述ファイルをファイル単位で追加することにより、前記機種対応情報または前記拡張対応機種情報を追加可能、且つ前記記述ファイルをファイル単位で削除することにより、前記機種対応情報または前記拡張対応機種情報を削除可能に構成されていれば、初期のファイルの書き換えを行わなくても、新たなファイルを追加するだけで、簡単に対応機種の追加を行うことができる。
さらに、本発明のスキャナドライバプログラムは、USB規格に沿った手順でスキャナと通信するための第1の通信インターフェースと、USB規格とは異なる通信規格に沿った手順でスキャナと通信するための第2の通信インターフェースと、記憶手段と、表示部とを備えた情報処理装置上で機能するスキャナ制御システムの一部を構成するために利用されるプログラムであり、前記情報処理装置上では、前記第1の通信インターフェースまたは前記第2の通信インターフェースを介してスキャナを制御するスキャナドライバ部と、スキャナを利用する旨の操作を利用者から受けたアプリケーション部から指令を受けると、前記スキャナドライバ部に対し、そのスキャナドライバ部が対応するスキャナに関する表示用情報を格納したスキャナデータ情報を要求し、その要求に応じて前記スキャナドライバ部から提供されるスキャナデータ情報を取得すると、そのスキャナデータ情報に基づいて、スキャナデータ情報に含まれる表示用情報を前記表示部に表示し、その表示に基づいて、一のスキャナを制御対象スキャナとする指令をユーザから受け付けると、指令された制御対象スキャナを示す制御対象情報をスキャナドライバ部に指定するシステム本体部とが機能するように構成され、且つ、前記記憶手段には、あらかじめ、スキャナに関する情報として、前記USB規格で定められた情報であって前記第1の通信インターフェースを介して接続しているスキャナからは前記第1の通信インターフェースを介して取得することが可能であるものの前記第2の通信インターフェースを介して接続しているスキャナからは前記第2の通信インターフェースを介して取得することが不能な情報であるデバイスの種類を判別する機種情報とユーザインターフェースに表示するための表示用情報とを対応付けて格納した記述ファイルと、情報処理装置と第2の通信インターフェースを介して接続可能なスキャナに関する情報として、そのスキャナの前記機種情報を格納した設定ファイルとが記憶されている前記スキャナ制御システムにおいて、前記情報処理装置を前記スキャナドライバ部として機能させるためのプログラムであって、前記情報処理装置を、前記システム本体部からの要求に応じて、前記情報処理装置と前記第1の通信インターフェースを介して接続しているスキャナが送信した、そのスキャナの前記機種情報を前記第1の通信インターフェースを介して受信する受信手段と、前記システム本体部からの前記要求に応じて、前記記憶手段が記憶している前記設定ファイルが格納する、前記第2の通信インターフェースを介して接続しているスキャナの前記機種情報を取得する設定ファイル情報取得手段と、前記システム本体部からの前記要求に応じて前記受信手段が前記第1の通信インターフェースを介して接続しているスキャナの前記機種情報を受信すると、その前記機種情報に対応する表示用情報を前記記述ファイルから取得し、前記システム本体部からの前記要求に応じて前記設定ファイル情報取得手段が前記第2の通信インターフェースを介して接続しているスキャナの前記機種情報を取得すると、その前記機種情報に対応する表示用情報前記記述ファイルから取得する手段であって、前記受信手段が受信した前記第1の通信インターフェースを介して接続しているスキャナの前記機種情報に対応する表示用情報と、前記設定ファイル情報取得手段が取得した前記第2の通信インターフェースを介して接続しているスキャナの前記機種情報に対応する表示用情報との双方を取得すると、取得した双方の表示用情報を含んだ前記スキャナデータ情報を作成するスキャナデータ情報作成手段と、記スキャナデータ情報作成手段が前記双方の表示用情報を含んだ前記スキャナデータ情報を作成すると、そのスキャナデータ情報を前記システム本体部に提供するスキャナデータ情報提供手段と、前記スキャナデータ情報提供手段が前記スキャナデータ情報を提供した前記システム本体部から前記制御対象情報を指定されると、当該制御対象情報に応じて、その制御対象情報に対応する機種情報を特定するとともに、前記制御対象情報が示す制御対象スキャナが前記第1の通信インターフェースまたは前記第2の通信インターフェースのいずれを介して通信可能かを判定し、前記第1の通信インターフェースを介して通信可能と判定された場合は、前記機種情報に対応して特定したコマンドを前記第1の通信インターフェースを介して前記制御対象スキャナへ送信する一方、前記第2の通信インターフェースを介して通信可能と判定された場合は、前記機種情報に対応して特定したコマンドを前記第2の通信インターフェースを介して前記制御対象スキャナへ送信するスキャン指令送信手段として機能させることを特徴とする。
このようなスキャナドライバプログラムを利用して、情報処理装置を上記スキャナドライバ部が備える各手段として機能させれば、同じ情報処理装置上で機能する上記システム本体部、記憶手段および表示部とともに、請求項1に記載したスキャナ制御システムを構成することができる。
なお、本発明のスキャナドライバプログラムは、上記請求項2〜請求項6それぞれに記載した各手段を備えるスキャナドライバ部として、情報処理装置を機能させるように構成されていてもよく、その場合、上記請求項2〜請求項6それぞれに記載したスキャナ制御システムを構成することができる。
次に、本発明の実施形態について一例を挙げて説明する。
[PCおよび複合機の構成]
図1は、本発明でいう情報処理装置の一例に相当するパーソナルコンピュータ1(以下、PC1という)と、本発明でいうスキャナの一例に相当する複合機3の概略構成を示したブロック図である。
複合機3は、本実施形態においては、後述する処理の中でスキャナとして利用されるデバイスであるが、イメージスキャナ機能の他に、プリンタ機能、コピー機能、ファクシミリ機能、および電話機能等を兼ね備えている。また、複合機3は、USB規格に準拠した通信ケーブル7を介してPC1と通信することができ、また、IEEE802系規格のLAN8を介してPC1と通信することもできる。図1においては、2台の複合機3が通信ケーブル7を介してPC1と通信可能に構成され、3台の複合機3がLAN8を介してPC1と通信可能に構成された例を図示してあるが、これらの台数は任意である。
以上のような機器の内、PC1は、図1に示すように、CPU11、ROM12、RAM13、ハードディスク装置15(以下、HDD15という)、操作部16、表示部17、USBインターフェース18(以下、USB I/F18という)、LANインターフェース19(以下、LAN I/F19という)などのハードウェアを備え、これらのハードウェアを制御するためのOS(Operating System)として、Linux(登録商標)を搭載したものである。
CPU11は、ROM12やRAM13に記憶されたプログラムに従って、PC1各部に対する制御および各種演算を実行する装置で、後述するアプリケーション部、システム本体部、およびスキャナドライバ部としての処理は、このCPU11によって実行される。
ROM12は、PC1の電源スイッチを切っても記憶内容を保持可能な記憶装置で、BIOS(Basic Input Output System)や通常であれば更新されない読み出し用のデータ等を記憶している。
RAM13は、CPU11から直接アクセスされるメインメモリ等として利用される記憶装置である。このRAM13には、OS(Operating System)や各種アプリケーションなどのソフトウェアがHDD15から読み込まれ、また、CPU11による各種演算の結果やHDD15から読み込まれたデータもRAM13に記憶されるようになっている。後述するアプリケーション部、システム本体部、およびスキャナドライバ部としての処理をCPU11が実行する際には、各処理をCPU11に実行させるためのプログラム(アプリケーションプログラム、フロントエンドプログラム、スキャナドライバプログラム)がHDD15からRAM13に読み込まれ、RAM13に記憶されたプログラムに従って、CPU11が各処理を実行することになる。
HDD15は、OS、各種アプリケーションプログラム、および各種データファイルを保存しておくための装置で、上記アプリケーションプログラム、フロントエンドプログラム、スキャナドライバプログラムなどもHDD15に保存されている。
操作部16は、利用者からの各種指示を入力するための入力装置であり、例えば、キーボードや各種ポインティングデバイス(例えば、マウス)等によって構成される。
表示部17は、各種情報を利用者に提示するための出力装置であり、例えば、カラー画像を表示可能な液晶ディスプレイ等によって構成される。
USB I/F18は、USB規格準拠のシリアルインターフェースである。このUSB I/F18には、通信ケーブル7を介して、様々なデバイス(例えば、プリンタ、キーボード、マウス、スキャナ、スピーカー、各種ストレージデバイスなど)を接続することができるが、本実施形態においては、複合機3が接続されている。
LAN I/F19は、IEEE802系規格準拠の通信インターフェースである。このLAN I/F19には、LAN8を介して、様々なデバイス(例えば、プリンタ、スキャナ、各種ストレージデバイスなど)を接続することができるが、本実施形態においては、複合機3が接続されている。
また、本実施形態において、PC1に搭載されたOSはマルチタスク機能を備えており、OSのマルチタスク機能により、複数のソフトウェアに基づく処理を時分割で並列に実行することができる。これにより、後から詳述するアプリケーション部、システム本体部、およびスキャナドライバ部などが、PC1上で機能するようになっている。なお、マルチタスク機能など、OSによって提供される各種機能そのものは公知なので、ここでの詳細な説明は省略するが、以下の説明においては、PC1が、Linux(登録商標)によって提供される各種機能を有するとの前提で説明を続ける。
複合機3は、CPU31、ROM32、RAM33、不揮発性RAM34、ハードディスク装置35(以下、HDD35という)、操作部36、表示部37、USB I/F38、LAN I/F39、印刷部41、読取部42、およびモデム43などを備えている。
CPU31は、ROM32に記憶されている制御プログラムに従って複合機3各部の制御および各種演算を実行する装置である。
ROM32は、複合機3の電源スイッチを切っても記憶内容を保持可能な記憶装置で、上記制御プログラムの他、通常であれば更新されない読み出し用の各種データを記憶している。このROM32には、複合機3の製造者を示すVID(ベンダーID)やPID(プロダクトID)などが記憶されている。
RAM33は、CPU31から直接アクセスされるメインメモリ等として利用される記憶装置で、CPU31が処理中に算出する各種データなどが一時的にRAM33に記憶されるようになっている。
不揮発性RAM34は、この複合機3に関する設定等、電力供給が断たれたときにも消失させたくないデータを記憶する記憶装置である。
HDD35は、ファクシミリ機能により送受信する画像、イメージスキャナ機能により読み取った画像、プリンタ機能により印刷する画像など、比較的サイズが大きい画像データを記憶する装置である。
操作部36は、利用者がマニュアル操作で複合機3に対して指令を与える場合に操作する入力装置である。
表示部37は、小型液晶ディスプレイによって構成された装置で、複合機3の設定や状態などの情報を表示できるようになっている。
USB I/F38は、USB規格準拠のシリアルインターフェースで、このUSB I/F38を利用して、PC1との間でデータ通信を実行できるようになっている。
LAN I/F39は、IEEE802系規格準拠の通信インターフェースで、このLAN I/F39を利用しても、PC1との間でデータ通信を実行できるようになっている。
印刷部41は、シート状の媒体(例えば記録用紙)に対する印刷を実行可能な装置で、プリンタ機能による印刷データの印刷、ファクシミリ機能による受信画像の印刷、コピー機能によるコピー画像の印刷等を行う際に作動する。
読取部42は、自動原稿送り装置(図示略)にセットされた原稿またはフラットベッドのコンタクトガラス上に置かれた原稿から画像を読み取り可能な装置で、イメージスキャナ機能による画像の読み取り、ファクシミリ機能による送信画像の読み取り等を行う際に作動する。
モデム43は、複合機3側で作成されたディジタルデータを音声信号に変換して公衆回線側に送信したり、公衆回線側から受信した音声信号をディジタルデータに変換して複合機3側で処理できるようにするための装置で、ファクシミリ機能による画像の送受信、電話機能による通話を行う際に作動する。
[PC1が備えるソフトウェアの構成]
次に、PC1が備えるソフトウェアの構成について、図2に基づいて説明する。
PC1が備えるCPU11は、上述した通り、複数のソフトウェアに基づく処理を時分割で並列に実行することができ、これにより、図2に示すアプリケーション部71A,71B、システム本体部72、スキャナドライバ部73A,73B、設定ツール74などが、PC1上で機能するようになっている。
これらの内、アプリケーション部71A,71Bは、スキャナ(本実施形態の場合、複合機3,5)から伝送されてくる画像データを入力する機能を有するソフトウェアによって構成される。なお、図2おいては、2つのアプリケーション部71A,71Bを例示してあるが、PC1上で機能するアプリケーション部の数は任意である。
システム本体部72は、本実施形態の場合、SANEと呼ばれるシステムの一部に相当するものである。このシステム本体部72は、アプリケーション部71A,71Bからの指令に応じた情報をスキャナドライバ部73A,73Bへと伝送するとともに、スキャナドライバ部73A,73Bから送信されてくる画像データを受信してアプリケーション部71A,71Bへと送信するアプリケーションインターフェース機能を備えている。また、システム本体部72は、スキャナドライバ部73A,73Bから取得した情報を表示部17に表示するとともに、利用者による操作部16からの入力操作に応じた情報をスキャナドライバ部73A,73Bへと伝送するユーザーインターフェース機能を提供するフロントエンド部72Aを備えている。
スキャナドライバ部73A,73Bは、前記SANEのバックエンドとして働く部分である。このスキャナドライバ部73A,73B用のプログラムは、システム本体部72を構成するためのプログラムとは別プログラムとして構成され、システム本体部72にスキャナドライバ部73A,73Bを登録することにより、システム本体部72と協働してスキャナ制御システム(SANEシステム)を構成可能なソフトウェアである。図2おいては、2つのスキャナドライバ部73A,73Bを例示してあるが、PC1上で機能するスキャナドライバ部の数は2つとは限らない。本実施形態の場合、スキャナドライバ部73Aとスキャナドライバ部73Bとでは、制御対象となるスキャナのメーカー(製造者)が異なっている。また、本実施形態において、スキャナドライバ部73Aは、同メーカーの複数機種のスキャナを制御可能に構成されているが、同メーカーのスキャナであっても、機種が異なっている場合には、機種毎に別のスキャナドライバ部が必要となることもある。つまり、PC1上で機能するスキャナドライバ部の数は、PC1から利用したいスキャナのメーカーや機種に応じて決まることになる。
設定ツール74は、LAN8を介して通信可能な複合機3を、スキャナドライバ部73Aにおいて認識可能とするために利用されるソフトウェアであるが、その機能の詳細については後述する。
[PC1が備えるデータの構成]
次に、PC1が備えるデータの構成について、図2に基づいて説明する。
PC1が備えるHDD15には、機種記述ファイル格納ディレクトリ81が用意され、この機種記述ファイル格納ディレクトリ81の中には、機種記述ファイル82が格納されている。この機種記述ファイル82には、このスキャナドライバ部73Aが標準でサポートする機種の情報が格納されている。この機種記述ファイル格納ディレクトリ81には、さらに拡張機種記述ファイルを置くことができる。これはスキャナドライバの初期公開時にまだ確定していなかった機種の情報を、後から追加するためのもので、前記スキャナドライバとは別体で提供されるものである。ここでは、既に拡張機種記述ファイル83A,83Bが追加されているものとして説明する。
機種記述ファイル82、および拡張機種記述ファイル83A,83Bは、いずれもスキャナドライバ部73Aの対応機種(スキャナドライバ部73Aによる制御が可能なスキャナの機種)に関する情報が記述されたファイルである。機種記述ファイル82に記述された機種は、スキャナドライバ部73Aが最初から対応していた機種であり、拡張機種記述ファイル83A,83Bに記述された機種は、後から追加でスキャナドライバ部73Aが対応することになった機種に相当する。
機種記述ファイル82、および拡張機種記述ファイル83A,83B内に記述される情報は、図3(a)に例示したような書式の情報である。ここに記述された1行分情報は、スキャナドライバ部73Aが対応している1機種分の情報に相当する(図3(a)に例示した情報の場合、3機種分の情報)。各行の情報は、PID(図3(a)中の「0x03」等)、機種名(図3(a)中の「M−7820N−N」等)、その他の関連情報群(図3(a)中の「関連情報1,関連情報2,…)で構成される。
また、HDD15には、設定ファイル84も格納されている。この設定ファイル84には、設定ツール74の機能により、LAN8を介して通信可能な複合機3をスキャナドライバ部73Aにおいて認識可能とするための情報が書き込まれるが、この情報の利用方法については後述する。
設定ファイル84内に記述される情報は、図3(b)に例示したような書式の情報である。ここに記述された1行分情報は、LAN8を介して通信可能な1台の複合機3に対応する情報である(図3(b)に例示した情報の場合、LAN8を介して通信可能な4台分の複合機3に関する情報)。各行の情報は、利用者が任意に付与したスキャナ名(図3(b)中の「NET_NODE」等)、機種名(図3(b)中の「M−7820N−N」等)、LAN8上でのノード名またはIPアドレス(図3(b)中の「BRN_487BDB」等)、VID(図3(b)中の「0x4f9」等)およびPID(図3(b)中の「0x381」等)で構成される。
なお、詳しくは後述するが、PC1および複合機3が、USB経由で(すなわち、USB I/F18,38および通信ケーブル7を介して)接続された場合、PC1は、複合機3のROM32に記憶されたVIDやPIDを、複合機3から取得することができる。したがって、PC1側では、複合機3から取得したVIDやPIDに基づいて複合機3のメーカー(製造者)や機種を特定することができる。
一方、PC1および複合機3が、LAN経由で(すなわち、LAN I/F19,39およびLAN8を介して)接続された場合、PC1は、複合機3のROM32に記憶されたVIDやPIDを、複合機3から取得することができない。
しかし、本実施形態においては、PC1および複合機3が、LAN経由で(すなわち、LAN I/F19,39およびLAN8を介して)接続された場合、PC1は、設定ファイル84に記憶されたVIDやPIDを取得する。すなわち、設定ファイル84には、LAN経由で通信可能な複合機3のVIDやPIDが記録されているので、PC1は、設定ファイル84に記憶されたVIDやPIDを取得することができ、そのVIDやPIDに基づいて複合機3のメーカーや機種を特定することができる。
[スキャナ制御システムの詳細]
次に、システム本体部72およびスキャナドライバ部73Aによって構成されるスキャナ制御システムの詳細について説明する。
なお、以下の説明においては、複合機3の接続形態を明示するため、USB経由で(すなわち、USB I/F18,38および通信ケーブル7を介して)接続された複合機3のことを「USBスキャナ」と称することにする。また、LAN経由で(すなわち、LAN I/F19,39およびLAN8を介して)接続された複合機3のことを「ネットワークスキャナ」と称することにする。さらに、これらUSBスキャナおよびネットワークスキャナを総称する場合には、単に「スキャナ」と称することにする。
まず、スキャナリスト提供処理について、図4〜図6のフローチャートに基づいて説明する。このスキャナリスト提供処理は、システム本体部72が、スキャナドライバ部73A,73Bに対して、利用可能なスキャナのリストを要求した際に、スキャナドライバ部73Aが実行する処理である。
より詳しくは、例えば、アプリケーション部71Aが実行する処理の中で、利用者がスキャナを利用する旨の操作を行った場合、その操作に応じてアプリケーション部71Aは、システム本体部72に対してスキャナを利用する旨の指令を出す。そして、アプリケーション部71Aからの指令を受けたシステム本体部72は、すべてのスキャナドライバ部(図2に例示したものの場合、スキャナドライバ部73A,73B)に対し、利用可能なスキャナのリストを要求する。この要求を受けたスキャナドライバ部73A,73Bは、それぞれがシステム本体部72からの要求に応じた処理を行うことになるが、ここでスキャナドライバ部73Aが実行する処理が、以下に説明するスキャナリスト提供処理となる。
スキャナリスト提供処理を開始すると、スキャナドライバ部73Aは、まず、機種記述データ配列作成処理を実行する(S101)。機種記述データ配列作成処理は、機種記述ファイル82、および拡張機種記述ファイル83A,83B内に記述された情報を統合した配列データを作成するための処理で、詳しくは図5に示すような処理となる。
すなわち、機種記述データ配列作成処理を開始すると、スキャナドライバ部73Aは、機種記述ファイル格納ディレクトリ81をサーチする(S201)。そのサーチの結果、未処理の拡張機種記述ファイルがあった場合は(S203:YES)、その拡張機種記述ファイル中のすべてのスキャナ情報を機種記述データ配列に記憶する(S205)。なお、機種記述データ配列は、スキャナドライバ部73Aがメモリ(RAM13)上に確保した配列型の記憶領域である。
そして、S205の処理を終えたら、S201の処理へと戻ることにより、未処理の拡張機種記述ファイルがある限り、S201〜S205の処理を繰り返す。この繰り返し処理により、拡張機種記述ファイル83A,83Bは、順に処理されてゆくことになる。
また、この繰り返し処理の結果、未処理の拡張機種記述ファイルが無くなれば(S203:NO)、最後に機種記述ファイル82中のすべてのスキャナ情報を機種記述データ配列に記憶して(S207)、機種記述データ配列作成処理を終える。なお、以上のような処理によって作成される機種記述データ配列は、先に拡張機種記述ファイル83A,83B内の情報が配列中に格納され、最後に機種記述ファイル82内の情報が配列中に格納されたものとなる。
さて、機種記述データ配列作成処理を終えると、図4中に示したS101の処理を終えたことになるので、引き続いて、スキャナドライバ部73Aは、スキャナデータ情報配列作成処理を実行する(S103)。スキャナデータ情報配列作成処理は、USBデバイスとの通信によって検出したUSBスキャナの情報と設定ファイル84に登録されたネットワークスキャナの情報を統合した配列データを作成するための処理で、詳しくは図6に示すような処理となる。
すなわち、スキャナデータ情報配列作成処理を開始すると、スキャナドライバ部73Aは、まず、USB対応バス上のUSBデバイスをサーチする(S301)。PC1に様々なUSBデバイスが接続されている場合、S301の処理では、それら様々なUSBデバイスが検出されることになるので、それら検出されたUSBデバイスから取得したVIDおよびPIDに基づいて、USBスキャナだけを抽出する。このサーチの結果、USBスキャナがあった場合は(S303:YES)、そのスキャナのデータを機種記述ファイル群(機種記述ファイル82、および拡張機種記述ファイル83A,83B)のデータと照合する(S305)。
そして、照合できた場合は(S307:YES)、スキャナドライバ部73Aが対応しているUSBスキャナであることを意味するので、照合された機種記述ファイル群のデータをスキャナデータ情報配列に書き込んで(S309)、S301の処理へと戻る。なお、スキャナデータ情報配列は、スキャナドライバ部73Aがメモリ(RAM13)上に確保した配列型の記憶領域である。
一方、照合できなかった場合は(S307:NO)、スキャナドライバ部73Aが対応しているUSBスキャナではないことを意味するので、S309の処理はスキップして、そのままS301の処理へと戻る。
こうしてS301の処理へ戻ると、バス上で検出したUSBスキャナがある限り、S301〜S309の処理を繰り返すことになり、この繰り返し処理により、バス上で検出したUSBスキャナは、順に処理されてゆくことになる。
さて、この繰り返し処理の結果、バス上で検出したUSBスキャナが無くなれば(S303:NO)、引き続いて、スキャナドライバ部73Aは、設定ファイル84よりネットワークスキャナ情報を1行ずつ読み出す(S311)。
S311の処理で、1行分のネットワークスキャナ情報が読み出せた場合は、それに対応する1台のネットワークスキャナがあることを意味する(S311:YES)。そこで、その場合は、そのスキャナのデータを機種記述ファイル群(機種記述ファイル82、および拡張機種記述ファイル83A,83B)のデータと照合する(S315)。
そして、照合できた場合は(S317:YES)、スキャナドライバ部73Aが対応しているネットワークスキャナであることを意味するので、照合された機種記述ファイル群のデータをスキャナデータ情報配列に書き込んで(S319)、S311の処理へと戻る。
一方、照合できなかった場合は(S317:NO)、スキャナドライバ部73Aが対応しているネットワークスキャナではないことを意味するので、S319の処理はスキップして、そのままS311の処理へと戻る。
こうしてS311の処理へ戻ると、設定ファイル84に登録されているネットワークスキャナがある限り、S311〜S319の処理を繰り返すことになり、この繰り返し処理により、設定ファイル84に登録されているネットワークスキャナは、順に処理されてゆくことになる。
そして、この繰り返し処理の結果、設定ファイル84に登録されているネットワークスキャナが無くなれば(S313:NO)、スキャナデータ情報配列作成処理を終える。
さて、機種記述データ配列作成処理を終えると、図4中に示したS103の処理を終えたことになるので、引き続いて、スキャナドライバ部73Aは、リスト作成用のメモリブロックを確保する(S105)。ここで、確保されるメモリブロックは、システム本体部72から参照可能な記憶領域内に確保され、そのサイズは(スキャナ数と1つのスキャナに対応するデータ構造のバイト数とにより決定される数)とされる。なお、1つのスキャナに対応するデータ構造は、システム本体部72の仕様(本実施形態の場合、SANEの仕様)としてあらかじめ決められているものである。
メモリブロックを確保したら、スキャナドライバ部73Aは、スキャナデータ情報配列から有効なスキャナの情報を読み出して、メモリブロックに書き込む(S107)。そして、メモリブロックに作成されたリストをシステム本体部72に返して(S109)、スキャナリスト提供処理を終了する。なお、S109の処理では、S105の処理で確保したメモリブロックをシステム本体部72側で参照する上で必要な情報(例えば、メモリブロックの先頭アドレスおよびサイズ(あるいはサイズ相当の情報;例えば、メモリブロックの最終アドレス、スキャナ数等でも可))が返される。
以上のようなスキャナリスト提供処理がスキャナドライバ部73Aにおいて実行される結果、スキャナドライバ部73Aからシステム本体部72へは、スキャナドライバ部73Aによって制御可能なスキャナのリストが提供されることになる。また、スキャナドライバ部73Aとスキャナドライバ部73Bとでは、両者の内部処理は必ずしも同じではないが、スキャナドライバ部73Bからも、システム本体部72に対してスキャナドライバ部73Bによって制御可能なスキャナのリストが提供されることになる。
なお、システム本体部72については、公知のSANEプログラムを利用しているので、その内部処理についての詳細な説明は省略するが、スキャナドライバ部73A,73Bからスキャナリストが提供され、且つ、それらにより複数のスキャナが利用可能であると認識された場合、システム本体部72が備えるフロントエンド部72Aは、図7に示すようなデバイス選択ダイアログ91を表示部17に表示して、利用者からの入力を受け付ける状態になる。
デバイス選択ダイアログ91内には、デバイス表示欄92、OKボタン93、キャンセルボタン94などが設けられており、デバイス表示欄92には、使用可能なスキャナの一覧として、スキャナドライバ部73A,73Bから提供されたスキャナリストに基づく情報が統合して表示される。
より詳しくは、図7に例示したデバイス選択ダイアログ91の場合、デバイス表示欄92には5台のスキャナについて情報が表示されているが、これらの情報は、何台分かがスキャナドライバ部73Aから提供されたスキャナリストに基づく情報であり、残りがスキャナドライバ部73Bから提供されたスキャナリストに基づく情報となっている。
また、デバイス表示欄92には、1台のスキャナを択一的に選択するためのラジオボタン92A、メーカー名表示欄92B、機種名表示欄92C、利用者が個々のスキャナに対して任意に付与した名称を表示するためのスキャナ名表示欄92D、PC1上で個々のスキャナを特定するために利用される識別名を表示するための識別名表示欄92Eなどが設けられている。
ここで、利用者は、デバイス選択ダイアログ91内に表示された情報を参照し、操作部16での操作により、ラジオボタン92Aを使って所望のスキャナを1つ選択し、OKボタン93を押下する操作(OKボタン93をマウスなどのポインティングデバイスを使ってクリックする操作、あるいは当該操作と同等の機能が割り当てられたショートカットキーを押す操作など)を行うことにより、フロントエンド部72Aを介して、システム本体部72に対して、どのスキャナを使用したいのか(どのスキャナを制御対象スキャナとしたいのか)について指令を与えることができる。
また、スキャナリストにより、単一のスキャナのみが利用可能であると認識された場合にあっては、上記デバイス選択ダイアログ91は表示されず、そのスキャナが選択される。
そして、この指令を受けたシステム本体部72は、利用者が指定した制御対象スキャナに対応するスキャナドライバ部(例えば、スキャナドライバ部73A,73Bのいずれか)に対し、選択されたスキャナに対する利用者が設定可能なオプションについての情報を提供するように要求し、この要求に応じてスキャナドライバ部から情報が返されたら、システム本体部72が備えるフロントエンド部72Aは、図8に示すような、オプション設定用ダイアログ96を表示部17に表示して、利用者からの入力を受け付ける状態になる。
オプション設定用ダイアログ96内には、オプション設定欄97、スキャンボタン98、キャンセルボタン99などが設けられている。ここで、利用者は、オプション設定用ダイアログ96内に表示された情報を参照し、操作部16での操作により、オプション設定欄97で任意に各種オプションを設定し、スキャンボタン98を押下する操作を行うことにより、フロントエンド部72Aを介して、システム本体部72に対して、スキャンの開始を指令することができる。
以上説明したシステム本体部72側での処理、および、その中でスキャナドライバ部がオプションについての情報をシステム本体部72側へ提供する処理は、公知のSANEプログラムにより実行されている処理となる。
また、このときのスキャナドライバにおける選択されたスキャナに対する利用者が設定可能なオプションについての情報を提供する処理は、図9のS405の処理に対応する。この処理に関しては後に詳述する。ここで提供された情報を基に、システム本体部72(あるいはシステム本体部72が備えるフロントエンド部72A)は、そのダイアログの各項目の選択肢を決定している。
さて、スキャナドライバ部73Aがシステム本体部72からスキャンの開始を指令された場合に実行する処理は、本実施形態における特有の処理となるので、以下、図9のフローチャートに基づいて詳細に説明する。なお、この処理はSANEプログラムが必要に応じてスキャナドライバの提供するサブルーチンプログラムを順次呼び出すことによりなされるが、便宜上、一連の処理として説明している。
スキャナドライバ部73Aは、システム本体部72からスキャンの開始を指令されると、まず、システム本体部72によって指定された情報から、スキャナを特定する(S401)。システム本体部72によって指定された情報の中には、制御対象スキャナ(利用者がシステム本体部72のユーザーインターフェース機能を利用して選択したスキャナ)を示す制御対象情報が含まれているので、S401の処理では、利用者が選択した1台のスキャナが特定される。
制御対象スキャナを特定したら、続いて、スキャナドライバ部73Aは、スキャナデータ情報配列より対応するデータ(VID/PIDを含む)を取り出す(S403)。既に説明した通り、スキャナデータ情報配列には、USBバス上で検出したUSBスキャナ、または、設定ファイル84に登録されているネットワークスキャナ、いずれかの情報が含まれており、これらの情報には、USB/ネットワークどちらの場合でも、VIDおよびPIDが含まれている。したがって、S403の処理では、VID/PIDを含む情報を取り出すことができる。
スキャナデータ情報配列よりデータを取り出したら、続いて、スキャナドライバ部73Aは、VID/PIDに応じた送信先情報(アドレスなど)、コマンド情報、受信データのデコード情報を読み取る(S405)。これらの情報は、一部はスキャナデータ情報配列より取り出したデータに含まれており、また、残りの一部はスキャナドライバ部73Aが利用するためにあらかじめ用意されたデータの中に含まれている。また、この情報の一部は、対応スキャナの機能リストとして、システム本体部72に返される。前述した通り、システム本体部72は、この機能リストを基に図8に示すオプション設定用ダイアログ96を表示し、利用者に機能の動作パラメータ設定を行わせる。すなわち、利用者は機能リストが示す対応スキャナの機能に応じてシステム本体部72が図8の画面で設定可能と定めた範囲の動作パラメータを設定できることになる。これにより、対応スキャナが動作不可能なパラメータを設定するおそれはなくなる。また、利用者は図8の画面にて、対応スキャナがどんな機能を備えるのかを見てとることができる。そして、設定された内容をさらにスキャナドライバ部73Aに返す。
この際に、USB・ネットワークのいずれであっても、同一のVID/PIDを基に各種情報を取り出すため、同一のデータベースあるいはプログラムにより、この処理が行われる。
そして、制御対象スキャナがネットワークスキャナかUSBスキャナかを判定する(S407)。
USBスキャナであった場合は(S407:USB)、上記S405の処理において読み取られたコマンド情報(VID/PIDに対応したコマンド情報)および前記フロントエンド画面にて利用者が選択した機能に対応するスキャナ制御用コマンドを決定し、USB対応バスにスキャナ制御用のコマンドを送信する(S409)。このコマンドは、USBスキャナ側で受信され、その結果、USBスキャナは、読取対象物から画像を読み取るための処理を実行する。そして、この処理によって読み取られた画像データが、USBスキャナ側からスキャナドライバ部73Aへと送信されてくるので、スキャナドライバ部73Aは、USB対応バスから画像データを受信する(S411)。
一方、ネットワークスキャナであった場合は(S407:ネットワーク)、上記S405の処理において読み取られたコマンド情報(VID/PIDに対応したコマンド情報)に基づき、ネットワークの対応アドレス・対応ポートにスキャナ制御用のコマンドを送信する(S413)。このコマンドは、ネットワークスキャナ側で受信され、その結果、ネットワークスキャナは、読取対象物から画像を読み取るための処理を実行する。そして、この処理によって読み取られた画像データが、ネットワークスキャナ側からスキャナドライバ部73Aへと送信されてくるので、スキャナドライバ部73Aは、ネットワークの対応アドレス・対応ポートから画像データを受信する(S415)。
こうしてS411またはS415の処理によって画像データを受信したら、スキャナドライバ部73Aは、上記S405の処理において読み取られたエンコード情報(VID/PIDに対応したエンコード情報)に基づき、受信データをエンコード(データ加工)する(S417)。このS417の処理では、画像データが制御対象スキャナの機種に依存したデータ形式からシステム本体部72の仕様に合ったデータ形式に変換される。
そして、S417の処理を終えたら、S417の処理によって変換された画像データをシステム本体部72に渡して、図9に示した処理を終了する。
以上の処理の結果、システム本体部72側では、システム本体部72の仕様に合ったデータ形式に変換された画像データを受信するので、その画像データをアプリケーション部71A側へと伝送することになる。
[上記スキャナ制御システムによる効果]
以上説明したように、上記スキャナ制御処理を実行するシステム本体部72およびスキャナドライバ部73Aからなるスキャナ制御システム(本発明のスキャナ制御システムの一例に相当)によれば、LAN8経由の通信では、ネットワークスキャナ(複合機3)からVID/PIDを取得できないものの、ネットワークスキャナと通信を行うことなく、設定ファイル84からVID/PID(本発明でいう機種情報の一例に相当)を取得してシステム本体部72に渡すことができるので、システム本体部72では、USBスキャナおよびネットワークスキャナのいずれであっても、まったく同様に扱うことができるようになる。
この際に、USB・ネットワークのいずれであっても、同一のVID/PIDを元に各種情報を取り出すため、同一のデータベースあるいはプログラムにより、この処理を行うことができ、装置の簡略化が図れる。
その結果、例えば、アプリケーション部71Aがシステム本体部72およびスキャナドライバ部73Aを介してスキャナを利用する際には、USBスキャナ(本発明でいう第1の通信インターフェース介して接続されたスキャナの一例に相当)であればもちろんのこと、ネットワークスキャナ(本発明でいう第2の通信インターフェース介して接続されたスキャナの一例に相当)であっても利用できるので、アプリケーション部71A側では、通信インターフェースの規格の違いを何ら意識することなく、所望のスキャナを利用できるようになる。
また、S101〜S109の処理を実行するスキャナドライバ部73Aは、利用者が個々のスキャナに対して任意に付与したスキャナ名を含むリストを、システム本体部72へと提供する。したがって、システム本体部72がスキャナ名を表示できるようになり、例えば同型のスキャナが複数あるような場合であっても、利用者は所望のスキャナを選択しやすくなる。
また、S101〜S109の処理を実行するスキャナドライバ部73Aは、スキャナの機種名を含むリストを、システム本体部72へと提供するので、システム本体部72が機種名を表示できるようになり、利用者は所望の機能を備えた機種を選択しやすくなる。
また、S409またはS413の処理を実行するスキャナドライバ部73Aは、VID/PID(本発明でいう機種情報の一例に相当)に応じて決まるコマンドを制御対象スキャナへと送信することにより、制御対象スキャナを制御する。したがって、制御対象スキャナの機種が異なる場合でも、それに応じて最適なコマンドを制御対象スキャナに送信できる。
また、S417の処理を実行するスキャナドライバ部73Aは、S411またはS415の処理によって受信した画像データを、VID/PIDに応じて、制御対象スキャナの機種に依存したデータ形式から、システム本体部72の仕様に合ったデータ形式に変換してから、システム本体部72へと送信する。したがって、制御対象スキャナの機種によって、制御対象スキャナから送信されてくる画像データのデータ形式が異なる場合でも、そのような違いをシステム本体部72側では意識することなく、画像データを受け取ることができる。
また、機種記述ファイル82、および拡張機種記述ファイル83A,83Bは、同一の機種記述ファイル格納ディレクトリ81の中に格納されており、S301〜S309の処理を実行するスキャナドライバ部73Aは、S303の処理でスキャナありと判定した場合でも、VID/PIDが、機種記述ファイル82または拡張機種記述ファイル83A,83Bのいずれかに記憶された対応機種情報の中に含まれているVID/PIDである場合に、取得したスキャナ情報を有効なものとして扱う。したがって、機種記述ファイル82または拡張機種記述ファイル83A,83Bのいずれかに記憶された対応機種のみが、スキャナドライバ部73Aの処理対象となり、拡張機種記述ファイルを追加するだけで、簡単に対応機種の追加を行うことができる。また、拡張機種を削除する際には、追加された拡張機種記述ファイルを削除するのみでよい。その際、元のファイル(機種記述ファイル)は無修正で残っているので、拡張前の状態が保存されており、確実に元の状態に戻すことができる。また、複数回にわたり機種拡張が行われた場合にあっても、任意の回に拡張された機種のみを削除することもできる。
また特に、機種記述ファイル82および拡張機種記述ファイル83A,83Bは、それぞれがファイルとして構成されるとともに、それらのファイルが同一の機種記述ファイル格納ディレクトリ81に格納されている。したがって、機種記述ファイル82そのものの書き換えを行わなくても、拡張機種記述ファイル83A,83Bに相当するファイルを機種記述ファイル格納ディレクトリ81に追加するだけで、簡単に対応機種の追加を行うことができる。
[設定ツールの詳細]
次に、設定ツール74の詳細について説明する。
上述のスキャナ制御システムにおいて、設定ツール74が用意されているのは、次のような理由によるものである。
すなわち、上述のスキャナ制御システムにおいて、スキャナドライバ部73Aがネットワークスキャナを扱えるようにするためは、設定ファイル84にVID/PIDをあらかじめ登録しておく必要がある。しかし、VID/PIDは、利用者側から見るときわめて内部的な情報であり、ごく一般的な利用者にとっては、新たにネットワークスキャナとして利用したい複合機3があったとしても、その複合機3のVID/PIDを調べることは容易ではない。そのため、利用者が複合機3のVID/PIDを設定ファイル84内に直接記述するようなことはきわめて困難であるという問題がある。
設定ツール74は、この問題を解決するために提供されるツールであり、ネットワークスキャナ(本発明でいう第2のネットワークを介して通信可能なスキャナ)を識別するために必要なスキャナ情報の具体的な内容を利用者が知らない場合でも、ネットワークスキャナのスキャナ情報を設定ファイル84(本発明でいうスキャナ情報記憶手段の一例)に登録可能とすることを目的として提供されるものである。
より詳しくは、設定ツール74は、ネットワークスキャナに関する情報を設定ファイル84に追加登録する機能、設定ファイル84に登録された情報を変更する機能、設定ファイル84に登録された情報を削除する機能、設定ファイル84に登録されたネットワークスキャナを診断する機能、機種記述ファイル82、拡張機種記述ファイル83A,83B、設定ファイル84に登録された情報を表示する機能などを備えている。これらの機能の内、どの機能を利用するかは、設定ツール74を起動するときに利用者が操作部16から入力するコマンドラインの中に記述するパラメータによって指定される。
以下、設定ツール74が実行するツール処理について、図10〜図13のフローチャートに基づいて説明する。
ツール処理を開始すると、設定ツール74は、まずコマンドライン中で指定されたパラメータに基づいて、利用者からスキャナ情報追加が指令されたか否かを判断する(S501)。
S501の処理において、スキャナ情報追加指令であると判定された場合は(S501:YES)、スキャナ情報追加処理を実行する(S503)。このスキャナ情報追加処理は、詳しくは、図11に示すような処理になる。
スキャナ情報追加処理を開始すると、設定ツール74は、スキャナ名入力まで待機する(S601)。ここで入力されるスキャナ名は、利用者が任意に設定したわかりやすい名前とすればよい。スキャナ名が入力されたら、設定ツール74は、入力されたスキャナ名と設定ファイル84に登録済みのスキャナ名とを照合する(S603)。
S603の処理の結果、照合に失敗すれば(S605:NO)、入力されたスキャナ名が設定ファイル84に登録されていないことになるので、その場合は、機種名入力まで待機する(S607)。機種名が入力されたら、入力された機種名を機種情報記述ファイル群と照合する(S609)。
S609の処理の結果、照合に失敗した場合は(S611:NO)、入力された機種名がスキャナドライバ部73Aの対応機種ではないことを意味するので、S607の処理へと戻ることにより、利用者に機種名を再入力させる。なお、S607〜S611の処理を繰り返す中で、利用者が機種名を入力する代わりに、所定のキャンセル操作を行った場合、設定ツール74は直ちにすべての処理を終了する。ただし、このようなキャンセル処理はこの種のソフトウェアの多くが備えるごく一般的な処理に過ぎないので、フローチャート上での図示は省略する。
一方、S609の処理の結果、照合に成功した場合(S611:YES)、設定ツール74は、送信先情報(IPアドレスもしくはノード名)の入力まで待機する(S613)。そして、送信先情報が入力されたら、さらに機種情報記述ファイル群からVID/PIDを読み出して(S615)、スキャナ名、アドレス、VID/PIDを設定ファイル84に追加する(S617)。
S617の処理で設定ファイル84に追加されるVID/PIDは、S615の処理で読み出されたVID/PIDであり、このVID/PIDは、S607の処理で入力された機種名に対応するものである。したがって、利用者は、設定ファイルに追加したいネットワークスキャナが持っているVID/PIDを知らなくても、機種名さえ知っていれば、S607の処理において機種名を入力することにより、その機種を示すVID/PIDを設定ファイル84に登録することができる。
なお、以上が上記S603の処理の結果、照合に失敗した場合の処理となるが、照合に成功した場合は(S605:YES)、入力されたスキャナ名が既に設定ファイル84に登録されていることになるので、その場合は、同じスキャナ名での登録を避けるため、エラーを表示する(S619)。
こうしてS617またはS619の処理を終えたら、図11に示したスキャナ情報追加処理を終了することになり、その場合、図10に示したS503の処理を終了することになるので、その結果、図10に示したツール処理全体を終了することになる。
さて一方、S501の処理において、スキャナ情報追加指令ではないと判定された場合(S501:NO)、設定ツール74は、コマンドライン中で指定されたパラメータに基づいて、利用者からスキャナ情報変更が指令されたか否かを判断する(S505)。
S505の処理において、スキャナ情報変更指令であると判定された場合は(S505:YES)、スキャナ情報変更処理を実行する(S507)。このスキャナ情報変更処理は、詳しくは、図12に示すような処理になる。
スキャナ情報変更処理を開始すると、設定ツール74は、スキャナ名入力まで待機する(S701)。ここで入力されるスキャナ名は、上記S601の処理において入力され、S617の処理により既に登録された名前である。スキャナ名が入力されたら、設定ツール74は、入力されたスキャナ名と設定ファイル84に登録済みのスキャナ名とを照合する(S703)。
S703の処理の結果、照合に成功すれば(S705:YES)、入力されたスキャナ名が設定ファイル84に登録されていることになるので、その場合、設定ツール74は、送信先情報(IPアドレスもしくはノード名)の入力まで待機する(S707)。そして、送信先情報が入力されたら、対応スキャナ情報の設定ファイル84のアドレス項を変更する(S709)。S709の処理において、対応スキャナ情報は、S701の処理で入力されたスキャナ名を含むスキャナ情報のことであり、その中に含まれるアドレス項には、変更前のIPアドレスもしくはノード名が格納されている。S709の処理では、そのアドレス項に格納された情報を、S707の処理で入力された送信先情報に書き換える。
なお、S703の処理の結果、照合に失敗した場合は(S705:NO)、入力されたスキャナ名が設定ファイル84に登録されていないことになり、変更対象となる情報が存在しないので、エラーを表示する(S711)。
こうしてS709またはS711の処理を終えたら、図12に示したスキャナ情報変更処理を終了することになり、その場合、図10に示したS507の処理を終了することになるので、その結果、図10に示したツール処理全体を終了することになる。
さて一方、S505の処理において、スキャナ情報変更指令ではないと判定された場合(S505:NO)、設定ツール74は、コマンドライン中で指定されたパラメータに基づいて、利用者からスキャナ情報削除が指令されたか否かを判断する(S509)。
S509の処理において、スキャナ情報削除指令であると判定された場合は(S509:YES)、スキャナ情報削除処理を実行する(S511)。このスキャナ情報削除処理は、詳しくは、図13に示すような処理になる。
スキャナ情報削除処理を開始すると、設定ツール74は、スキャナ名入力まで待機する(S801)。ここで入力されるスキャナ名は、上記S601の処理において入力され、S617の処理により既に登録された名前である。スキャナ名が入力されたら、設定ツール74は、入力されたスキャナ名と設定ファイル84に登録済みのスキャナ名とを照合する(S803)。
S803の処理の結果、照合に成功すれば(S805:YES)、入力されたスキャナ名が設定ファイル84に登録されていることになるので、その場合、設定ツール74は、対応スキャナ情報を設定ファイル84より削除する(S809)。S809の処理において、対応スキャナ情報は、S801の処理で入力されたスキャナ名を含むスキャナ情報のことである。
なお、S803の処理の結果、照合に失敗した場合は(S805:NO)、入力されたスキャナ名が設定ファイル84に登録されていないことになり、削除対象となる情報が存在しないので、エラーを表示する(S809)。
こうしてS807またはS809の処理を終えたら、図13に示したスキャナ情報変更処理を終了することになり、その場合、図10に示したS511の処理を終了することになるので、その結果、図10に示したツール処理全体を終了することになる。
さて一方、S509の処理において、スキャナ情報削除指令ではないと判定された場合(S509:NO)、設定ツール74は、コマンドライン中で指定されたパラメータに基づいて、利用者から診断が指令されたか否かを判断する(S513)。
S513の処理において、診断指令であると判定された場合(S513:YES)、設定ツール74は、設定ファイル84から1台分のスキャナ情報を取り出す(S515)。そして、まだ全スキャナについての処理を終了していなかった場合は(S517:NO)、S515の処理で取り出したスキャナ情報が示すネットワークスキャナを対象に、応答要求を送信するとともに、その要求に対する応答が返るまで10秒間待機する(S519)。
より具体的には、本実施形態の場合、S519の処理では、タイムアウト値10秒にてPing(ICMP(Internet Control Message Protocol)エコーパケットの送信処理)を行う。このS519の処理によるパケット送信先となったスキャナは、ICMPエコーパケットを正常に受信した場合、ICMPエコーリプライパケットを返すので、このパケットをPC1側で受信することができる。一方、何らかの原因(例えば、ネットワークの障害、スキャナの電源断等)でパケットがスキャナに届かない場合、ICMPエコーリプライパケットは返されないので、PC1側ではパケット送信から10秒後にタイムアウトが発生する。したがって、パケット送信後にリプライパケットを受信したかタイムアウトとなったかにより、送信先となったスキャナとの間で正常なデータの送受信ができるかどうかを診断することができる。
そして、S519の処理を終えたらS515の処理へと戻ることにより、設定ファイル84に登録された全スキャナについての処理を終了するまでS515〜S519の処理を繰り返し、全スキャナについて応答があるか否かが診断されることになる。なお、繰り返し処理の結果、全スキャナについての処理を終了したら、図10に示したツール処理全体を終了する。
さて一方、S513の処理において、診断指令ではないと判定された場合(S509:NO)、設定ツール74は、コマンドライン中で指定されたパラメータに基づいて、利用者から情報表示が指令されたか否かを判断する(S521)。
S521の処理において、情報表示指令であると判定された場合(S521:YES)、設定ツール74は、機種記述ファイル群(機種記述ファイル82、および拡張機種記述ファイル83A,83B)の内容を表示する(S523)。そして、さらに設定ファイル84の内容を表示して(S525)、図10に示したツール処理全体を終了する。
なお、S521の処理において、情報表示指令ではないと判定された場合(S521:NO)、さらに、その他の処理が実行されることになるが、本発明の要部には関連しないので、詳細な説明については省略する。
[上記ツール処理による効果]
以上説明したように、上記設定ツール74によれば、利用者は、S601,S607,S613の各処理により、スキャナの機種名、スキャナのノード名かIPアドレス、および利用者が任意に付与したスキャナ名を入力するだけで、S615の処理により、機種情報記述ファイル群(機種記述ファイル82、および拡張機種記述ファイル83A,83B)からVID/PIDを読み出して、S617の処理により、スキャナ名、アドレス、VID/PIDを設定ファイル84に追加することができる。
したがって、この設定ツール74を利用すれば、ネットワークスキャナを識別するために必要なスキャナ情報(VID/PIDを含む情報)の具体的な内容を利用者が知らない場合でも、ネットワークスキャナのスキャナ情報を設定ファイル84に登録できるようになる。
また、拡張機種情報記述ファイルを含む機種情報記述ファイル群から、情報を取り出しているために、拡張機種情報記述ファイルを追加するのみで、対応機種を追加することになる。すなわち、この拡張機種情報記述ファイルは、スキャナドライバの機種拡張を行うと同時に、この設定ツール74の機種拡張をも行うことになる。つまり、スキャナドライバの機種拡張を行えば、他に利用者の手を煩わせることなく自動的に設定ツール74の機種拡張もできるのである。
また、上記設定ツール74においては、S607〜S611の処理により、入力された機種名を機種情報記述ファイル群と照合することにより、スキャナドライバ部73Aに対応していない機種名が入力されても、そのような機種名を受け付けないようにしている。したがって、例えば、仮にスキャナドライバ部73Aでは制御不能な機種名や、不正な機種名が入力されたとしても、そのような機種名が設定ファイル84に登録されてしまうのを未然に防ぐことができる。
[変形例等]
以上、本発明の実施形態について説明したが、本発明は上記の具体的な一実施形態に限定されず、この他にも種々の形態で実施することができる。
例えば、上記実施形態では、スキャナの機種を識別するために必要な情報として、VIDとPIDを利用する例を示したが、これらVIDおよびPIDは、特定の製造者から提供されるスキャナであることが保証されるような環境であれば、単にPIDのみを利用してスキャナの機種を識別するようにしてもよい。
また、上記実施形態では、USB I/F18、LAN I/F19の双方を備えた複合機3を、USBスキャナとしてもネットワークスキャナとしても利用する例を示したが、USBスキャナとして利用されるスキャナ系デバイスは、必ずしもLAN I/F19を備えている必要はない。また、ネットワークキャナとして利用されるスキャナ系デバイスは、必ずしもUSB I/F18を備えている必要はない。なお、USB I/F18を備えていないネットワークキャナの場合、USBで利用することを前提としたVIDやPIDは備えていない可能性がある。ただし、この場合でも、スキャナドライバ部73A側で機種を認識するために必要なVID/PID相当の情報が設定ファイル84に格納されていれば、VID/PIDを備えていないスキャナ系デバイスを、VID/PIDを取得可能なスキャナ系デバイスと同等に扱うことができる。
また、上記実施形態において、システム本体部72は、UNIX(登録商標)系のOSをプラットフォームとする情報処理装置上でSANEを構成するために提供されるプログラムを利用して構成されていたが、SANEの場合と同等な機能を有するシステム本体部を用意すれば、本発明のスキャナ制御システムをUNIX(登録商標)系以外のOSをプラットフォームとする情報処理装置上で機能させることもできる。
さらに、上記実施形態では、S607、S609の処理において、利用者に機種名を入力させ、それを機種情報記述ファイル、拡張機種情報記述ファイルの内容と照合するように構成したが、予め機種情報記述ファイルおよび拡張機種情報記述ファイルの内容を基に対応機種のリストを作成して、その内容をプルダウンメニューなどで表示し、その中より利用者に機種名を選ばせる構成としてもよい。
PCと複合機の概略構成を示すブロック図。 PCが備えるソフトウェアおよびデータの構成を示すブロック図。 (a)は機種記述ファイルおよび拡張機種記述ファイル内に記述される情報の具体例を示す説明図、(b)は設定ファイル内に記述される情報の具体例を示す説明図。 スキャナリスト提供処理のフローチャート。 機種記述データ配列作成処理のフローチャート。 スキャナデータ情報配列作成処理のフローチャート。 デバイス選択ダイアログを示す説明図。 オプション設定用ダイアログを示す説明図。 スキャナ制御およびデータ伝送処理のフローチャート。 ツール処理のフローチャート。 スキャナ情報追加処理のフローチャート。 スキャナ情報変更処理のフローチャート。 スキャナ情報削除処理のフローチャート。
1・・・パーソナルコンピュータ(PC)、3・・・複合機、7・・・通信ケーブル、8・・・LAN、11,31・・・CPU、12,32・・・ROM、13,33・・・RAM、15,35・・・ハードディスク装置、16,36・・・操作部、17,37・・・表示部、18・・・USBインターフェース(USB I/F)、19・・・LANインターフェース(LAN I/F)、34・・・不揮発性RAM、41・・・印刷部、42・・・読取部、43・・・モデム、71A,71B・・・アプリケーション部、72・・・システム本体部、72A・・・フロントエンド部、73A,73B・・・スキャナドライバ部、74・・・設定ツール、81・・・機種記述ファイル格納ディレクトリ、82・・・機種記述ファイル、83A,83B・・・拡張機種記述ファイル、84・・・設定ファイル。

Claims (7)

  1. USB規格に沿った手順でスキャナと通信するための第1の通信インターフェースと、USB規格とは異なる通信規格に沿った手順でスキャナと通信するための第2の通信インターフェースと、記憶手段と、表示部とを備えた情報処理装置上で機能するスキャナ制御システムであって、
    前記情報処理装置上では、
    前記第1の通信インターフェースまたは前記第2の通信インターフェースを介してスキャナを制御するスキャナドライバ部と、
    スキャナを利用する旨の操作を利用者から受けたアプリケーション部から指令を受けると、前記スキャナドライバ部に対し、そのスキャナドライバ部が対応するスキャナに関する表示用情報を格納したスキャナデータ情報を要求し、その要求に応じて前記スキャナドライバ部から提供されるスキャナデータ情報を取得すると、そのスキャナデータ情報に基づいて、スキャナデータ情報に含まれる表示用情報を前記表示部に表示し、その表示に基づいて、一のスキャナを制御対象スキャナとする指令をユーザから受け付けると、指令された制御対象スキャナを示す制御対象情報をスキャナドライバ部に指定するシステム本体部と
    が機能するように構成されており、
    前記記憶手段には、あらかじめ、
    スキャナに関する情報として、前記USB規格で定められた情報であって前記第1の通信インターフェースを介して接続しているスキャナからは前記第1の通信インターフェースを介して取得することが可能であるものの前記第2の通信インターフェースを介して接続しているスキャナからは前記第2の通信インターフェースを介して取得することが不能な情報であるデバイスの種類を判別する機種情報とユーザインターフェースに表示するための表示用情報とを対応付けて格納した記述ファイルと、
    情報処理装置と第2の通信インターフェースを介して接続可能なスキャナに関する情報として、そのスキャナの前記機種情報を格納した設定ファイルと、
    が記憶されており、
    前記スキャナドライバ部は、
    前記システム本体部からの要求に応じて、前記情報処理装置と前記第1の通信インターフェースを介して接続しているスキャナが送信した、そのスキャナの前記機種情報を前記第1の通信インターフェースを介して受信する受信手段と、
    前記システム本体部からの前記要求に応じて、前記記憶手段が記憶している前記設定ファイルが格納する、前記第2の通信インターフェースを介して接続しているスキャナの前記機種情報を取得する設定ファイル情報取得手段と、
    前記システム本体部からの前記要求に応じて前記受信手段が前記第1の通信インターフェースを介して接続しているスキャナの前記機種情報を受信すると、その前記機種情報に対応する表示用情報を前記記述ファイルから取得し、前記システム本体部からの前記要求に応じて前記設定ファイル情報取得手段が前記第2の通信インターフェースを介して接続しているスキャナの前記機種情報を取得すると、その前記機種情報に対応する表示用情報前記記述ファイルから取得する手段であって、前記受信手段が受信した前記第1の通信インターフェースを介して接続しているスキャナの前記機種情報に対応する表示用情報と、前記設定ファイル情報取得手段が取得した前記第2の通信インターフェースを介して接続しているスキャナの前記機種情報に対応する表示用情報との双方を取得すると、取得した双方の表示用情報を含んだ前記スキャナデータ情報を作成するスキャナデータ情報作成手段と、
    記スキャナデータ情報作成手段が前記双方の表示用情報を含んだ前記スキャナデータ情報を作成すると、そのスキャナデータ情報を前記システム本体部に提供するスキャナデータ情報提供手段と、
    前記スキャナデータ情報提供手段が前記スキャナデータ情報を提供した前記システム本体部から前記制御対象情報を指定されると、当該制御対象情報に応じて、その制御対象情報に対応する機種情報を特定するとともに、前記制御対象情報が示す制御対象スキャナが前記第1の通信インターフェースまたは前記第2の通信インターフェースのいずれを介して通信可能かを判定し、前記第1の通信インターフェースを介して通信可能と判定された場合は、前記機種情報に対応して特定したコマンドを前記第1の通信インターフェースを介して前記制御対象スキャナへ送信する一方、前記第2の通信インターフェースを介して通信可能と判定された場合は、前記機種情報に対応して特定したコマンドを前記第2の通信インターフェースを介して前記制御対象スキャナへ送信するスキャン指令送信手段とを備える
    ことを特徴とするスキャナ制御システム。
  2. 前記スキャナデータ情報作成手段は、利用者が個々のスキャナに対して任意に付与するスキャナ名を含む前記スキャナデータ情報を作成する
    ことを特徴とする請求項1に記載のスキャナ制御システム。
  3. 前記スキャナデータ情報作成手段は、スキャナの機種名を含む前記スキャナデータ情報を作成する
    ことを特徴とする請求項1または請求項2に記載のスキャナ制御システム。
  4. 前記制御対象スキャナから送信されてくる画像データを、前記機種情報に応じて、前記制御対象スキャナの機種に依存したデータ形式から、前記システム本体部の仕様に合ったデータ形式に変換するデータ形式変換手段
    を備えたことを特徴とする請求項1〜請求項のいずれかに記載のスキャナ制御システム。
  5. 前記記憶手段には、前記記述ファイルとして、
    前記スキャナドライバ部が制御可能なスキャナの機種を示す対応機種情報が格納された機種記述ファイルと、
    前記スキャナドライバ部が制御可能且つ前記機種記述ファイルには前記対応機種情報が格納されていないスキャナについて、当該スキャナの機種を示す情報であり且つ前記対応機種情報とは独立に追加および削除可能な情報である拡張対応機種情報が格納された拡張機種記述ファイルと
    が記憶されており、
    前記受信手段は、前記第1の通信インターフェースを介して送信されてくる機種情報が、前記対応機種情報または前記拡張対応機種情報のいずれかとして記憶されている場合に、前記送信されてくる機種情報を受信対象とする
    ことを特徴とする請求項1〜請求項のいずれかに記載のスキャナ制御システム。
  6. 新たな前記記述ファイルをファイル単位で追加することにより、前記機種対応情報または前記拡張対応機種情報を追加可能、且つ前記記述ファイルをファイル単位で削除することにより、前記機種対応情報または前記拡張対応機種情報を削除可能に構成されている
    ことを特徴とする請求項に記載のスキャナ制御システム。
  7. USB規格に沿った手順でスキャナと通信するための第1の通信インターフェースと、USB規格とは異なる通信規格に沿った手順でスキャナと通信するための第2の通信インターフェースと、記憶手段と、表示部とを備えた情報処理装置上で機能するスキャナ制御システムの一部を構成するために利用されるプログラムであり、前記情報処理装置上では、前記第1の通信インターフェースまたは前記第2の通信インターフェースを介してスキャナを制御するスキャナドライバ部と、スキャナを利用する旨の操作を利用者から受けたアプリケーション部から指令を受けると、前記スキャナドライバ部に対し、そのスキャナドライバ部が対応するスキャナに関する表示用情報を格納したスキャナデータ情報を要求し、その要求に応じて前記スキャナドライバ部から提供されるスキャナデータ情報を取得すると、そのスキャナデータ情報に基づいて、スキャナデータ情報に含まれる表示用情報を前記表示部に表示し、その表示に基づいて、一のスキャナを制御対象スキャナとする指令をユーザから受け付けると、指令された制御対象スキャナを示す制御対象情報をスキャナドライバ部に指定するシステム本体部とが機能するように構成され、且つ、前記記憶手段には、あらかじめ、スキャナに関する情報として、前記USB規格で定められた情報であって前記第1の通信インターフェースを介して接続しているスキャナからは前記第1の通信インターフェースを介して取得することが可能であるものの前記第2の通信インターフェースを介して接続しているスキャナからは前記第2の通信インターフェースを介して取得することが不能な情報であるデバイスの種類を判別する機種情報とユーザインターフェースに表示するための表示用情報とを対応付けて格納した記述ファイルと、情報処理装置と第2の通信インターフェースを介して接続可能なスキャナに関する情報として、そのスキャナの前記機種情報を格納した設定ファイルとが記憶されている前記スキャナ制御システムにおいて、前記情報処理装置を前記スキャナドライバ部として機能させるためのプログラムであって、
    前記情報処理装置を、
    前記システム本体部からの要求に応じて、前記情報処理装置と前記第1の通信インターフェースを介して接続しているスキャナが送信した、そのスキャナの前記機種情報を前記第1の通信インターフェースを介して受信する受信手段と、
    前記システム本体部からの前記要求に応じて、前記記憶手段が記憶している前記設定ファイルが格納する、前記第2の通信インターフェースを介して接続しているスキャナの前記機種情報を取得する設定ファイル情報取得手段と、
    前記システム本体部からの前記要求に応じて前記受信手段が前記第1の通信インターフェースを介して接続しているスキャナの前記機種情報を受信すると、その前記機種情報に対応する表示用情報を前記記述ファイルから取得し、前記システム本体部からの前記要求に応じて前記設定ファイル情報取得手段が前記第2の通信インターフェースを介して接続しているスキャナの前記機種情報を取得すると、その前記機種情報に対応する表示用情報前記記述ファイルから取得する手段であって、前記受信手段が受信した前記第1の通信インターフェースを介して接続しているスキャナの前記機種情報に対応する表示用情報と、前記設定ファイル情報取得手段が取得した前記第2の通信インターフェースを介して接続しているスキャナの前記機種情報に対応する表示用情報との双方を取得すると、取得した双方の表示用情報を含んだ前記スキャナデータ情報を作成するスキャナデータ情報作成手段と、
    記スキャナデータ情報作成手段が前記双方の表示用情報を含んだ前記スキャナデータ情報を作成すると、そのスキャナデータ情報を前記システム本体部に提供するスキャナデータ情報提供手段と、
    前記スキャナデータ情報提供手段が前記スキャナデータ情報を提供した前記システム本体部から前記制御対象情報を指定されると、当該制御対象情報に応じて、その制御対象情報に対応する機種情報を特定するとともに、前記制御対象情報が示す制御対象スキャナが前記第1の通信インターフェースまたは前記第2の通信インターフェースのいずれを介して通信可能かを判定し、前記第1の通信インターフェースを介して通信可能と判定された場合は、前記機種情報に対応して特定したコマンドを前記第1の通信インターフェースを介して前記制御対象スキャナへ送信する一方、前記第2の通信インターフェースを介して通信可能と判定された場合は、前記機種情報に対応して特定したコマンドを前記第2の通信インターフェースを介して前記制御対象スキャナへ送信するスキャン指令送信手段
    として機能させることを特徴とするスキャナドライバプログラム。
JP2006067902A 2006-03-13 2006-03-13 スキャナ制御システム、およびスキャナドライバプログラム Expired - Fee Related JP4760460B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006067902A JP4760460B2 (ja) 2006-03-13 2006-03-13 スキャナ制御システム、およびスキャナドライバプログラム
US11/685,430 US8427669B2 (en) 2006-03-13 2007-03-13 Scanner control system and scanner driver program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006067902A JP4760460B2 (ja) 2006-03-13 2006-03-13 スキャナ制御システム、およびスキャナドライバプログラム

Publications (2)

Publication Number Publication Date
JP2007251252A JP2007251252A (ja) 2007-09-27
JP4760460B2 true JP4760460B2 (ja) 2011-08-31

Family

ID=38478614

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006067902A Expired - Fee Related JP4760460B2 (ja) 2006-03-13 2006-03-13 スキャナ制御システム、およびスキャナドライバプログラム

Country Status (2)

Country Link
US (1) US8427669B2 (ja)
JP (1) JP4760460B2 (ja)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8023136B2 (en) * 2003-05-30 2011-09-20 Dugas Patrick J Universal scan to store system and method of using the same
KR100584587B1 (ko) * 2003-12-03 2006-05-30 삼성전자주식회사 네트워크 스캐너 및 네트워크 스캔 시스템 구성 및 유지방법
US8215556B2 (en) * 2004-06-28 2012-07-10 Konica Minolta Laboratory U.S.A., Inc. Color barcode producing, reading and/or reproducing method and apparatus
US7533817B2 (en) * 2004-08-09 2009-05-19 Konica Minolta Systems Laboratory, Inc. Color barcode producing method and apparatus, color barcode reading method and apparatus and color barcode reproducing method and apparatus
US7669769B2 (en) 2005-03-28 2010-03-02 Konica Minolta Systems Laboratory, Inc. Systems and methods for preserving and maintaining document integrity
US7628330B2 (en) * 2006-09-29 2009-12-08 Konica Minolta Systems Laboratory, Inc. Barcode and decreased-resolution reproduction of a document image
US7766241B2 (en) * 2006-09-29 2010-08-03 Konica Minolta Systems Laboratory, Inc. Barcode for two-way verification of a document
JP4876837B2 (ja) * 2006-10-12 2012-02-15 富士ゼロックス株式会社 スキャナドライバ、及びスキャナドライバ連携装置
JP4843532B2 (ja) * 2007-03-14 2011-12-21 株式会社リコー 表示処理装置、表示処理方法、および表示処理プログラム
US20080229210A1 (en) * 2007-03-14 2008-09-18 Akiko Bamba Display processing system
US9805222B2 (en) * 2009-01-08 2017-10-31 Zest Labs, Inc. RFID reader discipline
KR101556220B1 (ko) * 2009-06-12 2015-09-30 삼성전자주식회사 호스트 장치 및 그의 제어 방법 그리고 이에 제어되는 화상독취장치
KR101487877B1 (ko) * 2009-07-31 2015-01-30 삼성전자주식회사 호스트 장치 및 그의 드라이버 관리 방법
US8456715B2 (en) * 2009-08-19 2013-06-04 Canon Denshi Kabushiki Kaisha Information reading system for reading information on document
JP5533760B2 (ja) * 2011-03-30 2014-06-25 ブラザー工業株式会社 画像読取装置
JP5230827B1 (ja) * 2012-01-25 2013-07-10 キヤノン株式会社 情報処理装置、その方法、及びプログラム
JP2014017562A (ja) * 2012-07-05 2014-01-30 Brother Ind Ltd 制御装置、および、プログラム
JP6155607B2 (ja) * 2012-11-19 2017-07-05 ブラザー工業株式会社 通信中継プログラム、及び、通信中継装置
JP5782055B2 (ja) * 2013-01-31 2015-09-24 京セラドキュメントソリューションズ株式会社 画像形成装置
JP6090187B2 (ja) * 2014-01-31 2017-03-08 ブラザー工業株式会社 電子機器およびプログラム
CN105095118B (zh) * 2014-05-19 2019-08-30 小米科技有限责任公司 设备的使用方法及装置
CN105653475B (zh) * 2014-12-03 2018-07-24 北京握奇智能科技有限公司 一种usb设备的识别方法及系统
JP6638300B2 (ja) * 2015-10-08 2020-01-29 株式会社リコー 機器、情報処理方法、及びプログラム
JP6296185B2 (ja) * 2017-02-08 2018-03-20 ブラザー工業株式会社 情報処理装置及びネットワークシステム
JP6868507B2 (ja) * 2017-08-28 2021-05-12 シャープ株式会社 画像処理システム
CN110197060A (zh) * 2019-04-12 2019-09-03 厦门天锐科技股份有限公司 一种批量制作u盘系统的方法
JP2021136569A (ja) * 2020-02-27 2021-09-13 ブラザー工業株式会社 プログラムおよびスキャンシステム
CN114785678B (zh) * 2022-03-31 2023-06-06 统信软件技术有限公司 一种扫描仪使用方法、计算设备及存储介质

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5764866A (en) * 1995-05-26 1998-06-09 Ricoh Company, Ltd. Scanner, network scanner system, and method for network scanner system
US7545525B2 (en) * 1997-05-21 2009-06-09 Minolta Co., Ltd. Input-output apparatus selecting method for network system
US7002702B1 (en) * 1999-04-09 2006-02-21 Canon Kabushiki Kaisha Data processing apparatus and data processing method for controlling plural peripheral devices to provide function
US6782426B1 (en) * 1999-04-09 2004-08-24 Canon Kabushiki Kaisha Shared device control method and server-client system
US7593983B2 (en) * 1999-04-30 2009-09-22 Canon Kabushiki Kaisha Data processing apparatus, data processing method, and storage medium storing computer-readable program
US6718378B1 (en) * 1999-04-30 2004-04-06 Canon Kabushiki Kaisha Device management information processing apparatus method and storage medium
US6789111B1 (en) * 1999-12-09 2004-09-07 Microsoft Corporation Automatic detection and installation of client peripheral devices by a server
KR100729758B1 (ko) * 2000-10-02 2007-06-20 삼성전자주식회사 인터넷을 기반으로 한 네트워크 시스템에서의 서비스제공방법
US7012706B1 (en) * 2000-10-10 2006-03-14 Nexpress Digital Llc System and method for interfacing with multiple production scanners
JP2003174537A (ja) * 2001-12-06 2003-06-20 Canon Inc 画像読み取りシステム
JP2003219089A (ja) * 2002-01-23 2003-07-31 Seiko Epson Corp 電子機器の制御装置
JP2003244377A (ja) * 2002-02-20 2003-08-29 Canon Inc スキャナサーバおよびその制御方法、ならびにプログラム
JP3811085B2 (ja) * 2002-03-18 2006-08-16 株式会社Pfu スキャナシステム
US7334219B2 (en) * 2002-09-30 2008-02-19 Ensco, Inc. Method and system for object level software testing
JP2004201133A (ja) * 2002-12-19 2004-07-15 Canon Inc スキャナドライバ
GB2400928A (en) * 2003-04-22 2004-10-27 Sharp Kk Distributed periperal device control system
US7420698B2 (en) * 2003-07-16 2008-09-02 Sharp Laboratories Of America, Inc. Systems and methods for providing computer based printing, scanning and faxing
US7515315B2 (en) * 2003-10-14 2009-04-07 Sharp Laboratories Of America, Inc. Scan description language
JP2005175551A (ja) * 2003-12-05 2005-06-30 Ricoh Co Ltd 画像読み取り装置および画像読み取り方法
JP3906838B2 (ja) * 2003-12-11 2007-04-18 村田機械株式会社 Usb対応型デジタル複合機
JP3922253B2 (ja) 2003-12-18 2007-05-30 村田機械株式会社 Usb対応型複写複合機、及びusb対応型複写複合機制御システム
US20050286080A1 (en) * 2004-06-29 2005-12-29 Samsung Electronics Co., Ltd. Apparatus and method of transmitting document
JP2007174444A (ja) * 2005-12-23 2007-07-05 Brother Ind Ltd ネットワークスキャナ及びネットワークスキャナシステム
US8085417B2 (en) * 2006-03-14 2011-12-27 Seiko Epson Corporation Multifunction peripheral unit that executes a selected processing function using two selected devices

Also Published As

Publication number Publication date
JP2007251252A (ja) 2007-09-27
US8427669B2 (en) 2013-04-23
US20070211310A1 (en) 2007-09-13

Similar Documents

Publication Publication Date Title
JP4760460B2 (ja) スキャナ制御システム、およびスキャナドライバプログラム
JP7022558B2 (ja) 印刷システム、印刷装置と情報処理装置とその制御方法、及びプログラム
US8576416B2 (en) Image processing apparatus and control method thereof and storage medium that changes UI setting data to setting for substitutional execution of function by another apparatus
JP7355147B2 (ja) アプリケーションプログラム
JP2008015794A (ja) プログラム管理装置及びプログラム管理システム、ならびにプログラム提供方法
JP2007299225A (ja) 印刷制御装置及びその制御方法及びコンピュータプログラム
US8045239B2 (en) External device configuration apparatus, external device configuration method and external device
KR20110069709A (ko) 정보 처리 장치 및 방법
JP3950575B2 (ja) データ処理装置およびデータ処理方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体
JP6031275B2 (ja) 画像処理装置及びその制御方法とプログラム
JP2009188940A (ja) 画像処理装置、画像処理方法、及び画像処理システム
JP5472086B2 (ja) デバイス、端末装置、サーバ、プログラム、及びファームウェアの更新方法
JP2006289690A (ja) 画像形成装置および画像形成システム
US20030195926A1 (en) Image forming system
JP7118714B2 (ja) 画像形成装置、および、該画像形成装置の制御方法、制御プログラム
JP2019179311A (ja) アプリケーションプログラム
JP7195401B2 (ja) 印刷装置とその制御方法、及びプログラム
JP2004086692A (ja) 画像形成システム
JP3880434B2 (ja) ジョブ管理システム、ジョブ管理装置、データ処理装置、ジョブ管理方法、データ処理方法、及び制御プログラム
JP2007122161A (ja) 情報処理装置、設定変更方法、及び設定変更プログラム
JP2017013313A (ja) 画像形成装置、画像形成システム、その制御方法及びプログラム
JP4715312B2 (ja) 画像形成装置,画像形成システム及びファイル管理プログラム並びに該プログラムを記録した記録媒体
US8054477B2 (en) Image reading apparatus and control method for image forming apparatus for reducing operator wait time
JP6561532B2 (ja) 画像形成システム、画像形成装置およびプログラム
JP2011029951A (ja) 画像処理装置および画像データ記憶方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080325

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100301

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100316

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100514

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101012

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101213

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110510

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110523

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140617

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4760460

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees