(57)【要約】【課題】  入力装置や出力装置等から構成されるシステムにおいて、それぞれのデバイス（装置）に対応する為の処理を簡略化して高速化し、プログラムサイズを小さくし、コストダウンを実現することの出来るデバイス識別処理方法を提供する。【解決手段】  接続されている装置の機種情報（デバイスＩＤ）を取得し、この機種情報をその機種の特性を表す情報を含むデバイス識別情報に変換し、このデバイス識別情報内に含まれている特性を表す情報に従って各装置を制御するように構成する。また、入出力装置の特性を前記デバイス識別情報内に含めることで、複数の機種をサポートする統合版ドライバの処理の効率化を実現できることを特徴とする。【選択図】        図１
2006236242.tif 000002
【特許請求の範囲】
【請求項１】
装置を識別するための装置固有の装置識別定数を用いて各処理を行うシステムにおけるデバイス識別処理方法であって、前記装置識別定数は各装置の一つまたは複数の特性を含み、前記装置識別定数からその中に含まれている特性を読み出し、その特性に適した処理を行うことを特徴とするデバイス識別処理方法。
【請求項２】
入力装置と出力装置から構成され、各装置を識別するための装置固有の装置識別定数を用いて各処理を行うシステムにおけるデバイス識別処理方法であって、前記装置識別定数は各装置の入力特性または出力特性を含み、前記装置識別定数からその中に含まれている特性を読み出し、その特性に適した処理を行うことを特徴とするデバイス識別処理方法。
【請求項３】
ホストコンピュータ装置と入力装置と出力装置から構成され、前記ホストコンピュータ装置を制御するプログラム内で使用され、各装置を識別するための装置固有の装置識別定数を用いて各処理を行うシステムにおけるデバイス識別処理システムであって、前記装置識別定数は各装置の入力特性または出力特性を含み、前記装置識別定数からその中に含まれている特性を読み出し、その特性に適した処理を行うことを特徴とするデバイス識別処理方法。
【請求項４】
データ通信が可能なインタフェースを備える複数の装置から構成され、各装置が前記インタフェースを介して接続されて構成されるシステムにおけるデバイス識別処理方法であって、このシステム内のある装置である装置１を制御するプログラム内で使用され各装置を識別するための装置固有の装置識別定数を用いて、装置１は各処理を行い、前記装置１は、前記装置１に接続されている装置である装置２から機種情報を取得し、この機種情報をもとに装置２の装置識別定数を導き出し、この装置識別定数は装置２の一つまたは複数の特性を含み、装置１は装置２の装置識別定数からその中に含まれている特性を読み出し、その特性に適した処理を行うことを特徴とするデバイス識別処理方法。
【請求項５】
機種情報はデバイスＩＤで構成されることを特徴とする請求項４記載のデバイス識別処理方法。
【請求項６】
前記装置識別定数は各装置の制御命令の特性を含むことを特徴とする請求項１乃至４何れか記載のデバイス識別処理方法。
【請求項７】
前記装置識別定数は各装置のインタフェースの特性を含むことを特徴とする請求項１乃至４何れか記載のデバイス識別処理方法。
【請求項８】
前記装置識別定数は各装置の拡張機能の特性を含むことを特徴とする請求項１乃至４何れか記載のデバイス識別処理方法。
【請求項９】
入力装置と出力装置から構成され、前記装置識別定数は各装置の入力特性または出力特性を含むことを特徴とする請求項４記載のデバイス識別処理方法。
【請求項１０】
入力装置はデジタルカメラ、スキャナ等で構成されることを特徴とする請求項２、３、９何れか記載のデバイス識別処理方法。
【請求項１１】
出力装置はプリンタ、ディスプレイ等で構成されることを特徴とする請求項２、３、９何れか記載のデバイス識別処理方法。
【請求項１２】
前記装置識別定数は、各装置を制御する中央処理装置の処理能力（ビット数）と同じビット数の型で定義されることを特徴とする請求項１乃至４何れか記載のデバイス識別処理方法。
【請求項１３】
前記装置識別定数に含まれている特性に従って、各装置をグループ化することを特徴とする請求項１乃至４何れか記載のデバイス識別処理方法。
【請求項１４】
前記装置識別定数は、前記グループ化されたグループ情報と、グループ内で固有の番号から構成され、前記装置識別定数からその中に含まれているグループ情報を読み出し、その情報に適した処理を行うことを特徴とする請求項１乃至４何れか記載のデバイス識別処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデジタルカメラやスキャナ等の入力装置、プリンタやディスプレイ等の出力装置、ホストコンピュータ装置から構成されるシステムにおけるデバイス識別処理方法に関するものである。
【背景技術】
【０００２】
従来、例えばホストコンピュータと入力装置（デジタルカメラ）から構成されるシステムにおいて、デジタルカメラを制御するドライバとして複数の機種（デジタルカメラ）をサポートする統合版ドライバがある。このドライバでは、接続されている装置の機種情報（デバイスＩＤ）を取得し、この機種情報により各機種の特性に合わせて処理を切り分け、各機種に最適な処理となるように制御している。
【０００３】
また、ホストコンピュータを介さずに、デジタルカメラとプリンタをＵＳＢインタフェース等で直接接続し、デジタルカメラで撮影した写真画像をプリンタにて印刷するというシステムがあり、このようなシステムにおいても、プリンタに接続されているデジタルカメラの機種情報（デバイスＩＤ）を取得し、この機種情報により各デジタルカメラの特性に合わせて処理を切り分け、各デジタルカメラに最適な処理となるように制御している。
【０００４】
最近では、同一メーカーから様々なユーザーの使用目的に合わせて、上級機種、中級機種、初級機種等のラインナップで複数機種から構成されるシリーズ機器（デジタルカメラのシリーズ、または、プリンタのシリーズ等）が発売されるケースが多く、このようなケースにおいては、これらのシリーズ機器を制御するプログラム（ソフトウェア）の開発期間の短縮や開発費の削減を目的として、開発の効率化が図られており、その一つとして、シリーズ機器の各機種間で制御プログラム（ソフトウェア）の共有化が行われている。
【０００５】
また、特許文献１という技術がある。
【特許文献１】特開２０００−３４３７９４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来例では新機種（デジタルカメラ等）が増える度に、ドライバや制御プログラム内に機種情報を追加し、各機種情報毎にその新機種用の処理を追加していく工程が必要であり、処理が複雑になり、プログラムサイズも大きくなるという問題点があった。特に上記従来例の第２の例のようにホストコンピュータを介さないケースの場合、様々なデジタルカメラの特性に依存する処理を、全てプリンタ内のプログラムに組み込む必要があり、プリンタのＲＯＭ容量が大きくなり、コストアップにつながるという問題点となっていた。
【０００７】
また、上記従来例の第３の例において、シリーズ機器としてプリンタを考えた場合、各プリンタにおける最も重要な特徴（制御上異なる部分）として記録部の仕様の差が挙げられ、この記録部は同一プログラムで制御することができないので、制御プログラム（ソフトウェア）の共有化は行われていない。そのため、上述したように、プリンタの新機種が増える度に、制御プログラム内に新たに追加されるプリンタの機種情報を追加し、各機種情報毎にその新機種用の記録部を制御するプログラムを追加していく工程が必要であり、処理が複雑になり、プログラムサイズも大きくなるという問題点があった。
【０００８】
本発明は、上記問題点に着目してなされたものであって、入力装置や出力装置等から構成されるシステムにおいて、それぞれのデバイス（装置）に対応する為の処理を簡略化して高速化し、プログラムサイズを小さくし、コストダウンを実現することの出来るデバイス識別処理方法を提供することを目的とする。
【０００９】
つまり、本発明では機種情報をもとにその機種の特性を含む装置識別定数（デバイス識別情報）を導き出し、この装置識別定数内に含まれている特性を読み出して、その特性に適した処理を行うことで、上記問題点を解決し、処理を簡略化して高速化でき、また、プログラムサイズも小さくできる。その結果、各機器のＲＯＭに組み込まれる制御プログラムのサイズを小さくすることができ、コストダウンを実現できる。
【課題を解決するための手段】
【００１０】
上記課題を解決するために、本発明は以下の構成を備える。
【００１１】
（１）装置を識別するための装置固有の装置識別定数を用いて各処理を行うシステムにおいて、前記装置識別定数は各装置の一つまたは複数の特性を含み、前記装置識別定数からその中に含まれている特性を読み出し、その特性に適した処理を行うように構成した。
【００１２】
（２）入力装置と出力装置から構成され、各装置を識別するための装置固有の装置識別定数を用いて各処理を行うシステムにおいて、前記装置識別定数は各装置の入力特性または出力特性を含み、前記装置識別定数からその中に含まれている特性を読み出し、その特性に適した処理を行うように構成した。
【００１３】
（３）ホストコンピュータ装置と入力装置と出力装置から構成され、前記ホストコンピュータ装置を制御するプログラム内で使用され、各装置を識別するための装置固有の装置識別定数を用いて各処理を行うシステムにおいて、前記装置識別定数は各装置の入力特性または出力特性を含み、前記装置識別定数からその中に含まれている特性を読み出し、その特性に適した処理を行うように構成した。
【００１４】
（４）データ通信が可能なインタフェースを備える複数の装置から構成され、各装置が前記インタフェースを介して接続されて構成されるシステムにおいて、このシステム内のある装置（装置１）を制御するプログラム内で使用され各装置を識別するための装置固有の装置識別定数を用いて、装置１は各処理を行う。前記装置１は、前記装置１に接続されている装置（装置２）から機種情報を取得し、この機種情報をもとに装置２の装置識別定数を導き出し、この装置識別定数は装置２の一つまたは複数の特性を含み、装置１は装置２の装置識別定数からその中に含まれている特性を読み出し、その特性に適した処理を行うように構成した。
【００１５】
（５）上記（４）において、機種情報はデバイスＩＤで構成した。
【００１６】
（６）上記（１）乃至（４）何れかにおいて、前記装置識別定数は各装置の制御命令の特性を含むように構成した。
【００１７】
（７）上記（１）乃至（４）何れかにおいて、前記装置識別定数は各装置のインタフェースの特性を含むように構成した。
【００１８】
（８）上記（１）乃至（４）何れかにおいて、前記装置識別定数は各装置の拡張機能の特性を含むように構成した。
【００１９】
（９）上記（４）において、入力装置と出力装置から構成され、前記装置識別定数は各装置の入力特性または出力特性を含むように構成した。
【００２０】
（１０）上記（２）、（３）、（９）何れかにおいて、入力装置はデジタルカメラ、スキャナ等で構成した。
【００２１】
（１１）上記（２）、（３）、（９）何れかにおいて、出力装置はプリンタ、ディスプレイ等で構成した。
【００２２】
（１２）上記（１）乃至（４）何れかにおいて、前記装置識別定数は、各装置を制御する中央処理装置の処理能力（ビット数）と同じビット数の型で定義した。
【００２３】
（１３）上記（１）乃至（４）何れかにおいて、前記装置識別定数に含まれている特性に従って、各装置をグループ化した。
【００２４】
（１４）上記（１）乃至（４）何れかにおいて、前記装置識別定数は、前記グループ化されたグループ情報と、グループ内で固有の番号から構成され、前記装置識別定数からその中に含まれているグループ情報を読み出し、その情報に適した処理を行うように構成した。
【発明の効果】
【００２５】
本発明では、次のような効果が得られる。
【００２６】
（１）各機器の特性を含んだデバイス識別情報を用いることで、処理を簡略化して高速化できる。
【００２７】
（２）各機器の特性を含んだデバイス識別情報を用いることで、プログラムサイズを小さくできる。
【００２８】
（３）前記（２）より、機器のＲＯＭの容量を小さくすることが可能となるので、コストダウンを実現できる。
【００２９】
（４）入力機器（デジタルカメラ、スキャナ等）や出力機器（プリンタ、ディスプレイ等）を同一プログラムで制御することが可能となるので、開発の効率化が実現できる。
【００３０】
（５）様々なインタフェースや拡張機能を備える機器を同一プログラムで制御することが可能となるので、開発の効率化が実現できる。
【００３１】
（６）デバイス識別情報を、各機器を制御する中央処理装置（ＣＰＵ）の処理能力（ビット数）と同じビット数の型で定義することにより、中央処理装置の能力を効率良く最大限に引き出すことができるので、高速化を実現できる。
【００３２】
（７）各機器をグループ化することで、処理を簡略化して高速化できる。
【００３３】
（８）デバイス識別情報をグループ情報とグループ内の固有の番号から構成することで、それぞれの機器に固有のデバイス識別情報を容易に実現できる。
【発明を実施するための最良の形態】
【００３４】
以下、図面に示す実施例に基づき本発明を詳細に説明する。
【実施例】
【００３５】
以下において、ＵＳＢはＵｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓの略であり、双方向データ通信が可能な公知のインタフェースであるので、その詳細説明は省略する。ＩｒＤＡはＩｎｆｒａｒｅｄ  Ｄａｔａ  Ａｓｓｏｃｉａｔｉｏｎが規格した双方向データ通信が可能な公知の無線インタフェースであるので、その詳細説明は省略する。Ｂｌｕｅｔｏｏｔｈは双方向データ通信が可能な公知の無線インタフェースであるので、その詳細説明は省略する。ＪＰＥＧは公知の画像圧縮形式であるので、その詳細説明は省略する。
【００３６】
図１は本発明のデバイス識別処理方法を実施したシステムの構成を表す図である。同図において、１はプリンタである。２はプリンタ１に装備されているタッチパネル液晶ディスプレイ（ＬＣＤ）であり、このディスプレイに表示されたボタン等をユーザーが指で操作することが可能である。３はプリンタ１に装備されている操作ボタンであり、電源ボタン、リセットボタン、各種印刷機能やプリンタが搭載するその他の機能（モード）を切り換える為の機能切り換えボタン、文字や数字を入力することが可能な入力ボタン等から構成され、プリンタ１を制御したり、ディスプレイ２の内容に入力を行ったりすることができる。４はプリンタ１に装備されているＵＳＢポート（スレーブ）であり、デジタルカメラやパーソナルコンピュータ等のホスト機能を備える機器とＵＳＢケーブルで接続することにより、ＵＳＢを利用した双方向データ通信が可能である。５、７はデジタルカメラであり、任意の被写体を撮影してデジタル画像ファイルの１つであるＪＰＥＧ形式の画像ファイルに保存することができる。６はデジタルカメラ５に装備されているＵＳＢポート（ホスト）であり、プリンタ等のスレーブ機能を備える機器とＵＳＢケーブルで接続することにより、ＵＳＢを利用した双方向データ通信が可能である。８はデジタルカメラ７に装備されているＵＳＢポート（ホスト）であり、プリンタ等のスレーブ機能を備える機器とＵＳＢケーブルで接続することにより、ＵＳＢを利用した双方向データ通信が可能である。９はＵＳＢケーブルである。同図では、デジタルカメラ５とプリンタ１とがＵＳＢケーブル９を介して接続されている状態を表しており、プリンタ１を操作することにより、デジタルカメラ５で撮影されて保存されている画像ファイルをプリンタ１にて直接印刷することができる。この印刷に関する詳細説明は後述する。
【００３７】
図２はプリンタ１の内部ハードウェア構成を表すブロック図である。同図において、１０は３２ビットのマイクロプロセッサ等から構成されるＣＰＵであり、プリンタ１の中央処理装置として、ＲＯＭ１１に記憶されているプログラムに従って、ＲＡＭ１２、入力画像処理部１３、出力画像処理部１４、通信部１５、表示部１６、操作部１７、記録部１８を制御する。ＲＯＭ１１にはプリンタ１を制御するプリンタ制御プログラム１９（図３にて後述する）に従ってプリンタ１が記録（印刷）処理を行うプログラムが記憶されている。ＲＡＭ１２には、主にデジタルカメラから送られてくる画像ファイル、その画像ファイルをもとに生成される印刷制御データ（コマンド）、パーソナルコンピュータから送られてくる印刷制御データ（コマンド）が、一時的に記憶される。入力画像処理部１３は、ＪＰＥＧ形式の画像ファイルをビットイメージデータ（Ｂｉｔｓ  Ｉｍａｇｅ  Ｄａｔａ（ＢＩＤと略す））に変換したり、デジタルカメラから送られてくる画像ファイルから生成されたビットイメージデータ（入力画像データ）に色補正を行い、デバイス非依存色空間（Ｄｅｖｉｃｅ  Ｉｎｄｅｐｅｎｄｅｎｔ  Ｃｏｌｏｒ  Ｓｐａｃｅ（ＤＩＣＳと略す））データに変換したりするハードウェアから構成される。出力画像処理部１４は、デバイス非依存色空間データに色補正を行って記録出力（印刷）画像データやディスプレイ２への表示出力画像データを生成したり、記録出力画像データから印刷制御データ（コマンド）を生成したりするハードウェアから構成される。通信部１５はＵＳＢポート４とＵＳＢ通信を制御するハードウェアから構成され、ＵＳＢの通信を制御する。表示部１６はディスプレイ２から構成され、ユーザーインタフェースとして、プリンタ１の各種印刷機能やその状態を表示したり、デジタルカメラに保存されている画像ファイルを開いて表示したりすることができる。操作部１７は操作ボタン３やディスプレイ２のタッチパネルからの入力を制御する。記録部１８は、インクジェット方式の記録ヘッド、各カラーインク、キャリッジ、記録紙搬送機構等から構成される記録ユニットと、前記印刷制御データ（コマンド）をもとに前記記録ヘッドにて印字用パルスを発生させる為のＡＳＩＣ等から構成される電気回路とから構成され、前記前記印刷制御データ（コマンド）をもとに前記記録ヘッドにて発生された印字用パルスによって、前記各カラーインクが前記記録ヘッドから噴射され、記録紙上にカラー印刷することができる。
【００３８】
図３はＲＯＭ１１に記憶されているプリンタ制御プログラム１９の構成を表すブロック図である。同図において、２０はＵＩ制御部であり、表示部１６や操作部１７を制御するプログラムであり、ディスプレイ２の表示、ディスプレイ２のタッチパネルからの入力、操作ボタン３からの入力等を制御する。２１はファイル制御部であり、入力画像処理部１３を制御するプログラムであり、デジタルカメラを制御するコマンドの作成、デジタルカメラからの画像ファイルの取り込み、ＪＰＥＧ形式の画像ファイルからビットイメージデータへの変換等を制御する。２２は入力画像変換処理部であり、入力画像処理部１３を制御するプログラムであり、デジタルカメラから送られてくる画像ファイルから生成されたビットイメージデータ（入力画像データ）に色補正を行い、デバイス非依存色空間データに変換する処理等を制御する。２３は出力画像変換処理部であり、出力画像処理部１４を制御するプログラムであり、デバイス非依存色空間データに色補正を行って記録部１８用の記録出力（印刷）画像データやディスプレイ２用の表示出力画像データを生成したり、記録出力画像データから印刷制御データ（コマンド）を生成したりする処理等を制御する。２４は記録処理部であり、記録部１８を制御するプログラムであり、前記印刷制御データ（コマンド）を解析しながら記録出力（印刷）等を制御する。
【００３９】
図４は画像（写真）表示モードにおけるディスプレイ２の表示内容を表す図である。同図では、デジタルカメラ５に保存されている画像ファイル（写真）をプリンタ１に取り込んで表示しているところを表している。同図において、２５はビューアであり、現在プリンタ１に取り込まれている画像ファイルの内容が表示される。２６はファイル名表示部であり、表示している画像ファイルのファイル名が表示される。２７は前の画像へ戻る為のタッチパネルを利用した戻るボタンであり、このボタンをタッチすることにより、現在ビューア２５に表示されている画像ファイルより一つ前の、デジタルカメラ５に保存されている画像ファイルをプリンタ１に取り込み、ビューア２５及びファイル名表示部２６に表示する。２８は次の画像へ進む為のタッチパネルを利用した進むボタンであり、このボタンをタッチすることにより、現在ビューア２５に表示されている画像ファイルの次の、デジタルカメラ５に保存されている画像ファイルをプリンタ１に取り込み、ビューア２５及びファイル名表示部２６に表示する。２９はタッチパネルを利用した印刷ボタンであり、このボタンをタッチすることにより、ビューア２５に表示されている画像をプリンタ１にて印刷することができる。
【００４０】
図５は印刷中におけるディスプレイ２の表示内容を表す図である。同図において、ビューア２５には印刷中を表すメッセージが表示されている。３０はタッチパネルを利用したキャンセルボタンであり、このボタンをタッチすることにより、印刷をキャンセル（中止）することができる。
【００４１】
図１１はプリンタ１がサポートしていないデジタルカメラが接続された時におけるディスプレイ２の表示内容を表す図である。同図において、ビューア２５にはサポート外のデジタルカメラが接続されていることを表す警告メッセージが表示されている。３１はタッチパネルを利用した継続ボタンであり、このボタンをタッチすることにより、処理を継続することができる。３２は中止ボタンであり、このボタンをタッチすることにより、処理を中止することができる。
【００４２】
図１２は本発明におけるデジタルカメラやプリンタの各機種（モデル）をいくつかのグループに分ける為の定義を表す図であり、本発明の特徴を最もよく表す図である。同図に示す通り、各機種（モデル）はｕｎｓｉｇｎｅｄ  ｌｏｎｇ（３２ビット）の定数のデバイス識別情報として表される。ここで、ｕｎｓｉｇｎｅｄ  ｌｏｎｇの定数としてデバイス識別情報を定義しているのは、ＣＰＵ１０が３２ビットのマイクロプロセッサであることから、これが最も理想的な定数の定義であるからである。そして、このデバイス識別情報は、入力カラープロファイルタイプ、出力カラープロファイルタイプ、制御コマンドタイプ、Ｉ／Ｆ情報、拡張機能情報、リザーブを表すビット郡から構成される。入力カラープロファイルタイプの定義は、本実施例ではＩＮ０〜ＩＮ３の４種類である。入力カラープロファイルタイプのマスクは、図１３で後述する機種（モデル）の定義とビットの論理ＡＮＤをとることにより、その機種（モデル）の入力カラープロファイルタイプを特定することができる。出力カラープロファイルタイプの定義は、本実施例ではＯＵＴ０〜２の３種類である。出力カラープロファイルタイプのマスクは、図１３で後述する機種（モデル）の定義とビットの論理ＡＮＤをとることにより、その機種（モデル）の出力カラープロファイルタイプを特定することができる。シリアル番号は同一グループに含まれる各機種（モデル）を特定する為の番号であり、本実施例ではＳＲＮ＿０００１〜ＳＲＮ＿０００４の４つが定義されている。すなわち、同一グループに所属する機種を４機種迄定義することができる。シリアル番号のマスクは、図１３で後述する機種（モデル）の定義とビットの論理ＡＮＤをとることにより、その機種（モデル）のシリアル番号を特定することができる。制御コマンドタイプは、本実施例では、デジタルカメラ用としてＣＭＤ＿Ｃ１、ＣＭＤ＿Ｃ２の２種類、プリンタ用としてＣＭＤ＿Ｐ１の１種類が定義されている。制御コマンドタイプのマスクは、図１３で後述する機種（モデル）の定義とビットの論理ＡＮＤをとることにより、その機種（モデル）の制御コマンドタイプを特定することができる。Ｉ／Ｆ情報の定義は、本実施例では、ＵＳＢを表すＩＦ＿ＵＳＢ、ＩｒＤＡを表すＩＦ＿ＩＲＤＡ、Ｂｌｕｅｔｏｏｔｈを表すＩＦ＿ＢＴの３種類が定義されている。例えば、複数のＩ／Ｆを備える機器の場合、Ｉ／Ｆ情報に関しては次のように定義される。
【００４３】
ＩＦ＿ＵＳＢ  ｜  ＩＦ＿ＩＲＤＡ…ＵＳＢとＩｒＤＡインタフェース（Ｉ／Ｆ）を備える機種の場合
Ｉ／Ｆ情報のマスクは、図１３で後述する機種（モデル）の定義とビットの論理ＡＮＤをとることにより、その機種（モデル）のＩ／Ｆ情報を特定することができる。拡張機能情報は、本実施例では拡張機能無しの１種類が定義されている。拡張機能情報のマスクは、図１３で後述する機種（モデル）の定義とビットの論理ＡＮＤをとることにより、その機種（モデル）の拡張機能情報を特定することができる。以上の定義を用いて、同図のように各グループが定義されている。デジタルカメラグループ１は、入力カラープロファイルタイプ１、出力カラープロファイルタイプ０、デジタルカメラ用制御コマンドタイプ１、ＵＳＢインタフェース、拡張機能無しの特性を持つデジタルカメラのグループを表す。デジタルカメラグループ２は、入力カラープロファイルタイプ２、出力カラープロファイルタイプ０、デジタルカメラ用制御コマンドタイプ１、ＵＳＢインタフェース、拡張機能無しの特性を持つデジタルカメラのグループを表す。デジタルカメラグループ３は、入力カラープロファイルタイプ３、出力カラープロファイルタイプ０、デジタルカメラ用制御コマンドタイプ２、ＩｒＤＡインタフェース、拡張機能無しの特性を持つデジタルカメラのグループを表す。プリンタグループ１は、入力カラープロファイルタイプ０、出力カラープロファイルタイプ１、プリンタ用制御コマンドタイプ１、ＵＳＢインタフェース、拡張機能無しの特性を持つプリンタのグループを表す。プリンタグループ２は、入力カラープロファイルタイプ０、出力カラープロファイルタイプ２、プリンタ用制御コマンドタイプ１、ＵＳＢインタフェース、拡張機能無しの特性を持つプリンタのグループを表す。プリンタグループ３は、入力カラープロファイルタイプ０、出力カラープロファイルタイプ２、プリンタ用制御コマンドタイプ１、ＩｒＤＡインタフェース、拡張機能無しの特性を持つプリンタのグループを表す。グループのマスクは、図１３で後述する機種（モデル）の定義とビットの論理ＡＮＤをとることにより、その機種（モデル）のグループを特定することができる。
【００４４】
ここで、同一グループに所属する機種（モデル）が複数存在する例に関して説明する。デジタルカメラやプリンタ等は数多くのラインナップから構成されて販売されるケースが多く、仕様（特性）が同一であっても、外装を変えることで差別化を図り、機種名（モデル名）を変えて販売される場合がある。また、同一機種であっても、日本国内向けの機種名と外国向けの機種名とを分ける場合もある。このように、仕様（特性）が同一であるにもかかわらず、機種名が異なる多数の機種が存在するのである。本発明では各機種をその特性に応じてグループ化することで、図１４で後述するように処理ステップを削減できるので、処理の高速化及びプログラムサイズの削減が実現できる。
【００４５】
図１３は本発明におけるデジタルカメラやプリンタの各機種（モデル）の定義を表す図である。同図において、デジタルカメラＡ（ＭＤＬ＿ＣＡＭＥＲＡ＿Ａ）はデジタルカメラグループ１のシリアル番号１の機種（モデル）であることを表している。デジタルカメラＢ（ＭＤＬ＿ＣＡＭＥＲＡ＿Ｂ）はデジタルカメラグループ１のシリアル番号２の機種（モデル）であることを表している。デジタルカメラＣ（ＭＤＬ＿ＣＡＭＥＲＡ＿Ｃ）はデジタルカメラグループ３のシリアル番号１の機種（モデル）であることを表している。デジタルカメラＤ（ＭＤＬ＿ＣＡＭＥＲＡ＿Ｄ）はデジタルカメラグループ２のシリアル番号１の機種（モデル）であることを表している。デジタルカメラＥ（ＭＤＬ＿ＣＡＭＥＲＡ＿Ｅ）はデジタルカメラグループ２のシリアル番号２の機種（モデル）であることを表している。プリンタＡ（ＭＤＬ＿ＰＲＩＮＴＥＲ＿Ａ）はプリンタグループ１のシリアル番号１の機種（モデル）であることを表している。プリンタＢ（ＭＤＬ＿ＰＲＩＮＴＥＲ＿Ｂ）はプリンタグループ２のシリアル番号１の機種（モデル）であることを表している。プリンタＣ（ＭＤＬ＿ＰＲＩＮＴＥＲ＿Ｃ）はプリンタグループ２のシリアル番号２の機種（モデル）であることを表している。プリンタＤ（ＭＤＬ＿ＰＲＩＮＴＥＲ＿Ｄ）はプリンタグループ２のシリアル番号３の機種（モデル）であることを表している。プリンタＥ（ＭＤＬ＿ＰＲＩＮＴＥＲ＿Ｅ）はプリンタグループ３のシリアル番号１の機種（モデル）であることを表している。
【００４６】
このように、本発明では１機種あたり１つのｕｎｓｉｇｎｅｄ  ｌｏｎｇの定数でそれぞれの機種及びその特性を定義することで、図１６、図１７で後述する従来例に比べ、１／３のプログラム領域を確保すればよく、ＲＯＭ１１の容量を削減でき、コストダウンを図ることができる。また、入力機器（デジタルカメラ）や出力機器（プリンタ）を同一プログラムで制御することも可能となるので、効率化が実現できる。ここで、デジタルカメラ５はデジタルカメラＡ、デジタルカメラ７はデジタルカメラＥ、プリンタ１はプリンタＡである。
【００４７】
図１６は従来例におけるデジタルカメラの各機種（モデル）の定義を表す図である。同図において、デジタルカメラＡ〜Ｅはそれぞれ０〜４の定数で表されている。入力カラープロファイルタイプ０〜３は、それぞれ０〜３の定数で表されている。デジタルカメラ用制御コマンドタイプ１、２はそれぞれ０、１の定数で表されている。デジタルカメラの特性を表す情報データベース（テーブル）用構造体はｃａｍｅｒａ＿ｔｂｌ＿ｓｔｒで定義されており、デジタルカメラの機種（モデル）を表すメンバーｃａｍｅｒａ＿ｉｄ、入力カラープロファイルタイプを表すメンバーｉｎ＿ｃｏｌｏｒ＿ｐｒｏｆｉｌｅ、デジタルカメラ用制御コマンドを表すメンバーｃｍｄ＿ｔｙｐｅから構成される。ＣａｍｅｒａＴｙｐｅＴｂｌはデジタルカメラの特性を表すデータベース（テーブル）であり、デジタルカメラＡ〜Ｅの特性がテーブル上にデータベース化されている。このように、従来例では１機種あたり３つのｕｎｓｉｇｎｅｄ  ｌｏｎｇの定数を用いて、それぞれの機種及びその特性が定義されている。本発明では同様な内容を表す定義を図１３のデジタルカメラの定義にて行っており、１機種あたり１つのｕｎｓｉｇｎｅｄ  ｌｏｎｇの定数でそれぞれの機種及びその特性が定義されている。従って、従来の定義に比べ、１／３のプログラム領域を確保すればよく、ＲＯＭ１１の容量を削減でき、コストダウンを図ることができる。
【００４８】
図１７は従来例におけるプリンタの各機種（モデル）の定義を表す図である。同図において、プリンタＡ〜Ｅはそれぞれ０〜４の定数で表されている。出力カラープロファイルタイプ０〜２は、それぞれ０〜２の定数で表されている。プリンタ用制御コマンドタイプ１は１０の定数で表されている。プリンタの特性を表す情報データベース（テーブル）用構造体はｐｒｉｎｔｅｒ＿ｔｂｌ＿ｓｔｒで定義されており、プリンタの機種（モデル）を表すメンバーｐｒｉｎｔｅｒ＿ｉｄ、出力カラープロファイルタイプを表すメンバーｏｕｔ＿ｃｏｌｏｒ＿ｐｒｏｆｉｌｅ、プリンタ用制御コマンドを表すメンバーｃｍｄ＿ｔｙｐｅから構成される。ＰｒｉｎｔｅｒＴｙｐｅＴｂｌはプリンタの特性を表すデータベース（テーブル）であり、プリンタＡ〜Ｅの特性がテーブル上にデータベース化されている。このように、従来例では１機種あたり３つのｕｎｓｉｇｎｅｄ  ｌｏｎｇの定数を用いて、それぞれの機種及びその特性が定義されている。本発明では同様な内容を表す定義を図１３のプリンタの定義にて行っており、１機種あたり１つのｕｎｓｉｇｎｅｄ  ｌｏｎｇの定数でそれぞれの機種及びその特性が定義されている。従って、従来の定義に比べ、１／３のプログラム領域を確保すればよく、ＲＯＭ１１の容量を削減でき、コストダウンを図ることができる。
【００４９】
図１０は従来例におけるデジタルカメラに保存されている画像ファイル（写真）をプリンタで印刷する時のプリンタの動作を表すフローチャートである。この従来例の説明では印刷対象画像の選択等の操作は図４で説明したものと同様であるので、ここでは省略する。今、ある画像ファイルが選択されていると仮定する。印刷ボタンがタッチされて印刷が開始されると（Ｓ１００１）、接続されているデジタルカメラの機種ＩＤ（デバイスＩＤ）を取得し（Ｓ１００２）、取得された機種ＩＤをデバイス識別定数（図１６に記述）に変換する（Ｓ１００３）。デジタルカメラＡの場合（Ｓ１００４）、デジタルカメラＡ用のコマンドを使ってデジタルカメラＡを制御し、デジタルカメラＡ用の入力カラープロファイルを使用して色補正を行い、印刷を行うというデジタルカメラＡ用の処理を行い（Ｓ１０１０）、印刷が終了する（Ｓ１０１５）。デジタルカメラＢの場合（Ｓ１００５）、同様なデジタルカメラＢ用の処理を行い（Ｓ１０１１）、印刷が終了する（Ｓ１０１５）。デジタルカメラＣの場合（Ｓ１００６）、同様なデジタルカメラＣ用の処理を行い（Ｓ１０１２）、印刷が終了する（Ｓ１０１５）。デジタルカメラＤの場合（Ｓ１００７）、同様なデジタルカメラＤ用の処理を行い（Ｓ１０１３）、印刷が終了する（Ｓ１０１５）。デジタルカメラＥの場合（Ｓ１００８）、同様なデジタルカメラＥ用の処理を行い（Ｓ１０１４）、印刷が終了する（Ｓ１０１５）。デジタルカメラＡ〜Ｅに該当しない場合（Ｓ１００８）、接続されているデジタルカメラがサポートされていない旨を表示し（Ｓ１００９）、印刷を終了する。このように、接続されているデジタルカメラの判別結果に従って、それぞれの機種毎に似たような処理が重複した形で、実装されていた。実装の詳細に関しては、図１８で後述する。
【００５０】
図１８は図１０で説明した従来例におけるデジタルカメラに保存されている画像ファイル（写真）をプリンタで印刷する処理を実装する際のプログラムの例を表す図である。同図において、コメントで記述されている各ステップを表す番号Ｓ１０ｘｘは、その処理が、図１０における同一番号の処理に該当することを表している。このように従来例では、２７の主なステップが必要であった。
【００５１】
図６、図７、図８、図９は本実施例の動作を表すフローチャートであり、これらの図面に従って動作の説明をする。図６はプリンタ１の写真表示モードの動作を表すフローチャートである。同図において、プリンタ１が写真表示モードの時（Ｓ６０１）、デジタルカメラ５内に保存されている対象写真のファイルのロード及び色補正を行い（Ｓ６０２）、成功（ＴＲＵＥ）の場合（Ｓ６０３）、デバイス非依存色空間データに対してディスプレイ２用の出力カラープロファイルを用いて色補正を行って表示出力画像データを生成し（Ｓ６０４）、ディスプレイ２にその写真（ファイル）、すなわち、表示出力画像データの内容を表示する（Ｓ６０５）。戻るボタン２７または進むボタン２８がタッチされた場合（Ｓ６０６）、そのボタンに従って、対象写真を一つ前の写真に戻すか、または、次の写真に進めて変更し（Ｓ６１０）、ステップＳ６０２へ戻る。ステップＳ６０６において戻るボタン２７または進むボタン２８の何れもタッチされていない場合で、印刷ボタン２９がタッチされた場合（Ｓ６０７）、記録部１８を制御するコマンドの設定及び色補正を行い（Ｓ６０８）、印刷を行う（Ｓ６０９）。印刷が終了したらステップＳ６０５に戻る。ステップＳ６０７において印刷ボタン２９がタッチされていない場合、ステップＳ６０６へ戻る。ステップＳ６０３において失敗（ＦＡＬＳＥ）の場合、ステップＳ６０２に戻る。このように、プリンタ１は、接続されているデジタルカメラ５内に保存されている写真をディスプレイ２に表示したり、印刷することができる。
【００５２】
図７は図６のステップＳ６０２のファイルのロード及び色補正の処理を表すフローチャートである。同図において、ファイルのロード及び色補正の処理が開始されると（Ｓ７０１）、デジタルカメラ５の機種ＩＤ（デバイスＩＤ）を取得し（Ｓ７０２）、取得された機種ＩＤをデバイス識別情報（図１３に記述）に変換する（Ｓ７０３）。デジタルカメラグループ１の場合（Ｓ７０４）、コマンドをデジタルカメラグループ１用の制御コマンドに設定し（Ｓ７０８）、入力カラープロファイルをデジタルカメラグループ１用の入力カラープロファイルに設定し（Ｓ７０９）、前記コマンドを用いてデジタルカメラ５を制御してデジタルカメラ５内に保存されている対象写真のファイル（ＪＰＥＧ形式のファイル）をロードし（Ｓ７１６）、ＪＰＥＧ形式からビットイメージデータ形式に変換し（Ｓ７１７）、前記ビットイメージデータに対して前記入力カラープロファイルを用いて色補正を行ってデバイス非依存色空間データを生成し（Ｓ７１８）、成功したことを表すＴＲＵＥを返してこの処理を終了する（Ｓ７１９）。ステップＳ７０４においてデジタルカメラグループ１でない場合で、デジタルカメラグループ２の場合（Ｓ７０５）、コマンドをデジタルカメラグループ２用の制御コマンドに設定し（Ｓ７１０）、入力カラープロファイルをデジタルカメラグループ２用の入力カラープロファイルに設定し（Ｓ７１１）、ステップＳ７１６へ進む。ステップＳ７０５においてデジタルカメラグループ２でない場合で、デジタルカメラグループ３の場合（Ｓ７０６）、コマンドをデジタルカメラグループ３用の制御コマンドに設定し（Ｓ７１２）、入力カラープロファイルをデジタルカメラグループ２用の入力カラープロファイルに設定し（Ｓ７１３）、ステップＳ７１６へ進む。ステップＳ７０６においてデジタルカメラグループ３でない場合、図１１に記述されているサポート外のデジタルカメラが接続されていることを表す警告メッセージをディスプレイ２に表示し（Ｓ７１４）、継続ボタン３１がタッチされた場合（Ｓ７１５）、ステップＳ７０８へ進む。ステップＳ７１５において、中止ボタン３２がタッチされた場合、失敗したことを表すＦＡＬＳＥを返してこの処理を終了する（Ｓ７２０）。
【００５３】
図８は図６のステップＳ６０８の記録部１８を制御するコマンドの設定及び色補正の処理を表すフローチャートである。同図において、記録部１８を制御するコマンドの設定及び色補正の処理が開始されると（Ｓ８０１）、記録部１８を制御する印刷制御データ（コマンド）を設定し（Ｓ８０２）、出力カラープロファイルを記録部１８用の出力カラープロファイルに設定し（Ｓ８０３）、図７のステップＳ７１８で生成されたデバイス非依存色空間データに対して前記出力カラープロファイルを用いて色補正を行って記録部１８用の記録出力（印刷）画像データを生成し（Ｓ８０４）、リターンしてこの処理を終了する（Ｓ８０５）。
【００５４】
図９は複数機種のプリンタを同一プログラムで制御する場合の図６のステップＳ６０８の記録部１８を制御するコマンドの設定及び色補正の処理を表すフローチャートである。同図において、記録部１８を制御するコマンドの設定及び色補正の処理が開始されると（Ｓ９０１）、プリンタ１の機種ＩＤを取得（確認）し（Ｓ９０２）、取得された機種ＩＤをデバイス識別情報（図１３に記述）に変換する（Ｓ９０３）。プリンタグループ１の場合（Ｓ９０４）、記録部１８を制御する印刷制御コマンドをプリンタグループ１用の制御コマンドに設定し（Ｓ９０７）、記録部１８用の出力カラープロファイルをプリンタグループ１用の出力カラープロファイルに設定し（Ｓ９０８）、図７のステップＳ７１８で生成されたデバイス非依存色空間データに対して前記出力カラープロファイルを用いて色補正を行って記録部１８用の記録出力（印刷）画像データを生成し（Ｓ９１３）、リターンしてこの処理を終了する（Ｓ９１４）。
【００５５】
図１４は図７で説明したファイルのロード及び色補正の処理を実装する際のプログラムの例を表す図である。同図において、コメントで記述されている各ステップを表す番号Ｓ７ｘｘは、その処理が、図７における同一番号の処理に該当することを表している。このように同図の１４の主なステップと、図６のステップＳ６０８、Ｓ６０９の合計１６の主なステップで実装することができる。これに対し、従来例では図１８に示す通り、２７の主なステップが必要であったので、本発明では従来例に比べて、その差である１１ステップ分の処理の高速化及びプログラムサイズの削減が実現できる。
【００５６】
図１５は図１４の実装方法に工夫を加え、グループで処理を切り分けるのではなく、必要な特性で処理を切り分けることにより、さらなる高速化及びプログラムサイズの削減を行ったプログラムの例を表す図である。同図において、コメントで記述されている各ステップを表す番号Ｓ７０１、Ｓ７０２、Ｓ７０３、Ｓ７１５、Ｓ７１６、Ｓ７１７は、その処理が、図７における同一番号の処理に該当することを表している。また、Ｓ７２０、Ｓ７２１は今回工夫した点、すなわち、必要な特性で処理を切り分けているステップである。このように同図の７の主なステップと、図６のステップＳ６０８、Ｓ６０９の合計９の主なステップで実装することができる。これにより、図１８で示す従来例に比べて、１８ステップ分の処理の高速化及びプログラムサイズの削減が実現できる。本実施例では詳細説明は省略するが、図１２で示されている特性の１つであるＩ／Ｆ情報によって処理を切り分けることも非常に効果的であり、同様な効果として、処理の高速化及びプログラムサイズの削減が実現できる。
【００５７】
以上、本発明について説明したが、このように本発明では、図１２及び図１３に示す通り、デジタルカメラ（入力機器）やプリンタ（出力機器）等の各機種（モデル）を、入力カラープロファイルタイプ、出力カラープロファイルタイプ、制御コマンドタイプ、Ｉ／Ｆ情報、拡張機能情報を表すビット郡から構成されるｕｎｓｉｇｎｅｄ  ｌｏｎｇ（３２ビット）の定数のデバイス識別情報として表し、１機種あたり１つのｕｎｓｉｇｎｅｄ  ｌｏｎｇの定数でそれぞれの機種及びその特性を定義することで、図１６、図１７で示される従来例に比べ、１／３のプログラム領域を確保すればよく、ＲＯＭ１１の容量を小さくでき、コストダウンを実現できる。
【００５８】
本発明ではｕｎｓｉｇｎｅｄ  ｌｏｎｇの型の定数でデバイス識別情報を定義したが、この型に限られることなく、使用目的（含まれる特性）やＣＰＵの性能等により、ｕｎｓｉｇｎｅｄ  ｓｈｏｒｔ（１６ビット）やｄｏｕｂｌｅ（６４ビット）等の型で定義することもできる。但し、ＣＰＵの処理能力に合わせるのが最も理想的である（例えば、３２ビットＣＰＵならｕｎｓｉｇｎｅｄ  ｌｏｎｇ（３２ビット）の型のデバイス識別情報）。
【００５９】
本発明では図１２で示す通り、各機種をその特性に応じてグループ化し、グループ毎に処理を切り分けることで、図１４で示すように処理ステップを削減できるので、処理の高速化及びプログラムサイズの削減が実現できる。
【００６０】
本発明では図１５で示す通り、必要な特性で処理を切り分けることにより、さらなる処理の高速化及びプログラムサイズの削減が実現できる。
【００６１】
本実施例においては、入力機器の例としてデジタルカメラを、出力機器の例としてプリンタを利用したが、この例に限られることなく、任意の入力機器や出力機器等の機器に活用することができる。
【００６２】
本実施例においては、例として、入力機器（デジタルカメラ）と出力機器（プリンタ）から構成されるシステムの実施例を挙げたが、この例に限られることなく、例えば、ホストとなるパーソナルコンピュータと、スキャナ等の入力機器と、プリンタやディスプレイ等の出力機器から構成されるシステムにおいても、活用することができる。
【００６３】
本実施例においては、機器の各特性の例として、入力カラープロファイルタイプ、出力カラープロファイルタイプ、制御コマンドタイプ、Ｉ／Ｆ情報、拡張機能情報を挙げたが、これらの例に限られることなく、機器の特徴を表す任意の特性を活用することができる。
【００６４】
本実施例においては、インタフェース（Ｉ／Ｆ）の例として、ＵＳＢ、ＩｒＤＡ、Ｂｌｕｅｔｏｏｔｈを利用したが、これらのインタフェースに限られることなく、データ通信が可能な任意のインタフェースを活用して実現することが可能である。
【００６５】
本実施例においては、デジタルカメラに保存されている写真（画像ファイル）の形式として、ＪＰＥＧ形式を利用したが、この形式に限られることなく、任意の形式の画像ファイルを活用して実現することが可能である。
【図面の簡単な説明】
【００６６】
【図１】本発明のデバイス識別処理方法を実施したシステムの構成を表す図
【図２】プリンタ１の内部ハードウェア構成を表すブロック図
【図３】プリンタ制御プログラム１９の構成を表すブロック図
【図４】画像（写真）表示モードにおけるディスプレイ２の表示内容を表す図
【図５】印刷中におけるディスプレイ２の表示内容を表す図
【図６】プリンタ１の写真表示モードの動作を表すフローチャート
【図７】ファイルのロード及び色補正の処理を表すフローチャート
【図８】記録部１８を制御するコマンドの設定及び色補正の処理を表すフローチャート
【図９】記録部１８を制御するコマンドの設定及び色補正の処理を表すフローチャート
【図１０】従来例におけるデジタルカメラに保存されている画像ファイル（写真）をプリンタで印刷する時のプリンタの動作を表すフローチャート
【図１１】プリンタ１がサポートしていないデジタルカメラが接続された時におけるディスプレイ２の表示内容を表す図
【図１２】本発明におけるデジタルカメラやプリンタの各機種（モデル）をいくつかのグループに分ける為の定義を表す図
【図１３】本発明におけるデジタルカメラやプリンタの各機種（モデル）の定義を表す図
【図１４】ファイルのロード及び色補正の処理を実装する際のプログラムの例を表す図
【図１５】さらなる高速化及びプログラムサイズの削減を行ったプログラムの例を表す図
【図１６】従来例におけるデジタルカメラの各機種（モデル）の定義を表す図
【図１７】従来例におけるプリンタの各機種（モデル）の定義を表す図
【図１８】従来例におけるデジタルカメラに保存されている画像ファイル（写真）をプリンタで印刷する処理を実装する際のプログラムの例を表す図
【符号の説明】
【００６７】
１  プリンタ
２  ディスプレイ
３  操作ボタン
４  ＵＳＢポート（スレーブ）
５  デジタルカメラ
６  ＵＳＢポート（ホスト）
７  デジタルカメラ
８  ＵＳＢポート（ホスト）
９  ＵＳＢケーブル
１０  ＣＰＵ
１１  ＲＯＭ
１２  ＲＡＭ
１３  入力画像処理部
１４  出力画像処理部
１５  通信部
１６  表示部
１７  操作部
１８  記録部
１９  プリンタ制御プログラム
２０  ＵＩ制御部
２１  ファイル制御部
２２  入力画像変換処理部
２３  出力画像変換処理部
２４  記録処理部
２５  ビューア
２６  ファイル名表示部
２７  戻るボタン
２８  進むボタン
２９  印刷ボタン
３０  キャンセルボタン
３１  継続ボタン
３２  中止ボタン
【図１】
2006236242.tif 000003
【図２】
2006236242.tif 000004
【図３】
2006236242.tif 000005
【図４】
2006236242.tif 000006
【図５】
2006236242.tif 000007
【図６】
2006236242.tif 000008
【図７】
2006236242.tif 000009
【図８】
2006236242.tif 000010
【図９】
2006236242.tif 000011
【図１０】
2006236242.tif 000012
【図１１】
2006236242.tif 000013
【図１２】
2006236242.tif 000014
【図１３】
2006236242.tif 000015
【図１４】
2006236242.tif 000016
【図１５】
2006236242.tif 000017
【図１６】
2006236242.tif 000018
【図１７】
2006236242.tif 000019
【図１８】
2006236242.tif 000020