雑音除去と圧縮
ウェーブレットの係数を捨てた音を元の音と聴き比べます。
聴き比べ
サンプル音源
ファイル
WAV・MP3・FLAC など。先頭 10 秒をモノラルで使用。この枠へドラッグ可
まだ選んでいません
マイク
押すと録り始め、もう一度押すか 10 秒で止めます。録っている間は鳴らしません
まだ録っていません
0.00 / 0.00 s計算しています…
Morlet・1 オクターブ 8 行
足す雑音
SN 比 雑音の量
原音と足す雑音の実効値の比。小さいほど雑音が大きい
dB
閾値の規則
切り方
雑音の σ
閾値の基準にする雑音の大きさの測り方
λ 閾値の倍率
規則で決めた閾値に掛ける倍率。大きいほど多く捨てる
ずらして平均
残す 残す係数
信号の長さに対する、残す係数の数の割合。どの基底でも同じ数を残す
%
ウェーブレット
音を係数に分けるときに使う波の形。右ほど長くて滑らかで、滑らかな音を少ない係数で表せる。どれも 8 段に分ける
動作原理と式
雑音と閾値
- 標準正規の白色雑音
- 段 j・位置 k の詳細の係数
- 閾値
- 正規直交の変換なので、白色雑音は係数でも同じ σ の白色雑音[1]
- 信号は少数の大きな係数に集まり、雑音は全部の係数に薄く広がる。小さい係数を 0 にして戻す
- σ は最も細かい段の絶対値の中央値から推定する。0.6745 は標準正規の上側 25 % 点(4.2 節)[1]
- 柔らかい閾値で戻した信号は元の信号より波打たない[3]
- 近似(最も粗い段)は処理しない
閾値の決め方
- VisuShrink: 雑音だけの係数がこの閾値を超える確率は N が大きいと 0 に近づく。雑音を消し切るが、信号も削りやすい[1]
- SURE は元の信号を知らずに柔らかい閾値の誤差を見積もる式(σ = 1 にそろえた )(式 (6))[2]
- 係数がまばらな段では SURE がぶれるので、普遍閾値に切り替える(2.4 節)[2]
- BayesShrink: 信号の強い段ほど閾値が小さい。信号の分散が雑音より小さい段は全部捨てる(式 (19)・(20))[4]
雑音の大きさを段ごとに
- 色のついた雑音(ピンク雑音など)は段ごとに強さが違う。段ごとに σj を測って閾値を変える(式 (4))[5][6]
- 音楽では信号の係数が多い段で中央値が信号に引っ張られ、σj を大きく見積もる。このページは雑音だけの音から σj を測る
ずらして平均する
- 閾値処理は段差や打音の前後に行き過ぎの揺れ(擬似ギブス現象)を出す。大きさは出来事の位置で変わる[7]
- ずらす()→ 除く()→ 戻す、を何通りもして平均すると揺れが減る
- 硬い閾値と組み合わせると誤差が半分近くになる例もある(式 (1)・表 2)[7]
係数を残して符号にする
- 0 のまわりだけ幅 2Δ の一様な量子化(デッドゾーン)。JPEG 2000 と同じ形(式 (4))[9]。Δ を残す境と同じにすると、大きい順に K 個を残すのと同じになる
- ビット数は「どこに残したか」 と「残した値」 の和(式 (9)・(10))[8]
- 誤差は捨てた係数の 2 乗和と、残した係数の丸め(1 個あたり Δ²/12)の和(式 (11)・(13))[8]
- JPEG 2000 は双直交の 9/7(非可逆)と 5/3(可逆)を使い、ビットプレーンごとに算術符号で送る[9]
フーリエと比べる
- MDCT: 2M 点の枠を M 点ずつずらす。窓が上の条件を満たすと、重ねて足したときに時間の折り返しが打ち消し合う[10]
- MP3・AAC は MDCT を使う
- 量子化の雑音をその時その周波数で聞こえない大きさ(マスキングしきい値)の下に収めてビットを減らす
- 長い枠では打音の前に雑音がにじむ(プリエコー)ので短い枠に切り替える[11]
- DCT・DFT は全体を 1 回で変換する。どの係数も全体に広がる波なので、打音を残すには多くの係数が要る
- DFT の速い計算は FFT、分解の仕組みは ウェーブレット変換
このツールで決めたこと
- ウェーブレットは Haar・db2・db4、8 段、端は周期的につなぐ。長さは の倍数まで 0 で埋める
- 雑音は実効値の比で SN 比を決めて足す。白色は正規乱数、ピンクは Kellet の近似のフィルタ
- 雑音だけの音は、雑音を足したときは足した雑音そのもの、足さないときは音の中で最も静かな 0.4 秒
- 区間の係数はフィルタの長さの分だけ両端を削って使う
- サンプル音源は 4 秒。打楽器は 120 BPM の 2 小節、撥弦は 8 音で、繰り返してもテンポが崩れない
- ずらして平均するのは 8 回(0〜7 点)
- 圧縮は信号の長さ N の割合で残す数 K を決め、どの基底でも同じ K を残す。Δ は K 番目に大きい係数の絶対値
- ビット数は量子化した番号の 0 次のエントロピー。前後の係数の関係(文脈)を使わないので、実際の符号化より多め
- DCT・DFT は全体を 2 の累乗の長さまで 0 で埋めて 1 回で変換する。DCT は Makhoul の並べ替えで FFT 1 回[12]。DFT は余弦と正弦の係数を別に数える
- MDCT は 2048 点の枠(M = 1024)で、窓は正弦。聴覚の模型は使わない(どの基底も同じ規則で比べる)
- サンプル音源の撥弦は Karplus・Strong のアルゴリズム[13]
- ファイルは先頭 10 秒をモノラルにして使う。マイクはブラウザの雑音を消す・音量をそろえる処理を切り、最大 10 秒を録る
- 聴き比べの音はどれも同じ時刻から繰り返して鳴らし、音量だけを 10 ms ほどで切り替える
- スカログラムは Morlet()で 50 Hz〜12 kHz を 1 オクターブ 8 行、10 ms ごと。振幅 1 の正弦波が 0 dBFS
- 音はこの端末の中だけで処理し、送らない
出典
- 雑音の模型、硬い・柔らかい閾値、普遍閾値(VisuShrink)、σ̂ の推定(4.2 節)D. L. Donoho and I. M. Johnstone, “Ideal spatial adaptation by wavelet shrinkage,” Biometrika, vol. 81, no. 3, pp. 425–455, 1994, doi:10.1093/biomet/81.3.425
- SURE(式 (6))、疎な段での切り替え(2.4 節)、SureShrinkD. L. Donoho and I. M. Johnstone, “Adapting to unknown smoothness via wavelet shrinkage,” Journal of the American Statistical Association, vol. 90, no. 432, pp. 1200–1224, 1995, doi:10.1080/01621459.1995.10476626
- 柔らかい閾値の滑らかさD. L. Donoho, “De-noising by soft-thresholding,” IEEE Transactions on Information Theory, vol. 41, no. 3, pp. 613–627, 1995, doi:10.1109/18.382009
- BayesShrink(式 (12)・(19)・(20))S. G. Chang, B. Yu, and M. Vetterli, “Adaptive wavelet thresholding for image denoising and compression,” IEEE Transactions on Image Processing, vol. 9, no. 9, pp. 1532–1546, 2000, doi:10.1109/83.862633
- 段ごとの σ の推定(式 (4))I. M. Johnstone, “Wavelet shrinkage for correlated data and inverse problems: adaptivity results,” Statistica Sinica, vol. 9, pp. 51–83, 1999
- 相関のある雑音での段ごとの閾値I. M. Johnstone and B. W. Silverman, “Wavelet threshold estimators for data with correlated noise,” Journal of the Royal Statistical Society: Series B, vol. 59, no. 2, pp. 319–351, 1997, doi:10.1111/1467-9868.00071
- ずらして平均(式 (1)・表 2)、擬似ギブス現象R. R. Coifman and D. L. Donoho, “Translation-invariant de-noising,” in Wavelets and Statistics, Lecture Notes in Statistics, vol. 103, Springer, 1995, pp. 125–150, doi:10.1007/978-1-4612-2544-7_9
- 位置と値のビット数(式 (9)・(10))、誤差の分解(式 (11)・(13))S. Mallat and F. Falzon, “Analysis of low bit rate image transform coding,” IEEE Transactions on Signal Processing, vol. 46, no. 4, pp. 1027–1042, 1998, doi:10.1109/78.668554
- JPEG 2000 の量子化(式 (4))、9/7 と 5/3、ビットプレーンの符号化A. Skodras, C. Christopoulos, and T. Ebrahimi, “The JPEG 2000 still image compression standard,” IEEE Signal Processing Magazine, vol. 18, no. 5, pp. 36–58, 2001, doi:10.1109/79.952804
- 時間の折り返しの打ち消し(TDAC)、MDCTJ. P. Princen and A. B. Bradley, “Analysis/synthesis filter bank design based on time domain aliasing cancellation,” IEEE Transactions on Acoustics, Speech, and Signal Processing, vol. 34, no. 5, pp. 1153–1161, 1986, doi:10.1109/TASSP.1986.1164954
- MP3・AAC のフィルタバンク、マスキングしきい値、プリエコーK. Brandenburg, “MP3 and AAC explained,” in Proc. AES 17th International Conference on High-Quality Audio Coding, Florence, 1999, paper 17-009
- N 点の FFT による DCTJ. Makhoul, “A fast cosine transform in one and two dimensions,” IEEE Transactions on Acoustics, Speech, and Signal Processing, vol. 28, no. 1, pp. 27–34, 1980, doi:10.1109/TASSP.1980.1163351
- 撥弦の音(遅延の線で平均をとって返す)K. Karplus and A. Strong, “Digital synthesis of plucked-string and drum timbres,” Computer Music Journal, vol. 7, no. 2, pp. 43–55, 1983, doi:10.2307/3680062