Các thiết bị chạy Android 9 trở lên có thể hỗ trợ camera đơn sắc. Android 10 cung cấp hỗ trợ bổ sung cho định dạng luồng Y8, siêu dữ liệu tĩnh mảng bộ lọc màu đơn sắc và cận hồng ngoại (NIR) cũng như các chức năng DngCreator
cho máy ảnh đơn sắc.
Với khả năng này, các nhà sản xuất thiết bị có thể triển khai thiết bị camera đơn sắc hoặc NIR và giảm mức sử dụng bộ nhớ bằng cách sử dụng định dạng luồng Y8. Máy ảnh đơn sắc có thể đóng vai trò là máy ảnh vật lý cơ bản của thiết bị nhiều camera hợp lý để đạt được đặc tính nhiễu trong điều kiện ánh sáng yếu tốt hơn.
Thực hiện
Yêu cầu phần cứng
Để triển khai tính năng này, thiết bị của bạn phải có cảm biến camera đơn sắc và bộ xử lý tín hiệu hình ảnh (ISP) để xử lý đầu ra cảm biến.
Triển khai máy ảnh đơn sắc
Để quảng cáo thiết bị camera là máy ảnh đơn sắc, Camera HAL phải đáp ứng các yêu cầu sau:
-
android.sensor.info.colorFilterArray
được đặt thànhMONO
hoặcNIR
. - Các khóa bắt buộc
BACKWARD_COMPATIBLE
được hỗ trợ vàMANUAL_POST_PROCESSING
không được hỗ trợ. -
android.control.awbAvailableModes
chỉ chứaAUTO
vàandroid.control.awbState
đượcCONVERTED
hoặcLOCKED
tùy thuộc vàoandroid.control.awbLock
. -
android.colorCorrection.mode
,android.colorCorrection.transform
vàandroid.colorCorrection.gains
không có trong các khóa kết quả và yêu cầu có sẵn. Kết quả là thiết bị camera bịLIMITED
. Các khóa siêu dữ liệu tĩnh liên quan đến màu sau đây không có:
-
android.sensor.referenceIlluminant*
-
android.sensor.calibrationTransform*
-
android.sensor.colorTransform*
-
android.sensor.forwardMatrix*
-
android.sensor.neutralColorPoint
-
android.sensor.greenSplit
-
Tất cả các kênh màu đều có cùng giá trị cho các khóa siêu dữ liệu sau:
-
android.sensor.blackLevelPattern
-
android.sensor.dynamicBlackLevel
-
android.statistics.lensShadingMap
-
android.tonemap.curve
-
android.sensor.noiseProfile
chỉ có một kênh màu.
Đối với các thiết bị đơn sắc hỗ trợ định dạng luồng Y8, Camera HAL phải hỗ trợ hoán đổi định dạng YUV_420_888
trong các kết hợp luồng bắt buộc (bao gồm cả xử lý lại) với định dạng Y8.
Các API công khai sau được sử dụng trong tính năng này:
- Định dạng hình ảnh Y8
- CẢM BIẾN_INFO_COLOR_FILTER_ARRANGEMENT_MONO
- CẢM BIẾN_INFO_COLOR_FILTER_ARRANGEMENT_NIR
- Khả năng camera MONOCHROME (được giới thiệu trong Android 9)
Để biết thêm chi tiết về Camera HAL, hãy xem docs.html . Để biết thêm thông tin về các API công khai có liên quan, hãy xem ImageFormat , CameraCharacteristics , CaptureRequest và CaptureResult .
Thẩm định
Để xác thực việc triển khai máy ảnh đơn sắc của bạn, hãy chạy các bài kiểm tra CTS và VTS sau.
xét nghiệm CTS
-
testMonochromeCharacteristics
-
CaptureRequestTest
-
CaptureResultTest
-
StillCaptureTest
-
DngCreatorTest
Kiểm tra VTS
-
getCameraCharacteristics
-
processMultiCaptureRequestPreview