(57)【特許請求の範囲】
【請求項１】
オーディオデータを入力および出力するオーディオ・インターフェイス回路であって、
前記オーディオ・インターフェイス回路は、
第１インターフェイス回路と、
第２インターフェイス回路と、
フィルタ演算を行うフィルタ回路と、
フィルタ演算制御回路と、
バッファメモリと、を有し、バスを介してＣＰＵとＣＰＵ周辺回路にアクセス可能とされ、
入力オーディオデータは、オーディオ入力から前記第１インターフェイス回路を介して、前記フィルタ回路に入力され、前記フィルタ回路でフィルタ演算処理され、前記バッファメモリに格納された後に前記バスに送信され、前記ＣＰＵの制御により前記ＣＰＵ周辺回路に送信され、
出力オーディオデータは、前記ＣＰＵの指令により、前記バスを介して前記バッファメモリに格納された後に前記フィルタ回路に受け渡され、前記フィルタ回路でフィルタ演算処理され、前記第２インターフェイス回路を介してオーディオ出力に出力され、
前記フィルタ演算制御回路は、前記入力オーディオデータと前記出力オーディオデータを、所定のサンプリング期間で、入力が完了したデータに対して、フィルタ演算処理する制御を行い、
前記フィルタ回路は、前記入力オーディオデータのサンプリング周波数と前記出力オーディオデータのサンプリング周波数とが異なる場合に、前記入力オーディオデータと、前記出力オーディオデータのデータレートを比較して、周期の短いほうのデータレートをフィルタ演算処理の１周期とし、前記入力オーディオデータと前記出力オーディオデータに対して、入力が完了したデータを、後のフィルタ演算処理の１周期内にフィルタ演算処理を行うように構成されていることを特徴とするオーディオ・インターフェイス回路。
【請求項２】
請求項１記載のオーディオ・インターフェイス回路において、
前記バッファメモリは、前記入力オーディオデータと前記出力オーディオデータとで共用されるように構成されていることを特徴とするオーディオ・インターフェイス回路。
【請求項３】
請求項２記載のオーディオ・インターフェイス回路において、
前記バッファメモリは、前記フィルタ回路のフィルタ遅延メモリとして機能するように構成されていることを特徴とするオーディオ・インターフェイス回路。
【請求項４】
請求項２または３記載のオーディオ・インターフェイス回路において、
前記バッファメモリは、前記フィルタ回路のフィルタ係数メモリとして機能するように構成されていることを特徴とするオーディオ・インターフェイス回路。
【請求項５】
請求項１乃至４のいずれか一に記載のオーディオ・インターフェイス回路において、
前記フィルタ演算制御回路は、前記入力オーディオデータと前記出力オーディオデータのデータレートが１サンプル期間であるときに、前記フィルタ回路に入力された後の１サンプル期間内に、前記入力オーディオデータのフィルタ演算処理と前記出力オーディオデータのフィルタ演処理算を二重に行うように制御することを特徴とするオーディオ・インターフェイス回路。
【請求項６】
請求項１乃至５のいずれか一に記載のオーディオ・インターフェイス回路において、
前記オーディオデータはデジタルデータであることを特徴とするオーディオ・インターフェイス回路。
【請求項７】
請求項１乃至６のいずれか一に記載のオーディオ・インターフェイス回路において、
前記オーディオ・インターフェイス回路は携帯端末に対応するように構成されていることを特徴とするオーディオ・インターフェイス回路。
【請求項８】
請求項１乃至７のいずれか一に記載のオーディオ・インターフェイス回路において、
前記バスに出力された前記入力オーディオデータはハードディスクに記録されることを特徴とするオーディオ・インターフェイス回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、携帯端末・オーディオ機器等の各種機器間で音声信号等の送信／受信に必要なインターフェイス回路に関するものである。
【０００２】
【従来の技術】
近年、多種類の属性を持つデジタルオーディオ信号が存在する。信号のサンプリング周波数について考えると、パーソナルコンピュータ等における一般的なオーディオ信号インターフェイス部では、44.1kHz、22.05kHz、11.025kHzが用いられている。また、デジタルオーディオテープレコーダ(DAT)等では48kHzが、衛星放送では32kHzなどが採用されている。
さらに、オーディオ・インターフェイスを通して音声信号をデジタルデータ化し、それをハードディスク等の記録メディアに記録したり再生したりする編集装置が知られている。また、近年では、携帯端末においても音声信号の入出力および記録・再生機能を有するものがある。
このため、オーディオ・インターフェイスは、DAT等の48kHz等、異なるサンプリング周波数の音源をパーソナルコンピュータ等からCD-R等に録音したりする際には、サンプリング周波数を変換処理する必要がある。
また、世の中に存在する信号の多くは相変わらずアナログ信号のままである。そのため、信号の中には雑音成分が多かれ少なかれ含まれており、信号成分に影響を与えることなく、上手に信号に混ざった雑音成分のみを取り除く上で、オーディオ・インターフェイスとしてフィルタ回路が必要となっている。
一般的なオーディオ機能を搭載している機器は、オーディオ・インターフェイスの制御を行うCPUとその制御信号を受け取りオーディオデータの入出力動作を行うオーディオ・インターフェイス回路により構成されている。
例えば、特開平9-139671号公報に開示されている従来技術を図5に示す。これをみると、オーディオデータの入出力フィルタ回路および入出力バッファは、それぞれ独立して存在していることがわかる。
図5において、入力されたオーディオデータは、インターフェイス回路506からサンプリング周波数Nfsとして入力される。サンプリング周波数Nfsのオーディオデータはフィルタ回路505（オーバーサンプリングフィルタ）により所定の帯域制限が行われてデシメータ504に供給される。デシメータ504は、供給されたオーディオデータに対して1/Nの間引処理を行うことで、サンプリング周波数fsのオーディオデータを出力する。デシメータ504から出力されるサンプリング周波数fsのオーディオデータは、入力バッファ503に書き込まれ、所定のタイミングでCPUバス511に出力される。
以上の各部の動作はタイミング発生部502により制御される。CPU501は取り込みたいオーディオデータのサンプリング周波数fsを指定し、タイミング発生部502に伝える。タイミング発生部502は、指定されたサンプリング周波数fsに応じて、インターフェイス回路506に、N倍のサンプリング周波数Nfsでオーディオデータの入力を行う。このときの『 N 』は固定値とする。タイミング発生部502はさらに、フィルタ回路505およびデシメータ504で処理されたオーディオデータについて、入力バッファ503への書込・読出を制御する。入力バッファ503からCPUバス511に出力されたオーディオデータは、ハードディスク等へ記録される。
次に、オーディオデータを出力する場合を説明する。まず、CPU501からの指令に基づいて、タイミング発生部がCPUバス511から供給されるオーディオデータを出力バッファ507に取り込んでいく。そして、送信タイミングに合わせて出力バッファ507から読み出したオーディオデータをインポレータ508に供給する。タイミング発生部502はCPU501から送信出力するオーディオデータのサンプリング周波数fsを取り込むと、インターポレータ508には、N倍のデータ補間処理を実行させる。つまりサンプリング周波数Nfsのオーディオデータを出力される。このサンプリング周波数Nfsのオーディオデータはフィルタ回路509（オーバーサンプリングフィルタ）により帯域制限が行われる。デジタルフィルタ509の出力はインターフェイス回路510にわたされ、タイミング発生部502は指定された周波数fsに応じてN倍の周波数Nfsのタイミングでオーディオデータを出力する。  これらの周波数変換処理等は、FIRフィルタ演算を基本とするものである。
次に、フィルタ回路で行われるFIRフィルタについて、図2を用いて説明する。
図2において、入力される最新データはメモリ1から入力し、1回処理するごとに1つ右の位置へデータを移動させる。そして、改めて、最新のデータをメモリ1の位置へ入力する。図5の出力オーディオデータを考えた場合、入力されるデータは出力オーディオ用バッファメモリ507に蓄積されたデータとなる。このときメモリ1〜メモリnに格納されるデータがFIRフィルタ用遅延メモリである。メモリに蓄積された各データには、それぞれに用意されたフィルタ係数h1〜hnをかけ合わせ、その結果を累積してフィルタ出力（出力データ）とする。
【０００３】
【発明が解決しようとする課題】
前述の従来技術にみられるように、オーディオ・インターフェイス回路は、入力オーディオデータおよび出力オーディオデータ、それぞれにフィルタ回路、CPUとの送受信用のバッファメモリ、フィルタ回路が有するフィルタ遅延メモリ、フィルタ演算が利用するフィルタ係数メモリがあり、このような回路構成を採ることが、ハードウェアとしての回路規模を大きし、コスト高へと繋がっている。
さらに前述の従来技術では、全2重動作を行うことができるが、タイミング発生部により指定されるサンプリング周波数が入力オーディオデータおよび出力オーディオデータにおいて同じレートでしか動作することができない。機器のサンプリング周波数の規格は多数であり、しかも周波数比は単純ではない。より汎用的なオーディオ・インターフェイスを実現するには、入力および出力オーディオデータがそれぞれ異なるサンプリング周波数でも、動作することが重要である。
本発明は上記問題点を鑑み、オーディオ・インターフェイスの回路規模を削減し、コスト低減を図るとともに、入出力で異なるサンプリング周波数で全2重動作を可能とする。
【０００４】
【課題を解決するための手段】
上記課題を解決するために、本発明のうち代表的なものの一つは、オーディオデータを入力および出力するオーディオ・インターフェイス回路であって、前記オーディオ・インターフェイス回路は、前記オーディオデータのフィルタ演算を行うフィルタ回路を有し、前記フィルタ回路は、入力オーディオデータと出力オーディオデータとで共用されるように構成されていることを特徴とする。
また、本願発明の代表的なもう一つは、第１オーディオデータの送信および第２オーディオデータの受信を行うオーディオ・インターフェイス回路であって、前記オーディオ・インターフェイス回路は、フィルタ回路、フィルタ演算回路、バッファメモリ、前記第１オーディオデータのインターフェイス回路、および、前記第２オーディオデータのインターフェイス回路を有し、前記フィルタ回路は、前記第１オーディオデータおよび前記第２オーディオデータの両方のフィルタ演算を行い、かつ、前記第１オーディオデータおよび前記第２オーディオデータのフィルタ演算の二重動作が時分割により可能とされていることを特徴とする。
【０００５】
【発明の実施の形態】
以下、本発明の実施の形態を、図1〜図4を用いて説明する。
まず、図2を用いて、図1におけるバッファメモリ103の動作に関して説明する。従来の技術であるFIRフィルタの動作の説明にあるように、図2において入力される最新データはメモリ1から入力し、1回処理するごとに1つ右の位置へデータを移動させている。ここで、図2における入力データは、出力オーディオデータ用バッファメモリに蓄積されている最新データを読み出している。したがって、出力オーディオデータ用バッファメモリに蓄積されているデータは、図2におけるFIRフィルタのメモリ1〜NのFIRフィルタ用遅延メモリと同じデータとなる。このため、出力オーディオデータ用バッファメモリおよびFIRフィルタ遅延メモリを1つのバッファメモリとして共有して動作することが可能となる。
さらに、本実施例においては、CPU101とオーディオデータを読み出し、書き込みする際に必要な入力オーディオデータ用バッファメモリと出力オーディオデータ用バッファメモリを1つのバッファメモリとして共有して動作を行っている。また同様に、このバッファメモリはフィルタ演算に利用するフィルタ係数を読み出すのに必要なフィルタ係数メモリとして共有させることも可能である。
次に、フィルタ回路102の動作に関し、図3を用いて説明する。
図3の横軸は時間を表し、48kHzの入力オーディオデータおよび出力オーディオデータ、さらに本実施例における入力オーディオデータおよび出力オーディオデータの演算器処理の実行期間を示している。フィルタ回路に入力される入力データ1〜4、出力データ1〜4の各データの1サンプル期間は、48kHz周期である。
従来の考え方を用いて入力オーディオデータと出力オーディオデータのフィルタ回路を組み合わせによる共有化を行うと、フィルタ演算の演算器処理は1サンプル期間で1個のデータ処理を行うため、1サンプル期間に入力オーディオデータと出力オーディオデータに対し演算処理を同時に行うことができない。
そこで、本実施例では、図3が示すように、1サンプル期間の演算処理時間を入力処理、出力処理と、それぞれの処理期間に分割することで処理動作を行う。フィルタ演算器の演算規模を処理期間に収まるように設定することで、入力オーディオデータおよび出力オーディオデータのフィルタ回路を共有した動作が可能となる。
次に、図1に示すオーディオ・インターフェイスのブロック構成を用いて動作方法を説明する。
インターフェイス回路104には、外部から入力オーディオデータが入力される。入力されたオーディオデータは、フィルタ回路102に受け渡され、フィルタ演算処理が行われる。このオーディオデータはバッファメモリ103に書き込まれ、格納される。バッファメモリ103から所定のタイミングでCPUバス107に出力される。CPUバス107に出力されたオーディオデータはCPU101の制御により他CPU周辺回路106に供給され、ハードディスク等への記録動作が行われる。
出力オーディオデータとして外部に出力する場合は、CPU101の指令により、所定のタイミングでCPUバス107を通り、バッファメモリ103に取り込んでいく。そして、出力オーディオデータは、フィルタ回路102に受け渡され、フィルタ演算処理、サンプリング周波数変換処理が行われる。フィルタ回路102の出力は、インターフェイス回路105に受け渡され、送信タイミングに合わせてオーディオデータを出力する。
CPU101は入力オーディオデータおよび出力オーディオデータのサンプリング周波数を指定し、フィルタ演算制御回路108に伝える。フィルタ演算制御回路108は、指定された入力オーディオデータと出力オーディオデータ、それぞれのサンプリング周波数に応じた制御をフィルタ回路102の演算処理に対し行う。
最後に、入力オーディオデータおよび出力オーディオデータのサンプリング周波数が異なるフィルタ回路102の演算処理の方法について、図4の例で説明する。
図4の横軸は時間を表し、44.1kHzの入力オーディオデータおよび48kHzの出力オーディオデータ、入力オーディオデータおよび出力オーディオデータの演算器処理の実行期間を示している。フィルタ回路に入力される入力データ1〜4の各データの1サンプル期間は、44.1kHz周期、出力データ1〜4の各データの1サンプル期間は、48kHz周期である。A, B, C, D, E, Fはそれぞれ48kHzの1サンプル期間を表している。この場合、演算器処理は出力オーディオデータの周期の方が短いため、48kHzの周期で入力および出力の演算処理を行う。基本的にフィルタ演算処理は、入力処理、出力処理を行う。
図4のB期間におけるフィルタ演算処理では、A期間内に確定した出力データ1の出力処理が行われる。これは、入力オーディオデータのサンプリング周波数が44.1kHzと遅いためA期間内においてデータが確定していないので、B期間開始時の演算器処理のタイミングに間に合わないからである。したがって、B期間内で確定する入力データ1と出力データ2はC期間で演算処理される。D期間では入力データ2と出力データ3の演算処理、E期間では入力データ3と出力データ4の演算処理を行う。最後のF期間において、入力データ4の演算処理がされることになる。
入力オーディオデータと出力オーディオデータとで異なるサンプリング周波数のフィルタ演算を行う場合、前述の演算処理はフィルタ演算制御回路108により入力演算処理および出力演算処理の実行、停止の制御が行われる。
制御手順は図4に示すような場合、1サンプルの周期が短い出力オーディオデータのサンプリング周波数48kHzがデータ演算器処理を行う1サンプル期間と設定される。次に、入力演算処理および出力演算処理が1サンプル期間に収まるよう制御される。またデータ処理は、A期間において、入力データはなく、出力データ1だけが確定しているので、B期間では出力処理を行い、入力処理は行わないよう制御する。B期間では、入力データ1と出力データ2が確定しているため、C期間において入力処理および出力処理を行うよう制御する。さらに、C期間では入力データ2と出力データ3、D期間では入力データ3と出力データ4、E期間では入力データ4と出力データ5が確定しているため、それぞれD期間、E期間、F期間において入力処理および出力処理を行うよう制御する。
このように、本実施例のオーディオ・インターフェイス回路は演算処理を制御することにより、サンプリング周波数の異なる全2重動作を可能にする。
以上、本発明者によってなされた発明を実施例に基づき具体的に説明したが、本発明は上記実施例に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。
例えば、上記実施例では、フィルタ回路とバッファメモリの両方について、それぞれ共用化を図っているが、必ずしもこれに限られず、共用化の対象を何れか一方のみにするものであってもよい。
また、バッファメモリは出力オーディオデータ用バッファメモリ、入力オーディオデータ用バッファメモリ、および、フィルタ回路が有するフィルタ遅延メモリを共用するとして説明したが、必ずしもこれに限られず、これらの３つのメモリのうち２つを共用するものであってもよい。また、他のメモリをも共用するものであってもよい。
【０００６】
【発明の効果】
以上、本発明のオーディオ・インターフェイス回路を用いれば、入力オーディオデータと出力オーディオデータのフィルタ演算回路を共用することにより、回路規模の削減およびコスト低減を図ることができる。
また、ハードウェアとしてのCPUとの送受信用バッファメモリを共用すれば、回路規模の削減、コスト低減に、より一層寄与することができる。
また、サンプリング周波数の異なる入力オーディオデータおよび出力オーディオデータを扱う場合でも、全2重動作が可能となる。
【図面の簡単な説明】
【図１】オーディオ・インターフェイスのブロック図。
【図２】  FIRフィルタの信号処理図。
【図３】フィルタ演算の処理方法1。
【図４】フィルタ演算の処理方法2。
【図５】従来のオーディオ・インターフェイスのブロック図。
【符号の説明】
101…CPU，102…フィルタ回路，103…バッファ，104・105…インターフェイス回路，106…他CPU周辺回路，107…CPUバス，108…フィルタ演算制御回路。
【図１】
0004547123.tif 000002
【図２】
0004547123.tif 000003
【図３】
0004547123.tif 000004
【図４】
0004547123.tif 000005
【図５】
0004547123.tif 000006