(57)【要約】【課題】複数の外部機器に対して効率的にデータを転送可能とする。【解決手段】通信装置は、外部装置からのデータ取得要求を受信する受信手段と、データ取得要求が指定するデータを複数の断片データに分割して順次送信する送信手段と、を有する。送信手段は、第１の外部装置からの第１のデータ取得要求が指定するデータの断片データを送信中に第２の外部装置からの当該データを指定した第２のデータ取得要求を受信手段が受信した場合、送信中の断片データの後続の断片データを、第１の外部装置と第２の外部装置とに並行して送信する。【選択図】図４
2020009022.tif 000002
【特許請求の範囲】
【請求項１】
１以上の外部装置と通信可能に構成された通信装置であって、
外部装置からのデータ取得要求を受信する受信手段と、
前記データ取得要求が指定するデータを複数の断片データに分割して順次送信する送信手段と、
を有し、
前記送信手段は、第１の外部装置からの第１のデータ取得要求が指定するデータの断片データを送信中に第２の外部装置からの当該データを指定した第２のデータ取得要求を前記受信手段が受信した場合、前記送信中の断片データの後続の断片データを、前記第１の外部装置と前記第２の外部装置とに並行して送信する
ことを特徴とする通信装置。
【請求項２】
被写体を撮像して撮像データを生成する撮像手段と、
前記撮像データを圧縮符号化する変換手段と、
を更に有し、
前記データは、前記変換手段により圧縮符号化された圧縮撮像データである
ことを特徴とする請求項１に記載の通信装置。
【請求項３】
前記変換手段は、前記撮像データをＭ個（Ｍは２以上）の分割撮像データに分割して順次圧縮符号化することによりＭ個の断片データを順次生成する
ことを特徴とする請求項２に記載の通信装置。
【請求項４】
前記変換手段は、生成したＮ番目（１≦Ｎ≦Ｍ）の断片データを所定のメモリ領域に格納し、Ｎ番目の断片データを前記送信手段が前記第１の外部装置と前記第２の外部装置とに並行して送信した後、前記所定のメモリ領域に格納したＮ番目の断片データを破棄し、Ｎ＋１番目の断片データを生成する
ことを特徴とする請求項３に記載の通信装置。
【請求項５】
前記送信手段は、前記第１のデータ取得要求が前記データを指定しており前記第２のデータ取得要求が当該データと異なる他のデータを指定している場合、前記第１の外部装置への前記データの送信が完了した後に前記第２の外部装置への前記他のデータの送信を開始する
ことを特徴とする請求項１乃至４の何れか１項に記載の通信装置。
【請求項６】
前記送信手段は、前記第１の外部装置への前記データの送信の完了に先立って、前記第２の外部装置へ転送待機応答を送信する
ことを特徴とする請求項５に記載の通信装置。
【請求項７】
１以上の外部装置と通信可能に構成された通信装置の制御方法であって、
前記通信装置は、
外部装置からのデータ取得要求を受信する受信手段と、
前記データ取得要求が指定するデータを複数の断片データに分割して順次送信する送信手段と、
を有し、
前記制御方法は、
前記受信手段が、第１の外部装置からの第１のデータ取得要求が指定するデータの断片データを送信中に第２の外部装置からの当該データを指定した第２のデータ取得要求を前記受信手段が受信する受信工程と、
前記送信手段が、前記送信中の断片データの後続の断片データを、前記第１の外部装置と前記第２の外部装置とに並行して送信する送信工程と、
を含むことを特徴とする制御方法。
【請求項８】
１以上の外部装置と通信可能に構成された通信部を有するコンピュータを、請求項１乃至６の何れか１項に記載の通信装置の各手段として機能させるためのプログラム。
【請求項９】
第１の装置と第２の装置と該第１の装置及び該第２の装置と通信可能に構成された通信装置とを含む通信システムであって、
前記通信装置は、
前記第１の装置及び前記第２の装置からのデータ取得要求を受信する受信手段と、
前記データ取得要求が指定するデータを複数の断片データに分割して順次送信する送信手段と、
を有し、
前記送信手段は、前記第１の装置からの第１のデータ取得要求が指定するデータの断片データを送信中に前記第２の装置からの当該データを指定した第２のデータ取得要求を前記受信手段が受信した場合、前記送信中の断片データの後続の断片データを、前記第１の装置と前記第２の装置とに並行して送信する
ことを特徴とする通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データの伝送技術に関するものである。
【背景技術】
【０００２】
近年、無線通信を利用して撮像装置内に記憶された画像データを外部装置へ転送する技術が実用化されている。外部装置に応じて再生可能な画像データのフォーマットは異なり得るため、撮像装置は、転送先の外部装置で再生可能なフォーマットに画像データを変換した上で転送を行う。一般にフォーマット変換などのデータ変換処理には時間を要する。そのため、画像データのサイズが大きい場合、転送要求を行った通信装置は要求したデータを受信開始するまでに長い時間待機することになる。このような課題に対して、特許文献１では、転送対象のデータを断片データ毎に変換し、変換が完了した断片データから逐次転送する方法が提案されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−１１４７５５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述の従来技術においては、第１の通信装置に対してデータを転送している間に第２の通信装置からの転送要求を受信した場合、第２の通信装置へのデータ転送は第１の通信装置へのデータ転送が完了した後に開始されることになる。すなわち、第２の通信装置は、要求したデータを受信開始するまでに長い時間待機することになる。また、第１の通信装置及び第２の通信装置が要求したデータが同じデータであった場合、同じデータ変換処理を２回行うことになり無駄が生じることになる。
【０００５】
本発明は、このような問題に鑑みてなされたものであり、複数の外部機器に対して効率的にデータを転送可能とする技術を提供することを目的としている。
【課題を解決するための手段】
【０００６】
上述の問題点を解決するため、本発明に係る通信装置は以下の構成を備える。すなわち、１以上の外部装置と通信可能に構成された通信装置は、
外部装置からのデータ取得要求を受信する受信手段と、
前記データ取得要求が指定するデータを複数の断片データに分割して順次送信する送信手段と、
を有し、
前記送信手段は、第１の外部装置からの第１のデータ取得要求が指定するデータの断片データを送信中に第２の外部装置からの当該データを指定した第２のデータ取得要求を前記受信手段が受信した場合、前記送信中の断片データの後続の断片データを、前記第１の外部装置と前記第２の外部装置とに並行して送信する。
【発明の効果】
【０００７】
本発明によれば、複数の外部機器に対して効率的にデータを転送可能とする技術を提供することができる。
【図面の簡単な説明】
【０００８】
【図１】第１実施形態に係る通信システム１００の全体構成を示す図である。
【図２】デジタルカメラの内部構成を示す図である。
【図３】スマートデバイスの内部構成を示す図である。
【図４】デジタルカメラがデータ転送モードで動作する際のフローチャートである。
【図５】転送開始判定処理（Ｓ４０２）の詳細フローチャートである。
【図６】転送対象ブロック設定処理（Ｓ４０４）の詳細フローチャートである。
【図７】データ転送処理（Ｓ４０５）の詳細フローチャートである。
【図８】並行転送開始判定処理（Ｓ７０４）の詳細フローチャートである。
【図９】転送待機情報記憶処理（Ｓ８０５）の詳細フローチャートである。
【図１０Ａ】処理例１における動作の流れを示すシーケンス図である。
【図１０Ｂ】処理例１における動作の流れを示すシーケンス図である。
【図１１Ａ】処理例２における動作の流れを示すシーケンス図である。
【図１１Ｂ】処理例２における動作の流れを示すシーケンス図である。
【図１２】デジタルカメラにおけるＵＩ表示の例を示す図である。
【発明を実施するための形態】
【０００９】
以下に、図面を参照して、この発明の実施の形態の一例を詳しく説明する。なお、以下の実施の形態はあくまで例示であり、本発明の範囲を限定する趣旨のものではない。
【００１０】
（第１実施形態）
本発明に係る通信装置の第１実施形態として、デジタルカメラを例に挙げて以下に説明する。
【００１１】
＜システム構成＞
図１は、第１実施形態に係る通信システム１００の全体構成を示す図である。通信システム１００は、例えば、デジタルカメラ１０１、スマートデバイス１０２Ａ〜１０２Ｂを含むように構成される。ここでは、デジタルカメラ１０１およびスマートデバイス１０２Ａ〜１０２Ｂはそれぞれ無線通信機能（通信部）を有し通信可能に構成されているものとする。ここでは、無線通信機能は、ＩＥＥＥ８０２．１１シリーズに準拠した無線ＬＡＮ機能であるものとして説明する。しかし、これに限らず、Ｂｌｕｅｔｏｏｔｈ（登録商標）、ＭＢＯＡ、ＵＷＢ、ＺｉｇＢｅｅ、ＮＦＣ（Near Filed Communication）等、他の無線通信機能であってもよい。また、無線通信に代えて、有線ＬＡＮ等の有線通信を行ってもよい。ここで、ＭＢＯＡは、Multi Band OFDM Allianceの略である。また、ＵＷＢは、Ultra Wide Bandの略であり、ワイヤレスＵＳＢ、ワイヤレス１３９４、ＷＩＮＥＴなどが含まれる。
【００１２】
デジタルカメラ１０１は、無線ＬＡＮのアクセスポイント（ＡＰ）として動作可能であり、インフラストラクチャ・モードで無線ＬＡＮのネットワーク１０３を構築可能である。又はＷｉ−Ｆｉ  Ｄｉｒｅｃｔ規格に準拠した無線通信を行い、Ｇｒｏｕｐ  Ｏｗｎｅｒとして動作して無線ＬＡＮのネットワーク１０３を構築可能である。また、スマートデバイス１０２Ａ〜１０２Ｂは、ステーション（ＳＴＡ）として動作可能であり、無線ＬＡＮネットワーク１０３に接続することが出来る。又はＷｉ−Ｆｉ  Ｄｉｒｅｃｔ規格に準拠した無線通信を行い、Ｃｌｉｅｎｔとして動作して無線ＬＡＮネットワーク１０３に接続することができる。これにより、スマートデバイス１０２Ａ〜１０２Ｂは、無線ＬＡＮ通信１０４Ａ〜１０４Ｂを介してデジタルカメラ１０１と無線通信を行うことができる。
【００１３】
なお、ここでは、デジタルカメラ１０１が無線ＬＡＮネットワークを構築し、スマートデバイス１０２が当該無線ＬＡＮネットワークに接続するものとして説明するが、これに限るものではない。例えば、スマートデバイス１０２が無線ＬＡＮネットワークを構築し、デジタルカメラ１０１が当該無線ＬＡＮネットワークに接続してもよい。また、デジタルカメラ１０１およびスマートデバイス１０２以外の外部装置が構築する無線ＬＡＮネットワークを利用するよう構成してもよい。ここで、外部装置は無線ＬＡＮのアクセスポイント等でありうる。また、無線ＬＡＮ以外の無線ネットワーク、有線ネットワーク、及びそれらの複合ネットワークを用いる形態であってもよい。
【００１４】
また、デジタルカメラおよびスマートデバイスは、後述の処理を実行する通信装置の一例に過ぎず、どのような装置が用いられてもよい。すなわち、デジタルカメラは、例えば、ノートパソコン、タブレット端末、ポータブルゲーム機、パーソナルデジタルアシスタント（ＰＤＡ）などの、通信機能を有する任意の通信装置と置き換えられうる。また、スマートデバイスも、同様に任意の通信装置で置き換えられうる。
【００１５】
・デジタルカメラ
図２は、デジタルカメラの内部構成を示す図である。特に、図２（ａ）は、デジタルカメラ１０１のハードウェア構成を示し、図２（ｂ）は、デジタルカメラ１０１の機能構成を示している。
【００１６】
無線ＬＡＮ制御部２０１は、無線ＬＡＮ関連のＲＦ制御、通信処理、プロトコル処理を行う。アンテナ２０２は、無線ＬＡＮ通信の電波を送受信する。制御部２０３は、一つ又は複数のプロセッサによって構成され、ＲＯＭ２０４に記憶される制御プログラムを実行することによりデジタルカメラ１０１全体を制御する。ＲＯＭ２０４は、制御部２０３が実行する制御プログラムを記憶する。後述する各種動作は、ＲＯＭ２０４に記憶された制御プログラムを制御部２０３が実行することにより行われる。ＲＡＭ２０５は、制御プログラムを実行する際のワークメモリやデータの一時保存などに利用される。記憶部２０６は、通信に必要なパラメータ等の各種情報や圧縮符号化された画像データを不図示の記録媒体に記憶する。
【００１７】
操作部２０７は、デジタルカメラ１０１を操作するための機能部である。表示部２０８は、各種表示を行う機能部であり、ＬＣＤやＬＥＤのように視覚による情報出力、あるいはスピーカ等の音響による情報出力が可能に構成される。マイク２０９は、音を取得する機能部である。パケット送受信部２１０は、各種通信にかかわるパケットを送受信する。
【００１８】
撮像部２１１は、被写体の光学像を撮像する機能部である。画像処理部２１２は、撮像部２１１から出力された撮像画像から所定フォーマットの画像データ（撮像データ）を生成する。また、画像データの輝度や色補正等の各種処理を施す。符号／復号化部２１３は、画像処理部２１２から出力された画像データに対して所定の符号化及び復号化を行う。例えば、画像データ圧縮のための、離散コサイン変換、量子化、可変長符号化のような処理を行う。詳しくは後述するが、符号化を行う際には、撮像データを複数の分割撮像データに分割して順次圧縮符号化することにより複数の断片データ（変換済みブロックデータ）を順次生成する。再生部２１４は、圧縮符号化された画像データ（圧縮撮像データ）を再生する。電源部２１５は、デジタルカメラ１０１に電源を供給する。
【００１９】
図２（ｂ）は、ＲＯＭ２０４に記憶されたプログラムを制御部２０３が読み出すことで実現される機能構成を示している。
【００２０】
指示判定部２５１は、操作部２０７のボタン等を介してユーザから通信機能の開始を指示されたことを判定する。変換部２５２は、画像処理部２１２および符号／復号化部２１３等を用いてデータ変換を行う。記憶制御部２５３は、記憶部２０６を制御し、データの保存やＲＡＭ２０５への読み出しを行う。
【００２１】
表示制御部２５４は、表示部２０８を制御して各種表示を行う。受信部２５５は、パケット送受信部２１０、無線ＬＡＮ制御部２０１等を用いてスマートデバイス１０２から送信された要求等を受信する。転送開始判定部２５６は、スマートデバイス１０２へのデータ転送を開始するか否かを判定する。送信部２５７は、パケット送受信部２１０、無線ＬＡＮ制御部２０１等を用いてスマートデバイス１０２への応答やデータ等の送信を行う。
【００２２】
・スマートデバイス
図３は、スマートデバイスの内部構成を示す図である。特に、図３（ａ）は、スマートデバイスのハードウェア構成を示し、図３（ｂ）は、スマートデバイスの機能構成を示している。
【００２３】
無線ＬＡＮ制御部３０１は、無線ＬＡＮ関連のＲＦ制御、通信処理、プロトコル処理を行う。アンテナ３０２は、無線ＬＡＮ通信の電波を送受信する。公衆無線制御部３０３は、公衆無線通信関連のＲＦ制御、通信処理、プロトコル処理を行う。公衆無線通信には、例えば、ＩＭＴ（International Multimedia Telecommunications）規格やＬＴＥ（Long Term Evolution）規格などに準拠した通信がある。アンテナ３０４は、公衆無線通信の電波を送受信する。
【００２４】
制御部３０５は、一つ又は複数のプロセッサによって構成され、ＲＯＭ３０６に記憶される制御プログラムを実行することによりスマートデバイス１０２全体を制御する。ＲＯＭ３０６は、制御部３０５が実行する制御プログラムを記憶する。後述する各種動作は、ＲＯＭ３０６に記憶された制御プログラムを制御部３０５が実行することにより行われる。ＲＡＭ３０７は、制御プログラムを実行する際のワークメモリやデータの一時保存などに利用される。記憶部３０８は、通信に必要なパラメータ等の各種情報を記憶する。
【００２５】
パケット送受信部３０９は、各種通信にかかわるパケットを送受信する。電源部３１０は、スマートデバイス１０２に電源を供給する。表示部３１１は、各種表示を行うための機能部であり、ＬＣＤやＬＥＤのように視覚による情報出力、あるいはスピーカ等の音響による情報出力が可能に構成される。操作部３１２は、スマートデバイス１０２を操作するための機能部である。通話部３１３は、ユーザが通話を行うための機能部であり、マイク３１４は、音を取得する機能部である。
【００２６】
図３（ｂ）は、ＲＯＭ３０６に記憶されたプログラムを制御部３０５が読み出すことで実現される機能構成を示している。
【００２７】
指示判定部３５１は、操作部３１２を介してユーザからアプリケーションの起動等を指示されたことを判定する。記憶制御部３５２は、記憶部３０８を制御する。表示制御部３５３は、表示部３１１を制御して各種表示を行わせる。受信部３５４は、パケット送受信部３０９、無線ＬＡＮ制御部３０１等を用いてデジタルカメラ１０１から送信されたデータや通知等を受信する。送信部３５５は、パケット送受信部３０９、無線ＬＡＮ制御部３０１等を用いてデジタルカメラ１０１へのデータ取得要求等の送信を行う。
【００２８】
図２および図３に示した全ての機能ブロックは、ソフトウェアもしくはハードウェア的に相互関係を有するものである。また、図示した機能構成は一例であり、複数の機能ブロックを１つの機能ブロックとして構成してもよいし、何れかの機能ブロックを複数の機能ブロックとして構成してもよい。
【００２９】
＜処理の流れ＞
以下では、図４〜図９を参照してデジタルカメラ１０１の動作について説明した後に、図１０Ａ〜図１１Ｂを参照して通信システムの各装置で実行される処理の具体例を説明する。
【００３０】
ここでは、デジタルカメラ１０１とスマートデバイス１０２間の無線ＬＡＮ通信１０４は予め確立されているものとする。また、無線ＬＡＮ通信１０４上で行われるメッセージの送受信はＨＴＴＰ（Hypertext Transfer Protocol）を用いて行われるものとする。また、デジタルカメラ１０１がＨＴＴＰサーバ、スマートデバイス１０２がＨＴＴＰクライアントとして動作し、スマートデバイス１０２から送信されるリクエストに対してデジタルカメラ１０１がレスポンスを送信するものとする。さらに、デジタルカメラ１０１におけるデータ転送処理は、記憶制御部２５３が、記憶部２０６に記憶されたデータをＲＡＭ２０５に読み出し、ＲＡＭ２０５上のデータを変換部２５２により変換して転送するものとする。
【００３１】
＜デジタルカメラの動作＞
図４は、デジタルカメラがデータ転送モードで動作する際のフローチャートである。データ転送モードでの動作は、ユーザがデジタルカメラ１０１の操作部２０７を操作することより開始されうるが、これに限られない。例えば、スマートデバイス１０２からデータ転送モード開始の要求を受信したことを契機に開始されるようにしてもよい。また、ここでは転送されるデータとして、動画像データを例に説明するが、静止画像データや音声データであってもよい。
【００３２】
Ｓ４０１では、デジタルカメラ１０１は、スマートデバイス１０２へのデータ転送を既に開始している（転送中（送信中）である）か否かの判定を行う。転送中である場合（Ｓ４０１でＹＥＳ）はＳ４０５へ処理を進め、転送中でない場合（Ｓ４０１でＮＯ）はＳ４０２へ処理を進める。
【００３３】
Ｓ４０２では、デジタルカメラ１０１は、転送開始判定処理を開始する。尚、詳細については図５を参照して後述するが、転送開始判定処理は、転送待機データの有無や、データ転送要求（データ取得要求）の受信の有無に基づき、データ転送を開始するか否かの判定を行う処理を指す。ここで、データ転送要求は、デジタルカメラ１０１へデータ転送を要求する信号であり、例えば無線ＬＡＮ通信１０４によって送信されうる。また、データ転送要求は、ＧＥＴメソッドとＵＲＩ（Uniform Resource Identifier）で構成されるＨＴＴＰリクエストであり、データの識別子を含みうるが、これに限られない。例えば、データ変換のフォーマットや解像度、品質情報等を含みうる。
【００３４】
Ｓ４０３では、デジタルカメラ１０１は、Ｓ４０２でスマートデバイス１０２へのデータ転送を開始すると判定したか否かの判定を行う。データ転送を開始すると判定した場合（Ｓ４０３でＹＥＳ）はＳ４０４へ処理を進め、データ転送を開始しないと判定した場合（Ｓ４０３でＮＯ）はＳ４０１へ処理を戻す。
【００３５】
Ｓ４０４では、デジタルカメラ１０１は、転送対象ブロック設定処理を開始する。尚、詳細については図６を参照して後述するが、転送対象ブロック設定処理は、デジタルカメラ１０１が転送するブロックデータを設定する処理を指す。ここで、ブロックデータとは、動画像データを所定のサイズ毎に分割して得られる複数の断片データでありうるが、これに限られない。例えば、動画像データを既定時間毎に分割した複数の断片データでありうるし、動画像データの１フレームを部分領域毎に分割した複数の断片データでありうる。
【００３６】
Ｓ４０５では、デジタルカメラ１０１は、データ転送処理を開始する。尚、詳細については図７を参照して後述するが、データ転送処理は、転送対象のブロックデータを記憶部２０６からＲＡＭ２０５に読み出し、変換を行った後にスマートデバイス１０２へ転送する処理を指す。
【００３７】
Ｓ４０６では、デジタルカメラ１０１は、データ転送モードを終了するか否かの判定を行う。ここで、データ転送モードを終了するか否かの判定は、ユーザの操作部２０７の操作による終了指示の有無により判定しうるが、これに限られない。例えば、スマートデバイス１０２からデータ転送モードの終了指示を受信したことを契機に終了されてもよいし、デジタルカメラ１０１におけるデータ転送が一定期間ないことを契機に終了されてもよい。データ転送モードを終了する場合（Ｓ４０６でＹＥＳ）は本処理を終了し、データ転送モードを終了しない場合（Ｓ４０６でＮＯ）はＳ４０１へ処理を戻す。
【００３８】
図５は、転送開始判定処理（Ｓ４０２）の詳細フローチャートである。上述のように、転送開始判定処理（Ｓ４０２）は、少なくともデジタルカメラ１０１においてデータ転送を実行中でない（Ｓ４０１でＮＯ）ときに実行される。
【００３９】
Ｓ５０１では、デジタルカメラ１０１は、転送待機データがあるか否かの判定を行う。ここで、転送待機データとは、スマートデバイス１０２からデータ転送要求を受信した際に、その時点では転送を開始していない、すなわち、転送中のデータ転送が完了した後に転送を開始すると判定されたデータである。転送待機データがある場合（Ｓ５０１でＹＥＳ）はＳ５０５へ進み、転送待機データがない場合（Ｓ５０１でＮＯ）はＳ５０２へ処理を進める。
【００４０】
尚、転送待機データは、データ転送要求の要求元のスマートデバイス１０２である転送待機端末と紐付られて、データ転送要求を受信した順にリスト形式で「転送待機データリスト」として記憶されうる。また、複数のスマートデバイス１０２から同一データの転送を要求された場合には、当該データに複数のスマートデバイス１０２が転送待機端末として紐付けて記憶されうる。これにより、データ転送を開始する際、同一データの転送を要求した複数のスマートデバイス１０２へ並行してデータ送信することが可能となり、計算資源の消費を抑制すると共に、不要なデータ変換処理を削減することができる。
【００４１】
Ｓ５０２では、デジタルカメラ１０１は、スマートデバイス１０２からデータ転送要求を受信したか否かの判定を行う。データ転送要求を受信した場合（Ｓ５０２でＹＥＳ）はＳ５０３へ処理を進め、データ転送要求を受信していない場合（Ｓ５０２でＮＯ）はデータ転送を開始しないものとして本処理を終了する。
【００４２】
Ｓ５０３では、デジタルカメラ１０１は、データ転送要求で指定されたデータを転送対象データとしてセットする。Ｓ５０４では、デジタルカメラ１０１は、データ転送要求を行った要求元のスマートデバイス１０２を転送対象端末としてセットする。
【００４３】
一方、Ｓ５０５では、デジタルカメラ１０１は、転送待機データリストの先頭に記憶されたデータを転送対象データとしてセットする。Ｓ５０６では、デジタルカメラ１０１は、Ｓ５０５でセットした転送対象データに紐付けて記憶された全ての要求元スマートデバイス１０２を転送対象端末としてセットする。
【００４４】
Ｓ５０７では、デジタルカメラ１０１は、転送対象端末における転送開始ブロックとして転送対象データの先頭ブロックデータを記憶する。
【００４５】
Ｓ５０８では、デジタルカメラ１０１は、転送対象端末に転送許諾応答を送信し、本処理を終了する。ここで、転送許諾応答は、データ転送要求に対するデータ転送の開始を通知する信号であり、例えば、無線ＬＡＮ通信１０４によって送信されうる。転送許諾応答は、ヘッダ部に「Ｔｒａｎｓｆｅｒ−Ｅｎｃｏｄｉｎｇ：ｃｈｕｎｋｅｄ」を含み、ステータスコードが「２００  ＯＫ」であるＨＴＴＰレスポンスでありうる。また、当該レスポンスのボディ部には、転送開始ブロックの識別子を含みうるが、これに限られない。例えば、変換後の予測データサイズやデータ転送要求に関する付随データ等を含みうる。
【００４６】
このように、「Ｔｒａｎｓｆｅｒ−Ｅｎｃｏｄｉｎｇ」を「ｃｈｕｎｋｅｄ」とすることで、変換後のデータサイズが確定しない場合であっても、転送許諾応答に引き続きデータ転送開始要求に対するレスポンスとしてデータ送信を行うことができる。
【００４７】
図６は、転送対象ブロック設定処理（Ｓ４０４）の詳細フローチャートである。なお、後述するＳ７１５の転送対象ブロック設定処理も同様の処理である。
【００４８】
Ｓ６０１では、デジタルカメラ１０１は、転送対象ブロックが未セットであるか否かの判定を行う。未セットである場合（Ｓ６０１でＹＥＳ）はＳ６０４へ処理を進め、セットされている場合（Ｓ６０１でＮＯ）はＳ６０２へ処理を進める。
【００４９】
Ｓ６０２では、デジタルカメラ１０１は、セットされている転送対象ブロックが転送対象データの最終ブロックデータであるか否かの判定を行う。最終ブロックデータである場合（Ｓ６０２でＹＥＳ）はＳ６０４へ処理を進め、最終ブロックデータでない場合（Ｓ６０２でＮＯ）はＳ６０３へ処理を進める。
【００５０】
Ｓ６０３では、デジタルカメラ１０１は、転送対象ブロックにセットされている転送対象ブロックの次ブロックのデータをセットし、本処理を終了する。一方、Ｓ６０４では、デジタルカメラ１０１は、転送対象ブロックに転送対象データの先頭ブロックのデータをセットし、本処理を終了する。
【００５１】
図７は、データ転送処理（Ｓ４０５）の詳細フローチャートである。前述のように、少なくともデジタルカメラ１０１においてデータ転送を実行中（Ｓ４０１でＹＥＳ）、または、データ転送を開始する（Ｓ４０３でＹＥＳ）ときに、本処理が開始されうる。
【００５２】
Ｓ７０１では、デジタルカメラ１０１は、転送対象ブロックのブロックデータを記憶部２０６からＲＡＭ２０５に読み出す。
【００５３】
Ｓ７０２では、デジタルカメラ１０１は、読み出したブロックデータに対してデータ変換処理を行う。ここで、データ変換処理は、既定の変換品質やフォーマットに基づいた変換符号化およびフレーム構成を、全Ｉフレーム構成から、Ｉフレーム、Ｐフレーム、Ｂフレームの組み合わせの構成に変更する予測符号化を行うことにより実行されうる。ここで、Ｉフレーム、Ｐフレーム、Ｂフレームはそれぞれ、Ｉｎｔｒａ−ｃｏｄｅｄフレーム、Ｐｒｅｄｉｃｔｅｄフレーム、Ｂｉ−ｄｉｒｅｃｔｉｏｎａｌ  Ｐｒｅｄｉｃｔｅｄフレームである。尚、データ変換の方法はこれに限定されるものではなく、例えば、スマートデバイス１０２から受信したデータ転送要求で指定されるフォーマットや品質情報等に基づいた変換がなされうる。
【００５４】
Ｓ７０３では、デジタルカメラ１０１は、スマートデバイス１０２からデータ転送要求を受信したか否かの判定を行う。データ転送要求を受信した場合（Ｓ７０３でＹＥＳ）はＳ７０４へ処理を進め、データ転送要求を受信していない場合（Ｓ７０３でＮＯ）はＳ７０５へ処理を進める。
【００５５】
Ｓ７０４では、デジタルカメラ１０１は、並行転送開始判定処理を開始する。尚、詳細については図８を参照して説明するが、並行転送開始判定処理は、データ転送要求の要求元スマートデバイス１０２へ転送中のデータを並行して転送開始するか否かを判定する処理を指す。
【００５６】
Ｓ７０５では、デジタルカメラ１０１は、変換済みデータを記憶する。
【００５７】
Ｓ７０６では、デジタルカメラ１０１は、転送対象ブロックの変換が完了したか否かを判定する。完了していないと判定した場合はＳ７０２に戻り、完了したと判定した場合は、以下に説明する変換済みブロックデータの送信処理（Ｓ７０７〜Ｓ７１０）を全ての転送対象端末を対象として並列的に実行する。なお、ここでは「並列」という表現を用いているが、正確にはＳ７０７〜Ｓ７１０の処理を全ての転送対象端末に対して順次実行することを意味する。これは、デジタルカメラ１０１と各転送対象端末（スマートデバイス１０２）との間はユニキャスト通信であることに起因する。
【００５８】
Ｓ７０７では、デジタルカメラ１０１は、データ送信を実行する。ここで、データ送信は、ヘッダ部に「Ｔｒａｎｓｆｅｒ−Ｅｎｃｏｄｉｎｇ：ｃｈｕｎｋｅｄ」を含む。また、ボディ部は、ステータスコードが「２００  ＯＫ」のＨＴＴＰレスポンスであり、変換済みブロックデータと当該ブロックデータのデータサイズ情報を含みうるが、これに限るものではない。例えば、ボディ部は、転送対象ブロックの識別子（当該ブロックが転送対象データのどの部分に該当するかを示す情報）等を含みうる。
【００５９】
Ｓ７０８では、デジタルカメラ１０１は、転送対象データの全ブロックデータを転送対象端末に転送したか否かの判定を行う。ここで、全ブロックデータを転送対象端末に転送したか否かの判定は、Ｓ５０７またはＳ８０３において記憶した転送開始ブロックと転送対象ブロックの転送対象データ中におけるオフセット値を比較することにより判定しうるが、これに限られるものではない。例えば、転送開始ブロックと転送対象ブロックの識別子を比較することにより判定してもよい。複数の断片データである全ブロックデータを順次送信し転送が完了した場合（Ｓ７０８でＹＥＳ）はＳ７０９へ処理を進め、全ブロックデータを転送していない場合（Ｓ７０８でＮＯ）は当該転送対象端末に対する繰り返し処理を終了する。
【００６０】
Ｓ７０９では、デジタルカメラ１０１は、転送対象端末（すなわち、要求元スマートデバイス１０２）に対してデータ転送終了通知を送信する。データ転送終了通知は、転送対象データの転送完了を通知する信号であり、例えば、無線ＬＡＮ通信１０４によって送信されうる。尚、ここでは、データ転送終了通知は、ヘッダ部に「Ｔｒａｎｓｆｅｒ−Ｅｎｃｏｄｉｎｇ：ｃｈｕｎｋｅｄ」を含む。また、ボディ部は、ステータスコードが「２００  ＯＫ」のＨＴＴＰレスポンスであり、ブロックデータのデータサイズ情報を含みうる。ここで、デジタルカメラ１０１は、送信する変換済みブロックデータは存在しないため、データサイズを０（ゼロ）としてデータ転送終了通知を送信する。これにより、変換後のデータサイズが確定しない状態でデータ転送を開始した場合においても、スマートデバイス１０２においてデータ転送の完了を確実に把握することができる。
【００６１】
Ｓ７１０では、デジタルカメラ１０１は、転送対象端末から当該スマートデバイス１０２を削除し、当該転送対象端末に対する処理を終了する。
【００６２】
Ｓ７１１では、デジタルカメラ１０１は、変換済みブロックデータをＲＡＭ２０５から破棄する。
【００６３】
Ｓ７１２では、デジタルカメラ１０１は、転送対象データの転送対象端末が存在するか否かの判定を行う。転送対象端末が存在する場合にはＳ７１５へ処理を進め、転送対象端末が存在しない場合にはＳ７１３へ処理を進める。
【００６４】
Ｓ７１３では、デジタルカメラ１０１は、転送対象データをクリアし、Ｓ７１４では、デジタルカメラ１０１は、転送対象ブロックをクリアし、本処理を終了する。
【００６５】
Ｓ７１５では、デジタルカメラ１０１は、転送対象ブロック設定処理を開始する。図４を参照して説明したように、Ｓ４０５内のＳ７１５における転送対象ブロック設定処理は、Ｓ４０１で転送中と判定された場合に実行される。処理自体は、図６を参照して説明したＳ４０４の転送対象ブロック設定処理と同様である。デジタルカメラ１０１は、転送対象ブロック設定処理が完了すると、本処理を終了する。
【００６６】
以上のように、転送対象データをブロックデータ毎に読み出して変換を行い、同一データの転送要求をしている複数の端末に並行して送信する。この処理により、端末毎にデータ変換処理を行う必要がなくなり、不要なデータ変換処理を削減することができる。また、変換済みブロックデータを、全転送対象端末への転送が完了した時点で速やかに破棄することで、複数のスマートデバイス１０２にデータ転送を並行して行う場合であっても、計算資源の消費を抑制することができる。
【００６７】
図８は、並行転送開始判定処理（Ｓ７０４）の詳細フローチャートである。前述のように、デジタルカメラ１０１がデータ転送処理を実行中にデータ転送要求を受信した（Ｓ７０３でＹＥＳ）ときに、本処理が開始されうる。
【００６８】
Ｓ８０１では、デジタルカメラ１０１は、データ転送要求で指定されたデータが、現在転送中の転送対象データと同一であるか否かの判定を行う。同一である場合（Ｓ８０１でＹＥＳ）はＳ８０２へ処理を進め、同一でない場合はＳ８０５へ処理を進める。
【００６９】
Ｓ８０２では、デジタルカメラ１０１は、転送対象端末にデータ転送要求の要求元のスマートデバイス１０２を追加する。
【００７０】
Ｓ８０３では、デジタルカメラ１０１は、データ転送要求の要求元のスマートデバイス１０２の転送開始ブロックとして転送対象ブロックを記憶する。
【００７１】
Ｓ８０４では、デジタルカメラ１０１は、転送受諾応答をデータ転送要求の要求元のスマートデバイス１０２に送信し、本処理を終了する。
【００７２】
Ｓ８０５では、デジタルカメラ１０１は、転送待機情報記憶処理を開始する。ここで、転送待機情報記憶処理は、転送対象データの転送が完了した後に、データ転送要求で指定されたデータを要求元スマートデバイス１０２へ転送開始するための情報を記憶する処理を指す。転送待機情報記憶処理の詳細については図９を参照して後述する。
【００７３】
Ｓ８０６では、デジタルカメラ１０１は、転送待機応答をデータ転送要求の要求元スマートデバイス１０２へ送信し、本処理を終了する。
【００７４】
ここで、転送待機応答は、データ転送要求に対して要求の受領を通知する信号であり、例えば、無線ＬＡＮ通信１０４によって送信されうる。また、転送待機応答は、ステータスコードが「１００  Ｃｏｎｔｉｎｕｅ」であるＨＴＴＰレスポンスでありうる。
【００７５】
このように、データ転送を待機させる場合にも暫定的な応答を送信することで、スマートデバイス１０２において要求が受け付けられたことを把握可能となり、不要なデータ転送要求の再送を抑制することができる。また、スマートデバイス１０２においてデータ転送が待機状態にあることをユーザに通知することができる。
【００７６】
尚、ここでは、転送を待機させるか否かの判定を、データ転送要求で指定されたデータが転送対象データと同一であるか否かにのみ基づいて判定するようにしたが、別の条件を用いて判定してもよい。例えば、データが同一であっても、転送対象データの転送対象端末数が上限に達している場合は転送を待機させると判定してもよい。ここで、転送対象端末数の上限に達しているか否かの判定は、スマートデバイス１０２と確立可能な通信セッション数が上限に達しているか否かにより行いうる。これにより、データ転送中の通信セッションにおけるスループット等への影響を抑制し、安定したデータ転送を行うことができる。
【００７７】
また、転送中のデータの累計転送時間が閾値以上である場合には、転送待機させると判断してもよい。これにより、転送対象データと同一のデータの転送を連続して要求された場合に、転送待機状態にあるスマートデバイス１０２へのデータ転送を適切なタイミングで開始することができる。
【００７８】
図９は、転送待機情報記憶処理（Ｓ８０５）の詳細フローチャートである。前述のように、少なくともデジタルカメラ１０１においてデータ転送要求を受信した際、即時に転送を開始しないと判定した（Ｓ８０１でＮＯ、または、Ｓ８０２でＮＯ）ときに、本処理が開始されうる。
【００７９】
Ｓ９０１では、デジタルカメラ１０１は、データ転送要求で指定されたデータが転送待機データリストに登録済みであるか否かの判定を行う。登録済みである場合（Ｓ９０１でＹＥＳ）はＳ９０４へ処理を進め、登録済みでない場合（Ｓ９０１でＮＯ）はＳ９０２へ処理を進める。
【００８０】
Ｓ９０２では、デジタルカメラ１０１は、転送待機データリストにデータ転送要求で指定されたデータを登録する。
【００８１】
Ｓ９０３では、デジタルカメラ１０１は、当該データの転送待機端末に、データ転送要求の要求元スマートデバイス１０２を登録し、本処理を終了する。一方、Ｓ９０４では、デジタルカメラ１０１は、転送待機データリストに登録済みの当該データの転送待機端末に、データ転送要求の要求元スマートデバイス１０２を追加し、本処理を終了する。
【００８２】
以上説明したとおり第１実施形態に係る通信装置（デジタルカメラ１０１）は、第１の外部装置（スマートデバイス１０２Ａ）からデータの転送要求を受信すると、当該データを複数のブロックに分割して転送する。そして、当該データを第１の外部装置に転送中に第２の外部装置（スマートデバイス１０２Ｂ）から同一のデータの転送要求を受信した場合、現在送信しているブロックに後続するブロックから、第１と第２の外部装置に並列的に送信する。これにより、通信装置は、不要なデータ変換処理を削減することが出来、計算資源の消費が抑制された効率的なデータ転送が可能となる。また、第２の外部装置においては、転送要求を送信してからデータの受信を開始するまでの待機時間が短くなるという利点もある。
【００８３】
＜具体的な処理例＞
通信システムで実行される処理の流れについて、いくつかの状況を想定してより具体的に説明する。
【００８４】
・処理例１
処理例１では、デジタルカメラ１０１が、スマートデバイス１０２Ａへのデータ転送を実行中に、スマートデバイス１０２Ｂからデータ転送要求を受信する形態について説明する。特に、スマートデバイス１０２Ｂから、スマートデバイス１０２Ａへ転送しているデータ（データＸ）と同一のデータの転送要求を受信する。
【００８５】
デジタルカメラ１０１は、データ転送要求の指定するデータがスマートデバイス１０２Ａに転送中のデータと同一であるため、転送対象ブロックのブロックデータからスマートデバイス１０２Ｂへ並行して転送を開始する。デジタルカメラ１０１は、スマートデバイス１０２Ａへの全ブロックデータの転送が完了すると、スマートデバイス１０２Ａへのデータ転送を終了し、スマートデバイス１０２Ｂへ未転送のデータブロックの転送を継続する。その後、デジタルカメラ１０１は、スマートデバイス１０２Ｂへの全ブロックデータの転送が完了すると、スマートデバイス１０２Ｂへのデータ転送を終了する。
【００８６】
尚、処理例１においては、デジタルカメラ１０１およびスマートデバイス１０２Ａ〜１０２Ｂの無線ＬＡＮ通信１０４の確立は完了しているものとし、ＨＴＴＰによるメッセージの送受信が可能な状態であるものとする。また、転送対象のデータＸ（圧縮撮像データ）はＭ個（Ｍは２以上）のブロックデータ（断片データ）に分割される。ここでは、５つの（Ｍ＝５）ブロックデータに分割され、先頭ブロックデータが「ブロック１」、最終ブロックデータが「ブロック５」であるものとして説明を行う。
【００８７】
図１０は、処理例１における動作の流れを示すシーケンス図である。
【００８８】
デジタルカメラ１０１は、ユーザがデータ転送モードを開始するための操作を行う（Ｍ１００１）。デジタルカメラ１０１は、この時点ではデータ転送中でないため（Ｓ４０１でＮＯ）、転送開始判定処理を開始する（Ｓ４０２）。スマートデバイス１０２Ａにおいて、ユーザがデータ転送モードを開始するための操作を行い（Ｍ１００２）、データＸの転送指示を行う（Ｍ１００３）。当該指示が行われると、スマートデバイス１０２Ａはデジタルカメラ１０１にデータ転送要求を送信する（Ｍ１００４）。
【００８９】
デジタルカメラ１０１は、この時点で転送待機データは存在しないため（Ｓ５０１でＮＯ）、データ転送要求を受信すると（Ｓ５０２でＹＥＳ）、転送対象データにデータＸをセットする（Ｍ１００５、Ｓ５０３）。デジタルカメラ１０１は、転送対象データをセットすると、転送対象端末にスマートデバイス１０２Ａをセットする（Ｍ１００６、Ｓ５０４）。デジタルカメラ１０１は、転送対象端末をセットすると、スマートデバイス１０２の転送開始ブロックとして先頭ブロック（すなわち「ブロック１」）を記憶する（Ｍ１００７、Ｓ５０７）。デジタルカメラ１０１は、転送開始ブロックを記憶すると、スマートデバイス１０２Ａに転送受諾応答を送信する（Ｍ１００８、Ｓ５０８）。
【００９０】
デジタルカメラ１０１は、転送受諾応答を送信すると、データ転送を開始すると判定し（Ｓ４０３でＹＥＳ）、ＵＩ表示を更新する（Ｍ１００９）。デジタルカメラ１０１は、ＵＩ表示を更新すると、転送対象ブロック設定処理を開始する（Ｓ４０４）。
【００９１】
図１２は、デジタルカメラにおけるＵＩ表示の例を示す図である。なお、図１２のＵＩ表示は、後述のＭ１０２７におけるＵＩ表示更新により表示されるものに相当する。Ｍ１０２７の時点では、２台のデバイス（スマートデバイス１０２Ａ及び１０２Ｂ）にデータＸを送信するため、２台のデバイスそれぞれについて、表示１２０１〜１２０３に示す情報を表示している。Ｍ１００９におけるＵＩ表示更新では、１台のデバイス（スマートデバイス１０２Ａ）にデータＸを送信するため、１台のデバイスについて、表示１２０１〜１２０３に示す情報が表示される。
【００９２】
表示１２０１は、接続先のスマートデバイスに関する情報であり、スマートデバイスのデバイス名やＩＰアドレスが表示されるが、これに限られない。例えば、スマートデバイスのＭＡＣアドレスやサービス名等が表示されうる。表示１２０２は、スマートデバイスとの切断を指示するボタンである。表示１２０３は、スマートデバイスとの連携状態に関する情報である。連携状態に関する情報は、転送中、転送待機中、転送完了等のデータ転送状況の情報であり、デジタルカメラ１０１とスマートデバイスとの間のメッセージの送受信に応じて転送の進捗や対象データの情報等を表示しうる。また、転送状況以外の情報が表示されてもよく、ユーザがデジタルカメラ１０１とスマートデバイスの連携状態を認識可能な任意の情報が表示しうる。
【００９３】
上述の表示１２０１〜１２０３を、接続中のスマートデバイス毎に表示することで、ユーザはデジタルカメラ１０１の接続先スマートデバイスや通信状況を容易に認識することができる。ここでは、スマートデバイス１０２ＡにデータＸを転送中であるため、データＸを転送中である旨をスマートデバイス１０２Ａに関する表示１２０３として表示する。
【００９４】
デジタルカメラ１０１は、転送対象ブロック設定処理を開始すると、この時点で転送対象ブロックは未セットの状態であるため（Ｓ６０１でＹＥＳ）、転送対象ブロックに先頭ブロックデータ（すなわち「ブロック１」）をセットする（Ｍ１０１０、Ｓ６０４）。デジタルカメラ１０１は、転送対象ブロックをセットすると、データ転送処理を開始する（Ｓ４０５）。デジタルカメラ１０１は、データ転送処理を開始すると、転送対象ブロック（すなわち「ブロック１」）のデータを記憶部２０６からＲＡＭ２０５に読み出す（Ｍ１０１１、Ｓ７０１）。
【００９５】
デジタルカメラ１０１は、転送対象ブロックのデータを読み出すと、データ変換処理を開始する（Ｍ１０１２、Ｓ７０２）。デジタルカメラ１０１は、データ変換処理を開始すると、この時点ではデータ転送要求を受信していないため（Ｓ７０３でＮＯ）、変換済みデータをＲＡＭ２０５上に確保された所定のメモリ領域に一時的に記憶する（Ｍ１０１３、Ｓ７０５）。デジタルカメラ１０１は、データ変換処理と変換済みデータのＲＡＭ２０５への一時的な記憶を繰り返す。転送対象ブロックの変換が完了すると（Ｍ１０１４、Ｓ７０６でＹＥＳ）、転送対象端末であるスマートデバイス１０２Ａに変換済みブロックデータの送信を開始する（Ｍ１０１５、Ｓ７０７）。
【００９６】
デジタルカメラ１０１は、データ送信が完了すると、変換済みブロックデータを破棄する（Ｍ１０１６、Ｓ７１１）。すなわち、この時点ではデータＸの全ブロックデータの転送が完了しておらず（Ｓ７０８でＮＯ）、転送対象端末はスマートデバイス１０２Ａのみであるためである。
【００９７】
デジタルカメラ１０１は、変換済みブロックデータを破棄すると、転送対象端末が存在するため（Ｓ７１２でＹＥＳ）、転送対象ブロック設定処理を開始する（Ｓ７１５）。デジタルカメラ１０１は、転送対象ブロック設定処理を開始すると、転送対象ブロックには最終ブロックデータではない「ブロック１」がセットされている。そのため（Ｓ６０１でＮＯ、Ｓ６０２でＮＯ）、転送対象ブロックに「ブロック２」をセットする（Ｍ１０１７、Ｓ６０３）。
【００９８】
デジタルカメラ１０１は、転送対象ブロックをセットすると、データ転送処理の終了指示はなく（Ｓ４０６でＮＯ）、データＸの転送中であるため（Ｓ４０１でＹＥＳ）、データ転送処理を再び開始する（Ｓ４０５）。Ｍ１０１８〜Ｍ１０２０は、Ｍ１０１１〜Ｍ１０１３と同様の処理であるため説明を省略する。
【００９９】
ここで、スマートデバイス１０２Ｂにおいて、データ転送モードを開始するための操作をユーザから受け付ける（Ｍ１０２１）。また、データＸの転送指示をユーザから受け付ける（Ｍ１０２２）。当該指示が行われると、スマートデバイス１０２Ｂはデジタルカメラ１０１にデータ転送要求を送信する（Ｍ１０２３）。
【０１００】
デジタルカメラ１０１は、データ転送要求を受信すると（Ｓ７０３でＹＥＳ）、並行転送開始判定処理を開始する（Ｓ７０４）。ここでは、転送中のデータとデータ転送要求で指定されたデータが同一であるため（Ｓ８０１でＹＥＳ）、転送対象端末にデータ転送要求の要求元であるスマートデバイス１０２Ｂを追加する（Ｍ１０２４、Ｓ８０２）。デジタルカメラ１０１は、転送対象端末を追加すると、データ転送要求の要求元であるスマートデバイス１０２Ｂの転送開始ブロックとして転送対象ブロックである「ブロック２」を記憶する（Ｍ１０２５、Ｓ８０３）。デジタルカメラ１０１は、転送開始ブロックを記憶すると、スマートデバイス１０２Ｂに転送受諾応答を送信する（Ｍ１０２６、Ｓ８０４）。デジタルカメラ１０１は、転送受諾応答を送信すると、ＵＩ表示を更新する（Ｍ１０２７）。ここでは、スマートデバイス１０２ＡへのデータＸの転送に加えてスマートデバイス１０２ＢへのデータＸの転送が開始されるため、スマートデバイス１０２Ｂに関する情報が追加表示される。
【０１０１】
その後、デジタルカメラ１０１は、転送対象ブロックの変換が完了する（Ｍ１０２８、Ｓ７０６でＹＥＳ）。そして、転送対象端末であるスマートデバイス１０２Ａおよび１０２Ｂの両方に変換済みブロックデータの送信を開始する（Ｍ１０２９、Ｍ１０３０、Ｓ７０７）。以降、デジタルカメラ１０１は、最終ブロック（すなわち「ブロック５」）の送信が完了するまで、Ｍ１０１６〜Ｍ１０２０およびＭ１０２８〜Ｍ１０３０と同様の処理を各ブロックについて行う。
【０１０２】
Ｍ１０３４の完了後、デジタルカメラ１０１は、スマートデバイス１０２ＡについてはデータＸを構成する全ブロックデータの転送が完了する（Ｓ７０８でＹＥＳ）。そのため、スマートデバイス１０２Ａにデータ転送終了通知を送信する（Ｍ１０３５、Ｓ７０９）。デジタルカメラ１０１は、データ転送終了通知を送信すると、ＵＩ表示を更新する（Ｍ１０３６）。ここでは、スマートデバイス１０２ＡへのデータＸの転送を完了したため、データＸの転送を完了した旨をスマートデバイス１０２Ａに関する情報１２０３として表示する。スマートデバイス１０２Ａは、データ転送終了通知を受信すると、データＸを保存する（Ｍ１０３７）。デジタルカメラ１０１は、ＵＩ表示を更新すると、データＸの転送対象端末からスマートデバイス１０２Ａを削除する（Ｍ１０３８、Ｓ７１０）。
【０１０３】
一方、Ｍ１０３４の完了後も、デジタルカメラ１０１は、スマートデバイス１０２ＢについてはデータＸを構成する全ブロックデータの転送が完了していない（Ｓ７０８でＮＯ）。そのため、スマートデバイス１０２Ｂにはデータ転送終了通知を送信せず、変換済みブロックデータをＲＡＭ２０５から破棄する（Ｍ１０３９、Ｓ７１１）。
【０１０４】
デジタルカメラ１０１は、変換済みブロックデータを破棄すると、転送対象端末にはスマートデバイス１０２Ｂがまだ存在しているため（Ｓ７１２でＹＥＳ）、転送対象ブロック設定処理を開始する（Ｓ７１５）。
【０１０５】
ここでは、転送対象ブロックに最終ブロックである「ブロック５」がセットされているため（Ｓ６０１でＮＯ、Ｓ６０２でＹＥＳ）、転送対象ブロックに先頭ブロックデータである「ブロック１」を再度セットする（Ｍ１０４０、Ｓ６０４）。Ｍ１０４１〜Ｍ１０４４は、Ｍ１０１１〜Ｍ１０１４と同様の処理であるため説明を省略する。
【０１０６】
デジタルカメラ１０１は、「ブロック１」の変換が完了すると、転送対象端末であるスマートデバイス１０２Ｂに変換済みブロックデータの送信を開始する（Ｍ１０４５、Ｓ７０７）。
【０１０７】
デジタルカメラ１０１は、変換済みブロックデータの送信が完了すると、スマートデバイス１０２ＢについてもデータＸを構成する全ブロックデータの転送が完了する（Ｓ７０８でＹＥＳ）。そのため、スマートデバイス１０２Ｂにデータ転送終了通知を送信する（Ｍ１０４６、Ｓ７０９）。デジタルカメラ１０１は、データ転送終了通知を送信すると、ＵＩ表示を更新する（Ｍ１０４７）。ここでは、スマートデバイス１０２ＢへのデータＸの転送を完了したため、データＸの転送を完了した旨をスマートデバイス１０２Ｂに関する情報１２０３として表示する。スマートデバイス１０２Ｂは、データ転送終了通知を受信すると、データＸを保存する（Ｍ１０４８）。
【０１０８】
一方、デジタルカメラ１０１は、ＵＩ表示を更新すると、データＸの転送対象端末からスマートデバイス１０２Ｂを削除する（Ｍ１０４９、Ｓ７１０）。デジタルカメラ１０１は、転送対象端末を削除すると、変換済みブロックデータをＲＡＭ２０５から破棄する（Ｍ１０５０、Ｓ７１１）。デジタルカメラ１０１は、変換済みブロックデータを破棄すると、この時点で転送対象端末が存在しない。すなわち、全転送対象端末へのデータ転送が完了しているため（Ｓ７１２でＮＯ）、転送対象データおよび転送対象ブロックをクリアする（Ｍ１０５１、Ｍ１０５２、Ｓ７１３、Ｓ７１４）。
【０１０９】
以上のように、処理例１では、デジタルカメラ１０１は、転送要求で指定されたデータが転送中のデータと同一である場合に、その時点で転送対象となっているブロックデータから並行して転送を開始する。これにより、デジタルカメラ１０１がデータ転送中であっても、スマートデバイス１０２はデータ受信を即時に開始することが可能となり、転送完了までの時間も短縮することができる。また、デジタルカメラ１０１において、複数のスマートデバイス１０２へ同一のデータを並行して送信することにより、不要なデータ変換処理を削減することが出来、計算資源の消費を抑制することができる。
【０１１０】
・処理例２
処理例２では、デジタルカメラ１０１が、スマートデバイス１０２Ａへのデータ転送中にスマートデバイス１０２Ｂからデータ転送要求を受信する。特に、スマートデバイス１０２Ｂから、スマートデバイス１０２ＡへのデータＸと異なるデータＹの転送要求を受信する。
【０１１１】
デジタルカメラ１０１は、データ転送要求の指定するデータがスマートデバイス１０２Ａに転送中のデータと異なるため、スマートデバイス１０２Ｂへの転送を開始せず、転送待機データとして登録する。デジタルカメラ１０１は、スマートデバイス１０２Ａへの全ブロックデータの転送が完了すると、スマートデバイス１０２Ａへのデータ転送を終了し、スマートデバイス１０２Ｂへのデータ転送を開始する。
【０１１２】
尚、処理例２においては、デジタルカメラ１０１およびスマートデバイス１０２Ａ〜１０２Ｂの無線ＬＡＮ通信１０４の確立は完了しているものとし、ＨＴＴＰによるメッセージの送受信が可能な状態であるものとする。また、転送対象のデータ（データＸ、データＹ）は双方とも５つのブロックデータに分割され、先頭ブロックデータが「ブロック１」、最終ブロックデータが「ブロック５」であるものとして説明を行う。
【０１１３】
図１１は、処理例２における動作の流れを示すシーケンス図である。なお、Ｍ１１０１〜Ｍ１１２０は、Ｍ１００１〜Ｍ１０２０と同様の処理であるため説明を省略する。
【０１１４】
スマートデバイス１０２Ｂは、データ転送モードを開始するための操作をユーザから受け付ける（Ｍ１１２１）。また、デジタルカメラ１０１に対してスマートデバイス１０２Ａへ転送中のデータとは異なるデータＹの転送指示をユーザから受け付ける（Ｍ１１２２）。当該指示が行われると、スマートデバイス１０２Ｂはデジタルカメラ１０１にデータ転送要求を送信する（Ｍ１１２３）。
【０１１５】
デジタルカメラ１０１は、データ転送要求を受信すると（Ｓ７０３でＹＥＳ）、並行転送開始判定処理を開始する（Ｓ７０４）。デジタルカメラ１０１は、並行転送開始判定処理を開始すると、転送中のデータとデータ転送要求で指定されたデータが異なるため（Ｓ８０１でＮＯ）、転送待機情報記憶処理を開始する（Ｓ８０５）。デジタルカメラ１０１は、転送待機情報記憶処理を開始すると、データ転送要求で指定されたデータＹが転送待機データとして未登録であるため（Ｓ９０１でＮＯ）、転送待機データにデータＹを新規登録する（Ｍ１１２４、Ｓ９０２）。
【０１１６】
デジタルカメラ１０１は、転送待機データを登録すると、データＹの転送待機端末としてスマートデバイス１０２Ｂを登録する（Ｍ１１２５、Ｓ９０３）。デジタルカメラ１０１は、転送待機端末を登録すると、スマートデバイス１０２Ｂに転送待機応答を送信する（Ｍ１１２６、Ｓ８０６）。すなわち、スマートデバイス１０２ＡへのデータＸの転送完了（Ｍ１１３３）に先立ってスマートデバイス１０２Ｂに転送待機応答を送信する。デジタルカメラ１０１は、転送待機応答を送信すると、ＵＩ表示を更新する（Ｍ１１２７）。ここでは、スマートデバイス１０２ＢへのデータＹの転送を待機するため、データＹの転送を待機している旨をスマートデバイス１０２Ｂに関する表示１２０３として表示する。
【０１１７】
その後、デジタルカメラ１０１は、転送対象ブロックの変換が完了すると（Ｍ１１２８、Ｓ７０６でＹＥＳ）、転送対象端末であるスマートデバイス１０２Ａにのみ変換済みブロックデータの送信を開始する（Ｍ１１２９、Ｓ７０７）。デジタルカメラ１０１は、データ送信が完了すると、この時点ではスマートデバイス１０２ＡにデータＸの全ブロックデータの転送が完了していないため（Ｓ７０８でＮＯ）、変換済みブロックデータをＲＡＭ２０５から破棄する（Ｍ１１３０、Ｓ７１１）。デジタルカメラ１０１は、変換済みブロックデータを破棄すると、転送対象端末が存在するため（Ｓ７１２でＹＥＳ）、転送対象ブロック設定処理を開始する（Ｓ７１５）。以降、デジタルカメラ１０１は、最終ブロック（すなわち「ブロック５」）の送信が完了するまで、Ｍ１１１６〜Ｍ１１２０およびＭ１１２８〜Ｍ１１２９と同様の処理を各ブロックについて行う。
【０１１８】
Ｍ１１３２の完了後、デジタルカメラ１０１は、スマートデバイス１０２ＡへのデータＸを構成する全ブロックデータの転送が完了する（Ｓ７０８でＹＥＳ）。そのため、スマートデバイス１０２Ａにデータ転送終了通知を送信する（Ｍ１１３３、Ｓ７０９）。デジタルカメラ１０１は、データ転送終了通知を送信すると、ＵＩ表示を更新する（Ｍ１１３４）。ここでは、スマートデバイス１０２ＡへのデータＸの転送を完了したため、データＸの転送を完了した旨をスマートデバイス１０２Ａに関する表示１２０３として表示する。また、スマートデバイス１０２ＢへデータＹの転送を開始するため、データＹの転送を開始した旨をスマートデバイス１０２Ｂに関する表示１２０３として表示する。スマートデバイス１０２Ａは、データ転送終了通知を受信すると、データＸを保存する（Ｍ１１３５）。
【０１１９】
デジタルカメラ１０１は、ＵＩ表示を更新すると、データＸの転送対象端末からスマートデバイス１０２Ａを削除する（Ｍ１１３６、Ｓ７１０）。Ｍ１１３７〜Ｍ１１３９は、Ｍ１０５０〜Ｍ１０５２と同様の処理であるため、説明を省略する。その後、デジタルカメラ１０１は、この時点ではデータ転送中でないため（Ｓ４０１でＮＯ）、転送開始判定処理を開始する（Ｓ４０２）。
【０１２０】
デジタルカメラ１０１は、転送開始判定処理を開始すると、転送待機データが存在するため（Ｓ５０１でＹＥＳ）、転送対象データに転送待機データリストの先頭に登録されているデータ（すなわち、データＹ）をセットする（Ｍ１１４０、Ｓ５０５）。デジタルカメラ１０１は、転送対象データをセットすると、転送対象端末に転送待機端末として登録されている端末、すなわち、スマートデバイス１０２Ｂをセットする（Ｍ１１４１、Ｓ５０６）。
【０１２１】
デジタルカメラ１０１は、転送対象端末をセットすると、スマートデバイス１０２Ｂの転送開始ブロックとして先頭ブロックデータ（すなわち「ブロック１」）を記憶する（Ｍ１１４２、Ｓ５０７）。デジタルカメラ１０１は、転送開始ブロックを記憶すると、スマートデバイス１０２Ｂに転送受諾応答を送信する（Ｍ１１４３、Ｓ５０８）。デジタルカメラ１０１は、転送受諾応答を送信すると、ＵＩ表示を更新する（Ｍ１１４４）。ここでは、スマートデバイス１０２ＢへのデータＹの転送を完了したため、データＹの転送を完了した旨をスマートデバイス１０２Ｂに関する表示１２０３として表示する。以降、Ｍ１１４５〜Ｍ１１６３は、Ｍ１１１０〜Ｍ１１２０およびＭ１１２８〜Ｍ１１３９と同様の処理を行い、スマートデバイス１０２ＢへデータＹの転送を実行する。
【０１２２】
以上のように、処理例２では、デジタルカメラ１０１は、転送要求で指定されたデータが転送中のデータと異なる場合に、転送待機応答を暫定的に送信する。すなわち、その時点では転送を開始せず転送待機データリストに当該データと要求元のスマートデバイス１０２を登録する。転送待機応答を暫定的に送信することにより、スマートデバイス１０２Ｂは、データ転送要求が受け付けられたことを把握でき、不要なデータ転送要求の再送を抑制することができる。また、データ転送が待機状態にあることをユーザに通知することができる。
【０１２３】
・上述の処理例の変形例
各処理例において、デジタルカメラ１０１は、ブロックデータの変換を変換済みブロックデータの送信が完了したことを契機に開始するようにしたが、これに限られない。例えば、ブロックデータの変換が完了したことを契機に変換済みブロックデータの送信と並行して次のブロックデータの変換を開始しうる。これにより、スマートデバイス１０２における待機時間をさらに抑制することができる。また、デジタルカメラ１０１においてデータ送信はブロックデータの変換が完了したことを契機に開始するようにしたが、これに限られない。例えば、変換済みブロックデータの送信が完了したことを契機に、変換が完了しているブロックデータの一部の送信を開始しうる。これにより、スマートデバイス１０２は、送信処理が変換処理よりも早く終了した場合に、ブロックデータの変換処理の完了を待機することなく、データの受信を継続することができる。
【０１２４】
各処理例において、デジタルカメラ１０１は、Ｎ番目（１≦Ｎ≦Ｍ）の変換済みブロックデータをＲＡＭ２０５の所定のメモリ領域に格納した。そして、Ｎ番目の変換済みブロックデータの並行送信が完了後に、Ｎ番目の変換済みブロックデータを即時に破棄するよう説明した。また、Ｎ番目の変換済みブロックデータを破棄した後に、Ｎ＋１番目の変換済みブロックデータを生成するよう説明した。ただし、例えば、ＲＡＭ２０５が複数のブロックデータを保持可能である場合は可能な限り保持し、ＲＡＭ２０５の容量が逼迫した時点で最も古いデータから破棄しうる。これにより、デジタルカメラ１０１において、他のスマートデバイス１０２からデータ転送開始要求を受信した際に、ＲＡＭ２０５に保持されている複数の変換済みブロックデータを順次転送することが可能となり、不要な変換処理をさらに抑制することができる。
【０１２５】
各処理例において、デジタルカメラ１０１は、データ送信を「Ｔｒａｎｓｆｅｒ−Ｅｎｃｏｄｉｎｇ」を「ｃｈｕｎｋｅｄ」としたデータ転送開始要求に対するＨＴＴＰレスポンスにより送信するようにしたが、これに限られない。例えば、スマートデバイス１０２から送信される各ブロックデータのデータ転送要求であるＨＴＴＰリクエストに対するＨＴＴＰレスポンスとしてデータを送信しうる。この場合、転送許諾応答やデータ転送終了通知についても、「Ｔｒａｎｓｆｅｒ−Ｅｎｃｏｄｉｎｇ」が「ｃｈｕｎｋｅｄ」でないＨＴＴＰレスポンスを送信しうる。
【０１２６】
各処理例において、デジタルカメラ１０１がＨＴＴＰサーバ、スマートデバイス１０２がＨＴＴＰクライアントとしてメッセージの送受信を行うようにした。しかし、スマートデバイス１０２がＨＴＴＰサーバ、デジタルカメラ１０１がＨＴＴＰクライアントであってもよい。この場合、デジタルカメラ１０１から送信されるリクエストに対してスマートデバイス１０２がレスポンスを送信することにより、各メッセージを送受信しうる。また、メッセージの送受信はＨＴＴＰ以外のプロトコルが用いられてもよく、これに限られない。例えば、ＴＣＰ（Transmission Control Protocol）ベースのプロトコルであるＰＴＰ（Picture Transfer Protocol）やＦＴＰ（File Transfer Protocol）等でありうる。また、ＵＤＰ（User Datagram Protocol）ベースのプロトコルであってもよい。
【０１２７】
各処理例において、デジタルカメラ１０１は、転送対象データを記憶部２０６からＲＡＭ２０５にブロックデータ毎に読み出して変換を行い、送信するようにしたが、これに限られない。例えば、転送対象データの全データに対して変換処理を行い、記憶部２０６に記憶した後に、当該変換済みデータを記憶部２０６からＲＡＭ２０５にブロックデータ毎に読み出して送信しうる。この場合、デジタルカメラ１０１は、全転送対象端末へのデータ送信が完了したことを契機に記憶部２０６に記憶された変換済みデータを削除しうるが、これに限られない。例えば、全スマートデバイス１０２との無線ＬＡＮ通信１０４の切断検知や電源ＯＦＦ、データ転送完了から一定期間が経過したこと等を契機に削除されうる。このように、変換済みデータの削除を適切なタイミングで行うことで、データ転送完了後に当該データの転送を要求された場合にも、記憶部２０６から変換済みデータを読み込み可能であり、不要な変換処理を抑制することができる。
【０１２８】
（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【０１２９】
１０１  デジタルカメラ；  １０２  スマートデバイス；  １０３  無線ＬＡＮネットワーク
【図１】
2020009022.tif 000003
【図２】
2020009022.tif 000004
【図３】
2020009022.tif 000005
【図４】
2020009022.tif 000006
【図５】
2020009022.tif 000007
【図６】
2020009022.tif 000008
【図７】
2020009022.tif 000009
【図８】
2020009022.tif 000010
【図９】
2020009022.tif 000011
【図１０Ａ】
2020009022.tif 000012
【図１０Ｂ】
2020009022.tif 000013
【図１１Ａ】
2020009022.tif 000014
【図１１Ｂ】
2020009022.tif 000015
【図１２】
2020009022.tif 000016