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

上級の解説は準備中のため、上級の内容を表示しています。

概要 — まず全体をつかむ

中級ではメディアの表現と圧縮を見ました。上級では、デジタル化の理論的な限界と、圧縮がなぜ効くかへ踏み込みます。数の表現(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段階の数値で表す

各メディアの深部

  • 画像 — 色は色空間(sRGB・Adobe RGBなど)で定義され、1チャンネルの段階数が色深度。輝度と色差に分け色差を間引くクロマサブサンプリング(4:2:0など)は非可逆圧縮の常套
  • — 音質は「標本化周波数 × 量子化ビット数 × チャンネル数」で決まる。1秒あたりのデータ量がビットレートで、可変(VBR)/固定(CBR)がある
  • 動画 — フレーム内圧縮に加え、前後フレームの差分だけを持つフレーム間予測でデータ量を大きく削る。コンテナ(MP4)とコーデック(H.264/H.265)は別レイヤ

圧縮の理論

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

⚠️ 深部の落とし穴

  • 再圧縮による劣化 — 非可逆で保存したものを再度非可逆で保存すると劣化が累積する(世代劣化)
  • エイリアシング — 標本化周波数が不足すると、元にない周波数の偽信号が現れる
  • 形式と用途の不一致 — 写真をPNGで肥大化、線画をJPEGでにじませる、など逆効果な選択
  • CRCと改ざん — CRCは誤り検出であって改ざん防止ではない(それは暗号のハッシュ/署名)

関連する知識

理解度チェック

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

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

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

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

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

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

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

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

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

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

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