狠狠撸

狠狠撸Share a Scribd company logo
音情報科学 第3部
音声の情報処理
伊藤 彰則
東北大学大学院工学研究科
aito@fw.ipsj.or.jp
講義内容
● 第1回:音声の生成と符号化その1
– 音声の生成と特徴
– 基本的な符号化方式:PCM,DPCM,ADPCM
● 第2回:音声の符号化その2
– 音声の線形予測:予測係数,PARCOR係数,LSP係
数
– CELP符号化
– オーディオ符号化
● 第3回:音声強調
– スペクトル減算
講義内容
● 第4回:音声の認識と合成
– 音声認識の方法
– 音声合成の方法
● 第5回:音と音楽
– 楽器の音の特徴
– 音楽の情報処理
音声の生成
● 声を生成する器官
– 声帯
– 喉頭
– 咽頭
– 舌
– 歯茎
– 歯
– 口唇
– 鼻腔
声道
音響管モデル
● 人間の発声機構は
管楽器に似ている
声 帯 声 道
喉 頭
唇
鼻 腔
声の高さ
発声内容
個人性
音韻性と個人性
声 帯 声 道
喉 頭
唇
鼻 腔
この辺の形は
自分で制御できる
音韻性と個人性
声 帯 声 道
喉 頭
唇
鼻 腔
この辺の形,全体の長さ,平均
的な太さなどは自分で制御できな
い
音声の波形
● 結構複雑です
/a/ /i/ /u/
/o//e/
音声の波形
● 複雑だけどおおむね周期的
基本周期
基本周期 T [s]
基本周波数 F0 [Hz] = 1/T
いろいろな「あ」
● 基本周波数の違う2つの/a/
– 音韻としては同じ:声道の形が同じ(と思われる)
– 波形はまったく異なる
– 物理量の何が同じなのか?
音声のスペクトル
● 2つの「あ」のスペクトル
– 大まかな形が似ている→声道形状
– 细かいギザギザは异なる→声帯音源波の周波数
音声のスペクトルとホルマント周波
数
● F0: 基本周波数
● F1,F2,..: ホルマント(formant)周波数
基 本 周 波 数
ホ ル マ ン ト 周 波 数
F 0
F 1
F 2
F 3 F 4
音声の符号化
● 音(アナログ量)→デジタルデータに変換
– コンピュータで扱える
– デジタル回線での伝送
● どうやってデジタル化するか?
– 目標
● アナログに戻したときの音質がよい方がいい
● デジタルデータにしたときのビット数が少ない方がいい
– 方法
● 音声のいろいろな性質を利用する
音声符号化の基本事項
● サンプリング
– 時間的に連続する信号の「とびとび」の時間での値
だけを観測する
– 「とびとび」の速さ:サンプリング周波数 fs
– 入力信号がfs/2以下の周波数成分だけを含む場合に
は,サンプリングされたデータから元の信号が復元
できる(サンプリング定理)
音声符号化の基本事項
● 量子化
– 信号の大きさを「とびとび」の値に丸める
● 整数で値を表現できる
– 「とびとび」の幅:量子化幅
– 量子化した信号と元の信号の差:量子化誤差
サンプリングと量子化:どうする?
● サンプリング周波数:どの程度の高さの音まで
再現するかで決まる
– 電話:8kHz (4kHzの音まで再現)
– 高品位音声:16kHz (8kHzの音まで再現)
– CD:44.1kHz (22.05kHzの音まで再現)
● 量子化:どの程度の雑音まで許容するかで決ま
る
– 音の符号化とはつまり「どう量子化するか」
PCM符号化
● PCM(Pulse Code Modulation)
– 量子化した値をそのまま2進数の数字として符号化
● PCMの要素
– 1サンプルあたり何ビット使うか
– 量子化の間隔をどうするか
● 等間隔に量子化:線形量子化(linear quantization)
● 等しくない間隔で量子化:非線形量子化(nonlinear
quant.)
● PCM符号の例
– CD:16bit線形量子化
– VoIP(G.711): 8bit 非線形量子化
PCM線形量子化
● 特に面倒なことはありません
0
5
10
-5
-10
-7 -7 5 2 -6 -2 0 1 4 0 -2 11 110 -1 -2 0 3 2 0 1 33
CDでは16bit(-32768~+32767)で量子化
非線形量子化
● 多くのサンプルは0に近い値を持つ
→0付近を細かく量子化すれば全体の誤差が減
らせる
0
5
10
-5
-10
0
5
10
-5
-10
非線形量子化の例:G.711
● 64kbit/sのデジタル回線での音声通信用
– 8kHzサンプリング,8bit非線形量子化
– μ-Law(日本,アメリカ),A-Law(ヨーロッパ)
– μ-Law: 14bit線形量子化の値→8bit非線形量子化の値
Y =128 sign X 
log1
255∣X∣
8192 
log256
-150
-100
-50
0
50
100
150
-8000 -6000 -4000 -2000 0 2000 4000 6000 8000
8bitmu-Law
14bit linear
差分PCM (DPCM)
● 通常の音声信号では隣り合うサンプルの数値は
それほど大きく違わない
→差分だけを量子化して送ればビット数がケチ
れる
-
z-1
Q
差分PCM(DPCM)
● 元の波形
● 差分の波形
-25000
-20000
-15000
-10000
-5000
0
5000
10000
15000
0 500 1000 1500 2000 2500 3000 3500 4000 4500
-25000
-20000
-15000
-10000
-5000
0
5000
10000
15000
0 500 1000 1500 2000 2500 3000 3500 4000 4500
適応差分PCM(ADPCM)
● DPCMの効率をさらに上げるため
– 連続するサンプル間の単純な差ではなく,フィルタ
による予測値を使う
– 量子化の幅を適応的に変化させる
● 変化が大きい(すなわち,音が大きい)時点では,次の
変化も大きい可能性が高い
● 変化が小さい(すなわち,音が小さい)時点では,次の
変化も小さい可能性が高い
ADPCMのブロック図
適応的
量子化器
適応的
逆量子化器
ADPCM
出力
+PCM入力
信号予測器 +
+
-
+
+
xk 
xe k
xr k 
d k
dq k
再構成信号
量子化
差分信号
差分信号
予測信号
I k
ADPCMの計算アルゴリズム
1. 予測信号を計算
2.差分信号を計算
3.量子化する(ADPCM出力)
4.逆量子化する
5.再構成信号を計算
6.次の予測信号を計算
xe k 
d k =xe k?xk
I k =Q d k 
dq k=Q?1
 I k
xr k=xe kd qk 
xe k1= pred xr k ,d qk,
音声の予測
● ADPCMでは音声の予測値と実測値との差分を
量子化する
● 音声をどう予測するか
– DPCMの場合
– もう少し賢く
– G.726
xe k =xr k?1
xe k=2 xr k?1?xr k?2
xe k=∑
i=1
2
ai xr k?i∑
i=1
6
bi d qk?i
適応的に量子化幅を決める(例)
0
-1
1
2
3
4
5
6
7
-7
-6
-5
-4
-3
-2
-8
0
-1
1
2
3
4
5
6
7
-7
-6
-5
-4
-3
-2
-8
? 前との差分を物
差しで計る.
? 値が青なら次の
物差しを半分に
する.
? 値が赤なら次の
物差しを倍にす
る.
効率の高い音声符号化のために
● PCM, DPCM, ADPCM は一般の音信号を符号化
する方法
– DPCM, ADPCMは信号の性質を一部利用
● 人間の音声は音信号のごく一部
→「声」として必要最小限の部分だけを使えば
効率が上がる
● 「声」の必要最小限とは?
高レベル音声符号化
ディジタル
データ
「声」の
特徴
音韻 単語/文 意味
ディジタル
データ
「声」の
特徴
音韻 単語/文 意味
音声
音声
PCM系
(固定電話等)
CELP系
(携帯電話等)
研究段階 要約電話?
AD/DA ボコーダ 音声合成 Text-to-
Speech
音声の生成モデル
声 帯 声 道
喉 頭
唇
鼻 腔
X =S T  R
S  T  R
放射特性
X 
音声の生成モデル
S 
音声の生成モデル
S 
T R
出力からのシステム推定
● X(ω)を観測しただけで,S(ω), T(ω)が推定できる
か?
– 一般的には不可能
– 何らかの仮定を置けば可能
● 仮定
– S(ω)はできるだけ白色雑音に近い
(スペクトルが平坦) ※実際は違う
● 手法
– 線形予測(LPC)分析
パラメータによる音声のモデル化
● 線形予測係数(LPC)によるモデル化
– スペクトル概形:線形予測フィルタの特性
– 声帯音源波:予測残差
– スペクトル領域では
xk=?∑
i=1
p
ai xk?iek
X =
E
1∑
n=1
p
an e
ni
=E H 
S  T R
残差を最小にする
ように係数を推定
LPCによる分析と伝送
● 送信すべき情報
– LPC係数 ai と予測残差 e(k)
● どうやって送るか?
– ある長さのサンプル(ブロック)全体に対してai を推
定
– 推定したai を使ってe(k)を計算
– ブロックに対してai と e(k)を伝送
● 受け取ったらどうするか
– LPCの式に従って信号を復元
xk=?∑
i=1
p
ai xk?iek
LPC係数の推定
● x(1)...x(k)からp次のLPC係数を推定するには?
– 連立方程式(Yule-Walker方程式)を解く
→誤差を最小にするLPC係数が求まる
– より高速な解法もある
(Levinson-Durbinのアルゴリズム)
● LPCの式
?a p x1?ap?1 x2???a1 x pe p1=x p1
?ap x2?ap?1 x3???a1 x p1e p2=x p2
?ap x3?ap?1 x4???a1 x p2e p3=x p3
?
?ap xk? p?a p?1 xk? p1???a1 xk?1ek=xk
LPC係数の推定
● LPCの式
?

xk?1 xk?2 ? xk? p
xk?2 xk?3 ? xk? p?1
? ? ? ?
x p x p?1 ? x1

a1
a2
?
ap
=

xk
xk?1
?
x p1


ek 
ek?1
?
e p1

?FA=V E
F={xk?i? j1} 1≤i≤k? p ,1≤ j≤ p
LPC係数の推定
● 最小二乗解: |E|2
を最小化→|FA+V|2
を最小化
● (式展開略)解くべき式は次のとおり
F
T
F A=?F
T
V
F
T
F=ij, F
T
V =0j とすると

11 12 ? 1p
21 22 ? 2p
? ? ? ?
p1 p2 ? pp

a1
a2
?
ap
=?

01
02
?
0p
 Yule-Walker方程式
(正規方程式)
LPC係数の推定
● Yule-Walker方程式の要素
● これをそのまま解く→共分散法
ij=∑
m=1
k? p
xk?m?i1 xk?m? j1
= ∑
n= p1
k
xn?i xn? j
n=k?m1 とおくと
1 k
LPC係数の推定
● 高速解法(自己相関法) k>>p
– 行列が特殊な形(対称Toeplitz行列)になる
– 特別な解法(Levinson-Durbin法)で高速に解ける
ij≈r∣i? j∣= ∑
n=0
k?∣i? j∣?1
xn xn∣i? j∣
1 k
LPCによる分析と伝送
● 問題点
– LPCの式による復元は不安定になりやすい
→ai に量子化誤差があると発振することがある
● 解決方法
– LPC係数と相互に変換可能で,量子化誤差に対して
安定な量を使う
● PARCOR係数
● LSP係数
LPC係数とPARCOR係数
● PARCOR(偏自己相関)係数
ki=
∑
n=?∞
∞
i?1ni?1n
 ∑
n=?∞
∞
i?1
2
n ∑
n=?∞
∞
i?1
2
n
i?1 n=xn∑
j=1
i?1
a j
i?1
xn? j
i?1n=xn?i∑
j=1
i?1
bj
i?1
xn? j
前向き予測誤差
後向き予測誤差
PARCOR係数は
前向き予測誤差と
後向き予測誤差の
相関係数に等しい
PARCOR係数
x(n-i-1) x(n-i) x(n-i+1) x(n-i+2) x(n-2) x(n-1) x(n) x(n+1)
x(n)x(n-i)
bj aj
^ ^
++
-- -
in i n
相関
ki
...
PARCOR係数と線形予測
k1=
∑
n=?∞
∞
0n0n
 ∑
n=?∞
∞
0
2
n ∑
n=?∞
∞
0
2
n
0n=xn 0=xn?1
k1
はx(n-1)とx(n)の相関係数
x(n-1)とx(n)は分散が同じで平均が0なので
x
1
n=k1 xn?1 a1
1
=?k1
x1
n?1=k1 xn b1
1
=?k1
PARCOR係数と線形予測
k2=
∑
n=?∞
∞
1 n1n
 ∑
n=?∞
∞
1
2
n ∑
n=?∞
∞
1
2
n
1
2
n=k2 1n?1=?k1 k2 xn?1k2 xn?2
1 n=xn?k1 xn?1
1 n=xn?2?k1 xn?1
ここで1 n=xn?k1 xn?1 より
x2
n=k11?k2 xn?1k2 xn?2
a1
2
=?k11?k2=a1
1
?k2 b1
1
a2
2
=?k2
同様に
b2
2
=b1
1
?k2 a1
1
b1
2
=?k2
PARCOR係数と線形予測
一般に a j
i
=a j
i?1
?ki bj
i?1
a0
i?1
=0
b j
i
=bj?1
i?1
?ki a j?1
i?1
b0
i?1
=0
この漸化式により,順次線形予測係数をPARCOR係数から
求めることができる
LPC係数とLSP
● LSP(線スペクトル対)とは
– 線形予測式のz領域での表現
– A(z)をP(z)とQ(z)に分解
xk∑
i=1
p
ai xk?i=ek X z
1∑
i=1
p
ai z?i
=Ez
A
 p
z
P z=A
 p
z?z
? p1
A
 p
 z
?1

Qz=A p
zz? p1
A p
z?1

A p
z=
P zQz
2
LSPパラメータ
● P(z)=0とQ(z)=0の根は周波数軸上(z領域では単
位円上)にある
● P(z)とQ(z)は次のように書ける
● P(z)=0とQ(z)=0の根
● LSPパラメータ
P z=1?z?1
 ∏
i=2,4,, p
1?2 z?1
cosiz?2

Qz=1z?1
 ∏
i=1,3,, p?1
1?2 z?1
cosiz?2

z=cosi±i sini
1, 2,,p
LSPパラメータの特徴
● 周波数軸上のパラメータである
● 数値解法によって求める
● 安定性の判別
● PARCORよりも量子化?補完に強い
● PARCORより推定?合成の処理量が多い
● 現在の音声符号化の主流
012?p
CELP符号化
● CELP(Code-Excitation Linear Prediction)符号化
– 携帯電話での音声符号化の基本方式
– LPCを基本とした分析合成
– 予測残差を符号化して送る
CELPの構成
LPC
分析
量子化LSP係数
コード
ベクトル
選択
残差信号
コードブック
信号利得
コードブック
残差信号
LPC
合成
+
-
聴覚
重み付け
距離距離最小の
コードベクトルを
選ぶ
bitstream
作成
出力
CELPに基づく各種符号化
– LD-CELP (Low-Delay CELP)
● G.728 16kbit/s
– CS-ACELP (Conjugate Structure Algebraic CELP)
● G.729 8kbit/s
– RPE-LTP (Regular Pulse Excitation with Long Term
Prediction)
● GSM標準 13kbit/s
– VSELP (Vector Sum Excitation LP)
● PDC標準 6.7kbit/s
– PSI-CELP (Pitch Synchronous Innovation CELP)
● PDCハーフレート標準 3.45kbit/s
– ACELP (Algebraic CELP)
● GSM改訂標準 7.4kbit/s
オーディオ符号化
● 一般の音信号,音楽信号の符号化方式
– 入力がどういう音か仮定が(あまり)できない
● 一般には高域パワーが低域に比べて小さいことを仮定
– 音声符号化のようにモデルに基づく方法は使えない
● 音の帯域に応じた符号化
– 入力を低音~高音に分ける
● フィルタを使った分離
● 周波数分析(MDCT)
– 音の高さに応じて量子化を変える
● パワーの小さい部分は粗く量子化
● よく聞こえない部分は粗く量子化
オーディオ符号化の基本的枠組み
周波数
分析
量子化
量子化
量子化
量子化
bitstream
形成
bitstream
分離
逆量子化
逆量子化
逆量子化
逆量子化
時間
領域に
戻す
QMF
MDCT
Wavelet等
聴覚特性
を考慮
(最小可聴
曲線,マス
キング等)
エントロピー
圧縮の利用
(Huffman,
算術圧縮等)
SB-ADPCM
● 16kHz 高品質音声?中品質オーディオ符号化方
式(G.722)
– Sub-Band ADPCM の略
– 信号を高域と低域に分離し,それぞれADPCM符号
化
● 共役ミラーフィルタ(QMF)による帯域分離?合成
● ADPCM符号化:高域2bit,低域4~6ビット (48~
64kbit/s)
QMF
分離
ADPCM
エンコーダ
ADPCM
エンコーダ
bitstream
形成
bitstream
分離
ADPCM
デコーダ
ADPCM
デコーダ
QMF
合成
共役ミラーフィルタ
● Quadrature Mirror Filter (QMF)
● 入力信号を,同じデータ量のまま低域と高域の
情報を含む信号に分離する
● 分離した情報を合わせることで,元の信号が完
全に復元される
● 簡単なQMFの例 (Haar Wavelet)
yi=
x2ix2i1
2
zi=
x2i?x2i1
2
x2i= yizi
x2i1=yi?zi
QMF
分離
QMF
合成xi xi
zi
yi
高域
低域
MPEG1 audio
● 映像符号化規格MPEGの音声部分
– Layer 1 (MP1), layer 2 (MP2), layer 3 (MP3)がある
– 周波数分析,心理聴覚モデル,非線形スカラ量子化
polyphase
filter bank/
MDCT
量子化
量子化
量子化
量子化
bit-
stream
形成
bit-
stream
分離
逆量子化
逆量子化
逆量子化
逆量子化
時間
領域に
戻す
FFT
心理
聴覚
モデル
MP1
● MPEG1 audio layer 1
– ポリフェーズフィルタバンクによる周波数分析
– 12サンプルごとに正規化+スカラ量子化
polyphase
filter bank
非線形
スカラ量子化
32帯域
非線形
スカラ量子化
正規化
正規化
ブロック平均パワー
スカラ量子化
ブロック平均パワー
スカラ量子化
MP3
● ポリフェーズフィルタバンク+MDCTによる分
析
● 可変フレーム長(標準18点)
● エントロピー符号化
polyphase
filter bank
非線形
スカラ量子化
32帯域
非線形
スカラ量子化
MDCT
MDCT
Huffman
符号化
bitstream
修正離散コサイン変換(MDCT)
● Modified Discrete Cosine Transformの略
● n点の時間領域信号をn/2点の周波数領域信号に
変換する
● n/2点オーバーラップ窓を利用する
X m=∑
k=0
n?1
f k xkcos
{
2n 2 k1
n
22m1
}
xk=
4 f k 
n
∑
m=0
n/2?1
X mcos
{
2n 2k1
n
22m1
}
Overlap-Addによる復元
● 時間的に連続する復元信号を重ね合わせること
で原信号が復元できる
MDCT
Overlap-
Add
IMDCT
音声強調
● 音声強調(Speech Enhancement)とは?
– 雑音などの混入した音声信号から特定の音声だけを
抜き出す
– 一般には難しい:何らかの仮定が必要
● 主要な方法
– 1チャンネルの場合
● 線形な方法:ウィーナーフィルタ
● 非線形な方法:スペクトル減算
– 多チャンネルの場合
● 線形な方法:マイクロホンアレイ(遅延和アレイ等)
● 非線形な方法:多チャンネルスペクトル減算
1チャンネルの場合
● 音声信号x,雑音信号n,観測信号y
● 目標:yからxを推定する(xもnも未知)
● このままでは不可能→前提が必要
– nの振幅スペクトル(またはパワースペクトル)が
既知
(nの波形が既知,は考えにくい)
yt=xtnt
Y =X N 
線形な手法:ウィーナフィルタ
● 誤差を最小にするフィルタWを考える
● スペクトルを離散化,時間周波数領域で考える
X =W Y =W  X N 
∫
0

∣ X ? X ∣
2
d min
∑
t
∑
i=0
N?1
∣X i t? X i t∣
2
=
∑
t
∑
i=0
N?1
∣X i t?Wi  X i tNi t∣
2
min
線形な手法:ウィーナフィルタ
● 前の式を微分して0とおく
X(t)とN(t)が無相関と仮定すれば よ
り
?
?Wi
∑
t
∑
i=0
N ?1
∣X i t?Wi  X i tNi t∣
2
=0
∑
t
∣?2 X i t X i tNi t2Wi  X i tNi t∣
2
=0
Wi=
∑
t
∣X i t∣
2
∑
t
∣X i t∣
2
∑
t
∣Ni t∣
2
∑
t
∣X i t Ni t∣≈0
ウィーナフィルタ
ウィーナフィルタ
● 適用条件
– 信号および雑音の平均的パワースペクトルが既知
● 雑音はともかく信号については厳しい仮定
– 信号と雑音が無相関
● ウィーナフィルタの意味
– 雑音のパワーが大きい帯域を抑圧する
● 出力の各帯域におけるパワーは平均的にE[Xi
2
]に一致
Wi  X i tNi t=
∑
t
∣X i t∣
2
∑
t
∣X i t∣
2
∑
t
∣Ni t∣
2
? X i tNi t
ウィーナフィルタ:適用例
0 1000 2000 3000 4000 5000 6000 7000 8000 9000
0
50000
100000
150000
200000
250000
300000
音声と雑音
0 1000 2000 3000 4000 5000 6000 7000 8000 9000
0
0.2
0.4
0.6
0.8
1
1.2
フィルタ特性
スペクトル減算
● 非線形処理によって雑音を抑圧する
● 雑音が定常だと仮定
● 観測信号のスペクトルから雑音のスペクトルを
引き去る
● 準備
– 信号
– 雑音
– 観測信号
X it
Ni t
Y it=X i tNi t
スペクトル減算
● スペクトル減算の原理
– 観測信号のパワースペクトル
– 信号と雑音が無相関と仮定
– 音声区間で雑音の定常性を仮定
∣Y i t∣
2
=∣X i tNi t∣
2
≤∣X i t∣
2
2∣X it Ni t∣∣Ni t∣
2
∣X i t Ni t∣?∣X it∣
2
∣Ni t∣
2
∣X i t∣
2
≈∣Y it∣
2
?∣Ni t∣
2
∣Ni t∣
2
=Ni
2
∣X i t∣
2
≈∣Y it∣
2
?Ni
2
スペクトル減算
● 雑音スペクトルの推定
– あらかじめ用意しておく
– 発話区間の直前(無音区間)などから推定
● パワーでないスペクトルを推定するには
X i t≈
∣Y i t∣
2
?∣Ni t∣
2
∣Y i t∣
2
Y i t
実用上の問題と工夫
● 引きすぎ:パワースペクトルの推定値が負にな
る
– フロアリングによる対処
● 過剰推定:雑音を多めに見積もることで性能向
上
∣X i t∣
2
≈
{∣Y i t∣
2
?Ni
2
if ∣Y it∣
2
Ni
2
∣Y it∣
2
otherwise
0?1
∣X i t∣
2
≈
{∣Y i t∣
2
? Ni
2
if ∣Y i t∣
2
 Ni
2
∣Yi t∣
2
otherwise
1
適用例(波形)
音声
雑音
雑音入り
雑音除去
適用例(スペクトル)
音声
雑音
雑音入り
雑音除去
複数マイクロホンによる方法
● 2本以上のマイクロホンによる集音を利用
– 空間的な情報が利用できる
● 音声と雑音を個別に拾う
● 指向性を形成
● さまざまな方法がある
– 線形処理
● 遅延和アレイ(超指向性を形成)
● 適応アレイ
– 非線形処理
● マルチチャネルスペクトル減算
遅延和アレイ
● 特定の角度から到来した音を複数のマイクロホ
ンで拾う
– 平面波を仮定
d
d sin
θ
遅延和アレイ
d
θ
d sin
sint sin t?
d sin 
c  sin t?
2d sin 
c  sin t?
3d sin
c 

3d sin 
c

2d sin
c

d sin
c

遅延和アレイ
sin
t?
3 d sin
c
?
 sin
t?
3 d sin
c
?
 sin
t?
3d sin
c
?
 sin
t?
3d sin
c
?

遅延素子

3d sin 
c

2d sin
c

d sin
c

遅延和アレイ
遅延素子
+
4sint?
3d sin
c
?

3d sin 
c

2d sin
c

d sin
c

遅延和アレイ
遅延素子
+
∑
n=0
3
sin t?
nd sin3?nd sin
c
?
φ
適用例
入射角(rad)
n=4, d=1
fun1: ω=5
fun2: ω=10
fun3: ω=50
遅延和アレイの特徴
● 処理が単純
– 高速
– ハードウェア化が容易
● 指向性
– メインローブ幅
● 素子数が多いほど狭い
● 周波数が高いほど狭い
● マイクロホン間隔が広いほど狭い
– 空間的折り返し歪み
● 折り返しが発生しない条件 d<c/2f
適応雑音抑圧
● 雑音をマイクで拾える場合
● 線形フィルタ処理
音声+雑音
雑音
信号処理
音声+雑音
適応雑音抑圧
● 適応フィルタによる処理
– n(k)はx(k)に混入している雑音そのものではないの
で直接減算はできない→フィルタW(z)を利用
音声+雑音
雑音
音声+雑音
W(z)
+
-
xk
nk
G(z)
出力信号のパ
ワーが最小に
なるように
W(z)を逐次更
新する
yk
ek
適応フィルタ
● W(z)としてFIRフィルタを考える
– : 時刻kにおけるフィルタのi番目の係数
● LMSアルゴリズムによる係数の更新
(そのほかにも多くの係数更新アルゴリズムが
ある)
yk=∑
i=1
p
wi knk?i
wi k
wi k1=wi k2 eknk?i1
減算アレイ
● マイクロホンアレイによって雑音を除去する
(雑音の到来方向が既知の場合)
+
-
遅延
雑音(入射角  )
音声
N
d sin N
c
適応減算アレイ
● 雑音の到来方向が未知の場合
– 適応フィルタによって雑音抑圧
+
-
適応
フィルタ
雑音
音声
適応
フィルタ
適応減算アレイ
● フィルタに拘束条件が必要
– そのままだと出力が単に0になる
+
-
雑音
音声
H1
H2
適応減算アレイ
● 適応フィルタ
● 音声からマイクロホンまでの伝達関数
● フィルタの拘束条件
● 実現例
– Griffith-Jim型アレイ
F =∑
i
Gi Hi =1
Hi 
Gi 
Griffith-Jim型アレイ
+
-
遅延
遅延
遅延
+
+
-
+
-
H1
H 2
遅延和アレイ
の出力
雑音成分のみ
2chスペクトル減算
● マイクロホンアレイによるスペクトル減算
– 目的信号を除去して雑音信号を推定
– 雑音信号のパワースペクトルを目的信号のパワース
ペクトルから減算
● 特徴
– 非線形処理(適応フィルタは線形処理)
– 雑音スペクトルをあらかじめ推定しておく必要がな
い
– 時間的に変化する雑音に対応できる
2chスペクトル減算
+
-
遅延
遅延
+ |DFT|2
+
-
雑音成分のみ
|DFT|2
遅延和アレイ
の出力
非線形処理
(過剰推定,
フロアリン
グ)

More Related Content

音声の生成と符号化