NVIDIA PureVideo

Вы когда-нибудь слышали о технологии аппаратного ускорения видео NVIDIA PureVideo? Несмотря на то, что она уже несколько лет успешно существует на рынке, многие обладатели графических карт NVIDIA ничего о ней не знают. В этой статье мы вкратце ее рассмотрим.

История создания технологии

Лето далекого 2004 года. Анонсировав свой новый процессор NV4x, компания NVIDIA также вскользь заявила о некотором скрытом потенциале своих графических чипов. Он выражался в наличии отдельного видеопроцессора (NVIDIA Video Processor), который должен был брать на себя кодирование/декодирование видео, значительно освобождая ресурсы CPU. Вместе с этим, такие операции, как, например, кодирование/просмотр DVD также должны были значительно ускориться. В общем, на словах просто сказка для пользователей тогда еще GeForce 6 series. Ждать им пришлось долго, почти восемь месяцев, зато к Рождеству они получили замечательный подарок: NVIDIA PureVideo наконец-то появилась на свет. Технология оказалась успешной, поэтому была включена во все последующие карты. Начиная с GeForce 8 series, в PureVideo включен процессор двоичного потока (Binary Stream Processor). Он отвечает за аппаратное ускорение HD и Blue-Ray видеоконтента. Рассмотрим вначале некоторые общие понятия из мира цифрового видео.

Понятие прогрессивной развертки

Представим себе, что нам нужно передать по каналу связи какую-то анимацию. Если бы пропускная способность канала была бесконечно большой, то мы бы смогли передать бесконечное количество кадров. Это бы обеспечило наиболее точную передачу анимации. Однако на практике, пропускная способность радиоканалов сильно ограничена, поэтому картинка, которую мы видим на экране телевизора, есть последовательность быстро сменяющихся за собой отдельных кадров. Было установлено, что человеческий глаз уже не замечает «моргание» картинки при частоте 24 кадра/сек. Поэтому, если мы будем передавать 24 кадра в секунду, то сможем обеспечить плавное отображение видеофрагмента. Такой тип передачи анимации называется прогрессивной разверткой.

Понятие чересстрочной развертки

В североамериканском стандарте телевидения NTSC TV картинка передается не кадрами, а строками. Взгляните на следующий рисунок.

Совмещая первый кадр со вторым мы получаем целое изображение. Частота передачи кадров со строками составляет 60 кадр/сек, а частота, с которой сменяются «полные» изображения – 30 кадр/сек. Это дает некоторые преимущества перед прогрессивной разверткой. Во-первых, канал связи может иметь вдвое меньшую пропускную способность, поскольку в единицу времени передается лишь половина изображения. Во-вторых, чересстрочная развертка обеспечивает лучшее качество изображения.

Конвертирование прогрессивного видео в чересстрочное (интерлейсинг)

Если существует два стандарта видеоконтента, значит, существует и необходимость конвертировать видео из одного стандарта в другой.

Преобразование прогрессивного формата видеопотока в чересстрочный называется интерлейсингом. Предлагаю рассмотреть вкратце алгоритм подобного преобразования. Итак, на входе у нас есть видеоконтент прогрессивного формата с частотой кадров 24 кадр/сек. На выходе мы должны получить точно такой же видеофрагмент, но уже в чересстрочном формате и с частотой 30 кадр/сек. На первый взгляд может показаться, что ничего сложного нет. Достаточно поделить кадр исходного видеофрагмента на строки. Четные пойдут в один фрейм со строками, а нечетные в другой. Однако если подсчитать получившееся количество фреймов, то мы получим 48 кадр/сек (24х2). Чтобы получить 60 кадров со строками, мы должны добавить еще 12 следующих, однако в этом случае при просмотре нам будет казаться, что наш видеопоток воспроизводится в ускоренном режиме.

Единственным выходом остается показывать некоторые фреймы со строками дольше других. Поэтому, первый кадр исходного видеофрагмента разбивается не на две, а на три части. В первую идут четные строки, во вторую нечетные, а в третью снова четные. Второй кадр делится как обычно, то есть на два фрейма со строками. Третий как первый, а четвертый как второй и так далее до окончания исходного видеофрагмента. Такая система декодирования называется модель 3-2. Используя ее, мы отобразим ровно 30 кадров в секунду из исходных 24-х.

Удаление «гребенки» с изображения (деинтерлейсинг)

Если в каждом кадре совмещать предыдущий полукадр с текущим (например, четные строки — из текущего полукадра, нечетные — из предыдущего), на движущихся объектах появляется «гребенка». Чтобы избавиться от этого неприятного эффекта, применяются различные математические методы, которые и называются деинтерлейсингом. Простейшая технология деинтерлейсинга — смешивание в некоторой пропорции интерполированного текущего полукадра с предыдущим. Такая технология приводит к потерям и временного, и пространственного разрешения, а также к «эффекту призрака»: за быстро движущимся объектом виден полупрозрачный «призрак».

Существует и более сложный алгоритм - адаптивный деинтерлейсинг. По последовательности кадров определяют, каким является изображение: статичным или динамичным. Для пикселей, которые неподвижны, полукадры просто объединяются без смешивания. В динамичных картинках полукадры смешиваются вместе. Может также применяться компенсация движения — для движущихся объектов алгоритм пытается заполнить недостающую информацию информацией оттуда, где этот объект находится на предыдущем/следующем кадре. Адаптивные алгоритмы дают лучшую детализацию изображения, но требуют больше вычислений. Кроме того, на компрессированном чересстрочном видео алгоритмы с компенсацией движения склонны к созданию несуществующих деталей. Чтобы исключить деинтерлейсинг, Европейский вещательный союз рекомендует подготавливать фильмы в разрешении 1080 строк, 50 кадров в секунду (построчное). Чем выше число строк, тем качественнее и четче изображение и тем больше информации на экране. В то же время чем выше число строк, тем шире должна быть используемая полоса частот. При конвертации такого видео на любой имеющийся формат
телевещания/видеозаписи не потребуется ни увеличение, ни деинтерлейсинг.

DVD-декодер

Для просмотра фильмов на DVD-дисках необходим специальный программный модуль DVD MPEG2. Как известно, Windows XP не поставляется с
декодером DVD MPEG2. Однако многие производители компьютеров дополняют установленный дистрибутив Windows дополнительным ПО. Например, многие программные DVD-плееры уже содержат DVD-декодер. Плееры Nero, WinDVD или PowerDVD (и некоторые другие) устанавливают собственные декодеры MPEG2. Почему это важно? Потому, что декодер должен поддерживать аппаратное ускорение и саму технологию PureVideo – иначе необходимой пользы из того, что у вас новая видеокарта, вы не извлечете.

PureVideo

Включить (по умолчанию она отключена) PureVideo можно в панели управления NVIDIA в пункте "Видео и телевидение/Video and Television" под заголовком "Регулировка параметров цвета для видео/Adjust video color settings". Физически, PureVideo – это «зашитые в железо» алгоритмы. Драйвер перекладывает все вычисления на дополнительный процессор с этими алгоритмами, освобождая тем самым CPU от лишней работы. Пример того, что делает PureVideo, можно посмотреть на рис. 2.

Замечено, что при включенной опции подавления шума и улучшения детализации загрузка процессора падает незначительно. Однако это не означает, что все алгоритмы выполняются все же на центральном процессоре. При таких операциях программному плееру пришлось бы интенсивно обрабатывать каждый кадр, что невозможно даже на самых мощных процессорах. Всю сложную работу берет на себя видеопроцессор, а центральный лишь собирает все кадры вместе. Это более чем разумная плата за улучшенное качество видео при просмотре после нажатия нескольких клавиш. PureVideo является ISF стандартизированной. Это означает, что визуальный уровень картинки должен соответствовать самым высоким стандартам качества для домашних кинотеатров. Поддержка новой технологии обеспечивается в первую очередь драйвером, поэтому всем владельцам карт NVIDIA нужно использовать новейшие версии ForceWare. Кроме этого, производитель рекомендует использовать Nvidia DVD Decoder версии 1.00.58 и выше, а пользователи должны обновить любимые программы просмотра.

Итак, PureVideo обеспечивает:

1) Аппаратное ускорение видео в Windows Media Video и MPEG-2 декодирования с минимальным использованием CPU.
2) Адаптивные алгоритмы интерлейсинга/деинтерлейсинга (с автоматическим определением моделей 3-2 и 2-2).
3) Повышение детализации изображения за счет специальных алгоритмов.
4) Повышение гладкости и плавности воспроизведения.
5) Удаление шума сжатия.
6) Все, что могли делать предыдущие процессоры от NVIDIA.

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

PureVideo HD

Это логичное развитие технологии для поддержки набирающих популярность форматов высокой четкости. Воспроизведение таких фильмов – нелегкая задача для ПК. Традиционным DVD фильмам обычно соответствуют видеопоток в 8 Mbps. Фильмы высокой четкости требуют видеопотоки до 40 Mbps и более. Это приводит к 100% загрузке CPU. Такая загрузка также быстро разряжает батареи ноутбука. Еще возможно выпадение кадров и снижение качества изображения. PureVideo HD призвано снять такую нагрузку и снизить энергопотребление.

Рекомендуемые требования для Blu-ray и HD DVD фильмов такие:

1. Видеокарта PCI Express серии GeForce 8 с 128MB видеопамяти
2. Графические драйверы NVIDIA ForceWare с технологией PureVideo HD
3. Программный плеер для Blu-ray или HD DVD с аппаратным ускорением PureVideo HD для контента высокой четкости в форматах H.264, VC-1 и MPEG-2
4. Двухядерный CPU рекомендуется с серией GeForce 7
5. Рекомендуется 1GB системной памяти для Windows XP; для Windows Vista рекомендуется 2GB.

На сегодняшний день плееры CyberLink, InterVideo и Nero воспроизводят HD DVD и Blu-ray фильмы и имеют поддержку PureVideo HD. Важным моментом также является то, что в этих плеерах аппаратное ускорение по умолчанию отключено. Это вводит многих пользователей в заблуждение, т.к. они думают, что если их карта поддерживает PureVideo, то она все делает за них. На самом деле эту опцию нужно включать вручную в настройках своего плеера.

Алексей Голованов AlekseyGolovanov@mail.ru


Компьютерная газета. Статья была опубликована в номере 29 за 2009 год в рубрике hard

©1997-2022 Компьютерная газета