Diit.cz - Novinky a informace o hardware, software a internetu

UVD a VCE - encoding videa již plně hardwarově

AMD Radeon GCN Never Settle
Dnes v 6:00 hodin vydává AMD novou generaci grafických karet Radeon HD 7000 postavenou na zcela nové vektorově-skalární architektuře GCN. V dnešním článku si proto představíme všechny novinky a technologie, které grafický čip Tahiti z rodiny Southern Islands i samotný Radeonu HD 7970 přinesl…

Rekapitulace

Pokud bychom se chtěli vrátit k počátkům hardwarové akcelerace přehrávání videa, museli bychom se podívat téměř 18 let do minulosti, kdy tehdejší video-inovátoři (ATI a S3) implementovali hardwarový převod YUV→RGB a později i video-scaler, který umožnil přefiltrované zvětšení na celou obrazovku. Tentokrát nebudeme detailně rozebírat, který čip přišel s jakou inovací, přeskočíme až na konec devadesátých let, kdy přišla hardwarová podpora pro DVD (kompenzace pohybu, deinterlacing, DVD subpicture a nakonec největší krok: hardwarová iDCT). Za zmínku stojí ještě první využití 3D jádra pro akceleraci videa, za který je považovaný převod YUV→RGB na 3D jádro nebo později (marketingově profláklejší) technologie FullStream. Obojí přišlo s Radeony generace DirectX 8.1.

ATi Rage 128 PRO
ATi Rage 128 - první s komplexní hardwarovou podporou DVD/MPEG2
(YUV
RGB, MC, iDCT deinterlacing a DVD sub-picture)

Přeskočíme opět několik let a podíváme se na novodobé změny související s HD videem. První formu akcelerace přinesla ATI na řadě X1000. Samotná dekomprese byla krom několika dílčích kroků ponechána procesoru, grafický čip využil své výpočetní jádro (jednotky určené pro pixel shading) především k realizaci post-procesingu, čímž procesoru do jisté míry odlehčil. Podle výkonu 3D jádra jednotlivých karet (X1300 / 1600 / 1800) bylo podporované různé maximální rozlišení, takže nejnižší modely na skutečné HD video nestačily.

Počátky UVD

ATI tehdy začala experimentovat s integrací samostatného videoprocesoru UVD, který by pomohl realizovat náročnější kroky dekomprese a umožnil přehrávání HD obsahu i na levných sestavách. Za generace X1000 byly čipy doplněné UVD k dispozici jen OEM výrobcům (šlo více méně o experimentální záležitost) - do obchodů se dostaly až s generací HD 2000. S výjimkou nejvyššího modelu HD 2900, který UVD neobsahoval a dále rozvíjel čistě emulovaný přístup předchozí generace.

GCN UVD srovnání všech generací
srovnání dosavadních generací UVD

Pro nás je v tuto chvíli důležité, že pokročilá videoakcelerace společně s hardwarovou výpočetní unifikací umožnily akcelerovat převod videa z jednoho formátu do druhého. Nejdříve tento převod spočíval v hardwarově akcelerované dekompresi videa (jako při přehrávání), přičemž následná komprese byla realizována procesorem. Později byla i komprese částečně akcelerována unifikovaným jádrem, především tedy ta část výpočtů, která je paralelizovatelná.

VCE aneb Quick Sync v podání AMD

Další krok jako první (překvapivě) zvládla implementovat společnost Intel. Jde o integrovaný procesor, který podporuje všechny kroky hardwarové komprese, jaké jsou pro HD video ve formátu H.264 potřeba. Výhodou je vysoký výkon (jednotka nezpracovává pouze paralelizovatelné úkony, ale i sériové, na které se unifikované jádro GPU nehodí), dále nezávislost na výkonu grafického jádra a s tím související energetická nenáročnost.

Řešení AMD je v principu podobné, ale jde ještě dál. Výrobce ho označuje prostou zkratkou VCE (video codec engine) a neřadí jej už pod UVD, protože UVD ve své podstatě video dekomprimuje / přehrává, zatímco VCE jej komprimuje. Při převodu z jednoho formátu do druhého samozřejmě mohou obě jednotky spolupracovat.

VCE je sám o sobě nezávislý blok, který pro svoji funkčnost nevyžaduje součinnost grafického jádra jako takového. Není tudíž závislý ani na architektuře grafického čipu, takže může být (čistě hypoteticky ;-) integrovaný i v grafických čipech nebo procesorech, které neobsahují 3D jádro architektury GCN.

GCN VCE default
AMD VCE - základním režim (vše přes VCE)

Teď přejděme k tomu, čím se řešení od AMD liší oproti současné implementaci Intelu. VCE může realizovat kompresi HD obsahu od A do Z podobně jako Intel Quick Sync. Nabízí ale i režim, ve kterém je naopak schopný využít potenciálu grafického jádra. Pokud je dostatečný (jako například u Radeonu HD 7970), zpracovává VCE pouze sériové úlohy, zatímco paralelizovatelná část zátěže je rozložena na unifikované jádro, které ji dokáže provádět ještě rychleji.

GCN VCE hybrid
AMD VCE - hybridní režim (paralelní část před unifikované jádro GPU)

Výše popsaný proces může být využit i při převodu videa z jednoho formátu na druhý - úlohy určené pro unifikované jádro jsou realizovány přes OpenCL.

Specifikace VCE

  • hardwarový enkodér H.264 podporující více streamů
  • efektivní z hlediska spotřeby (výhoda především pro mobilní zařízení)
  • rychlejší než zpracování v reálném čase (1080p při 60 FPS a více - podle bitrate)
  • dva základní režimy: samostatný a hybridní (s využitím GPU)
  • 4:2:0 color sampling
  • optimalizace pro výrazné změny ve scéně
  • variabilní kvalita komprese
  • audio / video multiplexing

Dále VCE podporuje vstupy z různých zdrojů, například z frame-bufferu pro podporu video konferencí a zmíněných transkodérů nebo také ze zobrazovacího procesoru grafického čipu pro podporu technologie Wireless Display (komprese pro bezdrátový přenos obrazu).

GCN AMD VCE ArcSoft

Protože Microsoft dosud nestandardizoval žádné API, které by z hlediska softwarových vývojářů implementaci podpory VCE usnadnilo, spolupracuje AMD se společností ArcSoft na OpenCL rozhraní. Mezi první aplikace třetích stran, které VCE podporují, bude právě ArcSoft Total Media Theater 5.2. Další přijdou v průběhu prvního kvartálu.

AMD tentokrát UVD a VCE číslem verze neoznačuje. Jelikož nové VCE marketingově (ani hardwarově) nespadá pod UVD, můžeme říct, že UVD zůstalo ve verzi 3.0 (základní výčet podporovaných funkcí je stejný jako u Radeonů HD 6000).

Zdroje: 

AMD Tech Day, Mnichov (8. prosince)

Diskuse ke článku Vše o Radeonech HD 7000 aneb architektura GCN detailně

Pátek, 23 Prosinec 2011 - 08:27 | Pety | Ježiš, jak rád sem chodím v posledních dnech......
Čtvrtek, 22 Prosinec 2011 - 22:46 | no-X | díky za upozornění, opraveno
Čtvrtek, 22 Prosinec 2011 - 22:31 | Peter T | zly link na konci 3. stranky (Spotřeba grafických...
Čtvrtek, 22 Prosinec 2011 - 20:34 | David Ježek | to není novinka, Jirka používá ST postavy od...
Čtvrtek, 22 Prosinec 2011 - 18:43 | DDR0 | krásný článek, ale nejvíc mě dostala ta změna...
Čtvrtek, 22 Prosinec 2011 - 15:15 | no-X | To je sice oficiálně pod NDA, ale když nyní vyšel...
Čtvrtek, 22 Prosinec 2011 - 14:44 | Slavomir | A čo bude teda toho 9. ledna? :-)
Čtvrtek, 22 Prosinec 2011 - 12:12 | del42sa | v těch plusech jsi ještě zapoměl vypsat podporu...
Čtvrtek, 22 Prosinec 2011 - 12:09 | Peter Fodreknickfotob | >S PCI Express 3.0 to je v současnosti podobné...
Čtvrtek, 22 Prosinec 2011 - 12:01 | Lukáš Kohout | Super, to vypada za AMD dala na reakce recenzentu...

Zobrazit diskusi