(57)【要約】【課題】楽曲の早送りまたは再生時においても、正確に総合演奏時間を演算することができるようにする。【解決手段】多重分離部１３１は、入力ストリームからオーディオエレメンタリストリームを分離し、フレームごとに、オーディオエレメンタリストリームのＥＳデータを、ＥＳデータバッファ１３２に格納する。また、多重分離部１３１は、フレームごとに、最初のフレームから各フレームまでに含まれるメインデータフレーム数を演算し、そのメインデータフレーム数をＥＳデータ情報バッファ１３３に格納する。デコード部１３４は、ＥＳデータ情報バッファ１３３から取得したメインデータフレーム数に基づいて、総合演奏時間を演算する。本発明は、ＡＶ装置に適用することができる。【選択図】      図５
2004341430.tif 000002
【特許請求の範囲】
【請求項１】
可変長フレームで表されるデータを含む複数の固定長フレームから構成されるエレメンタリストリームを再生する再生装置において、
前記固定長フレームのヘッダに含まれる情報に基づいて、最初の固定長フレームから各固定長フレームの開始位置までの総合フレームサイズをそれぞれ演算する総合フレームサイズ演算手段と、
前記総合フレームサイズに基づいて、各固定長フレームに対する前記可変長フレームの開始アドレスをそれぞれ演算するフレーム開始アドレス演算手段と、
前記総合フレームサイズと前記可変長フレームの開始アドレスに基づいて、最初の固定長フレームから、各固定長フレームまでに含まれる前記可変長フレームの総数をそれぞれ演算する可変長フレーム総数演算手段と、
前記可変長フレーム総数演算手段により演算された前記可変長フレームの総数に基づいて、最初の固定長フレームから再生する固定長フレームまでの演奏時間を演算する演奏時間演算手段と
を備えることを特徴とする再生装置。
【請求項２】
前記エレメンタリストリームを、オーディオアクセスユニット単位でデコードするデコード手段をさらに備え、
前記演奏時間演算手段は、前記デコード手段により前記エレメンタリストリームがデコードされるごとに、前記演奏時間を加算する
ことを特徴とする請求項１に記載の再生装置。
【請求項３】
可変長フレームで表されるデータを含む複数の固定長フレームから構成されるエレメンタリストリームを再生する再生方法において、
前記固定長フレームのヘッダに含まれる情報に基づいて、最初の固定長フレームから各固定長フレームの開始位置までの総合フレームサイズをそれぞれ演算する総合フレームサイズ演算ステップと、
前記総合フレームサイズに基づいて、各固定長フレームに対する前記可変長フレームの開始アドレスをそれぞれ演算するフレーム開始アドレス演算ステップと、
前記総合フレームサイズと前記可変長フレームの開始アドレスに基づいて、最初の固定長フレームから、各固定長フレームまでに含まれる前記可変長フレームの総数をそれぞれ演算する可変長フレーム総数演算ステップと、
前記可変長フレーム総数演算ステップの処理により演算された前記可変長フレームの総数に基づいて、最初の固定長フレームから再生する固定長フレームまでの演奏時間を演算する演奏時間演算ステップと
を含むことを特徴とする再生方法。
【請求項４】
可変長フレームで表されるデータを含む複数の固定長フレームから構成されるエレメンタリストリームを再生する再生処理をコンピュータに行なわせるプログラムであって、
前記固定長フレームのヘッダに含まれる情報に基づいて、最初の固定長フレームから各固定長フレームの開始位置までの総合フレームサイズをそれぞれ演算する総合フレームサイズ演算ステップと、
前記総合フレームサイズに基づいて、各固定長フレームに対する前記可変長フレームの開始アドレスをそれぞれ演算するフレーム開始アドレス演算ステップと、
前記総合フレームサイズと前記可変長フレームの開始アドレスに基づいて、最初の固定長フレームから、各固定長フレームまでに含まれる前記可変長フレームの総数をそれぞれ演算する可変長フレーム総数演算ステップと、
前記可変長フレーム総数演算ステップの処理により演算された前記可変長フレームの総数に基づいて、最初の固定長フレームから再生する固定長フレームまでの演奏時間を演算する演奏時間演算ステップと
を含むことを特徴とするプログラム。
【請求項５】
可変長フレームで表されるデータを含む複数の固定長フレームから構成されるエレメンタリストリームを再生する再生処理をコンピュータに行なわせるプログラムが記録されている記録媒体において、
前記固定長フレームのヘッダに含まれる情報に基づいて、最初の固定長フレームから各固定長フレームの開始位置までの総合フレームサイズをそれぞれ演算する総合フレームサイズ演算ステップと、
前記総合フレームサイズに基づいて、各固定長フレームに対する前記可変長フレームの開始アドレスをそれぞれ演算するフレーム開始アドレス演算ステップと、
前記総合フレームサイズと前記可変長フレームの開始アドレスに基づいて、最初の固定長フレームから、各固定長フレームまでに含まれる前記可変長フレームの総数をそれぞれ演算する可変長フレーム総数演算ステップと、
前記可変長フレーム総数演算ステップの処理により演算された前記可変長フレームの総数に基づいて、最初の固定長フレームから再生する固定長フレームまでの演奏時間を演算する演奏時間演算ステップと
を備えるプログラムが記録されている
ことを特徴とする記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、再生装置および再生方法、記録媒体、並びにプログラムに関し、特に、例えば、楽曲の早送り再生および巻き戻し再生をする場合において、総合演奏時間を正確に求めることができるようにした再生装置および再生方法、記録媒体、並びにプログラムに関する。
【０００２】
【従来の技術】
図１は、楽曲を再生する従来の再生装置１の一例の構成例を示している。
【０００３】
再生装置１は、多重分離部１１、ＥＳ（Ｅｌｅｍｅｎｔａｒｙ  Ｓｔｒｅａｍ）データバッファ１２、およびデコード部１３から構成されている。
【０００４】
再生装置１には、楽曲のＰＣＭ（Ｐｕｌｓｅ  Ｃｏｄｅ  Ｍｏｄｕｌａｔｉｏｎ）データをエンコードして得られるオーディオエレメンタリストリームが多重化された入力ストリームが入力され、多重分離部１１に供給される。
【０００５】
多重分離部１１は、入力ストリームからオーディオエレメンタリストリームを分離し、そのオーディオエレメンタリストリームを、データ用バッファ領域であるＥＳデータバッファ１２に格納する。デコード部１３は、ＥＳデータバッファ１２に格納されたオーディオエレメンタリストリームを、オーディオアクセスユニット単位でデコードし、その結果得られたＰＣＭデータを、オーディオアクセスユニット単位で出力（再生）する。
【０００６】
図２は、固定長符号化されたデータから構成されるオーディオエレメンタリストリームの構成例を示している。
【０００７】
固定長符号化されたデータから構成されるオーディオエレメンタリストリームは、複数の固定長のフレームから構成される。フレームは、ヘッダ部とデータ部から構成される。
【０００８】
ヘッダ部は、フレームヘッダから構成されている。フレームヘッダは、各フレームの情報を表し、同期ビットから始まる構成となっている。フレームヘッダには、データ部のデータをエンコードするときに用いたサンプリング周波数とビットレート、およびフレームサイズをバイト単位にするために用いられるデータを表わすパディングの有無についての情報が記述される。
【０００９】
データ部は、各フレームに対する固定長（所定のサンプル数）のＰＣＭデータを固定長符号化した１オーディオアクセスユニットのデータを表わすメインデータフレームから構成されている。
【００１０】
図２に示されるように、固定長符号化されたデータで構成されるオーディオエレメンタリストリームでは、符号化したＰＣＭデータが固定長であるので、やはり固定長の各フレームのデータ部は、そのフレームに対するメインデータフレームのみから構成される。従って、固定長符号化されたデータで構成されるオーディオエレメンタリストリームでは、最初のフレームから各フレームの開始位置までのフレーム数と、最初のフレームから各フレームの開始位置までに含まれるメインデータフレーム数が等しくなる。
【００１１】
これに対して、現在、広く普及しているＭＰＥＧ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）１Ｌａｙｅｒ３（ＭＰ３）では、可変長符号化方式が採用されている（例えば、非特許文献１参照）。可変長符号化されたデータから構成されるオーディオエレメンタリストリームの構成例は、図３に示されるようになる。
【００１２】
可変長符号化されたデータで構成されるオーディオエレメンタリストリームは、複数の固定長のフレームから構成される。フレームは、ヘッダ部、サイド情報部、およびデータ部から構成される。
【００１３】
ヘッダ部は、フレームヘッダから構成される。フレームヘッダは、一定の時間間隔を表し、同期ビットで始まる。フレームヘッダには、データ部のデータをエンコードするときに用いたサンプリング周波数とビットレート、およびフレームサイズをバイト単位にするために用いられるデータを表わすパディングの有無についての情報が記述される。
【００１４】
サイド情報部には、各フレームに対するメインデータフレームの開始位置を表すサイド情報が記述される。
【００１５】
データ部は、各フレームに対する固定長（所定のサンプル数）のＰＣＭデータ（１オーディオアクセスユニットのＰＣＭデータ）を可変長符号化したデータを表すメインデータフレームから構成される。例えば、フレーム＃１に対する固定長のＰＣＭデータを可変長符号化したデータは、メインデータフレーム＃１であり、フレーム＃２に対するＰＣＭデータを可変長符号化したデータは、メインデータフレーム＃２である。また、フレーム＃３に対するＰＣＭデータを可変長符号化したデータは、メインデータフレーム＃３である。
【００１６】
図３に示されるように、可変長符号化されたデータで構成されるオーディオエレメンタリストリームは、メインデータフレームが可変長であるため、フレームのデータ部のサイズと、メインデータフレームのサイズが異なっている。従って、フレームのデータ部は、そのフレームに対するメインデータフレームのみから構成されているとは限らない。例えば、図３では、フレーム＃１のデータ部は、フレーム＃１に対するメインデータフレーム＃１、フレーム＃２に対するメインデータフレーム＃２、およびフレーム＃３に対するメインデータフレーム＃３の一部から構成されている。
【００１７】
このように、可変長符号化されたデータで構成されるオーディオエレメンタリストリームは、最初のフレームから各フレームの開始位置までのフレーム数と、最初のフレームから各フレームの開始位置までのメインデータフレーム数が異なっている。
【００１８】
次に、図４を参照して、図１の再生装置１を用いた楽曲の早送り再生または巻き戻し再生を説明する。
【００１９】
楽曲の早送り再生または巻き戻し再生は、フレーム単位で行われる。図４に示されるように、フレーム＃３を再生中に、ユーザから、フレーム＃３よりＮフレーム後の再生が指示された場合、再生装置１（のデコード部１３）は、再生対象とするフレームをフレーム＃３からフレーム＃Ｎ＋３にジャンプし、再生を行う。但し、Ｎは、正または負の整数とされる。つまり、Ｎが正の場合は、楽曲は早送り再生され、Ｎが負の場合は、楽曲は巻き戻し再生される。
【００２０】
再生装置１は、楽曲の早送り再生または巻き戻し再生時に総合演奏時間を不図示の表示部に表示する場合、最初のフレーム＃１からジャンプしたフレーム＃Ｎ＋３の開始位置までの演奏時間を演算する必要がある。
【００２１】
図２を参照して説明したように、固定長符号化されたデータで構成されるオーディオエレメンタリストリームは、最初のフレームから各フレームの開始位置までのフレーム数と、最初のフレームから各フレームの開始位置までに含まれるメインデータフレーム数が等しいので、早送り再生または巻き戻し再生が行われる場合においても、再生装置１は、最初のフレーム＃１から、ジャンプ先のフレーム＃Ｎ＋３の開始位置までに含まれる正確なメインデータフレーム数を検出することができる。
【００２２】
即ち、再生装置１は、最初のフレームから順にフレームに対して番号を付け、ジャンプ先のフレーム＃Ｎ＋３の番号を検出することで、最初のフレーム＃１から、ジャンプ先のフレーム＃Ｎ＋３の開始位置までに含まれるメインデータフレーム数はＮ＋２であることを検出する。従って、再生装置１は、そのメインデータフレーム数Ｎ＋２とフレームヘッダに記述されたサンプリング周波数に基づいて、最初のフレーム＃１から、ジャンプ先のフレーム＃Ｎ＋３の開始位置までの総合演奏時間を演算することができる。
【００２３】
【非特許文献１】
ＩＳＯ／ＩＥＣ  １１１７２−３  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｓｔａｎｄａｒｄ  ＭＰＥＧ−１  Ａｕｄｉｏ（１９９３）
【００２４】
【発明が解決しようとする課題】
しかしながら、図３を参照して説明したように、可変長符号化されたデータで構成されるオーディオエレメンタリストリームでは、最初のフレームから各フレームの開始位置までのフレーム数と、最初のフレームから各フレームの開始位置までに含まれるメインデータフレーム数が同一であるとは限らないので、楽曲の早送り再生または巻き戻し再生が行われる場合、再生装置１は、最初のフレーム＃１からジャンプ先のフレーム＃Ｎ＋３の開始位置までに含まれる正確なメインデータフレーム数を検出することが困難である。その結果、正確な総合演奏時間が演算できず、楽曲を早送り再生または巻き戻し再生するたびに、表示される総合演奏時間に時間的前後するような揺らぎが生じるという問題があった。
【００２５】
特に、再生装置１は、総合演奏時間をオーディオアクセスユニット単位のオーダ（数十ｍｓｅｃ単位）で正確に求めることが困難であった。
【００２６】
本発明は、このような状況に鑑みてなされたものであり、楽曲の早送り再生または巻き戻し再生する場合に、総合演奏時間を正確に求めることができるようにするものである。
【００２７】
【課題を解決するための手段】
本発明の再生装置は、固定長フレームのヘッダに含まれる情報に基づいて、最初の固定長フレームから各固定長フレームの開始位置までの総合フレームサイズをそれぞれ演算する総合フレームサイズ演算手段と、総合フレームサイズに基づいて、各固定長フレームに対する可変長フレームの開始アドレスをそれぞれ演算するフレーム開始アドレス演算手段と、総合フレームサイズと可変長フレームの開始アドレスに基づいて、最初の固定長フレームから、各固定長フレームまでに含まれる可変長フレームの総数をそれぞれ演算する可変長フレーム総数演算手段と、可変長フレーム総数演算手段により演算された可変長フレームの総数に基づいて、最初の固定長フレームから再生する固定長フレームまでの演奏時間を演算する演奏時間演算手段とを備えることを特徴とする。
【００２８】
エレメンタリストリームを、オーディオアクセスユニット単位でデコードするデコード手段をさらに備え、演奏時間演算手段は、デコード手段によりエレメンタリストリームがデコードされるごとに、演奏時間を加算するようにすることができる。
【００２９】
本発明の再生方法は、固定長フレームのヘッダに含まれる情報に基づいて、最初の固定長フレームから各固定長フレームの開始位置までの総合フレームサイズをそれぞれ演算する総合フレームサイズ演算ステップと、総合フレームサイズに基づいて、各固定長フレームに対する可変長フレームの開始アドレスをそれぞれ演算するフレーム開始アドレス演算ステップと、総合フレームサイズと可変長フレームの開始アドレスに基づいて、最初の固定長フレームから、各固定長フレームまでに含まれる可変長フレームの総数をそれぞれ演算する可変長フレーム総数演算ステップと、可変長フレーム総数演算ステップの処理により演算された可変長フレームの総数に基づいて、最初の固定長フレームから再生する固定長フレームまでの演奏時間を演算する演奏時間演算ステップとを含むことを特徴とする。
【００３０】
本発明のプログラムは、固定長フレームのヘッダに含まれる情報に基づいて、最初の固定長フレームから各固定長フレームの開始位置までの総合フレームサイズをそれぞれ演算する総合フレームサイズ演算ステップと、総合フレームサイズに基づいて、各固定長フレームに対する可変長フレームの開始アドレスをそれぞれ演算するフレーム開始アドレス演算ステップと、総合フレームサイズと可変長フレームの開始アドレスに基づいて、最初の固定長フレームから、各固定長フレームまでに含まれる可変長フレームの総数をそれぞれ演算する可変長フレーム総数演算ステップと、可変長フレーム総数演算ステップの処理により演算された可変長フレームの総数に基づいて、最初の固定長フレームから再生する固定長フレームまでの演奏時間を演算する演奏時間演算ステップとを含むことを特徴とする。
【００３１】
本発明の記録媒体は、固定長フレームのヘッダに含まれる情報に基づいて、最初の固定長フレームから各固定長フレームの開始位置までの総合フレームサイズをそれぞれ演算する総合フレームサイズ演算ステップと、総合フレームサイズに基づいて、各固定長フレームに対する可変長フレームの開始アドレスをそれぞれ演算する可変長フレームの開始アドレス演算ステップと、総合フレームサイズとフレーム開始アドレスに基づいて、最初の固定長フレームから、各固定長フレームまでに含まれる可変長フレームの総数をそれぞれ演算する可変長フレーム総数演算ステップと、可変長フレーム総数演算ステップの処理により演算された可変長フレームの総数に基づいて、最初の固定長フレームから再生する固定長フレームまでの演奏時間を演算する演奏時間演算ステップとを備えるプログラムが記録されていることを特徴とする。
【００３２】
本発明においては、固定長フレームのヘッダに含まれる情報に基づいて、最初の固定長フレームから各固定長フレームの開始位置までの総合フレームサイズがそれぞれ演算され、総合フレームサイズに基づいて、各固定長フレームに対する可変長フレームの開始アドレスがそれぞれ演算される。総合フレームサイズと可変長フレームの開始アドレスに基づいて、最初の固定長フレームから、各固定長フレームまでに含まれる可変長フレームの総数がそれぞれ演算され、可変長フレーム総数演算手段により演算された可変長フレームの総数に基づいて、最初の固定長フレームから再生する固定長フレームまでの演奏時間が演算される。
【００３３】
【発明の実施の形態】
以下に本発明の実施の形態を説明するが、請求項に記載の構成要件と、発明の実施の形態における具体例との対応関係を例示すると、次のようになる。この記載は、請求項に記載されている発明をサポートする具体例が、発明の実施の形態に記載されていることを確認するためのものである。従って、発明の実施の形態中には記載されているが、構成要件に対応するものとして、ここには記載されていない具体例があったとしても、そのことは、その具体例が、その構成要件に対応するものではないことを意味するものではない。逆に、具体例が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その具体例が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
【００３４】
さらに、この記載は、発明の実施の形態に記載されている具体例に対応する発明が、請求項に全て記載されていることを意味するものではない。換言すれば、この記載は、発明の実施の形態に記載されている具体例に対応する発明であって、この出願の請求項には記載されていない発明の存在、すなわち、将来、分割出願されたり、補正により追加される発明の存在を否定するものではない。
【００３５】
請求項１に記載の再生装置は、可変長フレームで表されるデータを含む複数の固定長フレームから構成されるエレメンタリストリームを再生する再生装置（例えば、図５の再生装置１３０）において、前記固定長フレームのヘッダに含まれる情報に基づいて、最初の固定長フレームから各固定長フレームの開始位置までの総合フレームサイズをそれぞれ演算する総合フレームサイズ演算手段（例えば、式（１）を演算する多重分離部１３１）と、前記総合フレームサイズに基づいて、各固定長フレームに対する前記可変長フレームの開始アドレスをそれぞれ演算するフレーム開始アドレス演算手段（例えば、式（２）を演算する多重分離部１３１）と、前記総合フレームサイズと前記可変長フレームの開始アドレスに基づいて、最初の固定長フレームから、各固定長フレームまでに含まれる前記可変長フレームの総数をそれぞれ演算する可変長フレーム総数演算手段（例えば、図９のシンタクスに基づいて演算する多重分離部１３１）と、前記可変長フレーム総数演算手段により演算された前記可変長フレームの総数に基づいて、最初の固定長フレームから再生する固定長フレームまでの演奏時間を演算する演奏時間演算手段（例えば、図１０のステップＳ８の処理を実行するデコード部１３４）とを備えることを特徴とする。
【００３６】
請求項２に記載の再生装置は、前記エレメンタリストリームを、オーディオアクセスユニット単位でデコードするデコード手段（例えば、図５のデコード部１３４）をさらに備え、前記演奏時間演算手段は、前記デコード手段により前記エレメンタリストリームがデコードされるごとに、前記演奏時間を加算する（例えば、図１０のステップＳ１１の処理）ことを特徴とする。
【００３７】
請求項３に記載の再生方法は、可変長フレームで表されるデータを含む複数の固定長フレームから構成されるエレメンタリストリームを再生する再生方法において、前記固定長フレームのヘッダに含まれる情報に基づいて、最初の固定長フレームから各固定長フレームの開始位置までの総合フレームサイズをそれぞれ演算する総合フレームサイズ演算ステップ（例えば、式（１）を演算する図１０のステップＳ３）と、前記総合フレームサイズに基づいて、各固定長フレームに対する前記可変長フレームの開始アドレスをそれぞれ演算するフレーム開始アドレス演算ステップ（例えば、式（２）を演算する図１０のステップＳ３）と、前記総合フレームサイズと前記可変長フレームの開始アドレスに基づいて、最初の固定長フレームから、各固定長フレームまでに含まれる前記可変長フレームの総数をそれぞれ演算する可変長フレーム総数演算ステップ（例えば、図９のシンタクスを演算するステップＳ３）と、前記可変長フレーム総数演算ステップの処理により演算された前記可変長フレームの総数に基づいて、最初の固定長フレームから再生する固定長フレームまでの演奏時間を演算する演奏時間演算ステップ（例えば、図９のステップＳ８）とを含むことを特徴とする。
【００３８】
請求項４に記載のプログラムおよび請求項５に記載の記録媒体のプログラムの各ステップと、実施の形態における具体例との対応関係は、請求項３に記載の再生方法のステップと同様である。
【００３９】
以下、本発明の実施の形態について説明する。
【００４０】
図５は、本発明を適用した再生装置１３０の構成例を示すブロック図である。
【００４１】
再生装置１３０は、多重分離部１３１、ＥＳデータバッファ１３２、ＥＳデータ情報バッファ１３３、およびデコード部１３４から構成される。
【００４２】
再生装置１３０には、オーディオエレメンタリストリームが多重化されたエレメンタリストリームが入力ストリームとして入力され、多重分離部１３１に供給される。なお、オーディオエレメンタリストリームは、楽曲のＰＣＭデータが可変長符号化されたデータで構成されている。
【００４３】
多重分離部１３１は、オーディオエレメンタリストリームが多重化された入力ストリームからオーディオエレメンタリストリームを分離し、そのオーディオエレメンタリストリームのＥＳデータを、フレームごとにデータ用バッファ領域であるＥＳデータバッファ１３２に格納する。
【００４４】
また、多重分離部１３１は、フレーム数をカウントして、そのフレーム数、フレームヘッダ、およびサイド情報に基づいて、フレームごとに、最初のフレームから各フレームまでに含まれるメインデータフレーム数を演算し、ＥＳデータ情報バッファ１３３に格納する。
【００４５】
デコード部１３４は、ＥＳデータバッファ１３２から、フレーム単位で格納されたオーディオエレメンタリストリームのＥＳデータを取得して、オーディオアクセスユニット単位でデコードし、その結果得られたＰＣＭデータを出力（再生）する。
【００４６】
また、デコード部１３４は、ＥＳデータ情報バッファ１３３から、最初のフレームから各フレームまでに含まれるメインデータフレーム数を取得するとともに、ＥＳデータバッファ１３２から、フレームヘッダに記述されるサンプリング周波数とサンプル数を取得する。そして、メインデータフレーム数、サンプリング周波数、およびサンプル数に基づいて、最初のフレームから、再生するフレーム、即ち、ユーザが不図示の操作部を操作することにより再生を指示した楽曲の位置に対応するフレームまでの総合演奏時間を算出し、不図示の表示部に表示する。
【００４７】
図６は、図５のＥＳデータバッファ１３２の構成例を表し、図７は、ＥＳデータ情報バッファ１３３の構成例を表している。
【００４８】
図６と図７の例では、オーディオエレメンタリストリームの最初のフレームから順に、フレームに対して１からＭまで番号を付している。
【００４９】
いま、番号ｉが付されたフレームを、フレーム＃ｉと表すこととすると、図６に示されるように、ＥＳデータバッファ１３２には、フレーム＃１のＥＳデータがエリア１４１−１、フレーム＃２のＥＳデータがエリア１４１−２、フレーム＃３のＥＳデータがエリア１４１−３、フレーム＃４のＥＳデータがエリア１４１−４、・・・、フレーム＃ＭのＥＳデータがエリア１４１−Ｍに、それぞれ格納される。
【００５０】
また、図７に示されるように、ＥＳデータ情報バッファ１３３には、フレーム＃１までのメインデータフレーム数がエリア１６１−１、フレーム＃２までのメインデータフレーム数がエリア１６１−２、フレーム＃３までのメインデータフレーム数がエリア１６１−３、フレーム＃４までのメインデータフレーム数がエリア１６１−４、・・・、フレーム＃Ｍまでのメインデータフレーム数がエリア１６１−Ｍに、それぞれ格納される。
【００５１】
次に、図８と図９を参照して、多重分離部１３１が行う最初のフレームから各フレームまでのメインデータフレーム数の演算を説明する。
【００５２】
図８は、多重分離部１３１で分離された可変長符号化したデータから構成されるオーディオエレメンタリストリームを表わしている。
【００５３】
可変長符号化されたデータで構成されるオーディオエレメンタリストリームは、複数の固定長のフレームから構成される。フレームは、ヘッダ部、サイド情報部、およびデータ部から構成される。
【００５４】
ヘッダ部は、フレームヘッダから構成される。フレームヘッダは、一定の時間間隔を表し、同期ビットで始まる。フレームヘッダには、メインデータフレームのサンプル数ＳａｍｐｌｅＣｎｔ、データ部のデータをエンコードするときに用いたサンプリング周波数ＳａｍｐｌｉｎｇＦｒｅｑとビットレートＢｉｔＲａｔｅ、およびフレームサイズをバイト単位にするために用いられるデータを表わすパディングの有無についての情報であるパディングフラグＰａｄｄｉｎｇＦｌａｇが記述される。
【００５５】
サイド情報部には、各フレームに対するメインデータフレームの開始位置を表すサイド情報が記述される。例えば、フレーム＃２のサイド情報は、メインデータフレーム＃２の開始位置として、フレーム＃２の開始位置のアドレスからメインデータフレーム＃２の開始位置のアドレスまでのオフセット値ＭａｉｎＤａｔａＳｔａｒｔｏｆｆｓｅｔを記憶している。
【００５６】
データ部は、各フレームに対する１オーディオアクセスユニットのＰＣＭデータを可変長符号化して得られるデータ（可変長符号化データ）を表すメインデータフレームから構成される。例えば、フレーム＃１に対するＰＣＭデータを可変長符号化したデータは、メインデータフレーム＃１であり、フレーム＃２に対するＰＣＭデータを可変長符号化したデータは、メインデータフレーム＃２である。また、フレーム＃３に対するＰＣＭデータを可変長符号化したデータは、メインデータフレーム＃３である。
【００５７】
いま、フレーム＃Ｎに対するメインデータフレームに注目することとすると、多重分離部１３１は、まず最初に、入力ストリームから分離したオーディオエレメンタリストリームのフレーム＃Ｎのフレームヘッダとフレーム番号に基づいて、最初のフレーム（フレーム＃１のフレーム）からフレーム＃Ｎの開始位置（フレーム＃Ｎ−１の終了位置）までの総合フレームサイズＴｏｔａｌＦｒａｍｅＳｉｚｅ（Ｎ−１）を求める。
【００５８】
ここで、フレームサイズは、メインデータフレームが可変長符号化されたデータである場合も、固定長符号化されたデータである場合と同一のサイズである。従って、ここでは、メインデータフレームが固定長符号化されたデータである場合を考え、最初のフレーム（フレーム＃１のフレーム）からフレーム＃Ｎの開始位置までのメインデータフレーム数は、フレーム数Ｎ−１と同一であるとし、総合フレームサイズＴｏｔａｌＦｒａｍｅＳｉｚｅ（Ｎ−１）は、１メインデータフレームサイズのＮ−１倍であるとして、以下の式（１）で表すことができる。
【００５９】
【数１】
2004341430.tif 000003
【００６０】
式（１）によれば、１メインデータフレームサイズは、フレームヘッダに記述されるメインデータフレームのサンプル数ＳａｍｐｌｅＣｎｔ、エンコードするときに用いられたビットレートＢｉｔＲａｔｅとサンプリング周波数ＳａｍｐｌｉｎｇＦｒｅｑ、パディングの有無についての情報であるパディングフラグＰａｄｄｉｎｇＦｌａｇから求められる。即ち、メインデータフレームのサンプル数ＳａｍｐｌｅＣｎｔ、ビットレートＢｉｔＲａｔｅ、およびサンプリング周波数ＳａｍｐｌｉｎｇＦｒｅｑから、メインデータフレームのバイト数が求められる。そして、そのバイト数が整数ではない場合、小数点以下を切り捨て、パディングフラグＰａｄｄｉｎｇＦｌａｇを足すことにより、フレームサイズがバイト単位にされる。
【００６１】
例えば、サンプル数ＳａｍｐｌｅＣｎｔが１１５２、ビットレートＢｉｔＲａｔｅが１２８ｋｂｐｓ、サンプリング周波数ＳａｍｐｌｉｎｇＦｒｅｑが４４．１ｋＨｚである場合、メインデータフレームのバイト数は、ＳａｍｐｌｅＣｎｔ×ＢｉｔＲａｔｅ／ＳａｍｐｌｉｎｇＦｒｅｑ／８＝４１７．９５・・ｂｙｔｅとなる。この場合、メインデータフレームのビット数であるＳａｍｐｌｅＣｎｔ×ＢｉｔＲａｔｅ／ＳａｍｐｌｉｎｇＦｒｅｑが８の倍数ではないので、フレームサイズをバイト単位にするために、メインデータフレームにはパディングが付加されており、フレームヘッダに記述されているパディングフラグＰａｄｄｉｎｇＦｌａｇは有、即ち、１となっている。従って、メインデータフレームのバイト数の値の小数点以下を切り捨てた４１７ｂｙｔｅに、パディングフラグＰａｄｄｉｎｇＦｌａｇの１を足してフレームサイズを４１８ｂｙｔｅとすることにより、メインデータフレームのビット数に、メインデータフレームに付加されたパディングのビット数を足した正確なフレームサイズを算出することができる。
【００６２】
そして、多重分離部１３１は、式（１）により求められた総合フレームサイズＴｏｔａｌＦｒａｍｅＳｉｚｅ（Ｎ−１）から、フレーム＃Ｎにおけるメインデータフレームの先頭アドレスＭａｉｎＤａｔａＦｒａｍｅＡｄｒ（Ｎ）を求める。このメインデータフレームの先頭アドレスＭａｉｎＤａｔａＦｒａｍｅＡｄｒ（Ｎ）は、フレーム＃Ｎのサイド情報が表すメインデータフレームの開始位置、即ち、フレーム＃Ｎの開始位置のアドレスから、メインデータフレーム＃Ｎの開始位置のアドレスまでのオフセット値ＭａｉｎＤａｔａＳｔａｒｔｏｆｆｓｅｔに基づいて、以下の式（２）で表すことができる。
【００６３】
【数２】
2004341430.tif 000004
【００６４】
例えば、図８に示されるように、フレーム＃２におけるメインデータフレームの先頭アドレスＭａｉｎＤａｔａＦｒａｍｅＡｄｒ（２）は、総合フレームサイズＴｏｔａｌＦｒａｍｅＳｉｚｅ（１）から、フレーム＃２のサイド情報が表すフレーム＃２の開始位置のアドレスからメインデータフレーム＃２の開始位置のアドレスまでのオフセット値ＭａｉｎＤａｔａＳｔａｒｔｏｆｆｓｅｔを引いた値となる。
【００６５】
さらに、多重分離部１３１は、式（２）により求められたメインデータフレームの先頭アドレスＭａｉｎＤａｔａＦｒａｍｅＡｄｒ（Ｎ）に基づいて、フレームごとに、最初のフレームから各フレームまでに含まれるメインデータフレーム数ＭａｉｎＤａｔａＦｒａｍｅＣｎｔを求める。
【００６６】
図９は、多重分離部１３１が、メインデータフレーム数ＭａｉｎＤａｔａＦｒａｍｅＣｎｔを求めるシンタクスの例を示している。
【００６７】
図９に示されるように、式（２）のメインデータフレームの先頭アドレスＭａｉｎｄａｔａＦｒａｍｅＡｄｒ（Ｎ）が存在するフレーム＃Ｘの番号Ｘは、ＭａｉｎｄａｔａＦｒａｍｅＡｄｒ（Ｎ）が、式（１）から求められ総合フレームサイズＴｏｔａｌＦｒａｍｅＳｉｚｅ（ｃｎｔ−１）以上であり、かつ総合フレームサイズＴｏｔａｌＦｒａｍｅＳｉｚｅ（ｃｎｔ）より小さいとき、Ｘ＝ｃｎｔ（１≦ｃｎｔ≦Ｎ）で表される。また、フレーム＃Ｎに対するメインデータフレームの先頭アドレスＭａｉｎｄａｔａＦｒａｍｅＡｄｒ（Ｎ）がフレーム＃Ｘに存在することが分かる。そして、全てのフレーム＃１、・・・、フレーム＃Ｍそれぞれに対するメインデータフレームが存在するフレームを求めることにより、各フレームまでに含まれるメインデータフレーム数を求めることができる。
【００６８】
例えば、図８に示されるように、フレーム＃４に対するメインデータフレームアドレスＭａｉｎｄａｔａＦｒａｍｅＡｄｒ（４）は、最初のフレーム＃１からフレーム＃２の開始位置までの統合フレームサイズＴｏｔａｌＦｒａｍｅＳｉｚｅ（２）以上であり、かつ最初のフレーム＃１からフレーム＃３までの統合フレームサイズＴｏｔａｌＦｒａｍｅＳｉｚｅ（３）より小さい。従って、フレーム＃４に対するメインデータフレームアドレスＭａｉｎｄａｔａＦｒａｍｅＡｄｒ（４）が存在するフレームは、フレーム＃３となる。また、最初のフレームからフレーム＃３までに含まれるメインデータフレーム数ＭａｉｎＤａｔａＦｒａｍｅＣｎｔ（３）は、メインデータフレーム＃１、メインデータフレーム＃２、およびメインデータフレーム＃３の３個となる。
【００６９】
図１０は、図５の再生装置１３０の再生処理を説明するフローチャートである。この再生処理は、ユーザが不図示の操作部を操作することにより、楽曲の再生を指示し、入力ストリームが再生装置１３０に入力されたとき開始される。
【００７０】
ステップＳ１において、多重分離部１３１は、入力された、多重化された入力ストリームから、オーディオエレメンタリストリームを分離する。
【００７１】
ステップＳ２において、多重分離部１３１は、ステップＳ１で分離したオーディオエレメンタリストリームのＥＳデータを、フレーム単位で、ＥＳデータバッファ１３２に格納する。即ち、多重分離部１３１は、分離したオーディをエレメンタリストリームのフレーム数をカウントし、各フレームに対して、最初のフレームから順番に１から番号を付ける。そして、多重分離部１３１は、図６に示したように、フレームごとに、番号ｉを付けたフレームのオーディオエレメンタリストリームのＥＳデータを、フレーム＃ｉのＥＳデータとして、ＥＳデータバッファ１３２に格納する。
【００７２】
ステップＳ２の処理後、ステップＳ３において、多重分離部１３１は、フレームごとに、最初のフレームから各フレームまでに含まれるメインデータフレーム数ＭａｉｎＤａｔａＦｒａｍｅＣｎｔを求める。
【００７３】
即ち、多重分離部１３１は、上述した式（１）に基づいて、フレームごとに、最初のフレームから各フレームの開始位置までの総合フレームサイズＴｏｔａｌＦｒａｍｅＳｉｚｅを演算する。多重分離部１３１は、演算したＴｏｔａｌＦｒａｍｅＳｉｚｅとフレームのサイド情報が表すオフセット値ＭａｉｎＤａｔａＳｔａｒｔｏｆｆｓｅｔから、各フレームに対するメインデータフレームの先頭アドレスＭａｉｎＤａｔａＦｒａｍｅＡｄｒを求める。そして、多重分離部１３１は、図９に示すシンタクスに基づいて、各フレームに対するメインデータフレームが存在するフレームを求め、さらに、最初のフレームから各フレームまでに含まれるメインデータフレーム数ＭａｉｎＤａｔａＦｒａｍｅＣｎｔを求める。
【００７４】
ステップＳ３の処理後、ステップＳ４に進み、多重分離部１３１は、ステップＳ３で求めたメインデータフレーム数ＭａｉｎＤａｔａＦｒａｍｅＣｎｔを、図７に示したように、フレームごとにＥＳデータ情報バッファ１３３に格納する。
【００７５】
ステップＳ５において、デコード部１３４は、ユーザの不図示の操作部の操作により、早送り再生または巻き戻し再生が指示されたかどうかを判定し、ユーザにより早送り再生または巻き戻し再生が指示されたと判定した場合、処理をステップＳ５からステップＳ６に進める。
【００７６】
ステップＳ６では、デコード部１３４は、ユーザの早送り再生または巻き戻し再生の指示に基づいて、ＥＳデータバッファ１３２のデコード部１３４が読み出すデータの位置を表すリードポインタを移動し、ステップＳ７に進む。例えば、デコード部１３４は、フレーム＃２の再生時に、ユーザからフレーム＃４への早送りが指示された場合、リードポインタを、フレーム＃２からフレーム＃４の開始位置に移動する。
【００７７】
ステップＳ７では、デコード部１３４は、ステップＳ６で移動したリードポインタに基づいて、ＥＳデータバッファ１３２から、オーディオエレメンタリストリームの１オーディオアクセスユニット、即ち、１メインデータフレームのデータを取得して、デコードし、その結果得られるＰＣＭデータを出力する。そして、デコード部１３４は、ＥＳデータバッファ１３２のリードポインタを次のメインデータフレームに移動する。
【００７８】
ステップＳ７の処理後、ステップＳ８に進み、デコード部１３４は、総合演奏時間を算出する。即ち、デコード部１３４は、ＥＳデータ情報バッファ１３３に格納されている、例えば、ユーザにより指示されたフレームの直前のフレームまでに含まれるメインデータフレーム数ＭａｉｎＤａｔａＦｒａｍｅＣｎｔを取得するとともに、ＥＳデータバッファ１３２に格納されているオーディオエレメンタリストリームのＥＳデータからフレームヘッダに記述されているサンプリング周波数ＳａｍｐｌｉｎｇＦｒｅｑとサンプル数ＳａｍｐｌｅＣｎｔを取得する。そして、そのメインデータフレーム数ＭａｉｎＤａｔａＦｒａｍｅＣｎｔ、サンプリング周波数ＳａｍｐｌｉｎｇＦｒｅｑ、およびサンプル数ＳａｍｐｌｅＣｎｔから、最初のフレームから早送りまたは巻き戻しされたフレームまでの総合演奏時間ＴｏｔａｌＰｌａｙＴｉｍｅを、以下の式（３）により算出する。
【００７９】
【数３】
2004341430.tif 000005
【００８０】
即ち、式（３）によれば、メインデータフレームのサンプル数ＳａｍｐｌｅＣｎｔと、メインデータフレーム数ＭａｉｎＤａｔａＦｒａｍｅＣｎｔから、最初のフレームから早送りまたは巻戻しされたフレームまでのサンプル数が求められ、そのサンプル数から、サンプリング周波数ＳａｍｐｌｉｎｇＦｒｅｑを用いて、総合演奏時間ＴｏｔａｌＰｌａｙＴｉｍｅが求められる。
【００８１】
例えば、デコード部１３４は、フレーム＃２の再生時に、フレーム＃４への早送りが指示された場合、フレーム＃４の直前のフレーム＃３までのメインデータフレーム数ＭａｉｎＤａｔａＦｒａｍｅＣｎｔをＥＳデータ情報バッファ１３３のエリア１６１−３から取得するとともに、ＥＳデータバッファ１３２のエリア１４１−３からフレーム＃３のＥＳデータのフレームヘッダに記述されているサンプリング周波数ＳａｍｐｌｉｎｇＦｒｅｑとサンプル数ＳａｍｐｌｅＣｎｔを取得する。そして、そのメインデータフレーム数ＭａｉｎＤａｔａＦｒａｍｅＣｎｔ、サンプリング周波数ＳａｍｐｌｉｎｇＦｒｅｑ、およびサンプル数ＳａｍｐｌｅＣｎｔから、総合演奏時間ＴｏｔａｌＰｌａｙＴｉｍｅを算出する。
【００８２】
上述したステップＳ３で、フレームごとに、最初のフレームから各フレームまでに含まれる正確なメインデータフレーム数が求められるので、デコード部１３４は、そのメインデータフレーム数を用いることにより、ステップＳ８でメインデータフレーム単位のオーダ、即ち、オーディオアクセスユニット単位のオーダ（数十ｍｓｅｃ単位）で正確な総合演奏時間を算出することができる。
【００８３】
ステップＳ８の処理後、ステップＳ９に進み、デコード部１３４は、ステップＳ８で算出した総合演奏時間を、不図示部の表示部に表示する。
【００８４】
一方、ステップＳ５において、デコード部１３４は、ユーザから早送り再生または巻き戻し再生が指示されていないと判定した場合、ステップＳ１０に進み、ＥＳデータバッファ１３２のリードポインタに基づいて、ＥＳデータバッファ１３２からオーディオエレメンタリストリームの１オーディオアクセスユニット、即ち、１メインデータフレームのデータを取得して、デコードし、その結果得られるＰＣＭデータを出力する。そして、デコード部１３４は、ＥＳデータバッファ１３２のリードポインタを次のメインデータフレームに移動する。
【００８５】
ステップＳ１０の処理後、ステップＳ１１に進み、デコード部１３４は、総合演奏時間を不図示の表示部に表示する。即ち、デコード部１３４は、前回の総合演奏時間に１オーディオアクセスユニットに対応する時間を加算して新たな総合演奏時間とし、その新たな総合演奏時間を不図示の表示部に表示する。
【００８６】
ステップＳ９の処理またはステップＳ１１の処理後、ステップＳ１２に進み、デコード部１３４は、ユーザからの不図示の操作部の操作により、再生の終了が指示されたかどうかを判定する。ステップＳ１２において、デコード部１３４は、ユーザから再生の終了が指示されていないと判定した場合、ステップＳ５に戻り、上述した処理を繰り返す。
【００８７】
ステップＳ１２において、ユーザから再生の終了が指示されたと判定した場合、処理は終了される。
【００８８】
なお、上述した説明では、可変長符号化されたデータで構成されるオーディオエレメンタリストリームが再生装置１３０により再生されるものとしたが、固定長符号化されたデータで構成されるオーディオエレメンタリストリームを再生装置１３０により再生することもできる。また、ＭＰＥＧ１Ｌａｙｅｒ３（ＭＰ３）等の可変長符号化されたデータと固定長符号化されたデータの両方から構成されるオーディオエレメンタリストリームを再生装置１３０により再生することもできる。これらの場合にも、上述した場合と同様にして、総合演算時間を、オーディオアクセスユニット単位のオーダで算出することができる。
【００８９】
例えば、再生装置１３０には、入力ストリームとして、ＭＰＥＧ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）１Ｌａｙｅｒ３（ＭＰ３）方式等によってエンコードされたデータを入力することができる。
【００９０】
再生装置１は、ＡＶ（Ａｕｄｉｏ  Ｖｉｓｕａｌ）装置でも、オーディオ専用の装置でもよい。
【００９１】。
上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。この場合、上述した処理は、図１１に示されるようなパーソナルコンピュータ６００により実行される。
【００９２】
図１１において、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）６０１は、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）６０２に記憶されているプログラム、または、記憶部６０８からＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）６０３にロードされたプログラムに従って各種の処理を実行する。ＲＡＭ６０３にはまた、ＣＰＵ６０１が各種の処理を実行する上において必要なデータなどが適宜記憶される。
【００９３】
ＣＰＵ６０１、ＲＯＭ６０２、およびＲＡＭ６０３は、内部バス６０４を介して相互に接続されている。この内部バス６０４にはまた、入出力インターフェース６０５も接続されている。
【００９４】
入出力インターフェース６０５には、キーボード、マウスなどよりなる入力部６０６、ＣＲＴ，ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）などよりなるディスプレイ、並びにスピーカなどよりなる出力部６０７、ハードディスクなどより構成される記憶部６０８、モデム、ターミナルアダプタなどより構成される通信部６０９が接続されている。通信部６０９は、電話回線やＣＡＴＶを含む各種のネットワークを介しての通信処理を行なう。
【００９５】
入出力インターフェース６０５にはまた、必要に応じてドライブ６１０が接続され、磁気ディスク、光ディスク、光磁気ディスク、あるいは半導体メモリなどによりなるリムーバブルメディア６２１が適宜装着され、それから読み出されたコンピュータプログラムが、必要に応じて記憶部６０８にインストールされる。
【００９６】
一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば、汎用のパーソナルコンピュータなどに、ネットワークや記録媒体からインストールされる。
【００９７】
この記録媒体は、図１１に示されるように、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されているリムーバブルメディア６２１よりなるパッケージメディアにより構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される、プログラムが記録されているＲＯＭ６０２や記憶部６０８が含まれるハードディスクなどで構成される。
【００９８】
なお、本明細書において、フローチャートに記載された処理は、ステップとして記載された順序に従って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【００９９】
【発明の効果】
以上の如く、本発明によれば、総合演奏時間を演算することができる。特に、楽曲の早送り再生または巻き戻し再生時においても、正確に総合演奏時間を演算することができる。
【図面の簡単な説明】
【図１】従来の再生装置の一例の構成を示すブロック図である。
【図２】固定長符号化されたデータから構成されるオーディオエレメンタリストリームの例を示す図である。
【図３】可変長符号化されたデータから構成されるオーディオエレメンタリストリームの例を示す図である。
【図４】早送りまたは巻き戻し再生を説明する図である。
【図５】本発明を適用した再生装置の一実施の形態の構成例を示す図である。
【図６】図１のＥＳデータバッファの構成例を示す図である。
【図７】図１のＥＳデータ情報バッファの構成例を示す図である。
【図８】可変長符号化されたデータから構成されるオーディオエレメンタリストリームの例を示す図である。
【図９】メインデータフレーム数を求めるシンタクスの例を示す図である。
【図１０】図１の再生装置の再生処理を説明するフローチャートである。
【図１１】パーソナルコンピュータの構成例を示すブロック図である。
【符号の説明】
１３０  再生装置，  １３１  多重分離部，  １３２  ＥＳデータバッファ，
１３３  ＥＳデータ情報バッファ，  １３４  デコード部
【図１】
2004341430.tif 000006
【図２】
2004341430.tif 000007
【図３】
2004341430.tif 000008
【図４】
2004341430.tif 000009
【図５】
2004341430.tif 000010
【図６】
2004341430.tif 000011
【図７】
2004341430.tif 000012
【図８】
2004341430.tif 000013
【図９】
2004341430.tif 000014
【図１０】
2004341430.tif 000015
【図１１】
2004341430.tif 000016