JPH07176987A - 音声信号のディジタル処理方法 - Google Patents
音声信号のディジタル処理方法Info
- Publication number
- JPH07176987A JPH07176987A JP5320637A JP32063793A JPH07176987A JP H07176987 A JPH07176987 A JP H07176987A JP 5320637 A JP5320637 A JP 5320637A JP 32063793 A JP32063793 A JP 32063793A JP H07176987 A JPH07176987 A JP H07176987A
- Authority
- JP
- Japan
- Prior art keywords
- ram
- filter
- channel
- calculation
- rom
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/10527—Audio or video recording; Data buffering arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
(57)【要約】
【目的】 一つのディジタルフィルタで各種のフォーマ
ット及びミキング処理に対応できる音声信号のディジタ
ル処理方法に関する。 【構成】 CD−DAデータとADPCMデータとを同
一のサンプリングレートに変換ミキシングする方法であ
って、同一サンプリングレートの1周期(1/88.2
KHz)中に各チャネル(A,B,C,D)ごとのフィ
ルタ計算のための動作期間を順次設定(SELA,SE
LB,SELC,SELD)し、各動作期間に上記ディ
ジタル音声入力データ等を格納するRAMと係数が格納
されているROMと積和演算を行う積和演算器とを当該
チャネルのために独占的に使用して順次各チャネルのフ
ィルタ計算の出力を行うこと特徴とする。
ット及びミキング処理に対応できる音声信号のディジタ
ル処理方法に関する。 【構成】 CD−DAデータとADPCMデータとを同
一のサンプリングレートに変換ミキシングする方法であ
って、同一サンプリングレートの1周期(1/88.2
KHz)中に各チャネル(A,B,C,D)ごとのフィ
ルタ計算のための動作期間を順次設定(SELA,SE
LB,SELC,SELD)し、各動作期間に上記ディ
ジタル音声入力データ等を格納するRAMと係数が格納
されているROMと積和演算を行う積和演算器とを当該
チャネルのために独占的に使用して順次各チャネルのフ
ィルタ計算の出力を行うこと特徴とする。
Description
【0001】
【産業上の利用分野】本発明は、CD−ROM応用シス
テムにおける音声信号のディジタル処理方法に関する。
テムにおける音声信号のディジタル処理方法に関する。
【0002】
【従来の技術】CD(コンパクトディスク)に記録され
る音声データフォーマットとしては、CD−DA(ディ
ジタルオーディオ)における16ビットのリニアPCM
によるフォーマットの他、CD−I(インタラクティ
ブ)、CD−ROM.XAの規格などで用いられるAD
PCMによるフォーマットがある。そして、上記CD−
DAのサンプリングレートは44.1KHzとされる一
方、ADPCMフォーマットではレベルにより異なり、
レベルA,Bでは37.8KHz、レベルCでは18.
9KHzとなっている。
る音声データフォーマットとしては、CD−DA(ディ
ジタルオーディオ)における16ビットのリニアPCM
によるフォーマットの他、CD−I(インタラクティ
ブ)、CD−ROM.XAの規格などで用いられるAD
PCMによるフォーマットがある。そして、上記CD−
DAのサンプリングレートは44.1KHzとされる一
方、ADPCMフォーマットではレベルにより異なり、
レベルA,Bでは37.8KHz、レベルCでは18.
9KHzとなっている。
【0003】また、ディジタル的にデコードされたこれ
らフォーマットのデータをアナログ量に変換して音声と
して出力する場合、D/A変換器およびアナログのロー
パスフィルタが用いられるが、これらD/A変換器の変
換レートやローパスフィルタの特性を前記サンプリング
レートに対応させる必要がある。更に、CD−ROM応
用システムにおいては、CD−DAのデータとADPC
Mの各レベルのデータをミキシングして再生することが
要求される場合がある。
らフォーマットのデータをアナログ量に変換して音声と
して出力する場合、D/A変換器およびアナログのロー
パスフィルタが用いられるが、これらD/A変換器の変
換レートやローパスフィルタの特性を前記サンプリング
レートに対応させる必要がある。更に、CD−ROM応
用システムにおいては、CD−DAのデータとADPC
Mの各レベルのデータをミキシングして再生することが
要求される場合がある。
【0004】
【発明が解決しようとする課題】しかしながら、異なる
サンプリングレートごとにそれに対応したローパスフィ
ルタ等を備えるとしたのでは、システムが複雑になると
ともにコスト高を招く。更に、上記のミキシング機能に
対応すべく、フォーマットとチャネルの数だけディジタ
ルフィルタ備えるとしたのでは、回路規模が大きくなり
すぎて不経済となる。
サンプリングレートごとにそれに対応したローパスフィ
ルタ等を備えるとしたのでは、システムが複雑になると
ともにコスト高を招く。更に、上記のミキシング機能に
対応すべく、フォーマットとチャネルの数だけディジタ
ルフィルタ備えるとしたのでは、回路規模が大きくなり
すぎて不経済となる。
【0005】本発明は、上記の事情に鑑み、一つのディ
ジタルフィルタで各種のフォーマット及びミキング処理
に対応できる音声信号のディジタル処理方法を提供する
ことを目的とする。
ジタルフィルタで各種のフォーマット及びミキング処理
に対応できる音声信号のディジタル処理方法を提供する
ことを目的とする。
【0006】
【課題を解決するための手段】本発明の音声信号のディ
ジタル処理方法は、異なったサンプリングレートのディ
ジタル音声入力データを同一のサンプリングレートに変
換する音声信号のディジタル処理方法において、上記の
同一サンプリングレートの1周期中に各チャネルごとの
フィルタ計算のための動作期間を順次設定し、各動作期
間に上記ディジタル音声入力データ等を格納するRAM
と係数が格納されているROMと積和演算を行う積和演
算器とを当該チャネルのために独占的に使用して順次各
チャネルのフィルタ計算の出力を行うこと特徴とする。
ジタル処理方法は、異なったサンプリングレートのディ
ジタル音声入力データを同一のサンプリングレートに変
換する音声信号のディジタル処理方法において、上記の
同一サンプリングレートの1周期中に各チャネルごとの
フィルタ計算のための動作期間を順次設定し、各動作期
間に上記ディジタル音声入力データ等を格納するRAM
と係数が格納されているROMと積和演算を行う積和演
算器とを当該チャネルのために独占的に使用して順次各
チャネルのフィルタ計算の出力を行うこと特徴とする。
【0007】また、上記第1の構成において、サンプリ
ングレートの統一をオーバーサンプリングにより行うよ
うにしてもよい。
ングレートの統一をオーバーサンプリングにより行うよ
うにしてもよい。
【0008】また、上記第1又は第2の構成において、
LおよびNを整数とし、L/N倍オーバーサンプリング
を元レートをL倍した後N分の1に間引いて行う場合
に、前記ROMには上記Lに対応して複数の組に分けた
係数群を組ごとに重ならない番地に分けて格納する一
方、前記Lの範囲で組指定信号を生成するとともに、当
該組における係数群のソートの正逆を示す信号を生成し
て前記ROMから係数を得るようにしてもよい。
LおよびNを整数とし、L/N倍オーバーサンプリング
を元レートをL倍した後N分の1に間引いて行う場合
に、前記ROMには上記Lに対応して複数の組に分けた
係数群を組ごとに重ならない番地に分けて格納する一
方、前記Lの範囲で組指定信号を生成するとともに、当
該組における係数群のソートの正逆を示す信号を生成し
て前記ROMから係数を得るようにしてもよい。
【0009】また、上記第1乃至第3のいずれかの構成
において、複数チャネルのディジタル音声入力データを
サイクリックバッファとして構成された一つのRAMに
格納する場合に、nを整数としてバッファサイズを2n
にするとともに、RAMの上位アドレスに対してオフセ
ットを設定してチャネルに対するバッファの割り付けを
行うようにしてもよいものである。
において、複数チャネルのディジタル音声入力データを
サイクリックバッファとして構成された一つのRAMに
格納する場合に、nを整数としてバッファサイズを2n
にするとともに、RAMの上位アドレスに対してオフセ
ットを設定してチャネルに対するバッファの割り付けを
行うようにしてもよいものである。
【0010】また、上記第1乃至第4のいずれかの構成
において、フィルタ計算のために設定された動作期間中
に当該動作期間のチャネルにおける全フィルタ計算の途
中までを計算し、この途中計算結果をRAMの空き領域
に保持するとともに、次回の当該チャネルの動作期間に
上記RAMに保持されている途中計算結果を読み出して
全フィルタ計算を行うようにしてもよいものである。
において、フィルタ計算のために設定された動作期間中
に当該動作期間のチャネルにおける全フィルタ計算の途
中までを計算し、この途中計算結果をRAMの空き領域
に保持するとともに、次回の当該チャネルの動作期間に
上記RAMに保持されている途中計算結果を読み出して
全フィルタ計算を行うようにしてもよいものである。
【0011】また、上記第1乃至第5のいずれかの構成
において、RAMのデータをそのまま積和演算器のアキ
ュムレータに転送するときにROMからは“1”に相当
する係数を上記積和演算器に入力するようにしてもよい
ものである。
において、RAMのデータをそのまま積和演算器のアキ
ュムレータに転送するときにROMからは“1”に相当
する係数を上記積和演算器に入力するようにしてもよい
ものである。
【0012】
【作用】第1の構成によれば、ハード量が大きい積和演
算器や、細分化すると効率が悪くなるRAMやROMを
単一に構成して各チャネルで共通して使用することがで
きるので、ミキシング処理をハード量の増大を伴わずに
行える。
算器や、細分化すると効率が悪くなるRAMやROMを
単一に構成して各チャネルで共通して使用することがで
きるので、ミキシング処理をハード量の増大を伴わずに
行える。
【0013】第2の構成によれば、オーバーサンプリン
グによってD/A変換器の変換レートの統一が図れると
ともに、アナログローパスフィルタの特性設定の容易化
が行え、システムの簡素化が可能となる。
グによってD/A変換器の変換レートの統一が図れると
ともに、アナログローパスフィルタの特性設定の容易化
が行え、システムの簡素化が可能となる。
【0014】第3の構成によれば、ROMに格納すべき
係数の量を減らしワード数を削減することができる。
係数の量を減らしワード数を削減することができる。
【0015】第4の構成によれば、サイクリックバッフ
ァ用のベースポインタを2進カウンタで構成することが
できるとともに、RAM空間の有効利用が容易に行える
ため、ハード量を小さくでき、制御が容易になる。
ァ用のベースポインタを2進カウンタで構成することが
できるとともに、RAM空間の有効利用が容易に行える
ため、ハード量を小さくでき、制御が容易になる。
【0016】第5の構成によれば、RAMに途中計算結
果を保持するようにしたので、途中計算結果保持用のレ
ジスタが不要になり、ハード量が減少する。
果を保持するようにしたので、途中計算結果保持用のレ
ジスタが不要になり、ハード量が減少する。
【0017】第6の構成によれば、RAMと積和演算器
との間に既設されているバスをそのまま用いてRAMの
データをアキュムレータに転送することができ、RAM
とアキュムレータとの間に直接転送のためのバスを設け
る必要がなくなり、回路の小型化および高速化が図れ
る。また、積和演算ループの中にRAMからデータロー
ドする処理を組み込むことが可能になり、制御が容易に
なる。
との間に既設されているバスをそのまま用いてRAMの
データをアキュムレータに転送することができ、RAM
とアキュムレータとの間に直接転送のためのバスを設け
る必要がなくなり、回路の小型化および高速化が図れ
る。また、積和演算ループの中にRAMからデータロー
ドする処理を組み込むことが可能になり、制御が容易に
なる。
【0018】
【実施例】以下、本発明をその実施例を示す図に基づい
て説明する。
て説明する。
【0019】本発明の音声信号のディジタル処理方法
は、サンプリングレートが18.9KHz、37.8K
Hz、44.1KHzの3種のディジタル音声データ
を、それぞれサンプリングレート88.2KHzに変換
(統一)して出力する。また、ミキシング処理に対応す
べく、各々ステレオで動作するチャネルAB(L,R)
とチャネルCD(L,R)を備え、チャネルABはCD
−DAにも対応できるように入力サンプリングレート1
8.9KHz、37.8KHz、44.1KHzに対応
し、チャネルCDは入力サンプリングレート18.9K
Hz、37.8KHzに対応する。更に、各チャネルは
音声出力開始に先立って、ノイズを抑えるためにデータ
RAMをクリアする。
は、サンプリングレートが18.9KHz、37.8K
Hz、44.1KHzの3種のディジタル音声データ
を、それぞれサンプリングレート88.2KHzに変換
(統一)して出力する。また、ミキシング処理に対応す
べく、各々ステレオで動作するチャネルAB(L,R)
とチャネルCD(L,R)を備え、チャネルABはCD
−DAにも対応できるように入力サンプリングレート1
8.9KHz、37.8KHz、44.1KHzに対応
し、チャネルCDは入力サンプリングレート18.9K
Hz、37.8KHzに対応する。更に、各チャネルは
音声出力開始に先立って、ノイズを抑えるためにデータ
RAMをクリアする。
【0020】上記のサンプリングレート変換について説
明する。図1は、CD−DA用2倍オーバーサンプリン
グフィルタ(44.1KHz→88.2KHz)の基本
的構成を示す説明図である。この図において、タップ数
は125、Tは1/88200(sec)である。○で
囲まれたan は係数an の乗算を示す。そして、入力部
のx1 とx2 はTで切り替わり、x1 には2Tごとにデ
ータが入力され、また、x2 には2Tごとに“0”が入
力される。上記の構成でフィルタ計算をTごとに行うこ
とにより、2倍オーバーサンプリングがなされる。
明する。図1は、CD−DA用2倍オーバーサンプリン
グフィルタ(44.1KHz→88.2KHz)の基本
的構成を示す説明図である。この図において、タップ数
は125、Tは1/88200(sec)である。○で
囲まれたan は係数an の乗算を示す。そして、入力部
のx1 とx2 はTで切り替わり、x1 には2Tごとにデ
ータが入力され、また、x2 には2Tごとに“0”が入
力される。上記の構成でフィルタ計算をTごとに行うこ
とにより、2倍オーバーサンプリングがなされる。
【0021】ところで、フィルタの特性を選ぶことによ
り、以下のような係数を得ることができる。
り、以下のような係数を得ることができる。
【0022】
【数1】an =1 (n=62) an =0 (n=0,2,4,…,60)
【0023】これにより、図2に示す構成で2倍オーバ
ーサンプリングを行うことが可能になる。この構成で
は、2T(1/44100(sec))で1回のシーケ
ンスを実行する。まず、最初のTでは、YはY1 側にな
り、〔31〕の中心データをそのまま(a61=1)出力
する。これは、上記図1の構成において、入力がx1 側
にあるときと等価である。そして、次のTではYはY2
側になり、積和演算結果を出力する。これは、図1の構
成において、T経過後x2 側を入力とした状態でのフィ
ルタ計算に等しい。
ーサンプリングを行うことが可能になる。この構成で
は、2T(1/44100(sec))で1回のシーケ
ンスを実行する。まず、最初のTでは、YはY1 側にな
り、〔31〕の中心データをそのまま(a61=1)出力
する。これは、上記図1の構成において、入力がx1 側
にあるときと等価である。そして、次のTではYはY2
側になり、積和演算結果を出力する。これは、図1の構
成において、T経過後x2 側を入力とした状態でのフィ
ルタ計算に等しい。
【0024】本発明では、上記図2の構成に基づくフィ
ルタ(ハーフバンドフィルタ)処理を行う。そして、こ
の場合において、データシフトのためにシフトレジスタ
は用いずに、RAMをサイクリックバッファとして用い
る。また、フィルタ計算は、1サイクル(1/88.2
KHz)で62回の積和演算を行うサイクル(Y2 側に
相当)と、RAMのデータを読み出すだけのサイクル
(Y1 側に相当)とでその量は大幅に違ってしまうの
で、62回の積和演算を2サイクルに分けて各サイクル
での処理量の平均化を図るべく、31回の積和演算結果
である中間結果をRAMの空き領域に保持する構成を採
っている。
ルタ(ハーフバンドフィルタ)処理を行う。そして、こ
の場合において、データシフトのためにシフトレジスタ
は用いずに、RAMをサイクリックバッファとして用い
る。また、フィルタ計算は、1サイクル(1/88.2
KHz)で62回の積和演算を行うサイクル(Y2 側に
相当)と、RAMのデータを読み出すだけのサイクル
(Y1 側に相当)とでその量は大幅に違ってしまうの
で、62回の積和演算を2サイクルに分けて各サイクル
での処理量の平均化を図るべく、31回の積和演算結果
である中間結果をRAMの空き領域に保持する構成を採
っている。
【0025】この場合のフィルタ構成法(44.1KH
z→88.2KHz)を以下に述べる。
z→88.2KHz)を以下に述べる。
【0026】第1に、フィルタの係数an (n=1,
3,5,…,61)を求め、32ワードのROMにスト
アする。ROMの0番地(リラティブアドレス:以下同
じ)には、“1”に相当する係数を入れておく。なお、
係数は左右対象なので、片側のみ保持しておけばよい。
3,5,…,61)を求め、32ワードのROMにスト
アする。ROMの0番地(リラティブアドレス:以下同
じ)には、“1”に相当する係数を入れておく。なお、
係数は左右対象なので、片側のみ保持しておけばよい。
【0027】第2に、64ワードのRAMでサイクリッ
クバッファを構成する。なお、実際に必要なRAMのワ
ード数は、フィルタ計算用に62ワードで中間結果保持
用に1ワードで合計63ワードとなるが、64(2n :
n=6)ワードとすることでベースポインタを2進レジ
スタで構成することが可能となり、サイクリックバッフ
ァの構成を容易にしている。また、データは2Tに1回
の割合で来ることになるので、上記RAMに対するベー
スポインタは、2サイクルに1回デクリメントするよう
に構成する。
クバッファを構成する。なお、実際に必要なRAMのワ
ード数は、フィルタ計算用に62ワードで中間結果保持
用に1ワードで合計63ワードとなるが、64(2n :
n=6)ワードとすることでベースポインタを2進レジ
スタで構成することが可能となり、サイクリックバッフ
ァの構成を容易にしている。また、データは2Tに1回
の割合で来ることになるので、上記RAMに対するベー
スポインタは、2サイクルに1回デクリメントするよう
に構成する。
【0028】第3に、ROMおよびRAMに対するアド
レスを計算するための回路と、ROMからの係数とRA
Mからのデータを積和演算する回路と、これら回路をコ
ントロールする制御回路(シーケンサー)を構成する。
レスを計算するための回路と、ROMからの係数とRA
Mからのデータを積和演算する回路と、これら回路をコ
ントロールする制御回路(シーケンサー)を構成する。
【0029】次に、レベルA,B用の7/3倍オーバー
サンプリングによるフィルタ構成法(37.8KHz→
88.2KHz)を図3に基づいて説明する。
サンプリングによるフィルタ構成法(37.8KHz→
88.2KHz)を図3に基づいて説明する。
【0030】この7/3倍オーバーサンプリングフィル
タの基本構成は、7倍オーバーサンプリングフィルタに
よって入力信号のサンプリングレートを7倍に上げた
後、3分の1デシメータにより間引くことにより実現さ
れる。また、X(n)をy(m)に間引くときに使われ
ることなく捨てられるX(n)があるが、これらについ
ては、オーバーサンプリングフィルタの段階から計算を
行わないようにすることで演算量を大幅に減らすことが
できる。ここで、7倍オーバーサンプリングフィルタの
タップ数を、N=224=7×32とすると、上記のy
(m)は以下のように表される。
タの基本構成は、7倍オーバーサンプリングフィルタに
よって入力信号のサンプリングレートを7倍に上げた
後、3分の1デシメータにより間引くことにより実現さ
れる。また、X(n)をy(m)に間引くときに使われ
ることなく捨てられるX(n)があるが、これらについ
ては、オーバーサンプリングフィルタの段階から計算を
行わないようにすることで演算量を大幅に減らすことが
できる。ここで、7倍オーバーサンプリングフィルタの
タップ数を、N=224=7×32とすると、上記のy
(m)は以下のように表される。
【0031】
【数2】
【0032】なお、上記のgm (n)は、以下のように
おく。
おく。
【0033】
【数3】
【0034】これらの式に基づき7/3倍オーバーサン
プリングフィルタを構成するには、第1に、フィルタの
係数h(n)を求める(n=0,1,…,223)。ま
た、係数は左右対象なので、h(j)=h(223−
j)となる(j=0,1,2,…,111)。
プリングフィルタを構成するには、第1に、フィルタの
係数h(n)を求める(n=0,1,…,223)。ま
た、係数は左右対象なので、h(j)=h(223−
j)となる(j=0,1,2,…,111)。
【0035】第2に、上記の式に基づき、gm (k)を
求める(m=0,1,…,6 ;k=0,1,…,3
1)。mはTごとに切り替わり、7Tで一巡する。ま
た、kは32タップに対する係数の割当てを意味する。
従って、mとkの関係は、図4のようになり、mとkと
の組み合わせで合計224個の係数が得られる。
求める(m=0,1,…,6 ;k=0,1,…,3
1)。mはTごとに切り替わり、7Tで一巡する。ま
た、kは32タップに対する係数の割当てを意味する。
従って、mとkの関係は、図4のようになり、mとkと
の組み合わせで合計224個の係数が得られる。
【0036】第3に、gm (k)をROMにストアする
が、ROMへのアクセスを工夫することで、ROMを1
28ワードに減らすことができる。即ち、mとkの関係
は、上記図4で示したように、gが0と2の場合、gが
3と6の場合、及びgが4と5の場合においては、それ
ぞれ、逆順序の配列の関係にあり、g=1、g=0,
2、g=3,6、及びg=4,5について各々を32ワ
ードとして合計128ワードを保持すればよく、g=
0,2、g=3,6、及びg=4,5についてはそれぞ
れの場合で読出順序を逆向きにすればよいことになる。
が、ROMへのアクセスを工夫することで、ROMを1
28ワードに減らすことができる。即ち、mとkの関係
は、上記図4で示したように、gが0と2の場合、gが
3と6の場合、及びgが4と5の場合においては、それ
ぞれ、逆順序の配列の関係にあり、g=1、g=0,
2、g=3,6、及びg=4,5について各々を32ワ
ードとして合計128ワードを保持すればよく、g=
0,2、g=3,6、及びg=4,5についてはそれぞ
れの場合で読出順序を逆向きにすればよいことになる。
【0037】第4に、32ワードのRAMでサイクリッ
クバッファを構成する。また、ベースポインタは7回に
3回、生データを取り込む前にデクリメントする。
クバッファを構成する。また、ベースポインタは7回に
3回、生データを取り込む前にデクリメントする。
【0038】第5に、ROMおよびRAMに対するアド
レスを計算するための回路と、ROMからの係数とRA
Mからのデータを積和演算する回路と、これら回路をコ
ントロールする制御回路(シーケンサー)を構成する。
レスを計算するための回路と、ROMからの係数とRA
Mからのデータを積和演算する回路と、これら回路をコ
ントロールする制御回路(シーケンサー)を構成する。
【0039】次に、レベルC用の14/3倍オーバーサ
ンプリングによるフィルタ構成法(18.9KHz→8
8.2KHz)について説明する。
ンプリングによるフィルタ構成法(18.9KHz→8
8.2KHz)について説明する。
【0040】この14/3倍オーバーサンプリングフィ
ルタは、レベルB用の7/3倍オーバーサンプリングフ
ィルタと、2倍のハーフバンドフィルタを組み合わせて
構成できる。また、7/3倍オーバーサンプリングフィ
ルタは、レベルB用のものをそのまま2サイクルに1回
の割合で動作させて使用する。更に、次段のハーフバン
ドフィルタは、13タップのものを用いるが、その構成
は前述したCD−DA用のものと同様である。
ルタは、レベルB用の7/3倍オーバーサンプリングフ
ィルタと、2倍のハーフバンドフィルタを組み合わせて
構成できる。また、7/3倍オーバーサンプリングフィ
ルタは、レベルB用のものをそのまま2サイクルに1回
の割合で動作させて使用する。更に、次段のハーフバン
ドフィルタは、13タップのものを用いるが、その構成
は前述したCD−DA用のものと同様である。
【0041】このフィルタの構成法は、第1に、レベル
B用の7/3場合オーバーサンプリングフィルタを1’
stステージ(第1サイクル)側に構成する。
B用の7/3場合オーバーサンプリングフィルタを1’
stステージ(第1サイクル)側に構成する。
【0042】第2に、2’ndステージ(第2サイク
ル)用の係数an (n=1,3,5,7,9,11)を
求め、ROMにストアする。このハーフバンドフィルタ
は、タップ数が少ないので、全データをストアして制御
を簡単にする。また、ROMのアドレス〔6〕には
“1”に相当する係数を入れておく。
ル)用の係数an (n=1,3,5,7,9,11)を
求め、ROMにストアする。このハーフバンドフィルタ
は、タップ数が少ないので、全データをストアして制御
を簡単にする。また、ROMのアドレス〔6〕には
“1”に相当する係数を入れておく。
【0043】第3に、8ワードのサイクリックバッファ
をRAMで構成する。なお、実際に必要なのはRAMの
7ワードであるが、サイクリックバッファが構成し易い
ように8(2n :n=3)ワードとしている。また、ベ
ースポインタは4サイクルに1回デクリメントする。
をRAMで構成する。なお、実際に必要なのはRAMの
7ワードであるが、サイクリックバッファが構成し易い
ように8(2n :n=3)ワードとしている。また、ベ
ースポインタは4サイクルに1回デクリメントする。
【0044】第4に、ROMおよびRAMに対するアド
レスを計算するための回路と、ROMからの係数とRA
Mからのデータを積和演算する回路と、これら回路をコ
ントロールする制御回路(シーケンサー)を構成する。
レスを計算するための回路と、ROMからの係数とRA
Mからのデータを積和演算する回路と、これら回路をコ
ントロールする制御回路(シーケンサー)を構成する。
【0045】次に、RAMおよびROMについて説明す
る。
る。
【0046】図5(a)はRAMのアドレスマップであ
り、同図(b)はアドレスオフセットの説明図である。
チャネルA,Bについては、2倍オーバーサンプリング
に対応する必要があるので、それぞれ64ワード割り当
てられ、チャネルC,DのレベルB,Cについては、7
/3倍オーバーサンプリングに対応すればよいので、そ
れぞれ32ワード割り当てられ、更に、チャネルC,D
のレベルC,Dについては8ワードが割当てられてい
る。
り、同図(b)はアドレスオフセットの説明図である。
チャネルA,Bについては、2倍オーバーサンプリング
に対応する必要があるので、それぞれ64ワード割り当
てられ、チャネルC,DのレベルB,Cについては、7
/3倍オーバーサンプリングに対応すればよいので、そ
れぞれ32ワード割り当てられ、更に、チャネルC,D
のレベルC,Dについては8ワードが割当てられてい
る。
【0047】また、図6(a)はROMのアドレスマッ
プであり、同図(b)はアドレスオフセットの説明図で
ある。レベルDA(前述の2倍オーバーサンプリング)
について32ワード、レベルB(前述の7/3倍オーバ
ーサンプリング)又はレベルC,D(前述の14/3倍
オーバーサンプリング)の1’stステージ用のBan
k0〜3(前述のg=1、g=0,2、g=3,6、及
びg=4,5の4つに対応)について128ワードが割
り当てられている。
プであり、同図(b)はアドレスオフセットの説明図で
ある。レベルDA(前述の2倍オーバーサンプリング)
について32ワード、レベルB(前述の7/3倍オーバ
ーサンプリング)又はレベルC,D(前述の14/3倍
オーバーサンプリング)の1’stステージ用のBan
k0〜3(前述のg=1、g=0,2、g=3,6、及
びg=4,5の4つに対応)について128ワードが割
り当てられている。
【0048】次に、チャネルAB(L,R)とチャネル
CD(L,R)の時分割処理について説明する。図7
は、チャンネルA〜Dについての時分割処理の様子を示
したタイムチャートである。図中のLRCKは、LとR
の切替えクロックを示すものであり、その一周期は1/
44.1KHzである。また、WDSYNCはLRCK
のエッジに同期する信号であり、その間隔(1サイク
ル)は1/88.2KHzとなる。WDSYNCとLR
CKは、後述するラムインプットセレクタ3において、
DATA16(CD−DA用データ)のL,Rデータの
出力切替えに用いられる。また、図中のADPDATA
はADPCMのデータを示している。
CD(L,R)の時分割処理について説明する。図7
は、チャンネルA〜Dについての時分割処理の様子を示
したタイムチャートである。図中のLRCKは、LとR
の切替えクロックを示すものであり、その一周期は1/
44.1KHzである。また、WDSYNCはLRCK
のエッジに同期する信号であり、その間隔(1サイク
ル)は1/88.2KHzとなる。WDSYNCとLR
CKは、後述するラムインプットセレクタ3において、
DATA16(CD−DA用データ)のL,Rデータの
出力切替えに用いられる。また、図中のADPDATA
はADPCMのデータを示している。
【0049】SELA〜SELDは、チャネルA〜Dに
対するフィルタ動作状態を示している。即ち、1サイク
ル中に4回のフィルタ計算を行うことでチャネルAB
(L,R)とチャネルCD(L,R)の時分割処理を実
現している。ここで、各チャンネルについての一連の動
作を簡単に説明する。
対するフィルタ動作状態を示している。即ち、1サイク
ル中に4回のフィルタ計算を行うことでチャネルAB
(L,R)とチャネルCD(L,R)の時分割処理を実
現している。ここで、各チャンネルについての一連の動
作を簡単に説明する。
【0050】例えば、チャネルA,BがCD−DAとす
ると、SELAの最初の動作期間中にDATA16のL
データが入力され、62ワードのうち半分について積和
演算がなされ、中心データ出力および中間結果のストッ
クを行った後、SELBの動作が立ち上がる。このSE
LBでは、後述のラムインプットセレクタ3のラッチで
保持されているRデータが入力され、同様に半分につい
て積和演算がなされ、中心データ出力および中間結果の
ストックを行った後、次にSELCの動作が立ち上が
る。そして、チャンネルC,DがADPCMのレベルB
とすると、ADPDATAがRAMに入力され、積和演
算がなされる。なお、このときにデータが取り込まれる
とは限らない。データがなければRAMのベースポイン
タのデクリメントは行わない。次に、SELDの動作が
立ち上がり、同様の処理がなされた後、次にのサイクル
においてSELAが再び動作する。
ると、SELAの最初の動作期間中にDATA16のL
データが入力され、62ワードのうち半分について積和
演算がなされ、中心データ出力および中間結果のストッ
クを行った後、SELBの動作が立ち上がる。このSE
LBでは、後述のラムインプットセレクタ3のラッチで
保持されているRデータが入力され、同様に半分につい
て積和演算がなされ、中心データ出力および中間結果の
ストックを行った後、次にSELCの動作が立ち上が
る。そして、チャンネルC,DがADPCMのレベルB
とすると、ADPDATAがRAMに入力され、積和演
算がなされる。なお、このときにデータが取り込まれる
とは限らない。データがなければRAMのベースポイン
タのデクリメントは行わない。次に、SELDの動作が
立ち上がり、同様の処理がなされた後、次にのサイクル
においてSELAが再び動作する。
【0051】このSELA(前回のSELAは第1ステ
ージとなり、このSELAは第2ステージとなる)で
は、残りの積和演算により全積和演算を行ってその結果
の出力を行い、同様に次のSELBでも残りの積和演算
と全積和演算結果の出力を行う。SELC,Dではステ
ージは分ける必要はないが、チャネルC,DがADPC
MのレベルCであれば同様にステージ分けが行われる。
ージとなり、このSELAは第2ステージとなる)で
は、残りの積和演算により全積和演算を行ってその結果
の出力を行い、同様に次のSELBでも残りの積和演算
と全積和演算結果の出力を行う。SELC,Dではステ
ージは分ける必要はないが、チャネルC,DがADPC
MのレベルCであれば同様にステージ分けが行われる。
【0052】次に、本発明の音声信号のディジタル処理
方法を実現するためのディジタルフィルタ装置の回路構
成およびこの回路構成に基づく具体的なフィルタ処理内
容を説明する。
方法を実現するためのディジタルフィルタ装置の回路構
成およびこの回路構成に基づく具体的なフィルタ処理内
容を説明する。
【0053】図8は、ディジタルフィルタ装置のブロッ
ク図である。図において、1はディジタル音声データ等
が格納されるRAM、2は係数が格納されるROM、3
は上記RAM1に格納すべきディジタル音声データの
L,R等を切り換えるラムインプットセレクタ、4はR
AM1からのデータとROM2からの係数とに基づいて
積和演算を行う積和演算アキュムレータ、5はRAM1
およびROM2に対するアドレスを発生させるためのア
ドレスジェネレータ、6はこれら回路をコントロールす
るシーケンサーである。
ク図である。図において、1はディジタル音声データ等
が格納されるRAM、2は係数が格納されるROM、3
は上記RAM1に格納すべきディジタル音声データの
L,R等を切り換えるラムインプットセレクタ、4はR
AM1からのデータとROM2からの係数とに基づいて
積和演算を行う積和演算アキュムレータ、5はRAM1
およびROM2に対するアドレスを発生させるためのア
ドレスジェネレータ、6はこれら回路をコントロールす
るシーケンサーである。
【0054】図9は、上記のシーケンサー6を示す回路
図である。図中の6aはコンビネーションロジックであ
る。また、図中のフリップフロップ6b,6c(RDY
AB,RDYCD)はチャネルA,B及びチャネルCD
がリセットされたとき、即ちチャネルで使用するRAM
がクリアされたときセットされ、通常のフィルタオペレ
ーションのスタートによりリセットされる。
図である。図中の6aはコンビネーションロジックであ
る。また、図中のフリップフロップ6b,6c(RDY
AB,RDYCD)はチャネルA,B及びチャネルCD
がリセットされたとき、即ちチャネルで使用するRAM
がクリアされたときセットされ、通常のフィルタオペレ
ーションのスタートによりリセットされる。
【0055】図示しない上位コントローラは、FRDY
AB、FRDYCD信号をチェックすることで、RAM
1のクリア状態を知ることができる。フリップフロップ
6d,6e(RESEXAB,RESEXCD)は、リ
セットシーケンス実行中のみセットされ、内部動作に用
いられる。また、カウンタ6f,6g(STGAB,S
TGCD)は、それぞれ2ビットのカウンタであり、こ
れらは各チャネルのステージ(STG0,1)を保持す
る。即ち、CD−DA、ADPCMのレベルC、及びリ
セットのシーケンスは、数サイクルにまたがっているた
め、後のサイクルでシーケンスを途中から始めるために
これらカウント値でどのステージにあるのかを判断でき
る。カウンタ6h(MAJOR)は2ビットのカウンタ
であり、各サイクルの各チャネルの動作状態を規定す
る。カウンタ6i(K)は5ビットのカンウタであり、
カウンタ6h(MAJOR)とともに各サイクルの各チ
ャネルのステートを規定し、また、RAM1,ROM2
のアドレス発生のための相対量を作り出している。
AB、FRDYCD信号をチェックすることで、RAM
1のクリア状態を知ることができる。フリップフロップ
6d,6e(RESEXAB,RESEXCD)は、リ
セットシーケンス実行中のみセットされ、内部動作に用
いられる。また、カウンタ6f,6g(STGAB,S
TGCD)は、それぞれ2ビットのカウンタであり、こ
れらは各チャネルのステージ(STG0,1)を保持す
る。即ち、CD−DA、ADPCMのレベルC、及びリ
セットのシーケンスは、数サイクルにまたがっているた
め、後のサイクルでシーケンスを途中から始めるために
これらカウント値でどのステージにあるのかを判断でき
る。カウンタ6h(MAJOR)は2ビットのカウンタ
であり、各サイクルの各チャネルの動作状態を規定す
る。カウンタ6i(K)は5ビットのカンウタであり、
カウンタ6h(MAJOR)とともに各サイクルの各チ
ャネルのステートを規定し、また、RAM1,ROM2
のアドレス発生のための相対量を作り出している。
【0056】図10は、上記のアドレスジェネレータ5
を示す回路図である。レジスタ5a(XBASEA
B)、レジスタ5b(YBASEAB)、レジスタ5c
(XBASECD)、およびレジスタ5d(YBASE
CD)によりRAMのサイクリックバッファのベースポ
インタが構成され、DEC/INC5gとセレクタ5h
によりベースポインタの変更が行われるようになってい
る。また、レジスタ5e(GCNTAB)及びレジスタ
5f(GCNTCD)はレベルBフィルタ用の7シーケ
ンスで一順するステートを保持する。なお、XBASE
AB(CD)は図5(b)のチャネルA〜DにおけるD
Aレベル等に対応すべく設けられ、YBASEAB(C
D)はCレベル等の2’ndに対応すべく設けられてい
る。
を示す回路図である。レジスタ5a(XBASEA
B)、レジスタ5b(YBASEAB)、レジスタ5c
(XBASECD)、およびレジスタ5d(YBASE
CD)によりRAMのサイクリックバッファのベースポ
インタが構成され、DEC/INC5gとセレクタ5h
によりベースポインタの変更が行われるようになってい
る。また、レジスタ5e(GCNTAB)及びレジスタ
5f(GCNTCD)はレベルBフィルタ用の7シーケ
ンスで一順するステートを保持する。なお、XBASE
AB(CD)は図5(b)のチャネルA〜DにおけるD
Aレベル等に対応すべく設けられ、YBASEAB(C
D)はCレベル等の2’ndに対応すべく設けられてい
る。
【0057】RAM1のアドレスは、前述のベースポイ
ンタとカウンタ6i(K)の値と、各チャネルのレベル
で決まっているオフセットにより求められる。CD−D
AおよびレベルBについては、上記のKを加算する加算
部5iおよびオフセット値生成部5lが用いられ、レベ
ルCについては上記加算部5iおよびオフセット値生成
部5lに加えてKを加算する加算部5jおよびオフセッ
ト値生成部5mが用いられる。
ンタとカウンタ6i(K)の値と、各チャネルのレベル
で決まっているオフセットにより求められる。CD−D
AおよびレベルBについては、上記のKを加算する加算
部5iおよびオフセット値生成部5lが用いられ、レベ
ルCについては上記加算部5iおよびオフセット値生成
部5lに加えてKを加算する加算部5jおよびオフセッ
ト値生成部5mが用いられる。
【0058】また、ROM2のアドレスは、カウンタ6
i(K)の値(RRTV)と、オフセット値生成部5n
においてレベルで決まっているオフセットにより求めら
れるが、レベルBおよびレベルC,Dの1’stの場合
には、上記レジスタ5e(GCNTAB)若しくはレジ
スタ5f(GCNTCD)の値(G=0〜7)に基づ
き、BNK生成部5kでBNK0(G=0,2)、BN
K1(G=1)、BNK2(G=3,6)、BNK3
(G=4,5)を生成して求められる(図4及び図6参
照)。なお、BNK生成部5kは、G=2,5,6のと
き、ROM2の読出順序が逆であることを示すHDOW
N=“1”を出力し、G=2,4,6のとき、XBAS
EABのデクリメントを示すBXBDEC=“1”を出
力する。
i(K)の値(RRTV)と、オフセット値生成部5n
においてレベルで決まっているオフセットにより求めら
れるが、レベルBおよびレベルC,Dの1’stの場合
には、上記レジスタ5e(GCNTAB)若しくはレジ
スタ5f(GCNTCD)の値(G=0〜7)に基づ
き、BNK生成部5kでBNK0(G=0,2)、BN
K1(G=1)、BNK2(G=3,6)、BNK3
(G=4,5)を生成して求められる(図4及び図6参
照)。なお、BNK生成部5kは、G=2,5,6のと
き、ROM2の読出順序が逆であることを示すHDOW
N=“1”を出力し、G=2,4,6のとき、XBAS
EABのデクリメントを示すBXBDEC=“1”を出
力する。
【0059】図11は、ラムインプットセレクタ3を示
す回路図である。CD−DA用のデーはDATA16に
よりWDSYNCとLRCKとに同期して入力され、ラ
ッチ3a,3bにそれぞれL,Rに分けて格納される。
そして、セレクタ3cによりSELBが“1”であれば
ラッチ3b側が選択され、SELBが“0”であればラ
ッチ3a側が選択される。一方、ADPCMのデータは
MPYACCに直接入力され、レジスタ3dに格納され
る。そして、セレクタ3eによりACCINBが“1”
であればレジスタ3d側が選択され、ACCINBが
“0”であればセレクタ3c側が選択される。なお、上
記のMPYACCは、積和演算アキュムレータ4からの
戻り値の場合もある(図9参照)。積和演算の中間結果
をRAM1に保持するためである。
す回路図である。CD−DA用のデーはDATA16に
よりWDSYNCとLRCKとに同期して入力され、ラ
ッチ3a,3bにそれぞれL,Rに分けて格納される。
そして、セレクタ3cによりSELBが“1”であれば
ラッチ3b側が選択され、SELBが“0”であればラ
ッチ3a側が選択される。一方、ADPCMのデータは
MPYACCに直接入力され、レジスタ3dに格納され
る。そして、セレクタ3eによりACCINBが“1”
であればレジスタ3d側が選択され、ACCINBが
“0”であればセレクタ3c側が選択される。なお、上
記のMPYACCは、積和演算アキュムレータ4からの
戻り値の場合もある(図9参照)。積和演算の中間結果
をRAM1に保持するためである。
【0060】次に、ディジタルフィルタ処理の具体的内
容を説明する。
容を説明する。
【0061】図12は、CD−DA用のフィルタ処理
(44.1KHz→88.2KHz)のフローチャート
である。まず、ステージ0(STG0)において、RA
MIN(ラムインプットセレクタ3の出力)を、ベース
ポインタ〔XBASEAB〕に基づきRAM2のアドレ
スに格納する(ステップ1)。なお、このときACCI
NB=0であり、セレクタ3c側が選択されており、D
ATA16を取り込むことになる。次に、積和演算の半
分を実行する(ステップ2)。そして、その中間結果を
RAMの〔XBASEAB−1〕のアドレスに格納する
(ステップ3)。このとき、図9におけるスイッチ7は
“0”側に位置している。次に、RAM1中の中心デー
タRAM〔31〕を読み出し、その値のまま(ROM
(44.1KHz→88.2KHz)のフローチャート
である。まず、ステージ0(STG0)において、RA
MIN(ラムインプットセレクタ3の出力)を、ベース
ポインタ〔XBASEAB〕に基づきRAM2のアドレ
スに格納する(ステップ1)。なお、このときACCI
NB=0であり、セレクタ3c側が選択されており、D
ATA16を取り込むことになる。次に、積和演算の半
分を実行する(ステップ2)。そして、その中間結果を
RAMの〔XBASEAB−1〕のアドレスに格納する
(ステップ3)。このとき、図9におけるスイッチ7は
“0”側に位置している。次に、RAM1中の中心デー
タRAM〔31〕を読み出し、その値のまま(ROM
〔0〕=1)アキュムレータ4から出力する(ステップ
4)。
4)。
【0062】一方、ステージ1(STG1)では、前記
のステップ3でRAMに格納した中間結果をその値のま
ま(ROM
のステップ3でRAMに格納した中間結果をその値のま
ま(ROM
〔0〕=1)アキュムレータ4に戻し(ステ
ップ5)、更に、これと残りの積和演算との結果から全
積和結果を出力する(ステップ6)。なお、このステッ
プ6ではROM〔K〕とされ、前記のステップ2ではR
OM〔31−K〕としているのは、係数は左右対象なの
で片側のみ保持しているためである。次に、SELBが
選択されるなら、〔XBASEAB〕をデクリメントし
(ステップ7)、チャネルBについて上記の処理を繰り
返す。
ップ5)、更に、これと残りの積和演算との結果から全
積和結果を出力する(ステップ6)。なお、このステッ
プ6ではROM〔K〕とされ、前記のステップ2ではR
OM〔31−K〕としているのは、係数は左右対象なの
で片側のみ保持しているためである。次に、SELBが
選択されるなら、〔XBASEAB〕をデクリメントし
(ステップ7)、チャネルBについて上記の処理を繰り
返す。
【0063】図13は、ADPCMのレベルB用のフィ
ルタ処理(37.8KHz→88.2KHz)をチャネ
ルABを例にして示したフローチャートである。なお、
チャネルCDの場合も同様である。
ルタ処理(37.8KHz→88.2KHz)をチャネ
ルABを例にして示したフローチャートである。なお、
チャネルCDの場合も同様である。
【0064】7回に3回の割合で生データを取り込めば
よいので、FBRDYABが“1”であるとき、RAM
INを、ベースポインタ〔XBASEAB〕に基づきR
AM2のアドレスに格納する(ステップ11)。なお、
FBRDYABはアドレスジェネレータ5において、G
NCTABがG=0,3,5のときに“1”とされる。
また、ACCINB=“1”であり、レジスタ3d側が
選択されており、ADPCMデータを取り込む。
よいので、FBRDYABが“1”であるとき、RAM
INを、ベースポインタ〔XBASEAB〕に基づきR
AM2のアドレスに格納する(ステップ11)。なお、
FBRDYABはアドレスジェネレータ5において、G
NCTABがG=0,3,5のときに“1”とされる。
また、ACCINB=“1”であり、レジスタ3d側が
選択されており、ADPCMデータを取り込む。
【0065】次に、積和演算処理を実行する(ステップ
12)。HDOWN=“1”であれば、ROM2の読出
順序は逆になる。
12)。HDOWN=“1”であれば、ROM2の読出
順序は逆になる。
【0066】そして、SELB=“1”でBSBDEC
=“1”であれば、XBASEABをデクリメントす
る。即ち、次に生データを取り込むときのベースポイン
トを変更する。また、SELB=“1”であれば、次の
サイクルにおいて他の係数を選択すべくGCNTABを
0〜6の範囲でインクリメントする。
=“1”であれば、XBASEABをデクリメントす
る。即ち、次に生データを取り込むときのベースポイン
トを変更する。また、SELB=“1”であれば、次の
サイクルにおいて他の係数を選択すべくGCNTABを
0〜6の範囲でインクリメントする。
【0067】図14は、ADPCMのレベルC用のフィ
ルタ処理(19.9KHz→88.2KHz)をチャネ
ルABを例にして示したフローチャートである。なお、
チャネルCDの場合も同様である。
ルタ処理(19.9KHz→88.2KHz)をチャネ
ルABを例にして示したフローチャートである。なお、
チャネルCDの場合も同様である。
【0068】この処理は、図11の処理と図13の処理
を組み合わせて構成され、図13の処理をそのまま2サ
イクルに1回だけ作動させている。まず、ステージ(S
TG0)で、RAMINを、ベースポインタ〔XBAS
EAB〕に基づきRAM2のアドレスに格納する(ステ
ップ21)。次に、積和演算処理を実行し(ステップ2
2)、この結果をRAM2の2’ndステージ用のサイ
クリックバッファ〔YBASEAB〕に保持する一方
(ステップ23)、中心データRAM〔YBASEAB
+3〕を積和演算アキュムレータ4からそのまま(RO
M〔6〕=1)出力する(ステップ24)。そして、S
ELB=“1”でBSBDEC=“1”であれば、XB
ASEABをデクリメントする。また、SELB=
“1”であれば、GCNTABをインクリメントする
(ステップ25)。
を組み合わせて構成され、図13の処理をそのまま2サ
イクルに1回だけ作動させている。まず、ステージ(S
TG0)で、RAMINを、ベースポインタ〔XBAS
EAB〕に基づきRAM2のアドレスに格納する(ステ
ップ21)。次に、積和演算処理を実行し(ステップ2
2)、この結果をRAM2の2’ndステージ用のサイ
クリックバッファ〔YBASEAB〕に保持する一方
(ステップ23)、中心データRAM〔YBASEAB
+3〕を積和演算アキュムレータ4からそのまま(RO
M〔6〕=1)出力する(ステップ24)。そして、S
ELB=“1”でBSBDEC=“1”であれば、XB
ASEABをデクリメントする。また、SELB=
“1”であれば、GCNTABをインクリメントする
(ステップ25)。
【0069】一方、ステージ1(STG1)では、RA
M2の2’ndステージ用のサイクリックバッファに格
納されている6個のデータに基づき積和演算を実行し
(ステップ26)、SELB=“1”であれば、YBA
SEをデクリメントする(ステップ27)。
M2の2’ndステージ用のサイクリックバッファに格
納されている6個のデータに基づき積和演算を実行し
(ステップ26)、SELB=“1”であれば、YBA
SEをデクリメントする(ステップ27)。
【0070】即ち、このシーケンスは、2サイクルで1
回であるが、完全シーケンスはGCNTAB(CD)が
一巡する7シーケンス(14サイクル)単位となる。
回であるが、完全シーケンスはGCNTAB(CD)が
一巡する7シーケンス(14サイクル)単位となる。
【0071】以上のように、本発明によれば、統一する
サンプリングレート(88.2KHz)の1周期(T)
中に各チャネルごとのフィルタ計算のための動作期間を
順次設定し、各動作期間にRAM1とROM2と積和演
算アキュムレータ4とを当該チャネルのために独占的に
使用して順次各チャネルのフィルタ計算の出力を行うよ
うにしたので、ハード量が大きい積和演算器アキュムレ
ータ4や、細分化すると効率が悪くなるRAM1やRO
M2を単一に構成して各チャネルで共通して使用できる
ので、ミキシング処理をハード量の増大を伴わずに行え
る。
サンプリングレート(88.2KHz)の1周期(T)
中に各チャネルごとのフィルタ計算のための動作期間を
順次設定し、各動作期間にRAM1とROM2と積和演
算アキュムレータ4とを当該チャネルのために独占的に
使用して順次各チャネルのフィルタ計算の出力を行うよ
うにしたので、ハード量が大きい積和演算器アキュムレ
ータ4や、細分化すると効率が悪くなるRAM1やRO
M2を単一に構成して各チャネルで共通して使用できる
ので、ミキシング処理をハード量の増大を伴わずに行え
る。
【0072】また、サンプリングレートの統一をオーバ
ーサンプリングにより行うようにしているので、D/A
変換器の変換レートの統一が図れるとともに、アナログ
ローパスフィルタの特性設定の容易化が行え、システム
の簡素化が可能となる。
ーサンプリングにより行うようにしているので、D/A
変換器の変換レートの統一が図れるとともに、アナログ
ローパスフィルタの特性設定の容易化が行え、システム
の簡素化が可能となる。
【0073】また、ADPCMのレベルB用のフィルタ
処理(37.8KHz→88.2KHz)のように、7
/3倍オーバーサンプリングを元レートを7倍した後3
分の1に間引いて行う場合に、前記ROM2には4つの
組(Bank0〜3)に分けた係数群(k=0〜32)
を組ごとに重ならない番地に分けて格納する一方、組指
定信号(BNK0〜3)を生成するとともに、当該組に
おける係数群のソートの正逆を示す信号(HDOWN)
を生成して前記ROM2から係数を得るので、ROM2
に格納すべき係数の量を減らしワード数の削減が図れ
る。
処理(37.8KHz→88.2KHz)のように、7
/3倍オーバーサンプリングを元レートを7倍した後3
分の1に間引いて行う場合に、前記ROM2には4つの
組(Bank0〜3)に分けた係数群(k=0〜32)
を組ごとに重ならない番地に分けて格納する一方、組指
定信号(BNK0〜3)を生成するとともに、当該組に
おける係数群のソートの正逆を示す信号(HDOWN)
を生成して前記ROM2から係数を得るので、ROM2
に格納すべき係数の量を減らしワード数の削減が図れ
る。
【0074】また、複数チャネルのディジタル音声入力
データをサイクリックバッファとして構成された一つの
RAM1に格納する場合に、バッファサイズを2n にす
るとともに、RAM1の上位アドレスに対してオフセッ
トを設定してチャネルに対するバッファの割り付けを行
うようにしたので、サイクリックバッファ用のベースポ
インタを2進カウンタで構成することができるととも
に、RAM空間の有効利用が容易に行えるため、ハード
量を小さくでき、制御が容易になる。
データをサイクリックバッファとして構成された一つの
RAM1に格納する場合に、バッファサイズを2n にす
るとともに、RAM1の上位アドレスに対してオフセッ
トを設定してチャネルに対するバッファの割り付けを行
うようにしたので、サイクリックバッファ用のベースポ
インタを2進カウンタで構成することができるととも
に、RAM空間の有効利用が容易に行えるため、ハード
量を小さくでき、制御が容易になる。
【0075】また、フィルタ計算のために設定された動
作期間中に当該動作期間のチャネルにおける全フィルタ
計算の途中までを計算し、この途中計算結果をRAM1
の空き領域に保持するとともに、次回の当該チャネルの
動作期間に上記RAM1に保持されている途中計算結果
を読み出して全フィルタ計算を行うが、上記のごとくR
AM1に途中計算結果を保持するようにしたので、途中
計算結果保持用のレジスタが不要になり、ハード量が減
少する。
作期間中に当該動作期間のチャネルにおける全フィルタ
計算の途中までを計算し、この途中計算結果をRAM1
の空き領域に保持するとともに、次回の当該チャネルの
動作期間に上記RAM1に保持されている途中計算結果
を読み出して全フィルタ計算を行うが、上記のごとくR
AM1に途中計算結果を保持するようにしたので、途中
計算結果保持用のレジスタが不要になり、ハード量が減
少する。
【0076】また、RAM1のデータをそのまま積和演
算アキュムレータ4に転送するときにROM2からは
“1”に相当する係数を上記積和演算アキュムレータ4
の積和演算器に入力するので、RAM1と積和演算器と
の間に既設されているバスをそのまま用いてRAM1の
データをアキュムレータに転送することができ、RAM
1とアキュムレータとの間に直接転送のためのバスを設
ける必要がなくなり、回路の小型化および高速化が図れ
る。また、積和演算ループの中にRAM1からデータロ
ードする処理を組み込むことが可能になり、制御が容易
になる。
算アキュムレータ4に転送するときにROM2からは
“1”に相当する係数を上記積和演算アキュムレータ4
の積和演算器に入力するので、RAM1と積和演算器と
の間に既設されているバスをそのまま用いてRAM1の
データをアキュムレータに転送することができ、RAM
1とアキュムレータとの間に直接転送のためのバスを設
ける必要がなくなり、回路の小型化および高速化が図れ
る。また、積和演算ループの中にRAM1からデータロ
ードする処理を組み込むことが可能になり、制御が容易
になる。
【0077】
【発明の効果】以上のように、本発明によれば、一つの
ディジタルフィルタで各種のフォーマット及びミキング
処理に対応できるとともに、D/A変換器の変換レート
統一、ローパスフィルタの特性の設定容易化、ハード量
の増大回避、及び処理の高速化等が図れるという効果を
奏する。
ディジタルフィルタで各種のフォーマット及びミキング
処理に対応できるとともに、D/A変換器の変換レート
統一、ローパスフィルタの特性の設定容易化、ハード量
の増大回避、及び処理の高速化等が図れるという効果を
奏する。
【図1】2倍オーバーサンプリングフィルタの基本的構
成を示す回路図である。
成を示す回路図である。
【図2】ハーフバンドフィルタの基本的構成を示す回路
図である。
図である。
【図3】7/3倍オーバーサンプリングフィルタの概念
を示す説明図である。
を示す説明図である。
【図4】7/3倍オーバーサンプリングフィルタにおけ
る係数群と組番号との関係を示す関係図である。
る係数群と組番号との関係を示す関係図である。
【図5】本発明におけるRAMのアドレスマップおよび
アドレスオフセット量を示す説明図である。
アドレスオフセット量を示す説明図である。
【図6】本発明におけるROMのアドレスマップおよび
アドレスオフセット量を示す説明図である。
アドレスオフセット量を示す説明図である。
【図7】本発明におけるチャンネルA〜Dについての時
分割処理の様子を示したタイムチャートである。
分割処理の様子を示したタイムチャートである。
【図8】本発明の音声信号のディジタル処理方法を実行
するディジタルフィルタ装置のブロック図である。
するディジタルフィルタ装置のブロック図である。
【図9】図8のシーケンサを具体的に示す回路図であ
る。
る。
【図10】図8のアドレスジェネレータを具体的に示す
回路図である。
回路図である。
【図11】図8のラムインプットセレクタを具体的に示
す回路図である。
す回路図である。
【図12】CD−DA用のフィルタ処理(44.1KH
z→88.2KHz)のフローチャートである。
z→88.2KHz)のフローチャートである。
【図13】ADPCMのレベルB用のフィルタ処理(3
7.8KHz→88.2KHz)をチャネルABを例に
して示したフローチャートである。
7.8KHz→88.2KHz)をチャネルABを例に
して示したフローチャートである。
【図14】ADPCMのレベルC用のフィルタ処理(1
9.9KHz→88.2KHz)をチャネルABを例に
して示したフローチャートである。
9.9KHz→88.2KHz)をチャネルABを例に
して示したフローチャートである。
1 RAM 2 ROM 3 ラムインプットセレクタ 4 積和演算アキュムレータ 5 アドレスジェネレータ 6 シーケンサ
Claims (6)
- 【請求項1】 異なったサンプリングレートのディジタ
ル音声入力データを同一のサンプリングレートに変換す
る音声信号のディジタル処理方法において、上記の同一
サンプリングレートの1周期中に各チャネルごとのフィ
ルタ計算のための動作期間を順次設定し、各動作期間に
上記ディジタル音声入力データ等を格納するRAMと係
数が格納されているROMと積和演算を行う積和演算器
とを当該チャネルのために独占的に使用して順次各チャ
ネルのフィルタ計算の出力を行うこと特徴とする音声信
号のディジタル処理方法。 - 【請求項2】 サンプリングレートの統一をオーバーサ
ンプリングにより行うことを特徴とする請求項1に記載
の音声信号のディジタル処理方法。 - 【請求項3】 LおよびNを整数とし、L/N倍オーバ
ーサンプリングを元レートをL倍した後N分の1に間引
いて行う場合に、前記ROMには上記Lに対応して複数
の組に分けた係数群を組ごとに重ならない番地に分けて
格納する一方、前記Lの範囲で組指定信号を生成すると
ともに、当該組における係数群のソートの正逆を示す信
号を生成して前記ROMから係数を得ることを特徴とす
る請求項1又は2に記載の音声信号のディジタル処理方
法。 - 【請求項4】 複数チャネルのディジタル音声入力デー
タをサイクリックバッファとして構成された一つのRA
Mに格納する場合に、nを整数としてバッファサイズを
2n にするとともに、RAMの上位アドレスに対してオ
フセットを設定してチャネルに対するバッファの割り付
けを行うことを特徴とする請求項1乃至3のいずれかに
記載の音声信号のディジタル処理方法。 - 【請求項5】 フィルタ計算のために設定された動作期
間中に当該動作期間のチャネルにおける全フィルタ計算
の途中までを計算し、この途中計算結果をRAMの空き
領域に保持するとともに、次回の当該チャネルの動作期
間に上記RAMに保持されている途中計算結果を読み出
して全フィルタ計算を行うことを特徴とする請求項1乃
至4のいずれかに記載の音声信号のディジタル処理方
法。 - 【請求項6】 RAMのデータをそのまま積和演算器の
アキュムレータに転送するときにROMからは“1”に
相当する係数を上記積和演算器に入力することを特徴と
する請求項1乃至5のいずれかに記載の音声信号のディ
ジタル処理方法。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP5320637A JPH07176987A (ja) | 1993-12-20 | 1993-12-20 | 音声信号のディジタル処理方法 |
| US08/360,016 US5570308A (en) | 1993-12-20 | 1994-12-20 | Method of processing digital audio signals of different sampling rates |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP5320637A JPH07176987A (ja) | 1993-12-20 | 1993-12-20 | 音声信号のディジタル処理方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH07176987A true JPH07176987A (ja) | 1995-07-14 |
Family
ID=18123636
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP5320637A Pending JPH07176987A (ja) | 1993-12-20 | 1993-12-20 | 音声信号のディジタル処理方法 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US5570308A (ja) |
| JP (1) | JPH07176987A (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2000508792A (ja) * | 1996-03-29 | 2000-07-11 | マイクロソフト コーポレイション | Pcと民生用電子装置とのデジタル相互接続 |
| JP2004088527A (ja) * | 2002-08-28 | 2004-03-18 | Renesas Technology Corp | オーディオ・インターフェイス回路 |
Families Citing this family (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR100209894B1 (ko) * | 1996-06-14 | 1999-07-15 | 윤종용 | 펄스부호변조된 디지털 오디오신호의 기록 및 재생을 위한 시스템 |
| JP3724910B2 (ja) * | 1997-03-03 | 2005-12-07 | ローム株式会社 | 音声録再装置並びに音声記録装置及び音声再生装置 |
| SG71786A1 (en) * | 1997-05-05 | 2000-05-23 | Wea Mfg Inc | Recording and playback of multi-channel digital audio having different resolutions for different channels |
| US6173022B1 (en) | 1997-05-05 | 2001-01-09 | Wea Manufacturing, Inc. | Synchronizing audio signal samples taken at different sampling rates |
| US6298025B1 (en) | 1997-05-05 | 2001-10-02 | Warner Music Group Inc. | Recording and playback of multi-channel digital audio having different resolutions for different channels |
| SG75840A1 (en) * | 1997-05-05 | 2000-10-24 | Wea Mfg Inc | Recording and playback of multi-channel digital audio having different sampling rates for different channels |
| EP1394795A3 (en) * | 1997-05-05 | 2007-02-14 | Warner Music Group, Inc. | Recording & playback of multi-channel digital audio having different sampling rates for different channels |
| US5907295A (en) * | 1997-08-04 | 1999-05-25 | Neomagic Corp. | Audio sample-rate conversion using a linear-interpolation stage with a multi-tap low-pass filter requiring reduced coefficient storage |
| US6226758B1 (en) * | 1997-09-30 | 2001-05-01 | Cirrus Logic, Inc. | Sample rate conversion of non-audio AES data channels |
| JP2000149439A (ja) * | 1998-11-12 | 2000-05-30 | Matsushita Electric Ind Co Ltd | 多チャンネル音声再生装置 |
| JP2003224456A (ja) * | 2002-01-31 | 2003-08-08 | Leader Electronics Corp | 時分割多重信号をフィルタ処理するためのデジタル・フィルタ |
| US8300841B2 (en) * | 2005-06-03 | 2012-10-30 | Apple Inc. | Techniques for presenting sound effects on a portable media player |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5023825A (en) * | 1989-07-14 | 1991-06-11 | Tektronix, Inc. | Coefficient reduction in a low ratio sampling rate converter |
| JP2703126B2 (ja) * | 1991-04-23 | 1998-01-26 | 三菱電機株式会社 | A/d,d/a変換装置 |
| US5365468A (en) * | 1992-02-17 | 1994-11-15 | Yamaha Corporation | Sampling frequency converter |
| GB2267192B (en) * | 1992-05-21 | 1995-09-27 | Sony Broadcast & Communication | Sampling frequency conversion |
| JP2508616B2 (ja) * | 1992-12-21 | 1996-06-19 | 日本プレシジョン・サーキッツ株式会社 | サンプリングレ―トコンバ―タ |
-
1993
- 1993-12-20 JP JP5320637A patent/JPH07176987A/ja active Pending
-
1994
- 1994-12-20 US US08/360,016 patent/US5570308A/en not_active Expired - Lifetime
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2000508792A (ja) * | 1996-03-29 | 2000-07-11 | マイクロソフト コーポレイション | Pcと民生用電子装置とのデジタル相互接続 |
| JP2004088527A (ja) * | 2002-08-28 | 2004-03-18 | Renesas Technology Corp | オーディオ・インターフェイス回路 |
Also Published As
| Publication number | Publication date |
|---|---|
| US5570308A (en) | 1996-10-29 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH07176987A (ja) | 音声信号のディジタル処理方法 | |
| US4373191A (en) | Absolute magnitude difference function generator for an LPC system | |
| US5986589A (en) | Multi-stream audio sampling rate conversion circuit and method | |
| CN101080870A (zh) | 用分数减小信号的采样频率的采样率转换器 | |
| US5963153A (en) | Multi-stream audio sampling rate conversion system and method using variable converter rate control data | |
| JP2921376B2 (ja) | 楽音発生装置 | |
| JP2570874B2 (ja) | デシメータ回路 | |
| JP2001188600A5 (ja) | ||
| JP3345327B2 (ja) | 音声制御装置と音声制御方法とナビゲーションシステム | |
| JPH0642149B2 (ja) | 電子楽器 | |
| JPH08320858A (ja) | フーリエ変換演算装置および方法 | |
| JPH07234864A (ja) | 直交変換装置 | |
| JPH06103825B2 (ja) | ストレ−ジ回路 | |
| JPH1155076A (ja) | サンプリング周波数変換装置 | |
| JP3172046B2 (ja) | サンプリングレートコンバータ | |
| JPH04235407A (ja) | アナログ/ディジタル変換方式 | |
| JP3087744B2 (ja) | 楽音発生装置 | |
| JP2558356B2 (ja) | デジタル・アナログ変換器 | |
| JPH09212486A (ja) | Mpeg−2オーディオ復号化器の合成フィルタ | |
| JP3097599B2 (ja) | ディジタルフィルタ | |
| JP3261729B2 (ja) | 直線補間方法及びその回路 | |
| JPH0342729B2 (ja) | ||
| JP3288273B2 (ja) | 除算回路及びこれに用いる部分除算器 | |
| JPS6361706B2 (ja) | ||
| JPH036691B2 (ja) |