[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP6758995B2 - 画像処理装置及びその制御方法、並びにプログラム - Google Patents

画像処理装置及びその制御方法、並びにプログラム Download PDF

Info

Publication number
JP6758995B2
JP6758995B2 JP2016159136A JP2016159136A JP6758995B2 JP 6758995 B2 JP6758995 B2 JP 6758995B2 JP 2016159136 A JP2016159136 A JP 2016159136A JP 2016159136 A JP2016159136 A JP 2016159136A JP 6758995 B2 JP6758995 B2 JP 6758995B2
Authority
JP
Japan
Prior art keywords
image processing
usb
operating system
control
setting
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.)
Active
Application number
JP2016159136A
Other languages
English (en)
Other versions
JP2018029223A (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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2016159136A priority Critical patent/JP6758995B2/ja
Priority to US15/665,773 priority patent/US10963197B2/en
Publication of JP2018029223A publication Critical patent/JP2018029223A/ja
Application granted granted Critical
Publication of JP6758995B2 publication Critical patent/JP6758995B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1224Client or server resources management
    • G06F3/1225Software update, e.g. print driver, modules, plug-ins, fonts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • G06F13/4295Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using an embedded synchronisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1284Local printer device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • G06F9/4413Plug-and-play [PnP]
    • 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/00002Diagnosis, testing or measuring; Detecting, analysing or monitoring not otherwise provided for
    • H04N1/00071Diagnosis, testing or measuring; Detecting, analysing or monitoring not otherwise provided for characterised by the action taken
    • H04N1/00074Indicating or reporting
    • 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/00002Diagnosis, testing or measuring; Detecting, analysing or monitoring not otherwise provided for
    • H04N1/00071Diagnosis, testing or measuring; Detecting, analysing or monitoring not otherwise provided for characterised by the action taken
    • H04N1/00082Adjusting or controlling
    • H04N1/00087Setting or calibrating
    • 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/00912Arrangements for controlling a still picture apparatus or components thereof not otherwise provided for
    • H04N1/00938Software related arrangements, e.g. loading applications
    • H04N1/00941Interaction of different applications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0042Universal serial bus [USB]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Facsimiles In General (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Description

本発明は、画像処理装置及びその制御方法、並びにプログラムに関する。
コピー、スキャン、及びFAX通信等の標準機能を実現する画像処理装置としてのMFPが知られている。MFPは、タッチパネルや操作キー等の操作部を備え、ユーザの操作部の操作によって各標準機能に対応するジョブの実行指示等を受け付ける。MFPには、OS(Operating System)モジュールが予め組み込まれており、USBメモリやUSBキーボード等のUSBデバイスが接続されると、MFPは接続されたUSBデバイスをOSモジュールによって制御して該USBデバイスをMFPの一部として使用する。また、MFPは、拡張アプリケーションモジュール(以下、単に「拡張アプリ」という。)をインストールしてMFPの標準機能では実現できない機能を拡張可能であり、拡張アプリもMFPに接続されたUSBデバイスを制御する。拡張アプリは汎用性を確保するように設計され、複数のMFPの機種や複数のUSBデバイスの機種に対応している。
MFPでは、一つのUSBデバイスに対してOSモジュール及び拡張アプリの両方が制御を行うと、該USBデバイスが誤動作を引き起こしてしまう。これに対して、MFPが拡張アプリのインストール時に該拡張アプリから拡張アプリが制御可能なUSBデバイスを識別する識別情報を取得し、接続されたUSBデバイスをOSモジュール及び拡張アプリの何れで制御するかを識別情報に基づいて決定する技術が提案されている(例えば、特許文献1参照)。識別情報は、USBデバイスの機種に対する拡張アプリの汎用性を確保するために、例えば、USBデバイスの単体を識別する情報ではなく、USBデバイスの種別を識別する情報が設定される。
ところで、MFPでは、コスト削減の観点で操作部のうち操作キー部をUSBデバイスとして外付けするといった新たな構成が検討されている。新たな構成のMFPでは、従来と異なり、操作キー部も拡張アプリの制御対象に含まれ、この拡張アプリをそのまま新たな構成のMFPにインストールすると、操作キー部が誤動作を引き起こす可能性がある。操作キー部の誤動作を防止するために、例えば、操作キー部を含むUSBデバイスの種別(以下、「操作デバイス種別」という。)の設定を識別情報から削除することが考えられる。
特開2010−165128号公報
しかしながら、操作デバイス種別の設定を識別情報から削除すると、拡張アプリにおいて、操作キー部以外の操作デバイス種別に対応する他のUSBデバイスの使用も制限され、USBデバイスに対する拡張アプリの汎用性を確保することができない。また、USBデバイスに対する拡張アプリの汎用性を考慮して、新たな構成のMFP専用のアプリとして、操作デバイス種別の設定を削除した識別情報を含む拡張アプリを開発すると、当該拡張アプリは他のMFPで使用することができない。そのため、MFPの機種に対する拡張アプリの汎用性を確保することができない。すなわち、従来では、MFPにおいて拡張アプリの識別情報に対応する仕様が従来のMFPの仕様と異なる場合、拡張アプリの汎用性を確保することができない。
本発明の目的は、拡張アプリの汎用性を確保することができる画像処理装置及びその制御方法、並びにプログラムを提供することにある。
上記目的を達成するために、本発明の画像処理装置は、オペレーティングシステム及び機能を拡張するための拡張アプリケーションを備える画像処理装置であって、前記画像処理装置に接続可能な接続デバイスを、前記オペレーティングシステムによって制御するか前記拡張アプリケーションによって制御するかをユーザに設定させる設定手段と、前記画像処理装置に接続された接続デバイスと通信する通信手段と、前記接続デバイスが前記画像処理装置を操作する所定の操作デバイスであるか否かを判別する判別手段と、前記接続デバイスを前記オペレーティングシステム及び前記拡張アプリケーションのいずれかによって制御する制御手段とを備え、前記接続デバイスが前記所定の操作デバイスである場合、前記設定手段の設定に関わらず、前記制御手段は、前記接続デバイスを前記オペレーティングシステムによって制御することを特徴とする。
本発明によれば、拡張アプリの汎用性を確保することができる。
本発明の実施の形態に係る画像処理装置としてのMFPの構成を概略的に示すブロック図である。 図1の制御部の構成を概略的に示すブロック図である。 図1のMFPのソフトウェアモジュールの構成を概略的に示すブロック図である。 図1の操作部に表示される設定画面の一例を示す図である。 図1のMFPで実行されるドライバ選択処理の手順を示すフローチャートである。 本実施の形態における所定の操作デバイスの設定を説明するための図である。
以下、本発明の実施の形態を図面を参照しながら詳述する。
本実施の形態では、画像処理装置としてのMFPに本発明を適用した場合について説明するが、本発明の適用先はMFPに限られず、例えば、接続されたUSBデバイスと通信可能なPC等の情報処理装置であれば本発明を適用することができる。
図1は、本発明の実施の形態に係る画像処理装置としてのMFP101の構成を概略的に示すブロック図である。
図1において、MFP101は、制御部102、スキャナ部103、プリンタ部104、HDD105、及び操作部108を備え、制御部102は、スキャナ部103、プリンタ部104、HDD105、及び操作部108のそれぞれと接続されている。操作部108はLCDパネル109及び操作キーデバイス110(接続デバイス)を備え、操作キーデバイス110は後述する図2のUSBI/F211(通信手段)を介してMFP101と接続されている。
MFP101は、コピー、スキャン、及びFAX通信等の各ジョブを実行し、また、MFP101は後述する図2のUSBI/F211を介して接続されたUSBデバイスをMFP101の一部として使用可能である。さらに、MFP101は複数の拡張アプリケーションをインストール可能である。
制御部102は接続されたスキャナ部103、プリンタ部104、HDD105、及び操作部108を統括的に制御する。スキャナ部103は、図示しない原稿台に配置された原稿を読み取って画像データを生成し、該画像データをHDD105に出力する。プリンタ部104は、スキャナ部103で生成された画像データをHDD105から取得し、該画像データに基づいて用紙に印刷を行う。また、プリンタ部104は印刷された用紙を図示しない出力トレイ等に出力する。HDD105は不揮発性メモリであり、アプリ格納領域106及び画像格納領域107を備える。アプリ格納領域106には、インストールされた拡張アプリの実行プログラム等が格納され、画像格納領域107にはスキャナ部103で生成された画像データ等が格納される。操作部108はMFP101のユーザインターフェースである。LCDパネル109はユーザのタッチ操作によって入力可能なタッチパネル機能を備える。操作キーデバイス110はテンキーや複数の操作キーを備え、USB規格に準拠し、且つ比較的安価な部品で構成される後述する図2のUSBI/F211を介して通信可能なUSBデバイスである。USBデバイスには該USBデバイスの種別を示すクラスIDが予め設定されており、操作キーデバイス110には各情報を入力するUSBデバイスの種別を示すUSB HID(Human Interface Device)クラスのクラスIDが設定されている。また、後述する図2のUSBメモリ215等のデータを記憶するようなUSBデバイスにはUSBマスストレージクラスのクラスIDが設定されている。
図2は、図1の制御部102の構成を概略的に示すブロック図である。
図2において、制御部102は、CPU201、RAM202、スキャナI/F203、プリンタI/F204、ディスクコントローラ205、フラッシュメモリ206、パネルI/F210、及びUSBI/F211を備える。CPU201、RAM202、スキャナI/F203、プリンタI/F204、ディスクコントローラ205、パネルI/F210、及びUSBI/F211はシステムバス212を介して互いに接続されている。
CPU201は、フラッシュメモリ206やHDD105に格納されたプログラムを実行して後述する図3のソフトウェアモジュール300の各処理を行う。RAM202はCPU201の作業領域として用いられ、また、RAM202は各データの一時格納領域として用いられる。スキャナI/F203はスキャナ部103とデータ通信を行い、プリンタI/F204はプリンタ部104とデータ通信を行う。ディスクコントローラ205はHDD105及びフラッシュメモリ206へ各データを書き込む処理や、HDD105及びフラッシュメモリ206に格納された各データを読み出す処理を行う。
フラッシュメモリ206は不揮発性メモリであり、ファーム格納領域207、設定値格納領域208、及び識別情報格納領域209を備える。ファーム格納領域207にはCPU201が実行する各プログラムが格納され、設定値格納領域208にはMFP101の各設定情報が格納される。識別情報格納領域209には拡張アプリのインストール時に当該拡張アプリから取得された識別情報が格納される。識別情報は拡張アプリが制御可能なUSBデバイスの種別を示すクラスID、或いはベンダID及びプロダクトIDの少なくともいずれかを含む。
パネルI/F210はLCDパネル109とデータ通信を行う。USBI/F211は接続されたICカードリーダ213、USBキーボード214、及びUSBメモリ215等のUSBデバイスとデータ通信を行う。本実施の形態では、USBI/F211を介して操作部108の操作キーデバイス110がMFP101に接続され、USBI/F211はユーザの操作キーデバイス110の操作によって入力された入力情報をCPU201に送信する。
図3は、図1のMFP101のソフトウェアモジュール300の構成を概略的に示すブロック図である。
図3において、ソフトウェアモジュール300は、ファームウェアモジュール301、オペレーティングシステムモジュール(以下、「OSモジュール」という。)、拡張アプリ303、及びUSBマスストレージドライバモジュール304を備える。また、ソフトウェアモジュール300は、USB HIDドライバモジュール305、汎用ドライバモジュール306、ドライバ選択モジュール307、及びUSBI/F制御モジュール308を備える。拡張アプリ303はHDD105に格納され、上述したソフトウェアモジュール300のうち、拡張アプリ303以外のモジュールはフラッシュメモリ206に格納されている。ソフトウェアモジュール300の各処理は、CPU201がフラッシュメモリ206やHDD105に格納されたプログラムを実行することによって行われる。
ファームウェアモジュール301はOSモジュール302の実行環境を提供するためのモジュールである。OSモジュール302は制御部102の各処理を制御するモジュールであり、MFP101の各モジュールを制御する。例えば、OSモジュール302はUSBI/F211を介して接続されたUSBデバイスのうちOSモジュール302の制御対象デバイスをUSBマスストレージドライバモジュール304及びUSB HIDドライバモジュール305によって制御する。拡張アプリ303はMFP101の標準機能では実現できない拡張機能を実現するためのモジュールであり、MFP101の各モジュールを制御する。例えば、拡張アプリ303はUSBI/F211を介して接続されたUSBデバイスのうち拡張アプリ303の制御対象デバイスを汎用ドライバモジュール306によって制御する。本実施の形態では、ユーザの図4の設定画面400の操作により、拡張アプリ303による制御を行うか、若しくはOSモジュール302による制御を行うかのいずれかを示す制御設定情報をUSBデバイスのクラスID毎に設定可能である。設定画面400は設定ボタン401,402を備える。
設定ボタン401はUSB HIDクラスのUSBデバイスに対して拡張アプリ303による制御を行うか、若しくはOSモジュール302による制御を行うかのいずれかを設定するボタンである。設定ボタン401が「ON」に設定されると、USB HIDクラスのUSBデバイスに対して拡張アプリ303による制御を行う旨が設定される。一方、設定ボタン401が「OFF」に設定されると、USB HIDクラスのUSBデバイスに対してOSモジュール302による制御を行う旨が設定される。
設定ボタン402はUSBマスストレージクラスのUSBデバイスに対して拡張アプリ303による制御を行うか、若しくはOSモジュール302による制御を行うかのいずれかを設定するボタンである。設定ボタン402が「ON」に設定されると、USBマスストレージクラスのUSBデバイスに対して拡張アプリ303による制御を行う旨が設定される。一方、設定ボタン402が「OFF」に設定されると、USBマスストレージクラスのUSBデバイスに対してOSモジュール302による制御を行う旨が設定される。なお、本実施の形態では、設定画面400における制御設定情報の設定をUSB HIDクラス及びUSBマスストレージクラスである場合について説明したが、これに限られない。例えば、USB HIDクラス及びUSBマスストレージクラス以外の他のクラスの制御設定情報の設定を設定画面400で行ってもよい。設定画面400の操作によって設定された制御設定情報はフラッシュメモリ206の設定値格納領域に格納される。
USBマスストレージドライバモジュール304はOSモジュール302の制御対象デバイスのうちUSBマスストレージクラスのUSBデバイスを制御するモジュールである。USB HIDドライバモジュール305はOSモジュール302の制御対象デバイスのうちUSB HIDクラスのUSBデバイスを制御するモジュールである。汎用ドライバモジュール306は拡張アプリ303の制御対象デバイスや、USB HIDクラス及びUSBマスストレージクラス以外の他のクラスIDのUSBデバイスを制御するモジュールである。
ドライバ選択モジュール307は、MFP101にUSBデバイスが接続されたことを検知すると、当該USBデバイスを制御するドライバモジュールを選択する。具体的に、ドライバ選択モジュール307は、MFP101に接続されたUSBデバイスの種別に応じてUSBマスストレージドライバモジュール304、USB HIDドライバモジュール305、及び汎用ドライバモジュール306の中から1つのドライバモジュールを選択する。USBI/F制御モジュール308はUSBI/F211を制御する。本実施の形態では、USBマスストレージドライバモジュール304、USB HIDドライバモジュール305、及び汎用ドライバモジュール306は、USBI/F制御モジュール308を介してMFP101に接続されたUSBデバイスを制御する。
図5は、図1のMFP101で実行されるドライバ選択処理の手順を示すフローチャートである。
図5の処理は、CPU201がフラッシュメモリ206に格納されたプログラムを実行することによって行われる。図5の処理は、MFP101の起動中にUSBデバイスが接続された場合や、停止中のMFP101にUSBデバイスが接続された状態でMFP101が起動した場合等に行われる。また、図5の処理は、MFP101に複数のUSBデバイスが接続された場合、各USBデバイスに対して実行される。
ここで、MFP101は、拡張アプリ303が対応する従来のMFPの仕様と異なり、コスト削減の観点で操作部108のうち操作キー部を操作キーデバイス110として外付けする構成である。MFP101では、従来と異なり、MFP101の操作キー部である操作キーデバイス110も拡張アプリ303の制御対象に含まれ、拡張アプリ303をそのままMFP101にインストールすると操作キーデバイス110が誤動作を引き起こす可能性がある。操作キーデバイス110の誤動作を防止するために、例えば、識別情報からUSB HIDクラスの設定を削除することが考えられる。USB HIDクラスの設定を識別情報から削除すると、拡張アプリ303において、操作キーデバイス110以外のUSB HIDクラスの他のUSBデバイス、例えば、USBキーボード214の使用も制限され、USBデバイスに対する拡張アプリ303の汎用性を確保することができない。また、USBデバイスに対する拡張アプリの汎用性を考慮して、MFP101専用の拡張アプリとして、USB HIDクラスの設定を削除した識別情報を含む拡張アプリ303を開発すると、拡張アプリ303が他のMFPに使用することができない。そのため、MFPの機種に対する拡張アプリ303の汎用性を確保することができない。すなわち、従来では、MFP101において、拡張アプリ303の識別情報に対応する仕様が、該拡張アプリ303が対応する従来のMFPの仕様と異なると、拡張アプリの汎用性を確保することができない。
これに対応して、本実施の形態では、接続されたUSBデバイスが拡張アプリ303に対応しない所定の操作デバイスである場合、接続されたUSBデバイスがOSモジュール302によって制御される。
図5において、まず、CPU201は、接続されたUSBデバイスから、USB規格で定められたディスクリプタ情報を取得する(ステップS501)。ディスクリプタ情報はUSBデバイスのクラスIDや、USBデバイス単体を識別する情報、具体的に、ベンダID及びプロダクトIDを含む。次いで、CPU201は、取得されたディスクリプタ情報が拡張アプリ303に対応しない所定の操作デバイスである操作キーデバイス110に対応するか否かを判別する(ステップS502)。所定の操作デバイスは予め設定されている。ステップS502では、取得されたディスクリプタ情報のベンダID及びプロダクトIDが操作キーデバイス110のベンダID及びプロダクトIDと一致する場合、CPU201はディスクリプタ情報が操作キーデバイス110に対応すると判別する。一方、取得されたディスクリプタ情報のベンダID及びプロダクトIDが操作キーデバイス110のベンダID及びプロダクトIDと一致しない場合、CPU201はディスクリプタ情報が操作キーデバイス110に対応しないと判別する。
ステップS502の判別の結果、ディスクリプタ情報が操作キーデバイス110に対応
するとき、CPU201は、接続されたUSBデバイスをOSモジュール302によって制御することを決定し、後述するステップ507以降の処理を行う。すなわち、本実施の形態では、接続されたUSBデバイスが操作キーデバイス110である場合、設定画面400の設定に関わらず、接続されたUSBデバイスがOSモジュール302によって制御される。
ステップS502の判別の結果、ディスクリプタ情報が操作キーデバイス110に対応しないとき、CPU201はディスクリプタ情報がフラッシュメモリ206に格納された識別情報に対応するか否かを判別する(ステップS503)。ステップS503では、ディスクリプタ情報のクラスIDが識別情報に含まれるクラスID、或いはベンダID及びプロダクトIDと一致する場合、CPU201はディスクリプタ情報が識別情報に対応すると判別する。一方、ディスクリプタ情報のクラスIDが識別情報に含まれるクラスID、或いはベンダID及びプロダクトIDと一致しない場合、CPU201はディスクリプタ情報が識別情報に対応しないと判別する。
ステップS503の判別の結果、ディスクリプタ情報が識別情報に対応するとき、CPU201は接続されたUSBデバイスを制御するドライバモジュールとして汎用ドライバモジュール306を選択し(ステップS504)、本処理を終了する。
ステップS503の判別の結果、ディスクリプタ情報が識別情報に対応しないとき、CPU201は接続されたUSBデバイスのクラスIDをディスクリプタ情報に基づいて特定する。その後、CPU201は接続されたUSBデバイスがUSB HIDクラス又はUSBマスストレージクラスであるか否かを判別する(ステップS505)。
ステップS505の判別の結果、接続されたUSBデバイスがUSB HIDクラス及びUSBマスストレージクラスのいずれでもないとき、CPU201はステップS504以降の処理を行う。一方、ステップS505の判別の結果、接続されたUSBデバイスがUSB HIDクラス又はUSBマスストレージクラスであるとき、CPU201はフラッシュメモリ206に格納された制御設定情報を確認する。CPU201は、制御設定情報において、接続されたUSBデバイスの種別に対して拡張アプリ303による制御を行う旨が設定されているか否かを判別する(ステップS506)。
ステップS506の判別の結果、拡張アプリ303による制御を行う旨が設定されているとき、CPU201はステップS504以降の処理を行う。一方、ステップS506の判別の結果、拡張アプリ303による制御を行う旨が設定されていないとき、つまり、OSモジュール302による制御を行う旨が設定されているとき、CPU201は接続されたUSBデバイスのクラスIDがUSB HIDクラスであるか否かを判別する(ステップS507)。
ステップS507の判別の結果、USB HIDクラスであるとき、CPU201は接続されたUSBデバイスを制御するドライバモジュールとしてUSB HIDドライバモジュール305を選択し(ステップS508)、本処理を終了する。一方、ステップS507の判別の結果、USB HIDクラスでないとき、CPU201は接続されたUSBデバイスを制御するドライバモジュールとしてUSBマスストレージドライバモジュール304を選択し(ステップS509)、本処理を終了する。
上述した図5の処理によれば、接続されたUSBデバイスが拡張アプリ303に対応しない操作キーデバイス110である場合、接続されたUSBデバイスがOSモジュール302によって制御される。これにより、拡張アプリ303に対応しないことに起因する操作キーデバイス110の誤動作を防止するために拡張アプリ303の識別情報を変更する必要をなくすことができ、もって、拡張アプリ303の汎用性を確保することができる。
また、上述した図5の処理では、接続されたUSBデバイスが操作キーデバイス110である場合、設定画面400の設定に関わらず、接続されたUSBデバイスがOSモジュール302によって制御される。これにより、拡張アプリ303に対応しないことに起因する操作キーデバイス110の誤動作を確実に防止することができる。
さらに、上述した図5の処理では、接続されたUSBデバイスから取得した当該USBデバイスを識別するベンダID及びプロダクトIDに基づいて、接続されたUSBデバイスが操作キーデバイス110であるか否かが判別される。これにより、接続されたUSBデバイスが操作キーデバイス110であるか否かを確実に特定することができる。
上述した図5の処理では、USBデバイスは、比較的安価な部品で構成されたUSBI/F211を介して通信可能なUSB HIDクラスのデバイスである。これにより、従来のMFPより生産コストを削減することができる。
上述した本実施の形態では、所定の操作デバイスとして操作キーデバイス110が予め設定された場合について説明したが、所定の操作デバイスは操作キーデバイス110に限られず、他の機能を実現するUSBデバイスであっても良い。また、所定の操作デバイスは、1つに限られず、図6に示すように複数のUSBデバイスを所定の操作デバイスとして設定しても良い。
また、上述した本実施の形態では、接続されたUSBデバイスが拡張アプリ303による制御を行う旨が設定された種別であっても操作キーデバイス110であるので、当該接続されたUSBデバイスをOSモジュール302によって制御する場合、設定画面400の設定と異なる制御を行う旨をLCDパネル109等に表示(通知)しても良い。これにより、設定画面400の設定と異なる制御が行われることをユーザが容易に把握することができる。
本発明は、上述の実施の形態の1以上の機能を実現するプログラムをネットワーク又は記憶媒体を介してシステム又は装置に供給し、該システム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読み出して実行する処理でも実現可能である。また、本発明は、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
101 MFP
109 LCDパネル
110 操作キーデバイス
201 CPU
211 USB I/F
302 OSモジュール
303 拡張アプリ
400 設定画面

Claims (9)

  1. オペレーティングシステム及び機能を拡張するための拡張アプリケーションを備える画像処理装置であって、
    前記画像処理装置に接続可能な接続デバイスを、前記オペレーティングシステムによって制御するか前記拡張アプリケーションによって制御するかをユーザに設定させる設定手段と、
    前記画像処理装置に接続された接続デバイスと通信する通信手段と、
    前記接続デバイスが前記画像処理装置を操作する所定の操作デバイスであるか否かを判別する判別手段と、
    前記接続デバイスを前記オペレーティングシステム及び前記拡張アプリケーションのいずれかによって制御する制御手段とを備え、
    前記接続デバイスが前記所定の操作デバイスである場合、前記設定手段の設定に関わらず、前記制御手段は、前記接続デバイスを前記オペレーティングシステムによって制御することを特徴とする画像処理装置。
  2. 前記制御手段は、前記接続デバイスを前記オペレーティングシステムによって制御する場合、前記接続デバイスを第一のドライバによって制御し、前記接続デバイスを前記拡張アプリケーションによって制御する場合、前記接続デバイスを第二のドライバによって制御することを特徴とする請求項1記載の画像処理装置。
  3. 前記第一のドライバはUSBドライバであり、前記第二のドライバは汎用ドライバであることを特徴とする請求項2記載の画像処理装置。
  4. 前記所定の操作デバイスは、所定の操作キーデバイスであることを特徴とする請求項1乃至3のいずれか1項に記載の画像処理装置。
  5. 前記設定手段によって前記接続デバイス前記拡張アプリケーションによって制御する設されているにも関わらず、前記接続デバイスが前記所定の操作デバイスであるので前記接続デバイスを前記オペレーティングシステムによって制御する場合、前記設定手段の設定と異なる制御を行う旨を通知する通知手段を更に備えることを特徴とする請求項1乃至4のいずれか1項に記載の画像処理装置。
  6. 前記判別手段は、前記接続デバイスから取得した当該接続デバイスを識別するベンダID及びプロダクトIDに基づいて前記接続デバイスが前記所定の操作デバイスであるか否かを判別することを特徴とする請求項1乃至のいずれか1項に記載の画像処理装置。
  7. 前記所定の操作デバイスは、USB規格に準拠したUSB HIDクラスのUSBデバイスであることを特徴とする請求項1乃至のいずれか1項に記載の画像処理装置。
  8. オペレーティングシステム及び機能を拡張するための拡張アプリケーションを備える画像処理装置の制御方法であって、
    前記画像処理装置に接続可能な接続デバイスを、前記オペレーティングシステムによって制御するか前記拡張アプリケーションによって制御するかをユーザに設定させる設定ステップと、
    前記画像処理装置に接続された接続デバイスと通信する通信ステップと、
    前記接続デバイスが前記画像処理装置を操作する所定の操作デバイスであるか否かを判別する判別ステップと、
    前記接続デバイスを前記オペレーティングシステム及び前記拡張アプリケーションのいずれかによって制御する制御ステップとを有し、
    前記接続デバイスが前記所定の操作デバイスである場合、前記設定ステップにおける設定に関わらず、前記制御ステップは、前記接続デバイスを前記オペレーティングシステムによって制御することを特徴とする画像処理装置の制御方法。
  9. オペレーティングシステム及び機能を拡張するための拡張アプリケーションを備える画像処理装置の制御方法をコンピュータに実行させるプログラムであって、
    前記画像処理装置の制御方法は、
    前記画像処理装置に接続可能な接続デバイスを、前記オペレーティングシステムによって制御するか前記拡張アプリケーションによって制御するかをユーザに設定させる設定ステップと、
    前記画像処理装置に接続された接続デバイスと通信する通信ステップと、
    前記接続デバイスが前記画像処理装置を操作する所定の操作デバイスであるか否かを判別する判別ステップと、
    前記接続デバイスを前記オペレーティングシステム及び前記拡張アプリケーションのいずれかによって制御する制御ステップとを有し、
    前記接続デバイスが前記所定の操作デバイスである場合、前記設定ステップにおける設定に関わらず、前記制御ステップは、前記接続デバイスを前記オペレーティングシステムによって制御することを特徴とするプログラム。
JP2016159136A 2016-08-15 2016-08-15 画像処理装置及びその制御方法、並びにプログラム Active JP6758995B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016159136A JP6758995B2 (ja) 2016-08-15 2016-08-15 画像処理装置及びその制御方法、並びにプログラム
US15/665,773 US10963197B2 (en) 2016-08-15 2017-08-01 Image processing apparatus that installs application modules, control method therefor, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016159136A JP6758995B2 (ja) 2016-08-15 2016-08-15 画像処理装置及びその制御方法、並びにプログラム

Publications (2)

Publication Number Publication Date
JP2018029223A JP2018029223A (ja) 2018-02-22
JP6758995B2 true JP6758995B2 (ja) 2020-09-23

Family

ID=61158963

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016159136A Active JP6758995B2 (ja) 2016-08-15 2016-08-15 画像処理装置及びその制御方法、並びにプログラム

Country Status (2)

Country Link
US (1) US10963197B2 (ja)
JP (1) JP6758995B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7439570B2 (ja) * 2020-03-03 2024-02-28 株式会社リコー 情報処理装置、制御方法、及びプログラム

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6957437B1 (en) * 1999-12-23 2005-10-18 Intel Corporation Selecting a device driver for a peripheral device adapted to operate on a network and simplifying secondary printer installation
US7331051B2 (en) * 2003-04-08 2008-02-12 Synology, Inc. System and method for installing portable device drivers
US20050216603A1 (en) * 2004-03-26 2005-09-29 Michaud Ted R Method and apparatus for providing USB device support to an interactive system
GB0504567D0 (en) * 2005-03-04 2005-04-13 Cambridge Silicon Radio Ltd Installing drivers
US7865640B1 (en) * 2008-01-02 2011-01-04 Buztronics, Inc. USB web launcher using keyboard scancodes
CN101515260B (zh) * 2008-02-21 2010-12-08 扬智科技股份有限公司 在不拔插装置的情况下切换装置功能的方法
JP5294892B2 (ja) * 2009-01-14 2013-09-18 キヤノン株式会社 画像形成装置、装置、制御方法、及びプログラム
JP2010186239A (ja) 2009-02-10 2010-08-26 Ricoh Co Ltd 情報処理装置、プログラム制御方法、プログラム制御プログラム及び記録媒体
US8825909B1 (en) * 2011-02-28 2014-09-02 Vmware, Inc. Application directed dynamic driver substitution
JP5703845B2 (ja) 2011-03-01 2015-04-22 株式会社リコー 情報処理装置およびプログラム
US20130036431A1 (en) * 2011-08-02 2013-02-07 Microsoft Corporation Constraining Execution of Specified Device Drivers
WO2015165774A1 (en) * 2014-04-28 2015-11-05 Sfnt Germany Gmbh Automatic device driver switching

Also Published As

Publication number Publication date
JP2018029223A (ja) 2018-02-22
US10963197B2 (en) 2021-03-30
US20180046417A1 (en) 2018-02-15

Similar Documents

Publication Publication Date Title
JP5541666B2 (ja) 画像形成装置、画像形成装置の制御方法及びプログラム
JP6265631B2 (ja) 情報処理装置、情報処理装置の制御方法、及びプログラム
US9563444B2 (en) Image forming apparatus having hibernation function according to device connection states, control method therefor, and storage medium
JP2014127126A (ja) プログラム及び出力システム
JP6627477B2 (ja) 外部機器、機器、情報処理システム、情報処理プログラム、機器連携方法、外部機器連携方法及び情報処理方法
JP5052417B2 (ja) 画像形成装置、外部デバイス管理方法及びプログラム
JP6758995B2 (ja) 画像処理装置及びその制御方法、並びにプログラム
JP6303667B2 (ja) プログラム、情報処理装置および情報処理システム
JP6085982B2 (ja) プログラム、情報処理装置およびシステム
JP5573411B2 (ja) 画像形成装置、プログラム、及びインストール方法
JP2007050649A (ja) ダイレクトプリント可能な画像形成装置及び制御プログラム
JP5900146B2 (ja) 制御装置、プリンタードライバープログラム、および設定方法
JP6651895B2 (ja) 機器、制御方法及びプログラム
JP6915565B2 (ja) 画像処理装置
US11972159B2 (en) Image forming device and method of controlling to transmit print data to an image forming device
US20180220019A1 (en) External storage medium processing device and program
JP2016100828A (ja) 情報処理装置、情報処理システム、制御方法及び制御プログラム
JP6217374B2 (ja) 画像処理装置、アプリケーション作成装置、管理方法、作成方法、管理プログラム、および作成プログラム
JP2020030697A (ja) 情報処理装置、端末装置、設定画面表示システム、設定画面表示方法
JP6060686B2 (ja) 制御装置、プリンタードライバープログラム、および設定方法
US20240241662A1 (en) Information processing apparatus and control method therefor
JP2016139206A (ja) 電子機器
JP6365518B2 (ja) 情報処理装置、画像形成装置
JP6524890B2 (ja) 画像形成装置および制御プログラム
JP6494426B2 (ja) 情報処理装置、情報処理方法、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190731

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200427

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200526

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200721

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: 20200804

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200902

R151 Written notification of patent or utility model registration

Ref document number: 6758995

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151