(57)【要約】【課題】圧縮オーディオファイルの早送りや巻き戻しを行うために必要なフレームの各々の位置を保存する記憶領域の容量が少なくてすむ圧縮オーディオ再生装置を提供する。【解決手段】圧縮オーディオファイルを再生する圧縮オーディオ再生装置であって、再生する圧縮オーディオファイルに記録されている少なくとも１つのフレームを含む基本データストリーム毎のサイズの平均値を表す平均基本データストリームサイズと基本データストリームの各々の基本データストリーム番号との積算値である換算基本データストリーム位置を算出して、基本データストリーム位置記憶手段に記憶されている換算基本データストリーム位置と基本データストリームの位置との差を表す基本データストリーム位置差分データに基づき、再生を開始する基本データストリームの位置を算出する。【選択図】図３
2008185769.tif 000002
【特許請求の範囲】
【請求項１】
圧縮オーディオファイルを再生する圧縮オーディオ再生装置であって、
早送り又は巻き戻し指示の一方を択一的に発する早送り巻き戻し指示手段と、
再生する圧縮オーディオファイルに記録されている少なくとも１つのフレームを含む基本データストリーム毎のサイズの平均値を表す平均基本データストリームサイズを算出する平均基本データストリームサイズ算出手段と、
前記基本データストリームの各々の基本データストリーム番号と前記平均基本データストリームサイズの積算値を、前記基本データストリーム毎の換算基本データストリーム位置とする換算基本データストリーム位置算出手段と、
前記基本データストリームの各々の前記圧縮オーディオファイルの先頭位置を基準とした相対位置と前記基本データストリームの各々に対応する換算基本データストリーム位置との差を表す基本データストリーム位置差分データを記憶する基本データストリーム位置記憶手段と、
前記早送り巻き戻し指示手段からの指示に応じて、再生を開始する基本データストリームの基本データストリーム位置差分データと、当該基本データストリームに対応する換算基本データストリーム位置と、に基づいて、再生開始位置を算出する再生開始位置算出手段と、を有することを特徴とする圧縮オーディオ再生装置。
【請求項２】
前記基本データストリームは、再生する圧縮オーディオファイルに記録されている１つのフレームからなることを特徴とする請求項１記載の圧縮オーディオ再生装置。
【請求項３】
前記基本データストリームは、再生する圧縮オーディオファイルに記録されている所定の数の連続して現れるフレームからなることを特徴とする請求項１記載の圧縮オーディオ再生装置。
【請求項４】
前記平均基本データストリームサイズ算出手段は、再生する圧縮オーディオファイルのうち再生に必要な連続して現れるフレームで構成される音楽データストリームの各々の平均基本データストリームサイズを算出し、
前記換算基本データストリーム位置算出手段は、前記音楽データストリーム毎の前記基本データストリームの各々の基本データストリーム番号と、当該基本データストリームが含まれる音楽データストリームの平均基本データストリームサイズの積算値を、前記基本データストリーム毎の換算基本データストリーム位置とし、
前記基本データストリーム位置記憶手段は、前記音楽データストリーム毎に基本データストリーム位置差分データを記憶することを特徴とする請求項１記載の圧縮オーディオ再生装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、圧縮オーディオファイルの再生を行う圧縮オーディオ再生装置に関する。
【背景技術】
【０００２】
音楽データを圧縮する圧縮形式としてＭＰ３やＡＡＣ等が普及している。これらの圧縮形式で圧縮された圧縮オーディオファイルを再生する装置には、再生機能だけではなく早送りや巻き戻しの機能も求められる。早送りや巻き戻しを行う際は、次に再生を開始する位置まで圧縮オーディオファイルを読み飛ばし、そこから再生を開始する。
【０００３】
圧縮形式のうちＭＰ３では、圧縮オーディオファイルのフレームの各々の先頭にヘッダが付加されている。それ故、圧縮オーディオファイルを任意の位置まで読み飛ばし、そこからヘッダを検索することにより、フレームの先頭を検出することが出来る。そして、検出したフレームの先頭から再生を行うことが出来る。圧縮オーディオファイルでは、フレームの先頭からしか再生を開始することが出来ない。それ故、再生を開始する際には、フレームの先頭を検出する必要がある。
【０００４】
圧縮形式のうちＡＡＣには、ＡＤＴＳ形式とＡＤＩＦ形式がある。ＡＡＣのＡＤＴＳ形式は、ＭＰ３と同じように、圧縮オーディオファイルのフレームの各々の先頭にヘッダが付加されている。それ故、圧縮オーディオファイルを任意の位置まで読み飛ばし、そこからヘッダを検索することにより、フレームの先頭を検出して、再生を開始することが出来る。一方、ＡＡＣのＡＤＩＦ形式では、１つのヘッダと１つ以上のフレームから構成される構造になっている。フレームの先頭にヘッダが存在しないので、圧縮オーディオファイルを任意の位置まで読み飛ばし、そこからヘッダを検索してフレームの先頭を検出するという動作を行うことが出来ない。
【０００５】
このＡＡＣのＡＤＩＦ形式のように、フレームの先頭にヘッダが存在しない圧縮オーディオファイルで早送りや巻き戻しを可能にする装置として特許文献１に記載の装置がある。この装置では、フレームの各々の圧縮オーディオファイルの先頭からの位置を保存しておき、早送りや巻き戻しを行うときは、保存してあるフレームの位置まで圧縮オーディオファイルを読み飛ばし、その位置から再生を開始する。予めフレームの各々の圧縮オーディオファイルの先頭からの位置を保存しておくことで、フレームの先頭にヘッダが存在しない圧縮オーディオファイルでも早送りや巻き戻しを行うことが出来る。
【特許文献１】特開２００２−０４１０９５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上記した装置においては、フレームの各々の圧縮オーディオファイルの先頭からの位置を保存しておく記憶領域が必要となる。この装置のように、フレームの各々の圧縮オーディオファイルの先頭からの位置を保存して場合、フレームの各々の位置の最大値は、圧縮オーディオファイルのサイズの最大値と同じになる。それ故、フレームの各々の位置を保存するために必要となる記憶領域の容量が多くなる。
【０００７】
本発明は上記した点に鑑みてなされたものであり、圧縮オーディオファイルの早送りや巻き戻しを行うために必要なフレームの各々の位置を保存する記憶領域の容量が少なくてすむ圧縮オーディオ再生装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明による圧縮オーディオ再生装置は、圧縮オーディオファイルを再生する圧縮オーディオ再生装置であって、早送り又は巻き戻し指示の一方を択一的に発する早送り巻き戻し指示手段と、再生する圧縮オーディオファイルに記録されている少なくとも１つのフレームを含む基本データストリーム毎のサイズの平均値を表す平均基本データストリームサイズを算出する平均基本データストリームサイズ算出手段と、基本データストリームの各々の基本データストリーム番号と平均基本データストリームサイズの積算値を、基本データストリーム毎の換算基本データストリーム位置とする換算基本データストリーム位置算出手段と、基本データストリームの各々の圧縮オーディオファイルの先頭位置を基準とした相対位置と基本データストリームの各々に対応する換算基本データストリーム位置との差を表す基本データストリーム位置差分データを記憶する基本データストリーム位置記憶手段と、早送り巻き戻し指示手段からの指示に応じて、再生を開始する基本データストリームの基本データストリーム位置差分データと、基本データストリームに対応する換算基本データストリーム位置と、に基づいて、再生開始位置を算出する再生開始位置算出手段と、を有することを特徴とする。
【発明を実施するための最良の形態】
【０００９】
以下、本発明の実施例について図面を参照しつつ詳細に説明する。
【００１０】
図１は、本発明に係る圧縮オーディオ再生装置の第１の実施例を示している。再生処理部１は、圧縮オーディオファイルを読み込み、音声データに変換して、音声出力を行う。早送り巻き戻し指示手段２は、再生処理部１に対して早送り又は巻き戻しの一方の指示を行う。再生処理部１は、早送り巻き戻し指示手段２からの指示に応じて、指定された位置まで圧縮オーディオファイルを読み飛ばし、その位置から再生を行う。操作部７は、圧縮オーディオ再生装置の利用者からの操作を受け付け、早送り巻き戻し指示手段へ早送りや巻き戻しの指令を出す。再生開始位置算出手段３は、早送り巻き戻し指示手段２からの再生開始位置算出指示に応じて、指定された基本データストリームの圧縮オーディオファイルの先頭位置を基準とした相対位置を算出する。基本データストリームは、再生する圧縮オーディオファイルに記録されている１つのフレームからなる。
【００１１】
平均基本データストリームサイズ算出手段４は、再生する圧縮オーディオファイルの基本データストリーム毎のサイズの平均値を表す平均基本データストリームサイズを算出する。再生する圧縮オーディオファイルのファイルサイズがFileSizeで、一番先頭にあるフレームの圧縮オーディオファイルの先頭位置を基準とした相対位置を表す第１フレーム先頭位置がAbsFrame1stで、再生する圧縮オーディオファイルに記録されているフレームの総数がNumFrameであるとすると、平均基本データストリームサイズAvgDataStreamは次の式で表される。
AvgDataStream = ( FileSize - AbsFrame1st ) / NumFrame
換算基本データストリーム位置算出手段５は、基本データストリームの各々の基本データストリーム番号と平均基本データストリームサイズの積算値を、基本データストリーム毎の換算基本データストリーム位置とする。基本データストリーム番号は、先頭から１番目の基本データストリームでは０、先頭から２番目の基本データストリームでは１、先頭からＮ番目の基本データストリームではＮ−１である。
【００１２】
基本データストリーム位置記憶手段６は、基本データストリームの各々の圧縮オーディオファイルの先頭位置を基準とした相対位置と基本データストリームの各々の換算基本データストリーム位置との差を表す基本データストリーム位置差分データを記憶している。基本データストリーム位置差分データは、基本データストリーム位置テーブルに記録されて、記憶されている。先頭からＮ番目の基本データストリームに対応する基本データストリーム位置差分データΔDataStreamNは、先頭からＮ番目の基本データストリームの圧縮オーディオファイルの先頭位置を基準とした相対位置をAbsDataStreamN、第１フレーム先頭位置をAbsFrame1st、先頭からＮ番目の基本データストリームの換算基本データストリーム位置をAvgDataStreamNとすると次の式で表される。
ΔDataStreamN = AbsDataStreamN - AbsFrame1st - AvgDataStreamN
図２に、基本データストリーム位置記憶手段６に記憶されている基本データストリーム位置テーブルの例を示す。基本データストリーム位置テーブルには、圧縮オーディオファイルの先頭にある基本データストリームから順に対応する基本データストリーム位置差分データが記録されている。
【００１３】
また、基本データストリーム位置記憶手段６には、再生する圧縮オーディオファイルのファイルサイズと、再生する圧縮オーディオファイルに記録されているフレームの総数と、第１フレーム先頭位置が記憶されている。
【００１４】
図３に、再生する圧縮オーディオファイルの構造と、平均基本データストリームサイズ、換算基本データストリーム位置、基本データストリーム位置差分データを示す。図３では、第１フレーム先頭位置をAbsFrame1st、先頭からＮ番目の基本データストリームの換算基本データストリーム位置をAvgDataStreamN、先頭からＮ番目の基本データストリームの基本データストリーム位置差分データをΔDataStreamNで表している。また、先頭からＮ番目の基本データストリームの圧縮オーディオファイルの先頭位置を基準とした相対位置をAbsDataStreamNで表している。
【００１５】
次に、再生を開始する基本データストリームの位置を算出する動作について説明する。図４は、再生開始位置算出手段３で実行される再生開始位置算出ルーチンの動作を示している。再生開始位置算出ルーチンは割り込みにより周期的に実行される。
【００１６】
再生開始位置算出手段３は、早送り巻き戻し指示手段２から再生を開始する基本データストリームの再生開始位置算出指示があるかどうかを確認する（ステップＳ４０１）。再生開始位置算出指示がない場合は、処理を終了する。再生開始位置算出指示がある場合、再生開始位置算出手段３は、平均基本データストリームサイズ算出手段４へ平均基本データストリームサイズを算出するように指令を出す（ステップＳ４０２）。平均基本データストリームサイズ算出手段４は、再生開始位置算出手段３からの指令を受けると平均基本データストリームサイズを算出する。平均基本データストリームサイズが算出された後、再生開始位置算出手段３は、換算基本データストリーム位置算出手段５へ再生を開始する基本データストリームの換算基本データストリーム位置を算出するように指令を出す（ステップＳ４０３）。換算基本データストリーム位置算出手段５は、再生開始位置算出手段３からの指令を受けると換算基本データストリーム位置を算出する。換算基本データストリーム位置が算出された後、再生開始位置算出手段３は、基本データストリーム位置記憶手段６から再生を開始する基本データストリームに対応する基本データストリーム位置差分データと、第１フレーム先頭位置を読み出す（ステップＳ４０４）。そして、再生開始位置算出手段３は、再生を開始する基本データストリームの位置を算出して、算出した位置を再生開始位置とする（ステップＳ４０５）。再生を開始する基本データストリームの位置AbsDataStreamNは、基本データストリーム位置差分データをΔDataStreamN、換算基本データストリーム位置をAvgDataStreamN、第１フレーム先頭位置をAbsFrame1stとすると次の式を計算することで求められる。
AbsDataStreamN = AbsFrame1st + AvgDataStreamN + ΔDataStreamN
ここで、再生する圧縮オーディオファイルの構造が図５であるとする。基本データストリームの各々に対応する基本データストリーム位置差分データ、再生する圧縮オーディオファイルのファイルサイズ、再生する圧縮オーディオファイルに記録されているフレームの総数、第１フレーム先頭位置は、例えば、前回圧縮オーディオファイルを再生したとき等に取得され、予め保存されているとする。このとき、基本データストリーム位置テーブルは、図６のようになっているとする。また、基本データストリーム位置記憶手段６に記憶されている圧縮オーディオファイルのファイルサイズは「１４」、フレームの総数は「４」、第１フレーム先頭位置は「２」となっている。
【００１７】
図５の圧縮オーディオファイルを再生中に、早送りの操作があり、３番目の基本データストリームまで読み飛ばして、そこから再生を開始するように操作部７から早送り巻き戻し指示手段２へ指令が出されたとする。早送り巻き戻し指示手段２は、操作部７からの指令を受けると、再生開始位置算出手段３へ３番目の基本データストリームの位置を算出するように指示を出す。再生開始位置算出手段３は指示を受けると、３番目の基本データストリームの位置を算出する処理を行う。圧縮オーディオファイルのファイルサイズが「１４」でフレームの総数が「４」、第１フレーム先頭位置が「２」なので、平均基本データストリームサイズは（１４−２）／４＝３となる。３番目の基本データストリームの換算基本データストリーム位置は、２×３＝６となる。また、３番目の基本データストリームに対応する基本データストリーム位置差分データは、「−２」である。それ故、３番目の基本データストリームの位置は、２＋６＋（−２）＝６となる。尚、図５では、第１フレーム先頭位置をAbsFrame1st、３番目の基本データストリームの換算基本データストリーム位置をAvgDataStream3、３番目の基本データストリームに対応する基本データストリーム位置差分データをΔDataStream3、３番目の基本データストリームの位置をAbsDataStream3で表している。
【００１８】
早送り巻き戻し指示手段２は、再生開始位置算出手段３が再生開始位置を算出した後、算出された再生開始位置まで圧縮オーディオファイルを読み飛ばし、その位置から再生を開始するように再生処理部１へ指示を出す。再生処理部１は、早送り巻き戻し指示手段２からの指示に応じて、指定された再生開始位置まで圧縮オーディオファイルを読み飛ばし、その位置から再生を開始する。
【００１９】
このように、基本データストリームの各々に対応する基本データストリーム位置差分データを保存しておくことで、任意の基本データストリームの位置を算出することが出来るようになり、圧縮オーディオファイルの指定された位置から再生を開始することが出来る。基本データストリーム位置差分データは、換算基本データストリーム位置と基本データストリームの位置との差を表している。第１の実施例では、基本データストリームが１つのフレームからなっているので、基本データストリーム位置差分データの大きさはフレームサイズの最大値以下となる。フレームサイズの最大値をMaxFrameバイト、圧縮オーディオファイルに記録されているフレームの総数をNumFrame個とすると、基本データストリーム位置差分データを記憶するために必要な記憶容量のビット数MemSizeは次の式で表される。
MemSize = NumFrame×Log2(MaxFrame)
圧縮形式がＡＡＣの場合、フレームサイズの最大値は「１５３６＜２11」なので、基本データストリーム位置差分データを記憶するために必要な記憶容量のビット数は「NumFrame×１１」よりも小さくなる。一方、フレームの各々の圧縮オーディオファイルの先頭からの位置を保存する場合、ファイルサイズの最大値を「２32」とすると、必要な記憶容量のビット数は「NumFrame×３２」となる。このように第１の実施例によれば、フレームの各々の圧縮オーディオファイルの先頭からの位置を保存する場合に比べて、必要な記憶容量を「１１／３２」にすることが出来る。
【００２０】
以下で、本発明に係る圧縮オーディオ再生装置の第２の実施例について説明する。
【００２１】
図７は、本発明に係る圧縮オーディオ再生装置の第２の実施例を示している。再生処理部１は、圧縮オーディオファイルを読み込み、音声データに変換して、音声出力を行う。早送り巻き戻し指示手段２は、再生処理部１に対して早送り又は巻き戻しの一方の指示を行う。再生処理部１は、早送り巻き戻し指示手段２からの指示に応じて、指定された位置まで圧縮オーディオファイルを読み飛ばし、その位置から圧縮オーディオファイルの再生を行う。操作部７は、圧縮オーディオ再生装置の利用者からの操作を受け付け、早送り巻き戻し指示手段へ早送りや巻き戻しの指令を出す。再生開始位置算出手段３は、早送り巻き戻し指示手段２からの再生開始位置算出指示に応じて、指定された基本データストリームの圧縮オーディオファイルの先頭位置を基準とした相対位置を算出する。基本データストリームは、再生する圧縮オーディオファイルに記録されている複数の連続して現れるフレームからなる。ここでは、基本データストリームは８個の連続して現れるフレームから構成されているとする。
【００２２】
平均基本データストリームサイズ算出手段４は、再生する圧縮オーディオファイルの基本データストリーム毎のサイズの平均値を表す平均基本データストリームサイズを算出する。再生する圧縮オーディオファイルのファイルサイズがFileSizeで、一番先頭にあるフレームの圧縮オーディオファイルの先頭位置を基準とした相対位置を表す第１フレーム先頭位置がAbsFrame1stで、再生する圧縮オーディオファイルに記録されているフレームの総数がNumFrameで、１個の基本データストリームに含まれるフレームの数がStreamFrameNumであるとすると、平均基本データストリームサイズAvgDataStreamは次の式で表される。
AvgDataStream = [ ( FileSize - AbsFrame1st ) / NumFrame ]×StreamFrameNum
換算基本データストリーム位置算出手段５は、基本データストリームの各々の基本データストリーム番号と平均基本データストリームサイズの積算値を、基本データストリーム毎の換算基本データストリーム位置とする。基本データストリーム番号は、先頭から１番目の基本データストリームでは０、先頭から２番目の基本データストリームでは１、先頭からＮ番目の基本データストリームではＮ−１である。
【００２３】
基本データストリーム位置記憶手段６は、基本データストリームの各々の圧縮オーディオファイルの先頭位置を基準とした相対位置と基本データストリームの各々の換算基本データストリーム位置との差を表す基本データストリーム位置差分データを記憶している。基本データストリーム位置差分データは、基本データストリーム位置テーブルに記録されて、記憶されている。先頭からＮ番目の基本データストリームに対応する基本データストリーム位置差分データΔDataStreamNは、先頭からＮ番目の基本データストリームの圧縮オーディオファイルの先頭位置を基準とした相対位置をAbsDataStreamN、第１フレーム先頭位置をAbsFrame1st、先頭からＮ番目の基本データストリームの換算基本データストリーム位置をAvgDataStreamNとすると次の式で表される。
ΔDataStreamN = AbsDataStreamN - AbsFrame1st - AvgDataStreamN
図８に、基本データストリーム位置記憶手段６に記憶されている基本データストリーム位置テーブルの例を示す。基本データストリーム位置テーブルには、圧縮オーディオファイルの先頭にある基本データストリームから順に対応する基本データストリーム位置差分データが記録されている。
【００２４】
また、基本データストリーム位置記憶手段６には、再生する圧縮オーディオファイルのファイルサイズと、再生する圧縮オーディオファイルに記録されているフレームの総数と、第１フレーム先頭位置と、１個の基本データストリームに含まれるフレームの数が記憶されている。
【００２５】
図９に、再生する圧縮オーディオファイルの構造と、平均基本データストリームサイズ、換算基本データストリーム位置、基本データストリーム位置差分データを示す。図９では、第１フレーム先頭位置をAbsFrame1st、先頭からＮ番目の基本データストリームの換算基本データストリーム位置をAvgDataStreamN、先頭からＮ番目の基本データストリームの基本データストリーム位置差分データをΔDataStreamNで表している。また、先頭からＮ番目の基本データストリームの圧縮オーディオファイルの先頭位置を基準とした相対位置をAbsDataStreamNで表している。
【００２６】
次に、再生を開始する基本データストリームの位置を算出する動作について説明する。図１０は、再生開始位置算出手段３で実行される再生開始位置算出ルーチンの動作を示している。再生開始位置算出ルーチンは割り込みにより周期的に実行される。
【００２７】
再生開始位置算出手段３は、早送り巻き戻し指示手段２から再生を開始する基本データストリームの再生開始位置算出指示があるかどうかを確認する（ステップＳ１００１）。再生開始位置算出指示がない場合は、処理を終了する。再生開始位置算出指示がある場合、再生開始位置算出手段３は、平均基本データストリームサイズ算出手段４へ平均基本データストリームサイズを算出するように指令を出す（ステップＳ１００２）。平均基本データストリームサイズ算出手段４は、再生開始位置算出手段３からの指令を受けると平均基本データストリームサイズを算出する。平均基本データストリームサイズが算出された後、再生開始位置算出手段３は、換算基本データストリーム位置算出手段５へ再生を開始する基本データストリームの換算基本データストリーム位置を算出するように指令を出す（ステップＳ１００３）。換算基本データストリーム位置算出手段５は、再生開始位置算出手段３からの指令を受けると換算基本データストリーム位置を算出する。換算基本データストリーム位置が算出された後、再生開始位置算出手段３は、基本データストリーム位置記憶手段６から再生を開始する基本データストリームに対応する基本データストリーム位置差分データと、第１フレーム先頭位置を読み出す（ステップＳ１００４）。そして、再生開始位置算出手段３は、再生を開始する基本データストリームの位置を算出して、算出した位置を再生開始位置とする（ステップＳ１００５）。再生を開始する基本データストリームの位置AbsDataStreamNは、基本データストリーム位置差分データをΔDataStreamN、換算基本データストリーム位置をAvgDataStreamN、第１フレーム先頭位置をAbsFrame1stとすると次の式を計算することで求められる。
AbsDataStreamN = AbsFrame1st + AvgDataStreamN + ΔDataStreamN
ここで、再生する圧縮オーディオファイルの構造が図１１であるとする。基本データストリームの各々に対応する基本データストリーム位置差分データ、再生する圧縮オーディオファイルのファイルサイズ、再生する圧縮オーディオファイルに記録されているフレームの総数、第１フレーム先頭位置は、例えば、前回圧縮オーディオファイルを再生したとき等に取得され、予め保存されているとする。また、１個の基本データストリームに含まれるフレームの数は予め設定されて、その値が保存されている。このとき、基本データストリーム位置テーブルは、図１２のようになっているとする。また、基本データストリーム位置記憶手段６に記憶されている圧縮オーディオファイルのファイルサイズは「７４」、フレームの総数は「２４」、第１フレーム先頭位置は「２」、１個の基本データストリームに含まれるフレームの数は「８」となっている。
【００２８】
図１１の圧縮オーディオファイルを再生中に、早送りの操作があり、３番目の基本データストリームまで読み飛ばして、そこから再生を開始するように操作部７から早送り巻き戻し指示手段２へ指令が出されたとする。早送り巻き戻し指示手段２は、操作部７からの指令を受けると、再生開始位置算出手段３へ３番目の基本データストリームの位置を算出するように指示を出す。再生開始位置算出手段３は指示を受けると、３番目の基本データストリームの位置を算出する処理を行う。圧縮オーディオファイルのファイルサイズが「７４」でフレームの総数が「２４」、第１フレーム先頭位置が「２」、１個の基本データストリームに含まれるフレームの数は「８」なので、平均基本データストリームサイズは｛（７４−２）／２４｝×８＝２４となる。３番目の基本データストリームの換算基本データストリーム位置は、２×２４＝４８となる。また、３番目の基本データストリームに対応する基本データストリーム位置差分データは、「５」である。それ故、３番目の基本データストリームの位置は、２＋４８＋５＝５５となる。尚、図１１では、第１フレーム先頭位置をAbsFrame1st、３番目の基本データストリームの換算基本データストリーム位置をAvgDataStream3、３番目の基本データストリームに対応する基本データストリーム位置差分データをΔDataStream3、３番目の基本データストリームの位置をAbsDataStream3で表している。
【００２９】
早送り巻き戻し指示手段２は、再生開始位置算出手段３が再生開始位置を算出した後、算出された再生開始位置まで圧縮オーディオファイルを読み飛ばし、その位置から再生を開始するように再生処理部１へ指示を出す。再生処理部１は、早送り巻き戻し指示手段２からの指示に応じて、指定された再生開始位置まで圧縮オーディオファイルを読み飛ばし、その位置から再生を開始する。
【００３０】
このように、基本データストリームの各々に対応する基本データストリーム位置差分データを保存しておくことで、任意の基本データストリームの位置を算出することが出来るようになり、圧縮オーディオファイルの指定された位置から再生を開始することが出来る。基本データストリーム位置差分データは、換算基本データストリーム位置と基本データストリームの位置との差を表している。第２の実施例では、基本データストリームが８個の連続したフレームからなっているので、基本データストリーム位置差分データの大きさは「フレームサイズの最大値×８」以下となる。フレームサイズの最大値をMaxFrameバイト、圧縮オーディオファイルに記録されているフレームの総数をNumFrame個とすると、基本データストリーム位置差分データを記憶するために必要な記憶容量のビット数MemSizeは次の式で表される。
MemSize = ( NumFrame / 8 )×Log2(MaxFrame×8)
= ( NumFrame / 8 )×[ Log2(MaxFrame)+ Log2(8) ]
= ( NumFrame / 8 )×[ Log2(MaxFrame)+ 3 ]
圧縮形式がＡＡＣの場合、フレームサイズの最大値は「１５３６＜２11」なので、基本データストリーム位置差分データを記憶するために必要な記憶容量のビット数は「（NumFrame / 8）×１４」よりも小さくなる。一方、フレームの各々の圧縮オーディオファイルの先頭からの位置を保存する場合、ファイルサイズの最大値を「２32」とすると、必要な記憶容量のビット数は「NumFrame×３２」となる。このように第２の実施例によれば、フレームの各々の圧縮オーディオファイルの先頭からの位置を保存する場合に比べて、必要な記憶容量を「７／１２８」にすることが出来る。また、第１の実施例と比べても必要な記憶容量を「７／４４」にすることが出来る。
【００３１】
以下で、本発明に係る圧縮オーディオ再生装置の第３の実施例について説明する。
【００３２】
図１３に本発明に係る圧縮オーディオ再生装置の第３の実施例を、図１４に再生する圧縮オーディオファイルの構造の例を示す。圧縮オーディオファイルには、再生に必要な部分以外に、曲のタイトルやアーチスト名等の情報や画像等再生に必要のない部分が含まれることがある。再生に必要な部分の中で連続して現れるフレームで構成されている部分を１個の音楽データストリームとする。
【００３３】
再生処理部１は、圧縮オーディオファイルを読み込み、音声データに変換して、音声出力を行う。早送り巻き戻し指示手段２は、再生処理部１に対して早送り又は巻き戻しの一方の指示を行う。再生処理部１は、早送り巻き戻し指示手段２からの指示に応じて、指定された位置まで圧縮オーディオファイルを読み飛ばし、その位置から圧縮オーディオファイルの再生を行う。操作部７は、圧縮オーディオ再生装置の利用者からの操作を受け付け、早送り巻き戻し指示手段へ早送りや巻き戻しの指令を出す。再生開始位置算出手段３は、早送り巻き戻し指示手段２からの再生開始位置算出指示に応じて、指定された基本データストリームの位置を算出する。基本データストリームは、再生する圧縮オーディオファイルの音楽データストリームに記録されている複数の連続して現れるフレームからなる。
【００３４】
平均基本データストリームサイズ算出手段４は、再生する圧縮オーディオファイルの音楽データストリームの各々の基本データストリーム毎のサイズの平均値を表す平均基本データストリームサイズを算出する。再生する圧縮オーディオファイルに含まれる音楽データストリームＡのヘッダ部分を除くサイズがMusicStreamSizeで、音楽データストリームＡに含まれるフレームの総数がNumFrameで、音楽データストリームＡの１個の基本データストリームに含まれるフレームの数がStreamFrameNumであるとすると、音楽データストリームＡの平均基本データストリームサイズAvgDataStreamは次の式で表される。
AvgDataStream = ( MusicStreamSize / NumFrame )×StreamFrameNum
換算基本データストリーム位置算出手段５は、音楽データストリーム毎の基本データストリームの各々の基本データストリーム番号と、その基本データストリームが含まれる音楽データストリームの平均基本データストリームサイズの積算値を、基本データストリーム毎の換算基本データストリーム位置とする。圧縮オーディオファイルの先頭からＸ番目にある基本データストリームの基本データストリーム番号は、その基本データストリームが含まれる音楽データストリームの一番先頭にある基本データストリームが圧縮オーディオファイルの先頭からＮ番目にあるすると、「Ｘ−Ｎ」となる。
【００３５】
基本データストリーム位置記憶手段６は、基本データストリームの各々の圧縮オーディオファイルの先頭位置を基準とした相対位置と基本データストリームの各々の換算基本データストリーム位置との差を表す基本データストリーム位置差分データを記憶している。基本データストリーム位置差分データは、基本データストリーム位置テーブルに記録されて、記憶されている。音楽データストリームＡの先頭からＮ番目の基本データストリームに対応する基本データストリーム位置差分データΔDataStreamNは、音楽データストリームＡの先頭からＮ番目の基本データストリームの圧縮オーディオファイルの先頭位置を基準とした相対位置をAbsDataStreamN、音楽データストリームＡの一番先頭にあるフレームの圧縮オーディオファイルの先頭位置を基準とした相対位置を表す第１フレーム先頭位置をAbsFrame1st、音楽データストリームＡの先頭からＮ番目の基本データストリームの換算基本データストリーム位置をAvgDataStreamNとすると次の式で表される。
ΔDataStreamN = AbsDataStreamN - AbsFrame1st - AvgDataStreamN
図１５に、基本データストリーム位置記憶手段６に記憶されている基本データストリーム位置テーブルの例を示す。基本データストリーム位置テーブルには、音楽データストリーム毎に、音楽データストリームの先頭にある基本データストリームから順に対応する基本データストリーム位置差分データが記録されている。
【００３６】
また、基本データストリーム位置記憶手段６には、再生する圧縮オーディオファイルに含まれる全ての音楽データストリームの数と、再生する圧縮オーディオファイルに含まれる全ての音楽データストリームに記録されているフレームの総数と、音楽データストリームの各々の情報を記録する音楽データストリーム情報テーブルが記憶されている。
【００３７】
図１６に、基本データストリーム位置記憶手段６に記憶されている音楽データストリーム情報テーブルの例を示す。音楽データストリーム情報テーブルには、圧縮オーディオファイルの先頭の音楽データストリームから順に音楽データストリームの情報が記録されている。音楽データストリーム番号は、音楽データストリームの各々を区別する番号である。総フレーム数は音楽データストリームの各々に記録されているフレームの総数である。第１フレーム先頭位置は、音楽データストリームの各々の一番先頭にあるフレームの圧縮オーディオファイルの先頭位置を基準とした相対位置である。フレーム数は、音楽データストリームの各々の１個の基本データストリームに含まれるフレームの数である。開始基本データストリーム番号は、音楽データストリームの各々の一番先頭にある基本データストリームが圧縮オーディオファイルの先頭から何番目の基本データストリームであるかを表している。ストリームサイズは、音楽データストリームの各々のヘッダ部分を除いたサイズである。基本データストリーム位置差分データの位置は、音楽データストリームの各々の基本データストリーム位置差分データが基本データストリーム位置テーブルのどの位置から記録されているかを表している。
【００３８】
図１７に、再生する圧縮オーディオファイルの構造と、音楽データストリームの各々の第１フレーム先頭位置と音楽データストリームのサイズを示す。図１７では、第１フレーム先頭位置をAbsFrame1st、音楽データストリームのサイズをMusicStreamSizeで表している。
【００３９】
図１８に、再生する圧縮オーディオファイルに含まれる１つの音楽データストリームの構造と、平均基本データストリームサイズ、換算基本データストリーム位置、基本データストリーム位置差分データを示す。図１８では、第１フレーム先頭位置をAbsFrame1st、先頭からＮ番目の基本データストリームの換算基本データストリーム位置をAvgDataStreamN、先頭からＮ番目の基本データストリームの基本データストリーム位置差分データをΔDataStreamNで表している。また、先頭からＮ番目の基本データストリームの圧縮オーディオファイルの先頭位置を基準とした相対位置をAbsDataStreamNで表している。
【００４０】
次に、再生を開始する基本データストリームの位置を算出する動作について説明する。図１９は、再生開始位置算出手段３で実行される再生開始位置算出ルーチンの動作を示している。再生開始位置算出ルーチンは割り込みにより周期的に実行される。
【００４１】
再生開始位置算出手段３は、早送り巻き戻し指示手段２から再生を開始する基本データストリームの再生開始位置算出指示があるかどうかを確認する（ステップＳ１９０１）。再生開始位置算出指示がない場合は、処理を終了する。再生開始位置算出指示がある場合、再生開始位置算出手段３は、再生を開始する基本データストリームが含まれる音楽データストリームを検索する（ステップＳ１９０２）。ここで、再生を開始する基本データストリームが圧縮オーディオファイルの先頭からＸ番目の基本データストリームであるとする。その場合、音楽データストリームの検索は、次の手順により行われる。まず、再生開始位置算出手段３は、音楽データストリーム情報テーブルから音楽データストリームの各々の開始基本データストリーム番号と、総フレーム数と、基本データストリームに含まれるフレーム数を読み出す。次に、開始基本データストリーム番号がＸ以下で、「開始基本データストリーム番号＋（総フレーム数／フレーム数）」がＸを越える音楽データストリームを検索する。検索された音楽データストリームに再生を開始する基本データストリームが含まれる。
【００４２】
音楽データストリームを検索した後、再生開始位置算出手段３は、平均基本データストリームサイズ算出手段４へ再生を開始する基本データストリームが含まれる音楽データストリームの平均基本データストリームサイズを算出するように指令を出す（ステップＳ１９０３）。平均基本データストリームサイズ算出手段４は、再生開始位置算出手段３からの指令を受けると平均基本データストリームサイズを算出する。平均基本データストリームサイズが算出された後、再生開始位置算出手段３は、換算基本データストリーム位置算出手段５へ再生を開始する基本データストリームの換算基本データストリーム位置を算出するように指令を出す（ステップＳ１９０４）。換算基本データストリーム位置算出手段５は、再生開始位置算出手段３からの指令を受けると換算基本データストリーム位置を算出する。
【００４３】
換算基本データストリーム位置が算出された後、再生開始位置算出手段３は、音楽データストリーム情報テーブルから再生を開始する基本データストリームが含まれる音楽データストリームの基本データストリーム位置差分データの位置を読み出す（ステップＳ１９０５）。読み出した基本データストリーム位置差分データの位置を基に、再生開始位置算出手段３は、基本データストリーム位置テーブルから再生を開始する基本データストリームの基本データストリーム位置差分データを読み出す（ステップＳ１９０６）。また、再生開始位置算出手段３は、音楽データストリーム情報テーブルから再生を開始する基本データストリームが含まれる音楽データストリームの第１フレーム先頭位置を読み出す（ステップＳ１９０７）。そして、再生開始位置算出手段３は、再生を開始する基本データストリームの位置を算出して、再生開始位置とする（ステップＳ１９０８）。再生を開始する基本データストリームの位置AbsDataStreamNは、基本データストリーム位置差分データをΔDataStreamN、換算基本データストリーム位置をAvgDataStreamN、第１フレーム先頭位置をAbsFrame1stとすると次の式を計算することで求められる。
AbsDataStreamN = AbsFrame1st + AvgDataStreamN + ΔDataStreamN
ここで、再生する圧縮オーディオファイルの構造が図２０であるとする。再生する圧縮オーディオファイルには、３個の音楽データストリームが含まれている。このとき、基本データストリーム位置テーブルは、図２１のようになっているとする。また、音楽データストリーム情報テーブルは、図２２のようになっているとする。基本データストリーム位置テーブルの内容及び音楽データストリーム情報テーブルの内容は、例えば、前回圧縮オーディオファイルを再生したとき等に取得され、予め保存されているとする。
【００４４】
図２０の圧縮オーディオファイルを再生中に、早送りの操作があり、７番目の基本データストリームまで読み飛ばして、そこから再生を開始するように操作部７から早送り巻き戻し指示手段２へ指令が出されたとする。早送り巻き戻し指示手段２は、操作部７からの指令を受けると、再生開始位置算出手段３へ７番目の基本データストリームの位置を算出するように指示を出す。再生開始位置算出手段３は指示を受けると、７番目の基本データストリームの位置を算出する処理を行う。
【００４５】
再生開始位置算出手段３は、まず、７番目の基本データストリームが含まれる音楽データストリームを検索する。音楽データストリーム１の開始基本データストリーム番号は「１」、総フレーム数は「３２」、フレーム数は「８」である。開始基本データストリーム番号は「１」なので、「７」以下である。一方、「開始基本データストリーム番号＋（総フレーム数／フレーム数）」は、「１＋（３２／８）＝５」となり、「７」を越えない。それ故、音楽データストリーム１には、７番目の基本データストリームが含まれない。音楽データストリーム２の開始基本データストリーム番号は「５」、総フレーム数は「２４」、フレーム数は「８」である。開始基本データストリーム番号は「５」なので、「７」以下である。また、「開始基本データストリーム番号＋（総フレーム数／フレーム数）」は、「５＋（２４／８）＝８」となり、「７」を越える。それ故、音楽データストリーム２に、７番目の基本データストリームが含まれる。
【００４６】
７番目の基本データストリームが含まれる音楽データストリーム２の構造を図２３に示す。図２３では、音楽データストリーム２の第１フレーム先頭位置をAbsFrame1st、７番目の基本データストリームの換算基本データストリーム位置をAvgDataStream7、７番目の基本データストリームに対応する基本データストリーム位置差分データをΔDataStream7、７番目の基本データストリームの位置をAbsDataStream7で表している。
【００４７】
次に、音楽データストリーム２の平均基本データストリームサイズの算出が行われる。音楽データストリーム２のストリームサイズは「７２」、フレーム総数は「２４」、フレーム数は「８」なので、平均基本データストリームサイズは（７２／２４）×８＝２４となる。平均基本データストリームサイズの算出後、７番目の基本データストリームの換算基本データストリーム位置を算出する。音楽データストリーム２の開始基本データストリーム番号は「５」なので、７番目の基本データストリームの換算基本データストリーム位置は（７−５）×２４＝４８となる。
【００４８】
そして、再生開始位置算出手段３は、音楽データストリーム情報テーブルから音楽データストリーム２の基本データストリーム位置差分データの位置を読み出す。読み出した基本データストリーム位置差分データの位置を基に、再生開始位置算出手段３は、基本データストリーム位置テーブルから７番目の基本データストリームの基本データストリーム位置差分データを読み出す。また、再生開始位置算出手段３は、音楽データストリーム情報テーブルから音楽データストリーム２の第１フレーム先頭位置を読み出す。７番目の基本データストリームの基本データストリーム位置差分データは「５」、音楽データストリーム２の第１フレーム先頭位置は「１１４」なので、７番目の基本データストリームの位置は１１４＋４８＋５＝１６７となる。
【００４９】
早送り巻き戻し指示手段２は、再生開始位置算出手段３が再生開始位置を算出した後、算出された再生開始位置まで圧縮オーディオファイルを読み飛ばし、その位置から再生を開始するように再生処理部１へ指示を出す。再生処理部１は、早送り巻き戻し指示手段２からの指示に応じて、指定された再生開始位置まで圧縮オーディオファイルを読み飛ばし、その位置から再生を開始する。
【００５０】
このように、基本データストリームの各々に対応する基本データストリーム位置差分データを保存しておくことで、任意の基本データストリームの位置を算出することが出来るようになり、圧縮オーディオファイルの指定された位置から再生を開始することが出来る。再生に必要な部分のみで構成される音楽データストリーム毎に平均基本データストリームサイズを算出しているので、再生に不要なデータが多量に含まれる場合でも平均基本データストリームサイズは増加しない。基本データストリーム位置差分データは、平均基本データストリームサイズと基本データストリーム番号の積算値である換算基本データストリーム位置と基本データストリームの位置との差を表している。それ故、再生に不要なデータが多量に含まれる圧縮オーディオファイルでも、基本データストリーム位置差分データの大きさは増加しない。
【００５１】
尚、早送りや巻き戻し可能な圧縮オーディオファイルの圧縮形式には、ＡＡＣのＡＤＩＦ形式に限らず、ＡＡＣのＡＤＴＳ形式やＭＰ３等も含まれ、ヘッダの有無に係らずフレーム構造を持つ全ての圧縮形式で早送りや巻き戻しを行うことが出来る。また、映像ファイルにも適用することが出来る。
【００５２】
上記説明したように、本発明の圧縮オーディオ再生装置は、基本データストリームの各々に対応する基本データストリーム位置差分データを保存しておくことで、任意の基本データストリームの位置を算出することが出来る。それ故、圧縮オーディオファイルの早送りや巻き戻しを行うために必要なフレームの各々の位置を保存する記憶領域の容量を少なくすることが出来る。
【図面の簡単な説明】
【００５３】
【図１】本発明の第１の実施例である圧縮オーディオ再生装置を示すブロック図である。
【図２】図１の圧縮オーディオ再生装置の基本データストリーム位置テーブルの例を示す図である。
【図３】圧縮オーディオファイルの構造を示すブロック図である。
【図４】図１の圧縮オーディオ再生装置の再生開始位置算出ルーチンの動作を示すフローチャートである。
【図５】圧縮オーディオファイルの構造を示すブロック図である。
【図６】図１の圧縮オーディオ再生装置の基本データストリーム位置テーブルの例を示す図である。
【図７】本発明の第２の実施例である圧縮オーディオ再生装置を示すブロック図である。
【図８】図７の圧縮オーディオ再生装置の基本データストリーム位置テーブルの例を示す図である。
【図９】圧縮オーディオファイルの構造を示すブロック図である。
【図１０】図７の圧縮オーディオ再生装置の再生開始位置算出ルーチンの動作を示すフローチャートである。
【図１１】圧縮オーディオファイルの構造を示すブロック図である。
【図１２】図７の圧縮オーディオ再生装置の基本データストリーム位置テーブルの例を示す図である。
【図１３】本発明の第３の実施例である圧縮オーディオ再生装置を示すブロック図である。
【図１４】圧縮オーディオファイルの構造を示すブロック図である。
【図１５】図１３の圧縮オーディオ再生装置の基本データストリーム位置テーブルの例を示す図である。
【図１６】図１３の圧縮オーディオ再生装置の音楽データストリーム情報テーブルの例を示す図である。
【図１７】圧縮オーディオファイルの構造を示すブロック図である。
【図１８】圧縮オーディオファイルの音楽データストリームの構造を示すブロック図である。
【図１９】図１３の圧縮オーディオ再生装置の再生開始位置算出ルーチンの動作を示すフローチャートである。
【図２０】圧縮オーディオファイルの構造を示すブロック図である。
【図２１】図１３の圧縮オーディオ再生装置の基本データストリーム位置テーブルの例を示す図である。
【図２２】図１３の圧縮オーディオ再生装置の音楽データストリーム情報テーブルの例を示す図である。
【図２３】圧縮オーディオファイルの音楽データストリームの構造を示すブロック図である。
【符号の説明】
【００５４】
１  再生処理部
２  早送り巻き戻し指示手段
３  再生開始位置算出手段
４  平均基本データストリームサイズ算出手段
５  換算基本データストリーム位置算出手段
６  基本データストリーム位置記憶手段
７  操作部
【図１】
2008185769.tif 000003
【図２】
2008185769.tif 000004
【図３】
2008185769.tif 000005
【図４】
2008185769.tif 000006
【図５】
2008185769.tif 000007
【図６】
2008185769.tif 000008
【図７】
2008185769.tif 000009
【図８】
2008185769.tif 000010
【図９】
2008185769.tif 000011
【図１０】
2008185769.tif 000012
【図１１】
2008185769.tif 000013
【図１２】
2008185769.tif 000014
【図１３】
2008185769.tif 000015
【図１４】
2008185769.tif 000016
【図１５】
2008185769.tif 000017
【図１６】
2008185769.tif 000018
【図１７】
2008185769.tif 000019
【図１８】
2008185769.tif 000020
【図１９】
2008185769.tif 000021
【図２０】
2008185769.tif 000022
【図２１】
2008185769.tif 000023
【図２２】
2008185769.tif 000024
【図２３】
2008185769.tif 000025