コンテンツへスキップ
uencoder

Delta Encoding

デルタエンコーディングは、列の各要素を直前の要素との差分で置き換えることで、緩やかに変化する列や単調増加する列をよりコンパクトにする。

目的

タイムスタンプ、増加する ID、音声 PCM サンプルなど、時間的・空間的な局所性を持つ整数列を圧縮する。

メカニズム

先頭要素はそのまま格納し、以降の要素は x[i] - x[i-1] として格納する。復号では差分を累積して元の列へ戻す。Varint/ZigZag と直列に組み合わせて差分をさらに圧縮することが多い。

ユースケース

  • タイムスタンプ列の圧縮
  • 転置インデックスの文書 ID 隙間
  • 差分 PCM の音声

関連ツール

References