JP2003162707A - メディアデータの同期化方法 - Google Patents

メディアデータの同期化方法

Info

Publication number
JP2003162707A
JP2003162707A JP2002217551A JP2002217551A JP2003162707A JP 2003162707 A JP2003162707 A JP 2003162707A JP 2002217551 A JP2002217551 A JP 2002217551A JP 2002217551 A JP2002217551 A JP 2002217551A JP 2003162707 A JP2003162707 A JP 2003162707A
Authority
JP
Japan
Prior art keywords
data
attributes
data set
stored
file
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2002217551A
Other languages
English (en)
Inventor
Mark D Seaman
マーク・ディー・シーマン
Eric E Williams
エリック・イー・ウィリアムズ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
HP Inc
Original Assignee
Hewlett Packard Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of JP2003162707A publication Critical patent/JP2003162707A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/02Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
    • G11B27/031Electronic editing of digitised analogue information signals, e.g. audio or video signals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24553Query execution of query operations
    • G06F16/24554Unary operations; Data partitioning operations
    • G06F16/24556Aggregation; Duplicate elimination

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Processing Or Creating Images (AREA)

Abstract

(57)【要約】 【課題】 データの重複収集を防止する。 【解決手段】 取込データセットと記憶データセットと
が同じ第1の属性を有するか否かを判断し、同じ第1の
属性を有する取込データセットおよび記憶データセット
がまた同じ第2および第3の属性を有するか否かをさら
に判断し、記憶データセットと同じ第1および第2のデ
ータ属性を有する取込データセットを削除する。取込イ
メージデータを記憶媒体の記憶イメージデータと同期さ
せるコンピュータ読取可能媒体が示される。この媒体
は、取込データセットと記憶イメージデータセットとが
同じサイズ属性を有するか否かを判断するロジックと、
同じサイズ属性を有する取込データセットと記憶データ
セットとがまた、少なくとも2つの他の同じデータ属性
を有するか否かを判断するロジックと、これらの属性を
有する取込データセットを削除するロジックと、を含
む。

Description

【発明の詳細な説明】 【0001】本文書の一部には、著作権保護の対象とな
る題材が含まれている。特許庁の記録に現れる形で本特
許文書を任意の人がファクシミリ複写することができる
が、それ以外の場合については、著作権者が著作権を留
保する。 【0002】 【発明の属する技術分野】本明細書で開示するテクノロ
ジは包括的に、データ同期化に関し、特に、オーディオ
および/またはビデオ情報源から取込まれたメディアデ
ータの、記憶媒体に記憶されたデータとの同期化に関す
る。 【0003】 【従来の技術】オーディオおよび/またはビジュアル
「メディア」データを含むデータ収集は、より大型に、
かつより一般的になってきている。デジタル記憶および
送信テクノロジの改良により、しばしば、デジタルカメ
ラおよびカムコーダ、オーディオおよびビデオレコー
ダ、スキャナ、コピー機、コンパクトディスク、ラジオ
およびテレビ受信機、および他のオーディオおよび/ま
たはビデオ情報源等の種々のメディアプレイヤおよびレ
コーダに対する単純な接続を使用することによって、追
加のデータをこれら収集に対して容易に加えることがで
きる。データは通常、これらの装置のうちの1つにより
取り込まれて、メディアデータベースに他のデータとと
もに格納される。従来からの英数字データベースと同様
に、メディアデータベースにおいてもまた、重複したま
たは冗長な情報は望ましくない。しかしながら、多くの
メディア収集のサイズおよび複雑さのために、また利用
可能なメディアデータの形式が多いために、メディアデ
ータベースにおいて重複レコードを識別することは非常
に困難なことがある。 【0004】 【発明が解決しようとする課題】大きなマルチメディア
資産収集の管理者は、しばしば、新たなイメージ、オー
ディオ/ビデオセグメントまたは他の「メディアデータ
セット」の各々をその収集に追加する際にマニュアルで
検討することにより、重複データが自身の収集に加わら
ないようつとめる。しかしながら、新たなデータセット
は、しばしば、適当にフォーマットされ先に収集に追加
された他のデータセットと比較することが可能になる前
に、収集に追加される。さらに、潜在的に重複する単一
イメージはかなり迅速に比較することができるが、重複
するオーディオ、ビデオまたはマルチメディアセグメン
トは、セグメントのいずれの部分も新たなデータを含ま
ないことを確認するためにセグメント全体を検討および
/または聴取しなければならないため、検出することが
ずっと困難である。このため、かかる新たなメディアデ
ータセットの各々のマニュアル検査は、非常に大きな労
働力を有し多大な時間を有する可能性がある。 【0005】デジタルメディア収集から重複データセッ
トを自動的に取除く1つの技術は、データベースのすべ
てのレコードのビット単位の比較を実行することであ
る。しかしながら、かかる技術は計算量的に高価であ
り、したがって、大型のメディアデータ収集に対して許
容不可能である。 【0006】 【課題を解決するための手段】従来からのテクノロジの
これらおよび他の欠点を、レコーダからの取込データを
記憶媒体の記憶データと同期させるシステムおよび方法
を提供することによって対処する。本方法は、いずれか
の取込データセットと記憶データセットとが同じ第1の
属性を有するか否かを判断するステップと、同じ第1の
属性を有するいずれかの取込データセットおよび記憶デ
ータセットがまた同じ第2および第3の属性を有するか
否かをさらに判断するステップと、少なくとも記憶デー
タセットと同じ第1および第2のデータ属性を有する取
込データセットを削除するステップと、を含む。また、
取込イメージデータを記憶媒体の記憶イメージデータと
同期させるコンピュータ読取可能媒体も開示している。
本コンピュータ読取可能媒体は、いずれかの取込データ
セットと記憶イメージデータセットとが同じサイズ属性
を有するか否かを判断するロジックと、同じサイズ属性
を有するいずれかの取込データセットといずれかの記憶
データセットとがまた、同じである少なくとも2つの他
のデータ属性を有するか否かを判断するロジックと、同
じサイズ属性と2つの他の属性とを有する取込データセ
ットを削除するロジックと、を含む。 【0007】ここで、本発明を、以下の図面を参照して
説明する。図面において、構成要素は必ずしも一定の比
率で縮小されるように描かれていない。 【0008】 【発明の実施の形態】本明細書で説明した本発明の同期
化機能は、多種多様の電気、電子、コンピュータ、機械
および/またはマニュアル構成において実現することが
できる。好ましい実施形態では、本発明は、少なくとも
部分的にコンピュータ化され、種々の態様が、ソフトウ
ェア、ファームウェア、ハードウェアまたはそれらの組
合せで実現される。例えば、ソフトウェアは、パーソナ
ルコンピュータ(PC、IBM互換機、Apple互換
機またはそれ以外)、ワークステーション、ミニコンピ
ュータまたはメインフレームコンピュータ等、専用また
は汎用デジタルコンピュータによって実行されるプログ
ラムであってよい。 【0009】図1は、本発明の実施形態を汎用コンピュ
ータ100で実現する1つのアーキテクチャの概略図で
ある。しかしながら、他の種々のコンピュータおよび/
またはアーキテクチャが使用されてもよい。ハードウェ
アアーキテクチャの観点から見ると、コンピュータ10
0は、ローカルインタフェース150を介して通信可能
に連結された、プロセッサ120と、メモリ130と、
1つまたは複数の入力および/または出力(「I/
O」)装置(または周辺機器)140と、を有する。 【0010】ローカルインタフェース150は、当技術
分野において周知であるように、1つまたは複数のバス
か、または他の有線および/または無線接続を有してよ
い。図1には特に示していないが、ローカルインタフェ
ース150はまた、コントローラ、バッファ(キャッシ
ュ)、ドライバ、リピータおよび/または受信機等、他
の通信要素も有してよい。また、コンピュータ100の
種々のコンポーネント間の通信を可能にするために、ロ
ーカルインタフェース150において、種々のアドレ
ス、制御および/またはデータ通信も提供されてよい。 【0011】I/O装置140は、キーボード、マウ
ス、スキャナ、マイクロホン等の入力装置と、プリンタ
またはディスプレイ等の出力装置と、を含んでよい。さ
らに、I/O装置140は、他の装置、システムまたは
ネットワークにアクセスするための変復調装置(「モデ
ム」)、Bluetooth等の無線周波数(「R
F」)送受信機および光送受信機を含む送受信機、電話
インタフェース、ブリッジおよびルータ等、入力と出力
とを共に通信する装置を含んでよい。カメラ、ビデオレ
コーダ、オーディオレコーダ、スキャナおよびいくつか
の携帯情報端末等、メディアデータを取込みおよび/ま
たは記録する装置を含む、他の種々の入力および/また
は出力装置もまた使用されてよい。 【0012】メモリ130は、揮発性メモリ素子(例え
ば、DRAM、SRAM等のランダムアクセスメモリす
なわち「RAM」)、不揮発性メモリ素子(例えば、ハ
ードドライブ、テープ、リードオンリメモリすなわち
「ROM」、CDROM等)かまたはそれらのあらゆる
組合せを有してよい。また、メモリ130は、電子、磁
気、光および/または他のタイプの記憶装置を組込んで
もよい。種々のメモリコンポーネントが互いから遠隔に
配置される分散メモリアーキテクチャもまた使用されて
よい。 【0013】プロセッサ120は、メモリ130に格納
されるソフトウェアを実行するハードウェア装置であ
る。プロセッサ120は、半導体ベースのマイクロプロ
セッサ(マイクロチップの形態)および/またはマクロ
プロセッサを含む、あらゆる特注のまたは市販のプロセ
ッサとすることができる。プロセッサ120は、コンピ
ュータ100と関連するいくつかのプロセッサの中で中
央処理装置(「CPU」)かまたは補助プロセッサであ
ってよい。適当な市販のマイクロプロセッサの例には、
限定されないが、Hewlett-Packard CompanyのPA−R
ISCシリーズのマイクロプロセッサ、Intel Corporat
ionの80×86およびPentiumシリーズのマイ
クロプロセッサ、IBMのPowerPCマイクロプロセ
ッサ、Sun Microsystems,IncのSparcマイクロプロ
セッサ、Motorola Corporationの68×××シリーズの
マイクロプロセッサなどが含まれる。 【0014】メモリ130は、プロセッサ120によっ
て使用される命令および/またはデータの形式のソフト
ウェアを格納する。命令は、概して、1つまたは複数の
別個のプログラムを含み、それらの各々は、1つまたは
複数の論理機能を実現するための実行可能命令の順序付
きリストを有する。データは、概して、別個のイメー
ジ、オーディオまたはビデオセグメントに対応する1つ
または複数の格納されたメディアデータセットおよび/
または格納されたマルチメディアクリップの収集を含
む。図1に示す例では、メモリ130に格納されるソフ
トウェアは、以下により詳細に説明する同期化システム
170および記憶データ180と共に、適当なオペレー
ティングシステム(「O/S」)160を含む。 【0015】I/O装置140はまた、メモリおよび/
またはプロセッサ(図1には特に示さない)も有してよ
い。メモリ130と同様に、いかなるI/Oメモリ(図
示せず)もまた命令および/またはデータを含むソフト
ウェアを格納する。メディアデータを取込むI/O装置
140の場合、このソフトウェアは、I/O装置によっ
て取込まれたかまたは記録された取込データ190を含
む。しかしながら、取込データ190は、メモリ130
等の他のメモリ素子に格納されてもよい。例えば、I/
O装置は、単に実行中にメディアデータを取込み(ただ
し記録せず)、その後その取込データを、それが記録さ
れる別の入力/出力装置140、メモリ130または他
のメモリ素子に送信してよい。オペレーティングシステ
ム160、同期化システム170および/または記憶デ
ータ180のうちのいくつかまたはすべては、入力/出
力装置140に関連するメモリ(図示せず)に格納され
てよい。 【0016】オペレーティングシステム160は、同期
化システム170等の他のコンピュータプログラムの実
行を制御し、スケジューリング、入力・出力制御、ファ
イルおよびデータ(180、190)管理、メモリ管
理、通信制御および他の関連サービスを提供する。限定
されないが、Microsoft CorporationのWindows
オペレーティングシステム、Novell,Inc.のNetWa
reオペレーティングシステム、Hewlett-Packard Comp
any、Sun Microsystems,IncおよびAT&T Corporation等
のベンダから入手可能な種々のUNIXオペレーティン
グシステム、を含む種々の市販のオペレーティングシス
テム160が使用されてよい。 【0017】図1に示すアーキテクチャでは、同期化シ
ステム170は、ソースプログラム(または「ソースコ
ード」)、実行可能プログラム(「オブジェクトコー
ド」)、スクリプト、または実行される命令のセットを
含む他のエンティティであってよい。特定のオペレーテ
ィングシステム160と動作するために、ソースコード
は、一般に、従来からのコンパイラ、アセンブラ、イン
タプリタ等を介してオブジェクトコードに翻訳され、そ
れはメモリ130内に格納されてよい(されなくてもよ
い)。同期化システム170は、データおよびメソッド
のクラスを有するオブジェクト指向プログラミング言
語、および/またはルーチン、サブルーチンおよび/ま
たは関数を有する手続きプログラミング言語を使用し
て、書かれてよい。例えば、適当なプログラミング言語
には、限定されないが、C、C++、Pascal、B
asic、Fortran、Cobol、Perl、J
avaおよびAdaが含まれる。 【0018】同期化システム170は、図1に示すよう
にソフトウェアで実現される場合、コンピュータ100
等、あらゆるコンピュータ関連システムまたは方法によ
るかまたはそれに関連して使用されるあらゆるコンピュ
ータ読取可能媒体に格納することができる。本文書のコ
ンテキストでは、「コンピュータ読取可能媒体」は、コ
ンピュータ関連システムまたは方法によるかまたはそれ
に関連して使用されるコンピュータプログラムを内蔵す
るかまたは格納することができる、あらゆる電子、磁
気、光、または他の物理的装置または手段を含む。コン
ピュータ関連システムは、コンピュータベースシステ
ム、プロセッサ内蔵システム、または命令実行システ
ム、機器または装置から命令をフェッチして、その後そ
れら命令を実行することができる他のシステム等、あら
ゆる命令実行システム、機器または装置であってよい。
したがって、本文書のコンテキストでは、コンピュータ
読取可能媒体は、命令実行システム、機器または装置に
よるかまたはそれに関連して使用されるプログラムを格
納し、通信し、伝播し、または移送するあらゆる手段と
することができる。 【0019】例えば、コンピュータ読取可能媒体は、限
定されないが、電子、磁気、光、電磁気、赤外線または
半導体のシステム、機器、装置または伝播媒体を含む種
々の形態をとってよい。コンピュータ読取可能媒体のよ
り特定の例には、1つまたは複数のワイヤを有する電気
的接続(電子)、ポータブルコンピュータディスケット
(磁気)、ランダムアクセスメモリ(「RAM」)(電
子)、リードオンリメモリ(「ROM」)(電子)、消
去可能プログラム可能リードオンリメモリ(「EPRO
M」、「EEPROM」またはフラッシュメモリ)(電
子)、光ファイバ(光)およびポータブルコンパクトデ
ィスクリードオンリメモリ(「CDROM」)(光)が
含まれる。コンピュータ読取可能媒体は、プログラムが
印刷された用紙または他の適当な媒体とさえすることが
できる。それは、プログラムを、例えば用紙の光学的検
知または走査により電子的に取込み、その後メモリ13
0に格納する前に、コンパイルし、解釈しまたは他の適
当な方法で処理することができるためである。 【0020】同期化システム170が少なくとも部分的
にハードウェアで実現される他の実施形態では、本シス
テムは、限定されないが、データ信号に対して論理機能
を実現する論理ゲートを有するディスクリート論理回
路、適当な組合せ論理ゲートを有する特定用途向け集積
回路(「ASIC」)、プログラマブルゲートアレイ
(「PGA」)および/またはフィールドプログラマブ
ルゲートアレイ(「FPGA」)を含む、種々のテクノ
ロジで実現されてよい。 【0021】図2は、図1に示すコンピュータアーキテ
クチャを使用するハードウェアコンポーネントの1つの
例示的なセットの物理レイアウトを示す。図2におい
て、ホームコンピュータシステム200は、図1に示す
プロセッサ120とメモリ130とを備えた「ラップト
ップ」コンピュータ215を有する。ラップトップ21
5のメモリ130は、一般に、同様に図1に示す同期化
システム170および記憶データ180と共に、O/S
160を含む。入力/出力装置140(図1)のうちの
少なくとも1つは、図2に示すデジタルカメラ240
等、データ取込装置、好ましくはメディアデータレコー
ダである。デジタルカメラ240は、図2に示すケーブ
ル250等のインタフェース150(図1)により、ラ
ップトップに接続される。カメラ240は、一般に、好
ましくはローカルメモリに記録された取込メディアデー
タ190(図1)を格納する。次に、同期化システム1
70により、コンピュータシステム200は、取込メデ
ィアデータ190を記録メディアデータ180と同期さ
せることができる。本発明では、本明細書中でデジタル
カメラ240に関して記載されるが、それはまた、ファ
ックス機、スキャナ、携帯情報端末、多機能機器および
サウンドレコーダを含む他の装置にも適用してもよい。 【0022】図3は、図1に示す同期化システム170
の一実施形態のフローチャートである。より詳細には、
図3は、図2に示すホームコンピュータシステム200
等、図1に示すコンピュータシステム100と共に実現
されてよいソフトウェア同期化システム170のアーキ
テクチャ、機能および動作を示す。しかしながら、上述
したように、他の種々のコンピュータ、電気、電子、機
械および/またはマニュアルシステムもまた同様に構成
されてよい。 【0023】図3における各ブロックは、一般に指定さ
れた論理機能を実現する1つまたは複数の実行可能命令
を含むコンピュータコードの、アクティビティ、ステッ
プ、モジュール、セグメントまたは一部を表す。また、
種々の代替実施形態では、ブロックに示す機能は、図3
に示す順序とは異なる順序で発生する、ということも留
意しなければならない。例えば、関連する機能によっ
て、異なるブロックの複数の機能が、実質的に同時に、
異なる順序で、完全でなく、または期間を延長して、実
行されてよい。また、種々のステップがマニュアルで完
了されてもよい。 【0024】図3において、ソフトウェアシステム37
0は、まずステップ302において、記憶データ180
の1つまたは複数のセットの記憶場所を受取るかまたは
自動的に識別する。例えば、記憶データセットは、図1
に示すコンピュータシステム100に関連するメモリ1
30またはI/O装置140に配置されてよい。記憶デ
ータセットの記憶場所は、コンピュータ100を使用し
ているオペレータを含む、種々のソースから受取ること
ができる。代替的に、またはオペレータの介入と組合せ
て、記憶データセットの記憶場所は、I/O装置140
(カメラ240等)、同期化システム170自体または
ファイル検索アルゴリズムから受取られてよい。記憶デ
ータセットの記憶場所は、概して、あらゆるオーディ
オ、ビデオ、グラフィックおよび/または他のメディア
データのファイル名に対応する。データベースで編成さ
れるデータの場合、これら記憶場所はまた、フォルダ内
のファイルではなくデータベースにおける特定のレコー
ドの識別に対応してもよい。 【0025】記憶データセットの記憶場所が受取られる
と、ステップ304において、そのデータの1つまたは
複数の属性の識別が受取られるかまたは識別されてよ
い。本明細書では、「データ属性」という用語は、デー
タセットの特性を記述するために広く使用される。例え
ば、データ属性は、そのコンテキストおよび/または意
味を記述するデータに関する構造的情報を含んでよい。
特に有用なデータ属性には、データタイプ、フィールド
長、ファイル名、ファイルサイズ、ファイル作成日付、
ファイル作成時刻、およびチェックサムまたはグラフィ
ックイメージデータの「サムネイル」等、データセット
のデータの要約表現が含まれる。また、本システムは、
もたらされる可能性のあるデータのタイプによって、各
タイプのメディアデータに対し異なるデータ属性を使用
してもよい。 【0026】次に、ステップ306において、識別され
たデータ属性は、優先順位が割当てられ、優先順位を受
取り、または他の方法で優先順位に関連付けられてよ
い。例えば、優先順位データはメモリに保存されてよ
く、あるいはオペレータが、この情報を提供するように
促されてよい。好ましい実施形態では、これらの優先順
位により、後により詳細に説明する確率解析中、データ
属性が考慮される順序を決定する。例えば、すぐにアク
セスすることができるデータ属性には、プロセスの速度
を上昇させるように最高優先順位が与えられてよい。代
替的に、各データ属性は、属性重みに関して以下により
詳細に論考するような確率計算に重点を置いて連続的に
配置されてよい。優先順位はまた、オーディオ、ビデオ
およびグラフィックメディア等の種々のタイプのメディ
アに対して異なってもよい。 【0027】ステップ308において、データ属性は、
好ましくは、重みが割当てられるかまたは重みに関連付
けられる。ステップ306における優先順位の場合と同
様に、ステップ308における重みもまた、オペレータ
によって割当てられるか、メモリ130に格納されてよ
いデフォルト値に設定されてよい。例えば、各属性の重
み付けは、優先順位におけるその数値順に対応してよ
く、またはその逆でもよい。代替的に、いくつかのデー
タ属性は、高い優先順位を有するがそれにしたがって低
い重みを有してよく、あるいはその逆でもよい。また、
データ属性には、以下により詳細に論考する確率計算か
らそれらが有効に除かれるような低い重みが与えられて
もよい。 【0028】システム370は、データ属性の識別、優
先順位付けおよび重み付けにより、コンピュータ10
0、I/O装置140、ソフトウェア170および18
0、および/または種々のタイプのメディアデータおよ
びハードウェア構成のユーザに対して最適化されること
が可能である。しかしながら、最適化が重要でない場
合、これらパラメータは、ソフトウェアに含まれるデフ
ォルト値によってセットされるかまたは削除されてよ
い。 【0029】上述したように、データ属性は、好ましく
は、コンピュータシステム100がそれらを取得し分析
することができる速度にしたがって、優先順位付けされ
る。例えば、ファイル作成日付は、しばしば非常に迅速
に取得することができ、したがって高優先順位が与えら
れてよい。逆に、そのデータセットの要約表現を取得す
るためには、非常に多くのコンピュータリソースが必要
とされる可能性がある。したがって、要約表現(サムネ
ールイメージ等)には、低優先順位が与えられてよい。 【0030】好ましくは、重みは、取込データ190の
セットが記憶データ180のセットと同じかまたは実質
的に同様である時を確定するためのデータ属性の適合性
にしたがって割当てられる。例えば、2つの異なるメデ
ィアデータセットが同じ日にメモリに追加される可能性
があるため、ファイル作成日付属性には相対的に低い重
みが割当てられてよい。一方、カメラ240が、同じ日
に取込まれる異なるデータセットに対して同じ名前を割
当てる可能性が低い場合、ファイル名属性には高い重み
が与えられてよい。 【0031】ステップ304〜308において、データ
属性が識別され、優先順位付けされおよび重み付けされ
ると、ステップ310において、取込データ190の最
初の取込データセットから最初のデータ属性を読出すか
または他の方法で受取るよう試みられる。デジタルスチ
ルカメラの場合、最初の取込データセットは、カメラの
最古または最新のイメージに対応する可能性がある。好
ましい実施形態では、最初のデータ属性は、ステップ3
06から最高優先順位が与えられたものとなる。 【0032】コンピュータ100は、カメラ240(ま
たは他のI/O装置140)から最高優先順位の取込デ
ータ属性を直接取得することができない可能性がある。
ステップ312において、カメラ240から直接取込ま
れた最初のデータセットからデータ属性のうちの1つま
たは複数を読出す試みが失敗したことが検出されると、
オペレータに対し、データ属性の読出しを正しく行うた
めに、ハードウェア構成を調整するための提案がなされ
てよい。代替的に、取込データ190の読取不可能な属
性が単純にスキップされてよく、手続きがステップ30
6から優先順位リストの次のデータ属性で継続されてよ
い。 【0033】しかしながら、好ましい実施形態では、ス
テップ312において読出しの試みが成功することによ
り、取込データ190に対しステップ314および31
6においてさらなる処理が施される。ステップ314に
おいて、最初の取込データセットの一部またはすべて
が、カメラ240からメモリ30内の一時記憶場所かま
たは他の一時記憶場所に転送される。例えば、単一オー
ディオまたはビデオクリップ、あるいは単一イメージ
が、コンピュータ100のメモリかまたは外部I/O記
憶装置140の空の記憶場所にダウンロードされてよ
い。代替的に、取込データ180のセットの一部または
すべてが、一時記憶場所に転送されてもよい。 【0034】そして、ステップ316において、最高優
先順位の取込データ属性が、一時記憶場所の(最初の)
取込データセットから読出されるかまたは他の方法で受
取られる。例えば、一時記憶場所からファイル作成日付
が取得されてよい。ステップ318において、対応する
記憶データ属性が、メモリ130の(最初の)記憶デー
タセットから取得される。例えば、作成日付は、ステッ
プ302において記憶場所が識別されたファイルのうち
の最も新しい、古い、または近いものから読出されてよ
い。代替的に、取込および/または記憶データセットの
一部またはすべてに対し、データ属性の一部またはすべ
てが実質的に同時に読出されてもよい。 【0035】ステップ320において、取込データ19
0と記憶データ180との(最初の)セットからの属性
のペアが比較される。例えば、取込データセットと記憶
データセットとのファイル作成日付が同じである場合、
カメラ240(または一時記憶場所)からの取込メディ
アデータ190のこの部分がメモリ30の記憶データ1
80に追加されることにより、同じ日の間にメモリに先
に追加されたデータが重複することになる。しかしなが
ら、取込メディアデータ190はまた、同じ日の異なる
写真撮影からのものであって、したがって重複ではない
可能性もある。したがって、確率分析を向上させるため
に、取込データセットと記憶データセットとの各ペアに
対し、いくつかのメディアおよび記憶データ属性の比較
が行われる。例えば、ファイル作成日付に加えて、取込
データ190の最初のセットのファイル名もまた、記憶
データ180の最初のセットのファイル名と比較されて
よい。 【0036】ステップ322において、データセットの
最初のペアの属性の1つ、いくつかまたはすべてが、最
初の確率計算において考慮される。好ましい実施形態で
は、確率計算は、ステップ320において比較された取
込データ属性と記憶データ属性との間にほとんどかまた
はまったく相違がない場合はいつでも、取込データセッ
トが記憶データセットと同じかまたは実質的に同様であ
るという高い可能性を提供するように、設計される。ス
テップ322における確率計算は、データセットのあら
ゆるペアに対する、取込データ属性のうちの1つ、いく
つか、またはすべてと、ステップ304において識別さ
れた対応する記憶データ属性との単純なバイナリ比較で
あってよい。例えば、確率計算322は、単純に、属性
の単一ペアを識別するか、または取込および記憶データ
180、190からのデータセットのペアに対して同じ
(または実質的に同様の)複数のデータ属性ペアの数を
集計してよい。しかしながら、いくつかのデータ属性は
他のデータ属性より重複データセットについて予測的で
ある可能性があるため、いかなるデータセットに対する
確率計算はまた、好ましくは、複数のデータ属性とステ
ップ306および308においてそれら属性に割当てら
れた重みおよび/または優先順位との関数である。 【0037】ステップ324において、検討中のデータ
セットのペアに対する確率計算が閾値範囲外であるかに
ついての判断がなされる。例えば、計算された確率は、
別の属性を考慮することによって確率計算が閾値範囲外
になることはないことを示すほど十分低い場合がある。
この閾値範囲は、100%確率より上でも下でもよく、
属性計数またはパーセンテージ以外の他の基準(yardsti
ck)もまた使用されてよい。閾値は、ステップ304〜
308における種々のデータ属性の識別、優先順位また
は重みと共に設定されてよい。ステップ322における
確率計算の結果がステップ324において閾値範囲外で
ある場合、検討中の取込データセットの取込データ19
0は、記憶データセットの記憶データ180と十分に同
様であるとみなされ、すなわち、それは記憶データ18
0に追加されるべきではないとみなされる。図3に示す
残りのステップは、複数の取込および記憶データ属性に
対しステップ322において確率計算を順次更新し、そ
の後すべてのデータセットに対してすべてのデータ属性
が考慮されるまで、取込データセットと記憶データセッ
トとの各ペアに対する新たな確率計算を行う、一実施形
態を示す。 【0038】ステップ326では、ステップ322にい
て特定のデータセットのペアに対し確率計算を更新する
ために使用することができる、いずれかの追加の属性が
あるか否かに関する判断が行われる。他の属性が利用可
能である場合、ステップ328において、次の取込デー
タ属性(好ましくは、ステップ306における優先順位
セットの順序で)が選択され、ステップ310において
I/O装置140(カメラ240等)からまたはステッ
プ316において一時記憶場所から読出される。そし
て、第2の属性に対し、ステップ318〜326が繰返
され、ステップ326においてすべての属性が考慮され
るまで、新たなデータ属性比較の各々に対し、確率計算
が順次更新される。 【0039】特定の取込データセットに対し、最後の属
性が考慮されると、ステップ330において、取込デー
タセットが記憶データセットのすべてと比較されたか否
かに関する判断が行われる。ステップ318においてメ
ディアおよび記憶データ属性がまだ比較されていなかっ
た、ステップ302において識別された他の記憶データ
セットがある場合、ステップ332において次の記憶デ
ータセットが選択され、システムはステップ318に戻
る。代替的に、いかなる重複も見つからなかった場合、
ステップ334において取込データセットが記憶媒体に
転送される。特定の取込データセットに対し記憶データ
セットのすべてが考慮されると、ステップ338におい
て次の取込データセットが選択され、ステップ336に
おいて取込データ190のセットのすべてが考慮された
という判断がなされステップ340において停止するま
で、プロセスはステップ310に戻る。 【0040】図4および図5は、図2に示すいくつかま
たはすべてのコンポーネントを用いて実現されてよい、
図1に示す同期化システム170の他の実施形態のフロ
ーチャートである。特に、図4は、同期化システムのこ
の実施形態の第1段階470を示し、図5は、同じ同期
化システムの第2段階570を示す。図4および図5に
示す実施形態を実現するために列挙するコンピュータコ
ードシーケンスを、本文書に添付する。 【0041】図4および図5の各ブロックは、図3にお
けるように、一般に指定された論理機能を実現する1つ
または複数の実行可能命令を含むコンピュータコード
の、アクティビティ、ステップ、モジュール、セグメン
トまたは一部を表す。なお、種々の代替実現において、
ブロックに示す機能は、図4および図5に示す順序以外
の順序で発生する、ということも留意しなければならな
い。例えば、関連する機能によって、異なるブロックの
複数の機能が、実質的に同時に、異なる順序で、完全で
なく、または期間を延長して、実行されてよい。また、
種々のステップがマニュアルで完了されてもよい。 【0042】図4および図5に示す同期化は、好ましく
は、カメラ240からの取込イメージのすべてがコンピ
ュータ215にダウンロードされた時に開始する。第1
段階470は、取込まれダウンロードされたイメージの
いずれが、実際の重複(actual duplicate)または「可能
性のある重複(possible duplicate)」であるかに関する
判断を行う。重複可能性のあるイメージは、その属性の
すべてではないが少なくとも1つが、他のイメージの属
性と一致する。これら可能性のある重複を迅速に識別す
るために、第1段階470は、好ましくは、追加の計算
を必要としない「非計算(non-calculated)」属性のみを
使用する。例えば、名前、サイズおよび時刻は、イメー
ジが対応するメモリに配置されるかまたはそこから検索
される時に、カメラ240またはコンピュータ215の
オペレーティングシステムによって前もって計算されて
いる。対照的に、「計算(calculated)」属性は、追加の
計算を通して既存の情報から導出されなければならな
い。 【0043】第1段階470では、追加の属性を計算す
る必要なく、多くの実際の重複が迅速に発見される。実
際の重複は削除され、可能性のある重複は、同様に削除
することが適当であるか否かを判断するために、第2段
階570においてさらに評価される。第1段階470お
よび第2段階570が完了すると、削除することが適当
であると確定された可能性のある重複が削除される。 【0044】図4において、第1段階470は、ステッ
プ405で開始し、カメラ240(図2)の最初の取込
イメージの名前、サイズおよび時刻のいずれかまたはす
べてを取得する。上述したように、取込イメージは、好
ましくは、第1段階470を開始する前にカメラ240
からコンピュータ215にコピーされ、移動され、また
は他の方法で転送されている。したがって、この名前、
サイズおよび時刻情報は、コンピュータ215のメモリ
130(図1)から利用可能であってよい。代替的に、
この情報は、あらかじめイメージをカメラからコンピュ
ータ215にダウンロードすることなく、カメラ240
から直接ダウンロードされてよい。次に、ステップ41
0において、コンピュータ215(図2)の最初の記憶
イメージの名前、サイズおよび時刻が取得される。ステ
ップ415において、これらファイルのサイズが一致し
ないことが分かった場合、ステップ420において、こ
れが比較のための最後の記憶イメージであるか否かに関
する判断がなされる。ステップ420において、記憶イ
メージのすべてが最初の取込イメージと比較されていな
い場合、プロセスは、ステップ420において最初の取
込イメージが記憶イメージのすべてに対してサイズにつ
いて比較されるまで、次の記憶イメージについてステッ
プ410に戻る。ステップ420において、取込イメー
ジのサイズが記憶イメージのいずれのサイズとも一致し
ない場合、プロセスは、記憶イメージのすべてが比較さ
れたか否かを判断するためにステップ425に戻る。 【0045】ステップ415に戻ると、検討中の取込イ
メージのサイズと記憶イメージのサイズとの間に一致が
ある場合、プロセスは、取込イメージと記憶イメージと
の名前および時刻もまた一致するか否かを判断するため
にステップ430に移る。ステップ430において、取
込イメージと記憶イメージとの名前および時刻が一致す
る場合、ステップ435において、取込イメージが重複
であって削除されるものとみなされる。一方、ステップ
430において名前および時刻がともに一致しない場
合、ステップ440において、名前または時刻のいずれ
かが一致するか否かに関する判断が行われる。名前また
は時刻のいずれもが一致しない場合、取込イメージはま
だ記憶されていないと推定され、プロセスはステップ4
20に戻る。 【0046】第1段階470がステップ445に達する
と、取込イメージと記憶イメージとのサイズが、名前ま
たは時刻の両方ではなく一方と共に一致するという判断
がなされている。したがって、ステップ445におい
て、取込イメージファイルが可能性のある重複としてす
でに識別されたか否かが判断され、識別されていない場
合、ステップ450においてそのように識別される。そ
して、システム470は、ステップ425において取込
イメージのすべてが考慮されたか否かを判断し、考慮さ
れた場合は、図5に示す第2段階570に進む。 【0047】第2段階570は、ステップ505で開始
し、第1段階470中に可能性のある重複として識別さ
れた最初のイメージのサイズを取得する。次に、ステッ
プ510において、次の記憶イメージのサイズが取得さ
れる。好ましくは、ステップ515において、最初の重
複可能性のあるイメージのサイズが最初の記憶イメージ
のサイズと一致するか否かを判断するために比較が行わ
れる。(代替的に、図4のステップ415におけるサイ
ズ比較が再使用されてよい。)一致しない場合、第2段
階570は、すべての記憶イメージが考慮されるまでス
テップ520を通って進む。 【0048】重複可能性のあるイメージのサイズが記憶
イメージのサイズと一致する場合、第2段階570は、
ステップ525に進み、記憶イメージおよび重複可能性
のあるイメージのチェックサムのような属性を計算す
る。なお、チェックサムは、第2段階570に必要な計
算時間を最小限にするようにサイズが一致するイメージ
に対してのみ計算される。チェックサムが一致すると、
ステップ535において、重複可能性のあるイメージは
重複であり削除されるものとみなされる。次に、プロセ
スは、ステップ540においてすべての重複可能性のあ
るイメージが考慮されたという判断がなされない限り、
ステップ505に戻る。 【0049】この発明は、例として次の実施態様を含
む。 【0050】(1) レコーダ(240)からの取込デ
ータ(190)を記憶媒体(130)の記憶データ(1
80)と同期させる方法であって、いずれかの前記取込
データセットおよび前記記憶データセットとが同じ第1
のデータ属性を有するか否かを判断するステップ(32
0、410)と、前記同じ第1の属性を有するいずれか
の取込データセットおよび記憶データセットが、同じ第
2および第3のデータ属性を有するか否かをさらに判断
するステップ(320、430、530)と、記憶デー
タセットと少なくとも同じ第1、第2および第3のデー
タ属性を有する取込データセットを削除するステップ
(435、535)と、を含む方法。 【0051】(2) 前記第1のデータ属性は、非計算
データ属性(405、410)である(1)記載の方
法。 【0052】(3) 前記第2および第3のデータ属性
のうちの少なくとも1つは、計算データ属性(525)
である(1)記載の方法。 【0053】(4) 前記非計算データ属性(405、
410)は、サイズ、名前および時刻からなるグループ
から選択される(2)記載の方法。 【0054】(5) 前記計算データ属性(525)は
チェックサムである(2)記載の方法。 【0055】(6) 前記第2および第3のデータ属性
(320、430、530)は、名前、時刻およびチェ
ックサムからなるグループから選択される(1)記載の
方法。 【0056】(7) カメラ(240)からの取込イメ
ージデータ(150)を記憶媒体(130)の記憶イメ
ージデータ(180)と同期させるシステムであって、
前記取込イメージデータと記憶イメージデータとのいず
れか2つのセットが同じサイズ属性を有するか否かを判
断する手段(170、215)と、前記同じサイズ属性
を有する取込データと記憶データとのいずれか2つのセ
ットがまた、同じである少なくとも2つの他のデータ属
性を有するか否かをさらに判断する手段(170、21
5)と、前記同じサイズ属性を有する取込データセット
を削除する手段(170、215)と、を具備するシス
テム。 【0057】(8) 前記2つの他のデータ属性のうち
の少なくとも1つは、計算データ属性(525)を含む
(7)記載のコンピュータ読取可能媒体。 【0058】(9) 前記計算属性はチェックサム(5
25)である(8)記載のコンピュータ読取可能媒体。 【0059】(10) 前記少なくとも2つの他のデー
タ属性は、非計算データ属性(320、440)を含む
(8)記載のコンピュータ読取可能媒体。 【0060】図4および図5に関連するコンピュータコ
ードシーケンスを以下に示す。 【0061】コンピュータコードシーケンス /*********************************** * * $Auther: Ericw $ * $Date: 2/20/01 5:44p $ * $Logfile: /App/EZUnload/Synchroniz e.cpp $ * $Modtime: 2/20/01 5:35p $ * $Revision: 10 $ * $Workfile: Synchronize.cpp $ * 目的:同期化タスク */ //―――――――――――――――――――――――――――――――――― // インクルード //―――――――――――――――――――――――――――――――――― #include“stfafx.h” #include“hpi_common.h” #include“Synchronize.h” #include“CameraContents.h” #include“UnloadSetting.h” #include“easyUnload.h” //―――――――――――――――――――――――――――――――――― // スレッドステータスをアンロード //―――――――――――――――――――――――――――――――――― enum ESyncStatus { SUS_NotStarted, SUS_FirstPassDone, SUS_SecondPassDone, }; //―――――――――――――――――――――――――――――――――― // 共用スレッド変数 //―――――――――――――――――――――――――――――――――― Shared<ESyncStatus> TheSyncState; Shared<int> TheSyncPass; vector<CFileInfo> g_filelist; bool g_cancel; /*********************************** * StartSynchronizeThread * ***********************************/ DWORD WINAPI StartSynchronizeThread (void) { CSynchronizeThread syncThread=new CSynchronizeThread; if(TheSyncPass()==1) syncThread−>Firstpass(); else synchThread−>SecondPass(); delete syncThread; return0; } //―――――――――――――――――――――――――――――――――― // メンバ関数 //―――――――――――――――――――――――――――――――――― /*********************************** * CSynchronizeTask * * Do Nothing ***********************************/ CSynchronizeTask::CSynchronizeTask() { Log(“CSynchronizeTask”,“CSynchroni zeTask()”); m_thread=NULL; g_cancel=false; TheSyncState(SUS_NotStarted); TheSyncPass(1); } ************************************ 〜CCameraUnloadTask Do Nothing ************************************ CSynchronizeTask::〜CSynchronizeTask( ) { Log(“CSynchronizeTask”,“−CSynchro nizeTask()”); g_cancel=true; } /*********************************** * FirstPassSync * * Do Nothing ***********************************/ void CSynchronizeTask::StartFirstPas s() { Log(“CSynchronizeTask”,“StartFirstPa ss()”); TheSyncPass(1); StartThread(); } /*********************************** * StartSecondPass * ***********************************/ void CSychrinizeTask::StartSecondPas s() { Log(“CSynchronizeTask”,“StartSeco ndPass()”); TheSyncPass(2); StartThread(); } /*********************************** * FirstPassDone * ***********************************/ bool CSynchronizeTask::FirstPassDone () { return(TheSyncState()==SUS_FirstP assDone); } /*********************************** * SecondPassDone * ***********************************/ bool CSynchronizeTask::SecondPassDon e() { return(TheSyncState()==SUS_Second PassDone); } /*********************************** * StartThread * ***********************************/ void CSynchronizeTask::StartThread() { Log(“CSynchronizeTask”,“StartThrea d()”); if(m_thread) { Log(“CSynchronizeTask”,“Kill ex isting thread”); TerminateThread(m_thread,0); CloseHandle(m_thread); DWORD dwTID; m_thread=CreateThread(0,0,Start SynchronizeThread,this,0,&dwTID); } /*********************************** * CSynchronizeThread * * Do nothing ***********************************/ CsynchronizeThread::CSynchronizeThre ad() { Log(“CStnchronizeThread”,“Csynchr onizeThread()”); } /*********************************** * 〜CSynchronizeThread * * Do nothing ***********************************/ CsynchronizeThread::〜CSynchronizeThr ead() { Log(“CStnchronizeThread”,“〜CSynch ronizeThread()”); } /*********************************** * FirstPassCompare * ***********************************/ bool CSynchronizeThread::FirstPassCo mpare(CFileInfofile,CCameraImageInf ocamImage) { //このイメージに対しすでに重複が見つかっている場合は、再度チェッ クしない。 【0062】 if(camImage−>m_duplicateOnHardDis k) return false; //重複とみなされるファイルは同じサイズを有していなければならない 。 【0063】 if(!EquivilentSize(file,camImage) ) return false; bool sameName=EquivalentFilename( file,camImage); bool sameName=EquivalentTime(file ,camImage); if(sameName && sameTime) //ダウンロードさえしないという十分な確信を持てるファイルは、 3つの属性がすべて一致していなければならない。 【0064】 Log(“CSynchronizeThread”,“Mat ch Found‘%s(%d)’and‘%s(%d)’”, file−>GetFileName().Chars (),file−>GetSize(), CamImage−>m_nameOnCamera, camImage−>m_filesize); camImage−>m_pathOnDisk=file−> GetPath().Chars(); camImage−>m_nameOnDisk=file−> GetFileName().Chars(); camImage−>m_duplicateOnHardDi sk=true; return false; } if(sameName||sameTime) { //2つの属性が一致するファイルは、「潜在的一致」リストに置かれ、フ ァイルがカメラからダウンロードされた後に比較される。 【0065】 return true; } return false; } /*********************************** * FirstPass * ***********************************/ void CsynchronizeThread::FirstPass() { Log(“CSynchronizeThread”,FirstPas s()“; CCameraContents contents=TheCa meraContents.GetPtr(); CCameraImageInfo cameraImage=N ULL; if(contents==NULL) { Log(“CSynchronizeThread”,“Con tents is NULL”); TheCameraContents.Unlock(); return; } CfileInfo file; bool file_on_list; String startPath(Setings.psBase Path−>Get()); CFileEnumerator fileenum(startPass) ; while(fileenum.GetFile(file) && !g_c ancel) { file_on_list=false; for(int i=1;i<=contents―>m_ numPhotos;i++) cameraImage=&(contents−>m _imageInfo[i]); if(FirstPassCompare(&file,c ameraImage)) { //潜在的一致リストのファイルの1つのインスタンスの みが必要である。これにより、第2パスで行う比較の量が低減する。 【0066】 if(!file_on_list) g_filelist.push_ back(file); file_on_list=true; } }//for }//while TheCameraContents.Unlock(); TheSyncState(SUS_FirstPassDone); } /*********************************** * DeleteDuplicateFile * ***********************************/ void CSynchronizeThread::DeleteDupli cateFile(const CString &fullpath) { Log(“CSynchronizeThread”,“2nd P ass−Deleting File ‘%s’”,fullpath); BOOL deleted=FALSE; int attempts=0; while(!deleted&&(attempts++<5)) { deleted=DeleteFile(fullpath); if(!deleted) Sleep(1000); } } /*********************************** * SecondPassCompare * ***********************************/ bool CSynchronizeThread::SecondPassC ompare(CFileInfofile,CCameraImageIn focamImage) { Log(“2ndPass”,“Compare‘%s’and‘%s’ ”, file−>GetFileName().Chars(),cam Image−>m_nameOnDisk); if(camImage−>m_duplicateOnHardDis k) return false; if(!EquivalentSize(file,camImage) ) return false; if(!EquivalentFile(file,camImage) ) return false; return true; /*********************************** * SecondPass * ***********************************/ void CSynchronizeThread::SecondPass( ) { Log(“CSynchronizeThread”,“SecondP ass()”); CCameraContentscontents=TheCam eraContents.GetPtr(); CCameraImageInfoCameraImage=NU LL; if(contents==NULL) { Log(“CSynchronizeThread”,“Con tents is NULL”); TheCameraContents.Unlock(); return; } vector<CFileInfo>::iterator fil e; file=g_filelist.begin(); while(file !=g_filelist.end() & & !g_cancel) { for(int i=1;i<=contents―>m_nu mPhotos;i++) { cameraImage=&(contents−>m_i mageInfo[i]); if(SecondPassCompare(file,cam eraImage)) { DeleteDuplicateFile(VolumeU tils::AddPaths(cameraImage−>m_pathDi sk,cameraImage−>m_nameOnDisk)); camaraImage−>m_duplicateO nHardDisk=true; camaraImage−>m_pathOnDisk =file−>GetPath().Chars(); camaraImage−>m_nameOnDisk =file−>GetFileName().Chars(); } }//for file++; }//while TheCameraContents.Unlock(); TheSyncState(SUS_SecondPassDone); } /*********************************** *EquivalentSize * ***********************************/ inline bool CSynchronizeThread::Equi valentSize(DFileInfofile,CCameraIma geInfocamImage) { return(camImage−>m_filesize==fi le−>GetSize()); } /*********************************** * EquivalentTime * ***********************************/ inline bool CSynchronizeThread::Equi valentTime(CFileInfofile,CCameraIma geInfocamImage) { const int TOLERANCE_IN_SECS=10; CFileTime filetime=file−>GetLastM odifyTime(); CFileTime camtime=CFileTime(camIm age−>m_time); return((filetime.Diff(camtime))<T OLERANCE_IN_SECS>; } /*********************************** * EquivalentFile * ***********************************/ inline bool CSynchronizeThread::Equi valentFile(CFileInfofile,CCameraIma geInfocamImage) { String name=canImage−>m_nameOnDis k; String path=canImage−>m_passOnDis k; CFileInfo camfile(name,path); UNIT32 fileXsum,camXsum; if(!file−>CalcChecksum(fileXsum )) Log(“2ndPass”,“Failed to calc ulate checksum for file”); if(!camfile.CalcChecksum(camXsu m)) Log(“2ndPass”,“Failed to calc ulate checksum for camfile”); Log(“2ndPass”,“file xsum %X cam xsum %X”,fileXsum,camXsum); return(fileXsum==camXsum) /*********************************** * EquivalentFilename * ***********************************/ inline bool CSynchronizeThread::Equi valentFilename(CFileInfofile,CCamer aImageInfocamImage) { CString name=file−>GetFIleName(). Chars(); return(name==camImage−>m_nameOnCa mera); }
【図面の簡単な説明】 【図1】本発明の実施形態を実現するアーキテクチャの
概略図である。 【図2】図1に示すアーキテクチャを使用する例示的な
ハードウェアコンポーネントのレイアウト図である。 【図3】図1に示す同期化システムの例示的なフローチ
ャートである。 【図4】本発明の他の実施形態の第1段階のフローチャ
ートである。 【図5】図4に開示した実施形態の第2段階のフローチ
ャートである。 【符号の説明】 130 記憶媒体
フロントページの続き (72)発明者 エリック・イー・ウィリアムズ アメリカ合衆国80525コロラド州フォー ト・コリンズ、バッチャナン・ストリート 6361 Fターム(参考) 5B050 AA09 BA10 BA15 DA04 FA19 GA07

Claims (1)

  1. 【特許請求の範囲】 【請求項1】 レコーダからの取込データを記憶媒体の
    記憶データと同期させる方法であって、 いずれかの取込データセットおよび記憶データセットが
    同じ第1のデータ属性を有するか否かを判断するステッ
    プと、 前記同じ第1の属性を有するいずれかの取込データセッ
    トおよび記憶データセットが、同じ第2および第3のデ
    ータ属性を有するか否かをさらに判断するステップと、 記憶データセットと少なくとも同じ第1、第2および第
    3のデータ属性を有する取込データセットを削除するス
    テップと、を含む方法。
JP2002217551A 2001-08-08 2002-07-26 メディアデータの同期化方法 Pending JP2003162707A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/924,741 2001-08-08
US09/924,741 US20030030733A1 (en) 2001-08-08 2001-08-08 System and method for synchronization of media data

Publications (1)

Publication Number Publication Date
JP2003162707A true JP2003162707A (ja) 2003-06-06

Family

ID=25450648

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002217551A Pending JP2003162707A (ja) 2001-08-08 2002-07-26 メディアデータの同期化方法

Country Status (4)

Country Link
US (1) US20030030733A1 (ja)
JP (1) JP2003162707A (ja)
DE (1) DE10234736A1 (ja)
GB (1) GB2381344B (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017034636A (ja) * 2015-08-06 2017-02-09 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、プログラム
US11895362B2 (en) 2021-10-29 2024-02-06 Manufacturing Resources International, Inc. Proof of play for images displayed at electronic displays

Families Citing this family (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030167318A1 (en) * 2001-10-22 2003-09-04 Apple Computer, Inc. Intelligent synchronization of media player with host computer
EP1440402A1 (en) * 2001-10-22 2004-07-28 Apple Computer, Inc. Intelligent synchronization for a media player
JP2006501529A (ja) 2001-12-28 2006-01-12 ジェフリー ジェームズ ジョナス, リアルタイムデータ保管
US8150937B2 (en) 2004-10-25 2012-04-03 Apple Inc. Wireless synchronization between media player and host device
US9412417B2 (en) 2002-04-05 2016-08-09 Apple Inc. Persistent group of media items for a media device
US7797446B2 (en) * 2002-07-16 2010-09-14 Apple Inc. Method and system for updating playlists
US7827259B2 (en) * 2004-04-27 2010-11-02 Apple Inc. Method and system for configurable automatic media selection
US7680849B2 (en) * 2004-10-25 2010-03-16 Apple Inc. Multiple media type synchronization between host computer and media device
US9715500B2 (en) * 2004-04-27 2017-07-25 Apple Inc. Method and system for sharing playlists
US7166791B2 (en) 2002-07-30 2007-01-23 Apple Computer, Inc. Graphical user interface and methods of use thereof in a multimedia player
US7956272B2 (en) * 2002-07-30 2011-06-07 Apple Inc. Management of files in a personal communication device
US8931010B2 (en) * 2002-11-04 2015-01-06 Rovi Solutions Corporation Methods and apparatus for client aggregation of media in a networked media system
JP2006505873A (ja) * 2002-11-06 2006-02-16 インターナショナル・ビジネス・マシーンズ・コーポレーション 機密データ共用および匿名エンティティ解決
US8620937B2 (en) * 2002-12-27 2013-12-31 International Business Machines Corporation Real time data warehousing
AU2003300458A1 (en) * 2002-12-31 2004-07-29 International Business Machines Corporation Authorized anonymous authentication
US7200602B2 (en) * 2003-02-07 2007-04-03 International Business Machines Corporation Data set comparison and net change processing
JP4250442B2 (ja) * 2003-03-25 2009-04-08 キヤノン株式会社 情報処理装置、情報入力装置、情報処理装置の制御方法、情報入力装置の制御方法、プログラム及びコンピュータ読み取り可能な記録媒体
JP3845627B2 (ja) * 2003-06-11 2006-11-15 インターナショナル・ビジネス・マシーンズ・コーポレーション 属性情報取得装置、属性情報取得方法、及び、そのプログラムと記録媒体
JP2005033712A (ja) * 2003-07-11 2005-02-03 Sony Corp 情報処理装置および方法、並びにプログラム
WO2005073856A2 (en) * 2004-01-27 2005-08-11 Koninklijke Philips Electronics, N.V. Audio/video content synchronization through playlists
US20050168597A1 (en) * 2004-02-04 2005-08-04 Clay Fisher Methods and apparatuses for formatting and displaying content
US20070110074A1 (en) 2004-06-04 2007-05-17 Bob Bradley System and Method for Synchronizing Media Presentation at Multiple Recipients
US8797926B2 (en) 2004-06-04 2014-08-05 Apple Inc. Networked media station
US10972536B2 (en) 2004-06-04 2021-04-06 Apple Inc. System and method for synchronizing media presentation at multiple recipients
US8443038B2 (en) 2004-06-04 2013-05-14 Apple Inc. Network media device
US20060044582A1 (en) * 2004-08-27 2006-03-02 Seaman Mark D Interface device for coupling image-processing modules
US8261246B1 (en) 2004-09-07 2012-09-04 Apple Inc. Method and system for dynamically populating groups in a developer environment
US7734592B2 (en) * 2005-01-04 2010-06-08 International Business Machines Corporation Method for reducing a data repository
US7958441B2 (en) * 2005-01-07 2011-06-07 Apple Inc. Media management for groups of media items
US11314378B2 (en) 2005-01-07 2022-04-26 Apple Inc. Persistent group of media items for a media device
US7523869B2 (en) * 2005-04-06 2009-04-28 Nokia Corporation Portable electronic device memory availability
US7822846B1 (en) * 2006-01-26 2010-10-26 Sprint Spectrum L.P. Method and system for brokering media files
US8204831B2 (en) * 2006-11-13 2012-06-19 International Business Machines Corporation Post-anonymous fuzzy comparisons without the use of pre-anonymization variants
US20080168185A1 (en) * 2007-01-07 2008-07-10 Robbin Jeffrey L Data Synchronization with Host Device in Accordance with Synchronization Preferences
US8850140B2 (en) 2007-01-07 2014-09-30 Apple Inc. Data backup for mobile device
US10083184B2 (en) * 2007-01-07 2018-09-25 Apple Inc. Widget synchronization in accordance with synchronization preferences
US8631088B2 (en) 2007-01-07 2014-01-14 Apple Inc. Prioritized data synchronization with host device
KR101335867B1 (ko) * 2007-04-13 2013-12-02 엘지전자 주식회사 영상표시기기에서 데이터 업데이트 장치 및 방법
US8046369B2 (en) 2007-09-04 2011-10-25 Apple Inc. Media asset rating system
CN101604314A (zh) * 2008-06-10 2009-12-16 鸿富锦精密工业(深圳)有限公司 自动删除相同档案的方法
KR20100050072A (ko) * 2008-11-05 2010-05-13 삼성전자주식회사 데이터 압축 방법 및 이를 이용한 데이터 통신 시스템
US9087060B2 (en) * 2011-06-03 2015-07-21 Apple Inc. Partial sort on a host
US9405812B2 (en) 2012-10-22 2016-08-02 Platfora, Inc. Systems and methods for providing performance metadata in interest-driven business intelligence systems
US9767173B2 (en) 2012-10-22 2017-09-19 Workday, Inc. Systems and methods for interest-driven data sharing in interest-driven business intelligence systems
US9824127B2 (en) * 2012-10-22 2017-11-21 Workday, Inc. Systems and methods for interest-driven data visualization systems utilized in interest-driven business intelligence systems
US9934299B2 (en) 2012-10-22 2018-04-03 Workday, Inc. Systems and methods for interest-driven data visualization systems utilizing visualization image data and trellised visualizations
US9405811B2 (en) 2013-03-08 2016-08-02 Platfora, Inc. Systems and methods for interest-driven distributed data server systems
US9892178B2 (en) 2013-09-19 2018-02-13 Workday, Inc. Systems and methods for interest-driven business intelligence systems including event-oriented data
WO2015060893A1 (en) 2013-10-22 2015-04-30 Platfora, Inc. Systems and methods for interest-driven data visualization systems utilizing visualization image data and trellised visualizations
US10269156B2 (en) 2015-06-05 2019-04-23 Manufacturing Resources International, Inc. System and method for blending order confirmation over menu board background
US9934304B2 (en) 2015-08-18 2018-04-03 Workday, Inc. Systems and methods for memory optimization interest-driven business intelligence systems
EP3465613A4 (en) * 2016-05-31 2019-10-23 Manufacturing Resources International, Inc. METHOD AND SYSTEM FOR REMOTE IMAGE VERIFICATION ON ELECTRONIC DISPLAY UNIT
US10152959B2 (en) * 2016-11-30 2018-12-11 Plantronics, Inc. Locality based noise masking
US10993274B2 (en) 2018-03-30 2021-04-27 Apple Inc. Pairing devices by proxy
US11297369B2 (en) 2018-03-30 2022-04-05 Apple Inc. Remotely controlling playback devices
US10783929B2 (en) 2018-03-30 2020-09-22 Apple Inc. Managing playback groups
US10614857B2 (en) 2018-07-02 2020-04-07 Apple Inc. Calibrating media playback channels for synchronized presentation
US11182193B2 (en) * 2019-07-02 2021-11-23 International Business Machines Corporation Optimizing image reconstruction for container registries

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5537586A (en) * 1992-04-30 1996-07-16 Individual, Inc. Enhanced apparatus and methods for retrieving and selecting profiled textural information records from a database of defined category structures
US5966714A (en) * 1995-04-28 1999-10-12 Intel Corporation Method and apparatus for scaling large electronic mail databases for devices with limited storage
US5893116A (en) * 1996-09-30 1999-04-06 Novell, Inc. Accessing network resources using network resource replicator and captured login script for use when the computer is disconnected from the network
US6065015A (en) * 1996-10-23 2000-05-16 Nikon Corporation Method and apparatus for editing an image file in an electronic camera
US5950198A (en) * 1997-03-24 1999-09-07 Novell, Inc. Processes and apparatuses for generating file correspondency through replication and synchronization between target and source computers
US6065013A (en) * 1997-08-19 2000-05-16 International Business Machines Corporation Optimal storage mechanism for persistent objects in DBMS
US6405219B2 (en) * 1999-06-22 2002-06-11 F5 Networks, Inc. Method and system for automatically updating the version of a set of files stored on content servers
US6847984B1 (en) * 1999-12-16 2005-01-25 Livevault Corporation Systems and methods for backing up data files
AU2001236622A1 (en) * 2000-02-04 2001-08-14 Ideo Product Development Inc. System and method for synchronization of image data between a handheld device and a computer
US20020051065A1 (en) * 2000-04-26 2002-05-02 Nikon Corporation Recording medium for data file management, apparatus for data file management, handling apparatus for image data, and image capturing system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017034636A (ja) * 2015-08-06 2017-02-09 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、プログラム
US11895362B2 (en) 2021-10-29 2024-02-06 Manufacturing Resources International, Inc. Proof of play for images displayed at electronic displays

Also Published As

Publication number Publication date
DE10234736A1 (de) 2003-02-27
GB2381344A (en) 2003-04-30
US20030030733A1 (en) 2003-02-13
GB2381344B (en) 2005-05-25
GB0217910D0 (en) 2002-09-11

Similar Documents

Publication Publication Date Title
JP2003162707A (ja) メディアデータの同期化方法
JP4557759B2 (ja) 情報処理装置、情報処理方法およびデータ更新方法
US7647346B2 (en) Automatic rules-based device synchronization
US7275244B1 (en) System and method for incrementally saving web files to a web server using file hash values
JP5371489B2 (ja) 画像管理装置およびその制御方法、ならびに、プログラムおよび記憶媒体
US9311192B2 (en) Methods, systems, and products for data backup
JP2008065793A (ja) 画像処理装置および方法、並びにプログラム
CN101211367A (zh) 信息处理设备、信息处理方法和程序
KR20060127961A (ko) 콘텐츠를 동기화하고 트래킹하기 위한 방법 및 장치
CN101405758A (zh) 用于自动处理数字信息的智能共享技术
JP2007188130A (ja) ファイル削除方法、ファイル・オープン方法、ファイル削除プログラム、および、ファイル・オープン・プログラム
EP1686530A1 (en) Systems and methods for reconciling image metadata
US20150169207A1 (en) Systems and methods for generating personalized account reconfiguration interfaces
AU2012320698A1 (en) Method of automatic management of a collection of images and corresponding device
US7269303B2 (en) Remote digital image enhancement system and method
US9454325B2 (en) Method and system for offline data access on computer systems
JP4595936B2 (ja) 情報処理装置、情報処理方法、プログラム
JP2016514393A (ja) 差分符号化のためのシリアライゼーション
EP3518120A1 (en) Indexing media asset aggregates in a multi-database environment
US20220012049A1 (en) Synchronization of Source Code Under Development in Multiple Concurrent Instances of an Integrated Development Environment
CN105593853A (zh) 服务器装置、客户端装置、信息处理方法和记录介质
CN103902648B (zh) 多文件处理系统及方法
JP5857281B2 (ja) レイアウト処理装置、レイアウト処理方法、およびプログラム
JP4507609B2 (ja) ファイル管理プログラム及びファイル管理装置
JP2006189934A (ja) 版下管理装置、情報処理装置、及び版下管理システム、並びに版下管理方法、プログラム、及び記憶媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050726

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080501

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080520

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20081014