H.264

Den aktuella versionen av sidan har ännu inte granskats av erfarna bidragsgivare och kan skilja sig väsentligt från versionen som granskades den 4 september 2022; verifiering kräver 1 redigering .

H.264 , MPEG-4 Part 10 eller AVC ( Advanced Video Coding ) är en licensierad videokomprimeringsstandard utformad för att uppnå en hög grad av videoströmskomprimering med bibehållen hög kvalitet.

Om standarden

Skapad av ITU-T Video Coding Experts Group (VCEG) i samarbete med ISO / IEC Moving Picture Experts Group (MPEG) under Joint Video Team (JVT)-programmet.

ITU-T H.264 och ISO/IEC MPEG-4 Part 10 (formellt kallad ISO/IEC 14496-10) är tekniskt helt identiska. Den slutliga versionen av den första versionen av standarden färdigställdes i maj 2003 .

Används i HDTV digital-TV och många andra områden av digital video.

Vissa program (som VLC-mediaspelaren ) identifierar denna standard som AVC1.

Funktioner

H.264/AVC/MPEG-4 Part 10-standarden innehåller ett antal funktioner som avsevärt förbättrar effektiviteten för videokomprimering jämfört med tidigare standarder (som ASP ) samtidigt som de ger större flexibilitet i en mängd olika nätverksmiljöer. De viktigaste är:

Tack vare ASO, eftersom varje del av en bild kan avkodas oberoende av de andra (under vissa kodningsbegränsningar), tillåter den nya standarden att de skickas och tas emot i en godtycklig ordning i förhållande till varandra. Detta kan minska fördröjningen i realtidsapplikationer, särskilt när det används i nätverk som har ett leveransläge som inte fungerar . Dessa funktioner kan också användas för många andra ändamål förutom felåterställning.

Profiler

Standarden definierar uppsättningar av funktioner, kallade profiler, som riktar sig mot specifika klasser av applikationer.

Baslinjeprofil Används i lågprisprodukter som kräver ytterligare förlusttolerans. Används för videokonferenser och mobila produkter. Innehåller alla funktioner i Constrained Baseline Profile, plus funktioner för större överföringsförlusttolerans. Med tillkomsten av den begränsade baslinjeprofilen bleknade den i bakgrunden, eftersom alla flöden i den begränsade baslinjeprofilen motsvarar baslinjeprofilen, och båda dessa profiler har en gemensam identifieringskod. Begränsad baslinjeprofil Designad för lågprisprodukter. Innehåller en uppsättning funktioner som är gemensamma för Baseline-, Main- och High-profiler. Huvudprofil Används för digital-tv i standardupplösning i sändningar som använder MPEG-4-komprimering i enlighet med DVB-standarden. Utökad profil Designad för strömmande video, den har ett relativt högt kompressionsförhållande och ytterligare funktioner för att öka motståndet mot dataförlust. Hög profil Det är den främsta för digitala sändningar och video på optiska medier, särskilt för högupplöst TV. Används för Blu-ray-videoskivor och DVB HDTV-sändningar. High 10 Profile (High Profile 10) Stöder dessutom 10-bitars bildkodningsdjup. Hög 4:2:2-profil (Hi422P) Huvudsakligen inriktad på professionell användning när man arbetar med sammanflätad videoström. Stöder ytterligare färgkodningsalternativ. Hög 4:4:4 prediktiv profil (Hi444PP) Baserat på Hi422P, innehåller den ytterligare ett alternativ för chroma-kodning och 14-bitars kodningsdjupoperation.

För professionellt bruk innehåller standarden ytterligare fyra all-Intra-profiler, som kännetecknas av frånvaron av interframe-kompression. Det vill säga, när man kodar en ram används inte information om närliggande:

High 10 Intra Profil Hög 4:2:2 Intraprofil Hög 4:4:4 Intra Profil CAVLC 4:4:4 Intraprofil

Med antagandet av tillägget Scalable Video Coding (SVC) lades tre profiler motsvarande basprofilerna till standarden, med tillägget av möjligheten att inkludera lägre upplösningsströmmar.

Skalbar baslinjeprofil Skalbar hög profil Skalbar hög intraprofil

Att lägga till tillägget Multiview Video Coding (MVC) gav ytterligare två profiler:

Stereo hög profil Den här profilen är designad för stereoskopisk 3D-video (två bilder). Multiview hög profil Den här profilen stöder två eller flera bilder (kanaler) i en ström som använder både interframe- och interchannel-komprimering, men stöder inte vissa MVC-funktioner. Stödfunktioner i enskilda profiler
Funktioner CBP BP XP MP Höft Hej 10p Hi422P Hi444PP
I och P skivor Ja Ja Ja Ja Ja Ja Ja Ja
Chroma-format 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
Provdjup (bitar) åtta åtta åtta åtta åtta 8 till 10 8 till 10 8 till 14
Flexibel makroblockbeställning (FMO) Inte Ja Ja Inte Inte Inte Inte Inte
Godtycklig skivbeställning (ASO) Inte Ja Ja Inte Inte Inte Inte Inte
Redundanta skivor (RS) Inte Ja Ja Inte Inte Inte Inte Inte
datapartitionering Inte Inte Ja Inte Inte Inte Inte Inte
SI- och SP-skivor Inte Inte Ja Inte Inte Inte Inte Inte
B skivor Inte Inte Ja Ja Ja Ja Ja Ja
Interlaced kodning (PicAFF, MBAFF) Inte Inte Ja Ja Ja Ja Ja Ja
flera referensramar Ja Ja Ja Ja Ja Ja Ja Ja
In-loop avblockeringsfilter Ja Ja Ja Ja Ja Ja Ja Ja
CAVLC entropikodning Ja Ja Ja Ja Ja Ja Ja Ja
CABAC entropikodning Inte Inte Inte Ja Ja Ja Ja Ja
8×8 vs. 4×4 transform anpassningsförmåga Inte Inte Inte Inte Ja Ja Ja Ja
Kvantiseringsskalningsmatriser Inte Inte Inte Inte Ja Ja Ja Ja
Separat C b och C r QP-kontroll Inte Inte Inte Inte Ja Ja Ja Ja
Monokrom (4:0:0) Inte Inte Inte Inte Ja Ja Ja Ja
Separat färgplanskodning Inte Inte Inte Inte Inte Inte Inte Ja
prediktiv förlustfri kodning Inte Inte Inte Inte Inte Inte Inte Ja

Nivåer

Enligt definitionen av standarden är en "nivå" en specifik uppsättning begränsningar som indikerar graden av erforderlig avkodarprestanda för en profil. Till exempel skulle nivåstöd i en profil specificera maximal bildupplösning, bildhastighet och bithastighet så att avkodaren kan användas. En avkodare som överensstämmer med ett givet lager krävs för att avkoda alla bitströmmar som är kodade för det lagret och alla lägre lager.

Nivåer med maximala parametrar
Nivå Max. antal makroblock Max. videoströmningshastighet (VCL) kbps Exempel på maximal
upplösning @ bildhastighet
(max antal bilder sparade)
per sekund i RAM BP, XP, MP Höft Hej 10p Hi422P, Hi444PP
ett 1,485 99 64 80 192 256 128×96@30,9 (8)
176×144@15,0 (4)
Ib 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×[email protected] (7)
352×[email protected] (6)
2 11 880 396 2 000 2 500 6 000 8 000 320×[email protected] (7)
352×[email protected] (6)
2.1 19 800 792 4 000 5 000 12 000 16 000 352×[email protected] (7)
352×[email protected] (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×[email protected] (12)
352×[email protected] (10)
720×[email protected] (6)
720×[email protected] (5)
3.1 108 000 3 600 14 000 17 500 42 000 56 000 720×[email protected] (13)
720×[email protected] (11)
1280×[email protected] (5)
3.2 216 000 5,120 20 000 25 000 60 000 80 000 1280×[email protected] (5)
1280×[email protected] (4)
fyra 245,760 8,192 20 000 25 000 60 000 80 000 1280×[email protected] (9)
1920×[email protected] (4)
2048×[email protected] (4)
4.1 245,760 8,192 50 000 62 500 150 000 200 000 1280×[email protected] (9)
1920×[email protected] (4)
2048×[email protected] (4)
4.2 522.240 8,704 50 000 62 500 150 000 200 000 1920×[email protected] (4)
2048×[email protected] (4)
5 589,824 22.080 135 000 168.750 405 000 540 000 1920×[email protected] (13)
2048×[email protected] (13)
2048×[email protected] (12)
2560×[email protected] (5)
3680×[email protected] (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 (?)

Patent

I länder där mjukvarupatent finns måste utvecklare av programvara som använder H.264/AVC-algoritmerna betala royalties till patentinnehavarna (längden på ett patent beror på patentlandet). Innehavarna av sådana är i synnerhet Microsoft, Fujitsu, Philips, Apple, Samsung, Cisco, Toshiba, Panasonic [2] [3] . Det finns också en organisation MPEG LA , som är administratör för den konsoliderade patentpoolen [4] [5] . Totalt finns det mer än hundra patent som på något sätt påverkar eller beskriver H.264-algoritmer. Några av dem har redan gått ut, men några kommer att fortsätta att verka i USA till 2028 [6] [2] .

I mars 2011 inledde det amerikanska justitiedepartementet en utredning mot MPEG LA, misstänkt för att ha använt patentlagstiftning för att eliminera konkurrenten Googles WebM . Anledningen till att undersökningen inleddes var anklagelser om intrång i tredje utvecklares patent [7] .

Nackdelar

MPEG-4 AVC-codecs är mer resurskrävande än MPEG-4 ASP-baserade codecs (som DivX och XviD ) [8] , men detta kompenseras av andra fördelar [9] .

Formatet är patenterat och skapare av codec måste betala för distributionen genom att köpa licenser. Från och med 2011 kunde MPEG LA också börja debitera de som är inblandade i kodning och/eller förse användare med en gratis videoström i AVC [10] [11] . Men senare ändrades denna period till 2015, och den 26 augusti 2010 meddelade MPEG LA att det inte skulle tas någon avgift för att tillhandahålla användare med en videoström i H.264 gratis [12] .

Anteckningar

  1. I tidigare standarder specificerades konverteringen endast inom gränserna för tillåtna fel på grund av den praktiska omöjligheten av en exakt omvänd konvertering. Som ett resultat skulle varje implementering av avkodaren kunna producera något annorlunda avkodad video (orsakad av en oöverensstämmelse i representationen av den avkodade videon vid kodaren och avkodaren), vilket resulterar i en minskning av effektiv videokvalitet.
  2. 1 2 Arkiverad kopia (länk ej tillgänglig) . Hämtad 30 januari 2010. Arkiverad från originalet 14 maj 2015. 
  3. MPEG LA - Standarden för standarder - AVC-patentlista (nedlänk) . Hämtad 30 januari 2010. Arkiverad från originalet 8 februari 2010. 
  4. Vanliga frågor om MPEG LA-licens för MPEG-4 Video .
  5. MPEG LA - Standarden för standarder - AVC-introduktion (länk ej tillgänglig) . Datum för åtkomst: 30 januari 2010. Arkiverad från originalet den 23 januari 2010. 
  6. [whatwg] Codecs för <audio> och <video> . Datum för åtkomst: 30 januari 2010. Arkiverad från originalet den 11 januari 2012.
  7. USA misstänker MPEG LA för att försöka konkurrera med Google på ett orättvist sätt . itc.ua (7 mars 2011). Tillträdesdatum: 7 mars 2011. Arkiverad från originalet 15 februari 2012.
  8. Philip Kazakov. h264. Ett år senare: MPEG-4 AVC-videokodningsteknik. Del ett  // Computerra-online . - 2006. - 16 oktober. Arkiverad från originalet den 8 juli 2022.
  9. Oleinik I. V. N. 264. Lite sanning om vanföreställningar  // Säkerhetssystem: journal. - 2009. - Nr 2 . Arkiverad från originalet den 14 november 2009.
  10. Jan Ozer. H.264 royalties: vad du behöver  veta . Streaming Learning Center (22 juni 2009). Hämtad 7 juli 2009. Arkiverad från originalet 15 februari 2012.
  11. Tim Siglin. The H.264 Licensing Labyrinth  (engelska)  (inte tillgänglig länk) . strömmande media inc. / Information Today Inc. (12 februari 2009). Hämtad 7 juli 2009. Arkiverad från originalet 2 januari 2010.
  12. MPEG LA:s AVC-licens kommer inte att debitera royalties för internetvideo som är gratis för slutanvändare under licenstiden Arkiverad 22 september 2010.  (Engelsk)

Se även

Länkar