説明

オーディオデータ転送装置、転送方法およびオーディオデータ処理システム

【課題】演算装置よって処理されるマルチチャネルのオーディオデータが格納されている外部メモリと演算装置との間にキャッシュメモリシステムを配置する場合、キャッシュメモリと外部メモリとの間のデータ転送効率の悪化を抑制する。
【解決手段】オーディオデータ転送装置40は、バッファメモリ45及び先読み部44を有する。先読み部44は、外部メモリ1に格納されているn個のチャネル(ただし、nは2以上の整数)のオーディオデータのうち少なくとも一部をバッファメモリ45へ転送する処理を制御する。さらに、先読み部44は、n個のチャネルのオーディオデータのうち演算装置30によって処理されるm個のチャネル(ただし、mは1以上、n以下の整数)に応じて、m個のチャネルのオーディオデータを外部メモリ1とバッファメモリ45の間で転送する際のデータ転送サイズを調整する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、演算装置と外部メモリ間においてオーディオデータを転送する、オーディオデータ転送装置に関する。
【背景技術】
【0002】
近年、デジタルテレビやDVDレコーダーなどのAV機器が急速に普及している。また、5.1チャネルや7.1チャネルなどマルチチャネルのオーディオデータが規格化されたことから、AV機器においてマルチチャネルのオーディオデータを処理しなければならなくなっている。
【0003】
AV機器は、符号化されたデータを復号するAVデコーダを有している。非特許文献1にはAVデコーダLSIが開示されている。
AVデコーダは、ビデオやオーディオの同期再生に必要なプログラム時刻参照値(PCR:Program Clock Reference)を示すPCRカウンタ、外部から入力したストリームデータをビデオデータ、オーディオデータ、字幕情報、文字スーパー情報などに分離する多重/分離コア、ビデオデータの映像信号処理を行うMPEG4−ビデオコア、映像を高画質化するためのフィルタ処理を行うフィルタコア、オーディオデータの音声復号処理を行う音声/オーディオコアなどを有しており、これらはそれぞれ並列に動作する。
また、AVデコーダでは、回路を小型化、低消費電力化するために各モジュールを共通の外部メモリに接続して動作する。
【0004】
オーディオデータの音声復号処理は、一般に、演算装置としてCPU(Central Processing Unit)やDSP(Digital Signal Processor)などを使用したソフトウェア処理で行われる。CPUやDSPが高速に動作するためには、外部メモリに格納されているプログラムやデータに対するメモリアクセス時間の短縮が必須となるため、音声/オーディオコアにはプログラム及びデータの先読み機構を備えたキャッシュシステムを持つ演算装置が使用されている。
【0005】
特許文献1には、先読みパターンデータに基づくデータの先読み機能、先読みパターンデータ生成機能を有するネットワークキャッシュ装置およびプログラムが開示されている。
特許文献2には、キャッシュ領域を複数のブロックで構成し、各ブロックに優先度のランク分けを行い再利用率などからランクを適宜変更することで、キャッシュ領域を効率的に利用する、キャッシュ制御プログラムおよびキャッシュ処理行うコンピュータが開示されている。
特許文献3には、キャッシュシステムを用いた演算装置およびデータ処理システムが開示されている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開平09−212421号公報
【特許文献2】特開2003−122634号公報
【特許文献3】特開2008−003929号公報
【非特許文献】
【0007】
【非特許文献1】石川正一、浅野篤、斯波万恵「モバイル放送受信端末用LSIチップセット(2)−限定受信LSI及びAVデコーダLSI」、東芝レビューVol.59 No.11 2004年、P24−26
【発明の概要】
【発明が解決しようとする課題】
【0008】
本願の発明者は、演算装置によって処理されるマルチチャネルのオーディオデータが格納されている外部メモリと演算装置との間にキャッシュメモリシステムを配置する場合、キャッシュメモリと外部メモリとの間のデータ転送効率が悪化するという問題があることを見出した。この問題は、キャッシュメモリと外部メモリの間のデータ転送サイズと、マルチチャネルのオーディオデータのデータ構造に起因する。以下、この問題について説明する。
【0009】
一般に、キャッシュメモリと外部メモリの間のデータ転送サイズは、キャッシュメモリ内のキャッシュライン幅および先読みするデータ量などに応じて固定のサイズとなっている。このため、例えば、演算装置が処理するデータのサイズがデータ転送サイズに比べて小さい場合、演算装置が処理するデータ以外の不要なデータが外部メモリからキャッシュメモリに転送されてしまう。また、演算装置が処理するデータがデータ転送サイズに比べて大きい場合、外部メモリへのアクセスを複数回に分割して行わなければならない。これらの、無駄なデータ転送や、メモリアクセス回数の増加が、キャッシュメモリと外部メモリの間のデータ転送効率の低下をもたらす。
【0010】
また、マルチチャネル(例えば、n個のチャネル;nは2以上の整数)のオーディオデータは、n個のチャネル分のデータの集合によって1つのサンプルデータが構成されている。このため、上述したキャッシュメモリと外部メモリの間のデータ転送効率の低下が一層顕著となる。すなわち、マルチチャネルのオーディオデータに含まれる一部のチャネル(例えば、m個のチャネル;mはnより小さい整数)のみが演算装置によって処理される場合であっても、キャッシュメモリによる先読みは、n個のチャネル分のデータを含むサンプルデータ単位で行われる。よって、必要なm個のチャネル以外の不要なチャネルのデータがキャッシュメモリと外部メモリの間で転送されてキャッシュメモリに蓄積されてしまうことや、不要なチャネルのデータ転送のために外部メモリへのアクセス回数の増加が生じてしまう。
【0011】
なお、特許文献1に開示されたネットワークキャッシュ装置およびプログラムは、キャッシュされたデータから特定のパターンで先読みデータを作成するものであり、キャッシュメモリと外部メモリ間のデータの転送効率の向上を図るものではない。
特許文献2に開示されたキャッシュ制御プログラムおよびキャッシュ処理を行うコンピュータは、過去に使用したデータをキャッシュとして保持する際にランク付けを行うことで、再利用される頻度の高いデータがキャッシュメモリ上に存在する確率を向上させるものであり、外部メモリとキャッシュメモリ間のデータの転送効率の向上を図るものではない。
特許文献3に開示されたキャッシュシステムを用いた演算装置およびデータ処理システムは、データの先読みを行う領域の開始アドレス、終了アドレス、読み出しサイズ、アドレスのオフセット情報の保持とデータの先読みを制御するロードキャッシュ/ストアキャッシュ制御部を複数有することで、キャッシュメモリが演算装置とは独立して、アクセスが要求されたアドレスと連続するアドレスに格納されたデータをキャッシュメモリに先読みすることで演算装置の待ち時間を短縮するものであり、キャッシュメモリと外部メモリ間のデータの転送効率の向上を図るものではない。
【課題を解決するための手段】
【0012】
本発明の第1の態様にかかるオーディオデータ転送装置は、バッファメモリ及び先読み部を有する。前記先読み部は、外部メモリに格納されているn個のチャネル(ただし、nは2以上の整数)のオーディオデータのうち少なくとも一部を前記バッファメモリへ転送する処理を制御する。さらに、前記先読み部は、前記n個のチャネルのオーディオデータのうち演算装置によって処理されるm個のチャネル(ただし、mは1以上、n以下の整数)に応じて、前記m個のチャネルのオーディオデータを前記外部メモリと前記バッファメモリの間で転送する際のデータ転送サイズを調整する。
【0013】
本発明の第2の態様にかかるオーディオデータの転送方法は、以下の(a)及び(b)を含む。
(a)n個のチャネル(ただし、nは2以上の整数)のオーディオデータのうち演算装置によって処理されるm個のチャネル(ただし、mは1以上、n以下の整数)のオーディオデータを特定すること;および
(b)前記m個のチャネルに応じて調整されたデータ転送サイズを適用して、前記m個のチャネルのオーディオデータを外部メモリからバッファメモリに転送する処理を制御すること。
【0014】
上述したように、本発明の各態様によれば、n個のチャネルのオーディオデータのうち演算装置による処理対象となるm個のチャネルに応じて、外部メモリとバッファメモリの間のデータ転送サイズを調整できる。このため、演算装置による処理対象になるか否かに拘らずn個のチャネルのオーディオデータを外部メモリとバッファメモリの間で転送することに起因する無駄なデータ転送の発生およびデータ転送回数の増加を抑制できる。
【発明の効果】
【0015】
上述した本発明の各態様によれば、外部メモリに格納されたマルチチャネル・オーディオデータを演算装置に供給するために取得する際のデータ転送効率の悪化を抑制することができる。
【図面の簡単な説明】
【0016】
【図1】発明の実施の形態1にかかるオーディオデータ転送装置の構成図である。
【図2】発明の実施の形態1にかかるデータアクセス記録部の記録情報を表した模式図である。
【図3】発明の実施の形態1にかかるオーディオデータバッファの模式図である。
【図4】発明の実施の形態1にかかるオーディオデータ転送の処理の流れを示すフローチャートである。
【図5】発明の実施の形態1にかかるチャネルアクセスの解析を示すフローチャートである。
【図6】発明の実施の形態1にかかるデータアクセス記録部に記録されている情報を表した模式図である。
【図7】発明の実施の形態1にかかる6チャネル分のデータを転送する際の模式図である。
【図8】発明の実施の形態2にかかるオーディオデータ転送装置の構成図である。
【発明を実施するための形態】
【0017】
発明の実施の形態1.
最初に、本発明の実施の形態にかかるオーディオデータ処理システム50の構成を、図1を用いて説明する。当該オーディオデータ処理システム50を構成する各要素及び動作については後に詳細に説明する。
【0018】
オーディオデータ処理システム50は、外部メモリ1、命令キャッシュ10、CPU30、オーディオデータ転送装置40を有する。オーディオデータ転送装置40は、データキャッシュ20、データアドレス判別部41、データアクセス解析部42、データアクセス記録部43、オーディオデータ先読み部44を有する。オーディオデータ先読み部44は、オーディオデータバッファ45を有する。
【0019】
CPU30は、実行するプログラムが格納されているアドレスを命令キャッシュ10に対して出力し、前記アドレスに格納されているプログラムコードを読み出し、プログラムの実行によりオーディオデータ転送装置40との間でデータの入出力を行う。さらにCPU30は、データキャッシュ20とオーディオデータ先読み部44に内部データのクリア命令を出力する。
【0020】
命令キャッシュ10は、外部メモリ1にアドレスを出力し、前記アドレスに格納されているデータを読み出す。
【0021】
オーディオデータ転送装置40は、CPU30と外部メモリ1それぞれとの間でデータの入出力を行う。
【0022】
データアドレス判別部41は、外部メモリ1に確保されているオーディオデータの先頭アドレスと終了アドレスをあらかじめ保持している。データアドレス判別部41は、CPU30がデータアクセスを行う場合には、CPU30がアクセスしようとするデータのアドレス情報と、データアドレス判別部41が保持するアドレス情報を比較し、CPU30がアクセスしたいデータが、オーディオデータであるか否かの判別を行う。データアドレス判別部41は、CPU30がアクセスしようとするデータがオーディオデータであると判別した場合には、データアクセス解析部42にアドレス情報を出力する。また、データアドレス判別部41は、CPU30がアクセスしようとするデータがオーディオデータであると判別した場合には、オーディオデータ先読み部44とCPU30との間でデータ転送の仲介を行い、オーディオデータ以外のデータであると判別した場合には、データキャッシュ20とCPU30との間でデータ転送の仲介を行う。
【0023】
データキャッシュ20は、先読み機構を持たないキャッシュメモリであり、データアドレス判別部41と外部メモリ1それぞれとの間でオーディオ以外のデータの入出力を行う。
【0024】
データアクセス解析部42は、データアドレス判別部41によりCPU30がアクセス要求しているデータがオーディオデータであると判別された場合には、データアドレス判別部41からCPU30がアクセスするオーディオデータのアドレス情報を入力し、アドレス情報からCPU30がアクセスを要求しているオーディオデータのチャネル構成を解析し、データアクセス記録部43に結果を出力する。
【0025】
データアクセス記録部43は、データアクセス解析部42とオーディオデータ先読み部44に対してCPU30がアクセス要求するチャネル情報を入出力し、CPU30がアクセスを要求するチャネルへのアクセス履歴を記録する。
【0026】
図2は、データアクセス記録部43の記録情報の一例を示す模式図ある。オーディオデータが8チャネル構成(以降、CH1乃至CH8と称す)の場合のデータアクセス記録部43に記録されているアクセス有無情報を表し、図2において丸印がついているところが前記アクセス有無情報に該当する。図2は、CH1乃至CH6がCPU30よりアクセス中のチャネルであることを表す。
【0027】
オーディオデータ先読み部44は、データアドレス判別部41と外部メモリ1のそれぞれに対してオーディオデータの入出力を行う。オーディオデータ先読み部44は、データアクセス記録部43に記録されているアクセス有無情報に基づいて、CPU30が次にアクセスするオーディオデータを外部メモリ1から先行して読み込み、これをオーディオデータバッファ45に書き込む。
【0028】
ここでCPUが次にアクセスするオーディオデータを格納している外部メモリ1のアドレスの予測は、オーディオデータを外部メモリ1内に、規則性をもつように格納しておくことで行うことができる。例えば、外部メモリ1の連続するアドレス上に、あらかじめチャネル順にオーディオデータが順次格納された状態としておくことで、オーディオデータ先読み部44が有しているアドレス情報から、CPU30が次にアクセスするオーディオデータを格納している外部メモリ1のアドレスを予測することができる。
【0029】
オーディオデータ先読み部44は、オーディオデータバッファ45に格納されているデータをデータアドレス判別部41へ出力すると共に、CPU30からアクセス要求のあったオーディオデータのアドレス情報、オーディオデータバッファ45に格納されているデータ量、データアクセス解析部42で解析したCPU30がアクセスを要求するオーディオデータのチャネル構成の情報、データアクセス記録部43に保存されたアクセス有無情報に基づき、CPU30が次にアクセスするオーディオデータを格納している外部メモリ1のアドレスを予測し、オーディオデータバッファ45に格納されているデータと外部メモリ1のデータの入れ替えを行う。ここで、データアクセス記録部43に保存されたアクセス有無情報を利用することでアクセス済みのオーディオデータを把握することができ、外部メモリとオーディオバッファ間で効率良いデータ転送を図ることができる。
【0030】
ここで、オーディオデータ先読み部44は、データアクセス記録部43に記録された記録内容を参照せず、あらかじめオーディオデータ先読み部44が保持していた、CPU30がアクセスを要求するオーディオデータのチャネル構成の情報やオーディオデータが格納されている外部メモリ1のアドレス情報に基づいて、オーディオバッファ45にオーディオデータを入力することができる。また、データアドレス判別部41から入力されたアドレス情報に基づいて、外部メモリ1からオーディオデータバッファ45にオーディオデータを入力することもできる。
【0031】
図3は、オーディオデータバッファ45の模式図であり、図3(a)はそれぞれのバンクにデータが何も入力されていない状態を示す。なお図3において、100〜107、200〜207、300〜307、400〜407、500〜507はそれぞれオーディオデータを表す。オーディオデータバッファ45は2つのバンクから構成されており、CPU30がアクセスするデータがバンク1からバンク2、バンク2からバンク1へ移動した場合にデータの入れ替えを行う。1バンク当たりのデータサイズは、CPU30の処理速度とオーディオデータ先読み部44と外部メモリ1のデータ転送速度に基づき、CPU30が次に同じバンクのデータへアクセスするまでにデータの入れ替えが終了するデータサイズとすると良い。
【0032】
以下にオーディオデータバッファ45と外部メモリ1のデータ入れ替え動作を示す。
【0033】
オーディオデータ先読み部44は、CPU30が参照したアドレスに格納されているデータがオーディオデータバッファ45に格納されていない場合は、オーディオデータバッファ45の全てのデータを外部メモリ1へ書き込み、新たにオーディオデータバッファ45にオーディオデータバッファ45のバッファサイズ分の前記CPU30が参照したアドレスに格納されているデータを外部メモリ1から読み込み、オーディオデータバッファ45へ書き込む。図3(b)に、オーディオバッファ45にデータを書き込んだ状態の例を示す。
【0034】
CPU30が参照したアドレスに格納されているデータがオーディオデータバッファ45のバンク間を移動する場合には、データアクセス記録部43にアクセスチャネルの情報が記録されていなければ、CPU30がバンク間を移動する前にアクセスを行っていた方のバンクの全データを外部メモリ1へ書き込み、外部メモリ1へ書き込みを行った方のバンクに1バンク分のサイズのデータを読み込む。図3(c)に、バンク1が外部メモリ1へデータを書き込んだ後に、バンク1からデータの読み込みを行った状態の例を示す。図3(c)は図3(b)の状態から、オーディオデータ100〜107が格納されていた場所に、オーディオデータ300〜307が格納された状態となったこと示している。
【0035】
データアクセス記録部43にアクセスチャネルの情報が記録されている場合は、CPU30がバンク間を移動する前にアクセスを行っていた方のバンクのデータから、データアクセス記録部43の内容に基づいて、特定チャネルについてCPU30がアクセスしているオーディオデータだけを外部メモリ1へ書き込み、外部メモリ1へ書き込みを行った領域に、特定チャネルについてCPU30がアクセスしているオーディオデータだけを外部メモリ1から読み込む。図3(d)に、CPU30がアクセスしているチャネルのデータだけを、バンク1が外部メモリ1へデータを書き込んだ後にバンク1からデータの読み込みを行った状態の例を示す。図3(d)は図3(b)の状態から、100、101、105、106が格納されていた場所にオーディオデータ300、301、305、306が格納された状態となったことを示している。
【0036】
データアクセス記録部43にチャネル情報が記録済みで、かつこれまでアクセスしていたバンク内のデータにCPU30が一度もアクセスしていないデータがある場合は、データアクセス記録部43のアクセス有無情報を全てクリアし、オーディオデータバッファ45に格納されている全てのデータを外部メモリ1に書き込み、新たにオーディオデータバッファ45にオーディオデータバッファ45のバッファサイズ分の前記CPU30が参照したアドレスに格納されているデータを外部メモリ1よりオーディオデータバッファ45に読み込む。図3(e)に、外部メモリ1からオーディオデータバッファ45にオーディオデータを新たに読み込んだ状態の例を示している。図3(e)では、オーディオバッファ45にこれまで格納されていたデータとは異なるデータが、オーディオバッファ45に格納された状態となったことを示している。
【0037】
CPU30が処理を終了する場合はCPU30からオーディオデータ先読み部44にオーディオデータバッファ45の内部データクリア要求を行う。オーディオデータ先読み部44はCPU30からの内部データクリア要求を受けると、オーディオデータバッファ45に格納されている全てのデータを外部メモリへ書き込むと共に、データアクセス記録部43のアクセス有無情報を全てクリアする。
【0038】
図4は、オーディオデータ処理システム50及びオーディオデータ転送装置40の動作の一例をフローチャートで表したものである。
図4に示すように、まずCPU30がデータを取得するためのアクセス要求が出力される(ステップS10)。次に、このアクセス要求に含まれるアドレス情報から、該当するアドレスに格納された情報がオーディオデータであるか否かの判別を行う(ステップS11)。
【0039】
ステップS11でオーディオデータであると判別された場合には、オーディオデータ先読み部44にアドレス情報を転送し(ステップS12)、アドレス情報からアクセス要求されているチャネルデータの解析を行う(ステップS13)。解析結果は、データアクセス解析部に記録する(ステップS14)。オーディオデータ先読み部44は、現在要求されている外部メモリのアドレス情報と、ステップS14で記録された情報に基づいて、次にCPU30が外部メモリ1から要求する、特定のチャネルのオーディオデータを先読みする(ステップS15)。CPU30は、オーディオバッファに先読みされたオーディオデータを入力し、順次処理する(ステップS16)。
【0040】
ステップS11でオーディオデータではないと判別された場合には、データキャッシュ20にアドレス情報を転送し(ステップS17)、CPU30が必要に応じて処理を行う(ステップS18)。
【0041】
図5は、データアクセス解析部42が、CPU30がアクセスするオーディオデータのアドレス情報を解析し、データアクセス記録部43にチャネル情報を書き込む際の手順の一例を示したフローチャートである。
【0042】
データアクセス解析部42は、処理開始前は待機状態とし、処理の開始後にはCPU30がオーディオデータへのアクセスを行ったか否かの判別を行う。判別は、データアドレス判別部41が保持するオーディオデータのアドレス情報と、CPU30が参照したアドレスの比較により行う。CPU30がオーディオデータへのアクセスを行ったと判別された場合には、データアドレス判別部41からデータアクセス解析部42へ、CPU30が参照したアドレスを入力する。CPU30が行ったアクセスがオーディオデータに対してではないと判別された場合には、処理を繰り返す(ステップS20)。
【0043】
データアクセス解析部42は、データアドレス判別部41からCPU30がアクセスしたオーディオデータのアドレスが入力されたら、前記入力されたアドレスに基づき、CPU30がアクセスしたオーディオデータがどのチャネルであるかを判別する(ステップS21)。このとき、オーディオチャネルは、例えば式1により求めることができる。ここで%は割り算の余りを計算結果として返す、剰余の演算子を示す。
オーディオチャネル={(A−B)/C%D}+1・・・・式1
A:CPUのアクセスアドレス
B:オーディオデータ領域の先頭アドレス
C:1チャネル当たりのデータサイズ
D:総チャネル数
【0044】
データアクセス解析部42は、特定チャネルについてCPU30がアクセスしたオーディオデータがアクセス済みであるか否かを、データアクセス記録部43のアクセス有無情報に基づいて判別する(ステップS22)。CPU30がアクセスしたチャネルがアクセス済みの場合には、データアクセス記録部43への書き込みを終了する。CPU30がアクセスしたチャネルがアクセス済みでない場合は、特定チャネルについてCPU30がアクセスしたオーディオデータがアクセス済みであると、データアクセス記録部43に書き込み(ステップS23)、データアクセス解析部42は待機状態に戻る。
【0045】
図6は、CPU30が、不連続なチャネルを含んだチャネル構成でのデータアクセスを行う場合において、アクセスチャネルの情報がデータアクセス記録部43に記録されている状態を示している。この場合は、データサイズ優先モードとアクセス回数優先モードのいずれかを選択し、データ転送を行う。
【0046】
データサイズ優先モードでは、不連続なチャネルを含んだチャネル構成の場合には、その前後のチャネルでデータ転送を分割する。図6に示すように、CPU30がCH1、CH2、CH6、CH7のオーディオデータに対してアクセスする場合は、CH1とCH2の2チャネル分のデータ転送とCH6とCH7の2チャネル分のデータ転送の2回にデータ転送を分割する。これにより、不要なデータの転送を行わないようにすることができ、データサイズを小さくすることができる。
【0047】
アクセス回数優先モードではデータ転送回数が1回で行われることを優先し、CPU30がアクセスを要求するオーディオデータについて、チャネル構成が不連続である場合において、CPU30が使用を予定していないチャネルのデータも含めてデータ転送を行う。図6に示すように、CPU30がCH1、CH2、CH6、CH7のオーディオデータに対してアクセスする場合は、CH1からCH7までの7チャネル分のデータを1度のデータ転送で転送する。
【0048】
図7は、CPU30が6チャネル分のデータにアクセスする際の、外部メモリ1からオーディオデータバッファ45へのデータ転送の模式図である。データ転送は、アクセスしたいデータのアドレスとサイズの情報を送信したり、他のモジュールがバスを使用中の場合は転送が終わるまで待ったりする調停期間と、調停期間に続いてデータの送受信を行うデータ転送期間から構成される。
【0049】
図7(a)及び(b)は、本実施の形態にかかるオーディオデータ転送装置40のデータの転送効率が良いことを説明するための比較例である。また、図7(c)は、オーディオデータ転送装置40による転送を示している。
【0050】
図7(a)は、1回のデータ転送で送受信するデータの量が2チャネル分であり、6チャネルのデータを複数回に分割して転送する場合の例である。この場合、調停期間をCH1、CH2のデータ転送前に設けるのと同様に、CH3、CH4のデータ転送とCH5、CH6のデータ転送についても、調停期間を設ける必要がある。この場合のデータ転送は、調停期間、CH1のデータ転送、CH2のデータ転送、調停期間、CH3のデータ転送、CH4のデータ転送、調停期間、CH5のデータ転送、CH6のデータ転送となり、複数の調停期間を必要とすることから、全体のデータ転送時間は長くなってしまう。
【0051】
図7(b)は、CPU30がアクセスするオーディオデータのチャネル構成にかかわらず一定の転送サイズでデータ転送が行われる例である。図7(b)では、1回のデータ転送で送受信するデータの量が8チャネル分であり、CPU30がアクセスするオーディオデータのチャネル構成がCH1乃至CH6までの6チャネル分だけの場合の例である。この場合は、調停期間、CH1のデータ転送、CH2のデータ転送、CH3のデータ転送、CH4のデータ転送、CH5のデータ転送、CH6のデータ転送、CH7のデータ転送、CH8のデータ転送を一連の処理として行うため、CPU30がアクセスすることを予定しないCH7、CH8のデータまで転送されてしまい、全体のデータ転送時間が長くなってしまう。
【0052】
本実施の形態では、データアクセス記録部43に記録されたチャネル構成に基づいてCPU30がアクセスしているオーディオデータのデータサイズに合わせてデータ転送を行う。この図7(c)に示すようにCPU30がアクセスするオーディオデータのチャネル構成がCH1からCH6までの6チャネル分だけの場合、データ転送が調停期間、CH1のデータ転送、CH2のデータ転送、CH3のデータ転送、CH4のデータ転送、CH5のデータ転送、CH6のデータ転送となる。1回のアクセスで必要な6チャネル分のデータだけを転送するため、図7(a)や図7(b)に示した例よりデータの転送効率が良く、転送時間を短縮することができる。
【0053】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、オーディオデータバッファ45のバンクの入れ替えにおいて、外部メモリ1に格納されている特定のチャネルのオーディオデータをオーディオデータバッファ45の特定のブロックに割り当てるようにすることで、CPU30がオーディオデータバッファ45に保持されている特定チャネルのオーディオデータを探索しやすい構成とすることもできる。
【0054】
発明の実施の形態2.
図8は、実施の形態2のオーディオデータ転送装置の構成図であり、CPU30がデータアクセス記録部43を書き換えて動作する方法における構成図である。
【0055】
データアクセス解析部42がなく、新たにCPU30からデータアクセス記録部43に、CPU30がアクセスするオーディオデータのチャネル構成に関する情報を出力することとした点で実施の形態1の構成とは異なる。
【0056】
実施の形態1では、データアクセス解析部42は、CPU30が参照するアドレス情報に基づいてチャネル構成の解析を行い、その結果をデータアクセス記録部43へ記録を行っていた。一方、実施の形態2ではCPU30がオーディオデータにアクセスする前にアクセスするチャネル構成をデータアクセス記録部43へ書き込み、その後、オーディオデータにアクセスを行う。
【0057】
オーディオデータ先読み部44は、データアクセス記録部43に書き込まれているアクセス有無情報を参照し、オーディオデータバッファ45と外部メモリ1とのデータ転送を行う。これにより、実施の形態1と同等の効果が得られる。
【0058】
また、実施の形態2では、CPU30がオーディオデータにアクセスする以前にデータアクセス記録部43にアクセスするチャネル構成を記録してから、オーディオデータにアクセスを行う。そのため、オーディオデータ先読み部44は最初のオーディオデータアクセスからCPU30のアクセスするオーディオデータのチャネル構成に合わせたサイズでオーディオデータバッファ45と外部メモリ1とのデータ転送を行うことができる。
【0059】
実施の形態2で用いる各構成部は、実施の形態1に記載の各構成部と同様の機能を有するものであり、詳細な説明は省略する。
【0060】
なお、実施の形態2の装置でのオーディオデータ処理システム50及びオーディオデータ転送装置40の動作の流れは、図4のフローチャートにおいて、アドレス解析を行うステップS13が無く、CPU30がオーディオデータにアクセスする以前に、データアクセス記録部43にアクセスするチャネル構成をあらかじめ記録しておくステップを有するものとなる。
【0061】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、実施の形態1及び実施の形態2について、データバッファ45はリード及びライトの両方を行う必要はなく、リードアクセスのみであっても良い。
【符号の説明】
【0062】
1 外部メモリ
10 命令キャッシュ
20 データキャッシュ
30 CPU
40 オーティオデータ転送装置
41 データアドレス判別部
42 データアクセス解析部
43 データアクセス記録部
44 オーディオデータ先読み部
45 オーディオデータバッファ
50 オーディオデータ処理システム

【特許請求の範囲】
【請求項1】
バッファメモリと、
外部メモリに格納されているn個のチャネル(ただし、nは2以上の整数)のオーディオデータのうち少なくとも一部を前記バッファメモリへ転送する処理を制御する先読み部と、
を備え、
前記先読み部は、前記n個のチャネルのオーディオデータのうち演算装置によって処理されるm個のチャネル(ただし、mは1以上、n以下の整数)に応じて、前記m個のチャネルのオーディオデータを前記外部メモリと前記バッファメモリの間で転送する際のデータ転送サイズを調整する、
オーディオデータ転送装置。
【請求項2】
前記先読み部は、前記m個のチャネルのオーディオデータを取得するために必要な前記バッファメモリと前記外部メモリの間のデータ転送回数が少なくなるように、前記データ転送サイズを調整する、請求項1に記載のオーディオデータ転送装置。
【請求項3】
前記先読み部は、前記m個のチャネルのオーディオデータを取得するために必要な前記バッファメモリと前記外部メモリの間の1回あたりのデータ転送サイズが小さくなるように、前記データ転送サイズを調整する、請求項1または請求項2に記載のオーディオデータ転送装置。
【請求項4】
前記先読み部は、前記演算装置が前記外部メモリから前記オーディオデータを取得するために出力するアドレス情報に基づいて、前記m個のチャネルを特定する、
請求項1〜請求項3のいずれかに記載のオーディオデータ転送装置。
【請求項5】
前記先読み部は、前記演算装置から前記m個のチャネルを特定する通知を受ける、
請求項1〜請求項4のいずれかに記載のオーディオデータ転送装置。
【請求項6】
前記演算装置が前記外部メモリにアクセスした履歴に基づき、前記先読み部が、次に取得する前記m個のチャネルのオーディオデータを特定する
請求項1〜請求項5のいずれかに記載のオーディオデータ転送装置。
【請求項7】
前記演算装置がアクセスするデータがオーディオデータであるかを判別するデータアドレス判別部と、前記データがオーディオデータでない場合に前記データをキャッシュするデータキャッシュ部をさらに備える
請求項1〜請求項6のいずれかに記載のオーディオデータ転送装置。
【請求項8】
n個のチャネル(ただし、nは2以上の整数)のオーディオデータのうち演算装置によって処理されるm個のチャネル(ただし、mは1以上、n以下の整数)のオーディオデータを特定する第1のオーディオデータ特定ステップと、
前記m個のチャネルに応じて調整されたデータ転送サイズを適用して、前記m個のチャネルのオーディオデータを外部メモリからバッファメモリに転送する処理を制御する転送制御ステップと、
を含む、オーディオデータの転送方法。
【請求項9】
前記m個のチャネルのオーディオデータを取得するために必要な前記バッファメモリと前記外部メモリの間のデータ転送回数が少なくなるように、前記データ転送サイズを調整するデータ転送サイズ調整ステップ、
をさらに含む、請求項8に記載のオーディオデータ転送方法。
【請求項10】
前記m個のチャネルのオーディオデータを取得するために必要な前記バッファメモリと前記外部メモリの間の1回あたりのデータ転送サイズが小さくなるように、前記データ転送サイズを調整するデータ転送サイズ調整ステップ、
をさらに含む、請求項8または請求項9に記載のオーディオデータ転送方法。
【請求項11】
前記第1のオーディオデータ特定ステップは、前記演算装置が前記外部メモリから前記オーディオデータを取得するために出力するアドレス情報に基づいて行われる
請求項8〜請求項10のいずれかに記載のオーディオデータ転送方法。
【請求項12】
前記演算装置から前記m個のチャネルを特定する通知を受けるチャネル特定通知受信ステップ
をさらに含む、請求項8〜請求項11のいずれかに記載のオーディオデータ転送方法。
【請求項13】
前記演算装置が前記外部メモリにアクセスした履歴に基づき、次に取得する前記m個のチャネルのオーディオデータを特定する第2のオーディオデータ特定ステップ
をさらに含む、請求項8〜請求項12のいずれかに記載のオーディオデータ転送方法。
【請求項14】
前記演算装置がアクセスするデータがオーディオデータであるかを判別するオーディオデータ判別ステップと、
前記データがオーディオデータでない場合にデータキャッシュ部に前記データをキャッシュするデータキャッシュステップと、
を含む、請求項8〜請求項13のいずれかに記載のオーディオデータ転送方法。
【請求項15】
前記演算装置と、前記外部メモリと、
請求項1から請求項7のいずれかに記載のオーディオデータ転送装置を備える
オーディオデータ処理システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2010−267117(P2010−267117A)
【公開日】平成22年11月25日(2010.11.25)
【国際特許分類】
【出願番号】特願2009−118582(P2009−118582)
【出願日】平成21年5月15日(2009.5.15)
【出願人】(302062931)ルネサスエレクトロニクス株式会社 (8,021)
【Fターム(参考)】