(57)【特許請求の範囲】
【請求項１】
入力データに各種の利得特性を付与するデータ処理装置において、
付与すべき利得特性の精度を示す処理モードに応じて定められた分離ビット数に従って、前記入力データに所定の処理を施して得た制御データから上位ビットデータを分離するデータ分離部と、
前記処理モードに応じて、分割された各記憶領域に各利得データを予め記憶する記憶部と、
前記上位ビットデータに前記処理モードに応じた処理を施して読出アドレスを生成する読出アドレス生成部と、
前記読出アドレスに基づいて前記記憶部から読み出した利得データに基づいて、前記入力データに利得処理を施して出力データを生成するデータ生成部と
を備えることを特徴とするデータ処理装置。
【請求項２】
前記入力データに基づいて入力信号の振幅を検出して振幅データを生成する振幅データ生成部を備え、前記振幅データが前記制御データとして与えられることを特徴とする請求項１に記載のデータ処理装置。
【請求項３】
前記各利得データは、異なる利得特性を指示することを特徴とする請求項１または２に記載のデータ処理装置。
【請求項４】
前記データ分離部は、前記制御データを前記上位ビットデータと下位ビットデータに分離し、
前記データ生成部は、
前記記憶部から読み出した利得データに、前記下位ビットデータに基づいて補間処理を施して補間利得データを生成する補間部と、
前記補間利得データと前記入力データとを乗算して前記出力データを生成する乗算部と
を備えることを特徴とする請求項１または２に記載のデータ処理装置。
【請求項５】
前記読出アドレス生成部は、前記処理モードに応じて各記憶領域を指示するアドレスを生成し、当該アドレスと前記上位ビットデータとを組み合わせて前記読出アドレスを生成することを特徴とする請求項１または２に記載のデータ処理装置。
【請求項６】
書き換え可能な記憶部に記憶された利得データに基づいて、入力データに各種の利得特性を付与するデータ処理方法において、
付与すべき利得特性の精度を示す処理モードに応じて前記記憶部の記憶領域を分割し、分割された各記憶領域に各利得データを記憶し、
前記処理モードに応じて定められた分離ビット数に従って、前記制御データから上位ビットデータを分離し、
前記上位ビットデータに前記処理モードに応じた処理を施して読出アドレスを生成し、
前記読出アドレスに基づいて前記記憶部から読み出した利得データに基づいて、前記入力データに利得処理を施して出力データを生成する
ことを特徴とするデータ処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、音声信号や楽音信号等のレベル値を非線形の利得特性に基づいて圧縮又は伸長するディジタルコンプレッサ／リミッタ及び音響信号効果装置（イフェクタ）等のデータ処理装置およびデータ処理方法に関する。
【０００２】
【従来の技術】
従来より、放送設備の過変調を防止するために大振幅入力時にコンプレッサ（圧縮）処理を施したり、リミッタ処理するディジタルコンプレッサ／リミッタや、暗騒音下での音楽再生等において、小振幅信号をエキスパンダ（伸長）処理しつつ低レベル雑音を抑制するエキスパンダー／ノイズゲート等、入力信号レベルに応じた非線形の利得制御を行うデータ処理装置が知られている。図１３は、この種のデータ処理装置の入出力特性の一例を示す図である。この図において、横軸は入力データ値の対数レベル、縦軸は系を通過した後の信号の対数レベルであり、点線は圧縮伸長を全く行わない場合の入出力関係直線である。また、図１４は、同じく入力データ値に対する利得（乗算係数）を示したもので、同図（ａ）は対数利得、同図（ｂ）はリニアな乗算係数として表わしたものである。
【０００３】
この入出力特性では、入力のレベルに応じて系の利得が次のように変化する。（１）中間レベル（−２４〜−８４ｄＢ）の信号が入力された場合入出力利得を＋１２ｄＢとして音量を増大させる。（２）高いレベル（−２４ｄＢ以上）の信号が入力された場合伸張率１／２（圧縮率２）の圧縮動作に入り、大振幅でのクリップを防止する。（３）低いレベル（−８４ｄＢ以下）の信号が入力された場合、伸長率２の伸長動作となるが、無信号時の低レベル雑音については抑圧する。
従来、このような非線形の利得特性を得るため、当該特性を利得データとしてメモリに予め記憶しておき、入力データの振幅レベルに応じて利得データをメモリから読み出し、読み出された利得データを入力データに乗算して出力データを生成することが行われていた。
【０００４】
【発明が解決しようとする課題】
ところで、複数の入力データに各種の効果を付与してこれらを混合して出力するミキサー等のデータ処理装置にあっては、上述した手法で各入力データに効果を付与して得られた各データを混合して所望の出力データを生成することがある。
このようなデータ処理装置にあって、入力データに所望の利得特性を付与しようとすると、利得データのデータ量が増加し、メモリとして大容量のものを使用する必要がある。特に、複数の入力データに対して各々異なる利得特性を付与しようとすると、入力データの数が増える程、利得データのデータ量が増加する。一方、入力データの種類によって、利得特性の精度の要求度合が異なる場合もある。例えば、ミキサー内部で、入力段のコンプレッサよりもミキシング後のマスターレベルのコンプレッサの方を精度のよい利得特性を持つものにしたいとの要求などが考えられる。
【０００５】
本発明は上述した点に鑑みてなされたものであり、その目的は、一定の記憶容量の下に、付与すべき利得特性の自由度を拡張し、データ処理装置の汎用性を高めることにある。
【０００６】
【課題を解決するための手段】
上記課題を解決するため、請求項１に記載の発明にあっては、入力データに各種の利得特性を付与するデータ処理装置において、付与すべき利得特性の精度を示す処理モードに応じて定められた分離ビット数に従って、前記入力データに所定の処理を施して得た制御データから上位ビットデータを分離するデータ分離部と、前記処理モードに応じて、分割された各記憶領域に各利得データを予め記憶する記憶部と、前記上位ビットデータに前記処理モードに応じた処理を施して読出アドレスを生成する読出アドレス生成部と、前記読出アドレスに基づいて前記記憶部から読み出した利得データに基づいて、前記入力データに利得処理を施して出力データを生成するデータ生成部とを備えることを特徴とする。
【０００７】
また、請求項２に記載の発明にあっては、前記入力データに基づいて入力信号の振幅を検出して振幅データを生成する振幅データ生成部を備え、前記振幅データが前記制御データとして与えられることを特徴とする。
また、請求項３に記載の発明にあっては、前記各利得データは、異なる利得特性を指示することを特徴とする。
【０００８】
また、請求項４に記載の発明にあっては、前記データ分離部は、前記制御データを前記上位ビットデータと下位ビットデータに分離し、前記データ生成部は、前記記憶部から読み出した利得データに、前記下位ビットデータに基づいて補間処理を施して補間利得データを生成する補間部と、前記補間利得データと前記入力データとを乗算して前記出力データを生成する乗算部とを備えることを特徴とする。
【０００９】
また、請求項５に記載の発明にあっては、前記読出アドレス生成部は、前記処理モードに応じて各記憶領域を指示するアドレスを生成し、当該アドレスと前記上位ビットデータとを組み合わせて前記読出アドレスを生成することを特徴とする。
また、請求項６に記載の発明にあっては、書き換え可能な記憶部に記憶された利得データに基づいて、入力データに各種の利得特性を付与するデータ処理方法において、付与すべき利得特性の精度を示す処理モードに応じて前記記憶部の記憶領域を分割し、分割された各記憶領域に各利得データを記憶し、前記処理モードに応じて定められた分離ビット数に従って、前記制御データから上位ビットデータを分離し、前記上位ビットデータに前記処理モードに応じた処理を施して読出アドレスを生成し、前記読出アドレスに基づいて前記記憶部から読み出した利得データに基づいて、前記入力データに利得処理を施して出力データを生成することを特徴とする。
【００１０】
【発明の実施の形態】
＜１．実施形態の構成＞
＜１−１：データ処理装置の概要＞
以下、添付の図面を参照してこの発明の実施形態について説明する。図１はこの発明の一実施形態に係るデータ処理装置の主要構成を示すブロック図である。この装置は、絶対値生成回路１、対数変換回路２、ピークホールド／時間減衰回路３、データ分離回路４、ゲインテーブル５、データ補間回路６、対数逆変換回路７、乗算回路８および制御回路９を備えている。
【００１１】
この装置の入力データＤｉｎは、２の補数コード、３２ビットのパラレル形式のデータ列であり、基準クロック信号ＣＫｒｅｆに同期して供給されるようになっている。基準クロック信号ＣＫｒｅｆは図示せぬクロック信号発生回路から供給される。また、その周波数は、音楽信号のサンプリング周波数をｆｓとしたとき２５６ｆｓとなるように設定されている。この装置は、１サンプリング期間あたり最大２５６個の入力データＤｉｎを処理することが可能である。
【００１２】
また、この装置では、複数種類の精度で利得特性を付与できるようになっている。以下の説明では、それらの態様をモードと称する。モードは制御回路９によって自動的に設定されたり、あるいは操作者の指示入力によって設定される。制御回路９では、モード信号Ｓｍや各種の制御信号を生成する。モード信号Ｓｍは、モードを指示するとともに後述するＲＡＭ５２を構成する各ページを指定する。なお、ページとはゲインテーブル５を構成するＲＡＭ５２を分割して得られる各記憶領域の単位である。ここで、モードの数は任意であるが、この例では、第１モードから第３モードまでが用意されているものとする。第１モードにおける利得特性の精度は低く、第２モードの精度は普通であり、第３モードの精度は高くなるように設定されている。
【００１３】
また、モード信号Ｓｍは４ビットのデータである。モード信号Ｓｍの上位２ビットは、モードを指示するものであり、そのデータ値が“００”のとき第１モードを、そのデータ値が“０１”のとき第２モードを、そのデータ値が“１０”のとき第３モードを各々指示する。一方、モード信号Ｓｍの下位２ビットは、ＲＡＭ５２のページを指示する。後述するようにＲＡＭ５２はモードに応じて分割して使用される。第１モードでは分割されたページ数は４であり、第２モードでは分割されたページ数は２、第３モードでは分割されずＲＡＭ５２全体を１ページとして使用する（図８参照）。
【００１４】
まず、モード信号Ｓｍの上位２ビットが“００”の場合（第１モード）には、その下位２ビットが“００”のとき第１ページを、その下位２ビットが“０１”のとき第２ページを、その下位２ビットが“１０”のとき第３ページを、その下位２ビットが“１１”のとき第４ページを各々指示する。次に、モード信号Ｓｍの上位２ビットが“０１”の場合（第２モード）には、その下位２ビットが“００”のとき第１ページを、その下位２ビットが“０１”のとき第２ページを各々指示する。次に、モード信号Ｓｍの上位２ビットが“１０”の場合（第３モード）には、その下位２ビットは一義的に“００”となりＲＡＭ５２全体を１ページとして指定する。
【００１５】
図２は、入力データＤｉｎとモード信号Ｓｍとの関係の一例を示すタイミングチャートである。この図に示すように各データＤ１、Ｄ２、…、Ｄ２５６とモード信号Ｓｍ１〜Ｓｍ２５６は、基準クロック信号ＣＫｒｅｆに同期している。また、データＤ１に対応するモード信号Ｓｍ１は“０００１”となっている。この場合、モード信号Ｓｍ１の上位２ビットは“００”であるからデータＤ１は第１モードに従って処理され、その下位２ビットは“０１”であるから第２ページが指定されることになる。
【００１６】
＜１−２：制御回路＞
まず、制御回路９は、データ処理装置全体を制御する各種の制御信号を生成するものである。図３は、制御回路９の主要部を示すブロック図である。この図に示すように、制御回路９は、プログラムＲＡＭ９０とアドレスカウンタ９１とを備えている。プログラムＲＡＭ９０はアドレス０からアドレス２５５で指定される２５６個の記憶領域を有しており、各記憶領域にモード信号Ｓｍ、ホールド時間Ｔ１を指示するホールドデータＨＤ、第１減衰率Ｒ１を指示する第１減衰率データＧＤｘ、第２減衰率Ｒ２を指示する第２減衰率データＧＤｙ、および減衰切換レベルＬ１を指示するレベル切換データＬＤの組が記憶されている。なお、ホールド時間Ｔ１、第１減衰率Ｒ１、第２減衰率Ｒ２および減衰切換レベルＬ１は、後述するピークホールド／時間減衰回路３において入力データＤｉｎに付与される特性のパラメータであり、それらの詳細については後述する。
【００１７】
これらのデータは、外部から供給されるようになっており、ミキサーに当該データ処理装置を組み込んで使用する場合には、ミキサー全体を制御するＣＰＵからこれらのデータがロードされるようになっている。例えば、使用者がミキサーの操作子を操作すると、ＣＰＵはこれを検知して操作量に応じてデータ値を変更したデータの組を生成し、プログラムＲＡＭ９０にロードする。したがって、入力データＤｉｎに付与する特性のパラメータは動的に変更することが可能である。
【００１８】
また、プログラムＲＡＭ９０に記憶されたデータの組は、アドレスカウンタ９１のカウント値に従って読み出されるようになっている。アドレスカウンタ９１は、８ビットのリングカウンタで構成されており、基準クロック信号ＣＫｒｅｆをカウントしてアドレスを生成する。このため、プロクラムＲＡＭ９０に記憶されたデータの組はアドレス０から順次読み出される。そして、アドレス２５５のデータの組が読み出された後は、アドレス０に戻りデータの組を読み出し、これを繰り返すことになる。上述したように基準クロック信号ＣＫｒｅｆの周波数は２５６ｆｓであるから、１サンプリング期間の入力データＤｉｎを構成する各データＤ１〜Ｄ２５６の各々に対して個別の処理を施すことが可能となる。
【００１９】
＜１−３：絶対値生成回路＞
次に、絶対値生成回路１は、入力データＤｉｎの絶対値を生成する。図４は、絶対値生成回路の一構成例を示すブロック図である。この図に示すように絶対値生成回路１は、３２ビットの入力データＤｉｎ  のうちの最上位ビット（ＭＳＢ）Ｂ３１と他の各ビットＢ０  〜Ｂ３０との排他的論理和を出力する３１個のＥＸ−ＯＲゲート１０００  〜１０３０を備えており、入力データＤｉｎが正の値である場合［ＭＳＢ（Ｂ６３）＝０の場合］には、Ｂ６２〜Ｂ０  をそのまま出力し、入力データＤｉｎが負の値である場合［ＭＳＢ（Ｂ３１）＝１の場合］には、Ｂ３０〜Ｂ０を反転させて出力し、さらににＭＳＢ（Ｑ３１）を０に固定することにより、３２ビットの絶対値データＤｚを生成する。
【００２０】
＜１−４：対数変換回路＞
次に、図１に示す対数変換回路２は、セレクタとＯＲゲートとを組み合わせた周知回路によって構成されており、３２ビットのリニアの絶対値データＤｚを１２ビットの瞬時対数データＤＬに変換する。対数変換回路２は、データのビット幅を圧縮して後段のピークホールド／時間減衰回路３、ゲインテーブル５およびデータ補間回路６等の回路規模を縮小するとともにそれらの演算時間を短縮するために用いられる。
【００２１】
＜１−５：ピークホールド／時間減衰回路＞
次に、１２ビットの瞬時対数データＤＬは、ピークホールド／時間減衰回路３に入力される。ピークホールド／時間減衰回路３は、入力される瞬時対数データＤＬに対して、ピーク保持と時間的減衰処理を施すことにより、概略的な対数エンベロープを求め、１２ビットのエンベロープデータＤｅ（振幅データ）として出力する回路である。
【００２２】
この回路では、図９（ｃ）に示すピークホールド／時間減衰された近似的な対数エンベロープが求められる。同図における「追従区間」は入力されるサンプル値のレベルの増大に伴ってエンベロープデータが増加する区間である。「ホールド区間」は信号のサンプル値は減少又は低い値をとるが、エンベロープデータは以前の値を保持し続ける区間である。この時間は、制御回路９から与えられるパラメータ（ホールドタイムＴ１）によって決められる。「ホールド区間」においては、入力が新たに保持レベルを超えない限りエンベロープデータが更新されないので、正弦波の谷の部分等がマスクされる。また、入力が新たに保持レベルを超えると、エンベロープデータが更新され、そこから再度「ホールド区間」が始まる。したがって、上述の「追従区間」は、出力データの更新が１サンプル毎に行われている区間であるともいえる。
【００２３】
「ホールド区間」が終了すると、「自動減衰区間」に入る。ここでは、この区間を「自動減衰区間１」と「自動減衰区間２」の２つの区間に分けている。両者は対数レベルコードが外部から与えられるパラメータ（減衰切換レベルＬ１）より大か小かで分けられ、それぞれの区間で異なる減衰率Ｒ１，Ｒ２を持つ。これらの減衰率Ｒ１，Ｒ２は制御回路９から与えられるパラメータである。このように、瞬時対数データの正確なエンベロープではなく、減衰時定数等が調整された信号を使用することにより、コンプレッサ／リミッタにおける、いわゆる息継ぎ現象（信号の変動に応じて小刻みに雑音や背景音のレベルが変動し、息継ぎをするように感じられる不快な現象）を効果的に抑制することができる。適切な「ホールド区間」を持つことは、「息継ぎ現象」の防止に有効であり、信号レベルに応じて減衰率を切換えるのは、高い信号レベルでの圧縮動作と低い信号レベルでの伸長動作とで聴感上適切な減衰率が異なるためである。
【００２４】
図５は、ピークホールド／時間減衰回路３の具体的な構成例を示すブロック図である。瞬時対数データＤＬは、ダウンカウンタ３１に入力されると共に、コンパレータ３２に入力される。ダウンカウンタ３１は、新規入力された入力データが現在の出力データを超えたことを示すコンパレータ３２の出力に基づいて、ＡＮＤゲート３３を通過するクロックＣＫ１に同期して入力データをロードする。入力データが出力データよりも小さいときは、コンパレータ３２の出力が０となるので、ダウンカウンタ３１にはピーク値がホールドされたままとなり、入力データは何の影響も与えない。
【００２５】
一方、ダウンカウンタ３１に新しい入力データがロードされるのと同時にダウンカウンタ３４にも予め設定されたホールド時間Ｔ１がロードされる。ダウンカウンタ３４は、クロックＣＫ２によりダウンカウントし、ホールド時間Ｔ１だけカウントしたら出力Ｚを１にする。これにより、ＡＮＤゲート３５を介してクロックＣＫ２がダウンカウンタ３１のクロックとして入力される１つの条件が成立する。Ｚ出力は、ダウンカウンタ３１が新規入力で更新されてからホールドタイムＴ１だけカウントダウンを禁止するための信号である。
【００２６】
クロックＣＫ２がダウンカウンタ３１に入力されるもうひとつの条件は、分周器３８の出力である。即ち、ダウンカウンタ３１の出力は、コンパレータ３６において、減衰切換レベルＬ１と比較される。その比較出力は、セレクタ３７の切換入力信号ＳＢとなる。セレクタ３７は、切換入力信号ＳＢが０（出力＞Ｌ１）のときに減衰率Ｒ１を選択出力し、切換入力信号ＳＢが１（出力＜Ｌ１）のときに減衰率Ｒ２を選択出力する。セレクタ３７の出力は、プログラマブル分周器３８の分周数Ｎとして供給される。分周器３８は、クロックＣＫ２をＮ分周し、Ｎクロック周期のクロックをＣに出力する。したがって、ＡＮＤゲート３５からは、減衰率Ｒ１又はＲ２で決定される周期のパルスがダウンカウンタ３１に与えられ、ダウンカウンタ３１のダウンカウント速度が２段階に変化するようになっている。そして、ダウンカウンタ３１の出力データが１２ビットのエンベロープデータＤｅとしてデータ分離回路４に出力される。
【００２７】
エンベロープデータＤｅは入力データＤｉｎの振幅レベルを示すものであるが、これに基づいて、最終的には入力データＤｉｎに付与する利得特性が制御されることになる。この意味において、エンベロープデータＤｅは利得特性を制御するための制御データとして機能する。
【００２８】
＜１−６：データ分離回路＞
次に、図１に示すデータ分離回路４は、モード信号Ｓｍに基づいて、１２ビットのエンベロープデータＤｅを上位ビットデータＤｘと下位ビットデータＤｙとに分離する。
【００２９】
具体的には、エンベロープデータＤｅの最上位ビットＭＳＢから何ビット目で上位と下位とを分離するかを定めた分離ビット数が、モード信号Ｓｍのデータ値に応じて予め定められており、データ分離回路４はこれに従って動作する。
【００３０】
図６は、本実施形態におけるモードに応じた分離態様の一例を示す図である。例えば、モード信号Ｓｍの上位２ビットのデータ値が“００”で第１モードの場合には、同図（ａ）に示すように、エンベロープデータＤｅの最上位ビットＭＳＢから４ビット目までが上位ビットデータＤｘとなり、残りの８ビットが下位ビットデータＤｙになる。また、モード信号Ｓｍの上位２ビットのデータ値が“０１”で第２モードの場合には、同図（ｂ）に示すように、エンベロープデータＤｅの最上位ビットＭＳＢから５ビット目までが上位ビットデータＤｘになり、残りの７ビットが下位ビットデータＤｙになる。さらに、モード信号Ｓｍの上位２ビットのデータ値が“１０”で第３モードの場合には、同図（ｃ）に示すように、エンベロープデータＤｅの最上位ビットＭＳＢから６ビット目までが上位ビットデータＤｘになり、残りの６ビットが下位ビットデータＤｙになる。
【００３１】
＜１−７：ゲインテーブル＞
次に、ゲインテーブル５について説明する。図７は、ゲインテーブル５の詳細な構成を示すブロック図である。この図に示すようにゲインテーブル５は、読出アドレス生成回路５１およびＲＡＭ５２を備えている。
【００３２】
まず、読出アドレス生成回路５１は、４〜６ビットの上位ビットデータＤｘとモード信号Ｓｍとに基づいて、６ビットの読出アドレスＲＡを生成する。なお、後述するデータ補間回路６は連続する２つの利得データＤｇと下位ビットデータＤｙに基づいて直線補間を実行するので、読出アドレス生成回路５１は、１個の上位ビットデータＤｘに対して２個の読出アドレスＲＡを生成するようになっている。以下の説明では、上位ビットデータＤｘから直接生成される読出アドレスＲＡを第１読出アドレスＲＡｘと、これを“１”だけインクリメントして得られるアドレスを第２読出アドレスＲＡｙと称することにする。但し、第１読出アドレスＲＡｘが最大値のときは、インクリメントは行わずＲＡｘ＝ＲＡｙとする。
【００３３】
読出アドレス回路５１は、具体的に以下の手順で第１読出アドレスＲＡｘを生成する。第１にモード信号Ｓｍの上位２ビットに基づいてモードを特定する。第２に特定されたモードに基づいてモード信号Ｓｍの最下位ビットから所定数のビットを分離する。第１モードでは下位２ビット、第２モードにあっては下位１ビット、第３モードでは分離を行わない。第３に分離されたビットと上位ビットデータＤｘとを組み合わせて第１読出アドレスＲＡｘを生成する。第１モードでは分離された下位２ビットと４ビットの上位ビットデータＤｘとを組み合わせて第１読出アドレスＲＡｘを生成し、第２モードでは分離された下位１ビットと５ビットの上位ビットデータＤｘとを組み合わせて第１読出アドレスＲＡｘを生成し、第３モードでは６ビットの上位ビットデータＤｘをそのまま第１読出アドレスＲＡｘとして用いる。
【００３４】
次に、ＲＡＭ５２は、１ワードが３２ビットで６４ワードの記憶容量を有するデュアルポート型の記憶装置であって、データの書き込みと読み出しを同時に実行することが可能である。ＲＡＭ５２は、ライトイネーブル信号ＷＥがアクティブのときＲＡＭ５２の書き込みが可能となり、ライトアドレスＷＡによって指定される記憶領域に利得データＤｇを書き込む。そして、リードイネーブル信号ＲＥがアクティブのとき読み出しが可能となる。利得データＤｇや信号ＷＥ、ＷＡおよびＲＥは制御回路９から供給されるようになっている。したがって、必要に応じてＲＡＭ５２の記憶内容は書き換えることが可能であり、例えば、このデータ処理装置をミキサーに組み込んで使用する場合には、使用者が操作子を操作すると、上述したようにパラメータの変更が行われるが、これと連動してＲＡＭ５２の記憶内容を更新することも可能である。
【００３５】
また、ＲＡＭ５２には、１ワードが３２ビットの利得データＤｇが記憶され、必要に応じて読み出されるようになっている。エンベロープデータＤｅのビット数は１２ビットであるから、ＲＡＭ５２の記憶容量は、本来、４０９６ワード必要となる。しかしながら、本実施形態では、後述するデータ補間回路６を用いて補間処理を行うため、その記憶容量は大幅に圧縮されている。
【００３６】
さらに、ＲＡＭ５２の記憶領域はモードに応じて分割して使用される。図８は、モードと記憶領域の分割の関係を示す概念図である。第１モードにあっては、同図（ａ）に示すようにＲＡＭ５２の記憶領域は１６ワード毎に４分割され、記憶領域５２Ａ（第１ページ）に第１利得データＤｇａが、記憶領域５２Ｂ（第２ページ）に第２利得データＤｇｂが、記憶領域５２Ｃ（第３ページ）に第３利得データＤｇｃが、記憶領域５２Ｄ（第４ページ）に第４利得データＤｇｄが書き込まれるようになっている。第１〜第４利得データＤｇａ〜Ｄｇｄは各々１６個のデータから構成されている。ＲＡＭ５２には６４ワードの利得データＤｇが記憶されるから、ある利得データＤｇを指定して読み出すためには６ビットの読出アドレスＲＡが必要となる。第１モードの読出アドレスＲＡのうち、上位２ビットはページ番号を指定する一方、下位４ビットはページ内のアドレスを指定する。
【００３７】
次に、第２モードにあっては、同図（ｂ）に示すようにＲＡＭ５２の記憶領域は２分割され、記憶領域５２Ａおよび５２Ｂに第５利得データＤｇｅが、記憶領域５２Ｃおよび５２Ｄに第６利得データＤｇｆが書き込まれる。第５利得データＤｇｅと第６利得データＤｇｆは、各々３２個のデータから構成されている。第２モードの読出アドレスＲＡのうち、上位１ビットはページ番号を指定する一方、下位５ビットはページ内のアドレスを指定する。
次に、第３モードにあっては、同図（ｃ）に示すようにＲＡＭ５２の記憶領域は分割されず、記憶領域５２Ａ〜５２Ｄに第７利得データＤｇｇが書き込まれる。第７利得データＤｇｇは、６４個のデータから構成されている。
【００３８】
ここで、第１〜第７利得データＤｇａ〜Ｄｇｇの各ワード数は、第１〜第４利得データＤｇａ〜Ｄｇｄが各１６ワードであり、第５および第６利得データＤｇｅ，Ｄｇｆが各３２ワードであり、第７利得データＤｇｇが６４ワードになっている。すなわち、第１モード、第２モード、第３モードの順に、付与すべき利得特性の精度が向上する一方、処理可能な音楽データの数が減少する。
【００３９】
付与すべき利得特性の精度は、高精度のものが要求されることもあれば、精度がそれ程要求されないこともある。この例では、モードに応じてＲＡＭ５２の記憶領域を分割する態様を変更したので、精度がさほど要求されないときにはＲＡＭ５２の分割数を増やして、そこに複数種類の利得データＤｇを記憶することができる一方、精度が要求される場合にはＲＡＭ５２の分割数を減らしてデータ容量の大きい利得データＤｇを記憶することができる。
【００４０】
以上の構成において、入力データＤｉｎに利得特性を付与する際には、まず、制御回路９がモードに応じた利得データＤｇと書込アドレスＷＡを生成して、ゲインテーブル５に供給する。すると、利得データＤｇが書込アドレスＷＡに従ってＲＡＭ５２の所定の記憶領域に書き込まれ、必要に応じて利得データＤｇが読み出されることになる。
【００４１】
＜１−８：データ補間回路＞
次に、図１に示すデータ補間回路６は、ゲインテーブル５から読み出される連続した２個の利得データＤｇと下位ビットデータＤｙとに基づいて、直線補間を施して補間利得データＤｇ’を生成する。
例えば、第１モードの場合（下位ビットデータＤｙが８ビット）において、読み出された２個の利得データＤｇの値がＸ（ｎ），Ｘ（ｎ＋１）であり、下位ビットデータＤｙの値がＹ、補間利得データＤｇ’の値がＧとすれば、データ補間回路６は、以下に示す式を計算して補間利得データＤｇ’を生成する。
Ｇ＝Ｘ（ｎ）＋（Ｘ（ｎ＋１）−Ｘ（ｎ））・Ｙ／２Ｎ
但し、Ｎは下位ビットデータＤｙのビット数であり、第１モードではＮ＝８（２Ｎ＝２５６）である。また、Ｎはモードに応じて定まるので、データ補間回路６は、モード信号Ｓｍのデータ値に応じてＮを設定するようになっている。
このデータ補間回路６によって利得データＤｇのデータ補間を行うので、上述したＲＡＭ５２の記憶容量を大幅に削減することができる。
【００４２】
＜１−９：対数逆変換回路および乗算回路＞
次に、対数逆変換回路７は、対数変換回路と相補的な関係にあり、３２ビットの補間利得データＤｇ’を対数表現からリニア表現へ変換して３２ビットのリニア利得データＤＧを生成する。
次に、乗算回路８は、入力データＤｉｎとリニア利得データＤＧとを乗算して出力データＤｏｕｔを生成する。
【００４３】
＜２．実施形態の動作＞
次に、データ処理装置の動作について説明する。まず、制御回路９においてモードが特定されると、ゲインテーブル５にモードに応じた利得データＤｇが書き込まれる。ここで、特定されたモードが第３モードであるとすれば、利得特性付与処理におけるデータ処理装置の各部の波形は、例えば、図９に示すものとなる。なお、この図においては、各部のデータ値をアナログ信号のレベルに置き換えて表現してある。
【００４４】
同図（ａ）に示す入力データＤｉｎ（アナログ信号として図示）が絶対値生成回路１に供給されると、絶対値生成回路１は同図（ｂ）に示す絶対値データＤｚを生成する。これにより、アナログ的には両波整流が行われることになる。
この後、ピークホールド／時間減衰回路３が絶対値データＤｚに基づいて、同図（ｃ）に示すエンベロープデータＤｅを生成すると、データ分離回路４によってエンベロープデータＤｅが上位ビットデータＤｘと下位ビットデータＤｙに分離される。この例のモード種別は第３モードであるから、上位ビットデータＤｘと下位ビットデータＤｙのビット数はともに６ビットである。
この場合、読出アドレス生成回路５１は、エンベロープデータＤｅの１単位時間中（１／２５６ｆｓ）に、まず、上位ビットデータＤｘを第１読出アドレスＲＡｘとして生成し、次に、上位ビットデータＤｘを“１”だけインクリメントしたデータを第２読出アドレスＲＡｙとして生成する。これにより、ＲＡＭ５２からは２個の利得データＤｇが読み出されることになる。同図（ｄ）に示したものは、最初に読み出される利得データＤｇである。
【００４５】
この後、データ補間回路６が２個の利得データＤｇと下位ビットデータＤｙに基づいて補間処理を行って、補間利得データＤｇ’を生成すると、対数逆変換回路７が補間利得データＤｇ’をリニア表現に変換してリニア利得データＤＧを生成する。そして、乗算回路８においてリニア利得データＤＧと入力データＤｉｎとが乗算されることによって、入力データＤｉｎに利得特性が付与され、同図（ｅ）に図示する出力データＤｏｕｔが得られる。
【００４６】
図１０は、データ処理装置の各部の動作を示すタイミングチャートである。なお、この図において各部の動作遅延時間は無視してある。同図（ａ）に示すようにあるサンプリング期間において、２５６個の音楽データＤ１〜Ｄ２５６が入力データＤｉｎとしてデータ処理装置に供給されると、ピークホールド／時間減衰回路３は、各音楽データＤ１〜Ｄ２５６に対応して同図（ｂ）に示すように各エンベロープデータＤｅ１〜Ｄｅ２５６を生成する。
【００４７】
次に、データ分離回路４は、モード信号Ｓｍが指示するモード種別に応じて、定められるビット数に従って、各エンベロープデータＤｅ１〜Ｄｅ２５６のうち最上位ビットから所定ビットを各々抽出し、同図（ｃ）に示す上位ビットデータＤｘ１〜Ｄｘ２５６を生成する。例えば、モード信号Ｓｍの上位２ビットのデータ値が“００”であって第１モードを指示する場合には、上位４ビットを抽出して、上位ビットデータＤｘ１〜Ｄｘ２５６を生成する。また、モード信号Ｓｍの上位２ビットのデータ値が“０１”であって第２モードを指示する場合には上位５ビットが、モード信号Ｓｍの上位２ビットのデータ値が“１０”であって第３モードを指示する場合には上位６ビットが抽出される。このようにして抽出された上位ビットデータＤｘ１〜Ｄｘ２５６は、ＲＡＭ５２の各ページにおけるページ内アドレスに対応している。換言すれば、モードに応じてエンベロープデータＤｅ１〜Ｄｅ２５６から抽出する上位ビットのビット数を定めている。
【００４８】
次に、読出アドレス生成回路５１は、同図（ｄ）に示すように、基準クロック信号ＣＫｒｅｆの１周期毎に、モード信号Ｓｍの下位ビットを抽出してページアドレスＰＡ１〜ＰＡ２５６を生成する。各ページアドレスＰＡ１〜ＰＡ２５６は記憶領域５２Ａ〜５２Ｄの種別を指示するアドレスである。例えば、当該期間中は第１モードであり、モード信号Ｓｍの下位２ビットが、期間Ｔ１で“００”、期間Ｔ２で“０１”、期間Ｔ３で“１０”、期間Ｔ４で“１１”といったように変化するならば、期間Ｔ１で第１ページ（記憶領域５２Ａ）、期間Ｔ２で第２ページ（記憶領域５２Ｂ）、期間Ｔ３で第３ページ（記憶領域５２Ｃ）、期間Ｔ４で第４ページ（記憶領域５２Ｄ）が指定されることになる。
また、当該期間中は第２モードであり、モード信号Ｓｍの下位２ビットが、期間Ｔ１およびＴ２で“００”、期間Ｔ３およびＴ４で“０１”といったように変化するならば、期間Ｔ１およびＴ２で第１ページ（記憶領域５２Ａおよび５２Ｂ）、期間Ｔ３およびＴ４で第２ページ（記憶領域５２Ｃおよび５２Ｄ）が指定されることになる。
さらに、当該期間中が第３モードであるならば、モード信号Ｓｍの下位２ビットは一義的に“００”となる。この場合は、記憶領域５２Ａ〜５２Ｄを１ページとして取り扱うので、ページアドレスＰＡ１〜ＰＡ２５６の生成は行われない。
【００４９】
次に、読出アドレス生成回路５１は、ページアドレスＰＡ１〜ＰＡ２５６と上位ビットデータＤｘ１〜Ｄｘ２５６とを各々組み合わせて、第１読出アドレスＲＡｘ１〜ＲＡｘ２５６を生成する。
例えば、第１モードにおいて、期間Ｔ３におけるページアドレスＰＡ３が“１０”であり、上位ビットデータＤｘ３が“００００”であるとすれば、第１読出アドレスＲＡｘは“１０００００”となる。これにより、第１モードにおける第３ページ（記憶領域５２Ｃ）の先頭に記憶されているデータが指定される。第１モードでは、ＲＡＭ５２を４分割して、各ページに異なる種類の利得データＤｇを格納できるので、複数種類の利得特性を付与できるといった利点がある。
【００５０】
また、第２モードにおいて、期間Ｔ４におけるページアドレスＰＡ４が“１”であり、上位ビットデータＤｘ４が“１００００”であるとすれば、第１読出アドレスＲＡｘは“１１００００”となる。これにより、第２モードにおける第２ページ後半（記憶領域５２Ｄ）の先頭に記憶されているデータが指定される。第２モードにあってはＲＡＭ５２の分割数が２であり、分割数が４である第１モードと比較して利得データＤｇの種類が少なくなる。しかしながら、１ページ当たりのワード数は３２であり、１ページ当たり１６ワードの第１モードと比較して利得精度を向上させることが可能である。
【００５１】
さらに、第３モードにおいて、期間Ｔ１における上位ビットデータＤｘ１が“００００００”であるとすれば、第１読出アドレスＲＡｘは“００００００”となる。これにより、記憶領域５２Ａの先頭に記憶されているデータが指定される。第３モードにあっては、ＲＡＭ５２を分割して使用しないので、読出アドレス生成回路５１は、６ビットの上位ビットデータＤｘをそのまま第１読出アドレスＲＡｘとして使用する。第３モードにあっては、単一の利得特性しか付与することができないが、１ページ当たり６４ワードを使用することが可能となるので、利得精度をより一層向上させることが可能となる。
【００５２】
次に、アドレス生成回路５１は、第１読出アドレスＲＡｘ１〜ＲＡｘ２５６を“１”だけインクリメントして第２読出アドレスＲＡｙ１〜ＲＡｙ２５６を生成する。なお、ＲＡｘとＲＡｙの生成タイミングは、同図（ｅ）に示すように、まず、基準クロック信号ＣＫｒｅｆがＨレベルの期間において第１読出アドレスＲＡｘ１〜ＲＡｘ２５６が生成され、次に、基準クロック信号ＣＫｒｅｆがＬレベルの期間において第２読出アドレスＲＡｙ１〜ＲＡｙ２５６が生成されるようになっている。
【００５３】
第１および第２読出アドレスＲＡｘ，ＲＡｙがＲＡＭ５２に供給されると、同図（ｆ）に示すように２個で１組の利得データＤｇｘ１，Ｄｇｙ１〜Ｄｇｘ２５６，Ｄｇｙ２５６がＲＡＭ５２から読み出される。
この後、データ補間回路６は、２個の利得データＤｇｘ１，Ｄｇｙ１〜Ｄｇｘ２５６，Ｄｇｙ２５６と同図（ｇ）に示す下位ビットデータＤｙ１〜Ｄｙ２５６とに基づいて補間処理を行い、同図（ｈ）に示す補間利得データＤｇ１’〜Ｄｇ２５６’を生成する。そして、これらの結果に基づいて、乗算回路８が入力データＤｉｎに利得特性を付与することによって、同図（ｉ）に示す出力データＤｏｕｔ１〜Ｄｏｕｔ２５６が生成される。
【００５４】
このように本実施形態にあっては、モードに応じてＲＡＭ５２を適宜分割して精度の異なる利得データＤｇを記憶する一方、エンベロープデータＤｅからモードに応じて定めた上位ビットを分離し、これに基づいてＲＡＭ５２をアクセスする読出アドレスＲＡを生成するようにした。したがって、このデータ処理装置によれば、付与すべき利得特性の精度が低くてもよい場合には利得データＤｇの種類を増加させる一方、必要に応じて利得特性を高い精度で付与することもできる。この結果、データ処理装置の汎用性を高めることができる。
【００５５】
さらに、利得データＤｇと下位ビットデータＤｙに基づいて補間処理を行うので、ＲＡＭ５２の記憶容量を削減することができる。くわえて、対数変換回路２と対数逆変換回路７を用いて、データのビット数を減らしているので、ＲＡＭ５２の記憶容量を削減するとともに、データ補間回路６の演算時間を短縮することができる。
【００５６】
＜３．変形例＞
以上、本発明に係わる実施形態を説明したが、本発明は上述した実施形態に限定されるものではなく、以下に述べる各種の変形が可能である。
（１）上述した実施形態では、入力データＤｉｎより生成されたエンベロープデータＤｅに基づいて、利得特性の制御を行ったが、本発明はこれに限定されるものではなく、外部から与えられる信号より生成されたエンベロープデータＤｅに基づいて、利得制御を行ってもよいことは勿論である。
【００５７】
（２）上述した実施形態では、入力データＤｉｎとして音楽データを想定したが、本発明はこれに限定されるものではなく、画像データにワイプやクロマキーといった各種の効果を付与するデータ処理装置であってもよい。
【００５８】
（３）上述した実施形態では、ＲＡＭ５２の記憶領域を均等に分割したが、本発明はこれに限定されるものではなく、不均等に分割してもよいことは勿論である。例えば、図１１（ａ）に示すように記憶領域５２Ａと５２Ｂに１６ワードの第１利得データＤｇａと第２利得データＤｇｂを記憶し、記憶領域５２Ｃおよび５２Ｄに３２ワードの第５利得データＤｇｅを記憶するようにしてもよい。また、同図（ｂ）に示すようにＲＡＭ５２の替わりに１２８ワードのＲＡＭ５２’を用いて、記憶領域５２Ａ〜５２ＤにはＲＡＭ５２と同様の利得データＤｇを記憶する一方、記憶領域５２Ｅ〜５２Ｈには６４ワードの第７利得データＤｇｇを記憶するようにしてもよい。
要は、処理モードに応じてＲＡＭ５２の記憶領域を分割し、各記憶領域に所望の利得データを予め記憶する一方、必要に応じて変換される当該処理モードに応じて、エンベロープデータＤｅから上位ビットデータＤｘを生成し、上位ビットデータＤｘにモードに応じた処理を施して読出アドレスＲＡを生成するのであれば、どのような構成であってもよい。
【００５９】
さらに、入力データＤｉｎの処理中にＲＡＭ５２の記憶内容を更新するようにしてもよい。例えば、ある期間中において第１モードが指定され、入力データＤｉｎを構成する各データＤ１〜Ｄ２５６に対して第１ページから第４ページを順次指定しこれを繰り返す場合には、当該期間において第１利得データＤｇａ〜第４利得データＤｇｄを順次使用するため、図８（ａ）に示すように各ページ（記憶領域５２Ａ〜５２Ｄ）に第１利得データＤｇａ〜第４利得データＤｇｄを記憶しておく必要があるが、次のサンプリング期間において、そのサンプリング期間の前半において第１モードを指定して第１利得データＤｇａと第２利得データＤｇｂを使用し、後半期間において第２モードを指定し第５利得データＤｇｅを使用する場合には、図１２に示すようにＲＡＭ５２の記憶内容を更新してもよい。この場合、基準クロックＣＫｒｅｆの１周期を１単位時間ｔとしたとき、前半期間Ｔａと後半期間Ｔｂは１２８単位時間１２８ｔで構成される。この前半期間Ｔａでは記憶領域５２Ｃおよび５２Ｄからデータが読み出されることがないので、前半期間Ｔａのうち３２単位時間３２ｔを用いて、ＲＡＭ５２の記憶領域５２Ｃおよび５２Ｄの記憶内容を、第３利得データＤｇｃおよび第４利得データＤｇｄから第５利得データＤｇｅに書き換える。これによって、後半期間Ｔｂの開始時点において、第５利得データＤｇｅを使用することが可能となる。
【００６０】
したがって、本発明によれば、入力データＤｉｎを連続して処理している期間中にＲＡＭ５２に記憶されている利得データＤｇを書き換えることができる。これにより、少ないＲＡＭ５２の記憶容量を効率的に活用して、精度や種別の異なる各種の利得データを使用することが可能となるので、データ処理装置の汎用性をより一層高めることができる。
くわえて、入力データＤｉｎを連続して処理している期間中に利得データＤｇの更新を行わないのであれば、ＲＡＭ５２としてデュアルポート型のものを用いる必要はなくシングルポート型のものを用いればよいことは勿論である。
【００６１】
【発明の効果】
上述したように本発明に係る発明特定事項によれば、処理モードに応じて記憶部の記憶領域を分割し、各記憶領域に利得データを記憶する一方、制御データの上位ビットを分離し、これに基づいて記憶部をアクセスするようにしたので、記憶領域を無駄なく活用することができ、データ処理装置の汎用性を大幅に向上させることができる。
【図面の簡単な説明】
【図１】この発明の一実施形態に係るデータ処理装置のブロック図である。
【図２】同装置における入力データとモード信号との関係の一例を示すタイミングチャートである。
【図３】同装置における制御回路の主要構成を示すブロック図である。
【図４】同装置における絶対値生成回路の一構成例を示すブロック図である。
【図５】同装置におけるピークホールド／時間減衰回路の具体的な構成例を示すブロック図である。
【図６】同装置のデータ分離回路におけるモードに応じた分離態様の一例を示す図である。
【図７】同装置のゲインテーブルの詳細な構成を示すブロック図である。
【図８】同テーブルにおけるモードと記憶領域の分割の関係を示す概念図である。
【図９】同装置の全体動作を示す波形図である。
【図１０】同装置の各部の動作を示すタイミングチャートである。
【図１１】変形例におけるＲＡＭにおいて記憶領域の分割の様子を示す概念図である。
【図１２】変形例におけるＲＡＭにおいて記憶内容の更新動作を示すタイミングチャートである。
【図１３】非線形な利得特性を持つ場合の入出力特性の一例を示す特性図である。
【図１４】同入出力特性を得るための利得特性を示す特性図である。
【符号の説明】
１…絶対値生成回路、２…対数変換回路、３…ピークホールド／時間減衰回路、４…データ分離回路（データ分離部）、５…ゲインテーブル、５１…読出アドレス生成回路（読出アドレス生成部）、５２…ＲＡＭ（記憶部）、６…データ補間回路（データ生成部、補間部）、８…乗算回路（データ生成部、乗算部）、９…制御回路、Ｓｍ…モード信号、ＲＡ…読出アドレス、Ｄｅ…エンベロープデータ（制御データ）、Ｄｉｎ…入力データ、Ｄｘ…上位ビットデータ、Ｄｙ…下位ビットデータ、Ｄｇ…利得データ、Ｄｇ’…補間利得データ、Ｄｏｕｔ…出力データ。
【図１】
0003591451.tif 000002
【図２】
0003591451.tif 000003
【図３】
0003591451.tif 000004
【図４】
0003591451.tif 000005
【図５】
0003591451.tif 000006
【図６】
0003591451.tif 000007
【図７】
0003591451.tif 000008
【図８】
0003591451.tif 000009
【図９】
0003591451.tif 000010
【図１０】
0003591451.tif 000011
【図１１】
0003591451.tif 000012
【図１２】
0003591451.tif 000013
【図１３】
0003591451.tif 000014
【図１４】
0003591451.tif 000015