JP2016053840A - 電子機器およびその制御方法 - Google Patents

電子機器およびその制御方法 Download PDF

Info

Publication number
JP2016053840A
JP2016053840A JP2014179521A JP2014179521A JP2016053840A JP 2016053840 A JP2016053840 A JP 2016053840A JP 2014179521 A JP2014179521 A JP 2014179521A JP 2014179521 A JP2014179521 A JP 2014179521A JP 2016053840 A JP2016053840 A JP 2016053840A
Authority
JP
Japan
Prior art keywords
content data
information
request
external device
control unit
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.)
Granted
Application number
JP2014179521A
Other languages
English (en)
Other versions
JP2016053840A5 (ja
JP6504768B2 (ja
Inventor
幸史 徳永
Yukifumi Tokunaga
幸史 徳永
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 JP2014179521A priority Critical patent/JP6504768B2/ja
Priority to US14/837,896 priority patent/US9760250B2/en
Publication of JP2016053840A publication Critical patent/JP2016053840A/ja
Publication of JP2016053840A5 publication Critical patent/JP2016053840A5/ja
Application granted granted Critical
Publication of JP6504768B2 publication Critical patent/JP6504768B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • 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
    • H04N23/631Graphical user interfaces [GUI] specially adapted for controlling image capture or setting capture parameters
    • H04N23/632Graphical user interfaces [GUI] specially adapted for controlling image capture or setting capture parameters for displaying or modifying preview images prior to image capturing, e.g. variety of image resolutions or capturing 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/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

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Studio Devices (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

【課題】コンテンツデータの情報を効率的に提供もしくは取得可能な電子機器およびその制御方法を提供する。【解決手段】外部装置の要求に応答して、外部装置にコンテンツデータの情報を提供する際、要求に数が指定されていれば、コンテンツデータファイルのうち、新しいものの情報から順に、指定された数の情報を外部装置に送信する。【選択図】図5

Description

本発明は、電子機器およびその制御方法に関し、特には電子機器間でコンテンツデータの情報を通信する技術に関する。
近年、パーソナルコンピュータ、デジタルカメラ、ゲーム機、タブレット端末、携帯電話機など、多くの電子機器にカメラ機能および通信機能が搭載され、これら電子機器間でのデータ送受信が実現されている。
例えば、特許文献1には、デジタルカメラが有するコンテンツデータ(画像データ、音声データなど)の識別情報をデジタルカメラから取得し、取得した識別情報を用いて所望のコンテンツデータをデジタルカメラから取得する技術が開示されている。
特開2008-250820号公報
従来、ある電子機器(送信機器)が有する複数のコンテンツデータについて、別の電子機器(受信機器)がサムネイルとファイル名などの基本情報を一覧表示しようとした場合、受信機器は、
(1)コンテンツデータの識別情報を取得
(2)識別情報を用いて1つずつ基本情報を取得
(3)識別情報を用いて1つずつサムネイルを取得
(4)一覧表示
という手順を踏む必要があった。そのため、例えば100のコンテンツデータについてこのような一覧表示を行う場合、(2)と(3)の手順を100回繰り返す必要があった。
本発明はこのような従来技術の課題に鑑みなされたものであり、コンテンツデータの情報を効率的に提供もしくは取得可能な電子機器およびその制御方法の提供を目的とする。
上述の目的は、外部装置と通信するための通信手段と、コンテンツデータファイルが記録された装置にアクセス可能な取得手段と、外部装置の要求に応答して、外部装置にコンテンツデータの情報を通信手段を通じて提供する制御手段と、を有し、制御手段は、数が指定された、コンテンツデータファイルの情報の要求を外部装置から受信した場合、コンテンツデータファイルのうち、新しいものの情報から順に、指定された数の情報を外部装置に送信することを特徴とする電子機器によって達成される。
このような構成により、本発明によれば、コンテンツデータの情報を効率的に提供もしくは取得可能な電子機器およびその制御方法を提供することができる。
本発明の実施形態に係る電子機器(送信機器)の一例であるデジタルカメラの機能構成例を示すブロック図 本発明の実施形態に係る電子機器(受信機器)の一例であるスマートデバイスの機能構成例を示すブロック図 本発明の実施形態に係る送信機器が提供するAPIの例を示す図 本発明の第1の実施形態に係る送信機器と受信機器の相互動作の例を示すシーケンス図 本発明の実施形態に係る受信機器が表示するGUI画面の例を示す図 図4における送信機器の動作を説明するためのフローチャート 図4における受信機器の動作を説明するためのフローチャート 本発明の第2の実施形態に係る送信機器の動作を説明するためのフローチャート 本発明の第2の実施形態に係る受信機器の動作を説明するためのフローチャート
以下に、本発明の例示的な実施形態について、添付の図面を用いて詳細に説明する。
なお、以下に説明する実施の形態は、本発明の実現手段としての一例であり、本発明が適用される装置の構成や各種条件によって適宜修正又は変更されてもよい。また、各実施の形態を適宜組み合せることも可能である。
●(第1の実施形態)
<デジタルカメラ100の構成>
図1(a)は、本発明の実施形態に係る電子機器(送信機器)の一例であるデジタルカメラ100の構成例を示すブロック図である。本明細書においては、コンテンツデータおよびその情報を提供する機能を備える装置を送信機器、送信機器からコンテンツデータおよびその情報を取得する機能を備える装置を受信機器とする。従って、両方の機能を備える電子機器は受信機器としても送信機器としても動作可能である。
なお、送信機器として動作可能な電子機器はデジタルカメラに限らない。携帯型のメディアプレーヤや、パーソナルコンピュータ、タブレット端末、ゲーム機、携帯電話機など、コンテンツデータの保持機能と外部装置との通信機能を有する任意の電子機器が本発明の実施形態に係る送信機器となりうる。
制御部101は例えばCPUやMPUのようなプログラマブルプロセッサを有し、入力された信号や、後述のプログラムに従ってデジタルカメラ100の各部を制御する。なお、制御部101の代わりに複数のハードウェアが処理を分担してデジタルカメラ100の全体を制御してもよい。
撮像部102は、例えば、光学レンズユニットと、絞り機構・ズームレンズ・フォーカスレンズなどを駆動する駆動ユニットから構成される光学系と、光学レンズユニットを通じて入射した光を電気信号に変換する撮像素子とその駆動回路などで構成される。撮像素子には、CMOS(Complementary Metal Oxide Semiconductor)イメージセンサや、CCD(Charge Coupled Device)が一般的に利用される。
撮像部102は、制御部101の制御により、光学レンズユニットで結像された被写体像を撮像素子により電気信号に変換し、ノイズ低減処理やA/D変換処理などを行ってデジタル画像データを出力する。制御部101は、デジタル画像データに対して予め定められた画像処理を適用し、記録形式に応じた付加情報を有する画像データファイルを生成して記録媒体110に記録する。本実施形態のデジタルカメラ100において、画像データファイルは、DCF(Design rule for Camera File system)規格に従って、メモリカードなどの記録媒体110に記録される。以下の説明において、デジタルカメラ100が生成して記録媒体110に記録する静止画データファイル、音声データファイル、動画データファイルなどを総称してコンテンツデータファイルと呼ぶ。
不揮発性メモリ103は、例えば電気的に消去・記録可能であり、制御部101がデジタルカメラ100を制御するために実行するプログラム、各種の設定、およびメニュー画面などのGUIデータ等を格納する。外部装置がデジタルカメラ100の動作を制御したり、デジタルカメラ100からデータを取得したりすることを可能にするためのアプリケーションプログラミングインターフェース(API)のプログラムも不揮発性メモリ103に格納されている。
作業用メモリ104は、例えば揮発性メモリであり、撮像部102で得られた画像データを一時的に保持するバッファや、表示部106の画像表示用メモリ、制御部101の作業領域等として使用される。
操作部105は、デジタルカメラ100に対するユーザ指示を受け付けるためのスイッチ、ボタンなどの入力デバイス群である。操作部105は例えば、デジタルカメラ100の電源のON/OFFを指示するための電源ボタンや、撮影準備動作や撮影動作の開始を指示するためのレリーズスイッチ、画像データの再生を指示するための再生ボタンを含む。さらに、通信部111を介して外部装置との通信を開始するための接続ボタンや、表示部106が有するタッチパネルも操作部105に含まれる。
なお、レリーズスイッチは、SW1およびSW2を有する。レリーズスイッチが半押し状態となることにより、SW1がONとなる。SW1のONは撮影準備動作の開始指示であり、制御部101はAF(オートフォーカス)処理、AE(自動露出)処理、AWB(オートホワイトバランス)処理、EF(フラッシュプリ発光)処理等の撮影準備動作を開始する。また、レリーズスイッチが全押し状態となることにより、SW2がONとなる。SW2のONは撮影動作の開始指示であり、制御部101は撮影動作を開始する。
表示部106は、ライブビュー画像の表示、撮影済み画像の表示、デジタルカメラ100の各種情報の表示、ユーザとの対話的な操作のためのUI表示などに用いられる。なお、表示部106は必ずしもデジタルカメラ100が備えなくてもよく、外部表示装置であってもよい。つまり、デジタルカメラ100は表示部106の表示を制御する表示制御機能を少なくとも有していればよい。
記録媒体110は、例えば不揮発性の半導体記憶装置であり、コンテンツデータ(静止画データ、動画データ、音声データなど)が予め定められたファイルシステムに従って記録される。記録媒体110はメモリカードのようにデジタルカメラ100に着脱可能な構成であってもよいし、デジタルカメラ100に内蔵(固定)された構成であってもよい。また、記録媒体110は外部記憶装置であってもよい。すなわち、デジタルカメラ100は少なくとも記録媒体110にアクセス可能であればよい。
通信部111は、外部装置との通信インターフェイスである。例えば、撮像部102で撮影した画像データを、通信部111を介して後述するスマートデバイス200のような外部装置に送信することができる。なお、通信部111は有線通信インターフェイス、無線通信インターフェイスの少なくとも一方を備えることができる。本実施形態では、通信部111はIEEE802.11xの規格に従った、無線LANインターフェイスを有し、制御部101は、通信部111を制御することで外部装置と無線通信を行う。
なお、通信部111が有する無線通信インターフェイスの規格は無線LANに限定されるものではなく、例えば赤外線通信方式、Bluetooth(登録商標)通信方式、WirelessUSB、任意の無線通信規格に準拠したものであってよい。通信部111が有線通信インターフェイスを有する場合も、USB、HDMI(登録商標)、IEEE1394、Ethernet(登録商標)など、任意の規格に準拠したインターフェイスを備えることができる。
近距離通信部112は、例えば無線通信のためのアンテナと無線信号を処理するため変復調回路や通信コントローラから構成される。近距離通信部112は、変調した無線信号をアンテナから出力し、またアンテナで受信した無線信号を復調することでISO/IEC 18092の規格(いわゆるNFC:Near Field Communication)に従った近距離無線通信を実現する。また、通信部111で用いるような無線通信規格に準拠して短距離無線通信を実現する構成であってもよい。本実施形態において、近距離通信部112のアンテナは、図1(c)に示すようにデジタルカメラ100の側面に配される。
本実施形態において、後述するスマートデバイス200とは、通信部111より通信を開始することにより接続される。また、本実施形態における通信部111は、インフラストラクチャモードにおけるアクセスポイントとして動作するAPモードと、インフラストラクチャモードにおけるクライアントとして動作するCLモードとを有している。
通信部111をCLモードで動作させることにより、本実施形態におけるデジタルカメラ100は、インフラストラクチャモードにおけるCL機器として動作することが可能である。デジタルカメラ100がCL機器として動作する場合、周辺のAP機器に接続することで、AP機器が形成するネットワークに参加することが可能である。また、通信部111をAPモードで動作させることにより、本実施形態におけるデジタルカメラ100は、APの一種ではあるが、より機能が限定された簡易的なAP(以下、簡易AP)として動作することも可能である。デジタルカメラ100が簡易APとして動作すると、デジタルカメラ100は自身でネットワークを形成する。デジタルカメラ100の周辺の装置は、デジタルカメラ100をAP機器と認識し、デジタルカメラ100が形成したネットワークに参加することが可能となる。APモードおよびCLモードにおける動作は、不揮発性メモリ103に保持されたプログラムを制御部101が実行することで実現される。
なお、通信部111がAPモードで(簡易APとして)動作する場合、CL機器から受信したデータをインターネットプロバイダなどに転送するゲートウェイ機能は有していない。したがって、デジタルカメラ100が形成するネットワークに参加している他のCL機器からデータを受信しても、それをインターネットなどの外部ネットワークに転送することはできない。
次に、デジタルカメラ100の外観について説明する。図1(b)、図1(c)はデジタルカメラ100の外観例を示す斜視図である。レリーズスイッチ105aや再生ボタン105b、方向キー105c、タッチパネル105dは、操作部105に含まれる操作部材である。また、上述の通り、近距離通信部112のアンテナは、デジタルカメラ100の側面に配される。
<スマートデバイス200の内部構成>
図2は、本発明の実施形態に係る電子機器(受信機器)の一例であるスマートデバイス200の構成例を示すブロック図である。なお、スマートデバイスとはいわゆるスマートフォンやタブレットデバイスを意味する。
なお、受信機器として動作可能な電子機器はスマートデバイスに限らない。携帯型のメディアプレーヤや、パーソナルコンピュータ、ゲーム機など、送信機器との通信機能を有する任意の電子機器が本発明の実施形態に係る受信機器となりうる。
制御部201は、例えばCPUやMPUのようなプログラマブルプロセッサを有し、入力された信号や、後述のプログラムに従ってスマートデバイス200の各部を制御する。なお、制御部201の代わりに複数のハードウェアが処理を分担してスマートデバイス200の全体を制御してもよい。
撮像部202は、デジタルカメラ100が有する撮像部102と同様の構成を有する(撮像素子の画素数などの細部は異なっていてもよい)。制御部201は、撮像部202の出力するデジタル画像データに対して予め定められた画像処理を適用し、記録形式に応じた付加情報を有する画像データファイルを生成して記録媒体210に記録する。
不揮発性メモリ203は、電気的に消去・記録可能であり、制御部201が実行する基本ソフトウェア(オペレーティングシステム(OS))や、OSと協働して応用的な機能を実現するアプリケーションが格納されている。本実施形態では、デジタルカメラ100と通信するためのアプリケーション(以下、通信アプリという)が不揮発性メモリ203に格納されている。
作業用メモリ204は、例えば揮発性メモリであり、撮像部202で得られた画像データを一時的に保持するバッファや、表示部206の画像表示用メモリ、制御部201の作業領域等として使用される。
操作部205は、スマートデバイス200に対するユーザ指示を受け付けるためのスイッチ、ボタンなどの入力デバイス群である。操作部205は例えば、スマートデバイス200の電源のON/OFFを指示するための電源ボタンや、表示部206が有するタッチパネルなどを含む。
表示部206は、ライブビュー画像の表示、撮影済み画像の表示、スマートデバイス200の各種情報の表示、ユーザとの対話的な操作のためのUI表示などに用いられる。なお、表示部206は必ずしもスマートデバイス200が備えなくてもよく、外部表示装置であってもよい。つまり、スマートデバイス200は表示部206の表示を制御する表示制御機能を少なくとも有していればよい。
記録媒体210は、スマートデバイス200に着脱可能な構成であっても、内蔵(固定)された構成であってもよい。また、記録媒体210は外部記憶装置であってもよい。すなわち、スマートデバイス200は少なくとも記録媒体210にアクセス可能であればよい。
通信部211は、外部装置との通信インターフェイスである。なお、通信部211は有線通信インターフェイス、無線通信インターフェイスの少なくとも一方を備えることができる。本実施形態では、通信部211はIEEE802.11xの規格に従った、無線LANインターフェイスを有し、制御部201は、通信部211を制御することで外部装置と無線通信を行う。
なお、デジタルカメラ100と通信する際には、通信部211とデジタルカメラ100の通信部111とで直接通信してもよいし、アクセスポイントを介して通信してもよい。データ通信プロトコルとしては、例えばHTTP(Hyper Text Transfer Protocol)やPTP/IP(Picture Transfer Protocol over Internet Protocol)を用いることができるが、これらに限定されない。
なお、通信部211が有する無線通信インターフェイスの規格は無線LANに限定されるものではなく、例えば赤外線通信方式、Bluetooth(登録商標)通信方式、WirelessUSB、任意の無線通信規格に準拠したものであってよい。通信部111が有線通信インターフェイスを有する場合も、USB、HDMI(登録商標)、IEEE1394、Ethernet(登録商標)など、任意の規格に準拠したインターフェイスを備えることができる。
近距離通信部212は、デジタルカメラ100の近距離通信部112と同様の構成を有し、NFCに従った近距離無線通信を実現する。また、通信部211で用いるような無線通信規格に準拠して短距離無線通信を実現する構成であってもよい。近距離通信部212は、外部装置からデータ読み出し要求を受けると、不揮発性メモリ203に格納されているデータに基づき、応答データを出力する。
公衆網通信部213は、公衆無線通信インターフェイスである。スマートデバイス200は、公衆網通信部213を介して、他の機器と通信することができる。この際、制御部201はマイク214およびスピーカ215を介して音声信号の入力と出力を行うことで、通話を実現する。本実施形態では、公衆網通信部213はアンテナであり、制御部101は、アンテナを介して、公衆網に接続することができる。なお、通信部211および公衆網通信部213は、一つのアンテナで兼用することも可能である。
<デジタルカメラを外部装置から制御するAPIの構成>
図3(a)は、外部装置からデジタルカメラ100を制御するためのアプリケーションプログラミングインターフェース(API)の例を示す図である。本実施形態のデジタルカメラ100は、スマートデバイス200などの外部装置から利用可能なAPIを公開しているものとする。外部装置の設計者は、公開されたAPIを用いてデジタルカメラ100に要求を送信するよう実装することにより、デジタルカメラ100の動作制御や、デジタルカメラ100からのデバイス情報やコンテンツデータファイルの取得を実現できる。
デジタルカメラ100の不揮発性メモリ103にはAPIがプログラムとして予め保存されており、通信部111を介して外部装置との通信が確立すると、制御部101はAPIを作業用メモリ104に展開し、外部装置からAPIがリクエストされるのを待つ。制御部101が外部装置からAPIがリクエストされたことを検知すると、リクエストされたAPIの種類に応じて処理を実行し、その結果をレスポンスとして外部装置に返す。なお、APIはデジタルカメラ100が規定した通信プロトコル上で実行され、外部装置は規定された通信プロトコルを用いてデジタルカメラ100と通信を行い、APIをリクエストする。なお、本実施形態では、HTTPを用いてAPIのリクエストおよび応答が実行されることを想定して説明するが他の通信プロトコルを用いても実施可能である。なお、HTTPは公知の通信プロトコルであるため、その詳細についての説明は割愛する。
HTTPを用いたAPIのリクエストは、外部装置がHTTPリクエストボディにAPI名と必要な引数をテキストで記述し、GETメソッドもしくはPOSTメソッドを用いてデジタルカメラ100に送信することで実現できる。また、リクエストされたAPIの実施結果の返送は、制御部101がHTTPレスポンスボディに付加して外部装置に返送することで実現できる。
図3(a)に示すAPIリスト300は、デジタルカメラ100が提供(公開)するAPIの種類とその内容を示している。なお、図3(a)では便宜上4つのAPIについて示しているが、公開APIの数は4つに限定されない。
API301(RequestProductInfo)は、デジタルカメラ100の製品情報を外部装置が取得できるようにするためのAPIである。このAPIを引数なしでデジタルカメラ100にリクエストすることにより、デジタルカメラ100の製品名、製造者名、ファームウェアバージョン、シリアルナンバーがレスポンスとして取得できる。なお、製品名とは、デジタルカメラ100の製品名、製造者名とはデジタルカメラ100のメーカー名である。ファームウェアバージョンとは、不揮発性メモリ103に保存された、デジタルカメラ100を制御するためのプログラムのバージョン番号である。シリアルナンバーとは、デジタルカメラ100の個体識別が可能な一意の番号である。
API302(RequestMemoryInfo)は、デジタルカメラ100の保存領域の情報を外部装置が取得できるようにするためのAPIである。このAPIを引数なしでデジタルカメラ100にリクエストすることにより、デジタルカメラ100の保存領域ID、保存可能容量、空き容量、保存済みのコンテンツファイル数をレスポンスとして取得できる。複数のメモリカードが装着されている場合など、保存領域が複数存在する場合は、保存領域毎に上記の各項目が取得される。なお、保存領域IDとは、デジタルカメラ100で生成されるコンテンツデータファイルが保存可能な領域にそれぞれ割り振られた識別情報(ID(Identification))であり、例えば、記録媒体110には保存領域IDが割り振られる。保存可能容量とは、コンテンツファイルが保存できる保存領域に保存可能なサイズの上限である。空き容量とは、保存領域のうち、コンテンツデータファイルが保存されていない領域のサイズである。保存済みのコンテンツ数とは、保存領域に保存されているコンテンツデータファイルの総数である。
API303(RequestContentInfo)は、デジタルカメラ100の保存領域に保存されているコンテンツIDとコンテンツデータファイルの基本情報(エントリ情報)を外部装置が取得できるようにするAPIである。外部装置は、API302(RequestMemoryInfo)で取得した保存領域ID、コンテンツフォーマットの種類、取得要求数を引数に指定してこのAPIをリクエストする。これにより、デジタルカメラ100の保存領域に保存されているコンテンツデータファイルごとのコンテンツIDと、エントリ情報(ファイル名、ファイルサイズ、ファイル生成日時など)との両方がレスポンスとして取得できる。なお、コンテンツIDとは、コンテンツデータファイルを個々に識別するために割り振られた識別情報である。なお、本実施形態におけるAPIには、作業用メモリ104のサイズに応じて、外部装置が情報を一度に取得できるコンテンツデータファイルの数に上限値(ここでは100)が設定されている。よって、保存領域に保存されているコンテンツデータファイルの数がこのAPIに設定された上限値を超える場合、制御部101はこのAPIを繰り返しリクエストする必要がある。
API304(RequestConent)は、デジタルカメラ100の保存領域に保存されているコンテンツデータファイルを外部装置が取得できるようにするAPIである。引数にコンテンツIDとコンテンツサイズを指定してこのAPIをリクエストすることにより、外部装置はデジタルカメラ100の保存領域から、指定したコンテンツデータファイルを取得できる。なお、引数に指定するコンテンツサイズは、コンテンツデータをオリジナルのサイズで取得するのか、もしくは縮小したサイズで取得するのかを指定可能である。デジタルカメラ100の制御部101は指定されたサイズに従ったコンテンツデータファイルを生成し、外部装置へレスポンスとして返却する。本実施形態では、例えば静止画データをオリジナルのサイズで取得するのか、サムネイルサイズで取得するのかをコンテンツサイズで指定できる。
API305(RequestContentDetailInfo)は、デジタルカメラ100の保存領域に保存されているコンテンツデータの詳細情報を外部装置が取得できるようにするAPIである。コンテンツIDを引数としてこのAPIをリクエストすると、指定したコンテンツIDに対応するコンテンツデータの詳細情報がレスポンスとして取得できる。詳細情報の内容に特に制限は無いが、例えばコンテンツデータが静止画データの場合、Exif情報であってよい。
なお、ここで説明したAPIはデジタルカメラ100が公開するAPIの一例であり、ここで説明した以外のAPIが公開されたり、説明したAPIの1つ以上が公開されなくてもよい。
<スマートデバイスがデジタルカメラからコンテンツデータを取得するシーケンス>
スマートデバイス200がデジタルカメラ100と接続して、デジタルカメラ100の記録媒体110に保存されたコンテンツデータの一覧を表示部206に表示する際の動作を、図4のシーケンス図を参照して説明する。なお、本実施形態では、コンテンツデータが画像ファイルである場合を説明するが、音声ファイルなど、他の種類のファイルであっても同様に処理できる。
まず、S401において、デジタルカメラ100とスマートデバイス200は無線ローカルエリアネットワーク(LAN)接続を確立し、通信システムを形成する。
ここでは、デジタルカメラ100の通信部111をAPモードで動作させ、デジタルカメラ100が形成するネットワークにスマートデバイス200を参加させる方法で無線LAN接続を確立するものとする。例えば、操作部105の接続ボタンが押下され、APモードでの動作が指定されると、デジタルカメラ100の制御部101は、自身が形成するネットワークに外部装置が接続するために必要なSSID(Service Set Identifier)と暗号化キーを生成する。その後、制御部101は、SSIDと暗号化キーを用いて通信部111をAPモードで動作させることにより無線LANネットワークを生成し、接続に必要な情報を含んだビーコン信号の周期的なブロードキャストを開始する。なお、スマートデバイス200からSSIDを直接入力させる場合には、ビーコン信号のブロードキャストは行わなくてもよい。なお、制御部101は生成したSSIDと暗号化キーを表示部106に表示し、スマートデバイス200のユーザが無線LANネットワークに参加できるようにする。
なお、SSIDとは、IEEE802.11シリーズの無線LANにおけるアクセスポイントの識別子であり、混信を避けるために付けられる名前である。暗号化キーとは、SSIDに不正アクセスされないよう無線LANの暗号化を行うためのキーである。
次に、制御部101は、DHCP(Dynamic Host Configuration Protocol)サーバアプリケーションを実行し、デジタルカメラ100が形成したネットワークに参加する外部装置に対してIPアドレスを割り振る準備をする。
一方、スマートデバイス200の制御部201は、通信部211の無線LAN機能が有効でなければ有効とし、通信部211を用いて通信可能範囲に存在するアクセスポイントを探索する。そして、見つかったアクセスポイントのSSIDの一覧を、表示部206に表示する。
制御部201は、表示部206に表示されたSSID一覧から操作部205を通じて選択指示が与えられると、選択されたSSIDに応じて暗号化キーの入力画面を表示部206に表示する。そして、制御部201は、選択されたSSIDと操作部205を通じて入力された暗号化キーを通信部211に通知し、選択されたSSIDへの接続を試みる。
従って、スマートデバイス200のユーザは、まず、表示部206に一覧表示されたSSIDからデジタルカメラ100の表示部106に表示されたSSIDを操作部205を用いて選択する。デジタルカメラ100が形成している無線LANネットワークは暗号化されているため、制御部201は暗号化キーの入力画面を表示部206に表示する。そして、ユーザは、暗号化キーの入力画面に、デジタルカメラ100の表示部106に表示された暗号化キーを、操作部205を用いて入力する。
暗号化キーが正しく入力されれば、スマートデバイス200がデジタルカメラ100(簡易AP)に認証され、スマートデバイス200からの接続要求に対してデジタルカメラ100が接続許可を応答することで接続が完了する。スマートデバイス200は、デジタルカメラ100から割り当てられたIPアドレスを用いて、デジタルカメラ100と通信することが可能になる。
なお、ここではデジタルカメラ100が簡易APとして動作する例を説明したが、他のAP(無線ルータなど)が構築するLANに、クライアントとして動作するデジタルカメラ100とスマートデバイス200がそれぞれ接続する形態であってもよい。
次に、S402において、デジタルカメラ100とスマートデバイス200が互いの存在や提供するサービスを認識するディスカバリ処理を行い、スマートデバイス200が無線LANを介してデジタルカメラ100が提供するAPIを使用する準備を行う。なお、ディスカバリ処理は、公知のプロトコルは、例えば、SSDP(Single Service Discovery Protocol)やMulticast DNSなどを用いて行うことができる。
ディスカバリ処理の一例を説明すると、制御部101は、自らが構築したネットワークに対してアドバタイズ通知を送信し、自身の存在をネットワークに接続している機器に通知する。スマートデバイス200の制御部201は、このアドバタイズ通知を受信すると、デジタルカメラ100から、機器情報(Device Description)を取得し、APIサービスを提供しているか否か(APIを公開しているか否か)を判定する。
制御部201は、例えば機器情報に含まれるサービスリストに記述されたURLにアクセスしてサービスの情報を取得し、デジタルカメラ100がAPIサービスを提供しているかどうかを判定することができる。また、APIサービスが提供されている場合、公開されているAPIの名称、機能、およびAPIサービスのアクセス方法(例えばURL)に関する情報を得ることができる。制御部201は、デジタルカメラ100がAPIサービスを提供していると判断した場合、公開されているAPIを使用してデジタルカメラ100から画像ファイルを取得するためのプログラムを、不揮発性メモリ203から作業用メモリ204に展開し、実行する。
次に、S403において、制御部201は、通信部211を介して、製品情報を取得するAPIであるRequestProductInfo301のリクエストをデジタルカメラ100に送信する。
S404で、デジタルカメラ100の制御部101は、通信部111を介してRequestProductInfo301のリクエストを受信したことを検知する。制御部101は、リクエストされたAPIに対応するプログラムを実行することにより、製品情報を収集してレスポンス用データセットに含め、通信部111を介してスマートデバイス200に送信する。製品情報の例としては、デジタルカメラ100の製品名、製造者名、ファームウェアバージョン、シリアルナンバーなどであり、例えば不揮発性メモリ103から取得することができる。スマートデバイス200は、通信部211を通じてデジタルカメラ100の製品情報を受信する。
S405において、制御部201は、通信部211を介してRequestMemoryInfo302をデジタルカメラ100にリクエストする。
S406において、制御部101は、通信部111を介してRequestMemoryInfo302のリクエストを受信したことを検知する。制御部101は、リクエストされたAPIに対応するプログラムを実行することにより、保存領域ID、保存可能容量、空き容量、保存済みコンテンツ数を、作業用メモリ104や記録媒体110より取得する。そして、制御部101はこれらの情報をレスポンス用データセットに成形して、通信部111を介してスマートデバイス200に送信する。スマートデバイス200は、通信部211を通じてデジタルカメラ100の保存領域の情報を受信する。
RequestProductInfo301およびRequestMemoryInfo302のAPIを用いてデジタルカメラ100の情報を取得したら、S407において制御部201は、デジタルカメラ100と連携した動作をユーザに指定させるメニュー画面を表示部206に表示する。図5に、メニュー画面501の例を示す。メニュー画面501には例として「カメラ内の画像を見る」502、「リモート撮影する」503、「カメラの設定をする」504という連携動作を指定するためのボタンが含まれている。これらの連係動作は例示であり、他の連係動作を指定するためのボタンが含まれていてもよい。
操作部205(特にはタッチパネル)を介して、ユーザからいずれかのボタンが選択されると、制御部201は選択されたボタンに対応する連係動作を実現するプログラムを実行する。ここでは、「カメラ内の画像を見る」502が選択された場合のシーケンスについて、引き続き図4を参照して説明する。なお、本実施形態では、デジタルカメラ100の保存領域(記録媒体110)にはコンテンツデータファイルとして、静止画データファイルが100枚分保存されているものとする。
S407で表示したメニュー画面501を通じて、デジタルカメラ100との連係動作「カメラ内の画像を見る」の実行指示(コンテンツデータの一覧表示指示)がS408でなされたとする。この指示に応答して制御部201はS409において、通信部211を介して、保存領域IDとコンテンツフォーマットの種類と取得要求枚数とを引数とするAPI、RequestContentInfo303をデジタルカメラ100にリクエストする。ここでは、領域IDには記録媒体110を示すID、コンテンツフォーマットの種類には画像の種類(静止画)、取得要求枚数には、保存済みコンテンツデータの総数である100をそれぞれ指定する。これらの引数は、RequestMemoryInfo302で取得した情報に基づいて指定することができる。なお、取得要求枚数として、記録媒体110に保存された「すべて」という指定を行ってもよいし、表示部206に一度に表示する最大数を指定してもよい。
S410において制御部101は、通信部111を介してRequestContentInfo303のリクエストを受信したことを検知する。制御部101は、リクエストされたAPIに対応するプログラムを実行することにより、APIの引数として指定された保存領域に保存された、指定された種類のコンテンツデータファイルの情報を、指定された数だけ、記録媒体110より取得する。
コンテンツデータファイルの情報は対応するディレクトリエントリに記録されている。従って、RequestContentInfo303の実行時、制御部101は、指定された保存領域IDに応じて、
・作業用メモリ104に一時保存されたコンテンツデータファイルの管理情報、
・記録媒体110に保存されたコンテンツデータファイルの管理情報を記録したファイル、
・記録媒体110のファイルシステムに応じた、コンテンツデータファイルのディレクトリエントリ、
のいずれかを参照し、コンテンツデータファイルについて、IDと基本情報(ファイル名、ファイルサイズ、ファイルの生成日時など)を取得する。制御部101は、取得した情報を作業用メモリ104に一時保存する。
そして、制御部101は、取得要求枚数分(100枚)のコンテンツデータ情報から情報リストを生成する。制御部101は情報リストを作業用メモリ104に保存し終えた後、ファイルの生成日時を参照し、ファイルの生成日時が新しい方から古い方へ降順になるよう、作業用メモリ104内でコンテンツデータ情報をソートする。
S411において制御部101は、作業用メモリ104に一時保存した、ソート済みのコンテンツデータ情報リストをレスポンス用データセットに含め、通信部111を介してスマートデバイス200に送信する。このように、本実施形態においてコンテンツデータの送信装置は、取得要求数分のコンテンツデータ情報をまとめて応答する。例えば、コンテンツデータの送信プロトコルとして従来用いられているPTP(Picture Transfer Protocol)やImageLinkを用いた場合、コンテンツデータごとに情報を要求する必要がある。従って、コンテンツデータの数に等しい回数、要求の送信と応答の受信を繰り返さなければならない。
また、従来のプロトコルにおいて、コンテンツID(PTPではオブジェクトハンドル)は、コンテンツデータファイルが生成されるごとに割り当てられるため、基本的には古いコンテンツデータから順に割り当てられる。従って、新しく生成されたコンテンツデータから順に情報を取得したい場合、クライアント(要求装置)側で要求する順序を決定しなければならない。
これに対し、本実施形態では、要求装置からは取得要求数のみを指定してコンテンツデータの情報を1回要求するだけで、生成日時が新しいコンテンツデータファイルから順に、かつ取得要求数分の情報(IDおよび基本情報)が取得できる。そのため、複数のコンテンツデータファイルの情報を取得するために必要な処理負荷および時間を大幅に削減することができる。
S412においてスマートデバイス200の制御部201は、S411のレスポンスによって取得したコンテンツデータ情報リストを参照し、表示するコンテンツデータを特定する情報(ID)を取得する。そして、制御部201は、引数のIDに、表示対象のコンテンツデータファイルのIDを指定したコンテンツデータファイルの取得API(RequestContent304)をリクエストする。本実施形態では、スマートデバイス200の表示部206に、生成日時が新しい順にコンテンツデータのサムネイル一覧を表示するものとする。そのため、制御部201は、リクエストするAPIの引数のコンテンツサイズに、サムネイル画像を取得するためのパラメータを指定する。
S413において、デジタルカメラ100の制御部101は、通信部111を介してRequestContent304のリクエストを受信したことを検知する。制御部101は、リクエストされたAPIに対応するプログラムを実行することにより、APIの引数を参照し、IDに対応したコンテンツデータファイルを記録媒体110より取得し、作業用メモリ104に保存する。APIの引数に指定されたコンテンツサイズのコンテンツデータ(サムネイル画像)がコンテンツデータファイルに内包されている場合、制御部101はその部分のみを抽出して作業用メモリ104に保存する。一方、サムネイル画像がコンテンツデータファイルに含まれていない場合、制御部101はコンテンツデータを指定されたサイズに加工して作業用メモリ104に保存する。
そして制御部101は、指定されたIDに対応するコンテンツデータファイルの、指定されたサイズのコンテンツデータを、レスポンス用データセットに含め、通信部111を介してスマートデバイス200に送信する。
スマートデバイス200は、S412、S413の処理を、取得要求枚数に等しい回数(100回)繰り返して、すべての表示用サムネイル画像を取得もしくは生成する。この時、制御部101は、コンテンツデータ情報リストに含まれる先頭のファイルエントリのIDから順番にRequestContent304をリクエストする。上述の通り、操作部105はコンテンツデータ情報を生成日時の新しいものから古いものにソートしている。そのため、スマートデバイス200の制御部201は生成日時を考慮することなく、順番にサムネイル画像を要求すれば、生成日時が新しいコンテンツデータのサムネイルから順に表示することができる。
なお、本実施形態では、記録媒体110に保存されたすべての(静止画)コンテンツデータファイルのサムネイルを取得したが、スマートデバイス200が表示部206に一度に表示できるサムネイルの数だけS412、S413の処理を繰り返してもよい。この場合、制御部201は、一覧表示画面がスクロールされるなど、表示されていないサムネイルが必要となった時点で必要なサムネイルを要求する。
S414において制御部201は、例えば図5(b)に示すような一覧表示画面505に、取得したサムネイルを取得順に並べて表示する。前述したように、このサムネイル一覧は対応するコンテンツデータの生成日時が新しい順に表示されることになる。サムネイルのどれかが選択された場合、制御部201は対応するコンテンツデータのより大きなサイズを、RequestContent304のリクエストによって取得して表示部206に表示する。
このようにして、スマートデバイス200は、デジタルカメラ100と接続して、コンテンツファイルを取得することができる。
<デジタルカメラ100の動作>
図6は、図4のシーケンスチャートにおけるデジタルカメラ100の処理を取り出して示したフローチャートである。以下の説明において、図4の説明と重複する説明は省略する。
S601において、制御部101は、通信部111を通じてスマートデバイス200の通信部211と通信し、無線ローカルエリアネットワーク(LAN)接続を確立する。本処理はS401におけるデジタルカメラ100の処理に対応する。
S602において制御部101は、ディスカバリ処理を行う。本処理は、S402におけるデジタルカメラ100の処理に相当する。
S603において制御部101は、通信部111を介してAPIのリクエストを受信したか否かを判定し、受信していれば処理をS604に進め、受信していなければS603の処理を繰り返す。
S604において制御部101は、RequestProductInfo301のリクエストを受信したか否かを判定し、受信していれば処理をS605に進め、受信していなければ処理をS608に進める。
S605において制御部101は、RequestProductInfo301の処理を実行する。本処理は、S404におけるデジタルカメラ100の処理に相当する。
S606において制御部101は、APIの実行により取得された情報・データを、スマートデバイス200へレスポンスとして送信するための所定のデータ形式にしたのち、通信部111を通じてスマートデバイス200に送信する。
S607において制御部101は、APIサービスを終了する指示を受信したか否かを判定し、受信していればAPIサービスを実行するためのプログラムを終了する。APIサービスを終了する指示を受信していなければ、制御部101は処理をS603に戻して次のAPIリクエストの受信を待機する。
S608において制御部101は、RequestMemoryInfo302のリクエストを受信したか否かを判定し、受信していれば処理をS609に進め、受信していなければ処理をS610に進める。
S609において制御部101は、RequestMemoryInfo302の処理を実行する。本処理は、S406におけるデジタルカメラ100の処理に対応する。
S610において制御部101は、RequestContentInfo303のリクエストを受信したか否かを判定し、受信していれば処理をS611に進め、受信していなければ処理をS614に進める。
S611において制御部101は、RequestContentInfo303のリクエスト引数を確認する。S612において制御部101は、確認した引数に基づいてコンテンツデータの情報を取得する。
S613において制御部101は、取得したコンテンツデータ情報を、コンテンツデータの生成日時が新しい順に並べ替える。S611,S612,S613の処理は図4のS410におけるデジタルカメラ100の処理に対応する。
S614において制御部101は、RequestContent304のリクエストを受信したか否かを判定し、受信していれば処理をS615に進め、受信していなければ処理をS617に進める。
S615において制御部101は、RequestContent304のリクエスト引数を確認する。S616において制御部101は、リクエスト引数に基づいてコンテンツデータファイルを記録媒体110から取得し、作業用メモリ104に展開する。また、制御部101は、必要に応じて、リクエスト引数で指定されたサイズにコンテンツデータを加工する。S615、S616の処理は図4のS413におけるデジタルカメラ100の処理に対応する。
S617において制御部101は、RequestContentDetailInfo305のリクエストを受信したか否かを判定し、受信していれば処理をS618に進め、受信していなければ処理をS620に進める。
S618において制御部101は、RequestContentDetailInfo305のリクエスト引数を確認する。S619において制御部101は、リクエスト引数に基づいてコンテンツデータの詳細情報を例えばコンテンツデータファイルのヘッダから取得し、作業用メモリ104に展開する。
S620において制御部101は、デジタルカメラ100がAPIサービスとして用意していないAPIをスマートデバイス200がリクエストしたと判定し、エラーである旨をレスポンスとして通信部111を通じてスマートデバイス200に送信する。
なお、本実施形態では、図3(a)で説明したAPI301〜305をAPIサービスとして提供することを前提に説明したが、APIサービスで提供するAPIの種類はこれらに限定されない。例えば、図5(a)に示した「リモート撮影をする」および「カメラの設定をする」等の連係動作を実現するためのAPIが提供されてもよい。新たなAPIの提供はデジタルカメラ100で実行するAPIプログラムの追加により実現可能である。
<スマートデバイス200の動作>
図7は、図4のシーケンスチャートにおけるスマートデバイス200の処理を取り出して示したフローチャートである。以下の説明において、図4の説明と重複する説明は省略する。以下の動作は、制御部201がスマートデバイス200にインストールされている、デジタルカメラ100との連係動作用アプリケーション(通信アプリ)を実行することにより実現される。
S701において、制御部201は、通信部211を通じてデジタルカメラ100の通信部111と通信し、無線ローカルエリアネットワーク(LAN)接続を確立する。本処理はS401におけるスマートデバイス200の処理に対応する。
S702において制御部201は、ディスカバリ処理を行う。本処理は、S402におけるスマートデバイス200の処理に相当する。
S703において制御部201は、RequestProductInfo301のリクエストをデジタルカメラ100に送信する。本処理は、S403におけるスマートデバイス200の処理に対応する。
S704において制御部201は、リクエストしたAPIのレスポンスの受信を待機する。図7(b)に、レスポンス待機処理のフローチャートを示す。
S721にて制御部201は、APIのレスポンスを受信したか否か判定し、受信していればS722に、受信していなければS723に、それぞれ処理を進める。
S722において制御部201は、受信したレスポンスを解析し、必要に応じて作業用メモリ204に保存し、その後のAPIリクエストに用いる引数として参照したり、UI表示時の情報として利用したりする。なお、受信したレスポンスがエラーを示すものであれば、制御部201はAPIの再リクエストを行うか、デジタルカメラ100との連携動作のためのアプリケーションプログラムを終了する。
S723において制御部201は、予め設定されたタイムアップの時間が経過したか否かを判定する。本実施形態では、APIリクエストの送信からレスポンスを受信するまでの待ち時間の上限がタイムアップ時間として予め設定され、デジタルカメラ100のからレスポンスを受信する前にタイムアップ時間が経過すると、制御部201は処理をS724に進める。APIリクエストからタイムアップ時間が経過していなければ、制御部201は処理をS721に戻す。
S724で制御部201は、表示部206にエラーメッセージを表示し、APIリクエストが正常に実行されなかったことをユーザに報知する。この場合、エラーメッセージの表示画面からデジタルカメラ100との連携動作の再試行をユーザが指定できるようにし、再試行指示があればS703に処理を戻してもよい。また、処理を中止する旨の指示があれば、図7の処理を終了してもよい。
次に、S705において制御部201は、RequestMemoryInfo302のリクエストをデジタルカメラ100に送信する。本処理は、S405におけるスマートデバイス200の処理に対応する。
S706において制御部201は、S704と同様に、リクエストしたAPIのレスポンス受信を待機する。ここでの待機処理では、S724で再試行指示があった場合、S705から再試行する。
S707において制御部201は、表示部206にメニュー画面501を表示する。本処理はS407におけるスマートデバイス200の処理に対応する。
S708において制御部201は、ユーザ操作によりコンテンツ一覧表示を指示されたか否かを判定する。本実施形態において制御部201はメニュー画面501の「カメラ内の画像を見る」ボタン502が選択されたか否かを判定し、選択された場合には処理をS709に進め、選択されていなければ選択されるまで待機する。
S709において制御部201は、RequestContentInfo303のリクエストをデジタルカメラ100に送信する。本処理は、S409におけるスマートデバイス200の処理に対応する。
S710において制御部201は、S704と同様に、リクエストしたAPIのレスポンス受信を待機する。ここでの待機処理では、S724で再試行指示があった場合、S709から再試行する。
S711において制御部201は、RequestContentInfo303を繰り返しリクエストする必要があるか否かを判定し、必要があると判定されれば処理をS709に戻し、必要があると判断されなければ処理をS712に進める。本実施形態においては、記録媒体110に保存されているコンテンツデータファイルの数が、1回のリクエストで取得可能な数の上限値(100)以下であるため、全コンテンツデータの情報を取得する場合でもAPIを繰り返しリクエストする必要はない。しかし、APIの上限値を超える数のコンテンツデータについて情報を取得する必要がある場合には、APIのリクエストを繰り返し行う必要がある。
S712において制御部201は、RequestContent304をデジタルカメラ100に送信する。本処理はS412におけるスマートデバイス200の処理に対応する。
S713において制御部201は、S704と同様に、リクエストしたAPIのレスポンス受信を待機する。ここでの待機処理では、S724で再試行指示があった場合、S712から再試行する。
S714において制御部201は、RequestContent304を繰り返しリクエストする必要があるか否かを判定し、必要があると判定されれば処理をS712に戻し、必要があると判断されなければ処理をS715に進める。なお、本実施形態においては、記録媒体110に保存された全静止画データファイルのサムネイルを取得したため、RequestContent304を100回繰り返しリクエストした。しかし、スマートデバイス200の表示部206に一度に表示できる数だけサムネイルを取得する場合には、表示数に等しい回数リクエストを繰り返せばよい。このように、繰り返し回数は、スマートデバイス200においてどのような表示制御を行うかに応じて決定する。
S715において制御部201は、取得したサムネイルを用いて、図5(b)に示したような一覧表示画面505を表示部206に表示する。本処理はS414におけるスマートデバイス200の処理に対応する。
以上説明したように本実施形態によれば、コンテンツデータを有する電子機器が、複数のコンテンツデータのIDおよび基本情報をまとめて取得可能なサービスを外部装置に提供するようにした。そのため、外部装置が複数のコンテンツデータの情報を取得するのに必要な要求回数を減らすことができる。また、複数のコンテンツデータの情報が要求された場合、コンテンツデータを有する電子機器は、生成日時が新しいコンテンツデータの情報から順に並び替えて送信するようにした。そのため、コンテンツデータの情報を取得する電子機器は、取得した情報の先頭から順にコンテンツデータを要求すれば、生成日時の新しい順にコンテンツデータを取得することができる。従って、コンテンツデータを取得する電子機器における処理を大幅に簡略化することができる。
●(第2の実施形態)
次に、本発明の第2の実施形態について説明する。第1の実施形態では、複数のコンテンツデータの情報が要求された場合、デジタルカメラ100は生成日時が新しいコンテンツデータの情報から順に並ぶようにコンテンツデータの情報リストを作成した。本実施形態では、並び替えの方法をAPIリクエストの引数で指定可能にした点を特徴とする。デジタルカメラ100およびスマートデバイス200の構成については第1の実施形態と共通でよいため説明を省略する。
図3(b)は、外部装置からデジタルカメラ100を制御するためのAPIのうち、デジタルカメラ100の保存領域に保存されているコンテンツIDとコンテンツデータファイルの基本情報を外部装置が取得できるようにするAPIの例を示す図である。
API801(RequestContentInfo2)は、第1の実施形態における同様のAPI303(RequestContentInfo)と比較すると、引数にソート条件が追加されている点で異なる。本実施形態では、ソート条件として、コンテンツデータファイル番号順(先頭から降順)、生成日時順(新しい方から古い方へ降順)が指定できるものとするが、デジタルカメラ100が提供可能であればこれ以外の条件が指定できても構わない。他の引数、1度のリクエストで情報を取得可能なコンテンツデータの上限数、およびレスポンスで得られる情報の内容については第1の実施形態で説明したRequestContentInfo303と同様である。
スマートデバイス200がデジタルカメラ100と接続して、デジタルカメラ100の記録媒体110に保存されたコンテンツデータの一覧を表示部206に表示する際の動作は、基本的に図4のシーケンス図を参照して説明した通りである。ただし、RequestContentInfo303に代えてRequestContentInfo2 801を用いることにより、S408,S410,およびS414での動作が一部異なる。
すなわち、S408において制御部201がAPIRequestContentInfo2 801をデジタルカメラ100にリクエストする際、保存領域ID、コンテンツフォーマットの種類、および取得要求枚数に加え、ソート条件を引数に指定する。ここでは、ソート条件としてコンテンツデータファイルのファイル番号順(先頭から降順)を指定するものとするが、他の条件が指定されてもよい。また、ソート条件は予めスマートデバイス200のアプリケーションで予め規定されたものであっても、ユーザが選択可能であってもよい。
S410において制御部101は、通信部111を介してRequestContentInfo2 801のリクエストを受信したことを検知する。制御部101は、リクエストされたAPIに対応するプログラムを実行することにより、APIの引数として指定された保存領域に保存された、指定された種類のコンテンツデータファイルの情報を、指定された数だけ、記録媒体110より取得する。
そして、制御部101は、取得要求数のコンテンツデータ情報から情報リストを生成し、作業用メモリ104に保存する。そして、制御部101は、APIの引数として指定されたソート条件(ここではファイル番号が降順になるようにソート)に従って、作業用メモリ104内でコンテンツデータ情報をソートする。
S414において制御部201は、例えば図5(b)に示すような一覧表示画面505に、取得したサムネイルをファイル番号が先頭(最も小さい)のものから順に並べて表示する。例えば、サムネイルのどれかが選択された場合、制御部201は対応するコンテンツデータのより大きなサイズを、RequestContent304のリクエストによって取得して表示部206に表示する。
このようにして、スマートデバイス200は、デジタルカメラ100と接続して、コンテンツファイルを取得することができる。
<デジタルカメラ100の動作>
図8は、本実施形態におけるデジタルカメラ100の処理を取り出して示したフローチャートであり、図6と同様の動作を行うステップについては同じ参照数字を付して説明を省略する。RequestContentInfo303の処理を行うS610〜S613の代わりに、RequestContentInfo2 801の処理を行うS1010〜S1017を有する点で図6と異なるため、S1010〜S1017の処理について説明する。
S1010において制御部101は、RequestContentInfo2 801のリクエストを受信したか否かを判定し、受信していれば処理をS1011に進め、受信していなければ処理をS614に進める。S1011、S1012は、S611、S612と同様の処理するため説明は割愛する。
S1013において制御部101は、RequestContentInfo2 801の引数に指定されたソート条件が生成日時順であるか否かを判定し、生成日時順であれば処理をS1014へ進め、生成日時順でなければ処理をS1015へ進める。
S1014において制御部101は、取得したコンテンツデータ情報を、コンテンツデータの生成日時の新しいものから古いものの順(降順)に並べ替え、作業用メモリ104内に保存する。
S1015において制御部101は、RequestContentInfo2 801の引数に指定されたソート条件がコンテンツデータファイルのファイル番号順であるか否かを判定し、ファイル番号順であればS1016へ、そうでない場合はS1017へ、処理を進める。
S1016において、制御部101は、取得したコンテンツデータ情報を、コンテンツデータファイルのファイル番号の順(降順)に並べ替え、作業用メモリ104内に保存する。
S1017において制御部101は、取得したコンテンツデータ情報を、予め定められたソート条件に従って並べ替え、作業用メモリ104内に保存する。S1017が実行されるのは引数にソート条件が指定されていない場合であり、この場合はデジタルカメラ100で予め定められたソート条件が用いられる。
<スマートデバイス200の動作>
図9は、本実施形態におけるスマートデバイス200の処理を取り出して示したフローチャートであり、図7と同様の動作を行うステップについては同じ参照数字を付して説明を省略する。RequestContentInfo303のリクエストを行うS709の代わりに、RequestContentInfo2 801のリクエストを行うS1109〜S1113を有する点で図7と異なるため、S1109〜S1113の処理について説明する。以下の動作も、制御部201が通信アプリを実行することにより実現される。
S1109において制御部201は、通信アプリに設定されているソート条件が生成日時順であるか否かを判定し、生成日時順が設定されていればS1110へ、そうでなければS1111へ、処理を進める。
S1110において制御部201は、ソート条件に生成日時順を指定したRequestContentInfo2801のリクエストをデジタルカメラ100に送信する。
S1111において制御部201は、通信アプリに設定されているソート条件がファイル番号順であるか否かを判定し、ファイル番号順が設定されていればS1112へ、そうでなければS1113へ、処理を進める。
S1112において制御部201は、ソート条件にファイル番号順を指定したRequestContentInfo2801のリクエストをデジタルカメラ100に送信する。
S1113において制御部201は、ソート条件を指定せずにRequestContentInfo2801のリクエストをデジタルカメラ100に送信する。
以上説明したように本実施形態によれば、第1の実施形態と同様の構成に加え、外部装置が複数のコンテンツデータの情報を取得する際にソート条件を指定できるようにした。そのため、外部装置におけるコンテンツデータの情報の用途に応じて、適切な並びでコンテンツデータの情報を得ることができる。そのため、コンテンツデータの情報を取得する電子機器は、取得した情報の先頭から順にコンテンツデータを要求すれば、用途に適切な順序でコンテンツデータを取得することができる。本実施形態によれば、コンテンツデータを取得する電子機器における処理を大幅に簡略化することができるのに加え、外部装置でのさまざまな用途に適切な順序でコンテンツデータの情報を提供可能になる。
●(第3の実施形態)
第2の実施形態では、スマートデバイス200の通信アプリが、デジタルカメラ100の提供するソート条件を予め知っていることを前提として、APIの引数にソート条件を指定する構成を説明した。しかし、デジタルカメラ100が提供するソート条件を取得するようにしてもよい。
例えば、デジタルカメラ100が機器情報(Device Description)の中で、提供するAPIサービスの情報として、提供するソート条件の情報を提供してもよい。あるいは、提供するソート条件を外部装置が取得できるAPIをデジタルカメラ100が公開し、外部装置がコンテンツデータ情報を取得する前にこのAPIをリクエストして指定可能なソート条件を取得可能にしてもよい。また、予めデバイスの種類やプログラムの種類とソート条件とを対応付けしておき、スマートデバイス200が、RequestProductInfo301のリクエストを実行して取得したデバイス情報に基づいてソート条件を指定してもよい。
(その他の実施形態)
上述の実施形態では、ソート条件としてコンテンツデータファイルの生成日時を例示した。しかし、撮影された静止画コンテンツや動画コンテンツのように、データファイルの生成日時とは別個に撮影日時がパラメータとして存在する場合、撮影日時をソート条件として指定可能であってもよい。
また、上述の実施形態では、RequestContentInfo303をリクエストする際、取得要求数として取得数を引数に指定した。例えば、コンテンツデータファイルの基本情報をソート条件順の先頭から50取得する場合は、取得要求数として50を引数に指定していた。
このように、上述の実施形態では、各々のソート条件順の先頭から、指定された数のコンテンツデータファイルのコンテンツID及び基本情報を取得するAPIの構成を説明したが、他の形態として、取得要求数を取得範囲で指定するAPIであってもよい。
例えば、RequestMemoryInfo302のレスポンスで取得する保存済みコンテンツ数が100であり、指定したソート条件順の先頭から51〜100番目の50のコンテンツデータファイルのコンテンツID及び基本情報を取得する場合を考える。この場合には、取得要求数として51−100という範囲を示す値をAPIの引数に指定してもよい。
また他の形態として、APIの引数に指定する取得要求数は、取得開始の起点となるコンテンツデータファイルの順番と、起点からの取得数の組み合わせで指定する形態であってもよい。例えば上述の例であれば、APIの引数に、起点の順番を51で指定し、取得数を50で指定する形態であってもよい。
上述の実施形態では、ソート条件順の先頭ではないコンテンツデータファイルのコンテンツID及び基本情報を取得する場合、デジタルカメラ100に保存されているコンテンツ総数によってはRequestContentInfo303を複数回リクエストする必要がある。これに対し、取得開始の起点を指定可能な本実施形態では、1回のリクエストで取得することが可能である。
以上、本発明をその好適な実施形態に基づいて詳述してきたが、本発明はこれら特定の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。上述の実施形態の一部を適宜組み合わせてもよい。また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
100…デジタルカメラ、101…制御部、102…撮像部、111…通信部、200…スマートデバイス、201…制御部、211…通信部

Claims (14)

  1. 外部装置と通信するための通信手段と、
    コンテンツデータファイルが記録された装置にアクセス可能な取得手段と、
    前記外部装置の要求に応答して、前記外部装置に前記コンテンツデータファイルの情報を前記通信手段を通じて提供する制御手段と、を有し、
    前記制御手段は、数が指定された、前記コンテンツデータファイルの情報の要求を前記外部装置から受信した場合、前記コンテンツデータファイルのうち、新しいものの情報から順に、前記指定された数の情報を前記外部装置に送信することを特徴とする電子機器。
  2. 前記コンテンツデータファイルの情報が、前記コンテンツデータファイルのIDと、エントリ情報とを含むことを特徴とする請求項1記載の電子機器。
  3. 前記電子機器は、前記コンテンツデータファイルの情報を前記外部装置が要求することを可能にするアプリケーションプログラミングインターフェース(API)を提供し、前記外部装置から受信した前記APIのリクエストに応答して、前記コンテンツデータファイルの情報を前記外部装置に送信することを特徴とする請求項1または請求項2に記載の電子機器。
  4. 前記制御手段は、前記要求に順序が指定されている場合には指定されている順序に従って前記コンテンツデータファイルの情報を送信することを特徴とする請求項1から請求項3のいずれか1項に記載の電子機器。
  5. 前記制御手段は、前記要求に順序が指定されている場合には指定されている順序に従って前記コンテンツデータファイルの情報を送信し、前記要求に順序が指定されていない場合には新しいものの情報から順に前記コンテンツデータファイルの情報を送信することを特徴とする請求項1から請求項3のいずれか1項に記載の電子機器。
  6. 外部装置と通信するための通信手段と、
    前記外部装置にコンテンツデータファイルの情報の要求を前記通信手段を通じて送信し、前記要求に対する応答を前記通信手段を通じて受信する制御手段と、を有し、
    前記制御手段は、必要なコンテンツデータファイルの情報の数を指定して前記要求を前記外部装置に送信することを特徴とする電子機器。
  7. 前記制御手段は、前記コンテンツデータファイルの情報を送信する順序をさらに指定して前記要求を送信することを特徴とする請求項6に記載の電子機器。
  8. 前記要求が、前記外部装置が提供するAPIのリクエストであることを特徴とする請求項6または請求項7に記載の電子機器。
  9. 前記制御手段は、前記要求を送信する前に、前記外部装置が提供するAPIの情報を取得することを特徴とする請求項6から請求項8のいずれか1項に記載の電子機器。
  10. 請求項1から請求項5のいずれか1項に記載の電子機器と、請求項6から請求項9のいずれか1項に記載の電子機器とが接続された通信システム。
  11. 外部装置と通信するための通信手段を有する電子機器の制御方法であって、
    制御手段が、前記外部装置の要求に応答して、前記外部装置にコンテンツデータファイルの情報を前記通信手段を通じて提供する制御工程を有し、
    前記制御工程において前記制御手段は、数が指定された、前記コンテンツデータファイルの情報の要求を前記外部装置から受信した場合、前記コンテンツデータファイルのうち、新しいものの情報から順に、前記指定された数の情報を前記外部装置に送信することを特徴とする電子機器の制御方法。
  12. 外部装置と通信するための通信手段を有する電子機器の制御方法であって、
    制御手段が、前記外部装置にコンテンツデータファイルの情報の要求を前記通信手段を通じて送信し、前記要求に対する応答を前記通信手段を通じて受信する制御工程を有し、
    前記制御工程において前記制御手段は、必要なコンテンツデータファイルの情報の数を指定して前記要求を前記外部装置に送信することを特徴とする電子機器の制御方法。
  13. コンピュータを、請求項1から請求項5のいずれか1項に記載の電子機器が有する各手段として機能させるためのプログラム。
  14. コンピュータを、請求項6から請求項9のいずれか1項に記載の電子機器が有する各手段として機能させるためのプログラム。
JP2014179521A 2014-09-03 2014-09-03 電子機器およびその制御方法 Active JP6504768B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014179521A JP6504768B2 (ja) 2014-09-03 2014-09-03 電子機器およびその制御方法
US14/837,896 US9760250B2 (en) 2014-09-03 2015-08-27 Electronic device and method for controlling the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014179521A JP6504768B2 (ja) 2014-09-03 2014-09-03 電子機器およびその制御方法

Publications (3)

Publication Number Publication Date
JP2016053840A true JP2016053840A (ja) 2016-04-14
JP2016053840A5 JP2016053840A5 (ja) 2017-10-12
JP6504768B2 JP6504768B2 (ja) 2019-04-24

Family

ID=55404048

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014179521A Active JP6504768B2 (ja) 2014-09-03 2014-09-03 電子機器およびその制御方法

Country Status (2)

Country Link
US (1) US9760250B2 (ja)
JP (1) JP6504768B2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018042074A (ja) * 2016-09-06 2018-03-15 大日本印刷株式会社 Uimおよびuim発行システム
JP2018085692A (ja) * 2016-11-25 2018-05-31 キヤノン株式会社 画像送信装置、画像受信装置、それらの制御方法および画像通信システム
JP2019012362A (ja) * 2017-06-29 2019-01-24 キヤノン株式会社 情報処理装置および情報処理方法およびプログラム
JP2020035373A (ja) * 2018-08-31 2020-03-05 キヤノン株式会社 電子機器及びその制御方法及びプログラム及び情報処理システム
WO2023281955A1 (ja) * 2021-07-07 2023-01-12 キヤノン株式会社 通信装置、撮像装置、制御方法およびプログラム

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017000313A1 (zh) * 2015-07-02 2017-01-05 深圳市大疆创新科技有限公司 图像处理系统、图像数据处理方法、装置及相关设备
US20190370094A1 (en) * 2018-06-01 2019-12-05 Apple Inc. Direct input from a remote device

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004295569A (ja) * 2003-03-27 2004-10-21 Sony Corp 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
JP2005184783A (ja) * 2004-11-12 2005-07-07 Onkyo Corp ネットワーク型コンテンツ再生システム
JP2006140913A (ja) * 2004-11-15 2006-06-01 Pioneer Electronic Corp 情報再生装置及び方法、情報記録装置及び方法、情報記録再生装置及び方法、並びにコンピュータプログラム
JP2009064365A (ja) * 2007-09-10 2009-03-26 Sharp Corp お勧め情報提供方法
JP2009278320A (ja) * 2008-05-14 2009-11-26 Nec Corp 通信制御方法、サーバ装置、プログラムおよびapi

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07288630A (ja) * 1994-04-20 1995-10-31 Canon Inc 画像処理装置
US7327387B2 (en) * 2000-02-21 2008-02-05 Fujifilm Corporation Image pick-up information transmitting system and remote control method for an information transmitting system
US7023573B2 (en) * 2000-08-14 2006-04-04 Sharp Kabushiki Kaisha Image transmission device and image transmission method
US7310158B2 (en) * 2000-09-01 2007-12-18 Canon Kabushiki Kaisha Communication apparatus capable of communication with other apparatuses through wireless communication, communication system having the same communication apparatus, and method for controlling the same
JP3862507B2 (ja) * 2001-02-07 2006-12-27 キヤノン株式会社 カメラ及びその制御方法
JP5100182B2 (ja) 2007-03-30 2012-12-19 キヤノン株式会社 データ転送装置及びデータ受信装置並びにデータ転送システム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004295569A (ja) * 2003-03-27 2004-10-21 Sony Corp 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
JP2005184783A (ja) * 2004-11-12 2005-07-07 Onkyo Corp ネットワーク型コンテンツ再生システム
JP2006140913A (ja) * 2004-11-15 2006-06-01 Pioneer Electronic Corp 情報再生装置及び方法、情報記録装置及び方法、情報記録再生装置及び方法、並びにコンピュータプログラム
JP2009064365A (ja) * 2007-09-10 2009-03-26 Sharp Corp お勧め情報提供方法
JP2009278320A (ja) * 2008-05-14 2009-11-26 Nec Corp 通信制御方法、サーバ装置、プログラムおよびapi

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018042074A (ja) * 2016-09-06 2018-03-15 大日本印刷株式会社 Uimおよびuim発行システム
JP2018085692A (ja) * 2016-11-25 2018-05-31 キヤノン株式会社 画像送信装置、画像受信装置、それらの制御方法および画像通信システム
JP2019012362A (ja) * 2017-06-29 2019-01-24 キヤノン株式会社 情報処理装置および情報処理方法およびプログラム
JP2020035373A (ja) * 2018-08-31 2020-03-05 キヤノン株式会社 電子機器及びその制御方法及びプログラム及び情報処理システム
JP7262191B2 (ja) 2018-08-31 2023-04-21 キヤノン株式会社 電子機器及びその制御方法及びプログラム及び情報処理システム
WO2023281955A1 (ja) * 2021-07-07 2023-01-12 キヤノン株式会社 通信装置、撮像装置、制御方法およびプログラム

Also Published As

Publication number Publication date
US9760250B2 (en) 2017-09-12
US20160065845A1 (en) 2016-03-03
JP6504768B2 (ja) 2019-04-24

Similar Documents

Publication Publication Date Title
JP6504768B2 (ja) 電子機器およびその制御方法
JP6429539B2 (ja) 通信装置、通信装置の制御方法、プログラム
US10225455B2 (en) Communication apparatus, information processing apparatus, methods and computer-readable storage medium
US10235963B2 (en) Communication apparatus communicable with external apparatus, control method of communication apparatus, and storage medium
US10997230B2 (en) Image supply apparatus, information processing apparatus, control method thereof, and storage medium
US11269809B2 (en) Electronic device, control method thereof, non-transitory computer-readable storage medium, and information processing system
CN109391771B (zh) 摄像装置、通信装置、其控制方法和存储介质
US20180152491A1 (en) Image provision apparatus and image reception apparatus, control method thereof, image communication system, and computer-readable storage medium
JP6391374B2 (ja) 通信装置、通信装置の制御方法、プログラム
KR102170098B1 (ko) 정보 처리 디바이스, 촬상 디바이스, 및 시스템
JP2019193161A (ja) 通信装置およびその制御方法、並びにプログラム
JP7218164B2 (ja) 通信装置およびその制御方法
JP6433231B2 (ja) 通信装置、通信装置の制御方法、プログラム
JP6877999B2 (ja) 通信装置、通信装置の制御方法、プログラム
JP2016025374A (ja) 通信装置、通信装置の制御方法、プログラム
WO2016035293A1 (en) Communication apparatus, information processing apparatus, methods and computer-readable storage medium
US11140279B2 (en) Communication system, communication apparatus, control method, non-transitory computer-readable storage medium, and server apparatus
JP2018191253A (ja) 通信装置およびその制御方法ならびにプログラム
JP2018142865A (ja) 通信装置、通信装置の制御方法、及び、プログラム
JP6632375B2 (ja) 通信装置、その制御方法、および制御プログラム
JP2020108035A (ja) 通信装置、通信装置の制御方法、プログラム
JP2019220891A (ja) 通信装置、通信装置の制御方法、プログラム
JP2015012501A (ja) 情報処理装置及び情報処理方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170904

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170904

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180612

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180622

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180731

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181210

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190124

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190326

R151 Written notification of patent or utility model registration

Ref document number: 6504768

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151