(57)【要約】【構成】拡張装置は、転送機能とストレージ機能とを有する。ディジタルカメラ１０のカメラＣＰＵ２６は、拡張装置に保存された１または２以上の画像のいずれか１つを指定し、指定画像の内部転送を拡張装置に要求する。要求された画像が拡張装置から転送されると、カメラＣＰＵ２６は、転送された画像をＬＣＤモニタ２６に再生する。カメラＣＰＵ２６はまた、指定画像を送り操作に応答して変更し、指定画像の外部転送を選択操作に応答して拡張装置に要求する。【効果】拡張装置に保存された画像の外部転送に関する操作性が向上する。【選択図】図２
2011114740.tif 000002
【特許請求の範囲】
【請求項１】
転送機能とストレージ機能とを有する拡張装置に保存された１または２以上のコンテンツのいずれか１つを指定する第１指定手段、
前記第１指定手段によって指定されたコンテンツの内部転送を前記拡張装置に要求する内部転送要求手段、
前記内部転送要求手段の要求処理に応答して前記拡張装置から転送されたコンテンツを再生する第１再生手段、
第１変更操作に応答して指定先の変更を前記第１指定手段に要求する第１変更要求手段、および
前記第１指定手段によって指定されたコンテンツの外部転送を第１転送操作に応答して前記拡張装置に要求する第１外部転送要求手段を備える、コンテンツ処理装置。
【請求項２】
ストレージに保存された１または２以上のコンテンツのいずれか１つを指定する第２指定手段、
前記第２指定手段によって指定されたコンテンツを再生する第２再生手段、
前記第２再生手段によって再生されたコンテンツの外部転送を第２転送操作に応答して前記拡張装置に要求する第２外部転送要求手段、および
前記第２再生手段によって再生されたコンテンツを前記第２外部転送要求手段の要求処理に関連して前記拡張装置に転送する再生コンテンツ転送手段をさらに備える、請求項１記載のコンテンツ処理装置。
【請求項３】
第２変更操作に応答して指定先の変更を前記第２指定手段に要求する第２変更要求手段をさらに備える、請求項２記載のコンテンツ処理装置。
【請求項４】
前記第１指定手段の指定先が既定条件を満足する状態での前記第１変更操作に応答して前記第２指定手段を起動する第１起動手段、および
前記第２指定手段の指定先が前記既定条件を満足する状態での前記第２変更操作に応答して前記第１指定手段を起動する第２起動手段をさらに備える、請求項３記載のコンテンツ処理装置。
【請求項５】
前記第１外部転送要求手段は第１識別情報を外部転送要求に割り当てる第１情報割り当て手段を含み、
前記第２外部転送要求手段は第２識別情報を外部転送要求に割り当てる第２情報割り当て手段を含む、請求項２ないし４のいずれかに記載のコンテンツ処理装置。
【請求項６】
コンテンツを新規に取り込む取り込み手段、
前記取り込み手段によって取り込まれたコンテンツの保存を前記拡張装置に要求する保存要求手段、および
前記取り込み手段によって取り込まれたコンテンツを前記保存要求手段の要求処理に関連して前記拡張装置に転送する取り込みコンテンツ転送手段をさらに備える、請求項１ないし５のいずれかに記載のコンテンツ処理装置。
【請求項７】
前記保存要求手段は第３識別情報を保存要求に割り当てる第３情報割り当て手段を含む、請求項６記載のコンテンツ処理装置。
【請求項８】
ストレージの残容量を参照して前記保存要求手段を起動する第３起動手段をさらに備える、請求項６または７記載のコンテンツ処理装置。
【請求項９】
コンテンツ処理装置のプロセッサに、
転送機能とストレージ機能とを有する拡張装置に保存された１または２以上のコンテンツのいずれか１つを指定する指定ステップ、
前記指定ステップによって指定されたコンテンツの内部転送を前記拡張装置に要求する内部転送要求ステップ、
前記内部転送要求ステップの要求処理に応答して前記拡張装置から転送されたコンテンツを再生する再生ステップ、
変更操作に応答して指定先の変更を前記指定ステップに要求する変更要求ステップ、および
前記指定ステップによって指定されたコンテンツの外部転送を転送操作に応答して前記拡張装置に要求する外部転送要求ステップを実行させるための、コンテンツ処理プログラム。
【請求項１０】
コンテンツ処理装置によって実行されるコンテンツ処理方法であって、
転送機能とストレージ機能とを有する拡張装置に保存された１または２以上のコンテンツのいずれか１つを指定する指定ステップ、
前記指定ステップによって指定されたコンテンツの内部転送を前記拡張装置に要求する内部転送要求ステップ、
前記内部転送要求ステップの要求処理に応答して前記拡張装置から転送されたコンテンツを再生する再生ステップ、
変更操作に応答して指定先の変更を前記指定ステップに要求する変更要求ステップ、および
前記指定ステップによって指定されたコンテンツの外部転送を転送操作に応答して前記拡張装置に要求する外部転送要求ステップを備える、コンテンツ処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、コンテンツ処理装置に関し、特にディジタルカメラに適用され、所望のコンテンツを外部装置に転送する、コンテンツ処理装置に関する。
【背景技術】
【０００２】
この種の装置の一例が、特許文献１に開示されている。この背景技術によれば、プリンタの汎用ドライバプログラムとなるピクトブリッジに加えて、ＵＰｎＰプロトコル，ＰＴＰ／ＩＰプロトコル，ＴＣＰ／ＩＰプロトコルを有する通信ソフトウェアが、デジタルスチルカメラおよびプリンタの各々に組み込まれる。デジタルスチルカメラがアクセスポイントを検出すると、デジタルスチルカメラとプリンタとの接続がアクセスポイントを介して確立される。これによって、デジタルスチルカメラに保存された画像データをプリンタによってプリントすることができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−１４２４９３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、ピクトブリッジは、拡張装置に保存された画像データをデジタルスチルカメラの制御の下でプリンタに転送するような動作には対応していない。このため、背景技術では、画像データを外部に転送するときの操作性に限界がある。
【０００５】
それゆえに、この発明の主たる目的は、拡張装置に保存されたコンテンツの外部転送に関する操作性の向上させることができる、コンテンツ処理装置を提供することである。
【課題を解決するための手段】
【０００６】
この発明に従うコンテンツ処理装置(10：実施例で相当する参照符号。以下同じ)は、転送機能とストレージ機能とを有する拡張装置(40)に保存された１または２以上のコンテンツのいずれか１つを指定する第１指定手段(S65, S77)、第１指定手段によって指定されたコンテンツの内部転送を拡張装置に要求する内部転送要求手段(S69, S201, S209)、内部転送要求手段の要求処理に応答して拡張装置から転送されたコンテンツを再生する第１再生手段(S71)、第１変更操作に応答して指定先の変更を第１指定手段に要求する第１変更要求手段(S73)、および第１指定手段によって指定されたコンテンツの外部転送を第１転送操作に応答して拡張装置に要求する第１外部転送要求手段(S75, S79, S81, S221)を備える。
【０００７】
好ましくは、ストレージ(34)に保存された１または２以上のコンテンツのいずれか１つを指定する第２指定手段(S45, S55)、第２指定手段によって指定されたコンテンツを再生する第２再生手段(S49)、第２再生手段によって再生されたコンテンツの外部転送を第２転送操作に応答して拡張装置に要求する第２外部転送要求手段(S53, S57, S59, S151)、および第２再生手段によって再生されたコンテンツを第２外部転送要求手段の要求処理に関連して拡張装置に転送する再生コンテンツ転送手段(S59, S177, S179)がさらに備えられる。
【０００８】
或る局面では、第２変更操作に応答して指定先の変更を第２指定手段に要求する第２変更要求手段(S51)がさらに備えられる。
【０００９】
或る実施例では、第１指定手段の指定先が既定条件を満足する状態での第１変更操作に応答して第２指定手段を起動する第１起動手段(S47)、および第２指定手段の指定先が既定条件を満足する状態での第２変更操作に応答して第１指定手段を起動する第２起動手段(S67)がさらに備えられる。
【００１０】
他の局面では、第１外部転送要求手段は第１識別情報を外部転送要求に割り当てる第１情報割り当て手段(S79)を含み、第２外部転送要求手段は第２識別情報を外部転送要求に割り当てる第２情報割り当て手段(S57)を含む。
【００１１】
好ましくは、コンテンツを新規に取り込む取り込み手段(S5)、取り込み手段によって取り込まれたコンテンツの保存を拡張装置に要求する保存要求手段(S23, S25, S151)、および取り込み手段によって取り込まれたコンテンツを保存要求手段の要求処理に関連して拡張装置に転送する取り込みコンテンツ転送手段(S25, S177, S179)がさらに備えられる。
【００１２】
或る局面では、保存要求手段は第３識別情報を保存要求に割り当てる第３情報割り当て手段(S23)を含む。
【００１３】
他の局面では、ストレージ(34)の残容量を参照して保存要求手段を起動する第３起動手段(S21)がさらに備えられる。
【００１４】
この発明に従うコンテンツ処理プログラムは、コンテンツ処理装置(10)のプロセッサ(28)に、転送機能とストレージ機能とを有する拡張装置(40)に保存された１または２以上のコンテンツのいずれか１つを指定する指定ステップ(S65, S77)、指定ステップによって指定されたコンテンツの内部転送を拡張装置に要求する内部転送要求ステップ(S69, S201, S209)、内部転送要求ステップの要求処理に応答して拡張装置から転送されたコンテンツを再生する再生ステップ(S71)、変更操作に応答して指定先の変更を指定ステップに要求する変更要求ステップ(S73)、および指定ステップによって指定されたコンテンツの外部転送を転送操作に応答して拡張装置に要求する外部転送要求ステップ(S75, S79, S81, S221)を実行させるための、コンテンツ処理プログラムである。
【００１５】
この発明に従うコンテンツ処理方法は、コンテンツ処理装置(10)によって実行されるコンテンツ処理方法であって、転送機能とストレージ機能とを有する拡張装置(40)に保存された１または２以上のコンテンツのいずれか１つを指定する指定ステップ(S65, S77)、指定ステップによって指定されたコンテンツの内部転送を拡張装置に要求する内部転送要求ステップ(S69, S201, S209)、内部転送要求ステップの要求処理に応答して拡張装置から転送されたコンテンツを再生する再生ステップ(S71)、変更操作に応答して指定先の変更を指定ステップに要求する変更要求ステップ(S73)、および指定ステップによって指定されたコンテンツの外部転送を転送操作に応答して拡張装置に要求する外部転送要求ステップ(S75, S79, S81, S221)を備える。
【発明の効果】
【００１６】
この発明によれば、再生すべきコンテンツは変更操作に応答して変更され、再生されたコンテンツは転送操作に応答して外部に転送される。これによって、外部に転送するコンテンツの事前確認と取捨選択とが可能となり、拡張装置に保存されたコンテンツの外部転送に関する操作性が向上する。
【００１７】
この発明の上述の目的，その他の目的，特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【図面の簡単な説明】
【００１８】
【図１】この発明の基本的構成を示すブロック図である。
【図２】この発明の一実施例の構成を示すブロック図である。
【図３】図２実施例に接続される拡張装置の構成の一例を示すブロック図である。
【図４】図２実施例に設けられたカメラＣＰＵが担う処理および図３実施例に設けられたメディアＣＰＵが担う処理の一例を示す図解図である。
【図５】図２実施例に設けられたカメラＣＰＵと図３実施例に設けられたメディアＣＰＵとの間の通信動作の一部を示す図解図である。
【図６】図２実施例に設けられたカメラＣＰＵと図３実施例に設けられたメディアＣＰＵとの間の通信動作の他の一部を示す図解図である。
【図７】図２実施例に設けられたカメラＣＰＵと図３実施例に設けられたメディアＣＰＵとの間の通信動作のその他の一部を示す図解図である。
【図８】図２実施例に設けられたカメラＣＰＵと図３実施例に設けられたメディアＣＰＵとの間の通信動作のさらにその他の一部を示す図解図である。
【図９】図２実施例に設けられたカメラＣＰＵと図３実施例に設けられたメディアＣＰＵとの間の通信動作の他の一部を示す図解図である。
【図１０】図２実施例に設けられたカメラＣＰＵと図３実施例に設けられたメディアＣＰＵとの間の通信動作のその他の一部を示す図解図である。
【図１１】図２実施例に設けられたカメラＣＰＵと図３実施例に設けられたメディアＣＰＵとの間の通信動作のさらにその他の一部を示す図解図である。
【図１２】図２実施例に設けられたカメラＣＰＵの動作の一部を示すフロー図である。
【図１３】図２実施例に設けられたカメラＣＰＵの動作の他の一部を示すフロー図である。
【図１４】図２実施例に設けられたカメラＣＰＵの動作のその他の一部を示すフロー図である。
【図１５】図２実施例に設けられたカメラＣＰＵの動作のさらにその他の一部を示すフロー図である。
【図１６】図２実施例に設けられたカメラＣＰＵの動作の他の一部を示すフロー図である。
【図１７】図２実施例に設けられたカメラＣＰＵの動作のその他の一部を示すフロー図である。
【図１８】図２実施例に設けられたカメラＣＰＵの動作のさらにその他の一部を示すフロー図である。
【図１９】図２実施例に設けられたカメラＣＰＵの動作の他の一部を示すフロー図である。
【図２０】図２実施例に設けられたカメラＣＰＵの動作のその他の一部を示すフロー図である。
【図２１】図２実施例に設けられたカメラＣＰＵの動作のさらにその他の一部を示すフロー図である。
【図２２】図２実施例に設けられたカメラＣＰＵの動作の他の一部を示すフロー図である。
【図２３】図２実施例に設けられたカメラＣＰＵの動作のその他の一部を示すフロー図である。
【図２４】図２実施例に設けられたカメラＣＰＵの動作のさらにその他の一部を示すフロー図である。
【図２５】図３実施例に設けられたカメラＣＰＵの動作のさらにその他の一部を示すフロー図である。
【図２６】図３実施例に設けられたメディアＣＰＵの動作の他の一部を示すフロー図である。
【図２７】図３実施例に設けられたメディアＣＰＵの動作のその他の一部を示すフロー図である。
【図２８】図３実施例に設けられたメディアＣＰＵの動作のさらにその他の一部を示すフロー図である。
【図２９】図３実施例に設けられたメディアＣＰＵの動作の他の一部を示すフロー図である。
【図３０】図３実施例に設けられたメディアＣＰＵの動作のその他の一部を示すフロー図である。
【図３１】図３実施例に設けられたメディアＣＰＵの動作のさらにその他の一部を示すフロー図である。
【発明を実施するための形態】
【００１９】
以下、この発明の実施の形態を図面を参照しながら説明する。
［基本的構成］
【００２０】
図１を参照して、この発明のコンテンツ処理装置は、基本的に次のように構成される。第１指定手段１は、転送機能とストレージ機能とを有する拡張装置６に保存された１または２以上のコンテンツのいずれか１つを指定する。内部転送要求手段２は、第１指定手段１によって指定されたコンテンツの内部転送を拡張装置６に要求する。第１再生手段３は、内部転送要求手段２の要求処理に応答して拡張装置６から転送されたコンテンツを再生する。第１変更要求手段４は、第１変更操作に応答して指定先の変更を第１指定手段１に要求する。第１外部転送要求手段５は、第１指定手段１によって指定されたコンテンツの外部転送を第１転送操作に応答して拡張装置６に要求する。
【００２１】
再生すべきコンテンツは変更操作に応答して変更され、再生されたコンテンツは転送操作に応答して外部に転送される。これによって、外部に転送するコンテンツの事前確認と取捨選択とが可能となり、拡張装置６に保存されたコンテンツの外部転送に関する操作性が向上する。
［実施例］
【００２２】
図２に示すディジタルカメラ１０はＤＰＳデバイスの一例であり、図３に示す拡張装置４０はＤＰＳホストの一例である。拡張装置４０は、より詳しくは、無線通信機能を備える着脱自在のメモリカードである。拡張装置４０がディジタルカメラ１０に装着されると、ＵＳＢデバイス３６およびＵＳＢホスト４２が互いに接続される。
【００２３】
図２に示すキー入力装置３０によってカメラモードが選択されると、撮像タスクの下で以下の処理が実行される。カメラＣＰＵ２８は、撮像タスクの下で動画取り込み処理を実行するべく、ドライバ１６に露光動作および電荷読み出し動作の繰り返しを命令する。ドライバ１６は、周期的に発生する垂直同期信号Ｖｓｙｎｃに応答して、イメージャ１４の撮像面を露光し、かつ撮像面で生成された電荷をラスタ走査態様で読み出す。イメージャ１４からは、光学レンズ１２を通して捉えられた被写界を表す生画像データが周期的に出力される。
【００２４】
信号処理回路１８は、イメージャ１４から出力された生画像データに白バランス調整，色分離，ＹＵＶ変換などの処理を施し、これによって生成されたＹＵＶ形式の画像データをメモリ制御回路２０を通してＳＤＲＡＭ２２に書き込む。ＬＣＤドライバ２４は、ＳＤＲＡＭ２２に格納された画像データをメモリ制御回路２０を通して繰り返し読み出し、読み出された画像データに基づいてＬＣＤモニタ２６を駆動する。この結果、被写界を表すスルー画像がモニタ画面に表示される。
【００２５】
キー入力装置３０上で記録操作が行われると、カメラＣＰＵ２８は、操作時点の被写界を表す画像データが収められた画像ファイルをＳＤＲＡＭ２２に作成する。カメラＣＰＵ２８は続いて、ストレージデバイス３４の残容量を“ＣＡＰｅｑ１”として取得し、作成された画像ファイルのサイズが残容量ＣＡＰｅｑ１を下回るか否かを判別する。画像ファイルのサイズが残容量ＣＡＰｅｑ１以上であれば、カメラＣＰＵ２８は、作成された画像ファイルをストレージデバイス３４に保存する。
【００２６】
一方、画像ファイルのサイズが残容量ＣＡＰｅｑ１を下回れば、拡張装置４０がＵＳＢデバイス３６に接続されており、ディジタルカメラ１０に適合するサービス構成を拡張装置４０が提供可能であり、画像ファイルのサイズが残容量ＣＡＰａｐ１を下回ることを条件として、以下の処理が実行される。
【００２７】
カメラＣＰＵ２８はまず、ディジタルカメラ１０に適合するサービス構成を拡張装置４０が提供可能であるか否かを判別するべく、ＳＶＣ探索処理を実行する。拡張装置４０はディジタルカメラ１０に適合するサービス構成を提供できるため、カメラＣＰＵ２８は次に、拡張装置４０に設けられたストレージデバイス５０の残容量を“ＣＡＰａｐ１”として取得するべく、ＳＶＣ能力判定処理を実行する。画像ファイルのサイズは残容量ＣＡＰａｐ１を下回るため、カメラＣＰＵ２８は、ジョブモードを“Ａ”に設定し、“ストレージモデル１”を実行する。この結果、画像ファイルは拡張装置４０のストレージデバイス５０に保存される。
【００２８】
なお、ＳＶＣ探索処理，ＳＶＣ能力判定処理および“ストレージモデル１”については後述する。
【００２９】
拡張装置４０が接続された状態で、キー入力装置３０によって再生モードが選択されると、再生タスクの下で以下の処理が実行される。カメラＣＰＵ２８は、拡張装置４０のストレージデバイス５０に保存された画像ファイルの総数を“Ｍｍａｘ”として取得するべく、ＳＶＣ能力判定処理を実行する。カメラＣＰＵ２８はまた、ディジタルカメラ１０のストレージデバイス３４に保存された画像ファイルの総数を“Ｎｍａｘ”として取得する。総数Ｎｍａｘは変数Ｎに設定され、総数Ｍｍａｘは変数Ｍに設定される。
【００３０】
カメラＣＰＵ２８は続いて、Ｎ番目の画像ファイルに格納された画像データをストレージデバイス３４から読み出し、読み出された画像データをＳＤＲＡＭ２２に展開する。展開された画像データはＬＣＤドライバ２４によって読み出され、この結果、対応する再生画像がＬＣＤモニタ２６に表示される。
【００３１】
キー入力装置３０によって送り操作が行われると、カメラＣＰＵ２８は変数Ｎをディクリメントし、ディクリメントされた変数Ｎに対応する画像ファイルに注目して上述と同様の処理を実行する。この結果、別の再生画像がＬＣＤモニタ２６に表示される。キー入力装置３０によって選択操作が行われると、カメラＣＰＵ２８は、ジョブモードを“Ｂ”に設定し、“ストレージモデル１”を実行する。この結果、現時点の再生画像に対応する画像ファイルが拡張装置４０に転送され、その後に無線ＬＡＮデバイス５２によって外部サーバ６０に送信される。
【００３２】
送り操作によって変数Ｎが“０”まで減少すると、カメラＣＰＵ２８は、拡張装置４０のストレージデバイス５０に保存されたＭ番目の画像ファイルの画像データを取得するべく、“ストレージモデル２＿ＵＰ”を実行する。取得された画像データはＳＤＲＡＭ２２に展開され、上述と同様にＬＣＤドライバ２４によって読み出される。この結果、対応する再生画像がＬＣＤモニタ２６に表示される。
【００３３】
キー入力装置３０によって送り操作が行われると、カメラＣＰＵ２８は変数Ｍをディクリメントし、ディクリメントされた変数Ｍに対応する画像ファイルに注目して上述と同様の処理を実行する。この結果、別の再生画像がＬＣＤモニタ２６に表示される。キー入力装置３０によって選択操作が行われると、カメラＣＰＵ２８は、ジョブモードを“Ｃ”に設定し、“ストレージモデル２＿ＬＷ”を実行する。この結果、現時点の再生画像に対応する画像データが無線ＬＡＮデバイス５２によって外部サーバ６０に送信される。
【００３４】
このように、外部サーバ６０に送信される画像ファイルは、カメラモードではディジタルカメラ１０のＳＤＲＡＭ２２に格納された画像ファイルに相当し、再生モードではディジタルカメラ１０のストレージデバイス３４および拡張装置４０のストレージデバイス５０から順に選択された画像ファイルに相当する。従来と異なるのは、拡張装置４０のストレージデバイス５０から画像ファイルを選択できるようにした点である。
【００３５】
なお、“ストレージモデル２＿ＵＰ”および“ストレージモデル２＿ＬＷ”については後述する。
【００３６】
図４を参照して、ディジタルカメラ１０のカメラＣＰＵ２８は、制御モジュールに加えて、通信クライアント，ストレージサーバおよびストレージクライアントを有する。また、拡張装置４０のメディアＣＰＵ４４は、制御モジュールに加えて、通信サーバ，ストレージクライアントおよびストレージサーバを有する。
【００３７】
詳しく説明すると、通信機能については、メディアＣＰＵ４４が通信サーバとしての役割を固定的に担い、カメラＣＰＵ２８が通信クライアントとしての役割を固定的に担う。これに対して、ストレージ機能については、“ストレージモデル１”が実行される場合と、“ストレージモデル２＿ＵＰ”および“ストレージモデル２＿ＬＷ”が実行される場合とで、カメラＣＰＵ２８およびメディアＣＰＵ４４が担う役割が適応的に変更される。
【００３８】
つまり、“ストレージモデル１”が実行される場合は、カメラＣＰＵ２８がストレージサーバとしての役割を担う一方、メディアＣＰＵ４４がストレージクライアントとしての役割を担う。これに対して、“ストレージモデル２＿ＵＰ”および“ストレージモデル２＿ＬＷ”が実行される場合は、メディアＣＰＵ４４がストレージサーバとしての役割を担う一方、カメラＣＰＵ２８がストレージクライアントとしての役割を担う。
【００３９】
このような役割分担を踏まえて、ＳＶＣ探索処理，ＳＶＣ能力判定処理，“ストレージモデル１”，“ストレージモデル２＿ＵＰ”および“ストレージモデル２＿ＬＷ”の各々における処理動作を以下に説明する。
［ＳＶＣ探索処理］
【００４０】
図５を参照して、カメラＣＰＵ２８は、デバイス探索メッセージを送信する。送信されたデバイス探索メッセージは、ＵＳＢデバイス３６およびＵＳＢホスト４２を経てメディアＣＰＵ４４に与えられる。メディアＣＰＵ４４は、デバイス探索メッセージに応答して、ＤＰＳホスト探索メッセージを返送する。返送されたＤＰＳホストメッセージは、ＵＳＢホスト４２およびＵＳＢデバイス３６を経てカメラＣＰＵ２８に与えられる。
【００４１】
ＤＰＳホスト探索メッセージを受信したカメラＣＰＵ２８は、ディジタルカメラ１０のサービス構成（具体的には、サービス名およびサービスバーション）が記述されたDPS_ConfigureCommServiceリクエストをメディアＣＰＵ４４に向けて送信する。メデイアＣＰＵ４４は、受信したDPS_ConfigureCommServiceリクエストからサービス構成（具体的にはサービス名およびサービスバージョン）を取得し、取得されたサービス構成が拡張装置４０のサービス構成とマッチするか否かを判別する。
【００４２】
サービス構成がマッチすれば、メディアＣＰＵ４４は、DPS_ConfigureCommServiceリクエストに対する応答（＝ＡＣＫ／Ｒｅｐｌｙ）をカメラＣＰＵ２８に向けて送信する。ＡＣＫ／Ｒｅｐｌｙには、拡張装置４０のサービス構成（具体的にはサービス名およびサービスバーションが記述される。なお、サービス構成がマッチしなければ、エラーが記述されたＡＣＫ／ＲｅｐｌｙがカメラＣＰＵ２８に向けて送信される。
【００４３】
カメラＣＰＵ２８は、メディアＣＰＵ４４から受信したＡＣＫ／Ｒｅｐｌｙの記述を参照して、サービス構成がディジタルカメラ１０と拡張装置４０との間でマッチするか否かを判別する。サービス構成がマッチすれば、カメラＣＰＵ２８は、ディジタルカメラ１０に適合するサービス構成を拡張装置４０が提供可能であるとみなす。
［ＳＶＣ能力判定処理］
【００４４】
図６および図７を参照して、カメラＣＰＵ２８の通信クライアントは、“容量”または“ファイル数”がパラメータとして記述されたDPS_GetCommSvcCapabilityリクエストをメディアＣＰＵ４４に向けて送信する。
【００４５】
DPS_GetCommSvcCapabilityリクエストに記述されたパラメータが“容量”であるとき、メディアＣＰＵ４４の通信サーバは、制御モジュールを介してストレージデバイス５０にアクセスし、ストレージデバイス５０の総容量および残容量をストレージ情報として取得し、そして取得されたストレージ情報が記述されたＡＣＫ／Ｒｅｐｌｙを通信クライアントに返送する。
【００４６】
これに対して、DPS_GetCommCapabilityリクエストに記述されたパラメータが“ファイル数”であるとき、メディアＣＰＵ４４の通信サーバは、制御モジュールを介してストレージデバイス５０にアクセスし、ストレージデバイス５０に保存された画像ファイルの総数をストレージ情報として取得し、そして取得されたストレージ情報が記述されたＡＣＫ／Ｒｅｐｌｙを通信クライアントに返送する。ＡＣＫ／Ｒｅｐｌｙに記述されたストレージ情報は、カメラＣＰＵ２８の通信クライアンによって抽出される。
［ストレージモデル１］
【００４７】
図８および図９を参照して、カメラＣＰＵ２８の通信クライアントは、ジョブモード“Ａ”または“Ｂ”が記述されたDPS_CommStartJobリクエストをメディアＣＰＵ４４の通信サーバに向けて送信する。
【００４８】
メディアＣＰＵ４４の通信サーバは、DPS_CommStartJobリクエストに対する応答（＝ＡＣＫ）を通信クライアントに送信する。また、メディアＣＰＵ４４の制御モジュールは、DPS_GetFileInfoリクエストをカメラＣＰＵ２８のストレージサーバに向けて送信する。
【００４９】
カメラＣＰＵ２８のストレージサーバは、DPS_GetFileInfoリクエストに応答してファイル情報を取得する。取得されるファイル情報は、ジョブモードが“Ａ”であるとき、記録操作に応答して新規に作成された画像ファイルのファイル情報である。取得されるファイル情報はまた、ジョブモードが“Ｂ”であるとき、ストレージデバイス３４に保存されたＮ番目の画像ファイルのファイル情報である。カメラＣＰＵ２８のストレージサーバは、取得されたファイル情報が記述されたＡＣＫ／ＲｅｐｌｙをメディアＣＰＵ４４のストレージクライアントに向けて送信する。
【００５０】
メディアＣＰＵ４４のストレージクライアントは、ＡＣＫ／Ｒｅｐｌｙに応答してDPS_GetFileリクエストをカメラＣＰＵ２８のストレージサーバに向けて送信する。
【００５１】
カメラＣＰＵ２８のストレージサーバは、DPS_GetFileリクエストに応答して画像ファイルを取得し、取得された画像ファイルをメディアＣＰＵ４４のストレージクライアントに向けて送信する。送信される画像ファイルは、ジョブモードが“Ａ”であるとき新規に作成された画像ファイルであり、ジョブモードが“Ｂ”であるときストレージデバイス３４に保存されたＮ番目の画像ファイルである。
【００５２】
受信された画像ファイルは、メモリ制御回路４６によってＳＤＲＡＭ４８に格納される。メディアＣＰＵ４４は、ジョブモードに応じて異なる処理を以下の要領で実行する。
【００５３】
ジョブモードが“Ａ”であれば、ストレージクライアントは、ＳＤＲＡＭ４８に格納された画像ファイルを制御モジュールを介してストレージデバイス５０に保存する。保存処理が完了すると、メディアＣＰＵ４４の通信サーバからカメラＣＰＵ２８の通信クライアントに向けてDPS_NotifyCommStatusリクエストが送信される。
【００５４】
ジョブモードが“Ｂ”であれば、制御モジュールは、メディアＣＰＵ４４のストレージクライアントに向けてデータ転送要求を発行し、ＳＤＲＡＭ４８に格納された画像ファイルの画像データを取得する。取得された画像データは、無線ＬＡＮデバイス５２によって外部サーバ６０に向けて送信される。画像データの転送処理（画像データの取得処理）が終了すると、通信サーバはDPS_NotifyCommStatusリクエストをカメラＣＰＵ２８の通信クライアントに向けて送信する。
［ストレージモデル２＿ＵＰ］
【００５５】
図１０を参照して、カメラＣＰＵ２８のストレージクライアントは、送り操作が実行されたとき、DPS_GetMediaInfoリクエストをメディアＣＰＵ４４に向けて送信する。メディアＣＰＵ４４のストレージサーバは、DPS_GetMediaInfoリクエストに応答してストレージデバイス５０から画像情報を取得し、取得された画像情報が記述されたＡＣＫ／ＲｅｐｌｙをカメラＣＰＵ２８に向けて送信する。
【００５６】
カメラＣＰＵ２８のストレージクライアントは、受信したＡＣＫ／Ｒｅｐｌｙから画像情報を抽出し、DPS_GetMediaDataリクエストをメディアＣＰＵ４４に向けて送信する。メディアＣＰＵ４４のストレージサーバは、DPS_GetMediaDataリクエストに応答してストレージデバイス５０に格納された画像ファイルの画像データをメモリ制御回路４６を通してＳＤＲＡＭ４８に展開し、展開された画像データを含むＡＣＫ／ＲｅｐｌｙをカメラＣＰＵ２８に向けて送信する。
［ストレージモデル２＿ＬＷ］
【００５７】
図１１を参照して、カメラＣＰＵ２８の通信クライアントは、選択操作が実行されたとき、DPS_CommStartJobリクエストをメディアＣＰＵ４４に向けて送信する。メディアＣＰＵ４４の通信サーバは、DPS_CommStartJobリクエストに対してＡＣＫを返送し、ＳＤＲＡＭ４８から画像データを取得するべくメディアＣＰＵ４４のストレージサーバに向けてデータ転送要求を発行する。取得された画像データは、無線ＬＡＮデバイス５２によって外部サーバ６０に向けて送信される。データ転送処理（画像データの取得処理）が終了すると、メディアＣＰＵ４４のストレージサーバは、DPS_NotifyCommStatusリクエストをカメラＣＰＵ４０に向けて送信する。
【００５８】
ディジタルカメラ１０に設けられたカメラＣＰＵ２８は、カメラモードに対応して図１２〜図１３に示す撮像タスクを実行し、再生モードに対応して図１４〜図１６に示す再生タスクを実行する。なお、これらのタスクに対応する制御プログラムは、フラッシュメモリ３８に記憶される。
【００５９】
図１２を参照して、ステップＳ１では動画取り込み処理を実行する。この結果、スルー画像がＬＣＤモニタ２６に表示される。ステップＳ３では記録操作が行われたか否かを判別し、判別結果がＮＯからＹＥＳに更新されると、ステップＳ５で画像ファイル作成処理を実行する。この結果、記録操作が行われた時点の被写界を表す画像データが収められた画像ファイルがＳＤＲＡＭ２２に作成される。
【００６０】
ステップＳ７では、ストレージデバイス３４の残容量を“ＣＡＰｅｑ１”として取得する。ステップＳ９では、ステップＳ５で作成された画像ファイルのサイズがステップＳ７で取得された残容量ＣＡＰｅｑ１を下回るか否かを判別する。判別結果がＹＥＳであればステップＳ１１に進み、ステップＳ５で作成された画像ファイルをストレージデバイス３４に記録する。記録処理が完了すると、ステップＳ３に戻る。
【００６１】
ステップＳ９の判別結果がＮＯであれば、拡張装置４０がＵＳＢデバイス３６に接続されているか否かをステップＳ１３で判別する。拡張装置４０がＵＳＢデバイス３６に接続されていなければ、ステップＳ２７で保存エラーを報知し、その後にステップＳ３に戻る。拡張装置４０がＵＳＢデバイス３６に接続されていれば、ステップＳ１５でＳＶＣ探索処理を実行する。ステップＳ１７では、ディジタルカメラ１０に適合するサービス構成を拡張装置４０が提供可能であるか否かをＳＶＣ探索処理の結果に基づいて判別する。
【００６２】
判別結果がＮＯであれば、ステップＳ２７の報知処理を経てステップＳ３に戻る。判別結果がＹＥＳであれば、拡張装置４０に設けられたストレージデバイス５０の残容量を“ＣＡＰａｐ１”として取得するべく、ステップＳ１９でＳＶＣ能力判定処理を実行する。
【００６３】
ステップＳ２１では、ステップＳ５で作成された画像ファイルのサイズがステップＳ１９で取得された残容量ＣＡＰａｐ１を下回るか否かを判別する。判別結果がＮＯであれば、ステップＳ２７の報知処理を経てステップＳ３に戻る。判別結果がＹＥＳであれば、ステップＳ２３でジョブモードを“Ａ”に設定し、ステップＳ２５で“ストレージモデル１”を実行する。ステップＳ２５の処理が完了すると、ステップＳ３に戻る。
【００６４】
図１４を参照して、ステップＳ３１〜Ｓ３５では上述したステップＳ１３〜Ｓ１７と同様の処理を実行する。ステップＳ３１またはＳ３５の判別結果がＮＯであれば、ステップＳ３７で送信エラーを報知し、その後にステップＳ３１に戻る。
【００６５】
ステップＳ３５でＹＥＳであれば、拡張装置４０のストレージデバイス５０に保存された画像ファイルの総数を“Ｍｍａｘ”として取得するべく、ステップＳ３９でＳＶＣ能力判定処理を実行する。ステップＳ４１では、ディジタルカメラ１０のストレージデバイス３４に保存された画像ファイルの総数を“Ｎｍａｘ”として取得する。
【００６６】
ステップＳ４３では総数Ｎｍａｘが“０”であるか否かを判別し、判別結果がＹＥＳであればステップＳ６３に進む一方、判別結果がＮＯであればステップＳ４５で総数Ｎｍａｘを変数Ｎに設定する。ステップＳ４７では変数Ｎが“０”を上回るか否かを判別し、判別結果がＮＯであればステップＳ６３に進む一方、判別結果がＹＥＳであればステップＳ４９に進む。
【００６７】
ステップＳ４９では、Ｎ番目の画像ファイルに格納された画像データをストレージデバイス３４から読み出し、読み出された画像データをＳＤＲＡＭ２２に展開する。展開された画像データはＬＣＤドライバ２４によって読み出され、この結果、対応する再生画像がＬＣＤモニタ２６に表示される。
【００６８】
ステップＳ５１ではキー入力装置３０によって送り操作が行われたか否かを判別し、ステップＳ５３ではキー入力装置３０によって選択操作が行われたか否かを判別する。ステップＳ５１の判別結果がＹＥＳであれば、ステップＳ５５で変数Ｎをディクリメントし、その後にステップＳ４７に戻る。ステップＳ５３の判別結果がＹＥＳであれば、ステップＳ５７でジョブモードを“Ｂ”に設定し、ステップＳ５９で“ストレージモデル１”を実行し、その後にステップＳ５１に戻る。
【００６９】
ステップＳ６３では総数Ｍｍａｘが“０”であるか否かを判別し、判別結果がＹＥＳであればステップＳ４３に戻る一方、判別結果がＮＯであればステップＳ６５で総数Ｍｍａｘを変数Ｍに設定する。ステップＳ６７では変数Ｍが“０”を上回るか否かを判別し、判別結果がＮＯであればステップＳ４３に戻る一方、判別結果がＹＥＳであればステップＳ６９に進む。
【００７０】
ステップＳ６９では、拡張装置４０のストレージデバイス５０に保存されたＭ番目の画像ファイルを取得するべく、“ストレージモデル２＿ＵＰ”を実行する。ステップＳ７１では、取得された画像ファイルに格納された画像データをＳＤＲＡＭ２２に展開する。この結果、対応する再生画像がＬＣＤモニタ２６に表示される。
【００７１】
ステップＳ７３ではキー入力装置３０によって送り操作が行われたか否かを判別し、ステップＳ７５ではキー入力装置３０によって選択操作が行われたか否かを判別する。ステップＳ７３の判別結果がＹＥＳであれば、ステップＳ７７で変数Ｍをディクリメントし、その後にステップＳ６７に戻る。ステップＳ７５の判別結果がＹＥＳであれば、ステップＳ７９でジョブモードを“Ｃ”に設定し、ステップＳ８１で“ストレージモデル２＿ＬＷ”を実行し、その後にステップＳ７３に戻る。
【００７２】
図１３に示すステップＳ１５または図１４に示すステップＳ３３のＳＶＣ探索処理は、図１７に示すサブルーチンに従って実行される。まず、ステップＳ９１でデバイス探索メッセージを送信する。ステップＳ９３では拡張装置４０からＤＰＳホスト探索メッセージを受信したか否かを判別し、ステップＳ９５ではタイムアウトが発生したか否かを判別する。
【００７３】
ＤＰＳホスト探索メッセージを受信することなくタイムアウトが発生すると、ステップＳ９５でＹＥＳと判断し、ステップＳ１０９でサービスエラーを報知してから上階層のルーチンに復帰する。タイムアウトが発生する前にＤＰＳホスト探索メッセージを受信すると、ステップＳ９３でＹＥＳと判断し、ステップＳ９７で初期化動作を実行する。これによって、ディジタルカメラ１０のサービス構成（具体的には、サービス名およびサービスバーション）が記述されたDPS_ConfigureCommServiceリクエストが拡張装置４０に向けて送信される。
【００７４】
ステップＳ９９では拡張装置４０からＡＣＫ／Ｒｅｐｌｙを受信したか否かを判別し、ステップＳ１０１ではタイムアウトが発生したか否かを判別する。ＡＣＫ／Ｒｅｐｌｙを受信することなくタイムアウトが発生すると、ステップＳ１０１でＹＥＳと判断し、ステップＳ１０９の報知処理を経て上階層のルーチンに復帰する。
【００７５】
タイムアウトが発生する前にＡＣＫ／Ｒｅｐｌｙを受信すると、ステップＳ９９でＹＥＳと判断し、サービス構成がディジタルカメラ１０と拡張装置４０との間でマッチするか否かをステップＳ１０３で判別する。拡張装置４０から受信したＡＣＫ／Ｒｅｐｌｙには、拡張装置４０のサービス構成（具体的には、サービス名およびサービスバージョン）が記述される。ステップＳ１０３の判別処理では、このサービス構成が参照される。
【００７６】
ステップＳ１０３の判別結果がＮＯであれば、ステップＳ１０９の報知処理を経て上階層のルーチンに復帰する。ステップＳ１０３の判別結果がＹＥＳであれば、拡張装置４０からDPS_NotifyCommStatusリクエストを受信したか否かをステップＳ１０５で判別し、タイムアウトが発生したか否かをステップＳ１０７で判別する。
【００７７】
タイムアウトが発生する前にDPS_NotifyCommStatusリクエストを受信すると、ステップＳ１０５でＹＥＳと判断し、ステップＳ１１１で通信エラーを報知してから上階層のルーチンに復帰する。これに対して、DPS_NotifyCommStatusリクエストを受信することなくタイムアウトが発生すると、ディジタルカメラ１０に適合するサービス構成を拡張装置４０が提供可能であるとみなして、エラーを報知することなく上階層のルーチンに復帰する。
【００７８】
図１３に示すステップＳ１９または図１４に示すステップＳ３９のＳＶＣ能力判定処理は、図１８〜図１９に示すサブルーチンに従って実行される。ステップＳ１２１では、判定すべき能力が“容量”および“ファイル数”のいずれであるかを判別し、“容量”に対応してステップＳ１２３に進む一方、“ファイル数”に対応してステップＳ１３７に進む。
【００７９】
なお、ステップＳ１２３以降の処理は、図１３に示すステップＳ１９からこのサブルーチンに移行したときに実行される。また、ステップＳ１３７以降の処理は図１４に示すステップＳ３９からこのサブルーチンに移行したときに実行される。
【００８０】
ステップＳ１２３では初期化動作を実行する。これによって、“容量”がパラメータとして記述されたDPS_GetCommSvcCapabilityリクエストが拡張装置４０に対して送信される。ステップＳ１２５では拡張装置４０からＡＣＫ／Ｒｅｐｌｙを受信したか否かを判別し、ステップＳ１２７ではタイムアウトが発生したか否かを判別する。ＡＣＫ／Ｒｅｐｌｙを受信することなくタイムアウトが発生すると、ステップＳ１２７でＹＥＳと判断し、ステップＳ１３５で通信エラーを報知してから上階層のルーチンに復帰する。
【００８１】
タイムアウトが発生する前にＡＣＫ／Ｒｅｐｌｙを受信すると、ステップＳ１２５からステップＳ１２９に進み、ＡＣＫ／Ｒｅｐｌｙに記述されたストレージ情報（具体的には、ストレージデバイス５０の総容量と残容量）を抽出する。
【００８２】
ステップＳ１３１では拡張装置４０からDPS_NotifyCommStatusリクエストを受信したか否かを判別し、ステップＳ１３３ではタイムアウトが発生したか否かを判別する。タイムアウトが発生する前にDPS_NotifyCommStatusリクエストを受信すると、ステップＳ１３１でＹＥＳと判断し、ステップＳ１３５の報知処理を経て上階層のルーチンに復帰する。これに対して、DPS_NotifyCommStatusリクエストを受信することなくタイムアウトが発生すると、そのまま上階層のルーチンに復帰する。
【００８３】
ステップＳ１３７〜Ｓ１４９では、上述したステップＳ１２３〜Ｓ１３５とほぼ同様の処理を実行する。異なるのは、ステップＳ１３７で送信されるDPS_GetCommSvcCapabilityリクエストに記述されるパラメータが“ファイル数”である点と、ステップＳ１４３でＡＣＫ／Ｒｅｐｌｙから抽出されるストレージ情報がストレージデバイス５０に保存された画像ファイルの総数である点である。
【００８４】
図１３に示すステップＳ２５または図１５に示すステップＳ５９の“ストレージモデル１”は、図２０〜図２３に示すサブルーチンに従って実行される。まずステップＳ１５１でDPS_CommStartJobリクエストを拡張装置４０に向けて送信する。このリクエストには、ステップＳ２３またはＳ５７で設定されたジョブモードが記述される。
【００８５】
ステップＳ１５３ではＡＣＫを受信したか否かを判別し、ステップＳ１５５ではタイムアウトが発生したか否かを判別する。ＡＣＫを受信することなくタイムアウトが発生すると、ステップＳ１５５でＹＥＳと判断し、ステップＳ１９１で通信エラーを報知してから上階層のルーチンに復帰する。タイムアウトが発生する前にＡＣＫを受信すると、ステップＳ１５３からステップＳ１５７に進む。
【００８６】
ステップＳ１５７では拡張装置４０からDPS_NotifyCommStatusリクエストを受信したか否かを判別し、ステップＳ１５９ではタイムアウトが発生したか否かを判別する。タイムアウトが発生する前にDPS_NotifyCommStatusリクエストを受信すると、ステップＳ１５７でＹＥＳと判断し、ステップＳ１９１の報知処理を経て上階層のルーチンに復帰する。DPS_NotifyCommStatusリクエストを受信することなくタイムアウトが発生すると、ステップＳ１５９からステップＳ１６１に進む。
【００８７】
ステップＳ１６１では拡張装置４０からDPS_GetFileInfoリクエストを受信したか否かを判別し、ステップＳ１６３ではタイムアウトが発生したか否かを判別する。DPS_GetFileInfoリクエストを受信する前にタイムアウトが発生すると、ステップＳ１６３でＹＥＳと判断し、ステップＳ１９１の報知処理を経て上階層のルーチンに復帰する。タイムアウトが発生する前にDPS_GetFileInfoリクエストを受信すると、ステップＳ１６１からステップＳ１６５に進む。
【００８８】
ステップＳ１６５では、ファイル情報を取得する。図１３に示すステップＳ２５からこのサブルーチンに移行したときは、図１２に示すステップＳ５で作成された画像ファイルのファイル情報を取得する。また、図１５に示すステップＳ５９からこのサブルーチンに移行したときは、ストレージデバイス３４に保存されたＮ番目の画像ファイルのファイル情報を取得する。ステップＳ１６７では、受信したDPS_GetFileInfoリクエストに対する応答を拡張装置４０に向けて送信する。送信される応答には、ステップＳ１６５で取得されたファイル情報が記述される。
【００８９】
ステップＳ１６９〜Ｓ１７１では、上述したステップＳ１５７〜Ｓ１５９と同様の処理を実行する。ステップＳ１６９でＹＥＳであればステップＳ１９１の報知処理を経て上階層のルーチンに復帰し、ステップＳ１７１でＹＥＳであればステップＳ１７３に進む。
【００９０】
ステップＳ１７３では拡張装置４０からDPS_GetFileリクエストを受信したか否かを判別し、ステップＳ１７５ではタイムアウトが発生したか否かを判別する。DPS_GetFileリクエストを受信する前にタイムアウトが発生すると、ステップＳ１７５でＹＥＳと判断し、ステップＳ１９１の報知処理を経て上階層のルーチンに復帰する。タイムアウトが発生する前にDPS_GetFileリクエストを受信すると、ステップＳ１７３からステップＳ１７７に進む。
【００９１】
ステップＳ１７７では画像ファイルを取得する。図１３に示すステップＳ２５からこのサブルーチンに移行したときは、図１２に示すステップＳ５で作成された画像ファイルを取得する。また、図１５に示すステップＳ５９からこのサブルーチンに移行したときは、ストレージデバイス３４に保存されたＮ番目の画像ファイルを取得する。ステップＳ１７９では、取得された画像ファイルを拡張装置４０に向けて送信する。
【００９２】
ステップＳ１８１では画像ファイルの送信が完了したか否かを繰り返し判別し、判別結果がＮＯからＹＥＳに更新されるとステップＳ１８３でＡＣＫを拡張装置４０に向けて送信する。
【００９３】
ステップＳ１８５では拡張装置４０からDPS_NotifyCommStatusリクエストを受信したか否かを判別し、ステップＳ１８７ではタイムアウトが発生したか否かを判別する。タイムアウトが発生する前にDPS_NotifyCommStatusリクエストを受信すると、ステップＳ１８５でＹＥＳと判断し、ステップＳ１８９で通信完了を報知してから上階層のルーチンに復帰する。DPS_NotifyCommStatusリクエストを受信することなくタイムアウトが発生すると、ステップＳ１９１の報知処理を経て上階層のルーチンに復帰する。
【００９４】
図１６に示すステップＳ６９の“ストレージモデル２＿ＵＰ”は、図２３に示すサブルーチンに従って実行される。まずステップＳ２０１で初期化動作を実行する。これによって、DPS_GetMediaInfoリクエストが拡張装置４０に向けて送信される。ステップＳ２０３では拡張装置４０からＡＣＫ／Ｒｅｐｌｙを受信したか否かを判別し、ステップＳ２０５ではタイムアウトが発生したか否かを判別する。
【００９５】
ＡＣＫ／Ｒｅｐｌｙを受信することなくタイムアウトが発生すると、ステップＳ２０５でＹＥＳと判断し、ステップＳ２１９で通信エラーを報知してから上階層のルーチンに復帰する。タイムアウトが発生する前にＡＣＫ／Ｒｅｐｌｙを受信すると、ステップＳ２０３からステップＳ２０７に進み、受信したＡＣＫ／Ｒｅｐｌｙから画像情報を抽出する。
【００９６】
画像情報の抽出が完了すると、ステップＳ２０９で初期化動作を実行する。これによって、DPS_GetMediaDataリクエストが拡張装置４０に向けて送信される。ステップＳ２１１〜Ｓ２１３では、上述したステップＳ２０３〜Ｓ２０５と同様の処理を実行する。ステップＳ２１３でＹＥＳであれば、ステップＳ２１９の報知処理を経て上階層のルーチンに復帰する。
【００９７】
ステップＳ２１１でＹＥＳであればステップＳ２１５に進み、受信したＡＣＫ／Ｒｅｐｌｙから画像データを抽出する。ステップＳ２１７では全画像データの抽出が完了したか否かを判別し、ＮＯであればステップＳ２１５に戻る一方、ＹＥＳであれば上階層のルーチンに復帰する。
【００９８】
図１６に示すステップＳ８１の“ストレージモデル２＿ＬＷ”は、図２４に示すサブルーチンに従って実行される。まずステップＳ２２１で初期化動作を実行する。これによって、DPS_CommStartJobリクエストが拡張装置４０に向けて送信される。ステップＳ２２３では拡張装置４０からＡＣＫを受信したか否かを判別し、ステップＳ２２５ではタイムアウトが発生したか否かを判別する。
【００９９】
ＡＣＫを受信することなくタイムアウトが発生すると、ステップＳ２２５でＹＥＳと判断し、ステップＳ２３３で通信エラーを報知してから上階層のルーチンに復帰する。タイムアウトが発生する前にＡＣＫを受信すると、ステップＳ２２３からステップＳ２２７に進む。
【０１００】
ステップＳ２２７では拡張装置４０からDPS_NotifyCommStatusリクエストを受信したか否かを判別し、ステップＳ２２９ではタイムアウトが発生したか否かを判別する。タイムアウトが発生する前にDPS_NotifyCommStatusリクエストを受信すると、ステップＳ２２７でＹＥＳと判断し、ステップＳ２３１で通信完了を報知してから上階層のルーチンに復帰する。DPS_NotifyCommStatusリクエストを受信することなくタイムアウトが発生すると、ステップＳ２３３の報知処理を経て上階層のルーチンに復帰する。
【０１０１】
拡張装置４０に設けられたメディアＣＰＵ４４は、図２５〜図３１に示すフロー図に従う処理を実行する。なお、このフロー図に対応する制御プログラムは、フラッシュメモリ５４に記憶される。
【０１０２】
図２５を参照して、ステップＳ２４１ではＵＳＢホスト４２に接続されたＤＰＳデバイス（この実施例ではディジタルカメラ１０）を発見したか否かを判別する。判別結果がＹＥＳであればステップＳ２５３に進み、判別結果がＮＯであればステップＳ２４３に進む。
【０１０３】
ステップＳ２４３では、デバイス探索メッセージをＤＰＳデバイスから受信したか否かを判別し、ステップＳ２４５ではタイムアウトが発生したか否かを判別する。デバイス探索メッセージを受信する前にタイムアウトが発生すると、ステップＳ２４５でＹＥＳと判別し、処理を終了する。
【０１０４】
タイムアウトが発生する前にデバイス探索メッセージを受信すると、ステップＳ２４３からステップＳ２４７に進み、ＤＰＳホスト探索メッセージをＤＰＳデバイスに送信する。ステップＳ２４９では通信サーバにおいてＤＰＳデバイスの発見を認識し、ステップＳ２５１では制御モジュールにおいてＤＰＳデバイスの発見を認識する。ステップＳ２５１の処理が完了すると、ステップＳ２５３に進む。
【０１０５】
ステップＳ２５３ではDPS_ConfigureCommServiceリクエストをＤＰＳデバイスから受信したか否かを判別し、ステップＳ２５５ではＤＰＳデバイスのサービス構成を取得済みであるか否かを判別する。ステップＳ２５３の判別結果がＹＥＳであればステップＳ２５９に進み、ステップＳ２５５の判別結果がＹＥＳであればステップＳ２７１に進む。また、ステップＳ２５３およびＳ２５５の判別結果がＮＯであれば、エラーが記述されたＡＣＫをステップＳ２５７でＤＰＳデバイスに送信してからステップＳ２５３に戻る。
【０１０６】
ステップＳ２５９では、DPS_ConfigureCommServiceリクエストに記述されたサービス構成（具体的にはサービス名およびサービスバージョン）を取得する。ステップＳ２６１では、取得されたサービス構成が拡張装置４０のサービス構成とマッチするか否かを判別する。判別結果がＹＥＳであればステップＳ２６３に進み、判別結果がＮＯであればステップＳ２６７に進む。
【０１０７】
ステップＳ２６３では制御モジュールにおいて探索処理の成功を認識し、ステップＳ２６５ではDPS_ConfigureCommServiceリクエストに対する応答をＤＰＳデバイスに送信する。応答には、拡張装置４０のサービス構成（具体的にはサービス名およびサービスバーションが記述される。ステップＳ２６５の処理が完了すると、ステップＳ２７１に進む。
【０１０８】
ステップＳ２６７では制御モジュールにおいて探索処理の失敗を認識し、ステップＳ２６９ではDPS_ConfigureCommServiceリクエストに対する応答処理を実行する。応答には、エラーが記述される。ステップＳ２６９の処理が完了すると、ステップＳ２５３に進む。
【０１０９】
ステップＳ２７１では、DPS_GetCommSvcCapabilityリクエストをＤＰＳデバイスから受信したか否かを判別する。判別結果がＮＯであればステップＳ２８５に進む一方、判別結果がＹＥＳであればステップＳ２７３に進む。
【０１１０】
ステップＳ２７３では受信したDPS_GetCommSvcCapabilityリクエストに記述されたパラメータを取得し、ステップＳ２７５では取得されたパラメータが“容量”および“ファイル数”のいずれであるかを判別する。パラメータが“容量”であればステップＳ２７７〜Ｓ２７９の処理を経てステップＳ２８５に進み、パラメータが“ファイル数”であればステップＳ２８１〜Ｓ２８３の処理を経てステップＳ２８５に進む。
【０１１１】
ステップＳ２７７ではストレージデバイス５０の総容量および残容量をストレージ情報として取得し、ステップＳ２７９ではDPS_GetCommSvcCapabilityリクエストに対する応答処理を実行する。応答には、ステップＳ２７７で取得されたストレージ情報（総容量および残容量）が記述される。
【０１１２】
ステップＳ２８１ではストレージデバイス５０に保存された画像ファイルの総数をストレージ情報として取得し、ステップＳ２８３ではDPS_GetCommSvcCapabilityリクエストに対する応答処理を実行する。応答には、ステップＳ２７７で取得されたストレージ情報（総ファイル数）が記述される。
【０１１３】
ステップＳ２８５では、DPS_CommStartJobリクエストをＤＰＳデバイスから受信したか否かを判別する。判別結果がＹＥＳであればステップＳ２８７に進み、判別結果がＮＯであればステップＳ３２９に進む。ステップＳ２８７ではDPS_CommStartJobリクエストに対する応答処理を実行し、ステップＳ２８９ではDPS_CommStartJobリクエストに記述されたジョブモードが“Ｃ”であるか否かを判別する。判別結果がＹＥＳであればステップＳ２９１に進み、判別結果がＮＯであればステップＳ２９９に進む。
【０１１４】
ステップＳ２９１では、拡張装置４０のストレージサーバに向けてデータ転送要求を発行し、ステップＳ２９３ではストレージデバイス３４から画像データを取得する。取得された画像データは、無線ＬＡＮデバイス５２によって外部サーバ６０に向けて送信される。ステップＳ２９５ではデータ転送が終了したか否かを判別し、判別結果がＮＯからＹＥＳに更新されるとステップＳ２９７に進む。ステップＳ２９７では初期化動作を実行し、これによって、DPS_NotifyCommStatusリクエストがＤＰＳデバイスに向けて送信される。初期化動作が完了すると、ステップＳ２７１に戻る。
【０１１５】
ステップＳ２９９では、DPS_GetFileInfoリクエストをＤＰＳデバイスに向けて送信するべく、初期化動作を実行する。ステップＳ３０１ではＤＰＳデバイスからＡＣＫ／Ｒｅｐｌｙを受信したか否かを判別し、ステップＳ３０３ではタイムアウトが発生したか否かを判別する。ＡＣＫ／Ｒｅｐｌｙを受信する前にタイムアウトが発生すると、ステップＳ３０３でＹＥＳと判別し、ステップＳ３１５で初期化動作を実行する。初期化動作によって、DPS_NotifyCommStatusリクエストがＤＰＳデバイスに向けて送信される。初期化動作が完了すると、ステップＳ２７１に戻る。
【０１１６】
タイムアウトが発生する前にＡＣＫ／Ｒｅｐｌｙを受信すると、ステップＳ３０５でＹＥＳと判別し、ステップＳ３０５で初期化動作を実行する。これによって、DPS_GetFileリクエストがＤＰＳデバイスに向けて送信される。
【０１１７】
ステップＳ３０７では画像ファイルをＤＰＳデバイスから受信したか否かを判別し、ステップＳ３０９ではタイムアウトが発生したか否かを判別する。画像ファイルを受信する前にタイムアウトが発生すると、ステップＳ３１５の処理を経てステップＳ２７１に戻る。タイムアウトが発生する前に画像ファイルを受信すると、ステップＳ３１１に進む。
【０１１８】
ステップＳ３１１ではＤＰＳデバイスからＡＣＫを受信したか否かを判別し、ステップＳ３１３ではタイムアウトが発生したか否かを判別する。ＡＣＫを受信する前にタイムアウトが発生すると、ステップＳ３１５の処理を経てステップＳ２７１に戻る。タイムアウトが発生する前にＡＣＫを受信すると、ステップＳ３１７に進む。
【０１１９】
ステップＳ３１７では、ステップＳ２８５で受信したDPS_CommStartJobリクエストに記述されたジョブモードが“Ｂ”であるか否かを判別する。判別結果がＹＥＳであればステップＳ３１９に進み、判別結果がＮＯであればステップＳ３２５に進む。
【０１２０】
ステップＳ３１９では拡張装置４０のストレージクライアントに向けてデータ転送要求を発行し、ステップＳ３２１ではＳＤＲＡＭ４８から画像データを取得する。取得された画像データはその後、無線ＬＡＮデバイス５２によって外部サーバ６０に向けて送信される。ステップＳ３２３では、画像データの転送が終了したか否かを判別する。判別結果がＮＯからＹＥＳに更新されると、DPS_NotifyCommStatusリクエストをＤＰＳデバイスに向けて送信するべく、ステップＳ３２７で初期化動作を実行する。初期化動作が完了すると、ステップＳ２７１に戻る。
【０１２１】
ステップＳ３１７でＮＯであれば、ジョブモードは“Ａ”であるとみなし、ステップＳ３２５に進む。ステップＳ３２５では、ＤＰＳデバイスから受信した画像ファイルをストレージデバイス５０に保存する。保存処理が完了すると、ステップＳ３２７の初期化動作を経てステップＳ２７１に戻る。
【０１２２】
ステップＳ３２９ではDPS_GetMediaInfoリクエストをＤＰＳデバイスから受信したか否かを判別し、ステップＳ３３１ではDPS_GetMediaDataリクエストをＤＰＳデバイスから受信したか否かを判別する。ステップＳ３２９でＹＥＳであればステップＳ３３３〜Ｓ３３５の処理を経てステップＳ２７１に戻り、ステップＳ３３１でＹＥＳであればステップＳ３３７〜Ｓ３３９の処理を経てステップＳ２７１に戻り、ステップＳ３２９およびＳ３３１のいずれもＮＯであればそのままステップＳ２７１に戻る。
【０１２３】
ステップＳ３３３では、ストレージデバイス５０から画像情報を取得し、ステップＳ３３５ではDPS_GetMediaInfoリクエストに対する応答処理を実行する。取得された画像情報は、応答処理によってＤＰＳデバイスに送信される。ステップＳ３３７では、ストレージデバイス５０から画像データを取得し、ステップＳ３３９ではDPS_GetMediaInfoリクエストに対する応答処理を実行する。取得された画像データは、応答処理によってＤＰＳデバイスに送信される。
【０１２４】
以上の説明から分かるように、拡張装置４０は転送機能とストレージ機能とを有する。カメラＣＰＵ２６は、拡張装置４０に保存された１または２以上の画像のいずれか１つを指定し(S65, S77)、指定画像の内部転送を拡張装置４０に要求する(S69, S201, S209)。指定画像が拡張装置４０から転送されると、カメラＣＰＵ２６は、拡張装置４０は転送された画像をＬＣＤモニタ２６に再生する(S71)。カメラＣＰＵ２６はまた、送り操作に応答して指定画像を変更し(S73)、指定画像の外部転送を選択操作に応答して拡張装置４０に要求する(S75, S79, S81, S221)。
【０１２５】
このように、再生すべき画像は送り操作に応答して変更され、再生された画像は選択操作に応答して外部に転送される。これによって、外部に転送する画像の事前確認と取捨選択とが可能となり、拡張装置４０に保存された画像の外部転送に関する操作性が向上する。
【符号の説明】
【０１２６】
１０  …ディジタルカメラ
１４  …イメージャ
１８  …信号処理回路
２８  …カメラＣＰＵ
３０  …キー入力装置
３４  …ストレージデバイス
３６  …ＵＳＢデバイス
【図１】
2011114740.tif 000003
【図２】
2011114740.tif 000004
【図３】
2011114740.tif 000005
【図４】
2011114740.tif 000006
【図５】
2011114740.tif 000007
【図６】
2011114740.tif 000008
【図７】
2011114740.tif 000009
【図８】
2011114740.tif 000010
【図９】
2011114740.tif 000011
【図１０】
2011114740.tif 000012
【図１１】
2011114740.tif 000013
【図１２】
2011114740.tif 000014
【図１３】
2011114740.tif 000015
【図１４】
2011114740.tif 000016
【図１５】
2011114740.tif 000017
【図１６】
2011114740.tif 000018
【図１７】
2011114740.tif 000019
【図１８】
2011114740.tif 000020
【図１９】
2011114740.tif 000021
【図２０】
2011114740.tif 000022
【図２１】
2011114740.tif 000023
【図２２】
2011114740.tif 000024
【図２３】
2011114740.tif 000025
【図２４】
2011114740.tif 000026
【図２５】
2011114740.tif 000027
【図２６】
2011114740.tif 000028
【図２７】
2011114740.tif 000029
【図２８】
2011114740.tif 000030
【図２９】
2011114740.tif 000031
【図３０】
2011114740.tif 000032
【図３１】
2011114740.tif 000033