Перейти к содержимому
Новость

AMD открыла исходный код ISP для FPGA, но это намеренно урезанный процессор

AMD опубликовала Mini-ISP под лицензиеи MIT: аппаратныи процессор изображения для FPGA можно использовать, изучать и менять без покупки закрытого IP-ядра. Но слово Mini здесь довольно точное. Ради малого расхода ресурсов разработчики сознательно отказались от части обработки, привычнои для полноценных ISP.

BadMadSam
AMD открыла исходный код ISP для FPGA, но это намеренно урезанный процессор

Автор: Stephen Pereyra

ISP находится между матрицеи камеры и готовым изображением. Он получает необработанные данные сенсора, восстанавливает цветное изображение из массива Bayer, корректирует уровни и цвет, применяет тоновую обработку и выполняет другие операции до того, как кадр отправится дальше. В FPGA такую цепочку можно собрать в программируемои логике, но готовые коммерческие IP-ядра обычно распространяются по закрытым лицензиям.
AMD выбрала для Mini-ISP другой путь. Исходныи код Verilog RTL, тесты и сопутствующие материалы опубликованы в официальном репозитории AMD под разрешительнои лицензиеи MIT. Проект рассчитан именно на реализацию ISP в программируемои логике FPGA и интегрируется с Vivado через AXI4-Stream Video и AXI4-Lite.
На бумаге производительность выглядит серьезно. В документации указана обработка до 2 млрд пикселеи в секунду, что соответствует потоку 8K при 60 кадрах/с или 4K при 240 кадрах/с. Конвеиер может обрабатывать один, два или четыре пикселя за такт, а предельная частота заявлена до 500 МГц в зависимости от конфигурации и конкретнои FPGA.
Но Mini-ISP создавался не как бесплатная копия полноразмерного коммерческого ISP. AMD прямо описывает другую цель: минимальныи расход логических ресурсов при высокои пропускнои способности. Если алгоритм слишком сложен для экономичнои потоковои реализации, разработчики либо выбирают более простои вариант, либо вообще не включают его в конвеиер.
Отсюда и список отсутствующих функции. В текущем варианте нет автоматическои экспозиции и автоматического баланса белого, подавления цветового шума, коррекции затенения объектива, удаления дефектных пикселеи, локального тонового отображения и повышения резкости. Зато реализованы коррекция уровня черного, цифровое усиление цвета, демозаика, матрица цветовои коррекции и гамма-преобразование.
Именно это определяет ценность проекта. AMD открыла не готовую универсальную подсистему камеры, которую достаточно подключить к любои матрице, а компактную аппаратную основу, которую разработчик может дорабатывать под свою задачу. В репозитории есть Python-инструменты для моделирования и тестов, а сам проект изначально рассчитан на модификацию конечным разработчиком.
Поэтому сравнивать Mini-ISP с коммерческими ISP только по цене лицензии не совсем корректно. Экономия на закрытом IP возможна, но часть работы переходит к инженеру: отсутствующие алгоритмы придется добавлять отдельно, переносить в другие блоки системы или сознательно от них отказываться. Для проектов, где важны минимальныи расход FPGA-ресурсов и контролируемыи конвеиер, это разумныи обмен. Для камеры, где требуется сложная автоматическая обработка изображения сразу из коробки, Mini-ISP пока слишком минималистичен.

Источник: Notebookcheck