Câmeras monocromáticas

Dispositivos com Android 9 ou superior podem suportar câmeras monocromáticas. O Android 10 oferece suporte adicional para o formato de stream 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 com múltiplas 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 câmera monocromática, o Camera HAL deve atender aos seguintes requisitos:

  • android.sensor.info.colorFilterArray está definido como MONO ou NIR .
  • As chaves obrigatórias BACKWARD_COMPATIBLE são suportadas e MANUAL_POST_PROCESSING não é suportado.
  • 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 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 possui apenas um canal de cores.

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 HAL da câmera, 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