СТА №3/2017
буфером кадров, блок записи кадров в DDR-память модуля FPU500. Реализацией алгоритмов компьютер- ного зрения в каждом видеопотоке за- нимаются вычислители VIM556, по од- ному на каждый поток. В их задачи вхо- дит проведение одной операции из списка: поиск лиц, детектирование дви- жения, фильтрация Собеля. Результаты обработки видеоизображений вычисли- тели сразу отображают на подключён- ных к ним мониторах, одновременно сжимая кадр встроенным в видеокарту аппаратным видеокодеком H.264 для подготовки его к отправке на жёсткий диск. Управление конвейерами осуществ- ляется приложением, выполняющимся на процессорном модуле CPC510. На обслуживание каждого конвейера в приложении выделено по 2 программ- ных потока (нити), ответственных за контроль передачи данных и своевре- менное отображение кадров на графи- ческом ускорителе. Располагающийся на CPC510 комму- татор шины PCI Express Gen2 Switch PLX8624 и входящий в комплект по- ставки платформы ГРИФОН специ- альный драйвер обеспечивают устойчи- вую связь между всеми модулями си- стемы. В данном примере механизмы прямо- го межмодульного взаимодействия в ре- жиме «каждый с каждым» позволяют высвободить ресурсы центрального процессора и снизить нагрузку на ос- новной транспортный интерконнект по шине PCIe, что на практике даёт воз- можность минимизировать время обра- ботки кадра всем конвейером. Рассмотрим подробнее последова- тельности операций на основных эта- пах каждого конвейера. Входной кадр разрешением 1920 × 1080 поступает через мезонин TB-FMCH- 3GSDI2A на вход блока приёма данных ПЛИС. В блоке приёма изображение преобразуется на лету из формата YUV422 в более легковесный YUV420 и размещается в выделенной области DDR-памяти модуля FPU500, органи- зованной в виде кольцевого буфера ём- костью 16 кадров по 3 Мбайт. DDR-па- мять модуля FPU500 доступна для чте- ния и записи через PCI Express всем вы- числителям системы. Данные посту- пают в кольцевые буферы со скоростью 30 кадров в секунду. Отметим, что про- изводительность системы такова, что кадры вычитываются из кольцевых бу- феров быстрее, чем они поступают в си- стему, и в каждом кольцевом буфере в произвольный момент времени нахо- дится не более одного кадра. Записав кадр размером 3 Мбайт в DDR, FPU500 генерирует прерывание на шине, после чего переходит к ожида- нию новых видеоданных. Весь алгоритм первичной обработки занимает не бо- лее 16 мкс. Прерывание, полученное по PCI Ex- press от FPU500, обрабатывается на CPC510 управляющим программным потоком, который выдаёт команду на копирование кадра из DDR-памяти FPU500 напрямую на VIM556 через коммутатор PLX8624. Получив новое изображение, видеокарта производит на нём одну из следующих операций на выбор: поиск лиц (рис. 2), детектирова- 84 СТА 3/2017 РАЗ РА БОТ КИ / КОН Т РОЛ Ь НО - ИЗМЕ Р И Т Е Л Ь НЫЕ СИС Т ЕМЫ www.cta.ru Условные обозначения: 3G-SDI – цифровой видеоинтерфейс для передачи телевидения высокой чёткости с прогрессивной развёрткой потоком до 2970 Мбит/с посредством одного коаксиального кабеля; FPU500 – модуль реконфигурируемого процессора на базе ПЛИС Xilinx Virtex; VIM556 – модуль графического процессора; KIC550 – модуль-носитель HDD-накопителя. Рис. 1. Общая схема системы обработки видео высокого разрешения на базе ГРИФОН Рис. 2. Поиск лиц (кадры из транслируемого видеопотока) Монитор Монитор Камерa 1 30 кадров/с Камерa 2 30 кадров/с 3G-SDI 3G-SDI VIM556 NVIDIA VIM556 NVIDIA Видеокадр 1920 × 1080 в формате YUV420 от камеры 1 Видеокадр 1920 × 1080 в формате YUV420 от камеры 2 FPU 500 Буфер ёмкостью 16 кадров Буфер ёмкостью 16 кадров KIC550 CPC510 camera2.mp4 Данные MPEG4 Данные MPEG4 Видеокадр, текстура Видеокадр, текстура PCI Express- коммутатор, PLX camera1.mp4
Made with FlippingBook
RkJQdWJsaXNoZXIy MTQ4NjUy