Новости про GPGPU и видео

Плагин Intel для Adobe Premiere для технологии ускорения перекодирования видео Quick Sync

Задействовать функции кодирования видео процессоров Sandy Bridge в известном редакторе.

Одним из новшеств архитектуры Sandy Bridge процессоров Intel Core iX второго поколения является наличие выделенных блоков в составе графического ядра для декодирования и кодирования видео в популярных форматах. Последняя функция под названием Quick Sync продемонстрировала неплохие результаты в обзорах, показав впечатляющие качество и скорость операций. Хотя ранее предполагалось, что данная функциональность будет доступна через универсальные APIвроде OpenCL, пока что единственный способ её использовать — использовать собственный Intel Media SDK 2.0, с библиотеками которого должны соединяться приложения. К выходу Sandy Bridge ряд разработчиков представил соответствующие приложения, но в основном это простенькие редакторы и конвертеры, рассчитанные на широкие массы конечных пользователей.

Для профессионалов Intel выпустила плагин для известного редактора Adobe Premiere Elements и Premiere Pro, позволяющий осуществлять экспорт проектов с аппаратным ускорением кодирования. Поддерживается кодирование видео в стандарты H.264 и MPEG-2, Intel обещает двух-трёхкратное ускорение для H.264 в сравнении с кодеками Adobe. Для работы плагина требуются 32- или 64-битная версия Windows 7, Adobe Premiere Elements версий 8-9 или Premiere Pro CS4-5, ну и сам процессор архитектуры Sandy Bridge, причём должно быть доступно встроенное графическое ядро — аппаратное ускорение будет недоступно при отключенном ядре или при запуске приложения на мониторе, обслуживаемом видеокартой.

В ожидании новых процессоров плагин можно проверить и на существующих, в программном режиме, для чего потребуется установить Intel Media SDK 2.0.

Пока что плагин предоставляется в демонстрационных целях, в будущем не исключено появление коммерческого продукта. Напомним, что в Premiere CS5 уже был реализован механизм использования аппаратного ускорения в Mercury Playback Engine, но он не ускоряет операции экспорта и финального кодирования, работает только через NVIDIA CUDA и то лишь для небольшого количества видеокарт.

Microsoft патентует GPU-ускорение кодирования видео

Еще один, к счастью, неудавшийся пример патентования слишком общих идей.

Сейчас использование мощностей графических процессоров для операций с видео стало обыденностью. Многие владельцы современных видеокарт на базе NVIDIA воспользовались продуктами от Badaboom или MotionDSP с данной функциональностью. Тем удивительнее стало обнаружение факта, что на подобные технологии кем-то получен патент, и этот кто-то — Microsoft. Буквально на днях Бюро по регистрации патентов и торговых марок США утвердило за компанией патент за номером 7,813,570 под многообещающим заголовком «Accelerated video encoding using a graphics processing unit».

Первые реакции на выдачу такого патента были ожидаемы — попытка компании-монополиста наложить лапу на перспективный рынок, шаг против прогресса, заговор против производителей GPU… Однако, изучение содержания патента позволяет существенно снизить накал страстей.

Прежде всего, заявка на патент была отправлена в Бюро… 22 октября 2004 года. В ту пору возможность использования графических процессоров для общих вычислительных задач еще была предметом научных исследований. К примеру, в 2004 году университетом Стэнфорда была выпущена программа GPUBench, как иллюстрация к обсуждению перспектив GPGPU перед выставкой SIGGRAPH 2004 (обсуждавшиеся тогда вопросы сегодня могут вызвать лёгкую улыбку).

Во-вторых, указанный патент покрывает лишь случай использования GPU для выполнения операции определения движения — нахождения движущихся объектов в кадре и расчёта векторов движения и информации, необходимой для последующего восстановления видео при воспроизведении, как это определено в стандартах MPEG-1/2. Все остальные операции выполняет центральный процессор. Современные программы кодирования с применением GPGPU-технологий не выделяют какие-то этапы кодирования, используя GPU как математический сопроцессор для всех или почти всех операций с видеопотоком. Ну и, согласно тексту патента, работа с видео должна была осуществляться путём помещения кадров в текстуры, обработке их с помощью пиксельных и вершинных шейдеров образца Direct3D 9.0 и использованием Z-буфера для хранения промежуточных результатов операции. Нынешнее программное обеспечение видеокодирования с функциями GPGPU использует высокоуровневые интерфейсы вроде CUDA или ATI Stream.

В целом, заявка на пресловутый патент, вероятно, была подана в рамках разработки следующих версий приложений Windows Movie Maker/Movie Encoder для будущей операционной системы Longhorn, но проект умер вместе с самим Longhorn. К настоящему моменту Microsoft пришла к собственному GPGPU API DirectCompute в составе DirectX 11 и врядли нуждается в патентовании схемы использования аппаратного ускорения шестилетней давности. Так что история с патентом за номером 7,813,570 является лишь иллюстрацией неповоротливости и ограниченности патентной системы, с непоправимым опозданием «защитившей» права на давно потерявшую актуальность разработку.

NVIDIA ускоряет работу движка Adobe Mercury Playback

Как мы уже сообщали, новая версия профессиональной программы для монтажа и обработки видео, Premiere Pro от компании Adobe, будет оснащена переработанным движком Mercury Playback Engine.

Этот движок с помощью видеокарт NVIDIA позволяет значительно ускорить скорость рендеринга сцен с наложением множества слоёв, с добавлением эффектов и проч. Также благодаря CUDA и видеокартам NVIDIA Quadro ускоряется и предварительный просмотр результатов монтажа.

Всё это стало возможным благодаря тесной работе разработчиков из Adobe с командой специалистов из NVIDIA во главе с Андрю Креши, который рассказал немного о работе своей команды в небольшом видеоролике.

NVIDIA In A Minute: NVIDIA Fuels Adobe's New Mercury Playback Engine

Интервью с Дэвидом Кирком о его книге

Доктор Дэвид Кирк, главный учёный NVIDIA, относительно недавно в соавторстве с доктором Вен-мей Хву написал книгу «Programming Massively Parallel Processors: A Hands-on Approach».

Книга посвящена основам и методам программированию на языке CUDA. На специальном видеоролике, выложенном NVIDIA в своём блоге, господин Кирк немного рассказывает о  своей книге. Он говорит, что она создана для начинающих программистов, студентов и профессионалов, желающих понять архитектуру и основные принципы работы GPU.

Также он отмечает, что уже сейчас CUDA преподаётся в 300 университетах и наличие такого пособия является очень важным для преподавания. Также он сказал, что думает о будущих изданиях книги, в которых будут раскрыты особенности программирования с использованием возможностей будущих высокопараллельных графических процессоров.

Подробнее узнать о книге можно на специальном мини-сайте. Купить книгу можно в интернет-магазинах: Elsevier, Amazon или Barnes & Noble.

Interview With Dr. David Kirk on New Parallel Programming Textbook

Видеодемонстрации CUDA-ускорения в новом Premiere Pro

Вскоре компания Adobe представит новую версию своего профессионального редактора видео Premiere Pro, который будет активно использовать мощности видеокарт NVIDIA.

Достижение прироста во многих аспектах работы Premiere Pro при использовании видеокарт NVIDIA стало возможным благодаря разработке движка Adobe Mercury Playback.

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

Первый ролик показывает очевидный прирост при использовании эффекта удаления фона.

GPU Accelerated Keying Effects: Adobe Premiere Pro CS5 & Quadro

Второе видео показывает ускорение работы с видео при создании ролика выского разрешения с эффектом «картинка в картинке».

GPU Acceleratd Picture-in-Picture: Adobe Premiere Pro CS5

Третий ролик показывает ускорение при создании проекта с многослойным видео.

GPU-Accelerated Overlays and Compositing: Adobe Premiere Pro CS5

Четвёртое видео демонстрирует прирост при использовании многослойной цветовой коррекции при монтаже видео.

GPU-Accelerated Engine & Color Correction: Adobe Premiere Pro CS5

Пятый ролик показывает огромный прирост при кодировании видео.

GPU-Accelerated Video Encoding: Adobe Premiere Pro CS5

Наконец, последнее видео представляет собой живую демонстрацию ускорения, которое обеспечивает движок Adobe Mercury Playback. Обин Олсен из Dv3 Productions показывает как система с двумя 4-ядерными 8-потоковыми процессорами Intel Core i7 не может справиться плавным рендерингом видео, созданного в демонстрации, в то время как CUDA позволяет добиться полностью плавного воспроизведения в реальном времени.

Adobe Mercury Playback Engine & Quadro Demo -Obin Olsen, Dv3 Productions

Детали от NVIDIA об использовании GPU-ускорения в следующей версии Adobe Premiere

Mercury Playback Engine будет поддерживать только «топовые» Quadro.

В блоге nTersect представитель NVIDIA Mark Priscaro рассказал о будущем GPU-ускоряемом движке работы с видео Mercury Playback Engine от Adobe, который ляжет в основу следующей версии Adobe Premiere.

Использование NVIDIA CUDA в Mercury Engine позволит буквально уничтожить задержки при многих операциях с видео, от простой прокрутки временной шкалы до наложения сложных эффектов в реальном времени. Можно будет наложить одновременно буквально тысячи клипов на шкалу, SD, HD или даже еще большего уровня качества. Детали изложены в представленных видео:

GPU-Accelerated Video Encoding: Adobe Premiere Pro CS5
GPU Acceleratd Picture-in-Picture: Adobe Premiere Pro CS5

Неприятной же новостью стало объявление, что поддержка GPU-ускорения будет доступна только для ограниченного числа видеокарт NVIDIA Quadro: Quadro FX 3800, Quadro FX 4800 и Quadro FX 5800. Возможно, потом к ним присоединятся карты на базе Fermi, но похоже, что повторяется история с ускорением спецэффектов в Photoshop CS4, доступного только в сочетании со специальной «видеокартой» Quadro CX.

Видео: Физика изменит мир графических расчётов

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

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

Однако, непрерывное развитие аппаратных физических расчётов, действительно, может принципиально изменить игровой процесс и усилить погружение в виртуальный мир.