JP6603513B2 - 通信装置及び情報処理装置及びそれらの制御方法、並びに記憶媒体 - Google Patents

通信装置及び情報処理装置及びそれらの制御方法、並びに記憶媒体 Download PDF

Info

Publication number
JP6603513B2
JP6603513B2 JP2015166187A JP2015166187A JP6603513B2 JP 6603513 B2 JP6603513 B2 JP 6603513B2 JP 2015166187 A JP2015166187 A JP 2015166187A JP 2015166187 A JP2015166187 A JP 2015166187A JP 6603513 B2 JP6603513 B2 JP 6603513B2
Authority
JP
Japan
Prior art keywords
request
mode
communication
digital camera
communication device
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
JP2015166187A
Other languages
English (en)
Other versions
JP2016053954A5 (ja
JP2016053954A (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 PCT/JP2015/004316 priority Critical patent/WO2016035293A1/en
Priority to US15/508,428 priority patent/US10225455B2/en
Priority to EP15837874.5A priority patent/EP3189440A4/en
Priority to CN201580047297.XA priority patent/CN106796553A/zh
Publication of JP2016053954A publication Critical patent/JP2016053954A/ja
Publication of JP2016053954A5 publication Critical patent/JP2016053954A5/ja
Application granted granted Critical
Publication of JP6603513B2 publication Critical patent/JP6603513B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/66Remote control of cameras or camera parts, e.g. by remote control devices
    • H04N23/661Transmitting camera control signals through networks, e.g. control via the Internet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00281Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a telecommunication apparatus, e.g. a switched network of teleprinters for the distribution of text-based information, a selective call terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/62Control of parameters via user interfaces
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/63Control of cameras or camera modules by using electronic viewfinders
    • H04N23/631Graphical user interfaces [GUI] specially adapted for controlling image capture or setting capture parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/65Control of camera operation in relation to power supply
    • H04N23/651Control of camera operation in relation to power supply for reducing power consumption by affecting camera operations, e.g. sleep mode, hibernation mode or power off of selective parts of the camera
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/667Camera operation mode switching, e.g. between still and video, sport and normal or high- and low-resolution modes
    • GPHYSICS
    • G03PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
    • G03BAPPARATUS OR ARRANGEMENTS FOR TAKING PHOTOGRAPHS OR FOR PROJECTING OR VIEWING THEM; APPARATUS OR ARRANGEMENTS EMPLOYING ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ACCESSORIES THEREFOR
    • G03B2206/00Systems for exchange of information between different pieces of apparatus, e.g. for exchanging trimming information, for photo finishing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/63Control of cameras or camera modules by using electronic viewfinders

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Studio Devices (AREA)
  • Computer And Data Communications (AREA)
  • Telephone Function (AREA)

Description

本発明は通信装置及び情報処理装置及びそれらの制御方法、並びに記憶媒体に関するものである。
デジタルカメラなどの画像処理装置(もしくは撮像装置)の通信機能の進歩に伴い、例えばデジタルカメラとPC、携帯電話などが通信を行い、コンテンツを送受信することができるようになっている。
そして現在では、HTTPのようなサーバ・クライアントのシステムを用いて、カメラがサーバ側となってリモート撮影を実現することも可能である(特許文献1)。
特開2013-073506号公報
サーバ・クライアントシステムのようなシステムにおいては、サーバから自発的にクライアントに何らかの通知を行うことについては一定の制限があることが多い。この点については、まずクライアントからリクエストを送信し、サーバがその応答の保留状態を維持することにより、必要なタイミングでサーバが自発的にクライアントに通知を行うことが考えられる。
しかしながらリモート撮影などの特定のケースにおいては、通知したい情報の種類やタイミングが種々存在するので、適切な通知の方法を考える必要がある。
この課題を解決するため、例えば本発明の通信装置は以下の構成を備える。すなわち、
通信装置であって、
情報処理装置からリクエストを受信する受信手段と、
前記リクエストに対するレスポンスを送信する送信手段と、
前記情報処理装置から所定のリクエストを受信した場合、前記所定のリクエストに応答せず、前記所定のリクエストを保留リクエストとして管理する管理手段とを有し、
前記通信装置のステータスが所定の条件を満たした場合、前記送信手段は前記通信装置のステータス情報を前記保留リクエストへのレスポンスとして送信し、
前記管理手段は、保留リクエストに対するレスポンスを送信する前にもう1つの所定リクエストを受信した場合は、そのもう1つの所定リクエストを新たな保留リクエストとして管理し、その結果、複数の保留リクエストを管理可能であることを特徴とす
本発明の装置によれば、外部装置への自発的な状態通知を適切に行うことができる。
実施形態におけるデジタルカメラのブロック構成、正面、背面を示す図。 実施形態におけるスマートデバイスの構成を示すブロック図である。 実施形態におけるデジタルカメラが用意したAPIの一覧を示す図。 第1の実施形態におけるデジタルカメラとスマートデバイス間の通信シーケンスの一例を示す図。 実施形態におけるスマートデバイスのユーザインターフェースの画面の推移を示す図。 実施形態におけるデジタルカメラの処理手順を示すフローチャート。 実施形態におけるスマートデバイスの処理手順を示すフローチャート。 第2の実施形態における状態通知要求のAPIを示す図である。 第2の実施形態におけるデジタルカメラとスマートデバイス間の通信シーケンスの一例を示す図。
以下、添付図面に従って本発明の実施形態を詳細に説明する。なお、以下に説明する実施形態は、本発明の実現手段としての一例であり、本発明が適用される装置の構成や各種条件によって適宜修正又は変更されてもよい。また、各実施の形態を適宜組み合せることも可能である。
[第1の実施形態]
<デジタルカメラ100の構成>
図1(a)は、本実施形態が適用する通信装置の一例であるデジタルカメラ100の構成例を示すブロック図である。なお、ここでは通信装置の一例としてデジタルカメラについて述べるが、通信装置はこれに限られない。例えば通信装置は携帯型のメディアプレーヤや、いわゆるタブレットデバイス、パーソナルコンピュータなどの情報処理装置であってもよい。
制御部101は、入力された信号や、後述のプログラムに従ってデジタルカメラ100の各部を制御する。なお、制御部101が装置全体を制御する代わりに、複数のハードウェアが処理を分担することで、装置全体を制御してもよい。
撮像部102は、例えば、光学レンズユニットと絞り・ズーム・フォーカスなど制御する光学系と、光学レンズユニットを経て導入された光(映像)を電気的な映像信号に変換するための撮像素子などで構成される。撮像素子としては、一般的には、CMOS(Complementary Metal Oxide Semiconductor)や、CCD(Charge Coupled Device)が利用される。撮像部102は、制御部101に制御されることにより、撮像部102に含まれるレンズで結像された被写体光を、撮像素子により電気信号に変換し、ノイズ低減処理などを行い、デジタルデータとしての画像データを出力する。本実施形態のデジタルカメラ100の制御部101は、画像データを符号化し、DCF(Design Rule for Camera File system)の規格に従って、記録媒体110にファイルとして記録する。
不揮発メモリ103は、電気的に消去・記録可能な不揮発性のメモリであり、制御部101で実行される後述のプログラム等が格納される。作業用メモリ104は、撮像部102で撮像された画像データを一時的に保持するバッファメモリや、表示部106の画像表示用メモリ、制御部101の作業領域等として使用される。
操作部105は、ユーザがデジタルカメラ100に対する指示をユーザから受け付けるために用いられる。操作部105は例えば、ユーザがデジタルカメラ100の電源のON/OFFを指示するための電源ボタンや、撮影を指示するためのレリーズスイッチ、画像データの再生を指示するための再生ボタンを含む。さらに、後述の通信部111を介して外部機器との通信を開始するための専用の接続ボタンなどの操作部材を含む。また、後述する表示部106に形成されるタッチパネルも操作部105に含まれる。なお、レリーズスイッチは、押下状態を2段階で検出するために2つのスイッチSW1およびSW2を有する。レリーズスイッチが、いわゆる半押し状態となることにより、SW1がONとなる。これにより、AF(オートフォーカス)処理、AE(自動露出)処理、AWB(オートホワイトバランス)処理、EF(フラッシュプリ発光)処理等の撮影準備を行うための指示を受け付ける。また、レリーズスイッチが、いわゆる全押し状態となることにより、SW2がONとなる。これにより、撮影を行うための指示を受け付ける。
表示部106は、撮影の際のビューファインダー画像の表示、撮影した画像データの表示、対話的な操作のための文字表示などを行う。なお、表示部106は必ずしもデジタルカメラ100が内蔵する必要はない。デジタルカメラ100は内部又は外部の表示部106と接続することができ、表示部106の表示を制御する表示制御機能を少なくとも有していればよい。なお、操作部105及び表示部106で、デジタルカメラのユーザインターフェースを構成することになる。
記録媒体110は、撮像部102から出力された画像データのファイルを記録することができる。記録媒体110は、デジタルカメラ100に着脱可能なよう構成してもよいし、デジタルカメラ100に内蔵されていてもよい。すなわち、デジタルカメラ100は少なくとも記録媒体110にアクセスする手段を有していればよい。
通信部111は、外部装置と接続するためのインターフェイスである。本実施形態のデジタルカメラ100は、通信部111を介して、外部装置とデータのやりとりを行うことができる。例えば、撮像部102で生成した画像データを、通信部111を介して外部装置に送信することができる。なお、本実施形態では、通信部111は外部装置とIEEE802.11の規格に従った、いわゆる無線LANで通信するためのインターフェイスを含む。制御部101は、通信部111を制御することで外部装置との無線通信を実現する。なお、通信方式は無線LANに限定されるものではなく、例えば赤外線通信方式、Bluetooth(登録商標)通信方式、WirelessUSB等の無線通信方式などを含むことができる。さらには、USBケーブルやHDMI(登録商標)、IEEE1394、Ethernet(登録商標)など、有線接続を採用してもよい。通信部111は第1の無線通信手段の一例である。
近距離通信部112は、例えば無線通信のためのアンテナと無線信号を処理するため変復調回路や通信コントローラから構成される。近距離通信部112は、変調した無線信号をアンテナから出力し、またアンテナで受信した無線信号を復調することでISO/IEC 18092の規格(いわゆるNFC:Near Field Communication)に従った近距離通信を実現する。またその他、赤外線通信方式、Bluetooth(登録商標)通信方式、WirelessUSB等の無線通信方式などに従った短距離無線通信を実現する。本実施形態の近距離通信部112は、デジタルカメラ100の側部に配され、第2の無線通信手段の一例である。
本実施形態において、デジタルカメラ100は、後述するスマートデバイス200と通信部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に保持されているものであり、APモード、CLモードのいずれかをユーザが操作部105を操作して選択することになる。
なお、本実施形態におけるデジタルカメラ100はAPの一種であるものの、CL機器から受信したデータをインターネットプロバイダなどに転送するゲートウェイ機能は有していない簡易APである。したがって、自機が形成したネットワークに参加している他の装置からデータを受信しても、それをインターネットなどのネットワークに転送することはできない。
次に、デジタルカメラ100の外観について説明する。図1(b)、図1(c)はデジタルカメラ100の外観正面、背面の一例を示す図である。レリーズスイッチ105aや再生ボタン105b、方向キー105c、タッチパネル105dは、前述の操作部105に含まれる操作部材である。また、表示部106には、撮像部102による撮像の結果得られた画像や各種メニューが表示される。以上、実施形態におけるデジタルカメラ100の構成を説明した。
<スマートデバイス200の内部構成について>
図2は、本実施形態のデジタルカメラ100と通信する情報処理装置の一例であるスマートデバイス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の表示を制御する表示制御機能を少なくとも有していればよい。なお、操作部205及び表示部206で、スマートデバイス200のユーザインターフェースを構成することになる。
記録媒体210は、撮像部202から出力された画像データを記録することができる。記録媒体210は、スマートデバイス200に着脱可能なよう構成してもよいし、スマートデバイス200に内蔵されていてもよい。すなわち、スマートデバイス200は少なくとも記録媒体210にアクセスする手段を有していればよい。
通信部211は、外部装置と接続するためのインターフェースである。本実施形態のスマートデバイス200は、通信部211を介して、デジタルカメラ100とデータのやりとりを行うことができる。本実施形態では、通信部211はアンテナであり、制御部201は、アンテナを介して、デジタルカメラ100と接続することができる。なお、デジタルカメラ100との接続では、直接接続してもよいしアクセスポイントを介して接続してもよい。データを通信するためのプロトコルとしては、例えばHTTP(Hyper Text Transfer Protocol)である。その他、無線LANを通じたPTP/IP(Picture Transfer Protocol over Internet Protocol)を用いることもできる。なお、デジタルカメラ100との通信はこれに限られるものではない。例えば、通信部211は、赤外線通信モジュール、Bluewtooth(登録商標)通信モジュール、WirelessUSB等の無線通信モジュールを含むことができる。さらには、USBケーブルやHDMI(登録商標)、IEEE1394、Ethernet(登録商標)など、有線接続を採用してもよい。
近距離無線通信部212は、他機との非接触近距離通信を実現するための通信ユニットである。近距離無線通信部212は、無線通信のためのアンテナと無線信号を処理するための変復調回路や通信コントローラから構成される。近距離無線通信部212は、変調した無線信号をアンテナから出力し、またアンテナで受信した無線信号を復調することにより非接触近距離通信を実現する。ここでは、ISO/IEC 18092の規格(いわゆるNFC)に従った非接触通信を実現する。近距離線通信部212は、他のデバイスからデータ読み出し要求を受けると、不揮発性メモリ203に格納されているデータに基づき、応答データを出力する。
公衆網通信部213は、公衆無線通信を行う際に用いられるインターフェイスである。スマートデバイス200は、公衆網通信部213を介して、他の機器と通話することができる。この際、制御部201はマイク214およびスピーカ215を介して音声信号の入力と出力を行うことで、通話を実現する。本実施形態では、公衆網通信部213はアンテナであり、制御部101は、アンテナを介して、公衆網に接続することができる。なお、通信部211および公衆網通信部213は、一つのアンテナで兼用することも可能である。以上、実施形態におけるスマートデバイス200を説明した。
<デジタルカメラを外部装置から制御するAPIの構成について>
図3は、外部機器からデジタルカメラ100を制御するためのAPI(Application Programming Interface)を示す図である。このAPIは、実施形態のデジタルカメラ100を先に説明したAPモードとして機能させた場合である。
本実施形態のデジタルカメラ100は、スマートデバイス200などの外部機器から制御可能なAPIを公開しているものとする。外部装置の設計者は、公開されたAPIを用いてデジタルカメラ100に要求を送信するよう実装することにより、デジタルカメラ100の動作制御や、デジタルカメラ100からのデバイス情報やコンテンツデータファイルの取得を実現できる。このAPIを通して、実施形態のデジタルカメラ100は、デジタルカメラ100の不揮発メモリ103に記録されたデバイス情報や、デジタルカメラ100の記録媒体110などに保存されたコンテンツファイルを外部機器へ提供する。コンテンツファイルとは、デジタルカメラ100が生成して記録媒体110や不揮発メモリ103に保存するファイルのことであり、本実施形態では、撮像した静止画ファイルや動画ファイルのことを指す。
このAPIは、予め不揮発メモリ103に保存されている。制御部101は、通信部111を介して外部機器との通信が確立すると、APIを実行するためのプログラムを作業用メモリ104に展開し、外部装置からAPIがリクエストされるのを待つ。制御部101が外部機器からAPIがリクエストされたことを検知すると、APIの種類に応じて処理を実行し、その結果をレスポンスとして外部機器に返却する。なお、APIはデジタルカメラ100が規定した通信プロトコル上で実行され、外部機器は規定された通信プロトコルを用いてデジタルカメラ100と通信を行い、APIをリクエストする。なお、本実施形態では、HTTP(Hyper Text Transfer Protocol)上で本APIが実行されることを想定して説明する。すなわち、デジタルカメラ101はHTTPサーバとして機能する。なお、通信プロトコルは、HTTPに限るものではなく、他のプロトコルであっても構わない。また、HTTPプロトコル自体は広く利用されているものであるので、ここでの説明は割愛する。HTTPにおけるAPIの実行方法については、外部機器がHTTPリクエストボディにAPI名と必要な引数をテキストで記述しGETメソッドもしくはPOSTメソッドを用いてデジタルカメラ100に送信すると、HTTPレスポンスボディにその結果を付加して外部機器に返却することで実現される。
図3のAPIリスト300は、前述した仕組みで動作する、実施形態のデジタルカメラ100が提供するAPIセットを表にしたものである。以下、各APIを説明する。
API301は、デジタルカメラ100の製品情報を取得するためのAPIである。デジタルカメラ100は、API名の「RequestProductInfo」のリクエストを引数なしで受信した場合、不揮発性メモリ103に格納された、デジタルカメラ100の製品名、製造者名、ファームウェアバージョン、シリアルナンバーをレスポンスとして構成する。そしてデジタルカメラ100は、その構成した情報を要求元の外部機器に送信する。なお、製品名とは、デジタルカメラ100の製品名称である。製造者名とはデジタルカメラ100のメーカー名称である。ファームウェアバージョンとは、不揮発メモリ103に保存されたデジタルカメラ100を制御するためのプログラムのバージョン番号である。シリアルナンバーとは、デジタルカメラ100の個体識別が可能な一意の番号である。
API302は、デジタルカメラ100の保存領域の情報を取得するAPIである。デジタルカメラ100は、API名の「RequestMemoryInfo」のリクエストを引数なしで受信した場合、デジタルカメラ100の保存領域ID、保存可能容量、空き容量、保存済みのコンテンツファイル数をレスポンスとして構成する。そして、デジタルカメラ100は、その構成したレスポンスを要求元の外部機器に送信する。複数のメモリカードが装着されている場合など、保存領域が複数存在する場合は、保存領域毎に上記の各項目が送信される。なお、保存領域IDとは、デジタルカメラ100で生成されるコンテンツファイルが保存可能な領域にそれぞれ割り振られたID(Identification)である。例えば、デジタルカメラ100の記録媒体110に割り振られる。保存可能容量とは、コンテンツファイルが保存できる保存領域の保存可能上限サイズである。空き容量とは、保存領域のうち、コンテンツファイルが保存されていない領域のサイズである。保存済みのコンテンツ数とは、保存領域に保存されているコンテンツファイルの総数のことである。
API303は、デジタルカメラ100の保存領域に保存されているコンテンツIDとコンテンツファイルの基本情報を取得するAPIである。デジタルカメラ100は、API名の「RequestContentInfo」のリクエストと共に、引数として、API302で取得した保存領域ID、コンテンツフォーマットの種類、取得要求数を受信した場合、デジタルカメラ100の保存領域に保存されているコンテンツファイル毎のコンテンツID、ファイル名、ファイルサイズ、ファイル生成日時を取得し、要求元の外部機器に送信する。なお、コンテンツIDとは、コンテンツファイルを個々に識別するために割り振られたIDである。また、本実施形態における本APIは、作業用メモリ104のサイズによっては一度に取得できるコンテンツファイルの情報に上限値が設定されている。よって、記録媒体110などに保存されているコンテンツファイルの数が本APIの上限値を超える場合には、繰り返しAPIをリクエストする必要がある。
API304は、デジタルカメラ100の保存領域に保存されているコンテンツファイルを取得するAPIである。デジタルカメラ100は、API名の「RequestConent」のリクエストと共に、引数としてコンテンツIDとコンテンツサイズを受信すると、該当するコンテンツファイルを要求元の外部機器に送信する。なお、コンテンツサイズでは、コンテンツファイルをオリジナルのサイズで取得するのか、もしくは縮小したサイズで取得するのかを選択することができる。デジタルカメラ100は指定されたサイズに従ったコンテンツファイルを生成し外部装置へレスポンスとして送信することになる。本実施形態では、例えば静止画ファイルをオリジナルのサイズで取得するのか、サムネイルサイズで取得するのかが指定できる。従って、サイズとしては、数値ではなく、オリジナル、サムネイルを識別する文字列も利用できる。
API305は、スマートデバイス200からデジタルカメラ100を遠隔操作して撮影を行うリモート撮影モードにデジタルカメラ100を遷移させるAPIである。デジタルカメラ100は、API名の「StartCaptureMode」のリクエストを引数なしで受信した場合、デジタルカメラ100を撮影行為が可能な状態に遷移し、状態遷移の成功の是非を表すレスポンスを、要求元の外部装置へ送信する。
API306は、デジタルカメラ100の状態や撮影設定値の情報を取得するAPIである。デジタルカメラ100は、API名の「RequestCaptureValue」のリクエストを引数なしで受信した場合、デジタルカメラ100のバッテリー状態(バッテリ情報)、撮像可能枚数、ズーム位置、撮影パラメータ((Av値、Tv値、ISO値など撮像パラメータ)をレスポンスとして、要求元の外部装置へ送信する。なお、上記の送信する情報は一例であり、必要に応じてデジタルカメラ100の様々な情報を送信しても構わない。
API307は、撮影時に表示部106に表示するスルー画を取得するAPIである。デジタルカメラ100は、API名の「RequestThroughContent」のリクエストと共に、引数としてスルー画サイズを引数として指定することで、スルー画を取得し、要求元の外部機器に送信する。スルー画サイズでは、スルー画データをどのサイズで取得するのかを指定することができ、デジタルカメラ100は指定されたサイズに従ったスルー画データを生成し外部装置へレスポンスとして送信する。
API308は、撮影を行うAPIである。デジタルカメラ100は、API名の「ExecuteCapture」のリクエストを引数なしで受信した場合、撮像部102を制御して撮影処理を実行する。そして、デジタルカメラ100は、その撮影が完了し、画像ファイルが記録媒体110に保存された後、撮影によって生成されたコンテンツID、コンテンツファイル名、コンテンツファイルサイズ、コンテンツファイル生成日時をレスポンスとして、要求元の外部機器に送信する。従って、要求元は、受信したコンテンツIDを含む、RequestContentのAPIを利用することで、デジタルカメラ100に撮影要求した結果の画像を取得できる。
API309は、スマートデバイス200からデジタルカメラ100を遠隔操作して撮影を行うリモート撮影モードを終了するAPIである。デジタルカメラ100は、API名の「EndCaptureMode」を引数なしで受信した場合、リモート撮影モードを終了し、状態遷移の成功の是非をレスポンスとして要求元の外部機器に送信する。
API310は、デジタルカメラ100にて状態が変化した際に、その変化した情報を取得する状態通知要求のAPIである。デジタルカメラ100は、API名の「RequestEvent」を引数なしで受信した場合、API306で取得可能な情報の一部もしくはすべてを取得し、要求元の外部機器に送信する。ただし、実施形態におけるデジタルカメラ100は、このAPI310のリクエストに対しては、すぐさまレスポンスせず、デジタルカメラ100の一部の状態が変化するまで待ち、変化したことを検知した場合に、変化した情報のみをレスポンスとして要求元の外部機器に送信する。
以上、実施形態におけるAPIを説明した。上記は、主要なAPIの一例であり、上記以外の様々なデジタルカメラ100の制御方法のAPIを提供しても構わない。また、デジタルカメラ100は、上記APIリクエストに対する応答を送信するとき、要求されたリクエストを特定すると共に、その返値(もしあれば)を要求元に送信するものとする。応答形式は、『Response(APIリクエスト名、返値)』とする。例えば、デジタルカメラ100が、外部装置から、RequestProductInfoのリクエストを受信し、それに対して応答する場合は、『Response(RequestProductInfo,返値)』として、要求元に応答する。なお、どのAPIに対する応答であるかを、要求元に通知できれば良いので、上記例で発明が限定されるものではない。
<スマートデバイスがデジタルカメラの状態情報を取得するシーケンスについて>
実施形態では、スマートデバイス200とデジタルカメラ100とがネットワーク(実施形態では無線LAN)を介して画像処理システムを構成する。以下、その画像処理システムにおける、スマートデバイス200が、コンテンツ一覧表示やリモート撮影してコンテンツファイルを取得する手順、更には、デジタルカメラ100の状態情報を取得する方法について図4、図5を用いて説明する。
なお、デジタルカメラ100の制御部101は、操作部105から簡易APモード(初期状態ではHTTPプロトコルを利用するファイルサーバモード)に移行済みであるものとする。
図4はスマートデバイス200とデジタルカメラ100の通信シーケンスの例を示している。具体的には、スマートデバイス200がデジタルカメラ100の記録媒体110に保存されたコンテンツファイルを取得し、その一覧をスマートデバイスの表示部206に表示し、その後、リモート撮影モードに遷移し、リモート撮影するまでの処理シーケンスである。図5は、スマートデバイス200上で動作するプログラムが表示部206に表示するユーザインターフェイス(UI)を示す図である。
なお、本実施形態におけるコンテンツファイルは、画像ファイルを例に説明する。また、以下の説明では、例えば、『スマートデバイス200がデジタルカメラ100に対し、API301の「RequestProductInfo」を送信する』ことを、簡易にするため、『スマートデバイス200がRequestProductInfo301をデジタルカメラにリクエストする』と表現する。
まず、S401において、デジタルカメラ100とスマートデバイス200は無線ローカルエリアネットワーク(LAN)接続を確立する。ここでは、デジタルカメラ100が、ユーザの操作によって、簡易APを起動してコネクションを確立する場合の処理を説明する。
デジタルカメラ100の制御部101は、無線LAN接続するために必要なSSID(Service Set Identifier)と暗号化キーを生成した後、SSIDと暗号化キーを用いて簡易APを起動し、通信部111により無線LANネットワークを生成する。このとき、デジタルカメラ100は、表示部106に、SSID、暗号キー等のデジタルカメラ100が提供している簡易APに接続するための情報を表示する。なお、SSIDとは、IEEE802.11シリーズの無線LANにおけるアクセスポイントの識別子であり、混信を避けるために付けられる名前である。暗号化キーとは、SSIDに不正アクセスされないよう無線LANの暗号化を行うためのキーである。次に、制御部101は、DHCP(Dynamic Host Configuration Protocol)サーバを起動し、簡易APが生成するネットワークに参加した機器に対してIPアドレスが割り振れるよう準備する。
一方、スマートデバイス200の制御部201は、ユーザ操作によって、通信部211を介して、無線LANネットワークに接続する処理を開始すると、周囲のAPをサーチする処理を行い、その結果、得られたSSIDの一覧を表示部206に表示される。ユーザは、操作部205を操作して、表示部206に表示されたSSID一覧中の、デジタルカメラ100の表示部106に表示された簡易APのSSIDと一致するものを選択し、暗号化キーを入力する。この結果、スマートデバイス200の制御部201は、デジタルカメラ100が生成した簡易APのネットワークへの参加を開始する。なお、スマートデバイス200は、過去に接続した経験のあるSSIDと暗号化キーを記憶しておき、ユーザが選択したSSIDが、記憶された中にある場合には、対応して記憶された暗号化キーを、暗号キー入力欄にデフォルトとして表示するようにし、ユーザがOKボタンを押下(もしくはタッチ)するだけで良いようにしても構わない。上記の結果、デジタルカメラ100からスマートデバイス200にIPアドレスが割り振られ、スマートデバイス200の無線LANへの接続が完了する。なお、ここではデジタルカメラ100はDHCPサーバも兼ねる例を説明したが、ルータが構築するローカルネットワークにデジタルカメラ100とスマートデバイス200がそれぞれ接続する形態も考えられる。
次に、S402において、スマートデバイス200がディスカバリ処理を行う。そして、デジタルカメラ100とスマートデバイス200が互いの存在や提供するサービスを認識する。また、スマートデバイス200は、無線LANを介してデジタルカメラ100が提供するAPIを使用して通信するための準備を行う。なお、ディスカバリで用いられるプロトコルは、例えば、SSDP(Single Service Discovery Protocol)やMalticast DNSなどがある。またSSDPやMalticast DNSについては公知のプロトコルであるため説明は割愛する。
ディスカバリ処理の一例を説明すると、デジタルカメラ100の制御部101は、自らが生成したネットワークに対してアドバタイズ通知を送信し、自身の存在をスマートデバイス200に通知する。スマートデバイス200の制御部201は、デジタルカメラ100からのアドバタイズ通知を受信すると、デジタルカメラ100の機器情報が記載されたデバイスディスクリプションをデジタルカメラ100から取得し、APIサービスを提供しているか否かを判定する。制御部201は、デジタルカメラ100がAPIサービスを提供していると判断した場合、不揮発メモリ203よりAPIを使用してデジタルカメラ100から画像ファイルを取得するためのプログラムを作業用メモリ204に展開し、実行する。
次に、S403において、制御部201は、通信部211を介してRequestEvent310をデジタルカメラ100にリクエストする。制御部101は、デジタルカメラ100がスマートデバイス200との通信を開始してから、このRequestEvent310を最初に受信した場合には、このリクエストに対して未応答の回数として初期値1を、作業用メモリ104に格納する。そして、デジタルカメラ100の状態が変更された場合に、それを検知する処理(スレッド)を開始する。なお、詳細は後述する説明から明らかになるが、受信したRequestEvent310が2回目以降の場合、制御部101は、状態の変更検知処理を既に開始しているので、未応答の回数を1増やす処理を行う。また、状態の変更が検知した場合に、その変更内容をスマートデバイス200に通知した場合、未応答回数を1減じる処理を行う。つまり、未応答回数が1以上である限り、制御部101は状態変更を検知した場合に、その通知処理を行う。このように未応答回数を保持することにより、デジタルカメラ100は保留している応答(保留リクエスト)を管理することができる。同様にスマートデバイス200でも、応答を受信していないリクエストの数を保持することにより、保留されている応答を管理可能になる。
次に、S404において、制御部201は、通信部211を介してRequestProductInfo301のリクエストをデジタルカメラ100に送信する。S405にて、制御部101が通信部111を介して、このリクエストを受信したことを検知すると、製品名、製造者名、ファームウェアバージョン、シリアルナンバーを不揮発メモリ103より取得し、レスポンス用データセットを成形する。そして、制御部101は形成したデータセットを、通信部111を介してスマートデバイス200に送信する。
次に、S406において、制御部201は、通信部211を介してRequestMemoryInfo302のリクエストをデジタルカメラ100に送信する。S407において、制御部101は、通信部111を介してこのリクエストを受信したことを検知すると、保存領域ID、保存可能容量、空き容量、保存済みコンテンツ数を作業用メモリ104や記録媒体110より取得してレスポンス用データセットを成形する。そして、制御部101は形成したデータセットを通信部111を介してスマートデバイス200に送信する。
次に、S408において、制御部201は、デジタルカメラ100の基本的な情報を取得すると、図5(a)の画面を表示部206に表示する。画面では、「カメラ内の画像を見る」、「リモート撮影する」、「カメラの設定をする」といった機能ボタン501乃至503が用意されており、操作部205を介してユーザ指示により前記機能が選択されることで、個々の機能が実施される。また、この画面によれば、この段階で、デジタルカメラ100のバッテリー残量は75%、記録媒体110の空き容量が1.5GBであることも表示される。ここでは、「カメラ内の画像を見る」のボタン501が選択された場合のシーケンスについて説明する。また、デジタルカメラ100の記録媒体110には既に100枚の画像ファイルが保存されているものとする。
次に、S409において、ユーザ操作により操作部205を介して「カメラ内の画像を見る」を示すボタン501が選択されるとする。この場合、S409において、制御部201は、通信部211を介して、保存領域IDとコンテンツフォーマットの種類と取得要求枚数を指定してRequestContentInfo303のリクエストをデジタルカメラ100に送信する。本実施形態では、本領域IDには記録媒体110を示すID、コンテンツフォーマットの種類には画像の種類(JPEG、MOV、MP4など)を設定する。また、取得要求枚数には、RequestMemoryInfo302で取得した保存済みコンテンツ数である100枚を引数として指定する。なお、スマートデバイス200が要求する取得要求枚数として、記録媒体110に保存されたすべての画像を指定してもよいし、スマートデバイス200が表示部206に一度に表示できる画像数のみを指定してもよい。
S410において、制御部101は、通信部111を介して、このリクエストを受信したことを検知すると、リクエストの引数を確認し、指定された保存領域IDに保存されている画像の種類を指定された数分の画像情報を取得する。ここで制御部101は、作業用メモリ104に一時保存された画像ファイルの管理情報、または記録媒体110に保存された画像ファイルの管理情報を記録したファイル、または記憶媒体110のファイルシステムに従って画像ファイルのファイルエントリの情報を参照する。そして、制御部101は、画像ファイルの画像ID、画像ファイル名、画像ファイルサイズ、画像ファイルの生成日時を取得する。そして、制御部101は、取得したこれらの情報を、作業用メモリ104に一時保存する。また、制御部101は、要求数である100枚の画像情報をリストにして作業用メモリ104に保存し終えた後、画像ファイルの生成日時を参照し、画像ファイルの生成日時が新しい方から古い方へ降順になるよう作業用メモリ104に一時保存した画像情報を並べ替える。そして、制御部101は、この作業用メモリ104に一時保存した画像情報リストを示すリスポンス用データセットを成形し、その形成したデータセットを通信部111を介してスマートデバイス200に送信する。
制御部201は、S411のレスポンスによって取得した画像情報リストを参照し、RequestContent304のリクエストを送信する。このとき、制御部201は、コンテンツIDに取得した画像情報リストの画像ID、コンテンツサイズとしてサムネイル画像を取得するためのパラメータを引数として指定する。
制御部101は、通信部111を介して、このリクエストを受信したことを検知すると、その引数を参照し、該当する画像IDに対応した画像ファイルを記録媒体110より取得する。指定された画像サイズが画像ファイルに内包されている場合はその部分のみを抽出して作業用メモリ104に保存し、もしない場合には指定された画像サイズに加工して作業用メモリ104に保存する。そして、制御部101は、保存された画像ファイルからレスポンス用データセットを成形して、通信部111を介してスマートデバイス200に送信する。
なお、スマートデバイス200は、上記処理を画像枚数分である100回繰り返すことで、すべての表示用サムネイル画像を取得する。この時、前記画像情報リストの順番に従ってRequestContent304のリクエストを送信することで、スマートデバイス200内で所望の表示順に並べ替えることなく生成日時が新しい順に画像ファイルを取得できる。なお、本実施形態では、記録媒体110に保存されたすべての画像ファイルのサムネイルを取得したが、スマートデバイス200が表示部206に一度に表示できるサムネイル数分のみ上記の処理を繰り返してもよい。この場合、次画面の表示指示入力があった場合、上記処理に後続する表示用サムネイル画像の取得処理を行うことになる。
さて、制御部201は、デジタルカメラ100からサムネイル画像を取得すると、図5(b)に示す画面のように、表示部206に画像(サムネイル)を並べて表示する。なお、503はデジタルカメラ100の状態を示す情報であり、504は画像ファイルのサムネイル表示領域である。以上でコンテンツ一覧表示が実行される。
S411において、制御部201は、トップ画面表示指示を検知すると、S412において、図5(a)の画面を表示部206に表示する。
S413において、制御部201はユーザ操作によってリモート撮影モードの開始指示を検知すると、S414において、StartCaptureMode305のリクエストをデジタルカメラ100に送信する。S415において、制御部101は、通信部111を介して、このリクエストを受信したことを検知すると、デジタルカメラ100を撮影が実行できる状態に遷移させる。具体的には、光学レンズユニットや撮像素子を含む撮像部102などの制御を行い、いわゆるライブビュー画像の撮影を開始する。デジタルカメラ100の設定によっては、この段階で露出制御なども行う。処理が正常に完了すると、その結果からレスポンス用データセットを成形して、通信部111を介してスマートデバイス200に送信する。
S416において、制御部201は、RequestCaptureValue306のリクエストをデジタルカメラ100に送信する。S417において、制御部101は、通信部111を介して、このリクエストを受信したことを検知したとする。この場合、制御部101は、デジタルカメラ100のバッテリー状態、撮影可能枚数、ズーム位置、撮影パラメータ(Av値、Tv値、ISO値など)をレスポンス用データセットとして形成する。なお、レスポンス用データセットに含める情報は一例であり、必要に応じてデジタルカメラ100の様々な情報を含めても良い。制御部101は、形成したレスポンス用データセットを、通信部111を介してスマートデバイス200に送信する。
S418において、制御部201は、RequestEvent310のリクエストをデジタルカメラ100に送信する。すなわち、制御部201は、S403に要求したRequestEvent310のリクエストに対する応答の有無とは無関係に、RequestEvent310のリクエストをデジタルカメラ100に送信する。これは、リモート撮影モードにおける撮影設定に関わる情報(撮影可能枚数、ズーム位置、撮影パラメータ(Av値、Tv値、ISO値など))が変化に備えたものである。S403に要求したRequestEvent310のリクエストとは別に、S418でRequestEvent310のリクエストを送信するのは以下の理由による。本実施形態では、後述するようにRequestEvent310のリクエストに対する応答があると、制御部201は、再度RequestEvent310を送信し、イベントの応答待ち状態(保留セッション)を作り出すようにしている。しかしながら一度RequestEvent310に応答した後に再度保留セッションを作るためには一定の時間が必要となる。そのため、保留セッションが1つしかない場合には、例えばバッテリー状態を通知した直後に撮影設定に関わる情報が変化した場合、保留セッションの再生成まで撮影設定に関わる情報を通知することができない。そこで本実施形態では、リモート撮影モードではS403に要求したRequestEvent310とは別にRequestEvent310を送信することで、2つの保留セッションを維持し、リアルタイムに撮影設定に関わる情報を取得できるようにした。制御部101は通信部211を介して、このリクエストを受信したことを検知すると、このリクエストが2回目であるので、未応答の回数を“1”増加する。
S419において、制御部201は表示部206に図5(c)の画面を表示する。この画面は、撮影して画像を表示する領域を有し、更に、以下に説明する符号505乃至508を有する。符号505は、デジタルカメラ100のバッテリー残量を示すUIであり、符号506は、本モードで撮影が可能な残り撮影枚数を表示するUIであり、符号507はレリーズスイッチであり、符号508は撮影設定を変更するためのUIである。
S420において、制御部201は、RequestThroughContent307のリクエストをデジタルカメラ100に送信する。S421において、制御部101は、通信部111を介して、このリクエストを受信したことを検知したとする。この場合、制御部101は、撮像部102より現在の映像データからスルー画像(撮像部102が本来有している解像度よりも低い画像)を生成し、レスポンス用データセットを成形する。そして、制御部101は、形成したデータセットを、通信部111を介してスマートデバイス200に送信する。なお、S420、S421で示される処理は、リモート撮影モードが終了するまで繰り返し実行する。この結果、スマートデバイス200の表示部206には、図5(c)の画面のように、デジタルカメラ100の撮像部102による撮像中の実質的にリアルタイムのスルー画像の表示が継続することになる。
S422において、制御部201は、ユーザからレリーズスイッチ507の操作を検出すると、ExecuteCapture308のリクエストをデジタルカメラ100に送信する。S423において、制御部101は、通信部111を介して、このリクエストを受信したことを検知したとする。この場合、制御部101は、撮像部102を制御し撮影を実行する。そして、制御部101は、撮影処理で得られた画像を符号化して画像ファイル(撮像部102が本来有している解像度もしくはそれに準じた高解像度の画像のファイル)を、記憶媒体110に保存する。そして、その保存処理を終えると、制御部101は、S424において、制御部101は、コンテンツID、コンテンツファイル名、コンテンツファイルサイズ、コンテンツファイルの生成日時からレスポンス用データセットを成形する。そして、制御部101は、形成したデータセットを、通信部111を介してスマートデバイス200に送信する。
S425において、制御部101は、撮影が実行され撮影可能枚数が変化したことでデジタルカメラ100の状態が変化したことを通知するため、S403のリクエストに対してレスポンスを返却する。この場合、残り撮影可能枚数をレスポンス用データセットに成形して、通信部111を介してスマートデバイス200に送信する。また、この結果、RequestEvent310に対する応答を行ったことになるので、未応答回数を“1”だけ減じる。この段階で未応答回数、つまり保留セッションは1となる。なお、リモート撮影モードで通知できるのは撮影可能枚数に限定されない。例えばS417で送信されたズーム位置や撮影パラメータが変化した場合に、S403のリクエストに対するレスポンスとして変化後の値を送信してもよい。
S426において、制御部201は、図5(c)の画面の表示領域506の表示を更新する。S427において、制御部201は、RequestEvent310のリクエストをデジタルカメラ100に送信する。これは、デジタルカメラ100の状態通知用APIの処理が1つ完了したため、再び状態監視を複数実行する状態にするために実行される。この段階で、未応答回数、すなわち、保留セッションは2に戻る。
S428において、制御部201は、ユーザ操作によってリモート撮影モードの終了を指示したことを検知すると、S429において、EndCaptureMode309のリクエストをデジタルカメラ100に送信する。S430において、制御部101は、通信部111を介して、このリクエストを受信したことを検知すると、鏡筒を沈胴させるなどして撮影モードを終了する。処理が正常に完了すると、その結果からレスポンス用データセットを成形して、通信部111を介してスマートデバイス200に送信する。
S431において、制御部101は、リモート撮影モードでRequestEvent310のリクエストに対するレスポンスを送信する。これは、リモート撮影モードが終了したことで、リソースを消費する不必要なリクエスト処理を終了させるためである。この際のレスポンスの内容は空、もしくは「終了」を示す値を入力しておく。制御部201はこのレスポンスの内容を参照することにより、再度RequestEvent310のリクエストを送信しないようにする。この段階で未応答回数、つまり保留セッションは1となり、この残り1つの保留セッションはバッテリー状態などの通知に用いられる。
S432において、制御部201は表示部206に図5(a)を表示する。次に、S433において、制御部101は、デジタルカメラ100のバッテリー状態が変化したことを検知すると、S434において、バッテリー残量からレスポンス用データセットを成形して、通信部111を介してスマートデバイス200に送信する。このとき、未応答回数を“1”だけ減じる。この段階で未応答回数、つまり保留セッションはゼロとなる。なお、S432で通知できるのはバッテリーに関する情報に限定されない。例えばデジタルカメラ100がパワーセーブモードに移行することを示す情報を送信してもよい。また、例えばデジタルカメラ100がデジタルカメラ100のユーザによる操作やタイムアウトなどでスマートデバイスとの通信を切断することを示す情報を送信してもよい。
S435において、制御部201は、図5(a)の画面の情報503のバッテリー情報の表示を更新する。ちなみに、リモート撮影モード中にバッテリー情報が更新される場合には、UI505の表示が更新される。
S436において、制御部201は、RequestEvent310のリクエストをデジタルカメラ101に送信する。これは、再度デジタルカメラ100の状態情報を取得するためである。この段階で未応答回数、つまり保留セッションは1となる。
S437において、制御部201はユーザ指示によってプログラムの終了指示を検知すると、S438において、デジタルカメラ100との通信を終了する。
S439において、制御部101は、通信部111を介して通信の終了を検知すると、RequestEvent310のリクエストのレスポンスを送信する。この際のレスポンスの内容は空、もしくは「終了」を示す値を入力しておく。
S440において、デジタルカメラ100とスマートデバイス200の通信の切断処理が完了する。
以上が、スマートデバイス200がデジタルカメラ100と接続して、コンテンツ一覧表示やリモート撮影してコンテンツファイルを取得する際に、デジタルカメラ100の状態情報を取得する方法の一例である。
<デジタルカメラ100のフローチャートについて>
デジタルカメラ100の処理の流れについて説明する。図6(a)は、デジタルカメラ100のAPIサービスの処理の流れを示したフローチャートである。
まず、S601において、制御部101は、デジタルカメラ100とスマートデバイス200は無線ローカルエリアネットワーク(LAN)接続を確立する。本処理はS401で説明したデジタルカメラ100の処理と同様であるため説明は割愛する。
次に、S602において、制御部101は、ディスカバリを行い、デジタルカメラ100とスマートデバイス200が互いの存在や提供するサービスを認識し、無線LANを介してデジタルカメラ100が提供するAPIを使用して通信するための準備を行う。本処理は、S402で説明したデジタルカメラ100の処理と同様であるため説明は割愛する。
次に、S603において、制御部101は、通信部111を介してAPIのリクエストを受信したか否かを検知する。もし、検知した場合はS604に進む。そうでない場合は処理を繰り返す。
次に、S604において、制御部101は、受信したAPIがRequestEvent310などのデジタルカメラ100の状態変更を通知するAPIか否かを検知する。そうである場合はS605に進む。そうでない場合はS606に進む。
次に、S605において、制御部101は、デジタルカメラ100の状態を監視する処理を開始し、未応答の回数を初期値として1をセットする。ただし、RequestEvent310を再度受信した場合には、状態監視処理は既に開始済みであるので、未応答の回数を“1”増加させる処理を行う。
図6(b)のS6051〜S6055は、S605にて状態監視処理が開始された後のフローである。S6051において、制御部101は、デジタルカメラ100の状態が変更したか否かを検知する。そうである場合はS6052へ進む。そうでない場合は、S6054へ進む。S6052において、制御部101は、デジタルカメラ100の変更された情報を取得する。そして、S6053において、制御部101は、変更された情報を表すレスポンス用データセットに成形し、通信部111を介してスマートデバイス200に送信する。このとき、応答が1つ済んだことになるので、制御部101は、その未応答の回数から“1”を減じる処理を行う。なお、未応答の回数が“0”の場合、本処理が応答処理は行わないが、後述するようにスマートデバイス200は状態変化のレスポンスを受信しては、RequestEvent310をデジタルカメラ100に要求するので、図6(b)の処理は基本的に継続することになる。
また、S6054において、制御部101は、デジタルカメラ100がリモート撮影モードであるか否かを検知する。そうである場合はS6051に戻る。そうでない場合は、S6055に進む。S6055において、制御部101は、リモート撮影モード用RequestEvent310のリクエストに対するレスポンスを送信する。本ステップはS431の処理と同様であるため説明は割愛する。
図6(a)の説明に戻る。S606において、制御部101は、各々のAPIに与えられた機能を実行する。次に、S607において、制御部101は、S606の処理によって取得したデジタルカメラ100へのレスポンスの情報を所定のデータ形式に成形して、スマートデバイス200に送信する。
次に、S608において、制御部101は、APIサービスを終了する指示があるか否かを判定する。APIサービスを終了すると検知した場合には、APIサービスを実行するためのプログラムを終了する。そうでない場合には、S603に戻り、次のAPIのリクエストの受信を待つ。次に、S609において、制御部101は、通信部111を介して通信の終了を検知すると、RequestEvent310のリクエストのレスポンスを送信する。本ステップは、S439と同様である。
以上が、デジタルカメラ100のAPIサービスの処理の流れを示したフローチャートである。
<スマートデバイス200のフローチャートについて>
次に、コンテンツ一覧表示やリモート撮影してコンテンツファイルを取得する際に、デジタルカメラ100の状態情報を取得する際のスマートデバイス200の処理の流れについて説明する。
図7(a)は、スマートデバイス200にて実行されるアプリケーションの処理の流れを示したフローチャートである。
まず、S701において、制御部201は、デジタルカメラ100とスマートデバイス200は無線ローカルエリアネットワーク(LAN)接続を確立する。本処理はS401で説明したスマートデバイス200の処理と同様であるため説明は割愛する。
次に、S702において、制御部201は、ディスカバリを行い、デジタルカメラ100とスマートデバイス200が互いの存在や提供するサービスを認識し、無線LANを介してデジタルカメラ100が提供するAPIを使用して通信するための準備を行う。本処理は、S402で説明したスマートデバイス200の処理と同様であるため説明は割愛する。
次に、S703において、制御部201は、RequestEvent310のリクエストをデジタルカメラ100に送信する。本処理は、S403で説明した処理と同様であるため説明は割愛する。
図7(c)のS725〜S728は、S703にて状態監視処理が開始された後のフローである。S725において、制御部201は、レスポンスを受信したか否かを検知する。そうである場合はS726へ進む。そうでない場合は、レスポンス受信するまで処理を繰り返す。S726において、制御部201は、受信したレスポンスデータを解析し、デジタルカメラ100の変更情報を取得する。S727において、制御部201は、画面の表示を更新する。本処理は、S426、S435と同様であるため説明は割愛する。S728において、制御部201は、RequestEvent310のリクエストをデジタルカメラ100に送信する。この結果、状態変化の応答を受信した場合、次の状態変化があった場合の通知を受けることが約束され、状態変化の監視を継続させることができる。本処理は図4のS427、S436と同様であるため説明は割愛する。
次に、S704において、制御部201は、RequestProductInfo301のリクエストをデジタルカメラ100に送信する。本処理は、S410で説明した処理と同様であるため説明は割愛する。次に、S705において、制御部201は、リクエストしたAPIのレスポンスを待つ。
レスポンスを待つ処理の詳細は、図7(b)のフローチャートに示す通りである。まず、S721にて制御部201は、APIのレスポンスが受信したか否かを検知する。もし受信した場合にはS722に進む。そうでない場合にはS723に進む。S722において、制御部201は、受信したレスポンスを解析する。受信したレスポンスは必要に応じて作業用メモリ204に保存し、処理の判定材料、またはUI画面表示時の表示物として使用する。もし、エラー情報がレスポンスとして返却された場合には、APIの再リクエスト、もしくはプログラムを終了する。S723において、制御部201は、タイムアップの時間が過ぎたか否かを検知する。スマートデバイス200のプログラムは、予めレスポンスを待つ時間を設定しており、デジタルカメラ100よりレスポンスが返却されず設定した時間を超えた場合は、S724に進む。そうでない場合は、S721に戻りレスポンスの受信を待つ。なお、図7(b)のS721〜S724は、すべてのAPIのレスポンスを待つ行為に対して同様の処理を行う。
次に、S706において、制御部201は、RequestMemoryInfo302のリクエストをデジタルカメラ100に送信する。本処理は、S410で説明した処理と同様であるため説明は割愛する。次に、S707において、制御部201は、リクエストしたAPIのレスポンスを待つ。本処理はS705で説明した処理と同様である。
次に、S708において、制御部201は、表示部206に図5(a)の画面を表示する。本処理はS411で説明した処理と同様であるため説明は割愛する。次に、S709において、制御部201は、ユーザ操作によってプログラムの終了が指示されたか否かを検知する。そうである場合は処理を終了する。そうでない場合はS710進む。次に、S710において、制御部201は、ユーザ操作によってリモート撮影モードの選択が指示されたか否かを検知する。そうである場合はS711へ進む。そうでない場合は、リモート撮影モードが選択されるまで待つ。
次に、S711において、制御部201は、StartCaptureValue305のリクエストをデジタルカメラ100に送信する。本処理は、S414で説明した処理と同様であるため説明は割愛する。次に、S712において、制御部201は、リクエストしたAPIのレスポンスを待つ。本ステップはS705と同様である。次に、S713において、制御部201は、ReqeuestEvent310のリクエストをデジタルカメラ100に送信する。本処理は、S418で説明した処理と同様であるため説明は割愛する。
次に、S714において、制御部201は、RequestThroughContent307をデジタルカメラ100に送信する。本処理は、S420で説明した処理と同様であるため説明は割愛する。次に、S715において、制御部201は、S422〜S427の処理を行う。次に、S716において、制御部201は、ユーザ操作によりリモート撮影モードの終了が指示されたか否かを検知する。そうである場合は、S717へ進む。そうでない場合は、リモート撮影を継続して行う。
次に、S717において、制御部201は、EndCaptureMode309のリクエストをデジタルカメラ100に送信する。本処理はS429と同様であるため説明は割愛する。次に、S718において、制御部201は、リクエストしたAPIのレスポンスを待つ。本ステップはS705と同様である。本ステップの後、S708に戻り図5(a)の画面をトップ画面として表示部206に表示する。
以上が、コンテンツ一覧表示やリモート撮影してコンテンツファイルを取得する際に、デジタルカメラ100の状態情報を取得する際のスマートデバイス200の処理の流れである。
以上説明したように、本第1の実施形態におけるデジタルカメラ100は、外部機器(実施形態の場合にはスマートデバイス200)から、RequestEvent310の要求を受信した場合には、直ちに応答するのではなく、実際に状態変更があった場合に備えて、その応答を保留セッションとして追加していく(実施形態では、未応答の回数を増加していくことで対処している)。そして、デジタルカメラ100は、状態変更があった場合には、その状態変更内容を要求元にレスポンスし、保留セッションを消化していく。この結果、外部機器にとっては、上記のような手順で、RequestEvent310を発行することで、デジタルカメラの全体の状態変化、並びに、リモートカメラに特化した状態変化を、少ないセッションで継続して監視できるようになる。すなわち、状態通知を受信することを維持するのに、多数のセッションを張る必要が無くなる。
[第2の実施形態]
上記の第1の実施形態では、デジタルカメラ100の状態取得用APIが1種類とした例を説明したが、用途に応じて用意されている形態も考えられる。そこで、本第2の実施形態では、デジタルカメラ100の動作モードごとに、状態取得APIを有する例を説明する。
<デジタルカメラを外部装置から制御するAPIの構成について>
図8は、第2の実施形態における、外部機器からデジタルカメラ100を制御するためのAPI300のうち、RequestEventの別の形態について説明した図である。
API801は、デジタルカメラ100の状態のうち、コンテンツ一覧表示、及びリモート撮影全てのモードにおいて変更された情報を取得するAPIである。デジタルカメラ100は、API名の「RequestCameraEvent」のリクエストを引数なしで受信した場合、API801で取得可能な情報の一部もしくはすべてを取得する。なお、デジタルカメラ100は、このAPI801のリクエストに対してすぐさまレスポンスを返却しない。デジタルカメラ100の一部の状態が変化するまで待ち、変化したことを検知すると、変化した情報のみをレスポンスとして返却する。例えば、本実施形態では、バッテリー情報を取得するためのAPIである。
API802は、デジタルカメラ100の状態のうち、リモート撮影モードでのみ使用する情報が変更された情報を取得するAPIである。デジタルカメラ100は、API名の「RequestCaptureEvent」のリクエストを引数なしで受信した場合、API801で取得可能な情報の一部もしくはすべてを取得する。なお、デジタルカメラ100は、このAPIのリクエストに対して、すぐさまレスポンスを返却しない。デジタルカメラ100の一部の状態が変化するまで待ち、変化したことを検知すると、変化した情報のみをレスポンスとして返却する。例えば、本実施形態では、残り撮影枚数や撮影パラメータなどである。
なお、デジタルカメラ100は、上記API801,802のリクエストを受信した場合、それぞれの状態検出&応答に係る処理を開始する。ただし、1つの状態検出処理で、API801、802の要求を受けたか否かを示すフラグを設け、そのフラグが1であった場合に該当する状態変更の有無、有った場合に応答処理を行うようにしても良い。また、以上で説明したAPIは一例であり、その他様々なデジタルカメラ100の制御方法が提供されていてもよい。
<スマートデバイスがデジタルカメラの状態情報を取得するシーケンスについて>
スマートデバイス200がデジタルカメラ100と接続して、コンテンツ一覧表示やリモート撮影してコンテンツファイルを取得する際に、デジタルカメラ100の状態情報を取得する方法について図9,図5を用いて説明する。
基本的なシーケンスは図4で説明したシーケンスと同様である。ここでは、差分点のみ説明する。S901乃至S940と、S401乃至440は互いに対応するものである。そして、そのうち、S903、S918,S925,S927、S931、S934、S936,S939が若干異なる。それ故、以下では、これら異なるステップについて説明する。
通信確立した初期段階のS903において、スマートデバイス200の制御部201は、通信部211を介してRequestCameraEvent801のリクエストをデジタルカメラ100に送信する。デジタルカメラ100の制御部101は通信部111を介して、このリクエストを受信したことを検知すると、デジタルカメラ100の状態が変更されたことを検知する処理を開始する。このAPIではバッテリー情報が更新された場合にレスポンスを送信する。
S918において、制御部201は、RequestCaptureEvent802のリクエストをデジタルカメラ100に送信する。このAPIでは、リモート撮影モードで撮影設定に関わる情報(撮影可能枚数、ズーム位置、撮影パラメータ(Av値、Tv値、ISO値など))が変更された場合にレスポンスを送信する。制御部101は通信部111を介して前記リクエストを受信したことを検知すると、デジタルカメラ100の状態が変更されたことを検知する処理を開始する。
S925において、制御部101は、デジタルカメラ100の状態が変化したことを通知するため、S918のリクエストに対してレスポンスを返却する。この場合、撮影が実行され撮影可能枚数が変化したため、残り撮影可能枚数からレスポンス用データセットを成形して、通信部111を介してスマートデバイス200に送信する。
S927において、制御部201は、RequestCaptureEvent802のリクエストをデジタルカメラ100に送信する。これは、デジタルカメラ100の撮影設定に関わる情報通知処理が1つ完了したため、状態監視を再度実行するためにリクエストする。
S931において、制御部101は、リモート撮影モードでRequestCaptureEvent802のリクエストのレスポンスを送信する。これは、リモート撮影モードが終了したことで、不必要なリクエスト処理を終了させるためである。
S934において、制御部101が、デジタルカメラ100のバッテリー状態が変化したことを検知すると、S903のRequestCameraEvent801に対して、バッテリー情報からレスポンス用データセットを成形して、通信部111を介してスマートデバイス200に送信する。
S936において、制御部201は、リモート撮影モードでRequestCameraEvent801のリクエストのレスポンスを送信する。これは、再度デジタルカメラ100の状態情報を取得するためである。S939において、制御部101は、通信部111を介して通信の終了を検知すると、RequestCameraEvent801のリクエストのレスポンスを送信する。
以上が、本第2の実施形態における、スマートデバイス200がデジタルカメラ100と接続して、コンテンツファイルを取得する方法の一例である。
なお、上記第2の実施形態では、状態取得APIとして、「RequestCameraEvent」、「RequestCaptureEvent」の2種類とした。そして、「RequestCameraEvent」は全モード共通とし、「RequestCaptureEvent」はデジタルカメラの撮影項目変更に限った状態変更取得するものとした。デジタルカメラ100の動作モードとして、上記以外の動作モードが存在する場合には、該当するモードに特化した状態変更情報を取得するAPIを新設すれば良い。ただし、デジタルカメラ100のごとく、バッテリーで駆動する装置の場合には、そのバッテリー残量変化は全モードに影響を与えるので、上記の通り、全モード共通の状態変更取得APIは用意することが望まれる。
上記第2の実施形態によれば、外部機器としては、デジタルカメラ100の各動作モードごとに、状態変更の通知を1つだけ予約することで、各モードにおける状態変更通知のレスポンスを受信することが約束されることになる。
[他の実施形態]
上述の実施形態では、デジタルカメラ100がRequestEvent310、RequestCameraEvent801やRequestCaptureEvent802のリクエストを受信した場合、1つの状態変更について検知したことをトリガーとして1つの状態変更の内容をレスポンスとして送信する形態を例示した。しかし、同じタイミングで複数の状態変更を検知した場合は、複数の状態変更の内容をレスポンスとして送信する形態であってもよい。
例えば、S425の直前にバッテリー状態に変化があった場合は、撮影可能枚数とバッテリー残量の情報の2つをS425のレスポンスとして送信してもよい。
また、上述の実施例では、リモート撮影モード用にリクエストしたRequestEvent310、RequestCaptureEvent802のリクエストに対して、リモート撮影に関わるデジタルカメラ100の状態変更が検知されると即座にレスポンスを送信する形態を例示した。しかし、撮影設定に関しては、1つの設定値の変更に影響されて自動的に変更される設定値が存在する。例えば、デジタルカメラ100の撮像センサーの制約にて、Tv値を変更してシャッタースピードを遅くするとISO値の設定可能範囲が制限され、ISO値が自動的に変更される。リモート撮影モードにてAv値が変更された場合には、Av値、ISO値両方の設定変更処理が完了するのを待ってから、Av値、ISO値の変更情報をレスポンスとして送信する形態であってもよい。
また、上述の実施形態ではデジタルカメラ100及びスマートデバイス200のモードとしてコンテンツ一覧表示モードとリモート撮影モードを例に説明したが、他のモードについて本発明を適用することも可能である。例えばリモート撮影モードにおいて、動画撮影モードの場合は録音を行う必要がある。したがって、録音に関するステータス情報を通知するための追加のRequestEventを送信してもよい。また、外部ストロボやGPSユニット、通信カードなど、アクセサリを用いて撮影を行う場合、アクセサリに関するステータス情報を通知するための追加のRequestEventを送信してもよい。
本実施形態では、少なくとも撮像装置の全体的な状態変化と、リモートカメラとして機能した場合の状態変化を、より少ないセッション数で知ることができる。
以上、本発明をその好適な実施形態に基づいて詳述してきたが、本発明はこれら特定の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。上述の実施形態の一部を適宜組み合わせてもよい。また、上述の実施形態の機能を実現するソフトウェアのプログラムを、記録媒体から直接、或いは有線/無線通信を用いてプログラムを実行可能なコンピュータを有するシステム又は装置に供給し、そのプログラムを実行する場合も本発明に含む。従って、本発明の機能処理をコンピュータで実現するために、該コンピュータに供給、インストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明の機能処理を実現するためのコンピュータプログラム自体も本発明に含まれる。その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等、プログラムの形態を問わない。プログラムを供給するための記録媒体としては、例えば、ハードディスク、磁気テープ等の磁気記録媒体、光/光磁気記憶媒体、不揮発性の半導体メモリでもよい。また、プログラムの供給方法としては、コンピュータネットワーク上のサーバに本発明を形成するコンピュータプログラムを記憶し、接続のあったクライアントコンピュータはがコンピュータプログラムをダウンロードしてプログラムするような方法も考えられる。
100…デジタルカメラ、101…制御部、102…撮像部、103…不揮発性メモリ、103…作業用メモリ、105…操作部、106…表示部、110…記録媒体、111…通信部、112…近距離通信部、200…スマートデバイス、201…制御部、202…撮像部、203…不揮発性メモリ、204…作業用メモリ、205…操作部、206…表示部、210…記録媒体、211…通信部、212…近距離通信部、213…公衆網通信部、214…マイク、215…スピーカ

Claims (31)

  1. 通信装置であって、
    情報処理装置からリクエストを受信する受信手段と、
    前記リクエストに対するレスポンスを送信する送信手段と、
    前記情報処理装置から所定のリクエストを受信した場合、前記所定のリクエストに応答せず、前記所定のリクエストを保留リクエストとして管理する管理手段とを有し、
    前記通信装置のステータスが所定の条件を満たした場合、前記送信手段は前記通信装置のステータス情報を前記保留リクエストへのレスポンスとして送信し、
    前記管理手段は、保留リクエストに対するレスポンスを送信する前にもう1つの所定リクエストを受信した場合は、そのもう1つの所定リクエストを新たな保留リクエストとして管理し、その結果、複数の保留リクエストを管理可能であることを特徴とする通信装置。
  2. 前記管理手段により管理可能な保留リクエストの数は、前記通信装置のモードに応じて異なることを特徴とする請求項1に記載の通信装置。
  3. 第1のモードと第2のモードとを含むモードのいずれかに移行する移行手段と、
    前記第2のモードで管理される保留リクエストの数は、前記第1のモードで管理される保留リクエストの数よりも多いことを特徴とする請求項1または2に記載の通信装置。
  4. 撮像手段をさらに有し、
    前記第1のモードは前記通信装置に記録された画像データを前記情報処理装置に送信するモードであり、前記第2のモードは前記撮像手段による撮像を前記情報処理装置から制御するモードであることを特徴とする請求項3に記載の通信装置。
  5. 前記第2のモードで送信される前記通信装置のステータス情報は、撮影可能枚数を示す情報を含むことを特徴とする請求項4に記載の通信装置。
  6. 前記第2のモードで送信される前記通信装置のステータス情報は、前記通信装置の撮像パラメータを示す情報を含むことを特徴とする請求項4または5に記載の通信装置。
  7. 前記第2のモードに移行した場合、前記受信手段は前記情報処理装置から新たな所定のリクエストを受信し、前記管理手段は前記新たな所定のリクエストを新たな保留リクエストとして管理することを特徴とする請求項3乃至6のいずれか1項に記載の通信装置。
  8. 前記管理手段は、前記第1のモードで受信された所定のリクエストに基づく保留リクエストと、前記第2のモードで受信された所定のリクエストに基づく保留リクエストとを区別して管理する請求項3乃至7のいずれか1項に記載の通信装置。
  9. 前記第1のモードにおいて送信される前記通信装置のステータス情報に含まれるステータスと、前記第2のモードにおいて送信される前記通信装置のステータス情報に含まれるステータスは異なることを特徴とする請求項3乃至8のいずれか1項に記載の通信装置。
  10. 前記送信手段により前記通信装置のステータス情報を前記保留リクエストへのレスポンスとして送信したことに応じて、前記受信手段は前記情報処理装置から新たな所定のリクエストを受信し、前記管理手段は前記新たな所定のリクエストを新たな保留リクエストとして管理する請求項1乃至9のいずれか1項に記載の通信装置。
  11. 前記送信手段により前記保留リクエストに対し所定のレスポンスを送信した場合、前記受信手段は前記情報処理装置から新たな所定のリクエストを受信しないことを特徴とする請求項1乃至10のいずれか1項に記載の通信装置。
  12. 前記通信装置のステータス情報は、前記通信装置のバッテリ情報を含むことを特徴とする請求項1乃至11のいずれか1項に記載の通信装置。
  13. 前記通信装置のステータス情報は、前記通信装置がパワーセーブモードに移行することを示す情報を含むことを特徴とする請求項1乃至12のいずれか1項に記載の通信装置。
  14. 前記通信装置のステータス情報は、前記通信装置が前記情報処理装置との通信を終了することを示す情報を含むことを特徴とする請求項1乃至13のいずれか1項に記載の通信装置。
  15. 情報処理装置であって、
    通信装置にリクエストを送信する送信手段と、
    前記リクエストに対するレスポンスを前記通信装置から受信する受信手段とを有し、
    前記送信手段は、所定のリクエストを前記通信装置に送信する、
    ここで前記所定のリクエストに対するレスポンスは前記通信装置により保留され、前記通信装置のステータス情報を前記通信装置から前記情報処理装置に送信するために用いられる、
    前記送信手段は、既に送信した所定のリクエストに対するレスポンスの受信前に新たな所定のリクエストを送信可能である
    ことを特徴とする情報処理装置。
  16. 前記保留されるレスポンスの数は、前記情報処理装置のモードに応じて異なることを特徴とする請求項15に記載の情報処理装置。
  17. 第1のモードと第2のモードとを含むモードのいずれかに移行する移行手段と、
    前記第2のモードで保留されるレスポンスの数は、前記第1のモードで保留されるレスポンスの数よりも多いことを特徴とする請求項15または16に記載の情報処理装置。
  18. 前記通信装置は撮像手段を有し、
    前記第1のモードは前記通信装置に記録された画像データを受信するモードであり、前記第2のモードは前記撮像手段による撮像を前記情報処理装置から制御するモードであることを特徴とする請求項17に記載の情報処理装置。
  19. 前記第2のモードで送信されるステータス情報は、前記通信装置の撮像可能枚数を示す情報を含むことを特徴とする請求項18に記載の情報処理装置。
  20. 前記第2のモードで送信されるステータス情報は、前記通信装置の撮像パラメータを示す情報を含むことを特徴とする請求項18に記載の情報処理装置。
  21. 前記第2のモードに移行した場合、前記送信手段は前記通信装置に前記新たな所定のリクエストを送信することを特徴とする請求項17乃至20のいずれか1項に記載の情報処理装置。
  22. 前記第1のモードにおいて受信される前記通信装置のステータス情報に含まれるステータスと、前記第2のモードにおいて受信される前記通信装置のステータス情報に含まれるステータスは異なることを特徴とする請求項17乃至21のいずれか1項に記載の情報処理装置。
  23. 前記受信手段により前記所定のリクエストに対するレスポンスとして前記通信装置のステータス情報を受信した場合、前記送信手段は前記通信装置に新たな前記所定のリクエストを送信することを特徴とする請求項15乃至22のいずれか1項に記載の情報処理装置。
  24. 前記受信手段により前記所定のリクエストに対するレスポンスとして所定のレスポンスを受信した場合、前記送信手段は前記通信装置に新たな所定のリクエストを受信しないことを特徴とする請求項15乃至23のいずれか1項に記載の情報処理装置。
  25. 前記通信装置のステータス情報は、前記通信装置のバッテリ情報を含むことを特徴とする請求項15乃至24のいずれか1項に記載の情報処理装置。
  26. 前記通信装置のステータス情報は、前記通信装置がパワーセーブモードに移行することを示す情報を含むことを特徴とする請求項15乃至25のいずれか1項に記載の情報処理装置。
  27. 前記通信装置のステータス情報は、前記通信装置が前記情報処理装置との通信を終了することを示す情報を含むことを特徴とする請求項15乃至26のいずれか1項に記載の情報処理装置。
  28. 通信装置の制御方法であって、
    情報処理装置からリクエストを受信する受信工程と、
    前記リクエストに対するレスポンスを送信する送信工程と、
    前記情報処理装置から所定のリクエストを受信した場合、前記所定のリクエストに応答せず、前記所定のリクエストを保留リクエストとして管理する管理工程とを有し、
    前記通信装置のステータスが所定の条件を満たした場合、前記送信工程では前記通信装置のステータス情報を前記保留リクエストへのレスポンスとして送信し、
    前記管理工程は、保留リクエストに対するレスポンスを送信する前にもう1つの所定リクエストを受信した場合は、そのもう1つの所定リクエストを新たな保留リクエストとして管理し、その結果、複数の保留リクエストを管理可能である
    ことを特徴とする通信装置の制御方法。
  29. 情報処理装置の制御方法であって、
    通信装置にリクエストを送信する送信工程と、
    前記リクエストに対するレスポンスを前記通信装置から受信する受信工程とを有し、
    前記送信工程では、所定のリクエストを前記通信装置に送信する、
    ここで前記所定のリクエストに対するレスポンスは前記通信装置により保留され、前記通信装置のステータス情報を前記通信装置から前記情報処理装置に送信するために用いられる、
    前記送信工程では、既に送信した所定のリクエストに対するレスポンスの受信前に新たな所定のリクエストを送信可能である
    ことを特徴とする情報処理装置の制御方法。
  30. コンピュータが読み込み実行することで、前記コンピュータを、請求項1乃至14のいずれか1項に記載の通信装置が有する手段として機能させるためのプログラムを格納したコンピュータが読み込み可能な記憶媒体。
  31. コンピュータが読み込み実行することで、前記コンピュータを、請求項15乃至27のいずれか1項に記載の情報処理装置が有する手段として機能させるためのプログラムを格納したコンピュータが読み込み可能な記憶媒体。
JP2015166187A 2014-09-03 2015-08-25 通信装置及び情報処理装置及びそれらの制御方法、並びに記憶媒体 Active JP6603513B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
PCT/JP2015/004316 WO2016035293A1 (en) 2014-09-03 2015-08-27 Communication apparatus, information processing apparatus, methods and computer-readable storage medium
US15/508,428 US10225455B2 (en) 2014-09-03 2015-08-27 Communication apparatus, information processing apparatus, methods and computer-readable storage medium
EP15837874.5A EP3189440A4 (en) 2014-09-03 2015-08-27 Communication apparatus, information processing apparatus, methods and computer-readable storage medium
CN201580047297.XA CN106796553A (zh) 2014-09-03 2015-08-27 通信设备、信息处理设备、方法和计算机可读存储介质

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2014179522 2014-09-03
JP2014179522 2014-09-03

Publications (3)

Publication Number Publication Date
JP2016053954A JP2016053954A (ja) 2016-04-14
JP2016053954A5 JP2016053954A5 (ja) 2018-09-20
JP6603513B2 true JP6603513B2 (ja) 2019-11-06

Family

ID=55744161

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015166187A Active JP6603513B2 (ja) 2014-09-03 2015-08-25 通信装置及び情報処理装置及びそれらの制御方法、並びに記憶媒体

Country Status (4)

Country Link
US (1) US10225455B2 (ja)
EP (1) EP3189440A4 (ja)
JP (1) JP6603513B2 (ja)
CN (1) CN106796553A (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10009505B2 (en) * 2015-04-14 2018-06-26 Apple Inc. Asynchronously requesting information from a camera device
JP6896908B2 (ja) * 2016-04-21 2021-06-30 キヤノン株式会社 リモート操作装置、リモート操作装置の制御方法及びプログラム
JP6685819B2 (ja) * 2016-04-21 2020-04-22 キヤノン株式会社 リモート操作装置、リモート操作装置の制御方法及びプログラム
JP6541715B2 (ja) * 2017-05-12 2019-07-10 キヤノン株式会社 情報処理装置、制御方法及びプログラム
CN108289165B (zh) * 2017-12-12 2020-08-21 深圳进化动力数码科技有限公司 一种基于手机控制相机的实现方法、装置及终端设备
US20190370094A1 (en) * 2018-06-01 2019-12-05 Apple Inc. Direct input from a remote device
JP7097772B2 (ja) * 2018-07-25 2022-07-08 キヤノン株式会社 情報処理装置、制御方法およびプログラム
JP7218165B2 (ja) 2018-12-07 2023-02-06 キヤノン株式会社 通信装置、通信装置の制御方法、プログラム
JP6824949B2 (ja) * 2018-12-26 2021-02-03 キヤノン株式会社 通信装置、制御方法およびプログラム

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10375641B2 (en) * 2003-05-05 2019-08-06 Pluto Technologies, Inc. Mobile device management system using network parameter resources
US9176772B2 (en) 2005-02-11 2015-11-03 Oracle International Corporation Suspending and resuming of sessions
JP4776975B2 (ja) 2005-05-11 2011-09-21 キヤノン株式会社 撮像装置
US7379664B2 (en) * 2005-07-26 2008-05-27 Tinkers & Chance Remote view and controller for a camera
JP2009211343A (ja) * 2008-03-04 2009-09-17 Kddi Corp サーバ装置および通信システム
JP5015052B2 (ja) 2008-03-26 2012-08-29 パナソニック株式会社 監視システム及び監視サーバ装置
CN104320571B (zh) * 2010-02-19 2019-05-17 株式会社尼康 电子设备及用于电子设备的方法
JP5617709B2 (ja) 2011-03-16 2014-11-05 富士通株式会社 プログラム、制御装置および方法
US8621494B2 (en) * 2011-09-12 2013-12-31 Microsoft Corporation Managing processes within suspend states and execution states
JP2013073506A (ja) 2011-09-28 2013-04-22 Canon Inc 画像処理装置、その制御方法、及びプログラム
CN107360340A (zh) 2012-12-27 2017-11-17 松下电器产业株式会社 电子设备以及记录介质
EP2757772A3 (en) 2013-01-17 2017-08-16 Canon Kabushiki Kaisha Image pickup apparatus, remote control apparatus, and methods of controlling image pickup apparatus and remote control apparatus
JP2014158088A (ja) 2013-02-14 2014-08-28 Canon Inc 情報処理装置
WO2015127383A1 (en) * 2014-02-23 2015-08-27 Catch Motion Inc. Person wearable photo experience aggregator apparatuses, methods and systems
US9888216B2 (en) * 2015-09-22 2018-02-06 SkyBell Technologies, Inc. Doorbell communication systems and methods
JP2017538320A (ja) * 2014-10-15 2017-12-21 ベンジャミン ノヴァクBenjamin Nowak 複数視点のコンテンツ取込みおよび合成
AU2015224397A1 (en) * 2015-09-08 2017-03-23 Canon Kabushiki Kaisha Methods for adjusting control parameters on an image capture device
US9743077B2 (en) * 2016-01-12 2017-08-22 Sling Media LLC Detection and marking of low quality video content

Also Published As

Publication number Publication date
US20170295311A1 (en) 2017-10-12
EP3189440A1 (en) 2017-07-12
CN106796553A (zh) 2017-05-31
EP3189440A4 (en) 2018-04-11
JP2016053954A (ja) 2016-04-14
US10225455B2 (en) 2019-03-05

Similar Documents

Publication Publication Date Title
JP6603513B2 (ja) 通信装置及び情報処理装置及びそれらの制御方法、並びに記憶媒体
JP6429539B2 (ja) 通信装置、通信装置の制御方法、プログラム
JP6395522B2 (ja) 通信装置、通信装置の制御方法、プログラム
JP6366386B2 (ja) 通信装置、撮像装置、通信装置の制御方法、及びプログラム
US11082600B2 (en) Electronic apparatus that performs wireless communication with an image capturing device at two different communication speeds, and method for controlling same
US10397870B2 (en) Electronic device that performs indication on a display when a wireless connection with an external device is disconnected
JP6882055B2 (ja) 通信装置及びその制御方法及びプログラム及び通信システム
US20180152491A1 (en) Image provision apparatus and image reception apparatus, control method thereof, image communication system, and computer-readable storage medium
JP6656070B2 (ja) 撮像装置およびその制御方法、プログラムならびにシステム
JP7218164B2 (ja) 通信装置およびその制御方法
JP6391374B2 (ja) 通信装置、通信装置の制御方法、プログラム
US10728451B2 (en) Communication device for communicating with external device, method for controlling the same, and recording medium
WO2016035293A1 (en) Communication apparatus, information processing apparatus, methods and computer-readable storage medium
JP2017103552A (ja) 撮像装置、撮像装置の制御方法及びプログラム
JP2017046176A (ja) 撮像装置及びその制御方法、プログラム
JP6478615B2 (ja) 通信装置、その制御方法およびプログラム
JP7346122B2 (ja) 情報処理装置、情報処理装置の制御方法、及びプログラム
JP2019004422A (ja) 通信装置、制御方法およびプログラム
US11140279B2 (en) Communication system, communication apparatus, control method, non-transitory computer-readable storage medium, and server apparatus
JP2019003495A (ja) 情報処理装置、その制御方法、および制御プログラム
JP7086743B2 (ja) 通信装置、通信装置の制御方法、プログラム
JP2018006962A (ja) 通信装置、通信装置の制御方法、及び、プログラム
JP2019004390A (ja) 撮像装置、通信装置、制御方法、及び、プログラム
JP2019087956A (ja) 画像撮影装置、画像撮影装置の制御方法、プログラム
JP2018180307A (ja) 画像撮影装置、画像撮影装置の制御方法、プログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180807

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180807

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190719

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190904

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: 20190913

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191011

R151 Written notification of patent or utility model registration

Ref document number: 6603513

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151