(57)【要約】【課題】情報処理装置が画像処理装置からサムネイル画像を取得してユーザに提示するために必要とする時間を短縮する。【解決手段】デジタルカメラ１００は、保持するファイルにおいて固定長のあらかじめ定められた領域に含まれるデータをキャッシュデータ７００としてＲＡＭ２１０に格納する。キャッシュデータ７００の格納は、ＰＣ１０１がキャッシュデータ７００を受信する準備をしている間に行われる。ＰＣ１０１は、デジタルカメラ１００に対してキャッシュデータ７００の転送要求を送るが、キャッシュデータ７００の格納は高速に行われるため、少ない回数の転送要求でＰＣ１０１は必要な固定長領域をすべて取得できる。ＰＣ１０１（通常、デジタルカメラ１００よりも処理速度が速い）は、キャッシュデータ７００からサムネイル画像やＥＸＩＦ情報を抽出する。したがって、デジタルカメラ１００は、サムネイル画像などを抽出する必要は無い。【選択図】図９
2007274590.tif 000002
【特許請求の範囲】
【請求項１】
第１の記憶部に保持するファイルの各々から、固定長のあらかじめ定められた領域に含まれるデータを読み出し、第２の記憶部に順次記憶する収集手段と、
外部装置から、前記第１の記憶部に保持する全てのファイルの情報の転送要求を受け付ける受付手段と、
前記転送要求に応答して、前記第２の記憶部に記憶されているデータを前記外部装置に転送する転送手段と、
を備えることを特徴とする画像処理装置。
【請求項２】
前記転送手段により転送されたデータを前記第２の記憶部から消去する消去手段と、
前記第１の記憶部に保持するファイルのうち、前記収集手段により前記固定長のあらかじめ定められた領域に含まれるデータを取得していない未処理ファイルが存在するか否かを判定する判定手段と、
をさらに備え、
前記判定手段は、前記転送手段による転送が行われた場合に前記判定を行い、前記判定の結果、前記未処理ファイルが存在する場合、前記消去手段は前記転送手段により転送されたデータを前記第２の記憶部から消去し、前記収集手段は前記未処理ファイルの各々について前記固定長のあらかじめ定められた領域に含まれるデータを前記第２の記憶部に順次記憶することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記外部装置に接続されたことを検知する検知手段と、
前記検知手段による検知に応答して、前記第１の記憶部に保持するファイルを前記外部装置で特定するための情報を生成する生成手段と、
をさらに備えることを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
ユーザの指示又は前記外部装置からの指示又は設定値に応じて前記固定長の長さを変更する変更手段をさらに備えることを特徴とする請求項１乃至３のいずれか１項に記載の画像処理装置。
【請求項５】
前記収集手段は、前記第１の記憶部に保持するファイルのうち、画像ファイルについてのみ、前記固定長のあらかじめ定められた領域に含まれるデータを読み出し、前記第２の記憶部に記憶することを特徴とする請求項１乃至４のいずれか１項に記載の画像処理装置。
【請求項６】
前記固定長のあらかじめ定められた領域は、前記ファイルの先頭から始まる連続した領域であることを特徴とする請求項１乃至５のいずれか１項に記載の画像処理装置。
【請求項７】
前記全てのファイルの情報が、前記第１の記憶部に保持するファイルのサムネイル画像及びＥＸＩＦ情報のうち少なくともいずれかであることを特徴とする請求項１乃至６のいずれか１項に記載の画像処理装置。
【請求項８】
外部装置に対し、前記外部装置が保持する全ての画像ファイルのサムネイル画像を要求する第１の要求手段と、
前記要求に応答して前記外部装置が送信した、複数の固定長領域を含むデータを受信し、前記複数の固定長領域の各々から、サムネイル画像を抽出する抽出手段と、
を備えることを特徴とする情報処理装置。
【請求項９】
前記外部装置が保持するファイルのリストを、前記第１の要求手段の要求より前に取得するリスト取得手段と、
前記抽出手段によりサムネイル画像が抽出されなかった未処理ファイルの有無を、前記リストに基づいて判定する判定手段と、
前記判定手段により、未処理ファイルがあると判定された場合、前記未処理ファイルが存在しなくなるまで、前記第１の要求手段による要求と、前記抽出手段によるサムネイルの抽出を繰り返して実行させる取得制御手段と、
をさらに備えることを特徴とする請求項８に記載の情報処理装置。
【請求項１０】
前記固定長領域からサムネイル画像が正しく抽出できなかったファイルがあった場合、そのファイルのサムネイル画像を個別に前記外部装置から取得するサムネイル取得手段をさらに備えることを特徴とする請求項８又は９に記載の情報処理装置。
【請求項１１】
前記固定長領域からサムネイル画像が正しく抽出できなかったファイルの割合があらかじめ定められた上限値を超えた場合に、前記固定長領域の長さを増加するように前記外部装置に要求する第２の要求手段をさらに備えることを特徴とする請求項８乃至１０のいずれか１項に記載の情報処理装置。
【請求項１２】
前記固定長領域からサムネイル画像が正しく抽出できなかったファイルの割合があらかじめ定められた下限値未満である場合に、前記固定長領域の長さを減少するように前記外部装置に要求する第３の要求手段をさらに備えることを特徴とする請求項８乃至１１のいずれか１項に記載の情報処理装置。
【請求項１３】
前記抽出手段によって抽出されたサムネイル画像を少なくとも１つ表示する表示手段を備えることを特徴とする請求項８乃至１２のいずれか１項に記載の情報処理装置。
【請求項１４】
前記第１の要求手段は、サムネイル画像に代えてＥＸＩＦ情報を要求し、前記抽出手段は、サムネイル画像に代えてＥＸＩＦ情報を抽出することを特徴とする請求項８乃至１３のいずれか１項に記載の情報処理装置。
【請求項１５】
第１の記憶部に保持するファイルの各々から、固定長のあらかじめ定められた領域に含まれるデータを読み出し、第２の記憶部に順次記憶する収集工程と、
外部装置から、前記第１の記憶部に保持する全てのファイルの情報の転送要求を受け付ける受付工程と、
前記転送要求に応答して、前記第２の記憶部に記憶されているデータを前記外部装置に転送する転送工程と、
を備えることを特徴とする画像処理方法。
【請求項１６】
外部装置に対し、前記外部装置が保持する全ての画像ファイルのサムネイル画像を要求する第１の要求工程と、
前記要求に応答して前記外部装置が送信した、複数の固定長領域を含むデータを受信し、前記複数の固定長領域の各々から、サムネイル画像を抽出する抽出工程と、
を備えることを特徴とする情報処理方法。
【請求項１７】
第１の記憶部に保持するファイルの各々から、固定長のあらかじめ定められた領域に含まれるデータを読み出し、第２の記憶部に順次記憶する収集工程と、
外部装置から、前記第１の記憶部に保持する全てのファイルの情報の転送要求を受け付ける受付工程と、
前記転送要求に応答して、前記第２の記憶部に記憶されているデータを前記外部装置に転送する転送工程と、
を備えることを特徴とする画像処理方法をコンピュータに実行させるためのプログラム。
【請求項１８】
外部装置に対し、前記外部装置が保持する全ての画像ファイルのサムネイル画像を要求する第１の要求工程と、
前記要求に応答して前記外部装置が送信した、複数の固定長領域を含むデータを受信し、前記複数の固定長領域の各々から、サムネイル画像を抽出する抽出工程と、
を備えることを特徴とする情報処理方法をコンピュータに実行させるためのプログラム。
【請求項１９】
請求項１７又は１８に記載のプログラムを記録したコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、外部装置に画像を転送する画像処理装置及びその方法と、外部装置に対して画像の転送を要求する情報処理装置及びその方法に関する。
【背景技術】
【０００２】
デジタルカメラなどの画像処理装置から、ＰＣ（パーソナルコンピュータ）などの情報処理装置へ画像を転送する技術が知られている。デジタルカメラがどのような画像を保持しているかに関する情報を分かりやすくユーザに提示するために、デジタルカメラが保持する画像をＰＣがサムネイル表示することも知られている。例えば、特許文献１は、保持する画像からサムネイル画像のみを抽出して転送するデジタルカメラを開示する。
【０００３】
ＰＣがデジタルカメラからサムネイル画像を取得するには、例えば、ＰＴＰ（Ｐｉｃｔｕｒｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）に従って、次に示す４ステップの動作を行う必要がある。
【０００４】
（１）デジタルカメラは、画像が格納されている記憶媒体のディレクトリ及びファイルの情報を示すリストを生成し、ＰＣは生成されたリストを取得する。ファイルとは、主に画像ファイルのことであるが、これ以外のファイル（例えば音声ファイルなど）が含まれていてもよい。
【０００５】
（２）ＰＣは、リストを参照して、必要とするサムネイル画像の転送要求をデジタルカメラに対して行う。
【０００６】
（３）デジタルカメラは、ＰＣからの転送要求に応答して、画像ファイルからサムネイル画像を抽出し、ＰＣに転送する。
【０００７】
（４）上記（２）及び（３）の処理を、ＰＣが必要とするサムネイル画像の数だけ繰り返す。
【特許文献１】特開２００５−１２３９２８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、ＰＣ（パーソナルコンピュータ）が従来の方法でデジタルカメラからサムネイル画像を取得しようとすると、通信にかかるオーバヘッドが大きいという問題がある。例えば、１０００枚のサムネイル画像を取得しようとすると、ＰＣとデジタルカメラは上記（２）及び（３）の処理を１０００回繰り返す必要があり、長い時間を要する。
【０００９】
また、デジタルカメラの演算装置は、消費電力や費用を低く抑えるために、比較的低速であることが多い。そのため、上記（３）の処理において、デジタルカメラが画像ファイルからサムネイル画像を抽出する処理に、比較的長い時間を要する。
【００１０】
そのため、ＰＣが必要とするすべてのサムネイル画像を取得してユーザに提示するまでには、比較的長い時間がかかってしまうという問題があった。
【００１１】
本発明はこのような状況に鑑みてなされたものであり、情報処理装置が画像処理装置からサムネイル画像を取得してユーザに提示するために必要とする時間を短縮する技術を提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記課題を解決するために、本発明は、以下の特徴を備える画像処理装置を提供する。すなわち、
第１の記憶部に保持するファイルの各々から、固定長のあらかじめ定められた領域に含まれるデータを読み出し、第２の記憶部に順次記憶する収集手段と、
外部装置から、前記第１の記憶部に保持する全てのファイルの情報の転送要求を受け付ける受付手段と、
前記転送要求に応答して、前記第２の記憶部に記憶されているデータを前記外部装置に転送する転送手段と、
を備えることを特徴とする画像処理装置。
【００１３】
また、本発明は、以下の特徴を備える情報処理装置を提供する。すなわち、
外部装置に対し、前記外部装置が保持する全ての画像ファイルのサムネイル画像を要求する第１の要求手段と、
前記要求に応答して前記外部装置が送信した、複数の固定長領域を含むデータを受信し、前記複数の固定長領域の各々から、サムネイル画像を抽出する抽出手段と、
を備えることを特徴とする情報処理装置。
【００１４】
なお、その他の本発明の特徴は、添付図面及び以下の発明を実施するための最良の形態における記載によってさらに明らかになるものである。
【発明の効果】
【００１５】
以上の構成により、本発明によれば、情報処理装置が画像処理装置からサムネイル画像を取得してユーザに提示するために必要とする時間を短縮することが可能となる。
【発明を実施するための最良の形態】
【００１６】
以下、添付図面を参照して、本発明の実施形態を説明する。以下で説明される個別の実施形態は、本発明の上位概念、中位概念および下位概念など種々の概念を理解するために役立つであろう。
【００１７】
なお、本発明の技術的範囲は、特許請求の範囲によって確定されるのであって、以下の個別の実施形態によって限定されるわけではない。また、実施形態の中で説明されている特徴の組み合わせすべてが、本発明に必須とは限らない。
【００１８】
［第１の実施形態］
＜システムの構成＞
図１は、第１の実施形態に係るシステム構成を示すブロック図である。本実施形態では、画像処理装置の一例であるデジタルカメラ１００と、情報処理装置の一例であるＰＣ１０１が、通信ケーブル１０２によって接続されている。そして、ＰＣ１０１はデジタルカメラ１００からサムネイル画像を取得し、ユーザに提示する。
【００１９】
なお、本実施形態では、ＰＣ１０１はサムネイル画像を取得して表示することを主として説明するが、サムネイル画像に代えて画像ファイルのＥＸＩＦ情報を取得して表示することにも本実施形態の概念を適用することができる。ＥＸＩＦ情報とは、ＥＸＩＦ規格に準拠した画像ファイルのヘッダに含まれる情報であり、画像の画素数や撮像日時などを示す。
【００２０】
ＰＣ１０１には、ＰＴＰに従ってデジタルカメラ１００と通信可能なアプリケーションプログラムがインストールされている。
【００２１】
通信ケーブル１０２は、ＰＴＰに従ってデータを送受信できるものであれば、いかなるものでも構わない。一例として、ＵＳＢケーブルが利用可能である。また、ＰＣ１０１とデジタルカメラ１００は、有線ではなく、例えばＩＥＥＥ８０２．１１ｘ（ｘはａ，ｂ，ｇなど）に準拠した無線インタフェースによって接続されていてもよい。
【００２２】
＜デジタルカメラ１００及びＰＣ１０１の構成＞
図２は、デジタルカメラ１００及びＰＣ１０１の構成を示す機能ブロック図である。まず、デジタルカメラ１００の構成を説明する。
【００２３】
光学系２０１は、光学レンズなどを含み、被写体からの光束を撮像素子２０２に結像させる。
【００２４】
撮像素子２０２は、被写体からの光束を電気信号に変換する、光電変換を行う。
【００２５】
撮像プロセス部２０３は、撮像素子２０２で得られた電気信号を、アナログ画像信号に変換する。
【００２６】
Ａ／Ｄ変換器２０４は、撮像プロセス部２０３で得られたアナログ画像信号を、デジタル画像信号（以下、単に「画像信号」と呼ぶ）に変換し、ＲＡＭ２１０に格納する。
【００２７】
データバス２０５は、以下に説明する画像処理部２０７やシステム制御部２１４などの間で通信されるデータの通り道である。
【００２８】
ＡＥ／ＡＦ制御部２０６は、光学系２０１の露出やフォーカスを制御する。
【００２９】
画像処理部２０７は、ＲＡＭ２１０に格納されている画像信号に対して、ホワイトバランス処理や輝度補正処理などを行う。
【００３０】
圧縮伸長部２０８は、画像処理部２０７によって処理された画像信号を例えばＪＰＥＧ符号化により圧縮したり、圧縮された画像信号（以下、単に「画像」と呼ぶ）を伸長したりする。画像の圧縮率は、操作部２１６を制御するなどして、ユーザが設定することが可能である。
【００３１】
表示制御部２０９は、表示部２１７にユーザインタフェース（ＵＩ）や画像を表示するための制御を行う。
【００３２】
ＲＡＭ２１０は、画像信号などのデータを一時的に記憶する。
【００３３】
記録再生制御部２１１は、ＲＡＭ２１０に格納されている画像を画像ファイルとして記憶媒体２１８に書き込んだり、記憶媒体２１８に記録されている画像を読み出してＲＡＭ２１０に格納したりする。記憶媒体２１８から読み出されてＲＡＭ２１０に格納された画像は、表示制御部２０９によって表示部２１７に表示される。
【００３４】
通信制御部２１２は、通信Ｉ／Ｆ２１９を制御する。
【００３５】
システム制御部２１４は、ＲＯＭ２００に格納されているプログラムを実行することにより、デジタルカメラ１００全体を制御する。また、システム制御部２１４は、圧縮伸長部２０８が圧縮した画像に、ヘッダやサムネイル画像などの付加情報を付加して画像ファイルを生成する。サムネイル画像は、圧縮伸長部２０８やシステム制御部２１４などによって生成される。また、システム制御部２１４は、デジタルカメラ１００を省電力状態にする機能を有する。デジタルカメラ１００が省電力状態である場合、デジタルカメラ１００の機能の一部がオフになり、消費電力が低減される。
【００３６】
中央制御部２１５は、画像処理部２０７、圧縮伸長部２０８、表示制御部２０９、記録再生制御部２１１、記録再生制御部２１１などを制御する。これらの処理部や制御部の機能は、システム制御部２１４がプログラムを実行することによって実現されてもよいし、専用のハードウェアによって実現されてもよい。
【００３７】
ＲＯＭ２００は、デジタルカメラ１００を制御するためのプログラムや、デジタルカメラ１００に関する情報（機種名など）などを記憶する。また、ＲＯＭ２００は、表示部２１７に表示される設定メニューに対応する画像データも記憶している。
【００３８】
操作部２１６は、ユーザがデジタルカメラ１００を操作するためのＵＩである。操作部２１６は、例えば、デジタルカメラ１００の電源をオン又はオフするための電源スイッチ、シャッタボタン、表示部２１７に設定メニューを表示するためのメニューボタンなどを有する。操作部２１６はまた、表示部２１７に表示されたカーソルを上、下、左又は右に移動するための十字ボタン、カーソルが選択している画像、項目、値等をデジタルカメラ１００に設定又は選択させるためのＳＥＴボタンなどを有する。シャッタボタンには、半押し状態と全押し状態とがある。シャッタボタンが半押し状態にされると、デジタルカメラ１００はＡＦ処理、ＡＥ処理等を実行し、シャッタボタンが全押し状態にされると、デジタルカメラ１００は画像の撮像を実行する。
【００３９】
表示部２１７は、例えば液晶パネルなどにより構成される。表示部２１７は、表示制御部２０９によって制御され、様々な視覚情報を表示する。具体的には、例えば、デジタルカメラ１００に関する情報（設定されている時刻など）や、画像や、ＧＵＩ（グラフィカルユーザインタフェース）などを表示する。
【００４０】
記憶媒体２１８は、画像ファイルや音声ファイルなどを記憶する。記憶媒体２１８はまた、ファイルを格納するためのディレクトリを保持する。記憶媒体２１８は、デジタルカメラ１００に対して着脱可能な媒体でもよいし、デジタルカメラ１００に固定的に内蔵された媒体でもよい。記憶媒体２１８は不揮発性の記憶媒体であり、デジタルカメラ１００に電力が供給されていない状態でも記憶内容を保持することができる。
【００４１】
通信Ｉ／Ｆ２１９は、例えばＵＳＢ接続端子などを含む通信インタフェースである。通信Ｉ／Ｆ２１９は、接続端子を持たない無線通信インタフェースでもよい。通信Ｉ／Ｆ２１９は、ＰＴＰに準拠した通信を行うことができる。
【００４２】
次に、ＰＣ１０１の構成を説明する。
【００４３】
操作部２２１は、ユーザがＰＣ１０１を操作するためのＵＩであり、キーボードやマウスなどから構成される
表示部２２２は、液晶ディスプレイなどにより構成され、表示制御部２２８の制御に従ってＵＩや画像を表示する。
【００４４】
記憶媒体２２３は、ＨＤＤ（ハードディスク）などの不揮発性の記憶媒体であり、ＰＣ１０１のＯＳ（オペレーティングシステム）や本実施形態に係るアプリケーションなどが格納されている。
【００４５】
通信Ｉ／Ｆ２２４は、例えばＵＳＢ接続端子などを含む通信インタフェースである。通信Ｉ／Ｆ２２４は、接続端子を持たない無線通信インタフェースでもよい。通信Ｉ／Ｆ２２４は、ＰＴＰに準拠した通信を行うことができる。
【００４６】
システム制御部２２５は、記憶媒体２２３に格納されているＯＳやアプリケーションなどを実行することにより、ＰＣ１０１全体を制御する。
【００４７】
中央制御部２２６は、以下に説明する表示制御部２２８、記憶制御部２３０、通信制御部２３１を制御する。これらの制御部の機能は、システム制御部２２５がＯＳやアプリケーションを実行することによって実現されてもよいし、専用のハードウェアによって実現されてもよい。
【００４８】
表示制御部２２８は、表示部２２２を制御する。
【００４９】
ＲＡＭ２２９は、ＰＣ１０１のＯＳ（オペレーティングシステム）や、アプリケーションが動作する際にワークエリアとして使用される揮発性メモリである。
【００５０】
記憶制御部２３０は、記憶媒体２２３に対するデータの入出力を制御する。
【００５１】
通信制御部２３１は、通信Ｉ／Ｆ２２４を制御する。
【００５２】
データバス２３２は、表示制御部２２８やＲＡＭ２２９などの間で通信されるデータの通り道である。
【００５３】
＜本実施形態に係るモジュール＞
図３は、本実施形態に係るデジタルカメラ１００及びＰＣ１０１の機能を、モジュールとして示すブロック図である。以下に説明する各モジュールは、図２におけるデジタルカメラ１００及びＰＣ１０１の各機能ブロックの１つ又は複数の組み合わせにより実現される。
【００５４】
転送データ管理モジュール３０１は、ＰＣ１０１に転送するデータを管理する。具体的には、例えば、記憶媒体２１８からファイルを読み出し、ファイルに含まれるデータの一部をＲＡＭ２１０に格納する。
【００５５】
リスト生成モジュール３０２は、記憶媒体２１８のディレクトリ及びファイルの情報を示すリストを生成する。リストは、記憶媒体２１８のディレクトリ構造や、どのファイルがどのディレクトリに格納されているかなどを示す。
【００５６】
通信モジュール３０３及び通信モジュール３０４は、デジタルカメラ１００とＰＣ１０１との間でデータやコマンドの送受信を行う。また、デジタルカメラ１００とＰＣ１０１が接続されたことを他のモジュールに通知する。
【００５７】
データ解析モジュール３０５は、デジタルカメラ１００から受信したデータを解析して、サムネイル画像を抽出する。
【００５８】
リスト管理モジュール３０６は、デジタルカメラ１００から受信したリストに基づいて、サムネイル画像を取得すべき画像ファイルに関する情報をデータ解析モジュール３０５に通知する。データ解析モジュール３０５が必要なサムネイル画像の一部を取得できなかった場合は、取得できなかったサムネイル画像を送信するように、通信モジュール３０４を介してデジタルカメラ１００に要求する。
【００５９】
表示モジュール３０７は、リスト管理モジュール３０６が抽出したサムネイル画像を表示する。
【００６０】
なお、データ解析モジュール３０５は、サムネイル画像に代えてＥＸＩＦ情報（又はその一部）を取得してもよい。この場合、リスト管理モジュール３０６は、デジタルカメラ１００から受信したリストに基づいて、ＥＸＩＦ情報を取得すべき画像ファイルに関する情報をデータ解析モジュール３０５に通知する。データ解析モジュール３０５が必要なＥＸＩＦ情報の一部を取得できなかった場合は、取得できなかったＥＸＩＦ情報を送信するように、通信モジュール３０４を介してデジタルカメラ１００に要求する。そして、表示モジュール３０７は、リスト管理モジュール３０６が抽出したＥＸＩＦ情報を表示する。
【００６１】
＜画像ファイルの構成＞
図４は、記憶媒体２１８に記録されている画像ファイルの構成を示す図である。図に示すように、記憶媒体２１８は、ＪＰＥＧ形式の静止画像を含む画像ファイル４０１乃至４０３と、ＡＶＩ形式の動画像を含む画像ファイル４０４を保持する。また、図示しないが、これ以外にも記憶媒体２１８は音声ファイルなどを保持していてもよい。
【００６２】
画像ファイル４０１乃至４０４は、ヘッダ情報４１１、サムネイル画像４１２、主画像４１３を含む。画像ファイル４０１乃至４０４において、ヘッダ情報４１１、サムネイル画像４１２、主画像４１３のデータサイズは、格納されている画像の内容に応じてそれぞれ変化する。
【００６３】
＜固定長領域５０１＞
図５は、記憶媒体２１８に記録されている画像ファイルにおいて、ヘッダ情報４１１及びサムネイル画像４１２が含まれている可能性の高い固定長領域５０１を示す図である。固定長領域５０１は、その名の通り、すべての画像ファイルについて共通のデータサイズを持つ領域である。
【００６４】
固定長領域５０１のデータサイズは、デジタルカメラ１００の撮像能力（画素数や圧縮能力など）や、撮像時のパラメータなどに基づいて定めることができる。デジタルカメラ１００の起動時にシステム制御部２１４がデータサイズを算出してもよいし、デジタルカメラ１００の製造時にあらかじめＲＯＭ２００にデータサイズを記録してもよい。また、操作部２１６やＰＣ１０１からの指示に応答して、システム制御部２１４が固定長領域５０１のデータサイズを変更するようにデジタルカメラ１００を構成してもよい。
【００６５】
図５に示す例では、すべての画像ファイル（画像ファイル４０１乃至４０４）において、ヘッダ情報４１１及びサムネイル画像４１２は固定長領域５０１に含まれる。したがって、固定長領域５０１をＰＣ１０１に転送すれば、ＰＣ１０１は固定長領域５０１からサムネイル画像４１２を抽出することが可能である。
【００６６】
図６は、固定長領域６０１（斜線部）のデータサイズが小さいために、ヘッダ情報４１１及びサムネイル画像４１２が固定長領域６０１に収まらない画像ファイルが存在する例を示す図である。図６において、図５と同じ要素には同じ符号を付し、説明を省略する。
【００６７】
図６に示すように、画像ファイル４０１、４０２、及び４０４では、ヘッダ情報４１１及びサムネイル画像４１２が固定長領域６０１に含まれている。しかし、画像ファイル４０３では、サムネイル画像４１２の一部が固定長領域６０１に収まっていない。
【００６８】
したがって、ＰＣ１０１は画像ファイル４０３の固定長領域６０１を取得しても、サムネイル画像４１２を抽出することができない。
【００６９】
このように、固定長領域６０１のデータサイズが小さすぎたり（固定長領域６０１のデータサイズは固定長領域５０１のデータサイズよりも小さい）、ヘッダ情報４１１及びサムネイル画像４１２のデータサイズが大きすぎたりすると、上述の問題が発生する。
【００７０】
ただし、本実施形態におけるＰＣ１０１は、リスト管理モジュール３０６（図３）を参照して説明したように、固定長領域６０１からサムネイル画像を取得できなかった場合にデジタルカメラ１００に再度サムネイル画像を要求することができる。
【００７１】
＜実施形態の原理＞
図７及び図８を参照して、本実施形態の原理を簡単に説明する。
【００７２】
図７は、デジタルカメラ１００の記憶媒体２１８に記録されているファイルから、ＰＣ１０１に送信するべきデータを抽出してＲＡＭ２１０に格納した、キャッシュデータ７００を示す図である。
【００７３】
キャッシュデータ７００は、図５を参照して説明した固定長領域５０１を複数保持する（固定長領域５０１が１つの場合もある）。それぞれの固定長領域５０１は、ヘッダ情報４１１及びサムネイル画像４１２を含む。
【００７４】
キャッシュデータ７００は、転送データ管理モジュール３０１（図３）によって生成される。このとき、転送データ管理モジュール３０１は画像ファイルからサムネイル画像などの特定のデータを抽出する必要が無い。そのため、転送データ管理モジュール３０１は、キャッシュデータ７００を高速に生成することができる。
【００７５】
また、キャッシュデータ７００は原則として複数の固定長領域５０１を含むため、デジタルカメラ１００がＰＣ１０１からキャッシュデータ７００の転送要求を受信すると、一度に複数のサムネイル画像を転送することができる。そのため、転送要求に関するオーバヘッドが減少し、多数のサムネイル画像が高速にＰＣ１０１に転送される。
【００７６】
なお、ＲＡＭ２１０は、圧縮される前の画像を一時的に複数記憶するために、比較的大きな容量を持つのに対し、固定長領域５０１はヘッダ情報及びサムネイル情報が含まれればよいため、データサイズが比較的小さい。そのため、通常、ＲＡＭ２１０は極めて多くの固定長領域５０１を格納することができる。
【００７７】
図８は、ＰＣ１０１がキャッシュデータ７００からサムネイル画像を抽出してＲＡＭ２２９に格納した様子を示す図である。データ解析モジュール３０５（図３）はキャッシュデータ７００を解析して、ヘッダ情報からサムネイル画像の位置を特定し、抽出することができる。このようにして抽出されたサムネイル画像は表示モジュール３０７によって（表示部２１７に）表示されるため、ユーザは記憶媒体２１８にどのような画像が格納されているかを高速に知ることができる。
【００７８】
＜実施形態の詳細＞
図９及び図１０を参照して、デジタルカメラ１００及びＰＣ１０１が接続されてから表示部２１７にサムネイル画像が表示されるまでの処理の流れを詳細に説明する。
【００７９】
図９は、デジタルカメラ１００がキャッシュデータ７００をＰＣ１０１に転送する処理の流れを示すフローチャートである。
【００８０】
ステップＳ９０１で、通信モジュール３０３は、デジタルカメラ１００がＰＣ１０１に接続されたことを検知する。
【００８１】
ステップＳ９０２で、転送データ管理モジュール３０１は、固定長領域のデータサイズを取得する。固定長領域のデータサイズは、前述のように、ＲＯＭ２００にあらかじめ記録されていてもよいし、デジタルカメラ１００の撮像能力に基づいてシステム制御部２１４が決定してもよい。
【００８２】
ステップＳ９０３で、リスト生成モジュール３０２は、記憶媒体２１８に記録されているディレクトリ及びファイルの情報を示すリストを生成する。生成されたリストは、例えばＲＡＭ２１０に格納される。また、通信モジュール３０３は、リストをＰＣ１０１に転送する。
【００８３】
ステップＳ９０４で、転送データ管理モジュール３０１は、リストに従って記憶媒体２１８に記録されている所定のファイルの固定長領域に相当するデータをＲＡＭ２１０に格納し、キャッシュデータ７００を生成する。
【００８４】
ステップＳ９０５で、転送データ管理モジュール３０１は、ＲＡＭ２１０の容量が一杯であるか否かを判定する。一杯であればステップＳ９０７に進み、一杯でなければステップＳ９０６に進む。
【００８５】
ステップＳ９０６で、通信モジュール３０３は、ＰＣ１０１からキャッシュデータ７００の転送要求を受信したか（受け付けたか）否かを判定する。受信した場合はステップＳ９０８に進み、受信していない場合はステップＳ９０４に戻る。
【００８６】
このように、ステップＳ９０４乃至Ｓ９０６の処理が繰り返されることで、リストに含まれる各々のファイルから、固定長のあらかじめ定められた領域に含まれるデータ（固定長領域）がＲＡＭ２１０に順次記録される。
【００８７】
なお、例えば音声ファイルのようなサムネイル画像を含まないファイルについては固定長領域をＲＡＭ２１０に格納しないように転送データ管理モジュール３０１を構成してもよい。具体的には、例えば、転送データ管理モジュール３０１がファイルの拡張子に基づいてそのファイルが画像ファイルであるか否かを判定すればよい。
【００８８】
また、ステップＳ９０４において処理するファイルの順序は、ＰＣ１０１のアプリケーションがサムネイル画像を表示するべき順序をデジタルカメラ１００がリストに基づいて計算する。あるいは、あらかじめサムネイル画像の表示順序をデジタルカメラ１００とＰＣ１０１の双方で仕様として決めておいてもよい。
【００８９】
ステップＳ９０７で、通信モジュール３０３は、ＰＣ１０１から転送要求を受信する（受け付ける）のを待ち、受信するとステップＳ９０８に進む。
【００９０】
なお、本実施形態では、ＰＴＰ規格で規定された拡張コマンドによってＰＣ１０１からデジタルカメラ１００に転送要求がなされるものとする。
【００９１】
ステップＳ９０８で、通信モジュール３０３は、キャッシュデータ７００をＰＣ１０１に転送する。
【００９２】
ステップＳ９０９で、転送データ管理モジュール３０１は、リストを参照して、転送すべきすべてのデータをキャッシュデータ７００としてＰＣ１０１に送信したか否かを判定する。すなわち、固定長領域をＲＡＭ２１０に格納すべきだがまだ処理されていない未処理ファイルが存在するか否かが判定される。すべて転送した場合は処理を終了し、そうでない場合はステップＳ９１０に進む。
【００９３】
なお、ＰＣ１０１がリストを受信（ステップＳ９０３）してから転送要求を送信する準備ができるまでには比較的長い時間を要し、ＲＡＭ２１０は十分な容量を持つため、１回の転送で必要なデータをすべて転送できることが一般的である。
【００９４】
ステップＳ９１０で、転送データ管理モジュール３０１は、ステップＳ９０８において転送されたキャッシュデータ７００をＲＡＭ２１０から消去する。
【００９５】
なお、図９には示されていないが、通信モジュール３０３は、固定長領域のデータサイズを変更する指示をＰＣ１０１から受け付け、転送データ管理モジュール３０１は指示に従って固定長領域のデータサイズを変更するように構成されていてもよい。
【００９６】
図１０は、ＰＣ１０１がキャッシュデータ７００をデジタルカメラ１００から取得し、サムネイル画像を抽出する処理の流れを示すフローチャートである。
【００９７】
ステップＳ１００１で、通信モジュール３０４は、デジタルカメラ１００がＰＣ１０１に接続されたことを検知する。
【００９８】
ステップＳ１００２で、ＰＣ１０１のＯＳは、デジタルカメラ１００用のデバイスドライバをロードする。例えば、ＯＳがＭｉｃｒｏｓｏｆｔ社のＷｉｎｄｏｗｓ（登録商標）である場合は、ＯＳがデジタルカメラ１００を認識すると、ＷＩＡサービスがＰＴＰドライバをロードする。また、ＯＳがＡｐｐｌｅ社のＭａｃ  ＯＳ（登録商標）である場合は、ＯＳがデジタルカメラ１００を認識すると、ＩＣＡサービスがＰＴＰドライバをロードする。また、ＷＩＡサービスやＩＣＡサービスは、デジタルカメラ１００の属性情報（型番や撮像能力など）や、ステップＳ９０３で生成されたリストを取得する。
【００９９】
ステップＳ１００３で、システム制御部２２５は、本実施形態に従ってデジタルカメラ１００からサムネイル画像を取得できるアプリケーションを起動する。
【０１００】
ステップＳ１００４で、ステップＳ１００３において起動されたアプリケーション（以下、単に「アプリケーション」と呼ぶ）は、デジタルカメラ１００が上述した本実施形態の機能（拡張サービス）をサポートしているか否かを判定する。接続されたデジタルカメラ１００が拡張サービスをサポートするものであればステップＳ１００４に進み、そうでなければステップＳ１０１１に進む。ステップＳ１０１１では、アプリケーションは、従来の方法でデジタルカメラ１００からサムネイル画像を取得する。従来の方法とは、背景技術において（１）乃至（４）のステップで説明した方法である。
【０１０１】
ＰＣ１０１がステップＳ１００２乃至Ｓ１００４における処理を実行している間に、デジタルカメラ１００はステップＳ９０４乃至Ｓ９０６の処理を繰り返すか、ステップＳ９０７で転送要求を待っている。
【０１０２】
ステップＳ１００５で、通信モジュール３０４は、デジタルカメラ１００に対してキャッシュデータ７００を要求する。
【０１０３】
ステップＳ１００６で、通信モジュール３０４は、デジタルカメラ１００からキャッシュデータ７００を取得し、データ解析モジュール３０５に渡す。
【０１０４】
ステップＳ１００７で、データ解析モジュール３０５は、キャッシュデータ７００からサムネイル画像を抽出し、図８に示すようにＲＡＭ２２９に格納する。
【０１０５】
ステップＳ１００８で、データ解析モジュール３０５は、キャッシュデータ７００に含まれるすべての固定長領域のデータ（固定長データ）からサムネイル画像の抽出に成功したか否かを判定する。成功した場合はステップＳ１０１０に進み、そうでない場合はステップＳ１００９に進む。
【０１０６】
ステップＳ１００９で、通信モジュール３０４は、ステップＳ１００７において取得に失敗したサムネイル画像を、従来の方法でデジタルカメラ１００から取得する。
【０１０７】
ステップＳ１０１０で、リスト管理モジュール３０６は、リストに含まれるすべてのファイルからサムネイル画像を取得したか否かを判定する。すなわち、サムネイル画像を取得していない未処理ファイルが存在するか否かが判定される。すべてのファイルからサムネイル画像を取得した場合は処理を終了する。そうでない場合は、ステップＳ１００５に戻り、未処理ファイルが存在しなくなるまでキャッシュデータの取得及びサムネイル画像の抽出を繰り返す。なお、リストに含まれるファイルのうち、サムネイル画像を含まないファイル（例えば、画像ファイル以外のファイル）は未処理ファイルと扱わないようにリスト管理モジュール３０６を構成してもよい。
【０１０８】
なお、ステップＳ１００８において、サムネイル画像の抽出に失敗した固定長データの割合が所定の上限値を超えた場合に、通信モジュール３０４は、固定長領域のデータサイズを大きくするようにデジタルカメラ１００に要求してもよい。反対に、サムネイル画像の抽出に失敗した固定長データの割合が所定の下限値未満である場合に、通信モジュール３０４は、固定長領域のデータサイズを小さくするようにデジタルカメラ１００に要求してもよい。データ解析モジュール３０５は、例えばリストに含まれるファイルのうち所定の割合を処理する（サムネイル画像を抽出しようとした）たびに、サムネイル画像の抽出に失敗した固定長データの割合を判断する。
【０１０９】
以上の処理により、ＰＣ１０１は必要なサムネイル画像をすべてＲＡＭ２２９に格納し、表示モジュール３０７はＲＡＭ２２９に格納されたサムネイル画像を、必要な数だけ表示することができる。
【０１１０】
以上、図９及び図１０を参照して説明したように、本実施形態では、ＰＣ１０１がアプリケーションの起動などの準備をしている間（ステップＳ１００２乃至Ｓ１００４）に、デジタルカメラ１００は転送するデータ（キャッシュデータ７００）を生成する。そのため、ＰＣ１０１の準備完了後、ＰＣ１０１は１回又は比較的少ない回数のデータ取得要求により、必要なサムネイル画像を含むデータをデジタルカメラ１００から取得でき、通信にかかるオーバヘッドが少ない。そして、ＰＣ１０１のシステム制御部２２５はデジタルカメラ１００のシステム制御部２１４よりも一般的にデータ処理速度が高速であるため、ＰＣ１０１はキャッシュデータ７００から高速にサムネイル画像を抽出できる。これにより、ＰＣ１０１がデジタルカメラ１００からサムネイル画像を取得してユーザに提示するために必要とする時間を短縮することが可能となる。
【０１１１】
＜転送されるデータの構造＞
図１１は、通信モジュール３０３と通信モジュール３０４の間を転送されるデータ１１００の構成を示す図である。これまでの説明では、簡略化のために、キャッシュデータ７００が通信モジュール３０３と通信モジュール３０４の間で転送されるものとしてきたが、実際にはＰＴＰに必要な種々の情報が付加される。
【０１１２】
図１１において、データ１１００の横幅は４バイトのデータ長を示す。
【０１１３】
Container Length１１０１は、データ１１００全体のサイズを示す。
【０１１４】
Data Count１１０２は、転送される固定長領域の数を示す。図１１では、転送される固定長領域の数がＮ個であることを示している。
【０１１５】
PTP Object Handle１１０３は、リストに基づいてファイルを特定するためのＩＤである。
【０１１６】
Fragment Data１１０４は、固定長領域である。Fragment Data１１０４のデータサイズは、固定長領域のデータサイズであり、図９のステップＳ９０２で転送データ管理モジュール３０１に取得されたデータサイズに相当する。
【０１１７】
PTP Object Handle１１０３とFragment Data１１０４を１つの単位としてData Count が１となる。それに続くPTP Object Handle１００３とFragment Data１１０４により、Data Countが２個となる。このようにして、PTP Object Handle１１０３とFragment Data１１０４の組がＮ個続く。
【０１１８】
データ１１００において重要なことは、転送するFragment Dataがどのファイルに相当しているかということと、Fragment Dataのデータサイズがいくつであるかということである。
【０１１９】
また、例えば、デジタルカメラ１００とＰＣ１０１の間において、リストに含まれる画像ファイルのサムネイル画像をどのような順番で転送するかを仕様として決めてしまってもよい。そうすれば、PTP Object Handle１１０３をデータ１１００に含める必要はなくなる。
【０１２０】
さらに、ＰＣ１０１がFragment Dataのデータサイズを事前に知っていれば、Data Count１１０２をデータ１１００に含める必要も無くなる。この場合、ＰＣ１０１は、Container Length１１０１とFragment Dataのデータサイズに基づいて、Data Count１１０２を計算により求めることができるからである。
【０１２１】
＜シーケンス図＞
図１２は、転送データ管理モジュール３０１が固定長領域のデータをＲＡＭ２１０に格納するシーケンスを示す図である。
【０１２２】
図１２に示すように、転送データ管理モジュール３０１は記憶媒体２１８に記録されているファイルにアクセスし、固定長領域を読み出す。そして、ＲＡＭ２１０の容量が一杯になるまでこの処理を続ける。もちろん、すべてのファイルについて固定長領域を読み出したら、処理は終了する。
【０１２３】
図１３は、データ解析モジュール３０５がキャッシュデータ７００からサムネイル画像又はＥＸＩＦ情報を抽出するシーケンスを示す図である。
【０１２４】
図１３に示すように、データ解析モジュール３０５はキャッシュデータ７００からサムネイル画像又はＥＸＩＦ情報を順次抽出し、ＲＡＭ２２９に格納する。抽出が完了すると表示モジュール３０７がサムネイル画像又はＥＸＩＦ情報を表示する。
【０１２５】
図１４は、データ解析モジュール３０５が特定の固定長領域からサムネイル画像又はＥＸＩＦ情報の抽出に失敗した場合に、デジタルカメラ１００から再度取得するシーケンスを示す図である。
【０１２６】
図１４に示すように、データ解析モジュール３０５がサムネイル画像又はＥＸＩＦ情報の抽出に失敗した時点で表示モジュール３０７はそれまでに抽出したサムネイル画像を表示する。また、通信モジュール３０４は、抽出に失敗したサムネイル画像又はＥＸＩＦ情報をデジタルカメラ１００に対して要求する。次いで、データ解析モジュール３０５はキャッシュデータの解析を再開する。
【０１２７】
なお、通信モジュール３０４が抽出に失敗したサムネイル画像又はＥＸＩＦ情報をデジタルカメラ１００に対して要求するタイミングは図１４に示すものに限られない。例えば、データ解析モジュール３０５がすべての固定長領域を解析してから、通信モジュール３０４は抽出に失敗したサムネイル画像又はＥＸＩＦ情報を連続してデジタルカメラ１００に対して要求してもよい。
【０１２８】
図１５は、デジタルカメラ１００が固定長領域のキャッシュを繰り返している途中で、ＰＣ１０１からキャッシュデータ取得要求を受信したときのシーケンスを示す図である（図９のステップＳ９０６に対応）。
【０１２９】
詳細は図９を参照して説明した通りなので省略するが、ＰＣ１０１から受信した取得要求を優先して処理することにより、ＰＣ１０１がキャッシュデータの取得のために待たされる時間を最小限に抑える。
【０１３０】
＜第１の実施形態のまとめ＞
以上説明したように、本実施形態によれば、デジタルカメラ１００は、保持するファイルにおいて固定長のあらかじめ定められた領域に含まれるデータをキャッシュデータ７００としてＲＡＭ２１０に格納する。キャッシュデータ７００の格納は、ＰＣ１０１がキャッシュデータ７００を受信する準備をしている間に行われる。ＰＣ１０１は、デジタルカメラ１００に対してキャッシュデータ７００の転送要求を送るが、キャッシュデータ７００の格納は高速に行われるため、少ない回数の転送要求でＰＣ１０１は必要な固定長領域をすべて取得できる。ＰＣ１０１（通常、デジタルカメラ１００よりも処理速度が速い）は、キャッシュデータ７００からサムネイル画像やＥＸＩＦ情報を抽出する。したがって、デジタルカメラ１００は、サムネイル画像などを抽出する必要は無い。
【０１３１】
これにより、通信にかかるオーバヘッドが減少し、サムネイル画像の抽出が高速に行われ、ＰＣ１０１がサムネイル画像を取得してユーザに提示するために必要とする時間を短縮される。
【０１３２】
［その他の実施形態］
上述した実施の形態の処理は、各機能を具現化したソフトウェアのプログラムコードを記録した記憶媒体をシステム或は装置に提供してもよい。そして、そのシステム或は装置のコンピュータ（又はＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによって、前述した実施形態の機能を実現することができる。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フロッピィ（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスクなどを用いることができる。或いは、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることもできる。
【０１３３】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した各実施の形態の機能が実現されるだけではない。そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）などが実際の処理の一部又は全部を行い、その処理によって前述した各実施の形態の機能が実現される場合も含まれている。
【０１３４】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書きこまれてもよい。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行い、その処理によって前述した各実施の形態の機能が実現される場合も含むものである。
【図面の簡単な説明】
【０１３５】
【図１】第１の実施形態に係るシステム構成を示すブロック図である。
【図２】デジタルカメラ１００及びＰＣ１０１の構成を示す機能ブロック図である。
【図３】本実施形態に係るデジタルカメラ１００及びＰＣ１０１の機能を、モジュールとして示すブロック図である。
【図４】記憶媒体２１８に記録されている画像ファイルの構成を示す図である。
【図５】記憶媒体２１８に記録されている画像ファイルにおいて、ヘッダ情報４１１及びサムネイル画像４１２が含まれている可能性の高い固定長領域５０１を示す図である。
【図６】固定長領域６０１のデータサイズが小さいために、ヘッダ情報４１１及びサムネイル画像４１２が固定長領域６０１に収まらない例を示す図である。
【図７】デジタルカメラ１００の記憶媒体２１８に記録されているファイルから、ＰＣ１０１に送信するべきデータを抽出してＲＡＭ２１０に格納した、キャッシュデータ７００を示す図である。
【図８】ＰＣ１０１がキャッシュデータ７００からサムネイル画像を抽出してＲＡＭ２２９に格納した様子を示す図である。
【図９】デジタルカメラ１００がキャッシュデータ７００をＰＣ１０１に転送する処理の流れを示すフローチャートである。
【図１０】ＰＣ１０１がキャッシュデータ７００をデジタルカメラ１００から取得し、サムネイル画像を抽出する処理の流れを示すフローチャートである。
【図１１】通信モジュール３０３と通信モジュール３０４の間を転送されるデータ１１００の構成を示す図である。
【図１２】転送データ管理モジュール３０１が固定長領域のデータをＲＡＭ２１０に格納するシーケンスを示す図である。
【図１３】データ解析モジュール３０５がキャッシュデータ７００からサムネイル画像又はＥＸＩＦ情報を抽出するシーケンスを示す図である。
【図１４】データ解析モジュール３０５が特定の固定長領域からサムネイル画像又はＥＸＩＦ情報の抽出に失敗した場合に、デジタルカメラ１００から再度取得するシーケンスを示す図である。
【図１５】デジタルカメラ１００が固定長領域のキャッシュを繰り返している途中で、ＰＣ１０１からキャッシュデータ取得要求を受信したときのシーケンスを示す図である。
【符号の説明】
【０１３６】
１００  デジタルカメラ
１０１  ＰＣ
【図１】
2007274590.tif 000003
【図２】
2007274590.tif 000004
【図３】
2007274590.tif 000005
【図４】
2007274590.tif 000006
【図５】
2007274590.tif 000007
【図６】
2007274590.tif 000008
【図７】
2007274590.tif 000009
【図８】
2007274590.tif 000010
【図９】
2007274590.tif 000011
【図１０】
2007274590.tif 000012
【図１１】
2007274590.tif 000013
【図１２】
2007274590.tif 000014
【図１３】
2007274590.tif 000015
【図１４】
2007274590.tif 000016
【図１５】
2007274590.tif 000017