(57)【特許請求の範囲】
【請求項１】
ビットレートが記録されたフレームからなる再生データを再生するとともに、再生データの再生開始からの再生経過時刻を、再生フレームのビットレートに基づいて出力する情報再生装置であって、一連の複数個の再生データが記録された記録媒体からＮ番目（Ｎは１以上の整数）の再生データを再生するときに、再生フレーム位置が再生データ中でビットレートが相対的に低い特定区間である場合には、再生フレームのビットレートの代わりに、以前に（Ｎ＋１）番目の再生データを再生した際に取得した前記（Ｎ＋１）番目の再生データのビットレートと、再生フレームの再生データ先頭からの相対位置とを用いて再生経過時刻を算出することを特徴とする情報再生装置。
【請求項２】
ビットレートが記録されたフレームからなる再生データを再生するとともに、再生データの再生開始からの再生経過時刻を、再生フレームのビットレートに基づいて出力する情報再生装置であって、一連の複数個の再生データが記録された記録媒体からＮ番目（Ｎは２以上の整数）の再生データを再生するときに、再生フレーム位置が再生データ中でビットレートが相対的に低い特定区間である場合には、再生フレームのビットレートの代わりに、以前に（Ｎ−１）番目の再生データを再生した際に取得した前記（Ｎ−１）番目の再生データのビットレートと、再生フレームの再生データ先頭からの相対位置とを用いて再生経過時刻を算出することを特徴とする情報再生装置。
【請求項３】
前記特定区間は、再生データの先頭近辺のビットレートが相対的に低い区間である請求項１または２記載の情報再生装置。
【請求項４】
前記特定区間は、再生データの末尾近辺のビットレートが相対的に低い区間である請求項１または２記載の情報再生装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ビットレートが記録されたフレームからなる再生データを再生する際に、経過時刻表示を行う情報再生装置に関するものである。
【背景技術】
【０００２】
近年、ＡＶデータの再生機器においては、そのＡＶデータの再生経過時間を、リモコンや機器本体のＬＣＤ画面等に表示することが多い。特に、ポータブルＣＤプレーヤ、ＳＤメモリ（半導体メモリ）プレーヤ、ハードディスクプレーヤにおいては、再生データとしてＭＰ３（Ｍｐｅｇ  Ａｕｄｉｏ  Ｌａｙｅｒ−３）を用いて圧縮されたデータが用いられることが多いが、ＭＰ３の曲データ内には、再生経過時刻情報が記録されていないため、曲の先頭から再生する際は、機器の自走クロックによって再生経過時刻を自動カウントアップして表示し、曲の途中から再生する際は、その途中再生するフレームのビットレートと再生データ先頭からの相対位置(バイト数等)から再生経過時刻を計算して表示していた（特許文献１参照）。
【特許文献１】特開２００３−１５６９１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、ＭＰ３データが可変ビットレート（ＶＢＲ；Ｖａｒｉａｂｌｅ  Ｂｉｔ  Ｒａｔｅ）で圧縮されている場合、曲の先頭数秒間、末尾数秒間は、極端にビットレートが低く抑えられている場合が多く、この部分から途中再生を開始する際、特許文献１のように、そのフレームのビットレートを用いて再生経過時刻を計算すると、計算した経過時刻が実際の経過時刻と比べて大幅にずれてしまい、再生経過時刻をたよりに再生位置をさがすユーザにとっては、非常に利便性を損なうという課題があった。
【０００４】
本発明は、可変ビットレートの再生データのサーチ再生などの特殊再生を行う場合でも、再生経過時刻を簡易な方法で精度良く実現できる情報再生装置の提供を目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明の情報再生装置は、ビットレートが記録されたフレームからなる再生データを再生するとともに、再生データの再生開始からの再生経過時刻を、再生フレームのビットレートに基づいて出力する情報再生装置であって、一連の複数個の再生データが記録された記録媒体からＮ番目（Ｎは１以上の整数）の再生データを再生するときに、再生フレーム位置が再生データ中でビットレートが相対的に低い特定区間である場合には、再生フレームのビットレートの代わりに、以前に（Ｎ＋１）番目の再生データを再生した際に取得した前記（Ｎ＋１）番目の再生データのビットレートと、再生フレームの再生データ先頭からの相対位置とを用いて再生経過時刻を算出することを特徴とする。
【０００７】
また、本発明の情報再生装置は、ビットレートが記録されたフレームからなる再生データを再生するとともに、再生データの再生開始からの再生経過時刻を、再生フレームのビットレートに基づいて出力する情報再生装置であって、一連の複数個の再生データが記録された記録媒体からＮ番目（Ｎは２以上の整数）の再生データを再生するときに、再生フレーム位置が再生データ中でビットレートが相対的に低い特定区間である場合には、再生フレームのビットレートの代わりに、以前に（Ｎ−１）番目の再生データを再生した際に取得した前記（Ｎ−１）番目の再生データのビットレートと、再生フレームの再生データ先頭からの相対位置とを用いて再生経過時刻を算出することを特徴とする。
【０００８】
本発明の情報再生装置において、前記特定区間は、再生データの先頭近辺のビットレートが相対的に低い区間であることが好ましい。
【０００９】
同様に前記特定区間は、再生データの末尾近辺のビットレートが相対的に低い区間であることが好ましい。
【発明の効果】
【００１８】
本発明は、ビットレートが記録されたフレームからなる再生データ（ＭＰ３など）を再生する情報再生装置において、再生データが可変ビットレートで圧縮されている場合、再生経過時刻を表示する際に、再生データの先頭近辺や末尾近辺のフレームのビットレートが再生データ全体の平均ビットレートとかけはなれて低いことに着目したものであり、高価・高性能なプロセッサを用いなくても、より精度の高い再生経過時刻表示を実現することが可能になる。
【発明を実施するための最良の形態】
【００２７】
以下、本発明の各実施の形態及び参考の形態の情報再生装置について、図面を参照しつつ説明する。
（参考の形態１）
図１は本発明の参考の形態１における情報再生装置の構成を示す図であり、図５は従来のリバースサーチ再生のアクセスの様子を示す図、図６は図１におけるリバースサーチ再生のアクセスの様子を示す図、図７は従来のフォワードサーチ再生のアクセスの様子を示す図、図８は図１におけるフォワードサーチ再生のアクセスの様子を示す図、図９、図１０はＭＰ３データのフレーム構造の一例を示す図、図１１は図１におけるリバースサーチ再生のフローチャートを示す図、図１２は図１におけるフォワードサーチ再生のフローチャートを示す図、図１９は可変ビットレート（ＶＢＲ）のＭＰ３データのビットレート変動を示す図である。
【００２８】
図１に示すように、情報再生装置は、再生データ格納部１０１、キー受付部１０２、再生制御部１０３、再生データ再生部１０４、クロック部１０５、再生経過時刻計算部１０６、表示部１０７、再生停止情報記憶部１０８、サーチ再生制御部１０９、開始位置終了位置記憶部１１０を含んで構成される。
【００２９】
このように構成された情報再生装置について、以下、図面を参照して動作を説明する。
図１に示すように、情報再生装置は、再生データ格納部１０１を有する。この再生データ格納部１０１は、光ディスクやメモリカードなどの可搬性メディアであっても、内蔵メモリなどの非可搬性デバイスであっても、どちらでもよいし、再生データがオーディオデータであってもＡＶデータであっても、限定するものではない。本参考の形態では、再生データ格納部１０１に、ＭＰ３データが格納されているものとして説明する。
【００３０】
ここで、図９、図１０を用いて、ＭＰ３データについて簡単に説明する。図９に示すように、ＭＰ３データ９０１は、フレーム９０２、フレーム９０３、フレーム９０４、フレーム９０５、・・・、フレーム９０６のような連続したフレームからなり、さらに各フレームは、フレームヘッダ９０７、フレームデータ９０８からなり、さらに各フレームヘッダは、同期ヘッダ９０９、ビットレート情報９１０などからなる。ＭＰ３の音楽データはフレームデータ９０８に格納されている。そして、図１０に示すように、ＭＰ３データ１００１の先頭から２００セクタ目に位置するＣフレーム１００２の再生経過時刻は、ＭＰ３データ１００２が固定ビットレート１２８ｋｂｐｓであると仮定すると、以下の計算式で算出できる。
再生経過時刻＝２００[セクタ]×２０４８[バイト]×８[ビット]÷１２８０００[ｂｐｓ]＝２５．６[秒]
【００３１】
まず、再生開始動作について説明する。情報再生装置は、ＭＰ３データを格納した再生データ格納部１０１を有し、キー受付部１０２から再生開始指示を受け、再生制御部１０３は、再生データ格納部１０１に対して再生すべき再生データの取得指示を行う。再生データ格納部１０１は、再生データ再生部１０４に対して再生データの出力を行い、再生データ再生部１０４は、その再生データ（ＭＰ３データ）をデコードして再生信号出力として出力する。
【００３２】
これと同時に、再生制御部１０３は、再生経過時刻計算部１０６に対して時刻リセットを行い、再生経過時刻計算部１０６は表示部１０７に対して”０：００”の表示指示を行い、表示部１０７はそれを経過時刻表示として出力する。この再生開始以降、再生データ再生部１０４の再生が継続されている間は、再生経過時刻計算部１０６は、クロック１０５により、自動的に時刻をカウントアップし続ける。
【００３３】
次に、再生停止動作について説明する。キー受付部１０２から再生停止指示を受けると、再生制御部１０３は、再生データ格納部に対して再生データの取得指示を停止する。再生データ格納部１０１は、再生データ再生部１０４に対して再生データの出力を停止し、再生データ再生部１０４は、再生データ（ＭＰ３データ）のデコードを停止する。
【００３４】
これと同時に、再生制御部１０３は、再生経過時刻計算部１０６に対して自動カウントアップしていた再生経過時刻の再生停止時刻を取得して、再生停止位置とともに再生停止情報記憶部１０８に記憶する。
【００３５】
次に、再生再開動作について説明する。キー受付部１０２から再生再開指示を受けると、キー受付部１０２から再生開始指示を受け、再生制御部１０３は、再生停止情報記憶部１０８から再生停止位置を取得し、再生データ格納部１０１に対して再生すべき再生再開データ（停止した位置の続きから）の取得指示を行う。再生データ格納部１０１は、再生データ再生部１０４に対して再生データの出力を行い、再生データ再生部１０４は、その再生データ（ＭＰ３データ）をデコードして再生信号出力として出力する。
【００３６】
これと同時に、再生制御部１０３は、再生停止情報記憶部１０８から再生停止時刻を取得し、再生経過時刻計算部１０６に対してリジューム再生時刻（停止した時刻の続きから）の設定を行い、再生経過時刻計算部１０６は表示部１０７に対してリジューム再生時刻の表示指示を行い、表示部１０７はそれを経過時刻表示として出力する。この再生再開以降、再生データ再生部１０４の再生が継続されている間は、再生経過時刻計算部１０６は、クロック１０５により、自動的に時刻をカウントアップし続ける。
【００３７】
次に、再生途中のリバースサーチ再生（早戻し再生）動作の基本原理について説明する。キー受付部１０２からリバースサーチ再生開始指示を受け、サーチ再生制御部１０９は、再生データ格納部１０１に対してリバースサーチ再生すべき再生データの取得指示を行う。リバースサーチ再生は、再生データの一部分の再生を連続してリバース方向に行うことで実現するものであり、リバースサーチ再生すべき再生データの取得指示は、キー受付部１０２がリバースサーチ再生開始指示が継続している間中行われ、再生データ格納部１０１は、そのたびに再生データ再生部１０４に対して再生データの出力を行い、再生データ再生部１０４は、その再生データ（ＭＰ３データ）をデコードして再生信号出力として出力する。
【００３８】
これと同時に、サーチ再生制御部１０９は、再生経過時刻計算部１０６に対してサーチ再生時刻の表示指示を行い、表示部１０７はそれを経過時刻表示として出力する。再生途中のフォワードサーチ再生（早送り再生）動作の基本原理についても原理は同じである。
【００３９】
ここで、リバースサーチ再生動作について、図５、図６を用いて、さらに詳しく説明する。図５に示すように、再生データ格納部１０１に、再生データ（Ｎ−１曲目）５０１、再生データ（Ｎ曲目）５０２、再生データ（Ｎ＋１曲目）５０３が連続して記録されているとする。ただし、本発明の趣旨においては、必ずしも連続して記録されている必要はないため、格納位置を限定するものではない。
【００４０】
まず１回目のリバースサーチ再生について説明する。再生データ（Ｎ＋１曲目）５０３のCURRENT_MSFの位置を再生中、再生経過時刻は、クロック１０５により自動カウントアップされ、CURRENT_TIMEとなっている。ここで、リバースサーチ再生指示があった場合、サーチ再生制御部１０９は、再生制御部１０３から現在再生位置CURRENT_MSFを、再生経過時刻計算部１０６から現在再生経過時刻CURRENT_TIMEを取得する（Ｓ１１０１）。
【００４１】
次に、その現在再生位置(CURRENT_MSF)と再生経過時刻(CURRENT_TIME)から、以下の計
算式により、再生データ（Ｎ＋１曲目）５０３の再生データの平均ビットレートAVG_BITRATEを計算する（Ｓ１１０２）。本参考の形態では、再生位置はセクタ単位であるとし、１セクタは２０４８バイトであると仮定するが、これに限定するものではない。
AVG_BITRATE＝(CURRENT_MSF×2048×8)÷CURRENT_TIME
【００４２】
そして、この平均ビットレートAVG_BITRATEから、以下の計算式により、サーチ再生周期INTERVAL_MSFを計算する（Ｓ１１０３）。本参考の形態では、サーチ再生周期はセクタ単位であるとし、サーチ再生の時間周期を3秒と仮定するが、これに限定するものではない。
INTERVAL_MSF＝(3秒×AVG_BITRATE÷8)÷2048
【００４３】
そして、このサーチ再生周期INTERVAL_MSFから、以下の計算式により、次のサーチ再生を行う位置NEXT_MSFを計算する（Ｓ１１０４）。
NEXT_MSF＝CURRENT_MSF−INTERVAL_MSF
このNEXT_MSFがSEARCH_MSF(p)である。
【００４４】
そして、このNEXT_MSFの位置が再生データ（Ｎ＋１曲目）５０３の範囲内であるかどうかを判断する（Ｓ１１０５）。SEARCH_MSF(p)は再生データ（Ｎ＋１曲目）５０３の範囲内であるため、以下の計算式により、そのNEXT_MSFでの再生経過時刻NEXT_TIMEを予測計算する（Ｓ１１０６）。
NEXT_TIME＝NEXT_MSF×2048×8÷AVG_BITRATE
【００４５】
そして、その再生経過時刻NEXT_TIMEを表示しつつ、サーチ再生位置NEXT_MSFにアクセスを行い、そこからサーチ再生(p)で200msecだけ再生を行う（Ｓ１１０７）。本参考の形態では、サーチ再生時間を200msecと仮定するが、これに限定するものではない。そして、今回のサーチ再生位置NEXT_MSFをCURRENT_MSFに保存する（Ｓ１１０８）。
【００４６】
次に、２回目のリバースサーチ再生について説明する。１回目のサーチ再生の後、キー受付部１０２からリバースサーチが継続指示されているか判断し（Ｓ１１２０）、継続指示されていないなら終了するが、本参考の形態では指示が継続されているものと仮定し、説明を続ける。
【００４７】
サーチ再生周期INTERVAL_MSFは、すでに計算されているため、以下の計算式により、次のサーチ再生を行う位置NEXT_MSFを再び計算する（Ｓ１１０４）。
NEXT_MSF＝CURRENT_MSF−INTERVAL_MSF
このNEXT_MSFがSEARCH_MSF(1)である。
【００４８】
そして、このNEXT_MSFの位置が再生データ（Ｎ＋１曲目）５０３の範囲内であるかどうかを判断する（Ｓ１１０５）。SEARCH_MSF(1)は再生データ（Ｎ＋１曲目）５０３の範囲外である、つまり曲が再生データ（Ｎ曲目）５０２に変化しているため、まず、開始位置終了位置記憶部１１０より、再生データ（Ｎ曲目）５０２の開始位置START_MSF(N)および終了位置END_MSF(N)を取得し、これらをSTART_MSFおよびEND_MSFとする（Ｓ１１１０）。
【００４９】
図１９は、可変ビットレート（ＶＢＲ）のＭＰ３データのビットレート変動の一例を示している。図に示す通り、ＭＰ３データの先頭近辺と末尾近辺が、極端にビットレートが低いことがわかる。
【００５０】
図５に示すように、SEARCH_MSF(1)において、サーチ再生(1)を行う際、再生データ（Ｎ曲目）５０２が可変ビットレート（ＶＢＲ）である場合、末尾近辺FADEOUT_MSFから終了位置END_MSF(N)までのビットレートが、再生データ（Ｎ曲目）５０２全体の平均ビットレートより極端に低い場合があり、このSEARCH_MSF(1)で得られたビットレートを用いてＳ１１０６のように再生経過時刻を計算すると、実際の再生データ（Ｎ曲目）５０２のSEARCH_MSF(1)の位置での再生経過時刻と大幅なずれが生じる可能性がある。例えば、平均ビットレートが約１２８ｋｂｐｓで末尾のビットレートが３２ｋｂｐｓの場合、サーチ再生(1)において、再生経過時刻表示が、４分の曲であるにもかかわらず１６分と表示されてしまい、ユーザに混乱を生じさせてしまう恐れがある。
【００５１】
そこで、本参考の形態では、図６のように、再生開始位置START_MSFからFADEOUT_MSFまでの間で、擬似ビットレートを取得するために擬似再生を行うための擬似再生位置DUMMY_MSFを決定し（Ｓ１１１１）、サーチ再生制御部１０９は、再生データ格納部１０１に対
して擬似再生すべき再生データ（擬似再生位置DUMMY_MSFのフレーム）の取得指示を行う。
【００５２】
ここで、DUMMY_MSFの位置を決定する際、再生データの先頭付近や末尾付近以外の途中に、極端にビットレートが低い箇所がある場合、あらかじめその位置がわかっていたり、計算などで推測できるなら、その箇所を避けてDUMMY_MSFを決定すれば、なお計算精度は上がる。
【００５３】
再生データ格納部１０１は、再生データ再生部１０４に対して再生データの出力を行い、再生データ再生部１０４は、その再生データ（ＭＰ３データ）を200msecデコードし、サーチ再生制御部１０９は、再生データ再生部１０４からビットレートを取得する。このとき、再生データ再生部１０４は再生信号を出力しない。その擬似再生位置DUMMY_MSFのフレームから得たビットレートを再生データ（Ｎ曲目）５０２の仮の平均ビットレートAVG_BITRATEとし（Ｓ１１１２）、以下の計算式により、再生データ末尾での再生経過時刻END_TIMEを予測計算する（Ｓ１１１３）。
END_TIME＝((END_MSF−START_MSF)×2048×8÷AVG_BITRATE)
【００５４】
そして、その再生経過時刻END_TIMEの表示を行う（Ｓ１１１４）。本参考の形態では、200msec擬似再生してビットレートを取得するものと仮定したが、擬似再生の時間は200msecに限定するものではなく、また、ビットレートを取得できるなら必ずしも再生する必要はないため、これに限定するものではない。
また、擬似再生位置DUMMY_MSFを１箇所だけでなく複数箇所決定し、１回だけでなく複数フレームのビットレートを取得して平均すれば、なお精度があがるため、箇所数を限定するものではない。
【００５５】
そして、今回のサーチ再生位置END_MSFをCURRENT_MSFに保存し、INTERVAL_MSFを再計算し（Ｓ１１１５）、サーチ継続判定を経て（Ｓ１１２０）、以下の計算式により、次のサーチ再生を行う位置NEXT_MSFを再び計算する（Ｓ１１０４）。
NEXT_MSF＝CURRENT_MSF−INTERVAL_MSF
このNEXT_MSFが改めてSEARCH_MSF(1)となる。
【００５６】
そして、このNEXT_MSFの位置が再生データ（Ｎ曲目）５０２の範囲内であるかどうかを判断する（Ｓ１１０５）。SEARCH_MSF(1)は再生データ（Ｎ曲目）５０２の範囲内であるため、以下の計算式により、そのNEXT_MSFでの再生経過時刻NEXT_TIMEを予測計算する（Ｓ１１０６）。
NEXT_TIME＝NEXT_MSF×2048×8÷AVG_BITRATE
【００５７】
そして、その再生経過時刻NEXT_TIMEを表示しつつ、サーチ再生位置NEXT_MSFにアクセスを行い、そこからサーチ再生(1)で200msecだけ再生を行う（Ｓ１１０７）。本参考の形態では、サーチ再生時間を200msecと仮定するが、これに限定するものではない。そして、今回のサーチ再生位置NEXT_MSFをCURRENT_MSFに保存する（Ｓ１１０８）。
３回目のリバースサーチ再生であるサーチ再生(2)については、サーチ再生(1)の繰り返しであるため、説明は省略する。
【００５８】
次に、フォワードサーチ再生動作について、図７、図８を用いて、さらに詳しく説明する。図７に示すように、再生データ格納部１０１に、再生データ（Ｎ−１曲目）７０１、再生データ（Ｎ曲目）７０２、再生データ（Ｎ＋１曲目）７０３が連続して記録されているとする。ただし、本発明の趣旨においては、必ずしも連続して記録されている必要はないため、格納位置を限定するものではない。
【００５９】
まず１回目のフォワードサーチ再生について説明する。再生データ（Ｎ−１曲目）７０１のCURRENT_MSFの位置を再生中、再生経過時刻は、クロック１０５により自動カウントアップされ、CURRENT_TIMEとなっている。ここで、フォワードサーチ再生指示があった場合、サーチ再生制御部１０９は、再生制御部１０３から現在再生位置CURRENT_MSFを、再生経過時刻計算部１０６から現在再生経過時刻CURRENT_TIMEを取得する（Ｓ１１０１）。
【００６０】
次に、その現在再生位置(CURRENT_MSF)と再生経過時刻(CURRENT_TIME)から、以下の計算式により、再生データ（Ｎ−１曲目）７０１の再生データの平均ビットレートAVG_BITRATEを計算する（Ｓ１１０２）。本参考の形態では、再生位置はセクタ単位であるとし、１セクタは２０４８バイトであると仮定するが、これに限定するものではない。
AVG_BITRATE＝(CURRENT_MSF×2048×8)÷CURRENT_TIME
【００６１】
そして、この平均ビットレートAVG_BITRATEから、以下の計算式により、サーチ再生周期INTERVAL_MSFを計算する（Ｓ１１０３）。本参考の形態では、サーチ再生周期はセクタ単位であるとし、サーチ再生の時間周期を３秒と仮定するが、これに限定するものではない。
INTERVAL_MSF＝(3秒×AVG_BITRATE÷8)÷2048
【００６２】
そして、このサーチ再生周期INTERVAL_MSFから、以下の計算式により、次のサーチ再生を行う位置NEXT_MSFを計算する（Ｓ１２０４）。
NEXT_MSF＝CURRENT_MSF＋INTERVAL_MSF
このNEXT_MSFがSEARCH_MSF(m)である。
【００６３】
そして、このNEXT_MSFの位置が再生データ（Ｎ−１曲目）７０１の範囲内であるかどうかを判断する（Ｓ１２０５）。SEARCH_MSF(m)は再生データ（Ｎ−１曲目）７０１の範囲内であるため、以下の計算式により、そのNEXT_MSFでの再生経過時刻NEXT_TIMEを予測計算する（Ｓ１１０６）。
NEXT_TIME＝NEXT_MSF×2048×8÷AVG_BITRATE
【００６４】
そして、その再生経過時刻NEXT_TIMEを表示しつつ、サーチ再生位置NEXT_MSFにアクセスを行い、そこからサーチ再生(m)で200msecだけ再生を行う（Ｓ１１０７）。本参考の形態では、サーチ再生時間を200msecと仮定するが、これに限定するものではない。そして、今回のサーチ再生位置NEXT_MSFをCURRENT_MSFに保存する（Ｓ１１０８）。
【００６５】
次に、２回目のフォワードサーチ再生について説明する。１回目のサーチ再生の後、キー受付部１０２からフォワードサーチが継続指示されているか判断し（Ｓ１１２０）、継続指示されていないなら終了するが、本参考の形態では指示が継続されているものと仮定し、説明を続ける。サーチ再生周期 INTERVAL_MSFは、すでに計算されているため、以下の計算式により、次のサーチ再生を行う位置NEXT_MSFを再び計算する（Ｓ１２０４）。
NEXT_MSF＝CURRENT_MSF＋INTERVAL_MSF
このNEXT_MSFがSEARCH_MSF(1)である。
【００６６】
そして、このNEXT_MSFの位置が再生データ（Ｎ−１曲目）７０１の範囲内であるかどうかを判断する（Ｓ１２０５）。SEARCH_MSF(1)は再生データ（Ｎ−１曲目）７０１の範囲外である、つまり曲が再生データ（Ｎ曲目）７０２に変化しているため、まず、開始位置終了位置記憶部１１０より、再生データ（Ｎ曲目）７０２の開始位置START_MSF(N)および終了位置END_MSF(N)を取得し、これらをSTART_MSFおよびEND_MSFとする（Ｓ１１１０）。
【００６７】
前述した図１９に示す通り、ＭＰ３データの先頭近辺と末尾近辺が、極端にビットレートが低い。図７に示すように、SEARCH_MSF(1)において、サーチ再生(1)を行う際、再生データ（Ｎ曲目）７０２が可変ビットレート（ＶＢＲ）である場合、先頭位置START_MSF(N)から先頭付近FADEIN_MSFまでのビットレートが、再生データ（Ｎ曲目）７０２全体の平均ビットレートより極端に低い場合があり、このSEARCH_MSF(1)で得られたビットレートを用いてＳ１１０６のように再生経過時刻を計算すると、実際の再生データ（Ｎ曲目）７０２のSEARCH_MSF(1)の位置での再生経過時刻と大幅なずれが生じる可能性がある。例えば、平均ビットレートが約１２８ｋｂｐｓで末尾のビットレートが３２ｋｂｐｓの場合、サーチ再生(1)、サーチ再生(2)・・・と続くにつれて、再生経過時刻表示が、４分の曲であるにもかかわらず１６分と表示されてしまい、ユーザに混乱を生じさせてしまう恐れがある。
【００６８】
そこで、本参考の形態では、図８のように、FADEIN_MSFから再生終了位置END_MSFまでの間で、擬似ビットレートを取得するために擬似再生を行うための擬似再生位置DUMMY_MSFを決定し（Ｓ１２１１）、サーチ再生制御部１０９は、再生データ格納部１０１に対して擬似再生すべき再生データ（擬似再生位置DUMMY_MSFのフレーム）の取得指示を行う。再生データ格納部１０１は、再生データ再生部１０４に対して再生データの出力を行い、再生データ再生部１０４は、その再生データ（ＭＰ３データ）を 200msecデコードし、サーチ再生制御部１０９は、再生データ再生部１０４からビットレートを取得する。このとき、再生データ再生部１０４は再生信号を出力しない。
【００６９】
その擬似再生位置DUMMY_MSFのフレームから得たビットレートを再生データ（Ｎ曲目）７０２の仮の平均ビットレートAVG_BITRATEとし（Ｓ１２１２）、再生データ先頭での再生経過時刻START_TIMEを”0:00”に設定する（Ｓ１２１３）。そして、その再生経過時刻START_TIMEを表示を行う（Ｓ１２１４）。
【００７０】
本参考の形態では、200msec擬似再生してビットレートを取得するものと仮定したが、擬似再生の時間は200msecに限定するものではなく、また、ビットレートを取得できるなら必ずしも再生する必要はないため、これに限定するものではない。また、擬似再生位置DUMMY_MSFを１箇所だけでなく複数箇所決定し、１回だけでなく複数フレームのビットレートを取得して平均すれば、なお精度があがるため、箇所数を限定するものではない。
【００７１】
そして、今回のサーチ再生位置START_MSFをCURRENT_MSFに保存し、INTERVAL_MSFを再計算し（Ｓ１２１５）、サーチ継続判定を経て（Ｓ１１２０）、以下の計算式により、次のサーチ再生を行う位置NEXT_MSFを再び計算する（Ｓ１２０４）。
NEXT_MSF＝CURRENT_MSF＋INTERVAL_MSF
このNEXT_MSFが改めてSEARCH_MSF(1)となる。
【００７２】
そして、このNEXT_MSFの位置が再生データ（Ｎ曲目）７０２の範囲内であるかどうかを判断する（Ｓ１１０５）。SEARCH_MSF(1)は再生データ（Ｎ曲目）７０２の範囲内であるため、以下の計算式により、そのNEXT_MSFでの再生経過時刻NEXT_TIMEを予測計算する（Ｓ１１０６）。
NEXT_TIME＝NEXT_MSF×2048×8÷AVG_BITRATE
【００７３】
そして、その再生経過時刻NEXT_TIMEを表示しつつ、サーチ再生位置NEXT_MSFにアクセスを行い、そこからサーチ再生(1)で200msecだけ再生を行う（Ｓ１１０７）。本参考の形態では、サーチ再生時間を200msecと仮定するが、これに限定するものではない。そして、今回のサーチ再生位置NEXT_MSFをCURRENT_MSFに保存する（Ｓ１１０８）。
【００７４】
３回目のフォワードサーチ再生であるサーチ再生(2)については、サーチ再生(1)の繰り返しであるため、説明は省略する。
このような動作を繰り返すことにより、もしリバースサーチ再生やフォワードサーチ再生などの特殊再生を行って曲をまたがった場合でも、より精度の高い再生経過時刻の表示を実現することが可能になる。
【００７５】
なお、本参考の形態では、外部からのキー入力をキー受付部１０２で検知して制御が行われる構成として説明したが、外部からのキー入力以外にも、様々な外部トリガや、様々な内部トリガによっても、同様の効果を得ることができるため、これらを排除するものではない。以下の各実施の形態においても同様である。
（参考の形態２）
【００７６】
図２は本発明の参考の形態２における情報再生装置の構成を示す図であり、図１３は図２におけるリバースサーチ再生のフローチャートを示す図、図１４は図２におけるフォワードサーチ再生のフローチャートを示す図である。
【００７７】
図２において、図１の情報再生装置と同一の機能を有する構成要素には同一の符号を付している。同様に、図１３及び図１４において、図１１及び図１２のフローチャートと同一の動作を行うステップについては同一の符号を付している。
なお、ＭＰ３データの構造や、再生開始動作・再生停止動作・再生再開動作については、参考の形態１と同様のため、説明を省略する。さらに、再生途中のリバースサーチ再生（早戻し再生）動作の基本原理、再生途中のフォワードサーチ再生（早送り再生）動作の基本原理についても、参考の形態１と同様のため、説明を省略する。以後の各実施の形態においても同様とする。
【００７８】
以下、本参考の形態の情報再生装置について、図面を参照して動作を説明する。
最初に、リバースサーチ再生動作について、前述の図５を用いて、さらに詳しく説明する。図５に示すように、再生データ格納部１０１に、再生データ（Ｎ−１曲目）５０１、再生データ（Ｎ曲目）５０２、再生データ（Ｎ＋１曲目）５０３が連続して記録されているとする。ただし、本発明の趣旨においては、必ずしも連続して記録されている必要はないため、格納位置を限定するものではない。
【００７９】
まず１回目のリバースサーチ再生について説明する。再生データ（Ｎ＋１曲目）５０３のCURRENT_MSFの位置を再生中、再生経過時刻は、クロック１０５により自動カウントアップされ、CURRENT_TIMEとなっている。ここで、リバースサーチ再生指示があった場合、サーチ再生制御部１０９は、再生制御部１０３から現在再生位置CURRENT_MSFを、再生経過時刻計算部１０６から現在再生経過時刻CURRENT_TIMEを取得する（Ｓ１１０１）。
【００８０】
次に、その現在再生位置(CURRENT_MSF)と再生経過時刻(CURRENT_TIME)から、以下の計
算式により、再生データ（Ｎ＋１曲目）５０３の再生データの平均ビットレートAVG_BITRATEを計算する（Ｓ１１０２）。本参考の形態では、再生位置はセクタ単位であるとし、１セクタは２０４８バイトであると仮定するが、これに限定するものではない。
AVG_BITRATE＝(CURRENT_MSF×2048×8)÷CURRENT_TIME
【００８１】
そして、この平均ビットレートAVG_BITRATEから、以下の計算式により、サーチ再生周
期INTERVAL_MSFを計算する（Ｓ１１０３）。本参考の形態では、サーチ再生周期はセクタ単位であるとし、サーチ再生の時間周期を3秒と仮定するが、これに限定するものではない。
INTERVAL_MSF＝(3秒×AVG_BITRATE÷8)÷2048
【００８２】
そして、このサーチ再生周期INTERVAL_MSFから、以下の計算式により、次のサーチ再生を行う位置NEXT_MSFを計算する（Ｓ１１０４）。
NEXT_MSF＝CURRENT_MSF−INTERVAL_MSF
このNEXT_MSFがSEARCH_MSF(p)である。
【００８３】
そして、このNEXT_MSFの位置が再生データ（Ｎ＋１曲目）５０３の範囲内であるかどうかを判断する（Ｓ１１０５）。SEARCH_MSF(p)は再生データ（Ｎ＋１曲目）５０３の範囲内であるため、以下の計算式により、そのNEXT_MSFでの再生経過時刻NEXT_TIMEを予測計算する（Ｓ１１０６）。
NEXT_TIME＝NEXT_MSF×2048×8÷AVG_BITRATE
【００８４】
そして、その再生経過時刻NEXT_TIMEを表示しつつ、サーチ再生位置NEXT_MSFにアクセスを行い、そこからサーチ再生(p)で200msecだけ再生を行う（Ｓ１１０７）。本参考の形態では、サーチ再生時間を200msecと仮定するが、これに限定するものではない。そして、今回のサーチ再生位置NEXT_MSFをCURRENT_MSFに保存する（Ｓ１１０８）。
【００８５】
次に、２回目のリバースサーチ再生について説明する。１回目のサーチ再生の後、キー受付部１０２からリバースサーチが継続指示されているか判断し（Ｓ１１２０）、継続指示されていないなら終了するが、本参考の形態では指示が継続されているものと仮定し、説明を続ける。
【００８６】
サーチ再生周期INTERVAL_MSFは、すでに計算されているため、以下の計算式により、次のサーチ再生を行う位置NEXT_MSFを再び計算する（Ｓ１１０４）。
NEXT_MSF＝CURRENT_MSF−INTERVAL_MSF
このNEXT_MSFがSEARCH_MSF(1)である。
【００８７】
そして、このNEXT_MSFの位置が再生データ（Ｎ＋１曲目）５０３の範囲内であるかどうかを判断する（Ｓ１１０５）。SEARCH_MSF(1)は再生データ（Ｎ＋１曲目）５０３の範囲外である、つまり曲が再生データ（Ｎ曲目）５０２に変化しているため、まず、開始位置終了位置記憶部１１０より、再生データ（Ｎ曲目）５０２の開始位置START_MSF(N)および終了位置END_MSF(N)を取得し、これらをSTART_MSFおよびEND_MSFとする（Ｓ１１１０）。
【００８８】
前述した図１９に示す通り、ＭＰ３データの先頭近辺と末尾近辺が、極端にビットレートが低い。図５に示すように、SEARCH_MSF(1)において、サーチ再生(1)を行う際、再生データ（Ｎ曲目）５０２が可変ビットレート（ＶＢＲ）である場合、末尾近辺FADEOUT_MSFから終了位置END_MSF(N)までのビットレートが、再生データ（Ｎ曲目）５０２全体の平均ビットレートより極端に低い場合があり、このSEARCH_MSF(1)で得られたビットレートを用いてＳ１１０６のように再生経過時刻を計算すると、実際の再生データ（Ｎ曲目）５０２のSEARCH_MSF(1)の位置での再生経過時刻と大幅なずれが生じる可能性がある。例えば、平均ビットレートが約１２８ｋｂｐｓで末尾のビットレートが３２ｋｂｐｓの場合、サーチ再生(1)において、再生経過時刻表示が、４分の曲であるにもかかわらず１６分と表示されてしまい、ユーザに混乱を生じさせてしまう恐れがある。
【００８９】
そこで、本参考の形態では、サーチ再生制御部１０９は、あらかじめ機器推奨のビットレート等の何らかのビットレートを記憶しておいた暫定ビットレート記憶部２１３から暫定ビットレートを取得し、この暫定ビットレートを再生データ（Ｎ曲目）５０２の仮の平均ビットレートAVG_BITRATEとし（Ｓ１３１２）、以下の計算式により、再生データ末尾での再生経過時刻END_TIMEを予測計算する（Ｓ１１１３）。
END_TIME＝((END_MSF−START_MSF)×2048×8÷AVG_BITRATE)
【００９０】
そして、その再生経過時刻END_TIMEの表示を行う（Ｓ１１１４）。そして、今回のサーチ再生位置END_MSFをCURRENT_MSFに保存し、INTERVAL_MSFを再計算し（Ｓ１１１５）、サーチ継続判定を経て（Ｓ１１２０）、以下の計算式により、次のサーチ再生を行う位置NEXT_MSFを再び計算する（Ｓ１１０４）。
NEXT_MSF＝CURRENT_MSF−INTERVAL_MSF
このNEXT_MSFが改めてSEARCH_MSF(1)となる。
【００９１】
そして、このNEXT_MSFの位置が再生データ（Ｎ曲目）５０２の範囲内であるかどうかを判断する（Ｓ１１０５）。SEARCH_MSF(1)は再生データ（Ｎ曲目）５０２の範囲内であるため、以下の計算式により、そのNEXT_MSFでの再生経過時刻NEXT_TIMEを予測計算する（Ｓ１１０６）。
NEXT_TIME＝NEXT_MSF×2048×8÷AVG_BITRATE
【００９２】
そして、その再生経過時刻NEXT_TIMEを表示しつつ、サーチ再生位置NEXT_MSFにアクセスを行い、そこからサーチ再生(1)で200msecだけ再生を行う（Ｓ１１０７）。本参考の形態では、サーチ再生時間を200msecと仮定するが、これに限定するものではない。そして、今回のサーチ再生位置NEXT_MSFをCURRENT_MSFに保存する（Ｓ１１０８）。
３回目のリバースサーチ再生であるサーチ再生(2)については、サーチ再生(1)の繰り返しであるため、説明は省略する。
【００９３】
次に、フォワードサーチ再生動作について、前述した図７を用いて、さらに詳しく説明する。図７に示すように、再生データ格納部１０１に、再生データ（Ｎ−１曲目）７０１、再生データ（Ｎ曲目）７０２、再生データ（Ｎ＋１曲目）７０３が連続して記録されているとする。ただし、本発明の趣旨においては、必ずしも連続して記録されている必要はないため、格納位置を限定するものではない。
【００９４】
まず１回目のフォワードサーチ再生について説明する。再生データ（Ｎ−１曲目）７０１のCURRENT_MSFの位置を再生中、再生経過時刻は、クロック１０５により自動カウントアップされ、CURRENT_TIMEとなっている。ここで、フォワードサーチ再生指示があった場合、サーチ再生制御部１０９は、再生制御部１０３から現在再生位置CURRENT_MSFを、再生経過時刻計算部１０６から現在再生経過時刻CURRENT_TIMEを取得する（Ｓ１１０１）。
【００９５】
次に、その現在再生位置(CURRENT_MSF)と再生経過時刻(CURRENT_TIME)から、以下の計
算式により、再生データ（Ｎ−１曲目）７０１の再生データの平均ビットレートAVG_BITRATEを計算する（Ｓ１１０２）。本参考の形態では、再生位置はセクタ単位であるとし、１セクタは２０４８バイトであると仮定するが、これに限定するものではない。
AVG_BITRATE＝(CURRENT_MSF×2048×8)÷CURRENT_TIME
【００９６】
そして、この平均ビットレートAVG_BITRATEから、以下の計算式により、サーチ再生周
期INTERVAL_MSFを計算する（Ｓ１１０３）。本参考の形態では、サーチ再生周期はセクタ単位であるとし、サーチ再生の時間周期を3秒と仮定するが、これに限定するものではない。
INTERVAL_MSF＝(3秒×AVG_BITRATE÷8)÷2048
【００９７】
そして、このサーチ再生周期INTERVAL_MSFから、以下の計算式により、次のサーチ再生を行う位置NEXT_MSFを計算する（Ｓ１２０４）。
NEXT_MSF＝CURRENT_MSF＋INTERVAL_MSF
このNEXT_MSFがSEARCH_MSF(m)である。
【００９８】
そして、このNEXT_MSFの位置が再生データ（Ｎ−１曲目）７０１の範囲内であるかどうかを判断する（Ｓ１２０５）。SEARCH_MSF(m)は再生データ（Ｎ−１曲目）７０１の範囲内であるため、以下の計算式により、そのNEXT_MSFでの再生経過時刻NEXT_TIMEを予測計算する（Ｓ１１０６）。
NEXT_TIME＝NEXT_MSF×2048×8÷AVG_BITRATE
【００９９】
そして、その再生経過時刻NEXT_TIMEを表示しつつ、サーチ再生位置NEXT_MSFにアクセスを行い、そこからサーチ再生(m)で200msecだけ再生を行う（Ｓ１１０７）。本参考の形態では、サーチ再生時間を200msecと仮定するが、これに限定するものではない。そして、今回のサーチ再生位置NEXT_MSFをCURRENT_MSFに保存する（Ｓ１１０８）。
【０１００】
次に、２回目のフォワードサーチ再生について説明する。１回目のサーチ再生の後、キー受付部１０２からフォワードサーチが継続指示されているか判断し（Ｓ１１２０）、継続指示されていないなら終了するが、本参考の形態では指示が継続されているものと仮定し、説明を続ける。サーチ再生周期 INTERVAL_MSFは、すでに計算されているため、以下の計算式により、次のサーチ再生を行う位置NEXT_MSFを再び計算する（Ｓ１２０４）。
NEXT_MSF＝CURRENT_MSF＋INTERVAL_MSF
このNEXT_MSFがSEARCH_MSF(1)である。
【０１０１】
そして、このNEXT_MSFの位置が再生データ（Ｎ−１曲目）７０１の範囲内であるかどうかを判断する（Ｓ１２０５）。SEARCH_MSF(1)は再生データ（Ｎ−１曲目）７０１の範囲外である、つまり曲が再生データ（Ｎ曲目）７０２に変化しているため、まず、開始位置終了位置記憶部１１０より、再生データ（Ｎ曲目）７０２の開始位置START_MSF(N)および終了位置END_MSF(N)を取得し、これらをSTART_MSFおよびEND_MSFとする（Ｓ１１１０）。
【０１０２】
前述した図１９に示す通り、ＭＰ３データの先頭近辺と末尾近辺が、極端にビットレートが低い。図７に示すように、SEARCH_MSF(1)において、サーチ再生(1)を行う際、再生データ（Ｎ曲目）７０２が可変ビットレート（ＶＢＲ）である場合、先頭位置START_MSF(N)から先頭付近FADEIN_MSFまでのビットレートが、再生データ（Ｎ曲目）７０２全体の平均ビットレートより極端に低い場合があり、このSEARCH_MSF(1)で得られたビットレートを用いてＳ１１０６のように再生経過時刻を計算すると、実際の再生データ（Ｎ曲目）７０２のSEARCH_MSF(1)の位置での再生経過時刻と大幅なずれが生じる可能性がある。例えば、平均ビットレートが約１２８ｋｂｐｓで末尾のビットレートが３２ｋｂｐｓの場合、サーチ再生(1)、サーチ再生(2)・・・と続くにつれて、再生経過時刻表示が、４分の曲であるにもかかわらず１６分と表示されてしまい、ユーザに混乱を生じさせてしまう恐れがある。
【０１０３】
そこで、本参考の形態では、サーチ再生制御部１０９は、あらかじめ機器推奨のビットレート等の何らかのビットレートを記憶しておいた暫定ビットレート記憶部２１３から暫定ビットレートを取得し、この暫定ビットレートを再生データ（Ｎ曲目）７０２の仮の平均ビットレートAVG_BITRATEとし（Ｓ１３１２）、再生データ先頭での再生経過時刻START_TIMEを”0:00”に設定する（Ｓ１２１３）。
【０１０４】
そして、その再生経過時刻START_TIMEの表示を行う（Ｓ１２１４）。そして、今回のサーチ再生位置START_MSFをCURRENT_MSFに保存し、INTERVAL_MSFを再計算し（Ｓ１２１５）、サーチ継続判定を経て（Ｓ１１２０）、以下の計算式により、次のサーチ再生を行う位置NEXT_MSFを再び計算する（Ｓ１２０４）。
NEXT_MSF＝CURRENT_MSF＋INTERVAL_MSF
このNEXT_MSFが改めてSEARCH_MSF(1)となる。
【０１０５】
そして、このNEXT_MSFの位置が再生データ（Ｎ曲目）７０２の範囲内であるかどうかを判断する（Ｓ１１０５）。SEARCH_MSF(1)は再生データ（Ｎ曲目）７０２の範囲内であるため、以下の計算式により、そのNEXT_MSFでの再生経過時刻NEXT_TIMEを予測計算する（Ｓ１１０６）。
NEXT_TIME＝NEXT_MSF×2048×8÷AVG_BITRATE
【０１０６】
そして、その再生経過時刻NEXT_TIMEを表示しつつ、サーチ再生位置NEXT_MSFにアクセスを行い、そこからサーチ再生(1)で200msecだけ再生を行う（Ｓ１１０７）。本参考の形態では、サーチ再生時間を200msecと仮定するが、これに限定するものではない。そして、今回のサーチ再生位置NEXT_MSFをCURRENT_MSFに保存する（Ｓ１１０８）。
３回目のフォワードサーチ再生であるサーチ再生(2)については、サーチ再生(1)の繰り返しであるため、説明は省略する。
【０１０７】
このような動作を繰り返すことにより、もしリバースサーチ再生やフォワードサーチ再生などの特殊再生を行って曲をまたがった場合でも、より精度の高い再生経過時刻の表示を実現することが可能になる。
（参考の形態３）
【０１０８】
図３は本発明の参考の形態３における情報再生装置の構成を示す図であり、図５は従来のリバースサーチ再生のアクセスの様子を示す図であり、図１５は図３におけるリバースサーチ再生のフローチャートを示す図、図１６は図３におけるフォワードサーチ再生のフローチャートを示す図である。
【０１０９】
以下、本参考の形態の情報再生装置について、図面を参照して動作を説明する。
最初に、リバースサーチ再生動作について、前述の図５を用いて、さらに詳しく説明する。
図５に示すように、再生データ格納部１０１に、再生データ（Ｎ−１曲目）５０１、再生データ（Ｎ曲目）５０２、再生データ（Ｎ＋１曲目）５０３が連続して記録されているとする。ただし、本発明の趣旨においては、必ずしも連続して記録されている必要はないため、格納位置を限定するものではない。
【０１１０】
まず１回目のリバースサーチ再生について説明する。再生データ（Ｎ＋１曲目）５０３のCURRENT_MSFの位置を再生中、再生経過時刻は、クロック１０５により自動カウントアップされ、CURRENT_TIMEとなっている。ここで、リバースサーチ再生指示があった場合、サーチ再生制御部１０９は、再生制御部１０３から現在再生位置CURRENT_MSFを、再生経過時刻計算部１０６から現在再生経過時刻CURRENT_TIMEを取得する（Ｓ１１０１）。
【０１１１】
次に、その現在再生位置(CURRENT_MSF)と再生経過時刻(CURRENT_TIME)から、以下の計算式により、再生データ（Ｎ＋１曲目）５０３の再生データの平均ビットレートAVG_BITRATEを計算する（Ｓ１１０２）。本参考の形態では、再生位置はセクタ単位であるとし、１セクタは２０４８バイトであると仮定するが、これに限定するものではない。
AVG_BITRATE＝(CURRENT_MSF×2048×8)÷CURRENT_TIME
【０１１２】
そして、この平均ビットレートAVG_BITRATEから、以下の計算式により、サーチ再生周期INTERVAL_MSFを計算する（Ｓ１１０３）。本参考の形態では、サーチ再生周期はセクタ単位であるとし、サーチ再生の時間周期を3秒と仮定するが、これに限定するものではない。
INTERVAL_MSF＝(3秒×AVG_BITRATE÷8)÷2048
【０１１３】
そして、このサーチ再生周期INTERVAL_MSFから、以下の計算式により、次のサーチ再生を行う位置NEXT_MSFを計算する（Ｓ１１０４）。
NEXT_MSF＝CURRENT_MSF−INTERVAL_MSF
このNEXT_MSFがSEARCH_MSF(p)である。
【０１１４】
そして、このNEXT_MSFの位置が再生データ（Ｎ＋１曲目）５０３の範囲内であるかどうかを判断する（Ｓ１１０５）。SEARCH_MSF(p)は再生データ（Ｎ＋１曲目）５０３の範囲内であるため、以下の計算式により、そのNEXT_MSFでの再生経過時刻NEXT_TIMEを予測計算する（Ｓ１１０６）。
NEXT_TIME＝NEXT_MSF×2048×8÷AVG_BITRATE
【０１１５】
そして、その再生経過時刻NEXT_TIMEを表示しつつ、サーチ再生位置NEXT_MSFにアクセスを行い、そこからサーチ再生(p)で200msecだけ再生を行う（Ｓ１１０７）。本参考の形態では、サーチ再生時間を200msecと仮定するが、これに限定するものではない。そして、今回のサーチ再生位置NEXT_MSFをCURRENT_MSFに保存する（Ｓ１１０８）。
【０１１６】
次に、２回目のリバースサーチ再生について説明する。１回目のサーチ再生の後、キー受付部１０２からリバースサーチが継続指示されているか判断し（Ｓ１１２０）、継続指示されていないなら終了するが、本参考の形態では指示が継続されているものと仮定し、説明を続ける。サーチ再生周期 INTERVAL_MSFは、すでに計算されているため、以下の計算式により、次のサーチ再生を行う位置NEXT_MSFを再び計算する（Ｓ１１０４）。
NEXT_MSF＝CURRENT_MSF−INTERVAL_MSF
このNEXT_MSFがSEARCH_MSF(1)である。
【０１１７】
そして、このNEXT_MSFの位置が再生データ（Ｎ＋１曲目）５０３の範囲内であるかどうかを判断する（Ｓ１１０５）。SEARCH_MSF(1)は再生データ（Ｎ＋１曲目）５０３の範囲外である、つまり曲が再生データ（Ｎ曲目）５０２に変化しているため、まず、開始位置終了位置記憶部１１０より、再生データ（Ｎ曲目）５０２の開始位置START_MSF(N)および終了位置END_MSF(N)を取得し、これらをSTART_MSFおよびEND_MSFとする（Ｓ１１１０）。
【０１１８】
前述した図１９に示す通り、ＭＰ３データの先頭近辺と末尾近辺が、極端にビットレートが低い。図５に示すように、SEARCH_MSF(1)において、サーチ再生(1)を行う際、再生データ（Ｎ曲目）５０２が可変ビットレート（ＶＢＲ）である場合、末尾近辺FADEOUT_MSFから終了位置END_MSF(N)までのビットレートが、再生データ（Ｎ曲目）５０２全体の平均ビットレートより極端に低い場合があり、このSEARCH_MSF(1)で得られたビットレートを用いてＳ１１０６のように再生経過時刻を計算すると、実際の再生データ（Ｎ曲目）５０２のSEARCH_MSF(1)の位置での再生経過時刻と大幅なずれが生じる可能性がある。例えば、平均ビットレートが約１２８ｋｂｐｓで末尾のビットレートが３２ｋｂｐｓの場合、サーチ再生(1)において、再生経過時刻表示が、４分の曲であるにもかかわらず１６分と表示されてしまい、ユーザに混乱を生じさせてしまう恐れがある。
【０１１９】
そこで、本参考の形態では、再生制御部３０３が、再生が終了するたびに、もしくはあらかじめ通常速度又は高速で再生データを再生し、再生終了時刻（END_TIME）と再生データ容量（END_MSF−START_MSF）とから、以下の計算式により、平均ビットレートAVG_BITRATEを計算する。
AVG_BITRATE＝((END_MSF−START_MSF)×2048×8)÷END_TIME
【０１２０】
そして、この平均ビットレートAVG_BITRATEを、履歴ビットレート記憶部３１１に記憶しておくことにより、サーチ再生制御部３０９は、この過去に再生されたときの平均ビットレートが記憶された履歴ビットレート記憶部３１１から今回の再生データ（N曲目）５０２に該当する履歴ビットレートを取得し、この履歴ビットレートを再生データ（Ｎ曲目）５０２の仮の平均ビットレートAVG_BITRATEとし（Ｓ１５１２）、以下の計算式により、再生データ末尾での再生経過時刻END_TIMEを予測計算する（Ｓ１１１３）。
END_TIME＝((END_MSF−START_MSF)×2048×8÷AVG_BITRATE)
【０１２１】
そして、その再生経過時刻END_TIMEの表示を行う（Ｓ１１１４）。そして、今回のサーチ再生位置END_MSFをCURRENT_MSFに保存し、INTERVAL_MSFを再計算し（Ｓ１１１５）、サーチ継続判定を経て（Ｓ１１２０）、以下の計算式により、次のサーチ再生を行う位置NEXT_MSFを再び計算する（Ｓ１１０４）。
NEXT_MSF＝CURRENT_MSF−INTERVAL_MSF
このNEXT_MSFが改めてSEARCH_MSF(1)となる。
【０１２２】
そして、このNEXT_MSFの位置が再生データ（Ｎ曲目）５０２の範囲内であるかどうかを判断する（Ｓ１１０５）。SEARCH_MSF(1)は再生データ（Ｎ曲目）５０２の範囲内であるため、以下の計算式により、そのNEXT_MSFでの再生経過時刻NEXT_TIMEを予測計算する（Ｓ１１０６）。
NEXT_TIME＝NEXT_MSF×2048×8÷AVG_BITRATE
【０１２３】
そして、その再生経過時刻NEXT_TIMEを表示しつつ、サーチ再生位置NEXT_MSFにアクセスを行い、そこからサーチ再生(1)で200msecだけ再生を行う（Ｓ１１０７）。本参考の形態では、サーチ再生時間を200msecと仮定するが、これに限定するものではない。そして、今回のサーチ再生位置NEXT_MSFをCURRENT_MSFに保存する（Ｓ１１０８）。
３回目のリバースサーチ再生であるサーチ再生(2)については、サーチ再生(1)の繰り返しであるため、説明は省略する。
【０１２４】
次に、フォワードサーチ再生動作について、前述した図７を用いて、さらに詳しく説明する。図７に示すように、再生データ格納部１０１に、再生データ（Ｎ−１曲目）７０１、再生データ（Ｎ曲目）７０２、再生データ（Ｎ＋１曲目）７０３が連続して記録されているとする。ただし、本発明の趣旨においては、必ずしも連続して記録されている必要はないため、格納位置を限定するものではない。
【０１２５】
まず１回目のフォワードサーチ再生について説明する。再生データ（Ｎ−１曲目）７０１のCURRENT_MSFの位置を再生中、再生経過時刻は、クロック１０５により自動カウントアップされ、CURRENT_TIMEとなっている。ここで、フォワードサーチ再生指示があった場合、サーチ再生制御部１０９は、再生制御部１０３から現在再生位置CURRENT_MSFを、再生経過時刻計算部１０６から現在再生経過時刻CURRENT_TIMEを取得する（Ｓ１１０１）。
【０１２６】
次に、その現在再生位置(CURRENT_MSF)と再生経過時刻(CURRENT_TIME)から、以下の計算式により、再生データ（Ｎ−１曲目）７０１の再生データの平均ビットレートAVG_BITRATEを計算する（Ｓ１１０２）。本参考の形態では、再生位置はセクタ単位であるとし、１セクタは２０４８バイトであると仮定するが、これに限定するものではない。
AVG_BITRATE＝(CURRENT_MSF×2048×8)÷CURRENT_TIME
【０１２７】
そして、この平均ビットレートAVG_BITRATEから、以下の計算式により、サーチ再生周期INTERVAL_MSFを計算する（Ｓ１１０３）。本参考の形態では、サーチ再生周期はセクタ単位であるとし、サーチ再生の時間周期を3秒と仮定するが、これに限定するものではない。
INTERVAL_MSF＝(3秒×AVG_BITRATE÷8)÷2048
【０１２８】
そして、このサーチ再生周期INTERVAL_MSFから、以下の計算式により、次のサーチ再生を行う位置NEXT_MSFを計算する（Ｓ１２０４）。
NEXT_MSF＝CURRENT_MSF＋INTERVAL_MSF
このNEXT_MSFがSEARCH_MSF(m)である。
【０１２９】
そして、このNEXT_MSFの位置が再生データ（Ｎ−１曲目）７０１の範囲内であるかどうかを判断する（Ｓ１２０５）。SEARCH_MSF(m)は再生データ（Ｎ−１曲目）７０１の範囲内であるため、以下の計算式により、そのNEXT_MSFでの再生経過時刻NEXT_TIMEを予測計算する（Ｓ１１０６）。
NEXT_TIME＝NEXT_MSF×2048×8÷AVG_BITRATE
【０１３０】
そして、その再生経過時刻NEXT_TIMEを表示しつつ、サーチ再生位置NEXT_MSFにアクセスを行い、そこからサーチ再生(m)で200msecだけ再生を行う（Ｓ１１０７）。本参考の形態では、サーチ再生時間を200msecと仮定するが、これに限定するものではない。そして、今回のサーチ再生位置NEXT_MSFをCURRENT_MSFに保存する（Ｓ１１０８）。
【０１３１】
次に、２回目のフォワードサーチ再生について説明する。１回目のサーチ再生の後、キー受付部１０２からフォワードサーチが継続指示されているか判断し（Ｓ１１２０）、継続指示されていないなら終了するが、本参考の形態では指示が継続されているものと仮定し、説明を続ける。サーチ再生周期 INTERVAL_MSFは、すでに計算されているため、以下の計算式により、次のサーチ再生を行う位置NEXT_MSFを再び計算する（Ｓ１２０４）。
NEXT_MSF＝CURRENT_MSF＋INTERVAL_MSF
このNEXT_MSFがSEARCH_MSF(1)である。
【０１３２】
そして、このNEXT_MSFの位置が再生データ（Ｎ−１曲目）７０１の範囲内であるかどうかを判断する（Ｓ１２０５）。SEARCH_MSF(1)は再生データ（Ｎ−１曲目）７０１の範囲外である、つまり曲が再生データ（Ｎ曲目）７０２に変化しているため、まず、開始位置終了位置記憶部１１０より、再生データ（Ｎ曲目）７０２の開始位置START_MSF(N)および終了位置END_MSF(N)を取得し、これらをSTART_MSFおよびEND_MSFとする（Ｓ１１１０）。
【０１３３】
前述した図１９に示す通り、ＭＰ３データの先頭近辺と末尾近辺が、極端にビットレートが低い。図７に示すように、SEARCH_MSF(1)において、サーチ再生(1)を行う際、再生データ（Ｎ曲目）７０２が可変ビットレート（ＶＢＲ）である場合、先頭位置START_MSF(N)から先頭付近FADEIN_MSFまでのビットレートが、再生データ（Ｎ曲目）７０２全体の平均ビットレートより極端に低い場合があり、このSEARCH_MSF(1)で得られたビットレートを用いてＳ１１０６のように再生経過時刻を計算すると、実際の再生データ（Ｎ曲目）７０２のSEARCH_MSF(1)の位置での再生経過時刻と大幅なずれが生じる可能性がある。例えば、平均ビットレートが約１２８ｋｂｐｓで末尾のビットレートが３２ｋｂｐｓの場合、サーチ再生(1)、サーチ再生(2)・・・と続くにつれて、再生経過時刻表示が、４分の曲であるにもかかわらず１６分と表示されてしまい、ユーザに混乱を生じさせてしまう恐れがある。
【０１３４】
そこで、本参考の形態では、再生制御部３０３が、再生が終了するたびに、もしくはあらかじめ通常速度又は高速で再生データを再生し、再生終了時刻（END_TIME）と再生データ容量（END_MSF−START_MSF）とから、以下の計算式により、平均ビットレートAVG_BITRATEを計算する。
AVG_BITRATE＝((END_MSF−START_MSF)×2048×8)÷END_TIME
【０１３５】
そして、この平均ビットレートAVG_BITRATEを、履歴ビットレート記憶部３１１に記憶しておくことにより、サーチ再生制御部３０９は、この過去に再生されたときの平均ビットレートが記憶された履歴ビットレート記憶部３１１から今回の再生データ（N曲目）７０２に該当する履歴ビットレートを取得し、この履歴ビットレートを再生データ（Ｎ曲目）７０２の仮の平均ビットレートAVG_BITRATEとし（Ｓ１５１２）、再生データ先頭での再生経過時刻START_TIMEを”0:00”に設定する（Ｓ１２１３）。
【０１３６】
そして、その再生経過時刻START_TIMEの表示を行う（Ｓ１２１４）。そして、今回のサーチ再生位置START_MSFをCURRENT_MSFに保存し、INTERVAL_MSFを再計算し（Ｓ１２１５）、サーチ継続判定を経て（Ｓ１１２０）、以下の計算式により、次のサーチ再生を行う位置NEXT_MSFを再び計算する（Ｓ１２０４）。
NEXT_MSF＝CURRENT_MSF＋INTERVAL_MSF
このNEXT_MSFが改めてSEARCH_MSF(1)となる。
【０１３７】
そして、このNEXT_MSFの位置が再生データ（Ｎ曲目）７０２の範囲内であるかどうかを判断する（Ｓ１１０５）。SEARCH_MSF(1)は再生データ（Ｎ曲目）７０２の範囲内であるため、以下の計算式により、そのNEXT_MSFでの再生経過時刻NEXT_TIMEを予測計算する（Ｓ１１０６）。
NEXT_TIME＝NEXT_MSF×2048×8÷AVG_BITRATE
【０１３８】
そして、その再生経過時刻NEXT_TIMEを表示しつつ、サーチ再生位置NEXT_MSFにアクセスを行い、そこからサーチ再生(1)で200msecだけ再生を行う（Ｓ１１０７）。本参考の形態では、サーチ再生時間を200msecと仮定するが、これに限定するものではない。そして、今回のサーチ再生位置NEXT_MSFをCURRENT_MSFに保存する（Ｓ１１０８）。
３回目のフォワードサーチ再生であるサーチ再生(2)については、サーチ再生(1)の繰り返しであるため、説明は省略する。
【０１３９】
このような動作を繰り返すことにより、もしリバースサーチ再生やフォワードサーチ再生などの特殊再生を行って曲をまたがった場合でも、より精度の高い再生経過時刻の表示を実現することが可能になる。
【０１４０】
なお、本参考の形態では、履歴ビットレート記憶部３１１に平均ビットレートを記憶しておくようにしたが、記憶部に再生時間とＭＳＦの値を記憶しておき、サーチ再生時に記憶部からこれらの値を読み出して平均ビットレートを計算するようにしても良い。
（実施の形態１）
【０１４１】
図４は本発明の実施の形態１における情報再生装置の構成を示す図であり、図１７は図４におけるリバースサーチ再生のフローチャートを示す図、図１８は図４におけるフォワードサーチ再生のフローチャートを示す図である。
以下、本実施の形態の情報再生装置について、図面を参照して動作を説明する。
最初に、リバースサーチ再生動作について、前述した図５を用いて、さらに詳しく説明する。
【０１４２】
図５に示すように、再生データ格納部１０１に、再生データ（Ｎ−１曲目）５０１、再生データ（Ｎ曲目）５０２、再生データ（Ｎ＋１曲目）５０３が連続して記録されているとする。ただし、本発明の趣旨においては、必ずしも連続して記録されている必要はないため、格納位置を限定するものではない。
【０１４３】
まず１回目のリバースサーチ再生について説明する。再生データ（Ｎ＋１曲目）５０３のCURRENT_MSFの位置を再生中、再生経過時刻は、クロック１０５により自動カウントアップされ、CURRENT_TIMEとなっている。ここで、リバースサーチ再生指示があった場合、サーチ再生制御部１０９は、再生制御部１０３から現在再生位置CURRENT_MSFを、再生経過時刻計算部１０６から現在再生経過時刻CURRENT_TIMEを取得する（Ｓ１１０１）。
【０１４４】
次に、その現在再生位置(CURRENT_MSF)と再生経過時刻(CURRENT_TIME)から、以下の計算式により、再生データ（Ｎ＋１曲目）５０３の再生データの平均ビットレートAVG_BITRATEを計算する（Ｓ１１０２）。本実施の形態では、再生位置はセクタ単位であるとし、１セクタは２０４８バイトであると仮定するが、これに限定するものではない。
AVG_BITRATE＝(CURRENT_MSF×2048×8)÷CURRENT_TIME
【０１４５】
そして、この平均ビットレートAVG_BITRATEから、以下の計算式により、サーチ再生周期INTERVAL_MSFを計算する（Ｓ１１０３）。本実施の形態では、サーチ再生周期はセクタ単位であるとし、サーチ再生の時間周期を3秒と仮定するが、これに限定するものではない。
INTERVAL_MSF＝(3秒×AVG_BITRATE÷8)÷2048
【０１４６】
そして、このサーチ再生周期INTERVAL_MSFから、以下の計算式により、次のサーチ再生を行う位置NEXT_MSFを計算する（Ｓ１１０４）。
NEXT_MSF＝CURRENT_MSF−INTERVAL_MSF
このNEXT_MSFがSEARCH_MSF(p)である。
【０１４７】
そして、このNEXT_MSFの位置が再生データ（Ｎ＋１曲目）５０３の範囲内であるかどうかを判断する（Ｓ１１０５）。SEARCH_MSF(p)は再生データ（Ｎ＋１曲目）５０３の範囲内であるため、以下の計算式により、そのNEXT_MSFでの再生経過時刻NEXT_TIMEを予測計算する（Ｓ１１０６）。
NEXT_TIME＝NEXT_MSF×2048×8÷AVG_BITRATE
【０１４８】
そして、その再生経過時刻NEXT_TIMEを表示しつつ、サーチ再生位置NEXT_MSFにアクセスを行い、そこからサーチ再生(p)で200msecだけ再生を行う（Ｓ１１０７）。本実施の形態では、サーチ再生時間を200msecと仮定するが、これに限定するものではない。そして、今回のサーチ再生位置NEXT_MSFをCURRENT_MSFに保存する（Ｓ１１０８）。
【０１４９】
次に、２回目のリバースサーチ再生について説明する。１回目のサーチ再生の後、キー受付部１０２からリバースサーチが継続指示されているか判断し（Ｓ１１２０）、継続指示されていないなら終了するが、本実施の形態では指示が継続されているものと仮定し、説明を続ける。サーチ再生周期INTERVAL_MSFは、すでに計算されているため、以下の計算式により、次のサーチ再生を行う位置NEXT_MSFを再び計算する（Ｓ１１０４）。
NEXT_MSF＝CURRENT_MSF−INTERVAL_MSF
このNEXT_MSFがSEARCH_MSF(1)である。
【０１５０】
そして、このNEXT_MSFの位置が再生データ（Ｎ＋１曲目）５０３の範囲内であるかどうかを判断する（Ｓ１１０５）。SEARCH_MSF(1)は再生データ（Ｎ＋１曲目）５０３の範囲外である、つまり曲が再生データ（Ｎ曲目）５０２に変化しているため、まず、開始位置終了位置記憶部１１０より、再生データ（Ｎ曲目）５０２の開始位置START_MSF(N)および終了位置END_MSF(N)を取得し、これらをSTART_MSFおよびEND_MSFとする（Ｓ１１１０）。
【０１５１】
前述の図１９に示す通り、ＭＰ３データの先頭近辺と末尾近辺が、極端にビットレートが低い。図５に示すように、SEARCH_MSF(1)において、サーチ再生(1)を行う際、再生データ（Ｎ曲目）５０２が可変ビットレート（ＶＢＲ）である場合、末尾近辺FADEOUT_MSFから終了位置END_MSF(N)までのビットレートが、再生データ（Ｎ曲目）５０２全体の平均ビットレートより極端に低い場合があり、このSEARCH_MSF(1)で得られたビットレートを用いてＳ１１０６のように再生経過時刻を計算すると、実際の再生データ（Ｎ曲目）５０２のSEARCH_MSF(1)の位置での再生経過時刻と大幅なずれが生じる可能性がある。例えば、平均ビットレートが約１２８ｋｂｐｓで末尾のビットレートが３２ｋｂｐｓの場合、サーチ再生(1)において、再生経過時刻表示が、４分の曲であるにもかかわらず１６分と表示されてしまい、ユーザに混乱を生じさせてしまう恐れがある。
【０１５２】
そこで、本実施の形態では、再生制御部３０３が、再生データ（Ｎ＋１曲目）５０３の平均ビットレートAVG_BITRATE（再生データ終了位置まで再生している必要はない）を、次曲ビットレートとして前後ビットレート記憶部４１１に記憶しておくことにより、サーチ再生制御部３０９は、この再生データ（Ｎ＋１曲目）５０３の平均ビットレートAVG_BITRATEである次曲ビットレートが記憶された前後ビットレート記憶部４１１から次曲ビットレートを取得し、この次曲ビットレートを再生データ（Ｎ曲目）５０２の仮の平均ビットレートAVG_BITRATEとし（Ｓ１７１２）、以下の計算式により、再生データ末尾での再生経過時刻END_TIMEを予測計算する（Ｓ１１１３）。
END_TIME＝((END_MSF−START_MSF)×2048×8÷AVG_BITRATE)
【０１５３】
そして、その再生経過時刻END_TIMEの表示を行う（Ｓ１１１４）。そして、今回のサーチ再生位置END_MSFをCURRENT_MSFに保存し、INTERVAL_MSFを再計算し（Ｓ１１１５）、サーチ継続判定を経て（Ｓ１１２０）、以下の計算式により、次のサーチ再生を行う位置NEXT_MSFを再び計算する（Ｓ１１０４）。
NEXT_MSF＝CURRENT_MSF−INTERVAL_MSF
このNEXT_MSFが改めてSEARCH_MSF(1)となる。
【０１５４】
そして、このNEXT_MSFの位置が再生データ（Ｎ曲目）５０２の範囲内であるかどうかを判断する（Ｓ１１０５）。SEARCH_MSF(1)は再生データ（Ｎ曲目）５０２の範囲内であるため、以下の計算式により、そのNEXT_MSFでの再生経過時刻NEXT_TIMEを予測計算する（Ｓ１１０６）。
NEXT_TIME＝NEXT_MSF×2048×8÷AVG_BITRATE
【０１５５】
そして、その再生経過時刻NEXT_TIMEを表示しつつ、サーチ再生位置NEXT_MSFにアクセスを行い、そこからサーチ再生(1)で200msecだけ再生を行う（Ｓ１１０７）。本実施の形態では、サーチ再生時間を200msecと仮定するが、これに限定するものではない。そして、今回のサーチ再生位置NEXT_MSFをCURRENT_MSFに保存する（Ｓ１１０８）。
３回目のリバースサーチ再生であるサーチ再生(2)については、サーチ再生(1)の繰り返しであるため、説明は省略する。
【０１５６】
次に、フォワードサーチ再生動作について、前述した図７を用いて、さらに詳しく説明する。図７に示すように、再生データ格納部１０１に、再生データ（Ｎ−１曲目）７０１、再生データ（Ｎ曲目）７０２、再生データ（Ｎ＋１曲目）７０３が連続して記録されているとする。ただし、本発明の趣旨においては、必ずしも連続して記録されている必要はないため、格納位置を限定するものではない。
【０１５７】
まず１回目のフォワードサーチ再生について説明する。再生データ（Ｎ−１曲目）７０１のCURRENT_MSFの位置を再生中、再生経過時刻は、クロック１０５により自動カウントアップされ、CURRENT_TIMEとなっている。ここで、フォワードサーチ再生指示があった場合、サーチ再生制御部１０９は、再生制御部１０３から現在再生位置CURRENT_MSFを、再生経過時刻計算部１０６から現在再生経過時刻CURRENT_TIMEを取得する（Ｓ１１０１）。
【０１５８】
次に、その現在再生位置(CURRENT_MSF)と再生経過時刻(CURRENT_TIME)から、以下の計算式により、再生データ（Ｎ−１曲目）７０１の再生データの平均ビットレートAVG_BITRATEを計算する（Ｓ１１０２）。本実施の形態では、再生位置はセクタ単位であるとし、１セクタは２０４８バイトであると仮定するが、これに限定するものではない。
AVG_BITRATE＝(CURRENT_MSF×2048×8)÷CURRENT_TIME
【０１５９】
そして、この平均ビットレートAVG_BITRATEから、以下の計算式により、サーチ再生周期INTERVAL_MSFを計算する（Ｓ１１０３）。本実施の形態では、サーチ再生周期はセクタ単位であるとし、サーチ再生の時間周期を3秒と仮定するが、これに限定するものではない。
INTERVAL_MSF＝(3秒×AVG_BITRATE÷8)÷2048
【０１６０】
そして、このサーチ再生周期INTERVAL_MSFから、以下の計算式により、次のサーチ再生を行う位置NEXT_MSFを計算する（Ｓ１２０４）。
NEXT_MSF＝CURRENT_MSF＋INTERVAL_MSF
このNEXT_MSFがSEARCH_MSF(m)である。
【０１６１】
そして、このNEXT_MSFの位置が再生データ（Ｎ−１曲目）７０１の範囲内であるかどうかを判断する（Ｓ１２０５）。SEARCH_MSF(m)は再生データ（Ｎ−１曲目）７０１の範囲内であるため、以下の計算式により、そのNEXT_MSFでの再生経過時刻NEXT_TIMEを予測計算する（Ｓ１１０６）。
NEXT_TIME＝NEXT_MSF×2048×8÷AVG_BITRATE
【０１６２】
そして、その再生経過時刻NEXT_TIMEを表示しつつ、サーチ再生位置NEXT_MSFにアクセスを行い、そこからサーチ再生(m)で200msecだけ再生を行う（Ｓ１１０７）。本実施の形態では、サーチ再生時間を200msecと仮定するが、これに限定するものではない。そして、今回のサーチ再生位置NEXT_MSFをCURRENT_MSFに保存する（Ｓ１１０８）。
【０１６３】
次に、２回目のフォワードサーチ再生について説明する。１回目のサーチ再生の後、キー受付部１０２からフォワードサーチが継続指示されているか判断し（Ｓ１１２０）、継続指示されていないなら終了するが、本実施の形態では指示が継続されているものと仮定し、説明を続ける。サーチ再生周期INTERVAL_MSFは、すでに計算されているため、以下の計算式により、次のサーチ再生を行う位置NEXT_MSFを再び計算する（Ｓ１２０４）。
NEXT_MSF＝CURRENT_MSF＋INTERVAL_MSF
このNEXT_MSFがSEARCH_MSF(1)である。
【０１６４】
そして、このNEXT_MSFの位置が再生データ（Ｎ−１曲目）７０１の範囲内であるかどうかを判断する（Ｓ１２０５）。SEARCH_MSF(1)は再生データ（Ｎ−１曲目）７０１の範囲外である、つまり曲が再生データ（Ｎ曲目）７０２に変化しているため、まず、開始位置終了位置記憶部１１０より、再生データ（Ｎ曲目）７０２の開始位置START_MSF(N)および終了位置END_MSF(N)を取得し、これらをSTART_MSFおよびEND_MSFとする（Ｓ１１１０）。
【０１６５】
前述した図１９に示す通り、ＭＰ３データの先頭近辺と末尾近辺が、極端にビットレートが低い。図７に示すように、SEARCH_MSF(1)において、サーチ再生(1)を行う際、再生データ（Ｎ曲目）７０２が可変ビットレート（ＶＢＲ）である場合、先頭位置START_MSF(N)から先頭付近FADEIN_MSFまでのビットレートが、再生データ（Ｎ曲目）７０２全体の平均ビットレートより極端に低い場合があり、このSEARCH_MSF(1)で得られたビットレートを用いてＳ１１０６のように再生経過時刻を計算すると、実際の再生データ（Ｎ曲目）７０２のSEARCH_MSF(1)の位置での再生経過時刻と大幅なずれが生じる可能性がある。例えば、平均ビットレートが約１２８ｋｂｐｓで末尾のビットレートが３２ｋｂｐｓの場合、サーチ再生(1)、サーチ再生(2)・・・と続くにつれて、再生経過時刻表示が、４分の曲であるにもかかわらず１６分と表示されてしまい、ユーザに混乱を生じさせてしまう恐れがある。
【０１６６】
そこで、本実施の形態では、再生制御部３０３が、再生データ（Ｎ−１曲目）７０１の平均ビットレートAVG_BITRATE（再生データ終了位置まで再生している必要はない）を、前曲ビットレートとして前後ビットレート記憶部４１１に記憶しておくことにより、サーチ再生制御部３０９は、この再生データ（Ｎ−１曲目）７０１の平均ビットレートAVG_BITRATEである前曲ビットレートが記憶された前後ビットレート記憶部４１１から前曲ビットレートを取得し、この前曲ビットレートを再生データ（Ｎ曲目）７０２の仮の平均ビットレートAVG_BITRATEとし（Ｓ１７１２）、再生データ先頭での再生経過時刻START_TIMEを”0:00”に設定する（Ｓ１２１３）。そして、その再生経過時刻START_TIMEを表示を行う（Ｓ１２１４）。そして、今回のサーチ再生位置START_MSFをCURRENT_MSFに保存し、INTERVAL_MSFを再計算し（Ｓ１２１５）、サーチ継続判定を経て（Ｓ１１２０）、以下の計算式により、次のサーチ再生を行う位置NEXT_MSFを再び計算する（Ｓ１２０４）。
NEXT_MSF＝CURRENT_MSF＋INTERVAL_MSF
このNEXT_MSFが改めてSEARCH_MSF(1)となる。
【０１６７】
そして、このNEXT_MSFの位置が再生データ（Ｎ曲目）７０２の範囲内であるかどうかを判断する（Ｓ１１０５）。SEARCH_MSF(1)は再生データ（Ｎ曲目）７０２の範囲内であるため、以下の計算式により、そのNEXT_MSFでの再生経過時刻NEXT_TIMEを予測計算する（Ｓ１１０６）。
NEXT_TIME＝NEXT_MSF×2048×8÷AVG_BITRATE
【０１６８】
そして、その再生経過時刻NEXT_TIMEを表示しつつ、サーチ再生位置NEXT_MSFにアクセスを行い、そこからサーチ再生(1)で200msecだけ再生を行う（Ｓ１１０７）。本実施の形態では、サーチ再生時間を200msecと仮定するが、これに限定するものではない。そして、今回のサーチ再生位置NEXT_MSFをCURRENT_MSFに保存する（Ｓ１１０８）。
３回目のフォワードサーチ再生であるサーチ再生(2)については、サーチ再生(1)の繰り返しであるため、説明は省略する。
【０１６９】
このような動作を繰り返すことにより、もしリバースサーチ再生やフォワードサーチ再生などの特殊再生を行って曲をまたがった場合でも、より精度の高い再生経過時刻の表示を実現することが可能になる。
【０１７０】
なお、上述した本発明の実施の形態、および各参考の形態では、再生フレーム位置が再生データ中の特定区間である場合には、再生フレームの再生ビットレートではない代替ビットレートと再生フレームの再生データ先頭からの相対位置を用いて再生経過時刻を算出することにより、再生経過時刻を計算して表示するものとして説明したが、本発明の本質は、曲先頭付近や曲末尾付近の再生フレームが、再生データ全体の平均ビットレートに対して極端にビットレートが低いことが多いため、その区間の再生フレームの再生経過時刻を、その再生フレームのビットレートを用いて計算すると大きな誤差が生じることを解決することにある。
【０１７１】
別の解決策として、あらかじめFADEOUT_MSFやFADEIN_MSFがわかっている場合や、FADEOUT_MSFやFADEIN_MSFを、ある固定値として想定する場合には、上述したリバースサーチ再生において、代替ビットレートを用いずに、再生データ（Ｎ曲目）の初回のリバースサーチ再生位置SEARCH_MSF(1)がFADEOUT_MSFからEND_MSF(N)の間であった場合に、FADEOUT_MSFより前の位置にアクセス位置を補正制御したり、あるいは、再生データ（Ｎ曲目）の初回のリバースサーチ再生位置を、FADEOUT_MSFからEND_MSF(N)の間に来ないよう制御したりすることによって、低ビットレート区間を避けることができる。このため、代替ビットレートを用いず、再生フレームのビットレートを用いても、ほぼ正確な再生経過時刻が計算できる。
【０１７２】
同様に、上述したフォワードサーチ再生において、代替ビットレートを用いずに、再生データ（Ｎ曲目）の初回のフォワードサーチ再生位置SEARCH_MSF(1)がSTART_MSF(N)からFADEIN_MSFの間であった場合に、FADEIN_MSFより後ろの位置にアクセス位置を補正制御したり、再生データ（Ｎ曲目）の初回のフォワードサーチ再生位置を、START_MSF(N)からFADEIN_MSFの間に来ないよう制御したりすることによって低ビットレート区間を避けることができるため、代替ビットレートを用いずに再生フレームのビットレートを用いても、ほぼ正確な再生経過時刻が計算できる。
【０１７３】
また、固定値として想定したFADEOUT_MSFやFADEIN_MSFがその再生データにおいて適切でなかった場合、例えば、FADEIN_MSFの想定値がよりSTART_MSF(N)に近すぎて、初回のサーチ再生位置SEARCH_MSF(1)がまだビットレートの低い期間であったとしても、２回目のサーチ再生においてビットレートを再取得して、初回のサーチ再生時に取得したビットレートと変化があった場合には、改めて２回目のサーチ再生で取得したビットレートをこの再生データ（Ｎ曲目）の平均ビットレートとして採用することにより、より正確な再生経過時刻が計算できる。
【産業上の利用可能性】
【０１７４】
本発明の情報再生装置は、経過時刻表示をもとに再生位置を決定するような操作を行う場合の決定精度を向させることが可能であり、再生経過時刻表示を行う情報再生機器に広く利用できるものである。
【図面の簡単な説明】
【０１７５】
【図１】本発明の参考の形態１における情報再生装置の構成図
【図２】本発明の参考の形態２における情報再生装置の構成図
【図３】本発明の参考の形態３における情報再生装置の構成図
【図４】本発明の実施の形態１における情報再生装置の構成図
【図５】従来のリバースサーチ再生のアクセスの様子を示す図
【図６】本発明の参考の形態１におけるリバースサーチ再生のアクセスの様子を示す図
【図７】従来のフォワードサーチ再生のアクセスの様子を示す図
【図８】本発明の参考の形態１におけるフォワードサーチ再生のアクセスの様子を示す図
【図９】ＭＰ３データのフレーム構造の一例を示す図
【図１０】ＭＰ３データのフレーム構造の一例を示す図
【図１１】本発明の参考の形態１におけるリバースサーチ再生のフローチャート
【図１２】本発明の参考の形態１におけるフォワードサーチ再生のフローチャート
【図１３】本発明の参考の形態２におけるリバースサーチ再生のフローチャート
【図１４】本発明の参考の形態２におけるフォワードサーチ再生のフローチャート
【図１５】本発明の参考の形態３におけるリバースサーチ再生のフローチャート
【図１６】本発明の参考の形態３におけるフォワードサーチ再生のフローチャート
【図１７】本発明の実施の形態１におけるリバースサーチ再生のフローチャート
【図１８】本発明の参考の形態１におけるフォワードサーチ再生のフローチャート
【図１９】可変ビットレート（ＶＢＲ）のＭＰ３データのビットレート変動を示す図
【符号の説明】
【０１７６】
１０１  再生データ格納部
１０２  キー受付部
１０３、３０３  再生制御部
１０４、２０４  再生データ再生部
１０５  クロック部
１０６  再生経過時刻計算部
１０７  表示部
１０８  再生停止情報記憶部
１０９、２０９、３０９  サーチ再生制御部
１１０  開始位置終了位置記憶部
２１３  暫定ビットレート記憶部
３１１  履歴ビットレート記憶部
４１１  前後ビットレート記憶部
【図１】
0004728760.tif 000002
【図２】
0004728760.tif 000003
【図３】
0004728760.tif 000004
【図４】
0004728760.tif 000005
【図５】
0004728760.tif 000006
【図６】
0004728760.tif 000007
【図７】
0004728760.tif 000008
【図８】
0004728760.tif 000009
【図９】
0004728760.tif 000010
【図１０】
0004728760.tif 000011
【図１１】
0004728760.tif 000012
【図１２】
0004728760.tif 000013
【図１３】
0004728760.tif 000014
【図１４】
0004728760.tif 000015
【図１５】
0004728760.tif 000016
【図１６】
0004728760.tif 000017
【図１７】
0004728760.tif 000018
【図１８】
0004728760.tif 000019
【図１９】
0004728760.tif 000020