H.264は魔法だ
H.264とは?
- H.264は動画圧縮コーデックの標準。
- インターネット動画、Blu-ray、携帯電話、防犯カメラ、ドローンなど、ほぼあらゆる場所で使われている。
- 30年以上にわたる研究の成果であり、フルモーション動画の伝送に必要な帯域幅を減らすことが目的。
なぜ圧縮が必要なのか?
- 非圧縮の動画ファイルには膨大な量のデータが含まれる。
- たとえば、1080p @ 60Hz の動画は1秒あたり約370MBのデータを生成する。
- 50GBのBlu-rayディスクには約2分の動画しか保存できない。
- そのため圧縮が必要になる。
なぜH.264圧縮なのか?
- H.264は非常に効率的。
- たとえば、AppleのホームページのPNGスクリーンショットは1015KBだが、同じ画面の5秒間のH.264動画は175KB。
- H.264動画はPNGより1500倍効率的。
H.264の主要技術
軽量化(Lossy Compression)
- H.264は重要でないビットを捨て、重要なビットだけを残す非可逆圧縮を使う。
- PNGは可逆圧縮で、すべてのビットを保持する。
情報エントロピー
- 情報エントロピーは、データを表現するのに必要な最小ビット数を意味する。
- データを圧縮して冗長性を減らす方法。
周波数領域(Frequency Domain)
- データを周波数領域に変換し、高周波成分(細部情報)を取り除く。
- こうすることで画像の細部は減るが、容量を節約できる。
クロマサブサンプリング(Chroma Subsampling)
- 人間の目は色の変化よりも明るさの変化をよりよく検知する。
- YCbCrカラーモデルを使って色情報を減らし、輝度情報は維持する。
- これによって帯域幅を半分に減らせる。
動き補償(Motion Compensation)
- 動画の大部分は静的で、一部だけが動く。
- H.264は静止画像を保存し、動く部分だけを別途保存する。
- これによって容量を節約する。
エントロピー符号化器(Entropy Coder)
- 非可逆圧縮の後に残った冗長情報を取り除く。
- 一般的な可逆エンコーダで全データを復元できる。
GN⁺の見解
- H.264の効率性: H.264は動画圧縮において非常に効率的で、帯域幅と保存容量を大幅に節約できる。
- 技術の複雑さ: H.264のさまざまな技術要素は理解しにくいこともあるが、基本原理を理解すれば大いに役立つ。
- 他のコーデックとの比較: H.265のような新しいコーデックは、H.264より高い圧縮効率を提供する。ただし、H.264はいまなお広く使われている。
- 実際の適用: 動画ストリーミング、保存、伝送におけるH.264の利用は非常に一般的で、これによって大きなコスト削減効果が見込める。
- 将来の見通し: 動画圧縮技術は今も進化を続けており、より効率的なコーデックが登場する可能性が高い。H.264の原理を理解すれば、新しい技術を学ぶ助けになる。
1件のコメント
Hacker Newsの意見
mplayerでファイルを再生しようとしたが、初期バージョンではサポートされていなかった。その後、性能は大幅に改善された。