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 пока слишком минималистичен.
AMD открыла исходный код ISP для FPGA, но это намеренно урезанный процессор
AMD опубликовала Mini-ISP под лицензиеи MIT: аппаратныи процессор изображения для FPGA можно использовать, изучать и менять без покупки закрытого IP-ядра. Но слово Mini здесь довольно точное. Ради малого расхода ресурсов разработчики сознательно отказались от части обработки, привычнои для полноценных ISP.

Автор: Stephen Pereyra
Источник: Notebookcheck







