H.264/MPEG-4 AVC

AVC (ang. Advanced Video Coding) – standard kodowania sekwencji wizyjnych przyjęty w roku 2003 jako 10. część standardu ISO MPEG-4 oraz jako rekomendacja ITU-T H.264. Projekt x264 zajmuje się stworzeniem otwartej implementacji tego standardu w postaci kodera. Istnieje również OpenH264 autorstwa Cisco na licencji Simplified BSD License[1].

Efektywność kompresji formatu AVC dzięki wprowadzeniu nowych rozwiązań jest o wiele większa niż poprzednich standardów: MPEG-1, MPEG-2 czy MPEG-4 część 2 (którego popularne implementacje to DivX i Xvid).

Innowacje

Do najważniejszych innowacji AVC można zaliczyć:

  • predykcja międzyobrazowa z adaptacyjnym podziałem obrazu na bloki o rozmiarze 4x4, 4x8, 8x4, 8x8, 8x16, 16x8 lub 16x16 punktów,
  • transformacja całkowitoliczbowa,
  • predykcyjne kodowanie wewnątrzobrazowe,
  • estymacja wektorów ruchu z dokładnością do 1/4 odstępu próbkowania,
  • długookresowa pamięć obrazów,
  • kodowanie entropijne uniwersalnymi kodami o zmiennej długości (UVLC) lub adaptacyjne kodowanie arytmetyczne (CABAC).

Profile kompresji

  • Profil PodstawowyBaseline Profile (BP) Głównie dla aplikacji o najniższym wykorzystaniu kodera, ten profil wykorzystywany jest przede wszystkim do wideokonferencji oraz urządzeń i aplikacji przenośnych.
  • Profil GłównyMain Profile (MP) Uniwersalny dla klientów przekazów strumieniowych np. satelitarnych DVB-S2 oraz naziemnych DVB-T i DVB-T2 o rozdzielczości nieprzekraczającej 720x576 pikseli.
  • Profil WysokiHigh Profile (HiP) Głównie wykorzystywany dla klientów przekazów strumieniowych o wysokiej rozdzielczości np. satelitarnych DVB-S2 oraz naziemnych DVB-T i DVB-T2. Skuteczniejszy od Main Profile, ponieważ jest w stanie w pełni skorzystać z rozdzielczości 1280x720i, 1280x720p oraz 1920x1080i. Stosowany jest również do kompresji filmów na dyskach HD DVD i Blu-ray.

Charakterystyka

Ograniczony

Podstawowy

PodstawowyRozszerzonyGłównyWysokiWysoki 10Wysoki 4:2:2Wysoki 4:4:4

Predykcyjny

I and P SlicesTakTakTakTakTakTakTakTak
B SlicesNieNieTakTakTakTakTakTak
SI and SP SlicesNieNieTakNieNieNieNieNie
Multiple Reference FramesTakTakTakTakTakTakTakTak
In-Loop Deblocking FilterTakTakTakTakTakTakTakTak
CAVLC Entropy CodingTakTakTakTakTakTakTakTak
CABAC Entropy CodingNieNieNieTakTakTakTakTak
Flexible Macroblock Ordering (FMO)NieTakTakNieNieNieNieNie
Arbitrary Slice Ordering (ASO)NieTakTakNieNieNieNieNie
Redundant Slices (RS)NieTakTakNieNieNieNieNie
Data PartitioningNieNieTakNieNieNieNieNie
Interlaced Coding (PicAFF, MBAFF)NieNieTakTakTakTakTakTak
4:2:0 Chroma FormatTakTakTakTakTakTakTakTak
Monochrome Video Format (4:0:0)NieNieNieNieTakTakTakTak
4:2:2 Chroma FormatNieNieNieNieNieNieTakTak
4:4:4 Chroma FormatNieNieNieNieNieNieNieTak
8 Bit Sample DepthTakTakTakTakTakTakTakTak
9 and 10 Bit Sample DepthNieNieNieNieNieTakTakTak
11 to 14 Bit Sample DepthNieNieNieNieNieNieNieTak
8x8 vs. 4x4 Transform AdaptivityNieNieNieNieTakTakTakTak
Quantization Scaling MatricesNieNieNieNieTakTakTakTak
Separate Cb and Cr QP controlNieNieNieNieTakTakTakTak
Separate Color Plane CodingNieNieNieNieNieNieNieTak
Predictive Lossless CodingNieNieNieNieNieNieNieTak
Ograniczony

Podstawowy

PodstawowyRozszerzonyGłównyWysokiWysoki 10Wysoki 4:2:2Wysoki 4:4:4

Predykcyjny

Poziomy

Numer poziomuMax liczba makrobloków na sekundęMax rozmiar klatki (makrobloków)Max bit rate wideo (VCL) dla profili Podstawowego, Rozszerzonego i GłównegoMax bit rate wideo (VCL) dla profilu WysokiegoMax bit rate wideo (VCL) dla profilu Wysokiego 10Max bit rate wideo (VCL) dla profili Wysoki 4:2:2 i Wysoki 4:4:4 PredykcyjnyPrzykłady najwyższych możliwych rozdzielczości @
liczby klatek
(max pomieszczenie klatek)
w Poziomie
114859964 kbit/s80 kbit/s192 kbit/s256 kbit/s128x96@30.9 (8)
176x144@15.0 (4)
1b148599128 kbit/s160 kbit/s384 kbit/s512 kbit/s128x96@30.9 (8)
176x144@15.0 (4)
1.13000396192 kbit/s240 kbit/s576 kbit/s768 kbit/s176x144@30.3 (9)
320x240@10.0 (3)
352x288@7.5 (2)
1.26000396384 kbit/s480 kbit/s1152 kbit/s1536 kbit/s320x240@20.0 (7)
352x288@15.2 (6)
1.311880396768 kbit/s960 kbit/s2304 kbit/s3072 kbit/s320x240@36.0 (7)
352x288@30.0 (6)
2118803962 Mbit/s2.5 Mbit/s6 Mbit/s8 Mbit/s320x240@36.0 (7)
352x288@30.0 (6)
2.1198007924 Mbit/s5 Mbit/s12 Mbit/s16 Mbit/s352x480@30.0 (7)
352x576@25.0 (6)
2.22025016204 Mbit/s5 Mbit/s12 Mbit/s16 Mbit/s352x480@30.7(10)
352x576@25.6 (7)
720x480@15.0 (6)
720x576@12.5 (5)
340500162010 Mbit/s12.5 Mbit/s30 Mbit/s40 Mbit/s352x480@61.4 (12)
352x576@51.1 (10)
720x480@30.0 (6)
720x576@25.0 (5)
3.1108000360014 Mbit/s14 Mbit/s42 Mbit/s56 Mbit/s720x480@80.0 (13)
720x576@66.7 (11)
1280x720@30.0 (5)
3.2216000512020 Mbit/s25 Mbit/s60 Mbit/s80 Mbit/s1280x720@60.0 (5)
1280x1024@42.2 (4)
4245760819220 Mbit/s25 Mbit/s60 Mbit/s80 Mbit/s1280x720@68.3 (9)
1920x1080@30.1 (4)
2048x1024@30.0 (4)
4.1245760819250 Mbit/s62.5 Mbit/s150 Mbit/s200 Mbit/s1280x720@68.3 (9)
1920x1080@30.1 (4)
2048x1024@30.0 (4)
4.2522240870450 Mbit/s62.5 Mbit/s150 Mbit/s200 Mbit/s1920x1080@64.0 (4)
2048x1080@60.0 (4)
558982422080135 Mbit/s168.75 Mbit/s405 Mbit/s540 Mbit/s1920x1080@72.3 (13)
2048x1024@72.0 (13)
2048x1080@67.8 (12)
2560x1920@30.7 (5)
3680x1536@26.7 (5)
5.198304036864240 Mbit/s300 Mbit/s720 Mbit/s960 Mbit/s1920x1080@120.5 (16)
4096x2048@30.0 (5)
4096x2304@26.7 (5)
5.2207360036864240 Mbit/s300 Mbit/s720 Mbit/s960 Mbit/s1,920×1,080@172.0 (16)

3,840×2,160@66.8 (5)

4,096×2,160@60.0 (5)

Numer poziomuMax liczba makrobloków na sekundęMax rozmiar klatki (makrobloków)Max bit rate wideo (VCL) dla profili Podstawowego, Rozszerzonego i GłównegoMax bit rate wideo(VCL) dla profilu WysokiegoMax bit rate wideo(VCL) dla profilu Wysokiego 10Max bit rate wideo(VCL) dla profili Wysokiego 4:2:2 i Wysokiego 4:4:4 PredykcyjnyPrzykłady najwyższych możliwych rozdzielczości @
liczby klatek
(max pomieszczenie klatek)
w Poziomie

Współczesność

Obecnie standard kodowania H.264/AVC wykorzystywany jest do transmisji telewizji wysokiej rozdzielczości w wielu cyfrowych platformach satelitarnych, oraz, między innymi, jako jeden z podstawowych formatów w oprogramowaniu QuickTime.

Głównym konkurentem H.264/AVC jest WMV firmy Microsoft, przyjęty przez amerykańskie stowarzyszenie SMPTE jako standard VC-1, oraz AVS opracowany przez konsorcjum stworzone przez rząd chiński.

W wyniku rezultatów badań nad udoskonalaniem formatu H.263, grupa JVT (Joint Video Team), łącząca zespoły ekspertów z organizacji ISO oraz ITU, rozpoczęła prace nad standardem kodowania H.26L, który uległ tak dalekim modyfikacjom w porównaniu do algorytmu H.263, że został następnie przemianowany na H.264.

Polski Komitet Normalizacyjny opracował polskie tłumaczenie normy ISO/IEC 14496-10:2004 (standardu kodowania H.264/AVC)[2].

Patenty

Ostatni patent wygasa 29 listopada 2027[3]. Dlatego też istnieją kampanie promujące porzucenie tego formatu na rzecz Ogg Theora i WebM. Powodem jest także fakt, że o ile użycie do transmisji niekomercyjnej filmu zapisanego w tym formacie w Internecie jest bezpłatne, to samo oprogramowanie do odtworzenia musi pokryć opłatę licencyjną. Inną propozycją (np. Nokii)[4] jest wykorzystanie formatu ITU h.261, którego część została zdefiniowana w lub przed listopadem 1988. Definicja z 1990 H.261 miała pozostałe fragmenty niezawarte w definicji z 1988[5].

Przypisy

Linki zewnętrzne

Media użyte na tej stronie

Translation icon.svg
Autor: MGalloway (WMF), Licencja: CC BY-SA 3.0
Translation icon. Text on icon: "文A"