特許第6429539号(P6429539)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ キヤノン株式会社の特許一覧

特許6429539通信装置、通信装置の制御方法、プログラム
<>
  • 特許6429539-通信装置、通信装置の制御方法、プログラム 図000002
  • 特許6429539-通信装置、通信装置の制御方法、プログラム 図000003
  • 特許6429539-通信装置、通信装置の制御方法、プログラム 図000004
  • 特許6429539-通信装置、通信装置の制御方法、プログラム 図000005
  • 特許6429539-通信装置、通信装置の制御方法、プログラム 図000006
  • 特許6429539-通信装置、通信装置の制御方法、プログラム 図000007
  • 特許6429539-通信装置、通信装置の制御方法、プログラム 図000008
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6429539
(24)【登録日】2018年11月9日
(45)【発行日】2018年11月28日
(54)【発明の名称】通信装置、通信装置の制御方法、プログラム
(51)【国際特許分類】
   G06F 13/00 20060101AFI20181119BHJP
【FI】
   G06F13/00 520F
【請求項の数】12
【全頁数】24
(21)【出願番号】特願2014-179322(P2014-179322)
(22)【出願日】2014年9月3日
(65)【公開番号】特開2016-53827(P2016-53827A)
(43)【公開日】2016年4月14日
【審査請求日】2017年9月1日
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】100126240
【弁理士】
【氏名又は名称】阿部 琢磨
(74)【代理人】
【識別番号】100124442
【弁理士】
【氏名又は名称】黒岩 創吾
(72)【発明者】
【氏名】川合 裕司
【審査官】 小林 義晴
(56)【参考文献】
【文献】 特開2009−087063(JP,A)
【文献】 特開2003−219346(JP,A)
【文献】 米国特許出願公開第2009/0007188(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 13/00
(57)【特許請求の範囲】
【請求項1】
画像データを外部装置に要求し、該要求に応じて前記外部装置から送信される画像データを前記外部装置から受信する機能と、前記画像データに対応する縮小画像データを外部装置に要求し、該要求に応じて前記外部装置から送信される縮小画像データを前記外部装置から受信する機能と、を有する通信手段と、
前記通信手段により受信した前記画像データ及び前記縮小画像データの少なくとも一方を表示部に表示する表示制御手段と、
前記表示制御手段により表示されている前記画像データ及び前記縮小画像データの少なくとも一方を選択する指示を受け付ける受け付け手段とを有し、
前記通信手段は更に、前記受け付け手段により受け付けられた指示によって選択された画像データまたは縮小画像データに対応するメタデータを前記外部装置に要求し、前記画像データおよび前記縮小画像データを受信することなく前記メタデータを受信し、
前記メタデータは、前記外部装置が保持する画像データを含むファイルのヘッダ領域に記録されていることを特徴とする通信装置。
【請求項2】
前記表示部に設けられるタッチパネルを更に有し、
前記画像データまたは前記縮小画像データの少なくとも一方が表示されている位置に対応する前記タッチパネルへの操作が所定の条件を満たす場合、前記受け付け手段は、前記タッチパネルへの操作を受け付けた位置に表示されている画像データまたは前記縮小画像データの少なくとも一方が選択されたと判断することを特徴とする請求項1に記載の通信装置。
【請求項3】
前記所定の条件は、前記タッチパネルへのタッチ操作の開始から所定の時間が経過したことを含むことを特徴とする請求項2に記載の通信装置。
【請求項4】
前記縮小画像データは、前記縮小画像データを含むファイルのサムネイルであることを特徴とする請求項1乃至3のいずれか1項に記載の通信装置。
【請求項5】
前記縮小画像データは、前記縮小画像データを含むファイルのヘッダ領域に記録されているサムネイルであることを特徴とする請求項1乃至4のいずれか1項に記載の通信装置。
【請求項6】
前記通信手段は受信済みのメタデータを要求しないことを特徴とする請求項1乃至5のいずれか1項に記載の通信装置。
【請求項7】
一旦受信したメタデータは、前記外部装置との通信を切断するまで保持されることを特徴とする請求項1乃至6のいずれか1項に記載の通信装置。
【請求項8】
前記受信したメタデータは、前記外部装置との通信が切断されることに応じて削除されることを特徴とする請求項7に記載の通信装置。
【請求項9】
前記通信手段は、保持しているメタデータは要求しないことを特徴とする請求項7または8に記載の通信装置。
【請求項10】
前記メタデータはEXIFデータを含むことを特徴とする請求項1乃至のいずれか1項に記載の通信装置。
【請求項11】
通信装置の制御方法であって、
画像データを外部装置に要求し、該要求に応じて前記外部装置から送信される画像データを前記外部装置から受信するステップと、
前記画像データに対応する縮小画像データを外部装置に要求し、該要求に応じて前記外部装置から送信される縮小画像データを前記外部装置から受信するステップと、
受信した前記画像データ及び前記縮小画像データの少なくとも一方を表示部に表示するステップと、
前記表示部に表示されている前記画像データ及び前記縮小画像データの少なくとも一方を選択する指示を受け付けるステップと、
前記受け付けられた指示によって選択された画像データまたは縮小画像データに対応するメタデータを前記外部装置に要求し、前記画像データ及び前記縮小画像データを受信することなく前記メタデータを受信するステップとを有し、
前記メタデータは、前記外部装置が保持する画像データを含むファイルのヘッダ領域に記録されていることを特徴とする通信装置の制御方法。
【請求項12】
コンピュータを、請求項1乃至10のいずれか1項に記載の通信装置の各手段として機能させるための、コンピュータが読み取り可能なプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
外部装置と通信することができる通信装置に関する。
【背景技術】
【0002】
近年、デジタルカメラと携帯電話とが無線で接続し、デジタルカメラの機能を携帯電話から利用することが行われている。例えば特許文献1にはデジタルカメラと携帯電話とが無線LANを介して接続し、携帯電話を操作することでデジタルカメラに記録されている画像をリモートで閲覧するシステムが開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2013−162303号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
上述の特許文献1に開示されるシステムにおいては、単に画像あるいは画像のサムネイルを閲覧するだけでなく、デジタルカメラから画像データを携帯電話に取り込み、保存することも考えられる。そのような場合、保存する画像を決定するための基準として、例えば画像データのメタデータ(撮影日やデータサイズ等)を用いることが考えられる。すなわち、画像や画像のサムネイルを閲覧している状態で、その画像のメタデータを確認し、保存するかどうかをユーザが判断するという利用シーンが考えられる。メタデータを携帯電話側で確認するためには、デジタルカメラが画像データのヘッダを読み出し、解析した上で、必要な情報を携帯電話に送信する必要がある。しかしながら、必ずしもユーザが、メタデータがどのように記録されていて、どのようにして携帯電話側で閲覧できるのかを把握しているとは限らない。この点について、特許文献1は何ら考慮していない。
【0005】
そこで、本発明は、メタデータを取得するための通信を行うことをユーザが意識することなく、自然な操作でメタデータを閲覧できるようにすることを目的とする。
【課題を解決するための手段】
【0006】
画像データを外部装置に要求し、該要求に応じて前記外部装置から送信される画像データを前記外部装置から受信する機能と、前記画像データに対応する縮小画像データを外部装置に要求し、該要求に応じて前記外部装置から送信される縮小画像データを前記外部装置から受信する機能と、を有する通信手段と、前記通信手段により受信した前記画像データ及び前記縮小画像データの少なくとも一方を表示部に表示する表示制御手段と、前記表示制御手段により表示されている前記画像データ及び前記縮小画像データの少なくとも一方を選択する指示を受け付ける受け付け手段とを有し、前記通信手段は更に、前記受け付け手段により受け付けられた指示によって選択された画像データまたは縮小画像データに対応するメタデータを前記外部装置に要求し、前記画像データおよび前記縮小画像データを受信することなく前記メタデータを受信し、前記メタデータは、前記外部装置が保持する画像データを含むファイルのヘッダ領域に記録されていることを特徴とする通信装置。
【発明の効果】
【0007】
メタデータを取得するための通信を行うことをユーザが意識することなく、自然な操作でメタデータを閲覧できるようにすることができる。
【図面の簡単な説明】
【0008】
図1】(a)第1の実施形態におけるデジタルカメラのブロック図である。(b)、(c)は、第一の実施形態におけるデジタルカメラの外観図である。
図2】第1の実施形態におけるスマートデバイスの構成を示すブロック図である。
図3】(a)第1の実施形態におけるデジタルカメラが外部機器に公開するAPIを示す図である。(b)第1の実施形態における画像データの構造を示す概念図である。
図4】第1の実施形態におけるシステムのシーケンス図である。
図5】第1の実施形態におけるスマートデバイスの動作を示すフローチャートである。
図6】第2の実施形態におけるシステムのシーケンス図である。
図7】第2の実施形態におけるスマートデバイスの動作を示すフローチャートである。
【発明を実施するための形態】
【0009】
以下に、本発明を実施するための形態について、添付の図面を用いて詳細に説明する。
【0010】
なお、以下に説明する実施の形態は、本発明の実現手段としての一例であり、本発明が適用される装置の構成や各種条件によって適宜修正又は変更されてもよい。また、各実施の形態を適宜組み合せることも可能である。
【0011】
[第1の実施形態]
<デジタルカメラ100の構成>
図1(a)は、本実施形態の通信装置の一例であるデジタルカメラ100の構成例を示すブロック図である。なお、ここでは通信装置の一例としてデジタルカメラについて述べるが、通信装置はこれに限られない。例えば通信装置は携帯型のメディアプレーヤや、いわゆるタブレットデバイス、パーソナルコンピュータなどの情報処理装置であってもよい。
【0012】
制御部101は、入力された信号や、後述のプログラムに従ってデジタルカメラ100の各部を制御する。なお、制御部101が装置全体を制御する代わりに、複数のハードウェアが処理を分担することで、装置全体を制御してもよい。
【0013】
撮像部102は、例えば、光学レンズユニットと絞り・ズーム・フォーカスなど制御する光学系と、光学レンズユニットを経て導入された光(映像)を電気的な映像信号に変換するための撮像素子などで構成される。撮像素子としては、一般的には、CMOS(Complementary Metal Oxide Semiconductor)や、CCD(Charge Coupled Device)が利用される。撮像部102は、制御部101に制御されることにより、撮像部102に含まれるレンズで結像された被写体光を、撮像素子により電気信号に変換し、ノイズ低減処理などを行いデジタルデータを画像データとして出力する。本実施形態のデジタルカメラ100では、画像データは、DCF(Design Rule for Camera File system)の規格に従って、記録媒体110に記録される。
【0014】
不揮発性メモリ103は、電気的に消去・記録可能な不揮発性のメモリであり、制御部101で実行される後述のプログラム等が格納される。
【0015】
作業用メモリ104は、撮像部102で撮像された画像データを一時的に保持するバッファメモリや、表示部106の画像表示用メモリ、制御部101の作業領域等として使用される。
【0016】
操作部105は、ユーザがデジタルカメラ100に対する指示をユーザから受け付けるために用いられる。操作部105は例えば、ユーザがデジタルカメラ100の電源のON/OFFを指示するための電源ボタンや、撮影を指示するためのレリーズスイッチ、画像データの再生を指示するための再生ボタンを含む。さらに、後述の通信部111を介して外部機器との通信を開始するための専用の接続ボタンなどの操作部材を含む。また、後述する表示部106に形成されるタッチパネルも操作部105に含まれる。なお、レリーズスイッチは、SW1およびSW2を有する。レリーズスイッチが、いわゆる半押し状態となることにより、SW1がONとなる。これにより、AF(オートフォーカス)処理、AE(自動露出)処理、AWB(オートホワイトバランス)処理、EF(フラッシュプリ発光)処理等の撮影準備を行うための指示を受け付ける。また、レリーズスイッチが、いわゆる全押し状態となることにより、SW2がONとなる。これにより、撮影を行うための指示を受け付ける。
【0017】
表示部106は、撮影の際のビューファインダー画像の表示、撮影した画像データの表示、対話的な操作のための文字表示などを行う。なお、表示部106は必ずしもデジタルカメラ100が内蔵する必要はない。デジタルカメラ100は内部又は外部の表示部106と接続することができ、表示部106の表示を制御する表示制御機能を少なくとも有していればよい。
【0018】
記録媒体110は、撮像部102から出力された画像データをファイルとして記録することができる。なお、デジタルカメラ100におけるファイル管理のためのシステムとしては、例えばFat(File Allocation Table)を採用することができる。記録媒体110は、デジタルカメラ100に着脱可能なよう構成してもよいし、デジタルカメラ100に内蔵されていてもよい。すなわち、デジタルカメラ100は少なくとも記録媒体110にアクセスする手段を有していればよい。
【0019】
通信部111は、外部装置と接続するためのインターフェイスである。本実施形態のデジタルカメラ100は、通信部111を介して、外部装置とデータのやりとりを行うことができる。例えば、撮像部102で生成した画像データを、通信部111を介して外部装置に送信することができる。本実施形態では、通信部111は外部装置とIEEE802.11の規格に従った、いわゆる無線LANで通信するためのインターフェイスを含み、制御部101は、通信部111を制御することで外部装置との無線LANを介した通信を実現する。この無線LANでの通信においては、外部装置とは、直接接続してもよいしアクセスポイントを介して接続してもよい。また、データを通信するためのプロトコルとしては、例えばHTTP(Hyper Text Transfer Protocol)を用いることができる。そのほか、PTP/IP(Picture Transfer Protocol over Internet Protocol)を用いることもできる。なお、通信方式は無線LANに限定されるものではなく、例えば赤外線通信方式、Bluetooth(登録商標)通信方式、WirelessUSB等の無線通信方式などを採用することもできる。さらには、USBケーブルやHDMI(登録商標)、IEEE1394、Ethernet(登録商標)など、有線接続を採用してもよい。
【0020】
近距離無線通信部112は、例えば無線通信のためのアンテナと無線信号を処理するため変復調回路や通信コントローラから構成される。近距離無線通信部112は、変調した無線信号をアンテナから出力し、またアンテナで受信した無線信号を復調することで近距離無線通信を実現する。ここでは、ISO/IEC 18092の規格(いわゆるNFC:Near Field Communication)に従った近距離無線通信を実現する。またその他、赤外線通信方式、Bluetooth(登録商標)通信方式、WirelessUSB等の無線通信方式などに従った近距離無線通信を採用してもよい。なお、近距離無線通信部112としてBluetooth(登録商標)通信方式を採用する場合、例えば低消費電力であるBluetooth(登録商標) Low Energyのバージョン4.0を採用することができる。このBluetooth(登録商標)通信は、無線LAN通信と比べて通信可能な範囲が狭い(つまり、通信可能な距離が短い)。また、Bluetooth(登録商標)通信は、無線LAN通信と比べて通信速度が遅い。その一方で、Bluetooth(登録商標)通信は、無線LAN通信と比べて消費電力が少ない。
【0021】
本実施形態の近距離無線通信部112は、デジタルカメラ100の側部に配される。
【0022】
本実施形態において、後述するスマートデバイス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に保持されているものとする。
【0023】
なお、本実施形態におけるデジタルカメラ100はアクセスポイントの一種であるものの、CL機器から受信したデータをインターネットプロバイダなどに転送するゲートウェイ機能は有していない簡易APである。したがって、自機が形成したネットワークに参加している他の装置からデータを受信しても、それをインターネットなどのネットワークに転送することはできない。
【0024】
次に、デジタルカメラ100の外観について説明する。図1(b)、図1(c)はデジタルカメラ100の外観の一例を示す図である。レリーズスイッチ105aや再生ボタン105b、方向キー105c、タッチパネル105dは、前述の操作部105に含まれる操作部材である。また、表示部106には、撮像部102による撮像の結果得られた画像が表示される。
【0025】
以上がデジタルカメラ100の説明である。
【0026】
<スマートデバイス200の構成>
図2は、本実施形態の情報処理装置の一例であるスマートデバイス200の構成例を示すブロック図である。なお、スマートデバイスとはスマートフォンやタブレットデバイスを意味する。なお、ここでは情報処理装置の一例としてスマートデバイスについて述べるが、情報処理装置はこれに限られない。例えば情報処理装置は、無線機能付きのデジタルカメラやプリンタ、テレビ、あるいはパーソナルコンピュータなどであってもよい。
【0027】
制御部201は、入力された信号や、後述のプログラムに従ってスマートデバイス200の各部を制御する。なお、制御部201が装置全体を制御する代わりに、複数のハードウェアが処理を分担することで、装置全体を制御してもよい。
【0028】
撮像部202は、撮像部202に含まれるレンズで結像された被写体光を電気信号に変換し、ノイズ低減処理などを行い、デジタルデータを画像データとして出力する。撮像した画像データはバッファメモリに蓄えられた後、制御部201にて所定の演算を行い、記録媒体210に記録される。
【0029】
不揮発性メモリ203は、電気的に消去・記録可能な不揮発性のメモリである。不揮発性メモリ203には、制御部201が実行する基本的なソフトウェアであるOS(オペレーティングシステム)や、このOSと協働して応用的な機能を実現するアプリケーションが記録されている。また、本実施形態では、不揮発性メモリ203には、デジタルカメラ100と通信するためのアプリケーション(以下アプリ)が格納されている。
【0030】
作業用メモリ204は、表示部206の画像表示用メモリや、制御部201の作業領域等として使用される。
【0031】
操作部205は、スマートデバイス200に対する指示をユーザから受け付けるために用いられる。操作部205は例えば、ユーザがスマートデバイス200の電源のON/OFFを指示するための電源ボタンや、表示部206に形成されるタッチパネルなどの操作部材を含む。
【0032】
表示部206は、画像データの表示、対話的な操作のための文字表示などを行う。なお、表示部206は必ずしもスマートデバイス200が備える必要はない。スマートデバイス200は表示部206と接続することができ、表示部206の表示を制御する表示制御機能を少なくとも有していればよい。
【0033】
記録媒体210は、撮像部202から出力された画像データを記録することができる。なお、スマートデバイス200におけるファイル管理のためのシステムとしては、例えばFATを採用することができる。記録媒体210は、スマートデバイス200に着脱可能なよう構成してもよいし、スマートデバイス200に内蔵されていてもよい。すなわち、スマートデバイス200は少なくとも記録媒体210にアクセスする手段を有していればよい。
【0034】
通信部211は、外部装置と接続するためのインターフェイスである。本実施形態のスマートデバイス200は、通信部211を介して、外部装置とデータのやりとりを行うことができる。例えば、撮像部202で生成した画像データを、通信部211を介して外部装置に送信することができる。本実施形態では、通信部211は外部装置とIEEE802.11の規格に従った、いわゆる無線LANで通信するためのインターフェイスを含み、制御部201は、通信部211を制御することで外部装置との無線LANを介した通信を実現する。この無線LANでの通信においては、外部装置とは、直接接続してもよいしアクセスポイントを介して接続してもよい。また、データを通信するためのプロトコルとしては、例えばHTTPやPTP/IPを用いることができる。なお、通信方式は無線LANに限定されるものではなく、例えば赤外線通信方式、Bluetooth(登録商標)通信方式、WirelessUSB等の無線通信方式などを採用こともできる。さらには、USBケーブルやHDMI(登録商標)、IEEE1394、Ethernet(登録商標)など、有線接続を採用してもよい。
【0035】
近距離無線通信部212は、例えば無線通信のためのアンテナと無線信号を処理するための変復調回路や通信コントローラから構成される。近距離無線通信部212は、変調した無線信号をアンテナから出力し、またアンテナで受信した無線信号を復調することにより非接触近距離通信を実現する。ここでは、ISO/IEC 18092の規格(いわゆるNFC)に従った近距離無線通信を実現する。またその他、赤外線通信方式、Bluetooth(登録商標)通信方式、WirelessUSB等の無線通信方式などに従った近距離無線通信を採用してもよい。なお、近距離無線通信部112としてBluetooth(登録商標)通信方式を採用する場合、例えば低消費電力であるBluetooth(登録商標) Low Energyのバージョン4.0を採用することができる。このBluetooth(登録商標)通信は、無線LAN通信と比べて通信可能な範囲が狭い(つまり、通信可能な距離が短い)。また、Bluetooth(登録商標)通信は、無線LAN通信と比べて通信速度が遅い。その一方で、Bluetooth(登録商標)通信は、無線LAN通信と比べて消費電力が少ない。
【0036】
公衆網通信部213は、公衆無線通信を行う際に用いられるインターフェイスである。スマートデバイス200は、公衆網通信部213を介して、他の機器と通話することができる。この際、制御部201はマイク214およびスピーカ215を介して音声信号の入力と出力を行うことで、通話を実現する。更に、本実施形態では、公衆網通信部213はW−CDMA(UMTS)やLTE(Long Term Evolution)等の規格に従って公衆網に接続することができる。なお、通信部211および公衆網通信部213は、一つのアンテナで兼用することも可能である。
【0037】
以上がスマートデバイス200の説明である。
【0038】
<デジタルカメラを外部装置から制御するためのAPIについて>
図3(a)は、外部機器からデジタルカメラ100を制御するためのAPI(Application Programming Interface)について説明するための図である。
【0039】
デジタルカメラ100は、スマートデバイス200などの外部機器から制御するためのAPIを公開しており、このAPIを利用することで、外部装置の開発者は、簡単なコマンド指定のみで、様々な処理を手軽に実装することができる。例えば本実施形態では、このAPIを通してデジタルカメラ100の不揮発性メモリ103に記録されたデバイス情報や、デジタルカメラ100の記録媒体110などに保存されたコンテンツファイルをデジタルカメラ100から取得することができる。コンテンツファイルとは、デジタルカメラ100が生成して記録媒体110や不揮発性メモリ103に保存するファイルのことであり、本実施形態では、静止画ファイルや動画ファイルのことを指す。なお、この他、例えば音声ファイル、音楽ファイル、HTMLなどのマークアップ言語ファイル等を外部機器に提供できるようにしてもよい。以下では、説明を簡単にするために、主に静止画ファイルを例に挙げて説明する。
【0040】
デジタルカメラ100は、予め不揮発性メモリ103にAPIをプログラムとして保存している。通信部111を介して、デジタルカメラ100と外部機器との通信が確立すると、APIを実行するためのプログラムを作業用メモリ104に展開し、外部装置からAPIがリクエストされるのを待つ。制御部101が外部機器からAPIがリクエストされたことを検知すると、APIの種類に応じて処理を実行し、その結果をレスポンスとして外部機器に返却する。なお、APIはデジタルカメラ100が規定した通信プロトコル上で実行され、外部機器は規定された通信プロトコルを用いてデジタルカメラ100と通信を行い、APIをリクエストする。本実施形態では、HTTP(Hyper Text Transfer Protocol)上で本APIが実行されることを想定して説明するが、他の通信プロトコル(例えばPTP/IP等)を採用してもよい。
【0041】
HTTPにおけるAPIの実行方法については、基本的に以下の手順で実現される。すなわち、外部機器がHTTPリクエストボディにAPI名と必要な引数をテキストで記述し、GETメソッドもしくはPOSTメソッドを用いてデジタルカメラ100に送信することで、APIの実行を要求する。これに対して、デジタルカメラ100は、HTTPレスポンスボディにその結果を付加して外部機器にレスポンスとして返却することで、APIの実行結果を提供する。なお、以下の説明では、このAPIを利用してリクエストを送信するための処理を実行することを、APIをコールする、とも記載する。
【0042】
図3(a)のAPIリスト300は、前述した仕組みで動作する、デジタルカメラ100が提供するAPIの種類とその説明を表にしたものである。なお、以下に挙げるAPIは一例であり、デジタルカメラ100を制御するAPIとして、以下に挙げるAPI以外のものも提供されてもよい。
【0043】
API301は、デジタルカメラ100の製品情報を取得するためのAPIである。API名「RequestProductInfo」を引数なしでデジタルカメラ100にリクエストすると、レスポンスとしてデジタルカメラ100の製品名、製造者名、ファームウェアバージョン、シリアルナンバーをデジタルカメラ100から取得できる。なお、製品名とは、デジタルカメラ100の製品名称である。製造者名とはデジタルカメラ100のメーカー名称である。ファームウェアバージョンとは、不揮発性メモリ103に保存されたデジタルカメラ100を制御するためのプログラムのバージョン番号である。シリアルナンバーとは、デジタルカメラ100の個体識別が可能な一意の番号である。
【0044】
API302は、デジタルカメラ100の保存領域の情報を取得するためのAPIである。API名「RequestMemoryInfo」をデジタルカメラ100にリクエストすると、レスポンスとしてデジタルカメラ100の保存領域ID、保存可能容量、空き容量、保存済みのコンテンツファイル数をデジタルカメラ100から取得できる。このリクエストは引数なしで行われる。なお、保存領域IDとは、デジタルカメラ100で生成されるコンテンツファイルを保存可能な領域にそれぞれ割り振られたID(Identification)である。コンテンツファイルを保存可能な領域とは、例えば、デジタルカメラ100の記録媒体110などであり、IDはこの記録媒体110に割り振られる。もし記録媒体を複数挿入できる場合には、それぞれの記録媒体に異なるIDが割り振られる。保存可能容量とは、コンテンツファイルを保存できる保存領域の上限サイズである。空き容量とは、保存領域のうちコンテンツファイルが保存されていない領域のサイズである。保存済みのコンテンツ数とは、保存領域に保存されているコンテンツファイルの総数のことである。
【0045】
API303は、デジタルカメラ100の保存領域に保存されているコンテンツIDとコンテンツファイルの管理情報を取得するためのAPIである。なお、管理情報は、コンテンツが記録されるディレクトリ内のファイルやディレクトリの情報を管理するための管理領域(いわゆるディレクトリエントリと呼ばれる、ディレクトリ毎に確保される領域)内に記録されている。API名「RequestConteentInfo」と共に、API302で取得した保存領域ID、コンテンツフォーマットの種類、取得要求数を指定してリクエストすると、レンポンスとして以下の情報をデジタルカメラ100から取得できる。すなわち、デジタルカメラ100の保存領域に保存されているコンテンツファイルのコンテンツID、ファイル名、ファイルサイズ、ファイル生成日時等である。なお、ここでいうコンテンツIDは、コンテンツファイルを個々に識別するために、デジタルカメラ100の制御部101によって自動的に割り振られるIDである。なお、デジタルカメラ100内のファイル管理のためのIDとは別に、API303を利用するスマートデバイス200との通信中に一時的に用いるためのIDを別途割り振り、それをコンテンツIDとして用いてもよい。
【0046】
API304は、デジタルカメラ100の保存領域に保存されているコンテンツファイルを取得するためのAPIである。API名「RequestConent」と共に、コンテンツIDとコンテンツサイズの種類を指定してリクエストすると、レスポンスとしてコンテンツファイルをデジタルカメラ100から取得できる。なお、コンテンツサイズの種類としては、例えばオリジナルや縮小サイズ等を指定することができる。そして、デジタルカメラ100は指定されたサイズに従ったコンテンツファイルを生成し外部装置へレスポンスとして返却する。本実施形態では、コンテンツサイズの種類として、例えば静止画ファイルをオリジナルのサイズで取得するのか、サムネイルサイズで取得するのかを指定できる。オリジナルを指定すれば、デジタルカメラ100に記録されている画像データを取得する。サムネイルを指定すれば、デジタルカメラ100に記録されている画像データのヘッダに記録されているサムネイルを取得する。
【0047】
API305は、デジタルカメラ100の保存領域に保存されているコンテンツファイルの詳細情報(いわゆるメタデータ)を取得するAPIである。API名「RequestContentDetailInfo」と共に、コンテンツIDを引数としてリクエストすると、指定したコンテンツIDに対応するコンテンツの詳細情報を取得できる。本実施形態における詳細情報とは、いわゆるメタデータであり、例えば静止画ファイルのExif情報である。なお、Exif(Exchangeable image file format)とは、JEIDA(日本電子工業振興協会)が策定したデジタルカメラ用の画像メタデータのフォーマットである。Exif情報は、画像データのヘッダに記録されている情報であるため、内容を把握するためには、画像データのヘッダの読出しと解析が必要である。なお、本APIの実装により、カメラ側で画像のヘッダを解析して、スマートデバイス200が解釈可能なフォーマットでメタデータを取得できるため、スマートデバイス200側では画像のExifを解析する必要はない。すなわち、例えばAPI304の利用によって受信した画像データのExifを解析する機能を持っていなくとも、デジタルカメラ100からメタデータを取得することで、メタデータを取得することができる。なお、画像データのヘッダの解析にはある程度の時間が必要である。故に、ディレクトリエントリに記録されている管理情報に比べて、データとして送信できるようになるまでの時間が長い。
【0048】
ここで、本実施形態における画像データの構成について説明する。図3(b)は、本実施形態での画像データの構成の概念図である。この画像データは、例えばデジタルカメラ100により生成され、記録媒体110のデータ記録領域に記録されるものである。
【0049】
本実施形態の画像ファイルのデータ構造は、画像ファイルの形式にExif−JPEGを用いるが、Exif−TIFFやRAW画像、動画など、画像ファイルにメタデータが記録できるデータ構造になっている形式でもよい。
【0050】
図3(b)のExif−JPEG310において、SOI311は、Exif−JPEG310の開始を示すマーカーである。APP1 312は、Exif−JPEG310のヘッダ部に相当するアプリケーションマーカである。データブロック313は、量子化テーブル(DQT)、ハフマンテーブル(DHT)、フレーム開始マーカー(SOF)、スキャン開始マーカ(SOS)で構成されるデータブロックである。Compressed Data314は、本体画像の圧縮データである。EOI315は、Exif−JPEG310の終端を示すマーカーである。
【0051】
また、APP1 312は、図3(b)のデータブロック316〜322で示すように構成される。データブロック316は、APP1 312のサイズを示すAPP1 Length、APP1 312の識別コードを示すExif Identifier Codeで構成されるデータブロックである。0th IFD317は、圧縮された本体画像に関する付属情報を記録するデータブロックである。例えば、撮像したデジタルカメラのモデル名の情報が含まれる。0th IFD317の一部には、Exif IFD318とGPS IFD320のデータブロックが存在する。
【0052】
Exif IFD318は、Exifバージョンに関するタグ、画像データの特性や構造に関するタグ、撮像日時に関するタグ、シャッタースピードやレンズ焦点距離などが記録された撮像条件に関するタグなどで構成される。また、Exif IFD318には、MakerNote319のデータブロックが存在する。MakerNote319は、ファイルを生成したメーカ固有の情報が記録されている。例えば、時差情報や、撮像に用いられたデジタルカメラ100のユニークな番号を表すシリアル番号などの情報が含まれる。このMakerNote319に記載される情報は、メーカ毎に個別の仕様が採用されている。そのため、MakerNote319に記録されるデータのフォーマットの仕様が公開されていない限り、他のメーカの製品やアプリケーションからは、MakerNote319に記録されている情報を把握することは難しい。API305は、このような問題を解決するためにも利用することができる。すなわち、API305を利用すれば、MakerNote319の解析もデジタルカメラ100が実行し、スマートデバイス200が認識できる形でデータを取得することができる。そのため、APIを利用する側の装置やアプリが、MakerNote319を解析する機能を備えていなくとも、MakerNote319に記録されている情報の内容を把握することができる。
【0053】
GPS IFD320は、GPS情報に関するタグで構成される。その中には、本実施例で使用する緯度、経度といった位置情報や、衛星測位日時(UTC)が記録される。
【0054】
1st IFD321は、サムネイル画像に関する付属情報を記録するデータブロックである。Thumbnail322は、サムネイルの画像データである。
【0055】
以上が、本実施形態の画像データの構造の説明である。
【0056】
<システムのシーケンス>
次に、本実施形態におけるデジタルカメラ100とスマートデバイス200とが協働して実現する画像データの閲覧手順について説明する。
【0057】
図4は、本実施形態におけるデジタルカメラ100とスマートデバイス200とが協働して実現するデータの閲覧手順を示すシーケンス図である。
【0058】
まず、ステップS401において、デジタルカメラ100およびスマートデバイス200は、互いに通信パラメータを共有し、互いに同一のネットワークに参加する。ここで両機器が参加するネットワークは、両機器とは異なる他の機器であるアクセスポイントが生成したものであってもよいし、両機器のどちらかが簡易APとして動作して生成してもよい。本実施形態では、デジタルカメラ100が簡易APとして動作して無線LANネットワークを形成する場合を例に挙げて説明する。デジタルカメラ100は簡易APとして動作すると、ビーコン信号の定期的な送信を開始する。一方スマートデバイス200にてメニュー操作により接続開始が指示されると、スマートデバイス200はビーコン信号を検知し、デジタルカメラ100が形成した無線LANネットワークに参加する。なお、通信パラメータの共有は、各機器をユーザが操作することで(例えばスマートデバイス200でのSSIDの選択や、デジタルカメラ100での無線LAN機能の起動を指示するメニュー操作等)実現する。あるいは、近距離無線通信を介してデジタルカメラ100からスマートデバイス200にSSIDやパスワードを送信することで共有してもよい。この場合、近距離無線通信でのSSIDやパスワードの共有に応じて無線LAN機能を自動的に起動するように構成される。
【0059】
次に、ステップS402において、デジタルカメラ100およびスマートデバイス200は、機器発見プロトコルによりお互いのデバイスを発見し、データ通信を行うためのプロトコル接続をすることにより機器同士の接続が完了する。互いのデバイスの発見には、例えばUPnP(Universal Plug And Play)や、mDNS(Multicast Domain Name Service)などのプロトコルを用いる。また、データ通信を行うためのプロトコルとしては、例えば、PTP/IPを採用することができる。
【0060】
次に、ステップS403において、スマートデバイス200は、デジタルカメラ100に対して、製品情報を取得するRequestProductInfo APIをコールする。すなわち、デジタルカメラ100に対して製品情報を要求する。
【0061】
これに対し、ステップS404においてデジタルカメラ100は、図3(a)に示すRequestProductInfoに応じた処理を行い、結果をスマートデバイス200に対して返却する。ここでは、デジタルカメラ100は、要求の受信に応じて不揮発性メモリ103に記録されている製品名、製造者名、ファームウェアバージョン、シリアルナンバーなどを読み出し、スマートデバイス200に製品情報として送信する。
【0062】
続くステップS405において、スマートデバイス200は、デジタルカメラ100に対して、保存領域の情報を取得するRequestMemoryInfo APIをコールする。すなわち、デジタルカメラ100に対して保存領域の情報を要求する。
【0063】
これに対し、ステップS406においてデジタルカメラ100は、図3(a)に示すRequestMemoryInfoに応じた処理を行い、結果をスマートデバイス200に対して返却する。具体的には、デジタルカメラ100は保存領域の情報として、保存領域ID、保存可能容量、空き容量、保存済みコンテンツ数などをスマートデバイス200に送信する。
【0064】
次に、ステップS407において、スマートデバイス200はサムネイル一覧を表示するために、デジタルカメラ100に保存されている画像の管理情報を取得するRequestContentInfo APIをコールする。すなわち、デジタルカメラ100に対して保存されている画像の管理情報を要求する。なお、本ステップでのRequestContentInfo APIのコールにおいては、ステップ406で取得した保存領域の情報を引数に利用する。また、ステップS407の処理は、ステップS406の完了に応じて自動的に実行されてもよいし、例えばユーザの操作によって、サムネイル一覧を表示するための指示を受け付けたことに応じて実行されてもよい。図4では、ユーザからの指示に応じて実行される場合を例示する。
【0065】
次に、この要求に対し、ステップS408でデジタルカメラ100は、図3(a)に示すRequestContentInfoに応じた処理を行い、結果をスマートデバイスに対して返却する。具体的には、デジタルカメラ100はコンテンツID、コンテンツファイル名、コンテンツファイルサイズ、コンテンツ生成日時などを、画像が保存されているディレクトリのディレクトリエントリから読み出し、スマートデバイス200に送信する。
【0066】
ステップS407とステップS408の処理は、スマートデバイス200の表示部206に表示するサムネイルの数だけ繰り返される。図4では、後述のステップによって取得されたサムネイルが一画面に15つ表示される例を示している。この場合、ステップS407とステップS408は15回繰り返され、一画面に表示するサムネイルに対応する画像の管理情報を取得する。なお、一度のRequestContentInfo APIのコールで、複数の管理情報を取得できるようにしてもよい。この場合、RequestContentInfo APIの引数には、取得する管理情報の範囲を指定する。具体的には、取得対象範囲1−15のように指定する。このように指定した場合、デジタルカメラ100側が所定の順番で管理する各画像の管理情報のうち1番目の画像の管理情報から15番目の画像の管理情報までの15の管理情報がレスポンスとして返される。例えば、画像の生成順に管理情報が返される。
【0067】
次に、ステップS409において、スマートデバイス200は、ステップS408でデジタルカメラ100から受信した画像の管理情報に基づき、表示するサムネイルを取得するためのRequestContent APIをコールする。すなわち、スマートデバイス200は画像情報を取得した画像のIDを引数に用いて、画像のサムネイルをデジタルカメラ100に要求する。
【0068】
これに対し、ステップS410でデジタルカメラ100は、図3(a)に示すRequestContentに応じた処理を行い、サムネイルデータをスマートデバイス200に対して返却する。すなわち、コールされたAPIの引数に含まれる画像のIDに基づき決定される画像のヘッダを解析してサムネイルデータを読み出し、スマートデバイス200に送信する。
【0069】
ステップS409とステップS410の処理は、表示すべきサムネイルを取得しきるまで繰り返される。なお、ステップS409とステップS410の処理によって取得されるサムネイルは、繰り返しの完了を待つことなく、スマートデバイス200の表示部206に順次表示される。この結果、例えばスマートデバイス200の表示部206には、画面421のようなサムネイル一覧が表示されることになる。
【0070】
なお、この画面421に表示されるサムネイルに対応する画像以外の画像に関する管理情報やサムネイルについては、他のサムネイルの表示指示が入力されたときに、改めてステップS407〜ステップS410の処理を実行して取得すればよい。なお、サムネイル一覧画面においては、例えばタッチパネルへのタッチ操作によって、他のサムネイルを閲覧するための指示を入力することができるものとする。サムネイル一覧の更新については、例えば、上向きのドラッグ操作やフリック操作に応じて、現在表示中のサムネイルは上向きにスクロールアウトしていき、新たに、次のサムネイル群が下からスクロールインしてくるような表示態様で画面が更新される。この際に、ステップS407〜S410の処理によって、次のサムネイル群の管理情報とサムネイルを取得する。
【0071】
また、サムネイル一覧が表示されている状態において、ユーザは操作部205を介して、いずれかのサムネイルを選択して、本画像のプレビューやメタデータの確認を行うことができる。以下の説明では、操作部205としてタッチパネルを採用した場合の操作を例に挙げて説明する。
【0072】
ステップS411にてスマートデバイス200は、ユーザからいずれかのサムネイルに対応する画像の詳細情報を表示する指示を受け付ける。例えばユーザは、サムネイルの表示領域を一定時間以上タッチする(いわゆる長押し)ことで、サムネイルに対応する画像の詳細情報を表示させるための指示を入力することができる。なお、長押しの操作は一例であり、他の操作でもよい。例えば、サムネイルのタップ、ダブルタップ(所定時間以内に二回のタップを行う操作)、二本の指でのタップ等の操作を採用することができる。
【0073】
ユーザからいずれかのサムネイルに対応する画像の詳細情報を表示する指示を受け付けたスマートデバイス200は、ステップS412において、選択された画像の詳細情報を取得するRequestContentDetailInfo APIをコールする。すなわち、ステップS411でユーザに選択されたサムネイルに対応する画像IDを引数に利用して、その画像IDで特定される画像の詳細情報をデジタルカメラ100に要求する。
【0074】
これに対し、ステップS413でデジタルカメラ100は、図3(a)に示すRequestContentDetailInfoに応じた処理を行い、画像の詳細情報をスマートデバイス200に対して返却する。そして、スマートデバイス200は、デジタルカメラ100から受信した画像の詳細情報をもとに、選択された画像の詳細情報を表示する。例えば、表示する情報として、撮影モードや撮影日時、Av値、Tv値、ISO値などがあげられる。この結果、例えばスマートデバイス200の表示部206には、画面422のように、画像のメタデータがサムネイル一覧に重畳して表示される。なお、ステップS412およびステップS413の処理の実行はステップS411での選択の後に自動的にバックグラウンドで実行される。そのため、ユーザはあたかも既に受信した画像のメタデータを確認する場合と同様の操作感で、デジタルカメラ100内の画像のメタデータを確認することができる。
【0075】
なお、この状態で更に別のサムネイルを選択した場合には、ステップS412、ステップS413を繰り返し、そのサムネイルに対応する画像の詳細情報を取得して表示する。これに伴い、既に表示されていた詳細情報は非表示となる。これは、複数のサムネイルに詳細情報が表示されていると、サムネイルが見にくくなってしまうからである。
【0076】
次に、ステップS414において、スマートデバイス200は、画面421または画面422に表示されるサムネイルのうちのいずれかの画像のプレビュー表示を行うための指示を受け付ける。例えばユーザは、表示されているサムネイルの内容や、ステップS411〜S413の処理により確認できるメタデータ等の情報をもとに、所望の一枚を選択し、より大きなサイズでの画像の内容の確認を指示することができる。この指示の入力には、例えばサムネイルのダブルタップの操作を採用することができる。この操作は、ステップS411での詳細情報を取得するための指示と区別することができれば、他の操作を採用してもよい。
【0077】
さて、画像のプレビュー表示を行うための指示を受け付けたスマートデバイス200は、ステップS415にて、指示された画像のIDを引数に用いて、RequestContent APIをコールする。ここでは、画像サイズの引数は「オリジナル」を示す値が利用される。
【0078】
これに対し、ステップS416でデジタルカメラ100は、図3(a)に示すRequestContentに応じた処理を行い、画像データをスマートデバイス200に対して返却する。すなわち、要求に含まれる画像IDに対応する画像データをスマートデバイス200に送信する。
【0079】
これを受け取ったスマートデバイス200は、デジタルカメラ100から受信した画像データをもとに、ディスプレイに選択された画像のプレビュー表示を行う。この結果、例えばスマートデバイス200の表示部206には、画面423のように一枚の画像が一画面に表示される。
【0080】
なお、説明を簡単にすることを目的として、ステップS411〜ステップS413の後にステップS414の処理が実行されるような態様の図面を示したが、先にステップS414が実行されることも可能である。また、ステップS414で選択されるサムネイルは、必ずしもステップS411〜ステップS413の処理によってメタデータを取得したものとは限らない。そのため、本実施形態のスマートデバイス200では、画面423のように一画面に表示中の画像のメタデータを長押しによって表示させることもできる。すなわち、ステップS417においてユーザから長押し操作を受け付けたならば、スマートデバイス200はステップS418にて、表示中の画像に対応する画像IDを引数に用いてRequestContentDetailInfo APIをコールする。そして、デジタルカメラ100は、ステップS419にて、要求に含まれる画像IDによって特定される画像の詳細情報を解析してスマートデバイス200に送信する。なお、表示中の画像が既にサムネイル一覧画面にてメタデータを取得済みであった場合には、取得済みのメタデータを読み出して表示すればよい。なお、この取得済みのメタデータを読み出して表示する処理を実現するために、一旦取得したメタデータはデジタルカメラ100との接続が切断されるまで保持しておく。これにより、再度確認する指示を受けた際に、再度APIをコールして通信する必要が無くなるため、通信のオーバーヘッドを削減することができる。
【0081】
また、プレビュー表示の画面424の表示中に、現在表示している画像の次の画像、あるいは前の画像に表示を切り替える指示を入力することもできる。例えば、操作部105に含まれるタッチパネルへの、右向きフリック操作で前の画像を表示させる指示を入力することができ、左向きフリック操作で次の画像を表示させる指示を入力することができる。なお、ここでいう前の画図、次の画像というのは、ステップS408で取得した画像IDの順番に並べた時の前後関係に従う。言い換えれば、サムネイル一覧の表示順に従う。この指示の入力を受け付けた場合は、スマートデバイス200は、サムネイル一覧でプレビュー表示の指示を受け付けた場合と同様に、ステップS412〜ステップS413を実行すればよい。
【0082】
以上が、本実施形態におけるデジタルカメラ100とスマートデバイス200とが協働して実現する画像データの閲覧手順の説明である。
【0083】
<スマートデバイス200の動作>
続いて、図4の手順を実現するための、スマートデバイス200の動作について説明する。図5は本実施形態におけるスマートデバイス200の動作を示すフローチャートである。このフローチャートにおける各処理は、制御部201が、不揮発性メモリ203に格納されたプログラムを作業用メモリ204に展開して実行することにより実現される。また、本フローチャートの処理は、例えばユーザのメニュー操作等によってデジタルカメラ100との無線LANの通信を確立する指示を受け付けたことに応じて開始される。
【0084】
まず、ステップS501において、制御部201は、通信部211を介してデジタルカメラ100と無線LAN通信を確立する。ステップS501は、図4のステップS401、ステップS402に相当する。
【0085】
次にステップS503において、制御部201は、通信部211を介して、デジタルカメラ100に対してデジタルカメラ100の製品情報を取得するためのリクエストRequestProductInfoを送信する。ステップS503は、図4のステップS403に相当する。
【0086】
次に、ステップS504において、制御部201は、通信部211を介して、デジタルカメラ100からステップS503のリクエストに対するレスポンスを受信する。ここではRequestProductInfoに対するレスポンスとして、製品名などを受信する。ステップS504は、図4のステップS404に相当する。
【0087】
次に、ステップS505において、制御部201は、通信部211を介して、デジタルカメラ100に対してデジタルカメラ100の保存領域の情報を取得するためのリクエストRequestMemoryInfoを送信する。ステップS505は、図4のステップS405に相当する。
【0088】
次に、ステップS506において、制御部201は、通信部211を介して、デジタルカメラ100からステップS505のリクエストに対するレスポンスを受信する。ここではRequestMemoryInfoに対するレスポンスとして、保存領域IDなどを受信する。ステップS506は、図4のステップS406に相当する。
【0089】
次に、ステップS507において、制御部201は、通信部211を介して、デジタルカメラ100に対してデジタルカメラ100に保存されている画像の管理情報を取得するためのリクエストRequestContentInfoを送信する。ステップS507は、図4のステップS408に相当する。
【0090】
次に、ステップS508において、制御部201は、通信部211を介して、デジタルカメラ100からステップS507のリクエストに対するレスポンスを受信する。ここでは、RequestContentInfoに対するレスポンスとして、コンテンツID(本実施例では画像ID)などを受信する。ステップS508は、図4のステップS409に相当する。
【0091】
制御部201は、表示に必要な分だけステップS507、ステップS508を繰り返し行う。
【0092】
次に、ステップS509において、制御部201は、通信部211を介して、デジタルカメラ100に対してデジタルカメラ100の画像のサムネイルを取得するためのリクエストRequestContentを送信する。ステップS509は、図4のステップS410に相当する。
【0093】
次に、ステップS510において、制御部201は、通信部211を介して、デジタルカメラ100からステップS509のリクエストに対するレスポンスを受信する。ここでは、RequestContentに対するレスポンスとして、コンテンツデータ(本実施例ではサムネイルデータ)を受信する。ステップS510は、図4のステップS411に相当する。
【0094】
制御部201は、表示に必要な分だけステップS509、ステップS510を繰り返し行う。すなわち、ステップS507とステップS508の繰り返し回数と同じ回数だけ、ステップS509、ステップS510を繰り返す。
【0095】
次に、ステップS511において、制御部201は、ステップS510においてデジタルカメラ100から受信した画像のサムネイルデータを、表示部206に一覧表示する。なお、前述のように、繰り返されるステップS510でサムネイルを受信し次第、順次表示する。スマートデバイス200におけるサムネイル一覧表示の画面例は図4の画面421に示すとおりである。また、サムネイル一覧の表示に併せて、ユーザからの、メタデータの取得要求の指示や画像のプレビュー表示の指示の受け付けを開始する。
【0096】
次に、ステップS512において、制御部201は、表示されるサムネイルに対応する画像の詳細情報を取得する指示を受け付けたか否かを判断する。具体的には、ユーザが操作部205を用いて、サムネイル画像を長押ししたか否かを判断する。ステップS512において、サムネイル画像が長押しされたと判断した場合は、ステップS513に進み、長押しされていないと判断した場合は、ステップS516に進む。ステップS512は、図4のステップS412に相当する。ステップS516については後述する。
【0097】
ステップS513で制御部201は、通信部211を介して、デジタルカメラ100に対して、ステップS512において長押しされたサムネイル画像の詳細情報を取得するためのリクエストRequestContentDetailInfoを送信する。ここでは、長押しされたサムネイルに対応する画像IDを引数に用いる。ステップS513は、図4のステップS413に相当する。
【0098】
次に、ステップS514において、制御部201は、通信部211を介して、デジタルカメラ100からステップS513のリクエストに対するレスポンスを受信する。ここでは、RequestContentDetailInfoに対するレスポンスとして、コンテンツ詳細情報(本実施例では画像のメタデータ)を受信する。ステップS514は、図4のステップS414に相当する。
【0099】
次に、ステップS515において、制御部201は、ステップS514において受信した画像の詳細情報を表示部206に表示する。スマートデバイス200におけるサムネイル一覧表示における詳細情報は図4の422に示すように、サムネイル一覧に重畳して表示される。
【0100】
次に、ステップS516において、制御部201は、プレビュー表示を実行する指示を受け付けたか否かを判断する。ここでは、制御部201は、ユーザが操作部205を用いて、一覧表示されるサムネイルの中のいずれかをダブルタップしたことが検知された場合、タップされたサムネイルに対応する画像のプレビュー表示を実行する指示を受け付けたと判断する。更に、制御部201は、ユーザが操作部205を用いて、プレビュー表示中に左方向および右方向のうち、いずれかの方向のフリックを行ったことが検知された場合、表示中の画像の前、または後の画像のプレビュー表示を実行する指示を受け付けたと判断する。ステップS516において、プレビュー表示を実行する指示を受け付けたと判断した場合には、ステップS517に進み、プレビュー表示を実行する指示を受け付けていないと判断した場合には、ステップS520に進む。ステップS516は、図4のステップS415に相当する。ステップS520については後述する。
【0101】
ステップS517において、制御部201は、通信部211を介して、デジタルカメラ100に対して、ステップS516においてプレビュー表示を指示された画像のデータを取得するためのリクエストRequestContentを送信する。ここでは、ダブルタップされたサムネイルに対応する画像IDまたは、プレビュー表示中の画像の前後の画像のIDが引数として用いられる。ステップS517は、図4のステップS416に相当する。
【0102】
次に、ステップS518において、制御部201は、通信部211を介して、デジタルカメラ100からステップS517のリクエストに対するレスポンスを受信する。図3に示すように、RequestContentに対するレスポンスとして、コンテンツデータ(本実施例では画像データ)を受信する。ステップS518は、図4のステップS417に相当する。
【0103】
次に、ステップS519において、制御部201は、ステップS518において受信した画像データを表示部206に表示する。スマートデバイス200における画像のプレビュー表示の画面例は図4の423に示すとおりである。
【0104】
ステップS520において、制御部201は、プレビュー表示中の画像の詳細情報を取得する指示を受け付けたか否かを判断する。具体的には、制御部201は、プレビュー表示中の画像が、操作部205を介してユーザから長押しされたか否かを判断する。ステップS520において、プレビュー表示中の画像が長押しされたと判断した場合は、ステップS521に進み、長押しされていないと判断した場合は、ステップS524に進む。ステップS520は、図4のステップS418に相当する。ステップS524については後述する。
【0105】
ステップS521において、制御部201は、通信部211を介して、デジタルカメラ100に対して、ステップS520において長押しされた画像の詳細情報を取得するためのリクエストRequestContentDetailInfoを送信する。ステップS521は、図4のステップS419に相当する。なお、図4での説明でも述べたように、既に同じ画像の詳細情報をステップS514で受信済みの場合には、再度通信を行って詳細情報を取得する必要はない。そのため、この場合はステップS521、ステップS522の処理をスキップして、ステップS523の処理に進む。
【0106】
次に、ステップS522において、制御部201は、通信部211を介して、デジタルカメラ100からステップS521のリクエストに対するレスポンスを受信する。図3に示すように、RequestContentDetailInfoに対するレスポンスとして、コンテンツ詳細情報(本実施例では画像のメタデータ)を受信する。ステップS522は、図4のステップS420に相当する。
【0107】
次に、ステップS523において、制御部201は、ステップS522において受信した画像の詳細情報を表示部206に表示する。また、ステップS520で指示を受け付けた時点で既に詳細情報を受信済みである場合には、受信済みの詳細情報を読み出して表示部206に表示する。スマートデバイス200における画像のプレビュー表示における詳細情報表示の画面例は図4の424に示すとおりである。その後、処理はステップS524に進む。
【0108】
ステップS524では、制御部201は、ユーザから、サムネイル一覧の表示指示を受け付けたか否かを判断する。この指示は、プレビュー表示中に受け付けられる指示である。例えば、プレビュー表示の状態に遷移すると、画像を一画面に表示すると共に、サムネイル一覧に戻るためのボタンも表示する。このボタンをユーザが選択することで、サムネイル一覧の画面に戻る指示を入力することができる。本ステップで制御部201が、サムネイル一覧の表示指示を受け付けたと判断した場合、処理はステップS511に戻る。また、本ステップで制御部201が、サムネイル一覧の表示指示を受け付けていないと判断した場合は、処理はステップS525に進む。
【0109】
ステップS525では、制御部201は、デジタルカメラ100との無線LAN通信が切断したか否かを判断する。なお、無線LAN通信が切断する場合としては、ユーザによって明示的に切断の指示を受け付けた場合や、デジタルカメラ100からの信号が一定時間以上受信できない場合等が考えられる。ここで、無線LAN通信が切断していないと判断された場合、処理はステップS512に戻る。一方、無線LAN通信が切断したと判断された場合、制御部201はステップS514やステップS522で受信して保持しておいたメタ情報等を削除した上で本フローチャートの処理を終了する。
【0110】
以上が、本実施形態におけるスマートデバイス200の動作の説明である。
【0111】
以上のように、本実施形態によれば、サムネイルに対応する画像のメタデータを取得する際に、メタデータを取得するための通信を行っていることをユーザに意識させることなく、メタデータを表示することができる。すなわち、ユーザは、既に取得済みの画像のメタデータを確認する場合と同様の操作感で、デジタルカメラ100内の画像のメタデータを確認することができる。
【0112】
[第2の実施形態]
第1の実施形態では、プレビュー表示後にユーザの指示を受け付けたことで、詳細情報を取得する場合について説明した。これに対して、第2の実施形態では、プレビュー表示の指示を受け付けた場合、本画像の取得と共に詳細情報も取得する。なぜなら、プレビュー表示をした場合は、サムネイル一覧で他の画像と共に表示されている場合よりも、詳細情報を表示する指示を受け付ける可能性が高いと考えられるためである。これにより、プレビュー表示中に詳細情報を表示する指示を受け付けてから詳細情報を表示するまでにかかる時間を短縮することができる。
【0113】
なお、本実施形態は、第1の実施形態と共通する部分が多いため、本実施形態特有の部分を中心に説明する。
【0114】
<システムのシーケンス>
図6は、本実施形態におけるデジタルカメラ100とスマートデバイス200とが協働して実現するデータの閲覧手順を示すシーケンス図である。
【0115】
ステップS601〜ステップS616は、図4のステップS401〜416と同様の処理が実行される。
【0116】
本実施形態では、ステップS614〜ステップS616にて、ユーザの指示に応じて画像のプレビュー表示が行われることに応じて、自動的にステップS617〜ステップS618の処理が実行される。なお、ステップS617〜ステップS618の処理は、図4のステップS418〜ステップS419の処理と同様の処理である。ただし、このタイミングでは、メタデータの取得に留まり、メタデータの表示までは行わない。
【0117】
メタデータの表示については、図4の場合と同様に、プレビュー表示されている画像の長押しを受け付けることで行われる(ステップS619)。
【0118】
本実施形態では上記のように、プレビュー表示の指示を受け付けたことに応じて、プレビュー表示のための通信および表示の処理を実行するだけでなく、プレビュー表示される画像のメタデータも取得する。このように、より詳細情報の表示が指示される可能性が高いと考えられる状況において、予め詳細情報を取得しておくことで、詳細情報の表示が指示された場合に、表示するまでの時間を短縮することができる。なお、本実施形態では、自動的に行うのはメタデータの取得までで、表示はユーザ操作をトリガとする例について説明するが、例えばプレビュー表示と共にメタデータも表示するようにしてもよい。
【0119】
<スマートデバイス200の動作>
続いて、図6の手順を実現するためのスマートデバイス200の動作について説明する。図7は、本実施形態におけるスマートデバイス200の動作を示すフローチャートである。このフローチャートにおける各処理は、制御部201が、不揮発性メモリ203に格納されたプログラムを作業用メモリ204に展開して実行することにより実現される。また、本フローチャートの処理は、例えばユーザのメニュー操作等によってデジタルカメラ100との無線LANの通信を確立する指示を受け付けたことに応じて開始される。
【0120】
ステップS701〜ステップS715は、図5のステップS501〜ステップS515と同様の処理が実行される。
【0121】
ステップS716では、制御部201は、プレビュー表示を実行する指示を受け付けたか否かを判断する。このステップの処理は図5のステップS516と同様である。ステップS716において、プレビュー表示を実行する指示を受け付けたと判断した場合には、ステップS717に進み、プレビュー表示を実行する指示を受け付けていないと判断した場合には、ステップS722に進む。ステップS716は、図6のステップS615に相当する。ステップS722については後述する。
【0122】
ステップS717〜ステップS719は、図5のステップS517〜ステップS519と同様の処理が実行される。
【0123】
本実施形態では、これに併せて、ステップS720、ステップS721が実行される。ステップS720、ステップS721では、図5のステップS521、ステップS523と同様の処理が実行される。すなわち、画像のプレビュー表示と共に、メタデータの取得も実行される。なお、第1の実施形態と同様に、既にメタデータを受信済みである場合には、ステップS720とステップS721の処理はスキップされる。
【0124】
ステップS722では、制御部201は、プレビュー表示中の画像の詳細情報を表示する指示を受け付けたか否かを判断する。具体的には、制御部201は、プレビュー表示中の画像が、操作部205を介してユーザから長押しされたか否かを判断する。ステップS720において、プレビュー表示中の画像が長押しされたと判断した場合は、ステップS723に進み、長押しされていないと判断した場合は、ステップS724に進む。ステップS722は、図6のステップS619に相当する。ステップS724については後述する。
【0125】
ステップS723では、制御部201は、ステップS712で受信した、プレビュー表示中の画像のメタデータを、プレビュー表示中の画像に重畳して表示する。この場合、先にステップS720とステップS721の処理を済ませているため、ステップS722で指示を受け付けてからステップS720とステップS721の処理を実行する場合に比べて、メタデータの表示が完了するまでの時間を短縮することができる。
【0126】
ステップS724とステップS725は図5のステップS524とステップS525と同様の処理が実行される。
【0127】
以上が本実施形態におけるスマートデバイス200の動作の説明である。
【0128】
以上のように、本実施形態によれば、プレビュー表示の指示を受け付けた際に、プレビュー表示のための画像を取得するだけでなく、その画像の詳細情報も取得しておく。これにより、プレビュー表示中に詳細表示の指示を受け付けた場合のレスポンスをよくすることができる。
【0129】
[その他の実施形態]
上述の第1の実施形態では、プレビュー表示中に、その前後の画像に切り替えることができると述べた。これは、現在プレビュー表示中の画像を閲覧している状態から、他の画像を閲覧しようとする場合、一旦サムネイル一覧に戻るよりも手軽に画像を切り替えられるようにすることを目的としたものである。それゆえ、プレビュー表示中は、プレビュー表示中の画像の前後の画像のほうが、他の画像よりも、取得要求を受け付ける可能性が高いと考えられる。そこで、サムネイル一覧の表示中に、いずれかのサムネイルに対応する画像のプレビュー表示指示を受け付けた場合には、指示を受け付けた画像のみならず、バックグラウンドで前後の画像を取得しておいてもよい。すなわち、図4のステップS414でプレビュー表示の指示を受け付けた場合、指示された画像IDを引数としてRequestContent APIをコールする。それと共に、指示された画像IDの前後の画像IDをそれぞれ引数としてRequestContent APIをコールする。また、これに加えて第2の実施形態のように、いずれかのサムネイルに対応する画像のプレビュー表示指示を受け付けた場合には、指示を受け付けた画像のみならず、その画像の詳細情報を取得し、更にその前後の画像と前後の画像の詳細情報を取得してもよい。すなわち、図6のステップS614でプレビュー表示の指示を受け付けた場合、指示された画像IDを引数としてRequestContent APIをコールする。これに併せて、指示された画像IDの前後の画像IDをそれぞれ引数としてRequestContent APIをコールする。更に、指示された画像IDを引数としてRequestContentDetailInfo APIをコールしつつ、指示された画像IDの前後の画像IDをそれぞれ引数としてRequestContentDetailInfo APIをコールする。
【0130】
このように予め詳細情報を取得しておくことで、ユーザからの指示を受け付けてから画像や詳細情報を表示するまでの時間を短縮することができる。
【0131】
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
図1
図2
図3
図4
図5
図6
図7