Поддержка метаданных
Для поддержки сохранения необработанных файлов изображений платформой Android требуются существенные метаданные о характеристиках датчика. Сюда входит такая информация, как цветовые пространства и функции затенения объектива.
Большая часть этой информации является статическим свойством подсистемы камеры и поэтому может быть запрошена перед настройкой каких-либо конвейеров вывода или отправкой каких-либо запросов. Новые API-интерфейсы камеры значительно расширяют информацию, предоставляемую методом getCameraInfo()
, чтобы предоставить эту информацию приложению.
Кроме того, ручное управление подсистемой камеры требует обратной связи от различных устройств об их текущем состоянии и фактических параметрах, используемых при захвате данного кадра. Фактические значения элементов управления (время экспозиции, продолжительность кадра и чувствительность), используемые аппаратным обеспечением, должны быть включены в выходные метаданные. Это необходимо для того, чтобы приложения знали, когда произошло ограничение или округление, и чтобы приложение могло компенсировать реальные настройки, используемые для захвата изображения.
Например, если приложение устанавливает продолжительность кадра в запросе на 0, HAL должен зафиксировать продолжительность кадра до реальной минимальной длительности кадра для этого запроса и сообщить об этой зафиксированной минимальной продолжительности в метаданных выходного результата.
Поэтому, если приложению необходимо внедрить пользовательскую процедуру 3A (например, для правильного измерения пакета HDR), ему необходимо знать настройки, используемые для захвата последнего набора результатов, которые оно получило, чтобы обновить настройки для следующего запроса. Поэтому новый API камеры добавляет значительный объем динамических метаданных к каждому захваченному кадру. Сюда входят запрошенные и фактические параметры, используемые для захвата, а также дополнительные метаданные для каждого кадра, такие как временные метки и выходные данные генератора статистики.
Управление настройками
Ожидается, что большинство настроек можно будет изменять в каждом кадре, не вызывая значительных задержек или задержек в выходном потоке кадров. В идеале частота выходных кадров должна контролироваться исключительно полем длительности кадра запроса захвата и не зависеть от каких-либо изменений в конфигурации блоков обработки. На самом деле известно, что некоторые конкретные элементы управления меняются медленно; к ним относятся выходное разрешение и выходной формат конвейера камеры, а также элементы управления, влияющие на физические устройства, такие как фокусное расстояние объектива. Точные требования для каждого набора элементов управления подробно описаны ниже.
Поддержка необработанных данных датчика
В дополнение к форматам пикселей, поддерживаемым старым API, новый API добавляет требование поддержки необработанных данных датчиков (Bayer RAW) как для расширенных приложений камеры, так и для поддержки необработанных файлов изображений.