H.264

Versiunea actuală a paginii nu a fost încă examinată de colaboratori experimentați și poate diferi semnificativ de versiunea revizuită pe 4 septembrie 2022; verificarea necesită 1 editare .

H.264 , MPEG-4 Part 10 sau AVC ( Advanced Video Coding ) este un standard de compresie video licențiat conceput pentru a atinge un grad ridicat de compresie a fluxului video, menținând în același timp calitatea înaltă.

Despre standard

Creat de Grupul de experți în codificare video ITU-T (VCEG) în colaborare cu Grupul de experți în imagini în mișcare (MPEG) ISO / IEC în cadrul programului Joint Video Team (JVT).

ITU-T H.264 și ISO/IEC MPEG-4 Part 10 (numite oficial ISO/IEC 14496-10) sunt complet identice din punct de vedere tehnic. Versiunea finală a primei versiuni a standardului a fost finalizată în mai 2003 .

Folosit în televiziunea digitală HDTV și în multe alte domenii ale video digital.

Unele programe (cum ar fi VLC media player ) identifică acest standard ca AVC1.

Caracteristici

Standardul H.264 / AVC / MPEG-4 Part 10 conține o serie de caracteristici care îmbunătățesc semnificativ eficiența compresiei video în comparație cu standardele anterioare (cum ar fi ASP ), oferind totodată o mai mare flexibilitate într-o varietate de medii de rețea. Principalele sunt:

Datorită ASO, deoarece fiecare parte a unei imagini poate fi decodificată independent de celelalte (sub anumite restricții de codificare), noul standard le permite să fie trimise și primite într-o ordine arbitrară unul față de celălalt. Acest lucru poate reduce latența în aplicațiile în timp real, mai ales atunci când sunt utilizate în rețele care au un mod de livrare necomandă . Aceste funcții pot fi utilizate și în multe alte scopuri, în afară de recuperarea erorilor.

Profiluri

Standardul definește seturi de capabilități, numite profiluri, care vizează clase specifice de aplicații.

Profil de bază Folosit în produse cu costuri reduse care necesită o toleranță suplimentară la pierderi. Folosit pentru videoconferințe și produse mobile. Include toate caracteristicile Profilului de bază constrâns, plus caracteristici pentru o toleranță mai mare la pierderea transmisiei. Odată cu apariția Profilului de bază constrâns, acesta a dispărut în fundal, deoarece toate fluxurile profilului de bază constrâns corespund profilului de bază și ambele profiluri au un cod de identificare comun. Profil de bază constrâns Conceput pentru produse low cost. Include un set de caracteristici comune profilurilor Baseline, Main și High. Profilul principal Folosit pentru televiziunea digitală cu definiție standard în emisiunile care utilizează compresia MPEG-4 în conformitate cu standardul DVB. Profil extins Proiectat pentru streaming video, are un raport de compresie relativ ridicat și funcții suplimentare pentru a crește rezistența la pierderea de date. Profil înalt Este principalul pentru difuzarea digitală și video pe medii optice, în special pentru televiziunea de înaltă definiție. Folosit pentru discuri video Blu-ray și transmisii DVB HDTV. Profil înalt 10 (Profil înalt 10) În plus, acceptă adâncimea de codificare a imaginii de 10 biți. Profil înalt 4:2:2 (Hi422P) În principal destinat utilizării profesionale atunci când lucrați cu flux video întrețesut. Acceptă opțiunea suplimentară de codare a culorilor. Profil predictiv ridicat 4:4:4 (Hi444PP) Bazat pe Hi422P, include o altă opțiune de codificare cromatică și o operație de codare pe 14 biți.

Pentru uz profesional, standardul conține patru profile suplimentare all-Intra, care se caracterizează prin absența compresiei intercadru. Adică, la codificarea unui cadru, informațiile despre cele vecine nu sunt utilizate:

High 10 Intra Profil High 4:2:2 Intra Profil High 4:4:4 Intra Profil CAVLC 4:4:4 Intra Profil

Odată cu adoptarea extensiei Scalable Video Coding (SVC), trei profiluri corespunzătoare celor de bază au fost adăugate la standard, cu adăugarea capacității de a include fluxuri cu rezoluție mai mică.

Profil de bază scalabil Profil înalt scalabil Profil Intra ridicat scalabil

Adăugarea extensiei Multiview Video Coding (MVC) a adus încă două profiluri suplimentare:

Profil înalt stereo Acest profil este conceput pentru videoclipuri 3D stereoscopice (două imagini). Profil înalt de vizualizare multiplă Acest profil acceptă două sau mai multe imagini (canale) într-un flux folosind atât compresia intercadre, cât și compresia intercanal, dar nu acceptă unele caracteristici MVC. Funcții de asistență în profiluri individuale
Funcții CBP BP XP MP Şold Bună10P Hi422P Hi444PP
I și P felii da da da da da da da da
Formate Chroma 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
Adâncimile probei (biți) opt opt opt opt opt 8 la 10 8 la 10 8 la 14
Comandă flexibilă de macroblocuri (FMO) Nu da da Nu Nu Nu Nu Nu
Ordinea arbitrară a secțiunilor (ASO) Nu da da Nu Nu Nu Nu Nu
Felii redundante (RS) Nu da da Nu Nu Nu Nu Nu
partiţionarea datelor Nu Nu da Nu Nu Nu Nu Nu
felii SI și SP Nu Nu da Nu Nu Nu Nu Nu
B felii Nu Nu da da da da da da
Codare întrețesă (PicAFF, MBAFF) Nu Nu da da da da da da
cadre de referință multiple da da da da da da da da
Filtru de deblocare în buclă da da da da da da da da
Codarea entropiei CAVLC da da da da da da da da
Codarea entropiei CABAC Nu Nu Nu da da da da da
8×8 vs. Adaptabilitate la transformare 4×4 Nu Nu Nu Nu da da da da
Matrice de scalare a cuantizării Nu Nu Nu Nu da da da da
Control separat C b și C r QP Nu Nu Nu Nu da da da da
Monocrom (4:0:0) Nu Nu Nu Nu da da da da
Codare separată a planului de culoare Nu Nu Nu Nu Nu Nu Nu da
codificare predictivă fără pierderi Nu Nu Nu Nu Nu Nu Nu da

Niveluri

Conform definiției standardului, un „nivel” este un set specific de constrângeri care indică gradul de performanță al decodorului necesar pentru un profil. De exemplu, suportul de nivel într-un profil ar specifica rezoluția maximă a imaginii, rata de cadre și rata de biți, astfel încât decodorul să poată fi utilizat. Un decodor care se conformează unui anumit strat este necesar pentru a decoda toate fluxurile de biți care sunt codificate pentru acel strat și pentru toate straturile inferioare.

Niveluri cu parametri maximi
Nivel Max. numărul de macroblocuri Max. rata de streaming video (VCL) kbps Exemple de rezoluție maximă
@Rate de cadre
(cadre maxime salvate)
pe secunda in rama BP, XP, MP Şold Bună10P Hi422P, Hi444PP
unu 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 1280×720@60,0 (5)
1280×1024@42,2 (4)
patru 245.760 8.192 20.000 25.000 60.000 80.000 1280×720@68,3 (9)
1920×1080@30,1 (4)
2048×1024@30,0 (4)
4.1 245.760 8.192 50.000 62.500 150.000 200.000 1280×720@68,3 (9)
1920×1080@30,1 (4)
2048×1024@30,0 (4)
4.2 522.240 8.704 50.000 62.500 150.000 200.000 1920×1080@64,0 (4)
2048×1080@60,0 (4)
5 589.824 22.080 135.000 168.750 405.000 540.000 1920×1080@72,3 (13)
2048×1024@72,0 (13)
2048×1080@67,8 (12)
2560×1920@30,7 (5)
3680×1536@26,7 (5)
5.1 983.040 36.864 240.000 300.000 720.000 960.000 1920×1080@120,5 (16)
4096×2048@30,0 (5)
4096×2304@26,7 (5)
5.2 2.073.600 36.864 240.000 ? ? ? 1.920x1.080@172 (?)
2.048x1.536@160 (?)
4.096x2.160@60 (?)
6 4.177.920 139.264 240.000 ? ? ? 2,048×1,536@300 (?) 4,096× 2,160 @120
(?)
8,192×4,320@30 (?)
6.1 8.355.840 139.264 480.000 ? ? ? 2,048×1,536@300 (?) 4,096× 2,160 @240
(?)
8,192×4,320@60 (?)
6.2 16.711.680 139.264 800.000 ? ? ? 4,096*2,304@300 (?)
8,192×4,320@120 (?)

Brevete

În țările în care există brevete de software , dezvoltatorii de software care utilizează algoritmii H.264/AVC sunt obligați să plătească drepturi de autor deținătorilor de brevete (durata unui brevet depinde de țara de brevetare). Deținătorii unor asemenea, în special, sunt Microsoft, Fujitsu, Philips, Apple, Samsung, Cisco, Toshiba, Panasonic [2] [3] . Există și o organizație MPEG LA , care este administratorul pool-ului consolidat de brevete [4] [5] . În total, există mai mult de o sută de brevete care afectează sau descriu cumva algoritmii H.264. Unele dintre ele au expirat deja, dar unele vor continua să funcționeze în SUA până în 2028 [6] [2] .

În martie 2011, Departamentul de Justiție al SUA a lansat o investigație împotriva MPEG LA pentru suspiciunea că a folosit legea brevetelor pentru a elimina WebM al concurentului Google . Motivul pentru începerea anchetei au fost acuzațiile de încălcare a brevetelor unor terți dezvoltatori [7] .

Dezavantaje

Codecurile MPEG-4 AVC consumă mai mult resurse decât codecurile bazate pe MPEG-4 ASP (cum ar fi DivX și XviD ) [8] , dar acest lucru este compensat de alte avantaje [9] .

Formatul este brevetat, iar creatorii de codecuri sunt obligați să plătească pentru distribuția lor prin achiziționarea de licențe. Începând din 2011, MPEG LA ar putea începe, de asemenea, să taxeze pe cei implicați în codificare și/sau să ofere utilizatorilor un flux video gratuit în AVC [10] [11] . Cu toate acestea, ulterior această perioadă a fost schimbată în 2015, iar pe 26 august 2010, MPEG LA a anunțat că nu va exista nicio taxă pentru furnizarea gratuită a utilizatorilor de un flux video în H.264 [12] .

Note

  1. În standardele anterioare, conversia a fost specificată doar în limitele erorilor admise din cauza imposibilității practice a conversiei inverse exacte. Ca rezultat, fiecare implementare a decodorului ar putea produce video decodificat ușor diferit (cauzat de o nepotrivire în reprezentarea video decodificat la codificator și decodor), rezultând o scădere a calității video efective.
  2. 1 2 Copie arhivată (link indisponibil) . Consultat la 30 ianuarie 2010. Arhivat din original la 14 mai 2015. 
  3. MPEG LA - Standardul pentru standarde - Lista de brevete AVC (downlink) . Consultat la 30 ianuarie 2010. Arhivat din original la 8 februarie 2010. 
  4. Întrebări frecvente privind licența MPEG LA pentru video MPEG-4 .
  5. MPEG LA - Standardul pentru standarde - Introducere AVC (link nu este disponibil) . Data accesului: 30 ianuarie 2010. Arhivat din original la 23 ianuarie 2010. 
  6. [whatwg] Codec-uri pentru <audio> și <video> . Data accesului: 30 ianuarie 2010. Arhivat din original la 11 ianuarie 2012.
  7. SUA suspectează MPEG LA că a încercat să concureze neloială cu Google . itc.ua (7 martie 2011). Data accesului: 7 martie 2011. Arhivat din original pe 15 februarie 2012.
  8. Filip Kazakov. h264. Un an mai târziu: tehnologia de codificare video MPEG-4 AVC. Prima parte  // Computerra-online . - 2006. - 16 octombrie. Arhivat din original pe 8 iulie 2022.
  9. Oleinik I. V. N. 264. Un adevăr despre iluzii  // Sisteme de securitate: jurnal. - 2009. - Nr 2 . Arhivat din original pe 14 noiembrie 2009.
  10. Jan Ozer. H.264 Redevențe: ce trebuie să  știți . Streaming Learning Center (22 iunie 2009). Consultat la 7 iulie 2009. Arhivat din original pe 15 februarie 2012.
  11. Tim Siglin. Labirintul de licențiere H.264  (engleză)  (link indisponibil) . streaming media inc. / Information Today Inc. (12 februarie 2009). Consultat la 7 iulie 2009. Arhivat din original la 2 ianuarie 2010.
  12. Licența AVC a MPEG LA nu va percepe redevențe pentru videoclipurile de pe Internet care sunt gratuite pentru utilizatorii finali prin durata de viață a licenței , arhivată la 22 septembrie 2010.  (Engleză)

Vezi și

Link -uri