(57)【要約】【課題】  イコライザやエフェクタ等でブーストされた入力オーディオ信号の過大なクリップを瞬時に回避・低減する。【解決手段】  イコライザやエフェクタ等のフィルタ１１２からのオーディオ信号が入力される可変移相器１１３は、入力信号の位相角度を制御信号に応じて変化させる。可変移相器１１３からの出力は、出力バッファ１１４に一時蓄積される。制御部１１５は、出力バッファ１１４に一時蓄積された出力にクリップがあるか否かを判定し、判定結果に応じて制御信号を出力して、可変移相器１１３の位相角度を制御する。出力バッファ１１４に一時蓄積される出力にクリップがなくなるまで、制御部１１５は可変移相器１１３の位相角度を可変制御する。【選択図】  図１
2007067578.tif 000002
【特許請求の範囲】
【請求項１】
入力オーディオ信号の位相角度を制御信号に応じて変化させる可変移相部と、
上記可変移相部からの出力にクリップがあるか否かを判定して判定結果に応じて上記可変移相部の位相角度を制御する上記制御信号を出力する制御部と
を有することを特徴とするオーディオ信号処理装置。
【請求項２】
上記可変移相部は、入力信号の位相角度を９０°変化させる移相フィルタと、この移相フィルタの遅延量に相当する時間だけ上記入力信号を遅延させる遅延手段と、これらの移相フィルタからの出力及び遅延手段からの出力を重み付け加算する重み付けゲインを乗算する乗算手段とを有し、
上記制御部からの制御信号により上記重み付けゲインを可変制御することを特徴とする請求項１記載のオーディオ信号処理装置。
【請求項３】
上記移相フィルタとして、シフト型のヒルベルト変換フィルタを用いることを特徴とする請求項２記載のオーディオ信号処理装置。
【請求項４】
上記可変移相部としてＦＩＲフィルタを用い、遅延手段を実現するフィルタ係数とシフト型のヒルベルト変換フィルタを実現するフィルタ係数とを重み付け加算してＦＩＲフィルタ係数を作成し、このＦＩＲフィルタに適用フィルタ係数を上記ＦＩＲフィルタに適用することを特徴とする請求項１記載のオーディオ信号処理装置。
【請求項５】
上記入力信号をブロック化し、ブロック単位で上記可変移相部での位相角度を制御するようにし、第１の位相角度に制御される第１のブロックに続いて過渡的な位相角度に制御される第２のブロックを介して、第２の位相角度に制御される第３のブロックを配置するようにし、第２のブロックの位相角度は、上記第１の位相角度から上記第２の位相角度に徐々に変化させることを特徴とする請求項１記載のオーディオ信号処理装置。
【請求項６】
上記入力オーディオ信号を複数の周波数帯域に分割し、各周波数帯域毎に入力信号の位相角度を制御信号に応じて変化させる可変移相部を設けることを特徴とする請求項１記載のオーディオ信号処理装置。
【請求項７】
入力オーディオ信号を複数の周波数帯域に分割する周波数分割手段と、
上記周波数分割手段により分割された各周波数帯域の信号の位相角度を制御信号に応じて変化させる複数の可変移相部と、
上記複数の可変移相部からの出力を総合した総合出力信号にクリップがあるか否かを判定して判定結果に応じて制御信号を出力する総合制御部と、
この総合制御部からの制御信号に応じて上記複数の可変移相部からの出力の振幅を小さくするようにそれぞれの可変移相部での位相角度を制御する制御信号を上記複数の可変移相部にそれぞれ送る複数の制御部と
を有することを特徴とするオーディオ信号処理装置。
【請求項８】
上記可変移相部は、入力信号の位相角度を９０°変化させるシフト型のヒルベルト変換フィルタと、このシフト型のヒルベルト変換フィルタの遅延量に相当する時間だけ上記入力信号を遅延させる遅延手段と、これらの移相フィルタからの出力及び遅延手段からの出力を重み付け加算する重み付けゲインを乗算する乗算手段とを有し、
上記制御部からの制御信号により上記重み付けゲインを可変制御することを特徴とする請求項７記載のオーディオ信号処理装置。
【請求項９】
入力オーディオ信号の位相角度を制御信号に応じて変化させる可変移相工程と、
上記可変移相工程からの出力にクリップがあるか否かを判定して判定結果に応じて上記可変移相工程での位相角度を制御する上記制御信号を出力する制御工程と
を有することを特徴とするオーディオ信号処理方法。
【請求項１０】
上記可変移相工程は、入力信号の位相角度をシフト型のヒルベルト変換フィルタにより９０°変化させて得られた第１の信号と、上記シフト型のヒルベルト変換フィルタの遅延量に相当する時間だけ上記入力信号を遅延させて得られた第２の信号とを重み付け加算する工程を有し、
上記制御工程からの制御信号により上記重み付け加算の重み付けゲインを可変制御することを特徴とする請求項９記載のオーディオ信号処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力オーディオ信号のクリップを回避あるいは低減するオーディオ信号処理装置及び方法に関する。
【背景技術】
【０００２】
一般的に、デジタルオーディオ信号に対し、イコライザ等のフィルタを使って特定帯域をブーストさせ再生させる場合において、ソースの信号波形によっては、Ｄ／Ａ変換器の対応するビット数を超えてクリップする場合がある。従来において、このクリップに対しては、最大ビットの数値にあわせてクリップ箇所に対してリミッタ処理を行ったり、ダイナミクス制御（コンプレッサ）などを用いて、Ｄ／Ａ変換器の入力とすること等が知られているが、いずれも、大きな音質劣化を伴うものであった。
【０００３】
従来技術として、特許文献１には、特性可変時に信号がクリップしないようにＳ／Ｎの悪化を抑制する技術が開示されている。
【０００４】
【特許文献１】特開２００２−３４５０７５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明は、このような従来の実情に鑑みて提案されたものであり、イコライザやエフェクタ等でブーストされたオーディオ信号の過大なクリップを瞬時に回避・低減し得るようなオーディオ信号処理装置及び方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上述の課題を解決するために、本発明は、入力オーディオ信号の位相角度を制御信号に応じて変化させる可変移相部と、可変移相部からの出力にクリップがあるか否かを判定して判定結果に応じて上記可変移相部の位相角度を制御する上記制御信号を出力する制御部とを有することを特徴とする。
【０００７】
上記可変移相部は、入力信号の位相角度を９０°変化させる移相フィルタと、この移相フィルタの遅延量に相当する時間だけ上記入力信号を遅延させる遅延手段と、これらの移相フィルタからの出力及び遅延手段からの出力に重み付けゲインを乗算する乗算手段とを有し、上記制御部からの制御信号により上記重み付けゲインを可変制御することが挙げられる。上記移相フィルタとして、シフト型のヒルベルト変換フィルタを用いることが好ましい。
【発明の効果】
【０００８】
本発明によれば、入力オーディオ信号にクリップが生ずる場合でも、位相角度を変化させることにより、波形全体の振幅を抑えることができ、入力信号の過大なクリップを瞬時に回避あるいは低減させることができる。
【発明を実施するための最良の形態】
【０００９】
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。
【００１０】
図１は、本発明の実施の形態となるオーディオ信号処理装置の概略構成を示すブロック図である。この図１において、ソース（音源等）１１１からのオーディオ信号は、イコライザやエフェクタ等のフィルタ１１２に送られてフィルタ処理される。このフィルタ処理の際に、波形が例えば後段のＤ／Ａ変換器１１６の許容可能なビット数（最大ビット数）を超えることがある。これは、いわゆる波形クリップとも称され、このクリップに対して、従来においては、上記最大ビット数に合わせてリミッタをかけたり、コンプレッサ処理（ダイナミクス制御）等を行っていたが、これらは音質劣化を伴うものとなっていた。
【００１１】
本発明の実施の形態では、フィルタ回路１１２からの出力オーディオ信号を、制御信号に応じて位相シフト量（回転位相角度）が変化する可変移相器１１３に送っており、可変移相器１１３からの出力を出力バッファ１１４に一時蓄え、上記クリップが生じているか否かを制御部１１５で判定しその判定結果に応じて可変移相器１１３の位相シフト量を制御することにより、上記クリップの発生を回避するようにしている。これは、クリップが発生しているオーディオ信号の位相をシフトさせると、信号中の各周波数成分のピークの分散等によりクリップが回避される点と、オーディオ信号の聴感特性とを考慮したものである。すなわち、人間の耳は左右の耳の位相差には敏感であるが、「位相差」を伴わない「オーディオ信号自体の位相変化」に対して耳は敏感でないことに着目し、位相制御を主としてクリップを回避させるようにしたものである。
【００１２】
出力バッファ１１４からの出力は、Ｄ／Ａ変換器１１６によりアナログオーディオ信号に変換され、スピーカ１１７で電気信号から音響信号に変換される。この図１の例では、デジタルオーディオ信号を処理する信号処理装置を想定しており、ソース１１１はデジタル音源であり、フィルタ１１２や可変移相部１１３ではデジタル処理が行われ、出力バッファ１１４にはデジタルメモリ等が用いられるが、これらの全てあるいは一部をアナログ回路に置き換えてもよいことは勿論である。
【００１３】
可変移相器１１３は、各周波数成分のレベルを変えることなく位相のみを変更するものであり、いわゆるオールパスフィルタの一種である。この可変移相器１１３は、例えば、全ての周波数に亘ってあるいは必要とされる周波数帯域の範囲内で、任意の角度の位相遅れあるいは位相進みを持った（位相シフトされた）波形を作成する位相変換手段であり、さらに、制御端子に供給される制御信号に応じて上記位相シフトの量（位相の角度）が変化するように制御されるものである。この可変移相器１１３の具体例については後述する。
【００１４】
制御部１１５は、出力バッファ１１４に蓄えられたオーディオ信号の振幅あるいは波高値を検出することにより上記クリップが発生しているか否かを判定し、クリップ発生がなくなるように、可変移相器１１３の位相シフト量を変更する制御信号を出力して、可変移相器１１３の制御端子に送る。具体的には、例えば、制御部１１５がクリップありと判定した場合には、所定量の位相シフト量に制御する制御信号を可変移相器１１３に送り、可変移相器１１３では、制御部１１５からの制御信号に応じて、入力信号（フィルタ回路１１２からの出力オーディオ信号）の位相を上記所定量だけシフトさせ、位相シフトされた出力信号を出力バッファに送る。制御部１１５は、出力バッファ１１４に蓄えられた上記位相シフトされた出力信号の振幅あるいは波高値を検出することによりクリップが発生しているか否かを判定し、さらにクリップありと判定した場合は、上記位相シフト量を上記所定量からさらに変更するような制御信号を出力し、クリップなしと判定されるまでこれを繰り返す。この制御部１１５における動作の具体例については後述する。
【００１５】
ここで、クリップされた波形をＤ／Ａ変換器１１６には一切送らないようにするためには、可変移相器１１３の入力側にバッファを設けておき、出力バッファ１１４に蓄えられるオーディオ信号にクリップが生じている間は、可変移相器１１３の入力側のバッファからのオーディオ信号を繰り返し用いて、位相シフトされたオーディオ信号を出力バッファ１１４に書き換える（上書きする）ようにし、出力バッファ１１４内のオーディオ信号にクリップがなくなった時点で、出力バッファ１１４からＤ／Ａ変換器１１６にオーディオ信号を送るようにすればよい。
【００１６】
次に、図２は、本発明の実施の形態となるオーディオ信号処理装置の他の例を示し、この図２の例では、上記図１の可変移相器１１３に相当する可変移相器１２０として、入力信号に対して９０°（９０度）位相回転する移相フィルタとしてのシフト型ヒルベルト変換フィルタ処理を施した信号と、同フィルタ処理の遅延分に相当するディレイ処理を施した信号とを、適宜の成分比の組み合わせで出力することで、位相変換処理を行うような構成を用いている。
【００１７】
図２において、ソース（音源等）１１１からのオーディオ信号は、イコライザ等のフィルタ１１２を介して、可変移相器１１３に送られ、可変移相器１１３からの出力は、出力バッファ１１４を介し、Ｄ／Ａ変換器１１６によりアナログオーディオ信号に変換され、スピーカ１１７にて音響信号として再生される。
【００１８】
可変移相器１２０は、入力信号（フィルタ１１２からの出力信号）が供給されるシフト型のヒルベルト変換フィルタ（以下、ヒルベルトフィルタともいう。）１２１と、ヒルベルトフィルタ１２１からの出力を一時蓄積するバッファ１２２と、バッファ１２２からの出力に重み付け（ゲイン制御）する乗算器１２３と、上記入力信号が供給されヒルベルトフィルタ１２１における信号遅延分に相当する遅延量の遅延回路１２４と、遅延回路１２４からの出力を一時蓄積するバッファ１２５と、バッファ１２５からの出力に重み付けする乗算器１２６とを有し、各乗算器１２３、１２６からの出力が出力バッファ１１４に送られて加算されることで、各乗算器１２３、１２６による各成分の重みの比率により決定される角度での位相シフトを実現している。
【００１９】
以下、可変移相器１２０に用いられるシフト型のヒルベルトフィルタ（ヒルベルト変換フィルタ）１２１について説明する。このフィルタは、９０°の位相遅れをする操作をするＦＩＲ（有限インパルス応答）フィルタを意図している。具体的には、ヒルベルト変換のインパルス応答を元として用いる。
【００２０】
一般的にヒルベルト変換の伝達関数Ｈ(ω) は、次の式（１）のように表され、正の周波数領域においては周波数によらず９０°（９０度）遅延の特徴を持つものである。
【００２１】
【数１】
2007067578.tif 000003
【００２２】
また、この伝達関数Ｈ(ω) のインパルス応答ｈ(t) は、ｈ(t) ＝１／πｔ（直角双曲線）で表すことができる。
【００２３】
このインパルス応答をデジタル領域にて求めた例を、図３（Ａ）〜（Ｃ）に示す。図３（Ａ）は、１０２４個のサンプルからなるヒルベルト変換フィルタのインパルス応答を示し、図３（Ｂ）、（Ｃ）は、それぞれ図３（Ａ）の先頭、終端部周辺を拡大して示したものである。なお厳密に言えば、有限のインパルス応答で作られているため、ヒルベルト変換フィルタのサンプリング周波数内での低域・高域の端側の振幅特性は落ちることになるが、これはソース（音源）が２０Ｈｚ〜２０ｋＨｚの可聴帯域をターゲットとした音楽信号であることを考えれば、例えばＦｓ＝４８ｋＨｚやＦｓ＝４４．１ｋＨｚなどで運用する場合は、全く問題がない。
【００２４】
次に、図３に示したインパルス応答のヒルベルトフィルタは、循環系でのフィルタであり、因果律を満たしていないため、サンプル内での循環シフトを行ったものを、「シフト型ヒルベルトフィルタ」として、ＦＩＲ（Finite Impulse Response：有限インパルス応答）フィルタの係数とする。この場合の波形を図４、図５に示す。これらの図４、図５では１０２４の半分の５１２サンプルだけシフトした例を示し、図４には、この循環シフトに合わせて、通常のインパルスも同じ分だけシフトしたものを示し、図５はインパルス応答を示している。以上により、基本的に図４及び図５の係数をそれぞれ使ったＦＩＲフィルタ（図２の遅延回路１２４及びヒルベルトフィルタ１２１）のフィルタ処理結果は、それぞれの時間遅延は同じであり、図５の係数を使ったヒルベルトフィルタ１２１では、位相が９０°遅れた波形になる。なお、上記循環シフトのサンプル数は上記５１２サンプルに限定されず、任意に設定でき、例えば図６に示すようにシフトしてもよい。
【００２５】
次に、この図４及び図５を係数として持つＦＩＲフィルタ（図２の遅延回路１２４及びヒルベルトフィルタ１２１）に関して、この両者の処理信号を重み付け合成することで、任意の角度の位相遅れ・位相進み波形を作成することが可能である。これは、図７に示すように、複素空間内で位相が互いに９０°異なる直交系のベクトルａ（遅延回路１２４側の出力ベクトル）及びｂ（ヒルベルトフィルタ１２１側の出力ベクトル）の和によって、０°、９０°以外の位相を表現できることからも明らかである。なお、９０°以外の回転位相角度（ただし０°を除く）であっても、単純遅延の０°と組み合わせて重み付け加算することにより任意の回転位相角度を得ることも可能である。
【００２６】
ここで、図２のオーディオ信号処理装置の可変移相器１２０を参照して、図４の係数のディレイ系ＦＩＲフィルタである遅延回路１２４からの出力が入力される乗算器１２６の重み付けゲインをＧａ、図５の係数のＦＩＲフィルタであるシフト型のヒルベルトフィルタ１２１からの出力が入力される乗算器１２３の重み付けゲインをＧｂとし、入力波形に対して回転したい任意の位相角度（位相シフト量）をＤ°（Ｄ度）とすると、これらの間には次の式が成立する。
【００２７】
Ｇａ＝ｃｏｓ（２πＤ／３６０）
Ｇｂ＝−ｓｉｎ（２πＤ／３６０）
ここでＧｂ側のｓｉｎの前に付される負の符号（−）は、ヒルベルト変換の基本の位相が、９０°（９０度）遅れる（図７中の下方向にある）ためである。
【００２８】
以上により、入力信号波形を任意角度位相操作することができることの説明を行った。次に、図２のオーディオ信号処理装置の制御部１１５における位相角度決定のための制御動作の具体例について、図８を参照しながら説明する。
【００２９】
制御部１１５における位相角度決定のための制御動作は、図８のフローチャートに示すような処理手順を経て位相角度を決定し、これを繰り返すものである。説明を簡単にするために、ここでの内部処理は仮に浮動小数点処理で行っているものとし、オーディオ信号のデータ波高値が１．０より大きい場合、Ｄ／Ａ変換器１１６でのクリップが起こるものと仮定する。また基本的に、本具体例での信号処理動作はブロック単位で行われるものであり、各バッファは少なくとも１ブロック分のサンプルを蓄えるものとする。この１ブロックのサンプル数はシステム全体の遅延にも影響する。ここでは簡単のために、ブロック処理単位を１０２４サンプルとして話を進める。
【００３０】
図８の最初のステップＳ１０１において、上記図２の制御部１１５は、可変移相器１２０における回転位相角度（位相シフト量）Ｄを０°に設定（Ｄ＝０）する。これは、可変移相器１２０内の乗算器１２６、１２３の各重み付けゲインＧａ、Ｇｂをそれぞれ１．０、０．０に設定することに相当する。次のステップＳ１０２では、この設定角度で出力バッファ１４をすべて埋める。すなわち、上記設定角度のときの可変移相器１２０からの出力（乗算器１２６、１２３からの出力の和）を出力バッファ１１４に（上記１ブロック分）蓄積する。次のステップＳ１０３では、出力バッファ１１４内で、この蓄積された（当該１ブロック分の）出力についてクリップが発生しているか否かを判定する。すなわち、１ブロック分の蓄積データの最大波高値が１．０より大きいか否かを判別する。このステップＳ１０３でＹＥＳ（クリップあり）と判定されたときはステップＳ１０４に進み、ＮＯ（クリップなし）と判定されたときは、必要に応じて後述するルーチンＲ１１０を介した後、ステップＳ１１９に進む。
【００３１】
ステップＳ１０４以降においては、可変移相器１２０の回転位相角度（位相シフト量）Ｄを順次変更して、変更された設定角度での可変移相器１２０からの出力についてクリップの有無を判定し、クリップがなくなるまでこれを繰り返す。すなわち、ステップＳ１０４では、回転位相角度Ｄとして、例えば１５°、３０°、４５°、・・・のように予め決めておいた選択肢となる複数の設定角度を順次（現在の設定角度に近いところから）選択して設定し、この設定角度における可変移相器１２０からの出力（１ブロック分）を出力バッファ１１４に送って当該ブロックのデータを更新する。この更新された１ブロック分のデータについて、ステップＳ１０５でクリップが発生しているか否かを再度判定する。上記設定角度の変更は、正方向のみならず負方向にも行うようにしてもよく、また、上述したように予め複数の選択肢を用意しておく代わりに、一定の角度（例えば１５°）を現在の設定角度に加算あるいは減算して次の設定角度を求めるようにしてもよい。この設定角度に応じて上記乗算器１２６、１２３の各重み付けゲインＧａ、Ｇｂが決定されるが、ゲインＧａ、Ｇｂの組の選択肢を予め複数組用意しておいたり、設定角度が一定の角度ずつ加算あるいは減算されるようなゲインＧａ、Ｇｂの値を計算により求めるようにしてもよいことは勿論である。
【００３２】
次のステップＳ１０５では、変更された設定角度での可変移相器１２０からの出力について、クリップが解消できたか否かを判定し、ＹＥＳ（クリップなし）のときはステップＳ１１９に進み、ＮＯのときはステップＳ１０６に進む。ステップＳ１０６では、予め用意されていた設定角度を全て選択したか（総当たりしたか）否かを判別し、ＮＯのときはステップＳ１０４に戻り、ＹＥＳのときはステップＳ１０７に進む。なお、設定角度が一定の角度ずつ加算あるいは減算されることで変更される場合には、ステップＳ１０６では元の設定角度に戻ったか否かを判別すればよい。また、設定角度の変更の範囲あるいは変更の回数を予め定めておき、この変更の範囲や回数を越えるとき、例えば、変更前の最初の設定角度±４５°の範囲を越えるときには、ステップＳ１０６でＹＥＳと判別して、ステップＳ１０７に進むようにしてもよい。
【００３３】
ステップＳ１０７では、これまでの処理において、変更されたいずれの設定角度でもクリップが生じていたことになるが、これらの内のクリップ量が一番小さかった設定角度にて、可変移相器１２０からの出力を出力バッファに送って蓄積（当該ブロックのデータを更新）する。なお、バッファ容量を大きくとれる場合等は、これまで変更された各設定角度でのブロックデータを全て蓄積しておいて、クリップ量が一番小さかった設定角度のブロックデータを用いるようにしてもよい。次のステップＳ１０８では、必要に応じて、例えば従来と同様なリミッタ処理やコンプレッサ処理（ダイナミクス制御）等のクリップ処理を行った後、ステップＳ１１９に進んでいる。
【００３４】
ステップＳ１１９では、クリップ発生がないブロックや、上記位相操作によりクリップがなくなったブロックや、位相操作でもクリップがなくならずクリップ処理を施したブロックについて、出力バッファ１１４からデータを読み出してＤ／Ａ変換器１１６に送り、スピーカ１１７での音響再生が行われる。
【００３５】
図８のルーチンＲ１１０は、音質を重視するように、なるべく上記位相操作を一定範囲（例えば−９０°〜９０°）の間に収めるような処理を行うものであり、必要に応じて採用すればよい。
【００３６】
このルーチンＲ１１０において、上記ステップＳ１０３でＮＯ（クリップなし）と判定されたとき、先ずステップＳ１１１により、前ブロックの処理の際に、可変移相器１２０の回転位相角度（設定角度）が０°以外であったか否かを判定している。このステップＳ１１１でＮＯ（０°）と判定されたときは上記ステップＳ１１９に進んで再生が行われるが、ＹＥＳ（０°以外）と判定されたときにはステップＳ１１２に進む。ステップＳ１１２では、回転位相角度を０°に戻すために、予め決められた既定角度（例えば１５°）以上の変化が必要な否かを判定している。このステップＳ１１２で、ＹＥＳと判定されたときはステップＳ１１３に進んで、設定角度を既定角度分だけ０°方向に戻した後、ステップＳ１１５に進み、ＮＯと判定されたときにはステップＳ１１４に進んで、設定角度を０°にした後、ステップＳ１１５に進む。
【００３７】
ステップＳ１１５では、上述のように位相を０°方向に変更した設定角度で、可変移相器１２０でフィルタ処理した出力データを出力バッファ１１４に書き込むような再計算を行い、当該ブロック内でクリップが発生したか否かを判定している。このステップＳ１１５で、ＮＯ（クリップなし）と判定されたときは上記ステップＳ１１９に進み、ＹＥＳ（クリップあり）と判定されたときはステップＳ１１６に進む。ステップＳ１１６では、上記ステップＳ１１３やＳ１１４での位相を０°方向に変更する前の当初の回転位相角度における可変移相器１２０からの出力データで出力バッファ１１４内を更新し、上記ステップＳ１１９に進む。なお、出力バッファ１１４に上記当初の角度での出力データを残しておいてこれを用いるようにしてもよい。
【００３８】
ここで、クリップが生じた場合は、このクリップを回避するためにステップＳ１０４、Ｓ１０５、Ｓ１０６が繰り返されることにより、前のブロックに比べて大きな回転位相角度の変化が生じることがあるが、クリップが生じない場合には、上記ルーチンＲ１１０を用いることにより、変更された回転位相角度を０°に戻す際に、段階的に（例えば１５°ずつ）緩やかに０°に戻すようにしているため、音質劣化を少なくする効果が期待できる。なお、このルーチンＲ１１０を必要としない用途においては、上記ステップＳ１０３からステップＳ１１９に進むようにすればよい。この場合の設定位相は、例えば−１８０°〜０°〜１８０°の範囲で、常に変化していることになる。
【００３９】
なお、出力バッファ１１４については、主として１ブロック分のデータを蓄積する場合について説明したが、複数ブロック分のデータを蓄積可能とし、設定角度を変更した場合のブロックデータを複数ブロック分蓄積しておき、必要とされるブロックデータを再計算することなく取り出せるようにしてもよいことは勿論である。また、現在処理中のブロックのみならず、時間的に異なる他のブロックについてのブロックデータを蓄積するようにして、円滑な（例えばフェーディング処理等による）位相変化が実現できるようにすることも好ましい。
【００４０】
図９は、例えば３つの時間的に連続するブロックのデータを先読みし、位相変化を円滑に行わせる場合を説明するためのタイミングチャートである。この図９において、処理ブロックＢＬは、ＢＬ０、ＢＬ１、ＢＬ２、ＢＬ３、・・・の順に処理され再生されるものとする。現時点ではブロックＢＬ０が再生されており、このブロックＢＬ０に連続する３つのブロックＢＬ１、ＢＬ２、ＢＬ３を先読みする。ここで、ブロックＢＬ１、ＢＬ２ではクリップが発生しておらず、ブロックＢＬ３でクリップが発生し、これを回避するために、位相操作が必要とされ、上記乗算器１２６、１２３の各重み付けゲインＧａ、ＧｂをそれぞれＧａ３、Ｇｂ３にする必要があるものとする。ここで、ブロックＢＬ１における各重み付けゲインＧａ１、Ｇｂ１から、急激に上記Ｇａ３、Ｇｂ３に切り換えると、これらの間の位相差が大きい場合には、ブロックの切換時に違和感が生じることがある。そこで、ブロックＢＬ１とＢＬ３との間のブロックＢＬ２において、緩やかに位相を変化させるために、重み付けゲインＧａ、Ｇｂを、Ｇａ１、Ｇｂ１からそれぞれ徐々にＧａ３、Ｇｂ３に変化させている。これによって、ブロックＢＬ１からブロックＢＬ２を経由してブロックＢＬ３に移行する際に、回転位相が緩やかに変化することになり、聴感上違和感が抑えられ、音質改善が図れる。
【００４１】
ところで、上記図２の可変移相器１２０においては、ディレイ部（遅延回路１２４）とシフト型ヒルベルトフィルタ１２１とが別になっており、これらのフィルタ出力結果を乗算器１２６、１２３の最適なゲインＧａ、Ｇｂでそれぞれ重み付けしたものを、最終的な移相器出力信号として用いているが、ディレイ部もヒルベルト部も、同じＦＩＲフィルタとして実現することができるうえ、システムブロックとして両者は線形加算が可能なため、図１０のような構成とすることもできる。
【００４２】
この図１０に用いられている可変移相器１３０は、上記図１の可変移相器１１３や図２の可変移相器１２０に相当するものであり、制御部１１５からの制御信号に応じて入力信号（フィルタ１１２からの出力信号）の位相を変化させて出力するものである。なお、ソース１１１、フィルタ１１２、出力バッファ１１４、制御部１１５、Ｄ／Ａ変換器１１６、及びスピーカ１１７は、上述した図１、図２と同様であるため、説明を省略する。
【００４３】
可変移相器１３０は、上記図２の可変移相器１２０と同様に、シフト型ヒルベルトフィルタ出力とディレイフィルタ（遅延回路）出力とを適宜の成分比で加算することで所望の位相回転角度を得るものであるが、これらのフィルタを実現するためのＦＩＲフィルタの係数を先に適宜の成分比で組み合わせて作成し、得られたＦＩＲ係数をＦＩＲフィルタ１３１にロードする（適用する）ようにしている。すなわち、ＦＩＲフィルタでシフト型ヒルベルトフィルタを実現するための係数をシフト型ヒルベルトフィルタ係数生成部１３３で生成して乗算器１３４に送り、ＦＩＲフィルタでディレイフィルタ（遅延回路）を実現するための係数を遅延係数生成部１３５で生成して乗算器１３６に送っている。これらの乗算部１３６、１３４の各乗算係数である重み付けゲインｇａ、ｇｂを、制御部１１５からの制御信号で可変制御して、各乗算部１３６、１３４からの重み付けされた係数をＦＩＲ係数作成部１３７に送ることにより、最終的な遅延出力とシフト型ヒルベルトフィルタ出力との重み付けゲインが上述したようなＧａ、ＧｂとなるようなＦＩＲ係数を作成している。このＦＩＲ係数作成部１３７からのＦＩＲ係数がＦＩＲフィルタ１３１にロードされることにより、ＦＩＲフィルタ１３１では、上記図２の可変移相器１２０と同様な入出力特性が実現される。
【００４４】
次に、図１１は、本発明の他の実施の形態として、信号をｎ個の周波数帯域に分割し、各周波数帯域毎に位相を決定するような例を示すブロック図である。この図１１の例では、上記図２と共に説明したような構成を、各帯域毎に用いるようにしており、各帯域毎に、振幅の最も小さい組み合わせを選択して出力することで、加算された総合振幅も小さいものが期待できるようにしている。
【００４５】
この図１１において、可変移相器１５０には、ソース（音源等）１１１からイコライザ等のフィルタ１１２を介したオーディオ信号が入力され、周波数分割回路１５１によりｎ個の周波数帯域の信号に分割される。このときのカットオフ周波数ｆｃを、それぞれｆ０、ｆ１、ｆ２、・・・、ｆｎ−２、ｆｎ−１としている。帯域分割された各周波数帯域の信号は、それぞれ可変移相器１２０＿０、１２０＿１、・・・に送られる。これらのれ可変移相器１２０＿０、１２０＿１、・・・は、それぞれ上記図２の可変移相器１２０と同様の構成を有しており、各可変移相器１２０＿０、１２０＿１、・・・からの出力は、それぞれ出力バッファ１１４＿０、１１４＿１、・・・に送られ、これらの出力バッファ１１４＿０、１１４＿１、・・・からの出力は、可変移相器１５０からの出力として、総合出力バッファ１１４’に送られる。総合制御部１１５’は、総合出力バッファ１１４’に蓄えられたデータにクリップが生じているか否かを判定し、その判定結果に応じて制御信号を可変移相器５０の各制御部１１５＿０、１１５＿１、・・・に送っている。各制御部１１５＿０、１１５＿１、・・・は、各帯域毎に、振幅が小さくなるような重み付けゲインの組み合わせを選択する。これらの各周波数帯域毎の可変移相器１２０＿０、１２０＿１、・・・、出力バッファ１１４＿０、１１４＿１、・・・、制御部１１５＿０、１１５＿１、・・・は、上述した図２の可変移相器１２０、出力バッファ１１４、制御部１１５と同様であるため、説明を省略する。総合出力バッファ１４’からの出力は、Ｄ／Ａ変換器１１６でアナログオーディオ信号に変換され、スピーカ１１７にて音響信号として再生される。
【００４６】
なお、図１１の各周波数帯域毎の可変移相器１２０＿０、１２０＿１、・・・については、上記図１０の可変移相器１３０のようにＦＩＲ係数を先に求めてＦＩＲフィルタに係数ロードするような構成を用いてもよい。
【００４７】
以上の実施の形態では、上記図１の可変移相器１１３として、ディレイフィルタ（遅延回路）出力とシフト型のヒルベルトフィルタ出力とを適宜の成分比で重み付け加算することにより所望の回転位相角度を実現するものを用いているが、入力出力特性として所望の回転位相角度が直接的に得られるような位相推移装置を用いてもよい。この位相推移装置は、アナログで構成される場合は、多段の全帯域通過フィルタ（All pass filter：ＡＰＦ）で構成される。また、デジタルで構成される場合は、多段の巡回形（Infinite Impulse Response：ＩＩＲ）フィルタまたは十分なタップ数をもった非巡回形（Finite Impulse Response：ＦＩＲ）フィルタで構成される。また、上記シフト型のヒルベルトフィルタの代わりに、入力出力特性として、各周波数ｆ毎の位相が、π／２＋ｎπ [rad]（ｎは整数）となる特性を有する位相推移装置を用いるようにしてもよい。
【００４８】
図１２は、上記図１の可変移相器１１３、あるいは図２のシフト型のヒルベルトフィルタ１２１の代わりに使用可能な位相推移装置の一例として、ＩＩＲフィルタを１０段接続した位相推移装置１３を示す図である。入力端子１５を介して入力された入力音声信号Ｓ０（図１のフィルタ１１２からの出力信号）を、１０段接続したＩＩＲフィルタ１６１、１６２、１６３・・・１６９及び１６１０を通してフィルタリングする構成である。各ＩＩＲフィルタは、全帯域通過フィルタ（ＡＰＦ）として設計された、例えば２次のＩＩＲである。振幅（ゲイン）特性は周波数によらず一定であるが、位相は周波数に応じてシフトすることを特徴としている。このため、個々に異なる位相特性を持つＩＩＲフィルタを多段、例えば１０段接続することにより、ほぼ全周波数帯域にわたって一定に位相を推移することができ、出力端子１７からこの位相推移出力を出力することができる。
【００４９】
図１３及び図１４には例えば図１２のＩＩＲフィルタ１６１及びＩＩＲフィルタ１６２の振幅特性、位相特性を示す。縦軸は左側が振幅Gain[dB]であり、右側が０°からπ（pi）までの位相シフト量[rad］である。
【００５０】
図１３及び図１４には、それぞれＩＩＲフィルタ１６１及びＩＩＲフィルタ１６２の伝達関数Ｈ（ｓ）の式を示している。これらの例では、Ａ３，Ａ４，Ｂ３，Ｂ４の係数を０としている。つまり、前述したように２次のＩＩＲフィルタの例である。
【００５１】
図１３に示す例えばＩＩＲフィルタ１６１の各特性では、振幅特性Gainが０［dB］一定であり、位相特性phaseが周波数によって変化している。つまり、振幅は一定であるが、位相のシフト量が変化していることがわかる。位相シフト量は、周波数10Hzでπ*(9/10)[rad］、100Hzでπ*（6/10）[rad]、1000Hzでπ*(1/10)[rad]、10000Hzで0[rad]である。また、図１４に示す例えばＩＩＲフィルタ１６２の各特性でも、振幅特性Gainが０［dB］一定であり、位相特性phaseが周波数によって変化している。位相シフト量は、周波数10Hzでπ[rad］、100Hzでπ*（9/10）[rad]、1000Hzでπ*(6/10)[rad]、10000Hzでπ*(1/10)[rad]である。よって、ＩＩＲフィルタ１６１とＩＩＲフィルタ１６２とでは、位相特性が相互に異なっていることがわかる。
【００５２】
もちろん、ＩＩＲフィルタによるＡＰＦは２次であることに限定されるものではなく、１次でも、３次以上の高次でもよく、多段接続することにより、例えば図１３及び図１４のような位相特性を重ねていき、所望の位相特性を設計するようにすればよい。
【００５３】
図１５は、上記図１３及び図１４に示した、それぞれＩＩＲフィルタ１６１及びＩＩＲフィルタ１６２のように周波数に対して相互に異なった位相特性を有する、複数のＩＩＲフィルタを、図１２に示したように１０段接続することによって、得られる位相推移装置の遅延特性を示す。図１３及び図１４の位相特性をはじめ、各ＩＩＲフィルタ１６３・・・１６９及び１６１０の位相特性を重ね合わせることにより形成できる。図１５の縦軸に示した群遅延時間[t]は、横軸の周波数[Hz]によって単調に変化する。この場合、周波数が高くなるにつれ、遅延時間は単調に減っている。つまり、群遅延量（時間）は、周波数に応じて変化していく。この特性を用いることにより、位相推移装置１３への入力信号と位相推移出力信号との位相差を補正することができる。
【００５４】
図１５に示した位相推移装置を、上記図２のシフト型のヒルベルトフィルタ１２１の代わりに用いる場合の入力出力特性は、理想的には、各周波数ｆ毎の位相が、π／２＋ｎπ [rad]となる。ｎは整数であり、遅延量を大きくしたい場合はこれをより大きい整数値にすればよい。ただし、遅延効果としては群遅延量の大きい低域成分に対して遅延効果があり、高域に対しては１波長あたりの周期が短いので遅延効果は少ない。
【００５５】
なお、上記ｎが正確に整数でなく、入力信号と位相推移装置１３の位相推移出力信号との位相差が９０°に対して±１０°、±２０°のように多少ずれても、実用上問題のない場合もある。
【００５６】
図１６には、ｎ次のＩＩＲフィルタの構成例を示す。入力端子２１からの入力信号Ｘは係数乗算器２２で係数ｃが乗算されてから、加算器２３に供給される。加算器２３には後述する加算器３６からの加算出力も供給される。加算器２３の加算出力Ｔは、１クロック周期分の遅延器２６及び後述の加算器２４に供給される。遅延器２６は、１クロック周期分の遅延した出力信号を係数乗算器２７、係数乗算器２８及び遅延器２９に供給する。係数乗算器２７は、遅延器２６の遅延出力信号に係数ａ１を乗算し加算器３６に供給する。加算器３６には後述の加算器３５からの加算出力も供給されている。係数乗算器２８は、遅延器２６の遅延出力信号に係数ｂ１を乗算し加算器３８に供給する。加算器３８には後述の加算器３７からの加算出力も供給されている。遅延器２９は、遅延器２６の遅延出力信号をさらに１クロック周期分遅延し、遅延出力信号を係数乗算器３０、係数乗算器３１及び次段の遅延器・に供給する。係数乗算器３０は、遅延器２９の遅延出力信号に係数ａ２を乗算し加算器３５に供給する。加算器３５には加算器・からの加算出力も供給されている。係数乗算器３１は、遅延器２９の遅延出力信号に係数ｂ２を乗算し加算器３７に供給する。加算器３７には加算器・からの加算出力も供給されている。同様にして、遅延器３２には前段の遅延器の遅延出力信号が供給される。遅延器３２はさらに１クロック周期分遅延した遅延出力信号を係数乗算器３３及び係数乗算器３４に供給する。係数乗算器３３は、遅延器３２の遅延出力信号に係数ａｎを乗算したのち、前段の加算器に戻す。また、係数乗算器３４は、遅延器３２の遅延出力信号に係数ｂｎを乗算したのち、前段の加算器に戻す。そして、加算器・・、加算器３５及び加算器３６からの加算出力は加算器２３に戻される。また、加算器・・、加算器３７及び加算器３８からの加算出力は加算器２４に戻される。加算器２４は出力端子２５に接続しており、出力端子２５からは出力信号Ｙが出力される。このｎ次のＩＩＲフィルタは、次数（ｎ）の分だけ深くなるのはもちろんである。
【００５７】
図１７には、図１６に構成を示したｎ次のＩＩＲフィルタを基本とした、２次のＩＩＲフィルタ４１１、４１２・・・及び４１ｍを多段（ｍ段）接続した構成を示す。この２次ＩＩＲフィルタの多段接続構成によれば、図１５に示したような群遅延特性を得ることができる。また、伝達関数を部分分数分解してＩＩＲフィルタを並列に接続する構成としてもよい。
【００５８】
ここで、図１の制御部１１５により可変移相器１１３に相当する上記位相推移装置の各係数等を制御することで位相推移量を変更することができ、位相推移量（回転位相角度）を任意の角度に制御することができる。また、上述したように、位相推移装置の位相推移量（回転位相角度）を９０°（又は−９０°）あるいはその前後の値に固定し、上記図２のヒルベルトフィルタ１２１の代わりに用いて、この位相推移装置からの出力と遅延回路１２４からの出力との重み付けゲインを調整することで回転位相角度を制御するようにしてもよいことは勿論である。なお、９０°以外の（非０の）回転位相角度でも、単純遅延の０°と組み合わせて重み付け加算することにより任意の回転位相角度を得ることも可能である。
【００５９】
以上説明した本発明の実施の形態においては、説明を簡略化するために、１つのオーディオ信号（モノラル信号）について述べているが、ステレオやマルチチャンネルの場合にも、各チャンネルに対応する出力バッファを評価し、全チャンネルに同じ角度分だけの位相操作をすることで、同様の効果が得られるものである。
【００６０】
また、上記実施の形態では、デジタル信号入力を想定してデジタル信号処理を行う場合について説明したが、アナログの入力オーディオ信号に対して、アナログ信号処理を行う場合にも本発明を適用可能であることは勿論である。
【００６１】
本発明の実施の形態により、クリップを回避することが難しいほど大きな出力がある場合にも、波形全体の振幅を抑える効果により、リミッタ処理など従来型クリップ処理の手段と組み合わせた場合でも、従来タイプに比べ、歪み・音質劣化を被る程度を減らすことができる。
【００６２】
なお、本発明は上述した実施の形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。
【図面の簡単な説明】
【００６３】
【図１】本発明の実施の形態となるオーディオ信号処理装置の概略構成を示すブロック図である。
【図２】本発明の実施の形態となるオーディオ信号処理装置の他の例を示すブロック図である。
【図３】ヒルベルト変換の伝達関数のインパルス応答を示す図である。
【図４】循環シフトを行った遅延回路のインパルス応答を示す図である。
【図５】循環シフトを行ったヒルベルト変換フィルタのインパルス応答を示す図である。
【図６】循環シフトのサンプル数を異ならせたヒルベルト変換フィルタのインパルス応答を示す図である。
【図７】遅延回路出力ベクトルａと、ヒルベルトフィルタ出力ベクトルｂとの重み付け合成を説明するための図である。
【図８】オーディオ信号処理装置の制御部における位相角度決定のための制御動作の具体例を説明するためのフローチャートである。
【図９】時間的に連続する３ブロックのデータを先読みし、位相変化を円滑に行わせる場合を説明するためのタイミングチャートである。
【図１０】本発明の実施の形態となるオーディオ信号処理装置の可変移相器にフィルタ係数がロードされるＦＩＲフィルタを用いる例を示すブロック図である。
【図１１】本発明のさらに他の実施の形態として、入力信号をｎ個の周波数帯域に分割して各周波数帯域毎に位相を決定するような例を示すブロック図である。
【図１２】図１の可変移相器１１３に用いられる位相推移装置の一例としてＩＩＲフィルタを１０段接続した位相推移装置１３を示す図である。
【図１３】ＩＩＲフィルタ１６１の振幅特性及び位相特性を示す図である。
【図１４】ＩＩＲフィルタ１６２の振幅特性及び位相特性を示す図である。
【図１５】位相推移装置の遅延特性を示す図である。
【図１６】ｎ次のＩＩＲフィルタの構成例を示す図である。
【図１７】２次のＩＩＲフィルタ４１１、４１２・・・及び４１ｍを多段（ｍ段）接続した構成を示す図である。
【符号の説明】
【００６４】
１３  位相推移装置、  １１３，１２０，１３０，１５０  可変移相器、  １１４  出力バッファ、  １１５  制御部、  １２１  シフト型ヒルベルトフィルタ、  １２３，１２６，１３４，１３６  乗算器、  １２４  遅延回路、  １３１  ＦＩＲフィルタ、  １３３  シフト型ヒルベルトフィルタ係数生成部、  １３５  遅延係数生成部、  １３７  ＦＩＲ係数作成部
【図１】
2007067578.tif 000004
【図２】
2007067578.tif 000005
【図３】
2007067578.tif 000006
【図４】
2007067578.tif 000007
【図５】
2007067578.tif 000008
【図６】
2007067578.tif 000009
【図７】
2007067578.tif 000010
【図８】
2007067578.tif 000011
【図９】
2007067578.tif 000012
【図１０】
2007067578.tif 000013
【図１１】
2007067578.tif 000014
【図１２】
2007067578.tif 000015
【図１３】
2007067578.tif 000016
【図１４】
2007067578.tif 000017
【図１５】
2007067578.tif 000018
【図１６】
2007067578.tif 000019
【図１７】
2007067578.tif 000020