説明

オーディオ再生装置及びオーディオ再生方法

【課題】DMA転送を用いるオーディオ再生装置に対して、消費電力を抑制すると共に、通常再生と特殊再生の切り替え時に誤再生を回避する。
【解決手段】DMA転送部104は、DMA転送フレーム番号レジスタ115、DMA転送フレームサイズレジスタ114、DMA転送中アドレスレジスタ111、DMA転送停止アドレスレジスタ112を備える。プロセッサAにより電源のオン/オフが制御されるプロセッサBは、DMA転送中に、通常再生とは異なる特殊再生が要求されたときに、メモリ101に格納されたフレームのうちの、該フレームの転送が完了すると、メモリ101に格納されたデコード後データの転送を停止する停止フレームの終端アドレスをDMA転送停止アドレスレジスタ112に設定する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、DMA(Direct Memory Access)転送を用いたオーディオ再生技術に関する。
【背景技術】
【0002】
近年、コンパクトディスク(CD)やフラッシュメモリ(登録商標)等の記録媒体に格納されたデジタル化したデータを再生するオーディオ再生装置が普及しており、大容量のデジタルデータを高速転送するための方法として、DMA転送が知られている(特許文献1〜5)。
【0003】
一方、特にモバイル向けのオーディオ再生装置に対して、LSI(集積回路:Large Scale Integration)を動作させるための電力を抑え、連続動作時間を長くすることが要求される。LSIの消費電力を抑制するために、LSIの電源領域を複数に分け、必要な領域にのみ電力を供給する手法が知られている。例えば、音声データをデコードするプロセッサを用いるオーディオ再生装置において、プロセッサで一度にデコードするデータのサイズを大きくすることで、プロセッサの消費電力を抑えることができる。具体的には、プロセッサはデコードするときにオン状態となり、デコードしたデータをDMA転送に委ねればオフとなる。ここで、プロセッサで一度にデコードするデータのサイズを大きくすることで、プロセッサの電源のオン・オフ切り替え回数を減らすことができるため、電源切り替え時のプロセッサでのオーバーヘッド処理分の消費電力を低減することができる。
【0004】
ところで、一度にDMA転送を行うサイズを大きくすると、DMA転送が完了するまでDMA転送を停止させることが出来ないため、再生中に停止要求に対しての応答性が良くないという問題がある。
【0005】
特許文献1には、DMA転送を用いるオーディオ再生装置に対して、停止要求から停止完了までの応答性を確保できる手法が開示されている。
【0006】
図10は、特許文献1に開示されたオーディオ再生装置のシステム構成を示す図である。このオーディオ再生装置は、オーディオ再生装置全体の統括を行うプロセッサ1と、圧縮された音声データをデコード処理するプロセッサ2と、プロセッサ2によりデコード処理されたデコード後データを格納するメモリ3と、メモリ3に格納されたデコード後データを転送するDMA転送部4を有する。
【0007】
DMA転送部4は、更に転送中のデコード後データのアドレスを格納するDMA転送中アドレスレジスタ8を有する。また、DMA転送部4は、DMA転送中に停止要求がされた際に、DMA転送中アドレスレジスタ8に格納されたデータアドレスから所定バイト先のデコード後データに対してフェードアウト処理を行い、フェードアウト処理を行ったデコード後データの終端アドレスを格納するDMA転送停止アドレス設定レジスタ9を有する。
【0008】
また、このオーディオ再生装置は、メモリ3に格納されているデコード後データがDMA転送部4により転送されるPCM5と、PCM5からのデコード後データがシリアル転送されると共に、スピーカ等から音を出力させるためにデコード後データをデジタルデータからアナログデータに変換するDAコンバータ(DAC)6と、を更に有する。
【0009】
プロセッサ2は、デコード処理を行っていない間、プロセッサ1からの制御により独立して電源を切ることができる。また、DMA転送部4は、プロセッサ1およびプロセッサ2へDMA転送完了割り込み信号10、11を出力することができ、割り込み方向切り替えスイッチ7によりプロセッサ1とプロセッサ2のどちらへ割り込み信号を出力するかを指定することができる。割り込み方向切り替えスイッチ7の切り替えは、プロセッサ1から割り込み方向切り替えスイッチ7に対して割り込み信号切り替え制御信号12を送信することで行うことができる。
【0010】
このオーディオ再生装置は、下記のように動作する。
まず、プロセッサ1からのデコード要求13によりプロセッサ2が起動し、デコード処理を行う。プロセッサ2は、デコード処理完了後にプロセッサ1に対してデコード完了通知14を送信し、デコード処理されたデータをメモリ3に格納する。
【0011】
DMA転送部4は、PCM5に対してメモリ3に格納されているデコード処理されたデータを送り、また、PCM5からDAC6にシリアル転送を行う。DAC6によりデコード処理されたデータをデジタルデータからアナログデータに変換し、スピーカ等から音が出力される。
【0012】
図11は、通常再生時のメモリ3内のデコード処理されたデータ(デコード後データ)の格納状態を示す。メモリ3内には、Nバイトのデコード後データ15と、その次にDMA転送をする転送予約データ16とが格納されている。このとき、メモリには2×Nバイトのデータが格納されることになる。DMA転送部4は、実際にDMA転送しているアドレスを示すDMA転送中アドレスレジスタ8を有しており、DMA転送単位毎にそのアドレスが更新される。DMA転送部4は、メモリ3内に格納されているデコード後データを順次PCM5に送る。
【0013】
図12に、停止処理時におけるメモリ3内のデコード後データの格納状態を示す。メモリ3には、現在DMA転送中のデコード後データ17、DMA転送中アドレスレジスタ8が指しているアドレス(データアドレス)21から所定バイト(Mバイト)後にフェードアウト演算処理を行ったデコード後データ(Lバイト)18が格納されている。ここで、所定のバイト(Mバイト)は、DMA転送中アドレスレジスタ8が指しているアドレス21から所定のバイト(Mバイト)後にフェードアウト演算処理を行っても十分間に合うサイズである。
【0014】
また、DMA転送停止アドレスレジスタ9には、フェードアウト演算処理後データの終端アドレス22が格納されている。また、メモリ3には、停止処理がされなかったらDMA転送部4が転送していたデコード後データ19、20が格納されている。
【0015】
再生の停止指示がされたとき、プロセッサ1は、プロセッサ2の電源をオンにし、プロセッサ2に対して停止要求13を行う。その後、プロセッサ2からの停止完了通知14を待って、プロセッサ2の電源をオフにする。
【0016】
プロセッサ2はプロセッサ1からの停止コマンド13を受信すると、DMA転送部4が有しているDMA転送中アドレスレジスタ8の値を確認する。S72)。次に、DMA転送中アドレスレジスタ8が示しているアドレスからMバイト後ろのデータに対し、フェードアウト演算処理を行い、フェードアウト演算処理後データ(Lバイト)を生成する。
【0017】
その後、プロセッサ2は、DMA転送部4のDMA転送停止アドレスレジスタにフェードアウト演算処理後データの終端アドレス22、つまり、DMA転送アドレスから(M+L)バイト先のアドレスを書き込む。DMA転送停止アドレスが書き込まれると、DMA転送部4は、フェードアウト演算処理後データの転送が完了するタイミングで、デコード後データの転送を停止する。このとき、図5に示すデコード後データ19、20は転送されない。
【0018】
DMA転送部4は、フェードアウト演算処理後データの転送が完了すると、プロセッサ2にDMA転送完了割り込み信号11を出力する(S75)。このとき、DMA転送完了割り込み信号11がプロセッサ2に出力されるように、割り込み信号切り替えスイッチ7が切り替わる。
【0019】
つまり、このオーディオ再生装置では、DMA転送停止アドレスレジスタ9を設けることで、任意のアドレスにおいてDMA転送を途中停止することを可能にした。これにより、1回のDMA転送サイズを大きくした場合であっても、停止要求から停止完了までの時間を短くすることができ、応答性を確保することができる。
【先行技術文献】
【特許文献】
【0020】
【特許文献1】特開2010−152512号公報
【特許文献2】特開2001−211669号公報
【特許文献3】特開2002−140286号公報
【特許文献4】特開2005−165619号公報
【特許文献5】特開2000−298640号公報
【発明の概要】
【発明が解決しようとする課題】
【0021】
音声データの再生中に、停止指示以外に、早送りや早戻しなどの通常再生とは異なる再生(以下、特殊再生という)が指示される場合もある。通常再生中と特殊再生の切り替えを可能にするために、特許文献1に開示されたオーディオ再生装置にDMA転送予約機能を持たせることが考えられる。なお、DMA転送予約とは、DMA転送切り替え時の音途切れを防止するために、DMA転送完了時に予約されたDMA転送があれば、プロセッサを動作させずに、DMA転送部が自発的に予約されているDMA転送を開始する機能である。
【0022】
この場合、誤再生が生じる可能性がある。これについて、図13、図14、図15を参照して説明する。なお、これらの図における「メモリA」と「メモリB」は、図1に示すオーディオ再生装置において、プロセッサ2によりデコードされ、まだDMA転送されていないデータを格納するメモリ3に対応する。メモリAには、DMA転送中のデータが格納されており、メモリBには、DMA転送が予約されたデータが格納されている。
【0023】
図13は、音声データの通常再生時に、メモリAとメモリB内のデータ(デコード後データ)の格納態様の例を示す。
【0024】
図13の例では、現在、メモリA内にフレーム1〜5のデコード後データが格納されており、これらのデータに対して、PCM5へのDMA転送が行われている。また、メモリBにはフレーム6〜10のデコード後データが格納され、DMA転送予約されている。
【0025】
図14は、メモリAに格納されたフレーム1〜5のデコード後データのうちのフレーム3の転送中、早送り(1フレーム再生、1フレーム破棄)の指示がされた場合を説明するための図である。
【0026】
このとき、メモリAのDMA転送を停止して、メモリB内のデータを早送り用のデータ(早送りデータ)に置き換えてメモリB内のデータを転送することにより、早送りを実現することができる。このとき、早送りデータを作成するために、メモリA内の、どのフレームでDMA転送が停止されたかを知る必要がある。
【0027】
各フレームのデコード後データのサイズが同様であれば、図14の左部に示すようにメモリAを5等分することにより現在DMA転送中のフレーム番号は3と推定することができる。そのため、DMA転送停止アドレスをフレーム3の終端に設定し、メモリBにはその続きのフレーム4からの早送りデータを格納するようにすれば、フレーム4から早送りが実現される。
【0028】
ところで、WMA(Windows Media Audio)等の符号化形式の場合に、1フレームのデコード後データのサイズが可変長である。この場合、上記の手法によれば、メモリA内のデータに対して推定したフレーム境界と実際のフレーム境界が異ってしまう。
【0029】
図15に示すように、フレーム1〜4のデコード後データのサイズが小さく、フレーム5のデコード後データのサイズが大きい場合に、フレーム5の転送中に早送り指示がされた場合に、メモリAを5等分して推定すると、フレーム3が現在転送中のフレームとして推定される。そのため、メモリB内の早送りデータは、既に再生されたフレーム4から始まることになり、いわゆる誤再生が発生してしまう。
【0030】
本発明は、上記事情に鑑みてなされたものであり、DMA転送を用いるオーディオ再生装置に対して、消費電力を抑制すると共に、通常再生と特殊再生の切り替え時に誤再生を回避する技術を提供する。
【課題を解決するための手段】
【0031】
本発明の一つの態様は、オーディ再生方法である。この方法は、第1のプロセッサで電源のオン・オフが制御される第2のプロセッサにより、圧縮された音声データをデコードする。そして、デコードされたデコード後データをメモリに格納すると共に、前記メモリに格納された各フレームについて、該フレームのサイズと前記メモリにおける格納順とを対応付けて記憶する。DMA転送により前記メモリに格納されたデコード後データを格納順に転送すると共に、前記メモリに格納されている各フレームのうちの、現在転送されているフレームの格納順を示すフレーム番号と、転送中のフレームの先頭アドレスを記憶する。
【0032】
転送中に、通常再生とは異なる特殊再生が要求されたときに、前記フレーム番号と、前記格納順と対応付けて記憶された各前記フレームのサイズとを参照し、前記転送中フレームの先頭アドレスに所定バイト数を加算して得たアドレスにそのデコード後データが格納されたフレームを停止フレームとして、該停止フレームの終端アドレスを設定する。なお、前記停止フレームは、前記メモリに格納されたフレームのうちの、該フレームの転送が完了すると、前記メモリに格納されたデコード後データの転送が停止されるフレームである。
【0033】
なお、上記態様の方法を装置やシステムに置き換えたものなども、本発明の態様としては有効である。
【発明の効果】
【0034】
本発明にかかる技術によれば、DMA転送を用いるオーディオ再生装置に対して、消費電力を抑制すると共に、通常再生と特殊再生の切り替え時に誤再生を回避することができる。
【図面の簡単な説明】
【0035】
【図1】本発明の実施の形態にかかるオーディオ再生装置を示す図である。
【図2】図1に示すオーディオ再生装置における第1のプロセッサの動作を示すフローチャートである。
【図3】図1に示すオーディオ再生装置における第2のプロセッサの動作を示すフローチャートである。
【図4】図1に示すオーディオ再生装置のメモリにデコードデータが格納される態様を示す図である。
【図5】図1に示すオーディオ再生装置において、DMA転送開始時にメモリに格納されたデータの態様と各レジスタの値を示す図である。
【図6】図5に対応した、DMA転送完了時の状態を示す図である。
【図7】早送り指示信号が発生する前の通常再生中の状態の例を示す図である。
【図8】図7に示す態で早送り指示信号を受信した場合における各レジスタの態様を示す図である。
【図9】早送り再生へ切り替えたときの状態を示す図である。
【図10】特許文献1に記載されたオーディオ再生装置を示す図である。
【図11】図10に示すオーディオ再生装置において、通常再生時のメモリ内のデコード後データの格納状態を示す図である。
【図12】図10に示すオーディオ再生装置において、停止処理時におけるメモリ内のデコード後データの格納状態を示す図である。
【図13】図10に示すオーディオ再生装置において、通常再生と特殊再生の切り替え時に生じ得る問題点を説明するための図である(その1)。
【図14】図10に示すオーディオ再生装置において、通常再生と特殊再生の切り替え時に生じ得る問題点を説明するための図である(その2)。
【図15】図10に示すオーディオ再生装置において、通常再生と特殊再生の切り替え時に生じ得る問題点を説明するための図である(その3)。
【発明を実施するための形態】
【0036】
以下、図面を参照して本発明の実施の形態について説明する。説明の明確化のため、以下の記載及び図面は、適宜、省略、及び簡略化がなされている。また、様々な処理を行う機能ブロックとして図面に記載される各要素は、ハードウェア的には、CPU、メモリ、その他の回路で構成することができ、ソフトウェア的には、メモリにロードされたプログラムなどによって実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。なお、各図面において、同一の要素には同一の符号が付されており、必要に応じて重複説明は省略されている。
【0037】
図1は、本発明の実施の形態にかかるオーディオ再生装置100を示す。オーディオ再生装置100は、第1のプロセッサとなるプロセッサA、第2のプロセッサとなるプロセッサB、メモリ101、DMA転送部104、PCM105、DAC(D/Cコンバータ)106、切り替えスイッチ107を備える。
【0038】
該オーディオ再生装置100は、通常再生以外に、早送りや早戻しなどの特殊再生が可能である。分かりやすいように、以下において、特殊再生について早送りのみを例にする。
【0039】
プロセッサAは、オーディオ再生装置100全体を統括し、プロセッサBの電源制御を行う。プロセッサAは、切り替えスイッチ107からのDMA転送完了割り込み信号SA、外部からの早送り指示信号FW、プロセッサBからのレスポンス信号RESをそれぞれ入力とし、プロセッサBに要求指示信号INSを、切り替えスイッチ107に制御信号CTRをそれぞれ出力する。
【0040】
プロセッサBは、圧縮された音声データをデコードし、DMA転送部104の制御を行う。プロセッサBは、プロセッサAからの要求指示信号INS、切り替えスイッチ107からのDMA転送完了割り込み信号SBをそれぞれ入力とし、プロセッサAにレスポンス信号RESを出力する。また、プロセッサBは、デコードしたデータ(デコード後データ)をメモリ101に格納する。
【0041】
メモリ101は、プロセッサBからのデコード後データを格納すると共に、格納されたデコード後データをDMA転送部104に出力する。
【0042】
DMA転送部104は、DMA転送、すなわちプロセッサを介さずにデータの転送を行うものであり、メモリ101に格納されたデコード後データを順次PCM105に転送する。本実施の形態のオーディオ再生装置100は、DMA転送要約可能なものであり、DMA転送部104は、現在のDMA転送が完了したときに、DMA転送要約されていれば、要約されたDMA転送をする。
【0043】
なお、本実施の形態において、DMA転送部104は、9個のレジスタを有し、これらのレジスタは、DMA転送中アドレスレジスタ111、DMA転送停止アドレスレジスタ112、DMA転送サイズレジスタ113、DMA転送フレームサイズレジスタ114、DMA転送フレーム番号レジスタ115、DMA転送予約アドレスレジスタ116、DMA転送予約サイズレジスタ117、DMA転送予約フレームサイズレジスタ118である。
【0044】
PCM105は、DMA転送部104から入力されたデコード後データをDAC106に出力する。
【0045】
DAC106は、PCM105から入力されたデコード後データをアナログ信号に変換して外部のスピーカ等に出力する。
【0046】
切り替えスイッチ107は、DMA転送部104からのDMA転送完了割り込み信号Sの出力先をプロセッサAとプロセッサB間で切り替えるものであり、プロセッサAからの制御信号CTR、DMA転送部104からのDMA転送完了割り込み信号Sをそれぞれ入力とし、プロセッサAにDMA転送完了割り込み信号SAを出力し、プロセッサBにDMA転送完了割り込み信号SBを出力する。
【0047】
図2は、オーディオ再生装置100におけるプロセッサAの動作を示すフローチャートである。図2を参照して、プロセッサAの動作を説明する
【0048】
プロセッサAは、ユーザがボタンの押下などにより発行された早送り指示信号FWや、切り替えスイッチ107を介してDMA転送部104から送信されてきたDMA転送完了割り込み信号SAに応じて起動し、プロセッサBの電源をON状態にする(S100)。
【0049】
プロセッサAは、自身の起動要因がDMA転送完了割り込み信号SAの受信か、早送り指示信号FWの受信かを判断し(S101)、DMA転送完了割り込み信号SAであれば(S101:Yes)ステップS102に進み、早送り指示信号FWであれば(S101:No)ステップS103に進む。
【0050】
ステップS101において、起動要因がDMA転送完了割り込み信号SAである場合には、プロセッサAは、プロセッサBに対してデコードを指示する要求指示信号INSを送信する(S101:Yes、S102)。
【0051】
一方、ステップS101において、起動要因が早送り指示信号FWである場合には、プロセッサAは、プロセッサBに対して早送りを指示する要求指示信号INSを送信する(S103)。
【0052】
そして、プロセッサAは、切り替えスイッチ107に制御信号CTRを出力し、DMA転送完了割り込み信号Sの出力先をプロセッサBに切り替える(S106)。
【0053】
プロセッサAは、プロセッサBの処理が終了したことを検出するために、プロセッサBからのデコード完了を通知するレスポンス信号RESを待つ(S104)。
【0054】
プロセッサBからデコード完了を通知するレスポンス信号RESを受信すると、プロセッサAは、プロセッサBの電源をOFF状態にする(S105)。
【0055】
そして、プロセッサAは、再び切り替えスイッチ107に制御信号CTRを出力し、DMA転送完了割り込み信号Sの出力先をプロセッサAに切り替える(S107)。
【0056】
図3は、オーディオ再生装置100におけるプロセッサBの動作を示すフローチャートである。図3を参照して、プロセッサBの動作を説明する。
【0057】
プロセッサBは、起動すると、起動要因がデコード要求受信割り込みか、早送り要求受信割り込みかを判断し(S200)、デコード要求受信割り込みであれば(S200:Yes)ステップS201に進み、早送り要求受信割り込みであれば(S200:No)ステップS208に進む。
【0058】
ステップS200において、起動要因がデコード要求受信割り込みであれば、プロセッサBは、フレームのデコードを行う(S201)。なお、このフレームは、後述するステップS203で更新したフレーム番号に対応するフレームである。
【0059】
プロセッサBは、ステップS201でデコードして得たデコード後データがメモリ101に格納できるかを判断し(S202)、格納できる場合(S202:Yes)にはステップS203に進み、格納できない場合(S202:No)にはステップS206に進む。
【0060】
ステップS202において、デコード後データをメモリ101に格納できる場合、プロセッサBは、次にデコードを行うフレーム番号を更新し(S202:Yes、S203)、デコード後データをメモリ101に格納する(S204)。
【0061】
そして、プロセッサBは、DMA転送中でなければDMA転送部104のDMA転送フレームサイズレジスタ114に、またDMA転送中ならDMA転送部104のDMA転送予約フレームサイズレジスタ118にフレーム毎のサイズを記憶させるため、ステップS204で格納したデコード後データのサイズを設定する(S205)。
【0062】
一方、ステップS202において、デコード後データをメモリ101に格納できない場合、プロセッサBは、ステップS206の処理を行う。このステップにおいて、プロセッサBは、DMA転送中でなければDMA転送中アドレスレジスタ111にメモリ101の先頭アドレスを、DMA転送サイズレジスタ113にメモリ101に格納したデコード後データの合計サイズを設定する。これにより、DMA転送が開始する。また、DMA転送中なら、プロセッサBは、DMA転送予約アドレスレジスタ116にメモリ101の先頭アドレスを、DMA転送予約サイズレジスタ117にメモリ101に格納したデコード後データの合計サイズを設定する。これにより、DMA転送が予約される。
【0063】
そして、プロセッサBは、DMA転送のためのデータのデコードが完了したことを通知するためにプロセッサAに対してデコード完了を示すレスポンス信号RESを送信する(S207)。
【0064】
ステップS200において、プロセッサBの起動要因が早送り要求受信割り込みの場合に、プロセッサBは、DMA転送フレーム番号レジスタ115の内容を読み出し、現在転送中のフレーム番号を取得する(S208)。
【0065】
プロセッサBは、ステップS208で取得したフレーム番号に、早送りデータ準備中の音途切れが発生しないサイズのディレイを加えた後のフレームの終端アドレスを、DMA転送停止アドレスレジスタ112に設定する(S209)。
【0066】
そして、プロセッサBは、DMA転送停止アドレスレジスタ112にその終端アドレスが設定されたフレームの次の1フレームのデコードを行う(S210)。
【0067】
プロセッサBは、ステップS210でデコードして得たデコード後データがメモリ101に格納できるかを判断し(S211)、メモリ101に格納できる場合(S211:Yes)にはステップS212に進み、メモリ101に格納できない場合(S212:No)にはステップS215に進む。
【0068】
ステップS211において、デコード後データをメモリ101に格納できる場合、プロセッサBは、デコードするフレーム番号を次に再生するフレームの番号に更新し(S211:Yes、S212)、S210にてデコードして得たデコード後データをメモリ101に格納する(S213)。例えば、プロセッサAからの指示が1フレーム再生、1フレーム破棄の早送り指示であった場合、プロセッサBは、ステップS212において、デコードするフレームの番号を、ステップS210でデコードしたフレームの2フレーム先のフレームの番号に更新する。
【0069】
そして、プロセッサBは、ステップ213でメモリ101に格納したデコード後データのサイズをDMA転送予約フレームサイズレジスタ118に設定する(S214)。
【0070】
ステップS211において、デコード後データをメモリ101に格納できない場合には、プロセッサBは、DMA転送が完了するまで待つ(S211:No、S215)。そして、DMA転送が完了すると(S215:Yes)、プロセッサBは、DMA転送中アドレスレジスタ111にメモリ101の先頭アドレスを、DMA転送サイズレジスタ113にメモリ101に格納したデコード後データの合計サイズを、DMA転送フレームサイズレジスタ114にメモリ101に格納したデコード後データのサイズを設定する(S216)。これにより、DMA転送が開始する。
【0071】
そして、プロセッサBは、プロセッサAに対して、早送り処理の完了を示すレスポンス信号RESを送信する(S217)。
【0072】
図4は、プロセッサBからのデコード後データがメモリ101に格納される態様の例を示す図である。図3のフローチャートを参照して説明する。
【0073】
プロセッサBは、まず、フレームD1のデコード後データをメモリ101に書き込み(図3におけるS204)、フレームD1のデコード後データのサイズ1000を、DMA転送フレームサイズレジスタ114の1番目のキューF1に設定する(S205)。これにより、DMA転送部104は、メモリ101の1番目に格納されたフレームのサイズが1000バイトであることが分かる。
【0074】
メモリ101に空き領域が存在するので、プロセッサBは、引き続きフレームD2〜D(n−1)のデコードを順次メモリ101に書込む。また、書き込む度に、DMA転送フレームサイズレジスタ114の当該キュー(F2〜F(n−1))に当該デコード後データのサイズを設定する。
【0075】
プロセッサBは、フレームDnのデコード後データをメモリ101に書き込み(S204)、フレームDnのデコード後データのサイズ3000をDMA転送フレームサイズレジスタ114のキューFnに設定する(S205)。これにより、DMA転送部104は、メモリ101のn番目に格納されたフレームのサイズが3000バイトであることが分かる。
【0076】
ここで、メモリ101の空き領域が無くなったため、プロセッサBは、プロセッサBは、メモリ101の先頭アドレスをDMA転送中アドレスレジスタ111に設定すると共に、キューF1〜Fnの合計値をDMA転送サイズレジスタ113に設定する(S206)。これにより、DMA転送が開始される。
【0077】
図5は、DMA転送開始時にメモリ101に格納されたデータと各レジスタの値を示す。図示のように、DMA転送開始時、転送中アドレスレジスタ111に格納された転送中アドレスは、メモリ101の先頭を指しており、DMA転送サイズレジスタ113には、DMA転送フレームサイズレジスタ114のキューF1〜Fnの合計値、すなわちメモリ101に格納したデコード後データの合計サイズが設定されている。また、DMA転送フレーム番号レジスタ115には、DMA転送中であるメモリ101に1番目に格納されたフレームのデコード後データを示す1が設定されている。
【0078】
DMA転送部104は、DMA転送の進行に応じて、夫々のレジスタの値を更新する。例えば、DMA転送がフレームD2の先頭に達すると、DMA転送サイズレジスタ113にはキューF2〜Fnの合計値が格納され、DMA転送フレーム番号レジスタ115にDMA転送中であるメモリ101に2番目に格納されたフレームのデコード後データを示す2が設定される。
【0079】
メモリ101に格納された(n−1)番目のフレーム(フレームD(n−1))までDMA転送が進んだとき、転送中アドレスレジスタ111はフレームDnのデコード後データの先頭を指し、DMA転送サイズレジスタ113には、キューFnの値3000が格納される。また、DMA転送フレーム番号レジスタ115には、DMA転送中であるメモリ101のn番目に格納されたフレーム(フレームDn)のデコード後データを示すnが設定される。
【0080】
図6は、DMA転送完了時の状態を示す図である。図示のように、DMA転送が完了時には、転送中アドレスレジスタ111はメモリ101の終端を指している。また、DMA転送が完了したため、DMA転送サイズレジスタ113、DMA転送フレーム番号レジスタ115、DMA転送フレームサイズレジスタ114のキューは、全て初期化される。
【0081】
本実施の形態のオーディオ再生装置100はDMA転送予約機能を有し、プロセッサBは、現在のDMA転送中に次のDMA転送のデコード後データをメモリ101に格納し、DMA転送部104は、現在のDMAが完了すると、予約されたDMA転送を開始する。プロセッサBによるデータの書き込み、及び書込みに伴う夫々のレジスタの設定、DMA転送中において、DMA転送部104によるレジスタの設定は、上述したのと同様である。なお、本実施の形態において、プロセッサBは、メモリ101を2つの領域に分け、2回(今回と次回)のDMA転送のデコード後データを夫々書込む。以下、この2つの領域をメモリ101A(第1のメモリ)とメモリ101B(第2のメモリ)で夫々表記する。
【0082】
図7は、早送り指示信号FWが発生する前の通常再生中の状態の例を示す。図示のように、メモリ101AにはDMA転送中のフレームD1〜D10が格納されており、メモリ101Bには続きのフレームD11〜D20が格納され、これらのデータはDMA転送予約されている。
【0083】
DMA転送フレームサイズレジスタ114には、現在DMA転送中のメモリ101Aの夫々のフレームのサイズが格納されている。例えば、メモリ101Aに1番目に格納されているフレームD1のデコード後データのサイズは、DMA転送フレームサイズレジスタ114のキューF1に格納されている1000バイトである。
【0084】
また、DMA転送予約フレームサイズレジスタ118には、DMA転送予約されているメモリ101Bの夫々のフレームのサイズが格納されている。例えば、メモリ101Bに1番目に格納されているフレームD11のデコード後データのサイズはDMA転送予約フレームレジスタ118のキューF1に格納されている3000バイトである。
【0085】
また、現在転送されているフレームがメモリ101Aに格納された3番目のフレームであるため、DMA転送中アドレスレジスタ111は、メモリ101Aの3番目を指しており、DMA転送フレーム番号レジスタ115には「3」が格納されている。
【0086】
図8は、図7に示す状態でプロセッサAがプロセッサBに早送り再生(1フレーム再生、1フレーム破棄)を指示する要求指示信号INSを送信した場合における各レジスタの態様を示す。
【0087】
プロセッサBは、DMA転送フレーム番号レジスタ115を参照することにより、転送中のフレームが、メモリ101Aの3番目に格納されているフレーム(フレーム3)であることが分かる(図3におけるS208)。そのため、プロセッサBは、DMA転送中アドレスレジスタ111に格納されたデータアドレスからディレイ分のLバイト先のデコード後データを含むフレームの終端アドレスをDMA転送停止アドレスレジスタ112に設定する(S209)。説明上の便宜のため、この終端アドレスを「フレームD3のアドレス+L」であるとする。
【0088】
また、プロセッサBは、メモリ101Bに格納されているフレームD11〜D20のデコード後データを、早送りデータに置き換える。そのため、図示のように、転送停止位置の「フレームD3のアドレス+L」の続きの「フレームD4+L」から1フレーム飛ばしに、「フレームD6+L」、「フレームD8+L」、「フレームD10+L」のデコード後データは、メモリ101Bが一杯になるまでメモリ101Bに格納される(S213)。
【0089】
さらに、プロセッサBは、DMA転送予約フレームサイズレジスタ118の各値を、「フレームD4+L」、「フレームD6+L」、「フレームD8+L」、「フレームD10+L」のフレームサイズに夫々書き換える(S214)。
【0090】
DMA転送部104は、DMA転送中アドレスレジスタ111がDMA転送停止アドレスレジスタ112に格納されたアドレスに達するとメモリ101A内のデータの転送を停止し、メモリ101B内のデータの転送を開始する。同時に、DMA転送予約フレームサイズレジスタ118の値を全てDMA転送フレームサイズレジスタ114にロードする(S216)。また、その際、DMA転送停止アドレスレジスタ112の値を初期化する。
【0091】
図9は、早送り再生へ切り替えたときの状態を示す。図示のように、DMA転送中アドレスレジスタ111はメモリ101Bの先頭(フレームD4+L)を指している。また、DMA転送フレーム番号レジスタ115には、メモリ101Bの1番目に格納されているフレームの番号「1」が格納されている。また、DMA転送フレームサイズレジスタ114には、早送り再生へ切り替える前のDMA転送予約フレームサイズレジスタ118に格納された各フレームがロードされている。
【0092】
このように、DMA転送フレームサイズレジスタ114、DMA転送フレーム番号レジスタ115をDMA転送部104に設けることにより、通常再生と特殊再生の切り替え時に、メモリに格納されているデコード後データのフレーム境界を検出することができる。そのため、適切な早送り再生用データを生成することができる。つまり、フレームのデコード後データが可変長であっても、消費電力を抑制すると共に、通常再生と特殊再生の切り替え時に誤再生を回避することができる。
【0093】
以上、実施の形態をもとに本発明を説明した。実施の形態は例示であり、本発明の主旨から逸脱しない限り、上述した実施の形態に対してさまざまな変更、増減を行ってもよい。これらの変更、増減が行われた変形例も本発明の範囲にあることは当業者に理解されるところである。
【0094】
例えば、本実施の形態において、メモリ101を2つの領域(メモリ101Aとメモリ101B)に分けて、DMA転送と、予約されたDMA転送のデコード後データを夫々格納するようにしている。DMA転送と、予約されたDMA転送のデコード後データを夫々格納する2つのメモリを設けるようにしてもよい。
【符号の説明】
【0095】
1 プロセッサ
2 プロセッサ
3 メモリ
4 DMA転送部
5 PCM
6 DAコンバータ(DAC)
7 割り込み方向切り替えスイッチ
8 DMA転送中アドレスレジスタ
9 DMA転送停止アドレスレジスタ
10 割り込み信号
11 割り込み信号
12 割り込み信号切り替え制御信号
13 プロセッサ1の要求
14 プロセッサ2のレスポンス
100 オーディオ再生装置
A プロセッサ
B プロセッサ
101 メモリ
101A メモリ
101B メモリ
104 DMA転送部
105 PCM
106 DAC
107 切り替えスイッチ
111 DMA転送中アドレスレジスタ
112 DMA転送停止アドレスレジスタ
113 DMA転送サイズレジスタ
114 DMA転送フレームサイズレジスタ
115 DMA転送フレーム番号レジスタ
116 DMA転送予約アドレスレジスタ
117 DMA転送予約サイズレジスタ
118 DMA転送予約フレームサイズレジスタ
CTR 制御信号
INS 要求指示信号
FW 早送り指示信号
RES レスポンス信号
S DMA転送完了割り込み信号
SA DMA転送完了割り込み信号
SB DMA転送完了割り込み信号

【特許請求の範囲】
【請求項1】
第1のプロセッサと、
前記第1のプロセッサにより電源のオン・オフが制御され、圧縮された音声データをデコードする第2のプロセッサと、
前記第2のプロセッサによりデコードされたデコード後データを格納する第1のメモリと、
前記第1のメモリに格納されたデコード後データを格納順に転送するDMA転送部とを備え、
前記DMA転送部は、
前記第1のメモリに格納されている各フレームのうちの、現在転送されているフレームの格納順を示すフレーム番号を格納するDMA転送フレーム番号レジスタと、
前記第1のメモリに格納された各フレームについて、該フレームのサイズと前記第1のメモリにおける格納順とを対応付けて格納するDMA転送フレームサイズレジスタと、
転送中のフレームの先頭アドレスを格納するDMA転送中アドレスレジスタと、
転送中に、通常再生とは異なる特殊再生が要求されたときに、前記第1のメモリに格納されたフレームのうちの、該フレームの転送が完了すると、前記第1のメモリに格納されたデコード後データの転送が停止される前記フレームである停止フレームの終端アドレスを格納するDMA転送停止アドレスレジスタとを有し、
前記第2のプロセッサは、
転送中に前記特殊再生が要求されたときに、
前記DMA転送フレーム番号レジスタと、前記DMA転送フレームサイズレジスタとを参照し、
前記DMA転送中アドレスレジスタに格納されたアドレスに所定バイト数を加算して得たアドレスにそのデコード後データが格納されたフレームを前記停止フレームとして、該停止フレームの終端アドレスを前記DMA転送停止アドレスレジスタに設定することを特徴とするオーディオ再生装置。
【請求項2】
DMA転送予約されたデコード後データを格納する第2のメモリをさらに備え、
前記DMA転送部は、
前記第1のメモリ内のデコード後データの転送を完了すると、前記第2のメモリに格納されたデコード後データの転送をするものであり、
前記第2のメモリに格納された各フレームについて、該フレームのサイズと前記第2のメモリにおける格納順とを対応付けて格納するDMA転送予約フレームサイズレジスタとをさらに備えることを特徴とする請求項1に記載のオーディオ再生装置。
【請求項3】
前記第1のプロセッサは、前記第2のプロセッサがデコード処理をするタイミングで前記第2プロセッサの電源をオンにすることを特徴とする請求項1または2に記載のオーディオ再生装置。
【請求項4】
第1のプロセッサで電源のオン・オフが制御される第2のプロセッサにより、圧縮された音声データをデコードし、
デコードされたデコード後データをメモリに格納すると共に、前記メモリに格納された各フレームについて、該フレームのサイズと前記メモリにおける格納順とを対応付けて記憶し、
DMA転送により前記メモリに格納されたデコード後データを格納順に転送すると共に、前記メモリに格納されている各フレームのうちの、現在転送されているフレームの格納順を示すフレーム番号と、転送中のフレームの先頭アドレスを記憶し、
転送中に、通常再生とは異なる特殊再生が要求されたときに、
前記フレーム番号と、前記格納順と対応付けて記憶された各前記フレームのサイズとを参照し、前記転送中フレームの先頭アドレスに所定バイト数を加算して得たアドレスにそのデコード後データが格納されたフレームを停止フレームとして、該停止フレームの終端アドレスを設定し、
前記停止フレームは、前記メモリに格納されたフレームのうちの、該フレームの転送が完了すると、前記メモリに格納されたデコード後データの転送が停止される前記フレームであることを特徴とするオーディオ再生方法。

【図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


【公開番号】特開2012−208755(P2012−208755A)
【公開日】平成24年10月25日(2012.10.25)
【国際特許分類】
【出願番号】特願2011−74269(P2011−74269)
【出願日】平成23年3月30日(2011.3.30)
【出願人】(302062931)ルネサスエレクトロニクス株式会社 (8,021)
【Fターム(参考)】