H.264
複数の視点(マルチビュー)で撮影された映像を、それぞれのビューを独立して扱うよりも効率的に圧縮することができるマルチビュー符号化 (MVC: Multiview Video Coding) が、H.264のバージョン10で追加で規格化されている。MVCではマルチビュー映像を、1個のベースビュー (base view) と、1個以上の非ベースビュー (non-base view) として符号化する。ベースビューは既存のプロファイル(現在ではハイプロファイルのベースビューのみ定義)のストリームとして符号化され、非ベースビューはMVCで新たに拡張されたプロファイルとシンタックスを用いて、他のビューや自分自身のビューに含まれるフレームを参照(ビュー間予測: inter-view prediction)して符号化される。
ビュー間予測を用いることで、ビュー間の相関が利用可能になるほか、非ベースビューでは符号量の大きいIフレームを使用しない符号化が可能となるため、より効率的に圧縮できる。通常のH.264ストリームでは、多くのアプリケーションで必要となるランダムアクセス機能(放送チャンネル切替えやチャプタージャンプのようにストリームの途中から再生する機能)のために、適切な時間間隔でIフレームを挿入しておく必要があった。
従来技術では、動き補償の単位は16×16画素のマクロブロックが基本であり、H.263およびMPEG-4においては8×8画素ブロック単位の動き補償も利用できた。
H.264ではさらに単位ブロックサイズを追加し、16×16, 16×8, 8×16, 8×8の4種類から選択可能となっている。さらに、8×8画素ブロックについては、8×8, 8×4, 4×8, 4×4の4種類のサブブロック分割も指定できる。
このように多数のブロックサイズを利用することで、形状や動きに適したブロックから予測が可能である。これは、原理的には符号化効率が上がることとなる。ただし、サブブロックを指定することは余分なヘッダが付加されることになり、これがオーバーヘッドとなって符号化効率に影響を与える可能性もある。シーンに適した動き補償ブロックサイズを選択することが、エンコーダには求められる。