ハフマン符号
意味・解説
出現頻度の高いデータには短い符号を割り当てる、可逆圧縮の代表的手法。
データの出現確率(頻度)に偏りがある場合、よく現れるパターンには短いビットを、あまり現れないパターンには長いビットを割り当てることで、全体としての平均ビット数を最小にする符号化方式。ZIP圧縮やJPEG、MPEGの内部処理などで幅広く利用されている。可逆圧縮の一種である。
くわしく
情報の偏りを利用して、効率的にデータをパッキングする賢い符号化アルゴリズムである。
1.ハフマンツリーの作成:まず、各データの出現回数を数え、頻度の低いものから順に枝を組み合わせてツリー状の構造(木構造)を作る。根に近いほど(頻度が高いほど)符号が短くなる。
2.接頭符号の性質:どの符号も、他の長い符号の「出だし」になっていないという特徴を持つ。これにより、ビット列をどこで区切ればよいか迷わずに一意に復号できる。
3.実務での貢献:テキストデータのように、特定の文字(日本語なら「の」や「に」など)が繰り返し現れる場合に特に威力を発揮する。コンピュータのメモリを節約しつつ、完全に元の情報を復元できるため、標準的な圧縮技術として定着している。
例文
ハフマン符号を用いて、頻出する英単語に短いビットを割り当て、文書全体の容量を削減した。
同義語: ハフマン符号化
対義語: 固定長符号
分類: 可逆圧縮