Whitepaper · ISP и сенсоры · Драйверы, режимы и качество изображения
Сенсор, обещанный даташитом, на частоте кадров, которую он обещал.
Камера — это сенсор, конвейер обработки изображения и драйвер, который обязан договориться с обоими. Мы портируем сенсоры на новый кремний, возвращаем режимы, которые вендорский драйвер никогда не открывал, и настраиваем конвейер так, чтобы картинка была измерена, а не угадана.
Измерено нами на серийных камерах; записи «до» и «после» показываем на созвоне.
В даташите шесть режимов. В вашем драйвере — один.
Вы выбрали сенсор за то, что обещал даташит, — расширенный динамический диапазон, шестьдесят кадров, окно 4K, — а получили драйвер с одним режимом на одной частоте и таблицей регистров, скопированной с референсной платы. Изменить что-либо — значит открыть тикет вендору, а ответ вендора — тот режим, что у вас уже есть.
С настройкой хуже. Конвейер отдаёт статистику с этапа, которого вы не видите, поэтому написанный вами экспозиционный контур никогда не сходится, и никто не объяснит почему. Нужны люди, которые прочли реальный поток данных конвейера — на восьми поколениях кремния одного вендора и у четырёх вендоров.
Экспозиция там — потолок, а не время. Стоит это понять, и настройка обретает смысл.
Что мы приносим
Четыре вещи, каждая измерена на железе.
Режимы, которых вендор не поставил
Шестьдесят кадров, биннинг, обрезанные скоростные окна. Мы выводим тайминги из даташита и проверяем их на интерфейсе, чтобы нужный режим существовал на вашей плате.
Возвращённая частота кадров
Когда порт работает медленно, причина в последовательности инициализации или в конвейере, а не в сенсоре. Мы трассируем вендорскую прошивку регистр за регистром и перестраиваем путь, пока частота не совпадёт с возможностями кремния.
Настройка, которая сходится
Мы знаем, какая статистика где измеряется — до или после dehaze, на raw или на цвете, — так что ваши контуры замыкаются на данных, на которые могут влиять. Отчёт с захватами «до» и «после».
Один драйвер — много плат
Генеалогия сенсоров — какие являются перемаркировкой каких — и руководство по портированию, сводящее восемь поколений платформ в пять ярусов драйверов: второй порт стоит долю от первого.
Результаты на реальных камерах
Частота кадров
5-мегапиксельный сенсор с расширенным динамическим диапазоном выдавал сломанные 6 к/с на камере потребительского класса. Трассировка вендорской инициализации и переписанный конвейер подняли его до 21 — на несколько кадров меньше закрытой сборки самого вендора, с сохранённым динамическим диапазоном. Доказательство — записи.
Задержка
Портирование режима 1080p60 по таймингам из даташита сняло на стороне сенсора задержку в целый кадр и подняло частоту кодированного потока на 47%. Тем же методом 4K-сенсор получил кроп и биннинг на лету до 200 к/с. Каждый режим проверен на интерфейсе, а не в логе.
Качество изображения
Настройка против тумана на двух камерах удвоила измеримую детализацию на одной и срезала её дымку на четыре пятых — с итемизацией всех издержек и двумя вендорскими ручками, которые, как выяснилось, не делают ничего. Попутно нашлось то, о чём молчит документация: статистика экспозиции снимается до dehaze, и программный тональный контур на неё замкнуться не может.
Платформы
HiSilicon и GokeSigmaStarIngenicRockchip160+ драйверов сенсоров
Более 160 драйверов сенсоров на десяти семействах чипов и прошивка, которая поставляется на сотни сочетаний сенсор–SoC. Если ваше сочетание существует, мы его, скорее всего, уже загружали; если нет — мы знаем цену порта до старта.
Как устроена работа
Оценка конвейера
Фиксированная цена, десять рабочих дней. Вы присылаете сенсор и SoC — или образец устройства, — текущий драйвер или прошивку и нужный режим или картинку. Вы получаете измеренные частоту кадров и задержку того, что есть, режимы, достижимые на этом кремнии, причину разрыва и план порта с фиксированной ценой.
Проект
Портируем или переписываем драйвер, проверяем тайминги на интерфейсе, настраиваем по захватам «до» и «после» и передаём таблицы регистров с обоснованием каждого значения.
Сопровождение
Драйверы ложатся в ваше дерево — или в OpenIPC, если предпочитаете общее сопровождение, — с заметками по генеалогии для следующего сенсора.
Пришлите сенсор и плату. Через десять дней вы узнаете, какую частоту кадров он даёт на самом деле.
Одно письмо из четырёх строк: сенсор и SoC, нужный режим или картинка, что есть сегодня, объём и сроки. Отвечает инженер с планом, а не скрипт продаж.
Написать на business@openipc.org Спросить в чате
Коммерческая поддержка, OEM-лицензирование и остальные услуги — на странице для бизнеса.