以下、発明を実施するための最良の形態(以下実施の形態とする)について説明していく。なお、説明は以下の順序で行う。
1.第1の実施の形態
1−1.バックアップシステムの概要
1−2.記録再生装置の構成
1−3.情報処理装置の構成
1−4.記録再生装置におけるファイル管理形態
1−5.第1の実施の形態としてのバックアップ処理
1−6.処理動作
2.第2の実施の形態
2−1.第2の実施の形態としてのバックアップ処理
2−2.処理動作
3.第3の実施の形態
3−1.第3の実施の形態としてのバックアップ処理
3−2.処理動作
4.第4の実施の形態
4−1.第4の実施の形態としてのバックアップ処理
4−2.処理動作
5.第5の実施の形態
5−1.第5の実施の形態としてのバックアップ処理
5−2.処理動作
6.第6の実施の形態
6−1.第6の実施の形態としてのバックアップ処理
6−2.処理動作
7.第7の実施の形態
7−1.第7の実施の形態としてのバックアップ処理
7−2.処理動作
8.変形例
1.第1の実施の形態
1−1.バックアップシステムの概要
図1は、本発明の実施の形態としてのバックアップシステム100の概要について説明するための図である。
先ず、実施の形態のバックアップシステム100としては、図示するようにしてデジタルビデオカメラ1とパーソナルコンピュータ(単にPCと略す場合もある)20とを含んで構成される。デジタルビデオカメラ1は、本発明の実施の形態としての記録再生装置であり、パーソナルコンピュータ20は本発明の実施の形態としての情報処理装置である。
この場合、デジタルビデオカメラ1は、少なくとも動画の撮像と撮像動画の所要の記録媒体への記録を行うことが可能に構成される。この場合、デジタルビデオカメラ1はHDD(Hard Disc Drive)14を内蔵するものとされ、このHDD14に対し撮像動画データを記録するようにされる。
そして、本例のデジタルビデオカメラ1としては、例えばUSB(Universal Serial Bus)ケーブル等によりパーソナルコンピュータ20側と接続可能に構成され、これによってパーソナルコンピュータ20側とのデータ通信を行うことが可能とされる。
パーソナルコンピュータ20は、デジタルビデオカメラ1に対応する専用のアプリケーションプログラムがインストールされており、このアプリケーションプログラムにより後述するコンテンツファイルのバックアップ処理や復元処理等を実現する。パーソナルコンピュータ20には例えば数百GB(ギガバイト)程度の比較的大容量のHDD30が備えられており、このHDD30がデジタルビデオカメラ1側にて記録されたコンテンツファイルのバックアップ先となる。
1−2.記録再生装置の構成
図2は、図1に示されるデジタルビデオカメラ1の内部構成を示している。
この図2において、先ず光学系部2は、撮像レンズ、絞りなどを備えて成り、入射された光を撮像光として、光電変換部3に結像させる。また、光学系部2においては、フォーカス(焦点)調整のためのフォーカス調整機構や、絞り値に応じて絞りを可変する絞り可変機構などを備えているものとされ、このような機構部の駆動は、カメラ機能部6から出力される駆動信号によって行われる。カメラ機能部6は、CPU(Central Processing Unit)10の制御に応じて、しかるべきフォーカス状態や絞りの状態等が得られるように所要の駆動信号を出力するようにされる。
また、例えば光学ズーム機能を与えるとした場合には、光学系部2においてズームレンズを移動させるズーム機構を設けると共に、上記と同様にCPU10の制御に応じて上記ズーム機構を移動させる駆動部を設けるようにすればよい。さらに、ストロボを設けて、カメラ機能部6にストロボ発光機能を与えるように構成することもできる。
光電変換部3は、例えば光電変換素子であるCCD(Charge Coupled Device)を備えて構成され、光学系部2から入射されて受光面にて結像された撮像光を光電変換することで撮像信号を生成してビデオ信号処理部4に出力する。撮影時においては、例えば露出設定結果に応じて決定されるシャッター速度の指示が、CPU10からビデオ信号処理部4に通知される。ビデオ信号処理部4では、通知されたシャッター速度に対応する走査タイミング信号を光電変換部3に出力する。光電変換部3は、この走査タイミング信号に応じて走査を行うようにして、光電変換処理を実行して映像信号を出力するようにされる。
ビデオ信号処理部4は、光電変換部3から入力されたアナログのビデオ信号(撮像画像信号)について、例えばゲイン調整、サンプルホールド処理を施すことによって波形整形を行ったうえで、A/D変換を行うことで、デジタルデータとしてのビデオ信号に変換する。そして、この変換処理によって得られたデジタルビデオ信号について、例えば、表示用輝度データの生成処理などをはじめ、表示部7にて表示が行われるようにするためのビデオ信号処理を実行する。これに伴い、ビデオ信号処理部4では、CPU10の制御に応じてキャラクタ画像なども撮像画像に重畳して表示可能なように、いわゆるオンスクリーンディスプレイのための信号処理も実行可能とされている。
表示部7として採用される実際のディスプレイデバイスについては特に限定されるべきものではないが、現状においては、広く液晶ディスプレイパネルが採用されている。
また、ビデオ信号処理部4は、光電変換部3から入力されたアナログビデオ信号を変換して得たデジタルビデオ信号について、例えば所定方式による圧縮符号化処理を施して、圧縮ビデオデータを生成することが可能とされている。
また、本実施の形態のデジタルビデオカメラ1は、デジタルスチルカメラ機能も備える。つまり、撮像画像信号について、写真としての所定形式による静止画データファイルを生成することが可能とされているが、このような画像処理も、ビデオ信号処理部4によって行われる。
また、ビデオ信号処理部4では、光電変換部3から入力された画像(映像)信号や、後述するHDD14から読み出されたAVデータのファイル(AVファイル)などを、所定方式のアナログビデオ信号又はデジタルビデオ信号に変換して、画像入出力部5を介して外部機器などに出力可能とされている。
画像入出力部5は、外部から所定方式のビデオ信号を入力するようにされており、この入力したビデオ信号をビデオ信号処理部4の処理を経て表示部7に表示させることが可能とされる。また、ビデオ信号処理部4は、画像入出力部5が入力したビデオ信号について、光電変換部3から入力されたアナログビデオ信号と同様にして、記録用データに変換してメディアコントローラ13に転送することもできる。
これに対応して、画像入出力部5は、例えば所定方式に従った映像(画像)信号出力端子/映像信号入力端子を備える。
また、本実施の形態のデジタルビデオカメラ1は、音声処理部8及び音声入出力部9を備えることで、音声信号の入出力も可能とされている。
先ず、音声入力については、音声入出力部9としてマイクロフォンなどを備え、外部音声の収音を行って音声信号に変換して音声を入力するようにされる。そして、このようにして入力した音声信号を音声処理部8に出力する。音声処理部8は、例えば、撮像画像の圧縮符号化に対応する音声圧縮符号化方式により符号化された圧縮オーディオデータに変換するなどの音声信号処理を施す。
CPU10は、ビデオ信号処理部4により得られた撮像画像についての圧縮ビデオデータと、音声処理部8により得られた収音音声についての圧縮オーディオデータとにより、所定形式のAVファイルを形成するための制御処理を実行するようにされる。このAVファイルは、圧縮ビデオデータを再生して出力される動画像に対して、圧縮オーディオデータを再生して出力される音声の再生時間軸が同期したものとなっている。なお、実際にAVファイルを形成するための構成としては、CPU10がプログラムを実行して得られるデジタル信号処理となるソフトウェア構成とされてもよいし、あるいは、AVファイルを形成するためのハードウェアを備えるとともに、CPU10がこのハードウェアについての動作を制御する構成としてもよい。
上記AVファイルとしてのデータは、記録用データとして、例えばCPU10の制御によってメディアコントローラ13に転送される。また、CPU10は、ビデオ信号処理部4によって生成された写真画像としての所定形式の静止画データファイルについても、記録用データとしてメディアコントローラ13に転送することができる。
音声入出力部9としては、音声信号入力端子などを備えて外部のオーディオ機器などからオーディオ信号を入力するようにも構成することができる。上記音声信号入力端子から入力されたオーディオ信号について、音声処理部8は、所定形式によるデジタルオーディオデータファイルに変換するようにされる。CPU10は、このようなデジタルオーディオデータファイルのデータについても、記録用データとしてメディアコントローラ13に転送することができる。
メディアコントローラ13は、CPU10との連携により、HDD14に対するデータ処理に関する制御処理を実行可能に構成される。ここでいうHDD14に対するデータ処理とは、メディア(つまりここではハードディスク)のフォーマット処理や、メディアの記憶領域に対するファイル及びファイル管理のための情報(ファイル管理情報)などの書き込み/読み出し処理など、メディアに記憶されるべきデータに関連する何らかの処理をいう。
上記メディアコントローラ13は、先に説明したようにして記録用データが転送されてくるのに応じて、この記録用データをHDD14に対してさらに転送する。データが転送されたHDD14では、メディアコントローラ13側からの指示に応じて記憶領域に対してデータを書き込んで記憶させる。このようにしてHDD14に記憶されるデータがファイルとして記憶管理されることになる。なお、HDD14に記憶されるファイルの管理形態については後述する。
また、例えばHDD14に記憶されているファイルについての再生として、AVファイルを再生するときには、CPU10及びメディアコントローラ13は、指定されたAVファイルにアクセスして読み出しを行う。このようにして読み出されるAVファイルは、例えばCPU10の処理により、圧縮ビデオデータと圧縮オーディオデータとに分離され、圧縮ビデオデータについてはビデオ信号処理部4に受け渡し、圧縮オーディオ信号については、音声処理部8に受け渡すようにされる。
この場合のビデオ信号処理部4及び音声処理部8は、それぞれ、上記のようにして転送されてきた圧縮ビデオデータ、圧縮オーディオデータについて、復調処理を含む所要の再生信号処理を実行する。これにより、圧縮ビデオデータを再生した画像を表示部7にて表示するとともに、この画像の再生時間に同期して、圧縮オーディオデータを再生して得られる音声信号を、音声入出力部9が有するとされるスピーカにより音声として出力させたり、ヘッドフォン端子から出力させることができる。
また、例えばHDD14から再生されたオーディオデータファイルは、音声処理部8の音声信号処理を経た後に、音声入出力部9を介して、外部に対して所定形式のオーディオ信号、オーディオデータとして出力することも可能とされている。この場合、音声入出力部9としては、音声処理部8から出力される所定のオーディオ信号、オーディオデータの形式に対応するオーディオ出力端子を備えることになる。
CPU10は、プログラムを実行することでデジタルビデオカメラ1についての各種制御処理を実行する。ROM11は、CPU10が実行する各種プログラムのほか、CPU10が処理を実行するのに使用する各種設定情報などが記憶されている。RAM12は、CPU10がプログラムに従った処理を実行するときの作業領域として使用されるもので、各種の演算処理結果などのデータが保持される。
また、不揮発性メモリ12aは、例えばフラッシュメモリなどをはじめとした、電源供給が停止しても記憶内容が消去されない性質のメモリ素子により形成され、CPU10の制御によって、データの書き込み/読み出しが実行される。この不揮発性メモリ12aに記憶されるべきデータ(情報)としては、適宜内容の変更が行われる設定情報などが一般的であるが、特に限定されるものではなく、実際のデジタルビデオカメラ1の仕様などに応じて所要の各種の情報を記憶するものとされればよい。
操作入力部15は、デジタルビデオカメラ1に備えられる各種操作子を一括して示している。例えば、この操作入力部15における操作子としては、写真撮影時に操作されるシャッターボタン、動画撮影時に動画像の記録/停止を指示するための操作子、撮影モードなどを選択する操作子、パラメータのアップ/ダウンを行うための操作子などが含まれる。
USBインタフェース16は、CPU10の制御に応じて、USBのデータバス規格に従った通信方式により外部装置、特に本例の場合はパーソナルコンピュータ20とデータ通信を行うためのハードウェア、ソフトウェアを実装して構成される。
なお、デジタルビデオカメラ1とパーソナルコンピュータ20との間のデータ通信方式としては、このようなUSB規格に従ったものに限定されず、さらには有線、無線も問わず特に限定されるべきものではない。例えば有線では、Ethernet(登録商標)などのネットワーク、IEEE(the Institute of Electrical and Electronic Engineers)1394などのデータバス規格などを挙げることができる。また、無線であれば、Bluetooth(登録商標)などのデバイス間近距離無線通信、IEEE802.11a/b/gなどの無線LAN(Local Area Network)規格を挙げることができる。
電源部17は、デジタルビデオカメラ1における各種のハードウェアデバイスに対して動作電源を供給するもので、例えばバッテリや電源アダプタからの電力供給を受けて動作する電源回路などを備えて構成される。
なお、以下では説明の便宜上、デジタルビデオカメラ1にて生成されるAVファイル(オーディオデータファイルも含む)及び静止画データファイルについては、これらをまとめてコンテンツファイルFctと称することとする。
1−3.情報処理装置の構成
図3は、図1に示したパーソナルコンピュータ20の内部構成を示している。
図3において、先ずCPU21は、起動されたプログラムに基づいてパーソナルコンピュータ20全体の制御、演算処理を行う。例えばユーザに対する入出力動作、HDD30へのデータファイルの格納や管理情報の作成・更新等を行う。
この場合、HDD30上における各種データファイルの管理は、FAT(File Allocation Table)ファイルシステムにより行われる。
なお、CPU21は、図示するバス35を介して各部との間で制御信号やデータのやりとりを行うようにされる。
メモリ部22は、CPU21が処理に用いるRAM、ROM、フラッシュメモリなどを包括的に示している。
メモリ部22におけるROMには、CPU21の動作プログラム、プログラムローダー等が記憶される。また、メモリ部22におけるフラッシュメモリには、各種演算係数、プログラムで用いるパラメータ等が記憶される。
さらに、メモリ部22におけるRAMには、プログラムを実行する上でのデータ領域、タスク領域が一時的に確保される。
USBインタフェース23は、USBケーブルを介して接続された外部機器との間でデータ通信を行うために備えられる。上記もしたように、特にこの場合のUSBインタフェース23を介しては、図2に示したデジタルビデオカメラ1との間で、例えばコンテンツファイルFctなどの各種データの送受信が行われる。
HDD30においては、上述のようにしてCPU21の制御に基づきデータファイルの格納や管理情報の作成・更新等が行われる。例えば、図2に示したデジタルビデオカメラ1からアップロードされたコンテンツファイルFctについては、このHDD30に対して格納される。
また、HDD30に対しては、各種の動作を実現するためのプログラムも格納される。
特に、本実施の形態の場合では、CPU21が後に説明する各種バックアップ処理を行うために必要なバックアップ処理用プログラム30aが格納される。
このバックアップ処理用プログラム30aは、USBインタフェース23を介して接続されたデジタルビデオカメラ1について管理を行うためのアプリケーションプログラムの一部となる。すなわち、実施の形態で説明する各種のバックアップ処理は、デジタルビデオカメラ1について管理するためのアプリケーションが有する機能のうちのそれぞれ1機能を担うものとなる。
また、このHDD30に対しては、バックアップしたコンテンツファイルFctについて管理するためのPC側管理情報30bも格納される。なお、実施の形態の場合、このPC側管理情報30bが「第2の管理情報」に相当する。
入力部25は、パーソナルコンピュータ20に備えられる図示されないキーボードやマウス、或いはリモートコマンダー、その他の入力デバイスであって、ユーザが各種操作入力やデータ入力を行う。入力部25で入力された情報は入力処理部24で所定の処理が施され、CPU21に対して操作又はデータの入力として伝達される。CPU21は入力された情報に対応して必要な演算や制御を行う。
メディアドライブ29は、例えばCD(Compact Disc)、MD(Mini Disc:光磁気ディスク)、CD−R(Recordable)、CD−RW(ReWritable)、DVD(Digital Versatile Disc)、DVD−R、DVD−RW、メモリーカード(半導体メモリ装置)等、所要の記録メディアに対応するドライブ機能部であり、これらメディアについての記録再生動作を行うことが可能に構成される。例えばメディアとしてCD系やDVD系のディスクメディアに対応する場合、このメディアドライブ29には、例えば光学ヘッド、スピンドルモータ、再生信号処理部、サーボ回路等が備えられるものとなる。
ドライブ制御部28は、メディアドライブ29に装填されたメディアについての記録再生動作、アクセス動作等を制御する。例えばユーザが入力部25を介して装填されたメディアに対する再生操作を行った場合、CPU21はドライブ制御部28にメディアの再生を指示する。するとドライブ制御部28は、メディアドライブ29に対してアクセス動作や再生動作を実行させるための制御を行う。メディアドライブ29では、読み出した再生データをドライブ制御部28を介してバス35に送出する。
オーディオデータ処理部33は、CPU21の制御に基づき、入力されたオーディオデータについて、イコライジング等の音場処理や音量調整、D/A変換、増幅等の処理を施し、これをスピーカ部34を介して出力する。
例えば、メディアドライブ29によりオーディオデータが再生される際、又はHDD30に格納されたコンテンツファイルFctについてオーディオデータが再生される際には、このオーディオデータがオーディオデータ処理部33において処理された後、スピーカ部34を介して出力される。
ディスプレイ27は、例えばLCD(Liquid Crystal Display)などの表示デバイスとされ、ユーザに対して各種情報表示を行う。
例えば、CPU21が各種動作状態や入力状態、通信状態に応じて表示情報を表示処理部26に供給すると、表示処理部26は供給された表示データに基づいてディスプレイ27を駆動して表示動作を実行させる。
また、上記したメディアドライブ29に装填されたメディアから、或いはHDD30に格納されたコンテンツファイルFctについて動画データが再生された場合には、この再生データについての信号処理を行い、これにより得られた信号に基づいてディスプレイ27を駆動することにより動画(映像)表示を行わせる。
通信処理部31は、CPU21の制御に基づいて送信データのエンコード処理、受信データのデコード処理を行う。
ネットワークインタフェース32は、上記通信処理部31でエンコードされた送信データを、インターネットなどの所要のネットワークを介して所定の機器に送信する。また上記ネットワークを介して外部機器から送信されてきたデータを通信処理部31に受け渡す。
通信処理部31は受信したデータをCPU21に転送する。
1−4.記録再生装置におけるファイル管理形態
ここで、先の図2に示した本実施の形態としてのデジタルビデオカメラ1では、主としては撮像/収音により得られるAVファイルとなるコンテンツファイルFctを、HDD14に対して記憶させることができるようになっている。
HDD14に記憶されるファイルは、通常は、所定フォーマットによるファイルシステムにより管理されることになるのであるが、本実施の形態としては、PC20側と同じくFATファイルシステムにより管理されるものとしている。FATファイルシステムは、周知のようにして、ツリー型のディレクトリ構造によりファイルを管理するようにされており、また、データの書き込み/読み出しについては、クラスタといわれる論理的な最小データ管理単位により行うものとされている。クラスタは、メディアにおける物理的なデータ書き込み/読み出しの最小単位であるセクタを所定数にまとめたものが1単位となる。
図4は、FATファイルシステムの一般的なシステム構成を階層モデルにより示している。
先ず、この階層モデルとしては、ソフトウェア層と、その下層となるハードウェア層に大別される。
ソフトウェア層は、メディアに対してホスト側となるCPU(CPU10)が実行するプログラム、及び各種ファームウェア、ミドルウェアなどにより実現されるソフトウェア処理が対応するものとされる。この場合のソフトウェア層は、図示するように、上層から下層にかけて、アプリケーションR1、ファイルシステムR2の各層が位置する。
ハードウェア層には、メディアそのものの物理的な記憶領域が位置するものとして考えることができる。
アプリケーションR1は、例えばファイルの記録/再生機能などを有してメディアR3を使用するアプリケーションソフトウェアが対応し、ファイルレベルでのアクセス要求をファイルシステムR2に対して行う。
ファイルシステムR2は、ファイルシステムとしての機能を実現するソフトウェアが対応する。本実施の形態ではFATファイルシステムを採用することとしているので、ファイルシステムR2の機能を提供するソフトウェアとしても、FATファイルシステムに対応して構成されるものとなる。
このファイルシステムR2では、アプリケーションR1からのアクセス要求に従い、メディアR3へのアクセス要求を行う。
メディアR3は、論理的にはFATファイルシステムに従ってフォーマット(初期化)されたものとなる。図2ではHDD14がこのメディアR3に相当する。そして、メディアR3は、ファイルシステムR2からのアクセス要求に応答して、指定されたアドレスからデータを読み出して、ファイルシステムR2に返す。つまりアクセス応答を実行する。
ファイルシステムR2は、メディアR3からのアクセス応答としてのデータの受け取りを行い、この受け取ったデータをアプリケーションR1に受け渡すようにされる。アプリケーションR1は、受け取ったデータファイルについて、例えばユーザによる操作入力などに応じたアプリケーションレベルでの所要の処理を実行する。
また、FATファイルシステムは、記憶ファイルをツリー型のディレクトリ構造により管理し、また、ファイルをクラスタ単位の集合として管理するようにされている。このようなファイル管理、データ管理は、周知のようにしてディレクトリエントリ、及びFATとしてのテーブル情報(管理情報)を備えることにより実現されるものとなる。ディレクトリエントリは、メディアR3上におけるファイル、ディレクトリ(サブディレクトリ)の所在をクラスタレベルで示す情報であり、FATは、ディレクトリ、ファイルを成すクラスタレベルでのチェイン(リンク、連結)を示す情報である。
図5は、FATにより管理される、メディアR3としてのHDD14に記憶されるデータファイルの管理形態をディレクトリ構造により示している。
先ずディレクトリとしては、図示するようにしてインデックスファイルディレクトリ、コンテンツファイルディレクトリの少なくとも2つのディレクトリが存在する。
コンテンツファイルディレクトリ配下にはコンテンツファイルFctが格納される。
また、インデックスファイルディレクトリ配下には、FATとは別にコンテンツファイルFctを管理するためのインデックスファイルFindexが格納される。
ここで、このようにしてインデックスファイルディレクトリ配下に格納されるインデックスファイルFindexは、この場合は静止画や動画などとなるコンテンツに特化してその管理を効率的に行うための管理情報である。
このようにFATファイルシステムとは別にコンテンツファイルFctに特化した専用の管理情報を用いた管理を行うのは、先にも述べたように、近年において記録媒体の大記憶容量化に伴い記録可能なコンテンツの数が増えたことや、ファイルシステムが持つコンテンツ関連情報(例えばファイル名や更新日時の情報など)以外にもさらに多くの関連情報を効率的に管理するなどの要請があることによる。
例えば、動画再生時には、各AVファイルについてのサムネイル画像をインデックス表示するということが行われる場合があるが、専用の管理情報とすれば、これに対応させて予め各AVファイルのサムネイル画像を埋め込むことのできる管理情報とするなどといったこともできる。すなわち、このようにサムネイル画像が管理情報側に格納することで、上記インデックス表示を効率的に行うことができるように図られる。
或いは、このようにコンテンツファイル管理に特化した管理情報を別途用いることによれば、各コンテンツファイルを例えば作成日時順などの所定の区分けでフォルダ分けして管理するなどといったことも可能となる。
このように専用の管理情報を用いた管理を別途行うことで、汎用のファイルシステムにはなかった管理形態を実現することができる。
このような専用の管理情報としてのインデックスファイルFindexを用いた本例のデジタルビデオカメラ1におけるファイル管理形態について、次の図6を参照して説明する。
図6において、先の図5にも示したようにインデックスファイルディレクトリ配下には、インデックスファイルFindexが格納される。
このインデックスファイルFindexは、図示する管理ファイルスロットSmを複数格納するようにして形成される。
各管理ファイルスロットSmの内部構造としては、ファイル名C1、ファイル更新日時C2、エントリIDC3、エントリ更新日時C4、コンテンツIDC5、コンテンツ更新日時C6、ファイルパスC7などから成る。
なお、以下では各管理ファイルスロットSmにエントリされるデータのことをエントリデータと称する。
上記ファイル名C1は、その管理ファイルスロットSmに対応付けられるコンテンツファイルFctのファイル名の情報を格納したものである。
またファイル更新日時C2は、その管理ファイルスロットSmに対応付けられるコンテンツファイルFct自体を作成/更新した日時を示す。
また、エントリIDC3は、その管理ファイルスロットSmへのエントリデータを一意に識別するための識別情報であり、新たなコンテンツファイルFctが生成されたことに応じて新たなエントリデータが管理ファイルスロットSmにエントリされるごとに付される。
エントリ更新日時C4は、その管理ファイルスロットSmへのエントリデータがエントリされた日時、又は更新された日時を示す。このエントリ更新日時C4は、エントリデータが更新されない限りは、コンテンツファイルFctの内容が更新されたとしても変更はされない情報となる。エントリ更新日時が更新される例としては、例えばコンテンツファイルFctに対応づけられるべきメタデータ(図示せず)が更新された場合などが挙げられる。
コンテンツIDC5は、その管理ファイルスロットSmに対応付けられた(つまりエントリIDC3に対応付けられた)コンテンツファイルFctのコンテンツIDを格納したものである。各コンテンツファイルFctのコンテンツIDは、各コンテンツファイルFctを一意に識別することができるようにして割り振られる。このコンテンツIDは、例えばそのコンテンツファイルFctの所在を示すファイルパスの情報とファイル生成日時とを組み合わせて生成することができる。このコンテンツIDが本発明で言うファイル識別子に相当する。
また、コンテンツ更新日時C6は、コンテンツファイルFctを作成/更新した日時を示す。このコンテンツ更新日時C6と上記したファイル更新日時C2との違いは、コンテンツファイルFctを複製又は移動した場合にファイル更新日時C2は更新されるが、このコンテンツ更新日時C4の情報内容は変わらないという点である。
また、ファイルパスC7は、その管理ファイルスロットSmと対応付けられるコンテンツファイルFctへのパスの情報を格納したものである。すなわち、この場合はFATファイルシステム管理下におけるコンテンツファイルFctの所在を示す情報が格納される。
ここで、インデックスファイルFindexにおける管理ファイルスロットSmには、ファイルシステムR2によりHDD14上にコンテンツファイルFctが生成されることに応じ新たなエントリデータが追加される。追加されたエントリデータにおいては、上記ファイルパスC7として、生成されたコンテンツファイルFctのFATファイルシステム管理下での所在を示す情報が格納される。これにより、当該管理ファイルスロットSmと、コンテンツファイルディレクトリ配下にて生成されたコンテンツファイルFctとの対応づけが行われたことになる。
また、この場合は図中の破線矢印により示すように、コンテンツIDC5によっても、コンテンツファイルディレクトリ配下にて生成されたコンテンツファイルFctを特定することができる。
1−5.第1の実施の形態としてのバックアップ処理
ところで、実施の形態としては、これまでで説明したデジタルビデオカメラ1とパーソナルコンピュータ20(PC20)との構成により、デジタルビデオカメラ1側のHDD14に記録した動画や静止画などのコンテンツファイルFctを、PC20側のHDD30にバックアップしようとするものである。
但し、このようなバックアップとして、単にデジタルビデオカメラ1側のHDD14上に記録されたコンテンツファイルFctをPC20側のHDD30にそのまま上書きコピーしたのでは、デジタルビデオカメラ1側のHDD14に記録される全てのコンテンツファイルFctについてコピー処理を行う必要があり、その分バックアップに要する時間が長くなってしまう。
特に、本例のデジタルビデオカメラ1の場合にはコンテンツファイルFctは主としては動画データ(AVデータ)となるので、その場合は静止画データ等の他のデータがコンテンツファイルFctとして記録される場合と比較してコピー処理には多くの時間を要することになり、このような問題が顕著化する。
そこで、本実施の形態では、デジタルビデオカメラ1が保持するHDD14上のファイル管理状態を示す管理情報(インデックスファイルFindex:第1の管理情報)と、PC20側に過去においてバックアップされた管理情報(インデックスファイルFindex)とを比較して、現在と過去のファイル格納状態の差分情報を検出し、この差分情報に基づいてコンテンツファイルFctについてのバックアップを行うようにする。
そして、先ず第1の実施の形態では、このようなバックアップ処理として、HDD14上のファイル格納状態とHDD30上のファイル格納状態とを同期させる、同期処理を行うものとする。
図7は、第1の実施の形態のバックアップ処理としての同期処理について模式的に示した図であり、図7(a)では、デジタルビデオカメラ1におけるHDD14上に記録されるインデックスファイルFindex、コンテンツファイルFctについて、時間軸tに沿った状態遷移を示し、図7(b)では、パーソナルコンピュータ20におけるHDD30上に記録されるインデックスファイルFindex、コンテンツファイルFct、及びPC側管理情報30bについて同じく時間軸tに沿った状態遷移を示している。
図7において 先ず図7(a)に示すデジタルビデオカメラ1側には、初期状態として、図示するようにコンテンツファイルFctとして「A」「B」「C」が記録され、またインデックスファイルFindexとしてはその格納状態に応じた「1」の内容を有するものが記録されていたとする。
そして、時点t1では、デジタルビデオカメラ1とパーソナルコンピュータ20とがUSBケーブルを介してデータ通信可能に接続されて、初回の同期処理が行われる。
ここで、このようにデータ通信可能に接続されたことに応じては、PC20側において、自動的にアプリケーションを立ち上げるようにされているとする。そして、例えばユーザが入力部25のマウスを操作して画面上の所定のアイコンをクリックする等して、PC20に対して同期指示を行うようにされ、この同期指示に応じて同期処理が開始される。
或いは、第1の実施の形態のように同期処理のみを行う場合には、デジタルビデオカメラ1側とデータ通信可能に接続されたことに応じ自動的にアプリケーションを立ち上げ、その後自動的に同期処理を行うように構成することもできる。
ここでは前者、すなわち同期指示に応じて同期処理が行われるものとして以下の説明を続ける。
時点t1における初回の同期時点では、PC20側のHDD30上にはデジタルビデオカメラ1側のコンテンツファイルFctがバックアップされていない状態にある。PC20では、このようにHDD30上にバックアップしたコンテンツファイルFctが存在しないことを、インデックスファイルFindexのバックアップの有無により検出することができる。すなわち、後述もするように同期処理が行われたのであればHDD30上にインデックスファイルFindexが保存された状態となるからである。
そして、PC20側では、このようにHDD30上にコンテンツファイルFctが存在しないことに応じ、デジタルビデオカメラ1側のHDD14上の全てのコンテンツファイルFct(「A」「B」「C」)と、これらHDD14上のコンテンツファイルFctを管理するインデックスファイルFindex(「1」)とを転送するように、デジタルビデオカメラ1側への転送要求を行う。そして、転送されたそれらのファイルをHDD30に保存する。
これによってHDD14上のファイル格納状態とHDD30上のファイル格納状態とが同期したことになる。
その上で、PC20側では、HDD30上のコンテンツファイルFctをPC20側で管理するために、PC側管理情報30bの内容を更新する。つまり、HDD30上にこれらコンテンツファイル「A」「B」「C」が格納されているとして管理するための内容に更新する(図中「α」)。PC側管理情報30bによるファイル管理は、コンテンツファイルFctに付されたコンテンツIDにより行うことができる。
続いて、この時点t1における初回の同期処理後となる時点t2において、例えばデジタルビデオカメラ1側で新たな動画が撮影・記録されるなどして、図7(a)に示すようにHDD14上には新たなコンテンツファイルFctとして「D」が生成されたとする。そして、これに応じインデックスファイルFindexとしても、先の「1」の内容からこの「D」が追加されたことに応じた「2」の内容を有するものに更新されたとする。
この時点t2におけるコンテンツファイルFct(「D」)の追加により、図7(a)と図7(b)を比較してわかるように、HDD14上のファイル格納状態とHDD30上のファイル格納状態とが異なるものとなる。
そして、続く時点t3において、再度デジタルビデオカメラ1とPC20とが接続されて、同期指示が行われたとする。
この時点t3のように既にPC20側のHDD30上にバックアップしたコンテンツファイルFctが存在する場合には、上記同期指示に応じ、PC20側では自らが保持しているインデックスファイルFindex(「1」)と、デジタルビデオカメラ1側が保持しているインデックスファイルFindex(「2」)の内容を突き合わせて、PC20側とデジタルビデオカメラ1側とのコンテンツファイルFctの格納状態の差を検出する。すなわち、この場合はデジタルビデオカメラ1側にPC20側にはないコンテンツファイル「D」が格納されていることが検出され、このデジタルビデオカメラ1側におけるコンテンツファイル「D」の存在が差分情報として検出される。
そして、この差分情報に基づき、バックアップ処理を行う。すなわち、この場合は同期処理であるので、PC20は差分情報が指し示すコンテンツファイル「D」についてのみ転送要求を行い、転送されたコンテンツファイル「D」をHDD30に保存する。また、これと共に、次回の同期処理のために、デジタルビデオカメラ1が保持するインデックスファイルFindex(「2」)についても転送要求を行い、これをHDD30に保存する。
さらに、PC側管理情報30bについては、このコンテンツファイル「D」が追加されたものとして管理されるようにその情報内容を更新する(「α」→「β」の更新)。
この時点t3における同期処理後、次の時点t4においては、図7(a)に示すデジタルビデオカメラ1側にてコンテンツファイル「B」が削除され、インデックスファイルFindexとしてもこの「B」の削除に応じた情報内容「3」に更新されたとする。つまり、デジタルビデオカメラ1側のコンテンツファイルFctの格納状態が「A」「C」「D」でインデックスファイルFindexの情報内容が「3」であるのに対し、PC20側の格納状態が「A」「B」「C」「D」でインデックスファイルFindexの情報内容が「2」のままとなる。
そして次の時点t5にて、再度デジタルビデオカメラ1とPC20とが接続されて同期指示が為されたとする。
この時点t5の同期指示に応じても、先の時点t3での同期処理の場合と同様に先ずはPC20側で自らが保持しているインデックスファイルFindex(「2」)と、デジタルビデオカメラ1側が保持しているインデックスファイルFindex(「3」)の内容を突き合わせて、PC20側とデジタルビデオカメラ1側とのコンテンツファイルFctの格納状態についての差分情報を検出する。つまり、この場合はPC20側にデジタルビデオカメラ1側にはないコンテンツファイル「B」が格納されていることが検出され、このPC20側におけるコンテンツファイル「B」の存在が差分情報として検出される。
そして、このようにPC20側にデジタルビデオカメラ1側にはないファイルが存在するとの差分情報に応じては、PC20が、この差分情報が指し示すコンテンツファイルをHDD30上から削除するようにされる。すなわち、この場合は、上記差分情報により示されるコンテンツファイル「B」について削除するようにされる。
また、これと共に、この場合としても次回の同期処理のために、デジタルビデオカメラ1が保持するインデックスファイルFindex(「3」)について転送要求を行い、これをHDD30に保存する。
さらに、PC側管理情報30bとしても、このコンテンツファイル「B」の削除に応じた情報内容となるように更新する(「β」→「γ」の更新)。
また、次の時点t6では、図7(a)に示すデジタルビデオカメラ1側にてコンテンツファイル「C」について修正が行われて、このコンテンツファイル「C」がコンテンツファイル「C'」に更新され、インデックスファイルFindexとしてもこの「C'」への更新に応じた情報内容「4」に更新されたとする。
そして、この時点t6の状態から、次の時点t7にて、再度デジタルビデオカメラ1とPC20とが接続されて同期指示が為されたとする。
この時点t7の同期指示に応じても、先の時点t3、t5での同期処理の場合と同様に先ずはPC20側で自らが保持しているインデックスファイルFindex(「3」)と、デジタルビデオカメラ1側が保持しているインデックスファイルFindex(「4」)の内容を突き合わせて、PC20側とデジタルビデオカメラ1側とのコンテンツファイルFctの格納状態についての差分情報を検出する。つまり、この場合はデジタルビデオカメラ1側でコンテンツファイル「C」がコンテンツファイル「C'」に更新されたことが検出される。なお、コンテンツファイルが更新されたか否かは、インデックスファイルFindex内のコンテンツ更新日時C6を比較することで行うことができる。また注意すべきは、この場合はコンテンツファイルが更新されたとしても、そのコンテンツID自体は変化しないということである(先の図6の説明を参照)。
このようにデジタルビデオカメラ1側で或るコンテンツファイル「C」が更新されたということは、PC20側から見れば、デジタルビデオカメラ1側にPC20側にはないコンテンツファイル(C')が存在し、且つ、デジタルビデオカメラ1側にはPC20側に存在するコンテンツファイル(「C」)が存在しないという状態となる。このためPC20は、この差分情報が指し示すコンテンツIDを有するコンテンツファイルをHDD30上から削除するようにされる。すなわち、この場合はコンテンツファイル「C」について削除するようにされる。
そして、さらにこの場合は、デジタルビデオカメラ1側に格納される、上記差分情報が示すコンテンツIDを有するコンテンツファイル(「C'」)についての転送要求を行い、転送されたこのコンテンツファイル(「C'」)をHDD30に保存するようにされる。
また、これと共に、この場合としても次回の同期処理のために、デジタルビデオカメラ1が保持するインデックスファイルFindex(「4」)について転送要求を行い、これをHDD30に保存する。
さらに、PC側管理情報30bとしては、この場合はコンテンツファイル「C」の削除、及びコンテンツファイル「C'」の追加に応じた情報内容となるように更新する。すなわちコンテンツファイル「A」「C'」「D」が格納されているものとして管理するための情報内容となるように更新する(「γ」→「δ」の更新)。
このようにして、差分情報に基づきバックアップ処理を行うものとすれば、実際に転送を行うのは差分のファイルのみとすることができ、全コンテンツを上書きコピーする場合と比較してバックアップ処理をより高速化することができる。また、転送すべきコンテンツファイルが減ることで処理負担としても軽減することができる。
また、このとき、差分情報については、前回の同期処理時に保存したインデックスファイルFindexと今回(現在)のインデックスファイルFindexの内容とを比較することで検出しているが、このようにインデックスファイルFindex(管理情報)同士の内容比較により差分情報を得るようにしたことで、例えば実際に格納される全てのコンテンツファイルFindexについてそのヘッダ情報(コンテンツIDやコンテンツ更新日時)を検出し、それらの比較を行って差分情報を得るようにするといった手法が採られる場合よりも、より高速に差分情報を得ることができ、この点でもバックアップ処理の高速化が図られる。
ここで、実施の形態において各コンテンツファイルFctを管理するインデックスファイルFindexとしては、コンテンツID(ファイル識別子)の他にもコンテンツ更新日時やエントリ更新日時といった他のファイル関連情報が対応付けられているが、仮にこのような管理情報に各コンテンツファイルのファイル識別子しか対応づけられていない場合は、管理情報同士の比較ではファイルの追加/削除しか判別できないことになる。すなわち、これらファイルの追加/削除以外の差分の判別に基づくバックアップ処理を行うとした場合には、例えばファイルに対応付けられる必要な関連情報を別途取得する処理が必要となって、その分差分情報の取得に要する時間、ひいてはその差分情報に基づくバックアップ処理が完了するまでに要する時間が長引くことなる。
先に説明したように本例のインデックスファイルFindexではコンテンツ更新日時など、ファイル識別子以外の他のファイル関連情報もエントリデータとしてエントリされるようにされているので、「コンテンツ更新」や「エントリ更新」などの他の差分タイプについても、管理情報同士を比較するのみで取得することができる。このことで、コンテンツの追加/削除以外の差分タイプを判別する際にも、管理情報同士の比較でそれらの差分タイプを判別することができ、従ってこのようなコンテンツの追加/削除以外の差分のタイプに応じたバックアップ処理についても高速化が図られているものである。
ここで、実施の形態において、インデックスファイルFindexの突き合わせによる差分情報の検出は、具体的には次の図8〜図10に示すようにして行うものとしている。
先ず図8は、相違検出用情報リストLDdの構造を示している。
この相違検出用情報リストLDdは、図示するようにして相違検出用情報Ddをリストアップした情報となる。
この場合、1つの相違検出用情報Ddは、インデックスファイルFindexにエントリされた1つのエントリデータ(1つのコンテンツファイルFct)に対応する。すなわち、1つの相違検出用情報Ddは、インデックスファイルFindexにエントリされた1つのエントリデータごとに、図示するようにそのコンテンツIDC5、エントリ更新日時C4、コンテンツ更新日時C6、エントリIDC3を抽出した情報となる。
そして、相違検出用情報リストLDdとしては、インデックスファイルFindexにエントリされる全てのエントリデータ(コンテンツファイルFct)について生成した相違検出用情報Ddをリストアップした情報となる。
なおこの場合の相違検出用情報リストLDdでは、相違検出用情報DdがコンテンツIDの昇順でソートされてリストアップされる場合が示されている。
この図8に示す相違検出用情報リストLDdは、新たなバックアップ処理(この場合は同期処理)が行われるにあたって、PC20が、HDD30に保存した前回のバックアップ処理時(同期処理時)のインデックスファイルFindexと、デジタルビデオカメラ1側に保持されているインデックスファイルFindexとの双方についてそれぞれ生成するようにされる。
図9は、このようにPC20がバックアップ処理時に生成する2つの相違検出用情報リストLDdを対比して示している。
この図において、前回バックアップ時の相違検出用情報リストLDd-psは、新たなバックアップ処理時において、既にHDD30上に保存されている前回のバックアップ時のインデックスファイルFindexに基づいて生成した相違検出用情報リストLDdである。また、今回バックアップ時の相違検出用情報リストLDd-prが、新たなバックアップ処理時においてデジタルビデオカメラ1側に保持されているインデックスファイルFindexについて生成した相違検出用情報リストLDdである。
この図9では、前回バックアップ時の相違検出用情報リストLDd-psとして、コンテンツIDが「4」「23」「34」「35」「50」「56」となる相違検出用情報Ddがリストアップされている例が示されている。このことは、前回バックアップ時には、デジタルビデオカメラ1側のHDD14にコンテンツIDが「4」「23」「34」「35」「50」「56」のコンテンツファイルFctが格納されていたことを示している。
一方、今回バックアップ時の相違検出用情報リストLDd-prとしては、コンテンツIDが「4」「23」「35」「47」「50」「56」「64」となる相違検出用情報Ddがリストアップされている例が示されている。このことは、今回バックアップ時には、デジタルビデオカメラ1側のHDD14にコンテンツIDが「4」「23」「35」「47」「50」「56」「64」のコンテンツファイルFctが格納されていることを示している。
PC20では、これら前回バックアップ時の相違検出用情報リストLDd-psと今回バックアップ時の相違検出用情報リストLDd-prとを、図示するようにして差分情報生成用情報Rdyとして保持しておくようにされる。
このような差分情報生成用情報Rdyを用いて、実際の差分情報の検出を行うようにされる。
図10は、上記差分情報生成用情報Rdyを用いた差分情報の検出動作について模式的に示している。なお、この図では、図9に示した前回バックアップ時の相違検出用情報リストLDd-psと今回バックアップ時の相違検出用情報リストLDd-prとによる差分情報生成用情報Rdyが示されている。また、この図10では、前回バックアップ時の相違検出用情報リストLDd-psと今回バックアップ時の相違検出用情報リストLDd-prとにおいて、それぞれ内容が相違している相違検出用情報Dd内の項目を色つき部分により示している。
先ずこの場合は、相違検出用情報Ddの項目としてコンテンツIDが含まれることで、前回バックアップ時の相違検出用情報リストLDd-ps内の相違検出用情報Ddと、今回バックアップ時の相違検出用情報リストLDd-pr内の相違検出用情報DdとでそれぞれのコンテンツIDを比較することで、デジタルビデオカメラ1側におけるコンテンツの追加、及びコンテンツの削除を検出することができる。
すなわち、例えば前回バックアップ時の相違検出用情報リストLDd-psにはコンテンツID=「34」の相違検出用情報Ddが存在するが、今回バックアップ時の相違検出用情報リストLDd-prにはこれが存在しないということで、デジタルビデオカメラ1でそのコンテンツIDを有するコンテンツファイルFctが削除されたということを検出できる。また、例えば今回バックアップ時の相違検出用情報リストLDd-prにはコンテンツID=「64」の相違検出用情報Ddが存在するが、前回バックアップ時の相違検出用情報リストLDd-psにはこれが存在しないということで、デジタルビデオカメラ1でそのコンテンツIDを有するコンテンツファイルFctが追加されたということを検出できるといったものである。
また、この場合の相違検出用情報Ddの項目にはエントリ更新日時が含まれる。このことで、デジタルビデオカメラ1側にてエントリが更新されたコンテンツファイルFctを検出することができる。例えばこの図では、前回バックアップ時の相違検出用情報リストLDd-ps、及び今回バックアップ時の相違検出用情報リストLDd-pr内におけるコンテンツID=「23」の相違検出用情報Ddは、それぞれエントリ更新日時の情報内容が異なっていることが示されているが、これによりこのコンテンツID=「23」のコンテンツファイルFctについて、デジタルビデオカメラ1側でエントリが更新されたことを検出できる。
さらに、この場合の相違検出用情報Ddの項目にはコンテンツ更新日時の情報も含まれるが、これによってデジタルビデオカメラ1側で更新が行われたコンテンツファイルFctを検出することができる。
つまり、図10では、前回バックアップ時の相違検出用情報リストLDd-ps、及び今回バックアップ時の相違検出用情報リストLDd-pr内におけるコンテンツID=「50」の相違検出用情報Ddとして、それぞれコンテンツ更新日時の情報内容が異なっていることが示されているが、これによりこのコンテンツID=「50」のコンテンツファイルFctがデジタルビデオカメラ1側で更新されたことを検出できる。
また、相違検出用情報Ddには、エントリIDの項目が設けられる。
このエントリIDの項目を設けているのは、差分検出の対象としているコンテンツファイルFctがどのコンテンツファイルFctであるかを特定するためである。その意味で、この相違検出用情報DdにおけるエントリIDの情報としては、同じく相違検出用情報Ddに設けられたコンテンツIDの項目と同等の役割を果たす。
なお、このことによれば、相違検出用情報DdにおいてはエントリIDの項目は不要とすることができる。ここにおいて敢えてエントリIDの項目を設けているのは、例えばデジタルビデオカメラ1側やPC20側のアプリケーションがエントリデータにアクセスする際にはこのエントリIDの情報を用いるようにされているなどの事情による。
また、この説明からも理解されるように、相違検出用情報DdにおけるエントリIDは、その相違を検出するために設けられた項目ではない。そのため、図中のコンテンツID=「56」のように、エントリIDが相違する場合にも、これらの相違は検出しないようにされている。
そして、図10において、このような差分情報生成用情報Rdyを用いた各相違検出用情報Ddの情報内容の比較結果から、図示する差分情報リストLSBを生成するようにされる。
この差分情報リストLSBは、図示するようにして差分情報SBをリストアップした情報となる。各差分情報SBには、図示するようにして「差分タイプ」「前回エントリID」「今回エントリID」の3つの項目が設けられる。
「前回エントリID」「今回エントリID」の項目には、差分情報生成用情報Rdyにおける前回/今回の各相違検出用情報Ddの情報内容についての比較結果から、それぞれ相違があるとされた前回バックアップ時の相違検出用情報リストLDd-psにおける相違検出用情報DdのエントリIDと、今回バックアップ時の相違検出用情報リストLDd-prにおける相違検出用情報DdのエントリIDとが格納される。
また、「差分タイプ」の項目には、差分の種類を示す情報が格納される。この場合の差分タイプとしては、コンテンツ追加、コンテンツ削除、コンテンツ更新、エントリ更新の4種類が存在する。
具体的な差分情報SBの生成手法としては、以下のようにして行う。
先ずは、前回バックアップ時の相違検出用情報リストLDd-ps内の相違検出用情報Ddと今回バックアップ時の相違検出用情報リストLDd-pr内の相違検出用情報Ddとについて、先頭の相違検出用情報Dd同士から順にそれぞれの情報内容を比較していく。
このとき、それぞれの相違検出用情報DdにおけるコンテンツIDが同じであれば、コンテンツの追加、コンテンツの削除は行われていないということがわかる。よってその場合は、エントリ更新日時、コンテンツ更新日時について比較を行う。エントリ更新日時が異なっていれば、差分タイプは「エントリ更新」となる。これに応じ、差分情報リストLSBには、差分タイプとして「エントリ更新」を示す情報を格納し、さらに前回エントリID、今回エントリIDとして、比較を行ったそれぞれの相違検出用情報DdのエントリIDを格納した差分情報SBをリストアップする。
また、コンテンツ更新日時が異なっていれば、差分タイプは「コンテンツ更新」となり、従って差分情報リストLSBとしては、差分タイプを「コンテンツ更新」とし、この場合も前回エントリID、今回エントリIDには比較を行ったそれぞれの相違検出用情報DdのエントリIDを格納した差分情報SBをリストアップする。
一方、コンテンツIDが異なる場合は、コンテンツ追加であるかコンテンツ削除であるかの判別を行う。具体的には、前回バックアップ時の相違検出用情報リストLDd-ps内の相違検出用情報DdのコンテンツIDの方が値が小さければ(つまりこの場合は記録順が先であれば)、デジタルビデオカメラ1側において、この前回バックアップ時の相違検出用情報DdのコンテンツIDを有するコンテンツファイルFctが削除されたことがわかる。従ってその場合は、差分タイプとして「コンテンツ削除」を格納し、前回エントリIDとして前回相違検出用情報リストLDd-ps側の相違検出用情報DdのエントリIDを格納した差分情報SBをリストアップする。
コンテンツ削除の場合は、今回エントリIDは存在しないことになるので、今回エントリIDの項目には情報が格納されないことになる。
ここで、この「コンテンツ削除」が検出された後の比較処理としては、今回比較された今回バックアップ時の相違検出用情報リストLDd-prの相違検出用情報Ddを再度対象とし、前回バックアップ時の相違検出用情報リストLDd-psにおける次のコンテンツIDを有する相違検出用情報Ddとの比較を行う。すなわち、例えば図10の例では、前回バックアップ時側のコンテンツID=34の相違検出用情報Ddと今回バックアップ時側のコンテンツID=35の相違検出用情報Ddとの比較が行われて「コンテンツ削除」が検出された後は、上記今回バックアップ時のコンテンツID=35の相違検出用情報Ddを再度対象として、前回バックアップ時側のコンテンツID=35の相違検出用情報Ddとの比較が行われるものである。
このようにすることで、「コンテンツ削除」が検出された以降も適正に差分タイプの検出を行うことができる。
また、上記とは逆に、今回バックアップ時の相違検出用情報リストLDd-pr内の相違検出用情報DdのコンテンツIDの方が値が小さければ、デジタルビデオカメラ1側において、この今回バックアップ時の相違検出用情報DdのコンテンツIDを有するコンテンツファイルFctが追加されたことがわかる。従ってその場合は、差分タイプとして「コンテンツ追加」を格納し、今回エントリIDとして今回バックアップ時の相違検出用情報リストLDd-pr側の相違検出用情報DdのエントリIDを格納した差分情報SBをリストアップする。
コンテンツ追加の場合は、前回エントリIDは存在しないことになるので、前回エントリIDの項目には情報が格納されないことになる。
この「コンテンツ追加」が検出された後の比較処理については、「コンテンツ削除」の場合とは逆に、今回比較された前回バックアップ時の相違検出用情報リストLDd-psの相違検出用情報Ddを再度対象とし、今回バックアップ時の相違検出用情報リストLDd-prにおける次のコンテンツIDを有する相違検出用情報Ddとの比較を行う。すなわち、例えば図10の例では、前回バックアップ時側のコンテンツID=50の相違検出用情報Ddと今回バックアップ時側のコンテンツID=47の相違検出用情報Ddとの比較が行われて「コンテンツ追加」が検出された後は、上記前回バックアップ時のコンテンツID=50の相違検出用情報Ddを再度対象として、今回バックアップ時側のコンテンツID=50の相違検出用情報Ddとの比較が行われるといったものである。
このようにすることで、「コンテンツ追加」が検出された以降としても適正に差分タイプの検出を行うことができる。
また、コンテンツの追加や削除が行われた場合の相違検出用情報リストLDdとしては、例えば図10に示される今回バックアップ時側におけるコンテンツID=64の相違検出用情報Ddのように、比較対象のない相違検出用情報Ddが存在することもある。つまり、前回バックアップ時の相違検出用情報リストLDd-ps側と今回バックアップ時の相違検出用情報リストLDd-ps側とで、相違検出用情報Ddのリストアップ数が異なる場合には、このように比較対象の無い相違検出用情報Ddが存在するようになる。
この場合は、比較対象の無い相違検出用情報Ddが前回バックアップ時側/今回バックアップ時側の何れで存在しているかを判別することで、コンテンツ追加であるかコンテンツ削除であるかを特定することができる。
すなわち、前回バックアップ時側で先に比較対象の相違検出用情報Ddが無くなれば、それ以降に今回バックアップ時側に残っている相違検出用情報Ddは、全て追加されたコンテンツファイルFctを表していることになる。従って、その場合は、これら今回バックアップ時側に残るそれぞれの相違検出用情報Ddについては、差分情報SBとして差分タイプを「コンテンツ追加」とし、今回エントリIDにそのコンテンツIDを格納した情報を差分情報リストLSBにリストアップする。
逆に、今回バックアップ時側の相違検出用情報Ddが先に無くなれば、それ以降に前回バックアップ時側に残っている相違検出用情報Ddは全て削除されたコンテンツファイルFctを表しているものとなる。よってその場合、これら前回バックアップ時側に残るそれぞれの相違検出用情報Ddについては、差分情報SBとして差分タイプを「コンテンツ削除」とし、前回エントリIDにそのコンテンツIDを格納した情報を差分情報リストLSBにリストアップする。
以上のような動作により、インデックスファイルFindexの突き合わせによる差分情報の検出を行うことができる。
そして、上記のような差分情報SBが得られれば、以降はこの差分情報SBの内容に従ってHDD30に対するコンテンツファイルFctの追加/削除などの処理を行うことで、同期処理を実現することができる。
つまり、差分タイプが「コンテンツ追加」である差分情報SBについては、その今回エントリIDに格納されるエントリIDの値により特定されるコンテンツファイルFctを、デジタルビデオカメラ1からPC20側にコピーする。
また、差分タイプが「コンテンツ削除」である差分情報SBについては、その前回エントリIDに格納されるエントリIDにより特定されるコンテンツファイルFctをPC20側から削除する。
また、差分タイプが「コンテンツ更新」である差分情報SBについては、その前回エントリIDに格納される値により特定されるコンテンツファイルFctがデジタルビデオカメラ1側で修正されるなどして、今回バックアップ時には内容が更新されたコンテンツファイルFctとなっているので、前回エントリIDの値により特定されるコンテンツファイルFctをPC20側から削除し、逆に今回エントリIDの値により特定されるコンテンツファイルFctをデジタルビデオカメラ1側からPC20側にコピーする。
これにより、デジタルビデオカメラ1側とパーソナルコンピュータ20側とでコンテンツファイルFctの格納状態を同期させることができる。
なお、差分タイプが「エントリ更新」となる差分情報SBが得られた場合、第1の実施の形態では特段の対応動作は行わないものとする。
但し、「エントリ更新」は、エントリデータの更新が行われたことを示すもので、具体的には、例えばコンテンツファイルFctに付属するメタデータが更新されたことを示していることになる。従って、例えばPC20側においてもPC側管理情報30bによって各コンテンツファイルFctについてデジタルビデオカメラ1側と同様にメタデータを管理するようにされる場合には、この「エントリ更新」に応じて、PC側管理情報30bによってそのコンテンツファイルFctと対応づけて管理しているメタデータを、デジタルビデオカメラ1側のインデックスファイルFindex内のメタデータに基づいて更新する処理を行うように構成してもよい。
1−6.処理動作
続いては、図11〜図13を参照して、これまでに説明した第1の実施の形態としてのバックアップ処理(同期処理)を実現するために行われるべき処理動作について説明する。
図11は、第1の実施の形態としての同期処理を実現するために行われるべき全体の処理動作の流れを示している。また、図12は、先の図10にて説明したような差分情報の生成時に対応して行われるべき処理動作を示し、図13は、生成された差分情報に基づき行われるべき第1の実施の形態としての差分ファイル群処理(同期)を示している。
なお、これら図11〜図13に示す処理動作は、図3に示したパーソナルコンピュータ20におけるCPU21が、HDD30に格納されるバックアップ処理用プログラム30aに基づき実行するものである。
なお、ここではパーソナルコンピュータ20側で行われるべき処理動作についてのみ説明するが、第1の実施の形態の場合、デジタルビデオカメラ1側における処理動作としては、パーソナルコンピュータ20側からの転送要求に応じたコンテンツファイルFct、インデックスファイルFindexの転送のみを行えばよいので、ここでの図示による説明は省略する。
先ず図11により、同期処理の全体の流れから説明する。
なお、この図11では既にデジタルビデオカメラ1とパーソナルコンピュータ20とがUSBケーブルを介してデータ通信可能な状態に接続され、且つパーソナルコンピュータ20側ではアプリケーションが立ち上がった状態にあるとする。
先ず、ステップS101では、同期指示を待機する。先にも述べたように、この場合の同期指示は、例えばユーザが入力部25のマウスを操作して画面上の所定のアイコンをクリックすることで行われる。従ってこの場合は、上記所定のアイコンに対する操作を待機して同期指示を待機するようにされる。
ステップS102では、バックアップしたインデックスファイルがあるか否かについて判別処理を行う。つまり、HDD30上に既にデジタルビデオカメラ1側からバックアップしたインデックスファイルFindexが保存されているか否かについて判別処理を行う。
バックアップしたインデックスファイルがないとして否定結果が得られた場合は、ステップS107に進み、全コンテンツファイル及びインデックスファイルの転送要求を行う。つまり、デジタルビデオカメラ1に対し、HDD14上に格納される全てのコンテンツファイルFctとインデックスファイルFindexの転送要求を行う。
そして、続くステップS108において、転送されたファイルを保存する。つまり、USBインタフェース23を介してデジタルビデオカメラ1側から転送されるコンテンツファイルFct及びインデックスファイルFindexを、それぞれHDD30に記録するための処理を行う。
なお、確認のために述べておくと、上記のようなデジタルビデオカメラ1側へのファイルの転送要求は、CPU21がUSBインタフェース23に対する制御を行って行うものとなる。また、転送されたファイルのHDD30への記録はHDD30に対する記録制御を行うことによって実現される。
その上で、ステップS109に進み、コンテンツファイルの格納状況に応じてPC側管理情報を更新するための処理を行う。つまり、この場合は先のステップS108にて記録されたコンテンツファイルFctがHDD30上にて格納されたものとして管理されるように、PC側管理情報30bの情報内容を更新するための処理を実行する。
以上のステップS101→S102→S107→S108→S109の流れにより、初回の同期処理時にはデジタルビデオカメラ1側で保持される全てのコンテンツファイルFctとその管理状態を示すインデックスファイルFindexとがPC20側にバックアップされるものとなる(図7の時点t1参照)。
一方、先のステップS102において、バックアップしたインデックスファイルFindexがあるとして肯定結果が得られた場合は、ステップS103において、差分情報生成用情報を生成する。つまり、先の図9に示したような差分情報生成用情報Rdyを生成するものである。
具体的にこのステップS103の処理としては、先ずはデジタルビデオカメラ1側に対し転送要求を行って、HDD14上に保持されるインデックスファイルFindexを転送させ、これを例えばメモリ部22等に一時保持する。その上で、この新たに転送させたインデックスファイルFindexと、既にHDD30にバックアップされている前回バックアップ時のインデックスファイルFindexとについて、それぞれ所定の項目(コンテンツIDC5、エントリ更新日時C4、コンテンツ更新日時C6、エントリIDC3)を抽出することで相違検出用情報Ddを生成し、これをそれぞれリストアップすることで、先の図9にて示したような今回バックアップ時の相違検出用情報リストLDd-prと前回バックアップ時の相違検出用情報リストLDd-psを生成する。つまり、これによって差分情報生成用情報Rydが生成される。
なお、先にも述べたが、各相違検出用情報リストLDdの生成にあたっては、相違検出用情報DdをコンテンツIDの値の昇順にソートしてリストアップするようにされる。これによって図10にて説明したような手法による差分タイプの検出を適正に行うことができる。
続くステップS104では、差分情報の生成を行う。このステップS104の処理は、先の図10にて説明したような差分情報SBを生成し、それらをリストアップすることで差分情報リストLSBを生成するための処理となる。この処理の詳細は後の図12にて説明する。
ステップS105では、差分ファイル群処理(同期)を行う。このステップS105では、先に説明したようにして差分情報SBの差分タイプに応じてコンテンツファイルFctの追加/削除を行うことで、デジタルビデオカメラ1側とパーソナルコンピュータ20側とでコンテンツファイルFctの格納状態を同期させるための処理となる。このステップS105における差分ファイル群処理(同期)の詳細については後の図13にて説明する。
ステップS106においては、ビデオカメラ側が持つインデックスファイルFindexを保存する。すなわち、先のステップS103にてデジタルビデオカメラ1に転送させて一時保持したインデックスファイルFindexを、HDD30に対して記録するための処理を行う。
このようにデジタルビデオカメラ1側から新たに転送されたインデックスファイルFindexが保存されることで、次回の同期処理時における「前回バックアップ時のインデックスファイルFindex」が保存されたことになる。
その上で、先に説明したステップS109に進み、コンテンツファイル格納状況に応じてPC側管理情報を更新するための処理を実行する。つまり、この場合はステップS105における差分ファイル群処理(同期)によって結果的にHDD30上に保持されているコンテンツファイルFctがHDD30上に格納されるファイルとして管理されるように、PC側管理情報30bの情報内容を更新するための処理を実行する。
図12は、図11のステップS104として示した、差分情報の生成処理を示している。
先ず、図12において、ステップS201では、ポインタ値i、ポインタ値jを0リセットする。
ここで、ポインタ値iは、前回バックアップ時の相違検出用情報リストLDd-psにリストアップされる相違検出用情報Ddについて、比較対象とする相違検出用情報Ddを指し示すポインタとしての役割を果たす。つまり、このポインタ値iがインクリメントされるごとに、前回バックアップ時の相違検出用情報リストLDd-ps内において、比較対象とする相違検出用情報Ddが順次シフトしていくものとなる。
同様に、ポインタ値jは、今回バックアップ時の相違検出用情報リストLDd-prにリストアップされる相違検出用情報Ddについて、比較対象とする相違検出用情報Ddを指し示すポインタとしての役割を果たし、このポインタ値jがインクリメントされるごとに、今回バックアップ時の相違検出用情報リストLDd-pr内において比較対象とする相違検出用情報Ddが順次シフトしていくものとなる。
ステップS202では、ポインタ値iが前回のリストアップ数と一致したか否かについて判別処理を行う。つまり、ポインタ値iが、前回バックアップ時の相違検出用情報リストLDd-ps内の相違検出用情報Ddのリストアップ数と一致したか否かについて判別する。
これは、前回バックアップ時の相違検出用情報リストLDd-ps内の全ての相違検出用情報Ddについて比較が完了したか否かについて判別していることに相当する。
ステップS202において、ポインタ値iが前回のリストアップ数と一致してはいないとして否定結果が得られた場合は、ステップS203に進み、今度はポインタ値jが今回のリストアップ数と一致したか否かについて判別処理を行う。すなわち、ポインタ値jが、今回バックアップ時の相違検出用情報リストLDd-pr内の相違検出用情報Ddのリストアップ数と一致したか否かについて判別するものであり、これによって今回バックアップ時の相違検出用情報リストLDd-pr内の全ての相違検出用情報Ddについて比較が完了したか否かについて判別しているものである。
ステップS203において、ポインタ値jが今回のリストアップ数と一致してはいないとして否定結果が得られた場合は、ステップS204に進む。
ステップS204では、前回情報[i]と今回情報[j]のコンテンツIDが等しいか否かについて判別処理を行う。
ここで、前回情報[i]とは、前回バックアップ時の相違検出用情報リストLDd-ps内におけるポインタ値iが指し示す相違検出用情報Ddである。同様に、今回情報[j]は、今回バックアップ時の相違検出用情報リストLDd-pr内におけるポインタ値jが指し示す相違検出用情報Ddである。従ってこのステップS204は、前回バックアップ時の相違検出用情報リストLDd-ps側と今回バックアップ時の相違検出用情報リストLDd-pr側とでそれぞれ比較対象となっている相違検出用情報Ddについて、それらのコンテンツIDが等しいか否かを判別しているものである。
つまりは、このステップS204によって、コンテンツの追加/削除が行われたか否かが判別される。
ステップS204において、両者のコンテンツIDが等しいとして肯定結果が得られた場合は、ステップS205に進む。
ステップS205では、前回情報[i]と今回情報[j]のエントリ更新日時が等しいか否かについて判別処理を行う。すなわち、これによってエントリの更新が行われたか否かについて判別が行われるものである。
ステップS205において、エントリ更新日時が等しいとして肯定結果が得られた場合は、ステップS206において、今度は前回情報[i]と今回情報[j]のコンテンツ更新日時が等しいか否かについて判別処理を行う。つまり、これによってコンテンツの更新が行われたか否かについて判別が行われる。
ステップS206において、コンテンツ更新日時が等しいとして肯定結果が得られた場合は、ステップS214に進み、ポインタ値i、ポインタ値jをそれぞれインクリメント(+1)した後、先のステップS202に戻るようにされる。
つまり、ステップS206にて肯定結果が得られたということは、コンテンツの追加/削除、エントリの更新、及びコンテンツの更新の何れも行われていないと判断できるので、このようにポインタ値i、ポインタ値jを共にインクリメントして前回バックアップ時側、今回バックアップ時側で共に比較対象の相違検出用情報Ddをシフトさせ、これらの相違検出用情報Ddについてそれぞれの項目(コンテンツID、エントリ更新日時、コンテンツ更新日時)についての比較を行うようにされる。
これまでの説明のように、比較対象のコンテンツファイルFctについて差分が無いとされる限りでは、ステップS202→S203→S204→S205→S206→S214→S202のループ処理が繰り返されることになる。
このことから、ポインタ値i、jによりそれぞれ比較対象とされたコンテンツファイルFctについて差分がない場合には、差分情報リストLSBへの差分情報SBの追加が行われないことがわかる。
ここで、先のステップS204では、コンテンツの追加/削除が行われたか否かが判別されることについて述べたが、このステップS204において、コンテンツIDが等しくはないとして否定結果が得られた場合は、ステップS207に進み、前回情報[i]より今回情報[j]の方がコンテンツIDが大きいか否かについて判別処理を行うようにされる。
すなわち、このステップS207において、差分タイプが「コンテンツ追加」であるのか「コンテンツ削除」であるかの判別が行われる。
先の図10においても説明したように、前回情報[i]よりも今回情報[j]の方がコンテンツIDが大きければ(つまりステップS207にて肯定結果が得られた場合)、差分タイプは「コンテンツ削除」となる。従ってその場合は、図示するようにステップS208に進み、差分タイプを「コンテンツ削除」とした差分情報を差分情報リストに追加する処理を行うようにされる。
ここで、差分タイプが「コンテンツ削除」の場合は、今回エントリIDは存在しないので、ここでは差分タイプとして「コンテンツ削除」を示す情報を格納すると共に、前回エントリIDに前回情報[i]のエントリIDを格納した差分情報SBを、差分情報リストLSBに追加するようにされる。
そして、続くステップS209において、ポインタ値iのみをインクリメントした後に、先のステップS202に戻るようにされる。これは、先の図10の例によれば、前回バックアップ時側のコンテンツID=34の相違検出用情報Ddと今回バックアップ時側のコンテンツID=35の相違検出用情報Ddとの比較が行われて「コンテンツ削除」が検出された後に、上記今回バックアップ時のコンテンツID=35の相違検出用情報Ddを再度対象として、前回バックアップ時側のコンテンツID=35の相違検出用情報Ddとの比較が行われるようにするための処理となる。先にも述べたように、このようにすることで、「コンテンツ削除」が検出された以降も適正に差分タイプの検出を行うことができるようになっている。
また、上記ステップS207において、否定結果が得られた、すなわち今回情報[j]よりも前回情報[i]の方がコンテンツIDが大きい場合は、先の図10において説明したように、差分タイプは「コンテンツ追加」となる。その場合は、図示するようにステップS210に進み、差分タイプを「コンテンツ追加」とした差分情報を差分情報リストに追加する処理を行うようにされる。
差分タイプが「コンテンツ追加」の場合は、前回エントリIDは存在しないので、ここでは差分タイプとして「コンテンツ追加」を示す情報を格納すると共に、今回エントリIDに今回情報[j]のエントリIDを格納した差分情報SBを、差分情報リストLSBに追加するようにされる。
そして、続くステップS211では、ポインタ値jのみをインクリメントした後に、先のステップS202に戻るようにされる。これは、先の図10の例によれば、前回バックアップ時側のコンテンツID=50の相違検出用情報Ddと今回バックアップ時側のコンテンツID=47の相違検出用情報Ddとの比較が行われて「コンテンツ追加」が検出された後は、上記前回バックアップ時のコンテンツID=50の相違検出用情報Ddを再度対象として、今回バックアップ時側のコンテンツID=50の相違検出用情報Ddとの比較が行われるようにするための処理となる。
このようにすることで、「コンテンツ追加」が検出された以降としても適正に差分タイプの検出を行うことができるようにされている。
また、先のステップS205では、エントリ更新が行われたか否かについて判別されるが、このステップS205にてエントリ更新日時が等しくないとして否定結果が得られた場合は、ステップS212において、差分タイプを「エントリ更新」とした差分情報を差分情報リストに追加するようにされる。
「エントリ更新」のときは、図10にて説明したように前回エントリID・今回エントリIDが共に存在する。従ってこのステップS212としては、差分タイプとして「エントリ更新」を示す情報を格納すると共に、前回エントリIDには前回情報[i]のエントリIDを、また今回エントリIDには今回情報[j]のエントリIDを格納した差分情報SBを差分情報リストLSBに追加するようにされる。
そして、このステップS212の処理を実行すると、図示するように先に説明したステップS214に進んでポインタ値i、ポインタ値jをインクリメントした後、ステップS202に戻るようにされる。すなわち、これによって次の比較対象の相違検出用情報Ddについての比較が行われることになる。
また、先のステップS206において、コンテンツ更新日時が等しくないとして否定結果が得られた場合は、ステップS213に進み、差分タイプを「コンテンツ更新」とした差分情報を差分情報リストに追加するようにされる。
「コンテンツ更新」のときも同様に、前回エントリID・今回エントリIDが共に存在する。従ってこのステップS213としては、差分タイプとして「コンテンツ更新」を示す情報を格納すると共に、前回エントリIDには前回情報[i]のエントリIDを、また今回エントリIDには今回情報[j]のエントリIDを格納した差分情報SBを差分情報リストLSBに追加するようにされる。
そして、図示するように続くステップS214においてポインタ値i、ポインタ値jをインクリメントした後、ステップS202に戻るようにされる。
ここで、先の図10にて説明したように、コンテンツの追加/削除が行われた場合には、前回バックアップ時の相違検出用情報リストLDd-ps、今回バックアップ時の相違検出用情報リストLDd-prのうちの何れかで、先に比較対象の相違検出用情報Ddが無くなる場合があり、それに対応した検出動作とする必要がある。
このための処理として、上述したステップS202及びステップS203と、図示するステップS215の判別処理が設けられる。
先ず、ステップS202において、ポインタ値[i]が前回リストアップ数と一致したとして肯定結果が得られた場合は、ステップS215に進み、ポインタ値jが今回のリストアップ数と一致したか否かについて判別処理を行う。すなわち、ポインタ値jが、今回バックアップ時の相違検出用情報リストLDd-pr内の相違検出用情報Ddのリストアップ数と一致したか否かについて判別するものである。
これらステップS202→S215によっては、前回バックアップ時側で比較対象の相違検出用情報Ddが無くなったときに、今回バックアップ時側に未だ比較対象の相違検出用情報Ddが残っているか否かを判別していることになる。
先の図10にて説明したように、前回バックアップ時側に比較対象の相違検出用情報Ddが無くなって、今回バックアップ時側に比較対象の相違検出用情報Ddが残っているときは、それら今回バックアップ時側に残っている相違検出用情報DdのコンテンツIDが示すコンテンツは全て追加されたコンテンツであることになる。
従ってステップS215においてポインタ値jが今回のリストアップ数と一致していないとして否定結果が得られた場合は、ステップS216において、先に説明したステップS210と同様に差分情報タイプを「コンテンツ追加」とした差分情報を差分情報リストに追加するようにされる。また、続くステップS217においては、このような「コンテンツ追加」の検出に応じ、先のステップS211と同様にポインタ値jのみをインクリメントした後、ステップS202に戻るようにされる。
このようなステップS202→S215→S216→S217→S202のループ処理により、前回バックアップ時側で比較対象の相違検出用情報Ddが無くなった場合においては、今回バックアップ時側に残っている相違検出用情報Ddについては、全て「コンテンツ追加」が検出され、それに応じた差分情報SBが差分情報リストLSBに追加されることになる。
また、ステップS203において、ポインタ値jが今回のリストアップ数と一致したとして肯定結果が得られた場合としては、上記とは逆に今回バックアップ時側の比較対象の相違検出用情報Ddが無くなったが、前回バックアップ時側に比較対象の相違検出用情報Ddが未だ残っている状態となる。
図10の説明によれば、その場合、前回バックアップ時側に残っている相違検出用情報のコンテンツIDにより示されるコンテンツは全て削除されたものとなる。従って、ステップS203において肯定結果が得られた場合は、ステップS218に進み、先のステップS208と同様に差分タイプを「コンテンツ削除」とした差分情報を差分情報リストに追加するようにされる。また、続くステップS219においては、このような「コンテンツ削除」の検出に応じ、先のステップS209と同様にポインタ値iのみをインクリメントした後、ステップS202に戻るようにされる。
このようなステップS203→S218→S219→S202→S203のループ処理により、今回バックアップ時側で比較対象の相違検出用情報Ddが無くなった場合においては、前回バックアップ時側に残っている相違検出用情報Ddについては、全て「コンテンツ削除」が検出され、それに応じた差分情報SBが差分情報リストLSBに追加されることになる。
そして、前回バックアップ時側及び今回バックアップ時側の双方の相違検出用情報Ddについて全て差分情報の検出が行われた場合は、ステップS215において肯定結果が得られ、これに応じ図11に示したステップS105に処理を進めるようにされる。つまり、これによってこの図に示す差分情報の生成処理が終了となる。
続いて、図13により、図11に示したステップS105としての差分ファイル群処理(同期)について説明する。
先ず、ステップS301では、ポインタ値kを0リセットする。このポインタ値kは、差分情報リストLSB内にリストアップされた差分情報SBのうち、対象とする差分情報SBを指し示すためのポインタとしての役割を果たす。
ステップS302では、ポインタ値kがリストアップ数と一致したか否かについて判別処理を行う。すなわち、ポインタ値kが、差分情報リストLSBにおける差分情報SBのリストアップ数と一致したか否かについて判別するものである。
ポインタ値kがリストアップ数と一致してないとして否定結果が得られた場合は、ステップS303において、k番目の差分情報を取得する。すなわち、差分情報リストLSB内のポインタ値kにより示される差分情報SBを取得する。
続くステップS304では、差分タイプを判別する。
先ず、差分タイプが「コンテンツ追加」である場合は、ステップS305に進み、「今回エントリID」のエントリに相当するコンテンツファイルの転送要求を行う。つまり、「今回エントリID」に格納されるエントリIDをデジタルビデオカメラ1側に送信すると共に、当該エントリIDにより特定されるコンテンツファイルFctを転送するように転送要求を行う。
そして、続くステップS306では、転送されたコンテンツファイルを保存するための処理を行う。すなわち、デジタルビデオカメラ1側から転送されたコンテンツファイルFctをHDD30に記録するための処理を実行する。
これによって、「コンテンツ追加」に応じては、デジタルビデオカメラ1側にて追加された新たなコンテンツファイルFctを転送させてHDD30にバックアップすることができる。
ステップS306の保存処理を実行すると、ステップS311にてポインタ値kをインクリメントした後に先のステップS302に戻るようにされる。
また、ステップS304において、「コンテンツ更新」が判別された場合は、ステップS307に進んで「前回エントリID」のエントリに相当するコンテンツファイルを削除するための処理を実行する。つまり、「前回エントリID」に格納されるエントリIDにより特定されるコンテンツファイルFctをHDD30上から削除するための処理を実行する。
その上で、ステップS308において、「今回エントリID」のエントリに相当するコンテンツファイルの転送要求を行う。さらに続くステップS309において、転送されたコンテンツファイルを保存するための処理を行う。
このようなステップS307〜ステップS309の処理により、「コンテンツ更新」に応じては、デジタルビデオカメラ1側にて内容の更新されたコンテンツファイルFctについてはPC20側においても同様に内容が更新されたものとなるようにすることができる。
ステップS309の保存処理を実行すると、ステップS311にてポインタ値kをインクリメントした後に先のステップS302に戻るようにされる。
また、ステップS304において、「コンテンツ削除」が判別された場合は、ステップS310において、「前回エントリID」のエントリに相当するコンテンツファイルを削除するための処理を実行する。つまり、「前回エントリID」に格納されるエントリIDにより特定されるコンテンツファイルFctをHDD30上から削除するための処理を実行する。これによって「コンテンツ削除」に応じては、デジタルビデオカメラ1側にて削除されたコンテンツファイルFctをPC20側でも削除することができる。
そして、続くステップS311においてポインタ値kをインクリメントした後、ステップS302に戻るようにされる。
なお、第1の実施の形態の場合、ステップS304にて「エントリ更新」が判別された場合は、図示するようにしてステップS311にてポインタ値kをインクリメントした後、ステップS302に戻るようにされる。すなわち、「エントリ更新」の場合は特段の処理は実行せずに次の差分情報SBに基づく処理を実行するようにされる。
但し、先にも述べたように例えばPC20側においてもPC側管理情報30bによって各コンテンツファイルFctについてデジタルビデオカメラ1側と同様にメタデータを管理するようにされる場合には、この「エントリ更新」に応じて、PC側管理情報30bによってそのコンテンツファイルFctと対応づけて管理しているメタデータを、デジタルビデオカメラ1側のインデックスファイルFindex内のメタデータに基づいて更新する処理を行うように構成することもできる。
具体的には、PC側管理情報30bによって「前回エントリID」により特定されるコンテンツファイルFctと対応づけられて管理されるメタデータの内容が、新たにデジタルビデオカメラ1側から転送させたインデックスファイルFindex内における「今回エントリID」が格納されたエントリデータ内(管理ファイルスロットSm内)のメタデータの内容となるように更新処理を行うものである。
また、上述したステップS302において、ポインタ値kがリストアップ数と一致したとして肯定結果が得られた場合は、先の図11におけるステップS106に処理を進めるようにされる。すなわち、この図に示される処理動作を終了するようにされる。
なお、これまでの図11〜図13の説明によれば、この場合は一度差分情報SBをリスト化した(差分情報リストLSBを生成した)後に、逐次差分情報SBに基づくコンテンツファイルFctの処理(追加/削除)を行うものとしたが、これに代え、差分情報SBを1つ生成するごとにその差分情報SBに基づくコンテンツファイルFctの処理を行うように構成することもできる。
また、次回のバックアップ処理用にインデックスファイルFindexを保存する際(図11ステップS106)は、上述のようにHDD30に保存する以外にも、例えばメモリ部22に保存することもできる。或いは、デジタルビデオカメラ1側の所要の記録媒体(例えば不揮発性メモリ12aなど)に保存することもできる。
何れにせよ、このような次回のバックアップ処理のために保存されるインデックスファイルFindexについては、PC20側が読み出し(取得)可能となる記録媒体に記録するようにされていればよい。
2.第2の実施の形態
2−1.第2の実施の形態としてのバックアップ処理
続いては、第2の実施の形態のバックアップ処理について説明する。
第2の実施の形態は、バックアップ処理自体としては先の第1の実施の形態の場合と同様の同期処理を行うものであるが、この同期処理機能に加え、さらに復元処理機能を実現するようにしたものである。
なお、第2の実施の形態としても、デジタルビデオカメラ1、パーソナルコンピュータ20の構成は第1の実施の形態の場合と同様となることからここでの改めての説明は省略する。但し、上記のように復元処理機能を付加することに応じて、HDD30に格納されるバックアップ処理用プログラム30aの内容は変更されたものなる。
先ず、ここでいう復元処理とは、デジタルビデオカメラ1側のコンテンツファイルFctの格納状態を、PC20側にバックアップされた過去におけるコンテンツファイルFctの格納状態に戻す処理を言う。
特に第2の実施の形態の復元処理としては、直前のバックアップ時におけるコンテンツファイルFctの格納状態に戻す処理(前回同期時状態の復元処理)を行うものとする。
ここで、このような復元処理を行うことを想定した場合としても、単にパーソナルコンピュータ20側にバックアップされたコンテンツファイル群をデジタルビデオカメラ1側のHDD14にそのまま上書きコピーしたのでは、パーソナルコンピュータ20側に保持される全てのコンテンツファイルFctについてコピー処理を行う必要があり、その分多くの時間を要することとなってしまう。
そこで実施の形態においては、このような復元処理としても、バックアップ処理の場合と同様にデジタルビデオカメラ1側とパーソナルコンピュータ20側とのコンテンツファイルFctの格納状態の差分を検出した結果に基づき行うものとしている。
図14は、第2の実施の形態のバックアップ処理(前回同期時状態の復元)について模式的に示した図である。この図14においても、先の図7と同様に、図14(a)ではデジタルビデオカメラ1におけるHDD14上に記録されるインデックスファイルFindex、コンテンツファイルFctについて、時間軸tに沿った状態遷移を示し、図14(b)ではパーソナルコンピュータ20におけるHDD30上に記録されるインデックスファイルFindex、コンテンツファイルFct、及びPC側管理情報30bについて同じく時間軸tに沿った状態遷移を示している。
図14において、この場合としても図14(a)に示すデジタルビデオカメラ1側には、初期状態として、コンテンツファイル「A」「B」「C」が記録され、またインデックスファイルFindexとしてはその格納状態に応じた「1」の内容を有するものが記録されていたとする。
先ず、この場合の復元処理を行うにあたっては、当然のことながらそれ以前においてデジタルビデオカメラ1側とパーソナルコンピュータ20側とで同期処理が行われていることが前提となる。
このため、先ず時点t1では、デジタルビデオカメラ1とパーソナルコンピュータ20とがUSBケーブルを介してデータ通信可能に接続されて、初回の同期処理が行われるとする。先にも述べたように、この場合の同期処理としては、先の第1の実施の形態の場合と同様となるのでここでの改めての説明は省略する。
そして、この同期処理後、時点t2においては、デジタルビデオカメラ1側においてコンテンツファイル「D」が新たに追加されたとする。さらに、時点t3ではコンテンツファイル「B」が削除され、次いで時点t4では、コンテンツファイル「C」の内容が修正されてコンテンツファイル「C'」に更新されたとする。
つまり、この時点t4におけるHDD14上のコンテンツファイルFctとしては「A」「C'」「D」が格納された状態となる。
なお、この場合も時点t2→t3→t4の遷移に応じては、インデックスファイルFindexの内容は「2」→「3」→「4」と遷移する。
続いて、時点t5では、再度デジタルビデオカメラ1側とPC20側とが接続され、復元指示に応じた復元処理が行われたとする。
ここで、復元処理としても、例えばユーザが入力部25のマウスを操作して画面上の所定のアイコンをクリックする等して、PC20に対して指示を行ったことに応じて行うようにされているとする。
PC20側では、このような復元指示が行われたことに応じ、先ずは同期処理の場合と同様に、デジタルビデオカメラ1側が持つインデックスファイルFindexと自らがHDD30に保存した前回バックアップ時のインデックスファイルFindexとに基づき、前回バックアップ時の相違検出用情報リストLDd-psと今回バックアップ時の相違検出用情報リストLDd-psとを生成する。そして、前回バックアップ時側と今回バックアップ時側とで相違検出用情報Ddの比較を行った結果に基づき、差分情報リストLSBを生成するようにされる。
ここで、この場合としても、差分情報リストLSB内の各差分情報SBに基づいて差分ファイル群の処理を行うようにされるのであるが、ここでは復元処理として、同期処理のときとは逆にパーソナルコンピュータ20側のファイル格納状態をデジタルビデオカメラ1側に反映させることになるので、差分情報SBに基づく処理は同期処理時とは逆の処理を行うようにされる。
具体的に、図14の時点t5にて復元処理が行われる直前においては、デジタルビデオカメラ1側のファイル格納状態「A」「C'」「D」に対し、PC20側のファイル格納状態は時点t1の同期処理後のままの「A」「B」「C」となっている。これによると、差分情報SBとしては、コンテンツファイル「B」について「コンテンツ削除」、コンテンツファイル「C」について「コンテンツ更新」、コンテンツファイル「D」について「コンテンツ追加」を示す各情報が差分情報リストLSBにリストアップされることになる。
そして、この場合の差分ファイル群処理として、先ず「コンテンツ削除」に応じては、そのコンテンツファイルFctをPC20側からデジタルビデオカメラ1側へ転送してこれを記録させる。つまり、この場合は「コンテンツ削除」とされたコンテンツファイル「B」をPC20側からデジタルビデオカメラ1側に転送してこれをHDD14に記録させることで、デジタルビデオカメラ1側で削除されたコンテンツファイル「B」を復元することができる。
また、「コンテンツ更新」に応じては、「今回エントリID」により特定されるコンテンツファイルFctをデジタルビデオカメラ1側から削除すると共に、PC20側に保持され「前回エントリID」により特定されるコンテンツファイルFctをデジタルビデオカメラ1側に転送してこれを記録させる。これにより、図14の例にて「コンテンツ更新」とされたコンテンツファイル(「C」「C'」)については、デジタルビデオカメラ1側にてコンテンツファイル「C'」が削除され、またPC20側が保持するコンテンツファイル「C」がデジタルビデオカメラ1側に移動されてコピーされる。つまり、これによってデジタルビデオカメラ1側で時点t1で保持されていたコンテンツファイル「C」が復元されたことになる。
また、「コンテンツ追加」に応じては、そのコンテンツファイルFctをデジタルビデオカメラ1側から削除させる。すなわち、図14において「コンテンツ追加」とされたコンテンツファイル「D」については、これをデジタルビデオカメラ1側で削除させることで、このコンテンツファイル「D」が存在しなかった時点t1の同期処理時の状態を復元することができる。
なお、差分タイプが「エントリ更新」である場合については、第2の実施の形態としても特段の処理は行わないものとしている。
但し、第2の実施の形態のような復元処理を行う場合、この「エントリ更新」としては、前回同期時から今回同期時の間にデジタルビデオカメラ1側にてそのコンテンツファイルFctのメタデータが更新されたことを意味する情報となる。
従って、このことを考慮すると、このようにデジタルビデオカメラ1側でメタデータが更新された場合には、それについても前回同期時状態に復元するということも考えられる。
そこで、例えばPC20側においてもメタデータを管理している場合であって、このようなメタデータについても復元するとした場合は、デジタルビデオカメラ1側の該当するメタデータを、PC20側が保持する前回同期時点でのメタデータの内容に更新するように構成することもできる。
そして、このように差分タイプの別に応じたファイル群処理を行うと、デジタルビデオカメラ1側のインデックスファイルFindexを、前回の同期処理時(直前の同期処理時)にバックアップしたインデックスファイルFindexに置き換えるようにされる。
つまり、図中の時点t5に示すように、デジタルビデオカメラ1側のインデックスファイルFindexは、前回同期時である時点t1のインデックスファイルFindex(情報内容「1」)に置き換えられる。
これによって、復元されたコンテンツファイルFctの格納状態に合致した情報内容によるインデックスファイルFindexをHDD14に記録させることができる。つまり、これによってデジタルビデオカメラ1側では、復元されたコンテンツ群がHDD14上に記録されたものとして適正に管理することができるようになる。
なお、確認のために述べておくと、この場合の例では、時点t1の同期処理後にPC20側のコンテンツファイルFctの格納状態は変化しないので、PC側管理情報30bの情報内容は変化しないものとなる(図中「α」)。
上記のようにして第2の実施の形態は、差分情報SBに基づく差分ファイル群処理により復元処理を行うようにしたものである。このことで、この場合も実際に転送を行うのは差分のファイルのみとすることができ、全コンテンツを上書きコピーして実現する場合と比較して復元処理をより高速化することができる。また、このように転送すべきコンテンツファイルFctが減ることで、処理負担についても軽減することができる。
また、この場合としても差分情報SBは前回/今回バックアップ時のインデックスファイルFindex同士の内容を突き合わせて生成するので、その分高速に差分情報SBを取得することができ、従ってこの点でも復元処理の高速化が図られるものとなる。
さらには、この場合もコンテンツ更新日時などのファイル識別子以外の他のファイル関連情報もエントリされるインデックスファイルFindex同士の内容を比較して差分情報SBを取得するので、「コンテンツ更新」や「エントリ更新」などコンテンツの追加/削除以外の他の差分タイプについても、管理情報同士を比較するのみで取得することができる。このことで、コンテンツの追加/削除以外の差分タイプを判別する際にも、管理情報同士の比較でそれらの差分タイプを判別することができ、従ってこのようなコンテンツの追加/削除以外の差分のタイプに応じた処理(この場合では「コンテンツ更新」とされたファイルについての復元処理)についても高速化が図られている。
2−2.処理動作
図15は、上記説明による第2の実施の形態としての復元処理を実現するために行われるべき処理動作について示している。
なお、この図15に示される処理動作が実行されるにあたっては、前提として、既に過去において同期処理が行われた状態にあるとする。同期処理の内容としては既に第1の実施の形態(図11〜図13)にて説明したのでここで改めて説明はしない。
また、この図においては、既にデジタルビデオカメラ1側とパーソナルコンピュータ20側とがデータ通信可能に接続された状態にあるとする。
また、この場合としても処理動作はパーソナルコンピュータ20側のみについて示しているが、この場合のデジタルビデオカメラ1側の処理動作としては、差分情報生成用情報Rydの生成のためにPC20側からの要求に応じてインデックスファイルFindexを転送する処理、PC20側から転送されたコンテンツファイルFct・インデックスファイルFindexの保存(又は上書き保存)処理、及びPC20側からの削除要求に応じたコンテンツファイルFctの削除処理のみとなるので、ここでの図示による説明は省略する。
また、この図15(及び後述する図16)に示される処理動作としても、CPU21がバックアップ処理用プログラム30aに基づいて実行するものである。
図15において、先ずステップS401では復元指示を待機する。つまり、例えばこの場合としても、復元指示はユーザが入力部25のマウスを操作して画面上の所定のアイコンをクリックすることで行われる。従ってこの場合も、上記所定のアイコンに対する操作を待機して復元指示を待機するようにされる。
復元指示があったとして肯定結果が得られた場合は、ステップS402において、差分情報生成用情報を生成するための処理を行う。このステップS402の処理は、先の図11におけるステップS103と同様となるので説明は省略する。図示は省略しているが、このステップS402の処理としても、ステップS103と同様に、差分情報生成用情報Rydの生成のためにデジタルビデオカメラ1側にインデックスファイルFindexの転送要求を行う処理と、当該転送要求に応じて転送されたインデックスファイルFindexを一時保持する処理が含まれる。
そして、続くステップS403では、差分情報の生成処理を行う。このステップS403の差分情報の生成処理としても、図11に示したステップS104(つまり図12の処理)と同様となるので同じく説明は省略する。
ステップS404では、差分ファイル群処理(前回同期時状態の復元)を行うようにされる。すなわち、前回同期時状態の復元のために、先に述べたようなコンテンツファイルFctの追加/削除を行うための処理である。
ここで、図16は、上記ステップS404としての差分ファイル群処理(前回同期時状態の復元)の具体的な処理内容を示している。
図16において、先ずステップS501では、ポインタ値kを0リセットする。そして、続くステップS502では、ポインタ値kがリストアップ数(差分情報リストLSBにおける差分情報SBのリストアップ数)と一致したか否かについて判別処理を行う。
ステップS502においてポインタ値kが上記リストアップ数と一致してはいないとして否定結果が得られた場合は、ステップS503において、k番目の差分情報を取得する。すなわち、ポインタ値kにより示される差分情報SBを取得する。その上で、続くステップS504では、取得した差分情報SB内に格納される差分タイプを判別する。
先にも述べたように、この場合の差分タイプの別に応じた処理は、同期処理の場合とは
逆内容となる。
先ず、「コンテンツ追加」が判別されたステップS505では、「今回エントリID」のエントリに相当するコンテンツファイルの削除要求を行うようにされる。つまり、デジタルビデオカメラ1側に対し、取得した差分情報SB内の「今回エントリID」により特定されるコンテンツファイルFctの削除要求を行う。これにより、前回同期時には存在しなかったコンテンツファイルFctがデジタルビデオカメラ1側で削除されるものとなり、この点で前回同期時状態が復元されたことになる。
この削除要求を行うと、図示するようにステップS509にてポインタ値kをインクリメントした後、先のステップS502に戻るようにされる。
また、「コンテンツ更新」が判別されたステップS506では、先のステップS505と同様に、「今回エントリID」のエントリに相当するコンテンツファイルの削除要求を行うようにされる。その上で、続くステップS507において、「前回エントリID」のエントリに相当するコンテンツファイルをビデオカメラ側に転送する処理を行う。
これにより、内容の更新が行われたコンテンツファイルFctについては、更新後のコンテンツファイルFctが削除され、その代わりにPC20側に保持される前回同期時に存在した更新前のコンテンツファイルFctがデジタルビデオカメラ1側に転送され記録されることになる。つまり、この点で前回同期時状態が復元されたことになる。
なお、確認のために述べておくと、上記のようにしてPC20側からHDD30に記録されるコンテンツファイルFctをデジタルビデオカメラ1側に転送する際には、CPU21がHDD30を制御して該当するコンテンツファイルFctを読み出させると共に、この読み出されるコンテンツファイルFctがデジタルビデオカメラ1側に転送されるようにUSBインタフェース23に対する制御を行うようにされる。
上記ステップS507の処理を実行した後は、ステップS509に進んでポインタ値kをインクリメントした後、ステップS502に戻るようにされる。
また、「コンテンツ削除」が判別されたステップS508では、上記ステップS507と同様に、「前回エントリID」のエントリに相当するコンテンツファイルをビデオカメラ側に転送する処理を行う。これにより、前回同期時から今回同期時の間にデジタルビデオカメラ1側にて削除されたコンテンツファイルFctが復元されることになる。
このステップS508を実行した後も、ステップS509に進んでポインタ値kをインクリメントした後、ステップS502に戻るようにされる。
なお、図示するようにこの場合としても、「エントリ更新」が判別された場合にはそのままステップS509のインクリメント処理を行った後にステップS502に戻るようして、特段の処理は行わないものとしている。
但し、先にも述べたように、例えばPC20側においてもメタデータを管理している場合にはこれも復元することが考えられる。
具体的には、新たにデジタルビデオカメラ1側から転送させたインデックスファイルFindex内における「今回エントリID」が格納されたエントリデータ内(管理ファイルスロットSm内)のメタデータの内容が、PC側管理情報30bによって「前回エントリID」により特定されるコンテンツファイルFctと対応づけられて管理されるメタデータの内容となるように更新処理を行うものである。
また、上述したステップS502において、ポインタ値kがリストアップ数と一致したとして肯定結果が得られた場合は、先の図15におけるステップS405に処理を進めるようにされる。すなわち、この図に示される処理動作を終了するようにされる。
図15に戻り、ステップS405においては、ビデオカメラ側のインデックスファイルを前回バックアップしたインデックスファイルに置き換えるための処理を行う。つまり、デジタルビデオカメラ1側に対しHDD30に保持される前回同期時(直前に行われた同期処理時)に保存したインデックスファイルFindexを転送し、これをHDD14に保持されるインデックスファイルFindexに上書き保存するように指示を行う。
これによって、復元されたコンテンツファイルFctの格納状態に合致した情報内容によるインデックスファイルFindexをHDD14に記録させることができる。つまり、これによってデジタルビデオカメラ1側では、復元されたコンテンツ群がHDD14上に記録されたものとして適正に管理することができるようになる。
3.第3の実施の形態
3−1.第3の実施の形態としてのバックアップ処理
続いて第3の実施の形態のバックアップ処理について説明する。
第3の実施の形態のバックアップ処理は、先の第1の実施の形態の場合の同期処理とは異なり、デジタルビデオカメラ1側で追加(記録)され、且つ過去においてPC20側への保存対象とされた全てのコンテンツファイルFctを保存しておくという全コンテンツ保存処理を行うものである。
なお、第3の実施の形態としても、デジタルビデオカメラ1、パーソナルコンピュータ20の構成は第1の実施の形態の場合と同様となることからここでの改めての説明は省略する。但し、この場合も第1の実施の形態の同期処理とは異なる処理を実行するので、HDD30に格納されるバックアップ処理用プログラム30aの内容は変更されたものなる。
また、この第3の実施の形態においても、差分情報生成用情報Rdyの生成動作は第1の実施の形態にて説明したものと同様となるのでここで改めて説明は行わない。
図17は、第3の実施の形態のバックアップ処理(全コンテンツ保存)について模式的に示した図である。この図17においても、先の図7、図14と同様に、図17(a)ではデジタルビデオカメラ1におけるHDD14上に記録されるインデックスファイルFindex、コンテンツファイルFctについて、時間軸tに沿った状態遷移を示し、図17(b)ではパーソナルコンピュータ20におけるHDD30上に記録されるインデックスファイルFindex、コンテンツファイルFct、及びPC側管理情報30bについて同じく時間軸tに沿った状態遷移を示している。
図示するようにこの場合も、図17(a)に示すデジタルビデオカメラ1側には、初期状態として、コンテンツファイル「A」「B」「C」が記録され、またインデックスファイルFindexとしてはその格納状態に応じた「1」の内容を有するものが記録されていたとする。
そして、時点t1では、この場合も例えばユーザ操作などによる指示に応じて、全コンテンツ保存処理が行われる。
この時点t1においては、PC20側でコンテンツファイルFctが格納されていないことから、デジタルビデオカメラ1側にて保持される全てのコンテンツファイルFctと、さらにインデックスファイルFindexとを転送させてHDD30に記録する。つまり、この時点t1のバックアップ処理では、これらコンテンツファイル「A」「B」「C」がPC20側への保存対象とされる。
なお、この場合もコンテンツファイル「A」「B」「C」の格納状態に応じたインデックスファイルFindexの情報内容は「1」であり、また同格納状態に応じたPC側管理情報30bの情報内容は「α」であるとする。
そして、この全コンテンツ保存処理後、時点t2においては、デジタルビデオカメラ1側においてコンテンツファイル「D」が新たに追加されたとする。これに応じたインデックスファイルFindexの情報内容はこの場合も「2」となる。
さらに、次の時点t3にて、再度デジタルビデオカメラ1側とパーソナルコンピュータ20側とがデータ通信可能に接続され、再び全コンテンツ保存指示が為されたとする。この場合、コンテンツファイル「D」が「コンテンツ追加」となるので、当該コンテンツファイル「D」がPC20側への保存対象ファイルとなる。従ってこの場合の全コンテンツ保存指示に応じては、デジタルビデオカメラ1側からコンテンツファイル「D」とインデックスファイルFindexとを転送させ、それぞれHDD30に記録するようにされる。
なお、コンテンツファイル「A」「B」「C」「D」の格納状態に応じたPC側管理情報30bの情報内容はこの場合も「β」となる。
ここで、上記のようにデジタルビデオカメラ1側にてコンテンツファイルFctが新たに追加される限りにおいては、全コンテンツ保存処理は同期処理の場合と同じ動作となる。この場合はデジタルビデオカメラ1側にてコンテンツファイルFctが削除又は更新されたときに、同期処理の場合とは異なる動作が行われることになる。
例えば、図示するように次の時点t4においてデジタルビデオカメラ1側でコンテンツファイル「B」が削除された後、時点t5にて行われる全コンテンツ保存処理は以下のようになる。なお、この場合もコンテンツファイル「B」の削除に伴うコンテンツファイル「A」「C」「D」の格納状態に応じたインデックスファイルFindexの情報内容は「3」である。
時点t5における全コンテンツ保存処理としては、デジタルビデオカメラ1側にて保持されるインデックスファイルFindexを転送させてこれをHDD30に記録するのみで、コンテンツファイルFctの追加/削除は何ら行わないようにされる。つまりは、このような「コンテンツ追加」に応じては、次回の全コンテンツ保存処理にて前回情報として比較されるべきインデックスファイルFindexのバックアップ処理のみを行うようにされるものである。
これによって過去にPC20側への保存対象とされたコンテンツファイル「B」については、これをPC20側にて保存しておくことができる。
また、この時点t5における全コンテンツ保存処理が行われた後に、時点t6ではデジタルビデオカメラ1側にてコンテンツファイル「C」の内容修正が行われコンテンツファイル「C'」に更新されたとする。これに応じたコンテンツファイル「A」「C'」「D」の格納状態に応じたインデックスファイルFindexの情報内容は、この場合も「4」である。
そして、次の時点t7において行われる全コンテンツ保存処理は以下のようになる。
つまり、このような「コンテンツ更新」に応じては、新たに更新されたコンテンツファイル「C'」が保存対象となるので、このコンテンツファイル「C'」を転送させてこれをHDD30に記録するようにされる。そしてこの場合、更新前のファイルであるコンテンツファイル「C」については、これをPC20側で削除はしないものとする。つまり、これによって過去にPC20側への保存対象とされたコンテンツファイル「C」についても、引き続きPC20側でこれを保存しておくことができる。
なお、この時点t7においても、PC20側は、デジタルビデオカメラ1側に保持されるインデックスファイルFindex(情報内容「4」)を保存して、次回の全コンテンツ保存処理時に前回情報となるべきインデックスファイルFindexをバックアップするようにされる。
また、この時点t7におけるPC20側のコンテンツファイルFctの格納状態(「A」「B」「C」「C'」「D」)に応じて、PC側管理情報30bの情報内容は、図示する「ε」に更新される。
また、この全コンテンツ保存処理における差分タイプ=「エントリ更新」の取り扱いについては、先の同期処理の場合に準ずるものとする。
この図17にて説明したような全コンテンツ保存処理により、過去にPC20側への保存対象とされたコンテンツファイルFctについては、これらを全てPC20側において保存しておくようにすることができる。
また、この場合としても実際に転送を行うのは差分のファイルのみとすることができ、全コンテンツを上書きコピーして実現する場合と比較すれば全コンテンツ保存処理をより高速化することができる。また、このように転送すべきコンテンツファイルFctが減ることで、処理負担についても軽減することができる。
また、この場合としても差分情報SBは前回/今回バックアップ時のインデックスファイルFindex同士の内容を突き合わせて生成するので、その分高速に差分情報SBを取得することができ、従ってこの点でも全コンテンツ保存処理の高速化が図られている。
さらには、この場合もコンテンツ更新日時などのファイル識別子以外の他のファイル関連情報もエントリされるインデックスファイルFindex同士の内容を比較して差分情報SBを取得するので、「コンテンツ更新」や「エントリ更新」などコンテンツの追加/削除以外の他の差分タイプについても、管理情報同士を比較するのみで取得することができる。このことで、コンテンツの追加/削除以外の差分タイプを判別する際にも、管理情報同士の比較でそれらの差分タイプを判別することができ、従ってこのようなコンテンツの追加/削除以外の差分のタイプに応じた処理(この場合では「コンテンツ更新」とされたファイルについてのバックアップ処理)についても高速化が図られている。
3−2.処理動作
図18は、上記説明による全コンテンツ保存処理を実現するための処理動作を示したフローチャートである。
なお、この図18においても、既にデジタルビデオカメラ1側とパーソナルコンピュータ20側とがデータ通信可能に接続された状態にあるとする。また、この場合としても処理動作はパーソナルコンピュータ20側のみについて示しているが、この場合のデジタルビデオカメラ1側の処理動作としては、PC20側からの転送要求に応じてコンテンツファイルFct、インデックスファイルFindexを転送する処理のみとなるので、ここでの図示による説明は省略する。
また、この図18(及び後述する図19)に示される処理動作としても、CPU21がバックアップ処理用プログラム30aに基づいて実行するものである。
図18において、先ずステップS601では全コンテンツ保存指示を待機する。つまり、例えばこの場合としても全コンテンツ保存指示はユーザが入力部25のマウスを操作して画面上の所定のアイコンをクリックすることで行われるものとされ、これに応じステップS601としては上記所定のアイコンに対する操作を待機する処理となる。
全コンテンツ保存指示があったとして肯定結果が得られた場合は、ステップS602において、バックアップしたインデックスファイルがあるか否かについて判別処理を行う。つまり、HDD30上に既にデジタルビデオカメラ1側からバックアップしたインデックスファイルFindexが保存されているか否かについて判別処理を行う。
なお、このステップS602においてバックアップしたインデックスファイルがないとして否定結果が得られた場合における、ステップS607→S608→S609の処理の流れは、先の図11にて説明した同期処理の場合のステップS107→S108→S109と同様となる。すなわち、これによって全コンテンツ保存処理の場合にも、初回処理時にはデジタルビデオカメラ1側で保持される全てのコンテンツファイルFctとその管理状態を示すインデックスファイルFindexとがPC20側にバックアップされることになる。
また、上記ステップS602において、既にバックアップしたインデックスファイルがあるとして肯定結果が得られた場合は、ステップS603において差分情報生成用情報を生成するための処理を行う。このステップS603の処理は先の図11におけるステップS103と同様となるので説明は省略する。この場合も図示は省略しているが、このステップS603の処理としてもステップS103と同様に、差分情報生成用情報Rydの生成のためにデジタルビデオカメラ1側にインデックスファイルFindexの転送要求を行う処理と、当該転送要求に応じて転送されたインデックスファイルFindexを一時保持する処理が含まれる。
そして、続くステップS604では、差分情報の生成処理を行う。このステップS603の差分情報の生成処理としても図11に示したステップS104(つまり図12の処理)と同様となるので同じく説明は省略する。
ステップS605では、差分ファイル群処理(全コンテンツ保存)を行うようにされる。
ここで、図19は、上記ステップS605としての差分ファイル群処理(全コンテンツ保存)の具体的な処理内容を示している。
図19において、ステップS701、S702、S703、S704の処理は、先の第1の実施の形態(図13)で説明したステップS301、S302、S303、S304とそれぞれ同様の処理となる。従って、ここでの説明は省略する。
この場合、ステップS704における差分タイプについての判別処理の結果得られる処理動作は、以下のようになる。
先ず「コンテンツ追加」が判別されたステップS705では、「今回エントリID」のエントリに相当するコンテンツファイルの転送要求を行うようにされる。その上で続くステップS706において、転送されたコンテンツファイルを保存するようにされる。つまりこれらの処理により、同期処理の場合と同様に、デジタルビデオカメラ1側に追加されたコンテンツについてはPC20側にも追加することができる。
ステップS706の保存処理を実行すると、ステップS709にてポインタ値kをインクリメントした後ステップS702に戻るようにされる。
また、「コンテンツ更新」が判別されたステップS707では、「今回エントリID」のエントリに相当するコンテンツファイルの転送要求を行う。その上で続くステップS708においては転送されたコンテンツファイルを保存するようにされる。
これにより、デジタルビデオカメラ1側で内容の更新が行われたコンテンツファイルFctをPC20側に追加することができる。このようにして、この場合の「コンテンツ更新」に応じては同期処理の場合とは異なり更新前のファイルが削除されないので、過去に保存対象となった当該更新前のファイルを引き続きPC20側に保存しておくことができる。
このステップS708の保存処理を実行した後もステップS709に進んでポインタ値kをインクリメントした後、ステップS702に戻るようにされる。
また、「コンテンツ削除」が判別された場合は、図示するようにしてそのまま上記ステップS709に進んでポインタ値kをインクリメントした後、ステップS702に戻るようにされる。このように「コンテンツ削除」に応じては特段の処理が行われないことで、デジタルビデオカメラ1側にて削除されたコンテンツファイルFctについても引き続きPC20側で保存しておくことができる。
なお、先にも述べたように差分タイプとして「エントリ更新」が判別された場合の取り扱いについては、先の同期処理(図13)の場合に準ずるものとする。
そして、ステップS702において、ポインタ値kがリストアップ数と一致したとして肯定結果が得られた場合は、先の図18におけるステップS606に処理を進めるようにされる。すなわち、この図に示される処理動作を終了するようにされる。
図18において、上記ステップS606、及び続くステップS609では、先の図13に示したステップS106、及びステップS109と同様の処理を行う。すなわち、先ずステップS606においてはビデオカメラ側が持つインデックスファイルFindexを保存する。これによって次回の全コンテンツ保存処理時における「前回バックアップ時のインデックスファイルFindex」が保存されたことになる。また、ステップS609では、コンテンツファイル格納状況に応じてPC側管理情報を更新するための処理を実行する。これによってPC20側において、現在HDD30上に保持されているコンテンツファイルFctが適正にHDD30上に格納されるファイルとして管理されるようにすることができる。
4.第4の実施の形態
4−1.第4の実施の形態としてのバックアップ処理
第4の実施の形態は、これまでに説明した同期処理と全コンテンツ保存処理とを組み合わせたバックアップ処理を行うものである。
なお、第4の実施の形態としても、デジタルビデオカメラ1、パーソナルコンピュータ20の構成は第1の実施の形態の場合と同様となることからここでの改めての説明は省略する。但し、この場合も第1の実施の形態の同期処理とは異なる処理を実行するので、HDD30に格納されるバックアップ処理用プログラム30aの内容は変更される。
また、この第4の実施の形態においても差分情報生成用情報Rdyの生成動作は第1の実施の形態にて説明したものと同様となるのでここで改めて説明は行わない。
図20は、第4の実施の形態のバックアップ処理(同期&全コンテンツ保存)について模式的に示した図である。この図20においても先の図7、図14、図17と同様に、図20(a)ではデジタルビデオカメラ1におけるHDD14上に記録されるインデックスファイルFindex、コンテンツファイルFctについて、時間軸tに沿った状態遷移を示し、図20(b)ではパーソナルコンピュータ20におけるHDD30上に記録されるインデックスファイルFindex、コンテンツファイルFct、及びPC側管理情報30bについて同じく時間軸tに沿った状態遷移を示している。
図示するようにこの場合も、図20(a)に示すデジタルビデオカメラ1側には、初期状態として、コンテンツファイル「A」「B」「C」が記録され、またインデックスファイルFindexとしてはその格納状態に応じた「1」の内容を有するものが記録されていたとする。
そして、時点t1では、この場合も例えばユーザ操作などによる指示に応じて、同期&全コンテンツ保存処理が行われる。
ここで、この場合の同期&全コンテンツ保存は、例えば同期処理のオプション機能として付加された機能であるとする。すなわち、予め設定メニューなどで同期処理について単なる同期処理を行うのか同期&全コンテンツ保存処理を行うのかを選択可能としておき、同期&全コンテンツ保存処理が選択された条件の下において、同期指示が行われたことに応じ、この図に示す同期&全コンテンツ保存処理が実行されるようになっていることとする。
この場合の「同期&全コンテンツ保存指示」とは、このようにして例えば設定メニューなどで「同期&全コンテンツ保存」が選択された条件の下での同期指示を意味するものである。
図20における時点t1においても、PC20側でコンテンツファイルFctが格納されていないことから、デジタルビデオカメラ1側にて保持される全てのコンテンツファイルFctと、さらにインデックスファイルFindexとを転送させてHDD30に記録する。つまり、この時点t1の同期&全コンテンツ保存処理では、これらコンテンツファイル「A」「B」「C」がPC20側への保存対象とされる。
なお、この場合もコンテンツファイル「A」「B」「C」の格納状態に応じたインデックスファイルFindexの情報内容は「1」であるとする。
但し、同ファイル格納状態に応じたPC側管理情報30bの情報内容は、この場合は「α」でなく「M1」であるとする。
ここで、同期&全コンテンツ保存処理の場合は、PC20側において、デジタルビデオカメラ1側と同期されているコンテンツファイルFctと、全コンテンツ保存処理に伴ってHDD30に保存される同期以外のコンテンツファイルFctとを分けて管理するものとしている。
このため、PC20側におけるHDD30の仮想的な構造としては、図20(b)に示されているように、「同期用」としてデジタルビデオカメラ1側の格納状態と同期しているコンテンツファイルFctを管理する領域と、「全コンテンツ保存用」として全コンテンツ保存処理に伴い保存される同期用以外のコンテンツファイルFctを管理する領域とが分けられたものとなる。
このようにして、「同期用」と「全コンテンツ保存用」とでそれぞれ別々にコンテンツファイルFctを管理することで、PC20側において、例えばデジタルビデオカメラ1側と同期しているコンテンツファイルFctのみを一覧表示したり、全コンテンツ保存用に保存されているコンテンツファイルFctの一覧を必要に応じてユーザに提示する等といったことが可能となる。
時点t1における同期&全コンテンツ保存処理では、PC20側におけるファイル格納状態はデジタルビデオカメラ1側と同期することになるので、HDD30に保存された全てのコンテンツファイルFctが「同期用」として管理されるようにPC側管理情報30bの情報内容が更新される。
なお、上記説明からも理解されるように、第4の実施の形態の「同期&全コンテンツ保存処理」とは、PC20側にて保存されるコンテンツファイルFctを上記のような「同期用」「全コンテンツ保存用」とで分けて管理するようにしただけのものであり、コンテンツファイルFct及びインデックスファイルFindexについての処理自体は、先の第3の実施の形態の全コンテンツ保存処理の場合と同様の処理を行うもとされている。これは、図20(a)と先の図17(a)とに示す同じデジタルビデオカメラ1側でのコンテンツファイルFct・インデックスファイルFindexの格納状態遷移に対し、PC20側で保存されるコンテンツファイルFct・インデックスファイルFindexの遷移が図20(b)と図17(b)の場合で同じとなっていることからも理解できる。
このことから、以降の時点t2〜時点t7におけるコンテンツファイルFctについての処理自体については図17の場合と同様として説明は省略し、相違点のみについて説明する。
先ず、時点t2においては、デジタルビデオカメラ1側においてコンテンツファイル「D」が新たに追加され、次の時点t3にて、再度デジタルビデオカメラ1側とパーソナルコンピュータ20側とがデータ通信可能に接続され、再び同期&全コンテンツ保存指示が為されたとする。この場合、PC20側には当該追加されたコンテンツファイル「D」が転送され保存されるが、このようにコンテンツファイルFctが追加される限りでは、デジタルビデオカメラ1側のコンテンツファイル格納状態とPC20側のコンテンツファイル格納状態とが同期した状態が継続するので、PC20側に保持されるコンテンツファイル「A」「B」「C」「D」は全て「同期用」として管理されるようにPC側管理情報30bが更新される。この更新後のPC側管理情報30bの情報内容は図示するように「M2」とする。
このことから理解されるように、同期&全コンテンツ保存処理においては、「コンテンツ追加」とされたコンテンツファイルFctについては全て「同期用」として管理すればよい。これによってデジタルビデオカメラ1側とPC20側とで同期している(共に保持される)コンテンツファイルFctについては適正に「同期用」であるとして管理することができる。
ここで、この場合としても、デジタルビデオカメラ1側とパーソナルコンピュータ20側とでコンテンツファイル格納状態が異なるようになるのは、デジタルビデオカメラ1側にてコンテンツファイルFctが削除又は更新された以降にバックアップ処理が行われたときである。
つまり、図示するように時点t4にてデジタルビデオカメラ1側でコンテンツファイル「B」が削除された以降の、時点t5の同期&全コンテンツ保存処理によっては、全コンテンツ保存の観点からPC20側でコンテンツファイル「B」を削除せずに保存を継続するようにされるが、ここでデジタルビデオカメラ1側とPC20側とでコンテンツファイルFctの格納状態に相違が生じる。すなわち、この場合は上記コンテンツファイル「B」が、「同期用」ではなく「全コンテンツ保存用」として管理されるべきコンテンツファイルFctであることになる。このように「全コンテンツ保存用」であるとされたコンテンツファイルFctについては、「全コンテンツ保存用」であるとして管理されるようにPC側管理情報30bの内容を更新する(図中情報内容「M3」)。
このようにして、第4の実施の形態の同期&全コンテンツ保存処理においては、差分タイプして「コンテンツ削除」が判別された場合、そのコンテンツファイルFctは「全コンテンツ保存用」として管理されるべきファイルであると判断することができる。よって、このように「コンテンツ削除」が判別された場合は、そのコンテンツファイルFctが「全コンテンツ保存用」として管理されるようにPC側管理情報30bを更新する。
また、この時点t5における同期&全コンテンツ保存処理が行われた後に、時点t6ではデジタルビデオカメラ1側にてコンテンツファイル「C」の内容修正が行われコンテンツファイル「C'」に更新されたとする。
そして、次の時点t7において再び同期&全コンテンツ保存処理が行われたとする。
これに応じては、先の図17においても説明したように、PC20側ではデジタルビデオカメラ1側にて保持される更新後のコンテンツファイル「C'」を転送させてこれを保存するようにされる。これに伴って、PC側20で削除されずに残っている更新前のコンテンツファイル「C」が、「同期用」ではなく「全コンテンツ保存用」であるべきファイルとなる。このため、当該コンテンツファイル「C」が「全コンテンツ保存用」として管理されるように、PC側管理情報30bを更新する(図中情報内容「M4」)。
このようにして「コンテンツ更新」が判別された場合は、PC20側で削除されずに保存され続ける更新前のコンテンツファイルFctが「全コンテンツ保存用」として管理されるべきファイルであることを特定でき、よって当該更新前のコンテンツファイルFctが「全コンテンツ保存用」として管理されるようにPC側管理情報30bを更新する。
なお、この同期&全コンテンツ保存処理における差分タイプ=「エントリ更新」の取り扱いについても先の同期処理の場合に準ずるものとする。
この図18にて説明したような同期&全コンテンツ保存処理によっても、過去にPC20側への保存対象とされたコンテンツファイルFctについてはこれらを全てPC20側において保存しておくようにすることができる。また、これと共にPC20側では、PC側管理情報30bによってデジタルビデオカメラ1側と同期しているコンテンツファイルFctと全コンテンツ保存処理に伴って保存される同期用以外のコンテンツファイルFctとを別々に管理することができる。
また、この場合としても実際に転送を行うのは差分のファイルのみとすることができ、この点で同期&全コンテンツ保存処理をより高速化することができる。また、転送すべきコンテンツファイルFctが減ることで、処理負担についても軽減することができる。
また、この場合としても差分情報SBは前回/今回バックアップ時のインデックスファイルFindex同士の内容を突き合わせて生成するので、その分高速に差分情報SBを取得することができ、従ってこの点でも同期&全コンテンツ保存処理の高速化が図られている。
さらには、この場合もコンテンツ更新日時などのファイル識別子以外の他のファイル関連情報もエントリされるインデックスファイルFindex同士の内容を比較して差分情報SBを取得するので、「コンテンツ更新」や「エントリ更新」などコンテンツの追加/削除以外の他の差分タイプについても管理情報同士を比較するのみで取得することができ、コンテンツの追加/削除以外の差分のタイプに応じた処理(この場合では「コンテンツ更新」とされたファイルについてのバックアップ処理)についても高速化が図られている。
4−2.処理動作
図21は、上記説明による同期&全コンテンツ保存処理を実現するための処理動作を示したフローチャートである。
なお、この図21においても既にデジタルビデオカメラ1側とパーソナルコンピュータ20側とがデータ通信可能に接続された状態にあるとする。また、この場合としても処理動作はパーソナルコンピュータ20側のみについて示しているが、この場合のデジタルビデオカメラ1側の処理動作としては第3の実施の形態の場合と同様にPC20側からの転送要求に応じてコンテンツファイルFct、インデックスファイルFindexを転送する処理のみとなるので、ここでの図示による説明は省略する。
また、この図21(及び後述する図22)に示される処理動作としてもCPU21がバックアップ処理用プログラム30aに基づいて実行するものである。
図21において、先ずステップS801では同期&全コンテンツ保存指示を待機する。先に述べたように、この場合の同期&全コンテンツ保存指示は例えば「全コンテンツ保存」が選択された下での同期指示と定義しているので、当該ステップS801としても所定のアイコンに対する操作を待機する処理となる。
同期&全コンテンツ保存指示があったとして肯定結果が得られた場合は、ステップS802において、バックアップしたインデックスファイルがあるか否かについて判別処理を行う。つまり、HDD30上に既にデジタルビデオカメラ1側からバックアップしたインデックスファイルFindexが保存されているか否かについて判別処理を行う。
この場合も、当該ステップS802においてバックアップしたインデックスファイルがないとして否定結果が得られた場合における、ステップS808→S809→S810の処理の流れは、先の図18にて説明した全バックアップ処理の場合のステップS607→S608→S609と同様となる。すなわち、これによって同期&全コンテンツ保存処理の場合にも、初回処理時にはデジタルビデオカメラ1側で保持される全てのコンテンツファイルFctとその管理状態を示すインデックスファイルFindexとがPC20側にバックアップされることになる。
なお、上記ステップS810に至る処理の流れは同期処理となることがわかる(図11ステップS107→S108→S109参照)。従ってステップS810においては、HDD30に保存された全てのコンテンツファイルFctが「同期用」として管理されるようにPC側管理情報30bを更新することとなる。
また、上記ステップS802において、既にバックアップしたインデックスファイルがあるとして肯定結果が得られた場合はステップS803に進む。
このステップS803を含む以降のステップS804、S806は、先の図18におけるステップS603、S606と同様となるので説明は省略する。この場合も図示は省略しているがステップS803の処理としては差分情報生成用情報Rydの生成のためにデジタルビデオカメラ1側にインデックスファイルFindexの転送要求を行う処理と、当該転送要求に応じて転送されたインデックスファイルFindexを一時保持する処理が含まれる。
ここでは、図18に示した全コンテンツ保存処理の場合とは異なる部分となる、ステップS805の差分ファイル群処理(同期&全コンテンツ保存)と、ステップS807のPC側管理情報の更新処理とについて説明する。
図22は、上記ステップS805としての差分ファイル群処理(同期&全コンテンツ保存)の具体的な処理内容を示している。
なお図22において、ステップS901、S902、S903、S904の処理は、先の図19で説明したステップS701、S702、S703、S704とそれぞれ同様の処理となるのでここでの説明は省略する。
この場合、ステップS904における差分タイプについての判別処理の結果行われるべき処理動作は、以下のようになる。
先ず「コンテンツ追加」が判別されたステップS905では、「今回エントリID」のエントリに相当するコンテンツファイルの転送要求を行うようにされる。そしてステップS906では、転送されたコンテンツファイルを保存するようにされる。つまりここまでは全コンテンツ保存処理の場合と同様となる。
その上でこの場合は、続くステップS907において、保存したコンテンツファイルの属性を「同期用」に設定するための処理を行う。これによって後のステップS807(図21)におけるPC側管理情報の更新処理時に、適正にコンテンツファイルFctの属性(同期用/全コンテンツ保存用の別)を判別できるようにされている。
このステップS907の処理を実行すると、ステップS913にてポインタ値kをインクリメントした後ステップS902に戻るようにされる。
また、「コンテンツ更新」が判別されたステップS908では、「前回エントリID」のエントリに相当するコンテンツファイルの属性を「全コンテンツ保存用」に設定するための処理を行う。つまり、このように差分タイプ=「コンテンツ更新」のとき、「前回エントリID」により特定されるコンテンツファイルFct、すなわちPC20側に保持される更新前のコンテンツファイルFctは「全コンテンツ保存用」となるべきファイルとなるからである。
そして、続くステップS909では、「今回エントリID」のエントリに相当するコンテンツファイルの転送要求を行う。また続くステップS910においては転送されたコンテンツファイルを保存するようにされる。これらの処理は、実際に全コンテンツ保存処理を実現するためのファイルの移動処理となる。
その上でこの場合は、次のステップS911において、先のステップS907と同様に保存したコンテンツファイルの属性を「同期用」に設定するための処理を行う。つまり、先にも述べたようにPC20側に新たに追加保存されたコンテンツファイルFctは、全て「同期用」となるべきものとなる。
このステップS911の処理を実行した後もステップS913に進んでポインタ値kをインクリメントした後、ステップS902に戻るようにされる。
また、「コンテンツ削除」が判別された場合は、図示するようにステップS912において、「前回エントリID」のエントリに相当するコンテンツファイルの属性を「全コンテンツ保存用」に設定するための処理を行う。これによってデジタルビデオカメラ1側で削除されたが全コンテンツ保存としてPC20側では引き続き保存され続けることとなったコンテンツファイルFctについて、適正に「全コンテンツ保存用」の属性を設定することができる。
このステップS912の後もステップS913に進んでポインタ値kをインクリメントした後、ステップS902に戻るようにされる。
なお、先にも述べたように差分タイプとして「エントリ更新」が判別された場合の取り扱いについては、この場合も先の同期処理(図13)の場合に準ずるものとする。
そして、ステップS902において、ポインタ値kがリストアップ数と一致したとして肯定結果が得られた場合は、先の図21におけるステップS806に処理を進めるようにされる。すなわち、この図に示される処理動作を終了するようにされる。
図21において、上記ステップS806では、ビデオカメラ側が持つインデックスファイルFindexを保存する処理が行われて、この場合も次回のバックアップ時における「前回バックアップ時のインデックスファイルFindex」が保存されることになる。
そして、続くステップS807では、同期用/全コンテンツ保存用の別でコンテンツファイルが管理されるように、PC側管理情報を更新するための処理を実行する。すなわち、PC20側において現在HDD30上に保持されている各コンテンツファイルFctの属性が、先の図22の処理によって設定した属性となるようにPC側管理情報30bを更新する。これによってHDD30上に保持されている各コンテンツファイルFctが適正に「同期用」と「全コンテンツ保存用」の別で管理されるようにすることができる。
5.第5の実施の形態
5−1.第5の実施の形態としてのバックアップ処理
第5の実施の形態は、第4の実施の形態で説明した同期&全コンテンツ保存処理に加えて、任意時点の復元処理を行うようにされたものである。
この任意時点復元処理は、過去に行われた(同期&)全コンテンツ保存処理時のうち、任意の全コンテンツ保存処理時の同期状態を復元する処理である。
なお、第5の実施の形態としてもデジタルビデオカメラ1、パーソナルコンピュータ20の構成は第1の実施の形態の場合と同様となることからここでの改めての説明は省略する。但し、この場合も第1の実施の形態の同期処理とは異なる処理を実行するので、HDD30に格納されるバックアップ処理用プログラム30aの内容は変更される。
また、この第5の実施の形態においても差分情報生成用情報Rdyの生成動作自体は第1の実施の形態にて説明したものとほぼ同様(後述するように前回バックアップ時の相違検出用情報リストLDd-psを生成するにあたって参照すべきインデックスファイルFindexが選択可能となる点は異なる)となるので、ここでの図示による説明は行わない。
図23は、第5の実施の形態のバックアップ処理(同期&全コンテンツ保存&任意時点復元)について模式的に示した図である。この図23においても先の図7、図14、図17、図20と同様に、図23(a)ではデジタルビデオカメラ1におけるHDD14上に記録されるインデックスファイルFindex、コンテンツファイルFctについて、時間軸tに沿った状態遷移を示し、図23(b)ではパーソナルコンピュータ20におけるHDD30上に記録されるインデックスファイルFindex、コンテンツファイルFct、及びPC側管理情報30bについて同じく時間軸tに沿った状態遷移を示している。
先ず、この図23の時点t1〜時点t6と、先の図20に示した時点t1〜時点t6とを比較してわかるように、この場合の同期&全コンテンツ保存処理では、第4の実施の形態の場合の同期&全コンテンツ保存処理とは異なり、各同期&全コンテンツ保存処理時でデジタルビデオカメラ1側から保存したインデックスファイルFindexを引き続き保存し続けることに特徴がある。
これは、任意の同期&全コンテンツ保存処理時点でのコンテンツファイル格納状態を復元できるようにするためである。つまり、任意の同期&全コンテンツ保存処理時の同期状態は、その同期&全コンテンツ保存処理時においてデジタルビデオカメラ1側から転送させてPC20側で保存したインデックスファイルFindexの内容によって把握することができる。従ってこの場合は、同期&全コンテンツ保存処理の過程でデジタルビデオカメラ1側から転送させ保存されるインデックスファイルFindexを、PC20側でその同期&全コンテンツ保存処理時点に対応づけて保存するようにされている。
なお、図23において、このように各同期&全コンテンツ保存処理時点に対応づけてそれぞれの時点でのインデックスファイルFindexを保存する以外は、時点t1〜時点t6におけるデジタルビデオカメラ1側・PC20側の双方でのファイル格納状態の遷移は、先の図20の時点t1〜時点t6の遷移と同様となるので、ここでの改めての説明は省略する。
そして、時点t6におけるコンテンツファイル「C」のコンテンツファイル「C'」への更新が行われ、デジタルビデオカメラ1側でのコンテンツファイル格納状態が「A」「C'」「D」、インデックスファイルFindexの情報内容が「4」とされた状態から、次の時点t7において、任意時点復元指示が行われたとする。
なお、この場合も復元指示は、例えばユーザ操作などに応じて行われるものであるとする。そして、この場合の復元指示としては、任意時点の復元指示であるので、復元対象の時点についての選択も合わせて行われるものとする。この復元対象時点の選択についても例えばユーザ操作に応じて行われるとする。
ここでは図示するように、復元対象時点としてはインデックスファイルFindexの情報内容「2」の時点(すなわち時点t3)を指定した復元指示が為されたとする。
このような任意時点復元指示に応じては、先ずはPC20側に保持されるインデックスファイルFindexのうちから、指定された復元対象時点と対応付けられているインデックスファイルFindexを取得し、このインデックスファイルFindexとデジタルビデオカメラ1側にて保持されるインデックスファイルFindexの内容を突き合わせて差分情報リストLSBを生成する。
つまりこの場合は、時点t3と対応づけられて保持されるインデックスファイル「2」と、デジタルビデオカメラ1側にて保持されるインデックスファイル「4」とを比較した結果に基づき差分情報リストLSBを生成するようにされる。
この場合に生成される差分情報リストLSBでは、コンテンツファイル「B」について「コンテンツ削除」、コンテンツファイル「C」「C'」について「コンテンツ更新」を示す情報が得られる。
この場合も「コンテンツ削除」に応じては、第2の実施の形態の復元処理の場合と同様に、「前回エントリID」により特定されるコンテンツファイルFct(つまりこの場合はコンテンツファイル「B」である)をPC20側からデジタルビデオカメラ1側に転送してこれをHDD14に記録させる。
また、「コンテンツ更新」に応じては、これも第2の実施の形態の場合と同様に、「前回エントリID」により特定されるコンテンツファイルFct(つまりコンテンツファイル「C」)をPC20側からデジタルビデオカメラ1側に転送して記録させ、さらに「今回エントリID」により特定されるコンテンツファイルFct(コンテンツファイル「C'」)をデジタルビデオカメラ1側において削除させる。
これによって図23(a)時点t7に示されるように、デジタルビデオカメラ1側のコンテンツファイル格納状態は、時点t3における格納状態に復元されるものとなる。
さらに、デジタルビデオカメラ1側のインデックスファイルFindexの内容がこの復元状態に応じた内容となるように、復元対象時点に指定された時点のインデックスファイルFindex(つまりインデックスファイル「2」)をPC20側からデジタルビデオカメラ1側に転送して、デジタルビデオカメラ1側にて保持されているインデックスファイルFindex(「4」)をこのインデックスファイルFindex(「2」)に置き換えるようにされる。
また、この一方でPC20側においては、復元処理によって変化されてしまったデジタルビデオカメラ1側でのコンテンツファイル格納状態に応じて、HDD30上での「同期用/全コンテンツ保存用の管理状態を更新する必要がある。
すなわち、この場合はPC20側でそれまで「全コンテンツ保存用」で管理されていたコンテンツファイル「B」が、デジタルビデオカメラ1側にて復元されたので、これに応じ当該コンテンツファイル「B」が「同期用」として管理されるようにPC側管理情報30bを更新するようにされる。
このようにこの場合における復元処理では、「コンテンツ削除」とされたコンテンツファイルFctについては、デジタルビデオカメラ1側にてこれが復元されることに応じ「同期用」として管理されるべきファイルとなる。従ってこの場合のPC20側では、「コンテンツ削除」とされたコンテンツファイルFctについてはそれまでの「全コンテンツ保存用」から「同期用」として管理されるように、PC側管理情報30bを更新するようにされる(図中情報内容M2)。
なお、この場合の「コンテンツ削除」が判別されたコンテンツファイル「B」については、既にそのデジタルビデオカメラ1側での削除が行われてから同期&全コンテンツ保存処理が行われ、そのことがPC20側に反映されているので、その属性が「全コンテンツ保存用」とされる場合を例示しているが、例えば仮に時点t6〜t7の間においてデジタルビデオカメラ1側でコンテンツファイル「D」が削除されるなど、復元指示が行われた時点から見て前回のバックアップ時からの間で削除されたコンテンツファイルFctについては、その削除がPC20側で反映されておらず、従ってそのコンテンツファイルFctの属性は「同期用」のままとなっている。すなわち、このような場合には、復元処理に応じてデジタルビデオカメラ1側にてそのコンテンツファイルFctが復元された場合にも、敢えて「同期用」に設定する必要はないことになる。
但し、上記のように「全コンテンツ保存用」から「同期用」に設定し直さなければならないケースを考えると、このように「コンテンツ削除」とされたコンテンツファイルFctについては、その属性は「同期用」に設定することが適切となる。つまり、このように「コンテンツ削除」とされたコンテンツファイルFctについては、「同期用」として管理されるようにPC側管理情報30bを更新する。
また、「コンテンツ更新」が判別された場合も、更新前のコンテンツファイルFctについては、このように「コンテンツ削除」とされたコンテンツファイルFctと同様にデジタルビデオカメラ1側に転送され記録されることになる(図中コンテンツファイル「C」の移動)。このことによると、「コンテンツ更新」が判別された場合の更新前のコンテンツファイルFct(つまり「前回エントリID」により特定されるコンテンツファイルFct)についても、同様にPC20側において「同期用」として管理されるように更新する必要があることになる。但し、この図23の例のように、コンテンツファイル「C」の「C'」への更新がPC20側に反映されていない場合には、コンテンツファイル「C」は前回の同期&全コンテンツ保存処理時において「同期用」として管理されているので、敢えて「同期用」に更新する必要はないと考えられる。
しかしながら、このコンテンツファイル「C'」への更新がPC20側に反映された以降の任意時点復元処理であったと仮定すると(例えば図20時点t7の同期&全コンテンツ保存処理後に同様の任意時点復元処理が行われた場合、更新前のコンテンツファイル「C」は「全コンテンツ保存用」として管理されている)、更新前のコンテンツファイルFctについて「同期用」への更新を行わないとすると、実際は「同期用」であるべきものが引き続き「全コンテンツ保存用」として管理されるものとなってしまう。
このようなことを考慮し、ここでは「コンテンツ更新」が判別された場合の更新前のコンテンツファイルFct(つまり「前回エントリID」により特定されるコンテンツファイルFct)についても、PC20側において「同期用」として管理されるように管理情報30bの更新を行うものとする。
また、「コンテンツ更新」が判別された場合の更新後のコンテンツファイルFct(つまり「今回エントリID」により特定されるコンテンツファイルFct)については、例えば図23の例のようにコンテンツファイル「C'」への更新がPC20側に反映されていない場合には、PC20側にこのコンテンツファイル「C'」が格納されていないものとなるので、同期用/全コンテンツ保存用の管理について特段の処理は不要である。
但し、この場合としても、上述したようにこのコンテンツファイル「C'」への更新がPC20側に反映された以降の任意時点復元処理であったと仮定すると、このコンテンツファイル「C'」はPC20側において「同期用」として管理されていることになる。従って「コンテンツ更新」が判別された場合における、更新後のコンテンツファイルFctについては、これがPC20側に保持されている場合には、その属性をそれまでの「同期用」から「全コンテンツ保存用」に変更する必要がでてくる。すなわち、このことから、「コンテンツ更新」が判別された場合における、更新後のコンテンツファイルFctについては、これがPC20側に保持されている場合には「全コンテンツ保存用」として管理されるようにPC側管理情報30bを更新するものとする。
ここで、この図23では図示はしなかったが、差分タイプが「コンテンツ追加」であった場合は、第2の実施の形態の場合と同様に、デジタルビデオカメラ1側で追加されたコンテンツファイルFct(「今回エントリID」により特定されるコンテンツファイルFct)をデジタルビデオカメラ1側で削除させるようにすればよい。
そして、この「コンテンツ追加」とされたコンテンツファイルFctについての同期用/全コンテンツ保存用の管理についても、復元対象時点後に追加されたコンテンツファイルFctが、復元処理が行われる以前にPC20側でバックアップされていない場合と、バックアップされた場合とで異なるものとなる。
前者の場合としては、例えば図23における時点t6〜t7の間で、例えば図示されないコンテンツファイル「E」が追加された場合が挙げられる。その場合、時点t7の任意時点復元指示が行われた時点で、当該コンテンツファイル「E」はPC20側でバックアップされていないものとなる。このように復元対象時点後に追加され、復元処理が行われる以前においてPC20側でバックアップされていないコンテンツファイルFctについては、特段の処理は不要となることがわかる。
しかし、後者の場合、すなわち例えば時点t4〜t5の間でコンテンツファイル「E」が追加された場合には、時点t5のバックアップ時点で当該コンテンツファイル「E」が「同期用」としてPC20側で保持されることになるが、その場合、時点t7の任意時点復元処理で時点t3の状態への復元が行われると、このコンテンツファイル「E」は、「全コンテンツ保存用」として管理されるべきとなることがわかる。従って、このように復元対象時点後に追加され、且つ復元処理が行われる以前においてPC20側でバックアップが行われたコンテンツファイルFctについては、それまでの「同期用」から「全コンテンツ保存用」へと変更されるように、PC側管理情報30bを更新する。
なお、この任意時点復元処理における差分タイプ=「エントリ更新」の取り扱いについては、先の第2の実施の形態で説明した復元処理の場合に準ずるものとする。
このようにして第5の実施の形態によれば、過去に行われた同期&全コンテンツ保存処理時のうち、任意の同期&全コンテンツ保存処理時点での同期状態を復元することができる。また、これと共にPC20側では、このような復元処理が行われた場合にも、デジタルビデオカメラ1側と同期しているコンテンツファイルFctと全コンテンツ保存処理に伴って保存される同期用以外のコンテンツファイルFctとを別々に管理することができる。 また、この場合としても実際に転送を行うのは差分のファイルのみとすることができ、この点で任意時点復元処理をより高速化することができる。また、転送すべきコンテンツファイルFctが減ることで、処理負担についても軽減することができる。
また、この場合としても差分情報SBは復元対象時点のインデックスファイルFindexと今回バックアップ時のインデックスファイルFindex同士の内容を突き合わせて生成するので、その分高速に差分情報SBを取得することができ、従ってこの点でも任意時点復元処理としては高速化が図られている。
さらには、この場合もコンテンツ更新日時などのファイル識別子以外の他のファイル関連情報もエントリされるインデックスファイルFindex同士の内容を比較して差分情報SBを取得するので、「コンテンツ更新」や「エントリ更新」などコンテンツの追加/削除以外の他の差分タイプについても管理情報同士を比較するのみで取得することができ、コンテンツの追加/削除以外の差分のタイプに応じた処理(この場合では「コンテンツ更新」とされたファイルについての復元処理)についても高速化が図られている。
5−2.処理動作
図24〜図26は、上記説明による第5の実施の形態としての動作(同期&全コンテンツ保存&任意時点復元)を実現するために行われるべき処理動作について示したフローチャートである。
これらの図において、図24は、同期&全コンテンツ保存処理(任意時点復元用)について示し、図25は任意時点復元処理について示している。また、図26は、図25に示すステップS1105における差分ファイル群処理(任意時点復元)の処理内容について示している。
なお、これらの図に示される処理動作としても、CPU21がバックアップ処理用プログラム30aに基づいて実行するものである。
また、この場合としても処理動作はパーソナルコンピュータ20側のみについて示しているが、この場合のデジタルビデオカメラ1側の処理動作としては、第2の実施の形態の場合と同様、差分情報生成用情報Rydの生成のためにPC20側からの要求に応じてインデックスファイルFindexを転送する処理、PC20側から転送されたコンテンツファイルFct・インデックスファイルFindexの保存(又は上書き保存)処理、及びPC20側からの削除要求に応じたコンテンツファイルFctの削除処理のみとなるので、ここでの図示による説明は省略する。
また、図24、図25としても、前提として既にデジタルビデオカメラ1とパーソナルコンピュータ20とがデータ通信可能に接続されている状態にあるとする。
先ず図24において、この場合の同期&全コンテンツ保存処理の全体的な流れとしても、先の図21に示した同期&全コンテンツ保存処理と同様となる。すなわち、図24におけるステップS1006以外のステップS1001〜S1010の処理動作は、先の図21に示したステップS806以外のステップS801〜810と同様の処理となるので説明は省略する。
つまりは、図24と先の図21とではこれらステップS1006とステップS806とが相違するもので、従ってここではステップS1006のみについて説明を行う。
ステップS1006では、ビデオカメラ側が持つインデックスファイルを今回の同期時点と対応づけて保存する処理を行う。すなわち、先に述べたようにして任意の同期&全コンテンツ保存処理時点でのコンテンツファイル格納状態を復元できるようにするために、図示するステップS1003にてデジタルビデオカメラ1側から転送させ一時保持されるインデックスファイルFindexを、今回の同期&全コンテンツ保存処理時点に対応づけて保存するようにされている。このインデックスファイルFindexの保存先は例えばHDD30などとすることができる。
続いて、図25を参照して任意時点復元時に対応して行われるべき処理動作について説明する。
なお、この図25においては、既に図24に示した同期&全コンテンツ保存処理が行われた状態にあることを前提とする。
先ず、ステップS1101では、復元指示を待機する。そして復元指示があったとして肯定結果が得られたときは、ステップS1102において、復元対象のバックアップ時点を選択するための処理を行う。
この場合、上記ステップS1101における復元指示としては、先の第4の実施の形態の場合と同様の指示であるとする。つまり、ここでは復元指示が行われたことに応じ、上記ステップS1102において、例えば過去におけるバックアップ時点(この場合は同期&全コンテンツ保存処理時点)を選択させるための画面表示を行うようにされ、この画面上においてユーザ操作によりバックアップ時点を選択させる。
ステップS1102において復元対象のバックアップ時点が選択されたとき、先の図23にて述べた意味での任意時点復元指示が発生したことになる。
ステップS1103では、差分情報生成用情報を生成するための処理を実行する。
この場合の差分情報生成用情報Rdyについては、基本的にはこれまでのものと同様にデジタルビデオカメラ1側から転送させ一時保持したインデックスファイルFindexと、既にPC20側に保持されている過去のバックアップ時点のインデックスファイルFindexとに基づき生成するが、ここではPC20側において過去のバックアップ時点と対応付けて保持されているインデックスファイルFindexのうちの上記ステップS1102にて選択されたバックアップ時点と対応づけられているインデックスファイルFindexについて、前回バックアップ時の相違検出用情報リストLDd-psを生成するようにして差分情報生成用情報Rdyを生成するようにされる。
ステップS1104では、差分情報を生成するための処理を実行する。このステップS1104の処理内容は、前回バックアップ時の相違検出用情報リストLDd-psが、上記のようにして復元対象として選択されたバックアップ時点のインデックスファイルFindexに基づき生成されたものであること以外は、先の図12にて説明したものと同様となるので説明は省略する。
ステップS1105では、差分ファイル群処理(任意時点復元)を実行する。
ステップS1105の処理内容は、次の図26に示される。
図26において、この差分ファイル群処理(任意時点復元)としても、基本的には復元処理であり、上述のように前回バックアップ時の相違検出用情報リストLDd-psが選択されたバックアップ時点でのインデックスファイルFindexに基づき生成されたものとなる以外は、先の第2の実施の形態で説明した図16の差分ファイル群処理(前回同期時状態の復元)と同様の処理となる(ステップS1201〜S1204はステップS501〜S504、ステップS1205はステップS505、ステップS1207・S1208はステップS506・S507、ステップS1211はステップS508、ステップS1213はステップS509にそれぞれ対応)。
但し、先の図23の説明からも理解されるように、第5の実施の形態ではデジタルビデオカメラ1側と同期しているファイルを「同期用」とし、それ以外のファイルは「全コンテンツ保存用」として管理する関係から、復元処理により変化されるデジタルビデオカメラ1側のコンテンツファイル格納状態に応じ、PC20側で保存されるコンテンツファイルFctの同期用/全コンテンツ保存用の属性変更を行うための処理が追加となる(ステップS1206、ステップS1209、ステップS1210、ステップS1212)。
先ず、「コンテンツ追加」が判別された場合、そのコンテンツファイルFctは、選択された復元対象時点には存在せず、任意時点復元指示が為されるまでの間にデジタルビデオカメラ1側で追加されたことを示しているので、ステップS1205に示されるようにデジタルビデオカメラ1側への削除要求を行うようにされる。
但し先にも述べたように、同期用/全コンテンツ保存用の管理の面では、この「コンテンツ追加」とされたコンテンツファイルFctについては、既にPC20側にバックアップされたものであると、それまでの「同期用」から「全コンテンツ保存用」に属性変更を行う必要がある。
従って次のステップS1206では、「今回エントリID」のエントリに相当するコンテンツファイルを既にバックアップしている場合は、そのファイルの属性を「全コンテンツ保存用」に設定するための処理を行うようにされる。
また、「コンテンツ更新」が判別された場合は、先にも述べたようにPC20側にて保持される更新前のコンテンツファイルFct(つまり「前回エントリID」により特定されるコンテンツファイルFct)については、その属性を「同期用」に設定すべきものとなる。
また、更新後のコンテンツファイルFct(「今回エントリID」により特定されるコンテンツファイルFct)については、上記「コンテンツ追加」の場合と同様に、そのファイルが既にPC20側にバックアップされたものであると、それまでの「同期用」から「全コンテンツ保存用」に属性変更を行う必要がある。
従ってステップS1207・S1208にてこの「コンテンツ更新」に応じた実際のコンテンツファイルFctの格納状態を変更させるための処理が行われた後には、先ずステップS1209において、「前回エントリID」のエントリに相当するコンテンツファイルの属性を「同期用」に設定するための処理を行うようにされる。
さらに、続くステップS1210においては、「今回エントリID」のエントリに相当するコンテンツファイルを既にバックアップしている場合は、そのファイルの属性を「全コンテンツ保存用」に設定するための処理を行うようにされる。
さらに、「コンテンツ削除」が判別された場合としても、PC20側で保持されるコンテンツファイルFctの属性は「同期用」に設定されるべきものとなる。従って、ステップS1211にてこの「コンテンツ削除」に応じた実際のコンテンツファイルFctの格納状態を変更させるための処理が行われた後には、ステップS1212において、「前回エントリID」のエントリに相当するコンテンツファイルの属性を「同期用」に設定するための処理を行うようにされる。
なお、先にも述べたように差分タイプとして「エントリ更新」が判別された場合の取り扱いについては、先の第2の実施の形態で説明した復元処理の場合に準ずるものとする。
そして、この場合もステップS1202においてポインタ値kがリストアップ数と一致したとして肯定結果が得られた場合は、この図に示す処理動作を終了するようにされる。
その後、この場合は先の図25のステップS1106に処理を進めるようにされる。
図25に戻り、上記ステップS1106では、ビデオカメラ側のインデックスファイルを復元対象のインデックスファイルに置き換えるための処理を実行する。つまり、ステップS1102にて選択された復元対象時点と対応づけられて保持されるインデックスファイルFindexをデジタルビデオカメラ1側に転送し、これをHDD14に保持されるインデックスファイルFindexに上書き保存するように指示を行う。
そして、続くステップS1107において、同期用/全コンテンツ保存用の別でコンテンツファイルが管理されるようにPC側管理情報を更新するための処理を実行する。つまり、PC20側において現在HDD30上に保持されている各コンテンツファイルFctの属性が、先の図23の処理によって設定した属性となるようにPC側管理情報30bを更新する。これにより、当該任意時点復元処理が行われる場合としても、HDD30上に保持されている各コンテンツファイルFctが適正に「同期用」と「全コンテンツ保存用」の別で管理されるようにすることができる。
なお、これまでで説明した任意時点復元処理では、それが行われる時点におけるデジタルビデオカメラ1側のファイル格納状態をPC20側に反映させないものとしたが、図25にて説明した任意時点復元処理を実行する前に、図24に示した同期&全コンテンツ保存処理を行うように構成すれば、この任意時点復元処理から見た前回バックアップ時からの間にデジタルビデオカメラ1側にて変更されたコンテンツファイル格納状態をPC20側に反映させるようにすることもできる。
ここで、これまでで説明した任意時点復元処理を行うにあたっては、前提として、既に過去においてデジタルビデオカメラ1とPC20側とが接続されてバックアップ処理が行われていることが必要となるが、このバックアップ処理として、例えば仮に全コンテンツ保存処理でなく同期処理を行ってしまうと、任意時点でのインデックスファイルFindex自体は取得できるが、そのインデックスファイルFindexが指し示すコンテンツファイルFctが存在しないケースが生じうる。つまり、その任意時点の次の同期処理によって、該当するコンテンツファイルFctがHDD30上から削除されてしまう可能性があるからである。この意味で、任意時点復元処理を行う場合には、バックアップ処理としては全コンテンツ保存処理が行われることが前提となる。
このことを踏まえると、第5の実施の形態のような任意時点復元処理を行う場合においては、ここで例示した同期&全コンテンツ保存処理との組み合わせと、先の第3の実施の形態で説明した全コンテンツ保存処理との組み合わせのみが可能となる(当然のことながらその場合も各バックアップ時点と対応づけてインデックスファイルFindexを保存する処理は必要となる)。
また、任意時点復元処理が行われた場合、デジタルビデオカメラ1側にて復元されたコンテンツファイルFctの(ディレクトリ構造上の)格納位置は、必ずしも同じ位置になるとは限らない。
その一方で、任意時点復元処理によりデジタルビデオカメラ1側で置き換えられるインデックスファイルFindexとしては、当然のことながら復元対象時点でのファイル格納状態を反映しているものであるので、このことに伴っては、復元処理によってデジタルビデオカメラ1側で復元されたコンテンツファイルFctの格納位置が、同じく復元処理によって置き換えられたインデックスファイルFindex内のファイルパスC7が指し示す位置と一致しなくなってしまう虞がある。
つまり、これによると、デジタルビデオカメラ1側においては、新たに置き換えられたインデックスファイルFindex内のファイルパスC7の情報を参照しても、復元されたコンテンツファイルFctにアクセスすることができなくなってしまう可能性がある。
但し、デジタルビデオカメラ1では、PC20側から転送された復元されるべきコンテンツファイルFctを自らがHDD14に記録するようにされるので、そのコンテンツファイルFctへのパスの情報は把握することができる。従って、PC20側から置き換えられたインデックスファイルFindex内の該当するコンテンツファイルFctのエントリデータ内のファイルパスC7を、このようにして把握されるファイルパスの情報に基づき更新すれば、その後も各コンテンツファイルFctをファイルパスC7を参照することで適正に特定することができるようになる。
或いは、インデックスファイルFindexとしては、コンテンツIDによっても各コンテンツファイルFctを特定することができるようにされている。従って任意時点復元処理が行われた以降は、インデックスファイルFindex内のコンテンツIDによって各コンテンツファイルFctを特定するように変更することによっても、上記のような問題は回避することができる。
なお、第5の実施の形態の任意時点復元処理が行われる場合において、コンテンツIDを後述するレコーディングオーダーで実現している場合は、復元処理後、新たに作成(追加)されるコンテンツファイルFctに割り振られるレコーディングオーダーが、復元対象時点から復元処理が行われるまでに割り振られたレコーディングオーダーと重複しないようにするための処理が別途必要となる。
なお、これまでの実施の形態のようにコンテンツIDをファイルパスとファイル更新日時との組で実現している場合にはそのような処理は不要である。
6.第6の実施の形態
6−1.第6の実施の形態としてのバックアップ処理
第6の実施の形態は、先の第3の実施の形態の場合と同様に、バックアップ処理として全コンテンツ保存処理を行うものであるが、その手法が異なるものである。具体的には、より簡易な手法によって全コンテンツ保存処理を実現するものである。
なお、第6の実施の形態としてもデジタルビデオカメラ1、パーソナルコンピュータ20の構成は第1の実施の形態の場合と同様となることからここでの改めての説明は省略する。但し、この場合も第1の実施の形態の同期処理とは異なる処理を実行するので、HDD30に格納されるバックアップ処理用プログラム30aの内容は変更される。
図27は、第6の実施の形態のバックアップ処理(簡易版全コンテンツ保存)について模式的に示した図である。この図27においても先の図7、図14、図17、図20、図23と同様に、図27(a)ではデジタルビデオカメラ1におけるHDD14上に記録されるインデックスファイルFindex、コンテンツファイルFctについて、時間軸tに沿った状態遷移を示し、図27(b)ではパーソナルコンピュータ20におけるHDD30上に記録されるインデックスファイルFindex、コンテンツファイルFct、及びPC側管理情報30bについて同じく時間軸tに沿った状態遷移を示している。
先ず、この図27と、先の第3の実施の形態で説明した図17とを比較してわかるように、この場合も時点t1〜時点t7にかけてのデジタルビデオカメラ1側のコンテンツファイルFctの格納状態の遷移とそれに応じたインデックスファイルFindexの情報内容の遷移、及びPC20側におけるコンテンツファイルFctの格納状態の遷移は、図17の時点t1〜時点t7にかけての遷移と同様であり、その説明は省略する。
第3の実施の形態の場合の全コンテンツ保存処理と第6の実施の形態の場合の全コンテンツ保存処理との相違点は、差分の検出にあたり、前回と今回のインデックスファイルFindex同士の比較を行うのではなく、コンテンツIDのみを比較するようにしたことである。
ここで、第6の実施の形態の場合、先の図6に示したようなインデックスファイルFindex内に格納される各管理ファイルスロットSm(エントリデータ)内のコンテンツIDC5として、そのエントリデータに対応づけられるコンテンツファイルFctの記録された順序を示すレコーディングオーダーと称する情報を格納するようにされる(記録順序情報)。
つまり、この場合のデジタルビデオカメラ1では、HDD14上に新たにコンテンツファイルFctが作成されるごとにその値をインクリメントするようにして上記レコーディングオーダーを生成し、このレコーディングオーダーを、このコンテンツファイルFctの作成に応じてインデックスファイルFindex内にエントリされるエントリデータ内のコンテンツIDC5として格納するようにされている。
このようにして各コンテンツファイルFctに対応づけられるレコーディングオーダーの情報を用い、差分情報を検出するようにされるのであるが、「全コンテンツ保存」の場合、デジタルビデオカメラ1側にて前回バックアップ時から今回バックアップ時の間にかけて追加されたコンテンツファイルFctのみが特定されればよい。
このようにして前回から今回にかけてデジタルビデオカメラ1側で追加されたコンテンツファイルFctを把握するために、第6の実施の形態では、デジタルビデオカメラ1とPC20側とが接続されてバックアップ処理(全コンテンツ保存処理)が行われるごとに、デジタルビデオカメラ1側にて最後に記録されたコンテンツファイルFctのレコーディングオーダー、すなわち最も値の大きなレコーディングオーダー(以下最終レコーディングオーダーと称する)を保持しておくようにしている。つまり、これによって次回のバックアップ時における、前回バックアップ時の最終レコーディングオーダーを保持しておくことができる。
その上で、次回のバックアップ時においては、この前回バックアップ時における最終レコーディングオーダーと、デジタルビデオカメラ1側で保持されるインデックスファイルFindex内に格納されている各コンテンツファイルFctのレコーディングオーダーとを比較すれば、上記最終レコーディングオーダーよりも値の大きなレコーディングオーダーを有するコンテンツファイルFctが、前回から今回の間に追加されたコンテンツファイルFctであることを把握することができる。
なお、このような動作によれば、この場合においてPC20側で保持する最終レコーディングオーダーの情報は、差分情報(つまりこの場合は「コンテンツ追加」のみ)を検出するための情報として機能することが理解できる。その意味で、この図27においては、当該最終レコーディングオーダーを、差分情報検出用情報であるとして示している(図中差分情報検出用情報:最終レコーディングオーダー)。
図27において、具体的にこの場合の動作について説明すると、時点t1の初回の全コンテンツ保存処理では、デジタルビデオカメラ1側で保持されるコンテンツファイルFctは「A」「B」「C」の3つであるので、最終レコーディングオーダーは例えば「3」である。この場合のPC20側では、図示するようにこれらコンテンツファイル「A」「B」「C」を転送させ保存した上で、このレコーディングオーダー「3」のみを保持するようにされる(図中「X」)。すなわち、この場合のPC20としては、これまでの実施の形態のようにデジタルビデオカメラ1側にて保持されるインデックスファイルFindexを転送させ保存する必要はないものである。
そして、時点t2にてデジタルビデオカメラ1側でコンテンツファイル「D」が追加された後の、時点t3における全コンテンツ保存処理では、時点t1の全コンテンツ保存処理時に保存した最終レコーディングオーダーの値と、この時点t2にてデジタルビデオカメラ1側が保持しているインデックスファイルFindex内の各コンテンツファイルFctのレコーディングオーダーの値(コンテンツIDC5の値)とを比較し、最終レコーディングオーダーよりも値の大きなレコーディングオーダーが対応づけられたコンテンツファイルFctを特定する。
すなわち、この場合のデジタルビデオカメラ1側におけるインデックスファイルFindex内の各コンテンツファイルFctについてのレコーディングオーダーは、コンテンツファイル「A」「B」「C」「D」がそれぞれ「1」「2」「3」「4」であり、最終レコーディングオーダー「3」よりも大きなレコーディングオーダー「4」が対応づけられたコンテンツファイル「D」が、前回から追加されたコンテンツファイルFctとして特定される。
ここで、第6の実施の形態の場合、このように最終レコーディングオーダーよりも値が大きく、前回から追加されたコンテンツファイルFctを特定するための情報を、次の図28に示すように、簡易差分情報リストLSB-eにリストアップするようにされる。
この場合の例では、最終レコーディングオーダーよりも値が大きかったコンテンツファイルFctを特定するための情報として、そのファイルパスC7をリストアップするようにしている。
なお、上記コンテンツファイルFctを特定するための情報としては、このようなファイルパスC7の代わりにコンテンツIDC5をリストアップすることもできる。
図27に戻り、このような簡易差分情報リストLSB-eにより前回から追加されたコンテンツファイルFctが特定されると、PC20は、そのコンテンツファイルFctを転送するようにデジタルビデオカメラ1側に転送要求を行う。つまりこの場合はコンテンツファイル「D」についての転送要求を行うようにされる。そして、転送されたコンテンツファイルFct(「D」)をHDD30に保存するようにされる。
さらに、この場合もPC20は、デジタルビデオカメラ1側にて保持されるインデックスファイルFindexの内容に基づき、最も値の大きなレコーディングオーダー(つまりこの場合は「4」である)を最終レコーディングオーダー(差分情報検出用情報)として保存しておくようにされる(図中「Y」)。
また、時点t4にてコンテンツファイル「B」が削除された後の、時点t5の全コンテンツ保存処理では、図示するようにしてデジタルビデオカメラ1側からPC20側へのコンテンツファイルFctの移動は行われない。すなわち、この場合には最終レコーディングオーダー「4」よりも大きなレコーディングオーダーを有するコンテンツファイルFctがデジタルビデオカメラ1側にて存在しないため、簡易差分情報リストLSB-eは空となり、従ってデジタルビデオカメラ1側への転送要求は行われない。
この場合PC20は、デジタルビデオカメラ1側から転送させたインデックスファイルFindexに基づき、最終レコーディングオーダー「4」を保存するようにされる(図中「Y」)。
また、時点t6にてコンテンツファイル「C」が「C'」に更新された後における、時点t7の全コンテンツ保存処理としては、デジタルビデオカメラ1側でのレコーディングオーダーの付与の仕方で以下のような2通りの動作が考えられる。
先ず、第1としては、デジタルビデオカメラ1側で更新後のコンテンツファイルFctに対して新たなレコーディングオーダーを付与するようにされている場合である。
その場合は、図示するように更新後のコンテンツファイル「C'」のレコーディングオーダーが「5」とされることになり、PC20側で保持される最終レコーディングオーダー「4」よりも大きな値となって、簡易差分情報リストLSB-eにこのコンテンツファイル「C'」のファイルパスC7が追加される。そして、この簡易差分情報リストLSB-eに基づき、当該コンテンツファイル「C'」をデジタルビデオカメラ1側から転送させこれをHDD30に保存するようにされる。
さらに、この場合もPC20はデジタルビデオカメラ1側にて保持されるインデックスファイルFindexに基づき、最も値の大きなレコーディングオーダー(「5」)を最終レコーディングオーダー(差分情報検出用情報)として保存しておくようにされる(図中「Z」)。
一方、図示は省略しているが、デジタルビデオカメラ1側にて更新後のコンテンツファイルFctについて新たなレコーディングオーダーを付与しないようにされている場合には、引き続き最終レコーディングオーダー「4」よりも大きな値を有するコンテンツファイルFctは存在しないものとなり、従ってPC20側におけるコンテンツファイルFctの格納状態は、時点t5の状態から変化しないものとなる。また最終レコーディングオーダーとしても引き続き「4」のままとなる。
ここでは、上記第1として説明したように、デジタルビデオカメラ1側にて更新後のコンテンツファイルFctに新たなレコーディングオーダーが付与されるものとして以下の説明を続ける。
上記説明による簡易版全コンテンツ保存処理によれば、第3の実施の形態の場合と同様に、過去にPC20側への保存対象とされたコンテンツファイルFctについては、これらを全てPC20側において保存しておくようにすることができる。
また、この場合としても実際に転送を行うのは差分のファイルのみとすることができ、全コンテンツを上書きコピーして実現する場合と比較すれば全コンテンツ保存処理をより高速化することができる。また、このように転送すべきコンテンツファイルFctが減ることで、処理負担についても軽減することができる。
また、特にこの場合の簡易版全コンテンツ保存処理によれば、差分情報の生成にあたってはレコーディングオーダー(記録順序情報)のみについての比較を行えばよく、先の第3の実施の形態のように前回/今回バックアップ時のインデックスファイルFindex同士の内容を突き合わせる場合よりも、さらに高速に差分情報を取得することができ、従ってこの点で全コンテンツ保存処理をさらに高速化できる。
6−2.処理動作
図29〜図31は、上記説明による簡易版全コンテンツ保存の動作を実現するための処理動作について示している。
これらの図において、図29は簡易版全コンテンツ保存処理の全体的な流れについて示している。また、図30は、図29のステップS1304としての簡易差分情報リスト生成処理の内容について示し、図31は、図29に示すステップS1305としての差分ファイル群処理(簡易版全コンテンツ保存)の処理内容について示している。
なお、これらの図に示される処理動作としても、CPU21がバックアップ処理用プログラム30aに基づいて実行するものである。
また、図29としても、前提として既にデジタルビデオカメラ1とパーソナルコンピュータ20とがデータ通信可能に接続されている状態にあるとする。
また、この場合としても処理動作はパーソナルコンピュータ20側のみについて示しているが、この場合のデジタルビデオカメラ1側としては、PC20側からの要求に応じコンテンツファイルFct・インデックスファイルFindexを転送する処理を行うことになる。また、これまでの説明からも理解されるように、この場合は前提として、デジタルビデオカメラ1側では、HDD14におけるコンテンツファイルFctの作成ごと(更新後のコンテンツファイルFctも含む)にレコーディングオーダーを生成し、これをインデックスファイルFindex内における対応するエントリデータ内のコンテンツIDC5として格納するようにされる。
先ず、図29において、ステップS1301では、全コンテンツ保存指示を待機する。
このステップS1301としては、先の図18に示した全コンテンツ保存処理の場合のステップS601と同様とされればよい。
そして、全コンテンツ保存指示があったとして肯定結果が得られた場合、ステップS1302において、最終レコーディングオーダーがバックアップされているか否かについて判別処理を行う。これは、先の図18のステップS602でインデックスファイルFindexが既にバックアップされているか否かを判別する処理と同様に、最終レコーディングオーダーがバックアップされているか否かを判別することで、既に過去において全コンテンツ保存処理が行われたか否かについて判別しているものである。
最終レコーディングオーダーがバックアップされておらず否定結果が得られた場合は、初回の全コンテンツ保存処理であり、その場合はステップS1307に進んで全コンテンツファイルの転送要求を行うと共に、続くステップS1308にて転送されたコンテンツファイルを保存するための処理を実行する。
その上で、この場合は次のステップS1309にて、最終レコーディングオーダーを保存するための処理を実行する。すなわち、このステップS1309としては、デジタルビデオカメラ1側に転送要求を行ってインデックスファイルFindexを転送させた上で、この転送されたインデックスファイルFindex内の各エントリデータ(各管理ファイルスロットSm)内のコンテンツIDC5(すなわちこの場合はレコーディングオーダーである)のうち、最も値の大きなレコーディングオーダーを最終レコーディングオーダーとして保存する。この最終レコーディングオーダーの保存先としても、例えばHDD30とされればよい。
ステップS1309にてレコーディングオーダーを保存すると、ステップS1310に進み、コンテンツファイルの格納状況に応じてPC側管理情報30bを更新する処理を実行する。つまり、この簡易版全コンテンツ保存処理においても、PC20側においてはHDD30に格納されるコンテンツファイルFctがPC側管理情報30bにより管理されるものである。
また、先のステップS1302において、最終レコーディングオーダーが保存されているとして肯定結果が得られた場合は、既に全コンテンツ保存処理が行われている場合であり、その場合はステップS1303に進み、先ずはビデオカメラ側のインデックスファイルを取得するための処理を実行する。すなわち、デジタルビデオカメラ1側に転送要求を行ってインデックスファイルFindexを転送させ、これを例えばメモリ部22などに一時保持する。
その上で、続くステップS1304では、簡易差分情報リスト生成処理を実行するようにされる。
図30は、上記ステップS1304としての簡易差分情報リスト生成処理の内容を示している。
図30において、先ずステップS1401では、バックアップした最終レコーディングオーダーを取得するようにされる。その上で次のステップS1402では、ポインタ値jを0リセットするようにされる。このポインタ値jは、先のステップS1303にてデジタルビデオカメラ1側から取得したインデックスファイルFindex内にエントリされる各エントリデータ(管理ファイルスロットSm)のうちから、対象とするエントリデータを指し示すためのポインタとしての役割を果たす。なお、この意味で、先に説明したような今回バックアップ時の相違検出用情報リストLDd-psについてのポインタ値jと同じ符号を付している。
続くステップS1403では、ポインタ値jが全コンテンツ数と一致したか否かについて判別処理を行う。すなわち、ポインタ値jが、取得したインデックスファイルFindex内にエントリされるエントリデータの数と一致したか否かについて判別処理を行う。
ポインタ値jが全コンテンツ数と一致してはいないとして否定結果が得られた場合は、未だ全てのエントリデータについて以下で説明する処理を行っていない場合であり、その場合は以下のステップS1404に続く処理を実行するようにされる。
先ず、ステップS1404では、j番目のコンテンツのエントリデータからレコーディングオーダーを取得する。すなわち、ポインタ値jにより指し示されるエントリデータ内のコンテンツIDC5(レコーディングオーダー)を取得する。
その上で、ステップS1405においては、このように取得したレコーディングオーダーの値がバックアップした最終レコーディングオーダーの値よりも大きいか否かについて判別処理を行う。最終レコーディングオーダーよりも値が大きい(つまり記録順として後となっている)として肯定結果が得られた場合は、ステップS1406において、j番目のコンテンツのエントリデータからファイルパスを取得するようにされる。つまりポインタ値jにより示されるエントリデータ内のファイルパスC7を取得するようにされる。そして続くステップS1407においては、簡易差分情報リストにファイルパスを追加するための処理を実行する。すなわち、取得されたファイルパスC7の情報を、先の図28にて説明した簡易差分情報リストLSB-eにリストアップするようにされる。
この簡易差分情報リストLSB-eとしては、例えばメモリ部22などに一時保持されるようにすればよい。
このようにステップS1407にてファイルパスを簡易差分情報リストに追加すると、続くステップS1408でポインタ値jをインクリメントした後、先のステップS1403に戻るようにされる。
一方、ステップS1405において、バックアップした最終レコーディングオーダーよりも値が小さい(つまり記録順として前となっている)として否定結果が得られた場合は、図示するようにしてステップS1408に進んでポインタ値jをインクリメントした後、先のステップS1403に戻るようにされる。すなわち、このように最終レコーディングオーダーよりも値の小さなレコーディングオーダーを有するコンテンツファイルFctは、PC20側に既に保存されているコンテンツファイルFctであるので、そのファイルパスC7の情報は簡易差分情報リストLSB-eに追加されないものとなる。
そして、ステップS1403において、ポインタ値jが全コンテンツ数と一致したとして肯定結果が得られた場合は、デジタルビデオカメラ1側から取得したインデックスファイルFindex内の全てのエントリデータについて最終レコーディングオーダーとの比較が完了し、簡易差分情報リストLSB-eの生成が完了したことになる。従ってこのようにステップS1403にて肯定結果が得られた場合は、先の図29に示すステップS1305に処理を進めるようにされる。
図31は、図29に示すステップS1305としての差分ファイル群処理(簡易版全コンテンツ保存)の内容を示している。
図31において、先ずステップS1501では、ポインタ値mを0リセットする。このポインタ値mは、簡易差分情報リストLSB-e内にリストアップされるファイルパスC7のうちから対象とするファイルパスC7を指し示すためのポインタとしての役割を果たす。
続くステップS1502では、ポインタ値mがリストアップ数と一致したか否かについて判別処理を行う。つまり、ポインタ値mが簡易差分情報リストLSB-e内のファイルパスC7のリストアップ数と一致したか否かについて判別するものである。
ステップS1502において、ポインタ値mが簡易差分情報リストLSB-e内のリストアップ数と一致していないとして否定結果が得られた場合は、リストアップされた全てのファイルパスC7(コンテンツファイルFct)について以下で説明する処理が行われていない状態であるので、その場合は以下のステップS1503に続く処理を行うようにされる。
先ず、ステップS1503では、m番目のファイルパスを取得する。すなわち簡易差分情報リストLSB-e内にてポインタ値mにより示されるファイルパスC7を取得する。
そしてステップS1504では、対象ファイルの転送要求を行う。つまり、取得したファイルパスC7により特定されるコンテンツファイルFctについての転送要求を、デジタルビデオカメラ1側に対して行う。
その上でステップS1505では、転送されたファイルを保存するための処理を実行する。これによってデジタルビデオカメラ1側にのみ保持されるコンテンツファイルFctを転送させてこれをPC20側で保存することができる。
このステップS1505の保存処理を実行すると、ステップS1506にてポインタ値mをインクリメントした後、先のステップS1502に戻るようにされる。このステップS1502にてポインタ値mがリストアップ数と一致したとして肯定結果が得られた場合は、簡易差分情報リストLSB-eにリストアップされる全てのファイルについて転送要求&保存処理が完了した場合であり、従ってその場合は、この図に示す差分情報ファイル群処理(簡易版全コンテンツ保存)を終了し、先の図29におけるステップS1306に処理を進める。
図29において、ステップS1306では、最終レコーディングオーダーを更新するための処理を実行する。つまり、先のステップS1303にてデジタルビデオカメラ1側から取得したインデックスファイルFindex内における各エントリデータ内のコンテンツIDを参照し、そのうちで最も値の大きいレコーディングオーダーを新たな最終レコーディングオーダーとして取得する。その上で、既に保存されている最終レコーディングオーダーの値を、この新たに取得した最終レコーディングオーダーの値に更新する処理を実行するものである。
このステップS1306における最終レコーディングオーダーの更新処理を実行すると、先に説明したステップS1310に進み、コンテンツファイルの格納状況に応じてPC側管理情報30bを更新する処理を実行するようにされる。
なお、以上の図29〜図30の説明から理解されるように、第6の実施の形態としても、差分情報リストを生成した上で逐次リストアップされるファイルごとに転送要求、転送ファイルの保存を行うようにしたが、この場合も差分情報リストは生成せずに差分のファイルを1つ特定するごとにそのファイルの転送要求&保存処理を行うようにすることもできる。
或いはこの場合においては、差分リストにリストアップされる全てのファイルについて一括して転送要求&保存処理を行うように構成することもできる。
また、第6の実施の形態では、記録順序情報をレコーディングオーダーで実現する場合を例示したが、これまでの各実施の形態で説明したファイルパスC7とファイル更新日時との組み合わせに依るコンテンツIDC5であっても記録順序情報として用いることができる。
7.第7の実施の形態
7−1.第7の実施の形態としてのバックアップ処理
上述したように、第6の実施の形態では、デジタルビデオカメラ1で記録されたコンテンツの記録順序を示すレコーディングオーダー(記録順序情報)を利用して、前回のバックアップ処理時から今回のバックアップ処理時の間に追加されたコンテンツファイルFctである未バックアップコンテンツファイルを検出する方法を示した。すなわち、最後にバックアップされたコンテンツファイルのレコーディングオーダー(すなわち、最終レコーディングオーダー)が差分情報検出用情報としてPC20側で保持され、次回に差分情報を検出する場合には、PC20側で保持されている最終レコーディングオーダーよりも大きいレコーディングオーダーの値を有するコンテンツファイルFctをデジタルビデオカメラ1側で探すことによって、未バックアップコンテンツファイルを検出することができる。
このように、第6の実施の形態で示したバックアップ処理方法は、(A)各コンテンツファイルFctについてレコーディングオーダーがユニークに付与されている場合や、(B)レコーディングオーダーが同じ値となっている複数のコンテンツファイルFctが存在する場合において、これらのコンテンツファイルFctが、必ずまとめてバックアップ処理される場合には、全コンテンツ保存処理を実現することができる。
ここで、複数のコンテンツファイルFctのレコーディングオーダーが同じ値となっている場合について図面を参照して説明する。このような場合として、例えば、デジタルビデオカメラ1で記録されたコンテンツファイルのうちの少なくとも1つがユーザ操作によって分割され、分割された各コンテンツファイルに同じ値のレコーディングオーダーが付与されている場合が考えられる。
図32は、HDD14(図2)に記憶されているインデックスファイルと、コンテンツファイルとの関係を示す概略図であって、分割後のコンテンツファイルには新規なレコーディングオーダーが付される場合を示す図である。
例えば、図32(a)に示すように、コンテンツA(2101)乃至コンテンツC(2103)について、コンテンツファイル(2200)に格納されるコンテンツファイルであるファイルa(2210)、ファイルb(2220)、ファイルc(2230)と、インデックスファイル(2100)に格納されるエントリデータであるエントリα(2110)、エントリβ(2120)、エントリγ(2130)とのそれぞれが対応づけられている場合について説明する。この場合に、エントリα(2110)に格納されるレコーディングオーダー(RO)2111を「1」とし、エントリβ(2120)に格納されるレコーディングオーダー(RO)2112を「2」とし、エントリγ(2130)に格納されるレコーディングオーダー(RO)2113を「3」とする。
ここでは、コンテンツファイルが分割された場合には、分割後の各コンテンツファイルを新規コンテンツとして扱うとする。例えば、図32(a)に示すコンテンツB(2102)が2つに分割されたとする。この場合には、図32(b)に示すように、分割後のコンテンツD(2104)およびコンテンツE(2105)には、それぞれ新たな最新のレコーディングオーダー(RO)「4」、「5」が割り振られる。このように分割後のコンテンツファイルにレコーディングオーダーが割り振られた場合には、各コンテンツファイルについてレコーディングオーダーがユニークに付与されるため、上述の条件(A)を満たす。このため、第6の実施の形態で示したバックアップ処理方法によって、全コンテンツ保存処理を実現することができる。
しかしながら、(C)レコーディングオーダーが同じ値となっている複数のコンテンツファイルが存在する場合において、これらのコンテンツファイルが、必ずしもまとめてバックアップ処理されるとは限らない場合には、全コンテンツ保存処理を実現することができない場合がある。
例えば、上述の(C)の状況として、(C1)既存のコンテンツファイルに対して、分割編集処理を行った場合において、分割後のコンテンツ群の記録順序を分割前と同じにしたい場合(すなわち、分割後のコンテンツファイルを新規コンテンツ扱いにしたくない場合)や、(C2)分割後のコンテンツファイルのうちで同じ値のレコーディングオーダーを有するコンテンツファイルが複数存在する場合において、分割後のコンテンツファイルについてバックアップ処理を実行している途中で、同じ値のレコーディングオーダーを有するコンテンツファイルのうちの全てについてバックアップ処理がされずにバックアップ処理が打ち切りとなる場合(すなわち、少なくとも1つのコンテンツファイルについてバックアップがされずにバックアップ処理が打ち切りとなる場合)がある。そこで、上述の(C1)および(C2)について図面を参照して説明する。
図33は、HDD14に記憶されているインデックスファイルと、コンテンツファイルとの関係を示す概略図であって、分割後のコンテンツファイルには分割前と同じレコーディングオーダーが付される場合を示す図である。
図33(a)に示すように、分割前の構成は図32(a)に示す構成と同じであるため、同一の符号を付してこれらの説明は省略する。
ここでは、コンテンツファイルが分割された場合には、分割後の各コンテンツファイルには分割前と同じレコーディングオーダーが付されるとする。例えば、図33(a)に示すコンテンツB(2102)が2つに分割されたとする。この場合には、図33(b)に示すように、分割後のコンテンツB1(2102a)およびコンテンツB2(2102b)には、それぞれ分割前と同じレコーディングオーダー(RO)「2」が振り分けられる。このように分割後のコンテンツファイルにも、分割前と同じレコーディングオーダーが割り振られた場合には、各コンテンツファイルについてレコーディングオーダーがユニークに付与されないため、上述の(A)の条件を満たさない。
図34は、HDD14に記憶されているインデックスファイルと、コンテンツファイルとの関係、およびHDD30(図3)に記憶されている差分情報検出用情報と、バックアップされたコンテンツファイルとの関係を示す概略図である。なお、図34(a)に示すデジタルビデオカメラ1側の各構成は、図33(b)に示す各構成と同じであるため、同一の符号を付してこれらの説明は省略する。
図33(b)および図34(a)に示すように、分割後のコンテンツファイルに分割前と同じレコーディングオーダーが割り振られた場合において、バックアップ処理がされている途中でそのバックアップ処理が打ち切られた場合について説明する。例えば、差分情報として、コンテンツA(2101)、コンテンツB1(2102a)、コンテンツB2(2102b)、コンテンツC(2103)が検出され、バックアップ処理がされている場合に、何らかの理由でバックアップ処理が打ち切られ、検出されたコンテンツファイルのうちのコンテンツA(2101)およびコンテンツB1(2102a)のみについてバックアップ処理が終了し、他のコンテンツB2(2102b)およびコンテンツC(2103)については、バックアップ処理が終了していないとする。
このような場合において、第6の実施の形態で示したバックアップ処理では、最終レコーディングオーダーが差分情報検出用情報としてPC20側で保持されるため、図34(b)に示すように、処理が終了しているコンテンツA(2101)およびコンテンツB1(2102a)のレコーディングオーダーのうちで、コンテンツB1(2102a)に割り振られているレコーディングオーダー「2」が最終レコーディングオーダーとして差分情報検出用情報2160に格納される。
この場合において、第6の実施の形態で示したバックアップ処理が実行されると、差分情報の検出の際に、PC20側で保持されている最終レコーディングオーダー「2」よりも大きいレコーディングオーダーの値を有するコンテンツファイルが検出される。このため、レコーディングオーダーの値として「3」を有するコンテンツファイルが検出される。そうすると、バックアップされていないコンテンツC(2103)は保存されるものの、コンテンツB2(2102b)については保存されないことになる。つまり、この場合には、上述の(C1)および(C2)の条件を満たすため、全コンテンツ保存処理を実現することができない。
このように、第6の実施の形態で示したバックアップ処理方法では、記録順序を示すレコーディングオーダーとして、複数のコンテンツに同じ値が割り当てられる場合には対応できない場合がある。
そこで、第7の実施の形態では、差分情報検出用情報として、レコーディングオーダーとともに、コンテンツ作成日時および記録時間を記憶することによって、(C)の状況に対しても対応することができる方法を示す。
なお、第7の実施の形態は、第6の実施の形態の変形例であり、バックアップ処理として簡易な方法によって全コンテンツ保存処理を行うものであるが、その方法が第6の実施の形態とは異なるものである。
なお、第7の実施の形態としてもデジタルビデオカメラ1、パーソナルコンピュータ20の構成は、第1の実施の形態と同様であるため、ここでの説明は省略する。ただし、第1の実施の形態のバックアップ処理とは異なる処理を実行するため、HDD30に格納されるバックアップ処理用プログラム30aの内容は変更される。
図35は、分割処理時のエントリデータの更新の概略を示す図である。
図35(a)は、HDD14に記憶されているコンテンツ(コンテンツファイル)A(2400)の記録区間を模式的に示すとともに、コンテンツA(2400)に対応して記憶されるエントリデータであるエントリαを示す概略図である。第7の実施の形態では、図35(a)に示すように、エントリデータのうちのレコーディングオーダーとコンテンツ作成日時と記録時間とが対応されている情報が記録区間情報として記憶される。コンテンツ作成日時は、対応するコンテンツファイルが作成された日時を示す情報であり、記録時間は、対応するコンテンツファイルが記録された時間の長さを示す情報である。例えば、コンテンツA(2400)に対応するエントリデータであるエントリαとして、レコーディングオーダー「2」とコンテンツ作成日時「2004/12/02 12:00:00」と記録時間「30min50s」とが記憶されている。
ここで、コンテンツファイルを分割する場合におけるエントリデータの更新方法の一例について図面を参照して説明する。
例えば、コンテンツAを先頭から記録時間Dの点で分割処理した場合における分割後のコンテンツA1およびコンテンツA2の各エントリデータを以下の(1)〜(3)に示すように表すとする。
(1)エントリα(コンテンツAのエントリデータ)
レコーディングオーダー:RO0
コンテンツ作成日時:CCT0
記録時間:D0
(2)エントリα1(コンテンツA1のエントリデータ)
レコーディングオーダー:RO1
コンテンツ作成日時:CCT1
記録時間:D1
(3)エントリα2(コンテンツA2のエントリデータ)
レコーディングオーダー:RO2
コンテンツ作成日時:CCT2
記録時間:D2
この場合において、各エントリデータを以下の(4)または(5)に示すように更新する。
(4)エントリα1(コンテンツA1のエントリデータ)
レコーディングオーダー:RO1=RO0
コンテンツ作成日時:CCT1=CCT0
記録時間:D1=D
(5)エントリα2(コンテンツA2のエントリデータ)
レコーディングオーダー:RO2=RO0
コンテンツ作成日時:CCT2=CCT0+D
記録時間:D2=D0―D
例えば、図35(b)に示すように、コンテンツA(2400)が分割処理された場合には、分割後のコンテンツファイルであるコンテンツA1(2410)およびコンテンツファイルA2(2420)のそれぞれに対応してエントリデータが記憶される。例えば、図35(b)に示すように、コンテンツA1(2410)に対応するエントリデータであるエントリα1として、レコーディングオーダー「2」とコンテンツ作成日時「2004/12/02 12:00:00」と記録時間「20min30s」とが記憶される。また、コンテンツファイルA2(2420)に対応するエントリデータであるエントリα2として、レコーディングオーダー「2」とコンテンツ作成日時「2004/12/02 12:20:30」と記録時間「10min20s」とが記憶される。このように、第7の実施の形態では、分割後のコンテンツファイルに対応するエントリデータには、同じ値のレコーディングオーダーが振り分けられる。
次に、コンテンツファイルを分割する場合における記録区間情報の順序関係について説明する。
例えば、2つの記録区間情報「RD1={RO1、CCT1、D1}およびRD2={RO2、CCT2、D2}」の順序関係を以下の(ア)〜(ウ)に示すように定義する。
(ア)RO1<RO2ならば、RD1<RD2
(イ)RO1>RO2ならば、RD1>RD2
(ウ)RO1=RO2ならば、さらに、以下の(カ)または(キ)に示すように定義する。
(カ)コンテンツ作成日時の精度:CCTac≦記録時間の精度:Dac
(カ1)CCT1+D1<CCT2+D2ならば、RD1<RD2
(カ2)CCT1+D1>CCT2+D2ならば、RD1>RD2
(カ3)CCT1+D1=CCT2+D2ならば、RD1=RD2
(キ)コンテンツ作成日時の精度:CCTac>記録時間の精度:Dac
(サ)D2≦2×CCTacならば、
(サ1)CCT1+D1<CCT2+D2ならば、RD1<RD2
(サ2)CCT1+D1>CCT2+D2ならば、RD1>RD2
(サ3)CCT1+D1=CCT2+D2ならば、RD1=RD2
(シ)D2>2×CCTacならば、
(シ1)CCT1+D1+CCTac<CCT2+D2ならば、RD1<RD2
(シ2)CCT1+D1+CCTac>CCT2+D2ならば、RD1>RD2
(シ3)CCT1+D1+CCTac=CCT2+D2ならば、RD1=RD2
このように、記録区間情報の順序関係を決定する場合においては、(ア)および(イ)に示すように、比較の対象となる2つの記録区間情報について各レコーディングオーダーが異なる値の場合にはレコーディングオーダーに基づいて決定する。また、(ウ)に示すように、比較の対象となる2つの記録区間情報について各レコーディングオーダーが同じ値の場合にはコンテンツ作成日時および記録時間に基づいて決定する。
コンテンツ作成日時の精度または記録時間の精度によっては、記録区間情報に誤差が生じる場合がある。そこで、記録区間情報の誤差について図面を参照して説明する。
図36は、デジタルビデオカメラ1側に記録されているコンテンツファイルの記録区間情報と、PC20側で記録されている最終記録区間情報との関係を示す遷移図である。
図36に示すグラフにおいては、縦軸は時刻を示し、CCT(コンテンツ作成日時)の精度を横線で示す。また、図36(a)〜(d)に示す各枠において、その左側の枠がPC20側に記録されている最終記録区間情報の最終記録区間を模式的に示し、その右側の枠がデジタルビデオカメラ1側に記録されているコンテンツファイルの記録区間を模式的に示す。
例えば、図36(a)に示すように、PC20側には最終記録区間情報として最終記録区間L1が記録され、デジタルビデオカメラ1側にはコンテンツファイルAの記録区間情報として記録区間2600が記録されている場合について説明する。ここで、コンテンツファイルAについては、PC20側にバックアップ処理がされていないものとする。
この場合において、例えば、図36(b)に示すように、デジタルビデオカメラ1側に記録されているコンテンツファイルAがコンテンツファイルA1およびコンテンツファイルA2に分割処理される。この場合には、コンテンツファイルAの記録区間2600がコンテンツファイルA1の記録区間2610およびコンテンツファイルA2の記録区間2620に分割される。例えば、この場合において、コンテンツファイルA2の記録区間2620についてコンテンツ作成日時の精度によって誤差が生じ、図36(b)に示すように、実際のコンテンツ作成日時よりも前のコンテンツ作成日時が記録される。
図36(b)に示す状況において、デジタルビデオカメラ1とPC20との間でバックアップ処理がされた場合に、何らかの原因でコンテンツファイルA1のみのバックアップ処理がされたとする。その結果、図36(c)に示すように、PC20側には最終記録区間情報として記録区間2610に対応する最終記録区間L2が記録され、デジタルビデオカメラ1側にはコンテンツファイルA1の記録区間2610およびコンテンツファイルA2の記録区間2620が記録される。
さらに、図36(c)に示す状況において、デジタルビデオカメラ1側に記録されているコンテンツファイルA1がコンテンツファイルA11およびコンテンツファイルA12に分割処理される。この場合には、コンテンツファイルA1の記録区間2610がコンテンツファイルA11の記録区間2611およびコンテンツファイルA12の記録区間2612に分割される。
この場合において、コンテンツファイルA2の記録区間2620についてコンテンツ作成日時の精度によって誤差が生じているため、例えば、図36(d)に示すように、コンテンツファイルA12の記録区間2612と、コンテンツファイルA2の記録区間2620との値が同じになる場合がある。
実際のコンテンツ作成日時に基づいた場合には、コンテンツファイルA12の記録区間2612は、最終記録区間L2よりも順序が後ではなく、かつ、コンテンツファイルA2の記録区間2620は、最終記録区間L2よりも順序が後である、という比較結果を導くことができる。
しかしながら、上述のように記録区間情報に誤差が生じる場合には、正確に順序関係を判断できないことがある。正確な判断ができない場合の比較結果は、比較処理におけるコンテンツ作成日時の精度および記録時間の精度の活用の仕方によって異なってくる。上記の(サ)および(シ)に示す判断方法では、一定記録期間を持つコンテンツに対しては、誤判断しないようにしている。
以上で示したように、第7の実施の形態では、デジタルビデオカメラ1では、HDD14上に新たにコンテンツファイルFctが作成される毎にその値をインクリメントするようにして上記レコーディングオーダーを生成し、図35(a)に示すように、このコンテンツファイルFctの作成に応じてインデックスファイルFindex内にエントリされるエントリデータ内のコンテンツIDC5としてこのレコーディングオーダーを格納するとともに、このコンテンツファイルFctのコンテンツ作成日時および記録時間をエントリデータ内に格納する。また、デジタルビデオカメラ1において、作成されたコンテンツファイルFctが分割処理された場合には、図35(b)に示すように、分割後のコンテンツファイルFctについて分割前と同じ値のレコーディングオーダーがエントリデータ内に格納されるとともに、分割後のコンテンツファイルFctに応じてコンテンツ作成日時および記録時間がエントリデータ内に格納される。
また、前回のバックアップ処理(全コンテンツ保存処理)から今回のバックアップ処理までの間にデジタルビデオカメラ1側で追加されたコンテンツファイルFctをPC20側で把握するために、デジタルビデオカメラ1とPC20側とが接続されてバックアップ処理が行われる毎に、デジタルビデオカメラ1側で最後に記録されたコンテンツファイルFctの記録区間情報(すなわち、最終記録区間情報)をPC20側で保持する。これによって次回のバックアップ処理時において、今回のバックアップ処理時に保持された最終記録区間情報を用いることができる。
さらに、次回のバックアップ処理時においては、その前のバックアップ処理時においてPC20側で保持された最終記録区間情報と、デジタルビデオカメラ1側で保持されているインデックスファイルFindex内に格納されている各コンテンツファイルFctの記録区間情報とを比較する。これによって、PC20側で保持された最終記録区間情報に含まれるレコーディングオーダーよりも値の大きなレコーディングオーダーを有するコンテンツファイルFctは、前回のバックアップ処理から今回のバックアップ処理までの間にデジタルビデオカメラ1側で追加されたコンテンツファイルFctであることをPC20側で把握することができる。さらに、PC20側で保持された最終記録区間情報に含まれるレコーディングオーダーの値と同じ値のレコーディングオーダーを有するコンテンツファイルFctの場合には、そのコンテンツファイルFctのコンテンツ作成日時および記録時間と、PC20側で保持された最終記録区間情報に含まれるコンテンツ作成日時および記録時間とを比較することによって、前回のバックアップ処理から今回のバックアップ処理までの間にデジタルビデオカメラ1側で追加されたコンテンツファイルFctであることをPC20側で把握することができる。
このように、PC20側で保持される最終記録区間情報は、差分情報(すなわち、この場合は「コンテンツ追加」のみ)を検出するための情報として機能することが理解できる。その意味で、以下で示す図37および図38においては、当該最終記録区間情報を、差分情報検出用情報であるとして示す。
以上で示したように、第7の実施の形態で示す全コンテンツ保存処理と第6の実施の形態で示す全コンテンツ保存処理との相違点は、同じ値のレコーディングオーダーが複数のコンテンツファイルFctに付されている場合には、コンテンツ作成日時および記録時間に基づいてバックアップ処理を行う点である。
次に、既にバックアップ処理がされたコンテンツファイルFctが分割された場合における第7の実施の形態のバックアップ処理(簡易版全コンテンツ保存)について図面を参照して説明する。
図37および図38は、第7の実施の形態のバックアップ処理(簡易版全コンテンツ保存)について模式的に示した図である。この図37および図38においても先の図7、図14、図17、図20、図23、図27と同様に、図37(a)および図38(a)では、デジタルビデオカメラ1におけるHDD14上に記録されるインデックスファイルFindex、コンテンツファイルFctについて、時間軸tに沿った状態遷移を示し、図37(b)および図38(b)では、パーソナルコンピュータ20におけるHDD30上に記録されるインデックスファイルFindex、コンテンツファイルFct、およびPC側管理情報30bについて同じく時間軸tに沿った状態遷移を示す。
なお、図37は、パーソナルコンピュータ20におけるHDD30上にコンテンツファイルFctが記録された後に、そのコンテンツファイルFctがデジタルビデオカメラ1側で分割された場合におけるバックアップ処理の一例を示す図である。また、図38は、パーソナルコンピュータ20におけるHDD30上にコンテンツファイルFctが記録される前に、そのコンテンツファイルFctがデジタルビデオカメラ1側で分割された場合におけるバックアップ処理の一例を示す図である。
なお、図37および図38において、時点t1〜時点t6にかけてのデジタルビデオカメラ1側のコンテンツファイルFctの格納状態の遷移とそれに応じたインデックスファイルFindexの情報内容の遷移、およびPC20側におけるコンテンツファイルFctの格納状態の遷移は、上述した各バックアップ処理における遷移とほぼ同様であるため、これらの説明は省略する。
図37において、具体的な動作について説明すると、時点t1の初回の全コンテンツ保存処理では、デジタルビデオカメラ1側で保持されるコンテンツファイルFctは「A」「B」「C」の3つであるため、最終記録区間情報は、例えば「Cの記録区間情報」である。この場合のPC20側では、図37に示すように、これらコンテンツファイル「A」「B」「C」を転送させ保存した上で、この最終記録区間情報「Cの記録区間情報」のみを保持する(図37の「X(3)」)。このようにすることによって、PC20においては、第1乃至第5の実施の形態に示すように、デジタルビデオカメラ1側において保持されるインデックスファイルFindexの全てを転送させ保存する必要がない。
そして、時点t2においてデジタルビデオカメラ1側でコンテンツファイル「D」が追加された後の、時点t3における全コンテンツ保存処理では、時点t1の全コンテンツ保存処理時に保存された最終記録区間情報と、この時点t2においてデジタルビデオカメラ1側で保持されているインデックスファイルFindex内の各コンテンツファイルFctの記録区間情報とを比較し、時点t1から時点t3までの間に追加されたコンテンツファイルFctを特定する。
例えば、時点t3において、時点t1の全コンテンツ保存処理時に保存された最終記録区間情報のレコーディングオーダーと、この時点t2においてデジタルビデオカメラ1側で保持されているインデックスファイルFindex内の各コンテンツファイルFctのレコーディングオーダーの値とを比較すると、最終記録区間情報のレコーディングオーダーと同じ値のレコーディングオーダーが対応づけられたコンテンツファイル「C」がデジタルビデオカメラ1側に存在する。しかし、コンテンツファイル「C」は分割処理されていないため、最終記録区間情報のコンテンツ作成日時および記録時間と、コンテンツファイル「C」のコンテンツ作成日時および記録時間とは同じ値となっている。このように、コンテンツファイル「C」は既にPC20に保存されているため、転送されない。
同様に、時点t3において、最終記録区間情報のレコーディングオーダーと、デジタルビデオカメラ1側が保持している各コンテンツファイルFctのレコーディングオーダーの値とを比較すると、最終記録区間情報のレコーディングオーダーよりも値の大きなレコーディングオーダーが対応づけられたコンテンツファイル「D」がデジタルビデオカメラ1側に存在する。そこで、コンテンツファイル「D」を転送させ保存した上で、この最終記録区間情報「Dの記録区間情報」のみを保持する(図37の「Y(4)」)。
すなわち、この場合のデジタルビデオカメラ1側におけるインデックスファイルFindex内の各コンテンツファイルFctについてのレコーディングオーダーは、コンテンツファイル「A」「B」「C」「D」がそれぞれ「1」「2」「3」「4」であり、最終記録区間情報のレコーディングオーダー「3」よりも大きなレコーディングオーダー「4」が対応づけられたコンテンツファイル「D」が、前回から追加されたコンテンツファイルFctとして特定される。
この場合の例では、最終記録区間情報のレコーディングオーダーよりも値が大きかったコンテンツファイルFctを特定するための情報として、そのファイルパスC7(図6)をリストアップするようにしている。
なお、上記コンテンツファイルFctを特定するための情報としては、このようなファイルパスC7の代わりにコンテンツIDC5(図6)をリストアップすることもできる。
このように、前回から追加されたコンテンツファイルFctが特定されると、PC20は、そのコンテンツファイルFctを転送するようにデジタルビデオカメラ1側に転送要求を行う。つまりこの場合はコンテンツファイル「D」についての転送要求を行うようにされる。そして、転送されたコンテンツファイルFct(「D」)をHDD30に保存するようにされる。
さらに、この場合もPC20は、デジタルビデオカメラ1側において保持されるインデックスファイルFindexの内容に基づいて、最も順序が後ろの記録区間情報(つまりこの場合は「D」である)を最終記録区間情報(差分情報検出用情報)として保存する(図37の「Y(4)」)。
また、時点t4においてコンテンツファイル「D」がコンテンツファイル「D1」および「D2」に分割された後の、時点t5の全コンテンツ保存処理では、図37に示すように、デジタルビデオカメラ1側からPC20側へのコンテンツファイルFctの移動は行われない。すなわち、この場合には最終記録区間情報のレコーディングオーダーよりも大きなレコーディングオーダーを有するコンテンツファイルFctがデジタルビデオカメラ1側に存在せず、また、最終記録区間情報のレコーディングオーダーと同じ値のレコーディングオーダーを有するコンテンツファイルFct(コンテンツファイル「D1」および「D2」)がデジタルビデオカメラ1側に存在するものの、最終記録区間情報のコンテンツ作成日時および記録時間と、コンテンツファイル「D1」および「D2」のコンテンツ作成日時および記録時間とを比較して、最終記録区間情報が、コンテンツファイル「D1」および「D2」の記録区間情報よりも順序が後ろの記録区間情報ではないため、転送されない。
この場合PC20は、デジタルビデオカメラ1側から転送させたインデックスファイルFindexに基づいて、最終記録区間情報を保存する(図37の「Y(4)」)。
次に、図38を参照してバックアップ処理の一例の具体的な動作について説明する。なお、図38に示す時点t2までの遷移は、図37で示した遷移と同様であるため、ここでの説明は省略する。
時点t2においてデジタルビデオカメラ1側でコンテンツファイル「D」が追加された後に、時点t3においてコンテンツファイル「D」がコンテンツファイル「D1」および「D2」に分割処理される。この場合に、分割後のコンテンツファイル「D1」および「D2」には、同じ値のレコーディングオーダーが付与されるとともに、それぞれに応じたコンテンツ作成日時および記録時間が記録区間情報として対応づけられる。
続いて、時点t4における全コンテンツ保存処理では、時点t1の全コンテンツ保存処理時にPC20側で保存された最終記録区間情報と、この時点t3においてデジタルビデオカメラ1側が保持しているインデックスファイルFindex内の各コンテンツファイルFctの記録区間情報とを比較し、最終記録区間情報よりも順序が後ろとなる記録区間情報が対応づけられたコンテンツファイルFctを特定する。
すなわち、この場合のデジタルビデオカメラ1側におけるインデックスファイルFindex内の各コンテンツファイルFctについてのレコーディングオーダーは、コンテンツファイル「A」「B」「C」「D1」「D2」がそれぞれ「1」「2」「3」「4」「4」である。ここで、コンテンツファイル「C」は分割処理されていないため、コンテンツファイル「C」の記録区間情報は、最終記録区間情報と同じである。このため、コンテンツファイル「C」は転送されない。また、コンテンツファイル「D1」「D2」については、最終記録区間情報のレコーディングオーダー「4」よりも大きなレコーディングオーダー「4」が対応づけられているため、最終記録区間情報よりも順序が後ろとなる記録区間情報が対応づけられたコンテンツファイルFctであり、前回から追加されたコンテンツファイルFctとして特定される。
ここで、第7の実施の形態の場合、このように最終記録区間情報よりも順序が後ろとなる記録区間情報が対応づけられたコンテンツファイルFctであって前回から追加されたコンテンツファイルFctを特定するための情報を、第6の実施の形態と同様に、図28に示すように、簡易差分情報リストLSB−eにリストアップする。
この場合の例では、最終記録区間情報よりも順序が後ろとなる記録区間情報が対応づけられたコンテンツファイルFctを特定するための情報として、そのファイルパスC7をリストアップする。
なお、上記コンテンツファイルFctを特定するための情報としては、このようなファイルパスC7の代わりにコンテンツIDC5をリストアップすることもできる。
図38に戻り、このような簡易差分情報リストLSB−eによって前回から追加されたコンテンツファイルFctが特定されると、PC20は、そのコンテンツファイルFctを転送するようにデジタルビデオカメラ1側に転送要求を行う。つまり、PC20がデジタルビデオカメラ1にコンテンツファイル「D1」「D2」についての転送要求を行う。
ここでは、時点t4において、転送要求の後に何らかの原因でバックアップ処理が打ち切られ、転送要求がされたコンテンツファイル「D1」「D2」のうちのコンテンツファイル「D1」のみが転送されたとする。この場合には、転送されたコンテンツファイルFct(「D1」)がHDD30に保存される。
また、PC20は、デジタルビデオカメラ1側において保持されているインデックスファイルFindexの内容に基づいて、最も順序が後ろとなる記録区間情報(つまりこの場合はコンテンツファイル「D1」の記録区間情報である)を最終記録区間情報(差分情報検出用情報)として保存する(図中「Y(41)」)。
このように、転送要求の後に何らかの原因でバックアップ処理が打ち切られた場合には、同じ値のレコーディングオーダーが付与されているコンテンツファイルFctのうちの少なくとも1つのファイルのみが転送され、残りのコンテンツファイルが転送されない場合が考えられる。そこで、第7の実施の形態では、PC20側に最終記録区間情報を記録して、同じ値のレコーディングオーダーが付与されているコンテンツファイルが複数存在する場合についても適切なバックアップ処理を実行する。
時点t4においてバックアップ処理が打ち切られた後の時点t5において、さらに全コンテンツ保存処理が実行されたとする。この時点t5における全コンテンツ保存処理では、時点t4の全コンテンツ保存処理時にPC20側で保存された最終記録区間情報と、この時点t5においてデジタルビデオカメラ1側が保持しているインデックスファイルFindex内の各コンテンツファイルFctの記録区間情報とを比較し、最終記録区間情報よりも順序が後ろとなる記録区間情報が対応づけられたコンテンツファイルFctを特定する。
すなわち、この場合のデジタルビデオカメラ1側におけるインデックスファイルFindex内の各コンテンツファイルFctについてのレコーディングオーダーは、コンテンツファイル「A」「B」「C」「D1」「D2」がそれぞれ「1」「2」「3」「4」「4」である。ここで、コンテンツファイル「D1」「D2」については、最終記録区間情報のレコーディングオーダー「4」と同じ値のレコーディングオーダー「4」が対応づけられている。そこで、最終記録区間情報のコンテンツ作成日時および記録時間と、コンテンツファイル「D1」または「D2」のコンテンツ作成日時および記録時間とを比較し、最終記録区間情報よりも順序が後ろとなる記録区間情報が対応づけられたコンテンツファイルFctとしてコンテンツファイル「D2」を特定する。すなわち、前回から追加されたコンテンツファイルFctとして特定される。
ここで、前回から追加されたコンテンツファイルFctを特定するための情報を、図28に示すように、簡易差分情報リストLSB−eにリストアップする。
この場合の例では、最終記録区間情報よりも順序が後ろとなる記録区間情報が対応づけられたコンテンツファイルFctを特定するための情報として、そのファイルパスC7をリストアップする。
なお、上記コンテンツファイルFctを特定するための情報としては、このようなファイルパスC7の代わりにコンテンツIDC5をリストアップすることもできる。
図38に戻り、このような簡易差分情報リストLSB−eにより前回から追加されたコンテンツファイルFctが特定されると、PC20は、そのコンテンツファイルFctを転送するようにデジタルビデオカメラ1側に転送要求を行う。つまり、PC20がデジタルビデオカメラ1にコンテンツファイル「D2」についての転送要求を行う。
この場合には、転送されたコンテンツファイルFct(「D2」)がHDD30に保存される。また、PC20は、デジタルビデオカメラ1側において保持されているインデックスファイルFindexの内容に基づいて、最も順序が後ろとなる記録区間情報(つまりこの場合はコンテンツファイル「D2」の記録区間情報である)を最終記録区間情報(差分情報検出用情報)として保存する(図38の「Z(5)」)。
続いて、時点t5においてコンテンツファイル「D2」の転送処理がされた後の時点t6の全コンテンツ保存処理では、図38に示すように、デジタルビデオカメラ1側からPC20側へのコンテンツファイルFctの移動は行われない。すなわち、この場合には最終記録区間情報よりも順序が後ろとなる記録区間情報が対応づけられたコンテンツファイルFctがデジタルビデオカメラ1側に存在しないため、簡易差分情報リストLSB−eは空となり、従ってデジタルビデオカメラ1側への転送要求は行われない。
この場合において、PC20は、デジタルビデオカメラ1側に記憶されているインデックスファイルFindexに基づいて、コンテンツファイル「D2」の最終記録区間情報を保存する(図38の「Z(5)」)。
第7の実施の形態で示す簡易版全コンテンツ保存処理によれば、第6の実施の形態の場合と同様に、過去にPC20側への保存対象とされたコンテンツファイルFctについては、これらを全てPC20側において保存することができる。
また、コンテンツ保存処理において実際に転送を行うのは、差分のファイルのみとすることができるため、全コンテンツを上書きコピーして実現する場合と比較した場合には、全コンテンツ保存処理をより高速化することができる。また、このように転送すべきコンテンツファイルFctを減らすことができるため、処理負担について軽減させることができる。
また、特にこの場合の簡易版全コンテンツ保存処理によれば、差分情報の生成にあたっては記録区間情報のみについての比較を行えばよい。このため、先の第3の実施の形態のように前回/今回バックアップ時のインデックスファイルFindex同士の内容を突き合わせる場合よりも、さらに高速に差分情報を取得することができ、従ってこの点で全コンテンツ保存処理をさらに高速化することができる。
7−2.処理動作
図39〜40は、上記説明による簡易版全コンテンツ保存の動作を実現するための処理動作を示す図である。
これらの図において、図39は簡易版全コンテンツ保存処理の全体的な流れについて示している。また、図40は、図39のステップS1604としての簡易差分情報リスト生成処理の内容について示し、図41は、図39に示すステップS1605としての差分ファイル群処理(簡易版全コンテンツ保存)の処理内容について示している。さらに、図42は、図40に示すステップS1705における判断処理の処理内容について示している。
なお、これらの図に示される処理動作としても、CPU21がバックアップ処理用プログラム30aに基づいて実行するものである。
また、図39としても、前提として既にデジタルビデオカメラ1とパーソナルコンピュータ20とがデータ通信可能に接続されている状態にあるとする。
また、この場合としても処理動作はパーソナルコンピュータ20側のみについて示しているが、この場合のデジタルビデオカメラ1側としては、PC20側からの要求に応じコンテンツファイルFctまたはインデックスファイルFindexを転送する処理を行うことになる。また、これまでの説明からも理解されるように、この場合は前提として、デジタルビデオカメラ1側では、HDD14におけるコンテンツファイルFctの作成ごと(更新後のコンテンツファイルFctも含む)にレコーディングオーダーを生成し、これをインデックスファイルFindex内における対応するエントリデータ内のコンテンツIDC5として格納するとともに、このコンテンツファイルFctのコンテンツ作成日時および記録時間をエントリデータ内に格納する。
先ず、図39において、ステップS1601では、全コンテンツ保存処理が指示されるまで待機する。このステップS1601は、先の図18に示した全コンテンツ保存処理の場合のステップS601と同様である。
そして、全コンテンツ保存処理の指示があったとして肯定結果が得られた場合には、ステップS1602において、最終記録区間情報がバックアップ保存されているか否かについて判別処理を行う。これは、先の図18のステップS602でインデックスファイルFindexが既にバックアップされているか否かを判別する処理と同様に、最終記録区間情報がバックアップされているか否かを判別することによって、既に過去において全コンテンツ保存処理が行われたか否かについて判別する。
最終記録区間情報がバックアップされておらず否定結果が得られた場合には、初回の全コンテンツ保存処理であるため、ステップS1607に進み、全コンテンツファイルの転送要求を行い、ステップS1608において、転送されたコンテンツファイルを保存するための処理を実行する。
続いて、ステップS1609において、最終記録区間情報を保存するための処理を実行する。すなわち、このステップS1609において、デジタルビデオカメラ1側に転送要求を行い、インデックスファイルFindexを転送させた上で、この転送されたインデックスファイルFindex内の各エントリデータ(各管理ファイルスロットSm)内の記録区間情報のうちで、最も順序が後ろとなる記録区間情報を最終記録区間情報として保存する。この最終記録区間情報の保存先としては、例えばHDD30を保存先とすることができる。
ステップS1609において最終記録区間情報を保存した後に、ステップS1610に進み、コンテンツファイルの格納状況に応じてPC側管理情報30bを更新する処理を実行する。つまり、この簡易版全コンテンツ保存処理においても、PC20側においてはHDD30に格納されるコンテンツファイルFctがPC側管理情報30bにより管理される。
また、先のステップS1602において、最終記録区間情報が保存されているとして肯定結果が得られた場合には、既に全コンテンツ保存処理が行われている場合であるため、ステップS1603に進み、デジタルビデオカメラ1側のインデックスファイルを取得するための処理を実行する。すなわち、デジタルビデオカメラ1側に転送要求を行い、インデックスファイルFindexを転送させ、これを例えばメモリ部22等に一時保持する。
続いて、ステップS1604では、簡易差分情報リスト生成処理が実行される。
図40は、ステップS1604における簡易差分情報リスト生成処理の詳細な内容を示す図である。
図40において、ステップS1701では、保存されている最終記録区間情報を取得する。続いて、ステップS1702では、ポインタ値jを0にリセットする。このポインタ値jは、ステップS1603においてデジタルビデオカメラ1側から取得したインデックスファイルFindex内にエントリされる各エントリデータ(管理ファイルスロットSm)のうちから、対象とするエントリデータを指し示すためのポインタとしての役割を果たす。なお、この意味で、先に説明したような今回バックアップ時の相違検出用情報リストLDd−psについてのポインタ値jと同じ符号を付している。
続いて、ステップS1703では、ポインタ値jが全コンテンツ数と一致したか否かについて判別処理を行う。すなわち、ポインタ値jが、取得したインデックスファイルFindex内にエントリされるエントリデータの数と一致したか否かについて判別処理を行う。
ポインタ値jが全コンテンツ数と一致してはいないとして否定結果が得られた場合には、未だ全てのエントリデータについて以下で説明する処理を行っていないため、以下のステップS1704に続く処理を実行する。
ステップS1704では、j番目のコンテンツのエントリデータから記録区間情報を取得する。すなわち、ポインタ値jによって指し示されるエントリデータ内の記録区間情報を取得する。
続いて、ステップS1705において、このように取得した記録区間情報が保存されている最終記録区間情報よりも順序が後ろとなるか否かについて判別処理を行う。保存されている最終記録区間情報よりも順序が後ろとなるとして肯定結果が得られた場合には、ステップS1706において、j番目のコンテンツのエントリデータからファイルパスを取得する。つまりポインタ値jによって示されるエントリデータ内のファイルパスC7を取得する。続いて、ステップS1707において、簡易差分情報リストにファイルパスを追加するための処理を実行する。すなわち、取得されたファイルパスC7の情報を、図28において説明した簡易差分情報リストLSB−eにリストアップする。この簡易差分情報リストLSB−eが、例えばメモリ部22等に一時保持される。なお、ステップS1705における判断処理については、図42を参照して詳細に説明する。
ステップS1707において、ファイルパスが簡易差分情報リストに追加された後に、ステップS1708でポインタ値jをインクリメントし、ステップS1703に戻る。
一方、ステップS1705において、保存されている最終記録区間情報よりも順序が後ろとなるとして否定結果が得られた場合には、ステップS1708に進み、ポインタ値jをインクリメントした後に、ステップS1703に戻る。すなわち、このように最終記録区間情報よりも順序が同じか前となる記録区間情報を有するコンテンツファイルFctは、PC20側に既に保存されているコンテンツファイルFctであるため、そのファイルパスC7の情報は簡易差分情報リストLSB−eに追加されない。
また、ステップS1703において、ポインタ値jが全コンテンツ数と一致したとして肯定結果が得られた場合には、デジタルビデオカメラ1側から取得したインデックスファイルFindex内の全てのエントリデータについて最終記録区間情報との比較が完了し、簡易差分情報リストLSB−eの生成が完了したことになる。このようにステップS1703において肯定結果が得られた場合には、図39に示すステップS1605に処理を進める。
図41は、図39に示すステップS1605における差分ファイル群処理(簡易版全コンテンツ保存)の内容を示す図である。
図41において、ステップS1801では、ポインタ値mを0にリセットする。このポインタ値mは、簡易差分情報リストLSB−e内にリストアップされるファイルパスC7のうちから対象とするファイルパスC7を指し示すためのポインタとしての役割を果たす。
続いて、ステップS1802では、ポインタ値mがリストアップ数と一致したか否かについて判別処理を行う。つまり、ポインタ値mが簡易差分情報リストLSB−e内のファイルパスC7のリストアップ数と一致したか否かについて判別する。
ステップS1802において、ポインタ値mが簡易差分情報リストLSB−e内のリストアップ数と一致していないとして否定結果が得られた場合には、リストアップされた全てのファイルパスC7(コンテンツファイルFct)について以下で説明する処理が行われていない状態であるため、以下のステップS1803に続く処理を行う。
続いて、ステップS1803では、バックアップ処理についての打ち切り要求があったか否かが判断される。バックアップ処理についての打ち切り要求があった場合には、差分情報ファイル群処理(簡易版全コンテンツ保存)を終了し、図39におけるステップS1606に処理を進める。バックアップ処理についての打ち切り要求がなければ、ステップS1804に進む。
ステップS1804では、m番目のファイルパスを取得する。すなわち、簡易差分情報リストLSB−e内においてポインタ値mによって示されるファイルパスC7を取得する。
続いて、ステップS1805では、対象ファイルの転送要求を行う。つまり、取得したファイルパスC7によって特定されるコンテンツファイルFctについての転送要求をデジタルビデオカメラ1側に対して行う。
続いて、ステップS1806では、転送されたファイルを保存するための処理を実行する。これによってデジタルビデオカメラ1側にのみ保持されるコンテンツファイルFctを転送させてこれをPC20側で保存することができる。
ステップS1806の保存処理を実行した後に、ステップS1807においてポインタ値mをインクリメントし、ステップS1802に戻る。
ステップS1802においてポインタ値mがリストアップ数と一致したとして肯定結果が得られた場合には、簡易差分情報リストLSB−eにリストアップされる全てのファイルについて転送要求&保存処理が完了しているため、差分情報ファイル群処理(簡易版全コンテンツ保存)を終了し、図39におけるステップS1606に処理を進める。
図39において、ステップS1606では、最終記録区間情報を更新するための処理を実行する。つまり、ステップS1603においてデジタルビデオカメラ1側から取得したインデックスファイルFindex内における各エントリデータ内の記録区間情報を参照し、そのうちで最も順序が後となる記録区間情報を新たな最終記録区間情報として取得する。そして、既に保存されている最終記録区間情報の値を、この新たに取得した最終記録区間情報の値に更新する処理を実行する。
ステップS1606における最終記録区間情報の更新処理を実行した後に、ステップS1610に進み、コンテンツファイルの格納状況に応じてPC側管理情報30bを更新する処理を実行する。
図42は、図40に示すステップS1705における判断処理の内容を示す図である。
例えば、最終記録区間情報を「RD1={RO1、CCT1、D1}」とし、比較対象の記録区間情報を「RD2={RO2、CCT2、D2}」とした場合における順序関係について説明する。
図42において、ステップS1901またはステップS1902では、最終記録区間情報のレコーディングオーダー(RD1)と、比較対象の記録区間情報のレコーディングオーダー(RD2)とを比較して両者の大小関係を判断する。
ステップS1901において、「RO1<RO2」と判断された場合には、ステップS1911に進み、最終記録区間情報(RD1)と、比較対象の記録区間情報(RD2)との順序関係について、「RD1<RD2」と決定して処理を終了する。
一方、ステップS1902において、「RO1>RO2」と判断された場合には、ステップS1909に進み、最終記録区間情報(RD1)と、比較対象の記録区間情報(RD2)との順序関係について、「RD1>RD2」と決定して処理を終了する。
ステップS1901またはステップS1902において、「RO1<RO2」または「RO1>RO2」の何れでもない場合は、「RO1=RO2」の場合である。この場合には、ステップS1903に進み、コンテンツ作成日時の精度(CCTac)と、記録時間の精度(Dac)とを比較して両者の大小関係を判断する。
ステップS1903において、「CCTac≦Dac」と判断された場合には、ステップS1905に進み、コンテンツ作成日時と記録時間との合計値を比較して両者の大小関係を判断する。また、ステップS1903において、「CCTac>Dac」と判断された場合には、ステップS1904に進む。
ステップS1904において、「D2≦2×CCTac」と判断された場合には、ステップS1905に進み、コンテンツ作成日時と記録時間との合計値を比較して両者の大小関係を判断する。
ステップS1905において、「CCT1+D1<CCT2+D2」と判断された場合には、ステップS1911に進み、最終記録区間情報(RD1)と、比較対象の記録区間情報(RD2)との順序関係について、「RD1<RD2」と決定して処理を終了する。
一方、ステップS1905において「CCT1+D1<CCT2+D2」と判断されない場合には、ステップS1906に進む。ステップS1906において「CCT1+D1>CCT2+D2」と判断された場合には、ステップS1909に進み、最終記録区間情報(RD1)と、比較対象の記録区間情報(RD2)との順序関係について、「RD1>RD2」と決定して処理を終了する。
また、ステップS1905において「CCT1+D1<CCT2+D2」と判断されず、ステップS1906において「CCT1+D1>CCT2+D2」と判断されない場合には、「CCT1+D1=CCT2+D2」の場合である。この場合には、ステップS1910に進み、最終記録区間情報(RD1)と、比較対象の記録区間情報(RD2)との順序関係について、「RD1=RD2」と決定して処理を終了する。
ステップS1904において、「D2≦2×CCTac」と判断されない場合には、「D2>2×CCTac」の場合である。この場合には、ステップS1907に進み、「CCT1+D1+CCTac」と「CCT2+D2」とを比較して両者の大小関係を判断する。
ステップS1907において、「CCT1+D1+CCTac<CCT2+D2」と判断された場合には、ステップS1911に進み、最終記録区間情報(RD1)と、比較対象の記録区間情報(RD2)との順序関係について、「RD1<RD2」と決定して処理を終了する。
一方、ステップS1907において「CCT1+D1+CCTac<CCT2+D2」と判断されない場合には、ステップS1908に進む。ステップS1908において「CCT1+D1+CCTac>CCT2+D2」と判断された場合には、ステップS1909に進み、最終記録区間情報(RD1)と、比較対象の記録区間情報(RD2)との順序関係について、「RD1>RD2」と決定して処理を終了する。
また、ステップS1907において「CCT1+D1+CCTac<CCT2+D2」と判断されず、ステップS1908において「CCT1+D1+CCTac>CCT2+D2」と判断されない場合には、「CCT1+D1+CCTac=CCT2+D2」の場合である。この場合には、ステップS1910に進み、最終記録区間情報(RD1)と、比較対象の記録区間情報(RD2)との順序関係について、「RD1=RD2」と決定して処理を終了する。
なお、ステップS1909において最終記録区間情報(RD1)と比較対象の記録区間情報(RD2)との順序関係について、「RD1>RD2」と決定された場合には、比較対象の記録区間情報(RD2)は、最終記録区間情報(RD1)の順序よりも前の順序であると判断される。
また、ステップS1910において最終記録区間情報(RD1)と比較対象の記録区間情報(RD2)との順序関係について、「RD1=RD2」と決定された場合には、比較対象の記録区間情報(RD2)は、最終記録区間情報(RD1)の順序と同じ順序であると判断される。
さらに、ステップS1911において最終記録区間情報(RD1)と比較対象の記録区間情報(RD2)との順序関係について、「RD1<RD2」と決定された場合には、比較対象の記録区間情報(RD2)は、最終記録区間情報(RD1)の順序よりも後の順序であると判断される。
なお、図39〜図42の説明から理解されるように、第7の実施の形態としても、差分情報リストを生成した上で逐次リストアップされるファイルごとに転送要求、転送ファイルの保存を行うようにしたが、この場合も差分情報リストは生成せずに差分のファイルを1つ特定するごとにそのファイルの転送要求&保存処理を行うようにすることもできる。
また、差分リストにリストアップされる全てのファイルについて一括して転送要求および保存処理を行うように構成することもできる。
また、第7の実施の形態では、記録順序情報を記録区間情報で実現する場合を例示したが、これまでの各実施の形態で説明したファイルパスC7とファイル更新日時との組み合わせによるコンテンツIDC5であっても記録順序情報として用いることができる。
このように、第7の実施の形態によれば、インデックスファイルの記録順序を示すレコーディングオーダーとして複数のコンテンツに同じ値が割り当てられる場合においても、適切なバックアップ処理を実行することができる。
なお、本発明の実施の形態では、デジタルビデオカメラ1とパーソナルコンピュータ20とが接続されている場合において、パーソナルコンピュータ20側の制御に基づいて、バックアップ処理を実行する例を示したが、これらのバックアップ処理を実行する場合において、デジタルビデオカメラ1側の制御に基づいて、バックアップ処理を実行するようにしてもよい。すなわち、デジタルビデオカメラ1において、バックアップ処理用プログラム30aと同様のバックアップ処理用プログラムを、例えば、HDD14に格納し、このバックアップ処理用プログラムに基づいて、CPU10が本発明の実施の形態で示した各種のバックアップ処理を実行するようにすることができる。
8.変形例
以上、本発明の実施の形態について説明したが、本発明としてはこれまでに説明した各実施の形態に限定されるべきものではない。
例えば実施の形態では、第1の管理情報(インデックスファイルFindex)にはファイル識別子(コンテンツID)以外のファイル関連情報もエントリデータとしてエントリされる場合を例示したが、これらのファイル識別子以外のファイル関連情報がエントリされない管理情報とされる場合にも本発明は好適に適用することができる。
また、実施の形態では、PC20側において、デジタルビデオカメラ1側からバックアップしたコンテンツファイルFctをインデックスファイルFindexとは別のPC側管理情報30bにより管理するものとしたが、このような別途の管理情報を用いずともデジタルビデオカメラ1側からバックアップしたインデックスファイルFindexにより各コンテンツファイルFctを管理するように構成することもできる。
例えば同期処理が行われる場合には、HDD14側とHDD30側とで同じディレクトリ構造により各コンテンツファイルFctを格納するものとすれば、PC20側においてデジタルビデオカメラ1側からバックアップしたインデックスファイルFindexにより適正にHDD30に格納される各コンテンツファイルFctを管理することができる。
また、これまでの実施の形態では例示しなかったが、同期&全コンテンツ保存処理と、前回同期時状態の復元処理とを組み合わせることもできる。なお、確認のために述べておくと、前回同期時状態の復元処理であれば、各バックアップ時点と対応づけてインデックスファイルFindexを保存する処理は行わなくても良いものとなる。
また、それ以外にも、例えば全コンテンツ保存処理(第3の実施の形態)と前回同期時状態の復元処理とを組み合わせることもできる。
上記のようにして本発明の実施の形態によれば、今回/過去における第1の管理情報を比較した結果から今回/過去におけるコンテンツ格納状態についての差分情報を検出し、この差分情報に基づいて第1の記録媒体から第2の記録媒体に追加されるべきコンテンツファイルについての転送・記録制御を行うことができる。
これによれば、撮像装置側で第1の記録媒体に新たにコンテンツファイルが追加された場合には、第2の記録媒体には差分情報として検出された当該追加分のコンテンツファイルのみを転送・記録することが可能となり、これによって、例えば、第1の記録媒体に記録される全てのコンテンツファイルを第2の記録媒体に上書きコピーする場合と比較すれば、バックアップ処理をより高速化することができる。
また、管理情報同士を比較して差分情報を検出するので、差分情報の検出に要する時間も短縮化でき、この点でもバックアップ処理の高速化が図られる。
また、実施の形態では、本発明の記録再生装置がデジタルビデオカメラ1等の撮像装置とされる場合を例示したが、本発明で言う記録再生装置としては、所定の第1の記録媒体に記録される各コンテンツファイル(実施の形態で例示したAVファイルや静止画像ファイルである必要はない)を所要の管理情報により管理するようにされたものを広く含むものである。
また、情報処理装置としてはパーソナルコンピュータ20とされる場合を例示したが、少なくとも外部の記録再生装置(撮像装置等)とのデータ通信を可能とする通信手段と、所定の第2の記録媒体に対するデータの記録再生を可能とする記録再生手段を備えた情報処理装置等に本実施の形態を適用することができ、パーソナルコンピュータに限定されるべきものではない。
なお、本発明の実施の形態は本発明を具現化するための一例を示したものであり、特許請求の範囲における発明特定事項とそれぞれ対応関係を有するが、これに限定されるものではなく本発明の要旨を逸脱しない範囲において種々の変形を施すことができる。
なお、本発明の実施の形態において説明した処理手順は、これら一連の手順を有する方法として捉えてもよく、また、これら一連の手順をコンピュータに実行させるためのプログラム乃至そのプログラムを記憶する記録媒体として捉えてもよい。