(57)【要約】【課題】  オーディオデータ途中からの再生を高速に行う。【解決手段】  フレーム列として構成されるオーディオデータを含むデータ部と、各前記フレームのサイズ情報を含むサイズ部とを有する符号化オーディオファイルにおける前記オーディオデータを先頭フレームから順次復号し再生する符号化ディジタルオーディオ再生装置において、記録媒体から前記符号化オーディオファイルを読み出し、各前記フレームの位置情報を所定のフレーム数おきに算出しテーブルに保持し、前記オーディオデータにおける任意フレームからの再生要求が入力された場合は、前記テーブルを参照して前記任意フレームに対し所定の位置基準を満たすフレームを再生開始フレームとして決定し、決定された前記再生開始フレーム以降のオーディオデータを前記記録媒体から読み出す。【選択図】  図１
2006221714.tif 000002
【特許請求の範囲】
【請求項１】
フレーム列として構成されるオーディオデータを含むデータ部と、各前記フレームのサイズ情報を含むサイズ部とを有する符号化オーディオファイルを読み出し、読み出した前記符号化オーディオファイルにおける前記オーディオデータを先頭フレームから順次復号し再生する符号化ディジタルオーディオ再生装置であって、
記録媒体から前記符号化オーディオファイルを読み出す読み出し制御部と、
前記読み出し制御部から前記各フレームのサイズ情報を受け取り、前記フレーム列における各前記フレームの位置情報を所定のフレーム数おきに算出しテーブルに保持するテーブル生成部と、
前記読み出し制御部から前記オーディオデータを受け取り、前記オーディオデータを先頭フレームから順次復号して復号後オーディオデータを出力する復号部と、
前記復号後オーディオデータを再生する再生部と、を備え、
さらに、
前記オーディオデータにおける任意フレームからの再生要求が入力された場合は、前記テーブルを参照して前記任意フレームに対し所定の位置基準を満たすフレームを再生開始フレームとして決定する再生開始位置算出部を備え、
前記復号部は、前記再生開始フレーム以降のオーディオデータを前記記録媒体から読み出すことを前記読み出し制御部に要求する、
ことを特徴とする符号化ディジタルオーディオ再生装置。
【請求項２】
前記再生開始フレームが前記任意フレームよりも前記オーディデータの先頭側である場合、前記復号部は、前記読み出し制御部から受け取る前記オーディオデータのうち少なくとも前記任意フレーム以降の部分を復号し、
前記再生部は、前記任意フレーム以降の部分に対応する前記復号後オーディオデータを再生する、
ことを特徴とする請求項１に記載の符号化ディジタルオーディオ再生装置。
【請求項３】
フレーム列として構成されるオーディオデータを含むデータ部と、各前記フレームのサイズ情報を含むサイズ部とを有する符号化オーディオファイルを読み出し、読み出した前記符号化オーディオファイルにおける前記オーディオデータを先頭フレームから順次復号し再生する符号化ディジタルオーディオ再生装置であって、
記録媒体から前記符号化オーディオファイルを読み出す読み出し制御部と、
前記符号化オーディオファイルにおける各前記フレームのサイズ情報と、予め与えられる早送り再生又は巻き戻し再生時の再生量と、予め与えられる早送り再生又は巻き戻し再生時の倍率とに基づいて、前記フレーム列における各前記フレームの位置情報を所定のフレーム数おきに算出しテーブルに保持するテーブル生成部と、
前記読み出し制御部から前記オーディオデータを受け取り、前記オーディオデータを先頭フレームから順次復号して復号後オーディオデータを出力する復号部と、
前記復号後オーディオデータを再生する再生部と、を備え、
さらに、
前記オーディオデータにおける任意フレームからの早送り再生要求又は巻き戻し再生要求が入力された場合は、前記テーブルを参照し前記任意フレームに対し所定の位置基準を満たすフレームを決定する再生開始位置算出部を備え、
前記復号部は、前記テーブルに保持されたフレームの位置情報を前記決定されたフレームの位置情報を起点として早送り方向又は巻き戻し方向に読み出し、読み出した前記位置情報の順に、当該位置情報に示されるフレームから前記再生量分のオーディオデータを読み出すことを前記読み出し制御部に要求する、
ことを特徴とする符号化ディジタルオーディオ再生装置。
【請求項４】
フレーム列として構成されるオーディオデータを含むデータ部と、各前記フレームのサイズ情報を含むサイズ部とを有する符号化オーディオファイルを読み出し、読み出した前記符号化オーディオファイルにおける前記オーディオデータを先頭フレームから順次復号し再生する符号化ディジタルオーディオ再生装置であって、
記録媒体から前記符号化オーディオファイルを読み出す読み出し制御部と、
前記読み出し制御部から前記各フレームのサイズ情報を受け取り、平均フレームサイズを計算し、各前記フレームのサイズと前記平均フレームサイズとの差分を各々計算し、各前記フレームについて各々計算した差分をテーブルに保持するテーブル生成部と、
前記読み出し制御部から前記オーディオデータを受け取り、前記オーディオデータを先頭フレームから順次復号して復号後オーディオデータを出力する復号部と、
前記復号後オーディオデータを再生する再生部と、を備え、
さらに、
前記オーディオデータにおける任意フレームからの再生要求が入力された場合は、前記オーディオデータの先頭フレームから前記任意フレームの直前のフレームまでの各フレームについての前記差分を前記テーブルから読み出し読み出した前記差分を合計し、また、前記平均フレームサイズと前記差分を読み出したフレーム数とを乗算し、前記差分の合計と前記乗算の結果とを加算することにより再生を開始する再生開始フレームを決定する再生開始位置算出部を備え、
前記復号部は、前記再生開始フレーム以降の前記オーディオデータを前記記録媒体から読み出すことを前記読み出し制御部に要求する、
ことを特徴とする符号化ディジタルオーディオ再生装置。
【請求項５】
前記テーブル生成部は、各前記フレームについて各々計算した差分をハフマン符号化し、ハフマン符号化された各前記差分をテーブルに保持し、
前記再生開始位置算出部は、前記任意フレームからの再生要求が入力された場合は、前記オーディオデータの先頭フレームから前記任意フレームの直前のフレームまでの各フレームについての前記ハフマン符号化された差分を前記テーブルから読み出し読み出した各前記ハフマン符号化された差分をそれぞれハフマン復号する、
ことを特徴とする請求項４に記載の符号化ディジタルオーディオ再生装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば符号化オーディオファイル途中からの再生や早送り及び巻き戻し再生を行う符号化ディジタルオーディオ再生装置に関する。
【背景技術】
【０００２】
符号化オーディオファイルのフォーマットの１つであるMP4ファイルでは、符号化オーディオデータを構成する１つ１つのフレームのフレームサイズ情報が符号化オーディオデータそのものとは別の場所（ヘッダ部におけるサンプルサイズボックス）に格納される。
【０００３】
このような符号化オーディオファイルにおいて、符号化オーディオデータの読み出し中に記録メディアの傷等により読み出しエラーなどが発生した場合、符号化オーディオデータ途中からの再生が行われる。具体的には、例えば、エラーなどによる再生の都度、記録メディアからフレームサイズ情報を読み込んで、再生を開始するフレーム位置を算出し、その位置から符号化オーディオデータを読み込むことで、再生を行う。
【０００４】
しかし、読み出し速度が低速な記録メディア（例えばCD）に符号化オーディオファイルが記録されている場合、符号化オーディオデータ途中からの再生の都度、フレームサイズ情報を読み出すことは処理効率の観点から好ましくない。
【０００５】
そこで、通常は、初回再生時に、フレームサイズ情報に基づいて各フレームのフレーム位置情報を格納したフレーム位置情報テーブルを生成し記憶することで、符号化オーディオデータ途中からの再生を高速に実現する。
【０００６】
しかし、符号化オーディオデータにおけるフレーム数は、サンプルレート及び曲長に比例するため、サンプルレートが高く且つ長時間の曲では総フレーム数が多くなる。それ故、各フレームのフレームサイズ情報を保持するには、大きなメモリ領域を確保しなければならなくなる。
【特許文献１】特開２００３−２８９４９５公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本発明は、符号化オーディオデータ途中からの再生を高速に行うことのできる符号化ディジタルオーディオ再生装置を提供する。
【課題を解決するための手段】
【０００８】
本発明の一態様としての符号化ディジタルオーディオ再生装置は、フレーム列として構成されるオーディオデータを含むデータ部と、各前記フレームのサイズ情報を含むサイズ部とを有する符号化オーディオファイルを読み出し、読み出した前記符号化オーディオファイルにおける前記オーディオデータを先頭フレームから順次復号し再生する符号化ディジタルオーディオ再生装置であって、記録媒体から前記符号化オーディオファイルを読み出す読み出し制御部と、前記読み出し制御部から前記各フレームのサイズ情報を受け取り、前記フレーム列における各前記フレームの位置情報を所定のフレーム数おきに算出しテーブルに保持するテーブル生成部と、前記読み出し制御部から前記オーディオデータを受け取り、前記オーディオデータを先頭フレームから順次復号して復号後オーディオデータを出力する復号部と、前記復号後オーディオデータを再生する再生部と、を備え、さらに、前記オーディオデータにおける任意フレームからの再生要求が入力された場合は、前記テーブルを参照して前記任意フレームに対し所定の位置基準を満たすフレームを再生開始フレームとして決定する再生開始位置算出部を備え、前記復号部は、決定された前記再生開始フレーム以降のオーディオデータを前記記録媒体から読み出すことを前記読み出し制御部に要求することを特徴とする。
【０００９】
本発明の一態様としての符号化ディジタルオーディオ再生装置は、フレーム列として構成されるオーディオデータを含むデータ部と、各前記フレームのサイズ情報を含むサイズ部とを有する符号化オーディオファイルを読み出し、読み出した前記符号化オーディオファイルにおける前記オーディオデータを先頭フレームから順次復号し再生する符号化ディジタルオーディオ再生装置であって、記録媒体から前記符号化オーディオファイルを読み出す読み出し制御部と、前記符号化オーディオファイルにおける各前記フレームのサイズ情報と、予め与えられる早送り再生又は巻き戻し再生時の再生量と、予め与えられる早送り再生又は巻き戻し再生時の倍率とに基づいて、前記フレーム列における各前記フレームの位置情報を所定のフレーム数おきに算出しテーブルに保持するテーブル生成部と、前記読み出し制御部から前記オーディオデータを受け取り、前記オーディオデータを先頭フレームから順次復号して復号後オーディオデータを出力する復号部と、前記復号後オーディオデータを再生する再生部と、を備え、さらに、前記オーディオデータにおける任意フレームからの早送り再生要求又は巻き戻し再生要求が入力された場合は、前記テーブルを参照し前記任意フレームに対し所定の位置基準を満たすフレームを決定する再生開始位置算出部を備え、前記復号部は、前記テーブルに保持されたフレームの位置情報を前記決定されたフレームの位置情報を起点として早送り方向又は巻き戻し方向に読み出し、読み出した前記位置情報の順に、当該位置情報に示されるフレームから前記再生量分のオーディオデータを読み出すことを前記読み出し制御部に要求することを特徴とする。
【００１０】
本発明の一態様としての符号化ディジタルオーディオ再生装置は、フレーム列として構成されるオーディオデータを含むデータ部と、各前記フレームのサイズ情報を含むサイズ部とを有する符号化オーディオファイルを読み出し、読み出した前記符号化オーディオファイルにおける前記オーディオデータを先頭フレームから順次復号し再生する符号化ディジタルオーディオ再生装置であって、記録媒体から前記符号化オーディオファイルを読み出す読み出し制御部と、前記読み出し制御部から前記各フレームのサイズ情報を受け取り、平均フレームサイズを計算し、各前記フレームと前記平均フレームサイズとの差分を各々計算し、各前記フレームについて各々計算した差分をテーブルに保持するテーブル生成部と、前記読み出し制御部から前記オーディオデータを受け取り、前記オーディオデータを先頭フレームから順次復号して復号後オーディオデータを出力する復号部と、前記復号後オーディオデータを再生する復号部と、を備え、さらに、前記オーディオデータにおける任意フレームからの再生要求が入力された場合は、前記オーディオデータの先頭フレームから前記任意フレームの手前のフレームまでの各フレームについての前記差分を前記テーブルから読み出し読み出した前記差分を合計し、また、前記平均フレームサイズと前記差分を読み出したフレーム数とを乗算し、前記差分の合計と前記乗算の結果とを加算することにより再生を開始する再生開始フレームを決定する再生開始位置算出部を備え、前記復号部は、前記再生開始フレーム以降の前記オーディオデータを前記記録媒体から読み出すことを前記読み出し制御部に要求することを特徴とする。
【発明の効果】
【００１１】
本発明により、符号化オーディオデータ途中からの再生を高速に行うことができる。
【発明を実施するための最良の形態】
【００１２】
（第１の実施の形態）
図１は、本発明の第１の実施の形態に従った符号化ディジタルオーディオ再生装置の構成を概略的に示すブロック図である。
【００１３】
この符号化ディジタルオーディオ再生装置は、記録メディア１１、読み出し制御部１２、符号化オーディオファイル解析部１３、フレーム位置情報生成部１４、符号化オーディオ復号部１５、メモリ装置１６、再生開始位置算出部１７及び再生部１８を備える。これらのうち、読み出し制御部１２、符号化オーディオファイル解析部１３、フレーム位置情報生成部１４、符号化オーディオ復号部１５、再生開始位置算出部１７及び再生部１８の全部またはこれらの一部による機能は通常のプログラミング技法に従って生成したプログラムをＣＰＵ等のコンピュータに実行させることによって実現されても良いし、ハードウェア的に実現されてもよい。
【００１４】
記録メディア１１は符号化オーディオファイルを記憶している。
【００１５】
図２は、符号化オーディオファイルの一例としての、MPEG4  AACによるMP4ファイルのフォーマットを概略的に示す図である。
【００１６】
この符号化オーディオファイルにおいては、符号化オーディオデータを構成する１つ１つのフレームのフレームサイズ情報が符号化オーディオデータそのものとは別の場所（ヘッダ部におけるサンプルサイズボックス）に格納されている。符号化オーディオデータを構成する各フレーム（フレーム列）はメディアデータボックス（データ部）に格納されている。各フレームに対応する再生時間はそれぞれ同一である。
【００１７】
読み出し制御部１２は、記録メディア１１から符号化オーディオファイルを読み出して、符号化オーディオファイル解析部１３に渡す。
【００１８】
符号化オーディオファイル解析部１３は、受け取った符号化オーディオファイルを解析して、符号化オーディオファイルから、各フレームのフレームサイズ情報と、符号化オーディオデータとをそれぞれ抽出する。符号化オーディオファイル解析部１３の出力側にはスイッチＳＷが接続され、スイッチＳＷは、フレーム位置情報生成部１４と符号化オーディオ復号部１５との間を切替可能である。スイッチＳＷと符号化オーディオ復号部１５との間にバッファが設けられてもよい。
【００１９】
フレーム位置情報生成部１４は、各フレームのフレームサイズ情報から、所定のフレーム数おきにフレームの位置情報（例えば記録メディア１１におけるアドレス）を格納したフレーム位置情報テーブルを生成する。フレーム位置情報生成部１４は、テーブル生成部の１つの形態である。各フレームの位置情報の各々に対してフレームの識別子をテーブルに保持させても良い。生成されたフレーム位置情報テーブルはメモリ装置１６に格納される。
【００２０】
より詳細には、まず、全フレームのフレーム位置情報を格納したテーブル（中間テーブル）を生成し、生成した中間テーブルから所定の間隔ごとにフレーム位置情報を間引くことでフレーム位置情報テーブルを生成する。図３にフレーム位置情報テーブルの生成例を示す。全フレームのフレーム位置情報を格納した中間テーブルに対し、先頭のフレームから３つおきにフレーム位置情報抽出することでフレーム位置情報テーブルを生成している。中間テーブルを生成することなく直接にフレーム位置情報テーブルを生成してもよい。
【００２１】
図１において、符号化オーディオ復号部１５は、フレーム位置情報テーブルの生成後又は生成中に、符号化オーディオファイル解析部１３から符号化オーディオデータを先頭フレームから受け取って復号し、ＰＣＭデータ等のディジタルオーディオデータ（復号後オーディオデータ）を出力する。符号化オーディオファイル解析部１３は、符号化オーディ復号部１５からの指示タイミングに応じてフレームを渡す。
【００２２】
再生部１８は、符号化オーディオ復号部１５から出力されたディジタルオーディオデータを用いて再生処理を行う。
【００２３】
再生開始位置算出部１７は、記録メディア１１からの読み取りエラーやユーザ入力などに起因して、最初又は途中のフレーム（再生開始要求フレーム）からの再生要求が入力される。再生開始位置算出部１７は、再生要求が入力されると、メモリ装置１６内のフレーム位置情報テーブルを参照して、フレーム位置情報テーブル内において上記再生開始要求フレームに最も近いフレームを再生開始フレームとして決定する。この様子を示したのが図４である。図４の例では、上記再生開始要求フレームに対して、時間的に前のフレームが再生開始フレームとして決定されている。
【００２４】
なお、上記再生要求が、再生開始要求フレームに対し時間的に前又は後のフレームを再生開始フレームとすることを要求する場合は、上記再生開始要求フレームよりも時間的に前又は後のフレームを再生開始フレームとして決定してもよい。
【００２５】
再生開始位置算出部１７は、決定した再生開始フレームの位置（アドレス）を示す再生開始位置情報を符号化オーディオ復号部１５に出力する。
【００２６】
符号化オーディオ復号部１５は、入力された再生開始位置情報に示される位置（フレーム）から符号化オーディオデータを読み出すことを読み出し制御部１２に要求する。
【００２７】
読み出し制御部１２は、要求された再生開始フレームから符号化オーディオデータを記録メディア１１から読み出して、符号化オーディオファイル解析部１３を介して、あるいは直接に、符号化オーディオ復号部１５に渡す。
【００２８】
符号化オーディオ復号部１５は、受け取った符号化オーディオデータ、即ち、上記再生開始要求フレームまたはその近傍フレームからの符号化オーディオデータの復号を開始し、ディジタルオーディオデータを出力する。
【００２９】
以上のように、本実施の形態によれば、小容量のメモリ装置、即ち、小容量のフレーム位置情報テーブルによって、ほぼ任意の位置（フレーム）からの符号化オーディオデータの再生が可能となる。
【００３０】
即ち、従来においては、図５に示すように、フレーム位置情報テーブルに、全フレームの位置情報を格納していたため、特に曲長が長い場合など、フレーム位置情報テーブルが大きくなる問題があった。
【００３１】
これに対し、本実施の形態によれば、所定のフレーム数おきにフレームの位置情報を保持し、再生の際は、再生開始要求フレームに最も近いフレームから再生を開始するため、必要なデータ量を小さくできる。
【００３２】
以上の説明では、図３にも示したように、全フレームのフレーム位置情報から所定のフレーム数おきにフレーム位置情報を抽出することでフレーム位置情報テーブルを生成した。しかし、このようにフレーム位置情報を均等に間引いてフレーム位置情報テーブルを作成すると、符号化オーディオデータ中のフレーム数が多い場合（長い曲の場合）には、フレーム位置情報テーブルに格納されるフレーム位置情報の間隔が大きくなり過ぎる問題が生じる。
【００３３】
具体的な例として、まず、サンプルレートが44.1kHzで曲長が３分間の符号化オーディオデータに対してフレーム位置情報テーブルを生成する場合を考える。
【００３４】
フレーム位置情報テーブルの生成用に1024バイトのメモリ領域が割り当てられているとする。また、フレーム位置情報テーブルは１フレームあたり４バイトのデータ幅によりフレーム位置情報を格納するとする。この場合、メモリ領域には、1024/4=256個のテーブルデータ（フレーム位置情報）を保持可能である。
【００３５】
以上において、上記符号化オーディオデータの１フレームから復号されるPCMデータサンプル数を1024点とすれば、テーブル項目の間隔は、3×60×44100/1024/256≒9フレームになる。この間隔は実時間に直すと0.2秒程度である。
【００３６】
次に、同じサンプルレートで60分間の曲長を持つ符号化オーディオデータに対してフレーム位置情報テーブルを生成する場合を考える。この場合、60×60×44100/1024/256≒604フレーム毎にしかフレーム位置情報を持てない。これは、実時間に直すと、14秒に相当する。それ故、早送り再生・巻き戻し再生を行った場合、少なくとも14秒の間隔でしか再生を行うことができず、跳び幅が大きくなりすぎる。
【００３７】
以上の点に鑑み、本実施の形態では、オーディオデータサイズ、総フレーム数及び各フレームのフレームサイズ情報だけでなく、無音区間の長さ、楽曲の切れ目及びサビの開始位置等のオーディオデータに関する補足情報（曲情報）を用いることで、有効なフレーム位置情報テーブルを生成する。
【００３８】
オーディオデータに関する補足情報は、符号化側で準備する、もしくは、復号部側で１度曲を復号して無音区間の情報、音の立ち上がりの部分等を曲情報として取得する。フレーム位置情報生成部１４（図１参照）は、この曲情報を用いて、楽曲の切れ目や無音部近辺では、フレーム位置情報の間隔を広げ、サビの部分ではフレーム位置情報の間隔を狭めるなどする。図６に示す例では、無音又は無音に近い部分ではフレーム位置情報の間隔が広く、サビ開始付近ではフレーム位置情報の間隔が狭められ、サビ中盤部分ではこれらの間に設定されている。フレーム位置情報の間隔は、曲情報の内容（無音区間か否か、サビ開始部分か否か、サビ中盤部分か否か等）に応じて予め決定されていてもよいし、無音区間の長さ、サビ開始部分の長さ、サビ中盤部分の長さなどに応じて動的に決定してもよい。なお、保持可能なフレーム位置情報の数は予め決まっている。
【００３９】
以上のように、オーディオデータに関する補足情報をフレーム位置情報テーブルの生成に反映させることで、無音部分をスキップすることや、サビの付近における細かい間隔での早送り・巻き戻し再生も可能となる。
【００４０】
以上の説明では曲情報に基づいてフレーム位置情報の間隔を決定したが、ユーザ指定に基づいてフレーム位置情報の間隔を決定してもよい。
【００４１】
より詳細には、まず、フレーム位置情報を均等に間引いたフレーム位置情報テーブルを生成し、符号化オーディオデータの復号及び再生を開始する。再生時において、図７に示すように、ユーザから重点的に再生したい位置（フレーム）が指定された場合、フレーム位置情報生成部１４は、指定された位置を記憶しておく。フレーム位置情報生成部１４は、次回における符号化オーディオデータの再生時に、復号開始前に、指定された位置付近（例えば指定されたフレームに対して所定の範囲にあるフレーム群）のフレーム位置情報を細かい間隔にしたフレーム位置情報テーブルを生成し、このテーブルによって前回のフレーム位置情報テーブルを更新する。これによりユーザの要求を満たすようにしてフレーム位置情報の間隔を調整できる。
【００４２】
さらに、以下のようにして、フレーム位置情報の間隔を調整することもできる。
【００４３】
まず、フレーム位置情報を均等に間引いたフレーム位置情報テーブルを生成した後、ユーザ入力等に基づいて、例えば先頭フレームから符号化オーディオデータの早送り再生を開始する。早送り再生の途中で、ユーザ入力等によって、図８に示すように、早送り再生が解除されたら、フレーム位置情報生成部１４は、通常再生が開始された位置（フレーム）を記憶する。フレーム位置情報生成部１４は、次回における符号化オーディオデータの再生時に、復号開始前に、上記通常再生が開始された位置付近（例えば通常再生が開始されたフレームに対して所定の範囲にあるフレーム群）のフレーム位置情報を細かい間隔にしたフレーム位置情報テーブルを生成し、このテーブルによって前回のフレーム位置情報テーブルを更新する。これによってもユーザの要求を満たすようにしてフレーム位置情報の間隔を調整できる。
【００４４】
以上の説明では、再生要求が入力された場合、再生開始フレームから復号及び再生を開始したが、これに代えて、以下のようにしても良い。
【００４５】
即ち、まず、再生開始位置算出部１７は、再生要求が入力された場合、フレーム位置情報テーブルにおいて、再生開始要求フレームに対し直前のフレームを再生開始フレームとして決定する。符号化オーディオ復号部１５は、決定された再生開始フレームから上記再生開始要求フレームの手前までの符号化オーディオデータ（フレーム）を空読みし、再生要求開始フレームから復号を開始する。再生部１８は、再生開始要求フレーム以降のオーディオデータを再生する。この様子を示したのが図９である。これにより、再生開始要求フレームからの確実な再生が可能となる。なお、ここでは、符号化オーディオ復号部１５は、再生開始フレームから再生開始要求フレームの手前までのフレームを空読みするとしたが、これらのフレームを復号してもよい。この場合、再生部１８は、符号化オーディオ復号部１５によって復号されたデータのうち、再生開始要求フレーム以降の部分のみを再生する。
【００４６】
また、以上の説明では、フレーム位置情報テーブルに基づき、最初又は途中のフレームから通常再生を行う場合を示したが、早送り再生又は巻き戻し再生を行う場合は以下のようにする。
【００４７】
再生開始位置算出部１７は、早送り再生又は巻き戻し再生の要求が入力された場合は、当該要求に含まれる早送り又は巻き戻しの開始要求位置と、フレーム位置情報テーブルとに基づき、早送り再生又は巻き戻し再生時におけるとびとびの再生開始位置を算出する。具体的には、予め与えられる倍率及び再生量を用いて跳び幅を決定し、再生量及び跳び幅に基づいて、とびとびの再生開始位置を算出する（後述する図１５参照）。符号化オーディオ復号部１５は、算出された各再生開始位置からの復号を、先頭側から、上記倍率に従って順次行う。つまり、再生部１８は、各再生開始位置からの再生を、上記倍率に従って、行う。以上の様子を図１０に示す。
【００４８】
ここでは、フレーム位置情報テーブルから算出された各再生開始位置から早送り再生又は巻き戻し再生を行ったが、上記開始要求位置から早送り再生又は巻き戻し再生を開始することもできる。以下これについて早送り再生の場合の例にして説明する。
【００４９】
まずは、上述と同様にして、再生開始位置算出部１７は、フレーム位置情報テーブルを参照して、とびとびの再生開始位置を算出する。符号化オーディオ復号部１５は、各再生開始位置のうち、一番先頭の再生開始位置（開始要求位置よりも手前にあるとする）から開始要求位置より前まで（空読み量）を空読みし開始要求位置から上記再生量に従って復号を開始する。以降、各再生開始位置から空読み量（上記空読み量と同一であってもなくてもよい）分のデータを空読みし再生量分のデータを復号することを繰り返す。以上の様子を図１１に示す。
【００５０】
（第２の実施の形態）
図１２は、本発明の第２の実施の形態に従った符号化ディジタルオーディオ再生装置の構成を概略的に示すブロック図である。
【００５１】
この再生装置は、一定量の再生を一定の間隔でとびとびに繰り返す早送り・巻き戻し再生を行うものである。早送り再生を行う様子を図１３に示す。巻き戻し再生を行う様子を図１４に示す。
【００５２】
この再生装置は、記録メディア２１、読み出し制御部２２、符号化オーディオファイル解析部２３、早送り・巻き戻し再生用フレーム位置情報生成部２４、符号化オーディオ復号部２５、メモリ装置２６、再生開始位置算出部２７及び再生部２８を備える。これらのうち、読み出し制御部２２、符号化オーディオファイル解析部２３、早送り・巻き戻し再生用フレーム位置情報生成部２４、符号化オーディオ復号部２５、再生開始位置算出部２７及び再生部２８の全部またはこれらの一部による機能は通常のプログラミング技法に従って生成したプログラムをＣＰＵ等のコンピュータに実行させることによって実現しても、ハードウェア的に実現してもよい。
【００５３】
読み出し制御部２２は、記録メディア２１から符号化オーディオファイルを読み出して、符号化オーディオファイル解析部２３に渡す。
【００５４】
符号化オーディオファイル解析部２３は、受け取った符号化オーディオファイルを解析して、符号化オーディオファイルから、各フレームのフレームサイズ情報と、符号化オーディオデータとを抽出する。符号化オーディオファイル解析部２３の出力側にはスイッチＳＷが配置され、スイッチＳＷは、早送り・巻き戻し再生用フレーム位置情報生成部２４と符号化オーディオ復号部２５との間で切替可能に構成されている。
【００５５】
早送り・巻き戻し再生用フレーム位置情報生成部２４は、各フレームのフレームサイズ情報から、早送り・巻き戻し再生用フレーム位置情報テーブルを生成し、メモリ装置２６に格納する。早送り・巻き戻し再生用フレーム位置情報生成部２４は、テーブル生成部の１つの形態である。より詳細には、以下のようにして、早送り・巻き戻し再生用フレーム位置情報テーブルを生成する。
【００５６】
図１５は、早送り・巻き戻し再生の際の再生量及び倍率と、跳び幅との関係を示す図である。
【００５７】
倍率＝（再生量＋跳び幅）／再生量として定義される。早送り・巻き戻し再生用フレーム位置情報生成部２４は、予め与えられる倍率及び再生量とこの式とに基づいて跳び幅を求め、（再生量＋跳び幅）ごとにフレーム（再生開始フレーム）の位置情報を格納した早送り・巻き戻し再生用フレーム位置情報テーブルを生成する。図１６に、３フレームおきに再生開始フレームの位置情報を格納した早送り・巻き戻し再生用フレーム位置情報テーブルを生成する様子を示す。この例では、再生量＝１フレーム、跳び幅＝３フレームとする。
【００５８】
また、早送り・巻き戻し再生用フレーム位置情報テーブルは以下のようにして生成することもできる。即ち、第１の実施の形態によって生成した再生用フレーム位置情報テーブルから早送り・巻き戻しの再生量及び倍率に従ってフレーム位置情報を間引くことによって、早送り・巻き戻し再生用フレーム位置情報テーブルを生成する。この様子を図１９に示す。
【００５９】
早送り・巻き戻し再生用フレーム位置情報生成部２４は、再生量及び倍率のいずれかが変更された場合は、変更後の再生量及び倍率に基づいて再度、早送り・巻き戻し再生用フレーム位置情報テーブルを生成する。これにより、任意の再生量及び跳び幅での早送り・巻き戻し再生を可能とする。
【００６０】
符号化オーディオ復号部２５は、早送り・巻き戻し再生用フレーム位置情報テーブルの生成後又は生成中に、符号化オーディオファイル解析部２３から符号化オーディオデータを先頭フレームから受け取って復号し、ＰＣＭデータ等のディジタルオーディオデータ（復号後オーディオデータ）を出力する。符号化オーディオファイル解析部２３は、符号化オーディ復号部２５からの指示タイミングに応じてフレームを渡す。
【００６１】
再生部１８は、符号化オーディオ復号部２５から出力されたディジタルオーディオデータを用いて再生処理を行う。
【００６２】
再生開始位置算出部２７は、ユーザ入力等に基づいて、最初又は途中のフレーム（再生開始要求フレーム）からの早送り・巻き戻し再生要求が入力された場合は、早送り・巻き戻し再生用フレーム位置情報テーブルを参照して、最初に読み出すべきフレームを再生開始フレームとして決定し、再生開始フレームの位置情報（再生開始位置情報）を符号化オーディオ復号部２５に送る。
【００６３】
より詳細には、再生開始位置算出部２７は、符号化オーディオデータの先頭からの早送り再生もしくは符号化オーディオデータ末尾からの巻き戻し再生が要求された場合は、早送り・巻き戻し再生用フレーム位置情報テーブルの先頭又は末尾に格納されたフレームの位置情報を再生開始位置情報として決定する。
【００６４】
一方、再生開始位置算出部２７は、符号化オーディオデータの途中からの早送り再生要求が入力された場合は、早送り・巻き戻し再生用フレーム位置情報テーブルにおいて、上記再生開始要求フレームの直後のフレームの位置情報を再生開始位置情報として決定する。この様子を図１７に示す。また、符号化オーディオデータの途中からの巻き戻し再生では、早送り・巻き戻し再生用フレーム位置情報テーブルにおいて、上記再生開始要求フレームの直前のフレームのさらに１つ前のフレームの位置情報を再生開始位置情報として決定する。この様子を図１８に示す。
【００６５】
符号化オーディオ復号部２５は、再生開始位置情報に示されるフレームから上記再生量分の符号化オーディオデータを読み出すことを読み出し制御部２２に要求する。読み出し制御部２２は、上記再生量分の符号化オーディオデータを記録メディア２１から読み出して、符号化オーディオファイル解析部２３を介して、又は直接に、符号化オーディオ復号部２５に渡す。符号化オーディオ復号部２５は、受け取った符号化オーディオデータを復号し、ディジタルオーディオデータを再生部２８に出力する。この後、再生開始位置算出部２７は、符号化オーディオ復号部２５からの指示に応じて、早送り・巻き戻し再生用フレーム位置情報テーブルに格納された次（早送りの場合は前又は巻き戻しの場合は後）のフレームの位置情報を符号化オーディオ復号部２５に通知する。符号化オーディオ復号部２５は、通知を受けた位置情報に示されるフレームから上記再生量分の符号化オーディオデータを読み出すことを読み出し制御部２２に要求する。以降、これを繰り返すことで、上記早送り・巻き戻し再生用フレーム位置情報テーブルに基づいた早送り・巻き戻し再生が行われる（図１３参照）。
【００６６】
なお、早送り又は巻き戻し再生中に、通常再生要求が入力された場合は、早送り又は巻き戻し再生を停止し、符号化オーディオ復号部２５は、早送り又は巻き戻し再生の停止した位置からの符号化オーディオデータの読み出しを読み出し制御部２２に要求する。
【００６７】
（第３の実施の形態）
図２０は、本発明の第３の実施の形態に従った符号化ディジタルオーディオ再生装置の構成を概略的に示すブロック図である。
【００６８】
この再生装置は、記録メディア３１、読み出し制御部３２、符号化オーディオファイル解析部３３、テーブル生成部３４、メモリ装置３５、符号化オーディオ復号部３６、再生開始位置算出部３７及び再生部３８を備える。これらのうち、読み出し制御部３２、符号化オーディオファイル解析部３３、テーブル生成部３４、符号化オーディオ復号部３６、再生開始位置算出部３７及び再生部３８の全部またはこれらの一部による機能は通常のプログラミング技法に従って生成したプログラムをＣＰＵ等のコンピュータに実行させることによって実現されても、ハードウェア的に実現されても良い。
【００６９】
読み出し制御部３２は、記録メディア３１から符号化オーディオファイルを読み出して、符号化オーディオファイル解析部３３に渡す。
【００７０】
符号化オーディオファイル解析部３３は、読み出し制御部３２から受け取った符号化オーディオファイルを解析して、符号化オーディオファイルから、オーディオデータサイズ、総フレーム数及び各フレームのフレームサイズ情報と、符号化オーディオデータとを抽出する。
【００７１】
テーブル生成部３４は、オーディオデータサイズ、総フレーム数及び各フレームのフレームサイズ情報を元に、各フレームのフレームサイズ情報をそれぞれ後述のようにして圧縮する。テーブル生成部３４は、圧縮された各フレームのフレームサイズ情報を格納したフレームサイズ・オフセットテーブルを生成して、メモリ装置３５に格納する。
【００７２】
図２１及び図２２は、テーブル生成部３４によるフレームサイズ情報の圧縮処理を説明する図である。
【００７３】
図２１に示すように、テーブル生成部３４は、まず、符号化オーディオファイル解析部３３から受け取った総フレーム数とオーディオデータサイズとを元に平均フレームサイズを求める。次いで、図２２に示すように、各々のフレームサイズと平均フレームサイズとの差分を計算する。そして、テーブル生成部３４は、各フレームについて計算した差分をフレームサイズ・オフセットテーブルに格納する。このように、各フレームと平均フレームサイズとの差分を保持することで、各フレームのフレームサイズをそのまま保持するよりも、メモリ装置３５に格納するデータ量を低減できる。
【００７４】
例えば、オーディオデータサイズが59652バイト、総フレーム数が323フレーム、チャネル数が2chのAACストリームがあるとする。このストリームの平均フレームサイズを求めると、59652/323=184（バイト／フレーム）となる。一方、上記AACストリームにおける最大フレームサイズは、6144×2（ch）/8（bit）=1536（バイト）で与えられ、また、最小フレームサイズは0で与えられる。以上から、各フレームサイズと平均フレームサイズとの差分の範囲は-184〜1352で与えられる。各フレームのフレームサイズが平均フレームサイズ付近に集中する場合など、各フレームのフレームサイズをそのまま記憶するよりも、差分値を記憶することで、メモリ装置３５に格納するデータ量を大きく削減できる。さらに、各フレームのフレームサイズのばらつきは通常さほど大きくなく、平均フレームサイズ付近に偏りがあるため、差分値をハフマン符号化することで、データ量をさらに削減できる。
【００７５】
図２０において、符号化オーディオ復号部３６は、フレームサイズ・オフセットテーブルの生成後又は生成中に、符号化オーディオファイル解析部３３から符号化オーディオデータを先頭フレームから受け取って復号し、ＰＣＭデータ等のディジタルオーディオデータ（復号後オーディオデータ）を出力する。符号化オーディオファイル解析部３３は、符号化オーディ復号部３５からの指示タイミングに応じてフレームを渡す。
【００７６】
再生部３８は、符号化オーディオ復号部３６から出力されたディジタルオーディオデータを用いて再生処理を行う。
【００７７】
再生開始位置算出部３７は、オーディオデータ途中の任意のフレーム（再生開始要求フレーム）からの再生要求、例えばｋ番目のフレームからの再生要求が入力された場合は、フレームサイズ・オフセットテーブルにおいてｋ−１番目のフレームまでのテーブル値を読み込み（ハフマン符号化されている場合はハフマン符号の復号も行う）、読み出したデータを順次加算し、加算結果と、平均フレームサイズ×（ｋ−１）との和を計算する。これにより、再生開始位置算出部３７は、ｋ番目のフレームの符号化オーディオデータの先頭からの位置（オフセット値）を算出し、算出したオフセット値（例えばバイト単位）を示す再生開始位置情報を符号化オーディオ復号部３６に渡す。上記オフセット値に符号化オーディオファイルのヘッダサイズを加算したものを再生開始位置情報として符号化オーディオ復号部３６に渡してもよい。
【００７８】
符号化オーディオ復号部３６は、再生開始位置情報に示される位置からの符号化オーディオデータの読み出し要求を読み出し制御部３２に対して行う。
【００７９】
読み出し制御部３２は、要求された位置からの符号化オーディオデータを記録メディア３１から読み出して、符号化オーディオ復号部３６に送る。符号化オーディオ復号部３６は、符号化オーディオデータを復号し、オーディオデータを再生部３８に出力する。再生部３８は、オーディオデータを用いて再生処理を行う。
【００８０】
一方、早送り・巻き戻し再生要求が入力された場合は、再生開始位置算出部３７が、フレームサイズ・オフセットテーブルを参照してとびとびの再生開始位置を算出して符号化オーディオ復号部３６に渡す。符号化オーディオ復号部３６は、先頭側の再生開始位置から順番に、再生開始位置から所定の再生量分の符号化オーディオデータを読み出すことを読み出し制御部３２に要求する。読み出し制御部３２は記録メディア３１から符号化オーディオデータを読み出して符号化オーディオ復号部３６に渡す。符号化オーディオ復号部３６は、読み出し制御部３２から受け取った符号化オーディオデータを復号し、ディジタルオーディオデータを出力する。これにより、一定もしくは任意のフレーム幅（再生量＋跳び幅）によるとびとびの位置からの再生を行う。
【００８１】
以上に説明した内容（第１の例とする）では、再生要求、早送り再生又は巻き戻し再生要求が入力される都度、差分値の加算を行ったため計算量が多くなる欠点があるが、以下では、さらに計算量を削減できる例（第２の例とする）を説明する。
【００８２】
図２３は、複数のフレームWx(x=1,2,3,・・・)から構成される符号化オーディオデータを示す。
【００８３】
テーブル生成部は、各フレームのサイズWx(x=1,2,3,・・・)を順次加算することによって、各フレームについて各々オフセット値Ox（x=1,2,3,・・・）を算出する。そして、オフセット値の各々と、平均フレームサイズ×フレーム数Ｎ（N=1,2,3・・・）との差分を計算し、計算した差分の各々を、各フレームと対応付けて、テーブルに保存する。この様子を図２４に示す。第１の例と同様に、差分値をハフマン符号化しても良い。
【００８４】
符号化オーディオデータの途中から再生、早送り再生又は巻き戻し再生を行う場合は、着目するフレームに対応する差分を上記テーブルから検出し、検出した差分＋｛平均フレームサイズ×フレーム数（先頭フレームから再生開始フレームまでのフレーム数）｝によってオフセット値を算出する。従って、本第２の例は、第１の例に比べて計算量を低減でき、早送り・巻き戻しの場合のように符号化オーディオデータ途中からの再生を繰り返し行う場合は特に有効である。
【００８５】
以上に説明した第１及び第２の例では、符号化オーディオデータを構成する全フレームの各々について各例における差分値を保持したが、全フレームの各々について差分値を記録する必要がない場合は、フレーム数Ｎごとに差分値を算出及び保持してもよい。以下これについて詳細に説明する。
【００８６】
図２５は、フレーム数N=6ごとに差分値を求める例（第３の例及び第４の例）を説明する図である。
【００８７】
まず、フレーム数N=6ごとに、６フレーム分のデータサイズの合計Wx(x=1,2,3・・・)を計算する。また、全フレームの平均フレームサイズも求める。
【００８８】
この後、計算したデータサイズの合計Wx(x=1,2,3・・・)の各々と、平均フレームサイズ×６との差分を求め、これを保持する（第３の例）。第１及び第２の例と同様に、差分値をハフマン符号化しても良い。
【００８９】
または、フレーム数N=6ごとに、符号化オーディオデータの先頭からのオフセット値Ox(x=1,2,3・・・)を計算する。そして、計算したオフセット値の各々と、平均フレームサイズ×Ｎ(N=6,12,18・・・)と差分を求め、これを保持する（第４の例）。第１〜第３の例と同様に差分値をハフマン符号化しても良い。
【００９０】
以上のように所定のフレーム数ごとに差分値を保持することでデータ量をさらに低減できる。
【図面の簡単な説明】
【００９１】
【図１】本発明の第１の実施の形態に従った符号化ディジタルオーディオ再生装置の構成を概略的に示すブロック図。
【図２】MPEG4  AACによるMP4ファイルのフォーマットを概略的に示す図。
【図３】フレーム位置情報を３つおきに抽出する例を示す図。
【図４】再生開始フレームを決定する例を示す図。
【図５】従来におけるフレーム位置情報テーブルを説明する図。
【図６】曲情報に基づいてフレーム位置情報の間隔を調整する例を示す図。
【図７】ユーザ指定に基づいてフレーム位置情報の間隔を調整する例を示す図。
【図８】通常再生が開始された位置に基づいてフレーム位置情報の間隔を調整する例を示す図。
【図９】再生開始要求フレームより前まで空読みをした後で再生を行う例を示す図。
【図１０】早送り再生を行う例を示す図。
【図１１】早送り再生を行う他の例を示す図。
【図１２】本発明の第２の実施の形態に従った符号化ディジタルオーディオ再生装置の構成を概略的に示すブロック図。
【図１３】早送り再生を説明する図。
【図１４】巻き戻し再生を説明する図。
【図１５】早送り・巻き戻し再生の際の再生量及び倍率と、跳び幅との関係を示す図。
【図１６】３フレームおきにフレームの位置情報を格納した早送り・巻き戻し再生用フレーム位置情報テーブルを生成する様子を示す図。
【図１７】符号化オーディオデータの途中から早送り再生をする例を説明する図。
【図１８】符号化オーディオデータの途中から巻き戻し再生をする例を説明する図。
【図１９】早送り・巻き戻し再生用フレーム位置情報テーブルを生成する様子を示す図。
【図２０】本発明の第３の実施の形態に従った符号化ディジタルオーディオ再生装置の構成を概略的に示すブロック図。
【図２１】フレームサイズ情報の圧縮処理を説明する図。
【図２２】フレームサイズ情報の圧縮処理を説明する図。
【図２３】フレームサイズとオフセット値との関係を説明する図。
【図２４】フレーム数とフレームオフセットサイズとの関係を説明する図。
【図２５】フレーム数6ごとに差分値を求める例を示す図。
【符号の説明】
【００９２】
１１、２１、３１  記録メディア
１２、２２、３２  読み出し制御部
１３、２３、３３  符号化オーディオファイル解析部
１４  フレーム位置情報生成部
１５、２５、３６  符号化オーディオ復号部
１６、２６、３５  メモリ装置
１７、２７、３７  再生開始位置算出部
２４  早送り・巻き戻し再生用フレーム位置情報生成部
３４  テーブル生成部
【図１】
2006221714.tif 000003
【図２】
2006221714.tif 000004
【図３】
2006221714.tif 000005
【図４】
2006221714.tif 000006
【図５】
2006221714.tif 000007
【図６】
2006221714.tif 000008
【図７】
2006221714.tif 000009
【図８】
2006221714.tif 000010
【図９】
2006221714.tif 000011
【図１０】
2006221714.tif 000012
【図１１】
2006221714.tif 000013
【図１２】
2006221714.tif 000014
【図１３】
2006221714.tif 000015
【図１４】
2006221714.tif 000016
【図１５】
2006221714.tif 000017
【図１６】
2006221714.tif 000018
【図１７】
2006221714.tif 000019
【図１８】
2006221714.tif 000020
【図１９】
2006221714.tif 000021
【図２０】
2006221714.tif 000022
【図２１】
2006221714.tif 000023
【図２２】
2006221714.tif 000024
【図２３】
2006221714.tif 000025
【図２４】
2006221714.tif 000026
【図２５】
2006221714.tif 000027