(57)【要約】【課題】無駄な記憶領域を消費せずに、頭出しや早送りなどの非連続なコンテンツデータの再生指示を受けた場合でも、ユーザに長い待ち時間が発生するのを回避したデータ再生装置を提供する。【解決手段】データ再生装置は、１又は複数のコンテンツデータが格納される、格納手段と、前記格納手段からコンテンツデータを順次読み出して、連続的に再生する、第１連続再生手段と、前記第１連続再生手段で連続的にコンテンツデータが再生されている場合に、非連続なコンテンツデータの再生指示である非連続再生指示をユーザが入力する、入力手段と、前記入力手段から前記非連続再生指示が入力された場合に、前記非連続再生指示に基づくコンテンツデータを前記格納手段から順次読み出してバッファ領域に格納する、読み出し手段であって、読み出すコンテンツデータの大きさを次第に大きくする、読み出し手段と、前記バッファ領域に格納されたコンテンツデータに基づいて連続的に再生を行う、第２連続再生手段と、を備えて構成されている。【選択図】図１
2008171523.tif 000002
【特許請求の範囲】
【請求項１】
１又は複数のコンテンツデータが格納される、格納手段と、
前記格納手段からコンテンツデータを順次読み出して、連続的に再生する、第１連続再生手段と、
前記第１連続再生手段で連続的にコンテンツデータが再生されている場合に、非連続なコンテンツデータの再生指示である非連続再生指示をユーザが入力する、入力手段と、
前記入力手段から前記非連続再生指示が入力された場合に、前記非連続再生指示に基づくコンテンツデータを前記格納手段から順次読み出してバッファ領域に格納する、読み出し手段であって、読み出すコンテンツデータの大きさを次第に大きくする、読み出し手段と、
前記バッファ領域に格納されたコンテンツデータに基づいて連続的に再生を行う、第２連続再生手段と、
を備えることを特徴とするデータ再生装置。
【請求項２】
前記読み出し手段が前記コンテンツデータを前記格納手段から順次読み出す場合のコンテンツデータの大きさは、予め定まっている、ことを特徴とする請求項１に記載のデータ再生装置。
【請求項３】
前記読み出し手段が前記コンテンツデータを前記格納手段から順次読み出す場合のコンテンツデータの大きさは、前記格納手段からコンテンツデータを読み出す２回目までは、予め定まっているが、３回目以降は計算により算出する、ことを特徴とする請求項１に記載のデータ再生装置。
【請求項４】
３回目にコンテンツデータを読み出す大きさは、１回目に読み出したコンテンツデータをデコードするのに要した時間と、２回目に読み出したコンテンツデータの大きさに基づいて、２回目に読み出したコンテンツデータを再生するためのデコードに要する時間を推定し、この推定した時間内で読み出せるコンテンツデータの大きさに基づいて、決定する、ことを特徴とする請求項３に記載のデータ再生装置。
【請求項５】
３回目にコンテンツデータを読み出す大きさは、前記推定した時間に、マージンを考慮して、２回目に読み出したコンテンツデータを再生するためのデコードをしている時間内に、３回目に読み出すコンテンツデータの読み出しが終了するように設定する、ことを特徴とする請求項４に記載のデータ再生装置。
【請求項６】
前記コンテンツデータは音楽データであり、前記非連続再生指示は、現在再生中の曲を飛ばして、次の曲の先頭から再生を開始する指示である頭出し指示である、ことを特徴とする請求項１乃至請求項５のいずれかに記載のデータ再生装置。
【請求項７】
１又は複数のコンテンツデータが格納されている格納手段から、コンテンツデータを順次読み出して、連続的に再生するステップと、
連続的に前記コンテンツデータが再生されている場合に、非連続なコンテンツデータの再生指示である非連続再生指示をユーザが入力するステップと、
前記非連続再生指示が入力された場合に、前記非連続再生指示に基づくコンテンツデータを前記格納手段から順次読み出してバッファ領域に格納するとともに、読み出すコンテンツデータの大きさを次第に大きくするステップと、
前記バッファ領域に格納されたコンテンツデータに基づいて連続的に再生を行うステップと、
を備えることを特徴とするデータ再生装置の制御方法。
【請求項８】
１又は複数のコンテンツデータが格納されている格納手段から、コンテンツデータを順次読み出して、連続的に再生するステップと、
連続的に前記コンテンツデータが再生されている場合に、非連続なコンテンツデータの再生指示である非連続再生指示をユーザが入力するステップと、
前記非連続再生指示が入力された場合に、前記非連続再生指示に基づくコンテンツデータを前記格納手段から順次読み出してバッファ領域に格納するとともに、読み出すコンテンツデータの大きさを次第に大きくするステップと、
前記バッファ領域に格納されたコンテンツデータに基づいて連続的に再生を行うステップと、
をデータ再生装置に実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ再生装置に関し、特に、頭出しや早送りなどの非連続な再生を迅速に行える可能なデータ再生装置に関する。
【背景技術】
【０００２】
デジタルデータとして記録された音楽データや動画データなどのコンテンツデータを再生可能なデータ再生装置が広く普及している。このようなデータ再生装置では、ユーザが例えば音楽データを再生してる最中に、その再生中の曲を途中で止めて、次の曲にスキップしたい場合もある。このような操作を実現するために、データ再生装置には、いわゆる頭出しという機能が搭載されている。
【０００３】
また、ユーザが、再生中の曲を早送りして、再生時間を短くしたい場合もあり、このような操作を実現するために、データ再生装置には、早送りという機能が搭載されている。この早送りでは、再生中の曲の音楽データを、所定の時間間隔で飛び飛びに再生して、再生時間を短縮することにより、再生中の曲の早送りを実現している。
【０００４】
しかし、従来のデータ再生装置においては、ハードディスクドライブに格納されているコンテンツデータを、予め定められた一定の大きさに区切って読み出すため、頭出しをした際に、次の曲の再生が始まるまで、ユーザに比較的長い待ち時間が生じていた。また、早送りをする際にも、所定の時間間隔で飛び飛びに再生するために、比較的長いコンテンツデータの読み込み時間が生じていた。すなわち、頭出しや早送りの場合、コンテンツデータを読み込んで格納しておくバッファ領域に、コンテンツデータがまったく無い状態からデータの読み込みを開始するため、バッファ領域にコンテンツデータを格納し終えるまでに、相応の時間が必要になり、その間、ユーザに待ち時間が生じてしまうという問題があった。
【０００５】
このような問題を解決するため、特開２００３−１３２６２９号公報（特許文献１）に開示されているデータ再生装置では、各曲の先頭部分のみの音楽データを集めて、先頭部分だけのデータファイルを生成し、ハードディスクドライブに予め格納しておくこととしている。そして、この先頭部分だけのデータファイルの内容を予めバッファ領域に読み込んでおき、ユーザが頭出しをした際には、バッファにある先頭部分だけのデータファイルにアクセスして、次の曲の再生を始めることにより、迅速な頭出しを実現している。しかし、このような手法では、ハードディスクドライブやバッファ領域に曲の先頭部分だけを集めたデータを格納する領域を確保しなければならず、記憶領域の無駄が発生してしまう。
【特許文献１】特開２００３−１３２６２９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
そこで本発明は、前記課題に鑑みてなされたものであり、無駄な記憶領域を消費せずに、頭出しや早送りなどの非連続なコンテンツデータの再生指示を受けた場合でも、ユーザに長い待ち時間が発生するのを回避したデータ再生装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するため、本発明に係るデータ再生装置は、
１又は複数のコンテンツデータが格納される、格納手段と、
前記格納手段からコンテンツデータを順次読み出して、連続的に再生する、第１連続再生手段と、
前記第１連続再生手段で連続的にコンテンツデータが再生されている場合に、非連続なコンテンツデータの再生指示である非連続再生指示をユーザが入力する、入力手段と、
前記入力手段から前記非連続再生指示が入力された場合に、前記非連続再生指示に基づくコンテンツデータを前記格納手段から順次読み出してバッファ領域に格納する、読み出し手段であって、読み出すコンテンツデータの大きさを次第に大きくする、読み出し手段と、
前記バッファ領域に格納されたコンテンツデータに基づいて連続的に再生を行う、第２連続再生手段と、
を備えることを特徴とする。
【０００８】
この場合、前記読み出し手段が前記コンテンツデータを前記格納手段から順次読み出す場合のコンテンツデータの大きさは、予め定まっているようにしてもよい。
【０００９】
或いは、前記読み出し手段が前記コンテンツデータを前記格納手段から順次読み出す場合のコンテンツデータの大きさは、前記格納手段からコンテンツデータを読み出す２回目までは、予め定まっているが、３回目以降は計算により算出するようにしてもよい。
【００１０】
この場合、３回目にコンテンツデータを読み出す大きさは、１回目に読み出したコンテンツデータをデコードするのに要した時間と、２回目に読み出したコンテンツデータの大きさに基づいて、２回目に読み出したコンテンツデータを再生するためのデコードに要する時間を推定し、この推定した時間内で読み出せるコンテンツデータの大きさに基づいて、決定するようにしてもよい。
【００１１】
この場合、３回目にコンテンツデータを読み出す大きさは、前記推定した時間に、マージンを考慮して、２回目に読み出したコンテンツデータを再生するためのデコードをしている時間内に、３回目に読み出すコンテンツデータの読み出しが終了するように設定してもよい。
【００１２】
また、前記コンテンツデータは音楽データであり、前記非連続再生指示は、現在再生中の曲を飛ばして、次の曲の先頭から再生を開始する指示である頭出し指示であってもよい。
【００１３】
本発明に係るデータ再生装置の制御方法は、
１又は複数のコンテンツデータが格納されている格納手段から、コンテンツデータを順次読み出して、連続的に再生するステップと、
連続的に前記コンテンツデータが再生されている場合に、非連続なコンテンツデータの再生指示である非連続再生指示をユーザが入力するステップと、
前記非連続再生指示が入力された場合に、前記非連続再生指示に基づくコンテンツデータを前記格納手段から順次読み出してバッファ領域に格納するとともに、読み出すコンテンツデータの大きさを次第に大きくするステップと、
前記バッファ領域に格納されたコンテンツデータに基づいて連続的に再生を行うステップと、
を備えることを特徴とする。
【００１４】
本発明に係るプログラムは、
１又は複数のコンテンツデータが格納されている格納手段から、コンテンツデータを順次読み出して、連続的に再生するステップと、
連続的に前記コンテンツデータが再生されている場合に、非連続なコンテンツデータの再生指示である非連続再生指示をユーザが入力するステップと、
前記非連続再生指示が入力された場合に、前記非連続再生指示に基づくコンテンツデータを前記格納手段から順次読み出してバッファ領域に格納するとともに、読み出すコンテンツデータの大きさを次第に大きくするステップと、
前記バッファ領域に格納されたコンテンツデータに基づいて連続的に再生を行うステップと、
をデータ再生装置に実行させることを特徴とする。
【発明を実施するための形態】
【００１５】
以下、図面を参照して、本発明の実施形態を説明する。なお、以下に説明する実施形態は、本発明の技術的範囲を限定するものではない。
【００１６】
図１は、本実施形態に係るデータ再生装置１０の内部構成の一例を説明するためのブロック図である。この図１に示すデータ再生装置１０は、例えば、携帯型の情報処理端末や、ノート型コンピュータ、ディスクトップ型コンピュータ、携帯電話などで構成することが可能である。
【００１７】
図１に示すように、データ再生装置１０は、ＣＰＵ（Central Processing Unit）２０と、ＲＡＭ（Random Access Memory）２２と、ＲＯＭ（Read Only Memory）２４と、ユーザインターフェース２６と、表示部２８と、オーディオ出力部３０を備えて構成されており、これらは互いに内部バス３２を介して接続されている。また、データ再生装置１０は、ハードディスクドライブ４０とメモリ制御部４２とをさらに備えて構成されており、ハードディスクドライブ４０は、メモリ制御部４２を介して、ＣＰＵ２０とＲＡＭ２２とに接続されている。
【００１８】
ＣＰＵ２０は、このデータ再生装置１０の各種の制御を行うためのユニットである。具体的には、ＣＰＵ２０は、ＲＯＭ２４又はハードディスクドライブ４０に格納された各種のプログラムを実行することにより、データ再生装置１０の全体的な制御を行う。ＲＡＭ２２には、ＣＰＵ２０が各種の処理を実行するにあたり必要となる様々なプログラムやデータが一時的に格納される。特に、本実施形態では、ハードディスクドライブ４０に格納されている音楽データを再生する際に必要なデータが、ＲＡＭ２２に形成されたバッファ領域に一時的に格納される。
【００１９】
ユーザインターフェース２６は、ユーザがこのデータ再生装置１０を操作する際に、各種の指示を入力するためのインターフェースである。このユーザインターフェース２６は、例えば、１又は複数のボタンで構成することができ、表示部２８がタッチパネルにより構成されている場合には、表示部２８と一体に構成することもできる。
【００２０】
表示部２６は、例えば、小型のモノクロ液晶ディスプレイやモノクロ液晶表示装置により構成することができる。また、データ再生装置１０が、音楽データの他に静止画データや動画データを再生できる場合には、表示部２６は、カラー液晶ディスプレイにより構成することができる。オーディオ出力部３０は、例えば、小型のスピーカやヘッドフォン出力により構成されており、ＣＰＵ２０の制御に基づいて音楽や音声などのオーディオの出力が行われる。特に本実施形態においては、ハードディスクドライブ４０から取得した音楽データが再生され、オーディオ出力部３０から出力される。
【００２１】
ハードディスクドライブ４０には、デジタル形式の音楽データのデータファイルが曲毎に格納されている。ハードディスクドライブ４０に格納されている曲目数は任意であり、１又は複数の音楽データが格納される。ハードディスクドライブ４０に格納されているデータファイルは、メモリ制御部４２を介して、ＣＰＵ２０からの指示に基づいて、ＲＡＭ２２に読み出されて、格納される。すなわち、ＣＰＵ２０がメモリ制御部４２に指示をすることにより、ハードディスクドライブ４０に格納されている音楽データが読み出されて、ＲＡＭ２２の所定のバッファ領域に格納される。
【００２２】
次に、図２及び図３に基づいて、本実施形態に係るデータ再生装置１０において、ユーザがある曲の再生中に次の曲の頭出しを指示入力した場合の頭出し処理の概要を説明する。図２は、ＲＡＭ２２に形成されるバッファ領域Ａ、Ｂ、Ｃを示す図であり、図３は、頭出し処理におけるデコード処理とバッファ処理とファイルシステムのフローを示す図である。
【００２３】
図２に示したバッファ領域Ａ、Ｂ、Ｃは、ＲＡＭ２２内の連続する領域として確保されても良いし、或いは、各バッファ領域毎に離散した領域として確保されてもよい。本実施形態では、例えば、バッファ領域Ａは１０Ｋバイトの大きさで固定であり、バッファ領域Ｂは１００Ｋバイトの大きさで固定であるが、バッファ領域Ｃの大きさは可変であり、この図２の例では１Ｍバイトであるときを示している。バッファ領域Ｃの大きさを算出する手法は、後述する。
【００２４】
また、本実施形態では、音楽データは、ハードディスクドライブ４０に格納されている。音楽データは、１曲毎に１つのデータファイルを構成しており、１つのデータファイルには、曲名やアーティスト名、再生時間などの情報が含まれているヘッダと、再生する音楽の情報が含まれている音楽再生データとにより、構成されている。
【００２５】
ユーザインターフェース２６を用いて、ユーザがデータ再生装置１０に頭出しの指示を入力すると、図３に示すように、デコード処理は、次の曲のデコードをするために、次の曲のデータ読み出しをバッファ処理に指示する。この指示を受けて、バッファ処理は、ファイルシステムに、次の曲の音楽データを１０Ｋバイト読み出すように指示をする。この指示を受けて、ファイルシステムは、ハードディスクドライブ４０にアクセスし、指定された曲の先頭から１０Ｋバイト分の音楽データを読み出し、バッファ領域Ａに格納する。これにより、バッファ領域Ａが、音楽データで満たされることになる。
【００２６】
バッファ領域Ａへの１０Ｋバイトの音楽データの格納が終了すると、ファイルシステムはバッファ処理に、１０Ｋバイトの読み出しの完了を通知する。これを受けて、バッファ処理は、デコード処理に読み出しの完了を通知する。
【００２７】
デコード処理では、１０Ｋバイト分の音楽データの読み出しが完了すると、バッファ領域Ａから音楽データを取得して、デコード処理を行う。具体的には、まず、音楽データに含まれているヘッダについてヘッダ解析処理を行い、このヘッダ解析処理が終了した後に、音楽データを再生するために音楽再生データについてデコード処理を行う。
【００２８】
デコード処理がバッファ領域Ａに格納された音楽データのデコードをしている間に、バッファ処理は、ファイルシステムに、読み出しの終えた音楽データの続きを１００Ｋバイト分、読み出すように指示をする。これを受けて、ファイルシステムは、ハードディスクドライブ４０にアクセスして、音楽データの続きを１００Ｋバイト分読み出して、バッファ領域Ｂに格納する。バッファ領域Ｂへの音楽データの格納は、バッファ領域Ａに格納された音楽データに基づくデコードをデコード処理が行っている間に、終了するように設定しておく。すなわち、２回目に音楽データを読み出して、バッファ領域Ｂに格納するのに要する時間が、１回目に読み出してバッファ領域Ａに格納された音楽データのデコードをするのに要する時間より、短くなるように、設定しておく。
【００２９】
デコード処理が、バッファ領域Ａに格納された音楽データのデコードが終了すると、引き続き、バッファ領域Ｂに格納された音楽データのデコードを開始する。この時点では、既に、バッファ領域Ｂに音楽データが格納されているので、デコード処理は、バッファ処理による音楽データの読み出しを待つことなく、デコード処理を継続することができる。
【００３０】
デコード処理がバッファ領域Ｂに格納された音楽データのデコードをしている間に、バッファ処理とファイルシステムは、バッファ領域Ｂに格納した音楽データの続きのデータをハードディスクドライブ４０から読み出して、バッファ領域Ｃに格納する。このため、デコード処理がバッファ領域Ｂに格納された音楽データのデコードが終了した時点では、続きの音楽データがバッファ領域Ｃに既に格納されていることとなり、デコード処理に待ち時間が生じることなく、音楽データのデコードを行うことができる。
【００３１】
このような処理を繰り返すことにより、頭出しを指示したユーザに対して生じる待ち時間を、最初のバッファ領域Ａに音楽データを格納するのに要する時間だけにすることができる。ここで、バッファ領域Ａは１０Ｋバイトという小さい大きさであるので、音楽データを読み出すのに要する時間は比較的短く、ユーザの待ち時間も同様に短くなる。
【００３２】
次に、図４及び図５に基づいて、上述したデコード処理及びバッファ処理について、詳しく説明する。なお、ファイルシステムの処理は、一般的なハードディスクドライブに対するファイル管理システムの処理と同様であるので、ここでは詳しい説明を省略する。
【００３３】
図４は、上述したデコード処理の内容を説明するフローチャートを示す図である。この図４に示すデコード処理は、ＲＯＭ２４又はハードディスクドライブ４０に格納されているデコード処理プログラムをＣＰＵ２０が読み込んで実行することにより、実現される処理である。また、このデコード処理は、ユーザが、ある曲の再生中に、ユーザインターフェース２６を操作して、データ再生装置１０に次の曲の頭出しを指示した場合に、起動される処理である。
【００３４】
図５は、上述したバッファ処理の内容を説明するフローチャートを示す図である。この図５に示すバッファ処理は、ＲＯＭ２４又はハードディスクドライブ４０に格納されているバッファ処理プログラムをＣＰＵ２０が読み込んで実行することにより、実現される処理である。また、このバッファ処理は、デコード処理からの起動指示を受けて、起動される処理である。
【００３５】
図４に示すように、本実施形態に係るデータ再生装置１０のデコード処理においては、まず、デコード処理からバッファ処理に対して、今再生している曲の次の曲の音楽データの読み込みを指示する（ステップＳ１００）。これにより、図５に示したバッファ処理が起動される。
【００３６】
次に、図４に示すように、データ再生装置１０は、必要な音楽データが、ＲＡＭ２２に格納されているかどうかを判断する（ステップＳ１１０）。具体的には、ＲＡＭ２２のバッファ領域に、必要な音楽データが格納されているかどうかを判断する。本実施形態においては、このデコード処理が起動された当初は、音楽データは、バッファ領域Ａに格納されるので、バッファ領域Ａに必要な音楽データが格納されているかどうかを判断する。
【００３７】
ＲＡＭ２２に必要な音楽データが格納されていない場合（ステップＳ１１０：ＮＯ）には、データ再生装置１０は、このステップＳ１１０の判断を繰り返して、必要な音楽データがＲＡＭ２２に格納されるまで待機する。
【００３８】
一方、ＲＡＭ２２に必要な音楽データが格納されている場合（ステップＳ１１０：ＹＥＳ）には、データ再生装置１０は、ＲＡＭ２２から必要な音楽データを取得して、ヘッダ解析を行う（ステップＳ１２０）。すなわち、データ再生装置１０は、音楽データのヘッダ情報を解析して、これから再生する曲の曲名やアーティスト名、再生時間などの情報を取得する。これらの取得した情報は、表示部２８に表示されるようにすることもできる。
【００３９】
次に、データ再生装置１０は、ヘッダ解析が終了したかどうかを判断する（ステップＳ１３０）。例えば、バッファ領域Ａに格納された音楽データに基づいて、ヘッダ解析が終了したかどうかを判断する。ヘッダ解析が終了していない場合（ステップＳ１３０：ＮＯ）には、ステップＳ１１０に戻り、バッファ領域Ｂに必要な音楽データが既にあるかどうかを判断し、このステップＳ１１０からの処理を繰り返す。
【００４０】
一方、ヘッダ解析が終了した場合（ステップＳ１３０：ＹＥＳ）、すなわち、例えばバッファ領域Ａに格納された音楽データに基づいて、ヘッダ解析が終了した場合には、データ再生装置１０は、音楽再生のためのデコードをするのに必要な音楽データが、ＲＡＭ２２に格納されているかどうかを判断する（ステップＳ１４０）。
【００４１】
ＲＡＭ２２に必要な音楽データが格納されていない場合（ステップＳ１４０：ＮＯ）には、データ再生装置１０は、このステップＳ１４０の判断を繰り返して、必要な音楽データがＲＡＭ２２に格納されるまで待機する。上述したように、通常であれば、バッファ領域Ａに格納されている音楽データのデコードをしている間に、バッファ領域Ｂに続きとなる音楽データが格納され終えているので、このステップＳ１４０で待機する事態は生じない。
【００４２】
ＲＡＭ２２に必要な音楽データが格納されている場合（ステップＳ１４０：ＹＥＳ）には、データ再生装置１０は、ＲＡＭ２２に格納されている音楽データに基づいて、音楽再生を行うためのデコード処理をする（ステップＳ１５０）。例えば、バッファ領域Ａに格納されている音楽データだけで、上述したヘッダ解析が終了した場合には、このバッファ領域Ａには音楽再生のための音楽再生データも格納されていることとなる。このため、データ再生装置１０は、このバッファ領域Ａから音楽データの音楽再生データを取得して、音楽再生のためのデコードを行う。
【００４３】
続いて、データ再生装置１０は、音楽データを取得したバッファ領域にあるデータで、１曲分の音楽再生のためのデコード処理が終了したかどうかを判断する（ステップＳ１６０）。例えば、バッファ領域Ａから音楽データを取得して、音楽再生のためのデコード処理をしていた場合には、このバッファ領域Ａにある音楽データにより、その曲の最後までのデコード処理が終了したかどうかを判断する。
【００４４】
１曲分の音楽再生のためのデコード処理が終了していない場合（ステップＳ１５０：ＮＯ）には、上述したステップＳ１４０に戻り、次のバッファ領域に必要な音楽データが格納されているかどうかを判断し、上述と同様の処理を繰り返す。例えば、バッファ領域Ａに格納されている音楽データによる音楽再生のためのデコード処理が終了した場合には、次のバッファ領域Ｂに、必要な音楽データが格納されているかどうかを判断する。上述したように、通常であれば、バッファ領域Ａに格納されている音楽データのデコードをしている間に、バッファ領域Ｂに続きとなる音楽データが格納され終えているので、このステップＳ１５０で待機する事態は生じない。また、通常であれば、バッファ領域Ｂに格納されている音楽データのデコードをしている間に、バッファ領域Ｃに続きとなる音楽データが格納され終えているので、このステップＳ１５０で待機する事態は生じない。
【００４５】
一方、１曲分の音楽再生のためのデコード処理が終了した場合（ステップＳ１５０：ＹＥＳ）には、図４に示したデコード処理を終了する。
【００４６】
この図４のデコード処理が終了すると、通常のデコード処理を行う。すなわち、連続的に複数の曲を順次再生している場合において、次の曲があれば、次の曲の音楽データを、ハードディスクドライブ４０からＲＡＭ２２のバッファ領域に読み出して、ヘッダ解析処理や音楽再生のためのデコード処理を行う。通常、次の曲の音楽データのハードディスクドライブ４０からの読み出しは、前の曲の音楽再生をしている間や、曲間に行われる。このため、次の曲の音楽再生が開始するまでユーザが待たされるという状況は発生しない。
【００４７】
次に、図５に基づいて、本実施形態に係るバッファ処理について詳しく説明する。この図５に示すように、本実施形態に係るバッファ処理においては、データ再生装置１０は、ハードディスクドライブ４０から、指定された音楽データを先頭から１０Ｋバイト分読み出して、ＲＡＭ２２のバッファ領域Ａに格納する（ステップＳ２００）。この１０Ｋバイト分の読み出しが終了した時点で、バッファ処理はバッファ領域Ａの読み込み終了フラグを立てることにより、デコード処理に、バッファ領域Ａの音楽データの読み込みが終了したことを通知する。
【００４８】
次に、データ再生装置１０は、ハードディスクドライブ４０から、指定された音楽データの続きを１００Ｋバイト分読み出して、ＲＡＭ２２のバッファ領域Ｂに格納する（ステップＳ２１０）。この１００Ｋバイト分の読み出しが終了した時点で、バッファ処理はバッファ領域Ｂの読み込み終了フラグを立てることにより、デコード処理に、バッファ領域Ｂの音楽データの読み込みが終了したことを通知する。
【００４９】
次に、データ再生装置１０は、次の音楽データの読み込み量を計算し、バッファ領域Ｃの大きさを決定する（ステップＳ２２０）。音楽データの読み込み量は、デコード処理がバッファ領域Ｂの音楽データのデコードをしている間に終了できる大きさであればよく、この算出手法には、様々なものが考えられる。本実施形態では、例えば、読み込みサイズ＝（前回取得したデータサイズ）／（ＣＰＵ２０の単位時間あたりの処理サイズ）×（ハードディスクドライブ４０のデータ転送速度）×（マージン係数）により、算出することとしている。
【００５０】
本実施形態においては、前回取得したデータサイズは、バッファ領域Ｂの１００Ｋバイトである。また、ＣＰＵ２０の単位時間あたりの処理サイズについては、バッファ領域Ａの音楽データをデコード処理するのに要した時間に基づいて算出する。例えば、１０Ｋバイトのバッファ領域Ａの音楽データのデコードをするのに１０ｍ秒かかったとすると、１秒当たりの処理サイズは１００Ｋバイトとなる。
【００５１】
ハードディスクドライブ４０のデータ転送速度は予め定められた固定値であり、例えば、１０Ｍバイト／秒である。マージン係数は、音楽データの読み込みよりも、バッファ領域Ｂに格納された音楽データのデコード処理の方が早く終了してしまうのを回避するためにマージンを確保する係数であり、例えば、０．９である。これらの数値を代入すると、１００Ｋバイト／１００Ｋバイト×１０Ｍバイト×０．９＝９Ｍバイトとなる。したがって、次に音楽データを読み込むデータの大きさは、９Ｍバイトとなり、バッファ領域Ｃのサイズも９Ｍバイトとなる。
【００５２】
次に、データ再生装置１０は、ハードディスクドライブ４０から、音楽データの続きを、ステップＳ２２０で算出した大きさだけ読み出して、ＲＡＭ２２のバッファ領域に格納する（ステップＳ２３０）。例えば、バッファ領域Ｃのサイズと読み込むデータの量をステップＳ２２０で算出した場合には、この算出された大きさで音楽データを読み出して、バッファ領域Ｃに格納する。この読み出しが終了した時点で、バッファ処理はバッファ領域Ｃの読み込み終了フラグを立てることにより、デコード処理に、バッファ領域Ｃの音楽データの読み込みが終了したことを通知する。
【００５３】
次に、データ再生装置１０は、ステップＳ２３０で読み出した音楽データで、その曲の音楽データが終了したかどうかを判断する（ステップＳ２４０）。すなわち、再生してる音楽データの最後までデータの読み出しをしたかどうかを判断する。
【００５４】
読み出した曲の音楽データが最後まで終了していない場合（ステップＳ２４０：ＮＯ）には、上述したステップＳ２２０に戻り、ステップＳ２２０からを繰り返す。すなわち、読み出す音楽データの読み込み量を算出し、音楽データの続きを読み出す。音楽データを読み出す量は、前回算出した量よりも大きくなり、バッファ領域の大きさも次第に大きくなる。
【００５５】
但し、既にステップＳ２２０でバッファ領域Ｃの大きさを決定しているので、再びステップＳ２２０で再計算することなく、バッファ領域Ｃと同じ大きさで、さらに続きの音楽データを読み出して、バッファ領域Ｄ、バッファ領域Ｅ・・・というように順次格納するようにしても良い。
【００５６】
一方、読み出した曲の音楽データが最後まで終了した場合（ステップＳ２４０：ＹＥＳ）には、この図５に示した頭出しの際のバッファ処理を終了する。
【００５７】
以上のように、本実施形態に係るデータ再生装置１０によれば、ユーザが再生中の曲を飛ばして、次の曲の頭出しをデータ再生装置１０に指示した場合には、データ再生装置１０は、次の曲の音楽データを先頭から読み出すこととになるが、この際、初めは小さい１０Ｋバイトの音楽データをハードディスクドライブ４０から読み出してバッファ領域Ａに格納し、その後、次第に大きなサイズで音楽データを読み出すこととした。このため、１回目に音楽データを読み出す際に必要な時間は比較的短くて足りるようになり、頭出しを指示した後、次の曲の再生が開始されるまでのユーザの待ち時間を可及的に短くすることができる。すなわち、小さなサイズの音楽データをバッファ領域Ａにまず読み込んでデコードを開始することにより、大きなサイズの音楽データを読み込んでからデコードを開始する場合と比べて、音楽データのデコード開始のタイミングを早くすることができ、結果的に、次の曲の再生を開始するまでのユーザの待ち時間を短くすることができる。
【００５８】
また、バッファ領域Ｃ以降については、読み出すデータのサイズを、これまでのデコード処理に要した実績時間に応じて、計算により決定することとしたので、より適切な大きさの音楽データを読み出して、バッファ領域に格納することができる。すなわち、バッファ領域Ｂに格納されている音楽データのデコードに要する時間を推定し、この推定された時間内で読み出せるデータ量に応じて、バッファ領域Ｃの大きさを決めることとした。このため、より適切な大きさのバッファ容量を用いて、ハードディスクドライブ４０から音楽データを効率的に読み出しをすることができる。
【００５９】
なお、本発明は上記実施形態に限定されず種々に変形可能である。例えば、上述した実施形態では、バッファ領域Ｃ以降は、読み出す音楽データの大きさを計算により算出することとしたが、バッファ領域Ｃ以降についても、バッファ領域Ａ、バッファ領域Ｂに音楽データを読み込むのと同様に、予めバッファ領域の大きさを定めておくようにしてもよい。すなわち、１回目、２回目、３回目・・・に読み出す音楽データの量を、固定的に予め定めておくようにしてもよい。
【００６０】
また、音楽データを読み出す量は、最初は次第に大きくなるが、ある一定回数以降に読み出す音楽データの量は、所定の大きさ以上増えないように固定値にすることが可能である。この固定値の大きさは、通常、音楽データを連続的に再生している場合の先読みのデータ量と同じにすればよい。
【００６１】
また、上述した実施形態では、連続的に曲が再生されている状況で、非連続なコンテンツデータの読み出し指示として、頭出し指示がデータ再生装置１０に入力された場合を例に本発明を説明したが、非連続なコンテンツデータの読み出し指示は、頭出し指示に限るものではない。例えば、再生している曲を飛び飛びに再生して早送りする早送り指示がデータ再生装置１０に入力された場合でも、本発明を適用することができる。
【００６２】
また、上述した実施形態では、データ再生装置１０がコンテンツデータとして音楽データを再生する場合を例に、本発明を説明したが、データ再生装置１０が再生するコンテンツデータは音楽データに限らず、動画データなど、複数のコンテンツのコンテンツデータを連続的に再生するデータ再生装置であれば、本発明を適用することができる。
【００６３】
また、上述した実施形態では、図３に示したデコード処理、バッファ処理、ファイルシステムの処理は、ソフトウェアにより実現する例を説明したが、これらの処理はＡＳＩＣ（Application Specific IC）などのハードウェアにより実現するようにしてもよい。
【図面の簡単な説明】
【００６４】
【図１】本発明の一実施形態に係るデータ再生装置の内部構成の一例を説明するブロック図。
【図２】図１のデータ再生装置に形成されるバッファ領域の一例を説明するための図。
【図３】図１のデータ再生装置において、頭出しの指示が入力された場合の処理を概略的に説明するフロー図。
【図４】図１のデータ再生装置において実行されるデコード処理の内容を説明するためのフローチャートを示す図。
【図５】図１のデータ再生装置において実行されるバッファ処理の内容を説明するためのフローチャートを示す図。
【符号の説明】
【００６５】
１０  データ再生装置
２０  ＣＰＵ
２２  ＲＡＭ
２４  ＲＯＭ
２６  ユーザインターフェース
２８  表示部
３０  オーディオ出力部
３２  内部バス
４０  ハードディスクドライブ
４２  メモリ制御部
【図１】
2008171523.tif 000003
【図２】
2008171523.tif 000004
【図３】
2008171523.tif 000005
【図４】
2008171523.tif 000006
【図５】
2008171523.tif 000007