データ圧縮(ハフマン符号化)とは?
データ圧縮(ハフマン符号化)とは、データの可逆圧縮技術の代表例。出現頻度の高い文字ほど短いビット列を、出現頻度の低い文字ほど長いビット列を割り当てることで、全体のデータ量を削減する符号化方式(ハフマン符号化)。
応用情報技術者試験の過去問では2回出題されています(2020年度〜2024年度)。
でーたあっしゅく
データ圧縮(ハフマン符号化)の意味
データの可逆圧縮技術の代表例。出現頻度の高い文字ほど短いビット列を、出現頻度の低い文字ほど長いビット列を割り当てることで、全体のデータ量を削減する符号化方式(ハフマン符号化)。
データ圧縮(ハフマン符号化)の具体例
「a」が非常に多く「z」がほとんど出現しない文章では、「a」に2ビット、「z」に8ビットのように可変長の符号を割り当てることで、全員に固定8ビットを割り当てる場合よりデータ量を圧縮できる。
データ圧縮(ハフマン符号化)は試験でどう引っ掛けられる?
ハフマン符号化は元のデータを完全に復元できる可逆圧縮で、JPEGやMP3のような非可逆圧縮と混同しないこと。またどんなデータでも縮むわけではなく、すべての文字の出現頻度が等しい場合は圧縮効果がない(乱数列などではむしろ増えうる)。可変長符号でありながら区切り記号なしに復号できるのは、どの符号も他の符号の先頭部分にならない(語頭条件を満たす)ように割り当てているからで、単に「短い符号を割り当てる」だけでは復号できない。
データ圧縮(ハフマン符号化)が出た過去問
800×600ピクセル、24ビットカラーで30フレーム/秒の動画像の配信に最小限必要な帯域幅はおよそ幾らか。ここで、通信時にデータ圧縮は行わないものとする。
正解:350Mビット/秒
要点:非圧縮動画の帯域=画素数×色深度×フレームレート
1フレームのデータ量は800×600=480,000画素に24ビットを掛けて11,520,000ビットである。これを毎秒30フレーム送るので11,520,000×30=345,600,000ビット/秒となり、およそ350Mビット/秒が必要になる。非圧縮の動画は帯域を大量に消費することが分かる。
出典:令和2年度 10月 応用情報技術者試験 午前 問25(IPA)800×600ピクセル、24ビットカラーで30フレーム/秒の動画像の配信に最小限必要な帯域幅はおよそ幾らか。ここで、通信時にデータ圧縮は行わないものとする。
正解:350Mビット/秒
要点:非圧縮動画の帯域は画素数×色深度×フレームレートで求める
1フレームのデータ量は800×600×24ビット=11,520,000ビットである。これを毎秒30フレーム送るので、11,520,000×30=345,600,000ビット/秒となり、およそ350Mビット/秒が必要になる。非圧縮の動画像は帯域を大量に消費することが分かる。
出典:令和6年度 秋期 応用情報技術者試験 午前 問26(IPA)
最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。