Câmeras monocromáticas

Os dispositivos com o Android 9 ou mais recente podem oferecer suporte a câmeras monocromáticas. O Android 10 oferece maior compatibilidade com o formato de streaming Y8, metadados estáticos da matriz de filtros de cores monocromáticas e infravermelhas próximas (NIR, na sigla em inglês), além de funções DngCreator para câmeras monocromáticas.

Com esse recurso, os fabricantes de dispositivos podem implementar uma câmera monocromática ou câmera de infravermelho próximo e reduzir o uso de memória usando o formato de streaming Y8. Uma câmera monocromática pode servir como a câmera física subjacente de um dispositivo lógico com várias câmeras para melhorar as características de ruído com pouca luz.

Implementação

Requisitos de hardware

Para implementar esse recurso, o dispositivo precisa ter um sensor de câmera monocromática e um processador de sinal de imagem (ISP, na sigla em inglês) para processar a saída do sensor.

Implementar uma câmera monocromática

Para anunciar um dispositivo de câmera como monocromático, a HAL da câmera precisa atender aos seguintes requisitos:

  • android.sensor.info.colorFilterArray está definido como MONO ou NIR.
  • As chaves obrigatórias BACKWARD_COMPATIBLE têm suporte, e MANUAL_POST_PROCESSING não.
  • android.control.awbAvailableModes contém apenas AUTO, e android.control.awbState é CONVERTED ou LOCKED, dependendo de android.control.awbLock.
  • android.colorCorrection.mode, android.colorCorrection.transform e android.colorCorrection.gains não estão nas chaves de solicitação e resultado disponíveis. Como resultado, o dispositivo de câmera é LIMITED.
  • As seguintes chaves de metadados estáticos relacionados a cores não estão presentes:

    • android.sensor.referenceIlluminant*
    • android.sensor.calibrationTransform*
    • android.sensor.colorTransform*
    • android.sensor.forwardMatrix*
    • android.sensor.neutralColorPoint
    • android.sensor.greenSplit
  • Todos os canais de cores têm os mesmos valores para as seguintes chaves de metadados:

    • android.sensor.blackLevelPattern
    • android.sensor.dynamicBlackLevel
    • android.statistics.lensShadingMap
    • android.tonemap.curve
  • android.sensor.noiseProfile tem apenas um canal de cores.

Para dispositivos monocromáticos que oferecem suporte a formatos de streaming Y8, a HAL da câmera precisa oferecer suporte à troca de formatos YUV_420_888 em combinações de streaming obrigatórias (incluindo o reprocessamento) com formatos Y8.

As seguintes APIs públicas são usadas nesse recurso:

Para mais detalhes sobre a HAL da câmera, consulte docs.html. Para mais informações sobre APIs públicas relacionadas, consulte ImageFormat, CameraCharacteristics, CaptureRequest, e CaptureResult.

Validação

Para validar a implementação de uma câmera monocromática, execute os seguintes testes CTS e VTS.

Testes CTS

  • testMonochromeCharacteristics
  • CaptureRequestTest
  • CaptureResultTest
  • StillCaptureTest
  • DngCreatorTest

Testes VTS

  • getCameraCharacteristics
  • processMultiCaptureRequestPreview