(57)【要約】【課題】  第２の記憶媒体から第１の記憶媒体に未だ転送されていない画像データを素早く見つけ出すことを可能とする。【解決手段】  前記第２の記憶媒体に記憶されている画像データが前記第１の記憶媒体に記憶されていない場合、その画像データが未転送であるとみなす。さらに、第１の記憶媒体に記憶されている画像データを新たに発見した場合は、未転送であるとみなされた画像データの識別情報と新たに発見された画像データの識別情報とを比較し、未転送であるとみなされた画像データが第１の記憶媒体に記憶されているか否かを判断する。【選択図】  図１０
2009175858.tif 000002
【特許請求の範囲】
【請求項１】
第１の記憶媒体に記憶されている画像データと、第２の記憶媒体に記憶されている画像データとを管理する管理手段と、
前記第１の記憶媒体に記憶されている画像データの識別情報に基づき、前記第２の記憶媒体に記憶されている画像データが前記第１の記憶媒体に記憶されているか否かを判断する判断手段とを有し、
前記判断手段により、前記第２の記憶媒体に記憶されている画像データが前記第１の記憶媒体に記憶されていないと判断された場合、前記管理手段は、前記第２の記憶媒体に記憶されている画像データが未転送であるとみなし、
前記管理手段が、前記第１の記憶媒体に記憶されている画像データを新たに発見した場合、前記判断手段は、未転送であるとみなされた画像データの識別情報と新たに発見された画像データの識別情報とを比較することで、前記未転送であるとみなされた画像データが前記第１の記憶媒体に記憶されているか否かを判断することを特徴とする情報処理装置。
【請求項２】
前記第２の記憶媒体は、外部装置の記憶媒体であり、
前記未転送とみなされた画像データを前記外部装置から受信する受信手段をさらに有する請求項１に記載の情報処理装置。
【請求項３】
前記判断手段により、前記第２の記憶媒体に記憶されている画像データが前記第１の記憶媒体に記憶されていると判断された場合、前記管理手段は、前記第２の記憶媒体に記憶されている画像データが前記第１の記憶媒体に転送済みであるとみなすことを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記管理手段は、前記第１の記憶媒体に記憶されている画像データの識別情報である第１の識別情報と、前記第２の記憶媒体に記憶されている画像データの識別情報である第２の識別情報とをそれぞれリストで管理し、
前記判断手段は、前記第１の識別情報のリストに、前記第２の識別情報と同じ識別情報が含まれているか否かを判断することで、前記第２の記憶媒体に記憶されている画像データが前記第１の記憶媒体に記憶されているか否かを判断することを特徴とする請求項１乃至３のいずれかに記載の情報処理装置。
【請求項５】
前記判断手段はさらに、前記第２の記憶媒体に記憶されている画像データに対応する関連データが前記第１の記憶媒体に記憶されているか否かを判断し、
前記管理手段は、前記関連データが前記第１の記憶媒体に記憶されていないと判断した場合、前記関連データに対応する画像データが未転送であるとみなすことを特徴とする請求項１乃至４のいずれかに記載の情報処理装置。
【請求項６】
前記関連データは、前記画像データに関連付けられた音声データであることを特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記関連データは、前記画像データに関連付けられたＲＡＷ画像データであることを特徴とする請求項５または６に記載の情報処理装置。
【請求項８】
前記識別情報は、前記画像データのＵＵＩＤ（Ｕｎｉｖｅｒｓａｌ  Ｕｎｉｑｕｅ  ＩＤ）であることを特徴とする請求項１乃至７のいずれかに記載の情報処理装置。
【請求項９】
前記識別情報は、前記画像データの少なくとも一部のバイナリデータであることを特徴とする請求項１乃至７のいずれかに記載の情報処理装置。
【請求項１０】
前記管理手段は前記第２の記憶媒体に記憶されている画像データが前記第１の記憶媒体に記憶されているか否かを判断できなかった場合、前記第２の記憶媒体に記憶されている画像データが未転送であるとみなすことを特徴とする請求項１乃至９のいずれかに記載の情報処理装置。
【請求項１１】
コンピュータを、
第１の記憶媒体に記憶されている画像データと、第２の記憶媒体に記憶されている画像データとを管理する管理手段と、
前記第１の記憶媒体に記憶されている画像データの識別情報に基づき、前記第２の記憶媒体に記憶されている画像データが前記第１の記憶媒体に記憶されているか否かを判断する判断手段として機能させるプログラムであって、
前記判断手段により、前記第２の記憶媒体に記憶されている画像データが前記第１の記憶媒体に記憶されていないと判断された場合、前記管理手段は、前記第２の記憶媒体に記憶されている画像データが未転送であるとみなし、
前記管理手段が、前記第１の記憶媒体に記憶されている画像データを新たに発見した場合、前記判断手段は、未転送であるとみなされた画像データの識別情報と新たに発見された画像データの識別情報とを比較することで、前記未転送であるとみなされた画像データが前記第１の記憶媒体に記憶されているか否かを判断することを特徴とするコンピュータが読み取り可能なプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データを外部機器から受信する情報処理装置、その制御方法、プログラムに関する。
【背景技術】
【０００２】
近年、記憶媒体の容量が増加するのに伴い、デジタルカメラのメモリカードの容量も増加し、大量の画像データが記憶可能となっている。それに伴い、パーソナルコンピュータ（以下、「ＰＣ」）のストレージにも、デジタルカメラから転送される画像データが大量に取り込まれている状態になっている。
【０００３】
このように大量な枚数の画像を扱う場合、撮影した画像データがすでにＰＣに取り込まれているのか否かをユーザが正しく判断するのは難しい。
【０００４】
また、毎回通信時にすべての画像データをデジタルカメラからＰＣに転送すると、画像データが重複してＰＣに転送されることになる。
【０００５】
このような問題を回避するために、画像データに付加される識別情報、例えばＵＵＩＤを用いて、重複した画像データの転送を回避する方法が知られている。
【０００６】
例えば、デジタルカメラ内にある画像データのすべてのＩＤと、ＰＣ内にある画像データのすべてのＩＤとを入手し、それらを比較することで、デジタルカメラ内の画像で取り込まれていないものを見つけるという方法が知られている（例えば、特許文献１）。
【特許文献１】特開２００１−３０９２１９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
特許文献１に記載の発明は、ＩＤのリストを互いに作成し、そしてその２つのＩＤリストにあるＩＤを１つずつ比較する必要がある。したがって、画像データの数が多い場合にはＩＤを比較する処理を何度も行う可能性が高く、結果として画像データが転送済みか否かを判断するのに非常に時間がかかってしまう。
【課題を解決するための手段】
【０００８】
本発明に係る情報処理装置は、上記課題を解決するためのものであり、第１の記憶媒体に記憶されている画像データと、第２の記憶媒体に記憶されている画像データとを管理する管理手段と、前記第１の記憶媒体に記憶されている画像データの識別情報に基づき、前記第２の記憶媒体に記憶されている画像データが前記第１の記憶媒体に記憶されているか否かを判断する判断手段とを有し、前記判断手段により、前記第２の記憶媒体に記憶されている画像データが前記第１の記憶媒体に記憶されていないと判断された場合、前記管理手段は、前記第２の記憶媒体に記憶されている画像データが未転送であるとみなし、前記管理手段が、前記第１の記憶媒体に記憶されている画像データを新たに発見した場合、前記判断手段は、未転送であるとみなされた画像データの識別情報と新たに発見された画像データの識別情報とを比較することで、前記未転送であるとみなされた画像データが前記第１の記憶媒体に記憶されているか否かを判断することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、データが未転送か否かを高速に判断することが可能となる。
【発明を実施するための最良の形態】
【００１０】
（第１の実施形態）
本発明の第１の実施形態について説明する。本実施形態では、画像処理装置の一種であるデジタルカメラと、情報処理装置の一種であるＰＣとが接続され、データ通信を行う場合を例として説明する。
【００１１】
＜デジタルカメラ及びＰＣの構成＞
図１は、本実施形態における通信システムの概要を示す図である。
【００１２】
図１において、デジタルカメラ１００とＰＣ１０１は、通信インタフェース１０２を介して通信を行う。
【００１３】
デジタルカメラ１００とＰＣ１０１は、オブジェクトベースのプロトコルであるＰＴＰ（Ｐｉｃｔｕｒｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）に基づいて通信するものとする。なお、本発明を実現するためのプロトコルはＰＴＰに限定されず、例えばオブジェクトベースのプロトコルであるＭＴＰ（Ｍｅｄｉａ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）などを用いてもよい。
【００１４】
ＰＣ１０１には、デジタルカメラ１００に対し、ＰＴＰにしたがって画像データを送信するよう要求することを可能とするアプリケーションがインストールされている。
【００１５】
図２において、デジタルカメラ１００とＰＣ１０１の内部構成を表すブロック図を示す。
まず、デジタルカメラ１００の内部構成について説明する。
【００１６】
２０１は光学系を示す。被写体からの光束が光学系２０１を通して撮像素子２０２へ電荷として保持される。撮像素子２０２で蓄積された電荷が撮像プロセス部２０３で画像信号として変換される。撮像プロセス部２０３から出力された信号は、Ａ／Ｄコンバータによりデジタル信号に変換されて、データバス２０５を介してＲＡＭ２１０に保存される。
【００１７】
中央処理プロセス部２１３は、画像処理部２０７、圧縮伸張部２０８、表示制御部２０９、記録再生制御部２１１、通信制御部２１２、中央制御部２１５の６つから成り立っている。
【００１８】
画像処理部２０７は、ホワイトバランス、シャープ、ぼかし、カラーバランス、レベルの補正等を行う。
【００１９】
圧縮伸張部２０８は画像処理部２０７で処理されたデジタル画像をＪＰＥＧ、ＪＰＥＧ２０００等の画像圧縮方法に従って圧縮する機能と、圧縮されたデジタル画像を伸長する機能とを有する。圧縮率は、ユーザによる設定が可能である。
【００２０】
表示制御部２０９は、表示器２１７へのＵＩ（ユーザインタフェース）の描画を行う。
記録再生制御部２１１は、記憶媒体２１８への入出力制御を行う。
通信制御部２１２は、通信器２１９へのデータの入出力制御を行う。
中央制御部２１５は各制御部を統括して制御する。
【００２１】
システム制御部２１４は、データバス２０５と接続されておりＲＯＭ２００内の制御プログラムに従ってデジタルカメラ１００を制御する。
【００２２】
中央制御部２１５は、圧縮伸長部２０８で圧縮されたデジタル画像とそのデジタル画像の付加情報とを含む画像データをファイルとして生成し、生成した画像データをＲＡＭ２１０に格納する機能を有する。付加情報には、画像に関する情報、デジタルカメラ１００に関する情報、画像データのサムネイル等が含まれる。また、本実施形態におけるデジタルカメラ１００は、撮影した画像に一意な識別番号であるＵＵＩＤ（Ｕｎｉｖｅｒｓａｌ  Ｕｎｉｑｕｅ  ＩＤ）を付加する。ＵＵＩＤはカメラの固体番号と今までに撮影した画像の枚数に基づき生成される。なお、ＵＵＩＤはファイルのヘッダ部に記憶される。
ＲＡＭ２１０は、複数の画像データを記憶する容量を有する。
【００２３】
また、システム制御部２１４は、デジタルカメラ１００を省電力状態にする機能を有する。ここで、デジタルカメラ１００が省電力状態である場合、システム制御部２１４は、デジタルカメラ１００の機能の一部をオフにしてバッテリの消費電力を削減する。
【００２４】
ＲＯＭ２００は、デジタルカメラ１００を制御するための制御プログラム、デジタルカメラ１００に関する情報等が記憶されている。また、ＲＯＭ２００には、表示部２１７に表示される設定メニューに対応する画像データも記憶されている。
【００２５】
操作器２１６は、デジタルカメラ１００を操作するためのユーザインタフェースであり、デジタルカメラ１００の電源をオン又はオフするための電源スイッチを含む。また、シャッタボタン、表示部２１７に設定メニューを表示するためのメニューボタン、表示部２１７に表示されたカーソルを上、下、左又は右に移動するための十字ボタンも含む。さらに、カーソルが選択している画像、項目、値等をデジタルカメラ１００に設定又は選択させるためのＳＥＴボタン等を含む。シャッタボタンには、半押し状態と全押し状態とがある。シャッタボタンが半押し状態にされると、デジタルカメラ１００はＡＦ、ＡＥ等を実行し、シャッタボタンが全押し状態にされると、デジタルカメラ１００はデジタル画像の撮影を実行する。
【００２６】
表示器２１７は、表示制御部２０９によって要求された描画を表示するものであり、デバイスとしては液晶等の表示器を有し、その表示器に様々な情報を表示する。表示部２１７は、デジタルカメラ１００に関する情報を表示する機能と、撮影画像を表示する機能と、記憶媒体２１８に保存された画像データを表示する機能等を有する。記憶媒体２１８に保存された画像データを表示する場合にはそのデジタル画像に関する情報も表示することができる。また、表示部２１７は、設定メニュー等のグラフィカルユーザインタフェースを提供する機能を有する。
【００２７】
記録再生制御部２１１は、ＲＡＭ２１０に格納された画像データを記憶媒体２１８に書き込む機能と、記憶媒体２１８に保存された画像データを記憶媒体２１８から読み出してＲＡＭ２１０に書き込む機能とを有する。記憶媒体２１８から読み出されてＲＡＭ２１０に書き込まれた画像データは、システム制御部２１４によって表示部２１７に表示される。
【００２８】
記憶媒体２１８は、ＲＡＭ２１０に保存された画像データ（ＪＰＥＧ画像など）を記録再生制御部２１１を介して格納する。この記憶媒体２１８は、脱着可能な媒体でも装置に組み込まれた記憶媒体のどちらでもかまわなく、デジタルカメラ１００に電源が投入されていない状態でも記憶を保持することが可能な媒体である。
【００２９】
通信器２１９は、無線機能を有し、有線通信を持たないものは、メディア経由で無線情報を更新し、有線通信を持つものでも構わない。また通信器の脱着可、不可を問わない。
【００３０】
また、記録再生制御部２１１は、デジタルカメラで読み書きできるよう、ＤＣＦ規格（Ｄｅｓｉｇｎ  ｒｕｌｅ  ｆｏｒ  Ｃａｍｅｒａ  Ｆｉｌｅ  Ｓｙｓｔｅｍ）で記憶されるものとする。また、動画データは、ＤＣＦ基本ファイルとＤＣＦサムネイルファイルの２つのファイル構成で１つのマルチメディアデータとして扱っている。実際のファイル構成は、ＤＣＦ規格に限らず、複数のファイルで構成しているマルチメディアデータでもかまわない。
【００３１】
通信制御部２１３では、ＰＴＰ規格に準拠した通信が可能である。前述した通り、通信方式はＰＴＰ規格に限定されるものではない。
【００３２】
次に、ＰＣ１０１の内部構成について説明する。
【００３３】
ＰＣ１０１の操作器２２１は、例えばキーボードやマウスなどであり、操作器２２１からの入力信号に基づき、システム制御部２２５が操作の制御を行う。
【００３４】
表示器２２２は、出力モニタであり、表示制御部２２８により描画されたＵＩを出力する。
【００３５】
ＲＡＭ２２９は、ＰＣ１０１のＯＳや、アプリケーションを動作させるための揮発性のメモリである。
【００３６】
記憶媒体２２３は、記憶制御部２３０によるデータの要求に応じて入出力をする装置であり、不揮発性の記憶装置である。記憶媒体２２３には、ＯＳやアプリケーションが格納されている。
【００３７】
通信器２２４は、通信インタフェース２３４と接続可能な通信装置であり、通信制御部２３１によりデータの入出力を行う。通信器２２４は、無線機能を有し、有線通信を持たないものはメディア経由で無線通信情報を更新し、有線通信を持つものでも構わない。また通信器の脱着可、不可を問わない。  中央処理プロセス部２２７は、表示制御部２２８、記憶制御部２３０、通信制御部２３１、中央制御部２２６（各制御部の統括等）で構成される。各制御部の役割は、デジタルカメラ１００の各制御部と同様である。
【００３８】
図３は、本実施形で必要となる画像通信システムにおけるモジュール構成図を示す。なお、本実施形態では、図２に示した各制御部が各部を制御することにより、各モジュールの機能を実現する。
【００３９】
まず、デジタルカメラ１００のモジュール構成を説明する。
【００４０】
記憶媒体３０１は、デジタルカメラ１００に格納される画像データが保存される記憶媒体であり、図２の記憶媒体２１８に対応する。記憶媒体３０１は、脱着可能なものであっても不可なものであってもどちらでもかまわない。記憶媒体３０１には、静止画や動画などの画像データがＤＣＦ規格にしたがって記憶されている。
【００４１】
ファイル管理モジュール３０２は、記憶媒体３０１に格納されているデータの読み書きを管理するモジュールであり、デジタルカメラ１００の再生時に必要な画像を管理し、通信モジュール３０３から要求される画像データの読み書きを管理するモジュールである。
【００４２】
通信モジュール３０３は、デジタルカメラ１００にインストールされており、通信インタフェース１０２を介して通信を制御するためのモジュールである。本実施形では、ＰＴＰを使って通信を実現している。
【００４３】
次に、ＰＣ１０１のモジュール構成を説明する。
【００４４】
通信モジュール３０４は、ＰＣ１０１にインストールされており、周辺機器と通信を制御するためのモジュールである。本実施形では、ＰＴＰを使って通信を実現している。
【００４５】
ファイル管理モジュール３０５は、ＵＩ３０８で実現されるアプリケーション上でのファイルの管理を行なうモジュールである。具体的には、デジタルカメラ内にある各画像の情報と、ＰＣに既に取り込んでいる情報、例えばサムネイルデータやヘッダ情報（撮影日時、撮影機種、解像度、撮影パラメータなど）を関連付けて保持している。また画像データの本体がＰＣ１０１の記憶媒体３０７に格納されてキャッシュされている場合は、それらの情報も関連付けて保持している。
【００４６】
ファイル解析モジュール３０６は、デジタルカメラ１００から送信されてきたデータを解析し、どんな情報が書き込まれているのかを解析するためのモジュールである。具体的には、ＪＰＧの画像ファイルであれば、ファイルフォーマット、撮影日時、撮影機種、解像度、撮影パラメータ、動画のフレーム情報などを解析により得ることができる。
【００４７】
記憶媒体３０７は、ＰＣ１０１に格納される画像データを記憶するために必要な媒体であり、図２の記憶媒体２２３に対応する。本実施形態では、デジタルカメラ１００から受信した画像データをキャッシュするために用いる。
【００４８】
ＵＩ３０８は、ＰＣ１０１にインストールされているアプリケーションのＵＩであり、サムネイル一覧または画像を示すアイコンの一覧を表示する手段と、画像データの表示制御を行うための手段を持っている。
【００４９】
表示器３０９は、各種データを描画するディスプレイ装置である。本実施形態では表示器として扱うが、ディスプレイ装置であれば、プロジェクターやデジタルテレビなどでもかまわない。
【００５０】
＜画像転送処理＞
次に、本実施形態における画像転送処理について説明する。
【００５１】
図４は、本実施形態における画像転送処理におけるデジタルカメラ１００及びＰＣ１０１の動作を示すフローチャートである。図４のうち、点線より左側がデジタルカメラ１００の動作であり、点線より右側がＰＣ１０１の動作である。
【００５２】
なお、以下説明するデジタルカメラ１００の動作は、デジタルカメラ１００のシステム制御部２１４が入力信号やプログラムにしたがって各部を制御することにより実現する。また、ＰＣ１０１の動作も同様に、システム制御部２２５が各部を制御することにより実現する。
【００５３】
まず、ステップＳ４０１において、ＰＣ１０１は、デジタルカメラ１００との接続を検知したか否かを判断する。検知したと判断した場合にはＰＣは２つのスレッドを立ち上げる。１つはデジタルカメラ１００側の画像データのＵＵＩＤを管理するためのスレッドであり、もう１つはＰＣ１０１側の画像データのＵＵＩＤを管理するためのスレッドである。この２つのスレッドによる処理を並行して実行するため、処理をステップＳ４０２、ステップＳ４０３に進める。接続を検知しなかったと判断しなかった場合には処理を繰り返す。
【００５４】
ステップＳ４０２において、ＰＣ１０１は、自機の記憶媒体２２３に記憶された画像データのＵＵＩＤリストを作成する。この処理については後述する
ステップＳ４０３において、ＰＣ１０１は、画像情報に含まれる属性情報に基づき、デジタルカメラ１００の記憶媒体２１８に記憶された画像データのＵＵＩＤリストを作成する。この処理については後述する。
【００５５】
ステップＳ４０４において、ＰＣ１０１は、ステップＳ４０４で生成したＰＣ１０１側のＵＵＩＤのリストとステップＳ４０６で生成したデジタルカメラ１００側のＵＵＩＤリストとを比較する。ＰＣ１０１は、ＰＣ１０１側のＵＵＩＤとデジタルカメラ１００側のＵＵＩＤといった第１の識別情報と第２の識別情報を比較・照合することにより、未転送の画像データを判別することが可能となる。この処理については後述する。なお、本実施形態における比較処理では、ステップＳ４０２やステップＳ４０３のリスト生成処理が完了する前に、別スレッドで並行して実行される。つまり、ＰＣ１０１はＵＵＩＤリストを更新しつつ、更新中のＵＵＩＤリストに基づいてＵＵＩＤの比較を行う。
【００５６】
ステップＳ４０４の比較の結果、ＰＣ１０１は、デジタルカメラ１００からＰＣ１０１に未だ転送されていない画像データのＵＵＩＤを特定することができる。すなわち、カメラ側リストに存在し、かつＰＣ側リストに存在しないＵＵＩＤを有する画像データが、デジタルカメラ１００からＰＣ１０１に未だ転送されていない画像データと判断できる。したがって、ステップＳ４０５において、ＰＣ１０１は、デジタルカメラに対してＰＣ１０１未だ転送されていない画像データを要求する旨の信号を送信する。この要求にはＵＵＩＤが含まれる。この要求に応じて、デジタルカメラ１００は、要求に含まれるＵＵＩＤを有する画像データを記憶媒体２１８から読みだし、ＰＣ１０１に送信する。
【００５７】
ステップＳ４０６において、ＰＣ１０１はデジタルカメラ１００が送信した画像データを受信し、記憶媒体２２３に記憶する。
【００５８】
以上が、デジタルカメラ１００とＰＣ１０１を接続してから画像が送信されるまでの流れである。本実施形態におけるデジタルカメラ１００及びＰＣ１０１は、図４に示す処理をユーザ操作なしで実行する。つまり、ユーザはデジタルカメラ１００及びＰＣ１０１を接続するという簡単な操作を行うだけで、未転送の画像データがＰＣ１０１に自動的に送信される。
【００５９】
次に、図４のフローチャートにおける各ステップの処理について詳細に説明する。
【００６０】
＜ＰＣ側のＵＵＩＤリスト生成処理＞
ＰＣ１００に記憶された画像データのＵＵＩＤリスト（以下、「ＰＣ側リスト」）を生成する処理について説明する。この処理は図４のステップＳ４０２の処理に対応する。
【００６１】
図５は、本処理におけるＰＣ１０１の動作を示すフローチャートである。
【００６２】
ステップＳ５０１において、ＰＣ１０１側リストを生成する処理を開始する。
【００６３】
ステップＳ５０２において、ＰＣ１０１は自機の記憶媒体２２３を検索し、画像データを読み出す。
【００６４】
ステップＳ５０３において、ＰＣ１０１は画像データを解析し、画像データに付加情報として含まれるＵＵＩＤを抽出することでＵＵＩＤを取得する。通常ＵＵＩＤはヘッダ部に含まれているため、このステップではヘッダ部を解析する。
【００６５】
ステップＳ５０４において、ＰＣ１０１は、ステップＳ５０３で取得したＵＵＩＤをＰＣ側リストに追加する。ＰＣ側リストが存在しない場合は新規に作成する。
【００６６】
ステップＳ５０５において、ＰＣ１０１は、すべての画像データからＵＵＩＤを取得したか否かを判断する。すべての画像データからＵＵＩＤを取得したと判断した場合には、処理を終了する。まだＵＵＩＤを取得していない画像データがあると判断した場合には、処理をステップＳ５０２に戻し、ＵＵＩＤを取得していない画像データを検索する。
【００６７】
なお、ステップＳ５０３において、画像データを解析した結果、ＵＵＩＤが正常に得ることができない場合がある。この場合、この画像データはＰＣ側リストに追加しないが、ステップＳ５０５の判断ではＵＵＩＤを取得したものとして取り扱う。
【００６８】
ステップＳ５０５において、すべての画像データからＵＵＩＤを取得したと判断した場合には、処理を終了する。
【００６９】
＜デジタルカメラ側のＵＵＩＤリスト生成処理＞
デジタルカメラ１００に記憶された画像データのＵＵＩＤリスト（以下、「カメラ側リスト」）を生成する処理について説明する。この処理は図４のステップＳ４０３の処理に対応する。
【００７０】
図６は、本処理におけるＰＣ１０１の動作を示すフローチャートである。
【００７１】
ステップＳ６０１において、ＰＣ１０１はカメラ側リストを生成する処理を開始する。
【００７２】
ステップＳ６０２において、ＰＣ１０１は、デジタルカメラ１００に対してデジタルカメラ１００内の画像データの情報を要求する。この要求に応じて、デジタルカメラ１００は、記憶媒体２１８に記憶された画像データのファイル名並びにパスを示すリストと、記憶媒体２１８に記憶された画像データの属性情報とを含む画像情報をＰＣ１０１に送信する。ここで、属性情報には画像データのＵＵＩＤが含まれる。本実施形態におけるデジタルカメラ１００は、記憶媒体２１８に記憶された画像データからＵＵＩＤが含まれる部分、例えばヘッダ部を抽出して送信する。ここで、画像データのリストは、記憶媒体２１８に記憶されたすべての画像データのファイル名及びパスが記載されている。属性情報は画像データ１つ分の画像情報を画像の数だけ送信してもよいし、複数の画像データに関する属性情報を１つのデータ構造体としてまとめて送信してもよい。
【００７３】
ステップＳ６０３において、ＰＣ１０１は、デジタルカメラ１００から送信された画像情報を受信する。
【００７４】
ステップＳ６０４において、ＰＣ１０１は、ステップＳ６０２で受信した画像情報を解析し、画像情報に含まれるＵＵＩＤを抽出することで、ＵＵＩＤを取得する。
【００７５】
ステップＳ６０５において、ＰＣ１０１は、ステップＳ６０４で取得したＵＵＩＤをカメラ側リストへ追加する。カメラ側リストが存在しない場合は新規に作成する。
【００７６】
ステップＳ６０６において、ＰＣ１０１は、解析した画像情報の数とステップＳ６０３で受信したリストに記載された画像データの数とを比較し、取得すべき画像データが他にあるかどうかを判断する。まだカメラ側リストに追加すべき画像データが存在すると判断した場合には、処理をステップＳ６０２に戻し、再度画像情報を要求する。カメラ側リストに追加すべき画像データがない、つまりデジタルカメラ１００内の画像データのＵＵＩＤをすべてカメラ側リストにリストアップしたと判断した場合は、処理を終了する。
【００７７】
ここで、ステップＳ６０４において、画像データを解析した結果、ＵＵＩＤが正常に取得できない場合がある。本実施形態では、ＵＵＩＤが正しく取得できなかった画像データは未転送リストへ追加することとし、画像データが転送されない事態を防ぐこととした。もちろん、ＵＵＩＤが取得できない画像データは転送済リストに追加し、ＰＣ１０１に送信されないようにしてもよい。
【００７８】
＜ＵＵＩＤの比較＞
以下、デジタルカメラ１００の記憶媒体２１８に記憶された画像データのＵＵＩＤと、ＰＣ１０１の記憶媒体２２３に記憶された画像データのＵＵＩＤとを比較する処理について説明する。この処理は図４のステップＳ４０４に対応する。
【００７９】
図７は、本処理におけるＰＣ１０１の基本的な動作を示すフローチャートである。なお、前述したように、本実施形態におけるＵＵＩＤの比較処理はカメラ側リスト、ＰＣ側リストの生成処理、すなわち図５、図６に示す処理と並行して行われる。
【００８０】
ステップＳ７００において、ＰＣ１０１は、図６のフローチャートで生成したカメラ側リストから、比較元とするＵＵＩＤを１つ読み出す。そして、図５のフローチャートで生成したＰＣ側リストからもＵＵＩＤを１つ読み出す。
【００８１】
ステップＳ７０１において、ＰＣ１０１は、ステップＳ７００で読み出した２つのＵＵＩＤを比較する。
【００８２】
ステップＳ７０２において、ＰＣ１０１は、ステップＳ７０１で読み出したＵＵＵＩＤが一致するか否かを判断する。一致すると判断した場合には画像データは転送済みであると考えられるため、処理をステップＳ７０３に進める。一致しない判断した場合には処理をステップＳ７０６に進める。
【００８３】
まず、ステップＳ７０２において、ＵＵＩＤが一致すると判断された場合について説明する。
【００８４】
ステップＳ７０３において、ＰＣ１０１は、一致したＵＵＩＤを有する画像データの関連データが、デジタルカメラ１００に記憶されているか否かを判断する。関連データとは、画像データに関連付けられた音声データや、ＲＡＷ画像データ、もしくはテキストデータなどである。ＰＣ１０１は、関連データが記憶されていると判断した場合、処理をステップＳ７０４に進める。関連データがないと判断された場合は、処理をステップＳ７０５に進める。関連データがあるか否かの判断は、ステップＳ６０３で受信したファイル名及びパスのリストに基づいて判断される。具体的には、対象となる画像データとディレクトリが同階層であり、更新日時が一定期間内であり、同じ命名規則にしたがったファイル名を有するデータであれば関連データと判断される。
【００８５】
ステップＳ７０４において、ＰＣ１０１は、関連データがＰＣ１０１に既に転送されているか否かをステップＳ７０３と同様の基準で判断する。複数の関連データと関連付けられている場合には、すべての関連データについて既に転送されているか否かを判断する。例えば、デジタルカメラ１００の画像データにはＲＡＷデータや音声メモを関連付けることができる。このような場合において、ＰＣ１０１に音声データとＲＡＷデータのうち一方しか記憶されていない場合や、ＲＡＷデータと音声メモの両方とも記憶されていないと判断された場合は、ＰＣ１０１は処理をステップＳ７０６に戻す。また、すべての関連データが記憶されていると判断した場合は、処理をステップＳ７０５に進める。
【００８６】
ステップＳ７０５において、ＰＣ１０１は、ステップＳ７０１でカメラ側リストから読み出したＵＵＩＤを有する画像データ及びその関連データが、既にＰＣ１０１に転送されていると判断する。したがって、ＰＣ１０１はＵＵＩＤを転送済みリストに追加し、処理をステップＳ７０９に進める。ここで転送済リストとは、比較処理の結果、既にＰＣ１０１に転送されていると判断された画像データのＵＵＩＤを保持するリストである。
【００８７】
次に、ステップＳ７０２において、一致するＵＵＩＤが存在しないと判断された場合について説明する。
【００８８】
ステップＳ７０６において、ＰＣ１０１は、カメラ側リストから読み出したＵＵＩＤを、ＰＣ側リストが保持するＵＵＩＤのすべてと比較したか否かを判断する。すべてと比較したと判断した場合には処理をステップＳ７０８に進める。すべてと比較していないと判断した場合には処理をステップＳ７０７に進める。
【００８９】
ステップＳ７０７において、ＰＣ１０１は、ＰＣ側リストのうち、まだカメラ側リストと比較していないＵＵＩＤを読み出し、処理をステップＳ７０２に戻す。この処理で、新たなＵＵＩＤとの比較を行う。
【００９０】
ステップＳ７０８において、ＰＣ１０１はカメラ側リストから読み出したＵＵＩＤを有する画像データがＰＣ１０１には記憶されていないと判断する。そして、カメラ側リストから読み出したＵＵＩＤを未転送リストに追加し、カメラ側リストから削除する。その後、処理をステップＳ７０９に進める。ここで未転送リストとは、デジタルカメラ１００に記憶されている画像データのうち、まだＰＣ１０１に転送されていない画像データのＵＵＩＤを保持するリストである。
【００９１】
ステップＳ７０９において、ＰＣ１０１は、カメラ側リストが空か否かを判断する。空であると判断した場合には、処理をステップＳ７１０に進める。空でないと判断した場合には、処理をステップＳ７００に戻し、カメラ側リストからまだＰＣ側リストと比較していないＵＵＩＤを読み出し、比較処理を行う。
【００９２】
ステップＳ７１０において、ＰＣ１０１は、図５、図６に示すＵＵＩＤリストの生成処理において、すべての画像についてＵＵＩＤを抽出したか否かを判断する。すべて抽出したと判断した場合、デジタルカメラ１００内の画像データと、ＰＣ１０１内の画像データのすべてについて比較処理を行ったことになるため、処理を終了する。すべて抽出していないと判断した場合には、処理をステップＳ７０９に戻す。以上が、ＵＵＩＤの比較処理の基本的な流れである。
【００９３】
このように、本実施形態におけるＰＣ１０１は、記憶媒体２２３と記憶媒体２１８といった、第１の記憶媒体と第２の記憶媒体とに記憶された画像データの識別情報を比較する。この比較処理により、ＰＣ１０１は、記憶媒体２１８に記憶されている画像データが記憶媒体２２３にも記憶されているかを判断することができる。
【００９４】
次に、比較処理と並行して図５に示すＰＣ側リスト生成処理を行った結果、比較処理の途中で新たな画像がＰＣ側リストに追加された場合の処理について説明する。
【００９５】
図８は、比較処理の途中で新たな画像がＰＣ側リストに追加された場合における、ＰＣ１０１の動作を示すフローチャートである。
【００９６】
本処理では、比較処理の開始後に、ＰＣ側リストに新たにＵＵＩＤが追加された場合、新たに追加されたＵＵＩＤをカメラ側リストが保持するＵＵＩＤと比較するのではなく、まず未転送リストが保持するＵＵＩＤと比較する。このことにより、一致するＵＵＩＤを高速に発見することが可能となる。以下、本処理について図８を用いて説明する。
【００９７】
本実施形態におけるＰＣ１０１は、図７に示す第１の比較処理とは異なるスレッドを起動し、図８に示す第２の比較処理を行う。
【００９８】
ステップＳ８０１において、ＰＣ１０１はＰＣ側リストの状態を監視し、ＰＣ側リストに新たなＵＵＩＤが追加されたか否かを判断する。追加されたと判断した場合、処理をステップＳ８０２に進める。追加されていないと判断した場合、処理を繰り返す。
【００９９】
ステップＳ８０２において、ＰＣ１０１は、新たに追加されたＵＵＩＤと比較するためのカメラ側の画像データのＵＵＩＤを読み出す。この際にＰＣ１０１は、カメラ側リストからＵＵＩＤを読み出すのではなく、未転送リストから１つのＵＵＩＤを読み出す。未転送リストには、図７のステップＳ７０８にて追加されたＵＵＩＤが保持されている。
【０１００】
ステップＳ８０３において、ＰＣ１０１は、新たに追加されたＵＵＩＤとステップＳ８０２で未転送リストから読み出したＵＵＩＤとを比較する。
【０１０１】
ステップＳ８０４において、ＰＣ１０１は、ステップＳ８０３における比較の結果、新たに追加されたＵＵＩＤとステップＳ８０２で未転送リストから読み出したＵＵＩＤとが一致するか否かを判断する。一致すると判断した場合には処理をステップＳ８０５に進める。一致しないと判断した場合には処理をステップＳ８０８に進める。
【０１０２】
まず、新たに追加されたＵＵＩＤとステップＳ８０２で未転送リストから読み出したＵＵＩＤとが一致すると判断した場合について説明する。
【０１０３】
ステップＳ８０５において、ＰＣ１０１は、未転送リストから読み出したＵＵＩＤを有する画像データの関連データがデジタルカメラ１００に記憶されているか否かを判断する。記憶されていると判断した場合は処理をステップＳ８０６に進める。記憶されていないと判断した場合には処理をステップＳ８０７に進める。この処理は図７のステップＳ７０３と同様の処理である。
【０１０４】
ステップＳ８０６において、ＰＣ１０１は、すべての関連データがＰＣ１０１に既に転送されているか否かを判断する。すべての関連データが転送されていると判断された場合は処理をステップＳ８０７に進める。関連データが１つでもＰＣ１０１に転送されていないと判断された場合には、処理をステップＳ８０８に進める。この処理は図７のステップＳ７０３と同様の処理である。
【０１０５】
ステップＳ８０７において、ＰＣ１０１は、未転送リストから読み出したＵＵＩＤを有する画像データがＰＣ１０１には記憶されていないと判断する。そして、未転送リストから読み出したＵＵＩＤを転送済リストに追加し、未転送リストから削除する。その後、処理をステップＳ８０１に戻し、新たなＵＵＩＤが追加されるのを監視する。
【０１０６】
次に、ステップＳ８０４において、新たに追加されたＵＵＩＤとステップＳ８０２で未転送リストから読み出したＵＵＩＤとが一致しないと判断した場合について説明する。
【０１０７】
ステップＳ８０８において、ＰＣ１０１は、未転送リストが保持するすべてのＵＵＩＤとの比較が終了したか否か判断する。終了していないと判断した場合には処理をステップＳ８０９に進める。終了したと判断した場合には処理をステップＳ８０１に戻し、新たなＵＵＩＤが追加されるのを監視する。
【０１０８】
ステップＳ８０９において、ＰＣ１０１は、未転送リストのうち、まだ比較処理を行っていないＵＵＩＤを読み出し、処理をステップＳ８０３に戻す。
【０１０９】
以上が、比較処理におけるＰＣ１０１の動作である。次に、ここまでの説明をカメラ側リスト、ＰＣ側リスト、未転送リスト、転送済リストを示す図を用いて説明する。図９に、カメラ側リスト、ＰＣ側リスト、未転送リスト、転送済リストの関係を示す。
【０１１０】
９００はカメラ側リストであり、デジタルカメラ１００内に記憶されている画像データのＵＵＩＤを保持している。また、カメラ側リストはデジタルカメラ１０１に記憶された画像データの記憶場所が特定できる情報を保持している。図９の例では、ＵＵＩＤとともにファイルパスを保持している。これはすべてのリストに共通する。
【０１１１】
９０１は転送済リストであり、図７のステップＳ７０５や図８のステップＳ８０７で追加されたＵＵＩＤを保持している。
【０１１２】
９０２は未転送リストであり、図７のステップＳ７０８で追加されたＵＵＩＤを保持している。
【０１１３】
９０３はＰＣ側リストであり、ＰＣ１０１内に記憶されている画像データのＵＵＩＤを保持している。
【０１１４】
以下、処理の流れを説明する。まず、ＰＣ１０１は、カメラ側リスト９００の保持するＵＵＩＤとＰＣ側リスト９０３の保持するＵＵＩＤとを読み出す。本実施形態では、リストの降順にＵＵＩＤが読み出され比較されるものとする。そこで、ＰＣ１０１は、カメラ側リスト９００からＵＵＩＤ９１１を読み出す。ＰＣ側リスト９０３からはＵＩＤ９２１を読み出す。この処理は、図７のステップＳ７００に対応する。
【０１１５】
そしてＰＣ１０１は、読み出したＵＵＩＤ９１１と、ＵＵＩＤ９２１とを比較する。この処理は、図７のステップＳ７０１に対応する。図９の例では、ＵＵＩＤ９１１とＵＵＩＤ９２１が一致するので、ＵＵＩＤ９１１を転送済リスト９０１に追加する（矢印９５１）。この処理は、図７のステップＳ７０５に対応する。
【０１１６】
続いてＰＣ１０１は、カメラ側リスト９００からまだ比較処理を行っていないＵＵＩＤ９１２を読み出す。そして、ＵＵＩＤ９２１と比較を行う。
【０１１７】
ＵＵＩＤ９１２とＵＵＩＤ９２１は異なるＵＵＩＤであるから、ＰＣ１０１は次のＵＵＩＤであるＵＵＩＤ９２２を読み出す。この処理は、図７のステップＳ７０７に対応する。ＵＵＩＤ９１２とＵＵＩＤ９２２はＵＵＩＤが一致するので、ＰＣ１０１はＵＵＩＤ９１２を転送済リスト９０１に追加する。このように、他のカメラ側リストが保持するＵＵＩＤについても比較処理が行われる。
【０１１８】
ここで、ＰＣ１０１はカメラ側リスト９００が保持するＵＵＩＤ９１３と、ＰＣ側リスト９０３が保持するＵＵＩＤとを比較した場合を一例として説明する。この場合、ＵＵＩＤ９１３と一致するＵＵＩＤはＰＣ側リスト９０３に存在しないため、ＰＣ１０１はＵＵＩＤ９１３を未転送リスト９０２に追加する。この処理は図７のステップＳ７０８に対応する。
【０１１９】
このように、ＰＣ１０１は、カメラ側リスト９００が保持するすべてのＵＵＩＤについて、ＰＣ側リスト９０３との比較を行い、転送済リスト９０１または未転送リスト９０２に振り分ける。
【０１２０】
次に、後からＰＣ側リスト１０１にＵＵＩＤが追加された場合について説明する。
【０１２１】
図９の状態から、ＵＵＩＤが追加されたリストを図１０に示す。図１０では、ＰＣ側リスト９０３にＵＵＩＤ９２３、ＵＵＩＤ９２４が追加されている。
【０１２２】
ＰＣ１０１は、ＵＵＩＤ９２３が追加されたことを検知すると、未転送リスト９０２に保持されているＵＵＩＤ９３１を読み出し、ＵＵＩＤ９２３と比較する。この処理は、図８のステップＳ８０２、Ｓ８０３に対応する。
【０１２３】
ＵＵＩＤ９３１とＵＵＩＤ９２３は同じ値であるから、ＰＣ１０１はＵＵＩＤ９３１を未転送リスト９０２から削除し、転送済リスト９０１に追加する。この処理は、図８のステップＳ８０７に対応する。
【０１２４】
もし複数のＵＵＩＤがＰＣ側リスト９０３に追加されたことを検知した場合は、追加されたＵＵＩＤのそれぞれについて上述の処理を繰り返す。
【０１２５】
以上述べたように、本実施形態では、ＵＵＩＤリストにＵＵＩＤを列挙する処理と並行して、カメラ側リストとＰＣ側リストの比較処理を行なう。このことにより、処理を高速におこなうことが可能となる。
【０１２６】
さらに、本実施形態では、比較処理が開始された後にＰＣ側リストに新たに追加されたＵＵＩＤは、カメラ側リストが保持するＵＵＩＤではなく、未転送リストが保持するＵＵＩＤと比較することとした。このことにより、既に転送済と判断されたＵＵＩＤとは比較せず、値が一致する可能性のあるＵＵＩＤのみと比較することが可能となる。したがって、不要な比較を減らすことが可能となり、処理を高速化することが可能となる。
【０１２７】
なお、本実施形態においてはＵＵＩＤを用いて比較処理を用いたが、他の識別情報を用いて比較処理を行ってもよい。例えば、画像データのサムネイルのバイナリデータや、ヘッダのバイナリデータ、もしくは本体データのバイナリデータを解析し、識別情報として用いても構わない。
【０１２８】
また、ＰＣ１０１は記憶媒体２２３に記憶された画像データの中から、比較の対象となる画像データの範囲を予め設定しておくことも可能である。例えば、特定のフォルダに記憶されている画像データのみを比較処理の対象とすることも可能である。
【０１２９】
また、本実施形態ではデジタルカメラとＰＣを接続するシステムを例に説明したが、必ずしもこのシステムには限定されない。例えば、ＰＣに着脱可能な２つの記憶媒体が接続された場合にも、本発明は適用可能である。
【０１３０】
＜他の実施形態＞
尚、本発明は、ソフトウェアのプログラムをシステム或いは装置に直接或いは遠隔から供給し、そのシステム或いは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによって前述した実施形態の機能が達成される場合を含む。この場合、供給されるプログラムは実施形態で図に示したフローチャートに対応したコンピュータプログラムである。
【０１３１】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【０１３２】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であっても良い。
【０１３３】
コンピュータプログラムを供給するためのコンピュータ読み取り可能な記憶媒体としては以下が挙げられる。例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などである。
【０１３４】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムをハードディスク等の記録媒体にダウンロードすることが挙げられる。この場合、ダウンロードされるプログラムは、圧縮され自動インストール機能を含むファイルであってもよい。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【０１３５】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布するという形態をとることもできる。この場合、所定の条件をクリアしたユーザに、インターネットを介してホームページから暗号を解く鍵情報をダウンロードさせ、その鍵情報を使用して暗号化されたプログラムを実行し、プログラムをコンピュータにインストールさせるようにもできる。
【０１３６】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどとの協働で実施形態の機能が実現されてもよい。この場合、ＯＳなどが、実際の処理の一部または全部を行ない、その処理によって前述した実施形態の機能が実現される。
【０１３７】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれて前述の実施形態の機能の一部或いは全てが実現されてもよい。この場合、機能拡張ボードや機能拡張ユニットにプログラムが書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行なう。
【図面の簡単な説明】
【０１３８】
【図１】第１の実施形態におけるシステムを示す図である。
【図２】第１の実施形態におけるハード構成を示す図である。
【図３】第１の実施形態におけるモジュール構成を示す図である。
【図４】第１の実施形態におけるＰＣが実行する処理を示すフローチャートである。
【図５】第１の実施形態におけるＰＣ側リストの作成処理を示すフローチャートである。
【図６】第１の実施形態におけるカメラ側リストの作成処理を示すフローチャートである。
【図７】第１の実施形態における比較処理を示すフローチャートである。
【図８】第１の実施形態における比較処理を示すフローチャートである。
【図９】第１の実施形態における比較処理の概要を示す図である。
【図１０】第１の実施形態における比較処理の概要を示す図である。
【符号の説明】
【０１３９】
１００  デジタルカメラ
１０１  ＰＣ
１０２  通信インタフェース
【図１】
2009175858.tif 000003
【図２】
2009175858.tif 000004
【図３】
2009175858.tif 000005
【図４】
2009175858.tif 000006
【図５】
2009175858.tif 000007
【図６】
2009175858.tif 000008
【図７】
2009175858.tif 000009
【図８】
2009175858.tif 000010
【図９】
2009175858.tif 000011
【図１０】
2009175858.tif 000012