JP4612840B2 - 情報処理装置及び情報処理方法 - Google Patents

情報処理装置及び情報処理方法 Download PDF

Info

Publication number
JP4612840B2
JP4612840B2 JP2005009238A JP2005009238A JP4612840B2 JP 4612840 B2 JP4612840 B2 JP 4612840B2 JP 2005009238 A JP2005009238 A JP 2005009238A JP 2005009238 A JP2005009238 A JP 2005009238A JP 4612840 B2 JP4612840 B2 JP 4612840B2
Authority
JP
Japan
Prior art keywords
file
recording medium
seek
cluster
information
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
Application number
JP2005009238A
Other languages
English (en)
Other versions
JP2005235183A (ja
JP2005235183A5 (ja
Inventor
俊洋 宮本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2005009238A priority Critical patent/JP4612840B2/ja
Priority to US11/038,114 priority patent/US7409399B2/en
Publication of JP2005235183A publication Critical patent/JP2005235183A/ja
Publication of JP2005235183A5 publication Critical patent/JP2005235183A5/ja
Application granted granted Critical
Publication of JP4612840B2 publication Critical patent/JP4612840B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0674Disk device
    • G06F3/0676Magnetic disk device

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、使用クラスタ情報の検索が順方向のみ可能なファイルシステム(例:FATファイルシステム)において、ファイル上の目的のデータ位置にシークする事でデータの読み出しを行う情報処理装置及び情報処理方法に関するものである。
従来、固体メモリ素子を有するメモリカードを記録媒体として、記録媒体に記録された静止画や動画像、音声を再生する際に、静止画等の内容の把握を容易にし、静止画等のファイルを管理し易くすることができるデータ処理装置が知られている(特許文献1を参照。)。また電子カメラ等では、利用可能な記録媒体に記録されたデータであれば、自身で撮影・録音したデータの再生だけではなく、他のデータ処理装置によって記録されたデータも再生可能である。
これらデータ処理装置では、着脱可能な不揮発性メモリからデータを読み込んで再生することができる。また、不揮発性メモリが内蔵のために着脱不可能であっても、別のデータ処理装置に接続してそこにデータを記録保存し、保存したデータを読み込んで再生することができる。
電子カメラ等の場合は、他のデータ処理装置によって記録されたデータだけでなく、撮影レンズにより撮影された光学像を光電変換素子により光電変換してなる画像データと、マイクにより録音された音声信号をA/D変換により変換してなる音声データとを揮発性メモリに一次保存し、更にその画像・音声データを記録媒体に転送して保存する。また、再生時には、記録媒体からその画像・音声データを揮発性メモリに転送して再生を行う。
この種の装置では、一般に、メモリの記憶領域をクラスタと呼ばれる論理的な領域に分割し、このクラスタを単位としてデータの書き込み、読み出しを管理している。この様なデータの記憶管理方式はファイルシステムと呼ばれ、FAT(File Allocation Table)ファイルシステムなどが知られている。
特開2003−22434号公報
しかしながら、FATファイルシステムのように、使用クラスタ情報を順方向のみで検索する検索手段によって目的のファイルを探索し再生するファイルシステムを有するデータ処理装置では、早送りや逆戻しにより順不同にデータにアクセスして再生処理を行う場合、ファイルサイズが大きくなればなるほど目的のデータ位置にアクセスするのに要するシーク時間が無視できなくなり、ユーザにストレスがかかるという問題がある。
そこで、本発明は、記録媒体に記録されたファイルにアクセスするのに要するシーク時間をより短縮することを目的とする。
本発明の一側面に対応する情報処理装置においては、
記録媒体上の複数の連続領域に分割して記録されたファイルを再生する情報処理装置であって、
一つの前記ファイルが記録されている前記記録媒体における前記連続領域の数を検出する検出手段と、
前記検出手段により検出された前記連続領域の数が予め定めた数以下の場合に前記記録媒体における各連続領域の先頭位置と各連続領域のサイズとを示す第1の管理情報を生成し、前記検出手段により検出された前記連続領域の数が予め定めた数よりも多い場合に一つの前記ファイルにおいて所定のサイズ毎に設定した複数のシーク開始位置と各シーク開始位置に対応した前記記録媒体における記録位置とを示す第2の管理情報を生成する生成手段と、
前記第1の管理情報または前記第2の管理情報を用いて、前記ファイルにおける要求された位置に対応した前記記録媒体における記録位置を特定する特定手段と、
前記記録媒体における前記特定手段が特定した記録位置から前記ファイルの読み出しを開始する再生手段と、
を備えることを特徴とする。
本発明によれば、記録媒体に記録されたファイルにアクセスするのに要するシーク時間をより短縮することができる。
以下、添付する図面を参照して本発明の好適な実施形態を説明する。
[第1の実施形態]
まず、本発明の第1の実施形態におけるデータ処理装置(情報処理装置)の概略構成について説明する。図15は、本発明の第1の実施形態におけるデータ処理装置の概略構成を示す図である。尚、本実施形態のデータ処理装置は、例えば着脱可能な小型ハードディスクを記録媒体とするビデオカメラである。
図15において、1は、データ処理装置(ビデオカメラ)であり、撮像した映像データを後述する記録媒体200に記録する機能や、記録媒体200に記録されている映像データを再生する機能を有する。100は、着脱可能な電源(バッテリー)であり、データ処理装置1の電源となる。200は、着脱可能な記録媒体(=不揮発性メモリ)であり、データ処理装置1は、アドレスを設定することで目的のクラスタ(トラック)へアクセスする構造の記録媒体であり、本実施形態においては小型ハードディスクである。
2は、システム制御部であり、データ処理装置1内の各処理部やデータの流れなどを制御する。3は、撮像装置であり、被写体像を光電変換して得た撮像信号をA/D(アナログ/ディジタル)変換して画像データを出力する。4は、マイクであり、音を電気信号に変換して得た音信号をA/D変換して音声データを出力する。5は、メモリであり、取得した画像データ、音声データ、細分化ブロック情報及びシーク開始位置情報、更にはシーク処理を実行するためのプログラムなどを格納するためのワークエリアを備え、例えばRAMなどの揮発性メモリで構成される。6は、表示部であり、再生映像や撮像装置3で撮像中の映像を表示する。7は、スピーカであり、音声データを再生する。
8は、操作部であり、ユーザがデータ処理装置1に指示を与えるための操作ボタンなどを備える。9は、不揮発性メモリであり、電源供給が途絶えてもデータを保持し続けることができる。10は、電源制御部であり、コネクタ11を介して接続される電源100の制御を行う。11は、電源コネクタであり、着脱可能な電源101のコネクタ101と接続可能な構成である。
12は、検知部であり、着脱可能な記録媒体200の着脱を検知する。13は、インタフェース部であり、記録媒体200とデータのやりとりを行う。14は、コネクタであり、着脱可能な記録媒体200と接続可能な構造である。
101は、着脱可能な電源100が備えるコネクタであり、データ処理装置1に接続するためのものである。102は、電源100が備える電源部であり、コネクタ101を介してデータ処理装置1に電源供給する。201は、着脱可能な記録媒体200が備えるコネクタであり、データ処理装置1に接続するためのものである。202は、記録媒体200が備えるインタフェース部であり、データ処理装置1とデータのやりとりを行う。203は、記録媒体200が備える記録部であり、データを記録する。尚、本実施形態における記録媒体200が備える記録部203は、電源供給が途絶えてもデータを保持し続ける不揮発性メモリである。
図1は、ある一ファイルのクラスタの使用状況例を示す図である。図1に示すように、一つのファイルであっても、クラスタは連続して使用されるとは限らず非連続(断続的に)に使用される。図1では、左上端のクラスタの番号は#128であり、その右隣のクラスタが#129、その右隣が#130…、と番号順に並んでいる。また、一番右端のクラスタの次は、一段下の左端のクラスタの番号が続く。図1において、矢印「→」または「jump」、「end」の文字が付与されているクラスタが使用クラスタであり、クラスタ#130〜#138、#146〜#161、#176〜#188が使用されている。
図2は、図1に示すようなクラスタ使用状況をファイルシステムによりどのように管理しているかの例を示す図である。ここで図2に示す管理例は、ファイルシステムとしてFATファイルシステムを利用した場合の管理例である。各々のクラスタは、ファイルのデータが次に格納されるクラスタの番号を情報として持っている。例えば、図2の場合、クラスタ#130は、その次にファイルのデータを格納しているクラスタの番号である#131を保持している。このように、各使用クラスタは次の使用クラスタの番号情報は有しているが、先行する使用クラスタの番号情報は有していない。従って、ファイルの特定箇所にアクセスするために使用クラスタをたどってファイルを探索する場合、順方向に探索していくことはできるが、逆方向には探索することができない。尚、図2において、NCとは「Not Care」の略であり、上記ファイルと関係のないクラスタを示している。
図3は、図2に示すようなFATファイルシステムを採用した場合の従来のシーク方法を示す図である。図3(a)に示すように、シーク位置が現在の位置より後ろ(順方向)の場合は現在の位置からシークを開始できる。しかしシーク位置が現在の位置より前(逆方向)の場合は、図3(b)に示すように、先頭から検索を開始する必要がある。これは、逆戻りするための情報が用意されていないためであり、シーク時間が長引く原因となっている。
次に、本実施形態のデータ処理装置1における細分化ブロック情報の生成方法及び利用方法について説明する。ここで、細分化ブロック情報とは、連続する使用クラスタを単位に細分化ブロックとしてブロック化した場合の、各細分化ブロックの先頭クラスタ番号とそのブロックに含まれる使用クラスタ数とに関する情報である。言い換えれば、細分化ブロック情報とは、記録媒体上の複数の連続領域に分割して記録された一連の情報データにつき、各連続領域の先頭の位置情報と各連続領域におけるサイズとを関連付けて連続領域管理情報として管理するものである。
図4aは、使用クラスタに応じた細分化ブロック情報の一例を示す図である。図4aの使用クラスタ状況40に示すように、クラスタ#130〜#138、#146〜#161、#176〜#188が使用されている場合に、細分化ブロック情報41が構築される。細分化ブロック情報41は、各細分化ブロックを識別する識別番号「index」に関連付けて、細分化ブロックの位置を特定する位置情報「Position」としてブロックの先頭の使用クラスタの番号を格納し、細分化ブロックのサイズ情報「Size」として連続する使用クラスタ数を格納する。尚、本実施形態における各クラスタのデータサイズはA(bytes)とする。
次に、図4aに示す細分化ブロック情報を利用してシーク時間の短縮を図る本実施形態の特徴となる処理方法(第1の処理方法)について説明する。
図4bは、図4aに示す細分化ブロック情報を利用してシーク処理を行うプログラムを説明するための図である。図4bに示すように、データ処理装置1は、図4aに示した位置情報「Position」及びサイズ情報「Size」を変数として以下に示す、ファイル内の要求された位置(FileOffset:ファイルの先頭から当該位置までのデータサイズを表す。)にシークする処理を行う。尚、図4bにおいて、変数iは、図4aに示す細分化ブロック情報の識別番号「index」の値を示す変数であり、変数Aは、各クラスタのデータサイズである。図4cは、図4bに示すプログラムを実行した場合の処理のフローチャートである。
具体的には、まず、ファイルオフセット(FO)をユーザから受け付ける(S401)。次に、図4aに示す細分化ブロック情報41をメモリ5のワークエリアに読み込む(S402)。
さらに、ファイルオフセットをリメインオフセット(RO)の値に設定し、細分化ブロック情報41におけるインデックスの番号を示すパラメータ:iを0(ゼロ)に初期化する(S403)。ここでROとは、ファイルオフセットから比較済みの細分化ブロックのデータサイズを減じた値を示す。従って、S403においてはまだ細分化ブロックのデータサイズとの比較を行っていないので、ファイルオフセットのサイズそのものに設定される。
次に、ROとi番目の細分化ブロックのデータサイズとを比較する(S404)。I番目の細分化ブロックのデータサイズは、1クラスタ分のデータサイズをA、i番目の細分化ブロックに含まれる使用クラスタ数をCs(i)として、A*Cs(i)で表すことができる。使用クラスタ数は、図4aの細分化ブロック情報41によれば、i=0の場合にCs(i)=9となる。
S404における比較の結果、ROがA*Cs(i)以上の場合には(S404で「NO」)S405へ移行し、ROの方が小さい場合には(S404で「YES」)S407へ移行する。ここで、ROがA*Cs(i)以上の場合とは、比較対象となった細分化ブロック内にアクセスしようとするデータを含むクラスタが存在しないことを意味する。一方、ROが小さい場合とは、比較対象となった細分化ブロック内にアクセスしようとするデータを含むクラスタが存在することを意味する。
ROがA*Cs(i)以上と判定された場合、ROからi番目の細分化ブロックのデータサイズ分を減算してROを更新し(S405)、細分化ブロックの番号iを1つ更新する(S406)。
一方、ROが小さいと判定された場合、当該細分化ブロック内のアクセスしようとするデータを含むクラスタ(開始クラスタ)の番号:SCを、i番目細分化ブロックの先頭の使用クラスタの位置情報(Cp(i))と、ROを1クラスタ分のデータサイズで除した商(RO/A:整数値)とを足した値(SC=Cp(i)+RO/A)として求める(S407)。
次に、当該アクセスしようとするデータの開始クラスタ内におけるオフセット(SO)をROをAで割った余り(SO=RO mod A)として求める(S408)。
以上の処理により、データ処理装置1は、使用クラスタ情報を順に検索する事なくファイル内の要求された位置にシークする事が出来る。これにより、シーク位置がどこであっても使用クラスタ情報を順に検索する必要が無くなり、シーク時間の短縮を図ることができる。
[第2の実施形態]
次に、第2の実施形態として、細分化ブロック情報が、細分化ブロック情報を格納する領域の容量を超えた場合(全細分化ブロック情報が格納出来なかった場合)の処理方法(第2の処理方法)について説明する。尚、第2の実施形態におけるデータ処理装置1の構成やクラスタの構成などは、第1の実施形態において図15及び図1、2に示したデータ処理装置1の構成やクラスタの構成と同様であり、説明を省略する。
図5aは、使用クラスタに応じた細分化ブロック情報例を示す図である。図5aの使用クラスタ状況50に示すように、…、クラスタ#130〜#138、#146〜#161、#176〜#188、…が使用されている場合に、細分化ブロック情報51が構築される。尚、細分化ブロック情報51の情報構成は、図4aに示した細分化ブロック情報41と同様である。図5aの使用クラスタ状況50に示すように、図4aに示した使用クラスタ状況40に比べて使用クラスタの数が多い。このため、細分化ブロック情報51に示す格納領域に細分化ブロック情報を格納しきれない状態であるとする。但し、この細分化ブロック情報51に格納されている細分化ブロックよりも前に位置する細分化ブロック(現細分化ブロック情報51のクラスタ番号よりも若い番号のクラスタによって構成されている細分化ブロック)の全てに含まれる使用クラスタ数は別途メモリ5に記憶されている。
図5bは、図5aに示す細分化ブロック情報を利用してシーク処理を行うプログラムを説明するための図である。データ処理装置1は、図5aに示した位置情報「Position」及びサイズ情報「Size」を変数として以下に示す、特定ファイル内の要求された位置(FileOffset:ファイルの先頭から当該位置までのデータサイズを表す。)にシークする処理を行う。尚、図5bにおいて、変数iは、図5aに示す細分化ブロック情報の識別番号「index」の値を示す変数であり、変数Aは、各クラスタのデータサイズである。
まず、データ処理装置1は、ファイル内の要求された位置(FileOffset)が、現在確保している細分化ブロック情報51内に有ればそのままその情報を用い、細分化ブロック情報51内に無ければそのFileOffsetが含まれるように細分化ブロック情報51を構築し直す処理を行う(図5bのInfoの更新処理)。
より具体的には、図5cに示すようなフローチャートに従って、細分化ブロック情報51の再構築処理を行う。
まず、ファイルオフセット(FO)を受け付ける(S501)。次に、細分化ブロック情報51、細分化ブロック情報51に含まれるよりも以前の細分化ブロックのトータルクラスタ数(前トータルクラスタ数:TCB)、細分化ブロック情報51に含まれるトータルクラスタ数(現トータルクラスタ数:TCI)をメモリ5のワークエリアに読み込む(S502)。次に、ファイルオフセットを1クラスタ分のデータサイズ:Aで除した商(整数値)をクラスタオフセット(CO)の値に設定する(S503)。即ち、クラスタオフセット(CO)は、シークしようとする特定ファイル内の要求された位置が、先頭から何番目のクラスタに含まれるかを示す。
次に、クラスタオフセット(CO)と前トータルクラスタ数(TCB)とを比較する(S504)。ここで、COがTCBより小さければ(S504で「YES」)S506へ移行し、現在の細分化ブロック情報51に含まれている細分化ブロックよりも1つ以前の細分化ブロックを含むように細分化ブロック情報51を再構成する。さらに、TCIをS506で再構成された細分化ブロック情報51のトータルクラスタ数に設定する(S507)。また、TCBの内容をTCB−TCIにより更新する(S508)。その後、S504に戻って処理を継続する。
一方、COがTCB以上であった場合には(S504において「NO」)、COがTCBとTCIを足し合わせたサイズ以上であるか否かを判定する(S505)。ここで、TCB+TCI≦COであった場合には(S505で「YES」)、S509へ移行して、現在の細分化ブロック情報51に含まれている細分化ブロックよりも1つ後ろの細分化ブロックを含むように細分化ブロック情報51を再構成する。また、TCBの内容をTCB+TCIにより更新する(S510)。さらに、TCIをS509で再構成された細分化ブロック情報51のトータルクラスタ数に設定する(S511)。その後、S504に戻って処理を継続する。
S505においてCOがTCB+TCI未満であった場合には、S504の判定結果と合わせると、TCB≦CO<TCB+TCIとなり、図5aに示す細分化ブロック情報51には、必ずファイル内の要求された位置(FileOffset)が、現在確保している細分化ブロック情報51内に存在する状態となる。
そして、特定された細分化ブロック内でのFileOffsetに該当するクラスタ番号(変数StartCuster)とクラスタ内のオフセット位置(変数StartOffset)は、図4cに示したフローチャートと同様の処理により求めることができる。但し、本実施形態の場合、細分化ブロック情報51にはファイルを構成する全ての使用クラスタが含まれてはいないので、S403においてファイルオフセットの値をRemainOffsetの値に設定する場合に、ファイルオフセット(FO)から、前トータルクラスタ数(TCB)と1クラスタ分のデータサイズ(A)との積を減じておく必要がある。
以上の処理により、データ処理装置1は、使用クラスタ情報を順に検索する事なくファイル内の要求された位置にシークする事が出来る。これにより、シーク位置がどこであっても使用クラスタ情報を最初から順に検索する必要が無くなり、シーク時間の短縮を図ることができる。すなわち、細分化ブロック情報51の格納領域がファイルの細分化ブロックの数をまかなえるほど確保出来なかった場合でも、細分化ブロック情報51を再構築する手段を備えることにより、使用クラスタ情報を順に検索する動作を最小に抑えつつ、ファイル内の要求された位置にシークする事が出来る。
[第3の実施形態]
次に、第3の実施形態として、適当な間隔でシーク開始位置(または、アクセス開始位置)を設定しておく事で、シーク位置が現在のヘッドの位置よりも前(逆方向)の場合でも、先頭から検索開始する必要をなくす事ができるシーク方法(第3の処理方法)について説明する。尚、第3の実施形態におけるデータ処理装置1の構成やクラスタの構成などは、第1の実施形態において図15及び図1、2に示したデータ処理装置1の構成やクラスタの構成と同様であるので、説明を省略する。
図6aは、本実施形態におけるシーク方法を説明する図であって、適当な間隔でシーク開始位置を予め設定しておくことで、シーク位置が現在のヘッドの位置よりも前(逆方向)の場合でも、先頭から改めて検索を行う必要をなくすことができる。図6aの(a)において、クラスタ列60は、記録部203上のクラスタの並びを概念的に示すものである。ここに示すように、データ処理装置1は、クラスタ列60に対して、適当な間隔で5個のシーク開始位置62(0〜4のindex番号が付いている)を設定する。
具体的には、図6aの(b)の使用クラスタ状況65に示すように、クラスタ#130〜#138、#146〜#161、#176〜#188が使用されている場合に、シーク開始位置情報(または、アクセス開始位置情報)66が構築される。シーク開始位置情報66は、シーク開始位置をそれぞれ識別する識別番号「index」(図6aの(a)の(0)〜(4))に関連付けて、シーク開始位置をそれぞれ特定する位置情報「SeekPoint」として各シーク開始位置に対応するデータサイズ(ファイルの先頭から当該シーク開始位置までのデータサイズに相当)と、各シーク開始位置に対応するクラスタ番号を「Position」として格納する。尚、本実施形態では、各クラスタのデータサイズ(ClusterSize)を32768(bytes)とし、設定するシーク開始位置の数:N=5としている。
また、図6aの(b)のシーク開始位置情報66に示すように、シーク開始位置62の間隔は、256K(bytes)である。すなわち、ファイルの先頭を最初(index=0)のシーク開始位置62(0)、即ちSeekPoint=0とすると、次(index=1)のシーク開始位置62(1)は、SeekPoint=256Kとなり、順に、index=2のシーク開始位置62(2)は、SeekPoint=512K、index=3のシーク開始位置62(3)はSeekPoint=768K、…となる。ここで、256K(bytes)=32768(bytes)×8と表せるように、本実施形態においては各シーク開始位置62の間には、8個のクラスタを含むこととしている。よって、シーク開始位置情報66におけるPositionも、130、138、153、…となる。
尚、本実施形態において、適当な間隔で設定される各シーク開始位置を"しおり"と呼ぶことにする。各しおりの位置は、例えば以下の(式1)により求めることができる。
各しおりの間隔(clusters)=(総クラスタ数+N−1)/N … (式1)
ここで、Nは、上述したように設定するしおり(シーク開始位置)の数を表す。
以上に示した(式1)により各しおりの間に含まれるクラスタ数を求める(端数切捨て)ことができる。本実施形態では、図6aの(b)に示すように、総クラスタ数(使用クラスタの総数)が38、N=5なので、上記(式1)に当てはめると、各しおりの間には、(38+4)/5=8(clusters)が含まれることとなる。
図6bは、図6aの(b)に示す細分化ブロック情報66を利用してシーク処理を行うプログラムを説明するための図である。データ処理装置1は、図6aの(b)に示したシーク開始位置「SeekPoint」及びその位置に対応するクラスタ番号「Position」を変数として以下に説明するような、特定ファイル内の要求された位置(FileOffset:ファイルの先頭から当該位置までのデータサイズを表す。)にシークする処理を行う。尚、図6bにおいて、変数indexは、図6aの(b)に示すシーク開始位置の識別番号である「index」の値を示す変数である。
より具体的には、図6cに示すようなフローチャートに従って、シーク処理を行う。
まず、ファイルオフセット(FO)を受け付ける(S601)。次に、シーク開始位置情報66をメモリ5のワークエリアに読み込む(S602)。更に、変数indexをN−1(上記の場合、5−1=4)に初期化する(S603)。更に、設定された変数indexに対応するSeekPointの値(SP(i))とS601で受け付けたファイルオフセット(FO)とを比較する(S604)。
ここで、SP(i)の値の方が大きい場合(S604で「NO」)には、要求されたシーク位置は対応する「しおり」よりも前に位置することになるので、変数indexを「-1」更新して(S605)、一つ前の「しおり」に対応するSP(i)の値とFOとを再度比較する(S604)。このようにして、順に前方に位置する「しおり」を選択し、当該選択された「しおり」までのデータサイズ(SP(i))とファイルオフセット(FO)の値とを比較していくと、いずれ大小関係が逆転することとなる(S604で「YES」)。このときに、ファイル内の要求された位置(特定箇所)よりも前方に位置し、かつ、当該位置に最も近い「しおり」が決定される。この時の、変数indexに対応するシーク開始位置情報66におけるPosition(CP(i))が、当該「しおり」に対応するクラスタ番号(CC)である(S606)。例えば、図6aにおいて変数indexが「1」ならばCP(i)は「138」であるから、CC=138になる。
ここで、ファイル内の要求された位置は、当該クラスタの開始位置よりも後ろに位置することは明らかであるから、当該要求された位置を以下のように決定できる。まず、要求された位置に対応するファイルオフセットの値(FO)から、当該クラスタ番号(CC)に対応するSeekPointのデータサイズ(SP(i))を減ずる(FO→FO−SP(i)、S607)。次に、CC+(FO/A−1)より要求された位置が属する開始クラスタの番号(SC)を決定し(S608)、当該開始クラスタ内でのオフセット(SO)を(FOmod A)として求める(S609)。以上により、ファイル内の要求された位置を特定することができる。
以上の処理により、データ処理装置1は、使用クラスタ情報を順に検索する事なくファイル内の要求された位置(FileOffset)に一番近いシーク開始位置からシークを開始することができる。これにより、FileOffsetにより求められるシーク位置がどこであっても使用クラスタ情報をファイルの先頭から順に検索する必要が無くなり、シーク時間を短縮することができる。すなわち、シーク位置がファイル内のどこであっても先頭からではなく途中から検索を開始できるため、一定の処理時間内でシーク処理を完了できることが保証される。
[第4の実施形態]
次に、第4の実施形態として、ファイルの細分化状況に応じて上記図4〜6を参照して説明した第1〜第3の処理方法(シーク方法)の中から、いずれか最適な処理方法を選択してシーク処理を行う方法について説明する。尚、第4の実施形態におけるデータ処理装置1の構成やクラスタの構成などは、第1の実施形態において図15及び図1、2に示したデータ処理装置1の構成やクラスタの構成と同様であるので説明を省略する。図7は、ファイル内の細分化ブロック数に応じて上記図4〜6にて説明した第1〜第3の処理方法(シーク方法)のいずれかを実行するための前処理の一例に対応するフローチャートである。
ここで、図4〜6を参照して説明した第1〜第3の処理方法の長所及び短所について説明する。図4で説明した第1の処理方法は、使用クラスタを順に検索する必要がなくなるためアクセスの高速化が期待できるが、細分化ブロック情報41を覚える領域をどれ位確保する必要があるかどうかはファイルの細分化状態(細分化ブロックの数)に左右されるため予測し難いという欠点がある。
また、図5で説明した第2の処理方法は、細分化ブロック情報51を記憶する上限を定められるため図4で示した第1の処理方法より使い易いが、確保した領域に格納しきれなかった細分化ブロックについては、細分化ブロック情報を再構成しなければならないのでシーク処理が遅くなるという欠点がある。
また、図6で説明した第3の処理方法は、特定のクラスタ数を単位としてシーク開始位置を設定し、シーク開始位置情報を確保する領域を予め定められるため第1の処理方法より使い易いが、シークする際に毎回特定したシーク開始位置から使用クラスタ情報65を順に検索する必要があり、第1の処理方法よりシーク時間を要する場合がある。
そこで、本実施形態では最初に記録部203におけるファイルの分割状況、即ちファイルの細分化状況を調べ、各方法の長所を生かして最適なシーク方法を図7に示す処理フローにより実現する。クラスタ情報(細分化ブロック情報)を構築する際、データ処理装置1は、まず、ファイルの細分化状況を調べる(ステップS701)。次に、細分化ブロック数の合計が予め定めたある数M(1以上の自然数)以下だった場合(ステップS702のブロック数<=M)には、データ処理装置1は、細分化ブロック単位での細分化ブロック情報(第1、第2の処理方法に対応)を構築する(ステップS703)。また、細分化ブロック数がMより大きかった場合(ステップS702のブロック数>M)には、データ処理装置1は、適当な間隔でのシーク開始位置(第3の処理方法に対応)を設定する(ステップS704)。
以上に示したように、ファイルの細分化状況に応じて上述した第1〜第3の処理方法の中より最適な処理方法を選択することで、本実施形態におけるデータ処理装置1は、細分化が激しくない場合には第1、第2の処理方法を用いて高速なシーク処理を実現し、ファイルの細分化が激しい場合は第3の処理方法を適用することで細分化ブロック情報の確保領域の大きさが予め定められていても、第1、第2の処理方法よりは高速ではないが、従来より高速なシーク処理を実現する事ができる。
[第5の実施形態]
次に、第5の実施形態として、特定種類のファイルについては、本発明に対応する特別な処理によりシークをおこなうシーク方法を説明する。尚、第5の実施形態におけるデータ処理装置1の構成やクラスタの構成などは、第1の実施形態において図15及び図1、2に示したデータ処理装置1の構成やクラスタの構成と同様であり、説明を省略する。図8は、本実施形態に対応するシーク方法を示すフロー図である。ここで特定種類のファイルには、例えば動画・音声ファイルのようなサイズが巨大なファイルが該当する。
ファイルへのシーク&アクセス要求が生じた場合に、データ処理装置1は、そのファイルが特定ファイル(ここでは動画or音声ファイル)であるかどうか調べる(ステップS801)。ここで、特定ファイルでない場合(ステップS801で「NO」)は、データ処理装置1は、例えば図3に示したような通常のシーク処理を行い(ステップS802)、ステップS806に進む。
また、特定のファイルへのシーク&アクセスだった場合(ステップS801のYES)には、データ処理装置1は、ファイル情報(=細分化ブロック情報又はシーク開始位置情報)が構築済みかどうか調べる(ステップS803)。ここで、まだファイル情報を構築してない、または、ファイル情報を構築中であると判断した場合(ステップS803の「NO」)には、データ処理装置1は、ファイル情報を構築し(ステップS804)、ステップS805に進む。また、既にファイル情報を構築済みと判断した場合(ステップS803の「YES」)には、データ処理装置1は、構築済みのファイル情報を利用して上述した第1〜第3の処理方法を実行し(ステップS805)、ステップS806に進む。次に、ステップS806において、データ処理装置1は、シーク後にファイルにアクセスする。
なお、ステップS803においてファイル情報が構築済みで無かった場合には、図7に示すような細分化ブロック数に応じて構築するファイル情報の選択を行い、選択されたファイル情報についてS804で構築を行うようにしても良い。
以上により、動画・音声ファイルのような巨大なファイルに、順不同のアクセスが発生する場合であってもシーク時間を短縮することができる。尚、上述した実施形態において、細分化ブロック情報の構築自体が重い処理となる場合は、ステップS804にてファイルの全ての細分化ブロックについて細分化ブロック情報を構築する必要は無く、要求されたシークを行うために経由する細分化ブロック情報のみの構築で留めておいても構わない。この場合、構築された細分化ブロック情報に含まれるクラスタ数に基づいて細分化ブロック情報中に含まれるクラスタの合計データサイズを算出し、合計データサイズがファイルの先頭から要求された位置までのデータサイズよりも大きくなった場合に、細分化ブロック情報の構築を終了すればよい。
このようにすれば、ファイルの各位置へのシークを行う事で少しずつ細分化ブロック情報が完成に近づく動作になる。
[第6の実施形態]
次に、第6の実施形態として、特定動作の場合に本発明に対応する特別なシーク処理を行うシーク方法について説明する。尚、第6の実施形態におけるデータ処理装置1の構成やクラスタの構成などは、第1の実施形態において図15及び図1、2に示したデータ処理装置1の構成やクラスタの構成と同様であり、説明を省略する。図9は、本実施形態に対応する処理のフローチャートである。ここで特定動作とは、巨大なファイルに対して順不同のアクセスが発生する動作であり、例えば動画・音声ファイルのコマ送り・早送り・逆戻し再生を例として説明する。
ファイルへのシーク&アクセス要求が生じた場合に、データ処理装置1は、そのファイルが特定ファイル(ここでは動画or音声ファイル)であるかどうか調べる(ステップS901)。ここで、特定ファイルでない場合(ステップS901の「NO」)は、データ処理装置1は、例えば図3に示したような通常のシーク処理を行い(ステップS903)、ステップS907に進む。
また、特定のファイルへのシーク&アクセスだった場合(ステップS901の「YES」)には、データ処理装置1は、ステップS902に進み、特定動作(ここではコマ送り・送り・逆戻し)であるか否かどうか調べる。ここで、特定動作でないと判断した場合(ステップS902の「NO」)には、データ処理装置1は、ステップS903に進み、例えば図3に示したような通常のシーク処理を行う。また、特定動作であると判断した場合(ステップS902の「YES」)には、データ処理装置1は、ファイル情報(=細分化ブロック情報又はシーク開始位置情報)が構築済みかどうか調べる(ステップS904)。
ここで、まだファイル情報を構築してない、または、ファイル情報を構築中であると判断した場合(ステップS904のNO)には、データ処理装置1は、ファイル情報を構築し(ステップS905)、ステップS906に進む。また、既にファイル情報が構築済みと判断した場合(ステップS904のYES)には、データ処理装置1は、構築されたファイル情報の種類に応じて上述した第1〜第3の処理方法の何れかに対応する本発明のシーク処理を実行し(ステップS906)、ステップS907に進む。次に、ステップS907において、データ処理装置1は、シーク後にファイルにアクセスする。
なお、ステップS904においてファイル情報が構築済みで無かった場合には、図7に示すような細分化ブロック数に応じて構築するファイル情報の選択を行い、選択されたファイル情報についてS905で構築を行うようにしても良い。
以上により、巨大なファイルに対する順不同のアクセスが発生する動画・音声ファイルのコマ送り・早送り・逆戻し再生におけるシーク時間を短縮することができる。尚、上述した実施形態において、細分化ブロック情報の構築自体が重い処理となる場合は、ステップS905にてファイルの全細分化ブロック情報を構築する必要は無く、要求されたシークを行うために経由する細分化ブロック情報のみの構築で留めておいても構わない。そのための具体的手法は、第5の実施形態において記載した通りである。その場合、ファイルの各位置へのシークを行う事で少しずつ細分化ブロック情報が完成に近づく動作になる。
[第7の実施形態]
次に、第7の実施形態として、ユーザが選択したファイルの細分化ブロック情報を構築する方法について説明する。尚、第7の実施形態におけるデータ処理装置1の構成やクラスタの構成などは、第1の実施形態において図15及び図1、2に示したデータ処理装置1の構成やクラスタの構成と同様であり、説明を省略する。図10は、ユーザが選択したファイルの細分化ブロック情報を構築する方法を示すフロー図である。
尚、ファイルが巨大なために細分化ブロック情報の構築処理が重くなる場合、記憶部203に格納されている全てのファイルについて順に細分化ブロック情報を構築するよりも、ユーザがファイルを選択した時点で細分化ブロック情報を構築する方がユーザのストレスを軽減できる。ここでは、ユーザが選択したファイルが、データ容量が巨大でありかつ順不同のアクセスが発生するファイル、例えば動画・音声ファイルであった場合に細分化ブロック情報を構築する場合例として説明するが、ユーザが選択したファイルが特定のファイルであるか否かにかかわらず、ユーザが選択したファイルについて細分化ブロック情報を構築してもよい。
図10に示すように、まず、データ処理装置1は、記憶部203に格納されているファイルのうち、ユーザが選択したファイルの種類を調べる(ステップS1001)。ここで、ファイルの種類が動画or音声ファイルである場合(ステップS1001のYES)には、データ処理装置1は、細分化ブロック情報を構築する(ステップS1002)。また、ファイルの種類が動画or音声ファイルでない場合(ステップS1001のNO)には、データ処理装置1は、処理を終了する。
[第8の実施形態]
次に、第8の実施形態として、動画記録が可能なデータ処理装置1において、動画記録中に細分化ブロック情報を構築する方法について説明する。尚、第8の実施形態におけるデータ処理装置1の構成やクラスタの構成などは、第1の実施形態において図15及び図1、2に示したデータ処理装置1の構成やクラスタの構成と同様であり、説明を省略する。図12は、動画記録が可能なデータ処理装置1において、動画記録中に細分化ブロック情報を構築する方法を示すフロー図である。
図12に示すように、動画記録が指示された場合には、データ処理装置1は、まず動画記録の継続が指示されているか否かを調べる(ステップS1201)。ここで、動画記録の指示はデータ処理装置1の本体に設けられた録画ボタンの操作に基づくものであり、動画記録の継続が指示されているか否かは、当該録画ボタンの操作が停止ボタンなどによりキャンセルされたか否かにより行うことができる。もし、動画記録の継続が指示されていた場合(ステップS1201の「YES」)には、データ処理装置1は、動画データを揮発性メモリ(メモリ5)に取得する(ステップS1202)。次に、データ処理装置1は、メモリ5に取得した動画データを不揮発性メモリ(記録媒体200)上のファイルに書き込む(ステップS1203)。
ここで、上述したステップS1203における記録媒体200への書き込み動作の詳細について説明する。図11は、図12に示したステップS1203における記録媒体200への書き込み動作の詳細を示す図である。図11に示すように、データ処理装置1は、まず、書き込み対象のデータを記録媒体200上のファイルに書き込む(ステップS1101)。次に、データ処理装置1は、記録媒体200上に書き込み処理したファイルが動画or音声ファイルであるか否かを調べる(ステップS1102)。ここで、動画or音声ファイルであると判断した場合(ステップS1102のYES)には、データ処理装置1は、細分化ブロック情報をメモリ5上に構築する(ステップS1103)。
ここで図12に戻って、動画記録の継続が指示されていない場合(ステップS1201のNO)には、データ処理装置1は、撮影時刻の記録など動画ファイルの後処理を行う(ステップS1204)。次に、データ処理装置1は、メモリ5上の細分化ブロック情報を記録媒体200に動画ファイルとは別ファイルとして記録する(ステップS1205)。以上により、データ処理装置1は、動画記録処理を終了する。
上述した実施形態においては、細分化ブロック情報を記録媒体200に動画ファイルとは別ファイルとして記録したが、記録方法はこれに限定されるものではなく、動画ファイル中に添付保存したり、内蔵の不揮発性メモリ9に記録したり、メモリ5上にそのまま置いておく(=電源OFFで消える)ようにしても構わない。
また、上述した処理により記録した動画ファイルを再生する場合、図8や図9に示したシーク方法でシークする対象となるメディア(記録媒体200)が交換されていない場合は、ステップS803(図8)やステップS904(図9)においてファイル情報構築済みと判断して、記録媒体200に記録した細分化ブロック情報を用いることができる。ここで、記録媒体200が交換されたか否かは、検知部12を利用して、例えば、動画ファイルを記録媒体200に記録してからその動画ファイルの再生を行うまでの間に記録媒体200が着脱されたか否かにより判断することができる。
[第9の実施形態]
次に、第9の実施形態として、音声記録が可能なデータ処理装置1において、音声データの記録中に細分化ブロック情報を構築する方法について説明する。尚、第9の実施形態におけるデータ処理装置1の構成やクラスタの構成などは、第1の実施形態において図15及び図1、2に示したデータ処理装置1の構成やクラスタの構成と同様であり、説明を省略する。図13は、音声記録が可能なデータ処理装置1において、音声データの記録中に細分化ブロック情報を構築する方法を示すフロー図である。
図13に示すように、音声記録が指示された場合には、データ処理装置1は、まず音声記録の継続が指示されているか否かを調べる(ステップS1301)。ここで、音声記録の指示はデータ処理装置1の本体に設けられた録音ボタンの操作に基づくものであり、音声記録の継続が指示されているか否かは、当該録音ボタンの操作が停止ボタンなどによりキャンセルされたか否かにより行うことができる。もし、音声記録の継続が指示されている場合(ステップS1301のYES)には、データ処理装置1は、音声データを揮発性メモリ(メモリ5)に取得する(ステップS1302)。次に、データ処理装置1は、メモリ5に取得した音声データを不揮発性メモリ(記録媒体200)上のファイルに書き込む(ステップS1303)。
ここで、上述したステップS1303における記録媒体200への書き込み動作の詳細について説明する。図13に示したステップS1303における記録媒体200への書き込み動作の詳細も、動画の場合と同様に図11に示す流れで行われる図11に示すように、データ処理装置1は、まず、書き込み対象の音声データを記録媒体200上のファイルに書き込む(ステップS1101)。次に、データ処理装置1は、記録媒体200上に書き込み処理したファイルが動画or音声ファイルであるか否かを調べる(ステップS1102)。ここで、音声ファイルであると判断した場合(ステップS1102のYES)には、データ処理装置1は、細分化ブロック情報をメモリ5上に構築する(ステップS1103)。
また、音声記録の継続が指示されていない場合(ステップS1301のNO)には、データ処理装置1は、撮影時刻の記録など音声ファイルの後処理を行う(ステップS1304)。次に、データ処理装置1は、メモリ5上の細分化ブロック情報を記録媒体200に音声ファイルとは別ファイルとして記録する(ステップS1305)。以上により、データ処理装置1は、音声記録処理を終了する。
上述した実施形態においては、細分化ブロック情報を記録媒体200に音声ファイルとは別ファイルとして記録したが、記録方法はこれに限定されるものではなく、音声ファイル中に添付保存したり、内蔵の不揮発性メモリ9に記録したり、メモリ5上にそのまま置いておく(=電源OFFで消える)ようにしても構わない。
また、上述した処理により記録した音声ファイルを再生する際に、図8や図9に示したシーク方法でシークする対象となるメディア(記録媒体200)が交換されていない場合は、ステップS803(図8)やステップS904(図9)においてファイル情報構築済みと判断して、記録媒体200に記録した細分化ブロック情報を用いる。
[第10の実施形態]
次に、第10の実施形態におけるデータ処理装置1として、上述した各実施形態を動作モード等に応じて使い分ける方法について説明する。尚、第10の実施形態におけるデータ処理装置1の構成やクラスタの構成などは、第1の実施形態において図15及び図1、2に示したデータ処理装置1の構成やクラスタの構成と同様であり、説明を省略する。図14は、第10の実施形態におけるデータ処理装置1の動作を示すフロー図である。
図14に示すように、データ処理装置1は、電源が投入されたら、まず動作モードを調べる(ステップS1401)。ここで、動作モードが記録モードであると判断した場合(ステップS1401の「REC」)には、データ処理装置1は、記録媒体200に記録するデータの種類(記録対象)を調べる(ステップS1402)。ここで、記録対象が動画ファイルの場合(ステップS1402の「MOVIE」)には、データ処理装置1は、例えば図12に示した動画記録処理により動画撮影を行う(ステップS1403)。
また、記録対象が音声ファイルの場合(ステップS1402のSOUND)には、データ処理装置1は、例えば図13に示した音声記録処理により音声録音を行う(ステップS1404)。また、記録対象がその他のファイルの場合(ステップS1402の「ETC」)には、データ処理装置1は、その他のファイルに対する処理を行う(ステップS1405)。
また、ステップS1401において、動作モードが再生モードであると判断した場合(ステップS1401の「PLAY」)には、データ処理装置1は、ユーザの操作に応じて再生対象となるファイル(動画ファイルや音声ファイルなど)の選択処理を行う(ステップS1406)。次に、データ処理装置1は、選択したファイルの再生処理を行う(ステップS1407)。尚、このステップS1407における再生処理は、上述した図4〜10にて示した再生処理のいずれかを用いることが好ましい。
尚、図15に示した記録媒体200は、PCMCIAカード等のメモリカード、ハードディスク等だけでなく、マイクロDAT、光磁気ディスク、CD−RやCD−WRなどの光ディスク、DVDなどの相変化型光ディスク等で構成されていてもよい。更に、記録媒体200は、メモリカードとハードディスク等が一体となった複合媒体であってもよく、その複合媒体から一部が着脱可能な構成であってもよい。
また、図4〜7のいずれかに示される方法だけを特別なシーク方法として用いてもよい。更に、図8で示される特定ファイルの場合に特別なシーク方法を用いてもよく、図9で示される特定動作の場合に特別なシーク方法を用いてもよい。図12、13で示されるファイル作成時に記録した細分化ブロック情報を用いて特別なシーク方法を用いてもよい。
また、図14で示した第10の実施形態においては、動画撮影、音声録音が出来るデータ処理装置1を例にして説明したが、この限りではなく、再生専用のデータ処理装置1でもよく、この場合には記録モードが無い処理となる。
以上のように、本発明の情報処理装置、情報処理方法及びそのプログラムによれば、記録媒体に記録された情報データ(ファイル)からデータを読み出す(アクセスする)ために要するシーク時間をより短縮することができる。
尚、上述した実施形態では、データ処理装置1の機能を実現する為のプログラムをメモリに読み込んでCPUが実行することによりその機能を実現させるものであったが、この限りではなく、各処理の全部または一部の機能を専用のハードウェアにより実現してもよい。また、上述したメモリは、光磁気ディスク装置、フラッシュメモリ等の不揮発性のメモリや、CD−ROM等の読み出しのみが可能な記録媒体、RAM以外の揮発性のメモリ、あるいはこれらの組み合わせによるコンピュータ読み取り、書き込み可能な記録媒体より構成されてもよい。
また、データ処理装置1において各種処理を行う機能を実現する為のプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより各処理を行っても良い。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現する為のものであっても良い。さらに、前述した機能をコンピュータシステムに既に記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
また、上記のプログラムを記録したコンピュータ読み取り可能な記録媒体等のプログラムプロダクトも本発明の実施形態として適用することができる。上記のプログラム、記録媒体、伝送媒体およびプログラムプロダクトは、本発明の範疇に含まれる。
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
記憶媒体に格納されたファイルのクラスタの使用状況例を示す図である。 図1に示すクラスタ使用状況のファイルシステムにおける管理例を示す図である。 図2に示すクラスタ管理例において、シーク位置が現在の位置に対して順方向/逆方向に位置する場合のシーク方法を示す図である。 本発明の第1の実施形態に対応する細分化ブロック情報の構成例を示す図である。 本発明の第1の実施形態に対応するシーク処理を行うプログラムの一例を示す図である。 本発明の第1の実施形態に対応するシーク処理のフローチャートである。 本発明の第2の実施形態に対応する細分化ブロック情報の構成例を示す図である。 本発明の第2の実施形態に対応するシーク処理を行うプログラムの一例を示す図である。 本発明の第2の実施形態に対応する細分化ブロック情報の再構築処理のフローチャートである。 本発明の第3の実施形態に対応するシーク方法の一例と、シーク開始位置情報の一例とを示す図である。 本発明の第3の実施形態に対応するシーク開始位置を特定する処理のプログラムの一例を示す図である。 本発明の第3の実施形態に対応するシーク処理のフローチャートである。 本発明の第4の実施形態に対応する、第1乃至第3の実施形態におけるシーク方法より、いずれか最適な方法を選択してシーク処理を行う場合のシーク方法の一例を示すフローチャートである。 本発明の第5の実施形態に対応する処理のフローチャートである。 本発明の第6の実施形態に対応する処理のフローチャートである。 本発明の第7の実施形態に対応する処理のフローチャートである。 本発明の第8の実施形態に対応する記録媒体200への書込処理のフローチャートである。 本発明の第8の実施形態に対応する処理のフローチャートである。 本発明の第9の実施形態に対応する処理のフローチャートである。 本発明の第10の実施形態に対応する処理のフローチャートである。 本発明の実施形態に対応するデータ処理装置の概略構成を示す図である。

Claims (4)

  1. 記録媒体上の複数の連続領域に分割して記録されたファイルを再生する情報処理装置であって、
    一つの前記ファイルが記録されている前記記録媒体における前記連続領域の数を検出する検出手段と、
    前記検出手段により検出された前記連続領域の数が予め定めた数以下の場合に前記記録媒体における各連続領域の先頭位置と各連続領域のサイズとを示す第1の管理情報を生成し、前記検出手段により検出された前記連続領域の数が前記予め定めた数よりも多い場合に一つの前記ファイルにおいて所定のサイズ毎に設定した複数のシーク開始位置と各シーク開始位置に対応した前記記録媒体における記録位置とを示す第2の管理情報を生成する生成手段と、
    前記第1の管理情報または前記第2の管理情報を用いて、前記ファイルにおける要求された位置に対応した前記記録媒体における記録位置を特定する特定手段と、
    前記記録媒体における前記特定手段が特定した記録位置から前記ファイルの読み出しを開始する再生手段と、
    を備えることを特徴とする情報処理装置。
  2. 前記記録媒体は複数のクラスタから構成され、前記第1の管理情報は前記各連続領域の先頭のクラスタ番号と前記各連続領域の先頭クラスタから連続するクラスタ数とを示し、前記第2の管理情報は前記複数のシーク開始位置に対応したクラスタ番号を示すことを特徴とする請求項1に記載の情報処理装置。
  3. 記録媒体上の複数の連続領域に分割して記録されたファイルを再生する情報処理方法であって、
    検出手段が、一つの前記ファイルが記録されている前記記録媒体における前記連続領域の数を検出する検出工程と、
    生成手段が、前記検出工程により検出された前記連続領域の数が予め定めた数以下の場合に前記記録媒体における各連続領域の先頭位置と各連続領域のサイズとを示す第1の管理情報を生成し、前記検出工程により検出された前記連続領域の数が前記予め定めた数よりも多い場合に一つの前記ファイルにおいて所定のサイズ毎に設定した複数のシーク開始位置と各シーク開始位置に対応した前記記録媒体における記録位置とを示す第2の管理情報を生成する生成工程と、
    特定手段が、前記第1の管理情報または前記第2の管理情報を用いて、前記ファイルにおける要求された位置に対応した前記記録媒体における記録位置を特定する特定工程と、
    読み出し手段が、前記記録媒体における前記特定工程で特定された記録位置から前記ファイルの読み出しを開始する読み出し工程と、
    を有することを特徴とする情報処理方法。
  4. 前記記録媒体は複数のクラスタから構成され、前記第1の管理情報は前記各連続領域の先頭のクラスタ番号と前記各連続領域の先頭クラスタから連続するクラスタ数とを示し、前記第2の管理情報は前記複数のシーク開始位置に対応したクラスタ番号を示すことを特徴とする請求項に記載の情報処理方法。
JP2005009238A 2004-01-23 2005-01-17 情報処理装置及び情報処理方法 Expired - Fee Related JP4612840B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005009238A JP4612840B2 (ja) 2004-01-23 2005-01-17 情報処理装置及び情報処理方法
US11/038,114 US7409399B2 (en) 2004-01-23 2005-01-21 Information processing apparatus, information processing method, and program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004015945 2004-01-23
JP2005009238A JP4612840B2 (ja) 2004-01-23 2005-01-17 情報処理装置及び情報処理方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2010130445A Division JP4979794B2 (ja) 2004-01-23 2010-06-07 情報処理装置及び情報処理方法

Publications (3)

Publication Number Publication Date
JP2005235183A JP2005235183A (ja) 2005-09-02
JP2005235183A5 JP2005235183A5 (ja) 2008-03-06
JP4612840B2 true JP4612840B2 (ja) 2011-01-12

Family

ID=34797786

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005009238A Expired - Fee Related JP4612840B2 (ja) 2004-01-23 2005-01-17 情報処理装置及び情報処理方法

Country Status (2)

Country Link
US (1) US7409399B2 (ja)
JP (1) JP4612840B2 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007265010A (ja) * 2006-03-28 2007-10-11 Nec Electronics Corp ファイル再生装置およびファイル再生方法ならびにプログラム
CN101286157A (zh) * 2007-09-28 2008-10-15 深圳市天朗时代科技有限公司 一种文件检索方法及装置和时间流文件处理器
US10943030B2 (en) 2008-12-15 2021-03-09 Ibailbonding.Com Securable independent electronic document
US9265429B2 (en) 2009-09-18 2016-02-23 Welch Allyn, Inc. Physiological parameter measuring platform device supporting multiple workflows
JP2011259110A (ja) * 2010-06-07 2011-12-22 Panasonic Corp 動画再生方法および動画再生装置
USD916713S1 (en) 2012-04-05 2021-04-20 Welch Allyn, Inc. Display screen with graphical user interface for patient central monitoring station
US10226200B2 (en) 2012-04-05 2019-03-12 Welch Allyn, Inc. User interface enhancements for physiological parameter monitoring platform devices
US9055870B2 (en) 2012-04-05 2015-06-16 Welch Allyn, Inc. Physiological parameter measuring platform device supporting multiple workflows
USD772252S1 (en) 2012-04-05 2016-11-22 Welch Allyn, Inc. Patient monitoring device with a graphical user interface
US9235682B2 (en) 2012-04-05 2016-01-12 Welch Allyn, Inc. Combined episodic and continuous parameter monitoring
JP6361130B2 (ja) * 2013-12-24 2018-07-25 株式会社ソシオネクスト ファイルアクセスプログラム、ファイルアクセス方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000148470A (ja) * 1998-11-16 2000-05-30 Ricoh Co Ltd 情報処理システムとそれに使用する交換可能な記録媒体
JP2000353115A (ja) * 1999-04-28 2000-12-19 Emc Corp 多用途な間接指定又は複数ボリュームを有するエクステント・ベース・ファイルシステム
JP2001154810A (ja) * 1999-11-30 2001-06-08 Sony Corp データ記録制御装置および方法、並びにデータ記録再生装置
JP2001229619A (ja) * 2000-02-16 2001-08-24 Matsushita Electric Ind Co Ltd データ再生装置、データ再生方法、及び記録媒体
JP2001236251A (ja) * 2000-02-23 2001-08-31 Fujitsu Ltd ファイルシステム
JP2002091707A (ja) * 2000-09-14 2002-03-29 Hitachi Electronics Eng Co Ltd 記憶媒体ライブラリシステムにおけるファイル情報管理方法
JP2003272349A (ja) * 2002-03-19 2003-09-26 Sony Corp 情報処理装置および方法、記録媒体、並びにプログラム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0540696A (ja) * 1991-08-02 1993-02-19 Canon Inc 仮想記憶アドレス制御の方法及びその情報処理装置
JPH08212187A (ja) * 1995-01-31 1996-08-20 Nippon Telegr & Teleph Corp <Ntt> マルチメディアデータ出力方法
US6035367A (en) * 1997-04-04 2000-03-07 Avid Technology, Inc. Computer file system providing looped file structure for post-occurrence data collection of asynchronous events
JP3382159B2 (ja) * 1998-08-05 2003-03-04 株式会社東芝 情報記録媒体とその再生方法及び記録方法
JP3997640B2 (ja) * 1999-02-01 2007-10-24 松下電器産業株式会社 情報記録再生装置
JP2003304523A (ja) * 2002-02-08 2003-10-24 Ntt Docomo Inc 情報配信システム、情報配信方法、情報配信サーバ、コンテンツ配信サーバ及び端末
US20040261027A1 (en) * 2003-06-09 2004-12-23 Dillon Patrick Morton Methods and apparatuses for streamlining the digital publishing of filmed video programs

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000148470A (ja) * 1998-11-16 2000-05-30 Ricoh Co Ltd 情報処理システムとそれに使用する交換可能な記録媒体
JP2000353115A (ja) * 1999-04-28 2000-12-19 Emc Corp 多用途な間接指定又は複数ボリュームを有するエクステント・ベース・ファイルシステム
JP2001154810A (ja) * 1999-11-30 2001-06-08 Sony Corp データ記録制御装置および方法、並びにデータ記録再生装置
JP2001229619A (ja) * 2000-02-16 2001-08-24 Matsushita Electric Ind Co Ltd データ再生装置、データ再生方法、及び記録媒体
JP2001236251A (ja) * 2000-02-23 2001-08-31 Fujitsu Ltd ファイルシステム
JP2002091707A (ja) * 2000-09-14 2002-03-29 Hitachi Electronics Eng Co Ltd 記憶媒体ライブラリシステムにおけるファイル情報管理方法
JP2003272349A (ja) * 2002-03-19 2003-09-26 Sony Corp 情報処理装置および方法、記録媒体、並びにプログラム

Also Published As

Publication number Publication date
US7409399B2 (en) 2008-08-05
US20050166000A1 (en) 2005-07-28
JP2005235183A (ja) 2005-09-02

Similar Documents

Publication Publication Date Title
JP4612840B2 (ja) 情報処理装置及び情報処理方法
JP4912494B2 (ja) データ記録システム、データ記録方法およびデータ記録プログラム
KR20070028375A (ko) 콘텐츠 재생 장치, 콘텐츠 재생 방법, 콘텐츠 재생 시스템및 그 컴퓨터 프로그램
JP6110637B2 (ja) 画像処理装置
CN101668150B (zh) 信息处理装置
KR20100065577A (ko) 녹음 기능을 수행하는 단말기 및 그 단말기의 이미지 처리 방법
JP4979794B2 (ja) 情報処理装置及び情報処理方法
JP6220160B2 (ja) 再生装置及びその制御方法
JP5164603B2 (ja) 再生装置
JP3780910B2 (ja) 光ディスク録画装置
JP2012080361A (ja) 記録装置、撮像記録装置、記録方法及びプログラム
JP2010109478A (ja) 情報処理装置、情報処理システム、およびプログラム
JP5697463B2 (ja) 動画編集装置及び動画編集装置の制御方法
JP2003257158A (ja) 記録再生装置および記録再生方法
JP2012156879A (ja) 記録装置及び再生装置
JP4422543B2 (ja) 画像表示装置及び画像表示方法
JP4402510B2 (ja) 画像表示装置
JP4163655B2 (ja) 画像表示装置
JP2009290484A (ja) 情報処理装置及び情報処理方法
JPH10145721A (ja) 画像再生装置および画像記録装置
JP2022095374A (ja) 動画ファイル生成装置、その生成方法、およびプログラム
JP2008011419A (ja) 記録装置及び記録装置の制御方法
JP2008193344A (ja) 編集装置及び編集方法
JP2009010554A (ja) データ記録装置、データ記録プログラムおよび記録媒体
JP2009296053A (ja) 撮像装置及びその制御方法、並びに撮像システム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080117

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080117

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090724

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100105

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100308

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100409

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100607

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: 20101004

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: 20101016

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131022

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4612840

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees