JP3591451B2 - Data processing device and data processing method - Google Patents

Data processing device and data processing method Download PDF

Info

Publication number
JP3591451B2
JP3591451B2 JP2000353415A JP2000353415A JP3591451B2 JP 3591451 B2 JP3591451 B2 JP 3591451B2 JP 2000353415 A JP2000353415 A JP 2000353415A JP 2000353415 A JP2000353415 A JP 2000353415A JP 3591451 B2 JP3591451 B2 JP 3591451B2
Authority
JP
Japan
Prior art keywords
data
gain
mode
input
read address
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.)
Expired - Fee Related
Application number
JP2000353415A
Other languages
Japanese (ja)
Other versions
JP2002158620A (en
Inventor
貴昭 牧野
祐治 池ヶ谷
繁樹 木村
和夫 中村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yamaha Corp
Original Assignee
Yamaha Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Yamaha Corp filed Critical Yamaha Corp
Priority to JP2000353415A priority Critical patent/JP3591451B2/en
Publication of JP2002158620A publication Critical patent/JP2002158620A/en
Application granted granted Critical
Publication of JP3591451B2 publication Critical patent/JP3591451B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Reverberation, Karaoke And Other Acoustics (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Transmission Systems Not Characterized By The Medium Used For Transmission (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、音声信号や楽音信号等のレベル値を非線形の利得特性に基づいて圧縮又は伸長するディジタルコンプレッサ/リミッタ及び音響信号効果装置(イフェクタ)等のデータ処理装置およびデータ処理方法に関する。
【0002】
【従来の技術】
従来より、放送設備の過変調を防止するために大振幅入力時にコンプレッサ(圧縮)処理を施したり、リミッタ処理するディジタルコンプレッサ/リミッタや、暗騒音下での音楽再生等において、小振幅信号をエキスパンダ(伸長)処理しつつ低レベル雑音を抑制するエキスパンダー/ノイズゲート等、入力信号レベルに応じた非線形の利得制御を行うデータ処理装置が知られている。図13は、この種のデータ処理装置の入出力特性の一例を示す図である。この図において、横軸は入力データ値の対数レベル、縦軸は系を通過した後の信号の対数レベルであり、点線は圧縮伸長を全く行わない場合の入出力関係直線である。また、図14は、同じく入力データ値に対する利得(乗算係数)を示したもので、同図(a)は対数利得、同図(b)はリニアな乗算係数として表わしたものである。
【0003】
この入出力特性では、入力のレベルに応じて系の利得が次のように変化する。(1)中間レベル(−24〜−84dB)の信号が入力された場合入出力利得を+12dBとして音量を増大させる。(2)高いレベル(−24dB以上)の信号が入力された場合伸張率1/2(圧縮率2)の圧縮動作に入り、大振幅でのクリップを防止する。(3)低いレベル(−84dB以下)の信号が入力された場合、伸長率2の伸長動作となるが、無信号時の低レベル雑音については抑圧する。
従来、このような非線形の利得特性を得るため、当該特性を利得データとしてメモリに予め記憶しておき、入力データの振幅レベルに応じて利得データをメモリから読み出し、読み出された利得データを入力データに乗算して出力データを生成することが行われていた。
【0004】
【発明が解決しようとする課題】
ところで、複数の入力データに各種の効果を付与してこれらを混合して出力するミキサー等のデータ処理装置にあっては、上述した手法で各入力データに効果を付与して得られた各データを混合して所望の出力データを生成することがある。
このようなデータ処理装置にあって、入力データに所望の利得特性を付与しようとすると、利得データのデータ量が増加し、メモリとして大容量のものを使用する必要がある。特に、複数の入力データに対して各々異なる利得特性を付与しようとすると、入力データの数が増える程、利得データのデータ量が増加する。一方、入力データの種類によって、利得特性の精度の要求度合が異なる場合もある。例えば、ミキサー内部で、入力段のコンプレッサよりもミキシング後のマスターレベルのコンプレッサの方を精度のよい利得特性を持つものにしたいとの要求などが考えられる。
【0005】
本発明は上述した点に鑑みてなされたものであり、その目的は、一定の記憶容量の下に、付与すべき利得特性の自由度を拡張し、データ処理装置の汎用性を高めることにある。
【0006】
【課題を解決するための手段】
上記課題を解決するため、請求項1に記載の発明にあっては、入力データに各種の利得特性を付与するデータ処理装置において、付与すべき利得特性の精度を示す処理モードに応じて定められた分離ビット数に従って、前記入力データに所定の処理を施して得た制御データから上位ビットデータを分離するデータ分離部と、前記処理モードに応じて、分割された各記憶領域に各利得データを予め記憶する記憶部と、前記上位ビットデータに前記処理モードに応じた処理を施して読出アドレスを生成する読出アドレス生成部と、前記読出アドレスに基づいて前記記憶部から読み出した利得データに基づいて、前記入力データに利得処理を施して出力データを生成するデータ生成部とを備えることを特徴とする。
【0007】
また、請求項2に記載の発明にあっては、前記入力データに基づいて入力信号の振幅を検出して振幅データを生成する振幅データ生成部を備え、前記振幅データが前記制御データとして与えられることを特徴とする。
また、請求項3に記載の発明にあっては、前記各利得データは、異なる利得特性を指示することを特徴とする。
【0008】
また、請求項4に記載の発明にあっては、前記データ分離部は、前記制御データを前記上位ビットデータと下位ビットデータに分離し、前記データ生成部は、前記記憶部から読み出した利得データに、前記下位ビットデータに基づいて補間処理を施して補間利得データを生成する補間部と、前記補間利得データと前記入力データとを乗算して前記出力データを生成する乗算部とを備えることを特徴とする。
【0009】
また、請求項5に記載の発明にあっては、前記読出アドレス生成部は、前記処理モードに応じて各記憶領域を指示するアドレスを生成し、当該アドレスと前記上位ビットデータとを組み合わせて前記読出アドレスを生成することを特徴とする。
また、請求項6に記載の発明にあっては、書き換え可能な記憶部に記憶された利得データに基づいて、入力データに各種の利得特性を付与するデータ処理方法において、付与すべき利得特性の精度を示す処理モードに応じて前記記憶部の記憶領域を分割し、分割された各記憶領域に各利得データを記憶し、前記処理モードに応じて定められた分離ビット数に従って、前記制御データから上位ビットデータを分離し、前記上位ビットデータに前記処理モードに応じた処理を施して読出アドレスを生成し、前記読出アドレスに基づいて前記記憶部から読み出した利得データに基づいて、前記入力データに利得処理を施して出力データを生成することを特徴とする。
【0010】
【発明の実施の形態】
<1.実施形態の構成>
<1−1:データ処理装置の概要>
以下、添付の図面を参照してこの発明の実施形態について説明する。図1はこの発明の一実施形態に係るデータ処理装置の主要構成を示すブロック図である。この装置は、絶対値生成回路1、対数変換回路2、ピークホールド/時間減衰回路3、データ分離回路4、ゲインテーブル5、データ補間回路6、対数逆変換回路7、乗算回路8および制御回路9を備えている。
【0011】
この装置の入力データDinは、2の補数コード、32ビットのパラレル形式のデータ列であり、基準クロック信号CKrefに同期して供給されるようになっている。基準クロック信号CKrefは図示せぬクロック信号発生回路から供給される。また、その周波数は、音楽信号のサンプリング周波数をfsとしたとき256fsとなるように設定されている。この装置は、1サンプリング期間あたり最大256個の入力データDinを処理することが可能である。
【0012】
また、この装置では、複数種類の精度で利得特性を付与できるようになっている。以下の説明では、それらの態様をモードと称する。モードは制御回路9によって自動的に設定されたり、あるいは操作者の指示入力によって設定される。制御回路9では、モード信号Smや各種の制御信号を生成する。モード信号Smは、モードを指示するとともに後述するRAM52を構成する各ページを指定する。なお、ページとはゲインテーブル5を構成するRAM52を分割して得られる各記憶領域の単位である。ここで、モードの数は任意であるが、この例では、第1モードから第3モードまでが用意されているものとする。第1モードにおける利得特性の精度は低く、第2モードの精度は普通であり、第3モードの精度は高くなるように設定されている。
【0013】
また、モード信号Smは4ビットのデータである。モード信号Smの上位2ビットは、モードを指示するものであり、そのデータ値が“00”のとき第1モードを、そのデータ値が“01”のとき第2モードを、そのデータ値が“10”のとき第3モードを各々指示する。一方、モード信号Smの下位2ビットは、RAM52のページを指示する。後述するようにRAM52はモードに応じて分割して使用される。第1モードでは分割されたページ数は4であり、第2モードでは分割されたページ数は2、第3モードでは分割されずRAM52全体を1ページとして使用する(図8参照)。
【0014】
まず、モード信号Smの上位2ビットが“00”の場合(第1モード)には、その下位2ビットが“00”のとき第1ページを、その下位2ビットが“01”のとき第2ページを、その下位2ビットが“10”のとき第3ページを、その下位2ビットが“11”のとき第4ページを各々指示する。次に、モード信号Smの上位2ビットが“01”の場合(第2モード)には、その下位2ビットが“00”のとき第1ページを、その下位2ビットが“01”のとき第2ページを各々指示する。次に、モード信号Smの上位2ビットが“10”の場合(第3モード)には、その下位2ビットは一義的に“00”となりRAM52全体を1ページとして指定する。
【0015】
図2は、入力データDinとモード信号Smとの関係の一例を示すタイミングチャートである。この図に示すように各データD1、D2、…、D256とモード信号Sm1〜Sm256は、基準クロック信号CKrefに同期している。また、データD1に対応するモード信号Sm1は“0001”となっている。この場合、モード信号Sm1の上位2ビットは“00”であるからデータD1は第1モードに従って処理され、その下位2ビットは“01”であるから第2ページが指定されることになる。
【0016】
<1−2:制御回路>
まず、制御回路9は、データ処理装置全体を制御する各種の制御信号を生成するものである。図3は、制御回路9の主要部を示すブロック図である。この図に示すように、制御回路9は、プログラムRAM90とアドレスカウンタ91とを備えている。プログラムRAM90はアドレス0からアドレス255で指定される256個の記憶領域を有しており、各記憶領域にモード信号Sm、ホールド時間T1を指示するホールドデータHD、第1減衰率R1を指示する第1減衰率データGDx、第2減衰率R2を指示する第2減衰率データGDy、および減衰切換レベルL1を指示するレベル切換データLDの組が記憶されている。なお、ホールド時間T1、第1減衰率R1、第2減衰率R2および減衰切換レベルL1は、後述するピークホールド/時間減衰回路3において入力データDinに付与される特性のパラメータであり、それらの詳細については後述する。
【0017】
これらのデータは、外部から供給されるようになっており、ミキサーに当該データ処理装置を組み込んで使用する場合には、ミキサー全体を制御するCPUからこれらのデータがロードされるようになっている。例えば、使用者がミキサーの操作子を操作すると、CPUはこれを検知して操作量に応じてデータ値を変更したデータの組を生成し、プログラムRAM90にロードする。したがって、入力データDinに付与する特性のパラメータは動的に変更することが可能である。
【0018】
また、プログラムRAM90に記憶されたデータの組は、アドレスカウンタ91のカウント値に従って読み出されるようになっている。アドレスカウンタ91は、8ビットのリングカウンタで構成されており、基準クロック信号CKrefをカウントしてアドレスを生成する。このため、プロクラムRAM90に記憶されたデータの組はアドレス0から順次読み出される。そして、アドレス255のデータの組が読み出された後は、アドレス0に戻りデータの組を読み出し、これを繰り返すことになる。上述したように基準クロック信号CKrefの周波数は256fsであるから、1サンプリング期間の入力データDinを構成する各データD1〜D256の各々に対して個別の処理を施すことが可能となる。
【0019】
<1−3:絶対値生成回路>
次に、絶対値生成回路1は、入力データDinの絶対値を生成する。図4は、絶対値生成回路の一構成例を示すブロック図である。この図に示すように絶対値生成回路1は、32ビットの入力データDin のうちの最上位ビット(MSB)B31と他の各ビットB0 〜B30との排他的論理和を出力する31個のEX−ORゲート1000 〜1030を備えており、入力データDinが正の値である場合[MSB(B63)=0の場合]には、B62〜B0 をそのまま出力し、入力データDinが負の値である場合[MSB(B31)=1の場合]には、B30〜B0を反転させて出力し、さらににMSB(Q31)を0に固定することにより、32ビットの絶対値データDzを生成する。
【0020】
<1−4:対数変換回路>
次に、図1に示す対数変換回路2は、セレクタとORゲートとを組み合わせた周知回路によって構成されており、32ビットのリニアの絶対値データDzを12ビットの瞬時対数データDLに変換する。対数変換回路2は、データのビット幅を圧縮して後段のピークホールド/時間減衰回路3、ゲインテーブル5およびデータ補間回路6等の回路規模を縮小するとともにそれらの演算時間を短縮するために用いられる。
【0021】
<1−5:ピークホールド/時間減衰回路>
次に、12ビットの瞬時対数データDLは、ピークホールド/時間減衰回路3に入力される。ピークホールド/時間減衰回路3は、入力される瞬時対数データDLに対して、ピーク保持と時間的減衰処理を施すことにより、概略的な対数エンベロープを求め、12ビットのエンベロープデータDe(振幅データ)として出力する回路である。
【0022】
この回路では、図9(c)に示すピークホールド/時間減衰された近似的な対数エンベロープが求められる。同図における「追従区間」は入力されるサンプル値のレベルの増大に伴ってエンベロープデータが増加する区間である。「ホールド区間」は信号のサンプル値は減少又は低い値をとるが、エンベロープデータは以前の値を保持し続ける区間である。この時間は、制御回路9から与えられるパラメータ(ホールドタイムT1)によって決められる。「ホールド区間」においては、入力が新たに保持レベルを超えない限りエンベロープデータが更新されないので、正弦波の谷の部分等がマスクされる。また、入力が新たに保持レベルを超えると、エンベロープデータが更新され、そこから再度「ホールド区間」が始まる。したがって、上述の「追従区間」は、出力データの更新が1サンプル毎に行われている区間であるともいえる。
【0023】
「ホールド区間」が終了すると、「自動減衰区間」に入る。ここでは、この区間を「自動減衰区間1」と「自動減衰区間2」の2つの区間に分けている。両者は対数レベルコードが外部から与えられるパラメータ(減衰切換レベルL1)より大か小かで分けられ、それぞれの区間で異なる減衰率R1,R2を持つ。これらの減衰率R1,R2は制御回路9から与えられるパラメータである。このように、瞬時対数データの正確なエンベロープではなく、減衰時定数等が調整された信号を使用することにより、コンプレッサ/リミッタにおける、いわゆる息継ぎ現象(信号の変動に応じて小刻みに雑音や背景音のレベルが変動し、息継ぎをするように感じられる不快な現象)を効果的に抑制することができる。適切な「ホールド区間」を持つことは、「息継ぎ現象」の防止に有効であり、信号レベルに応じて減衰率を切換えるのは、高い信号レベルでの圧縮動作と低い信号レベルでの伸長動作とで聴感上適切な減衰率が異なるためである。
【0024】
図5は、ピークホールド/時間減衰回路3の具体的な構成例を示すブロック図である。瞬時対数データDLは、ダウンカウンタ31に入力されると共に、コンパレータ32に入力される。ダウンカウンタ31は、新規入力された入力データが現在の出力データを超えたことを示すコンパレータ32の出力に基づいて、ANDゲート33を通過するクロックCK1に同期して入力データをロードする。入力データが出力データよりも小さいときは、コンパレータ32の出力が0となるので、ダウンカウンタ31にはピーク値がホールドされたままとなり、入力データは何の影響も与えない。
【0025】
一方、ダウンカウンタ31に新しい入力データがロードされるのと同時にダウンカウンタ34にも予め設定されたホールド時間T1がロードされる。ダウンカウンタ34は、クロックCK2によりダウンカウントし、ホールド時間T1だけカウントしたら出力Zを1にする。これにより、ANDゲート35を介してクロックCK2がダウンカウンタ31のクロックとして入力される1つの条件が成立する。Z出力は、ダウンカウンタ31が新規入力で更新されてからホールドタイムT1だけカウントダウンを禁止するための信号である。
【0026】
クロックCK2がダウンカウンタ31に入力されるもうひとつの条件は、分周器38の出力である。即ち、ダウンカウンタ31の出力は、コンパレータ36において、減衰切換レベルL1と比較される。その比較出力は、セレクタ37の切換入力信号SBとなる。セレクタ37は、切換入力信号SBが0(出力>L1)のときに減衰率R1を選択出力し、切換入力信号SBが1(出力<L1)のときに減衰率R2を選択出力する。セレクタ37の出力は、プログラマブル分周器38の分周数Nとして供給される。分周器38は、クロックCK2をN分周し、Nクロック周期のクロックをCに出力する。したがって、ANDゲート35からは、減衰率R1又はR2で決定される周期のパルスがダウンカウンタ31に与えられ、ダウンカウンタ31のダウンカウント速度が2段階に変化するようになっている。そして、ダウンカウンタ31の出力データが12ビットのエンベロープデータDeとしてデータ分離回路4に出力される。
【0027】
エンベロープデータDeは入力データDinの振幅レベルを示すものであるが、これに基づいて、最終的には入力データDinに付与する利得特性が制御されることになる。この意味において、エンベロープデータDeは利得特性を制御するための制御データとして機能する。
【0028】
<1−6:データ分離回路>
次に、図1に示すデータ分離回路4は、モード信号Smに基づいて、12ビットのエンベロープデータDeを上位ビットデータDxと下位ビットデータDyとに分離する。
【0029】
具体的には、エンベロープデータDeの最上位ビットMSBから何ビット目で上位と下位とを分離するかを定めた分離ビット数が、モード信号Smのデータ値に応じて予め定められており、データ分離回路4はこれに従って動作する。
【0030】
図6は、本実施形態におけるモードに応じた分離態様の一例を示す図である。例えば、モード信号Smの上位2ビットのデータ値が“00”で第1モードの場合には、同図(a)に示すように、エンベロープデータDeの最上位ビットMSBから4ビット目までが上位ビットデータDxとなり、残りの8ビットが下位ビットデータDyになる。また、モード信号Smの上位2ビットのデータ値が“01”で第2モードの場合には、同図(b)に示すように、エンベロープデータDeの最上位ビットMSBから5ビット目までが上位ビットデータDxになり、残りの7ビットが下位ビットデータDyになる。さらに、モード信号Smの上位2ビットのデータ値が“10”で第3モードの場合には、同図(c)に示すように、エンベロープデータDeの最上位ビットMSBから6ビット目までが上位ビットデータDxになり、残りの6ビットが下位ビットデータDyになる。
【0031】
<1−7:ゲインテーブル>
次に、ゲインテーブル5について説明する。図7は、ゲインテーブル5の詳細な構成を示すブロック図である。この図に示すようにゲインテーブル5は、読出アドレス生成回路51およびRAM52を備えている。
【0032】
まず、読出アドレス生成回路51は、4〜6ビットの上位ビットデータDxとモード信号Smとに基づいて、6ビットの読出アドレスRAを生成する。なお、後述するデータ補間回路6は連続する2つの利得データDgと下位ビットデータDyに基づいて直線補間を実行するので、読出アドレス生成回路51は、1個の上位ビットデータDxに対して2個の読出アドレスRAを生成するようになっている。以下の説明では、上位ビットデータDxから直接生成される読出アドレスRAを第1読出アドレスRAxと、これを“1”だけインクリメントして得られるアドレスを第2読出アドレスRAyと称することにする。但し、第1読出アドレスRAxが最大値のときは、インクリメントは行わずRAx=RAyとする。
【0033】
読出アドレス回路51は、具体的に以下の手順で第1読出アドレスRAxを生成する。第1にモード信号Smの上位2ビットに基づいてモードを特定する。第2に特定されたモードに基づいてモード信号Smの最下位ビットから所定数のビットを分離する。第1モードでは下位2ビット、第2モードにあっては下位1ビット、第3モードでは分離を行わない。第3に分離されたビットと上位ビットデータDxとを組み合わせて第1読出アドレスRAxを生成する。第1モードでは分離された下位2ビットと4ビットの上位ビットデータDxとを組み合わせて第1読出アドレスRAxを生成し、第2モードでは分離された下位1ビットと5ビットの上位ビットデータDxとを組み合わせて第1読出アドレスRAxを生成し、第3モードでは6ビットの上位ビットデータDxをそのまま第1読出アドレスRAxとして用いる。
【0034】
次に、RAM52は、1ワードが32ビットで64ワードの記憶容量を有するデュアルポート型の記憶装置であって、データの書き込みと読み出しを同時に実行することが可能である。RAM52は、ライトイネーブル信号WEがアクティブのときRAM52の書き込みが可能となり、ライトアドレスWAによって指定される記憶領域に利得データDgを書き込む。そして、リードイネーブル信号REがアクティブのとき読み出しが可能となる。利得データDgや信号WE、WAおよびREは制御回路9から供給されるようになっている。したがって、必要に応じてRAM52の記憶内容は書き換えることが可能であり、例えば、このデータ処理装置をミキサーに組み込んで使用する場合には、使用者が操作子を操作すると、上述したようにパラメータの変更が行われるが、これと連動してRAM52の記憶内容を更新することも可能である。
【0035】
また、RAM52には、1ワードが32ビットの利得データDgが記憶され、必要に応じて読み出されるようになっている。エンベロープデータDeのビット数は12ビットであるから、RAM52の記憶容量は、本来、4096ワード必要となる。しかしながら、本実施形態では、後述するデータ補間回路6を用いて補間処理を行うため、その記憶容量は大幅に圧縮されている。
【0036】
さらに、RAM52の記憶領域はモードに応じて分割して使用される。図8は、モードと記憶領域の分割の関係を示す概念図である。第1モードにあっては、同図(a)に示すようにRAM52の記憶領域は16ワード毎に4分割され、記憶領域52A(第1ページ)に第1利得データDgaが、記憶領域52B(第2ページ)に第2利得データDgbが、記憶領域52C(第3ページ)に第3利得データDgcが、記憶領域52D(第4ページ)に第4利得データDgdが書き込まれるようになっている。第1〜第4利得データDga〜Dgdは各々16個のデータから構成されている。RAM52には64ワードの利得データDgが記憶されるから、ある利得データDgを指定して読み出すためには6ビットの読出アドレスRAが必要となる。第1モードの読出アドレスRAのうち、上位2ビットはページ番号を指定する一方、下位4ビットはページ内のアドレスを指定する。
【0037】
次に、第2モードにあっては、同図(b)に示すようにRAM52の記憶領域は2分割され、記憶領域52Aおよび52Bに第5利得データDgeが、記憶領域52Cおよび52Dに第6利得データDgfが書き込まれる。第5利得データDgeと第6利得データDgfは、各々32個のデータから構成されている。第2モードの読出アドレスRAのうち、上位1ビットはページ番号を指定する一方、下位5ビットはページ内のアドレスを指定する。
次に、第3モードにあっては、同図(c)に示すようにRAM52の記憶領域は分割されず、記憶領域52A〜52Dに第7利得データDggが書き込まれる。第7利得データDggは、64個のデータから構成されている。
【0038】
ここで、第1〜第7利得データDga〜Dggの各ワード数は、第1〜第4利得データDga〜Dgdが各16ワードであり、第5および第6利得データDge,Dgfが各32ワードであり、第7利得データDggが64ワードになっている。すなわち、第1モード、第2モード、第3モードの順に、付与すべき利得特性の精度が向上する一方、処理可能な音楽データの数が減少する。
【0039】
付与すべき利得特性の精度は、高精度のものが要求されることもあれば、精度がそれ程要求されないこともある。この例では、モードに応じてRAM52の記憶領域を分割する態様を変更したので、精度がさほど要求されないときにはRAM52の分割数を増やして、そこに複数種類の利得データDgを記憶することができる一方、精度が要求される場合にはRAM52の分割数を減らしてデータ容量の大きい利得データDgを記憶することができる。
【0040】
以上の構成において、入力データDinに利得特性を付与する際には、まず、制御回路9がモードに応じた利得データDgと書込アドレスWAを生成して、ゲインテーブル5に供給する。すると、利得データDgが書込アドレスWAに従ってRAM52の所定の記憶領域に書き込まれ、必要に応じて利得データDgが読み出されることになる。
【0041】
<1−8:データ補間回路>
次に、図1に示すデータ補間回路6は、ゲインテーブル5から読み出される連続した2個の利得データDgと下位ビットデータDyとに基づいて、直線補間を施して補間利得データDg’を生成する。
例えば、第1モードの場合(下位ビットデータDyが8ビット)において、読み出された2個の利得データDgの値がX(n),X(n+1)であり、下位ビットデータDyの値がY、補間利得データDg’の値がGとすれば、データ補間回路6は、以下に示す式を計算して補間利得データDg’を生成する。
G=X(n)+(X(n+1)−X(n))・Y/2
但し、Nは下位ビットデータDyのビット数であり、第1モードではN=8(2=256)である。また、Nはモードに応じて定まるので、データ補間回路6は、モード信号Smのデータ値に応じてNを設定するようになっている。
このデータ補間回路6によって利得データDgのデータ補間を行うので、上述したRAM52の記憶容量を大幅に削減することができる。
【0042】
<1−9:対数逆変換回路および乗算回路>
次に、対数逆変換回路7は、対数変換回路と相補的な関係にあり、32ビットの補間利得データDg’を対数表現からリニア表現へ変換して32ビットのリニア利得データDGを生成する。
次に、乗算回路8は、入力データDinとリニア利得データDGとを乗算して出力データDoutを生成する。
【0043】
<2.実施形態の動作>
次に、データ処理装置の動作について説明する。まず、制御回路9においてモードが特定されると、ゲインテーブル5にモードに応じた利得データDgが書き込まれる。ここで、特定されたモードが第3モードであるとすれば、利得特性付与処理におけるデータ処理装置の各部の波形は、例えば、図9に示すものとなる。なお、この図においては、各部のデータ値をアナログ信号のレベルに置き換えて表現してある。
【0044】
同図(a)に示す入力データDin(アナログ信号として図示)が絶対値生成回路1に供給されると、絶対値生成回路1は同図(b)に示す絶対値データDzを生成する。これにより、アナログ的には両波整流が行われることになる。
この後、ピークホールド/時間減衰回路3が絶対値データDzに基づいて、同図(c)に示すエンベロープデータDeを生成すると、データ分離回路4によってエンベロープデータDeが上位ビットデータDxと下位ビットデータDyに分離される。この例のモード種別は第3モードであるから、上位ビットデータDxと下位ビットデータDyのビット数はともに6ビットである。
この場合、読出アドレス生成回路51は、エンベロープデータDeの1単位時間中(1/256fs)に、まず、上位ビットデータDxを第1読出アドレスRAxとして生成し、次に、上位ビットデータDxを“1”だけインクリメントしたデータを第2読出アドレスRAyとして生成する。これにより、RAM52からは2個の利得データDgが読み出されることになる。同図(d)に示したものは、最初に読み出される利得データDgである。
【0045】
この後、データ補間回路6が2個の利得データDgと下位ビットデータDyに基づいて補間処理を行って、補間利得データDg’を生成すると、対数逆変換回路7が補間利得データDg’をリニア表現に変換してリニア利得データDGを生成する。そして、乗算回路8においてリニア利得データDGと入力データDinとが乗算されることによって、入力データDinに利得特性が付与され、同図(e)に図示する出力データDoutが得られる。
【0046】
図10は、データ処理装置の各部の動作を示すタイミングチャートである。なお、この図において各部の動作遅延時間は無視してある。同図(a)に示すようにあるサンプリング期間において、256個の音楽データD1〜D256が入力データDinとしてデータ処理装置に供給されると、ピークホールド/時間減衰回路3は、各音楽データD1〜D256に対応して同図(b)に示すように各エンベロープデータDe1〜De256を生成する。
【0047】
次に、データ分離回路4は、モード信号Smが指示するモード種別に応じて、定められるビット数に従って、各エンベロープデータDe1〜De256のうち最上位ビットから所定ビットを各々抽出し、同図(c)に示す上位ビットデータDx1〜Dx256を生成する。例えば、モード信号Smの上位2ビットのデータ値が“00”であって第1モードを指示する場合には、上位4ビットを抽出して、上位ビットデータDx1〜Dx256を生成する。また、モード信号Smの上位2ビットのデータ値が“01”であって第2モードを指示する場合には上位5ビットが、モード信号Smの上位2ビットのデータ値が“10”であって第3モードを指示する場合には上位6ビットが抽出される。このようにして抽出された上位ビットデータDx1〜Dx256は、RAM52の各ページにおけるページ内アドレスに対応している。換言すれば、モードに応じてエンベロープデータDe1〜De256から抽出する上位ビットのビット数を定めている。
【0048】
次に、読出アドレス生成回路51は、同図(d)に示すように、基準クロック信号CKrefの1周期毎に、モード信号Smの下位ビットを抽出してページアドレスPA1〜PA256を生成する。各ページアドレスPA1〜PA256は記憶領域52A〜52Dの種別を指示するアドレスである。例えば、当該期間中は第1モードであり、モード信号Smの下位2ビットが、期間T1で“00”、期間T2で“01”、期間T3で“10”、期間T4で“11”といったように変化するならば、期間T1で第1ページ(記憶領域52A)、期間T2で第2ページ(記憶領域52B)、期間T3で第3ページ(記憶領域52C)、期間T4で第4ページ(記憶領域52D)が指定されることになる。
また、当該期間中は第2モードであり、モード信号Smの下位2ビットが、期間T1およびT2で“00”、期間T3およびT4で“01”といったように変化するならば、期間T1およびT2で第1ページ(記憶領域52Aおよび52B)、期間T3およびT4で第2ページ(記憶領域52Cおよび52D)が指定されることになる。
さらに、当該期間中が第3モードであるならば、モード信号Smの下位2ビットは一義的に“00”となる。この場合は、記憶領域52A〜52Dを1ページとして取り扱うので、ページアドレスPA1〜PA256の生成は行われない。
【0049】
次に、読出アドレス生成回路51は、ページアドレスPA1〜PA256と上位ビットデータDx1〜Dx256とを各々組み合わせて、第1読出アドレスRAx1〜RAx256を生成する。
例えば、第1モードにおいて、期間T3におけるページアドレスPA3が“10”であり、上位ビットデータDx3が“0000”であるとすれば、第1読出アドレスRAxは“100000”となる。これにより、第1モードにおける第3ページ(記憶領域52C)の先頭に記憶されているデータが指定される。第1モードでは、RAM52を4分割して、各ページに異なる種類の利得データDgを格納できるので、複数種類の利得特性を付与できるといった利点がある。
【0050】
また、第2モードにおいて、期間T4におけるページアドレスPA4が“1”であり、上位ビットデータDx4が“10000”であるとすれば、第1読出アドレスRAxは“110000”となる。これにより、第2モードにおける第2ページ後半(記憶領域52D)の先頭に記憶されているデータが指定される。第2モードにあってはRAM52の分割数が2であり、分割数が4である第1モードと比較して利得データDgの種類が少なくなる。しかしながら、1ページ当たりのワード数は32であり、1ページ当たり16ワードの第1モードと比較して利得精度を向上させることが可能である。
【0051】
さらに、第3モードにおいて、期間T1における上位ビットデータDx1が“000000”であるとすれば、第1読出アドレスRAxは“000000”となる。これにより、記憶領域52Aの先頭に記憶されているデータが指定される。第3モードにあっては、RAM52を分割して使用しないので、読出アドレス生成回路51は、6ビットの上位ビットデータDxをそのまま第1読出アドレスRAxとして使用する。第3モードにあっては、単一の利得特性しか付与することができないが、1ページ当たり64ワードを使用することが可能となるので、利得精度をより一層向上させることが可能となる。
【0052】
次に、アドレス生成回路51は、第1読出アドレスRAx1〜RAx256を“1”だけインクリメントして第2読出アドレスRAy1〜RAy256を生成する。なお、RAxとRAyの生成タイミングは、同図(e)に示すように、まず、基準クロック信号CKrefがHレベルの期間において第1読出アドレスRAx1〜RAx256が生成され、次に、基準クロック信号CKrefがLレベルの期間において第2読出アドレスRAy1〜RAy256が生成されるようになっている。
【0053】
第1および第2読出アドレスRAx,RAyがRAM52に供給されると、同図(f)に示すように2個で1組の利得データDgx1,Dgy1〜Dgx256,Dgy256がRAM52から読み出される。
この後、データ補間回路6は、2個の利得データDgx1,Dgy1〜Dgx256,Dgy256と同図(g)に示す下位ビットデータDy1〜Dy256とに基づいて補間処理を行い、同図(h)に示す補間利得データDg1’〜Dg256’を生成する。そして、これらの結果に基づいて、乗算回路8が入力データDinに利得特性を付与することによって、同図(i)に示す出力データDout1〜Dout256が生成される。
【0054】
このように本実施形態にあっては、モードに応じてRAM52を適宜分割して精度の異なる利得データDgを記憶する一方、エンベロープデータDeからモードに応じて定めた上位ビットを分離し、これに基づいてRAM52をアクセスする読出アドレスRAを生成するようにした。したがって、このデータ処理装置によれば、付与すべき利得特性の精度が低くてもよい場合には利得データDgの種類を増加させる一方、必要に応じて利得特性を高い精度で付与することもできる。この結果、データ処理装置の汎用性を高めることができる。
【0055】
さらに、利得データDgと下位ビットデータDyに基づいて補間処理を行うので、RAM52の記憶容量を削減することができる。くわえて、対数変換回路2と対数逆変換回路7を用いて、データのビット数を減らしているので、RAM52の記憶容量を削減するとともに、データ補間回路6の演算時間を短縮することができる。
【0056】
<3.変形例>
以上、本発明に係わる実施形態を説明したが、本発明は上述した実施形態に限定されるものではなく、以下に述べる各種の変形が可能である。
(1)上述した実施形態では、入力データDinより生成されたエンベロープデータDeに基づいて、利得特性の制御を行ったが、本発明はこれに限定されるものではなく、外部から与えられる信号より生成されたエンベロープデータDeに基づいて、利得制御を行ってもよいことは勿論である。
【0057】
(2)上述した実施形態では、入力データDinとして音楽データを想定したが、本発明はこれに限定されるものではなく、画像データにワイプやクロマキーといった各種の効果を付与するデータ処理装置であってもよい。
【0058】
(3)上述した実施形態では、RAM52の記憶領域を均等に分割したが、本発明はこれに限定されるものではなく、不均等に分割してもよいことは勿論である。例えば、図11(a)に示すように記憶領域52Aと52Bに16ワードの第1利得データDgaと第2利得データDgbを記憶し、記憶領域52Cおよび52Dに32ワードの第5利得データDgeを記憶するようにしてもよい。また、同図(b)に示すようにRAM52の替わりに128ワードのRAM52’を用いて、記憶領域52A〜52DにはRAM52と同様の利得データDgを記憶する一方、記憶領域52E〜52Hには64ワードの第7利得データDggを記憶するようにしてもよい。
要は、処理モードに応じてRAM52の記憶領域を分割し、各記憶領域に所望の利得データを予め記憶する一方、必要に応じて変換される当該処理モードに応じて、エンベロープデータDeから上位ビットデータDxを生成し、上位ビットデータDxにモードに応じた処理を施して読出アドレスRAを生成するのであれば、どのような構成であってもよい。
【0059】
さらに、入力データDinの処理中にRAM52の記憶内容を更新するようにしてもよい。例えば、ある期間中において第1モードが指定され、入力データDinを構成する各データD1〜D256に対して第1ページから第4ページを順次指定しこれを繰り返す場合には、当該期間において第1利得データDga〜第4利得データDgdを順次使用するため、図8(a)に示すように各ページ(記憶領域52A〜52D)に第1利得データDga〜第4利得データDgdを記憶しておく必要があるが、次のサンプリング期間において、そのサンプリング期間の前半において第1モードを指定して第1利得データDgaと第2利得データDgbを使用し、後半期間において第2モードを指定し第5利得データDgeを使用する場合には、図12に示すようにRAM52の記憶内容を更新してもよい。この場合、基準クロックCKrefの1周期を1単位時間tとしたとき、前半期間Taと後半期間Tbは128単位時間128tで構成される。この前半期間Taでは記憶領域52Cおよび52Dからデータが読み出されることがないので、前半期間Taのうち32単位時間32tを用いて、RAM52の記憶領域52Cおよび52Dの記憶内容を、第3利得データDgcおよび第4利得データDgdから第5利得データDgeに書き換える。これによって、後半期間Tbの開始時点において、第5利得データDgeを使用することが可能となる。
【0060】
したがって、本発明によれば、入力データDinを連続して処理している期間中にRAM52に記憶されている利得データDgを書き換えることができる。これにより、少ないRAM52の記憶容量を効率的に活用して、精度や種別の異なる各種の利得データを使用することが可能となるので、データ処理装置の汎用性をより一層高めることができる。
くわえて、入力データDinを連続して処理している期間中に利得データDgの更新を行わないのであれば、RAM52としてデュアルポート型のものを用いる必要はなくシングルポート型のものを用いればよいことは勿論である。
【0061】
【発明の効果】
上述したように本発明に係る発明特定事項によれば、処理モードに応じて記憶部の記憶領域を分割し、各記憶領域に利得データを記憶する一方、制御データの上位ビットを分離し、これに基づいて記憶部をアクセスするようにしたので、記憶領域を無駄なく活用することができ、データ処理装置の汎用性を大幅に向上させることができる。
【図面の簡単な説明】
【図1】この発明の一実施形態に係るデータ処理装置のブロック図である。
【図2】同装置における入力データとモード信号との関係の一例を示すタイミングチャートである。
【図3】同装置における制御回路の主要構成を示すブロック図である。
【図4】同装置における絶対値生成回路の一構成例を示すブロック図である。
【図5】同装置におけるピークホールド/時間減衰回路の具体的な構成例を示すブロック図である。
【図6】同装置のデータ分離回路におけるモードに応じた分離態様の一例を示す図である。
【図7】同装置のゲインテーブルの詳細な構成を示すブロック図である。
【図8】同テーブルにおけるモードと記憶領域の分割の関係を示す概念図である。
【図9】同装置の全体動作を示す波形図である。
【図10】同装置の各部の動作を示すタイミングチャートである。
【図11】変形例におけるRAMにおいて記憶領域の分割の様子を示す概念図である。
【図12】変形例におけるRAMにおいて記憶内容の更新動作を示すタイミングチャートである。
【図13】非線形な利得特性を持つ場合の入出力特性の一例を示す特性図である。
【図14】同入出力特性を得るための利得特性を示す特性図である。
【符号の説明】
1…絶対値生成回路、2…対数変換回路、3…ピークホールド/時間減衰回路、4…データ分離回路(データ分離部)、5…ゲインテーブル、51…読出アドレス生成回路(読出アドレス生成部)、52…RAM(記憶部)、6…データ補間回路(データ生成部、補間部)、8…乗算回路(データ生成部、乗算部)、9…制御回路、Sm…モード信号、RA…読出アドレス、De…エンベロープデータ(制御データ)、Din…入力データ、Dx…上位ビットデータ、Dy…下位ビットデータ、Dg…利得データ、Dg’…補間利得データ、Dout…出力データ。
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a data processing device and a data processing method such as a digital compressor / limiter and an audio signal effect device (effector) for compressing or expanding a level value of an audio signal or a tone signal based on a non-linear gain characteristic.
[0002]
[Prior art]
Conventionally, compressor (compression) processing is performed when large amplitude is input to prevent overmodulation of broadcasting equipment, and small amplitude signals are extracted in digital compressors / limiters that perform limiter processing and music playback under background noise. 2. Description of the Related Art A data processing device that performs non-linear gain control according to an input signal level, such as an expander / noise gate that suppresses low-level noise while performing panda (expansion) processing, is known. FIG. 13 shows an example of input / output characteristics of this type of data processing device. In this figure, the horizontal axis is the logarithmic level of the input data value, the vertical axis is the logarithmic level of the signal after passing through the system, and the dotted line is the input / output relationship line when no compression / decompression is performed. FIG. 14 also shows the gain (multiplication coefficient) with respect to the input data value. FIG. 14 (a) shows the logarithmic gain and FIG. 14 (b) shows the linear multiplication coefficient.
[0003]
With this input / output characteristic, the gain of the system changes as follows according to the level of the input. (1) When a signal of an intermediate level (−24 to −84 dB) is input, the input / output gain is set to +12 dB to increase the volume. (2) When a signal of a high level (−24 dB or more) is input, a compression operation with an expansion rate of ((compression rate of 2) is started to prevent clipping with a large amplitude. (3) When a low-level signal (−84 dB or less) is input, the expansion operation is performed at an expansion rate of 2, but low-level noise when there is no signal is suppressed.
Conventionally, in order to obtain such non-linear gain characteristics, the characteristics are previously stored in a memory as gain data, the gain data is read from the memory in accordance with the amplitude level of the input data, and the read gain data is input. Multiplying data to generate output data has been performed.
[0004]
[Problems to be solved by the invention]
By the way, in a data processing device such as a mixer that applies various effects to a plurality of input data and mixes and outputs them, each data obtained by applying an effect to each input data by the above-described method is used. May be mixed to generate desired output data.
In such a data processing apparatus, if an attempt is made to provide desired gain characteristics to input data, the amount of gain data increases, and it is necessary to use a large-capacity memory. In particular, when trying to give different gain characteristics to a plurality of input data, the amount of gain data increases as the number of input data increases. On the other hand, depending on the type of input data, the required degree of gain characteristic accuracy may be different. For example, it is conceivable that the master-level compressor after mixing has a more accurate gain characteristic than the input-stage compressor inside the mixer.
[0005]
The present invention has been made in view of the above points, and an object of the present invention is to expand the degree of freedom of gain characteristics to be provided and increase the versatility of a data processing device under a fixed storage capacity. .
[0006]
[Means for Solving the Problems]
In order to solve the above problem, according to the invention described in claim 1, in a data processing device for giving various gain characteristics to input data, the data processing device is determined according to a processing mode indicating the accuracy of gain characteristics to be given. A data separation unit that separates higher-order bit data from control data obtained by performing predetermined processing on the input data according to the number of separated bits, and stores each gain data in each of the divided storage areas according to the processing mode. A storage unit for storing in advance, a read address generation unit for performing a process according to the processing mode on the upper bit data to generate a read address, and a gain address read from the storage unit based on the read address. And a data generator for performing a gain process on the input data to generate output data.
[0007]
According to the second aspect of the present invention, there is provided an amplitude data generating section for detecting an amplitude of an input signal based on the input data and generating amplitude data, and the amplitude data is given as the control data. It is characterized by the following.
In the invention according to claim 3, each of the gain data indicates a different gain characteristic.
[0008]
Further, in the invention according to claim 4, the data separation section separates the control data into the upper bit data and the lower bit data, and the data generation section reads the gain data read from the storage section. An interpolation unit that performs interpolation processing based on the lower-order bit data to generate interpolation gain data; anda multiplication unit that generates the output data by multiplying the interpolation gain data by the input data. Features.
[0009]
Further, in the invention according to claim 5, the read address generation unit generates an address indicating each storage area according to the processing mode, and combines the address with the upper bit data to generate the address. A read address is generated.
According to the invention described in claim 6, in a data processing method for assigning various gain characteristics to input data based on gain data stored in a rewritable storage unit, a gain characteristic to be assigned is provided. The storage area of the storage unit is divided according to a processing mode indicating accuracy, each gain data is stored in each divided storage area, and according to the number of separation bits determined according to the processing mode, from the control data. The upper bit data is separated, a read address is generated by performing processing according to the processing mode on the upper bit data, and based on the gain data read from the storage unit based on the read address, the input data is The output data is generated by performing a gain process.
[0010]
BEST MODE FOR CARRYING OUT THE INVENTION
<1. Configuration of Embodiment>
<1-1: Overview of data processing device>
Hereinafter, embodiments of the present invention will be described with reference to the accompanying drawings. FIG. 1 is a block diagram showing a main configuration of a data processing device according to one embodiment of the present invention. This device includes an absolute value generation circuit 1, a logarithmic conversion circuit 2, a peak hold / time attenuation circuit 3, a data separation circuit 4, a gain table 5, a data interpolation circuit 6, a logarithmic inverse conversion circuit 7, a multiplication circuit 8, and a control circuit 9 It has.
[0011]
The input data Din of this device is a data string of a two's complement code and a 32-bit parallel format, and is supplied in synchronization with the reference clock signal CKref. The reference clock signal CKref is supplied from a clock signal generation circuit (not shown). The frequency is set to 256 fs when the sampling frequency of the music signal is fs. This device can process a maximum of 256 input data Din per sampling period.
[0012]
Further, in this device, gain characteristics can be given with a plurality of types of accuracy. In the following description, those modes are referred to as modes. The mode is automatically set by the control circuit 9 or set by an operator's instruction input. The control circuit 9 generates the mode signal Sm and various control signals. The mode signal Sm indicates the mode and specifies each page constituting the RAM 52 described later. Note that a page is a unit of each storage area obtained by dividing the RAM 52 constituting the gain table 5. Here, the number of modes is arbitrary, but in this example, it is assumed that the first mode to the third mode are prepared. The accuracy of the gain characteristic in the first mode is set to be low, the accuracy of the second mode is normal, and the accuracy of the third mode is set to be high.
[0013]
The mode signal Sm is 4-bit data. The upper two bits of the mode signal Sm indicate the mode. When the data value is "00", the first mode is set. When the data value is "01", the second mode is set. At 10 ", the third mode is designated. On the other hand, the lower two bits of the mode signal Sm indicate a page of the RAM 52. As described later, the RAM 52 is divided and used according to the mode. The number of divided pages is 4 in the first mode, the number of divided pages is 2 in the second mode, and the entire RAM 52 is used as one page without division in the third mode (see FIG. 8).
[0014]
First, when the upper two bits of the mode signal Sm are “00” (first mode), the first page is set when the lower two bits are “00”, and the second page is set when the lower two bits are “01”. The page indicates the third page when the lower two bits are "10", and the fourth page when the lower two bits are "11". Next, when the upper two bits of the mode signal Sm are “01” (second mode), the first page is set when the lower two bits are “00”, and the first page is set when the lower two bits are “01”. Specify each of the two pages. Next, when the upper two bits of the mode signal Sm are “10” (third mode), the lower two bits are uniquely “00”, and the entire RAM 52 is designated as one page.
[0015]
FIG. 2 is a timing chart showing an example of the relationship between the input data Din and the mode signal Sm. As shown in this figure, the data D1, D2,..., D256 and the mode signals Sm1 to Sm256 are synchronized with the reference clock signal CKref. The mode signal Sm1 corresponding to the data D1 is "0001". In this case, since the upper two bits of the mode signal Sm1 are "00", the data D1 is processed according to the first mode, and the lower two bits are "01", so that the second page is designated.
[0016]
<1-2: Control circuit>
First, the control circuit 9 generates various control signals for controlling the entire data processing device. FIG. 3 is a block diagram illustrating a main part of the control circuit 9. As shown in the figure, the control circuit 9 includes a program RAM 90 and an address counter 91. The program RAM 90 has 256 storage areas designated by addresses 0 to 255. Each of the storage areas has a mode signal Sm, a hold data HD for designating a hold time T1, and a second data for designating a first decay rate R1. A set of one attenuation rate data GDx, second attenuation rate data GDy indicating the second attenuation rate R2, and level switching data LD indicating the attenuation switching level L1 is stored. The hold time T1, the first decay rate R1, the second decay rate R2, and the decay switching level L1 are parameters of characteristics given to the input data Din in the peak hold / time decay circuit 3, which will be described later. Will be described later.
[0017]
These data are supplied from the outside, and when the data processing device is incorporated in a mixer and used, these data are loaded from a CPU that controls the entire mixer. . For example, when the user operates the operator of the mixer, the CPU detects this and generates a data set whose data value is changed according to the operation amount, and loads the data set into the program RAM 90. Therefore, the parameter of the characteristic given to the input data Din can be dynamically changed.
[0018]
The data set stored in the program RAM 90 is read according to the count value of the address counter 91. The address counter 91 is constituted by an 8-bit ring counter, and generates an address by counting the reference clock signal CKref. Therefore, the data sets stored in the program RAM 90 are sequentially read from address 0. Then, after the data set at the address 255 is read, returning to the address 0, the data set is read, and this is repeated. As described above, since the frequency of the reference clock signal CKref is 256 fs, it is possible to perform individual processing on each of the data D1 to D256 constituting the input data Din for one sampling period.
[0019]
<1-3: Absolute value generation circuit>
Next, the absolute value generation circuit 1 generates an absolute value of the input data Din. FIG. 4 is a block diagram illustrating a configuration example of the absolute value generation circuit. As shown in this drawing, the absolute value generation circuit 1 outputs 31 exclusive ORs of the most significant bit (MSB) B31 of the 32-bit input data Din and the other bits B0 to B30. If the input data Din is a positive value [if MSB (B63) = 0], B62 to B0 are output as they are, and the input data Din is a negative value. In a certain case [when MSB (B31) = 1], B30 to B0 are inverted and output, and MSB (Q31) is fixed to 0, thereby generating 32-bit absolute value data Dz.
[0020]
<1-4: Logarithmic conversion circuit>
Next, the logarithmic conversion circuit 2 shown in FIG. 1 is configured by a well-known circuit combining a selector and an OR gate, and converts 32-bit linear absolute value data Dz to 12-bit instantaneous logarithmic data DL. The logarithmic conversion circuit 2 is used for compressing the bit width of the data to reduce the circuit scale of the subsequent-stage peak hold / time attenuating circuit 3, gain table 5, data interpolation circuit 6, and the like, and to shorten the operation time thereof. Can be
[0021]
<1-5: Peak hold / time attenuation circuit>
Next, the 12-bit instantaneous logarithmic data DL is input to the peak hold / time attenuation circuit 3. The peak hold / time attenuating circuit 3 obtains a rough logarithmic envelope by subjecting the input instantaneous logarithmic data DL to peak holding and temporal attenuation processing, and obtains 12-bit envelope data De (amplitude data). Output.
[0022]
In this circuit, an approximate logarithmic envelope with peak hold / time attenuation shown in FIG. 9C is obtained. The “follow-up section” in the figure is a section where the envelope data increases as the level of the input sample value increases. The “hold section” is a section where the sample value of the signal decreases or takes a low value, but the envelope data keeps the previous value. This time is determined by a parameter (hold time T1) provided from the control circuit 9. In the “hold section”, since the envelope data is not updated unless the input newly exceeds the hold level, the valleys of the sine wave are masked. When the input newly exceeds the hold level, the envelope data is updated, and the “hold section” starts again from that point. Therefore, it can be said that the “follow-up section” is a section in which the output data is updated for each sample.
[0023]
When the “hold section” ends, the operation enters the “automatic decay section”. Here, this section is divided into two sections, “automatic decay section 1” and “automatic decay section 2”. Both are divided depending on whether the log level code is larger or smaller than a parameter (attenuation switching level L1) provided from the outside, and have different attenuation rates R1 and R2 in each section. These attenuation rates R1 and R2 are parameters provided from the control circuit 9. As described above, by using a signal in which the attenuation time constant and the like are adjusted instead of the accurate envelope of the instantaneous logarithmic data, a so-called breathing phenomenon in the compressor / limiter (noise or background sound in small increments according to signal fluctuations). (The unpleasant phenomenon of fluctuating the level of breathing and feeling breathing) can be effectively suppressed. Having an appropriate “hold section” is effective in preventing “breathing phenomena”, and switching the attenuation rate according to the signal level involves compression operation at a high signal level and expansion operation at a low signal level. This is because the appropriate attenuation rate differs in terms of hearing.
[0024]
FIG. 5 is a block diagram showing a specific configuration example of the peak hold / time attenuating circuit 3. The instantaneous log data DL is input to the down counter 31 and also to the comparator 32. The down counter 31 loads the input data in synchronization with the clock CK1 passing through the AND gate 33 based on the output of the comparator 32 indicating that the newly input data has exceeded the current output data. When the input data is smaller than the output data, the output of the comparator 32 becomes 0, so that the peak value is held in the down counter 31 and the input data has no effect.
[0025]
On the other hand, at the same time that the down counter 31 is loaded with new input data, the down counter 34 is also loaded with the preset hold time T1. The down counter 34 counts down by the clock CK2, and sets the output Z to 1 after counting down for the hold time T1. Thereby, one condition that the clock CK2 is input as the clock of the down counter 31 via the AND gate 35 is satisfied. The Z output is a signal for inhibiting countdown by the hold time T1 after the down counter 31 is updated with a new input.
[0026]
Another condition that the clock CK2 is input to the down counter 31 is an output of the frequency divider 38. That is, the output of the down counter 31 is compared with the attenuation switching level L1 in the comparator 36. The comparison output becomes the switching input signal SB of the selector 37. The selector 37 selectively outputs the attenuation rate R1 when the switching input signal SB is 0 (output> L1), and selectively outputs the attenuation rate R2 when the switching input signal SB is 1 (output <L1). The output of the selector 37 is supplied as the frequency division number N of the programmable frequency divider 38. The frequency divider 38 divides the frequency of the clock CK2 by N and outputs a clock having an N clock cycle to C. Therefore, a pulse having a cycle determined by the decay rate R1 or R2 is supplied from the AND gate 35 to the down counter 31, and the down counter speed of the down counter 31 changes in two stages. Then, the output data of the down counter 31 is output to the data separation circuit 4 as 12-bit envelope data De.
[0027]
The envelope data De indicates the amplitude level of the input data Din. Based on this, the gain characteristic finally given to the input data Din is controlled. In this sense, the envelope data De functions as control data for controlling the gain characteristics.
[0028]
<1-6: Data separation circuit>
Next, the data separation circuit 4 shown in FIG. 1 separates the 12-bit envelope data De into upper bit data Dx and lower bit data Dy based on the mode signal Sm.
[0029]
More specifically, the number of bits for separating the upper and lower bits from the most significant bit MSB of the envelope data De is predetermined according to the data value of the mode signal Sm. The separation circuit 4 operates according to this.
[0030]
FIG. 6 is a diagram illustrating an example of a separation mode according to a mode in the present embodiment. For example, when the data value of the upper two bits of the mode signal Sm is “00” and the first mode, as shown in FIG. 11A, the uppermost bit MSB to the fourth bit of the envelope data De are higher. Bit data Dx, and the remaining 8 bits become lower bit data Dy. When the data value of the upper two bits of the mode signal Sm is "01" and the mode is the second mode, as shown in FIG. 3B, the uppermost bit MSB to the fifth bit of the envelope data De are higher. Bit data Dx, and the remaining 7 bits become lower bit data Dy. Further, when the data value of the upper two bits of the mode signal Sm is "10" and the mode is the third mode, as shown in FIG. 3C, the uppermost bits MSB to the sixth bit of the envelope data De are higher. The bit data becomes Dx, and the remaining 6 bits become lower bit data Dy.
[0031]
<1-7: Gain table>
Next, the gain table 5 will be described. FIG. 7 is a block diagram showing a detailed configuration of the gain table 5. As shown in this figure, the gain table 5 includes a read address generation circuit 51 and a RAM 52.
[0032]
First, the read address generation circuit 51 generates a 6-bit read address RA based on the upper bit data Dx of 4 to 6 bits and the mode signal Sm. Since the data interpolation circuit 6 described later performs linear interpolation based on two consecutive gain data Dg and lower bit data Dy, the read address generation circuit 51 performs two interpolations for one upper bit data Dx. Is generated. In the following description, the read address RA directly generated from the upper bit data Dx is referred to as a first read address RAx, and an address obtained by incrementing the read address RA by "1" is referred to as a second read address RAy. However, when the first read address RAx is the maximum value, the increment is not performed and RAx = RAy.
[0033]
The read address circuit 51 generates the first read address RAx according to the following procedure. First, the mode is specified based on the upper two bits of the mode signal Sm. Second, a predetermined number of bits are separated from the least significant bit of the mode signal Sm based on the specified mode. In the first mode, the lower two bits, in the second mode, the lower one bit, and in the third mode, no separation is performed. The first read address RAx is generated by combining the third separated bit and the upper bit data Dx. In the first mode, a first read address RAx is generated by combining the separated lower 2 bits and 4-bit upper bit data Dx, and in the second mode, the separated lower 1 bit and 5-bit upper bit data Dx are combined. To generate the first read address RAx, and in the third mode, the 6-bit upper bit data Dx is used as it is as the first read address RAx.
[0034]
Next, the RAM 52 is a dual-port type storage device in which one word is 32 bits and has a storage capacity of 64 words, and can simultaneously execute writing and reading of data. When the write enable signal WE is active, the RAM 52 can write to the RAM 52, and writes the gain data Dg to the storage area specified by the write address WA. Then, when the read enable signal RE is active, reading becomes possible. The gain data Dg and the signals WE, WA and RE are supplied from the control circuit 9. Therefore, the storage contents of the RAM 52 can be rewritten as needed. For example, when the data processing device is incorporated in a mixer and used, when the user operates the operating element, the parameters are changed as described above. Although the change is performed, the content stored in the RAM 52 can be updated in conjunction with the change.
[0035]
The RAM 52 stores gain data Dg in which one word is composed of 32 bits, and is read as needed. Since the number of bits of the envelope data De is 12 bits, the storage capacity of the RAM 52 originally requires 4096 words. However, in the present embodiment, since the interpolation process is performed using the data interpolation circuit 6 described later, the storage capacity is greatly reduced.
[0036]
Further, the storage area of the RAM 52 is divided and used according to the mode. FIG. 8 is a conceptual diagram showing the relationship between the mode and the division of the storage area. In the first mode, the storage area of the RAM 52 is divided into four every 16 words, and the first gain data Dga is stored in the storage area 52A (first page) as shown in FIG. The second gain data Dgb is written in the second page, the third gain data Dgc is written in the storage area 52C (third page), and the fourth gain data Dgd is written in the storage area 52D (fourth page). . Each of the first to fourth gain data Dga to Dgd is composed of 16 data. Since 64 words of gain data Dg are stored in the RAM 52, a 6-bit read address RA is required to specify and read certain gain data Dg. In the read address RA of the first mode, the upper two bits specify the page number, while the lower four bits specify the address in the page.
[0037]
Next, in the second mode, the storage area of the RAM 52 is divided into two as shown in FIG. 4B, the fifth gain data Dge is stored in the storage areas 52A and 52B, and the sixth gain data is stored in the storage areas 52C and 52D. Gain data Dgf is written. The fifth gain data Dge and the sixth gain data Dgf are each composed of 32 data. In the read address RA of the second mode, the upper one bit specifies the page number, while the lower five bits specify the address in the page.
Next, in the third mode, the storage area of the RAM 52 is not divided as shown in FIG. 9C, and the seventh gain data Dgg is written to the storage areas 52A to 52D. The seventh gain data Dgg is composed of 64 data.
[0038]
Here, the number of words of the first to seventh gain data Dga to Dgg is such that the first to fourth gain data Dga to Dgd are each 16 words, and the fifth and sixth gain data Dge and Dgf are each 32 words. And the seventh gain data Dgg is 64 words. That is, in the order of the first mode, the second mode, and the third mode, the accuracy of the gain characteristic to be provided is improved, while the number of processable music data is reduced.
[0039]
The accuracy of the gain characteristic to be given may be required to be high, or may not be required to be very accurate. In this example, the manner in which the storage area of the RAM 52 is divided according to the mode is changed. Therefore, when accuracy is not so much required, the number of divisions of the RAM 52 can be increased to store a plurality of types of gain data Dg. When accuracy is required, the number of divisions of the RAM 52 can be reduced to store gain data Dg having a large data capacity.
[0040]
In the above configuration, when giving the gain characteristic to the input data Din, first, the control circuit 9 generates the gain data Dg and the write address WA corresponding to the mode, and supplies them to the gain table 5. Then, the gain data Dg is written into a predetermined storage area of the RAM 52 according to the write address WA, and the gain data Dg is read as needed.
[0041]
<1-8: Data interpolation circuit>
Next, the data interpolation circuit 6 shown in FIG. 1 performs linear interpolation based on two consecutive gain data Dg and lower-order bit data Dy read from the gain table 5 to generate interpolation gain data Dg ′. .
For example, in the case of the first mode (the lower bit data Dy is 8 bits), the values of the two read gain data Dg are X (n) and X (n + 1), and the value of the lower bit data Dy is If Y and the value of the interpolation gain data Dg 'are G, the data interpolation circuit 6 calculates the following equation to generate the interpolation gain data Dg'.
G = X (n) + (X (n + 1) -X (n)). Y / 2N
Here, N is the number of bits of the lower bit data Dy, and N = 8 (2N= 256). Since N is determined according to the mode, the data interpolation circuit 6 sets N according to the data value of the mode signal Sm.
Since the data interpolation circuit 6 performs data interpolation of the gain data Dg, the storage capacity of the RAM 52 can be significantly reduced.
[0042]
<1-9: Inverse logarithmic conversion circuit and multiplication circuit>
Next, the inverse logarithmic conversion circuit 7 has a complementary relationship with the logarithmic conversion circuit, and converts 32-bit interpolation gain data Dg 'from logarithmic expression to linear expression to generate 32-bit linear gain data DG.
Next, the multiplication circuit 8 multiplies the input data Din by the linear gain data DG to generate output data Dout.
[0043]
<2. Operation of Embodiment>
Next, the operation of the data processing device will be described. First, when the mode is specified in the control circuit 9, the gain data Dg corresponding to the mode is written in the gain table 5. Here, assuming that the specified mode is the third mode, the waveform of each unit of the data processing device in the gain characteristic providing process is, for example, as shown in FIG. Note that, in this figure, the data values of the respective parts are represented by replacing them with the levels of analog signals.
[0044]
When the input data Din (shown as an analog signal) shown in FIG. 7A is supplied to the absolute value generation circuit 1, the absolute value generation circuit 1 generates the absolute value data Dz shown in FIG. As a result, double-wave rectification is performed in an analog manner.
Thereafter, when the peak hold / time attenuating circuit 3 generates the envelope data De shown in FIG. 3C based on the absolute value data Dz, the data separating circuit 4 converts the envelope data De into the upper bit data Dx and the lower bit data Dx. Dy. Since the mode type in this example is the third mode, the number of bits of both the upper bit data Dx and the lower bit data Dy is 6 bits.
In this case, the read address generation circuit 51 first generates the upper bit data Dx as the first read address RAx during one unit time (1/256 fs) of the envelope data De, and then sets the upper bit data Dx to “ The data incremented by 1 "is generated as the second read address RAy. As a result, two pieces of gain data Dg are read from the RAM 52. FIG. 6D shows the gain data Dg that is read first.
[0045]
Thereafter, when the data interpolation circuit 6 performs an interpolation process based on the two pieces of gain data Dg and the lower bit data Dy to generate interpolation gain data Dg ′, the inverse logarithmic conversion circuit 7 converts the interpolation gain data Dg ′ into linear data. This is converted into an expression to generate linear gain data DG. Then, by multiplying the linear gain data DG by the input data Din in the multiplication circuit 8, a gain characteristic is given to the input data Din, and the output data Dout shown in FIG.
[0046]
FIG. 10 is a timing chart showing the operation of each unit of the data processing device. In this figure, the operation delay time of each unit is ignored. When 256 pieces of music data D1 to D256 are supplied to the data processing device as input data Din during a certain sampling period as shown in FIG. 7A, the peak hold / time attenuating circuit 3 sets each of the music data D1 to D256. Each of the envelope data De1 to De256 is generated as shown in FIG.
[0047]
Next, the data separation circuit 4 extracts predetermined bits from the most significant bits of each of the envelope data De1 to De256 according to the number of bits determined according to the mode type indicated by the mode signal Sm, and FIG. ) Are generated as upper bit data Dx1 to Dx256. For example, when the data value of the upper 2 bits of the mode signal Sm is “00” and indicates the first mode, the upper 4 bits are extracted and the upper bit data Dx1 to Dx256 are generated. When the data value of the upper 2 bits of the mode signal Sm is “01” and the second mode is indicated, the data value of the upper 5 bits of the mode signal Sm is “10” and the data value of the upper 2 bits of the mode signal Sm is “10”. When designating the third mode, the upper 6 bits are extracted. The upper bit data Dx1 to Dx256 extracted in this way correspond to the in-page address in each page of the RAM 52. In other words, the number of upper bits extracted from the envelope data De1 to De256 is determined according to the mode.
[0048]
Next, the read address generation circuit 51 extracts the lower bits of the mode signal Sm for each cycle of the reference clock signal CKref and generates the page addresses PA1 to PA256, as shown in FIG. Each of the page addresses PA1 to PA256 is an address indicating the type of the storage area 52A to 52D. For example, the period is the first mode, and the lower two bits of the mode signal Sm are “00” in the period T1, “01” in the period T2, “10” in the period T3, and “11” in the period T4. , The first page (storage area 52A) in the period T1, the second page (storage area 52B) in the period T2, the third page (storage area 52C) in the period T3, and the fourth page (storage area) in the period T4. The area 52D) will be designated.
Also, the period is the second mode, and if the lower two bits of the mode signal Sm change such as “00” in the periods T1 and T2 and “01” in the periods T3 and T4, the periods T1 and T2 Specifies the first page (storage areas 52A and 52B) and the second page (storage areas 52C and 52D) during periods T3 and T4.
Furthermore, if the third mode is performed during the period, the lower two bits of the mode signal Sm are uniquely “00”. In this case, since the storage areas 52A to 52D are handled as one page, the page addresses PA1 to PA256 are not generated.
[0049]
Next, the read address generation circuit 51 generates the first read addresses RAx1 to RAx256 by combining the page addresses PA1 to PA256 and the upper bit data Dx1 to Dx256, respectively.
For example, in the first mode, assuming that the page address PA3 in the period T3 is "10" and the upper bit data Dx3 is "0000", the first read address RAx becomes "100000". As a result, the data stored at the top of the third page (storage area 52C) in the first mode is specified. In the first mode, since the RAM 52 can be divided into four and different types of gain data Dg can be stored in each page, there is an advantage that a plurality of types of gain characteristics can be provided.
[0050]
In the second mode, if the page address PA4 in the period T4 is “1” and the upper bit data Dx4 is “10000”, the first read address RAx becomes “110000”. As a result, the data stored at the beginning of the second half of the second page (storage area 52D) in the second mode is specified. In the second mode, the number of divisions of the RAM 52 is two, and the type of the gain data Dg is smaller than in the first mode in which the number of divisions is four. However, the number of words per page is 32, and it is possible to improve the gain accuracy compared to the first mode of 16 words per page.
[0051]
Furthermore, in the third mode, if the upper bit data Dx1 in the period T1 is “000000”, the first read address RAx becomes “000000”. Thereby, the data stored at the head of the storage area 52A is specified. In the third mode, since the RAM 52 is not divided and used, the read address generating circuit 51 uses the 6-bit upper bit data Dx as it is as the first read address RAx. In the third mode, only a single gain characteristic can be provided, but since 64 words can be used per page, the gain accuracy can be further improved.
[0052]
Next, the address generation circuit 51 generates the second read addresses RAy1 to RAy256 by incrementing the first read addresses RAx1 to RAx256 by “1”. The generation timings of RAx and RAy are, as shown in FIG. 4E, first, the first read addresses RAx1 to RAx256 are generated while the reference clock signal CKref is at the H level, and then the reference clock signal CKref is generated. Are at the L level, the second read addresses RAy1 to RAy256 are generated.
[0053]
When the first and second read addresses RAx and RAy are supplied to the RAM 52, two sets of gain data Dgx1, Dgy1 to Dgx256 and Dgy256 are read from the RAM 52 as shown in FIG.
Thereafter, the data interpolation circuit 6 performs an interpolation process based on the two gain data Dgx1, Dgy1 to Dgx256, Dgy256 and the lower bit data Dy1 to Dy256 shown in FIG. Interpolation gain data Dg1 ′ to Dg256 ′ shown in FIG. Then, based on these results, the multiplying circuit 8 gives a gain characteristic to the input data Din, thereby generating output data Dout1 to Dout256 shown in FIG.
[0054]
As described above, in the present embodiment, the RAM 52 is appropriately divided according to the mode to store the gain data Dg having different precisions, while separating the upper bits determined according to the mode from the envelope data De, and A read address RA for accessing the RAM 52 is generated based on the read address RA. Therefore, according to this data processing device, when the accuracy of the gain characteristic to be provided may be low, the type of the gain data Dg can be increased, and the gain characteristic can be provided with high accuracy as needed. . As a result, the versatility of the data processing device can be improved.
[0055]
Furthermore, since the interpolation processing is performed based on the gain data Dg and the lower-order bit data Dy, the storage capacity of the RAM 52 can be reduced. In addition, since the number of data bits is reduced by using the logarithmic conversion circuit 2 and the logarithmic inverse conversion circuit 7, the storage capacity of the RAM 52 can be reduced and the operation time of the data interpolation circuit 6 can be reduced.
[0056]
<3. Modification>
The embodiment according to the present invention has been described above, but the present invention is not limited to the above-described embodiment, and various modifications described below are possible.
(1) In the above-described embodiment, the gain characteristic is controlled based on the envelope data De generated from the input data Din. However, the present invention is not limited to this. It goes without saying that gain control may be performed based on the generated envelope data De.
[0057]
(2) In the above-described embodiment, music data is assumed as the input data Din. However, the present invention is not limited to this, and is a data processing device that applies various effects such as wipe and chroma key to image data. You may.
[0058]
(3) In the above-described embodiment, the storage area of the RAM 52 is divided equally. However, the present invention is not limited to this, and may be divided unequally. For example, as shown in FIG. 11A, the first gain data Dga and the second gain data Dgb of 16 words are stored in the storage areas 52A and 52B, and the fifth gain data Dge of 32 words are stored in the storage areas 52C and 52D. You may make it memorize | store. Also, as shown in FIG. 3B, a 128-word RAM 52 'is used instead of the RAM 52, and the same gain data Dg as the RAM 52 is stored in the storage areas 52A to 52D, while the storage areas 52E to 52H are stored in the storage areas 52E to 52H. The seventh gain data Dgg of 64 words may be stored.
In short, the storage area of the RAM 52 is divided according to the processing mode, and the desired gain data is stored in advance in each storage area, while the higher-order bits are converted from the envelope data De according to the processing mode converted as necessary. Any configuration may be used as long as the data Dx is generated and the read address RA is generated by performing processing according to the mode on the upper bit data Dx.
[0059]
Further, the contents stored in the RAM 52 may be updated during the processing of the input data Din. For example, when the first mode is designated during a certain period, and the first to fourth pages are sequentially designated and repeated for each of the data D1 to D256 constituting the input data Din, the first mode is designated during the period. In order to sequentially use the gain data Dga to the fourth gain data Dgd, the first gain data Dga to the fourth gain data Dgd are stored in each page (storage areas 52A to 52D) as shown in FIG. Although it is necessary, in the next sampling period, the first mode is specified in the first half of the sampling period, the first gain data Dga and the second gain data Dgb are used, and the second mode is specified in the second half period. When the gain data Dge is used, the contents stored in the RAM 52 may be updated as shown in FIG. In this case, when one cycle of the reference clock CKref is set to one unit time t, the first half period Ta and the second half period Tb are configured by 128 unit times 128t. Since data is not read from the storage areas 52C and 52D in the first half period Ta, the storage contents of the storage areas 52C and 52D of the RAM 52 are stored in the third gain data Dgc using the 32 unit time 32t of the first half period Ta. And the fourth gain data Dgd is rewritten to the fifth gain data Dge. This makes it possible to use the fifth gain data Dge at the start of the second half period Tb.
[0060]
Therefore, according to the present invention, the gain data Dg stored in the RAM 52 can be rewritten while the input data Din is being continuously processed. As a result, it is possible to efficiently use the small storage capacity of the RAM 52 and use various types of gain data having different precisions and types, so that the versatility of the data processing device can be further enhanced.
In addition, if the gain data Dg is not updated during a period in which the input data Din is being continuously processed, it is not necessary to use a dual-port RAM as the RAM 52 and a single-port RAM may be used. Of course.
[0061]
【The invention's effect】
As described above, according to the present invention, the storage area of the storage unit is divided according to the processing mode, and while the gain data is stored in each storage area, the upper bits of the control data are separated. Since the storage unit is accessed based on the above, the storage area can be utilized without waste, and the versatility of the data processing device can be greatly improved.
[Brief description of the drawings]
FIG. 1 is a block diagram of a data processing device according to an embodiment of the present invention.
FIG. 2 is a timing chart showing an example of a relationship between input data and a mode signal in the device.
FIG. 3 is a block diagram showing a main configuration of a control circuit in the device.
FIG. 4 is a block diagram illustrating a configuration example of an absolute value generation circuit in the device.
FIG. 5 is a block diagram showing a specific configuration example of a peak hold / time attenuating circuit in the device.
FIG. 6 is a diagram showing an example of a separation mode according to a mode in a data separation circuit of the same device.
FIG. 7 is a block diagram showing a detailed configuration of a gain table of the device.
FIG. 8 is a conceptual diagram showing the relationship between modes and storage area division in the same table.
FIG. 9 is a waveform chart showing the overall operation of the device.
FIG. 10 is a timing chart showing the operation of each unit of the apparatus.
FIG. 11 is a conceptual diagram showing how a storage area is divided in a RAM according to a modification.
FIG. 12 is a timing chart showing an operation of updating stored contents in a RAM according to a modified example.
FIG. 13 is a characteristic diagram showing an example of input / output characteristics in the case of having a non-linear gain characteristic.
FIG. 14 is a characteristic diagram showing gain characteristics for obtaining the same input / output characteristics.
[Explanation of symbols]
DESCRIPTION OF SYMBOLS 1 ... Absolute value generation circuit, 2 ... Log conversion circuit, 3 ... Peak hold / time attenuation circuit, 4 ... Data separation circuit (data separation part), 5 ... Gain table, 51 ... Read address generation circuit (Read address generation part) , 52 RAM (storage section), 6 data interpolation circuit (data generation section, interpolation section), 8 multiplication circuit (data generation section, multiplication section), 9 control circuit, Sm mode signal, RA read address , De: envelope data (control data), Din: input data, Dx: upper bit data, Dy: lower bit data, Dg: gain data, Dg ': interpolation gain data, Dout: output data.

Claims (6)

入力データに各種の利得特性を付与するデータ処理装置において、
付与すべき利得特性の精度を示す処理モードに応じて定められた分離ビット数に従って、前記入力データに所定の処理を施して得た制御データから上位ビットデータを分離するデータ分離部と、
前記処理モードに応じて、分割された各記憶領域に各利得データを予め記憶する記憶部と、
前記上位ビットデータに前記処理モードに応じた処理を施して読出アドレスを生成する読出アドレス生成部と、
前記読出アドレスに基づいて前記記憶部から読み出した利得データに基づいて、前記入力データに利得処理を施して出力データを生成するデータ生成部と
を備えることを特徴とするデータ処理装置。
In a data processing device that gives various gain characteristics to input data,
According to the number of separation bits determined according to the processing mode indicating the accuracy of the gain characteristic to be provided, a data separation unit that separates higher-order bit data from control data obtained by performing predetermined processing on the input data,
A storage unit that stores in advance each gain data in each of the divided storage areas according to the processing mode,
A read address generation unit that performs a process according to the processing mode on the upper bit data to generate a read address;
A data processing device, comprising: a data generation unit that performs a gain process on the input data based on the gain data read from the storage unit based on the read address to generate output data.
前記入力データに基づいて入力信号の振幅を検出して振幅データを生成する振幅データ生成部を備え、前記振幅データが前記制御データとして与えられることを特徴とする請求項1に記載のデータ処理装置。2. The data processing apparatus according to claim 1, further comprising: an amplitude data generating unit configured to detect an amplitude of an input signal based on the input data and generate amplitude data, wherein the amplitude data is provided as the control data. . 前記各利得データは、異なる利得特性を指示することを特徴とする請求項1または2に記載のデータ処理装置。3. The data processing apparatus according to claim 1, wherein each of the gain data indicates a different gain characteristic. 前記データ分離部は、前記制御データを前記上位ビットデータと下位ビットデータに分離し、
前記データ生成部は、
前記記憶部から読み出した利得データに、前記下位ビットデータに基づいて補間処理を施して補間利得データを生成する補間部と、
前記補間利得データと前記入力データとを乗算して前記出力データを生成する乗算部と
を備えることを特徴とする請求項1または2に記載のデータ処理装置。
The data separation unit separates the control data into the upper bit data and the lower bit data,
The data generation unit includes:
An interpolation unit that performs an interpolation process on the gain data read from the storage unit based on the lower-order bit data to generate interpolation gain data,
The data processing device according to claim 1, further comprising a multiplication unit configured to generate the output data by multiplying the interpolation gain data by the input data.
前記読出アドレス生成部は、前記処理モードに応じて各記憶領域を指示するアドレスを生成し、当該アドレスと前記上位ビットデータとを組み合わせて前記読出アドレスを生成することを特徴とする請求項1または2に記載のデータ処理装置。2. The read address generation unit according to claim 1, wherein an address designating each storage area is generated according to the processing mode, and the read address is generated by combining the address and the upper bit data. 3. The data processing device according to 2. 書き換え可能な記憶部に記憶された利得データに基づいて、入力データに各種の利得特性を付与するデータ処理方法において、
付与すべき利得特性の精度を示す処理モードに応じて前記記憶部の記憶領域を分割し、分割された各記憶領域に各利得データを記憶し、
前記処理モードに応じて定められた分離ビット数に従って、前記制御データから上位ビットデータを分離し、
前記上位ビットデータに前記処理モードに応じた処理を施して読出アドレスを生成し、
前記読出アドレスに基づいて前記記憶部から読み出した利得データに基づいて、前記入力データに利得処理を施して出力データを生成する
ことを特徴とするデータ処理方法。
Based on the gain data stored in the rewritable storage unit, in the data processing method of giving various gain characteristics to the input data,
Dividing the storage area of the storage unit according to the processing mode indicating the accuracy of the gain characteristic to be given, storing each gain data in each divided storage area,
According to the number of separation bits determined according to the processing mode, upper bit data is separated from the control data,
Performing a process according to the processing mode on the upper bit data to generate a read address;
A data processing method comprising: performing gain processing on the input data based on gain data read from the storage unit based on the read address to generate output data.
JP2000353415A 2000-11-20 2000-11-20 Data processing device and data processing method Expired - Fee Related JP3591451B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000353415A JP3591451B2 (en) 2000-11-20 2000-11-20 Data processing device and data processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000353415A JP3591451B2 (en) 2000-11-20 2000-11-20 Data processing device and data processing method

Publications (2)

Publication Number Publication Date
JP2002158620A JP2002158620A (en) 2002-05-31
JP3591451B2 true JP3591451B2 (en) 2004-11-17

Family

ID=18826186

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000353415A Expired - Fee Related JP3591451B2 (en) 2000-11-20 2000-11-20 Data processing device and data processing method

Country Status (1)

Country Link
JP (1) JP3591451B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010171839A (en) * 2009-01-26 2010-08-05 Furuno Electric Co Ltd Wireless communication set
JP4811475B2 (en) * 2009-02-27 2011-11-09 ソニー株式会社 Recording apparatus, recording method, audio signal correction circuit, and program

Also Published As

Publication number Publication date
JP2002158620A (en) 2002-05-31

Similar Documents

Publication Publication Date Title
JP3293240B2 (en) Digital signal processor
JP2722907B2 (en) Waveform generator
CA1076400A (en) Digital generator for musical notes
US4700393A (en) Speech synthesizer with variable speed of speech
JP3591451B2 (en) Data processing device and data processing method
US5290965A (en) Asynchronous waveform generating device for use in an electronic musical instrument
US5886277A (en) Electronic musical instrument
JP3826870B2 (en) Compressed data structure, waveform generation device, and waveform storage device
JPH0145078B2 (en)
JP3137043B2 (en) Waveform memory tone generator and tone generator
JP3912304B2 (en) Compressed data structure, waveform generation device, and waveform storage device
JP2790160B2 (en) Waveform generation device and waveform storage device
JP2882464B2 (en) Waveform memory sound generator
JP2993344B2 (en) Waveform generation device, waveform storage device, waveform generation bubble, and waveform storage method
JP3148803B2 (en) Sound source device
JPS6212519B2 (en)
JPS6278599A (en) Musical tone signal generator
JP3112743B2 (en) Sound source device
JP3447715B2 (en) Musical sound generation device and musical sound generation method
JP3651675B2 (en) Electronic musical instruments
JP2956552B2 (en) Musical sound generating method and apparatus
JP2004212734A (en) Waveform data compressing method
JPH1152996A (en) Data compression device and data expansion device
JP2007286503A (en) Envelope generator
JP2001166777A (en) Sound source device

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040720

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040803

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040816

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313532

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20070903

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080903

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090903

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100903

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100903

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110903

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120903

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130903

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees