Поделиться через


Кодировка графики по протоколу удаленного рабочего стола

Графические данные из удаленного сеанса передаются на локальное устройство через протокол удаленного рабочего стола (RDP). Процесс включает кодировку графических данных на удаленной виртуальной машине перед отправкой на локальное устройство. Каждый кадр обрабатывается на основе его содержимого, передачи через процессоры изображений, классификатор и кодек перед доставкой на локальное устройство с помощью графического транспорта RDP.

Целью кодирования и передачи графических данных является обеспечение оптимальной производительности и качества с использованием устройства локально. Этот процесс важен при использовании виртуального рабочего стола Azure, облачных компьютеров в Windows 365 и Microsoft Dev Box, где пользователи ожидают высокого качества работы при удаленной работе.

RDP использует ряд функций и методов для обработки и передачи графических данных, которые делают его подходящим для широкого спектра сценариев, таких как производительность офиса, воспроизведение видео и игры. К этим функциям и методам относятся:

  • Кодирование на основе оборудования и программного обеспечения: использует ЦП или GPU для кодирования графических данных.

    • Кодировка аппаратного ускорения: выгружает обработку графической кодировки с ЦП на GPU на удаленной виртуальной машине с дискретным GPU. GPU обеспечивает более высокую производительность для графических приложений, таких как трехмерное моделирование или редактирование видео высокого определения.

    • Кодирование программного обеспечения: использует ЦП для кодирования графических данных с низкой стоимостью. Кодирование программного обеспечения — это профиль кодирования по умолчанию, используемый на удаленной виртуальной машине без дискретного GPU.

  • Смешанный режим: отделяет кодировку текста и изображения с помощью разных кодеков, чтобы обеспечить оптимальное качество и наименьшую стоимость кодирования для каждого типа содержимого. Смешанный режим доступен только с кодировкой программного обеспечения.

  • Адаптивная графика: настраивает качество кодирования на основе доступной пропускной способности и содержимого экрана.

  • Кодировка видео с полноэкранным экраном: обеспечивает более высокую частоту кадров и лучший пользовательский интерфейс.

  • Разностное обнаружение и кэширование: уменьшает объем передаваемых данных.

  • Поддержка нескольких кодеков: использует аппаратные декодеры на локальном устройстве. Кодеки включают видеокодек Расширенного видеокодирования (AVC), также известный как H.264, и видеокодек высокой эффективности (HEVC), также известный как H.265. Поддержка HEVC/H.265 доступна в предварительной версии и требует совместимой виртуальной машины с поддержкой GPU.

  • 4:2:0 и 4:4 chroma subsampling: обеспечивает баланс между качеством изображения и использованием пропускной способности.

Вы можете использовать сочетание этих функций и методов в зависимости от доступных ресурсов удаленного сеанса, локального устройства и сети, а также пользовательского интерфейса, который требуется предоставить.

В этой статье описывается процесс кодирования и доставки графических данных по протоколу RDP с помощью некоторых из этих функций и методов.

Совет

Мы рекомендуем использовать перенаправление мультимедиа по возможности, которое перенаправляет воспроизведение видео на локальное устройство. Перенаправление мультимедиа обеспечивает лучший пользовательский интерфейс для воспроизведения видео, отправляя битовый поток видеоданных на локальное устройство, где он декодирует и отрисовывает видео в правильном месте на экране. Этот метод также снижает затраты на обработку на удаленной виртуальной машине независимо от конфигурации кодирования. Дополнительные сведения см. в статье "Перенаправление мультимедиа" для воспроизведения видео и вызовов в удаленном сеансе.

Смешанный режим

По умолчанию графические данные разделяются в зависимости от его содержимого. Текст и изображения кодируются с помощью сочетания кодеков, чтобы обеспечить оптимальную производительность кодирования в разных типах контента только при использовании кодировки программного обеспечения. Этот процесс называется смешанным режимом.

В среднем около 80% графических данных для удаленного сеанса — это текст. Чтобы обеспечить наименьшую стоимость кодирования и лучшее качество для текста, RDP использует пользовательский кодек, оптимизированный для текста. Из-за того, что содержимое изображения является более сложным для кодирования, важно использовать кодек, который хорошо адаптируется к доступной скорости.

Остальная часть содержимого разделена на изображения и видео:

  • Изображения кодируются с помощью графики AVC/H.264 или RemoteFX в зависимости от возможностей локального устройства и включения перенаправления мультимедиа. Кодировка AVC/H.264 изображений недоступна при использовании перенаправления мультимедиа.

  • Видео закодировано с помощью AVC/H.264.

AVC/H.264 — это широко поддерживаемый кодек, который имеет хорошее соотношение сжатия для изображений, способен постепенно кодирования и имеет возможность настраивать качество на основе скорости. Он использует аппаратный декодатор на локальном устройстве, который широко поддерживается на современных устройствах. Использование аппаратного декодера на локальном устройстве уменьшает использование ЦП на локальном устройстве и обеспечивает более удобный интерфейс пользователя. Обратитесь к изготовителю устройства, чтобы убедиться, что он поддерживает декодирование оборудования AVC/H.264.

На следующей схеме показан процесс кодирования и доставки графических данных по протоколу RDP с помощью смешанного режима в сценарии кодирования программного обеспечения:

Схема, показывающая процесс кодирования и доставки графических данных по протоколу RDP с помощью смешанного режима.

Этот процесс описан следующим образом:

  1. Растровое изображение кадра сначала обрабатывается путем определения того, содержит ли он видео. Если он содержит видео, кадр отправляется в видеокодек, который в программном сценарии кодируется с помощью AVC/H.264, а затем кадр передается в графический канал.

  2. Если кадр не содержит видео, процессоры изображений определяют, есть ли разностные изменения, обнаруживается движение или содержимое доступно в кэше. Если содержимое соответствует определенным критериям, кадр передается в графический канал.

  3. Если кадру требуется дальнейшая обработка, классификатор изображений определяет, содержит ли он текст или изображения.

  4. Текст и изображения кодируются с помощью разных кодеков для обеспечения оптимального качества и наименьшей стоимости кодирования для каждого типа контента. После кодирования кадр передается в графический канал.

Вместо использования двух отдельных кодеков для текста и изображений в смешанном режиме можно включить полноэкранное кодирование видео для обработки всего содержимого экрана с помощью видеокодека AVC/H.264.

Кодировка видео с полноэкранным экраном

Кодировка видео с полноэкранным экраном полезна для сценариев, где содержимое экрана в основном основано на изображении и используется в качестве альтернативы смешанному режиму. Полноэкранное кодирование видео обрабатывает все графические данные с помощью AVC/H.264 или HEVC/H.265. В результате он работает хуже, чем кодировка в смешанном режиме, когда содержимое экрана в основном основано на тексте.

Полноэкранный видеопрофиль обеспечивает более высокую частоту кадров и лучшее взаимодействие с пользователем, но использует больше пропускной способности сети и ресурсов как на удаленной виртуальной машине, так и на локальном устройстве. Это обеспечивает такие приложения, как трехмерный моделирование, CAD/CAM или воспроизведение видео и редактирование.

Если включить аппаратное ускорение HEVC/H.265 и AVC/H.264, но HEVC/H.265 недоступен на локальном устройстве, вместо этого используется AVC/H.264. HEVC/H.265 обеспечивает сжатие данных на 25–50 % по сравнению с AVC/H.264, при том же качестве видео или улучшенном качестве при той же скорости.

Вы можете включить полноэкранное кодирование видео с помощью AVC/H.264 даже без ускорения GPU, но HEVC/H.265 требует совместимой виртуальной машины с поддержкой GPU.

Дополнительные сведения см. в статье "Включение ускорения GPU для виртуального рабочего стола Azure".

Аппаратное ускорение GPU

Виртуальный рабочий стол Azure, облачные компьютеры в Windows 365 и Microsoft Dev Box поддерживают ускорение обработки графики (GPU) при отрисовке и кодировке для повышения производительности и масштабируемости приложений с помощью протокола удаленного рабочего стола (RDP). Ускорение GPU имеет решающее значение для графических приложений, таких как графические конструкторы, редакторы видео, трехмерные модели, аналитики данных или специалисты по визуализации.

Существует два компонента для ускорения GPU, которые работают вместе, чтобы улучшить взаимодействие с пользователем:

  • Отрисовка приложения с ускорением GPU: используйте GPU для отрисовки графики в удаленном сеансе.

  • Кодировка кадров с ускорением GPU: RDP кодирует все рисунки, отрисованные для передачи на локальное устройство. Когда часть экрана часто обновляется, она закодирована с помощью AVC/H.264.

Если содержимое экрана в рабочих нагрузках в значительной степени основано на изображении, вы также можете включить полноэкранное кодирование видео для обработки всего содержимого экрана, чтобы обеспечить более высокую частоту кадров и улучшить взаимодействие с пользователем.

Дополнительные сведения см. в разделе "Включение ускорения GPU".

Поддержка вложенных модулей Chroma для 4:2:0 и 4:4:4

Значение chroma определяет цветовое пространство, используемое для кодирования. По умолчанию значение chroma имеет значение 4:2:0, что обеспечивает хороший баланс между качеством изображения и пропускной способностью сети. При использовании AVC/H.264 можно увеличить значение chroma до 4:4:4 для улучшения качества изображения, но также увеличивает пропускную способность сети. Вам не нужно использовать ускорение GPU для изменения значения хрома.

Дополнительные сведения см. в статье "Увеличение значения chroma до 4:4:4 с помощью видеокодека (AVC).