Научная статья на тему 'МАСШТАБИРУЕМАЯ ПЛИС-СИСТЕМА ВЫБОРКИ И ХРАНЕНИЯ ДАННЫХ ДЛЯ КОНВЕЙЕРНОЙ ОБРАБОТКИ ВИДЕОПОТОКА'

МАСШТАБИРУЕМАЯ ПЛИС-СИСТЕМА ВЫБОРКИ И ХРАНЕНИЯ ДАННЫХ ДЛЯ КОНВЕЙЕРНОЙ ОБРАБОТКИ ВИДЕОПОТОКА Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
68
16
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ОБРАБОТКА ИЗОБРАЖЕНИЙ / ОБРАБОТКА В РЕАЛЬНОМ ВРЕМЕНИ / ПЛИС

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Шариков Антон Игоревич, Шарикова Елена Михайловна

Для систем управления, использующих в качестве входной информации видеопоток, важным требованием в большинстве случаев является обработка в реальном масштабе времени. Как правило, этот фактор один из решающих при выборе вычислителя. Применение ПЛИС-систем позволяет не только решить проблемы, связанные с временем выполнения, но и реализовать один из эффективных вариантов с точки зрения энергоэффективности и производительности. В работе предложена схема, реализующая последовательный доступ ко всем областям каждого кадра видеопотока. Полученная подсистема может быть использована, в частности, в составе аппаратных алгоритмов фильтрации, обнаружения, сопровождения и классификации, т. е. в тех случаях, когда алгоритм решает задачу с целью поиска координат либо необходимо применить набор однотипных действий над каждой областью кадра. Разработан алгоритм оптимизации производительности для САПР Vivado. Для анализа использована ПЛИС семейства Artix-7 фирмы Xilinx. Доказана фактическая возможность масштабируемости полученной схемы. Показано, что максимально достижимая производительность схемы ограничена исключительно технологией конкретной ПЛИС, а количество затраченных ресурсов минимально и линейно зависит от числа пикселей, к которым требуется получить доступ.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Шариков Антон Игоревич, Шарикова Елена Михайловна

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

SCALABLE SAMPLE-AND-HOLD FPGA SYSTEM FOR PIPELINED VIDEO STREAM PROCESSING

Generally, processing in real time is the important requirement for control systems that use a video stream as input information. Most commonly, this factor is one of the decisive when choosing a calculator. The use of FPGA systems allows not only to solve problems associated with runtime, but also to implement one of the most efficient options in terms of energy performance and functioning capability. In this work, a scheme that implements sequential access to all areas of each frame of the video stream is proposed. The resulting subsystem can be used, in particular, as part of hardware algorithms for filtering, detection, tracking and classification, that is, in cases where the algorithm solves the problem in order to find coordinates or it is necessary to apply a set of same-type actions over each area of the frame. A performance optimization algorithm for CAD Vivado has been developed. As a result, the actual scalability of the realized circuit is proved. It was demonstrated that the maximum achievable performance of this circuit is limited solely by the technology of a particular FPGA, and the amount of spent resources is minimal and linearly depends on the number of pixels that need to be accessed.

Текст научной работы на тему «МАСШТАБИРУЕМАЯ ПЛИС-СИСТЕМА ВЫБОРКИ И ХРАНЕНИЯ ДАННЫХ ДЛЯ КОНВЕЙЕРНОЙ ОБРАБОТКИ ВИДЕОПОТОКА»

СХЕМОТЕХНИКА И ПРОЕКТИРОВАНИЕ CIRCUIT ENGINEERING AND DESIGN

Научная статья

УДК 004.021:004.932

doi:10.24151/1561-5405-2023-28-2-202-211

Масштабируемая ПЛИС-система выборки и хранения данных для конвейерной обработки видеопотока

А. И. Шариков, Е. М. Шарикова

Национальный исследовательский университет «МИЭТ», г. Москва, Россия

tohan757@yandex.ru

Аннотация. Для систем управления, использующих в качестве входной информации видеопоток, важным требованием в большинстве случаев является обработка в реальном масштабе времени. Как правило, этот фактор один из решающих при выборе вычислителя. Применение ПЛИС-систем позволяет не только решить проблемы, связанные с временем выполнения, но и реализовать один из эффективных вариантов с точки зрения энергоэффективности и производительности. В работе предложена схема, реализующая последовательный доступ ко всем областям каждого кадра видеопотока. Полученная подсистема может быть использована, в частности, в составе аппаратных алгоритмов фильтрации, обнаружения, сопровождения и классификации, т. е. в тех случаях, когда алгоритм решает задачу с целью поиска координат либо необходимо применить набор однотипных действий над каждой областью кадра. Разработан алгоритм оптимизации производительности для САПР Vivado. Для анализа использована ПЛИС семейства Artix-7 фирмы Xilinx. Доказана фактическая возможность масштабируемости полученной схемы. Показано, что максимально достижимая производительность схемы ограничена исключительно технологией конкретной ПЛИС, а количество затраченных ресурсов минимально и линейно зависит от числа пикселей, к которым требуется получить доступ.

Ключевые слова: обработка изображений, обработка в реальном времени, ПЛИС

Для цитирования: Шариков А. И., Шарикова Е. М. Масштабируемая ПЛИС-система выборки и хранения данных для конвейерной обработки видеопотока // Изв. вузов. Электроника. 2023. Т. 28. № 2. С. 202-211. https://doi.org/10.24151/ 1561-5405-2023-28-2-202-211

© А. И. Шариков, Е. М. Шарикова, 2023

Original article

Scalable sample-and-hold FPGA system for pipelined video stream processing

A. I. Sharikov, E. M. Sharikova

National Research University of Electronic Technology, Moscow, Russia tohan757@yandex.ru

Abstract. Generally, processing in real time is the important requirement for control systems that use a video stream as input information. Most commonly, this factor is one of the decisive when choosing a calculator. The use of FPGA systems allows not only to solve problems associated with runtime, but also to implement one of the most efficient options in terms of energy performance and functioning capability. In this work, a scheme that implements sequential access to all areas of each frame of the video stream is proposed. The resulting subsystem can be used, in particular, as part of hardware algorithms for filtering, detection, tracking and classification, that is, in cases where the algorithm solves the problem in order to find coordinates or it is necessary to apply a set of sametype actions over each area of the frame. A performance optimization algorithm for CAD Vivado has been developed. As a result, the actual scalability of the realized circuit is proved. It was demonstrated that the maximum achievable performance of this circuit is limited solely by the technology of a particular FPGA, and the amount of spent resources is minimal and linearly depends on the number of pixels that need to be accessed.

Keywords, image processing, real-time processing, FPGA

For citation. Sharikov A. I., Sharikova E. M. Scalable sample-and-hold FPGA system for pipelined video stream processing. Proc. Univ. Electronics, 2023, vol. 28, no. 2, pp. 202-211. https://doi.org/ 10.24151/1561-5405-2023-28-2-202-211

Введение. Видеообработка как область вычислительной техники имеет большое значение при создании систем управления с использованием визуальной информации [1, 2]. Видеопоток, являясь основным источником входных данных, содержит строго структурированное представление, участки которого для подавляющего числа алгоритмов в общем случае имеют равнозначную ценность. Таким образом, можно выработать единые подходы для решения многих задач.

К алгоритмам обработки могут относиться алгоритмы фильтрации, поиска и обнаружения [3, 4]. Для последнего основная задача - классификация и разделение всех участков каждого изображения по заданным критериям на условно принятые объекты и фон [5, 6]. Рассматривая скорость обработки изображений посредством классических методов, а именно с помощью процессорных систем, следует отметить, что помимо типичных операций, связанных с выделением памяти, а также с переносом входных данных из одной области памяти в другую, временные затраты обусловлены вычислениями с использованием блоков памяти со случайным доступом (Random Access Memory, RAM). Вследствие этого быстродействие ограничивается скоростью работы с памятью, а также по принципу построения такие системы не являются полностью масштабируе-

мыми ввиду увеличения издержек доступа с ростом объемов памяти. Отметим, что данные проблемы частично решаются с использованием мультипроцессорных платформ. Это связано с возможностью децентрализации обрабатываемых данных [7, 8].

В настоящей работе рассматриваются полностью масштабируемые системы, в которых увеличение одного или нескольких параметров возможно за счет пропорционального увеличения числа элементов, входящих в него, без существенных потерь в других характеристиках со скоростью ниже полиномиальной [9, 10].

Модуль доступа. В простом варианте несжатый видеопоток имеет регулярную структуру, а данные в нем разбиты на кадры, каждый из которых, в свою очередь, разбит на заданное число строк фиксированной длины. Фактически при таком подходе скорость передачи пикселей определяется и линейно зависит от требуемой кадровой частоты. Соответственно, для системы необходимо обеспечить частоту не ниже заданной. Основными неразрешимым факторами, влияющими на максимальную частоту, являются технологический процесс выбранной ПЛИС, а также архитектура элементов, входящих в нее. Разработанную систему можно представить в виде схемы параллельного доступа к разрядам пикселей изображения (рис. 1).

Рис. 1. Схема параллельного доступа к кадру изображения Fig. 1. Scheme of parallel access to an image frame

Каждая из ячеек памяти D, изображенная на схеме, состоит из группы параллельных D-триггеров в количестве, совпадающем с разрядностью линии данных. Все регистры связаны между собой последовательно, а часть их выходов соединена с модулем принятия решения. Какие именно выходы требуется использовать, должно быть определено непосредственно алгоритмом. На рис. 1 показан общий случай - сдвиговое окно в форме прямоугольника. Все схемы тактируются одной общей пиксельной частотой, с которой синхронизирован входной поток. Для случаев, когда в интерфейсе входной поток информации прерываемый, в состав блока добавляется дополнительный сигнал разрешения записи, подключаемый к каждому триггеру. Учитывая особенности архитектуры ПЛИС, необходимо оценивать ограниченность ресурсов состава ПЛИС. Сдвиговое окно занимает часть ширины кадра, поэтому нет необходимости реализовывать все задержки с использованием триггеров ввиду избыточного роста занимаемой площади и роста времени имплементации. Исходя из этого, оптимизация предполагает задействовать блоки памяти произвольного доступа (Block Random Access Memory, BRAM) (рис. 2).

Рис. 2. Оптимизированная схема параллельного доступа к кадру изображения Fig. 2. Optimized scheme of parallel access to the image frame

Структура модуля BRAM представлена в виде линии задержки, построенной на базе одноименного блока двухпортовой блочной RAM (рис. 3). Подобный элемент является типовым для современной ПЛИС-архитектуры. Одним из очевидных недостатков применения блочной RAM в общем случае является невозможность полностью ее задействовать, так как каждый элемент определен архитектурой конкретной микросхемы с возможностью реализации только одной линии задержки из-за отсутствия у блочной RAM дополнительных интерфейсов. При превышении имеющегося диапазона адресов для данной ячейки над необходимым допустима организация арбитража с целью дополнительной оптимизации. Это позволит получить несколько линий задержки на базе одной блочной RAM. В таком случае максимально допустимая частота будет сокращена кратно количеству реализуемых интерфейсов.

Рис. 3. Реализация линии задержки на базе двухпортовой блочной RAM Fig. 3. Delay line implementation based on dual-port block RAM

Из схемы на рис. 3 видно, что один из портов (A) всегда используется по записи, а второй (B) - по чтению. Реализация предполагает хранить фиксированное число слов данных, определяемое переменной FIFO LEN. Таким образом, полученная схема является аппаратным кольцевым буфером.

Имплементация. В качестве платформы использована ПЛИС фирмы Xilinx семейства Artix-7 xc7a200-1, в качестве САПР - Vivado 2019.1. Для более точной оценки результата необходимо рассмотреть зависимость максимальной производительности от входных параметров, таких как размеры сдвигового окна и разрядность данных. В общем случае важно не абсолютное значение пиксельной частоты, а степень ее зависимо-

сти от параметров. В рассматриваемом случае интерес представляет именно предельно реализуемая производительность для каждого значения аргумента, поэтому с целью поиска написан скрипт для САПР (рис. 4).

Рис. 4. Блок-схема алгоритма поиска периода входного тактового сигнала Fig. 4. Block diagram of the algorithm for searching the period of the input clock signal

Из блок-схемы на рис. 4 видно, что в качестве критерия оценки результата используется переменная SLACK, вычисляемая как разница между заданным периодом тактового сигнала и временем максимальной задержки распространения. В качестве входных данных принимаются Tmax и Tmin, определяемые таким образом, чтобы ожидаемый результат находился внутри диапазона. Для каждой итерации при сокращении вдвое полученный интервал до заданного минимального значения необходимо условие, когда при TCLK = Tmin переменная SLACK должна быть отрицательной, а при TCLK = Tmax -положительной. На основе полученного результата TCLK при изменении параметров схемы вычисляется набор частот FCLK = 1/TCLK.

Как правило, разрядность пикселей в стандартном представлении ограничена и имеет определенные значения 8, 10, 12, 14 для монохромных изображений и 24 для цветного изображения RGB888. Все значения входят в максимальную разрядность базового модуля BRAM для используемого семейства, равную 32. Как следствие, влияние на производительность не оказывается (рис. 5, а). Незначительный разброс может быть обусловлен несовершенством алгоритмов имплементации, а также тем, что значение остаточного запаса SLACK не учитывается. Отметим, что для частот менее 310 МГц погрешность для пара-

метра 7оьк, определенного в теле алгоритма и равного 0,01 нс, и параметра ^^ не превышает 1 МГц и, следовательно, почти не оказывает влияния на конечный результат. В результате имплементации для фиксированной высоты, равной 2, в диапазоне ширины от 2 до 160 влияние данного параметра на производительность отсутствует (рис. 5, б).

Зависимость частоты от высоты показывает локальное снижение максимальной производительности (рис. 5, в). Важным является тот факт, что такое изменение имеет нелинейный характер и не может ограничивать масштабируемость в силу минимального значения для предельного случая в условиях реализации максимального числа ресурсов ПЛИС. При сравнении зависимостей скоростей для разных аргументов, определяющих ширину и высоту, выявлены различия между ними. Ширина окна пропорциональна числу элементов триггеров, а высота пропорциональна блокам памяти BRAM, используемым в схеме.

Рис. 5. Динамика производительности в зависимости от разрядности (а), ширины окна (б) и высоты окна (в)

Fig. 5. Graph of performance versus bit depth (a), window width (b) and window height (c)

Таким образом, помимо объективных факторов, определяемых схемой, таких как комбинационные задержки и количество нагрузочных элементов, на быстродействие влияет длина цепей, используемых в сигналах линий данных и частоты. Последнее, в свою очередь, строго связано с физическим расположением модулей, входящих в схему. В частности, блоки памяти имеют большее расстояние от источника тактового сигнала, располагающегося в центре ПЛИС, в отличие от логических элементов с триггерами. При сравнении автоматического размещения элементов схемы для случаев, когда количество BRAM равно 40 и 80, наблюдается вынужденный рост общей длины линии тактового сигнала, который в частном случае может приводить к незначительному росту задержек (рис. 6). Из анализа результатов очевидно, что линейный рост используемых ресурсов не влечет за собой пропорционального снижения производительности для полученной схемы.

Рис. 6. Распределение схемы в зависимости от используемых BRAM: а - высота, равная 40; б - высота, равная 80 Fig. 6. Implementation of the scheme, depending on the used BRAM: a - height 40; b - height 80

С учетом того что предлагаемый модуль по своему замыслу является элементом, входящим в состав более сложной системы, необходимо рассмотреть ситуацию, при которой зона его размещения ограничена и, как следствие, количество ресурсов конечно и фиксировано. Фактически в таких условиях предельные параметры синтезируемой схемы выборки хранения зависят исключительно от выбранной области. Анализируя зависимость производительности при изменении размеров в подобных условиях, следует отметить его практическое и значимое влияние на конечный результат (рис. 7).

Рис. 7. Зависимость производительности от изменения ширины окна в условиях ограничения

области ресурсов: • период;.....полиноминальная (период)

Fig. 7. Performance dependency with changing the window width in terms of limited resource area:

• period;.....polinomial (period)

Рассмотрим размещение модуля сдвигового окна при условии его локализации в ограниченной области (рис. 8). Количество строк равно 80 и не меняется. Можно наблюдать полное заполнение всей рабочей области. Показанный результат достигнут при ширине окна, равной 385. Увеличение этого числа до 386 приводит к невозможности размещения схемы из-за недостатка ресурсов. В результате получаем систему, производительность которой практически не зависит от ее размера, а обусловлена архитектурой. Для ПЛИС различных семейств, таких как Artix-7 (xc7a200tsbg484-1), Kintex-7 (xc7k325tfbg900-1), Virtex-7 (xc7v585tffg1157-1), для ширины 40/80 полученные значения частоты попарно соответствуют значениям 263,992 МГц / 262,398 МГц, 356,506 МГц / 358,423 МГц, 357,526 МГц / 357,526 МГц.

Рис. 8. Реализация схемы доступа в ограниченной области ПЛИС Fig. 8. Implementation of the access scheme in a limited area of the FPGA

Заключение. Разработанная ПЛИС-система применима в качестве базовой при использовании в составе аппаратных блоков большого числа алгоритмов потоковой обработки и не является проблемой для конечной системы, в которой необходимо использовать различные алгоритмы, требующие оконного доступа к кадру.

Литература

1. Morales E., Herrera R. Video processing in real-time in FPGA // Proc. SPIE. Optics and Photonics for Information Processing XII. 2018. Vol. 10751. Art. ID: 107510Z. https://doi.org/10.1117/12.2322021

2. FPGA-based research on high frame rate infrared image real-time acquisition and processing system / S. He, Y. Zhou, S. Lin et al. // Proc. SPIE. Seventh Symposium on Novel Photoelectronic Detection Technology and Application 2020. 2021. Vol. 11763. Art. ID: 117632T. https://doi.org/10.1117/12.2586419

3. Nian T.-K., Chondro P., Ruan S.-J. A low complexity detection method for video data discontinuity implemented on SoC-FPGA by using pixel location prediction scheme // Multimed. Tools Appl. 2020. Vol. 79. P. 22261-22276. https://doi.org/10.1007/s11042-020-09021-2

4. Шариков А. И., Шарикова Е. М. ПЛИС-система выделения ключевых точек при обработке изображений // Изв. вузов. Электроника. 2018. Т. 23. № 5. С. 495-501. https://doi.org/10.24151/1561-5405-2018-23-5-495-501

5. Kumar A., Zhang Z. J., Lyu H. Object detection in real time based on improved single shot multi-box detector algorithm // J. Wireless Com. Network. 2020. Vol. 2020. Art. No. 204. https://doi.org/10.1186/s13638-020-01826-x

6. A real-time object detection algorithm for video / S. Lu, B. Wang, H. Wang et al. // Computers & Electrical Engineering. 2019. Vol. 77. P. 398-408. https://doi.org/10.1016/j.compeleceng.2019.05.009

7. Batra V., Kilgard M. J., Kumar H., Lorach T. Accelerating vector graphics rendering using the graphics hardware pipeline // ACM Transactions on Graphics. 2015. Vol. 34. Iss. 4. Art. No. 146. https://doi.org/ 10.1145/2766968

8. GPU acceleration of the most apparent distortion image quality assessment algorithm / J. Holloway, V. Kannan, Y. Zhang et al. // J. Imaging. 2018. Vol. 4. Iss. 10. Art. No. 111. https://doi.org/10.3390/ jimaging4100111

9. Zhang Y., Yang X., Wu L., Andrian J. H. A case study on approximate FPGA design with an open-source image processing platform // 2019 IEEE Computer Society Annual Symposium on VLSI (ISVLSI). Miami, FL: IEEE, 2019. P. 372-377. https://doi.org/10.1109/ISVLSI.2019.00074

10. SMPTE ST 2110 compliant scalable architecture on FPGA for end to end uncompressed professional video transport over IP networks / N. Ranasinghe, R. Bangamuarachchi, J. Seneviratne et al. // 2019 IEEE 30th International Conference on Application-Specific Systems, Architectures and Processors (ASAP). New York, NY: IEEE, 2019. P. 235-238. https://doi.org/10.1109/ASAP.2019.00012

Статья поступила в редакцию 26.10.2022 г.; одобрена после рецензирования 08.11.2022 г.;

принята к публикации 06.02.2023 г.

Информация об авторах

Шариков Антон Игоревич - инженер-электроник кафедры вычислительной техники Национального исследовательского университета «МИЭТ» (Россия, 124498, г. Москва, г. Зеленоград, пл. Шокина, 1), tohan757@yandex.ru

Шарикова Елена Михайловна - инженер-электроник НИИ вычислительных средств и систем управления Национального исследовательского университета «МИЭТ» (Россия, 124498, г. Москва, г. Зеленоград, пл. Шокина, 1), ellenasharikova@gmail.com

References

1. Morales E., Herrera R. Video processing in real-time in FPGA. Proc. SPIE. Optics and Photonics for Information ProcessingXII, 2018, vol. 10751, art. ID: 107510Z. https://doi.org/10.1117/12.2322021

2. He S., Zhou Y., Lin S., Chang H., Wei X. FPGA-based research on high frame rate infrared image realtime acquisition and processing system. Proc. SPIE. Seventh Symposium on Novel Photoelectronic Detection Technology and Application 2020, 2021, vol. 11763, art. ID: 117632T. https://doi.org/10.1117/12.2586419

3. Nian T.-K., Chondro P., Ruan S.-J. A low complexity detection method for video data discontinuity implemented on SoC-FPGA by using pixel location prediction scheme. Multimed. Tools Appl., 2020, vol. 79, pp. 22261-22276. https://doi.org/10.1007/s11042-020-09021-2

4. Sharikov A. I., Sharikova E. M. FPGA system of image key points detecting. Izv. vuzov. Elektronika = Proc. Univ. Electronics, 2018, vol. 23, no. 5, pp. 495-501 (In Russian). https://doi.org/10.24151/1561-5405-2018-23-5-495-501

5. Kumar A., Zhang Z. J., Lyu H. Object detection in real time based on improved single shot multi-box detector algorithm. J. Wireless Com. Network., 2020, vol. 2020, art. no. 204. https://doi.org/10.1186/s13638-020-01826-x

6. Lu S., Wang B., Wang H., Chen L., Linjian M., Zhang X. A real-time object detection algorithm for video. Computers & Electrical Engineering, 2019, vol. 77, pp. 398-408. https://doi.org/10.1016/ j.compeleceng.2019.05.009

7. Batra V., Kilgard M. J., Kumar H., Lorach T. Accelerating vector graphics rendering using the graphics hardware pipeline. ACM Transactions on Graphics, 2015, vol. 34, iss. 4, art. no. 146. https://doi.org/ 10.1145/2766968

8. Holloway J., Kannan V., Zhang Y., Chandler D. M., Sohoni S. GPU acceleration of the most apparent distortion image quality assessment algorithm. J. Imaging, 2018, vol. 4, iss. 10, art. no. 111. https://doi.org/ 10.3390/jimaging4100111

9. Zhang Y., Yang X., Wu L., Andrian J. H. A case study on approximate FPGA design with an open-source image processing platform. 2019 IEEE Computer Society Annual Symposium on VLSI (ISVLSI). Miami, FL, IEEE, 2019, pp. 372-377. https://doi.org/10.1109/ISVLSI.2019.00074

10. Ranasinghe N., Bangamuarachchi R., Seneviratne J., Jayawardane A., Pasqual A., Senarath R. M. A. U. SMPTE ST 2110 compliant scalable architecture on FPGA for end to end uncompressed professional video transport over IP networks. 2019 IEEE 30th International Conference on Application-Specific Systems, Architectures and Processors (ASAP). New York, NY, IEEE, 2019, pp. 235-238. https://doi.org/10.1109/ ASAP.2019.00012

The article was submitted 26.10.2022; approved after reviewing 08.11.2022;

accepted for publication 06.02.2023.

Information about the authors

Anton I. Sharikov - Hardware Engineer of the Computer Engineering Department, National Research University of Electronic Technology (Russia, 124498, Moscow, Zelenograd, Shokin sq., 1), tohan757@yandex.ru

Elena M. Sharikova - Hardware Engineer of the Research Institute of Computing and Control Systems, National Research University of Electronic Technology (Russia, 124498, Moscow, Zelenograd, Shokin sq., 1), ellenasharikova@gmail.com

i Надоели баннеры? Вы всегда можете отключить рекламу.