logo

H.264 – standardul de codare a imaginii

În anul 2003 a fost implementat standardul H.264, cunoscut popular şi sub numele de AVC (Advanced Video Coding), ca ceea de a 10-a parte a standardului MPEG-4.

 

Standardul H.264, la fel ca şi în anii precedenţi standardele MPEG-2 şi MPEG-4, foloseşte compresia diferenţială – adică imaginea curentă este creată pe baza uneia sau a mai multor imagini anterioare şi a diferenţelor care au avut loc între ele în timp. Totuşi în cazul H.264 au fost aplicate mai multe îmbunătăţiri. Pe de o parte, acestea au crescut în mod semnificativ necesitatea puterii de calcul în timpul codificării, dar pe de altă parte au redus semnificativ rata de transmisie, fără a compromite calitatea imaginii.

 

Un element important al compresiei H.264 este predicţia imaginii (predicţia între imagini). Acesta constă în estimarea următoarei imagini codificate în baza imaginilor codificate şi decodificate anterior. Acesta funcţionează exact la fel ca şi în cazul unui codificator şi decodor, astfel încât decodorul poate reproduce imaginea codificată pe baza erorii de predicţie a imaginii, desemnate în codificator ca şi diferenţa între imaginea originală codificată şi predicţia acesteia. Astfel nu sunt transmise imaginile succesive, ci doar numai erorile de predicţie (anticipări), care – folosind algoritmi buni – nu conţin foarte multe informaţii şi pot fi codate folosind un număr redus de biţi.

 

În cazul compresiei H.264 se diferenţiază trei tipuri de cadre: I – Intra Coded, P – Predictive, B – Bi-predictive.

 

Fig. 1. Exemplu de secvenţă în care sunt prezente toate cele trei tipuri de cadre

 

t – Timpul

Cadrele de tip I conţin informaţiile complete despre imagine. Cadrele P conţin informaţii despre schimbările dintre cadrele adiacente P sau I (imaginea finală este creată în baza acestor informaţii). Cadrele B sunt imagini codate folosind două imagini relaţionate, adică una dinaintea imaginii codate şi una care este prezentată în secvenţa de după imaginea codată. În imaginile de tip B blocurile cele mai asemănătoare (macro-blocuri) de imagine sunt selectate din ambele imagini relaţionate sau sunt marcate ca o medie a blocurilor din ambele imagini relaţionate. Dimensiunea fiecărui cadru depinde bineînţeles de mai mulţi factori. Se poate aproxima volumul de cadre P la 60% din dimensiunile cadrelor de tip I, iar cadrele B pot avea cel mult 10% din volumul lor. De aceea, este foarte simplu de concluzionat – cu cât în secvenţa dată sunt mai multe rame consecutive de tip B, cu atât mai mare este compresia imaginii. Aceasta nu înseamnă automat micşorarea calităţii imaginii.

 

Mai jos este prezentat un exemplu de comparaţie a calităţii pentru trei standarde de compresie; parametrul este valoarea de vârf a raportului semnal-interferenţă (PSNR), în funcţie de rata de transmisie a biţilor.

 

Fig. 2. Comparaţia formatelor H.264, MPEG-4 şi JPEG

 

X – Viteza de transmitere a biţilor

Y – Valoarea de vârf a raportului semnal-interferenţă (PSNR)

Mai jos sunt listate câteva dintre îmbunătăţirile şi modificările care diferenţiază standardul H.264 în raport cu standardele mai vechi, care foloseau codarea hibridă cu predicţie între imagini şi compensarea mişcări (deplasării).

 

1. Variabilitatea volumului blocului pentru compensarea mişcării. Compensarea mişcării se poate face nu numai în raport cu toate macro-blocurile, dar şi pentru părţi ale acestora. Acestora li se atribuie vectori de mişcare separaţi. Cele mai mici blocuri au dimensiunea de (4×4) puncte de iluminare. Acest lucru are ca rezultat scăderea erorilor de predicţie, care pot fi prezentate doar cu ajutorul unui număr mai mic de biţi.

2. Predicţia mişcării cu o precizie de interval de eşantionare de 1/4 a imaginii. Precizia ridicată a vectorilor de mişcare permite o predicţie mai precisă, cu compensarea mişcării.

3. Utilizarea imaginilor de referinţă multiple – utilizarea memoriei pe termen lung, utilă la predicţia zonelor revelate.

4. Predicţie direcţională intra-cadru pentru macro-blocurile codificate intra-cadru.

5. Filtrul pentru deblocare înlătură efectele blocurilor care apar în imagini predictive la o compresie ridicată.

6. Transformarea cosinusoidală operează pe blocuri mici – (4×4) probe de luminanţă şi (2×2) de crominanţă, ceea ce permite o mai bună adaptare la proprietăţile locale ale imaginii.

7. Codare adaptativă de entropie: CAVLC (Context-Adaptive Variable Length Coding) – cu o lungime variabilă cuvânt şi CABAC (Context-Based Binary Arithmetic Coding) – standard mai complicat de codificare aritmetică adaptivă, care permite obţinerea unei compresie mai puternice.

Pentru a profita din plin de posibilităţile standardului H.264, coderul trebuie să efectueze alegeri optime între diferitele moduri posibile de codare. Utilizarea standardului H.264 este de mare importanţă pentru sistemele CCTV, deoarece reducerea ratei de transmitere a imaginii fără pierderea calităţii permite transmiterea unui număr mai mare de canale la o calitate mai bună.

 

Leave a Reply

*