(57)【要約】【課題】本発明は、データ再生の際にディスクのシーク回数を抑えることができるようにする新たなディスク管理技術の提供を目的とする。【解決手段】ディスクに記録されるコンテンツの記録領域を指定するリストと、ディスクの持つ連続した空き領域を指定するリストとによってディスクの領域を管理して、新たなコンテンツをディスクに書き込む際に、空き領域リストを検索し、そのコンテンツのデータ全体を格納するのに十分な大きさの空き領域があった場合には、その中で最も小さな空き領域にコンテンツの記録領域を割り当て、一方、十分な大きさの空き領域が見つからなかった場合には、コンテンツのデータを分割し、サイズの大きな空き領域からコンテンツの記録領域を割り当てるようにする。この構成に従って、ディスクのフラグメントの発生を減らすことで、ディスクのシーク回数を抑えることができるようになる。【選択図】図１
2009076170.tif 000002
【特許請求の範囲】
【請求項１】
ディスクの領域を管理するディスク管理方法であって、
ディスクに記録されるコンテンツの記録領域を指定するリストを作成更新するとともに、ディスクの持つ連続した空き領域を指定するリストを作成更新することによって、ディスクの領域を管理する過程と、
新たなコンテンツをディスクに書き込む際に、前記空き領域のリストを検索して、そのコンテンツのデータ全体を格納するのに十分な大きさの空き領域があった場合には、その中で最も小さな空き領域にコンテンツの記録領域を割り当てる過程と、
前記検索処理において、コンテンツのデータ全部を格納するのに十分な大きさの空き領域が見つからなかった場合には、コンテンツのデータを分割し、サイズの大きな空き領域からコンテンツの記録領域を割り当てる過程とを有することを、
特徴とするディスク管理方法。
【請求項２】
ディスクの領域を管理するディスク管理方法であって、
映像、オーディオ、字幕を少なくとも含むトラックごとに分割されたファイルによって構成されるマルチメディアコンテンツを取得する過程と、
前記取得したマルチメディアコンテンツをディスクに書き込む際に、各トラックファイルを一定時間単位でインターリーブし、連続的に読み出し可能なデータに変換してディスクに書き込む過程とを有することを、
特徴とするディスク管理方法。
【請求項３】
請求項１に記載のディスク管理方法において、
新たなコンテンツをディスクに書き込む際にあって、コンテンツのデータサイズと予測保持時間とが与えられた場合に、コンテンツをデータサイズと保持時間とによって分類し、その分類に基づいて前記空き領域のリストを検索して、分類されたコンテンツの記録領域がディスク領域内において混在しないように、空き領域にコンテンツの記録領域を割り当てる過程を有することを、
特徴とするディスク管理方法。
【請求項４】
請求項１又は３に記載のディスク管理方法において、
記録領域が分割されているコンテンツについて、一方の記録領域のサイズが一定以下であり、かつ、その記録領域を空き領域に移動することによりそのコンテンツの記録領域が連続した状態に変更可能な場合に、その移動を行う過程を有することを、
特徴とするディスク管理方法。
【請求項５】
請求項１又は３に記載のディスク管理方法において、
記録領域が分割されているコンテンツについて、一方の記録領域のサイズが一定以上で、かつ、その記録領域に隣接する領域にサイズが一定以下のコンテンツの記録領域が確保されている場合にあって、その隣接する領域に記録されているコンテンツのデータを移動するのに十分な大きさの空き領域がある場合に、その移動を行う過程を有することを、
特徴とするディスク管理方法。
【請求項６】
請求項１又は３に記載のディスク管理方法において、
サイズが一定以下であり、かつ、両側に一定サイズ以上の空き領域があるコンテンツの記録領域について、その記録領域に記録されているコンテンツのデータを移動するのに十分な大きさの空き領域がある場合に、その移動を行う過程を有することを、
特徴とするディスク管理方法。
【請求項７】
ディスクの領域を管理するディスク管理装置であって、
ディスクに記録されるコンテンツの記録領域を指定するリストと、ディスクの持つ連続した空き領域を指定するリストとによって、ディスクの領域を管理する手段と、
新たなコンテンツをディスクに書き込む際に、前記空き領域のリストを検索して、そのコンテンツのデータ全体を格納するのに十分な大きさの空き領域があった場合には、その中で最も小さな空き領域にコンテンツの記録領域を割り当てる手段と、
前記検索処理において、コンテンツのデータ全部を格納するのに十分な大きさの空き領域が見つからなかった場合には、コンテンツのデータを分割し、サイズの大きな空き領域からコンテンツの記録領域を割り当てる手段とを有することを、
特徴とするディスク管理装置。
【請求項８】
ディスクの領域を管理するディスク管理装置であって、
映像、オーディオ、字幕を少なくとも含むトラックごとに分割されたファイルによって構成されるマルチメディアコンテンツを取得する手段と、
前記取得したマルチメディアコンテンツをディスクに書き込む際に、各トラックファイルを一定時間単位でインターリーブし、連続的に読み出し可能なデータに変換してディスクに書き込む手段とを有することを、
特徴とするディスク管理装置。
【請求項９】
請求項１ないし６のいずれか１項に記載のディスク管理方法をコンピュータに実行させるためのディスク管理用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ディスクの領域を管理するディスク管理方法およびその装置と、そのディスク管理方法の実現に用いられるディスク管理用プログラムとに関し、特に、データ再生の際にディスクのシーク回数を抑えることができるようにするディスク管理方法およびその装置と、そのディスク管理方法の実現に用いられるディスク管理用プログラムとに関する。
【０００２】
本発明は、ディスク内におけるデータの記録領域を管理する際に用いられ、特に、マルチメディアのコンテンツのデータを記録し、ディスクに記録されたコンテンツをリアルタイムに読み出す必要のある場合に用いられる。
【背景技術】
【０００３】
マルチメディアコンテンツのデータをディスクに記録し、これを再生するシステムが広く用いられている。
【０００４】
そのようなシステムの一例として、デジタルシネマで利用される映像サーバが挙げられる（例えば、非特許文献１参照）。
【０００５】
デジタルシネマ用映像サーバでは、特に、符号化のビットレートが家庭用のシステムと比較すると数十倍の帯域を有するため、ディスクにおいて記録領域が不連続となるフラグメントが発生すると、ディスクのシーク処理の遅延のために、再生されるデータのエラーや駒落ちが発生する可能性がある。また、高速にシークを繰り返した場合、制御回路の発熱などにより、特に長時間の再生を行う場合にディスク寿命や放熱の面で問題が発生する可能性がある。
【０００６】
従来用いられている一般的なファイルシステムでは、ファイルの書き込み時にファイルのサイズがわからない。これから、データの書き込みに対してできるだけ連続領域を確保するため、ブロック単位で記録領域を確保する、あるいは遅延書き込みを行い、まとまったデータに対して一括でデータ領域を割り当てるなどの工夫を行っている（例えば、非特許文献２参照）。
【０００７】
しかし、数百Ｇバイトの容量となるようなデジタルシネマ用コンテンツにおいて、フラグメントを防止することは困難である。
【０００８】
デジタルシネマでは、一般的に、２〜３時間の上映時間を持つ本編、２〜３分の予告篇や広告、コンテンツ間に挿入される数秒〜数十秒のロゴや案内画面など、サイズの異なるいくつかの種類のコンテンツによって構成されるが、これらのコンテンツは一般にシステム上で保持する期間が異なり、サイズの大きな本編では短く、サイズの小さな予告篇、広告、ロゴ画像等では長くなる傾向がある。
【０００９】
このため、長編の間に予告篇、シネアド、ロゴ画像のコンテンツが挿入される形でディスク内にデータが配置されると、長期間にわたってフラグメントが解消しない状態が発生し得る。
【００１０】
フラグメントは、ディスクの記録領域を移動して並び替えを行うデフラグメント処理によって解消することが可能であり、ファイルシステムの機能としてデフラグメント処理を実装しているものもある（例えば、非特許文献３参照）。
【００１１】
しかし、デフラグメント処理は、一般的に、非常に時間がかかるため、劇場で連続運用されるシステムにおいてディスク領域全体のデフラグメント処理を実施することは困難である。
【００１２】
フラグメントを防ぐ方法として、コンテンツに対して、あらかじめディスクの領域をいくつかに分割して管理する方法がある。この方法によれば、コンテンツの削除が行われたディスク領域を初期化することによって、フラグメントの発生を完全に抑えることが可能である。
【００１３】
しかし、本編のデータサイズは、アニメなど効果的に圧縮がきくものでは１００Ｇバイト程度、長編コンテンツでは３００Ｇバイト以上と大きくばらつくため、固定的な領域を確保しておく方法ではディスク領域に大きな無駄領域が発生する。
【００１４】
さらに、デジタルシネマで用いられているコンテンツファイルは、映像、オーディオ、字幕が別ファイルで構成されており、コンテンツの再生時にはこれらを並列に読み出す必要がある。また、映像、オーディオ、字幕のファイルは、それぞれ、数十Ｇバイト、数Ｇバイト、数十〜数Ｍバイトとサイズが大きく、サイズも異なる。
【００１５】
一般的に、ディスクの管理ブロックサイズを大きくすれば、フラグメントは少なくすることが可能であるが、サイズの小さな字幕データに対しては、無駄領域が発生してしまう可能性がある。
【非特許文献１】インターネット＜ＵＲＬ：http://www.dcimovies.com/vlerrata/DCI ＿Digital ＿Cinema＿System＿Spec＿vl.pdf＞
【非特許文献２】"Scalability in the XFS File System", インターネット＜ＵＲＬ：http://oss.sgi.com/projects/xfs/papers/xfs＿usenix/index.html ＞
【非特許文献３】"Defragmentation Performance Testing PerfectDisk V7 and Diskkeeper V10 Enterprise Edition/Terabyte Volume Engine(TVE)", 2006 Raxco Software インターネット＜ＵＲＬ：http://www.raxco.com/products/perfectdisk2k/Whitepapers/PD7 ＿DK10＿Defragmentation ＿Performance ＿Test.pdf＞
【発明の開示】
【発明が解決しようとする課題】
【００１６】
上述したように、従来技術に従っていると、リアルタイム再生を行うコンテンツを格納するディスクにおいて、ディスクのフラグメントの発生が多いことで、データ再生の際にディスクのシーク回数が増加するという問題がある。
【００１７】
特に、この問題は、デジタルシネマで用いられているコンテンツファイルを取り扱う場合に大きなものとなる。
【００１８】
本発明はかかる事情に鑑みてなされたものであって、リアルタイム再生を行うコンテンツを格納するディスクにおいて、データ再生の際にディスクのシーク回数を抑えることができるようにする新たなディスク管理技術の提供を目的とする。
【課題を解決するための手段】
【００１９】
〔１〕第１の構成
上記の目的を達成するために、本発明のディスク管理装置は、（１）ディスクに記録されるコンテンツの記録領域を指定するリストと、ディスクの持つ連続した空き領域を指定するリストとによって、ディスクの領域を管理する管理手段と、（２）新たなコンテンツをディスクに書き込む際に、管理手段の管理する空き領域リストを検索して、そのコンテンツのデータ全体を格納するのに十分な大きさの空き領域があった場合には、その中で最も小さな空き領域にコンテンツの記録領域を割り当てる第１の割当手段と、（３）第１の割当手段による空き領域リストの検索処理において、コンテンツのデータ全部を格納するのに十分な大きさの空き領域が見つからなかった場合には、コンテンツのデータを分割し、サイズの大きな空き領域からコンテンツの記録領域を割り当てる第２の割当手段と、（４）新たなコンテンツをディスクに書き込む際にあって、コンテンツのデータサイズと予測保持時間とが与えられた場合に、コンテンツをデータサイズと保持時間とによって分類し、その分類に基づいて管理手段の管理する空き領域リストを検索して、分類されたコンテンツの記録領域がディスク領域内において混在しないように、空き領域にコンテンツの記録領域を割り当てる第３の割当手段と、（５）記録領域が分割されているコンテンツについて、一方の記録領域のサイズが一定以下であり、かつ、その記録領域を空き領域に移動することによりそのコンテンツの記録領域が連続した状態に変更可能な場合に、その移動を行う第１の移動手段と、（６）記録領域が分割されているコンテンツについて、一方の記録領域のサイズが一定以上で、かつ、その記録領域に隣接する領域にサイズが一定以下のコンテンツの記録領域が確保されている場合にあって、その隣接する領域に記録されているコンテンツのデータを移動するのに十分な大きさの空き領域がある場合に、その移動を行う第２の移動手段と、（７）サイズが一定以下であり、かつ、両側に一定サイズ以上の空き領域があるコンテンツの記録領域について、その記録領域に記録されているコンテンツのデータを移動するのに十分な大きさの空き領域がある場合に、その移動を行う第３の移動手段とを備えるように構成する。
【００２０】
以上の各処理手段が動作することで実現される本発明のディスク管理方法はコンピュータプログラムでも実現できるものであり、このコンピュータプログラムは、適当なコンピュータ読み取り可能な記録媒体に記録して提供されたり、ネットワークを介して提供され、本発明を実施する際にインストールされてＣＰＵなどの制御手段上で動作することにより本発明を実現することになる。
【００２１】
〔２〕第２の構成
また、上記の目的を達成するために、本発明のディスク管理装置は、（１）映像、オーディオ、字幕を少なくとも含むトラックごとに分割されたファイルによって構成されるマルチメディアコンテンツを取得する取得手段と、（２）取得手段の取得したマルチメディアコンテンツをディスクに書き込む際に、各トラックファイルを一定時間単位でインターリーブし、連続的に読み出し可能なデータに変換してディスクに書き込む書込手段とを備えるように構成する。
【００２２】
以上の各処理手段が動作することで実現される本発明のディスク管理方法はコンピュータプログラムでも実現できるものであり、このコンピュータプログラムは、適当なコンピュータ読み取り可能な記録媒体に記録して提供されたり、ネットワークを介して提供され、本発明を実施する際にインストールされてＣＰＵなどの制御手段上で動作することにより本発明を実現することになる。
【００２３】
〔３〕本発明について
〔３−１〕
本発明では、ディスクに記録されるコンテンツの記録領域を指定するリストを作成更新するとともに、ディスクの持つ連続した空き領域を指定するリストを作成更新することによって、ディスクの領域を管理して、新たなコンテンツをディスクに書き込む際に、空き領域リストを検索して、そのコンテンツのデータ全体を格納するのに十分な大きさの空き領域があった場合には、その中で最も小さな空き領域にコンテンツの記録領域を割り当て、一方、空き領域リストの検索処理において、そのコンテンツのデータ全部を格納するのに十分な大きさの空き領域が見つからなかった場合には、コンテンツのデータを分割し、サイズの大きな空き領域からコンテンツの記録領域を割り当てるようにする。
【００２４】
この構成に従って、本発明によれば、格納するコンテンツのデータサイズに応じてディスクの空き領域が割り当てられることになり、これから、コンテンツ全体を格納するのに十分な大きさの連続空き領域がある場合には、ディスクのフラグメントは発生しない。
【００２５】
〔３−２〕
本発明では、映像、オーディオ、字幕などのトラックごとに分割されたファイルによって構成されるマルチメディアコンテンツを取得して、その取得したマルチメディアコンテンツをディスクに書き込む際に、各トラックファイルを一定時間単位でインターリーブし、連続的に読み出し可能なデータに変換してディスクに書き込むようにする。
【００２６】
この構成に従って、本発明によれば、映像、オーディオ、字幕といったサイズが大きく異なるファイルは１つのファイルに結合されるため、ディスクの中で効率的に格納することが可能である。そして、コンテンツの再生時に、映像、オーディオ、字幕の各トラックファイルを並行して読み出すため、ディスクのシークを行う必要がない。
【００２７】
〔３−３〕
本発明では、新たなコンテンツをディスクに書き込む際にあって、コンテンツのデータサイズと予測保持時間とが与えられた場合に、例えば、サイズが大きくかつ保持期間の短いコンテンツとそれ以外のコンテンツというように分類して、空き領域リストを検索することで書き込み先となる空き領域を検索するときに、この分類に基づいてアドレス順に並べられた空き領域リスト内でリストの検索方向を逆にし、コンテンツを格納するのに十分な空き領域が見つかった時点で検索を終了することで、分類されたコンテンツの記録領域がディスク領域内において混在しないように、空き領域にコンテンツの記録領域を割り当てるようにする。
【００２８】
この構成に従って、本発明によれば、コンテンツのデータサイズと予想される保持期間とに応じて記録領域が分離されて配置されるため、保持期間の長い小さなサイズのコンテンツのデータによって、空き領域が分断されてしまう可能性を小さく抑えることができる。
【００２９】
〔３−４〕
本発明では、記録領域が分割されているコンテンツについて、一方の記録領域のサイズが一定以下であり、かつ、その記録領域を空き領域に移動することによりそのコンテンツの記録領域が連続した状態に変更可能な場合に、その移動を行うようにする。
【００３０】
例えば、コンテンツの消去を行った場合に、分割されているコンテンツが空き領域を挟んで接することが起こり、そのようなときには、大きさが一定サイズ以下の記録領域の方を移動することで、コンテンツの記録領域が連続した状態に変更可能となるので、その移動を行うようにするのである。
【００３１】
この構成に従って、本発明によれば、データ消去時などにより開放されたディスク領域（空き領域）にデータを移動することにより、フラグメントの解消を行うことが可能である。しかも、移動が行われるのは移動するデータ領域のサイズが一定以下の場合に限られるため、移動処理に要する時間を短く抑えることが可能である。
【００３２】
〔３−５〕
本発明では、記録領域が分割されているコンテンツについて、一方の記録領域のサイズが一定以上で、かつ、その記録領域に隣接する領域にサイズが一定以下のコンテンツの記録領域が確保されている場合にあって、その隣接する領域に記録されているコンテンツのデータを移動するのに十分な大きさの空き領域がある場合に、その移動を行うようにする。
【００３３】
この構成に従って、本発明によれば、コンテンツの記録領域に隣接する領域を空き領域とすることができるようになることで、フラグメントの解消を行うことが可能である。しかも、移動が行われるのは移動するデータ領域のサイズが一定以下の場合に限られるため、移動処理に要する時間を短く抑えることが可能である。
【００３４】
〔３−６〕
本発明では、サイズが一定以下であり、かつ、両側に一定サイズ以上の空き領域があるコンテンツの記録領域について、その記録領域に記録されているコンテンツのデータを移動するのに十分な大きさの空き領域がある場合に、その移動を行うようにする。
【００３５】
この構成に従って、本発明によれば、空き領域が分断されている場合に、それを結合して広い連続空き領域を確保することが可能となる。しかも、移動が行われるのは移動するデータ領域のサイズが一定以下の場合に限られるため、移動処理に要する時間を短く抑えることが可能である。
【発明の効果】
【００３６】
本発明は、リアルタイム再生を行うコンテンツを格納するディスクの領域管理に適用できるものであり、フラグメントの数を大幅に抑えることができるようになり、その結果シーク回数を大幅に抑えることができるようになる。
【００３７】
そして、データ領域の移動処理を追加することで、フラグメントが発生した場合にも、それを短期間で解消することが可能である。しかも、そのとき必要となるデータ移動は、限られたデータサイズの領域にしか行われないため、ディスクのデータ領域全体にデフラグメント処理を行った場合と比較すると、処理を短時間に終えることが可能である。
【発明を実施するための最良の形態】
【００３８】
以下、実施の形態に従って本発明を詳細に説明する。
【００３９】
図１に、本発明を具備するディスク管理システム１の一実施形態例を図示する。
【００４０】
本発明のディスク管理システム１は、この図に示すように、コンテンツファイル１０と、ディスク１１と、コンテンツ取得部１２と、ディスク書込部１３と、コンテンツファイル変換部１４と、ディスク領域管理リスト１５と、ディスク領域割当部１６と、ディスク領域整理部１７とを備える。
【００４１】
コンテンツ取得部１２は、デジタルシネマなどのようなマルチメディアコンテンツなどを取得して、コンテンツファイル１０に格納する。
【００４２】
ディスク書込部１３は、コンテンツファイル１０からマルチメディアコンテンツなどのコンテンツを読み出して、ディスク１１に書き込む。この書き込みにあたって、ディスク書込部１３は、ディスク領域割当部１６に対して、コンテンツの書き込み先となるディスク領域の割り当てを要求する。
【００４３】
コンテンツファイル変換部１４は、例えばディスク書込部１３に備えられて、コンテンツファイル１０から読み出したマルチメディアコンテンツのデータ形式を変換して、ディスク１１に書き込む。
【００４４】
ディスク領域管理リスト１５は、ディスク１１に記録されているコンテンツの情報と、それらのコンテンツがディスク１１のどこに記録されているのかという情報と、ディスク１１の空き領域がどこにあるのかという情報とを管理する。
【００４５】
ディスク領域割当部１６は、ディスク書込部１３からのディスク領域の割当要求を受けて、ディスク領域管理リスト１５を参照・更新しつつ、ディスク書込部１３の要求するデータサイズを持つディスク領域を獲得して、ディスク書込部１３に通知する。
【００４６】
ディスク領域整理部１７は、ディスク領域管理リスト１５を参照することで、ディスク１１の持つコンテンツの書き込まれている記録領域の配置位置や、コンテンツの書き込まれていない空き領域の配置位置を整理した方がよい状態が発生したのか否かを判断して、記録領域や空き領域の配置位置を整理した方がよい状態が発生したことを判断する場合には、該当する記録領域や空き領域の配置位置を整理して、それに応じて、ディスク領域管理リスト１５の情報を更新する。
【００４７】
次に、図２に従って、ディスク領域管理リスト１５のデータ構造について詳細に説明する。
【００４８】
ディスク領域管理リスト１５は、この図に示すように、ディスク１１に記録されているコンテンツがどのようなものであり、それらのコンテンツがどのような属性情報を持つのかという情報を管理するコンテンツ管理リスト１５０と、それらのコンテンツがどこのディスク領域に記録されているのかという情報を管理するコンテンツ記録領域管理リスト１５１と、コンテンツの記録されていない空きのディスク領域がどこにあるのかという情報を管理する空き領域管理リスト１５２とで構成される。
【００４９】
コンテンツ管理リスト１５０は、ディスクに記録されている各コンテンツについて、そのコンテンツの名称、そのコンテンツの種別、そのコンテンツのサイズ、そのコンテンツの保持期間などの属性情報をリスト形式で管理する。
【００５０】
コンテンツ記録領域管理リスト１５１は、コンテンツ管理リスト１５０に管理される各コンテンツ毎に、そのコンテンツが記録されているディスク領域（ディスクの全領域の中に配置された連続領域であり、開始点とサイズの情報を有する。以下、このディスク領域を記録領域と略記することがある）の情報をリスト形式で管理する。
【００５１】
空き領域管理リスト１５２は、ディスクの持つコンテンツの記録されていない空きのディスク領域（ディスクの全領域の中に存在する空きの連続領域であり、開始点とサイズの情報を有する。以下、このディスク領域を空き領域と略記することがある）の情報をリスト形式で管理する。
【００５２】
図３に、ディスク領域割当部１６が実行する書込対象のコンテンツに対してのディスク領域の割当処理のフローチャートの一例を図示する。
【００５３】
ディスク領域割当部１６は、ディスク書込部１３からディスク領域の割当要求があると、図３のフローチャートに示すように、先ず最初に、ステップＳ１００で、ディスク書込部１３から書込対象のコンテンツのデータサイズの情報を受け取る。
【００５４】
続いて、ステップＳ１０１で、空き領域管理リスト１５２を参照することで、受け取ったデータサイズよりも大きな空き領域を検索する。
【００５５】
続いて、ステップＳ１０２で、受け取ったデータサイズよりも大きな空き領域を検索できたのか否かを判断して、検索できたことを判断するときには、ステップＳ１０３に進んで、検索した空き領域の中から、最小サイズの空き領域を選択する。
【００５６】
続いて、ステップＳ１０４で、選択した空き領域からコンテンツを記録するディスク領域を切り出し、書込対象のコンテンツに割り当てて、コンテンツ記録領域管理リスト１５１に登録する。
【００５７】
続いて、ステップＳ１０５で、選択した空き領域に残されている空き領域を特定して、その特定した空き領域の情報を空き領域管理リスト１５２に登録する。
【００５８】
続いて、ステップＳ１０６で、ディスク書込部１３に対して、ディスク領域の割当結果を返信して、処理を終了する。
【００５９】
一方、ステップＳ１０２の判断処理で、受け取ったデータサイズよりも大きな空き領域を検索できないことを判断するときには、ステップＳ１０７に進んで、検索した空き領域の中から、最大サイズの空き領域を選択し、書込対象のコンテンツに割り当てて（追加する形で割り当てる）、コンテンツ記録領域管理リスト１５１に登録し、さらに、空き領域管理リスト１５２からその割り当てた空き領域の情報を削除する。
【００６０】
続いて、ステップＳ１０８で、コンテンツのデータサイズ（現在設定されているコンテンツのデータサイズ）から、ステップＳ１０７で割り当てたデータサイズを差し引くことで、書込対象のコンテンツのデータサイズを更新してから、ステップＳ１０１の処理に戻ることで、コンテンツの全データを記録可能なディスク領域が確保されるまで、このコンテンツの分割処理を繰り返していく。
【００６１】
そして、この分割処理を繰り返していくときに、ステップＳ１０２で、現在設定されているコンテンツのデータサイズよりも大きな空き領域を検索できたことを判断するときには、ステップＳ１０３〜ステップＳ１０６の処理を行って、処理を終了する。
【００６２】
ディスク領域割当部１６がこのようなディスク領域の割り当てを行うことにより、コンテンツ全体を記録するのに十分なサイズの連続する空き領域がある場合には、コンテンツの記録領域が分割されることがない。
【００６３】
さらに、コンテンツ全体を記録するのに十分なサイズの連続する空き領域がない場合には、コンテンツの記録領域は大きな空き領域から確保されるため、極端に小さな空き領域にデータが割り当てられることによりディスクのシークが短時間に複数回発生する確率を小さく抑えることが可能である。
【００６４】
図４に、コンテンツファイル変換部１４により実行されるコンテンツファイルの変換方法を図示する。
【００６５】
デジタルシネマのコンテンツは、図４の上段に示すように、映像、オーディオ、字幕といったトラックごとのファイルに分割され、さらに時間方向に複数のファイルに分割されている。
【００６６】
このような構造は、映像、オーディオ、字幕が別々のファイルとなっていることから、データの一部を差し替える際には便利であるが、コンテンツの再生の際には、映像、オーディオ、字幕を並列に読み出すためにデータファイルのシークを交互に行う必要がある。さらに、時間的にも別のファイルとなっているため、一般的なファイルシステムでは、リール（映像シネマでは複数のリールをつなげることで構成されている）の継ぎ目でも、ファイルのクローズとオープンを行う必要が発生する。
【００６７】
そこで、コンテンツファイル変換部１４は、図４の下段に示すように、各トラックファイルから、そのメタ情報と各フレームおよびリールのサイズ情報とを取り出し、これらをコンテンツ属性情報として管理すると共に、各トラックファイルのデータをたとえば１フレームずつインターリーブしてディスク領域に記録するようにする。
【００６８】
ここで、コンテンツ属性情報の一つとして、リール先頭位置のオフセットを管理するのは、映像シネマの場合にはリールを検索キーとして指定する検索が行われることがあるからである。
【００６９】
図５に、このデータ変換を行うためにコンテンツファイル変換部１４が実行するフローチャートの一例を図示する。
【００７０】
すなわち、コンテンツファイル変換部１４は、デジタルシネマのコンテンツをディスク１１に書き込むときには、図５のフローチャートに示すように、先ず最初に、ステップＳ２００で、映像トラックファイル、オーディオトラックファイル、字幕トラックファイルの各トラックファイルから、そのメタ情報と各フレームおよびリールのサイズ情報とを取得し、続くステップＳ２０１で、その取得した情報に基づいて、変換後のコンテンツに関してのコンテンツ属性情報を生成する。
【００７１】
続いて、ステップＳ２０２で、フレーム番号を示す変数ｉに初期値“１”をセットし、続くステップＳ２０３で、変数ｉの値が最大フレーム番号ｉmax より大きくなったのか否かを判断する。
【００７２】
この判断処理に従って、変数ｉの値が最大フレーム番号ｉmax より大きくなっていないことを判断するときには、ステップＳ２０４に進んで、映像トラックファイルからｉ番目のフレームの映像データを取り出し、ディスク１１に書き込む。
【００７３】
続いて、ステップＳ２０５で、オーディオトラックファイルからｉ番目のフレームのオーディオデータを取り出し、ステップＳ２０４で書き込んだ映像データに続ける形でディスク１１に書き込む。
【００７４】
続いて、ステップＳ２０６で、字幕トラックファイルからｉ番目の字幕データを取り出し、ステップＳ２０５で書き込んだオーディオデータに続ける形でディスク１１に書き込む。
【００７５】
続いて、変数ｉの値を１つインクリメントしてから、ステップＳ２０３の処理に戻る。そして、このようにして、ステップＳ２０３〜ステップＳ２０７の処理を繰り返していくことで、ステップＳ２０３で、変数ｉの値が最大フレーム番号ｉmax より大きくなったことを判断すると、処理を終了する。
【００７６】
コンテンツファイル変換部１４がこのようなデータ変換を行うことにより、コンテンツ再生時には、シークを行うことなく、連続領域からデータを読み出すことが可能となる。また、もとのファイルで管理されていたトラックファイルのメタ情報や、各トラックファイルの時間長（リール時間長）については、コンテンツの属性情報として管理されるため、失われることがない。
【００７７】
図６に、ディスク領域割当部１６が実行するコンテンツに対してのディスク領域の割当処理のフローチャートの他の一例を図示する。
【００７８】
このフローチャートを実行する場合、ディスク領域割当部１６は、コンテンツの種別に応じたディスク領域の割り当てを行うことになる。
【００７９】
デジタルシネマ等の分野では、コンテンツをコピーする際に、そのコンテンツのサイズおよび保持期間の予想値が既知となっている。本実施形態例では、この情報を利用することにより、書込対象となるコンテンツを、サイズが一定以上で、保持期間が一定以下のコンテンツ（例えば、デジタルシネマの場合における本編）と、それ以外のコンテンツ（例えば、デジタルシネマの場合における予告編や広告など）との２種類に分類している。
【００８０】
分類された２種類のコンテンツにおいて、割当領域を決定する際に、ディスク内のアドレス順にソートされた空き領域管理リスト１５２をそれぞれ前端、後端から逆方向に検索することにより、それぞれの領域がディスク領域の前端、後端よりに割り当てられるように制御を行っている。また、空き領域内にデータ領域を割り当てる場合にも、それぞれ前詰め、後ろ詰めでデータ領域を割り当てる。
【００８１】
すなわち、ディスク領域割当部１６は、コンテンツの種別に応じたディスク領域の割り当てを行う場合には、図６のフローチャートに示すように、先ず最初に、ステップＳ３００で、ディスク書込部１３から書込対象のコンテンツのデータサイズの情報と保持期間の情報とを受け取る。
【００８２】
続いて、ステップＳ３０１で、受け取ったデータサイズが閾値Ｓよりも大きく、かつ、受け取った保持期間が閾値Ｔよりも短いコンテンツであるのか否かを判断する。
【００８３】
この判断処理に従って、データサイズが閾値Ｓよりも大きく、かつ、保持期間が閾値Ｔよりも短いコンテンツであることを判断するときには、ステップＳ３０２に進んで、空き領域管理リスト１５２の前端から空き領域の検索を行い、続くステップＳ３０３で、受け取ったデータサイズよりも大きな空き領域を検索できたのか否かを判断して、検索できたことを判断するときには（最小サイズの空き領域である必要はない）、ステップＳ３０６に進んで、検索した空き領域に従ってディスク領域を確保することで、前づめでディスク領域を確保する。そして、ステップＳ３０３で、受け取ったデータサイズよりも大きな空き領域を検索できないことを判断するときには、ステップＳ３０４，３０５の処理に従って、最大サイズの空き領域をディスク領域として確保しながら、コンテンツの分割処理を繰り返していく。このとき、最大サイズの空き領域を優先するのではなくて、空き領域管理リスト１５２の前端側にある空き領域（あるサイズ以上のものに限定してもよい）を優先するようにしてもよい。
【００８４】
一方、ステップＳ３０１の判断処理に従って、データサイズが閾値Ｓよりも大きく、かつ、保持期間が閾値Ｔよりも短いコンテンツではないことを判断するときには、ステップＳ３０７に進んで、空き領域管理リスト１５２の後端から空き領域の検索を行い、続くステップＳ３０８で、受け取ったデータサイズよりも大きな空き領域を検索できたのか否かを判断して、検索できたことを判断するときには（最小サイズの空き領域である必要はない）、ステップＳ３１１に進んで、検索した空き領域に従ってディスク領域を確保することで、後づめでディスク領域を確保する。そして、ステップＳ３０８で、受け取ったデータサイズよりも大きな空き領域を検索できないことを判断するときには、ステップＳ３０９，３１０の処理に従って、最大サイズの空き領域をディスク領域として確保しながら、コンテンツの分割処理を繰り返していく。このとき、最大サイズの空き領域を優先するのではなくて、空き領域管理リスト１５２の後端側にある空き領域（あるサイズ以上のものに限定してもよい）を優先するようにしてもよい。
【００８５】
なお、図６のフローチャートでは、ディスク領域管理リスト１５の更新処理については省略してある。
【００８６】
また、図６のフローチャートでは、データサイズが閾値Ｓよりも大きく、かつ、保持期間が閾値Ｔよりも短いコンテンツであることを判断するときに、ステップＳ３０２に進み、そうではないコンテンツであることを判断するときに、ステップＳ３０７に進むことで説明したが、これとは逆に、データサイズが閾値Ｓよりも大きく、かつ、保持期間が閾値Ｔよりも短いコンテンツではないことを判断するときに、ステップＳ３０２に進み、そうではないコンテンツであることを判断するときに、ステップＳ３０７に進むようにしてもよい。
【００８７】
このようにして、ディスク領域割当部１６は、コンテンツの種別に応じたディスク領域の割り当てを行うように処理するのである。本実施形態例によるディスク領域の割当方法では、コンテンツの種別により固定的にディスク領域を割り当てておくわけではないため、ディスク領域を無駄にすることがない。
【００８８】
次に、ディスク領域整理部１７の実行する処理について説明する。
【００８９】
図７に、ディスク領域整理部１７により実行される、分割されたデータ記録領域の結合方法を図示する。
【００９０】
この図の例においては、コンテンツＡの記録領域がコンテンツＢの記録領域によって２つに分割されていることを想定している。
【００９１】
ここで、コンテンツＢを消去した場合、コンテンツＡの記録領域１に隣接した領域が空き領域となるため、コンテンツＡの記録領域２のデータを、コンテンツＡの記録領域１の隣接領域に移動することによって、コンテンツＡで発生していたフラグメントを解消することができる。
【００９２】
本実施形態例においては、コンテンツＡの記録領域２のサイズが一定以下の場合にのみ、データの移動を行うようにしており、これから、デフラグメント処理は短時間に終えることができる。
【００９３】
図８に、このデフラグメント処理を実現すべく、ディスク領域整理部１７が実行するフローチャートを図示する。
【００９４】
すなわち、ディスク領域整理部１７は、コンテンツの消去などが実行されると、図８のフローチャートに示すように、先ず最初に、ステップＳ４００で、ディスク領域管理リスト１５を参照することで、分割されたコンテンツが空き領域を挟む形で接する状態が発生したのかをチェックする。すなわち、図７に示すコンテンツＢが消去されたときの状態が発生したのかをチェックするのである。
【００９５】
続いて、ステップＳ４０１で、このチェック処理に基づいて、分割されたコンテンツが空き領域を挟む形で接する状態が発生したのか否かを判断して、発生していないことを判断するときには、そのまま処理を終了し、一方、発生したことを判断するときには、ステップＳ４０２に進んで、空き領域を挟む形で存在する２つの記録領域の内の小さなサイズの方の記録領域のサイズを特定する。
【００９６】
続いて、ステップＳ４０３で、その特定した記録領域のサイズが閾値Ｔ１よりも小さいのか否かを判断して、小さくないことを判断するときには、デフラグメントの処理を短時間に終えることができないので、デフラグメントの処理を行わないようにするために、そのまま処理を終了し、一方、小さいことを判断するときには、ステップＳ４０４に進んで、ステップＳ４０２で特定した小さなサイズの方の記録領域のデータを移動することで、２つの記録領域を結合して、処理を終了する。
【００９７】
なお、図８のフローチャートでは、ディスク領域管理リスト１５の更新処理については省略してある。
【００９８】
このようにして、ディスク領域整理部１７は、コンテンツが消去されることなどにより、分割されたコンテンツが空き領域を挟む形で接する状態が発生した場合には、小さなサイズの方の記録領域を移動させる形で２つ記録領域を結合することで、デフラグメントの処理を実行するのである。本実施形態例においては、空き領域を挟む形で存在する２つ記録領域の内の小さなサイズの方の記録領域のサイズが一定以下の場合にのみ、データの移動を行うようにしており、これから、デフラグメント処理は短時間に終えることができることになる。
【００９９】
図９に、ディスク領域整理部１７により実行される、分割されたデータ記録領域の結合方法の他の例を図示する。
【０１００】
この図の例においては、コンテンツＡの記録領域がそれに隣接するコンテンツＢの記録領域および空き領域によって２つに分割されていることを想定している。
【０１０１】
このような場合、コンテンツＡの記録領域１に対して記録領域２を結合することによりコンテンツＡのフラグメントを解消することができることになるが、コンテンツＡの記録領域１に隣接してコンテンツＢが記録されているため、コンテンツＡの記録領域２のデータを記録領域１に隣接した領域に移動することができない。
【０１０２】
そこで、コンテンツＢの記録領域のデータを空き領域に移動することで、コンテンツＡの記録領域１に隣接した領域が空き領域となるようにしてから、コンテンツＡの記録領域２のデータを記録領域１に隣接した領域に移動することによって、コンテンツＡで発生していたフラグメントを解消する。
【０１０３】
本実施形態例においては、コンテンツＢの記録領域のサイズが一定値よりも小さい場合に、この領域のデータを別の空き領域に移動することが可能であり、その後は、図７に示された方法と同様の方法に従って、コンテンツＡのフラグメントを解消することができることになる。
【０１０４】
図１０に、このデフラグメント処理を実現すべく、ディスク領域整理部１７が実行するフローチャートを図示する。
【０１０５】
すなわち、ディスク領域整理部１７は、コンテンツの書き込みなどが実行されると、図１０のフローチャートに示すように、先ず最初に、ステップＳ５００で、ディスク領域管理リスト１５を参照することで、分割されたコンテンツの隣接領域に別のコンテンツが記録されている状態が発生したのかをチェックする。
【０１０６】
続いて、ステップＳ５０１で、このチェック処理に基づいて、分割されたコンテンツの隣接領域に別のコンテンツが記録されている状態が発生したのか否かを判断して、発生していないことを判断するときには、そのまま処理を終了し、一方、発生したことを判断するときには、ステップＳ５０２に進んで、２つの記録領域の内のその別のコンテンツに隣接しない方の記録領域のサイズを特定する。
【０１０７】
続いて、ステップＳ５０３で、その特定したサイズが閾値Ｔ２よりも小さいのか否かを判断して、小さくないことを判断するときには、デフラグメントの処理を短時間に終えることができないので、デフラグメントの処理を行わないようにするために、そのまま処理を終了し、一方、小さいことを判断するときには、ステップＳ５０４に進んで、隣接領域に記録されている別のコンテンツのサイズがその特定したサイズよりも大きいのか否かを判断する。
【０１０８】
このステップＳ５０４の判断処理に従って、隣接領域に記録されている別のコンテンツのサイズがステップＳ５０２で特定したサイズよりも大きくないことを判断するときには、その別のコンテンツの移動により生成されることになる空き領域の中に分割されたコンテンツ（その別のコンテンツに隣接しない方のコンテンツ）が収まらないことを判断して、デフラグメント処理を行わないようにするために、そのまま処理を終了し、一方、大きいことを判断するときには、ステップＳ５０５に進んで、その別のコンテンツのサイズが閾値Ｔ３よりも小さいのか否かを判断する。
【０１０９】
このステップＳ５０５の判断処理に従って、隣接領域に記録されている別のコンテンツのサイズが閾値Ｔ３よりも小さくないことを判断するときには、デフラグメントの処理を短時間に終えることができないので、デフラグメントの処理を行わないようにするために、そのまま処理を終了し、一方、小さいことを判断するときには、ステップＳ５０６に進んで、隣接領域に記録されている別のコンテンツの記録領域のデータを空き領域に移動する。
【０１１０】
続いて、ステップＳ５０７で、ステップＳ５０２でサイズを特定した方の記録領域のデータを移動することで、２つの記録領域を結合して、処理を終了する。
【０１１１】
なお、図１０のフローチャートでは、ディスク領域管理リスト１５の更新処理については省略してある。
【０１１２】
このようにして、ディスク領域整理部１７は、コンテンツが書き込まれることなどにより、分割されたコンテンツの隣接領域に別のコンテンツが記録されている状態が発生した場合には、その別のコンテンツを移動することで、分割されたコンテンツの隣接領域が空き領域となるようにしてから、その別のコンテンツに隣接しない方の記録領域を移動させる形で２つ記録領域を結合することで、デフラグメントの処理を実行するのである。本実施形態例においては、移動処理の対象となるコンテンツの記録領域のサイズが一定以下の場合にのみ、データの移動を行うようにしており、これから、デフラグメントの処理は短時間に終えることができることになる。
【０１１３】
図１１に、ディスク領域整理部１７により実行される、空き領域の結合方法を図示する。
【０１１４】
この図の例においては、２つの空き領域に挟まれる形でコンテンツの記録領域が存在することを想定している。
【０１１５】
このような場合、空き領域に挟まれた記録領域のデータを別の空き領域に移動することで、空き領域を結合して連続した空き領域を拡張することが可能である。
【０１１６】
このデータ移動は、データ領域の両側の空き領域が一定のサイズを超えており、かつ、データ領域のサイズが一定以下の場合にのみに行われるため、データの移動は短時間に終えることができ、また、結合された空き領域のサイズも大きなものとなる。
【０１１７】
図１２に、この空き領域の結合処理を実現すべく、ディスク領域整理部１７が実行するフローチャートを図示する。
【０１１８】
すなわち、ディスク領域整理部１７は、コンテンツの消去などが実行されると、図１２のフローチャートに示すように、先ず最初に、ステップＳ６００で、ディスク領域管理リスト１５を参照することで、空き領域がコンテンツの記録領域を挟む形で接している状態が発生したのかをチェックする。すなわち、図１１の上段に示す状態が発生したのかをチェックするのである。
【０１１９】
続いて、ステップＳ６０１で、このチェック処理に基づいて、空き領域がコンテンツの記録領域を挟む形で接している状態が発生したのか否かを判断して、発生していないことを判断するときには、そのまま処理を終了し、一方、発生したことを判断するときには、ステップＳ６０２に進んで、２つの空き領域のサイズが閾値Ｔ４よりも大きいのか否かを判断する。
【０１２０】
このステップＳ６０２の判断処理に従って、２つの空き領域のサイズが閾値Ｔ４よりも大きくないことを判断するときには、あえて空き領域の結合を行うまでもないので、そのまま処理を終了し、一方、大きいことを判断するときには、ステップＳ６０３に進んで、コンテンツの記録領域のサイズが閾値Ｔ５よりも小さいのか否かを判断する。
【０１２１】
このステップＳ６０３の判断処理に従って、コンテンツの記録領域のサイズが閾値Ｔ５よりも小さくないことを判断するときには、その記録領域のデータの移動を短時間で終えることができないので、そのデータ移動を行わないようにするために、そのまま処理を終了し、一方、小さいことを判断するときには、ステップＳ６０４に進んで、コンテンツの記録領域のデータを別の空き領域に移動することで、２つの空き領域を結合して、処理を終了する。
【０１２２】
なお、図１２のフローチャートでは、ディスク領域管理リスト１５の更新処理については省略してある。
【０１２３】
このようにして、ディスク領域整理部１７は、コンテンツが消去されることなどにより、空き領域がコンテンツの記録領域を挟む形で接している状態が発生した場合には、そのコンテンツを移動することにより２つの空き領域を結合することで、空き領域の結合処理を実行するのである。本実施形態例においては、移動処理の対象となるコンテンツの記録領域のサイズが一定以下の場合にのみ、データの移動を行うようにしており、これから、このデータ移動処理は短時間に終えることができることになる。
【０１２４】
最後に、シミュレーションによりディスクのフラグメント数を評価した実験結果について説明する。
【０１２５】
このシミュレーションにおいては、本編（１５０〜３００Ｇバイト、保持期間２〜６週間）と予告篇（２〜１０Ｇバイト、保持期間２〜１６週間）の２種類のコンテンツが毎週１本ずつ１Ｔバイトの容量を持つディスクに書き込まれた場合に、フラグメント量がどのように変化するかを評価したものである。ディスクの割当単位は１Ｇバイト単位としている。
【０１２６】
図１３に、このシミュレーションの実験結果を図示する。この図は、一般的なファイルシステムを用いた場合におけるフラグメント数と、図３のフローチャートに従ってディスク領域の割り当てを行った本発明の場合におけるフラグメント数との比較を行った実験結果である。
【０１２７】
図１３（ａ）が従来方式の実験結果を示し、図１３（ｂ）が本発明の実験結果を示す。この図では、ディスク内のコンテンツ数（従来方式と本発明とで同じものとなる）についても併記している。従来方式では、空き領域のサイズを考慮せずに、空き領域に対して順にコンテンツを書き込むという割当方法をとっている。
【０１２８】
図１３（ａ）を見れば分かるように、従来方式によるディスク領域の割当方法では、コンテンツ数と同等以上のフラグメントが発生していることがわかる。これと比較すると、図１３（ｂ）を見れば分かるように、図３のフローチャートに従ってディスク領域の割り当てを行う本発明による割当方法を適用することで、フラグメントの数を大幅に削減することができることが明らかである。
【０１２９】
図１４に、従来方式と、図３のフローチャートに従ってディスク領域の割り当てを行う本発明の方式（方式１）と、この方式１にさらに図６のフローチャートに示すコンテンツの分類に基づくディスク領域の割り当てを行う本発明の方式（方式２）と、この方式２にさらに図７に示すデータ移動処理に基づくディスク領域の割り当てを行う本発明の方式（方式３）という４つの方式について、その平均フラグメント数を比較した結果を図示する。
【０１３０】
この図により、本発明のコンテンツ種別の分類方法、データ移動処理を追加することにより、さらにフラグメント数を削減することが可能であることがわかる。
【産業上の利用可能性】
【０１３１】
本発明は、リアルタイム再生を行うコンテンツを格納するディスクの領域管理に適用できるものであり、フラグメントの数を大幅に抑えることができるようになり、その結果シーク回数を大幅に抑えることができるようになる。
【図面の簡単な説明】
【０１３２】
【図１】本発明のディスク管理システムの一実施形態例である。
【図２】ディスク領域管理リストのデータ構造の説明図である。
【図３】ディスク領域割当部の実行するフローチャートである。
【図４】コンテンツファイル変換部の実行する処理の説明図である。
【図５】コンテンツファイル変換部の実行するフローチャートである。
【図６】ディスク領域割当部の実行するフローチャートである。
【図７】ディスク領域整理部の実行する処理の説明図である。
【図８】ディスク領域整理部の実行するフローチャートである。
【図９】ディスク領域整理部の実行する処理の説明図である。
【図１０】ディスク領域整理部の実行するフローチャートである。
【図１１】ディスク領域整理部の実行する処理の説明図である。
【図１２】ディスク領域整理部の実行するフローチャートである。
【図１３】シミュレーションの実験結果の説明図である。
【図１４】シミュレーションの実験結果の説明図である。
【符号の説明】
【０１３３】
１    ディスク管理システム
１０  コンテンツファイル
１１  ディスク
１２  コンテンツ取得部
１３  ディスク書込部
１４  コンテンツファイル変換部
１５  ディスク領域管理リスト
１６  ディスク領域割当部
１７  ディスク領域整理部
【図１】
2009076170.tif 000003
【図２】
2009076170.tif 000004
【図３】
2009076170.tif 000005
【図４】
2009076170.tif 000006
【図５】
2009076170.tif 000007
【図６】
2009076170.tif 000008
【図７】
2009076170.tif 000009
【図８】
2009076170.tif 000010
【図９】
2009076170.tif 000011
【図１０】
2009076170.tif 000012
【図１１】
2009076170.tif 000013
【図１２】
2009076170.tif 000014
【図１３】
2009076170.tif 000015
【図１４】
2009076170.tif 000016