(57)【特許請求の範囲】
【請求項１】
コンテンツデータと、前記コンテンツデータの管理情報とが記録されている記録媒体と接続する接続手段と、
外部装置と通信する通信手段と、
前記通信手段を介して、前記外部装置から前記コンテンツデータの管理情報の要求を受信した場合、前記要求に応じて前記コンテンツデータの管理情報を前記記録媒体から読み出して前記外部装置に送信するよう前記通信手段を制御すると共に、前記コンテンツデータのヘッダ領域に記録されている情報を前記ヘッダ領域から読み出して保持するよう制御する制御手段とを有し、
前記外部装置から前記コンテンツデータのヘッダ領域に記録されている情報を要求された場合、前記制御手段は、該情報を読み出して保持しているか否かを判断し、保持している場合は、改めて前記記録媒体から読み出すことなく、保持している情報を送信するよう前記通信手段を制御することを特徴とする通信装置。
【請求項２】
前記外部装置から前記コンテンツデータのヘッダ領域に記録されている情報を要求された場合、前記制御手段は、前記コンテンツデータを送信することなく、前記コンテンツデータのヘッダ領域に記録されている情報を前記外部装置に送信するよう前記通信手段を制御することを特徴とする請求項１に記載の通信装置。
【請求項３】
前記記録媒体は、コンテンツデータを記録するデータ領域と、前記コンテンツデータの管理情報を記録する管理領域とを有することを特徴とする請求項１または２項に記載の通信装置。
【請求項４】
前記管理領域はディレクトリエントリであることを特徴とする請求項３に記載の通信装置。
【請求項５】
前記コンテンツデータは画像データであることを特徴とする請求項１乃至４のいずれか１項に記載の通信装置。
【請求項６】
前記管理情報は、画像データの識別情報、ファイル名、データサイズ、生成日時を含むことを特徴とする請求項５に記載の通信装置。
【請求項７】
前記画像データのヘッダ領域に記録されている情報は、前記画像データの撮影日時、撮影場所、Ａｖ値、Ｔｖ値、ＩＳＯ値の情報のうち、少なくとも一つを含むことを特徴とする請求項５または６に記載の通信装置。
【請求項８】
前記外部装置との通信を切断する場合、前記保持した前記コンテンツデータのヘッダ領域の情報を破棄することを特徴とする請求項１乃至７のいずれか１項に記載の通信装置。
【請求項９】
前記コンテンツデータのヘッダ領域の情報が保持されている状態で、前記外部装置から、他のコンテンツデータに関する要求を受け付けた場合、前記制御手段は、前記保持されている前記ヘッダ領域の情報を破棄し、前記他のコンテンツデータのヘッダ領域に記録されている情報を前記他のコンテンツデータのヘッダ領域から読み出して保持するよう制御することを特徴とする請求項１乃至８のいずれか１項に記載の通信装置。
【請求項１０】
前記制御手段は、前記通信手段を介して前記外部装置から一度の要求で複数のコンテンツデータの管理情報の要求を受け付けることが可能であり、
前記外部装置から複数のコンテンツデータの管理情報を要求するための要求を受信した場合、前記要求に応じて前記複数のコンテンツデータの管理情報を前記外部装置に送信するよう前記通信手段を制御すると共に、前記複数のコンテンツデータのヘッダ領域に記録されている情報を、それぞれのコンテンツデータのヘッダ領域から読み出して保持するよう制御することを特徴とする請求項１乃至９のいずれか１項に記載の通信装置。
【請求項１１】
前記複数のコンテンツデータのヘッダ領域の情報を保持している状態で、前記外部装置から別の複数のコンテンツデータの管理情報を要求するための要求を受信した場合、前記要求に応じて前記複数のコンテンツデータの管理情報を前記外部装置に送信するよう前記通信手段を制御すると共に、前記保持している複数のコンテンツデータのヘッダ領域の情報を破棄し、前記別の複数のコンテンツデータのヘッダ領域に記録されている情報を前記別の複数のコンテンツデータのヘッダ領域から読み出して保持するよう制御することを特徴とする請求項１０に記載の通信装置。
【請求項１２】
画像データと、前記画像データの管理情報とが記録されている記録媒体と接続する接続手段と、
外部装置と通信する通信手段と、
前記通信手段を介して、前記外部装置から前記画像データの縮小画像の要求を受信した場合、前記要求に応じて前記画像データの縮小画像を前記外部装置に送信するよう前記通信手段を制御すると共に、前記画像データのヘッダ領域に記録されている情報を読み出して保持するよう制御する制御手段とを有し、
前記外部装置から前記画像データのヘッダ領域に記録されている情報を要求された場合、前記制御手段は、該情報を読み出して保持しているか否かを判断し、保持している場合は、改めて前記記録媒体から読み出すことなく、保持している情報を送信するよう前記通信手段を制御することを特徴とする通信装置。
【請求項１３】
前記管理情報はディレクトリエントリ内の情報であることを特徴とする請求項１２に記載の通信装置。
【請求項１４】
前記外部装置との通信を切断する場合、前記保持した前記画像データのヘッダ領域に記録されている情報を破棄することを特徴とする請求項１２または１３に記載の通信装置。
【請求項１５】
前記画像データのヘッダ領域の情報が保持されている状態で、前記外部装置から、他の画像データに関する要求を受け付けた場合、前記制御手段は、前記保持した前記ヘッダ領域の情報を破棄し、前記他の画像データのヘッダ領域に記録されている情報を前記他の画像データのヘッダ領域から読み出して保持するよう制御することを特徴とする請求項１２乃至１４のいずれか１項に記載の通信装置。
【請求項１６】
外部装置と通信する通信手段を有する通信装置の制御方法であって、
コンテンツデータと、前記コンテンツデータの管理情報とが記録されている記録媒体と接続するステップと、
前記通信手段を介して、前記外部装置から前記コンテンツデータの管理情報の要求を受信した場合、前記要求に応じて前記コンテンツデータの管理情報を前記記録媒体から読み出して前記外部装置に送信するよう前記通信手段を制御すると共に、前記コンテンツデータのヘッダ領域に記録されている情報を読み出して保持するよう制御するステップと、
前記外部装置から前記コンテンツデータのヘッダ領域に記録されている情報を要求された場合、該情報を読み出して保持しているか否かを判断する判断ステップと、
前記判断ステップにて保持していると判断された場合は、改めて前記記録媒体から読み出すことなく、保持している情報を送信するよう制御するステップとを有する制御方法。
【請求項１７】
外部装置と通信する通信手段を有する通信装置の制御方法であって、
画像データと、前記画像データの管理情報とが記録されている記録媒体と接続する接続手段と、
前記通信手段を介して、前記外部装置から前記画像データの縮小画像の要求を受信した場合、前記要求に応じて前記画像データの縮小画像を前記外部装置に送信するよう前記通信手段を制御すると共に、前記画像データのヘッダ領域に記録されている情報を読み出して保持するよう制御するステップと、
前記外部装置から前記画像データのヘッダ領域に記録されている情報を要求された場合、該情報を読み出して保持しているか否かを判断する判断ステップと、
前記判断ステップにて保持していると判断された場合は、改めて前記記録媒体から読み出すことなく、保持している情報を送信するよう制御するステップとを有する制御方法。
【請求項１８】
コンピュータを、請求項１乃至１５のいずれか１項に記載の通信装置の各手段として機能させるための、コンピュータが読み取り可能なプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
外部装置と通信することができる通信装置に関する。
【背景技術】
【０００２】
近年、デジタルカメラと携帯電話とが無線で接続し、デジタルカメラの機能を携帯電話から利用することが行われている。例えば特許文献１にはデジタルカメラと携帯電話とが無線ＬＡＮを介して接続し、携帯電話を操作することでデジタルカメラに記録されている画像をリモートで閲覧するシステムが開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−１６２３０３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上述の特許文献１に開示されるシステムにおいては、単に画像あるいは画像のサムネイルを閲覧するだけでなく、デジタルカメラから画像データを携帯電話に取り込み、保存することも考えられる。そのような場合、保存する画像を決定するための基準として、例えば画像データのメタデータ（撮影日やデータサイズ等）を用いることが考えられる。すなわち、画像や画像のサムネイルを閲覧している状態で、その画像のメタデータを確認し、保存するかどうかをユーザが判断するという利用シーンが想定し得る。なお、メタデータを携帯電話側で確認するためには、デジタルカメラが画像データのヘッダを読み出して解析する必要があるため、ある程度の時間がかかる。例えば、画像データの一覧表示の際にメタデータも併せて表示する場合等のように、画像のヘッダを解析しなければならない回数が多くなる場合には、このヘッダ解析の時間によって十分な表示速度が得られず、スムーズな情報の表示ができない虞がある。
【０００５】
そこで本発明は、外部装置から要求される画像のヘッダの情報を、よりスムーズに外部装置に送信できるようにすることを目的とする。
【課題を解決するための手段】
【０００６】
コンテンツデータと、前記コンテンツデータの管理情報とが記録されている記録媒体と接続する接続手段と、外部装置と通信する通信手段と、前記通信手段を介して、前記外部装置から前記コンテンツデータの管理情報の要求を受信した場合、前記要求に応じて前記コンテンツデータの管理情報を前記記録媒体から読み出して前記外部装置に送信するよう前記通信手段を制御すると共に、前記コンテンツデータのヘッダ領域に記録されている情報を前記ヘッダ領域から読み出して保持するよう制御する制御手段とを有し、前記外部装置から前記コンテンツデータのヘッダ領域に記録されている情報を要求された場合、前記制御手段は、該情報を読み出して保持しているか否かを判断し、保持している場合は、改めて前記記録媒体から読み出すことなく、保持している情報を送信するよう前記通信手段を制御することを特徴とする通信装置。
【発明の効果】
【０００７】
外部装置から要求される画像のヘッダの情報を、よりスムーズに外部装置に送信できるようにすることができる。
【図面の簡単な説明】
【０００８】
【図１】（ａ）第１の実施形態におけるデジタルカメラのブロック図である。（ｂ）、（ｃ）は、第１の実施形態におけるデジタルカメラの外観図である。
【図２】第１の実施形態におけるスマートデバイスの構成を示すブロック図である。
【図３】（ａ）第１の実施形態におけるデジタルカメラが外部機器に公開するＡＰＩを示す図である。（ｂ）第１の実施形態における画像データの構造を示す概念図である。
【図４】第１の実施形態におけるシステムのシーケンス図である。
【図５】第１の実施形態におけるデジタルカメラの動作を示すフローチャートである。
【図６】第１の実施形態におけるスマートデバイスの動作を示すフローチャートである。
【図７】第２の実施形態におけるシステムのシーケンス図である。
【図８】第２の実施形態におけるデジタルカメラの動作を示すフローチャートである。
【図９】第２の実施形態におけるスマートデバイスの動作を示すフローチャートである。
【発明を実施するための形態】
【０００９】
以下に、本発明を実施するための形態について、添付の図面を用いて詳細に説明する。
【００１０】
なお、以下に説明する実施の形態は、本発明の実現手段としての一例であり、本発明が適用される装置の構成や各種条件によって適宜修正又は変更されてもよい。また、各実施の形態を適宜組み合せることも可能である。
【００１１】
［第１の実施形態］
＜デジタルカメラ１００の構成＞
図１（ａ）は、本実施形態の通信装置の一例であるデジタルカメラ１００の構成例を示すブロック図である。なお、ここでは通信装置の一例としてデジタルカメラについて述べるが、通信装置はこれに限られない。例えば通信装置は携帯型のメディアプレーヤや、いわゆるタブレットデバイス、パーソナルコンピュータなどの情報処理装置であってもよい。
【００１２】
制御部１０１は、入力された信号や、後述のプログラムに従ってデジタルカメラ１００の各部を制御する。なお、制御部１０１が装置全体を制御する代わりに、複数のハードウェアが処理を分担することで、装置全体を制御してもよい。
【００１３】
撮像部１０２は、例えば、光学レンズユニットと絞り・ズーム・フォーカスなど制御する光学系と、光学レンズユニットを経て導入された光（映像）を電気的な映像信号に変換するための撮像素子などで構成される。撮像素子としては、一般的には、ＣＭＯＳ（Ｃｏｍｐｌｅｍｅｎｔａｒｙ  Ｍｅｔａｌ  Ｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ）や、ＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ）が利用される。撮像部１０２は、制御部１０１に制御されることにより、撮像部１０２に含まれるレンズで結像された被写体光を、撮像素子により電気信号に変換し、ノイズ低減処理などを行いデジタルデータを画像データとして出力する。本実施形態のデジタルカメラ１００では、画像データは、ＤＣＦ（Ｄｅｓｉｇｎ  Ｒｕｌｅ  ｆｏｒ  Ｃａｍｅｒａ  Ｆｉｌｅ  ｓｙｓｔｅｍ）の規格に従って、記録媒体１１０に記録される。
【００１４】
不揮発性メモリ１０３は、電気的に消去・記録可能な不揮発性のメモリであり、制御部１０１で実行される後述のプログラム等が格納される。
【００１５】
作業用メモリ１０４は、撮像部１０２で撮像された画像データを一時的に保持するバッファメモリや、表示部１０６の画像表示用メモリ、制御部１０１の作業領域等として使用される。
【００１６】
操作部１０５は、ユーザがデジタルカメラ１００に対する指示をユーザから受け付けるために用いられる。操作部１０５は例えば、ユーザがデジタルカメラ１００の電源のＯＮ／ＯＦＦを指示するための電源ボタンや、撮影を指示するためのレリーズスイッチ、画像データの再生を指示するための再生ボタンを含む。さらに、後述の通信部１１１を介して外部機器との通信を開始するための専用の接続ボタンなどの操作部材を含む。また、後述する表示部１０６に形成されるタッチパネルも操作部１０５に含まれる。なお、レリーズスイッチは、ＳＷ１およびＳＷ２を有する。レリーズスイッチが、いわゆる半押し状態となることにより、ＳＷ１がＯＮとなる。これにより、ＡＦ（オートフォーカス）処理、ＡＥ（自動露出）処理、ＡＷＢ（オートホワイトバランス）処理、ＥＦ（フラッシュプリ発光）処理等の撮影準備を行うための指示を受け付ける。また、レリーズスイッチが、いわゆる全押し状態となることにより、ＳＷ２がＯＮとなる。これにより、撮影を行うための指示を受け付ける。
【００１７】
表示部１０６は、撮影の際のビューファインダー画像の表示、撮影した画像データの表示、対話的な操作のための文字表示などを行う。なお、表示部１０６は必ずしもデジタルカメラ１００が内蔵する必要はない。デジタルカメラ１００は内部又は外部の表示部１０６と接続することができ、表示部１０６の表示を制御する表示制御機能を少なくとも有していればよい。
【００１８】
記録媒体１１０は、撮像部１０２から出力された画像データをファイルとして記録することができる。なお、デジタルカメラ１００におけるファイル管理のためのシステムとしては、例えばＦＡＴ（Ｆｉｌｅ  Ａｌｌｏｃａｔｉｏｎ  Ｔａｂｌｅ）を採用することができる。記録媒体１１０は、デジタルカメラ１００に着脱可能なよう構成してもよいし、デジタルカメラ１００に内蔵されていてもよい。すなわち、デジタルカメラ１００は少なくとも記録媒体１１０にアクセスする記録制御手段を有していればよい。
【００１９】
通信部１１１は、外部装置と接続するためのインターフェイスである。本実施形態のデジタルカメラ１００は、通信部１１１を介して、外部装置とデータのやりとりを行うことができる。例えば、撮像部１０２で生成した画像データを、通信部１１１を介して外部装置に送信することができる。本実施形態では、通信部１１１は外部装置とＩＥＥＥ８０２．１１の規格に従った、いわゆる無線ＬＡＮで通信するためのインターフェイスを含み、制御部１０１は、通信部１１１を制御することで外部装置との無線ＬＡＮを介した通信を実現する。この無線ＬＡＮでの通信においては、外部装置とは、直接接続してもよいしアクセスポイントを介して接続してもよい。また、データを通信するためのプロトコルとしては、例えばＨＴＴＰ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）を用いることができる。そのほか、ＰＴＰ／ＩＰ（Ｐｉｃｔｕｒｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ  ｏｖｅｒ  Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）を用いることもできる。なお、通信方式は無線ＬＡＮに限定されるものではなく、例えば赤外線通信方式、Ｂｌｕｅｔｏｏｔｈ（登録商標）通信方式、ＷｉｒｅｌｅｓｓＵＳＢ等の無線通信方式などを採用することもできる。さらには、ＵＳＢケーブルやＨＤＭＩ（登録商標）、ＩＥＥＥ１３９４、Ｅｔｈｅｒｎｅｔ（登録商標）など、有線接続を採用してもよい。
【００２０】
近距離無線通信部１１２は、例えば無線通信のためのアンテナと無線信号を処理するため変復調回路や通信コントローラから構成される。近距離無線通信部１１２は、変調した無線信号をアンテナから出力し、またアンテナで受信した無線信号を復調することで近距離無線通信を実現する。ここでは、ＩＳＯ／ＩＥＣ  １８０９２の規格（いわゆるＮＦＣ：Ｎｅａｒ  Ｆｉｅｌｄ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ）に従った近距離無線通信を実現する。またその他、赤外線通信方式、Ｂｌｕｅｔｏｏｔｈ（登録商標）通信方式、ＷｉｒｅｌｅｓｓＵＳＢ等の無線通信方式などに従った近距離無線通信を採用してもよい。なお、近距離無線通信部１１２としてＢｌｕｅｔｏｏｔｈ（登録商標）通信方式を採用する場合、例えば低消費電力であるＢｌｕｅｔｏｏｔｈ（登録商標）  Ｌｏｗ  Ｅｎｅｒｇｙのバージョン４．０を採用することができる。このＢｌｕｅｔｏｏｔｈ（登録商標）通信は、無線ＬＡＮ通信と比べて通信可能な範囲が狭い（つまり、通信可能な距離が短い）。また、Ｂｌｕｅｔｏｏｔｈ（登録商標）通信は、無線ＬＡＮ通信と比べて通信速度が遅い。その一方で、Ｂｌｕｅｔｏｏｔｈ（登録商標）通信は、無線ＬＡＮ通信と比べて消費電力が少ない。
【００２１】
本実施形態の近距離無線通信部１１２は、デジタルカメラ１００の側部に配される。
【００２２】
本実施形態において、後述するスマートデバイス２００とは、通信部１１１より通信を開始して接続される。また、本実施形態におけるデジタルカメラ１００の通信部１１１は、インフラストラクチャモードにおけるアクセスポイントとして動作するＡＰモードと、インフラストラクチャモードにおけるクライアントとして動作するＣＬモードとを有している。そして、通信部１１１をＣＬモードで動作させることにより、本実施形態におけるデジタルカメラ１００は、インフラストラクチャモードにおけるクライアント機器（以下、ＣＬ機器）として動作することが可能である。デジタルカメラ１００がＣＬ機器として動作する場合、周辺のアクセスポイント機器（以下、ＡＰ機器）に接続することで、ＡＰ機器が形成するネットワークに参加することができる。また、通信部１１１をＡＰモードで動作させることにより、本実施形態におけるデジタルカメラ１００は、ＡＰの一種ではあるが、より機能が限定された簡易的なＡＰ（以下、簡易ＡＰ）として動作することも可能である。デジタルカメラ１００が簡易ＡＰとして動作すると、デジタルカメラ１００は自身でネットワークを形成する。デジタルカメラ１００の周辺の装置は、デジタルカメラ１００をＡＰ機器と認識し、デジタルカメラ１００が形成したネットワークに参加することが可能となる。上記のようにデジタルカメラ１００を動作させるためのプログラムは不揮発性メモリ１０３に保持されているものとする。
【００２３】
なお、本実施形態におけるデジタルカメラ１００はアクセスポイントの一種であるものの、ＣＬ機器から受信したデータをインターネットプロバイダなどに転送するゲートウェイ機能は有していない簡易ＡＰである。したがって、自機が形成したネットワークに参加している他の装置からデータを受信しても、それをインターネットなどのネットワークに転送することはできない。
【００２４】
次に、デジタルカメラ１００の外観について説明する。図１（ｂ）、図１（ｃ）はデジタルカメラ１００の外観の一例を示す図である。レリーズスイッチ１０５ａや再生ボタン１０５ｂ、方向キー１０５ｃ、タッチパネル１０５ｄは、前述の操作部１０５に含まれる操作部材である。また、表示部１０６には、撮像部１０２による撮像の結果得られた画像が表示される。
【００２５】
以上がデジタルカメラ１００の説明である。
【００２６】
＜スマートデバイス２００の構成＞
図２は、本実施形態の情報処理装置の一例であるスマートデバイス２００の構成例を示すブロック図である。なお、スマートデバイスとはスマートフォンやタブレットデバイスを意味する。なお、ここでは情報処理装置の一例としてスマートデバイスについて述べるが、情報処理装置はこれに限られない。例えば情報処理装置は、無線機能付きのデジタルカメラやプリンタ、テレビ、あるいはパーソナルコンピュータなどであってもよい。
【００２７】
制御部２０１は、入力された信号や、後述のプログラムに従ってスマートデバイス２００の各部を制御する。なお、制御部２０１が装置全体を制御する代わりに、複数のハードウェアが処理を分担することで、装置全体を制御してもよい。
【００２８】
撮像部２０２は、撮像部２０２に含まれるレンズで結像された被写体光を電気信号に変換し、ノイズ低減処理などを行い、デジタルデータを画像データとして出力する。撮像した画像データはバッファメモリに蓄えられた後、制御部２０１にて所定の演算を行い、記録媒体２１０に記録される。
【００２９】
不揮発性メモリ２０３は、電気的に消去・記録可能な不揮発性のメモリである。不揮発性メモリ２０３には、制御部２０１が実行する基本的なソフトウェアであるＯＳ（オペレーティングシステム）や、このＯＳと協働して応用的な機能を実現するアプリケーションが記録されている。また、本実施形態では、不揮発性メモリ２０３には、デジタルカメラ１００と通信するためのアプリケーション（以下アプリ）が格納されている。
【００３０】
作業用メモリ２０４は、表示部２０６の画像表示用メモリや、制御部２０１の作業領域等として使用される。
【００３１】
操作部２０５は、スマートデバイス２００に対する指示をユーザから受け付けるために用いられる。操作部２０５は例えば、ユーザがスマートデバイス２００の電源のＯＮ／ＯＦＦを指示するための電源ボタンや、表示部２０６に形成されるタッチパネルなどの操作部材を含む。
【００３２】
表示部２０６は、画像データの表示、対話的な操作のための文字表示などを行う。なお、表示部２０６は必ずしもスマートデバイス２００が備える必要はない。スマートデバイス２００は表示部２０６と接続することができ、表示部２０６の表示を制御する表示制御機能を少なくとも有していればよい。
【００３３】
記録媒体２１０は、撮像部２０２から出力された画像データを記録することができる。なお、スマートデバイス２００におけるファイル管理のためのシステムとしては、例えばＦＡＴを採用することができる。記録媒体２１０は、スマートデバイス２００に着脱可能なよう構成してもよいし、スマートデバイス２００に内蔵されていてもよい。すなわち、スマートデバイス２００は少なくとも記録媒体２１０にアクセスする手段を有していればよい。
【００３４】
通信部２１１は、外部装置と接続するためのインターフェイスである。本実施形態のスマートデバイス２００は、通信部２１１を介して、外部装置とデータのやりとりを行うことができる。例えば、撮像部２０２で生成した画像データを、通信部２１１を介して外部装置に送信することができる。本実施形態では、通信部２１１は外部装置とＩＥＥＥ８０２．１１の規格に従った、いわゆる無線ＬＡＮで通信するためのインターフェイスを含み、制御部２０１は、通信部２１１を制御することで外部装置との無線ＬＡＮを介した通信を実現する。この無線ＬＡＮでの通信においては、外部装置とは、直接接続してもよいしアクセスポイントを介して接続してもよい。また、データを通信するためのプロトコルとしては、例えばＨＴＴＰやＰＴＰ／ＩＰを用いることができる。なお、通信方式は無線ＬＡＮに限定されるものではなく、例えば赤外線通信方式、Ｂｌｕｅｔｏｏｔｈ（登録商標）通信方式、ＷｉｒｅｌｅｓｓＵＳＢ等の無線通信方式などを採用こともできる。さらには、ＵＳＢケーブルやＨＤＭＩ（登録商標）、ＩＥＥＥ１３９４、Ｅｔｈｅｒｎｅｔ（登録商標）など、有線接続を採用してもよい。
【００３５】
近距離無線通信部２１２は、例えば無線通信のためのアンテナと無線信号を処理するための変復調回路や通信コントローラから構成される。近距離無線通信部２１２は、変調した無線信号をアンテナから出力し、またアンテナで受信した無線信号を復調することにより非接触近距離通信を実現する。ここでは、ＩＳＯ／ＩＥＣ  １８０９２の規格（いわゆるＮＦＣ）に従った近距離無線通信を実現する。またその他、赤外線通信方式、Ｂｌｕｅｔｏｏｔｈ（登録商標）通信方式、ＷｉｒｅｌｅｓｓＵＳＢ等の無線通信方式などに従った近距離無線通信を採用してもよい。なお、近距離無線通信部１１２としてＢｌｕｅｔｏｏｔｈ（登録商標）通信方式を採用する場合、例えば低消費電力であるＢｌｕｅｔｏｏｔｈ（登録商標）  Ｌｏｗ  Ｅｎｅｒｇｙのバージョン４．０を採用することができる。このＢｌｕｅｔｏｏｔｈ（登録商標）通信は、無線ＬＡＮ通信と比べて通信可能な範囲が狭い（つまり、通信可能な距離が短い）。また、Ｂｌｕｅｔｏｏｔｈ（登録商標）通信は、無線ＬＡＮ通信と比べて通信速度が遅い。その一方で、Ｂｌｕｅｔｏｏｔｈ（登録商標）通信は、無線ＬＡＮ通信と比べて消費電力が少ない。
【００３６】
公衆網通信部２１３は、公衆無線通信を行う際に用いられるインターフェイスである。スマートデバイス２００は、公衆網通信部２１３を介して、他の機器と通話することができる。この際、制御部２０１はマイク２１４およびスピーカ２１５を介して音声信号の入力と出力を行うことで、通話を実現する。更に、本実施形態では、公衆網通信部２１３はＷ−ＣＤＭＡ（ＵＭＴＳ）やＬＴＥ（Ｌｏｎｇ  Ｔｅｒｍ  Ｅｖｏｌｕｔｉｏｎ）等の規格に従って公衆網に接続することができる。なお、通信部２１１および公衆網通信部２１３は、一つのアンテナで兼用することも可能である。
【００３７】
以上がスマートデバイス２００の説明である。
【００３８】
＜デジタルカメラを外部装置から制御するためのＡＰＩについて＞
図３（ａ）は、外部機器からデジタルカメラ１００を制御するためのＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）について説明するための図である。
【００３９】
デジタルカメラ１００は、スマートデバイス２００などの外部機器から制御するためのＡＰＩを公開しており、このＡＰＩを利用することで、外部装置の開発者は、簡単なコマンド指定のみで、様々な処理を手軽に実装することができる。例えば本実施形態では、このＡＰＩを通してデジタルカメラ１００の不揮発性メモリ１０３に記録されたデバイス情報や、デジタルカメラ１００の記録媒体１１０などに保存されたコンテンツファイルをデジタルカメラ１００から取得することができる。コンテンツファイルとは、デジタルカメラ１００が生成して記録媒体１１０や不揮発性メモリ１０３に保存するファイルのことであり、本実施形態では、静止画ファイルや動画ファイルのことを指す。なお、この他、例えば音声ファイル、音楽ファイル、ＨＴＭＬなどのマークアップ言語ファイル等を外部機器に提供できるようにしてもよい。以下では、説明を簡単にするために、主に静止画ファイルを例に挙げて説明する。
【００４０】
デジタルカメラ１００は、予め不揮発性メモリ１０３にＡＰＩをプログラムとして保存している。通信部１１１を介して、デジタルカメラ１００と外部機器との通信が確立すると、ＡＰＩを実行するためのプログラムを作業用メモリ１０４に展開し、外部装置からＡＰＩがリクエストされるのを待つ。制御部１０１が外部機器からＡＰＩがリクエストされたことを検知すると、ＡＰＩの種類に応じて処理を実行し、その結果をレスポンスとして外部機器に返却する。なお、ＡＰＩはデジタルカメラ１００が規定した通信プロトコル上で実行され、外部機器は規定された通信プロトコルを用いてデジタルカメラ１００と通信を行い、ＡＰＩをリクエストする。本実施形態では、ＨＴＴＰ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）上で本ＡＰＩが実行されることを想定して説明するが、他の通信プロトコル（例えばＰＴＰ／ＩＰ等）を採用してもよい。
【００４１】
ＨＴＴＰにおけるＡＰＩの実行方法については、基本的に以下の手順で実現される。すなわち、外部機器がＨＴＴＰリクエストボディにＡＰＩ名と必要な引数をテキストで記述し、ＧＥＴメソッドもしくはＰＯＳＴメソッドを用いてデジタルカメラ１００に送信することで、ＡＰＩの実行を要求する。これに対して、デジタルカメラ１００は、ＨＴＴＰレスポンスボディにその結果を付加して外部機器にレスポンスとして返却することで、ＡＰＩの実行結果を提供する。なお、以下の説明では、このＡＰＩを利用してリクエストを送信するための処理を実行することを、ＡＰＩをコールする、とも記載する。
【００４２】
図３（ａ）のＡＰＩリスト３００は、前述した仕組みで動作する、デジタルカメラ１００が提供するＡＰＩの種類とその説明を表にしたものである。なお、以下に挙げるＡＰＩは一例であり、デジタルカメラ１００を制御するＡＰＩとして、以下に挙げるＡＰＩ以外のものも提供されてもよい。
【００４３】
ＡＰＩ３０１は、デジタルカメラ１００の製品情報を取得するためのＡＰＩである。ＡＰＩ名「ＲｅｑｕｅｓｔＰｒｏｄｕｃｔＩｎｆｏ」を引数なしでデジタルカメラ１００にリクエストすると、レスポンスとしてデジタルカメラ１００の製品名、製造者名、ファームウェアバージョン、シリアルナンバーをデジタルカメラ１００から取得できる。なお、製品名とは、デジタルカメラ１００の製品名称である。製造者名とはデジタルカメラ１００のメーカー名称である。ファームウェアバージョンとは、不揮発性メモリ１０３に保存されたデジタルカメラ１００を制御するためのプログラムのバージョン番号である。シリアルナンバーとは、デジタルカメラ１００の個体識別が可能な一意の番号である。
【００４４】
ＡＰＩ３０２は、デジタルカメラ１００の保存領域の情報を取得するためのＡＰＩである。ＡＰＩ名「ＲｅｑｕｅｓｔＭｅｍｏｒｙＩｎｆｏ」をデジタルカメラ１００にリクエストすると、レスポンスとしてデジタルカメラ１００の保存領域ＩＤ、保存可能容量、空き容量、保存済みのコンテンツファイル数をデジタルカメラ１００から取得できる。このリクエストは引数なしで行われる。なお、保存領域ＩＤとは、デジタルカメラ１００で生成されるコンテンツファイルを保存可能な領域にそれぞれ割り振られたＩＤ（Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ）である。コンテンツファイルを保存可能な領域とは、例えば、デジタルカメラ１００の記録媒体１１０などであり、ＩＤはこの記録媒体１１０に割り振られる。もし記録媒体を複数挿入できる場合には、それぞれの記録媒体に異なるＩＤが割り振られる。保存可能容量とは、コンテンツファイルを保存できる保存領域の上限サイズである。空き容量とは、保存領域のうちコンテンツファイルが保存されていない領域のサイズである。保存済みのコンテンツ数とは、保存領域に保存されているコンテンツファイルの総数のことである。
【００４５】
ＡＰＩ３０３は、デジタルカメラ１００の保存領域に保存されているコンテンツＩＤとコンテンツファイルの管理情報を取得するためのＡＰＩである。なお、管理情報は、コンテンツが記録されるディレクトリ内のファイルやディレクトリの情報を管理するための管理領域（いわゆるディレクトリエントリと呼ばれる、ディレクトリ毎に確保される領域）内に記録されている。ＡＰＩ名「ＲｅｑｕｅｓｔＣｏｎｔｅｅｎｔＩｎｆｏ」と共に、ＡＰＩ３０２で取得した保存領域ＩＤ、コンテンツフォーマットの種類、取得要求数を指定してリクエストすると、レンポンスとして以下の情報をデジタルカメラ１００から取得できる。すなわち、デジタルカメラ１００の保存領域に保存されているコンテンツファイルのコンテンツＩＤ、ファイル名、ファイルサイズ、ファイル生成日時等である。なお、ここでいうコンテンツＩＤは、コンテンツファイルを個々に識別するために、デジタルカメラ１００の制御部１０１によって自動的に割り振られるＩＤである。なお、デジタルカメラ１００内のファイル管理のためのＩＤとは別に、ＡＰＩ３０３を利用するスマートデバイス２００との通信中に一時的に用いるためのＩＤを別途割り振り、それをコンテンツＩＤとして用いてもよい。
【００４６】
ＡＰＩ３０４は、デジタルカメラ１００の保存領域に保存されているコンテンツファイルを取得するためのＡＰＩである。ＡＰＩ名「ＲｅｑｕｅｓｔＣｏｎｅｎｔ」と共に、コンテンツＩＤとコンテンツサイズの種類を指定してリクエストすると、レスポンスとしてコンテンツファイルをデジタルカメラ１００から取得できる。なお、コンテンツサイズの種類としては、例えばオリジナルや縮小サイズ等を指定することができる。そして、デジタルカメラ１００は指定されたサイズに従ったコンテンツファイルを生成し外部装置へレスポンスとして返却する。本実施形態では、コンテンツサイズの種類として、例えば静止画ファイルをオリジナルのサイズで取得するのか、サムネイルサイズで取得するのかを指定できる。オリジナルを指定すれば、デジタルカメラ１００に記録されている画像データを取得する。サムネイルを指定すれば、デジタルカメラ１００に記録されている画像データのヘッダに記録されているサムネイルを取得する。
【００４７】
ＡＰＩ３０５は、デジタルカメラ１００の保存領域に保存されているコンテンツファイルの詳細情報（いわゆるメタデータ）を取得するＡＰＩである。ＡＰＩ名「ＲｅｑｕｅｓｔＣｏｎｔｅｎｔＤｅｔａｉｌＩｎｆｏ」と共に、コンテンツＩＤを引数としてリクエストすると、指定したコンテンツＩＤの詳細情報が取得できる。本実施形態における詳細情報とは、いわゆるメタデータであり、例えば静止画ファイルのＥｘｉｆ情報である。なお、Ｅｘｉｆ（Ｅｘｃｈａｎｇｅａｂｌｅ  ｉｍａｇｅ  ｆｉｌｅ  ｆｏｒｍａｔ）とは、ＪＥＩＤＡ（日本電子工業振興協会）が策定したデジタルカメラ用の画像メタデータのフォーマットである。Ｅｘｉｆ情報は、画像データのヘッダに記録されている情報であるため、内容を把握するためには画像データのヘッダの読出しと解析が必要である。なお、本ＡＰＩの実装により、カメラ側で画像のヘッダを解析して、スマートデバイス２００が解釈可能なフォーマットでメタデータを取得できるため、スマートデバイス２００側では画像のＥｘｉｆを解析する必要はない。すなわち、例えばＡＰＩ３０４の利用によって受信した画像データのＥｘｉｆを解析する機能を持っていなくとも、デジタルカメラ１００からメタデータを取得することで、メタデータを取得することができる。なお、画像データのヘッダの解析にはある程度の時間が必要である。故に、ディレクトリエントリに記録されている管理情報に比べて、データとして送信できるようになるまでの時間が長い。
【００４８】
ここで、本実施形態における画像データの構成について説明する。図３（ｂ）は、本実施形態での画像データの構成の概念図である。この画像データは、例えばデジタルカメラ１００により生成され、記録媒体１１０のデータ記録領域に記録されるものである。
【００４９】
本実施形態の画像ファイルのデータ構造は、画像ファイルの形式にＥｘｉｆ−ＪＰＥＧを用いるが、Ｅｘｉｆ−ＴＩＦＦやＲＡＷ画像、動画など、画像ファイルにメタデータが記録できるデータ構造になっている形式でもよい。
【００５０】
図３（ｂ）のＥｘｉｆ−ＪＰＥＧ３１０において、ＳＯＩ３１１は、Ｅｘｉｆ−ＪＰＥＧ３１０の開始を示すマーカーである。ＡＰＰ１  ３１２は、Ｅｘｉｆ−ＪＰＥＧ３１０のヘッダ部に相当するアプリケーションマーカである。データブロック３１３は、量子化テーブル（ＤＱＴ）、ハフマンテーブル（ＤＨＴ）、フレーム開始マーカー（ＳＯＦ）、スキャン開始マーカ（ＳＯＳ）で構成されるデータブロックである。Ｃｏｍｐｒｅｓｓｅｄ  Ｄａｔａ３１４は、本体画像の圧縮データである。ＥＯＩ３１５は、Ｅｘｉｆ−ＪＰＥＧ３１０の終端を示すマーカーである。
【００５１】
また、ＡＰＰ１  ３１２は、図３（ｂ）のデータブロック３１６〜３２２で示すように構成される。データブロック３１６は、ＡＰＰ１  ３１２のサイズを示すＡＰＰ１  Ｌｅｎｇｔｈ、ＡＰＰ１  ３１２の識別コードを示すＥｘｉｆ  Ｉｄｅｎｔｉｆｉｅｒ  Ｃｏｄｅで構成されるデータブロックである。０ｔｈ  ＩＦＤ３１７は、圧縮された本体画像に関する付属情報を記録するデータブロックである。例えば、撮像したデジタルカメラのモデル名の情報が含まれる。０ｔｈ  ＩＦＤ３１７の一部には、Ｅｘｉｆ  ＩＦＤ３１８とＧＰＳ  ＩＦＤ３２０のデータブロックが存在する。
【００５２】
Ｅｘｉｆ  ＩＦＤ３１８は、Ｅｘｉｆバージョンに関するタグ、画像データの特性や構造に関するタグ、撮像日時に関するタグ、シャッタースピードやレンズ焦点距離などが記録された撮像条件に関するタグなどで構成される。また、Ｅｘｉｆ  ＩＦＤ３１８には、ＭａｋｅｒＮｏｔｅ３１９のデータブロックが存在する。ＭａｋｅｒＮｏｔｅ３１９は、ファイルを生成したメーカ固有の情報が記録されている。例えば、時差情報や、撮像に用いられたデジタルカメラ１００のユニークな番号を表すシリアル番号などの情報が含まれる。このＭａｋｅｒＮｏｔｅ３１９に記載される情報は、メーカ毎に個別の仕様が採用されている。そのため、ＭａｋｅｒＮｏｔｅ３１９に記録されるデータのフォーマットの仕様が公開されていない限り、他のメーカの製品やアプリケーションからは、ＭａｋｅｒＮｏｔｅ３１９に記録されている情報を把握することは難しい。ＡＰＩ３０５は、このような問題を解決するためにも利用することができる。すなわち、ＡＰＩ３０５を利用すれば、ＭａｋｅｒＮｏｔｅ３１９の解析もデジタルカメラ１００が実行し、スマートデバイス２００が認識できる形でデータを取得することができる。そのため、ＡＰＩを利用する側の装置やアプリが、ＭａｋｅｒＮｏｔｅ３１９を解析する機能を備えていなくとも、ＭａｋｅｒＮｏｔｅ３１９に記録されている情報の内容を把握することができる。
【００５３】
ＧＰＳ  ＩＦＤ３２０は、ＧＰＳ情報に関するタグで構成される。その中には、本実施例で使用する緯度、経度といった位置情報や、衛星測位日時（ＵＴＣ）が記録される。
【００５４】
１ｓｔ  ＩＦＤ３２１は、サムネイル画像に関する付属情報を記録するデータブロックである。Ｔｈｕｍｂｎａｉｌ３２２は、サムネイルの画像データである。
【００５５】
以上が、本実施形態の画像データの構造の説明である。
【００５６】
＜システムのシーケンス＞
次に、本実施形態におけるデジタルカメラ１００とスマートデバイス２００とが協働して実現する画像データの閲覧手順について説明する。
【００５７】
図４は、本実施形態におけるデジタルカメラ１００とスマートデバイス２００とが協働して実現するデータの閲覧手順を示すシーケンス図である。
【００５８】
まず、ステップＳ４０１において、デジタルカメラ１００およびスマートデバイス２００は、互いに通信パラメータを共有し、互いに同一のネットワークに参加する。ここで両機器が参加するネットワークは、両機器とは異なる他の機器であるアクセスポイントが生成したものであってもよいし、両機器のどちらかが簡易ＡＰとして動作して生成してもよい。本実施形態では、デジタルカメラ１００が簡易ＡＰとして動作して無線ＬＡＮネットワークを形成する場合を例に挙げて説明する。デジタルカメラ１００は簡易ＡＰとして動作すると、ビーコン信号の定期的な送信を開始する。一方スマートデバイス２００にてメニュー操作により接続開始が指示されると、スマートデバイス２００はビーコン信号を検知し、デジタルカメラ１００が形成した無線ＬＡＮネットワークに参加する。なお、通信パラメータの共有は、各機器をユーザが操作することで（例えばスマートデバイス２００でのＳＳＩＤの選択や、デジタルカメラ１００での無線ＬＡＮ機能の起動を指示するメニュー操作等）実現する。あるいは、近距離無線通信を介してデジタルカメラ１００からスマートデバイス２００にＳＳＩＤやパスワードを送信することで共有してもよい。この場合、近距離無線通信でのＳＳＩＤやパスワードの共有に応じて無線ＬＡＮ機能を自動的に起動するように構成される。
【００５９】
次に、ステップＳ４０２において、デジタルカメラ１００およびスマートデバイス２００は、機器発見プロトコルによりお互いのデバイスを発見し、データ通信を行うためのプロトコル接続をすることにより機器同士の接続が完了する。互いのデバイスの発見には、例えばＵＰｎＰ（Ｕｎｉｖｅｒｓａｌ  Ｐｌｕｇ  Ａｎｄ  Ｐｌａｙ）や、ｍＤＮＳ（Ｍｕｌｔｉｃａｓｔ  Ｄｏｍａｉｎ  Ｎａｍｅ  Ｓｅｒｖｉｃｅ）などのプロトコルを用いる。また、データ通信を行うためのプロトコルとしては、例えば、ＰＴＰ／ＩＰを採用することができる。
【００６０】
次に、ステップＳ４０３において、スマートデバイス２００は、デジタルカメラ１００に対して、製品情報を取得するＲｅｑｕｅｓｔＰｒｏｄｕｃｔＩｎｆｏ  ＡＰＩをコールする。すなわち、デジタルカメラ１００に対して製品情報を要求する。
【００６１】
これに対し、ステップＳ４０４においてデジタルカメラ１００は、図３（ａ）に示すＲｅｑｕｅｓｔＰｒｏｄｕｃｔＩｎｆｏに応じた処理を行い、結果をスマートデバイス２００に対して返却する。ここでは、デジタルカメラ１００は、要求の受信に応じて不揮発性メモリ１０３に記録されている製品名、製造者名、ファームウェアバージョン、シリアルナンバーなどを読み出し、スマートデバイス２００に製品情報として送信する。
【００６２】
続くステップＳ４０５において、スマートデバイス２００は、デジタルカメラ１００に対して、保存領域の情報を取得するＲｅｑｕｅｓｔＭｅｍｏｒｙＩｎｆｏ  ＡＰＩをコールする。すなわち、デジタルカメラ１００に対して保存領域の情報を要求する。
【００６３】
これに対し、ステップＳ４０６においてデジタルカメラ１００は、図３（ａ）に示すＲｅｑｕｅｓｔＭｅｍｏｒｙＩｎｆｏに応じた処理を行い、結果をスマートデバイス２００に対して返却する。具体的には、デジタルカメラ１００は保存領域の情報として、保存領域ＩＤ、保存可能容量、空き容量、保存済みコンテンツ数などをスマートデバイス２００に送信する。
【００６４】
次に、ステップＳ４０７において、スマートデバイス２００はサムネイル一覧を表示するために、デジタルカメラ１００に保存されている画像の管理情報を取得するＲｅｑｕｅｓｔＣｏｎｔｅｎｔＩｎｆｏ  ＡＰＩをコールする。すなわち、デジタルカメラ１００に対して、保存されている画像の管理情報を要求する。なお、本ステップでのＲｅｑｕｅｓｔＣｏｎｔｅｎｔＩｎｆｏ  ＡＰＩのコールにおいては、ステップ４０６で取得した保存領域の情報を引数に利用する。また、ステップＳ４０７の処理は、ステップＳ４０６の完了に応じて自動的に実行されてもよいし、例えばユーザの操作によって、サムネイル一覧を表示するための指示を受け付けたことに応じて実行されてもよい。図４では、ユーザからの指示に応じて実行される場合を例示する。
【００６５】
次に、この要求に対し、ステップＳ４０８でデジタルカメラ１００は、図３（ａ）に示すＲｅｑｕｅｓｔＣｏｎｔｅｎｔＩｎｆｏに応じた処理を行い、結果をスマートデバイスに対して返却する。具体的には、デジタルカメラ１００はコンテンツＩＤ、コンテンツファイル名、コンテンツファイルサイズ、コンテンツ生成日時などを、画像が保存されているディレクトリのディレクトリエントリから読み出し、スマートデバイス２００に送信する。
【００６６】
ステップＳ４０７とステップＳ４０８の処理は、スマートデバイス２００の表示部２０６に表示するサムネイルの数だけ繰り返される。図４では、後述のステップによって取得されたサムネイルが一画面に１５つ表示される例を示している。この場合、ステップＳ４０７とステップＳ４０８は１５回繰り返され、一画面に表示するサムネイルに対応する画像の管理情報を取得する。なお、一度のＲｅｑｕｅｓｔＣｏｎｔｅｎｔＩｎｆｏ  ＡＰＩのコールで、複数の管理情報を取得できるようにしてもよい。この場合、ＲｅｑｕｅｓｔＣｏｎｔｅｎｔＩｎｆｏ  ＡＰＩの引数には、取得する管理情報の範囲を指定する。具体的には、取得対象範囲１−１５のように指定する。このように指定した場合、デジタルカメラ１００側が所定の順番で管理する各画像の管理情報のうち１番目の画像の管理情報から１５番目の画像の管理情報までの１５の管理情報がレスポンスとして返される。例えば、画像の生成順に管理情報が返される。
【００６７】
この管理情報がスマートデバイス２００に取得されるということは、画像ＩＤを取得されることに等しい。すなわち、画像ＩＤを引数として用いるリクエストが実行される可能性が生じることになる。例えば、所定の画像の詳細情報をリクエストされる可能性が生じる。そこで、本実施形態の、デジタルカメラ１００は、ステップＳ４０４の要求を受け付けたことに応じて、ステップＳ４０９の処理を実行する。
【００６８】
ステップＳ４０９では、デジタルカメラ１００は、ステップＳ４０７で管理情報を要求された画像の詳細情報を、画像のヘッダ領域を解析して読み出し、作業用メモリ１０４に保持する。一度に複数の管理情報を要求される場合には、本ステップでも複数の詳細情報を保持する。これにより、後にスマートデバイス２００から画像の詳細情報を要求された際に、画像の詳細情報の解析と読み出しを行わずとも、スマートデバイス２００に画像の詳細情報を送信することができる。すなわち、指示を受けてから、詳細情報をスマートデバイス２００に送信するまでの時間を短縮することができる。
【００６９】
次に、ステップＳ４１０において、スマートデバイス２００は、ステップＳ４０８でデジタルカメラ１００から受信した画像の管理情報に基づき、表示するサムネイルを取得するためのＲｅｑｕｅｓｔＣｏｎｔｅｎｔ  ＡＰＩをコールする。すなわち、スマートデバイス２００は管理情報を取得した画像のＩＤを引数に用いて、画像のサムネイルをデジタルカメラ１００に要求する。
【００７０】
これに対し、ステップＳ４１１でデジタルカメラ１００は、図３（ａ）に示すＲｅｑｕｅｓｔＣｏｎｔｅｎｔに応じた処理を行い、サムネイルデータをスマートデバイス２００に対して返却する。すなわち、コールされたＡＰＩの引数に含まれる画像のＩＤに基づき決定される画像のヘッダを解析してサムネイルデータを読み出し、スマートデバイス２００に送信する。
【００７１】
更に、ステップＳ４１２においてスマートデバイス２００は、ステップＳ４１０で要求したサムネイルに対応する画像の詳細情報を取得するＲｅｑｕｅｓｔＣｏｎｔｅｎｔＤｅｔａｉｌＩｎｆｏ  ＡＰＩをコールする。すなわち、ステップＳ４１０で要求したサムネイルに対応する画像ＩＤを引数に利用して、その画像ＩＤで特定される画像の詳細情報をデジタルカメラ１００に要求する。
【００７２】
これに対し、ステップＳ４１３でデジタルカメラ１００は、図３（ａ）に示すＲｅｑｕｅｓｔＣｏｎｔｅｎｔＤｅｔａｉｌＩｎｆｏに応じた処理を行い、画像の詳細情報をスマートデバイス２００に対して返却する。なお、ここで要求される詳細情報は、ステップＳ４０９で既に解析して読み出し済みであるため、ステップＳ４１２の要求を受け付けてから解析と読み出しを開始する場合よりも速くスマートデバイス２００に詳細情報を送信することができる。
【００７３】
ステップＳ４１０〜ステップＳ４１３の処理は、ステップＳ４０７〜ステップＳ４０８を繰り返した回数と同じ回数繰り返される。また、ステップＳ４１０〜ステップＳ４１３の処理によって取得されるサムネイルと詳細情報は、処理の繰り返しの完了を待つことなく、スマートデバイス２００の表示部２０６に順次表示される。この結果、例えばスマートデバイス２００の表示部２０６には、画面４２１のようなサムネイルおよびメタデータ一覧が表示されることになる。表示するメタデータとしては、撮影モードや撮影日時、Ａｖ値、Ｔｖ値、ＩＳＯ値などがあげられる。
【００７４】
なお、この画面４２１に表示されるサムネイルに対応する画像以外の画像に関する管理情報やサムネイル、詳細情報については、他のサムネイルの表示指示が入力されたときに、改めてステップＳ４０７〜ステップＳ４１３の処理を実行して取得すればよい。なお、サムネイル一覧画面で、例えばタッチパネルへのタッチ操作によって、他のサムネイルを閲覧するための指示を入力することができるものとする。サムネイル一覧の更新については、例えば、上向きのドラッグ操作やフリック操作に応じて、現在表示中のサムネイルは上向きにスクロールアウトしていき、新たに、次のサムネイル群が下からスクロールインしてくるような表示態様で画面が更新される。この際に、ステップＳ４０７〜Ｓ４１３の処理によって、次のサムネイル群の管理情報とサムネイル、および詳細情報を取得する。また、本実施形態の動作においては、ステップＳ４０９で保持した詳細情報は、この新たなサムネイルの表示に伴う、再度のステップＳ４０７でのＲｅｑｕｅｓｔＣｏｎｔｅｎｔＩｎｆｏの受信に応じて、一旦作業用メモリ１０４から削除される。そして、新たにステップＳ４０９の実行により、新たなサムネイルに対応する画像の詳細情報が保持される。なお、この一旦保持した詳細情報を削除するタイミングは、上記のタイミングに限られない。例えば、本実施形態においてステップＳ４０９で保持した詳細情報は、基本的には全てステップＳ４１３でスマートデバイス２００に送信される。そのため、スマートデバイス２００への送信が完了したものから順次削除してもよい。
【００７５】
また、この画面が表示されている状態において、ユーザは操作部２０５を介して、いずれかのサムネイルを選択して、本画像を確認することができる。以下の説明では、操作部２０５としてタッチパネルを採用した場合の操作を例に挙げて説明する。
【００７６】
ステップＳ４１４にてスマートデバイス２００は、画面４２１に表示されるサムネイルのうちのいずれかの画像のプレビュー表示を行うための指示を受け付ける。例えばユーザは、サムネイルの表示領域を一定時間以上タッチする（いわゆる長押し）ことで、サムネイルに対応する本画像を表示させるための指示を入力することができる。なお、長押しの操作は一例であり、他の操作でもよい。例えば、サムネイルのタップ、ダブルタップ（所定時間以内に二回のタップを行う操作）、二本の指でのタップ等の操作を採用することができる。
【００７７】
さて、画像のプレビュー表示を行うための指示を受け付けたスマートデバイス２００は、ステップＳ４１５にて、指示された画像のＩＤを引数に用いて、ＲｅｑｕｅｓｔＣｏｎｔｅｎｔ  ＡＰＩをコールする。ここでは、画像サイズの引数は「オリジナル」を示す値が利用される。
【００７８】
これに対し、ステップＳ４１６でデジタルカメラ１００は、図３（ａ）に示すＲｅｑｕｅｓｔＣｏｎｔｅｎｔに応じた処理を行い、画像データをスマートデバイス２００に対して返却する。すなわち、要求に含まれる画像ＩＤに対応する画像データをスマートデバイス２００に送信する。
【００７９】
これを受け取ったスマートデバイス２００は、デジタルカメラ１００から受信した画像データをもとに、ディスプレイに選択された画像のプレビュー表示を行う。この結果、例えばスマートデバイス２００の表示部２０６には、画面４２２のように一枚の画像が一画面に表示される。
【００８０】
以上が、本実施形態におけるデジタルカメラ１００とスマートデバイス２００とが協働して実現する画像データの閲覧手順の説明である。
【００８１】
＜デジタルカメラ１００の動作＞
続いて、図４の手順を実現するための、デジタルカメラ１００の動作について説明する。図５は本実施形態におけるデジタルカメラ１００の動作を示すフローチャートである。このフローチャートにおける各処理は、制御部１０１が、不揮発性メモリ１０３に格納されたプログラムを作業用メモリ１０４に展開して実行することにより実現される。また、本フローチャートの処理は、例えばユーザのメニュー操作等によってスマートデバイス２００との無線ＬＡＮの通信を確立する指示を受け付けたことに応じて開始される。
【００８２】
まずステップＳ５０１にて、制御部１０１は通信部１１１を介して、スマートデバイス２００との無線ＬＡＮ通信を確立したか否かを判断する。無線ＬＡＮ通信の確立とは、デジタルカメラ１００に対して無線ＬＡＮの通信を開始する指示が入力され、ネットワークの生成、ネットワーク内の機器検索を経て、スマートデバイス２００との機器同士の通信を確立することを意味する。無線ＬＡＮ通信を確立していないと判断された場合、本ステップの処理を繰り返し、無線ＬＡＮ通信の確立を待つ。一方、無線ＬＡＮ通信を確立したと判断された場合、処理はステップＳ５０２に進む。本ステップの処理は図４のステップＳ４０１、Ｓ４０２に相当する。
【００８３】
次に、ステップＳ５０２にて、制御部１０１は通信部１１１を介して、スマートデバイス２００から、デジタルカメラ１００の製品情報を取得するためのリクエストＲｅｑｕｅｓｔＰｒｏｄｕｃｔＩｎｆｏを受信したか否かを判断する。受信したと判断した場合、処理はステップＳ５０３に進む。受信していないと判断した場合、ステップＳ５０３を経ることなくステップＳ５０４に進む。
【００８４】
ステップＳ５０３では、制御部１０１は、要求の受信に応じて不揮発性メモリ１０３に記録されている製品名、製造者名、ファームウェアバージョン、シリアルナンバーなどを読み出し、レスポンスとしてスマートデバイス２００に送信する。本ステップの処理は図４のステップＳ４０４に相当する。
【００８５】
次に、ステップＳ５０４にて、制御部１０１は通信部１１１を介して、スマートデバイス２００からデジタルカメラ１００の保存領域の情報を取得するためのリクエストＲｅｑｕｅｓｔＭｅｍｏｒｙＩｎｆｏを受信したか否かを判断する。受信したと判断した場合、処理はステップＳ５０５に進む。受信していないと判断した場合、ステップＳ５０５を経ることなくステップＳ５０６に進む。
【００８６】
ステップＳ５０５では、制御部１０１は、要求の受信に応じて、保存領域ＩＤ、保存可能容量、空き容量、保存済みコンテンツ数などをＲｅｑｕｅｓｔＭｅｍｏｒｙＩｎｆｏに対するレスポンスとしてスマートデバイス２００に通信部１１１を介して送信する。本ステップの処理は図４のステップＳ４０６に相当する。
【００８７】
ステップＳ５０６では、制御部１０１は通信部１１１を介して、スマートデバイス２００から、デジタルカメラ１００に保存されている画像の管理情報を取得するためのリクエストＲｅｑｕｅｓｔＣｏｎｔｅｎｔＩｎｆｏを受信したか否かを判断する。受信したと判断した場合、処理はステップＳ５０７に進む。受信していないと判断した場合、処理はステップＳ５１１に進む。ステップＳ５１１については後述する。
【００８８】
ステップＳ５０７では、制御部１０１は、作業用メモリ１０４に保持している画像の詳細情報を消去する。この時点で作業用メモリ１０４に画像の詳細情報が保持されている場合としては、例えば一旦スマートデバイス２００にサムネイル一覧が表示されている状態で、新たなサムネイル群の表示が指示された場合が考えられる。なお、画像の詳細情報を保持していない場合は、本ステップの処理はスキップされる。また、ステップＳ５０６で、既に詳細情報を保持している画像の管理情報がリクエストされた場合には、管理情報をリクエストされた画像の詳細情報は削除しない。例えばＲｅｑｕｅｓｔＣｏｎｔｅｎｔＩｎｆｏの範囲指定の引数に１−１５が指定され、一旦１番目から１５番目の画像の詳細情報がそれぞれ保持された状態を考える。この状態で更に、範囲指定の引数に１０−２５と指定されたＲｅｑｕｅｓｔＣｏｎｔｅｎｔＩｎｆｏを受信した場合、１０番目から１５番目の画像の詳細情報は既に保持していることになる。このような場合に１０番目から１５番目の画像の詳細情報は、削除しないよう制御する。
【００８９】
ステップＳ５０８にて、制御部１０１は記録媒体１１０に保存されている管理情報のうち、指示された分の画像の管理情報をディレクトリエントリから読み出すと共に、画像の詳細情報を画像のヘッダを解析して読み出す。
【００９０】
次いで、ステップＳ５０９にて、制御部１０１は、ステップＳ５０８で読み込んだ画像の詳細情報を作業用メモリ１０４に保持する。このように、管理情報を取得したことで、要求される可能性が生じる詳細情報を予め読み出しておくことで、詳細情報が要求された場合のレスポンス速度を速める。ステップＳ５０８、ステップＳ５０９の処理は図４のステップＳ４０９に相当する。
【００９１】
次いでステップＳ５１０にて、制御部１０１は、ステップＳ５０８で読みだした管理情報をＲｅｑｕｅｓｔＣｏｎｔｅｎｔＩｎｆｏに対するレスポンスとして、通信部１１１を介してスマートデバイス２００に送信する。なお、ステップＳ５１０とステップＳ５０９の処理は前後してもよい。また、並行して実行されてもよい。本ステップの処理は図４のステップＳ４０８に相当する。
【００９２】
次に、ステップＳ５１１にて、制御部１０１は通信部１１１を介して、スマートデバイス２００から画像のサムネイル取得要求を受信したか否かを判断する。具体的には、ＴＨＵＭＢＮＡＩＬを引数としたＲｅｑｕｅｓｔＣｏｎｔｅｎｔを受信したか否かを判断する。受信したと判断した場合、処理はステップＳ５１２に進む。受信していないと判断した場合、処理はステップＳ５１４に進む。ステップＳ５１４については後述する。
【００９３】
ステップＳ５１２にて、制御部１０１は要求された画像のヘッダを解析し、サムネイルを読み出す。
【００９４】
次いで、ステップＳ５１３にて、制御部１０１は通信部１１１を介して、スマートデバイスにステップＳ５１２で読みだした画像のサムネイルをＲｅｑｕｅｓｔＣｏｎｔｅｎｔに対するレスポンスとして送信する。本ステップの処理は図４のステップＳ４１１に相当する。
【００９５】
次に、ステップＳ５１４にて、制御部１０１は通信部１１１を介して、画像の詳細情報の取得要求を受信したか否かを判断する。具体的には、ＲｅｑｕｅｓｔＣｏｎｔｅｎｔＤｅｔａｉｌＩｎｆｏを受信したか否かを判断する。受信したと判断した場合、処理はステップＳ５１５に進む。受信していないと判断した場合、処理はステップＳ５１８に進む。ステップＳ５１８については後述する。
【００９６】
ステップＳ５１５にて、制御部１０１は作業用メモリ１０４に、スマートデバイス２００から要求された画像のメタデータを保持しているか否かを判断する。保持していないと判断した場合、ステップＳ５１６にて画像のヘッダを解析してメタデータを読み出す。保持している場合は、ステップＳ５１６を経ることなくステップＳ５１７に進む。
【００９７】
ステップＳ５１７では、制御部１０１は通信部１１１を介して、スマートデバイス２００に要求された画像の詳細情報を、ＲｅｑｕｅｓｔＣｏｎｔｅｎｔＤｅｔａｉｌＩｎｆｏに対するレスポンスとして送信する。本ステップの処理は図４のステップＳ４１３に相当する。ここで、ステップＳ５１６を経ることなくステップＳ５１７が実行される場合は、既に保持済みの詳細情報を送信すればよい。この場合、ステップＳ５１６を実行する必要が無いため、ステップＳ５１６を実行する場合に比べて、要求の受け付けからのメタデータ送信までの時間を短縮することができる。
【００９８】
次に、ステップＳ５１８にて、制御部１０１は通信部１１１を介して、画像取得要求を受信したか否かを判断する。具体的にはＯＲＩＧＩＮＡＬを引数としたＲｅｑｕｅｓｔＣｏｎｔｅｎｔを受信したか否かを判断する。受信したと判断した場合、処理はステップＳ５１９に進む。受信していないと判断した場合、処理はステップＳ５２１に進む。ステップＳ５２１については後述する。
【００９９】
ステップＳ５１９にて、制御部１０１は記録媒体１１０からスマートデバイス２００から要求された画像を読み出す。
【０１００】
次いで、ステップＳ５２０にて、制御部１０１は通信部１１１を介して、スマートデバイス２００にステップＳ５１９にて読み出した画像を、ＲｅｑｕｅｓｔＣｏｎｔｅｎｔに対するレスポンスとして送信する。本ステップの処理は図４のステップＳ４１６に相当する。
【０１０１】
次に、ステップＳ５２１にて、制御部１０１はスマートデバイス２００との無線ＬＡＮ通信が切断されたか否かを判断する。なお、無線ＬＡＮ通信が切断する場合としては、ユーザによって明示的に切断の指示を受け付けた場合や、スマートデバイス２００からの信号が一定時間以上受信できない場合等が考えられる。ここで、無線ＬＡＮ通信が切断していないと判断された場合、処理はステップＳ５０２に戻る。一方、無線ＬＡＮ通信が切断したと判断された場合、制御部２０１はステップＳ５０９で保持しておいた詳細情報を削除した上で本フローチャートの処理を終了する。
【０１０２】
以上が本実施形態におけるデジタルカメラ１００の動作の説明である。
【０１０３】
＜スマートデバイス２００の動作＞
次に、図４の手順を実現するための、スマートデバイス２００の動作について説明する。図５は本実施形態におけるスマートデバイス２００の動作を示すフローチャートである。このフローチャートにおける各処理は、制御部２０１が、不揮発性メモリ２０３に格納されたプログラムを作業用メモリ２０４に展開して実行することにより実現される。また、本フローチャートの処理は、例えばユーザのメニュー操作等によってデジタルカメラ１００との無線ＬＡＮの通信を確立する指示を受け付けたことに応じて開始される。
【０１０４】
まずステップＳ６０１にて、制御部２０１は通信部２１１を介して、デジタルカメラ１００との無線ＬＡＮ通信を確立したか否かを判断する。無線ＬＡＮ通信の確立とは、無線ＬＡＮの通信を開始する指示が入力され、デジタルカメラ１００が生成しているネットワークへの参加、ネットワーク内の機器検索を経て、デジタルカメラ１００との機器同士の通信を確立することを意味する。無線ＬＡＮ通信を確立していないと判断された場合、本ステップの処理を繰り返し、無線ＬＡＮ通信の確立を待つ。一方、無線ＬＡＮ通信を確立したと判断された場合、処理はステップＳ６０２に進む。本ステップの処理は図４のステップＳ４０１、Ｓ４０２に相当する。
【０１０５】
次に、ステップＳ６０２にて、制御部２０１は通信部２１１を介して、デジタルカメラ１００の製品情報を取得するためのリクエストＲｅｑｕｅｓｔＰｒｏｄｕｃｔＩｎｆｏをデジタルカメラ１００に送信する。ここで送信した情報は、デジタルカメラ１００における図５のステップＳ５０２の処理によって受信される。本ステップの処理は図４のステップＳ４０３に相当する。
【０１０６】
ステップＳ６０３では、制御部２０１は、ステップＳ６０２で送信した要求に対する応答を受信したか否かを判断する。受信していないと判断した場合は、本ステップの処理を繰り返して受信を待つ。受信したと判断した場合、処理はステップＳ６０４に進む。なお、受信される情報は、デジタルカメラ１００の製品名、製造者名、ファームウェアバージョン、シリアルナンバーなどを含む。これらの情報は、表示部２０６に表示することでユーザに製品名等の情報の提示や、製品の特性を判断するために用いられる。
【０１０７】
ステップＳ６０４にて、制御部２０１は通信部２１１を介して、デジタルカメラ１００に保存領域の情報を取得するための要求を送信する。具体的には、ＲｅｑｕｅｓｔＭｅｍｏｒｙＩｎｆｏを送信する。ここで送信した情報は、デジタルカメラ１００における図５のステップＳ５０４の処理によって受信される。本ステップの処理は図４のステップＳ４０５に相当する。
【０１０８】
ステップＳ６０５では、制御部２０１は、ステップＳ６０４で送信した要求に対する応答を受信したか否かを判断する。受信していないと判断した場合は、本ステップの処理を繰り返して受信を待つ。受信したと判断した場合、処理はステップＳ６０６に進む。なお、受信される情報は、保存領域ＩＤ、保存可能容量、空き容量、保存済みコンテンツ数などを含む。これらの情報により、スマートデバイス２００はデジタルカメラ１００の記録媒体１１０に保存されているコンテンツの数や、ストレージにアクセスするための保存領域のＩＤを認識することができる。そして、コンテンツの数を認識することで、表示部２０６の表示領域をどの程度確保する必要があるかなど判断することができる。
【０１０９】
次に、ステップＳ６０６にて、制御部２０１は操作部２０５を介して、ユーザからサムネイル一覧を表示する指示を受け付けたか否かを判断する。受け付けたと判断した場合は、処理はステップＳ６０７に進む。受け付けていないと判断した場合は、処理はステップＳ６１６に進む。ステップＳ６１６については後述する。
【０１１０】
ステップＳ６０７では、制御部２０１は通信部２１１を介して、デジタルカメラ１００に表示部２０６に表示可能な数の管理情報取得要求を行う。具体的には、ＲｅｑｕｅｓｔＣｏｎｔｅｎｔＩｎｆｏをデジタルカメラ１００に送信する。ここで、ＲｅｑｕｅｓｔＣｏｎｔｅｎｔＩｎｆｏの引数には、ステップＳ６０５にて取得した保存領域のＩＤを指定する。本ステップの処理は図４のステップＳ４０７に相当する。
【０１１１】
次いで、ステップＳ６０８にて、制御部２０１は通信部２１１を介して、デジタルカメラ１００からの管理情報の取得が完了したか否かを判断する。完了していないと判断した場合、本ステップの処理を繰り返して完了を待つ。完了したと判断した場合、処理はステップＳ６０９に進む。ここで、管理情報として取得する情報は、コンテンツＩＤを含む。このコンテンツＩＤは、デジタルカメラ１００に対して、本画像や詳細情報を要求する際に、画像を特定するための情報である。
【０１１２】
ステップＳ６０９にて、制御部２０１は通信部２１１を介して、デジタルカメラ１００に画像のサムネイル取得要求を行う。具体的には、画像サイズの引数にＴＨＵＭＢＮＡＩＬを用いたＲｅｑｕｅｓｔＣｏｎｔｅｎｔをデジタルカメラ１００に送信する。本ステップの処理は図４のステップＳ４１１に相当する。
【０１１３】
ステップＳ６１０にて、制御部２０１は通信部２１１を介して、ステップＳ６０９で要求したサムネイルの取得が完了したか否かを判断する。完了していないと判断した場合、本ステップの処理を繰り返して完了を待つ。完了したと判断した場合、処理はステップＳ６１１に進む。
【０１１４】
ステップＳ６１１にて、制御部２０１は表示部２０６に画像のサムネイルを表示する。
【０１１５】
次いで、ステップＳ６１２にて、制御部２０１は通信部２１１を介して、デジタルカメラ１００に画像の詳細情報取得要求を行う。具体的には、ステップＳ６０９で要求したサムネイルに対応する画像の画像ＩＤを引数に用いたＲｅｑｕｅｓｔＣｏｎｔｅｎｔＤｅｔａｉｌＩｎｆｏを送信する。本ステップの処理は図４のステップＳ４１３に相当する。
【０１１６】
次に、ステップＳ６１３にて、制御部２０１は通信部２１１を介して、デジタルカメラ１００から詳細情報の取得が完了したか否かを判断する。完了していないと判断した場合、本ステップの処理を繰り返して完了を待つ。完了したと判断した場合、処理はステップＳ６１４に進む。
【０１１７】
ステップＳ６１４では、制御部２０１は、ステップＳ６１３で受信した詳細情報を表示部２０６に表示する。ここで、デジタルカメラ１００から取得する画像の詳細情報には、撮影した画像の絞りやシャッタースピードなどの詳細情報を含む。ユーザは、この情報を参照して、例えばプレビュー表示したい画像やスマートデバイス２００に取り込みたい画像を選ぶことができる。
【０１１８】
次いで、ステップＳ６１５にて、制御部２０１は表示部２０６の表示範囲の画像のサムネイルと詳細情報を全て取得し終えたか否かを判断する。例えば表示範囲に１５つのサムネイルが表示される場合、サムネイルと詳細情報をそれぞれ１５ずつ取得したか否かが判断される。取得し終えていないと判断された場合、処理はステップＳ６０９に戻り、残りのサムネイルと詳細情報を取得および表示すべく、ステップＳ６０９〜ステップＳ６１４を繰り返す。これにより、サムネイルを一つ取得および表示する度に、そのサムネイルに対応する画像の詳細情報が取得および表示される。結果として、サムネイルと詳細情報が交互に表示されながら、最終的に画面４２１のようなサムネイルと詳細情報の一覧画面が表示される。なお、本実施の形態ではサムネイルの表示と詳細情報の表示を交互に行う場合を例に挙げて説明したがこれに限られるものではない。例えば、画像のサムネイルを表示範囲の分だけ全て取得し、サムネイルのみを順次表示した後に、詳細情報を順次取得および表示していくようにしてもよい。繰り返しの結果、表示すべきサムネイルと詳細情報の取得と表示が完了したならば、処理はステップＳ６１６に進む。
【０１１９】
次に、ステップＳ６１６にて、制御部２０１は、操作部２０５を介してユーザから画像のプレビュー表示の指示を受け付けたか否かを判断する。例えば制御部２０１は、サムネイルの表示領域に対応するタッチパネルの位置に一定時間タッチされ続けた場合に、そのサムネイルに対応する画像のプレビュー表示の指示を受け付けたと判断する。指示を受け付けたと判断した場合、処理はステップＳ６１７に進む。指示を受け付けていないと判断した場合、処理はステップＳ６２０に進む。ステップＳ６２０については後述する。
【０１２０】
ステップＳ６１７では、制御部２０１は通信部２１１を介して、デジタルカメラ１００に画像データ取得要求を行う。具体的には、画像サイズの引数にＯＲＩＧＩＮＡＬを用いたＲｅｑｕｅｓｔＣｏｎｔｅｎｔをデジタルカメラ１００に送信する。本ステップの処理は図４のステップＳ４１５に相当する。
【０１２１】
次いでステップＳ６１８にて、制御部２０１は通信部２１１を介して、ステップＳ６１７で要求した画像データの取得が完了したか否かを判断する。完了していないと判断した場合、本ステップの処理を繰り返して完了を待つ。完了したと判断した場合、処理はステップＳ６１９に進む。
【０１２２】
ステップＳ６１９にて、制御部２０１は表示部２０６の一画面に画像データを表示する。この結果、例えば図４の画面４２２のように画像が一画面にプレビュー表示される。なお、図４では、画像データを表示する際に画像データのみを表示する場合を例示しているが、これに限られるものではない。たとえば、ステップＳ６１４にて取得した画像の詳細情報を併せて表示してもよい。
【０１２３】
続いて、ステップＳ６２０で制御部１０１は、デジタルカメラ１００との無線ＬＡＮ通信が切断されたか否かを判断する。なお、無線ＬＡＮ通信が切断する場合としては、ユーザによって明示的に切断の指示を受け付けた場合や、デジタルカメラ１００からの信号が一定時間以上受信できない場合等が考えられる。ここで、無線ＬＡＮ通信が切断していないと判断された場合、処理はステップＳ６０６に戻る。一方、無線ＬＡＮ通信が切断したと判断された場合、本フローチャートの処理を終了する。
【０１２４】
以上が本実施形態におけるスマートデバイス２００の動作の説明である。
【０１２５】
以上のように、本実施形態のデジタルカメラ１００は、画像の管理情報が要求されたことに応じて、画像の詳細情報を要求される前に予め、画像の詳細情報を解析して読みだしておく。これにより、画像の詳細情報を要求されてから、送信し始めるまでの時間を短縮することができる。
【０１２６】
［第２の実施形態］
第１の実施形態では、画像の管理情報の要求をトリガとして、画像の詳細情報を予め読み出しておく場合について説明した。これに対し、本実施形態では、画像のサムネイルの要求をトリガとして、画像の詳細情報を予め読み出しておく場合について説明する。
【０１２７】
なお、本実施形態は、第１の実施形態と共通する部分が多いため、本実施形態特有の部分を中心に説明する。
【０１２８】
＜システムのシーケンス＞
図７は、本実施形態におけるデジタルカメラ１００とスマートデバイス２００とが協働して実現するデータの閲覧手順を示すシーケンス図である。
【０１２９】
ステップＳ７０１〜ステップＳ７０８は、図４のステップＳ４０１〜ステップＳ４０８と同様の処理が実行される。
【０１３０】
次に、ステップＳ７０９にてスマートデバイス２００がデジタルカメラ１００に対して表示するサムネイルを取得するためのＲｅｑｕｅｓｔＣｏｎｔｅｎｔ  ＡＰＩをコールする。すなわち、スマートデバイス２００は管理情報を取得した画像のＩＤを引数に用いて、画像のサムネイルをデジタルカメラ１００に要求する。このステップの処理は図４のステップＳ４１０と同様である。
【０１３１】
これに対し、ステップＳ７１０でデジタルカメラ１００は、図３（ａ）に示すＲｅｑｕｅｓｔＣｏｎｔｅｎｔに応じた処理を行い、サムネイルデータをスマートデバイス２００に対して返却する。すなわち、コールされたＡＰＩの引数に含まれる画像のＩＤに基づき決定される画像のヘッダを解析してサムネイルデータを読み出し、スマートデバイス２００に送信する。このステップの処理は図４のステップＳ４１１と同様である。
【０１３２】
また、本実施形態のデジタルカメラ１００は、ステップＳ７０９の要求を受け付けたことに応じて、ステップＳ７１１の処理を実行する。ステップＳ７１１では、デジタルカメラ１００は、ステップＳ７０９で管理情報を要求された画像の詳細情報を、画像のヘッダ領域を解析して読み出し、作業用メモリ１０４に保持する。このステップの処理は図４のステップＳ４０９と同様である。なお、サムネイルを読み出すためにもヘッダ領域の解析が必要であるため、ステップＳ７１０でサムネイルを読み出すためのヘッダ解析で、詳細情報を読み出すための解析を兼ねてもよい。
【０１３３】
また、スマートデバイス２００にて、いずれかのサムネイルに対応する画像のプレビュー表示の指示が受け付けられたならば、ステップＳ７１２〜ステップＳ７１３の処理が実行され、指示されたサムネイルに対応する画像のプレビュー表示が行われる。ステップＳ７１２〜ステップＳ７１３は、図４のステップＳ４１５〜ステップＳ４１６の処理と同様である。
【０１３４】
また、本実施形態では、プレビュー表示中の画像の表示領域に対応するタッチパネルの位置に対する一定時間以上のタッチ操作により、詳細情報を表示する指示を入力することができる。
【０１３５】
ステップＳ７１４にてスマートデバイス２００が、プレビュー表示中の画像の詳細情報を表示する指示を受け付けた場合、ステップＳ７１５とステップＳ７１６の処理が実行される。
【０１３６】
ステップＳ７１５では、スマートデバイス２００は、プレビュー表示中の画像の詳細情報を取得するためのＲｅｑｕｅｓｔＣｏｎｔｅｎｔＤｅｔａｉｌＩｎｆｏ  ＡＰＩをコールする。すなわち、プレビュー表示中の画像の画像ＩＤを引数に利用して、その画像ＩＤで特定される画像の詳細情報をデジタルカメラ１００に要求する。
【０１３７】
これに対し、ステップＳ７１６でデジタルカメラ１００は、図３（ａ）に示すＲｅｑｕｅｓｔＣｏｎｔｅｎｔＤｅｔａｉｌＩｎｆｏに応じた処理を行い、画像の詳細情報をスマートデバイス２００に対して返却する。なお、ここで要求される詳細情報は、ステップＳ７１１で既に解析して読み出し済みであるため、ステップＳ７１５の要求を受け付けてから解析と読み出しを開始する場合よりも速くスマートデバイス２００に詳細情報を送信することができる。
【０１３８】
＜デジタルカメラ１００の動作＞
続いて、図７の手順を実現するための、デジタルカメラ１００の動作について説明する。図８は本実施形態におけるデジタルカメラ１００の動作を示すフローチャートである。このフローチャートにおける各処理は、制御部１０１が、不揮発性メモリ１０３に格納されたプログラムを作業用メモリ１０４に展開して実行することにより実現される。また、本フローチャートの処理は、例えばユーザのメニュー操作等によってスマートデバイス２００との無線ＬＡＮの通信を確立する指示を受け付けたことに応じて開始される。
【０１３９】
ステップＳ８０１〜ステップＳ８０５では、図５のステップＳ５０１〜ステップＳ５０５と同様の処理が実行される。
【０１４０】
続くステップＳ８０６では、制御部１０１は、通信部１１１を介して、スマートデバイス２００から、デジタルカメラ１００に保存されている画像の管理情報を取得するためのリクエストＲｅｑｕｅｓｔＣｏｎｔｅｎｔＩｎｆｏを受信したか否かを判断する。受信したと判断した場合、処理はステップＳ８０７に進む。受信していないと判断した場合、処理はステップＳ５０９に進む。ステップＳ８０９については後述する。
【０１４１】
ステップＳ８０７では、制御部１０１は記録媒体１１０に保存されている管理情報のうち、指示された分の画像の管理情報をディレクトリエントリから読み出す。
【０１４２】
次いでステップＳ８０８にて、制御部１０１は通信部１１１を介して、ステップＳ８０７で読みだした管理情報をＲｅｑｕｅｓｔＣｏｎｔｅｎｔＩｎｆｏに対するレスポンスとして、通信部１１１を介してスマートデバイス２００に送信する。
【０１４３】
次に、ステップＳ８０９にて、制御部１０１は通信部１１１を介して、スマートデバイス２００から画像のサムネイル取得要求を受信したか否かを判断する。具体的には、ＴＨＵＭＢＮＡＩＬを引数としたＲｅｑｕｅｓｔＣｏｎｔｅｎｔを受信したか否かを判断する。受信したと判断した場合、処理はステップＳ８１０に進む。受信していないと判断した場合、処理はステップＳ８１３に進む。ステップＳ８１３については後述する。
【０１４４】
ステップＳ８１０にて、制御部１０１は要求された画像のヘッダを解析し、ヘッダからサムネイルを読み出すと共に、ヘッダから詳細情報も読みだす。
【０１４５】
続くステップＳ８１１では、制御部１０１は、ステップＳ８１０で読みだした詳細情夫を作業用メモリ１０４に保持する。
【０１４６】
次に、ステップＳ８１２では、制御部１０１は、ステップＳ８１０で読みだしたサムネイルを、ＲｅｑｕｅｓｔＣｏｎｔｅｎｔに対するレスポンスとしてスマートデバイス２００に送信する。
【０１４７】
ステップＳ８１３では、制御部１０１は通信部１１１を介して、画像の詳細情報の取得要求を受信したか否かを判断する。具体的には、ＲｅｑｕｅｓｔＣｏｎｔｅｎｔＤｅｔａｉｌＩｎｆｏを受信したか否かを判断する。受信したと判断した場合、処理はステップＳ８１４に進む。受信していないと判断した場合、処理はステップＳ８１７に進む。ステップＳ８１７については後述する。
【０１４８】
ステップＳ８１４にて、制御部１０１は作業用メモリ１０４に、スマートデバイス２００から要求された画像のメタデータを保持しているか否かを判断する。保持していないと判断した場合、ステップＳ８１５にて画像のヘッダを解析してメタデータを読み出す。保持している場合は、ステップＳ８１５を経ることなくステップＳ８１６に進む。
【０１４９】
ステップＳ８１６では、制御部１０１は通信部１１１を介して、スマートデバイス２００に要求された画像の詳細情報を、ＲｅｑｕｅｓｔＣｏｎｔｅｎｔＤｅｔａｉｌＩｎｆｏに対するレスポンスとして送信する。本ステップの処理は図７のステップＳ７１６に相当する。ここで、ステップＳ８１５を経ることなくステップＳ８１６が実行される場合は、既に保持済みの詳細情報を送信すればよい。この場合、ステップＳ８１５を実行する必要が無いため、ステップＳ８１５を実行する場合に比べて、要求の受け付けからのメタデータ送信までの時間を短縮することができる。
【０１５０】
ステップＳ８１７〜ステップＳ８２０では、図５のステップＳ５１８〜ステップＳ５２１と同様の処理が実行される。
【０１５１】
ステップＳ８２０にて、制御部１０１が、スマートデバイス２００との無線ＬＡＮ通信が切断されたと判断した場合、処理はステップＳ８２１に進む。
【０１５２】
ステップＳ８２１では、制御部１０１は、ステップＳ８１１で作業用メモリ１０４に保持した詳細情報を削除する。その後、本フローチャートを終了する。
【０１５３】
以上が本実施形態のデジタルカメラ１００の動作の説明である。
【０１５４】
＜スマートデバイス２００の動作＞
続いて、図７の手順を実現するためのスマートデバイス２００の動作について説明する。図９は、本実施形態におけるスマートデバイス２００の動作を示すフローチャートである。このフローチャートにおける各処理は、制御部２０１が、不揮発性メモリ２０３に格納されたプログラムを作業用メモリ２０４に展開して実行することにより実現される。また、本フローチャートの処理は、例えばユーザのメニュー操作等によってデジタルカメラ１００との無線ＬＡＮの通信を確立する指示を受け付けたことに応じて開始される。
【０１５５】
ステップＳ９０１〜ステップＳ９１１は、図６のステップＳ６０１〜ステップＳ６１１と同様の処理が実行される。
【０１５６】
ステップＳ９１２では、制御部２０１は表示部２０６の表示範囲の画像のサムネイルを全て取得し終えたか否かを判断する。取得し終えていないと判断された場合、処理はステップＳ９０９に戻り、残りのサムネイルを取得および表示すべく、ステップＳ９０９〜ステップＳ９１１の処理を繰り返す。繰り返しの結果、表示すべきサムネイルの取得と表示が完了したならば、処理はステップＳ９１３に進む。
【０１５７】
ステップＳ９１３〜ステップＳ９１６では、図６のステップＳ６１６〜ステップＳ６１９と同様の処理が実行される。
【０１５８】
続いて、ステップＳ９１７では、制御部２０１は、画像の詳細情報の要求を受け付けたか否かを判断する。具体的には、ステップＳ９１６の処理によってプレビュー表示中の画像の表示領域に対応するタッチパネルの位置に対する一定時間以上のタッチ操作を受け付けたか否かを判断する。一定時間以上のタッチ操作を受け付けたと判断した場合は、画像の詳細情報の要求を受け付けたと判断する。一定時間以上のタッチ操作を受け付けていないと判断した場合は、画像の詳細情報の要求を受け付けていないと判断する。
【０１５９】
ステップＳ９１７で制御部２０１が、画像の詳細情報の要求を受け付けていないと判断した場合、処理はステップＳ９２１に進む。一方、ステップＳ９１７で制御部２０１が、画像の詳細情報の要求を受け付けていないと判断した場合、処理はステップＳ９２１に進む。ステップＳ９２１については後述する。
【０１６０】
ステップＳ９１８〜ステップＳ９２０では、図６のステップＳ６１２〜ステップＳ６１４と同様の処理が実行される。
【０１６１】
最後に、ステップＳ９２１では、図６のステップＳ６２０と同様の処理が実行される。
【０１６２】
以上が本実施形態におけるスマートデバイス２００の動作の説明である。
【０１６３】
なお、本実施形態では、画像のプレビュー表示後に、画像の詳細情報の表示を行っているが、これに限らなくともよい。たとえば、画像のサムネイル一覧表示時に、ユーザが操作部２０５を操作することによって、画像の詳細情報取得を行ってもよい。この場合においても、デジタルカメラ１００はサムネイル取得要求時に画像の詳細情報を作業用メモリ１０４に保持している。そのため、記録媒体１１０から画像の詳細情報を読み出すことなく、画像の詳細情報をスムーズにスマートデバイス２００に送信することが可能である。
【０１６４】
以上のように、本実施形態のデジタルカメラ１００は、画像のサムネイルが要求されたことに応じて、画像の詳細情報を要求される前に予め、画像の詳細情報を解析して読みだしておく。これにより、画像の詳細情報を要求されてから、送信し始めるまでの時間を短縮することができる。
【０１６５】
［その他の実施形態］
上述の第１の実施形態では、管理情報を要求された分だけ詳細情報を先に読みだす場合を例に挙げて説明した。これに加えて、管理情報を要求された要求範囲の前後の画像の管理情報も、要求された数と同じ分だけ先に読みだしておいてもよい。例えば、取得対象範囲３１−５０と指定された場合、１１−３０の範囲と５１−７０の範囲の管理情報も、予め読みだして保持しておく対象とする。なぜなら、表示中のサムネイル一覧から他のサムネイルを表示する場合には、スクロールさせて、表示中のサムネイル群を基準に、前または後のサムネイル群が次に要求される可能性が高いと考えられるためである。
【０１６６】
また、第２の実施形態では、デジタルカメラ１００は、スマートデバイス２００から、画像のサムネイル取得要求を行われた際に、画像の詳細情報を作業用メモリ１０４に保持している。これについては、サムネイルではなく、サムネイルに対応する画像の取得要求を行われた際に、画像の詳細情報を作業用メモリ１０４に保持してもよい。例えば、図８のステップＳ８１０での詳細情報の読出しの処理を、ステップＳ８１８で実行し、ステップＳ８１８の次に、ステップＳ８１１に相当する処理を実行する。
【０１６７】
また、詳細情報の読出しと保存には多少の時間を要する。すなわち、図５のステップＳ５０８〜ステップＳ５０９の処理や、図８のステップＳ８１０〜ステップＳ８１１の処理の実行には、多少の時間を要する。そこで、これらのステップの実行中であっても、並行して別の指示を受け付けるようにしてもよい。例えば図５の場合では、ステップＳ５０８〜ステップＳ５０９の処理と並行して、ステップＳ５０６やステップＳ５１１の処理を実行し、スマートデバイス２００からの要求を受け付ける。図８の場合では、ステップＳ８１０〜ステップＳ８１１の処理と並行して、ステップＳ８０９やステップＳ８１７の処理を実行し、スマートデバイス２００からの要求を受け付ける。なお、このようにした場合、別の指示を受け付けた時点で、一旦詳細情報の読み出しを中止する。例えば、デジタルカメラ１００にてステップＳ５０８の処理を実行中に、スマートデバイス２００側にてフリック操作が行われ、新たなサムネイルの表示が必要になった場合を考える。この場合、スマートデバイス２００からデジタルカメラ１００に対して、新たな画像ＩＤを取得するために、ＲｅｑｕｅｓｔＣｏｎｔｅｎｔＩｎｆｏが送信される。この場合、デジタルカメラ１００の制御部１０１は、一旦ステップＳ５０８の処理を中止し、新たなＲｅｑｕｅｓｔＣｏｎｔｅｎｔＩｎｆｏに対応すると共に、新たにステップＳ５０８の処理を開始する。すなわち、新たなＲｅｑｕｅｓｔＣｏｎｔｅｎｔＩｎｆｏにより送信される画像ＩＤによって特定される画像の詳細情報を読み出す。これにより、スマートデバイス２００の操作に対して、よりスムーズに対応することができる。
【０１６８】
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【図１】
0006391374.tif 000002
【図２】
0006391374.tif 000003
【図３】
0006391374.tif 000004
【図４】
0006391374.tif 000005
【図５】
0006391374.tif 000006
【図６】
0006391374.tif 000007
【図７】
0006391374.tif 000008
【図８】
0006391374.tif 000009
【図９】
0006391374.tif 000010