单色摄像头

搭载 Android 9 或更高版本的设备可以支持单色相机。Android 10 为 Y8 流格式、单色和近红外 (NIR) 色彩滤镜数组静态元数据提供了额外的支持,并为单色摄像头提供了 DngCreator 函数。

借助此功能,设备制造商可以实现单色或近红外线摄像头设备,并通过使用 Y8 流格式减少内存使用量。单色摄像头可以用作逻辑多摄像头设备的底层物理摄像头以获取更出色的低光噪音特性。

实现

硬件要求

要实现此功能,您的设备必须拥有单色摄像头传感器和图像信号处理器 (ISP) 以处理传感器输出。

实现单色摄像头

如需将相机设备播发为单色相机,相机 HAL 必须满足以下要求:

  • android.sensor.info.colorFilterArray 设置为 MONONIR
  • 支持 BACKWARD_COMPATIBLE 必需键,不支持 MANUAL_POST_PROCESSING
  • android.control.awbAvailableModes 只包含 AUTO,且 android.control.awbStateCONVERTEDLOCKED(具体取决于 android.control.awbLock)。
  • android.colorCorrection.modeandroid.colorCorrection.transformandroid.colorCorrection.gains 不在可用的请求和结果键中。因此,相机设备是 LIMITED
  • 不存在以下与颜色相关的静态元数据键:

    • android.sensor.referenceIlluminant*
    • android.sensor.calibrationTransform*
    • android.sensor.colorTransform*
    • android.sensor.forwardMatrix*
    • android.sensor.neutralColorPoint
    • android.sensor.greenSplit
  • 对于以下元数据键,所有颜色通道的值都相同:

    • android.sensor.blackLevelPattern
    • android.sensor.dynamicBlackLevel
    • android.statistics.lensShadingMap
    • android.tonemap.curve
  • android.sensor.noiseProfile 只有一个颜色通道。

对于支持 Y8 流格式的单色设备,相机 HAL 必须支持将强制性信息流组合中的 YUV_420_888 格式替换(包括重新处理)为 Y8 格式。

该功能中会使用以下公共 API:

如需详细了解摄像头 HAL,请参阅 docs.html。如需详细了解相关公共 API,请参阅 ImageFormatCameraCharacteristicsCaptureRequestCaptureResult

验证

要验证单色摄像头的实现情况,请运行以下 CTS 和 VTS 测试。

CTS 测试

  • testMonochromeCharacteristics
  • CaptureRequestTest
  • CaptureResultTest
  • StillCaptureTest
  • DngCreatorTest

VTS 测试

  • getCameraCharacteristics
  • processMultiCaptureRequestPreview