JP4815680B2 - ディスク再生装置、プログラム、およびファイル読み出し方法 - Google Patents
ディスク再生装置、プログラム、およびファイル読み出し方法Info
- Publication number
- JP4815680B2 JP4815680B2 JP2001058853A JP2001058853A JP4815680B2 JP 4815680 B2 JP4815680 B2 JP 4815680B2 JP 2001058853 A JP2001058853 A JP 2001058853A JP 2001058853 A JP2001058853 A JP 2001058853A JP 4815680 B2 JP4815680 B2 JP 4815680B2
- Authority
- JP
- Japan
- Prior art keywords
- area identifier
- area
- file
- reading
- disk
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Management Or Editing Of Information On Record Carriers (AREA)
Description
【発明の属する技術分野】
本発明は、ディスクからファイルの実体を読み出すディスク再生装置等に係り、特に、ファイルシステムにおけるファイル情報保持スペースを節約することができるディスク再生装置等に関する。
【0002】
【従来の技術】
近年、動画、音声、データなどをデジタル記憶することが可能である大容量光ディスクとして、DVD(Digital Versatile Disk)が注目されている。このDVDでは、論理フォーマットとして、一般的に、ISO13346をベースとするUDF(Universal Disk Format)が利用されている。このUDFは、例えば、DVD-ROM、DVD-RAM等にて採用されているほか、CD-ROM用に規格化したファイルシステムであるCD-UDFにも採用されており、各種ディスクに対して用いることができる。また、例えば、ビデオレコーディング(VR)のフォーマットであるDVD-VRプレーヤにおいても、ディスクに記録されているファイルを読むときに利用されている。
【0003】
ここで、例えば、システムであるパーソナルコンピュータ(PC)やDVDプレーヤなどでファイルを読み出す場合に、UDFに記録されているファイルの実データ(実際のデータ)を指す1個または複数個のアロケーションディスクリプタ(Allocation Descriptors)を一時的にシステム側に保持する必要がある。即ち、領域指定子であるアロケーションディスクリプタにはファイルにおける実データのディスク上の配置が記録されており、システムであるPCやDVDプレーヤは、ファイルデータにアクセスするために、アロケーションディスクリプタの内容を一時的にシステム側に保持するメモリなどの記憶領域を備えている。このとき、一般的に、ファイルの実データがメディア(HDD、DVD-RAMなど)の連続領域に記録されていた場合であっても、複数のアロケーションディスクリプタを用いて配置が記録されていることがあり得る。
【0004】
【発明が解決しようとする課題】
ここで、通常、ファイルデータを追うことを想定すると、アロケーションディスクリプタに記録されているエリアに対して直接アクセスするか、またはシステムは、そのファイルのアロケーションディスクリプタを全て取り込むことになる。しかしながら、アロケーションディスクリプタは、膨大な数になる場合があり、特に、アロケーションディスクリプタに記録されているエリアに対して直接アクセスする場合には、メディアへのアクセスが頻繁になることから、データ読み出しのスピード低下を招いてしまう。また、システムがファイルのアロケーションディスクリプタを全て取り込む場合であっても、アロケーションディスクリプタの個数が多くなると記憶領域の確保が保証できず、結果的にはメディアに対して直接アクセスせざるを得なくなる。これはデータアクセス速度の著しい低下を招くこととなり、システムに対して多大な負荷をかけることになる。
【0005】
ここで、例えば、データがメディア上のある連続領域に記録されており、この領域がN個のアロケーションディスクリプタで記述されているとすると、システムが保持しなければならない記憶領域はアロケーションディスクリプタのN個分となる。連続領域に記録されている場合には、実際には1個のアロケーションディスクリプタでも記述できることを考えると、非常に冗長なものと言える。
【0006】
また、DVD-VR規格で記録できるメディアとしては、現在、DVD-RAM、DVD-RWが存在する。アロケーションディスクリプタのタイプは、short_adまたはlong_adと規定されているが、その個数に関する制限は存在していない。このため、プレーヤの設計時において、ファイルを扱う際に必要となる記憶領域の容量(バイト数)は、基本的に最大値以外は特定できず、この値は実装上、現実的でない大きさである。例えば、メディア上に4.7ギガバイト(Gbytes)のデータファイルが存在するとする。このファイルのアロケーションディスクリプタがDVD-RAMおよびDVD-RWのロジカルブロックサイズ(Logical Block Size、以下「LBS」と略す)、LBS=2kバイト単位で記述されてしまうと、このファイルにおけるアロケーションディスクリプタの個数は、2,294,921個ということになる。仮に、アロケーションディスクリプタがshort_adとすると、1個のshort_adのサイズは8バイトなので、18,359,368バイト(約18Mバイト)ものメモリが必要となる。long_adでは1個のサイズが16バイトであり、更にその2倍のメモリが必要となってしまう。無論、容量に余裕があればこのまま取り込むことも可能であるが、実装を考慮すると現実的ではない。また、実際の使用状況を加味すると、データが冗長となる面もある。
【0007】
本発明は、このような技術的課題を解決するためになされたものであって、その目的とするところは、システムにおけるメモリ等のファイル情報保持スペースを節約することにある。
また、他の目的は、ファイルシステムにおけるデータへのアクセスを高速化することにある。
更に、他の目的は、DVDプレーヤの設計時に、固定容量の確保を可能とすることで、機能の実装を容易化することにある。
【0008】
【課題を解決するための手段】
かかる目的のもと、本発明が適用されるディスク再生装置は、UDF上でファイルの実データの記録位置を示す領域識別子であるアロケーションディスクリプタを読み出してメモリに保持する際に、連続領域を指す複数のアロケーションディスクリプタを取りまとめて1個のアロケーションディスクリプタに置き換えて扱い、さらに、そのアロケーションディスクリプタにて表わされるバイト数をロジカルブロックサイズ(LBS)数に変換し、連続するエクステントレコードを合体して、全体のメモリサイズを圧縮することを特徴としている。また、このアロケーションディスクリプタで指されるエクステント長をLBSで表現する等、DVD-VRのファイルに関する制約を利用することで、ファイル読み込みのためのメモリを既知の固定サイズで、かつ小さく持たせ、アロケーションディスクリプタの個々のサイズを圧縮することを特徴としている。
【0009】
即ち、本発明が適用されるディスク再生装置は、ディスク上に格納されるファイルにおける実データの記録位置を示す、アロケーションディスクリプタ(AD)等の領域識別子をディスク再生時に読み出す領域識別子読み出し手段と、読み出された領域識別子の中から、ディスク再生時に呼び出される順番が連続しており、かつ、このディスク上の連続する領域に格納されている、連続するエクステントを指す複数の領域識別子を取りまとめて1つの領域識別子に置き換え、その領域識別子にて表わされるバイト数をロジカルブロックサイズ(LBS)数に変換する置き換え手段と、変換を行う前の領域識別子を格納するために必要となる容量より小さく、かつ変換を行った後の領域識別子を格納することが可能な容量の領域に、置き換えられた領域識別子を格納する格納手段とを備えたことを特徴としている。
【0011】
また、本発明は、領域識別子読み出し手段により読み出された領域識別子のサイズを圧縮し、その領域識別子にて表わされるバイト数をロジカルブロックサイズ(LBS)数に変換して、変換を行う前の領域識別子を格納するために必要となる容量より小さく、かつ変換を行った後の領域識別子を格納することが可能な容量の領域に、一時的に格納する圧縮格納手段と、サイズを圧縮して格納された領域識別子に基づいてディスク上に格納されているファイルの実データを読み出す実データ読み出し手段とを備えたことを特徴としている。
【0012】
ここで、この圧縮格納手段は、連続するエクステントを指す複数の領域識別子を取りまとめて1つの領域識別子に置き換えることを特徴とすれば、複数の領域識別子を格納するメモリ全体としてサイズを圧縮することができる点で好ましい。
【0013】
更に本発明が適用されるディスク再生装置は、DVD-VRディスクのVR_MOVIE.VROファイルのADを読み出すAD読み出し手段と、読み出されたADに記録されているバイト数で示されるエクステント長をロジカルブロックサイズ(LBS)数に変換すると共に、読み出されたADに記録されているエクステントのロケーションにおけるバイト数を切り詰める変換手段と、変換されたエクステント長および切り詰められたバイト数で示されるADを格納する格納手段とを備えたことを特徴としている。
【0014】
一方、本発明は、ディスク上に格納されるファイルを再生するコンピュータ装置に対して、上記の各手段を備えるものとして機能させるためのプログラムとして把握することができる。このプログラムは、プログラム伝送装置からインターネット等のネットワークを介して供給される場合の他、CD-ROM等の記憶媒体を介して提供される場合がある。また、本発明は、ディスク上に格納されるファイルを読み出すファイル読み出し方法として把握することも可能である。
【0015】
【発明の実施の形態】
以下、添付図面に示す実施の形態に基づいてこの発明を詳細に説明する。
◎ 実施の形態1
図1は、本実施の形態が適用されるシステムの構成を示した図である。ここでは、DVDメディア11等のディスクからデータを読み込むデータ読み込み系10と、システムをコントロールするPC(パーソナルコンピュータ)やDVDプレーヤ等からなるコントロール系20とを備えている。データ読み込み系10としては、例えば、DVDメディア11からデータを読み込むDVDドライブ12、HDD(ハードディスクドライブ)13等から構成される。DVDドライブ12としては、例えば、DVD-RAMドライブやDVD-RWドライブ等がある。また、コントロール系20は、データを取得すると共にシステムをコントロールするCPU21、データアクセス用の情報を保持する記憶領域を提供するRAM、HDD等、各種メモリで構成される記憶装置22を備えている。
【0016】
図2は、UDF(Universal Disk Format)のファイル構造を説明するための図である。あるメディア(HDD、DVD-RAM等)上でファイルシステムにUDFを採用する場合、DVD-RAM、DVD-RW上でUDFを読む場合、ファイルは、FID(File Identifier Descriptor)31と、ファイルエントリ(File Entry)32の対で記録される。FID31では、ファイル名などが記録される。また、ファイルエントリ32では、ファイルサイズや実体であるメディア上のレイアウトが形成される。この実データのメディア上でのレイアウトは、ファイルエントリ32の中の領域指定子であるアロケーションディスクリプタ(Allocation Descriptors)33に記録されて管理される。このアロケーションディスクリプタ33は、メディア上のどこに実際のデータが書かれているかを示すものであり、メディアの記録領域34の中における1つの領域であるエクステント(Extent)において、その先頭アドレスと、その領域のサイズとが記録されている。図2に示す例では、メディアの記録領域34で示されるB→C→D→Aの順にデータが書かれていることが、アロケーションディスクリプタ33によって示される。
【0017】
通常、ファイルデータの構成要素である1個の領域であるエクステントは1個のアロケーションディスクリプタ33で指し示されるが、ファイルの一部削除や追加、修正などによって、実際には連続で存在するデータ領域を複数のアロケーションディスクリプタ33によって記述されることが起こり得る。例えば、図2に示されるB→Cでは、2個のアロケーションディスクリプタ33によって連続する領域が記述されている。このような場合には、アロケーションディスクリプタ33の保持領域が無駄になると共に、連続する領域に対して複数回、ドライブへのアクセスが必要となり、その度にヘッドやピックアップの移動が起こり、データ取得のスピードが低下してしまう。
【0018】
そこで、本実施の形態では、例えば、図2に示されるように、BとCの2つに分けてメディアに記録されていたアロケーションディスクリプタ33を、実際にファイル処理する際には1個のアロケーションディスクリプタ33として処理することで、メモリ等の記憶装置22におけるアロケーションディスクリプタ33の保持領域を節約し、かつデータアクセス速度の低下を抑制している。
【0019】
図3(a),(b)は、上述した連続するエクステントのレコードを合体して表現した場合の例を示した図である。図3(a)に示すように、メディアの記録領域34のBとCの2つのレコードが、アロケーションディスクリプタ33の33−1および33−2の2つによって指されている。図3(b)に示すように、本実施の形態では、この連続する2つのエクステントを1つのエクステントと見なし、2個のアロケーションディスクリプタ33(33−1および33−2)によって示されるエクステントを内部的に1個のアロケーションディスクリプタ33(33−3)で指すことを可能としている。即ち、メディアの記録領域34のBとCの2つのレコードは、1つのレコードであるB'として扱われ、図2に示したファイルの実データは、B'→C→Aで構成されると見なされる。即ち、ファイルを記録するために確保された領域であるエクステントに対し、連続するこのエクステントのレコードを合体することで、アロケーションディスクリプタ33のサイズを圧縮することが可能となる。
【0020】
アロケーションディスクリプタ33には、パーティション(Partition)内の相対アドレスを表すための、エクステントのロケーション(Location)であるLBN(以下、「LOC」とも略記する)と、エクステントの長さであるバイト(Bytes)で表されるレングス(Length)(以下、「LEN」と略記する)とが、最低限、記録されている。
【0021】
図4は、エクステントのレコードを合体する際の処理の流れを示したフローチャートである。まず、CPU21などのシステム制御部は、アロケーションディスクリプタ(AD)33の中から対象となるファイルのADを順次、読み込む(ステップ101)。次に、i番目(i=2,3,…)のAD(ADi)に対して、
LOCi+LENi+1=LOCi+1
か否かが判断される(ステップ102)。ここで、LOCおよびLENの添え字「i」は、各々、i番目のAD(ADi)のレングス、ロケーションを表しており、LOCi+1は、i+1番目のAD(ADi+1)のロケーションを表している。
【0022】
このステップ102の式を満たせば、ADiに対してADi+1の情報を統合して記憶させる(ステップ103)。一方、ステップ102の式を満たさなければ、ADiの次にADi+1の情報を記憶させる(ステップ104)。これらの一連の処理によって、連続するエクステントレコードが存在する場合に、1個のADとして処理することが可能となる。
【0023】
図5〜図10は、以上説明した処理を更に詳述したフローチャートであり、連続するエクステントレコードの合体に際して、アロケーションディスクリプタ33をメモリに取り込む際の、アロケーションディスクリプタ33の書き換え手法を示している。
【0024】
図5は、ファイルエントリ32の処理を示した図である。ファイルエントリ32では、アロケーションディスクリプタ(AD)33取得のために、UDFで規定されるshort_adかlong_adかを認識するためのフラグである、ICB Tag / Flagと、アロケーションディスクリプタ33の全体の長さ(Length of Allocation Descriptors)である「L_AD」の情報が必要となる。
【0025】
ファイルエントリ32では、まず、フラグビット0〜2(flags b0-2)から、個々のアロケーションディスクリプタ33のサイズであるSize of AD(S_AD)が設定される(ステップ201)。例えば、ICB Tag / Flags bitを0とすることで、short_ad(S_AD = 8 [bytes])が設定され、ICB Tag / Flags bitを1とすることで、long_ad(S_AD = 16 [bytes])が設定される。次に、アロケーションディスクリプタ33の数を求めるために、Number of ADs (N_AD) = L_AD / S_ADが実行される(ステップ202)。そして、「x=0, flags b0-2,N_AD」である初期値が設定され(ステップ203)、次に示すアロケーションディスクリプタ33に対してなされる処理(アロケーションディスクリプタ処理)の処理ブロックへ移行する(ステップ204)。
【0026】
図6は、アロケーションディスクリプタ処理を示したフローチャートである。まず、繰り返し処理のスタートポジションと、N_AD回数、同じ処理を繰り返すために、「i=0 ;i < N_AD ; i++ x;」が設定される(ステップ301)。その後、メディアに記録されているUDFのファイルエントリ(FE)または拡張したAllocation Descriptorsフィールドに記録されているi番目のアロケーションディスクリプタ33であるAD(i)が取得される(ステップ302)。取得されるAD(i)としては、例えば、short_ad(8バイト)の場合には、エクステント長(Extent Length)として4バイト、LBNのエクステント位置(Extent Position in LBN)として4バイトである。このExtent Length(4bytes)では、ビット31〜30(b31-30)にて、記録と割り当ての許可/不許可や次のエクステントのADを示すためのエクステントタイプ(type of extent)が取得され、ビット29〜0(b29-0)にてバイト長(Length of byte)が取得される。このAD(i)の取得の後に、後述するアロケーションディスクリプタ書き換え処理が実行され(ステップ303)、ステップ301に戻り、これらの処理がN_AD回数、繰り返される。
【0027】
図7は、アロケーションディスクリプタ書き換えの処理ブロックを示したフローチャートである。ステップ401では、AD(i)に記録されているビット31〜30の値が0であるか否かが判断される。0である場合には、ステップ402に移行する。ここで示されるADm(x)は、今までに読み込んだAD(1)〜AD(i-1)を変換、加工して保存したアロケーションディスクリプタ33の最後尾x番目のアロケーションディスクリプタ33を示している。このステップ402では、ADm(x)とAD(i)とが連続しているか否かが判断される。Yesの場合には、4バイトの長さで合体しようとした場合に、桁あふれとなるか否かが判断される(ステップ403)。桁あふれとならない場合には、ADm(x)のレングスにAD(i)のレングスを加えて合体される(ステップ405)。ステップ402およびステップ403で“No”の場合には、xをインクリメント(x+1)し、次のアロケーションディスクリプタ33として、ADm(x)にAD(i)を保存する。ステップ401にて“No”の場合には、AD(i)レングスのビット31−30が3か否かが判断され(ステップ407)、3である場合には、別のところに置かれている次のエクステントを指すアロケーションディスクリプタ33を取り出し(ステップ408)、図6に示したアロケーションディスクリプタ処理の処理ブロックに再帰する(ステップ409)。ステップ407にてAD(i)レングスのビット31−30が3でない場合には、AD(i)を意味のないものとする(ステップ410)。
【0028】
このように、本実施の形態によれば、アロケーションディスクリプタ33をまとめることにより、アロケーションディスクリプタ33の保持領域(メモリ)を必要最小限に抑制することが可能となる。これによって、アロケーションディスクリプタ33全体として、メモリに一時的に格納されるサイズを圧縮することが可能となる。また、実データを取得する際に必要であった複数回(連続領域を指すアロケーションディスクリプタ33の数)のドライブへのアクセスが1回で済むようになり、ヘッドやピックアップの移動を減らすことで、データ取得のスピード低下を抑制することが可能となる。
【0029】
◎ 実施の形態2
実施の形態1では、ディスク再生時にアロケーションディスクリプタ33を読み出してメモリに保持する際に、連続するエクステントレコードを合体させて、アロケーションディスクリプタ33のサイズを圧縮することを特徴とした。実施の形態2では、ディスク再生時にアロケーションディスクリプタ33のエクステント長をLBSで表現し、また、エクステントポジションの上位1バイトを切り詰めることにより、アロケーションディスクリプタ33のサイズを圧縮することを特徴としている。尚、実施の形態1と同様の符号については、同様の符号を用い、ここではその詳細な説明を省略する。
【0030】
本実施の形態では、DVD-VR discのVR_MOVIE.VROファイル(以下、「.VROファイル」と略記する)のアロケーションディスクリプタ33をメモリに取り込む際に、アロケーションディスクリプタ33を書き換えている。
ここで、まず、DVD-VRの制約を考慮すると、DVD-VRでは、DVDビデオレコーディング規格で定められている.VROファイルに関して、
「1個の連続領域:CDA(Contiguous Data Area)のサイズは、最低2MBである。」
という制約が存在する。即ち、メディア上に記録されているアロケーションディスクリプタ33の個数に関係なく、.VROファイルのレイアウトを記述するのに必要なアロケーションディスクリプタ33の個数の上限は、2MBあたり1個でよいことから、以下の計算で求めることができる。
4,700,000,000 / 2,048,000 = 約 2294 個 …… ▲1▼式
この計算では、ディスクにおけるユーザデータ領域の全てを使用しており、実際にはこれより少なくなる。従って、前述したアルゴリズムを用いることで、取り込みに必要なアロケーションディスクリプタ33の最大個数は、2294個となる。
【0031】
また、上述したLENはNumber of Bytes、LOCはLBNを表している。ここで、LENは、.VROファイルの場合、常にLBSの整数倍なので、バイト(Bytes)ではなく、LBS(Logical Block Size)で表すことが可能となる。1個のエクステント(アロケーションディスクリプタ33で指される連続領域)の最大値は、1,073,741,823 バイトであり、
MAX number of LBS = 1,073,741,823 / 2,048 = 524,287 (7FFFFh)
となる。
また、LOCは、DVD-RAM、DVD-RWの容量より、
MAX number of LBS = 4,700,000,000 / 2,048 = 2,294,921 (230489h)
となる。
【0032】
従って、LEN、LOC共に、オリジナルでは共に4バイトであったものが、3バイトで表記できることになる。
これと、上述した▲1▼式とを組み合わせると、アロケーションディスクリプタ33を取り込むのに必要な容量は、
6バイト(AD:LEN,LOC) * 2,294 = 13,764 (バイト)
以下で十分である。この値は、アロケーションディスクリプタ33がshort_adとした場合の、従来のワーストケースである18,359,368バイト(約18Mバイト)と比較してかなり現実的な値であり、トータルで3/4000メモリを節約できたことに相当する。
【0033】
尚、DVDでは、1パーティション(Partition)なので、Long_adの場合でもLEN、LOC以外の情報は不要となる。従って、これらの不要となる情報を無視することで、上記short_adの例と同様の結果を得ることができる。1個のLong_adのサイズは16バイトなので、short_adに対し、更に2倍の容量圧縮、節約を達成したことに相当する。
【0034】
図8〜図10は、以上説明した処理を更に詳述したフローチャートであり、図8は、ファイルエントリ32の処理を示している。実施の形態2におけるファイルエントリ32では、まず、実施の形態1で示したアロケーションディスクリプタ33を合体させるマージ手法(ADのmerge手法)を実行している(ステップ501)。その後、実施の形態2に示すアロケーションディスクリプタ33の置き換えによるサイズ圧縮の手法(ADのcompress手法)を実行している(ステップ502)。
【0035】
図9は、アロケーションディスクリプタ33がshort_adである場合の圧縮手法を示したフローチャートである。まず、マージされたアロケーションディスクリプタ33に対して、繰り返し処理のスタートポジションを設定するために、また、N_AD回数、同じ処理を繰り返すために、「i=0 ;i < N_AD ; i++」が設定される(ステップ601)。次に、i番目のアロケーションディスクリプタ33であるADm(i)に記録されているエクステント長の値である4バイトのADm(i).LengthをLBSで割り、3バイトのLBS単位に変換する(ステップ602)。その後、4バイトであるADm(i).Positionの上位1バイトを切り詰め、3バイトとする(ステップ603)。そして、ステップ601に戻り、この処理をN_AD回数繰り返す。
【0036】
図10は、アロケーションディスクリプタ33がLong_adである場合の圧縮手法を示したフローチャートである。まず、図9に示したshort_adと同様に、マージされたアロケーションディスクリプタ33に対して、繰り返し処理のスタートポジションを設定するために、また、N_AD回数、同じ処理を繰り返すために、「i=0 ;i < N_AD ; i++」を設定する(ステップ701)。次に、i番目のアロケーションディスクリプタ33であるADm(i)に記録されているエクステント長の値である4バイトのADm(i).LengthをLBSで割り、3バイトのLBS単位に変換する(ステップ702)。その後、6バイトであるADm(i).Locationの中からLBNを示す4ビットの上位1バイト切り詰め、3バイトのADm(i).Locationとする(ステップ703)。そして、Long_adに含まれているアロケーションディスクリプタ33の配置とは関係のない情報であるImplementation Useの6バイトを削除し(ステップ704)、ステップ701に戻り、この処理をN_AD回数繰り返す。
【0037】
このように、実施の形態2によれば、DVD-VR再生に関する.VROファイルの制約を利用することにより、即ち、CDA=2MBの制約により、アロケーションディスクリプタ33の個数の上限を制約なしのときの1/1000とすることができる。また、ファイルサイズがLBSの整数倍であることを利用し、バイト数をLBS数に変換することで、short_adのときに6/8以下に、Long_adのときに6/16以下に、アロケーションディスクリプタ33に対する1個あたりの容量を圧縮することが可能となる。
【0038】
また、実施の形態1と実施の形態2とを単体に、または組み合わせて使用することにより、ディスク再生時に、ディスク上のアロケーションディスクリプタ33を直接アクセスする必要がないことから、ピックアップの移動回数を少なくすることが可能となり、データ取得のスピード低下を抑制することができる。また、アロケーションディスクリプタ33の保持領域(メモリ)を必要最小限とすることができ、実装向きの再生装置を提供することができる。より具体的には、実装メモリの容量は、最悪のケースをサポートする場合であっても、3/4000程度とすることが可能となる。
【0039】
【発明の効果】
以上、詳述したように、本発明によれば、システムにおけるメモリ等のファイル情報保持スペースを節約することができる。
【図面の簡単な説明】
【図1】 本実施の形態が適用されるシステムの構成を示した図である。
【図2】 UDF(Universal Disk Format)のファイル構造を説明するための図である。
【図3】 (a),(b)は、上述した連続するエクステントのレコードを合体して表現した場合の例を示した図である。
【図4】 エクステントのレコードを合体する際の処理の流れを示したフローチャートである。
【図5】 ファイルエントリ32の処理を示した図である。
【図6】 アロケーションディスクリプタ処理を示したフローチャートである。
【図7】 アロケーションディスクリプタ書き換えの処理ブロックを示したフローチャートである。
【図8】 ファイルエントリ32の処理を示した図である。
【図9】 アロケーションディスクリプタ33がshort_adである場合の圧縮手法を示したフローチャートである。
【図10】 アロケーションディスクリプタ33がLong_adである場合の圧縮手法を示したフローチャートである。
【符号の説明】
10…データ読み込み系、11…DVDメディア、12…DVDドライブ、13…HDD(ハードディスクドライブ)、20…コントロール系、21…CPU、22…記憶装置、31…FID(File Identifier Descriptor)、32…ファイルエントリ(File Entry)、33…アロケーションディスクリプタ(Allocation Descriptors)、34…メディアの記録領域
Claims (11)
- ディスク上に格納されるファイルにおける実データの記録位置を示す領域識別子をディスク再生時に読み出す領域識別子読み出し手段と、
前記領域識別子読み出し手段により読み出された領域識別子の中から、連続するエクステントを指す複数の領域識別子を取りまとめて1つの領域識別子に置き換え、その領域識別子にて表わされるバイト数をロジカルブロックサイズ(LBS)数に変換する置き換え手段と、
前記変換を行う前の領域識別子を格納するために必要となる容量より小さく、かつ前記変換を行った後の前記領域識別子を格納することが可能な容量の領域に、前記置き換え手段により置き換えられた前記領域識別子を格納する格納手段と、
を備えることを特徴とするディスク再生装置。 - 前記領域識別子は、ファイルにおける実データの記録位置を示すアロケーションディスクリプタ(AD)であることを特徴とする請求項1記載のディスク再生装置。
- 前記置き換え手段により領域識別子が取りまとめられる前記連続するエクステントは、ディスク再生時に呼び出される順番が連続しており、かつ、当該ディスク上の連続する領域に格納されていることを特徴とする請求項1記載のディスク再生装置。
- ディスク上に格納されるファイルにおける実データの記録位置を示す領域識別子をディスク再生時に読み出す領域識別子読み出し手段と、
前記領域識別子読み出し手段により読み出された領域識別子のサイズを圧縮し、その領域識別子にて表わされるバイト数をロジカルブロックサイズ(LBS)数に変換して、前記変換を行う前の領域識別子を格納するために必要となる容量より小さく、かつ前記変換を行った後の前記領域識別子を格納することが可能な容量の領域に、一時的に格納する圧縮格納手段と、
前記圧縮格納手段によりサイズを圧縮して格納された領域識別子に基づいて前記ディスク上に格納されているファイルの実データを読み出す実データ読み出し手段と、
を備えたことを特徴とするディスク再生装置。 - 前記圧縮格納手段は、連続するエクステントを指す複数の領域識別子を取りまとめて1つの領域識別子に置き換えることを特徴とする請求項4記載のディスク再生装置。
- ディスク上に格納されるファイルにおける実データの記録位置を示すアロケーションディスクリプタ(AD)をUDF(Universal Disk Format)経由で読み出すAD読み出し手段と、
前記AD読み出し手段により読み出されたADに記録されているバイト数で示されるエクステント長を、ロジカルブロックサイズ(LBS)数に変換する変換手段と、
前記変換手段により変換された前記エクステント長で示されるADを格納する格納手段と、
を備え、
前記変換手段は、前記AD読み出し手段により読み出されたADに記録されているエクステントのロケーションにおけるバイト数を切り詰め、
前記格納手段は、バイト数が切り詰められたADを格納する
ことを特徴とするディスク再生装置。 - 前記AD読み出し手段は、DVD-VRディスクのVR_MOVIE.VROファイルのADを読み出すことを特徴とする請求項6記載のディスク再生装置。
- ディスク上に格納されるファイルを再生するコンピュータ装置に対して、
前記ファイルにおける実データの記録位置を示す領域識別子をディスク再生時に読み出す領域識別子読み出し手段と、
前記領域識別子読み出し手段により読み出された領域識別子の中から、連続するエクステントを指す複数の領域識別子を取りまとめて1つの領域識別子に置き換え、その領域識別子にて表わされるバイト数をロジカルブロックサイズ(LBS)数に変換する置き換え手段と、
前記置き換え手段により置き換えられた前記領域識別子を、前記変換を行う前の領域識別子を格納するために必要となる容量より小さく、かつ前記変換を行った後の前記領域識別子を格納することが可能な容量の領域に、一時的に格納する格納手段と、
を備えるものとして当該コンピュータ装置を機能させるためのプログラム。 - ディスク上に格納されるファイルを再生するコンピュータ装置に対して、
前記ファイルにおける実データの記録位置を示す領域識別子をディスク再生時に読み出す領域識別子読み出し手段と、
前記領域識別子読み出し手段により読み出された領域識別子のサイズを圧縮し、その領域識別子にて表わされるバイト数をロジカルブロックサイズ(LBS)数に変換してメモリの、前記変換を行う前の領域識別子を格納するために必要となる容量より小さく、かつ前記変換を行った後の前記領域識別子を格納することが可能な容量の領域に格納する圧縮格納手段と、
前記メモリに格納された領域識別子に基づいて前記ディスク上に格納されているファイルの実データを読み出す実データ読み出し手段と、
を備えるものとして当該コンピュータ装置を機能させるためのプログラム。 - ディスク上に格納されるファイルを読み出すファイル読み出し方法であって、
前記ファイルにおける実データの記録位置を示す領域識別子を読み出し、
読み出された前記領域識別子の中から、連続するエクステントを指す複数の領域識別子を取りまとめて1つの領域識別子に置き換え、その領域識別子にて表わされるバイト数をロジカルブロックサイズ(LBS)数に変換し、
置き換えられた前記領域識別子を一時的にメモリの、前記変換を行う前の領域識別子を格納するために必要となる容量より小さく、かつ前記変換を行った後の前記領域識別子を格納することが可能な容量の領域に格納し、
前記メモリに格納された前記領域識別子に基づいて前記ファイルの実データを読み出すことを特徴とするファイル読み出し方法。 - ディスク上に格納されるファイルを読み出すファイル読み出し方法であって、
前記ファイルにおける実データの記録位置を示すアロケーションディスクリプタ(AD)をUDF(Universal Disk Format)経由で読み出し、
読み出された前記ADに記録されているバイト数で示されるエクステント長をロジカルブロックサイズ(LBS)数に変換し、
変換された前記エクステント長を示すADを一時的にメモリの、前記変換を行う前の領域識別子を格納するために必要となる容量より小さく、かつ前記変換を行った後の前記領域識別子を格納することが可能な容量の領域に格納し、
前記メモリに格納されたADを用いて前記ファイルの実体を読み出すことを特徴とするファイル読み出し方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001058853A JP4815680B2 (ja) | 2001-03-02 | 2001-03-02 | ディスク再生装置、プログラム、およびファイル読み出し方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001058853A JP4815680B2 (ja) | 2001-03-02 | 2001-03-02 | ディスク再生装置、プログラム、およびファイル読み出し方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002259171A JP2002259171A (ja) | 2002-09-13 |
JP4815680B2 true JP4815680B2 (ja) | 2011-11-16 |
Family
ID=18918513
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001058853A Expired - Fee Related JP4815680B2 (ja) | 2001-03-02 | 2001-03-02 | ディスク再生装置、プログラム、およびファイル読み出し方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4815680B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2189895A1 (en) | 2008-11-24 | 2010-05-26 | Deutsche Thomson OHG | Flash based memory comprising a Flash translation layer and method for storing a file therein |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63285649A (ja) * | 1987-05-19 | 1988-11-22 | Fujitsu Ltd | 空き領域管理処理方法 |
JP3876456B2 (ja) * | 1996-05-23 | 2007-01-31 | ソニー株式会社 | 画像合成装置 |
JP3069324B2 (ja) * | 1997-09-17 | 2000-07-24 | 松下電器産業株式会社 | 光ディスク記録装置、記録方法及びプログラム記録媒体 |
JPH11306648A (ja) * | 1998-04-23 | 1999-11-05 | Toshiba Corp | コピープロテクト機能付き情報記録媒体、不正コピー検出装置、及び不正コピー検出方法 |
JP2000322291A (ja) * | 1999-05-13 | 2000-11-24 | Nec Corp | 圧縮データ展開方法及びその装置 |
CN1321311A (zh) * | 1999-07-07 | 2001-11-07 | 松下电器产业株式会社 | Av数据记录装置及方法、用该av数据记录装置或方法记录的盘、av数据重放装置及方法 |
-
2001
- 2001-03-02 JP JP2001058853A patent/JP4815680B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2002259171A (ja) | 2002-09-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5303023B2 (ja) | データ処理装置 | |
JP4242966B2 (ja) | リアルタイム記録/再生情報を貯蔵する記録媒体 | |
EP0424903A2 (en) | Data recording system | |
US20060133223A1 (en) | Recording medium, recording device usint the same, and reproduction device | |
JP4801314B2 (ja) | 記憶媒体にデータを保存する又は記憶媒体からデータを読み込む方法及び装置並びに記憶媒体 | |
US20040047615A1 (en) | Image recording/reproducing device and method,disk, and image reproducing device | |
US7136884B2 (en) | File managing method and data recorder using the same, data reproducing apparatus, data recording/reproducing apparatus, and disk recorded by the file managing method | |
JP2012510101A (ja) | フラッシュ変換層を有するフラッシュ・ベースのメモリおよびファイル記憶方法 | |
JP4036056B2 (ja) | 記録装置および方法、記録媒体、並びにプログラム | |
US20080259751A1 (en) | Recorder, Host Device, Drive Device, Recording Method, Instruction Method, Program, Integrated Circuit, Reproducing Device, Reproducing Method, and Write-Once-Read-Many Recording Medium | |
JP4221959B2 (ja) | ブリッジファイルシステム、コンピュータシステム、ブリッジファイルシステムを用いたデータ管理方法及び記録媒体 | |
JP2005512259A (ja) | 基本ファイルと拡張ファイルのシステム容量を用いたデータ格納方法とデータ格納装置 | |
JP4815680B2 (ja) | ディスク再生装置、プログラム、およびファイル読み出し方法 | |
JP2008269520A (ja) | 記録装置及び記録方法 | |
US20060239144A1 (en) | Access method, access device, information recording medium | |
WO2003044798A1 (fr) | Appareil et procede d'enregistrement d'informations et appareil et procede de reproduction d'informations | |
EP0927934A1 (en) | File managing device, file managing method, and recording medium stored with file managing program | |
JP2007128286A (ja) | 再生装置、再生方法および再生プログラム | |
WO2001041434A1 (fr) | Appareil et procede d'enregistrement d'informations et support d'enregistrement d'informations dans lesquels ils sont utilises | |
JP2000165794A (ja) | 記録再生装置及び映像データ管理方式 | |
JP4693735B2 (ja) | 静止画ファイル記録編集装置 | |
JP4194583B2 (ja) | データ記憶装置 | |
JP4687500B2 (ja) | 光ディスク記録装置及び光ディスク記録方法 | |
JP2007265010A (ja) | ファイル再生装置およびファイル再生方法ならびにプログラム | |
JP4830773B2 (ja) | データ処理装置、方法、およびプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080226 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20091204 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20100924 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20101007 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20101124 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20110210 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110502 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20110513 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20110802 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110815 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140909 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140909 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |