この書類に開示されていることは、後述の発明の詳細な説明の欄を後述の図面に関連して参照することにより、理解されるかもしれない。注目すべきことは、説明を明瞭にすることを目的として、種々の図面中のいくつかの具体的な要素が実寸に沿うように描かれているわけではないということである。
この書類に開示されていることにより、ハイゼンベルグ不確定性低減型変換のためのデジタル信号処理方法が提供され、その変換により、フレーム内(intra-frame、イントラフレーム、変換フレーム内に存在する)時間次元が周波数変換の出力結果(the output of frequency transforms、時間ドメイン信号を周波数変換して取得される周波数ドメイン信号)内に導入され、それにより、複数の時間ドメイン測定値の各々につき、複数の周波数変換についての1つの行列が効果的に生成される。電磁信号の周波数解析においては、周波数解析が同時に行われる複数の時間ドメイン測定値が、1つの「変換フレーム」と称される。入力信号が、各変換フレームごとに、N個の時間ドメイン測定値を有するかもしれず、ここに、Nは、変換サイズ(transform size、1つの変換フレーム内の時間ドメイン・サンプルの数、時間ドメイン信号についてのサンプリング点数)を表す。具体的には、前記フレーム内時間次元が、1回分の(single、単一の、1個の変換フレームごとに1回分の)高速フーリエ変換(FFT)または他の任意の周波数変換の出力結果に追加されることが、同時に(in unison、前記FFTとは別に、かつ、それと同時に)か、または、複数の変換フレームについての短時間フーリエ変換(STFT)シーケンス(a Short-Time Fourier Transform (STFT) sequence of transform frames、複数の変換フレームが短時間フーリエ変換(STFT)された複数の周波数変換結果の列)の一部として(as part of、前記STFT演算の一部として)行われ、そのSTFTは、図1を参照して後述される。
ハイゼンベルグの不確定性原理は、従来の周波数変換の時間分解能および周波数分解能を支配する。その不確定性原理が分解能に及ぼす影響は、高冗長性周波数ドメイン表現に対して周波数間(cross-frequency、周波数成分間)位相カップリング(CFPC(CFPC、複数の近傍周波数成分において位相カップリングする処理、近傍周波数間位相結合、複数の近傍周波数成分を結合することによってそれら成分の位相を整合し、または同期させる信号処理、複数の近傍周波数成分を結合することによってそれら成分を相互に平滑化する信号処理))を用いることにより、軽減されるかもしれない。そのCFPCは、単一の不変式、局所的時間−周波数局在化パラメータλもしくは適応値λ(adaptiveλ、相手に対して適応的に決定されるλ)であって前記信号の性質と共に変化するもの、および/または時間周波数位置(time and frequency location、時間と周波数とによって特定される位置、時空間上の位置)を用いてもよい。前記入力信号についての周波数変換に対する後処理工程(post-processing、前記周波数変換後に行われる処理工程、前記周波数変換の結果に対する処理工程)を適用することにより、従来の複数の周波数変換結果内に隠されているフレーム内構成情報(intra-frame structural information、当該フレーム内に存在する前記構成情報、時間と強度との関係というような信号の時系列を特定するための情報など)が顕在化されるかもしれない。本方法は、異なる複数の周波数領域の間の同期を取る(introduce synchronization between、シンクロを取る、同調を取る、位相同期を行う)ために同位置(same-location、ほぼ同じないしは近傍の周波数の領域ないしは位置に適用される、など)CFPCを用いる。具体的には、複数の複素数型の正弦波が並んだアレイ(array、整列したもの)であって、1つの変換フレーム内においてサンプリングされたすべての時間インスタンスtが周波数変換された複数の周波数、複数の位相および複数の強度に対応するものを明示的に(explicitly、顕在的に、視認可能に)生成することと、互いに隣接する複数の周波数間にCFPCを適用することとにより、本方法は、不確定性原理を回避するように作用することができ、そして、1つの変換フレーム内におけるすべての時間インスタンスtについての瞬時強度および瞬時位相の推定値を提供することができる。
本方法によれば、時間次元を追加することによって時間−周波数行列を生成するために周波数変換の出力結果について計算上の拡張(computational extension、計算上の次元拡張、計算上のドメイン拡張)が実現される。前記行列(the matrix、前記時間−周波数行列)の複数の変換係数は、各周波数の位置において、1つの複素数の指数関数または正弦波の複数の実数部および複数の虚数部、または、前記分析対象である1つの変換フレーム内の他のいくつかの適当な基底関数を有するかもしれない。
本方法によれば、周波数分解能から独立して制御されるフレーム内時間分解能が提供される。前記周波数分解能は、変換サイズに依存しているが、時間上の局在化すなわち時間分解能は、変換サイズに依存しない。代わりに、その時間分解能は、平滑化パラメータすなわち局所的時間−周波数局在化パラメータλに依存し、その局所的時間−周波数局在化パラメータλは、手動で選択してもよいし、局所的な基準(criteria、評価基準、目標基準)または信号特性に基づいて適応的に決定してもよい。
本方法によれば、後述のSTFT法内のスペクトル漏れ(spectral leakage)を最小化するように一般的に用いられるアポダイゼーション(apodization)(「窓(windowing、窓掛け)」)関数(function、窓関数)を用いる必要性も、そのような関数の影響力も除外される。図1は、デジタル化された時間ドメインの電磁信号を分析して復元する(reconstruct、再構成する)ための従来のSTFT手順を示している。複数のFFT結果値より成る1つの列であってしばしば短時間フーリエ変換すなわちSTFTと称されるものが、1つの信号を、互いに重複する複数のチャンク(chunk、固まり)であって、各々、時間ドメイン・データより成るものに分割し、そして、それらチャンクをそれぞれ順に連続的に変換するために一般的に用いられる。図示するように、互いに重複する複数の窓(window、窓関数)104を用いることにより、時間ドメインの入力信号102が、一般に、最初の複数の窓セグメント(windowed segments、時間窓)106に分割され、それら窓セグメント106は、隣接する窓セグメントと部分的に重複する。それら窓セグメント106は、それぞれ、しばしば、「変換フレーム」と称される。STFTは、しばしば、複数の窓104を、少なくとも窓長(window width、時間窓長)半値の位置において互いに重複させる。そのSTFTは、前記信号(the signal、前記電磁信号)102内のすべての成分を保持するために、大きい重複(large overlap、長い重複長さ)を必要とする。
各変換フレームは、複数の時間ドメイン測定値を有する。その後、1回分のFFTが、各変換フレーム106に対して適用され、それにより、1つの周波数スペクトル・セグメント108を発生させ、その周波数スペクトル・セグメント108は、その後、修正された複数のスペクトル・セグメント110を発生させるためのスペクトル操作(manipulation、編集、ユーザによるスペクトル編集)のために用いてもよい。例えば、前記1つの周波数スペクトル・セグメント108は、前記入力信号102のうちの一部が抑圧され、強調され、変更され、または、新しいいくつかの成分が発生させられるように、修正された複数のスペクトル・セグメント(modified spectrum seguments、修正済みスペクトル・セグメント)110に変化させられることが可能である。各周波数スペクトル・セグメント108は、「フリーズ・フレーム(freeze-frame、静止した1コマ画像、ストップモーション画像)」、すなわち、1つの窓セグメント106について平均化された1つのスペクトル図(spectral view、スペクトル周波数解析結果を表す図)を提供する。前記スペクトル操作(manipulation、編集、ユーザによる編集)後、各修正済みスペクトル・セグメント110が、複数の修正済み窓セグメント112に逆変換され(inversely transformed、IFFTが行われ)、それら修正済み窓セグメント112は、複数の最初の窓セグメント106から修正されたものであるかもしれない。復元された(reconstructed、再構成された、再現された)1つの信号114が、複数の修正済み窓セグメント112を互いに加算することによって取得されるかもしれない。
実際、不確定性原理が各窓セグメント106について依然と存在し、それにより、高時間分解能および高周波数分解能の両立が不可能となっている。前記STFTについての多くの設定態様が、時間分解能であるか周波数分解能であるかを問わず、1つの分解能(one resolution、あるドメインでの分解能)と他のドメインでの分解能との間でのトレードオフを行う(trade off、折り合いをつける)ために開発されてきた。例えば、前記STFTは、変換サイズを入力信号102に適応するように決定するかもしれない。前記STFTは、さらに、入力信号102を、異なる複数の周波数帯域(band、バンド)に分割し、各帯域(band、バンド)ごとに異なる変換サイズを用いるかもしれない。前記STFTは、さらに、信号成分についての別の表現を提供するために、その信号を変調するかもしれない。前記STFTは、さらに、時間軸上または周波数軸上において互いに隣接する複数の変換(transforms、複数回の変換)の出力結果を平均化するかもしれない。しかし、それら実施態様のいずれであっても、不確定性原理の影響力を軽減せず、代わりに、あるドメイン(例えば、時間ドメインまたは周波数ドメイン)内の分解能を改善する一方で、他のドメイン内の分解能を犠牲にすることにより、不確定性原理を回避するように作用する。従来の周波数変換では、1つの変換フレーム内において、複数の時間局在化(time-localized、時間的に局在化する、時間軸上において局在化する、非定常的に出現する、一時的に出現する)いくつかの特徴量(features)を識別する(distinguish、他のものから区別する、同定する)ことができない。
前記STFTアプローチにより、いくつかの時間的変化部(temporal changes、前記時間局在化特徴量)が入力信号102内において、互いに隣接する複数の変換フレームに及ぶように拡散され(spreads、同じ時間的変化部を複数の変換フレーム内に併存させ)、また、時間ドメイン内における局在性の喪失(loss in localization、同じ時間的変化部が複数の変換フレーム内に併存し、その時間的変化部の時間局在性が喪失することなど)が原因で、周波数ドメイン内の操作(manipulation、編集、ユーザによる編集)が、セグメント106/112の内部におけるすべての時間ドメイン測定値に適用されてしまう。この理由のため、STFTスペクトル表現を操作(manipulation、編集、ユーザが編集)すると、STFTではサンプル・アキュレートなスペクトル編集が不可能であるというように、信号復元後に1つの時間ドメイン測定値より多い時間ドメイン測定値を編集してしまうことになる。
他の既存の方法は、ウェーブレット(Wavelet)変換もしくはウェーブレット・パケット変換、最大エントロピー法、ラップド(lapped)直交変換、ガボール(Gabor)変換、または、双線型(quadratic)時間−周波数解析であってウィグナー・ビレ(Wigner-Ville)分布およびそれらに関連する時間−周波数解析法のようなものを用いる。しかし、それらの方法は、負のエネルギー、エイリアシング(aliasing、偽信号)および交差項歪み(cross-term distortion、クロスターム歪み、共分散歪み)というような、程度の異なる(varying degrees)複数のアーティファクト(artifact、ノイズ)を、測定された信号に導入してしまう。それらの方法は、計算費用が高価なものであるかもしれず、また、直接的な修正を支援する(support、を容易にする)物理的に有意義な表現(例えば、強度、周波数および位相)を考慮することが容易ではないものかもしれない。さらに、解析された成分を修正すると、それらの方法の解析結果を逆変換して、修正された時間ドメイン信号を生じさせることが困難であるかもしれず、また、それらの方法では、本方法と同じ分解能を時間ドメイン内において実現しないかもしれない。一方、「周波数」という概念は、本質的に、正弦波を意味しており、よって、それら正弦波は、周波数ドメイン内において前記信号を厳密に表現しているものではなく、このことにより、ユーザによる手動での操作(manipulation、編集)が直感に反するものとなってしまう。
図2は、この書類に開示されていることに従う入力信号を示す。具体的には、入力信号200が、時間(TIME)と共に変化する振幅(AMPLITUDE)として測定されている。この入力信号200は、時間ドメイン(TIME DOMAIN)内において振幅を示している。この入力信号200は、本方法が作用する仕方を図解するために、この例においては、既知のテスト信号(TEST SIGNAL)である。この入力信号200は、第1,第2,第3および第4の時間成分、すなわち、図4A−図4Dにそれぞれ示すスペクトル成分402,404,406および408を有するかもしれない。時間ドメインにおいては、それら成分402,404,406および408の寄与度(contributions、入力信号に与える影響度)を識別する(distinguish、他のものから区別する、同定する)ことが困難である。図4Aに示すように、第1の時間成分402は、周波数も振幅(AMPLITUDE)も一定である2つの正弦波であって互いに近接しているものを有する。この例を説明するという目的のために、「異常な(aberrant)」、「不規則な」、「一時的な」またはそれら以外の点で「不要な」複数の信号または複数の信号特徴量が、振幅が一定である複数の正弦波信号に重畳される。それら異常な(aberrant)信号は、注目される信号の明瞭度および品質に影響を及ぼす不要なノイズまたは一時的な異常を示すことが可能である。これに代えて、前記不要な信号は、録音された信号であって除去されることを要望されるものの一部に過ぎないこともあり得る。例えば、音楽の録音という場面においては、単に審美的な目的から、複数の楽器音の合奏において特定の1つの楽器によって作られる音を除去することが要望されるかもしれない。図4Bに示すように、第2の時間成分404は、直線掃引される1つの正弦波(チャープ)を有しており、その正弦波は、時間(TIME)と共に周波数が増加する。図4Cに示すように、第3の時間成分406は、周波数が変調される1つの短時間正弦波を有している。図4Dに示すように、第4の時間成分408は、唯一の時間ドメイン・インパルス波を有しており、そのインパルス波は、スパイクである。仮にその信号がオーディオ信号(audio signals、音響信号、音声信号など、音を表す信号)であるとすると、そのスパイクは、スクラッチありの録音物(scratched record)によって導入される音のようなクリック音であるかもしれない。
本方法は、STFTのように複数の変換フレームを必要とするということはなく、なぜなら、本方法は、前記スペクトルの「フリーズ・フレーム(freeze-frame、静止した1コマ画像、ストップモーション画像)」図を提供しないからである。その代わり、本方法は、スペクトルを、各変換フレームごとに、時間の関数として提供する。いくつかの実施態様においては、処理速度を加速するために、入力信号200が、複数の(a number of、多数の)変換フレーム202に分割されるかもしれず、例えば、各変換フレームが、N個の時間ドメイン・サンプル分の長さを有するかもしれない。例示的な一実施態様においては、Nが、4096個の時間ドメイン・サンプル分の長さであるかもしれない。それら変換フレーム202は、互いに隣接する複数の変換フレームの間の境界の位置に不連続部が存在しないように、小さなオーバーラップ(overlap、他の変換フレームとの重なり合い部)を有するかもしれない。いくつかの実施態様においては、そのオーバーラップが、10%(自身の変換フレームの長さの10%)より短いかもしれない。いくつかの実施態様においては、そのオーバーラップが、5%より短いかもしれない。いくつかの実施態様においては、そのオーバーラップが、1%より短いかもしれない。
入力信号200は、周波数ドメイン信号に変換されるかもしれず、その周波数ドメイン信号は、複数の周波数ビン(FREQUENCY BIN)(複数の周波数サンプル)より成るグリッド(a grid、格子、複数のセルや画素の集合体、周波数を一座標軸とするスペクトル図など)上において、複数の強度と複数の位相とによって表現される。周波数変換結果(frequency transform、周波数スペクトル)は、与えられた測定時間間隔にわたり、互いに異なる複数の周波数の位置における複数の正弦波の集まりとして表現される。前記周波数変換結果のうちの複数の強度および複数の位相は、周波数ドメイン(FREQUENCY DOMAIN)内において前記信号(the signal、入力信号)200を表現する適切なミックスチャ(mixture、混じり合い、異なる周波数成分が混合すること、前記複数の正弦波の集まり)を検出するために、測定されるかまたは推定されることが可能である。複数の正弦波が周期的であり、かつ、それぞれが単一の周波数を有するのみであるため、それら正弦波は、前記信号(the signal、入力信号)200が時間と共に展開すること(evolution、変化しながら進行すること)に関連する構成情報(structural information、入力信号200の信号構成に関する時空間情報、時間と強度との関係というような入力信号200の時系列を特定するための情報など)を、解析時間間隔(analysis interval、前記測定時間間隔、分析インターバル、1個の変換フレーム)の全体にわたって分布させ、そのため、前記周波数解析が行われた後、前記信号(the signal、入力信号)200内において、複数の変化部(changes、前記時間的変化部)の正確な出現(onset、出現位置など)を個々に識別する(pinpoint、個別に正確に標的にする)ことは不可能である。
図3は、図2に示す入力信号(the input signal、テスト信号(TEST SIGNAL))200についての周波数変換結果(frequency transform、周波数スペクトル)であって、FFT結果のうちの複数の強度(MAGNITUDE)によって表現されるものを示している。図示するように、周波数変換結果(frequency transform、周波数スペクトル)300が、振幅と周波数ビンkとの関係で示されている。その周波数変換結果(frequency transform、周波数スペクトル)300は、図4A−図4Dにそれぞれ示す4つの時間成分402,404,406および408に対応する4つの周波数成分502,504,506および508であって図5A−図5Dにそれぞれ示すものを有するかもしれない。図5Aに示すように、第1の周波数成分502は、第1の時間成分402内の2つの正弦波に対応する2つのピークであって狭い周波数(FREQUENCY)帯域を有するものを有する。また、第2の周波数成分504は、第2の時間成分404すなわちチャープ信号に対応する1つの広周波数(FREQUENCY)帯域を有する(図5B参照)。変換結果のうちの強度(MADNITUDE)は、すべての周波数にわたってほぼ不変である。さらに、第3の周波数成分506であって第3の時間成分406に対応するものは、1つの周波数バンド(band、帯域)または領域(range、レンジ)内において、強度(MAGNITUDE)も周波数(FREQUENCY)も変動する1つの信号を有する。
第4の周波数成分508であって第4の時間成分408に対応するものは、すべての周波数(FREQUENCY)ビンにわたって不変である強度(MAGNITUDE)を有する。この成分は、時間ドメインにおいて最大の(maximum、最長の)局在化部(唯一の測定値)を有し、よって、不確定性原理によって支配されるように、周波数ドメイン(FREQUENCY DOMAIN)内において局在化部を有しない。
一実施態様においては、複数の時間ドメイン・サンプルが不等間隔で分散する(unevenly spaced、不等時間間隔でサンプリングされる)場合に、周波数変換のために、高速ロム・スクーグル・ピリオドグラム(Lomb-Scargle Periodogram)・アルゴリズムを用いてもよい。そのロム・スクーグル・ピリオドグラム・アルゴリズムによれば、スペクトル解析が前記FFTより少ないスペクトル漏れのもとに実現され、また、このアルゴリズムは、典型的には、ラグランンジュ(Lagrange)内挿補間とFFTとの組合せにより、周波数が異なる複数の正弦波の列を、与えられた信号に最小二乗法でフィッティングすることによって実現される。複数の時間ドメイン・サンプルが等間隔で分散し、かつ、速度が重要である場合に、前記FFTを用いてもよい。当業者によって理解されるように、前記FFTの代わりに、他のいくつかの周波数変換を用いてもよい。
周波数(Frequency、周波数ドメイン)から時間−周波数(Time-Frequency、時間−周波数ドメイン)への行列の拡張(Exension)
後に図6を参照して詳述するが、例示的な望ましいある信号処理法600が、入力信号を修正して不要特徴量を除去するために、時間−周波数行列拡張と、平滑化処理、例えば、CFPCを媒介としたものとを用いる。
この信号処理方法600は、時間−周波数行列拡張(frequency to time-frequency matrix extension、周波数(周波数ドメイン)から時間−周波数(時間−周波数ドメイン)に行列を拡張すること)を用いる。まず、入力信号が、当該処理システム内において受け取られる(ステップ602)。後述の説明を単純化するために、入力信号が、実数型(real-valued、実数表現)の時間ドメイン信号f(t)として仮定されるかもしれず、その実数型の時間ドメイン信号f(t)は、FFTにより、周波数スペクトルに変換されるかもしれない。次に、時間サンプル数がN個であるという長さを有する1個の変換フレームが、前記入力信号から選択される(ステップ604)。式(1)で示すように、離散フーリエ変換の出力信号Xkが、時間ドメイン信号f(t)から取得され、その式において、tは、時間インスタンスを意味し、Nは、当該変換のサイズを意味し、kは、周波数ビンすなわち周波数番号(frequency number、周波数帯域の番号)を表しており、tは、0以上N未満である。
図21中、式(1)
ここに、f(t)は、入力信号を表し、Xkは、周波数番号kについてのフーリエ変換結果を表している。Xkは、複素数型の信号であるかもしれず、その信号は、実数部Re(Xk)と虚数部Im(Xk)とを有する(ステップ606)。フーリエ変換結果のうちの強度|Xk|および位相Φ(Xk)は、式(2)によって取得される。
図21中、式(2)
ここに、arctan2は、象限保存型(quadrant-preserving、象限内符号が保存される、象限内符号が変化しない)アークタンジェント(arctangent、逆正接)関数であって、Im(Xk)/Re(Xk)の商のアークタンジェント値を計算するものである(ステップ608)。
図7は、従来の周波数変換結果を、それの複数の強度が、1個の変換フレーム内のすべての時間インスタンスについて拡張された(extended、次元拡張された、ドメイン拡張された)状態で示しており、その1個の変換フレームは、図1に示すように、1個の窓セグメント106であるかもしれない。複数の通常周波数変換強度(Regular frequency transform magnitudes、通常の周波数変換によって生成される複数の強度)700が、前記1個の変換フレーム内におけるN個の時間インスタンスもしくは時間スロットまたは時間サンプルであって、各々、継続時間tを有するもののすべてを式(2)で周波数変換した複数の強度|Xk|(MAGNITUDE |Xk|)を示している。それら強度は、各周波数ビン(frequency bin、BIN FREQUENCY)kごとに、水平軸に沿って不変であり、また、垂直軸に沿った複数の時間インスタンスtから独立している(independent of、強度Xkは時間に依存しない)。図7に示すように、従来の周波数解析を行うと、すべての時間インスタンスtにわたり、前記1個の変換フレームの複数の強度|Xk|に比例する時不変(time-invariant、時間に依存しない)の線スペクトル(line spectrum)が得られる。
解析結果としての強度|Xk|および位相Φ(Xk)は、式(3)のための入力値として直接用いてもよく、その式(3)は、周波数から時間−周波数への行列拡張を表している。拡張された複数の時間−周波数行列(time-frequency matrices、時間−周波数ドメインで表現される行列)であって、実数部行列Matre(t,k)と虚数部行列Matim(t,k)とを有するものが、サイン波とコサイン波とを有する。それら行列は、すべての時間インスタンスすなわち時間スロットtについて、複数の個別の部分的周期波(individual partial periodic waves)を生成する。それら拡張された複数の時間−周波数行列は、すべての時間インスタンスtと、すべての周波数番号すなわち周波数ビンkとにわたって存在し、また、後述の式(3)で表現されるかもしれない。
図21中、式(3)
ここに、Nは、典型的には、偶数であり、2m(典型的なサイズでは、オーディオ信号(audio、音響信号、音声信号など、音を表す信号)処理に用いられる場合には、m=10,11,12,13)という形態をとる(ステップ610)。複数の時間ドメイン・サンプルtは、0から(N−1)までの値に等しい。周波数ビンkは、(N/2+1)という最大数を有する。複数の周波数ビンは、Hzを単位として、(k×サンプルレート(SampleRate、サンプリング周波数)/N)によって与えられる複数の周波数と同じ間隔を有し、このとき、最低周波数ビンの中心位置が0Hz(DC)の位置にあり、かつ、最高周波数ビンの中心位置がナイキスト周波数(すなわち、Hzを単位とする(サンプルレート(SampleRate、サンプリング周波数)/2)の位置にある。
前述の複数の行列の各々は、N×(N/2+1)個の変換係数(transform coefficients、フーリエ係数)を有し、この行列の第1の次元(例えば、複数の行(row、横並び))は、サイズがN個である時間tを示し、また、この行列の第2の次元(例えば、複数の列(column、縦並び))は、サイズが(N/2+1)個である周波数ビン番号kを示している。一実施態様においては、式(3)中の行列Matre(t,k)と行列Matim(t,k)との双方が、いずれも、強度|Xk|および位相Φ(Xk)であって式(2)に示す変換結果から取得されるものを用いる。それら2つの行列Matre(t,k)およびMatim(t,k)の各々は、N個の時間スロットであって(N/2+1)個の周波数ビンを有するものを有し、それら周波数ビンは、入力信号f(t)を構成する複数の複素型の正弦波の各々に対応する。1つの行列における各行tは、周波数ビンkごとに、周波数変換の出力値に従い、ビン位相Φ(Xk)およびビン強度|Xk|について調整された1つの正弦波を有する。
いくつかの実施態様においては、行列Matim(t,k)を前記複数の計算値から除外し(left out of the calculations、行列Matim(t,k)を計算しなく)てもよく、また、その行列Matim(t,k)の寄与度(its contribution、その行列Matim(t,k)が前記行列に及ぼす影響)を、90度の位相オフセットを行えば冗長が生じるという特性により、行列Matre(t,k)から誘導してもよい。
いくつかの実施態様においては、前記複数の行列の計算値が潜在的である(implicit、計算値そのものとしては実在しない)かもしれない。例えば、それら行列は、計算されないかもしれず、よって、メモリを節約する(conserve memory、メモリを容量的に温存する)かもしれない。それら行列を定義するのに必要な複数回の計算は、前記周波数変換に対する後工程に含まれるかもしれない。
いくつかの実施態様においては、特に、前記FFTを用いる場合に、複数の位相および複数の強度を、顕在的に計算するのではなく、各周波数番号kごとに、実数型および虚数型の変換係数(transform coefficients、フーリエ係数)から直接発生させてもよい。
当業者によって理解されることは、本発明の説明のみを目的として強度および位相が用いられるということである。ハートレー変換のような多くの周波数変換では、実数部および虚数部が簡単に提供されることはない。
当業者によって理解されることは、前記FFTに代えて他のいくつかの周波数変換を用いてもよいということである。前記入力信号は、例えば、レーダー(RADAR)信号処理におけるように、複素信号(complex-valued signal、複素数で表現される信号)でもよく、また、負の変換周波数と正の変換周波数との双方を用いてもよい。
周波数間位相カップリングの適用
本方法は、さらに、式(3)で示す、周波数から時間−周波数への行列拡張の完了に引き続いてCFPC(CFPC、周波数間位相カップリング、コンピュータ上において複数の近傍周波数成分を結合してそれら成分を同期させる処理)を適用する工程も有する(ステップ612)。そのCFPCにより、いくつかの近傍の周波数領域(regions、バンド、帯域)への漏れ(例えば、エネルギー漏れ)が実現される。複数の近傍周波数バンド間の漏れを達成することにより、複数の近傍周波数を有する複数の波から前記エネルギーのある量が現在周波数(a current frequency、現在注目している1つの周波数)に追加される。換言するに、複数の近傍強度および複数の近傍位相(neighboring magnitudes and phrases、互いに近接する複数の近傍周波数バンドの複数の強度および複数の位相)のうちの少量(small amount、一部)が現在周波数バンド内の強度および位相に影響を及ぼしてもよい。具体的には、CFPCにより、互いに隣接する複数の周波数バンドの複数の部分波(partial waves)の間の同期が取られ(introduce synchronization between、シンクロが取られ、同調が取られ)、なぜなら、それら部分波のエネルギーが、互いに隣接する複数の周波数バンド内に漏れ出すからである。複数の近傍周波数バンド内において互いに近接する複数のピーク値(peaks、第1周波数成分の山部と第2周波数成分の山部とであってほぼ同位相であるもの同士、第1周波数成分の谷部と第2周波数成分の谷部とであってほぼ同位相であるもの同士など)が、同期処理中に、互いに加算される(add up、強め合う)かもしれず、一方、1つの谷部(a trough)の直ぐ隣にある(next to、を挟む)複数のピーク値(peaks、第1周波数成分の山部と第2周波数成分の谷部とであってほぼ同位相であるもの同士、第1周波数成分の谷部と第2周波数成分の山部とであってほぼ同位相であるもの同士など)が相殺する(cancel out、打ち消し合う)かもしれない。
複数の近傍周波数ビン内の複数の構成波(constituent waves、前記部分波)に漏れが発生すると、エネルギーの加算または相殺が発生し、実際、前記行列のうち、互いに隣接する複数の列(adjacent matrix columns)間の同期(synchronization、シンクロ、同調、同時化、位相の同期または共通化、周波数の同期または共通化など)処理であって、複数の近傍ピーク値(neighboring peaks、複数の近傍周波数バンド内において互いに近接する複数の近傍ピーク値)に影響を及ぼすものを生成する。このことが原因で、複数の周波数にわたって同時に発生する複数の事象が顕在化する(revealed)ように、増幅および消滅(amplifications and cancellations、部分波の強調および減衰)が局所的に(locally、周波数上で局在化するように)発生する。この同期効果により、前記複数の正弦波(the sinusoids、複数の部分波)が局所的に、1つの周波数より多い数の周波数を包含するように修正され、それにより、前記不確定性原理を回避し、それにより、従来の周波数分析ではアクセスできないのが一般的である構成情報(structural information、入力信号の信号構成に関する時空間情報、時間と強度との関係というような入力信号の時系列を特定するための情報など)を顕在化させる。
CFPCは、複数の近傍周波数ビン内の複数の波の全体に対して平滑化フィルタ、または移動平均フィルタであって、例えば、指数移動平均フィルタまたは他の移動平均フィルタのようなものを適用することによって達成してもよい。その平滑化フィルタは、所定の遮断周波数より低い周波数を有する信号は通過させるが、前記遮断周波数より高い周波数を有する信号は減衰させるローパスフィルタであってもよい。信号処理において、平滑化処理または積分(integration、加算)が、ローパスフィルタリング処理の効果を有してもよい一方、鮮明化(sharpening、鮮鋭化、シャープニング処理)または微分(differentiation、減算)が、ハイパスフィルタリング処理の効果を有してもよい。
いくつかのローパスフィルタが、電子回路(例えば、音響機器において用いられるヒス・フィルタ)、アナログ信号からデジタル信号への変換に先立って信号を波形整形する(condition)するためのアンチ・エイリアシング・フィルタ、いくつかのデータ・セットを平滑化するためのデジタル・フィルタ、画像のぼかし(blurring of images、ブラー処理)などを含む多くの異なる方式で存在してもよい。ローパスフィルタによれば、短期変動成分を除去し、長期トレンド成分を残すことにより、平滑化された信号波形が提供される。
特定の実施態様においては、上述の平滑化フィルタが指数移動平均フィルタであってもよい。例えば、各時間インスタンスt=0,・・・,(N−1)ごとに、すべての周波数ビンk=0,・・・,N/2ならびにすべての行列Matre(t,k)および行列Matim(t,k)を、後述の式(4)に示すような指数移動平均フィルタを適用することによって反復させてもよい。
図21中、式(4)
ここに、Matre(t,k)’およびMatim(t,k)’は、最終的に平滑化された行列(matrix、Matre(t,k)およびMatim(t,k)が平滑化されたもの)内の複数の数値であって、時間スロットtおよび周波数ビンkに位置するものを表しており、それら数値は、ローパスフィルタリング処理または平滑化処理の実行後に生成される。この実施態様においては、平滑化係数(smoothing factor、なまし係数)aが、式(5)に示すような時間−周波数局在化パラメータ(time-frequency localization parameter、時間−周波数ドメイン内において、特定の特徴量が時間的におよび/または周波数的に局在化する(集中する)程度を制御するパラメータ)λから計算されるかもしれない。
図21中、式(5)
いくつかの実施態様においては、前記局所的時間−周波数局在化パラメータ(local time-frequency localization parameter、時間−周波数ドメイン内において、特定の特徴量が時間的におよび/または周波数的に局在化する(集中する)程度を制御するパラメータであって、局所的に有効であるもの)λの値を、低周波数については周波数分解能が改善され、高周波数については時間分解能が改善されるように、1/f(周波数の逆数)のカーブに比例するように変更してもよい。
いくつかの実施態様においては、前記局所的時間−周波数局在化パラメータλを、強度についての(in the magnitude、強度を表す複数の値についての)ピーク値対局所的平均値比(peak-to-local-average ratio)が高い場合には、相対的に低い局所的時間−周波数局在化パラメータを発生させ、それにより、周波数分解能が改善され、一方、ピーク値対局所的平均値比(peak-to-local-average ratio、強度についてのピーク値対局所的平均値比)が低い場合には、相対的に高い局所的時間−周波数局在化パラメータを発生させ、それにより、時間分解能が改善されるように、白色化された(whitened、平坦化処理された)スペクトルの強度|Xk|’(強度の絶対値)に比例するように計算してもよい。その白色化されたスペクトルについての強度は、前記CFPCが白色ノイズのスペクトルに適用される場合の平均強度である。
前記STFT法のように、式(3)によっていずれの行列も生成されなかった場合には、平滑化処理が、式(3)において要求されるすべての事前の計算処理を有するかもしれない。前記フィルタからゼロ位相応答(zero-phase response、フィルタ適用前後での位相差が0であること)を達成するために、すべての周波数ビンにわたって正逆両方向に進んでもよい(run、前記フィルタをすべての周波数ビンに対し、順方向と逆方向とにそれぞれ移動させてもよい)。
いくつかの実施態様においては、前記指数移動平均フィルタを、任意の有限インパルス応答(FIR)フィルタ、または任意の無限インパルス応答(IIR)フィルタに代えてもよい。
いくつかの実施態様においては、前記指数移動平均フィルタを、メディアン・フィルタの如きランク・オーダー・フィルタ(rank order filter)、または、サビツキー・ゴーレイ(Savitzky-Golay)(多項式)平滑化フィルタの如き平滑化フィルタに代えてもよい。
いくつかの実施態様においては、前記指数移動平均フィルタを、適応フィルタ、すなわち、過去の(t−1)時刻および周波数ビンまたは周波数スロットkからの結果値(the results from the past t-1 time and frequency bin or slots k、時間スロットの番号が(t−1)、周波数ビンの番号がkのときの誤差値)を考慮することにより、時間インスタンスすなわち時間スロットtの位置において、自身のフィルタ特性を決めるフィルタに代えてもよい。
信号に依存しない(Signal-invariant)λを有する実施態様
一実施形態においては、前記CFPCが、各時間スロットtごとに、複数の近傍周波数ビンにわたってローパスフィルタリング処理または平滑化処理を行うことによって達成されるかもしれない。そのローパスフィルタリング処理は、互いに隣接する複数の周波数ビン内の複数のピーク値が互いに一致するかもしれない複数のエリアを、互いに隣接する複数の周波数ビン内のすべての部分波にわたるエネルギーを合計することにより、強調するかもしれない。強い(intense)平滑化処理(例えば、式(4)の反復計算をより多数回行うことによって平滑化される)は、時間上において局在化する事象に有利に作用するかもしれない一方、弱い(little)平滑化処理が存在するかまたは何ら平滑化処理が存在しないことは、周期性を有する信号に好適であるかもしれない。例えば、尖鋭な(sharp)時間ドメイン過渡信号が多くの時間スロットt内に出現するかもしれない。平滑化処理が、さらに、この尖鋭な時間ドメイン過渡信号を強調するかもしれない。いくつかの周期波が、ある時間区間にわたり、同じいくつかの周波数ビンkに沿って集中的に分布するかもしれない。強いローパスフィルタリング処理による平滑化処理は、それら周期波を強調しないかもしれない。
ユーザは、局所的時間−周波数局在化パラメータγの値を手動で選択し、そして、目標の出力結果が達成されるように、その局所的時間−周波数局在化パラメータγの値を0と1との間で調節するかもしれない。この手動による方法は、ユーザに自由度を提供し、また、これは、後述のようにγの値を適応的に決定する方法より短い時間しか必要としないかもしれない。信号に依存しないγに関する上述のアプローチ(the signal-invariantγapproach、信号に依存せずにγの値を決定する上述のアプローチ) を用いた場合の結果は、図8に示すように、周波数と時間とにわたって強度で表現されるかもしれない。
信号に適応するように変化する(Signal-adaptive)λを有する実施態様
別の実施態様においては、局所的時間−周波数局在化パラメータγの値が、適応的に決まるλを求める単一の方法によって自動的に生成されるかもしれず、その方法は、複数の計算値のために、前記局所的時間−周波数局在化パラメータγについての互いに異なる複数の値を同時に用い、そして、唯一のλを特定の基準(criteria、評価基準、目標基準)に従って選択するために、それら互いに異なる複数の値であって前記局所的時間−周波数局在化パラメータγについてのものを互いに比較するかもしれない。例えば、コンピュータがあるアルゴリズムを有してもよく、そのアルゴリズムによれば、プロセッサが前記コンピュータ内において、互いに異なる複数のλ値であって、例えば、0.1から0.9まで例えば0.1の増分で変化する複数の値であるようなものを同時に用いることにより、強度Aλ(t,k)についての計算を自動的に実行することが可能である。そのアルゴリズムは、上述の互いに異なる複数のλ値から取得された複数の強度Aλ(t,k)を互いに比較し、最大のまたは最高の強度を生成する1つのλ値を選択してもよい。これに代えて、λの反復的な変化量(iterative change、λの値が反復的に変化させられる場合の各回の変化量)であってλの初期推定値を改善する(refines an initial guess of λ、λの初期推定値(前回推定値)より良好である)ものが、位置(t,k)における局所的な強度を最大化する出力値(output、平滑化された行列Matre(t,k)’およびMatim(t,k)’など)を生成するまで、λの反復的な変化量であってλの初期推定値を改善するものを用いてもよい。
特定の実施態様においては、前記選択されたλ値を、式(5)に示すように、前記平滑化係数aを計算するために用いてもよく、その後、前述の2つの行列Matre(t,k)’およびMatim(t,k)’を式(4)から取得してもよい。後述の式(6)が、強度Aλ(t,k)がそれら行列から計算されてもよいことを示している。このアルゴリズムによれば、信号強度または信号エネルギーの最大化という基準(criteria、評価基準、目標基準)に従い、選択された1つのγ値が、前記出力値、すなわち、平滑化された行列Matre(t,k)’およびMatim(t,k)’に割り当てられてもよい。
図21中、式(6)
ここに、cλは、λの関数である平均ゲインを決める正規化定数である。その正規化定数は、最終的な平均強度を正規化するために白色ノイズのスペクトルに対して前記CFPCが適用されるときに試験的運用(test run)の結果からヒューリステックに(heuristically、発見的問題解決法により)誘導してもよい。その正規化定数cλは、事前に経験的に取得され、また、評価されるべき各γごとに保存されてもよい。
この適応的λアプローチ(adaptiveλmethod、適応的にλ値を決定するアプローチ)によれば、前記基準(criteria、評価基準、目標基準)に従い、例えば、信号強度または信号エネルギーの最大化という基準に従い、最良のγ値が自動的に決定される。この適応的λアプローチによれば、γ値を手動で選択することに比較すれば、より長い処理時間が必要となるかもしれない。前記コンピュータの処理速度が年々高速化されることを考慮すれば、この信号適応的λアプローチ(signal-adaptiveλmethod、信号に適応するようにλ値を決定するアプローチ)は、現時点では、実用可能である。この信号適応的λアプローチを用いた場合の結果は、図9に示すように、周波数と時間とにわたって強度で表現される(expressed in magnitude over frequency and time、周波数と強度との関係および時間と強度との関係として表現される)かもしれない。
いくつかの実施態様においては、1つの行列が、3次元(3D)空間、すなわち、時間−周波数−λという空間内において計算されるかもしれない。前記平滑化された行列は、十分に高密度でサンプリングされたグリッドについて計算されてもよく、そのグリッドは、局所的時間−周波数局在化パラメータγについての複数の値であって実質的に小さい増分で変化するものについてのものである。式(6)から生成される複数の2次元(2D)時間−周波数強度スライス(slices、上述の3D空間をγ平面に平行な複数の平面でスライスしたもの、時間−周波数で強度を表現するもの)が、別の行列次元(another matrix dimension、γという次元)内において、保存されるかもしれない。この3D行列は、前記入力信号を、時間と周波数とにわたって変化するエネルギー密度として表現してもよく、また、この3D行列は、前記入力信号を3D空間内において、時間軸または周波数軸上での局在化(localization、局在性、局在化部の位置など)に従って表示して操作する(manipulate、編集する、ユーザが編集する、ユーザ操作に応じて編集する)ために用いることが可能である。
信号修正(modification、編集)
ひとたび前記信号が時間−周波数ドメイン内で表現されると、その信号を、各周波数バンドの幅の分解能で、かつ、複数の個別の時間サンプルの各々にわたり、編集する(edit、修正する、ユーザが編集する、ユーザ操作に応じて編集する)ことが容易であるかもしれない(ステップ614)。時間ドメイン内における各周波数は、時間−周波数ドメイン内においては、対応する1本のスペクトル線を有するため、原信号である入力信号内のノイズまたはスクラッチ音(scratches、ひっかき傷音)を除去するために、いくつかのスペクトル成分を時間−周波数ドメイン内において操作し、修正し、抑圧しまたは強調することが容易である。ユーザは、前記信号を表すスペクトログラム(spectrogram)表現のうちのいくつかの部分を選択し、それら部分を、画像処理において用いられる選択用ツールもしくはコンピュータ支援型(machine-aided、機械支援型)選択用ツールを用いるか、または、信号の基準(criteria、評価基準、目標基準)に基づくパラメトリック選択法(parametric selection methods、パラメトリック入力で選択を行う方法、媒介変数を用いて選択を行う方法)により修正してもよい(modify)。
いくつかの望ましい実施態様においては、複数の周波数より成る一群が、それら周波数であって、「支持領域(region of support)(ROS)」とも称されるものを包囲するように任意の形状を有する境界線を手動または自動で定義することにより、抽出されるかもしれない。前記ROSの外側にある領域は、抑圧されるかまたは抽出されるかもしれない。いくつかの実施態様においては、複素数型の信号表現が出力信号において利用可能である場合に、前記ROS内にある平均信号を、ヒルベルト(Hilbert)・スペクトル分析において説明される瞬間的周波数推定を用いて決定することが可能である。具体的には、本方法は、ヒルベルト−ファング(Hilbert-Huang)変換のうちの第1段階として、複数の固有モード関数(intrinsic mode functions)を計算する代わりに用いてもよく、また、本方法は、ヒルベルト・スペクトルをλの関数として計算するために、特異値分解プロセス(Singular Value Decomposition process)の出力結果を用いる代わりに用いてもよい。
出力結果の表現(formulation)
本方法は、さらに、編集後に、前記入力信号の時間ドメイン表現であって修正されたものを提供する。時可変である強度応答および位相応答を表現するために、前記平滑化された行列Matre(t,k)’およびMatim(t,k)’を、すべての時間インスタンスtおよびすべての周波数ビンkであって編集された(edited)複数の周波数ビンを有するものの全体にわたり、反復することにより、前記平滑化された行列Matre(t,k)’およびMatim(t,k)’を計算してもよい(ステップ616)。複数の時間−周波数強度|Xt,k|および複数の時間−周波数位相|Φ(Xt,k)|を、平滑化された複数の行列から、後述の式(7)を用いて計算してもよい。
図21中、式(7)
ここに、arctan2は、象限保存型(quadrant-preserving、象限内符号が保存される、象限内符号が変化しない)アークタンジェント(arctangent、逆正接)関数であって、(Matim(t,k)’/Matre(t,k)’)の商のアークタンジェント値を計算するものである。前記編集された(edited)複数の周波数値についての前記複数の時間−周波数強度|Xt,k|および複数の時間−周波数位相|Φ(Xt,k)|であって式(7)から取得されたものに基づき、式(8)(逆離散フーリエ変換(IDFT))であって、後述のように、実数型の信号のための逆時間−周波数変換(inverse time-frequency transform)であるものにより、修正された時間ドメイン表現f(t)'を取得してもよい。
図21中、式(8)
ここに、cは、前記信号について同じゲイン係数を維持する(keep the same gain factor、f(t)'とf(t)とで同じゲイン係数を有する)ために用いられるスケーリング定数(scaling constant)であって、周波数変換に応じて要求されるかもしれないものである(ステップ618)。換言するに、前記修正された時間ドメイン表現f(t)'は、前記入力信号f(t)に対して振幅の増加も減少も存在しない。
よって、この修正された時間ドメイン表現f(t)'は、前記周波数変換結果のうちの複数のスペクトル成分を時間軸、周波数軸および強度軸に沿って、かつ、同じ時刻に操作した結果となるかもしれない。この修正された時間ドメイン表現は、さらに、種々の用途の基礎を提供するかもしれない。前記修正された変換の表現(The modified transform representation、前記修正された周波数変換結果を表現するもの)は、表示のためもしくは別のプロセスによって使用されるために出力されるか、または、複数のスペクトル成分を例えば図2に示すような時間ドメインにおいて操作するために直接用いられるか、複数のスペクトル成分を例えば図3に示すような周波数ドメインにおいて操作するために直接用いられるか、または例えば図8または図9に示すように時間−周波数強度(time-frequency magnitude、時間−周波数によって表現される強度)を操作することにより、複数のスペクトル成分をそれら時間ドメインと周波数ドメインとの双方において同じ時刻に操作するために直接用いられてもよい(ステップ620)。前記不確定性低減型変換の表現(the reduced uncertainty transform representation、前述の、不確定性が低減された変換結果を表現するもの)を表示するかまたは修正した後、前記修正された出力信号(the modified output signal、f(t)'など)が、例えば、図1に示すステップ110および112のようなSTFTアプローチと同じような方法で取得される。
図8は、本発明のいくつかの実施形態に従い、図2に示す入力信号に対し、局所的時間−周波数局在化パラメータλであって0.7に等しいものを用いて不確定性低減型変換が行われたものを示している。図8には、前記時間−周波数変換結果のうちの複数の強度(time-frequency transform magnitudes、時間−周波数ドメインで表現される変換結果のうちの複数の強度、時間−周波数変換強度)|Xt,k|であって式(7)に示すものが、時間スロット数N=4096(212)の状態で、周波数ビンkと時間スロットtとにわたって示されている。時間−周波数強度800が、互いに異なる4つの成分802,804,806および808であって、図2に示すように、4つの時間成分に対応するものを有する。例えば、第1のスペクトル成分(例えば、垂直線802)は、同じ周波数ビンに位置しており、図4Aに示す複数の正弦波402に対応する。これは、局所的周波数分解能が高い事例である。
第2のスペクトル成分(例えば、対角線804)は、0である最低時間スロット(t=0)と0である最低周波数ビン(k=0)とを有する開始点から、N−1である最高時間スロット(t=N−1)とN/2である最高周波数ビン(k=N/2)とを有する終了点まで延びている。対角線804は、図4Bに示すように、チャープという時間成分404に対応する。
第3のスペクトル成分(例えば、継続時間が短い短時間正弦波806)は、最初の時間スロットに位置していて、図4Cに示すように、周波数が変調された1つの短時間正弦波406に対応する。第4のスペクトル成分(例えば、水平線808)は、同じ時間スロットに位置しており、図4Dに示すスパイク408に対応する。これは、局所的時間分解能が高い事例である。
前述のように、行列(matrix、Matre(t,k)およびMatim(t,k))を周波数(frequency、周波数ドメイン)から時間−周波数(time-frequency、時間−周波数ドメイン)に拡張すること(frequency to time-frequency matrix extension、周波数から時間−周波数への行列の拡張)により、式(7)によって与えられるように、前記時間−周波数変換結果のうちの強度(time-frequency transform magnitude)|Xt,k|内の前述の4つの時間成分を明瞭にまたは顕著に(distinctively、互いに区別されるように、互いに視覚的に区別されるように)提示することが可能となる。これに対し、上述の、周波数から時間−周波数への行列の拡張(frequency to time-frequency matrix extension)を行わないと、式(2)において与えられるように、従来の周波数変換結果のうちの強度|Xk|は、図7に示すように、前記4つの成分802,804,806および808を互いに区別することが不可能である。
これまでに図解したように、時間ドメイン(time domain、時間と強度との関係)内においてスペクトル成分の互いに異なる複数のエレメント(例えば、402,404,406および408)(図4A−図4D参照)の各々は、時間−周波数強度ドメイン(time-frequency magnitude domain、時間−周波数ドメインに強度ドメインすなわち周波数−強度ドメインを組み合わせ、それにより、時間と周波数と強度との関係を表現するものなど)内において、1個のエレメントであってスペクトル成分を有するもの(例えば、802,804,806および808)(図8参照)を有する。時間ドメイン(time domain、時間と強度との関係)と時間−周波数強度ドメイン(time-frequency magnitude domain、時間と周波数と強度との関係)との間での上述の単一対応関係(single correspondence、1対1の対応関係)による効果のうちの一つは、時間−周波数強度ドメイン(time-frequency magnitude domain)内でいくつかの変更を行うことにより、複数のスペクトル成分を周波数ドメイン(frequency domain、周波数と強度との関係)および時間ドメイン内において同時に操作することが可能となるということである。
図9は、図2に示す入力信号に対し、適応的局所的時間−周波数局在化パラメータλを用いて不確定性低減型変換が行われたものを示している。この例においては、変換サイズ(the size of the transform、時間スロットの数)Nが4096に等しい。前記時間−周波数変換結果のうちの複数の強度(time-frequency transform magnitudes、時間−周波数ドメインで表現される変換結果のうちの複数の強度、時間−周波数変換強度)|Xt,k|が式(7)から計算される。その時間−周波数強度|Xt,k|900が、4つの成分902,904,906および908を有し、それら成分は、それぞれ、成分802,804,806および808と視覚的に近似しているが、図8に示すものより高い分解能を有する。例えば、図9に示す水平線908は、図8に示す水平線808より幅が狭い。図9に示す不変の(constant、周波数不変の)複数の正弦波902は、図8に示す周波数不変の複数の正弦波802より変調度(modulation、変動度)が低いように見える。
図10−図12は、周波数から時間−周波数への行列拡張(frequency to time-frequency matrix extension)によって複数の部分波が生成される原理と、チャープ信号である場合に、CFPCにより、前記複数の部分波が、複数の周期的な正弦波から複数の非周期的な波束(wave packet、局在化する波動)に変化する原理とを示す概略的な表現を提供する。図10は、時間ドメイン表現のチャープ信号1002の実数部(real valued part、実数値部)を、本発明のいくつかの実施態様に従い、1つの変換フレーム(SINGLE TRANSFORM FRAME)につき、周波数変換を実行した後、および、周波数からの時間−周波数への行列拡張を実行した後の状態で示している。図示するように、前記1個の変換フレーム内のチャープ信号1002は、図中下側に示される一方、表現1000が、図中、チャープ信号1002より上側に示されている複数の個別の正弦波1004を有する。それら個別の正弦波1004は、式(3)から取得され、また、今回の変換フレーム全体にわたり、各周波数ビンごとに、周波数も強度も不変である。表現1000では、構成情報(structural information、時間局在化特徴量の構成を表す情報など)が何ら顕在化せず、このことは、従来の変換では、1つの変換フレーム内において、時間的に局在化する(time-localized、一時的に存在する)特徴量を求めることができないことを示唆する。このような結果は、ハイゼンベルグの不確定性原理によるものであり、この原理は、周期波である場合には、周波数に関する局在化および時間に関する局在化は、それぞれ互いに反比例する精度でしか検出することができないという性質であるということを述べている。
垂直軸すなわち周波数ビンkの座標軸に沿った平滑化処理、例えば、指数平滑化処理または他の任意の平滑化処理が行われると、互いに近接する複数の近傍波同士で波の漏れ出しが発生し、これが原因で、増幅(amplifications、強め合い)および減衰(cancellations、打消し、弱め合い)が局所的に発生する。図11は、時間ドメイン表現のチャープ信号1002の実数部(real valued part、実数値部)を、本発明のいくつかの実施態様に従い、周波数変換を実行した後、および、周波数からの時間−周波数への行列拡張であって周波数ビンkの座標軸に沿った指数平滑化処理を伴うものを実行した後の状態で示している。前記平滑化処理により、図10に示す複数の周期的な正弦波1004が、より複雑で非周期的である複数の波束(wave packet、局在化する波動)1102に変換される。図示するように、平滑化された表現(representation、時間−周波数表現)1100が、指数平滑化処理の結果、図10において互いに隣接する複数の波1004間の可視的な干渉(visible interference)であって対角方向1104に沿って発生するものを有する。
図12は、図11に示す強度を本発明のいくつかの実施態様に従って示している。平滑化された強度の表現(representation、時間−周波数表現)1200が、エネルギーすなわち強度1202が時間−周波数空間を通過して移動することを明瞭に示している。
図13−図15は、本方法と前記STFT法との対比を提供する。図13は、同様な見た目を有する(a visually similar、図中下側と視覚的に近似している)STFTシーケンス(STFT sequence、複数のSTFT結果の列)(図中上側)であって、N=256であり、かつ、サンプル・レート(SR)が44.1kHzであるときに周波数ビンごとの分解能が172.26Hzであるものと、本発明のいくつかの実施態様に従う適応式(adaptive)不確定性低減型変換(図中下側)であって、N=4096であり、かつ、SRが44.1kHzであるときに周波数ビンごとの分解能が10.77Hzであるものとの対比を示している。STFT表現(STFT representatiion、前記STFTの実行結果を表す表現(representation、時間−周波数表現))1300Aは、強度|Xk|を、水平軸が時間を表す一方、垂直軸が周波数を表す時間−周波数ドメイン内において示している。強度|Xk|は、式(3)における行列ではなく、式(4)および(5)に示すローパスフィルタリング処理を用いて取得される。STFT表現1300Aは、その計算のために複数の変換フレームの使用を必要とする。STFT表現1300Aは、44.1kHz/256という周波数分解能を有し、この分解能は、サンプリング・レートが44.1kHzであるときに各周波数ビンごとに約172Hzである。
低減不確定性表現(reduced uncertainty representation、不確定性低減型変換の実行結果を表す表現)1300Bは、強度|Xt,k|を、水平軸が時間を表す一方、垂直軸が周波数を表す時間−周波数ドメイン内において示している。強度|Xt,k|は、式(7)から取得される。低減不確定性表現1300Bは、44.1kHz/4096という周波数分解能を有し、この分解能は、サンプリング・レートが44.1kHzであるときに各周波数ビンごとに約11Hzである。成分1308Bの時間分解能は、成分1308Aの時間分解能よりはるかに高く、それが原因で、成分1308Bの幅がより狭い(smaller width、成分1308Aより狭い)。図示するように、本方法による分解能は、前記STFT法よりはるかに高い。この例は、さらに、前記STFTの周波数変換結果に対して、時間からの拡張を行うことなく平滑化処理を行うと(smoothing without time extension to the frequency transform、前記STFTの周波数変換結果に対する平滑化処理を、その周波数変換結果を時間−周波数ドメインに拡張することをさらに行うことなく行うと)、高周波数分解能と高時間分解能とが同時に実現されることはないということを示している。
図14は、時間分解能が高い(high time resolution)STFTシーケンス(STFT sequence、複数のSTFT結果の列)(図中上側)であって、N=32であり、かつ、SRが44.1kHzであるときに周波数ビンごとの分解能が1378.13Hzであるものと、本発明のいくつかの実施態様に従う適応式(adaptive)不確定性低減型変換(図中下側)であって、N=4096であり、かつ、SRが44.1kHzであるときに周波数ビンごとの分解能が10.77Hzであるものとの対比を示している。STFT表現(STFT representatiion、前記STFTの実行結果を表す表現)1400Aは、強度|Xk|を時間−周波数ドメイン内において示している。このSTFT表現1400A(図中上側)は、時間分解能は高いが、周波数分解能は低く、その周波数分解能は、例えば、SR(サンプリング・レート)が44.1kHzであるときに各周波数ビンごとに1378.13Hzである。具体的には、STFT表現(STFT representatiion、前記STFTの実行結果を表す表現)1400Aは、4つの成分1402A,1404A,1406Aおよび1408Aを有する。スパイク1408Aのみが、STFT表現1400A内において明瞭であり、これは、適応式低減不確定性変換表現1300B(図中下側)に示す成分1308Bに似ている。他の3つの成分1402A,1404Aおよび1406Aは、すべて、正弦波に基づくものであるとともに、適応式低減不確定性変換表現1300Bに示す、対応する成分1302B,1304Bおよび1306Bとは異なり、不鮮明であるとともに不明りょうであるように見える。
図15は、サイズが同じである(same size、図中下側と変換サイズが同じである)STFTシーケンス(STFT sequence、複数のSTFT結果の列)(図中上側)と、本発明のいくつかの実施態様に従う適応式不確定性低減型変換であってN=4096についてのもの(図中下側)との対比を示しており、それら変換は、いずれも、SRが44.1kHzであるときに周波数ビンごとの分解能が10.77Hzである。STFT表現(STFT representatiion、前記STFTの実行結果を表す表現)1500Aは、強度|Xk|を時間−周波数ドメイン内において示している。このSTFT表現1500Aは、前記適応式不確定性低減型変換と同じ変換サイズまたは同じ周波数分解能を有するとともに、周波数分解能は高いが、時間分解能は低い。具体的には、STFT表現(STFT representatiion、前記STFTの実行結果を表す表現)1500Aは、3つの成分1502A,1504Aおよび1506Aを有する。成分1502Aは、明りょうであり、すなわち、高い周波数分解能を有する。しかし、STFT表現1500Aには、成分1308Bに対応するスパイクは存在しない。STFT表現1500Aにおいては、時間分解能が非常に低い。これに対し、スパイク1308Bは、適応式低減不確定性変換表現1300B内において、明りょうである。このことが示すことは、前記適応式不確定性低減型変換結果すなわち適応型時間−周波数変換結果1300Bが、STFT表現1500Aより高い分解能を有する局在化時間ドメイン特徴量を示すということである。他の2つの成分1504Aおよび1506Aも、同様に、それぞれ、2つの成分1504Aおよび1506Aがいくらかのオーバーラップを有するというように、表現1300Bに示される成分1304Bおよび1306Bよりはるかに低い分解能を有する。これに対し、成分1304Bおよび1306Bは、時間ドメインにおいても周波数ドメインにおいても、高い分解能を有する結果、全くオーバーラップを有しない。これまでに示したように、前記適応式不確定性低減型周波数変換は、周波数ドメインにおいても時間ドメインにおいても、高い分解能を有することが可能である。逆に、前記STFT変換は、高い周波数分解能を低い時間分解能と共に実現するか、または、高い時間分解能を低い周波数分解能と共に実現することが可能である。
よって、本方法は、サンプル・アキュレートなスペクトル編集のために用いてもよい。時間−周波数変換結果のうちの複数の強度および複数の位相を、1個の時間ドメイン・サンプルの継続時間を超えない長さを有する(down to)複数の信号を時間−周波数ドメインの中から除去するために調整することが可能である。本方法は、クリック音または高度に時間局在化された他の信号を除去するのに有用であるかもしれない。この用途の一例として、音楽の録音物(record)がスクラッチ(scratch、傷)を有するかもしれない。そのスクラッチは、クリック音を生成するかもしれない。そのクリック音は、図4Dに示すようなスパイク408に似ているかもしれない。周波数から時間−周波数への行列拡張およびCFPCを用いることにより、前記スクラッチから発生した前記クリック音を、修正された時間ドメイン表現f(t)'を計算する前に、変換結果のうちの複数の強度から簡単に除去してもよい。例えば、図8に示すような成分808を抑圧すれば、図4Dに示すようなスペクトル成分408が除去されることになる。しかし、時間−周波数ドメインの信号(例えば図8または図9に示すようなもの)を表示することにより、ユーザは、不要な部分を除去するようにマウスを用いることにより、ディスプレイ上においてその不要な部分を選択してもよい。前記スクラッチありの録音物からの前記音をここに開示されたプロセスを用いて後処理することにより、前記スクラッチありの録音物が、事実上、視聴者にとってスクラッチのないものとなる。そのプロセスにより、事実上、スクラッチありの録音物がスクラッチなしの録音物に変換される。時間ドメイン内の各周波数が、時間−周波数ドメイン内において、それに対応する1本のスペクトル線を有するため、元の入力信号内におけるノイズまたはスクラッチ音を除去するために、時間−周波数ドメイン内におけるスペクトル成分を操作し、修正し、抑圧し、または強調することが容易である。
これまでに図解したように、周期波が存在するために存在する不確定性原理の影響を局所的に低減させることにより、高時間分解能および高周波数分解能が実現され得る。このことの理由は、本方法が、複数の個別の部分波を、周期的な複数の正弦波から、より複雑な、非周期的な複数の波束(wave packet)に変化させるために平滑化処理またはローパスフィルタリング処理を適用し、それにより、エネルギー集中(concentration、密度、信号強度)が周波数ドメインから時間−周波数ドメインにシフトする(shifting the energy concentration from the frequency domain to the time-frequency domain、信号強度が表現されるドメインが、信号継続性を表現できない周波数ドメインから、信号継続性を表現できる時間−周波数ドメインにシフトする)ことにある。前記平滑化処理は、周波数変換において不確定性原理の影響を局所的に低減させることを支援し、なぜなら、前記本質的な局在化のトレードオフ(the original localization trade-off、時間と周波数との間でそれぞれの観測精度が反比例するという性質)は、周期的な複数の正弦波のみに適用され、非周期的な複数の波束(wave packet、局在化する波動)には適用されないからである。
不確定性を高度に低減させる変換を行うには、その変換の結果を顕在的に計算する場合には、大容量のメモリおよび長時間の処理時間が必要となるかもしれない。現在のコンピュータの向上した容量および速度によれば、時間ドメイン内の分解能を改善することが必要である場合には、メモリおよび処理速度は、それほど問題にならない。前述の行列の計算は、パーソナル・コンピュータまたは他の計算デバイスであって単一命令多重データ処理(Single Instruction Multiple Data)(SIMD)用CPU拡張部(extensions)およびグラフィックス処理ユニット(GPU、グラフィックス・チップ、画像演算処理装置)を有するものによって実行することが可能である。前記平滑化処理段階は、連続する複数の時間ドメイン・サンプル上で互いに独立して実行されるかもしれないため、前記複数回の計算は、例えばグラフィック・カードまたは複数のプロセッサ・コア上で、並列処理を用いて効率よく実行されるかもしれない。前記平滑化法は、任意の入力信号についての周波数変換結果を後処理するために、デスクトップであるかラップトップであるかを問わず、パーソナル・コンピュータ上で簡単にかつ効率よく実行することが可能である。本方法においては、CFPCにより、異なる複数の近傍周波数領域間に発生する同期(synchronization、同調)処理の特徴が説明される。CFPCによる処理を、信号が複数の周波数を含む場合に、コンピュータ上でシミュレートすることが可能である。
図16Aは、本発明のいくつかの実施態様に従い、入力信号を処理する方法を簡略化して示すシステム図である。前述の信号処理および信号修正処理を実行するコンピュータ・システム1600であって望ましいものが、図16Aに示されている。そのコンピュータ・システム1600であって、送信者または受信者についてのものは、パーソナル・コンピュータ(PC)、中央コンピュータすなわちサーバに接続されたワークステーション、ノートブック型すなわちポータブル・コンピュータ、タブレット型PC、ハンドヘルド型メディア・プレイヤ(例えば、MP3プレイヤ)、スマート・フォン・デバイス、ビデオ・ゲーム装置またはセット・トップ・ボックスとしてもよく、それらは、内部の処理コンポーネント(component、部品、構成要素、素子)およびメモリ・コンポーネントと、外部の入力デバイス、出力デバイス、記憶デバイス、ネットワークおよび他のタイプの周辺機器との接続のためのインタフェース・コンポーネントとを有する。図16Aに示すコンピュータ・システム1600の複数の内部コンポーネントは、破線内に示される一方、複数の外部コンポーネントは、前記破線外に示されている。内部に存在するかまたは外部に存在する複数のコンポーネントは、前記破線を跨ぐように示されている。PCの代わりに、コンピュータ・システム1600は、例えば、この書類に記載されているいくつかの信号処理方法およびいくつかの信号修正方法を組み込むために、サーバ、メインフレーム・コンピュータ、分散型コンピュータ、インターネット機器もしくは他のコンピュータ機器またはそれらの複数の組合せのうちの任意のものという形態であってもよい。
この書類に記載されているシステムのいずれの実施態様またはそのシステムのいずれのコンポーネントにおいても、コンピュータ・システム1600は、システム・バス1604によって互いに接続されたプロセッサ(processor、CPU、中央処理ユニット)1602およびシステム・メモリ1606を有しており、そのシステム・バス1604は、さらに、互いに異なる複数のシステム・コンポーネント(system components、システム内の複数のコンポーネントなど)を作動に関して互いに連携するように(operatively)互いに接続する。1個または複数個のプロセッサ1602が存在してもよく、それらプロセッサ1602は、例えば、1個の中央処理ユニット(CPU)、または複数個の処理ユニットであって、一般に並列処理環境(例えば、デュアルコア、クアッドコアまたは他のマルチコア型の処理デバイス)と称されるものである。システム・バス1604は、複数のバス構造の複数のタイプのうちの任意のものとしてもよく、それらバス構造は、メモリ・バスもしくはメモリ・コントローラ、周辺機器用バス、スイッチド・ファブリック(switched fabric)、ポイント・ツー・ポイント接続、および種々のバス・アーキテクチャのうちの任意のものを用いるローカル・バスを有する。システム・メモリ1606は、読出し専用メモリ(ROM)1608と、ランダム・アクセス・メモリ(RAM)1610とを有する。基本入力/出力システム(BIOS)1612は、例えば起動段階の如き段階でコンピュータ・システム1600内の複数のコンポーネント間で情報を伝送することを支援する複数の基本ルーチンを有し、そのBIOS1612は、ROM1608内に格納されている。頻繁にアクセスされるデータを保存するために高速メモリを実現するためにキャッシュ1614をRAM1610内に確保してもよい。
複数のアプリケーション、ファイルおよびデータを不揮発的に保存するために、例えばハード・ディスク・ドライブ1618の如きデータ記憶装置に対して読出しおよび書込みのためのアクセスを可能にするために、ハード・ディスク・ドライブ・インタフェース1616をシステム・バス1604に接続してもよい。注記すべきことは、図16Aにおいてハード・ディスク・ドライブ1618が前記破線を跨ぐように示されているように、ハード・ディスク・ドライブ1618は、コンピュータ・システム1600の内部コンポーネントであっても外部コンポーネントであってもよいということである。いくつかの設定態様においては、内部ハード・ディスク・ドライブ1618と、外部ハード・ディスク・ドライブ1618との双方を有してもよい。複数のプログラム・モジュールおよび他のデータが、ハード・ディスク・ドライブ1618に保存されてもよく、それらプログラム・モジュールおよびデータは、オペレーティング・システム1620、1または複数のアプリケーション・プログラムおよび複数のデータ・ファイルを有する。
望ましい一実施態様においては、ハード・ディスク・ドライブ1618が、信号編集アプリケーション・プログラム1622を、コンピュータ・システム1600を複数の専用マシンに転換することが可能な複数のプログラムの一つとして保存してもよい。その信号編集アプリケーション・プログラム1622は、当該信号編集アプリケーション・プログラム1622の種々の機能を実行するために一緒に実行される複数のソフトウエア・モジュールを有してもよい。望ましい一実施態様においては、その信号編集アプリケーション・プログラム1622が、FFT/IDFT(FFT/IDFT、高速フーリエ変換/逆離散フーリエ変換、FFT/IFFT、高速フーリエ変換/逆高速フーリエ変換)モジュール1624を有してもよく、そのFFT/IDFTモジュール1624は、CPU1602に、信号を時間ドメインから周波数ドメインに変換すること(例えば、FFTロジックを実行する式(1)および(2)を用いる)と、その信号を、周波数ドメインから時間ドメインに逆変換すること(例えば、IDFT(IDFT、逆離散フーリエ変換、IFFT、逆高速フーリエ変換)ロジックを実行する式(8)を用いる)とを実行させる。
信号編集アプリケーション・プログラム1622は、さらに、時間−周波数変換モジュール1664を有してもよく、その時間−周波数変換モジュール1664は、CPU1602を、例えば式(3)に従い、複数の個別の部分波(partial individual waves、信号のうちの実数部を表す部分波と、同じ信号のうちの虚数部を表す部分波など)としての周波数データを時間−周波数行列(time-frequency matrix、時間軸と周波数軸とで定義される行列)で表現する時間−周波数行列表現を生成するように設定・構成する(configure)。この信号編集アプリケーション・プログラム1622は、さらに、平滑化フィルタ・モジュール1666を有してもよく、その平滑化フィルタ・モジュール1666は、CPU1602を、例えば式(4)−(7)に従い、時間−周波数変換モジュール1664の複数のプロセスから出力された前記時間−周波数行列内の前記複数の波についての周波数間位相カップリングを実現するように設定・構成する(configure)。その平滑化フィルタ・モジュール1666は、前記時間−周波数変換行列(time-frequency transform matrix、前記時間−周波数行列)に対するCFPCを作成し(create、行い)、平滑化された時間−周波数変換結果(time-frequency transform、前記時間−周波数行列)を出力し、その時間−周波数変換結果(time-frequency transform、前記時間−周波数行列)は、システム・メモリ1606内に一時的に保存されてもよく、または、その後の長期アクセスのために、信号編集アプリケーション・プログラム1622に関連付けられるデータ・ファイル1626内に保存されてもよい。信号編集アプリケーション・プログラム1622に関連付けられる別のいくつかのデータ・ファイル1626が、前述の複数のモジュールのそれぞれごとに、実行のためのいくつかのパラメータを保存してもよい。例えば、平滑化フィルタ・モジュール1666は、式(4)および(5)に示すごとき指数移動平均フィルタを適用してもよい。その平滑化フィルタ・モジュール1666は、平滑化された時間−周波数変換結果(time-frequency transform、前記時間−周波数行列)を生成するために、前述の、信号に適応するようにλを決定するアプローチまたは信号に依存せずにλを決定するアプローチを用いてもよい。λについての複数の値およびそれらに関連するパラメータは、いくつかのデータ・ファイル1626内に保存されてもよい。
別の一実施態様においては、信号編集アプリケーション・プログラム1622を、標準的なCPU1602ではなく、グラフィックス処理ユニット(GPU)カード(card、拡張ボード)1603上で動作するように最適化することが可能である。GPUカード1603というものは、専用のコンピュータ・ハードウエア処理コンポーネントであり、そのコンポーネントは、数百万個の数値(通常、コンピュータ・スクリーン上で表示を行うための画素、色および輝度に関する複数の数値)を、並列処理で、ある画像のコンピュータ・モデル(例えば、コンピュータ・ゲーム内の3Dスクリーンのようなもの)から、いわゆる「シェーダー(Shader、シェーディング(陰影)処理を行うプログラム)」を用いて計算するように設計されている。シェーダーというものは、あるフィルタであり、そのフィルタは、スクリーン上のすべての画素について、光源に対する平面の傾き角の如き複数の入力値を組み合わせ、スクリーン上の数百万個の画素について同時にいくつかのデータ呼び出し(data calls)を受け付け、それにより、ある3Dモデルからある画像を高速で計算することを可能にする。信号編集アプリケーション・プログラム1622は、時間−周波数変換モジュール1664と、平滑化フィルタ・モジュール1666とを有し、その信号編集アプリケーション・プログラム1622は、GPUカード1603上のシェーダーを用いて、前記複数の行列についての複数の数値であって平滑化されたものを計算するように修正することが可能であり、そのGPUカード1603は、前記プログラム(the program、前記シェーダー)が、非常に高速で効率よく実行され、それにより、前記時間−周波数表現をリアルタイムで表示することを提供する。
信号編集アプリケーション・プログラム1622は、さらに、いくつかの信号編集ツールを有してもよく、それら信号編集ツールは、前記平滑化された時間−周波数変換結果(time-frequency transform、前記時間−周波数行列)の複数の離散的な時間ビン(time bins、時間区分、時間スロット)において、特定のいくつかの周波数の位置にある不要なエネルギーすなわち不要な信号強度を識別し(identifying、他の特徴量から区別し、特定し、認識し、同定し、選択し、個別に選んで指定し)、そして、変更または除去することを目的とする。そのような信号編集ツールは、いくつかの自動ローパスフィルタを有してもよく、または、その信号編集ツールは、ユーザによって入力されたいくつかのパラメータを受け付けること、もしくは、コンピュータ・システム1600にインストールされたグラフィカル・ユーザ・インタフェースを媒介として前記時間−周波数ドメイン信号を直接編集する(editing、ユーザが編集する、ユーザ操作に応じて編集す)ことを可能にするユーザ・インタフェースさえ実現してもよい。信号編集が完了すると、その後、その編集済み信号は、時間ドメインの編集済み信号に復元するために、FFT/IFFT(FFT/IFFT, FFT/IDFT)モジュール1624内のIFFT(IFFT, IDFT)演算結果に従い、CPU1602によって処理してもよい。
コンピュータ・システム600は、さらに、磁気ディスク・ドライブ1630を、リムーバブル磁気ディスク1632、テープまたは他の磁気媒体に対する読出しまたは書込みのために有してもよい。その磁気ディスク・ドライブ1630は、コンピュータ・システム1600内の他のいくつかのコンポーネントまたはアプリケーションによって起動される磁気ディスク・ドライブ1630に対して読出しおよび書込みのためのアクセスを実現するために、ドライブ・インタフェース1628、例えば、スモール・コンピュータ・システム・インタフェース(SCSI)、シリアル接続SCSI(SAS)インタフェースまたはシリアルATアタッチメント(SATA)インタフェースを介してシステム・バス1604に接続してもよい。磁気ディスク・ドライブ1630およびそれに関連するコンピュータ読取り可能媒体を、コンピュータ・システム1600のためのコンピュータ読取り可能な指令、データ構造、プログラム・モジュールおよび他のデータを不揮発的に保存するために用いてもよい。
コンピュータ・システム1600は、さらに、光学ディスク・ドライブ1634を、CDROM、DVDもしくは他の光学媒体の如きリムーバブル光学ディスク1636に対する読出しまたは書込みのために有してもよい。その光学ディスク・ドライブ1634は、コンピュータ・システム1600内の他のいくつかのコンポーネントまたはアプリケーションによって起動される光学ディスク・ドライブ1634に対して読出しおよび書込みのためのアクセスを実現するために、前記ドライブ・インタフェース1628を介してシステム・バス1604に接続してもよい。光学ディスク・ドライブ1634およびそれに関連するコンピュータ読取り可能媒体を、コンピュータ・システム1600のためのコンピュータ読取り可能な指令、データ構造、プログラム・モジュールおよび他のデータを不揮発的に保存するために用いてもよい。コンピュータ・システム1600は、さらに、外部(external、外付け)ドライブ・インタフェース1628に接続された外部(external、外付け)ハード・ドライブ1638を有してもよい。その外部ハード・ドライブ1638は、コンピュータ・システム1600のためのコンピュータ読取り可能な指令、データ構造、プログラム・モジュールおよび他のデータを不揮発的に保存する追加的な手段として用いてもよい。
表示デバイス1642、例えば、モニタ、テレビもしくはプロジェクタまたは他のタイプの提示デバイス(presentation device、プレゼンテーション・デバイス)を、さらに、ビデオ・アダプタ1640またはビデオ・カードの如きインタフェースを介してシステム・バス1604に接続してもよい。同様に、オーディオ・デバイス、例えば、外部(external、外付け)スピーカまたは外部マイク(図示しない)を、オーディオ・カードまたは他のオーディオ・インタフェース(図示しない)を経由してシステム・バス1604に接続してもよい。
モニタ1642に加え、コンピュータ・システム1600は、他の周辺機器としての入力デバイスおよび出力デバイスを有してもよく、それらデバイスは、しばしば、シリアル・ポート・インタフェース1644を介してプロセッサ1602およびメモリ1606に接続され、そのシリアル・ポート・インタフェース1644は、システム・バス1604に接続される。それに加えるかまたはそれに代えて、入力デバイスおよび出力デバイスは、他のインタフェース、例えば、ユニバーサル・シリアル・インタフェース(USB)、IEEE1394インタフェース(「ファイヤワイヤ」)、パラレル・ポートまたはゲーム・ポートにより、システム・バス1604に接続されてもよい。ユーザは、コマンドおよび情報をコンピュータ・システム1600に種々の入力デバイス、例えば、キーボード1646と、例えばマウスであるポインティング・デバイス1648とを有するものを介して入力してもよい。他の入力デバイス(図示しない)として、例えば、ジョイスティック、ゲーム・パッド、タブレット、タッチ・スクリーン・デバイス、サテライト・ディッシュ(satellite dish、衛星放送受信用アンテナ)、スキャナ、ファクシミリ装置、マイク、デジタル・カメラおよびデジタル・ビデオ・カメラを用いてもよい。
他の出力デバイスは、プリンタ1650と、1または複数のスピーカ1670とを、送信者(sender)のオーディオ性能を提示するために有してもよい。他の出力デバイス(図示しない)は、例えば、プロッタ、複写機、フォトプリンタ、ファクシミリ装置および印刷機を有してもよい。いくつかの実施態様においては、それら入力デバイスおよび出力デバイスのうちの数個を、いくつかの複合機(single devices)、例えば、プリンタとスキャナとファクシミリ装置と複写機とが複合されて成る1台の機械に組み合わせてもよい。さらに理解すべきことは、データを保存するために、他のタイプのコンピュータ読取り可能媒体およびそれに関連するドライブ、例えば、磁気カセットまたはフラッシュ・メモリ・デバイスに、シリアル・ポート・インタフェース1644(例えば、USB)またはそれと同様なポート・インタフェースを介してコンピュータ・システム1600がアクセスしてもよいということである。
コンピュータ・システム1600は、1または複数の遠隔デバイスと通信するために、システム・バス1604に接続されたネットワーク・インタフェース1652を媒介として複数の論理接続部(logical connections)を用いて、ネットワーク環境において作動してもよい。図16Aに示す複数の論理接続部は、ローカル・エリア・ネットワーク(LAN)1654と広域ネットワーク(WAN)1660とを有する。この種のネットワーク環境は、ホーム・ネットワーク、オフィス・ネットワーク、エンタープライズ広域コンピュータ・ネットワークおよびイントラネットにおいて一般的である。それら論理接続部は、コンピュータ・システム1600に接続されるかまたはそれと一体の通信デバイスによって達成してもよい。図16Aに示すように、LAN1654は、ルータ1656またはハブを、有線であるか無線であるかを問わず、内蔵式である(internal)か外付け式である(external)かを問わず、用いてもよく、その目的は、遠隔デバイス、例えば、遠隔コンピュータ1658であって同様にしてLAN1654に接続されるものに接続することにある。遠隔コンピュータ1658は、別のパーソナル・コンピュータ、サーバ、クライアント、ピアー・デバイス(peer device)、または他の一般的なネットワーク・ノードであってもよく、また、典型的には、コンピュータ・システム1600に関して前述された複数の要素(elements、コンポーネント)のうちの多数またはすべてを有する。
WAN1660に接続するために、コンピュータ・システム1600は、典型的には、WAN1660上の通信を確立するためにモデム1662を有する。典型的には、WAN1660は、インターネットであってもよい。しかし、いくつかの事例においては、WAN1660が、多くの位置に広がる大規模なプライベート・ネットワーク、または、仮想プライベート・ネットワーク(VPN)であってもよい。モデム1662は、電話モデム、高速モデム(例えば、デジタル加入者線(DSL)モデム)、ケーブル・モデムまたは同様なタイプの通信デバイスであってもよい。モデム1662は、内蔵式でも外付け式でもよいが、ネットワーク・インタフェース1652を介してシステム・バス1618に接続される。別のいくつかの実施態様においては、モデム1662が、シリアル・ポート・インタフェース1644を介して接続されてもよい。理解すべきことは、図示されている複数のネットワーク接続部は、例示のものであり、また、コンピュータ・システム1600と他のデバイスまたは他のネットワークとの間にネットワーク通信リンクを確立するために、他の手段および他の通信デバイスを用いてもよいということである。
コンピュータ・システム1600は、複数のプロセッサまたは複数のプロセッサ・コアと、並列処理を実行するためにそれらプロセッサを指令するアルゴリズムとを有してもよい。例えば、1個のコンピュータCPU1602は、複数のプロセッサ・コアを有してもよい。これに代えて、互いに接続された複数のコンピュータを用いてもよい。各コンピュータは、少なくとも1つのプロセッサを有してもよい。並列処理により、効率が顕著に改善されるかもしれない。いくつかの高速平滑化アルゴリズムが、現在のCPUまたはGPU上で利用可能であるかもしれない。例えば、前記変換が実数型の出力信号を提供する場合、信号処理に先立ち、ヒルベルト変換を、それら値(the values、前記実数型の出力信号によって表される複数の実数値)を解析用の(複素数型の)信号に変換するために適用してもよい。FFTまたは周波数変換処理に基づいてスペクトル操作を行うためのアルゴリズムを追加的に用いてもよい。
この書類に記載されている技術は、この書類に開示されている信号の処理および編集の方法という特別の目的を達成するために設定された1または複数のコンピューティング・システム内において複数の論理演算および/または論理モジュールとして実装してもよい。それら論理演算は、プロセッサ実行型の(processor-implemented)複数のステップ(steps、指令)であって、1または複数のコンピュータ・システムにおけるいくつかのソフトウエア・プログラムの実行によって指示されるものの列として、もしくは、互いに接続された複数のマシンもしくは互いに接続された複数の回路モジュールであって、自立式デバイス内にある複数の論理ゲートを用いるか、もしくは、1もしくは複数のコンピュータ・システム内にある複数の論理ゲートを用いるものとして、または、ソフトウエアによって設定される(software configured)1つのマイクロプロセッサおよびいくつかの回路モジュールとの組合せとして実装してもよい。同様に、種々のコンポーネント・モジュール(component modules、複数のモジュールの実行によって1つの機能が達成されるために個々のモジュルがその機能との関係においては1つのコンポーネントとして機能する場合のそれらモジュール)の記述(descriptions、記述文)を、それらコンポーネント・モジュールによって実行されるかまたは実施される複数の演算という観点から提供してもよい。最終的な実装(The resulting implementation)がどのようなものとなるのかは、選択可能な事項であり、この書類に記載されている技術を実行する基本的なシステムについての性能上の要求事項に依存する。したがって、この書類に記載されている技術のいくつかの具体例を構成する前述のいくつかの論理演算は、演算、ステップ、オブジェクトまたはモジュールというようにいろいろな名前で称される。さらに、理解すべきことは、複数の論理演算が実行される順序は、反対のことが特許請求の範囲に特記されていることも、特別の順序が、特許請求の範囲の記載によって本質的に必要とされることもない限り、任意であってもよいということである。
いくつかの実施態様においては、いくつかの製造物が、本発明を実施するためにコンピュータ・システム上でいくつかの演算のインスタンス化(instantiation、具現化、実行など)を行わせるコンピュータ・プログラム・プロダクトとして提供される。コンピュータ・プログラム・プロダクトの一実施態様が、非過渡的なコンピュータ・プログラム記録媒体であり、その記録媒体は、コンピュータ・システムによって読み取り可能であるとともに、専用コンピュータ(special purpose computer、特定目的向けコンピュータ)を生成するために、前記コンピュータ上で実行される具体的でかつ特別の処理アルゴリズムを符号化する。さらに理解すべきことは、この書類に記載されている技術は、さらに、パーソナル・コンピュータから独立している専用デバイスにおいて利用してもよいということである。
例えば、この書類に記載されている信号処理システムは、図16Bに示すような専用処理デバイス1670上に実装してもよい。その処理デバイス1670は、プロセッサ1676とメモリ1678とを組み合わせたマイクロコントローラ1674を有してもよい。別の実施態様においては、それぞれ互いに分離したマイクロプロセッサとメモリ・デバイスとを、作動に関して相互に連携するように(operatively)互いに接続してもよい。これに代えて、別のメモリが必要であれば、別のメモリ・モジュールをマイクロコントローラ1674に接続することが可能である。メモリ1678は、入力信号1672を信号処理に備えて保存し、最終的には、修正済み信号(modified signal、編集済み信号)1690を出力に備えて保存するために使用してもよい。メモリ1678は、さらに、後述の種々の回路モジュールによって実行される処理ステップのための種々のパラメータと、前記いくつかの回路モジュールから出力されるデータおよび複数の数値とを保存するために使用してもよい。マイクロコントローラ1674は、メモリ1678との間でデータのやりとりをするためのデータの流れを管理するとともに、種々の回路モジュールによって実行される複数の処理ステップを互いに連携させる。いくつかの実施態様においては、マイクロコントローラ1674を、前記複数の回路モジュールのうちの1または複数についての前述の複数の処理演算を実行するように設定してもよい。
複数の回路モジュールを、処理デバイス1670内においてマイクロコントローラ1674に接続してもよい。それら回路モジュールは、例えば、特定用途向け集積回路(ASIC)またはフィールド・プログラマブル・ゲート・アレイ(Field-programmable Gate Array、製造後に現場でプログラミング可能なゲート・アレイ)(FPGA)を用いて実装してもよい。それら回路モジュールは、時間−周波数変換(time-frequency transform、時間−周波数間変換、FFT/IFFTモジュール)モジュール1680であって、信号を時間ドメインから周波数ドメインに変換すること(例えば、式(1)および(2)を実行するFFT論理回路)と、信号を周波数ドメインから時間ドメインに逆変換すること(例えば、式(8)を実行するIDFT(IDFT、逆離散フーリエ変換、IFFT)論理回路)とを行うように設定してもよい。マイクロプロセッサ(microprocessor、マイクロコントローラ)1674は、入力信号1672を変換モジュール1680であってその入力信号1672にFFTを適用するものに誘導するように設定してもよい。2番目の回路モジュールは、時間−周波数行列拡張(time-furequency matrix extension、行列のドメインを周波数から時間−周波数に拡張する)モジュール1682であってもよく、その時間−周波数行列拡張モジュール1682においては、複数の論理ゲートが、例えば式(3)に従い、周波数データ(frequency data、強度と時間と周波数との間の関係を表すデータ)についての複数の時間−周波数行列表現を生成するように設定される。これに代えて、メモリ1678は、例えば式(1)および(2)に示すように、入力信号1672の周波数変換を行うことと、例えば式(3)に示すように、複数の時間−周波数変換行列(time-frequency transform matrices、前記時間−周波数行列)すなわち複数の部分的な個別波を発生させることとを行うようにプロセッサ1676に指令するいくつかのアルゴリズムおよび関連データを保存してもよく、これによれば、互いに分離した複数の変換用回路モジュールを設ける必要がなくなる。
3番目の回路モジュールは、平滑化フィルタ・モジュール1684であり、この平滑化フィルタ・モジュール1684においては、複数の論理ゲートが、例えば式(4)−(7)に従い、周波数間位相カップリングを実現するように設定される。いくつかの実施態様においては、平滑化フィルタ・モジュール1684が、コンピュータ・グラフィックス・コプロセッサであってもよい。この平滑化フィルタ・モジュール1684は、時間−周波数行列拡張モジュール1682からの出力信号を受け取ってもよい。この平滑化フィルタ・モジュール1684は、前記時間−周波数変換行列(time-frequency transform matrix、前記時間−周波数行列)に対するCFPCを生成し(create、行い)、平滑化された時間−周波数変換結果(time-frequency transform、前記時間−周波数行列)1686をメモリ1678に出力する。この平滑化フィルタ・モジュール1684は、式(4)および(5)に示すごとき指数移動平均フィルタを適用してもよい。この平滑化フィルタ・モジュール1684は、平滑化された時間−周波数変換結果(time-frequency transform、前記時間−周波数行列)1686を生成するために、前述の、信号に適応するようにλを決定するアプローチまたは信号に依存せずにλを決定するアプローチを用いてもよい。
1または複数の別の回路モジュール、例えば、信号編集モジュール1684が、複数の離散的な時間ビン(time bins、時間区分、時間スロット)において、特定のいくつかの周波数の位置にある不要なエネルギーすなわち不要な信号強度を識別し(identifying、他の特徴量から区別し、特定し、認識し、同定し、選択し、個別に選んで指定し)、そして、それを変更または除去するために当該処理デバイス1670内に存在してもよい。この種の信号編集モジュール1684は、ローパスフィルタ回路というように単純なものであってもよく、または、この信号編集モジュール1684は、ユーザによって入力されたいくつかのパラメータを受け付けること、もしくは、前記時間−周波数ドメイン信号を直接編集することを可能にするユーザ・インタフェースさえ実現してもよい。この信号編集モジュール1684において編集が完了すると、その後、その編集済み信号は、逆変換(例えば、逆離散フーリエ変換)を実行して時間ドメインの編集済み信号に復元するために、変換モジュール1680に逆戻りするように送信されてもよい。プロセッサ1676は、その編集済み信号をメモリ1678に保存されるように誘導するか、または、他のデバイスによって使用されるかもしくは表示されるために出力してもよい。このように、処理デバイス1670は、時間ドメインの入力信号1672を受け取り、その入力信号1672を、前述の方法を用いて処理した後、修正済みの時間ドメイン信号1690を出力する。
図17−図19を参照することにより、望ましい信号処理プロセスであって、信号から不要なノイズまたは他の周波数異常部(frequency aberrations)を除去するために前述の時間−周波数行列拡張を用いてもよいものが理解され得る。図16−図18は、概略的に、従来(state of the art、PRIOR ART)の信号処理方法を、図19と比較するために示しており、図19は、この書類に開示されている前述の時間−周波数行列拡張を概略的に示している。図16−図19に示す複数の例は、オーディオ信号の処理という場面において理解してもよいが、本方法は、任意の信号に適用してもよく、そのような信号は、オーディオ信号、静止画像ファイルおよびビデオ信号の如き、時空間上の複数の測定値の列、または、ラジオ送信、テレビ送信および衛星送信;レーダー信号(RADAR)およびソナー信号(SONAR);地上線および無線の電話送信ならびにデータ信号送信;電波望遠鏡によって受信された信号;地球物理学マッピング信号;ならびに断層画像および磁気共鳴画像として表現され得る。したがって、この書類に示されるオーディオ信号処理の例に加えて、前述の技術を用いる信号処理は、任意の数の分野および用途において実現可能である。
図17には、従来のスペクトル編集方法1700についての概略図が示されている。正弦波状の時間ドメイン信号1702が、本編集方法1700の対象である。入力信号1702が、アナログ・ツー・デジタル(A/D)変換により、デジタル表現に変換され(「サンプリングされ」)てもよい。これに代えて、入力信号1702が、先行する時刻にサンプリングされたサンプル信号を含むコンピュータ・データ・ファイルであってもよい。この取り込まれた入力信号1702は、時間対振幅または時間対強度の関係を表す複数の測定値の列を表す任意のタイプの信号であってもよい。典型的には、その時間ドメイン信号(the time domain signal、前記入力信号)1702は、さらなる解析および周波数ドメインへの変換による編集のために、「窓掛けされ」、すなわち、選び出される(selected、切り出される)。サンプリング用の窓(window、時間窓)のサイズ(size、時間窓長)について特別の要件は存在しない。例えば、窓関数1704aを、大きな解析用の窓1706aを選択するためのいくつかのパラメータを用いて設定することが可能であり、または、窓関数1704bを、比較的小さな解析用の窓1706bを選択するための別のいくつかのパラメータを用いて設定することが可能である。
その後、このようにして選択された各窓1704a,1704bは、前記時間ドメイン信号1702を、それに対応する周波数ドメイン表現に変換するためにFFT(FFT、高速フーリエ変換)演算(operation、計算、処理、演算部)1708(例えば、STFT)を受ける。解析のために選択された前記窓1704a,1704bのサイズに応じ、周波数ドメイン表現に対する分解能が、前記不確定性原理に従って影響を受け、すなわち、高い時間分解能と高い周波数分解能とが同時に達成されることは不可能である。特に、時間ドメインからのサンプリング窓1704a,1704bが大きいほど、周波数ドメイン内における周波数の分解能が高く、すなわち、分解能帯域幅が狭いが、時間ドメイン内における分解能が犠牲となる。その理由は、前記FFTの分解能が、サンプリング周波数をサンプル数(すなわち、時間窓長)で割り算した値に等しいからである。
FFT演算1708により、そのFFT演算1708のレンジ(range、対象範囲)内の複数の周波数のスペクトルに対応する複数の値の列が生成され、それら値は、「複数のビン」1712a/1712b(離散的な複数の周波数値)の「スタック(stack、積み重ね)」1710a/1710bとしてグラフィック表示されてもよい。ビン1712a/1712bのうち、特定のいくつかの周波数の位置において信号エネルギー1714a/1714bを有するものが強調表示され、すなわち、黒塗りされ、それにより、何ら信号エネルギーを有しない複数の空のビンであってそれらビンに関連付けられる特定の周波数に位置するものと比較される。注目すべきことは、小さいサンプリング窓1706bが用いられる場合におけるスタック1710b内の複数のビン1712bのそれぞれの有するより広い帯域と比較すると、大きなサンプリング窓1706aが用いられる場合には、FFT演算1708によって識別される前記離散的な複数の周波数であってスタック1710a内において複数のビン1712aとして表現されるものがそれぞれ非常に狭い帯域を有し、よって、より高い分解能を有し、前記複数のビン1712bは、より帯域が狭い分解能を有し、このことは、すなわち、前記信号エネルギーが記録される1つの周波数帯域が比較的に広く、さらなる狭帯域化も改善もできないということであるということである。
複数のビン1712a/1712bは、それぞれ、画面上において、互いに異なる複数の周波数の位置において信号強度を示すコラム(column、柱、列、縦並び、コラム状グラフ)1718a/1718bとして表示されてもよく、前記複数の周波数は、複数の周波数ドメイン・プロット(plot、グラフ)1716a/1716bにおいて、時間に対して(plotted against time、時間軸を別の座標軸として)プロットされている。前記大きいサンプリング窓1706aに対応するプロット1716aの概略的な表現が、比較のために、前記小さいサンプリング窓1706bに対応するプロット1716bと関連するように示されている。周波数に関する特定のサンプル帯域内の信号エネルギー1722a/1722bを、各ビン1712a/1712b内において、前記画面上に、画素数または画素色を異ならせることによって表現するか、または、複数の他の視覚的表現方法のうちの任意の数のものにより表現することが可能である。各コラム1718a/1718bは、窓1706aおよび窓1706b(the windows 1706a/b、長さが異なる複数の窓1706)のうち、N個の時間ドメイン・サンプル(すなわち、サンプリング周波数)にわたって推定される平均周波数および/または平均強度に対応するものから取得された1つの変換フレーム(transform frame、変換対象としてのフレーム、変換用フレーム)を表している。Nの値が大きいほど、周波数ドメイン内での分解能が高くなる(すなわち、同じ時間枠(time frame、時間区分)を占める縦状コラム1718aの数が増加する)。これに対し、Nの値が小さいほど、時間ドメイン内での分解能が高くなるが周波数ビンの数が減少する(すなわち、同じ時間枠(time frame、時間区分)を占める縦状コラム1718aの数が減少する)。
図18には、標準的なスペクトル編集方法1800についての別の概略図が、ノイズ1807を有する信号1802についての一般的な分析手順を強調するために示されている。典型的な解析および編集方法1800においては、サンプリング関数(sampling function、標本化関数、窓関数)1804が、いずれのサンプル長さについても同一であり、よって、複数のサンプリング窓1806a/1806bが、同じサイズ(size、時間窓長)を有する。それらサンプリング窓1806a/1806bは、さらに、通常50%以上の比率で、互いにオーバーラップするように設定されている(オーバーラップ領域1805を参照されたい)。FFT演算(operation、計算、演算部)1808が、各サンプリング窓1806a/1806b上で作動し、FFT演算1808のレンジ(range、対象範囲)内の複数の周波数のスペクトルに対応する複数の値の列を生成し、それら値は、「複数のビン」1812a/1812b(離散的な複数の周波数値)の「スタック(stack、積み重ね)」1810a/1810bとしてグラフィック表示されてもよい。FFT演算1808によって識別される前記離散的な複数の周波数であってスタック1810a内において複数のビン1812aとして表現されるものが、スタック1810b内における複数のビン1812bと同じ分解能を有する。この理由は、サンプリング窓1806a/1806bが同じサイズ(size、時間窓長)を有し、FFT演算1808の複数のパラメータが、それぞれのサンプルについて互いに同じであるからである。
複数のビン1812a/1812bは、それぞれ、画面上において、互いに異なる複数の周波数の位置において信号強度を示すコラム(column、柱、列、縦並び、コラム状グラフ)1818a/1818bとして表示されてもよく、前記複数の周波数は、1つの周波数ドメイン・プロット(plot、グラフ)1816において、時間に対して(plotted against time、時間軸を別の座標軸として)プロットされている。各コラム1818a/1818bは、窓1806aおよび窓1806bのうち、N個の時間ドメイン・サンプル(すなわち、サンプリング周波数)にわたって推定される平均周波数および/または平均強度に対応するものから取得された1つの変換フレーム(transform frame、変換対象としてのフレーム、変換用フレーム)を表している。しかし、注記すべきことは、互いに隣接するコラム1818a/1818bは、互いに隣接する複数の変換フレームを表し、それら変換フレームは、互いにオーバーラップしている複数の窓1806a/1806bに対応し、よって、それら互いに隣接する複数の変換フレームは、データとしては互いに異なるが、それぞれある時間区間で互いにオーバーラップし、各変換フレームは、(N/サンプルレート(SampleRate、サンプリング周波数))秒の継続時間を有するということである。オーバーラップ(overlap、オーバーラップ領域)1805の存在および各窓1806a/1806bのサイズの結果、各時間ドメイン・サンプルであってノイズ1807の如き過渡信号(transient signals)を含むものが、1個より多い数の窓1806a/1806b内に出現する。よって、過渡信号すなわちノイズ信号(noise signal、ノイズ)1807は、周波数ドメイン内において、複数の時間インスタンスにわたって拡散し(spread、分散し)、それにより、ノイズ1807を精度よく編集することが困難になる。ひとたび信号編集が完了すると、その後、周波数ドメイン内の前記いくつかの編集内容(the modifications、前記信号編集の対象、編集部位、編集点、修正点)が、逆周波数変換により、時間ドメイン表現に復元される。
図19は、典型的なオーディオ編集アプリケーション1900のスクリーン・ショットを示している。そのオーディオ編集アプリケーション(The application)1900は、1つの窓内における解析および編集のためにオーディオ信号1904の周波数ドメイン変換結果(frequency domain transformations)を提示する(presents、画面上に表示する、可視化して出力する)とともに、オーディオ信号(the signals)1904を操作する(manipulation、編集する、変更する)ための編集ツール1902を提供する。ユーザは、画面上のいくつかの画素を、編集ツール1902を用いて操作し、それにより、特定のいくつかの周波数に位置する各時間ドメイン・サンプルについて信号エネルギーを変更する。図19に示す画像は、代表的な1つの操作(manipulation、編集、編集のためにユーザが作業を行う)エリア1906を示しており、その操作エリア1906は、編集ツール1902によって提供される修正(treatment、編集)を適用するためにいくつかのサンプルといくつかの周波数とに跨るように選択される。この例においては、「支持領域(region of support)(ROS)」が、前記いくつかの周波数を包囲するように任意の形状を有する境界線によって定義され、前記支持領域の外側にある領域は、手動または自動で抑圧されるかまたは抽出されるかもしれない。
最小の編集分解能(editing resolution、編集が可能である最小の領域)は、1個の画素であるかもしれない。しかし、各画像は、依然として、1個の窓の解析結果のうちの少なくとも一部、すなわち、1個より多い数の時間ドメイン・サンプルを表す。よって、すべての編集操作は、少なくとも、N個の時間ドメイン・サンプル、すなわち、FFT1808によって分割されて処理される各サンプリング窓内に存在する複数個の離散的サンプルに影響を及ぼす。時間的に制限される(Time-limited、一時的にしか出現しない)いくつかの事象(例えば、過渡信号または図18に示すノイズ1807)であって、前記オーバーラップ領域1805の長さより短い間隔で互いに接近しているものは、互いに分離して編集することは不可能であり、それらは同様な内容で編集されてしまう。例えば、ノイズ1807を除去するために前記編集プロセスによって特定の1つの周波数において信号強度を低下させると、その編集周波数において前記信号が、ノイズ1807が発生する期間より長さ期間にわたって減衰してしまう。
図20には、この書類に開示されている時間−周波数行列プロセスを編集ツール2000に適用することが示されている。この編集ツール2000においては、時間ドメイン内における窓掛け(windowing、ウインドウイング)が全体的に任意選択的なものであり、前記解析のための変換サイズ(size、計算点数、サンプリング数)は、任意のものであるとともに、信号2002のうちの、連続した1つの注目領域の全体、または、信号2002のうちの複数の個別の部分を包含することが可能である。ひとたびFFT(FFT、FFT演算、FFT演算部)2008が信号2002のうち、窓2006内に位置する部分に適用され、さらに、行列平滑化アリゴリズム2012が、前述のように、FFT2008によって生成された周波数ビン・スタック2010に適用されると、結果値としての時間−周波数変換データが、画像表現2016として視覚的に表示されてもよく、その画像表現2016においては、垂直軸が周波数を表してもよく、また、水平軸が時間を表してもよく、その逆であってもよい。
任意に与えられるスクリーン座標において信号強度を表示するために、画素の色および輝度を用いてもよい(例えば、「スペクトログラム」として)。このスペクトログラムは、ユーザが手動選択ツールを用いることと、その選択されたデータに対して種々の2次的なプロセスを適用することとによって直接的な信号操作(manipulation、編集)を行うために周波数ドメイン・データを表示する一般的な方法である。スペクトログラムを用いて編集を行う従来のプロセスでは、表現された信号のうちのスペクトル成分をサンプル(sample、前記時間的変化部、異常な信号、ノイズなど)ごとのレベルで(on a sample-by-sample level、サンプル単位で)操作することができず、編集操作(edits、編集箇所、編集内容)が、複数の個々のSTFT変換フレームの範囲にまで及ぶように制限されてしまう。本方法によれば、データ(data、信号の構成を表すものなど)のうち、時間軸と周波数軸との双方に沿った任意に短いいくつかのセグメント(segmentsa、前記データの一部、いくつかの部分データ)(すなわち、高い時間分解能と高い周波数分解能)に対する編集処理であって、原信号において、時空間上の1個の値の継続時間を有するいくつかのセグメント(segments of the duration of a single spatio-temporal value、特定の時刻と特定の周波数とによって特定される唯一の値の継続時間を有するいくつかのセグメント)(すなわち、「サンプル・アキュレートな(sample accurate、サンプル精度が高い、サンプル誤差が少ない」)を編集することが可能であるものが実行可能となる。
例示的な編集ツール2000においては、各コラムが、1つの時間ドメイン分割部(divisions、区分)(すなわち、1個のサンプル)を表し、1つの解析フレーム全体を表しているわけではない。垂直方向の分解能は、FFT2008を適用するために選択されたフレーム・サイズ(the frame size、変換フレームのサイズ)すなわち窓(window、時間窓長)2006に依存する。繰り返すが、解析用の窓2006は、オーバーラップ(overlap、他の窓とオーバーラップすること)を必要としない。Nの値が大きいほど、周波数ドメインの分解能が向上する(すなわち、垂直方向の複数の画素の数が増加する)。各々、複数の画素2020より成る複数本のコラムのうち互いに隣接するものは、互いに隣接する時間ドメイン増分(time domain increments、時間ドメイン増分区間)、すなわち、時間ドメイン分割部(partitions、区分)を表し、それぞれの時間ドメイン増分は、(1/サンプルレート(SampleRate、サンプリング周波数))秒の継続時間を有する。各々、複数個の画素2020が水平方向に並んで成る複数の帯域(bands、バンド)2022は、複数の周波数ビンであって、それぞれ、各時間ドメイン増分の信号エネルギーを表すものに対応し、また、それら帯域2022は、複数の時間ドメイン・サンプルの個数Nに対応する分解能を有する。時間的に制限される(Time-limited、一時的にしか出現しない)過渡信号すなわちノイズ信号2007a/2007b/2007cが、特定の複数の時間インスタンスまたは時間ビンにおいて、複数の離散的なオブジェクト(objects、画像対象物)2024a/2024b/2024c(すなわち、複数本の垂直線)として出現し、それらノイズ信号2007a/2007b/2007cは、窓2006のサイズとは無関係に、それぞれ互いに独立して操作する(manipulate、編集する)ことが可能である。
上述の例示的な編集ツール2000に関し、ユーザは、画像処理アプリケーションにおいて典型的に見られるものと同じいくつかの編集ツール(例えば、図18におけるように)を用いて複数個の画素を操作してもよい。よって、それら信号処理方法は、より高い分解能を実現する別の編集ツール用アルゴリズムを簡単に代替するドロップイン・リプレースメント(drop-in replacement)として設定してもよい。ユーザは、前記信号を表す前記スペクトログラム表現のうちのいくつかの部分を選択し、それら部分を、画像処理において使用されるような選択用ツールもしくはコンピュータ支援型(machine aided、機械支援型)選択用ツールを用いるか、または、または、信号の基準(criteria、評価基準、目標基準)に基づくパラメトリック選択法(parametric selection methods、パラメトリック入力で選択を行う方法)により、修正してもよい(modify)。一実施態様においては、前記信号の複数の成分が、リバーブ(reverbs、残響音)、反射音および/またはエコー(echoes、共鳴音)を含むかもしれない。それら信号は、それぞれ識別され(identified、他の信号から区別され、特定され)、分離され、そして、修正されるかもしれない。別の実施態様においては、前記信号の複数の成分が、音声(voice、ボイス)成分、話声(speech、スピーチ)成分および/または非話声成分であるかもしれない。さらに別の実施態様においては、前記信号の複数の成分が、ノイズと、有用な情報を含む成分とであるかもしれない。さらに別の実施態様においては、前記信号の複数の成分が、他の信号から分離されるべき、ユーザによって定義可能なタイプの成分であるかもしれない。さらにまた別の実施態様においては、前記信号の複数の成分が、特に、無線送信信号、画像ファイルまたはビデオ・ファイルを含んでもよいが、それらに限定されない。編集の際における最小の分解能幅は、1個の画素であってもよい。
これに代えて、自動パラメトリック選択/修正ルーチンを、ユーザによる手動操作に代えて用いてもよい。例えば、STFTシーケンスを用いてノイズ内に埋め込まれたある時間−周波数パターン(pattern、時間−周波数ドメイン内での模様、波形、反復的に出現する成分)を探索するという従来技術は、連続した複数のSTFT変換フレーム間の高度なオーバーラップを有する複数の変換フレームを必要とするかもしれないし、または、比較基準における高度な自由度(a high degree of freedom in the comparison criteria、目標のパターンの検出に成功したと判定するために測定値と比較される基準が内容的に豊富で充実していること)を必要とするかもしれない。本方法を、パターン検出用アルゴリズム(pattern detection algorithms、パターン検出用ソフトウエア、パターン検出用プログラム)と組み合わせて用いることにより、前記パターン(the pattern、目標の前記時間−周波数パターン)を、前記ノイズから分離してもよいし、また、パターン検出器(pattern detector)が、より高い信頼性で、所定のパターンを検出してもよい。その理由は、本方法においては、周波数分解能が変換サイズNに依存し、その変換サイズNは、大きな任意の数値であってもよいからである。時間分解能は、局所的時間−周波数局在化パラメータλに依存し、よって、場所によって変動することが可能である。よって、不要な信号成分を自動的に編集して除去するために、時間−周波数ドメイン内に、自動的なパターン検出用ソフトウエアを採用してもよい。望ましい自動編集ツールとしては、UNMIX::DRUMS(ドイツ国ザイナプティック社)があり、これは、オーディオ・ミックス(audio mix、複数の音声ファイルを結合して成る1つの音声ファイル)内においてドラムという楽器に対応するいくつかのパターンを検出し、それらパターンを、予め選択されたいくつかのパラメータに応じて自動的に減衰または強調し、さらに、UNVEIL(ドイツ国ザイナプティック社)もあり、これは、信号からリバーブを検出して除去するためにパターン検出を用いる。
その後、時間−周波数ドメイン内のいくつかの編集内容(modifications、編集点、編集箇所)を、逆周波数変換により、時間ドメイン表現に戻るように変換してもよい(例えば、式(8)に示すように)。これに代えて、その編集内容(the modification、時間−周波数ドメイン内の編集内容、編集箇所、編集点)を、ディスク上に、変換されたデータ(transformed、時間−周波数ドメインのデータ)、または、そのまま(direct、もとのままの)(時間ドメイン)のデータであって後続する読出しおよびさらなる編集に備えるものとして保存してもよい。編集された時間ドメイン・サンプルをデジタル・ツー・アナログ(D/A)変換によって復元してもよい。これに代えて、その編集された時間ドメイン・サンプルを、コンピュータ上で、デジタル・データ・ファイルとして保存してもよく、そのデジタル・データ・ファイルは、後日、デジタル・ツー・アナログ(D/A)変換によって変換してもよい。
当業者であれば理解されることは、本方法は、上記と同様に、他の多くの分野、例えば、電子工学、物理学、画像処理、および、FFTまたはそれに関連する周波数変換であってスペクトル分析を用途とするものを用いるほぼすべての分野における用途を有してもよいということである。
当業者であれば理解されることは、本方法は、普通であればフーリエ変換に基づく既存の技術およびアルゴリズムであって、前述の信号処理アルゴリズムに対してほとんど変更を施さないものから全く変更を施さないものまでを簡単に代替するドロップイン・リプレースメントとしてか、または、そのようなものと組み合わせて用いてもよいということである。例えば、本方法は、STFT用の各解析フレームを、等間隔で、N個のサブ・フレームに変換する(すなわち、1個の時間ドメイン・サンプル当たり1回の変換を行う)ために用いることが可能である。それらサブ・フレームは、それぞれ、フル分解能(full resolution、最小の分解能幅が1個の時間ドメイン・サンプルである)FFTとして取り扱うことが可能であり、また、FFT系(FFT-based、FFTを基本にした、FFTを用いる、FFTに関連する)アルゴリズムを適用することが可能である。
これまでにいくつかの実施態様を詳細に説明してきたが、当業者であれば認識されることは、本発明の主旨を逸脱することなく、種々の変更、別の構成および均等な態様を用いてもよいということである。したがって、多くの周知のプロセスおよび要素についての説明は、本発明を不要なほどに不明りょうにすることを回避するために行わなかった。よって、これまでの説明は、本発明の範囲を限定するものとして把握されるべきではない。
当業者であれば理解されることは、この書類に開示されている複数の実施態様は、本発明の範囲を限定するわけではなく例示のために開示されているということである。したがって、上述の発明の詳細な説明の欄に存在するかまたは添付された図面に示されている事項は、本発明を例示的に説明するものとして解釈されるべきであって、本発明の範囲を限定する意味で解釈されるべきではない。特許請求の範囲の欄における複数の請求項は、この書類に記載されている上位概念的な特徴および下位概念的な特徴のすべてと、この書類に記載されている方法およびシステムの範囲についてのすべての記載とを包含するように意図されており、この書類に記載されている方法およびシステムの範囲は、上位概念的な特徴と下位概念的な特徴との間に位置する。