JP2007067578A - オーディオ信号処理装置及び方法 - Google Patents
オーディオ信号処理装置及び方法 Download PDFInfo
- Publication number
- JP2007067578A JP2007067578A JP2005248320A JP2005248320A JP2007067578A JP 2007067578 A JP2007067578 A JP 2007067578A JP 2005248320 A JP2005248320 A JP 2005248320A JP 2005248320 A JP2005248320 A JP 2005248320A JP 2007067578 A JP2007067578 A JP 2007067578A
- Authority
- JP
- Japan
- Prior art keywords
- phase
- filter
- audio signal
- output
- variable phase
- 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.)
- Withdrawn
Links
Images
Landscapes
- Circuit For Audible Band Transducer (AREA)
- Tone Control, Compression And Expansion, Limiting Amplitude (AREA)
- Control Of Amplification And Gain Control (AREA)
Abstract
【課題】 イコライザやエフェクタ等でブーストされた入力オーディオ信号の過大なクリップを瞬時に回避・低減する。
【解決手段】 イコライザやエフェクタ等のフィルタ112からのオーディオ信号が入力される可変移相器113は、入力信号の位相角度を制御信号に応じて変化させる。可変移相器113からの出力は、出力バッファ114に一時蓄積される。制御部115は、出力バッファ114に一時蓄積された出力にクリップがあるか否かを判定し、判定結果に応じて制御信号を出力して、可変移相器113の位相角度を制御する。出力バッファ114に一時蓄積される出力にクリップがなくなるまで、制御部115は可変移相器113の位相角度を可変制御する。
【選択図】 図1
【解決手段】 イコライザやエフェクタ等のフィルタ112からのオーディオ信号が入力される可変移相器113は、入力信号の位相角度を制御信号に応じて変化させる。可変移相器113からの出力は、出力バッファ114に一時蓄積される。制御部115は、出力バッファ114に一時蓄積された出力にクリップがあるか否かを判定し、判定結果に応じて制御信号を出力して、可変移相器113の位相角度を制御する。出力バッファ114に一時蓄積される出力にクリップがなくなるまで、制御部115は可変移相器113の位相角度を可変制御する。
【選択図】 図1
Description
本発明は、入力オーディオ信号のクリップを回避あるいは低減するオーディオ信号処理装置及び方法に関する。
一般的に、デジタルオーディオ信号に対し、イコライザ等のフィルタを使って特定帯域をブーストさせ再生させる場合において、ソースの信号波形によっては、D/A変換器の対応するビット数を超えてクリップする場合がある。従来において、このクリップに対しては、最大ビットの数値にあわせてクリップ箇所に対してリミッタ処理を行ったり、ダイナミクス制御(コンプレッサ)などを用いて、D/A変換器の入力とすること等が知られているが、いずれも、大きな音質劣化を伴うものであった。
従来技術として、特許文献1には、特性可変時に信号がクリップしないようにS/Nの悪化を抑制する技術が開示されている。
本発明は、このような従来の実情に鑑みて提案されたものであり、イコライザやエフェクタ等でブーストされたオーディオ信号の過大なクリップを瞬時に回避・低減し得るようなオーディオ信号処理装置及び方法を提供することを目的とする。
上述の課題を解決するために、本発明は、入力オーディオ信号の位相角度を制御信号に応じて変化させる可変移相部と、可変移相部からの出力にクリップがあるか否かを判定して判定結果に応じて上記可変移相部の位相角度を制御する上記制御信号を出力する制御部とを有することを特徴とする。
上記可変移相部は、入力信号の位相角度を90°変化させる移相フィルタと、この移相フィルタの遅延量に相当する時間だけ上記入力信号を遅延させる遅延手段と、これらの移相フィルタからの出力及び遅延手段からの出力に重み付けゲインを乗算する乗算手段とを有し、上記制御部からの制御信号により上記重み付けゲインを可変制御することが挙げられる。上記移相フィルタとして、シフト型のヒルベルト変換フィルタを用いることが好ましい。
本発明によれば、入力オーディオ信号にクリップが生ずる場合でも、位相角度を変化させることにより、波形全体の振幅を抑えることができ、入力信号の過大なクリップを瞬時に回避あるいは低減させることができる。
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。
図1は、本発明の実施の形態となるオーディオ信号処理装置の概略構成を示すブロック図である。この図1において、ソース(音源等)111からのオーディオ信号は、イコライザやエフェクタ等のフィルタ112に送られてフィルタ処理される。このフィルタ処理の際に、波形が例えば後段のD/A変換器116の許容可能なビット数(最大ビット数)を超えることがある。これは、いわゆる波形クリップとも称され、このクリップに対して、従来においては、上記最大ビット数に合わせてリミッタをかけたり、コンプレッサ処理(ダイナミクス制御)等を行っていたが、これらは音質劣化を伴うものとなっていた。
本発明の実施の形態では、フィルタ回路112からの出力オーディオ信号を、制御信号に応じて位相シフト量(回転位相角度)が変化する可変移相器113に送っており、可変移相器113からの出力を出力バッファ114に一時蓄え、上記クリップが生じているか否かを制御部115で判定しその判定結果に応じて可変移相器113の位相シフト量を制御することにより、上記クリップの発生を回避するようにしている。これは、クリップが発生しているオーディオ信号の位相をシフトさせると、信号中の各周波数成分のピークの分散等によりクリップが回避される点と、オーディオ信号の聴感特性とを考慮したものである。すなわち、人間の耳は左右の耳の位相差には敏感であるが、「位相差」を伴わない「オーディオ信号自体の位相変化」に対して耳は敏感でないことに着目し、位相制御を主としてクリップを回避させるようにしたものである。
出力バッファ114からの出力は、D/A変換器116によりアナログオーディオ信号に変換され、スピーカ117で電気信号から音響信号に変換される。この図1の例では、デジタルオーディオ信号を処理する信号処理装置を想定しており、ソース111はデジタル音源であり、フィルタ112や可変移相部113ではデジタル処理が行われ、出力バッファ114にはデジタルメモリ等が用いられるが、これらの全てあるいは一部をアナログ回路に置き換えてもよいことは勿論である。
可変移相器113は、各周波数成分のレベルを変えることなく位相のみを変更するものであり、いわゆるオールパスフィルタの一種である。この可変移相器113は、例えば、全ての周波数に亘ってあるいは必要とされる周波数帯域の範囲内で、任意の角度の位相遅れあるいは位相進みを持った(位相シフトされた)波形を作成する位相変換手段であり、さらに、制御端子に供給される制御信号に応じて上記位相シフトの量(位相の角度)が変化するように制御されるものである。この可変移相器113の具体例については後述する。
制御部115は、出力バッファ114に蓄えられたオーディオ信号の振幅あるいは波高値を検出することにより上記クリップが発生しているか否かを判定し、クリップ発生がなくなるように、可変移相器113の位相シフト量を変更する制御信号を出力して、可変移相器113の制御端子に送る。具体的には、例えば、制御部115がクリップありと判定した場合には、所定量の位相シフト量に制御する制御信号を可変移相器113に送り、可変移相器113では、制御部115からの制御信号に応じて、入力信号(フィルタ回路112からの出力オーディオ信号)の位相を上記所定量だけシフトさせ、位相シフトされた出力信号を出力バッファに送る。制御部115は、出力バッファ114に蓄えられた上記位相シフトされた出力信号の振幅あるいは波高値を検出することによりクリップが発生しているか否かを判定し、さらにクリップありと判定した場合は、上記位相シフト量を上記所定量からさらに変更するような制御信号を出力し、クリップなしと判定されるまでこれを繰り返す。この制御部115における動作の具体例については後述する。
ここで、クリップされた波形をD/A変換器116には一切送らないようにするためには、可変移相器113の入力側にバッファを設けておき、出力バッファ114に蓄えられるオーディオ信号にクリップが生じている間は、可変移相器113の入力側のバッファからのオーディオ信号を繰り返し用いて、位相シフトされたオーディオ信号を出力バッファ114に書き換える(上書きする)ようにし、出力バッファ114内のオーディオ信号にクリップがなくなった時点で、出力バッファ114からD/A変換器116にオーディオ信号を送るようにすればよい。
次に、図2は、本発明の実施の形態となるオーディオ信号処理装置の他の例を示し、この図2の例では、上記図1の可変移相器113に相当する可変移相器120として、入力信号に対して90°(90度)位相回転する移相フィルタとしてのシフト型ヒルベルト変換フィルタ処理を施した信号と、同フィルタ処理の遅延分に相当するディレイ処理を施した信号とを、適宜の成分比の組み合わせで出力することで、位相変換処理を行うような構成を用いている。
図2において、ソース(音源等)111からのオーディオ信号は、イコライザ等のフィルタ112を介して、可変移相器113に送られ、可変移相器113からの出力は、出力バッファ114を介し、D/A変換器116によりアナログオーディオ信号に変換され、スピーカ117にて音響信号として再生される。
可変移相器120は、入力信号(フィルタ112からの出力信号)が供給されるシフト型のヒルベルト変換フィルタ(以下、ヒルベルトフィルタともいう。)121と、ヒルベルトフィルタ121からの出力を一時蓄積するバッファ122と、バッファ122からの出力に重み付け(ゲイン制御)する乗算器123と、上記入力信号が供給されヒルベルトフィルタ121における信号遅延分に相当する遅延量の遅延回路124と、遅延回路124からの出力を一時蓄積するバッファ125と、バッファ125からの出力に重み付けする乗算器126とを有し、各乗算器123、126からの出力が出力バッファ114に送られて加算されることで、各乗算器123、126による各成分の重みの比率により決定される角度での位相シフトを実現している。
以下、可変移相器120に用いられるシフト型のヒルベルトフィルタ(ヒルベルト変換フィルタ)121について説明する。このフィルタは、90°の位相遅れをする操作をするFIR(有限インパルス応答)フィルタを意図している。具体的には、ヒルベルト変換のインパルス応答を元として用いる。
一般的にヒルベルト変換の伝達関数H(ω) は、次の式(1)のように表され、正の周波数領域においては周波数によらず90°(90度)遅延の特徴を持つものである。
また、この伝達関数H(ω) のインパルス応答h(t) は、h(t) =1/πt(直角双曲線)で表すことができる。
このインパルス応答をデジタル領域にて求めた例を、図3(A)〜(C)に示す。図3(A)は、1024個のサンプルからなるヒルベルト変換フィルタのインパルス応答を示し、図3(B)、(C)は、それぞれ図3(A)の先頭、終端部周辺を拡大して示したものである。なお厳密に言えば、有限のインパルス応答で作られているため、ヒルベルト変換フィルタのサンプリング周波数内での低域・高域の端側の振幅特性は落ちることになるが、これはソース(音源)が20Hz〜20kHzの可聴帯域をターゲットとした音楽信号であることを考えれば、例えばFs=48kHzやFs=44.1kHzなどで運用する場合は、全く問題がない。
次に、図3に示したインパルス応答のヒルベルトフィルタは、循環系でのフィルタであり、因果律を満たしていないため、サンプル内での循環シフトを行ったものを、「シフト型ヒルベルトフィルタ」として、FIR(Finite Impulse Response:有限インパルス応答)フィルタの係数とする。この場合の波形を図4、図5に示す。これらの図4、図5では1024の半分の512サンプルだけシフトした例を示し、図4には、この循環シフトに合わせて、通常のインパルスも同じ分だけシフトしたものを示し、図5はインパルス応答を示している。以上により、基本的に図4及び図5の係数をそれぞれ使ったFIRフィルタ(図2の遅延回路124及びヒルベルトフィルタ121)のフィルタ処理結果は、それぞれの時間遅延は同じであり、図5の係数を使ったヒルベルトフィルタ121では、位相が90°遅れた波形になる。なお、上記循環シフトのサンプル数は上記512サンプルに限定されず、任意に設定でき、例えば図6に示すようにシフトしてもよい。
次に、この図4及び図5を係数として持つFIRフィルタ(図2の遅延回路124及びヒルベルトフィルタ121)に関して、この両者の処理信号を重み付け合成することで、任意の角度の位相遅れ・位相進み波形を作成することが可能である。これは、図7に示すように、複素空間内で位相が互いに90°異なる直交系のベクトルa(遅延回路124側の出力ベクトル)及びb(ヒルベルトフィルタ121側の出力ベクトル)の和によって、0°、90°以外の位相を表現できることからも明らかである。なお、90°以外の回転位相角度(ただし0°を除く)であっても、単純遅延の0°と組み合わせて重み付け加算することにより任意の回転位相角度を得ることも可能である。
ここで、図2のオーディオ信号処理装置の可変移相器120を参照して、図4の係数のディレイ系FIRフィルタである遅延回路124からの出力が入力される乗算器126の重み付けゲインをGa、図5の係数のFIRフィルタであるシフト型のヒルベルトフィルタ121からの出力が入力される乗算器123の重み付けゲインをGbとし、入力波形に対して回転したい任意の位相角度(位相シフト量)をD°(D度)とすると、これらの間には次の式が成立する。
Ga=cos(2πD/360)
Gb=−sin(2πD/360)
ここでGb側のsinの前に付される負の符号(−)は、ヒルベルト変換の基本の位相が、90°(90度)遅れる(図7中の下方向にある)ためである。
Gb=−sin(2πD/360)
ここでGb側のsinの前に付される負の符号(−)は、ヒルベルト変換の基本の位相が、90°(90度)遅れる(図7中の下方向にある)ためである。
以上により、入力信号波形を任意角度位相操作することができることの説明を行った。次に、図2のオーディオ信号処理装置の制御部115における位相角度決定のための制御動作の具体例について、図8を参照しながら説明する。
制御部115における位相角度決定のための制御動作は、図8のフローチャートに示すような処理手順を経て位相角度を決定し、これを繰り返すものである。説明を簡単にするために、ここでの内部処理は仮に浮動小数点処理で行っているものとし、オーディオ信号のデータ波高値が1.0より大きい場合、D/A変換器116でのクリップが起こるものと仮定する。また基本的に、本具体例での信号処理動作はブロック単位で行われるものであり、各バッファは少なくとも1ブロック分のサンプルを蓄えるものとする。この1ブロックのサンプル数はシステム全体の遅延にも影響する。ここでは簡単のために、ブロック処理単位を1024サンプルとして話を進める。
図8の最初のステップS101において、上記図2の制御部115は、可変移相器120における回転位相角度(位相シフト量)Dを0°に設定(D=0)する。これは、可変移相器120内の乗算器126、123の各重み付けゲインGa、Gbをそれぞれ1.0、0.0に設定することに相当する。次のステップS102では、この設定角度で出力バッファ14をすべて埋める。すなわち、上記設定角度のときの可変移相器120からの出力(乗算器126、123からの出力の和)を出力バッファ114に(上記1ブロック分)蓄積する。次のステップS103では、出力バッファ114内で、この蓄積された(当該1ブロック分の)出力についてクリップが発生しているか否かを判定する。すなわち、1ブロック分の蓄積データの最大波高値が1.0より大きいか否かを判別する。このステップS103でYES(クリップあり)と判定されたときはステップS104に進み、NO(クリップなし)と判定されたときは、必要に応じて後述するルーチンR110を介した後、ステップS119に進む。
ステップS104以降においては、可変移相器120の回転位相角度(位相シフト量)Dを順次変更して、変更された設定角度での可変移相器120からの出力についてクリップの有無を判定し、クリップがなくなるまでこれを繰り返す。すなわち、ステップS104では、回転位相角度Dとして、例えば15°、30°、45°、・・・のように予め決めておいた選択肢となる複数の設定角度を順次(現在の設定角度に近いところから)選択して設定し、この設定角度における可変移相器120からの出力(1ブロック分)を出力バッファ114に送って当該ブロックのデータを更新する。この更新された1ブロック分のデータについて、ステップS105でクリップが発生しているか否かを再度判定する。上記設定角度の変更は、正方向のみならず負方向にも行うようにしてもよく、また、上述したように予め複数の選択肢を用意しておく代わりに、一定の角度(例えば15°)を現在の設定角度に加算あるいは減算して次の設定角度を求めるようにしてもよい。この設定角度に応じて上記乗算器126、123の各重み付けゲインGa、Gbが決定されるが、ゲインGa、Gbの組の選択肢を予め複数組用意しておいたり、設定角度が一定の角度ずつ加算あるいは減算されるようなゲインGa、Gbの値を計算により求めるようにしてもよいことは勿論である。
次のステップS105では、変更された設定角度での可変移相器120からの出力について、クリップが解消できたか否かを判定し、YES(クリップなし)のときはステップS119に進み、NOのときはステップS106に進む。ステップS106では、予め用意されていた設定角度を全て選択したか(総当たりしたか)否かを判別し、NOのときはステップS104に戻り、YESのときはステップS107に進む。なお、設定角度が一定の角度ずつ加算あるいは減算されることで変更される場合には、ステップS106では元の設定角度に戻ったか否かを判別すればよい。また、設定角度の変更の範囲あるいは変更の回数を予め定めておき、この変更の範囲や回数を越えるとき、例えば、変更前の最初の設定角度±45°の範囲を越えるときには、ステップS106でYESと判別して、ステップS107に進むようにしてもよい。
ステップS107では、これまでの処理において、変更されたいずれの設定角度でもクリップが生じていたことになるが、これらの内のクリップ量が一番小さかった設定角度にて、可変移相器120からの出力を出力バッファに送って蓄積(当該ブロックのデータを更新)する。なお、バッファ容量を大きくとれる場合等は、これまで変更された各設定角度でのブロックデータを全て蓄積しておいて、クリップ量が一番小さかった設定角度のブロックデータを用いるようにしてもよい。次のステップS108では、必要に応じて、例えば従来と同様なリミッタ処理やコンプレッサ処理(ダイナミクス制御)等のクリップ処理を行った後、ステップS119に進んでいる。
ステップS119では、クリップ発生がないブロックや、上記位相操作によりクリップがなくなったブロックや、位相操作でもクリップがなくならずクリップ処理を施したブロックについて、出力バッファ114からデータを読み出してD/A変換器116に送り、スピーカ117での音響再生が行われる。
図8のルーチンR110は、音質を重視するように、なるべく上記位相操作を一定範囲(例えば−90°〜90°)の間に収めるような処理を行うものであり、必要に応じて採用すればよい。
このルーチンR110において、上記ステップS103でNO(クリップなし)と判定されたとき、先ずステップS111により、前ブロックの処理の際に、可変移相器120の回転位相角度(設定角度)が0°以外であったか否かを判定している。このステップS111でNO(0°)と判定されたときは上記ステップS119に進んで再生が行われるが、YES(0°以外)と判定されたときにはステップS112に進む。ステップS112では、回転位相角度を0°に戻すために、予め決められた既定角度(例えば15°)以上の変化が必要な否かを判定している。このステップS112で、YESと判定されたときはステップS113に進んで、設定角度を既定角度分だけ0°方向に戻した後、ステップS115に進み、NOと判定されたときにはステップS114に進んで、設定角度を0°にした後、ステップS115に進む。
ステップS115では、上述のように位相を0°方向に変更した設定角度で、可変移相器120でフィルタ処理した出力データを出力バッファ114に書き込むような再計算を行い、当該ブロック内でクリップが発生したか否かを判定している。このステップS115で、NO(クリップなし)と判定されたときは上記ステップS119に進み、YES(クリップあり)と判定されたときはステップS116に進む。ステップS116では、上記ステップS113やS114での位相を0°方向に変更する前の当初の回転位相角度における可変移相器120からの出力データで出力バッファ114内を更新し、上記ステップS119に進む。なお、出力バッファ114に上記当初の角度での出力データを残しておいてこれを用いるようにしてもよい。
ここで、クリップが生じた場合は、このクリップを回避するためにステップS104、S105、S106が繰り返されることにより、前のブロックに比べて大きな回転位相角度の変化が生じることがあるが、クリップが生じない場合には、上記ルーチンR110を用いることにより、変更された回転位相角度を0°に戻す際に、段階的に(例えば15°ずつ)緩やかに0°に戻すようにしているため、音質劣化を少なくする効果が期待できる。なお、このルーチンR110を必要としない用途においては、上記ステップS103からステップS119に進むようにすればよい。この場合の設定位相は、例えば−180°〜0°〜180°の範囲で、常に変化していることになる。
なお、出力バッファ114については、主として1ブロック分のデータを蓄積する場合について説明したが、複数ブロック分のデータを蓄積可能とし、設定角度を変更した場合のブロックデータを複数ブロック分蓄積しておき、必要とされるブロックデータを再計算することなく取り出せるようにしてもよいことは勿論である。また、現在処理中のブロックのみならず、時間的に異なる他のブロックについてのブロックデータを蓄積するようにして、円滑な(例えばフェーディング処理等による)位相変化が実現できるようにすることも好ましい。
図9は、例えば3つの時間的に連続するブロックのデータを先読みし、位相変化を円滑に行わせる場合を説明するためのタイミングチャートである。この図9において、処理ブロックBLは、BL0、BL1、BL2、BL3、・・・の順に処理され再生されるものとする。現時点ではブロックBL0が再生されており、このブロックBL0に連続する3つのブロックBL1、BL2、BL3を先読みする。ここで、ブロックBL1、BL2ではクリップが発生しておらず、ブロックBL3でクリップが発生し、これを回避するために、位相操作が必要とされ、上記乗算器126、123の各重み付けゲインGa、GbをそれぞれGa3、Gb3にする必要があるものとする。ここで、ブロックBL1における各重み付けゲインGa1、Gb1から、急激に上記Ga3、Gb3に切り換えると、これらの間の位相差が大きい場合には、ブロックの切換時に違和感が生じることがある。そこで、ブロックBL1とBL3との間のブロックBL2において、緩やかに位相を変化させるために、重み付けゲインGa、Gbを、Ga1、Gb1からそれぞれ徐々にGa3、Gb3に変化させている。これによって、ブロックBL1からブロックBL2を経由してブロックBL3に移行する際に、回転位相が緩やかに変化することになり、聴感上違和感が抑えられ、音質改善が図れる。
ところで、上記図2の可変移相器120においては、ディレイ部(遅延回路124)とシフト型ヒルベルトフィルタ121とが別になっており、これらのフィルタ出力結果を乗算器126、123の最適なゲインGa、Gbでそれぞれ重み付けしたものを、最終的な移相器出力信号として用いているが、ディレイ部もヒルベルト部も、同じFIRフィルタとして実現することができるうえ、システムブロックとして両者は線形加算が可能なため、図10のような構成とすることもできる。
この図10に用いられている可変移相器130は、上記図1の可変移相器113や図2の可変移相器120に相当するものであり、制御部115からの制御信号に応じて入力信号(フィルタ112からの出力信号)の位相を変化させて出力するものである。なお、ソース111、フィルタ112、出力バッファ114、制御部115、D/A変換器116、及びスピーカ117は、上述した図1、図2と同様であるため、説明を省略する。
可変移相器130は、上記図2の可変移相器120と同様に、シフト型ヒルベルトフィルタ出力とディレイフィルタ(遅延回路)出力とを適宜の成分比で加算することで所望の位相回転角度を得るものであるが、これらのフィルタを実現するためのFIRフィルタの係数を先に適宜の成分比で組み合わせて作成し、得られたFIR係数をFIRフィルタ131にロードする(適用する)ようにしている。すなわち、FIRフィルタでシフト型ヒルベルトフィルタを実現するための係数をシフト型ヒルベルトフィルタ係数生成部133で生成して乗算器134に送り、FIRフィルタでディレイフィルタ(遅延回路)を実現するための係数を遅延係数生成部135で生成して乗算器136に送っている。これらの乗算部136、134の各乗算係数である重み付けゲインga、gbを、制御部115からの制御信号で可変制御して、各乗算部136、134からの重み付けされた係数をFIR係数作成部137に送ることにより、最終的な遅延出力とシフト型ヒルベルトフィルタ出力との重み付けゲインが上述したようなGa、GbとなるようなFIR係数を作成している。このFIR係数作成部137からのFIR係数がFIRフィルタ131にロードされることにより、FIRフィルタ131では、上記図2の可変移相器120と同様な入出力特性が実現される。
次に、図11は、本発明の他の実施の形態として、信号をn個の周波数帯域に分割し、各周波数帯域毎に位相を決定するような例を示すブロック図である。この図11の例では、上記図2と共に説明したような構成を、各帯域毎に用いるようにしており、各帯域毎に、振幅の最も小さい組み合わせを選択して出力することで、加算された総合振幅も小さいものが期待できるようにしている。
この図11において、可変移相器150には、ソース(音源等)111からイコライザ等のフィルタ112を介したオーディオ信号が入力され、周波数分割回路151によりn個の周波数帯域の信号に分割される。このときのカットオフ周波数fcを、それぞれf0、f1、f2、・・・、fn−2、fn−1としている。帯域分割された各周波数帯域の信号は、それぞれ可変移相器120_0、120_1、・・・に送られる。これらのれ可変移相器120_0、120_1、・・・は、それぞれ上記図2の可変移相器120と同様の構成を有しており、各可変移相器120_0、120_1、・・・からの出力は、それぞれ出力バッファ114_0、114_1、・・・に送られ、これらの出力バッファ114_0、114_1、・・・からの出力は、可変移相器150からの出力として、総合出力バッファ114’に送られる。総合制御部115’は、総合出力バッファ114’に蓄えられたデータにクリップが生じているか否かを判定し、その判定結果に応じて制御信号を可変移相器50の各制御部115_0、115_1、・・・に送っている。各制御部115_0、115_1、・・・は、各帯域毎に、振幅が小さくなるような重み付けゲインの組み合わせを選択する。これらの各周波数帯域毎の可変移相器120_0、120_1、・・・、出力バッファ114_0、114_1、・・・、制御部115_0、115_1、・・・は、上述した図2の可変移相器120、出力バッファ114、制御部115と同様であるため、説明を省略する。総合出力バッファ14’からの出力は、D/A変換器116でアナログオーディオ信号に変換され、スピーカ117にて音響信号として再生される。
なお、図11の各周波数帯域毎の可変移相器120_0、120_1、・・・については、上記図10の可変移相器130のようにFIR係数を先に求めてFIRフィルタに係数ロードするような構成を用いてもよい。
以上の実施の形態では、上記図1の可変移相器113として、ディレイフィルタ(遅延回路)出力とシフト型のヒルベルトフィルタ出力とを適宜の成分比で重み付け加算することにより所望の回転位相角度を実現するものを用いているが、入力出力特性として所望の回転位相角度が直接的に得られるような位相推移装置を用いてもよい。この位相推移装置は、アナログで構成される場合は、多段の全帯域通過フィルタ(All pass filter:APF)で構成される。また、デジタルで構成される場合は、多段の巡回形(Infinite Impulse Response:IIR)フィルタまたは十分なタップ数をもった非巡回形(Finite Impulse Response:FIR)フィルタで構成される。また、上記シフト型のヒルベルトフィルタの代わりに、入力出力特性として、各周波数f毎の位相が、π/2+nπ [rad](nは整数)となる特性を有する位相推移装置を用いるようにしてもよい。
図12は、上記図1の可変移相器113、あるいは図2のシフト型のヒルベルトフィルタ121の代わりに使用可能な位相推移装置の一例として、IIRフィルタを10段接続した位相推移装置13を示す図である。入力端子15を介して入力された入力音声信号S0(図1のフィルタ112からの出力信号)を、10段接続したIIRフィルタ161、162、163・・・169及び1610を通してフィルタリングする構成である。各IIRフィルタは、全帯域通過フィルタ(APF)として設計された、例えば2次のIIRである。振幅(ゲイン)特性は周波数によらず一定であるが、位相は周波数に応じてシフトすることを特徴としている。このため、個々に異なる位相特性を持つIIRフィルタを多段、例えば10段接続することにより、ほぼ全周波数帯域にわたって一定に位相を推移することができ、出力端子17からこの位相推移出力を出力することができる。
図13及び図14には例えば図12のIIRフィルタ161及びIIRフィルタ162の振幅特性、位相特性を示す。縦軸は左側が振幅Gain[dB]であり、右側が0°からπ(pi)までの位相シフト量[rad]である。
図13及び図14には、それぞれIIRフィルタ161及びIIRフィルタ162の伝達関数H(s)の式を示している。これらの例では、A3,A4,B3,B4の係数を0としている。つまり、前述したように2次のIIRフィルタの例である。
図13に示す例えばIIRフィルタ161の各特性では、振幅特性Gainが0[dB]一定であり、位相特性phaseが周波数によって変化している。つまり、振幅は一定であるが、位相のシフト量が変化していることがわかる。位相シフト量は、周波数10Hzでπ*(9/10)[rad]、100Hzでπ*(6/10)[rad]、1000Hzでπ*(1/10)[rad]、10000Hzで0[rad]である。また、図14に示す例えばIIRフィルタ162の各特性でも、振幅特性Gainが0[dB]一定であり、位相特性phaseが周波数によって変化している。位相シフト量は、周波数10Hzでπ[rad]、100Hzでπ*(9/10)[rad]、1000Hzでπ*(6/10)[rad]、10000Hzでπ*(1/10)[rad]である。よって、IIRフィルタ161とIIRフィルタ162とでは、位相特性が相互に異なっていることがわかる。
もちろん、IIRフィルタによるAPFは2次であることに限定されるものではなく、1次でも、3次以上の高次でもよく、多段接続することにより、例えば図13及び図14のような位相特性を重ねていき、所望の位相特性を設計するようにすればよい。
図15は、上記図13及び図14に示した、それぞれIIRフィルタ161及びIIRフィルタ162のように周波数に対して相互に異なった位相特性を有する、複数のIIRフィルタを、図12に示したように10段接続することによって、得られる位相推移装置の遅延特性を示す。図13及び図14の位相特性をはじめ、各IIRフィルタ163・・・169及び1610の位相特性を重ね合わせることにより形成できる。図15の縦軸に示した群遅延時間[t]は、横軸の周波数[Hz]によって単調に変化する。この場合、周波数が高くなるにつれ、遅延時間は単調に減っている。つまり、群遅延量(時間)は、周波数に応じて変化していく。この特性を用いることにより、位相推移装置13への入力信号と位相推移出力信号との位相差を補正することができる。
図15に示した位相推移装置を、上記図2のシフト型のヒルベルトフィルタ121の代わりに用いる場合の入力出力特性は、理想的には、各周波数f毎の位相が、π/2+nπ [rad]となる。nは整数であり、遅延量を大きくしたい場合はこれをより大きい整数値にすればよい。ただし、遅延効果としては群遅延量の大きい低域成分に対して遅延効果があり、高域に対しては1波長あたりの周期が短いので遅延効果は少ない。
なお、上記nが正確に整数でなく、入力信号と位相推移装置13の位相推移出力信号との位相差が90°に対して±10°、±20°のように多少ずれても、実用上問題のない場合もある。
図16には、n次のIIRフィルタの構成例を示す。入力端子21からの入力信号Xは係数乗算器22で係数cが乗算されてから、加算器23に供給される。加算器23には後述する加算器36からの加算出力も供給される。加算器23の加算出力Tは、1クロック周期分の遅延器26及び後述の加算器24に供給される。遅延器26は、1クロック周期分の遅延した出力信号を係数乗算器27、係数乗算器28及び遅延器29に供給する。係数乗算器27は、遅延器26の遅延出力信号に係数a1を乗算し加算器36に供給する。加算器36には後述の加算器35からの加算出力も供給されている。係数乗算器28は、遅延器26の遅延出力信号に係数b1を乗算し加算器38に供給する。加算器38には後述の加算器37からの加算出力も供給されている。遅延器29は、遅延器26の遅延出力信号をさらに1クロック周期分遅延し、遅延出力信号を係数乗算器30、係数乗算器31及び次段の遅延器・に供給する。係数乗算器30は、遅延器29の遅延出力信号に係数a2を乗算し加算器35に供給する。加算器35には加算器・からの加算出力も供給されている。係数乗算器31は、遅延器29の遅延出力信号に係数b2を乗算し加算器37に供給する。加算器37には加算器・からの加算出力も供給されている。同様にして、遅延器32には前段の遅延器の遅延出力信号が供給される。遅延器32はさらに1クロック周期分遅延した遅延出力信号を係数乗算器33及び係数乗算器34に供給する。係数乗算器33は、遅延器32の遅延出力信号に係数anを乗算したのち、前段の加算器に戻す。また、係数乗算器34は、遅延器32の遅延出力信号に係数bnを乗算したのち、前段の加算器に戻す。そして、加算器・・、加算器35及び加算器36からの加算出力は加算器23に戻される。また、加算器・・、加算器37及び加算器38からの加算出力は加算器24に戻される。加算器24は出力端子25に接続しており、出力端子25からは出力信号Yが出力される。このn次のIIRフィルタは、次数(n)の分だけ深くなるのはもちろんである。
図17には、図16に構成を示したn次のIIRフィルタを基本とした、2次のIIRフィルタ411、412・・・及び41mを多段(m段)接続した構成を示す。この2次IIRフィルタの多段接続構成によれば、図15に示したような群遅延特性を得ることができる。また、伝達関数を部分分数分解してIIRフィルタを並列に接続する構成としてもよい。
ここで、図1の制御部115により可変移相器113に相当する上記位相推移装置の各係数等を制御することで位相推移量を変更することができ、位相推移量(回転位相角度)を任意の角度に制御することができる。また、上述したように、位相推移装置の位相推移量(回転位相角度)を90°(又は−90°)あるいはその前後の値に固定し、上記図2のヒルベルトフィルタ121の代わりに用いて、この位相推移装置からの出力と遅延回路124からの出力との重み付けゲインを調整することで回転位相角度を制御するようにしてもよいことは勿論である。なお、90°以外の(非0の)回転位相角度でも、単純遅延の0°と組み合わせて重み付け加算することにより任意の回転位相角度を得ることも可能である。
以上説明した本発明の実施の形態においては、説明を簡略化するために、1つのオーディオ信号(モノラル信号)について述べているが、ステレオやマルチチャンネルの場合にも、各チャンネルに対応する出力バッファを評価し、全チャンネルに同じ角度分だけの位相操作をすることで、同様の効果が得られるものである。
また、上記実施の形態では、デジタル信号入力を想定してデジタル信号処理を行う場合について説明したが、アナログの入力オーディオ信号に対して、アナログ信号処理を行う場合にも本発明を適用可能であることは勿論である。
本発明の実施の形態により、クリップを回避することが難しいほど大きな出力がある場合にも、波形全体の振幅を抑える効果により、リミッタ処理など従来型クリップ処理の手段と組み合わせた場合でも、従来タイプに比べ、歪み・音質劣化を被る程度を減らすことができる。
なお、本発明は上述した実施の形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。
13 位相推移装置、 113,120,130,150 可変移相器、 114 出力バッファ、 115 制御部、 121 シフト型ヒルベルトフィルタ、 123,126,134,136 乗算器、 124 遅延回路、 131 FIRフィルタ、 133 シフト型ヒルベルトフィルタ係数生成部、 135 遅延係数生成部、 137 FIR係数作成部
Claims (10)
- 入力オーディオ信号の位相角度を制御信号に応じて変化させる可変移相部と、
上記可変移相部からの出力にクリップがあるか否かを判定して判定結果に応じて上記可変移相部の位相角度を制御する上記制御信号を出力する制御部と
を有することを特徴とするオーディオ信号処理装置。 - 上記可変移相部は、入力信号の位相角度を90°変化させる移相フィルタと、この移相フィルタの遅延量に相当する時間だけ上記入力信号を遅延させる遅延手段と、これらの移相フィルタからの出力及び遅延手段からの出力を重み付け加算する重み付けゲインを乗算する乗算手段とを有し、
上記制御部からの制御信号により上記重み付けゲインを可変制御することを特徴とする請求項1記載のオーディオ信号処理装置。 - 上記移相フィルタとして、シフト型のヒルベルト変換フィルタを用いることを特徴とする請求項2記載のオーディオ信号処理装置。
- 上記可変移相部としてFIRフィルタを用い、遅延手段を実現するフィルタ係数とシフト型のヒルベルト変換フィルタを実現するフィルタ係数とを重み付け加算してFIRフィルタ係数を作成し、このFIRフィルタに適用フィルタ係数を上記FIRフィルタに適用することを特徴とする請求項1記載のオーディオ信号処理装置。
- 上記入力信号をブロック化し、ブロック単位で上記可変移相部での位相角度を制御するようにし、第1の位相角度に制御される第1のブロックに続いて過渡的な位相角度に制御される第2のブロックを介して、第2の位相角度に制御される第3のブロックを配置するようにし、第2のブロックの位相角度は、上記第1の位相角度から上記第2の位相角度に徐々に変化させることを特徴とする請求項1記載のオーディオ信号処理装置。
- 上記入力オーディオ信号を複数の周波数帯域に分割し、各周波数帯域毎に入力信号の位相角度を制御信号に応じて変化させる可変移相部を設けることを特徴とする請求項1記載のオーディオ信号処理装置。
- 入力オーディオ信号を複数の周波数帯域に分割する周波数分割手段と、
上記周波数分割手段により分割された各周波数帯域の信号の位相角度を制御信号に応じて変化させる複数の可変移相部と、
上記複数の可変移相部からの出力を総合した総合出力信号にクリップがあるか否かを判定して判定結果に応じて制御信号を出力する総合制御部と、
この総合制御部からの制御信号に応じて上記複数の可変移相部からの出力の振幅を小さくするようにそれぞれの可変移相部での位相角度を制御する制御信号を上記複数の可変移相部にそれぞれ送る複数の制御部と
を有することを特徴とするオーディオ信号処理装置。 - 上記可変移相部は、入力信号の位相角度を90°変化させるシフト型のヒルベルト変換フィルタと、このシフト型のヒルベルト変換フィルタの遅延量に相当する時間だけ上記入力信号を遅延させる遅延手段と、これらの移相フィルタからの出力及び遅延手段からの出力を重み付け加算する重み付けゲインを乗算する乗算手段とを有し、
上記制御部からの制御信号により上記重み付けゲインを可変制御することを特徴とする請求項7記載のオーディオ信号処理装置。 - 入力オーディオ信号の位相角度を制御信号に応じて変化させる可変移相工程と、
上記可変移相工程からの出力にクリップがあるか否かを判定して判定結果に応じて上記可変移相工程での位相角度を制御する上記制御信号を出力する制御工程と
を有することを特徴とするオーディオ信号処理方法。 - 上記可変移相工程は、入力信号の位相角度をシフト型のヒルベルト変換フィルタにより90°変化させて得られた第1の信号と、上記シフト型のヒルベルト変換フィルタの遅延量に相当する時間だけ上記入力信号を遅延させて得られた第2の信号とを重み付け加算する工程を有し、
上記制御工程からの制御信号により上記重み付け加算の重み付けゲインを可変制御することを特徴とする請求項9記載のオーディオ信号処理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005248320A JP2007067578A (ja) | 2005-08-29 | 2005-08-29 | オーディオ信号処理装置及び方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005248320A JP2007067578A (ja) | 2005-08-29 | 2005-08-29 | オーディオ信号処理装置及び方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007067578A true JP2007067578A (ja) | 2007-03-15 |
Family
ID=37929316
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005248320A Withdrawn JP2007067578A (ja) | 2005-08-29 | 2005-08-29 | オーディオ信号処理装置及び方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007067578A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008283600A (ja) * | 2007-05-14 | 2008-11-20 | Pioneer Electronic Corp | 自動音場補正装置 |
JP2010078812A (ja) * | 2008-09-25 | 2010-04-08 | Fujitsu Ltd | 音声信号処理装置及び音声信号処理方法 |
JP5095758B2 (ja) * | 2008-01-15 | 2012-12-12 | シャープ株式会社 | 音声信号処理装置、音声信号処理方法、表示装置、ラック、プログラム、及び、記録媒体 |
JP2015525514A (ja) * | 2012-05-31 | 2015-09-03 | ドルビー ラボラトリーズ ライセンシング コーポレイション | 低レイテンシーかつ低複雑さの位相シフト・ネットワーク |
-
2005
- 2005-08-29 JP JP2005248320A patent/JP2007067578A/ja not_active Withdrawn
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008283600A (ja) * | 2007-05-14 | 2008-11-20 | Pioneer Electronic Corp | 自動音場補正装置 |
JP5095758B2 (ja) * | 2008-01-15 | 2012-12-12 | シャープ株式会社 | 音声信号処理装置、音声信号処理方法、表示装置、ラック、プログラム、及び、記録媒体 |
JP2010078812A (ja) * | 2008-09-25 | 2010-04-08 | Fujitsu Ltd | 音声信号処理装置及び音声信号処理方法 |
JP2015525514A (ja) * | 2012-05-31 | 2015-09-03 | ドルビー ラボラトリーズ ライセンシング コーポレイション | 低レイテンシーかつ低複雑さの位相シフト・ネットワーク |
US9661190B2 (en) | 2012-05-31 | 2017-05-23 | Dolby Laboratories Licensing Corporation | Low latency and low complexity phase shift network |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9407993B2 (en) | Latency reduction in transposer-based virtual bass systems | |
JP5098569B2 (ja) | 帯域拡張再生装置 | |
JP5715595B2 (ja) | 効率的なサブバンド適応firフィルタリング | |
US8005233B2 (en) | Bass enhancement for audio | |
US8737642B2 (en) | Audio reproducing apparatus | |
US8351619B2 (en) | Auditory sense correction device | |
JP2008191659A (ja) | 音声強調方法及び音声再生システム | |
WO2013183103A1 (ja) | 周波数特性変形装置 | |
JP2008022247A (ja) | Agcシステム | |
EP2907324B1 (en) | System and method for reducing latency in transposer-based virtual bass systems | |
JP2007067578A (ja) | オーディオ信号処理装置及び方法 | |
US10390147B2 (en) | Frequency mapping for hearing devices | |
US8116470B2 (en) | Impulse response processing apparatus and reverberation imparting apparatus | |
JP5541832B2 (ja) | サンプリングレート変換 | |
JP2010237294A (ja) | オーディオ信号処理装置およびスピーカ装置 | |
Rämö et al. | Graphic delay equalizer | |
US11563425B2 (en) | Linear-phase fir audio filter, production method and signal processor | |
JP2009077198A (ja) | 音響再生装置 | |
WO2020179472A1 (ja) | 信号処理装置および方法、並びにプログラム | |
EP2149876B1 (en) | Reverberation applying device and corresponding program | |
WO2023277022A1 (ja) | 音響処理方法、音響処理システムおよびプログラム | |
JP4233931B2 (ja) | 音声・音響信号再生調整方法、装置、および音声・音響信号再生調整プログラム、そのプログラムを記録した記録媒体 | |
JP5774218B2 (ja) | 周波数特性変形装置 | |
JP2004309980A (ja) | 楽音信号処理装置 | |
JP2005341204A (ja) | 音場補正方法及び音場補正装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20081104 |