TopTeknisk ordbokH.264 - standard för bildkodning

H.264 - standard för bildkodning

2003 infördes standard H.264, känd även som AVC (Advanced Video Coding), som en tionde del av standard MPEG-4.

 

Standard H.264, i likhet med tidigare MPEG-2 och MPEG-4, använder en differentiell kompression, dvs. en aktuell bild baseras på en eller flera och differenser som uppstått mellan dem under tiden. Men H.264 har fått en rad förbättringar. Från ena sidan ökar de behovet på beräkningskraft betydligt under kodning, men från den andra reducerar de överföringshastighet och inte ändrar bildkvalitet.

 

En viktig del av kompression H.264 är prediktion från bilder (interprediktion). Den går ut på att förutse en nästa kodad bild genom att basera på bilder tidigare kodade och avkodade. Den fungerar på samma sätt som i en kodare och avkodare vilket gör att avkodare kan spela upp den kodade bilden genom att basera på prediktionsfel som blivit inställt som en differens mellan den originellt kodade bilden och dess prediktion. Man skickar inte följande bilder, utan bara prediktionsfel som vid bra algoritmer innehåller inte mycket information och kan kodas med få bitar.

 

I kompression H-264 finns 3 typer av slices: I – Intra Coded, P – Predictive, B – Bi-predictive.

 

Bild 1. Exempel på inspelning av vissa bildrutor där det finns tre typer av slices

 

t - Tid

I-slices innehåller fullständig information om bilden. P-slices innehåller information om ändringar mellan närliggande P- eller I-slices (den slutliga bilden skapas baserat på den här informationen). B-slices är bildera kodade med två referensbilder, en före den kodade bilden och en som visas i denna sekvens efter den kodade bilden. I B-bilder väljs de mest liknande provblocken (makroblocken) från båda referensbilder eller utses som medelvärden av blocken från båda referensbilder. Storlek av vissa slices beror naturligtvis på många faktorer. Man kan ungefär anta att P-slices utgör cirka 60% av storlek på I-slices, medan B-slices kan ha bara 10% av deras volym. Man kan lätt dra en slutsats att ju fler B-slices förekommer en efter den andra i en sekvens desto större är kompression. Det behöver inte tyda på försämring av bildkvaliteten.

 

Nedan visas exempel på jämförelse av kvalitet på tre kompressionsstandarder som ett toppvärde för signal-brusförhållande (PSNR — Peak Signal-to-Noise Ratio) beroende på bitöverföringshastigheten.

 

Bild 2. Jämförelse av format H.264, MPEG-4 och JPEG

 

X - Bitöverföringshastighet

Y - Toppvärde för signal-brusförhållande (PSNR)

Nedan visas några av förbättringar och modifieringar som urskiljer H.264 från tidigare standarder som använder sig av hybridkodning med interprediktion med rörelsekompensering.

 

1. Variabel blockstorlek för rörelsekompensering. Rörelsekompenseringen kan göras inte bara i förhållande till hela makroblocken utan även för deras delar. Då tilldelas till dem separata rörelsevektorer. De minsta blocken har storlek (4x4) punkter av luminans. Tack vare detta får man mindre prediktionsfel som kan framställas med få bitar.


2. Rörelseprediktion med noggrannhet upp till 1/4 av bildens samplingsintervall. Hög noggrannhet hos rörelsevektorer möjliggör en mer exakt prediktion med rörelsekompensering.


3. Användningen av flera referensbilder - användning av långtidsminnet, som är användbart vid prediktion av avslöjade områden.


4. Riktad intraprediktion för intrakodade makroblock.


5. Deblockerande filter tar bort blockeffekter som visas i prediktionsbilder med hög komprimering.


6. Cosinus-transformering fungerar på små block - (4x4) av luminansprover och (2x2) av krominansprover vilket möjliggör en bättre adaptation till bildens lokala egenskaper.


7. Adaptiv entropikodning: CAVLC (Context-Adaptive Variable Length Coding) - med variabel ordlängd, och CABAC (Context-Based Binary Arithmetic Coding) - mer komplicerad adaptiv aritmetisk kodning, som gör det möjligt att uppnå en starkare kompression.

För att dra full nytta av H.264-standarden, ska kodaren tillåta optimala val mellan olika möjliga kodningslägen. Användningen av H.264 är av stor betydelse för CCTV-system, eftersom minskning av bildöverföringshastighet utan kvalitetsförlust möjliggör överföring av större antal kanaler i bättre kvalitet.