> > > > Кодер CUDA JPEG теперь обеспечивает производительность 20 Гбайт в секунду

Кодер CUDA JPEG теперь обеспечивает производительность 20 Гбайт в секунду

Опубликовано:

fastvideo logoРоссийская компания "Фаствидео" выпустила новую версию быстрого кодера CUDA JPEG для видеокарт NVIDIA. Производительность сжатия на видеокарте GeForce GTX 980 превышает 20 Гбайт в секунду для изображений, загруженных в память GPU, что в два раза больше полосы пропускания шины PCIE-3.0 x16. Как сообщает разработчик, кодер JPEG от "Фаствидео" и раньше был самым быстрым на рынке, а теперь его производительность стала ещё в 3 раза выше.

В 2011 году компанией "Фаствидео" был создан первый полностью параллельный кодек JPEG для видеокарт NVIDIA. С тех пор не прекращалась работа над совершенствованием кодека, а NVIDIA выпускала всё более мощные видеокарты, что в результате привело к огромной производительности кодирования изображений по алгоритму JPEG. Тем не менее, скорость кодирования всегда была гораздо ниже скорости копирования данных из оперативной памяти компьютера в видеокарту. Теперь ситуация кардинально изменилась: последняя версия кодера CUDA JPEG от «Фаствидео» может кодировать быстрее, т.е. полоса пропускания кодера стала в 2 раза больше, чем при копировании данных через PCI-Express 3.0 x16. Это новый уровень производительности вычислений, который достигнут как благодаря новым видеокартам NVIDIA, так и оптимизированной параллельной реализации алгоритма сжатия JPEG от "Фаствидео".

Несмотря на солидный возраст и на существующие альтернативы, алгоритм сжатия JPEG широко используется в самых разных приложениях. В настоящее время часто встречаются задачи по длительной видео съёмке для камер с большим разрешением и очень высокой частотой кадров, а сжатие в JPEG на видеокарте позволяет делать такие видеозаписи в режиме реального времени. Формат JPEG по-прежнему является основным для огромного количества любительских фотографий и возможность изменения размера миллиона таких изображений за один час на одной видеокарте теперь уже не кажется чем-то необычным. Сжатие видео с разрешением от 4К до 8К в режиме реального времени в MJPEG на видеокарте тоже является востребованным решением.

Пересылка одного 24-битного изображения с разрешением 4K (3840 x 2160) через шину PCI-E 3.0 x16 занимает 2,17 мс. Сжатие этого же изображения примерно в 10 раз по алгоритму JPEG, что соответствует коэффициенту качества JPEG 90% при прореживании 4:2:0, теперь можно сделать за 1,13 мс на видеокарте NVIDIA GeForce GTX 980 (CUDA-6.5, 32-bit). Этот результат получен благодаря программной оптимизации кодека для последнего поколения видеокарт с технологией Maxwell.

fastvideo jpeg codec

Рис.1. Время сжатия в JPEG кодеком от "Фаствидео" по сравнению с временем копирования через PCI-Express 3.0 x16 для 24-битного изображения с разрешением 4K (Ultra HD: 3840 x 2160, качество JPEG 90%, коэффициент сжатия ~10:1, прореживание 4:2:0). Измерения времени сделаны с помощью NVIDIA Visual Profiler.

Очень перспективна идея выполнения всей схемы обработки изображений на видеокарте. Таким образом можно не только избежать лишних копирований между CPU и GPU, но и значительно улучшить производительность обработки изображений и уменьшить латентность благодаря параллельной реализации алгоритмов. Эта идея успешно реализована в библиотеке GPU Image Processing SDK от "Фаствидео" для обработки видео и изображений на видеокартах NVIDIA. Многие видеокамеры получили возможность работы в режиме реального времени с помощью этого быстрого и эффективного решения.

Кодек CUDA JPEG от "Фаствидео" является составной частью библиотеки обработки изображений GPU Image Processing SDK для Windows-7/8 и Linux (32/64-бит) для видеокарт NVIDIA с архитектурами Fermi, Kepler и Maxwell. Демо версию кодека CUDA JPEG для Windows-7/8 можно получить по ссылке для загрузок с сайта Фаствидео. Демо версия SDK предоставляется по запросу.

Социальные сети

Теги

Пока нет тегов

комментарии (0)

Войдите, чтобы оставить комментарий