H.265

H.265 eller HEVC ( High Efficiency Video Coding  ) är ett videokomprimeringsformat som använder  mer effektiva algoritmer jämfört med H.264/MPEG-4 AVC [1] . CCITT Recommendation H.265, liksom ISO/IEC 23008-2 MPEG-H Part 2, är en gemensam utveckling av CCITT Video Coding Experts Group (VCEG) och MPEG Moving Picture Expert Group [2]. Rekommendationen av standarden utvecklades som svar på det växande behovet av högre komprimering av rörliga bilder för en mängd olika applikationer såsom Internetströmning, dataöverföring, videokonferenser, digitala lagringsenheter och TV-sändningar [3] .

Bildformat upp till 8K ( UHDTV ) med en upplösning på 8192×4320 pixlar [4] stöds .

Historik

2004 började VCEG forskning om utveckling av teknologier som skulle möjliggöra skapandet av en ny videokomprimeringsstandard (eller en betydande förbättring av H.264/MPEG-4 AVC-standarden). I oktober 2004 gjordes en översyn av olika sätt på vilka H.264/MPEG-4 AVC kunde förbättras [5] .

H.265 var ursprungligen tänkt att vara en helt ny standard, inte en förlängning av H.264 som HVC (High-performance Video Coding). Som en del av projektet tilldelades de provisoriska namnen H.265 och H.NGVC ( engelska  Next-generation Video Coding  - nästa generation av videokodning), det fanns också en betydande del av VCEG:s arbete innan dess utveckling till HEVC , ett gemensamt projekt med MPEG 2010. I april 2009 fick projektet namnet NGVC; i juli 2009 hölls ett möte mellan MPEG och VCEG, där ytterligare gemensamt arbete kring NGVC och HVC diskuterades.

Förutsättningarna för NGVC är en 50 % minskning av bithastigheten med liknande subjektiv bildkvalitet och beräkningskomplexitet jämförbar med H.264 High profile. Beroende på inställningarna förväntas beräkningskomplexiteten variera från 1/2 till 3 jämfört med H.264 High profile, medan NGVC i det första fallet ska ge en 25 % lägre bithastighet [6] .

ISO/IEC Moving Picture Experts Group (MPEG) startade ett liknande projekt 2007 , preliminärt kallat High-performance Video Coding. I juli 2007 fattades ett beslut som målet för projektet att uppnå en 50 % minskning av bithastigheten [7] . I juli 2009 visade resultaten av experimentet en genomsnittlig bithastighetsminskning på cirka 20 % jämfört med AVC High Profile, dessa resultat fick MPEG att börja standardisera i samarbete med VCEG.

För att utveckla MPEG- och VCEG-standarden skapade de Joint Collaborative Team on Video Coding (JCT-VC) (ITU-T Rec H.264|ISO/IEC 14496-10) [8] . Det första mötet med Joint Video Coding Team (JCT-VC) hölls i april 2010 . 27 fullfjädrade projekt presenterades. Utvärderingar har visat att vissa förslag kan uppnå samma bildkvalitet som AVC med bara halva bithastigheten i många försök, med 2 till 10 gånger beräkningskomplexiteten, och vissa konstruktioner har uppnått god subjektiv kvalitet och bra bithastighetsresultat med lägre beräkningskomplexitet än högprofilerad AVC-referenskodning. Vid detta möte antogs namnet för det gemensamma projektet - High Efficiency Video Coding (HEVC) [9] .

HEVC-projektkommittén godkändes i februari 2012 . I juni 2012 meddelade MPEG LA att de hade påbörjat processen att acceptera gemensamma licenser för HEVC-patent. Ett utkast till internationell standard godkändes i juli 2012 vid ett möte i Stockholm. Fröjdh, ordförande för den svenska MPEG-delegationen, tror att kommersiella produkter som stödjer HEVC skulle kunna släppas 2013 [10] .

Den 29 februari 2012 på Mobile World Congress visade Qualcomm en HEVC-avkodare som körs på en Android- surfplatta med en Qualcomm Snapdragon S4 dual-core 1,5 GHz-processor. Två versioner av videon visades med samma innehåll, kodade i H.264/MPEG-4 AVC och HEVC. I den här showen visade HEVC en nästan 50 % minskning i bithastighet jämfört med H.264/MPEG-4 AVC [11] .

Den 31 augusti 2012 tillkännagav Allegro DVT lanseringen av två HEVC-sändningskodare: AL1200 HD-SDI-kodaren och AL2200 IP-omvandlaren [12] . Allegro DVT uppgav att HEVC-hårdvaruavkodare inte borde förväntas förrän 2014, men HEVC kunde användas tidigare i mjukvaruavkodade applikationer. På IBC 2012 visade Allegro DVT HEVC IP-streamingsystem baserade på AL2200 IP-omvandlaren.

Ericsson i september 2012 vid International Broadcasting Convention (IBC) presenterade världens första HEVC-kodare - Ericsson SVP 5500, designad för att koda realtidsvideo för att sända marksänd TV i mobilnät [13] .

I april 2013 antogs utkastet som en ITU-T-standard [3] .

I början av 2017 implementerades partiellt stöd för HEVC-standarden på hårdvarunivå av alla större processortillverkare.

Många nya funktioner har föreslagits som krav för standarden:

Det antas att dessa tekniker kommer att ge den största fördelen vid multipass-kodning [14] .

Kodningseffektivitet

Utvecklingen av de flesta videokodningsstandarder är i första hand utformad för att uppnå den största kodningseffektiviteten. Kodningseffektivitet definieras som förmågan att koda video med lägsta möjliga bithastighet samtidigt som en viss nivå av videokvalitet bibehålls . Det finns två standardsätt att mäta videokodningsprestanda, det ena är att använda ett objektivt mått som peak signal to brus ratio (PSNR) och det andra är att använda ett subjektivt mått på videokvalitet. Den subjektiva utvärderingen av bildkvalitet är den viktigaste parametern för att utvärdera videokodning, eftersom tittare uppfattar videokvalitet på ett subjektivt sätt.

Istället för makroblock som används i H.264 använder HEVC block med en trädliknande kodningsstruktur. Fördelen med HEVC-kodaren är att man använder större block. Detta visades i PSNR-tester med HM-8.0-kodarmodellen, där kodningsresultaten jämfördes med olika blockstorlekar. Som ett resultat av testerna visade det sig att jämfört med kodningsblock på 64×64 pixlar ökar bithastigheten med 2,2 % när block på 32×32 används och ökar med 11,0 % när block på 16×16 används . I tester av videokodning med en upplösning på 2560x1600 pixlar, när man använder block på 32x32 pixlar, ökar bithastigheten med 5,7 %, och när man använder block på 16x16 pixlar, med 28,2 % jämfört med video där block i storleken 64x64, med samma toppsignal-brusförhållande. Tester har visat att användning av större block är effektivare vid kodning av högupplöst video. Tester har också visat att video kodad med 16x16 block tar 60 % längre tid att avkoda än när man använder 64x64 block. Det vill säga att användningen av större block ökar kodningseffektiviteten samtidigt som avkodningstiden minskar [15] .

Kodningseffektiviteten för H.265 Main Profile jämfördes med H.264/MPEG-4 AVC High Profile (HP), MPEG-4 Advanced Simple Profile (ASP), H.263 High Profile Latency (HLP) och H.262/ MPEG-2 huvudprofil (MP). Underhållningsvideor och nio testvideosekvenser med 12 olika bithastigheter kodades med hjälp av testmodellen HEVC HM-8.0, fem av dem var i HD-upplösning och fyra var i WVGA-upplösning (800×480). Bithastighetsreduktion bestämdes baserat på PSNR [15] .

Jämförelse av videokodningsstandarder med lika PSNR
Videokodningsstandard Genomsnittlig bithastighetsminskning
H.264/MPEG-4 AVC HP MPEG-4 ASP H.263 HLP H.262/MPEG-2MP
HEVC MP 35,4 % 63,7 % 65,1 % 70,8 %
H.264/MPEG-4 AVC HP - 44,5 % 46,6 % 55,4 %
MPEG-4 ASP - - 3,9 % 19,7 %
H.263 HLP - - - 16,2 %

Struktur för HEVC-kodaren

Vid kodning av video i HEVC används samma "hybrid" tillvägagångssätt som i alla moderna codecs, med början H.261. Den består i att tillämpa intra- och inter-frame (Intra-/Inter-) prediktion och tvådimensionell transformkodning.

I HEVC-kodaren är varje videoram uppdelad i block. Den första ramen i videosekvensen kodas med användning av endast intra-frame-prediktion, det vill säga den rumsliga prediktionen av den förväntade sampelnivån inom ramen appliceras på intilliggande sampel, medan det inte finns något beroende av andra ramar. För de flesta block av alla andra ramar i sekvensen används som regel moden för tidsförutsägelse mellan ramar. I interframe-prediktionsmoden, baserat på data om värdet av samplen av referensramen och rörelsevektorn, uppskattas de aktuella samplen för varje block. Kodaren och avkodaren skapar identiska inter-frame-prediktioner genom att tillämpa en rörelsekompensationsalgoritm med användning av rörelsevektorer och valda moddata, som överförs som sidoinformation.

Förutsägelsedifferenssignalen, som är skillnaden mellan ett referensblock i en ram och dess förutsägelse, genomgår en linjär rumslig transformation. Transformkoefficienterna skalas sedan, kvantiseras, entropikodning tillämpas och sänds sedan tillsammans med prediktionsinformationen.

Kodaren upprepar exakt avkodarens behandlingscykel så att identiska förutsägelser av efterföljande data kommer att genereras i båda fallen. Således avskalas de transformerade kvantiserade koefficienterna och detransformeras sedan för att upprepa det avkodade skillnadssignalvärdet. Skillnaden läggs sedan till förutsägelsen och det resulterande resultatet filtreras för att jämna ut blockerings- och kvantiseringsartefakter. Den slutliga ramrepresentationen (identisk med ramen vid utgången från avkodaren) lagras i den avkodade rambufferten, som kommer att användas för att förutsäga efterföljande ramar. Som ett resultat av detta skiljer sig ofta ordningen i vilken bearbetningsramar kodas och avkodas från den ordning i vilken de kommer från källan.

Det antas att videomaterialet vid ingången till HEVC-kodaren är progressiv avsökning. HEVC tillhandahåller inte explicita sammanflätningskodningsfunktioner, eftersom det inte används i moderna skärmar och dess distribution minskar. Emellertid introducerade HEVC metadata för att indikera för kodaren att sammanflätad video kodades i ett av två lägen: som individuella bilder, som två fält (jämna eller udda linjer i bildrutan), eller hela bildrutan som helhet. Denna effektiva metod tillhandahåller sammanflätad videokodning utan att behöva belasta avkodare med en dedikerad avkodningsprocess.

Profiler

Från och med oktober 2012 inkluderade projektet tre profiler: Main (Main), Main 10 (Main 10) och Main Still Picture (Main Still Picture) [16] .

En profil är en specifik uppsättning kodningsverktyg och algoritmer som kan användas för att skapa en videoström som motsvarar denna profil [15] . Kodaren, när den bildar en videoström, bestämmer vilka komponenter som kan användas för en profil, medan avkodaren måste stödja alla funktioner för en given profil.

Main (Huvudprofil)

Följande begränsningar är definierade för huvudprofilen:

Main 10

Main 10 är en profil för kodning av video med ett färgdjup på 10 bitar per kanal [16] .

Jämförelse av huvudelementen i kodare:

AVC (Hög profil) HEVC (Main 10) HEVC (huvudprofil)
Block storlek Makroblock 16×16 Block med en trädstruktur med kodning från 64x64 till 8x8 från 64×64 till 16×16
Förutsägelseblock Dela upp till 4×4 64×64 till 4×4, asymmetrisk förutsägelse 64×64 till 8×8, symmetrisk förutsägelse
Förvandla block 8×8 och 4×4 32x32 16x16 8x8 4x4 + icke-fyrkantiga transformationer 32×32 16×16 8×8 4×4
Intra-frame förutsägelse 9 lägen 35 lägen 35 lägen
Omvänd transformation Avblockerande filter Avblockerande filter, SAO Avblockerande filter, SAO
Rörelsekompensation Rörelsevektor förutsägelse Avancerad rörelsevektorprediktion (spatial och temporal)
Färgdjup per kanal 8 bitar 10 bitar 8 bitar
Entropikodning CABAC eller CAVLC CABAC använder parallella operationer

Huvudstillbild

Huvudprofilen för stillbilder gör det möjligt att koda en enda bild, med vissa begränsningar som motsvarar huvudprofilen [16] .

Nivåer

Från och med oktober 2012 definierade HEVC-projektet två lager - Main (Main) och High (High), och 13 nivåer [16] . Nivå (Level) är en uppsättning begränsningar för dataflödet som är associerat med beräkningskapaciteten hos avkodaren och minnesbelastningen. Nivån ställs in baserat på den maximala samplingshastigheten, den maximala ramstorleken, den maximala bithastigheten, den minsta kompressionsförhållandet och rambuffertkapaciteten hos avkodaren och kodaren. Konceptet med ett lager ( eng.  Tier  - tier) introducerades för applikationer som endast skiljer sig i den maximala bithastigheten och kapaciteten hos kodarens rambuffert. Huvudskiktet har designats för de flesta applikationer, medan High-skiktet är designat för mer krävande applikationer. En avkodare som motsvarar ett visst lager och lager måste avkoda alla strömmar som kodas med parametrarna för det lagret och lagret och alla lägre lager och nivåer. För nivåer under 4 är endast Core Layer [1] [16] tillåtet .

Nivåer med maximala parametrar
Nivå Max.
samplingshastighet [ 17]
(Hz)
Max.
ramstorlek [ 17]
(pixel)
Max. bithastighet
för Main och Main 10 profiler
(kbps)
Exempel på ramupplösning @
max. bildhastighet
(Max
rambuffertstorlek)
Min.
kompressionsförhållande
_
Baslager högt lager
ett 552 960 36 864 128 - 128×96@33,7 (6)
176×144@15,0 (6)
2
2 3 686 400 122 880 1500 - 176×144@100,0 (16)
352×288@30,0 (6)
2
2.1 7 372 800 245 760 3000 - 352×[email protected] (12)
640×[email protected] (6)
2
3 16 588 800 552 960 6000 - 640×[email protected] (12)
720×[email protected] (8)
720×[email protected] (8)
960×[email protected] (6)
2
3.1 33 177 600 983.040 10 000 - 720×[email protected] (12)
720×[email protected] (12)
960×[email protected] (8)
1280×[email protected] (6)
2
fyra 66 846 720 2 228 224 12 000 30 000 1280×[email protected] (12)
1920×[email protected] (6)
2048×[email protected] (6)
fyra
4.1 133 693 440 20 000 50 000 1280×[email protected] (12)
1920×[email protected] (6)
2048×[email protected] (6)
fyra
5 267 386 880 8 912 896 25 000 100 000 1920×[email protected] (16)
3840×[email protected] (6)
4096×[email protected] (6)
6
5.1 534 773 760 40 000 160 000 1920×[email protected] (16)
3840×[email protected] (6)
4096×[email protected] (6)
åtta
5.2 1 069 547 520 60 000 240 000 1920×1080@300,0 (16)
3840×2160@128,0 (6)
4096×2160@120,0 (6)
åtta
6 1 069 547 520 35 651 584 60 000 240 000 3840×[email protected] (16)
4096×[email protected] (16)
4096×[email protected] (12)
7680×[email protected] (6)
8192×[email protected] (6)
åtta
6.1 2 139 095 040 120 000 480 000 3840×[email protected] (16)
4096×[email protected] (16)
4096×[email protected] (12)
7680×[email protected] (6)
8192×[email protected] (6)
åtta
6.2 4 278 190 080 240 000 800 000 3840×2160@ 300,0 (16) 4096×
2160@300,0 (16)
4096×2304@300,0 (12)
7680×4320@128,0 (6)
8192×4320@120,06 (12)
6

Anteckningar

  1. 1 2 G.J. Sullivan . Översikt över High Efficiency Video Coding (HEVC) Standard (pdf), IEEE Trans. om kretsar och system för videoteknik (25 maj 2012). Arkiverad från originalet den 8 januari 2020. Hämtad 14 september 2012.
  2. ISO/IEC FDIS 23008-2 , International Organization for Standardization  (14 maj 2013). Arkiverad från originalet den 26 februari 2017. Hämtad 14 juni 2013.
  3. 1 2 ITU-T Hem : Studiegrupper : ITU-T Rekommendationer : ITU-T H.265 (04/2013) , ITU (13 april 2013). Arkiverad från originalet den 5 november 2013. Hämtad 16 april 2013.
  4. H.265: Högeffektiv videokodning , ITU (7 juni 2013). Arkiverad från originalet den 1 januari 2021. Hämtad 7 juni 2013.
  5. Utkast till mötesrapport för 31:a VCEG-mötet Arkiverad 22 juli 2012 på Wayback Machine (Marrakech, MA, 15-16 januari, 2007)
  6. Utkast till krav för "EPVC"-projekt för videokodning med förbättrad prestanda , ITU-T VCEG  (10 juli 2009). Arkiverad från originalet den 27 februari 2021. Hämtad 24 augusti 2012.
  7. En intervju med Dr. Thomas Wiegand (inte tillgänglig länk) . in-cites (1 juli 2007). Hämtad 18 augusti 2012. Arkiverad från originalet 24 oktober 2012. 
  8. ITU TSB. Joint Collaborative Team on Video Coding (ej tillgänglig länk) . ITU-T (21 maj 2010). Hämtad 24 augusti 2012. Arkiverad från originalet 24 oktober 2012. 
  9. Dokument från det första mötet i Joint Collaborative Team on Video Coding (JCT-VC) – Dresden, Tyskland, 15–23 april 2010 (länk ej tillgänglig) . ITU-T (23 april 2010). Hämtad 24 augusti 2012. Arkiverad från originalet 24 oktober 2012. 
  10. MPEG utfärdar utkast till videokomprimering , Ericsson (13 augusti 2012). Arkiverad från originalet den 4 juni 2016. Hämtad 16 augusti 2012.
  11. Qualcomm visar hästkrafter av nästa generations H.265-video , CNET (29 februari 2012). Arkiverad från originalet den 22 februari 2014. Hämtad 12 oktober 2012.
  12. World First Live HEVC Broadcast Encoders: AL1200/AL2200 , PRNewswire (31 augusti 2012). Arkiverad från originalet den 6 september 2012. Hämtad 31 augusti 2012.
  13. Ericsson presenterar en ny titt på tittarupplevelsen [13-09-2012] Arkiverad 14 mars 2016.
  14. Aktuell status för H.265 (per juli 2008) | H265.net (inte tillgänglig länk) . Hämtad 8 november 2009. Arkiverad från originalet 15 oktober 2012. 
  15. 1 2 3 G.J. Sullivan . Jämförelse av kodningseffektiviteten för videokodningsstandarder – inklusive High Efficiency Video Coding (HEVC) (pdf), IEEE Trans. om kretsar och system för videoteknik (22 augusti 2012). Arkiverad från originalet den 11 augusti 2013. Hämtad 22 september 2012.
  16. 1 2 3 4 5 High Efficiency Video Coding (HEVC) textspecifikationsutkast 9 , JCT-VC (22 oktober 2012). Arkiverad från originalet den 29 juli 2013. Hämtad 23 oktober 2012.
  17. 1 2 För ljusstyrkekomponenten

Se även

Länkar