Главная | E-mail | 26.04.2024 | ||
Главная страница | О журнале | Авторам | Редколлегия | Контакты | ||
Научно-технический интернет-журнал Свидетельство о регистрации Эл № ФС 77-31314 |
|
Новости отрасли
Дата : 20 сентября 2011 года | просмотров: 217
Компания Фаствидео (Дубна, Моск. обл.), разработчик оборудования и программного обеспечения для скоростной видеосъёмки, представляет свою последнюю разработку - систему длительной видеозаписи на базе технологии CUDA для высокоскоростных камер Fastvideo.
Данная задача возникла в контексте приложений для скоростных видеокамер, выпускаемых нашей компанией. Все наши скоростные видеокамеры работают по принципу онлайн передачи всего регистрируемого потока несжатых данных от камеры в кольцевой буфер оперативной памяти компьютера. Таким образом, в компьютер поступает очень большой поток данных, которые нужно быстро обработать и записать. Обычно такие потоки данных записывают либо в оперативную память компьютера, либо на RAID-массив или SSD. К сожалению, софт для CPU с обработкой таких потоков данных не справляется в принципе, поэтому для решения задач этого класса мы использовали видеокарты NVIDIA с технологией CUDA. В системах скоростной съёмки обычно используются монохромные видеокамеры, поскольку их чувствительность значительно выше, чем у цветных, поэтому мы решали задачу онлайн сжатия видеопотока именно от монохромных камер. Наша цель состояла в том, чтобы в онлайне успеть сделать сжатие, а полученный выходной поток записать на жёсткий диск компьютера. Мы выбрали алгоритм сжатия JPEG с потерями, потому что он может обеспечить быстроту и минимальные искажения при значительном коэффициенте сжатия, а также может быть эффективно распараллелен. Вопрос быстрого декодирования задач скоростной съёмки не критичен, поэтому декодирование можно делать на CPU стандартным образом. Конфигурация компьютера, видеокамеры, ОС и источника данных Для тестирования программного обеспечения использовалась такую конфигурация компьютера: ASUS P6T Deluxe V2 LGA1366, X58, ATX Core i7 920, 2.67 GHz, DDR-III 6 GB. Видеокарты для вычислений: GeForce GT 240 (CC=1.2, 96 ядер) или GeForce GTX 580 (CC=2.0, 512 ядер). Операционная система Windows-7, 64-bit, CUDA 4.0, driver 270.81 Пользовательское приложение Fastvideo Lab (кросс-платформенное ПО, QT 4.7). В качестве первого источника видео данных мы использовали скоростную видеокамеру Fastvideo-500, которая регистрирует поток данных до 150 МБайт в секунду (монохромная, разрешение 640х480, 8 бит, частота 500 кадров в секунду). В качестве второго источника видео данных мы использовали высокоскоростную камеру Fastvideo-500M, которая регистрирует поток данных до 650 МБайт в секунду (монохромная, разрешение 1280х1024, 8 бит, частота более 500 кадров в секунду). Результаты для производительности алгоритма сжатия с потерями Мы реализовали возможность программного сжатия потока монохромных изображений в формат JPEG на графических картах NVIDIA с помощью технологии CUDA. В качестве источника входных данных использовались скоростные видеокамеры Fastvideo. Для всех используемых в тесте видеокамер мы смогли в онлайне сжать видеопотоки и записать их на жёсткий диск при использовании видеокарты GeForce GTX 580. Были получены следующие результаты для средней пропускной способности используемого алгоритма на разных видеокартах (сжатие по алгоритму Baseline JPEG с потерями, коэффициент сжатия 20, сжимаются отдельные кадры независимо друг от друга, время загрузки изображений и их выгрузки после сжатия включено в представленные результаты):
Таким образом, показана принципиальная возможность онлайн сжатия входного потока данных от скоростных видеокамер, причём для довольно широкого класса графических карт, в том числе бюджетных и мобильных. Такие решения позволят значительно увеличить длительность скоростной съёмки и дадут возможность записывать сжатый поток данных на жёсткий диск даже без использования RAID или SSD. Полученные на видеокарте GeForce GTX 580 результаты значительно превосходят пропускную способность скоростных видеокамер, использовавшихся в тестах. Это говорит о том, что есть широкие возможности для применения более сложных алгоритмов обработки данных от таких видеокамер. Стоит отметить, что полученный результат 1500 МБайт в секунду для видеокарты GeForce 580 GTX для сжатия монохромных изображений по алгоритму JPEG с потерями, превосходит по производительности все известные нам аппаратные решения по сжатию изображений на ПЛИС (FPGA). Сравнивая наше решение с аппаратными кодерами на ПЛИС, стоит отметить, что кроме более высокой производительности полученного нами решения, по сравнению с Verilog/VHDL, код на Си для CUDA намного более понятный и приспособленный для модификации и создания на его базе новых, более сложных систем обработки и сжатия изображений. Как достичь лучших результатов Существует ряд методов, с помощью которых мы расчитываем в дальнейшем получить увеличение производительности подобных систем:
Более подробные описания кодера JPEG для CUDA, программного обеспечения Fastvideo Lab и программно-аппаратных комплексов на базе технологии CUDA для систем высокоскоростной съёмки можно посмотреть на сайте www.fastvideo.ru www.fastvideo.ru/news/2011-nvidia-jpeg.htm
|
|