MP3エンコーダーが心理音響モデルを適用する前に高速フーリエ変換を使用するのはなぜですか?


8

Karlheinz Brandenburgは、次のようなMP3エンコーダーを示しています。

MP3エンコーダのブロック図

出典:MP3およびAACの説明

FFTを実行する必要がある理由がよくわからないので、FFTにマークを付けました。FFTを実行せずに修正離散コサイン変換(MDCT)を実行した後、心理音響モデルをいわゆるラインに適用できないのはなぜですか?

周波数分解能が十分に正確ではないと言って、ここにいくつかの文献があります。これは、元の信号を(フィルターバンクやMDCTのように)576ラインに分割することは、心理音響モデルが適切に機能するのに十分正確ではないことを意味しますか?FFTはより正確ですか?


フィルターバンクとMDCTチャネルは、心理音響モデルが最小化しようとしているエラーの原因です。つまり、上部チャネルは損失があります。見た目が正しい数値から-真の信号の1024個の周波数成分を圧縮パイプラインの576個と比較。
KWillets

回答:


8

mp3コーデックの詳細な説明をお勧めします。

FFTは時間領域信号に適用されるため、実際にはMDCTの結果を使用しません。心理音響モデルへの入力は周波数領域にあるため、FFTです。

それを行うには少なくともいくつかの理由があります。フィルターバンクを使用するMDCTは、非常に短いオーバーラップチャンクで動作し、圧縮を最大化します。FFTはより長いサンプルを使用し、スペクトル分解能が向上します。(MDCTは短期的な変換として動作するため、比較することは困難です。これがあなたにとって非常に重要である場合は、その比較を行う必要があります。)

フィルターバンクMDCTは、JPEG量子化(どちらもDCTを使用するため、非常によく似ています)およびFFTを圧縮からDCTアーティファクトを検出するのと同じように考えることができます。次に、心理音響モデルはエラーを平滑化して「可聴」しきい値に分類しますが、これを行うには、時間領域サンプル(ここではPCM –パルスコード変調では不十分です。突然の周波数シフトがクラックとして聞こえるためです)。周波数領域を使用してこのような不連続性を検出し、時間領域で平滑化します。

2つの事柄は記事では説明されていませんが重要です。PCMの差が大きい場合、スピーカーの移動距離が長くなるため、時間遅延が発生し、スピーカーの能力によっては、追加の振動が発生する可能性があります。これは、スピーカーからのまったく異なるノイズです。2番目の部分はラインの間にあり、信号の量子化されたバージョンは元のサウンドと比較して、どれだけ逸脱しているかを確認するために変換されます。

ウィンドウのマスキングタイプに基づいて(FFTと反転MDCTの比較に基づいて)、元のウィンドウからの可聴偏差をよりよく補償するように選択されます。

人間は、振幅の変化よりも周波数シフトをよく知覚するため、フィルターは両方のドメインで一度に動作し、量子化された信号は反転され、平滑化は時間ドメインで行われます。

はい、フィルターバンクを使用したMDCTの解像度は十分ではありませんが、これが圧縮の公平な共有が行われる部分であり、マスクされます。しかし、心理音響モデルには、論文に記載されているスペクトル分解能があります。

はい、FFTはサンプルが長くなるため、より正確になり、ビン間の解像度が向上します。

脚注
(M)DCTは一般的にFFTを実行することによって実装されるため、これは使用される変換とは関係ありません。MDCTは、特別に選択されたフィルターを備えたビット変更された短期フーリエ変換と見なすことができます(フィルターバンクは、音声認識のMelスケールに似ています)。

FFTは長く使用され、ピッチシフトのアルゴリズムが簡単になり、サウンドへの適用が容易になります。(M)DCTは、コンポーネントの数を最小限に抑えます。つまり、FFTからよりも結果からより多くのデータを切り取ることができます。

しかし、サウンドの場合、これらのコンポーネントは安定していません。たとえば、2つのビンをカットすると、FFTの結果に対して同等の操作を行うよりも、連続するフレーム間で歪みが大きくなります。つまり、FFTと聞こえるものとの間の接続は(M)DCTと聞こえるものよりも大きいですが、利用可能な圧縮はその逆です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.