JP6882055B2 - 通信装置及びその制御方法及びプログラム及び通信システム - Google Patents

通信装置及びその制御方法及びプログラム及び通信システム Download PDF

Info

Publication number
JP6882055B2
JP6882055B2 JP2017091944A JP2017091944A JP6882055B2 JP 6882055 B2 JP6882055 B2 JP 6882055B2 JP 2017091944 A JP2017091944 A JP 2017091944A JP 2017091944 A JP2017091944 A JP 2017091944A JP 6882055 B2 JP6882055 B2 JP 6882055B2
Authority
JP
Japan
Prior art keywords
request
communication
image
response
digital camera
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017091944A
Other languages
English (en)
Other versions
JP2018190173A (ja
JP2018190173A5 (ja
Inventor
裕司 川合
裕司 川合
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2017091944A priority Critical patent/JP6882055B2/ja
Priority to US15/966,050 priority patent/US20180324075A1/en
Publication of JP2018190173A publication Critical patent/JP2018190173A/ja
Publication of JP2018190173A5 publication Critical patent/JP2018190173A5/ja
Application granted granted Critical
Publication of JP6882055B2 publication Critical patent/JP6882055B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • H04L43/103Active monitoring, e.g. heartbeat, ping or trace-route with adaptive polling, i.e. dynamically adapting the polling rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/80Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • H04L67/025Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/27Server based end-user applications
    • H04N21/278Content descriptor database or directory service for end-user access
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47202End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting content on demand, e.g. video on demand
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • H04N21/64322IP
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0817Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W74/00Wireless channel access
    • H04W74/04Scheduled access
    • H04W74/06Scheduled access using polling

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Multimedia (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer And Data Communications (AREA)
  • Telephone Function (AREA)
  • Studio Devices (AREA)

Description

本発明は、通信装置及びその制御方法及びプログラム及び通信システムに関するものである。
近年の無線通信用デバイスの集積化により、携帯用パーソナルコンピュータ(いわゆるノートPC)のみならず、プリンタ、携帯情報端末、デジタルカメラ、スマートデバイス、スマートフォン等に無線LAN機能が搭載されるようになってきた。これにより従来、USB接続などの特定の機器との間で有線接続による通信手段しか持たなかった機器が、無線通信手段を有することにより様々な機器との間でデータ通信を行うことが可能となっている。例えば、スマートデバイスとデジタルカメラを接続して、デジタルカメラで撮影した画像をスマートデバイスに保存することができる。そして現在では、HTTPのようなサーバ・クライアントのシステムを用いて、デジタルカメラがサーバ側となってリモート撮影を実現することも可能である。
サーバ・クライアントシステムのようなシステムにおいては、サーバから自発的にクライアントに何らかの通知を行うことについては一定の制限があることが多い。この点については、まずクライアントからリクエストを送信し、サーバがその応答の保留状態を維持することにより、必要なタイミングでサーバが自発的にクライアントに通知を行う(ロングポーリング)ことが考えられる。その手法として、予め状態通知用のリクエストを送信して、サーバのステータスが変化したタイミングでレスポンスを返すといった方法がある(例えば特許文献1)。
特開2013−021526号公報
しかしながら、クライアントがサーバに対してロングポーリングリクエストを送信してからレスポンスが返ってくるまでの間に、ユーザはスマートデバイスを操作して他の機能を実行したい場合がある。この場合に他の機能を実行するにあたって、ロングポーリングのための通信を維持するのは無駄になる可能性が高い。
この課題を解決するため、例えば本発明の通信装置は以下の構成を備わる。すなわち、
リクエスト/レスポンス型の通信プロトコルを用いてクライアントと通信を行う通信手段と、
前記通信手段がクライアントから受信した要求に応じた処理を行い、受信した要求に対する応答を前記通信手段が前記クライアントに送信可能とする処理手段と、
前記通信手段が所定のポーリングリクエストを受信した場合であって、前記処理手段が前記所定のポーリングリクエストに対する応答を前記クライアントに送信する前に、前記クライアントから他の要求を受信した場合、前記所定のポーリングリクエストに対するキャンセルレスポンスを前記通信手段から送信すると共に、前記他の要求に応じた処理を前記処理手段に実行させる制御手段とを有する。
本発明によれば、無駄にロングポーリングのための通信を維持する事態を防止することができる。
第1の実施形態におけるデジタルカメラのブロック構成図、及び、外観図。 第1の実施形態におけるスマートデバイスのブロック構成図。 デジタルカメラとスマートデバイスのユースケースを示す図。 第1の実施形態におけるデジタルカメラからスマートデバイスへの画像のプッシュ送信のシーケンスを示す図。 第1乃至3の実施形態におけるスマートデバイスとデジタルカメラの画面の表示例を示す図。 第1の実施形態におけるスマートデバイスからリモート撮影要求を行う際のシーケンスを示す図。 第1の実施形態におけるデジタルカメラの処理を示すフローチャート。 第1の実施形態におけるスマートデバイスの処理を示すフローチャート。 第1の実施形態におけるスマートデバイスからリモート撮影終了要求を行う際のシーケンスを示す図。 第2の実施形態におけるデジタルカメラとスマートデバイスのシーケンスを示す図。 第2の実施形態におけるデジタルカメラの処理を示すフローチャート。
以下図面に従って本発明に係る実施形態を詳細に説明する。なお、以下に説明する実施の形態は、本発明の実現手段としての一例であり、本発明が適用される装置の構成や各種条件によって適宜修正又は変更されてもよい。また、各実施の形態を適宜組み合せることも可能である。
[第1の実施形態]
<デジタルカメラ100の内部構成>
図1(a)は、本実施形態の通信システムを構成する通信装置(サーバ)として機能するデジタルカメラ100の構成例を示すブロック図である。なお、ここでは通信装置の一例として画像データを記録媒体に記録可能なデジタルカメラについて述べるが、通信装置はこれに限られない。例えば通信装置は携帯型のメディアプレーヤや、いわゆるタブレットデバイス、パーソナルコンピュータ、種々の設備に接続または組み込まれた情報処理装置などであってもよい。また、取り扱うデータも画像データに限定されず、音声データ、文書データなどであってもよい。
制御部101は、入力された信号や、後述のプログラムに従ってデジタルカメラ100の各部を制御する。なお、制御部101が装置全体を制御する代わりに、複数のハードウェアが処理を分担することで、装置全体を制御してもよい。
撮像部102は、例えば、光学レンズユニットと絞り・ズーム・フォーカスなど制御する光学系と、光学レンズユニットを経て導入された光(映像)を電気的な映像信号に変換するための撮像素子などで構成される。撮像素子としては、一般的には、CMOS(Complementary Metal Oxide Semiconductor)や、CCD(Charge Coupled Device)が利用される。撮像部102は、制御部101に制御されることにより、撮像部102に含まれるレンズで結像された被写体光を、撮像素子により電気信号に変換し、ノイズ低減処理などを行いデジタルデータを画像データとして出力する。本実施形態のデジタルカメラ100では、画像データは、DCF(Design Rule for Camera File system)の規格に従って、記録媒体110に記録される。
不揮発性メモリ103は、電気的に消去・記録可能な不揮発性のメモリであり、制御部101で実行される後述のプログラム等が格納される。
作業用メモリ104は、撮像部102で撮像された画像データを一時的に保持するバッファメモリや、表示部106の画像表示用メモリ、制御部101の作業領域等として使用される。
操作部105は、ユーザがデジタルカメラ100に対する指示をユーザから受け付けるために用いられる。操作部105は例えば、ユーザがデジタルカメラ100の電源のON/OFFを指示するための電源ボタンや、撮影を指示するためのレリーズスイッチ、画像データの再生を指示するための再生ボタンを含む。さらに、後述の通信部111を介して外部機器との通信を開始するための専用の接続ボタンなどの操作部材を含む。また、後述する表示部106に形成されるタッチパネルも操作部105に含まれる。なお、レリーズスイッチは、SW1およびSW2を有する。レリーズスイッチが、いわゆる半押し状態となることにより、SW1がONとなる。これにより、AF(オートフォーカス)処理、AE(自動露出)処理、AWB(オートホワイトバランス)処理、EF(フラッシュプリ発光)処理等の撮影準備を行うための指示を受け付ける。また、レリーズスイッチが、いわゆる全押し状態となることにより、SW2がONとなる。これにより、撮影を行うための指示を受け付ける。
表示部106は、撮影の際のビューファインダー画像の表示、撮影した画像データの表示、対話的な操作のための文字表示などを行う。なお、表示部106は必ずしもデジタルカメラ100が内蔵する必要はない。デジタルカメラ100は内部又は外部の表示部106と接続することができ、表示部106の表示を制御する表示制御機能を少なくとも有していればよい。
記録媒体110は、撮像部102で撮像して得られた複数の撮像画像を記憶可能である。記録媒体110は、デジタルカメラ100に着脱可能なよう構成してもよいし、デジタルカメラ100に内蔵されていてもよい。すなわち、デジタルカメラ100は少なくとも記録媒体110にアクセスする手段を有していればよい。
通信部111は、外部装置と通信するためのインターフェースである。本実施形態のデジタルカメラ100は、通信部111を介して、外部装置とデータのやりとりを行うことができる。例えば、撮像部102で生成した画像データを、通信部111を介して外部装置に送信することができる。なお、本実施形態では、通信部111は外部装置とIEEE802.11の規格に従った、いわゆる無線LANで通信するためのインターフェースを含む。制御部101は、通信部111を制御することで外部装置との無線通信を実現する。なお、通信方式は無線LANに限定されるものではなく、例えば赤外通信方式も含む。通信部111は第1の無線通信手段の一例である。
近距離無線通信部112は、例えば無線通信のためのアンテナと無線信号を処理するため変復調回路や通信コントローラから構成される。近距離無線通信部112は、変調した無線信号をアンテナから出力し、またアンテナで受信した無線信号を復調することによりIEEE802.15の規格(いわゆるBluetooth(登録商標))に従った近距離無線通信を実現する。本実施形態においてBluetooth(登録商標)通信は、低消費電力であるBluetooth(登録商標) Low Energyのバージョン4.0を採用する。このBluetooth(登録商標)通信は、無線LAN通信と比べて通信可能な範囲が狭い(つまり、通信可能な距離が短い)。また、Bluetooth(登録商標)通信は、無線LAN通信と比べて通信速度が遅い。その一方で、Bluetooth(登録商標)通信は、無線LAN通信と比べて消費電力が少ない。本実施形態のデジタルカメラ100は、近距離無線通信部112を介して、外部装置とデータのやりとりを行うことができる。例えば外部装置から撮影の命令を受信した場合は撮像部102を制御し、撮影動作を行い、無線LAN通信によるデータの授受を行うための命令を受信した場合は通信部111を制御し、無線LAN通信を開始する。
近接無線通信部113は、例えば無線通信のためのアンテナと無線信号を処理するため変復調回路や通信コントローラから構成される。近接無線通信部113は、変調した無線信号をアンテナから出力し、またアンテナで受信した無線信号を復調することでISO/IEC 18092の規格(いわゆるNFC:Near Field Communication)に従った非接触近接通信を実現する。本実施形態の近接無線通信部113は、デジタルカメラ100の側部に配される。
スマートデバイス200とは、互いの近接無線通信部を近接させることにより通信を開始して接続される。なお、近接無線通信部を用いて接続させる場合、必ずしも近接無線通信部同士を接触させる必要はない。近接無線通信部は一定の距離だけ離れていても通信することができるため、互いの機器を接続するためには、近接無線通信可能な範囲まで近づければよい。以下の説明では、この近接無線通信可能な範囲まで近づけることを、近接させる、とも記載する。
また、互いの近接無線通信部が近接無線通信不可能な範囲にあれば、通信は開始されない。また、互いの近接無線通信部が近接無線通信可能な範囲にあって、デジタルカメラ100同士が通信接続されている際に、互いの近接無線通信部113が近接無線通信不可能な範囲に離れてしまった場合は、通信接続が解除される。なお、近接無線通信部113が実現する非接触近接通信はNFCに限られるものではなく、他の無線通信を採用してもよい。例えば、近接無線通信部113が実現する非接触近接通信として、ISO/IEC 14443の規格に従った非接触近接通信を採用してもよい。
本実施形態では、通信部111により実現される通信の通信速度は、後述の近接無線通信部113により実現される通信の通信速度よりも速い。また、通信部111により実現される通信は、近接無線通信部113による通信よりも、通信可能な範囲が広い。その代わり、近接無線通信部113による通信では、通信可能な範囲の狭さにより通信相手を限定することができるため、通信部111により実現される通信で必要な暗号鍵の交換等の処理を必要としない。すなわち、通信部111を用いるよりも手軽に通信することができる。
なお、本実施形態におけるデジタルカメラ100の通信部111は、インフラストラクチャモードにおけるアクセスポイントとして動作するAPモードと、インフラストラクチャモードにおけるクライアントとして動作するCLモードとを有している。そして、通信部111をCLモードで動作させることにより、本実施形態におけるデジタルカメラ100は、インフラストラクチャモードにおけるCL機器として動作することが可能である。デジタルカメラ100がCL機器として動作する場合、周辺のAP機器に接続することで、AP機器が形成するネットワークに参加することが可能である。また、通信部111をAPモードで動作させることにより、本実施形態におけるデジタルカメラ100は、APの一種ではあるが、より機能が限定された簡易的なAP(以下、簡易AP)として動作することも可能である。デジタルカメラ100が簡易APとして動作すると、デジタルカメラ100は自身でネットワークを形成する。デジタルカメラ100の周辺の装置は、デジタルカメラ100をAP機器と認識し、デジタルカメラ100が形成したネットワークに参加することが可能となる。上記のようにデジタルカメラ100を動作させるためのプログラムは不揮発性メモリ103に保持されているものとする。
なお、本実施形態におけるデジタルカメラ100はAPの一種であるものの、CL機器から受信したデータをインターネットプロバイダなどに転送するゲートウェイ機能は有していない簡易APである。したがって、自機が形成したネットワークに参加している他の装置からデータを受信しても、それをインターネットなどのネットワークに転送することはできない。
次に、デジタルカメラ100の外観について説明する。図1(b)、図1(c)はデジタルカメラ100の外観の一例を示す図である。レリーズスイッチ105aや再生ボタン105b、方向キー105c、タッチパネル105dは、前述の操作部105に含まれる操作部材である。また、表示部106には、撮像部102による撮像の結果得られた画像が表示される。また、本実施形態のデジタルカメラ100は、カメラ筺体の側面に近接無線通信部113のアンテナ部分を有する。この近接無線通信部113同士を一定の距離に近づけることにより、他の機器と近接無線通信を確立することができる。これにより、ケーブル等を介さずに非接触で通信可能であると共に、ユーザの意図に沿って通信相手を限定することができる。以上、実施形態におけるデジタルカメラ100の構成を説明した。
<スマートデバイス200の内部構成>
図2は、本実施形態の通信システムを構成する端末装置(情報処理装置)の一例であるスマートデバイス200の構成例を示すブロック図である。なお、ここでは情報処理装置の一例としてスマートデバイスについて述べるが、情報処理装置はこれに限られない。例えば情報処理装置は、無線機能付きのデジタルカメラ、タブレットデバイス、あるいはパーソナルコンピュータなどであってもよい。
制御部201は、入力された信号や、後述のプログラムに従ってスマートデバイス200の各部を制御する。なお、制御部201が装置全体を制御する代わりに、複数のハードウェアが処理を分担することで、装置全体を制御してもよい。
撮像部202は、撮像部202に含まれるレンズで結像された被写体光を電気信号に変換し、ノイズ低減処理などを行いデジタルデータを画像データとして出力する。撮像した画像データはバッファメモリに蓄えられた後、制御部201にて所定の演算を行い、記録媒体210に記録される。
不揮発性メモリ203は、電気的に消去・記録可能な不揮発性のメモリである。不揮発性メモリ203には、制御部201が実行する基本的なソフトウェアであるOS(オペレーティングシステム)や、このOSと協働して応用的な機能を実現するアプリケーションが記録されている。また、本実施形態では、不揮発性メモリ203には、デジタルカメラ100と通信するためのアプリケーション(以下アプリ)が格納されている。
作業用メモリ204は、表示部206の画像表示用メモリや、制御部201の作業領域等として使用される。
操作部205は、スマートデバイス200に対する指示をユーザから受け付けるために用いられる。操作部205は例えば、ユーザがスマートデバイス200の電源のON/OFFを指示するための電源ボタンや、表示部206に形成されるタッチパネルなどの操作部材を含む。
表示部206は、画像データの表示、対話的な操作のための文字表示などを行う。なお、表示部206は必ずしもスマートデバイス200が備える必要はない。スマートデバイス200は表示部206と接続することができ、表示部206の表示を制御する表示制御機能を少なくとも有していればよい。
記録媒体210は、撮像部202から出力された画像データを記録することができる。記録媒体210は、スマートデバイス200に着脱可能なよう構成してもよいし、スマートデバイス200に内蔵されていてもよい。すなわち、スマートデバイス200は少なくとも記録媒体210にアクセスする手段を有していればよい。
通信部211は、外部装置と接続するためのインターフェースである。本実施形態のスマートデバイス200は、通信部211を介して、デジタルカメラ100とデータのやりとりを行うことができる。本実施形態では、通信部211はアンテナであり、制御部201は、アンテナを介して、デジタルカメラ100と接続することができる。なお、デジタルカメラ100との接続では、直接接続してもよいしアクセスポイントを介して接続してもよい。データを通信するためのプロトコルとしては、例えば無線LANを通じたPTP/IP(Picture Transfer Protocol over Internet Protocol)を用いることができる。なお、デジタルカメラ100との通信はこれに限られるものではない。例えば、通信部211は、赤外線通信モジュール、WirelessUSB等の無線通信モジュールを含むことができる。さらには、USBケーブルやHDMI、IEEE1394など、有線接続を採用してもよい。
公衆網接続部213は、公衆無線通信を行う際に用いられるインターフェースである。スマートデバイス200は、公衆網接続部213を介して、他の機器と通話することができる。この際、制御部201はマイク214およびスピーカ215を介して音声信号の入力と出力を行うことで、通話を実現する。本実施形態では、公衆網接続部213はアンテナであり、制御部201は、アンテナを介して、公衆網に接続することができる。なお、通信部211および公衆網接続部213は、一つのアンテナで兼用することも可能である。
近距離無線通信部216は、例えば無線通信のためのアンテナと無線信号を処理するため変復調回路や通信コントローラから構成される。近距離無線通信部216は、変調した無線信号をアンテナから出力し、またアンテナで受信した無線信号を復調することによりIEEE802.15の規格(いわゆるBluetooth(登録商標))に従った近距離無線通信を実現する。本実施形態においてBluetooth(登録商標)通信は、低消費電力であるBluetooth(登録商標) Low Energyのバージョン4.0(BLE)を採用する。このBluetooth(登録商標)通信は、無線LAN通信と比べて通信可能な範囲が狭い(つまり、通信可能な距離が短い)。また、Bluetooth(登録商標)通信は、無線LAN通信と比べて通信速度が遅い。その一方で、Bluetooth(登録商標)通信は、無線LAN通信と比べて消費電力が少ない。
近接無線通信部217は、他機との非接触近接通信を実現するための通信ユニットである。近接無線通信部217は、無線通信のためのアンテナと無線信号を処理するための変復調回路や通信コントローラから構成される。近接無線通信部217は、変調した無線信号をアンテナから出力し、またアンテナで受信した無線信号を復調することにより非接触近接通信を実現する。ここでは、ISO/IEC 18092の規格(いわゆるNFC)に従った非接触通信を実現する。近接無線通信部216は、他のデバイスからデータ読み出し要求を受けると、不揮発性メモリ203に格納されているデータに基づき、応答データを出力する。本実施形態では、携帯電話200は、近接無線通信部216を通じて、NFCの規格で定義されているカードリーダモード、カードライタモードおよびP2Pモードで動作し、主にInitiatorとしてふるまう。対して、デジタルカメラ100は近接無線通信部113を介して、主にTargetとしてふるまう。以上、実施形態におけるスマートデバイス200の構成を説明した。
<プル送信、プッシュ送信、リモート撮影の概念説明>
図3(a)乃至(c)は、それぞれ異なる送信モードを説明するためのイメージ図である。各送信モードにおいて、サーバ機器に保存されているファイルをクライアント機器に送信する際の送信方法の違いを説明する。
図3(a)は、送信モードがプル送信の場合のイメージ図である。プル送信では、ユーザは、クライアント機器にて送信するファイルを選択する。クライアント機器は、サーバ機器に対して、ユーザが選択したファイルを要求し、サーバ機器は要求されたファイルをクライアント機器に送信する。
図3(b)は送信モードがプッシュ送信の場合のイメージ図である。プッシュ送信では、ユーザは、サーバ機器にて送信するファイルを選択する。クライアント機器はサーバ機器に対して、サーバ機器で選択したファイルを取得するために、送信ファイル取得要求を行う。サーバ機器は送信するファイルを選択し、選択が完了すると、選択ファイル取得要求に対して、送信対象のファイルの情報を送信する。クライアント機器はサーバ機器にて選択されたファイルを要求し、サーバ機器は要求されたファイルの送信を行う。
図3(c)はリモート撮影を示したイメージ図である。リモート撮影では、クライアント機器を操作して、サーバ機器を動作させるモードである。クライアント機器においてサーバ機器のライブビュー画像を表示するために、クライアント機器はサーバ機器に対して定期的にライブビュー取得要求を行い、サーバ機器がライブビューをクライアント機器に送信する。また、クライアント機器から設定の変更要求や画像の撮影要求を行うことにより、サーバ機器で設定の変更、画像の撮影を行うことができる。
本実施の形態では、デジタルカメラ100をサーバ機器、スマートデバイス200をクライアント機器として説明する。
<デジタルカメラ100からスマートデバイス200へプッシュ送信する際の課題と解決方法>
図3(b)に示すような、デジタルカメラ100からスマートデバイス200への画像のプッシュ送信を行うためには、デジタルカメラ100で選択した画像リストをスマートデバイス200へ送信する必要がある。画像リストを受信したスマートデバイス200は、デジタルカメラ100へ画像を要求して取得することにより、画像のプッシュ送信を実現する。しかしながら、HTTPのようなリクエスト/レスポンス型の通信プロトコルの場合、サーバとして動作しているデジタルカメラ100からクライアントとして動作しているスマートデバイス200へ、選択した画像のリストを自発的に送信することができない。この問題を解消するためには、何らかの方法でサーバ側からの自発的な送信(サーバプッシュ)を実現する必要がある。
そこで本実施形態では、ロングポーリングという技術を用いて、擬似的なサーバプッシュを実現する。ロングポーリングでは、まずクライアントからリクエストを送信し、サーバはあえてそのリクエストに対するレスポンスを保留しておく。そしてサーバは何らか通知を行うための任意のタイミングで、保留していたリクエストに対するレスポンスを送信する。このようにすることで、任意のタイミングでサーバからクライアントにデータを送信する、いわゆるサーバプッシュを擬似的に実現できる。
本実施形態では上記のロングポーリングを、図3のシステムに適用する。デジタルカメラ100において選択した画像リストをスマートデバイス200に任意のタイミングで送信するために、スマートデバイス200からデジタルカメラ100に対してロングポーリングリクエストを送信する。ロングポーリングリクエストを受信したデジタルカメラ100は、一旦このリクエストを保留状態にしておき、その間にユーザによる画像選択を受け付ける。そしてユーザが画像を選択した後にプッシュ送信を開始する際に、ロングポーリングリクエストのレスポンスとして、選択された画像リストをスマートデバイス200へ送信する。レスポンスを受信したスマートデバイス200は、受信した画像リストの画像をデジタルカメラ100に要求して取得することによりプッシュ送信を実現する。上述の例では、ユーザによる画像選択がいつ完了するかは、スマートデバイス200には予想できない。したがって、画像選択後にデジタルカメラ100が自発的にスマートデバイス200に対して画像リストを送信する形が適している。
以下、図4、図5を参照して、デジタルカメラ100を操作してスマートデバイス200へ画像をプッシュ送信する際の処理の流れについて説明する。図4は、デジタルカメラ100からスマートデバイス200へ画像をプッシュ送信する際のシーケンス図である。図5は、デジタルカメラ100とスマートデバイスにおける画面の例を示した図である。
まず、ステップS401において、デジタルカメラ100とスマートデバイス200は、Wi−Fi接続を行い、機器発見プロトコルによりお互いのデバイスを発見し、データ通信を行うためのプロトコル接続をすることにより機器同士の接続が完了する。データ通信を行うためのプロトコルとして、例えば、HTTPがあげられる。本実施形態では、デジタルカメラ100がHTTPサーバ、スマートデバイス200がHTTPクライアントとして動作するものとする。
次に、ステップS402において、クライアントであるスマートデバイス200は、デジタルカメラ100に対して、ロングポーリングリクエストを送信する。ロングポーリングリクエストを通常のリクエストを区別するためには、例えばリクエストコマンドに特定の引数やフラグを付与したり、別のリクエストコマンドを用意したりすることが考えられる。
ステップS403において、ロングポーリングリクエストを受信したデジタルカメラ100は、ユーザがスマートデバイス200へプッシュ送信したい画像を選択できるように画像選択画面を表示する。図5(a)の参照符号501に示すように、デジタルカメラ100では、記録媒体110に保存されている画像のリスト表示を行う。スマートデバイス200には、図5(b)に示すように操作メニューが表示され、参照符号504から507に示すように「カメラ内の画像一覧」「リモート撮影」「位置情報」「カメラ設定」といったメニュー項目の操作を行うことができる。参照符号504から507のいずれかの操作ボタンを押下すると、押下したボタンに応じた処理が実行される。ここでは、スマートデバイス200は操作しないものとする。
なお、「カメラ内の画像一覧」が操作された場合、スマートデバイス200は、デジタルカメラ100の記憶媒体110に記憶されている画像の一覧を示す情報を取得する。一覧の形態はサムネイル付の画像ファイル名(もしくは画像ファイルを特定するID)とする。「リモート撮影」が操作された場合、スマートデバイス200は、デジタルカメラ100の撮像部102を遠隔操作を行う。「位置情報」は、スマートデバイス200が、デジタルカメラ100に記憶されているユーザ選択画像に、スマートデバイス200が有するGPS(不図示)の位置情報を付加(書き込み)を行う。「カメラ設定」が操作された場合、ユーザはスマートデバイス200を操作して、デジタルカメラ100内の各種動作環境の設定を行う。設定内容としては、デジタルカメラ100におけるタイマの日時設定、ISO感度等である。
次に、ステップS404において、デジタルカメラ100の制御部101は、ユーザによる操作部105を介した、スマートデバイス200にプッシュ送信したい画像の選択を受け付ける。ユーザが送信したい画像を選択すると、制御部101は、図5(a)の参照502に示すように、選択されたことを示すチェックマークを表示する。
そして、ユーザによる送信指示を検出すると(送信ボタン503の押下を検出する)と、制御部101は、ステップS405において、デジタルカメラ100からスマートデバイス200への送信処理へと移行する。そのため、制御部101は、ステップS406において、スマートデバイス200に対して、ロングポーリングリクエストに対するレスポンスとして、ステップS404においてユーザが選択した画像リストを送信する。画像リストは、選択した画像を特定するIDリスト、或いは、画像ファイルを含むパス名のリストが記述されている。
次に、ステップS407において、スマートデバイス200は、ステップS406において受信した画像リストを参照し、画像リストに記載されている1つの画像のIDやパス名を用いて、画像取得要求をデジタルカメラ100に対して送信する。
デジタルカメラ100は、ステップS408において、デジタルカメラ100から受信した画像取得要求で特定された画像を、記録媒体110から取得し、スマートデバイス200に対して送信する。
以降、スマートデバイス200は、ステップS406において受信した画像リストに含まれる画像の数だけ、デジタルカメラ100に対して画像取得要求(S409)を行い、デジタルカメラ100はその要求に応える処理(S410)を行うことになる。
画像を送信中のデジタルカメラ100およびスマートデバイス200における画面例をそれぞれ、図5(c)、図5(d)に示す。デジタルカメラ100の制御部101は、選択した画像の総数を把握し、画像リストを送信してから、現在送信している画像が何枚目かも把握できる。故に、図示のような進捗状態を表示できる。また、スマートデバイス200の制御部201も、受信した画像リストから取得すべき画像の総数を把握でき、リストに記述された画像を順に要求するので、図5(d)に示すように、画像の受信状況を示すプログレスバーを表示できる。
スマートデバイス200はS406において受信した画像リストに含まれる画像を全てデジタルカメラ100から受信すると、ステップS411にて、再度ロングポーリングリクエストをデジタルカメラ100に対して送信する。ロングポーリングリクエストを受信したデジタルカメラ100は、ステップS403と同様にユーザが画像を選択できるように、画像選択画面を表示する。画像送信完了後のデジタルカメラ100、スマートデバイス200は、それぞれ、図5(a)、図5(b)のように画像送信前の画面に戻る。
以上のように、デジタルカメラ100は、スマートデバイス200からのロングポーリングリクエストのレスポンスに、ユーザにより選択された画像リストを含める。これにより、デジタルカメラ100からスマートデバイス200へ画像をプッシュ送信することが可能になる。
ここで、スマートデバイス200がデジタルカメラ100に対してロングポーリングリクエストを送信してから、そのレスポンス(画像リスト)が返ってくる間に、ユーザがスマートデバイス200を操作することが考えられる。
例えば、デジタルカメラ100とスマートデバイス200の接続が完了し、スマートデバイス200がデジタルカメラ100に対してロングポーリングリクエストを送信したことにより、デジタルカメラ100において画像の選択が可能な状態になる。その後、ユーザがスマートデバイス200に表示されているメニューから図5(b)のリモート撮影ボタン505を操作(押下)したとする。この場合、スマートデバイス200はデジタルカメラ100に対して、リモート撮影への遷移要求を送信して、デジタルカメラ100はリモート撮影状態へ遷移する。
しかし、デジタルカメラ100がスマートデバイス200からのロングポーリングリクエストを受信したままレスポンスを返していない状態で、リモート撮影遷移要求を受信しリモート撮影状態へ遷移すると、ロングポーリングを維持するためのリソースを使い続けてしまうという問題がある。
そこで、実施形態におけるデジタルカメラ100は、スマートデバイス200からのロングポーリングリクエストに対するレスポンスを返していない状態で、スマートデバイス200から「他の要求」を受信した場合、ロングポーリングリクエストに対するキャンセルレスポンスを返してから、「他の要求」に対する処理を行うようにした。以下、具体例で説明する。
<プッシュ送信からリモート撮影への遷移>
図5、図6、図7、図8を用いて、デジタルカメラ100とスマートデバイス200を接続後、スマートデバイス200を操作して、リモート撮影へ遷移する際の処理について説明する。
図6は、デジタルカメラ100とスマートデバイス200を接続後、スマートデバイス200を操作して、リモート撮影へ遷移する際のシーケンス図である。以下、同図に従って説明する。
まず、ステップS601において、デジタルカメラ100とスマートデバイス200は、Wi−Fi接続を行い、機器発見プロトコルによりお互いのデバイスを発見し、データ通信を行うためのプロトコル接続をすることにより機器同士の接続が完了する。前述のように、データ通信を行うためのプロトコルとして、例えば、HTTPがあげられる。デジタルカメラ100がサーバ、スマートデバイス200がクライアントとして動作する。
次に、ステップS602において、スマートデバイス200はデジタルカメラ100に対して、ロングポーリングリクエストを送信する。
このロングポーリングリクエストを受けたデジタルカメラ100は、ステップS603において、ユーザが送信したい画像を選択できるように、画像選択画面を表示する。図5(a)の501に示すように、デジタルカメラ100では、保存されている画像の選択画面の表示を行う。ユーザが送信したい画像を選択すると図5(a)の参照符号502に示すように、チェックマークが表示され、図5(a)の送信ボタン503を選択すると画像の送信を開始することができる。ここでは、ユーザは図5(a)の送信ボタン503を押していない、つまり画像の送信を開始していない状態とする。
この場合、スマートデバイス200は、デジタルカメラ200と接続完了後、図5(b)に示す操作メニューを表示する。このメニューには、図示の参照符号504から507に示すように「カメラ内の画像一覧」「リモート撮影」「位置情報」「カメラ設定」といったメニュー項目(処理項目)がある。ユーザは、操作ボタン504〜507のいずれか押下すると、押下したボタンに応じた処理を実行させることができる。ここで、S604にて、ユーザによるリモート撮影ボタン505を押下を検出したとする。この場合、スマートデバイス200は、ステップS605にて、デジタルカメラ100に対して、リモート撮影開始要求を送信する。
次に、ステップS606において、デジタルカメラ100はスマートデバイス200に対して、ステップS602において受信したロングポーリングリクエストに対するキャンセルレスポンスを送信する。この処理は、リモート撮影時にロングポーリングリクエストに応答する必要はないため、ロングポーリングを維持するリソースを無駄にしないことを目的としている。
デジタルカメラ100は、ステップS607にて、リモート撮影動作に遷移する処理を行う。リモート撮影動作に遷移する処理とは、例えば、鏡筒を繰り出してデジタルカメラで画像を撮影できる状態にする処理のことである。デジタルカメラ100はリモート撮影動作に遷移する処理が完了すると、図5(e)に示すように、「接続先の機器を操作してください」等の、デジタルカメラ100が操作不可であることを示すメッセージを表示する。
次に、ステップS608において、デジタルカメラ100はスマートデバイス200に対して、リモート撮影動作へ遷移する処理が完了し、リモート撮影動作へ遷移したことを通知する。
次に、ステップS609において、スマートデバイス200はデジタルカメラ100に対して、デジタルカメラ100において、設定可能な撮影パラメータなどのパラメータ取得要求を送信する。撮影パラメータとは、例えば、絞り値(Av)やシャッター速度(Tv)、ISO感度などである。この要求に対し、デジタルカメラ100は、ステップS610において、スマートデバイス200に対して、デジタルカメラ100において設定可能なAv値やTv値、ISO感度などの撮影パラメータの情報を送信する。
次に、ステップS611において、スマートデバイス200はデジタルカメラ100に対して、ライブイメージの取得要求を送信する。デジタルカメラ100は、ステップS612において、スマートデバイス200に対して、デジタルカメラで撮影したライブイメージを送信する。
ステップS613、ステップS614に示すように、ステップS611、ステップS612と同様の繰り返すことにより、スマートデバイス200はデジタルカメラ100において撮影した画像を定期的に取得することによりライブ画像を表示することができる。図5(f)は、この間の、スマートデバイス200の表示部206のライブ画像の表示例を示している。なお、ライブ画像の転送中は、撮像部102で撮像した画像を予め設定された解像度まで間引きした画像が送信対象とする。また、リモート撮影でスマートデバイス200において可能な操作として、図5(f)の撮影ボタン508を押下することにより、デジタルカメラ100による高解像度の画像を撮影することができる。また、図5(f)の戻るボタン509を押下することにより、リモート撮影を終了することができる。また、図5(f)の情報ボタン510を押下することにより、デジタルカメラ100の撮影パラメータなどの情報を画面上に表示することができる。また、図5(f)のズームボタン511を操作することにより、デジタルカメラ100の画角を調整することができる。また、図5(f)の設定ボタン512を押下することにより、デジタルカメラ100の撮影パラメータなどの設定を行うことができる。
次に、ステップS615において、スマートデバイス200の制御部201が、操作部205を介して、図5(f)の撮影ボタン508の押下を検出したとする。この場合、ステップS616において、スマートデバイス200はデジタルカメラ100に対して、撮影要求を送信する。
次に、ステップS617において、デジタルカメラ100は撮像部202による高い解像度の画像の撮像処理を行い、撮影した画像を記録媒体210に保存する。次に、ステップS618において、デジタルカメラ100は、撮影完了通知を、S616の要求に対する応答として、スマートデバイス200に送信する。
次に、ステップS619において、スマートデバイス200はデジタルカメラ100に対して、撮影した画像のサムネイル取得要求を行う。次に、ステップS620において、デジタルカメラ100はスマートデバイス200に対して、撮影した画像のサムネイルを送信する。
次に、ステップS621において、スマートデバイス200は画面上に、ステップS620において受信したサムネイルのプレビュー表示を行うことにより、ユーザは撮影した画像を確認することができる。
以上のように、デジタルカメラ100とスマートデバイス200はリモート撮影状態に遷移し、リモート撮影の処理を行う。
次に、実施形態におけるデジタルカメラ100の処理を、図7A,7Bを参照して説明する。なお、同図に係るプログラムは、不揮発メモリ103に格納されているものである。そして、電源投入した際、デジタルカメラ100の制御部101が、不揮発メモリ103に格納されているプログラムを作業用メモリ104に展開して実行する。
まず、ステップS701において、制御部101は、通信部111を介してスマートデバイス200との接続処理を行い、接続が完了した場合に処理をステップS702に進める。
ステップS702にて、制御部101は、スマートデバイスから何らかのリクエストを受信したか否かを判定する。否の場合には、制御部101はステップS702にてユーザが選択可能な画像の一覧画面(図5(a)参照)を表示中か否かを判定する。画像の一覧画面の表示は、後述するステップS704で行われるものであるので、ここでは非表示であるものとする。従って、処理はS702に戻り、制御部101はスマートデバイス200からのリクエストを待つことになる。
さて、制御部101が、スマートデバイス200から何らかのリクエストが受信した判定した場合、処理をステップS702からステップS703に進める。このS703にて制御部101は、受信したリクエストがロングポーリングリクエストか否かを判定する。ロングポーリングリクエストである場合、制御部101はステップS704に処理を進め、画像の選択画面501(図5(a))を表示し、処理をステップS702に戻す。
ステップS704にて、画像の選択画面が表示されるわけであるから、ステップS705の判断はYesとなり、ステップS706、S707にてユーザからの操作入力の有無と、その種類の判定を行うことになる。すなわち、制御部101は、ステップS706、S707にて、画像選択画面501に対して、画像の選択操作、或いは、送信ボタン503のいずれが操作されたかを判定する。いずれの操作もなかった場合、制御部101は処理をステップS702に戻す。また、画像選択画面501にて、ユーザによる画像の選択であった場合には、制御部101は、ステップS706からステップS708に処理を進める。このステップS708にて、制御部101は、予め作業用メモリ104に確保されたリストに、選択した画像を特定する情報(記録媒体110の格納先パス名付きのファイル名等)を追記し、処理をS702に戻す。これを繰り返すことで、ユーザは、望む画像を望む数だけ選択できることになる。また、ユーザの操作が、送信ボタン503の押下であった場合、制御部101は処理をステップS707からステップS709に進める。このステップS709にて、制御部101は、作業用メモリ104に構築されたリストを適当なフォーマットに変換し、ロングポーリングリクエストの応答としてスマートデバイス200に送信する。リストを受け取ったスマートデバイス200は、リスト中に記述されている個々の画像の送信要求してくることになる。それ故、制御部101は、ステップS710にて、画像の選択画面に代えて、送信の進捗を示す送信プログレス画面(図5(c))を表示し、処理をステップS702に戻す。なお、送信プログレス画面が表示された場合、ステップS703の判定はNoとなり、ユーザによる操作入力の判定が行わなくなる。
さて、ステップS703にて、制御部101は、ステップS702で受信有りと判定されたリクエストがロングポーリング以外のリクエストであると判定した場合、処理をステップS711に進める。
このステップS711にて、制御部101は画像選択画面501を表示中か否か、つまり、ユーザによる画像選択中であるか否かを判定する。画像選択画面を表示している状況は、デジタルカメラ100が、スマートデバイス200からのロングポーリングリクエストに対する応答を未だ行っていないことを意味する。それ故、制御部101は、ステップS712にて、ロングポーリングリクエストに対する応答として、キャンセルレスポンスを通信部111を介して、スマートデバイス200に送信し、処理をステップS713に進める。
ステップS713にて、制御部101は、S702で受信有りと判定されたリクエストが、リモート撮影リクエストであるか否かを判定する。これは、ユーザがスマートデバイス200に表示された図5(b)の操作ボタン505を操作したか否かを判定することに対応する。
受信したリクエストがリモート撮影リクエストであった場合、制御部101は処理をステップS714に進め、リモート撮影処理に移行する。一方、リモート撮影リクエスト以外のリクエストを受信した場合、制御部101はステップS715にて、対応する処理を行い、その結果を応答として送信する処理を行う。なお、デジタルカメラ100が画像リストをスマートデバイス200に送信した後の、スマートデバイス200からの画像送信要求受信と画像送信処理(図4のS407,S408)も、このステップS715にて行われる。
図7Bは、ステップS714の詳細を示すフローチャートである。以下、同図に従い実施形態におけるリモート撮影処理を説明する。
まずステップS721にて、制御部101は、図5(e)に示すように、スマートデバイス200によるリモート撮影に移行したことを示すメッセージを表示する。そして、ステップS722にて、制御部101はリモート撮影の準備処理(撮像部101の駆動開始)を行う。そして制御部101は、ステップS723にて、撮影準備が整ったことを示す通知を、リモート撮影リクエストに対する応答としてスマートデバイス200に送信する。
この後、制御部101は、以下に説明するように、ステップS724乃至S729にてスマートデバイスからの更なる要求を待ち、その要求に応じた処理をステップSS730乃至S735で行う。
受信した要求が撮影パラメータ要求であった場合、制御部101はステップS724からステップS730に処理を進める。このステップS730にて、制御部101は、撮像部102から現在設定可能な撮影パラメータを取得して、通信部111を介して、スマートデバイス200にその撮影パラメータを、要求の応答として送信し、処理をステップS724に戻す。
受信した要求がズーム倍率等の撮影パラメータの設定要求であった場合、制御部101はステップS725からステップS731に処理を進める。このステップS731にて、制御部101は、撮像部102に対して設定されたパラメータを設定し、スマートデバイス200に設定完了を示す通知を、要求の応答として送信し、処理をステップS724に戻す。
受信した要求がライブイメージの要求であった場合、制御部101はステップS726からステップS732に処理を進める。このステップS732にて、制御部101は、撮像部102による撮像処理を行い、予め設定された解像度まで間引きした画像を生成する。そして、制御部101は、生成した画像を、ライブイメージ要求に対する応答として、スマートデバイス200に送信し、処理をステップS724に戻す。
受信した要求が、撮影要求(図5の撮影ボタン508の押下に対応する)であった場合、制御部101はステップS727からステップS733に処理を進める。このステップS733にて、制御部101は、撮像部102による撮像処理を行い、高解像度の画像データとして記録媒体110に格納する。そして、制御部101は、ステップS734にて、撮影完了の通知を、撮影要求の応答としてスマートデバイス200に送信し、処理をステップS724に戻す。
受信したサムネイルの要求であった場合、制御部101はステップS728からステップS735に処理を進める。このステップS735にて、制御部101は、記録媒体110に記憶されている、直近に撮影した画像のサムネイルを生成し、サムネイル要求に対する応答として、スマートデバイス200に送信し、処理をステップS724に戻す。
受信した要求がリモート撮影の終了要求であった場合(図5(f)の「戻る」ボタン509の操作に対応)、制御部101はステップS729からS726に処理を進める。このステップS726にて、制御部101は終了要求を受け付けた旨を示す応答をスマートデバイス200に送信する。そして、制御部101は、ステップS702に処理を戻す。
次に、図8Aを参照して、実施形態におけるスマートデバイス200の通信処理を説明する。同図に係るプログラムは、不揮発性メモリ203に格納されるものである。そして、制御部201が、不揮発性メモリに格納されたプログラムを作業用メモリ204に展開して実行することにより実現される。
まず、ステップS801において、制御部201は、接続部211を介してデジタルカメラ100と接続処理を行い、その接続処理を完了すると、処理をステップS802に進む。ステップS801は、図6のステップS601に相当する。
次に、ステップS802において、制御部201は、接続部211を介してデジタルカメラ100に対してロングポーリングリクエストを送信し、ステップS803に進む。ステップS802は、図6のステップS602に相当する。
次に、ステップS803において、制御部201は、デジタルカメラ100との通信におけるメニュー画面を表示部206に表示する(図5(b)参照)。
この後、制御部201は、ステップS804、S805のループにて、先に送信したロングポーリングに対するデジタルカメラ100からの応答、或いは、操作部205を介した、ユーザからの表示メニューに対する指示入力を待つ。
デジタルカメラ100からロングポーリングに対する応答を受信した場合、制御部201は処理をステップS806に進める。このステップS806では、制御部201は、ロングポーリングに対する応答である選択画像リストに記述された全画像に対する要求と、画像受信&格納処理を繰り返す。かかる処理は、図4のステップSS407〜S410に相当するものである。
デジタルカメラ100から、ロングポーリングに対する応答を受信した場合、制御部201は処理をステップS804からステップS806に処理を進める。このステップS806にて、制御部201は、ロングポーリングに対する応答に含まれる選択画像リストに記述された各画像の要求と、受信及び不揮発性メモリ203、或いは、記録媒体210への格納処理を行う。全画像の受信、格納処理を終えると、制御部201は処理をステップS802に戻す。
一方、表示部206に表示されたメニューの対する指示入力があると、制御部201はステップS805からステップS807に処理を進める。ステップS807にて、制御部201は、操作されたのがメニュー中のリモート撮影ボタン505であるか否かを判定する。リモート撮影ボタン505が操作された場合、制御部201は処理をステップS808に進め、リモート撮影処理に移行する。一方、リモート撮影ボタン505以外が操作された場合、制御部201は処理をステップS809に進め、対応する処理に移行する。
図8Bは、ステップS808の処理の詳細である。以下、同図に従い、リモート撮影処理を説明する。
まず、ステップS821にて、制御部201は、デジタルカメラ100からロングポーリングに対するキャンセル応答の受信を待つ。これは図6のS606に対応する。
次に、制御部201は、ステップS822にて、リモート撮影要求に対する応答の受信を待つ。これは図6のS608に対応する。
ステップS823にて、制御部201は、通信中のデジタルカメラ100に対する撮影パラメータの要求を行い、その応答を受信する。この結果、制御部201は、デジタルカメラ100の特性情報(ズーム倍率の範囲など)を得ることができる。そして制御部201は、ステップS824にて、ライブ画像の表示、並びに、撮影パラメータを設定するためのライブビューワを表示部206に表示する(図5(f)参照)。
この後、ステップS825にて、制御部201はデジタルカメラ100に対してライブ画像の取得要求を送信すると共に、要求した画像の受信及びライブビューワへの表示処理を行う。そして、ステップS826にて、制御部201がライブビューワにおける操作指示入力があったか否かを判定し、否の場合に処理をステップS825に戻す。従って、ユーザが何も操作しない限り、ステップS825が繰り返し実行されるので、デジタルカメラ100が撮像したライブ画像をスマートデバイス200の表示画面に表示することが可能になる。
ここで、ユーザが例えばズーム倍率を変更する等、撮影パラメータ変更の操作を行ったとする。この場合、制御部201はステップS827からステップS828に進み、設定されたパラメータ(ここでは倍率)の撮影要求をデジタルカメラ100に送信すると共に、デジタルカメラ100からの応答受信処理を行う。そして、制御部201は、処理をステップS825に戻す。従って、以降、スマートデバイス200は、設定したパラメータに従って撮影したライブ画像の受信と表示を行うことが可能になる。
また、ユーザからの指示が撮影パラメータの変更ではなく、撮影ボタン508の押下であった場合、制御部201はステップS829からS830に処理を進める。このステップS830にて、制御部201は撮影要求をデジタルカメラ100に送信する。デジタルカメラはこの要求を受けて、撮像部102を用いた高解像度の画像の撮像処理を行うことになる。撮像が完了すると、デジタルカメラ100は撮像が完了したことを示す応答を送信してくるので、スマートデバイス200の制御部201はその応答を受信する。
次いで、制御部201は、ステップS831の要求に従ってデジタルカメラ100が撮影した画像のサムネイルを要求し、サムネイルを取得する。そして、制御部201は、取得したサムネイルを、予め設定された時間(例えば5秒)だけ表示部206に表示した後、処理をステップS825に戻す。
また、ユーザからの指示が撮影指示でもないと判定した場合、制御部201はステップS829からステップS833に進める。このステップS833にて、制御部201はボタン509が押下されたか否か、すなわち、リモート撮影の終了指示があったか否かを判定する。否の場合、制御部201は処理をステップS825に戻す。また、リモート撮影の指示であった場合、制御部201はリモート撮影処理を終えるため、処理をステップS834に進める。このステップS834にて、制御部201は、デジタルカメラに対してリモート撮影の終了要求を送信し、その要求を受け付けたことを示す応答を受信する。この後、制御部201は、処理を図8AのステップS802に戻す。ステップS802に戻ると、制御部201はロングポーリング要求を送信する処理を行うことになり、デジタルカメラ200は再び画像選択画面(図5(a))を表示し、スマートデバイス200はデジタルカメラとの通信に係るメニュー画面(図5(b))の表示を行うことになる。
以上説明した処理により、デジタルカメラ100とスマートデバイス200はプッシュ送信状態からリモート撮影状態へ遷移することができる。
<リモート撮影からプッシュ送信への遷移>
次に、図5、図9を参照して、デジタルカメラ100とスマートデバイス200がリモート撮影状態から抜けてプッシュ送信状態へ戻る際の処理について説明する。
図5は、デジタルカメラ100とスマートデバイス200における画面の例を示した図である。図9は、デジタルカメラ100とスマートデバイス200がリモート撮影状態から抜けてプッシュ送信状態へ戻る際のシーケンス図である。
まず、ステップS901において、スマートデバイス200がデジタルカメラ100に対して、ライブイメージ取得要求を送信する。
次に、ステップS902において、デジタルカメラ100がスマートデバイス200に対してライブイメージを送信し、スマートデバイス200でライブイメージの表示を行う。
ステップS901とステップS902を繰り返し行うことにより、スマートデバイス200でデジタルカメラ200のライブビューを表示することができる。スマートデバイス200では、図5(f)に示すようにライブイメージを表示しており、撮影や設定など、デジタルカメラ100を操作することができる。
次に、ステップS903において、ユーザがスマートデバイス200の画面に表示されているリモート撮影終了ボタン(図5(f)の「戻る」ボタン609)を押下することにリモート撮影処理を終了する。
次に、ステップS904において、スマートデバイス200はデジタルカメラ100に対して、リモート撮影終了要求を送信する。
次に、ステップS905において、デジタルカメラ100はステップS904におけるリモート撮影終了要求を受信して、リモート撮影終了処理を実行する。デジタルカメラ100は、鏡筒の沈胴など、撮影に関する処理を終了する。
次に、ステップS906において、デジタルカメラ100はステップS905におけるリモート撮影終了処理が完了すると、スマートデバイス200に対して、リモート撮影処理完了通知を送信する。スマートデバイス200は、リモート撮影処理完了通知を受信すると、図5(b)に示すように、操作メニュー画面に戻り、ユーザは操作メニューに表示された操作を選択することができる。
上記は図8Bにて、リモート撮影の終了指示を行った場合、図8AのステップS802に戻る場合に対応する。
次に、ステップS907において、スマートデバイス200は、デジタルカメラ100に対して、ロングポーリングリクエストを送信する。
次に、ステップS908において、ロングポーリングリクエストを受信したデジタルカメラ100は、図5(a)に示す画像選択画面に遷移し、ユーザは画像を選択してプッシュ送信を開始することができる。
このように、デジタルカメラ100とスマートデバイス200はリモート撮影状態からプッシュ送信状態へ遷移することもできる。
以上説明したように第1の実施形態によれば、デジタルカメラにおいてプッシュ送信を開始する前に、スマートデバイスからリモート撮影要求を受信した場合、ロングポーリングリクエストに対するキャンセルレスポンスを送信する。そして、その後で、デジタルカメラは、リモート撮影要求の処理に遷移することにより、リソースを使い続けることなくリモート撮影を行うことができる。
[第2の実施形態]
<カメラのロングポーリングリクエストのレスポンスとスマホの要求がバッティングした場合>
デジタルカメラ100とスマートデバイス200が接続完了後、ユーザがデジタルカメラ100を操作して画像を選択してスマートデバイス200に対してプッシュ送信することが可能であるのと同時に、ユーザがスマートデバイス200を操作して、リモート撮影などの処理に遷移することも可能である。つまり、ユーザは、デジタルカメラ100のプッシュ送信開始ボタンとスマートデバイス200のリモート撮影開始ボタンを同時に押下することが可能である。そこで、デジタルカメラからのプッシュ送信開始処理とスマートデバイスからのリモート撮影開始処理がバッティングした場合の処理について説明する。
まず、図5、図10、図11を参照して、デジタルカメラ100が、ユーザからの画像選択後、スマートデバイス200に対してロングポーリングリクエストのレスポンスを返す前に、スマートデバイス200からリモート撮影開始要求を受信した場合について説明する。
図10は、デジタルカメラ100において画像選択後、スマートデバイス200に対してロングポーリングリクエストのレスポンスを返す前に、スマートデバイス200からリモート撮影開始要求を受信した場合のデジタルカメラ100とスマートデバイス200のシーケンス図である。
ステップS1201からステップS1204については、図4のステップS401からステップS404と同様であるため、説明を省略する。
ステップS1205において、ユーザはデジタルカメラ100を操作して、ステップS1204において選択した画像のスマートデバイス200へのプッシュ送信開始を指示する。図5(a)の送信ボタン503を選択するとスマートデバイス200への画像送信を開始することができる。
また、ステップS1206において、ユーザはスマートデバイス200を操作して、リモート撮影開始を指示する。図5(b)のリモート撮影ボタン505を押下することによりリモート撮影を開始することができる。
次に、ステップS1207において、スマートデバイス200はデジタルカメラ100に対して、リモート撮影開始要求を送信する。本第2の実施形態においては、ステップS1205のデジタルカメラ100におけるプッシュ送信開始指示と、ステップS1206のスマートデバイス200におけるリモート撮影開始指示がほぼ同時であるものとする。さらに、ステップS1207のデジタルカメラ100におけるリモート撮影開始要求の受信は、ステップS1205のデジタルカメラ100におけるプッシュ送信開始ボタン押下後、スマートデバイス200に対するロングポーリングリクエストのレスポンスの送信より早いものとする。ステップS1205の後に、ステップS1207のリモート撮影開始要求の受信より、ロングポーリングリクエストに対するレスポンスが早い場合、リモート撮影開始要求を無視し、図4に示すプッシュ送信を行う。
次に、ステップS1208において、デジタルカメラ100は、ステップS1205において開始したプッシュ送信処理のキャンセルを行う。つまり、デジタルカメラ100の制御部101は、ロングポーリングリクエストに対して準備していたレスポンスを破棄する。
ステップS1209からステップS1223は、図6のステップS606からステップS621と同様であるため、説明を省略する。
図11は、デジタルカメラ100において、画像選択後スマートデバイス200に対してロングポーリングリクエストのレスポンスを返す前に、スマートデバイス200からリモート撮影開始要求を受信した場合のデジタルカメラ100における処理を示したフローチャートである。このフローチャートにおける各処理は、制御部101が、不揮発メモリ103に格納されたプログラムを作業用メモリ104に展開して実行することにより実現される。
図11と、第1の実施形態における図7Aとの違いは、ステップS707にて、図5(a)の送信ボタン503の押下があったと判定を行った直後に、スマートデバイスかリモート撮影要求を受信しているか否かの判定ステップS1101を追加した点である。このステップS1101にて、制御部101がリモート撮影要求を受信していたと判定した場合には、ステップS709に処理が進まず、ステップS712に処理が進み、ロングポーリングに対するキャンセルを示す応答を返し(図10のステップS1209に対応)、その後、リモート撮影の判定であるステップS713は必ずYesとなり、リモート撮影へ移行することになり、図10のシーケンスが実現できる。
以上のように、スマートデバイス200からのリモート撮影要求が、ロングポーリングリクエストに対するレスポンスの送信より早い場合は、リモート撮影を優先させることが可能になる。
また、デジタルカメラからのプッシュ送信開始処理とスマートデバイスからのリモート撮影開始処理がバッティングした場合、デジタルカメラの操作を優先して、スマートデバイスに対してビジー状態通知を送信するようにしても良い。
図5(g)にスマートデバイス200において、デジタルカメラ100からビジー状態通知を受信した場合の画面表示例を示す。デジタルカメラ100を操作中に、スマートデバイス200を操作してリモート撮影などに遷移しようとしてボタンを押下した場合、デジタルカメラ100からビジー状態通知をスマートデバイス200に通知する。ビジー状態通知を受信したスマートデバイス200上では、図5(g)の513に示すように、「カメラ操作中のため操作できません」などの文言を表示して、ユーザが操作できないようにする。デジタルカメラ100が操作中とは、例えば、デジタルカメラ100においてユーザ操作により画像が1枚でも選択されている場合には、リモート撮影開始要求が来ても、ビジー状態通知をスマートデバイス200に対して送信する。
以上のように、第2の実施形態によれば、デジタルカメラでプッシュ送信しようとしているときに、スマートデバイスからリモート撮影開始要求が来た場合、ロングポーリングリクエストのレスポンスを送信する前であれば、スマートデバイスからのリモート撮影開始要求を優先することにより、リモート撮影に遷移することができる。
また、ユーザがデジタルカメラでプッシュ送信しようと画像を選択している場合は、スマートデバイスからのリモート撮影開始要求に対して、ビジー状態通知を送信することにより、画像選択中にリモート撮影に遷移することができないようにすることができる。
[第3の実施形態]
<スマホからの要求がリモート撮影以外の場合>
第1、第2の実施形態においては、デジタルカメラとスマートデバイスが接続完了後のスマートデバイスでの操作をリモート撮影として説明したが、本第3の実施形態においては、スマートデバイスでの操作がリモート撮影以外の場合について説明する。
デジタルカメラとスマートデバイスが接続完了後、スマートデバイスにおいて操作可能な機能として、図5(b)の504から507に示すように、「カメラ内の画像一覧」「リモート撮影」「位置情報」「カメラ設定」があげられる。
リモート撮影以外の操作を行った場合の処理についても、リモート撮影の操作を行った場合の処理と同様である。例えば、スマートデバイスで「カメラ内の画像一覧」の操作を行った場合、デジタルカメラはカメラ内の画像一覧表示開始要求を受信すると、ロングポーリングリクエストに対するキャンセルレスポンスをスマートデバイスに送信してからカメラ内の画像一覧表示要求に対する処理を行う。デジタルカメラでは、スマートデバイスから何らかの要求を受信した場合、まず、ロングポーリングリクエストに対するキャンセルレスポンスを送信してから、受信した要求に対する処理を行う。
図5(b)の504から507に示すように、「カメラ内の画像一覧」「リモート撮影」「位置情報」「カメラ設定」のいずれを操作した場合、図7Aによれば、画像選択画面の場合には、操作された種類を問わずロングポーリングのキャンセル応答が送信され(S711)、その後、ステップS714に進んで対応する処理を行うことになっているので、上記第3の実施形態を実現できる。
また、デジタルカメラとスマートデバイスが接続完了後、デジタルカメラからのプッシュ送信開始とスマートデバイスからの他の処理開始要求がバッティングした場合についても同様である。デジタルカメラにおいてロングポーリングリクエストに対するキャンセルレスポンスを送信する前に他の要求が来た場合は、他の要求を優先してもよい。もしくは、デジタルカメラにおいてユーザがプッシュ送信したい画像を選択中に、他の要求が来た場合はビジー状態通知を送信し、スマートデバイス側で警告表示を出してもよい。
以上のように、第3の実施形態によれば、デジタルカメラにおいて、リモート撮影以外の要求を受信した場合も、まず、ロングポーリングリクエストに対するキャンセルレスポンスを送信してから、受信した要求に対する処理を行うことにより、リソースを使い続けることなく、他の処理に遷移することができる。
また、デジタルカメラでプッシュ送信しようとしているときに、スマートデバイスから要求が来た場合、ロングポーリングリクエストのレスポンスを送信する前であれば、スマートデバイスからの要求を優先することにより、スマートデバイスから指定した操作に遷移することができる。
また、デジタルカメラでプッシュ送信しようと画像を選択している場合は、スマートデバイスからの要求に対して、ビジー状態通知を送信することにより、画像選択中に他の操作に遷移することができないようにすることができる。
以上説明したように、本発明によれば、デジタルカメラにおいて、スマートデバイスから何らかの要求を受信した場合は、ロングポーリングリクエストに対するキャンセルレスポンスを送信してから、受信した要求に対する処理を行うことにより、リソースを使い続けることなく、他の処理に遷移することが可能となる。
また、デジタルカメラでプッシュ送信しようとしているときに、スマートデバイスから何らかの要求が来た場合、ロングポーリングリクエストのレスポンスを送信する前であれば、スマートデバイスからの要求を優先することにより、スマートデバイスから指定した操作に遷移することが可能となる。
さらに、デジタルカメラでプッシュ送信しようと画像を選択している場合は、スマートデバイスからの要求に対して、ビジー状態通知を送信することにより、画像選択中に他の操作に遷移することができないようにすることも可能となる。
なお、本発明では、接続完了後すぐにスマートデバイスからデジタルカメラに対してロングポーリングリクエストを送信し、デジタルカメラはロングポーリングリクエストを受信して画像選択画面に遷移しプッシュ送信が開始できるという構成とした。しかし、接続完了時にはスマートデバイスからデジタルカメラに対してロングポーリングリクエストを送信せず、例えば、スマートデバイス側でプッシュ送信の開始を指示するボタンがある場合には、そのボタンが押された場合にロングポーリングリクエストをデジタルカメラに対して送信することにより、デジタルカメラからプッシュ送信を開始できるという構成としてもよい。このような構成にすることにより、ユーザが好きなタイミングでプッシュ送信へ遷移することができる。
また、本発明では、デジタルカメラにおいて画像選択中にスマートデバイスから他の要求を受信した場合、スマートデバイスに対して、デジタルカメラが処理中でビジー状態である示す通知を送信し、スマートデバイス側で警告表示を行うという構成とした。しかし、デジタルカメラにおいて画像選択中にスマートデバイスから他の要求を受信した場合、デジタルカメラ側に警告表示を行うという構成でもよい。このような構成にすることで、画像を選択しようとデジタルカメラを操作している際に、スマートデバイスから何らかの要求が来たことを操作しているデジタルカメラ側で知ることができる。
また、本発明では、デジタルカメラとスマートデバイスが接続完了後、デジタルカメラにおいて、スマートデバイスから何らかの要求を受信した場合は、ロングポーリングリクエストに対するキャンセルレスポンスを送信するという構成とした。しかし、デジタルカメラにおいてプッシュ送信できないと判断した場合、例えば、送信できる画像がない場合もスマートデバイスに対してキャンセルレスポンスを送信するという構成としてもよい。このような構成にすることで、スマートデバイスにデジタルカメラにおいてプッシュ送信ができないことを伝えることが可能であり、スマートデバイスで警告表示などを表示することができる。
(その他の実施例)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
100…デジタルカメラ、101、201…制御部、102、202…撮像部、103、203…不揮発性メモリ、104、204…作業用メモリ、105、205…操作部、106、206…表示部、110、210…記録媒体、111、211…通信部、112、212…近距離通信部、200…スマートデバイス

Claims (12)

  1. リクエスト/レスポンス型の通信プロトコルを用いてクライアントと通信を行う通信手段と、
    前記通信手段がクライアントから受信した要求に応じた処理を行い、受信した要求に対する応答を前記通信手段が前記クライアントに送信可能とする処理手段と、
    前記通信手段が所定のポーリングリクエストを受信した場合であって、前記処理手段が前記所定のポーリングリクエストに対する応答を前記クライアントに送信する前に、前記クライアントから他の要求を受信した場合、前記所定のポーリングリクエストに対するキャンセルレスポンスを前記通信手段から送信すると共に、前記他の要求に応じた処理を前記処理手段に実行させる制御手段と
    を有することを特徴とする通信装置。
  2. 表示手段、複数の画像を記憶可能な記憶手段、及び、ユーザからの指示を入力するための操作手段とを更に有し、
    前記処理手段は、
    クライアントから前記所定のポーリングリクエストを受信した場合に、前記記憶手段に記憶されている画像の中から、前記クライアントに送信する対象の画像をユーザが選択可能に前記表示手段に表示し、
    前記操作手段を介した画像の選択に応じて送信対象の画像を表すリストを生成し、
    前記操作手段を介して送信指示が入力された場合に、前記リストを前記所定のポーリングリクエストに対する応答として送信する
    ことを特徴とする請求項1に記載の通信装置。
  3. 前記記憶手段に記憶する画像を取得するための撮像手段を更に有することを特徴とする請求項2に記載の通信装置。
  4. 前記他の要求は、前記撮像手段を使ったリモート撮影の要求、前記記憶手段に記憶されている画像の一覧の取得要求、画像に対する位置情報の付加する要求、動作環境の設定要求の少なくとも1つを含む
    ことを特徴とする請求項3に記載の通信装置。
  5. 前記制御手段は、前記所定のポーリングリクエストに対するキャンセルレスポンスを送信して、前記他の要求に対する処理を前記処理手段により実行する場合に、前記操作手段が操作不可であることを前記表示手段に表示する
    ことを特徴とする請求項2に記載の通信装置。
  6. 前記制御手段は、前記処理手段による前記所定のポーリングリクエストの処理中に前記他の要求を受信した場合、当該他の要求に対してビジー状態であることを示す応答を前記通信手段から送信する
    ことを特徴とする請求項1に記載の通信装置。
  7. 前記制御手段は、前記他の要求が前記撮像手段を使ったリモート撮影の要求である場合、リモート撮影の準備が完了すると、前記クライアントにリモート撮影の準備が完了したことを通知する
    ことを特徴とする請求項4に記載の通信装置。
  8. 前記リクエスト/レスポンス型の通信プロトコルはHTTPである
    ことを特徴とする請求項1に記載の通信装置。
  9. リクエスト/レスポンス型の通信プロトコルを用いてクライアントと通信を行う通信手段を有する通信装置の制御方法であって、
    前記通信手段がクライアントから受信した要求に応じた処理を行い、受信した要求に対する応答を前記通信手段が前記クライアントに送信可能とする工程と、
    前記通信手段が所定のポーリングリクエストを受信した場合であって、前記所定のポーリングリクエストに対する応答を前記クライアントに送信する前に、前記クライアントから他の要求を受信した場合、前記所定のポーリングリクエストに対するキャンセルレスポンスを前記通信手段から送信すると共に、前記他の要求に応じた処理を実行する工程と
    を有することを特徴とする通信装置の制御方法。
  10. 前記通信装置は、表示手段、複数の画像を記憶可能な記憶手段、ユーザからの指示を入力するための操作手段を有し、
    クライアントから前記所定のポーリングリクエストを受信した場合に、前記記憶手段に記憶されている画像の中から、前記クライアントに送信する対象の画像をユーザが選択可能に前記表示手段に表示する工程と、
    前記操作手段を介した画像の選択に応じて送信対象の画像を表すリストを生成する工程と、
    前記操作手段を介して送信指示が入力された場合に、前記リストを前記所定のポーリングリクエストに対する応答として送信する工程と
    を更に含むことを特徴とする請求項9に記載の通信装置の制御方法。
  11. リクエスト/レスポンス型の通信プロトコルを用いてクライアントと通信を行う通信手段を有するコンピュータが読み込み実行することで、前記コンピュータに、請求項9に記載の通信装置の制御方法の各工程を実行させるためのプログラム。
  12. 第1の通信手段を有する撮像装置、第2の通信手段を有する端末装置で構成される通信システムであって、
    前記撮像装置は、前記第1の通信手段によりリクエスト/レスポンス型の通信プロトコルを用いることで、サーバとして機能し、
    前記端末装置は、前記第2の通信手段によりリクエスト/レスポンス型の通信プロトコルを用いることでクライアントとして機能し、
    前記端末装置は、
    前記撮像装置と所定のポーリングリクエストを前記撮像装置に送信すると共に、前記撮像装置に対する複数の処理項目のメニューを表示する第1の処理手段と、
    前記所定のポーリングリクエストに対する応答を前記撮像装置から受信する前に、前記メニューの1つの処理項目がユーザにより選択された場合、前記撮像装置に対して選択した処理項目の要求を送信し、前記所定のポーリングリクエストに対するキャンセル応答を受信してから、選択した処理項目の要求に対する処理に移行する第2の処理手段と、
    前記メニューのいずれかの処理項目をユーザにより選択しないまま、前記撮像装置から前記所定のポーリングリクエストに対する応答を受信した場合、当該応答に記述された画像を取得する処理に移行する第3の処理手段とを有し、
    前記撮像装置は、
    前記端末装置と通信中に、前記所定のポーリングリクエストを前記端末装置から受信した場合、前記撮像装置が記憶している撮像画像の一覧を、ユーザが選択可能に表示すると共に、ユーザによる画像の選択を受け付け、ユーザにより送信指示が入力された場合に選択した画像を特定する情報を、前記所定のポーリングリクエストに対する応答として前記端末装置に送信する第4の処理手段と、
    前記第4の処理手段による前記所定のポーリングリクエストに対する応答を前記端末装置に送信する前に前記端末装置から他の要求を受信した場合、前記所定のポーリングリクエストに対するキャンセルレスポンスを送信すると共に、前記他の要求に対する処理を行う第5の処理手段とを有する
    ことを特徴とする通信システム。
JP2017091944A 2017-05-02 2017-05-02 通信装置及びその制御方法及びプログラム及び通信システム Active JP6882055B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2017091944A JP6882055B2 (ja) 2017-05-02 2017-05-02 通信装置及びその制御方法及びプログラム及び通信システム
US15/966,050 US20180324075A1 (en) 2017-05-02 2018-04-30 Communication apparatus and control method thereof and communication system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017091944A JP6882055B2 (ja) 2017-05-02 2017-05-02 通信装置及びその制御方法及びプログラム及び通信システム

Publications (3)

Publication Number Publication Date
JP2018190173A JP2018190173A (ja) 2018-11-29
JP2018190173A5 JP2018190173A5 (ja) 2020-05-14
JP6882055B2 true JP6882055B2 (ja) 2021-06-02

Family

ID=64013770

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017091944A Active JP6882055B2 (ja) 2017-05-02 2017-05-02 通信装置及びその制御方法及びプログラム及び通信システム

Country Status (2)

Country Link
US (1) US20180324075A1 (ja)
JP (1) JP6882055B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6826459B2 (ja) * 2017-02-20 2021-02-03 キヤノン株式会社 通信装置、撮像装置、制御方法、及びプログラム
JP6956515B2 (ja) * 2017-05-02 2021-11-02 キヤノン株式会社 通信システム、並びに、通信装置及びその制御方法及びプログラム
JP7196209B2 (ja) * 2021-01-13 2022-12-26 キヤノン株式会社 通信装置、制御方法、およびプログラム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002342866A (ja) * 2001-05-16 2002-11-29 Matsushita Electric Ind Co Ltd 緊急情報配信システム
JP4274542B2 (ja) * 2003-11-20 2009-06-10 キヤノン株式会社 情報処理装置、制御機器、情報処理装置の制御方法及び制御機器の制御方法
WO2010042733A1 (en) * 2008-10-08 2010-04-15 Citrix Systems, Inc. Systems and methods for connection management for asynchronous messaging over http
JP4828637B2 (ja) * 2009-07-13 2011-11-30 株式会社Pfu 配信システム、サーバ装置、および、配信方法
US9203815B1 (en) * 2013-11-27 2015-12-01 Symantec Corporation Systems and methods for secure third-party data storage
US20160150027A1 (en) * 2014-11-25 2016-05-26 Futurewei Technologies, Inc. Method Of Handling Notification Channel Disconnection
JP6858069B2 (ja) * 2017-05-02 2021-04-14 キヤノン株式会社 画像供給装置及び情報処理装置及びそれらの制御方法とプログラム

Also Published As

Publication number Publication date
US20180324075A1 (en) 2018-11-08
JP2018190173A (ja) 2018-11-29

Similar Documents

Publication Publication Date Title
JP6429539B2 (ja) 通信装置、通信装置の制御方法、プログラム
JP6603513B2 (ja) 通信装置及び情報処理装置及びそれらの制御方法、並びに記憶媒体
JP6858069B2 (ja) 画像供給装置及び情報処理装置及びそれらの制御方法とプログラム
US11082600B2 (en) Electronic apparatus that performs wireless communication with an image capturing device at two different communication speeds, and method for controlling same
JP6882055B2 (ja) 通信装置及びその制御方法及びプログラム及び通信システム
JP6415175B2 (ja) 通信装置、通信装置の制御方法、プログラム
JP6821360B2 (ja) 電子機器およびその制御方法
JP7175634B2 (ja) 通信装置、制御方法およびプログラム
JP6700923B2 (ja) 通信装置およびその制御方法、プログラム
JP2018136630A (ja) 通信装置、撮像装置、制御方法、及びプログラム
JP6700984B2 (ja) 通信装置およびその制御方法、プログラム
JP6869656B2 (ja) 送信装置、受信装置、及び、通信システム
CN111385673B (zh) 通信设备、其控制方法及其记录介质
JP7146434B2 (ja) 通信装置およびその制御方法、プログラム
JP6391374B2 (ja) 通信装置、通信装置の制御方法、プログラム
JP7218164B2 (ja) 通信装置およびその制御方法
JP6976722B2 (ja) 通信装置及びその制御方法、並びに、プログラム
JP2019004422A (ja) 通信装置、制御方法およびプログラム
JP2020057899A (ja) 無線通信システム、無線通信端末の制御方法
JP7158886B2 (ja) 画像処理装置、電子機器、及び画像処理装置の制御方法
JP2018191135A (ja) 撮像装置およびその制御方法、並びにプログラム
JP6783640B2 (ja) 通信装置、通信装置の制御方法、プログラム
JP2018037808A (ja) 撮像装置、電子機器およびその制御方法、通信システム
JP6956515B2 (ja) 通信システム、並びに、通信装置及びその制御方法及びプログラム
JP2023137937A (ja) 通信機能を備える電子機器、その制御方法及びプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200402

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200402

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20210103

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210113

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210222

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210402

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210506

R151 Written notification of patent or utility model registration

Ref document number: 6882055

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151