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
PureVideo HD (см. «проблемы обозначения» ниже) является обозначением, идентифицирующим графические платы NVIDIA, сертифицированные для HD DVD и Blu-ray, в части выполнения требований проигрывания HD DVD/Blu-ray на ПК:
- Непрерывное шифрование (HDCP) для цифровых интерфейсов (DVI-D/HDMI/DisplayPort)
- Декодирование в реальном времени H.264 L4.1, VC-1 L3, и MPEG-2 MP@HL (1080p30)
- Двухпоточное декодирование в реальном времени для «картинки в картинке» 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-видео
Поддержка со стороны программ
- Media Player Classic Home Cinema
- Microsoft Windows Vista/Windows 7 встроенные MPEG-2 и MPEG-4 AVC (только Windows 7) кодеки
- Cyberlink PowerDVD
- Corel WinDVD
А также любое программное обеспечение, которое поддерживает XvMC, VDPAU или DXVA (в зависимости от аппаратного обеспечения и операционной системы).
См. также
Примечания
- ↑ Larabel, Michael NVIDIA Driver Brings PureVideo Features To Linux (англ.). Phoronix (14 ноября 2008). Дата обращения: 1 ноября 2010. Архивировано из оригинала 15 марта 2012 года.
- ↑ PureVideo: Digital Home Theater Video Quality for Mainstream PCs with GeForce 6 and 7 GPUs (англ.) (PDF) 9. NVIDIA. Дата обращения: 1 ноября 2010. Архивировано из оригинала 15 марта 2012 года.
- ↑ PureVideo Support table (англ.) (PDF). NVIDIA. Дата обращения: 1 ноября 2010. Архивировано из оригинала 15 марта 2012 года.
- ↑ PureVideo HD Support table (англ.) (PDF). NVIDIA. Дата обращения: 1 ноября 2010. Архивировано из оригинала 15 марта 2012 года.
- ↑ 1 2 Appendix H. VDPAU Support (англ.). NVIDIA. Дата обращения: 1 ноября 2010. (недоступная ссылка)
- ↑ Wilson, Derek NVIDIA’s GeForce GT 220: 40nm and DX10.1 for the Low-End (англ.). AnandTech (23 июля 2007). Дата обращения: 3 ноября 2010. Архивировано из оригинала 15 марта 2012 года.
- ↑ Wilson, Derek HD Video Decode Quality and Performance Summer '07 (англ.). AnandTech (23 июля 2007). Дата обращения: 3 ноября 2010. Архивировано из оригинала 15 марта 2012 года.