Câmeras monocromáticas

Dispositivos com o Android 9 ou versões mais recentes podem oferecer suporte a câmeras monocromáticas. O Android 10 oferece mais suporte ao 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 um dispositivo de câmera monocromática ou NIR e reduzir o uso de memória usando o formato de stream 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) para processar a saída do sensor.

Implementar uma câmera monocromática

Para anunciar um dispositivo de câmera como uma câmera monocromática, a HAL da câmera precisa atender a estes requisitos:

  • android.sensor.info.colorFilterArray é definido como MONO ou NIR.
  • BACKWARD_COMPATIBLE chave necessária tem suporte e MANUAL_POST_PROCESSING não é compatível.
  • 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 da câmera é LIMITED.
  • As seguintes chaves de metadados estáticos relacionadas 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 cor.

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

As seguintes APIs públicas são usadas neste 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 do CTS e do VTS.

Testes CTS

  • testMonochromeCharacteristics
  • CaptureRequestTest
  • CaptureResultTest
  • StillCaptureTest
  • DngCreatorTest

Testes VTS

  • getCameraCharacteristics
  • processMultiCaptureRequestPreview