スマホの写真って、1枚で数MBもあるんですね。どうやって送っているんですか?
データを圧縮して小さくしているんだ。ただし圧縮には「元に完全に戻せるもの」と「戻せないもの」の2種類がある。今日は色の表し方と一緒に整理しよう。
圧縮とは
圧縮 は、データの意味をなるべく保ったまま、データ量(ファイルサイズ)を小さくする処理です。圧縮したデータを元に戻すことを 展開(解凍)といいます。
- 保存に必要な容量が減る
- ネットワークで速く送れる
圧縮後のデータ量が元の何分のいくつになったかを 圧縮率 といいます。例えば 10MB が 2MB になれば圧縮率は 1/5(20%)です。圧縮率の数値が小さいほど、よく縮んでいる ことに注意しましょう。
可逆圧縮と非可逆圧縮
| 可逆圧縮 | 非可逆圧縮 | |
|---|---|---|
| 展開すると | 元と完全に同じ に戻る | 元には完全には戻らない |
| 縮み方 | 控えめ | 大きく縮められる |
| 向いているデータ | 文書、プログラム、数値データ | 写真、音声、動画 |
| 代表例 | ZIP、PNG、GIF | JPEG、MP3、MPEG |
身近な例え
- 可逆圧縮 は 布団の圧縮袋。空気を抜いて小さくしても、袋を開ければ元どおりのふかふかの布団に戻る
- 非可逆圧縮 は 似顔絵。特徴をつかんで描けば本人とわかるが、ほくろ1つまで同じには戻らない
非可逆圧縮って、データが欠けちゃうのに使っていいんですか?
写真や音楽は、人の目や耳では気づきにくい部分を削っているから、見た目・聞いた感じはほとんど変わらないんだ。でもプログラムや売上データが1文字でも変わったら大問題だから、そういうものには必ず可逆圧縮を使うよ。
可逆圧縮の例:ランレングス法
同じ文字が続く部分を「文字+個数」に置き換える方法を ランレングス法 といいます。
AAAAABBBCC(10文字)→ A5B3C2(6文字)
展開すると A を5個、B を3個、C を2個並べるだけなので、元と完全に同じ に戻ります(可逆)。
色の表現:光の三原色と色料の三原色
| 光の三原色 | 色料の三原色 | |
|---|---|---|
| 色 | R(赤)・G(緑)・B(青) | C(シアン)・M(マゼンタ)・Y(イエロー) |
| 混ぜ方 | 加法混色(重ねるほど明るい) | 減法混色(重ねるほど暗い) |
| 全部重ねると | 白 | 黒(に近い色) |
| 使われる場所 | ディスプレイ、デジタルカメラ | プリンタ、印刷物 |
実際のプリンタでは、CMYを重ねてもきれいな黒になりにくいため、黒インク K を加えた CMYK の4色を使います。
色は 色相(赤・青などの色合い)、彩度(鮮やかさ)、明度(明るさ)の3つの性質で表すこともできます。これを 色の三属性 といいます。
画素と色数、画像のデータ量
デジタル画像は 画素(ピクセル)という点の集まりです。画素の数が多いほどきめ細かく、この細かさを 解像度 といいます。
1画素の色を何ビットで表すかで、使える 色の数 が決まります。nビットなら 2n 色 です。
| 1画素のビット数 | 色の数 |
|---|---|
| 1ビット | 2色(白黒) |
| 8ビット | 256色 |
| 16ビット | 65,536色 |
| 24ビット(RGB各8ビット) | 16,777,216色(約1,677万色)= フルカラー |
画像のデータ量を求める(横 1,000画素 × 縦 800画素、24ビットフルカラー)
- 画素数:1,000 × 800 = 800,000画素
- 1画素のバイト数:24ビット ÷ 8 = 3バイト
- データ量:800,000 × 3 = 2,400,000バイト(2.4Mバイト)
- 圧縮率 1/10 で圧縮すると:2,400,000 ÷ 10 = 240,000バイト(240kバイト)
ひっかけは ビットとバイトの取り違え。「24ビット」のまま掛けると答えが8倍になります。計算の途中で必ず ÷ 8 でバイトに直す 習慣をつけましょう。
試験に出るポイント
- 可逆圧縮:完全に元に戻る(ZIP・PNG・GIF、ランレングス法)。文書・プログラム向け
- 非可逆圧縮:完全には戻らないがよく縮む(JPEG・MP3・MPEG)。写真・音声・動画向け
- RGB(光)=加法混色、全部で白/CMY(インク)=減法混色、全部で黒。印刷はCMYK
- nビットで 2n 色。24ビットで約1,677万色(フルカラー)
- 画像のデータ量 = 横の画素数 × 縦の画素数 × 1画素のバイト数