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