音情報処理 第 4 回 音声符号化 中村哲
1 秒間につき 128 kbi 使用 音声符号化 1 秒間につき 8 kbi だけ使用 伝送するビット数を 6% 程度に減らすことができる! 本日の講義を受けることで なぜこのようなことが可能なのかを理解することができます
講義内容 波形符号化 標本化 量子化 音声符号化方式 波形符号化方式 分析合成方式 ハイブリッド方式 聴覚符号化方式
符号化 ある情報を他のもの ( 符号 ) で置き換える作業 例 1: 新聞広告 賃貸マンションをお貸しします. 間取りは 2LDK で, 具体的には 8 畳,6 畳,4.5 畳のダイニングキッチン, バストイレつきです. 部屋は南向きで,1 ヶ月の賃貸料は 10 万円, 最初の補償金は 30 万円で礼金は無しです. 駅から徒歩 8 分です. 例 2: モールス信号 賃マン 2LDK 8 6 4.5 B T 南向賃 10 万補 30 万礼無歩 8 分 長点と短点による表現 2 元系列による表現 A - 10111000 B - 111010101000 C - - 11101011101000 この作業を音声に適用 音声符号化 Coding: 1
Coding: 2 音声符号化 音声波形を大幅に圧縮して伝送
波形符号化 - 標本化 - 量子化
PCM: 1 波形符号化 :PCM (Pulse Code Modulaion) CD などに使用されている方式 標本化 量子化 L T L: 信号の振幅の存在範囲 標本化 量子化 時間の離散化 一定の間隔 T で分割 振幅値の離散化 一定の間隔値 Δ で分割 標本化定理に注意! 量子化誤差に注意!
PCM: 2 標本化定理 信号波形 x() が0~W [Hz] に帯域制限されているとき,x() を標本化周期 T 1/(2W) [s] ごと ( つまり, 標本化周波数は 2W [Hz] 以上 ) に標本化すれば, 標本値系列から以下のように信号波形の再生が可能 x( ) x k kt sin kt T kt T T = 0.25 [s] sinc 関数 : sin(x)/x 0 1 Time [s] 0 1 Time [s]
PCM: 3 sinc 関数 T = 0.25 [s] の場合 Time [s]
波形復元 T = 0.25 [s] x( ) x k kt sin kt T kt T 0 1 Time [s] 0 1 Time [s] + + + + 各標本値を中心とする sinc 関数に標本値を掛けあわせたものを重ね合わせることで復元 PCM: 4
PCM: 5 量子化 振幅値を一定の間隔で近似 ( 線形量子化 ) 量子化結果 量子化ステップ Δ 量子化誤差 量子化入力 量子化誤差 : 量子化により発生する誤差 振幅存在範囲が L の信号を量子化ステップ Δ で B ビット量子化 B 満たすべき条件 : L 2 量子化誤差 : 量子化前の値 x i と量子化後の値 xˆi との差 e xˆ x i i i e i
PCM: 6 量子化誤差の量 量子化誤差を雑音とみなすとその量はどの程度? 量子化誤差の平均パワーの算出 量子化誤差が 0 平均の一様分布に従うと仮定 2 2 2 1 1 1 u d u 3 2 3 2 信号の平均パワーとの比 (SN 比の算出 ) u 2 12 信号の標準偏差 : ( 音声の場合は近似的に ) S e i ( の分散 ) e i 10log N [db] 10log 10 10 2 2 12 B 2 8 2 12 6B 7.2[dB] 10log 2 10 L 2 10log 10 L 2 8 12 2 4 2 2B 2 64 2 12 1 ビット増やすと約 6 db 雑音が低減
量子化ビット数 伝送量 1 秒間に送信するビット数 = bps (bi/sec) 標本化周波数 量子化ビット数 = bps (bi/sec) 例. 音声信号を 32 kbps で伝送する場合, 標本化周波数と量子化ビット数をいくつに設定するのが良い? 例えば S/N = 75 db 16 bi 32 kbps 64 kbps 128 kbps 256 kbps 14 bi 28 kbps 56 kbps 112 kbps 224 kbps 12 bi 24 kbps 48 kbps 96 kbps 192 kbps 10 bi 20 kbps 40 kbps 80 kbps 160 kbps 8 bi 16 kbps 32 kbps 64 kbps 128 kbps 6 bi 12 kbps 24 kbps 48 kbps 96 kbps 4 bi 8 kbps 16 kbps 32 kbps 64 kbps 2 bi 4 kbps 8 kbps 16 kbps 32 kbps 2 khz 4 khz 8 khz 16 khz 標本化周波数 とすると 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 PCM: 7
音声符号化方式 - 波形符号化方式 - 分析合成方式 - ハイブリッド方式
音声波形の分布特性を利用 音声波形の分布はガンマ分布や指数分布でよく近似 データの多いところの量子化ステップを細かく設定 μ-law PCM ISDN などに使用されている方式 c( x) / x 1 max μ = 255 PCM 0 0 1 x / x max c( x) x max x log 1 x log 1 max sgn( x) SP Codec: 1
適応量子化 :APCM (Adapive PCM) 入力信号の振幅に応じて適応的に量子化ステップ Δ を変更 量子化誤差を減らし, 符号化音声の品質を向上 フォワード適応型とバックワード適応型の量子化方式に分類 フォワード適応量子化 入力信号の短時間パワー値に応じて Δ を更新 短時間パワー値に応じて入力信号の振幅を変化させることで対応 短時間パワー値に関する情報も要送信 x y quanize ŷ encode c Gain adapaion G SP Codec: 2
APCM: バックワード適応量子化 符号化出力に応じて Δ 更新 余分な情報を送信する必要なし x quanize xˆ encode c y ビット数 M ( L-1 ) M L 1 L 1 D c 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.8 2.0, 2.2, 2.4, 2.6 ステップ幅の更新 M L 1 1 遅延演算 : 1 時刻前の c を L-1 とする. SP Codec: 3
差分量子化 :DPCM (Differenial PCM) 一つ前の値との差分を量子化 x e quanize ê encode c ˆ 1 x D xˆ Local decoder 例. 量子化ステップ Δ = 1 で量子化ビット数 B = 5 の場合 ( 量子化は切り上げ ) x xˆ 1 e ê xˆ c 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 SP Codec: 4
適応差分量子化 :ADPCM (Adapive Differenial PCM) PHS などに使用されている方式 x e quanize ê encode c ˆ 1 x D xˆ M L 1 L 1 D c ビット数 M ( L-1 ) 2 0.8, 1.6 M L 1 1 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.1 2.4, 2.7, 3.0, 3.3 SP Codec: 5
予測量子化 :Predicive PCM 過去の値から現在の値を予測し, 誤差を量子化 x e quanize ê encode c x~ linear predicor xˆ Local decoder 例. 量子化ステップ Δ = 1 で量子化ビット数 B = 5 で 1 線形予測器 0.5 z ( つまり ~ x 0.5 xˆ ) 1 を用いた場合 ( 量子化は切り上げ ) x x~ e ê xˆ c 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 SP Codec: 6
予測利得 伝送路に雑音や誤りがないとし, 量子化誤差を n とすると, よって, この方式の SNR は E[ ] を期待値として, となる. 量子化器の SNR よりも予測利得だけ SNR が大きくなる. この手法を音声に適用した場合, 通常の予測 ( 次数 10 程度 ) の場合において, 約 10 db の予測利得が期待できることが知られている. n x n x x x n e x e x x ~ ~ ~ ˆ ~ ˆ x quanize x~ linear predicor e xˆ ê ] [ ] [ ] [ ] [ ] [ ] [ 2 2 2 2 2 2 n E e E e E x E n E x E SNR 量子化器の SNR 予測利得 SP Codec: 7
SP Codec: 8 音声生成モデルを用いた符号化方式 符号化対象を人間の音声に特化した場合, 音声の生成モデルを利用可能
SP Codec: 9 分析合成方式 音源波形をパルス列で近似することで, 送信符号量を大幅に低減! 合成音質は劣化
ハイブリッド符号化方式 分析合成方式と波形符号化方式を併用することで, 高い音声品質を保ちつつ伝送量を削減可能 処理の流れ 分析合成方式と同様に声道特性と駆動音源特性に分離 声道特性は分析合成方式と同様に符号化 駆動音源特性 ( 残差信号 ) は波形符号化方式により符号化 残差信号の符号化法により各種方式が存在 マルチパルス方式 CELP (Code Excied Linear Predicion) ACELP (Algebraic CELP) CS-ACELP (Conjugae Srucure ACELP) SP Codec: 10
SP Codec: 11 CELP 方式 ディジタル携帯電話などに使用されている方式の基礎
パワー パワー CELP 方式のブロック図 聴覚的重み付けされた誤差が最小となるようにコードブックを決定 原音声 駆動音源コードブック 駆動音源合成部 長期予測フィルタ 音声波形合成部 短期予測フィルタ ŝ s 聴覚的重み付けフィルタ e 自乗和 コード ゲインコード コード コード 音声スペクトルに応じて誤差を集中させる! 音声 音声 誤差 周波数 誤差 周波数 SP Codec: 12
音声品質 音声符号化方式の比較 波形符号化方式 : 情報量 大 品質 良 分析合成方式 : 情報量 小 品質 悪 ハイブリッド方式 : 情報量 小 ~ 中 品質 普通 ~ 良 非常に良い 良い 普通 悪い 非常に悪い SP Codec: 13
聴覚的符号化方式
聴覚的符号化方式 対象を音声以外に広げた際には音声生成モデルの使用は困難 聴覚モデルを導入 人間の聴覚特性 : 音の強さの感じ方は周波数に応じて変化 Audiory Codec: 1
Audiory Codec: 2 同時マスキング 大きな音と同時に鳴る小さな音は聴こえない
Audiory Codec: 3 継時マスキング 大きな音の前後の小さな音は聴こえない
聴覚符号化方式の例 MPEG1 Audio (Moving Picure Expers Group) ビット割り当て情報マスキング閾値決定 PCM サブバンドフィルタ 32 band, 12 sample 量子化 量子化サンプル bi sream code スケールファクタ選択 ATRAC (Adapive Transform Acousic Coding) PCM 直交ミラーフィルタ 11.025~22.05 [khz] 5.5125~11.025 [khz] 直交ミラーフィルタ 修正離散コサイン変換 修正離散コサイン変換 修正離散コサイン変換 適応ビット割り当て code 0~5.5125 [khz] マスキングや音圧等による許容雑音算出 Audiory Codec: 4
最新の低遅延音声音響統合符号化 Enhanced Voice Services (EVS) 世界の有力機関 12 社による統一規格を達成 守谷健弘, 音声音響符号化技術と 3GPP での標準化, NTT 技術ジャーナル, Apr. 2015. より転載 デモ動画 hps://www.youube.com/wach?v=slbn7qbxcjw Audiory Codec: 5