stringtranslate.com

Механизм кодирования видео

Video Code Engine ( VCE , ранее именовавшийся Video Coding Engine , [1] Video Compression Engine [2] или Video Codec Engine [3] в официальной документации AMD) — это специализированная интегральная схема кодирования видео AMD , реализующая видеокодек H.264/MPEG-4 AVC . С 2012 года она была интегрирована во все их графические процессоры и гибридные процессоры, за исключением Oland.

Технология VCE была представлена ​​в серии Radeon HD 7000 22 декабря 2011 года. [4] [5] [6] На момент своего появления технология VCE занимала значительную часть поверхности кристалла [7] и ее не следует путать с унифицированным видеодекодером AMD (UVD).

Начиная с AMD Raven Ridge (выпущенного в январе 2018 года) на смену UVD и VCE пришла Video Core Next (VCN).

Обзор

В "полностью фиксированном режиме" все вычисления выполняются фиксированным функциональным блоком VCE. Доступ к полностью фиксированному режиму возможен через API OpenMAX IL.
Блок кодирования энтропии VCE ASIC также доступен отдельно, что позволяет использовать «гибридный режим» . В «гибридном режиме» большая часть вычислений выполняется 3D-движком графического процессора. Используя AMD Accelerated Parallel Programming SDK и OpenCL, разработчики могут создавать гибридные кодеры, которые объединяют пользовательскую оценку движения, обратное дискретное косинусное преобразование и компенсацию движения с аппаратным кодированием энтропии для достижения более быстрого, чем в реальном времени, кодирования.

Обработка видеоданных включает вычисление алгоритмов сжатия данных и, возможно, алгоритмов обработки видео . Как показывают методы сжатия шаблонов , алгоритмы сжатия видео с потерями включают шаги: оценку движения (ME), дискретное косинусное преобразование (DCT) и энтропийное кодирование (EC).

AMD Video Code Engine (VCE) — это полная аппаратная реализация видеокодека H.264/MPEG-4 AVC. Он способен выдавать 1080p при 60 кадрах/сек. Поскольку его блок энтропийного кодирования также является отдельно доступным Video Codec Engine, он может работать в двух режимах: полностью фиксированном и гибридном. [8] [9]

Используя AMD APP SDK , доступный для Linux и Microsoft Windows, разработчики могут создавать гибридные кодеры, которые объединяют пользовательскую оценку движения, обратное дискретное косинусное преобразование и компенсацию движения с аппаратным энтропийным кодированием для достижения более быстрого, чем в реальном времени, кодирования. В гибридном режиме используется только блок энтропийного кодирования блока VCE, в то время как оставшиеся вычисления выгружаются в 3D-движок графического процессора, поэтому вычисления масштабируются с числом доступных вычислительных блоков (CU).

ВКЭ 1.0

VCE [1] Версия 1.0 поддерживает H.264 YUV420 (кадры I и P), временное кодирование VCE H.264 SVC и режим кодирования дисплея (DEM).

Его можно найти на:

VCE2.0

По сравнению с первой версией, VCE 2.0 добавляет H.264 YUV444 (I-кадры), B-кадры для H.264 YUV420 и улучшения в DEM (режим кодирования дисплея), что приводит к улучшению качества кодирования.

Его можно найти на:

VCE3.0

Технология Video Code Engine 3.0 (VCE 3.0) отличается новым высококачественным масштабированием видео и, начиная с версии 3.4, высокоэффективным кодированием видео (HEVC/H.265). [10] [11]

Его, вместе с UVD 6.0, можно найти в третьем поколении Graphics Core Next (GCN3) с графическим контроллером на базе аппаратного обеспечения «Tonga» и «Fiji» (VCE 3.0), который сейчас используется в серии AMD Radeon Rx 300 (семейство графических процессоров Pirate Islands), а VCE 3.4 — в современных сериях AMD Radeon Rx 400 и AMD Radeon 500 (обе серии графических процессоров Polaris).

Платформа AMD Carrizo оснащена VCE 3.1, сохраняя те же возможности, что и VCE, используемый в «Фиджи» и «Тонга». [12]

Stoney Ridge представляет собой урезанную версию VCE 3.4 без кодирования HEVC/H.265 и сопровождается движком UVD 6.2. [13]

VCE 3.0 удаляет поддержку B-кадров H.264. [14]

VCE4.0

Кодер Video Code Engine 4.0 и декодер UVD 7.0 включены в графические процессоры на базе Vega. [15] [16]

ВКЭ 4.1

Графический процессор AMD Vega20, присутствующий в картах Instinct Mi50, Instinct Mi60 и Radeon VII, включает в себя VCE 4.1 и два экземпляра UVD 7.2. [17] [18]

Обзор функций

ВСУ

В следующей таблице приведены характеристики процессоров AMD с 3D-графикой, включая APU (см. также: Список процессоров AMD с 3D-графикой ).

  1. ^ Для моделей экскаваторов FM2+: A8-7680, A6-7480 и Athlon X4 845.
  2. ^ ПК будет одним узлом.
  3. ^ APU объединяет CPU и GPU. Оба имеют ядра.
  4. ^ Требуется поддержка прошивки.
  5. ^ ab Требуется поддержка прошивки.
  6. ^ Нет SSE4. Нет SSSE3.
  7. ^ Производительность одинарной точности рассчитывается на основе базовой (или повышенной) тактовой частоты ядра на основе операции FMA .
  8. ^ Унифицированные шейдеры  : блоки наложения текстур  : блоки вывода рендеринга
  9. ^ ab Для воспроизведения защищенного видеоконтента также требуется карта, операционная система, драйвер и поддержка приложения. Для этого также необходим совместимый HDCP-дисплей. HDCP является обязательным для вывода определенных аудиоформатов, что накладывает дополнительные ограничения на настройку мультимедиа.
  10. ^ Для питания более двух дисплеев дополнительные панели должны иметь собственную поддержку DisplayPort . [28] В качестве альтернативы можно использовать активные адаптеры DisplayPort-to-DVI/HDMI/VGA.
  11. ^ ab DRM ( Direct Rendering Manager ) — компонент ядра Linux. Поддержка в этой таблице относится к самой последней версии.

Графические процессоры

В следующей таблице показаны характеристики графических процессоров AMD / ATI (см. также: Список графических процессоров AMD ).

  1. ^ Серия Radeon 100 имеет программируемые пиксельные шейдеры, но не полностью соответствует DirectX 8 или Pixel Shader 1.0. См. статью о пиксельных шейдерах R100 .
  2. ^ Карты на базе R300, R400 и R500 не полностью соответствуют OpenGL 2+, поскольку оборудование не поддерживает все типы текстур, не являющихся степенью двойки (NPOT).
  3. ^ Для соответствия OpenGL 4+ требуется поддержка шейдеров FP64, и они эмулируются на некоторых чипах TeraScale с использованием 32-разрядного оборудования.
  4. ^ abc UVD и VCE были заменены на Video Core Next (VCN) ASIC в реализации Vega на базе APU Raven Ridge .
  5. ^ Обработка видео для техники интерполяции частоты видеокадров. В Windows работает как фильтр DirectShow в вашем плеере. В Linux поддержка со стороны драйверов и/или сообщества отсутствует.
  6. ^ ab Для воспроизведения защищенного видеоконтента также требуется карта, операционная система, драйвер и поддержка приложения. Для этого также необходим совместимый HDCP-дисплей. HDCP является обязательным для вывода определенных аудиоформатов, что накладывает дополнительные ограничения на настройку мультимедиа.
  7. ^ Поддержка большего количества дисплеев возможна при использовании собственных подключений DisplayPort или при разделении максимального разрешения между несколькими мониторами с помощью активных преобразователей.
  8. ^ ab DRM ( Direct Rendering Manager ) — компонент ядра Linux. AMDgpu — модуль ядра Linux. Поддержка в этой таблице относится к самой последней версии.

Поддержка операционной системы

Ядро VCE SIP должно поддерживаться драйвером устройства . Драйвер устройства предоставляет один или несколько интерфейсов , например OpenMAX IL . Один из этих интерфейсов затем используется программным обеспечением конечного пользователя, таким как GStreamer или HandBrake (HandBrake отклонил поддержку VCE в декабре 2016 года [46], но добавил ее в декабре 2018 года [47] ), для доступа к оборудованию VCE и его использования.

Фирменный драйвер устройства AMD Catalyst доступен для нескольких операционных систем, и в него была добавлена ​​поддержка VCE [ требуется ссылка ] . Кроме того, доступен бесплатный драйвер устройства . Этот драйвер также поддерживает оборудование VCE.

линукс

Поддержка VCE ASIC содержится в драйвере устройства ядра Linux amdgpu .

Окна

Программное обеспечение «MediaShow Espresso Video Transcoding», по-видимому, использует VCE и UVD в максимально возможной степени. [52]

XSplit Broadcaster поддерживает VCE с версии 1.3. [53]

Open Broadcaster Software (OBS Studio) поддерживает VCE для записи и потоковой передачи. Оригинальное Open Broadcaster Software (OBS) требует сборки форка для включения VCE. [54]

AMD Radeon Software поддерживает VCE со встроенным захватом игры («Radeon ReLive») и использует AMD AMF/VCE на APU или видеокарте Radeon для уменьшения падения FPS при захвате игрового или видеоконтента. [55]

HandBrake добавил поддержку Video Coding Engine в версии 1.2.0 в декабре 2018 года. [47]

Преемник

На смену VCE пришла AMD Video Core Next в серии APU Raven Ridge, выпущенной в октябре 2017 года. VCN объединяет как кодирование (VCE), так и декодирование (UVD). [56]

Смотрите также

Видеоаппаратные технологии

АМД

Другие

Ссылки

  1. ^ ab "Представляем Video Coding Engine (VCE) - AMD". developer.amd.com . Архивировано из оригинала 4 июня 2016 года . Получено 15 января 2022 года .
  2. ^ "Краткое описание продукта". amd.com .
  3. ^ "Обновления" (PDF) . amd.com .
  4. ^ "White Paper AMD UnifiedVideoDecoder (UVD)" (PDF) . 2012-06-15 . Получено 2017-05-20 .
  5. ^ "Портал AnandTech | Обзор AMD Radeon HD 7970: 28 нм и графическое ядро ​​Next, вместе как одно целое". Anandtech.com . Получено 27.03.2014 .
  6. ^ "Графический процессор AMD Radeon HD 7970 - Технический отчет - Страница 5". Технический отчет. 3 января 2012 г. Получено 27.03.2014 .
  7. ^ "Блок-схема AMD A-Series APU". 2011-06-30 . Получено 2015-01-22 .
  8. ^ "Видео и фильмы: Видеокодек-движок, UVD3 и Steady Video 2.0". AnandTech . 22 декабря 2011 г. Получено 20 мая 2017 г.
  9. ^ "Radeon HD 8900 Specs". AMD . Получено 2016-07-18 .
  10. ^ "Списки рассылки". lists.freedesktop.org . 4 июня 2015 г. . Получено 25 сентября 2023 г. .
  11. ^ "VCEEnc". 10 июня 2023 г. – через GitHub.
  12. ^ "AMDGPU (vi.c)". GitHub .
  13. ^ "AMDGPU (vi.c)". GitHub .
  14. ^ "API кодирования видео: BFrames не поддерживается на RX 4xx? · Проблема № 8 · GPUOpen-LibrariesAndSDKs/AMF". GitHub .
  15. ^ abcd Киллиан, Зак (22 марта 2017 г.). "AMD публикует исправления для поддержки Vega в Linux". Tech Report . Получено 23 марта 2017 г. .
  16. ^ Ларабель, Майкл (20 марта 2017 г.). «AMD рассылает 100 исправлений, включающих поддержку Vega в AMDGPU DRM». Phoronix . Получено 25 августа 2017 г.
  17. ^ Дойчер, Алекс (15 мая 2018 г.). "[PATCH 50/57] drm/amdgpu/vg20:Enable the 2nd instance IRQ for uvd 7.2" . Получено 13.01.2019 .
  18. ^ Дойчер, Алекс (15 мая 2018 г.). "[PATCH 42/57] drm/amd/include/vg20: настроить VCE_BASE для повторного использования заголовочных файлов vce 4.0" . Получено 13.01.2019 .
  19. ^ "AMD анонсирует 7-е поколение APU: Excavator mk2 в Bristol Ridge и Stoney Ridge для ноутбуков". 31 мая 2016 г. Получено 3 января 2020 г.
  20. ^ «Семейство гибридных процессоров AMD Mobile «Carrizo» призвано обеспечить значительный скачок в производительности и энергоэффективности в 2015 году» (пресс-релиз). 20 ноября 2014 г. Получено 16 февраля 2015 г.
  21. ^ "Руководство по сравнению мобильных процессоров, версия 13.0, страница 5: полный список мобильных процессоров AMD". TechARP.com . Получено 13 декабря 2017 г.
  22. ^ ab "AMD VEGA10 и VEGA11 GPUs замечены в драйвере OpenCL". VideoCardz.com . Получено 6 июня 2017 г. .
  23. ^ Cutress, Ian (1 февраля 2018 г.). «Zen Cores и Vega: Ryzen APU для AM4 – AMD Tech Day на CES: раскрыта дорожная карта 2018 года с Ryzen APU, Zen+ на 12 нм, Vega на 7 нм». Anandtech . Получено 7 февраля 2018 г.
  24. ^ Ларабель, Майкл (17 ноября 2017 г.). «Поддержка кодирования Radeon VCN появилась в Mesa 17.4 Git». Phoronix . Получено 20 ноября 2017 г.
  25. ^ ab "AMD Ryzen 5000G 'Cezanne' APU получает первые снимки кристалла с высоким разрешением, 10,7 миллиарда транзисторов в корпусе площадью 180 мм2". wccftech . 12 августа 2021 г. . Получено 25 августа 2021 г. .
  26. ^ Тони Чен; Джейсон Гривз, «Архитектура AMD Graphics Core Next (GCN)» (PDF) , AMD , получено 13 августа 2016 г.
  27. ^ "Технический взгляд на архитектуру AMD Kaveri". Semi Accurate . Получено 6 июля 2014 г.
  28. ^ «Как подключить три или более мониторов к видеокарте AMD Radeon™ HD 5000, HD 6000 и HD 7000 Series?». AMD . Получено 8 декабря 2014 г. .
  29. ^ Эйрли, Дэвид (26 ноября 2009 г.). "DisplayPort поддерживается драйвером KMS, встроенным в ядро ​​Linux 2.6.33" . Получено 16 января 2016 г.
  30. ^ "Матрица характеристик Radeon". freedesktop.org . Получено 10 января 2016 г. .
  31. ^ Дойчер, Александр (16 сентября 2015 г.). "XDC2015: AMDGPU" (PDF) . Получено 16 января 2016 г. .
  32. ^ аб Мишель Дэнцер (17 ноября 2016 г.). «[АНОНС] xf86-video-amdgpu 1.2.0». lists.x.org .
  33. ^ "AMD Radeon HD 6900 (AMD Cayman) series graphics cards". HWlab . hw-lab.com. 19 декабря 2010 г. Архивировано из оригинала 23 августа 2022 г. Получено 23 августа 2022 г. Новая архитектура потоковых процессоров VLIW4 позволила сэкономить площадь каждого SIMD на 10%, при этом производительность осталась прежней архитектуры VLIW5
  34. ^ "База данных спецификаций графических процессоров". TechPowerUp . Получено 23 августа 2022 г. .
  35. ^ "NPOT Texture (OpenGL Wiki)". Khronos Group . Получено 10 февраля 2021 г.
  36. ^ "AMD Radeon Software Crimson Edition Beta". AMD . Получено 20.04.2018 .
  37. ^ "Mesamatrix". mesamatrix.net . Получено 2018-04-22 .
  38. ^ "RadeonFeature". X.Org Foundation . Получено 2018-04-20 .
  39. ^ "AMD Radeon RX 6800 XT Specs". TechPowerUp . Получено 1 января 2021 г. .
  40. ^ "AMD запускает графические процессоры Radeon PRO W7500/W7600 RDNA3". Phoronix . 3 августа 2023 г. . Получено 4 сентября 2023 г. .
  41. ^ "Графическая карта AMD Radeon Pro 5600M" . TopCPU.net (на немецком языке) . Проверено 4 сентября 2023 г.
  42. ^ Ларабель, Майкл (15 сентября 2020 г.). «AMD Radeon Navi 2 / VCN 3.0 поддерживает декодирование видео AV1». Phoronix . Получено 1 января 2021 г. .
  43. ^ Эдмондс, Рич (4 февраля 2022 г.). «Обзор графического процессора ASUS Dual RX 6600: надежная игра в разрешении 1080p с впечатляющими термическими характеристиками». Windows Central . Получено 1 ноября 2022 г.
  44. ^ "Архитектура Vega следующего поколения от Radeon" (PDF) . Radeon Technologies Group (AMD). Архивировано из оригинала (PDF) 6 сентября 2018 г. . Получено 13 июня 2017 г. .
  45. ^ "AMDGPU" . Получено 29 декабря 2023 г.
  46. ^ "HandBrake отклонил запрос на извлечение VCE". GitHub . 2016-12-08 . Получено 2017-08-15 .
  47. ^ ab "HandBrake добавил поддержку VCE в v1.2.0". 2018-12-22 . Получено 2018-12-31 .
  48. ^ Кёниг, Кристиан (4 февраля 2014 г.). "первичная поддержка VCE". mesa-dev (список рассылки) . Получено 28 ноября 2015 г.
  49. ^ Кёниг, Кристиан (24 октября 2013 г.). "OpenMAX state tracker". mesa-dev (список рассылки) . Получено 28 ноября 2015 г.
  50. ^ "AMD Open-Sources VCE Video Encode Engine Code". Phoronix . 2014-02-04 . Получено 2017-05-20 .
  51. ^ "st/omx/enc: реализовать поддержку уровня h264". 2014-06-12 . Получено 2017-05-20 .
  52. ^ "MediaShow Espresso Video Transcoding Benchmark". 2014-01-14 . Получено 2017-05-20 .
  53. ^ "Обновление XSplit Broadcaster 1.3 включает в себя в основном улучшения производительности и исправления ошибок обслуживания, включая такие важные функции, как поддержка аппаратного кодировщика AMD VCE H.264". Архивировано из оригинала 22.07.2014.
  54. ^ "OBS branch with AMD VCE support". 2 мая 2014 г. Получено 20 мая 2017 г.
  55. ^ "Radeon Software Crimson ReLive Edition 16.12.1 Заметки о выпуске" . Получено 20 мая 2017 г. .
  56. ^ Ларабель, Майкл (17 ноября 2017 г.). «Поддержка кодирования Radeon VCN появилась в Mesa 17.4 Git». Phoronix . Получено 20 ноября 2017 г.