implementation of computationally efficient real …講義内容 •波形符号化 • 標本化...
TRANSCRIPT
音情報処理
第4回音声符号化
中村 哲
音声符号化
伝送するビット数を6%程度に減らすことができる!
1秒間につき128 kbit使用
1秒間につき8 kbitだけ使用
本日の講義を受けることで、なぜこのようなことが可能なのかを理解することができます。
講義内容
• 波形符号化
• 標本化
• 量子化
• 音声符号化方式
• 波形符号化方式
• 分析合成方式
• ハイブリッド方式
• 聴覚符号化方式
符号化
• ある情報を他のもの(符号)で置き換える作業• 例1:新聞広告
• 例2:モールス信号
Coding: 1
賃貸マンションをお貸しします.間取りは2LDKで,具体的には8畳,6畳,4.5畳のダイニングキッチン,バストイレつきです.部屋は南向きで,1ヶ月の賃貸料は10万円,最初の補償金は30万円で礼金は無しです.駅から徒歩8分です.
賃マン2LDK 8・6・4.5・B・T 南向賃10万補30万礼無歩8分
長点と短点による表現 2元系列による表現
A ・ - 10111000
B - ・ ・ ・ 111010101000
C - ・ - ・ 11101011101000
この作業を音声に適用⇒音声符号化
音声符号化
• 音声波形を大幅に圧縮して伝送
Coding: 2
波形符号化
-標本化-量子化
波形符号化:PCM (Pulse Code Modulation)
• CDなどに使用されている方式
標本化 量子化
標本化
• 時間の離散化
量子化
• 振幅値の離散化
• 一定の間隔 Tで分割 • 一定の間隔値 Δで分割
• 標本化定理に注意! • 量子化誤差に注意!
t t t
T
L
L: 信号の振幅の存在範囲
PCM: 1
標本化定理
kTtT
kTtT
kTxtxk
sin
)(
• 信号波形 x(t) が0~W [Hz] に帯域制限されているとき,x(t) を標本化周期 T≦1/(2W) [s] ごと(つまり,標本化周波数は 2W [Hz]
以上)に標本化すれば,標本値系列から以下のように信号波形の再生が可能
1 Time [s]0 1 Time [s]0
T = 0.25 [s] sinc関数: sin(x)/x
PCM: 2
sinc関数
• T = 0.25 [s]の場合
Time [s]
PCM: 3
波形復元
1 Time [s]0
T = 0.25 [s]
各標本値を中心とする sinc関数に標本値を掛けあわせたものを重ね合わせることで復元
××
+
1 Time [s]0
×
+
×
+
×
+
kTtT
kTtT
kTxtxk
sin
)(
PCM: 4
量子化
• 振幅値を一定の間隔で近似(線形量子化)
量子化誤差
量子化誤差:量子化により発生する誤差
• 振幅存在範囲が Lの信号を量子化ステップ Δ で Bビット量子化
• 量子化誤差:量子化前の値 と量子化後の値 との差
BL 2
iii xxe ˆ
満たすべき条件:
ieixix
量子化入力
量子化結果
量子化ステップ Δ
PCM: 5
• 量子化誤差を雑音とみなすとその量はどの程度?
• 量子化誤差の平均パワーの算出
• 量子化誤差 が0平均の一様分布に従うと仮定
• 信号の平均パワーとの比(SN比の算出)
• 信号の標準偏差: (音声の場合は近似的に )
量子化誤差の量
2
2
2 d1
uu
2
2
3
3
11
u 122
[dB] 2.76
12
642log10
12
82log10
12
8log10
12log10[dB]
2
22
102
2
10
2
2
102
2
10
B
LNS
BB
ie
ie( の分散)
42 L
1ビット増やすと約 6 dB 雑音が低減
PCM: 6
伝送量
16 bit 32 kbps 64 kbps 128 kbps 256 kbps
14 bit 28 kbps 56 kbps 112 kbps 224 kbps
12 bit 24 kbps 48 kbps 96 kbps 192 kbps
10 bit 20 kbps 40 kbps 80 kbps 160 kbps
8 bit 16 kbps 32 kbps 64 kbps 128 kbps
6 bit 12 kbps 24 kbps 48 kbps 96 kbps
4 bit 8 kbps 16 kbps 32 kbps 64 kbps
2 bit 4 kbps 8 kbps 16 kbps 32 kbps
2 kHz 4 kHz 8 kHz 16 kHz
標本化周波数
量子化ビット数
例.音声信号を 32 kbps で伝送する場合,標本化周波数と量子化ビット数をいくつに設定するのが良い?
例えば S/N = 75 dB
とすると…
S/N = 63 dB
S/N = 51 dB
S/N = 39 dB
S/N = 27 dB
S/N = 15 dB
S/N = 3 dB
S/N = -9 dB
• 1秒間に送信するビット数 = bps (bit/sec)
標本化周波数×量子化ビット数 = bps (bit/sec)
PCM: 7
音声符号化方式-波形符号化方式-分析合成方式-ハイブリッド方式
音声波形の分布特性を利用
• 音声波形の分布はガンマ分布や指数分布でよく近似
• データの多いところの量子化ステップを細かく設定
• μ-law PCM・・・ISDNなどに使用されている方式
max/ xx
max/)( xxc
0 1
1
0
)sgn(
1log
1log
)(max
max xx
x
xxc
PCM
μ = 255
SP Codec: 1
適応量子化:APCM (Adaptive PCM)
• 入力信号の振幅に応じて適応的に量子化ステップ Δを変更
• 量子化誤差を減らし,符号化音声の品質を向上
• フォワード適応型とバックワード適応型の量子化方式に分類
• フォワード適応量子化
• 入力信号の短時間パワー値に応じて Δを更新
• 短時間パワー値に応じて入力信号の振幅を変化させることで対応
• 短時間パワー値に関する情報も要送信
txquantize encode
Gain adaptation
ty tytc
tG
SP Codec: 2
APCM:バックワード適応量子化
• 符号化出力に応じて Δ更新
• 余分な情報を送信する必要なし
txquantize encode
t ty
txtc
1tLM Dtc
1tL
11 ttt LM
ビット数 M ( |Lt-1| )
2 0.6, 2.2
3 0.85, 1, 1, 1.5
4 0.8, 0.8, 0.8, 0.8,1.2, 1.6, 2.0, 2.4
5 0.85, 0.85, 0.85, 0.85,0.85, 0.85, 0.85, 0.85,
1.2, 1.4, 1.6, 1.82.0, 2.2, 2.4, 2.6
遅延演算:
1時刻前の ct を Lt-1
とする.
SP Codec: 3
ステップ幅の更新
差分量子化:DPCM (Differential PCM)
• 一つ前の値との差分を量子化
txquantize encode
1ˆtx
tc
D
te
tx
te
Local decoder
3.0 4.0 6.5 8.0 5.3
0 3 4 7 8
3.0 1.0 2.5 1.0 -2.7
3 1 3 1 -2
3 4 7 8 6
00011 00001 00011 00001 10010
tx
1ˆtx
te
te
tx
tc
例.量子化ステップ Δ = 1 で量子化ビット数 B = 5 の場合(量子化は切り上げ)
SP Codec: 4
適応差分量子化:ADPCM (Adaptive Differential PCM)
• PHSなどに使用されている方式
txquantize encode
1ˆtx
tc
D
te
tx
te
t
1tLMtc1tL
11 ttt LM
D
ビット数 M ( |Lt-1| )
2 0.8, 1.6
3 0.9, 0.9, 1.25, 1.75
4 0.9, 0.9, 0.9, 0.9,1.2, 1.6, 2.0, 2.4
5 0.9, 0.9, 0.9, 0.9,0.95, 0.95, 0.95, 0.95,
1.2, 1.5, 1.8, 2.12.4, 2.7, 3.0, 3.3
SP Codec: 5
予測量子化:Predictive PCM
• 過去の値から現在の値を予測し,誤差を量子化
txquantize encode
tx~
tc
linear predictor
te
tx
te
Local decoder
1.3 3.2 2.5 -1.6 -2.5
0.0 1.0 2.0 1.5 -0.8
1.3 2.2 0.5 -3.1 -1.7
2 3 1 -3 -1
2.0 4.0 3.0 -1.5 -1.8
00010 00011 00001 10011 10001
tx
tx~
te
te
tx
15.0 z
1ˆ5.0~ tt xx
tc
例.量子化ステップ Δ = 1 で量子化ビット数 B = 5 で線形予測器(つまり )を用いた場合(量子化は切り上げ)
SP Codec: 6
予測利得
• 伝送路に雑音や誤りがないとし,量子化誤差を nt とすると,
よって,この方式のSNRは E[・] を期待値として,
となる.量子化器のSNRよりも予測利得だけSNRが大きくなる.この手法を音声に適用した場合,通常の予測(次数10程度)の場合において,約10 dBの予測利得が期待できることが知られている.
tt
tttt
ttt
ttt
nx
nxxx
nex
exx
~~
~
ˆ~ˆ txquantize
tx~
linear predictor
te
tx
te
][
][
][
][
][
][2
2
2
2
2
2
t
t
t
t
t
t
nE
eE
eE
xE
nE
xESNR
量子化器のSNR予測利得
SP Codec: 7
音声生成モデルを用いた符号化方式
• 符号化対象を人間の音声に特化した場合,音声の生成モデルを利用可能
SP Codec: 8
分析合成方式
○音源波形をパルス列で近似することで,送信符号量を大幅に低減!
×合成音質は劣化
SP Codec: 9
ハイブリッド符号化方式
• 分析合成方式と波形符号化方式を併用することで,高い音声品質を保ちつつ伝送量を削減可能
• 処理の流れ
• 分析合成方式と同様に声道特性と駆動音源特性に分離
• 声道特性は分析合成方式と同様に符号化
• 駆動音源特性(残差信号)は波形符号化方式により符号化
• 残差信号の符号化法により各種方式が存在
• マルチパルス方式
• CELP (Code Excited Linear Prediction)
• ACELP (Algebraic CELP)
• CS-ACELP (Conjugate Structure ACELP)
SP Codec: 10
CELP方式
• ディジタル携帯電話などに使用されている方式の基礎
SP Codec: 11
CELP方式のブロック図
• 聴覚的重み付けされた誤差が最小となるようにコードブックを決定
駆動音源コードブック
長期予測フィルタ
短期予測フィルタ
聴覚的重み付けフィルタ
自乗和
ts
ts te
原音声
ゲインコード
駆動音源合成部
音声波形合成部
コード コード コード
周波数
パワー
周波数
パワー
音声
誤差
音声
誤差
音声スペクトルに応じて誤差を集中させる!
SP Codec: 12
音声符号化方式の比較
• 波形符号化方式 :情報量・・・大 品質・・・良
• 分析合成方式 :情報量・・・小 品質・・・悪
• ハイブリッド方式 :情報量・・・小~中 品質・・・普通~良
音声品質
非常に良い
良い
普通
悪い
非常に悪い
SP Codec: 13
聴覚的符号化方式
聴覚的符号化方式
• 対象を音声以外に広げた際には音声生成モデルの使用は困難
• 聴覚モデルを導入
• 人間の聴覚特性:音の強さの感じ方は周波数に応じて変化
Auditory Codec: 1
同時マスキング
• 大きな音と同時に鳴る小さな音は聴こえない
Auditory Codec: 2
継時マスキング
• 大きな音の前後の小さな音は聴こえない
Auditory Codec: 3
聴覚符号化方式の例
• MPEG1 Audio (Moving Picture Experts Group)
• ATRAC (Adaptive Transform Acoustic Coding)
PCMサブバンドフィルタ
マスキング閾値決定
量子化
スケールファクタ選択
bit stream
32 band, 12 sample
ビット割り当て情報
量子化サンプルcode
PCM直交ミラーフィルタ
修正離散コサイン変換
適応ビット割り当て
11.025~22.05 [kHz]
code修正離散コサイン変換
修正離散コサイン変換
マスキングや音圧等による許容雑音算出
直交ミラーフィルタ
5.5125~11.025 [kHz]
0~5.5125 [kHz]
Auditory Codec: 4
最新の低遅延音声音響統合符号化
• Enhanced Voice Services (EVS)
• 世界の有力機関12社による統一規格を達成
Auditory Codec: 5
守谷健弘, “音声音響符号化技術と3GPPでの標準化,”NTT技術ジャーナル, Apr. 2015. より転載
デモ動画https://www.youtube.com/watch?v=Slbn7qBxcJw