コンテンツにスキップ

データの圧縮と復元

指導者向けの公開補足

学習本文に加えて、指導の視点・背景・授業での確かめ方を示します。どなたでも読めます。

指導の焦点

可逆は「小さくならない」、非可逆は「必ず見てわかるほど劣化する」という二分を避ける。復元の一致と、用途に十分かを分ける。

一歩踏み込んだ背景

すべてのデータを必ず短くできる可逆圧縮はない。既に圧縮されたデータや不規則なデータでは、かえって大きくなる場合がある。

授業での確かめ方

連続する同じ記号を回数で表す方式を自作し、規則的な列と不規則な列で比較する。回数の区切りや元の記号との区別まで規則を定めさせる。

制度・規格等は本文末尾の参考資料も確認してください。

この単元でできるようになること

Section titled “この単元でできるようになること”
  • 可逆圧縮と非可逆圧縮の違いを説明できる。
  • 簡単な連長の表現から、圧縮が有利になる条件を説明できる。
  • 圧縮率の分子と分母を確認して計算できる。

同じ内容を、別の表し方にする

Section titled “同じ内容を、別の表し方にする”

圧縮は、データ量を小さくする処理だ。可逆圧縮では、展開した結果が元のデータと一致する。文章やプログラムのように、一文字や一ビットの違いが意味を変えるものには、正確に戻せることが重要になる。

非可逆圧縮では、元に完全には戻せない情報を捨てる代わりに、小さくしやすくする。写真や音声、動画で、人が気付きにくい差などを利用する。ただし、人に目立たない差が、観察や計測でも不要とは限らない。用途によっては小さな変化が問題になる。

架空の一列の模様を、連続の長さで表す

Section titled “架空の一列の模様を、連続の長さで表す”

白と黒だけの横十六画素を考える。白を0、黒を1とし、元は一画素一ビットで保存する。ここでは別の方式として、同じ色が続くひとまとまりを「色の一ビット+長さの四ビット」で記録し、長さの符号は実際の長さから一を引いた数と約束する。これで一から十六画素の長さを表せる。

模様 まとまりの数 この方式のデータ部分
白が八画素、黒が八画素 二つ 2 × 5 = 10 bit
白と黒が一画素ずつ交互 十六個 16 × 5 = 80 bit

前者は元の十六ビットより小さいが、後者は大きくなる。同じ方式でもデータの規則性によって効果が違う。このように連続の長さを記録する考え方を連長圧縮という。実際の形式では、画像の幅や方式を示す情報も必要だ。表の計算は、その管理情報を含まない。

この単元では、圧縮率を「圧縮後の量 ÷ 圧縮前の量 × 100」と定義する。五百万バイトを二百万バイトにしたら、圧縮率は四十パーセントになる。削減できた割合は六十パーセントで、両者は違う。

別の資料では削減割合や、元の量を後の量で割る比を指す場合もある。例えば「圧縮率が高い」とだけ書かれていても、小さいファイルになったのかを断定できない。分子、分母、百分率か倍率かを確認して比較する。

拡張子だけで、戻せるかを判断しない

Section titled “拡張子だけで、戻せるかを判断しない”

写真でよく使うJPEGは通常非可逆、PNGは可逆圧縮を使う。細かな輪郭や文字のある図では、非可逆圧縮によるにじみが気になる場合がある。一方、写真を全て可逆で配布すると、容量が大きくなりやすい。

形式には複数の設定や方式があるため、名称だけで画質や容量が一意に決まるわけではない。音声や動画でも、用途、ビットレート、再生できる環境などを調べる。既に圧縮されたファイルをさらに圧縮しても、ほとんど小さくならないことがある。

非可逆圧縮を何度も繰り返すと、失われた情報にさらに変更が加わり、劣化が目立つことがある。編集用の原本を残し、そこから必要な条件の配布用ファイルを作る。容量だけでなく、文字や音声が読み取れるかを実際に確認する。

圧縮は暗号化とは異なる。ファイルが読みにくい見た目になっていても、秘密を守れるとは限らない。解凍できないから安全、パスワードがあるからどんな方式でも安全、といった思い込みを避ける。

用語 意味
可逆圧縮 元のデータに完全に戻せる圧縮
非可逆圧縮 完全には元に戻せない圧縮
展開 圧縮された形式から利用できるデータに戻す処理
連長圧縮 同じ値の連続と長さを利用する表し方
  1. 表の連長方式で白十六画素を保存すると、データ部分は何ビットか求めよう。
  2. 12 MBを3 MBにした。この単元の定義による圧縮率と、削減した割合を求めよう。
  3. 細い文字を含む案内図を配布する。容量と読みやすさをどう確認するか提案しよう。
問1の解答例を見る

5 bit。白十六画素は一つのまとまりなので、色の1 bitと長さの4 bitで表せる。方式や画像の幅などの管理情報は含めない。

問2の解答例を見る

圧縮率は3÷12×100=25%。削減した割合は(12−3)÷12×100=75%。圧縮後の割合と削減割合を区別する。

問3の解答例を見る

原本を残し、配布用の形式・圧縮設定を変えて比較する。ファイルサイズだけでなく、実際の閲覧サイズや印刷状態で細い文字のにじみ・欠け・読みやすさを確認する。

圧縮には完全に戻せる方式と戻せない方式がある。効果はデータの性質と設定による。率の定義を確かめ、原本を保ちながら用途に合う配布用データを作ろう。