运行 Android 9 或更高版本的设备可以支持单色相机。Android 10 为 Y8 流格式、单色和近红外 (NIR) 滤色器阵列静态元数据以及用于单色相机的 DngCreator 函数提供了额外的支持。
借助此功能,设备制造商可以实现单色或 NIR 相机设备,并通过使用 Y8 流格式来减少内存使用量。单色相机可以用作逻辑多摄像头设备的底层物理相机,以实现更好的弱光噪声特性。
实现
硬件要求
要实现此功能,您的设备必须具有单色相机传感器和图像信号处理器 (ISP) 以处理传感器输出。
实现单色相机
要将相机设备宣传为单色相机,Camera HAL 必须满足以下要求
android.sensor.info.colorFilterArray设置为MONO或NIR。- 支持
BACKWARD_COMPATIBLE必需的键,且不支持MANUAL_POST_PROCESSING。 android.control.awbAvailableModes仅包含AUTO,并且android.control.awbState为CONVERTED或LOCKED,具体取决于android.control.awbLock。android.colorCorrection.mode、android.colorCorrection.transform和android.colorCorrection.gains不在可用的请求和结果键中。因此,相机设备为LIMITED。以下与颜色相关的静态元数据键不存在
android.sensor.referenceIlluminant*android.sensor.calibrationTransform*android.sensor.colorTransform*android.sensor.forwardMatrix*android.sensor.neutralColorPointandroid.sensor.greenSplit
对于以下元数据键,所有颜色通道都具有相同的值
android.sensor.blackLevelPatternandroid.sensor.dynamicBlackLevelandroid.statistics.lensShadingMapandroid.tonemap.curve
android.sensor.noiseProfile只有一个颜色通道。
对于支持 Y8 流格式的单色设备,Camera HAL 必须支持在强制性流组合(包括重新处理)中将 YUV_420_888 格式与 Y8 格式进行交换。
此功能中使用了以下公共 API
- Y8 image format
- SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_MONO
- SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_NIR
- MONOCHROME camera capability(在 Android 9 中引入)
有关 Camera HAL 的更多详细信息,请参阅 docs.html。有关相关公共 API 的更多信息,请参阅 ImageFormat、CameraCharacteristics、CaptureRequest 和 CaptureResult。
验证
要验证单色相机的实现,请运行以下 CTS 和 VTS 测试。
CTS 测试
testMonochromeCharacteristicsCaptureRequestTestCaptureResultTestStillCaptureTestDngCreatorTest
VTS 测试
getCameraCharacteristicsprocessMultiCaptureRequestPreview