教科書一覧へ

データ圧縮の方式と特徴

低頻約 18 分マルチメディア技術

概要

本ユニットでは、データ量を小さくする「圧縮」を、メディア種別に依存しない抽象概念として横断的に学びます。汎用形式ZIP、効果を測る圧縮率、元に戻せる可逆/戻せない非可逆の区分、代表アルゴリズムのランレングス法・ハフマン法を扱います。圧縮率の計算や可逆/非可逆の使い分けは試験で頻出です。

用語6

ZIP

複数ファイルをまとめて可逆圧縮できる代表的なファイル形式。

ZIPは、文書や画像など複数のファイルを1つにまとめ、サイズを小さく圧縮できる広く普及した形式です。圧縮しても元のデータを完全に復元できる可逆圧縮なので、プログラムや文書など1ビットも欠けてはいけないデータの保存・送信に使われます。 画像・音声・動画のように内容ごとに専用形式を使う圧縮(JPEGやMP3など)と違い、ZIPは中身の種類を問わず使える汎用形式である点が特徴です。試験では、ZIPが可逆圧縮で、ファイルをまとめて小さくする形式だと押さえておけば十分です。

たとえかさばる衣類を圧縮袋に入れて空気を抜き、小さくまとめて運ぶようなもの。袋から出せば元どおりに戻り、中身が衣類でも書類でも種類を問いません。

記憶フックZIPといえば複数ファイルをまとめる汎用の可逆圧縮形式

圧縮率

圧縮によってデータ量がどれだけ小さくなったかを表す指標。

圧縮率は、圧縮の効果を測るものさしです。一般に「圧縮後のサイズ ÷ 圧縮前のサイズ」で表し、例えば100MBが20MBになれば圧縮率20%(=5分の1)となります。値が小さいほどよく縮んだことを意味します。 試験では、圧縮前後のサイズから圧縮率を計算させる問題や、可逆圧縮より非可逆圧縮のほうが高い圧縮効果(より小さくできる)を得やすい、といった比較が問われます。なお「圧縮率」という語は文脈によって縮んだ割合を指す場合もあり、設問の定義に沿って読み取ることが大切です。

たとえ旅行カバンに荷物を詰め直して、元の半分の大きさにできたら「半分に縮んだ」と言うようなもの。どれだけコンパクトにできたかの度合いを表します。

記憶フック圧縮率といえば圧縮後÷圧縮前で測る縮み具合

可逆圧縮

圧縮前のデータを完全に元どおり復元できる圧縮方式。

可逆圧縮は、圧縮したデータを伸長(解凍)すると、1ビットの誤差もなく元のデータへ戻せる方式です。情報を一切捨てないため、プログラム・文書・表計算データなど、欠けると困るデータに使われます。ZIPやPNG、GIFが代表例です。 その代わり、情報を捨てない分だけ圧縮できる限界があり、非可逆圧縮ほど小さくはできません。試験では、非可逆圧縮との対比で「完全に元に戻せるのが可逆」「戻せない代わりに高く縮むのが非可逆」と区別すること、そして用途(可逆=文書・プログラム)を判断できることが重要です。

たとえ折り紙をきれいに折りたたんで小さくし、開けば完全に元の一枚に戻るようなもの。折る前と開いた後で、紙はまったく同じ状態です。

記憶フック可逆圧縮といえば完全に元へ戻せる圧縮

データ圧縮

可逆圧縮

非可逆圧縮

完全に復元できる

例 ZIP PNG GIF

一部情報を捨てる

例 JPEG MP3 MPEG

非可逆圧縮

一部の情報を捨てて圧縮し、完全には元へ戻せない圧縮方式。

非可逆圧縮は、人間が気づきにくい情報を意図的に捨てることで、データを大きく縮める方式です。捨てた情報は復元できないため元データには完全には戻りませんが、その分だけ可逆圧縮より高い圧縮効果が得られます。JPEG(静止画)、MP3(音声)、MPEG(動画)が代表例です。 画像・音声・動画のように多少の劣化が許されるメディアに向く一方、プログラムや文書には使えません。試験では、可逆圧縮との違い(戻せない代わりに小さくできる)と、JPEG・MP3・MPEGが非可逆だと結び付けられることが問われます。

たとえ似顔絵を描くとき、細かいしわや産毛を省いて特徴だけを残すようなもの。ぐっと簡潔になりますが、省いた細部は二度と描き戻せません。

記憶フック非可逆圧縮といえば情報を捨てて高く縮めるJPEG・MP3

ランレングス法

同じ値の連続を「値と連続数」に置き換える可逆圧縮の手法。

ランレングス法は、同じデータが連続して並ぶ部分を「その値が何個続くか」という形にまとめて短くする可逆圧縮の手法です。例えば「AAAAA」を「A5」と表せば、5文字が2文字で済みます。 同じ色が広い面積で続くFAX画像やイラストなどでは大きく縮みますが、値が頻繁に変わるデータでは効果が薄く、かえって増えることもあります。試験では、連続の繰り返しをまとめる仕組みである点、可逆圧縮に分類される点、そして「AAAB」のような短い例を圧縮するとどうなるかが問われます。

たとえ出席を取るとき「太郎、太郎、太郎」と3回言う代わりに「太郎が3人」とまとめて言うようなもの。同じものの繰り返しを回数で短く言い換えます。

記憶フックランレングス法といえば連続を「値と個数」でまとめる

AAAAABBB

連続をまとめる

A5B3

ハフマン法

出現頻度の高いデータに短い符号を割り当てる可逆圧縮の手法。

ハフマン法は、よく出てくるデータほど短い符号(ビット列)を、めったに出ないデータほど長い符号を割り当てることで、全体のデータ量を減らす可逆圧縮の手法です。頻度の偏りを利用して効率よく縮めます。 すべての文字を同じ長さで表す方式に比べ、頻度差があるほど圧縮効果が高くなります。ランレングス法と並ぶ代表的な可逆圧縮アルゴリズムで、試験では「出現頻度の高いものに短い符号を割り当てる」という考え方そのものが問われます。

たとえよく使う言葉ほど短い略語にするようなもの。「了解」を「り」と短く、めったに使わない長い言い回しはそのまま残し、全体の手間を減らします。

記憶フックハフマン法といえば高頻度ほど短い符号を割り当てる

まとめ

要点

  • 圧縮はメディア種別に依存しない抽象概念で、ZIPは中身を問わずまとめて縮める汎用の可逆圧縮形式。
  • 圧縮率は圧縮効果を測る指標で、おおむね「圧縮後÷圧縮前」で表し、圧縮前後のサイズから計算できる。
  • 圧縮は完全復元できる可逆圧縮(ZIP・PNG・GIF、文書やプログラム向き)と、復元できないが高く縮む非可逆圧縮(JPEG・MP3・MPEG、画像・音声・動画向き)に大別される。
  • ランレングス法は同じ値の連続を「値と個数」にまとめる可逆手法で、繰り返しの多いデータに有効。
  • ハフマン法は出現頻度の高いデータに短い符号を割り当てる可逆手法で、頻度の偏りが大きいほど効果が高い。

記憶フック一覧

  • ZIP: ZIPといえば複数ファイルをまとめる汎用の可逆圧縮形式
  • 圧縮率: 圧縮率といえば圧縮後÷圧縮前で測る縮み具合
  • 可逆圧縮: 可逆圧縮といえば完全に元へ戻せる圧縮
  • 非可逆圧縮: 非可逆圧縮といえば情報を捨てて高く縮めるJPEG・MP3
  • ランレングス法: ランレングス法といえば連続を「値と個数」でまとめる
  • ハフマン法: ハフマン法といえば高頻度ほど短い符号を割り当てる

関連の過去問演習は今後のアップデートで追加予定です。