H.265 nebo HEVC ( High Efficiency Video Coding ) je formát komprese videa využívající efektivnější algoritmy ve srovnání s H.264/MPEG-4 AVC [1] . CCITT doporučení H.265, stejně jako ISO/IEC 23008-2 MPEG-H část 2, je společným vývojem CCITT Video Coding Experts Group (VCEG) a MPEG Moving Picture Expert Group [2]. Doporučení standardu bylo vyvinuto v reakci na rostoucí potřebu vyšší komprese pohyblivých obrázků pro širokou škálu aplikací, jako je streamování internetu, přenos dat, videokonference, digitální paměťová zařízení a televizní vysílání [3] .
Podporovány jsou formáty snímků až do 8K ( UHDTV ) s rozlišením 8192×4320 pixelů [4] .
V roce 2004 VCEG zahájila výzkum vývoje technologií, které by umožnily vytvoření nového standardu komprese videa (nebo výrazné vylepšení standardu H.264/MPEG-4 AVC). V říjnu 2004 byla provedena revize různých způsobů, jak by bylo možné H.264/MPEG-4 AVC zlepšit [5] .
H.265 měl být původně zcela nový standard, nikoli rozšíření H.264 jako HVC (High-performance Video Coding). V rámci projektu byly přiděleny provizorní názvy H.265 a H.NGVC ( anglicky Next-generation Video Coding - další generace kódování videa), byla zde také významná část práce VCEG před jejím vývojem v HEVC , společný projekt s MPEG v roce 2010. V dubnu 2009 byl projekt pojmenován NGVC; v červenci 2009 se uskutečnilo jednání mezi MPEG a VCEG, kde se diskutovalo o další společné práci na NGVC a HVC.
Předpokladem pro NGVC je 50% snížení bitrate s podobnou subjektivní kvalitou obrazu a výpočetní náročností srovnatelnou s H.264 High profilem. V závislosti na nastavení se očekává, že výpočetní náročnost se bude lišit od 1/2 do 3 ve srovnání s H.264 High profilem, zatímco v prvním případě by NGVC mělo poskytovat o 25 % nižší bitrate [6] .
ISO/IEC Moving Picture Experts Group (MPEG) zahájila podobný projekt v roce 2007 , předběžně nazvaný High-performance Video Coding. V červenci 2007 padlo rozhodnutí jako cíl projektu dosáhnout 50% snížení bitrate [7] . V červenci 2009 výsledky experimentu ukázaly průměrné snížení datového toku asi o 20 % ve srovnání s AVC High Profile, tyto výsledky přiměly MPEG k zahájení standardizace ve spolupráci s VCEG.
Pro vývoj standardu MPEG a VCEG vytvořili Společný tým pro spolupráci v oblasti kódování videa (JCT-VC) (ITU-T Rec H.264|ISO/IEC 14496-10) [8] . První setkání Společného týmu pro kódování videa (JCT-VC) se konalo v dubnu 2010 . Představeno bylo 27 plnohodnotných projektů. Hodnocení ukázala, že některé návrhy mohou dosáhnout stejné kvality obrazu jako AVC s pouze polovičním datovým tokem v mnoha pokusech, při 2 až 10násobku výpočetní složitosti, a některé návrhy dosáhly dobré subjektivní kvality a dobrých výsledků s bitovou rychlostí s nižší výpočetní složitostí než vysoce profilové referenční kódování AVC. Na tomto setkání byl přijat název pro společný projekt – High Efficiency Video Coding (HEVC) [9] .
Projektový výbor HEVC byl schválen v únoru 2012 . V červnu 2012 MPEG LA oznámila, že zahájila proces přijímání společných licencí na patenty HEVC. Návrh mezinárodní normy byl schválen v červenci 2012 na zasedání konaném ve Stockholmu. Fröjdh, předseda švédské delegace MPEG, věří, že komerční produkty, které podporují HEVC, by mohly být uvedeny na trh v roce 2013 [10] .
29. února 2012 na Mobile World Congress , Qualcomm ukázal dekodér HEVC běžící na tabletu Android s dvoujádrovým procesorem Qualcomm Snapdragon S4 1,5 GHz. Byly zobrazeny dvě verze videa se stejným obsahem, zakódované v H.264/MPEG-4 AVC a HEVC. V této show HEVC ukázal téměř 50% snížení bitové rychlosti ve srovnání s H.264/MPEG-4 AVC [11] .
31. srpna 2012 Allegro DVT oznámilo uvedení dvou vysílacích kodérů HEVC: kodéru AL1200 HD-SDI a transkodéru AL2200 IP [12] . Allegro DVT uvedlo, že hardwarové dekodéry HEVC by se neměly očekávat dříve než v roce 2014, ale HEVC by bylo možné použít dříve v aplikacích dekódovaných softwarem. Na IBC 2012 Allegro DVT ukázalo HEVC IP streamingové systémy založené na transkodéru AL2200 IP.
Ericsson v září 2012 na International Broadcasting Convention (IBC) představil první kodér HEVC na světě – Ericsson SVP 5500, navržený pro kódování videa v reálném čase pro vysílání pozemní televize v mobilních sítích [13] .
V dubnu 2013 byl návrh přijat jako standard ITU-T [3] .
Začátkem roku 2017 byla implementována částečná podpora standardu HEVC na hardwarové úrovni všemi významnými výrobci procesorů.
Jako požadavky normy bylo navrženo mnoho nových funkcí:
Předpokládá se, že tyto techniky přinesou největší přínos ve víceprůchodovém kódování [14] .
Vývoj většiny standardů kódování videa je primárně navržen tak, aby bylo dosaženo co největší efektivity kódování. Efektivita kódování je definována jako schopnost kódovat video při nejnižší možné bitové rychlosti při zachování určité úrovně kvality videa . Existují dva standardní způsoby měření výkonu kódování videa, jedním je použití objektivní metriky, jako je špičkový poměr signálu k šumu (PSNR), a druhým je použití subjektivního měřítka kvality videa. Subjektivní hodnocení kvality obrazu je nejdůležitějším parametrem pro hodnocení kódování videa, protože diváci vnímají kvalitu videa subjektivně.
Namísto makrobloků používaných v H.264 používá HEVC bloky se stromovou strukturou kódování. Výhoda HEVC kodéru je v použití větších bloků. To se ukázalo v testech PSNR s modelem kodéru HM-8.0, kde byly výsledky kódování porovnány s různými velikostmi bloků. Výsledkem testů bylo prokázáno, že ve srovnání s kódovacími bloky 64×64 pixelů se přenosová rychlost zvýší o 2,2 % při použití bloků 32×32 a o 11,0 % při použití bloků 16×16 . V testech kódování videa s rozlišením 2560x1600 pixelů se při použití bloků 32x32 pixelů zvýší bitrate o 5,7 % a při použití bloků 16x16 pixelů o 28,2 % ve srovnání s videem, kde bloky o velikosti 64×64 s stejný špičkový odstup signálu od šumu. Testy ukázaly, že použití větších bloků je efektivnější při kódování videa s vysokým rozlišením. Testy také ukázaly, že video kódované pomocí bloků 16x16 trvá dekódování o 60 % déle než při použití bloků 64x64. To znamená, že použití větších bloků zvyšuje efektivitu kódování a zároveň zkracuje dobu dekódování [15] .
Účinnost kódování hlavního profilu H.265 byla porovnána s H.264/MPEG-4 AVC High Profile (HP), MPEG-4 Advanced Simple Profile (ASP), H.263 High Profile Latency (HLP) a H.262/ Hlavní profil MPEG-2 (MP). Zábavná videa a devět testovacích videosekvencí při 12 různých bitratech bylo zakódováno pomocí testovacího modelu HEVC HM-8.0, pět z nich bylo v HD rozlišení a čtyři v rozlišení WVGA (800×480). Snížení bitrate bylo stanoveno na základě PSNR [15] .
Standard kódování videa | Snížení průměrného datového toku | |||
---|---|---|---|---|
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 % |
Při kódování videa v HEVC se používá stejný „hybridní“ přístup jako ve všech moderních kodecích, počínaje H.261. Spočívá v aplikaci intra- a inter-frame (Intra-/Inter-) predikce a dvourozměrného transformačního kódování.
V kodéru HEVC je každý snímek videa rozdělen do bloků. První snímek video sekvence je zakódován pouze pomocí intra-rámcové predikce, to znamená, že prostorová predikce očekávané úrovně vzorku v rámci je aplikována na sousední vzorky, přičemž neexistuje žádná závislost na ostatních snímcích. Pro většinu bloků všech ostatních snímků sekvence se zpravidla používá režim mezisnímkové časové predikce. V režimu mezisnímkové predikce se na základě dat o hodnotě vzorků referenčního snímku a vektoru pohybu odhadují aktuální vzorky každého bloku. Kodér a dekodér vytvářejí identické mezisnímkové predikce aplikací algoritmu kompenzace pohybu pomocí pohybových vektorů a dat zvoleného režimu, která jsou přenášena jako vedlejší informace.
Predikční rozdílový signál, což je rozdíl mezi referenčním blokem snímku a jeho predikcí, prochází lineární prostorovou transformací. Transformační koeficienty jsou poté škálovány, kvantovány, je aplikováno entropické kódování a poté přenášeny spolu s predikční informací.
Kodér přesně opakuje cyklus zpracování dekodéru, takže v obou případech budou generovány identické predikce následných dat. Transformované kvantované koeficienty jsou tedy zbaveny měřítka a poté detransformovány, aby se opakovala hodnota dekódovaného rozdílového signálu. Rozdíl je pak přidán k predikci a výsledný výsledek je filtrován, aby se vyhladily blokovací a kvantizační artefakty. Konečná reprezentace rámce (identická se snímkem na výstupu z dekodéru) je uložena ve vyrovnávací paměti dekódovaného rámce, která bude použita k predikci následujících snímků. V důsledku toho se pořadí, ve kterém jsou rámce zpracování kódovány a dekódovány, často liší od pořadí, ve kterém pocházejí ze zdroje.
Předpokládá se, že video materiál na vstupu kodéru HEVC je progresivní skenování. HEVC neposkytuje explicitní funkce prokládání kódování, protože se nepoužívá v moderních displejích a jeho distribuce klesá. HEVC však zavedl metadata, která kodéru indikují, že prokládané video bylo kódováno v jednom ze dvou režimů: jako jednotlivé obrázky, jako dvě pole (sudé nebo liché řádky snímku) nebo celý snímek jako celek. Tato účinná metoda poskytuje prokládané kódování videa, aniž by bylo nutné zatěžovat dekodéry speciálním dekódovacím procesem.
Od října 2012 projekt zahrnoval tři profily: Main (Main), Main 10 (Main 10) a Main Still Picture (Main Still Picture) [16] .
Profil je specifická sada kódovacích nástrojů a algoritmů, které lze použít k vytvoření toku videa odpovídající tomuto profilu [15] . Kodér při vytváření video streamu určuje, které komponenty lze použít pro profil, zatímco dekodér musí podporovat všechny funkce pro daný profil.
Pro hlavní profil jsou definována následující omezení:
Main 10 je profil pro kódování videa s barevnou hloubkou 10 bitů na kanál [16] .
Porovnání hlavních prvků kodérů:
AVC (vysoký profil) | HEVC (hlavní 10) | HEVC (hlavní profil) | |
---|---|---|---|
Velikost bloku | Makroblok 16×16 | Bloky se stromovou strukturou kódování od 64x64 do 8x8 | od 64×64 do 16×16 |
Predikční bloky | Rozdělit až na 4×4 | 64×64 až 4×4, asymetrická předpověď | 64×64 až 8×8, symetrická předpověď |
Transformovat bloky | 8×8 a 4×4 | 32x32 16x16 8x8 4x4 + nečtvercové transformace | 32×32 16×16 8×8 4×4 |
Vnitrosnímková predikce | 9 režimů | 35 režimů | 35 režimů |
Reverzní transformace | Deblokační filtr | Deblokační filtr, SAO | Deblokační filtr, SAO |
Kompenzace pohybu | Predikce vektoru pohybu | Pokročilá predikce pohybového vektoru (prostorová a časová) | |
Barevná hloubka na kanál | 8 bitů | 10 bitů | 8 bitů |
Entropické kódování | CABAC nebo CAVLC | CABAC pomocí paralelních operací |
Hlavní profil statických obrázků umožňuje zakódovat jeden obrázek, s výhradou určitých omezení odpovídajících hlavnímu profilu [16] .
Od října 2012 definoval projekt HEVC dvě vrstvy – Main (Main) a High (High) a 13 úrovní [16] . Úroveň (Level) je sada omezení pro tok dat souvisejících s výpočetními schopnostmi dekodéru a zatížením paměti. Úroveň je nastavena na základě maximální vzorkovací frekvence, maximální velikosti snímku, maximální přenosové rychlosti, minimálního kompresního poměru a možností vyrovnávací paměti snímků dekodéru a kodéru. Koncept vrstvy ( angl. Tier - tier) byl zaveden pro aplikace, které se liší pouze maximální bitovou rychlostí a kapacitou vyrovnávací paměti snímků kodéru. Hlavní vrstva byla navržena pro většinu aplikací, zatímco vrstva High je určena pro náročnější aplikace. Dekodér odpovídající konkrétní vrstvě a vrstvě musí dekódovat všechny proudy zakódované s parametry této vrstvy a vrstvy a všech nižších vrstev a úrovní. Pro úrovně pod 4 je povolena pouze základní vrstva [1] [16] .
Úroveň | Max. vzorkovací frekvence [ 17] (Hz) |
Max. velikost snímku [ 17] (pixel) |
Max. přenosová rychlost pro hlavní a hlavní profily 10 (kbps) |
Příklad rozlišení snímku @ max. snímková frekvence (maximální velikost framebufferu) |
Min. kompresní poměr | |
---|---|---|---|---|---|---|
Základní vrstva | vysoká vrstva | |||||
jeden | 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×288@60,0 (12) 640×360@30,0 (6) |
2 |
3 | 16 588 800 | 552 960 | 6000 | - | 640×360@67,5 (12) 720×480@42,1 (8) 720×576@37,5 (8) 960×544@30,0 (6) |
2 |
3.1 | 33 177 600 | 983,040 | 10 000 | - | 720×480@84,3 (12) 720×576@75,0 (12) 960×544@60,0 (8) 1280×720@33,7 (6) |
2 |
čtyři | 66 846 720 | 2 228 224 | 12 000 | 30 000 | 1280×720@68,0 (12) 1920×1080@32,0 (6) 2048×1080@30,0 (6) |
čtyři |
4.1 | 133 693 440 | 20 000 | 50 000 | 1280×720@136,0 (12) 1920×1080@64,0 (6) 2048×1080@60,0 (6) |
čtyři | |
5 | 267 386 880 | 8 912 896 | 25 000 | 100 000 | 1920×1080@128,0 (16) 3840×2160@32,0 (6) 4096×2160@30,0 (6) |
6 |
5.1 | 534 773 760 | 40 000 | 160 000 | 1920×1080@256,0 (16) 3840×2160@64,0 (6) 4096×2160@60,0 (6) |
osm | |
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) |
osm | |
6 | 1 069 547 520 | 35 651 584 | 60 000 | 240 000 | 3840×2160@128,0 (16) 4096×2160@120,0 (16) 4096×2304@113,3 (12) 7680×4320@32,0 (6) 8192×4320@30,0 (6) |
osm |
6.1 | 2 139 095 040 | 120 000 | 480 000 | 3840×2160@256,0 (16) 4096×2160@240,0 (16) 4096×2304@226,6 (12) 7680×4320@64,0 (6) 8192×4320@60,0 (6) |
osm | |
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,0 (6) |
6 |
ISO | normy|
---|---|
| |
1 až 9999 |
|
10 000 až 19999 |
|
20 000+ | |
Viz také: Seznam článků, jejichž názvy začínají na „ISO“ |
Komprese videa | |
---|---|
Doporučení ITU-T | |
normy ISO / IEC |
|
standardy SMPTE | |
MPEG-4 kodeky |
|
Bezztrátový |
|
Digitální kino | |
Jiné kodeky | |
viz také |