【課題を解決するための手段】
【0010】
この課題は、請求項1の特徴部分によって解決される。本発明の有利な発展態様は、下位請求項から与えられる。
【0011】
本発明の核心は、出力信号から減算信号が算出され、当該減算信号がフーリエ変換され、このようにして得られた変換信号において個別信号が算出される点である。これにより、統計学的な方法及び再帰法は不要とされ、実時間内の個別信号の算出が達成される。ここで、実時間というのは、入って来るデータストリーム(Datenstrom)が、信号の最初のブロックを計算する際に生じる限界的な時間のずれを有しつつ再生すべき信号が中断なく提供され得ることを意味する。従って、例えば、録音から、或る特定の歌声と例えばピアノとを引き出して、選択すべき混合比率で特定のスピーカに割り当て、その際に出力信号が事前に処理されていなくてもよいようにできる。こうして、例えば、自動車の中でCDをセットし、歌および場合によっては引き出すべき信号の配分や引き出すべき信号そのものを決め、遅れを気付かせることなく歌やCDの再生を開始できるようになるはずである。
【0012】
出力信号上での源信号の混合比率は、方向を特定することで算出することができる。そのために、出力信号はフーリエ変換され、振幅値が計算される。これら振幅値は、一つのヒストグラムにまとめられる。そのために、フーリエ変換された出力信号からポイント対が作られ、その際に、ヒストグラムにおけるポイント対は、得られる角度によってまとめることができる。ポイント対の角度は、このとき、0°から90°の間の値を取り、次のように求められる。
【0013】
【数1】
【0014】
ここで、X
〜1,orgは、フーリエ変換された第1の出力信号X
1を、X
〜2,orgは、フーリエ変換された第2の出力信号X
2を示し、a
x及びa
yは、ベクトルを示し、このベクトルには大きさが含まれる。綴りのlは、出力信号X
1,X
2ないしフーリエ変換された出力信号X
〜1,org,X
〜2,orgの項数インデックスであり、これに基づいてポイント対が突き止められる。フーリエ変換された出力信号X
〜1,orgの第1の数値とフーリエ変換された出力信号X
〜2,orgの第1の数値はベクトルに他ならないが、これらの第1の数値は、したがってl=1の第1のポイント対を形成する。もちろん、項数インデックスlは0から始まってもよく、その場合、項数インデックスはL−1まで続く。ここで、Lは、各出力信号X
1,X
2のフーリエ変換されたポイントの数(例えば4096点)を示す。θは、0°から90°の間の角度であり、Ψ
lは、インデックスlを持つポイント対の大きさである。
【0015】
ベクトルΨ
lは、ベクトルa
x及びa
yの大きさの和を内容とする。
【0016】
【数2】
【0017】
フーリエ変換はブロックで実行される。入力信号として、それぞれ2のべき乗、つまり、2を累乗したものが用いられる。10乗、11乗又は12乗、つまり、1024、2048又は4096のデータポイントが特に効率的であることが判明した。特に好ましくは、4096のデータポイントであり、その理由は、計算コストを考慮すると計算時間が最適であるからである。
【0018】
ヒストグラムの区分けは、好ましくは1°単位で行われる。すなわち、ヒストグラムは90の区間を含む。角度θの値はこのとき、ヒストグラムの数値範囲を区切るために整数値に丸められる(gerundet)。
【0019】
最後に、ヒストグラムは、最大(複数の最大)が分かりやすくなるように平坦化される。平坦化関数として、次の関数が用いられる。
【0020】
【数3】
【0021】
パラメータTは、整数であり、隣接ポイントが平坦化に幾つ組み込まれるかを与える。したがって、複数のデータポイントに亘る平均が行われる。S隣接ポイントが存在しないようなヒストグラムの端では、補足すべき相応の位置に0の値が用いられる。ヒストグラムの一番目の度数(Zahlenwert)を計算する際には、したがって、片側では0の値を8回適用されるべきで、その一方、他側では既存の度数が用いられる。平坦化されたヒストグラムにおいて、全ての局所的な極値が特定され、度数の高さ、つまりは頻度により仕分けされる。ヒストグラムにおける各所は、上述のとおり一つの角度に対応しており、その結果、各極値に一つの角度が対応する。見出された最大(複数の最大)に対応する角度が特定され、予め設定された数の最大が用いられるか、又は、予め設定された閾値を頻度が超えるもの全ての最大が用いられる。
【0022】
平坦化されたヒストグラム‐ベクトルは、こうして次のようになる。
【0023】
【数4】
【0024】
ここで、i=0,…,90である。ここで、生じ得る問題は、源信号は、出力信号における全ての期間に亘っては現れないということである。例えば、特定の楽器や歌声は休止する。この休止が、角度を特定する際のエラーを引き起こさないように、二つないしそれより多くのヒストグラムを求めた後、並びに、それに対応する角度を特定した後に、次のヒストグラムに、例えばローパスといった重み関数を掛け合わせることができる。ローパスは、次式で表すことができる。
【0025】
【数5】
【0026】
ここで、a=0.1及びb=0.9である。インデックスnは、ヒストグラムのインデックスであり、具体的には、最初のヒストグラムないし最初の4096データポイントではn=1である。ローパスを用いることで、ヒストグラムh
gl_TPが得られる。
【0027】
この重み付けにより、角度の識別が安定化される。
【0028】
算出された角度をもとにして二つの源信号の混合比率が決まるが、その場合、角度として、
【0029】
【数6】
【0030】
が次式に代入される。
【0031】
【数7】
【0032】
ヒストグラムの最大が、例えば18°のところにあるとすると、混合比率としてV=0.325が得られる。
【0033】
混合比率をもとに、減算信号が計算され、二つの出力信号の場合には次のように与えられる。
【0034】
【数8】
【0035】
ここで、N=1,2,…である。Nは、フィルターで取り去るべき(auszufilternden)源信号のインデックスである。
【0036】
混合比率が1より大きいか小さいかに応じて、それに応じた減算信号が計算される。このとき、二つよりも多くの出力信号を用いることもできるが、しかしそれをすると単に計算コストが高くなるという結果になる。ステレオ信号の場合のように二つの出力信号だけでなく、それより多い出力信号が存在する場合、それゆえ好適には、源信号を抽出するために、源信号が最も強く表れているような二つの出力信号が選択される。
【0037】
このように算出された減算信号では、いずれにおいても一つの源信号が遮蔽されている。
【0038】
これらの減算信号は、次にフーリエ変換される。これはブロック式に行われ、その際に、後続するブロックは、常に、先に変換しているデータポイントの半分の大きさに相当する幅を有して始まる。このことはすなわち、一つのブロックの前半部分は、先行するブロックの第二部分として既にフーリエ変換済みであることを意味する。
【0039】
この方法は、連続的な信号処理を可能とし、重畳加算法の名で知られている。
【0040】
リーケージ効果を最小化するために、入力ブロックに窓(例えばハニング窓(Hanning−Fenster))が掛け合わされる。Nのデータポイントのための窓関数f(n)は、以下のものである。
【0041】
【数9】
【0042】
フーリエ変換された減算信号X
〜(以下、「変換信号」と称する。)から、剰余信号が算出される。二つの変換信号X
〜に対し、剰余信号は、第1の変換信号から第2の変換信号を単純に減算したものとして与えられる。すなわち、
【0043】
【数10】
【0044】
以下においては、引き続き二つの変換信号X
〜1,X
〜2と一つの剰余信号X
〜3からスタートして、これが全部で三つの信号を生じさせる。そのようなわけで、一つの個別信号を抽出するために、これら三つの信号が互いに比較される。
【0045】
信号X
〜1,X
〜2,X
〜3の各データポイントについては、通常は、各信号が4096のデータポイントを有し、三つの信号の振幅から極値が計算される。
【0046】
3x4096のデータポイントを持つアレイから開始される。数字の3が変換信号と剰余信号の数を示し、4096が一つのブロック内のフーリエ変換されたデータポイントの数を示している。ベクトルX
〜1,X
〜2,X
〜3の最初の周波数ビンないし最初のデータポイントに注目すると、比較するための三つの度数が決まる。これら三つの値の最小の値のところで、他の二つの値のうち最大の方の値が設定されるとともに、他の値はゼロに設定される。
【0047】
このことをはっきり説明するために、数値例を示す。
【0048】
位置X
〜1の第1の値が5、X
〜2の第1の値が10、そしてX
〜3の第1の値が15とする。すると、5のところに数値15が設定されるとともに、X
〜2及びX
〜3の第1の数値が0に設定される。かくして、数値は、列ごとに検討される。4096の列と三つの行からなるアレイが得られ、このアレイでは、3分の2の値がゼロである。ゼロに等しくない値は、個別ベクトルに亘って不規則に配分されている。X
〜1及びX
〜2に対する個別ベクトルは、S
〜1及びS
〜2と称し、計算処理後の源信号S
1,S
2がフーリエ変換されたものである。出来た
剰余信号X
〜3のベクトルは、それ以上は重要でない。
【0049】
S
〜1及びS
〜2の算出は、次の式により与えられている。
【0050】
【数11】
【0051】
ここで、kは、データポイントないし周波数ビンの項数インデックスであり、データポイントの場合では値が1から2048に及ぶ。周波数ビンの半分しか及ばないはずであるのは、対称性の理由からフーリエ変換に伴ってデータポイントが二重に発生しているからである。上記の例ではk=1であった。
【0052】
このように転換された行(これらは信号X
〜1,X
〜2に対応していたものである。)、つまりは個別信号S
〜1,S
〜2を用いると、これをもとに、計算処理された源信号S1,S2を逆フーリエ変換により算出することができる。位相として、信号X
〜1,X
〜2の位相もまたそのまま考慮することができる。S
〜1及びS
〜2にはしたがって、ベクトルX
〜1,X
〜2からの各位相が割り当てられる。この割り当ては、当然のことながら項数インデックスkに基づいて行われる。
【0053】
個別信号S
〜1,S
〜2ないしフーリエ変換された個別信号S
1,S
2は、計算精度や計算誤差のために源信号とは少し異なったものになり得る。すなわち、源信号を完全に再生することは確かに達成されないものの、しかしその違いは僅かなもので、通常はその違いに気づくことはない程である。
【0054】
個別信号の分離を改善するために、以下の工程が可能である。
【0055】
最小を見分けるのに飛びがないようにするために、先に行った最小の見分けに応じて信号X
〜1,X
〜2,X
〜3の最小を確定することが行われてもよい。例えば、条件付きのローパスフィルタ(bedingter Tiefpassfilter)が用いられてもよい。
【0056】
【数12】
【0057】
P
thold(k)は、周波数ビンkの注目対象の値であり、このkはここでもまた項数インデックスである。パラメータbは、0と1の間で自由に設定可能であり、b=0のときに周波数の感知は遮断されている。
【0058】
S
〜1及びS
〜2の算出は、次に以下の式により行われる。
【0059】
【数13】
【0060】
パラメータη(0≦η≦1)は、ローパスフィルタを通された信号がいかなる強度で個別信号S
〜m,m=1,2,3,…に入り込むかを与える。
【0061】
さらに、変換信号X
〜m,m=1,2,4,5,…の最小は、別々に
剰余信号X
〜3と比較することができ、つまりは、最小の特定E
min(k)、0又は列の最大値E
max(k)をあてがあうこと等は、変換信号X
〜mと
剰余信号の間でそれぞれ実行される。このようにして、ベクトルE
min1,E
min2,E
max1,E
max2が算出される。最小値には、因子β(0≦β≦2)が掛け合わされる。因子の選択次第で、異なる効果が生じる。β<1に関しては、望ましくない周波数は抑えられ、β>1に関しては、調和した音調形成が得られる。
【0062】
個別信号は、以下のものとなる。
【0063】
【数14】
【0064】
加えて、信号は、位相状態をもとに分離することができる。変換信号X
〜m(k)の振幅が略同じでかつ
剰余信号X
〜3(k)に最小値があるときには、位相が考慮される。これらの位相が同じであると、最大値がS
〜3(k)に割り当てられ、そうでなければS
〜1(k)及びS
〜2(k)に割り当てられる。この考え方は、もちろん、各周波数ビンkに対し別々に実行可能である。
【0065】
以下が適宜成り立つ。
【0066】
【数15】
【0067】
加えて、フーリエ変換された出力信号X
〜m,orgをさらに考慮することができる。最小値がX
〜1,org(k)にあるとき、これらが、同じようにS
〜1(k)に割り振られる。
【0068】
【数16】
【0069】
本発明は、図面に記載された実施形態に基づいてより詳細に説明される。