(57)【要約】【課題】圧縮オーディオデータの早送り／早戻しの高速化を確実にできると共に、フレーム位置情報テーブルの容量を削減する。【解決手段】フレーム位置情報管理部２３０は、オーディオファイルの再生時に、ヘッダ情報を参照して、所定の再生時間間隔に応じて、再生中のフレーム以降のフレームの中から、位置情報をフレーム位置情報テーブルに格納すべきフレームを決定し、決定されたフレームの位置情報を取得してフレーム情報テーブルに格納する。再生実行部２１０は、位置情報がフレーム位置情報テーブルに登録されていない目的フレームへの早送り／早戻し命令があった際に、フレーム位置情報テーブルに格納された位置情報を参照して目的フレームの近接フレームにジャンプし、その後、近接フレームの次のフレームから目的フレームの前のフレームまでの各フレームのヘッダ情報を参照して目的フレームにジャンプする。【選択図】図１
2010160862.tif 000002
【特許請求の範囲】
【請求項１】
フレーム長をヘッダ情報として持つ圧縮オーディオデータを記録したオーディオファイルの再生装置において、
フレームの先頭アドレスを示す位置情報を記憶するフレーム位置情報テーブルと、
前記ヘッダ情報を参照して前記フレーム位置情報テーブルを構築するテーブル構築処理であって、所定の再生時間間隔に基づいて、前記オーディオファイルの再生中のフレーム以降のフレームの中から、位置情報を前記フレーム位置情報テーブルに格納すべきフレームを決定し、決定されたフレームの位置情報を取得して前記フレーム情報テーブルに格納する前記テーブル構築処理を行うフレーム位置情報管理部と、
前記オーディオファイルの再生中に、位置情報が前記フレーム位置情報テーブルに登録されていない目的フレームへの早送り／早戻し命令があった際に、前記フレーム位置情報テーブルに格納された位置情報を参照して前記目的フレームの近接フレームにジャンプし、その後、前記近接フレームの次のフレームから前記目的フレームの前のフレームまでの各フレームのヘッダ情報を参照して前記目的フレームにジャンプする再生実行部とを備えることを特徴とする再生装置。
【請求項２】
前記フレーム位置情報管理部は、
前記オーディオファイルの再生開始前に前記オーディオファイルの前記フレーム位置情報テーブルの構築を開始し、
前記オーディオファイルの再生開始時に前記構築が完了していないときに、前記構築を継続することを特徴とする請求項１に記載の再生装置。
【請求項３】
前記フレーム位置情報管理部は、前記フレーム位置情報テーブルのサイズが、前記オーディオファイルに含まれる全てのフレームのうち、位置情報を格納すべきフレームの位置情報を格納できる容量に満たないときに、前記所定の時間間隔を長くして前記フレーム位置情報テーブルの構築を行うことを特徴とする請求項１または２に記載の再生装置。
【請求項４】
再生中のオーディオファイルの直後のオーディオファイルに対応するフレーム位置情報テーブルをさらに有し、
前記フレーム位置情報管理部は、さらに、オーディオファイルの再生中に該オーディオファイルの直後のオーディオファイルのフレーム位置情報テーブルの構築を開始することを特徴とする請求項１から３のいずれか１項に記載の再生装置。
【請求項５】
再生中のオーディオファイルの直前のオーディオファイルに対応するフレーム位置情報テーブルをさらに有し、
前記フレーム位置情報管理部は、さらに、オーディオファイルの再生終了後に、該オーディオファイルのフレーム位置情報テーブルを、次のオーディオファイルの直前のオーディオファイルのフレーム位置情報テーブルとして保持することを特徴とする請求項１から４のいずれか１項に記載の再生装置。
【請求項６】
再生中のオーディオファイルの直前のオーディオファイルに対応するフレーム位置情報テーブルをさらに有し、
前記フレーム位置情報管理部は、再生の進行または早送り／早戻しにより、再生されるオーディオファイルが切り替わったときに、
現在の再生中のオーディオファイルと、現在の再生中のオーディオファイルの直前または直後のオーディオファイルのいずれかに対応する構築完了または構築中のフレーム位置情報テーブルの保持および構築を継続し、
現在の再生中のオーディオファイル、現在の再生中のオーディオファイルの直前または直後のオーディオファイルのいずれにも対応しなくなったフレーム位置情報テーブルを削除し、
現在の再生中のオーディオファイル、現在の再生中のオーディオファイルの直前または直後のオーディオファイルに夫々対応する３つのフレーム位置情報テーブルのうちの、構築されていないフレーム位置情報テーブルの構築を開始することを特徴とする請求項４に記載の再生装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、圧縮されたオーディオデータの再生技術に関する。
【背景技術】
【０００２】
圧縮されたオーディオデータ（以下圧縮オーディオデータという）を再生する際の早送り／早戻しについて様々な手法が提案されている。
【０００３】
例えば、特許文献１には、フレーム長をヘッダ情報として持たないフレーム構造を有する圧縮オーディオデータの早送り／早戻しを高速に行うための手法が開示されている。この手法は、再生中のフレームより後に再生されるフレームの位置情報（先頭アドレス）を取得してフレーム位置情報テーブルに格納し、早送り命令があった際に、フレーム位置情報テーブルに格納された位置情報に基づいて、早送り先のフレーム位置を決定する。図１５〜図１８を参照して具体的に説明する。
【０００４】
図１５は特許文献１の図２に対応し、特許文献１の手法を適用したオーディオ信号再生装置の再生処理部を示す。この再生処理部は、信号再生部１０１と、位置情報取得部１０２と、フレーム位置情報テーブル１０３を備える。信号再生部１０１は、外部から入力される再生命令信号または早送り／早戻し命令信号に応じて再生処理または早送り／早戻し処理を行う。信号再生部１０１は、再生中のフレームの位置情報を取得してフレーム位置情報テーブル１０３に登録する。具体的には、信号再生部１０１のフレームビット情報細分化手段１０１５は、再生するオーディオデータ（圧縮オーディオデータ）をビット単位に細分化して解析することにより、１フレームの区切りを認識し、フレーム長さを得る。これにより、次のフレームの先頭アドレスも判明される。本明細書では、特許文献１と同様に、フレームの先頭アドレスを位置情報とも呼ぶ。
【０００５】
フレーム位置情報取得手段１０１７は、次に再生するフレームの先頭位置として、フレームビット情報細分化手段１０１５により得られた位置情報をフレーム位置情報テーブル１０３に格納する。
【０００６】
位置情報取得部１０２は、信号再生部１０１による再生中に、再生中のフレームより後に再生されるフレームの位置情報を取得してフレーム位置情報テーブル１０３に格納する。
【０００７】
図１６と図１７は、特許文献１の図６の（ａ）と（ｂ）に夫々対応し、フレーム位置情報テーブル１０３の例を示す。図１６は、全てのフレームの位置情報を格納した例であり、図１７は、所定の時間間隔でフレームの位置情報を格納した例である。
【０００８】
特許文献１には、フレーム位置情報テーブル１０３を記憶するメモリ領域を削減するために、フレーム位置情報テーブル１０３への位置情報の格納は、すべてのフレームについて行うのではなく、所定の時間間隔で行うことを推奨している。
【０００９】
図１８は、特許文献１の図８に対応し、図１５に示す再生処理部による早送り／早戻し処理のフローチャートを示す。早送りまたは早戻しの指示があった際に、信号再生部１０１は、フレーム位置情報テーブル１０３を参照して早送り先／早戻し先のフレームの先頭アドレスを読込開始アドレスとして取得し、該読込開始アドレスから圧縮オーディオデータを取得する。そして、通常再生時と同様に、再生するフレームのビット情報の細分化およびＰＣＭ変換を行って、変換後のＰＣＭ信号を図示しないＤ／Ａ変換部に出力する。
【００１０】
特許文献１のこの手法によれば、既に再生されたフレームの先頭アドレスと、再生中のフレームより後に再生されるフレームの先頭アドレスがフレーム位置情報テーブル１０３に格納されるので、フレーム位置情報テーブル１０３を参照することにより高速な早送り／早戻し処理ができる。また、フレーム位置情報テーブル１０３への登録を、所定の時間間隔で行うことにより、メモリ容量を削減することができる。
【００１１】
特許文献２には、フレーム長をヘッダ情報として持つフレーム構造を有する圧縮オーディオデータの早送り／早戻しの手法が開示されている。この手法も、位置情報に該当するフレームオフセットを、フレーム位置情報テーブルに該当するフレームオフセット管理テーブルに格納して早送り／早戻しに用いる。図１９と図２０を参照して説明する。
【００１２】
図１９は、特許文献２の図１５に対応し、該手法による再生処理と早送り／早戻し処理のフローチャートを示す。目的フレームの再生に当たり、まず、該フレームのオフセットが既にフレームオフセット管理テーブルに登録されているか否かを確認する（Ｓ１２３）。登録されていれば、管理テーブルから目的フレームのオフセットを取得して該フレームの先頭までシーク（ジャンプ）する（Ｓ１２３：Ｙｅｓ、Ｓ１３２〜）。
【００１３】
一方、管理テーブルに目的フレームのオフセットが登録されていない場合には、管理テーブルから、目的フレームに最も近傍のフレーム（近接フレーム）のオフセット（ｉ）を取得して近接フレームまでシークする（Ｓ１２３：Ｎｏ、Ｓ１２４、Ｓ１２５）。そして、近接フレームの次のフレームから目的フレームまでの各フレームに対して、ヘッダ情報を読み取ってオフセットを取得して管理テーブルに登録する処理を順次行う（Ｓ１２６〜Ｓ１４６）。これにより、図２０（特許文献の図１２に対応する）に示すように、近接フレームから目的フレームまでの各フレームのオフセットが管理テーブルに登録され、目的フレームまでジャンプ可能になる。
【先行技術文献】
【特許文献】
【００１４】
【特許文献１】特開２００６−１７８１７９号公報
【特許文献２】特開２００６−１８９９１号公報
【発明の概要】
【発明が解決しようとする課題】
【００１５】
特許文献１の手法は、フレーム長をヘッダ情報として持つフレーム構造を有する圧縮オーディオデータの早送り／早戻しにも適用できると考えられる。すなわち、フレームの再生中に、該フレームより後に再生されるフレームのヘッダ情報から位置情報を取得してフレーム位置情報テーブルに登録すれば、登録されたフレームを目的フレームとする早送り／早戻しが高速にできる。
【００１６】
しかし、必要なメモリ容量を削減するために、全てのフレームについてではなく、所定の時間間隔でフレーム位置情報テーブルへの登録を行うようにすると、登録されたフレーム以外のフレームを目的フレームとする早送り／早戻しの場合、処理速度が著しく低下する恐れがある。図２１〜図２４を参照して説明する。
【００１７】
図２１は、５秒間隔で位置情報が登録されたフレーム位置情報テーブルの例を示す。このフレーム位置情報テーブルの場合、フレーム９の再生中にフレーム６への早戻し指示がされたときに、処理が図２２に示すフローになる。すなわち、まず、フレーム位置情報テーブルに位置情報が登録されているフレーム４の先頭へジャンプが行われ、その後、フレーム４とフレーム５の通常再生（ＰＬＡＹ）が行われる。この通常再生の時間はＴ１である。
【００１８】
図２３は、１０秒間隔で位置情報が登録されたフレーム位置情報テーブルの例を示す。このフレーム位置情報テーブルの場合、フレーム９の再生中にフレーム６への早戻し指示がされたときに、処理が図２４に示すフローになる。すなわち、まず、フレーム位置情報テーブルに位置情報が登録されているフレーム１の先頭へジャンプが行われ、その後、フレーム１からフレーム５までの計５つのフレームの通常再生（ＰＬＡＹ）が行われる。この通常再生の時間はＴ１より長いＴ２である。
【００１９】
すなわち、特許文献１の手法では、目的フレームがフレーム位置情報テーブルに登録されていない場合に、ジャンプ先のフレームから目的フレームまで通常再生が行われるため、目的フレームの先頭アドレスへのアクセスに際し、多くの時間を要する。フレーム位置情報テーブルへ登録する時間間隔が長いほどこの問題が顕著になる。
【００２０】
特許文献２の手法は、目的フレームの近接フレームにジャンプした後、近接フレームの次のフレームから目的フレームまでの全てのフレームに対して、ヘッダ情報からオフセット（位置情報）の取得、フレームオフセット管理テーブル（フレーム位置情報テーブル）への登録を行った後に目的フレームへジャンプする。早送りの場合、再生中のフレームの次のフレームから最後のフレームまで、いずれのフレームのオフセットも登録されていない場合が多いため、曲の最後付近が早送りの目的フレームであるときには、オフセットの取得と登録が繰り返される回数が、膨大になってしまう可能性がある。例えば、エンコーダによって差異があるが、ＭＰ３のオーディオデータの場合、４〜５分の曲は約１００００フレームを有する。すなわち、４〜５分程度の曲でも、曲の先頭部分から末尾近傍へ早送りする際に、１００００に近い数のフレームの位置情報の取得と登録が繰り返されることになる。これでは、時間がかかってしまい、早送りを高速に実行できない。また、各フレームの位置情報を登録するので、フレーム位置情報テーブルの必要な記憶容量も膨大になる。
【課題を解決するための手段】
【００２１】
本発明の一つの態様は、フレーム長をヘッダ情報として持つ圧縮オーディオデータを記録したオーディオファイルの再生装置である。この再生装置は、フレームの先頭アドレスを示す位置情報を格納するフレーム位置情報テーブルと、フレーム位置情報管理部と、再生実行部を備える。
【００２２】
フレーム位置情報管理部は、ヘッダ情報を参照してフレーム位置情報テーブルを構築するテーブル構築処理を行う。具体的には、所定の再生時間間隔に応じて、オーディオファイルの再生中のフレーム以降のフレームの中から、位置情報をフレーム位置情報テーブルに格納すべきフレームを決定し、決定されたフレームの位置情報を取得してフレーム情報テーブルに格納する。
【００２３】
再生実行部は、位置情報がフレーム位置情報テーブルに登録されていない目的フレームへの早送り／早戻し命令に応じて、フレーム位置情報テーブルに格納された位置情報を参照し目的フレームの近接フレームにジャンプし、その後、近接フレームの次のフレームから目的フレームの前のフレームまでの各フレームのヘッダ情報を参照して目的フレームにジャンプする。
【００２４】
なお、上記態様の再生装置をシステムや方法に置き換えて表現したものや、該再生装置が行う処理をコンピュータに実行せしめるプログラムも、本発明の態様としては有効である。
【発明の効果】
【００２５】
本発明にかかる技術によれば、圧縮オーディオデータの早送り／早戻しの高速化を確実にできると共に、フレーム位置情報テーブルの容量を削減することができる。
【図面の簡単な説明】
【００２６】
【図１】本発明の第１の実施の形態にかかるミュージックプレイヤを示す図である。
【図２】図１に示すミュージックプレイヤによるフレーム位置情報テーブルの構築を示すフローチャートである。
【図３】ＭＰ３のフレームのヘッダ情報の内容を示す図である。
【図４】図１に示すミュージックプレイヤにおけるフレーム位置情報管理部が構築したフレーム位置情報テーブルの例を示す。
【図５】図４に示すフレーム位置情報テーブルの場合における早戻し処理の例を説明するための図である。
【図６】図１に示すミュージックプレイヤにおける再生実行部の処理を示すフローチャートである。
【図７】フレーム位置情報テーブルへフレーム位置情報が登録される時間間隔について、特許文献１に開示された圧縮オーディオデータ再生装置と図１に示すミュージックプレイヤの違いを説明するための図である。
【図８】本発明の第２の実施の形態にかかるミュージックプレイヤに備えられる３つの位置情報テーブルを示す図である。
【図９】図８に示す３つの位置情報テーブルの状態例を示す（その１）。
【図１０】図８に示す３つの位置情報テーブルの状態例を示す（その２）。
【図１１】図８に示す３つの位置情報テーブルの状態例を示す（その３）。
【図１２】図８に示す３つの位置情報テーブルの状態例を示す（その４）。
【図１３】本発明の第２の実施の形態にかかるミュージックプレイヤにおいて、２曲目の再生中における各フレーム位置情報テーブルの内容の例を示す図である。
【図１４】図１３に示す３つのフレーム位置情報テーブルの場合における早戻し処理の例を説明するための図である。
【図１５】特許文献１に開示された圧縮オーディオ再生装置を示す図である。
【図１６】図１５に示す圧縮オーディオ再生装置において構築されたフレーム位置情報テーブルの例を示す図である（その１）。
【図１７】図１５に示す圧縮オーディオ再生装置において構築されたフレーム位置情報テーブルの例を示す図である（その２）。
【図１８】図１５に示す圧縮オーディオ再生装置による早送り／早戻しの処理を示すフローチャートである。
【図１９】特許文献２に開示された圧縮オーディオ再生装置による再生処理と早送り／早戻し処理を示すフローチャートである。
【図２０】特許文献２に開示された圧縮オーディオ再生装置において構築されたフレーム位置情報テーブルの例を示す。
【図２１】特許文献１に開示された圧縮オーディオデータ再生装置において５秒間隔でフレーム位置情報が登録されたフレーム位置情報テーブルの例を示す図である。
【図２２】特許文献１が図２１に示すフレーム位置情報テーブルの場合に行う早戻し処理の例を示すフローチャートである。
【図２３】特許文献１に開示された圧縮オーディオデータ再生装置において１０秒間隔でフレーム位置情報が登録されたフレーム位置情報テーブルの例を示す図である。
【図２４】特許文献１が図２３に示すフレーム位置情報テーブルの場合に行う早戻し処理の例を示すフローチャートである。
【発明を実施するための形態】
【００２７】
以下、図面を参照して本発明の実施の形態を説明する。
＜第１の実施の形態＞
図１は、本発明の第１の実施の形態にかかる圧縮オーディオデータ再生装置を示す。この再生装置は、フレーム長をヘッダ情報として持つ圧縮オーディオデータ一を再生対象とし、一例として、ミュージックプレイヤであるとする。また、分かりやすいように、圧縮オーディオデータを記録した１つのオーディオファイル（ここでは音楽ファイル）が、１曲に対応するものとする。
【００２８】
図１において、様々な処理を行う機能ブロックとして記載される各要素は、ハードウェア的には、ＣＰＵ、メモリ、その他のＬＳＩで構成することができ、ソフトウェア的には、メモリにロードされたプログラムなどによって実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。また、説明の明確化のため、以下の記載及び図面は、適宜、省略及び簡略化がなされている。
【００２９】
ミュージックプレイヤ２００は、再生実行部２１０と、フレーム位置情報テーブル２２０と、フレーム位置情報管理部２３０を備える。
【００３０】
再生実行部２１０は、再生対象の音楽ファイル、具体的には該再生対象の音楽ファイルに含まれるオーディオデータに対して、再生命令に応じて再生処理をし、早送り／早戻し命令に応じて早送り／早戻し処理を行う。早送り／早戻し処理に際しては、フレーム位置情報テーブル２２０を参照する。
【００３１】
フレーム位置情報管理部２３０は、再生実行部２１０による上記再生対象の音楽ファイルの再生に並行して、該再生対象の音楽ファイルに含まれるオーディオデータのフレームのヘッダ情報から位置情報を取得してフレーム位置情報テーブル２２０に格納してフレーム位置情報テーブル２２０を構築する。なお、本実施の形態において、フレーム位置情報管理部２３０は、音楽ファイルの再生開始に伴って、フレーム位置情報テーブル２２０の構築を開始する。そのため、フレーム位置情報管理部２３０が位置情報を取得するフレームは、再生実行部２１０による再生中のフレーム以降のフレームになる。
【００３２】
フレーム位置情報管理部２３０は、フレーム位置情報テーブル２２０を構築する際に、音楽ファイルのすべてのフレームの位置情報をフレーム位置情報テーブル２２０に格納するのではなく、所定の再生時間間隔（以下単に時間間隔という）に基づいて、フレーム位置情報テーブル２２０に位置情報を格納すべきフレームを決定し、決定されたフレームの位置情報のみをフレーム位置情報テーブル２２０に格納する。
【００３３】
図２は、フレーム位置情報管理部２３０によるフレーム位置情報テーブルの構築を示すフローチャートである。フレーム位置情報管理部２３０は、まず、フレーム位置情報テーブル２２０を初期化する（Ｓ１００）。そして、音楽ファイルの先頭フレームから順に、ヘッダ情報を読み出して該フレームの再生時間、および先頭フレームから該フレームまでの再生時間を算出し（Ｓ１０６）、先頭からの再生時間が上記時間間隔のｎ倍（ｎ：０以上の整数）であるときに該フレームの先頭アドレス（位置情報）をフレーム位置情報テーブル２２０のｎ番目に格納する（Ｓ１０８、Ｓ１１０）。さらに、フレーム位置情報管理部２３０は、該フレームに対して、そのビットレートを図示しない記憶装置に保存する（Ｓ１１２）。ステップＳ１０６の処理の詳細については、後述する。
【００３４】
フレーム位置情報テーブル２２０の構築が進み、音楽ファイルの終端に達したときに（Ｓ１０２：Ｙｅｓ）、フレーム位置情報管理部２３０は、フレーム位置情報テーブル２２０の構築が完了したとして処理を終了する。
【００３５】
一方、音楽ファイルの終端に達する前に（Ｓ１０２：Ｎｏ）、フレーム位置情報テーブル２２０の剰余容量が無くなってしまったときに（Ｓ１０４：Ｎｏ）、フレーム位置情報管理部２３０は、該音楽ファイルの総再生時間を算出する（Ｓ１２０）。そして、算出した総再生時間に基づいて、フレーム位置情報テーブル２２０が、音楽ファイルの先頭から末尾までの全ての、位置情報を格納すべきフレームの位置情報を格納できるように、上記時間間隔を長くした上で（Ｓ１２２）、ステップＳ１００の初期化から処理を行ってフレーム位置情報テーブル２２０を再構築する（Ｓ１００〜）。
【００３６】
ステップＳ１２０における総再生時間の算出手法は、該音楽ファイルが固定ビットレートのものであるか、可変ビットレートのものであるかによって異なる。固定ビットレートの場合、ステップＳ１１２で保存した各フレームのビットレートが同一であるため、フレーム位置情報管理部２３０は、該音楽ファイルのデータサイズと上記ビットレートから総再生時間を算出する。一方、可変ビットレートの場合には、フレーム位置情報管理部２３０は、ステップＳ１１２で保存した各フレームのビットレートの平均値を算出し、音楽ファイルのデータサイズと該平均値とを用いて総再生時間を算出する。
【００３７】
ステップＳ１０６の処理を説明する。
ステップＳ１０６において取得する「フレーム情報」は、該フレームの再生時間と位置情報を含み、フレーム長とストリームサイズ（ヘッダ情報を除いたフレームのサイズ）から算出できる。
【００３８】
ステップＳ１０６において、フレーム位置情報管理部２３０は、該フレームのヘッダ情報と、１フレームのサンプリング数とに基づいて、フレーム長とストリームサイズを算出してフレーム情報を取得する。ここで、ＭＰ３の音楽ファイルを例にしてフレーム長とストリームサイズの算出方法を説明する。
【００３９】
図３は、ＭＰ３のフレーム先頭４ｂｙｔｅに格納されたヘッダ情報を示す。フレーム位置情報管理部２３０は、図３に示すヘッダ情報と、１フレームのサンプリング数とに基づいて、式（１）と（２）に従ってフレーム長とフレームのストリームサイズ（ヘッダ情報を除いたフレームのサイズ）を算出する。
【００４０】
フレーム長＝（（（ビットレート×１フレームのサンプリング数÷サンプリングレート÷８）＋パディングビット）×８）÷８                        （１）
ストリームサイズ＝フレーム長−ヘッダサイズ            （２）
【００４１】
なお、ＭＰ３の場合は、ヘッダサイズが４ｂｙｔｅである。また、１フレームのサンプリング数は、フレームの圧縮規格によって定められており、例えば、ＭＰＥＧ１の場合は０ｘ４８０であり、ＭＰＥＧ２の場合は０ｘ２４０である。フレーム位置情報管理部２３０は、音楽ファイルのフレームの圧縮規格から１フレームのサンプリング数を得ることができる。
【００４２】
図４は、フレーム位置情報管理部２３０が構築したフレーム位置情報テーブル２２０の例を示す。図４に示すように、フレーム位置情報テーブル２２０には、５秒の再生時間間隔に応じて決定されたフレームの位置情報が登録されている。
【００４３】
また、前述したように、フレーム位置情報管理部２３０が構築したフレーム位置情報テーブル２２０には、当該音楽ファイルの先頭から末尾までの全ての、フレーム位置情報を格納すべきフレームの位置情報が格納されている。
【００４４】
本実施の形態において、フレーム位置情報管理部２３０は、音楽ファイルが固定ビットレートと可変ビットレートのいずれのものであるかにかかわらず、予め定められた所定の時間間隔に応じてフレーム位置情報テーブル２２０を構築し、構築している途中でフレーム位置情報テーブル２２０の記憶容量が足りないと分かったときに、再生中の音楽ファイルの総再生時間を算出して時間間隔を変更してフレーム位置情報テーブル２２０を再構築する。例えば、フレーム位置情報テーブル２２０の構築に先立って、まず、音楽ファイルが固定ビットのものであるか可変ビットのものであるかを判定する。そして、可変ビットレートと判定した場合には、図２に示すフローを実行する一方、固定ビットレートと判定した場合には、音楽ファイルのデータサイズと先頭フレームのビットレートから総再生時間を算出し、算出した総再生時間に応じて時間間隔を決定してからフレーム位置情報テーブル２２０を構築するようにしてもよい。
【００４５】
再生実行部２１０は、早送り／早戻し命令があった際に、フレーム位置情報テーブル２２０を参照して早送り／早戻し処理を行う。具体的には、フレーム位置情報テーブル２２０を参照し、目的フレームの位置情報がフレーム位置情報テーブル２２０に登録されている場合には、該目的フレームの位置情報が示す位置にジャンプする。一方、目的フレームの位置情報がフレーム位置情報テーブル２２０に登録されていない場合には、目的フレームの近接フレームにジャンプし、その後、該近接フレームの次のフレームから目的フレームの前のフレームまでの各フレームのヘッダ情報を参照して目的フレームにジャンプする。
【００４６】
図５は、図４に示すフレーム位置情報テーブル２２０の場合、音楽ファイルの９番目のフレーム（Ｆｒａｍｅ９）の再生中に、６番目のフレーム（Ｆｒａｍｅ６）への早戻し命令があった際の再生実行部２１０の動作を示す。図示のように、フレーム位置情報テーブル２２０には、目的フレームのＦｒａｍｅ６のフレーム位置情報が登録されていない。この場合、近接フレームは、フレーム位置情報テーブル２２０にフレーム位置情報が登録されたフレームのうちの、Ｆｒａｍｅ６より前に位置し、かつＦｒａｍｅ６に最も近いＦｒａｍｅ４になる。
【００４７】
再生実行部２１０は、まず、フレーム位置情報テーブル２２０に登録されたＦｒａｍｅ４のフレーム位置情報が示す位置にジャンプし、その後、Ｆｒａｍｅ４のヘッダ情報からＦｒａｍｅ４のフレーム長を算出することでフレーム５の位置情報を取得してＦｒａｍｅ５にジャンプする。さらに、Ｆｒａｍｅ５のヘッダ情報からＦｒａｍｅ５のフレーム長を算出することでＦｒａｍｅ６の位置情報を取得してＦｒａｍｅ６にジャンプする。これにより、Ｆｒａｍｅ９からＦｒａｍｅ６への早戻しが実現される。
【００４８】
図６は、再生実行部２１０による処理のフローチャートを示す。このフローチャートは、音楽ファイルの再生が既に開始しており、再生中に早送り／早戻し命令があった場合の例である。なお、通常の再生装置と同様に、停止命令があった場合に、再生実行部２１０は実行中の処理を停止するが、分かりやすいように、図６において、停止命令があった場合のステップを省略している。
【００４９】
再生実行部２１０は、再生に際して、当該音楽ファイルのフレームを順次読み込んでデコードして再生する（Ｓ２００、Ｓ２０２：Ｎｏ、Ｓ２０４、Ｓ２００〜）。
【００５０】
フレームの再生中に早送り／早戻し命令があった際に（Ｓ２０２：Ｙｅｓ）、再生実行部２１０は、早送り／早戻し先のフレーム（目的フレーム）の位置情報がフレーム位置情報テーブル２２０にあるか否かを確認し、あれば、フレーム位置情報テーブル２２０から目的フレームの位置情報を用いて目的フレームへジャンプする（Ｓ２１０：Ｙｅｓ、Ｓ２１２）。これにより、目的フレームがデコードされ再生される（Ｓ２０４）。そして、目的フレームの次のフレームに対して、ステップＳ２００からの処理が行われる（Ｓ２００〜）。
【００５１】
一方、フレーム位置情報テーブル２２０に目的フレームの位置情報が無ければ（Ｓ２１０：Ｎｏ）、再生実行部２１０は、フレーム位置情報テーブル２２０に登録された、目的フレームの近接フレームの位置情報を参照して近接フレームへジャンプする（Ｓ２２０）。そして、ジャンプ先のフレームのヘッダ情報から該フレームの次フレームの位置情報を取得して次フレームへジャンプする処理を、次フレームが目的フレームと一致するまで繰り返す（Ｓ２２２、Ｓ２２４、Ｓ２２６：Ｎｏ、Ｓ２２２〜）。
【００５２】
次フレームが目的フレームと一致した際に、目的フレームがデコードされ再生される（Ｓ２０４）。そして、目的フレームの次のフレームに対して、ステップＳ２００からの処理が行われる（Ｓ２００〜）。
【００５３】
このように、本実施の形態のミュージックプレイヤ２００は、早送り／早戻しに際して、目的フレームの位置情報がフレーム位置情報テーブル２２０に登録されていれば、目的フレームの位置情報を参照して直接目的フレームにジャンプし、目的フレームの位置情報がフレーム位置情報テーブル２２０に登録されていなければ、フレーム位置情報テーブル２２０を参照して目的フレームの近接フレームにジャンプした後に、近接フレームから目的フレームの前のフレームまでの各フレームのヘッダ情報を参照して目的フレームにジャンプする。
【００５４】
こうすることにより、近接フレームから通常再生で目的フレームに到達する特許文献１の手法より、近接フレームにジャンプしてから、目的フレームに到達するまでの時間を短縮でき、早送り／早戻し処理をより高速にできる。
【００５５】
また、近接フレームの次のフレームから目的フレームまでのすべてのフレームの位置情報をフレーム位置情報テーブルに登録する特許文献２の手法より、フレーム位置情報テーブルのメモリ容量を削減することができる。
【００５６】
さらに、特許文献２の手法は、再生に同期してフレーム位置情報テーブルへの登録をしている。例えば、初めての早送りの際、早送り命令を受けてから、目的フレームまでの各フレームの位置情報の取得と登録を行う。これでは、初めての早送りの場合、現在再生中のフレームから目的フレームまでの各フレームの位置情報のいずれもフレーム位置情報テーブルに登録されていないので、早送りの高速化効果はそれほど望めない。それに対して、本実施の形態のミュージックプレイヤ２００は、音楽ファイルの再生に非同期にフレーム位置情報テーブルの構築をするので、初めての早送りの場合にも、目的フレーム、または、再生中のフレームより後のフレームの位置情報が登録されているので、高速な早送りを実現できる。
【００５７】
フレーム位置情報テーブルの必要なメモリ容量と早送り／早戻しの高速実行のバランスの視点について、特許文献１の手法をさらに考える。
【００５８】
昨今のニーズにより、様々な曲長の圧縮オーディオデータや可変ビットレートの圧縮オーディオデータがあり、全てのフレームについて確認しないと総再生時間が判明できないファイルが流通している。特許文献１の手法では、メモリ容量を節約するためにフレーム位置情報テーブルの記憶領域を小さくすると、圧縮オーディオデータの曲長が長いときにフレーム位置情報テーブルの容量が足りず、曲の後段部分について、フレーム位置情報を登録できず、早送り／早戻しを高速にできない可能性がある。図７を参照して説明する。
【００５９】
例えば、フレーム位置情報テーブルの記憶領域は、６１フレーム分のフレーム情報を格納する容量を有する。この場合、図７の欄（１）に示すように、総再生時間が５分である曲は、５秒間隔でフレーム位置情報を登録するようにすれば、曲の最後までフレーム位置情報を登録できる。
【００６０】
しかし、図７の欄（２）に示すように、再生時間の総長が５分を超えた曲の場合、同様に５秒間隔で登録すると、先頭フレームの再生開始から５分以後に再生されるフレームについては、フレーム情報を登録することができない。そのため、先頭フレームの再生開始から５分以内に再生されるフレームについては早送り／早戻しを高速にできるが、先頭フレームの再生から５分以後に再生されるフレームについては、早送り／早戻しを高速にできない。
【００６１】
それに対して、本実施の形態のミュージックプレイヤ２００は、フレーム位置情報テーブルの容量が、曲の先頭から末尾までの全ての、フレーム位置情報を格納すべきフレームの位置情報を格納できる容量を有しないときに、全ての登録すべきフレームが登録できるように、登録の時間間隔を長くしてフレーム位置情報テーブルの再構築を行う。例えば図７の欄（３）に示すように、総再生時間が１０分の曲に対して登録の時間間隔を１分にすることにより、曲全体を網羅するようにフレーム位置情報を登録する。こうすることにより、音楽ファイルの曲長やビットレートにかかわらず、位置情報を登録すべき全てのフレームについてフレーム位置情報が登録できるので、曲後段のフレームについても早送り／早戻しの高速化が保証される。
【００６２】
＜第２の実施の形態＞
本発明の第２の実施の形態は、曲（音楽ファイル）を跨った早送り／早戻しも高速に実現できるミュージックプレイヤである。分かりやすいように、本第２の実施の形態について、図１に示すミュージックプレイヤ２００と異なる点についてのみ説明し、各構成要素については、ミュージックプレイヤ２００の相対応する要素と同一の名称を用いる。
【００６３】
本発明の第２の実施の形態にかかるミュージックプレイヤは、図８に示すように、３つのフレーム位置情報テーブルを有する。この３つのフレーム位置情報テーブルは、再生中の曲（再生曲）、再生曲の直前の曲（前曲）、再生曲の直後の曲（次曲）に夫々対応する。フレーム位置情報管理部は、再生曲の再生に並行して、再生曲のフレーム位置情報テーブルを構築すると共に、次曲のフレーム位置情報テーブルも構築する。また、再生の進行または早送り／早戻しにより再生曲が切り替わったときに下記のように動作する。
【００６４】
（１）再生曲と、前曲と、次曲のいずれかに対応する構築完了または構築中のフレーム位置情報テーブルの保持および構築を継続する。
（２）現在の再生中のオーディオファイル、現在の再生中のオーディオファイルの直前または直後のオーディオファイルのいずれにも対応しなくなったフレーム位置情報テーブルを削除する。
（３）再生曲、前曲と、次曲のいずれかに夫々対応する３つのフレーム位置情報テーブルのうちの、構築されていないフレーム位置情報テーブルの構築を開始する。
【００６５】
図９〜図１２の具体例を参照して説明する。
図９は、１曲目が再生開始されたときの各フレーム位置情報テーブルの状態を示す。このとき、１曲目のフレーム位置情報テーブルは、「再生曲」のフレーム位置情報テーブルとして構築が開始され、２曲目のフレーム位置情報テーブルは、「次曲」のフレーム位置情報テーブルとして構築が開始される。なお、この場合、前曲が無いので、前曲に対応するフレーム位置情報テーブルの構築処理は行われない。
【００６６】
また、１曲目の再生中にも、１曲目と２曲目のフレーム位置情報テーブルの構築は、構築完了までそれぞれ継続される。
【００６７】
図１０は、１曲目の再生が終了し、２曲目の再生が開始されたときの各フレーム情報テーブルの状態を示す。このとき、１曲目のフレーム位置情報テーブルは、「前曲」のフレーム位置情報テーブルとして保持され、２曲目のフレーム位置情報テーブルは、「再生曲」のフレーム位置情報テーブルとして保持される。なお、このとき、２曲目のフレーム位置情報テーブルの構築がまだ完了していない場合には、２曲目のフレーム位置情報テーブルの構築は継続される。さらに、３曲目のフレーム位置情報テーブルは、「次曲」のフレーム位置情報テーブルとして構築が開始される。
【００６８】
２曲目の再生中に、３曲目のフレーム位置情報テーブルの構築は、構築完了まで継続される。
【００６９】
図１１は、２曲目の再生が終了し、３曲目の再生が開始されたときの各フレーム情報テーブルの状態を示す。このとき、「再生曲」が３曲目であるため、１曲目のフレーム位置情報テーブルは、「再生曲」、「前曲」、「次曲」のいずれにも対応しなくなっている。そのため、１曲目のフレーム位置情報テーブルが削除され、代わりに、このときの「次曲」の４曲目のフレーム位置情報テーブルの構築が開始される。なお、２曲目と３曲目のフレーム位置情報テーブルは、それぞれ「前曲」と「再生曲」のフレーム位置情報テーブルとして保持または構築の継続をされる。
【００７０】
図１２は、３曲目の再生中に２曲目への早戻しが行われたときの各フレーム位置情報テーブルの状態を示す。このとき、「再生曲」が２曲目になるため、４曲目のフレーム位置情報テーブルは、「再生曲」、「前曲」、「次曲」のいずれにも対応しなくなっている。そのため、４曲目のフレーム位置情報テーブルが削除され、代わりに、このときの「前曲」の１曲目のフレーム位置情報テーブルの構築が開始される。なお、２曲目と３曲目のフレーム位置情報テーブルは、それぞれ「再生曲」と「次曲」のフレーム位置情報テーブルとして保持または構築の継続をされる。
【００７１】
図１３は、２曲目の再生中における各フレーム位置情報テーブルの例を示す。図示のように、１曲目のフレーム位置情報テーブルは、「前曲」のフレーム位置情報テーブルとして保持されており、２曲目と３曲目のフレーム位置情報テーブルは、夫々「再生曲」と「次曲」のフレーム位置情報テーブルとして構築されている。
【００７２】
図１４は、図１３に示す状態で、２曲目の４番目のフレーム（Ｆｒａｍｅ４）の再生中に、１曲目の１２番目のフレーム（Ｆｒａｍｅ１２）への早戻し命令があった際の処理を示す。まず、２曲目のフレーム位置情報テーブルを参照して、２曲目の先頭フレーム（Ｆｒａｍｅ１）へのジャンプがなされる。そして、１曲目のフレーム位置情報テーブルを参照して、１曲目の１５番目のフレーム（Ｆｒａｍｅ１５）へのジャンプ、１曲目のＦｒａｍｅ１２へのジャンプが順次行われる。
【００７３】
本実施の形態のミュージックプレイヤは、実施の形態のミュージックプレイヤ２００と同様の効果を得ることができる。また、早送りの目的フレームが次曲にあり、早戻しの目的フレームが前曲にあるなど、ジャンプ先のフレームが、再生曲と異なる曲に含まれる場合にも、早送り／早戻し処理を高速に実行できる。
【００７４】
＜第３の実施の形態＞
本発明の第３の実施の形態は、第２の実施の形態のミュージックプレイヤをベースとした、早送りをより高速に実現できるミュージックプレイヤである。分かりやすいように、本第３の実施の形態について、第２の実施の形態のミュージックプレイヤと異なる点についてのみ説明し、各構成要素については、第２の実施の形態ミュージックプレイヤの相対応する要素と同一の名称を用いる。
【００７５】
本実施の形態において、フレーム位置情報管理部は、音楽ファイルの再生開始前に、フレーム位置情報を取得可能な状態になればフレーム位置情報テーブルの構築を開始する。例えば、ミュージックプレイヤの起動や、音楽ファイルを記録した記録媒体がミュージックプレイヤに挿入されたことなどをトリガに、再生命令がなされる前からフレーム位置情報テーブルの構築を開始する。なお、記録媒体に複数の音楽ファイルがある場合には、記録媒体の最も先頭に記録された音楽ファイルなど、最も先に再生される可能性の高い音楽ファイルに対してフレーム位置情報テーブルの構築を開始する。また、音楽ファイルのフレーム位置情報テーブルの構築の完成前に該音楽ファイルの再生が開始された場合には、フレーム位置情報管理部は、該音楽ファイルの再生中にもフレーム位置情報テーブルの構築を継続する。
【００７６】
すなわち、第２の実施の形態のミュージックプレイヤは、音楽ファイルの再生開始時にフレーム位置情報テーブルの構築を開始するのに対して、本第３の実施の形態のミュージックプレイヤは、該音楽ファイルの再生開始前からそのフレーム位置情報テーブルの構築を開始する。こうすることにより、音楽ファイルの再生開始時に、フレーム位置情報テーブルに少なくとも一部のフレームの位置情報が既に登録されているので、音楽ファイルの開始後の早い時期に早送り命令がなされても、フレーム位置情報テーブルを利用したジャンプのできる可能性が高まる。
【００７７】
なお、第３の実施の形態のミュージックプレイヤは、第２の実施の形態のミュージックプレイヤに対して、音楽ファイルの開始前からフレーム位置情報テーブルの構築を開始するようにしたものである。勿論、第１の実施の形態のミュージックプレイヤに対して、音楽ファイルの開始前からフレーム位置情報テーブルの構築を開始するようにしてもよい。こうすることにおり、ミュージックプレイヤ２００の各効果に加え、音楽ファイルの開始後の早い時期に早送り命令がなされても、フレーム位置情報テーブルを利用したジャンプを行うことができる可能性が高まる。
【００７８】
以上、実施の形態をもとに本発明を説明した。実施の形態は例示であり、本発明の主旨から逸脱しない限り、上述した各実施の形態に対してさまざまな変更、増減、組合せを行ってもよい。これらの変更、増減、組合せが行われた変形例も本発明の範囲にあることは当業者に理解されるところである。
【符号の説明】
【００７９】
１０１  信号再生部  １０１１  命令取得手段
１０１２  読み込み開始アドレス決定手段  １０１３  再生フレームバッファ確認手段
１０１４  再生フレームバッファリング手段
１０１５  フレームビット情報細分化手段
１０１６  ＰＣＭ変換手段  １０１７  フレーム位置情報取得手段
１０２  位置情報取得部  １０２１  位置情報取得フレームバッファリング手段
１０２２  フレームビット情報細分化手段  １０２３  フレーム位置情報取得手段
１０３  フレーム位置情報テーブル  ２００  ミュージックプレイヤ
２１０  再生実行部  ２２０  フレーム位置情報テーブル
２３０  フレーム位置情報管理部
【図１】
2010160862.tif 000003
【図２】
2010160862.tif 000004
【図３】
2010160862.tif 000005
【図４】
2010160862.tif 000006
【図５】
2010160862.tif 000007
【図６】
2010160862.tif 000008
【図７】
2010160862.tif 000009
【図８】
2010160862.tif 000010
【図９】
2010160862.tif 000011
【図１０】
2010160862.tif 000012
【図１１】
2010160862.tif 000013
【図１２】
2010160862.tif 000014
【図１３】
2010160862.tif 000015
【図１４】
2010160862.tif 000016
【図１５】
2010160862.tif 000017
【図１６】
2010160862.tif 000018
【図１７】
2010160862.tif 000019
【図１８】
2010160862.tif 000020
【図１９】
2010160862.tif 000021
【図２０】
2010160862.tif 000022
【図２１】
2010160862.tif 000023
【図２２】
2010160862.tif 000024
【図２３】
2010160862.tif 000025
【図２４】
2010160862.tif 000026