你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
远程会话中的图形数据通过远程桌面协议 (RDP) 传输到本地设备。 此过程涉及在将远程虚拟机上的图形数据发送到本地设备之前对其进行编码。 每个帧根据其内容进行处理,通过图像处理器、分类器和编解码器,然后使用 RDP 的图形传输传送到本地设备。
编码和传输图形数据的目的是提供最佳性能和质量,其体验与在本地使用设备相同。 使用 Azure 虚拟桌面、Windows 365中的云电脑和 Microsoft Dev Box 时,此过程非常重要,用户期望远程工作时获得高质量的体验。
RDP 使用一系列功能和技术来处理和传输图形数据,使其适用于各种方案,例如办公效率、视频播放和游戏。 这些功能和技术包括:
基于硬件和软件的编码:使用 CPU 或 GPU 对图形数据进行编码。
硬件加速编码:将图形编码的处理从 CPU 卸载到具有离散 GPU 的远程虚拟机上的 GPU。 GPU 为图形密集型应用程序(例如 3D 建模或高清视频编辑)提供更好的性能。
软件编码:使用 CPU 以较低的成本对图形数据进行编码。 软件编码是在没有离散 GPU 的远程虚拟机上使用的默认编码配置文件。
混合模式:使用不同的编解码器分隔文本和图像编码,以便为每种类型的内容提供最佳质量和最低的编码成本。 混合模式仅适用于软件编码。
自适应图形:根据可用带宽和屏幕内容调整编码质量。
全屏视频编码:提供更高的帧速率和更好的用户体验。
增量检测和缓存:减少需要传输的数据量。
多个编解码器支持:在本地设备上使用硬件解码器。 编解码器包括高级视频编码 (AVC) 视频编解码器(也称为 H.264)和高效视频编码 (HEVC) 视频编解码器(也称为 H.265)。 HEVC/H.265 支持需要支持 GPU 的兼容远程虚拟机。
4:2:0 和 4:4:4 色度子采样:在图像质量和带宽使用之间提供平衡。
可以根据远程会话、本地设备和网络的可用资源以及要提供的用户体验,结合使用这些功能和技术。
本文介绍使用其中一些功能和技术通过 RDP 编码和传送图形数据的过程。
提示
建议尽可能使用多媒体重定向,将视频播放重定向到本地设备。 多媒体重定向通过将视频数据的比特流发送到本地设备,从而为视频播放提供更好的用户体验,并在设备上解码视频并将其呈现到屏幕上的正确位置。 此方法还可以降低远程虚拟机上的处理成本,而不管编码配置如何。 若要了解详细信息,请参阅 远程会话中视频播放和通话的多媒体重定向。
混合模式
默认情况下,图形数据根据其内容进行分隔。 文本和图像使用混合编解码器进行编码,以在仅使用软件编码时跨不同内容类型实现最佳编码性能。 此过程称为混合模式。
平均而言,远程会话大约 80% 的图形数据是文本。 为了提供最低的编码成本和最佳文本质量,RDP 使用针对文本进行优化的自定义编解码器。 由于图像内容难以有效编码,因此使用能够很好地适应可用比特率的编解码器至关重要。
其余内容分为图像和视频:
图像使用 AVC/H.264 或 RemoteFX 图形进行软件编码,具体取决于本地设备的功能以及是否启用了多媒体重定向。 使用多媒体重定向时,图像的 AVC/H.264 编码不可用。
视频是使用 AVC/H.264 进行软件编码的。
AVC/H.264 是一种广泛支持的编解码器,具有良好的图像压缩比,能够进行渐进式编码,并且能够根据比特率调整质量。 它依赖于本地设备上的硬件解码器,新式设备广泛支持该硬件解码器。 在本地设备上使用硬件解码器可减少本地设备上的 CPU 使用率,并提供更好的用户体验。 请与设备制造商联系,确保它支持 AVC/H.264 硬件解码。
下图显示了在软件编码方案中使用混合模式通过 RDP 进行编码和传送图形数据的过程:
此过程如下所述:
首先通过检测帧位图是否包含视频来处理它。 如果它确实包含视频,则帧将发送到视频编解码器,在基于软件的方案中,该编解码器使用 AVC/H.264 进行编码,然后帧传递到图形通道。
如果帧不包含视频,则图像处理器将确定是否存在增量变化、检测到运动或缓存中是否有内容。 如果内容符合特定条件,则帧将传递到图形通道。
如果帧需要进一步处理,图像分类器将确定它是否包含文本或图像。
文本和图像使用不同的编解码器进行编码,以便为每种类型的内容提供最佳质量和最低的编码成本。 编码后,帧将传递到图形通道。
可以启用 全屏视频编码 以使用 AVC/H.264 视频编解码器处理所有屏幕内容,而无需对混合模式的文本和图像使用两个单独的编解码器。
全屏视频编码
对于屏幕内容主要基于图像且用作混合模式的替代方案,全屏视频编码非常有用。 全屏视频编码使用 AVC/H.264 或 HEVC/H.265 处理所有图形数据。 因此,当屏幕内容主要基于文本时,它的性能比混合模式编码差。
全屏视频配置文件提供更高的帧速率和更好的用户体验,但在远程虚拟机和本地设备上使用更多的网络带宽和资源。 它有利于 3D 建模、CAD/CAM 或视频播放和编辑等应用程序。
如果同时启用 HEVC/H.265 和 AVC/H.264 硬件加速,但 HEVC/H.265 在本地设备上不可用,则改用 AVC/H.264。 与 AVC/H.264 相比,HEVC/H.265 能够以相同的视频质量或相同的比特率提高质量,实现 25-50% 的数据压缩。
即使没有 GPU 加速,也可以使用 AVC/H.264 启用全屏视频编码,但 HEVC/H.265 需要一个兼容的启用了 GPU 的远程虚拟机。
若要了解详细信息,请参阅 为 Azure 虚拟桌面启用 GPU 加速。
硬件 GPU 加速
Azure 虚拟桌面、Windows 365 中的云电脑和 Microsoft Dev Box 支持图形处理单元 (GPU) 加速渲染和编码,以便使用远程桌面协议 (RDP) 提高应用性能和可伸缩性。 GPU 加速对于图形密集型应用程序(例如图形设计人员、视频编辑器、3D 建模师、数据分析师或可视化专家使用的应用程序)至关重要。
GPU 加速有两个组件协同工作,以改善用户体验:
GPU 加速的应用程序呈现:使用 GPU 在远程会话中呈现图形。
GPU 加速帧编码:RDP 对呈现的所有图形进行编码,以便传输到本地设备。 当屏幕的一部分经常更新时,它将使用 AVC/H.264 进行编码。
如果工作负载中的屏幕内容主要基于图像,则还可以启用 全屏视频编码 来处理所有屏幕内容,以提供更高的帧速率和更好的用户体验。
若要了解详细信息,请参阅 启用 GPU 加速。
Chroma 子采样支持 4:2:0 和 4:4:4
色度值确定用于编码的颜色空间。 默认情况下,色度值设置为 4:2:0,这在图像质量和网络带宽之间提供了很好的平衡。 使用 AVC/H.264 时,可以将色度值增加到 4:4:4 以提高图像质量,但也会增加网络带宽。 无需使用 GPU 加速来更改色度值。
若要了解详细信息,请参阅 使用高级视频编码 (AVC) 视频编解码器将色度值增加到 4:4:4。