音声符号化...波形符号化:PCM (Pulse Code...

33
音情報処理 音声符号化 (2019.11.1) 田中 宏季

Transcript of 音声符号化...波形符号化:PCM (Pulse Code...

Page 1: 音声符号化...波形符号化:PCM (Pulse Code Modulation)•CDなどに使用されている方式 標本化 量子化 標本化 •時間の離散化 量子化 •振幅値の離散化

音情報処理

音声符号化(2019.11.1)

田中 宏季

Page 2: 音声符号化...波形符号化:PCM (Pulse Code Modulation)•CDなどに使用されている方式 標本化 量子化 標本化 •時間の離散化 量子化 •振幅値の離散化

音声符号化

伝送するビット数を6%程度に減らすことができる!

1秒間につき128 kbit使用

1秒間につき8 kbitだけ使用

本日の講義を受けることで、なぜこのようなことが可能なのかを理解することができます。(音声と音楽)

Page 3: 音声符号化...波形符号化:PCM (Pulse Code Modulation)•CDなどに使用されている方式 標本化 量子化 標本化 •時間の離散化 量子化 •振幅値の離散化

講義内容

• 波形符号化• 標本化• 量子化

• 音声符号化方式• 波形符号化方式• 分析合成方式• ハイブリッド方式

• 聴覚符号化方式

Page 4: 音声符号化...波形符号化:PCM (Pulse Code Modulation)•CDなどに使用されている方式 標本化 量子化 標本化 •時間の離散化 量子化 •振幅値の離散化

符号化

• ある情報を他のもの(重要な符号)で置き換える作業• 例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 ・ - 10111000B - ・ ・ ・ 111010101000C - ・ - ・ 11101011101000

この作業を音声に適用⇒音声符号化

Page 5: 音声符号化...波形符号化:PCM (Pulse Code Modulation)•CDなどに使用されている方式 標本化 量子化 標本化 •時間の離散化 量子化 •振幅値の離散化

音声符号化

• 音声波形を大幅に圧縮して伝送(最先端のコアとなるアルゴリズム)

Coding: 2

圧縮圧縮

Page 6: 音声符号化...波形符号化:PCM (Pulse Code Modulation)•CDなどに使用されている方式 標本化 量子化 標本化 •時間の離散化 量子化 •振幅値の離散化

波形符号化

-標本化-量子化

Page 7: 音声符号化...波形符号化:PCM (Pulse Code Modulation)•CDなどに使用されている方式 標本化 量子化 標本化 •時間の離散化 量子化 •振幅値の離散化

波形符号化:PCM (Pulse Code Modulation)

• CDなどに使用されている方式

標本化 量子化

標本化

• 時間の離散化量子化

• 振幅値の離散化• 一定の間隔 Tで分割 • 一定の間隔値 Δで分割• 標本化定理に注意! • 量子化誤差に注意!

t t t

T

DL

L: 信号の振幅の存在範囲

PCM: 1

横軸 縦軸

間隔

高周波数の取りこぼしを防ぐサンプリング

間隔

急な大きな音にも対応

荒さ(ざらつき)の表現

Page 8: 音声符号化...波形符号化:PCM (Pulse Code Modulation)•CDなどに使用されている方式 標本化 量子化 標本化 •時間の離散化 量子化 •振幅値の離散化

標本化定理

( )( )

( )kTtT

kTtTkTxtx

k -

þýü

îíì -

×= å¥

-¥= p

psin)(

• 信号波形 x(t) が0~W [Hz] に帯域制限されているとき,x(t) を 標本化周期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

例)人間の聴覚(電話):4kHz

Page 9: 音声符号化...波形符号化:PCM (Pulse Code Modulation)•CDなどに使用されている方式 標本化 量子化 標本化 •時間の離散化 量子化 •振幅値の離散化

sinc関数• T = 0.25 [s] の場合

Time [s]

PCM: 3

Page 10: 音声符号化...波形符号化:PCM (Pulse Code Modulation)•CDなどに使用されている方式 標本化 量子化 標本化 •時間の離散化 量子化 •振幅値の離散化

波形復元

1 Time [s]0

T = 0.25 [s]

各標本値を中心とする sinc関数に標本値を掛けあわせたものを重ね合わせることで復元(畳み込み)

××

1 Time [s]0

×

×

×

( )( )

( )kTtT

kTtTkTxtx

k -

þýü

îíì -

×= å¥

-¥= p

psin)(

PCM: 4

Page 11: 音声符号化...波形符号化:PCM (Pulse Code Modulation)•CDなどに使用されている方式 標本化 量子化 標本化 •時間の離散化 量子化 •振幅値の離散化

量子化

• 振幅値を一定(線形)の間隔で近似(線形量子化)

量子化誤差

量子化誤差:量子化(丸め)により発生する誤差

• 振幅存在範囲が Lの信号を量子化ステップ Δ で B ビット量子化

• 量子化誤差:量子化前の値 と量子化後の値 との差

BL 2×D£

iii xxe -= ˆ

満たすべき条件:

ieixix

量子化入力

量子化結果

量子化ステップ Δ

PCM: 5

Page 12: 音声符号化...波形符号化:PCM (Pulse Code Modulation)•CDなどに使用されている方式 標本化 量子化 標本化 •時間の離散化 量子化 •振幅値の離散化

• 量子化誤差を雑音とみなすとその量はどの程度?• 量子化誤差の平均パワーの算出

• 量子化誤差 が0平均の一様分布に従うと仮定

• 信号の平均パワーとの比(SN比の算出)• 信号の標準偏差: (音声の場合は近似的に )

量子化誤差の量

òD

D- D=

2

2

2 d1 uu2

2

3

311 D

D-úûù

êëé

D= u 122D=

( )

( )

[dB] 2.76

12642

log1012

82log10

128

log1012

log10[dB]

2

22

102

2

10

2

2

102

2

10

þýü

îíì

D×D

=ïþ

ïýü

ïî

ïíì

D×D

=

þýü

îíì

D=

þýü

îíìD

=

B

LNS

BB

s

ie

ie( の分散)

s s42 =L

1ビット増やすと約 6 dB 雑音が低減PCM: 6

Page 13: 音声符号化...波形符号化:PCM (Pulse Code Modulation)•CDなどに使用されている方式 標本化 量子化 標本化 •時間の離散化 量子化 •振幅値の離散化

伝送量

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 dBS/N = 27 dBS/N = 15 dBS/N = 3 dBS/N = -9 dB

• 1秒間に送信するビット数 = bps (bit/sec)標本化周波数×量子化ビット数 = bps (bit/sec)

PCM: 7

Page 14: 音声符号化...波形符号化:PCM (Pulse Code Modulation)•CDなどに使用されている方式 標本化 量子化 標本化 •時間の離散化 量子化 •振幅値の離散化

音声符号化方式

-波形符号化方式-分析合成方式-ハイブリッド方式

Page 15: 音声符号化...波形符号化:PCM (Pulse Code Modulation)•CDなどに使用されている方式 標本化 量子化 標本化 •時間の離散化 量子化 •振幅値の離散化

音声波形の分布特性を利用

• 音声波形の分布はガンマ分布や指数分布(多と少)でよく近似• データの多いところの量子化ステップを細かく設定

• μ-law PCM・・・ISDN(公衆電話など)などに使用されている方式(非線形)

max/ xx

max/)( xxc

0 1

1

0

( ) )sgn(1log

1log)( max

max xxx

xxcµ

µ

+

÷÷ø

öççè

æ+

=PCM

µ = 255

SP Codec: 1

線形量子化

Page 16: 音声符号化...波形符号化:PCM (Pulse Code Modulation)•CDなどに使用されている方式 標本化 量子化 標本化 •時間の離散化 量子化 •振幅値の離散化

適応量子化:APCM (Adaptive PCM)• 入力信号の振幅に応じて適応的に量子化ステップ Δを変更

• 量子化誤差を減らし,符号化音声の品質を向上• フォワード適応型とバックワード適応型の量子化方式に分類

• フォワード適応量子化(あまり使われない)• 入力信号の短時間パワー値に応じて Δ を更新• 短時間パワー値に応じて入力信号の振幅を変化させることで対応• 短時間パワー値に関する情報も要送信

tx quantize encodeÄDGain

adaptation

ty ty tc

tG

SP Codec: 2

Page 17: 音声符号化...波形符号化:PCM (Pulse Code Modulation)•CDなどに使用されている方式 標本化 量子化 標本化 •時間の離散化 量子化 •振幅値の離散化

APCM:バックワード適応量子化• 音声が急激に変化する部分とゆるやかに変化する部分では差が大きくなる• 符号化出力に応じて Δ更新• 余分な情報を送信する必要なし

tx quantize encode

tD ty

tx tc

( )1-tLM Dtc1-tL

( )11 -- ×D=D ttt LM

ビット数 M ( |Lt-1| )

2 0.6, 2.23 0.85, 1, 1, 1.54 0.8, 0.8, 0.8, 0.8,

1.2, 1.6, 2.0, 2.45 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

ステップ幅の更新

標準化

Page 18: 音声符号化...波形符号化:PCM (Pulse Code Modulation)•CDなどに使用されている方式 標本化 量子化 標本化 •時間の離散化 量子化 •振幅値の離散化

差分量子化:DPCM (Differential PCM)• 一つ前の値との差分を量子化

tx quantize 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 600011 00001 00011 00001 10010

tx1ˆ -txtetetxtc

例.量子化ステップ Δ = 1 で量子化ビット数 B = 5 の場合(量子化は切り上げ)

SP Codec: 4

Lを小さい範囲でおさえれる

隣り合ったサンプル間には相関がある

Page 19: 音声符号化...波形符号化:PCM (Pulse Code Modulation)•CDなどに使用されている方式 標本化 量子化 標本化 •時間の離散化 量子化 •振幅値の離散化

適応差分量子化:ADPCM (Adaptive Differential PCM)

• PHSなどに使用されている方式

tx quantize encode

1ˆ -tx

tc

D

teÅ-

Åtx

te

tD

( )1-tLM tc1-tL

( )11 -- ×D=D ttt LM

D

ビット数 M ( |Lt-1| )

2 0.8, 1.63 0.9, 0.9, 1.25, 1.754 0.9, 0.9, 0.9, 0.9,

1.2, 1.6, 2.0, 2.45 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

Page 20: 音声符号化...波形符号化:PCM (Pulse Code Modulation)•CDなどに使用されている方式 標本化 量子化 標本化 •時間の離散化 量子化 •振幅値の離散化

予測量子化:Predictive PCM• 過去の値から現在の値を予測し,誤差を量子化

tx quantize 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.800010 00011 00001 10011 10001

txtx~

tetetx

15.0 -× z1ˆ5.0~-×= tt xx

tc

例.量子化ステップ Δ = 1 で量子化ビット数 B = 5 で線形予測器(つまり )を用いた場合(量子化は切り上げ)

SP Codec: 6

Page 21: 音声符号化...波形符号化:PCM (Pulse Code Modulation)•CDなどに使用されている方式 標本化 量子化 標本化 •時間の離散化 量子化 •振幅値の離散化

予測利得

• 伝送路に雑音や誤りがないとし,量子化誤差を nt とすると,

よって,この方式のSNRは E[・] を期待値として,

となる.量子化器のSNRよりも予測利得だけSNRが大きくなる.この手法を音声に適用した場合,通常の予測(次数10程度)の場合において,約10dBの予測利得が期待できることが知られている.

( )( )tt

tttt

ttt

ttt

nxnxxx

nexexx

+=+-+=

++=+=

~~~

ˆ~ˆ tx quantize

tx~

linear predictor

teÅ-

Åtx

te

][][

][][

][][

2

2

2

2

2

2

t

t

t

t

t

t

nEeE

eExE

nExE

SNR ×==

量子化器のSNR予測利得

SP Codec: 7

Page 22: 音声符号化...波形符号化:PCM (Pulse Code Modulation)•CDなどに使用されている方式 標本化 量子化 標本化 •時間の離散化 量子化 •振幅値の離散化

音声生成モデルを用いた符号化方式

• 符号化対象を人間の音声に特化した場合,音声の生成モデルを利用可能

SP Codec: 8

畳み込み

Page 23: 音声符号化...波形符号化:PCM (Pulse Code Modulation)•CDなどに使用されている方式 標本化 量子化 標本化 •時間の離散化 量子化 •振幅値の離散化

分析合成方式

○音源波形をパルス列で近似することで,送信符号量を大幅に低減!×合成音質は劣化

SP Codec: 9

ピーク

Page 24: 音声符号化...波形符号化:PCM (Pulse Code Modulation)•CDなどに使用されている方式 標本化 量子化 標本化 •時間の離散化 量子化 •振幅値の離散化

ハイブリッド符号化方式

• 分析合成方式と波形符号化方式を併用することで,高い音声 品質を保ちつつ伝送量を削減可能

• 処理の流れ• 分析合成方式と同様に声道特性と駆動音源特性に分離• 声道特性は分析合成方式と同様に符号化• 駆動音源特性(残差信号)は波形符号化方式により符号化

• 残差信号の符号化法により各種方式が存在• マルチパルス方式• CELP (Code Excited Linear Prediction)• ACELP (Algebraic CELP)• CS-ACELP (Conjugate Structure ACELP)

SP Codec: 10

Page 25: 音声符号化...波形符号化:PCM (Pulse Code Modulation)•CDなどに使用されている方式 標本化 量子化 標本化 •時間の離散化 量子化 •振幅値の離散化

CELP方式• ディジタル携帯電話などに使用されている方式の基礎

SP Codec: 11

Page 26: 音声符号化...波形符号化:PCM (Pulse Code Modulation)•CDなどに使用されている方式 標本化 量子化 標本化 •時間の離散化 量子化 •振幅値の離散化

CELP方式のブロック図• 聴覚的重み付けされた誤差が最小となるようにコードブックを決定

駆動音源コードブック

長期予測フィルタ

短期予測フィルタ

聴覚的重み付けフィルタ

自乗和

ts

Ä Åts te

原音声

-

ゲインコード

駆動音源合成部

音声波形合成部

コード コード コード

周波数

パワー

周波数

パワー

音声

誤差

音声

誤差

音声スペクトルに応じて誤差を集中させる!

SP Codec: 12

ポストフィルタ:ピッチやフォルマントを強調

Page 27: 音声符号化...波形符号化:PCM (Pulse Code Modulation)•CDなどに使用されている方式 標本化 量子化 標本化 •時間の離散化 量子化 •振幅値の離散化

音声符号化方式の比較

• 波形符号化方式 :情報量・・・大 品質・・・良

• 分析合成方式 :情報量・・・小 品質・・・悪

• ハイブリッド方式 :情報量・・・小~中 品質・・・普通~良

音声品質

非常に良い

良い

普通

悪い

非常に悪い

SP Codec: 13

Page 28: 音声符号化...波形符号化:PCM (Pulse Code Modulation)•CDなどに使用されている方式 標本化 量子化 標本化 •時間の離散化 量子化 •振幅値の離散化

聴覚的符号化方式

Page 29: 音声符号化...波形符号化:PCM (Pulse Code Modulation)•CDなどに使用されている方式 標本化 量子化 標本化 •時間の離散化 量子化 •振幅値の離散化

聴覚的符号化方式

• 対象を音声以外に広げた際には音声生成モデルの使用は困難• 聴覚モデルを導入

• 人間の聴覚特性:音の強さの感じ方は周波数に応じて変化

Auditory Codec: 1

Page 30: 音声符号化...波形符号化:PCM (Pulse Code Modulation)•CDなどに使用されている方式 標本化 量子化 標本化 •時間の離散化 量子化 •振幅値の離散化

同時マスキング

• 大きな音と同時に鳴る小さな音は聴こえない

Auditory Codec: 2

Page 31: 音声符号化...波形符号化:PCM (Pulse Code Modulation)•CDなどに使用されている方式 標本化 量子化 標本化 •時間の離散化 量子化 •振幅値の離散化

継時マスキング

• 大きな音の前後の小さな音は聴こえない

Auditory Codec: 3

Page 32: 音声符号化...波形符号化:PCM (Pulse Code Modulation)•CDなどに使用されている方式 標本化 量子化 標本化 •時間の離散化 量子化 •振幅値の離散化

聴覚符号化方式の例

• 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

Page 33: 音声符号化...波形符号化:PCM (Pulse Code Modulation)•CDなどに使用されている方式 標本化 量子化 標本化 •時間の離散化 量子化 •振幅値の離散化

最新の低遅延音声音響統合符号化

• Enhanced Voice Services (EVS)

• 世界の有力機関12社による統一規格を達成

Auditory Codec: 5

守谷健弘, “音声音響符号化技術と3GPPでの標準化,”NTT技術ジャーナル, Apr. 2015. より転載

デモ動画https://www.youtube.com/watch?v=Slbn7qBxcJw