データ読み出し装置、データ読み出し方法およびプログラム
【課題】所望のデータのみを効率的に読み出し可能なデータ読み出し装置を提供する。
【解決手段】ディスクドライブ装置100は、ホスト200から受信した読み出しコマンドに基づいて、ホスト200により要求された、光ディスクODに記録されているデータを読み出すように光学ピックアップ102を制御するとともに、それ以降にホスト200からの読み出しコマンドを予測して、ホスト200により要求されると予測された、光ディスクODに記録されているデータを先読みするように光学ピックアップ102を制御するCPU122とを備え、CPU122は、それ以降にホスト200から発行される読み出しコマンドの予測において、それ以前にホスト200からの読み出しコマンドに基づいて算出された、読み出す対象のデータの領域の大きさと、読み飛ばすデータの領域の大きさとを用いた統計処理により、次に読み飛ばすデータの領域の大きさを予測する。
【解決手段】ディスクドライブ装置100は、ホスト200から受信した読み出しコマンドに基づいて、ホスト200により要求された、光ディスクODに記録されているデータを読み出すように光学ピックアップ102を制御するとともに、それ以降にホスト200からの読み出しコマンドを予測して、ホスト200により要求されると予測された、光ディスクODに記録されているデータを先読みするように光学ピックアップ102を制御するCPU122とを備え、CPU122は、それ以降にホスト200から発行される読み出しコマンドの予測において、それ以前にホスト200からの読み出しコマンドに基づいて算出された、読み出す対象のデータの領域の大きさと、読み飛ばすデータの領域の大きさとを用いた統計処理により、次に読み飛ばすデータの領域の大きさを予測する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データ読み出し装置、データ読み出し方法およびプログラムに関する。
【背景技術】
【0002】
従来、ディスクにデータを書き込んだり、ディスクに書き込まれているデータを読み出したりするディスクドライブ装置の開発が活発に行われている。
【0003】
ディスクドライブ装置のホストから、ディスクドライブ装置に発行される読み出しコマンドは、一度に1クリップ(1ファイル)分や、1年輪データ分といったある程度の大きさを持った塊の単位ではなく、もっと小さな、ディスクにとっての1セクタ(例えば、2kByte)、1クラスタ(例えば、64kByte)といった小さな塊の単位である。このため、ディスクドライブ装置側の動作としては、1コマンドを受け取る毎に、その分量だけのデータを、その都度、ディスクから読み出してホストに返していたのでは、パフォーマンスは非常に低いものとなってしまう。
【0004】
そこで、通常のディスクドライブ装置では、ホストから1つの読み出しコマンドを受け取ったら、次は、その続きの領域の読み出しコマンドが来ることを想定して、いわゆる先読み動作を行う。この先読み動作において、どのように予測し、どれだけの分量をどのタイミングで行うかが、ディスクドライブ装置の性能を大きく左右する。
【0005】
例えば、特許文献1では、ディスク上のデータ配置の規則性が薄いフォーマットで記録されたディスクを、ランダムアクセスする際に先読み効率を向上させる手段として、過去に、一度読み出しを行った場所と、その後のアクセスパターンを記憶しておき、次に同じ場所を再アクセスした場合には、前回と同じ場所を先読みする方法が示されている。また、例えば、特許文献2では、ビデオデータの先読み動作に関する技術が示されている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開平09−185462号公報
【特許文献2】特開2001−285805号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
ところで、本線系のメインAV(Audio Visual)データと、シーンサーチや編集などの用途の低解像度のサブAVデータ(例えば、プロキシデータ)とが、それぞれ独立したファイルとしてディスク上に分散記憶されているフォーマットにおいては、シーンサーチなどの特殊再生において、ディスクドライブ装置がディスク上の全てのデータの単純な先読み動作を行ったのでは、低解像度のサブAVデータ(プロキシデータ)だけを読み出すことができずに、それ以外の領域の無駄な読み出しを伴ってしまうことにより、高速なサーチ再生ができないという問題があった。
【0008】
また、ビデオ処理系とディスクドライブ装置の制御が一体化したシステムでは、どの部分に低解像度のデータが記録されているかをシステムが理解しているため、その情報に基づいた効率の良い先読み動作が可能である。しかし、汎用PC(Personal Computer)などがビデオ処理を制御し、そのPCからの読み出しコマンドのみに基づいて、ディスクドライブ装置が独立した動作を行うようなシステム構成をとる場合は、ディスクドライブ装置は単純な先読み動作しか行えずに、高速なサーチ再生においては支障をきたすという問題があった。
【0009】
上述した特許文献1の技術は、過去に、一度読み出しを行った場所と、その後のアクセスパターンを記憶しておき、次に同じ場所を再アクセスした場合には、前回と同じ場所を先読みする方法であるため、新規に読み出す領域の先読みには対応できない。また、上述した特許文献2の技術は、1種類のAVデータのみが固定ビットレート(CBR:Constant Bit Rate)で記録されたもののみを対象とし、さらには、それらのデータ自体を間引きしながら読み出すことを想定した技術であり、2種類以上のAVデータや、可変ビットレート(VBR:Variable Bit Rate)で記録したものには対応できない。
【0010】
そこで、本発明は、上記問題に鑑みてなされたものであり、本発明の目的とするところは、先読み動作において、メインAVデータやサブAVデータなどといった独立した複数のデータが混在・点在して記録されたフォーマットの中から、所望のデータのみを効率的に読み出すことが可能な、新規かつ改良されたデータ読み出し装置、データ読み出し方法およびプログラムを提供することにある。
【課題を解決するための手段】
【0011】
上記課題を解決するために、本発明のある観点によれば、記録装置に記録されているデータを読み出す読み出し部と、外部装置から発行された、前記記録装置に記録されているデータの読み出しコマンドを受信する受信部と、前記受信部が受信した前記読み出しコマンドに基づいて、前記外部装置により要求された、前記記録装置に記録されているデータを読み出すように前記読み出し部を制御するとともに、それ以降に前記外部装置から発行される読み出しコマンドを予測して、当該予測された読み出しコマンドに基づいて、前記外部装置により要求されると予測された、前記記録装置に記録されているデータを先読みするように前記読み出し部を制御する制御部とを備え、前記制御部は、それ以降に前記外部装置から発行される読み出しコマンドの予測において、それ以前に前記外部装置から発行された読み出しコマンドに基づいて算出された、読み出す対象のデータの領域の大きさと、読み飛ばすデータの領域の大きさとを用いた統計処理により、次に読み飛ばすデータの領域の大きさを予測するデータ読み出し装置が提供される。
【0012】
前記制御部の制御によって前記読み出し部により先読みされたデータの中に、前記記録装置の記録領域において前記読み出す対象のデータの直前に記録されている所定のデータが含まれているか否かを検出する検出部を備え、前記制御部は、前記検出部による検出結果に基づいて、前記読み出し部による先読みを制御してもよい。
【0013】
前記制御部は、前記検出部により、前記先読みされたデータの中に、前記所定のデータが含まれていると検出された場合は、前記所定のデータの直後に記録されている前記読み出す対象のデータの領域の分だけ読み出すように、前記読み出し部による先読みを制御してもよい。
【0014】
前記制御部は、前記検出部により、前記先読みされたデータの中に、前記所定のデータが含まれていないと検出された場合は、前記所定のデータが検出されるまで、それ以前に先読みされたデータの前の領域のデータを読み出すように、前記読み出し部による先読みを制御してもよい。
【0015】
前記読み出す対象のデータは、低解像度の映像データであってもよい。
【0016】
また、上記課題を解決するために、本発明の別の観点によれば、外部装置から発行された、記録装置に記録されているデータの読み出しコマンドを受信する受信ステップと、前記受信ステップで受信した前記読み出しコマンドに基づいて、前記外部装置により要求された、前記記録装置に記録されているデータを読み出すように、前記記録装置に記録されているデータを読み出す読み出し部を制御するとともに、それ以降に前記外部装置から発行される読み出しコマンドを予測して、当該予測された読み出しコマンドに基づいて、前記外部装置により要求されると予測された、前記記録装置に記録されているデータを先読みするように前記読み出し部を制御する制御ステップとを有し、前記制御ステップでは、それ以降に前記外部装置から発行される読み出しコマンドの予測において、それ以前に前記外部装置から発行された読み出しコマンドに基づいて算出された、読み出す対象のデータの領域の大きさと、読み飛ばすデータの領域の大きさとを用いた統計処理により、次に読み飛ばすデータの領域の大きさを予測するデータ読み出し方法が提供される。
【0017】
また、上記課題を解決するために、本発明の別の観点によれば、コンピュータに、外部装置から発行された、記録装置に記録されているデータの読み出しコマンドを受信する受信ステップと、前記受信ステップで受信した前記読み出しコマンドに基づいて、前記外部装置により要求された、前記記録装置に記録されているデータを読み出すように、前記記録装置に記録されているデータを読み出す読み出し部を制御するとともに、それ以降に前記外部装置から発行される読み出しコマンドを予測して、当該予測された読み出しコマンドに基づいて、前記外部装置により要求されると予測された、前記記録装置に記録されているデータを先読みするように前記読み出し部を制御する制御ステップとを実行させるためのプログラムであって、前記制御ステップでは、それ以降に前記外部装置から発行される読み出しコマンドの予測において、それ以前に前記外部装置から発行された読み出しコマンドに基づいて算出された、読み出す対象のデータの領域の大きさと、読み飛ばすデータの領域の大きさとを用いた統計処理により、次に読み飛ばすデータの領域の大きさを予測するプログラムが提供される。
【発明の効果】
【0018】
以上説明したように本発明によれば、先読み動作において、メインAVデータやサブAVデータなどといった独立した複数のデータが混在・点在して記録されたフォーマットの中から、所望のデータのみを効率的に読み出すことができる。
【図面の簡単な説明】
【0019】
【図1】本発明の実施の形態に係るデータ読み出し装置としてのディスクドライブ装置の構成を概略的に示すブロック図である。
【図2】本発明の実施の形態において、対象の一例としている年輪構造を持ったAVディスクフォーマットを説明するための説明図である。
【図3】例えばディスクとしての光ディスク上に形成された年輪データの一例を示す説明図である。
【図4】例えばディスクとしての光ディスク上に年輪データが形成された様子の一例を示す説明図である。
【図5】(A)は、ディスクとしての光ディスク上に記録される年輪データの構成を説明するための説明図であり、(B)は、ディスクドライブ装置の先読み動作において、読みたい対象を説明するための説明図である。
【図6】ディスクドライブ装置の先読み動作において、読みたい対象と実際の読み出しを説明するための説明図である。
【図7】高解像度メイン映像データのセクタ数Sm(実際には、それ以外のデータを含む)の大きさと、低解像度映像データ(プロキシデータ)のセクタ数Ssの大きさとを説明するための説明図である。
【図8】ディスクドライブ装置の実際の読み出し動作を説明するための説明図である。
【図9】本実施の形態におけるディスクドライブ装置が実行する第1の読み出し処理のフローチャートである。
【図10】(A)は、ディスクとしての光ディスク上に記録される年輪データの構成を説明するための説明図であり、(B)は、ディスクドライブ装置の先読み動作において、読みたい対象を説明するための説明図である。
【図11】高解像度メイン映像データのセクタ数Smの大きさを統計的に算出する手法を説明するための説明図である。
【図12】ディスクドライブ装置の実際の読み出し動作を説明するための説明図である。
【図13】(A)は、低解像度映像データ(プロキシデータ)を読み取るために実際に読み取る範囲を説明するための説明図であり、(B)は、リードのバッファメモリに一時的に記録されたデータを説明するための説明図である。
【図14】先読みによって読み取る範囲のマージンが足りない場合を説明するための説明図である。
【図15】本発明の実施の形態におけるディスクドライブ装置が実行する第2の読み出し処理のフローチャートである。
【図16】サルベージマーカの検出によって、後半の不要なマージン分の読み取りを省略する場合を説明するための説明図である。
【図17】先読み動作において、前半のマージンが不足している場合を説明するための説明図である。
【図18】本発明の実施の形態におけるディスクドライブ装置が実行する第3の読み出し処理のフローチャートである。
【発明を実施するための形態】
【0020】
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【0021】
なお、説明は以下の順序で行うものとする。
1.ディスクドライブ装置の構成
2.AVディスクフォーマット
3.先読み動作
4.第1の読み出し処理
5.第2の読み出し処理
6.第3の読み出し処理
【0022】
[1.ディスクドライブ装置の構成]
まず、本発明の実施の形態に係るデータ読み出し装置としてのディスクドライブ装置について説明する。図1は、本実施の形態に係るデータ読み出し装置としてのディスクドライブ装置の構成を概略的に示すブロック図である。本発明は再生動作に関するものであるため、ディスクドライブ装置が再生装置として構成される場合について説明を行うが、通常のディスクドライブ装置は、記録および再生の両機能を備えるものが一般的である。また、以下では、ディスクドライブ装置がディスクとしての光ディスク上に記録されているデータを読み出す場合について説明を行うが、光ディスクに限らず、ハードディスクなどのデータを記録可能な記録装置からデータを読み出す場合においても本発明は適用可能である。
【0023】
図1において、ディスクドライブ装置100は、光学ピックアップ102と、スピンドルモータ104と、サーボ制御部106と、RF(Radio Frequency)アンプ108と、記録復号部110と、エラー訂正部112と、サルベージマーカ検出部114と、バッファコントローラ116と、バッファメモリ118と、ホストI/F120と、CPU122とを備える。
【0024】
光学ピックアップ102は、例えば、ディスクとしての光ディスクODからの反射光を光電変換して電流信号を生成し、RFアンプ108に供給する。光ディスクODは、本発明の記録装置の一例である。光学ピックアップ102は、本発明の読み出し部の一例である。RFアンプ108は、光学ピックアップ102からの電流信号に基づいて、フォーカス誤差信号およびトラッキング誤差信号、ならびに再生信号を生成し、フォーカス誤差信号およびトラッキング誤差信号をサーボ制御部106に供給する。
【0025】
光学ピックアップ102のレーザ光の照射位置は、サーボ制御部106から光学ピックアップ102に供給されるサーボ信号により所定の位置に制御される。すなわち、サーボ制御部106は、フォーカスサーボ動作やトラッキングサーボ動作の制御を行う。具体的には、サーボ制御部106は、RFアンプ108からのフォーカス誤差信号およびトラッキング誤差信号に基づいて、フォーカスサーボ信号とトラッキングサーボ信号とをそれぞれ生成し、光学ピックアップ102のアクチュエータ(図示しない)に供給する。
【0026】
また、サーボ制御部106は、スピンドルモータ104を駆動するためのスピンドルモータ駆動信号を生成して、光ディスクODを所定の回転速度で回転させるスピンドルサーボ動作の制御を行う。さらに、サーボ制御部106は、光学ピックアップ102などを光ディスクODの径方向に移動させてレーザ光の照射位置を変えるスレッド制御を行う。
【0027】
また、RFアンプ108は、再生信号を記録復号部110に供給する。記録復号部110では、RFアンプ108から供給された再生信号を元に、PLL(Phase Locked Loop)等を用いて再生クロックを生成するとともに、再生信号を復号して再生データを生成し、アドレス情報を含む、ディスクとしての光ディスクODに記録されたデータを復元する。
【0028】
ここで記録復号された再生データは、エラー訂正部112に供給されて、例えば、リードソロモン積符号などの記録時に行った所定の方式に従って、エラー訂正処理を行う。また、エラー訂正部112は、併せて、同様に、記録時に行った所定の方式に従って、デインターリーブ処理やデスクランブル処理等も行う。
【0029】
エラー訂正部112により処理された再生データは、サルベージマーカ検出部114に供給される。サルベージマーカ検出部114は、後述するサルベージマーカの検出を行う。サルベージマーカ検出部114は、サルベージマーカを検出した際に、その旨をCPU122に通知する。サルベージマーカ検出部114は、本発明の検出部の一例である。CPU122は、サルベージマーカ検出部114から通知された内容を使用して、後述する先読み成否の判定を行う。なお、本実施の形態では、サルベージマーカ検出部114を備える場合について説明を行うが、サルベージマーカを検出する必要がない場合には、サルベージマーカ検出部114を備えなくてもよい。
【0030】
上述したエラー訂正処理、デインターリーブ処理、デスクランブル処理等が施された再生データは、バッファコントローラ116に供給される。バッファコントローラ116は、供給された再生データをバッファメモリ118に一時的に蓄積する。
【0031】
ホストI/F120は、映像や音声のコーデックなどの処理を行うホスト200側との間で、コマンドの授受、データの授受を行う。ホスト200は、本発明の外部装置の一例である。ホストI/F120は、本発明の受信部の一例である。ホストI/F120は、ホスト200からの読み出しコマンドに基づいて、バッファメモリ118に蓄積されたデータの中から、指定されたデータをホスト200側に送出する。
【0032】
なお、これらのディスクドライブ装置100全体を、マイクロコンピュータなどのCPU122が予めプログラムされた指示に従って制御する。また、CPU122は、ホスト200からの読み出しコマンドを受け取った際に、後述する先読み動作を伴う第1の読み出し処理、第2の読み出し処理、または第3の読み出し処理を実行する。CPU122は、本発明の制御部の一例である。
【0033】
[2.AVディスクフォーマット]
次に、本実施の形態において、対象の一例としている年輪構造を持ったAVディスクフォーマットについて説明する。図2は、本実施の形態において、対象の一例としている年輪構造を持ったAVディスクフォーマットを説明するための説明図である。
【0034】
図2では、1つのクリップ(ファイル)がタイムライン上に示されている。この例では、1つのクリップは、クリップ(ファイル)単位の高解像度メイン映像データ310、複数チャネルの音声データ308や、サルベージマーカ302、低解像度映像データ(プロキシデータ)304およびメタデータ306などのシステムアイテムデータのファイルで構成される。
【0035】
高解像度メイン映像データ310は、ベースバンドの高解像度の映像データを、MPEG2やMPEG4などの圧縮方式を用いて例えば50Mbps程度のビットレートに圧縮符号化した映像データである。また、複数チャネルの音声データ308は、ベースバンドのままの音声データを記録してもよいし、MPEGなどの圧縮をかけたものであってもよい。これら高解像度メイン映像データ310および複数チャネルの音声データ308は、後述する低解像度映像データ(プロキシデータ)304に対して区別するために、本線系のデータとも称される。また、高解像度メイン映像データ310は、メインAVデータである。
【0036】
低解像度映像データ(プロキシデータ)304は、ベースバンドの映像データおよび音声データを、本線系の映像データおよび音声データに対して、例えば、数Mbpsといった具合に、かなりの低ビットレートに圧縮して多重化したものである。圧縮符号化の方式としては、例えば、MPEG4方式が用いられる。この低解像度映像データ(プロキシデータ)304は、低解像度であるためデータ量が少なくて、処理が軽いため、高速サーチ再生や編集作業を行うための本線系のデータの代理(プロキシ)データとして用いられる。また、低解像度映像データ(プロキシデータ)304は、サブAVデータである。
【0037】
システムアイテムとしてのメタデータ306は、あるデータに関する上位データであり、各種データの内容を表すためのインデックスとして機能する。メタデータ306には、上述の本線系の映像データや音声データの時系列に沿って発生されるリアルタイムメタデータなどが含まれる。
【0038】
サルベージマーカ302は、例えば、ディスクとしての光ディスクODに記録されるデータの間に記録されるものである。サルベージマーカ302は、本発明の所定のデータの一例である。例えば、バッテリが取り外される等により電力供給が絶たれ、記録処理が正常に完了しなかった場合、すなわち、光ディスクODに記録されたデータが1つのファイルとしてファイルシステムに登録されなかった場合、電力復旧後において、このサルベージマーカ302を参照して、記録処理が中断されるまでに記録された分のデータの、記録媒体上の記録位置を特定し、それに基づいて、記録処理が中断されるまでに記録された分のデータを含むファイルをファイルシステムに登録する。結果的に、記録処理が正常に完了しなかった場合でも、記録処理が中断されるまでに記録媒体に記録されたデータを再生することが可能となる。
【0039】
1つのクリップは、所定の再生時間(例えば、2秒)を基準として分割され、年輪構造としてディスクとしての光ディスクODに記録される。1つの年輪は、図3に示すように、高解像度メイン映像データ310b、複数チャネルの音声データ308b、低解像度映像データ(プロキシデータ)304bおよびシステムアイテムとしてのメタデータ306bなどを、それぞれ再生時間帯が対応するように、トラック1周分以上のデータサイズを有する所定の再生時間単位に分割し、分割された再生時間単位毎に順に配置して記録する。すなわち、クリップを構成する各データは、年輪構造により所定時間単位でインターリーブされ、例えばディスクとしての光ディスクODに記録される。
【0040】
本実施の形態では、年輪を形成するデータを年輪データと称する。年輪データは、例えばディスクとしての光ディスクODにおける最小の記録単位の整数倍のデータ量とされる。また、年輪は、その境界が例えばディスクとしての光ディスクODの記録単位のクラスタ境界と一致するように記録される。
【0041】
ここでの一塊の年輪の大きさは、例えば同じ2秒分のデータであるとした場合、例えばディスクとしての光ディスクOD上に記録される映像データのフォーマット(圧縮レート)によって決まる。もし、映像データや音声データの圧縮レートが一定(CBR:Constant Bit Rate)のデータであれば、例えばディスクとしての光ディスクOD上の一塊の年輪の大きさは一定であり、ディスクドライブ装置100側で既知である。
【0042】
一方、映像データや音声データの圧縮レートが一定ではない(VBR:Variable Bit Rate)場合は、ファイルシステムを理解するホスト200側から、その情報をディスクドライブ装置100に通知しない限り、ディスクドライブ装置100側では、一塊の年輪の大きさや位置を知ることはできない。
【0043】
図4は、例えばディスクとしての光ディスクOD上に年輪データが形成された様子の一例を示す説明図である。図4において、光ディスクODの内周側から外周側に向けて、1つのクリップが所定の再生時間単位に分割された年輪データ1、年輪データ2、年輪データ3、…が連続的に記録される。すなわち、光ディスクODの内周側から外周側に向けて、再生の時系列が連続するようにデータが配置される。
【0044】
[3.先読み動作]
次に、ディスクドライブ装置100が実行する先読み動作について説明する。
【0045】
ディスクドライブ装置100のホスト200から、ディスクドライブ装置100に発行される読み出しコマンドは、一度に1クリップ(1ファイル)分や、1年輪データ分といったある程度の大きさを持った塊の単位ではなく、もっと小さな、ディスクとしての光ディスクODにとっての1セクタ(例えば、2kByte)、1クラスタ(例えば、64kByte)といった小さな塊の単位である。このため、ディスクドライブ装置100側の動作としては、1コマンドを受け取る毎に、その分量だけのデータを、その都度、ディスクとしての光ディスクODから読み出してホスト200に返していたのでは、パフォーマンスは非常に低いものとなってしまう。
【0046】
そこで、ディスクドライブ装置100では、ホスト200から1つの読み出しコマンドを受け取ったら、次は、その続きの領域の読み出しコマンドが来ることを想定して、いわゆる先読み動作を行う。この先読み動作において、どのように予測し、どれだけの分量をどのタイミングで行うかが、ディスクドライブ装置100の性能を大きく左右する。
【0047】
特に、映像データなどの大きな連続データは、ディスクとしての光ディスクOD上にそのまま連続して記録されている場合が多いため、この先読み動作が大きな効果を発揮する。
【0048】
この先読み動作のストラテジやアルゴリズムについては、様々な方式が考えられるが、一般的には、リードのバッファメモリ118が残っている限り、ホスト200から受け取った読み出しコマンドの続きの領域のデータを読み出し、バッファメモリ118に蓄える。その後、大抵の場合は、そのようにして先読みした領域のデータを読み出す読み出しコマンドが、ホスト200から発行される場合が多いので、ディスクドライブ装置100は、先読み済みのデータをバッファメモリ118からホスト200に転送する。
【0049】
そして、先読み済みのデータをホスト200に転送したことによって、リードのバッファメモリ118に空きができたならば、再度、続きの領域の先読み動作を行う動作を繰り返す。
【0050】
一方、ホスト200から発行された読み出しコマンドで指定された読み出し領域が、先読みしたものと違った場合には、直ちに先読み動作を停止して、先読み済みのバッファメモリ118内のデータを破棄し、ホスト200から指定された領域のデータを読み出す動作を行う。
【0051】
[4.第1の読み出し処理]
次に、本実施の形態におけるディスクドライブ装置100が実行する第1の読み出し処理について説明する。
【0052】
本実施の形態では、図2や図3に示すように、高解像度メイン映像データ310や、複数チャネルの音声データ308、その他の付随データが、上述した年輪と称する一塊のデータ群にまとめた形でディスクとしての光ディスクOD上に記録され、それらをディスクドライブ装置100が読み出す場合を想定する。
【0053】
本実施の形態では、ディスクドライブ装置100は、これらの一塊のデータ群である1年輪データを読み出すことで、例えば、数秒分といったシステムで規定された一定の処理量の映像データや音声データを得ることができる。近年、これらのデータは映像データの高品位化に伴い、膨大なデータ量となり、その全てを読み出してデコードして映像化するとした場合は、大量のデータ処理を必要とする。
【0054】
そのような中、例えば、数時間の全体の映像の中から、ある場面を探し出すために、それらのファイルの中を自由自在に高速サーチ再生するような動作をさせたい場合がある。このために、本線系のデータと同じ内容であって、データ量の少ない低解像度映像データ(プロキシデータ)304を用いることが一般化している。
【0055】
そして、これらの本線系の高解像度メイン映像データ310と、低解像度映像データ(プロキシデータ)304とを、ある一定時間ずつに区切り、ディスクとしての光ディスクOD上に交互に記録するような上述したフォーマットがあるとする。このような光ディスクODを再生して、高速サーチ動作をする場合、このように記録されたデータの中から、低解像度映像データ(プロキシデータ)304のみを読み出す必要がある。
【0056】
ところで、映像データの再生動作を司るホストは、ファイルシステムの内容を理解しているため、ディスクとしての光ディスクOD上のどの領域に低解像度映像データ(プロキシデータ)304が記録されているかを理解している。しかし、そのようなホストと連携処理を行うわけではない形態を取る独立したディスクドライブ装置100の場合は、光ディスクOD上のどの領域をかいつまんで読めば低解像度映像データ(プロキシデータ)304だけを読み出せるのかを把握することができない。
【0057】
しかしながら、そのような状態の中でも、ディスクドライブ装置100は、上述した先読み動作を行うわけだが、高解像度メイン映像データ310と低解像度映像データ(プロキシデータ)304とを区別せずに、ただ単純に、ホスト200からの読み出しコマンドで指定された今現在の領域より、少し先の領域を先読みするような処理をしたのでは、低解像度映像データ(プロキシデータ)304の領域だけを高速に効率よく読み出すことはできない。
【0058】
そこで、本実施の形態では、ディスクドライブ装置100が、後述する第1の読み出し処理、第2の読み出し処理、または第3の読み出し処理を実行することにより、低解像度映像データ(プロキシデータ)304の領域の記録位置を推測して先読みすることにより、先読み効率を向上させることができる。
【0059】
第1の読み出し処理は、映像データのビットレートが一定(CBR:Constant Bit Rate)の場合において、ディスクドライブ装置100により実行される処理である。
【0060】
図5(A)は、ディスクとしての光ディスクOD上に記録される年輪データの構成を説明するための説明図である。図5(B)は、ディスクドライブ装置100の先読み動作において、読みたい対象を説明するための説明図である。
【0061】
図5(A)および図5(B)に示すように、例えば2秒分というような一定時間ごとにデータを区切り、高解像度メイン映像データ310や低解像度映像データ(プロキシデータ)304等をディスクとしての光ディスクOD上に交互に配置して記録した場合、高解像度メイン映像データ310が占める光ディスクOD上のセクタ数と、低解像度映像データ(プロキシデータ)304が占める光ディスクOD上のセクタ数は、基本的には、常に一定となる。
【0062】
図6は、ディスクドライブ装置100の先読み動作において、読みたい対象と実際の読み出しを説明するための説明図である。
【0063】
図6に示すように、読み出しの最初の頃は、先読み動作の予測が外れるものの、何度か同じ間隔で飛び飛びの領域を読み出す読み出しコマンドをホスト200から受け取ることで、ディスクドライブ装置100側において、低解像度映像データ(プロキシデータ)304の領域のみを読み出そうとしていることを推測し、そのような推測によって、過去の読み出しコマンドの読み出しパターンより、光ディスクOD上の高解像度メイン映像データ310と低解像度映像データ(プロキシデータ)304との配置パターンを推測することができる。
【0064】
すなわち、図7に示すように、ディスクドライブ装置100は、高解像度メイン映像データ310のセクタ数Sm(実際には、それ以外のデータを含む)の大きさと、低解像度映像データ(プロキシデータ)304のセクタ数Ssの大きさとを、過去数回のホスト200からの読み出しコマンドから推測することができる。
【0065】
そして、ディスクドライブ装置100は、Smの大きさとSsの大きさとの推測ができた以降は、図8に示すように、Ss分を先読みしたならば、Sm分だけを飛ばしたその先からSs分だけを先読みする動作を行えばよいことになる。
【0066】
図9は、本実施の形態におけるディスクドライブ装置100が実行する第1の読み出し処理のフローチャートである。
【0067】
図9において、まず、ディスクドライブ装置100のCPU122は、ホスト200からホストI/F120を介して読み出しコマンドを受信する(ステップS102)。
【0068】
次いで、ディスクドライブ装置100のCPU122は、ステップS102で受信した読み出しコマンドに基づいて、光学ピックアップ102などを制御して、光ディスクOD上に記録されているデータを読み出す。そして、ディスクドライブ装置100のCPU122は、ホスト200から次は読み出した領域の続きの領域の読み出しコマンドが来ると想定して、通常の先読み動作、すなわちベタ先読み動作のための制御を行う(ステップS104)。
【0069】
次いで、ディスクドライブ装置100のCPU122は、ホスト200からホストI/F120を介して次の読み出しコマンドを受信する(ステップS106)。
【0070】
次いで、ディスクドライブ装置100のCPU122は、ホスト200からの次の読み出しコマンドは連続領域を読み出す読み出しコマンドであるか否かを判別する(ステップS108)。
【0071】
ステップS108の判別の結果、ホスト200からの次の読み出しコマンドが連続領域を読み出す読み出しコマンドであるときは(ステップS108でYES)、ステップS104の処理と同様の処理を行う。
【0072】
ステップS108の判別の結果、ホスト200からの次の読み出しコマンドが連続領域を読み出す読み出しコマンドでないときは(ステップS108でNO)、ディスクドライブ装置100のCPU122は、前の読み出しコマンドと次の読み出しコマンドとに基づいて、上述した高解像度メイン映像データ310のセクタ数Sm(実際には、それ以外のデータを含む)の大きさと、低解像度映像データ(プロキシデータ)304のセクタ数Ssの大きさとを算出する(ステップS110)。
【0073】
次いで、ディスクドライブ装置100のCPU122は、ステップS110で算出したSmの大きさとSsの大きさとに基づく飛び飛びの先読み動作のための制御を行う(ステップS112)。
【0074】
次いで、ディスクドライブ装置100のCPU122は、ホスト200からホストI/F120を介して次の読み出しコマンドを受信する(ステップS114)。
【0075】
次いで、ディスクドライブ装置100のCPU122は、ホスト200からの次の読み出しコマンドは非連続領域を読み出す読み出しコマンドであるか否かを判別する(ステップS116)。
【0076】
ステップS116の判別の結果、ホスト200からの次の読み出しコマンドが非連続領域を読み出す読み出しコマンドであるときは(ステップS116でYES)、ステップS112の処理と同様の処理を行う。
【0077】
ステップS116の判別の結果、ホスト200からの次の読み出しコマンドが非連続領域を読み出す読み出しコマンドでないときは(ステップS116でNO)、ステップS104の処理と同様の処理を行う。
【0078】
図9の第1の読み出し処理によれば、低解像度映像データ(プロキシデータ)304のみを効率的に読み出すことができる。
【0079】
[5.第2の読み出し処理]
次に、本実施の形態におけるディスクドライブ装置100が実行する第2の読み出し処理について説明する。
【0080】
第2の読み出し処理は、映像データのビットレートが一定ではなく可変(VBR:Variable Bit Rate)の場合において、ディスクドライブ装置100により実行される処理である。
【0081】
図10(A)は、ディスクとしての光ディスクOD上に記録される年輪データの構成を説明するための説明図である。図10(B)は、ディスクドライブ装置100の先読み動作において、読みたい対象を説明するための説明図である。
【0082】
図10(A)および図10(B)に示すように、例えば2秒分というような一定時間ごとにデータを区切り、高解像度メイン映像データ310や低解像度映像データ(プロキシデータ)304等をディスクとしての光ディスクOD上に交互に配置して記録した場合、高解像度メイン映像データ310が占める光ディスクOD上のセクタ数と、低解像度映像データ(プロキシデータ)304が占める光ディスクOD上のセクタ数は、基本的には、一定とならない。
【0083】
そのため、上述した映像データのビットレートが一定(CBR)の時のように、単純に高解像度メイン映像データ310のセクタ数Smの大きさと、低解像度映像データ(プロキシデータ)310のセクタ数Ssの大きさとを、過去数回のホスト200からの読み出しコマンドから推測することはできない。
【0084】
しかし、ビットレートが可変とは言え、映像データの性質上、時間的に近い映像であれば、一般的には同じようなシーンを同じような圧縮で処理している場合が比較的多く、被写体の動きや、カメラワーク、シーンの変更などに伴い、多少のゆらぎはあるものの、圧縮後のデータ量は比較的近いものとなる。なお、ここでは、高解像度メイン映像データ310のビットレートのみが可変(VBR)で、低解像度映像データ(プロキシデータ)304のビットレートは一定(CBR)で運用するシステムについて説明することとする。
【0085】
このように、高解像度メイン映像データ310のビットレートが可変(VBR)の場合、ディスクドライブ装置100において、高解像度メイン映像データ310のセクタ数Smの大きさを正確に推測することはできないが、できるだけ近い値を推測することは可能である。すなわち、図11に示すように、過去の読み出しコマンドに基づいて、高解像度メイン映像データ310のセクタ数Smの大きさを統計的に算出することで、ある程度の推測が可能である。
【0086】
具体的には、非連続領域の読み出しコマンドから、高解像度メイン映像データ310のセクタ数Smの大きさを算出する。すなわち、読み飛ばされた非連続なセクタの開始位置と終了位置の間のセクタ数が、高解像度メイン映像データ310の占めるセクタ数である。このようにして、過去の直近n回のSm(n)を算出する。そして、現在に近いほど大きな値となる重み係数k(n)をかけた値、すなわちSSm(n)=Sm(n)×k(n)を算出する。
このようにして算出したSSm(n)から、平均値μと標準偏差σを算出する。そして、読み飛ばすためのSmの大きさとしては、余計に読み飛ばしすぎないようにするために負の方向にマージンを持たせ、Sm=μ−jσとする。
【0087】
なお、ここでのjは、安全係数であり、システムの圧縮アルゴリズムなどに応じて調整する。すなわち、比較的バラツキが大きいシステムでは大きくし、バラツキが小さいシステムでは小さくする。また、発展としては、Smの推測量の当たり具合に応じてフィードバックをかけて、リアルタイムに安全係数jを増減しながら調整してもよい。
【0088】
上述した推測ができた以降は、図12に示すように、ディスクドライブ装置100は、Ss分を先読みしたならば、統計的に算出したSm分だけを飛ばしたその先からSs分だけを先読みする動作を行う。
【0089】
ただし、マージン分を含めた先読みを行うのがよいため、図13(A)に示すように、先読みを行って読み出したデータの中には、純粋に低解像度映像データ(プロキシデータ)304の領域のみではなく、その前後に多少の余分なデータを含むことになる。この場合、図13(B)に示すように、ホスト200からの読み出しコマンドの内容に従って、要求されたデータのみをリードのバッファメモリ118内から読み出してホスト200に転送し、その転送が済んだならば、その転送したデータの前後のマージン分のデータもいっしょに破棄する。
【0090】
さらには、図14に示すように、先読みによって読み取る範囲のマージンが足りなくて、先読みを行っていなかった領域のデータに対する読み出しコマンドがホスト200から発行された場合は、先読み動作を中断して、少し戻って読み足し動作を行う。
【0091】
図15は、本実施の形態におけるディスクドライブ装置100が実行する第2の読み出し処理のフローチャートである。
【0092】
図15において、まず、ディスクドライブ装置100のCPU122は、ホスト200からホストI/F120を介して読み出しコマンドを受信する(ステップS202)。
【0093】
次いで、ディスクドライブ装置100のCPU122は、ステップS202で受信した読み出しコマンドに基づいて、光学ピックアップ102などを制御して、光ディスクOD上に記録されているデータを読み出す。そして、ディスクドライブ装置100のCPU122は、ホスト200から次は読み出した領域の続きの領域の読み出しコマンドが来ると想定して、通常の先読み動作、すなわちベタ先読み動作のための制御を行う(ステップS204)。
【0094】
次いで、ディスクドライブ装置100のCPU122は、ホスト200からホストI/F120を介して次の読み出しコマンドを受信する(ステップS206)。
【0095】
次いで、ディスクドライブ装置100のCPU122は、ホスト200からの次の読み出しコマンドは連続領域を読み出す読み出しコマンドであるか否かを判別する(ステップS208)。
【0096】
ステップS208の判別の結果、ホスト200からの次の読み出しコマンドが連続領域を読み出す読み出しコマンドであるときは(ステップS208でYES)、ステップS204の処理と同様の処理を行う。
【0097】
ステップS208の判別の結果、ホスト200からの次の読み出しコマンドが連続領域を読み出す読み出しコマンドでないときは(ステップS208でNO)、ディスクドライブ装置100のCPU122は、上述した統計処理によって、上述した高解像度メイン映像データ310のセクタ数Sm(実際には、それ以外のデータを含む)の大きさと、低解像度映像データ(プロキシデータ)304のセクタ数Ssの大きさとの予測を行う(ステップS210)。
【0098】
次いで、ディスクドライブ装置100のCPU122は、ステップS210で予測したSmの大きさとSsの大きさとに基づく飛び飛びの先読み動作のための制御を行う(ステップS212)。
【0099】
次いで、ディスクドライブ装置100のCPU122は、ステップS212での先読み動作によって読み出されたデータが、ホスト200から来る次の読み出しコマンドで要求された領域のデータに合致しているか否かを判別する(ステップS214)。
【0100】
ステップS214の判別の結果、先読み動作によって読み出されたデータが、ホスト200からの読み出しコマンドで要求された領域のデータに合致しているときは(ステップS214でYES)、続くステップS218の処理に進む。
【0101】
ステップS214の判別の結果、先読み動作によって読み出されたデータが、ホスト200からの読み出しコマンドで要求された領域のデータに合致していないときは(ステップS214でNO)、ディスクドライブ装置100のCPU122は、ホスト200からの読み出しコマンドに基づいて、補正分の読み出し動作のための制御を行う(ステップS216)。
【0102】
続くステップS218では、ディスクドライブ装置100のCPU122は、ホスト200からホストI/F120を介して次の読み出しコマンドを受信する(ステップS218)。
【0103】
次いで、ディスクドライブ装置100のCPU122は、ホスト200からの次の読み出しコマンドは非連続領域を読み出す読み出しコマンドであるか否かを判別する(ステップS220)。
【0104】
ステップS220の判別の結果、ホスト200からの次の読み出しコマンドが非連続領域を読み出す読み出しコマンドであるときは(ステップS220でYES)、ステップS210の処理と同様の処理を行う。
【0105】
ステップS220の判別の結果、ホスト200からの次の読み出しコマンドが非連続領域を読み出す読み出しコマンドでないときは(ステップS220でNO)、ステップS204の処理と同様の処理を行う。
【0106】
図15の第2の読み出し処理によれば、映像データのビットレートが一定ではなく可変(VBR)の場合においても、低解像度映像データ(プロキシデータ)304を効率的に読み出すことができる。
【0107】
[6.第3の読み出し処理]
次に、本実施の形態におけるディスクドライブ装置100が実行する第3の読み出し処理について説明する。
【0108】
ところで、本実施の形態において、対象の一例としているAVディスクフォーマットでは、上述した図2および図3などに示すように、年輪データと称される数秒分のデータの塊の中には、サルベージマーカ302と称される特殊な目印のデータが記録される。このサルベージマーカ302は、ディスクとしての光ディスクOD上では、ちょうど低解像度映像データ(プロキシデータ)304の直前に位置する。すなわち、低解像度映像データ(プロキシデータ)304が読み取られるときに、必ずその直前には、このサルベージマーカ302が読み取られることになる。
【0109】
そこで、上述した図1における、ディスクドライブ装置100のサルベージマーカ検出部114によって、ディスクドライブ装置100の中で、光ディスクODから先読みしたデータの中身を逐次確認し、サルベージマーカ302の存在を検出したならば、次のクラスタが、読み取る対象としての低解像度映像データ(プロキシデータ)304の開始位置となり、そこから固定長のSs分の領域のデータを読み出せば、より正確に低解像度映像データ(プロキシデータ)304を読み出すことが可能である。
【0110】
実際には、図16に示すように、不要なデータとなる可能性を持った、マージン分を加えた領域の読み出しのみを行う。そして、読み出し中に、読み取る対象としての低解像度映像データ(プロキシデータ)304の開始位置を、サルベージマーカ302の位置を検出することによって把握することができると、後半の不要なマージン分の読み取りを省略することができる。
【0111】
また、前後のマージンを含めて予測した位置を読み出したのに、読み出したデータの中に、このサルベージマーカ302を検出することができなかった場合には、図17に示すように、前半のマージンが不足していて、実際の低解像度映像データ(プロキシデータ)304を先頭から読み出せておらず、低解像度映像データ(プロキシデータ)304の頭のデータが欠落していることになる。
【0112】
上述したように、読み出し位置の予測の正当性を、読み出し中に、より早く判断することで、無駄なマージンの読み出しを省略したり、迅速にデータの欠落分の読み取りを行うことが可能となり、先読み効率を向上させることができる。さらには、Smの推測における安全係数jの値にこの結果を反映させることで、さらに精度の高いSmの予測も可能となる。
【0113】
図18は、本実施の形態におけるディスクドライブ装置100が実行する第3の読み出し処理のフローチャートである。
【0114】
図18において、まず、ディスクドライブ装置100のCPU122は、ホスト200からホストI/F120を介して読み出しコマンドを受信する(ステップS302)。
【0115】
次いで、ディスクドライブ装置100のCPU122は、ステップS302で受信した読み出しコマンドに基づいて、光学ピックアップ102などを制御して、光ディスクOD上に記録されているデータを読み出す。そして、ディスクドライブ装置100のCPU122は、ホスト200から次は読み出した領域の続きの領域の読み出しコマンドが来ると想定して、通常の先読み動作、すなわちベタ先読み動作のための制御を行う(ステップS304)。
【0116】
次いで、ディスクドライブ装置100のCPU122は、ホスト200からホストI/F120を介して次の読み出しコマンドを受信する(ステップS306)。
【0117】
次いで、ディスクドライブ装置100のCPU122は、ホスト200からの次の読み出しコマンドは連続領域を読み出す読み出しコマンドであるか否かを判別する(ステップS308)。
【0118】
ステップS308の判別の結果、ホスト200からの次の読み出しコマンドが連続領域を読み出す読み出しコマンドであるときは(ステップS308でYES)、ステップS304の処理と同様の処理を行う。
【0119】
ステップS308の判別の結果、ホスト200からの次の読み出しコマンドが連続領域を読み出す読み出しコマンドでないときは(ステップS308でNO)、ディスクドライブ装置100のCPU122は、上述した統計処理によって、上述した高解像度メイン映像データ310のセクタ数Sm(実際には、それ以外のデータを含む)の大きさと、低解像度映像データ(プロキシデータ)304のセクタ数Ssの大きさとの予測を行う(ステップS310)。
【0120】
次いで、ディスクドライブ装置100のCPU122は、ステップS310で予測したSmの大きさとSsの大きさとに基づく飛び飛びの先読み動作のための制御を行う(ステップS312)。
【0121】
次いで、ディスクドライブ装置100のCPU122は、サルベージマーカ検出部114がサルベージマーカ302を検出したか否かを判別する(ステップS314)。
【0122】
ステップS314の判別の結果、サルベージマーカ検出部114がサルベージマーカ302を検出しないときは(ステップS314でNO)、ディスクドライブ装置100のCPU122は、少し戻って再読み出しを行う再読み出し動作のための制御を行って(ステップS316)、ステップS314の処理に戻る。
【0123】
ステップS314の判別の結果、サルベージマーカ検出部114がサルベージマーカ302を検出したときは(ステップS314でYES)、ディスクドライブ装置100のCPU122は、固定したSsの長さ分だけの先読み動作のための制御を行う(ステップS318)。
【0124】
次いで、ディスクドライブ装置100のCPU122は、ホスト200からホストI/F120を介して次の読み出しコマンドを受信する(ステップS320)。
【0125】
次いで、ディスクドライブ装置100のCPU122は、ホスト200からの次の読み出しコマンドは非連続領域を読み出す読み出しコマンドであるか否かを判別する(ステップS322)。
【0126】
ステップS322の判別の結果、ホスト200からの次の読み出しコマンドが非連続領域を読み出す読み出しコマンドであるときは(ステップS322でYES)、ステップS310の処理と同様の処理を行う。
【0127】
ステップS322の判別の結果、ホスト200からの次の読み出しコマンドが非連続領域を読み出す読み出しコマンドでないときは(ステップS322でNO)、ステップS304の処理と同様の処理を行う。
【0128】
図18の第3の読み出し処理によれば、先読みしたデータにおいて、サルベージマーカ302を検出することにより、低解像度映像データ(プロキシデータ)304を効率的に読み出すことができる。
【0129】
以上、第1の読み出し処理、第2の読み出し処理、第3の読み出し処理と順を追って説明を行ってきたが、ディスクドライブ装置100は、映像データのビットレートが一定(CBR:Constant Bit Rate)の場合において、第2の読み出し処理を実行してもよく、この場合は、上述した統計処理において、標準偏差が0となる。また、ディスクドライブ装置100は、第1の読み出し処理において、サルベージマーカ302の検出を行ってもよい。
【0130】
すなわち、ディスクドライブ装置100は、第3の読み出し処理を実行することにより、CBRとVBRとを区別することなく、効率的な低解像度映像データ(プロキシデータ)304の先読み動作が可能である。
【0131】
本実施の形態によれば、ビデオシステムの中のストレージデバイスとしてのディスクドライブ装置100において、ディスクとしての光ディスクODに記録されている映像データが可変(VBR)圧縮されたものであっても、精度のよい先読み動作を可能とし、シーンサーチや編集等に用いるために、独立したサブファイルとして別ストリームで分散記憶されている低解像度映像データ(プロキシデータ)304を効率よく読み出すことが可能となり、操作性および生産性を向上させることが可能である。
【0132】
また、本発明の目的は、上述した実施の形態の機能を実現するソフトウェアのプログラムコードを記憶した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU等)が記憶媒体に格納されたプログラムコードを読み出し実行することによっても達成される。
【0133】
この場合、記憶媒体から読み出されたプログラムコード自体が上述した実施の形態の機能を実現することになり、そのプログラムコードおよび該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0134】
また、プログラムコードを供給するための記憶媒体としては、例えば、フロッピー(登録商標)ディスク、ハードディスク、光磁気ディスク、CD−ROM、CD−R、CD−RW、DVD−ROM、DVD−RAM、DVD−RW、DVD+RW等の光ディスク、磁気テープ、不揮発性のメモリカード、ROM等を用いることができる。または、プログラムコードをネットワークを介してダウンロードしてもよい。
【0135】
また、コンピュータが読み出したプログラムコードを実行することにより、上述した実施の形態の機能が実現されるだけではなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって上述した実施の形態の機能が実現される場合も含まれる。
【0136】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その拡張機能を拡張ボードや拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって上述した実施の形態の機能が実現される場合も含まれる。
【0137】
以上、添付図面を参照しながら本発明の好適な実施の形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。
【符号の説明】
【0138】
OD 光ディスク
100 ディスクドライブ装置
102 光学ピックアップ
104 スピンドルモータ
106 サーボ制御部
108 RFアンプ
110 記録復号部
112 エラー訂正部
114 サルベージマーカ検出部
116 バッファコントローラ
118 バッファメモリ
120 ホストI/F
122 CPU
200 ホスト
【技術分野】
【0001】
本発明は、データ読み出し装置、データ読み出し方法およびプログラムに関する。
【背景技術】
【0002】
従来、ディスクにデータを書き込んだり、ディスクに書き込まれているデータを読み出したりするディスクドライブ装置の開発が活発に行われている。
【0003】
ディスクドライブ装置のホストから、ディスクドライブ装置に発行される読み出しコマンドは、一度に1クリップ(1ファイル)分や、1年輪データ分といったある程度の大きさを持った塊の単位ではなく、もっと小さな、ディスクにとっての1セクタ(例えば、2kByte)、1クラスタ(例えば、64kByte)といった小さな塊の単位である。このため、ディスクドライブ装置側の動作としては、1コマンドを受け取る毎に、その分量だけのデータを、その都度、ディスクから読み出してホストに返していたのでは、パフォーマンスは非常に低いものとなってしまう。
【0004】
そこで、通常のディスクドライブ装置では、ホストから1つの読み出しコマンドを受け取ったら、次は、その続きの領域の読み出しコマンドが来ることを想定して、いわゆる先読み動作を行う。この先読み動作において、どのように予測し、どれだけの分量をどのタイミングで行うかが、ディスクドライブ装置の性能を大きく左右する。
【0005】
例えば、特許文献1では、ディスク上のデータ配置の規則性が薄いフォーマットで記録されたディスクを、ランダムアクセスする際に先読み効率を向上させる手段として、過去に、一度読み出しを行った場所と、その後のアクセスパターンを記憶しておき、次に同じ場所を再アクセスした場合には、前回と同じ場所を先読みする方法が示されている。また、例えば、特許文献2では、ビデオデータの先読み動作に関する技術が示されている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開平09−185462号公報
【特許文献2】特開2001−285805号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
ところで、本線系のメインAV(Audio Visual)データと、シーンサーチや編集などの用途の低解像度のサブAVデータ(例えば、プロキシデータ)とが、それぞれ独立したファイルとしてディスク上に分散記憶されているフォーマットにおいては、シーンサーチなどの特殊再生において、ディスクドライブ装置がディスク上の全てのデータの単純な先読み動作を行ったのでは、低解像度のサブAVデータ(プロキシデータ)だけを読み出すことができずに、それ以外の領域の無駄な読み出しを伴ってしまうことにより、高速なサーチ再生ができないという問題があった。
【0008】
また、ビデオ処理系とディスクドライブ装置の制御が一体化したシステムでは、どの部分に低解像度のデータが記録されているかをシステムが理解しているため、その情報に基づいた効率の良い先読み動作が可能である。しかし、汎用PC(Personal Computer)などがビデオ処理を制御し、そのPCからの読み出しコマンドのみに基づいて、ディスクドライブ装置が独立した動作を行うようなシステム構成をとる場合は、ディスクドライブ装置は単純な先読み動作しか行えずに、高速なサーチ再生においては支障をきたすという問題があった。
【0009】
上述した特許文献1の技術は、過去に、一度読み出しを行った場所と、その後のアクセスパターンを記憶しておき、次に同じ場所を再アクセスした場合には、前回と同じ場所を先読みする方法であるため、新規に読み出す領域の先読みには対応できない。また、上述した特許文献2の技術は、1種類のAVデータのみが固定ビットレート(CBR:Constant Bit Rate)で記録されたもののみを対象とし、さらには、それらのデータ自体を間引きしながら読み出すことを想定した技術であり、2種類以上のAVデータや、可変ビットレート(VBR:Variable Bit Rate)で記録したものには対応できない。
【0010】
そこで、本発明は、上記問題に鑑みてなされたものであり、本発明の目的とするところは、先読み動作において、メインAVデータやサブAVデータなどといった独立した複数のデータが混在・点在して記録されたフォーマットの中から、所望のデータのみを効率的に読み出すことが可能な、新規かつ改良されたデータ読み出し装置、データ読み出し方法およびプログラムを提供することにある。
【課題を解決するための手段】
【0011】
上記課題を解決するために、本発明のある観点によれば、記録装置に記録されているデータを読み出す読み出し部と、外部装置から発行された、前記記録装置に記録されているデータの読み出しコマンドを受信する受信部と、前記受信部が受信した前記読み出しコマンドに基づいて、前記外部装置により要求された、前記記録装置に記録されているデータを読み出すように前記読み出し部を制御するとともに、それ以降に前記外部装置から発行される読み出しコマンドを予測して、当該予測された読み出しコマンドに基づいて、前記外部装置により要求されると予測された、前記記録装置に記録されているデータを先読みするように前記読み出し部を制御する制御部とを備え、前記制御部は、それ以降に前記外部装置から発行される読み出しコマンドの予測において、それ以前に前記外部装置から発行された読み出しコマンドに基づいて算出された、読み出す対象のデータの領域の大きさと、読み飛ばすデータの領域の大きさとを用いた統計処理により、次に読み飛ばすデータの領域の大きさを予測するデータ読み出し装置が提供される。
【0012】
前記制御部の制御によって前記読み出し部により先読みされたデータの中に、前記記録装置の記録領域において前記読み出す対象のデータの直前に記録されている所定のデータが含まれているか否かを検出する検出部を備え、前記制御部は、前記検出部による検出結果に基づいて、前記読み出し部による先読みを制御してもよい。
【0013】
前記制御部は、前記検出部により、前記先読みされたデータの中に、前記所定のデータが含まれていると検出された場合は、前記所定のデータの直後に記録されている前記読み出す対象のデータの領域の分だけ読み出すように、前記読み出し部による先読みを制御してもよい。
【0014】
前記制御部は、前記検出部により、前記先読みされたデータの中に、前記所定のデータが含まれていないと検出された場合は、前記所定のデータが検出されるまで、それ以前に先読みされたデータの前の領域のデータを読み出すように、前記読み出し部による先読みを制御してもよい。
【0015】
前記読み出す対象のデータは、低解像度の映像データであってもよい。
【0016】
また、上記課題を解決するために、本発明の別の観点によれば、外部装置から発行された、記録装置に記録されているデータの読み出しコマンドを受信する受信ステップと、前記受信ステップで受信した前記読み出しコマンドに基づいて、前記外部装置により要求された、前記記録装置に記録されているデータを読み出すように、前記記録装置に記録されているデータを読み出す読み出し部を制御するとともに、それ以降に前記外部装置から発行される読み出しコマンドを予測して、当該予測された読み出しコマンドに基づいて、前記外部装置により要求されると予測された、前記記録装置に記録されているデータを先読みするように前記読み出し部を制御する制御ステップとを有し、前記制御ステップでは、それ以降に前記外部装置から発行される読み出しコマンドの予測において、それ以前に前記外部装置から発行された読み出しコマンドに基づいて算出された、読み出す対象のデータの領域の大きさと、読み飛ばすデータの領域の大きさとを用いた統計処理により、次に読み飛ばすデータの領域の大きさを予測するデータ読み出し方法が提供される。
【0017】
また、上記課題を解決するために、本発明の別の観点によれば、コンピュータに、外部装置から発行された、記録装置に記録されているデータの読み出しコマンドを受信する受信ステップと、前記受信ステップで受信した前記読み出しコマンドに基づいて、前記外部装置により要求された、前記記録装置に記録されているデータを読み出すように、前記記録装置に記録されているデータを読み出す読み出し部を制御するとともに、それ以降に前記外部装置から発行される読み出しコマンドを予測して、当該予測された読み出しコマンドに基づいて、前記外部装置により要求されると予測された、前記記録装置に記録されているデータを先読みするように前記読み出し部を制御する制御ステップとを実行させるためのプログラムであって、前記制御ステップでは、それ以降に前記外部装置から発行される読み出しコマンドの予測において、それ以前に前記外部装置から発行された読み出しコマンドに基づいて算出された、読み出す対象のデータの領域の大きさと、読み飛ばすデータの領域の大きさとを用いた統計処理により、次に読み飛ばすデータの領域の大きさを予測するプログラムが提供される。
【発明の効果】
【0018】
以上説明したように本発明によれば、先読み動作において、メインAVデータやサブAVデータなどといった独立した複数のデータが混在・点在して記録されたフォーマットの中から、所望のデータのみを効率的に読み出すことができる。
【図面の簡単な説明】
【0019】
【図1】本発明の実施の形態に係るデータ読み出し装置としてのディスクドライブ装置の構成を概略的に示すブロック図である。
【図2】本発明の実施の形態において、対象の一例としている年輪構造を持ったAVディスクフォーマットを説明するための説明図である。
【図3】例えばディスクとしての光ディスク上に形成された年輪データの一例を示す説明図である。
【図4】例えばディスクとしての光ディスク上に年輪データが形成された様子の一例を示す説明図である。
【図5】(A)は、ディスクとしての光ディスク上に記録される年輪データの構成を説明するための説明図であり、(B)は、ディスクドライブ装置の先読み動作において、読みたい対象を説明するための説明図である。
【図6】ディスクドライブ装置の先読み動作において、読みたい対象と実際の読み出しを説明するための説明図である。
【図7】高解像度メイン映像データのセクタ数Sm(実際には、それ以外のデータを含む)の大きさと、低解像度映像データ(プロキシデータ)のセクタ数Ssの大きさとを説明するための説明図である。
【図8】ディスクドライブ装置の実際の読み出し動作を説明するための説明図である。
【図9】本実施の形態におけるディスクドライブ装置が実行する第1の読み出し処理のフローチャートである。
【図10】(A)は、ディスクとしての光ディスク上に記録される年輪データの構成を説明するための説明図であり、(B)は、ディスクドライブ装置の先読み動作において、読みたい対象を説明するための説明図である。
【図11】高解像度メイン映像データのセクタ数Smの大きさを統計的に算出する手法を説明するための説明図である。
【図12】ディスクドライブ装置の実際の読み出し動作を説明するための説明図である。
【図13】(A)は、低解像度映像データ(プロキシデータ)を読み取るために実際に読み取る範囲を説明するための説明図であり、(B)は、リードのバッファメモリに一時的に記録されたデータを説明するための説明図である。
【図14】先読みによって読み取る範囲のマージンが足りない場合を説明するための説明図である。
【図15】本発明の実施の形態におけるディスクドライブ装置が実行する第2の読み出し処理のフローチャートである。
【図16】サルベージマーカの検出によって、後半の不要なマージン分の読み取りを省略する場合を説明するための説明図である。
【図17】先読み動作において、前半のマージンが不足している場合を説明するための説明図である。
【図18】本発明の実施の形態におけるディスクドライブ装置が実行する第3の読み出し処理のフローチャートである。
【発明を実施するための形態】
【0020】
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【0021】
なお、説明は以下の順序で行うものとする。
1.ディスクドライブ装置の構成
2.AVディスクフォーマット
3.先読み動作
4.第1の読み出し処理
5.第2の読み出し処理
6.第3の読み出し処理
【0022】
[1.ディスクドライブ装置の構成]
まず、本発明の実施の形態に係るデータ読み出し装置としてのディスクドライブ装置について説明する。図1は、本実施の形態に係るデータ読み出し装置としてのディスクドライブ装置の構成を概略的に示すブロック図である。本発明は再生動作に関するものであるため、ディスクドライブ装置が再生装置として構成される場合について説明を行うが、通常のディスクドライブ装置は、記録および再生の両機能を備えるものが一般的である。また、以下では、ディスクドライブ装置がディスクとしての光ディスク上に記録されているデータを読み出す場合について説明を行うが、光ディスクに限らず、ハードディスクなどのデータを記録可能な記録装置からデータを読み出す場合においても本発明は適用可能である。
【0023】
図1において、ディスクドライブ装置100は、光学ピックアップ102と、スピンドルモータ104と、サーボ制御部106と、RF(Radio Frequency)アンプ108と、記録復号部110と、エラー訂正部112と、サルベージマーカ検出部114と、バッファコントローラ116と、バッファメモリ118と、ホストI/F120と、CPU122とを備える。
【0024】
光学ピックアップ102は、例えば、ディスクとしての光ディスクODからの反射光を光電変換して電流信号を生成し、RFアンプ108に供給する。光ディスクODは、本発明の記録装置の一例である。光学ピックアップ102は、本発明の読み出し部の一例である。RFアンプ108は、光学ピックアップ102からの電流信号に基づいて、フォーカス誤差信号およびトラッキング誤差信号、ならびに再生信号を生成し、フォーカス誤差信号およびトラッキング誤差信号をサーボ制御部106に供給する。
【0025】
光学ピックアップ102のレーザ光の照射位置は、サーボ制御部106から光学ピックアップ102に供給されるサーボ信号により所定の位置に制御される。すなわち、サーボ制御部106は、フォーカスサーボ動作やトラッキングサーボ動作の制御を行う。具体的には、サーボ制御部106は、RFアンプ108からのフォーカス誤差信号およびトラッキング誤差信号に基づいて、フォーカスサーボ信号とトラッキングサーボ信号とをそれぞれ生成し、光学ピックアップ102のアクチュエータ(図示しない)に供給する。
【0026】
また、サーボ制御部106は、スピンドルモータ104を駆動するためのスピンドルモータ駆動信号を生成して、光ディスクODを所定の回転速度で回転させるスピンドルサーボ動作の制御を行う。さらに、サーボ制御部106は、光学ピックアップ102などを光ディスクODの径方向に移動させてレーザ光の照射位置を変えるスレッド制御を行う。
【0027】
また、RFアンプ108は、再生信号を記録復号部110に供給する。記録復号部110では、RFアンプ108から供給された再生信号を元に、PLL(Phase Locked Loop)等を用いて再生クロックを生成するとともに、再生信号を復号して再生データを生成し、アドレス情報を含む、ディスクとしての光ディスクODに記録されたデータを復元する。
【0028】
ここで記録復号された再生データは、エラー訂正部112に供給されて、例えば、リードソロモン積符号などの記録時に行った所定の方式に従って、エラー訂正処理を行う。また、エラー訂正部112は、併せて、同様に、記録時に行った所定の方式に従って、デインターリーブ処理やデスクランブル処理等も行う。
【0029】
エラー訂正部112により処理された再生データは、サルベージマーカ検出部114に供給される。サルベージマーカ検出部114は、後述するサルベージマーカの検出を行う。サルベージマーカ検出部114は、サルベージマーカを検出した際に、その旨をCPU122に通知する。サルベージマーカ検出部114は、本発明の検出部の一例である。CPU122は、サルベージマーカ検出部114から通知された内容を使用して、後述する先読み成否の判定を行う。なお、本実施の形態では、サルベージマーカ検出部114を備える場合について説明を行うが、サルベージマーカを検出する必要がない場合には、サルベージマーカ検出部114を備えなくてもよい。
【0030】
上述したエラー訂正処理、デインターリーブ処理、デスクランブル処理等が施された再生データは、バッファコントローラ116に供給される。バッファコントローラ116は、供給された再生データをバッファメモリ118に一時的に蓄積する。
【0031】
ホストI/F120は、映像や音声のコーデックなどの処理を行うホスト200側との間で、コマンドの授受、データの授受を行う。ホスト200は、本発明の外部装置の一例である。ホストI/F120は、本発明の受信部の一例である。ホストI/F120は、ホスト200からの読み出しコマンドに基づいて、バッファメモリ118に蓄積されたデータの中から、指定されたデータをホスト200側に送出する。
【0032】
なお、これらのディスクドライブ装置100全体を、マイクロコンピュータなどのCPU122が予めプログラムされた指示に従って制御する。また、CPU122は、ホスト200からの読み出しコマンドを受け取った際に、後述する先読み動作を伴う第1の読み出し処理、第2の読み出し処理、または第3の読み出し処理を実行する。CPU122は、本発明の制御部の一例である。
【0033】
[2.AVディスクフォーマット]
次に、本実施の形態において、対象の一例としている年輪構造を持ったAVディスクフォーマットについて説明する。図2は、本実施の形態において、対象の一例としている年輪構造を持ったAVディスクフォーマットを説明するための説明図である。
【0034】
図2では、1つのクリップ(ファイル)がタイムライン上に示されている。この例では、1つのクリップは、クリップ(ファイル)単位の高解像度メイン映像データ310、複数チャネルの音声データ308や、サルベージマーカ302、低解像度映像データ(プロキシデータ)304およびメタデータ306などのシステムアイテムデータのファイルで構成される。
【0035】
高解像度メイン映像データ310は、ベースバンドの高解像度の映像データを、MPEG2やMPEG4などの圧縮方式を用いて例えば50Mbps程度のビットレートに圧縮符号化した映像データである。また、複数チャネルの音声データ308は、ベースバンドのままの音声データを記録してもよいし、MPEGなどの圧縮をかけたものであってもよい。これら高解像度メイン映像データ310および複数チャネルの音声データ308は、後述する低解像度映像データ(プロキシデータ)304に対して区別するために、本線系のデータとも称される。また、高解像度メイン映像データ310は、メインAVデータである。
【0036】
低解像度映像データ(プロキシデータ)304は、ベースバンドの映像データおよび音声データを、本線系の映像データおよび音声データに対して、例えば、数Mbpsといった具合に、かなりの低ビットレートに圧縮して多重化したものである。圧縮符号化の方式としては、例えば、MPEG4方式が用いられる。この低解像度映像データ(プロキシデータ)304は、低解像度であるためデータ量が少なくて、処理が軽いため、高速サーチ再生や編集作業を行うための本線系のデータの代理(プロキシ)データとして用いられる。また、低解像度映像データ(プロキシデータ)304は、サブAVデータである。
【0037】
システムアイテムとしてのメタデータ306は、あるデータに関する上位データであり、各種データの内容を表すためのインデックスとして機能する。メタデータ306には、上述の本線系の映像データや音声データの時系列に沿って発生されるリアルタイムメタデータなどが含まれる。
【0038】
サルベージマーカ302は、例えば、ディスクとしての光ディスクODに記録されるデータの間に記録されるものである。サルベージマーカ302は、本発明の所定のデータの一例である。例えば、バッテリが取り外される等により電力供給が絶たれ、記録処理が正常に完了しなかった場合、すなわち、光ディスクODに記録されたデータが1つのファイルとしてファイルシステムに登録されなかった場合、電力復旧後において、このサルベージマーカ302を参照して、記録処理が中断されるまでに記録された分のデータの、記録媒体上の記録位置を特定し、それに基づいて、記録処理が中断されるまでに記録された分のデータを含むファイルをファイルシステムに登録する。結果的に、記録処理が正常に完了しなかった場合でも、記録処理が中断されるまでに記録媒体に記録されたデータを再生することが可能となる。
【0039】
1つのクリップは、所定の再生時間(例えば、2秒)を基準として分割され、年輪構造としてディスクとしての光ディスクODに記録される。1つの年輪は、図3に示すように、高解像度メイン映像データ310b、複数チャネルの音声データ308b、低解像度映像データ(プロキシデータ)304bおよびシステムアイテムとしてのメタデータ306bなどを、それぞれ再生時間帯が対応するように、トラック1周分以上のデータサイズを有する所定の再生時間単位に分割し、分割された再生時間単位毎に順に配置して記録する。すなわち、クリップを構成する各データは、年輪構造により所定時間単位でインターリーブされ、例えばディスクとしての光ディスクODに記録される。
【0040】
本実施の形態では、年輪を形成するデータを年輪データと称する。年輪データは、例えばディスクとしての光ディスクODにおける最小の記録単位の整数倍のデータ量とされる。また、年輪は、その境界が例えばディスクとしての光ディスクODの記録単位のクラスタ境界と一致するように記録される。
【0041】
ここでの一塊の年輪の大きさは、例えば同じ2秒分のデータであるとした場合、例えばディスクとしての光ディスクOD上に記録される映像データのフォーマット(圧縮レート)によって決まる。もし、映像データや音声データの圧縮レートが一定(CBR:Constant Bit Rate)のデータであれば、例えばディスクとしての光ディスクOD上の一塊の年輪の大きさは一定であり、ディスクドライブ装置100側で既知である。
【0042】
一方、映像データや音声データの圧縮レートが一定ではない(VBR:Variable Bit Rate)場合は、ファイルシステムを理解するホスト200側から、その情報をディスクドライブ装置100に通知しない限り、ディスクドライブ装置100側では、一塊の年輪の大きさや位置を知ることはできない。
【0043】
図4は、例えばディスクとしての光ディスクOD上に年輪データが形成された様子の一例を示す説明図である。図4において、光ディスクODの内周側から外周側に向けて、1つのクリップが所定の再生時間単位に分割された年輪データ1、年輪データ2、年輪データ3、…が連続的に記録される。すなわち、光ディスクODの内周側から外周側に向けて、再生の時系列が連続するようにデータが配置される。
【0044】
[3.先読み動作]
次に、ディスクドライブ装置100が実行する先読み動作について説明する。
【0045】
ディスクドライブ装置100のホスト200から、ディスクドライブ装置100に発行される読み出しコマンドは、一度に1クリップ(1ファイル)分や、1年輪データ分といったある程度の大きさを持った塊の単位ではなく、もっと小さな、ディスクとしての光ディスクODにとっての1セクタ(例えば、2kByte)、1クラスタ(例えば、64kByte)といった小さな塊の単位である。このため、ディスクドライブ装置100側の動作としては、1コマンドを受け取る毎に、その分量だけのデータを、その都度、ディスクとしての光ディスクODから読み出してホスト200に返していたのでは、パフォーマンスは非常に低いものとなってしまう。
【0046】
そこで、ディスクドライブ装置100では、ホスト200から1つの読み出しコマンドを受け取ったら、次は、その続きの領域の読み出しコマンドが来ることを想定して、いわゆる先読み動作を行う。この先読み動作において、どのように予測し、どれだけの分量をどのタイミングで行うかが、ディスクドライブ装置100の性能を大きく左右する。
【0047】
特に、映像データなどの大きな連続データは、ディスクとしての光ディスクOD上にそのまま連続して記録されている場合が多いため、この先読み動作が大きな効果を発揮する。
【0048】
この先読み動作のストラテジやアルゴリズムについては、様々な方式が考えられるが、一般的には、リードのバッファメモリ118が残っている限り、ホスト200から受け取った読み出しコマンドの続きの領域のデータを読み出し、バッファメモリ118に蓄える。その後、大抵の場合は、そのようにして先読みした領域のデータを読み出す読み出しコマンドが、ホスト200から発行される場合が多いので、ディスクドライブ装置100は、先読み済みのデータをバッファメモリ118からホスト200に転送する。
【0049】
そして、先読み済みのデータをホスト200に転送したことによって、リードのバッファメモリ118に空きができたならば、再度、続きの領域の先読み動作を行う動作を繰り返す。
【0050】
一方、ホスト200から発行された読み出しコマンドで指定された読み出し領域が、先読みしたものと違った場合には、直ちに先読み動作を停止して、先読み済みのバッファメモリ118内のデータを破棄し、ホスト200から指定された領域のデータを読み出す動作を行う。
【0051】
[4.第1の読み出し処理]
次に、本実施の形態におけるディスクドライブ装置100が実行する第1の読み出し処理について説明する。
【0052】
本実施の形態では、図2や図3に示すように、高解像度メイン映像データ310や、複数チャネルの音声データ308、その他の付随データが、上述した年輪と称する一塊のデータ群にまとめた形でディスクとしての光ディスクOD上に記録され、それらをディスクドライブ装置100が読み出す場合を想定する。
【0053】
本実施の形態では、ディスクドライブ装置100は、これらの一塊のデータ群である1年輪データを読み出すことで、例えば、数秒分といったシステムで規定された一定の処理量の映像データや音声データを得ることができる。近年、これらのデータは映像データの高品位化に伴い、膨大なデータ量となり、その全てを読み出してデコードして映像化するとした場合は、大量のデータ処理を必要とする。
【0054】
そのような中、例えば、数時間の全体の映像の中から、ある場面を探し出すために、それらのファイルの中を自由自在に高速サーチ再生するような動作をさせたい場合がある。このために、本線系のデータと同じ内容であって、データ量の少ない低解像度映像データ(プロキシデータ)304を用いることが一般化している。
【0055】
そして、これらの本線系の高解像度メイン映像データ310と、低解像度映像データ(プロキシデータ)304とを、ある一定時間ずつに区切り、ディスクとしての光ディスクOD上に交互に記録するような上述したフォーマットがあるとする。このような光ディスクODを再生して、高速サーチ動作をする場合、このように記録されたデータの中から、低解像度映像データ(プロキシデータ)304のみを読み出す必要がある。
【0056】
ところで、映像データの再生動作を司るホストは、ファイルシステムの内容を理解しているため、ディスクとしての光ディスクOD上のどの領域に低解像度映像データ(プロキシデータ)304が記録されているかを理解している。しかし、そのようなホストと連携処理を行うわけではない形態を取る独立したディスクドライブ装置100の場合は、光ディスクOD上のどの領域をかいつまんで読めば低解像度映像データ(プロキシデータ)304だけを読み出せるのかを把握することができない。
【0057】
しかしながら、そのような状態の中でも、ディスクドライブ装置100は、上述した先読み動作を行うわけだが、高解像度メイン映像データ310と低解像度映像データ(プロキシデータ)304とを区別せずに、ただ単純に、ホスト200からの読み出しコマンドで指定された今現在の領域より、少し先の領域を先読みするような処理をしたのでは、低解像度映像データ(プロキシデータ)304の領域だけを高速に効率よく読み出すことはできない。
【0058】
そこで、本実施の形態では、ディスクドライブ装置100が、後述する第1の読み出し処理、第2の読み出し処理、または第3の読み出し処理を実行することにより、低解像度映像データ(プロキシデータ)304の領域の記録位置を推測して先読みすることにより、先読み効率を向上させることができる。
【0059】
第1の読み出し処理は、映像データのビットレートが一定(CBR:Constant Bit Rate)の場合において、ディスクドライブ装置100により実行される処理である。
【0060】
図5(A)は、ディスクとしての光ディスクOD上に記録される年輪データの構成を説明するための説明図である。図5(B)は、ディスクドライブ装置100の先読み動作において、読みたい対象を説明するための説明図である。
【0061】
図5(A)および図5(B)に示すように、例えば2秒分というような一定時間ごとにデータを区切り、高解像度メイン映像データ310や低解像度映像データ(プロキシデータ)304等をディスクとしての光ディスクOD上に交互に配置して記録した場合、高解像度メイン映像データ310が占める光ディスクOD上のセクタ数と、低解像度映像データ(プロキシデータ)304が占める光ディスクOD上のセクタ数は、基本的には、常に一定となる。
【0062】
図6は、ディスクドライブ装置100の先読み動作において、読みたい対象と実際の読み出しを説明するための説明図である。
【0063】
図6に示すように、読み出しの最初の頃は、先読み動作の予測が外れるものの、何度か同じ間隔で飛び飛びの領域を読み出す読み出しコマンドをホスト200から受け取ることで、ディスクドライブ装置100側において、低解像度映像データ(プロキシデータ)304の領域のみを読み出そうとしていることを推測し、そのような推測によって、過去の読み出しコマンドの読み出しパターンより、光ディスクOD上の高解像度メイン映像データ310と低解像度映像データ(プロキシデータ)304との配置パターンを推測することができる。
【0064】
すなわち、図7に示すように、ディスクドライブ装置100は、高解像度メイン映像データ310のセクタ数Sm(実際には、それ以外のデータを含む)の大きさと、低解像度映像データ(プロキシデータ)304のセクタ数Ssの大きさとを、過去数回のホスト200からの読み出しコマンドから推測することができる。
【0065】
そして、ディスクドライブ装置100は、Smの大きさとSsの大きさとの推測ができた以降は、図8に示すように、Ss分を先読みしたならば、Sm分だけを飛ばしたその先からSs分だけを先読みする動作を行えばよいことになる。
【0066】
図9は、本実施の形態におけるディスクドライブ装置100が実行する第1の読み出し処理のフローチャートである。
【0067】
図9において、まず、ディスクドライブ装置100のCPU122は、ホスト200からホストI/F120を介して読み出しコマンドを受信する(ステップS102)。
【0068】
次いで、ディスクドライブ装置100のCPU122は、ステップS102で受信した読み出しコマンドに基づいて、光学ピックアップ102などを制御して、光ディスクOD上に記録されているデータを読み出す。そして、ディスクドライブ装置100のCPU122は、ホスト200から次は読み出した領域の続きの領域の読み出しコマンドが来ると想定して、通常の先読み動作、すなわちベタ先読み動作のための制御を行う(ステップS104)。
【0069】
次いで、ディスクドライブ装置100のCPU122は、ホスト200からホストI/F120を介して次の読み出しコマンドを受信する(ステップS106)。
【0070】
次いで、ディスクドライブ装置100のCPU122は、ホスト200からの次の読み出しコマンドは連続領域を読み出す読み出しコマンドであるか否かを判別する(ステップS108)。
【0071】
ステップS108の判別の結果、ホスト200からの次の読み出しコマンドが連続領域を読み出す読み出しコマンドであるときは(ステップS108でYES)、ステップS104の処理と同様の処理を行う。
【0072】
ステップS108の判別の結果、ホスト200からの次の読み出しコマンドが連続領域を読み出す読み出しコマンドでないときは(ステップS108でNO)、ディスクドライブ装置100のCPU122は、前の読み出しコマンドと次の読み出しコマンドとに基づいて、上述した高解像度メイン映像データ310のセクタ数Sm(実際には、それ以外のデータを含む)の大きさと、低解像度映像データ(プロキシデータ)304のセクタ数Ssの大きさとを算出する(ステップS110)。
【0073】
次いで、ディスクドライブ装置100のCPU122は、ステップS110で算出したSmの大きさとSsの大きさとに基づく飛び飛びの先読み動作のための制御を行う(ステップS112)。
【0074】
次いで、ディスクドライブ装置100のCPU122は、ホスト200からホストI/F120を介して次の読み出しコマンドを受信する(ステップS114)。
【0075】
次いで、ディスクドライブ装置100のCPU122は、ホスト200からの次の読み出しコマンドは非連続領域を読み出す読み出しコマンドであるか否かを判別する(ステップS116)。
【0076】
ステップS116の判別の結果、ホスト200からの次の読み出しコマンドが非連続領域を読み出す読み出しコマンドであるときは(ステップS116でYES)、ステップS112の処理と同様の処理を行う。
【0077】
ステップS116の判別の結果、ホスト200からの次の読み出しコマンドが非連続領域を読み出す読み出しコマンドでないときは(ステップS116でNO)、ステップS104の処理と同様の処理を行う。
【0078】
図9の第1の読み出し処理によれば、低解像度映像データ(プロキシデータ)304のみを効率的に読み出すことができる。
【0079】
[5.第2の読み出し処理]
次に、本実施の形態におけるディスクドライブ装置100が実行する第2の読み出し処理について説明する。
【0080】
第2の読み出し処理は、映像データのビットレートが一定ではなく可変(VBR:Variable Bit Rate)の場合において、ディスクドライブ装置100により実行される処理である。
【0081】
図10(A)は、ディスクとしての光ディスクOD上に記録される年輪データの構成を説明するための説明図である。図10(B)は、ディスクドライブ装置100の先読み動作において、読みたい対象を説明するための説明図である。
【0082】
図10(A)および図10(B)に示すように、例えば2秒分というような一定時間ごとにデータを区切り、高解像度メイン映像データ310や低解像度映像データ(プロキシデータ)304等をディスクとしての光ディスクOD上に交互に配置して記録した場合、高解像度メイン映像データ310が占める光ディスクOD上のセクタ数と、低解像度映像データ(プロキシデータ)304が占める光ディスクOD上のセクタ数は、基本的には、一定とならない。
【0083】
そのため、上述した映像データのビットレートが一定(CBR)の時のように、単純に高解像度メイン映像データ310のセクタ数Smの大きさと、低解像度映像データ(プロキシデータ)310のセクタ数Ssの大きさとを、過去数回のホスト200からの読み出しコマンドから推測することはできない。
【0084】
しかし、ビットレートが可変とは言え、映像データの性質上、時間的に近い映像であれば、一般的には同じようなシーンを同じような圧縮で処理している場合が比較的多く、被写体の動きや、カメラワーク、シーンの変更などに伴い、多少のゆらぎはあるものの、圧縮後のデータ量は比較的近いものとなる。なお、ここでは、高解像度メイン映像データ310のビットレートのみが可変(VBR)で、低解像度映像データ(プロキシデータ)304のビットレートは一定(CBR)で運用するシステムについて説明することとする。
【0085】
このように、高解像度メイン映像データ310のビットレートが可変(VBR)の場合、ディスクドライブ装置100において、高解像度メイン映像データ310のセクタ数Smの大きさを正確に推測することはできないが、できるだけ近い値を推測することは可能である。すなわち、図11に示すように、過去の読み出しコマンドに基づいて、高解像度メイン映像データ310のセクタ数Smの大きさを統計的に算出することで、ある程度の推測が可能である。
【0086】
具体的には、非連続領域の読み出しコマンドから、高解像度メイン映像データ310のセクタ数Smの大きさを算出する。すなわち、読み飛ばされた非連続なセクタの開始位置と終了位置の間のセクタ数が、高解像度メイン映像データ310の占めるセクタ数である。このようにして、過去の直近n回のSm(n)を算出する。そして、現在に近いほど大きな値となる重み係数k(n)をかけた値、すなわちSSm(n)=Sm(n)×k(n)を算出する。
このようにして算出したSSm(n)から、平均値μと標準偏差σを算出する。そして、読み飛ばすためのSmの大きさとしては、余計に読み飛ばしすぎないようにするために負の方向にマージンを持たせ、Sm=μ−jσとする。
【0087】
なお、ここでのjは、安全係数であり、システムの圧縮アルゴリズムなどに応じて調整する。すなわち、比較的バラツキが大きいシステムでは大きくし、バラツキが小さいシステムでは小さくする。また、発展としては、Smの推測量の当たり具合に応じてフィードバックをかけて、リアルタイムに安全係数jを増減しながら調整してもよい。
【0088】
上述した推測ができた以降は、図12に示すように、ディスクドライブ装置100は、Ss分を先読みしたならば、統計的に算出したSm分だけを飛ばしたその先からSs分だけを先読みする動作を行う。
【0089】
ただし、マージン分を含めた先読みを行うのがよいため、図13(A)に示すように、先読みを行って読み出したデータの中には、純粋に低解像度映像データ(プロキシデータ)304の領域のみではなく、その前後に多少の余分なデータを含むことになる。この場合、図13(B)に示すように、ホスト200からの読み出しコマンドの内容に従って、要求されたデータのみをリードのバッファメモリ118内から読み出してホスト200に転送し、その転送が済んだならば、その転送したデータの前後のマージン分のデータもいっしょに破棄する。
【0090】
さらには、図14に示すように、先読みによって読み取る範囲のマージンが足りなくて、先読みを行っていなかった領域のデータに対する読み出しコマンドがホスト200から発行された場合は、先読み動作を中断して、少し戻って読み足し動作を行う。
【0091】
図15は、本実施の形態におけるディスクドライブ装置100が実行する第2の読み出し処理のフローチャートである。
【0092】
図15において、まず、ディスクドライブ装置100のCPU122は、ホスト200からホストI/F120を介して読み出しコマンドを受信する(ステップS202)。
【0093】
次いで、ディスクドライブ装置100のCPU122は、ステップS202で受信した読み出しコマンドに基づいて、光学ピックアップ102などを制御して、光ディスクOD上に記録されているデータを読み出す。そして、ディスクドライブ装置100のCPU122は、ホスト200から次は読み出した領域の続きの領域の読み出しコマンドが来ると想定して、通常の先読み動作、すなわちベタ先読み動作のための制御を行う(ステップS204)。
【0094】
次いで、ディスクドライブ装置100のCPU122は、ホスト200からホストI/F120を介して次の読み出しコマンドを受信する(ステップS206)。
【0095】
次いで、ディスクドライブ装置100のCPU122は、ホスト200からの次の読み出しコマンドは連続領域を読み出す読み出しコマンドであるか否かを判別する(ステップS208)。
【0096】
ステップS208の判別の結果、ホスト200からの次の読み出しコマンドが連続領域を読み出す読み出しコマンドであるときは(ステップS208でYES)、ステップS204の処理と同様の処理を行う。
【0097】
ステップS208の判別の結果、ホスト200からの次の読み出しコマンドが連続領域を読み出す読み出しコマンドでないときは(ステップS208でNO)、ディスクドライブ装置100のCPU122は、上述した統計処理によって、上述した高解像度メイン映像データ310のセクタ数Sm(実際には、それ以外のデータを含む)の大きさと、低解像度映像データ(プロキシデータ)304のセクタ数Ssの大きさとの予測を行う(ステップS210)。
【0098】
次いで、ディスクドライブ装置100のCPU122は、ステップS210で予測したSmの大きさとSsの大きさとに基づく飛び飛びの先読み動作のための制御を行う(ステップS212)。
【0099】
次いで、ディスクドライブ装置100のCPU122は、ステップS212での先読み動作によって読み出されたデータが、ホスト200から来る次の読み出しコマンドで要求された領域のデータに合致しているか否かを判別する(ステップS214)。
【0100】
ステップS214の判別の結果、先読み動作によって読み出されたデータが、ホスト200からの読み出しコマンドで要求された領域のデータに合致しているときは(ステップS214でYES)、続くステップS218の処理に進む。
【0101】
ステップS214の判別の結果、先読み動作によって読み出されたデータが、ホスト200からの読み出しコマンドで要求された領域のデータに合致していないときは(ステップS214でNO)、ディスクドライブ装置100のCPU122は、ホスト200からの読み出しコマンドに基づいて、補正分の読み出し動作のための制御を行う(ステップS216)。
【0102】
続くステップS218では、ディスクドライブ装置100のCPU122は、ホスト200からホストI/F120を介して次の読み出しコマンドを受信する(ステップS218)。
【0103】
次いで、ディスクドライブ装置100のCPU122は、ホスト200からの次の読み出しコマンドは非連続領域を読み出す読み出しコマンドであるか否かを判別する(ステップS220)。
【0104】
ステップS220の判別の結果、ホスト200からの次の読み出しコマンドが非連続領域を読み出す読み出しコマンドであるときは(ステップS220でYES)、ステップS210の処理と同様の処理を行う。
【0105】
ステップS220の判別の結果、ホスト200からの次の読み出しコマンドが非連続領域を読み出す読み出しコマンドでないときは(ステップS220でNO)、ステップS204の処理と同様の処理を行う。
【0106】
図15の第2の読み出し処理によれば、映像データのビットレートが一定ではなく可変(VBR)の場合においても、低解像度映像データ(プロキシデータ)304を効率的に読み出すことができる。
【0107】
[6.第3の読み出し処理]
次に、本実施の形態におけるディスクドライブ装置100が実行する第3の読み出し処理について説明する。
【0108】
ところで、本実施の形態において、対象の一例としているAVディスクフォーマットでは、上述した図2および図3などに示すように、年輪データと称される数秒分のデータの塊の中には、サルベージマーカ302と称される特殊な目印のデータが記録される。このサルベージマーカ302は、ディスクとしての光ディスクOD上では、ちょうど低解像度映像データ(プロキシデータ)304の直前に位置する。すなわち、低解像度映像データ(プロキシデータ)304が読み取られるときに、必ずその直前には、このサルベージマーカ302が読み取られることになる。
【0109】
そこで、上述した図1における、ディスクドライブ装置100のサルベージマーカ検出部114によって、ディスクドライブ装置100の中で、光ディスクODから先読みしたデータの中身を逐次確認し、サルベージマーカ302の存在を検出したならば、次のクラスタが、読み取る対象としての低解像度映像データ(プロキシデータ)304の開始位置となり、そこから固定長のSs分の領域のデータを読み出せば、より正確に低解像度映像データ(プロキシデータ)304を読み出すことが可能である。
【0110】
実際には、図16に示すように、不要なデータとなる可能性を持った、マージン分を加えた領域の読み出しのみを行う。そして、読み出し中に、読み取る対象としての低解像度映像データ(プロキシデータ)304の開始位置を、サルベージマーカ302の位置を検出することによって把握することができると、後半の不要なマージン分の読み取りを省略することができる。
【0111】
また、前後のマージンを含めて予測した位置を読み出したのに、読み出したデータの中に、このサルベージマーカ302を検出することができなかった場合には、図17に示すように、前半のマージンが不足していて、実際の低解像度映像データ(プロキシデータ)304を先頭から読み出せておらず、低解像度映像データ(プロキシデータ)304の頭のデータが欠落していることになる。
【0112】
上述したように、読み出し位置の予測の正当性を、読み出し中に、より早く判断することで、無駄なマージンの読み出しを省略したり、迅速にデータの欠落分の読み取りを行うことが可能となり、先読み効率を向上させることができる。さらには、Smの推測における安全係数jの値にこの結果を反映させることで、さらに精度の高いSmの予測も可能となる。
【0113】
図18は、本実施の形態におけるディスクドライブ装置100が実行する第3の読み出し処理のフローチャートである。
【0114】
図18において、まず、ディスクドライブ装置100のCPU122は、ホスト200からホストI/F120を介して読み出しコマンドを受信する(ステップS302)。
【0115】
次いで、ディスクドライブ装置100のCPU122は、ステップS302で受信した読み出しコマンドに基づいて、光学ピックアップ102などを制御して、光ディスクOD上に記録されているデータを読み出す。そして、ディスクドライブ装置100のCPU122は、ホスト200から次は読み出した領域の続きの領域の読み出しコマンドが来ると想定して、通常の先読み動作、すなわちベタ先読み動作のための制御を行う(ステップS304)。
【0116】
次いで、ディスクドライブ装置100のCPU122は、ホスト200からホストI/F120を介して次の読み出しコマンドを受信する(ステップS306)。
【0117】
次いで、ディスクドライブ装置100のCPU122は、ホスト200からの次の読み出しコマンドは連続領域を読み出す読み出しコマンドであるか否かを判別する(ステップS308)。
【0118】
ステップS308の判別の結果、ホスト200からの次の読み出しコマンドが連続領域を読み出す読み出しコマンドであるときは(ステップS308でYES)、ステップS304の処理と同様の処理を行う。
【0119】
ステップS308の判別の結果、ホスト200からの次の読み出しコマンドが連続領域を読み出す読み出しコマンドでないときは(ステップS308でNO)、ディスクドライブ装置100のCPU122は、上述した統計処理によって、上述した高解像度メイン映像データ310のセクタ数Sm(実際には、それ以外のデータを含む)の大きさと、低解像度映像データ(プロキシデータ)304のセクタ数Ssの大きさとの予測を行う(ステップS310)。
【0120】
次いで、ディスクドライブ装置100のCPU122は、ステップS310で予測したSmの大きさとSsの大きさとに基づく飛び飛びの先読み動作のための制御を行う(ステップS312)。
【0121】
次いで、ディスクドライブ装置100のCPU122は、サルベージマーカ検出部114がサルベージマーカ302を検出したか否かを判別する(ステップS314)。
【0122】
ステップS314の判別の結果、サルベージマーカ検出部114がサルベージマーカ302を検出しないときは(ステップS314でNO)、ディスクドライブ装置100のCPU122は、少し戻って再読み出しを行う再読み出し動作のための制御を行って(ステップS316)、ステップS314の処理に戻る。
【0123】
ステップS314の判別の結果、サルベージマーカ検出部114がサルベージマーカ302を検出したときは(ステップS314でYES)、ディスクドライブ装置100のCPU122は、固定したSsの長さ分だけの先読み動作のための制御を行う(ステップS318)。
【0124】
次いで、ディスクドライブ装置100のCPU122は、ホスト200からホストI/F120を介して次の読み出しコマンドを受信する(ステップS320)。
【0125】
次いで、ディスクドライブ装置100のCPU122は、ホスト200からの次の読み出しコマンドは非連続領域を読み出す読み出しコマンドであるか否かを判別する(ステップS322)。
【0126】
ステップS322の判別の結果、ホスト200からの次の読み出しコマンドが非連続領域を読み出す読み出しコマンドであるときは(ステップS322でYES)、ステップS310の処理と同様の処理を行う。
【0127】
ステップS322の判別の結果、ホスト200からの次の読み出しコマンドが非連続領域を読み出す読み出しコマンドでないときは(ステップS322でNO)、ステップS304の処理と同様の処理を行う。
【0128】
図18の第3の読み出し処理によれば、先読みしたデータにおいて、サルベージマーカ302を検出することにより、低解像度映像データ(プロキシデータ)304を効率的に読み出すことができる。
【0129】
以上、第1の読み出し処理、第2の読み出し処理、第3の読み出し処理と順を追って説明を行ってきたが、ディスクドライブ装置100は、映像データのビットレートが一定(CBR:Constant Bit Rate)の場合において、第2の読み出し処理を実行してもよく、この場合は、上述した統計処理において、標準偏差が0となる。また、ディスクドライブ装置100は、第1の読み出し処理において、サルベージマーカ302の検出を行ってもよい。
【0130】
すなわち、ディスクドライブ装置100は、第3の読み出し処理を実行することにより、CBRとVBRとを区別することなく、効率的な低解像度映像データ(プロキシデータ)304の先読み動作が可能である。
【0131】
本実施の形態によれば、ビデオシステムの中のストレージデバイスとしてのディスクドライブ装置100において、ディスクとしての光ディスクODに記録されている映像データが可変(VBR)圧縮されたものであっても、精度のよい先読み動作を可能とし、シーンサーチや編集等に用いるために、独立したサブファイルとして別ストリームで分散記憶されている低解像度映像データ(プロキシデータ)304を効率よく読み出すことが可能となり、操作性および生産性を向上させることが可能である。
【0132】
また、本発明の目的は、上述した実施の形態の機能を実現するソフトウェアのプログラムコードを記憶した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU等)が記憶媒体に格納されたプログラムコードを読み出し実行することによっても達成される。
【0133】
この場合、記憶媒体から読み出されたプログラムコード自体が上述した実施の形態の機能を実現することになり、そのプログラムコードおよび該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0134】
また、プログラムコードを供給するための記憶媒体としては、例えば、フロッピー(登録商標)ディスク、ハードディスク、光磁気ディスク、CD−ROM、CD−R、CD−RW、DVD−ROM、DVD−RAM、DVD−RW、DVD+RW等の光ディスク、磁気テープ、不揮発性のメモリカード、ROM等を用いることができる。または、プログラムコードをネットワークを介してダウンロードしてもよい。
【0135】
また、コンピュータが読み出したプログラムコードを実行することにより、上述した実施の形態の機能が実現されるだけではなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって上述した実施の形態の機能が実現される場合も含まれる。
【0136】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その拡張機能を拡張ボードや拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって上述した実施の形態の機能が実現される場合も含まれる。
【0137】
以上、添付図面を参照しながら本発明の好適な実施の形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。
【符号の説明】
【0138】
OD 光ディスク
100 ディスクドライブ装置
102 光学ピックアップ
104 スピンドルモータ
106 サーボ制御部
108 RFアンプ
110 記録復号部
112 エラー訂正部
114 サルベージマーカ検出部
116 バッファコントローラ
118 バッファメモリ
120 ホストI/F
122 CPU
200 ホスト
【特許請求の範囲】
【請求項1】
記録装置に記録されているデータを読み出す読み出し部と、
外部装置から発行された、前記記録装置に記録されているデータの読み出しコマンドを受信する受信部と、
前記受信部が受信した前記読み出しコマンドに基づいて、前記外部装置により要求された、前記記録装置に記録されているデータを読み出すように前記読み出し部を制御するとともに、それ以降に前記外部装置から発行される読み出しコマンドを予測して、当該予測された読み出しコマンドに基づいて、前記外部装置により要求されると予測された、前記記録装置に記録されているデータを先読みするように前記読み出し部を制御する制御部とを備え、
前記制御部は、それ以降に前記外部装置から発行される読み出しコマンドの予測において、それ以前に前記外部装置から発行された読み出しコマンドに基づいて算出された、読み出す対象のデータの領域の大きさと、読み飛ばすデータの領域の大きさとを用いた統計処理により、次に読み飛ばすデータの領域の大きさを予測する、
データ読み出し装置。
【請求項2】
前記制御部の制御によって前記読み出し部により先読みされたデータの中に、前記記録装置の記録領域において前記読み出す対象のデータの直前に記録されている所定のデータが含まれているか否かを検出する検出部を備え、
前記制御部は、前記検出部による検出結果に基づいて、前記読み出し部による先読みを制御する、
請求項1に記載のデータ読み出し装置。
【請求項3】
前記制御部は、前記検出部により、前記先読みされたデータの中に、前記所定のデータが含まれていると検出された場合は、前記所定のデータの直後に記録されている前記読み出す対象のデータの領域の分だけ読み出すように、前記読み出し部による先読みを制御する、
請求項2に記載のデータ読み出し装置。
【請求項4】
前記制御部は、前記検出部により、前記先読みされたデータの中に、前記所定のデータが含まれていないと検出された場合は、前記所定のデータが検出されるまで、それ以前に先読みされたデータの前の領域のデータを読み出すように、前記読み出し部による先読みを制御する、
請求項2に記載のデータ読み出し装置。
【請求項5】
前記読み出す対象のデータは、低解像度の映像データである、
請求項1に記載のデータ読み出し装置。
【請求項6】
外部装置から発行された、記録装置に記録されているデータの読み出しコマンドを受信する受信ステップと、
前記受信ステップで受信した前記読み出しコマンドに基づいて、前記外部装置により要求された、前記記録装置に記録されているデータを読み出すように、前記記録装置に記録されているデータを読み出す読み出し部を制御するとともに、それ以降に前記外部装置から発行される読み出しコマンドを予測して、当該予測された読み出しコマンドに基づいて、前記外部装置により要求されると予測された、前記記録装置に記録されているデータを先読みするように前記読み出し部を制御する制御ステップとを有し、
前記制御ステップでは、それ以降に前記外部装置から発行される読み出しコマンドの予測において、それ以前に前記外部装置から発行された読み出しコマンドに基づいて算出された、読み出す対象のデータの領域の大きさと、読み飛ばすデータの領域の大きさとを用いた統計処理により、次に読み飛ばすデータの領域の大きさを予測する、
データ読み出し方法。
【請求項7】
コンピュータに、
外部装置から発行された、記録装置に記録されているデータの読み出しコマンドを受信する受信ステップと、
前記受信ステップで受信した前記読み出しコマンドに基づいて、前記外部装置により要求された、前記記録装置に記録されているデータを読み出すように、前記記録装置に記録されているデータを読み出す読み出し部を制御するとともに、それ以降に前記外部装置から発行される読み出しコマンドを予測して、当該予測された読み出しコマンドに基づいて、前記外部装置により要求されると予測された、前記記録装置に記録されているデータを先読みするように前記読み出し部を制御する制御ステップとを実行させるためのプログラムであって、
前記制御ステップでは、それ以降に前記外部装置から発行される読み出しコマンドの予測において、それ以前に前記外部装置から発行された読み出しコマンドに基づいて算出された、読み出す対象のデータの領域の大きさと、読み飛ばすデータの領域の大きさとを用いた統計処理により、次に読み飛ばすデータの領域の大きさを予測する、
プログラム。
【請求項1】
記録装置に記録されているデータを読み出す読み出し部と、
外部装置から発行された、前記記録装置に記録されているデータの読み出しコマンドを受信する受信部と、
前記受信部が受信した前記読み出しコマンドに基づいて、前記外部装置により要求された、前記記録装置に記録されているデータを読み出すように前記読み出し部を制御するとともに、それ以降に前記外部装置から発行される読み出しコマンドを予測して、当該予測された読み出しコマンドに基づいて、前記外部装置により要求されると予測された、前記記録装置に記録されているデータを先読みするように前記読み出し部を制御する制御部とを備え、
前記制御部は、それ以降に前記外部装置から発行される読み出しコマンドの予測において、それ以前に前記外部装置から発行された読み出しコマンドに基づいて算出された、読み出す対象のデータの領域の大きさと、読み飛ばすデータの領域の大きさとを用いた統計処理により、次に読み飛ばすデータの領域の大きさを予測する、
データ読み出し装置。
【請求項2】
前記制御部の制御によって前記読み出し部により先読みされたデータの中に、前記記録装置の記録領域において前記読み出す対象のデータの直前に記録されている所定のデータが含まれているか否かを検出する検出部を備え、
前記制御部は、前記検出部による検出結果に基づいて、前記読み出し部による先読みを制御する、
請求項1に記載のデータ読み出し装置。
【請求項3】
前記制御部は、前記検出部により、前記先読みされたデータの中に、前記所定のデータが含まれていると検出された場合は、前記所定のデータの直後に記録されている前記読み出す対象のデータの領域の分だけ読み出すように、前記読み出し部による先読みを制御する、
請求項2に記載のデータ読み出し装置。
【請求項4】
前記制御部は、前記検出部により、前記先読みされたデータの中に、前記所定のデータが含まれていないと検出された場合は、前記所定のデータが検出されるまで、それ以前に先読みされたデータの前の領域のデータを読み出すように、前記読み出し部による先読みを制御する、
請求項2に記載のデータ読み出し装置。
【請求項5】
前記読み出す対象のデータは、低解像度の映像データである、
請求項1に記載のデータ読み出し装置。
【請求項6】
外部装置から発行された、記録装置に記録されているデータの読み出しコマンドを受信する受信ステップと、
前記受信ステップで受信した前記読み出しコマンドに基づいて、前記外部装置により要求された、前記記録装置に記録されているデータを読み出すように、前記記録装置に記録されているデータを読み出す読み出し部を制御するとともに、それ以降に前記外部装置から発行される読み出しコマンドを予測して、当該予測された読み出しコマンドに基づいて、前記外部装置により要求されると予測された、前記記録装置に記録されているデータを先読みするように前記読み出し部を制御する制御ステップとを有し、
前記制御ステップでは、それ以降に前記外部装置から発行される読み出しコマンドの予測において、それ以前に前記外部装置から発行された読み出しコマンドに基づいて算出された、読み出す対象のデータの領域の大きさと、読み飛ばすデータの領域の大きさとを用いた統計処理により、次に読み飛ばすデータの領域の大きさを予測する、
データ読み出し方法。
【請求項7】
コンピュータに、
外部装置から発行された、記録装置に記録されているデータの読み出しコマンドを受信する受信ステップと、
前記受信ステップで受信した前記読み出しコマンドに基づいて、前記外部装置により要求された、前記記録装置に記録されているデータを読み出すように、前記記録装置に記録されているデータを読み出す読み出し部を制御するとともに、それ以降に前記外部装置から発行される読み出しコマンドを予測して、当該予測された読み出しコマンドに基づいて、前記外部装置により要求されると予測された、前記記録装置に記録されているデータを先読みするように前記読み出し部を制御する制御ステップとを実行させるためのプログラムであって、
前記制御ステップでは、それ以降に前記外部装置から発行される読み出しコマンドの予測において、それ以前に前記外部装置から発行された読み出しコマンドに基づいて算出された、読み出す対象のデータの領域の大きさと、読み飛ばすデータの領域の大きさとを用いた統計処理により、次に読み飛ばすデータの領域の大きさを予測する、
プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【公開番号】特開2011−243261(P2011−243261A)
【公開日】平成23年12月1日(2011.12.1)
【国際特許分類】
【出願番号】特願2010−116148(P2010−116148)
【出願日】平成22年5月20日(2010.5.20)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】
【公開日】平成23年12月1日(2011.12.1)
【国際特許分類】
【出願日】平成22年5月20日(2010.5.20)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】
[ Back to top ]