(57)【要約】      （修正有）【課題】演算装置よって処理されるマルチチャネルのオーディオデータが格納されている外部メモリと演算装置との間にキャッシュメモリシステムを配置する場合、キャッシュメモリと外部メモリとの間のデータ転送効率の悪化を抑制する。【解決手段】オーディオデータ転送装置４０は、バッファメモリ４５及び先読み部４４を有する。先読み部４４は、外部メモリ１に格納されているｎ個のチャネル（ただし、ｎは２以上の整数）のオーディオデータのうち少なくとも一部をバッファメモリ４５へ転送する処理を制御する。さらに、先読み部４４は、ｎ個のチャネルのオーディオデータのうち演算装置３０によって処理されるｍ個のチャネル（ただし、ｍは１以上、ｎ以下の整数）に応じて、ｍ個のチャネルのオーディオデータを外部メモリ１とバッファメモリ４５の間で転送する際のデータ転送サイズを調整する。【選択図】図１
2010267117.tif 000002
【特許請求の範囲】
【請求項１】
バッファメモリと、
外部メモリに格納されているｎ個のチャネル（ただし、ｎは２以上の整数）のオーディオデータのうち少なくとも一部を前記バッファメモリへ転送する処理を制御する先読み部と、
を備え、
前記先読み部は、前記ｎ個のチャネルのオーディオデータのうち演算装置によって処理されるｍ個のチャネル（ただし、ｍは１以上、ｎ以下の整数）に応じて、前記ｍ個のチャネルのオーディオデータを前記外部メモリと前記バッファメモリの間で転送する際のデータ転送サイズを調整する、
オーディオデータ転送装置。
【請求項２】
前記先読み部は、前記ｍ個のチャネルのオーディオデータを取得するために必要な前記バッファメモリと前記外部メモリの間のデータ転送回数が少なくなるように、前記データ転送サイズを調整する、請求項１に記載のオーディオデータ転送装置。
【請求項３】
前記先読み部は、前記ｍ個のチャネルのオーディオデータを取得するために必要な前記バッファメモリと前記外部メモリの間の１回あたりのデータ転送サイズが小さくなるように、前記データ転送サイズを調整する、請求項１または請求項２に記載のオーディオデータ転送装置。
【請求項４】
前記先読み部は、前記演算装置が前記外部メモリから前記オーディオデータを取得するために出力するアドレス情報に基づいて、前記ｍ個のチャネルを特定する、
請求項１〜請求項３のいずれかに記載のオーディオデータ転送装置。
【請求項５】
前記先読み部は、前記演算装置から前記ｍ個のチャネルを特定する通知を受ける、
請求項１〜請求項４のいずれかに記載のオーディオデータ転送装置。
【請求項６】
前記演算装置が前記外部メモリにアクセスした履歴に基づき、前記先読み部が、次に取得する前記ｍ個のチャネルのオーディオデータを特定する
請求項１〜請求項５のいずれかに記載のオーディオデータ転送装置。
【請求項７】
前記演算装置がアクセスするデータがオーディオデータであるかを判別するデータアドレス判別部と、前記データがオーディオデータでない場合に前記データをキャッシュするデータキャッシュ部をさらに備える
請求項１〜請求項６のいずれかに記載のオーディオデータ転送装置。
【請求項８】
ｎ個のチャネル（ただし、ｎは２以上の整数）のオーディオデータのうち演算装置によって処理されるｍ個のチャネル（ただし、ｍは１以上、ｎ以下の整数）のオーディオデータを特定する第１のオーディオデータ特定ステップと、
前記ｍ個のチャネルに応じて調整されたデータ転送サイズを適用して、前記ｍ個のチャネルのオーディオデータを外部メモリからバッファメモリに転送する処理を制御する転送制御ステップと、
を含む、オーディオデータの転送方法。
【請求項９】
前記ｍ個のチャネルのオーディオデータを取得するために必要な前記バッファメモリと前記外部メモリの間のデータ転送回数が少なくなるように、前記データ転送サイズを調整するデータ転送サイズ調整ステップ、
をさらに含む、請求項８に記載のオーディオデータ転送方法。
【請求項１０】
前記ｍ個のチャネルのオーディオデータを取得するために必要な前記バッファメモリと前記外部メモリの間の１回あたりのデータ転送サイズが小さくなるように、前記データ転送サイズを調整するデータ転送サイズ調整ステップ、
をさらに含む、請求項８または請求項９に記載のオーディオデータ転送方法。
【請求項１１】
前記第１のオーディオデータ特定ステップは、前記演算装置が前記外部メモリから前記オーディオデータを取得するために出力するアドレス情報に基づいて行われる
請求項８〜請求項１０のいずれかに記載のオーディオデータ転送方法。
【請求項１２】
前記演算装置から前記ｍ個のチャネルを特定する通知を受けるチャネル特定通知受信ステップ
をさらに含む、請求項８〜請求項１１のいずれかに記載のオーディオデータ転送方法。
【請求項１３】
前記演算装置が前記外部メモリにアクセスした履歴に基づき、次に取得する前記ｍ個のチャネルのオーディオデータを特定する第２のオーディオデータ特定ステップ
をさらに含む、請求項８〜請求項１２のいずれかに記載のオーディオデータ転送方法。
【請求項１４】
前記演算装置がアクセスするデータがオーディオデータであるかを判別するオーディオデータ判別ステップと、
前記データがオーディオデータでない場合にデータキャッシュ部に前記データをキャッシュするデータキャッシュステップと、
を含む、請求項８〜請求項１３のいずれかに記載のオーディオデータ転送方法。
【請求項１５】
前記演算装置と、前記外部メモリと、
請求項１から請求項７のいずれかに記載のオーディオデータ転送装置を備える
オーディオデータ処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、演算装置と外部メモリ間においてオーディオデータを転送する、オーディオデータ転送装置に関する。
【背景技術】
【０００２】
近年、デジタルテレビやＤＶＤレコーダーなどのＡＶ機器が急速に普及している。また、５．１チャネルや７．１チャネルなどマルチチャネルのオーディオデータが規格化されたことから、ＡＶ機器においてマルチチャネルのオーディオデータを処理しなければならなくなっている。
【０００３】
ＡＶ機器は、符号化されたデータを復号するＡＶデコーダを有している。非特許文献１にはＡＶデコーダＬＳＩが開示されている。
ＡＶデコーダは、ビデオやオーディオの同期再生に必要なプログラム時刻参照値（ＰＣＲ：Program Clock Reference）を示すＰＣＲカウンタ、外部から入力したストリームデータをビデオデータ、オーディオデータ、字幕情報、文字スーパー情報などに分離する多重／分離コア、ビデオデータの映像信号処理を行うＭＰＥＧ４−ビデオコア、映像を高画質化するためのフィルタ処理を行うフィルタコア、オーディオデータの音声復号処理を行う音声／オーディオコアなどを有しており、これらはそれぞれ並列に動作する。
また、ＡＶデコーダでは、回路を小型化、低消費電力化するために各モジュールを共通の外部メモリに接続して動作する。
【０００４】
オーディオデータの音声復号処理は、一般に、演算装置としてＣＰＵ(Central Processing Unit)やＤＳＰ(Digital Signal Processor)などを使用したソフトウェア処理で行われる。ＣＰＵやＤＳＰが高速に動作するためには、外部メモリに格納されているプログラムやデータに対するメモリアクセス時間の短縮が必須となるため、音声／オーディオコアにはプログラム及びデータの先読み機構を備えたキャッシュシステムを持つ演算装置が使用されている。
【０００５】
特許文献１には、先読みパターンデータに基づくデータの先読み機能、先読みパターンデータ生成機能を有するネットワークキャッシュ装置およびプログラムが開示されている。
特許文献２には、キャッシュ領域を複数のブロックで構成し、各ブロックに優先度のランク分けを行い再利用率などからランクを適宜変更することで、キャッシュ領域を効率的に利用する、キャッシュ制御プログラムおよびキャッシュ処理行うコンピュータが開示されている。
特許文献３には、キャッシュシステムを用いた演算装置およびデータ処理システムが開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平０９−２１２４２１号公報
【特許文献２】特開２００３−１２２６３４号公報
【特許文献３】特開２００８−００３９２９号公報
【非特許文献】
【０００７】
【非特許文献１】石川正一、浅野篤、斯波万恵「モバイル放送受信端末用ＬＳＩチップセット（２）−限定受信ＬＳＩ及びＡＶデコーダＬＳＩ」、東芝レビューＶｏｌ.５９ Ｎｏ.１１ ２００４年、Ｐ２４−２６
【発明の概要】
【発明が解決しようとする課題】
【０００８】
本願の発明者は、演算装置によって処理されるマルチチャネルのオーディオデータが格納されている外部メモリと演算装置との間にキャッシュメモリシステムを配置する場合、キャッシュメモリと外部メモリとの間のデータ転送効率が悪化するという問題があることを見出した。この問題は、キャッシュメモリと外部メモリの間のデータ転送サイズと、マルチチャネルのオーディオデータのデータ構造に起因する。以下、この問題について説明する。
【０００９】
一般に、キャッシュメモリと外部メモリの間のデータ転送サイズは、キャッシュメモリ内のキャッシュライン幅および先読みするデータ量などに応じて固定のサイズとなっている。このため、例えば、演算装置が処理するデータのサイズがデータ転送サイズに比べて小さい場合、演算装置が処理するデータ以外の不要なデータが外部メモリからキャッシュメモリに転送されてしまう。また、演算装置が処理するデータがデータ転送サイズに比べて大きい場合、外部メモリへのアクセスを複数回に分割して行わなければならない。これらの、無駄なデータ転送や、メモリアクセス回数の増加が、キャッシュメモリと外部メモリの間のデータ転送効率の低下をもたらす。
【００１０】
また、マルチチャネル（例えば、ｎ個のチャネル；ｎは２以上の整数）のオーディオデータは、ｎ個のチャネル分のデータの集合によって１つのサンプルデータが構成されている。このため、上述したキャッシュメモリと外部メモリの間のデータ転送効率の低下が一層顕著となる。すなわち、マルチチャネルのオーディオデータに含まれる一部のチャネル（例えば、ｍ個のチャネル；ｍはｎより小さい整数）のみが演算装置によって処理される場合であっても、キャッシュメモリによる先読みは、ｎ個のチャネル分のデータを含むサンプルデータ単位で行われる。よって、必要なｍ個のチャネル以外の不要なチャネルのデータがキャッシュメモリと外部メモリの間で転送されてキャッシュメモリに蓄積されてしまうことや、不要なチャネルのデータ転送のために外部メモリへのアクセス回数の増加が生じてしまう。
【００１１】
なお、特許文献１に開示されたネットワークキャッシュ装置およびプログラムは、キャッシュされたデータから特定のパターンで先読みデータを作成するものであり、キャッシュメモリと外部メモリ間のデータの転送効率の向上を図るものではない。
特許文献２に開示されたキャッシュ制御プログラムおよびキャッシュ処理を行うコンピュータは、過去に使用したデータをキャッシュとして保持する際にランク付けを行うことで、再利用される頻度の高いデータがキャッシュメモリ上に存在する確率を向上させるものであり、外部メモリとキャッシュメモリ間のデータの転送効率の向上を図るものではない。
特許文献３に開示されたキャッシュシステムを用いた演算装置およびデータ処理システムは、データの先読みを行う領域の開始アドレス、終了アドレス、読み出しサイズ、アドレスのオフセット情報の保持とデータの先読みを制御するロードキャッシュ／ストアキャッシュ制御部を複数有することで、キャッシュメモリが演算装置とは独立して、アクセスが要求されたアドレスと連続するアドレスに格納されたデータをキャッシュメモリに先読みすることで演算装置の待ち時間を短縮するものであり、キャッシュメモリと外部メモリ間のデータの転送効率の向上を図るものではない。
【課題を解決するための手段】
【００１２】
本発明の第１の態様にかかるオーディオデータ転送装置は、バッファメモリ及び先読み部を有する。前記先読み部は、外部メモリに格納されているｎ個のチャネル（ただし、ｎは２以上の整数）のオーディオデータのうち少なくとも一部を前記バッファメモリへ転送する処理を制御する。さらに、前記先読み部は、前記ｎ個のチャネルのオーディオデータのうち演算装置によって処理されるｍ個のチャネル（ただし、ｍは１以上、ｎ以下の整数）に応じて、前記ｍ個のチャネルのオーディオデータを前記外部メモリと前記バッファメモリの間で転送する際のデータ転送サイズを調整する。
【００１３】
本発明の第２の態様にかかるオーディオデータの転送方法は、以下の（ａ）及び（ｂ）を含む。
（ａ）ｎ個のチャネル（ただし、ｎは２以上の整数）のオーディオデータのうち演算装置によって処理されるｍ個のチャネル（ただし、ｍは１以上、ｎ以下の整数）のオーディオデータを特定すること；および
（ｂ）前記ｍ個のチャネルに応じて調整されたデータ転送サイズを適用して、前記ｍ個のチャネルのオーディオデータを外部メモリからバッファメモリに転送する処理を制御すること。
【００１４】
上述したように、本発明の各態様によれば、ｎ個のチャネルのオーディオデータのうち演算装置による処理対象となるｍ個のチャネルに応じて、外部メモリとバッファメモリの間のデータ転送サイズを調整できる。このため、演算装置による処理対象になるか否かに拘らずｎ個のチャネルのオーディオデータを外部メモリとバッファメモリの間で転送することに起因する無駄なデータ転送の発生およびデータ転送回数の増加を抑制できる。
【発明の効果】
【００１５】
上述した本発明の各態様によれば、外部メモリに格納されたマルチチャネル・オーディオデータを演算装置に供給するために取得する際のデータ転送効率の悪化を抑制することができる。
【図面の簡単な説明】
【００１６】
【図１】発明の実施の形態１にかかるオーディオデータ転送装置の構成図である。
【図２】発明の実施の形態１にかかるデータアクセス記録部の記録情報を表した模式図である。
【図３】発明の実施の形態１にかかるオーディオデータバッファの模式図である。
【図４】発明の実施の形態１にかかるオーディオデータ転送の処理の流れを示すフローチャートである。
【図５】発明の実施の形態１にかかるチャネルアクセスの解析を示すフローチャートである。
【図６】発明の実施の形態１にかかるデータアクセス記録部に記録されている情報を表した模式図である。
【図７】発明の実施の形態１にかかる６チャネル分のデータを転送する際の模式図である。
【図８】発明の実施の形態２にかかるオーディオデータ転送装置の構成図である。
【発明を実施するための形態】
【００１７】
発明の実施の形態１．
最初に、本発明の実施の形態にかかるオーディオデータ処理システム５０の構成を、図１を用いて説明する。当該オーディオデータ処理システム５０を構成する各要素及び動作については後に詳細に説明する。
【００１８】
オーディオデータ処理システム５０は、外部メモリ１、命令キャッシュ１０、ＣＰＵ３０、オーディオデータ転送装置４０を有する。オーディオデータ転送装置４０は、データキャッシュ２０、データアドレス判別部４１、データアクセス解析部４２、データアクセス記録部４３、オーディオデータ先読み部４４を有する。オーディオデータ先読み部４４は、オーディオデータバッファ４５を有する。
【００１９】
ＣＰＵ３０は、実行するプログラムが格納されているアドレスを命令キャッシュ１０に対して出力し、前記アドレスに格納されているプログラムコードを読み出し、プログラムの実行によりオーディオデータ転送装置４０との間でデータの入出力を行う。さらにＣＰＵ３０は、データキャッシュ２０とオーディオデータ先読み部４４に内部データのクリア命令を出力する。
【００２０】
命令キャッシュ１０は、外部メモリ１にアドレスを出力し、前記アドレスに格納されているデータを読み出す。
【００２１】
オーディオデータ転送装置４０は、ＣＰＵ３０と外部メモリ１それぞれとの間でデータの入出力を行う。
【００２２】
データアドレス判別部４１は、外部メモリ１に確保されているオーディオデータの先頭アドレスと終了アドレスをあらかじめ保持している。データアドレス判別部４１は、ＣＰＵ３０がデータアクセスを行う場合には、ＣＰＵ３０がアクセスしようとするデータのアドレス情報と、データアドレス判別部４１が保持するアドレス情報を比較し、ＣＰＵ３０がアクセスしたいデータが、オーディオデータであるか否かの判別を行う。データアドレス判別部４１は、ＣＰＵ３０がアクセスしようとするデータがオーディオデータであると判別した場合には、データアクセス解析部４２にアドレス情報を出力する。また、データアドレス判別部４１は、ＣＰＵ３０がアクセスしようとするデータがオーディオデータであると判別した場合には、オーディオデータ先読み部４４とＣＰＵ３０との間でデータ転送の仲介を行い、オーディオデータ以外のデータであると判別した場合には、データキャッシュ２０とＣＰＵ３０との間でデータ転送の仲介を行う。
【００２３】
データキャッシュ２０は、先読み機構を持たないキャッシュメモリであり、データアドレス判別部４１と外部メモリ１それぞれとの間でオーディオ以外のデータの入出力を行う。
【００２４】
データアクセス解析部４２は、データアドレス判別部４１によりＣＰＵ３０がアクセス要求しているデータがオーディオデータであると判別された場合には、データアドレス判別部４１からＣＰＵ３０がアクセスするオーディオデータのアドレス情報を入力し、アドレス情報からＣＰＵ３０がアクセスを要求しているオーディオデータのチャネル構成を解析し、データアクセス記録部４３に結果を出力する。
【００２５】
データアクセス記録部４３は、データアクセス解析部４２とオーディオデータ先読み部４４に対してＣＰＵ３０がアクセス要求するチャネル情報を入出力し、ＣＰＵ３０がアクセスを要求するチャネルへのアクセス履歴を記録する。
【００２６】
図２は、データアクセス記録部４３の記録情報の一例を示す模式図ある。オーディオデータが８チャネル構成（以降、ＣＨ１乃至ＣＨ８と称す）の場合のデータアクセス記録部４３に記録されているアクセス有無情報を表し、図２において丸印がついているところが前記アクセス有無情報に該当する。図２は、ＣＨ１乃至ＣＨ６がＣＰＵ３０よりアクセス中のチャネルであることを表す。
【００２７】
オーディオデータ先読み部４４は、データアドレス判別部４１と外部メモリ１のそれぞれに対してオーディオデータの入出力を行う。オーディオデータ先読み部４４は、データアクセス記録部４３に記録されているアクセス有無情報に基づいて、ＣＰＵ３０が次にアクセスするオーディオデータを外部メモリ１から先行して読み込み、これをオーディオデータバッファ４５に書き込む。
【００２８】
ここでＣＰＵが次にアクセスするオーディオデータを格納している外部メモリ１のアドレスの予測は、オーディオデータを外部メモリ１内に、規則性をもつように格納しておくことで行うことができる。例えば、外部メモリ１の連続するアドレス上に、あらかじめチャネル順にオーディオデータが順次格納された状態としておくことで、オーディオデータ先読み部４４が有しているアドレス情報から、ＣＰＵ３０が次にアクセスするオーディオデータを格納している外部メモリ１のアドレスを予測することができる。
【００２９】
オーディオデータ先読み部４４は、オーディオデータバッファ４５に格納されているデータをデータアドレス判別部４１へ出力すると共に、ＣＰＵ３０からアクセス要求のあったオーディオデータのアドレス情報、オーディオデータバッファ４５に格納されているデータ量、データアクセス解析部４２で解析したＣＰＵ３０がアクセスを要求するオーディオデータのチャネル構成の情報、データアクセス記録部４３に保存されたアクセス有無情報に基づき、ＣＰＵ３０が次にアクセスするオーディオデータを格納している外部メモリ１のアドレスを予測し、オーディオデータバッファ４５に格納されているデータと外部メモリ１のデータの入れ替えを行う。ここで、データアクセス記録部４３に保存されたアクセス有無情報を利用することでアクセス済みのオーディオデータを把握することができ、外部メモリとオーディオバッファ間で効率良いデータ転送を図ることができる。
【００３０】
ここで、オーディオデータ先読み部４４は、データアクセス記録部４３に記録された記録内容を参照せず、あらかじめオーディオデータ先読み部４４が保持していた、ＣＰＵ３０がアクセスを要求するオーディオデータのチャネル構成の情報やオーディオデータが格納されている外部メモリ１のアドレス情報に基づいて、オーディオバッファ４５にオーディオデータを入力することができる。また、データアドレス判別部４１から入力されたアドレス情報に基づいて、外部メモリ１からオーディオデータバッファ４５にオーディオデータを入力することもできる。
【００３１】
図３は、オーディオデータバッファ４５の模式図であり、図３（ａ）はそれぞれのバンクにデータが何も入力されていない状態を示す。なお図３において、１００〜１０７、２００〜２０７、３００〜３０７、４００〜４０７、５００〜５０７はそれぞれオーディオデータを表す。オーディオデータバッファ４５は２つのバンクから構成されており、ＣＰＵ３０がアクセスするデータがバンク１からバンク２、バンク２からバンク１へ移動した場合にデータの入れ替えを行う。１バンク当たりのデータサイズは、ＣＰＵ３０の処理速度とオーディオデータ先読み部４４と外部メモリ１のデータ転送速度に基づき、ＣＰＵ３０が次に同じバンクのデータへアクセスするまでにデータの入れ替えが終了するデータサイズとすると良い。
【００３２】
以下にオーディオデータバッファ４５と外部メモリ１のデータ入れ替え動作を示す。
【００３３】
オーディオデータ先読み部４４は、ＣＰＵ３０が参照したアドレスに格納されているデータがオーディオデータバッファ４５に格納されていない場合は、オーディオデータバッファ４５の全てのデータを外部メモリ１へ書き込み、新たにオーディオデータバッファ４５にオーディオデータバッファ４５のバッファサイズ分の前記ＣＰＵ３０が参照したアドレスに格納されているデータを外部メモリ１から読み込み、オーディオデータバッファ４５へ書き込む。図３（ｂ）に、オーディオバッファ４５にデータを書き込んだ状態の例を示す。
【００３４】
ＣＰＵ３０が参照したアドレスに格納されているデータがオーディオデータバッファ４５のバンク間を移動する場合には、データアクセス記録部４３にアクセスチャネルの情報が記録されていなければ、ＣＰＵ３０がバンク間を移動する前にアクセスを行っていた方のバンクの全データを外部メモリ１へ書き込み、外部メモリ１へ書き込みを行った方のバンクに1バンク分のサイズのデータを読み込む。図３（ｃ）に、バンク１が外部メモリ１へデータを書き込んだ後に、バンク１からデータの読み込みを行った状態の例を示す。図３（ｃ）は図３（ｂ）の状態から、オーディオデータ１００〜１０７が格納されていた場所に、オーディオデータ３００〜３０７が格納された状態となったこと示している。
【００３５】
データアクセス記録部４３にアクセスチャネルの情報が記録されている場合は、ＣＰＵ３０がバンク間を移動する前にアクセスを行っていた方のバンクのデータから、データアクセス記録部４３の内容に基づいて、特定チャネルについてＣＰＵ３０がアクセスしているオーディオデータだけを外部メモリ１へ書き込み、外部メモリ１へ書き込みを行った領域に、特定チャネルについてＣＰＵ３０がアクセスしているオーディオデータだけを外部メモリ１から読み込む。図３（ｄ）に、ＣＰＵ３０がアクセスしているチャネルのデータだけを、バンク１が外部メモリ１へデータを書き込んだ後にバンク１からデータの読み込みを行った状態の例を示す。図３（ｄ）は図３（ｂ）の状態から、１００、１０１、１０５、１０６が格納されていた場所にオーディオデータ３００、３０１、３０５、３０６が格納された状態となったことを示している。
【００３６】
データアクセス記録部４３にチャネル情報が記録済みで、かつこれまでアクセスしていたバンク内のデータにＣＰＵ３０が一度もアクセスしていないデータがある場合は、データアクセス記録部４３のアクセス有無情報を全てクリアし、オーディオデータバッファ４５に格納されている全てのデータを外部メモリ１に書き込み、新たにオーディオデータバッファ４５にオーディオデータバッファ４５のバッファサイズ分の前記ＣＰＵ３０が参照したアドレスに格納されているデータを外部メモリ１よりオーディオデータバッファ４５に読み込む。図３（ｅ）に、外部メモリ１からオーディオデータバッファ４５にオーディオデータを新たに読み込んだ状態の例を示している。図３（ｅ）では、オーディオバッファ４５にこれまで格納されていたデータとは異なるデータが、オーディオバッファ４５に格納された状態となったことを示している。
【００３７】
ＣＰＵ３０が処理を終了する場合はＣＰＵ３０からオーディオデータ先読み部４４にオーディオデータバッファ４５の内部データクリア要求を行う。オーディオデータ先読み部４４はＣＰＵ３０からの内部データクリア要求を受けると、オーディオデータバッファ４５に格納されている全てのデータを外部メモリへ書き込むと共に、データアクセス記録部４３のアクセス有無情報を全てクリアする。
【００３８】
図４は、オーディオデータ処理システム５０及びオーディオデータ転送装置４０の動作の一例をフローチャートで表したものである。
図４に示すように、まずＣＰＵ３０がデータを取得するためのアクセス要求が出力される（ステップＳ１０）。次に、このアクセス要求に含まれるアドレス情報から、該当するアドレスに格納された情報がオーディオデータであるか否かの判別を行う（ステップＳ１１）。
【００３９】
ステップＳ１１でオーディオデータであると判別された場合には、オーディオデータ先読み部４４にアドレス情報を転送し（ステップＳ１２）、アドレス情報からアクセス要求されているチャネルデータの解析を行う（ステップＳ１３）。解析結果は、データアクセス解析部に記録する（ステップＳ１４）。オーディオデータ先読み部４４は、現在要求されている外部メモリのアドレス情報と、ステップＳ１４で記録された情報に基づいて、次にＣＰＵ３０が外部メモリ１から要求する、特定のチャネルのオーディオデータを先読みする（ステップＳ１５）。ＣＰＵ３０は、オーディオバッファに先読みされたオーディオデータを入力し、順次処理する（ステップＳ１６）。
【００４０】
ステップＳ１１でオーディオデータではないと判別された場合には、データキャッシュ２０にアドレス情報を転送し（ステップＳ１７）、ＣＰＵ３０が必要に応じて処理を行う（ステップＳ１８）。
【００４１】
図５は、データアクセス解析部４２が、ＣＰＵ３０がアクセスするオーディオデータのアドレス情報を解析し、データアクセス記録部４３にチャネル情報を書き込む際の手順の一例を示したフローチャートである。
【００４２】
データアクセス解析部４２は、処理開始前は待機状態とし、処理の開始後にはＣＰＵ３０がオーディオデータへのアクセスを行ったか否かの判別を行う。判別は、データアドレス判別部４１が保持するオーディオデータのアドレス情報と、ＣＰＵ３０が参照したアドレスの比較により行う。ＣＰＵ３０がオーディオデータへのアクセスを行ったと判別された場合には、データアドレス判別部４１からデータアクセス解析部４２へ、ＣＰＵ３０が参照したアドレスを入力する。ＣＰＵ３０が行ったアクセスがオーディオデータに対してではないと判別された場合には、処理を繰り返す（ステップＳ２０）。
【００４３】
データアクセス解析部４２は、データアドレス判別部４１からＣＰＵ３０がアクセスしたオーディオデータのアドレスが入力されたら、前記入力されたアドレスに基づき、ＣＰＵ３０がアクセスしたオーディオデータがどのチャネルであるかを判別する（ステップＳ２１）。このとき、オーディオチャネルは、例えば式１により求めることができる。ここで％は割り算の余りを計算結果として返す、剰余の演算子を示す。
オーディオチャネル＝｛（Ａ−Ｂ）／Ｃ％Ｄ｝＋１・・・・式１
Ａ：ＣＰＵのアクセスアドレス
Ｂ：オーディオデータ領域の先頭アドレス
Ｃ：１チャネル当たりのデータサイズ
Ｄ：総チャネル数
【００４４】
データアクセス解析部４２は、特定チャネルについてＣＰＵ３０がアクセスしたオーディオデータがアクセス済みであるか否かを、データアクセス記録部４３のアクセス有無情報に基づいて判別する（ステップＳ２２）。ＣＰＵ３０がアクセスしたチャネルがアクセス済みの場合には、データアクセス記録部４３への書き込みを終了する。ＣＰＵ３０がアクセスしたチャネルがアクセス済みでない場合は、特定チャネルについてＣＰＵ３０がアクセスしたオーディオデータがアクセス済みであると、データアクセス記録部４３に書き込み（ステップＳ２３）、データアクセス解析部４２は待機状態に戻る。
【００４５】
図６は、ＣＰＵ３０が、不連続なチャネルを含んだチャネル構成でのデータアクセスを行う場合において、アクセスチャネルの情報がデータアクセス記録部４３に記録されている状態を示している。この場合は、データサイズ優先モードとアクセス回数優先モードのいずれかを選択し、データ転送を行う。
【００４６】
データサイズ優先モードでは、不連続なチャネルを含んだチャネル構成の場合には、その前後のチャネルでデータ転送を分割する。図６に示すように、ＣＰＵ３０がＣＨ１、ＣＨ２、ＣＨ６、ＣＨ７のオーディオデータに対してアクセスする場合は、ＣＨ１とＣＨ２の２チャネル分のデータ転送とＣＨ６とＣＨ７の２チャネル分のデータ転送の２回にデータ転送を分割する。これにより、不要なデータの転送を行わないようにすることができ、データサイズを小さくすることができる。
【００４７】
アクセス回数優先モードではデータ転送回数が１回で行われることを優先し、ＣＰＵ３０がアクセスを要求するオーディオデータについて、チャネル構成が不連続である場合において、ＣＰＵ３０が使用を予定していないチャネルのデータも含めてデータ転送を行う。図６に示すように、ＣＰＵ３０がＣＨ１、ＣＨ２、ＣＨ６、ＣＨ７のオーディオデータに対してアクセスする場合は、ＣＨ１からＣＨ７までの７チャネル分のデータを１度のデータ転送で転送する。
【００４８】
図７は、ＣＰＵ３０が６チャネル分のデータにアクセスする際の、外部メモリ１からオーディオデータバッファ４５へのデータ転送の模式図である。データ転送は、アクセスしたいデータのアドレスとサイズの情報を送信したり、他のモジュールがバスを使用中の場合は転送が終わるまで待ったりする調停期間と、調停期間に続いてデータの送受信を行うデータ転送期間から構成される。
【００４９】
図７（ａ）及び（ｂ）は、本実施の形態にかかるオーディオデータ転送装置４０のデータの転送効率が良いことを説明するための比較例である。また、図７（ｃ）は、オーディオデータ転送装置４０による転送を示している。
【００５０】
図７（ａ）は、１回のデータ転送で送受信するデータの量が２チャネル分であり、６チャネルのデータを複数回に分割して転送する場合の例である。この場合、調停期間をＣＨ１、ＣＨ２のデータ転送前に設けるのと同様に、ＣＨ３、ＣＨ４のデータ転送とＣＨ５、ＣＨ６のデータ転送についても、調停期間を設ける必要がある。この場合のデータ転送は、調停期間、ＣＨ１のデータ転送、ＣＨ２のデータ転送、調停期間、ＣＨ３のデータ転送、ＣＨ４のデータ転送、調停期間、ＣＨ５のデータ転送、ＣＨ６のデータ転送となり、複数の調停期間を必要とすることから、全体のデータ転送時間は長くなってしまう。
【００５１】
図７（ｂ）は、ＣＰＵ３０がアクセスするオーディオデータのチャネル構成にかかわらず一定の転送サイズでデータ転送が行われる例である。図７（ｂ）では、１回のデータ転送で送受信するデータの量が８チャネル分であり、ＣＰＵ３０がアクセスするオーディオデータのチャネル構成がＣＨ１乃至ＣＨ６までの６チャネル分だけの場合の例である。この場合は、調停期間、ＣＨ１のデータ転送、ＣＨ２のデータ転送、ＣＨ３のデータ転送、ＣＨ４のデータ転送、ＣＨ５のデータ転送、ＣＨ６のデータ転送、ＣＨ７のデータ転送、ＣＨ８のデータ転送を一連の処理として行うため、ＣＰＵ３０がアクセスすることを予定しないＣＨ７、ＣＨ８のデータまで転送されてしまい、全体のデータ転送時間が長くなってしまう。
【００５２】
本実施の形態では、データアクセス記録部４３に記録されたチャネル構成に基づいてＣＰＵ３０がアクセスしているオーディオデータのデータサイズに合わせてデータ転送を行う。この図７（ｃ）に示すようにＣＰＵ３０がアクセスするオーディオデータのチャネル構成がＣＨ１からＣＨ６までの６チャネル分だけの場合、データ転送が調停期間、ＣＨ１のデータ転送、ＣＨ２のデータ転送、ＣＨ３のデータ転送、ＣＨ４のデータ転送、ＣＨ５のデータ転送、ＣＨ６のデータ転送となる。１回のアクセスで必要な６チャネル分のデータだけを転送するため、図７（ａ）や図７（ｂ）に示した例よりデータの転送効率が良く、転送時間を短縮することができる。
【００５３】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、オーディオデータバッファ４５のバンクの入れ替えにおいて、外部メモリ１に格納されている特定のチャネルのオーディオデータをオーディオデータバッファ４５の特定のブロックに割り当てるようにすることで、ＣＰＵ３０がオーディオデータバッファ４５に保持されている特定チャネルのオーディオデータを探索しやすい構成とすることもできる。
【００５４】
発明の実施の形態２．
図８は、実施の形態２のオーディオデータ転送装置の構成図であり、ＣＰＵ３０がデータアクセス記録部４３を書き換えて動作する方法における構成図である。
【００５５】
データアクセス解析部４２がなく、新たにＣＰＵ３０からデータアクセス記録部４３に、ＣＰＵ３０がアクセスするオーディオデータのチャネル構成に関する情報を出力することとした点で実施の形態１の構成とは異なる。
【００５６】
実施の形態１では、データアクセス解析部４２は、ＣＰＵ３０が参照するアドレス情報に基づいてチャネル構成の解析を行い、その結果をデータアクセス記録部４３へ記録を行っていた。一方、実施の形態２ではＣＰＵ３０がオーディオデータにアクセスする前にアクセスするチャネル構成をデータアクセス記録部４３へ書き込み、その後、オーディオデータにアクセスを行う。
【００５７】
オーディオデータ先読み部４４は、データアクセス記録部４３に書き込まれているアクセス有無情報を参照し、オーディオデータバッファ４５と外部メモリ１とのデータ転送を行う。これにより、実施の形態１と同等の効果が得られる。
【００５８】
また、実施の形態２では、ＣＰＵ３０がオーディオデータにアクセスする以前にデータアクセス記録部４３にアクセスするチャネル構成を記録してから、オーディオデータにアクセスを行う。そのため、オーディオデータ先読み部４４は最初のオーディオデータアクセスからＣＰＵ３０のアクセスするオーディオデータのチャネル構成に合わせたサイズでオーディオデータバッファ４５と外部メモリ１とのデータ転送を行うことができる。
【００５９】
実施の形態２で用いる各構成部は、実施の形態１に記載の各構成部と同様の機能を有するものであり、詳細な説明は省略する。
【００６０】
なお、実施の形態２の装置でのオーディオデータ処理システム５０及びオーディオデータ転送装置４０の動作の流れは、図４のフローチャートにおいて、アドレス解析を行うステップＳ１３が無く、ＣＰＵ３０がオーディオデータにアクセスする以前に、データアクセス記録部４３にアクセスするチャネル構成をあらかじめ記録しておくステップを有するものとなる。
【００６１】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、実施の形態１及び実施の形態２について、データバッファ４５はリード及びライトの両方を行う必要はなく、リードアクセスのみであっても良い。
【符号の説明】
【００６２】
１  外部メモリ
１０  命令キャッシュ
２０  データキャッシュ
３０  ＣＰＵ
４０  オーティオデータ転送装置
４１  データアドレス判別部
４２  データアクセス解析部
４３  データアクセス記録部
４４  オーディオデータ先読み部
４５  オーディオデータバッファ
５０  オーディオデータ処理システム
【図１】
2010267117.tif 000003
【図２】
2010267117.tif 000004
【図３】
2010267117.tif 000005
【図４】
2010267117.tif 000006
【図５】
2010267117.tif 000007
【図６】
2010267117.tif 000008
【図７】
2010267117.tif 000009
【図８】
2010267117.tif 000010