H.264

Från Wikipedia, den fria encyklopedin
Hoppa till navigation Hoppa till sökning

H.264 / MPEG-4 AVC är en H.-standard för videokomprimering . Efterföljare är H.265 , VP9 och Daala . Det utvecklades ursprungligen av ITU (Study Group 16, Video Coding Experts Group) under namnet H.26L. 2001 slogs ITU-gruppen samman med MPEG- Visual och fortsatte utvecklingen i Joint Video Team (JVT). Syftet med projektet var att designa en komprimeringsmetod som, jämfört med tidens standarder, minskade den nödvändiga datahastigheten med minst hälften för mobilapplikationer såväl som i TV- och HD -området med samma kvalitet. Medlemmar i arbetsgruppen kommer bland annat från Fraunhofer Institute for Telecommunications , Microsoft och Cisco Systems . [1] År 2003 antogs standarden av de två organisationerna med identisk formulering. ITU -beteckningen är H.264. Vid ISO / IEC MPEG kallas standarden MPEG-4 / AVC ( Advanced Video Coding ) och är den tionde delen av MPEG-4- standarden ( MPEG-4 / Part 10, ISO / IEC 14496-10 ). Standarden ska inte förväxlas med MPEG-4 / ASP- standarden (MPEG-4 / Del 2, ISO / IEC 14496-2).

H.264 uppnår vanligtvis en kodningseffektivitet ungefär tre gånger så hög som H.262 ( MPEG-2 ) och är liksom H.262 [2] utformad för högupplösta bilddata (t.ex. HDTV ). Detta innebär att jämförbar kvalitet kan uppnås med cirka en tredjedel av MPEG-2-datavolymen. Beräkningsinsatsen är dock också 2 till 3 gånger högre.

De FourCC som används för standarden är "AVC1", "DAVC", "H264", " x264 " och "VSSH". Matroska Codec ID är "V_MPEG4 / ISO / AVC".

Det standardiserade filformatet / behållarformatet är MP4 .

Användningsområden

H.264 var inte skräddarsydd för ett specifikt syfte, utan utvecklar sin kraft i ett ganska brett spektrum av applikationer. Därför har de mest lovande tillämpningsområdena för närvarande mycket olika former:

HDTV
H.264 är en av de obligatoriska videokomprimeringsmetoderna i Blu-ray- standarden och är obligatorisk för högupplöst tv-överföring med DVB-S2 (t.ex. HD-1 och Sky HD , samt ProSieben HD eller RTL HD). HD-DVD- standarden, som avbröts 2008, gav också videokomprimering i enlighet med H.264-metoden.
Bärbar video
De konkurrerande standarderna för mobil-tv DVB-H och DMB använder båda (bland annat) H.264 för videokodning för mobila enheter som mobiltelefoner eller handdatorer . PlayStation Portable , femte generationen av Apple iPod , iPhone och Zune -spelaren, som bara finns i USA, kan också spela upp H.264 -videor.
multimedia
Apple levererar sitt multimedia -ramverk QuickTime från version 7 med en H.264 -codec.
Videokonferens teknik
Videokonferensslutsystem med H.264 -codec har varit tillgängliga för användare sedan 2005. Till exempel är flera videokonferenser nu möjliga för första gången i iChat AV 3.x.
Video / digitalkameror
Ett antal digitalkameror och videokameror stöder H.264 -komprimering för videoinspelning.

Relaterade procedurer

Under specifikationen av H.264 delas flera kommersiella utvecklingsvägar av, som mer eller mindre är direkt baserade på H.264, men i slutändan representerar en delvis inkompatibel enhet:

  • Sorenson Video 3 , en codec som är mycket vanlig i QuickTime -miljön och i samband med filformatet * .mov, som endast skiljer sig från H.264 i detaljer.
  • Microsoft Windows Media Video 9 (* .wmv, FourCC: WMV9 / wvc1) är en videokodec från Microsoft, som också använder loop -filtrering. Varianten VC-1 (FourCC: wvc1) (tidigare VC-9 enligt WMV9) är också en av de codecs som används i HD DVD och Blu-ray Disc .
  • VP8 är en videokodec som utvecklats av Google -företaget On2 Technologies. Den bygger på utvecklingsserien TrueMotion .

Framsteg

Tekniska detaljer

H.264 är till stor del baserad på föregångarna MPEG-1, MPEG-2, MPEG-4 och H.261-familjen, men har betydande förändringar och tillägg (se även [3] ):

  • Istället för en diskret cosinustransformation (DCT) med 8 × 8 pixelblock används en heltalstransformation till 4 × 4 pixlar (i högprofilen kan också väljas upp till 8 × 8 pixlar) block.
  • Entropikodningen anpassades till den förändrade transformationen. Förutom de konventionella VLC-koder av Huffman-typ ( CAVLC , Context Adaptive Variable Length Coding ) stöder H.264 också en mer kraftfull aritmetisk kodning ( Context-Adaptive Binary Arithmetic Coding (CABAC)).
  • Makroblockpartitionering: Makroblock med en storlek på 16 × 16 pixlar kan delas in i delblock ner till en storlek på 4 × 4 pixlar. Eftersom en separat rörelsevektor lagras för varje block kan rumsligt avgränsade och framför allt komplexa rörelser kodas bättre.
  • Rörelsekompensationen är alltid exakt till ¼ av en pixel (med H.263 , dvs MPEG-4 / ASP, var detta ett alternativ). Rörelsekompensationen för halva pixlar görs inte längre med ett filter med två koefficienter (i genomsnitt: +1/2, +1/2), utan med ett mer komplext filter med sex koefficienter (+1/32, -5/32, +20/32, +20/32, -5/32, +1/32). Kvartspixlar beräknas från halvpixeldata med ytterligare ett medelvärde.
  • Intra förutsägelse: En form av bild förutsägelse används också inom I-ramar . Pixelvärdena för ett block uppskattas utifrån de omgivande, redan avkodade pixlarna och sedan kodas endast skillnaden mot det faktiska bildinnehållet. Denna metod är i allmänhet mer effektiv än JPEG 2000 för mindre bildformat.
  • Långsiktig förutsägelse: P- och B-ramar kan inte bara innehålla referenser till den sista I- eller P-ramen, utan också till maximalt 16 tidigare ramar, teoretiskt så långt tillbaka som du vill, för att möjliggöra mer effektiva kodning av periodiska rörelser möjliggör.
  • Viktad förutsägelse: Om bildinnehåll från flera referensramar blandas kan källorna inkluderas i mixen med valfri viktning. På detta sätt kan blekningar och blekningar kodas mycket effektivt.
  • Deblocking filter: Även om de tidigare MPEG-codecerna enbart är beroende av en valfri extern efterbearbetning / filtrering (engelsk efterbehandling) är en avblockeringsfilter integrerad del av H.264 (som det gjorde för H.263 i bilaga J). Hänvisningar till ramar som redan har avkodats avser också de bilder som redan har filtrerats. Detta uppnår en mycket hög upplevd bildkvalitet. Särskilt i samband med den minskade transformationsstorleken på 4 × 4 finns det stora subjektiva (och i mindre utsträckning objektiva) förbättringar.
  • Byta skivor: möjliggör en sömlös övergång mellan olika videoströmmar utan att behöva använda "dyra" (eftersom stora) I-ramar.
  • Flexibel makroblockbeställning: Makroblocken inom en ram eller ett segment kan specificeras i en relativt fri ordning. Detta kan göras t.ex. B. för att dölja fel vid kanalförluster (mobilvideo). Men de flesta kodare och avkodare inte stödja FMO, inte heller är det en del av huvud och High-profiler.

Profiler

Profiler och nivåer är avsedda att stödja samarbetet mellan tillverkarnas olika implementeringar. Profilerna sammanfattar vissa funktioner som måste stödjas. En nivå sätter begränsningar för variablerna i en dataström, till exempel maximal upplösning eller bithastighet.

Baslinje Utökad Main Hög Hög 10 Hög 4: 2: 2 Hög 4: 4: 4
I och P skivor Ja Ja Ja Ja Ja Ja Ja
B skivor Nej Ja Ja Ja Ja Ja Ja
SI- och SP -skivor Nej Ja Nej Nej Nej Nej Nej
Flera referensramar Ja Ja Ja Ja Ja Ja Ja
In-loop avblockeringsfilter Ja Ja Ja Ja Ja Ja Ja
CAVLC Entropy Coding Ja Ja Ja Ja Ja Ja Ja
CABAC Entropy Coding Nej Nej Ja Ja Ja Ja Ja
Flexibel beställning av makroblock (FMO) Ja Ja Nej Nej Nej Nej Nej
Godtycklig beställning av skivor (ASO) Ja Ja Nej Nej Nej Nej Nej
Redundanta skivor (RS) Ja Ja Nej Nej Nej Nej Nej
Datapartitionering Nej Ja Nej Nej Nej Nej Nej
Interlaced Coding (PicAFF, MBAFF) Nej Ja Ja Ja Ja Ja Ja
4: 2: 0 chroma -format Ja Ja Ja Ja Ja Ja Ja
4: 2: 2 chroma -format Nej Nej Nej Nej Nej Ja Ja
4: 4: 4 chroma -format Nej Nej Nej Nej Nej Nej Ja
8 bitars provdjup Ja Ja Ja Ja Ja Ja Ja
9 och 10 bitars provdjup Nej Nej Nej Nej Ja Ja Ja
11 och 12 bitars samplingsdjup Nej Nej Nej Nej Nej Nej Ja
8x8 kontra 4x4 transformerar adaptivitet Nej Nej Nej Ja Ja Ja Ja
Kvantiseringsskalningsmatriser Nej Nej Nej Ja Ja Ja Ja
Separat Cb- och Cr QP -kontroll Nej Nej Nej Ja Ja Ja Ja
Monokrom videoformat Nej Nej Nej Ja Ja Ja Ja
Restfärgtransform Nej Nej Nej Nej Nej Nej Ja
Prediktiv förlustfri kodning Nej Nej Nej Nej Nej Nej Ja

Nivå

Som i MPEG-2 definierar H.264 olika nivåer. Ju högre bithastighet videon är, desto högre är dessa.

Följande tabell visar de tillåtna gränsvärdena för de enskilda profilerna: [4]

Macroblock pro exempel för Videobithastighet (VCL) för profiler
Nivå Ram andra Upplösning / bildhastighet
denna nivå
Baslinje
Utökad
Main
Hög Hög 10 Hög 4: 2: 2
Hög 4: 4: 4
1 99 1 485 128 × 96/30
176 × 144/15
64 kbit / s 80 kbit / s 192 kbit / s 256 kbit / s
1b 128 kbit / s 160 kbit / s 384 kbit / s 512 kbit / s
1.1 396 3 000 176 × 144/30
320 × 240/10
352 × 288 / 7,5
192 kbit / s 240 kbit / s 576 kbit / s 768 kbit / s
1.2 6 000 176 × 144/60
320 × 240/20
352 × 288/15
384 kbit / s 480 kbit / s 1152 kbit / s 1536 kbit / s
1.3 11 880 320 × 240/40
352 × 288/30
768 kbit / s 960 kbit / s 2304 kbit / s 3072 kbit / s
2 2 Mbit / s 2,5 Mbit / s 6 Mbit / s 8 Mbit / s
2.1 792 19 800 352 × 288/50
352 × 576/25
4 Mbit / s 5 Mbit / s 12 Mbit / s 16 Mbit / s
2.2 1620 20 250 352 × 288/50
720 × 480/15
4 Mbit / s 5 Mbit / s 12 Mbit / s 16 Mbit / s
3 40 500 720 × 480/30
720 × 576/25
10 Mbit / s 12,5 Mbit / s 30 Mbit / s 40 Mbit / s
3.1 3 600 108 000 720 × 576/60
1280 × 720/30
14 Mbit / s 17,5 Mbit / s 42 Mbit / s 56 Mbit / s
3.2 5 120 216 000 1280 × 720/60
1280 x 1024 / 42,2
20 Mbit / s 25 Mbit / s 60 Mbit / s 80 Mbit / s
4: e 8 192 245 760 1280 x 720 / 68,3
1280 × 1024/48
1920 × 1080/30
20 Mbit / s 25 Mbit / s 60 Mbit / s 80 Mbit / s
4.1 50 Mbit / s 62,5 Mbit / s 150 Mbit / s 200 Mbit / s
4.2 8 704 522 240 1280 × 720/145
1920 × 1080/64
2048 × 1080/60
50 Mbit / s 62,5 Mbit / s 150 Mbit / s 200 Mbit / s
5 22 080 589824 1920x1080 / 72,3
2048x1080 / 67,8
3672 × 1536 / 26.7
135 Mbit / s 168,75 Mbit / s 405 Mbit / s 540 Mbit / s
5.1 36 864 983040 2048 × 1080 / 112,9
3840 × 2160 / 31.7
4096 × 2160 / 28.5
240 Mbit / s 300 Mbit / s 720 Mbit / s 960 Mbit / s
5.2 36 864 2 073 600 2048 × 1080/172
3840 x 2160 / 66,8
4096 × 2160/60
240 Mbit / s 300 Mbit / s 720 Mbit / s 960 Mbit / s

Implementeringar

  • AVCHD multimedia standard för högupplösta, digitala konsument- och prosumer videokameror.
  • AVC-Intra- implementering av Panasonic för professionella videoproduktioner
  • JM -referensprogramvara för Joint Video Team [5]
  • x264 är en H.264 -kodare licensierad under GPL .
  • Det kostnadsfria, LGPL- licenserade biblioteket libavcodec innehåller en H.264-avkodare och kodare.
  • Apple har integrerat H.264 i macOS från version 10.4 (Tiger) och i QuickTime version 7.
  • Nero Digital , innehåller en H.264 -kodare utvecklad av Nero AG och Ateme .
  • Sorenson erbjuder en implementering av H.264.
  • Main Concept erbjuder en H.264 -kodare som programvara, OpenCL och CUDA -kodare.
  • Elecard H.264
  • Lead Technologies har en H.264 -videokodek.
  • CoreAVC är en programvara H.264 -avkodare
  • Pixeltools Expert-H264
  • Adobe Flash Player 9+
  • DivX H.264
  • Intel Ivy Bridge QuickSync (GPU -kodare)
  • DiscretePhoton
  • nanocosmos erbjuder H.264 -codec för Windows och MacOS
  • Citrix använder komprimeringsmetoden för sitt HDX -protokoll (tidigare ICA) i produkterna XenApp 6.5 och XenDesktop 7 för överföring av rörliga bilder. [6]

Testning

I vissa tester av MSU Graphics & Media Lab (Video Group) har x264 -codec etablerat sig som ledare. [7] [8] [9] [10] [11] [12] [13] Jämfört med DivX behöver den bara 2/3 av dataströmmen för samma resultat. [14] På grund av kontinuerlig vidareutveckling har codec förbättrats kraftigt under de senaste åren för en lägre dataström med önskad bildkvalitet. Detta är mycket viktigt, till exempel för satellit- och internetöverföringar med begränsad kapacitet, till exempel.

Jämfört med H.265 och H.264 har Brother codec x265 en 20% lägre dataström med samma bildkvalitet och är därför 25% bättre. [15]

Patent

Många av metoderna som används i H.264 är skyddade av patent . Precis som med MPEG-2 tar tillverkare och tjänsteleverantörer som vill använda denna standard också ut en avgift för MPEG-4 . Så att du inte behöver be om tillstånd från varje patentinnehavare individuellt, de brukar ge sina patent till en patentpool för administration, som tar hand om fördelningen av den enskilda inkomsten. Men eftersom detta är en frivillig åtgärd har två patentpooler bildats för H.264, som inte alla patentinnehavare ännu har anslutit sig till. Å ena sidan finns MPEG Licensing Administration (" MPEG Licensing Administration ", "MPEG LA" för kort), [16] som redan hanterar patentpoolerna för MPEG-2, och å andra sidan en patentpool av Via Licensing , ett dotterbolag till Dolby Laboratories .

Den första licensperioden ("Initial Licence") - för videokodec "H.264 / AVC" från MPEG LA - pågick till och med den 31 december 2010. [17]

Enligt ett meddelande från MPEG LA kan utvecklare använda det gratis i ytterligare fem år (under den andra licensperioden från 1 januari 2011 till 31 december 2015) så länge videoströmningen förblir gratis för användare. [18] MPEG LA har under tiden meddelat att det permanent inte kommer att ta ut några licensavgifter för användning av gratis streaming -erbjudanden. [19] [20]

För närvarande har cirka 15% av patenten gått ut i slutet av 2019. [21]

Uppspelning på datorn

Med hjälp av ffdshow kan videor som är kodade i H.264 spelas upp med DirectShow-baserade videouppspelningsprogram som Windows Media Player eller Media Player Classic .

Ett alternativ till DirectShow-baserade spelare är t.ex. B. ges med MPlayer eller VLC -mediaspelaren . Båda är skickliga i avkodning av H.264 och kan läsa alla relevanta behållare. Båda programmen är också fritt tillgängliga. Ffdshow-filtret, MPlayer och VLC-spelaren använder libavcodec- biblioteket för avkodning av H.264, som stöder användardefinierade kvantiseringsmatriser .

Apples QuickTime version 7 eller högre kan också spela H.264. QuickTime är tillgängligt för de senaste versionerna av macOS och Windows . QuickTime 7 spelar dock inte upp innehåll som produceras av ffdshow H.264 -kodaren, utan visar en svart bild. Perian -förlängningen kan hjälpa till med detta.

Apple iPod spelar H.264 i MP4- och .mov -behållare . En iPod-kompatibel H.264-video kan skapas antingen med Quicktime H.264-kodaren eller x264 . Av tekniska skäl är kodarens kvalitativa möjligheter närmare iPod än vad standard H.264 tillåter. I generation 6 stöder dock iPod en version med låg komplexitet av H.264-baslinjeprofilen på upp till åtminstone en lågkomplexitetsversion av H.264-baslinjeprofilen med en upplösning på upp till 640 × 480 pixlar vid 30 bildrutor per sekund och en maximal datahastighet på 2,5 Mbit / s nivå 3.0.

Eftersom H.264 inte är kopplat till ett specifikt containerformat kan videorna vara tillgängliga som MP4, men också som AVI- , Matroska- eller Ogg Media -filer. Det är till och med möjligt att spara H.264 -videor som rådata (.264). Sådana rådata kan då t.ex. B. multiplexeras i en lämplig behållare med MP4Box (GPAC) eller mkvmerge. Förutom en avkodare behöver du också en splitter (demuxer) som stöder det behållarformat som används. Haali Media Splitter , ett källfilter för DirectShow som kan hantera nästan alla relevanta behållarformat, passar för detta under Windows.

Uppspelning via programavkodning krävde mycket CPU -ström vid publiceringstillfället. Avlastning för CPU: n är möjlig med lämplig hårdvara som är integrerad i många grafikkort tillsammans med avkodarprogramvaran baserad på den, t.ex. B. med hjälp av DXVA eller VDPAU . [22]

webb-länkar

Individuella bevis

  1. ^ Avdelning för press och information: Återigen pris för videokodning. Prof. Dr. Thomas Wiegand får IEEE Masaru Ibuka Consumer Electronics Award i Las Vegas. Technische Universität Berlin, 16 januari 2012, öppnade den 18 januari 2012 : ”Thomas Wiegand kommer att hedras tillsammans med Dr. Gisle Bjontegaard från Cisco och Dr. Gary Sullivan från Microsoft för utveckling och etablering av den internationella videokodningsstandarden H.264 / MPEG4-AVC. "
  2. HDTV introducerades med MPEG-2 (1920x1080 @ 30), stationen Euro1080 sändes i MPEG-2 fram till den 6 januari 2007. För övrigt var den första HDTV-en analog och framgångsrik (Japan, MUSE , vanlig drift 1991-2007 med synliga 1035 / totalt 1125 linjer)
  3. Strutz: Bilddatakomprimering. SpringerVieweg, 2009
  4. ITU-T publiceringssida: H.264: Avancerad videokodning för generiska audiovisuella tjänster ITU-T, jan 2012.
  5. H.264 / AVC JM Referensprogramvara - Sida på HHI ; Från och med den 22 april 2010
  6. http://blogs.citrix.com/2012/10/17/reinventing-hdx-adaptive-display-for-mobile-workers/
  7. Första MPEG4-AVC / H.264-jämförelsen. Hämtad 22 april 2016 .
  8. ↑ 2: a MPEG4-AVC / H.264-jämförelse. Hämtad 22 april 2016 .
  9. 3-rd MPEG4-AVC / H.264-jämförelse. Hämtad 22 april 2016 .
  10. ↑ Jämförelse mellan 4: e MPEG-4 AVC / H.264 videokodekar. Hämtad 22 april 2016 .
  11. ↑ Jämförelse av 5: e MPEG-4 AVC / H.264-videokodekar. Hämtad 22 april 2016 .
  12. 6: e MPEG-4 AVC / H.264 Video Codecs Jämförelse. Hämtad 22 april 2016 .
  13. 7: e MPEG-4 AVC / H.264 Video Codecs Jämförelse. Hämtad 22 april 2016 .
  14. 8: e MPEG-4 AVC / H.264 Video Codecs Jämförelse. Hämtad 22 april 2016 .
  15. HEVC Codec -jämförelse - 2015! Hämtad 22 april 2016 .
  16. MPEG LA (engelska) - officiell webbplats; Från och med den 28 augusti 2009
  17. Licensvillkor för videocodec H.264 / AVC publicerad - artikel på heise online , daterad 18 november 2003.
  18. Media (engelska) - Sida på MPEG LA ; Från och med den 5 februari 2010.
  19. MPEG LA: s AVC -licens debiterar inte royalties för internetvideo som är gratis för slutanvändare under licensens livstid - Business Wire -artikel, 26 augusti 2010.
  20. MPEG LA: Permanent inga licenskostnader för gratis internetströmning av MPEG -4 AVC (H.264) - artikel på heise online , från 26 augusti 2010.
  21. https://www.mpegla.com/wp-content/uploads/avc-att1.pdf
  22. Passar högupplöst .