Suporte a metadados
Para oferecer suporte ao salvamento de arquivos de imagem bruta pelo framework do Android, uma quantidade significativa metadados sobre as características do sensor. Isso inclui como espaços de cor e funções de sombreamento de lentes.
A maioria dessas informações é uma propriedade estática do subsistema da câmera e pode
portanto, ser consultados antes de configurar qualquer pipeline de saída ou enviar
solicitações. As novas APIs de câmera ampliam bastante as informações fornecidas pelos
método getCameraInfo()
para fornecer essas informações à
app.
Além disso, o controle manual do subsistema da câmera requer feedback do vários dispositivos sobre o estado atual e os parâmetros reais usados na capturando um determinado frame. Os valores reais dos controles (tempo de exposição, frame duração e sensibilidade), conforme realmente usado pelo hardware, deve ser incluído os metadados de saída. Isso é essencial para que os apps saibam quando de restrição ou arredondamento, e de modo que o app possa compensar as configurações reais usadas para captura de imagem.
Por exemplo, se um aplicativo definir a duração do frame como 0 em uma solicitação, a HAL deve limitar a duração do frame à duração mínima real do frame para e informa que a duração mínima foi restringida nos metadados do resultado.
Portanto, se um app precisar implementar uma rotina 3A personalizada (por exemplo, para corretamente para uma sequência HDR), ele precisa saber as configurações usadas para capturar o conjunto mais recente de resultados recebidos para atualizar as configurações a próxima solicitação. Portanto, a nova API de câmera adiciona uma quantidade metadados dinâmicos a cada frame capturado. Isso inclui as solicitações parâmetros usados para a captura, bem como metadados adicionais por frame, como como carimbos de data/hora e saída do gerador de estatísticas.
Controle por configuração
Para a maioria das configurações, eles podem ser alterados a cada frame, sem introduzir interseção ou atraso significativo no stream de frames de saída. O ideal é que o frame rate de saída seja controlado apenas pela imagem no campo de duração do frame da solicitação e ser independente de qualquer mudança no processamento blocos" configuração do Terraform. Na realidade, alguns controles específicos são lentos à mudança; incluindo a resolução e o formato de saída da câmera pipeline, bem como controles que afetam dispositivos físicos, como foco na lente distância. Os requisitos exatos para cada conjunto de controles serão detalhados posteriormente.
Compatibilidade com dados brutos do sensor
Além dos formatos de pixel suportados pelo a API antiga, a nova API adiciona um requisito de compatibilidade com dados brutos do sensor (Bayer RAW), tanto para apps avançados de câmera quanto para suporte a arquivos brutos arquivos de imagem.