データの正体 — 文字・画像・音・動画の正体

概要 — まず全体をつかむ

中級ではメディアの表現と圧縮を見ました。上級では、デジタル化の理論的な限界と、圧縮がなぜ効くかへ踏み込みます。数の表現(2の補数・IEEE 754)や文字の深部(正規化・書記素)は 2進数とデータ が担当します。

詳細 — 1段階ずつ追う

デジタル化の理論

連続した現実を有限のビットに落とすとき、2つの軸で情報を捨てています。

  • 標本化(時間・空間の離散化) — どれだけ細かく測るか。標本化定理により、元信号の最高周波数の2倍を超える周波数で測れば波形を復元できる。足りないとエイリアシング(折り返し)が起きる
  • 量子化(値の離散化) — 各点を何段階で表すか。段階が粗いほど量子化ノイズが乗る。音の16bit/24bit、画像の色深度(bit/ch)がこれにあたる

「どこまで細かく・何段階で」を上げるほど原信号に近づきますが、そのぶんデータ量が増えます。

アニメーション『音のデジタル化(標本化と量子化)』を開く
音のデジタル化 — 標本化と量子化連続の波を「一定間隔で測り」「段階値に丸める」ことで数値の列にする000001010011100101110111高さ(段階値)時間 →連続の波(アナログ)標本点(測った高さ)丸めた値(量子化)← 縦の間隔=標本化周期。狭いほど(=標本化周波数が高いほど)波に忠実← 横の段の数=量子化の段階。多いほど(=ビット数が大きいほど)なめらか① 標本化(サンプリング)一定間隔で波の高さを測る。1秒あたりの測定回数=標本化周波数(例 CD=44.1kHz)。細かく測るほど元の波に近い。② 量子化測った高さを段階値に丸める。段階数=2^(量子化ビット数)(例 16bit=65536段階)。段階が多いほどなめらか。CDの音質 = 44.1kHz/16bit1秒に44100回測り、各点を65536段階の数値で表す
やさしく言うと(中級

現実の連続した情報(色の濃淡・音の波・動き)を、コンピュータが扱える段階的な数値に置き換えるのがデジタル化です。共通の考え方は「細かく区切り、各点を数値に丸める」こと。

  • 文字 — 文字コードで数値に対応づける(機構の詳細は 2進数とデータ
  • 画像/音/動画 — 空間や時間を細かく区切って数値にする

登場人物メモ:

  • ※1 標本化(サンプリング) — 一定間隔で測ること
  • ※2 量子化 — 測った値を決まった段階の数値に丸めること

各メディアの深部

  • 画像 — 色は色空間(sRGB・Adobe RGBなど)で定義され、1チャンネルの段階数が色深度。輝度と色差に分け色差を間引くクロマサブサンプリング(4:2:0など)は非可逆圧縮の常套
  • — 音質は「標本化周波数 × 量子化ビット数 × チャンネル数」で決まる。1秒あたりのデータ量がビットレートで、可変(VBR)/固定(CBR)がある
  • 動画 — フレーム内圧縮に加え、前後フレームの差分だけを持つフレーム間予測でデータ量を大きく削る。コンテナ(MP4)とコーデック(H.264/H.265)は別レイヤ
やさしく言うと(中級
  • 画像 — 縦横に並んだ画素(ピクセル)それぞれの色を、赤・緑・青(RGB)の強さの数値で記録する。画素数が多いほど解像度が高い。PNG(可逆)/JPEG(非可逆)
  • — 波形を一定間隔で測る標本化と、各点を段階値に丸める量子化の対で数値化する。例 CD=44.1kHz/16bit。WAV(無圧縮)/MP3(非可逆)
  • 動画 — 少しずつ違う画像(フレーム)を1秒に何十枚も並べ(フレームレート)、音を重ねたもの。データ量が大きく圧縮が必須。H.264などのコーデックで縮める

いずれも「決まった形式で並んだ0と1」であり、正しい形式で読んで初めて意味を持ちます。

アニメーション『画像のデジタル化(画素とRGB)』を開く
画像のデジタル化 — 画素とRGB絵をマス目(画素)に分け、1マスの色を「赤・緑・青」3つの数値で記録する① 絵をマス目に分ける(1マス=1画素)② 1画素を拡大この1マスの色は…③ 3つの数値(各 0〜255)で記録赤 R255緑 G201青 B96光の三原色。3つの強さの組み合わせであらゆる色を表す(例: 全部255=白)解像度 = マス目の細かさ画素が多いほど絵は細かくなるが、そのぶんデータ量も増える1画素 = 3バイト(R・G・B 各1バイト)が基本例: 4000×3000画素の写真 = 約36MB(圧縮前)→ だから圧縮する
アニメーション『音のデジタル化(標本化と量子化)』を開く
音のデジタル化 — 標本化と量子化連続の波を「一定間隔で測り」「段階値に丸める」ことで数値の列にする000001010011100101110111高さ(段階値)時間 →連続の波(アナログ)標本点(測った高さ)丸めた値(量子化)← 縦の間隔=標本化周期。狭いほど(=標本化周波数が高いほど)波に忠実← 横の段の数=量子化の段階。多いほど(=ビット数が大きいほど)なめらか① 標本化(サンプリング)一定間隔で波の高さを測る。1秒あたりの測定回数=標本化周波数(例 CD=44.1kHz)。細かく測るほど元の波に近い。② 量子化測った高さを段階値に丸める。段階数=2^(量子化ビット数)(例 16bit=65536段階)。段階が多いほどなめらか。CDの音質 = 44.1kHz/16bit1秒に44100回測り、各点を65536段階の数値で表す

圧縮の理論

  • 可逆圧縮の下限 — シャノンの情報理論が示すエントロピーが理論的な限界。エントロピー符号化(ハフマン・算術符号)で出現頻度の偏りを、辞書式(LZ系)でくり返しを削る。偏りのないデータはそれ以上縮まない
  • 非可逆圧縮 — 人の知覚モデルを使い、気づきにくい成分を捨てる。周波数領域へ変換(JPEGのDCT、音の心理音響モデル)してから、細かい成分を粗く量子化するのが定石
  • トレードオフ — 圧縮率・品質・処理コストは三つ巴。用途(保存/配信/編集)で最適点が変わる
アニメーション『非可逆圧縮の定石(変換→量子化→符号化)』を開く
非可逆圧縮の定石 — 情報を捨てるのは1か所だけJPEG・MP3・H.264 に共通する「変換 → 量子化 → 符号化」の流れ元データ画像・音・動画(大きい)① 変換周波数領域へ写すJPEG: DCT音: 心理音響モデル② 量子化知覚が鈍い成分を粗い段階に丸める=ここで情報を捨てる③ エントロピー符号化偏りを利用してビットを詰め直す(ハフマン・算術符号)小さいファイル非可逆(元に戻せない)可逆(詰め直すだけ)メディアごとの「捨て方」画像: 色差を間引く(クロマサブサンプリング) / 音: 聞こえない成分を削る動画: さらに前後フレームの差分だけを持つ(フレーム間予測)だから再圧縮で劣化する(世代劣化)保存し直すたびに②がまた情報を捨てるので、非可逆 → 非可逆の繰り返しは劣化が累積する
やさしく言うと(中級

圧縮はデータを小さくする技術で、2種類あります。

  • 可逆圧縮 — 完全に元へ戻せる。ZIP・PNG・FLAC。文書・プログラム向き
  • 非可逆圧縮 — 人が気づきにくい情報を捨てて大きく縮める。JPEG・MP3・H.264。写真・音・動画向き

データ量の単位は バイト → KB → MB → GB → TB と1000倍ごとに上がります(厳密には1024倍区切りのKiB/MiBもあり、詳細は 2進数とデータ)。

  • 写真1枚 … 数 MB / 音楽1曲 … 数 MB / 映画1本 … 数 GB

同じ中身でも、形式と圧縮の選び方でデータ量は大きく変わります

アニメーション『可逆圧縮と非可逆圧縮』を開く
可逆圧縮 と 非可逆圧縮小さなコマ=情報のかけら。元 → 圧縮 → 復元 で、残る情報量を見比べる可逆圧縮(ロスレス)元データ(20コマ)圧縮情報は1つも捨てない圧縮データ(小さい)情報は完全保持復元復元データ✓ 元と完全一致データ量:大データ量:中(縮む)データ量:大(元通り)例:ZIP・PNG・FLAC / 1バイトも失えない 文書・プログラム 向き非可逆圧縮(ロッシー)元データ(20コマ)圧縮気づきにくい情報を捨てる圧縮データ(とても小さい)8コマ分を破棄復元復元データ≈ 元に近いが同じでないデータ量:大データ量:小(大幅減)捨てた情報は戻らない例:JPEG・MP3・H.264 / 多少の劣化が許される 写真・音・動画 向き可逆=完全に戻せる(縮みは控えめ)/ 非可逆=戻せないが大幅に縮む。用途で使い分ける

⚠️ 深部の落とし穴

  • 再圧縮による劣化 — 非可逆で保存したものを再度非可逆で保存すると劣化が累積する(世代劣化)
  • エイリアシング — 標本化周波数が不足すると、元にない周波数の偽信号が現れる
  • 形式と用途の不一致 — 写真をPNGで肥大化、線画をJPEGでにじませる、など逆効果な選択
  • CRCと改ざん — CRCは誤り検出であって改ざん防止ではない(それは暗号のハッシュ/署名)
やさしく言うと(中級
  • 文字化け — 文字コード(符号化)の不一致。詳細は 2進数とデータ
  • 開けない/壊れる — 形式の不一致、ファイル破損
  • 無駄に重い — 用途に合わない形式・圧縮(写真をPNGで巨大化、など)

関連する知識

理解度チェック

そのまま解けます(成績は保存されません)。無料アカウントを作ると、学習の記録と進捗の山登りが始まります。

1. 絵文字1個が「見た目1文字なのにバイト数や文字数が食い違う」主因は?

2. JPEGが色の情報を明るさより粗く記録できるのは、人の視覚のどんな性質を利用しているから?

3. 0.1 + 0.2 が 0.30000000000000004 になることがあるのは?

4. 標本化定理(サンプリング定理)が示すのはどれ?

5. 標本化周波数が不足したときに、元にない周波数の偽信号が現れる現象はどれ?

6. 可逆圧縮で「これ以上は縮められない」理論的な下限を与えるのはどれ?

7. MP4(コンテナ)とH.264(コーデック)の関係として正しいのは?

8. 非可逆で保存した画像を、さらに非可逆で再保存すると起きることは?

9. 画像を輝度と色差に分け、視覚が鈍い色差のほうを間引いてデータを減らす手法を、カタカナで答えてください。

10. JPEGが画像を周波数領域へ変換するのに使う変換を、英字3文字で答えてください。