(57)【特許請求の範囲】
【請求項１】
外部装置と通信し、画像を一意に特定する識別情報に基づき、自装置の記憶媒体に記憶した画像と前記外部装置に記憶されている画像との同期を行う情報処理装置であって、
前記記憶媒体に記憶した画像と前記外部装置の画像との識別情報が一致し、かつ、各画像の属性を示す属性情報が異なる場合に、該各画像の属性情報がユーザ操作によって編集されたものか否かを判定する判定手段と、
前記判定手段の判定の結果、各画像の属性情報のうち一方の前記属性情報がユーザ操作によって編集されたものと判定された場合、該ユーザ操作によって編集された前記属性情報に、他方の前記属性情報を同期させる同期処理手段と、を有することを特徴とする情報処理装置。
【請求項２】
前記判定手段により、前記記憶媒体に記憶した画像の前記属性情報、及び、前記外部装置の画像の前記属性情報のそれぞれがユーザ操作によって編集されたものと判定された場合に、一方の前記属性情報に他方の前記属性情報を同期させるか否かを選択可能とすることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
一方の前記属性情報に他方の前記属性情報を同期させるか否か、及び、同期させないことを選択可能とすることを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記判定手段は、前記属性情報のカテゴリ毎に前記判定を行うことを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記属性情報は、回転情報、タグ情報、ＧＰＳ情報のうち少なくとも一つを含むことを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
当該情報処理装置において前記属性情報がユーザ操作に基づき編集された場合に、ユーザ操作によって編集された旨を示す履歴を保持する保持手段を更に有し、
前記判定手段は、前記記憶媒体に記憶した画像の属性情報がユーザ操作によって編集されたものか否かを、前記履歴に基づき判定することを特徴とする請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
前記外部装置に記憶されている画像の属性情報がユーザ操作に基づき編集された旨を示す外部編集履歴を、前記外部装置から受信する受信手段を更に有し、
前記判定手段は、前記外部装置の画像の属性情報がユーザ操作によって編集されたものか否かを、前記外部編集履歴に基づき判定することを特徴とする請求項１乃至６のいずれか１項に記載の情報処理装置。
【請求項８】
外部装置と通信し、画像を一意に特定する識別情報に基づき、自装置の記憶媒体に記憶した画像と前記外部装置に記憶されている画像との同期を行う情報処理装置と通信し、前記情報処理装置の要求に応じて、記憶している画像と前記情報処理装置に記憶されている画像との同期がされ得る撮像装置であって、
前記情報処理装置が同期を行う際に用いる画像の属性を示す属性情報がユーザ操作に基づき編集された場合に、ユーザ操作によって編集された旨を示す履歴を保持する保持手段と、
前記情報処理装置の要求に応じて、前記履歴を前記属性情報とともに送信する送信手段と、を有することを特徴とする撮像装置。
【請求項９】
外部装置と通信し、画像を一意に特定する識別情報に基づき、自装置の記憶媒体に記憶した画像と前記外部装置に記憶されている画像との同期を行う情報処理装置の制御方法であって、
前記記憶媒体に記憶した画像と前記外部装置の画像との識別情報が一致し、かつ、各画像の属性を示す属性情報が異なる場合に、該各画像の属性情報がユーザ操作によって編集されたものか否かを判定する判定ステップと、
前記判定ステップの判定の結果、各画像の属性情報のうち一方の前記属性情報がユーザ操作によって編集されたものと判定された場合、該ユーザ操作によって編集された前記属性情報に、他方の前記属性情報を同期させる同期処理ステップと、を有することを特徴とする情報処理装置の制御方法。
【請求項１０】
外部装置と通信し、画像を一意に特定する識別情報に基づき、自装置の記憶媒体に記憶した画像と前記外部装置に記憶されている画像との同期を行う情報処理装置と通信し、前記情報処理装置の要求に応じて、記憶している画像と前記情報処理装置に記憶されている画像との同期がされ得る撮像装置の制御方法であって、
前記情報処理装置が同期を行う際に用いる画像の属性を示す属性情報がユーザ操作に基づき編集された場合に、ユーザ操作によって編集された旨を示す履歴を保持するステップと、
前記情報処理装置の要求に応じて、前記履歴を前記属性情報とともに送信するステップと、を有することを特徴とする撮像装置の制御方法。
【請求項１１】
コンピュータを、請求項１乃至７のいずれか１項に記載の情報処理装置の各手段として機能させるためのプログラム。
【請求項１２】
コンピュータを、請求項８に記載の撮像装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、外部装置から画像を取り込み、その後の通信時に、取り込んだ画像と外部装置内の画像との整合をとる同期処理を実行可能な情報処理装置等に関する。
【背景技術】
【０００２】
近年、デジタルカメラの記憶装置の容量増大、情報処理装置の記憶容量増大に伴い、デジタル画像（以下、画像）のファイル数が非常に膨大に記録可能で、かつ、情報処理装置内に大量に取り込むことが可能になっている。このように大量な枚数の画像を扱う状況の中で、デジタルカメラで撮影した画像が既に情報処理装置に取り込まれているのか否かという判断をユーザが行う場合、ユーザの作業負荷は非常に大きくなってしまう。また、ユーザ自身の管理ミスにより、取り込まれない画像がでてきたり、重複して画像が取り込まれたりしてしまう可能性もある。そこで、デジタルカメラからの画像を情報処理装置に取り込めたか否かを判定するシステムがある。
【０００３】
また、デジタルカメラからの画像が情報処理装置に取り込まれた後は、情報処理装置に取り込まれた画像が回転されたり、ヘッダ情報が編集されたりして、デジタルカメラと情報処理装置間にある画像同士で不整合が生じる場合がある。このような場合においては、デジタルカメラと情報処理装置間にある画像同士で整合性が合うように合致させる同期処理が望まれる。しかし、上記のような取り込みを判定するだけのシステムでは、画像に不整合が生じているにもかかわらず不整合が生じていることすら検知することができない。また、このような取り込みを判定するシステムでは、画像のＩＤといった単一の識別情報でデジタルカメラと情報処理装置間にある画像を比較することで取り込みができているか否かを判定する。だが、このような単一の識別情報だけを用いて同期処理をしようとしても、どちらの画像を基準に同期させるかという判断を行うことはできない。
【０００４】
ユーザにとって望ましいことは、画像データが過不足なく転送されるだけでなく、画像に不整合が生じている場合に同期処理することであると考えられる。そこで、このような不整合が生じる問題を回避するために、画像の更新日時・編集日時で同期処理を行うシステムが考えられている。デジタルカメラ或いは情報処理装置で画像を回転したり、画像のヘッダ情報の編集（タグの編集、キーワードの編集等）をしたりした場合、更新日時が変更される。更新日時等で同期処理を行うシステムは、更新日時が異なることを判定材料として同期処理を行うシステムであり、具体的には、更新日時が新しい方の画像を上書きする画像として判定して、同期処理を行うものである。なお、更新日時を利用せずに、ヘッダ内部に編集日時や履歴を記録することでも実現可能である。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７−０６０２０４号公報
【特許文献２】特開２００１−３０９２１９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記のような編集日時等のみを利用したシステムでは、デジタルカメラ側で画像の回転処理等、及び、コンピュータ側でタグ編集等をした場合に、ユーザにとって望ましくない同期処理がなされる場合がある。つまり、更新日時が新しい方の画像を基準に上書きするシステムではあるが、更新日時等を基準に画一的に同期をすることは、ユーザにとって望ましい画像の同期ではない場合がある。即ち、更新日時等が新しいからといって必ずしもユーザがこれを基準に同期されることを望んでない場合もあるからである。なお、画像を共有するシステムとして、例えば、以下のような特許文献が開示されている。
【０００７】
特許文献１に記載のシステムでは、デジタルカメラが画像を撮影するごとに画像の保存元ディレクトリと配信先アドレスと保存先ディレクトリとを含む配信情報をメンバとなる他のデジタルカメラごとに生成し、各配信情報を登録した配信リストを生成する。そして、デジタルカメラが配信情報に基づいてメンバとなる他のデジタルカメラへそれぞれ画像データを配信する。しかしながら、特許文献１に記載のシステムでは、画像内のヘッダ情報等が更新され、共有した画像同士に不整合が生じた場合について考慮されていない。
【０００８】
また、特許文献２に記載のシステムは、転送済みの画像の再転送を防ぐものであり、デジタルカメラが各画像にＵＵＩＤ（Universally Unique Identifier）を付与して画像を転送し、情報処理装置（ＰＣ）が受信するものである。このシステムでは、ＰＣは、転送された転送候補のＵＵＩＤの中からＰＣが既に保持するＵＵＩＤを抜き取り、残りのＵＵＩＤを転送対象のＵＵＩＤとしてカメラに送信するようにする。そして、カメラが前記転送対象のＵＵＩＤに基づき、該当する画像をＰＣに転送するようにする。しかしながら、特許文献２に記載のシステムも、画像内のヘッダ情報等が更新され、共有した画像同士に不整合が生じた場合について考慮されていないため、再度転送できなくなるだけである。
【０００９】
即ち、特許文献１及び特許文献２に記載のシステムは、共有した画像同士に不整合が生じた場合について考慮したものではなく、ユーザにとって望ましい同期処理を実現することはできない。
【００１０】
本発明は、上述のような問題点に鑑みてなされたものであり、デジタルカメラと情報処理装置といったそれぞれ画像を記憶可能な機器間で行われる画像の同期処理に関して、ユーザにとって望ましい、或いは、信頼性の高い同期処理を実現することを目的とする。
【課題を解決するための手段】
【００１１】
本発明の情報処理装置は、外部装置と通信し、画像を一意に特定する識別情報に基づき、自装置の記憶媒体に記憶した画像と前記外部装置に記憶されている画像との同期を行う情報処理装置であって、前記記憶媒体に記憶した画像と前記外部装置の画像との識別情報が一致し、かつ、各画像の属性を示す属性情報が異なる場合に、該各画像の属性情報がユーザ操作によって編集されたものか否かを判定する判定手段と、前記判定手段の判定の結果、各画像の属性情報のうち一方の前記属性情報がユーザ操作によって編集されたものと判定された場合、該ユーザ操作によって編集された前記属性情報に、他方の前記属性情報を同期させる同期処理手段と、を有することを特徴とする。
【発明の効果】
【００１２】
本発明によれば、デジタルカメラや情報処理装置といったそれぞれ画像を記憶可能な機器間で行われる画像の同期処理に関して、不整合がなく、ユーザにとって信頼性の高い同期を行うことができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施形態に係る画像通信システムの構成について示す図である。
【図２】本発明の実施形態に係る画像通信システムの内部構成を示すブロック図である。
【図３】本発明の実施形態に係る画像通信システムにおいて画像通信を行う際に機能させるモジュールを説明するためのモジュール構成図である。
【図４】本発明の実施形態に係る画像通信システムにおいて実行される画像の同期処理の一例を説明するための図である。
【図５】本発明の実施形態において同期処理を行う際のシーケンス図である。
【図６】本発明の実施形態において同期処理を行う際のシーケンス図である。
【図７】本発明の実施形態に係る同期処理を行うユースケース例を列挙した図である。
【発明を実施するための形態】
【００１４】
以下、本発明を実施するための形態について説明する。
＜システム構成＞
先ず、本発明の実施形態に係る画像通信システムのシステム構成について説明する。図１は、本実施形態に係る画像通信システムの構成を示す図である。本実施形態に係る画像通信システムは、図１に示すように撮像装置の一例であるデジタルカメラ１００と情報処理装置の一例であるコンピュータ１０１とが通信インタフェース１０２を介して接続することで構成される。デジタルカメラ１００とコンピュータ１０１は、オブジェクトベースのプロトコル、ここではＰＴＰ（Picture Transfer Protocol）規格に準拠した通信を行う。なお、オブジェクトベースのプロトコルとしては、ＭＴＰ（Media Transfer Protocol；(Microsoftの技術仕様)）もＰＴＰの拡張仕様のため、同様に利用することが可能である。また、通信インタフェース１０２については、有線又は無線のいずれでも構わないが、通信インタフェース１０２が有線の場合には通信ケーブルによりデジタルカメラ１００とコンピュータ１０１とが接続されることになる。また、無線の場合は、ＩＥＥＥ．８０２．１１ｂに代表される無線ＬＡＮ等で通信が行われる。
【００１５】
本実施形態に係る画像通信システムでは、デジタルカメラ１００がコンピュータ１０１と通信インタフェース１０２による接続を検知した場合、通信モードに遷移する。それ以前のモードでは、デジタルカメラ１００は再生モードになっている。そして、デジタルカメラ１００とコンピュータ１０１とがＰＴＰ規格に基づいて通信を行うことで、デジタルカメラ１００で撮影された画像（静止画、動画）をコンピュータ１０１に転送することが可能となっている。コンピュータ１０１には、ＰＴＰ規格に基づいてデジタルカメラ１００に対して、画像のヘッダ情報、画像全体を送信要求することが可能なアプリケーションがインストールされている。また、コンピュータ１０１には、コンピュータ１０１からデジタルカメラ１００へ画像を転送することを可能とするアプリケーションもインストールされている。
【００１６】
図２は、デジタルカメラ１００及びコンピュータ１０１の内部構成を示すブロック図である。図２を参照して、デジタルカメラ１００及びコンピュータ１０１を構成する各要素について説明する。
【００１７】
先ず、デジタルカメラ１００において被写体像を撮像する際には、被写体からの光束が光学系２０１を通りＣＣＤ又はＣＭＯＳ等の撮像素子２０２へ電荷として保持される。撮像素子２０２で蓄積された電荷は、撮像プロセス部２０３で画像信号として変換され、撮像プロセス部２０３から出力される画像信号は、Ａ／Ｄコンバータ２０４によりデジタル信号に変換されて、データバス２０５を介してＲＡＭ２１０に保存される。
【００１８】
中央処理プロセス部２１３は、画像信号について各種処理を実行するものであり、次のような構成要素を有する。
【００１９】
即ち、画像処理部２０７は、ホワイトバランス、シャープ、ぼかし、カラーバランス、レベル補正等の画像処理を行い、画像処理されたデジタル画像を生成するものである。圧縮伸長部２０８は、圧縮或いは伸長を行うものであり、具体的にはＪＰＥＧ形式への圧縮、伸長等を行うものである。表示制御部２０９は、表示器２１７へのＵＩ（User Interface）の描画等を行うものである。記録再生制御部２１１は、記憶媒体２１８へのＩ／Ｏ制御を行うものであ
る。通信制御部２１２は、通信器２１９へのデータのＩ／Ｏ制御を行うもので
ある。そして中央制御部２１５は、ここで説明した各制御部を統括的に制御するものである。
【００２０】
なお、圧縮伸長部２０８は、画像処理部２０７で処理されたデジタル画像をＪＰＥＧ、ＪＰＥＧ２０００等の画像圧縮方法に従って圧縮する機能と、圧縮されたデジタル画像を伸長する機能とを有する。圧縮伸長部２０８における圧縮率は、ユーザにより設定が可能となっている。
【００２１】
また、記録再生制御部２１１は、ＲＡＭ２１０に格納された画像ファイルを記憶媒体２１８に書き込む機能と、記憶媒体２１８に保存された画像ファイルを記憶媒体２１８から読み出してＲＡＭ２１０に書き込む機能とを有する。記憶媒体２１８から読み出されてＲＡＭ２１０に書き込まれた画像ファイル内の撮影画像は、システム制御部２１４によって表示器２１７に表示することができる。なお、画像ファイルは、システム制御部２１４により生成されるものであり、画像ファイルには、撮影画像（以下、主画像と呼ぶこともある）、主画像を縮小したサムネイル、主画像についての付加情報が含まれる。
【００２２】
また、通信制御部２１２は、ＰＴＰ規格に準拠した通信を通信器２１９を制御することで可能とする。実際の通信方式は、ＰＴＰ規格でなくてもよく、マルチメディアデータを一つのオブジェクトとして扱うようなオブジェクトベースのプロトコルであればよい。
【００２３】
システム制御部２１４は、データバス２０５と接続されており、ＲＯＭ２００内の制御プログラムに従ってデジタルカメラ１００内の各種要素を制御することで各種動作を実行させるマイクロコンピュータを有する。ＲＯＭ２００には、デジタルカメラ１００を制御するための制御プログラム、デジタルカメラ１００に関する情報、表示器２１７に表示する設定メニューに対応する画像データ等が記憶されている。
【００２４】
システム制御部２１４の一機能として、圧縮伸長部２０８で圧縮された主画像に相当するデジタル画像とそのデジタル画像の付加情報とを含む画像ファイルを生成し、生成した画像ファイルをＲＡＭ２１０に格納する機能が含まれる。付加情報には、主画像に関する情報（ヘッダ情報）、デジタルカメラ１００に関する情報、主画像のサムネイル等が含まれる。なお、ＲＡＭ２１０は、複数の画像ファイルを記憶する容量を有する。また、システム制御部２１４の一機能として、デジタルカメラ１００を省電力状態にする機能を有する。デジタルカメラ１００を省電力状態とした場合、システム制御部２１４は、デジタルカメラ１００の機能の一部をオフにしてバッテリの消費電力を削減する。
【００２５】
操作器２１６は、デジタルカメラ１００を操作するための操作部である。操作器２１６には、デジタルカメラ１００の電源をオン又はオフするための電源スイッチ、シャッタボタン、表示器２１７に設定メニューを表示するためのメニューボタン等が含まれる。さらには、表示器２１７に表示されたカーソルを上、下、左又は右に移動するための十字ボタン、カーソルが選択している画像、項目、値等をデジタルカメラ１００に設定又は選択させるためのＳＥＴボタン等が含まれる。上記シャッタボタンには、半押し状態と全押し状態とがある。シャッタボタンが半押し状態にされると、デジタルカメラ１００はＡＥ／ＡＦ部２０６によるＡＦ（オートフォーカス）、ＡＥ（自動露出）等を実行し、シャッタボタンが全押し状態にされると、デジタルカメラ１００が画像の撮影を実行する。
【００２６】
表示器２１７は、表示制御部２０９によって要求された描画を表示するものであり、デバイスとしては液晶等の表示器を有し、様々な情報を表示することが可能となっている。表示器２１７の機能としては、デジタルカメラ１００に関する情報を表示する機能、撮影画像を表示する機能、記憶媒体２１８に保存された撮影画像を表示する機能等が含まれる。また、記憶媒体２１８に保存された撮影画像を表示する場合には、その撮影画像に関する情報も表示することができる。また、表示器２１７は、設定メニュー等のグラフィカルユーザインターフェースを表示することもできる。
【００２７】
記憶媒体２１８は、ＲＡＭ２１０に一時記憶された画像ファイルを記録再生制御部２１１を介して格納する。記憶媒体２１８は、脱着可能な媒体でも装置に組み込まれた記憶媒体のどちらでもかまわなく、デジタルカメラ１００に電源が投入されていない状態でも記憶を保持することが可能な媒体である。本実施形態では記憶媒体２１８に保存される静止画は記録再生制御部２１１で読み書き可能なようＤＣＦ規格（Design rule for Camera File System:参考文献JEIDA規格JEIDA49-2-1998参照)で保存される。また、動画は、ＤＣＦ基本ファイルとＤＣＦサムネイルファイルの２つのファイル構成で１つのマルチメディアデータとして扱うことができるように保存される。なお、ファイル構成は、ＤＣＦ規格に限らず、複数のファイルで構成しているマルチメディアデータでもかまわない。
【００２８】
通信器２１９は、無線通信又は有線通信を可能とするものであり、無線機能を有し有線通信機能を持たない場合は、メディア経由で無線情報を更新するが、有線通信機能のみのものでもかまわない。なお、通信器２１９の脱着可、不可を問わない。
【００２９】
次にコンピュータ１０１において、操作器２２１は、キーボードやマウス等の操作部であり、ユーザからの操作をシステム制御部２２５に入力する。表示器２２２は、出力モニタであり、表示制御部２２８により描画されたＵＩ（User Interface）等を出力する。ＲＡＭ２２９は、コンピュータ１０１のＯＳやアプリケーションを動作させるための揮発性のメモリである。
【００３０】
記憶媒体２２３は、記憶制御部２３０によるデータの要求に応じてデータの入出力をする装置であり、不揮発性の記憶装置である。記憶媒体２２３には、制御プログラムであるＯＳやアプリケーション等が格納されている。通信器２２４は、通信インタフェース１０２と接続可能な通信装置であり、通信制御部２３１の制御により外部装置に対してのデータの出力、外部装置からのデータの入力を行う。通信器２２４は、無線通信又は有線通信を可能とするものであり、無線機能を有し有線通信機能を持たない場合は、メディア経由で無線情報を更新するが、有線通信機能のみのものでもかまわない。なお、通信器２２４の脱着可、不可を問わない。
【００３１】
中央処理プロセス部２２７は、表示制御部２２８、記憶制御部２３０、通信制御部２３１、中央制御部２２６（各制御部の統括等)で構成される。表示制御部２２８、記憶制御部２３０及び通信制御部２３１の機能は上述の通りであり、中央制御部２２６は、システム制御部２２５に制御されて、表示制御部２２８、記憶制御部２３０及び通信制御部２３を統括的に制御するものである。
【００３２】
次に、図３は、本実施形態に係る画像通信システムにおいてデジタルカメラ１００及びコンピュータ１０１が画像通信を行う際に機能させるモジュールを説明するためのモジュール構成図である。なお、次に説明するモジュールは、デジタルカメラ１００においてはシステム制御部２１４が各部を制御することで実現或いは構築されるものであり、コンピュータ１０１においてはシステム制御部２２５が各部を制御することで実現或いは構築されるものである。
【００３３】
ＵＩモジュール３０１は、表示器２１７に表示する情報を制御するためのモジュールであり、撮影画像の表示や操作器２１６による操作のためＵＩ（User Interface）の表示を制御する。
【００３４】
ファイル管理モジュール３０２は、記憶媒体２１８に格納されたデータの読み書きを管理するモジュールであり、デジタルカメラ１００の再生時に必要な画像を管理し、通信モジュール３０３から要求される画像ファイルの読み書きを管理するモジュールである。記憶媒体２１８には、ＤＣＦ（Design rule for Camera File System)規格に準拠した、画像データである静止画（ＪＰＧやＲＡＷ等)や動画（ＡＶＩやＭＰＧ等）が画像ファイルに含まれるかたちで格納されているとする。
【００３５】
通信モジュール３０３は、コンピュータ１０１との通信を制御するためのモジュールである。本実施形態において通信モジュール３０３は、ＰＴＰを使って通信を実現している。通信モジュール３０３は、コンピュータ１０１からの要求を受信して、ファイル管理モジュール３０２に対して画像ファイルの読み書きを要求したりする。
【００３６】
次に、コンピュータ１０１において、通信モジュール３０４は、コンピュータ１０１に接続されている周辺機器（ここでは、デジタルカメラ１００）との通信を制御するためのモジュールである。本実施形態では、ＰＴＰを使って通信を実現している。
【００３７】
ファイル管理モジュール３０５は、起動されたアプリケーション３０９上で画像ファイルの管理を行うモジュールである。具体的にはファイル管理モジュール３０５は、デジタルカメラ１００内にある各画像と、コンピュータ１０１に一部取り込んでいる情報、つまりサムネイル及びヘッダ情報(撮影日時、撮影機種、解像度、撮影パラメータ等)とを関連付けて保持して管理する。また上記情報についての主画像がコンピュータ１０１の記憶媒体２２３に格納されてキャッシュされている場合は、その情報も関連付けて保持する。ファイル管理モジュール３０５はまた、コンピュータ１０１で管理している画像と、そのサムネイル及びヘッダ情報とを記憶媒体２２３から読み出すこともできる。
【００３８】
同期管理モジュール３０６は、デジタルカメラ１００の画像ファイルにおける画像と、コンピュータ１０１内部で管理している画像とをそれぞれの識別情報により比較して、画像ファイルの不足調査を行う。コンピュータ１０１に不足する画像がある場合にはデジタルカメラ１００から画像を取り込む指示をする。また、識別情報が同一の場合は、画像の同期処理、つまり両者の整合性を合致させる必要かあるかどうかを、更新日時の相違、画像内部の編集日時、画像の編集内容（ユーザ操作で編集されたか否か）等で判定するモジュールである。
【００３９】
ＯＳ３０７は、コンピュータ１０１のオペレーションシステムである。ファイルシステムやメモリ管理を行い、通信モジュール３０４と協働して、デジタルカメラ１００と通信するためのシステムを提供している。
【００４０】
ＵＩモジュール３０８は、コンピュータ１０１にインストールされているアプリケーション３０９のＵＩ（Use Interface）を表示器２２２に表示するための制御を行うモジュールであり、操作器２２１による操作のためのＵＩを表示する。アプリケーション３０９は、本実施形態における画像通信システムの一部の機能を実現するためのソフトウェアである。本実施形態においてファイル管理モジュール３０５、同期管理モジュール３０６及びＵＩモジュール３０８は、アプリケーション３０９により、その機能が実現される。
【００４１】
＜処理の概要＞
図４は、本実施形態に係る画像通信システムにおいて実行される画像の同期処理の一例を説明するための図である。
まず、デジタルカメラ１００とコンピュータ１０１を同期させ、同じ画像４００がデジタルカメラ１００とコンピュータ１０１の双方に記憶された状態とする。
【００４２】
画像４０１は、デジタルカメラ１００を使ってユーザがデジタルカメラ１００側の画像を編集したものである。画像４０１はタグ（キーワード等）を画像内部に付与した画像、例えばＥｘｉｆヘッダ内部で利用されるＭａｋｅｒＮｏｔｅ領域やコメント領域に情報を追加した画像とする。画像４０２は、コンピュータ１０１を使ってユーザがコンピュータ１０１側の画像を編集し、画像を９０度右回転させた画像とする。画像はロスレス回転ではなく、Ｅｘｉｆヘッダ内部の画像回転フラグを変更させて実現しているものとする。ロスレス回転させた画像については、ファイルサイズが異なり、またソフトウェアの場合によりＥｘｉｆ情報が欠落する可能性もあり、本実施形態では、画像４０１との同期対象外の画像とする（新規画像とみなす）。
【００４３】
画像４０１と画像４０２は、互いにユーザ操作によって編集した画像であるため、ユーザにとっては、タグ情報及び回転情報をユーザ操作した情報として残し、同期したいと考えるのが通常の判断であると考えられる。そのため、画像４０３、画像４０４のように、タグ編集し、かつ画像を９０度右回転した画像として同期を取るのが理想形だと考える。
【００４４】
このような同期をとるために、本実施形態では、ユーザ操作によって編集が行われた場合に、ユーザ操作によって編集された旨を示す履歴情報を保持するようにする。ユーザ操作によって編集されたものは、撮影時に自動的に回転したもの、撮影時に自動的にタグ編集したものよりも優先度が高い、換言すれば、重要であることは悪意のある意図的でない行為でない限りは当然と考えられえる。そのため、本実施の形態では、ユーザ操作による編集を優先して正しい操作であるとし、ユーザ操作している行為の履歴を保持しておき、同期処理の際に判断の基準として用いる。
【００４５】
具体的には本実施形態では、ユーザ操作した行為を処理別(回転処理、タグ編集、ＧＰＳ情報の編集・・・)ごとにフラグを用意する。そして、デジタルカメラ１００及びコンピュータ１０１においてユーザ操作で編集が行われたとき、画像のヘッダ情報にフラグ、処理内容を追記し記録しておく。なお、ヘッダ情報に含まれる複数の編集対象となる項目（編集項目）は、属性情報の一例である。このようにすることで、図４の例で説明すると、画像４０１にタグ編集された行為、画像４０２に回転した行為が正しい情報として保持されることになり、同期処理後には、画像４０１に回転処理の内容、画像４０２にタグ編集処理の内容が追記されることになる。
【００４６】
＜同期処理の具体的なシーケンス＞
図５は、本実施形態において同期処理を行う際のシーケンス図である。以下、本実施形態に係る同期処理の流れについて説明する。
【００４７】
図５においてユーザ５０１はコンピュータ１０１を操作するユーザとする。ユーザ５０１がコンピュータ１０１を起動するとアプリケーション３０９が起動され、ステップＳ１０１においてアプリケーション３０９がＵＩモジュール３０８に対して起動を依頼する。起動したＵＩモジュール３０８は、表示器２２２に同期処理を実行するためのＵＩを表示する。
【００４８】
次にステップＳ１０２においてＵＩモジュール３０８は、同期管理モジュール３０６に対して起動を依頼する。これにより、同期管理モジュール３０６が起動されると、ステップＳ１０３において同期管理モジュール３０６がファイル管理モジュール３０５に対して起動を依頼する。
【００４９】
ファイル管理モジュール３０５が起動されると、ステップＳ１０４においてファイル管理モジュール３０５は、ＯＳ３０７及びここでは不図示の通信モジュール３０４を介して、デジタルカメラ１００との通信接続を行う。通信が確立された場合には、デジタルカメラ１００からメッセージが返信され、ファイル管理モジュール３０５及び同期管理モジュール３０６に通知される。
【００５０】
コンピュータ１０１とデジタルカメラ１００との通信が確立すると、次に、同期管理モジュール３０６は、ステップＳ１０５でデジタルカメラ１００内の画像列挙を行うとともに、ステップＳ１０６でコンピュータ１０１に管理されている画像の列挙を行う。ここで画像の列挙ために「必要な情報」としては、画像ファイルの所在を示すハンドル及びパスが取得できること、同期を取るために必要な識別情報が得られることが最低条件であるが、本実施形態ではこれらに加え、ヘッダ情報（属性情報が含まれる）も必要となる。なお、本実施形態において画像の識別情報はＵＵＩＤ（Universally Unique Identifier）を利用するが、画像を一意に特定できる識別情報であれば、その他のものであってもかまわない。
【００５１】
なお、デジタルカメラ１００内の画像列挙の際には、ステップＳ１０５（カメラ列挙）で同期管理モジュール３０６がファイル管理モジュール３０５に対して画像列挙の依頼をする。そして、ステップＳ１０７（カメラ内画像列挙）でファイル管理モジュール３０５がデジタルカメラ１００に対して上記「必要な情報」の要求をする。また、コンピュータ１０１内の画像列挙の際は、ステップＳ１０６（ＰＣ列挙）で同期管理モジュール３０６がファイル管理モジュール３０５に対して画像列挙の依頼をする。そして、ステップＳ１０８（ＰＣ内画像列挙）でファイル管理モジュール３０５がＯＳ３０７に対して上記「必要な情報」の要求をする。なお、カメラ列挙及びＰＣ内画像列挙が正常に完了した場合には、ＵＩモジュール３０８を介してユーザ５０１にその旨の表示がなされる。
【００５２】
以下では、ユーザアクションにより同期処理の要求がされたと仮定し、同期処理の流れを説明する。図５においては、同期処理に含まれるシーケンスを同期処理シーケンスとして５０２の破線により囲んで明示する。
【００５３】
ステップＳ２０１で同期処理の実行についてのユーザアクションがあると、ステップＳ２０２においてＵＩモジュール３０８は、同期管理モジュール３０６に対して同期処理の実行を要求する（同期実行）。
【００５４】
ステップＳ２０３において同期管理モジュール３０６は、ファイル管理モジュール３０５に対して、デジタルカメラ１００内の全ての画像の識別情報と、コンピュータ１０１内の全ての画像の識別情報を要求し、その後同一識別情報を持つ画像を検索する。
【００５５】
ここで同期管理モジュール３０６は画像比較・判定動作アクションを実行する。このアクションで同期管理モジュール３０６がデジタルカメラ１００に存在しコンピュータ１０１にない画像を未転送画像として判定した場合は、画像同期対象ではないが、転送対象と判定される(未転送画像判定をしたい場合の処理)。
【００５６】
また、同期管理モジュール３０６が識別情報が一致する画像を見つけ、かつ、それら画像の更新日時（編集日時又は履歴でもよい）が相違する場合には、それぞれの画像から、ユーザ操作によりヘッダ情報が編集されたかどうかを解析取得し、判定を行う。
【００５７】
ここでの同期管理モジュール３０６の判定を詳しく説明すると、同期管理モジュール３０６は、更新日時等が相違する場合、ヘッダ情報の編集がされヘッダ情報に不整合が生じている可能性が高いため、ヘッダ情報に不整合が生じているかどうか確認する。そして、ヘッダ情報に不整合が生じている場合には、そのヘッダ情報がユーザ操作によって編集されたものであるかどうかを判定する。そして、ユーザ操作で編集されている場合にはそちらが正しい情報と判断し、ユーザ操作により編集された内容を基準に、他方を同期させるようにする。つまり、ここでの判定の結果、一方のヘッダ情報がユーザ操作により編集されていると判定された場合、当該編集内容に他方のヘッダ情報を同期させるようにする。また、ここでの判定は、ヘッダ情報に含まれる各種編集項目（回転フラグ、タグ編集等）についてユーザ操作によって編集されているか否かを判定しているものであり、各項目ごとに同期をするかどうかが判定される。図４の例で説明すれば、一方の画像４０１がタグ編集され、他方の画像４０２が回転操作されている場合には、画像４０１のヘッダ情報に回転操作の内容が追記され、画像４０２のヘッダ情報にタグ編集の内容が追記されることになる。
【００５８】
以下では、上記の判定結果により、同期が必要だったと仮定し説明する。コンピュータ１０１内の画像に対して書換え処理が必要である場合、ステップＳ２０４において同期管理モジュール３０６は、ファイル管理モジュール３０５に対して書換え処理を画像ファイルに対して実行するよう要求する（ＰＣ画像書換え）。ファイル管理モジュール３０５は書換え処理の要求を受けた場合、ステップＳ２０５においてＯＳ３０７に対して書換えの処理を要求し（画像書換え）、その後ＯＳ３０７が画像の書換え処理を実行する。なお、このシーケンス例では、ファイル管理モジュール３０５からＯＳ３０７に対して処理を行なっている。
【００５９】
一方、デジタルカメラ１００内の画像に対して、書換え処理が必要であれば、ステップＳ２０６において、同期管理モジュール３０６は、ファイル管理モジュール３０５に対して書換え処理の要求をする（カメラ画像書換え）。この場合、ステップＳ２０７においてファイル管理モジュール３０５が書換え処理をデジタルカメラ１００に対して要求し、デジタルカメラ１００において書換え処理が行われる（画像書換え）。この同期処理を、すべて識別情報が一致する画像に対して、判定を繰り返すことにより同期処理を実現する。
【００６０】
次に図６は、画像の同期の例外的な処理シーケンス（例外同期処理）を示すシーケンス図である。このシーケンスは、図５の判定基準では判断できないような状態のときに実行されるシーケンスである。例として、画像の回転処理をデジタルカメラ１００側の操作により９０度左回転しており、かつ、コンピュータ１０１の操作により９０度右回転した場合、同種の属性がユーザ操作により編集されている場合等に実行される。このような場合は、優先度が不明であり、同期方向が決定し難く、ユーザに選択を促すことが好ましいと考えられえるからである。現実的にユーザ操作した時刻が完全一致することは起こりえないという点、ユーザが画像の回転処理を全く異なる結果で編集するようなユースケースは稀と考えられるが、そういったケースでは自動的に同期する処理にならなくなるのがここでの処理の特徴となる。
【００６１】
デジタルカメラ１００とコンピュータ１０１のアプリケーション３０９等の起動処理については、図５と同様であるためシーケンスを示すステップを同符号として説明を省略する（ステップＳ１０１〜Ｓ１０６）。
【００６２】
以下では、ユーザの要求により同期処理をＵＩモジュール３０８に対して要求したと仮定する。図６においては、例外同期処理に含まれるシーケンスを例外同期処理シーケンスとして６０２の破線により囲んで明示する。
【００６３】
ステップＳ２０１で同期処理の実行についてのユーザアクションがあると、ステップＳ２０２においてＵＩモジュール３０８は、同期管理モジュール３０６に対して同期処理の実行を要求する（同期実行）。
【００６４】
ステップＳ２０３において同期管理モジュール３０６は、ファイル管理モジュール３０５に対して、デジタルカメラ１００内の全ての画像の識別情報と、コンピュータ１０１内の全ての画像の識別情報を要求し、その後同一識別情報を持つ画像を検索する。
【００６５】
ここで同期管理モジュール３０６が識別情報が一致する画像を見つけた場合、同期管理モジュール３０６は、図５で説明した画像比較・判定動作アクションによる同期判定を行う。そして、ここでデジタルカメラ１００の画像もコンピュータ１０１の画像についても、同じ機能によるユーザの編集が行われているとき、つまり同じ編集項目につきユーザ操作による編集がされているとき、同期管理モジュール３０６は同期判定ができないと判断する。この場合、ステップＳ３０１で同期管理モジュール３０６は、ＵＩモジュール３０８に対して、コールバック通知を行う（ユーザ判定処理）。
【００６６】
そしてステップＳ３０２でＵＩモジュール３０８は、ユーザ５０１に対して、同期方向を決定付けるＵＩを表示し（ユーザダイアログ表示）、ユーザ５０１は、同期方向を選択する、すなわちどちらの編集内容を基準に同期を行うかを選択する。または、新規に画像編集を行い、処理を完了させるかを選択する、すなわち同期させないこと（非同期）を選択する。ここでのユーザ操作（ステップＳ３０３−１）に応じてＵＩモジュール３０８は、ステップＳ３０３−２において同期管理モジュール３０６に対して必要に応じて画像の書換えの要求をする。
【００６７】
そして、同期管理モジュール３０６は、ファイル管理モジュール３０５に対して、画像の書換え処理の要求を行う。以降は、ステップＳ３０４〜Ｓ３０７において画像の書換え処理がなされる。この処理は図５の同期処理シーケンス５０２における書換え処理と同様の処理となる。
【００６８】
図５及び図６をもとに同期処理を行うための方法としてシーケンス例を説明したが、同期の実行に係る処理や各モジュールの起動処理に関しての手続きに関しては、さまざまな実現方法が存在する。本シーケンスの主たる内容は、同期処理を実現するまでに必要な要件（画像が列挙されていること、識別情報の取得、ヘッダ情報（ユーザ操作の履歴を含む））が得られていることが前提であり、その情報を得るための手続きに関しては重要ではない。
【００６９】
＜同期処理の例＞
次に、図７は、コンピュータ１０１とデジタルカメラ１００において、画像の回転処理やタグ編集を行った際のユースケース例を列挙した図であり、ユースケースに対応してどのような同期判定結果になるかを示した図である。なお、図７で示す例は例示であり、ここに記載されるもののみが判定処理の対象ということではない。ユーザ操作による編集手順は何パターンも存在する点、編集処理は回転、タグに限らず、その他にも存在するため、全パターンを網羅することは本質的に意味を成さない。ここでは、要点として、どういった行為が判定に影響を及ぼすかという観点に関して最後にまとめる。
【００７０】
図７においては、ユースケース例として全１６パターンを例示している。表の列には、「ユースケースナンバー（Ｎｏ）」、「カテゴリ」、「ユースケース」、「デジタルカメラ１００」、「コンピュータ１０１」、「判定」、「同期後の画像」の項目を示している。そして、「ユースケースナンバー（Ｎｏ）」で示すユースケースに対応する各項目の状態をそれぞれ記載している。
【００７１】
「カテゴリ」は、ユーザにより操作された編集処理のパターンを記載したものである。「ユースケース」には編集手順を記載している。「デジタルカメラ１００」には、編集後の画像の状態の画像例と編集された情報を付加している。「コンピュータ１０１」も同様である。「判定」は、同期済みか同期不一致かを示す。「同期後の画像」は、同期した結果の画像例を示す。
【００７２】
Ｎｏ．１は、識別情報が一致し、更新日時も同時刻であった場合である。この場合、編集されていないとみなし、同期済みと判定する。基本的に識別情報が一致し、かつ、更新日時が一致することが同期済みの判定基準となる。
【００７３】
Ｎｏ．２〜Ｎｏ．４は、デジタルカメラ１００のみで画像の編集行為が行われた例を示す。これらのケースは、一方の編集行為であるため、アプリケーション３０９が自動的に同期処理を実行することが可能である。
【００７４】
Ｎｏ．５〜Ｎｏ．７に関しては、コンピュータ１０１でのみ編集行為を行われた例を示す。これらのケースも、Ｎｏ．２〜Ｎｏ．４のケースと同様に一方の編集行為であるため、アプリケーション３０９が自動的に同期処理を実行することが可能である。
【００７５】
これらＮｏ．２〜Ｎｏ．７の編集行為が、一般的に実際に行なわれる処理としてほとんどであると考えられる。理由は、コンピュータ１０１を使って編集するユーザは、コンピュータ１０１で全て管理しようとし、デジタルカメラ１００を使って編集するユーザは、デジタルカメラ１００を主に利用して編集を行うと考えられるからである。
【００７６】
ユーザが同じ画像に対して、デジタルカメラ１００で編集、コンピュータ１０１側で編集する行為は、ユーザが同期処理をアプリケーションに任せずに手動で同期を行なっているか、忘れているかといったことが考えられる。ユーザが手動で同期した場合や、ユーザが忘れていて両方編集してしまっていた場合でもヒューマンエラーによって、ミスを行っている場合がある。この場合、ヘッダ情報を比較する処理を同期操作の際に組み込み、同期させる項目（編集項目）を選択させる処理を組み込むことで、ユーザをサポートすることに貢献することができる。
【００７７】
一方、Ｎｏ．８〜Ｎｏ．１６のユースケースのうち、Ｎｏ．１０，Ｎｏ．１１以外については、４つの条件が成り立っている。条件の１つ目として、デジタルカメラ１００で編集されていること、２つ目として、コンピュータ側でも編集されていること、３つ目として、編集した処理の内容のうち、同一の編集項目が双方で編集が行なわれていることである。さらに４つ目として、ヘッダ情報が完全一致していないことである。
【００７８】
この場合、同一の編集項目が双方で編集されているにもかかわらず、編集結果が異なっていることがいえるため、同期判定を自動的に行うことができない。そのためにユーザにどちらを基準とするかのユーザ選択をさせる。これについては、図６で説明したシーケンスにより選択可能としている。この４つの条件が成り立つときは、すべてユーザ選択によって行う必要があると考える。
【００７９】
Ｎｏ．１０とＮｏ．１１のユースケースについては、上記の４つの条件を満たしていない。すなわち、上記３つ目の条件を満たさず、同一の編集項目が双方で編集されているわけではないからである。この場合は、図５で説明したシーケンスにより自動的に同期を行うことができる。
【００８０】
以上のように本実施形態では、画像の回転処理やタグ編集等を行った際に、デジタルカメラ１００の画像と、コンピュータ１０１に取り込んだ画像との同期処理を自動的に行いたいユーザに対して、ユースケースを加味した自動的な同期処理環境を提供する。ユースケースを加味して、必要に応じて同期処理の選択も可能とするため、ユーザ操作にミスがあった場合等にも、ユーザが望む同期処理を実現できる。
【００８１】
より詳しくは、画像のヘッダを編集したユーザによる行為について記録し、ユーザが画像を回転した行為、ユーザがキーワードを追記した行為等をもっとも正しいヘッダ情報だと判断し、上書きするべきデータの方向を決定する。更に、これだけで判断できない状態にある場合（双方で同種の編集がユーザにより行われている場合）は、ユーザに、同期方向を促すようにすることで、誤まった同期判定が起こることを防ぐようにしている。これにより、デジタルカメラ１００とコンピュータ１０１といった画像を記憶可能な機器間での画像の同期処理に関して、画像が大量であってもデジタルカメラ１００とコンピュータ１０１との画像で重複、不足、不整合のない信頼性の高い同期を行うことができる。
【００８２】
なお、本実施形態ではヘッダ情報における編集項目として回転処理、タグ編集、ＧＰＳ情報の編集等を挙げ、これらがユーザ操作より編集されたか否かの履歴を保持しておくことを説明したが、ここの編集には編集内容の追加或いは変更だけでなく削除も含まれる。つまり、例えばタグ編集におけるキーワードの追加がされていた画像に、ユーザ操作によりキーワードの削除がされ、タグがなくなった場合には、この削除の操作も履歴として保持され、タグがなくなった状態を基準に同期がされることになる。
【００８３】
また、本発明を実現するために、上述した実施形態の機能を実現するソフトウェアのプログラムコード（コンピュータプログラム）を記録した記憶媒体を用いても良い。この場合には記憶媒体をシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによって本発明の目的が達成される。この場合、記憶媒体から読み出されたプログラムコード自体が上述した実施形態の機能を実現することになり、プログラムコード自体及びそのプログラムコードを記憶した記憶媒体は本発明を構成することになる。プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。また、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（基本システム或いはオペレーティングシステム）等が実際の処理の一部又は全部を行う場合も含まれることは言うまでもない。さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれてもよい。この場合には、書き込まれたプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部又は全部を行ってもよい。
【符号の説明】
【００８４】
１００  デジタルカメラ、１０１  情報処理装置、１０２  通信インタフェース
【図１】
0005489590.tif 000002
【図２】
0005489590.tif 000003
【図３】
0005489590.tif 000004
【図４】
0005489590.tif 000005
【図５】
0005489590.tif 000006
【図６】
0005489590.tif 000007
【図７】
0005489590.tif 000008