Sdílet prostřednictvím


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). Tento 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ý snímek se zpracovává na základě svého obsahu, prochází procesory obrázků, klasifikátorem a kodekem a teprve potom se doručí 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žívání zařízení. Tento proces je důležitý při používání služby Azure Virtual Desktop, cloudových počítačů v 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, díky kterým je vhodný pro širokou škálu scénářů, jako je produktivita kanceláře, produkce videa, návrh a přehrávání videa. Mezi tyto funkce a techniky patří:

  • Hardwarové a softwarové kódování: Ke kódování grafických dat používá procesor nebo GPU.

    • Hardwarově akcelerované kódování: Přesměrování zpracování kódování grafiky z procesoru na GPU na vzdáleném virtuálním počítači vybaveném capabable GPU. GPU poskytuje lepší výkon pro aplikace náročné na grafiku, jako je 3D modelování nebo úpravy videa ve vysokém rozlišení. Kompatibilní gpu také zahrnují specializované kódovací moduly videa, které může protokol RDP využít ke kódování obsahu relace.

    • Kódování softwaru: Využívá procesor ke kódování grafických dat s nízkými náklady. Kódování softwaru je výchozí kódovací profil používaný na vzdáleném virtuálním počítači bez diskrétní gpu.

  • Smíšený režim: Odděluje kódování textu, obrázků a videa pomocí různých kodeků, aby poskytoval nejlepší kvalitu a nejnižší náklady na kódování pro každý typ zjištěného obsahu. Smíšený režim je k dispozici pouze se softwarovým kódováním.

  • Adaptivní grafika: Upravuje kvalitu kódování na základě dostupné šířky pásma a obsahu obrazovky.

  • Kódování videa na celou obrazovku: Poskytuje vyšší snímkovou frekvenci a lepší uživatelské prostředí ve scénářích s vysokým obsahem obrázků a videí.

  • Detekce rozdílu a ukládání do mezipaměti: Snižuje objem dat, která je potřeba přenášet.

  • Podpora více kodeků: Používá hardwarové dekodéry na místním zařízení. Mezi kodeky patří videokodek AVC (Advanced Video Coding), známý také jako H.264, a videokodek HEVC (High Efficiency Video Coding), známý také jako H.265. Podpora HEVC/H.265 vyžaduje kompatibilní vzdálený virtuální počítač s podporou GPU.

  • Dílčí převzorkování chroma 4:2:0 a 4:4:4: 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ě k zajištění uživatelského 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žít přesměrování multimédií, které přesměruje přehrávání videa do místního zařízení. Přesměrování multimédií poskytuje lepší uživatelské prostředí pro přehrávání videa tím, že odesílá bitový stream 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 Přesměrování multimédií 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, obrázky a videa se kódují pomocí kombinace kodeků, aby se dosáhlo optimálního výkonu kódování napříč různými typy obsahu, pokud používáte 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 tvoří text. Aby bylo možné zajistit co nejnižší náklady na kódování a nejlepší kvalitu textu, používá protokol RDP vlastní kodek optimalizovaný pro text. Vzhledem k tomu, že efektivní kódování obsahu obrázku 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 rozdělený na obrázky a video:

  • Obrázky jsou softwarově kódované pomocí grafiky AVC/H.264 nebo RemoteFX v závislosti na možnostech místního zařízení. Výchozí kódování obsahu rozpoznaného obrázku používá AVC/H.264, pokud ji podporuje konfigurace koncového bodu relace.

  • Video je softwarově kódované pomocí AVC/H.264.

AVC/H.264 je široce podporovaný kodek, který má dobrý kompresní poměr 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án 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 hardwarové dekódování 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:

Diagram znázorňující proces kódování a doručování grafických dat přes protokol RDP pomocí smíšeného režimu

Tento proces je popsán takto:

  1. Rastrový obrázek rámečku se nejprve zpracuje tak, že zjistí, jestli obsahuje video. Pokud obsahuje video, rámeček se odešle do videokodeku, který je v softwarovém scénáři kódován pomocí AVC/H.264, a pak se snímek předá do grafického kanálu.

  2. Pokud rámeček neobsahuje video, procesory obrázků určí, jestli došlo k rozdílovým změnám, zjistí se pohyb nebo jestli je v mezipaměti dostupný obsah. Pokud obsah splňuje určitá kritéria, rámeček se předá do grafického kanálu.

  3. Pokud rámeček potřebuje další zpracování, určí klasifikátor obrázku, jestli obsahuje text nebo obrázky.

  4. Text a obrázky se kódují pomocí různých kodeků, které poskytují 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 ve smíšeném režimu můžete povolit kódování videa na celou obrazovku a zpracovat veškerý obsah obrazovky pomocí videokodeku AVC/H.264.

Kódování videa na celou obrazovku

Kódování videa na celou obrazovku je užitečné ve scénářích, ve kterých 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 hůře 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šší snímkovou frekvenci 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í. Využívá 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í k dispozici, použije se místo toho AVC/H.264. HEVC/H.265 umožňuje 25–50% kompresi dat ve srovnání s AVC/H.264 při stejné kvalitě videa nebo vyšší kvalitě se stejnou přenosovou rychlostí.

Kódování videa na celou obrazovku 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 v Windows 365 a Microsoft Dev Box podporují akceleraci grafických procesorů (GPU) při vykreslování a kódování, což zlepšuje 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 aplikace používané grafickými návrháři, editory videa, 3D modeláři, datovými analytiky nebo specialisty na vizualizace.

Akcelerace GPU má dvě komponenty, které společně zlepšují uživatelské prostředí:

  • Vykreslování aplikací akcelerovaných gpu: Pomocí GPU můžete vykreslit grafiku ve vzdálené relaci.

  • Kódování snímků akcelerovaných gpu: Protokol RDP kó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 celou obrazovku a zpracovat veškerý obsah obrazovky a zajistit tak vyšší snímkovou frekvenci a lepší uživatelské prostředí.

Další informace najdete v tématu Povolení akcelerace GPU.

Podpora dílčího převzorkování Chroma pro 4:2:0 a 4:4:4

Hodnota chroma určuje barevný prostor použitý ke kódování. Ve výchozím nastavení je hodnota chroma nastavena na 4:2:0, což poskytuje dobrou rovnováhu mezi kvalitou obrazu a šířkou pásma sítě. Pokud chcete zlepšit kvalitu obrazu, můžete hodnotu chroma zvýšit na 4:4:4 povolením kódování AVC/H.264 na celou obrazovku a nastavením možnosti Kvalita obrazu na vysokou prostřednictvím zásad skupiny. Ke změně hodnoty chromy nemusíte používat akceleraci GPU, ale hodnota chroma 4:4:4 bude používat větší šířku pásma pro stejné snímky pomocí 4:2:0.

Další informace najdete v tématu Zvýšení hodnoty chroma na 4:4:4 pomocí videokodeku AVC (Advanced Video Coding).