Câmeras monocromáticas

Dispositivos com Android 9 ou superior podem ser compatíveis com câmeras monocromáticas. O Android 10 oferece suporte adicional para o formato de fluxo Y8, metadados estáticos de matriz de filtro de cores monocromático e infravermelho próximo (NIR) e 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 fluxo Y8. Uma câmera monocromática pode servir como a câmera física subjacente de um dispositivo lógico de várias câmeras para obter melhores características de ruído com pouca luz.

Implementação

Requisitos de hardware

Para implementar esse recurso, seu dispositivo deve ter um sensor de câmera monocromático e um processador de sinal de imagem (ISP) para processar a saída do sensor.

Implementando uma câmera monocromática

Para anunciar um dispositivo de câmera como uma câmera monocromática, o Camera HAL deve atender aos seguintes requisitos:

  • android.sensor.info.colorFilterArray é definido como MONO ou NIR .
  • As chaves obrigatórias BACKWARD_COMPATIBLE são compatíveis 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áticas 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 monocromáticos que suportam formatos de fluxo Y8, o Camera HAL deve suportar a 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 obter mais detalhes sobre o Camera HAL, consulte docs.html . Para obter mais informações sobre APIs públicas relacionadas, consulte ImageFormat , CameraCharacteristics , CaptureRequest e CaptureResult .

Validação

Para validar sua 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