説明

オーディオ再生装置

【課題】 圧縮符号化データの再生において、フレーズの途中の任意の区間のループ再生を可能にする。
【解決手段】 制御部40は、デコーダ21または22の一方によりループ終了点LEのサンプルが再生されるのに続けて、他方のデコーダにより遅滞なくループ開始点LS以降のサンプル列が再生されるように、一方のデコーダによりループ終了点LEのサンプルが再生されるのに先立って、他方のデコーダにループ開始点LSのサンプルを含むブロックの圧縮符号化データの復号化を開始させる。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、オーディオ圧縮符号化データの再生を行うオーディオ再生装置に関する。
【背景技術】
【0002】
近年、MP3(MPEG Audio Layer−3)やAAC(Advanced Audio Coding)などの符号化・復号化技術が様々な分野において利用されている。
【特許文献1】特許第3601473号
【発明の開示】
【発明が解決しようとする課題】
【0003】
ところで、ゲーム機などにおいては、CDの再生や放送とは異なり、あるフレーズの途中の区間を繰り返し再生するループ再生がよく行われる。このため、ゲーム機などにおいて、圧縮符号化データの再生を行う場合においても、このループ再生機能が求められる。しかしながら、MP3等においては、1フレーズ分のオーディオ波形のサンプル列を所定個数のサンプルからなるブロックに分割し、ブロック単位で圧縮符号化を行う。この場合、ループの開始点および終了点は、一般にブロックを構成するサンプル列の途中にある。従って、圧縮符号化データの復号化により、この開始点および終了点間のサンプル列を切れ目なく自然に繰り返し再生することは困難である。なお、特許文献1は、圧縮符号化データを復号化してループ再生を行う技術を開示している。しかしながら、この技術は、1フレーズ分のオーディオデータのループ再生を自然に行うことを可能にするものであり、1フレーズの途中の区間のループ再生を可能にするものではない。
【0004】
この発明は、以上説明した事情に鑑みてなされたものであり、圧縮符号化データの再生において、フレーズの途中の任意の区間のループ再生をすることができるオーディオ再生装置を提供することを目的としている。
【課題を解決するための手段】
【0005】
この発明は、1フレーズ分のオーディオ波形のサンプル列を所定個数のサンプルからなるブロック単位で圧縮符号化した圧縮符号化データを記憶する記憶手段と、圧縮符号化データを復号化し、オーディオ波形のサンプル列を出力する再生動作を行う第1および第2のデコーダと、前記第1または第2のデコーダによる圧縮符号化データの再生を制御する手段であって、ループ再生の指示が与えられた場合に、前記フレーズの開始点以降のサンプル列を再生するための前記圧縮符号化データの復号化を前記第1または第2のデコーダの一方のデコーダに開始させ、前記第1および第2のデコーダを交互に用いて、前記フレーズにおけるループ開始点からループ終了点までのサンプル列を指定された回数だけ繰り返し再生するための復号化を行わせ、その際に、一方のデコーダによりループ終了点のサンプルが再生されるのに続けて、他方のデコーダにより遅滞なくループ開始点以降のサンプル列が再生されるように、一方のデコーダによりループ終了点のサンプルが再生されるのに先立って、他方のデコーダにループ開始点のサンプルを含むブロックの圧縮符号化データの復号化を開始させる制御手段とを具備することを特徴とするオーディオ再生装置を提供する。
かかる発明によれば、フレーズの途中の任意の区間のループ再生をすることができる。
【発明を実施するための最良の形態】
【0006】
以下、図面を参照し、この発明の実施の形態を説明する。
図1はこの発明の一実施形態であるオーディオ再生装置の構成を示すブロック図である。図1において、メモリ10は、各種のオーディオデータファイルを記憶している。1つのオーディオデータファイルは、効果音などの1フレーズ分のオーディオ波形のサンプル列からMP3などの圧縮符号化アルゴリズムにより得られた圧縮符号化データを格納している。
【0007】
本実施形態が想定する圧縮符号化アルゴリズムでは、図2(a)に示すように、1フレーズ分のサンプル列を、Nサンプル(Nは所定の整数)からなるブロックに区切り、ブロック単位でサンプル列の圧縮符号化を行う。なお、1フレーズ分のサンプルの個数がNの整数倍でない場合には、サンプル列の最後尾に0データを補充することにより1フレーズ分のサンプル数をNの整数倍とし、圧縮符号化を行う。
【0008】
圧縮符号化の対象となる1フレーズ分のサンプル列は途中がループ再生の対象となるループ区間となっている。図2(a)において、LSはループ区間が始まるループ開始点、LEはループ区間が終了するループ終了点を示す。通常、ループ開始点LSおよびループ終了点LEは、図示のようにブロックの途中にある。フレーズの最初からループ開始点LSまでのサンプル数をNLSとした場合、ループ開始点LSのサンプルを含むブロックの番号NBSは、次式に示すように、NLSをNにより除算した値の整数部となる。
NBS=INT(NLS/N) ……(1)
同様に、フレーズの最初からループ終了点LEまでのサンプル数をNLEとした場合、ループ終了点LEのサンプルを含むブロックの番号NBEは、次式により与えられる。
NBE=INT(NLE/N) ……(2)
【0009】
また、ループ開始点LSを含むブロックにおいて、そのブロックの最初のサンプルからループ開始点LSのサンプルまでのサンプル数N1は、次式に示すように、NLSをNにより除算したときの剰余となる。
N1=MOD(NLS、N) ……(3)
同様に、ループ終了点LEを含むブロックにおいて、そのブロックの最初のサンプルからループ終了点LEのサンプルまでのサンプル数N2は、次式により与えられる。
N2=MOD(NLE、N) ……(4)
【0010】
図2(b)は、圧縮符号化により得られた圧縮符号化データを示している。同図において、#k(k=0、1、…)は、各々第kブロック(k=0、1、…)のサンプル列から得られた圧縮符号化データである。各ブロックに対応した圧縮符号化データ全体の先頭には、各種の制御情報からなるヘッダが付加される。このヘッダを構成する情報には、ループ開始点LSおよびループ終了点LEの位置を示すデータNLSおよびNLEが含まれている。
【0011】
図1において、デコーダ21および22は、制御部40による制御の下、以上説明した圧縮符号化データを復号化し、所定のサンプリング周期TSのサンプル列を出力する装置である。そして、オーディオ出力部30は、制御部40による制御の下、デコーダ21または22の一方が出力するサンプル列を選択して出力するセレクタ31と、セレクタ31から出力されるサンプル列をアナログ信号に変換するD/A変換器32と、このD/A変換器32から出力されるアナログ信号を増幅するアンプ33と、アンプ33の出力信号を音として出力するスピーカ34により構成されている。
【0012】
制御部40は、各種のプログラムを記憶したROMと、このROMに記憶されたプログラムを実行するCPUと、CPUによってワークエリアとして使用されるRAMなどにより構成されている。CPUにより実行されるプログラムの1つとしてゲーム用アプリケーションプログラムがある。このアプリケーションプログラムは、メモリ10に記憶されたオーディオデータファイル内の圧縮符号化データをデコーダ21および22に復号化させ、オーディオ出力部30により音として再生させる処理を含む。
【0013】
本実施形態の特徴は、制御部40のCPUがゲーム用アプリケーションプログラムに従って実行するデコーダ21および22並びにオーディオ出力部30の制御の態様にある。ゲーム用アプリケーションプログラムは、オーディオデータファイル内の圧縮符号化データの再生に関し、通常再生を命じるコマンドと、ループ再生を命じるコマンドの両方を含む。これらのコマンドのいずれを実行するかにより制御部40によるデコーダ21および22並びにオーディオ出力部30の制御の態様は異なったものとなる。
【0014】
通常再生を命じるコマンドを実行する場合、制御部40は、再生対象であるオーディオデータファイルの圧縮符号化データを例えばデコーダ21に復号化させ、この結果得られる1フレーズ分のオーディオ波形のサンプル列をオーディオ出力部30に出力させる。
【0015】
一方、ループ再生を命じるコマンドを実行する場合、制御部40は、フレーズの開始点以降のサンプル列を再生するための圧縮符号化データの復号化をデコーダ21または22の一方に開始させ、デコーダ21および22を交互に用いて、フレーズにおけるループ開始点LSからループ終了点LEまでのサンプル列を指定された回数だけ繰り返し再生するための復号化を行わせる。
【0016】
その際、制御部40は、デコーダ21または22の一方によりループ終了点LEのサンプルが再生されるのに続けて、他方のデコーダにより遅滞なくループ開始点LS以降のサンプル列が再生されるように、一方のデコーダによりループ終了点LEのサンプルが再生されるのに先立って、他方のデコーダにループ開始点LSのサンプルを含むブロックの圧縮符号化データの復号化を開始させる。また、制御部40は、一方のデコーダによって再生されたループ終了点LEまでのサンプル列がオーディオ出力部30のセレクタ31により選択された後、他方のデコーダによって再生されたループ開始点LS以降のサンプル列がセレクタ31によって選択されるように、セレクタ31の切り換え制御を行う。本実施形態の最大の特徴は、このようなループ終了点LEからループ開始点LSへ再生位置を復帰させるための制御にある。
【0017】
図3(a)および(b)は、このループ終了点LEからループ開始点LSへの再生位置の復帰動作を示すタイムチャートである。また、図4は、本実施形態におけるループ再生の動作例を示すタイムチャートである。なお、図3(a)および(b)は、図4における区間A1の動作を詳細に示すものである。以下、これらの図を参照し、本実施形態におけるループ再生の動作例について詳細について説明する。
【0018】
制御部40は、あるオーディオデータファイルの圧縮符号化データのループ再生を行う場合、同圧縮符号化データのヘッダからループ開始点LSおよびループ終了点LEを示すデータNLSおよびNLEを読み出す。次に制御部40は、これらのデータNLSおよびNLEを用いて、前掲式(1)〜(4)に従い、上述したデータNBS、NBE、N1およびN2を求める。そして、制御部40は、デコーダ21または22の一方に、フレーズの開始点以降のサンプル列を再生するための圧縮符号化データの復号化を開始させる。図4に示す例では、制御部40はデコーダ21にこのフレーズの開始点以降の復号化を行わせている。また、制御部40は、この段階では、セレクタ31にデコータ21の出力データを選択させている。これによりフレーズの開始点以降のサンプル列がデコーダ21により再生され、このサンプル列がセレクタ31により選択され、スピーカ34から音となって出力される。
【0019】
その後、制御部40は、このデコーダ21において復号化されるブロックおよび再生されるサンプルを監視し、第NBEブロックの最初から第N2番目のサンプル、すなわち、ループ終了点LEのサンプルがデコーダ21により再生される時刻を予測する。そして、図3(a)および(b)に示すように、ループ終了点LEのサンプルの予測再生時刻の時間TSだけ後にループ開始点LSのサンプルがデコーダ22から再生されるようにするための条件として、デコーダ22にループ開始点LSを含む第NBSブロック以降の復号化を開始させる時刻を求める。
【0020】
さらに詳述すると、制御部40は、ループ終了点LEのサンプルの予測再生時刻に対して下記式(5)により与えられる時間ΔTだけ前の時刻を、デコーダ22に第NBSブロックの復号化を開始させる時刻として設定し、この設定した時刻において、第NBSブロック以降の復号化をデコーダ22に開始させる。
ΔT=(N1−2)・TS+τ0 ……(5)
ただし、上記式(5)において、τ0は、デコーダ22が第NBSブロックの復号化を開始してから、第NBSブロックの最初のサンプルが再生されるまでの遅れ時間である。
【0021】
このような時刻に第NBSブロック以降の復号化が開始されると、図3(a)および(b)に示すように、ループ終了点LEのサンプルがデコーダ21により再生された後、時間TSだけ経過したときに、ループ開始点LSのサンプルがデコーダ22により再生される。そして、制御部40は、このループ終了点LEのサンプルがデコーダ21により再生されてからループ開始点LSのサンプルがデコーダ22により再生されるまでの時間内に、セレクタ31の切り換えを行い、デコーダ22により再生されるループ開始点LS以降のサンプル列をセレクタ31に選択させる。これによりループ開始点LS以降のサンプル列がスピーカ34から音となって出力される(以上、図4における区間A1)。
【0022】
その後、制御部40は、デコーダ22において復号化されるブロックおよび再生されるサンプルを監視し、ループ終了点LEのサンプルがデコーダ22により再生される時刻を予測する。そして、ループ終了点LEのサンプルの予測再生時刻よりも上述した時間ΔTだけ前の時刻において、デコーダ21に第NBSブロックの復号化を開始させる。そして、制御部40は、このループ終了点LEのサンプルがデコーダ22により再生されてからループ開始点LSのサンプルがデコーダ21により再生されるまでの時間内に、セレクタ31の切り換えを行い、デコーダ21により再生されるループ開始点LS以降のサンプル列をセレクタ31に選択させる。これにより再びループ開始点LS以降のサンプル列がスピーカ34から音となって出力される(以上、図4における区間A2)。
【0023】
以下同様であり、制御部40は、デコーダ21および22にループ区間のサンプル列の再生のための復号化を交互に行わせる。そして、所定回数に亙るループ区間のサンプル列の再生が終わると、制御部40は、その時点において復号化を行わせているデコーダ(図4に示す例ではデコーダ21)にフレーズの終了点までのサンプル列を再生させる。
以上のように、本実施形態によれば、圧縮符号化データの再生において、フレーズの途中の任意の区間のループ再生をすることができる。
【0024】
図5は本実施形態の他の動作例に示すタイムチャートである。この動作例において、再生対象である1フレーズ分のサンプル列は、その途中に第1のループ区間を含み、この第1のループ区間の中にそれよりも小さい第2のループ区間を含む。このようにフレーズが階層構造を有するループを持つ場合であっても、本実施形態において制御部40は、図示のようにデコーダ21および22を交互に用いてループ区間の再生を行う。その際、制御部40は、再生位置を第2ループ終了点から第2ループ開始点に復帰させる制御、第1ループ終了点から第1ループ開始点に復帰させる制御を行うが、その制御の内容は図3(a)および(b)を参照して説明したものと同様である。
【0025】
以上、この発明の一実施形態について説明したが、この発明にはこれ以外にも他の実施形態が考えられる。例えば次の通りである。
(1)MUTE指示が与えられた場合に復号結果たるサンプルの代わりに0データを出力する機能をデコーダ21および22に設け、オーディオ出力部30におけるセレクタ31をORゲートに置き換えてもよい。この場合、制御部40は、ループ終了点LEからループ開始点LSに再生位置を復帰させる動作において、次のような制御を行えばよい。まず、制御部40は、一方のデコーダ(例えばデコーダ21とする。)にループ開始点LSを含むブロックの復号化を開始させた際、そのデコーダ21にMUTE指示を送って復号結果の代わりに0データを出力させる。そして、デコーダ21がループ開始点LSの手前のサンプルの復号化を終えたときにデコーダ21に対するMUTE指示を解除し、デコーダ21にループ開始点LS以降のサンプル列を再生させる。これと同時に他方のデコーダ22にMUTE指示を送るのである。この態様においても、上記実施形態と同様な効果が得られる。
【0026】
(2)復号処理の一時停止する機能および一時停止した状態から復号処理を再開する機能をデコーダ21および22に持たせてもよい。すなわち、ブロックの途中であっても、一時停止の指示が与えられた場合には、その時点においてサンプルの出力を停止し、復号処理に用いる全てのレジスタ群の内容を保持し、再開の指示が与えられた場合には、保持したレジスタ群の内容を用いて、復号処理を再開するようにデコーダ21および22を構成する。
【0027】
このようなデコーダ21および22を用いた場合、制御部40の制御負担を軽減することが可能になる。さらに詳述すると、この態様において、制御部40は、ループ終了点LEからループ開始点LSに再生位置を復帰させる動作において、一方のデコーダ(例えばデコーダ21とする。)にループ開始点LSを含むブロックの復号化を行わせるとき、ループ開始点LSの1つ手前のサンプルが得られた状態でデコーダ21の復号処理を一時停止させる。そして、他方のデコーダ22がループ終了点LEのサンプルを再生した直後、一方のデコーダ21に復号処理を再開させ、ループ開始点LS以降のサンプル列を再生させる。この場合、デコーダ21にループ開始点LSを含むブロックの復号化を開始させる時刻は、ループ終了点LEのサンプルの予測再生時刻の上記ΔTだけ前の時刻である必要はなく、ΔT以上前の時刻であればよい。従って、上記実施形態に比べ、制御部40によるタイミング制御が容易なものになるという利点がある。
【図面の簡単な説明】
【0028】
【図1】この発明の一実施形態であるオーディオ再生装置の構成を示すブロック図である。
【図2】同実施形態における圧縮符号化データの内容を説明する図である。
【図3】同実施形態におけるループ終了点からループ開始点への復帰動作の詳細を示すタイムチャートである。
【図4】同実施形態におけるループ再生の動作例を示すタイムチャートである。
【図5】同実施形態におけるループ再生の他の動作例を示すタイムチャートである。
【符号の説明】
【0029】
10……メモリ、21,22,23……デコーダ、30……オーディオ出力部、31……セレクタ、32……D/A変換器、33……アンプ、34……アンプ、40……制御部。

【特許請求の範囲】
【請求項1】
1フレーズ分のオーディオ波形のサンプル列を所定個数のサンプルからなるブロック単位で圧縮符号化した圧縮符号化データを記憶する記憶手段と、
圧縮符号化データを復号化し、オーディオ波形のサンプル列を出力する再生動作を行う第1および第2のデコーダと、
前記第1または第2のデコーダによる圧縮符号化データの再生を制御する手段であって、ループ再生の指示が与えられた場合に、前記フレーズの開始点以降のサンプル列を再生するための前記圧縮符号化データの復号化を前記第1または第2のデコーダの一方のデコーダに開始させ、前記第1および第2のデコーダを交互に用いて、前記フレーズにおけるループ開始点からループ終了点までのサンプル列を指定された回数だけ繰り返し再生するための復号化を行わせ、その際に、一方のデコーダによりループ終了点のサンプルが再生されるのに続けて、他方のデコーダにより遅滞なくループ開始点以降のサンプル列が再生されるように、一方のデコーダによりループ終了点のサンプルが再生されるのに先立って、他方のデコーダにループ開始点のサンプルを含むブロックの圧縮符号化データの復号化を開始させる制御手段と
を具備することを特徴とするオーディオ再生装置。
【請求項2】
前記制御手段は、前記一方のデコーダによってループ終了点のサンプルが再生される直後に、前記他方のデコーダによってループ開始点のサンプルが再生されるように、前記他方のデコーダに前記ループ開始点を含むブロックの圧縮符号化データの復号化を開始させる時刻を決定することを特徴とする請求項1に記載のオーディオ再生装置。
【請求項3】
前記第1および第2のデコーダは、復号処理の一時停止および再開を行う機能を有し、
前記制御手段は、前記一方のデコーダにループ開始点のサンプルを含むブロックの圧縮符号化データの復号化を行わせるとき、前記ループ開始点の手前のサンプルが得られた状態で一時停止させ、前記他方のデコーダがループ終了点のサンプルを再生した直後、前記一方のデコーダに復号処理を再開させ、ループ開始点以降のサンプル列を再生させることを特徴とする請求項1に記載のオーディオ再生装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2007−225762(P2007−225762A)
【公開日】平成19年9月6日(2007.9.6)
【国際特許分類】
【出願番号】特願2006−45153(P2006−45153)
【出願日】平成18年2月22日(2006.2.22)
【出願人】(000004075)ヤマハ株式会社 (5,930)
【Fターム(参考)】