(57)【要約】      （修正有）【課題】クライアントサーバ型のプロトコルにおいて、サーバ側でユーザが選択した画像をクライアントに送信する。【解決手段】クライアントからの要求に応じて画像を送信する画像供給装置であって、画像を記憶する記憶部と、リクエスト／レスポンス型の通信プロトコルを用いて通信を行う通信部と、通信部を介して受信したクライアントからの要求の種類に応じた処理を行い応答を返す処理部とを有する。処理部は、所定の要求を受信したとき、記憶部に記憶されている画像の一覧を、該装置ユーザが選択可能なユーザインターフェースとして表示する表示部と、ユーザが画像を選択した場合、クライアントが選択した画像の送信要求を行えるようにするため、選択した画像を特定する情報を生成する生成部と、ユーザインターフェースを介してユーザから送信の開始の指示があった場合、生成した情報を所定の要求に対する応答としてクライアントに送信する送信部とを含む。【選択図】図６
2018191134.tif 000002
【特許請求の範囲】
【請求項１】
クライアントからの要求に応じて画像を送信する画像供給装置であって、
画像を記憶する記憶手段と、
リクエスト／レスポンス型の通信プロトコルを用いて通信を行う通信手段と、
前記通信手段を介して受信したクライアントからの要求の種類に応じた処理を行い、前記通信手段を介して応答を返す処理手段とを有し、
前記処理手段は、
所定の要求を受信した場合、前記所定の要求に対する応答を送信する前に、前記記憶手段に記憶されている画像の一覧を、ユーザが選択可能なユーザインターフェースとして表示する表示手段と、
前記ユーザインターフェースを介してユーザが画像を選択した場合、前記クライアントが前記選択した画像の送信要求を行えるようにするため、前記選択した画像を特定する情報を生成する生成手段と、
前記ユーザインターフェースを介してユーザから送信の開始の指示があった場合、生成した情報を前記所定の要求に対する応答として前記クライアントに送信する送信手段とを含む
ことを特徴とする画像供給装置。
【請求項２】
撮像手段を更に有し、
前記記憶手段は前記撮像手段で撮像した画像を記憶することを特徴とする請求項１に記載の画像供給装置。
【請求項３】
前記処理手段は、
前記クライアントから画像のリストの要求を受信した場合、前記クライアントにて送信対象の画像を選択可能とするために、前記記憶手段に記憶されている各画像を特定する情報を前記画像のリストの要求の応答として送信する第２の送信手段を含む
ことを特徴とする請求項１又は２に記載の画像供給装置。
【請求項４】
前記処理手段は、
前記所定の要求を受信して表示された前記ユーザインターフェースによる画像選択中に、前記クライアントから前記画像のリストの要求を受信した場合、前記所定の要求についてキャンセルしたこと示す情報を前記所定の要求に対応する応答として送信して、前記第２の送信手段を実行し、且つ、前記ユーザインターフェースを操作不可状態に遷移させる手段を含む
ことを特徴とする請求項３に記載の画像供給装置。
【請求項５】
サーバとして機能する画像供給装置と通信し、前記画像供給装置から画像を取得する情報処理装置であって、
リクエスト／レスポンス型の通信プロトコルを用いて通信を行う通信手段と、
前記通信手段による前記画像供給装置との通信が開始されたことに応じて、前記画像供給装置にて送信対象の画像を選択を行うための所定の要求を前記通信手段を介して送信すると共に、ユーザによる選択可能な項目を含むメニューを表示する処理手段と、
該処理手段により表示された前記メニューに項目に対するユーザからの選択がないまま前記所定の要求に対する応答を前記画像供給装置から受信した場合、当該応答に含まれる画像を特定する情報を用いて前記通信手段を介して前記画像供給装置に画像の要求と当該画像の受信処理を行うことで、前記画像供給装置にてユーザが選択した画像を取得する第１の取得手段と、
前記所定の要求に対しての前記画像供給装置からの応答がないまま、前記処理手段で表示されたメニューの中の所定の項目が選択された場合、
前記画像供給装置が有する画像の一覧を表す情報の要求及び受信を行い、
当該情報に基づき各画像のサムネイルを要求及び受信を行い、
各サムネイルに対しユーザが選択可能とするためのユーザインターフェースを表示し、
前記ユーザインターフェースを介して受信の開始が指示された場合、選択されたサムネイルに対応する画像の送信要求及び受信を行うことで、ユーザが選択した画像を取得する第２の取得手段と
を有することを特徴とする情報処理装置。
【請求項６】
画像を記憶する記憶手段、リクエスト／レスポンス型の通信プロトコルを用いて通信を行う通信手段を有し、クライアントからの要求に応じて画像を送信する画像供給装置の制御方法であって、
前記通信手段を介して受信したクライアントからの要求の種類に応じた処理を行い、前記通信手段を介して応答を返す処理工程とを有し、
前記処理工程は、
所定の要求を受信した場合、前記所定の要求に対する応答を送信する前に、前記記憶手段に記憶されている画像の一覧を、ユーザが選択可能なユーザインターフェースとして表示する表示工程と、
前記ユーザインターフェースを介してユーザが画像を選択した場合、前記クライアントが前記選択した画像の送信要求を行えるようにするため、前記選択した画像を特定する情報を生成する生成工程と、
前記ユーザインターフェースを介してユーザから送信の開始の指示があった場合、生成した情報を前記所定の要求に対する応答として前記クライアントに送信する送信工程とを含む
ことを特徴とする画像供給装置の制御方法。
【請求項７】
リクエスト／レスポンス型の通信プロトコルを用いて通信を行う通信手段を有し、サーバとして機能する画像供給装置と通信し、前記画像供給装置から画像を取得する情報処理装置の制御方法であって、
前記通信手段による前記画像供給装置との通信が開始されたことに応じて、前記画像供給装置にて送信対象の画像を選択を行うための所定の要求を前記通信手段を介して送信すると共に、ユーザによる選択可能な項目を含むメニューを表示する処理工程と、
該処理工程により表示された前記メニューに項目に対するユーザからの選択がないまま前記所定の要求に対する応答を前記画像供給装置から受信した場合、当該応答に含まれる画像を特定する情報を用いて前記通信手段を介して前記画像供給装置に画像の要求と当該画像の受信処理を行うことで、前記画像供給装置にてユーザが選択した画像を取得する第１の取得工程と、
前記所定の要求に対しての前記画像供給装置からの応答がないまま、前記処理工程で表示されたメニューの中の所定の項目が選択された場合、
前記画像供給装置が有する画像の一覧を表す情報の要求及び受信を行い、
当該情報に基づき各画像のサムネイルを要求及び受信を行い、
各サムネイルに対しユーザが選択可能とするためのユーザインターフェースを表示し、
前記ユーザインターフェースを介して受信の開始が指示された場合、選択されたサムネイルに対応する画像の送信要求及び受信を行うことで、ユーザが選択した画像を取得する第２の取得工程と
を有することを特徴とする情報処理装置の制御方法。
【請求項８】
画像を記憶する記憶手段、リクエスト／レスポンス型の通信プロトコルを用いて通信を行う通信手段を有し、クライアントからの要求に応じて画像を送信する画像供給装置におけるプロセッサに、請求項６に記載の制御方法の各工程を実行させるためのプログラム。
【請求項９】
リクエスト／レスポンス型の通信プロトコルを用いて通信を行う通信手段を有し、サーバとして機能する画像供給装置と通信し、前記画像供給装置から画像を取得する情報処理装置におけるプロセッサに、請求項７に記載の制御方法の各工程を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像供給装置及び情報処理装置及びそれらの制御方法とプログラムに関するものである。
【背景技術】
【０００２】
近年、デジタルカメラと携帯電話とが無線で接続し、デジタルカメラの機能を携帯電話から利用することが行われている。例えば特許文献１には、デジタルカメラと携帯電話とが無線ＬＡＮを介して接続し、携帯電話を操作することでデジタルカメラに記録されている画像をリモートで閲覧するシステムが開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−１６２３０３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、ＨＴＴＰ（Ｈｙｐｅｒｔｅｘｔ Ｔｒａｎｓｆｅｒ Ｐｒｏｔｏｃｏｌ）のようなクライアントサーバ型のシステムを実現する通信プロトコルを用いた場合、サーバ機器で選択した画像をクライアント機器に送信することができない。
【０００５】
本発明は、クライアントサーバ型のシステムを実現する通信プロトコルにおいて、サーバ機器で選択した画像をクライアント機器に送信する技術を提供しようとするものである。
【課題を解決するための手段】
【０００６】
この課題を解決するため、例えば本発明の画像供給装置は以下の構成を備える。すなわち、
クライアントからの要求に応じて画像を送信する画像供給装置であって、
画像を記憶する記憶手段と、
リクエスト／レスポンス型の通信プロトコルを用いて通信を行う通信手段と、
前記通信手段を介して受信したクライアントからの要求の種類に応じた処理を行い、前記通信手段を介して応答を返す処理手段とを有し、
前記処理手段は、
所定の要求を受信したとき、前記記憶手段に記憶されている画像の一覧を、ユーザが選択可能なユーザインターフェースとして表示する表示手段と、
前記ユーザインターフェースを介してユーザが画像を選択した場合、前記クライアントが前記選択した画像の送信要求を行えるようにするため、前記選択した画像を特定する情報を生成する生成手段と、
前記ユーザインターフェースを介してユーザから送信の開始の指示があった場合、生成した情報を前記所定の要求に対する応答として前記クライアントに送信する送信手段とを含むことを特徴とする。
【発明の効果】
【０００７】
本発明によれば、クライアントサーバ型のプロトコルにおいて、サーバ側にてユーザが選択した画像をクライアントに送信することが可能になる。
【図面の簡単な説明】
【０００８】
【図１】第１の実施形態におけるデジタルカメラの構成を示すブロック図。
【図２】第１の実施形態におけるスマートデバイスの構成を示すブロック図。
【図３】送信モードがプル送信とプッシュ送信の場合の各装置の表示例を示す図。
【図４】第１の実施形態におけるシステムのシーケンス図。
【図５】第１の実施形態におけるスマートデバイスとデジタルカメラのＵＩ図。
【図６】第１の実施形態におけるデジタルカメラの処理を示すフローチャート。
【図７】第１の実施形態におけるスマートデバイスの処理を示すフローチャート。
【図８】第２の実施形態におけるシステムのシーケンス図。
【図９】第２の実施形態におけるスマートデバイスとデジタルカメラのＵＩ図。
【図１０】第２の実施形態におけるデジタルカメラの処理を示すフローチャート。
【図１１】第２の実施形態におけるスマートデバイスの処理を示すフローチャート。
【発明を実施するための形態】
【０００９】
以下に、本発明を実施するための形態について、添付の図面を用いて詳細に説明する。なお、以下に説明する実施の形態は、本発明の実現手段としての一例であり、本発明が適用される装置の構成や各種条件によって適宜修正又は変更されてもよい。また、各実施の形態を適宜組み合せることも可能である。
【００１０】
［第１の実施形態］
＜デジタルカメラ１００の内部構成＞
図１は、本実施形態のサーバ側の画像供給装置として機能するデジタルカメラ１００の構成例を示すブロック図である。なお、ここでは画像供給装置の一例としてデジタルカメラについて述べるが、これに限られない。例えば携帯型のメディアプレーヤや、いわゆるタブレットデバイス、パーソナルコンピュータなどの通信装置であっても構わない。
【００１１】
制御部１０１はプロセッサ（ＣＰＵ）を含み、入力された信号や、後述のプログラムに従ってデジタルカメラ１００の各部を制御する。なお、制御部１０１が装置全体を制御する代わりに、複数のハードウェアが処理を分担することで、装置全体を制御してもよい。
【００１２】
撮像部１０２は、例えば、光学レンズユニットと絞り・ズーム・フォーカスなど制御する光学系と、光学レンズユニットを経て導入された光（映像）を電気的な映像信号に変換するための撮像素子などで構成される。撮像素子としては、一般的には、ＣＭＯＳ（Ｃｏｍｐｌｅｍｅｎｔａｒｙ  Ｍｅｔａｌ  Ｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ）や、ＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ）が利用される。撮像部１０２は、制御部１０１に制御されることにより、撮像部１０２に含まれるレンズで結像された被写体光を、撮像素子により電気信号に変換し、ノイズ低減処理などを行いデジタルデータを画像データとして出力する。本実施形態のデジタルカメラ１００では、画像データは、ＤＣＦ（Ｄｅｓｉｇｎ  Ｒｕｌｅ  ｆｏｒ  Ｃａｍｅｒａ  Ｆｉｌｅ  ｓｙｓｔｅｍ）の規格に従って、記録媒体１１０に記録される。
【００１３】
不揮発性メモリ１０３は、電気的に消去・記録可能な不揮発性のメモリであり、制御部１０１で実行される後述のプログラム等が格納される。作業用メモリ１０４は、撮像部１０２で撮像された画像データを一時的に保持するバッファメモリや、表示部１０６の画像表示用メモリ、制御部１０１の作業領域等として使用される。
【００１４】
操作部１０５は、ユーザがデジタルカメラ１００に対する指示をユーザから受け付けるために用いられる。操作部１０５は例えば、ユーザがデジタルカメラ１００の電源のＯＮ／ＯＦＦを指示するための電源ボタンや、撮影を指示するためのレリーズスイッチ、画像データの再生を指示するための再生ボタンを含む。さらに、後述の接続部１１１を介して外部機器との通信を開始するための専用の接続ボタンなどの操作部材を含む。また、後述する表示部１０６に形成されるタッチパネルも操作部１０５に含まれる。なお、レリーズスイッチは、ＳＷ１およびＳＷ２を有する。レリーズスイッチが、いわゆる半押し状態となることにより、ＳＷ１がＯＮとなる。これにより、ＡＦ（オートフォーカス）処理、ＡＥ（自動露出）処理、ＡＷＢ（オートホワイトバランス）処理、ＥＦ（フラッシュプリ発光）処理等の撮影準備を行うための指示を受け付ける。また、レリーズスイッチが、いわゆる全押し状態となることにより、ＳＷ２がＯＮとなる。これにより、撮影を行うための指示を受け付ける。
【００１５】
表示部１０６は、撮影の際のビューファインダー画像の表示、撮影した画像データの表示、対話的な操作のための文字表示などを行う。なお、表示部１０６は必ずしもデジタルカメラ１００に内蔵する必要はない。デジタルカメラ１００は内部又は外部の表示部１０６と接続することができ、表示部１０６の表示を制御する表示制御機能を少なくとも有していればよい。
【００１６】
記録媒体１１０は、撮像部１０２から出力された画像データを記録することができる。記録媒体１１０は、デジタルカメラ１００に着脱可能なよう構成してもよいし、デジタルカメラ１００に内蔵されていてもよい。すなわち、デジタルカメラ１００は少なくとも記録媒体１１０にアクセスする手段を有していればよい。
【００１７】
接続部１１１は、外部装置と接続するためのインターフェースである。本実施形態のデジタルカメラ１００は、接続部１１１を介して、外部装置とデータのやりとりを行うことができる。例えば、撮像部１０２で生成した画像データを、接続部１１１を介して外部装置に送信することができる。なお、本実施形態では、接続部１１１は外部装置とＩＥＥＥ８０２．１１の規格に従った、いわゆる無線ＬＡＮで通信するためのインターフェースを含む。制御部１０１は、接続部１１１を制御することで外部装置との無線通信を実現する。なお、通信方式は無線ＬＡＮに限定されるものではなく、例えば赤外通信方式も含む。接続部１１１は第１の無線通信手段の一例である。
【００１８】
近距離無線通信部１１２は、例えば無線通信のためのアンテナと無線信号を処理するため変復調回路や通信コントローラから構成される。近距離無線通信部１１２は、変調した無線信号をアンテナから出力し、またアンテナで受信した無線信号を復調することによりＩＥＥＥ８０２．１５の規格（いわゆるＢｌｕｅｔｏｏｔｈ（登録商標））に従った近距離無線通信を実現する。本実施形態においてＢｌｕｅｔｏｏｔｈ（登録商標）通信は、低消費電力であるＢｌｕｅｔｏｏｔｈ（登録商標）  Ｌｏｗ  Ｅｎｅｒｇｙのバージョン４．０を採用する。このＢｌｕｅｔｏｏｔｈ（登録商標）通信は、無線ＬＡＮ通信と比べて通信可能な範囲が狭い（つまり、通信可能な距離が短い）。また、Ｂｌｕｅｔｏｏｔｈ（登録商標）通信は、無線ＬＡＮ通信と比べて通信速度が遅い。その一方で、Ｂｌｕｅｔｏｏｔｈ（登録商標）通信は、無線ＬＡＮ通信と比べて消費電力が少ない。本実施形態のデジタルカメラ１００は、近距離無線通信部１１２を介して、外部装置とデータのやりとりを行うことができる。例えば外部装置から撮影の命令を受信した場合は撮像部１０２を制御し、撮影動作を行い、無線ＬＡＮ通信によるデータの授受を行うための命令を受信した場合は接続部１１１を制御し、無線ＬＡＮ通信を開始する。
【００１９】
近接無線通信部１１３は、例えば無線通信のためのアンテナと無線信号を処理するため変復調回路や通信コントローラから構成される。近接無線通信部１１３は、変調した無線信号をアンテナから出力し、またアンテナで受信した無線信号を復調することでＩＳＯ／ＩＥＣ  １８０９２の規格（いわゆるＮＦＣ：Ｎｅａｒ  Ｆｉｅｌｄ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ）に従った非接触近接通信を実現する。本実施形態の近接無線通信部１１３は、デジタルカメラ１００の側部に配される。
【００２０】
スマートデバイス２００とは、互いの近接無線通信部を近接させることにより通信を開始して接続される。なお、近接無線通信部を用いて接続させる場合、必ずしも近接無線通信部同士を接触させる必要はない。近接無線通信部は一定の距離だけ離れていても通信することができるため、互いの機器を接続するためには、近接無線通信可能な範囲まで近づければよい。以下の説明では、この近接無線通信可能な範囲まで近づけることを、近接させる、とも記載する。
【００２１】
また、互いの近接無線通信部が近接無線通信不可能な範囲にあれば、通信は開始されない。また、互いの近接無線通信部が近接無線通信可能な範囲にあって、デジタルカメラ１００同士が通信接続されている際に、互いの近接無線通信部１１３が近接無線通信不可能な範囲に離れてしまった場合は、通信接続が解除される。なお、近接無線通信部１１３が実現する非接触近接通信はＮＦＣに限られるものではなく、他の無線通信を採用してもよい。例えば、近接無線通信部１１３が実現する非接触近接通信として、ＩＳＯ／ＩＥＣ  １４４４３の規格に従った非接触近接通信を採用してもよい。
【００２２】
本実施形態では、接続部１１１により実現される通信の通信速度は、後述の近接無線通信部１１３により実現される通信の通信速度よりも速い。また、接続部１１１により実現される通信は、近接無線通信部１１３による通信よりも、通信可能な範囲が広い。その代わり、近接無線通信部１１３による通信では、通信可能な範囲の狭さにより通信相手を限定することができるため、接続部１１１により実現される通信で必要な暗号鍵の交換等の処理を必要としない。すなわち、接続部１１１を用いるよりも手軽に通信することができる。
【００２３】
なお、本実施形態におけるデジタルカメラ１００の接続部１１１は、インフラストラクチャモードにおけるアクセスポイントとして動作するＡＰモードと、インフラストラクチャモードにおけるクライアントとして動作するＣＬモードとを有している。そして、接続部１１１をＣＬモードで動作させることにより、本実施形態におけるデジタルカメラ１００は、インフラストラクチャモードにおけるＣＬ機器として動作することが可能である。デジタルカメラ１００がＣＬ機器として動作する場合、周辺のＡＰ機器に接続することで、ＡＰ機器が形成するネットワークに参加することが可能である。また、接続部１１１をＡＰモードで動作させることにより、本実施形態におけるデジタルカメラ１００は、ＡＰの一種ではあるが、より機能が限定された簡易的なＡＰ（以下、簡易ＡＰ）として動作することも可能である。デジタルカメラ１００が簡易ＡＰとして動作すると、デジタルカメラ１００は自身でネットワークを形成する。デジタルカメラ１００の周辺の装置は、デジタルカメラ１００をＡＰ機器と認識し、デジタルカメラ１００が形成したネットワークに参加することが可能となる。上記のようにデジタルカメラ１００を動作させるためのプログラムは不揮発性メモリ１０３に保持されているものとする。
【００２４】
なお、本実施形態におけるデジタルカメラ１００はＡＰの一種であるものの、ＣＬ機器から受信したデータをインターネットプロバイダなどに転送するゲートウェイ機能は有していない簡易ＡＰである。したがって、自機が形成したネットワークに参加している他の装置からデータを受信しても、それをインターネットなどのネットワークに転送することはできない。以上が実施形態におけるデジタルカメラ１００の説明である。
【００２５】
＜スマートデバイス２００の内部構成＞
図２は、本実施形態の情報処理装置の一例であるスマートデバイス２００の構成例を示すブロック図である。なお、ここでは情報処理装置の一例としてスマートデバイスについて述べるが、情報処理装置はこれに限られない。例えば情報処理装置は、無線機能付きのデジタルカメラ、タブレットデバイス、あるいはパーソナルコンピュータなどであってもよい。
【００２６】
制御部２０１はプロセッサ（ＣＰＵ）を含み、入力された信号や、後述のプログラムに従ってスマートデバイス２００の各部を制御する。なお、制御部２０１が装置全体を制御する代わりに、複数のハードウェアが処理を分担することで、装置全体を制御してもよい。
【００２７】
撮像部２０２は、撮像部２０２に含まれるレンズで結像された被写体光を電気信号に変換し、ノイズ低減処理などを行いデジタルデータを画像データとして出力する。撮像した画像データはバッファメモリに蓄えられた後、制御部２０１にて所定の演算を行い、記録媒体２１０に記録される。
【００２８】
不揮発性メモリ２０３は、電気的に消去・記録可能な不揮発性のメモリである。不揮発性メモリ２０３には、制御部２０１が実行する基本的なソフトウェアであるＯＳ（オペレーティングシステム）や、このＯＳと協働して応用的な機能を実現するアプリケーションが記録されている。また、本実施形態では、不揮発性メモリ２０３には、デジタルカメラ１００と通信するためのアプリケーション（以下アプリ）が格納されている。
【００２９】
作業用メモリ２０４は、表示部２０６の画像表示用メモリや、制御部２０１の作業領域等として使用される。操作部２０５は、スマートデバイス２００に対する指示をユーザから受け付けるために用いられる。操作部２０５は例えば、ユーザがスマートデバイス２００の電源のＯＮ／ＯＦＦを指示するための電源ボタンや、表示部２０６に形成されるタッチパネルなどの操作部材を含む。
【００３０】
表示部２０６は、画像データの表示、対話的な操作のための文字表示などを行う。なお、表示部２０６は必ずしもスマートデバイス２００が備える必要はない。スマートデバイス２００は表示部２０６と接続することができ、表示部２０６の表示を制御する表示制御機能を少なくとも有していればよい。
【００３１】
記録媒体２１０は、撮像部２０２から出力された画像データを記録することができる。記録媒体２１０は、スマートデバイス２００に着脱可能なよう構成してもよいし、スマートデバイス２００に内蔵されていてもよい。すなわち、スマートデバイス２００は少なくとも記録媒体２１０にアクセスする手段を有していればよい。
【００３２】
接続部２１１は、外部装置と接続するためのインターフェースである。本実施形態のスマートデバイス２００は、接続部２１１を介して、デジタルカメラ１００とデータのやりとりを行うことができる。本実施形態では、接続部２１１はアンテナであり、制御部２０１は、アンテナを介して、デジタルカメラ１００と接続することができる。なお、デジタルカメラ１００との接続では、直接接続してもよいしアクセスポイントを介して接続してもよい。データを通信するためのプロトコルとしては、例えば無線ＬＡＮを通じたＰＴＰ／ＩＰ（Ｐｉｃｔｕｒｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ  ｏｖｅｒ  Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）を用いることができる。なお、デジタルカメラ１００との通信はこれに限られるものではない。例えば、接続部２１１は、赤外線通信モジュール、ＷｉｒｅｌｅｓｓＵＳＢ等の無線通信モジュールを含むことができる。さらには、ＵＳＢケーブルやＨＤＭＩ、ＩＥＥＥ１３９４など、有線接続を採用してもよい。
【００３３】
公衆網接続部２１３は、公衆無線通信を行う際に用いられるインターフェースである。スマートデバイス２００は、公衆網接続部２１３を介して、他の機器と通話することができる。この際、制御部２０１はマイク２１４およびスピーカ２１５を介して音声信号の入力と出力を行うことで、通話を実現する。本実施形態では、公衆網接続部２１３はアンテナであり、制御部２０１は、アンテナを介して、公衆網に接続することができる。なお、接続部２１１および公衆網接続部２１３は、一つのアンテナで兼用することも可能である。
【００３４】
近距離無線通信部２１６は、例えば無線通信のためのアンテナと無線信号を処理するため変復調回路や通信コントローラから構成される。近距離無線通信部２１６は、変調した無線信号をアンテナから出力し、またアンテナで受信した無線信号を復調することによりＩＥＥＥ８０２．１５の規格（いわゆるＢｌｕｅｔｏｏｔｈ（登録商標））に従った近距離無線通信を実現する。本実施形態においてＢｌｕｅｔｏｏｔｈ（登録商標）通信は、低消費電力であるＢｌｕｅｔｏｏｔｈ（登録商標）  Ｌｏｗ  Ｅｎｅｒｇｙのバージョン４．０（ＢＬＥ）を採用する。このＢｌｕｅｔｏｏｔｈ（登録商標）通信は、無線ＬＡＮ通信と比べて通信可能な範囲が狭い（つまり、通信可能な距離が短い）。また、Ｂｌｕｅｔｏｏｔｈ（登録商標）通信は、無線ＬＡＮ通信と比べて通信速度が遅い。その一方で、Ｂｌｕｅｔｏｏｔｈ（登録商標）通信は、無線ＬＡＮ通信と比べて消費電力が少ない。
【００３５】
近接無線通信部２１７は、他機との非接触近接通信を実現するための通信ユニットである。近接無線通信部２１７は、無線通信のためのアンテナと無線信号を処理するための変復調回路や通信コントローラから構成される。近接無線通信部２１７は、変調した無線信号をアンテナから出力し、またアンテナで受信した無線信号を復調することにより非接触近接通信を実現する。ここでは、ＩＳＯ／ＩＥＣ  １８０９２の規格（いわゆるＮＦＣ）に従った非接触通信を実現する。近接無線通信部２１７は、他のデバイスからデータ読み出し要求を受けると、不揮発性メモリ２０３に格納されているデータに基づき、応答データを出力する。本実施形態では、スマートデバイス２００は、近接無線通信部２１７を通じて、ＮＦＣの規格で定義されているカードリーダモード、カードライタモードおよびＰ２Ｐモードで動作し、主にＩｎｉｔｉａｔｏｒとしてふるまう。対して、デジタルカメラ１００は近接無線通信部１１２を介して、主にＴａｒｇｅｔとしてふるまう。以上がスマートデバイス２００の説明である。
【００３６】
＜送信モード＞
図３（ａ），（ｂ）はそれぞれ異なる送信モードを説明するためのイメージ図である。各送信モードにおいて、デジタルカメラら１００がサーバとして機能した場合における、デジタルカメラ１００に保存されているファイルを、クライアント機器として機能するスマートデバイス２００に送信する際の送信方法の違いを説明する。
【００３７】
図３（ａ）は送信モードがプル送信の場合のイメージ図である。プル送信では、クライアント機器（スマートデバイス２００）にて、ユーザが画像の選択を行うためのユーザインターフェースが表示され、ユーザがその中から送信対象のファイルを選択する。クライアント機器はサーバ機器に対してファイルを要求し、サーバ機器は要求されたファイルをクライアント機器に送信する。
【００３８】
図３（ｂ）は送信モードがプッシュ送信の場合のイメージ図である。プッシュ送信では、サーバ機器（デジタルカメラ１００）にて、ユーザが画像の選択を行うためのユーザインターフェースを表示し、ユーザがその中から送信対象のファイルを選択する。選択が完了すると、サーバ機器は選択されたファイルの送信を行う。
【００３９】
ここで、ＨＴＴＰのようなリクエスト／レスポンス型の通信プロトコルを用いる場合、サーバ機器であるデジタルカメラ１００からクライアント機器であるスマートデバイス２００へ、選択した画像を自発的に送信することができない。この問題を解消するためには、何らかの方法でサーバ側からの自発的な送信（サーバプッシュ）を実現する必要がある。
【００４０】
そこで本実施形態では、ロングポーリングという技術を用いて、擬似的なサーバプッシュを実現する。ロングポーリングでは、まずクライアント機器からリクエストを送信し、サーバはあえてそのリクエストに対するレスポンスを保留しておく。そしてサーバは何らかのデータ通信を行うための任意のタイミングで、保留していたリクエストに対するレスポンスを送信する。このようにすることで、任意のタイミングでサーバからクライアントにデータを送信する、いわゆるサーバプッシュを擬似的に実現できる。
【００４１】
以下、具体的な動作について説明する。本実施形態では、既に説明したように、デジタルカメラ１００をサーバ、スマートデバイス２００をクライアントとして説明する。
【００４２】
図４、図５を参照して、デジタルカメラ１００を操作してスマートデバイス２００へ画像をプッシュ送信する際の処理の流れについて説明する。
【００４３】
図４は、デジタルカメラ１００からスマートデバイス２００へ画像をプッシュ送信する際のシーケンス図である。
【００４４】
図５は、デジタルカメラ１００とスマートデバイス２００における画面の例を示した図である。
【００４５】
まず、ステップＳ４０１において、デジタルカメラ１００とスマートデバイス２００は、接続部１１１、２１１を用いてＷｉ−Ｆｉ接続を行い、機器発見プロトコルによりお互いのデバイスを発見し、データ通信を行うためのプロトコル接続をすることにより機器同士の接続が完了する。データ通信を行うためのプロトコルとして、例えば、ＨＴＴＰがあげられる。本実施形態では、デジタルカメラ１００がＨＴＴＰサーバ、スマートデバイス２００がＨＴＴＰクライアントとして動作する点に注意されたい。
【００４６】
次に、ステップＳ４０２において、クライアントであるスマートデバイス２００は、デジタルカメラ１００に対して、ロングポーリングリクエストを送信する。ロングポーリングリクエストを通常のリクエストを区別するためには、例えばリクエストコマンドに特定の引数やフラグを付与したり、別のリクエストコマンドを用意したりすることが考えられる。
【００４７】
ステップＳ４０３において、ロングポーリングリクエストを受信したデジタルカメラ１００は、このリスエストに対するレスポンスをすぐには送信せずに保留状態とし、ユーザがスマートデバイス２００へプッシュ送信したい画像を選択できるようにするため画像選択画面を表示する。図５（ａ）の参照符号５０１に示すように、デジタルカメラ１００は、記録媒体１１０に保存されている画像のリスト画面の表示を行う。
【００４８】
スマートデバイス２００は、図５（ｂ）に示すように操作メニューが表示部２０６に表示される。ユーザは、このメニューの中らか、参照符号５０４から５０７に示すように、「カメラ内の画像一覧」「リモート撮影」「位置情報」「カメラ設定」といった処理項目のボタンの操作を行うことができる。ボタン５０４〜５０７のいずれかをユーザが押下すると、押下したボタンに応じた処理が実行される。ここでは、スマートデバイス２００は操作しないものとする。
【００４９】
次に、ステップＳ４０４において、ユーザはデジタルカメラ１００を操作して、スマートデバイス２００にプッシュ送信したい画像を選択する。ユーザが送信したい画像を選択すると、図５（ａ）の参照符号５０２に示すように、チェックマークが表示される。
【００５０】
次に、ステップＳ４０５において、ユーザはデジタルカメラ１００を操作して、ステップＳ４０４において選択した画像のスマートデバイス２００へのプッシュ送信開始を指示する。図５（ａ）の送信ボタン５０３を選択するとスマートデバイス２００への画像送信を開始することができる。
【００５１】
次に、ステップＳ４０６において、デジタルカメラ１００はスマートデバイス２００に対して、ロングポーリングリクエストに対するレスポンスとして、ステップＳ４０４においてユーザが選択した画像を特定する情報（画像リスト）を送信する。この画像リストには、ユーザが選択した画像のファイル名や画像ＩＤが記述されている。上述の例では、ユーザによる画像選択がいつ完了するかは、スマートデバイス２００には予想できない。したがって、画像選択後にデジタルカメラ１００が自発的にスマートデバイス２００に対して画像リストを送信する形が適している。
【００５２】
次に、ステップＳ４０７において、スマートデバイス２００は、ステップＳ４０６において受信した画像リストに記述されている画像の１つを、デジタルカメラ１００に対して画像取得要求を送信する。ステップＳ４０８において、デジタルカメラ１００はステップＳ４０７において受信した画像取得要求に対して、指定された画像をスマートデバイス２００に対して送信する。
【００５３】
スマートデバイス２００は、ステップＳ４０６において受信した画像リストに含まれる画像の数だけ、デジタルカメラ１００に対して画像取得要求を繰り返し行い、画像を取得する。取得した画像はたとえば不揮発性メモリ２０３や記録媒体２１０に保存される。
【００５４】
画像転送中のデジタルカメラ１００およびスマートデバイス２００における画面例をそれぞれ、図５（ｃ）、図５（ｄ）に示す。図５（ｃ）に示すように、デジタルカメラ１００では、画像送信の進捗状況が分かるようにプログレスバーを表示している。また、図５（ｄ）に示すように、スマートデバイス２００では、画像受信の進捗状況が分かるプログレスバーを表示している。
【００５５】
ステップＳ４１１にて、スマートデバイス２００はＳ４０６において受信した画像リストに含まれる画像を全てデジタルカメラ１００から受信すると、再度ロングポーリングリクエストをデジタルカメラ１００に対して送信する。ロングポーリングリクエストを受信したデジタルカメラ１００はステップＳ４０３と同様にユーザが画像を選択できるように、画像選択画面を表示する。画像送信完了後のデジタルカメラ１００、スマートデバイス２００は、それぞれ、図５（ａ）、図５（ｂ）のように画像送信前の画面に戻る。
【００５６】
以上のように、ＨＴＴＰプロトコルのようなリクエスト／レスポンス型の通信プロトコルを利用しながらも、デジタルカメラ１００がスマートデバイス２００からのロングポーリングリクエストのレスポンスにユーザが選択した画像リストを含める。この結果、デジタルカメラ１００からスマートデバイス２００へ画像をプッシュ送信することが可能になる。
【００５７】
なお、画像送信中にキャンセル処理を行ってもよい。たとえば、デジタルカメラ１００の制御部１０１は、画像送信処理中にユーザによる図５（ｃ）のキャンセルボタン５０８の操作を検出した場合、現在送信中の着目画像の送信の送信完了を待って、次の画像要求を受信した場合にはその要求に対して拒否（キャンセル）を応答として返す。この結果、ユーザが選択した複数の画像の送信処理において、その途中で送信処理を中断させることが可能になる。
【００５８】
＜デジタルカメラ１００の処理＞
図６は、プッシュ送信を行う際のデジタルカメラ１００の処理内容を記載したシーケンスである。
【００５９】
まず、デジタルカメラ１００はスマートデバイス２００との間で画像の送受信を行うために、スマートデバイス２００との接続処理を行う。ステップＳ６０１にて、制御部１０１は接続部１１１を介してスマートデバイス２００と接続したことを検知すると、ステップＳ６０２に遷移する。
【００６０】
ステップＳ６０２にて、制御部１０１は接続部１１１を介して、スマートデバイス２００からロングポーリングリクエストを受信するのを待つ。ロングポーリングリクエストを受信すると、制御部１０１はスマートデバイス２００から画像選択許可を受信したと判断して、処理をステップＳ６０３に遷移する。
【００６１】
本実施形態におけるプッシュ送信では、サーバ機器であるデジタルカメラ１００にて、クライアント機器であるスマートデバイス２００に送信することになる画像（記録媒体１１０に格納された撮像画像）を選択する。そのために、ステップＳ６０３にて、制御部１０１は表示部１０６に、画像選択画面５０１（図５（ａ）参照）を表示して、ステップＳ６０４に処理を遷移する。
【００６２】
次いで制御部１０１は、ステップＳ６０４およびステップＳ６０５のループにて、ユーザからの操作部１０５を介した送信対象画像の選択指示を受け付け、画像リストを構築していく。そして、制御部１０１は、ユーザによる図５（ａ）のボタン５０３の操作を検出したとき、画像送信処理に移行するため。処理をステップＳ６０６に進める。
【００６３】
ステップＳ６０６にて、制御部１０１は、ユーザによる画像選択操作で構築された画像リストを、先のステップＳ６０２において受信したロングポーリングのリクエストに対する応答として、スマートデバイス２００に送信する。この画像リストには、画像ファイルのパスや画像ファイルのサイズなどを含む。これにより、スマートデバイス２００は、プッシュ送信の対象となる画像がどの画像なのかを判断することができる。
【００６４】
次いで、ステップＳ６０８にて、制御部１０１は、接続部１１１を介して、スマートデバイス２００から画像の取得要求を受信しては、取得要求された対応の画像をスマートデバイス２００に送信する処理を、画像リストに記述された画像数分繰り返す。このとき、制御部１０１は、選択画像の数を把握しているので、図５（ｃ）に示すようなプログレスバーを表示部１０６に表示する。このようにして、デジタルカメラ１００で送信する画像を選択し、スマートデバイス２００への画像送信を実現する。
【００６５】
最後に、ステップＳ６０９にて、制御部１０１はスマートデバイス２００との接続を切断したことを検知した場合、処理を終了し、検知しなかった場合、ステップＳ６０２に遷移する。ここで、ステップＳ６０９にて切断検知を行っているが、これに限らなくともよい、処理中のどのタイミングにおいても、切断を検知した際に、処理を終了してもよい。
【００６６】
＜スマートデバイス２００の処理＞
図７は、プッシュ送信を行う際のスマートデバイス２００の処理内容を記載したシーケンスである。
【００６７】
前述のデジタルカメラ１００と同様、スマートデバイス２００はデジタルカメラ１００との間で画像の送受信を行うために、デジタルカメラ１００との接続処理を行う。ステップＳ７０１にて、制御部２０１は、接続部２１１を介してデジタルカメラ１００と接続したことを検知すると、ステップＳ７０２に遷移する。
【００６８】
ステップＳ７０２にて、制御部２０１は接続部２１１を介して、デジタルカメラ１００からプッシュ送信対象の画像の情報を取得するためのロングポーリングリクエストを送信する。ステップＳ７０３にて、制御部２０１は接続部２１１を介して、デジタルカメラ１００からロングポーリングリクエストのレスポンス（画像リスト）を受信すると、制御部２０１はレスポンスの画像リストから各画像のパスを取得する。そして、制御部２０１は、ステップＳ７０４にて、画像のパスを利用した画像の要求と、取得（受信）を、画像リストに記述されている個数分繰り返す。取得した画像は、不揮発性メモリ２０３或いは記録媒体２１０に格納される。この際に、送信対象の画像の受信の進捗状況がわかるように、制御部２０１は、表示部２０６に図５（ｄ）に示すようなプログレスバーを表示する。画像リスト内の全画像の受信を終えると、制御部２０１は受信した画像を表示部２０６に表示してもよい。このようにして、デジタルカメラ１００で送信する画像を選択し、スマートデバイス２００への画像送信を実現する。
【００６９】
最後に、ステップＳ７０６にて、制御部２０１はデジタルカメラ１００との接続を切断したことを検知した場合、処理を終了し、検知しなかった場合、ステップＳ７０２に遷移する。ここで、ステップＳ７０６にて切断検知を行っているが、これに限らなくともよい、処理中のどのタイミングにおいても、切断を検知した際に、処理を終了してもよい。
【００７０】
以上説明したように本実施形によれば、クライアントサーバ型のシステムを実現するプロトコルにおいて、サーバ機器で選択した画像をクライアント機器に送信することを実現できる通信装置を提供することができる。
【００７１】
［第２の実施形態］
上記第１の実施形態では、それぞれ異なる二種類の送信モードのうち、プッシュ送信についての通信機能の制御方法について説明した。第２の実施形態では、それぞれ異なる二種類の送信モードが両立したシステムにおける通信機能の制御方法について説明する。
【００７２】
図８、図９を参照して、それぞれ異なる二種類の送信モードが両立したシステムにおける処理の流れについて説明する。
【００７３】
図８は、それぞれ異なる二種類の送信モードが両立したシステムにおけるシーケンス図である。
【００７４】
図９（ａ）乃至（ｆ）は、デジタルカメラ１００とスマートデバイス２００それぞれの表示部に表示される画面の例を示している。本実施形態における図９の参照符号９０１〜９０７は、第１の実施形態における参照符号５０１〜５０７と同様のため、その説明は割愛する。
【００７５】
ステップＳ８０１からステップＳ８０４は第１の実施の形態におけるステップＳ４０１からステップＳ４０４と同様のため、説明を割愛する。ステップＳ８０５において、ユーザがスマートデバイス２００の表示部２０６に表示されたメニュー画面（図５（ｂ））内のカメラ内の画像一覧表示を示すボタン９０４を押下したとする。この場合、制御部２０１はステップＳ８０６にて、画像パスのリストを取得するためのリクエストをデジタルカメラ１００に送信する。これは、スマートデバイス２００において、デジタルカメラ１００にどのような画像が保存されているかを確認し、画像取得時に利用するファイルパスを取得するために行う。
【００７６】
デジタルカメラ１００は、ステップＳ８０７にて、ユーザによる画像の選択中に、この要求を受信する。このため、制御部１０１は、ステップＳ８０２で受信していたロングポーリングリクエストに対してキャンセル処理を行う。ここでキャンセル処理は、ＨＴＴＰリクエストに対して、キャンセルを意味するレスポンスを返すものである。なお、ＨＴＴＰのコネクションを切断することで、リクエストのキャンセルを行ってもよい。また、デジタルカメラ１００がプッシュ送信を行わないようにするために、制御部１０１は、図９（ｅ）のような、スマートデバイス２００での操作を促す操作不可状態を示す画面を表示する。ここでは、プッシュ送信をおこなわないようにするために、操作不可画面を表示しているがこれに限る必要はない。たとえば、図９（ａ）に示すような画像選択画面を表示した状態にしておき、送信ボタン９０３を押下できないようにしてもよい。
【００７７】
次に、ステップＳ８０８で、制御部１０１は、デジタルカメラ１００の記録媒体１１０に保存されていう画像のファイルパスのリストをＨＴＴＰレスポンスとして送信する。
【００７８】
ステップＳ８０９とステップＳ８１０にて、スマートデバイス２００はファイルパスのリストに記載されている画像のサムネイルの取得を行う。そして、ステップＳ８１１にて、スマートデバイス２００の制御部２０１は、図９（ｆ）に示すような画像のサムネイル一覧画面９０９を表示部２０６に表示する。
【００７９】
次いで、ステップＳ８１２にて、ユーザはスマートデバイス２００を操作して、プル転送したい画像を選択する。ユーザが転送したい画像を選択すると、制御部２０１は、図９（ｆ）の参照符号９０８に示すように、チェックマークを重畳表示する。次いで、ステップＳ８１３にて、制御部２０１は、ユーザによる図９（ｆ）の受信ボタン９０９の押下を検出すると、ステップＳ８１４にて、選択した画像の取得要求を行う。デジタルカメラ１００の制御部１０１は、この要求に対して、該当する画像を送信する。スマートデバイス２００が受信した画像は、スマートデバイス２００にて拡大表示してもよいし、ファイルとして保存してもよい。
【００８０】
次に、制御部２０１は、ユーザによる図９（ｆ）の参照符号９１０に示すような、プル転送を終了するためのボタン９１０を押下を検出すると、ステップＳ８１６にて、制御部２０１はカメラ内の画像一覧表示処理を終了し、ステップＳ８１７にて、制御部２０１は、デジタルカメラ１００にプッシュ送信を行うためのロングポーリングリクエストを行うと共に、図９（ｂ）のメニュー画面の表示に戻る。
【００８１】
デジタルカメラ１００はこのロングポーリングリクエストを受信すると、ステップＳ８１８にて、図９（ａ）に示すような画像選択画面を表示する。
【００８２】
以降のステップＳ８１９からステップＳ８２６は第１の実施形態におけるステップＳ４０３からステップＳ４１１と同様のため割愛する。このようにして、プル送信とプッシュ送信を適宜切り替えることで、異なる二種類の送信モードを実現している。
【００８３】
＜デジタルカメラ１００の処理＞
図１０は、それぞれ異なる二種類の送信モードが両立したシステムにおけるデジタルカメラ１００の処理内容を記載したフローチャートである。
【００８４】
本実施形態では画像選択許可要求（ロングポーリングリクエスト）を受信すると（ステップＳ１００２）、プッシュ送信を開始し、画像パスリスト取得要求を受信すると（ステップＳ１００９）、プル送信を開始する。また、本実施の形態では、プッシュ送信中に画像パスリスト取得要求を受信すると、プッシュ送信を中断して、プル送信を開始し、プル送信中に画像選択許可要求を受信すると、プル送信を中断して、プッシュ送信を開始しているがこれに限る必要はない。たとえば、プッシュ送信を優先する実施形態においては、プッシュ送信中に画像パスリスト取得要求を受信してもプッシュ送信に遷移しなくてもよい。また、プル送信を優先する実施形態においては、プル送信中に画像選択許可要求を受信しても、プル送信に遷移しなくてもよい。
【００８５】
以下、プッシュ送信とプル送信が両立したシステムにおけるプル送信モードの動作について、ステップＳ１００２からステップＳ１００８にて説明する。
【００８６】
まず、デジタルカメラ１００はスマートデバイス２００との間で画像の送受信を行うために、スマートデバイス２００との接続処理を行う。ステップＳ１００１にて、制御部１０１は接続部１１１を介してスマートデバイス２００と接続したことを検知すると、ステップＳ１００２に遷移する。
【００８７】
次いで、ステップＳ１００２にて、制御部１０１は接続部１１１を介して、スマートデバイス２００からロングポーリングリクエストを受信する。このロングポーリングリクエストを受信すると、制御部１０１はスマートデバイス２００から画像選択許可を受信したと判断して、ステップＳ１００３に遷移する。ロングポーリングリクエストを受信していなければ、ステップＳ１００９に遷移する。
【００８８】
次いで、ステップＳ１００３にて、制御部１０１は表示部１０６に図９（ａ）に示すような送信画像選択画面９０１を表示する。ステップＳ１００４にて、制御部１０１は、操作部１０５を介してユーザからの指示に基づき、送信対称の画像の選択を受け付け、選択された画像を特定する情報を、作業メモリ１０３に確保した画像リストに追記する。そして、制御部１０１は、ステップＳ１００５にて、図９（ａ）の送信ボタン９０３が操作されたか否かを判定し、送信ボタンが操作されたと判定した場合にはステップＳ１００６に遷移し、否と判定した場合にはステップＳ１００９に処理を進める。
【００８９】
次いで、ステップＳ１００６にて、制御部１０１は接続部１１１を介して、前述のステップＳ１００２において受信したロングポーリングのリクエストに対する応答として、ユーザの操作に従って構築された画像リストをスマートデバイス２００に送信する。この画像リストの情報には、画像ファイルのパスや画像ファイルのサイズなどを含む。これにより、スマートデバイス２００は、プッシュ送信の対象となる画像がどの画像なのかを判断することができる。
【００９０】
次いで、ステップＳ１００８にて、制御部１０１は、スマートデバイス２００から画像要求の受信と、該当する画像の送信処理を実行する。この間、制御部１０１は、画像リストに記述された画像の数を把握しているので、送信に係るプログレスバー（図９（ｃ））を表示する。全画像の送信を終えると、制御部１０１は、ステップＳ１０１７に遷移する。
【００９１】
次に、プッシュ送信とプル送信が両立したシステムにおけるプル送信モードの動作についてステップＳ１００９からステップＳ１０１５にて説明する。
【００９２】
まず、ステップＳ１００９にて、制御部１０１は接続部１１１を介して、スマートデバイス２００から画像パスリスト取得要求を受信したことを検知すると、ファイル送信を開始するために、ステップＳ１０１０に遷移する。受信を検知しなかった場合、ステップＳ１０１６に遷移する。
【００９３】
ステップＳ１０１０において、制御部１０１は表示部１０６に図９（ｅ）に示すような操作不可画面を示すメッセージを表示する。この表示により、操作部１０５を操作しても、プッシュ送信開始の指示を行うことができなくする。次いで、ステップＳ１０１１にて制御部１０１は、スマートデバイス２００から画像選択許可要求を受信している場合には、この要求に対して、キャンセルしたことを示す応答送信を行う。ここでのキャンセルとしては、ＨＴＴＰにおけるレスポンスヘッダのステータスコードをエラーコードとして返信するが、これに限る必要はない。たとえば、ステータスコードはエラーコードとせず、レスポンスボディにキャンセルを示す情報を含ませてもよい。スマートデバイス２００において、デジタルカメラ１００へのロングポーリングリクエストがキャンセルされたことが認識できればよい。また、本実施形態では、画像選択許可要求に対して、キャンセルを行っているが、これに限る必要はない。たとえば、画像選択許可要求を保持したまま、画像パスリストを送信して、プッシュ送信中にプル送信を実現させてもよい。
【００９４】
そして、ステップＳ１００９で受信した画像パスリスト取得要求に対して、制御部１０１は接続部１１１を介して、記録媒体１１０に保存されている画像の画像パスのリストをスマートデバイス２００に送信する。これにより、スマートデバイス２００はデジタルカメラ１００の記録媒体に保存されている画像にアクセスするための情報を認識することができる。
【００９５】
一方、ステップＳ１０１６において、すでに操作不可画面を表示している場合には、すでにプル送信モードに遷移していると判断して、ステップＳ１０１２に遷移する。操作不可画面を表示していない場合には、プル送信モードに遷移していないと判断して、ステップＳ１００２に遷移する。ここで、プル送信モードに遷移していることを操作不可画面を以て判断しているが、これに限る必要はない。例えば、作業用メモリ１０４に現在の送信モードを示すフラグを記録しておき、そのフラグの情報を参照することで送信モードを判断してもよい。
【００９６】
次いで、スマートデバイス２００において、図９（ｆ）に示すような画像選択画面を表示するためのサムネイル取得要求に対するデジタルカメラ１００の動作を説明する。
【００９７】
まず、ステップＳ１０１２において、制御部１０１は接続部１１１を介して、スマートデバイス２００から画像のサムネイル取得要求を受信すると、ステップＳ１０１３に遷移する。ステップＳ１０１３では、制御部１０１は接続部１１１を介して、スマートデバイス２００から指定されたサムネイル画像を送信する。
【００９８】
一方、ステップＳ１０１２において、制御部１０１が、画像のサムネイル取得要求を受信しなかったと判断した場合には、ステップＳ１０１４に遷移する。
【００９９】
ステップＳ１０１４とステップＳ１０１５を参照して、スマートデバイス２００において画像を取得するための画像取得要求に対するデジタルカメラ１００の動作を説明する。
【０１００】
まず、ステップＳ１０１４において、制御部１０１は接続部１１１を介して、スマートデバイス２００から画像取得要求を受信すると、ステップＳ１０１５に遷移する。ステップＳ１０１５では、制御部１０１は、接続部１１１を介して、スマートデバイス２００から指定された画像を送信する。
【０１０１】
一方、ステップＳ１０１４にて、画像の取得要求を受信していないと判断した場合には、ステップＳ１０１７に遷移する。
【０１０２】
最後にステップＳ１０１７にて、制御部１０１はスマートデバイス２００との接続を切断したことを検知した場合、処理を終了し、検知しなかった場合、ステップＳ１００２に遷移する。ここで、ステップＳ１０１７にて切断検知を行っているが、これに限らなくてもよい。処理中のどのタイミングにおいても切断を検知した際に、処理を終了してもよい。
【０１０３】
＜スマートデバイス２００の処理＞
図１１は、それぞれ異なる二種類の送信モードが両立したシステムにおけるスマートデバイス２００の処理内容を記載したフローチャートである。
【０１０４】
前述のデジタルカメラ１００と同様、スマートデバイス２００はデジタルカメラ１００との間で画像の送受信を行うために、デジタルカメラ１００との接続処理を行う。ステップＳ１１０１にて、制御部２０１は接続部２１１を介してデジタルカメラ１００と接続したことを検知すると、ステップＳ１１０２に遷移する。
【０１０５】
ステップＳ１１０２にて、制御部２０１は画像選択許可要求（ロングポーリングリクエスト）をすでに送信しているか否かを判断する。すでに画像選択許可要求を送信している場合には、プッシュ送信モードに遷移しているため、画像選択許可要求を送信する必要がない。この処理は、その制御を行うための処理である。次いで、ステップＳ１１０３にて、制御部２０１は接続部２１１を介して、デジタルカメラ１００からプッシュ送信対象の画像の情報を取得するためのロングポーリングリクエストを行う。
【０１０６】
ステップＳ１１０４にて、制御部２０１は接続部２１１を介して、デジタルカメラ１００からロングポーリングリクエストのレスポンスを受信すると、制御部２０１はステップＳ１１０５に処理を遷移する。
【０１０７】
ステップＳ１１０５にて、制御部１０１は、受信したレスポンス内容（画像リスト）から画像のパスを取得する。そして。制御部１０１は、そのパスを利用して、接続部２１１を介してデジタルカメラ１００への画像の送信要求と、画像の受信処理（及び記録媒体２１０等への格納処理）を繰り返す。この処理は、受信した画像リストに記述された画像の数分行われる。そして、この間、制御部２０１は、画像の受信の進捗状況がわかるように表示部２０６に図９（ｄ）に示すようなプログレスバーを表示する。画像リストに記述された全画像の受信を終えると、制御部２０１は受信した画像を表示部２０６に表示してもよい。このようにして、デジタルカメラ１００で送信する画像を選択し、スマートデバイス２００への画像送信を行うプッシュ送信が実現できる。
【０１０８】
ステップＳ１１０４にて、制御部２０１が、デジタルカメラ１００からロングポーリングリクエストのレスポンスを受信しなかったと判断した場合、ステップＳ１１０７に遷移する。ステップＳ１１０７において、制御部２０１は、操作部２０５を介して、図９（ｂ）に示すような操作メニュー内の「カメラ内の画像一覧」のボタン９０４を押下したか否かを判定する。ボタン９０４が押下されたと判定した場合、制御部２０１は、プル送信の処理に遷移するため、処理をステップＳ１１０８に遷移する。
【０１０９】
以下、ステップＳ１１０８からステップＳ１１１１にて、制御部２０１は表示部２０６に図９（ｆ）に示すような画像のサムネイル一覧画面を表示するために、デジタルカメラ１００に保存されている画像リストの取得および画像サムネイルの取得を行う。
【０１１０】
次いで、ステップＳ１１１２にて、制御部２０１は、ユーザによる操作部２０５の操作を検出し、プル転送対称の画像をリストに追加していく。このとき、制御部２０１は、ユーザが選択した画像を認識しやすいように、図９（ｆ）の参照符号９０８に示すように、選択した画像にチェックマークを重畳表示する。
【０１１１】
ステップＳ１１１３にて、制御部２０１は、操作部２０５を介してのユーザによる、図９（ｆ）の受信ボタン９０９の押下を検出すると、処理をステップＳ１１１４に遷移する。このステップＳ１１１４にて、制御部２０１は、ユーザが選択したリストに示された画像の送信要求を、接続部２１１を介してデジタルカメラ１００に送信しては、その応答である画像の受信処理を、ユーザが選択した画像数分繰り返す。この画像受信を行う際、制御部２０１は、表示部２０６に、図９（ｄ）に示すような画像受信の進捗状況が分かるプログレスバーを表示する。
【０１１２】
次いで、ステップＳ１１１６にて、制御部２０１は、ユーザによる操作部２０５に対する操作が、図９（ｆ）のプル転送を終了するためのボタン９１０であったと判定すると、プル送信を終了し、ステップＳ１１０２に遷移する。
【０１１３】
なお、全画像の取得を終えた場合には、ステップＳ１１１６からステップＳ１１１７に遷移しても構わない。そして、制御部２０１はデジタルカメラ１００との接続を切断したことを検知した場合、処理を終了し、検知しなかった場合、ステップＳ１１０２に遷移する。ここで、ステップＳ１１１７にて切断検知を行っているが、これに限らなくともよい、処理中のどのタイミングにおいても、切断を検知した際に、処理を終了してもよい。
【０１１４】
以上説明したように本第２の実施形態によれば、クライアントサーバ型のシステムを実現するプロトコルにおいて、サーバ機器またはクライアント機器で選択した画像をクライアント機器に送信することを実現できる通信装置を提供することができる。
【０１１５】
以上、本発明をその好適な実施形態に基づいて詳述してきたが、本発明はこれら特定の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。また、上述の実施形態においては、送信対象を画像として説明したが、これに限る必要はない。たとえば、音声ファイルや文書ファイルなど、クライアント機器とサーバ機器の間でやりとりできるファイルであれば何でもよい。
【０１１６】
（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【０１１７】
１００…デジタルカメラ、１０１、２０１…制御部、１０２、２０２…撮像部、１０３、２０３…不揮発性メモリ、１０４、２０４…作業用メモリ、１０５、２０５…操作部、１０６、２０６…表示部、１１０、２１０…記録媒体、１１１、２１１…通信部、１１２、２１２…近距離通信部、２００…スマートデバイス
【図１】
2018191134.tif 000003
【図２】
2018191134.tif 000004
【図３】
2018191134.tif 000005
【図４】
2018191134.tif 000006
【図５】
2018191134.tif 000007
【図６】
2018191134.tif 000008
【図７】
2018191134.tif 000009
【図８】
2018191134.tif 000010
【図９】
2018191134.tif 000011
【図１０】
2018191134.tif 000012
【図１１】
2018191134.tif 000013