説明

データ再生装置

【課題】無駄な記憶領域を消費せずに、頭出しや早送りなどの非連続なコンテンツデータの再生指示を受けた場合でも、ユーザに長い待ち時間が発生するのを回避したデータ再生装置を提供する。
【解決手段】データ再生装置は、1又は複数のコンテンツデータが格納される、格納手段と、前記格納手段からコンテンツデータを順次読み出して、連続的に再生する、第1連続再生手段と、前記第1連続再生手段で連続的にコンテンツデータが再生されている場合に、非連続なコンテンツデータの再生指示である非連続再生指示をユーザが入力する、入力手段と、前記入力手段から前記非連続再生指示が入力された場合に、前記非連続再生指示に基づくコンテンツデータを前記格納手段から順次読み出してバッファ領域に格納する、読み出し手段であって、読み出すコンテンツデータの大きさを次第に大きくする、読み出し手段と、前記バッファ領域に格納されたコンテンツデータに基づいて連続的に再生を行う、第2連続再生手段と、を備えて構成されている。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データ再生装置に関し、特に、頭出しや早送りなどの非連続な再生を迅速に行える可能なデータ再生装置に関する。
【背景技術】
【0002】
デジタルデータとして記録された音楽データや動画データなどのコンテンツデータを再生可能なデータ再生装置が広く普及している。このようなデータ再生装置では、ユーザが例えば音楽データを再生してる最中に、その再生中の曲を途中で止めて、次の曲にスキップしたい場合もある。このような操作を実現するために、データ再生装置には、いわゆる頭出しという機能が搭載されている。
【0003】
また、ユーザが、再生中の曲を早送りして、再生時間を短くしたい場合もあり、このような操作を実現するために、データ再生装置には、早送りという機能が搭載されている。この早送りでは、再生中の曲の音楽データを、所定の時間間隔で飛び飛びに再生して、再生時間を短縮することにより、再生中の曲の早送りを実現している。
【0004】
しかし、従来のデータ再生装置においては、ハードディスクドライブに格納されているコンテンツデータを、予め定められた一定の大きさに区切って読み出すため、頭出しをした際に、次の曲の再生が始まるまで、ユーザに比較的長い待ち時間が生じていた。また、早送りをする際にも、所定の時間間隔で飛び飛びに再生するために、比較的長いコンテンツデータの読み込み時間が生じていた。すなわち、頭出しや早送りの場合、コンテンツデータを読み込んで格納しておくバッファ領域に、コンテンツデータがまったく無い状態からデータの読み込みを開始するため、バッファ領域にコンテンツデータを格納し終えるまでに、相応の時間が必要になり、その間、ユーザに待ち時間が生じてしまうという問題があった。
【0005】
このような問題を解決するため、特開2003−132629号公報(特許文献1)に開示されているデータ再生装置では、各曲の先頭部分のみの音楽データを集めて、先頭部分だけのデータファイルを生成し、ハードディスクドライブに予め格納しておくこととしている。そして、この先頭部分だけのデータファイルの内容を予めバッファ領域に読み込んでおき、ユーザが頭出しをした際には、バッファにある先頭部分だけのデータファイルにアクセスして、次の曲の再生を始めることにより、迅速な頭出しを実現している。しかし、このような手法では、ハードディスクドライブやバッファ領域に曲の先頭部分だけを集めたデータを格納する領域を確保しなければならず、記憶領域の無駄が発生してしまう。
【特許文献1】特開2003−132629号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
そこで本発明は、前記課題に鑑みてなされたものであり、無駄な記憶領域を消費せずに、頭出しや早送りなどの非連続なコンテンツデータの再生指示を受けた場合でも、ユーザに長い待ち時間が発生するのを回避したデータ再生装置を提供することを目的とする。
【課題を解決するための手段】
【0007】
上記課題を解決するため、本発明に係るデータ再生装置は、
1又は複数のコンテンツデータが格納される、格納手段と、
前記格納手段からコンテンツデータを順次読み出して、連続的に再生する、第1連続再生手段と、
前記第1連続再生手段で連続的にコンテンツデータが再生されている場合に、非連続なコンテンツデータの再生指示である非連続再生指示をユーザが入力する、入力手段と、
前記入力手段から前記非連続再生指示が入力された場合に、前記非連続再生指示に基づくコンテンツデータを前記格納手段から順次読み出してバッファ領域に格納する、読み出し手段であって、読み出すコンテンツデータの大きさを次第に大きくする、読み出し手段と、
前記バッファ領域に格納されたコンテンツデータに基づいて連続的に再生を行う、第2連続再生手段と、
を備えることを特徴とする。
【0008】
この場合、前記読み出し手段が前記コンテンツデータを前記格納手段から順次読み出す場合のコンテンツデータの大きさは、予め定まっているようにしてもよい。
【0009】
或いは、前記読み出し手段が前記コンテンツデータを前記格納手段から順次読み出す場合のコンテンツデータの大きさは、前記格納手段からコンテンツデータを読み出す2回目までは、予め定まっているが、3回目以降は計算により算出するようにしてもよい。
【0010】
この場合、3回目にコンテンツデータを読み出す大きさは、1回目に読み出したコンテンツデータをデコードするのに要した時間と、2回目に読み出したコンテンツデータの大きさに基づいて、2回目に読み出したコンテンツデータを再生するためのデコードに要する時間を推定し、この推定した時間内で読み出せるコンテンツデータの大きさに基づいて、決定するようにしてもよい。
【0011】
この場合、3回目にコンテンツデータを読み出す大きさは、前記推定した時間に、マージンを考慮して、2回目に読み出したコンテンツデータを再生するためのデコードをしている時間内に、3回目に読み出すコンテンツデータの読み出しが終了するように設定してもよい。
【0012】
また、前記コンテンツデータは音楽データであり、前記非連続再生指示は、現在再生中の曲を飛ばして、次の曲の先頭から再生を開始する指示である頭出し指示であってもよい。
【0013】
本発明に係るデータ再生装置の制御方法は、
1又は複数のコンテンツデータが格納されている格納手段から、コンテンツデータを順次読み出して、連続的に再生するステップと、
連続的に前記コンテンツデータが再生されている場合に、非連続なコンテンツデータの再生指示である非連続再生指示をユーザが入力するステップと、
前記非連続再生指示が入力された場合に、前記非連続再生指示に基づくコンテンツデータを前記格納手段から順次読み出してバッファ領域に格納するとともに、読み出すコンテンツデータの大きさを次第に大きくするステップと、
前記バッファ領域に格納されたコンテンツデータに基づいて連続的に再生を行うステップと、
を備えることを特徴とする。
【0014】
本発明に係るプログラムは、
1又は複数のコンテンツデータが格納されている格納手段から、コンテンツデータを順次読み出して、連続的に再生するステップと、
連続的に前記コンテンツデータが再生されている場合に、非連続なコンテンツデータの再生指示である非連続再生指示をユーザが入力するステップと、
前記非連続再生指示が入力された場合に、前記非連続再生指示に基づくコンテンツデータを前記格納手段から順次読み出してバッファ領域に格納するとともに、読み出すコンテンツデータの大きさを次第に大きくするステップと、
前記バッファ領域に格納されたコンテンツデータに基づいて連続的に再生を行うステップと、
をデータ再生装置に実行させることを特徴とする。
【発明を実施するための形態】
【0015】
以下、図面を参照して、本発明の実施形態を説明する。なお、以下に説明する実施形態は、本発明の技術的範囲を限定するものではない。
【0016】
図1は、本実施形態に係るデータ再生装置10の内部構成の一例を説明するためのブロック図である。この図1に示すデータ再生装置10は、例えば、携帯型の情報処理端末や、ノート型コンピュータ、ディスクトップ型コンピュータ、携帯電話などで構成することが可能である。
【0017】
図1に示すように、データ再生装置10は、CPU(Central Processing Unit)20と、RAM(Random Access Memory)22と、ROM(Read Only Memory)24と、ユーザインターフェース26と、表示部28と、オーディオ出力部30を備えて構成されており、これらは互いに内部バス32を介して接続されている。また、データ再生装置10は、ハードディスクドライブ40とメモリ制御部42とをさらに備えて構成されており、ハードディスクドライブ40は、メモリ制御部42を介して、CPU20とRAM22とに接続されている。
【0018】
CPU20は、このデータ再生装置10の各種の制御を行うためのユニットである。具体的には、CPU20は、ROM24又はハードディスクドライブ40に格納された各種のプログラムを実行することにより、データ再生装置10の全体的な制御を行う。RAM22には、CPU20が各種の処理を実行するにあたり必要となる様々なプログラムやデータが一時的に格納される。特に、本実施形態では、ハードディスクドライブ40に格納されている音楽データを再生する際に必要なデータが、RAM22に形成されたバッファ領域に一時的に格納される。
【0019】
ユーザインターフェース26は、ユーザがこのデータ再生装置10を操作する際に、各種の指示を入力するためのインターフェースである。このユーザインターフェース26は、例えば、1又は複数のボタンで構成することができ、表示部28がタッチパネルにより構成されている場合には、表示部28と一体に構成することもできる。
【0020】
表示部26は、例えば、小型のモノクロ液晶ディスプレイやモノクロ液晶表示装置により構成することができる。また、データ再生装置10が、音楽データの他に静止画データや動画データを再生できる場合には、表示部26は、カラー液晶ディスプレイにより構成することができる。オーディオ出力部30は、例えば、小型のスピーカやヘッドフォン出力により構成されており、CPU20の制御に基づいて音楽や音声などのオーディオの出力が行われる。特に本実施形態においては、ハードディスクドライブ40から取得した音楽データが再生され、オーディオ出力部30から出力される。
【0021】
ハードディスクドライブ40には、デジタル形式の音楽データのデータファイルが曲毎に格納されている。ハードディスクドライブ40に格納されている曲目数は任意であり、1又は複数の音楽データが格納される。ハードディスクドライブ40に格納されているデータファイルは、メモリ制御部42を介して、CPU20からの指示に基づいて、RAM22に読み出されて、格納される。すなわち、CPU20がメモリ制御部42に指示をすることにより、ハードディスクドライブ40に格納されている音楽データが読み出されて、RAM22の所定のバッファ領域に格納される。
【0022】
次に、図2及び図3に基づいて、本実施形態に係るデータ再生装置10において、ユーザがある曲の再生中に次の曲の頭出しを指示入力した場合の頭出し処理の概要を説明する。図2は、RAM22に形成されるバッファ領域A、B、Cを示す図であり、図3は、頭出し処理におけるデコード処理とバッファ処理とファイルシステムのフローを示す図である。
【0023】
図2に示したバッファ領域A、B、Cは、RAM22内の連続する領域として確保されても良いし、或いは、各バッファ領域毎に離散した領域として確保されてもよい。本実施形態では、例えば、バッファ領域Aは10Kバイトの大きさで固定であり、バッファ領域Bは100Kバイトの大きさで固定であるが、バッファ領域Cの大きさは可変であり、この図2の例では1Mバイトであるときを示している。バッファ領域Cの大きさを算出する手法は、後述する。
【0024】
また、本実施形態では、音楽データは、ハードディスクドライブ40に格納されている。音楽データは、1曲毎に1つのデータファイルを構成しており、1つのデータファイルには、曲名やアーティスト名、再生時間などの情報が含まれているヘッダと、再生する音楽の情報が含まれている音楽再生データとにより、構成されている。
【0025】
ユーザインターフェース26を用いて、ユーザがデータ再生装置10に頭出しの指示を入力すると、図3に示すように、デコード処理は、次の曲のデコードをするために、次の曲のデータ読み出しをバッファ処理に指示する。この指示を受けて、バッファ処理は、ファイルシステムに、次の曲の音楽データを10Kバイト読み出すように指示をする。この指示を受けて、ファイルシステムは、ハードディスクドライブ40にアクセスし、指定された曲の先頭から10Kバイト分の音楽データを読み出し、バッファ領域Aに格納する。これにより、バッファ領域Aが、音楽データで満たされることになる。
【0026】
バッファ領域Aへの10Kバイトの音楽データの格納が終了すると、ファイルシステムはバッファ処理に、10Kバイトの読み出しの完了を通知する。これを受けて、バッファ処理は、デコード処理に読み出しの完了を通知する。
【0027】
デコード処理では、10Kバイト分の音楽データの読み出しが完了すると、バッファ領域Aから音楽データを取得して、デコード処理を行う。具体的には、まず、音楽データに含まれているヘッダについてヘッダ解析処理を行い、このヘッダ解析処理が終了した後に、音楽データを再生するために音楽再生データについてデコード処理を行う。
【0028】
デコード処理がバッファ領域Aに格納された音楽データのデコードをしている間に、バッファ処理は、ファイルシステムに、読み出しの終えた音楽データの続きを100Kバイト分、読み出すように指示をする。これを受けて、ファイルシステムは、ハードディスクドライブ40にアクセスして、音楽データの続きを100Kバイト分読み出して、バッファ領域Bに格納する。バッファ領域Bへの音楽データの格納は、バッファ領域Aに格納された音楽データに基づくデコードをデコード処理が行っている間に、終了するように設定しておく。すなわち、2回目に音楽データを読み出して、バッファ領域Bに格納するのに要する時間が、1回目に読み出してバッファ領域Aに格納された音楽データのデコードをするのに要する時間より、短くなるように、設定しておく。
【0029】
デコード処理が、バッファ領域Aに格納された音楽データのデコードが終了すると、引き続き、バッファ領域Bに格納された音楽データのデコードを開始する。この時点では、既に、バッファ領域Bに音楽データが格納されているので、デコード処理は、バッファ処理による音楽データの読み出しを待つことなく、デコード処理を継続することができる。
【0030】
デコード処理がバッファ領域Bに格納された音楽データのデコードをしている間に、バッファ処理とファイルシステムは、バッファ領域Bに格納した音楽データの続きのデータをハードディスクドライブ40から読み出して、バッファ領域Cに格納する。このため、デコード処理がバッファ領域Bに格納された音楽データのデコードが終了した時点では、続きの音楽データがバッファ領域Cに既に格納されていることとなり、デコード処理に待ち時間が生じることなく、音楽データのデコードを行うことができる。
【0031】
このような処理を繰り返すことにより、頭出しを指示したユーザに対して生じる待ち時間を、最初のバッファ領域Aに音楽データを格納するのに要する時間だけにすることができる。ここで、バッファ領域Aは10Kバイトという小さい大きさであるので、音楽データを読み出すのに要する時間は比較的短く、ユーザの待ち時間も同様に短くなる。
【0032】
次に、図4及び図5に基づいて、上述したデコード処理及びバッファ処理について、詳しく説明する。なお、ファイルシステムの処理は、一般的なハードディスクドライブに対するファイル管理システムの処理と同様であるので、ここでは詳しい説明を省略する。
【0033】
図4は、上述したデコード処理の内容を説明するフローチャートを示す図である。この図4に示すデコード処理は、ROM24又はハードディスクドライブ40に格納されているデコード処理プログラムをCPU20が読み込んで実行することにより、実現される処理である。また、このデコード処理は、ユーザが、ある曲の再生中に、ユーザインターフェース26を操作して、データ再生装置10に次の曲の頭出しを指示した場合に、起動される処理である。
【0034】
図5は、上述したバッファ処理の内容を説明するフローチャートを示す図である。この図5に示すバッファ処理は、ROM24又はハードディスクドライブ40に格納されているバッファ処理プログラムをCPU20が読み込んで実行することにより、実現される処理である。また、このバッファ処理は、デコード処理からの起動指示を受けて、起動される処理である。
【0035】
図4に示すように、本実施形態に係るデータ再生装置10のデコード処理においては、まず、デコード処理からバッファ処理に対して、今再生している曲の次の曲の音楽データの読み込みを指示する(ステップS100)。これにより、図5に示したバッファ処理が起動される。
【0036】
次に、図4に示すように、データ再生装置10は、必要な音楽データが、RAM22に格納されているかどうかを判断する(ステップS110)。具体的には、RAM22のバッファ領域に、必要な音楽データが格納されているかどうかを判断する。本実施形態においては、このデコード処理が起動された当初は、音楽データは、バッファ領域Aに格納されるので、バッファ領域Aに必要な音楽データが格納されているかどうかを判断する。
【0037】
RAM22に必要な音楽データが格納されていない場合(ステップS110:NO)には、データ再生装置10は、このステップS110の判断を繰り返して、必要な音楽データがRAM22に格納されるまで待機する。
【0038】
一方、RAM22に必要な音楽データが格納されている場合(ステップS110:YES)には、データ再生装置10は、RAM22から必要な音楽データを取得して、ヘッダ解析を行う(ステップS120)。すなわち、データ再生装置10は、音楽データのヘッダ情報を解析して、これから再生する曲の曲名やアーティスト名、再生時間などの情報を取得する。これらの取得した情報は、表示部28に表示されるようにすることもできる。
【0039】
次に、データ再生装置10は、ヘッダ解析が終了したかどうかを判断する(ステップS130)。例えば、バッファ領域Aに格納された音楽データに基づいて、ヘッダ解析が終了したかどうかを判断する。ヘッダ解析が終了していない場合(ステップS130:NO)には、ステップS110に戻り、バッファ領域Bに必要な音楽データが既にあるかどうかを判断し、このステップS110からの処理を繰り返す。
【0040】
一方、ヘッダ解析が終了した場合(ステップS130:YES)、すなわち、例えばバッファ領域Aに格納された音楽データに基づいて、ヘッダ解析が終了した場合には、データ再生装置10は、音楽再生のためのデコードをするのに必要な音楽データが、RAM22に格納されているかどうかを判断する(ステップS140)。
【0041】
RAM22に必要な音楽データが格納されていない場合(ステップS140:NO)には、データ再生装置10は、このステップS140の判断を繰り返して、必要な音楽データがRAM22に格納されるまで待機する。上述したように、通常であれば、バッファ領域Aに格納されている音楽データのデコードをしている間に、バッファ領域Bに続きとなる音楽データが格納され終えているので、このステップS140で待機する事態は生じない。
【0042】
RAM22に必要な音楽データが格納されている場合(ステップS140:YES)には、データ再生装置10は、RAM22に格納されている音楽データに基づいて、音楽再生を行うためのデコード処理をする(ステップS150)。例えば、バッファ領域Aに格納されている音楽データだけで、上述したヘッダ解析が終了した場合には、このバッファ領域Aには音楽再生のための音楽再生データも格納されていることとなる。このため、データ再生装置10は、このバッファ領域Aから音楽データの音楽再生データを取得して、音楽再生のためのデコードを行う。
【0043】
続いて、データ再生装置10は、音楽データを取得したバッファ領域にあるデータで、1曲分の音楽再生のためのデコード処理が終了したかどうかを判断する(ステップS160)。例えば、バッファ領域Aから音楽データを取得して、音楽再生のためのデコード処理をしていた場合には、このバッファ領域Aにある音楽データにより、その曲の最後までのデコード処理が終了したかどうかを判断する。
【0044】
1曲分の音楽再生のためのデコード処理が終了していない場合(ステップS150:NO)には、上述したステップS140に戻り、次のバッファ領域に必要な音楽データが格納されているかどうかを判断し、上述と同様の処理を繰り返す。例えば、バッファ領域Aに格納されている音楽データによる音楽再生のためのデコード処理が終了した場合には、次のバッファ領域Bに、必要な音楽データが格納されているかどうかを判断する。上述したように、通常であれば、バッファ領域Aに格納されている音楽データのデコードをしている間に、バッファ領域Bに続きとなる音楽データが格納され終えているので、このステップS150で待機する事態は生じない。また、通常であれば、バッファ領域Bに格納されている音楽データのデコードをしている間に、バッファ領域Cに続きとなる音楽データが格納され終えているので、このステップS150で待機する事態は生じない。
【0045】
一方、1曲分の音楽再生のためのデコード処理が終了した場合(ステップS150:YES)には、図4に示したデコード処理を終了する。
【0046】
この図4のデコード処理が終了すると、通常のデコード処理を行う。すなわち、連続的に複数の曲を順次再生している場合において、次の曲があれば、次の曲の音楽データを、ハードディスクドライブ40からRAM22のバッファ領域に読み出して、ヘッダ解析処理や音楽再生のためのデコード処理を行う。通常、次の曲の音楽データのハードディスクドライブ40からの読み出しは、前の曲の音楽再生をしている間や、曲間に行われる。このため、次の曲の音楽再生が開始するまでユーザが待たされるという状況は発生しない。
【0047】
次に、図5に基づいて、本実施形態に係るバッファ処理について詳しく説明する。この図5に示すように、本実施形態に係るバッファ処理においては、データ再生装置10は、ハードディスクドライブ40から、指定された音楽データを先頭から10Kバイト分読み出して、RAM22のバッファ領域Aに格納する(ステップS200)。この10Kバイト分の読み出しが終了した時点で、バッファ処理はバッファ領域Aの読み込み終了フラグを立てることにより、デコード処理に、バッファ領域Aの音楽データの読み込みが終了したことを通知する。
【0048】
次に、データ再生装置10は、ハードディスクドライブ40から、指定された音楽データの続きを100Kバイト分読み出して、RAM22のバッファ領域Bに格納する(ステップS210)。この100Kバイト分の読み出しが終了した時点で、バッファ処理はバッファ領域Bの読み込み終了フラグを立てることにより、デコード処理に、バッファ領域Bの音楽データの読み込みが終了したことを通知する。
【0049】
次に、データ再生装置10は、次の音楽データの読み込み量を計算し、バッファ領域Cの大きさを決定する(ステップS220)。音楽データの読み込み量は、デコード処理がバッファ領域Bの音楽データのデコードをしている間に終了できる大きさであればよく、この算出手法には、様々なものが考えられる。本実施形態では、例えば、読み込みサイズ=(前回取得したデータサイズ)/(CPU20の単位時間あたりの処理サイズ)×(ハードディスクドライブ40のデータ転送速度)×(マージン係数)により、算出することとしている。
【0050】
本実施形態においては、前回取得したデータサイズは、バッファ領域Bの100Kバイトである。また、CPU20の単位時間あたりの処理サイズについては、バッファ領域Aの音楽データをデコード処理するのに要した時間に基づいて算出する。例えば、10Kバイトのバッファ領域Aの音楽データのデコードをするのに10m秒かかったとすると、1秒当たりの処理サイズは100Kバイトとなる。
【0051】
ハードディスクドライブ40のデータ転送速度は予め定められた固定値であり、例えば、10Mバイト/秒である。マージン係数は、音楽データの読み込みよりも、バッファ領域Bに格納された音楽データのデコード処理の方が早く終了してしまうのを回避するためにマージンを確保する係数であり、例えば、0.9である。これらの数値を代入すると、100Kバイト/100Kバイト×10Mバイト×0.9=9Mバイトとなる。したがって、次に音楽データを読み込むデータの大きさは、9Mバイトとなり、バッファ領域Cのサイズも9Mバイトとなる。
【0052】
次に、データ再生装置10は、ハードディスクドライブ40から、音楽データの続きを、ステップS220で算出した大きさだけ読み出して、RAM22のバッファ領域に格納する(ステップS230)。例えば、バッファ領域Cのサイズと読み込むデータの量をステップS220で算出した場合には、この算出された大きさで音楽データを読み出して、バッファ領域Cに格納する。この読み出しが終了した時点で、バッファ処理はバッファ領域Cの読み込み終了フラグを立てることにより、デコード処理に、バッファ領域Cの音楽データの読み込みが終了したことを通知する。
【0053】
次に、データ再生装置10は、ステップS230で読み出した音楽データで、その曲の音楽データが終了したかどうかを判断する(ステップS240)。すなわち、再生してる音楽データの最後までデータの読み出しをしたかどうかを判断する。
【0054】
読み出した曲の音楽データが最後まで終了していない場合(ステップS240:NO)には、上述したステップS220に戻り、ステップS220からを繰り返す。すなわち、読み出す音楽データの読み込み量を算出し、音楽データの続きを読み出す。音楽データを読み出す量は、前回算出した量よりも大きくなり、バッファ領域の大きさも次第に大きくなる。
【0055】
但し、既にステップS220でバッファ領域Cの大きさを決定しているので、再びステップS220で再計算することなく、バッファ領域Cと同じ大きさで、さらに続きの音楽データを読み出して、バッファ領域D、バッファ領域E・・・というように順次格納するようにしても良い。
【0056】
一方、読み出した曲の音楽データが最後まで終了した場合(ステップS240:YES)には、この図5に示した頭出しの際のバッファ処理を終了する。
【0057】
以上のように、本実施形態に係るデータ再生装置10によれば、ユーザが再生中の曲を飛ばして、次の曲の頭出しをデータ再生装置10に指示した場合には、データ再生装置10は、次の曲の音楽データを先頭から読み出すこととになるが、この際、初めは小さい10Kバイトの音楽データをハードディスクドライブ40から読み出してバッファ領域Aに格納し、その後、次第に大きなサイズで音楽データを読み出すこととした。このため、1回目に音楽データを読み出す際に必要な時間は比較的短くて足りるようになり、頭出しを指示した後、次の曲の再生が開始されるまでのユーザの待ち時間を可及的に短くすることができる。すなわち、小さなサイズの音楽データをバッファ領域Aにまず読み込んでデコードを開始することにより、大きなサイズの音楽データを読み込んでからデコードを開始する場合と比べて、音楽データのデコード開始のタイミングを早くすることができ、結果的に、次の曲の再生を開始するまでのユーザの待ち時間を短くすることができる。
【0058】
また、バッファ領域C以降については、読み出すデータのサイズを、これまでのデコード処理に要した実績時間に応じて、計算により決定することとしたので、より適切な大きさの音楽データを読み出して、バッファ領域に格納することができる。すなわち、バッファ領域Bに格納されている音楽データのデコードに要する時間を推定し、この推定された時間内で読み出せるデータ量に応じて、バッファ領域Cの大きさを決めることとした。このため、より適切な大きさのバッファ容量を用いて、ハードディスクドライブ40から音楽データを効率的に読み出しをすることができる。
【0059】
なお、本発明は上記実施形態に限定されず種々に変形可能である。例えば、上述した実施形態では、バッファ領域C以降は、読み出す音楽データの大きさを計算により算出することとしたが、バッファ領域C以降についても、バッファ領域A、バッファ領域Bに音楽データを読み込むのと同様に、予めバッファ領域の大きさを定めておくようにしてもよい。すなわち、1回目、2回目、3回目・・・に読み出す音楽データの量を、固定的に予め定めておくようにしてもよい。
【0060】
また、音楽データを読み出す量は、最初は次第に大きくなるが、ある一定回数以降に読み出す音楽データの量は、所定の大きさ以上増えないように固定値にすることが可能である。この固定値の大きさは、通常、音楽データを連続的に再生している場合の先読みのデータ量と同じにすればよい。
【0061】
また、上述した実施形態では、連続的に曲が再生されている状況で、非連続なコンテンツデータの読み出し指示として、頭出し指示がデータ再生装置10に入力された場合を例に本発明を説明したが、非連続なコンテンツデータの読み出し指示は、頭出し指示に限るものではない。例えば、再生している曲を飛び飛びに再生して早送りする早送り指示がデータ再生装置10に入力された場合でも、本発明を適用することができる。
【0062】
また、上述した実施形態では、データ再生装置10がコンテンツデータとして音楽データを再生する場合を例に、本発明を説明したが、データ再生装置10が再生するコンテンツデータは音楽データに限らず、動画データなど、複数のコンテンツのコンテンツデータを連続的に再生するデータ再生装置であれば、本発明を適用することができる。
【0063】
また、上述した実施形態では、図3に示したデコード処理、バッファ処理、ファイルシステムの処理は、ソフトウェアにより実現する例を説明したが、これらの処理はASIC(Application Specific IC)などのハードウェアにより実現するようにしてもよい。
【図面の簡単な説明】
【0064】
【図1】本発明の一実施形態に係るデータ再生装置の内部構成の一例を説明するブロック図。
【図2】図1のデータ再生装置に形成されるバッファ領域の一例を説明するための図。
【図3】図1のデータ再生装置において、頭出しの指示が入力された場合の処理を概略的に説明するフロー図。
【図4】図1のデータ再生装置において実行されるデコード処理の内容を説明するためのフローチャートを示す図。
【図5】図1のデータ再生装置において実行されるバッファ処理の内容を説明するためのフローチャートを示す図。
【符号の説明】
【0065】
10 データ再生装置
20 CPU
22 RAM
24 ROM
26 ユーザインターフェース
28 表示部
30 オーディオ出力部
32 内部バス
40 ハードディスクドライブ
42 メモリ制御部

【特許請求の範囲】
【請求項1】
1又は複数のコンテンツデータが格納される、格納手段と、
前記格納手段からコンテンツデータを順次読み出して、連続的に再生する、第1連続再生手段と、
前記第1連続再生手段で連続的にコンテンツデータが再生されている場合に、非連続なコンテンツデータの再生指示である非連続再生指示をユーザが入力する、入力手段と、
前記入力手段から前記非連続再生指示が入力された場合に、前記非連続再生指示に基づくコンテンツデータを前記格納手段から順次読み出してバッファ領域に格納する、読み出し手段であって、読み出すコンテンツデータの大きさを次第に大きくする、読み出し手段と、
前記バッファ領域に格納されたコンテンツデータに基づいて連続的に再生を行う、第2連続再生手段と、
を備えることを特徴とするデータ再生装置。
【請求項2】
前記読み出し手段が前記コンテンツデータを前記格納手段から順次読み出す場合のコンテンツデータの大きさは、予め定まっている、ことを特徴とする請求項1に記載のデータ再生装置。
【請求項3】
前記読み出し手段が前記コンテンツデータを前記格納手段から順次読み出す場合のコンテンツデータの大きさは、前記格納手段からコンテンツデータを読み出す2回目までは、予め定まっているが、3回目以降は計算により算出する、ことを特徴とする請求項1に記載のデータ再生装置。
【請求項4】
3回目にコンテンツデータを読み出す大きさは、1回目に読み出したコンテンツデータをデコードするのに要した時間と、2回目に読み出したコンテンツデータの大きさに基づいて、2回目に読み出したコンテンツデータを再生するためのデコードに要する時間を推定し、この推定した時間内で読み出せるコンテンツデータの大きさに基づいて、決定する、ことを特徴とする請求項3に記載のデータ再生装置。
【請求項5】
3回目にコンテンツデータを読み出す大きさは、前記推定した時間に、マージンを考慮して、2回目に読み出したコンテンツデータを再生するためのデコードをしている時間内に、3回目に読み出すコンテンツデータの読み出しが終了するように設定する、ことを特徴とする請求項4に記載のデータ再生装置。
【請求項6】
前記コンテンツデータは音楽データであり、前記非連続再生指示は、現在再生中の曲を飛ばして、次の曲の先頭から再生を開始する指示である頭出し指示である、ことを特徴とする請求項1乃至請求項5のいずれかに記載のデータ再生装置。
【請求項7】
1又は複数のコンテンツデータが格納されている格納手段から、コンテンツデータを順次読み出して、連続的に再生するステップと、
連続的に前記コンテンツデータが再生されている場合に、非連続なコンテンツデータの再生指示である非連続再生指示をユーザが入力するステップと、
前記非連続再生指示が入力された場合に、前記非連続再生指示に基づくコンテンツデータを前記格納手段から順次読み出してバッファ領域に格納するとともに、読み出すコンテンツデータの大きさを次第に大きくするステップと、
前記バッファ領域に格納されたコンテンツデータに基づいて連続的に再生を行うステップと、
を備えることを特徴とするデータ再生装置の制御方法。
【請求項8】
1又は複数のコンテンツデータが格納されている格納手段から、コンテンツデータを順次読み出して、連続的に再生するステップと、
連続的に前記コンテンツデータが再生されている場合に、非連続なコンテンツデータの再生指示である非連続再生指示をユーザが入力するステップと、
前記非連続再生指示が入力された場合に、前記非連続再生指示に基づくコンテンツデータを前記格納手段から順次読み出してバッファ領域に格納するとともに、読み出すコンテンツデータの大きさを次第に大きくするステップと、
前記バッファ領域に格納されたコンテンツデータに基づいて連続的に再生を行うステップと、
をデータ再生装置に実行させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2008−171523(P2008−171523A)
【公開日】平成20年7月24日(2008.7.24)
【国際特許分類】
【出願番号】特願2007−5597(P2007−5597)
【出願日】平成19年1月15日(2007.1.15)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】