Freigeben über


Grafikcodierung über das Remotedesktopprotokoll

Grafikdaten aus einer Remotesitzung werden über das Remotedesktopprotokoll (RDP) an ein lokales Gerät übertragen. Der Vorgang umfasst das Codieren der Grafikdaten auf dem virtuellen Remotecomputer, bevor sie an das lokale Gerät gesendet wird. Jeder Frame wird basierend auf seinem Inhalt verarbeitet. Dabei durchlaufen die Frames Bildprozessoren, einen Klassifizierer und einen Codec, bevor sie mithilfe des RDP-Grafiktransports an das lokale Gerät übermittelt werden.

Das Ziel der Codierung und Übertragung von Grafikdaten besteht darin, eine optimale Leistung und Qualität mit einer Erfahrung zu bieten, die der lokalen Verwendung eines Geräts entspricht. Dieser Prozess ist wichtig bei der Verwendung von Azure Virtual Desktop, Cloud-PCs in Windows 365 und Microsoft Dev Box, bei denen Benutzer bei der Remotearbeit eine qualitativ hochwertige Erfahrung erwarten.

RDP nutzt eine Reihe von Features und Techniken zur Verarbeitung und Übertragung von Grafikdaten, durch die es sich für eine Vielzahl von Szenarien eignet, etwa Produktivität im Büro, Videowiedergabe und Spiele. Zu diesen Features und Techniken zählt Folgendes:

  • Hardware- und softwarebasierte Codierung: Nutzt die CPU oder GPU zum Codieren von Grafikdaten.

    • Codierung mit Hardwarebeschleunigung: Lagert die Verarbeitung der Grafikcodierung von der CPU auf die GPU auf einem virtuellen Remotecomputer mit eigenständiger GPU aus. Eine GPU bietet eine bessere Leistung für grafikintensive Anwendungen, z. B. 3D-Modellierung oder HD-Videobearbeitung.

    • Softwarecodierung: Verwendet die CPU zum Codieren von Grafikdaten zu geringen Kosten. Die Softwarecodierung ist das Standardcodierungsprofil, das auf einem virtuellen Remotecomputer ohne eigenständige GPU verwendet wird.

  • Gemischter Modus: Trennt die Text- und Bildcodierung mit verschiedenen Codecs, um die beste Qualität und die niedrigsten Codierungskosten für jeden Inhaltstyp bereitzustellen. Der gemischte Modus ist nur mit Softwarecodierung verfügbar.

  • Adaptive Grafiken: Passt die Codierungsqualität basierend auf der verfügbaren Bandbreite und dem Inhalt des Bildschirms an.

  • Vollbildvideocodierung: Bietet eine höhere Bildfrequenz und ein besseres Benutzererlebnis.

  • Delta-Erkennung und -Zwischenspeicherung: Reduziert die Datenmenge, die übertragen werden muss.

  • Unterstützung mehrerer Codecs: Verwendet Hardwaredecoder auf einem lokalen Gerät. Codecs umfassen den AVC-Videocodec (Advanced Video Coding), auch als H.264 bezeichnet, und den HEVC-Videocodec (High Efficiency Video Coding), auch als H.265 bezeichnet. Die Unterstützung für HEVC/H.265 befindet sich in der Vorschauphase und erfordert eine kompatible GPU-fähige Remote-VM.

  • 4:2:0- und 4:4:4-Subsampling für die Farbsättigung: Bietet Ausgewogenheit zwischen Bildqualität und Bandbreitennutzung.

Sie können eine Kombination dieser Features und Techniken verwenden, je nach den verfügbaren Ressourcen der Remotesitzung, des lokalen Geräts und des Netzwerks sowie des Benutzererlebnisses, das Sie ermöglichen möchten.

In diesem Artikel wird der Prozess der Codierung und Bereitstellung von Grafikdaten über RDP mithilfe einiger dieser Features und Techniken beschrieben.

Tipp

Es wird empfohlen, nach Möglichkeit die Multimediaumleitung zu verwenden, bei der die Videowiedergabe auf das lokale Gerät umgeleitet wird. Die Multimediaumleitung bietet ein besseres Benutzererlebnis für die Videowiedergabe. Dabei wird der Bitstream der Videodaten an das lokale Gerät gesendet, wo das Video decodiert und an der richtigen Stelle auf dem Bildschirm wiedergegeben wird. Diese Methode senkt auch die Verarbeitungskosten auf dem virtuellen Remotecomputer, unabhängig von der Codierungskonfiguration. Weitere Informationen finden Sie unter Multimediaumleitung für die Videowiedergabe und Anrufe in einer Remotesitzung.

Gemischter Modus

Grafikdaten werden standardmäßig je nach Inhalt getrennt. Text und Bilder werden mithilfe einer Mischung aus Codecs codiert, um eine optimale Codierungsleistung für unterschiedliche Inhaltstypen zu erzielen, wenn nur Softwarecodierung verwendet wird. Dieser Prozess wird als gemischter Modus bezeichnet.

Im Durchschnitt sind etwa 80 % der Grafikdaten für eine Remotesitzung Text. Um die niedrigsten Codierungskosten und die beste Qualität für Text zu erzielen, verwendet RDP einen benutzerdefinierten Codec, der für Text optimiert ist. Da die effektive Codierung von Bildinhalten schwieriger ist, ist es wichtig, einen Codec zu verwenden, der sich gut an die verfügbare Bitrate anpasst.

Der Rest des Inhalts ist in Bilder und Videos getrennt:

  • Bilder werden mit AVC/H.264- oder RemoteFX-Grafiken softwarecodiert, abhängig von den Funktionen des lokalen Geräts und der Aktivierung der Multimediaumleitung. AVC/H.264-Codierung von Bildern ist bei Verwendung der Multimediaumleitung nicht verfügbar.

  • Video wird mit AVC/H.264 softwarecodiert.

AVC/H.264 ist ein umfassend unterstützter Codec, der ein gutes Komprimierungsverhältnis für Bilder aufweist, progressive Codierung ermöglicht und in der Lage ist, die Qualität basierend auf der Bitrate anzupassen. Er nutzt den Hardwaredecoder auf dem lokalen Gerät, der auf modernen Geräten umfassend unterstützt wird. Mit dem Hardwaredecoder auf dem lokalen Gerät wird die CPU-Auslastung auf dem lokalen Gerät reduziert und ein besseres Benutzererlebnis ermöglicht. Wenden Sie sich an den Gerätehersteller, um sicherzustellen, dass AVC/H.264-Hardwaredecodierung unterstützt wird.

Das folgende Diagramm zeigt den Prozess der Codierung und Bereitstellung von Grafikdaten über RDP mithilfe des gemischten Modus in einem Softwarecodierungsszenario:

Diagramm: Prozess der Codierung und Bereitstellung von Grafikdaten über RDP mithilfe des gemischten Modus

Dieser Prozess wird wie folgt beschrieben:

  1. Eine Frame-Bitmap wird zunächst verarbeitet, indem festgestellt wird, ob sie Video enthält. Wenn sie Video enthält, wird der Frame an den Videocodec gesendet, der in einem softwarebasierten Szenario mit AVC/H.264 codiert wird. Anschließend wird der Frame an den Grafikkanal übergeben.

  2. Wenn der Frame kein Video enthält, bestimmen die Bildprozessoren, ob Deltaänderungen vorhanden sind, Bewegung erkannt wird oder ob Inhalte im Cache verfügbar sind. Wenn der Inhalt bestimmten Kriterien entspricht, wird der Frame an den Grafikkanal übergeben.

  3. Wenn für den Frame weitere Verarbeitung erforderlich ist, bestimmt die Bildklassifizierung, ob er Text oder Bilder enthält.

  4. Text und Bilder werden mit verschiedenen Codecs codiert, um die beste Qualität und die niedrigsten Codierungskosten für jeden Inhaltstyp bereitzustellen. Nach der Codierung wird der Frame an den Grafikkanal übergeben.

Anstatt zwei separate Codecs für Text und Bilder mit gemischtem Modus zu verwenden, können Sie Vollbildvideocodierung aktivieren, um alle Bildschirminhalte mithilfe des AVC/H.264-Videocodecs zu verarbeiten.

Vollbild-Videocodierung

Die Vollbildvideocodierung eignet sich für Szenarien, in denen der Bildschirminhalt weitgehend bildbasiert ist, und wird als Alternative zum gemischten Modus verwendet. Die Vollbildvideocodierung verarbeitet alle Grafikdaten mit AVC/H.264 oder HEVC/H.265. Daher ist die Leistung schlechter als bei der Codierung im gemischten Modus, wenn der Bildschirminhalt weitgehend textbasiert ist.

Ein Vollbildvideoprofil bietet eine höhere Bildfrequenz und ein besseres Benutzererlebnis, verbraucht jedoch mehr Netzwerkbandbreite und Ressourcen auf dem virtuellen Remotecomputer und auf dem lokalen Gerät. Ein solches Profil ist für Anwendungen wie 3D-Modellierung, CAD/CAM oder die Videowiedergabe und -bearbeitung von Vorteil.

Wenn Sie sowohl HEVC/H.265- und AVC/H.264-Hardwarebeschleunigung aktivieren, aber HEVC/H.265 auf dem lokalen Gerät nicht verfügbar ist, wird stattdessen AVC/H.264 verwendet. HEVC/H.265 ermöglicht eine Datenkomprimierung von 25–50 % im Vergleich zu AVC/H.264 bei derselben Videoqualität oder verbesserter Qualität bei gleicher Bitrate.

Sie können die Vollbildvideocodierung mit AVC/H.264 auch ohne GPU-Beschleunigung aktivieren, aber HEVC/H.265 erfordert einen kompatiblen GPU-fähigen virtuellen Remotecomputer.

Weitere Informationen finden Sie unter Aktivieren der GPU-Beschleunigung für Azure Virtual Desktop.

GPU-Hardwarebeschleunigung

Azure Virtual Desktop, Cloud-PCs in Windows 365 und Microsoft Dev Box unterstützen die GPU-Beschleunigung (Graphics Processing Unit, Grafikprozessor) beim Rendern und Codieren, um die App-Leistung und -Skalierbarkeit mithilfe von Remotedesktopprotokoll (RDP) zu verbessern. Die GPU-Beschleunigung ist für grafikintensive Anwendungen von entscheidender Bedeutung, z. B. für diejenigen, die von Grafikdesignern, Video-Editoren, 3D-Modellierern, Datenanalysten oder Visualisierungsspezialisten verwendet werden.

Die GPU-Beschleunigung wird durch zwei Komponenten bereitgestellt, die zusammenarbeiten, um das Benutzererlebnis zu verbessern:

  • GPU-beschleunigtes Anwendungsrendering: Verwenden Sie die GPU zum Rendern von Grafiken in einer Remotesitzung.

  • GPU-beschleunigte Framecodierung: RDP codiert alle Grafiken, die für die Übertragung an das lokale Gerät gerendert werden. Wenn Teile des Bildschirms häufig aktualisiert werden, werden diese mit AVC/H.264/ codiert.

Wenn der Bildschirminhalt in Ihren Workloads weitgehend bildbasiert ist, können Sie auch Vollbildvideocodierung aktivieren, um alle Bildschirminhalte zu verarbeiten und um eine höhere Bildfrequenz und ein besseres Benutzererlebnis zu ermöglichen.

Weitere Informationen finden Sie unter Aktivieren der GPU-Beschleunigung.

Unterstützung des Subsamplings für die Farbsättigung für 4:2:0 und 4:4:4

Der Chromawert bestimmt den Farbraum, der für die Codierung verwendet wird. Standardmäßig ist der Chromawert auf 4:2:0 festgelegt, was ein gutes Gleichgewicht zwischen Bildqualität und Netzwerkbandbreite bietet. Wenn Sie AVC/H.264 verwenden, können Sie den Farbsättigungswert auf 4:4:4 erhöhen, um die Bildqualität zu verbessern. Dadurch wird aber auch die Netzwerkbandbreite erhöht. Sie müssen die GPU-Beschleunigung nicht verwenden, um den Farbsättigungswert zu ändern.

Weitere Informationen finden Sie unter Erhöhen des Farbsättigungswerts auf 4:4:4 mit dem AVC-Videocodec (Advanced Video Coding).