Partager via


Encodage graphique via le protocole Bureau à distance

Les données graphiques d’une session à distance sont transmises à un appareil local via le protocole RDP (Remote Desktop Protocol). Le processus implique l’encodage des données graphiques sur la machine virtuelle distante avant de les envoyer à l’appareil local. Chaque image est traitée en fonction de son contenu, passant par des processeurs d’images, un classifieur et un codec, avant d’être remise à l’appareil local à l’aide du transport graphique de RDP.

L’objectif de l’encodage et de la transmission des données graphiques est de fournir des performances et une qualité optimales, avec une expérience identique à l’utilisation locale d’un appareil. Ce processus est important lors de l’utilisation d’Azure Virtual Desktop, de PC cloud dans Windows 365 et de Microsoft Dev Box, où les utilisateurs s’attendent à une expérience de haute qualité lorsqu’ils travaillent à distance.

RDP utilise une gamme de fonctionnalités et de techniques pour traiter et transmettre des données graphiques qui le rendent adapté à un large éventail de scénarios, tels que la productivité au bureau, la production vidéo, la conception et la lecture vidéo. Ces fonctionnalités et techniques sont les suivantes :

  • Encodage matériel et logiciel : utilise le processeur ou le GPU pour encoder les données graphiques.

    • Encodage à accélération matérielle : décharge le traitement de l’encodage graphique de l’UC vers le GPU sur une machine virtuelle distante équipée d’un GPU capabable. Un GPU offre de meilleures performances pour les applications gourmandes en graphiques, telles que la modélisation 3D ou le montage vidéo haute définition. Les GPU compatibles incluent également des moteurs d’encodage vidéo spécialisés que RDP peut exploiter pour encoder le contenu de session.

    • Encodage logiciel : utilise le processeur pour encoder les données graphiques à faible coût. L’encodage logiciel est le profil d’encodage par défaut utilisé sur une machine virtuelle distante sans GPU discret.

  • Mode mixte : sépare l’encodage du texte, de l’image et de la vidéo à l’aide de différents codecs pour fournir la meilleure qualité et le coût d’encodage le plus bas pour chaque type de contenu détecté. Le mode mixte est disponible uniquement avec l’encodage logiciel.

  • Graphiques adaptatifs : ajuste la qualité d’encodage en fonction de la bande passante disponible et du contenu de l’écran.

  • Encodage vidéo plein écran : offre une fréquence d’images plus élevée et une meilleure expérience utilisateur dans les scénarios avec un contenu image/vidéo élevé.

  • Détection et mise en cache delta : réduit la quantité de données qui doivent être transmises.

  • Prise en charge de plusieurs codecs : utilise des décodeurs matériels sur un appareil local. Les codecs incluent le codec vidéo AVC (Advanced Video Coding), également appelé H.264, et le codec vidéo HEVC (High Efficiency Video Coding), également appelé H.265. La prise en charge de HEVC/H.265 nécessite une machine virtuelle distante compatible GPU.

  • Sous-échantillonnage chroma 4:2:0 et 4:4:4 : fournit un équilibre entre la qualité de l’image et l’utilisation de la bande passante.

Vous pouvez utiliser une combinaison de ces fonctionnalités et techniques en fonction des ressources disponibles de la session à distance, de l’appareil local et du réseau pour fournir l’expérience utilisateur que vous souhaitez fournir.

Cet article décrit le processus d’encodage et de distribution de données graphiques via RDP à l’aide de certaines de ces fonctionnalités et techniques.

Conseil

Nous vous recommandons d’utiliser la redirection multimédia si possible, ce qui redirige la lecture vidéo vers l’appareil local. La redirection multimédia offre une meilleure expérience utilisateur pour la lecture vidéo en envoyant le flux binaire des données vidéo à l’appareil local où il décode et affiche la vidéo à l’emplacement approprié sur l’écran. Cette méthode réduit également le coût de traitement sur la machine virtuelle distante, quelle que soit la configuration d’encodage. Pour plus d’informations, consultez Redirection multimédia pour la lecture vidéo et les appels dans une session à distance.

Mode mixte

Par défaut, les données graphiques sont séparées en fonction de leur contenu. Le texte, les images et les vidéos sont encodés à l’aide d’une combinaison de codecs pour obtenir des performances d’encodage optimales sur différents types de contenu lors de l’utilisation de l’encodage logiciel uniquement. Ce processus est appelé mode mixte.

En moyenne, environ 80 % des données graphiques d’une session à distance sont du texte. Afin de fournir le coût d’encodage le plus bas et la meilleure qualité pour le texte, RDP utilise un codec personnalisé optimisé pour le texte. Étant donné que le contenu d’image est plus difficile à encoder efficacement, il est essentiel d’utiliser un codec qui s’adapte bien au débit binaire disponible.

Le reste du contenu est séparé par des images et des vidéos :

  • Les images sont des logiciels encodés avec des graphiques AVC/H.264 ou RemoteFX, selon les fonctionnalités de l’appareil local. L’encodage par défaut du contenu d’image détecté utilise AVC/H.264 quand il est pris en charge par la configuration du point de terminaison de session.

  • La vidéo est un logiciel encodé avec AVC/H.264.

AVC/H.264 est un codec largement pris en charge qui a un bon taux de compression pour les images, est capable d’encodage progressif et a la capacité d’ajuster la qualité en fonction du débit binaire. Il s’appuie sur le décodeur matériel sur l’appareil local, qui est largement pris en charge sur les appareils modernes. L’utilisation du décodeur matériel sur l’appareil local réduit l’utilisation du processeur sur l’appareil local et offre une meilleure expérience utilisateur. Vérifiez auprès du fabricant de l’appareil qu’il prend en charge le décodage matériel AVC/H.264.

Le diagramme suivant illustre le processus d’encodage et de distribution de données graphiques via RDP à l’aide du mode mixte dans un scénario d’encodage logiciel :

Diagramme montrant le processus d’encodage et de distribution de données graphiques via RDP à l’aide du mode mixte.

Ce processus est décrit comme suit :

  1. Une image bitmap est d’abord traitée en détectant si elle contient de la vidéo. S’il contient de la vidéo, l’image est envoyée au codec vidéo, qui, dans un scénario basé sur un logiciel, est encodé en AVC/H.264, puis l’image passe au canal graphique.

  2. Si l’image ne contient pas de vidéo, les processeurs d’images déterminent s’il y a des changements delta, si un mouvement est détecté ou si du contenu est disponible dans le cache. Si le contenu correspond à certains critères, le cadre passe au canal graphique.

  3. Si le cadre a besoin d’un traitement supplémentaire, le classifieur d’images détermine s’il contient du texte ou des images.

  4. Le texte et les images sont encodés à l’aide de différents codecs pour fournir la meilleure qualité et le coût d’encodage le plus bas pour chaque type de contenu. Une fois encodé, le cadre passe au canal graphique.

Au lieu d’utiliser deux codecs distincts pour le texte et les images en mode mixte, vous pouvez activer l’encodage vidéo plein écran pour traiter tout le contenu de l’écran à l’aide du codec vidéo AVC/H.264.

Encodage vidéo plein écran

L’encodage vidéo plein écran est utile pour les scénarios où le contenu de l’écran est principalement basé sur des images et est utilisé comme alternative au mode mixte. L’encodage vidéo plein écran traite toutes les données graphiques avec AVC/H.264 ou HEVC/H.265. Par conséquent, il fonctionne moins bien que l’encodage en mode mixte lorsque le contenu de l’écran est principalement basé sur du texte.

Un profil vidéo plein écran offre une fréquence d’images plus élevée et une meilleure expérience utilisateur, mais utilise davantage de bande passante réseau et de ressources sur la machine virtuelle distante et l’appareil local. Il bénéficie d’applications telles que la modélisation 3D, la CAO/CAM ou la lecture et l’édition vidéo.

Si vous activez l’accélération matérielle HEVC/H.265 et AVC/H.264, mais que HEVC/H.265 n’est pas disponible sur l’appareil local, AVC/H.264 est utilisé à la place. HEVC/H.265 permet une compression de données de 25 à 50 % par rapport à AVC/H.264, avec la même qualité vidéo ou une qualité améliorée, à la même vitesse de transmission.

Vous pouvez activer l’encodage vidéo en plein écran avec AVC/H.264 même sans accélération GPU, mais HEVC/H.265 nécessite une machine virtuelle distante compatible avec GPU.

Pour plus d’informations, consultez Activer l’accélération GPU pour Azure Virtual Desktop.

Accélération GPU matérielle

Azure Virtual Desktop, les PC cloud dans Windows 365 et Microsoft Dev Box prennent en charge l’accélération GPU (Graphics Processing Unit) dans le rendu et l’encodage pour améliorer les performances et la scalabilité des applications à l’aide du protocole RDP (Remote Desktop Protocol). L’accélération GPU est essentielle pour les applications gourmandes en graphiques, telles que celles utilisées par les concepteurs graphiques, les éditeurs vidéo, les modélisateurs 3D, les analystes de données ou les spécialistes de la visualisation.

Il existe deux composants de l’accélération GPU qui fonctionnent ensemble pour améliorer l’expérience utilisateur :

  • Rendu d’application avec accélération GPU : utilisez le GPU pour afficher des graphiques dans une session à distance.

  • Encodage de trame avec accélération GPU : RDP encode tous les graphiques rendus pour la transmission à l’appareil local. Lorsqu’une partie de l’écran est fréquemment mise à jour, elle est encodée en AVC/H.264.

Si le contenu de l’écran de vos charges de travail est principalement basé sur des images, vous pouvez également activer l’encodage vidéo en plein écran pour traiter tout le contenu de l’écran afin de fournir une fréquence d’images plus élevée et une meilleure expérience utilisateur.

Pour en savoir plus, consultez Activer l’accélération GPU.

Prise en charge du sous-échantillonnage Chroma pour 4:2:0 et 4:4:4

La valeur chroma détermine l’espace de couleur utilisé pour l’encodage. Par défaut, la valeur chroma est définie sur 4:2:0, ce qui fournit un bon équilibre entre la qualité de l’image et la bande passante réseau. Pour améliorer la qualité de l’image, vous pouvez augmenter la valeur chroma à 4:4:4 en activant l’encodage plein écran AVC/H.264 et en définissant Qualité de l’image sur Haute via la stratégie de groupe. Vous n’avez pas besoin d’utiliser l’accélération GPU pour modifier la valeur chromatique, mais une valeur chroma 4:4:4 utilise plus de bande passante pour les mêmes images à l’aide de 4:2:0.

Pour en savoir plus, consultez Augmenter la valeur chroma à 4:4:4 à l’aide du codec vidéo AVC (Advanced Video Coding).