Lektor: Kurz: KOMPRESE VIDEA – MPEG VIDEOTECHNIKA A MULTIMÉDIA Kamil Říha KOMPRESE VIDEA - MPEG Videotechnika a multimédia 2 / 39 Kamil Říha Vysoké učení technické v Brně Fakulta elektrotechniky a komunikačních technologií Současné standardy pro kompresi videa • ITU-T (International Telecommunication Union) • H.261 • H.263 • ISO (International Organization for Standardization) • MPEG-1 • MPEG-2 • MPEG-4 (Visual) • ISO + ITU-T • H.264 AVC • (Advanced Video Coding) • H.265 HVEC • (High Efficiency Video Coding) Standardy pro kompresi videa ITU-T ISO H.261 H.263 H.264 MPEG-1 MPEG-2 MPEG-4 H.265 ITU-T ISO KOMPRESE VIDEA - MPEG Videotechnika a multimédia 3 / 39 Kamil Říha Vysoké učení technické v Brně Fakulta elektrotechniky a komunikačních technologií Standardy MPEG • ISO (International Organization for Standardization) • JTC 1 (Joint Technical Committee – podskupina ISO) • podskupina SG29 • MPEG (Moving Pricture Experts Group) • Umožňují ztrátovou kompresi videosekvence • Komprese pracuje jak s časovou, tak i s prostorovou redundancí KOMPRESE VIDEA - MPEG Videotechnika a multimédia 4 / 39 Kamil Říha Vysoké učení technické v Brně Fakulta elektrotechniky a komunikačních technologií Standard MPEG-1 • ISO/IEC 11172-1, …, 11172-5 • Rok 1992 • Navržen pro ukládání videa na CD - kvalita srovnatelná s VHS (Video Home System) • Optimalizován pro bitovou rychlost cca 1,4 Mb/s • Podpora pouze progresivního řádkování • Používaná kvalita obrazu • formát vzorkování 4:2:0 • typický obrazový formát: CIF (Common Intermediate Format), rozlišení 352 x 240 pro NTSC a 352 × 288 pro PAL • maximálně 720 řádků, 576 sloupců • 25 snímků/s (maximálně 30 snímků/s) • bitová rychlost 1 až 1,4 Mb/s KOMPRESE VIDEA - MPEG Videotechnika a multimédia 5 / 39 Kamil Říha Vysoké učení technické v Brně Fakulta elektrotechniky a komunikačních technologií Základní požadavky na MPEG-1 video 1. Kódování videa v dobré kvalitě při přenosové rychlosti 1 až 1,5 Mb/s a přidruženého audia v dobré kvalitě při přenosové rychlosti 128-256 kb/s. 2. Možnost zastavení obrazu. 3. Libovolný přístup ke snímkům obrazu v určitém čase (převíjení vpřed a vzad) s přesností 0,5 s. 4. Schopnost přehrávání vpřed i vzad s vyšší rychlostí, než je normální rychlost videa. 5. Synchronizace audio a video stopy při přehrávání. 6. Práce v reálném čase. KOMPRESE VIDEA - MPEG Videotechnika a multimédia 6 / 39 Kamil Říha Vysoké učení technické v Brně Fakulta elektrotechniky a komunikačních technologií Parametry MPEG-1 videa • Dle standardu mohou parametry obrazu dosahovat následujících hodnot: • Počet obrazových bodů v řádku – maximálně 720 px. • Počet obrazových bodů v sloupci – maximálně 576 px. • Snímková frekvence – maximálně 30 snímků/s. • Bitová rychlost – maximálně 1,856 Mb/s. KOMPRESE VIDEA - MPEG Videotechnika a multimédia 7 / 39 Kamil Říha Vysoké učení technické v Brně Fakulta elektrotechniky a komunikačních technologií Hierarchie a terminologie GOP1 GOP2 GOP3 GOP4 ... sekvence I B B P B B P B B P B B Y Cb Cr GOP snímek slice makroblok blok • Sekvence • Celá videosekvence (celý film) • Skupina snímků (GOP) • Snímek • Slice • Makroblok: • 4 jasové bloky • 1 blok pro každou barvonosnou složku Cb Cr • Blok: 8x8 pixelů KOMPRESE VIDEA - MPEG Videotechnika a multimédia 8 / 39 Kamil Říha Vysoké učení technické v Brně Fakulta elektrotechniky a komunikačních technologií GOP • Sekvence • Skupina snímků (GOP) • GOP = Group of Pictures • Série jednoho či více snímků • Videosekvence se skládá ze série GOP jdoucích po sobě • Snímek • Slice • Makroblok • Blok GOP1 GOP2 GOP3 GOP4 ... sekvence I B B P B B P B B P B B Y Cb Cr GOP snímek slice makroblok blok KOMPRESE VIDEA - MPEG Videotechnika a multimédia 9 / 39 Kamil Říha Vysoké učení technické v Brně Fakulta elektrotechniky a komunikačních technologií Typy snímků v MPEG-1 • Sekvence • Skupina snímků (GOP) • Snímek • Snímek I • Referenční snímek • Kódovaný jako JPEG • Snímek P • Referenční snímek • Prediktivně kódován z předchozího referenčního snímku • Snímek B • Není referenční snímek • Prediktivně kódován z předchozího a následujícího referenčního snímku • Snímek D • Není referenční • Kódují se jako JPEG, ale pouze DC složky každého bloku • Slice • Makroblok • Blok GOP1 GOP2 GOP3 GOP4 ... sekvence I B B P B B P B B P B B Y Cb Cr GOP snímek slice makroblok blok KOMPRESE VIDEA - MPEG Videotechnika a multimédia 10 / 39 Kamil Říha Vysoké učení technické v Brně Fakulta elektrotechniky a komunikačních technologií Hierarchie a terminologie GOP1 GOP2 GOP3 GOP4 ... sekvence I B B P B B P B B P B B Y Cb Cr GOP snímek slice makroblok blok • Sekvence • Skupina snímků (GOP) • Snímek • Při kódování se standardně používá barevný model YCbCr • Slice • Makroblok • Blok KOMPRESE VIDEA - MPEG Videotechnika a multimédia 11 / 39 Kamil Říha Vysoké učení technické v Brně Fakulta elektrotechniky a komunikačních technologií Struktura GOP • GOP se může skládat z libovolně uspořádaných snímků • Každá skupina začíná snímkem I • Délka GOP je dána vzdáleností dvou snímků I • Pořadí snímání GOP se liší od pořadí kódování GOP!!! I B B P B B P B B P B B 1 2 3 4 5 6 7 8 9 10 11 12 I 13 GOP pořadí přehrávání/snímání 1 4 2 3 7 5 6 10 8 9 13 11 12 pořadí kódování KOMPRESE VIDEA - MPEG Videotechnika a multimédia 12 / 39 Kamil Říha Vysoké učení technické v Brně Fakulta elektrotechniky a komunikačních technologií Hierarchie a terminologie GOP1 GOP2 GOP3 GOP4 ... sekvence I B B P B B P B B P B B Y Cb Cr GOP snímek slice makroblok blok • Sekvence • Skupina snímků (GOP) • Snímek • Slice • Část snímku • Minimálně jeden makroblok, maximálně celý snímek • Makroblok • Blok KOMPRESE VIDEA - MPEG Videotechnika a multimédia 13 / 39 Kamil Říha Vysoké učení technické v Brně Fakulta elektrotechniky a komunikačních technologií Hierarchie a terminologie GOP1 GOP2 GOP3 GOP4 ... sekvence I B B P B B P B B P B B Y Cb Cr GOP snímek slice makroblok blok • Sekvence • Skupina snímků (GOP) • Snímek • Slice • Makroblok • velikost 16x16 pixelů, obsahuje všechny barevné složky obrazu • MPEG – 1 používá makrobloky vzorkované 4:2:0 modelu YCbCr • Blok KOMPRESE VIDEA - MPEG Videotechnika a multimédia 14 / 39 Kamil Říha Vysoké učení technické v Brně Fakulta elektrotechniky a komunikačních technologií Makroblok • MPEG – 1 používá makrobloky vzorkované 4:2:0 modelu YCbCr • Skládá se tedy z: • 4 x blok 8x8 pixelů jasové složky Y • 1 x blok 8x8 pixelů barvonosné složky Cb • 1 x blok 8x8 pixelů barvonosné složky Cr Obraz Makroblok Y Cb Cr 8 8 16 16 KOMPRESE VIDEA - MPEG Videotechnika a multimédia 15 / 39 Kamil Říha Vysoké učení technické v Brně Fakulta elektrotechniky a komunikačních technologií Kódování makrobloků 1. Kódování uvnitř bloku (INTRA kódování) • Téměř shodné z kódování JPEG, rozdílné jsou pouze kvantizační tabulky 2. Mezisnímkové kódování (INTER kódování) • Používá se u snímků typu P a B. • Kóduje se pouze rozdíl mezi aktuálním makroblokem a makroblokem odhadnutým z referenčního snímku. • V případě, že rozdíl přesahuje určitou definovanou mez, makroblok se kóduje jako INTRA. • Využívají se techniky pro odhad pohybu například technika Three-Step Search (Vektory pohybu). KOMPRESE VIDEA - MPEG Videotechnika a multimédia 16 / 39 Kamil Říha Vysoké učení technické v Brně Fakulta elektrotechniky a komunikačních technologií Příklad vyhledávání a kompenzace pohybu KOMPRESE VIDEA - MPEG Videotechnika a multimédia 17 / 39 Kamil Říha Vysoké učení technické v Brně Fakulta elektrotechniky a komunikačních technologií Three-step search (TSS) 1 1 1 1 1 1 1 1 1 • Nejčastěji používaný jako tříkrokový • Možné použít i více kroků (N-Step Search) • Velikost vyhledávacího okna • ±(2 𝑁 − 1) pixelů • Postup vyhledávání • Nalezení pozice (0,0) • Nastavení 𝑆 = 2 𝑁−1 (velikost kroku) • Nalezení osmi pozic ± 𝑆 pixelů okolo pozice (0,0) • Výběr pozice ze současných devíti s nejmenší střední chybou absolutních hodnot (aritmetický průměr ) • pozice je potom brána jako počáteční • Nastavení 𝑆 = 𝑆/2 • Opakování bodů 3-5, dokud 𝑆 = 1 KOMPRESE VIDEA - MPEG Videotechnika a multimédia 18 / 39 Kamil Říha Vysoké učení technické v Brně Fakulta elektrotechniky a komunikačních technologií Three-step search (TSS) 2 1 1 1 1 1 1 1 1 2 2 22 2 22 2 • Nejčastěji používaný jako tříkrokový • Možné použít i více kroků (N-Step Search) • Velikost vyhledávacího okna • ±(2 𝑁 − 1) pixelů • Postup vyhledávání • Nalezení pozice (0,0) • Nastavení 𝑆 = 2 𝑁−1 (velikost kroku) • Nalezení osmi pozic ± 𝑆 pixelů okolo pozice (0,0) • Výběr pozice ze současných devíti s nejmenší střední chybou absolutních hodnot (aritmetický průměr ) • pozice je potom brána jako počáteční • Nastavení 𝑆 = 𝑆/2 • Opakování bodů 3-5, dokud 𝑆 = 1 KOMPRESE VIDEA - MPEG Videotechnika a multimédia 19 / 39 Kamil Říha Vysoké učení technické v Brně Fakulta elektrotechniky a komunikačních technologií Three-step search (TSS) • Nejčastěji používaný jako tříkrokový • Možné použít i více kroků (N-Step Search) • Velikost vyhledávacího okna • ±(2 𝑁 − 1) pixelů • Postup vyhledávání • Nalezení pozice (0,0) • Nastavení 𝑆 = 2 𝑁−1 (velikost kroku) • Nalezení osmi pozic ± 𝑆 pixelů okolo pozice (0,0) • Výběr pozice ze současných devíti s nejmenší střední chybou absolutních hodnot (aritmetický průměr ) • pozice je potom brána jako počáteční • Nastavení 𝑆 = 𝑆/2 • Opakování bodů 3-5, dokud 𝑆 = 1 2 1 1 1 1 1 1 1 1 2 2 22 3 22 2 33 3 33 3 33 KOMPRESE VIDEA - MPEG Videotechnika a multimédia 20 / 39 Kamil Říha Vysoké učení technické v Brně Fakulta elektrotechniky a komunikačních technologií Blokové schéma kodéru Přeuspořádání snímků DCT Q IQ IDCT Kompenzace pohybu Odhad pohybu VLC Buffer Řízení Vektory pohybu vstup - + výstup Snímková paměť • VLC: Variable Length Coding (Huffmanovo kódování) • Q: kvantizace • IQ: inverzní kvantizace • DCT: Diskrétní Kosinová Transformace • IDCT: Inverzní Diskrétní Kosinová Transformace KOMPRESE VIDEA - MPEG Videotechnika a multimédia 21 / 39 Kamil Říha Vysoké učení technické v Brně Fakulta elektrotechniky a komunikačních technologií Přeuspořádání snímků I B B P B B P B B P B B 1 2 3 4 5 6 7 8 9 10 11 12 I 13 GOP Pořadí přehrávání/snímání 1 4 2 3 7 5 6 10 8 9 13 11 12 Pořadí kódování Přeuspořádání snímků DCT Q IQ IDCT Kompenzace pohybu Odhad pohybu VLC Buffer Řízení Vektory pohybu vstup - + výstup Snímková paměť KOMPRESE VIDEA - MPEG Videotechnika a multimédia 22 / 39 Kamil Říha Vysoké učení technické v Brně Fakulta elektrotechniky a komunikačních technologií Kódování 1. snímku v GOP • Spínače zpětné vazby jsou rozepnuty • Snímek je kódován stejným způsobem, jako JPEG a uložen do bufferu • Snímek je zároveň dekódován ve zpětné vazbě a uložen do snímkové paměti Přeuspořádání snímků DCT Q IQ IDCT Kompenzace pohybu Odhad pohybu VLC Buffer Řízení Vektory pohybu vstup - + výstup Snímková paměť I B B P B B P B B P B B 1 2 3 4 5 6 7 8 9 10 11 12 I 13 GOP Pořadí přehrávání/snímání 1 4 2 3 7 5 6 10 8 9 13 11 12 Pořadí kódování KOMPRESE VIDEA - MPEG Videotechnika a multimédia 23 / 39 Kamil Říha Vysoké učení technické v Brně Fakulta elektrotechniky a komunikačních technologií Kódování prvního snímku I Přeuspořádání snímků DCT Q IQ IDCT Kompenzace pohybu Odhad pohybu VLC Buffer Řízení Vektory pohybu vstup - + výstup Snímková paměť KOMPRESE VIDEA - MPEG Videotechnika a multimédia 24 / 39 Kamil Říha Vysoké učení technické v Brně Fakulta elektrotechniky a komunikačních technologií Kódování 2.(4.) snímku v GOP • Spínače zpětné vazby jsou sepnuty • 2. kódovaný snímek (P) vstupuje do bloku pro odhad pohybu zároveň se snímkem uloženým ve snímkové paměti • V bloku pro odhad pohybu se hledají takové makrobloky ve snímku ze Snímkové paměti, aby se co nejvíce podobaly makroblokům 2. snímku – jsou získány vektory pohybu • Vektory pohybu jsou aplikovány na snímek uložený ve snímkové paměti v bloku kompenzace pohybu vznikne kompenzovaný snímek. Přeuspořádání snímků DCT Q IQ IDCT Kompenzace pohybu Odhad pohybu VLC Buffer Řízení Vektory pohybu vstup - + výstup Snímková paměť I B B P B B P B B P B B 1 2 3 4 5 6 7 8 9 10 11 12 I 13 GOP Pořadí přehrávání/snímání 1 4 2 3 7 5 6 10 8 9 13 11 12 Pořadí kódování KOMPRESE VIDEA - MPEG Videotechnika a multimédia 25 / 39 Kamil Říha Vysoké učení technické v Brně Fakulta elektrotechniky a komunikačních technologií Kódování 2.(4.) snímku v GOP • Kompenzovaný snímek se odečte od originálního 2. kódovaného snímku – výsledek představuje chybu predikce • Chyba predikce je kódována stejně jako obrázek JPEG, ve VLC kodéru jsou připojeny vektory pohybu • Ve zpětné vazbě je chyba dekódována a přičtena ke kompenzovanému snímku – tím vznikne snímek odpovídající 2. kódovanému snímku – ten se uloží do snímkové paměti. Přeuspořádání snímků DCT Q IQ IDCT Kompenzace pohybu Odhad pohybu VLC Buffer Řízení Vektory pohybu vstup - + výstup Snímková paměť I B B P B B P B B P B B 1 2 3 4 5 6 7 8 9 10 11 12 I 13 GOP Pořadí přehrávání/snímání 1 4 2 3 7 5 6 10 8 9 13 11 12 Pořadí kódování KOMPRESE VIDEA - MPEG Videotechnika a multimédia 26 / 39 Kamil Říha Vysoké učení technické v Brně Fakulta elektrotechniky a komunikačních technologií Přeuspořádání snímků DCT Q IQ IDCT Kompenzace pohybu Odhad pohybu VLC Buffer Řízení Vektory pohybu vstup - + výstup Snímková paměť Kódování 2.(4.) snímku v GOP KOMPRESE VIDEA - MPEG Videotechnika a multimédia 27 / 39 Kamil Říha Vysoké učení technické v Brně Fakulta elektrotechniky a komunikačních technologií Odhad a kompenzace pohybu - příklad a) b) c) d) • a) Snímek 1 • b) Snímek 2 • c) Rozdíl mezi snímkem 1 a 2 • d) Rozdíl mezi snímkem 1 a 2 po odhadu a kompenzaci pohybu KOMPRESE VIDEA - MPEG Videotechnika a multimédia 28 / 39 Kamil Říha Vysoké učení technické v Brně Fakulta elektrotechniky a komunikačních technologií Blok řízení • Řídí kvantizační tabulky • Díky němu je možné ovládat bitovou rychlost výstupního bitového toku Přeuspořádání snímků DCT Q IQ IDCT Kompenzace pohybu Odhad pohybu VLC Buffer Řízení Vektory pohybu vstup - + výstup Snímková paměť KOMPRESE VIDEA - MPEG Videotechnika a multimédia 29 / 39 Kamil Říha Vysoké učení technické v Brně Fakulta elektrotechniky a komunikačních technologií Blokové schéma dekodéru – příchod I snímku Buffer VLD IDCTIQ Kompenzace pohybu Přeuspořádání snímků Snímková paměť + vstup výstup • dekodér je méně výpočetně náročný, protože odpadá hledání vektorů pohybu KOMPRESE VIDEA - MPEG Videotechnika a multimédia 30 / 39 Kamil Říha Vysoké učení technické v Brně Fakulta elektrotechniky a komunikačních technologií Blokové schéma dekodéru – příchod P snímku Buffer VLD IDCTIQ Kompenzace pohybu Přeuspořádání snímků Snímková paměť + vstup výstup KOMPRESE VIDEA - MPEG Videotechnika a multimédia 31 / 39 Kamil Říha Vysoké učení technické v Brně Fakulta elektrotechniky a komunikačních technologií B - snímky • Predikce z předešlého a následného obrazu • Podle charakteru dané části videa může být vhodné přenášet rozdíl vůči různým snímkům (střih, náhlé změny ve scéně…) • 2 vektory pohybu pro každý makroblok v B snímku – možnost volby směru predikce: • Vektory pohybu směrovány na předešlý snímek (forward prediction) • Vektory pohybu směrovány na následující snímek (backward vector) • Predikce může být • Dopředná (forward prediction): daný blok se kóduje jako rozdíl vůči předchozímu snímku • Zpětná predikce (backward prediction): rozdíl vůči budoucímu snímku • Obousměrná predikce (bidirectional prediction): přenáší se rozdíl vůči (jasovému) průměru předchozího a budoucího snímku • Predikce se vybírá taková, u které vyjde nejmenší rozdílový blok • B snímky nemohou být referenční pro další snímky KOMPRESE VIDEA - MPEG Videotechnika a multimédia 32 / 39 Kamil Říha Vysoké učení technické v Brně Fakulta elektrotechniky a komunikačních technologií Řízení bitové rychlosti • Typicky je počet bitů I > P > B • bitová rychlost je závislá na obsahu scény • konstantní zpoždění zpracování v kodéru i dekodéru • změna váhového koeficientu kvantizační tabulky • CBR – konstantní bitová rychlost (Constant Bit Rate) KOMPRESE VIDEA - MPEG Videotechnika a multimédia 33 / 39 Kamil Říha Vysoké učení technické v Brně Fakulta elektrotechniky a komunikačních technologií Standard MPEG-2 • ISO/IEC 13818 • Lepší kvalita obrazu (digitální TV vysílání, DVD) • Typické rozlišení 720x576 nebo 720x480 pro ITU-R601 (SDTV) • Vyšší celková bitová rychlost 4 až 100 Mb/s • Maximální velikost slice omezena na jeden řádek • Podpora prokládaného řádkování • Rozšiřovatelnost – škálovatelnost (přijímače s různými schopnostmi) • Kompatibilita s MPEG-1 • Podpora jak konstantní CBR tak i variabilní VBR rychlosti (Variable Bit Rate) KOMPRESE VIDEA - MPEG Videotechnika a multimédia 34 / 39 Kamil Říha Vysoké učení technické v Brně Fakulta elektrotechniky a komunikačních technologií Profily KOMPRESE VIDEA - MPEG Videotechnika a multimédia 35 / 39 Kamil Říha Vysoké učení technické v Brně Fakulta elektrotechniky a komunikačních technologií Levely KOMPRESE VIDEA - MPEG Videotechnika a multimédia 36 / 39 Kamil Říha Vysoké učení technické v Brně Fakulta elektrotechniky a komunikačních technologií H.264 / MPEG-4 AVC (Advanced Video Coding) • ISO 14496-10, ITU REC H.264 • Obsahuje další techniky pro efektivnější kompresi • Standard H.264 navržen pro • Broadcastové vysílání přes kabel, satelit, kabelový modem, DSL, pozemní vysílání. Ukládání videa na optické a magnetické disky, DVD, atd. • Konverzační služby přes ISDN, Ethernet, LAN, DSL, bezdrátové a mobilní sítě, modemy, atd. • Video na požádání nebo streamování multimédií přes ISDN, kabel, modem, DSL, LAN, bezdrátové spojení,… • Multimedia messaging services (MMS) přes ISDN, DSL, LAN, bezdrátové připojení, mobilní síť KOMPRESE VIDEA - MPEG Videotechnika a multimédia 37 / 39 Kamil Říha Vysoké učení technické v Brně Fakulta elektrotechniky a komunikačních technologií H.264 AVC - profily • Základní (Baseline Profile) • Navržený pro videokonference, Mobilní TV • Hlavní (Main Profile) • Navržený pro broadcastové vysílání • Rozšířený (Extended Profile) • Navržený pro streaming • Vysoký profil (High Profile) • Navržený pro profesionální aplikace – HD kvalita KOMPRESE VIDEA - MPEG Videotechnika a multimédia 38 / 39 Kamil Říha Vysoké učení technické v Brně Fakulta elektrotechniky a komunikačních technologií H265 HEVC • High Efficiency Video Coding • Vyvinut pod organizacemi ISO a ITU-T • ISO/IEC 23008-2, ITU-T Recommendation H.265 • Standardizován v lednu 2013 • Efektivita komprese je vyšší o 50 % než u H.264/AVC • Základní struktura kódovacího schématu je založená na MPEG-2 a H.264/AVC, zdokonalen především o: • Flexibilnější dělení bloků na menší části • Flexibilnější predikce a transformace bloků • Sofistikovanější interpolace a deblocking filtr (filtrace blokových artefaktů z dekódovaného videa) • Sofistikovanější odhad a kompenzace pohybu • Podpora paralelního zpracování KOMPRESE VIDEA - MPEG Videotechnika a multimédia 39 / 39 Kamil Říha Vysoké učení technické v Brně Fakulta elektrotechniky a komunikačních technologií Porovnání H.264 AVC a H.265 HEVC Rozlišení obrazu a/nebo kvalita Bitová rychlost H.265 HEVC H.264 AVC Stejná velikost snímku a/nebo kvalita Shodná bitová rychlost