音声圧縮処理の基本 ―― 音楽CDやWAVファイルで使われている波形符号化方式

川村 新,尾知 博

3.DPCM

 サンプリング周期が短い場合,音声の隣接サンプル間の変化は小さくなります.従って,隣接サンプルの差分をとれば,結果として得られる信号は,元の音声よりも信号の散らばりの程度を小さくできます.つまり,同じビット数ならば,振幅が大きく変化する元の信号よりも,差分信号を量子化する方が信号の劣化が少なくなります.このように差分信号を量子化する方法をDPCMと呼びます(図15).



図15 DPCM による量子化
差分信号を量子化する方法である.

 

 音声が急激に変化する部分とゆるやかに変化する部分では,差分信号であっても両者の差が大きくなります.このような信号に対して固定の量子化幅を用いることは効率が悪くなります.そこで,信号の大きさに合わせて量子化幅を変更し,圧縮効率を改善する方法が提案されています.この方法を適応量子化と呼びます(図16).




図16 適応量子化
差分信号の大きさに合わせて量子化幅を変更し,圧縮効率を改善する.

 

4.ADPCM

 音声信号は多くの場合,過去の信号と密接に関係しているため,過去の値から現在の値をある程度予測できます.予測値と現在の音声との差分は予測誤差と呼ばれ,DPCMのような単純な隣接サンプル間差分よりもさらに信号のばらつきを抑えることができます(図17).



図17 予測誤差信号
DPCMのような単純な隣接サンプル間差分よりもさらに小さい分散を持つ.

 

 従って,予測誤差を量子化の対象とし,さらに適応量子化を導入すれば非常に高い圧縮効率を得ることができます.このような予測と量子化の二つの適応制御を備えた方法をADPCM(4)と呼びます.ADPCMはパソコンのWAVファイルや,PHS電話,テレビ電話などに利用されています.

 ADPCMはエンコーダとデコーダが複雑になりますが,少ないビット数でも高い音質を保持できるという特徴があります.

 ここではITUで定められているG.726方式のADPCMについて詳細に説明します.

 G.726では,ADPCM信号I(n)の値に基づき,量子化幅を適応的に変更します.また,デコーダも同じ手順で行われるので,デコーダ側とエンコーダ側でそれぞれ得られる信号は同じ値となります.

● ADPCMエンコーダの構成

 ADPCMエンコーダの構成を図18に示します.信号の流れが複雑なので,得られる信号の順番を図中の番号で示します.



図18 ADPCMエンコーダの構成
sl(n)は時刻nにおける一様量子化された入力信号,se(n)は入力信号に対する予測値,d(n)は両者の差分信号(予測誤差),I(n)はADPCM信号.Dのブロックは1時刻の遅延を表わしている.

 

 大まかな流れは,以下のようになります.

①入力信号sl(n)を得る.

②予測値se(n)を計算する.

③差分信号d(n)=sl(n)-se(n)を得る.

④適応量子化幅y(n)を更新する.

⑤ADPCM信号I(n)を計算する.適応量子化した信号がADPCM信号I(n)として送信される.

⑥量子化差分信号dq(n)を計算する.

⑦再合成信号sr(n)を計算する.

⑧予測係数を更新する.
 

 

組み込みキャッチアップ

お知らせ 一覧を見る

電子書籍の最新刊! FPGAマガジン No.12『ARMコアFPGA×Linux初体験』好評発売中

FPGAマガジン No.11『性能UP! アルゴリズム×手仕上げHDL』好評発売中! PDF版もあります

PICK UP用語

EV(電気自動車)

関連記事

EnOcean

関連記事

Android

関連記事

ニュース 一覧を見る
Tech Villageブログ

渡辺のぼるのロボコン・プロモータ日記

2年ぶりのブログ更新w

2016年10月 9日

Hamana Project

Hamana-8最終打ち上げ報告(その2)

2012年6月26日