説明

データ構造作成方法およびバックアップ装置

【課題】テープ状記録媒体内に分散して記録されているファイルについても効率よくリストア可能にする。
【解決手段】対象データが格納される複数階層のディレクトリ構造を作成するデータ構造作成方法であって、第1ディレクトリを作成するステップと、対象データが格納される第2ディレクトリを1以上作成するステップと、第1ディレクトリのサイズが、あらかじめ決められた特定のサイズ以下となるように、第1ディレクトリ内に第2ディレクトリを1以上格納するステップとを含む。対象データは、映像データおよび音声データの少なくとも1つである。第1ディレクトリは、第1ディレクトリ階層に属する。第2ディレクトリは、第1ディレクトリ階層よりも下位の第2ディレクトリ階層に属する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、映像データおよび音声データの少なくとも1つのバックアップ時に使用されるデータ構造作成方法、およびこれを使用するバックアップ装置に関する。
【背景技術】
【0002】
ビデオカメラ等で収録された映像データおよび音声データの少なくとも1つをバックアップするための記録媒体としては、信頼性、記録容量およびコストの観点から、テープ状記録媒体等が用いられる。特に、大容量の映像データおよび音声データを扱う放送局や制作プロダクション等では、テープ状記録媒体が用いられることが多い。
【0003】
テープ状記録媒体に対しては、ランダムアクセスができない。従って、テープ状記録媒体の場合、データのバックアップ時およびリストア時の少なくともいずれかのシーク動作に時間がかかってしまうという欠点がある。
【0004】
そこで、データのバックアップ時に、関連するファイル同士をテープ状記録媒体内の近接した物理アドレスの領域に格納する技術が公開されている(特許文献1参照)。特許文献1の技術によれば、テープ状記録媒体から関連するファイル同士を効率よくリストアすることが可能となる。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開平6−44118号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかし、テープ状記録媒体内に分散して記録されているファイル同士をリストアする場合には、シーク動作に時間がかかり、高速なリストアが実現されない。
【0007】
放送業務用に収録されたデータをテープ状記録媒体にバックアップした場合、編集工程においては全データをリストアするケースもあるが、一部のデータのみがリストアされ使用されるケースも多い。このようなケースのリストア時間を短縮することができれば、放送業務用のデータ編集のワークフローの改善を図ることができる。
【0008】
本発明は、記録媒体内に分散して記録されているファイルについても効率よくリストア可能にすることを目的とする。
【課題を解決するための手段】
【0009】
本発明に係るデータ構造作成方法は、対象データが格納される複数階層のディレクトリ構造を作成するデータ構造作成方法であって、第1ディレクトリを作成するステップと、対象データが格納される第2ディレクトリを1以上作成するステップと、第1ディレクトリのサイズが、あらかじめ決められた特定のサイズ以下となるように、第1ディレクトリ内に第2ディレクトリを1以上格納するステップとを含む。対象データは、映像データおよび音声データの少なくとも1つである。第1ディレクトリは、第1ディレクトリ階層に属する。第2ディレクトリは、第1ディレクトリ階層よりも下位の第2ディレクトリ階層に属する。
【発明の効果】
【0010】
本発明に係るデータ構造作成方法によれば、データを記録媒体にバックアップし、その後一部のデータのみをリストアする時に、シーク動作を減らし、効率よくリストアすることができる。従って、リストア時間を短縮することが可能となる。
【図面の簡単な説明】
【0011】
【図1】実施の形態1に係るバックアップ装置の構成を示すブロック図
【図2】実施の形態1に係るバックアップ処理およびリストア処理の概要を示す図
【図3】実施の形態1に係るバックアップ用に変換前のディレクトリ構造を示す図
【図4】実施の形態1に係るバックアップ用に変換後のディレクトリ構造を示す図
【図5】実施の形態1に係るディレクトリ構造の作成処理のフローチャート
【図6】実施の形態1に係るリストア対象ディレクトリの決定処理の流れを説明する図
【図7】実施の形態1に係るリストア対象ディレクトリの決定処理のフローチャート
【図8】実施の形態1に係るリストアの並列処理を説明する図
【図9】実施の形態1の変形例に係るディレクトリ構造の作成処理のフローチャート
【図10】実施の形態2に係る同一時刻の複数のデータを説明する図
【図11】実施の形態2に係る仮想ディレクトリ構造を示す図
【図12】実施の形態3に係るメタデータのためのディレクトリを説明する図
【発明を実施するための形態】
【0012】
<実施の形態1>
図1は、本実施の形態に係るバックアップ装置100の構成を示すブロック図である。図2は、バックアップ時の処理の流れおよびリストア時の処理の流れを示す。本実施の形態でのバックアップ対象のデータおよびリストア対象のデータは、映像データおよび音声データの少なくともの1つのデータである。
【0013】
まず、記録媒体101に格納されているデータをテープ状記録媒体102にバックアップする方法について説明する。
【0014】
記録媒体101は、バックアップ対象のデータが格納されている記録媒体である。記録媒体101は、HDD、光ディスク、半導体メモリ等のランダムアクセス可能な記録媒体であればその種類は問わない。記録媒体101は、バックアップ装置100に内蔵されるものであっても、バックアップ装置100に対して着脱可能なものであってもよく、各種ネットワーク等を介してバックアップ装置100に接続されるものであってもよい。
【0015】
テープ状記録媒体102は、記録媒体101に格納されているデータのバックアップ先となるテープメディアである。テープ状記録媒体102は、LTO(Linear Tape−Open)、DLT(Digital Linear Tape)等のテープ状の記録媒体であればその種類は問わない。テープ状記録媒体102は、単一のメディアでなくてもよく、複数のメディアであってもよい。テープ状記録媒体102は、バックアップ装置100に内蔵されるものであっても、バックアップ装置100に対して着脱可能なものであってもよく、各種ネットワーク等を介してバックアップ装置100に接続されるものであってもよい。テープ状記録媒体102は、ランダムアクセス不可能な記録媒体である。
【0016】
バックアップ装置100は、CPUおよび記憶部を有する。CPUは、記憶部に記憶されているプログラムを読み出して実行することにより、ディレクトリ構造作成部103、テープアクセス部104、リストアディレクトリ指定部106、およびリストアデータコピー部107として動作する。バックアップ装置100は、バッファメモリ105を有する。
【0017】
ディレクトリ構造作成部103は、記録媒体101に格納されているデータのディレクトリ構造D1を、記録媒体101内で複数階層のディレクトリ構造D2へ変換する。ディレクトリ構造作成部103の具体的な処理については後述する。ディレクトリ構造とは、ツリー状に配列される複数のディレクトリと、その最上位のディレクトリ内の全データとを含む構造体を意味する。「ディレクトリ内のデータ」と表現するときには、そのディレクトリ直下に格納されるデータおよびそのディレクトリよりも下位の全てのディレクトリ直下に格納される全データを意味するものとする。「ディレクトリ内のディレクトリ」と表現するときには、前者のディレクトリよりも下位の全てのディレクトリを意味するものとする。
【0018】
テープアクセス部104は、ディレクトリ構造作成部103によって作成された複数階層のディレクトリ構造D2を記録媒体101から読み出し、テープ状記録媒体102に書き込む。
【0019】
次に、テープ状記録媒体102にバックアップされているデータを記録媒体101にリストアする方法について説明する。
【0020】
バッファメモリ105は、テープ状記録媒体102にバックアップされているデータを記録媒体101にリストアする際に用いられる。具体的には、バッファメモリ105は、リストア先の記録媒体101にデータをリストアする前に、一時的に当該データを格納するためのバッファメモリである。バッファメモリ105は、SSD等のランダムアクセス可能なメモリであればその種類は問わない。バッファメモリ105は、単一のドライブの記憶領域でなくてもよく、複数のドライブの記憶領域を組み合わせたものであってもよい。バッファメモリ105は、バックアップ装置100に内蔵されるものであっても、バックアップ装置100に対して着脱可能なものであってもよく、各種ネットワーク等を介してバックアップ装置100に接続されるものであってもよい。
【0021】
リストアディレクトリ指定部106は、テープ状記録媒体102内の複数階層のディレクトリ構造D2内に格納されているデータの少なくとも一部がリストアされる際、リストア対象のデータが格納されているディレクトリを指定する。なお、リストアディレクトリ指定部106により指定されるディレクトリは、リストア対象のデータの直上のディレクトリになるとは限らず、リストア対象のデータの直上のディレクトリよりも上位のディレクトリにもなり得る。リストアディレクトリ指定部106の具体的な処理については後述する。
【0022】
テープアクセス部104は、リストアディレクトリ指定部106によって指定されたディレクトリ内の全データを、テープ状記録媒体102から読み出し、バッファメモリ105に書き込む。
【0023】
リストアデータコピー部107は、バッファメモリ105に格納されているデータのうち、リストア対象のデータのみをバッファメモリ105から読み出し、リストア先の記録媒体101に書き込む。簡単のため、バックアップ元の記録媒体101と同じ参照符号101を付しているが、リストア先の記録媒体101は、バックアップ元の記録媒体101と同一の記録媒体であってもよく、別の記録媒体であってもよい。
【0024】
次に、記録媒体101内のデータの格納形式について説明する。
【0025】
一般に、映像データおよび音声データの少なくとも1つがファイル形式で記録媒体に格納される時、それらのファイルが格納される形式は、収録機器や収録コンテンツの形式、規格等によって様々である。記録媒体101内では、管理情報のデータファイル(以下、管理情報ファイルと言う)と、実体データ(映像データおよび音声データの少なくとも1つのデータ)のデータファイル(実体データファイルと言う)とが、それぞれ別ファイルとして記録されている。
【0026】
また、実体データは、収録単位(1回の収録のことであり、記録開始から記録終了までの区間に対応する。)が長い場合には、時間軸に沿って複数のファイルに分けて記録される。例えば、1回の記録動作で収録された映像データのサイズが特定のサイズを超える場合には、映像データは時間軸に沿って複数のファイルに分けて記録される。
【0027】
本実施の形態では、このようにして時間軸に沿って分割されたデータの単位のことをClip(1以上のファイルを含む)と呼び、収録単位のClipの集合体をShotと呼ぶ。Clipには、管理情報ファイルおよび実体データファイルが含まれる。
【0028】
次に、図3および図4を用いてディレクトリ構造作成部103の具体的処理について説明する。
【0029】
図3は、記録媒体101に格納されているデータのディレクトリ構造D1の例を示す図である。
【0030】
図3は、記録媒体101内に、Shotが6個、Clipが12個存在する時の例である。つまり、収録時に撮影者により6回の記録動作が行われ、6回の記録動作により収録されたコンテンツが、収録機器(デジタルビデオカメラ等)により、6回の記録動作それぞれの記録時間に応じて、12個のClipに分割されて記録されている。Clip301は、1つのClipを構成するファイルの集合体であり、単一のファイルから構成される場合もあれば、複数のファイルから構成される場合もある。Clip301は、複数のディレクトリから構成される場合もある。例えば、P2コンテンツ(SMPTE RP2002−2006)の場合、CLIPファイル、VIDEOファイル、AUDIOファイルおよびICONファイル等の様々な種類のファイルの集合体として、Clip301が構成される。
【0031】
ここで、図3に示すディレクトリ構造D1をテープ状記録媒体102にバックアップする時、ディレクトリ構造作成部103は、ディレクトリ構造D1を図4に示す複数階層のディレクトリ構造D2に変換する。
【0032】
まず、ディレクトリ構造作成部103は、バックアップされるべきデータを集約するTopディレクトリ(ルートディレクトリ)として、バックアップディレクトリ421を作成する。以下の説明では、Clip#01〜Clip#12の全Clipのデータのサイズは、テープ状記録媒体102の記録容量よりも小さいものとする。
【0033】
以降のディレクトリ構造D2の作成処理の流れを図5のフローチャートを用いて説明する。
【0034】
まず、ディレクトリ構造作成部103は、S501の処理として、各Clip301に対してClipディレクトリ401を1つ作成し、Clipディレクトリ401それぞれの直下に該当するClip301を格納する。図4においては、Clip#01〜Clip#12の12個のディレクトリがClipディレクトリ401に該当する。Clipディレクトリ401が属するディレクトリ階層を、Clipディレクトリ階層411と呼ぶ。
【0035】
次に、ディレクトリ構造作成部103は、S502の処理として、バックアップディレクトリ421直下にリストアディレクトリ403を1つ作成し、このリストアディレクトリ403を以降の処理における「基準のリストアディレクトリ」に設定する。図4の例においては、RstDir#01ディレクトリが作成される。
【0036】
なお、S502および後述のS506で作成されるリストアディレクトリ403は、リストアを実施する時の処理の単位(リストア単位)となるディレクトリである。ディレクトリ構造作成部103は、1つのリストアディレクトリ403内に1つ以上のClipディレクトリ401を格納する。1つのリストアディレクトリ403の上限サイズは、予め設定されている。なお、「ディレクトリのサイズ」と表現するときには、そのディレクトリ内のデータの合計サイズを意味する。言い換えると、「ディレクトリのサイズ」とは、そのディレクトリ直下に格納されるデータおよびそのディレクトリよりも下位の全てのディレクトリ直下に格納される全データの合計サイズを意味する。ディレクトリ構造作成部103は、各リストアディレクトリ403のサイズがその上限サイズを超えないように(その上限サイズ以下となるように)、各リストアディレクトリ403内に1つ以上のClipディレクトリ401を格納する。本実施の形態では、リストアディレクトリ403の上限サイズは、バッファメモリ105の記録容量と同じに設定されている。図4においては、RstDir#01〜RstDir#03の3個のディレクトリがリストアディレクトリ403に該当する。リストアディレクトリ403が属するディレクトリ階層を、リストアディレクトリ階層413と呼ぶ。
【0037】
以降のClipディレクトリ毎に繰り返されるS503〜S506の処理のループによって、ディレクトリ構造作成部103は、リストアディレクトリ403以下のディレクトリ構造を形成する。
【0038】
ディレクトリ構造作成部103は、S503の処理として、選択Clipディレクトリ401が、基準のリストアディレクトリ403内に格納可能かどうかを判断する。選択Clipディレクトリ401とは、ループを回すために現在選択されているClipディレクトリ401である。格納可能と判断される場合には、ディレクトリ構造作成部103は、S504の処理として、選択Clipディレクトリ401を基準のリストアディレクトリ403内に格納する。S503の処理において、格納可能かどうかの判断は、その時点での基準のリストアディレクトリ403のサイズと選択Clipディレクトリ401のサイズとの和が、あらかじめ設定されているリストアディレクトリ403の上限サイズを超えるかどうかで判断される。超えると判断される場合には、格納不可能と判断され、超えないと判断される場合には、格納可能と判断される。
【0039】
S503の処理にて選択Clipディレクトリ401が基準のリストアディレクトリ403内に格納不可能と判断される場合には、ディレクトリ構造作成部103は、S505の処理を実行する。S505の処理では、基準のリストアディレクトリ403以下のディレクトリ構造がカスタマイズされる。例えば、ディレクトリ構造作成部103は、S505の処理として、図4に示すように、1以上のClipディレクトリ401の上位にShotディレクトリ402を作成する。つまり、それぞれのClipディレクトリ401が所定のShotディレクトリ402内に格納されるようにする。この時、ディレクトリ構造作成部103は、1つのShotディレクトリ402内に、そのShotディレクトリ402に対応するShotに属するClipに対応するClipディレクトリが格納されるようにする。ただし、同一Shotに属するClipに対応するClipディレクトリが、異なるShotディレクトリ402内に格納されることはあり得る。Shotディレクトリ402が属するディレクトリ階層を、Shotディレクトリ階層412と呼ぶ。
【0040】
S505が完了した後、ディレクトリ構造作成部103は、S506の処理として、バックアップディレクトリ421直下に新規のリストアディレクトリ403を1つ作成し、このリストアディレクトリ403を新規の「基準のリストアディレクトリ」に設定する。図4の例では、S505の処理により、RstDir#02ディレクトリおよびRstDir#03ディレクトリが作成される。ディレクトリ構造作成部103は、S506の処理の後、Clipディレクトリ毎に繰り返される処理のループを継続する。
【0041】
上記の処理により、図4に示すようなバックアップディレクトリ421をルートディレクトリとするディレクトリ構造D2が作成される。
【0042】
続いて、テープアクセス部104は、ディレクトリ構造作成部103によって作成されたディレクトリ構造D2を記録媒体101から読み出し、テープ状記録媒体102に書き込む。これにより、バックアップが完了する。バックアップの完了後、ディレクトリ構造作成部103は、記録媒体101内において、図4のディレクトリ構造D2を図3のディレクトリ構造D1になるように元に戻す。
【0043】
なお、本実施の形態では、図4に示すようなディレクトリ構造D2を作成する方法として、図5のフローチャートの処理を実行した。しかし、同等のディレクトリ構造D2が作成できる方法であれば任意の方法を用いてもよい。
【0044】
また、本実施の形態では、リストアディレクトリ403の上限サイズは、バッファメモリ105の記録容量と同じに設定されていた。しかし、リストアディレクトリ403の上限サイズは、バックアップシステムの用途等に応じて別の値に設定され得る。例えば、リストアディレクトリ403の上限サイズを、バッファメモリ105の記録容量以下の所定のサイズとしてもよい。あるいは、リストアディレクトリ403の上限サイズを、リストア時にテープ状記録媒体102からバッファメモリ105に一括して読み出されるデータの上限サイズ(データの読み出し単位のサイズ)としてもよい。
【0045】
また、図4においては、Clipディレクトリ401のディレクトリ名をClip#01〜Clip#12としているが、そのディレクトリ名は任意に設定され得る。
【0046】
また、図4においては、リストアディレクトリ403のディレクトリ名をRstDir#01〜RstDir#03としているが、そのディレクトリ名は任意に設定され得る。
【0047】
また、図4においては、Shotディレクトリ402のディレクトリ名をShot#01〜Shot#06としているが、そのディレクトリ名は任意に設定され得る。
【0048】
また、図4においては、リストアディレクトリ階層413は、バックアップディレクトリ421の直下の階層であるが、バックアップディレクトリ421よりも下位の階層であれば任意の階層であってもよい。
【0049】
また、図4においては、Shotディレクトリ階層412は、リストアディレクトリ階層413の直下の階層であるが、リストアディレクトリ階層413よりも下位の階層であれば任意の階層であってもよい。また、Shotディレクトリ階層412に属するShotディレクトリ402は、存在しなくともよい。
【0050】
また、図4においては、Clipディレクトリ階層411は、Shotディレクトリ階層412の直下の階層であるが、リストアディレクトリ階層413よりも下位の階層であれば任意の階層であってもよい。
【0051】
また、S505の処理として、リストアディレクトリ403のカスタマイズを行ったが、本処理は省略され得る。
【0052】
また、図9に示すように、S505の処理とS506の処理との間に、S507の処理およびS508の処理を挿入してもよい。ディレクトリ構造作成部103は、S507の処理として、基準のリストアディレクトリ403をバックアップディレクトリ421に格納可能かどうかを判断する。格納可能と判断される場合には、ディレクトリ構造作成部103は、S508の処理として、基準のリストアディレクトリ403をバックアップディレクトリ421に格納する。格納不可能と判断される場合には、ディレクトリ構造作成部103は、図9の処理を終了し、その時点のディレクトリ構造D2をテープ状記録媒体102に格納する。
【0053】
なお、S507の処理において、格納可能かどうかの判断は、その時点でのバックアップディレクトリ421のサイズと基準のリストアディレクトリ403のサイズとの和が、あらかじめ設定されているバックアップディレクトリ421の上限サイズを越えるか否かで判断される。超えると判断される場合には、格納不可能と判断され、超えないと判断される場合には、格納可能と判断される。本実施の形態では、バックアップディレクトリ421の上限サイズは、テープ状記録媒体102の記録容量と同じに設定されている。
【0054】
図9の処理では、バックアップディレクトリ421内にリストアディレクトリ403をこれ以上格納することができないと判断されるまで、バックアップディレクトリ421内にリストアディレクトリ403が追加される。つまり、ディレクトリ構造作成部103は、バックアップディレクトリ421のサイズがその上限サイズを超えないように(その上限サイズ以下となるように)、バックアップディレクトリ421内に1以上のリストアディレクトリ403を格納する。別の観点から見ると、ディレクトリ構造作成部103は、バックアップディレクトリ421のサイズ(ディレクトリ構造D2のサイズに同じ。)がその上限サイズを超えないように(その上限サイズ以下となるように)、バックアップディレクトリ421内に1以上のClip301を格納する。
【0055】
次に、テープ状記録媒体102にバックアップされているデータを記録媒体101へリストアする方法の詳細について説明する。
【0056】
リストア時には、テープ状記録媒体102からバッファメモリ105へとリストア対象のClip301のみをリストアするのではなく、リストア対象のClip301を含むディレクトリ(リストア対象ディレクトリ)内の全Clip301をリストアする方式が用いられる。この時、リストアディレクトリ指定部106が1つ以上のリストア対象ディレクトリを指定する。
【0057】
図6および図7のフローチャートに従って、リストアディレクトリ指定部106がリストア対象ディレクトリを指定する方法について説明する。
【0058】
図6は、テープ状記録媒体102にバックアップされているデータのディレクトリ構造D2を示す。ここでは、リストア対象のClip301が、
Clip#01、
Clip#03、
Clip#06、
Clip#08、
Clip#10、および
Clip#12
である場合を例にして説明する。
【0059】
まず、リストアディレクトリ指定部106は、S701の処理として、リストア対象のClip301が格納されているClipディレクトリ401を、仮のリストア対象ディレクトリとして設定する。つまり、リストアディレクトリ指定部106は、Clip#01ディレクトリ、Clip#03ディレクトリ、Clip#06ディレクトリ、Clip#08ディレクトリ、Clip#10ディレクトリおよびClip#12ディレクトリの6個のClipディレクトリ401を、仮のリストア対象ディレクトリとして設定する。
【0060】
S701の処理の後、リストアディレクトリ指定部106は、ディレクトリ構造D2に含まれるリストアディレクトリ403毎にS702〜S705の処理を繰り返すループ処理を実行する。
【0061】
次に、リストアディレクトリ指定部106は、S702の処理として、選択リストアディレクトリ403を検索ディレクトリとして設定する。選択リストアディレクトリ403とは、ループを回すために現在選択されているリストアディレクトリ403である。つまり、ループの最初のS702の処理では、RstDir#01ディレクトリが検索ディレクトリとなる。
【0062】
次に、リストアディレクトリ指定部106は、S703の処理として、検索ディレクトリ以下の仮のリストア対象ディレクトリを検索し、検索ディレクトリ以下の仮のリストア対象ディレクトリの数がN個以下であるかどうかを判定する。ここで、Nは、あらかじめ設定されている値であり、1以上の自然数である。Nの値が大きければ、1回のリストア動作でリストアされるデータ量が少なくなる反面、リストア動作の回数が増加することになる。本実施の形態では、Nの値を「1」とする。RstDir#01ディレクトリについてのS703の処理では、検索ディレクトリ(RstDir#01ディレクトリ)以下の仮のリストア対象ディレクトリは2個(Clip#01ディレクトリおよびClip#03ディレクトリ)存在するので、S703の処理の後、S704の処理に進められる。
【0063】
リストアディレクトリ指定部106は、S704の処理として、検索ディレクトリ以下の仮のリストア対象ディレクトリの1つ上位のディレクトリを、新規の仮のリストア対象ディレクトリとして設定する。より正確には、検索ディレクトリ以下の仮のリストアディレクトリを、その1つ上位のディレクトリに置換する。つまり、RstDir#01ディレクトリについてのS704の処理では、リストアディレクトリ指定部106は、Clip#01ディレクトリの1つ上位のディレクトリとして、Shot#01ディレクトリを特定する。同様に、Clip#03ディレクトリの1つ上位のディレクトリとして、Shot#01ディレクトリを特定する。従って、RstDir#01ディレクトリについてのS704の処理により、仮のリストア対象ディレクトリは、Shot#01ディレクトリと、Clip#06ディレクトリと、Clip#08ディレクトリと、Clip#10ディレクトリと、Clip#12ディレクトリの5つとなる。
【0064】
次のS703の処理においては、検索ディレクトリ(RstDir#01ディレクトリ)以下の仮のリストア対象ディレクトリ(Shot#01ディレクトリ)がN個(1個)以下となるため、S703の処理の後、S705の処理に進められる。
【0065】
リストアディレクトリ指定部106は、S705の処理として、検索ディレクトリ以下の仮のリストア対象ディレクトリをリストア対象ディレクトリとして確定させる。RstDir#01ディレクトリについてのS705の処理では、Shot#01ディレクトリがリストア対象ディレクトリに確定される。つまり、RstDir#01ディレクトリ内のリストア対象ディレクトリは、Shot#01ディレクトリとなる。
【0066】
同様の手順により、RstDir#02ディレクトリ内のリストア対象ディレクトリは、RstDir#02ディレクトリとなり、RstDir#03ディレクトリ内のリストア対象ディレクトリはClip#12ディレクトリとなる。
【0067】
上記のような処理により、リストアディレクトリ指定部106がリストア対象ディレクトリを決定する。
【0068】
リストア対象ディレクトリの決定後、テープアクセス部104が、リストア対象ディレクトリ以下の全データをテープ状記録媒体102から読み出してバッファメモリ105に書き込む。その後、リストアデータコピー部107が、バッファメモリ105に書き込まれたリストア対象ディレクトリ以下のデータの中からリストア対象のデータのみを選択し、リストア先である記録媒体101にコピーする。
【0069】
この時、テープアクセス部104によるリストア対象ディレクトリ以下の全データのリストア処理、およびリストアデータコピー部107によるリストア対象のデータのコピー処理は、リストア対象ディレクトリ単位で順次実施される。
【0070】
上記の例の場合、リストア対象ディレクトリは、
Shot#01ディレクトリ、
RstDir#02ディレクトリ、および
Clip#12ディレクトリ
である。従って、まず、テープアクセス部104は、リストア対象ディレクトリであるShot#01ディレクトリをテープ状記録媒体102から読み出してバッファメモリ105に書き込む。続いて、リストアデータコピー部107は、バッファメモリ105内のClip#01およびClip#03をリストア先の記録媒体101にコピーする。
【0071】
次に、リストアデータコピー部107は、バッファメモリ105内のShot#01ディレクトリを消去する。続いて、テープアクセス部104は、リストア対象ディレクトリであるRstDir#02ディレクトリをテープ状記録媒体102から読み出してバッファメモリ105に書き込む。続いて、リストアデータコピー部107は、バッファメモリ105内のClip#06、Clip#08およびClip#10をリストア先の記録媒体101にコピーする。
【0072】
次に、リストアデータコピー部107は、バッファメモリ105内のRstDir#02ディレクトリを消去する。続いて、テープアクセス部104は、リストア対象ディレクトリであるClip#12ディレクトリをテープ状記録媒体102から読み出してバッファメモリ105に書き込む。続いて、リストアデータコピー部107は、バッファメモリ105内のClip#12をリストア先の記録媒体101にコピーする。
【0073】
上記の要領で順次、リストア処理とコピー処理が行われる。
【0074】
本実施の形態の変形例として、図8に示すように、バックアップ装置100に2つのバッファメモリ801,802を用意してもよい。その場合、バックアップ装置100は、テープ状記録媒体102からバッファメモリへのリストア処理と、バッファメモリからリストア先の記録媒体101へのコピー処理とを並列に実行することができる。これによって、テープ状記録媒体102から記録媒体101へのトータルのリストア時間を短縮することが可能となる。つまり、バックアップ装置100では、図8に示すように、最初のリストア対象ディレクトリの処理にはバッファメモリ#1が用いられ、2番目のリストア対象ディレクトリの処理にはバッファメモリ#2が用いられ、3番目のリストア対象ディレクトリの処理には再度バッファメモリ#1が用いられる。
【0075】
上記のようなパイプラインの並列処理を行うことにより、テープ状記録媒体102から記録媒体101へのより高速なリストアが可能となる。
【0076】
なお、本実施の形態では、Nの値を「1」としたが、Nの値は「1」以外の任意の自然数であってもよく、システムの性能に応じて適当な値が設定され得る。
【0077】
また、リストア対象ディレクトリを決定する方法として、図7のフローチャートの処理を実行した。しかし、同等のリストア対象ディレクトリを決定できる方法であれば任意の方法を用いてもよい。
【0078】
本実施の形態では、バックアップ対象のデータが1つのTopディレクトリに集約されているため、バックアップ対象のデータを1回のコマンド命令でテープ状記録媒体102内にバックアップすることが可能となる。よって、バックアップ時には、テープ状記録媒体102においてシークが発生することなく、短い時間でのバックアップが可能となる。さらに、テープ状記録媒体102内には、ディレクトリ情報が一箇所に集約されて記録されることになる。よって、テープ状記録媒体102内のディレクトリ情報を取得する時のシーク回数が減り、効率よくリストアを実施することが可能となる。
【0079】
また、本実施の形態では、テープ状記録媒体102内に格納されたデータのうち、複数個所に分断されたデータをリストアする際には、テープ状記録媒体102に対するシーク処理を減らすことが可能となる。従って、トータルのリストア時間が短縮される。また、リストア対象のデータは、Shot単位で選択されるケースが多い。従って、Shotディレクトリ階層412のようなディレクトリ階層を設けることで、テープ状記録媒体102からバッファメモリ105にリストアされるデータ量をより少なく抑えることが可能となる。
【0080】
<実施の形態2>
3D映像の撮影の際には、L映像およびR映像の2系統の映像データが別々の記録媒体に記録されるケースが多い。このようなケースでは、同一時刻の映像データが複数の記録媒体に分かれて格納される。
【0081】
本実施の形態では、別々の記録媒体に記録された同一時刻のデータを効率よくバックアップおよびリストアする方法について説明する。本実施の形態でのバックアップ対象のデータおよびリストア対象のデータは、映像データおよび音声データの少なくとも1つのデータである。
【0082】
なお、本実施の形態におけるバックアップ装置100の構成は、実施の形態1とほぼ同一である。以下では、実施の形態1と同じ点については説明を省略し、主として実施の形態1との相違点について説明する。
【0083】
図10の例では、記録媒体#1には、L映像データとしてClip#1−1〜Clip#1−5等のClip301が格納されており、R映像データとして記録媒体#2には、Clip#2−1〜Clip#2−5等のClip301が格納されている。Clip#1−1〜Clip#1−5は、それぞれClip#2−1〜Clip#2−5と同一時刻の異なるデータとなっている。
【0084】
ディレクトリ構造作成部103は、仮想ディレクトリを形成し、仮想ディレクトリから記録媒体#1および記録媒体#2に対してリンクを貼ることで、図11に示す複数階層の仮想ディレクトリ構造D3を作成する。仮想ディレクトリ構造D3は、記録媒体#1、記録媒体#2、バッファメモリ105、バックアップ装置100に接続されている任意のドライブ(ネットワーク経由でバックアップ装置100に接続されているドライブを含む)等のどこに作成されてもよい。
【0085】
仮想ディレクトリ構造D3を作成する処理を、図11を用いて説明する。
【0086】
ディレクトリ構造作成部103は、仮想ディレクトリ構造D3の最上位のディレクトリ(ルートディレクトリ)としてバックアップディレクトリ421を作成し、バックアップディレクトリ421内にサブディレクトリ構造を作成する。バックアップディレクトリ421内のサブディレクトリ構造は、基本的には実施の形態1で示したように図5のフローチャートに従って作成される。ただし、ディレクトリ構造作成部103は、各Clipディレクトリ401直下にClip301の実体を配置する代わりに、記録媒体別Clipディレクトリ1001を2つ作成する。同じClipディレクトリ401直下の2つの記録媒体別Clipディレクトリ1001は、それぞれ記録媒体#1のClip301および記録媒体#2のClip301を格納するためのディレクトリであり、Clip#1−1ディレクトリ等およびClip#2−1ディレクトリ等が該当する。記録媒体別Clipディレクトリ1001が属するディレクトリの階層のことを、記録媒体別Clipディレクトリ階層1011と呼ぶ。
【0087】
次に、ディレクトリ構造作成部103は、図11に示すように、各Clip301を格納するためのディレクトリを生成し、各Clip301を該当ディレクトリ内に格納する。図11の例では、記録媒体#1および記録媒体#2におけるClip301を格納するためのディレクトリとは、Clip#1−1ディレクトリからClip#1−5ディレクトリおよびClip#2−1ディレクトリからClip#2−5ディレクトリである。なお、記録媒体#1および記録媒体#2において、各Clip301が、既に単一のディレクトリ内に格納されているような場合には、この処理は不要となる。
【0088】
次に、ディレクトリ構造作成部103は、各記録媒体別Clipディレクトリ1001から、記録媒体#1,#2内の該当Clip301が格納されているディレクトリに対してリンクを形成する。その結果、記録媒体別Clipディレクトリ1001内に、Clip301が仮想的に格納される。ここでのリンクとは、例えばシンボリックリンク等であり、リンク元のディレクトリ内のデータをリンク先のディレクトリ内のデータとして扱うことを可能にするリンクであれば任意のリンクでよい。
【0089】
上記の処理により、複数の記録媒体#1,#2内のデータを集約する仮想ディレクトリ構造D3が作成される。リストアディレクトリ403のサイズは、あらかじめ設定しされている上限サイズを超えないことが好ましい。本実施の形態では、リストアディレクトリ403のサイズを判断する場合には、記録媒体別Clipディレクトリ1001からリンクされているディレクトリ内のデータのサイズも考慮される。例えば、図11の例では、RstDir#01ディレクトリのサイズは、Clip#1−1〜Clip#2−5の10個のClip301の合計サイズとなる。リストアディレクトリ403の上限サイズとしては、これらの10個のClipの合計サイズよりも大きな値が設定されている。
【0090】
仮想ディレクトリ構造D3(Clip301の実体データを含む。)は、実施の形態1と同様に、テープアクセス部104によって、テープ状記録媒体102にバックアップされる。
【0091】
本実施の形態では、複数の記録媒体#1,#2に分かれて記録されたデータをまとめて、テープ状記録媒体102内にバックアップすることが可能となる。
【0092】
リストア時には、実施の形態1と同様に、図7のフローチャートに従ってリストア処理が実施される。
【0093】
なお、仮想ディレクトリ構造D3の作成方法は、本実施の形態に記載した方法でなくてもよく、同等の仮想ディレクトリ構造D3を作成できるのであれば、任意の方法を用いてもよい。
【0094】
また、本実施の形態の説明として、同一時刻のデータが2種類存在するケースを例示した。しかし、本実施の形態のバックアップ装置100は、同一時刻のデータが3種類以上存在するケースにも適用され得る。その場合、例えば、Clipディレクトリ401内に、同一時刻のデータの種類の数だけディレクトリを作成すればよい。
【0095】
また、本実施の形態の説明として、同一時刻の複数のデータが別々の記録媒体#1,#2に記録されているケースを例示した。しかし、同一時刻の複数のデータは、同一の記録媒体に記録されていてもよい。
【0096】
また、本実施の形態の説明として、同一時刻の複数のデータとして3D映像に含まれる左右の映像データを例示した。しかし、本実施の形態のバックアップ装置100は、同一時刻の複数のデータが記録されるのであれば、どのようなケースにも適用され得る。例えば、1つの高解像度の映像データを、複数の低解像度の映像データに分割して記録するケースに適用され得る。また、スポーツ中継等のように、ターゲットとなる被写体を複数のカメラでそれぞれ異なる角度から撮影した映像データを記録するケースにおいても適用は可能である。
【0097】
本実施の形態のバックアップ装置100では、同一時刻の複数のデータを、同一ディレクトリ(Clip#1〜Clip#5ディレクトリ)内に集約してバックアップする方式が採用された。そして、同一時刻の複数のデータが同時にリストアされる時には、同一時刻の複数のデータが同一ディレクトリ内に集約されているため、従来よりも高速なリストアが可能となる。リストアディレクトリ指定部106によって、Clipディレクトリ階層411より上位の階層のディレクトリがリストア対象ディレクトリとして指定されると、同一時刻の複数のClipデータをまとめてバッファメモリ105にリストアすることができるからである。実際の運用においても、このような形式でバックアップされた同一時刻のデータ同士は、同時にリストアされるケースが多く、本実施の形態のバックアップ装置100が有用となる。
【0098】
<実施の形態3>
本実施の形態では、各Clip301のメタデータをディレクトリ名として保存する方法について説明する。本実施の形態でのClip301は、映像データおよび音声データの少なくとも1つのデータである。
【0099】
なお、本実施の形態におけるバックアップ装置100の構成は実施の形態1とほぼ同一である。実施の形態1と同じ点については説明を省略し、主として実施の形態1との相違点について説明する。
【0100】
メタデータは、Clip301の付加情報である。例えば、映像データのメタデータとしては、タイムコード情報、Duration(映像データの長さ)等の情報がある。通常、メタデータは、実体データファイルの中に埋め込まれていたり、管理情報ファイル内に記載されていたりする。従って、通常、メタデータを取得するためには、Clip301に含まれるデータファイルの内部の情報を読み取る必要がある。つまり、テープ状記録媒体102にバックアップされたデータのメタデータを読み取る場合には、バックアップされた実体データファイルまたは管理情報ファイルをリストアする必要がある。
【0101】
そこで、本実施の形態では、ディレクトリ構造作成部103は、バックアップ時に、メタデータのためのディレクトリを作成し、当該ディレクトリのディレクトリ名としてメタデータの内容を設定する。
【0102】
本実施の形態に係る複数階層のディレクトリ構造D4の例を図12に示す。
【0103】
ディレクトリ構造作成部103は、実施の形態1で作成したディレクトリ構造D2において、各Clipディレクトリ401直下に、METAディレクトリ1101を1つ作成し、さらに各METAディレクトリ1101直下に、メタデータの内容を示すディレクトリ名のディレクトリを2つ作成する。図12の例では、ディレクトリ構造作成部103は、タイムコード情報を示すディレクトリ名を有するTCディレクトリ1102を作成し、Durationの情報を示すディレクトリ名を有するDURディレクトリ1103を作成する。図12では、Clip#01のタイムコードが「10:00:00:00」であり、Durationが「00:05:00:00」である。
【0104】
このようにして作成されたディレクトリ構造D4を、バックアップ装置100は、実施の形態1と同様の方法でテープ状記録媒体102にバックアップする。
【0105】
なお、図12に示すディレクトリ構造D4およびディレクトリ名は一例であり、同様の考え方で任意の種類のメタデータの定義を行ってもよい。メタデータのためのディレクトリの数は、2つに限られず、1つであってもよいし、3以上であってもよい。
【0106】
また、図12では、ディレクトリ構造作成部103は、各種メタデータのためのディレクトリを格納するためのMETAディレクトリ1101を作成した。しかし、METAディレクトリ1101を省略し、Clipディレクトリ401直下に各種メタデータのためのディレクトリを配置してもよい。各種メタデータのためのディレクトリは、Clipディレクトリ階層411より下位の階層であれば任意の階層に属するディレクトリ内に配置され得る。
【0107】
上記のように、メタデータをディレクトリ名として設定することにより、テープ状記録媒体102内のデータファイルをリストアしなくても、ディレクトリ情報を参照するだけで、ディレクトリ構造D4内にどのようなデータが格納されているかを判断することが可能となる。ディレクトリ情報は、テープ状記録媒体102内において、ディレクトリ構造D4とは別に格納されている。また、例えば、利用者が編集情報(PlayList/EDL等)で参照されている特定のClip301のみをリストアしたい場合には、編集情報に記載されているタイムコード情報と、TCディレクトリ1102および/またはDURディレクトリ1103等のディレクトリ名の情報を元に、リストアすべきClip301を判別することが可能となる。
【産業上の利用可能性】
【0108】
本発明に係るデータ構造作成方法は、映像データおよび音声データの少なくとも1つを記録媒体(特に、テープ状記録媒体のようなランダムアクセスが不可能な記録媒体)にバックアップするシステム等に用いられる。
【符号の説明】
【0109】
101 記録媒体
102 テープ状記録媒体
103 ディレクトリ構造作成部
104 テープアクセス部
105 バッファメモリ
106 リストアディレクトリ指定部
107 リストアデータコピー部
301 Clip
421 バックアップディレクトリ
401 Clipディレクトリ
402 Shotディレクトリ
403 リストアディレクトリ
411 Clipディレクトリ階層
412 Shotディレクトリ階層
413 リストアディレクトリ階層
801 バッファメモリ#1
802 バッファメモリ#2
901 記録媒体#1
902 記録媒体#2
1011 記録媒体別Clipディレクトリ階層
1101 記録媒体別Clipディレクトリ
1101 METAディレクトリ
1102 TCディレクトリ
1103 DURディレクトリ

【特許請求の範囲】
【請求項1】
映像データおよび音声データの少なくとも1つである対象データが格納される複数階層のディレクトリ構造を作成するデータ構造作成方法であって、
第1ディレクトリ階層に属する第1ディレクトリを作成するステップと、
前記第1ディレクトリ階層よりも下位の第2ディレクトリ階層に属し、前記対象データが格納される第2ディレクトリを1以上作成するステップと、
前記第1ディレクトリのサイズが、あらかじめ決められた特定のサイズ以下となるように、前記第1ディレクトリ内に前記第2ディレクトリを1以上格納するステップと、
を含む、データ構造作成方法。
【請求項2】
前記ディレクトリ構造をランダムアクセスが不可能な第1記録媒体にバックアップするステップ、
をさらに含む、
請求項1に記載のデータ構造作成方法。
【請求項3】
前記あらかじめ決められた特定のサイズは、前記第1記録媒体から、前記ディレクトリ構造内に格納される前記対象データの少なくとも一部をリストアする際に用いられるバッファメモリの容量以下のサイズである、
請求項2に記載のデータ構造作成方法。
【請求項4】
前記あらかじめ決められた特定のサイズは、前記第1記録媒体から、前記ディレクトリ構造内に格納される前記対象データの少なくとも一部をリストアする際に、前記第1記録媒体から一括して読み出されるデータの上限サイズである、
請求項2に記載のデータ構造作成方法。
【請求項5】
前記第1ディレクトリを作成するステップは、前記第1ディレクトリを1以上作成するステップであり、
前記第1ディレクトリ階層よりも上位の第3ディレクトリ階層に属する第3ディレクトリを作成するステップと、
前記第3ディレクトリのサイズが、前記第1記録媒体の記録容量以下のサイズとなるように、前記第3ディレクトリ内に前記第1ディレクトリを1以上格納するステップと、
をさらに含む、
請求項2〜4のいずれかに記載のデータ構造作成方法。
【請求項6】
前記第2ディレクトリのそれぞれに対し、前記第2ディレクトリ階層よりも下位の第4ディレクトリ階層に属する複数の第4ディレクトリを作成するステップと、
同じ前記第2ディレクトリに対応する複数の前記第4ディレクトリ内に、それぞれ同一時刻に収録された異なる前記対象データを格納するステップと、
をさらに含む、
請求項1から5のいずれかに記載のデータ構造作成方法。
【請求項7】
前記第2ディレクトリのそれぞれに対し、前記第2ディレクトリ階層よりも下位の第5ディレクトリ階層に属する第5ディレクトリを作成するステップと、
前記第5ディレクトリのそれぞれのディレクトリ名を、前記第5ディレクトリのそれぞれに対応する前記第2ディレクトリ内に格納される前記対象データのメタデータに設定するステップと、
をさらに含む、
請求項1から6のいずれかに記載のデータ構造作成方法。
【請求項8】
請求項1に記載の前記ディレクトリ構造を第1記録媒体にバックアップするバックアップ装置であって、
前記データ構造作成方法を使用して前記ディレクトリ構造を作成するディレクトリ構造作成部と、
前記ディレクトリ構造作成部により作成された前記ディレクトリ構造を前記第1記録媒体にバックアップする記録媒体アクセス部と、
を備える、バックアップ装置。
【請求項9】
前記第1ディレクトリ以下から、リストア対象となる前記対象データを含むリストア対象ディレクトリの個数が特定の個数以下となるように、前記リストア対象ディレクトリを指定するリストアディレクトリ指定部と、
前記記録媒体アクセス部により前記第1記録媒体から読み出される、前記リストアディレクトリ指定部により指定された前記リストア対象ディレクトリ内の全ての前記対象データを一時的に格納するバッファメモリと、
前記バッファメモリ内に格納された前記対象データのうち、リストア対象となる前記データを選択して第2記録媒体にコピーするリストアデータコピー部と、
をさらに備える、
請求項8に記載のバックアップ装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate


【公開番号】特開2012−64296(P2012−64296A)
【公開日】平成24年3月29日(2012.3.29)
【国際特許分類】
【出願番号】特願2010−284428(P2010−284428)
【出願日】平成22年12月21日(2010.12.21)
【出願人】(000005821)パナソニック株式会社 (73,050)
【Fターム(参考)】