(57)【要約】【課題】外部装置を汎用的に制御するとともに、外部装置に応じて機能を拡張して制御することを可能とすることを目的とする。【解決手段】外部装置を接続するための外部装置接続手段と、前記接続された外部装置を汎用的に制御するための第１のドライバを記憶する第１のドライバ記憶手段と、前記接続された外部装置を装置固有に制御するための第２のドライバの前記外部装置における有無を判定する判定手段と、前記判定手段により前記第２のドライバが存在すると判定された場合に、前記第２のドライバを前記接続された外部装置から取得する取得手段と、前記取得した第２のドライバを記憶する第２のドライバ記憶手段とを備える。【選択図】図１
2004259153.tif 000002
【特許請求の範囲】
【請求項１】
外部装置を接続するための外部装置接続手段と、
前記接続された外部装置を汎用的に制御するための第１のドライバを記憶する第１のドライバ記憶手段と、
前記接続された外部装置を装置固有に制御するための第２のドライバの前記外部装置における有無を判定する判定手段と、
前記判定手段により前記第２のドライバが存在すると判定された場合に、前記第２のドライバを前記接続された外部装置から取得する取得手段と、
前記取得した第２のドライバを記憶する第２のドライバ記憶手段と
を備えることを特徴とする情報処理装置。
【請求項２】
前記接続される外部装置に応じて、前記外部装置を制御するためのドライバを、前記第１のドライバと前記第２のドライバとのいずれかに切替えるドライバ切替え手段を有することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記第１のドライバ記憶手段は、不揮発性の記憶手段であることを特徴とする請求項１又は請求項２に記載の情報処理装置。
【請求項４】
前記第２のドライバ記憶手段は、揮発性の記憶手段であることを特徴とする請求項１乃至請求項３のいずれかに記載の情報処理装置。
【請求項５】
前記判定手段により前記第２のドライバが存在しないと判定された場合に、前記情報処理装置のオペレータに警告を発する警告手段を更に備えることを特徴とする請求項１乃至請求項４の何れかに記載の情報処理装置。
【請求項６】
前記警告手段は、前記第２のドライバ記憶手段に空き容量が十分に確保されないために、前記第２のドライバを前記第２のドライバ記憶手段に記憶できない場合において、前記警告を発することを更に特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記警告手段は、前記第２のドライバ記憶手段に記憶された前記第２のドライバのデータと、前記接続された外部装置から取得した第２のドライバとを比較して、前記記憶された第２のドライバのデータと前記取得した第２のドライバのデータとに相違がある場合に、前記警告を発することを更に特徴とする請求項５又は請求項６に記載の情報処理装置。
【請求項８】
前記接続された外部装置における前記第２のドライバの有無に関する情報を格納するための第３の記憶手段と、前記情報を更新するための更新手段とを更に備え、
前記判定手段は、前記第３の記憶手段に記憶された前記更新された情報に基づいて、前記接続された外部装置を装置固有に制御するための第２のドライバの前記外部装置における有無を判定することを特徴とする請求項１乃至請求項７のいずれかに記載の情報処理装置。
【請求項９】
前記第２のドライバ記憶手段に記憶されている前記第２のドライバに関する情報を表示するための表示手段を更に備えることを特徴とする請求項１乃至請求項８のいずれかに記載の情報処理装置。
【請求項１０】
前記第２のドライバ記憶手段に記憶される前記第２のドライバの前記第２のドライバ記憶手段からの削除の指示を受付けた場合に、前記第２のドライバを前記第２のドライバ記憶手段から削除する削除手段を更に備えることを特徴とする請求項１乃至請求項９のいずれかに記載の情報処理装置。
【請求項１１】
外部装置を接続するための外部装置接続部と、前記接続された外部装置を汎用的に制御するための第１のドライバを記憶する第１のドライバ記憶部とを備える情報処理装置の制御方法であって、
前記接続された外部装置を装置固有に制御するための第２のドライバの前記外部装置における有無を判定する判定工程と、
前記判定工程において前記第２のドライバが存在すると判定された場合に、前記第２のドライバを前記接続された外部装置から取得する取得工程と、
前記取得した第２のドライバを第２のドライバ記憶部に記憶させる記憶工程とを備えることを特徴とする情報処理装置の制御方法。
【請求項１２】
前記接続される外部装置に応じて、前記外部装置を制御するためのドライバを、前記第１のドライバと前記第２のドライバとのいずれかに切替えるドライバ切替え工程を更に備えることを特徴とする請求項１１に記載の情報処理装置の制御方法。
【請求項１３】
前記第１のドライバ記憶部は、不揮発性の記憶部であることを特徴とする請求項１１又は請求項１２に記載の情報処理装置の制御方法。
【請求項１４】
前記第２のドライバ記憶部は、揮発性の記憶部であることを特徴とする請求項１１乃至請求項１３のいずれかに記載の情報処理装置の制御方法。
【請求項１５】
前記判定工程において前記第２のドライバが存在しないと判定された場合に、前記情報処理装置のオペレータに警告を発する警告工程を更に備えることを特徴とする請求項１１乃至請求項１４の何れかに記載の情報処理装置の制御方法。
【請求項１６】
前記警告工程では、前記第２のドライバ記憶部に空き容量が十分に確保されないために、前記第２のドライバを前記第２のドライバ記憶部に記憶できない場合において、前記警告を発することを更に特徴とする請求項１５に記載の情報処理装置の制御方法。
【請求項１７】
前記警告工程では、前記第２のドライバ記憶部に記憶された前記第２のドライバのデータと、前記接続された外部装置から取得した第２のドライバとを比較して、前記記憶された第２のドライバのデータと前記取得した第２のドライバのデータとに相違がある場合に、前記警告を発することを更に特徴とする請求項１５又は請求項１６に記載の情報処理装置の制御方法。
【請求項１８】
前記情報処理装置が、前記接続された外部装置における前記第２のドライバの有無に関する情報を格納するための第３の記憶部と、前記情報を更新するための更新部とを更に備え、
前記判定工程では、前記第３の記憶部に記憶された前記更新された情報に基づいて、前記接続された外部装置を装置固有に制御するための第２のドライバの前記外部装置における有無を判定することを特徴とする請求項１１乃至請求項１７のいずれかに記載の情報処理装置の制御方法。
【請求項１９】
前記情報処理装置は、前記第２のドライバ記憶部に記憶されている前記第２のドライバに関する情報を表示するための表示部を更に備え、
前記第２のドライバ記憶部に記憶される前記第２のドライバの前記第２のドライバ記憶部からの削除の指示を受付けた場合に、前記第２のドライバを前記第２のドライバ記憶部から削除する削除工程を更に備えることを特徴とする請求項１１乃至請求項１８のいずれかに記載の情報処理装置の制御方法。
【請求項２０】
請求項１１乃至請求項１９のいずれかに記載の情報処理装置の制御方法をコンピュータに実行させるための情報処理装置の制御プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、情報処理装置とその制御方法及び制御プログラムに関する。
【０００２】
【従来の技術】
例えばデジタルスチルカメラ等の外部装置を接続することができる情報処理装置、例えばデジタルスチルカメラ接続機能が付いたプリンタやプリンタ複合機等では、当該情報処理装置に接続可能な外部装置の種類が限定されている。
【０００３】
このように、外部装置と情報処理装置とにおいて、お互いを接続できる組み合わせが限定されている場合には、オペレータであるユーザーは互いの接続に対応するデジタルスチルカメラ等の外部装置と、デジタルスチルカメラ接続機能が付いたプリンタやプリンタ複合機等の情報処理装置とを同時に揃える必要がある。
【０００４】
また、新機能を搭載したデジタルスチルカメラ等の外部装置が登場した場合には、デジタルスチルカメラ接続機能が付いたプリンタ等の情報処理装置が当該外部装置に比して旧式の場合、デジタルスチルカメラの新機能を十分に生かすことができないか、当該新機能を十分に発揮させるために当該新機能に対応した新たなプリンタ等の情報処理装置を用意する必要がある。
【０００５】
一方、周辺装置側のベンダ固有情報（例えばメモリカードのメディアＩＤ）を汎用的な標準情報に埋込み、ＰＣにベンダ固有情報を伝達することにより、ベンダ固有のＰＣドライバを作成しなくてもベンダ固有情報を伝達することを可能とすることができる（例えば、特許文献１）。しかしながら、この場合伝達可能な情報量が限られてしまうと共に、ベンダ固有の動作制御を行うことができない。
【０００６】
【特許文献１】
特開２００１−３４４１９２。
【０００７】
【発明が解決しようとする課題】
このように、従来は情報処理装置に接続して機能を十分に発揮可能な外部装置の種類が限定されてしまい、情報処理装置及び外部装置を有効活用することができなかった。
【０００８】
そこで、本発明は外部装置を汎用的に制御するとともに、外部装置に応じて機能を拡張して制御することを可能とすることを目的とする。
【０００９】
【課題を解決するための手段】
上記課題を解決するための本発明は、外部装置を接続するための外部装置接続手段と、前記接続された外部装置を汎用的に制御するための第１のドライバを記憶する第１のドライバ記憶手段と、前記接続された外部装置を装置固有に制御するための第２のドライバの前記外部装置における有無を判定する判定手段と、前記判定手段により前記第２のドライバが存在すると判定された場合に、前記第２のドライバを前記接続された外部装置から取得する取得手段と、前記取得した第２のドライバを記憶する第２のドライバ記憶手段とを備える。
【００１０】
【発明の実施の形態】
本発明の実施の形態を添付図面を参照して、以下に詳細に説明する。
【００１１】
まず、情報処理装置１００の概略を詳細に説明する。本実施形態において情報処理装置１００には、デジタルスチルカメラ等の外部装置接続機能が付いたプリンタやプリンタ複合機等が含まれる。また、外部装置には、デジタルスチルカメラ、撮像機能を有する携帯電話機又はＰＤＡ（個人向け携帯情報機器）などが含まれる。図１は、本発明の実施形態に対応する情報処理装置１００の概略構成を示すブロック図である。
【００１２】
情報処理装置１００において、ＣＰＵ１０１は、システム制御部であり、情報処理装置１００の全体を制御する。
【００１３】
ＲＯＭ１０２は、ＣＰＵ１０１が実行する制御プログラムやデータテーブル、組み込みオペレーティングシステム（ＯＳ）プログラム等の固定データを格納する。本実施形態では、ＲＯＭ１０２に格納されている各制御プログラムは、ＲＯＭ１０２に格納されている組み込みＯＳの管理下で、スケジューリングやタスクスイッチ、割り込み処理等のソフトウエア実行制御を行い、記録制御や読取制御、通信制御等のマルチタスク機能を実現する。また、ＵＳＢ  Ａコネクタ１１７に接続された外部装置、例えば汎用的なデジタルスチルカメラを制御するための汎用ドライバもＲＯＭ１０２に記憶される。ＣＰＵ１０１は、この汎用ドライバプログラムに従って動作し、ＵＳＢ  Ａコネクタ１１７に接続された外部装置を制御する。
【００１４】
ＲＡＭ１０３は、バックアップ電源を必要とするＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等で構成され、図示しないデータバックアップ用の１次電池によってデータが保持されている。ＲＡＭ１０３には、データが消去されては困るプログラム制御変数等を格納する。また、オペレータが登録した設定値や情報処理装置１００の管理データ等を格納するメモリエリアも設けられている。
【００１５】
画像メモリ１０４は、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等で構成され、主には情報処理装置１００で扱う画像データや、記録部１１３（詳細後述）へ送出する印刷データや記録部１１３から取得したステータス情報等を蓄積する。また、一部の領域をソフトウエア処理の実行のためのワークエリアとして確保してある。また、ＵＳＢ  Ａコネクタ１１７に接続された外部装置、例えばデジタルスチルカメラを拡張的に制御するための装置固有ドライバも画像メモリ１０４に記憶される。ＣＰＵ１０１は、この装置固有ドライバプログラムに従って動作し、ＵＳＢ  Ａコネクタ１１７に接続された外部装置を拡張的に制御する。
【００１６】
データ変換部１０５は、ページ記述言語（ＰＤＬ：Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）等の解析や、キャラクタデータのＣＧ（Ｃｏｍｐｕｔｅｒ  Ｇｒａｐｈｉｃｓ）展開等、画像データの変換を行う。
【００１７】
読取制御部１０６は、読取部１０７が、ＣＩＳイメージセンサ（密着型イメージセンサ）によって原稿を光学的に読み取り、電気的な画像データに変換した画像信号を、図示しない画像処理制御部を介して、２値化処理や中間調処理等の各種画像処理を施し、高精細な画像データを出力する。なお、本実施形態では、読取制御部１０６、読取部１０７は、原稿を搬送しながら、固定されているＣＩＳイメージセンサで読み取りを行うシート読取制御方式と、原稿台に固定されている原稿を、移動するＣＩＳイメージセンサでスキャンするブック読取制御方式の両制御方式に対応している。
【００１８】
操作表示部１０８は、数値入力キー、文字入力キー、ワンタッチ電話番号キー、モード設定キー、決定キー、取り消しキー等を備え、ユーザによる画像送信相手先データの決定や設定データの登録動作を行うための操作部と、各種キー、ＬＥＤ（発光ダイオード）とＬＣＤ（液晶ディスプレイ）等によって構成され、オペレータによる各種入力操作や、情報処理装置１００の動作状況、ステータス状況の表示等を行う表示部である。また、オペレータに対し、警告を発する場合は、ＬＥＤを点滅させ、ＬＣＤに警告情報を表示することにより行う。
【００１９】
通信制御部１０９は、ＭＯＤＥＭ（変復調装置）や、ＮＣＵ（網制御装置）等によって構成されている。本実施形態では、通信制御部１０９は、アナログの通信回線（ＰＳＴＮ）１３１に接続され、Ｔ３０プロトコルでの通信制御、通信回線に対する発呼と着呼等の回線制御を行っている。
【００２０】
解像度変換処理部１１０は、ミリ系の画像データとインチ系の画像データの相互変換等の解像度変換制御を行う。なお、解像度変換部１１０において、画像データの拡大縮小処理も可能である。
【００２１】
符号復号化処理部１１１は、情報処理装置１００で扱う画像データ（非圧縮、ＭＨ、ＭＲ、ＭＭＲ、ＪＢＩＧ、ＪＰＥＧ等）を相互に符号復号化処理したり、拡大縮小処理を行ったりする。例えば、ＵＳＢ  Ａコネクタ１１７に接続された外部装置、例えばデジタルスチルカメラの画像データを印刷する場合には、符号復号化処理部１１１によって、外部装置、例えばデジタルスチルカメラから受信したＪＰＥＧファイルの復号化処理を行う。
【００２２】
記録制御部１１２は、印刷される画像データに対し、図示しない画像処理制御部を介して、スムージング処理や記録濃度補正処理、色補正等の各種画像処理を施すことにより、高精細な画像データに変換し、記録部１１３（詳細後述）に出力する。
【００２３】
記録部１１３は、図示しない専用ＣＰＵで制御するレーザビームプリンタやインクジェットプリンタ等からなる記録装置であり、記録制御部１１２から受信したカラー画像データ、またはモノクロ画像データを印刷部材に記録する。また、記録部１１２内には、図示しないバックアップ電源がいらないＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｏｎｉｃａｌｌｙ  Ｅｒａｓａｂｌｅａｎｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ、電気的に内容を書き換えることができるＲＯＭ）が接続されおり、記録制御パラメータ等が記憶されている。
【００２４】
ＵＳＢデバイス制御部１１４は、ＵＳＢアナログトランシーバ、シリアルインタフェースエンジンを含み、ＵＳＢインタフェースの通信制御を行うものであり、ＵＳＢ通信規格に従って、プロトコル制御を行い、ＣＰＵ１０１が実行するＵＳＢデバイス制御タスクからのデータを、パケットに変換し、接続される外部ＵＳＢホスト装置（不図示）にＵＳＢパケット送信を行ったり、逆に、接続される外部ＵＳＢホスト装置（不図示）からのＵＳＢパケットを、データに変換してＣＰＵ１０１に対し送信を行ったりする。ＵＳＢ通信規格は、双方向のデータ通信を高速に行うことができる規格であり、１台のホスト（マスター）に対し、複数のデバイス（スレーブ）を接続することができる。ＵＳＢデバイス制御部１１４は、ＵＳＢ通信におけるデバイスの機能を有する。
【００２５】
ＵＳＢホスト制御部１１５は、ＵＳＢアナログトランシーバ、シリアルインタフェースエンジンを含み、ＵＳＢインタフェースの通信制御を行うものであり、ＵＳＢ通信規格に従って、プロトコル制御を行い、ＣＰＵ１０１が実行するＵＳＢホスト制御タスクからのデータを、パケットに変換し、接続される外部ＵＳＢデバイス装置（不図示）にＵＳＢパケット送信を行ったり、逆に、接続される外部ＵＳＢデバイス装置（不図示）からのＵＳＢパケットを、データに変換してＣＰＵ１０１に対し送信を行ったりする。ＵＳＢ通信規格は、双方向のデータ通信を高速に行うことができる規格であり、１台のホスト（マスター）に対し、複数のデバイス（スレーブ）を接続することができる。ＵＳＢホスト制御部１１５は、ＵＳＢ通信におけるホストの機能を有する。
【００２６】
ＵＳＢ  Ｂコネクタ１１６は、ＵＳＢ通信規格に準拠したデバイス側のコネクタであり、例えばパーソナルコンピュータ等の外部ＵＳＢホスト装置と接続するＢタイプ形状のコネクタである。
【００２７】
ＵＳＢ  Ａコネクタ１１７は、ＵＳＢ通信規格に準拠したホスト側のコネクタであり、例えばデジタルスチルカメラ等の外部ＵＳＢデバイス装置と接続するＡタイプ形状のコネクタである。
【００２８】
上記構成要素１０１〜１０６、１０８〜１１２、１１４、１１５は、ＣＰＵ１０１が管理するＣＰＵバス１２１を介して、相互に接続されている。
【００２９】
続いて、情報処理装置１００のＲＯＭ１０２と画像メモリ１０４のデータ配置を詳細に説明する。
【００３０】
図２は、情報処理装置１００のＲＯＭ１０２と画像メモリ１０４のデータ配置を詳細に記した記憶部領域を詳細に示すメモリマッピング図である。
【００３１】
不揮発性領域２０１全体は、情報処理装置１００のＲＯＭ１０２に対応する。揮発性領域２０２全体は、情報処理装置１００の画像メモリ１０４に対応する。まず、不揮発性領域２０１について、詳細に説明する。
【００３２】
不揮発性領域２０１内のプログラム領域２１１は、ＣＰＵ１０１が実行する制御プログラム、組み込みオペレーティングシステム（ＯＳ）プログラム等が格納されるプログラム領域である。情報処理装置１００の電源が投入された場合、情報処理装置１００のＣＰＵ１０１はこのプログラム領域２１１に格納されているプログラムコードに従い動作を開始する。
【００３３】
不揮発性領域２０１内の汎用ドライバ領域２１２は、情報処理装置１００のＣＰＵ１０１が、情報処理装置１００のＵＳＢ  Ａコネクタ１１７に接続された外部装置を、汎用的に制御するための制御プログラム等を格納するプログラム領域である。外部装置を汎用的に制御するための制御プログラムとは、標準化団体により標準化された制御規格、または正確には標準化されていない事実上の標準化された制御規格に従って通信を実現する外部装置を制御するための制御プログラムである。
【００３４】
例えば、撮像画像が情報処理装置１００によってダウンロードされて印刷されるといった機能や印刷状況を接続された外部装置に表示するなどの機能が汎用的な制御により達成される。
【００３５】
不揮発性領域２０１内のデータテーブル領域２１３は、情報処理装置１００のＣＰＵ１０１が処理を実行する際に参照するデータテーブルを格納するデータテーブル領域である。
【００３６】
続いて、揮発性領域２０２について、詳細に説明する。揮発性領域２０２内の画像データ領域２１４は、情報処理装置１００で扱う画像データや、情報処理装置１００の記録部１１３へ送出する印刷データや記録部１１３から取得したステータス情報等を蓄積する。図２に示すように、画像データ領域２１４は、画像データ等を蓄積する際に領域を動的に確保するため、画像データ領域２１４が離れて複数存在する場合もあり得る。
【００３７】
揮発性領域２０２内の装置固有ドライバ領域２１５は、情報処理装置１００のＣＰＵ１０１が、情報処理装置１００のＵＳＢ  Ａコネクタ１１７に接続された外部装置、例えばデジタルスチルカメラを拡張的に制御するための装置固有ドライバを蓄積する装置固有ドライバ領域である。装置固有ドライバとは、デジタルスチルカメラの製造メーカー独自の方式で構成された当該デジタルスチルカメラに固有のドライバであり、一般には他のメーカー製のデジタルスチルカメラにおいて汎用的に利用することはできない。当該装置固有ドライバは、メーカー特有或いはカメラ特有の機能（例えばメーカ特有の印刷モードを選択可能にし、その特有の印刷モードで印刷する機能）にのみ対応し、汎用的な機能（例えば、撮像画像が情報処理装置１００によってダウンロードされ、印刷される機能など。）については汎用ドライバを併用するように構成されても良い。また、汎用的な機能も含めてデジタルスチルカメラから提供される機能の全てが装置固有ドライバによってのみ、実現されるように構成されても良い。
【００３８】
図３を参照して後段で説明するように、装置固有ドライバ領域２１５は、情報処理装置１００のＵＳＢ  Ａコネクタ１１７に接続された外部装置から装置固有ドライバを受信し、蓄積する際に領域を動的に確保するため、装置固有ドライバ領域２１５が離れて複数存在する場合もあり得る。
【００３９】
揮発性領域２０２内のワークエリア等領域２１６は、情報処理装置１００のＣＰＵ１０１が、ソフトウエア処理を実行するために使用するワークデータ等を蓄積するワークエリア等領域である。
【００４０】
続いて、情報処理装置１００にデジタルスチルカメラが接続され、デジタルカメラ内の画像データを印刷する場合の制御フローを詳細に説明する。
【００４１】
図３は、情報処理装置１００にデジタルスチルカメラが接続され、デジタルカメラ内の画像データを印刷する場合の制御フローを詳細に示すフローチャートである。なお、本フローチャートの実行が行われる前に、情報処理装置１００全体の初期化は、ＣＰＵ１０１によって終了しているものとし、情報処理装置１００の状態は動作起動待ちの待機状態であることを前提とする。
【００４２】
ステップＳ３０１において、ＣＰＵ１０１は、ＵＳＢホスト制御部１１５経由で、ＵＳＢ  Ａコネクタ１１７に外部装置、ここではデジタルスチルカメラが接続されたか否かを検出する。ＵＳＢ  Ａコネクタ１１７にデジタルスチルカメラが接続されたか否かの検出は、ＣＰＵ１０１がＵＳＢホスト制御部１１５経由で、メカ機構的なハードウエアスイッチ（不図示）によって行う。また、接続されたか否かの検出は、ＵＳＢホスト制御部１１５が、メカ機構的なハードウエアスイッチ（不図示）によって行い、ＣＰＵ１０１に通知するように実現しても構わない。また、前記メカ機構的なハードウエアスイッチを、電気的な状態スイッチで代用しても構わない。
【００４３】
また、前記メカ機構的なハードウエアスイッチを、ソフトウエア的なデータ通信の結果で代用しても構わない。ステップＳ３０１において、ＣＰＵ１０１が、ＵＳＢ  Ａコネクタ１１７にデジタルスチルカメラが接続されたと判断した場合、処理フローはステップＳ３０２に移行する。ステップＳ３０１において、ＣＰＵ１０１が、ＵＳＢ  Ａコネクタ１１７にデジタルスチルカメラが接続されていないと判断した場合、処理フローはステップＳ３０１を繰り返す。
【００４４】
ステップＳ３０２において、ＣＰＵ１０１は、ＲＯＭ１０２に格納されている汎用的なデジタルスチルカメラを制御するための汎用ドライバの制御プログラムに従い、ＵＳＢ  Ａコネクタ１１７に接続されたデジタルスチルカメラの制御を開始する。デジタルスチルカメラの制御とは、次の制御のことを指す。まず、ＵＳＢ  Ａコネクタ１１７に接続されたデジタルスチルカメラの通信仕様情報と、デジタルスチルカメラ情報を取得する制御を行う。ＵＳＢ通信規格に準拠するデジタルスチルカメラである場合、通信仕様情報により、ＵＳＢ通信規格のバージョン、ＵＳＢクラスコード、通信パイプのパケットサイズ等の情報を得ることができる。デジタルスチルカメラ情報により、そのデジタルスチルカメラを製作した製造社名、製品名等の情報を得ることができる。次に、ＵＳＢ  Ａコネクタ１１７に接続されたデジタルスチルカメラの初期化制御を行う。その後、処理フローはステップＳ３０３に移行する。
【００４５】
ステップＳ３０３において、ステップＳ３０２で取得した情報から、ＣＰＵ１０１は、ＵＳＢ  Ａコネクタ１１７に接続されたデジタルスチルカメラが、その接続されたデジタルスチルカメラを制御するための装置固有ドライバを持っているか否かを判断する。装置固有ドライバを持っているか否かの判断は、例えば次のようにして行う。情報処理装置１００に、あらかじめＲＯＭ１０２に、装置固有ドライバを持つデジタルスチルカメラの製造社名、製品名をテーブル化してデータテーブル領域２１３に登録しておく。ＣＰＵ１０１は、ステップＳ３０２で取得した製造社名、製品名情報と、前記ＲＯＭ１０２内に格納してあるデータテーブル領域２１３に登録されているデータを比較し、ＵＳＢ  Ａコネクタ１１７に接続されたデジタルスチルカメラが、装置固有ドライバを持っているか否かを判定する。
【００４６】
ステップＳ３０３において、ＣＰＵ１０１は、ＵＳＢ  Ａコネクタ１１７に接続されたデジタルスチルカメラが、その接続されたデジタルスチルカメラを制御するための装置固有ドライバを持っていると判定した場合、処理フローはステップＳ３０４に移行する。
【００４７】
なお、ステップＳ３０３においては、接続されたカメラの製造者名、製品名に基づいて接続されたカメラが後述する「装置固有の通信手順」をサポートしているか否かも判定可能となる。もしサポートしていれば、通信路は確立するため、確実に固有ドライバを取得することができる。
【００４８】
ステップＳ３０３において、ＣＰＵ１０１は、ＵＳＢ  Ａコネクタ１１７に接続されたデジタルスチルカメラが、その接続されたデジタルスチルカメラを制御するための装置固有ドライバを持っていないと判断した場合、処理フローはステップＳ３０８に移行する。
【００４９】
ステップＳ３０４において、ＣＰＵ１０１は、ＵＳＢ  Ａコネクタ１１７に接続されたデジタルスチルカメラから装置固有ドライバを受信し、正常に受信できたか否かを判断する。接続されたデジタルスチルカメラから装置固有ドライバを受信するのは、例えば次のようにして行う。
【００５０】
装置固有ドライバを持つデジタルスチルカメラは、装置固有ドライバを送信するための、汎用的な装置固有ドライバ送信モードを具備する。ＣＰＵ１０１は、ＵＳＢホスト制御部１１５を制御して、装置固有の通信手順により、接続されたデジタルスチルカメラを装置固有ドライバ送信モードに移行させる。そして、ＣＰＵ１０１は、装置固有の通信手順により、接続されたデジタルスチルカメラから装置固有ドライバを受信する。
【００５１】
ステップＳ３０４において、ＣＰＵ１０１が、デジタルスチルカメラから装置固有ドライバを正常に受信できた場合、処理フローはステップＳ３０６に移行する。ステップＳ３０４において、ＣＰＵ１０１が、デジタルスチルカメラから装置固有ドライバを正常に受信できなかった場合、処理フローはステップＳ３０５に移行する。
【００５２】
ステップＳ３０５において、ＣＰＵ１０１は、操作表示部１０８を制御し、オペレータに対して警告を発する。具体的には、操作表示部１０８のＬＣＤ等で構成される表示部に「接続された装置を制御するための専用ドライバを受信できませんでした。機能の低い標準ドライバで動作します。」等の表示を行い、ＬＥＤを点滅させる。その後、処理フローはステップＳ３０８に移行する。
【００５３】
ステップＳ３０４において正常に装置固有ドライバを受信できた場合は、ステップＳ３０６において、ステップＳ３０４で取得したデジタルスチルカメラからの装置固有ドライバを、画像メモリ１０４の装置固有ドライバ領域２１５に格納し、その格納が正常に終了したか否かを判断する。装置固有ドライバを、画像メモリ１０４の装置固有ドライバ領域２１５に格納する場合、例えば次のように行う。
【００５４】
まず、ＣＰＵ１０１は、揮発性領域２０２の空き領域を検索する。揮発性領域２０２は、装置固有ドライバ領域２１５の他に、画像データ領域２１４、ワークエリア等領域２１６と共有している。ＣＰＵ１０１は、揮発性領域２０２の中で使われていない領域を、新規に装置固有ドライバ領域２１５として割り当てる。そして、ＣＰＵ１０１は、新規に割り当てられた装置固有ドライバ領域２１５に、ステップＳ３０４で取得したデジタルスチルカメラからの装置固有ドライバを格納する。
【００５５】
さらに、装置固有ドライバの格納が正常に終了したか否かの判断は、例えば次のように行う。
【００５６】
ＣＰＵ１０１が揮発性領域２０２の空き領域を検索する際に、すでに画像データを大量に受信していて、画像データ領域２１４が揮発性領域２０２を占有しているような場合、ＣＰＵ１０１は揮発性領域２０２の空き領域を確保することができなくなり、装置固有ドライバの格納を正常に行うことができないので、装置固有ドライバの格納が正常に終了しなかったと判断する。
【００５７】
また、ＣＰＵ１０１が新規に割り当てられた装置固有ドライバ領域２１５に、ステップＳ３０４で取得したデジタルスチルカメラからの装置固有ドライバを格納する際に、装置固有ドライバを一度装置固有ドライバ領域２１５に書き込んだ後に、装置固有ドライバをデジタルスチルカメラから再度読み出してみて、書き込んだ装置固有ドライバデータと読み込んだ装置固有ドライバデータとを比較し、データに違いを検出した場合も、ＣＰＵ１０１は、装置固有ドライバの格納を正常に行うことができなかったと判断する。
【００５８】
ステップＳ３０６において、ＣＰＵ１０１は、装置固有ドライバの格納を正常に行うことができたと判断した場合、処理フローはステップＳ３０７に移行する。ステップＳ３０６において、ＣＰＵ１０１は、装置固有ドライバの格納を正常に行うことができなかったと判断した場合、処理フローはステップＳ３０５に移行する。
【００５９】
ステップＳ３０７において、ＣＰＵ１０１は、ＵＳＢ  Ａコネクタ１１７に接続されたデジタルスチルカメラの制御を、今までＲＯＭ１０２の汎用ドライバ領域２１２に格納されている汎用的なデジタルスチルカメラを制御するための汎用ドライバの制御プログラムに従って実行していたのを、ステップＳ３０６で画像メモリ１０４の装置固有ドライバ領域２１５に格納した装置固有ドライバの制御プログラムに従って実行するように切替える。その後、処理フローはステップＳ３０８に移行する。
【００６０】
ステップＳ３０８において、オペレータが、ＵＳＢ  Ａコネクタ１１７に接続されているデジタルスチルカメラの操作部（不図示）において印刷操作を行った場合、その印刷操作を検出した情報処理装置１００のＣＰＵ１０１は、ＵＳＢ  Ａコネクタ１１７に接続されたデジタルスチルカメラから、デジタルスチルカメラ内に保存されている画像データを受信する。通常、デジタルスチルカメラ内に保存されている画像データは、ＪＰＥＧ方式で圧縮されたファイルがいくつかのフォルダに整理して格納されている。その後、処理フローはステップＳ３０９に移行する。
【００６１】
ステップＳ３０９において、ＣＰＵ１０１は、ステップＳ３０８で取得したデジタルスチルカメラ内の画像データを処理し、記録制御部１１２に印刷データを出力することにより、印刷処理を行う。ＣＰＵ１０１が行う画像データの処理には、次の処理が含まれる。
【００６２】
まず、デジタルスチルカメラから受信した画像データは、ＪＰＥＧ方式で圧縮されているため、ＣＰＵ１０１が符号復号化処理部１１１を制御することにより、ＪＰＥＧ方式で圧縮されているファイル形式から、生の画像データに復号化する。その後、ＣＰＵ１０１は、生の画像データを、記録部１１３に合わせて色空間等の画像処理を行う。そして、ＣＰＵ１０１は、記録制御部１１２に画像処理後の生の画像データを転送し、結果的に記録部１１３において画像データは印刷部材に印刷される。
【００６３】
上記では、データテーブル領域２１３は、不揮発性領域２０１であるところのＲＯＭ１０２に格納される場合を説明した。しかし、これに限定されることなく、例えば、情報処理装置１００がデータテーブルメモリとして、ＲＯＭ１０２又は画像メモリ１０４とは別個に記憶手段を更に備えてもよい。この場合、データテーブルメモリは、電気的に内容を書き換えることが可能な記憶手段（例えば、ＥＥＰＲＯＭ）が好ましい。
【００６４】
このようなデータテーブルメモリを備えることにより、情報処理装置は、通信回線１３１を介して、装置固有ドライバを持つデジタルスチルカメラの製造社名、製品名等に関する最新情報を取得し、この情報によりデータテーブルを更新することが可能となる。これにより、最新の機能が追加されたデジタルスチルカメラが新たに発売された場合であっても、その機能を実現するための装置固有ドライバを情報処理装置１００側に取得することが可能となる。
【００６５】
続いて、情報処理装置１００の汎用ドライバ領域２１２と、装置固有ドライバ領域２１５に格納されているドライバの一覧を操作表示部１０８に表示し、選択的に指定された装置固有ドライバ領域２１５に格納されている装置固有ドライバを削除する場合の制御フローを詳細に説明する。
【００６６】
図４は、情報処理装置１００の汎用ドライバ領域２１２と、装置固有ドライバ領域２１５に格納されているドライバの一覧を操作表示部１０８に表示し、選択的に指定された装置固有ドライバ領域２１５に格納されている装置固有ドライバを削除する場合の制御フローを詳細に示すフローチャートである。なお、本フローチャートの実行が行われる前に、情報処理装置１００全体の初期化は、ＣＰＵ１０１によって終了しているものとし、情報処理装置１００の状態は動作起動待ちの待機状態であることを前提とする。
【００６７】
ステップＳ４０１において、ＣＰＵ１０１は、操作表示部１０８を監視し、オペレータによって、汎用ドライバ領域２１２と、装置固有ドライバ領域２１５に格納されているドライバの一覧を表示する操作が行われたか否かを判断する。オペレータによるドライバの一覧を表示する操作は、専用のドライバ一覧表示ボタン（不図示）を設けて、ワンタッチで操作できるようにしても構わないし、メニューボタン（不図示）からの階層をもぐることによって操作できるようにしても構わない。
【００６８】
ステップＳ４０１において、格納されているドライバの一覧を表示する操作が行われたと判断した場合、処理フローはステップＳ４０２に移行する。ステップＳ４０１において、格納されているドライバの一覧を表示する操作が行われなかったと判断した場合、処理フローはステップＳ４０１を繰り返す。
【００６９】
ステップＳ４０２において、ＣＰＵ１０１は、ＲＯＭ１０２の汎用ドライバ領域２１２に格納されている汎用ドライバの情報を取得する。汎用ドライバの情報とは、例えば汎用ドライバの種類、バージョン番号、作成日付、対応機種、データサイズ等のことである。その後、処理フローはステップＳ４０３に移行する。
【００７０】
ステップＳ４０３において、ＣＰＵ１０１は、操作表示部１０８を制御することにより、操作表示部１０８のＬＣＤ等で構成される表示部に、ステップＳ４０２で取得した汎用ドライバの情報を表示する。その後、処理フローはステップＳ４０４に移行する。
ステップＳ４０４において、ＣＰＵ１０１は、画像メモリ１０４の装置固有ドライバ領域２１５に格納されている装置固有ドライバの情報を取得する。装置固有ドライバの情報とは、例えば装置固有ドライバの種類、バージョン番号、作成日付、格納日付、対応機種、データサイズ等のことである。その後、処理フローはステップＳ４０５に移行する。
【００７１】
ステップＳ４０５において、ＣＰＵ１０１は、操作表示部１０８を制御することにより、操作表示部１０８のＬＣＤ等で構成される表示部に、ステップＳ４０４で取得した装置固有ドライバの情報を表示する。その後、処理フローはステップＳ４０６に移行する。
【００７２】
ステップＳ４０６において、ＣＰＵ１０１は、操作表示部１０８を監視し、オペレータによって、操作表示部１０８のＬＣＤ等で構成される表示部に表示されている装置固有ドライバを削除する操作が行われたか否かを判断する。オペレータによる装置固有ドライバを削除する操作は、専用の装置固有ドライバ削除ボタン（不図示）を設けて、ワンタッチで操作できるようにしても構わないし、メニューボタン（不図示）からの階層をもぐることによって操作できるようにしても構わない。
【００７３】
ステップＳ４０６において、表示されている装置固有ドライバを削除する操作が行われたと判断した場合、処理フローはステップＳ４０７に移行する。ステップＳ４０６において、表示されているドライバを削除する操作が行われなかったと判断した場合、処理フローは終了する。
【００７４】
ステップＳ４０７において、ＣＰＵ１０１は、ステップＳ４０６でオペレータによって指定された装置固有ドライバの削除を実行する。装置固有ドライバが装置固有ドライバ領域２１５から削除されると、揮発性領域２０２の空き領域が拡大する。その後、処理フローは終了する。
【００７５】
また、本制御フローは、情報処理装置１００の汎用ドライバ領域２１２と、装置固有ドライバ領域２１５に格納されているドライバの一覧を操作表示部１０８に表示し、選択的に指定された装置固有ドライバ領域２１５に格納されている装置固有ドライバを削除する場合の制御フローを詳細に説明したが、情報処理装置１００の汎用ドライバ領域２１２と、装置固有ドライバ領域２１５に格納されているドライバの一覧を記録部１１３で印刷し、選択的に指定された装置固有ドライバ領域２１５に格納されている装置固有ドライバを削除する場合の制御フローについても応用がきく。
【００７６】
詳しくは、ステップＳ４０１の「一覧表示操作」を「一覧印刷操作」、ステップＳ４０３の「汎用ドライバ情報を表示」を「汎用ドライバ情報を印刷」、ステップＳ４０５の「装置固有ドライバ情報を表示」を「装置固有ドライバ情報を印刷」とすれば、本制御フローは、情報処理装置１００の汎用ドライバ領域２１２と、装置固有ドライバ領域２１５に格納されているドライバの一覧を記録部１１３で印刷し、選択的に指定された装置固有ドライバ領域２１５に格納されている装置固有ドライバを削除する場合の詳細な制御フローとすることができる。
【００７７】
このように本実施形態に対応する本発明によれば、汎用的な外部装置は標準規格により確実に制御することが可能になり、一方、特別な外部装置との組み合わせの場合、機能を拡張して制御することが可能になる。
【００７８】
さらには、汎用的な外部装置は標準規格により確実に制御することが可能になる。
【００７９】
また、情報処理装置１００内に記憶する装置固有ドライバをオペレータが自由に入れ替えることが可能になる。
【００８０】
さらには、外部装置毎に異なる外部装置を制御するための装置固有ドライバを、あらかじめ全て情報処理装置１００に記憶しておく必要がなくなる。また、外部装置と情報処理装置１００の組み合わせをオペレータは自由に選択することが可能になる。また、新機能を搭載した外部装置と、旧式の情報処理装置１００の組み合わせにおいても、新機能に対応する装置固有ドライバを取得することで、新機能を十分に拡張して制御することが可能になる。よって、オペレータに対して、より確実な動作を提供することが可能になる。
【００８１】
さらには、情報処理装置１００内の装置固有ドライバ領域２１５に格納したデータを消去しない限り、外部装置から装置固有ドライバの再度のデータ転送の必要が無く、オペレータに素早い処理動作を提供することが可能になる。
【００８２】
さらには、前記装置固有ドライバ領域２１５は画像メモリ１０４において任意の領域と共有させることが可能になり、記憶部の有効活用を実現し、情報処理装置１００のコストダウンに貢献することが可能になる。
【００８３】
さらには、情報処理装置１００において、画像メモリ１０４内で装置固有ドライバを動的に配置する領域が無かった場合に対応して、オペレータに警告を発する手段を有するので、オペレータに動作状態を通知することが可能となり、オペレータ側での対応が取りやすくなる。これによっても、より確実な動作を提供することが可能になる。
【００８４】
［その他の実施形態］
なお、本発明は、複数の機器（例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置など）に適用してもよい。
【００８５】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（または記録媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００８６】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００８７】
【発明の効果】
以上に説明したように、本発明によれば、外部装置を汎用的に制御するとともに、外部装置に応じて機能を拡張して制御することが可能となる。
【図面の簡単な説明】
【図１】本発明の実施形態に対応する、情報処理装置１００の概略構成を示すブロック図である。
【図２】本発明の実施形態に対応する、情報処理装置１００のＲＯＭ１０２と画像メモリ１０４におけるメモリマッピングの一例を示す図である。
【図３】本発明の実施形態に対応する、情報処理装置１００にＵＳＢデバイス装置が接続された場合の処理の一例を示すフローチャートである。
【図４】本発明の実施形態に対応する、情報処理装置１００における装置固有ドライバに関する処理の一例を示すフローチャートである。
【符号の説明】
１００  情報処理装置
１０１  ＣＰＵ
１０２  ＲＯＭ
１０３  ＲＡＭ
１０４  画像メモリ
１０５  データ変換部
１０６  読取制御部
１０７  読取部
１０８  操作表示部
１０９  通信制御部
１１０  解像度変換処理部
１１１  符号復号化処理部
１１２  記録制御部
１１３  記録部
１１４  ＵＳＢデバイス制御部
１１５  ＵＳＢホスト制御部
１１６  ＵＳＢ  Ｂコネクタ
１１７  ＵＳＢ  Ａコネクタ
１２１  ＣＰＵバス
１３１  通信回線
【図１】
2004259153.tif 000003
【図２】
2004259153.tif 000004
【図３】
2004259153.tif 000005
【図４】
2004259153.tif 000006