PureVideo — это аппаратное ядро SIP от Nvidia , которое выполняет декодирование видео . PureVideo интегрировано в некоторые графические процессоры Nvidia и поддерживает аппаратное декодирование нескольких стандартов видеокодеков : MPEG-2 , VC-1 , H.264 , HEVC и AV1 . PureVideo занимает значительную часть площади кристалла графического процессора и не следует путать с Nvidia NVENC . [1] Помимо декодирования видео на чипе, PureVideo предлагает такие функции, как улучшение границ, шумоподавление, деинтерлейсинг , динамическое улучшение контрастности и улучшение цвета.
Ядро PureVideo SIP должно поддерживаться драйвером устройства , который предоставляет один или несколько интерфейсов, таких как NVDEC , VDPAU , VAAPI или DXVA . Один из этих интерфейсов затем используется программным обеспечением конечного пользователя, например, медиаплеером VLC или GStreamer , для доступа к оборудованию PureVideo и его использования.
Проприетарный драйвер устройства Nvidia доступен для нескольких операционных систем, и в него добавлена поддержка PureVideo. Кроме того, доступен бесплатный драйвер устройства , который также поддерживает оборудование PureVideo.
Поддержка PureVideo доступна в фирменном драйвере Nvidia версии 180 с октября 2008 года через VDPAU . [2] С апреля 2013 года [ требуется ссылка ] nouveau также поддерживает оборудование PureVideo и обеспечивает доступ к нему через VDPAU и частично через XvMC . [3]
Windows Media Player , Windows Media Center и современные видеоплееры от Microsoft поддерживают PureVideo. Nvidia также продает программное обеспечение для декодирования PureVideo, которое может использоваться с медиаплеерами, использующими DirectShow. Системы с двумя графическими процессорами должны либо настроить кодек, либо запустить приложение на графическом процессоре Nvidia для использования PureVideo. Медиаплееры, использующие кодеки LAV, ffdshow или Microsoft Media Foundation, могут использовать возможности PureVideo.
OS X продавалась с оборудованием Nvidia, поэтому поддержка, вероятно, доступна. [ необходима цитата ]
PureVideo HD (см. раздел «Путаница в наименованиях» ниже) — это маркировка, которая идентифицирует графические платы Nvidia, сертифицированные для воспроизведения HD DVD и Blu-ray Disc , в соответствии с требованиями для воспроизведения Blu-ray/HD DVD на ПК:
Оригинальный движок PureVideo был представлен с серией GeForce 6. Основанный на видеодвижке GeForce FX (VPE), PureVideo повторно использовал конвейер декодирования MPEG-1/MPEG-2 и улучшил качество деинтерлейсинга и изменения размера оверлея. Совместимость с рендерером VMR9 DirectX 9 также была улучшена. Другие функции VPE, такие как конвейер декодирования MPEG-1/MPEG-2, остались без изменений. В пресс-материалах Nvidia упоминалось аппаратное ускорение для видео VC-1 и H.264 , но эти функции отсутствовали на момент запуска.
Начиная с выпуска GeForce 6600, PureVideo добавила аппаратное ускорение для видео VC-1 и H.264 , хотя уровень ускорения ограничен при сравнении с видео MPEG-2 . VPE (и PureVideo) разгружает конвейер MPEG-2, начиная с обратного дискретного косинусного преобразования, оставляя ЦП выполнять начальное декодирование длины прогона, декодирование переменной длины и обратное квантование; [4] тогда как PureVideo первого поколения предлагал ограниченную помощь VC-1 (компенсация движения и постобработка).
Первое поколение PureVideo HD иногда называют «PureVideo HD 1» или VP1, хотя это не официальное обозначение Nvidia.
Начиная с графических процессоров G84/G86 ( Tesla (микроархитектура) ) (продаваемых как серии GeForce 8400/8500/8600 ), Nvidia существенно переработала блок декодирования H.264 внутри своих графических процессоров. Второе поколение PureVideo HD добавило выделенный процессор потока битов (BSP) и улучшенный видеопроцессор, что позволило графическому процессору полностью разгрузить конвейер декодирования H.264. Ускорение VC-1 также было улучшено, и теперь PureVideo HD может разгружать большую часть бэкэнда конвейера декодирования VC-1 (обратное дискретное косинусное преобразование (iDCT) и этапы компенсации движения). Фронтенд (конвейер потока битов) по-прежнему декодируется центральным процессором. [5] [6] Второе поколение PureVideo HD позволило обычным ПК воспроизводить фильмы HD DVD и Blu-ray, поскольку большая часть интенсивной обработки видеодекодирования теперь была выгружена на графический процессор.
Второе поколение PureVideo HD иногда называют "PureVideo HD 2" или VP2, хотя это не официальное обозначение Nvidia. Оно соответствует Nvidia Feature Set A (или " VDPAU Feature Set A").
Это самое раннее поколение, которое Adobe Flash Player поддерживает для аппаратного ускорения видео H.264 в Windows.
Эта реализация PureVideo HD, VP3 добавила энтропийное аппаратное обеспечение для разгрузки декодирования потока битов VC-1 с помощью GPU G98 (продается как GeForce 8400GS), [7] а также дополнительные незначительные улучшения для блока декодирования MPEG-2. Функциональность конвейера декодирования H.264 осталась неизменной. По сути, VP3 предлагает полное аппаратное декодирование для всех 3 видеокодеков формата Blu-ray Disc : MPEG-2, VC-1 и H.264.
Все оборудование PureVideo третьего поколения (G98, MCP77, MCP78, MCP79MX, MCP7A) не может декодировать H.264 для следующих горизонтальных разрешений: 769–784, 849–864, 929–944, 1009–1024, 1793–1808, 1873–1888, 1953–1968 и 2033–2048 пикселей. [8]
Третье поколение PureVideo HD иногда называют "PureVideo HD 3" или VP3, хотя это не официальное обозначение Nvidia. Оно соответствует Nvidia Feature Set B (или " VDPAU Feature Set B").
Эта реализация PureVideo HD, VP4 добавила аппаратное обеспечение для разгрузки MPEG-4 Advanced Simple Profile (формат сжатия, реализованный оригинальными DivX и Xvid ) декодирования потока битов с помощью графических процессоров GT215, GT216 и GT218 (продаваемых как GeForce GT 240, GeForce GT 220 и GeForce 210/G210 соответственно). [9] Декодер H.264 больше не страдает от ограничений размера кадра VP3 и добавляет аппаратное ускорение для MVC , расширения H.264, используемого на дисках 3D Blu-ray. Ускорение MVC зависит от ОС: оно полностью поддерживается в Microsoft Windows через API Microsoft DXVA и Nvidia CUDA, но не поддерживается через API VDPAU от Nvidia.
Четвертое поколение PureVideo HD иногда называют "PureVideo HD 4" или VP4, хотя это не официальное обозначение Nvidia. Оно соответствует Nvidia Feature Set C (или " VDPAU Feature Set C").
Пятое поколение PureVideo HD, представленное в GeForce GT 520 ( Fermi (микроархитектура) ), а также включенное в графические процессоры серии Nvidia GeForce 600/700 ( Kepler (микроархитектура) ), значительно улучшило производительность при декодировании H.264. [10] Оно также способно декодировать видео с разрешением 2160p 4K Ultra-High Definition (UHD) при разрешении 3840 × 2160 пикселей (что вдвое превышает стандарт 1080p Full High Definition как по вертикали, так и по горизонтали) и, в зависимости от драйвера и используемого кодека, с более высоким разрешением до 4032 × 4080 пикселей.
Пятое поколение PureVideo HD иногда называют "PureVideo HD 5" или "VP5", хотя это не официальное обозначение Nvidia. Это поколение PureVideo HD соответствует Nvidia Feature Set D (или " VDPAU Feature Set D").
Шестое поколение PureVideo HD, представленное с Maxwell (микроархитектура) , например, в GeForce GTX 750/GTX 750 Ti (GM107), а также включенное в графические процессоры серии Nvidia GeForce 900 (Maxwell), значительно улучшило производительность при декодировании H.264 и MPEG-2. Оно также способно декодировать видео Digital Cinema Initiatives (DCI) с разрешением 4K при 4096 × 2160 пикселей и, в зависимости от драйвера и используемого кодека, с более высокими разрешениями до 4096 × 4096 пикселей. Графические процессоры с набором функций E поддерживают улучшенный режим маскировки ошибок, который обеспечивает более надежную обработку ошибок при декодировании поврежденных видеопотоков. Он поддерживает частичное аппаратное декодирование для H.265 FHD.
Шестое поколение PureVideo HD иногда называют "PureVideo HD 6" или "VP6", хотя это не официальное обозначение Nvidia. Это поколение PureVideo HD соответствует Nvidia Feature Set E (или " VDPAU Feature Set E").
Седьмое поколение PureVideo HD, представленное в GeForce GTX 960 и GTX 950, второе поколение Maxwell (микроархитектура) GPU (GM206), добавляет полное аппаратное декодирование H.265 HEVC Version 1 (профили Main и Main 10) к видеодвижку GPU. Аппаратный декодер Feature Set F также поддерживает полное аппаратное декодирование фиксированной функции VP9 (видеокодек). [11]
Предыдущие графические процессоры Maxwell реализовали воспроизведение HEVC с использованием гибридного решения декодирования, которое включало как хост-процессор, так и массив GPGPU графического процессора. Гибридная реализация значительно медленнее, чем выделенное оборудование в видеодвижке VP7.
Седьмое поколение PureVideo HD иногда называют "PureVideo HD 7" или "VP7", хотя это не официальное обозначение Nvidia. Это поколение PureVideo HD соответствует Nvidia Feature Set F (или " VDPAU Feature Set F").
Восьмое поколение PureVideo HD, представленное в GeForce GTX 1080, GTX 1070, GTX 1060, GTX 1050 Ti и GTX 1050, GT 1030 и GT 1010, графическом процессоре Pascal (микроархитектура) , добавляет полное аппаратное декодирование профиля HEVC Version 2 Main 12 и увеличивает разрешение для декодирования VP9 и HEVC до 8K , включая 8K UHDTV и до 8K полнокупольного 8192x8192.
Предыдущие графические процессоры Maxwell GM200/GM204 реализовали воспроизведение HEVC с использованием гибридного решения декодирования, которое включало как хост-процессор, так и массив GPGPU графического процессора. Гибридная реализация значительно медленнее, чем выделенное оборудование в видеодвижке VP8.
Восьмое поколение PureVideo HD иногда называют "PureVideo HD 8" или "VP8", хотя это не официальное обозначение Nvidia. Это поколение PureVideo HD соответствует Nvidia Feature Set H (или " VDPAU Feature Set H").
Девятое поколение PureVideo HD, представленное с NVIDIA TITAN V, графическим процессором Volta (микроархитектура) .
Девятое поколение PureVideo HD иногда называют "PureVideo HD 9" или "VP9", хотя это не официальное обозначение Nvidia. Это поколение PureVideo HD соответствует Nvidia Feature Set I (или " VDPAU Feature Set I").
Десятое поколение PureVideo HD, представленное в видеокартах NVIDIA GeForce RTX 2080 Ti, RTX 2080, RTX 2070, RTX 2060, GTX 1660 Ti, GTX 1660 и GTX 1650, графических процессорах на базе микроархитектуры Turing , добавляет в видеодвижок графического процессора полное аппаратное декодирование для трех дополнительных профилей HEVC версии 2 (Main 4:4:4, Main 4:4:4 10 и Main 4:4:4 12).
Десятое поколение PureVideo HD иногда называют "PureVideo HD 10" или "VP10", хотя это не официальное обозначение Nvidia. Это поколение PureVideo HD соответствует Nvidia Feature Set J (или " VDPAU Feature Set J").
Одиннадцатое поколение PureVideo HD, представленное в NVIDIA GeForce RTX 3090, RTX 3080 Ti, RTX 3080, RTX 3070 Ti, RTX 3070, RTX 3060 Ti, RTX 3060, RTX 3050 Ti и RTX 3050, графический процессор Ampere (микроархитектура) , с пятым поколением NVDEC представляет возможность аппаратного декодирования 8K@60 для основного профиля AV1 (цветовая субдискретизация 4:0:0 и 4:2:0 с глубиной цвета 8 или 10 бит) с разрешением до 8192 x 8192 пикселей для видеодвижка графического процессора.
Одиннадцатое поколение PureVideo HD иногда называют "PureVideo HD 11" или "VP11", хотя это не официальное обозначение Nvidia. Это поколение PureVideo HD соответствует Nvidia Feature Set K (или " VDPAU Feature Set K").
Поскольку внедрение и последующее развертывание технологии PureVideo не были синхронизированы с графиком выпуска графических процессоров Nvidia, точные возможности технологии PureVideo и поддерживаемые ими графические процессоры Nvidia привели к значительной путанице для клиентов. Первое поколение графических процессоров PureVideo (серия GeForce 6) охватывало широкий спектр возможностей. В младшей серии GeForce 6 (6200) PureVideo была ограничена контентом стандартной четкости (720×576). Основная и верхняя части серии GeForce 6 были разделены между старыми продуктами (6800 GT), которые вообще не ускоряли H.264/VC-1, и новыми продуктами (6600 GT) с добавленной возможностью разгрузки VC-1/H.264.
В 2006 году PureVideo HD был официально представлен с выпуском GeForce 7900, которая имела первое поколение PureVideo HD. В 2007 году, когда второе поколение оборудования PureVideo HD (VP2) было запущено с Geforce 8500 GT/8600 GT/8600 GTS, Nvidia расширила Purevideo HD, включив как первое поколение (ретроактивно называемое "PureVideo HD 1" или VP1) GPU (Geforce 7900/8800 GTX), так и более новые GPU VP2. Это привело к запутанному портфелю продуктов, содержащему GPU с двумя совершенно разными возможностями поколений: более новые ядра на основе VP2 (Geforce 8500 GT/8600 GT/8600 GTS/8800 GT) и другие старые ядра на основе PureVideo HD 1 (Geforce 7900/G80).
Nvidia утверждает, что все графические процессоры с маркировкой PureVideo HD полностью поддерживают воспроизведение Blu-ray/HD DVD с соответствующими системными компонентами. Для контента H.264/AVC VP1 обеспечивает заметно худшее ускорение по сравнению с более новыми графическими процессорами, что значительно увеличивает нагрузку на центральный процессор. Однако достаточно быстрый центральный процессор может воспроизводить Blu-ray без какой-либо аппаратной поддержки.
Наборы функций Nvidia VDPAU [18] — это различные аппаратные поколения графических процессоров Nvidia, поддерживающие различные уровни возможностей аппаратного декодирования. Для наборов функций A, B и C максимальная ширина и высота видео составляют 2048 пикселей , минимальная ширина и высота — 48 пикселей, а все кодеки в настоящее время ограничены максимумом в 8192 макроблока (8190 для VC-1/WMV9). Частичное ускорение означает, что декодирование VLD (битового потока) выполняется на CPU , а графический процессор выполняет только IDCT , компенсацию движения и деблокирование . Полное ускорение означает, что графический процессор выполняет все VLD, IDCT, компенсацию движения и деблокирование.
Qualcomm