Skip to content

Whitepaper · ISP и сенсоры · Драйверы, режимы и качество изображения

Сенсор, обещанный даташитом, на частоте кадров, которую он обещал.

Камера — это сенсор, конвейер обработки изображения и драйвер, который обязан договориться с обоими. Мы портируем сенсоры на новый кремний, возвращаем режимы, которые вендорский драйвер никогда не открывал, и настраиваем конвейер так, чтобы картинка была измерена, а не угадана.

Пришлите нам сенсор и плату Как устроена работа

21 к/с вместо сломанных 6 на том же кремнии — 5-мегапиксельный сенсор с включённым расширенным динамическим диапазоном
16,7 мс задержки на стороне сенсора снято одним портированным режимом
200 к/с с 4K-сенсора в обрезанном окне, с кропом и биннингом, задаваемыми на лету

Измерено нами на серийных камерах; записи «до» и «после» показываем на созвоне.

В даташите шесть режимов. В вашем драйвере — один.

Вы выбрали сенсор за то, что обещал даташит, — расширенный динамический диапазон, шестьдесят кадров, окно 4K, — а получили драйвер с одним режимом на одной частоте и таблицей регистров, скопированной с референсной платы. Изменить что-либо — значит открыть тикет вендору, а ответ вендора — тот режим, что у вас уже есть.

С настройкой хуже. Конвейер отдаёт статистику с этапа, которого вы не видите, поэтому написанный вами экспозиционный контур никогда не сходится, и никто не объяснит почему. Нужны люди, которые прочли реальный поток данных конвейера — на восьми поколениях кремния одного вендора и у четырёх вендоров.

Экспозиция там — потолок, а не время. Стоит это понять, и настройка обретает смысл.

Что мы приносим

Четыре вещи, каждая измерена на железе.

Режимы, которых вендор не поставил

Шестьдесят кадров, биннинг, обрезанные скоростные окна. Мы выводим тайминги из даташита и проверяем их на интерфейсе, чтобы нужный режим существовал на вашей плате.

Возвращённая частота кадров

Когда порт работает медленно, причина в последовательности инициализации или в конвейере, а не в сенсоре. Мы трассируем вендорскую прошивку регистр за регистром и перестраиваем путь, пока частота не совпадёт с возможностями кремния.

Настройка, которая сходится

Мы знаем, какая статистика где измеряется — до или после dehaze, на raw или на цвете, — так что ваши контуры замыкаются на данных, на которые могут влиять. Отчёт с захватами «до» и «после».

Один драйвер — много плат

Генеалогия сенсоров — какие являются перемаркировкой каких — и руководство по портированию, сводящее восемь поколений платформ в пять ярусов драйверов: второй порт стоит долю от первого.

Результаты на реальных камерах

Частота кадров

5-мегапиксельный сенсор с расширенным динамическим диапазоном выдавал сломанные 6 к/с на камере потребительского класса. Трассировка вендорской инициализации и переписанный конвейер подняли его до 21 — на несколько кадров меньше закрытой сборки самого вендора, с сохранённым динамическим диапазоном. Доказательство — записи.

Задержка

Портирование режима 1080p60 по таймингам из даташита сняло на стороне сенсора задержку в целый кадр и подняло частоту кодированного потока на 47%. Тем же методом 4K-сенсор получил кроп и биннинг на лету до 200 к/с. Каждый режим проверен на интерфейсе, а не в логе.

Качество изображения

Настройка против тумана на двух камерах удвоила измеримую детализацию на одной и срезала её дымку на четыре пятых — с итемизацией всех издержек и двумя вендорскими ручками, которые, как выяснилось, не делают ничего. Попутно нашлось то, о чём молчит документация: статистика экспозиции снимается до dehaze, и программный тональный контур на неё замкнуться не может.

Платформы

HiSilicon и GokeSigmaStarIngenicRockchip160+ драйверов сенсоров

Более 160 драйверов сенсоров на десяти семействах чипов и прошивка, которая поставляется на сотни сочетаний сенсор–SoC. Если ваше сочетание существует, мы его, скорее всего, уже загружали; если нет — мы знаем цену порта до старта.

Как устроена работа

01

Оценка конвейера

Фиксированная цена, десять рабочих дней. Вы присылаете сенсор и SoC — или образец устройства, — текущий драйвер или прошивку и нужный режим или картинку. Вы получаете измеренные частоту кадров и задержку того, что есть, режимы, достижимые на этом кремнии, причину разрыва и план порта с фиксированной ценой.

02

Проект

Портируем или переписываем драйвер, проверяем тайминги на интерфейсе, настраиваем по захватам «до» и «после» и передаём таблицы регистров с обоснованием каждого значения.

03

Сопровождение

Драйверы ложатся в ваше дерево — или в OpenIPC, если предпочитаете общее сопровождение, — с заметками по генеалогии для следующего сенсора.

Пришлите сенсор и плату. Через десять дней вы узнаете, какую частоту кадров он даёт на самом деле.

Одно письмо из четырёх строк: сенсор и SoC, нужный режим или картинка, что есть сегодня, объём и сроки. Отвечает инженер с планом, а не скрипт продаж.

Написать на business@openipc.org Спросить в чате

Коммерческая поддержка, OEM-лицензирование и остальные услуги — на странице для бизнеса.