DPCM

提供: MonoBook
ナビゲーションに移動 検索に移動

DPCM (語源:Differential Pulse Code Modulation)とは、 直訳すると「差分PCM」であり、コンピューターの性能が悪かった時代に考案された音声データ(PCMデータ)の節約方法のひとつである。

概要[編集 | ソースを編集]

コンピューターの性能が悪かった時代、 単純に音声データをデジタル化した「PCM方式」ではデータサイズが大きすぎてマイコンなどで扱うのは難しいという問題があった。

音声をデジタル化したPCMデータのある一点を抜き出し、その前後のデータと比較すると、 ほとんどの場合は大きな変化はなく、それらを繋ぎ合わせると滑らかな曲線になっている。

そこで以下のようなDPCMというデータ節約方法が考案された。

  • 最初のデータは高いビット数で保持し
  • そこからの変化量は低いビット数で保持する

大雑把にいえば動画の「キーフレーム」と似たような概念である。

DPCMはPCMと比較してデータサイズを6〜7割程度削減できると言われている。

ただDPCMは信号が急激に変化する箇所では残念な結果になる。 この問題を解決すべく差分データのサイズを固定長ではなく可変長にした「ADPCM」が登場した。

その他にもDPCMは「頭出しが遅い」という欠点がある。 コンピューターの性能がアホみたいに高性能化した現在ではほとんど使われていない。 今では何でもかんでもPCMで「ハイレゾ」「ハイレゾ」言ってるやつばかりである。

裏技[編集 | ソースを編集]

DPCM音源やADPCM音源に差分データを送り込まず「最初のデータだけ」を断続的に送信し続けることで無理やりPCMを再生する技法がある。

この技法は当然ながらCPUに高負荷がかかりメモリも大量に必要になるので実際に使える場面は限られる。

ファミコン(DPCM音源)やゲームボーイ(ADPCM音源)のゲームでは主に負荷の低いタイトル画面などでこの技法が使われているものがある。

関連項目[編集 | ソースを編集]

  • PCM = 全部が完全なデータ
  • DPCM = 最初だけ完全なデータ、以降は固定長の差分
  • ADPCM = 最初だけ完全なデータ、以降は可変長の差分