(57)【要約】      （修正有）【課題】ＣＰＵに負荷をかけずにオーディオデータのフォーマット変換を行う。【解決手段】変換前データライトレジスタ、変換前フォーマット指定レジスタ、及び入力オーディオフォーマット変換処理部を備えた第１のオーディオフォーマット変換処理部１２と、変換後フォーマット指定レジスタ、及び出力オーディオフォーマット変換処理部を備えた第２のオーディオフォーマット変換処理部１６とを設ける。入力オーディオフォーマット変換処理部は、予めＣＰＵ１８により変換前フォーマット指定レジスタに設定された変換前フォーマットの内容に従って、変換前データライトレジスタに格納されたオーディオデータのフォーマットを中間フォーマットに変換し、出力オーディオフォーマット変換処理部は、該中間フォーマットのオーディオデータを、予めＣＰＵ１８により変換後フォーマット指定レジスタに設定された変換後フォーマットのオーディオデータに変換する。【選択図】図１
2010008489.tif 000002
【特許請求の範囲】
【請求項１】
入力されたオーディオデータを格納するための入力データレジスタと、
前記入力されたオーディオデータのフォーマットの内容を格納するための入力フォーマットレジスタと、
前記入力フォーマットレジスタに格納されたフォーマットの内容に応じて、前記入力データレジスタに格納されたオーディオデータを所定フォーマットのオーディオデータに変換する入力フォーマット変換部と、
前記オーディオデータの出力時のフォーマットの内容を格納するための出力フォーマットレジスタと、
前記所定フォーマットに変換されたオーディオデータを前記出力フォーマットレジスタに格納された内容のフォーマットのオーディオデータに変換する出力フォーマット変換部と、
を備えたオーディオフォーマット変換回路。
【請求項２】
前記入力フォーマットレジスタ及び前記出力フォーマットレジスタに格納されるフォーマットの内容は、チャネル数、オーディオデータの配置順、オーディオデータの格納方法、オーディオデータの配置位置、オーディオデータのビット幅、ステレオデータからモノラルデータへの変換時の選択チャネル、及びモノラルデータからステレオデータへの変換時の選択チャネル、の少なくとも１つである
請求項１記載のオーディオフォーマット変換回路。
【請求項３】
前記入力フォーマット変換部で前記所定フォーマットに変換されたオーディオデータを一時的に格納すると共に、格納データ量に応じた割り込み要求信号を出力するメモリ回路を更に備え、
前記入力フォーマット変換部は、前記所定フォーマットに変換したオーディオデータを前記メモリ回路に格納し、
前記出力フォーマット変換部は、前記メモリ回路に格納されたオーディオデータを読み出して前記出力フォーマットレジスタに格納された内容のフォーマットのオーディオデータに変換する
請求項１または請求項２に記載のオーディオフォーマット変換回路。
【請求項４】
前記入力フォーマット変換部で前記所定フォーマットに変換されたオーディオデータを一時的に格納すると共に、格納データ量に応じた割り込み要求信号を出力する第１メモリ回路と、
前記第１メモリ回路に格納されたオーディオデータに予め定められたオーディオ処理を施すオーディオ処理部で処理されたオーディオデータを一時的に格納すると共に、格納データ量に応じた割り込み要求信号を出力する第２メモリ回路と、
を更に備え、
前記入力フォーマット変換部は、前記所定フォーマットに変換したオーディオデータを前記第１メモリ回路に格納し、
前記出力フォーマット変換部は、前記第２メモリ回路に格納されたオーディオデータを読み出して前記出力フォーマットレジスタに格納された内容のフォーマットのオーディオデータに変換する
請求項１または請求項２に記載のオーディオフォーマット変換回路。
【請求項５】
請求項３に記載のオーディオフォーマット変換回路と、
前記出力フォーマット変換部でフォーマットが変換されたオーディオデータを格納するための出力データレジスタと、
前記メモリ回路から出力された割り込み信号に応じて前記入力データレジスタに対するオーディオデータの格納及び前記出力データレジスタからのオーディオデータの読み出しの少なくとも一方を行うプログラムを実行するＣＰＵと、
を備えたオーディオデータ処理装置。
【請求項６】
請求項４に記載のオーディオフォーマット変換回路と、
前記出力フォーマット変換部でフォーマットが変換されたオーディオデータを格納するための出力データレジスタと、
前記第１メモリ回路から出力された割り込み信号に応じて前記入力データレジスタに対するオーディオデータの格納を行い、前記第２メモリ回路から出力された割り込み信号に応じて前記出力データレジスタからのオーディオデータの読み出しを行うプログラムを実行するＣＰＵと、
を備えたオーディオデータ処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、オーディオデータのフォーマットを変換するオーディオフォーマット変換回路及びオーディオデータ処理装置に関するものである。
【背景技術】
【０００２】
デジタルオーディオデータをデジタルオーディオ機器間で転送するための方式は多数提案されているが、それらが扱うデータフォーマットは統一されておらず異なっている。またデジタルオーディオデータをソフトウェアで扱う場合においても、圧縮オーディオデータのエンコードやデコードのミドルウェアを使用する場合には、ミドルウェアの提供元によってもフォーマットは異なるし、コーデックにより入出力するデジタルオーディオデータのフォーマットも一般的に統一されていない。
【０００３】
従って、オーディオデータを異なる機器間でやりとりする場合、或いは機器を構成する回路間でやりとりする場合には、フォーマットの変換が必要となる。例えば、オーディオデータはステレオだが、スピーカがモノラルである場合には、ステレオからモノラルに変換する必要がある。また、オーディオデータを外部機器とやりとりする場合には、機器毎にデータのフォーマットが異なる場合があり、その場合にもフォーマットの変換が必要となる。従来、フォーマットの変換は、ＣＰＵ（Central Processing Unit）が変換用のソフトウェアを実行することにより行っていた。
【０００４】
ところで、全体の処理時間を短縮するため、規則的な処理をハードウェアで行い、不規則な処理はソフトウェアで行う装置が提案されている（特許文献１参照。）。
【特許文献１】特開２００２−２９７１９８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ＣＰＵの処理能力の向上以上にソフトウェアの処理量は増加しており、フォーマット変換では一般的にソフトウェアでの処理が苦手としているビットストリームの反転処理や複数ワード間のビットシフトなどが多用されるため、フォーマットの変換処理はＣＰＵ負荷増大の原因となっている。しかしながら、上記特許文献１に記載の装置であっても、フォーマットの変換処理に対する具体的な対策は何ら示されておらず、ＣＰＵの負荷を軽減することはできない。
【０００６】
本発明は、上述した課題を解決するために提案されたものであり、ＣＰＵに負荷をかけずにオーディオデータのフォーマット変換を行うことができるオーディオフォーマット変換回路及びオーディオデータ処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本発明の請求項１のオーディオフォーマット変換回路は、入力されたオーディオデータを格納するための入力データレジスタと、前記入力されたオーディオデータのフォーマットの内容を格納するための入力フォーマットレジスタと、前記入力フォーマットレジスタに格納されたフォーマットの内容に応じて、前記入力データレジスタに格納されたオーディオデータを所定フォーマットのオーディオデータに変換する入力フォーマット変換部と、前記オーディオデータの出力時のフォーマットの内容を格納するための出力フォーマットレジスタと、前記所定フォーマットに変換されたオーディオデータを前記出力フォーマットレジスタに格納された内容のフォーマットのオーディオデータに変換する出力フォーマット変換部と、を備えている。
【０００８】
このような構成によれば、入力フォーマット変換部が入力フォーマットレジスタに格納されたフォーマットの内容に応じてオーディオデータを予め定められた所定フォーマットのオーディオデータに変換することができると共に、出力フォーマット変換部が該所定フォーマットのオーディオデータを出力フォーマットレジスタに格納された内容のフォーマットのオーディオデータに変換することができるため、ＣＰＵがフォーマット変換を行う場合に比べて、ＣＰＵの負荷を軽減することができる。
【０００９】
なお、入力フォーマット変換部と出力フォーマット変換部との間にオーディオデータについてオーディオ処理（エフェクト処理等）を行う処理部を設けた場合には、該処理部を所定フォーマットのみに対応した回路に設計すればよく、様々なフォーマットに対応させる必要がなくなるため、該処理部の構成もより単純にすることができる。
【００１０】
請求項２の発明は、請求項１記載のオーディオフォーマット変換回路において、前記入力フォーマットレジスタ及び前記出力フォーマットレジスタに格納されるフォーマットの内容は、チャネル数、オーディオデータの配置順、オーディオデータの格納方法、オーディオデータの配置位置、オーディオデータのビット幅、ステレオデータからモノラルデータへの変換時の選択チャネル、及びモノラルデータからステレオデータへの変換時の選択チャネル、の少なくとも１つとすることができる。
【００１１】
このような構成によれば、任意のフォーマットを所定のフォーマットに変換できると共に、所定のフォーマットを任意のフォーマットに変換できる。
【００１２】
請求項３の発明は、請求項１または請求項２に記載のオーディオフォーマット変換回路において、前記入力フォーマット変換部で前記所定フォーマットに変換されたオーディオデータを一時的に格納すると共に、格納データ量に応じた割り込み要求信号を出力するメモリ回路を更に備え、前記入力フォーマット変換部は、前記所定フォーマットに変換したオーディオデータを前記メモリ回路に格納し、前記出力フォーマット変換部は、前記メモリ回路に格納されたオーディオデータを読み出して前記出力フォーマットレジスタに格納された内容のフォーマットのオーディオデータに変換する。
【００１３】
このような構成によれば、メモリ回路に一時的にオーディオデータを格納しておくことができるため、入力フォーマット変換部と出力フォーマット変換部の間に何らかの処理部を設けて処理させることができる。また、メモリ回路から出力された割り込み要求信号は、ＣＰＵ等がデータの格納や読み出しなどの処理を行うトリガとして用いることができる。
【００１４】
請求項４の発明は、請求項１または請求項２に記載のオーディオフォーマット変換回路において、前記入力フォーマット変換部で前記所定フォーマットに変換されたオーディオデータを一時的に格納すると共に、格納データ量に応じた割り込み要求信号を出力する第１メモリ回路と、前記第１メモリ回路に格納されたオーディオデータに予め定められたオーディオ処理を施すオーディオ処理部で処理されたオーディオデータを一時的に格納すると共に、格納データ量に応じた割り込み要求信号を出力する第２メモリ回路と、を更に備え、前記入力フォーマット変換部は、前記所定フォーマットに変換したオーディオデータを前記第１メモリ回路に格納し、前記出力フォーマット変換部は、前記第２メモリ回路に格納されたオーディオデータを読み出して前記出力フォーマットレジスタに格納された内容のフォーマットのオーディオデータに変換する。
【００１５】
このような構成によれば、第１メモリ回路、第２メモリ回路に一時的にオーディオデータを格納しておくことができるため、入力フォーマット変換部と出力フォーマット変換部の間に何らかの処理部を設けて処理させることができる。また、第１メモリ回路、第２メモリ回路から出力された割り込み要求信号により、ＣＰＵ等が格納データ量を把握でき、例えばデータの格納や読み出しなどの処理を行うトリガとしても用いることができる。
【００１６】
請求項５の発明のオーディオデータ処理装置は、請求項３に記載のオーディオフォーマット変換回路と、前記出力フォーマット変換部でフォーマットが変換されたオーディオデータを格納するための出力データレジスタと、前記メモリ回路から出力された割り込み信号に応じて前記入力データレジスタに対するオーディオデータの格納及び前記出力データレジスタからのオーディオデータの読み出しの少なくとも一方を行うプログラムを実行するＣＰＵと、を備えている。
【００１７】
請求項６の発明のオーディオデータ処理装置は、請求項４に記載のオーディオフォーマット変換回路と、前記出力フォーマット変換部でフォーマットが変換されたオーディオデータを格納するための出力データレジスタと、前記第１メモリ回路から出力された割り込み信号に応じて前記入力データレジスタに対するオーディオデータの格納を行い、前記第２メモリ回路から出力された割り込み信号に応じて前記出力データレジスタからのオーディオデータの読み出しを行うプログラムを実行するＣＰＵと、を備えている。
【００１８】
請求項５，６の構成によれば、オーディオデータの格納や読み出しなどを割り込み要求信号の発生に応じて行うことができるため、ＣＰＵはオーディオフォーマットの変換中に他の処理を行うことができるようになり、ＣＰＵの負荷が軽減される。
【発明の効果】
【００１９】
以上説明したように本発明によれば、ＣＰＵに負荷をかけずにオーディオデータのフォーマット変換を行うことができる、という効果を奏する。
【発明を実施するための最良の形態】
【００２０】
以下、本発明の好ましい実施の形態について図面を参照しながら詳細に説明する。
【００２１】
図１は、本発明の一実施形態であるオーディオデータ処理装置１０の構成を示すブロック図である。このオーディオデータ処理装置１０は、メモリや各種外部機器から入力されたオーディオデータのフォーマットを変換してメモリや各種入出力装置に出力するものである。
【００２２】
図１に示すように、本実施の形態のオーディオデータ処理装置１０は、第１のオーディオフォーマット変換処理部１２と、オーディオデータ処理部１４と、第２のオーディオフォーマット変換処理部１６と、ＣＰＵ（Central Processing Unit）１８と、メモリ２０と、各種外部機器とデータの入出力を行うためのインタフェース（以下各種ＩＯ）２２と、バス２４を備えている。
【００２３】
第１のオーディオフォーマット変換処理部１２、第２のオーディオフォーマット変換処理部１６、ＣＰＵ１８、メモリ２０、及び各種ＩＯ２２は、バス２４を介してオーディオデータやアドレス、割り込み要求信号をやりとりする。
【００２４】
第１のオーディオフォーマット変換処理部１２は、入力されたオーディオデータのフォーマット（以下、変換前フォーマットと呼称）を予め定められたフォーマット（以下、中間フォーマットと呼称）に変換する。なお、第１のオーディオフォーマット変換処理部１２で中間フォーマットに変換される前の入力オーディオデータを変換前オーディオデータと呼称する。
【００２５】
オーディオデータ処理部１４は、第１のオーディオフォーマット変換処理部１２で中間フォーマットに変換されたオーディオデータに所定のエフェクト処理等を施す。
【００２６】
第２のオーディオフォーマット変換処理部１６は、オーディオデータ処理部１４で処理された中間フォーマットのオーディオデータを出力時のフォーマット（以下、変換後フォーマットと呼称）のオーディオデータに変換する。なお、第２のオーディオフォーマット変換処理部１６で変換後フォーマットに変換された後のオーディオデータを変換後オーディオデータと呼称する。
【００２７】
メモリ２０には、ＣＰＵを動作させるためのプログラムコードやオーディオデータが格納されている。またメモリ２０は、プログラムが実行時に使う作業領域、各種ＩＯ２２から入力された変換前オーディオデータや第２のオーディオフォーマット変換処理部１６から読み出した変換後オーディオデータの一時的な格納領域としても使用される。
【００２８】
各種ＩＯ２２は、オーディオデータを扱う外部機器との間でデータの入出力を行うために使用される。
【００２９】
図２は、第１のオーディオフォーマット変換処理部１２の構成を示すブロック図である。
【００３０】
図２に示すように、第１のオーディオフォーマット変換処理部１２は、レジスタブロック３０、入力オーディオフォーマット変換処理部３６、及び出力ＦＩＦＯ（First-In First-Outメモリ回路）３８を備えている。また、レジスタブロック３０は、変換前データライトレジスタ３２、及び変換前フォーマット指定レジスタ３４を備えている。
【００３１】
変換前データライトレジスタ３２には、変換前オーディオデータが格納される。
【００３２】
変換前フォーマット指定レジスタ３４には、変換前フォーマットの内容を示すデータがＣＰＵ１８により記憶（設定）される。これにより、変換前フォーマットが指定される。
【００３３】
図３は、変換前フォーマット指定レジスタ３４に設定される設定項目と各設定項目に設定可能な設定値の具体例を示す図である。
【００３４】
設定項目「チャネル数及びデータの配置順」には、「ステレオ、Ｌ→Ｒ」、「ステレオ、Ｒ→Ｌ」、「モノラル、データ→０」、「モノラル、０→データ」、「モノラル、データ→データ（同じデータを２回繰り返し）」、及び「モノラル、データ→データ（連続データ）」のいずれかが設定される。
【００３５】
ここで、「ステレオ、Ｌ→Ｒ」は、変換前オーディオデータがＬＲ２チャネルのステレオデータであって、Ｌチャネル、Ｒチャネルの順にオーディオデータを配置したデータである場合に設定される。
【００３６】
ここで、「ステレオ、Ｒ→Ｌ」は、変換前オーディオデータがＬＲ２チャネルのステレオデータであって、Ｒチャネル、Ｌチャネルの順にオーディオデータを配置したデータである場合に設定される。
【００３７】
また、「モノラル、データ→０」は、変換前オーディオデータがモノラルデータ（１チャネル）であって、１サンプル毎のデータの各々を「データ１、０、データ２、０・・・」のように０を挟んで順に配置したデータである場合に設定される。
【００３８】
また、「モノラル、０→データ」は、変換前オーディオデータがモノラルデータであって、１サンプル毎のデータの各々を「０、データ１、０、データ２、・・・」のように０を挟んで順に配置したデータである場合に設定される。
【００３９】
また、「モノラル、データ→データ（同じデータを２回繰り返し」は、変換前オーディオデータがモノラルデータであって、１サンプル毎のデータの各々を「データ１、データ１、データ２、データ２、データ３、データ３・・・」のように同じデータを２回繰り返して配置したデータである場合に設定される。
【００４０】
また、「モノラル、データ→データ（連続データ）」は、変換前オーディオデータがモノラルデータであって、１サンプル毎のデータの各々を「データ１、データ２、データ３、・・・」のようにそのままの順で配置したデータである場合に設定される。
【００４１】
設定項目「データの格納方法」には、変換前オーディオデータをＦＩＦＯメモリ等に格納する際の格納方法が設定され、具体的には「１ワード（３２ビット）内に１データを格納する」という設定内容か、「データのビット幅が１６ビットの場合には、１ワード２データを格納し、データのビット幅が１８ビット以上の場合には２ワードにまたがって２データを格納する」という設定内容を設定することができる。なお、「１ワード（３２ビット）内に１データを格納する」とは、データのビット幅によらず、後述するデータの配置位置に従って３２ビット（１ワード）内に１データを格納することを意味する。また、「データのビット幅が１６ビットの場合には、１ワード２データを格納し、データのビット幅が１８ビット以上の場合には２ワードにまたがって２データを格納する」とは、データのビット幅が１６ビットの場合には、３２ビット（１ワード）内に２データを格納し、データのビット幅が１８ビット以上の場合には、２データを一纏めにして、後述するデータの配置位置に従って６４ビット（２ワード）内に格納することを意味する。
【００４２】
設定項目「データの配置位置」には、変換前オーディオデータの１ワード内の配置位置がＭＳＢ（最上位ビット）側に詰める形式か、ＬＳＢ（最下位ビット）側に詰める形式かが設定される。
【００４３】
設定項目「データのビット幅」には、変換前オーディオデータの１サンプル毎のデータの各々のビット幅が設定される。
【００４４】
設定項目「ステレオ→モノラル変換時の選択チャネル」には、変換前オーディオデータをステレオからモノラルに変換する場合に選択するチャネルとして、ＬチャネルまたはＲチャネルのいずれか一方が設定される。
【００４５】
なお、ここで説明した設定項目及び設定値は一例であり、例えば、常に中間フォーマットと共通の設定値となる設定項目があるなどの事情があれば、これら全てを設定する必要はない。
【００４６】
入力オーディオフォーマット変換処理部３６は、変換前データライトレジスタ３２に書込まれた変換前オーディオデータのフォーマットを予め定められた中間フォーマットに変換する。入力オーディオフォーマット変換処理部３６は、変換前オーディオデータに対して変換前フォーマット指定レジスタ３４の設定値に応じたフォーマット変換処理を行って中間フォーマットのオーディオデータに変換するように設計された専用回路であり、ハードワイヤードのロジック回路で構成することができる。
【００４７】
出力ＦＩＦＯ３８は、メモリ領域と、該メモリ領域に対する読み書きを制御したり各種割り込み要求信号を発生させる制御回路とを含んで構成されている。出力ＦＩＦＯ３８には、入力オーディオフォーマット変換処理部３６で中間フォーマットに変換されたオーディオデータが一時的に格納される。また、出力ＦＩＦＯ３８の格納データ量に応じた割り込み要求信号をＣＰＵに出力する。
【００４８】
本実施の形態において、出力ＦＩＦＯ３８から出力される割り込み要求信号は、出力ＦＩＦＯ３８内のデータが空になった場合に発生する出力ＦＩＦＯエンプティ割り込み要求信号、出力ＦＩＦＯ３８内のデータが下限閾値以下になった場合に発生する変換前データ入力許可割り込み要求信号、及び出力ＦＩＦＯ３８内のデータが満杯のときに出力ＦＩＦＯ３８へデータの書き込みが行われた場合に発生する出力ＦＩＦＯオーバーラン割り込み要求信号の３種類である。
【００４９】
図４は、第２のオーディオフォーマット変換処理部１６の構成を示すブロック図である。
【００５０】
図４に示すように、第２のオーディオフォーマット変換処理部１６は、入力ＦＩＦＯ４０、出力オーディオフォーマット変換処理部４２、及びレジスタブロック４４を備えている。また、レジスタブロック４４は、変換後データリードレジスタ４６、及び変換後フォーマット指定レジスタ４８を備えている。
【００５１】
入力ＦＩＦＯ４０は、メモリ領域と、該メモリ領域に対する読み書きを制御したり各種割り込み要求信号を発生させる制御回路とを含んで構成されている。入力ＦＩＦＯ４０には、オーディオデータ処理部１４で処理されたオーディオデータが一時的に格納される。また、入力ＦＩＦＯ４０の格納データ量に応じた割り込み要求信号をＣＰＵに出力する。
【００５２】
本実施の形態において、入力ＦＩＦＯ４０から出力される割り込み要求信号は、入力ＦＩＦＯ４０内のデータが空になった場合に発生する入力ＦＩＦＯエンプティ割り込み要求信号、入力ＦＩＦＯ４０内のデータが上限閾値以上になった場合に発生する変換後データ出力準備完了割り込み要求信号、及び入力ＦＩＦＯ４０内のデータが空の状態で入力ＦＩＦＯ４０から読み出しが行われた場合に発生する入力ＦＩＦＯアンダーラン割り込み要求信号の３種類である。
【００５３】
出力オーディオフォーマット変換処理部４２は、入力ＦＩＦＯ４０内のオーディオデータのフォーマットを、中間フォーマットから変換後フォーマットに変換する。出力オーディオフォーマット変換処理部４２は、入力ＦＩＦＯ４０内のオーディオデータに対して変換後フォーマット指定レジスタ４８の設定値に応じたフォーマット変換処理を行って、オーディオデータを中間フォーマットから変換後フォーマットに変換するように設計された専用回路であり、ハードワイヤードのロジック回路で構成することができる。
【００５４】
変換後データリードレジスタ４６には、出力オーディオフォーマット変換処理部４２によるフォーマット変換後のオーディオデータが格納される。
【００５５】
変換後フォーマット指定レジスタ４８には、変換後フォーマットの内容を示すデータがＣＰＵ１８により記憶（設定）される。これにより、変換後フォーマットが指定される。
【００５６】
図５は、変換後フォーマット指定レジスタ４８に設定される設定項目と各設定項目に設定可能な設定値の具体例を示す図である。
【００５７】
図５に示すように、変換後フォーマット指定レジスタ４８も、図３で例示したのと同様に様々な設定項目が設定される。なお、図５に示す例では、図３に示す設定項目に無い設定項目「モノラル→ステレオ変換時の選択チャネル」が含まれているが、この項目には、オーディオデータをモノラルからステレオに変換する場合に選択するチャネルとして、ＬチャネルまたはＲチャネルのいずれか一方が設定される。この設定により、選択されたチャネルにモノラルデータが格納され、選択されなかったチャネルには０が格納される。
【００５８】
なお、ここで説明した設定項目及び設定値は一例であり、例えば、常に中間フォーマットと共通の設定値となる設定項目があるなどの事情があれば、これら全てを設定する必要はない。
【００５９】
ここで、出力ＦＩＦＯ３８及び入力ＦＩＦＯ４０に格納されるオーディオデータのデータ格納例を具体例を示して説明する。
【００６０】
図６（Ａ）は、中間フォーマットに変換されたオーディオデータがモノラルの場合の出力ＦＩＦＯ３８及び入力ＦＩＦＯ４０のデータ格納例を示している。
【００６１】
この例では、出力ＦＩＦＯ３８及び入力ＦＩＦＯ４０は、１ワードが２４ビット、ｎワード構成で、オーディオデータは入力された順に１ワードに１サンプルずつ格納される。
【００６２】
図６（Ｂ）は、中間フォーマットに変換されたオーディオデータがステレオの場合の出力ＦＩＦＯ３８及び入力ＦＩＦＯ４０のデータ格納例を示している。
【００６３】
この例では、出力ＦＩＦＯ３８及び入力ＦＩＦＯ４０は、１ワードが２４ビット、ｎワード構成で、オーディオデータは入力された順に１ワードに１サンプルずつＬチャネルのデータとＲチャネルのデータとが交互に格納される。
【００６４】
次に、本実施の形態に係るオーディオデータ処理装置１０の動作について詳細に説明する。
【００６５】
ＣＰＵ１８は、メモリ２０に記憶されたフォーマット変換前処理プログラムを実行する。このプログラムにより、ＣＰＵ１８は、まず、メモリ２０等に格納されている変換前オーディオデータから変換前フォーマットを判断し、図３に示すように変換前フォーマット指定レジスタ３４に変換前フォーマットの内容を設定する。また、ＣＰＵ１８は、変換後オーディオデータの出力先等に基づいて変換後フォーマットを判断し、図５に示すように変換後フォーマット指定レジスタ４８に変換後フォーマットの内容を設定する。
【００６６】
つぎに、ＣＰＵ１８は、第１のオーディオフォーマット変換処理部１２及び第２のオーディオフォーマット変換処理部１６に対してバス２４を介してリセット信号を送信し、各々リセットを解除する。これにより第１のオーディオフォーマット変換処理部１２及び第２のオーディオフォーマット変換処理部１６が動作可能状態となる。
【００６７】
更に、ＣＰＵ１８は、出力ＦＩＦＯ３８のワード数と同数のサンプル数の変換前オーディオデータを、入力時のフォーマットのまま第１のオーディオフォーマット変換処理部１２の変換前データライトレジスタ３２に書込む（図１の（Ａ）も参照。）。
【００６８】
ＣＰＵ１８によるフォーマット変換前処理はこれで終了する。その後ＣＰＵ１８は、適宜入力される割り込み要求信号に応じてデータ転送を行うが、ＣＰＵ１８自身は、フォーマット変換は行わない。
【００６９】
入力オーディオフォーマット変換処理部３６は、変換前データライトレジスタ３２にオーディオデータが書込まれると、直ちに変換前フォーマット指定レジスタ３４の内容に応じて変換前データライトレジスタ３２に書込まれたオーディオデータを中間フォーマットに変換して出力ＦＩＦＯ３８に書込む（図１の（Ａ）、（Ｂ）も参照。）。
【００７０】
出力ＦＩＦＯ３８に書込まれたオーディオデータは、オーディオデータ処理部１４により順次読み出されエフェクトなどの処理が施された後、中間フォーマットのまま入力ＦＩＦＯ４０に書込まれる（図１の（Ｂ）、（Ｃ）も参照。）。
【００７１】
入力ＦＩＦＯ４０に中間フォーマットのオーディオデータが書込まれると、出力オーディオフォーマット変換処理部４２が、これを適宜読み出して変換後フォーマット指定レジスタ４８の内容に応じて該オーディオデータを変換後フォーマットに変換し、変換後データリードレジスタ４６に書込む（図１の（Ｃ）、（Ｄ）も参照。）。
【００７２】
なお、第１のオーディオフォーマット変換処理部１２からオーディオデータ処理部１４へのデータ受け渡し、及びオーディオデータ処理部１４から第２のオーディオフォーマット変換処理部１６へのデータ受け渡しは、バス２４を介さずに直接行われる。
【００７３】
一方、ＣＰＵ１８は、出力ＦＩＦＯ３８及び入力ＦＩＦＯ４０から出力された割り込み要求信号に応じて適宜データ転送を行う（図１の（Ａ）、（Ｄ）も参照。）。
【００７４】
ＣＰＵ１８は、出力ＦＩＦＯ３８から、出力ＦＩＦＯ３８内のデータが下限閾値以下になった場合に発生する変換前データ入力許可割り込み要求信号を受け取った場合には、新たな変換前オーディオデータを変換前データライトレジスタ３２に書込む。
【００７５】
すなわち、ＣＰＵ１８は、前述したように動作開始時に出力ＦＩＦＯ３８のワード数と同数のサンプル数のオーディオデータを変換前データライトレジスタに書込んだ後は、変換前データ入力許可割り込み要求信号が発生する毎に新たな変換前オーディオデータを変換前データライトレジスタ３２に書込む。そして、全ての変換前オーディオデータの書込みが終了するまでこれを繰り返す。
【００７６】
また、ＣＰＵ１８は、出力ＦＩＦＯ３８から、出力ＦＩＦＯ３８内のデータが満杯のときに出力ＦＩＦＯ３８へのデータの書き込みが行われた場合に発生する出力ＦＩＦＯオーバーラン割り込み要求信号を受け取った場合には、変換前データライトレジスタ３２への変換前オーディオデータの書き込みを一時的に中断する。
【００７７】
また、ＣＰＵ１８は、入力ＦＩＦＯ４０から、入力ＦＩＦＯ４０内のデータが上限閾値以上になった場合に発生する変換後データ出力準備完了割り込み要求信号を受け取った場合には、変換後データリードレジスタ４６から変換後オーディオデータを読み出し、各種ＩＯ２２を介して外部機器に該変換後オーディオデータを出力するか、或いはメモリ２０に格納する。
【００７８】
このように、ＣＰＵ１８は、変換後データ出力準備完了割り込み要求信号が発生する毎に変換後データリードレジスタ４６から変換後オーディオデータを読み出して転送する。そして、全ての変換後オーディオデータの読み出しが終了するまでこれを繰り返す。
【００７９】
また、ＣＰＵ１８は、入力ＦＩＦＯ４０から、入力ＦＩＦＯ４０内のデータが空の状態で入力ＦＩＦＯ４０から読み出しが行われた場合に発生する入力ＦＩＦＯアンダーラン割り込み要求信号を受け取った場合には、変換後データリードレジスタ４６からの変換後オーディオデータの読み出しを一時的に中断する。
【００８０】
また、ＣＰＵ１８は、出力ＦＩＦＯ３８から、出力ＦＩＦＯ３８内のデータが空になった場合に発生する出力ＦＩＦＯエンプティ割り込み要求信号を受け取った後、入力ＦＩＦＯ４０から、入力ＦＩＦＯ４０内のデータが空になった場合に発生する入力ＦＩＦＯエンプティ割り込み要求信号を受け取った場合には、オーディオデータに対する一連の変換処理が終了したと判断する。
【００８１】
以上詳細に説明したように、第１のオーディオフォーマット変換処理部１２及び第２のオーディオフォーマット変換処理部１６を、変換前フォーマット指定レジスタ３４あるいは変換後フォーマット指定レジスタ４８に予め設定された内容に従って変換処理を行う専用回路（ここではハードワイヤードロジック回路）で構成することにより、ＣＰＵ１８がオーディオフォーマットの変換を行う必要がなくなるため、ＣＰＵ１８の負荷が軽減される。
【００８２】
さらに、状態の変化を割り込み要求信号を発生させてＣＰＵ１８に伝達するようにしたため、ＣＰＵ１８は、オーディオデータのフォーマット変換に関するオーディオデータの読み書き等の処理を、割り込み要求信号発生に応じて行うことができる。従って、ＣＰＵ１８はオーディオフォーマットの変換中に他の処理を行うことができるようになり、ＣＰＵ１８の負荷が軽減される。
【００８３】
また、オーディオデータ処理部１４を第１、第２のフォーマット変換処理部１２、１６の間に設けることにより、オーディオデータ処理部１４で処理可能なフォーマットを中間フォーマットに限定して設計することができ、オーディオデータ処理部１４の回路またはソフトウェアを単純化することができる。
【００８４】
なお、本発明は、上述した実施の形態に限定されるものではなく、特許請求の範囲に記載された発明の範囲内で様々な設計上の変更を行うことができる。
【００８５】
例えば、上記実施の形態では、第１のオーディオフォーマット変換処理部１２と、第２のオーディオフォーマット変換処理部１６の間にオーディオデータ処理部１４が存在する構成となっているが、オーディオデータ処理部１４が無い構成でもよい。すなわち、第１のオーディオフォーマット変換処理部１２及び第２のオーディオフォーマット変換処理部１６によりフォーマット変換のみが行われる構成とする。その場合には、出力ＦＩＦＯ３８及び入力ＦＩＦＯ４０のいずれか一方または両方を省略してもよい。
【００８６】
なお、出力ＦＩＦＯ３８及び入力ＦＩＦＯ４０の一方を省略し、１つのＦＩＦＯのみ装備する場合には、ＦＩＦＯ内のデータが空になった場合に発生するエンプティ割り込み要求信号、ＦＩＦＯ内のデータが下限閾値以下になった場合に発生する変換前データ入力許可割り込み要求信号、ＦＩＦＯ内のデータが上限閾値以上になった場合に発生する変換後データ出力準備完了割り込み要求信号、ＦＩＦＯ内のデータが満杯のときにＦＩＦＯへデータの書き込みが行われた場合に発生するＦＩＦＯオーバーラン割り込み要求信号、及びＦＩＦＯ内のデータが空の状態でＦＩＦＯから読み出しが行われた場合に発生するＦＩＦＯアンダーラン割り込み要求信号の５種類の割り込み信号を発生させるように、該ＦＩＦＯを設計しておく。これら割り込み信号が発生した場合のＣＰＵ１８の処理は、上記実施の形態と同様であるため説明を省略する。
【００８７】
また、出力ＦＩＦＯ３８及び入力ＦＩＦＯ４０の両方を省略する場合には、変換前データライトレジスタ３２に書込んだデータ量と変換後データリードレジスタ４６から読み出したデータ量とをモニタしてデータ転送を制御するようなプログラムをＣＰＵ１８に実行させるようにする。変換前データライトレジスタ３２に対して変換前オーディオデータを所定量だけ書込んだ後、変換後データリードレジスタ４６をモニタし適宜変換後オーディオデータを読み出すようにし、所定量のデータ量を読み出した場合に、新たな変換前オーディオデータを変換前データライトレジスタ３２に所定量書込むことを繰り返すようなプログラムとしてもよい。このように構成した場合には、割り込み信号によりデータ転送制御を行う場合に比べてＣＰＵ１８の負荷は増えるが、ＣＰＵ１８自身がフォーマット変換処理を行わない分だけ従来よりもＣＰＵ１８の負荷は軽減される。
【００８８】
また、上記実施の形態では、割り込み要求信号を直接ＣＰＵ１８へ入力する構成としたが、別途割り込みコントローラを設け、割り込み要求信号を割り込みコントローラを介在させてＣＰＵ１８に入力させる構成とすることもできる。例えば、出力ＦＩＦＯ３８及び入力ＦＩＦＯ４０からの割り込み要求信号だけでなく、各種ＩＯ２２等からも割り込み要求信号が発生する場合がある。このように様々な回路から割り込み要求信号が発生した場合に、例えばその優先順位を制御する割り込みコントローラを介在させることで、該割り込み要求信号による処理を優先順位に応じて円滑に処理することができる。
【００８９】
また、上記実施の形態では、変換可能なオーディオフォーマットのビット数の最大値が２４ビットである例を説明したが、これに限定されず、２４ビット以上とすることも可能である。その場合には、出力ＦＩＦＯ３８及び入力ＦＩＦＯ４０の１ワードのビット数を変換可能な最大のビット数に合わせて増加させる。
【００９０】
また、上記実施の形態では、変換前フォーマット指定レジスタ３４に設定される設定項目に、「ステレオ→モノラル変換時の選択チャネル」を含め、変換後フォーマット指定レジスタ４８に設定される設定項目に、「モノラル→ステレオ変換時の選択チャネル」を含める構成としたが、これに限定されず、例えば、変換前フォーマット指定レジスタ３４に設定する設定項目に「モノラル→ステレオ変換時の選択チャネル」を含めてもよいし、変換後フォーマット指定レジスタ４８に設定する設定項目に「ステレオ→モノラル変換時の選択チャネル」を含めるようにしてもよい。
【００９１】
また、上記実施の形態では６種類（出力ＦＩＦＯ３８及び入力ＦＩＦＯ４０の一方を省略する変形例では５種類）の割り込み要求信号を発生させる例について説明したが、これに限定されず、例えば、発生させる割り込み要求信号が変換前データ入力許可割り込み要求信号、変換後データ出力準備完了割り込み要求信号の２種類だけであってもよい。また、例えば、この２種類のうち変換前データ入力許可割り込み要求信号のみ発生させて上記実施の形態と同様の処理を行い、変換後データ出力準備完了割り込み要求信号に応じて行う読み出し処理については、変換後データリードレジスタ４６のデータ量をＣＰＵ１８がモニタしながら行うようにプログラムするなど、本発明の範囲内において適宜設計変更可能である。
【図面の簡単な説明】
【００９２】
【図１】本発明の一実施形態であるオーディオデータ処理装置の構成を示すブロック図である。
【図２】第１のオーディオフォーマット変換処理部の構成を示すブロック図である。
【図３】変換前フォーマット指定レジスタに設定される設定項目と該設定項目に設定可能な設定値の具体例を示す図である。
【図４】第２のオーディオフォーマット変換処理部の構成を示すブロック図である。
【図５】変換後フォーマット指定レジスタに設定される設定項目と該設定項目に設定可能な設定値の具体例を示す図である。
【図６】（Ａ）は、中間フォーマットに変換されたオーディオデータがモノラルの場合の出力ＦＩＦＯ及び入力ＦＩＦＯのデータ格納例を示しており、（Ｂ）は、中間フォーマットに変換されたオーディオデータがステレオの場合の出力ＦＩＦＯ及び入力ＦＩＦＯのデータ格納例を示している。
【符号の説明】
【００９３】
１０      オーディオ処理装置
１２      第１のオーディオフォーマット変換処理部
１４      オーディオデータ処理部
１６      第２のオーディオフォーマット変換処理部
１８      ＣＰＵ
２０      メモリ
２２      各種ＩＯ
２４      バス
３０      レジスタブロック
３２      変換前データライトレジスタ
３４      変換前フォーマット指定レジスタ
３６      入力オーディオフォーマット変換処理部
３８      出力ＦＩＦＯ
４０      入力ＦＩＦＯ
４２      出力オーディオフォーマット変換処理部
４４      レジスタブロック
４６      変換後データリードレジスタ
４８      変換後フォーマット指定レジスタ
【図１】
2010008489.tif 000003
【図２】
2010008489.tif 000004
【図３】
2010008489.tif 000005
【図４】
2010008489.tif 000006
【図５】
2010008489.tif 000007
【図６】
2010008489.tif 000008