(57)【要約】【課題】  撮像装置から接続したい情報処理装置を探索して接続を行う。【解決手段】  ネットワークを介して他の機器と通信可能な撮像装置であって、被写体を撮影し画像データを得る撮像手段と、前記撮像手段により得られた画像データを記録媒体に記録する記録手段と、外部装置に画像データを送信する通信デバイスを制御する手段を有する撮像装置であって、前記撮像装置は、機器と接続して通信を実行するための接続モードを有し、前記無線接続モードは各機器と接続するための機器選択手段と、ネットワークに接続するための設定を入力する手段と、ネットワークへの接続を開始すると無線接続を実行する手段を有する。【選択図】  図７
2014042353.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して他の機器と通信可能な撮像装置であって、
被写体を撮影し画像データを得る撮像手段と、
前記撮像手段により得られた画像データを記録媒体に記録する記録手段と、
外部装置に画像データを送信する通信手段を制御する手段を有する撮像装置であって、
前記撮像装置は、機器と接続して通信を実行するための接続モードを有し、
前記接続モードは各機器と接続するための機器を選択する手段と、
ネットワークに接続するための設定を入力する手段と、
ネットワークへの接続を開始すると無線接続を実行する手段を有し、
前記撮像装置は、機器の探索を行うプロトコルを有し、
前記撮像装置は、画像データを転送するプロトコルを有し、
前記撮像装置は、前記無線接続してネットワークに参加すると、まず機器の探索を行う手段を有し、
機器の探索で得た機器に固有な情報を保存する手段を有し、
機器の探索の結果を撮像装置の表示部に表示する手段を有し、
ユーザの指示によって機器が選択されたことを検知することをきっかけに、前記撮像装置は広告処理を行い、
接続する機器から送信された接続の要求を受けると、接続の要求で取得した機器に固有な情報と、機器の探索を行ったときに保存した固有の情報を比較し、一致していたら機器と接続することを特徴とする撮像装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は撮像装置に関し、特には情報処理装置との無線接続可能な撮像装置に関する。
【背景技術】
【０００２】
近年、無線通信機能を内蔵したデジタルカメラや、無線通信機能を搭載した記録メディアが登場している。これらのデバイスを利用すれば、デジタルカメラで撮影された画像ファイルを即座にパーソナルコンピュータ（以下、ＰＣ）に送信することも可能となる。
【０００３】
しかしながら、ＰＣと無線接続する場合に、ネットワーク上の特定のＰＣに接続するには、デジタルカメラに接続先のＰＣを特定するための情報を登録する必要がある。このような課題に鑑みて、以下のようなデジタルカメラが提案されている（特許文献１）。すなわち、デジタルカメラとＰＣが無線接続を行う際、接続対象となるＰＣにＵＳＢケーブルを介して接続し、通信相手となるＰＣを特定するためのペアリング情報をデジタルカメラにあらかじめ設定しておく。そして、デジタルカメラは、無線接続の開始が指示されると、ネットワークに対してアドバタイズメントを実行し、設定されたペアリング情報に基づいて特定のＰＣとの無線接続を行う。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−６７２３１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に記載のデジタルカメラは、無線接続を行う前に、ＵＳＢケーブルを介して接続して、通信相手となるＰＣを特定するためのペアリング情報をあらかじめ設定しなければならず、ユーザビリティが悪い。
【０００６】
またＰＣは、インストールされているＯＳによって、デバイス同士の接続処理に用いられるディスカバリプロトコルが異なる。代表的なディスカバリプロトコルにＵＰｎＰ（Ｕｎｉｖｅｒｓａｌ  Ｐｌｕｇ  ａｎｄ  Ｐｌａｙ）やＢｏｎｊｏｕｒなどがある。
【０００７】
ＵＰｎＰは、家庭内のＰＣや周辺機器、ＡＶ機器、電話、家電製品などのデバイスを、ネットワークを通じて接続し、相互に機能を提供しあうための技術仕様である。１９９９年にＭｉｃｒｏｓｏｆｔ社によって提唱され、Ｉｎｔｅｌ社など２０社以上が支持している。インターネットで標準となっている技術を基盤とし、ネットワークにつなぐだけで複雑な操作や設定作業を伴うことなく機能することを目指している。
【０００８】
また、Ｂｏｎｊｏｕｒは、Ｅｔｈｅｒｎｅｔ（登録商標）や無線ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）などのＩＰネットワーク上にあるデバイスを自動的に検出して接続する技術である。ＩＥＴＦ（ＩｎｔｅｒｎｅｔＥｎｇｉｎｉｅｅｒｉｎｇ  Ｔａｓｋ  Ｆｏｒｃｅ)のＺｅｒｏｃｏｎｆワーキンググループの標準プロトコルをベースに、Ａｐｐｌｅ  Ｔａｌｋと同様の使い勝手をもつゼロコンフィギュレーション技術として開発された。Ｚｅｒｏｃｏｎｆワーキンググループは、ＩＰアドレスの割り当て、名前付け、サービスの検索の３つの機能を要求している。アドレス割り当てでは、ルーターが関与しない通信はローカルネットワークと判断し、自動的にＩＰアドレスを取得する。名前付けでは、ローカルホスト名を必ずしも設定しなくてよいマルチキャストＤＮＳを使う。サービスの検索では、使いたい機能を持っているデバイスを探し出すことよって、それぞれ解決されている。主にＡｐｐｌｅ社のＭａｃＯＳにて利用されている。
【０００９】
また、その他のディスカバリプロトコルとして、Ｓｕｎ  Ｍｉｃｒｏｓｙｓｔｅｍｓ社のＪｉｎｉがある。特許文献１に記載のデジタルカメラでは、あらかじめペアリング情報を設定する際、ＰＣ毎にディスカバリプロトコルの種類を意識しながら設定する必要がある。従って、ネットワークの知識を有するユーザではない場合、正しく設定するには敷居が高い。
【００１０】
また、デジタルカメラとＰＣとの関係は、画像ファイルの取得を目的とするＰＣからの指示に応じて、デジタルカメラはＰＣに画像ファイルを提供する、いわゆるデバイスとコントロールポイントである。そのため、コントロールポイントであるＰＣがデジタルカメラとの接続開始、画像転送、および接続終了までを一貫して制御するのが一般的である。しかしながらユーザは、撮影後即時に画像ファイルをＰＣに転送したい場合や、画像ファイルの種類によって送信先のＰＣを変えたい場合がある。このような場合、デジタルカメラを手にした状態から、デジタルカメラを操作してネットワーク上のＰＣを列挙し、その中から所望のＰＣとの接続を指示できる方が、ユーザビリティが高い。
【００１１】
そこで本発明では、無線接続を行う前に、あらかじめＵＳＢケーブルなどを介して情報処理装置と接続して、ペアリング情報を設定することなく所望の情報処理装置と接続することができる撮像装置を実現することを１目的とする。また本発明では、ユーザが接続する情報処理装置が対応するディスカバリプロトコルの種類を意識することなく所望の情報処理装置と接続することができる撮像装置を実現することを１目的とする。また、本発明は、デバイスである撮像装置から、ネットワーク上のコントロールポイントである情報処理装置のうち選択された情報処理装置と接続し、接続が確立した後は、情報処理装置の指示に従って画像ファイルの転送を行う撮像装置の実現を１目的とする。
【課題を解決するための手段】
【００１２】
これら目的の少なくとも１つは、ネットワークを介して他の機器と通信可能な撮像装置であって、被写体を撮影し画像データを得る撮像手段と、前記撮像手段により得られた画像データを記録媒体に記録する記録手段と、外部装置に画像データを送信する通信デバイスを制御する手段を有する撮像装置であって、前記撮像装置は、機器と接続して通信を実行するための接続モードを有し、前記無線接続モードは各機器と接続するための機器選択手段と、ネットワークに接続するための設定を入力する手段と、ネットワークへの接続を開始すると無線接続を実行する手段を有し、前記撮像装置は、機器探索を行うプロトコルを有し、前記撮像装置は、画像データを転送するプロトコルを有し、前記撮像装置は、前記無線接続してネットワークに参加すると、まず機器探索を行う手段を有し、機器探索で得た機器の固有情報を保存する手段を有し、機器探索の結果を撮像装置の表示部に表示する手段を有し、ユーザの指示によって機器が選択されたことを検知することをきっかけに、前記撮像装置は広告処理を行い、接続する機器から送信された接続要求を受けると、接続要求で取得した固有情報と、機器探索時に保存した固有情報を比較し、一致していたら機器と接続することを特徴とする撮像装置によって実現される。
【発明の効果】
【００１３】
本発明によれば、無線接続を行う前に、あらかじめＵＳＢケーブルなどを介して情報処理装置と接続して、ペアリング情報を設定することなく所望の情報処理装置と接続することが可能となる。また、ユーザが接続する情報処理装置が対応するディスカバリプロトコルの種類を意識することなく所望の情報処理装置と接続することが可能となる。また本発明では、デバイスである撮像装置から、ネットワーク上のコントロールポイントである情報処理装置のうち選択された情報処理装置と接続し、接続が確立した後は、情報処理装置の指示に従って画像ファイルの転送を行うことが可能となる。
【図面の簡単な説明】
【００１４】
【図１】デジタルカメラの構成を示すブロック図。
【図２】ＰＣの構成を示すブロック図。
【図３】デジタルカメラとＰＣの接続形態を示す概念図。
【図４】デジタルカメラの画像転送処理を示すフローチャート。
【図５】デジタルカメラの画像転送処理の際に表示するＧＵＩを示す図。
【図６】ＰＣの画像転送処理を示すフローチャート。
【図７】デジタルカメラのディスカバリ処理を示すフローチャート。
【図８】デジタルカメラのデバイス検索処理を示すフローチャート。
【図９】デジタルカメラの広告処理を示すフローチャート。
【図１０】デジタルカメラ、ＰＣで送受信するＳＳＤＰメッセージを示す図。
【図１１】デジタルカメラ、ＰＣで送受信するディスクリプションを示す図。
【図１２】デジタルカメラ、ＰＣで送受信するＴＸＴレコードを示す図。
【図１３】デジタルカメラのディスカバリ処理の際に表示するＧＵＩを示す図。
【図１４】デジタルカメラのペアリング情報を示す図。
【図１５】デジタルカメラのディスカバリ処理を示すフローチャート。
【図１６】ＰＣのディスカバリ処理を示すフローチャート。
【発明を実施するための形態】
【００１５】
＜第１の実施形態＞
以下、本発明の例示的な実施形態について図を参照して説明するが、本発明は以下の実施形態に限定されない。また、種々の実施形態は適宜組み合わせてもよい。
【００１６】
［デジタルカメラの構成］
以下の説明では、本発明に係る撮像装置の一例として、静止画や動画が撮影可能なデジタルカメラについて説明する。なお、いわゆるカメラ付き携帯電話やカメラ付きのタブレットデバイスのように、デジタルカメラを備えた機器も撮像装置の一例である。
【００１７】
図１は、本実施形態に係るデジタルカメラ１００の構成を示すブロック図である。
制御部１０１は、例えば、ＣＰＵ（ＭＰＵ）、メモリ（ＤＲＡＭ、ＳＲＡＭ）などからなり、各種処理（プログラム）を実行してデジタルカメラ１００の各ブロックを制御したり、各ブロック間でのデータ送信を制御したりする。また制御部１０１は、ユーザからの操作を受け付ける操作部１０２からの操作信号に応じて、デジタルカメラ１００の各ブロックを制御する。
【００１８】
操作部１０２は、例えば、電源ボタン、ズーム調整ボタン、オートフォーカスボタンなどの撮影に関連する各種操作を入力するスイッチ類からなる。また、メニュー表示ボタン、決定ボタン、その他カーソルキー、ポインティングデバイス、タッチパネル等で構成することが可能であり、ユーザによりこれらのキーやボタンが操作されると制御部１０１に操作信号を送信する。さらに操作部１０２はレリーズボタンを含み、レリーズボタンはいわゆる半押し状態で押下されるＳＷ１と、いわゆる全押し状態で押下されるＳＷ２とから構成される。ＳＷ１の押下により撮影準備指示が出力され、ＳＷ２の押下により撮影指示が出力される。なお、本実施形態では、静止画撮影のためのレリーズボタンと動画撮影のためのレリーズボタンは共用しているが、別のボタンとすることも可能である。
【００１９】
バス１０３は、各種データ、制御信号、指示信号などをデジタルカメラ１００の各ブロックに送るための汎用バスである。
撮像部１１０は、レンズにより取り込まれた被写体の光学像を、絞りにより光量を制御して、ＣＣＤセンサやＣＭＯＳセンサ等の撮像素子により画像信号に変換する。
【００２０】
また、音声入力部１２０は、例えば、内蔵された無指向性のマイクまたは音声入力端子を介して接続された外部マイク等により、デジタルカメラ１００の周囲の音声を集音する。
【００２１】
メモリ１０４は、例えばＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）やフラッシュメモリであって、画像信号および音声信号、デジタルカメラ１００の設定情報などを一時的に記録する揮発性メモリと不揮発性メモリの双方が備わる。
【００２２】
記録媒体１４１は、デジタルカメラ１００に接続可能な記録媒体である。記録媒体１４１は、デジタルカメラ１００で生成した各種データなどを記録することができる。記録媒体１４１の例としては、例えばハードディスク、光ディスク、フラッシュメモリなどがあげられる。本実施形態では、いわゆるメモリカードと呼ばれるデジタルカメラ１００に装着可能なフラッシュメモリ装置を例に説明する。
【００２３】
音声出力部１５１は、例えば音声出力端子からなり、接続されたイヤホンやスピーカなどから音声を出力させるために音声信号を送信する。また、音声出力部１５１は、デジタルカメラ１００に内蔵されてもよい。
【００２４】
映像出力部１５０は、例えば映像出力端子からなり、接続された外部ディスプレイ等に映像を表示させるために画像信号を送信する。また、音声出力部１５１、映像出力部１５０は、統合された１つの端子、例えばＨＤＭＩ（登録商標）端子のような端子であってもよい。
【００２５】
本実施形態に係るデジタルカメラ１００はネットワークを介して他の機器と通信部１５２を通じて通信可能である。通信部１５２は、ＲＳ２３２Ｃ、ＵＳＢ、ＩＥＥＥ１３９４、Ｐ１２８４、ＳＣＳＩ、モデム、ＬＡＮ、ＩＥＥＥ８０２．１１などの通信インターフェイスにより、外部デバイスとの間でシリアルまたはパラレル通信によるデータの送受信を有線または無線で行う。また、通信インターフェイスに則って通信プロトコルを実行することで、外部デバイスとデータを送受信することが可能となる。通信プロトコルの一例として、ＨＴＴＰ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）やＰＴＰ−ＩＰ（Ｐｉｃｔｕｒｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ  ｏｖｅｒ  ＩＰ）などが挙げられる。
【００２６】
表示部１３０は、記録媒体１４１に記録された画像データや各種メニューなどのＧＵＩを表示する。表示部１３０は例えば、液晶ディスプレイ、有機ＥＬディスプレイ等を用いることができる。
【００２７】
［パーソナルコンピュータ（ＰＣ）の構成］
以下の説明では、情報処理装置の一例として、静止画や動画が取り込み可能なパーソナルコンピュータ（ＰＣ）について説明する。なお、プリンタ、いわゆるタブレット型ＰＣやスマートフォン、インターネットテレビなども情報処理装置の一例である。
【００２８】
図２は、本実施形態に係るＰＣ２００の構成を示すブロック図である。
ＰＣ２００は、表示部２０１と、操作部２０２と、ＣＰＵ２０３と、一次記憶装置２０４と、二次記憶装置２０５と、通信装置２０６とから構成されている。各構成の基本的な機能はデジタルカメラ１００と同様であるから、ここでは詳細な説明は省略する。なお、表示部２０１にはＬＣＤなどのディスプレイ装置が用いられる。また表示部２０１はＰＣ２００が備える必要はなく、ＰＣ２００は表示部２０１の表示を制御する表示制御機能を有していればよい。また、二次記憶装置２０５はハードディスクドライブや外部記憶媒体を読み出しおよび書き込みを行う装置であってよい。外部記録媒体としては、ＤＶＤ−ＲＷドライブ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＤＶＤ−ＲＡＭなどの光ディスクや、フレキシブルディスク、ＭＯなどの磁気ディスク、またフラッシュメモリなどの不揮発性メモリなどが例示できる。さらに、操作部２０２としては、キーボードやマウス、またタッチパネルを用いることが可能である。
【００２９】
通信装置２０６に用いられる通信インターフェイスやプロトコルは、デジタルカメラ１００と同様であるため説明は割愛する。ＰＣ２００は、この通信装置２０６を用いて、外部デバイスとデータを送受信することが可能となる。
【００３０】
［デジタルカメラとＰＣの接続形態について］
以下の説明では、デジタルカメラとＰＣのネットワーク参加形態の一例として、インフラストラクチャでの接続形態について説明する。なお、デジタルカメラとＰＣが１対１の接続のみでよい場合は、アドホック、またはＷｉ−Ｆｉ  Ｄｉｒｅｃｔで接続する形態も一例である。Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔは、無線ＬＡＮの普及促進団体、Ｗｉ−Ｆｉアライアンスが策定した仕様である。この仕様によれば、アクセスポイントがなくても無線ＬＡＮ搭載の携帯電話やタブレット、ＰＣ、デジタルカメラカメラ、プリンタ、携帯用ゲーム機などデバイス同士を無線で接続することができる。
【００３１】
図３は、デジタルカメラ１００と複数台のＰＣ２００が参加するネットワークの構成を示す概念図である。
３０１はルーターである。ルーターは、ネットワークの構築、およびネットワークに接続されたポータブルデバイスやＰＣなどのデバイス間の通信を中継するルーティング機能を提供する。ルーターは、インターネットプロトコルスイートに準拠して、自身に割り振ったＩＰアドレスをＧｅｔｅｗａｙとしてＬＡＮを構成する。また、ルーター３０１は有線または無線で接続するインターフェイスを有している。有線接続の一例として、ＬＡＮケーブルでルーターとデバイスを物理的に接続する。無線接続の一例として、ＩＥＥＥ８０２．１１ｘ（ｘはａ，ｂ，ｇ，ｎなど）に準拠した接続があげられる。ルーターは、ＳＳＩＤと暗号キーが設定されており、接続デバイスは、ＳＳＩＤと暗号キーを設定し、承認されることでルーターとの接続が確立される。
【００３２】
有線または無線を通じてＬＡＮにポータブルデバイスやＰＣなどのデバイスが接続されると、接続機器デバイスに対してＩＰアドレスの割り振りを自動または手動で行う。自動で行う場合の代表的なプロトコルとしてＤＨＣＰ（Ｄｙｎａｍｉｃ  Ｈｏｓｔ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）があげられる。そして、デバイス間の通信が行われる際にネットワーク上を流れるデータのプロトコルやＩＰアドレスを解析し、どの経路を通じて転送すべきかを判断する。
【００３３】
本実施形態では、ルーター３０１が、Ｇｅｔａｗａｙが１９２．１６８．０．１のＬＡＮを構築している。また、ＬＡＮに無線接続したデジタルカメラ１００には１９２．１６８．０．１０のＩＰアドレスが割り当てられている。また、無線接続したＰＣ２００（ａ）の“ＣｏｍｐｕｔｅｒＡ”には１９２．１６８．０．２０のＩＰアドレスが割り当てられている。また、無線接続したＰＣ２００（ｂ）の“ＣｏｍｐｕｔｅｒＢ”には１９２．１６８．０．２１のＩＰアドレスが割り当てられている。また、有線接続したＰＣ２００（ｃ）の“ＣｏｍｐｕｔｅｒＣ”には１９２．１６８．０．２２のＩＰアドレスが割り振られている。本実施形態では、上述したインフラストラクチャのネットワークを前提に、デジタルカメラ１００からユーザが接続を所望するＰＣ２００に接続する方法について説明する。
【００３４】
なお、本実施形態のデジタルカメラ１００には、ネットワーク上でデバイス探索を行うためのディスカバリプロトコルであるＵＰｎＰおよびＢｏｎｊｏｕｒの仕様に則ってＰＣ２００と通信が可能なプログラムが二次記憶装置１０５に記録されている。プログラムには、ＵＰｎＰおよびＢｏｎｊｏｕｒを使用した通信を実行するためのコマンド、およびＵＰｎＰおよびＢｏｎｊｏｕｒで通信するのに必要なデジタルカメラ１００の固有のデバイス情報が記録されている。
【００３５】
また、本実施形態のＰＣ２００（ａ）とＰＣ２００（ｃ）には、ディスカバリプロトコルの１つであるＵＰｎＰの仕様に則ってデジタルカメラ１００と通信が可能なプログラムが二次記憶装置２０５にインストールされている。プログラムには、ＵＰｎＰを用いた通信を実行するためのコマンド、およびＵＰｎＰで通信するのに必要なＰＣ固有のデバイス情報が記録されている。
【００３６】
また、本実施形態のＰＣ２００（ｂ）には、ディスカバリプロトコルの１つであるＢｏｎｊｏｕｒの仕様に則ってデジタルカメラ１００と通信が可能なプログラムが二次記憶装置２０５にインストールされている。プログラムには、Ｂｏｎｊｏｕｒを用いた通信を実行するためのコマンド、およびＢｏｎｊｏｕｒで通信するのに必要なＰＣ固有のデバイス情報が記録されている。
【００３７】
また、本実施形態のデジタルカメラ１００には、画像を転送するためのプロトコルであるＰＴＰ−ＩＰの仕様に則ってＰＣ２００と画像ファイルの送受信が可能なプログラムが二次記憶装置１０５に記録されている。プログラムには、ＰＴＰ−ＩＰを使用した通信の実行のためのコマンド、ＰＴＰ−ＩＰ通信で転送可能なファイルを定義するオブジェクトフォーマットコード、デジタルカメラのセッティング又は状態条件を識別する情報であるデバイスプロパティが記録されている。
【００３８】
また、本実施形態のＰＣ２００（ａ）、ＰＣ２００（ｂ）、ＰＣ２００（ｃ）には、画像ファイルを転送するためのプロトコルであるＰＴＰ−ＩＰの仕様に則ってＰＣ２００と通信が可能なプログラムが二次記憶装置２０５にインストールされている。
【００３９】
また、本実施形態のデジタルカメラ１００内の記録媒体１４１およびＰＣ２００内の二次記憶装置２０５には、あらかじめ画像ファイルが保存されている。そして、本実施形態における画像の送信処理は、デジタルカメラ１００とＰＣ２００がネットワークを介して接続され、デジタルカメラ１００から供給された画像ファイルがＰＣ２００の二次記憶装置２０５の任意のディレクトリに保存されることで実現される。
【００４０】
本実施形態は、デジタルカメラ１００がディスカバリプロトコルであるＵＰｎＰおよびＢｏｎｊｏｕｒを用いてＰＣ２００と接続して、ＰＴＰ−ＩＰを用いて画像ファイルをＰＣ２００に送信する形態を例にあげて詳細を説明する。ただし、本発明は、本実施形態で記したネットワークの構成、ネットワーク接続方法、ディスカバリプロトコルの種類、転送プロトコルに制限されない。
【００４１】
［デジタルカメラの画像転送処理について］
まず、次の一連の処理におけるデジタルカメラ１００の動作について説明する。
（１）デジタルカメラ１００とＰＣ２００が、ルーター３０１が構築するネットワークを介して接続する。
（２）デジタルカメラ１００から供給された画像ファイルがＰＣ２００の二次記憶装置２０５の任意のディレクトリに保存される。
（３）デジタルカメラ１００が、ネットワークから離脱する。
【００４２】
図４は、デジタルカメラ１００の基本動作を示すフローチャートである。このフローチャートは、操作部１０２に含まれる電源ボタンや再生ボタンが押下されたことを制御部１０１が検知したことに応じて開始される。なお、このフローチャートが示す処理は、各部からの入力信号やプログラムにしたがって、制御部１０１がデジタルカメラ１００の各部を制御することにより実現される。特に断らない限り、他のフローチャートが示す処理についても同様である。
【００４３】
まず、Ｓ４０１において、制御部１０１はデジタルカメラ１００の初期化処理を実行する。初期化処理では、記録媒体１４１の装着の有無をチェックしたり、撮影準備のために鏡筒を駆動したり、電源ボタンや再生ボタンのどちらが押されたかを判断して、起動するモードを切り替えたりする。モードには、画像ファイルを撮影するための撮影モード、画像ファイルを表示部１３０に表示して閲覧する再生モード、撮影パラメータを変更するメニューモード、無線接続を実行する無線接続モードがある。本実施形態において、操作部１０２に含まれる再生ボタンを押下してカメラが起動すると、再生モードで起動し、表示部１３０に本実施形態における再生モードのＧＵＩ（図５（ａ））を表示する。
【００４４】
Ｓ４０２において、制御部１０１は無線接続モードが選択されたか否かを検知する。図５（ａ）のＧＵＩには、無線接続モードに遷移するためのボタンアイコン５０１が配置されている。ユーザは操作部１０２を操作してボタンアイコン５０１を押下すると、制御部１０１は無線接続モードが選択されたと検知して無線接続モードを起動し、表示部１３０に図５（ｂ）のＧＵＩを表示してＳ４０３へ進む。そうでない場合は、ボタンアイコン５０１が押下されるまで待機する。
【００４５】
Ｓ４０３において、制御部１０１は接続デバイスが選択されたか否かを検知する。図５（ｂ）のＧＵＩには、デジタルカメラ１００と接続可能なデバイスの一覧がボタンアイコンで表示されており、ボタンアイコンを押下すると、各デバイスと接続する処理へ進む。ボタンアイコン５０２は接続可能なデバイスの１つであるＰＣ２００との接続処理へ進むためのボタンアイコンである。本実施形態では、ＰＣ２００と接続することを目的とするため、ユーザが操作部１０２を操作してボタンアイコン５０２を押下すると、制御部１０１は接続デバイスが選択されたと検知して表示部１３０に図５（ｃ）のＧＵＩを表示してＳ４０４へ進む。そうでない場合は、接続デバイスのボタンアイコンが押下されるまで待機する。
【００４６】
Ｓ４０４において、制御部１０１は新規接続であるか否かを検知する。図５（ｃ）のＧＵＩには、接続したことがないＰＣ２００と接続するためのボタンアイコン５０３、または接続したことがあるＰＣ２００と再度接続するためのボタンアイコン５０４が表示されている。ユーザが操作部１０２を操作してボタンアイコン５０３を押下すると、制御部１０１は接続したことがないＰＣ２００と接続することを検知し、表示部１３０に図５（ｄ）のＧＵＩを表示してＳ４０５へ進む。ボタンアイコン５０４が押下された場合は、接続したことがあるＰＣ２００と接続することを検知してＳ４０６へ進む。
【００４７】
Ｓ４０５において、制御部１０１はネットワーク接続のための設定項目の入力を受付ける。図５（ｄ）のＧＵＩには、ルーター３０１に無線接続するために必要な設定項目であるＳＳＩＤ（Ｓｅｒｖｉｃｅ  Ｓｅｔ  Ｉｄｅｎｔｉｆｉｅｒ）と暗号キーを入力するテキストボックスが配置されている。なお、ＳＳＩＤとは、ＩＥＥＥ８０２．１１シリーズの無線ＬＡＮにおけるアクセスポイントの識別子であり、混信を避けるために付けられる名前
【００４８】
である。また、暗号キーは、ＳＳＩＤに不正アクセスされないよう無線ＬＡＮの暗号化を行うためのキーである。ユーザは、不図示のソフトウェアキーボードを表示部１３０に表示し、操作部１０２を操作して文字を入力する。制御部１０１は選択された文字をすべてメモリ１０４に一時記録する。
【００４９】
Ｓ４０６において、制御部１０１はネットワーク接続を行う。図５（ｄ）のＧＵＩのボタンアイコン５０５は無線接続の開始を支持するためのボタンアイコンである。接続したことがないＰＣ２００と接続する場合は、ユーザが操作部１０２を操作してボタンアイコン５０５を押下すると、制御部１０１はＳ４０５でメモリ１０４に一時記録したＳＳＩＤと暗号キーを基に、ルーター３０１との接続を開始する。一方、接続したことがあるＰＣ２００と再度接続する際に仕様するＳＳＩＤや暗号キーは、ＰＣ２００との接続が成功すると他の情報と併せてペアリング情報としてメモリ１０４の不揮発性メモリに保存されている。ペアリング情報の詳細については後述する。接続したことがあるＰＣ２００と接続する場合、制御部１０１はメモリ１０４の不揮発性メモリに記録されたペアリング情報のＳＳＩＤと暗号キーをメモリ１０４のＲＡＭにロードしてルーター３０１との接続を開始する。ルーター３０１との接続が確立されると、ルーター３０１はデジタルカメラ１００に対してＩＰアドレスを割り当てる。制御部１０１は、割り当てられたＩＰアドレスをメモリ１０４のＲＡＭに記録する。
【００５０】
Ｓ４０７において、制御部１０１はＰＣ２００と接続するためのディスカバリ（デバイス探索）を行う。ディスカバリの詳細については後述する。
【００５１】
Ｓ４０８において、制御部１０１は画像転送サービスを開始する。本実施形態における画像転送サービスは、ＰＴＰ−ＩＰを用いた画像ファイルの転送処理を指す。Ｓ４０７において接続するＰＣ２００が選定されると、ＰＣ２００はデジタルカメラ１００に対してセッションを確立するためのコマンドパケットを送信する。デジタルカメラ１００は、通信部１５２を通じてコマンドパケットを受信すると、制御部１０１はパケットを解析してセッションを確立する処理を実行する。本実施形態におけるＰＴＰ−ＩＰの場合、ＯｐｅｎＳｅｓｓｉｏｎコマンドがそれにあたる。セッションを確立すると、レスポンスコマンドをＰＣ２００に送信した後、表示部１３０に図５（ｅ）のＧＵＩを表示し、画像転送サービスを開始する。に図５（ｅ）のＧＵＩは、図３のＰＣ２００（ａ）との接続が完了した場合を例にしたＧＵＩである。また、他の例として、表示部１３０を非表示にしてもよい。
【００５２】
Ｓ４０９において、制御部１０１はＰＣ２００から画像送信要求を受信したか否かを検知する。デジタルカメラ１００は、ルーター３０１を介してＰＣ２００から画像ファイルの転送指示を示すコマンドパケットを受信する。制御部１０１はコマンドパケットを解析して画像ファイルの送信指示を示すコマンドであると検知した場合はＳ４１０に進む。そうでない場合は、画像ファイルの送信を指示するコマンドパケットを受信するまで待機する。
【００５３】
Ｓ４１０において、制御部１０１は画像ファイルをＰＣ２００に送信する。送信処理では、コマンドパケットに指定されている画像ファイルを記録媒体１４１から読取り、メモリ１０４のＲＡＭにロードする。そして、画像ファイルをパケット単位に分割してＰＣ２００へ送信する。そして、画像ファイルのサイズ数のパケットをすべて送信した後、レスポンスコマンドをＰＣ２００に送信して、画像送信を完了する。
【００５４】
Ｓ４１１において、制御部１０１はＰＣ２００から画像転送サービスの終了通知を受信したか否かを検知する。ＰＣ２００からルーター３０１を介してＰＣ２００からデジタルカメラ１００とのセッションを終了するコマンドパケットが送信される。本実施形態におけるＰＴＰ−ＩＰの場合、ＣｌｏｓｅＳｅｓｓｉｏｎコマンドがそれにあたる。制御部１０１は通信部１５２を通じて受信したコマンドパケットを解析し、セッションの終了を実行してＳ４１２に進む。そうでない場合は、セッションを終了するコマンドパケットを受信するまで待機する。
【００５５】
Ｓ４１２において、制御部１０１はネットワークから離脱する。ここでは、メモリ１０４のＲＡＭにロードした画像転送プロトコルに従って動作するプログラムをアンロードし、ディスカバリプロトコルのネットワーク離脱のためのコマンドをネットワークにマルチキャストする。本実施形態のＵＰｎＰでは、ＳＳＤＰ：Ｂｙｅｂｙｅをマルチキャストする。Ｂｏｎｊｏｕｒの場合は、ＭｕｌｔｉｃａｓｔＤＮＳ：ｇｏｏｄｂｙｅをマルチキャストする。
【００５６】
以上が、本実施形態におけるデジタルカメラ１００の画像転送に関わる基本動作である。デジタルカメラ１００は、ＰＣ２００から画像転送プロトコルの指示に従って送信される指示に従って動作するデバイスの役割を担う。
【００５７】
［ＰＣの画像転送処理について］
次に、上述の（１）〜（３）の処理におけるＰＣ２００の動作について説明する。
図６は、ＰＣ２００の基本動作を示すフローチャートである。このフローチャートは、ＰＣ２００の起動処理が起動処理が完了している状態から開始される。起動処理では、ＰＣ２００が不図示の操作部の１つである電源ボタンの押下により起動し、各ハードウェアのチェックなどを行い、ＣＰＵ２０３が二次記憶装置２０５に保存されているオペレーティングシステム（以下、ＯＳ）を一次記憶装置２０４にロードする。
【００５８】
まず、Ｓ６０１において、ＣＰＵ２０３はネットワーク接続を行う。ネットワーク接続では、無線または有線の通信装置２０６から所望のネットワークを構築しているルーター３０１に対して接続し、ＣＰＵ２０３はルーター３０１から割り振られたＩＰアドレスを一次記憶装置２０４に記録する。なお、無線および有線接続の方法については、図３、および図４のＳ４０６と同様であるため、説明は割愛する。
【００５９】
Ｓ６０２において、ＣＰＵ２０３はディスカバリを行う。ディスカバリ（デバイス探索）を行う。ディスカバリの詳細については後述する。
【００６０】
Ｓ６０３において、ＣＰＵ２０３は画像転送サービスの開始を指示する。実施形態における画像転送サービスは、ＰＴＰ−ＩＰを用いた画像ファイルの転送処理を指す。ここでは、デジタルカメラ１００とセッションを確立するためのコマンドパケットを送信する。本実施形態におけるＰＴＰ−ＩＰの場合、ＯｐｅｎＳｅｓｓｉｏｎコマンドがそれにあたる。ＣＰＵ２０３は、デジタルカメラ１００がコマンドパケットを処理した後に送信するレスポンスパケットを受信し、画像転送サービスを開始したと判断すると、Ｓ６０４に進む。
【００６１】
Ｓ６０４において、ＣＰＵ２０３はデジタルカメラ１００に対して画像ファイルの送信を指示する。ＣＰＵ２０３はＰＴＰ−ＩＰの画像ファイルの転送を指示するコマンドパケットを生成し、デジタルカメラ１００に送信する。本実施形態におけるＰＴＰ−ＩＰの場合、ＧｅｔＯｂｊｅｃｔコマンドがそれにあたる。なお、ＧｅｔＯｂｊｅｃｔを行う前にＧｅｔＤｅｖｉｃｅＩｎｆｏコマンドやＧｅｔＯｂｊｅｃｔＩｎｆｏコマンドを実行してデジタルカメラ１００のデバイス情報や記録媒体１４１に保存されている画像ファイルの数や種類を取得する必要がある。
【００６２】
Ｓ６０５において、ＣＰＵ２０３は画像ファイルを受信する。デジタルカメラ１００から送信された画像ファイルのデータパケットを二次記憶装置２０５の任意のディレクトリに保存する。画像ファイルのサイズ数すべてのパケットを受信し終えたら、画像ファイルをファイナライズして保存を完了する。複数枚の画像ファイルの受信があった場合は、上述の処理を繰り返す。
【００６３】
Ｓ６０６において、ＣＰＵ２０３は画像転送サービスの終了指示を検知したか否かを判定する。ユーザが、所望する画像ファイルの転送を終え、画像転送サービスを終了させるため表示部２０１に表示した不図示の画像転送プログラムのＧＵＩに配置された終了ボタンを押下すると、ＣＰＵ２０３は画像転送サービスの終了指示を検知し、Ｓ６０７へ進む。そうでない場合は、S６０４に戻り、デジタルカメラ１００に対して画像ファイルの送信指示を再度行う。
【００６４】
Ｓ６０７において、ＣＰＵ２０３は画像転送サービスの終了を指示する。ここでは、デジタルカメラ１００とのセッションを終了するためのコマンドパケットをデジタルカメラ１００に送信する。本実施形態におけるＰＴＰ−ＩＰの場合、ＣｌｏｓｅＳｅｓｓｉｏｎコマンドがそれにあたる。
【００６５】
ＣＰＵ２０３は、デジタルカメラ１００がコマンドパケットを処理した後に送信するレスポンスコマンドを受信すると、ＰＣ２００で画像転送サービス用のプログラムを終了する。
【００６６】
以上が、本実施形態におけるＰＣ２００の画像転送に関わる基本動作である。ＰＣ２００は、デジタルカメラ１００に対して画像転送プロトコルに従って画像送信の指示をするコントロールポイントの役割を担う。
【００６７】
［デジタルカメラのディスカバリ処理（初回接続）について］
次に、図４のＳ４０７のディスカバリの詳細について説明する。図７は、デジタルカメラ１００のディスカバリの動作を示すフローチャートである。
まず、Ｓ７０１において、制御部１０１は接続したことがないＰＣ２００と接続するか否かを検知する。図４のＳ４０４にて表示した図５（ｃ）のＧＵＩにて、ボタンアイコン５０３が選択された場合は接続したことがないＰＣ２００と接続すると判定して、Ｓ７０２へ進む。そうでない場合は、接続したことがあるＰＣ２００との接続を行うため処理Ａへ進む。
【００６８】
Ｓ７０２において、制御部１０１はネットワークに接続されているＰＣ２００の検索を開始する。ＰＣ２００の検索処理の詳細については、図８に示すフローチャートを参照して説明する。図３において説明した通り、本実施形態のデジタルカメラ１００はディスカバリプロトコルであるＵＰｎＰとＢｏｎｊｏｕｒの双方での通信に対応している。そのため、双方のディスカバリプロトコルで検出されるＵＰｎＰ対応ＰＣおよびＢｏｎｊｏｕｒ対応ＰＣを接続対象とする。本実施形態の図３におけるＰＣ２００（ａ）とＰＣ２００（ｃ）がＵＰｎＰ対応ＰＣであり、ＰＣ２００（ｂ）がＢｏｎｊｏｕｒ対応ＰＣである。なお、ＵＰｎＰ対応ＰＣの一例はＭｉｃｒｏｓｏｆｔ社のＷｉｎｄｏｗｓ（登録商標）ＯＳがインストールされたＰＣであり、Ｂｏｎｊｏｕｒ対応ＰＣの一例はＡｐｐｌｅ社のＭａｃＯＳ（登録商標）がインストールされたＰＣである。制御部１０１は機器検索を開始して、図１３（ｆ）のＧＵＩを表示部１３０に表示する。
【００６９】
Ｓ８０１において、制御部１０１はＳＳＤＰ：Ａｌｉｖｅメッセージのマルチキャストを受信したか否かを検知する。ＳＳＤＰ（Ｓｉｍｐｌｅ Ｓｅｒｖｉｃｅ Ｄｉｓｃｏｖｅｒｙ Ｐｒｏｔｏｃｏｌ）は、ネットワーク上のＵＰｎＰをサポートするデバイスを探索、発見するためのプロトコルである。ＳＳＤＰ：Ａｌｉｖｅは、デバイスがネットワークに接続した際、Ａｄｖｅｒｔｉｓｅｍｅｎｔと呼ばれる、自身の存在をネットワーク上のデバイスにマルチキャストする動作を行う。図１０（ａ）のＡｄｖｅｒｔｉｓｅｍｅｎｔはＰＣ２００がＡｄｖｅｒｔｉｓｅｍｅｎｔするためにマルチキャストしたＳＳＤＰデータの一例である。ＨＯＳＴヘッダは、マルチキャストのＩＰアドレスを示す。ＣＡＣＨＥ−ＣＯＮＴＲＯＬヘッダは、Ａｄｖｅｒｔｉｓｅｍｅｎｔが有効になる時間を秒で示す。ＬＯＣＡＴＩＯＮヘッダは、ＰＣ２００のＵＲＬを示す。ＮＴタグは、ネットワークに通知するデバイスタイプを示す。ＳＥＲＶＥＲは、ＰＣ２００のＯＳを示す。本実施形態の図３では、ＰＣ２００（ａ）とＰＣ２００（ｂ）がネットワークに接続した後、ＳＳＤＰ：Ａｌｉｖｅをマルチキャストする。制御部１０１は、ネットワーク上のＰＣ２００からのＳＳＤＰ：Ａｌｉｖｅを受信したことを検知すると、Ｓ８０２に進む。そうでない場合はＳ８０４へ進む。
【００７０】
Ｓ８０２において、制御部１０１はＰＣ２００のデバイス情報を取得のためのＨＴＴＰ  ＧＥＴを実行する。ＵＰｎＰ対応ＰＣは、自身のデバイス情報をＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）形式で記載してディスクリプションとして保存している。図１１（ａ）のＤｅｓｃｒｉｐｔｉｏｎは、ＰＣ２００が二次記憶装置２０５に保存しているディスクリプションの一例である。図１１（ａ）のＤｅｓｃｒｉｐｔｉｏｎはいくつかのタグによって構成されており、例えば、ＵＤＮタグはＰＣ２００のＧＵＩＤを示す。ｆｒｉｅｎｄｒｙＮａｍｅタグはＰＣ名を示す。Ｄｅｖｉｃｅｔｙｐｅタグはデバイスタイプの種類を示す。また、ＳｅｒｖｉｃｅＴｙｐｅタグはＰＣ２００が提供可能なサービスを示す。ＨＴＴＰ  ＧＥＴは、ＨＴＴＰプロトコルに従って通信先からデータを取得するためのメソッドである。制御部１０１は、Ｓ８０１にてＳＳＤＰ：Ａｌｉｖｅのマルチキャストの受信したことを検知すると、マルチキャストしたＰＣ２００に対してディスクリプションの送信を指示する。
【００７１】
Ｓ８０３において、制御部１０１はディスクリプションを取得する。Ｓ８０２においてＰＣ２００がデジタルカメラ１００からのディスクリプションの送信指示を受信すると、ディスクリプションをデジタルカメラ１００へ送信する。制御部１０１は、通信部１５２を通じて取得したディスクリプションをメモリ１０４のＲＡＭへ保存し、Ｓ８１５へ進む。
【００７２】
Ｓ８０４において、制御部１０１はＭｕｌｔｉｃａｓｔＤＮＳ：Ｎｏｔｉｆｙメッセージのマルチキャストを受信したか否かを検知する。Ｎｏｔｉｆｙメッセージは、ＭｕｌｔｉｃａｓｔＤＮＳにおいてデバイスがネットワークに接続した際、自身の存在と自身が提供可能なサービスを表すＳｅｒｖｉｃｅＴｙｐｅを付加して、ネットワーク上のデバイスにマルチキャストする。本実施形態の図３では、ＰＣ２００（ｂ）がネットワークに接続した後、ＰＴＰ−ＩＰでのイニシエータとして動作可能であることを示すＳｅｒｖｉｅＴｙｐｅ“＿ｐｔｐ−ｉｎｉｔ”を付加してＮｏｔｉｆｙメッセージをマルチキャストする。制御部１０１は、Ｎｏｔｉｆｙメッセージを受信したことを検知すると、Ｓ８０５に進む。そうでない場合はＳ８０７へ進む。
【００７３】
Ｓ８０５において、制御部１０１はＴＸＴレコードを要求する。Ｂｏｎｊｏｕｒ対応ＰＣは、自機のデバイス情報をテキスト形式で記載してＴＸＴレコードとして保存している。図１２（ａ）に、ＰＣ２００が二次記憶装置２０５に保存しているＴＸＴレコードの一例を示す。ＴＸＴレコードは、ＳｅｒｖｉｃｅＴｙｐｅと紐付いており、Ｋｅｙとその値から構成される。本実施形態におけるＰＣ２００からマルチキャストするＳｅｒｖｉｃｅＴｙｐｅは“＿ｐｔｐ−ｉｎｉｔ”であり、それに紐付くＴＸＴレコードのＶｅｒｓｉｏｎ  ＫｅｙはＴＸＴレコードのバージョンを示す。Ｍｏｄｅｌ  Ｋｅｙは、デバイスのモデルの種類を示す。Ｐｒｏｄｕｃｔ  Ｋｅｙは製品名を示す。Ｓｅｒｖｉｃｅ  Ａｖａｉｌａｂｌｅ  Ｋｅｙは、サービスが有効になったか否かを示す。有効になった場合はＶａｌｕｅが１に更新される。ＧＵＩＤ  ＫｅｙはＰＣ２００のＧＵＩＤを示す。制御部１０１は、Ｓ８０２でＮｏｔｉｆｙメッセージの受信を検知すると、メッセージに付加されたＳｅｒｖｉｃｅＴｙｐｅを参照する。そして、画像転送サービスが提供可能であることを示すＳｅｒｖｉｃｅＴｙｐｅであった場合、マルチキャストしたＰＣに対してＴＸＴレコードの送信を指示する。例えば図３の場合、ＰＣ２００（ｂ）がマルチキャストしたＳｅｒｖｉｃｅＴｙｐｅが“＿ｐｔｐ−ｉｎｉｔ”、デジタルカメラ１００が検索対象とするＰＣのＳｅｒｖｉｃｅＴｙｐｅが“＿ｐｔｐ−ｉｎｉｔ”であったとする。この場合、ＰＣ２００（ｂ）に対してＴＸＴレコードの送信を指示する。
【００７４】
Ｓ８０６において、制御部１０１はＴＸＴレコードを取得する。Ｓ８０５においてＰＣ２００がデジタルカメラ１００からのＴＸＴレコードの送信指示を受信すると、ＴＸＴレコードをデジタルカメラ１００へ送信する。制御部１０１は、通信部１５２を通じて取得したＴＸＴレコードをメモリ１０４のＲＡＭへ保存し、Ｓ８１５へ進む。
【００７５】
Ｓ８０７において、制御部１０１はＳＳＤＰのＭ−Ｓｅａｒｃｈを開始する。Ｍ−Ｓｅａｒｃｈはネットワーク上のＵＰｎＰ対応デバイスを検出するメソッドである。図１０（ｂ）のＭ−Ｓｅａｒｃｈは、Ｍ−Ｓｅａｒｃｈを実行するためのＳＳＤＰデータの一例である。ＨＯＳＴヘッダは、マルチキャストのＩＰアドレスを示す。ＳＴヘッダは、検索対象とするデバイスタイプを示す。ＭＸヘッダは、検索が有効になる時間を分で示す。
【００７６】
Ｓ８０８において、制御部１０１はＭｕｌｔｉｃａｓｔＤＮＳのＱｕｅｒｙを開始する。Ｑｕｅｒｙは、ネットワーク上のＢｏｎｊｏｕｒ対応デバイスを検出するメソッドであり、検索対象とするＳｅｒｖｉｃｅＴｙｐｅを指定してＱｕｅｒｙする。
【００７７】
Ｓ８０９において、制御部１０１はＳＳＤＰレスポンスがあるか否かを検出する。Ｓ８０７にてＭ−Ｓｅａｒｃｈを開始すると、ネットワーク上のＵＰｎＰ対応ＰＣがレスポンスをデジタルカメラ１００に送信する。図１０（ｃ）はＲｅｓｐｏｎｓｅとして送信するＳＳＤＰデータの一例である。ＳＴヘッダは、検索対象とするデバイスタイプを示す。ＬＯＣＡＴＩＯＮヘッダは、ＰＣ２００のＩＰアドレスを示す。ＳＥＲＶＥＲは、ＰＣ２００のＯＳを示す。制御部は、ＰＣ２００からマルチキャストされたＭ−ＳｅａｒｃｈのＳＴ：タグを参照する。これは、検索デバイスの種類を示すものであり、ＰＣ２００が対象のデバイスの種類であるならば、ＰＣ２００は図１０（ｃ）のＲｅｓｐｏｎｓｅをデジタルカメラ１００へ送信する。制御部１０１は、通信部１５２を通じてＳＳＤＰレスポンスを検知した場合はＳ８１０へ進む。そうでない場合はＳ８１２へ進む。
【００７８】
Ｓ８１０において、制御部１０１はＰＣ２００のディスクリプション取得のためのＨＴＴＰ  ＧＥＴを実行する。ここでの処理はＳ８０２と同様であるため説明は割愛する。
【００７９】
Ｓ８１１において、制御部１０１はディスクリプションを取得する。ここでの処理はＳ８０３と同様であるため説明は割愛する。
【００８０】
Ｓ８１２において、制御部１０１はＭｕｌｔｉｃａｓｔＤＮＳのＱｕｅｒｙレスポンスがあるか否かを検出する。Ｓ８０８にてＱｕｅｒｙを開始すると、設定されたＳｅｒｖｉｃｅＴｙｐｅに対応するＰＣ２００がレスポンスをデジタルカメラ１００に送信する。制御部１０１は、Ｑｕｅｒｙレスポンスを検知した場合はＳ８１３へ進む。そうでない場合は機器が検出されなかったと判定し、ＰＣ未発見として処理する。
【００８１】
Ｓ８１３において、制御部１０１はＴＸＴレコードの送信を指示する。ここでの処理はＳ８０５と同様であるため説明は割愛する。
【００８２】
Ｓ８１４において、制御部１０１はＴＸＴレコードを取得する。ここでの処理はＳ８０６と同様であるため説明は割愛する。
【００８３】
Ｓ８１５において、制御部１０１は接続可能ＰＣであるか否かを検知する。ＵＰｎＰ対応ＰＣの場合、図１０（ａ）および（ｃ）のＳＥＲＶＥＲヘッダを参照して、接続対象となるＯＳであるかを判定する。接続対象であると判定した場合は、図１１（ａ）のディスクリプションのｆｒｉｅｎｄｌｙＮａｍｅタグをＰＣ名として、ＵＤＮタグに記載されているＧＵＩＤと共にメモリ１０４に保存する。Ｂｏｎｊｏｕｒ対応ＰＣである場合、不図示のアドレスレコードを取得してＰＣのホスト名を取得し、ホスト名をＰＣ名として、図１２（ａ）のＴＸＴレコードのＧＵＩＤ  Ｋｅｙと共にメモリ１０４に保存する。そして、ＰＣ発見として処理する。そうでない場合は、ＰＣ未発見として処理する。
以上が、検索処理の詳細である。
【００８４】
Ｓ７０３において、制御部１０１はＰＣ２００が発見されたか否かを検知する。図８のデバイス検索処理においてＰＣ２００が発見されたと検知した場合はＳ７０４に進む。そうでない場合はＳ７０６に進む。
【００８５】
Ｓ７０４において、制御部１０１は発見したＰＣ２００のＰＣ名をＧＵＩに表示する。図８のＳ８１５にてメモリ１０４に保存したＰＣ名を表示部１３０にＧＵＩとして表示する。制御部１０１は、ＰＣが発見される度にＧＵＩにＰＣ名の表示を追加する。図１３（ｇ−１）、（ｇ−２）のＧＵＩはその一例である。図１３（ｇ−１）のＧＵＩでは、ディスカバリプロトコルに関係なく、ＰＣ名をＧＵＩに表示する。また、別の表示方法として、図１３（ｇ−２）のＧＵＩのようにディスカバリプロトコル毎にＰＣ２００をカテゴライズして表示してもよい。また、別の方法として、不図示であるが、Ｓ７０６で機器検索時間が経過した後に検索結果を一度に表示してもよい。
【００８６】
Ｓ７０５において、制御部１０１はＰＣ２００が選択されたか否かを検知する。Ｓ７０４において表示した図１３（ｇ−１）のＧＵＩのＰＣ名は、操作部１０２で選択することができる。ユーザが表示されたＰＣ名のいずれかを選択した場合はＳ７１２へ進む。そうでない場合は、Ｓ７０６へ進む。
【００８７】
Ｓ７０６において、制御部１０１はデバイス検索時間がＮ分経過したか否かを検知する。デバイス検索時間は、あらかじめプログラムで規定されているか、もしくは不図示のメニューモードにてユーザが設定してメモリ１０４の不揮発性メモリに記録している。制御部１０１は、規定、設定された時間が経過したことを検知した場合はＳ７０７に進む。そうでない場合は、Ｓ７０９へ進む。
【００８８】
Ｓ７０７において、制御部１０１はＰＣ名が表示済みか否かを検知する。ＰＣが１台以上発見されている場合はＳ７０４にて接続可能なＰＣ名がＧＵＩに表示されている。制御部はＧＵＩが表示されていることを検知した場合はＳ７０８に進む。そうでない場合、Ｓ７１０に進む。
【００８９】
Ｓ７０８において、制御部１０１はＰＣ２００が選択されたか否かを検知する。この処理はＳ７０５と同様であるため説明は割愛する。ＰＣ２００が選択されたと検知した場合はＳ７１２に進む。そうでない場合はＳ７１１に進む。
【００９０】
Ｓ７０９において、制御部１０１は機器検索が中断されたか否かを検知する。図１３（ｆ）や（ｇ−１）のＧＵＩには、中断ボタンアイコン１３０１が配置されており、ユーザが中断ボタンアイコン１３０１を押下すると、制御部１０１は中断されたことを検知してデバイス検索を中断して、Ｓ７０７へ進む。そうでない場合、Ｓ７０２に戻り、デバイス検索を続ける。
【００９１】
Ｓ７１０において、制御部１０１はＰＣ２００が発見されなかったことを示すＧＵＩを表示部１３０に表示する。図１３（ｈ）のＧＵＩはその一例である。
【００９２】
Ｓ７１１において、制御部１０１はユーザが再検索を選択しないか否かを検知する。図１３（ｈ）のＧＵＩには再検索を行うためのアイコンボタン１３０２が配置されている。ユーザが操作部１０２を操作して再検索のアイコンボタンを押下せず、戻るボタン１３０３を押下した場合はディスカバリ処理を終了し、Ｓ７２３に進む。そうでない場合は、デバイス検索時間のカウンターをリセットしてＳ７０２に戻りデバイス検索を再度実行する。
【００９３】
Ｓ７１２において、制御部１０１は選択したＰＣ２００のペアリング情報をメモリ１０４のＲＡＭに一時保存する。ＵＰｎＰの場合、選択したＰＣ２００から取得したディスクリプション（図１１（ａ））から、以下の情報を保存する。
・ｆｒｉｅｎｄｌｙＮａｍｅヘッダに記載のＰＣ名、
・発見したディスカバリプロトコルの種類、
・Ａｄｖｅｒｔｉｓｅｍｅｎｔ（図１０（ａ））またはＲｅｓｐｏｎｓｅ（図１０（ｃ））のＬＯＣＡＴＩＯＮヘッダに記載のＩＰアドレス、および
・ＵＤＮタグに記載のＧＵＩＤ（Ｇｌｏｂａｌｌｙ  Ｕｎｉｑｕｅ  Ｉｄｅｎｔｉｆｉｅｒ）
Ｂｏｎｊｏｕｒの場合、不図示のアドレスレコードから取得したＰＣのホスト名とＩＰアドレス、発見したディスカバリプロトコルの種類、ＴＸＴレコード（図１２（ａ））のＧＵＩＤ  ＫｅｙのＧＵＩＤを保存する。
【００９４】
Ｓ７１３において、制御部１０１は広告を開始する。広告処理の詳細については、図９に示すフローチャートを参照して説明する。広告処理を開始すると、制御部１０１は図１３（ｉ）のＧＵＩを表示部１３０に表示する。
【００９５】
Ｓ９０１において、制御部１０１はＳ７０５もしくはＳ７０８で選択したＰＣ２００を発見したディスカバリプロトコルがＵＰｎＰであるか否かを検知する。Ｓ７１２においてメモリ１０４のＲＡＭに一時保存したペアリング情報を参照し、ＵＰｎＰであると検知した場合はＳ９０２へ進む。そうでない場合はＢｏｎｊｏｕｒであると検知してＳ９０３へ進む。
【００９６】
Ｓ９０２において、制御部１０１はＳＳＤＰ：Ａｌｉｖｅをマルチキャストする。
Ｓ９０３において、制御部１０１はＭｕｌｔｉｃａｓｔ ＤＮＳ ＮｏｔｉｆｙをＳｅｒｖｉｃｅＴｙｐｅを添えてマルチキャストする。
【００９７】
Ｓ９０４において、制御部１０１はＰＣ２００からディスクリプションの送信指示があるか否かを検知する。ＰＣ２００から送信指示があると検知した場合はＳ９０５へ進む。そうでない場合は要求があるまで待機する。図１１（ｂ）はデジタルカメラ１００が保有するディスクリプションの一例である。図１１（ｂ）のディスクリプションはいくつかのタグによって構成されており、例えば、ＵＲＬＢａｓｅタグはデジタルカメラ１００のＩＰアドレスを示す。Ｄｅｖｉｃｅｔｙｐｅタグはデバイスタイプの種類を示す。ｆｒｉｅｎｄｒｙＮａｍｅタグはデジタルカメラ１００の名前を示す。ＵＤＮタグはデジタルカメラ１００のＧＵＩＤを示す。また、ＳｅｒｖｉｃｅＴｙｐｅタグはデジタルカメラ１００が提供可能なサービスを示す。ＨＴＴＰ  ＧＥＴは、ＨＴＴＰプロトコルに従って通信先からデータを取得するためのメソッドである。なお、図１３（ｉ）のＧＵＩにある中断ボタンアイコン１３０４がユーザによって押下された場合は、制御部１０１は広告を中断する。
【００９８】
Ｓ９０５において、制御部１０１はディスクリプションを要求先のＰＣ２００へ送信する。
【００９９】
Ｓ９０６において、制御部１０１はＴＸＴレコードの送信指示があるか否かを検知する。ＰＣ２００から送信指示があると検知した場合はＳ９０７へ進む。そうでない場合は要求があるまで待機する。図１２（ｂ）はデジタルカメラ１００が保有するＴＸＴレコードの一例である。ＴＸＴレコードは、ＳｅｒｖｉｃｅＴｙｐｅと紐付いており、Ｋｅｙとその値から構成される。本実施形態におけるデジタルカメラ１００からマルチキャストするＳｅｒｖｉｃｅＴｙｐｅは“＿ｐｔｐ”であり、それに紐付くＴＸＴレコードのＶｅｒｓｉｏｎ  ＫｅｙはＴＸＴレコードのバージョンを示す。Ｍｏｄｅｌ  Ｋｅｙは、デバイスのモデルの種類を示す。Ｐｒｏｄｕｃｔ  Ｋｅｙは製品名を示す。Ｓｅｒｖｉｃｅ  Ａｖａｉｌａｂｌｅ  Ｋｅｙは、サービスが有効になったか否かを示す。有効になった場合はＶａｌｕｅが１に更新される。ＧＵＩＤ  Ｋｅｙはデジタルカメラ１００のＧＵＩＤを示す。Ｔａｒｇｅｔ  ＧＵＩＤ  ＫｅｙはＳ７０５で選択されたＰＣ２００のＧＵＩＤを示す。なお、図１３（ｉ）のＧＵＩにある中断ボタンアイコン１３０４がユーザによって押下された場合は、制御部１０１は広告を中断する。
【０１００】
Ｓ９０７において、制御部１０１はＴＸＴレコードを要求先のＰＣ２００へ送信する。
以上が、Ｓ７１３におけるデジタルカメラ１００の広告処理の詳細である。
【０１０１】
Ｓ７１４において、制御部１０１はＰＣ２００から送信されたＩｎｉｔＣｏｍｍａｎｄＲｅｑｕｅｓｔパケットの受信を検知したか否かを検知する。ＩｎｉｔＣｏｍｍａｎｄＲｅｑｕｅｓｔパケットはＰＴＰ−ＩＰで規定されているパケットタイプの１つであり、ＰＣとデジタルカメラそれぞれのデバイス情報を交換したり、コマンド、データ送受信用のＴＣＰのポート番号を確定したりする。通信部１５２を通じてＩｎｉｔＣｏｍｍａｎｄＲｅｑｕｅｓｔの受信を検知した場合はＳ７１５に進む。そうでない場合はＳ７１６へ進む。
【０１０２】
Ｓ７１５において、制御部１０１は識別子が一致するか否かを検知する。この処理では、Ｓ７０５もしくはＳ７０８で選択したＰＣ２００とＩｎｉｔＣｏｍｍａｎｄＲｅｑｕｅｓｔパケットを送信したＰＣ２００が一致しているか否かを検知する。Ｓ７１４で受信したＩｎｉｔＣｏｍｍａｎｄＲｅｑｕｅｓｔパケットに、ＰＣ２００のＧＵＩＤが保存されている。このＧＵＩＤとペアリング情報としてＳ７１２で保存ＧＵＩＤを比較し、一致していたら同一ＰＣであると判断し、Ｓ７１７へ進む。そうでない場合はＳ７１８へ進む。また、ＧＵＩＤの比較以外にも、選択したＰＣのＩＰアドレスとＩｎｉｔＣｏｍｍａｎｄＲｅｑｕｅｓｔを送信したＰＣのＩＰアドレスを比較し、一致していたら同一ＰＣであると判断してもよい。ここでは、ディスカバリ時に選択したＰＣ２００とＩｎｉｔＣｏｍｍａｎｄＲｅｑｕｅｓｔパケットを送信したＰＣ２００が一致することを確認できる識別子であれば何でもよい。
【０１０３】
Ｓ７１６において、制御部１０１は広告処理の有効期間であるＭ分経過したか否かを検知する。ＩｎｉｔＣｏｍｍａｎｄＲｅｑｕｅｓｔパケットの受信を受け付ける期間があらかじめプログラムで規定されているか、もしくはユーザの指示で設定されており、その時間を過ぎたか否かを検知する。過ぎていない場合はＳ７１４を繰り返す。そうでない場合はＳ７２３へ進む。
【０１０４】
Ｓ７１７において、制御部１０１はＩｎｉｔＡｃｋパケットをＰＣへ送信する。Ｓ７１５で一致したと判定した場合は、ＩｎｉｔＣｏｍｍａｎｄＲｅｑｕｅｓｔパケットの受付を許可したことをＰＣへ伝えるＩｎｉｔ  Ａｃｋパケット送信する。
【０１０５】
Ｓ７１８において、制御部１０１はＩｎｉｔ  ＦａｉｌパケットをＰＣへ送信する。Ｓ７１５で不一致したと判定した場合は、ＩｎｉｔＣｏｍｍａｎｄＲｅｑｕｅｓｔパケットの受付を拒否したことをＰＣへ伝えるＩｎｉｔ  Ｆａｉｌパケット送信する。
【０１０６】
Ｓ７１９において、制御部１０１はＩｎｉｔＥｖｅｎｔＲｅｑｕｅｓｔパケットを受信したか否かを検知する。ＩｎｉｔＥｖｅｎｔＲｅｑｕｅｓｔパケットはＰＴＰ−ＩＰで規定されているパケットタイプの１つであり、イベント送受信用のＴＣＰのポート番号を確定する。通信部１５２を通じてＩｎｉｔＥｖｅｎｔＲｅｑｕｅｓｔの受信を検知した場合はＳ７２０に進む。そうでない場合はＳ７２１へ進む。
【０１０７】
Ｓ７２０において、制御部１０１はＰＣに対してＩｎｉｔＡｃｋパケットを送信する。
【０１０８】
Ｓ７２１において、制御部１０１は広告処理の有効期間であるＭ分経過したか否かを検知する。Ｓ７１６と同様の時間が設けられており、Ｍ分経過した場合はＳ７２３へ進む。そうでない場合はＳ７１９を繰り返す。
【０１０９】
Ｓ７２２において、制御部１０１はペアリング情報を記録する。Ｓ４０５およびＳ７１２でメモリ１０４に保存した情報を、不揮発性メモリに保存する。図１４は保存するペアリング情報を示す概念図である。ＰＣ  Ｎａｍｅは、接続したＰＣ２００の名前を示す。ＰＣ  ＧＵＩＤは、接続したＰＣ２００のＧＵＩＤを示す。Ｄｉｓｃｏｖｅｒｙ  Ｐｒｏｔｏｃｏｌはデバイス探索に用いたディスカバリプロトコルを示す。ＩＰアドレスは、接続したＰＣ２００のＩＰアドレスを示す。ＳＳＩＤは、接続したＰＣ２００に接続する際に接続したネットワークのＳＳＩＤを示す。Ｓｅｃｕｒｉｔｙ  Ｋｅｙは、接続したＰＣ２００に接続する際に接続したネットワークの暗号キーを示す。
【０１１０】
Ｓ７２３において、制御部１０１は接続失敗画面を表示部１３０に表示する。図１３（ｊ）のＧＵＩはその一例である。
以上が、初回接続時におけるデジタルカメラのディスカバリ処理の詳細である。
【０１１１】
［デジタルカメラのディスカバリ処理（２回目以降の接続）について］
次に、図４のＳ４０７のディスカバリの詳細について説明する。図１５は、デジタルカメラ１００が接続したことのあるＰＣと接続するディスカバリの動作を示すフローチャートである。このフローチャートは、ディスカバリ処理の図７のＳ７０１にて２回目以上接続と判定されてからＳ７１３の広告処理の開始に戻るまでの処理を示す。
【０１１２】
まず、Ｓ１５０１において、制御部１０１はペアリング情報を参照する。メモリ１０４の不揮発性メモリに記録された前回接続されたペアリング情報を参照する。
【０１１３】
Ｓ１５０２において、制御部１０１は、前回接続されたＰＣ２００のディスカバリプロトコルがＵＰｎＰであるか否かを検知する。Ｓ１５０１でペアリング情報のディスカバリプロトコルを参照し、ＵＰｎＰであった場合はＳ１５０３へ進む。そうでない場合はＳ１５０４へ進む。
【０１１４】
Ｓ１５０３において、制御部１０１はＵＰｎＰのデバイス検索を行う。ここでは、図８のＳ８０７、Ｓ８０９、Ｓ８１０、Ｓ８１１、Ｓ８１５と同様の処理を逐次的に行うため説明は割愛する。
【０１１５】
Ｓ１５０４において、制御部１０１はＢｏｎｊｏｕｒでの機器検索を行う。ここでは、図８のＳ８０８、Ｓ８１２、Ｓ８１３、Ｓ８１４、Ｓ８１５と同様の処理を逐次的に行うため説明は割愛する。
【０１１６】
Ｓ１５０５において、制御部１０１はＰＣ２００が発見されたか否かを検知する。Ｓ１５０３、またはＳ１５０４にて取得したディスクリプション、またはＴＸＴレコードから取得したＧＵＩＤとペアリング情報のＧＵＩＤとを比較して、一致した場合は接続したことがあるＰＣ２００が発見されたと判定する。そうでない場合は、Ｓ１５０６へ進む。
【０１１７】
Ｓ１５０６において、制御部１０１はＬ分経過したか否かを検知する、あらかじめプログラムで規定されているか、もしくはユーザが設定した時間、Ｓ１５０５により接続したことがあるＰＣ２００が発見されるまで処理を繰り返す。Ｌ分経過したと検知した場合はＳ１５０７へ進む。
【０１１８】
Ｓ１５０７において、制御部１０１はＰＣ２００が未発見であるＧＵＩを表示部１３０に表示する。図１３（ｈ）のＧＵＩがその一例である。
【０１１９】
Ｓ１５０５によりＰＣが発見された場合は、図７のＳ７１３に進み、広告処理を開始する。その後の処理は同様である。
以上が、接続したことのあるＰＣと接続するためのディスカバリの動作の詳細である。
【０１２０】
［ＰＣのディスカバリ処理について］
次に、ＰＣ２００における図６のＳ６０２のディスカバリの詳細について説明する。図１６は、ＰＣ２００のディスカバリの動作を示すフローチャートである。
【０１２１】
まず、Ｓ１６０１において、ＣＰＵ２０３は広告処理を開始する。広告処理は、ＰＣ２００のＯＳが基本機能として提供していたり、二次記憶装置２０５にインストールされるアプリケーションの機能として提供したりする。ＰＣ２００は、対応するディスカバリプロトコルに則って広告処理を開始する。ＵＰｎＰ対応ＰＣの場合はＳＳＤＰ：Ａｌｉｖｅをマルチキャストする。Ｂｏｎｊｏｕｒ対応ＰＣの場合はＭｕｌｔｉｃａｓｔ  ＤＮＳ  Ｎｏｔｉｆｙをマルチキャストする。
【０１２２】
Ｓ１６０２において、ＣＰＵ２０３は機器検索のマルチキャストを受信したか否かを検知する。デジタルカメラ１００は、Ｍ−Ｓｅａｒｃｈ、またはＭｕｌｔｉｃａｓｔＤＮＳ  のＱｕｅｒｙを実行してネットワーク上の機器にマルチキャストする。ＣＰＵ２０３は通信装置２０６を通じてマルチキャストを受信したことを検知すると、Ｓ１６０１に進む。そうでない場合は、マルチキャストを受信するまで処理を続ける。
【０１２３】
Ｓ１６０３において、ＣＰＵ２０３はレスポンスを送信する。Ｍ−Ｓｅａｒｃｈの場合、図１０（ｃ）のＲｅｓｐｏｎｓｅを送信する。Ｑｕｅｒｙの場合、付加されたＳｅｒｖｉｃｅＴｙｐｅを参照して、ＰＣ２００が保有している画像転送サービスであると判定した場合はデジタルカメラ１００へレスポンスを送信してＳ１６０４へ進む。
【０１２４】
Ｓ１６０４において、ＣＰＵ２０３はデジタルカメラ１００からディスクリプションの要求があるか否かを検知する。デジタルカメラ１００はＳ１６０３においてレスポンスを受信すると続いてディスクリプションの取得の要求をＰＣ２００へ送信する。ＵＰｎＰの場合、ＨＴＴＰ  ＧＥＴを実行してディスクリプションの取得を指示する。Ｂｏｎｊｏｕｒの場合、ＴＸＴレコードの取得を指示する。ＣＰＵ２０３は通信装置２０６を通じて上記のディスクリプションの送信指示を受信したと検知した場合はＳ１６０５へ進む。そうでない場合は、ディスクリプションの送信指示を検知するまで待機する。
【０１２５】
Ｓ１６０５において、ＣＰＵ２０３はディスクリプションをデジタルカメラ１００へ送信する。ＵＰｎＰの場合は図１１（ａ）に示すようなＤｅｓｃｒｉｐｔｉｏｎを送信する。Ｂｏｎｊｏｕｒの場合は図１２（ａ）に示すＴＸＴレコードを送信する。
【０１２６】
Ｓ１６０６において、ＣＰＵ２０３はデジタルカメラ１００の広告マルチキャストを受信したか否かを検知する。図９のＳ９０２またはＳ９０３にある広告処理を検知すると、Ｓ１６０７へ進む。そうでない場合は広告マルチキャストを受信するまで処理を続ける。
【０１２７】
Ｓ１６０７において、ＣＰＵ２０３はデジタルカメラに対してディスクリプションの送信を要求する。
【０１２８】
Ｓ１６０８において、ＣＰＵ２０３はディスクリプションを受信する。ＵＰｎＰの場合は図１１（ｂ）に示すようなディスクリプションをデジタルカメラ１００から受信する。Ｂｏｎｊｏｕｒの場合は図１２（ｂ）に示すようなＴＸＴレコードをデジタルカメラ１００から受信する。
【０１２９】
Ｓ１６０９において、ＣＰＵ２０３は画像転送サービスに対応しているか否かを検知する。ディスクリプションには画像転送サービスに対応しているか否かの情報が記載されている。
【０１３０】
そのタグを参照して、画像転送サービスに対応しているデジタルカメラであると検知した場合は、Ｓ１６１０に進む。そうでない場合はＳ１６０６に戻り、他のＰＣからの広告マルチキャストを受信するのを待つ。なお、前述の通り、本実施形態における画像転送サービスに用いられるプロトコルはＰＴＰ−ＩＰであり、ＰＴＰ−ＩＰでの接続方法を基に説明する。
【０１３１】
Ｓ１６１０において、ＣＰＵ２０３はＰＴＰ−ＩＰプロトコルのＩｎｉｔＣｏｍｍａｎｄＲｅｑｕｅｓｔパケットをデジタルカメラ１００へ送信する。
【０１３２】
Ｓ１６１１において、ＣＰＵ２０３はデジタルカメラ１００が送信した、ＩｎｉｔＣｏｍｍａｎｄＲｅｑｕｅｓｔパケットを受け入れたことを示すＩｎｉｔＡｃｋパケットを受信したか否かを検知する。通信装置２０６を通じてＩｎｉｔＡｃｋパケットを受信したことを検知した場合はＳ１６１２に進む。そうでない場合はＳ１６１４に進む。
【０１３３】
Ｓ１６１２において、ＣＰＵ２０３はＰＴＰ−ＩＰプロトコルのＩｎｉｔＥｖｅｎｔＲｅｑｕｅｓｔパケットをデジタルカメラ１００へ送信する。
【０１３４】
Ｓ１６１３において、ＣＰＵ２０３はデジタルカメラ１００がＩｎｉｔＥｖｅｎｔＲｅｑｕｅｓｔパケットを正常に処理したことを通知するＩｎｉｔＡｃｋパケットを受信する。
ＩｎｉｔＡｃｋパケットを受信すると、デジタルカメラ１００との接続に成功したと判断し、図６のＳ６０３へ進み、画像転送サービスを提供するアプリケーションを起動する。
【０１３５】
Ｓ１６１４において、ＣＰＵ２０３はデジタルカメラ１００が送信した、ＩｎｉｔＣｏｍｍａｎｄＲｅｑｕｅｓｔパケットの受け入れを拒否したことを示すＩｎｉｔＦａｉｌパケットを受信したか否かを検知する。ＩｎｉｔＦａｉｌパケットを受信したと検知した場合はＳ１６１５へ進む。そうでない場合は、Ｓ１６１１に戻り、ＩｎｉｔＣｏｍｍａｎｄＲｅｑｕｅｓｔパケット対するデジタルカメラ１００のレスポンスを待つ。
【０１３６】
Ｓ１６１５において、ＣＰＵ２０３はＳ１６１４にてＩｎｉｔＦａｉｌパケットを受信するとデジタルカメラ１００との接続に失敗したと判断し、接続に失敗したことを示すＧＵＩをＰＣ２００の表示部２０１に表示する。
【０１３７】
Ｓ１６１６において、ＣＰＵ２０３はデジタルカメラとの接続を終了するか否かを判定する。不図示のＧＵＩにてユーザがＰＣを操作して画像転送サービスの開始を中断した場合は、接続失敗として処理し、画像転送サービスを終了する。他のデジタルカメラとの接続を待つ場合はＳ１６０２へ戻り、処理を続ける。
以上が、ＰＣにおける図６のＳ６０２のディスカバリの処理の詳細である。
【０１３８】
＜他の実施形態＞
なお、本実施形態では再生モードから無線接続を行うことを例にしたが、必ずしもこれらのモードに限定されない。例えば、撮影モードやメニューモードに無線接続ボタンを用意し、それをユーザが押下することで接続処理を進めてもよい。
【０１３９】
また、本実施形態では無線通信機能を内蔵したデジタルカメラ１００を例にあげて説明したが、無線通信が可能な記録メディアがデジタルカメラ１００に装着され記録媒体１４１として無線通信を制御する構成としても構わない。この場合も本実施形態と同様の制御を無線通信が可能な記録メディアの不図示の無線回路部に対して行う。
【０１４０】
さらに、デジタルカメラ１００をＰＣなどから遠隔操作するシステムにおいても、本発明は適用可能である。この場合は、ＰＣの制御部がデジタルカメラ１００の制御部１０１に対して各種の問合せ及び制御の要求を行うことにより、遠隔操作で実現することが可能となる。
【０１４１】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2014042353.tif 000003
【図２】
2014042353.tif 000004
【図３】
2014042353.tif 000005
【図４】
2014042353.tif 000006
【図５】
2014042353.tif 000007
【図６】
2014042353.tif 000008
【図７】
2014042353.tif 000009
【図８】
2014042353.tif 000010
【図９】
2014042353.tif 000011
【図１０】
2014042353.tif 000012
【図１１】
2014042353.tif 000013
【図１２】
2014042353.tif 000014
【図１３】
2014042353.tif 000015
【図１４】
2014042353.tif 000016
【図１５】
2014042353.tif 000017
【図１６】
2014042353.tif 000018