JP2006236242A - デバイス識別処理方法 - Google Patents

デバイス識別処理方法 Download PDF

Info

Publication number
JP2006236242A
JP2006236242A JP2005053347A JP2005053347A JP2006236242A JP 2006236242 A JP2006236242 A JP 2006236242A JP 2005053347 A JP2005053347 A JP 2005053347A JP 2005053347 A JP2005053347 A JP 2005053347A JP 2006236242 A JP2006236242 A JP 2006236242A
Authority
JP
Japan
Prior art keywords
device identification
processing method
constant
model
digital camera
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.)
Withdrawn
Application number
JP2005053347A
Other languages
English (en)
Inventor
Koichi Abe
孝一 安部
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 JP2005053347A priority Critical patent/JP2006236242A/ja
Publication of JP2006236242A publication Critical patent/JP2006236242A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)
  • Facsimiles In General (AREA)

Abstract

【課題】 入力装置や出力装置等から構成されるシステムにおいて、それぞれのデバイス(装置)に対応する為の処理を簡略化して高速化し、プログラムサイズを小さくし、コストダウンを実現することの出来るデバイス識別処理方法を提供する。
【解決手段】 接続されている装置の機種情報(デバイスID)を取得し、この機種情報をその機種の特性を表す情報を含むデバイス識別情報に変換し、このデバイス識別情報内に含まれている特性を表す情報に従って各装置を制御するように構成する。また、入出力装置の特性を前記デバイス識別情報内に含めることで、複数の機種をサポートする統合版ドライバの処理の効率化を実現できることを特徴とする。
【選択図】 図1

Description

本発明はデジタルカメラやスキャナ等の入力装置、プリンタやディスプレイ等の出力装置、ホストコンピュータ装置から構成されるシステムにおけるデバイス識別処理方法に関するものである。
従来、例えばホストコンピュータと入力装置(デジタルカメラ)から構成されるシステムにおいて、デジタルカメラを制御するドライバとして複数の機種(デジタルカメラ)をサポートする統合版ドライバがある。このドライバでは、接続されている装置の機種情報(デバイスID)を取得し、この機種情報により各機種の特性に合わせて処理を切り分け、各機種に最適な処理となるように制御している。
また、ホストコンピュータを介さずに、デジタルカメラとプリンタをUSBインタフェース等で直接接続し、デジタルカメラで撮影した写真画像をプリンタにて印刷するというシステムがあり、このようなシステムにおいても、プリンタに接続されているデジタルカメラの機種情報(デバイスID)を取得し、この機種情報により各デジタルカメラの特性に合わせて処理を切り分け、各デジタルカメラに最適な処理となるように制御している。
最近では、同一メーカーから様々なユーザーの使用目的に合わせて、上級機種、中級機種、初級機種等のラインナップで複数機種から構成されるシリーズ機器(デジタルカメラのシリーズ、または、プリンタのシリーズ等)が発売されるケースが多く、このようなケースにおいては、これらのシリーズ機器を制御するプログラム(ソフトウェア)の開発期間の短縮や開発費の削減を目的として、開発の効率化が図られており、その一つとして、シリーズ機器の各機種間で制御プログラム(ソフトウェア)の共有化が行われている。
また、特許文献1という技術がある。
特開2000−343794号公報
しかしながら、従来例では新機種(デジタルカメラ等)が増える度に、ドライバや制御プログラム内に機種情報を追加し、各機種情報毎にその新機種用の処理を追加していく工程が必要であり、処理が複雑になり、プログラムサイズも大きくなるという問題点があった。特に上記従来例の第2の例のようにホストコンピュータを介さないケースの場合、様々なデジタルカメラの特性に依存する処理を、全てプリンタ内のプログラムに組み込む必要があり、プリンタのROM容量が大きくなり、コストアップにつながるという問題点となっていた。
また、上記従来例の第3の例において、シリーズ機器としてプリンタを考えた場合、各プリンタにおける最も重要な特徴(制御上異なる部分)として記録部の仕様の差が挙げられ、この記録部は同一プログラムで制御することができないので、制御プログラム(ソフトウェア)の共有化は行われていない。そのため、上述したように、プリンタの新機種が増える度に、制御プログラム内に新たに追加されるプリンタの機種情報を追加し、各機種情報毎にその新機種用の記録部を制御するプログラムを追加していく工程が必要であり、処理が複雑になり、プログラムサイズも大きくなるという問題点があった。
本発明は、上記問題点に着目してなされたものであって、入力装置や出力装置等から構成されるシステムにおいて、それぞれのデバイス(装置)に対応する為の処理を簡略化して高速化し、プログラムサイズを小さくし、コストダウンを実現することの出来るデバイス識別処理方法を提供することを目的とする。
つまり、本発明では機種情報をもとにその機種の特性を含む装置識別定数(デバイス識別情報)を導き出し、この装置識別定数内に含まれている特性を読み出して、その特性に適した処理を行うことで、上記問題点を解決し、処理を簡略化して高速化でき、また、プログラムサイズも小さくできる。その結果、各機器のROMに組み込まれる制御プログラムのサイズを小さくすることができ、コストダウンを実現できる。
上記課題を解決するために、本発明は以下の構成を備える。
(1)装置を識別するための装置固有の装置識別定数を用いて各処理を行うシステムにおいて、前記装置識別定数は各装置の一つまたは複数の特性を含み、前記装置識別定数からその中に含まれている特性を読み出し、その特性に適した処理を行うように構成した。
(2)入力装置と出力装置から構成され、各装置を識別するための装置固有の装置識別定数を用いて各処理を行うシステムにおいて、前記装置識別定数は各装置の入力特性または出力特性を含み、前記装置識別定数からその中に含まれている特性を読み出し、その特性に適した処理を行うように構成した。
(3)ホストコンピュータ装置と入力装置と出力装置から構成され、前記ホストコンピュータ装置を制御するプログラム内で使用され、各装置を識別するための装置固有の装置識別定数を用いて各処理を行うシステムにおいて、前記装置識別定数は各装置の入力特性または出力特性を含み、前記装置識別定数からその中に含まれている特性を読み出し、その特性に適した処理を行うように構成した。
(4)データ通信が可能なインタフェースを備える複数の装置から構成され、各装置が前記インタフェースを介して接続されて構成されるシステムにおいて、このシステム内のある装置(装置1)を制御するプログラム内で使用され各装置を識別するための装置固有の装置識別定数を用いて、装置1は各処理を行う。前記装置1は、前記装置1に接続されている装置(装置2)から機種情報を取得し、この機種情報をもとに装置2の装置識別定数を導き出し、この装置識別定数は装置2の一つまたは複数の特性を含み、装置1は装置2の装置識別定数からその中に含まれている特性を読み出し、その特性に適した処理を行うように構成した。
(5)上記(4)において、機種情報はデバイスIDで構成した。
(6)上記(1)乃至(4)何れかにおいて、前記装置識別定数は各装置の制御命令の特性を含むように構成した。
(7)上記(1)乃至(4)何れかにおいて、前記装置識別定数は各装置のインタフェースの特性を含むように構成した。
(8)上記(1)乃至(4)何れかにおいて、前記装置識別定数は各装置の拡張機能の特性を含むように構成した。
(9)上記(4)において、入力装置と出力装置から構成され、前記装置識別定数は各装置の入力特性または出力特性を含むように構成した。
(10)上記(2)、(3)、(9)何れかにおいて、入力装置はデジタルカメラ、スキャナ等で構成した。
(11)上記(2)、(3)、(9)何れかにおいて、出力装置はプリンタ、ディスプレイ等で構成した。
(12)上記(1)乃至(4)何れかにおいて、前記装置識別定数は、各装置を制御する中央処理装置の処理能力(ビット数)と同じビット数の型で定義した。
(13)上記(1)乃至(4)何れかにおいて、前記装置識別定数に含まれている特性に従って、各装置をグループ化した。
(14)上記(1)乃至(4)何れかにおいて、前記装置識別定数は、前記グループ化されたグループ情報と、グループ内で固有の番号から構成され、前記装置識別定数からその中に含まれているグループ情報を読み出し、その情報に適した処理を行うように構成した。
本発明では、次のような効果が得られる。
(1)各機器の特性を含んだデバイス識別情報を用いることで、処理を簡略化して高速化できる。
(2)各機器の特性を含んだデバイス識別情報を用いることで、プログラムサイズを小さくできる。
(3)前記(2)より、機器のROMの容量を小さくすることが可能となるので、コストダウンを実現できる。
(4)入力機器(デジタルカメラ、スキャナ等)や出力機器(プリンタ、ディスプレイ等)を同一プログラムで制御することが可能となるので、開発の効率化が実現できる。
(5)様々なインタフェースや拡張機能を備える機器を同一プログラムで制御することが可能となるので、開発の効率化が実現できる。
(6)デバイス識別情報を、各機器を制御する中央処理装置(CPU)の処理能力(ビット数)と同じビット数の型で定義することにより、中央処理装置の能力を効率良く最大限に引き出すことができるので、高速化を実現できる。
(7)各機器をグループ化することで、処理を簡略化して高速化できる。
(8)デバイス識別情報をグループ情報とグループ内の固有の番号から構成することで、それぞれの機器に固有のデバイス識別情報を容易に実現できる。
以下、図面に示す実施例に基づき本発明を詳細に説明する。
以下において、USBはUniversal Serial Busの略であり、双方向データ通信が可能な公知のインタフェースであるので、その詳細説明は省略する。IrDAはInfrared Data Associationが規格した双方向データ通信が可能な公知の無線インタフェースであるので、その詳細説明は省略する。Bluetoothは双方向データ通信が可能な公知の無線インタフェースであるので、その詳細説明は省略する。JPEGは公知の画像圧縮形式であるので、その詳細説明は省略する。
図1は本発明のデバイス識別処理方法を実施したシステムの構成を表す図である。同図において、1はプリンタである。2はプリンタ1に装備されているタッチパネル液晶ディスプレイ(LCD)であり、このディスプレイに表示されたボタン等をユーザーが指で操作することが可能である。3はプリンタ1に装備されている操作ボタンであり、電源ボタン、リセットボタン、各種印刷機能やプリンタが搭載するその他の機能(モード)を切り換える為の機能切り換えボタン、文字や数字を入力することが可能な入力ボタン等から構成され、プリンタ1を制御したり、ディスプレイ2の内容に入力を行ったりすることができる。4はプリンタ1に装備されているUSBポート(スレーブ)であり、デジタルカメラやパーソナルコンピュータ等のホスト機能を備える機器とUSBケーブルで接続することにより、USBを利用した双方向データ通信が可能である。5、7はデジタルカメラであり、任意の被写体を撮影してデジタル画像ファイルの1つであるJPEG形式の画像ファイルに保存することができる。6はデジタルカメラ5に装備されているUSBポート(ホスト)であり、プリンタ等のスレーブ機能を備える機器とUSBケーブルで接続することにより、USBを利用した双方向データ通信が可能である。8はデジタルカメラ7に装備されているUSBポート(ホスト)であり、プリンタ等のスレーブ機能を備える機器とUSBケーブルで接続することにより、USBを利用した双方向データ通信が可能である。9はUSBケーブルである。同図では、デジタルカメラ5とプリンタ1とがUSBケーブル9を介して接続されている状態を表しており、プリンタ1を操作することにより、デジタルカメラ5で撮影されて保存されている画像ファイルをプリンタ1にて直接印刷することができる。この印刷に関する詳細説明は後述する。
図2はプリンタ1の内部ハードウェア構成を表すブロック図である。同図において、10は32ビットのマイクロプロセッサ等から構成されるCPUであり、プリンタ1の中央処理装置として、ROM11に記憶されているプログラムに従って、RAM12、入力画像処理部13、出力画像処理部14、通信部15、表示部16、操作部17、記録部18を制御する。ROM11にはプリンタ1を制御するプリンタ制御プログラム19(図3にて後述する)に従ってプリンタ1が記録(印刷)処理を行うプログラムが記憶されている。RAM12には、主にデジタルカメラから送られてくる画像ファイル、その画像ファイルをもとに生成される印刷制御データ(コマンド)、パーソナルコンピュータから送られてくる印刷制御データ(コマンド)が、一時的に記憶される。入力画像処理部13は、JPEG形式の画像ファイルをビットイメージデータ(Bits Image Data(BIDと略す))に変換したり、デジタルカメラから送られてくる画像ファイルから生成されたビットイメージデータ(入力画像データ)に色補正を行い、デバイス非依存色空間(Device Independent Color Space(DICSと略す))データに変換したりするハードウェアから構成される。出力画像処理部14は、デバイス非依存色空間データに色補正を行って記録出力(印刷)画像データやディスプレイ2への表示出力画像データを生成したり、記録出力画像データから印刷制御データ(コマンド)を生成したりするハードウェアから構成される。通信部15はUSBポート4とUSB通信を制御するハードウェアから構成され、USBの通信を制御する。表示部16はディスプレイ2から構成され、ユーザーインタフェースとして、プリンタ1の各種印刷機能やその状態を表示したり、デジタルカメラに保存されている画像ファイルを開いて表示したりすることができる。操作部17は操作ボタン3やディスプレイ2のタッチパネルからの入力を制御する。記録部18は、インクジェット方式の記録ヘッド、各カラーインク、キャリッジ、記録紙搬送機構等から構成される記録ユニットと、前記印刷制御データ(コマンド)をもとに前記記録ヘッドにて印字用パルスを発生させる為のASIC等から構成される電気回路とから構成され、前記前記印刷制御データ(コマンド)をもとに前記記録ヘッドにて発生された印字用パルスによって、前記各カラーインクが前記記録ヘッドから噴射され、記録紙上にカラー印刷することができる。
図3はROM11に記憶されているプリンタ制御プログラム19の構成を表すブロック図である。同図において、20はUI制御部であり、表示部16や操作部17を制御するプログラムであり、ディスプレイ2の表示、ディスプレイ2のタッチパネルからの入力、操作ボタン3からの入力等を制御する。21はファイル制御部であり、入力画像処理部13を制御するプログラムであり、デジタルカメラを制御するコマンドの作成、デジタルカメラからの画像ファイルの取り込み、JPEG形式の画像ファイルからビットイメージデータへの変換等を制御する。22は入力画像変換処理部であり、入力画像処理部13を制御するプログラムであり、デジタルカメラから送られてくる画像ファイルから生成されたビットイメージデータ(入力画像データ)に色補正を行い、デバイス非依存色空間データに変換する処理等を制御する。23は出力画像変換処理部であり、出力画像処理部14を制御するプログラムであり、デバイス非依存色空間データに色補正を行って記録部18用の記録出力(印刷)画像データやディスプレイ2用の表示出力画像データを生成したり、記録出力画像データから印刷制御データ(コマンド)を生成したりする処理等を制御する。24は記録処理部であり、記録部18を制御するプログラムであり、前記印刷制御データ(コマンド)を解析しながら記録出力(印刷)等を制御する。
図4は画像(写真)表示モードにおけるディスプレイ2の表示内容を表す図である。同図では、デジタルカメラ5に保存されている画像ファイル(写真)をプリンタ1に取り込んで表示しているところを表している。同図において、25はビューアであり、現在プリンタ1に取り込まれている画像ファイルの内容が表示される。26はファイル名表示部であり、表示している画像ファイルのファイル名が表示される。27は前の画像へ戻る為のタッチパネルを利用した戻るボタンであり、このボタンをタッチすることにより、現在ビューア25に表示されている画像ファイルより一つ前の、デジタルカメラ5に保存されている画像ファイルをプリンタ1に取り込み、ビューア25及びファイル名表示部26に表示する。28は次の画像へ進む為のタッチパネルを利用した進むボタンであり、このボタンをタッチすることにより、現在ビューア25に表示されている画像ファイルの次の、デジタルカメラ5に保存されている画像ファイルをプリンタ1に取り込み、ビューア25及びファイル名表示部26に表示する。29はタッチパネルを利用した印刷ボタンであり、このボタンをタッチすることにより、ビューア25に表示されている画像をプリンタ1にて印刷することができる。
図5は印刷中におけるディスプレイ2の表示内容を表す図である。同図において、ビューア25には印刷中を表すメッセージが表示されている。30はタッチパネルを利用したキャンセルボタンであり、このボタンをタッチすることにより、印刷をキャンセル(中止)することができる。
図11はプリンタ1がサポートしていないデジタルカメラが接続された時におけるディスプレイ2の表示内容を表す図である。同図において、ビューア25にはサポート外のデジタルカメラが接続されていることを表す警告メッセージが表示されている。31はタッチパネルを利用した継続ボタンであり、このボタンをタッチすることにより、処理を継続することができる。32は中止ボタンであり、このボタンをタッチすることにより、処理を中止することができる。
図12は本発明におけるデジタルカメラやプリンタの各機種(モデル)をいくつかのグループに分ける為の定義を表す図であり、本発明の特徴を最もよく表す図である。同図に示す通り、各機種(モデル)はunsigned long(32ビット)の定数のデバイス識別情報として表される。ここで、unsigned longの定数としてデバイス識別情報を定義しているのは、CPU10が32ビットのマイクロプロセッサであることから、これが最も理想的な定数の定義であるからである。そして、このデバイス識別情報は、入力カラープロファイルタイプ、出力カラープロファイルタイプ、制御コマンドタイプ、I/F情報、拡張機能情報、リザーブを表すビット郡から構成される。入力カラープロファイルタイプの定義は、本実施例ではIN0〜IN3の4種類である。入力カラープロファイルタイプのマスクは、図13で後述する機種(モデル)の定義とビットの論理ANDをとることにより、その機種(モデル)の入力カラープロファイルタイプを特定することができる。出力カラープロファイルタイプの定義は、本実施例ではOUT0〜2の3種類である。出力カラープロファイルタイプのマスクは、図13で後述する機種(モデル)の定義とビットの論理ANDをとることにより、その機種(モデル)の出力カラープロファイルタイプを特定することができる。シリアル番号は同一グループに含まれる各機種(モデル)を特定する為の番号であり、本実施例ではSRN_0001〜SRN_0004の4つが定義されている。すなわち、同一グループに所属する機種を4機種迄定義することができる。シリアル番号のマスクは、図13で後述する機種(モデル)の定義とビットの論理ANDをとることにより、その機種(モデル)のシリアル番号を特定することができる。制御コマンドタイプは、本実施例では、デジタルカメラ用としてCMD_C1、CMD_C2の2種類、プリンタ用としてCMD_P1の1種類が定義されている。制御コマンドタイプのマスクは、図13で後述する機種(モデル)の定義とビットの論理ANDをとることにより、その機種(モデル)の制御コマンドタイプを特定することができる。I/F情報の定義は、本実施例では、USBを表すIF_USB、IrDAを表すIF_IRDA、Bluetoothを表すIF_BTの3種類が定義されている。例えば、複数のI/Fを備える機器の場合、I/F情報に関しては次のように定義される。
IF_USB | IF_IRDA…USBとIrDAインタフェース(I/F)を備える機種の場合
I/F情報のマスクは、図13で後述する機種(モデル)の定義とビットの論理ANDをとることにより、その機種(モデル)のI/F情報を特定することができる。拡張機能情報は、本実施例では拡張機能無しの1種類が定義されている。拡張機能情報のマスクは、図13で後述する機種(モデル)の定義とビットの論理ANDをとることにより、その機種(モデル)の拡張機能情報を特定することができる。以上の定義を用いて、同図のように各グループが定義されている。デジタルカメラグループ1は、入力カラープロファイルタイプ1、出力カラープロファイルタイプ0、デジタルカメラ用制御コマンドタイプ1、USBインタフェース、拡張機能無しの特性を持つデジタルカメラのグループを表す。デジタルカメラグループ2は、入力カラープロファイルタイプ2、出力カラープロファイルタイプ0、デジタルカメラ用制御コマンドタイプ1、USBインタフェース、拡張機能無しの特性を持つデジタルカメラのグループを表す。デジタルカメラグループ3は、入力カラープロファイルタイプ3、出力カラープロファイルタイプ0、デジタルカメラ用制御コマンドタイプ2、IrDAインタフェース、拡張機能無しの特性を持つデジタルカメラのグループを表す。プリンタグループ1は、入力カラープロファイルタイプ0、出力カラープロファイルタイプ1、プリンタ用制御コマンドタイプ1、USBインタフェース、拡張機能無しの特性を持つプリンタのグループを表す。プリンタグループ2は、入力カラープロファイルタイプ0、出力カラープロファイルタイプ2、プリンタ用制御コマンドタイプ1、USBインタフェース、拡張機能無しの特性を持つプリンタのグループを表す。プリンタグループ3は、入力カラープロファイルタイプ0、出力カラープロファイルタイプ2、プリンタ用制御コマンドタイプ1、IrDAインタフェース、拡張機能無しの特性を持つプリンタのグループを表す。グループのマスクは、図13で後述する機種(モデル)の定義とビットの論理ANDをとることにより、その機種(モデル)のグループを特定することができる。
ここで、同一グループに所属する機種(モデル)が複数存在する例に関して説明する。デジタルカメラやプリンタ等は数多くのラインナップから構成されて販売されるケースが多く、仕様(特性)が同一であっても、外装を変えることで差別化を図り、機種名(モデル名)を変えて販売される場合がある。また、同一機種であっても、日本国内向けの機種名と外国向けの機種名とを分ける場合もある。このように、仕様(特性)が同一であるにもかかわらず、機種名が異なる多数の機種が存在するのである。本発明では各機種をその特性に応じてグループ化することで、図14で後述するように処理ステップを削減できるので、処理の高速化及びプログラムサイズの削減が実現できる。
図13は本発明におけるデジタルカメラやプリンタの各機種(モデル)の定義を表す図である。同図において、デジタルカメラA(MDL_CAMERA_A)はデジタルカメラグループ1のシリアル番号1の機種(モデル)であることを表している。デジタルカメラB(MDL_CAMERA_B)はデジタルカメラグループ1のシリアル番号2の機種(モデル)であることを表している。デジタルカメラC(MDL_CAMERA_C)はデジタルカメラグループ3のシリアル番号1の機種(モデル)であることを表している。デジタルカメラD(MDL_CAMERA_D)はデジタルカメラグループ2のシリアル番号1の機種(モデル)であることを表している。デジタルカメラE(MDL_CAMERA_E)はデジタルカメラグループ2のシリアル番号2の機種(モデル)であることを表している。プリンタA(MDL_PRINTER_A)はプリンタグループ1のシリアル番号1の機種(モデル)であることを表している。プリンタB(MDL_PRINTER_B)はプリンタグループ2のシリアル番号1の機種(モデル)であることを表している。プリンタC(MDL_PRINTER_C)はプリンタグループ2のシリアル番号2の機種(モデル)であることを表している。プリンタD(MDL_PRINTER_D)はプリンタグループ2のシリアル番号3の機種(モデル)であることを表している。プリンタE(MDL_PRINTER_E)はプリンタグループ3のシリアル番号1の機種(モデル)であることを表している。
このように、本発明では1機種あたり1つのunsigned longの定数でそれぞれの機種及びその特性を定義することで、図16、図17で後述する従来例に比べ、1/3のプログラム領域を確保すればよく、ROM11の容量を削減でき、コストダウンを図ることができる。また、入力機器(デジタルカメラ)や出力機器(プリンタ)を同一プログラムで制御することも可能となるので、効率化が実現できる。ここで、デジタルカメラ5はデジタルカメラA、デジタルカメラ7はデジタルカメラE、プリンタ1はプリンタAである。
図16は従来例におけるデジタルカメラの各機種(モデル)の定義を表す図である。同図において、デジタルカメラA〜Eはそれぞれ0〜4の定数で表されている。入力カラープロファイルタイプ0〜3は、それぞれ0〜3の定数で表されている。デジタルカメラ用制御コマンドタイプ1、2はそれぞれ0、1の定数で表されている。デジタルカメラの特性を表す情報データベース(テーブル)用構造体はcamera_tbl_strで定義されており、デジタルカメラの機種(モデル)を表すメンバーcamera_id、入力カラープロファイルタイプを表すメンバーin_color_profile、デジタルカメラ用制御コマンドを表すメンバーcmd_typeから構成される。CameraTypeTblはデジタルカメラの特性を表すデータベース(テーブル)であり、デジタルカメラA〜Eの特性がテーブル上にデータベース化されている。このように、従来例では1機種あたり3つのunsigned longの定数を用いて、それぞれの機種及びその特性が定義されている。本発明では同様な内容を表す定義を図13のデジタルカメラの定義にて行っており、1機種あたり1つのunsigned longの定数でそれぞれの機種及びその特性が定義されている。従って、従来の定義に比べ、1/3のプログラム領域を確保すればよく、ROM11の容量を削減でき、コストダウンを図ることができる。
図17は従来例におけるプリンタの各機種(モデル)の定義を表す図である。同図において、プリンタA〜Eはそれぞれ0〜4の定数で表されている。出力カラープロファイルタイプ0〜2は、それぞれ0〜2の定数で表されている。プリンタ用制御コマンドタイプ1は10の定数で表されている。プリンタの特性を表す情報データベース(テーブル)用構造体はprinter_tbl_strで定義されており、プリンタの機種(モデル)を表すメンバーprinter_id、出力カラープロファイルタイプを表すメンバーout_color_profile、プリンタ用制御コマンドを表すメンバーcmd_typeから構成される。PrinterTypeTblはプリンタの特性を表すデータベース(テーブル)であり、プリンタA〜Eの特性がテーブル上にデータベース化されている。このように、従来例では1機種あたり3つのunsigned longの定数を用いて、それぞれの機種及びその特性が定義されている。本発明では同様な内容を表す定義を図13のプリンタの定義にて行っており、1機種あたり1つのunsigned longの定数でそれぞれの機種及びその特性が定義されている。従って、従来の定義に比べ、1/3のプログラム領域を確保すればよく、ROM11の容量を削減でき、コストダウンを図ることができる。
図10は従来例におけるデジタルカメラに保存されている画像ファイル(写真)をプリンタで印刷する時のプリンタの動作を表すフローチャートである。この従来例の説明では印刷対象画像の選択等の操作は図4で説明したものと同様であるので、ここでは省略する。今、ある画像ファイルが選択されていると仮定する。印刷ボタンがタッチされて印刷が開始されると(S1001)、接続されているデジタルカメラの機種ID(デバイスID)を取得し(S1002)、取得された機種IDをデバイス識別定数(図16に記述)に変換する(S1003)。デジタルカメラAの場合(S1004)、デジタルカメラA用のコマンドを使ってデジタルカメラAを制御し、デジタルカメラA用の入力カラープロファイルを使用して色補正を行い、印刷を行うというデジタルカメラA用の処理を行い(S1010)、印刷が終了する(S1015)。デジタルカメラBの場合(S1005)、同様なデジタルカメラB用の処理を行い(S1011)、印刷が終了する(S1015)。デジタルカメラCの場合(S1006)、同様なデジタルカメラC用の処理を行い(S1012)、印刷が終了する(S1015)。デジタルカメラDの場合(S1007)、同様なデジタルカメラD用の処理を行い(S1013)、印刷が終了する(S1015)。デジタルカメラEの場合(S1008)、同様なデジタルカメラE用の処理を行い(S1014)、印刷が終了する(S1015)。デジタルカメラA〜Eに該当しない場合(S1008)、接続されているデジタルカメラがサポートされていない旨を表示し(S1009)、印刷を終了する。このように、接続されているデジタルカメラの判別結果に従って、それぞれの機種毎に似たような処理が重複した形で、実装されていた。実装の詳細に関しては、図18で後述する。
図18は図10で説明した従来例におけるデジタルカメラに保存されている画像ファイル(写真)をプリンタで印刷する処理を実装する際のプログラムの例を表す図である。同図において、コメントで記述されている各ステップを表す番号S10xxは、その処理が、図10における同一番号の処理に該当することを表している。このように従来例では、27の主なステップが必要であった。
図6、図7、図8、図9は本実施例の動作を表すフローチャートであり、これらの図面に従って動作の説明をする。図6はプリンタ1の写真表示モードの動作を表すフローチャートである。同図において、プリンタ1が写真表示モードの時(S601)、デジタルカメラ5内に保存されている対象写真のファイルのロード及び色補正を行い(S602)、成功(TRUE)の場合(S603)、デバイス非依存色空間データに対してディスプレイ2用の出力カラープロファイルを用いて色補正を行って表示出力画像データを生成し(S604)、ディスプレイ2にその写真(ファイル)、すなわち、表示出力画像データの内容を表示する(S605)。戻るボタン27または進むボタン28がタッチされた場合(S606)、そのボタンに従って、対象写真を一つ前の写真に戻すか、または、次の写真に進めて変更し(S610)、ステップS602へ戻る。ステップS606において戻るボタン27または進むボタン28の何れもタッチされていない場合で、印刷ボタン29がタッチされた場合(S607)、記録部18を制御するコマンドの設定及び色補正を行い(S608)、印刷を行う(S609)。印刷が終了したらステップS605に戻る。ステップS607において印刷ボタン29がタッチされていない場合、ステップS606へ戻る。ステップS603において失敗(FALSE)の場合、ステップS602に戻る。このように、プリンタ1は、接続されているデジタルカメラ5内に保存されている写真をディスプレイ2に表示したり、印刷することができる。
図7は図6のステップS602のファイルのロード及び色補正の処理を表すフローチャートである。同図において、ファイルのロード及び色補正の処理が開始されると(S701)、デジタルカメラ5の機種ID(デバイスID)を取得し(S702)、取得された機種IDをデバイス識別情報(図13に記述)に変換する(S703)。デジタルカメラグループ1の場合(S704)、コマンドをデジタルカメラグループ1用の制御コマンドに設定し(S708)、入力カラープロファイルをデジタルカメラグループ1用の入力カラープロファイルに設定し(S709)、前記コマンドを用いてデジタルカメラ5を制御してデジタルカメラ5内に保存されている対象写真のファイル(JPEG形式のファイル)をロードし(S716)、JPEG形式からビットイメージデータ形式に変換し(S717)、前記ビットイメージデータに対して前記入力カラープロファイルを用いて色補正を行ってデバイス非依存色空間データを生成し(S718)、成功したことを表すTRUEを返してこの処理を終了する(S719)。ステップS704においてデジタルカメラグループ1でない場合で、デジタルカメラグループ2の場合(S705)、コマンドをデジタルカメラグループ2用の制御コマンドに設定し(S710)、入力カラープロファイルをデジタルカメラグループ2用の入力カラープロファイルに設定し(S711)、ステップS716へ進む。ステップS705においてデジタルカメラグループ2でない場合で、デジタルカメラグループ3の場合(S706)、コマンドをデジタルカメラグループ3用の制御コマンドに設定し(S712)、入力カラープロファイルをデジタルカメラグループ2用の入力カラープロファイルに設定し(S713)、ステップS716へ進む。ステップS706においてデジタルカメラグループ3でない場合、図11に記述されているサポート外のデジタルカメラが接続されていることを表す警告メッセージをディスプレイ2に表示し(S714)、継続ボタン31がタッチされた場合(S715)、ステップS708へ進む。ステップS715において、中止ボタン32がタッチされた場合、失敗したことを表すFALSEを返してこの処理を終了する(S720)。
図8は図6のステップS608の記録部18を制御するコマンドの設定及び色補正の処理を表すフローチャートである。同図において、記録部18を制御するコマンドの設定及び色補正の処理が開始されると(S801)、記録部18を制御する印刷制御データ(コマンド)を設定し(S802)、出力カラープロファイルを記録部18用の出力カラープロファイルに設定し(S803)、図7のステップS718で生成されたデバイス非依存色空間データに対して前記出力カラープロファイルを用いて色補正を行って記録部18用の記録出力(印刷)画像データを生成し(S804)、リターンしてこの処理を終了する(S805)。
図9は複数機種のプリンタを同一プログラムで制御する場合の図6のステップS608の記録部18を制御するコマンドの設定及び色補正の処理を表すフローチャートである。同図において、記録部18を制御するコマンドの設定及び色補正の処理が開始されると(S901)、プリンタ1の機種IDを取得(確認)し(S902)、取得された機種IDをデバイス識別情報(図13に記述)に変換する(S903)。プリンタグループ1の場合(S904)、記録部18を制御する印刷制御コマンドをプリンタグループ1用の制御コマンドに設定し(S907)、記録部18用の出力カラープロファイルをプリンタグループ1用の出力カラープロファイルに設定し(S908)、図7のステップS718で生成されたデバイス非依存色空間データに対して前記出力カラープロファイルを用いて色補正を行って記録部18用の記録出力(印刷)画像データを生成し(S913)、リターンしてこの処理を終了する(S914)。
図14は図7で説明したファイルのロード及び色補正の処理を実装する際のプログラムの例を表す図である。同図において、コメントで記述されている各ステップを表す番号S7xxは、その処理が、図7における同一番号の処理に該当することを表している。このように同図の14の主なステップと、図6のステップS608、S609の合計16の主なステップで実装することができる。これに対し、従来例では図18に示す通り、27の主なステップが必要であったので、本発明では従来例に比べて、その差である11ステップ分の処理の高速化及びプログラムサイズの削減が実現できる。
図15は図14の実装方法に工夫を加え、グループで処理を切り分けるのではなく、必要な特性で処理を切り分けることにより、さらなる高速化及びプログラムサイズの削減を行ったプログラムの例を表す図である。同図において、コメントで記述されている各ステップを表す番号S701、S702、S703、S715、S716、S717は、その処理が、図7における同一番号の処理に該当することを表している。また、S720、S721は今回工夫した点、すなわち、必要な特性で処理を切り分けているステップである。このように同図の7の主なステップと、図6のステップS608、S609の合計9の主なステップで実装することができる。これにより、図18で示す従来例に比べて、18ステップ分の処理の高速化及びプログラムサイズの削減が実現できる。本実施例では詳細説明は省略するが、図12で示されている特性の1つであるI/F情報によって処理を切り分けることも非常に効果的であり、同様な効果として、処理の高速化及びプログラムサイズの削減が実現できる。
以上、本発明について説明したが、このように本発明では、図12及び図13に示す通り、デジタルカメラ(入力機器)やプリンタ(出力機器)等の各機種(モデル)を、入力カラープロファイルタイプ、出力カラープロファイルタイプ、制御コマンドタイプ、I/F情報、拡張機能情報を表すビット郡から構成されるunsigned long(32ビット)の定数のデバイス識別情報として表し、1機種あたり1つのunsigned longの定数でそれぞれの機種及びその特性を定義することで、図16、図17で示される従来例に比べ、1/3のプログラム領域を確保すればよく、ROM11の容量を小さくでき、コストダウンを実現できる。
本発明ではunsigned longの型の定数でデバイス識別情報を定義したが、この型に限られることなく、使用目的(含まれる特性)やCPUの性能等により、unsigned short(16ビット)やdouble(64ビット)等の型で定義することもできる。但し、CPUの処理能力に合わせるのが最も理想的である(例えば、32ビットCPUならunsigned long(32ビット)の型のデバイス識別情報)。
本発明では図12で示す通り、各機種をその特性に応じてグループ化し、グループ毎に処理を切り分けることで、図14で示すように処理ステップを削減できるので、処理の高速化及びプログラムサイズの削減が実現できる。
本発明では図15で示す通り、必要な特性で処理を切り分けることにより、さらなる処理の高速化及びプログラムサイズの削減が実現できる。
本実施例においては、入力機器の例としてデジタルカメラを、出力機器の例としてプリンタを利用したが、この例に限られることなく、任意の入力機器や出力機器等の機器に活用することができる。
本実施例においては、例として、入力機器(デジタルカメラ)と出力機器(プリンタ)から構成されるシステムの実施例を挙げたが、この例に限られることなく、例えば、ホストとなるパーソナルコンピュータと、スキャナ等の入力機器と、プリンタやディスプレイ等の出力機器から構成されるシステムにおいても、活用することができる。
本実施例においては、機器の各特性の例として、入力カラープロファイルタイプ、出力カラープロファイルタイプ、制御コマンドタイプ、I/F情報、拡張機能情報を挙げたが、これらの例に限られることなく、機器の特徴を表す任意の特性を活用することができる。
本実施例においては、インタフェース(I/F)の例として、USB、IrDA、Bluetoothを利用したが、これらのインタフェースに限られることなく、データ通信が可能な任意のインタフェースを活用して実現することが可能である。
本実施例においては、デジタルカメラに保存されている写真(画像ファイル)の形式として、JPEG形式を利用したが、この形式に限られることなく、任意の形式の画像ファイルを活用して実現することが可能である。
本発明のデバイス識別処理方法を実施したシステムの構成を表す図 プリンタ1の内部ハードウェア構成を表すブロック図 プリンタ制御プログラム19の構成を表すブロック図 画像(写真)表示モードにおけるディスプレイ2の表示内容を表す図 印刷中におけるディスプレイ2の表示内容を表す図 プリンタ1の写真表示モードの動作を表すフローチャート ファイルのロード及び色補正の処理を表すフローチャート 記録部18を制御するコマンドの設定及び色補正の処理を表すフローチャート 記録部18を制御するコマンドの設定及び色補正の処理を表すフローチャート 従来例におけるデジタルカメラに保存されている画像ファイル(写真)をプリンタで印刷する時のプリンタの動作を表すフローチャート プリンタ1がサポートしていないデジタルカメラが接続された時におけるディスプレイ2の表示内容を表す図 本発明におけるデジタルカメラやプリンタの各機種(モデル)をいくつかのグループに分ける為の定義を表す図 本発明におけるデジタルカメラやプリンタの各機種(モデル)の定義を表す図 ファイルのロード及び色補正の処理を実装する際のプログラムの例を表す図 さらなる高速化及びプログラムサイズの削減を行ったプログラムの例を表す図 従来例におけるデジタルカメラの各機種(モデル)の定義を表す図 従来例におけるプリンタの各機種(モデル)の定義を表す図 従来例におけるデジタルカメラに保存されている画像ファイル(写真)をプリンタで印刷する処理を実装する際のプログラムの例を表す図
符号の説明
1 プリンタ
2 ディスプレイ
3 操作ボタン
4 USBポート(スレーブ)
5 デジタルカメラ
6 USBポート(ホスト)
7 デジタルカメラ
8 USBポート(ホスト)
9 USBケーブル
10 CPU
11 ROM
12 RAM
13 入力画像処理部
14 出力画像処理部
15 通信部
16 表示部
17 操作部
18 記録部
19 プリンタ制御プログラム
20 UI制御部
21 ファイル制御部
22 入力画像変換処理部
23 出力画像変換処理部
24 記録処理部
25 ビューア
26 ファイル名表示部
27 戻るボタン
28 進むボタン
29 印刷ボタン
30 キャンセルボタン
31 継続ボタン
32 中止ボタン

Claims (14)

  1. 装置を識別するための装置固有の装置識別定数を用いて各処理を行うシステムにおけるデバイス識別処理方法であって、前記装置識別定数は各装置の一つまたは複数の特性を含み、前記装置識別定数からその中に含まれている特性を読み出し、その特性に適した処理を行うことを特徴とするデバイス識別処理方法。
  2. 入力装置と出力装置から構成され、各装置を識別するための装置固有の装置識別定数を用いて各処理を行うシステムにおけるデバイス識別処理方法であって、前記装置識別定数は各装置の入力特性または出力特性を含み、前記装置識別定数からその中に含まれている特性を読み出し、その特性に適した処理を行うことを特徴とするデバイス識別処理方法。
  3. ホストコンピュータ装置と入力装置と出力装置から構成され、前記ホストコンピュータ装置を制御するプログラム内で使用され、各装置を識別するための装置固有の装置識別定数を用いて各処理を行うシステムにおけるデバイス識別処理システムであって、前記装置識別定数は各装置の入力特性または出力特性を含み、前記装置識別定数からその中に含まれている特性を読み出し、その特性に適した処理を行うことを特徴とするデバイス識別処理方法。
  4. データ通信が可能なインタフェースを備える複数の装置から構成され、各装置が前記インタフェースを介して接続されて構成されるシステムにおけるデバイス識別処理方法であって、このシステム内のある装置である装置1を制御するプログラム内で使用され各装置を識別するための装置固有の装置識別定数を用いて、装置1は各処理を行い、前記装置1は、前記装置1に接続されている装置である装置2から機種情報を取得し、この機種情報をもとに装置2の装置識別定数を導き出し、この装置識別定数は装置2の一つまたは複数の特性を含み、装置1は装置2の装置識別定数からその中に含まれている特性を読み出し、その特性に適した処理を行うことを特徴とするデバイス識別処理方法。
  5. 機種情報はデバイスIDで構成されることを特徴とする請求項4記載のデバイス識別処理方法。
  6. 前記装置識別定数は各装置の制御命令の特性を含むことを特徴とする請求項1乃至4何れか記載のデバイス識別処理方法。
  7. 前記装置識別定数は各装置のインタフェースの特性を含むことを特徴とする請求項1乃至4何れか記載のデバイス識別処理方法。
  8. 前記装置識別定数は各装置の拡張機能の特性を含むことを特徴とする請求項1乃至4何れか記載のデバイス識別処理方法。
  9. 入力装置と出力装置から構成され、前記装置識別定数は各装置の入力特性または出力特性を含むことを特徴とする請求項4記載のデバイス識別処理方法。
  10. 入力装置はデジタルカメラ、スキャナ等で構成されることを特徴とする請求項2、3、9何れか記載のデバイス識別処理方法。
  11. 出力装置はプリンタ、ディスプレイ等で構成されることを特徴とする請求項2、3、9何れか記載のデバイス識別処理方法。
  12. 前記装置識別定数は、各装置を制御する中央処理装置の処理能力(ビット数)と同じビット数の型で定義されることを特徴とする請求項1乃至4何れか記載のデバイス識別処理方法。
  13. 前記装置識別定数に含まれている特性に従って、各装置をグループ化することを特徴とする請求項1乃至4何れか記載のデバイス識別処理方法。
  14. 前記装置識別定数は、前記グループ化されたグループ情報と、グループ内で固有の番号から構成され、前記装置識別定数からその中に含まれているグループ情報を読み出し、その情報に適した処理を行うことを特徴とする請求項1乃至4何れか記載のデバイス識別処理方法。
JP2005053347A 2005-02-28 2005-02-28 デバイス識別処理方法 Withdrawn JP2006236242A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005053347A JP2006236242A (ja) 2005-02-28 2005-02-28 デバイス識別処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005053347A JP2006236242A (ja) 2005-02-28 2005-02-28 デバイス識別処理方法

Publications (1)

Publication Number Publication Date
JP2006236242A true JP2006236242A (ja) 2006-09-07

Family

ID=37043789

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005053347A Withdrawn JP2006236242A (ja) 2005-02-28 2005-02-28 デバイス識別処理方法

Country Status (1)

Country Link
JP (1) JP2006236242A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010086313A (ja) * 2008-09-30 2010-04-15 Canon Inc デバイスドライバインストーラ及びインストール方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010086313A (ja) * 2008-09-30 2010-04-15 Canon Inc デバイスドライバインストーラ及びインストール方法
US8448191B2 (en) 2008-09-30 2013-05-21 Canon Kabushiki Kaisha Device driver installer and installation method

Similar Documents

Publication Publication Date Title
JP4059027B2 (ja) プリンタおよびプリンタの印刷条件設定方法
EP1679878B1 (en) Method and apparatus for displaying printing progress status
US20050262274A1 (en) Print system, information processing device and control method for the same, printer and control method for the same, storage medium, and program
JP2007200235A (ja) リムーバブルメディア装置、リムーバブルメディア装置制御プログラムおよびネット機器制御プログラム
JP2005020101A (ja) 記録装置及びその記録制御方法
US7428068B2 (en) Printing system, printing system control method, program and storage medium
JP2007181029A (ja) 画像処理装置および画像処理装置の制御方法
US7815380B2 (en) Method and apparatus for creating new folder in built-in storage of image forming apparatus, and method and apparatus for storing data using the same
JP4702123B2 (ja) 表示制御装置、表示制御プログラム、画像記憶装置、通信プログラム、画像表示システム、および通信方法
CN101763230A (zh) 改变缩略图的方法和打印控制装置
JP2006236242A (ja) デバイス識別処理方法
JP5361399B2 (ja) 画像処理装置、画像処理装置の制御方法、及び制御プログラム
KR101219430B1 (ko) 인쇄방법, 상기 인쇄방법을 실행할 수 있는 프로그램이수록된 기록매체 및 호스트 장치
JP4909427B2 (ja) 画像記録システム及び画像検索方法
JP2006142615A (ja) ダイレクトプリンタ
JP4618447B2 (ja) プリンタおよびプリンタの印刷条件設定方法
JP2007043599A (ja) 画像処理装置および画像処理装置の制御方法
JP5003330B2 (ja) 画像データ処理装置および画像データ処理方法
KR100719113B1 (ko) 인쇄정보 기록을 위한 화상형성장치 및 사용자 단말장치그리고 그들의 기록방법
JP2005161592A (ja) 印刷装置
JP2008287393A (ja) 印刷システム、印刷制御装置、印刷システムの制御方法、ドライバプログラム、およびそのプログラムを記録した記録媒体
JP2006244281A (ja) 画像検索システム、画像検索装置、画像検索方法、プログラム及び記憶媒体
US20070091363A1 (en) Image storage apparatus and method
JP4125018B2 (ja) 画像記録装置及び画像処理装置とその制御方法
JP2005109681A (ja) 印刷装置と印刷プログラム

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20080513