ADPCM (Adaptive Differential PCM, 1973)(エーディーピーシーエム)
1973 年に AT&T Bell Labs で開発された PCM の改良版音声圧縮アルゴリズム。連続サンプル間の差分を可変ステップサイズで量子化、PCM 比 4:1 圧縮 (32kbps vs 128kbps) を実現し、電話通信 (G.722/G.726) ・組み込み機器・ゲーム機の音声で広く採用された。
概要
ADPCM (Adaptive Differential Pulse Code Modulation) は、1973 年に AT&T Bell Labs で開発された PCM の改良版音声圧縮アルゴリズムで、連続サンプル間の差分を可変ステップサイズで量子化することで、PCM 比 4:1 圧縮 (32kbps vs 128kbps) を実現する効率的な技術です。差分量子化 (Differential PCM、DPCM) に「適応的ステップサイズ」を組み合わせることで、音質を維持しながら大幅なデータ削減を達成。Bell Labs の G.722 規格 (1988、広帯域電話用 7kHz 帯域)・G.726 規格 (1990、32/24/16kbps 多レート対応) で国際標準化され、電話通信・組み込み機器・ゲーム機の音声で広く採用されました。Microsoft ADPCM (Windows 標準)・IMA ADPCM (Interactive Multimedia Association、1992 年 Macintosh で標準)・Yamaha ADPCM (FM 音源拡張) など複数の派生規格があり、SEGA Mega Drive・任天堂 Wii・PlayStation 1 などゲーム機の音声・効果音で利用、現代も組み込み機器の低帯域音声出力で残存しています。
主な特徴・仕組み
- 発表: 1973 年 AT&T Bell Labs
- 国際標準: 1988 年 G.722 (7kHz 広帯域電話)・1990 年 G.726 (多レート)
- 基本原理: 連続サンプル間の差分を量子化 (DPCM)
- 適応的: ステップサイズを信号の変化に応じて動的調整
- 圧縮率: PCM 比 4:1 (32kbps vs 128kbps の 16bit/8kHz)
- 音質: PCM の 8bit と同等、bit レート半減
- bit 深度: 4bit (G.726-32) - 8bit (高品質)
- 遅延: 低遅延、リアルタイム電話通信に最適
- 派生: Microsoft ADPCM・IMA ADPCM・Yamaha ADPCM・QuickTime ADPCM
- 現代用途: 組み込み機器音声・低帯域 IoT デバイス・古いゲーム機エミュレータ
スペック比較表
| 規格 | bitrate | 帯域 | 用途 |
|---|---|---|---|
| G.711 (PCM) | 64kbps | 3.4kHz | 電話 (基準) |
| G.722 ADPCM | 64kbps | 7kHz | 広帯域電話 (倍音質) |
| G.726 ADPCM | 32kbps | 3.4kHz | 電話圧縮 (半帯域) |
| G.726 ADPCM | 16kbps | 3.4kHz | 低帯域電話 |
| Microsoft ADPCM | 4bit | 11kHz | Windows 音声 |
| IMA ADPCM | 4bit | 8-22kHz | Mac/Web/ゲーム |
具体例・対応技術
- G.722 (Bell Labs, 1988): 広帯域電話 (HD Voice)・モバイル VoLTE・Zoom 等で採用
- G.726 (1990): 32/24/16kbps、固定電話の帯域削減
- Microsoft ADPCM: Windows 95 以降の WAV 標準、Sound Blaster で利用
- IMA ADPCM (1992): Macintosh AIFF 拡張、Web 配信・ゲームで広く採用
- PlayStation 1 (1994): ADPCM ベースのサウンドフォーマット (.VAG)
- SEGA Mega Drive YM2612: FM 音源 + ADPCM チップ (YM3438) 組合せ
自作PCでの選び方・注意点
ADPCM は 2026 年現在、新規開発では MP3/AAC/Opus に置換されていますが、以下の場面で残存: (1) 組み込み機器・IoT デバイスの音声出力 (ESP32・Arduino の WAV 再生で IMA ADPCM 形式)・(2) レトロゲーム機エミュレータ (PlayStation 1・Mega Drive の音声デコード)・(3) 古いビデオ会議システム・IP 電話の VoIP 通信。FFmpeg で ADPCM ⇔ PCM 変換は ffmpeg -i input.wav -acodec adpcm_ima_wav output.wav のように簡単、Audacity でも開閉可能。Python の wave モジュールは ADPCM 直接非対応のため pydub または librosa 推奨。AI 音声生成 (Suno・Udio・ElevenLabs) は内部 PCM/MP3 処理、ADPCM 出力は皆無。レトロゲーム MOD 開発で ADPCM 音声編集が必要となる場面が稀にあります。
関連用語との違い
- PCM (1937): 親規格、無圧縮、ADPCM は 4:1 圧縮版
- MP3/AAC: 非可逆圧縮、ADPCM より圧縮率高 (10:1+) だが計算複雑
- DPCM: 差分量子化、ADPCM の前身、ステップサイズ固定
よくある質問(FAQ)
Q1: ADPCM と MP3 どちらが選ぶべき? A: 計算リソース制約 (組み込み機器) なら ADPCM、ファイルサイズ最適化なら MP3。ADPCM は実装シンプルで低遅延、MP3 は圧縮率高い。
Q2: G.722 はなぜ "HD Voice" と呼ばれる? A: 帯域 3.4kHz → 7kHz で電話品質が音楽に近づく。「HD Voice」マーケティング用語、VoIP・モバイル VoLTE で広く採用。
Q3: PlayStation 1 の音声品質は? A: ADPCM 4bit/22kHz が標準、CD オーディオ (16bit/44.1kHz) より低品質だがメモリ効率優先の設計。当時のゲーム機としては実用十分。
まとめ
- ADPCM = 1973 年 Bell Labs 開発、PCM 改良版 4:1 圧縮
- 差分量子化 + 適応的ステップサイズ
- G.722/G.726/Microsoft/IMA/Yamaha 等の派生規格
- 電話・組み込み機器・古いゲーム機の音声で 50 年現役