V kódování videa, zejména v systémech jako je HEVC (High-Efficiency Video Coding) a jeho rozšíření 3D-HEVC, je predikce klíčovým nástrojem pro dosažení vysoké efektivity komprese. Tato predikce může být rozdělena do dvou hlavních kategorií: predikce mezi snímky (Inter-frame) a predikce v rámci jednoho snímku (Intra-frame). Tyto techniky jsou zásadní pro snížení datového toku, přičemž se snaží zachovat co nejvyšší kvalitu obrazu.
V rámci predikce Intra-frame jsou k dispozici pouze bloky velikosti N × N a 2N × 2N, zatímco predikce Inter-frame může využívat nejen symetrické bloky (například 2N × N a N × 2N), ale také asymetrické bloky, jako jsou 2N × nU, 2N × nD, nL × 2N a nR × 2N. Asymetrické bloky jsou dostupné pouze v případě, že N je větší než čtyři. To znamená, že v rámci těchto struktur je možné použít různé kombinace rozdělení obrazových bloků pro dosažení optimálního poměru mezi kvalitou obrazu a kompresním poměrem.
Kromě toho HEVC podporuje hierarchické dělení obrazových sekvencí do různých úrovní. Jedním z těchto rozdělení jsou skupiny obrázků (GoP), které se skládají z jednotlivých snímků. Snímky jsou dále děleny na CTU (Coding Tree Units), které jsou následně rozděleny na CUs (Coding Units). CUs mohou být dále rozděleny na PUs (Prediction Units) a TUs (Transform Units), což umožňuje detailní a efektivní kódování. Jednotlivé úrovně této hierarchie umožňují HEVC dosahovat vysoce kvalitního kompresního výkonu, který je potřebný pro efektivní zpracování videí, ať už ve formě 2D nebo 3D.
3D-HEVC rozšiřuje tyto možnosti o zpracování stereoskopických a 3D videí. V 3D-HEVC se často používá více kamer pro zachycení hloubky obrazu, což umožňuje kódování videí s informacemi o hloubce. Tento typ videa může být vytvořen buď pomocí stereoskopických kamer, kamer pro záznam hloubky (například ToF kamer), nebo pomocí uspořádání několika texturových a hloubkových kamer. Takto vytvořený obsah je poté kódován pomocí technologií jako je MVD (Multi-view Video plus Depth), což zajišťuje efektivní kompresi a přenos i velmi náročného 3D video obsahu.
Ve strukturách predikce je zásadní, jakým způsobem jsou používány rámce, které slouží jako referenční pro predikci dalších snímků. V rámci nastavení "All Intra" (IO) každý snímek videosekvence je kódován jako IDR (Instantaneous Decoding Refresh), což znamená, že je predikován pouze z aktuálního snímku, bez použití referenčních rámců. Tento přístup je efektivní v případech, kdy je třeba zaručit nezávislost jednotlivých snímků, například při vysoké kvalitě videa nebo v real-time aplikacích.
V jiné konfiguraci, nazývané "Random Access" (RA), se používají B-snímky, které využívají dva referenční snímky pro vytvoření predikce. To znamená, že snímky mezi dvěma IDR snímky jsou kódovány jako B-snímky, což umožňuje efektivní využití časových referencí pro snížení bitové rychlosti při zachování kvality obrazu. Složité predikce s více vrstvami časového zpracování, jako je použití Generalized P a B snímků na nižších úrovních, přispívají k optimalizaci procesů kódování pro různé scénáře použití.
V oblasti hodnocení kvality obrazu jsou pro video kodeky využívány různé metody, přičemž jednou z nejběžnějších je technika "Rate-Distortion Optimization" (RDO). Tento proces se zaměřuje na minimalizaci nákladů na přenos dat při maximálním zachování kvality obrazu. Mezi používané metriky pro hodnocení kvality patří PSNR (Peak Signal-to-Noise Ratio) a MSE (Mean Squared Error), které měří rozdíl mezi původním a komprimovaným obrazem. V některých případech je možné použít i modifikované metody, jako je SATD (Sum of Absolute Transformed Differences), která nabízí lepší výsledky, ale vyžaduje větší výpočetní náročnost.
Důležité je také pochopit, že v kontextu komprese videa je kladeno důraz na rovnováhu mezi velikostí komprimovaného souboru a vizuální kvalitou výsledného obrazu. Kódovací techniky se snaží maximalizovat tuto rovnováhu, přičemž přizpůsobují různé metody komprese v závislosti na charakteristikách konkrétního videa a potřebách přenosu.
Jak hardwareové implementace ovlivňují efektivitu 3D-HEVC kódování a zpracování hloubkových map
V posledních letech se v oblasti video kódování, zejména u rozšíření 3D-HEVC (High Efficiency Video Coding), soustředila pozornost na optimalizaci algoritmů pro kódování 3D videí, která zahrnují více pohledů a hloubkové mapy. Klíčovým aspektem tohoto vývoje je zlepšení efektivity zpracování hloubkových informací, které jsou nezbytné pro správné zobrazení 3D scén. Technologie, které umožňují real-time dekódování a kódování videí s více pohledy, jsou stále více poptávány, zejména pro mobilní zařízení a aplikace zaměřené na virtuální a rozšířenou realitu. Různé hardwarové implementace, jak pro kódování, tak pro dekódování, se zaměřují na různé aspekty optimalizace – od zlepšení výkonnosti až po snížení energetických nároků a zajištění efektivního využití paměti.
Jedním z přístupů, který byl vyvinut v rámci 3D-HEVC, je využití predikčních režimů pro hloubkové mapy, konkrétně DMM-1 a DMM-4. Tyto režimy jsou zaměřeny na predikci hloubkových informací z několika pohledů, což umožňuje efektivnější kódování a lepší kvalitu obrazu. Implementace těchto nástrojů do hardwarových architektur, jako jsou FPGA (Field Programmable Gate Arrays) nebo ASIC (Application-Specific Integrated Circuits), ukázaly velký potenciál v oblasti reálného zpracování videí v rozlišení HD při vysokých snímkových frekvencích. Příklady takových implementací, jako je práce (Sánchez et al., 2014b) nebo (Amish et al., 2019), ukazují, že 3D-HEVC může být efektivně použit i v reálném čase, ale zároveň odhalují i některé problémy spojené s paměťovými nároky a složitostí implementace.
DMM-1 a DMM-4 jsou predikční režimy, které se zaměřují na kódování hloubkových informací, avšak každý z nich má své specifické výzvy. Například DMM-4, jak bylo ukázáno v práci (Sánchez et al., 2014b), je navržen tak, aby podporoval různé velikosti bloků, od 8x8 až po 32x32 pixelů, což umožňuje flexibilní přizpůsobení různým scénářům kódování. Tato flexibilita je zásadní pro aplikace, které vyžadují vysoce kvalitní zobrazení ve 3D, jako jsou filmové produkce nebo videohry. Nicméně, složitost výpočtů a nároky na paměť mohou být problémem, pokud není implementace správně optimalizována.
V práci (Sánchez et al., 2016) je implementována jak DMM-1, tak i DMM-4 pro kódování a dekódování videí v rozlišení HD s podporou jednoho pohledu při 30 fps. To ukazuje, že s pokročilou hardwarovou architekturou, jako je ASIC, lze dosáhnout značné úspory v energetické náročnosti a zlepšení výkonnosti, avšak i zde se stále vyskytují problémy, jako je náročnost na paměť při zpracování vyšších rozlišení nebo většího počtu pohledů.
S dalšími pracemi, jako je (Amish et al., 2019), která implementuje všechny tři režimy 3D-HEVC – DIS, DMM-1 a DMM-4 – v rámci jednoho hardwarového řešení, je patrný trend integrace více nástrojů do jednoho systému pro zajištění vyšší flexibility a výkonnosti. Tato implementace, cílená na FPGA Virtex 6, je schopná zpracovávat HD 1080p videa při 30 fps se šesti pohledy, což je pro real-time zpracování výkonnostně náročné. Avšak i zde chybí řešení pro optimalizaci spotřeby paměti, což je v praxi důležitý aspekt pro mobilní aplikace nebo systémy s omezenými zdroji.
Zajímavým směrem vývoje jsou i architektury, které umožňují dynamické přidělování zdrojů pro různé velikosti bloků, jak to ukazuje práce (Sánchez et al., 2019), která implementuje jak encoder, tak decoder pro DMM-1 a DMM-4 nástroje. Tato architektura byla navržena pro standardní buněčné technologie ST 65 nm a 28 nm, a dokáže zpracovávat videa v rozlišení 1920x1080 při 30 fps. Tento přístup ukazuje na flexibilitu v konstrukci hardware pro různé aplikace, ale zároveň upozorňuje na fakt, že mnoho z těchto implementací není plně kompatibilní se standardem 3D-HEVC, což může omezit jejich širší přijetí v průmyslových aplikacích.
I když většina těchto prací přináší významné pokroky v oblasti zpracování videí v reálném čase, je třeba zdůraznit, že mnoho návrhů není plně kompatibilních s aktuálními standardy, ať už jde o DIS, DMM-1 nebo DMM-4. To je významné, protože jakékoli nekompatibilní přístupy mohou vést k problémům při integraci s ostatními systémy nebo při použití v reálných aplikacích. Dalšími výzvami jsou i vysoké nároky na paměť a složitost kódování, což zůstává výzvou pro budoucí optimalizace.
V současnosti tedy stále existuje potřeba pro efektivní a plně kompatibilní implementace, které by dokázaly lépe využít prostorové a časové korelace mezi jednotlivými pohledy, a tím snížit nároky na výpočetní výkon a spotřebu energie. Optimalizace paměťových nároků a energetické efektivity by měly být klíčovými oblastmi pro další výzkum a vývoj v této oblasti.

Deutsch
Francais
Nederlands
Svenska
Norsk
Dansk
Suomi
Espanol
Italiano
Portugues
Magyar
Polski
Cestina
Русский