H.264
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2024/05/23 12:47 UTC 版)
NAL構造
H.264のビット列の規則(シンタックス)は、圧縮符号化された画像データをビット列に変換するための規則を定めたVCL (Video Coding Layer) と、VCLやヘッダ情報などのデータを分割および識別するためのNAL (Network Abstraction Layer) の2層構造を持つ。
従来技術では、シンタックスに従って1つの動画を圧縮符号化した場合、1つのビット列(エレメンタリストリーム)となる。これに対し、H.264では複数の種類のNALユニットに分割して符号化される。なお、従来のエレメンタリストリームと同様に1つのビット列として圧縮データを扱うことができるように、バイトストリームフォーマットがAnnex Bで規定されている。
NAL構造によって、MP4などのファイルフォーマットに格納したり、RTPパケットに分割して伝送したりするなど、圧縮データをさまざまな用途に柔軟に適用できるようになっている。
マルチビュー符号化
複数の視点(マルチビュー)で撮影された映像を、それぞれのビューを独立して扱うよりも効率的に圧縮することができるマルチビュー符号化 (MVC: Multiview Video Coding) が、H.264のバージョン10で追加で規格化されている。MVCではマルチビュー映像を、1個のベースビュー (base view) と、1個以上の非ベースビュー (non-base view) として符号化する。ベースビューは既存のプロファイル(現在ではハイプロファイルのベースビューのみ定義)のストリームとして符号化され、非ベースビューはMVCで新たに拡張されたプロファイルとシンタックスを用いて、他のビューや自分自身のビューに含まれるフレームを参照(ビュー間予測: inter-view prediction)して符号化される。
ビュー間予測を用いることで、ビュー間の相関が利用可能になるほか、非ベースビューでは符号量の大きいIフレームを使用しない符号化が可能となるため、より効率的に圧縮できる。通常のH.264ストリームでは、多くのアプリケーションで必要となるランダムアクセス機能(放送チャンネル切替えやチャプタージャンプのようにストリームの途中から再生する機能)のために、適切な時間間隔でIフレームを挿入しておく必要があった。放送の場合は通常0.5秒程度である。
MVCでもベースビューではそれが当てはまるが、非ベースビューのフレームについては、ベースビューのみを参照するP/Bフレームだけで構成すれば、ベースビューがランダムアクセス可能である限り、その非ベースビューもランダムアクセス可能である。なお、そのように符号化された非ベースビューのみを参照する形で、別の非ベースビューを符号化してもやはりランダムアクセスは可能である。
MVCに対応しない従来のデコーダでもベースビューのプロファイルとレベルを満足すれば、ベースビューのみの再生は可能であり、後方互換性が維持される。非ベースビューについても、使用されている圧縮のツール(アルゴリズム)についてはビュー間予測が可能という点を除き従来のI/P/Bピクチャと同じものを使用するため、デコーダをMVC対応とするのに必要な機能拡張は少ない。ただし、複数のビューをデコードするために、必要な処理速度は単一ビューに比べ増大する。
MVCを使用した場合の圧縮の効率は、2視点のステレオ映像の場合、1視点に比べ50%程度のデータ量の増加で圧縮可能とされている。なお、50%程度という数字はBlu-ray Disc Associationが2009年12月17日に発表したものである。
プロファイルとレベル
MPEG-2などと同様、目的用途別に定義された機能の集合を表すプロファイルと、処理の負荷や使用メモリ量を表すレベルが定義がされる。これらは画面解像度やフレームレートに影響する。
H.264に準拠する機器またはビットストリームそのものは、このプロファイルとレベルによって、機器の性能やビットストリームをデコードするのに必要な性能を表示することが多い。
プロファイル
H.264規格では当初ベースラインプロファイル、メインプロファイル、拡張プロファイルのみだった。その後、規格の拡張に伴い種類が増加している。以下では主なものを挙げる。
- 制約付きベースラインプロファイル(Constrained Baseline Profile)
- ローコストアプリケーションのためのプロファイル。ビデオ会議やモバイルアプリ等で使用される。
- ベースラインプロファイル(Baseline Profile)
- I, Pフレームのみ、エントロピー符号化はCAVLC+UVLCのみ。
- メインプロファイル(Main Profile)
- ベースラインプロファイルにBフレーム、CABAC、重み付け予測などを追加。
- 拡張プロファイル(Extended Profile)
- ベースラインプロファイルにSI, SPフレームなどを追加。
- ハイプロファイル(High Profile)
- メインプロファイルに8×8画素整数変換、量子化マトリックス等を加えたもの。また、YCbCr 4:0:0色空間(グレースケール)にも対応している。
- ハイ 10 プロファイル(High 10 Profile)
- ハイプロファイルに10ビット画像フォーマットへの対応を追加したもの。
- ハイ 4:2:2 プロファイル(High 4:2:2 Profile)
- ハイ10プロファイルにYCbCr 4:2:2色空間への対応を追加したもの。
- ハイ 4:4:4 プロファイル(High 4:4:4 Predictive Profile)
- ハイ4:2:2プロファイルにYCbCr 4:4:4色空間や12ビット画像フォーマット、YCbCr以外への色空間への変換、可逆圧縮など多数の機能を追加したもの。
- マルチビューハイプロファイル(Multiview High Profile)
- MVC拡張規格の策定に伴い定義されたプロファイル。ベースビューはハイプロファイルと互換のある符号化を行い、非ベースビューはマルチビュー拡張で定義されたシンタックスで符号化する。最大1024個のビューを符号化できるが、インターレース符号化をサポートしない。
- ステレオハイプロファイル(Stereo High Profile)
- ステレオ(2視点)映像を想定しており、MVCにおいて、ビューの数を2個以下に制限し、インターレース符号化をサポートするMVC拡張用プロファイル。Blu-ray Discの3D拡張版に採用されている。
Feature | CBP | BP | XP | MP | HiP | Hi10P | Hi422P | Hi444PP |
---|---|---|---|---|---|---|---|---|
YCbCr色空間 | 4:2:0 | 4:2:0 | 4:2:0 | 4:2:0 | 4:2:0 | 4:2:0 | 4:2:0/4:2:2 | 4:2:0/4:2:2/4:4:4 |
色深度 (bits) | 8 | 8 | 8 | 8 | 8 | 8 〜 10 | 8 〜 10 | 8 〜 14 |
Flexible macroblock ordering (FMO) | × | ○ | ○ | × | × | × | × | × |
任意順序スライス (ASO) | × | ○ | ○ | × | × | × | × | × |
冗長スライス (RS) | × | ○ | ○ | × | × | × | × | × |
データ分割 | × | × | ○ | × | × | × | × | × |
SI and SP slices | × | × | ○ | × | × | × | × | × |
B スライス | × | × | ○ | ○ | ○ | ○ | ○ | ○ |
インターレースコード (PicAFF, MBAFF) | × | × | ○ | ○ | ○ | ○ | ○ | ○ |
CABAC 符号化 | × | × | × | ○ | ○ | ○ | ○ | ○ |
8×8 vs. 4×4 適応変換 | × | × | × | × | ○ | ○ | ○ | ○ |
Quantization scaling matrices | × | × | × | × | ○ | ○ | ○ | ○ |
Separate Cb and Cr QP control | × | × | × | × | ○ | ○ | ○ | ○ |
グレースケール (4:0:0) | × | × | × | × | ○ | ○ | ○ | ○ |
Separate color plane coding | × | × | × | × | × | × | × | ○ |
予測的可逆エンコード | × | × | × | × | × | × | × | ○ |
レベル
レベル1からレベル5.1まで、16段階が定義されている。それぞれのレベルにおいて、処理の負荷や使用メモリ量等を表すパラメータの上限が定められ、画面解像度やフレームレートの上限を決定している。各パラメータの詳細は英語版を参照のこと。
Level | 最大マクロブロック | 最大動画ビットレート (VCL) | 解像度例@ フレームレート (ストアされる最大フレーム数) | ||||
---|---|---|---|---|---|---|---|
秒あたり | フレームあたり | BP, XP, MP (kbit/s) |
HiP (kbit/s) |
Hi10P (kbit/s) |
Hi422P, Hi444PP (kbit/s) | ||
1 | 1,485 | 99 | 64 | 80 | 192 | 256 | 128×96@30.9 (8) 176×144@15.0 (4) |
1b | 1,485 | 99 | 128 | 160 | 384 | 512 | 128×96@30.9 (8) 176×144@15.0 (4) |
1.1 | 3,000 | 396 | 192 | 240 | 576 | 768 | 176×144@30.3 (9) 320×240@10.0 (3) 352×288@7.5 (2) |
1.2 | 6,000 | 396 | 384 | 480 | 1,152 | 1,536 | 320×240@20.0 (7) 352×288@15.2 (6) |
1.3 | 11,880 | 396 | 768 | 960 | 2,304 | 3,072 | 320×240@36.0 (7) 352×288@30.0 (6) |
2 | 11,880 | 396 | 2,000 | 2,500 | 6,000 | 8,000 | 320×240@36.0 (7) 352×288@30.0 (6) |
2.1 | 19,800 | 792 | 4,000 | 5,000 | 12,000 | 16,000 | 352×480@30.0 (7) 352×576@25.0 (6) |
2.2 | 20,250 | 1,620 | 4,000 | 5,000 | 12,000 | 16,000 | 352×480@30.7 (10) 352×576@25.6 (7) 720×480@15.0 (6) 720×576@12.5 (5) |
3 | 40,500 | 1,620 | 10,000 | 12,500 | 30,000 | 40,000 | 352×480@61.4 (12) 352×576@51.1 (10) 720×480@30.0 (6) 720×576@25.0 (5) |
3.1 | 108,000 | 3,600 | 14,000 | 17,500 | 42,000 | 56,000 | 720×480@80.0 (13) 720×576@66.7 (11) 1280×720@30.0 (5) |
3.2 | 216,000 | 5,120 | 20,000 | 25,000 | 60,000 | 80,000 | 1,280×720@60.0 (5) 1,280×1,024@42.2 (4) |
4 | 245,760 | 8,192 | 20,000 | 25,000 | 60,000 | 80,000 | 1,280×720@68.3 (9) 1,920×1,080@30.1 (4) 2,048×1,024@30.0 (4) |
4.1 | 245,760 | 8,192 | 50,000 | 62,500 | 150,000 | 200,000 | 1,280×720@68.3 (9) 1,920×1,080@30.1 (4) 2,048×1,024@30.0 (4) |
4.2 | 522,240 | 8,704 | 50,000 | 62,500 | 150,000 | 200,000 | 1,920×1,080@64.0 (4) 2,048×1,080@60.0 (4) |
5 | 589,824 | 22,080 | 135,000 | 168,750 | 405,000 | 540,000 | 1,920×1,080@72.3 (13) 2,048×1,024@72.0 (13) 2,048×1,080@67.8 (12) 2,560×1,920@30.7 (5) 3,680×1,536@26.7 (5) |
5.1 | 983,040 | 36,864 | 240,000 | 300,000 | 720,000 | 960,000 | 1,920×1,080@120.5 (16) 4,096×2,048@30.0 (5) 4,096×2,304@26.7 (5) |
- ^ MPEG-4, Advanced Video Coding (Part 10) (H.264) (Full draft). Sustainability of Digital Formats. Washington, D.C.: Library of Congress. 5 December 2011. 2021年12月1日閲覧。
- ^ 関昭一・井下雅美「「JNN次世代HD-SNG中継車」標準仕様車について」、『放送技術』第67巻(2014年5月号)、兼六館出版、2014年5月、 ISSN 0287-8658
- ^ 平樹・田嶋亨「ロボットカメラモニタリングシステムの更新」、『放送技術』第62巻(2009年3月号)、兼六館出版、2009年3月、 ISSN 0287-8658
- ^ “H.264のライセンス料、無料ネット動画は恒久的に不要に”. ITmedia NEWS. 2023年5月28日閲覧。
- ^ Foresman, Chris (2010年8月26日). “MPEG LA counters Google WebM with permanent royalty moratorium” (英語). Ars Technica. 2023年5月28日閲覧。
- ^ Wild Fox Project
- ^ Mozilla が H.264 をサポートへ、webM 一本化を断念 Engadget 2012年03月20日
- ^ HTML5 Extension for Windows Media Player Firefox Plug-in Interoperability Bridges and Labs Center
固有名詞の分類
- H.264のページへのリンク