(57)【特許請求の範囲】
【請求項１】
参加中のネットワークを介して外部装置へデータを転送すると共に、前記ネットワークに参加する前に前記外部装置と制御情報を送受信するように構成された通信手段と、
前記通信手段を用いた処理を制御する制御手段と、を有し、
前記制御手段は、
前記通信手段が前記ネットワークに参加する前に、第１のデータ形式を持つ第１のデータが転送対象として選択された場合に、前記ネットワークを介した通信確立の要求を前記外部装置が前記第１のデータ形式を処理可能か否かの問合せを付加して前記外部装置に送信し、前記外部装置から受信した前記要求に対する応答に基づいて、前記外部装置が前記第１のデータ形式を処理可能か否かを判定し、
前記外部装置が前記第１のデータ形式を処理可能である場合、前記ネットワークに参加して前記外部装置と通信を確立し、前記外部装置が前記第１のデータ形式を処理可能でない場合、前記制御情報の送受信を再度行って、前記外部装置が前記第１のデータ形式と異なる第２のデータ形式を処理可能か否かを判定するように制御する、
ことを特徴とする通信装置。
【請求項２】
拡張子を含むファイル名を持つファイルとして、前記第１のデータを含む複数のデータを記憶するデータ記憶手段を更に備え、
前記制御手段は、前記第１のデータのファイル名と拡張子のみが異なるファイル名で第２のデータが前記データ記憶手段に記憶されている場合、前記第２のデータのデータ形式を前記第２のデータ形式とする
ことを特徴とする請求項１に記載の通信装置。
【請求項３】
前記第１のデータを他のデータ形式に変換する変換手段を更に備え、
前記制御手段は、前記他のデータ形式を前記第２のデータ形式とする
ことを特徴とする請求項１に記載の通信装置。
【請求項４】
拡張子を含むファイル名を持つファイルとして、前記第１のデータを含む複数のデータを記憶するデータ記憶手段と、
前記第１のデータを他のデータ形式に変換する変換手段と、を更に備え、
前記制御手段は、前記第１のデータのファイル名と拡張子のみが異なるファイル名のデータが前記データ記憶手段に記憶されていない場合、前記他のデータ形式を前記第２のデータ形式とする
ことを特徴とする請求項１に記載の通信装置。
【請求項５】
前記制御手段は、前記外部装置が前記第１のデータ形式を処理可能でないと判定した後に、前記変換手段を用いた変換を開始する
ことを特徴とする請求項３又は４に記載の通信装置。
【請求項６】
前記制御手段は、前記外部装置が前記第１のデータ形式を処理可能か否かを判定する前に、前記変換手段を用いた変換を開始する
ことを特徴とする請求項３に記載の通信装置。
【請求項７】
前記制御手段は、前記変換手段を用いた変換の途中に、前記外部装置が前記第１のデータ形式を処理可能であると判定した場合、この変換を中止する
ことを特徴とする請求項６に記載の通信装置。
【請求項８】
前記制御手段により前記外部装置が処理可能でないと判定されたデータ形式を前記外部装置と関連付けて記憶する履歴記憶手段を更に備え、
前記制御手段は、前記第１のデータ形式が前記外部装置と関連付けて前記履歴記憶手段に記憶されている場合、前記外部装置が前記第１のデータ形式を処理可能か否かの判定を行わずに、前記外部装置が前記第２のデータ形式を処理可能か否かを判定する
ことを特徴とする請求項１から７のいずれか１項に記載の通信装置。
【請求項９】
前記制御手段により前記外部装置が処理可能であると判定されたデータ形式を前記外部装置と関連付けて記憶する履歴記憶手段を更に備え、
前記制御手段は、前記外部装置と関連付けて前記履歴記憶手段に記憶されているデータ形式の中から選択したデータ形式を前記第２のデータ形式とする
ことを特徴とする請求項１から７のいずれか１項に記載の通信装置。
【請求項１０】
参加中のネットワークを介して外部装置へデータを転送すると共に、前記ネットワークに参加する前に前記外部装置と制御情報を送受信するように構成された通信手段を有する通信装置の制御方法であって、
制御手段が、前記通信手段を用いた処理を制御する制御工程を有し、
前記制御工程では、
前記通信手段が前記ネットワークに参加する前に、第１のデータ形式を持つ第１のデータが転送対象として選択された場合に、前記ネットワークを介した通信確立の要求を前記外部装置が前記第１のデータ形式を処理可能か否かの問合せを付加して前記外部装置に送信し、前記外部装置から受信した前記要求に対する応答に基づいて、前記外部装置が前記第１のデータ形式を処理可能か否かを判定し、
前記外部装置が前記第１のデータ形式を持つデータを処理可能である場合、前記ネットワークに参加して前記外部装置と通信を確立し、前記外部装置が前記第１のデータ形式を処理可能でない場合、前記制御情報の送受信を再度行って、前記外部装置が前記第１のデータ形式と異なる第２のデータ形式を処理可能か否かを判定するように制御する、
ことを特徴とする通信装置の制御方法。
【請求項１１】
コンピュータを、請求項１から９のいずれか１項に記載の通信装置の通信手段を除く各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、外部装置と通信を行う通信装置及びその制御方法ならびにプログラムに関する。
【背景技術】
【０００２】
無線通信の普及に伴い、デジタルカメラなどの携帯型端末に無線通信機能を搭載して、外部装置に映像ファイル等のデータを送信することが提案されている（特許文献１）。例えば無線ＬＡＮを用いて外部装置にデータを送信する場合、携帯型端末は、まず外部装置の属する無線ＬＡＮネットワークに参加する処理を実行したうえで、外部装置と通信を確立する処理を実行する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−１５２６８９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、外部装置との通信を確立した後に、携帯型端末から外部装置に送信した映像ファイル等のデータを当該外部装置が適切に処理できない（例えば再生できない）ことが判明すると、それまでに実行した通信処理が無駄になってしまう。このため、外部装置が処理可能なデータを適切なタイミングで特定する必要がある。
【０００５】
本発明は、上述の従来技術の問題点に鑑みてなされたものであり、適切なタイミングで外部装置が処理可能なデータを特定することが可能な通信装置及びその制御方法ならびにプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
この課題を解決するため、例えば本発明の通信装置は以下の構成を備える。すなわち、
参加中のネットワークを介して外部装置へデータを転送すると共に、ネットワークに参加する前に外部装置と制御情報を送受信するように構成された通信手段と、通信手段を用いた処理を制御する制御手段と、を有し、制御手段は、通信手段がネットワークに参加する前に、第１のデータ形式を持つ第１のデータが転送対象として選択された場合に、前記ネットワークを介した通信確立の要求を前記外部装置が前記第１のデータ形式を処理可能か否かの問合せを付加して前記外部装置に送信し、前記外部装置から受信した前記要求に対する応答に基づいて、外部装置が第１のデータ形式を処理可能か否かを判定し、外部装置が第１のデータ形式を処理可能である場合、ネットワークに参加して前記外部装置と通信を確立し、外部装置が第１のデータ形式を処理可能でない場合、制御情報の送受信を再度行って、外部装置が第１のデータ形式と異なる第２のデータ形式を処理可能か否かを判定するように制御する、ことを特徴とする。
【発明の効果】
【０００７】
本発明によれば、適切なタイミングで外部装置が処理可能なデータを特定することが可能な通信装置及びその制御方法ならびにプログラムを提供することができる。
【図面の簡単な説明】
【０００８】
【図１】本発明の実施形態に係る通信装置の一例としてのデジタルカメラの機能構成例を示すブロック図
【図２】本実施形態に係るデジタルカメラの通信機能に係るソフトウェア構成を示すブロック図
【図３】本実施形態に係るネットワーク構成の一例を示す模式図
【図４】実施形態１に係るデジタルカメラ及び外部装置間の動作シーケンスを示す模式図
【図５】実施形態１に係る通信制御処理の一連の動作を示すフローチャート
【図６】実施形態１に係るデジタルカメラのＧＵＩ画面の一例を示す図
【図７】実施形態２に係る通信制御処理の一連の動作を示すフローチャート
【図８】実施形態３に係る通信制御処理の一連の動作を示すフローチャート
【図９】実施形態４に係る通信制御処理の一連の動作を示すフローチャート
【発明を実施するための形態】
【０００９】
（実施形態１）
以下、本発明の例示的な実施形態について、図面を参照して詳細に説明する。なお、以下では通信装置の一例として、通信によってデータを送受信可能な任意のデジタルカメラに本発明を適用した例を説明する。しかし、本発明は、デジタルカメラに限らず、通信によってデータを送受信可能な任意の機器にも適用可能である。これらの機器には、例えば携帯電話機、ゲーム機、タブレット端末、パーソナルコンピュータ、時計型や眼鏡型の情報端末などが含まれてよい。
【００１０】
（デジタルカメラ１００の構成）
図１は、本実施形態の通信装置の一例としてデジタルカメラ１００の機能構成例を示すブロック図である。なお、図１に示す機能ブロックの１つ以上は、ＡＳＩＣやプログラマブルロジックアレイ（ＰＬＡ）などのハードウェアによって実現されてもよいし、ＣＰＵやＭＰＵ等のプログラマブルプロセッサがソフトウェアを実行することによって実現されてもよい。また、ソフトウェアとハードウェアの組み合わせによって実現されてもよい。従って、以下の説明において、異なる機能ブロックが動作主体として記載されている場合であっても、同じハードウェアが主体として実現されうる。
【００１１】
撮像部１０１は、光学レンズ、イメージセンサ、デジタル画像処理部等を含み、撮像光学系を介して入力される被写体光学像を光電変換してアナログ信号を生成し、さらにデジタルデータに変換して画像データを生成する。例えば、１フレームが横１９２０画素×縦１０８０画素の画像データを、所定のフレームレート（例えば３０フレーム毎秒）で出力することができる。このような撮像部１０１からの出力は、例えば動画データとしてバスを介して伝送され、記憶部１０３に記憶される。
【００１２】
制御部１０２は、例えばＣＰＵあるいはＭＰＵを含み、記憶部１０３に含まれるＲＯＭに格納された制御プログラムを、記憶部１０３に含まれるＲＡＭの作業エリアに展開して実行することにより、デジタルカメラ１００全体を制御する。制御部１０２は、ネットワーク上の外部装置との間の通信パラメータの設定、ネットワークへの参加、外部装置との通信の確立等の各種制御処理を行う（制御手段）。
【００１３】
記憶部１０３は、例えばＲＯＭ、ＲＡＭ、ＨＤＤ、フラッシュメモリ等の各種メモリを含み、制御部１０２が実行する制御プログラムと、通信パラメータ等の各種情報を記憶する。また、記憶部１０３は、デジタルカメラ１００で撮影した動画データや静止画データを記憶するデータ記憶手段として機能する。なお、記憶部１０３は、デジタルカメラ１００で撮影した動画データや静止画データのほか、外部装置で生成されて当該装置から受信した動画データ等を記憶してもよい。
【００１４】
無線部１０４は、無線通信を行うための処理回路又は機能モジュールであり、制御部１０２の指示に応じて、例えばＩＥＥＥ８０２．１１シリーズに準拠した無線ＬＡＮ通信を実行する（通信手段）。
【００１５】
表示部１０５は、例えばタッチパネル式のＬＣＤ又はＬＥＤパネルからなるモニタを含む。表示部１０５は、記憶部１０３に記憶された動画データ又はデジタルカメラ１００の操作のための操作画面（メニュー画面）等の視覚で認知可能な情報の出力、若しくはスピーカなどの音声出力が可能である。表示部１０５は視覚情報および音情報の少なくともどちらか一方を出力する機能を備える。
【００１６】
データ変換部１０６は、記憶部１０３に記憶された動画データや静止画データから異なる形式のデータに変換して記憶部１０３に記憶する（データ変換手段）。例えば、ＭＯＶ形式の動画データとＭＰ４形式の動画データを相互に変換したり、ＪＰＥＧ形式の静止画データとＰＮＧ形式の静止画データを相互に変換したりすることができる。データ変換部１０６は、例えばトランスコーダと呼ばれる専用のハードウェアによって構成されてもよい。
【００１７】
アンテナ制御部１０７は、無線通信を行うためのアンテナ１０８を制御する制御回路又は制御モジュールを含み、無線通信を行うための信号出力等を制御する。
【００１８】
操作部１０９は、各種ボタンやタッチパネル等を含み、ユーザが各種ボタンやメニュー画面から各種入力等を行ってデジタルカメラ１００を操作する。操作部１０９は検出したユーザ入力を制御部１０２に送信する。
【００１９】
（通信制御機能に係る機能ブロックの構成）
図２は、本実施形態の通信制御機能を実現する、一例としてのソフトウェアによる機能ブロック２０１の機能構成例を示すブロック図である。機能ブロック２０１の通信制御機能は、デジタルカメラ１００が備えるハードウェアおよびソフトウェアにより実現される。
【００２０】
ディスカバリ制御部２０２は、通信相手となる外部装置を検索して機器発見（Ｄｅｖｉｃｅ  Ｄｉｓｃｏｖｅｒｙ）処理を行う。また、ＧＯネゴシエーション制御部２０３は、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔプロトコル仕様に基づくＧＯ  Ｎｅｇｏｔｉａｔｉｏｎ処理を行って、外部装置との間でどちらが無線ＬＡＮアクセスポイント（又は無線ＬＡＮステーション）の役割を果たすかを決定する。なお、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔでは、無線ＬＡＮアクセスポイント機能を提供する通信装置をＰ２Ｐグループオーナー（以下、ＧＯともいう）、無線ＬＡＮステーション機能を提供する通信装置をＰ２Ｐクライアント（以下、ＣＬともいう）という。デジタルカメラ１００がＧＯまたは無線ＬＡＮアクセスポイントとなる場合は後述する無線ＬＡＮアクセスポイント機能制御部２１１が起動される。一方、デジタルカメラ１００がＣＬまたは無線ＬＡＮステーションとなる場合は後述する無線ＬＡＮステーション機能制御部２１０が起動される。このＧＯ  Ｎｅｇｏｔｉａｔｉｏｎ処理に係るプロトコルはＷｉ−Ｆｉ  Ｄｉｒｅｃｔ仕様で規定されているため詳細は省略する。Ｗｉ−Ｆｉ  ＤｉｒｅｃｔではＧＯが形成したネットワークをＰ２Ｐグループという。本実施形態でもネットワークのことをＰ２Ｐグループという場合があり、これらを同一の意味で説明する。なお、Ｐ２Ｐグループオーナー（ＧＯ）、Ｐ２Ｐクライアント（ＣＬ）および役割が未決定の通信装置群をまとめて、Ｐ２Ｐデバイスという。
【００２１】
ＤＨＣＰクライアント制御部２０４は、ＤＨＣＰクライアントの機能を提供し、ＧＯネゴシエーション制御部２０３においてデジタルカメラ１００の役割が無線ＬＡＮステーションとなる場合に起動される。 また、ＤＨＣＰサーバ制御部２０５は、ＤＨＣＰサーバの機能を提供し、ＧＯネゴシエーション制御部２０３においてデジタルカメラ１００の役割が無線ＬＡＮアクセスポイントとなる場合に起動される。
【００２２】
ＷＰＳエンローリ制御部２０６は、無線ＬＡＮの通信のために必要な通信パラメ―タを、他のＷＰＳレジストラ装置から受信する。ＤＨＣＰクライアント制御部２０４と同様に、デジタルカメラ１００の役割が無線ＬＡＮステーションとなる場合に動作する。ＷＰＳレジストラ制御部２０７は、無線ＬＡＮの通信のために必要な通信パラメータを、他のＷＰＳエンローリ装置に提供する。ＤＨＣＰサーバ制御部２０５と同様に、デジタルカメラ１００の役割が無線ＬＡＮアクセスポイントとなる場合に動作する。なお、ＷＰＳレジストラによって提供される通信パラメータは、ネットワーク識別子としてのＳＳＩＤ、暗号鍵、暗号方式、認証鍵、認証方式等のパラメータである。
【００２３】
無線ＬＡＮパケット受信部２０８及び無線ＬＡＮパケット送信部２０９は、上位レイヤの通信プロトコルを含むあらゆるパケットの送受信を実行する。無線ＬＡＮステーション機能制御部２１０は、デジタルカメラ１００が無線ＬＡＮステーションとして動作する場合の認証処理、暗号処理等を実行して、無線ＬＡＮアクセスポイントとして動作する装置が形成する無線ネットワークに参加する。
【００２４】
無線ＬＡＮアクセスポイント機能制御部２１１は、デジタルカメラ１００が無線ＬＡＮアクセスポイント機能として動作する場合に、無線ネットワークを形成し、認証処理、暗号処理および外部装置の管理処理等を実行する。無線ＬＡＮステーション機能制御部２１０および無線ＬＡＮアクセスポイント機能制御部２１１は、どちらか一方が動作してもよいし、同時に動作してもよい。
【００２５】
パケットルーティング制御部２１２は、無線ＬＡＮアクセスポイント機能制御部２１１が動作しているときに、通信パケットをブリッジおよびルーティングする。
【００２６】
データ記憶部２１３は、ソフトウェアプログラムおよび、無線ＬＡＮパラメータや、上述したＤＨＣＰアドレステーブルおよびＡＲＰテーブル等の各種テーブルを記憶する。
【００２７】
サービスディスカバリ制御部２１４は、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔ特有のサービスディスカバリ機能を実現する。サービスディスカバリ機能は、ＩＥＥＥ８０２．１１ｕで定められた、管理フレームの一部であるアクションフレームを送受信することにより、外部装置の提供しているサービス情報を取得する。具体的には、サービスディスカバリ制御部２１４はＳＤ  Ｑｕｅｒｙを送信し、ＳＤ  Ｒｅｓｐｏｎｓｅを返答として受信する。もしくは、サービスディスカバリ制御部２１４は外部装置からのＳＤ  Ｑｕｅｒｙを受信し、その応答としてＳＤ  Ｒｅｓｐｏｎｓｅを送信する。ＳＤ  Ｒｅｓｐｏｎｓｅにはサービスの種類を示す情報が含まれており、この応答を送信した装置の提供するサービスの種類、例えばファイル転送サービス、印刷サービス、動画像ストリーミングサービス等が示される。
【００２８】
Ｐ２Ｐインビテーション制御部２１５は、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔ規格で定められたＩｎｖｉｔａｔｉｏｎ機能を制御する。このＩｎｖｉｔａｔｉｏｎ機能についてはＷｉ−Ｆｉ  Ｄｉｒｅｃｔ仕様に規定されているため省略するが、ＧＯもしくはＣＬが役割の決まっていないＰ２ＰデバイスをＰ２Ｐクライアントとして接続を促す機能である。
【００２９】
サービス提供部２１６は、アプリケーションレイヤのファイル転送サービスを提供する。アプリケーションレイヤは、ＯＳＩ参照モデルにおける第５層以上の上位レイヤにおけるサービス提供層をさす。ファイル転送サービスでは、ＨＴＴＰプロトコルを利用して各種要求応答の送受信処理や、転送ファイルの送受信処理を行う。
【００３０】
サービス利用部２１７は、外部装置のアプリケーションレイヤのファイル転送サービス提供部によって提供されるサービスを利用する。
【００３１】
セッション制御部２１８は、ファイル転送サービスにおける論理的な接続を管理する。ファイル転送サービスを利用する場合は、転送するデータの情報（転送データ関連情報）を送信することによってセッション生成要求を外部装置に送信し、その応答を受信する。ファイル転送サービスを提供する場合は、転送データ関連情報を受信し、この転送データ関連情報の内容に基づいてセッション生成の可否を判定し応答する。転送データ関連情報は、例えば転送するファイルの数や、合計サイズ、ファイル名で構成される情報である。セッション制御部２１８は、セッション生成が可能と判定された場合は、無線レイヤでの接続処理を実行する。なお、セッション管理に関わる情報のやりとりは、ファイルを転送するためのいわゆる制御情報の送受信として行われ、例えばＩＥＥＥ８０２．１１で定められた、管理フレームの一部であるパブリックアクションフレームを利用して行われる。
【００３２】
なお、図２に示す全ての機能ブロックはソフトウェアによって提供されるものに限らず、少なくとも一部がハードウェアによって提供されるようにしてもよい。そして、各機能ブロックは、相互関係を有し、複数の機能ブロックが１つの機能ブロックを構成するようにしてもよいし、何れかの機能ブロックが更に複数の機能を行うブロックに分かれてもよい。さらに、アプケリーションレイヤにおけるファイル転送サービスは、そのサービスを提供する装置と、そのサービスを利用する装置とによって実現される。本実施形態における一例ではサービスを利用する装置はデジタルカメラ１００であり、サービスを提供する装置は、スマートフォン、タブレット、デジタルカメラ、ストレージ装置等であってよい。
【００３３】
図３は、デジタルカメラ１００（図３及び図４においてファイルの送信側を表すＳＴＡ−Ａとも呼ぶ）と、外部装置（図３及び図４においてファイルの受信側を表すＳＴＡ−Ｂとも呼ぶ）とから構成される無線ネットワーク３１の例を示している。いずれの装置も、図２を参照して説明した機能ブロック２０１の通信制御機能を実現するハードウェアおよびソフトウェア（例えば、図１に示すもの）を有する。デジタルカメラ１００と外部装置は、形成された無線ネットワーク３１に参加し、例えばＩＥＥＥ８０２．１１シリーズに準拠した無線通信を確立する。
【００３４】
（通信制御処理に係る動作シーケンス）
図４は、ＳＴＡ−Ａ（デジタルカメラ１００に対応）が、その記憶部１０３に格納されている動画データを、ＳＴＡ−Ｂ（外部装置に対応）に送信する場合の、装置間の動作シーケンスを示す模式図である。また、図４の例ではＳＴＡ−Ａがファイル転送サービスを利用する送信側の通信装置であり、ＳＴＡ−Ｂは、ファイル転送サービスを提供する受信側の通信装置として動作する。
【００３５】
Ｓ４０１において、ＳＴＡ−Ａは、ユーザ操作による、転送するファイルの選択完了を受け取ると、Ｓ４０２において、ファイル転送サービスを提供している通信装置を検索するための問い合わせ信号（ファイル転送サービス検索）を送信する。
【００３６】
Ｓ４０３において、ＳＴＡ−Ｂは、前記問い合わせ信号を受信し、検出応答信号をＳＴＡ−Ａに送信する。
【００３７】
Ｓ４０４において、ＳＴＡ−Ａは、検出応答を受信し、ＳＴＡ−Ｂとファイル転送サービスのための論理的な接続を確立させるため、転送データ関連情報を付加したセッション生成要求信号を送信する。例えば、転送データ関連情報は「ファイル数：１、合計サイズ：５ＭＢ、ファイル名：２０１３０８０７．ＭＯＶ」といったものでよい。このとき、転送するデータ形式を示すファイル名の拡張子（この例では「ＭＯＶ」）は省略しないものとする。このタイミングに（即ち、無線ネットワークに参加する前に）転送データ関連情報を送信することにより、ＳＴＡ−Ｂはどのようなデータが転送されるのか事前に認識することができる。なお、以降の説明において、転送するデータとして最初に選択されたファイルを当初ファイルともいう場合がある。ファイル転送サービス検索やセッション生成要求に係る情報の送受信は、ＳＴＡ−Ａ及びＳＴＡ−Ｂで定めた特定の周波数帯（チャンネルともいわれる）のもと、上述した管理フレームの一部であるアクションフレームを使用して行われる。
【００３８】
Ｓ４０５において、ＳＴＡ−Ｂは、ＳＴＡ−Ａから送信されたセッション生成要求信号を受信し、転送データ関連情報に応じて、許可応答信号あるいは拒否応答信号をＳＴＡ−Ａに送信する。具体的には、ＳＴＡ−Ｂは、転送データ関連情報に含まれるデータ形式を参照して、ＳＴＡ−Ｂで処理可能なデータか否かを判定する。ＳＴＡ−Ｂは処理可能と判定した場合は許可応答信号を、処理可能でないと判定した場合は拒否応答信号をＳＴＡ−Ａに送信する。例えば、ＳＴＡ−Ｂが、ＭＰ４形式の動画データの再生機能を備える一方、ＭＯＶ形式の動画データの再生機能を備えていない場合、受信した転送データ関連情報に含まれるファイル名の拡張子（データ形式）がＭＯＶであるため拒否応答信号を送信する。
【００３９】
Ｓ４０５においてＳＴＡ−Ｂが拒否応答信号を送信した場合、ＳＴＡ−Ａは、以下に示すＳ４０６〜Ｓ４０８の処理を行う。
【００４０】
Ｓ４０６において、ＳＴＡ−Ａは、拒否応答信号を受信すると、Ｓ４０４において転送対象としていたファイル（当初ファイル）の代替として転送するファイル（代替ファイル）を選択する。具体的には、拒否応答を受けた転送データ関連情報に含まれていた当初ファイルについて、拡張子のみ異なる代替ファイルが記憶部１０３に存在するかを判定し、このファイルが存在する場合は当該代替ファイルを送信対象として選択する。また、ＳＴＡ−Ａは、代替ファイルが存在しない場合、当初ファイルを変換して得られるファイルを転送対象として選択する。例えば、上述した転送データ関連情報の例では、拡張子のみ異なるファイル名（例えば「２０１３０８０７．ＡＶＩ」）が記憶部１０３に存在する場合はこのファイルを代替ファイルとして選択する。また、当該ファイルが存在しない場合はＳＴＡ−Ａのデータ変換部１０６によってＭＯＶ形式を変換して得られる、例えばＭＰ４形式のファイル名（例えば「２０１３０８０７．ＭＰ４」）を選択する。
【００４１】
Ｓ４０７において、ＳＴＡ−Ａは、代替ファイルを選択すると、選択した代替ファイルのデータ形式を含む転送データ関連情報を用いて再びセッション生成要求を送信する。Ｓ４０８において、ＳＴＡ−Ｂは、Ｓ４０５のときと同様に、ＳＴＡ−Ａに許可応答信号あるいは拒否応答信号を送信する。このとき、ＳＴＡ−Ａは拒否応答信号を受信するとＳ４０６における代替ファイル選択、及びＳ４０７におけるセッション生成要求を再び行ってＳＴＡ−Ｂからの応答信号を確認する。即ち、ＳＴＡ−Ａは、ＳＴＡ−Ｂから許可応答信号を受信するまでＳ４０６〜Ｓ４０８の処理を繰り返して、ＳＴＡ−Ｂの処理可能なデータ形式を特定する。
【００４２】
さらに、Ｓ４０９以降のステップについて説明する。Ｓ４０９以降のステップは、Ｓ４０８においてＳＴＡ−ＡがＳＴＡ−Ｂから許可応答信号を受信した場合の処理である。
【００４３】
Ｓ４０９において、ＳＴＡ−Ａは、許可応答信号を受信するとＳＴＡ−Ｂとの間で、無線レイヤの接続処理を実行する。無線レイヤでの接続処理は、上述したＷｉ−Ｆｉ  Ｄｉｒｅｃｔ仕様に基づいた接続処理である。即ち、ＳＴＡ−ＡまたはＳＴＡ−Ｂのどちらか一方がＰ２Ｐグループオーナー（ＧＯ）となり、他方がＰ２Ｐクライアント（ＣＬ）となる。ＣＬはＧＯが形成した無線ネットワークに参加する、いわゆるネットワーク参加処理を行う。但し、ＧＯが無線ネットワークを形成した場合、ＧＯはネットワーク参加処理を行っているものとする。
【００４４】
Ｓ４１０において、ＳＴＡ−Ａは、参加中のネットワークを介して、ファイル転送サービスの所定の開始処理を実行する。具体的には、ＤＨＣＰによるＩＰアドレスの設定処理等を行ってＳＴＡ−Ｂとの接続を確立し、ファイル転送サービスにおけるＨＴＴＰ転送に必要な詳細情報をＳＴＡ−Ｂから取得する処理を実行する。
【００４５】
Ｓ４１１において、ＳＴＡ−Ａは、許可応答信号を受信した際のセッション生成要求で用いた転送データ関連情報（Ｓ４０４あるいはＳ４０７）に基づいて、ＳＴＡ−Ｂに対するファイルの送信処理を実行する。
【００４６】
Ｓ４１２において、ＳＴＡ−Ａは、ファイルの転送を終了すると、ファイル転送サービスに対する所定の終了処理を実行する。具体的には、Ｓ４１０で生成した情報の削除や、設定を解除する処理を実行する。
【００４７】
Ｓ４１３において、ＳＴＡ−Ａは、ＳＴＡ−Ｂとのファイル転送サービスの論理的な接続を終了させるため、セッション終了要求信号を送信する。また、Ｓ４１４において、ＳＴＡ−Ｂは、セッション終了要求信号を受信して、ＳＴＡ−Ａに許可応答信号を送信する。
【００４８】
Ｓ４１５において、ＳＴＡ−Ａは、許可応答信号を受信して、ＳＴＡ−Ｂとの無線レイヤの接続を切断する処理を実行する。なお、無線レイヤでの切断処理は、上述したＷｉ−Ｆｉ  Ｄｉｒｅｃｔ仕様に基づいた切断処理である。ＳＴＡ−ＡおよびＳＴＡ−Ｂは、以上の処理を完了すると通信制御処理に係る動作シーケンスを終了する。
【００４９】
（通信制御処理に係る一連の動作）
次に、図５を参照して、デジタルカメラ１００の通信制御処理に係る一連の動作を説明する。この一連の動作は、デジタルカメラ１００がファイル転送サービスを利用して、記憶部１０３に格納されている動画データを外部装置に送信する処理である。なお、デジタルカメラ１００の表示部１０５に転送の対象となるファイルを表示させている状態で、例えば操作部１０９に対するユーザからの選択操作があった場合に本処理が開始される。本処理は、制御部１０２が記憶部１０３に記憶されたプログラムを作業用領域に展開し、実行することにより実現される。
【００５０】
Ｓ５０１において、制御部１０２は、ユーザが転送するファイルを選択するための画面（転送ファイル選択画面）を表示部１０５に表示する。図６は、本ステップにおいて表示部１０５に表示される画面の一例を示しており、その画面構成は、ユーザが操作部１０９により転送する所望のファイルを選択可能に構成されている。転送ファイル選択画面には、記憶部１０３に格納されているファイルの縮小静止画（いわゆるサムネイル画像）６０１〜６０６が一覧表示される。また、表示対象となるファイルの数に応じて画面をスクロール表示させるためのスクロール６０９や、選択したファイルの転送を決定する送信ボタン６０７及び操作を中止して前の画面に戻る中止ボタン６０８が表示される。
【００５１】
再び図５を参照する。Ｓ５０２において、制御部１０２は、転送ファイル選択画面において、ユーザによりファイルが選択されたかを判定する。制御部１０２はファイルが選択された場合は処理をＳ５０３に進め、ファイルが選択されていない場合、処理を再びＳ５０２に戻してユーザによるファイルの選択を待つ。より具体的には、図６の画面において、ユーザが操作部１０９を介してサムネイル画像６０１〜６０６のいずれかを選択し、送信ボタン６０７を押下するのを待つ。なお、本実施形態では転送するファイルを１つ選択するものとして説明するが、複数選択して転送することもできる。
【００５２】
Ｓ５０３において、制御部１０２は外部装置を検出したかを判定する。より具体的には、制御部１０２は、ファイル転送サービスの検索処理を開始して、当該検出処理の開始から所定時間の間に外部装置からの検出応答を受信できたかを判定する。検出応答を受信できなかった場合、別途、表示部１０５にその旨を表示してユーザに通知するとともに、本一連の処理を終了する。一方、検出応答を受信した場合、処理をＳ５０４に進める。なお、本ステップにおいて複数の外部装置を検出した場合、制御部１０２は、検出応答を送信した外部装置を表示部１０５にリストを表示して、ファイルを転送先となる装置を選択するためのユーザ操作を受け付けるようにしてもよい。
【００５３】
Ｓ５０４において、制御部１０２は、セッション生成処理を行う。具体的には、制御部１０２は、転送するファイルに係る転送データ関連情報を生成し、この転送データ関連情報を含んだセッション生成要求を、無線部１０４を介して送信する。Ｓ５０５において、制御部１０２は、セッション生成要求に対する許可応答を受信したかを判定する。具体的には、無線部１０４を介して受信したセッション生成要求に対する応答を判定し、この応答が許可応答である場合は処理をＳ５０９に進め、この応答が拒否応答である場合は処理をＳ５０６に進める。
【００５４】
まず、セッション生成要求に対して拒否応答があった場合の処理（Ｓ５０６〜Ｓ５０８）について説明する。Ｓ５０６において、制御部１０２は、拡張子のみ異なるファイルが記憶部１０３に存在するかを判定する。具体的には、Ｓ５０２で選択されたファイルのファイル名とは拡張子のみが異なり、かつ、Ｓ５０４のセッション生成処理に用いられていないファイルが、記憶部１０３に存在するか否かを判定する。当該ファイルが存在する場合、処理をＳ５０４に戻し、当該ファイルの情報を用いて再びセッション生成処理を行う。一方、該当するファイルが存在しない場合は、処理をＳ５０７に進める。
【００５５】
Ｓ５０７において、制御部１０２は、セッション生成処理で用いたファイルがデータ変換可能であるかを判定する。即ち、制御部１０２は、セッション生成処理で用いたファイルがデータ変換部１０６を用いて別のデータ形式を持つデータ（拡張子の異なるデータ）に変換可能かを判定する。データ変換が可能である場合は処理をＳ５０８に進め、可能でない場合は外部装置が利用可能なデータが用意できないものとして本一連の処理を終了する。
【００５６】
Ｓ５０８において、制御部１０２は、データ変換部１０６を用いてデータ変換処理を開始する。この変換処理によって生成される新たな代替ファイルのファイル名は、データ変換処理に用いたファイル名の拡張子を変更したものであり、生成されるファイルは記憶部１０３に記憶される。その後、制御部１０２は処理をＳ５０４に戻し、変換処理によって生成されたファイルの情報を用いて再びセッション生成処理を行う。即ち、制御部１０２は許可応答信号を受信するまで上述したＳ５０４〜Ｓ５０８の処理を繰り返して、外部装置が処理可能なデータ形式を特定する。
【００５７】
次に、セッション生成要求に対して、許可応答があった場合の処理（Ｓ５０９〜Ｓ５１４）について説明する。
【００５８】
Ｓ５０９において、制御部１０２は、外部装置との間でＷｉ−Ｆｉ  Ｄｉｒｅｃｔ仕様に基づいて、ネットワークへの参加を含んだ無線レイヤの接続処理を実行する。さらに、ＤＨＣＰによるＩＰアドレス設定処理、およびファイル転送サービスにおけるＨＴＴＰ転送に必要な詳細情報の取得処理等の転送サービス開始処理を実行する。
【００５９】
Ｓ５１０において、制御部１０２は、Ｓ５０８でデータ変換処理を開始していた場合、そのデータ変換処理が途中であるかを判定する。制御部１０２は、データ変換処理が途中であると判定した場合、処理を再びＳ５１０に戻して当該変換処理の完了を待つ。一方、当該変換処理が完了していると判定した場合、処理をＳ５１１に進める。
【００６０】
Ｓ５１１において、制御部１０２は、Ｓ５０４で送信した転送データ関連情報に基づいて、参加中のネットワークを介した外部装置に対するファイル転送処理を実行する。Ｓ５１２において、制御部１０２は、ファイルの送信処理が終了すると、Ｓ５１２においてファイル転送サービスの終了処理を実行し、さらにＳ５１３においてセッション終了処理を実行する。
【００６１】
制御部１０２は、セッション終了処理を完了すると、さらにＳ５１３において無線レイヤの切断処理を実行し、そしてＳ５１４において、Ｓ５０８で生成されたデータ変換後のデータを必要に応じて記憶部１０３から削除する。このとき、制御部１０２はデータ変換後のデータを全て削除してもよいが、Ｓ５０５において外部装置から許可応答の得られなかったデータ形式を持つデータのみを選択的に削除するようにしてもよい。このようにすれば、記憶部１０３に転送可能なデータのみを記憶部１０３に保持しておくこともできる。制御部１０２は、Ｓ５１３及びＳ５１４の処理を完了すると、本一連の動作を終了する。
【００６２】
（通信制御処理の具体例）
図５に示した一連の処理について、デジタルカメラ１００がＳ５０５において外部装置から拒否応答信号を受信した場合の具体例を一例として説明する。
【００６３】
なお、Ｓ５０２でユーザが選択したファイルのファイル名を「２０１３０８０７．ＭＯＶ」とし、記憶部１０３には当該選択されたファイルのほかに「２０１３０８０７．ＷＭＶ」が格納されているものとする。また、デジタルカメラ１００のデータ変換部１０６は各種動画データをＭＰ４形式に変換できる機能を有するものとする。さらに、外部装置は、ＭＯＶ形式とＷＭＶ形式の動画データを再生することができないが、ＭＰ４形式の動画データを再生することができるものとする。
【００６４】
デジタルカメラ１００は、ユーザのファイル選択に従ってファイル「２０１３０８０７．ＭＯＶ」の情報を付加してセッション生成処理を行う（Ｓ５０４に対応）。これに対して、外部装置がＭＯＶ形式の動画データを再生することができない。このため外部装置から拒否応答信号を受信すると（Ｓ５０５のＮＯに対応）、デジタルカメラ１００は記憶部１０３を確認し、拡張子の異なるファイル「２０１３０８０７．ＷＭＶ」を発見する（Ｓ５０６のＹＥＳに対応）。
【００６５】
デジタルカメラ１００は、ファイル「２０１３０８０７．ＷＭＶ」の情報を用いて再びセッション生成処理を行う（Ｓ５０４に対応）が、外部装置がＷＭＶ形式の動画データを再生することができないため再び拒否応答信号を受信する（Ｓ５０５のＮＯに対応）。このとき、記憶部１０３には拡張子のみが異なるファイルがこれ以上存在しない（Ｓ５０６のＮＯに対応）。このため、デジタルカメラ１００はデータ変換部１０６を用いて「２０１３０８０７．ＷＭＶ」をＭＰ４形式のファイル「２０１３０８０７．ＭＰ４」に変換する（Ｓ５０７のＹＥＳ及びＳ５０８に対応）。なお、Ｓ５０８において、「２０１３０８０７．ＭＯＶ」をＭＰ４形式に変換してもよい。
【００６６】
このＭＰ４形式のファイルに基づくセッション生成処理を行うと、外部装置がＭＰ４形式の動画データを再生することができるため、デジタルカメラ１００は許可応答信号を受信する（Ｓ５０５のＹＥＳに対応）。以降、Ｓ５０９〜Ｓ５１３に従い、データ変換部１０６で変換したＭＰ４形式の動画データを外部装置に転送し、当該転送が完了すると変換データを記憶部１０３から削除する（Ｓ５１４に対応）。
【００６７】
以上説明したように本実施形態では、デジタルカメラ１００が無線ネットワークに参加する前に制御情報たる転送データ関連情報を外部装置に送信し、参加中のネットワークを介して転送するデータのデータ形式を外部装置が処理可能かを判定するようにした。そして、転送するデータ形式を外部装置が処理可能でない場合、記憶部１０３に格納されている別の形式或いは変換可能な別の形式を持つデータを、外部装置が処理可能か判定するようにした。このようにすることで、適切なタイミングで（即ち、外部装置との無線通信を確立する前に）外部装置が処理可能なデータを特定することが可能になる。さらに、転送するデータのデータ形式が、外部装置によって処理可能なデータ形式である場合、ネットワークに参加して当該形式のデータを外部装置に転送するようにした。このようにすれば、無線通信を確立した後に、外部装置が処理できないデータを送信する場合の無駄を回避し、送信側が準備可能な形式のデータの中から外部装置が処理可能なデータを選択して送信することが可能になる。
【００６８】
（実施形態２）
次に実施形態２について説明する。実施形態１では、セッション生成処理において拒否応答があった場合に、データ形式の異なるファイルを転送するためにデータ変換処理を行う場合について説明した。これに対して、実施形態２ではセッション生成処理に先立って予めデータ変換を開始する。本実施形態のデジタルカメラ１００の構成は、実施形態１と同一の構成であり、また、通信制御処理に係る一連の動作も上述した処理を除いて実施形態１で説明した処理と同様である。このため、本実施形態において参照する図においては、実施形態１において参照した図と同一又は同様の構成及びステップについては同一の符号を付して重複する説明は省略し、相違点について重点的に説明する。
【００６９】
（実施形態２における通信制御処理に係る一連の動作）
次に、図７を参照して、デジタルカメラ１００の通信制御処理に係る一連の動作を説明する。この一連の動作は、実施形態１と同様、デジタルカメラ１００がファイル転送サービスを利用して、記憶部１０３に格納されている動画データを外部装置に送信する処理である。また、本処理が開始される状態及び制御部１０２が各処理を実行する点は実施形態１と同様である。
【００７０】
制御部１０２は、Ｓ５０１〜Ｓ５０２の処理を実行してユーザにより所定のファイルが選択された場合にＳ７０１に処理を進める。
【００７１】
Ｓ７０１において、制御部１０２は、Ｓ５０２で選択されたファイルがデータ変換可能であるかを判定する。即ち、制御部１０２は、選択されたファイルがデータ変換部１０６を用いて別の形式を持つデータ（拡張子の異なるデータ）に変換可能かを判定する。データ変換が可能である場合は処理をＳ７０２に進め、可能でない場合は処理をＳ７０３に進める。
【００７２】
Ｓ７０２において、制御部１０２は、データ変換部１０６を用いてデータ変換処理を開始する。この変換処理によって生成される新たな代替ファイルのファイル名は、データ変換処理に用いたファイル名の拡張子を変更したものであり、生成されるファイルは記憶部１０３に記憶される。なお、データ変換部１０６が複数の形式のデータに変換する機能を有する場合は、本ステップにおいて複数のデータ形式へ変換を開始してもよい。
【００７３】
Ｓ７０３において、制御部１０２は外部装置を検出したかを判定する。より具体的には、制御部１０２は、ファイル転送サービスの検索処理を開始して、当該検出処理の開始から所定時間の間に外部装置からの検出応答を受信できたかを判定する。検出応答を受信できなかった場合、別途、表示部１０５にその旨を表示してユーザに通知するとともに、他の処理を行わずにＳ７０７に処理を進める。一方、検出応答を受信した場合、処理をＳ７０４に進める。なお、本ステップにおいて複数の外部装置を検出した場合、制御部１０２は、検出応答を送信した外部装置を表示部１０５にリストを表示して、ファイルを転送先となる装置を選択するためのユーザ操作を受け付けるようにしてもよい。
【００７４】
Ｓ７０４において、制御部１０２は、セッション生成処理を行う。具体的には、制御部１０２は、転送されるファイルに係る転送データ関連情報を生成し、この転送データ関連情報を含んだセッション生成要求を、無線部１０４を介して送信する。Ｓ７０５において、制御部１０２は、セッション生成要求に対する許可応答を受信したかを判定する。具体的には、無線部１０４を介して受信したセッション生成要求に対する応答を判定し、この応答が許可応答である場合は処理をＳ５０９に進め、この応答が拒否応答である場合は処理をＳ７０６に進める。
【００７５】
Ｓ７０６において、制御部１０２は、拡張子のみ異なるファイルが記憶部１０３に存在するかを判定する。具体的には、Ｓ５０２で選択されたファイルのファイル名とは拡張子のみが異なり、かつ、Ｓ７０４のセッション生成処理に用いられていないファイルが、記憶部１０３に存在するか否かを判定する。このとき、記憶部１０３に存在するファイルには、上述したＳ７０２において変換処理が開始されたファイルも含まれる（変換処理が未完了であっても構わない）。当該ファイルが存在する場合、処理をＳ７０４に戻し、当該ファイルの情報を用いて再びセッション生成処理を行う。一方、該当するファイルが存在しない場合は、他の処理を行わずに処理をＳ５１４に進める。
【００７６】
以降の図７に示すＳ５０９〜Ｓ５１３の処理は、実施形態１と同様であり、制御部１０２は外部装置と無線レイヤでの接続処理を行ったうえでファイル転送を行う。
【００７７】
Ｓ７０７において、制御部１０２は、Ｓ７０２においてデータ変換処理を行った場合、そのデータ変換処理によって生成されたデータを削除して、本処理に係る一連の動作を終了する。
【００７８】
なお、Ｓ７０２においてデータ変換処理を開始した後、データ変換処理の途中に許可応答信号を受信（Ｓ７０５）した場合、生成中のデータを削除してもよい。即ち、制御部１０２は、許可応答信号を受信したデータ形式が継続中の変換処理に係るデータ形式と異なれば、当該変換処理を中止して生成中のデータを削除してもよい。このようにすれば、データ転送されないファイルに対する無駄な処理を省くことができる。
【００７９】
以上説明したように本実施形態では、転送しようとするデータに対して予めデータ変換を行うようにした。このようにすることで、外部装置から拒否応答を受信した場合に外部装置で利用可能なデータを素早く送信することが可能になる。
【００８０】
（実施形態３）
次に実施形態３について説明する。実施形態１では、セッション生成処理において拒否応答があった場合に、データ形式の異なるファイルを転送するためにデータ変換処理を行う場合について説明した。実施形態３では、記憶部１０３がさらに応答信号の履歴を記憶する履歴記憶手段としても機能し、制御部１０２は過去に拒否応答のなされた拡張子のファイルに対しては、データ転送関連情報を送信しない。本実施形態のデジタルカメラ１００の構成は、実施形態１と同一の構成であり、また、通信制御処理に係る一連の動作も上述した処理を除いて実施形態１で説明した処理と同様である。このため、本実施形態において参照する図においては、実施形態１において参照した図と同一又は同様の構成及びステップについては同一の符号を付して重複する説明は省略し、相違点について重点的に説明する。
【００８１】
（実施形態３における通信制御処理に係る一連の動作）
図８を参照して、デジタルカメラ１００の通信制御処理に係る一連の動作を説明する。この一連の動作は、実施形態１及び２と同様、デジタルカメラ１００がファイル転送サービスを利用して、記憶部１０３に格納されている動画データを外部装置に送信する処理である。また、本処理が開始される状態及び制御部１０２が各処理を実行する点は実施形態１及び２と同様である。
【００８２】
制御部１０２は、Ｓ５０１〜Ｓ５０３の処理を実行してユーザによるファイルの選択及び外部装置の検出処理を行い、外部装置を検出した場合に処理をＳ８０１に進める。
【００８３】
Ｓ８０１において、制御部１０２は、Ｓ５０３で検出した外部装置について、過去にセッション生成処理において拒否応答を受信した履歴があるか否かを判定する。より具体的には、制御部１０２は、外部装置と転送対象のファイルの拡張子とを関連付けた拒否履歴を記憶部１０３から読み出す。拒否履歴には、例えば、外部装置を特定する識別子（例えば外部装置のＭＡＣアドレス等）と拒否応答信号を受信した際のファイルの拡張子との組が記憶され、制御部１０２はファイル転送サービスを提供する外部装置の識別子をキーにして拒否履歴を検索する。拒否応答の履歴がある場合はＳ８０２に処理を進め、当該履歴が無い場合はＳ８０６に処理を進める。なお、拒否応答の履歴は、後述するＳ８０８において随時更新される。
【００８４】
Ｓ８０２において、制御部１０２は、Ｓ５０２で選択された転送対象のファイル（即ち当初ファイル）の拡張子が、過去にセッション生成処理で拒否応答がなされた際に使用された拡張子であるか否かを判定する。転送対象のファイルの拡張子が、過去に拒否応答がなされた拡張子と一致する場合はＳ８０３に処理を進め、拒否応答の履歴のある拡張子と一致しない場合はＳ８０６に処理を進める。
【００８５】
Ｓ８０３において、制御部１０２は、拡張子のみ異なるファイルが記憶部１０３に存在するかを判定する。具体的には、Ｓ５０２で選択されたファイルのファイル名とは拡張子のみが異なり、かつ、後述するＳ８０６のセッション生成処理に用いられていないファイルが、記憶部１０３に存在するか否かを判定する。当該ファイルが存在する場合、Ｓ８０６に処理を進めてセッション生成処理を行う。一方、該当するファイルが存在しない場合は、処理をＳ８０４に進める。なお、ファイルが存在するか否かを判定する場合に、拒否応答のなされた履歴をさらに考慮して、拒否応答がなされた拡張子と一致する拡張子のファイルがあってもファイルが存在しないと判定してもよい。
【００８６】
Ｓ８０４において、制御部１０２は、転送対象のファイルがデータ変換可能であるかを判定する。即ち、制御部１０２は、転送対象のファイルがデータ変換部１０６を用いて別の形式を持つデータ（拡張子の異なるデータ）に変換可能かを判定する。データ変換が可能である場合は処理をＳ８０５に進め、可能でない場合は外部装置が利用可能なデータが用意できないものとして本一連の処理を終了する。
【００８７】
Ｓ８０５において、制御部１０２は、データ変換部１０６を用いてデータ変換処理を開始する。この変換処理によって生成される新たな代替ファイルのファイル名は、データ変換処理に用いたファイル名の拡張子を変更したものであり、生成されるファイルは記憶部１０３に記憶される。その後、制御部１０２は処理をＳ８０６に進めて、変換処理によって生成されたファイルの情報を用いてセッション生成処理を行う。
【００８８】
なお、Ｓ８０４において転送対象のファイルがデータ変換可能であるかを判定する際にも、Ｓ８０２のように過去に拒否された拡張子を考慮するようにしてもよい。即ち、制御部１０２は、データ変換処理を行う際にも外部装置が対応可能な（或いはその可能性のある）形式に優先的に変換してもよい。
【００８９】
Ｓ８０６において、制御部１０２は、セッション生成処理を行う。具体的には、制御部１０２は、転送されるファイルに係る転送データ関連情報を生成し、生成した転送データ関連情報を含んだセッション生成要求を、無線部１０４を介して送信する。Ｓ８０７において、制御部１０２は、セッション生成要求に対する許可応答を受信したかを判定する。具体的には、無線部１０４を介して受信したセッション生成要求に対する応答を判定し、この応答が許可応答である場合は処理をＳ５０９に進め、この応答が拒否応答である場合は処理をＳ８０８に進める。
【００９０】
Ｓ８０８において、制御部１０２は拒否履歴を記憶する。より具体的には、制御部１０２は、外部装置と転送対象のファイルの拡張子とを関連付けて、拒否履歴として記憶部１０３に記憶させる。その後、処理をＳ８０３に進める。
【００９１】
以降の図８に示すＳ５０９〜Ｓ５１４の処理は、実施形態１と同様であり、制御部１０２は外部装置と無線レイヤでの接続処理を行ったうえでファイル転送を行い、一連の処理を終了する。
【００９２】
以上説明したように本実施形態では、外部装置によって過去に拒否応答のあったデータ形式を、拒否履歴を用いて記憶し、ファイル転送を行う場合にはこの拒否履歴を用いてデータを選択するようにした。即ち、外部装置によって過去に拒否されていないデータ形式の動画データを選択するようにした。このようにすれば、外部装置に転送データ関連情報を送信する場合に、外部装置が処理可能でないデータ形式を用いてセッション生成処理を行う無駄を低減し、ひいては外部装置との通信量の低減や通信制御処理の高速化が可能になる。
【００９３】
（実施形態４）
次に実施形態４について説明する。実施形態３では、拒否応答の履歴を記憶し、過去に拒否応答された拡張子のファイルに対しては、データ転送関連情報を送信しないようにした。これに対して実施形態４では、許可応答の履歴を記憶し、過去に許可応答された拡張子のファイルを優先的に用いる。本実施形態のデジタルカメラ１００の構成は、実施形態３（即ち実施形態１）と同一の構成であり、また、通信制御処理に係る一連の動作も上述した処理を除いて実施形態３で説明した処理と同様である。このため、本実施形態において参照する図においては、実施形態３において参照した図と同一又は同様の構成及びステップについては同一の符号を付して重複する説明は省略し、相違点について重点的に説明する。
【００９４】
（実施形態４における通信制御処理に係る一連の動作）
図９を参照して、デジタルカメラ１００の通信制御処理に係る一連の動作を説明する。この一連の動作は、実施形態１〜３と同様、デジタルカメラ１００がファイル転送サービスを利用して、記憶部１０３に格納されている動画データを外部装置に送信する処理である。また、本処理が開始される状態及び制御部１０２が各処理を実行する点は実施形態１〜３と同様である。
【００９５】
制御部１０２は、Ｓ５０１〜Ｓ５０３の処理を実行してユーザによるファイルの選択及び外部装置の検出処理を行い、外部装置を検出した場合に処理をＳ９０１に進める。
【００９６】
Ｓ９０１において、制御部１０２は、Ｓ５０３で検出した外部装置について、過去にセッション生成処理において許可応答を受信した履歴があるか否かを判定する。より具体的には、制御部１０２は、外部装置と転送対象のファイルの拡張子とを関連付けた許可履歴を記憶部１０３から読み出す。許可履歴には、例えば、外部装置を特定する識別子（例えば外部装置のＭＡＣアドレス等）と許可応答信号を受信した際のファイルの拡張子との組が記憶され、制御部１０２はファイル転送サービスを提供する外部装置の識別子をキーにして許可履歴を検索する。許可応答の履歴がある場合はＳ９０２に処理を進め、当該履歴が無い場合はＳ８０６に処理を進める。なお、許可応答の履歴は、後述するＳ９０５において随時更新される。
【００９７】
Ｓ９０２において、制御部１０２は、Ｓ５０２で選択された転送対象のファイル（即ち当初ファイル）の拡張子が、過去にセッション生成処理で許可応答がなされた際に使用された拡張子であるか否かを判定する。過去に許可応答がなされた拡張子である場合はＳ８０６に処理を進め、許可応答の履歴のない拡張子である場合はＳ９０３に処理を進める。
【００９８】
Ｓ９０３において、制御部１０２は、拡張子のみ異なるファイルであって、過去の許可応答がなされた拡張子のファイルが記憶部１０３に存在するかを判定する。具体的には、制御部１０２は、Ｓ５０２で選択されたファイルのファイル名とは拡張子のみが異なり、かつ、許可履歴に含まれる拡張子と一致するものであって、Ｓ８０６のセッション生成処理に用いられていないファイルが、記憶部１０３に存在するか否かを判定する。当該ファイルが存在する場合、Ｓ８０６に処理を進めてセッション生成処理を行う。一方、該当するファイルが存在しない場合は、処理をＳ８０４に進める。このＳ９０３の処理では、Ｓ５０２で選択されたファイルとは異なる拡張子のファイルを、許可履歴に基づき優先的に選択することになる。
【００９９】
以降のＳ８０３〜Ｓ８０６において、制御部１０２は、実施形態３と同様に、選択されたファイルとは拡張子のみ異なるファイルが記憶部１０３に無い場合、データ変換処理を開始してその後セッション生成処理を行う。但し、Ｓ８０４において転送対象のファイルがデータ変換可能であるかを判定する際にも、Ｓ９０２及びＳ９０３のように過去に許可された拡張子を考慮するようにしてもよい。即ち、制御部１０２は、データ変換処理を行う際にも外部装置が対応可能なデータ形式を優先的に用いてもよい。
【０１００】
Ｓ９０４において、制御部１０２は、無線部１０４を介して受信したセッション生成要求に対する応答が許可応答であるかを判定する。この応答が許可応答である場合は処理をＳ９０５に進め、許可応答でない場合にはＳ８０３に処理を進める。
【０１０１】
Ｓ９０５において、制御部１０２は許可履歴を記憶する。より具体的には、制御部１０２は、外部装置と転送対象のファイルの拡張子との組み合わせを、許可履歴として記憶部１０３に記憶させる。その後、処理をＳ５０９に進める。
【０１０２】
以降の図９に示すＳ５０９〜Ｓ５１４の処理は、実施形態１と同様であり、制御部１０２は外部装置と無線レイヤでの接続処理を行ったうえでファイル転送を行い、一連の処理を終了する。
【０１０３】
以上説明したように本実施形態では、外部装置によって過去に許可応答のあったデータ形式を記憶し、ファイル転送を行う場合には許可応答のあったデータ形式を選択するようにした。即ち、外部装置によって過去に許可されたデータ形式を持つデータを優先的に選択するようにした。このようにすれば、外部装置に転送データ関連情報を送信する場合に、外部装置が処理可能でないデータ形式のみならず、処理可能かどうか未知である形式を用いてセッション生成処理を行う無駄を低減することが可能になる。そして、ひいては外部装置との通信量の低減や通信制御処理の高速化が可能になる。
【０１０４】
（その他の実施形態）
上述した実施形態では、ＩＥＥＥ８０２．１１準拠の無線ＬＡＮ方式を例に説明したが通信方式はこれに限らない。即ち、本発明はワイヤレスＵＳＢ、ＭＢＯＡ、Ｂｌｕｅｔｏｏｔｈ（登録商標）、ＵＷＢ、ＺｉｇＢｅｅ（登録商標）等の他の無線通信方式を用いてもよい。また、有線ＬＡＮ等の有線通信媒体において実施してもよい。なお、ＭＢＯＡは、Ｍｕｌｔｉ  Ｂａｎｄ  ＯＦＤＭ  Ａｌｌｉａｎｃｅの略であり、ＵＷＢには、ワイヤレスＵＳＢ、ワイヤレス１３９４、ＷＩＮＥＴなどが含まれる。
【０１０５】
さらに、上記実施形態は転送するデータとして動画データを例に説明した。しかし、本発明はこれに限定されるわけではなく、静止画データ、音声データ、文書データ、データベースなど、複数のファイル形式が存在しているデータを送信する場合に適用可能である。
【０１０６】
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【０１０７】
１０２…制御部、１０３…記憶部、１０４…無線部、１０５…表示部、１０９…操作部
【図１】
0006666669.tif 000002
【図２】
0006666669.tif 000003
【図３】
0006666669.tif 000004
【図４】
0006666669.tif 000005
【図５】
0006666669.tif 000006
【図６】
0006666669.tif 000007
【図７】
0006666669.tif 000008
【図８】
0006666669.tif 000009
【図９】
0006666669.tif 000010