ADPCM(エーディーピーシーエム)とは | 意味や読み方など丁寧でわかりやすい用語解説
ADPCM(エーディーピーシーエム)の意味や読み方など、初心者にもわかりやすいように丁寧に解説しています。
読み方
日本語表記
アダプティブ差分パルス符号変調 (アダプティブサブンパルスフクヘンチョウ)
英語表記
ADPCM (エーディーピーシーエム)
用語解説
ADPCM(Adaptive Differential Pulse Code Modulation)は、音声などのアナログ信号をデジタルデータに変換・圧縮する技術の一種である。これは、基本的なデジタル音声符号化方式であるPCM(Pulse Code Modulation)を基盤とし、そのデータ量を効率的に削減するために開発された手法である。デジタル音声データは、そのままでは情報量が膨大になりやすく、記憶容量を多く消費したり、ネットワークを通じて伝送する際の帯域幅を圧迫したりするという課題があった。ADPCMはこの課題に対し、隣接するサンプル間の値の変化に着目し、さらにその変化を「適応的(Adaptive)」に符号化することで、データ量を削減しつつも比較的良好な音質を維持できるという特徴を持つ。具体的には、前のデータから次の値を予測し、その予測値と実際の値との「差分」だけを符号化する。また、この差分をデジタル値に変換する際の量子化ステップサイズを、信号の特性に応じて動的に調整するため、「適応型」と呼ばれる。この特性により、PCMと比較して約半分から4分の1程度のデータ量で音声データを表現できるため、電話回線での音声伝送、VoIP(Voice over IP)システム、初期のマルチメディアシステムやゲーム機の音声データなど、幅広い分野で利用されてきた。
ADPCMの原理を深く理解するためには、まずデジタル音声の最も基本的な符号化方式であるPCMの概要を把握する必要がある。PCMでは、アナログ音声信号を一定の時間間隔で「標本化(サンプリング)」し、それぞれの時点での信号の振幅値をデジタル値に変換する「量子化」を行い、その結果を符号化する。PCMは音声を忠実にデジタル化できるが、高音質を求めるとデータ量が非常に大きくなる。例えば、電話品質の音声を表現するために、一般的には8kHzで標本化し、8ビットで量子化するが、これでも1秒あたり64キロビット(8,000サンプル/秒 × 8ビット/サンプル)のデータが必要となる。このデータ量を削減することが、ADPCMが目指すところである。
ADPCMの核心は、「差分符号化(Differential Coding)」と「適応量子化(Adaptive Quantization)」という二つの技術の組み合わせにある。まず、音声信号は時間的に連続しており、隣接するサンプルの値は大きく変化することが少ないという統計的特性を持つ。例えば、ある瞬間の音声の振幅が急に大きく変わることは稀で、たいていは直前の値に近い値を取る。ADPCMはこの特性を利用し、現在の値を直接符号化するのではなく、現在の値と直前の値(または予測値)との「差分」だけを符号化する。なぜ差分がデータ削減につながるのかというと、元の音声信号の振幅は広い範囲を取り得るため、それを表現するには多くのビット数が必要になるが、隣接するサンプル間の差分は、元の振幅がどうであれ、たいてい元の振幅よりも小さい範囲の値になることが多いからである。したがって、差分を表現するためのビット数は、元の値を表現するためのビット数よりも少なく済む場合が多い。ADPCMでは、この差分をさらに効率的に符号化するため、単に直前の値との差分をとるだけでなく、過去の信号から次の信号値を「予測」し、その「予測値と実際の値との差分(予測誤差)」を符号化する。予測の精度が高いほど、予測誤差は小さくなり、その誤差を表現するためのビット数をさらに削減できる。
次に、「適応型(Adaptive)」という側面について解説する。ADPCMにおける適応性とは、差分をデジタル値に変換する際の「量子化ステップサイズ」を信号の変化に応じて動的に調整することである。音声信号は、静かな部分や大きな部分、急激に変化する部分など、その特性が常に一定ではない。例えば、信号の変化が緩やかで予測誤差が小さい場合は、細かい量子化ステップサイズを適用して精度を保ち、信号の変化が激しく予測誤差が大きい場合は、粗い量子化ステップサイズを適用して、情報量を抑えつつも変化の方向を確実に捉える。このステップサイズを適応的に変更することで、どのような特性の音声に対しても、効率的かつ品質を維持しながら圧縮を行うことができる。ADPCMのエンコーダ(符号器)とデコーダ(復号器)は、同じアルゴリズムでこの量子化ステップサイズと予測値を更新するため、互いに同期して動作し、正確な復元が可能となる。
ADPCMの一般的な処理の流れは以下のようになる。エンコーダでは、入力されたアナログ音声信号を標本化し、デジタルデータにする。このデジタルデータに対して、まず過去の信号から現在の信号値を予測する。次に、実際の信号値と予測値との差分(予測誤差)を計算する。この予測誤差に対し、信号の変化に応じた適応的な量子化ステップサイズを用いて量子化を行い、その結果(量子化された予測誤差)を出力データとして送信する。同時に、エンコーダ内部の予測器は、量子化された予測誤差と予測値を使って次の予測値を生成し、これを繰り返す。デコーダでは、受信した量子化された予測誤差を、エンコーダと同じアルゴリズムで決定された量子化ステップサイズを用いて逆量子化し、予測誤差の近似値を得る。そして、デコーダ内部で生成された予測値にこの近似された予測誤差を加算することで、元の信号の近似値を復元する。デコーダもまた、復元された信号値と予測誤差を用いて、エンコーダと同様に予測器を更新する。このように、エンコーダとデコーダが同じ予測および量子化ステップサイズ調整ロジックを持つことで、少ない情報量で音声を再現するのである。
ADPCMの主な利点は、PCMに比べてデータ量を大幅に削減できる点であり、一般的に1/2から1/4程度の圧縮率を実現する。また、MP3やAACなどのより高度な圧縮方式と比較すると圧縮率は劣るものの、計算負荷が比較的低く、リアルタイム処理に適しているため、VoIPのような低遅延が求められる用途で特に有効である。しかし、ADPCMは非可逆圧縮であるため、PCMと比較すると音質は劣化し、特に音声が急激に変化する部分やノイズの多い部分では、その劣化が顕著になる場合がある。
ADPCMの具体的な標準として、国際電気通信連合(ITU-T)が定めたG.721やG.726といった勧告がある。特にG.726は、PSTN(公衆交換電話網)におけるデジタル回線での音声符号化やVoIPシステムなどで広く利用されており、32 kbps(キロビット毎秒)のデータレートでPCMの半分のデータ量ながら、ほぼ同等の通話品質を実現する。また、インタラクティブ・マルチメディア・アソシエーション(IMA)が策定した「IMA ADPCM」は、比較的簡単な実装で利用できるため、初期のCD-ROMゲームやWindowsのWAVファイル形式などで利用され、ゲーム開発において低リソースで高品質な音声を扱う手段として普及した。このように、ADPCMはデジタル音声処理の進化において重要な役割を果たしてきた技術であり、現在でも特定の用途でその特性が活用されている。