データの圧縮と復元
指導者向けの公開補足
学習本文に加えて、指導の視点・背景・授業での確かめ方を示します。どなたでも読めます。
指導の焦点
可逆は「小さくならない」、非可逆は「必ず見てわかるほど劣化する」という二分を避ける。復元の一致と、用途に十分かを分ける。
一歩踏み込んだ背景
すべてのデータを必ず短くできる可逆圧縮はない。既に圧縮されたデータや不規則なデータでは、かえって大きくなる場合がある。
授業での確かめ方
連続する同じ記号を回数で表す方式を自作し、規則的な列と不規則な列で比較する。回数の区切りや元の記号との区別まで規則を定めさせる。
制度・規格等は本文末尾の参考資料も確認してください。
この単元でできるようになること
Section titled “この単元でできるようになること”- 可逆圧縮と非可逆圧縮の違いを説明できる。
- 簡単な連長の表現から、圧縮が有利になる条件を説明できる。
- 圧縮率の分子と分母を確認して計算できる。
同じ内容を、別の表し方にする
Section titled “同じ内容を、別の表し方にする”圧縮は、データ量を小さくする処理だ。可逆圧縮では、展開した結果が元のデータと一致する。文章やプログラムのように、一文字や一ビットの違いが意味を変えるものには、正確に戻せることが重要になる。
非可逆圧縮では、元に完全には戻せない情報を捨てる代わりに、小さくしやすくする。写真や音声、動画で、人が気付きにくい差などを利用する。ただし、人に目立たない差が、観察や計測でも不要とは限らない。用途によっては小さな変化が問題になる。
架空の一列の模様を、連続の長さで表す
Section titled “架空の一列の模様を、連続の長さで表す”白と黒だけの横十六画素を考える。白を0、黒を1とし、元は一画素一ビットで保存する。ここでは別の方式として、同じ色が続くひとまとまりを「色の一ビット+長さの四ビット」で記録し、長さの符号は実際の長さから一を引いた数と約束する。これで一から十六画素の長さを表せる。
| 模様 | まとまりの数 | この方式のデータ部分 |
|---|---|---|
| 白が八画素、黒が八画素 | 二つ | 2 × 5 = 10 bit |
| 白と黒が一画素ずつ交互 | 十六個 | 16 × 5 = 80 bit |
前者は元の十六ビットより小さいが、後者は大きくなる。同じ方式でもデータの規則性によって効果が違う。このように連続の長さを記録する考え方を連長圧縮という。実際の形式では、画像の幅や方式を示す情報も必要だ。表の計算は、その管理情報を含まない。
圧縮率は、式を見てから読む
Section titled “圧縮率は、式を見てから読む”この単元では、圧縮率を「圧縮後の量 ÷ 圧縮前の量 × 100」と定義する。五百万バイトを二百万バイトにしたら、圧縮率は四十パーセントになる。削減できた割合は六十パーセントで、両者は違う。
別の資料では削減割合や、元の量を後の量で割る比を指す場合もある。例えば「圧縮率が高い」とだけ書かれていても、小さいファイルになったのかを断定できない。分子、分母、百分率か倍率かを確認して比較する。
拡張子だけで、戻せるかを判断しない
Section titled “拡張子だけで、戻せるかを判断しない”写真でよく使うJPEGは通常非可逆、PNGは可逆圧縮を使う。細かな輪郭や文字のある図では、非可逆圧縮によるにじみが気になる場合がある。一方、写真を全て可逆で配布すると、容量が大きくなりやすい。
形式には複数の設定や方式があるため、名称だけで画質や容量が一意に決まるわけではない。音声や動画でも、用途、ビットレート、再生できる環境などを調べる。既に圧縮されたファイルをさらに圧縮しても、ほとんど小さくならないことがある。
原本を残して、配布用を作る
Section titled “原本を残して、配布用を作る”非可逆圧縮を何度も繰り返すと、失われた情報にさらに変更が加わり、劣化が目立つことがある。編集用の原本を残し、そこから必要な条件の配布用ファイルを作る。容量だけでなく、文字や音声が読み取れるかを実際に確認する。
圧縮は暗号化とは異なる。ファイルが読みにくい見た目になっていても、秘密を守れるとは限らない。解凍できないから安全、パスワードがあるからどんな方式でも安全、といった思い込みを避ける。
| 用語 | 意味 |
|---|---|
| 可逆圧縮 | 元のデータに完全に戻せる圧縮 |
| 非可逆圧縮 | 完全には元に戻せない圧縮 |
| 展開 | 圧縮された形式から利用できるデータに戻す処理 |
| 連長圧縮 | 同じ値の連続と長さを利用する表し方 |
- 表の連長方式で白十六画素を保存すると、データ部分は何ビットか求めよう。
- 12 MBを3 MBにした。この単元の定義による圧縮率と、削減した割合を求めよう。
- 細い文字を含む案内図を配布する。容量と読みやすさをどう確認するか提案しよう。
問1の解答例を見る
5 bit。白十六画素は一つのまとまりなので、色の1 bitと長さの4 bitで表せる。方式や画像の幅などの管理情報は含めない。
問2の解答例を見る
圧縮率は3÷12×100=25%。削減した割合は(12−3)÷12×100=75%。圧縮後の割合と削減割合を区別する。
問3の解答例を見る
原本を残し、配布用の形式・圧縮設定を変えて比較する。ファイルサイズだけでなく、実際の閲覧サイズや印刷状態で細い文字のにじみ・欠け・読みやすさを確認する。
圧縮には完全に戻せる方式と戻せない方式がある。効果はデータの性質と設定による。率の定義を確かめ、原本を保ちながら用途に合う配布用データを作ろう。