説明

オーディオ再生装置

【課題】圧縮オーディオデータの早送り/早戻しの高速化を確実にできると共に、フレーム位置情報テーブルの容量を削減する。
【解決手段】フレーム位置情報管理部230は、オーディオファイルの再生時に、ヘッダ情報を参照して、所定の再生時間間隔に応じて、再生中のフレーム以降のフレームの中から、位置情報をフレーム位置情報テーブルに格納すべきフレームを決定し、決定されたフレームの位置情報を取得してフレーム情報テーブルに格納する。再生実行部210は、位置情報がフレーム位置情報テーブルに登録されていない目的フレームへの早送り/早戻し命令があった際に、フレーム位置情報テーブルに格納された位置情報を参照して目的フレームの近接フレームにジャンプし、その後、近接フレームの次のフレームから目的フレームの前のフレームまでの各フレームのヘッダ情報を参照して目的フレームにジャンプする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、圧縮されたオーディオデータの再生技術に関する。
【背景技術】
【0002】
圧縮されたオーディオデータ(以下圧縮オーディオデータという)を再生する際の早送り/早戻しについて様々な手法が提案されている。
【0003】
例えば、特許文献1には、フレーム長をヘッダ情報として持たないフレーム構造を有する圧縮オーディオデータの早送り/早戻しを高速に行うための手法が開示されている。この手法は、再生中のフレームより後に再生されるフレームの位置情報(先頭アドレス)を取得してフレーム位置情報テーブルに格納し、早送り命令があった際に、フレーム位置情報テーブルに格納された位置情報に基づいて、早送り先のフレーム位置を決定する。図15〜図18を参照して具体的に説明する。
【0004】
図15は特許文献1の図2に対応し、特許文献1の手法を適用したオーディオ信号再生装置の再生処理部を示す。この再生処理部は、信号再生部101と、位置情報取得部102と、フレーム位置情報テーブル103を備える。信号再生部101は、外部から入力される再生命令信号または早送り/早戻し命令信号に応じて再生処理または早送り/早戻し処理を行う。信号再生部101は、再生中のフレームの位置情報を取得してフレーム位置情報テーブル103に登録する。具体的には、信号再生部101のフレームビット情報細分化手段1015は、再生するオーディオデータ(圧縮オーディオデータ)をビット単位に細分化して解析することにより、1フレームの区切りを認識し、フレーム長さを得る。これにより、次のフレームの先頭アドレスも判明される。本明細書では、特許文献1と同様に、フレームの先頭アドレスを位置情報とも呼ぶ。
【0005】
フレーム位置情報取得手段1017は、次に再生するフレームの先頭位置として、フレームビット情報細分化手段1015により得られた位置情報をフレーム位置情報テーブル103に格納する。
【0006】
位置情報取得部102は、信号再生部101による再生中に、再生中のフレームより後に再生されるフレームの位置情報を取得してフレーム位置情報テーブル103に格納する。
【0007】
図16と図17は、特許文献1の図6の(a)と(b)に夫々対応し、フレーム位置情報テーブル103の例を示す。図16は、全てのフレームの位置情報を格納した例であり、図17は、所定の時間間隔でフレームの位置情報を格納した例である。
【0008】
特許文献1には、フレーム位置情報テーブル103を記憶するメモリ領域を削減するために、フレーム位置情報テーブル103への位置情報の格納は、すべてのフレームについて行うのではなく、所定の時間間隔で行うことを推奨している。
【0009】
図18は、特許文献1の図8に対応し、図15に示す再生処理部による早送り/早戻し処理のフローチャートを示す。早送りまたは早戻しの指示があった際に、信号再生部101は、フレーム位置情報テーブル103を参照して早送り先/早戻し先のフレームの先頭アドレスを読込開始アドレスとして取得し、該読込開始アドレスから圧縮オーディオデータを取得する。そして、通常再生時と同様に、再生するフレームのビット情報の細分化およびPCM変換を行って、変換後のPCM信号を図示しないD/A変換部に出力する。
【0010】
特許文献1のこの手法によれば、既に再生されたフレームの先頭アドレスと、再生中のフレームより後に再生されるフレームの先頭アドレスがフレーム位置情報テーブル103に格納されるので、フレーム位置情報テーブル103を参照することにより高速な早送り/早戻し処理ができる。また、フレーム位置情報テーブル103への登録を、所定の時間間隔で行うことにより、メモリ容量を削減することができる。
【0011】
特許文献2には、フレーム長をヘッダ情報として持つフレーム構造を有する圧縮オーディオデータの早送り/早戻しの手法が開示されている。この手法も、位置情報に該当するフレームオフセットを、フレーム位置情報テーブルに該当するフレームオフセット管理テーブルに格納して早送り/早戻しに用いる。図19と図20を参照して説明する。
【0012】
図19は、特許文献2の図15に対応し、該手法による再生処理と早送り/早戻し処理のフローチャートを示す。目的フレームの再生に当たり、まず、該フレームのオフセットが既にフレームオフセット管理テーブルに登録されているか否かを確認する(S123)。登録されていれば、管理テーブルから目的フレームのオフセットを取得して該フレームの先頭までシーク(ジャンプ)する(S123:Yes、S132〜)。
【0013】
一方、管理テーブルに目的フレームのオフセットが登録されていない場合には、管理テーブルから、目的フレームに最も近傍のフレーム(近接フレーム)のオフセット(i)を取得して近接フレームまでシークする(S123:No、S124、S125)。そして、近接フレームの次のフレームから目的フレームまでの各フレームに対して、ヘッダ情報を読み取ってオフセットを取得して管理テーブルに登録する処理を順次行う(S126〜S146)。これにより、図20(特許文献の図12に対応する)に示すように、近接フレームから目的フレームまでの各フレームのオフセットが管理テーブルに登録され、目的フレームまでジャンプ可能になる。
【先行技術文献】
【特許文献】
【0014】
【特許文献1】特開2006−178179号公報
【特許文献2】特開2006−18991号公報
【発明の概要】
【発明が解決しようとする課題】
【0015】
特許文献1の手法は、フレーム長をヘッダ情報として持つフレーム構造を有する圧縮オーディオデータの早送り/早戻しにも適用できると考えられる。すなわち、フレームの再生中に、該フレームより後に再生されるフレームのヘッダ情報から位置情報を取得してフレーム位置情報テーブルに登録すれば、登録されたフレームを目的フレームとする早送り/早戻しが高速にできる。
【0016】
しかし、必要なメモリ容量を削減するために、全てのフレームについてではなく、所定の時間間隔でフレーム位置情報テーブルへの登録を行うようにすると、登録されたフレーム以外のフレームを目的フレームとする早送り/早戻しの場合、処理速度が著しく低下する恐れがある。図21〜図24を参照して説明する。
【0017】
図21は、5秒間隔で位置情報が登録されたフレーム位置情報テーブルの例を示す。このフレーム位置情報テーブルの場合、フレーム9の再生中にフレーム6への早戻し指示がされたときに、処理が図22に示すフローになる。すなわち、まず、フレーム位置情報テーブルに位置情報が登録されているフレーム4の先頭へジャンプが行われ、その後、フレーム4とフレーム5の通常再生(PLAY)が行われる。この通常再生の時間はT1である。
【0018】
図23は、10秒間隔で位置情報が登録されたフレーム位置情報テーブルの例を示す。このフレーム位置情報テーブルの場合、フレーム9の再生中にフレーム6への早戻し指示がされたときに、処理が図24に示すフローになる。すなわち、まず、フレーム位置情報テーブルに位置情報が登録されているフレーム1の先頭へジャンプが行われ、その後、フレーム1からフレーム5までの計5つのフレームの通常再生(PLAY)が行われる。この通常再生の時間はT1より長いT2である。
【0019】
すなわち、特許文献1の手法では、目的フレームがフレーム位置情報テーブルに登録されていない場合に、ジャンプ先のフレームから目的フレームまで通常再生が行われるため、目的フレームの先頭アドレスへのアクセスに際し、多くの時間を要する。フレーム位置情報テーブルへ登録する時間間隔が長いほどこの問題が顕著になる。
【0020】
特許文献2の手法は、目的フレームの近接フレームにジャンプした後、近接フレームの次のフレームから目的フレームまでの全てのフレームに対して、ヘッダ情報からオフセット(位置情報)の取得、フレームオフセット管理テーブル(フレーム位置情報テーブル)への登録を行った後に目的フレームへジャンプする。早送りの場合、再生中のフレームの次のフレームから最後のフレームまで、いずれのフレームのオフセットも登録されていない場合が多いため、曲の最後付近が早送りの目的フレームであるときには、オフセットの取得と登録が繰り返される回数が、膨大になってしまう可能性がある。例えば、エンコーダによって差異があるが、MP3のオーディオデータの場合、4〜5分の曲は約10000フレームを有する。すなわち、4〜5分程度の曲でも、曲の先頭部分から末尾近傍へ早送りする際に、10000に近い数のフレームの位置情報の取得と登録が繰り返されることになる。これでは、時間がかかってしまい、早送りを高速に実行できない。また、各フレームの位置情報を登録するので、フレーム位置情報テーブルの必要な記憶容量も膨大になる。
【課題を解決するための手段】
【0021】
本発明の一つの態様は、フレーム長をヘッダ情報として持つ圧縮オーディオデータを記録したオーディオファイルの再生装置である。この再生装置は、フレームの先頭アドレスを示す位置情報を格納するフレーム位置情報テーブルと、フレーム位置情報管理部と、再生実行部を備える。
【0022】
フレーム位置情報管理部は、ヘッダ情報を参照してフレーム位置情報テーブルを構築するテーブル構築処理を行う。具体的には、所定の再生時間間隔に応じて、オーディオファイルの再生中のフレーム以降のフレームの中から、位置情報をフレーム位置情報テーブルに格納すべきフレームを決定し、決定されたフレームの位置情報を取得してフレーム情報テーブルに格納する。
【0023】
再生実行部は、位置情報がフレーム位置情報テーブルに登録されていない目的フレームへの早送り/早戻し命令に応じて、フレーム位置情報テーブルに格納された位置情報を参照し目的フレームの近接フレームにジャンプし、その後、近接フレームの次のフレームから目的フレームの前のフレームまでの各フレームのヘッダ情報を参照して目的フレームにジャンプする。
【0024】
なお、上記態様の再生装置をシステムや方法に置き換えて表現したものや、該再生装置が行う処理をコンピュータに実行せしめるプログラムも、本発明の態様としては有効である。
【発明の効果】
【0025】
本発明にかかる技術によれば、圧縮オーディオデータの早送り/早戻しの高速化を確実にできると共に、フレーム位置情報テーブルの容量を削減することができる。
【図面の簡単な説明】
【0026】
【図1】本発明の第1の実施の形態にかかるミュージックプレイヤを示す図である。
【図2】図1に示すミュージックプレイヤによるフレーム位置情報テーブルの構築を示すフローチャートである。
【図3】MP3のフレームのヘッダ情報の内容を示す図である。
【図4】図1に示すミュージックプレイヤにおけるフレーム位置情報管理部が構築したフレーム位置情報テーブルの例を示す。
【図5】図4に示すフレーム位置情報テーブルの場合における早戻し処理の例を説明するための図である。
【図6】図1に示すミュージックプレイヤにおける再生実行部の処理を示すフローチャートである。
【図7】フレーム位置情報テーブルへフレーム位置情報が登録される時間間隔について、特許文献1に開示された圧縮オーディオデータ再生装置と図1に示すミュージックプレイヤの違いを説明するための図である。
【図8】本発明の第2の実施の形態にかかるミュージックプレイヤに備えられる3つの位置情報テーブルを示す図である。
【図9】図8に示す3つの位置情報テーブルの状態例を示す(その1)。
【図10】図8に示す3つの位置情報テーブルの状態例を示す(その2)。
【図11】図8に示す3つの位置情報テーブルの状態例を示す(その3)。
【図12】図8に示す3つの位置情報テーブルの状態例を示す(その4)。
【図13】本発明の第2の実施の形態にかかるミュージックプレイヤにおいて、2曲目の再生中における各フレーム位置情報テーブルの内容の例を示す図である。
【図14】図13に示す3つのフレーム位置情報テーブルの場合における早戻し処理の例を説明するための図である。
【図15】特許文献1に開示された圧縮オーディオ再生装置を示す図である。
【図16】図15に示す圧縮オーディオ再生装置において構築されたフレーム位置情報テーブルの例を示す図である(その1)。
【図17】図15に示す圧縮オーディオ再生装置において構築されたフレーム位置情報テーブルの例を示す図である(その2)。
【図18】図15に示す圧縮オーディオ再生装置による早送り/早戻しの処理を示すフローチャートである。
【図19】特許文献2に開示された圧縮オーディオ再生装置による再生処理と早送り/早戻し処理を示すフローチャートである。
【図20】特許文献2に開示された圧縮オーディオ再生装置において構築されたフレーム位置情報テーブルの例を示す。
【図21】特許文献1に開示された圧縮オーディオデータ再生装置において5秒間隔でフレーム位置情報が登録されたフレーム位置情報テーブルの例を示す図である。
【図22】特許文献1が図21に示すフレーム位置情報テーブルの場合に行う早戻し処理の例を示すフローチャートである。
【図23】特許文献1に開示された圧縮オーディオデータ再生装置において10秒間隔でフレーム位置情報が登録されたフレーム位置情報テーブルの例を示す図である。
【図24】特許文献1が図23に示すフレーム位置情報テーブルの場合に行う早戻し処理の例を示すフローチャートである。
【発明を実施するための形態】
【0027】
以下、図面を参照して本発明の実施の形態を説明する。
<第1の実施の形態>
図1は、本発明の第1の実施の形態にかかる圧縮オーディオデータ再生装置を示す。この再生装置は、フレーム長をヘッダ情報として持つ圧縮オーディオデータ一を再生対象とし、一例として、ミュージックプレイヤであるとする。また、分かりやすいように、圧縮オーディオデータを記録した1つのオーディオファイル(ここでは音楽ファイル)が、1曲に対応するものとする。
【0028】
図1において、様々な処理を行う機能ブロックとして記載される各要素は、ハードウェア的には、CPU、メモリ、その他のLSIで構成することができ、ソフトウェア的には、メモリにロードされたプログラムなどによって実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。また、説明の明確化のため、以下の記載及び図面は、適宜、省略及び簡略化がなされている。
【0029】
ミュージックプレイヤ200は、再生実行部210と、フレーム位置情報テーブル220と、フレーム位置情報管理部230を備える。
【0030】
再生実行部210は、再生対象の音楽ファイル、具体的には該再生対象の音楽ファイルに含まれるオーディオデータに対して、再生命令に応じて再生処理をし、早送り/早戻し命令に応じて早送り/早戻し処理を行う。早送り/早戻し処理に際しては、フレーム位置情報テーブル220を参照する。
【0031】
フレーム位置情報管理部230は、再生実行部210による上記再生対象の音楽ファイルの再生に並行して、該再生対象の音楽ファイルに含まれるオーディオデータのフレームのヘッダ情報から位置情報を取得してフレーム位置情報テーブル220に格納してフレーム位置情報テーブル220を構築する。なお、本実施の形態において、フレーム位置情報管理部230は、音楽ファイルの再生開始に伴って、フレーム位置情報テーブル220の構築を開始する。そのため、フレーム位置情報管理部230が位置情報を取得するフレームは、再生実行部210による再生中のフレーム以降のフレームになる。
【0032】
フレーム位置情報管理部230は、フレーム位置情報テーブル220を構築する際に、音楽ファイルのすべてのフレームの位置情報をフレーム位置情報テーブル220に格納するのではなく、所定の再生時間間隔(以下単に時間間隔という)に基づいて、フレーム位置情報テーブル220に位置情報を格納すべきフレームを決定し、決定されたフレームの位置情報のみをフレーム位置情報テーブル220に格納する。
【0033】
図2は、フレーム位置情報管理部230によるフレーム位置情報テーブルの構築を示すフローチャートである。フレーム位置情報管理部230は、まず、フレーム位置情報テーブル220を初期化する(S100)。そして、音楽ファイルの先頭フレームから順に、ヘッダ情報を読み出して該フレームの再生時間、および先頭フレームから該フレームまでの再生時間を算出し(S106)、先頭からの再生時間が上記時間間隔のn倍(n:0以上の整数)であるときに該フレームの先頭アドレス(位置情報)をフレーム位置情報テーブル220のn番目に格納する(S108、S110)。さらに、フレーム位置情報管理部230は、該フレームに対して、そのビットレートを図示しない記憶装置に保存する(S112)。ステップS106の処理の詳細については、後述する。
【0034】
フレーム位置情報テーブル220の構築が進み、音楽ファイルの終端に達したときに(S102:Yes)、フレーム位置情報管理部230は、フレーム位置情報テーブル220の構築が完了したとして処理を終了する。
【0035】
一方、音楽ファイルの終端に達する前に(S102:No)、フレーム位置情報テーブル220の剰余容量が無くなってしまったときに(S104:No)、フレーム位置情報管理部230は、該音楽ファイルの総再生時間を算出する(S120)。そして、算出した総再生時間に基づいて、フレーム位置情報テーブル220が、音楽ファイルの先頭から末尾までの全ての、位置情報を格納すべきフレームの位置情報を格納できるように、上記時間間隔を長くした上で(S122)、ステップS100の初期化から処理を行ってフレーム位置情報テーブル220を再構築する(S100〜)。
【0036】
ステップS120における総再生時間の算出手法は、該音楽ファイルが固定ビットレートのものであるか、可変ビットレートのものであるかによって異なる。固定ビットレートの場合、ステップS112で保存した各フレームのビットレートが同一であるため、フレーム位置情報管理部230は、該音楽ファイルのデータサイズと上記ビットレートから総再生時間を算出する。一方、可変ビットレートの場合には、フレーム位置情報管理部230は、ステップS112で保存した各フレームのビットレートの平均値を算出し、音楽ファイルのデータサイズと該平均値とを用いて総再生時間を算出する。
【0037】
ステップS106の処理を説明する。
ステップS106において取得する「フレーム情報」は、該フレームの再生時間と位置情報を含み、フレーム長とストリームサイズ(ヘッダ情報を除いたフレームのサイズ)から算出できる。
【0038】
ステップS106において、フレーム位置情報管理部230は、該フレームのヘッダ情報と、1フレームのサンプリング数とに基づいて、フレーム長とストリームサイズを算出してフレーム情報を取得する。ここで、MP3の音楽ファイルを例にしてフレーム長とストリームサイズの算出方法を説明する。
【0039】
図3は、MP3のフレーム先頭4byteに格納されたヘッダ情報を示す。フレーム位置情報管理部230は、図3に示すヘッダ情報と、1フレームのサンプリング数とに基づいて、式(1)と(2)に従ってフレーム長とフレームのストリームサイズ(ヘッダ情報を除いたフレームのサイズ)を算出する。
【0040】
フレーム長=(((ビットレート×1フレームのサンプリング数÷サンプリングレート÷8)+パディングビット)×8)÷8 (1)
ストリームサイズ=フレーム長−ヘッダサイズ (2)
【0041】
なお、MP3の場合は、ヘッダサイズが4byteである。また、1フレームのサンプリング数は、フレームの圧縮規格によって定められており、例えば、MPEG1の場合は0x480であり、MPEG2の場合は0x240である。フレーム位置情報管理部230は、音楽ファイルのフレームの圧縮規格から1フレームのサンプリング数を得ることができる。
【0042】
図4は、フレーム位置情報管理部230が構築したフレーム位置情報テーブル220の例を示す。図4に示すように、フレーム位置情報テーブル220には、5秒の再生時間間隔に応じて決定されたフレームの位置情報が登録されている。
【0043】
また、前述したように、フレーム位置情報管理部230が構築したフレーム位置情報テーブル220には、当該音楽ファイルの先頭から末尾までの全ての、フレーム位置情報を格納すべきフレームの位置情報が格納されている。
【0044】
本実施の形態において、フレーム位置情報管理部230は、音楽ファイルが固定ビットレートと可変ビットレートのいずれのものであるかにかかわらず、予め定められた所定の時間間隔に応じてフレーム位置情報テーブル220を構築し、構築している途中でフレーム位置情報テーブル220の記憶容量が足りないと分かったときに、再生中の音楽ファイルの総再生時間を算出して時間間隔を変更してフレーム位置情報テーブル220を再構築する。例えば、フレーム位置情報テーブル220の構築に先立って、まず、音楽ファイルが固定ビットのものであるか可変ビットのものであるかを判定する。そして、可変ビットレートと判定した場合には、図2に示すフローを実行する一方、固定ビットレートと判定した場合には、音楽ファイルのデータサイズと先頭フレームのビットレートから総再生時間を算出し、算出した総再生時間に応じて時間間隔を決定してからフレーム位置情報テーブル220を構築するようにしてもよい。
【0045】
再生実行部210は、早送り/早戻し命令があった際に、フレーム位置情報テーブル220を参照して早送り/早戻し処理を行う。具体的には、フレーム位置情報テーブル220を参照し、目的フレームの位置情報がフレーム位置情報テーブル220に登録されている場合には、該目的フレームの位置情報が示す位置にジャンプする。一方、目的フレームの位置情報がフレーム位置情報テーブル220に登録されていない場合には、目的フレームの近接フレームにジャンプし、その後、該近接フレームの次のフレームから目的フレームの前のフレームまでの各フレームのヘッダ情報を参照して目的フレームにジャンプする。
【0046】
図5は、図4に示すフレーム位置情報テーブル220の場合、音楽ファイルの9番目のフレーム(Frame9)の再生中に、6番目のフレーム(Frame6)への早戻し命令があった際の再生実行部210の動作を示す。図示のように、フレーム位置情報テーブル220には、目的フレームのFrame6のフレーム位置情報が登録されていない。この場合、近接フレームは、フレーム位置情報テーブル220にフレーム位置情報が登録されたフレームのうちの、Frame6より前に位置し、かつFrame6に最も近いFrame4になる。
【0047】
再生実行部210は、まず、フレーム位置情報テーブル220に登録されたFrame4のフレーム位置情報が示す位置にジャンプし、その後、Frame4のヘッダ情報からFrame4のフレーム長を算出することでフレーム5の位置情報を取得してFrame5にジャンプする。さらに、Frame5のヘッダ情報からFrame5のフレーム長を算出することでFrame6の位置情報を取得してFrame6にジャンプする。これにより、Frame9からFrame6への早戻しが実現される。
【0048】
図6は、再生実行部210による処理のフローチャートを示す。このフローチャートは、音楽ファイルの再生が既に開始しており、再生中に早送り/早戻し命令があった場合の例である。なお、通常の再生装置と同様に、停止命令があった場合に、再生実行部210は実行中の処理を停止するが、分かりやすいように、図6において、停止命令があった場合のステップを省略している。
【0049】
再生実行部210は、再生に際して、当該音楽ファイルのフレームを順次読み込んでデコードして再生する(S200、S202:No、S204、S200〜)。
【0050】
フレームの再生中に早送り/早戻し命令があった際に(S202:Yes)、再生実行部210は、早送り/早戻し先のフレーム(目的フレーム)の位置情報がフレーム位置情報テーブル220にあるか否かを確認し、あれば、フレーム位置情報テーブル220から目的フレームの位置情報を用いて目的フレームへジャンプする(S210:Yes、S212)。これにより、目的フレームがデコードされ再生される(S204)。そして、目的フレームの次のフレームに対して、ステップS200からの処理が行われる(S200〜)。
【0051】
一方、フレーム位置情報テーブル220に目的フレームの位置情報が無ければ(S210:No)、再生実行部210は、フレーム位置情報テーブル220に登録された、目的フレームの近接フレームの位置情報を参照して近接フレームへジャンプする(S220)。そして、ジャンプ先のフレームのヘッダ情報から該フレームの次フレームの位置情報を取得して次フレームへジャンプする処理を、次フレームが目的フレームと一致するまで繰り返す(S222、S224、S226:No、S222〜)。
【0052】
次フレームが目的フレームと一致した際に、目的フレームがデコードされ再生される(S204)。そして、目的フレームの次のフレームに対して、ステップS200からの処理が行われる(S200〜)。
【0053】
このように、本実施の形態のミュージックプレイヤ200は、早送り/早戻しに際して、目的フレームの位置情報がフレーム位置情報テーブル220に登録されていれば、目的フレームの位置情報を参照して直接目的フレームにジャンプし、目的フレームの位置情報がフレーム位置情報テーブル220に登録されていなければ、フレーム位置情報テーブル220を参照して目的フレームの近接フレームにジャンプした後に、近接フレームから目的フレームの前のフレームまでの各フレームのヘッダ情報を参照して目的フレームにジャンプする。
【0054】
こうすることにより、近接フレームから通常再生で目的フレームに到達する特許文献1の手法より、近接フレームにジャンプしてから、目的フレームに到達するまでの時間を短縮でき、早送り/早戻し処理をより高速にできる。
【0055】
また、近接フレームの次のフレームから目的フレームまでのすべてのフレームの位置情報をフレーム位置情報テーブルに登録する特許文献2の手法より、フレーム位置情報テーブルのメモリ容量を削減することができる。
【0056】
さらに、特許文献2の手法は、再生に同期してフレーム位置情報テーブルへの登録をしている。例えば、初めての早送りの際、早送り命令を受けてから、目的フレームまでの各フレームの位置情報の取得と登録を行う。これでは、初めての早送りの場合、現在再生中のフレームから目的フレームまでの各フレームの位置情報のいずれもフレーム位置情報テーブルに登録されていないので、早送りの高速化効果はそれほど望めない。それに対して、本実施の形態のミュージックプレイヤ200は、音楽ファイルの再生に非同期にフレーム位置情報テーブルの構築をするので、初めての早送りの場合にも、目的フレーム、または、再生中のフレームより後のフレームの位置情報が登録されているので、高速な早送りを実現できる。
【0057】
フレーム位置情報テーブルの必要なメモリ容量と早送り/早戻しの高速実行のバランスの視点について、特許文献1の手法をさらに考える。
【0058】
昨今のニーズにより、様々な曲長の圧縮オーディオデータや可変ビットレートの圧縮オーディオデータがあり、全てのフレームについて確認しないと総再生時間が判明できないファイルが流通している。特許文献1の手法では、メモリ容量を節約するためにフレーム位置情報テーブルの記憶領域を小さくすると、圧縮オーディオデータの曲長が長いときにフレーム位置情報テーブルの容量が足りず、曲の後段部分について、フレーム位置情報を登録できず、早送り/早戻しを高速にできない可能性がある。図7を参照して説明する。
【0059】
例えば、フレーム位置情報テーブルの記憶領域は、61フレーム分のフレーム情報を格納する容量を有する。この場合、図7の欄(1)に示すように、総再生時間が5分である曲は、5秒間隔でフレーム位置情報を登録するようにすれば、曲の最後までフレーム位置情報を登録できる。
【0060】
しかし、図7の欄(2)に示すように、再生時間の総長が5分を超えた曲の場合、同様に5秒間隔で登録すると、先頭フレームの再生開始から5分以後に再生されるフレームについては、フレーム情報を登録することができない。そのため、先頭フレームの再生開始から5分以内に再生されるフレームについては早送り/早戻しを高速にできるが、先頭フレームの再生から5分以後に再生されるフレームについては、早送り/早戻しを高速にできない。
【0061】
それに対して、本実施の形態のミュージックプレイヤ200は、フレーム位置情報テーブルの容量が、曲の先頭から末尾までの全ての、フレーム位置情報を格納すべきフレームの位置情報を格納できる容量を有しないときに、全ての登録すべきフレームが登録できるように、登録の時間間隔を長くしてフレーム位置情報テーブルの再構築を行う。例えば図7の欄(3)に示すように、総再生時間が10分の曲に対して登録の時間間隔を1分にすることにより、曲全体を網羅するようにフレーム位置情報を登録する。こうすることにより、音楽ファイルの曲長やビットレートにかかわらず、位置情報を登録すべき全てのフレームについてフレーム位置情報が登録できるので、曲後段のフレームについても早送り/早戻しの高速化が保証される。
【0062】
<第2の実施の形態>
本発明の第2の実施の形態は、曲(音楽ファイル)を跨った早送り/早戻しも高速に実現できるミュージックプレイヤである。分かりやすいように、本第2の実施の形態について、図1に示すミュージックプレイヤ200と異なる点についてのみ説明し、各構成要素については、ミュージックプレイヤ200の相対応する要素と同一の名称を用いる。
【0063】
本発明の第2の実施の形態にかかるミュージックプレイヤは、図8に示すように、3つのフレーム位置情報テーブルを有する。この3つのフレーム位置情報テーブルは、再生中の曲(再生曲)、再生曲の直前の曲(前曲)、再生曲の直後の曲(次曲)に夫々対応する。フレーム位置情報管理部は、再生曲の再生に並行して、再生曲のフレーム位置情報テーブルを構築すると共に、次曲のフレーム位置情報テーブルも構築する。また、再生の進行または早送り/早戻しにより再生曲が切り替わったときに下記のように動作する。
【0064】
(1)再生曲と、前曲と、次曲のいずれかに対応する構築完了または構築中のフレーム位置情報テーブルの保持および構築を継続する。
(2)現在の再生中のオーディオファイル、現在の再生中のオーディオファイルの直前または直後のオーディオファイルのいずれにも対応しなくなったフレーム位置情報テーブルを削除する。
(3)再生曲、前曲と、次曲のいずれかに夫々対応する3つのフレーム位置情報テーブルのうちの、構築されていないフレーム位置情報テーブルの構築を開始する。
【0065】
図9〜図12の具体例を参照して説明する。
図9は、1曲目が再生開始されたときの各フレーム位置情報テーブルの状態を示す。このとき、1曲目のフレーム位置情報テーブルは、「再生曲」のフレーム位置情報テーブルとして構築が開始され、2曲目のフレーム位置情報テーブルは、「次曲」のフレーム位置情報テーブルとして構築が開始される。なお、この場合、前曲が無いので、前曲に対応するフレーム位置情報テーブルの構築処理は行われない。
【0066】
また、1曲目の再生中にも、1曲目と2曲目のフレーム位置情報テーブルの構築は、構築完了までそれぞれ継続される。
【0067】
図10は、1曲目の再生が終了し、2曲目の再生が開始されたときの各フレーム情報テーブルの状態を示す。このとき、1曲目のフレーム位置情報テーブルは、「前曲」のフレーム位置情報テーブルとして保持され、2曲目のフレーム位置情報テーブルは、「再生曲」のフレーム位置情報テーブルとして保持される。なお、このとき、2曲目のフレーム位置情報テーブルの構築がまだ完了していない場合には、2曲目のフレーム位置情報テーブルの構築は継続される。さらに、3曲目のフレーム位置情報テーブルは、「次曲」のフレーム位置情報テーブルとして構築が開始される。
【0068】
2曲目の再生中に、3曲目のフレーム位置情報テーブルの構築は、構築完了まで継続される。
【0069】
図11は、2曲目の再生が終了し、3曲目の再生が開始されたときの各フレーム情報テーブルの状態を示す。このとき、「再生曲」が3曲目であるため、1曲目のフレーム位置情報テーブルは、「再生曲」、「前曲」、「次曲」のいずれにも対応しなくなっている。そのため、1曲目のフレーム位置情報テーブルが削除され、代わりに、このときの「次曲」の4曲目のフレーム位置情報テーブルの構築が開始される。なお、2曲目と3曲目のフレーム位置情報テーブルは、それぞれ「前曲」と「再生曲」のフレーム位置情報テーブルとして保持または構築の継続をされる。
【0070】
図12は、3曲目の再生中に2曲目への早戻しが行われたときの各フレーム位置情報テーブルの状態を示す。このとき、「再生曲」が2曲目になるため、4曲目のフレーム位置情報テーブルは、「再生曲」、「前曲」、「次曲」のいずれにも対応しなくなっている。そのため、4曲目のフレーム位置情報テーブルが削除され、代わりに、このときの「前曲」の1曲目のフレーム位置情報テーブルの構築が開始される。なお、2曲目と3曲目のフレーム位置情報テーブルは、それぞれ「再生曲」と「次曲」のフレーム位置情報テーブルとして保持または構築の継続をされる。
【0071】
図13は、2曲目の再生中における各フレーム位置情報テーブルの例を示す。図示のように、1曲目のフレーム位置情報テーブルは、「前曲」のフレーム位置情報テーブルとして保持されており、2曲目と3曲目のフレーム位置情報テーブルは、夫々「再生曲」と「次曲」のフレーム位置情報テーブルとして構築されている。
【0072】
図14は、図13に示す状態で、2曲目の4番目のフレーム(Frame4)の再生中に、1曲目の12番目のフレーム(Frame12)への早戻し命令があった際の処理を示す。まず、2曲目のフレーム位置情報テーブルを参照して、2曲目の先頭フレーム(Frame1)へのジャンプがなされる。そして、1曲目のフレーム位置情報テーブルを参照して、1曲目の15番目のフレーム(Frame15)へのジャンプ、1曲目のFrame12へのジャンプが順次行われる。
【0073】
本実施の形態のミュージックプレイヤは、実施の形態のミュージックプレイヤ200と同様の効果を得ることができる。また、早送りの目的フレームが次曲にあり、早戻しの目的フレームが前曲にあるなど、ジャンプ先のフレームが、再生曲と異なる曲に含まれる場合にも、早送り/早戻し処理を高速に実行できる。
【0074】
<第3の実施の形態>
本発明の第3の実施の形態は、第2の実施の形態のミュージックプレイヤをベースとした、早送りをより高速に実現できるミュージックプレイヤである。分かりやすいように、本第3の実施の形態について、第2の実施の形態のミュージックプレイヤと異なる点についてのみ説明し、各構成要素については、第2の実施の形態ミュージックプレイヤの相対応する要素と同一の名称を用いる。
【0075】
本実施の形態において、フレーム位置情報管理部は、音楽ファイルの再生開始前に、フレーム位置情報を取得可能な状態になればフレーム位置情報テーブルの構築を開始する。例えば、ミュージックプレイヤの起動や、音楽ファイルを記録した記録媒体がミュージックプレイヤに挿入されたことなどをトリガに、再生命令がなされる前からフレーム位置情報テーブルの構築を開始する。なお、記録媒体に複数の音楽ファイルがある場合には、記録媒体の最も先頭に記録された音楽ファイルなど、最も先に再生される可能性の高い音楽ファイルに対してフレーム位置情報テーブルの構築を開始する。また、音楽ファイルのフレーム位置情報テーブルの構築の完成前に該音楽ファイルの再生が開始された場合には、フレーム位置情報管理部は、該音楽ファイルの再生中にもフレーム位置情報テーブルの構築を継続する。
【0076】
すなわち、第2の実施の形態のミュージックプレイヤは、音楽ファイルの再生開始時にフレーム位置情報テーブルの構築を開始するのに対して、本第3の実施の形態のミュージックプレイヤは、該音楽ファイルの再生開始前からそのフレーム位置情報テーブルの構築を開始する。こうすることにより、音楽ファイルの再生開始時に、フレーム位置情報テーブルに少なくとも一部のフレームの位置情報が既に登録されているので、音楽ファイルの開始後の早い時期に早送り命令がなされても、フレーム位置情報テーブルを利用したジャンプのできる可能性が高まる。
【0077】
なお、第3の実施の形態のミュージックプレイヤは、第2の実施の形態のミュージックプレイヤに対して、音楽ファイルの開始前からフレーム位置情報テーブルの構築を開始するようにしたものである。勿論、第1の実施の形態のミュージックプレイヤに対して、音楽ファイルの開始前からフレーム位置情報テーブルの構築を開始するようにしてもよい。こうすることにおり、ミュージックプレイヤ200の各効果に加え、音楽ファイルの開始後の早い時期に早送り命令がなされても、フレーム位置情報テーブルを利用したジャンプを行うことができる可能性が高まる。
【0078】
以上、実施の形態をもとに本発明を説明した。実施の形態は例示であり、本発明の主旨から逸脱しない限り、上述した各実施の形態に対してさまざまな変更、増減、組合せを行ってもよい。これらの変更、増減、組合せが行われた変形例も本発明の範囲にあることは当業者に理解されるところである。
【符号の説明】
【0079】
101 信号再生部 1011 命令取得手段
1012 読み込み開始アドレス決定手段 1013 再生フレームバッファ確認手段
1014 再生フレームバッファリング手段
1015 フレームビット情報細分化手段
1016 PCM変換手段 1017 フレーム位置情報取得手段
102 位置情報取得部 1021 位置情報取得フレームバッファリング手段
1022 フレームビット情報細分化手段 1023 フレーム位置情報取得手段
103 フレーム位置情報テーブル 200 ミュージックプレイヤ
210 再生実行部 220 フレーム位置情報テーブル
230 フレーム位置情報管理部

【特許請求の範囲】
【請求項1】
フレーム長をヘッダ情報として持つ圧縮オーディオデータを記録したオーディオファイルの再生装置において、
フレームの先頭アドレスを示す位置情報を記憶するフレーム位置情報テーブルと、
前記ヘッダ情報を参照して前記フレーム位置情報テーブルを構築するテーブル構築処理であって、所定の再生時間間隔に基づいて、前記オーディオファイルの再生中のフレーム以降のフレームの中から、位置情報を前記フレーム位置情報テーブルに格納すべきフレームを決定し、決定されたフレームの位置情報を取得して前記フレーム情報テーブルに格納する前記テーブル構築処理を行うフレーム位置情報管理部と、
前記オーディオファイルの再生中に、位置情報が前記フレーム位置情報テーブルに登録されていない目的フレームへの早送り/早戻し命令があった際に、前記フレーム位置情報テーブルに格納された位置情報を参照して前記目的フレームの近接フレームにジャンプし、その後、前記近接フレームの次のフレームから前記目的フレームの前のフレームまでの各フレームのヘッダ情報を参照して前記目的フレームにジャンプする再生実行部とを備えることを特徴とする再生装置。
【請求項2】
前記フレーム位置情報管理部は、
前記オーディオファイルの再生開始前に前記オーディオファイルの前記フレーム位置情報テーブルの構築を開始し、
前記オーディオファイルの再生開始時に前記構築が完了していないときに、前記構築を継続することを特徴とする請求項1に記載の再生装置。
【請求項3】
前記フレーム位置情報管理部は、前記フレーム位置情報テーブルのサイズが、前記オーディオファイルに含まれる全てのフレームのうち、位置情報を格納すべきフレームの位置情報を格納できる容量に満たないときに、前記所定の時間間隔を長くして前記フレーム位置情報テーブルの構築を行うことを特徴とする請求項1または2に記載の再生装置。
【請求項4】
再生中のオーディオファイルの直後のオーディオファイルに対応するフレーム位置情報テーブルをさらに有し、
前記フレーム位置情報管理部は、さらに、オーディオファイルの再生中に該オーディオファイルの直後のオーディオファイルのフレーム位置情報テーブルの構築を開始することを特徴とする請求項1から3のいずれか1項に記載の再生装置。
【請求項5】
再生中のオーディオファイルの直前のオーディオファイルに対応するフレーム位置情報テーブルをさらに有し、
前記フレーム位置情報管理部は、さらに、オーディオファイルの再生終了後に、該オーディオファイルのフレーム位置情報テーブルを、次のオーディオファイルの直前のオーディオファイルのフレーム位置情報テーブルとして保持することを特徴とする請求項1から4のいずれか1項に記載の再生装置。
【請求項6】
再生中のオーディオファイルの直前のオーディオファイルに対応するフレーム位置情報テーブルをさらに有し、
前記フレーム位置情報管理部は、再生の進行または早送り/早戻しにより、再生されるオーディオファイルが切り替わったときに、
現在の再生中のオーディオファイルと、現在の再生中のオーディオファイルの直前または直後のオーディオファイルのいずれかに対応する構築完了または構築中のフレーム位置情報テーブルの保持および構築を継続し、
現在の再生中のオーディオファイル、現在の再生中のオーディオファイルの直前または直後のオーディオファイルのいずれにも対応しなくなったフレーム位置情報テーブルを削除し、
現在の再生中のオーディオファイル、現在の再生中のオーディオファイルの直前または直後のオーディオファイルに夫々対応する3つのフレーム位置情報テーブルのうちの、構築されていないフレーム位置情報テーブルの構築を開始することを特徴とする請求項4に記載の再生装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate


【公開番号】特開2010−160862(P2010−160862A)
【公開日】平成22年7月22日(2010.7.22)
【国際特許分類】
【出願番号】特願2009−3506(P2009−3506)
【出願日】平成21年1月9日(2009.1.9)
【出願人】(302062931)ルネサスエレクトロニクス株式会社 (8,021)
【Fターム(参考)】