JP2006139845A - 情報処理装置、情報処理方法、プログラム - Google Patents

情報処理装置、情報処理方法、プログラム Download PDF

Info

Publication number
JP2006139845A
JP2006139845A JP2004327867A JP2004327867A JP2006139845A JP 2006139845 A JP2006139845 A JP 2006139845A JP 2004327867 A JP2004327867 A JP 2004327867A JP 2004327867 A JP2004327867 A JP 2004327867A JP 2006139845 A JP2006139845 A JP 2006139845A
Authority
JP
Japan
Prior art keywords
data
file
area
information
cluster
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.)
Pending
Application number
JP2004327867A
Other languages
English (en)
Inventor
Ryogo Ito
亮吾 伊藤
Junichi Yokota
淳一 横田
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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Priority to JP2004327867A priority Critical patent/JP2006139845A/ja
Publication of JP2006139845A publication Critical patent/JP2006139845A/ja
Pending legal-status Critical Current

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)

Abstract

【課題】ファイル再生処理速度の向上。
【解決手段】ヘッダ領域A1、データ領域A2、及びリソース領域A3が順次配置されて成る構造のファイルをHDDに記録するときに、データ領域A2を形成する実データであるサムネイルデータの終端位置から、その終端位置を含むクラスタの終端までをアライメント領域A2−1により埋める。アライメント領域A2−1はサムネイルデータの再生には影響しない。これにより、リソース領域A3は、常にクラスタの開始位置から記録されることになる。
【選択図】図15

Description

本発明は、所定サイズによる最小データ管理単位により記憶媒体に対してデータを記録するようにされた情報処理装置とその方法に関する。また、このような情報処理装置が実行するプログラムに関する。
近年においては、記憶デバイスとして、記憶媒体に磁気ディスクを採用したHDD(ハードディスクドライブ)が広く普及している。
HDDは、周知のようにしてランダムアクセスが可能な記憶装置であり、記録されたデータの書き込み/読み出しは、基本的には、磁気ヘッドによって磁気ディスクに形成されるトラックに対してデータに応じた磁界印加/磁界検出を実行することによって実現される。
また、このようなHDDにおいては、例えばFATファイルシステムなどに代表されるファイルシステムのフォーマットにより、ファイルとしてのデータの記録/再生、ファイル管理などが行われるようにされているのが通常である。
特開2004−79087号公報
ところで、HDDは、上記しているように磁気ヘッドによりトラックに対するデータの書き込み/読み出しを行うようにされている。従って、HDDにおいて記憶されているファイルなどのデータにアクセスするためには、そのデータが書き込まれているトラックに対してアクセスが行われるように、物理的に磁気ヘッドを移動させるシークといわれる動作が必要となる。このことから、周知のようにして、HDDなどのディスクメディアにおけるアクセス時間は、シーク動作に要するシーク時間が必ず含まれることになる。
アクセス時間が長くなると、例えばファイルのデータの転送速度の低下など、ファイル再生の処理速度などのパフォーマンスの低下を招くので、できるだけ短縮されるべきことが好ましいが、HDDなどのように、物理的にヘッドが移動してデータへのアクセスを行う記憶デバイス(記憶媒体)においては、ヘッドが物理的に移動している以上、上記したシーク時間が存在することは避けられない。
そこで、本発明としては、HDDなどのようなシーク動作を伴ってデータへのアクセスが行われる記憶デバイス(記憶媒体)を対象として、上記したような構造のファイルの再生を行う場合に関して、ファイル再生処理速度が向上されるようにすることを、その課題とする。
このために、本発明は情報処理装置について次のように構成する。
つまり、所定サイズの最小データ管理単位により記憶媒体にデータを書き込んで記憶させるデータ書き込み手段と、第1の情報部と、論理的にこの第1の情報部に続くようにして位置するもので、少なくとも上記第1の情報部に格納される実データを形成するデータ要素単位へのアクセスに必要とされる所定の情報を有する第2の情報部とから少なくとも成るファイルのデータを記憶媒体に書き込む場合において、第1の情報部の実データの終端位置を含んで記憶される最小データ管理単位に続く最小データ管理単位の開始位置から第2の情報部が記憶されるようにして、書き込み手段によるデータ書き込み処理を制御する制御手段とを備えて構成することとした。
また、情報処理方法として、所定サイズの最小データ管理単位により記憶媒体にデータを書き込んで記憶させるデータ書き込み手順と、第1の情報部と、論理的にこの第1の情報部に続くようにして位置するもので、第1の情報部に格納される実データを形成するデータ要素単位へのアクセスに必要とされる所定の情報を有する第2の情報部とから少なくとも成るファイルのデータを記憶媒体に書き込む場合において、第1の情報部の実データの終端位置を含んで記憶される最小データ管理単位に続く最小データ管理単位の開始位置から上記第2の情報部が記憶されるようにして、書き込み手順によるデータ書き込み処理を制御する制御手順とを実行するように構成することとした。
また、プログラムとして、上記情報処理方法としての手順を情報処理装置に実行させるように構成することとした。
上記各構成においては、所定サイズの最小データ管理単位によって記憶媒体にデータを書き込むことを前提として、第1の情報部と第2の情報部とから成るファイルを記憶媒体に記憶するのにあたっては、第1の情報部の実データの終端位置を含んで記憶される最小データ管理単位に続く最小データ管理単位においては、その開始位置から上記第2の情報部を書き込んで記憶させることとしている。
これにより、第1の情報部の実データの終端位置が、最小データ管理単位の終端と一致しているか否かにかかわらず、第2の情報部は、常に、最小データ管理単位の開始位置から書き込まれて記憶された状態が得られることになる。
記憶媒体に記憶されたデータを再生するのにあたっては、このデータの処理対象となる部分にアクセスして読み出しを実行し、作業用メモリ領域に書き込んで保持したうえで、この保持されたデータ部分を使用することが行われるが、この処理対象となるデータ部分についての記憶媒体からの読み出し及び作業用メモリ領域への書き込みは、最小データ管理単位を基として行われる。
例えば第2の情報部が最小データ管理単位の中途の位置から書き込まれるようにして記憶媒体に記憶される状態では、再生時において、この第2の情報部の開始位置を含む最小データ管理単位を記憶媒体から読み出して作業用メモリ領域に保持させる手順が必ず必要となる。これに対して、本発明では、この手順は省略されることになる。これにより本発明では、第2の情報部へのアクセス回数がその分少なくなる場合が生じることになる。
そのうえで、この第2の情報部は、「第1の情報部に格納される実データを形成するデータ要素単位へのアクセスに必要とされる所定の情報を有する」ものであるから、ファイル再生に際しては、実データを再生するために必ずアクセスしなければならない情報である。従って、第2の情報部へのアクセス回数が少なくなるということは、ファイル再生におけるアクセス回数が削減されることを意味する。
このようにして、ファイル再生に対するアクセス回数が削減されることで、例えばシーク時間なども短縮されることとなり、結果的には、ファイル再生処理速度が向上されることになる。
以下、本発明を実施するための最良の形態(以下、実施の形態という)について説明する。本実施の形態としては、本発明としての情報処理装置の構成をデジタルビデオカメラに適用した場合を例に挙げることとする。
図1は、本実施の形態としてのデジタルビデオカメラ1の構成例を示すブロック図である。
この図に示すデジタルビデオカメラ1において、光学系部2は、撮像レンズ、絞りなどを備えて成り、入射された光を撮像光として、光電変換部3に結像させる。また、光学系部2においては、フォーカス(焦点)調整のためのフォーカス調整機構や、絞り値に応じて絞りを可変する絞り可変機構などを備えているものとされ、このような機構部の駆動は、カメラ機能部6から出力される駆動信号によって行われる。カメラ機能部6は、CPU10の制御に応じて、しかるべきフォーカス状態や絞りの状態等が得られるように所要の駆動信号を出力するようにされている。
また、例えば光学ズーム機能を与えることとした場合には、光学系部2においてズームレンズを移動させるズーム機構を設けると共に、上記と同様にして、CPU10の制御に応じて上記ズーム機構を移動させる駆動部を設けるようにすればよい。さらに、カメラ機能部6として、ストロボを設けたうえで、ストロボ発光機能を与えるように構成することもできる。
光電変換部3は、例えば光電変換素子であるCCD(Charge Coupled Device)を備えて構成され、光学系部2から入射されて受光面にて結像された撮像光を光電変換することで撮像信号を生成してビデオ信号処理部4に出力する。撮影時においては、例えば露出設定結果に応じて決定されるシャッター速度の指示が、CPU10からビデオ信号処理部4に通知される。ビデオ信号処理部4では、通知されたシャッター速度に対応する走査タイミング信号を光電変換部3に出力する。光電変換部3は、この走査タイミング信号に応じて走査を行うようにして、光電変換処理を実行して映像信号を出力するようにされる。
ビデオ信号処理部4は、光電変換部3から入力されたアナログのビデオ信号(撮像画像信号)について、例えばゲイン調整、サンプルホールド処理を施すことによって波形整形を行ったうえで、A/D変換を行うことで、デジタルとしてのビデオ信号データに変換する。そして、この変換処理によって得られたデジタルビデオ信号について、例えば、表示用輝度データの生成処理などをはじめ、表示部7にて表示が行われるようにするためのビデオ信号処理を実行する。これに伴い、ビデオ信号処理部4では、CPU10の制御に応じてキャラクタ画像なども撮像画像に重畳して表示可能なように、いわゆるオンスクリーンディスプレイのための信号処理も実行可能とされている。
表示部7として採用される実際のディスプレイデバイスについては特に限定されるべきものではないが、現状においては、広く液晶ディスプレイパネルが採用されている。
また、ビデオ信号処理部4は、光電変換部3から入力されたアナログビデオ信号を変換して得たデジタルビデオ信号について、例えば所定方式による圧縮符号化処理を施して、圧縮ビデオデータを生成することが可能とされている。
また、本実施の形態のデジタルビデオカメラは、スチルカメラ機能も備える。つまり、撮像画像信号について、写真としての所定形式による静止画データファイルを生成することが可能とされているが、このような画像処理も、ビデオ信号処理部4によって行われる。
また、ビデオ信号処理部4では、光電変換部3から入力された画像(映像)信号や、後述するメディアから読み出されたAV(Audio Video)データのファイル(AVファイル)などを、所定方式のアナログビデオ信号又はデジタルビデオ信号に変換して、画像入出力部5を介して外部機器などに出力可能とされている。
画像入出力部5は、外部から所定方式のビデオ信号を入力可能ともされており、この入力したビデオ信号をビデオ信号処理部4の処理を経て表示部7に表示させることが可能とされる。また、ビデオ信号処理部4は、画像入出力部5が入力したビデオ信号について、光電変換部3から入力されたアナログビデオ信号と同様にして、記録用データに変換してメディアコントローラ13に転送することもできる。
これに対応して、画像入出力部5は、例えば所定方式に従った映像(画像)信号出力端子/映像信号入力端子を備える。
また、本実施の形態のデジタルビデオカメラ1は、音声処理部8及び音声入出力部9を備えることで、音声信号の入出力も可能とされている。
先ず、音声入力については、音声入出力部9としてマイクロフォンなどを備え、外部音声の収音を行って音声信号に変換して音声を入力するようにされる。そして、このようにして入力した音声信号を音声処理部8に出力する。音声処理部8は、例えば、撮像画像の圧縮符号化に対応する音声圧縮符号化方式により符号化された圧縮オーディオデータに変換するなどの音声信号処理を施す。
CPU10は、画像信号処理部4により得られた撮像画像についての圧縮ビデオデータと、音声処理部8により得られた収音音声についての圧縮オーディオデータとにより、所定形式のAVファイルを形成するための制御処理を実行するようにされる。このAVファイルは、圧縮ビデオデータを再生して出力される動画像に対して、圧縮オーディオデータを再生して出力される音声の再生時間軸が同期したものとなっている。なお、実際にAVファイルを形成するための構成としては、CPU10がプログラムを実行して得られるデジタル信号処理となるソフトウェア構成とされてもよいし、あるいは、AVファイルを形成するためのハードウェアを備えるとともに、CPU10がこのハードウェアについての動作を制御する構成としてもよい。
上記AVファイルとしてのデータは、記録用データとして、例えばCPU10の制御によってメディアコントローラ13に転送される。また、CPU10は、ビデオ信号処理部4によって生成された写真画像としての所定形式の静止画データファイルについても、記録用データとしてメディアコントローラ13に転送することができる。
音声入出力部9としては、音声信号入力端子などを備えて外部のオーディオ機器などからオーディオ信号を入力するようにも構成することができる。上記音声信号入力端子から入力されたオーディオ信号については、音声処理部8は、所定形式によるデジタルオーディオデータファイルに変換するようにされる。CPU10は、このようなデジタルオーディオデータファイルのデータについても、記録用データとしてメディアコントローラ13に転送することができる。
メディアコントローラ13は、CPU10との連携により、所定の異なる種別の外部のメディア(記憶媒体)、外部記憶デバイス(記憶装置)に対応して、これらのメディアに対するデータ処理に関する制御処理を実行可能に構成される。ここでいうメディアに対するデータ処理とは、メディアのフォーマット処理や、メディアの記憶領域に対するファイル及びファイル管理のための情報(ファイル管理情報)などの書き込み/読み出し処理など、メディアに記憶されるべきデータに関連する何らかの処理をいう。
本実施の形態では、メディアコントローラ13に対しては、先ず、ハードディスクドライブ(HDD)14が接続されている。HDD14は、周知のようにしてハードディスクといわれる、記憶媒体として磁気ディスクを備える記憶デバイスであり、現状においては、比較的低コストでギガバイトクラスの大容量が得られる。また、周知のようにして、記憶媒体である磁気ディスクに対する物理的なデータの読み出し/書き込みは、磁気ヘッドにより、磁気ディスク上に形成されるトラックをトレースしながら磁界印加、磁界検出を行うことによって実現される。
また、この場合のHDD14としては、例えばデジタルビデオカメラ1に固定的に内蔵されるものとしてもよいし、デジタルビデオカメラ1(ホスト)に対して装脱可能な、所定の規格に従ったリムーバブル形態とされてもよい。
また、この図では、メディアコントローラ13は、所定方式の光ディスク、光磁気ディスク、及び半導体メモリ素子を備える記憶デバイスである半導体記憶装置などにも対応してデータ処理が可能であることとされている。
光ディスク及び光磁気ディスクなどに対応する場合の実際としては、これらの記録媒体に対応してデータの書き込み/読み出しが可能に構成されたドライブとしてのデバイスを備え、これらのデバイスとメディアコントローラ13とを接続することになる。
また、半導体記憶装置に対応する場合は、半導体記憶装置の実際の規格に従って、この半導体記憶装置が装脱されるスロットを、デジタルビデオカメラ1の本体に備える。このスロットに対して半導体記憶装置が適正に装填されると、半導体記憶装置のピン端子がスロットのコネクタ部位の電極と接続され、これにより、半導体記憶装置は、メディアコントローラ13との間で通信が可能に接続されることになる。
メディアコントローラ13は、先に説明したようにして、記録用データが転送されてくるのに応じて、この記録用データを、メディアコントローラ13と接続されているメディア(記憶媒体、記憶装置)のうちから対象として選択されているメディアに対してさらに転送する。データが転送されたメディアでは、メディアコントローラ13側からの指示に応じて記憶領域に対してデータを書き込んで記憶させる。このようにしてメディアに記憶されるデータがファイルとして記憶管理されることになる。なお、メディアに記憶されるファイルの管理は所定方式のファイルシステムによって行われる。
また、例えばメディアに記憶されているファイルについての再生として、AVファイルを再生するときには、CPU10及びメディアコントローラ13は、指定されたAVファイルにアクセスして読み出しを行う。このようにして読み出されるAVファイルは、例えばCPU10の処理により、圧縮ビデオデータと圧縮オーディオデータとに分離され、圧縮ビデオデータについてはビデオ信号処理部4に受け渡し、圧縮オーディオ信号については、音声処理部8に受け渡すようにされる。
この場合のビデオ信号処理部4及び音声処理部8は、それぞれ、上記のようにして転送されてきた圧縮ビデオデータ、圧縮オーディオデータについて、復調処理を含む所要の再生信号処理を実行する。これにより、圧縮ビデオデータを再生した画像を表示部7にて表示するとともに、この画像の再生時間に同期して、圧縮オーディオデータを再生して得られる音声信号を、音声入出力部9が有するとされるスピーカにより音声として出力させたり、ヘッドフォン端子から出力させることができる。
また、例えばメディアから再生されたオーディオデータファイルは、音声処理部8の音声信号処理を経た後に、音声入出力部9を介して、外部に対して所定形式のオーディオ信号、オーディオデータとして出力することも可能とされている。この場合、音声入出力部9としては、音声処理部8から出力される所定のオーディオ信号、オーディオデータの形式に対応するオーディオ出力端子を備えることになる。
CPU(Central Processing Unit)10は、プログラムを実行することでデジタルビデオカメラ1についての各種制御処理を実行する。ROM11は、CPU10が実行する各種プログラムのほか、CPU10が処理を実行するのに使用する各種設定情報などが記憶されている。RAM12は、CPU10がプログラムに従った処理を実行するときの作業領域として使用されるもので、各種の演算処理結果などのデータが保持される。
この場合の操作入力部15は、デジタルビデオカメラ1に備えられる各種操作子を一括して示しているものとされる。例えば、この操作入力部15における操作子としては、写真撮影時に操作されるシャッターボタン、撮影モードなどを選択する操作子、パラメータのアップ/ダウンを行うための操作子などが含まれる。
通信部16は、CPU10の制御に応じて、所定のデータ通信方式により外部デバイスと通信を行うためのハードウェア、ソフトウェアを実装して構成される部位である。この通信部16が対応するデータ通信方式としては、有線、無線を問わず特に限定されるべきものではなく、また、対応するデータ通信方式の数も限定されるべきものでない。現状であれば、データ通信方式としては、有線ではEthernet(商標)などのネットワーク、USB(Universal Serial Bus)、IEEE1394などのデータバス規格などを挙げることができる。また、無線であれば、Bluetooth(商標)などのデバイス間近距離無線通信、IEEE802.11a/b/gなどの無線LAN(Local Area Network)規格を挙げることができる。
電源部17は、デジタルビデオカメラ1における各種のハードウェアデバイスに対して動作電源を供給するもので、例えばバッテリや電源アダプタからの電力供給を受けて動作する電源回路などを備えて構成される。
上記のようにして、本実施の形態のデジタルビデオカメラ1では、主としては、撮像/収音により得られるAVファイルをHDD14などをはじめとしたメディアに対して記憶させることができるようになっている。
上記のようにしてメディアに記憶されるファイルは、通常は、所定フォーマットによるファイルシステムにより管理されることになるのであるが、本実施の形態としては、少なくともHDD14に記憶されるファイルに関しては、FAT(File Allocation Table)ファイルシステムにより管理されるものとしている。FATファイルシステムは、周知のようにして、ツリー型のディレクトリ構造によりファイルを管理するようにされており、また、データの書き込み/読み出しについては、クラスタといわれる論理的な最小データ管理単位により行うものとされている。クラスタは、HDD(メディア)における物理的なデータ書き込み/読み出しの最小単位であるセクタを所定数にまとめたものが1単位となる。
図2は、FATファイルシステムの一般的なシステム構成を階層モデルにより示している。
先ず、この階層モデルとしては、ソフトウェア層と、その下層となるハードウェア層に大別される。
ソフトウェア層は、この場合には、メディアに対してホスト(実施の形態ではデジタルビデオカメラ1)となるデバイスにおいて、CPUが実行するプログラム、及び各種ファームウェア、ミドルウェアなどにより実現されるソフトウェア処理が対応するものとされる。この場合のソフトウェア層は、図示するように、上層から下層にかけて、アプリケーション100、ファイルシステム101、デバイスドライバ102の各層が位置する。
ハードウェア層には、メディアそのものの物理的な記憶領域が位置するものとして考えることができる。
アプリケーション100は、例えばファイルの記録/再生機能などを有して、メディアを使用するアプリケーションソフトウェアが対応し、ファイルレベルでのアクセス要求をファイルシステム101に対して行う。
ファイルシステム101は、ファイルシステムとしての機能を実現するソフトウェアが対応する。本実施の形態では、FATファイルシステムを採用することとしているので、ファイルシステム101の機能を提供するソフトウェアとしても、FATファイルシステムに対応して構成されるものとなる。
このファイルシステム101では、アプリケーション100からのファイルレベルによるアクセス要求を、FATファイルシステムのフォーマットにおけるデータの管理単位となるクラスタのレベルに変換して、デバイスドライバ102に対してアクセス要求を行う。
デバイスドライバ102は、コントロール対象のデバイスとなるメディアをコントロールするためのソフトウェアが対応し、上記ファイルシステム101からのFATファイルシステムフォーマットに従ったクラスタレベルによるアクセス要求を、メディア103上におけるデータの記録再生単位であるセクタのレベルに変換して、メディア103へのアクセス要求を行う。
この場合のメディア103は、論理的にはFATファイルシステムに従ってフォーマット(初期化)されたものとなる。図1では、少なくともHDD14がここでのメディア103に相当する。そして、メディア103は、デバイスドライバ102からのセクタレベルのアクセス要求に応答して、指定されたセクタアドレスからデータを読み出して、デバイスドライバ102に返す。つまり、セクタレベルでのアクセス応答を実行する。
デバイスドライバ102は、メディア103からのセクタレベルでのアクセス応答、つまりセクタ単位でのデータの受け取りを行い、この受け取ったデータについて、クラスタ単位によるデータとして扱ってファイルシステム101に受け渡す(クラスタレベルでのアクセス応答)。
ファイルシステム101は、デバイスドライバ102から受け取ったデータを、ファイルレベルのデータとしてアプリケーション100に受け渡すようにされる。アプリケーション100は、ファイルとして受け取ったデータについて、例えばユーザによる操作入力などに応じたアプリケーションレベルでの所要の処理を実行する。
また、FATファイルシステムは、記憶ファイルをツリー型のディレクトリ構造により管理し、また、ファイルをクラスタ単位の集合として管理するようにされている。このようなファイル管理、データ管理は、周知のようにしてディレクトリエントリ、及びFATといわれるテーブル情報を備えることにより実現されるものとなる。ディレクトリエントリは、メディア上におけるファイル、ディレクトリ(サブディレクトリ)の所在をクラスタレベルで示す情報であり、FATは、ディレクトリ、ファイルを成すクラスタレベルでのチェイン(リンク)を示す情報である。
図3は、FATの規格に従ったメディアのフォーマット構造を示している。
FATの形式としては複数が規定されているのであるが、ここでは、FAT16及びFAT32の各形式に対応するフォーマット構造を示すこととする。
先ず、図3の左側に示されるFAT16に対応するフォーマット構造から説明する。
この図に示す構造は、LBA(Logical Block Addressing)に従った論理的なものとなっている。つまり、最も上を先頭セクタ(LBA=0)として、以降、下に向かってブロック(セクタ)の番号が進んでいくものとなる。
また、FATのファイルシステムでは、1つの物理的記憶領域を複数のパーティションに分割可能とされているが、ここでは説明の便宜上、1パーティションとした場合のフォーマット構造を示している。
先ず、LBA=0として表される先頭セクタは、MBR(Master Boot Recorder) といわれる、ブート領域となっている。
MBRの構造を図4(a)に示す。
1セクタは512バイトのサイズであり、従って、MBRとしても512バイトとなる。図4(a)では、このMBRの領域における512バイトについて、先頭から最終のバイト位置を、0000h〜01FFhまでの16進法による番号を振って表現したうえで、16バイト単位を1列として配列して示している。なお、16進法の表記を行うのにあたっては、上記0000h、或いは01FFhのようにして、数値の最後尾に16進法表記であることを示すhを付すこととする。
先ず、バイト位置0000h〜01BDhまでの446バイトの領域は、OS(Operating System)起動用のメディアとして使用される場合において、その起動(ブート:boot)のためのコード(起動コード)が格納される領域である。
MBRにおけるバイト位置01BEh〜01FDhまでの64バイトの領域は、パーティションテーブルとされており、起動時において必要とされるパーティションごとに関する所定の情報が格納される。このパーティションテーブルの領域は、さらに16バイト単位で4つの領域に分割されることになっており、これらの4分割された領域は、先頭から順に、パーティション1、パーティション2、パーティション3、パーティション4に対応する領域となっている。これらのこれらのパーティションごとに対応する各領域は、パーティションごとのエントリの領域となる。
また、MBRにおける最終の2バイトの領域には、現セクタがMBRであることの識別子として55AAhが格納される。
上記パーティションのエントリは、図4(b)に示す構造を有するものとされる。先ず、最上位のバイト位置00hは、該当パーティションについての、起動ドライブとしての指定の有無を示すフラグを格納する領域とされる。
また、続くバイト位置01h〜03hによる3バイトの領域は、該当パーティションの開始セクタをCHS(Cylinder/Head/Sector)により表現した値が格納される。バイト位置05h〜07hから成る3バイトの領域により、該当パーティションの終了セクタをCHSにより表現した値が格納される。
また、バイト位置08h〜0Bhによる4バイトの領域により、該当パーティションの開始セクタをLBAにより示す値を格納することとしている。
バイト位置0Ch〜0Fhから成る4バイトの領域は、該当パーティションのデータサイズ(パーティションサイズ)を示す値を格納する。
バイト位置04hが示す1バイトの領域は、システム識別子ともいわれる、該当パーティションが対応するプラットフォーム、ファイルシステムなどのタイプを示す値を格納する。
説明を図3に戻す。
MBRとしての先頭セクタに続けては所定セクタ数による空き領域を設けることとしている。そして、この空き領域より後となるセクタ領域により、パーティション単位の領域を形成する。
1パーティション内における先頭セクタから所定のバイト数までによる領域は、システム関連の情報を格納するシステム領域となる。
このシステム領域において先頭セクタから開始される所定バイト数の領域は、BPB(BIOS Parameter Block/Boot Parameter Block)とされ、ここでは現パーティションに関して、例えばホスト側のBIOS(Basic Input/Output System)などのように、ブロックデバイスコントロールのためのプログラムが利用すべき所要のデータが格納される。BPBに格納する情報においては、次に説明するFAT領域の数、メインのFAT領域の開始セクタ、FAT領域のセクタ数などの情報を含む。
BPBに続けてはFAT1、FAT2のFAT領域が順に配置される。通常は、FAT1,2のいずれか一方の領域がメインのFAT領域として使用され、他方のFAT領域は、メインFAT領域の内容をコピーしたミラー領域として使用するなど、例えばメインのFAT領域の予備領域として使用される。
これらのFAT領域は、FATエントリが、データ領域内のクラスタ番号順に配列されて形成される領域とされる。FATエントリと、データ領域内のクラスタとは1対1で対応しており、FATエントリには、ディレクトリ、ファイルの記憶結果に応じて、該当クラスタについての情報として、例えば、未使用、該当ファイルにおいて現クラスタの次にチェインされるクラスタ番号、不良クラスタ、EOF(End Of File:ファイルにおける最終クラスタ)などのうちから、何れかを示す情報が格納される。
FAT16フォーマットでは、クラスタ番号を2バイト(16ビット)により表すこととしており、これに応じて、FATエントリの個々のサイズも2バイトとされている。
FAT1,FAT2の領域に続けては、所定サイズのルートディレクトリエントリが配置される。このルートディレクトリエントリには、ルートディレクトリにおけるディレクトリ、ファイルなどについてのディレクトリエントリが格納される。
ルートディレクトリより下位のセクタ領域が、データ領域となる。このデータ領域に対するデータの書き込み/読み出しは、FATファイルシステムにより管理される。従って、図示するようにして、ファイルシステムのフォーマット構造としては、1以上の所定数のセクタの連続から成るクラスタ単位によりデータ領域を管理することになる。上記もしたように、FAT領域は、原則として、このデータ領域を形成する全クラスタに対応するFATエントリを有して形成されるものとなる。
続いては図3の右側に示されるFAT32に対応するフォーマット構造について説明する。
FAT32対応のフォーマット構造としても、LBA=0で表される先頭セクタにMBRを配置している。そして、このMBRに続けて配置する所定セクタ数の空き領域に続けて、パーティション単位の領域を配置していくようにされる。
FAT32対応のフォーマット構造のパーティション領域にけるシステム領域としては、BPBに続けてFSinfoの領域を設けることとしている。
FSinfoは、該当パーティションにおける空き容量を計算するのに利用する所定の情報を格納する領域である。FAT1,FAT2のFAT領域は、FSinfoに続けて順次配置される。
FAT32のフォーマットの場合のFAT領域も、クラスタと1対1で対応するFATエントリがクラスタ番号順に配列されて形成され、FATエントリには、ディレクトリ、ファイルの記憶結果に応じて、該当クラスタについての所定の情報が格納される。ただし、FAT32のフォーマットでは、クラスタ番号を4バイト(32ビット)で表現することから、FATエントリの個々のサイズも4バイトで区切られることになる。
また、FAT32のフォーマット構造においては、FAT16のフォーマット構造においてシステム領域内に設けられていたルートディレクトリエントリの領域が省略されている。
FAT32のフォーマット構造では、ルートディレクトリはデータ領域内におかれることなっている。データ領域におけるルートディレクトリの開始クラスタ番号は、BPBにおける所定領域(RootClus)に格納される値により示されており、ルートディレクトリにアクセスするときには、上記RootClusを参照して認識したクラスタ番号にアクセスするようにされる。RootClusが示すルートディレクトリの開始クラスタ番号は、通常、2である。
データ領域は、この場合においても、FAT32のファイルシステムによりクラスタ単位でデータの書き込み/読み出しが管理される領域となる。
図5は、FATのファイルシステムにおいて規定されるディレクトリエントリの構造を示している。なお、ここでは、FAT32に対応するディレクトリエントリの構造を示している。
この場合、ディレクトリエントリは32バイトとされている。この図においては、上位バイトから下位バイトまでの各バイト位置を、0h〜1Fhまでの値により示している。
ディレクトリエントリを形成する32バイトにおいて、最上位のバイト位置0hからバイト位置7hまでの8バイトの領域は、現ディレクトリエントリが示す現ファイル又は現ディレクトリの名称を格納する。
続く下位のバイト位置8hからバイト位置Ahまでの3バイトの領域は、現ファイルのファイル形式に応じた拡張子が格納される。
続く下位のバイト位置Bhには、現ファイル/現ディレクトリについての属性を示す値が格納される。
バイト位置Chは、ここでは予約領域とされている。
バイト位置Dh〜Fhまでの3バイトの領域は、現ファイル/現ディレクトリの作成時刻を示す値を格納する。
バイト位置10h−11hによる2バイトの領域は、現ファイル/現ディレクトリの作成日付を示す値を格納する。
バイト位置12h−13hによる2バイトの領域は、現ファイル/現ディレクトリに対するアクセスが最後に行われた日(最終アクセス日付)を示す値を格納する。
また、バイト位置14h−15hによる2バイト領域とバイト位置1Ah−1Bhによる2バイト領域との計4バイトの領域によっては、現ファイル/現ディレクトリが記憶されるメディア上の先頭位置をクラスタ番号により示すようにされる。つまり、この計4バイトの領域には現ファイル/現ディレクトリについての先頭クラスタ番号の値が格納される。バイト位置14h−15hによる2バイト領域に対しては、先頭クラスタ番号についての上位4バイトの値を格納する。バイト位置1Ah−1Bhによる2バイト領域に対しては、先頭クラスタ番号についての下位4バイトの値を格納する。
バイト位置16h−17hによる2バイト領域は、現ファイル/現ディレクトリについての記録(最後の更新)が実行された時刻(記録時刻)を示す値を格納する。
バイト位置18h−19hによる2バイト領域は、現ファイル/現ディレクトリについての記録(最後の更新)が実行された日付(記録日付)を示す値を格納する。
バイト位置1Ch〜1Fhまでの4バイトの領域は、現ファイル/現ディレクトリについてのサイズ(容量)を示す値を格納する。
図6は、FATファイルシステムによるファイル管理例を示している。なお、この図においては、FAT32ファイルシステムに従ってフォーマットされた場合を示している。
ここでは、データ領域において、少なくともファイルA、ファイルB、ファイルC、ファイルDが記憶されているものとし、ファイルA,B,C,Dのディレクトリエントリを、それぞれ図6(a)(b)(c)(d)に示す。
また、図6(e)は、FAT領域の一部を示すもので、ファイルA,B,C,Dの記憶結果に対応するFATエントリの内容を有している。なお、この図6(e)においては、図示が簡略でわかりやすくなることを考慮して、ほぼファイルA,B,C,Dのみに対応したFATエントリ内容のみを抜き出したものとなっている。なお、前述もしたように、FAT32では、個々のFATエントリは32ビットのサイズを有する。
また、この図6(e)に示すFAT領域におけるFATエントリは、00000000h、00000010h、00000020h、00000030h・・・として示されるように、FATエントリに対応するクラスタ番号の値が1桁ごとにインクリメントされる行と、各行が示すクラスタ番号の値に対して足し合わせる最下位桁の値である、+00h〜+0Fhが示される列とのマトリクスにより配列されている。例えば、00000000hの行と+07hの列が交差する位置のFATエントリは、クラスタ番号00000007hに対応する。
FATファイルシステムにおいては、クラスタ番号00000000h、00000001hで表される先頭クラスタとこれに続く2番目のクラスタの2クラスタは予約領域(RSV)となる。これに応じて、クラスタ番号00000000h、00000001hに対応する各FATエントリも予約領域として規定されている。
そして、上記FATエントリに格納する値として、現クラスタの次にチェインするクラスタ番号は、00000002h〜0FFFFFF6hで表すこととしている。また、EOF(該当クラスタを含むファイルにおける最終クラスタ(ファイルの終端クラスタ))については、EOF=0FFFFFFFhにより表すこととしている。また、図6(e)においては、未使用クラスタであることを「−」で示しているが、例えば実際には00000000hの値により表すこととしている。
ファイルAにアクセスするためには、先ず、図6(a)に示すファイルAのディレクトリエントリにアクセスすることになるが、このファイルAのディレクトリエントリそのものに対するアクセスは例えば次のようにして行われる。
ファイルアクセスのコマンドが絶対パスによるものである場合を例に挙げると、ファイルAのディレクトリエントリに対するアクセスのためには、先ず、ルートディレクトリにアクセスし、ここからパスに従ってディレクトリエントリをたどっていくようにされる。また、ディレクトリエントリを辿っていく過程において、或るカレントディレクトリのサブディレクトリを辿ることになる場合があるが、周知のようにして、親ディレクトリと子ディレクトリの親子関係についても、ディレクトリエントリにより表現される。このためには、例えば親ディレクトリ側のディレクトリエントリには、名称として子ディレクトリを示すものを設けておき、この親ディレクトリ側のディレクトリエントリにより示される子ディレクトリのディレクトリエントリには、親ディレクトリが存在することを示す情報を名称の領域に格納したディレクトリエントリを設けるようにされる。これにより、親から子、及び子から親の両方向においてディレクトリを辿っていくことができる。
そして、上記のようにしてパスに従ってディレクトリエントリをたどる結果、アクセス先として、最終的にはファイルAのディレクトリエントリに到達することになる。
ファイルAのディレクトリエントリへのアクセスが行われると、続いては、このファイルAのディレクトリエントリを起点として、ファイルAそのものへのアクセスが行われることになる。
ファイルAそのものへのアクセスとしては、概念的には次のようなものとなる。
ファイルAにアクセスするためには、ファイルAのディレクトリエントリにおける先頭(開始)クラスタ番号を取得する。この先頭クラスタ番号は、データ領域においてファイルAのデータが記憶される開始クラスタ番号を示しており、この場合には、図6(a)に示すようにして00000007hとなっている。つまり、この段階で、ファイルAの開始クラスタ番号が00000007hであることが認識される。
そこで、ファイルシステムは、図6(e)に示すFAT領域において、クラスタ番号00000007hに対応するFATエントリにアクセスして、このFATエントリに格納される値を参照する。この場合、クラスタ番号00000007hに対応するFATエントリには、00000008hを格納している。これにより、ファイルシステムは、ファイルAのデータは、クラスタ番号00000007hのクラスタのデータに続けて、クラスタ番号00000008hのクラスタのデータが連結されていることを認識する。そこで、次にクラスタ番号00000008hに対応するFATエントリにアクセスして参照すると、ここには、00000009hが格納されているので、ファイルAのデータは、さらにクラスタ番号00000008hのクラスタのデータに続けて、クラスタ番号00000009hのクラスタのデータを連結することが認識される。そこでまた、クラスタ番号00000009hのFATエントリを参照すると、ここにはEOFを示す値が格納されているので、ファイルAは、クラスタ番号00000009hのクラスタが終端であることが認識される。
このことから、ファイルAは、クラスタ番号00000007h-00000008h-00000009hの順によるクラスタのデータの連結により形成されることが認識されることになる。ファイルシステムは、クラスタ番号00000007h-00000008h-00000009hのクラスタにアクセスしていくようにされ、これにより、ファイルAに対するアクセスが行われることになる。
上記説明から分かるように、データ領域に記憶されるファイルのデータの位置は、ディレクトリエントリに格納される先頭クラスタ番号と、この先頭クラスタ番号を起点として参照するFAT領域のFATエントリの内容によって示されており、これらの情報を参照することで、ファイルへのアクセスが可能となっている。
また、データ領域に記憶されるファイルについての、ツリー型ディレクトリ構造による管理は、ディレクトリエントリにより表現されているものであることも分かる。
そして、残るファイルB,C,Dの記憶位置については、上記ディレクトリエントリ及びFAT領域から成るファイル管理情報により、次のようにして管理されている。
先ず、ファイルBについては、図6(b)のディレクトリエントリに示すようにして、ファイルの先頭(開始)クラスタのクラスタ番号が0000000Ahであることが示されている。そこで、図6(e)に示すFAT領域のクラスタ番号0000000Ahに対応するFATエントリを参照すると、次のクラスタを示すチェイン情報としてクラスタ番号0000001Fhが示されている。そこで、さらにFATエントリを辿って、クラスタ番号0000001Fhに対応するFATエントリを参照すると、チェイン情報としてクラスタ番号00000025hが格納されている。クラスタ番号00000025hに対応するFATエントリには、クラスタ番号00000031hが格納されている。クラスタ番号00000031hに対応するFATエントリにはクラスタ番号00000030hが格納されている。クラスタ番号00000030hに対応するFATエントリにはEOFであることを示す値が格納されている。
このようにして、ファイルBは、ディレクトリエントリ及びFAT領域により、クラスタ番号0000000Ah-0000001Fh-00000025h-00000031h-00000030hの順に従ったクラスタに記憶されるデータの連結により形成されていることが示される。
また、ファイルCについては、図6(c)に示すようにして、先ず、ファイルCのディレクトリエントリにおいて、ファイルの先頭(開始)クラスタとしてクラスタ番号0000001Bhが示されている。このことに基づき、図6(e)に示すFAT領域におけるクラスタ番号0000001BのFATエントリを起点として参照した内容によっては、ファイルCは、クラスタ番号0000001Bh-00000011h-00000012h-00000013h-00000014h-00000003hの順に従ったクラスタに記憶されるデータの連結により形成されることが示される。
ファイルDについては、図6(d)に示すファイルDのディレクトリエントリにおいて、ファイルの先頭(開始)クラスタとしてクラスタ番号0000002Chが示されている。これに基づいて、図6(e)に示すFAT領域におけるクラスタ番号0000002CのFATエントリを起点として参照した内容としては、ファイルDは、クラスタ番号0000002Ch-0000002Dh-0000002Eh-0000002Fh-00000038h-00000039h-0000003Ah-0000003Bhの順に従ったクラスタに記憶されるデータの連結により形成されることが示される。
これまでに説明したFATファイルシステムのフォーマット内容をふまえて、先ず、本発明に至った事情について説明しておく。
本実施の形態のデジタルビデオカメラ1によりHDD14に記憶させることのできるAVファイルのファイルフォーマットの例として、ここでは、ISO Base Media File Format、あるいはMP4 File Formatなどに準拠したものであることとする。これらのフォーマットに従った本実施の形態のAVファイルの全体構造を、図7(a)(b)に示す。
図7(a)(b)に示すようにして、1つのAVファイルは、ヘッダ領域A1、データ領域A2、及びリソース領域A3の3つの領域に分けることができる。
ヘッダ領域A1には、ファイル名、ファイルサイズ、再生互換性情報などの他、ヘッダ情報として格納すべき所定の情報が格納される。
データ領域A2には、AVファイルを形成するビデオデータ(画像データ)、オーディオデータなどが所定のデータ分割単位により所定規則に従って格納される領域である。
リソース領域A3は、上記データ領域A2におけるデータ分割単位の位置情報などをはじめ、データ領域A2に格納されるデータを再生出力するのに必要とされる所定の情報から成る領域である。従って、リソース領域A3は、AVファイルを動画/音声として再生出力するのにあたり、どの時間から再生出力を開始するとしても、必ずアクセスされて読み込みが行われ、必要な情報についての解析、参照が行われる領域となる。
ここで、図7(a)と図7(b)とを比較すると、図7(a)では、先頭からヘッダ領域A1−データ領域A2−リソース領域A3の順で配置されているのに対して、図7(b)では、ヘッダ領域A1−リソース領域A3−データ領域A2の順で配置されている。つまり、ヘッダ領域A1に続く、データ領域A2とリソース領域A3の配置順について、相互に逆となる構造を採っている。
このAVファイルのファイルフォーマットの規定では、図7(a)(b)の何れの構造でもよいこととされている。しかしながら、下記の理由で、実際のアプリケーションとしては、図7(a)に示す構造によりメディアへの書き込みが行われることが通常であり、本実施の形態としても、これに従っている。
実際におけるHDD14に対するAVファイルの書き込み処理によっては、上記図7(a)(b)に示す構造に応じたデータのシーケンスにより、メディア上の空き領域を埋めていくようにしてデータの書き込みが行われる。
そのうえで、リソース領域A3に格納される情報には、メディア上でのデータ分割単位の記録位置などの情報も含まれる。従って、リソース領域A3は、先にデータ領域A2の全てのデータがメディアに書き込まれた後、あるいは、データ領域A2の全てのデータについてのメディアへの記録位置が確定した後でなければ生成することができない、ということになる。
このような事情があるにもかかわらず、図7(b)に示されるようにして、ヘッダ領域A1に続いて先ずリソース領域A3が配置され、その後にデータ領域A2が配置される構造によりメディアへの書き込みを実行するとすれば、そのための処理は相当に複雑なものとなる。つまり、例えばデータ領域A2としてのデータをメディアに書き込まずにメモリ領域などに保持しておいたうえで、データ領域A2をメディアに書き込んだ結果を推定するなどしてリソース領域A3に格納すべき情報を生成し、この後に改めて、リソース領域A3−データ領域A2の順で、メディアに対する書き込みを実行しなければならない。また、このような書き込み手順では、相当のデータ量を有するデータ領域A2のデータをバッファリングできるだけのメモリ容量も確保する必要が生じる。
これに対して、図7(a)に示す構造であれば、ヘッダ領域A1に続けて、データ領域A2のデータのメディアへの物理的な書き込みを実行していきながら、その書き込み結果に応じてリソース領域A3の情報も逐次生成していくことができる。そして、データ領域A2のデータの書き込みが終了した時点では、リソース領域A3の情報も完成していることになり、即座にリソース領域A3のデータもメディアに書き込むことができる。
このようにして、本実施の形態のAVファイルは、図7(a)に示す構造とすることがデータ書き込み処理に際して非常に効率的、合理的であり、この観点から、本実施の形態の場合も含め、図7(a)のファイル構造を採用することが通常となっているものである。
図8は、本実施の形態に対応するAVファイルについて上記図7(a)に示す領域の配置構造とすることを前提としたうえでの、より具体的な構造例を示している。ここでは、AVファイルが、サムネイルデータと称する独立した静止画像データの集合により動画を再現する形式の動画ファイルである場合を例に挙げている。
この動画ファイルとしてのAVファイルは、先ず、先頭のヘッダ領域A1において、所定の情報要素を所定構造により格納したヘッダが位置するようにされる。
このヘッダ領域A1に続くデータ領域A2においては、その先頭から、所定の順序に従って、動画像を形成する画面要素である複数の上記サムネイルデータが格納される。この場合、サムネイルデータは、例えばJPEGなどに代表される、所定の画像圧縮方式により圧縮された1つの静止画像データの単位とされ、そのデータサイズは固定ではなく、画像内容などにより変化する。
そして、データ領域A2において最後に位置するサムネイルデータの終端に続けて、リソース領域A3が配置される。この場合のリソース領域A3は、サムネイルデータ管理情報がファイルのリソースとして格納されることになる。このサムネイルデータ管理情報はサムネイルデータを使用して動画再生を実行するのに必要とされる、サムネイルデータに関する所定の情報要素を所定構造により格納して成る。サムネイルデータ管理情報の情報要素としては、例えば、データ領域A2における各サムネイルデータの位置情報、各サムネイルデータについての圧縮符号化のモードを示す情報、各サムネイルデータの再生時間情報などとなる。従って、ファイル再生時においては、先ず、このサムネイルデータ管理情報を参照しなければ、サムネイルデータを使用した動画再生の処理を実行できないということになる。
そして、上記図8に示すAVファイルがHDD14に記憶されているものとして、このAVファイルをHDD14から読み出して再生する場合には、例えば、図8において○内に示す番号に従った手順によるアクセスを実行するようにされる。
先ずは、手順1として示すように、HDD14に記憶されているAVファイルにおけるヘッダ領域A1にアクセスするようにされる。つまり、HDD14において物理的にAVファイルのヘッダ情報の開始セクタのトラックに対して磁気ヘッドをシークさせ、ヘッダ情報の読み出しを実行する。そして、読み出したヘッダ情報を、例えばRAM12において読み出しデータの処理領域として割り当てられているワークRAM領域(作業用メモリ領域)に書き込んで保持させる(バッファリング)。
このようにして、ワークRAM領域にヘッダ情報が保持されることで、CPU11(ファイル再生のアプリケーション100)は、ワークRAM領域へのアクセスにより、ヘッダ情報の内容を参照することが可能になる。ヘッダ情報には、現ファイルのリソース領域A3(サムネイルデータ管理情報)についてのHDD14上での記憶位置を識別可能とするための情報が格納されており、この情報を参照することで、以降において、リソース領域A3のサムネイルデータ管理情報にアクセスすることが可能となる。
また、上記もしたように、データ領域A2内のサムネイルデータを使用して動画再生を実行するには、サムネイルデータ管理情報の内容を参照する必要がある。
そこで、手順1に続いては、手順2として示すようにサムネイルデータ管理情報に対してアクセスすることが行われる。この手順2の処理によって、サムネイルデータ管理情報がHDD14から読み出されて、サムネイルデータ管理情報保持のためのワークRAM領域に保持されることとなって、CPU10は、サムネイルデータ管理情報の内容を参照することが可能となる。
サムネイルデータ管理情報の内容を参照することで、例えばデータ領域A2におけるサムネイルデータの位置、また、動画再生のための各サムネイルデータへのアクセス順などが把握されることになる。そこで以降においては、手順3として示すようにして、その都度、ワークRAM領域に保持されているサムネイルデータ管理情報を参照しながら、HDD14に記憶されているサムネイルデータのうちから、動画再生に必要なサムネイルデータに適宜アクセスして読み込みを行って、所要の再生処理を実行していくようにされる。
図8に示すAVファイルを再生するための一般的なアクセス手順としては、上記のようになる。しかしながら、より実際的には、図8に示したアクセス手順は、次に図9及び図10により説明するようなものとなる場合がある。
図9には、全体としては図8と同一の構造によるAVファイルが示されている。このようなAVファイルを例えばFATファイルシステムフォーマットに従ったHDD14に書き込んで記憶させる場合において、AVファイルが1クラスタ以上のデータサイズを有する場合には、図示する構造のファイルのデータを、その先頭からクラスタサイズで区切るようにする。そのうえで、これらの区切られたクラスタ単位のデータにより、先に図6により説明した論理的なクラスタの連結によって管理されるようにして、HDD14に対するデータ記録を実行することになる。
このようなデータ記録の仕方によっては、ファイルの先頭であるヘッダの開始位置を開始クラスタとして、以降はファイルを形成するデータが順次クラスタに詰められていくようにしてデータ書き込みが行われることになる。また、前述もしたように、データ領域A2を成すデータ要素であるサムネイルデータは、固定長ではなく可変長であり、従って、データ領域A2の終端位置が、クラスタ内におけるどの位置となるのかについても不定となる。
このために、データ領域A2の終端位置がクラスタ内における中途の位置となった場合には、図9に例示するようにして、サムネイルデータ管理情報である中途の位置にクラスタ境界が位置することになる。この場合、サムネイルデータ管理情報は、クラスタ境界にて、上位リソース領域A3−1となる上位のサムネイルデータ管理情報と、下位リソース領域A3−2となる下位のサムネイルデータ管理情報とに分割されたものとしてみることができる。
そのうえで、サムネイルデータ管理情報を保持するワークRAMの容量をAとし、リソース領域A3としてのサムネイルデータ管理情報のサイズをBとして、これら容量Aと細部Bとについては、A≧Bの関係があるものとする。この関係の具体例としては、説明を簡単で分かりやすいものとするために、図10(a)に示すようにして、ワークRAMの容量Aをちょうど1クラスタとし、サムネイルデータ管理情報のサイズBは、この1クラスタ以下であることとする。1クラスタ=32KBとすれば、ワークRAMの容量Aが32KBで、サムネイルデータ管理情報は32KB以内となる。
そして、上記図10(a)に示すワークRAMの容量Aとサムネイルデータ管理情報Bとの関係が成立していることとしたうえで、図9に示すようにして、サムネイルデータ管理情報の中途にクラスタ境界が位置している状態における場合の、ファイル再生手順について考えてみる。
この場合においても、先ずは、図9において手順1として示すように、ヘッダにアクセスしてヘッダの情報を読み込む処理が実行されることになる。
続いては、サムネイルデータ管理情報に対してアクセスすることになるのであるが、これまでのFATファイルシステムの説明から理解されるように、ファイルシステム上でのファイルのデータ処理は、クラスタ単位で実行されるものであり、従って、HDD14に対するデータの読み出しも、ファイルシステムレベルではクラスタ単位によるものとなる。従って、図9に示すようにして、サムネイルデータ管理情報がクラスタ境界により分割されている場合において、サムネイルデータ管理情報の開始位置tpからの読み込みを実行しようとすれば、先ずは、図9の手順2−1として示すように、HDD14に対するアクセスとして、サムネイルデータ管理情報のうち、上位側のサムネイルデータ管理情報(上位リソース領域A3−1)を含むクラスタにアクセスして、このクラスタに格納するデータを読み出さなければならない。このときには、例えば図10(b)にイメージとして示すようにして、このサムネイルデータ管理情報の上位を含む1クラスタ分のデータを、ワークRAMに保持するようにされる。そして、このワークRAMに保持した1クラスタ分のデータにおけるサムネイルデータ管理情報の上位部分を解析する。この解析処理により、例えばサムネイルデータ管理情報として、下位のデータが存在しない不完全な構造であることが認識される。
そこで、続いては、下位のサムネイルデータ管理情報を読み込んで取得するために、図9において手順2−2として示すように、下位のサムネイルデータ管理情報を含むクラスタにアクセスして、このクラスタに格納されるデータの読み込みを実行するようにされる。このときに対応するワークRAMのイメージとしては、図10(c)に示すように、下位のサムネイルデータ管理情報を含む1クラスタ分のデータが格納された状態としてとらえることができる。
このようにして手順2−1、2−2としてのアクセスを順次実行することで、上位側と下位側のサムネイルデータ管理情報が取得されることとなる。そして、例えばこれら上位側と下位側のサムネイルデータ管理情報についてRAM12を利用して合成処理等を実行することで、例えば図10(d)に示すようにして、ワークRAMにおいて、完成された構造のサムネイルデータ管理情報を保持することができる。
以降は、図8の場合と同様にして、手順3により、ワークRAM上のサムネイルデータ管理情報を参照して、目的とするサムネイルデータにアクセスして再生処理を実行していくことになる。
上記図9及び図10による説明から理解されるように、AVファイルにおけるリソース領域A3となるサムネイルデータ管理情報のデータの中途にクラスタ境界が位置するようにしてHDD14に対する記録が行われた場合、ファイル再生時においては、サムネイルデータ管理情報に対するアクセスとして、サムネイルデータ管理情報の開始位置tp(すなわち上位サムネイルデータ管理情報)を含むクラスタに対するアクセスと、これより下位のサムネイルデータ管理情報を含むクラスタに対するアクセスとの2回のアクセスが必要であることになる。
HDDは、ランダムアクセスとして、トラックを横切る方向に対して磁気ヘッドを移動させるシーク動作を伴う。このシーク動作は磁気ヘッドの物理的な移動であるから、アクセスにあたってシークが完了するまでの時間長(シーク時間)は必ず存在する。
従って、HDDに記憶されているファイルを再生することを考えた場合に、そのファイルとしてのデータが記録されているトラック位置に対するアクセス回数が増加するほど、ファイル単位でみた場合のアクセスに要する総時間は増加することになる。このことは、例えば、ファイル再生処理速度の低下などにつながって、ファイル再生に関するパフォーマンス性能の評価を低くする結果となる。
先の説明から理解されるように、FATファイルシステムでは、ファイルをクラスタチェインにより管理することとしており、これにより、ファイルのデータ構造についてクラスタ単位での論理的連続性が保証されてさえいれば、HDD上における物理的な記録状態として、1ファイルを形成するデータが離散的に記録されていても何ら問題はない。このために、実際においても、論理的に連続するクラスタが、HDD上では、物理的に相当に離れた距離を隔てて記録されている状態となる可能性は避けられない。
従って、例えばサムネイルデータ管理情報の上位を含むクラスタと、サムネイルデータ管理情報の下位を含むクラスタとについて、HDD上での物理的な記録位置が相当に離れている状態となる場合もあり得ることになる。この場合において、上記のようにしてサムネイルデータ管理情報の上位を含むクラスタに対するアクセスと、サムネイルデータ管理情報の下位を含むクラスタに対するアクセスとを行うということになれば、これらのクラスタ間でのシーク時間は相当に長いものとなり、上記したファイル再生処理速度の低下はより顕著なものとなる。このことから、ファイル再生にあたっては1回でもアクセス回数が削減されるようにすれば、大幅なファイル再生処理速度の向上につながるものであることが理解される。
そこで、本実施の形態としては、上記したことを背景として、以降説明する構成を採ることで、1つのファイル再生に関してできるだけアクセス回数が削減されるようにして、ファイル再生処理速度、ファイル再生パフォーマンスの向上を図る。
図11は、従来としてのAVファイルの構造と、本実施の形態に対応するAVファイルの構造を比較して示している。
図11(a)には、従来のAVファイルとして、先に説明した図9と同一内容のものを示している。つまり、サムネイルデータにより動画再生が行われるAVファイルとされ、リソース領域A3におけるサムネイルデータ管理情報については、その中途のデータ位置においてクラスタ境界が位置している状態にある。
これに対して、本実施の形態に対応するAVファイルを図11(b)に示している。この図11(b)に示されるAVファイルは、データ内容としては、図11(a)に示されるAVファイルと同一であることとする。つまり、ファイルを再生出力して得られる動画内容等については、図11(a)と図11(b)とでは同じ結果となる。
図11(a)(b)のファイル構造とを比較した実際として、ヘッダ領域A1のヘッダ情報の内容、データサイズと、これに続くデータ領域A2に格納されるサムネイルデータの配置、格納状態は同じとなっている。従って、データ領域A2において最後に配置されるサムネイルデータの終端位置は、クラスタにおける中途位置にある、ということになる。
そして、従来としては、図11(a)に示されるようにして、データ領域A2の最後のサムネイルデータの終端位置に続けてそのまま詰めるようにして、リソース領域A3であるサムネイルデータ管理情報を配置させることとしていた。この結果、従来においては、データ領域A2の最後のサムネイルデータの終端位置がクラスタの中途位置にある場合、サムネイルデータ管理情報(リソース領域A3)のサイズによっては、図示するようにして、その中間においてクラスタ境界が位置する場合が生じていたものである。
これに対して、本実施の形態としては、図11(b)に示されるようにして、データ領域A2の最後のサムネイルデータの終端位置に続くデータ位置から、このデータ領域A2の最後のサムネイルデータの終端位置を含むクラスタの終端位置までの領域をアライメント領域(調整領域)A2−1として形成し、リソース領域A3をすぐに配置することはしないようにしている。そして、リソース領域A3としてのサムネイルデータ管理情報は、データ領域A2の最後のサムネイルデータの終端位置を含むクラスタに対して論理的に次となるようにして連結されるクラスタの開始位置から、リソース領域A3としてのサムネイルデータ管理情報を配置するようにされる。
このような図11(b)に示す構造によれば、本実施の形態のAVファイルにおけるデータ領域A2としては、少なくともサムネイルデータなどの実データを格納したうえで、この実データの終端位置がクラスタの中途位置である場合には、この実データの終端位置から上記クラスタの中途位置までを埋めるようにして配置されるアライメント領域A2−1とから成るものとして規定していることになる。
本実施の形態では、上記のようにしてアライメント領域A2−1を設けるべきことと規定することで、リソース領域A3としてのサムネイルデータ管理情報は、常に、クラスタの先頭位置から開始されるように調整されることになる。つまり、クラスタの開始位置とサムネイルデータ管理情報の開始位置tpとを常に一致させた状態とすることができる。
そして、このようにして、AVファイルにおいて、サムネイルデータ管理情報(リソース領域A3)がクラスタの先頭位置から開始される構造となっている場合における、AVファイルに対するファイルアクセスの手順としては、次のようになる。
この場合においても、図11(b)に示されるようにして、先ず、手順1としてヘッダ領域A1のヘッダ情報にアクセスして読み込みを実行し、このヘッダ情報の内容を参照してサムネイルデータ管理情報(リソース領域A3)の位置を認識する。そのうえで、続く手順2として、サムネイルデータ管理情報にアクセスして読み出したサムネイルデータ管理情報を、例えばサムネイルデータ管理情報保持用のワークRAM領域に書き込んで保持させることになる。そして、次の手順3により、ワークRAM領域に保持されるサムネイルデータ管理情報を参照して、データ領域A2における所要のサムネイルデータにアクセして読み込みを実行して動画再生処理を行っていくようにされる。
そして、本実施の形態における、上記手順2としての、サムネイルデータ管理情報をワークRAM領域に保持させるためのリソース領域A3へのアクセスは、例えば、図10(a)にて説明したワークRAM領域の容量と、サムネイルデータ管理情報のサイズとの関係を前提とすると、必ず1回のみで完了することになる。
つまり、本実施の形態では、サムネイルデータ管理情報の開始位置tpは、必ずクラスタの開始位置と一致しており、従って、1クラスタ以内のデータサイズであるサムネイルデータ管理情報は、その1つのクラスタ内に全て格納されていることになる。そのうえで、FATファイルシステムでは、HDD14からのデータの読み出しはクラスタ単位により行われる。このことから、サムネイルデータ管理情報を読み出すためには、HDD14におけるサムネイルデータ管理情報を含む1つのクラスタにアクセスし、このクラスタについてのデータ読み出しを実行することで、サムネイルデータ管理情報の全体が取得されることになる。そして、この取得した1クラスタ以内のデータサイズのサムネイルデータ管理情報を、例えば1クラスタの容量のワークRAM領域に書き込めばよい。
従来では、同じ図10(a)に示したワークRAM領域の容量と、サムネイルデータ管理情報のサイズとの関係による条件下で比較すると、サムネイルデータ管理情報(リソース領域A3)をワークRAM領域に保持するのにあたって、サムネイルデータ管理情報内にクラスタ境界がある場合には、2つのクラスタにアクセスする必要上から、2回のアクセス(シーク動作)を実行する必要があった。これに対して本実施の形態では、上記のようにして、サムネイルデータ管理情報をワークRAM領域に保持させるためのリソース領域A3へのアクセスは常に1回で済むことになる。
このようにして、本実施の形態では、サムネイルデータ管理情報に対するアクセス回数について、従来の場合よりも少なくすることが可能となるが、先にも述べたように、サムネイルデータ管理情報を格納するリソース領域A3は、各サムネイルデータの位置を特定する情報など、ファイル再生にあたって必須的な情報が格納される領域である。従って、ファイル再生に際しては、通常再生、あるいは、早送り/早戻し及びチャプターサーチなどの特殊再生に関わらず、必ずアクセスが行われる。このことから、サムネイルデータ管理情報(リソース領域A3)に対するアクセス回数が削減可能となったことは、ファイルそのものを再生するにあたってのアクセス回数が削減可能になった、ということがいえる。前述もしたように、ファイルのクラスタチェインの状態によっては、チェインされるクラスタについてのメディア上での物理的記録位置は離散している場合があるので、アクセス回数削減に伴うシーク動作回数の削減は、そのままアクセス時間の短縮に大きく寄与できるものとなる。ちなみに、周知のことであるが、HDDの場合のアクセス時間は、磁気ヘッドがトラック間を移動するシーク動作に要するシーク時間と、シーク完了後において、アクセス先となるクラスタの開始位置に相当するセクタが磁気ヘッドに到達するまでの回転待ち時間とを合算したものとなる。
なお、アライメント領域A2−1としては、データ領域A2における実データの再生出力に影響を与えることの無いようにされたデータ列構造が与えられている。従って、例えばデータ領域A2における最後のサムネイルデータを利用して再生処理を実行するのにあたっては、この最後のサムネイルデータの読み込みをクラスタ単位で実行することで、最後のサムネイルデータとしての実データとともに、アライメント領域A2−1のデータも共に読み込まれることになる。しかしながら、例えばこの最後のサムネイルデータについての復号処理などを実行するのにあたっても、このアライメント領域A2−1のデータ列によってエラーとなるようなことはなく、正常に処理が実行される。
また、確認のために述べておくと、上記説明にあたって、サムネイルデータ管理情報保持用のワークRAMの容量を1クラスタとし、サムネイルデータ管理情報(リソース領域A3)のサイズを1クラスタ以内としているのは、最も簡略でわかりやすい例としてあげているものであり、本実施の形態としては、サムネイルデータ管理情報(リソース領域A3)のサイズが、サムネイルデータ管理情報保持用のワークRAMの容量以内でありさえすれば、サムネイルデータ管理情報にアクセス回数は従来と比較して少なくすることが可能となっているものである。
例えば図12には、図9などに示したAVファイルからサムネイルデータ管理情報(リソース領域A3)のみを抜き出したうえで、このサムネイルデータ管理情報(リソース領域A3)が、1.5クラスタのサイズである場合を示している。ワークRAM領域としては、クラスタ単位のn倍(nは1以上の自然数)による容量を設定するのが一般的であるので、この場合のワークRAM領域の容量は、2クラスタ、若しくは3クラスタ以上の容量であればよいことになる。
このような場合において、例えば従来のAVファイル構造の規定であれば、サムネイルデータ管理情報(リソース領域A3)についてのHDD14への記録結果としては、図12(a)に示すような状態となる場合があることになる。つまり、サムネイルデータ管理情報の中途において、2つのクラスタ境界が存在する状態である。この場合には、1つのサムネイルデータ管理情報が3つのクラスタに分割されることになる。従って、サムネイルデータ管理情報をワークRAM領域に保持させるためには、クラスタ単位ごとのアクセスとしては3回必要であることになる。つまり、サムネイルデータ管理情報に対するアクセス回数は最大で3回となる場合がある。
これに対して、本実施の形態のとしてのAVファイル構造の規定では、サムネイルデータ管理情報は、必ず、クラスタの開始位置から開始されるようにして記録が行われる。従って、本実施の形態としては、図12(b)に示されるようにサムネイルデータ管理情報が2つのクラスタにより分割される状態が必ず得られることになる。従って、サムネイルデータ管理情報をワークRAM領域に保持させるためのクラスタ単位ごとのアクセス回数は、必ず2回となるものであり、従来のようにして3回となる場合があることと比較して、アクセス回数が削減可能となっていることが分かる。
ここで、参考として、図11(b)に示した本実施の形態に対応するAVファイルの構造を、ISO Base Media File Formatに対応させた場合の構造例を図13に示しておく。
図13(a)は、図11(b)と同様の構造によるAVファイルの構造を示しており、図13(b)は、図13(a)に示した実施の形態のAVファイルについて、ISO Base Media File Formatに従って形成した場合の構造を示している。
周知のようにして、ISO Base Media File Formatでは、ファイル構造はBoxといわれるデータ単位の集合として形成されることが規定されており、これらのBoxのタイプ(Box type)としては、ftyp、moov、mdat、free、skipなどが定義されている。
ftypは、現ファイルのファイルタイプ、現ファイルを形成するBox typeごとのサイズ(データ長)、brand,versionなどといわれるファイルの再生互換性などの情報を格納するBoxとされる
moovは、ファイル出力(再生)などに必要とされるメタデータ(meta data)を格納するBoxとされる
mdatは、ファイル再生に使用される、例えばビデオ、オーディオなどをはじめとした実データ(media data)を格納するBoxとされる。
free、skipは、free spaceとして規定されるもので、ファイル再生には無関係であり無視されるべき領域として扱われるBoxとなる。
図13(a)(b)を比較して分かるように、ISO Base Media File Formatでは、ヘッダ領域A1において、ftype Boxを配置することとしている。つまり、ftype Boxに格納される上記各情報が、実質的に有効なヘッダ情報として機能している。
また、データ領域A2におけるサムネイルデータが、ここではmedia dataとなるので、これらサムネイルデータの集合された領域がmdat Boxとなる。
そして、データ領域A2におけるアライメント領A2−1は、ISO Base Media File Formatでは、free Boxを適用することとしている。なお、free Boxに代えて、skip Boxを適用してもよい。
リソース領域A3であるサムネイルデータ管理情報は、これまでの説明からも理解されるように、サムネイルデータに対してmeta dataとなるものであり、moov Boxとして扱うべきものとなる。
続いては、図11(b)に示した本実施の形態としてのAVファイル構造により、HDDなどのメディアに対してデータを書き込むための処理について説明を行うこととし、先ず、このためのシステム階層モデルの構成例を図14に示す。この図14に示される本実施の形態としてのシステム階層モデルは、先に図2に示した基本的なシステム階層モデルを基としており、図2と同一とされる部分については、同一符号を付している。
図14に示すシステム階層の基本構成としても、図2と同様にして、最上位からアプリケーション100、ファイルシステム101、デバイスドライバ、メディア103の階層から成るものとしてみることができる。
そのうえで、ファイルシステム101についてソフトウェアが実行する処理を機能ブロックとしてみた場合には、図示するようにして、記録制御部200及びメディア制御部210を備えて構成されるものとみることができる。
記録制御部200は、メディアに対するデータの記録(書き込み)及び読み出しに関する各種制御処理を実行するもので、ディレクトリエントリ制御部201、FAT制御部202、及びクラスタ制御部203を備える。また、メディア制御部210は、ファイルシステムがメディアに対するコントロールを行うために、デバイスドライバ102側とデータの授受を行うことが可能な機能部位として位置算出部211を備える。
記録制御部200内のディレクトリエントリ制御部201は、例えばメディアに対するファイルの書き込み、消去などのデータ処理結果に応じてディレクトリエントリを作成、削除、更新するなど、ディレクトリエントリについての各種所要の制御処理を実行する。FAT制御部202は、メディアに対するファイルデータ処理結果に応じてFAT領域における所定のFATエントリについての書き換えを実行するなど、FAT領域についての各種所要の制御処理を実行する。クラスタ制御部203は、ファイルシステム内での処理がクラスタレベルで実行されるようにするための各種制御処理を実行する。
例えばメディアに書き込むためのデータが、ファイル単位の処理としてアプリケーション100から渡されてきたとすると、クラスタ制御部203は、このファイルレベルのデータをクラスタレベルによるデータに変換する。そして、このクラスタレベルによるデータについてのメディアへの書き込みを、メディア制御部210の位置算出部211に指示する。
位置算出部211では、FAT制御部202により管理しているFAT領域の内容を参照して認識されるメディアの未使用領域のうちから、ファイルのデータを書き込むべきクラスタの位置(クラスタ番号)を算出する。そして、デバイスドライバ102に対して、書き込むべきクラスタ単位のデータを受け渡すと共に、このデータを書き込むべきクラスタ番号を指示する。デバイスドライバ102は、指示されたクラスタ番号について最終的には、メディア上の記憶領域の物理セクタのアドレスに変換して、セクタレベルによりメディアへのデータの書き込みを実行するようにされる。
また、これとともに、ファイルシステムでは、上記のようにしてメディアに書き込まれて記憶されるファイルがFATファイルシステム上で適正に管理されるように、ディレクトリエントリ及びFAT領域についての書き換え(更新)を行う。
例えば先ず、ディレクトリエントリ制御部201により今回記録するファイルについてのディレクトリエントリを作成する。このときには、FAT制御部202と連携して、FAT領域における空き領域から、ファイルを記録すべきクラスタを決定する。これに伴い、ディレクトリエントリにおける開始クラスタに格納する値も決まることになる。また、ファイルを記録すべきクラスタが決定されるのに応じて、FAT制御部202は、FAT領域において、このファイルについてのクラスタチェインなどの内容が示されるように、所要のクラスタ番号のFATエントリの値を書き換える。
そして、このようにして作成したディレクトリエントリ、及びFAT領域の書き換え内容を、先の説明と同様にして、クラスタ制御部203及びメディア制御部210(位置算出部211)の処理によって、メディアの所定領域に書き込んで記憶させる。
続いては、図15のフローチャートを参照して、図11(b)に示す構造のAVファイルを記録するための処理手順について説明する。なお、この図に示す処理は、例えばCPU10がプログラムを実行することで、図14に示したアプリケーション100、ファイルシステム101、及びデバイスドライバ102が適宜実行する処理として実現される。
AVファイルをHDD14に書き込んで記憶させるべき機会、タイミングとなったとされると、先ずステップS101によるデータ書き込みのためのファイルオープンの処理が実行される。これにより、続くステップS102以降におけるHDD14へのAVファイルの書き込みが可能となる。
ステップS102においては、例えば現在のFATテーブルを参照するなどしてHDD14の空き領域のうちからヘッダ領域A1(ftyp Box)としての情報を書き込むための領域を確保する。そして、この確保した領域に対して、ヘッダの情報を書き込んで記憶させるための処理を実行する。
続くステップS103〜S105の処理は、ヘッダ領域A1に続けて、データ領域A2における実データとなるサムネイルデータを順次記録していくための処理となる。つまり、mdat Boxとしての領域のデータを記録していくための処理となる。
このために、先ず、ステップS103では、最後にHDD14に記録されたデータの終端に続けるようにして1つのサムネイルデータをHDD14に記録していくための処理を実行する。つまり、実際の記録処理として、今回のサムネイルデータの前に記録したとするデータの終端がクラスタの終端と一致せずに、クラスタの中途位置となっているような状態では、このクラスタにおける前の記録データの終端に続くセクタから、今回のサムネイルデータが開始されるようにして、サムネイルデータの記録を実行していくようにされる。
従って、ステップS102から最初にステップS103に至った場合には、ヘッダ領域A1のデータの終端に続けるようにしてサムネイルデータを記録していくことになる。
そして、次のステップS104においては、上記ステップS103によるサムネイルデータの記録結果に応じて、このサムネイルデータについて関連した所要の情報を生成して保持しておくようにされる。このステップS104において生成、保持されるサムネイルデータ関連情報が、meta dataの要素となるものであり、後においてサムネイルデータ管理情報の構築に使用される。
ステップS105においては、全てのサムネイルデータの記録が終了したしたか否かについて判別しており、ここで未だ、記録済みとなっていないサムネイルデータがあるとして否定の判別結果が得られたのであれば、ステップS103に戻る。このようにして、ステップS105から戻ってきた場合のステップS103では、先のステップS103にて記録されたサムネイルデータの終端がクラスタの中途にあれば、この終端に続くセクタから今回のサムネイルデータが開始されるようにして、サムネイルデータの記録を実行していくことになる。
そして、全てのサムネイルデータをHDD14に記録すると、ステップS105において肯定の判別結果が得られて、ステップS106に進むことになる。
ステップS106〜ステップS109は、これまでの記録結果に基づいて、アライメント領域A2−1のサイズを算出して決定するための処理となる。
ステップS106においては、既にHDD14に記録済みとされているヘッダ領域A1のサイズ(データ長)Shdの情報を取得し、次のステップS107により、ステップS103〜S105の処理によりHDD14に記録済みとされたサムネイルデータ群の集合のサイズSthを取得する。
なお、これらヘッダ領域A1のサイズShd、及びサムネイルデータ群のサイズSthは、ISO Base Media File Formatでは、ヘッダ情報であるftyp Boxにおける先頭4バイトの領域を参照することで認識できる。そのうえで、次のステップS108により、ヘッダ領域A1のサイズShdと、サムネイルデータ群のサイズSthとを利用して、Stl=Shd+Sthを算出する。つまり、AVファイルにおいて、ファイルの先頭となるヘッダ領域A1の先頭から、データ領域A2においてサムネイルデータが記録される終端位置までのデータサイズが算出される。換言すれば、ヘッダ領域A1と、ISO Base Media File Formatでいうところのmedia dataの集合となるmdat Boxとを合計したサイズを算出する。なお、サイズShd及びサイズSthは、例えばセクタレベルの分解能により表現されるもので、従って、Stlとしてもセクタレベルの分解能で表されたものとなっている。
続くステップS109においては、上記ステップS108により得られたStlの値を使用して、アライメント領域A2−1のサイズを算出するための処理を実行する。このためには、例えばSalをアライメント領域A2−1のサイズ、Sclを1クラスタのサイズ、nを1以上の自然数を表す変数として、
Stl+Sal=Scl×n・・・(式1)
が成立するSalの値を求めるようにすればよい。ただし、Salは、1クラスタのサイズよりも小さい(Sal<Scl)ことが条件である。
上記式1は、ファイルの先頭(ヘッダ領域A1の先頭)からデータ領域A2においてサムネイルデータが記録される終端位置までのデータサイズStlを1クラスタのサイズで除算してその余りを求めて、この余りの値を1クラスタのサイズから減算して得られる値に相当する。上記余りとしての値は、例えばmdatとしての領域における最後のサムネイルデータの終端を含むクラスタにおける、この最後のサムネイルデータとしての実データのサイズを示している。従って、この余りの値を1クラスタのサイズから減算すれば、この最後のサムネイルデータを含むクラスタにおける、このサムネイルデータの終端位置から、クラスタの終端までのサイズを求めることができる。つまり、アライメント領域A2−1のサイズが求められる。
なお、Salの値は、最後に記録されたサムネイルデータの終端位置とクラスタの終端位置とが一致した場合には、0として算出される。
ステップS110においては、上記ステップS109にて算出されたサイズSalのデータサイズによるアライメント領域A2−1を生成し、次のステップS111により、上記ステップS110により生成されたアライメント領域A2−1(free Box)を、最後に記録されたサムネイルデータの終端に続けるようにしてHDD14に記録するための制御処理を実行する。
そして、ステップS112により、これまでの記録結果に応じてサムネイルデータ管理情報(meta dat、moov Box)を形成したうえで、このサムネイルデータ管理情報を上記アライメント領域A2−1に続けるようにして記録する。つまり、リソース領域A3を記録する。この場合、上記ステップS111の処理により記録済みとされたアライメント領域A2−1の終端位置は、そのアライメント領域A2−1が含まれるクラスタの終端位置と一致している。従って、ステップS112により記録されるサムネイルデータ管理情報は、アライメント領域A2−1が含まれるクラスタに対して論理的に連結された次のクラスタの開始位置からデータが記録されることになる。この結果、最後のサムネイルデータの終端位置(mdat Boxの終端位置)が、クラスタの中途位置である場合において、図11(b)に示したような本実施の形態としてのAVファイルの構造が得られるようにされる。
上記ステップS112の処理が終了した段階では、AVファイルを形成するデータの全てがHDD14に書込済みの状態となっている。そこで、ステップS113によりファイルクローズを実行する。これにより、このAVファイルを記録するための処理が終了されたこととなる。
なお、上記処理によってHDD14に記録されてFATファイルシステムにより管理されるAVファイルを対象とする再生処理は、特に通常と変わるところはない。ただし、上記処理によってHDD14に記録されたAVファイルは、サムネイルデータ管理情報(リソース領域A3)についてクラスタの開始位置から記録された状態となっており、このサムネイルデータ管理情報の記録位置については、ヘッダ情報として示されている。従って、通常の再生処理の手順で、ヘッダにアクセスして認識したサムネイルデータ管理情報の位置情報に基づいて、HDD14におけるサムネイルデータ管理情報にアクセスする結果、先に図11(b)により説明したように、サムネイルデータ管理情報を読み込んでワークRAMに格納するためのHDD14へのアクセス回数を少なくできる場合があることになる。
ところで、これまでにおいては、本願発明における第1の情報部と第2の情報部であるデータ領域A2(サムネイルデータ)とリソース領域A3(サムネイルデータ管理情報)との関係に対応するものとして、データ領域A2の終端部のみに対してアライメント領域を配置するファイル構造を前提として説明してきた。
しかしながら、アライメント領域の配置に関すれば、本実施の形態としてのAVファイルの構造の下では、例えば図16(a)に示すようにして、ヘッダ領域A1においてもアライメント領域A1−1を配置させる構造とすることが可能である。
つまり、ヘッダ領域A1における有効データとなるヘッダ情報を、ヘッダ領域A1としての先頭位置(ファイル先頭位置)から格納していき、このヘッダ情報としてのデータの終端位置がクラスタの中途位置にある場合に、このヘッダ情報としてのデータの終端を含むクラスタにおいて、ヘッダ情報のデータ終端位置からクラスタ終端位置までをアライメント領域A1−1により埋めるようにした構造とするべきものである。これにより、ヘッダ領域A1に続くデータ領域A2の開始位置は、必ずクラスタの先頭位置から開始されることとなる。そして、データ領域A2について先頭部分を読み出す場合において、メディアへの物理的なアクセス回数を低減することが可能になる。本実施の形態では、データ領域A2の先頭から所定順序でサムネイルデータを配置していくこととしている。従って、ヘッダ領域A1についてアライメント領域によるサイズ調整が行われたAVファイルを再生することによっては、少なくとも、データ領域A2の先頭から或る所定サイズ(ワークRAMサイズにより決まる)のデータ位置までに格納されるサムネイルデータを読み出す場合のメディアへの物理的なアクセス回数を低減することが可能になるものである。
また、上記図16(a)に示されるAVファイルの構造をISO Base Media File Formatに対応させるとすれば、図16(b)に示すようにして、ヘッダ領域A1に配置するアライメント領域A1−1についても、free Box(又はskip Box)を割り当てることとすればよい。
図17は、上記図16に示したように、本実施の形態のAVファイルについて、データ領域A2に加えて、ヘッダ領域A1にもアライメント領域を配置できることとした場合における、AVファイルの記録のための処理手順を示している。この図に示す処理も、図15の場合と同様にして、例えばCPU10がプログラムを実行することで、図14に示したアプリケーション100、ファイルシステム101、及びデバイスドライバ102が適宜実行する処理として実現されるものとされる。
この場合においても、AVファイルをHDD14に書き込んで記憶させるべき機会、タイミングとなったとされると、図15のステップS101と同様にして、先ず、ステップS201によるデータ書き込みのためのファイルオープンの処理が実行され、ステップS202以降におけるHDD14へのAVファイルの書き込みを可能とする。そして、次のステップS202により、HDD14の空き領域のうちから、ヘッダ領域A1におけるヘッダ情報としての有効データであるftyp Boxを書き込むための領域を確保したうえで、ftyp Boxのデータを書き込んで記憶させるための処理を実行する。
続くステップS203〜S206までの処理が、ftyp Boxの終端に続けて、ヘッダ領域A1のアライメント領域A1−1を生成して記録するための処理となる。
先ず、ステップS203においては、上記ステップS202により書き込みを実行したftyp BoxのサイズSftを算出する。このサイズSftは、セクタレベルでの分解能で表される値となる。
次のステップS204においては、上記ステップS203により得られたサイズSftの値を使用して、アライメント領域A1−1のサイズを算出するための処理を実行する。ここでの処理は、先に図15により説明したステップS109における、データ領域A2内のアライメント領域A2−1を算出する処理に準ずるものとされればよく、例えば下記のようになる。
ここでは、Salhをアライメント領域A1−1のサイズ、Sclを1クラスタのサイズ、nを1以上の自然数を表す変数として、
Stl+Salh=Scl×n・・・(式2)
が成立するSalhの値を求めるようにされる。なお、この場合にも、アライメント領域A1−1のサイズSalhは、1クラスタのサイズよりも小さい(Salh<Scl)ことが条件となる。また、この場合にも、アライメント領域A1−1のSalhの値は、ftypの終端位置とクラスタの終端位置とが一致した場合には、0として算出される。
そして、ステップS205により、上記ステップS204にて算出されたサイズSalhのデータサイズによるアライメント領域A1−1(free Box)を生成し、続くステップS206により、上記ステップS205により生成されたアライメント領域A1−1を、ftypの終端に続けるようにしてHDD14に記録するための制御処理を実行する。
上記ステップS206までの処理により、AVファイルにおけるヘッダ領域A1についての書き込み(記録)が終了したことになる。そこで、次のステップS207においては、データ領域A2を記録するための処理を実行することになる。つまり、先ずは所定順序でサムネイルデータを所要のサムネイルデータを記録していき、最後に必要に応じてアライメント領域A2−1を生成して記録するまでの処理を実行する。
このステップS207の処理は、先に図15により説明したステップS103〜S111の処理となる。また、上記ステップS206までの処理により、ヘッダ領域A1にもアライメント領域A1−1が配置されることで、上記ステップS207により記録されたデータ領域A2の開始位置は、必ず、クラスタの先頭と一致していることになる。
ステップS207によりデータ領域A2についての記録が完了すると、ステップS208により、先の図15のステップS112と同様にして、サムネイルデータ管理情報(meta dat、moov Box)を形成して記録するための処理を実行する。これにより、データ領域A2に続けて、リソース領域A3が記録されることとなるが、ここでもリソース領域A3(サムネイルデータ管理情報)は、常にクラスタの先頭から開始されるものとなる。
上記ステップS208の処理の終了を以て、AVファイルを形成するデータの全てがHDD14に書込済みとなる状態が得られることになる。そこで、図15のステップS113と同様にして、ステップS209によりファイルクローズを実行して、このAVファイルを記録するための処理を終了させる。
このようにして、本実施の形態では、データ領域A2だけではなく、ヘッダ領域A1に対してもアライメント領域を設けることができる。また、この考え方を推し進めれば、データ領域A2内におけるサムネイルデータごとについてもアライメント領域を設けて、サムネイルデータごとについてクラスタ先頭から開始されるようにすることも考えられる。ただし、アライメント領域を設けるデータ領域あるいはデータ単位などを増加させるのに応じて、それだけファイルとしては、アライメント領域としての無効データのサイズが増加して冗長度が高くなる。このために、実際にヘッダ領域やサムネイルデータにアライメント領域を設けるか否かについては、ファイル再生処理の効率と、ファイルの冗長度とのバランスを考慮して決定することが好ましい。
なお、本発明としては、これまでに説明してきた実施の形態としての構成に限定されない。
先ず、本発明のファイルは、第1の情報部(実施の形態ではデータ領域A2)と、この後ろに論理的に続く第2の情報部(リソース領域A3:サムネイルデータ管理情報)から少なくとも成り、第2の情報部は、第1の情報部において実データを形成するデータ要素単位(サムネイルデータ)へのアクセスのために、第1の情報部へのアクセスに先立って必ずアクセスしなければならない情報を有する領域であることが要件である。
従って、実施の形態において図7、図11などに示したファイル構造、及び、より具体的な形式として挙げたISO Base Media File Formatなどの仕様は、あくまでも一例であり、上記した本発明が対応するファイルの要件を満たす限り、そのファイル構造、ファイル形式は限定されるべきものではない。また、これに応じて、ファイル種別としても動画と音声について再生時間軸を同期させて再生するようなAVファイル系以外の各種ファイルとされてよい。
また、実施の形態におけるファイルの記録管理についてはFATファイルシステムを採用することとしているが、例えばHSF(Hierarchical File System)などをはじめとする他のファイルシステムとされてもよいものであり、ファイルシステムの規格に関しては特に限定されるべきものではない。
また、上記実施の形態では、本発明の情報処理装置としても、実施の形態に挙げたデジタルビデオカメラに限定されるべきものではなく、例えば、デジタルスチルカメラ、テレビジョン放送番組の予約録画機器、さらにはパーソナルコンピュータをはじめ、これに準じた各種情報処理機器など、HDDなどの記憶媒体に対応してデータ書き込み/読み出しなどのデータ処理が可能な機器であれば、本発明が適用できる。
また、ファイルが記録される記憶媒体としても、実施の形態で説明したHDDに限定される必要はない。例えば、他の磁気ディスク状記録媒体、或いは光学ディスク状記録媒体、光磁気ディスク状記録媒体など、ランダムアクセスが行われる各種記録媒体とされてよい。
また、実施の形態における説明から理解されるように、本発明としての効果は再生処理速度の向上であるが、この効果は、例えば図11(b)に例示したファイルの構造により記録媒体に記録することで得られるものである。従って、本発明は、例えば記録媒体へのファイル(データ)記録機能のみを持ち、ファイル再生機能を有さないような、記録専用の情報処理装置にも適用は可能である。
本発明の実施の形態のデジタルビデオカメラの構成例を示すブロック図である。 FATファイルシステムのシステム構成を階層モデルにより示す図である。 FATファイルシステムにおけるメディアのフォーマット構造を示す図である。 FATファイルシステムにおけるMBRの構造を示す図である。 FATファイルシステムにおけるディレクトリエントリの構造を示す図である。 FATファイルシステムによるファイル記録位置の管理例を示す図である。 本実施の形態が対応するAVファイルの基本構造を示す図である。 従来の構造のAVファイルに対する基本的なアクセス手順例を示す図である。 従来の構造のAVファイルに対するアクセス手順例として、サムネイルデータ管理情報の中途にクラスタ境界が位置する場合のアクセス手順例を示す図である。 AVファイルにおけるサムネイルデータ管理情報をワークRAMに格納する手順を模式的に示す図である。 本実施の形態としての構造のAVファイルに対するアクセス手順例を、従来と比較して示す図である。 1クラスタより大きなサイズのサムネイルデータ管理情報へのアクセス手順を、サムネイルデータ管理情報とクラスタ境界との位置関係として示す図である。 本実施の形態が対応するAVファイルの具体的形式例を示す図である。 本実施の形態に対応する、FATファイルシステム構成を階層モデルにより示す図である。 本実施の形態が対応するAVファイルをHDDに記録するための処理を示すフローチャートである。 本実施の形態が対応するAVファイルについて、ヘッダ部にもアライメント領域を設けることとした場合の構造例を示す図である。 本実施の形態が対応するAVファイルをHDDに記録するための処理として、AVファイルのヘッダ部にもアライメント領域を設けることとした場合の処理を示すフローチャートである。
符号の説明
1 デジタルビデオカメラ、2 光学系部、3 光電変換部、4 ビデオ信号処理部、5 画像入出力部、6 カメラ機能部、7 表示部、8 音声処理部、9 音声入出力部、10 CPU、11 ROM、12 RAM、13 メディアコントローラ、14 HDD、15 操作入力部、16 通信部、100 アプリケーション、101 ファイルシステム、102 デバイスドライバ、200 記録制御部、201 ディレクトリエントリ、202 FAT制御部、203 クラスタ制御部、210 メディア制御部、211 位置算出部

Claims (5)

  1. 所定サイズの最小データ管理単位により記憶媒体にデータを書き込んで記憶させるデータ書き込み手段と、
    第1の情報部と、論理的にこの第1の情報部に続くようにして位置するもので、少なくとも上記第1の情報部に格納される実データを形成するデータ要素単位へのアクセスに必要とされる所定の情報を有する第2の情報部と、から少なくとも成るファイルのデータを上記記憶媒体に書き込む場合において、上記第1の情報部の実データの終端位置を含んで記憶される最小データ管理単位に続く最小データ管理単位の開始位置から上記第2の情報部が記憶されるようにして、上記書き込み手段によるデータ書き込み処理を制御する制御手段と、
    を備えることを特徴とする情報処理装置。
  2. 上記ファイルのデータを上記記憶媒体に書き込む場合において、上記第1の情報部を成す実データの終端位置から、この終端位置を含むとされる最小データ管理単位の終端までに対応する領域を調整領域として設定する調整領域設定手段をさらに備え、
    上記制御手段は、上記第1の情報部、上記調整領域設定手段により設定された調整領域、上記第2の情報部の領域の順となる論理構造により、上記記憶媒体に上記ファイルが記憶されるように、上記書き込み手段によるデータ書き込み処理を制御する、
    ことを特徴とする請求項1に記載の情報処理装置。
  3. 上記記憶媒体に記憶された上記ファイルを再生処理するために、このファイルのデータにおいて処理対象となる部分が上記記憶媒体から読み出されてバッファリングされる作業量メモリ領域を有し、
    上記作業用メモリ領域について、上記第2の情報部について規定される最大サイズよりも大きい容量を設定する、
    ことを特徴とする請求項1に記載の情報処理装置。
  4. 所定サイズの最小データ管理単位により記憶媒体にデータを書き込んで記憶させるデータ書き込み手順と、
    第1の情報部と、論理的にこの第1の情報部に続くようにして位置するもので、上記第1の情報部に格納される実データを形成するデータ要素単位へのアクセスに必要とされる所定の情報を有する第2の情報部と、から少なくとも成るファイルのデータを上記記憶媒体に書き込む場合において、上記第1の情報部の実データの終端位置を含んで記憶される最小データ管理単位に続く最小データ管理単位の開始位置から上記第2の情報部が記憶されるようにして、上記書き込み手順によるデータ書き込み処理を制御する制御手順と、
    を実行することを特徴とする情報処理方法。
  5. 所定サイズの最小データ管理単位により記憶媒体にデータを書き込んで記憶させるデータ書き込み手順と、
    第1の情報部と、論理的にこの第1の情報部に続くようにして位置するもので、少なくとも上記第1の情報部に格納される実データを形成するデータ要素単位へのアクセスに必要とされる所定の情報を有する第2の情報部と、から少なくとも成るファイルのデータを上記記憶媒体に書き込む場合において、上記第1の情報部の実データの終端位置を含んで記憶される最小データ管理単位に続く最小データ管理単位の開始位置から上記第2の情報部が記憶されるようにして、上記書き込み手順によるデータ書き込み処理を制御する制御手順と、
    を情報処理装置に実行させるプログラム。
JP2004327867A 2004-11-11 2004-11-11 情報処理装置、情報処理方法、プログラム Pending JP2006139845A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004327867A JP2006139845A (ja) 2004-11-11 2004-11-11 情報処理装置、情報処理方法、プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004327867A JP2006139845A (ja) 2004-11-11 2004-11-11 情報処理装置、情報処理方法、プログラム

Publications (1)

Publication Number Publication Date
JP2006139845A true JP2006139845A (ja) 2006-06-01

Family

ID=36620578

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004327867A Pending JP2006139845A (ja) 2004-11-11 2004-11-11 情報処理装置、情報処理方法、プログラム

Country Status (1)

Country Link
JP (1) JP2006139845A (ja)

Similar Documents

Publication Publication Date Title
EP0971358B1 (en) Data processing apparatus and file management method therefor
JP5129156B2 (ja) アクセス装置、および、ライトワンス記録システム
US8977802B2 (en) Access device, information recording device, controller, real time information recording system, access method, and program
JP2009187184A (ja) 記録装置、記録装置の制御方法、記録装置の制御方法のプログラム及び記録装置の制御方法のプログラムを記録した記録媒体
US8019800B2 (en) Access device, information recording device, information recording system, file management method, and program
US20070198595A1 (en) Information processing apparatus, information processing method, and program
KR20070045114A (ko) 정보 처리 장치와 정보 처리 방법, 및 컴퓨터 프로그램
JP4487954B2 (ja) データ記録装置、データ記録方法、及びプログラム
JP2007233638A (ja) 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
JP2012510101A (ja) フラッシュ変換層を有するフラッシュ・ベースのメモリおよびファイル記憶方法
JP2007108853A (ja) 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
JP5053945B2 (ja) 記録媒体初期化方法及び記録媒体初期化装置
JP4561323B2 (ja) 情報処理装置、情報処理方法、及びプログラム
JP2006178633A (ja) 情報処理装置、情報処理方法、プログラム
JP2006164017A (ja) 情報処理装置、情報処理方法、プログラム
JP2006178632A (ja) 情報処理装置、情報処理方法、プログラム
JP2006139845A (ja) 情報処理装置、情報処理方法、プログラム
US7424573B2 (en) Information processing apparatus, method, and program for formatting multiple recording media integrated as one
JP4734898B2 (ja) 情報処理装置、情報処理方法、プログラム
JP2006252096A (ja) 記録装置および方法、並びにプログラム
JP2006146812A (ja) 情報処理装置、情報処理方法、プログラム
JP2006133855A (ja) 情報処理装置、情報処理方法、プログラム
JP2006155461A (ja) 情報処理装置、情報処理方法、並びにプログラム
JP4206872B2 (ja) 情報編集装置、撮像装置および情報編集方法
JP4318040B2 (ja) 情報編集装置、撮像装置および情報編集方法