Kódování grafiky přes protokol Remote Desktop Protocol
Grafická data ze vzdálené relace se přenášejí do místního zařízení přes protokol RDP (Remote Desktop Protocol). Proces zahrnuje kódování grafických dat na vzdáleném virtuálním počítači před jejich odesláním do místního zařízení. Každý rámec se zpracovává na základě jeho obsahu, prochází procesory obrázků, klasifikátor a kodek před doručením do místního zařízení pomocí grafického přenosu protokolu RDP.
Cílem kódování a přenosu grafických dat je zajistit optimální výkon a kvalitu s prostředím, které je stejné jako místní použití zařízení. Tento proces je důležitý při používání služby Azure Virtual Desktop, cloudových počítačů ve Windows 365 a Microsoft Dev Boxu, kde uživatelé při práci na dálku očekávají vysoce kvalitní prostředí.
Protokol RDP používá řadu funkcí a technik ke zpracování a přenosu grafických dat, která jsou vhodná pro širokou škálu scénářů, jako je produktivita kanceláře, přehrávání videa a hraní her. Mezi tyto funkce a techniky patří:
Kódování založené na hardwaru a softwaru: k kódování grafických dat používá procesor nebo GPU.
Kódování hardwaru akcelerace: přesměruje zpracování kódování grafiky z procesoru na GPU na vzdáleném virtuálním počítači s diskrétním GPU. GPU poskytuje lepší výkon pro aplikace náročné na grafiku, například 3D modelování nebo úpravy videa s vysokým rozlišením.
Kódování softwaru: Pomocí procesoru kóduje grafická data s nízkými náklady. Kódování softwaru je výchozí profil kódování používaný na vzdáleném virtuálním počítači bez diskrétního GPU.
Smíšený režim: Odděluje kódování textu a obrázků pomocí různých kodeků, aby poskytovaly nejlepší kvalitu a nejnižší náklady na kódování pro každý typ obsahu. Smíšený režim je k dispozici pouze s kódováním softwaru.
Adaptivní grafika: upravuje kvalitu kódování na základě dostupné šířky pásma a obsahu obrazovky.
Kódování videa na celé obrazovce: poskytuje vyšší rychlost snímků a lepší uživatelské prostředí.
Rozdílové zjišťování a ukládání do mezipaměti: snižuje množství dat, která je potřeba přenášet.
Podpora více kodeků: používá hardwarové dekodéry na místním zařízení. Kodeky zahrnují videokodek AVC (Advanced Video Coding), označovaný také jako H.264, a videokokodek s kódováním HEVC (High Efficiency Video Coding), označovaný také jako H.265. Podpora HEVC/H.265 je ve verzi Preview a vyžaduje kompatibilní vzdálený virtuální počítač s podporou GPU.
4:2:0 a 4:4:4 podvzorkování chroma: poskytuje rovnováhu mezi kvalitou obrazu a využitím šířky pásma.
Můžete použít kombinaci těchto funkcí a technik v závislosti na dostupných prostředcích vzdálené relace, místního zařízení a sítě a uživatelském prostředí, které chcete poskytnout.
Tento článek popisuje proces kódování a doručování grafických dat přes protokol RDP pomocí některých z těchto funkcí a technik.
Tip
Pokud je to možné, doporučujeme používat multimediální přesměrování, které přesměruje přehrávání videa na místní zařízení. Multimediální přesměrování poskytuje lepší uživatelské prostředí pro přehrávání videa odesláním bitového streamu dat videa do místního zařízení, kde dekóduje a vykresluje video na správném místě na obrazovce. Tato metoda také snižuje náklady na zpracování na vzdáleném virtuálním počítači bez ohledu na konfiguraci kódování. Další informace najdete v tématu Multimediální přesměrování pro přehrávání videa a volání ve vzdálené relaci.
Smíšený režim
Ve výchozím nastavení jsou grafická data oddělená v závislosti na jejich obsahu. Text a obrázky jsou kódovány pomocí kombinace kodeků k dosažení optimálního výkonu kódování v různých typech obsahu při použití pouze kódování softwaru. Tento proces se označuje jako smíšený režim.
V průměru přibližně 80 % grafických dat pro vzdálenou relaci je text. Aby bylo možné poskytnout nejnižší náklady na kódování a nejlepší kvalitu textu, používá protokol RDP vlastní kodek, který je optimalizovaný pro text. Vzhledem k tomu, že kódování obsahu obrázků je náročnější, je důležité použít kodek, který se dobře přizpůsobí dostupné přenosové rychlosti.
Zbytek obsahu je oddělený obrázky a video:
Obrázky jsou software kódovaný pomocí grafiky AVC/H.264 nebo RemoteFX v závislosti na možnostech místního zařízení a na tom, jestli je povolené přesměrování multimédií. Kódování obrázků AVC/H.264 není při použití přesměrování multimédií dostupné.
Video je software kódovaný pomocí AVC/H.264.
AVC/H.264 je široce podporovaný kodek, který má dobrý poměr komprese pro obrázky, je schopen progresivního kódování a má schopnost upravit kvalitu na základě přenosové rychlosti. Spoléhá na hardwarové dekodér na místním zařízení, které je široce podporováno na moderních zařízeních. Použití hardwarového dekodéru na místním zařízení snižuje využití procesoru na místním zařízení a poskytuje lepší uživatelské prostředí. Obraťte se na výrobce zařízení a ujistěte se, že podporuje dekódování hardwaru AVC/H.264.
Následující diagram znázorňuje proces kódování a doručování grafických dat přes protokol RDP pomocí smíšeného režimu ve scénáři kódování softwaru:
Tento proces je popsán takto:
Rastrový obrázek snímku se nejprve zpracuje zjištěním, jestli obsahuje video. Pokud obsahuje video, snímek se odešle do kodeku videa, který je v softwarovém scénáři kódovaný pomocí AVC/H.264 a pak se rámec předá grafickému kanálu.
Pokud rámeček neobsahuje video, procesory obrázků určují, jestli existují rozdílové změny, zjistí se pohyb nebo jestli je obsah v mezipaměti dostupný. Pokud obsah odpovídá určitým kritériím, předá rámeček grafickému kanálu.
Pokud rámeček potřebuje další zpracování, klasifikátor obrázků určuje, zda obsahuje text nebo obrázky.
Text a obrázky jsou kódovány pomocí různých kodeků, aby poskytovaly nejlepší kvalitu a nejnižší náklady na kódování pro každý typ obsahu. Po zakódování se rámeček předá do grafického kanálu.
Místo použití dvou samostatných kodeků pro text a obrázky se smíšeným režimem můžete povolit kódování videa na celé obrazovce ke zpracování veškerého obsahu obrazovky pomocí kodeku videa AVC/H.264.
Kódování videa na celé obrazovce
Kódování videa na celé obrazovce je užitečné ve scénářích, kdy je obsah obrazovky z velké části založený na obrázku a používá se jako alternativa ke smíšenému režimu. Kódování videa na celé obrazovce zpracovává všechna grafická data pomocí AVC/H.264 nebo HEVC/H.265. V důsledku toho funguje horší než kódování ve smíšeném režimu, když je obsah obrazovky z velké části založený na textu.
Profil videa na celé obrazovce poskytuje vyšší frekvence snímků a lepší uživatelské prostředí, ale využívá větší šířku pásma sítě a prostředky na vzdáleném virtuálním počítači i na místním zařízení. Je to přínosné pro aplikace, jako je 3D modelování, CAD/CAM nebo přehrávání a úpravy videa.
Pokud povolíte hardwarovou akceleraci HEVC/H.265 i AVC/H.264, ale HEVC/H.265 není na místním zařízení dostupná, použije se místo toho AVC/H.264. HEVC/H.265 umožňuje 25 až 50% kompresi dat ve srovnání s AVC/H.264, stejnou kvalitou videa nebo vyšší kvalitou ve stejné přenosové rychlosti.
Kódování videa na celé obrazovce můžete povolit pomocí AVC/H.264 i bez akcelerace GPU, ale HEVC/H.265 vyžaduje kompatibilní vzdálený virtuální počítač s podporou GPU.
Další informace najdete v tématu Povolení akcelerace GPU pro Azure Virtual Desktop.
Hardwarová akcelerace GPU
Azure Virtual Desktop, cloudové počítače ve Windows 365 a Microsoft Dev Box podporují akceleraci grafických procesorů (GPU) při vykreslování a kódování pro lepší výkon a škálovatelnost aplikací pomocí protokolu RDP (Remote Desktop Protocol). Akcelerace GPU je zásadní pro aplikace náročné na grafiku, jako jsou grafické návrháře, editory videí, 3D modelátory, datové analytiky nebo specialisty na vizualizaci.
Akcelerace GPU má dvě komponenty, které společně zlepšují uživatelské prostředí:
Vykreslování aplikací akcelerovaných gpu: Pomocí GPU vykreslujte grafiku ve vzdálené relaci.
Kódování snímků akcelerovaného GPU: Protokol RDP zakóduje veškerou grafiku vykreslenou pro přenos do místního zařízení. Když se část obrazovky často aktualizuje, kóduje se pomocí AVC/H.264.
Pokud je obsah obrazovky ve vašich úlohách z velké části založený na obrázku, můžete také povolit kódování videa na celé obrazovce, aby bylo možné zpracovat veškerý obsah obrazovky, aby se zajistila vyšší frekvence snímků a lepší uživatelské prostředí.
Další informace najdete v tématu Povolení akcelerace GPU.
Podpora podvzorkování Chroma pro 4:2:0 a 4:4:4
Hodnota chroma určuje barevnou mezeru použitou pro kódování. Ve výchozím nastavení je hodnota chroma nastavena na hodnotu 4:2:0, která poskytuje dobrou rovnováhu mezi kvalitou obrazu a šířkou pásma sítě. Při použití AVC/H.264 můžete zvýšit hodnotu chroma na 4:4:4, aby se zlepšila kvalita obrázku, ale také zvyšuje šířku pásma sítě. Ke změně hodnoty chroma nemusíte používat akceleraci GPU.
Další informace najdete v tématu Zvýšení hodnoty chroma na 4:4:4 pomocí videokodeku AVC (Advanced Video Coding).