PureVideo — Википедия

Логотип nVidia PureVideo

PureVideo — аппаратная функция, разработанная компанией nVidia для переноса нагрузки по декодированию и последующей обработке видео с центрального процессора на графический процессор (GPU). PureVideo поддерживается графическими процессорами GeForce начиная с GeForce 6 серии, а также GeForce M и NVIDIA Quadro. Драйверы устройств NVIDIA для Windows XP, Windows Vista и Windows 7 поддерживают PureVideo и, при наличии соответствующего прикладного программного обеспечения, будут автоматически использовать любое аппаратное ускорение, доступное на данной модели GPU.

Все программные проигрыватели HD DVD/Blu-ray, так же, как и большинство программных DVD-плееров, поддерживают технологию PureVideo. Windows Media Player и Windows Media Center также поддерживают технологию NVIDIA PureVideo.

14 ноября 2008 года NVIDIA выпустила бета-версию драйвера устройства с закрытым исходным кодом и API с открытым исходным кодом под названием VDPAU, с поддержкой PureVideo для Linux, FreeBSD и Solaris.[1]

PureVideo HD (см. «проблемы обозначения» ниже) является обозначением, идентифицирующим графические платы NVIDIA, сертифицированные для HD DVD и Blu-ray, в части выполнения требований проигрывания HD DVD/Blu-ray на ПК:

  1. Непрерывное шифрование (HDCP) для цифровых интерфейсов (DVI-D/HDMI/DisplayPort)
  2. Декодирование в реальном времени H.264 L4.1, VC-1 L3, и MPEG-2 MP@HL (1080p30)
  3. Двухпоточное декодирование в реальном времени для «картинки в картинке» HD DVD/Blu-ray (основное видео 1080p, вторичное видео 480p)

Первое поколение PureVideo HD

[править | править код]

Изначально PureVideo появился на GeForce 6 серии. Будучи основанным на механизме GeForce FX (VPE), PureVideo использует аналогичный конвейер MPEG-1/MPEG-2-декодирования, кроме того, улучшает качество деинтерлейсинга и изменены размеры оверлея. Также была улучшена совместимость с DirectX 9 VMR9 рендером. Другие функции VPE, такие как конвейер MPEG-1/MPEG-2-декодирования, оставили неизменными. NVIDIA опубликовала документацию, описывающую аппаратное ускорение для VC-1 и H.264 видео, но эти функции не присутствовали при запуске серии.

К моменту выпуска GeForce 6600 PureVideo добавили аппаратное ускорение для VC-1 и H.264 видео, хотя уровень ускорения и был ограничен по сравнению с ускорением MPEG-2 видео. VPE (и PureVideo) разгружает практически весь конвейер MPEG-2 (кроме начального этапа — обработки бинарного потока (декодирования длин серий, декодирования переменной длины (VLD) и обратного преобразования)[2], тогда как для VC-1 первое поколение PureVideo предложило ограниченное ускорение (компенсацию движения).

PureVideo HD первого поколения иногда называют «PureVideo HD 1» или VP1, но это не официальное обозначение NVIDIA.

Второе поколение PureVideo HD

[править | править код]

Начиная с чипов G84/G86 (продаваемых как GeForce 8400/8500/8600), NVIDIA существенно перепроектировала блок декодирования H.264 GPU. Второе поколение PureVideo HD добавило выделенный поточный процессор (BSP) и улучшило видеопроцессор, который позволил GPU полностью разгрузить конвейер H.264-декодирования. VC-1 ускорение было также улучшено, теперь PureVideo HD взял на себя среднюю часть конвейера декодирования (обратное дискретное косинусное преобразование (iDCT) и этапы компенсации движения). Первый этап конвейера декодирования (обработка бинарного потока) все еще декодируется ЦП[3][4]. Второе поколение HD PureVideo позволило большинству ПК проигрывать фильмы HD DVD и Blu-ray, так как основная нагрузка по декодированию и обработке видео была переложена на GPU.

PureVideo HD второго поколения иногда называют «PureVideo HD 2» или VP2, хотя это не официальное обозначение NVIDIA. Это соответствует набору функций NVIDIA VDPAU A.

Третье поколение PureVideo HD

[править | править код]

С появлением чипов G98 (представленных на рынке как GeForce 8400GS), в PureVideo добавили аппаратное ускорение декодирования бинарного потока VC-1-видео, кроме того, были незначительно улучшены блоки декодирования MPEG-2. Функциональность конвейера H.264-декодирования оставили неизменной.

Все текущее третье поколение аппаратных средств PureVideo (G98, MCP77, MCP78, MCP79, MCP7A) не может декодировать H.264 для следующих горизонтальных разрешений: 769—784, 849—864, 929—944, 1009—1024, 1793—1808, 1873—1888, 1953—1968 и 2033—2048 пикселей[5]

PureVideo HD третьего поколения иногда называют «HD PureVideo HD 3» или VP3, хотя это не официальное обозначение NVIDIA. Это соответствует набору функций NVIDIA VDPAU B.

Четвертое поколение PureVideo HD

[править | править код]

Начиная с чипов GT215, GT216 и GT218 (продаваемых под именами GeForce GT 240, GeForce GT 220 & GeForce 210/G210), NVIDIA добавила аппаратное ускорение декодирования бинарного потока MPEG-4 part 2 Advanced Simple Profile[6]. H.264-декодер больше не имеет ограничений предыдущей версии по размеру кадра. Добавлено аппаратное ускорение для MVC — расширения H.264, используемого на дисках Blu-ray 3D. Те же самые функции поддерживаются и GeForce 400.

PureVideo HD четвертого поколения иногда называют «PureVideo HD 4» или VP4, хотя это не официальное обозначение NVIDIA. Это соответствует набору функций NVIDIA VDPAU C (который из-за недостатков API в настоящий момент не поддерживает MVC).

Проблемы обозначения

[править | править код]

Поскольку внедрение и последующее развитие технологии PureVideo не синхронизировались с планом выпуска GPU NVIDIA, возможности технологии PureVideo не соответствовали классам поддерживающих их GPU.

Первое поколение GPU с поддержкой PureVideo (GeForce 6 серии) охватило широкий диапазон возможностей. На самом слабом из GeForce 6 серии (GeForce 6200) PureVideo был ограничен контентом разрешения (720x576). Средний и производительный классы были разделены между более старым GeForce 6800 GT, который не ускорял H.264/VC-1 вообще, и более новым (GeForce 6600 GT) обладающим аппаратным ускорением VC-1/H.264, разгружающим ЦП.

В 2006 г. с запуском GeForce 7900 было формально запущено PureVideo HD первого поколения (VP1). В 2007 г., когда было выпущено второе поколение PureVideo HD (VP2) на видеокартах Geforce 8500 GT/8600 GT/8600 GTS, NVIDIA расширила понятие PureVideo HD, чтобы технология включала оба поколения устаревающие VP1 GPU (Geforce 7900/8800 GTX) и более новые VP2 GPU. Таким образом, технология PureVideo HD стала включать в себя продукты двух разных поколений.

NVIDIA прокомментировала это так: любая видеокарта, поддерживающая технологию PureVideo HD, обеспечивает воспроизведение Blu-ray/HD DVD при наличии соответствующих системных компонентов. Просто для H.264/VC-1 VP1 обеспечивает более слабое ускорение по сравнению с VP2, значительно сильнее загружая ЦП. В то же время достаточно производительный процессор вполне в состоянии проиграть Blu-ray без любого аппаратного ускорения вообще.

Конкурентная технология — унифицированный видеодекодер ATI (UVD) сопоставим с третьим поколением PureVideo HD (VP3) с точки зрения ускорения декодирования видео. Сравнительные тесты, ранее проводимые AnandTech, нашли, что UVD выиграл у VP2 в воспроизведении VC-1-видео.[7]

Таблица. Видеокарты с блоком PureVideo

[править | править код]
Board Name Тип процессора PureVideo HD Набор функций VDPAU Дата выпуска Примечание
GeForce 6 series NV4x VP1 не поддерживается GeForce 6800 на процессоре NV40 не поддерживают ускорение для VC-1/H.264
GeForce 7 series G7x VP1 не поддерживается -
GeForce 8800 Ultra, 8800 GTX, 8800 GTS (320/640 MB) G80 VP1 не поддерживается ноябрь 2006 -
GeForce 8400 GS, 8500 GT G86 VP2 A апрель 2007 -
GeForce 8600 GT, 8600 GTS G84 VP2 A апрель 2007 -
GeForce 8800 GS, 8800 GT, 8800 GTS (512 MB/1 GB), 9600 GSO, 9800 GT, 9800 GTX, 9800 GTX+, 9800 GX2, GTS 240 (OEM) G92 VP2 A октябрь 2007 -
GeForce 8400 GS Rev. 2 G98 VP3 B декабрь 2007 -
GeForce 8200, 8300 C77 VP3 B январь 2008 -
GeForce 9600 GSO 512, 9600 GT G94 VP2 A февраль 2008 -
GeForce 9400 GT, 9500 GT, 9500 GS, GeForce 9600M GT G96 VP2 A июнь 2008 -
GeForce GTX 260, GTX 275, GTX 280, GTX 285, GTX 295 GT200 VP2 A июнь 2008 -
GeForce 9300M GS, 9300 GS, 9300 GE G98 VP3 B октябрь 2008 -
Ion, Ion-LE (first-generation Ion) C79 VP3 B -
GeForce 205, 210/G210, 310, G210M, 305M, 310M, 8400 GS Rev. 3 GT218 VP4 C октябрь 2009

(апрель 2009 для 8400 GS Rev. 3)

Добавлено декодирование MPEG-4 ASP (Divx/Xvid)
GeForce GT 220, 315, GT 230M, GT 240M, GT 325M, GT 330M GT216 VP4 C октябрь 2009 -
GeForce GT 240, GT 320, GT 340, GTS 250M, GTS 260M, GT 335M, GTS 350M, GTS 360M GT215 VP4 C ноябрь 2009 -
GeForce GTX 465, GTX 470, GTX 480, GTX 480M GF100 VP4 C март 2010 -
GeForce GTX 460, GTX 470M, GTX 485M GF104 VP4 C июль 2010 -
GeForce GT 420 OEM, GT 430, GT 440, GT 415M, GT 420M, GT 425M, GT 435M, GT525M, GT 540M, GT 550M, GT 620 (non-OEM), GT 630 (40 nm) GF108 VP4 C сентябрь 2010 -
GeForce GTS 450, GT 445M, GTX 460M, GT 555M GF106 VP4 C сентябрь 2010 -
GeForce GTX 570, GTX 580, GTX 590 GF110 VP4 C ноябрь 2010 -
Ion 2 (next-generation Ion) GT218 VP4 C -
GeForce GTX 560 Ti, GTX 570M, GTX 580M, GT 645 GF114 VP4 C январь 2011 -
GeForce GTX 550 Ti, GTX 560M, GT 640 (OEM) GF116 VP4 C март 2011 -
GeForce 410M, GT 520MX, 510, GT 520, GT 610, GT 620 (OEM) GF119 VP5 D апрель 2011 Добавлено декодирование 4k видео
GeForce GT 620M, GT 625M, GT 710M, GT 720M, GT 820M GF117 VP5 D апрель 2011 -
GeForce GT 630 (28 nm), GT 640 (non-OEM), GTX 650, GT 640M, GT 645M, GT 650M, GTX 660M, GT 740M, GT 745M, GT 750M, GT 755M GK107 VP5 D март 2012 -
GeForce GTX 660 (OEM), GTX 660 Ti, GTX 670, GTX 680, GTX 690, GTX 760, GTX 760 Ti, GTX 770, GTX 680M, GTX 680MX, GTX 775M, GTX 780M, GTX 860M, GTX 870M, GTX 880M GK104 VP5 D март 2012 -
GeForce GTX 650 Ti, GTX 660, GTX 670MX, GTX 675MX, GTX 760M, GTX 765M, GTX 770M GK106 VP5 D сентябрь 2012 -
GeForce GTX 780, GTX 780 Ti, GTX TITAN, GTX TITAN BLACK, GTX TITAN Z GK110 VP5 D февраль 2013 -
GeForce GT 630 rev. 2, GT 635, GT 640 rev. 2, GT 730M, GT 735M, GT 740M GK208 VP5 D апрель 2013 -
GeForce GTX 745, GTX 750, GTX 750 Ti, GTX 850M, GTX 860M GM107 VP6 E февраль 2014 -
GeForce 830M, 840M GM108 VP6 E март 2014 -
GeForce GTX 970, GTX 980, GTX 970M, GTX 980M GM204 VP6 E сентябрь 2014 -
GeForce GTX 950, GTX 960 GM206 VP7 F январь 2015 Добавлен блок декодирования HEVC (профили Main и Main 10)
GeForce GTX TITAN X, GeForce GTX 980 Ti GM200 VP6 E март 2015 -
GeForce GTX 1070, GTX 1080 GP104 VP8 G май 2016 Добавлено декодирование HEVC профиля Main 12
GeForce GTX 1060 GP106 VP8 G июль 2016 -

Наборы функций NVIDIA VDPAU

[править | править код]

Наборы функций NVIDIA VDPAU[5] являются различными аппаратными поколениями с разными аппаратными возможностями декодирования. Для всех текущих наборов функций от NVIDIA максимальная ширина и высота видео — 2048 пикселей, минимальная ширина и высота — 48 пикселей, и все кодеки в настоящий момент ограничены максимумом 8192 макроблоками (8190 для VC-1/WMV9). Частичное ускорение означает, что VLD-декодирование выполняется на ЦП, GPU же выполняет только iDCT, компенсацию движения и деблокирование. Полное ускорение означает, что GPU выполняет всё — VLD, iDCT, компенсацию движения и деблокирование.

Набор функций A
Полное ускорение для H.264
Частичное ускорение для MPEG-1, MPEG-2, VC-1/WMV9
Набор функций B
Полное ускорение для MPEG-1, MPEG-2, VC-1/WMV9 и H.264.
Весь набор функций B не может аппаратно декодировать H.264 для следующих ширин: 769—784, 849—864, 929—944, 1009—1024, 1793—1808, 1873—1888, 1953—1968, 2033—2048 пикселей.
Набор функций C
Полное ускорение для MPEG-1, MPEG-2, MPEG-4 part 2 ASP, VC-1/WMV9 и H.264.
Глобальная компенсация движения и разделение данных не поддерживаются для MPEG-4 Part 2.
Набор функций D
Полное ускорение для MPEG-1, MPEG-2, MPEG-4 part 2 ASP, VC-1/WMV9 и H.264.
Глобальная компенсация движения и разделение данных не поддерживаются для MPEG-4 Part 2.
Декодирование 4k-видео

Поддержка со стороны программ

[править | править код]

А также любое программное обеспечение, которое поддерживает XvMC, VDPAU или DXVA (в зависимости от аппаратного обеспечения и операционной системы).

Примечания

[править | править код]
  1. Larabel, Michael NVIDIA Driver Brings PureVideo Features To Linux (англ.). Phoronix (14 ноября 2008). Дата обращения: 1 ноября 2010. Архивировано из оригинала 15 марта 2012 года.
  2. PureVideo: Digital Home Theater Video Quality for Mainstream PCs with GeForce 6 and 7 GPUs (англ.) (PDF) 9. NVIDIA. Дата обращения: 1 ноября 2010. Архивировано из оригинала 15 марта 2012 года.
  3. PureVideo Support table (англ.) (PDF). NVIDIA. Дата обращения: 1 ноября 2010. Архивировано из оригинала 15 марта 2012 года.
  4. PureVideo HD Support table (англ.) (PDF). NVIDIA. Дата обращения: 1 ноября 2010. Архивировано из оригинала 15 марта 2012 года.
  5. 1 2 Appendix H. VDPAU Support (англ.). NVIDIA. Дата обращения: 1 ноября 2010. (недоступная ссылка)
  6. Wilson, Derek NVIDIA’s GeForce GT 220: 40nm and DX10.1 for the Low-End (англ.). AnandTech (23 июля 2007). Дата обращения: 3 ноября 2010. Архивировано из оригинала 15 марта 2012 года.
  7. Wilson, Derek HD Video Decode Quality and Performance Summer '07 (англ.). AnandTech (23 июля 2007). Дата обращения: 3 ноября 2010. Архивировано из оригинала 15 марта 2012 года.