Trang này cung cấp danh sách đầy đủ các bài kiểm thử trong Bộ kiểm thử hình ảnh của máy ảnh (ITS). Bộ kiểm thử này là một phần của Trình xác minh Bộ kiểm thử khả năng tương thích với Android (CTS). Kiểm thử ITS là kiểm thử chức năng, nghĩa là không đo lường chất lượng hình ảnh, mà là tất cả các chức năng của máy ảnh được quảng cáo đều hoạt động như mong đợi. Tài liệu này giúp nhà phát triển và người kiểm thử hiểu được từng kiểm thử thực hiện chức năng gì và cách gỡ lỗi kiểm thử không thành công.
Cổng ITS của máy ảnh kiểm thử theo các thuộc tính máy ảnh bắt buộc, cấp độ API và cấp độ hiệu suất nội dung nghe nhìn (MPC). Đối với cấp độ API, ITS sử dụng ro.product.first_api_level
để kiểm thử cổng được thêm vào một cấp độ API cụ thể. Cấp độ này kiểm thử trải nghiệm người dùng tiêu cực đối với chức năng ở các cấp độ API thấp hơn. ITS sử dụng ro.vendor.api_level
để kiểm thử các tính năng được thêm vào một cấp độ API cụ thể yêu cầu khả năng phần cứng mới. Nếu ro.odm.build.media_performance_class
được xác định cho một thiết bị, thì ITS yêu cầu chạy các kiểm thử cụ thể tuỳ thuộc vào cấp MPC.
Các bài kiểm thử được nhóm theo cảnh như sau:
- scene0: Ghi lại siêu dữ liệu, độ giật, con quay hồi chuyển, độ rung
- scene1: Độ phơi sáng, độ nhạy, bù EV, YUV so với JPEG/RAW
- scene2: Phát hiện khuôn mặt, các bài kiểm thử yêu cầu cảnh màu
- scene3: Cải thiện cạnh, chuyển động ống kính
- scene4: Tỷ lệ khung hình, cắt, trường nhìn
- scene5: Phân vùng bóng đổ của ống kính
- scene6: Thu phóng
- scene7: Chuyển đổi nhiều máy ảnh
- scene8: Đo sáng vùng AE và AWB
- scene9: Nén JPEG
- scene_extensions: Tiện ích máy ảnh
- scene_flash: Tự động bật đèn flash, tốc độ khung hình tối thiểu
- scene_video: Tần suất bị rớt khung hình
- sensor_fusion: Độ lệch thời gian của máy ảnh/con quay hồi chuyển
- feature_combination: Tổ hợp tính năng
Hãy xem từng phần để biết nội dung mô tả về từng cảnh.
scene0
Các kiểm thử Scene0 không yêu cầu thông tin cảnh cụ thể. Tuy nhiên, điện thoại phải đứng yên để kiểm thử con quay hồi chuyển và độ rung.
test_jitter
Đo độ trễ trong dấu thời gian của máy ảnh.
Các API đã kiểm thử:
android.hardware.camera2.CaptureResult#SENSOR_TIMESTAMP
android.hardware.camera2.CaptureRequest#CONTROL_AE_TARGET_FPS_RANGE
Đạt: Có ít nhất 30 ms chênh lệch giữa các khung hình.
test_jitter_plot.png (Lưu ý phạm vi trục y nhỏ. Độ trễ thực sự nhỏ trong biểu đồ này.)
test_metadata
Kiểm tra tính hợp lệ của các mục siêu dữ liệu. Xem xét kết quả chụp và các đối tượng đặc điểm của máy ảnh. Bài kiểm thử này sử dụng các giá trị độ phơi sáng và độ lợi auto_capture_request
vì nội dung hình ảnh không quan trọng.
Các API đã kiểm thử:
android.hardware.camera2.CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL
android.hardware.camera2.CameraCharacteristics#SCALER_CROPPING_TYPE
android.hardware.camera2.CameraCharacteristics#SENSOR_BLACK_LEVEL_PATTERN
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_TIMESTAMP_SOURCE
android.hardware.camera2.CaptureRequest#SENSOR_FRAME_DURATION
android.hardware.camera2.CaptureResult#SENSOR_ROLLING_SHUTTER_SKEW
Đạt: Có thẻ cấp độ phần cứng, rollingShutterSkew
, frameDuration
, timestampSource
, croppingType
, blackLevelPattern
, pixel_pitch
, FoV, khoảng cách lấy nét siêu tiêu cự và các thẻ này có giá trị hợp lệ.
test_request_capture_match
Kiểm thử để đảm bảo thiết bị ghi chính xác các giá trị phơi sáng và độ lợi bằng cách đọc lại siêu dữ liệu chụp.
Các API đã kiểm thử:
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_EXPOSURE_TIME_RANGE
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_SENSITIVITY_RANGE
android.hardware.camera2.CaptureRequest#SENSOR_EXPOSURE_TIME
android.hardware.camera2.CaptureRequest#SENSOR_SENSITIVITY
android.hardware.camera2.CaptureResult#SENSOR_EXPOSURE_TIME
android.hardware.camera2.CaptureResult#SENSOR_SENSITIVITY
Đạt: Yêu cầu và ghi lại các giá trị siêu dữ liệu khớp trên tất cả các cảnh quay.
test_sensor_events
Kiểm thử các truy vấn thiết bị và in ra các sự kiện cảm biến cho các thiết bị quảng cáo tính năng hỗ trợ hợp nhất cảm biến. Các cảm biến dự kiến là gia tốc kế, con quay hồi chuyển và từ kế. Quy trình kiểm thử này chỉ hoạt động nếu màn hình đang bật, nghĩa là thiết bị không ở chế độ chờ.
Các API đã kiểm thử:
Đạt: Nhận được sự kiện cho mỗi cảm biến.
test_solid_color_test_pattern
Kiểm thử để đảm bảo các mẫu kiểm thử màu đồng nhất được tạo đúng cách để tắt tiếng máy ảnh. Nếu hỗ trợ tính năng tắt tiếng máy ảnh, thì phải hỗ trợ các mẫu kiểm thử màu đồng nhất. Nếu không hỗ trợ tính năng tắt tiếng máy ảnh, thì các mẫu kiểm thử màu đồng nhất chỉ được kiểm thử nếu tính năng này được quảng cáo.
Nếu hình ảnh RAW được hỗ trợ, thì việc chỉ định màu cũng sẽ được kiểm thử. Các màu được kiểm thử là đen, trắng, đỏ, xanh dương và xanh lục. Đối với những máy ảnh không hỗ trợ hình ảnh RAW, chỉ màu đen mới được kiểm thử.
Các API đã kiểm thử:
android.hardware.camera2.CameraCharacteristic#SENSOR_AVAILABLE_TEST_PATTERN_MODES
android.hardware.camera2.CaptureResult#SENSOR_TEST_PATTERN_DATA
android.hardware.camera2.CaptureResult#SENSOR_TEST_PATTERN_MODE
Đạt: Các mẫu kiểm thử đồng nhất được hỗ trợ có màu chính xác và có độ biến thiên thấp trong hình ảnh.
test_test_pattern
Kiểm thử thông số android.sensor.testPatternMode
để chụp khung hình cho từng mẫu kiểm thử hợp lệ và kiểm tra để đảm bảo rằng các khung hình được tạo chính xác cho màu đồng nhất và thanh màu. Quy trình kiểm thử này bao gồm các bước sau:
- Chụp ảnh cho tất cả các mẫu kiểm thử được hỗ trợ.
- Thực hiện kiểm tra tính chính xác đơn giản cho mẫu kiểm thử màu đồng nhất và thanh màu.
Các API đã kiểm thử:
android.hardware.camera2.CameraCharacteristic#SENSOR_AVAILABLE_TEST_PATTERN_MODES
android.hardware.camera2.CaptureResult#SENSOR_TEST_PATTERN_MODE
Đạt: Các mẫu kiểm thử được hỗ trợ được tạo chính xác.
test_test_patterns_2.jpg
test_tonemap_curve
Kiểm thử việc chuyển đổi mẫu kiểm thử từ RAW sang YUV bằng bản đồ tông màu tuyến tính. Quy trình kiểm thử này yêu cầu android.sensor.testPatternMode = 2
(COLOR_BARS) để tạo một mẫu hình ảnh hoàn hảo cho việc chuyển đổi bản đồ tông màu. Đảm bảo quy trình có đầu ra màu sắc phù hợp với bản đồ tông màu tuyến tính và đầu vào hình ảnh lý tưởng (dựa vào test_test_patterns
).
Các API đã kiểm thử:
android.hardware.camera2.CaptureRequest#DISTORTION_CORRECTION_MODE
android.hardware.camera2.CaptureRequest#SENSOR_TEST_PATTERN_MODE
android.hardware.camera2.CaptureRequest#TONEMAP_CURVE
android.hardware.camera2.CaptureRequest#TONEMAP_MODE
Đạt: YUV và RAW trông giống nhau.
test_tonemap_curve_raw_2.jpg
test_tonemap_curve_yuv_2.jpg
test_unified_timestamp
Kiểm tra xem sự kiện cảm biến hình ảnh và chuyển động có nằm trong cùng một miền thời gian hay không.
Các API đã kiểm thử:
android.hardware.camera2.CaptureResult#SENSOR_TIMESTAMP
android.hardware.Sensor
android.hardware.SensorEvent
android.hardware.Sensor#TYPE_ACCELEROMETER
android.hardware.Sensor#TYPE_GYROSCOPE
Đạt: Dấu thời gian chuyển động nằm giữa hai dấu thời gian hình ảnh.
test_vibration_restriction
Kiểm tra xem tính năng rung của thiết bị có hoạt động như mong đợi hay không.
Các API đã kiểm thử:
android.hardware.Sensor
android.hardware.SensorEvent
android.hardware.Sensor#TYPE_ACCELEROMETER
android.os.Vibrator
android.hardware.camera2.CameraDevice#setCameraAudioRestriction
Đạt: Thiết bị không rung khi bị tắt tiếng bằng API hạn chế âm thanh của máy ảnh.
scene1
scene1 là một biểu đồ màu xám. Biểu đồ màu xám phải bao phủ 30% trung tâm trường nhìn của máy ảnh. Biểu đồ màu xám dự kiến sẽ thách thức 3A (tự động phơi sáng, tự động cân bằng trắng, tự động lấy nét) ở mức độ vừa phải vì vùng trung tâm không có đặc điểm nào. Tuy nhiên, yêu cầu chụp chỉ định toàn bộ cảnh, bao gồm các tính năng đủ để 3A hội tụ.
Bạn có thể kiểm thử máy ảnh RFoV trong WFoV hoặc thiết bị kiểm thử RFoV. Nếu máy ảnh RFoV được kiểm thử trong giàn thử nghiệm WFoV, thì biểu đồ sẽ được điều chỉnh theo tỷ lệ ⅔ để đảm bảo một số ranh giới cho biểu đồ màu xám trong FoV nhằm giúp 3A hội tụ. Để biết thêm thông tin chi tiết về các thiết bị thử nghiệm máy ảnh, hãy xem phần Camera ITS-in-a-box.
scene1: Biểu đồ ở kích thước đầy đủ (bên trái). Biểu đồ theo tỷ lệ ⅔ (bên phải).
test_ae_precapture_trigger
Kiểm thử máy trạng thái AE khi sử dụng trình kích hoạt trước khi chụp. Ghi lại 5 yêu cầu thủ công khi AE bị tắt. Yêu cầu cuối cùng có một trình kích hoạt trước khi chụp AE, bạn nên bỏ qua yêu cầu này vì AE bị tắt.
Các API đã kiểm thử:
android.hardware.camera2.CaptureRequest#CONTROL_AE_MODE
android.hardware.camera2.CaptureRequest#CONTROL_AE_PRECAPTURE_TRIGGER
android.hardware.camera2.CaptureResult#CONTROL_AE_STATE
Đạt: AE hội tụ.
test_auto_vs_manual
Các thử nghiệm chụp ảnh tự động và thủ công trông giống nhau.
Các API đã kiểm thử:
android.hardware.camera2.CaptureRequest#COLOR_CORRECTION_GAINS
android.hardware.camera2.CaptureRequest#COLOR_CORRECTION_TRANSFORM
android.hardware.camera2.CaptureResult#TONEMAP_CURVE
android.hardware.camera2.CaptureResult#TONEMAP_MODE
Đạt: Độ lợi và phép biến đổi cân bằng trắng thủ công được báo cáo trong mỗi kết quả chụp khớp với cân bằng trắng tự động estimate
từ thuật toán 3A của máy ảnh.
test_auto_vs_manual_auto.jpg
test_auto_vs_manual_wb.jpg
test_auto_vs_manual_manual_wb_tm.jpg
test_black_white
Kiểm thử để đảm bảo thiết bị tạo ra hình ảnh đen trắng đầy đủ. Chụp hai lần, lần đầu có độ lợi cực thấp và thời gian phơi sáng ngắn, dẫn đến ảnh màu đen, lần thứ hai có độ lợi cực cao và thời gian phơi sáng dài, dẫn đến ảnh màu trắng.
Các API đã kiểm thử:
android.hardware.camera2.CaptureRequest#SENSOR_EXPOSURE_TIME
android.hardware.camera2.CaptureRequest#SENSOR_SENSITIVITY
Chuyển: Tạo hình ảnh đen trắng. Các kênh bão hoà của hình ảnh trắng có giá trị RGB là [255, 255, 255] với biên độ sai số dưới 1%.
![]() |
![]() |
|
test_black_white_black.jpg | test_black_white_white.jpg |
test_black_white_plot_means.png
test_burst_capture
Xác minh rằng toàn bộ quy trình chụp có thể theo kịp tốc độ chụp ở kích thước đầy đủ và thời gian CPU.
Các API đã kiểm thử:
Chuyển: Chụp một loạt hình ảnh ở kích thước đầy đủ, kiểm tra tình trạng bỏ khung hình và độ sáng hình ảnh.
test_burst_sameness_manual
Chụp 5 loạt 50 ảnh bằng chế độ cài đặt chụp thủ công và kiểm tra để đảm bảo rằng tất cả các ảnh đều giống hệt nhau. Bạn có thể dùng quy trình kiểm thử này để xác định xem có khung hình nào được xử lý theo cách khác hay có hiện tượng nhiễu hay không.
Các API đã kiểm thử:
android.hardware.camera2.CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_MANUAL_SENSOR
android.hardware.camera2.CameraMetadata#SYNC_MAX_LATENCY_PER_FRAME_CONTROL
Đạt: Hình ảnh giống hệt nhau về mặt hình ảnh và giá trị RGB.
Không đạt: Cho thấy sự tăng đột biến hoặc giảm của biểu đồ trung bình RGB ở đầu mỗi đợt phát
- Dung sai là 3% đối với
first_API_level
< 30 - Dung sai là 2% đối với
first_API_level
>= 30
test_burst_sameness_manual_mean.jpg
test_burst_sameness_manual_plot_means.png
test_capture_result
Kiểm thử để đảm bảo dữ liệu hợp lệ được trả về trong các đối tượng CaptureResult
. Thực hiện tính năng chụp tự động,
thủ công và tự động.
Các API đã kiểm thử:
android.hardware.camera2.CaptureRequest#CONTROL_AE_MODE
android.hardware.camera2.CaptureRequest#CONTROL_AE_REGIONS
android.hardware.camera2.CaptureRequest#CONTROL_AF_MODE
android.hardware.camera2.CaptureRequest#CONTROL_AF_REGIONS
android.hardware.camera2.CaptureRequest#CONTROL_AWB_MODE
android.hardware.camera2.CaptureRequest#CONTROL_AWB_REGIONS
android.hardware.camera2.CaptureRequest#CONTROL_MODE
android.hardware.camera2.CaptureRequest#COLOR_CORRECTION_GAINS
android.hardware.camera2.CaptureRequest#COLOR_CORRECTION_TRANSFORM
android.hardware.camera2.CaptureRequest#COLOR_CORRECTION_MODE
android.hardware.camera2.CaptureRequest#SENSOR_EXPOSURE_TIME
android.hardware.camera2.CaptureRequest#SENSOR_SENSITIVITY
android.hardware.camera2.CaptureResult#STATISTICS_LENS_SHADING_CORRECTION_MAP
android.hardware.camera2.CaptureRequest#STATISTICS_LENS_SHADING_MAP_MODE
android.hardware.camera2.CaptureRequest#TONEMAP_CURVE
android.hardware.camera2.CaptureRequest#TONEMAP_MODE
Đạt: Siêu dữ liệu hợp lệ cho tất cả các lần chụp và chế độ cài đặt thủ công không bị rò rỉ vào lần chụp tự động thứ hai. Lập biểu đồ hiệu chỉnh độ bóng của ống kính cho các ảnh chụp.
test_capture_result_plot_lsc_auto_ch0.png
test_crop_region_raw
Kiểm thử để đảm bảo rằng các luồng RAW không thể cắt được.
Các API đã kiểm thử:
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE
android.hardware.camera2.CaptureResult#SCALER_CROP_REGION
android.hardware.camera2.CaptureRequest#SCALER_CROP_REGION
Đạt: Hình ảnh YUV được cắt theo tâm nhưng không phải hình ảnh RAW.
test_crop_region_raw_comp_raw_crop.jpg
test_crop_region_raw_comp_raw_full.jpg
test_crop_region_raw_comp_yuv_crop.jpg
test_crop_region_raw_yuv_full.jpg
test_crop_regions
Kiểm thử để đảm bảo các vùng cắt hoạt động. Chụp toàn bộ hình ảnh và tạo các bản vá của 5 vùng khác nhau (góc và giữa). Chụp hình ảnh với chế độ cắt được đặt cho 5 vùng. So sánh các giá trị của bản vá và hình ảnh đã cắt.
Các API đã kiểm thử:
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE
android.hardware.camera2.CaptureRequest#SCALER_CROP_REGION
Đạt: Hình ảnh của vùng đã cắt khớp với miếng vá tương ứng với hình ảnh đã cắt.
test_dng_noise_model
Xác minh rằng các tham số của mô hình thô DNG là chính xác. Biểu đồ mô tả độ biến thiên được đo lường của một mảng trung tâm của thẻ xám trong các ảnh thô được chụp trong một phạm vi độ nhạy, đồng thời so sánh các giá trị này với độ biến thiên dự kiến ở mỗi độ nhạy theo mô hình nhiễu DNG trong HAL máy ảnh (dựa trên các tham số O,S được trả về trong các đối tượng kết quả chụp). Để biết thêm thông tin chi tiết về mô hình nhiễu DNG, hãy tải tài liệu sau đây về Mô hình nhiễu DNG.
Các API đã kiểm thử:
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_SENSITIVITY_RANGE
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_WHITE_LEVEL
android.hardware.camera2.CameraCharacteristics#SENSOR_MAX_ANALOG_SENSITIVITY
android.hardware.camera2.CaptureResult#SENSOR_NOISE_PROFILE
android.hardware.camera2.CaptureRequest#SENSOR_SENSITIVITY
Đạt: Các tham số mô hình thô DNG là chính xác. Giá trị RGB dự kiến khớp với giá trị RGB thực tế được đo lường.
test_dng_noise_model_plog.png
test_ev_compensation_advanced
Kiểm thử để đảm bảo rằng giá trị bù phơi sáng (EV) được áp dụng. Quy trình kiểm thử này tăng cường độ phơi sáng trong 8 bước và kiểm tra độ sáng được đo lường so với độ sáng dự kiến. Giá trị dự kiến được tính từ độ sáng của hình ảnh mà không áp dụng hệ số bù EV và giá trị dự kiến sẽ bão hoà nếu giá trị được tính vượt quá phạm vi giá trị hình ảnh thực tế. Kiểm thử không đạt nếu giá trị dự kiến và giá trị đo không khớp hoặc hình ảnh bị phơi sáng quá mức trong vòng 5 bước.
Các API đã kiểm thử:
android.hardware.camera2.CaptureRequest#CONTROL_AE_EXPOSURE_COMPENSATION
android.hardware.camera2.CaptureRequest#CONTROL_AE_LOCK
android.hardware.camera2.CaptureRequest#CONTROL_AWB_LOCK
android.hardware.camera2.CaptureResult#CONTROL_AE_STATE
android.hardware.camera2.CaptureResult#TONEMAP_CURVE
android.hardware.camera2.CaptureResult#TONEMAP_MODE
Đạt: Hình ảnh cho thấy độ phơi sáng tăng lên mà không bị phơi sáng quá mức trong vòng 5 bước.
test_ev_compensation_advanced_plot_means.png
test_ev_compensation_basic
Kiểm thử để đảm bảo rằng hệ thống áp dụng tính năng bù EV bằng cách sử dụng một dải được tạo bằng CONTROL_AE_COMPENSATION_STEP
. 8 khung hình được chụp ở mỗi giá trị bù sáng.
Các API đã kiểm thử:
android.hardware.camera2.CameraCharacteristics#CONTROL_AE_COMPENSATION_STEP
android.hardware.camera2.CaptureRequest#CONTROL_AE_EXPOSURE_COMPENSATION
android.hardware.camera2.CaptureRequest#CONTROL_AE_LOCK
android.hardware.camera2.CaptureRequest#CONTROL_AWB_LOCK
android.hardware.camera2.CaptureResult#CONTROL_AE_EXPOSURE_COMPENSATION
android.hardware.camera2.CaptureResult#CONTROL_AE_STATE
Đạt: Tăng độ sáng khi tăng chế độ cài đặt bù EV, và 8 khung hình được chụp cho mỗi chế độ cài đặt bù EV có giá trị độ sáng ổn định.
test_ev_compensation_basic.png
test_exposure_x_iso
Kiểm thử để đạt được độ phơi sáng không đổi khi ISO và thời gian phơi sáng thay đổi. Chụp một loạt ảnh có ISO và thời gian phơi sáng được chọn để cân bằng lẫn nhau.
Kết quả phải có cùng độ sáng, nhưng theo trình tự, hình ảnh sẽ trở nên nhiễu hơn. Xác minh các giá trị trung bình của pixel mẫu gần nhau. Đảm bảo rằng hình ảnh không bị kẹp ở mức 0 hoặc 1 (điều này sẽ khiến hình ảnh trông giống như các đường phẳng). Bạn cũng có thể chạy kiểm thử bằng hình ảnh RAW bằng cách đặt cờ debug
trong tệp cấu hình.
Các API đã kiểm thử:
android.hardware.camera2.CaptureRequest#SENSOR_EXPOSURE_TIME
android.hardware.camera2.CaptureRequest#SENSOR_SENSITIVITY
Đạt: Hình ảnh có cùng độ sáng, nhưng bị nhiễu hơn khi ISO cao hơn. Các mặt phẳng RGB phẳng khi giá trị của ISO*exposure không đổi trên không gian gain đã kiểm thử.
Cơ chế không đạt:
- Trong
test_exposure_plot_means.png
, khi giá trị hệ số tăng (trục x) tăng lên, giá trị trung bình của mặt phẳng RGB chuẩn hoá (trục y) bắt đầu sai lệch so với giá trị hệ số tăng thấp.
test_exposure_plot_means.png
![]() |
![]() |
|
test_exposure_mult=1.00.jpg | test_exposure_mult=64.00.jpg |
test_jpeg
Kiểm thử hình ảnh YUV đã chuyển đổi và hình ảnh JPEG của thiết bị trông giống nhau. Kiểm thử lấy 10% hình ảnh ở giữa và tính toán giá trị RGB, đồng thời xác minh rằng các giá trị này khớp nhau.
Các API đã kiểm thử:
Đạt: Độ chênh lệch RGB trung bình giữa mỗi hình ảnh dưới 3%.
![]() |
![]() |
|
test_jpeg_fmt=jpg.jpg | test_jpeg=fmt=yuv.jpg |
test_latching
Kiểm thử các chế độ cài đặt (độ phơi sáng và độ lợi) trên khung bên phải cho máy ảnh FULL
và
LEVEL_3
. Chụp một loạt ảnh bằng các yêu cầu liên tiếp, thay đổi các tham số yêu cầu chụp giữa các ảnh. Kiểm tra để đảm bảo hình ảnh có các thuộc tính dự kiến.
Các API đã kiểm thử:
Đạt: Hình ảnh [2, 3, 6, 8, 10, 12, 13] đã tăng ISO hoặc độ phơi sáng và hiển thị với giá trị trung bình RGB cao hơn trên test_latching_plot_means.png
.
![]() |
![]() |
![]() |
|
test_latching_i=00.jpg | test_latching_i=01.jpg | test_latching_i=02.jpg | |
![]() |
![]() |
![]() |
|
test_latching_i=03.jpg | test_latching_i=04.jpg | test_latching_i=05.jpg | |
![]() |
![]() |
![]() |
|
test_latching_i=06.jpg | test_latching_i=07.jpg | test_latching_i=08.jpg | |
![]() |
![]() |
![]() |
|
test_latching_i=09.jpg | test_latching_i=10.jpg | test_latching_i=11.jpg | |
![]() |
|||
test_latching_i=12.jpg |
test_latching_plot_means.png
test_linearity
Kiểm thử để đảm bảo rằng quá trình xử lý thiết bị có thể được đảo ngược thành pixel tuyến tính. Ghi lại một trình tự các cảnh quay bằng cách hướng thiết bị vào một mục tiêu đồng nhất.
Các API đã kiểm thử:
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_SENSITIVITY_RANGE
android.hardware.camera2.CaptureRequest#BLACK_LEVEL_LOCK
android.hardware.camera2.CaptureRequest#SENSOR_SENSITIVITY
android.hardware.camera2.CaptureRequest#TONEMAP_CURVE
android.hardware.camera2.CaptureRequest#TONEMAP_MODE
Đạt: Giá trị R, G, B phải tăng tuyến tính khi độ nhạy tăng.
test_linearity_plot_means.png
test_locked_burst
Kiểm thử khoá 3A và chụp nhanh YUV (sử dụng chế độ cài đặt tự động). Bài kiểm thử này được thiết kế để vượt qua ngay cả trên các thiết bị có giới hạn không có MANUAL_SENSOR
hoặc PER_FRAME_CONTROLS
.
Quy trình kiểm thử này kiểm tra tính nhất quán của hình ảnh YUV trong khi quy trình kiểm tra tốc độ khung hình nằm trong CTS.
Các API đã kiểm thử:
android.hardware.camera2.CaptureRequest#CONTROL_AE_LOCK
android.hardware.camera2.CaptureRequest#CONTROL_AWB_LOCK
Đạt: Các ảnh chụp trông nhất quán.
test_locked_burst_frame0.jpg
test_locked_burst_frame1.jpg
test_locked_burst_frame2.jpg
test_param_color_correction
Kiểm thử để đảm bảo các tham số android.colorCorrection.*
được áp dụng khi được đặt.
Chụp ảnh với các giá trị biến đổi và độ lợi khác nhau, đồng thời kiểm tra để đảm bảo rằng các ảnh đó trông khác nhau tương ứng. Biến đổi và độ lợi được chọn để làm cho đầu ra ngày càng có màu đỏ hoặc xanh dương. Sử dụng bản đồ tông màu tuyến tính. Ánh xạ tông màu là một kỹ thuật được dùng trong quá trình xử lý hình ảnh để liên kết một nhóm màu với một nhóm màu khác nhằm ước chừng giao diện của hình ảnh có dải động cao trong một phương tiện có dải động bị hạn chế hơn.
Các API đã kiểm thử:
android.hardware.camera2.CaptureRequest#COLOR_CORRECTION_GAINS
android.hardware.camera2.CaptureRequest#COLOR_CORRECTION_MODE
android.hardware.camera2.CaptureRequest#COLOR_CORRECTION_TRANSFORM
Đạt: Giá trị R và B tăng lên theo phép biến đổi.
test_param_color_correction_plot_means.png
*Trục x là các yêu cầu chụp: 0 = thống nhất, 1=tăng cường màu đỏ, 2= tăng cường màu xanh dương
test_param_color_correction_req=0.jpg
test_param_color_correctness_req=1.jpg (Tăng cường R)
test_param_color_correction_req=2.jpg (Tăng cường B)
test_param_flash_mode
Kiểm thử việc áp dụng tham số android.flash.mode
. Đặt thủ công độ phơi sáng ở phía tối để biết rõ liệu đèn flash có được kích hoạt hay không và sử dụng bản đồ tông màu tuyến tính. Kiểm tra phần giữa bằng hình ảnh xếp kề để xem có hiệu ứng chuyển màu lớn được tạo hay không nhằm xác minh xem đèn flash có được kích hoạt hay không.
Các API đã kiểm thử:
Đạt: Trung tâm của hình ảnh thẻ thông tin có độ dốc lớn, nghĩa là đèn flash đã được kích hoạt.
test_param_flash_mode_1.jpg
test_param_flash_mode_1_tile.jpg
test_param_flash_mode_2.jpg
test_param_flash_mode_2_tile.jpg
test_param_noise_reduction
Kiểm thử để đảm bảo thông số android.noiseReduction.mode
được áp dụng đúng cách khi được đặt. Chụp ảnh khi máy ảnh có ánh sáng yếu. Sử dụng độ lợi tương tự cao để đảm bảo hình ảnh được chụp bị nhiễu. Chụp 3 hình ảnh, cho chế độ NR tắt, "nhanh" và "chất lượng cao". Ngoài ra, hãy chụp một hình ảnh có độ lợi thấp và tắt tính năng NR, đồng thời sử dụng độ biến thiên của hình ảnh này làm đường cơ sở. SNR (Tỷ lệ tín hiệu nhiễu) càng cao thì chất lượng hình ảnh càng tốt.
Các API đã kiểm thử:
Đạt: Tỷ lệ tín hiệu trên tạp âm thay đổi theo các chế độ giảm tạp âm và hoạt động tương tự như biểu đồ bên dưới.
test_param_noise_reduction_plot_SNRs.png
0: TẮT, 1: NHANH, 2: CAO, 3: TỐI THIỂU , 4: ZSL
test_param_noise_reduction_high_gain_nr=0.jpg
test_param_noise_reduction_high_gain_nr=1.jpg
test_param_noise_reduction_high_gain_nr=2.jpg
test_param_noise_reduction_high_gain_nr=3.jpg
test_param_noise_reduction_low_gain.jpg
test_param_shading_mode
Kiểm thử việc áp dụng tham số android.shading.mode
.
Các API đã kiểm thử:
android.hardware.camera2.CaptureRequest#SHADING_MODE
android.hardware.camera2.CaptureRequest#STATISTICS_LENS_SHADING_MAP_MODE
android.hardware.camera2.CaptureResult#STATISTICS_LENS_SHADING_CORRECTION_MAP
Đạt: Chế độ tô bóng được chuyển đổi và bản đồ tô bóng của ống kính được sửa đổi như dự kiến.
test_param_shading_mode_ls_maps_mode_0_loop_0.png
test_param_shading_mode_ls_maps_mode_1_loop_0.png
test_param_shading_mode_ls_maps_mode_2_loop_0.png
test_param_tonemap_mode
Kiểm thử để đảm bảo tham số android.tonemap.mode được áp dụng. Áp dụng các đường cong bản đồ tông màu khác nhau cho từng kênh R, G, B và kiểm tra để đảm bảo rằng hình ảnh đầu ra được sửa đổi như mong đợi. Bài kiểm thử này bao gồm hai bài kiểm thử, test1 và test2.
Các API đã kiểm thử:
android.hardware.camera2.CameraMetadata#TONEMAP_MODE_CONTRAST_MODE
android.hardware.camera2.CameraMetadata#TONEMAP_MODE_FAST
android.hardware.camera2.CaptureRequest#TONEMAP_CURVE
android.hardware.camera2.CaptureRequest#TONEMAP_MODE
Mật khẩu:
- test1: Cả hai hình ảnh đều có bản đồ tông màu tuyến tính, nhưng n=1 có độ dốc lớn hơn. Kênh G (xanh lục) sáng hơn đối với hình ảnh n=1.
- test2: Cùng một bản đồ tông màu, nhưng có độ dài khác nhau. Hình ảnh giống hệt nhau.
![]() |
![]() |
|
test_param_tonemap_mode_n=0.jpg | test_param_tonemap_mode_n=1.jpg |
test_post_raw_sensitivity_boost
Kiểm tra độ nhạy của ảnh RAW sau khi tăng. Chụp một tập hợp hình ảnh RAW và YUV với độ nhạy khác nhau, đăng tổ hợp tăng độ nhạy RAW và kiểm tra xem trung bình pixel đầu ra có khớp với chế độ cài đặt yêu cầu hay không.
Các API đã kiểm thử:
android.hardware.camera2.CameraCharacteristics#CONTROL_POST_RAW_SENSITIVITY_BOOST_RANGE
android.hardware.camera2.CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_RAW
android.hardware.camera2.CaptureRequest#CONTROL_POST_RAW_SENSITIVITY_BOOST
android.hardware.camera2.CaptureRequest#SENSOR_SENSITIVITY
Đạt: Hình ảnh RAW sẽ tối hơn khi độ tăng tăng lên, trong khi hình ảnh YUV vẫn giữ nguyên độ sáng
test_post_raw_sensitivity_boost_raw_s=3583_boost=0100.jpg
test_post_raw_sensitivity_boost_raw_s=1792_boost=0200.jpg
test_post_raw_sensitivity_boost_raw_s=0896_boost=0400.jpg
test_post_raw_sensitivity_boost_raw_s=0448_boost=0800.jpg
test_post_raw_sensitivity_boost_raw_s=0224_boost=1600.jpg
test_post_raw_sensitivity_boost_raw_s=0112_boost=3199.jpg
test_post_raw_sensitivity_boost_raw_plot_means.png
test_post_raw_sensitivity_boost_yuv_s=0112_boost=3199.jpg
test_post_raw_sensitivity_boost_yuv_s=0448_boost=0800.jpg
test_post_raw_sensitivity_boost_yuv_s=0896_boost=0400.jpg
test_post_raw_sensitivity_boost_yuv_s=1792_boost=0200.jpg
test_post_raw_sensitivity_boost_yuv_s=3585_boost=0100.jpg
test_post_raw_sensitivity_boost_yuv_plot_means.png
test_raw_burst_sensitivity
Chụp một nhóm hình ảnh thô với độ lợi tăng dần và đo độ nhiễu. Chỉ chụp ảnh thô, theo chế độ chụp liên tiếp.
Các API đã kiểm thử:
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_SENSITIVITY_RANGE
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_WHITE_LEVEL
android.hardware.camera2.CameraCharacteristics#SENSOR_MAX_ANALOG_SENSITIVITY
android.hardware.camera2.CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_RAW
Đạt: Mỗi cảnh quay có nhiều tạp âm hơn cảnh quay trước đó, vì độ lợi đang tăng lên.
Sử dụng phương sai của ô lưới số liệu thống kê trung tâm.
test_raw_burst_sensitivity_variance.png
test_raw_exposure
Chụp một tập hợp hình ảnh thô với thời gian phơi sáng tăng dần và đo lường giá trị pixel.
Các API đã kiểm thử:
android.hardware.camera2.CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_RAW
android.hardware.camera2.CaptureRequest#SENSOR_EXPOSURE_TIME
Đạt: Việc tăng ISO (mức tăng) giúp các pixel nhạy cảm hơn với ánh sáng, do đó, đồ thị sẽ di chuyển sang trái.
test_raw_exposure_s=55.png
(10⁰ là 1 ms, 10¹ là 10 ms, 10⁻¹ là 0,1 ms)
test_raw_exposure_s=132.png
test_raw_exposure_s=209.png
test_raw_exposure_s=286.png
test_raw_exposure_s=363.png
test_raw_exposure_s=440.png
test_raw_sensitivity
Chụp một tập hợp hình ảnh thô với độ nhạy tăng dần và đo độ nhiễu (hệ số biến thiên) ở 10% hình ảnh ở giữa. Kiểm thử để đảm bảo mỗi lần chụp đều có nhiều tạp âm hơn lần chụp trước.
Các API đã kiểm thử:
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_SENSITIVITY_RANGE
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_WHITE_LEVEL
android.hardware.camera2.CameraCharacteristics#SENSOR_MAX_ANALOG_SENSITIVITY
android.hardware.camera2.CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_RAW
Đạt: Phương sai tăng lên theo từng lần chụp.
test_raw_sensitivity_variance.png
test_reprocess_noise_reduction
Kiểm thử android.noiseReduction.mode
được áp dụng để xử lý lại các yêu cầu.
Chụp ảnh được xử lý lại khi máy ảnh có ánh sáng yếu. Sử dụng độ lợi tương tự cao để đảm bảo hình ảnh chụp bị nhiễu. Chụp 3 hình ảnh được xử lý lại, cho chế độ NR tắt, "nhanh" và "chất lượng cao". Chụp một hình ảnh được xử lý lại với độ lợi thấp và tắt tính năng Giảm nhiễu (NR), đồng thời sử dụng độ biến thiên của hình ảnh này làm đường cơ sở.
Các API đã kiểm thử:
Đạt: FAST >= OFF, HQ >= FAST, HQ >> OFF
Biểu đồ SNR điển hình so với NR_MODE
test_tonemap_sequence
Kiểm thử một chuỗi ảnh chụp với các đường cong bản đồ tông màu khác nhau. Chụp 3 ảnh thủ công bằng bản đồ tông màu tuyến tính. Chụp 3 ảnh thủ công bằng bản đồ tông màu mặc định. Tính toán delta giữa mỗi cặp khung hình liên tiếp.
Các API đã kiểm thử:
Đạt: Có 3 khung hình giống hệt nhau, theo sau là một nhóm 3 khung hình giống hệt nhau khác.
test_tonemap_sequence_i=0.jpg
test_tonemap_sequence_i=1.jpg
test_tonemap_sequence_i=2.jpg
test_tonemap_sequence_i=3.jpg
test_tonemap_sequence_i=4.jpg
test_tonemap_sequence_i=5.jpg
test_yuv_jpeg_all
Kiểm thử để đảm bảo tất cả kích thước và định dạng được báo cáo cho tính năng chụp ảnh đều hoạt động. Sử dụng yêu cầu thủ công với bản đồ tông màu tuyến tính để YUV và JPEG trông giống nhau khi được mô-đun image_processing_utils
chuyển đổi. Theo mặc định, hình ảnh sẽ không được lưu, nhưng bạn có thể lưu hình ảnh bằng cách bật debug_mode
.
Các API đã kiểm thử:
android.hardware.camera2.CaptureRequest#TONEMAP_CURVE
android.hardware.camera2.CaptureRequest#TONEMAP_MODE
android.graphics.ImageFormat#JPEG
Đạt: Tất cả các tâm hình ảnh đều có độ chênh lệch RMS (giá trị trung bình bình phương gốc của tín hiệu) tối đa trong hình ảnh được chuyển đổi RGB với 3% hình ảnh YUV có độ phân giải cao nhất.
test_yuv_jpeg_all.png
test_yuv_plus_dng
Kiểm thử để đảm bảo kích thước và định dạng được báo cáo cho tính năng chụp ảnh hoạt động.
Các API đã kiểm thử:
Đạt: Kiểm thử hoàn tất và trả về các hình ảnh được yêu cầu.
test_yuv_plus_dng.jpg
test_yuv_plus_jpeg
Kiểm thử việc chụp một khung hình dưới dạng cả đầu ra YUV và JPEG. Sử dụng yêu cầu thủ công với bản đồ tông màu tuyến tính để YUV và JPEG trông giống nhau khi được mô-đun image_processing_utils
chuyển đổi.
Các API đã kiểm thử:
android.hardware.camera2.CaptureRequest#TONEMAP_CURVE
android.hardware.camera2.CaptureRequest#TONEMAP_MODE
android.graphics.ImageFormat#JPEG
Đạt: Hình ảnh YUV và JPEG tương tự nhau và có chênh lệch RMS (giá trị trung bình bình phương gốc của tín hiệu) dưới 1%.
![]() |
![]() |
|
test_yuv_plus_jpg_jpg.jpg | test_yuv_plus_jpeg_yuv.jpg |
test_yuv_plus_raw
Kiểm thử việc chụp một khung hình dưới dạng cả đầu ra RAW/RAW10/RAW12 và YUV nếu được hỗ trợ. Sử dụng yêu cầu thủ công với bản đồ tông màu tuyến tính để dự kiến là dữ liệu thô và YUV sẽ giống nhau. So sánh giá trị RGB 10% ở giữa của hình ảnh được chuyển đổi RGB. Nhật kýandroid.shading.mode
.
Các API đã kiểm thử:
android.hardware.camera2.CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_RAW
android.hardware.camera2.CaptureResult#STATISTICS_LENS_SHADING_CORRECTION_MAP
android.hardware.camera2.CaptureRequest#COLOR_CORRECTION_MODE
android.hardware.camera2.CaptureRequest#COLOR_CORRECTION_GAINS
android.hardware.camera2.CaptureRequest#COLOR_CORRECTION_TRANSFORM
android.hardware.camera2.CaptureRequest#CONTROL_AWB_MODE
android.hardware.camera2.CaptureRequest#CONTROL_MODE
android.hardware.camera2.CaptureRequest#SHADING_MODE
android.hardware.camera2.CaptureRequest#TONEMAP_CURVE
android.hardware.camera2.CaptureRequest#TONEMAP_MODE
android.hardware.graphics.ImageFormat#RAW10
android.hardware.graphics.ImageFormat#RAW12
Đạt: Hình ảnh YUV và hình ảnh thô tương tự nhau và có chênh lệch RMS (giá trị trung bình bình phương gốc của tín hiệu) dưới 3,5%.
![]() |
![]() |
|
test_yuv_plus_raw_shading=1_raw.jpg | test_yuv_plus_raw_shading=1_yuv.jpg |
scene2_a
scene2_a có ba khuôn mặt với nền xám và trang phục trung tính. Các khuôn mặt được chọn có nhiều tông màu da. Biểu đồ phải có hướng đúng để tính năng phát hiện khuôn mặt hoạt động tối ưu.
scene2_a
test_autoframing
Kiểm thử hành vi tự động lấy khung hình của thiết bị máy ảnh. Thực hiện thu phóng lớn để không có khuôn mặt nào trong cảnh hiển thị, bật chế độ tự động lấy khung hình bằng cách đặt AUTOFRAMING
trong CaptureRequest
thành True
và xác minh xem có thể phát hiện tất cả khuôn mặt trong cảnh ban đầu hay không khi trạng thái hội tụ (tức là khi AUTOFRAMING_STATE
trong CaptureResult
được đặt thành AUTOFRAMING_STATE_CONVERGED
).
Các API đã kiểm thử:
android.hardware.camera2.CameraCharacteristics#CONTROL_AUTOFRAMING_AVAILABLE
android.hardware.camera2.CaptureRequest#CONTROL_AUTOFRAMING
android.hardware.camera2.CaptureResult#CONTROL_AUTOFRAMING
android.hardware.camera2.CaptureResult#CONTROL_AUTOFRAMING_STATE
Đạt: Cả 3 khuôn mặt đều được phát hiện.
test_display_p3
Kiểm thử tính năng chụp Display P3 ở định dạng JPEG bằng API ColorSpaceProfiles
. Kiểm thử để đảm bảo rằng JPEG đã chụp có hồ sơ ICC thích hợp trong tiêu đề và hình ảnh chứa các màu nằm ngoài gam màu sRGB.
Các API đã kiểm thử:
android.hardware.camera2.params.ColorSpaceProfiles
android.hardware.camera2.params.SessionConfiguration#setColorSpace
Đạt: Tệp JPEG chứa cấu hình ICC Display P3 và các màu nằm ngoài gam màu sRGB.
test_effects
Chụp khung hình cho các hiệu ứng máy ảnh được hỗ trợ và kiểm tra xem các hiệu ứng đó có được tạo chính xác hay không. Quy trình kiểm thử chỉ kiểm tra các hiệu ứng OFF
và MONO
, nhưng lưu hình ảnh cho tất cả các hiệu ứng được hỗ trợ.
Các API đã kiểm thử:
android.hardware.camera2.CameraCharacteristics#CONTROL_AVAILABLE_EFFECTS
android.hardware.camera2.CaptureRequest#CONTROL_EFFECT_MODE
Chuyển: Chụp ảnh cảnh có hiệu ứng OFF
và ảnh đơn sắc với hiệu ứng được đặt thành MONO
.
test_effects_MONO.jpg
test_format_combos
Kiểm thử nhiều kiểu kết hợp định dạng đầu ra.
Các API đã kiểm thử:
android.hardware.camera2.CameraCharacteristics#SCALER_STREAM_CONFIGURATION_MAP
android.hardware.camera2.params.StreamConfigurationMap#getOutputSizes()
android.hardware.camera2.CameraCaptureSession#captureBurst()
Đạt: Tất cả các tổ hợp đều được ghi lại thành công.
test_num_faces
Kiểm thử tính năng phát hiện khuôn mặt.
Các API đã kiểm thử:
android.hardware.camera2.CaptureResult#STATISTICS_FACES
android.hardware.camera2.CaptureResult#STATISTICS_FACE_DETECT_MODE
Đạt: Tìm thấy 3 khuôn mặt.
test_num_faces_fd_mode_1.jpg
test_reprocess_uv_swap
Kiểm thử để đảm bảo rằng quá trình xử lý lại YUV không hoán đổi các mặt phẳng U và V. Điều này được phát hiện bằng cách tính tổng chênh lệch tuyệt đối (SAD) giữa hình ảnh được xử lý lại và ảnh chụp không được xử lý lại. Nếu việc hoán đổi các mặt phẳng U và V đầu ra của ảnh chụp được xử lý lại làm tăng SAD, thì đầu ra được giả định là có các mặt phẳng U và V chính xác.
Các API đã kiểm thử:
android.hardware.camera2.CameraDevice#createCaptureSession
android.hardware.camera2.CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_YUV_REPROCESSING
android.hardware.camera2.CaptureRequest#EDGE_MODE
android.hardware.camera2.CaptureResult#NOISE_REDUCTION_MODE
Đạt: Các mặt phẳng U và V không bị hoán đổi.
test_reprocess_uv_swap.png
scene2_b
test_num_faces
Kiểm thử tính năng phát hiện khuôn mặt với nhiều màu da hơn trong các cảnh có khuôn mặt.
Các API đã kiểm thử:
android.hardware.camera2.CaptureResult#STATISTICS_FACES
android.hardware.camera2.CaptureResult#STATISTICS_FACE_DETECT_MODE
Đạt: Tìm thấy 3 khuôn mặt.
test_num_faces_fd_mode_1.jpg
test_yuv_jpeg_capture_sameness
Chụp hai hình ảnh bằng các định dạng YUV và JPEG phổ biến lớn nhất có cùng tỷ lệ khung hình với định dạng JPEG lớn nhất không vượt quá độ phân giải 1920x1440.
Đặt jpeg.quality
thành 100 và ghi lại yêu cầu về nền tảng kép. Chuyển đổi cả hai hình ảnh thành mảng RGB và tính toán chênh lệch trung bình bình phương căn bậc hai (RMS) 3D giữa hai hình ảnh.
Ngoài ra, quy trình kiểm thử này xác minh rằng đầu ra YUV cho tất cả các trường hợp sử dụng luồng được hỗ trợ đều tương tự như YUV với trường hợp sử dụng STILL_CAPTURE
.
Các API đã kiểm thử:
android.hardware.camera2.CameraCharacteristics#SCALER_AVAILABLE_STREAM_USE_CASES
android.hardware.camera2.CaptureRequest#JPEG_QUALITY
android.graphics.ImageFormat#JPEG
Đạt: Hình ảnh YUV và JPEG cho trường hợp sử dụng STILL_CAPTURE
có chênh lệch RMS (giá trị trung bình bình phương gốc của tín hiệu) dưới 3%; hình ảnh YUV cho tất cả trường hợp sử dụng được hỗ trợ có chênh lệch RMS dưới 10% so với hình ảnh YUV với trường hợp sử dụng STILL_CAPTURE
.
scene2_c
test_num_faces
Kiểm thử tính năng phát hiện khuôn mặt với nhiều màu da hơn trong các cảnh có khuôn mặt.
Các API đã kiểm thử:
android.hardware.camera2.CaptureResult#STATISTICS_FACES
android.hardware.camera2.CaptureResult#STATISTICS_FACE_DETECT_MODE
Đạt: Tìm thấy 3 khuôn mặt.
test_num_faces_fd_mode_1.jpg
test_jpeg_capture_perf_class
Kiểm thử độ trễ chụp ảnh JPEG cho lớp hiệu suất S như được chỉ định trong mục 2.2.7.2 Máy ảnh trong CDD.
Đạt: PHẢI có độ trễ chụp ảnh JPEG camera2 < 1000 mili giây đối với độ phân giải 1080p được đo bằng PerformanceTest của máy ảnh CTS trong điều kiện chiếu sáng ITS (3000K) cho cả hai camera chính.
test_camera_launch_perf_class
Kiểm thử độ trễ khởi chạy máy ảnh cho lớp hiệu suất S như được chỉ định trong mục 2.2.7.2 Máy ảnh trong CDD.
Đạt: PHẢI có độ trễ khởi động camera2 (mở camera đến khung xem trước đầu tiên) < 600 mili giây theo đo lường của PerformanceTest camera CTS trong điều kiện chiếu sáng ITS (3000K) cho cả hai camera chính.
test_default_camera_hdr
Kiểm thử để đảm bảo rằng chế độ chụp mặc định của máy ảnh là Ultra HDR cho lớp hiệu suất 15 như được chỉ định trong mục 2.2.7.2 Máy ảnh của CDD.
Đạt: Tính năng chụp gói máy ảnh mặc định PHẢI là Ultra HDR đối với thiết bị thuộc lớp hiệu suất 15.
scene2_d
test_num_faces
Kiểm thử tính năng phát hiện khuôn mặt với nhiều màu da hơn trong các cảnh có khuôn mặt.
Các API đã kiểm thử:
android.hardware.camera2.CaptureResult#STATISTICS_FACES
android.hardware.camera2.CaptureResult#STATISTICS_FACE_DETECT_MODE
Đạt: Tìm thấy 3 khuôn mặt.
scene2_e
test_continuous_picture
50 khung hình có độ phân giải VGA được chụp bằng chế độ cài đặt yêu cầu chụp đầu tiên
android.control.afMode = 4 (CONTINUOUS_PICTURE).
Các API đã kiểm thử:
android.hardware.camera2.CaptureRequest#CONTROL_AF_MODE
android.hardware.camera2.CaptureResult#CONTROL_AE_STATE
android.hardware.camera2.CaptureResult#CONTROL_AF_STATE
android.hardware.camera2.CaptureResult#CONTROL_AWB_STATE
Đạt: Hệ thống 3A ổn định khi kết thúc quá trình chụp 50 khung hình.
test_num_faces
Kiểm thử tính năng phát hiện khuôn mặt với nhiều màu da hơn trong các cảnh có khuôn mặt.
Các API đã kiểm thử:
android.hardware.camera2.CaptureResult#STATISTICS_FACES
android.hardware.camera2.CaptureResult#STATISTICS_FACE_DETECT_MODE
Đạt: Tìm thấy 3 khuôn mặt.
scene2_f
scene2_f có ba khuôn mặt với nền màu trắng và quần áo màu trắng. Khuôn mặt có nhiều tông màu da và độ tương phản cao với nền.
scene2_f
test_num_faces
Kiểm thử tính năng phát hiện khuôn mặt với nhiều màu da hơn trong các cảnh có khuôn mặt.
Các API đã kiểm thử:
android.hardware.camera2.CaptureResult#STATISTICS_FACES
android.hardware.camera2.CaptureResult#STATISTICS_FACE_DETECT_MODE
Đạt: Tìm thấy 3 khuôn mặt.
test_num_faces_fd_mode_1.jpg
scene3
Scene3 sử dụng biểu đồ ISO12233 và hầu hết các bài kiểm thử đều sử dụng phương thức trích xuất biểu đồ để tìm biểu đồ trong cảnh. Vì lý do này, hầu hết hình ảnh đã lưu không có đường viền như hình ảnh cho cảnh 1, 2 hoặc 4, mà chỉ có biểu đồ. Biểu đồ phải ở đúng hướng để công cụ tìm biểu đồ hoạt động tối ưu.
test_edge_enhancement
Kiểm thử để đảm bảo thông số android.edge.mode
được áp dụng đúng cách. Ghi lại hình ảnh không qua xử lý lại cho mỗi chế độ cạnh và trả về độ sắc nét của hình ảnh đầu ra cũng như siêu dữ liệu kết quả chụp. Xử lý yêu cầu chụp bằng một chế độ cạnh, độ nhạy, thời gian phơi sáng, khoảng cách lấy nét và tham số bề mặt đầu ra nhất định.
Đạt: Chế độ HQ
(2) sắc nét hơn chế độ OFF
(0). Chế độ FAST
(1) sắc nét hơn chế độ OFF
. Chế độ HQ
sắc nét hơn hoặc bằng chế độ FAST
.
Các API đã kiểm thử:
Các tham số máy ảnh bị ảnh hưởng:
EDGE_MODE
test_edge_enhancement_edge=0.jpg
test_edge_enhancement_edge=1.jpg (chế độ nhanh)
test_edge_enhancement_edge=2.jpg (chế độ chất lượng cao)
test_flip_mirror
Kiểm tra xem hình ảnh có được định hướng đúng cách theo mục 7.5.2 của CDD về Máy ảnh mặt trước [C-1-5] hay không.
Bạn có thể xác định hình ảnh được phản chiếu, lật hoặc xoay bằng tính năng hình kim cương gần giữa hình ảnh.
Đạt: Hình ảnh không bị lật, phản chiếu hoặc xoay.
test_flip_mirror_scene_patch.jpg
test_imu_drift
Kiểm tra xem đơn vị đo lường quán tính (IMU) có đầu ra ổn định trong 30 giây hay không trong khi thiết bị đứng yên và chụp bản xem trước có độ phân giải cao.
Các API đã kiểm thử:
android.hardware.Sensor
android.hardware.SensorEvent
android.hardware.Sensor#TYPE_GYROSCOPE
android.hardware.Sensor#TYPE_ROTATION_VECTOR
Mật khẩu:
- Độ lệch của con quay hồi chuyển ít hơn 0,01 rad trong thời gian thử nghiệm.
- Độ lệch của chỉ số con quay hồi chuyển nhỏ hơn 1E-7 rad2/s2/Hz trong thời gian kiểm thử.
- Độ lệch của vectơ xoay nhỏ hơn 0,01 rad trong thời gian kiểm thử.
- (Chưa bắt buộc) độ lệch của con quay hồi chuyển dưới 1 độ/giây.
test_imu_drift_gyro_drift.png
test_imu_drift_rotation_vector_drift.png
test_landscape_to_portrait
Kiểm thử xem chế độ ghi đè từ ngang sang dọc có hoạt động đúng cách cho các cảm biến hướng ngang hay không.
Các API đã kiểm thử:
android.hardware.camera2.CameraCharacteristics#SCALER_AVAILABLE_ROTATE_AND_CROP_MODES
android.hardware.camera2.CameraCharacteristics#SENSOR_ORIENTATION
android.hardware.camera2.CameraCharacteristics#getCameraCharacteristics
Đạt: Kiểm thử có thể xác định vị trí của một biểu đồ có độ xoay dự kiến (0 độ khi chế độ ghi đè từ ngang sang dọc bị tắt, 90 độ khi chế độ này được bật).
test_landscape_to_portrait.png
test_lens_movement_reporting
Kiểm tra xem cờ chuyển động của ống kính có được báo cáo đúng cách hay không. Chụp một loạt 24 hình ảnh với 12 khung hình đầu tiên ở khoảng cách lấy nét tối ưu (do 3A tìm thấy) và 12 khung hình cuối cùng ở khoảng cách lấy nét tối thiểu. Ở khoảng khung hình 12, ống kính di chuyển khiến độ sắc nét giảm. Cuối cùng, độ sắc nét sẽ ổn định khi kính di chuyển đến vị trí cuối cùng. Bạn nên xác nhận cờ chuyển động của ống kính trong tất cả các khung hình có độ sắc nét trung bình đến độ sắc nét trong vài khung hình đầu tiên với ống kính đứng yên ở khoảng cách tiêu cự tối ưu và vài khung hình cuối cùng với ống kính đứng yên ở khoảng cách tiêu cự tối thiểu. Khung chính xác mà ống kính di chuyển không quan trọng: điều được kiểm tra là cờ chuyển động được xác nhận khi ống kính đang di chuyển.
Các API đã kiểm thử:
android.hardware.camera2.CameraCharacteristics#LENS_INFO_MINIMUM_FOCUS_DISTANCE
android.hardware.camera2.CaptureResult#LENS_STATE
android.hardware.camera2.CaptureResult#LENS_FOCUS_DISTANCE
android.hardware.camera2.CaptureResult#SENSOR_TIMESTAMP
android.hardware.camera2.CaptureRequest#LENS_FOCUS_DISTANCE
Đạt: Cờ chuyển động của ống kính là True
trong khung có sự thay đổi về độ sắc nét.
Cơ chế không thành công:
lens_moving: True
(android.hardware.camera2.CaptureResult#LENS_STATE
= 1) trongtest_log.DEBUG
chỉ được xác nhận trong các khung hình mà độ sắc nét không thay đổi.- Các khung hình có
lens_moving: False
(android.hardware.camera2.CaptureResult#LENS_STATE
= 0) trongtest_log.DEBUG
có độ sắc nét khác so với vài khung hình đầu tiên ở khoảng cách tiêu cự tối ưu hoặc vài khung hình cuối cùng ở khoảng cách tiêu cự tối thiểu.
test_reprocess_edge_enhancement
Kiểm thử xem các phương thức xử lý lại được hỗ trợ để tăng cường cạnh có hoạt động đúng cách hay không. Xử lý yêu cầu chụp bằng một chế độ cạnh xử lý lại nhất định và so sánh các chế độ chụp khác với chế độ cạnh xử lý lại bị tắt.
Các API đã kiểm thử:
android.hardware.camera2.CaptureRequest#EDGE_MODE
android.hardware.camera2.CaptureRequest#REPROCESS_EFFECTIVE_EXPOSURE_FACTOR
Đạt: Độ sắc nét cho các chế độ cạnh là chính xác. HQ
(chế độ 2) sắc nét hơn OFF
(chế độ 0) và mức độ cải thiện giữa các chế độ cũng tương tự nhau.
test_reprocess_edge_enhancement_plot.png
scene4
Scene4 bao gồm một vòng tròn màu đen trên nền trắng bên trong một hình vuông.
Các kiểm thử trong scene4 có thể nhạy cảm với việc căn chỉnh, vì vậy, bắt đầu từ phiên bản 15, bạn có thể sử dụng check_alignment.py
trong thư mục công cụ để bật tính năng kiểm tra DUT và căn chỉnh biểu đồ.
scene4
test_30_60fps_preview_fov_match
Kiểm thử để đảm bảo rằng video xem trước ở tốc độ 30 FPS và 60 FPS có cùng FoV. Quy trình kiểm thử sẽ quay hai video, một video có tốc độ 30 khung hình/giây và một video có tốc độ 60 khung hình/giây. Một khung hình đại diện được chọn từ mỗi video và được phân tích để đảm bảo rằng các thay đổi về FoV trong hai video nằm trong thông số kỹ thuật. Kiểm thử để đảm bảo tỷ lệ khung hình của vòng tròn không đổi, tâm của vòng tròn vẫn ổn định và bán kính của vòng tròn không đổi.
Các API đã kiểm thử:
android.hardware.camera2.CaptureRequest#CONTROL_AE_TARGET_FPS_RANGE
android.hardware.camera2.CaptureRequest#SENSOR_FRAME_DURATION
android.hardware.camera2.CaptureRequest#SENSOR_EXPOSURE_TIME
android.hardware.camera2.CaptureResult#LENS_DISTORTION
android.hardware.camera2.CaptureResult#LENS_FOCAL_LENGTH
android.hardware.camera2.CaptureResult#LENS_INTRINSIC_CALIBRATION
Đạt: Hình ảnh không bị kéo giãn, tâm của hình ảnh không khác nhau quá 3% và tỷ lệ khung hình thay đổi tối đa giữa video 30 FPS và 60 FPS không quá 7,5%
Cơ chế không thành công:
- Kích thước của vòng tròn trong video 30 khung hình/giây khác biệt đáng kể so với video 60 khung hình/giây.
- Vòng tròn trong hình ảnh được chụp bị méo do quy trình xử lý.
- Vòng tròn trong hình ảnh được chụp bị cắt do yêu cầu chụp có tỷ lệ khung hình cực đại làm giảm chiều cao hoặc chiều rộng của hình ảnh.
- Vòng tròn trong hình ảnh được chụp có hình ảnh phản chiếu ở giữa và không được tô kín hoàn toàn.
test_aspect_ratio_and_crop
Kiểm thử xem hình ảnh có bị biến dạng hoặc bị cắt ngoài dự kiến trong quy trình xử lý hình ảnh hay không. Chụp ảnh một vòng tròn trên tất cả định dạng. Xác minh rằng vòng tròn không bị méo, không di chuyển khỏi tâm hình ảnh và không thay đổi kích thước không chính xác với các tỷ lệ khung hình hoặc độ phân giải khác nhau.
Các API đã kiểm thử:
android.hardware.camera2.CaptureResult#LENS_DISTORTION
android.hardware.camera2.CaptureResult#LENS_FOCAL_LENGTH
android.hardware.camera2.CaptureResult#LENS_INTRINSIC_CALIBRATION
Đạt: Hình ảnh không bị kéo giãn, trung tâm của hình ảnh không khác nhau quá 3% và FoV (góc nhìn) tối đa có thể được giữ nguyên.
Cơ chế không thành công:
- Máy ảnh không được căn chỉnh với vòng tròn hiển thị trên máy tính bảng ở chính giữa cảnh được chụp.
- Vòng tròn trong hình ảnh được chụp bị méo do quy trình xử lý.
- Hình ảnh có độ phân giải thấp hơn được cắt đôi trong quy trình xử lý hình ảnh, tạo ra FoV khác nhau giữa hình ảnh có độ phân giải cao và thấp.
- Vòng tròn trong hình ảnh được chụp bị cắt do yêu cầu chụp có tỷ lệ khung hình cực đại làm giảm chiều cao hoặc chiều rộng của hình ảnh.
- Vòng tròn trong hình ảnh được chụp có hình ảnh phản chiếu ở giữa và không được tô kín hoàn toàn.
test_multi_camera_alignment
Kiểm thử các thông số hiệu chuẩn máy ảnh liên quan đến vị trí đặt máy ảnh cho hệ thống nhiều máy ảnh. Sử dụng máy ảnh phụ vật lý nhiều máy ảnh, chụp ảnh bằng một trong các máy ảnh vật lý. Tìm tâm của vòng tròn. Ánh xạ tâm vòng tròn đến toạ độ thế giới cho mỗi máy ảnh. So sánh sự khác biệt giữa tâm vòng tròn của các máy ảnh theo toạ độ thế giới. Dựng lại toạ độ thế giới trở lại toạ độ pixel và so sánh với toạ độ gốc dưới dạng một quy trình kiểm tra tính hợp lệ. So sánh kích thước vòng tròn để kiểm tra xem tiêu cự của các máy ảnh có khác nhau hay không.
Các API đã kiểm thử:
android.hardware.camera2.CameraCharacteristics#getPhysicalCameraIds()
android.hardware.camera2.CameraCharacteristics#LENS_DISTORTION
android.hardware.camera2.CameraCharacteristics#LENS_INFO_AVAILABLE_FOCAL_LENGTHS
android.hardware.camera2.CameraCharacteristics#LENS_INTRINSIC_CALIBRATION
android.hardware.camera2.CameraCharacteristics#LENS_POSE_ROTATION
android.hardware.camera2.CameraCharacteristics#LENS_POSE_TRANSLATION
android.hardware.camera2.CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_LOGICAL_MULTI_CAMERA
android.hardware.camera2.CaptureRequest#SCALER_CROP_REGION
android.hardware.camera2.CaptureRequest#DISTORTION_CORRECTION_MODE
Đạt: Tâm và kích thước của vòng tròn như dự kiến trong hình ảnh được chiếu so với hình ảnh được chụp bằng dữ liệu hiệu chuẩn máy ảnh và tiêu cự.
Cơ chế không thành công:
LENS_INTRINSIC_CALIBRATION
,LENS_POSE_TRANSLATION
hoặcLENS_POSE_ROTATION
là các giá trị thiết kế chứ không phải dữ liệu hiệu chuẩn thực tế.- Hệ thống máy ảnh không phù hợp với chế độ thiết lập kiểm thử. Ví dụ: kiểm thử hệ thống máy ảnh góc rộng và góc siêu rộng bằng giàn thử nghiệm RFoV. Để biết thêm thông tin, hãy xem Câu hỏi thường gặp 1 về giải pháp ITS-in-a-box cho máy ảnh.
test_preview_aspect_ratio_and_crop
Tương tự như kiểm thử test_aspect_ratio_and_crop cho ảnh tĩnh, kiểm thử này sẽ kiểm tra các định dạng xem trước được hỗ trợ để đảm bảo khung xem trước không bị kéo giãn hoặc cắt không phù hợp. Xác minh rằng tỷ lệ khung hình của vòng tròn không thay đổi, hình ảnh được cắt giữ vòng tròn ở giữa khung và kích thước vòng tròn không thay đổi đối với định dạng không đổi hoặc với độ phân giải khác nhau (kiểm tra trường nhìn).
Các API đã kiểm thử:
android.hardware.camera2.CaptureResult#LENS_DISTORTION
android.hardware.camera2.CaptureResult#LENS_FOCAL_LENGTH
android.hardware.camera2.CaptureResult#LENS_INTRINSIC_CALIBRATION
android.hardware.camera2.CameraCharacteristics#SCALAR_AVAILABLE_CAPABILITIES_STREAM_USE_CASES
android.media.MediaRecorder
android.media.CamcorderProfile
Đạt: Hình ảnh không bị kéo giãn, trung tâm của hình ảnh không khác nhau quá 3% và FoV (góc nhìn) tối đa có thể được giữ nguyên.
test_preview_stabilization_fov
Kiểm tra các kích thước xem trước được hỗ trợ để đảm bảo FoV được cắt bớt phù hợp.
Thử nghiệm này sẽ quay hai video, một video có tính năng ổn định khi xem trước ON
và một video khác có tính năng ổn định khi xem trước OFF
. Một khung hình đại diện được chọn từ mỗi video và được phân tích để đảm bảo rằng các thay đổi về FoV trong hai video nằm trong thông số kỹ thuật.
Các API đã kiểm thử:
android.hardware.camera2.CameraCharacteristics#SCALAR_AVAILABLE_CAPABILITIES_STREAM_USE_CASES
android.media.MediaRecorder
android.media.CamcorderProfile
Đạt: Tỷ lệ khung hình của vòng tròn vẫn giữ nguyên, vị trí trung tâm của vòng tròn vẫn ổn định và kích thước của vòng tròn thay đổi không quá 20%.
test_video_aspect_ratio_and_crop
Quay video một vòng tròn bên trong một hình vuông trên tất cả định dạng video. Trích xuất các khung hình chính và xác minh tỷ lệ khung hình của vòng tròn không thay đổi, hình ảnh được cắt giữ vòng tròn ở giữa và kích thước vòng tròn không thay đổi đối với định dạng không đổi hoặc có độ phân giải khác nhau (kiểm tra trường nhìn).
Các API đã kiểm thử:
android.hardware.camera2.CameraCharacteristics#SCALAR_AVAILABLE_CAPABILITIES_STREAM_USE_CASES
android.hardware.camera2.CaptureResult#LENS_DISTORTION
android.hardware.camera2.CaptureResult#LENS_FOCAL_LENGTH
android.hardware.camera2.CaptureResult#LENS_INTRINSIC_CALIBRATION
android.media.MediaRecorder
android.media.CamcorderProfile
Đạt: Khung hình video không bị kéo giãn, tâm của khung hình không khác nhau quá 3% và FoV (góc nhìn) tối đa có thể được giữ nguyên.
scene5
Scene5 yêu cầu một cảnh màu xám được chiếu sáng đồng đều. Điều này được thực hiện bằng một bộ khuếch tán đặt trên ống kính máy ảnh. Bạn nên dùng bộ khuếch tán sau:
www.edmundoptics.com/optics/window-diffusers/optical-diffusers/opal-diffusing-glass/46168
.
Để chuẩn bị cảnh quay, hãy gắn một bộ khuếch tán trước máy ảnh và hướng máy ảnh về phía nguồn sáng có độ sáng khoảng 2000 lux. Hình ảnh được chụp cho cảnh 5 yêu cầu ánh sáng khuếch tán mà không có đặc điểm rõ ràng. Sau đây là hình ảnh mẫu:
cảnh quay 5
test_lens_shading_and_color_uniformity
Kiểm thử để đảm bảo rằng tính năng chỉnh sửa bóng của ống kính được áp dụng đúng cách và màu sắc của cảnh đồng nhất đơn sắc được phân phối đồng đều. Thực hiện kiểm thử này trên khung hình YUV có 3A tự động. Hiệu ứng đổ bóng ống kính được đánh giá dựa trên kênh y. Đo lường giá trị y trung bình cho mỗi khối mẫu được chỉ định và xác định giá trị đạt hoặc không đạt bằng cách so sánh với giá trị y trung tâm. Kiểm thử độ đồng nhất màu được đánh giá trong không gian r/g và b/g.
Các API đã kiểm thử:
android.hardware.camera2.CaptureRequest#CONTROL_AE_MODE
android.hardware.camera2.CaptureRequest#CONTROL_AWB_MODE
Đạt: Tại bán kính đã chỉ định của hình ảnh, độ biến thiên của giá trị r/g và b/g phải nhỏ hơn 20% để vượt qua bài kiểm thử.
scene6
Scene6 là một lưới gồm các vòng tròn nhỏ với một hình vuông ở một góc để cho biết hướng. Bạn cần có các vòng tròn nhỏ để kiểm thử chức năng thu phóng trên một phạm vi lớn.
Các chương trình kiểm thử trong scene6 có thể nhạy cảm với việc căn chỉnh, vì vậy, bắt đầu từ phiên bản 15, bạn có thể sử dụng check_alignment.py
trong thư mục công cụ để bật tính năng kiểm tra DUT và căn chỉnh biểu đồ.
scene6
test_in_sensor_zoom
Kiểm thử hành vi của tính năng thu phóng trong cảm biến của máy ảnh, tạo ra hình ảnh RAW đã cắt.
Với trường hợp sử dụng luồng được đặt thành CROPPED_RAW
, quy trình kiểm thử sẽ chụp hai lần trong phạm vi thu phóng, một hình ảnh RAW có trường nhìn đầy đủ (FoV) và một hình ảnh RAW đã cắt. Quy trình kiểm thử này chuyển đổi hình ảnh thành mảng RGB, giảm kích thước hình ảnh RAW đã cắt ở kích thước đầy đủ xuống kích thước do SCALER_RAW_CROP_REGION
báo cáo và tính toán chênh lệch trung bình gốc vuông (RMS) 3D giữa hai hình ảnh.
Các API đã kiểm thử:
android.hardware.camera2.CameraCharacteristics#CONTROL_ZOOM_RATIO_RANGE
android.hardware.camera2.CameraCharacteristics#SCALAR_AVAILABLE_CAPABILITIES_STREAM_USE_CASES
android.hardware.camera2.CameraMetadata#SCALER_AVAILABLE_STREAM_USE_CASES_CROPPED_RAW
android.hardware.camera2.CaptureRequest#CONTROL_ZOOM_RATIO
android.hardware.camera2.CaptureResult#SCALER_RAW_CROP_REGION
Đạt: Độ lệch trung bình gốc (RMS) 3D giữa hình ảnh RAW được cắt theo tỷ lệ và hình ảnh RAW FoV đầy đủ nhỏ hơn ngưỡng được đặt trong kiểm thử.
test_zoom
Kiểm thử hành vi thu phóng của máy ảnh. Chụp ảnh trong phạm vi thu phóng và kiểm tra xem các vòng tròn có lớn hơn khi máy ảnh thu phóng hay không. Đối với mỗi định dạng (YUV, JPEG), cùng một phiên chụp ảnh sẽ được dùng để hội tụ 3A và chụp ảnh.
Các API đã kiểm thử:
android.hardware.camera2.CameraCharacteristics#CONTROL_ZOOM_RATIO_RANGE
android.hardware.camera2.CameraCharacteristics#LENS_INFO_AVAILABLE_FOCAL_LENGTHS
android.hardware.camera2.CaptureRequest#CONTROL_ZOOM_RATIO
android.hardware.camera2.CaptureResult#LENS_FOCAL_LENGTH
Đạt: Kích thước tương đối của vòng tròn được chụp chính xác so với tỷ lệ thu phóng được yêu cầu để đảm bảo máy ảnh đang thu phóng chính xác.
test_zoom để tìm đường viền của vòng tròn gần trung tâm nhất.
test_low_latency_zoom
Kiểm thử hành vi thu phóng có độ trễ thấp của máy ảnh. Chụp ảnh trong phạm vi thu phóng bằng android.control.settingsOverride = 1 (SETTINGS_OVERRIDE_ZOOM)
và kiểm tra xem các vòng tròn trong hình ảnh đầu ra có khớp với tỷ lệ thu phóng trong siêu dữ liệu chụp hay không. Cùng một phiên chụp ảnh được dùng để hội tụ 3A và chụp ảnh.
Các API đã kiểm thử:
android.hardware.camera2.CameraCharacteristics#CONTROL_AVAILABLE_SETTINGS_OVERRIDES
android.hardware.camera2.CameraCharacteristics#CONTROL_ZOOM_RATIO_RANGE
android.hardware.camera2.CaptureRequest#CONTROL_SETTINGS_OVERRIDE
android.hardware.camera2.CaptureRequest#CONTROL_ZOOM_RATIO
android.hardware.camera2.CaptureResult#CONTROL_SETTINGS_OVERRIDE
Đạt: Kích thước tương đối của vòng tròn được chụp chính xác so với siêu dữ liệu kết quả tỷ lệ thu phóng.
test_preview_video_zoom_match
Kiểm thử để đảm bảo rằng trong khi quay video và thu phóng, bản xem trước video và đầu ra video sẽ hiển thị và ghi lại cùng một kết quả. Tính toán kích thước của vòng tròn gần tâm nhất ở các tỷ lệ thu phóng khác nhau và kiểm tra xem kích thước của vòng tròn có tăng lên khi tỷ lệ thu phóng tăng lên hay không.
Các API đã kiểm thử:
android.hardware.camera2.CameraCharacteristics#CONTROL_ZOOM_RATIO_RANGE
android.hardware.camera2.CameraCharacteristics#LENS_INFO_AVAILABLE_FOCAL_LENGTHS
android.hardware.camera2.CaptureRequest#CONTROL_ZOOM_RATIO
android.hardware.camera2.CaptureResult#LENS_FOCAL_LENGTH
Đạt: Kích thước tương đối của vòng tròn được chụp chính xác so với tỷ lệ thu phóng được yêu cầu trong video và bản xem trước.
VGA_640x480_key_frame.png (trước khi phóng to)
preview_640x480_key_frame.png (trước khi thu phóng)
VGA_640x480_key_frame.png (sau khi thu phóng)
preview_640x480_key_frame.png (sau khi thu phóng)
test_preview_zoom
Kiểm thử tỷ lệ thu phóng của mỗi khung xem trước khớp với siêu dữ liệu chụp tương ứng. Quy trình kiểm thử sẽ lấy các khung xem trước trong phạm vi thu phóng và tìm đường viền của vòng tròn gần tâm nhất. Sau đó, kiểm thử sẽ kiểm tra để đảm bảo rằng vòng tròn đã chọn lớn hơn và tâm của vòng tròn di chuyển ra khỏi tâm của hình ảnh khi máy ảnh thu phóng.
Các API đã kiểm thử:
android.hardware.camera2.CameraCharacteristics#CONTROL_ZOOM_RATIO_RANGE
android.hardware.camera2.CameraCharacteristics#LENS_INFO_AVAILABLE_FOCAL_LENGTHS
android.hardware.camera2.CaptureRequest#CONTROL_ZOOM_RATIO
android.hardware.camera2.CaptureResult#LENS_FOCAL_LENGTH
Đạt: Kích thước tương đối của vòng tròn đã chọn là chính xác đối với tỷ lệ thu phóng được báo cáo của kết quả chụp tương ứng cho tất cả các khung xem trước. Khoảng cách tương đối của vòng tròn đã chọn từ tâm hình ảnh là chính xác đối với tỷ lệ thu phóng được báo cáo của kết quả chụp tương ứng của tất cả các khung xem trước.
hình ảnh test_preview_zoom cho thấy vòng tròn được chọn gần trung tâm nhất
test_session_characteristics_zoom
Kiểm thử phạm vi tỷ lệ thu phóng cho tất cả cấu hình phiên được hỗ trợ được liệt kê trong CameraCharacteristics#INFO_SESSION_CONFIGURATION_QUERY_VERSION
.
Đối với mỗi cấu hình đó, nếu CameraDeviceSetup#isSessionConfigurationSupported
trả về giá trị true, thì quy trình kiểm thử sẽ xác minh rằng bạn có thể đạt được phạm vi tỷ lệ thu phóng được trả về trong CameraDeviceSetup#getSessionCharacteristics
.
Các API đã kiểm thử:
android.hardware.camera2.CameraCharacteristics#INFO_SESSION_CONFIGURATION_QUERY_VERSION
android.hardware.camera2.CameraDevice.CameraDeviceSetup#isSessionConfigurationSupported
android.hardware.camera2.CameraDevice.CameraDeviceSetup#getSessionCharacteristics
Đạt: Bạn có thể đạt được cả tỷ lệ thu phóng tối thiểu và tối đa cho mỗi SessionConfiguration
được hỗ trợ được liệt kê trong CameraCharacteristics#INFO_SESSION_CONFIGURATION_QUERY_VERSION
.
scene7
Scene7 là một khung hình chữ nhật được chia thành 4 góc phần tư bằng nhau, mỗi góc phần tư được tô bằng một màu khác nhau. Ở giữa hình chữ nhật là biểu đồ cạnh nghiêng để kiểm tra độ sắc nét. Bốn điểm đánh dấu ArUco được căn chỉnh với bốn góc ngoài của hình chữ nhật để hỗ trợ lấy toạ độ chính xác của khung hình chữ nhật chính ở các tỷ lệ thu phóng khác nhau.
scene7
test_multi_camera_switch
Thử nghiệm này xác minh rằng trong quá trình quay video xem trước ở nhiều tỷ lệ thu phóng, việc chuyển đổi giữa ống kính siêu rộng (UW) và ống kính rộng (W) sẽ dẫn đến các giá trị RGB tương tự nhau.
Quy trình kiểm thử sử dụng nhiều tỷ lệ thu phóng trong phạm vi đã xác định trước để thực hiện việc quay video xem trước động và xác định thời điểm máy ảnh thực thay đổi. Điểm này đánh dấu điểm chuyển đổi từ ống kính UW sang ống kính W.
Các khung hình được chụp tại và trước điểm chuyển đổi được phân tích để biết độ phơi sáng tự động (AE), cân bằng trắng tự động (AWB) và tự động lấy nét (AF).
Quy trình kiểm tra AE đảm bảo rằng độ thay đổi của độ chói nằm trong phạm vi dự kiến cho cả hình ảnh chụp bằng ống kính UW và W. Quy trình kiểm tra AWB xác minh rằng tỷ lệ R/G và B/G nằm trong các giá trị ngưỡng cho cả hình ảnh chụp bằng ống kính UW và W. Tính năng kiểm tra AF đánh giá giá trị ước tính độ sắc nét dựa trên cường độ chuyển màu trung bình giữa hình ảnh của ống kính UW và W.
Các API đã kiểm thử:
android.hardware.camera2.CameraCharacteristics#CONTROL_ZOOM_RATIO_RANGE
android.hardware.camera2.CaptureRequest#CONTROL_ZOOM_RATIO
android.media.CamcorderProfile
android.media.MediaRecorder
Đạt: Để kiểm thử đạt, tất cả các bước kiểm tra AE, AWB và AF đều phải đạt. Sau đây là tiêu chí cho từng bước kiểm tra:
- Kiểm tra AE: Độ thay đổi độ sáng giữa hình ảnh của ống kính UW và W phải nhỏ hơn 0,5%.
- Kiểm tra AWB: Sự khác biệt giữa các giá trị R/G và B/G cho hình ảnh của ống kính UW và W phải nhỏ hơn 0,5%.
- Kiểm tra AF: Độ sắc nét của hình ảnh giữa hình ảnh chụp bằng ống kính UW và W phải thấp hơn 2%.
scene8
Scene8 là một khung hình chữ nhật được chia thành 4 vùng bằng nhau, mỗi vùng chứa một bức chân dung được chụp với độ phơi sáng khác nhau hoặc được phủ một sắc thái màu khác nhau (sắc thái xanh dương, tăng độ phơi sáng, giảm độ phơi sáng, sắc thái vàng). Bốn điểm đánh dấu ArUco được căn chỉnh với bốn góc ngoài của hình chữ nhật để lấy toạ độ chính xác của khung hình chữ nhật chính.
scene8
test_ae_awb_regions
Kiểm thử để đảm bảo rằng các giá trị RGB và độ chói khác nhau khi quay video xem trước ở các vùng phơi sáng tự động (AE) và cân bằng trắng tự động (AWB) khác nhau.
Quy trình kiểm thử sẽ ghi lại một bản xem trước dài 8 giây, đo sáng AE và AWB trên mỗi góc phần tư trong 2 giây. Sau đó, quy trình kiểm thử sẽ trích xuất một khung hình từ bản ghi xem trước của từng khu vực và sử dụng các khung hình được trích xuất để thực hiện các bước kiểm tra AE và AWB sau:
- Kiểm tra AE: Xác minh rằng khung hình đo sáng khu vực có độ phơi sáng giảm có giá trị luma tăng hơn 1% so với khung hình đo sáng khu vực có độ phơi sáng tăng. Điều này xác minh rằng hình ảnh được làm sáng khi đo sáng một vùng tối.
- Kiểm tra AWB: Xác minh rằng tỷ lệ màu đỏ so với màu xanh dương (trong giá trị RGB trung bình của hình ảnh) trong khung có vùng đo sáng màu xanh dương cao hơn 2% so với khung có vùng đo sáng màu vàng. Điều này xác minh rằng hình ảnh có giá trị RGB cân bằng khi đo sáng một vùng màu vàng (ấm) hoặc màu xanh dương (lạnh).
Các API đã kiểm thử:
android.hardware.camera2.CaptureRequest#CONTROL_AWB_REGIONS
android.hardware.camera2.CaptureRequest#CONTROL_AE_REGIONS
android.hardware.camera2.CameraCharacteristics#CONTROL_MAX_REGIONS_AE
android.hardware.camera2.CameraCharacteristics#CONTROL_MAX_REGIONS_AWB
Đạt: Cả hai quy trình kiểm tra AE và AWB đều đạt.
Cơ chế không thành công:
Việc phát hiện chính xác cả 4 điểm đánh dấu ArUco là điều cần thiết cho thử nghiệm này. Nếu không phát hiện được trong lần đầu tiên, hệ thống sẽ thử phát hiện lần thứ hai bằng cách sử dụng phiên bản hình ảnh đen trắng. Hình ảnh thang màu xám sau đây đại diện cho bước xử lý phụ.
scene9
Scene9 bao gồm hàng nghìn vòng tròn có kích thước và màu sắc ngẫu nhiên để tạo một cảnh có khả năng lặp lại rất thấp nhằm nhấn mạnh các thuật toán nén JPEG.
scene9
test_jpeg_high_entropy
Kiểm thử tính năng nén JPEG của máy ảnh trên scene9 với độ hỗn loạn cao và hệ số chất lượng JPEG được đặt thành 100%. Hệ số thu phóng được tăng lên để đảm bảo cảnh hiển thị trên máy tính bảng lấp đầy trường nhìn của máy ảnh.
Các API đã kiểm thử:
Đạt: Tệp JPEG được nén, ghi và đọc lại đúng cách từ ổ đĩa.
test_jpeg_quality
Kiểm tra chất lượng nén JPEG của máy ảnh. Bước chất lượng JPEG thông qua android.jpeg.quality
và đảm bảo Bảng lượng tử hoá thay đổi chính xác.
Các API đã kiểm thử:
Đạt: Ma trận lượng tử hoá giảm khi chất lượng tăng. (Ma trận biểu thị hệ số chia.)
Matrice DQT luma/chroma trung bình của máy ảnh sau Pixel 4 so với chất lượng JPEG
Ví dụ về kiểm thử không thành công
Xin lưu ý rằng đối với hình ảnh có chất lượng rất thấp (jpeg.quality < 50), mức độ nén trong ma trận lượng tử hoá sẽ không tăng lên.
scene_video
Cảnh scene_video
là một cảnh video. Ảnh này bao gồm 4 vòng tròn có màu khác nhau di chuyển qua lại ở các tốc độ khung hình khác nhau trên nền trắng.
scene_video
test_preview_frame_drop
Kiểm thử để đảm bảo tốc độ khung hình xem trước được yêu cầu được duy trì với cảnh động. Quy trình kiểm thử này chạy trên tất cả các máy ảnh hiển thị với ứng dụng bên thứ ba.
Các API đã kiểm thử:
android.hardware.camera2.CameraCharacteristics#CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES
android.hardware.camera2.CameraCharacteristics#SCALAR_AVAILABLE_CAPABILITIES_STREAM_USE_CASES
android.hardware.camera2.CaptureResult#CONTROL_AE_TARGET_FPS_RANGE
android.media.CamcorderProfile
android.media.MediaRecorder
Đạt: Tốc độ khung hình xem trước ở mức tối đa trong phạm vi tốc độ khung hình được yêu cầu và độ biến thiên trung bình giữa các khung hình liên tiếp nhỏ hơn dung sai tương đối được đặt trong kiểm thử.
scene_extensions
Các kiểm thử scene_extensions
dành cho các tiện ích máy ảnh và phải sử dụng Camera ITS-in-a-Box vì các kiểm thử này yêu cầu kiểm soát chính xác môi trường kiểm thử. Ngoài ra, bạn phải kiểm soát tất cả các rò rỉ ánh sáng. Điều này có thể yêu cầu bạn phải che thiết bị thử nghiệm, thiết bị được kiểm thử (DUT) và máy tính bảng bằng vải chống thấm cũng như loại bỏ tình trạng rò rỉ ánh sáng từ màn hình trước của DUT.
scene_hdr
Cảnh scene_hdr
bao gồm một bức ảnh chân dung ở bên trái và một mã QR có độ tương phản thấp ở bên phải.
scene_hdr
test_hdr_extension
Kiểm thử tiện ích HDR. Chụp ảnh có và không bật tiện ích, đồng thời kiểm tra xem tiện ích có giúp phát hiện mã QR dễ dàng hơn hay không.
Các API đã kiểm thử:
android.hardware.camera2.CameraExtensionCharacteristics#getSupportedExtensions
android.hardware.camera2.CameraExtensionSession#capture
Đạt: Tiện ích HDR làm giảm số lần thay đổi độ tương phản cần thiết để phát hiện mã QR hoặc giảm độ dốc trên mã QR.
scene_low_light
Cảnh scene_low_light
bao gồm một lưới hình vuông có nhiều sắc độ màu xám trên nền đen và lưới hình vuông được liên kết bằng đường viền màu đỏ. Các hình vuông được sắp xếp theo hướng đường cong Hilbert.
scene_low_light
test_night_extension
Kiểm thử Tiện ích ban đêm. Chụp ảnh khi bật tiện ích và thực hiện các thao tác sau:
- Phát hiện sự hiện diện của 20 hình vuông
- Tính toán độ chói được giới hạn bởi mỗi hình vuông
- Tính toán giá trị luma trung bình của 6 hình vuông đầu tiên theo hướng lưới của đường cong Hilbert
- Tính toán chênh lệch về giá trị luma của các hình vuông liên tiếp (ví dụ: hình vuông 2 – hình vuông 1) cho đến hình vuông 5 và 6 (hình vuông 6 – hình vuông 5) rồi tìm trung bình cộng của 5 chênh lệch đã tính.
Các API đã kiểm thử:
android.hardware.camera2.CameraExtensionCharacteristics#getSupportedExtensions
android.hardware.camera2.CameraExtensionSession#capture
Đạt: Giá trị luma trung bình của 6 hình vuông đầu tiên phải ít nhất là 85, và mức chênh lệch trung bình về giá trị luma của các hình vuông liên tiếp cho đến hình vuông 5 và 6 phải ít nhất là 17.
Biểu đồ độ chói sau đây cho thấy kết quả kiểm thử đạt yêu cầu.
test_low_light_boost_extension
Kiểm thử chế độ Tăng cường ánh sáng yếu AE. Nếu Camera2 hỗ trợ chế độ AE tăng cường ánh sáng yếu, thì thử nghiệm này sẽ được thực hiện cho Camera2. Nếu tiện ích máy ảnh chế độ ban đêm được hỗ trợ và tiện ích này hỗ trợ chế độ AE tăng cường ánh sáng yếu, thì quy trình kiểm thử này cũng được thực hiện cho tiện ích máy ảnh chế độ ban đêm. Quy trình kiểm thử này đặt chế độ AE thành tăng cường ánh sáng yếu, lấy một khung hình từ bản xem trước và thực hiện các thao tác sau:
- Phát hiện sự hiện diện của 20 hộp
- Tính toán độ sáng được giới hạn bởi mỗi hộp
- Tính toán giá trị luma trung bình của 6 hình vuông đầu tiên theo hướng lưới của đường cong Hilbert
- Tính toán chênh lệch về giá trị luma của các hình vuông liên tiếp (ví dụ: hình vuông 2 – hình vuông 1) cho đến hình vuông 5 và 6 (hình vuông 6 – hình vuông 5) rồi tìm trung bình cộng của 5 chênh lệch đã tính.
Các API đã kiểm thử:
android.hardware.camera2.CameraCharacteristics.CONTROL_AE_AVAILABLE_MODES
android.hardware.camera2.CameraMetadata#CONTROL_AE_MODE_ON_LOW_LIGHT_BOOST_BRIGHTNESS_PRIORITY
android.hardware.camera2.CameraExtensionCharacteristics#getSupportedExtensions
Đạt: Giá trị luma trung bình của 6 hình vuông đầu tiên phải ít nhất là 70, và mức chênh lệch trung bình về giá trị luma của các hình vuông liên tiếp cho đến hình vuông 5 và 6 phải ít nhất là 17.
scene_flash
Các thử nghiệm scene_flash
yêu cầu cảnh tối trong hộp hợp nhất cảm biến.
test_auto_flash
Kiểm thử tính năng tự động bật đèn flash trong cảnh tối cho máy ảnh mặt sau và máy ảnh mặt trước. Đối với máy ảnh mặt trước, tính năng tự động bật đèn flash sử dụng màn hình để chiếu sáng cảnh chứ không phải đèn flash thực. Quy trình kiểm thử xác minh rằng tính năng tự động bật đèn flash được kích hoạt bằng cách kiểm tra để đảm bảo rằng trung tâm của hình ảnh xếp kề sáng hơn khi bật tính năng tự động bật đèn flash. Để kích hoạt tính năng tự động chụp flash, bạn phải tắt đèn trong thiết bị thử nghiệm. Bạn có thể tự động tắt đèn bằng bộ điều khiển Arduino. Cảnh phải hoàn toàn tối để kiểm thử hoạt động chính xác. Bạn phải cài đặt Ứng dụng máy ảnh Jetpack (JCA) trên thiết bị trước khi kiểm thử. Tính năng tự động bật đèn flash cho camera sau dựa vào trạng thái AE để kích hoạt, nhưng tính năng tự động bật đèn flash cho camera trước không dựa vào AE và luôn được kích hoạt.
Các API đã kiểm thử:
android.hardware.camera2.CameraCharacteristics#FLASH_INFO_AVAILABLE
android.hardware.camera2.CaptureRequest#CONTROL_AE_MODE
android.hardware.camera2.CaptureRequest#CONTROL_AE_PRECAPTURE_TRIGGER
android.hardware.camera2.CaptureResult#CONTROL_AE_STATE
android.hardware.camera2.CaptureRequest#FLASH_MODE
Đạt: Trung tâm của hình ảnh xếp kề có bật tính năng tự động bật đèn flash sáng hơn hình ảnh cảnh gốc đối với tất cả máy ảnh.
test_flash_strength
Kiểm thử để đảm bảo rằng chế độ kiểm soát cường độ đèn flash ở chế độ SINGLE
được triển khai đúng cách.
Xác minh rằng nếu thiết bị hỗ trợ tính năng kiểm soát cường độ đèn flash trong khi sử dụng máy ảnh ở chế độ SINGLE
, thì cường độ đèn flash sẽ thay đổi theo các mức cường độ được yêu cầu. Xác minh rằng tính năng kiểm soát cường độ đèn flash hoạt động với nhiều AE_MODES
.
Ví dụ: nếu chế độ tự động phơi sáng là ON
hoặc OFF
, thì cường độ đèn flash sẽ ảnh hưởng đến độ sáng và nếu chế độ là ON_AUTO_FLASH
, thì cường độ đèn flash sẽ không ảnh hưởng đến độ sáng.
Để tiến hành kiểm thử, bạn phải tắt đèn trong giàn thử nghiệm. Bạn có thể tự động tắt đèn bằng bộ điều khiển Arduino.
Cảnh phải hoàn toàn tối để kiểm thử hoạt động chính xác.
Các API đã kiểm thử:
android.hardware.camera2.CameraCharacteristics#FLASH_INFO_STRENGTH_DEFAULT_LEVEL
android.hardware.camera2.CameraCharacteristics#FLASH_INFO_STRENGTH_MAXIMUM_LEVEL
android.hardware.camera2.CameraCharacteristics#FLASH_SINGLE_STRENGTH_DEFAULT_LEVEL
android.hardware.camera2.CameraCharacteristics#FLASH_SINGLE_STRENGTH_MAX_LEVEL
Mật khẩu:
Khi chế độ tự động phơi sáng là ON
hoặc OFF
, độ sáng của các mảng hình ảnh sẽ tăng lên khi mức độ cường độ đèn flash tăng từ không có đèn flash đến FLASH_SINGLE_STRENGTH_MAX_LEVEL
.
Khi chế độ tự động phơi sáng là ON_AUTO_FLASH
, độ sáng của các mảng hình ảnh sẽ nằm trong phạm vi dung sai khi mức độ cường độ đèn flash tăng từ không có đèn flash lên FLASH_SINGLE_STRENGTH_MAX_LEVEL
.
test_led_snapshot
Kiểm tra để đảm bảo ảnh chụp nhanh bằng đèn LED không làm bão hoà hoặc phủ màu hình ảnh.
Bài kiểm thử này thêm một bộ điều khiển ánh sáng vào hộp hợp nhất cảm biến để kiểm soát ánh sáng. Khi đèn được đặt thành OFF
, quy trình kiểm thử sẽ chụp ảnh với chế độ AUTO_FLASH
được đặt thành ON
. Trong quá trình chụp này, quy trình kiểm thử sẽ chạy một trình tự chụp trước với trình kích hoạt aePrecapture
được đặt thành START
và đặt ý định chụp thành Preview
để chụp bằng đèn flash.
Vì ảnh chụp có một điểm nóng đặc biệt do đèn flash, nên quy trình kiểm thử sẽ tính toán giá trị trung bình của hình ảnh đèn flash trong toàn bộ ảnh chụp và xác minh xem giá trị đó có nằm trong phạm vi (68, 102) hay không. Để kiểm tra xem hình ảnh có cân bằng trắng hợp lý hay không, quy trình kiểm thử sẽ tính toán tỷ lệ R/G và B/G, đồng thời xác minh xem các tỷ lệ này có nằm trong khoảng từ 0,95 đến 1,05 hay không.
Các API đã kiểm thử:
android.hardware.camera2.CameraCharacteristics#FLASH_INFO_AVAILABLE
android.hardware.camera2.CaptureRequest#CONTROL_AE_MODE
android.hardware.camera2.CaptureRequest#FLASH_MODE
Đạt: Tỷ lệ R/G và B/G nằm trong khoảng từ 0,95 đến 1,05. Giá trị trung bình của hình ảnh chụp bằng đèn flash nằm trong khoảng (68, 102).
test_preview_min_frame_rate
Kiểm thử để đảm bảo tốc độ khung hình xem trước giảm chính xác trong cảnh tối. Để quy trình kiểm thử này hoạt động chính xác, người vận hành kiểm thử phải tắt đèn trong thiết bị kiểm thử bằng tay hoặc bằng bộ điều khiển.
Các API đã kiểm thử:
android.hardware.camera2.CameraCharacteristics#CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES
android.hardware.camera2.CameraCharacteristics#SCALAR_AVAILABLE_CAPABILITIES_STREAM_USE_CASES
android.hardware.camera2.CaptureResult#CONTROL_AE_TARGET_FPS_RANGE
android.media.CamcorderProfile
android.media.MediaRecorder
Đạt: Tốc độ khung hình xem trước ở mức tối thiểu trong phạm vi tốc độ khung hình được yêu cầu và độ biến thiên giữa các khung hình nhỏ hơn mức dung sai tuyệt đối được đặt trong kiểm thử.
test_torch_strength
Kiểm thử để đảm bảo rằng chế độ kiểm soát cường độ đèn flash ở chế độ TORCH
được triển khai đúng cách.
Xác minh rằng nếu thiết bị hỗ trợ tính năng kiểm soát cường độ đèn flash trong khi sử dụng máy ảnh ở chế độ TORCH
, thì cường độ đèn pin sẽ thay đổi theo các mức cường độ được yêu cầu. Xác minh rằng tính năng kiểm soát cường độ đèn flash hoạt động với nhiều AE_MODES
.
Ví dụ: nếu chế độ tự động phơi sáng là ON
hoặc OFF
, thì cường độ đèn flash sẽ ảnh hưởng đến độ sáng và nếu chế độ là ON_AUTO_FLASH
, thì cường độ đèn flash sẽ không ảnh hưởng đến độ sáng.
Xác minh rằng cường độ đèn pin vẫn giữ nguyên trong suốt thời lượng của một loạt ảnh, mô phỏng một phiên quay video. Để tiến hành kiểm thử, bạn phải tắt đèn trong thiết bị kiểm thử. Bạn có thể tự động tắt đèn bằng trình điều khiển Arduino. Cảnh phải hoàn toàn tối để kiểm thử hoạt động chính xác.
Các API đã kiểm thử:
android.hardware.camera2.CameraCharacteristics#FLASH_INFO_STRENGTH_DEFAULT_LEVEL
android.hardware.camera2.CameraCharacteristics#FLASH_INFO_STRENGTH_MAXIMUM_LEVEL
android.hardware.camera2.CameraCharacteristics#FLASH_TORCH_STRENGTH_DEFAULT_LEVEL
android.hardware.camera2.CameraCharacteristics#FLASH_TORCH_STRENGTH_MAX_LEVEL
Mật khẩu:
Khi chế độ tự động phơi sáng là ON
hoặc OFF
, độ sáng của các mảng ảnh chụp liên tiếp sẽ tăng lên khi mức độ cường độ đèn flash tăng từ không có đèn flash lên FLASH_TORCH_STRENGTH_MAX_LEVEL
.
Khi chế độ tự động phơi sáng là ON_AUTO_FLASH
, độ sáng của các mảng ảnh chụp liên tiếp nằm trong phạm vi dung sai khi cường độ đèn flash tăng từ không có đèn flash lên FLASH_TORCH_STRENGTH_MAX_LEVEL
.
cảm_biến_hợp_nhất
Các thử nghiệm hợp nhất cảm biến yêu cầu điện thoại di chuyển theo một cách cụ thể trước mẫu bàn cờ và điểm đánh dấu ArUco. Để có kết quả tối ưu, hãy đảm bảo rằng biểu đồ kiểm thử được gắn phẳng. Các biểu đồ không phẳng ảnh hưởng đến việc tính toán độ xoay cho nhiều bài kiểm thử. Biểu đồ phải lấp đầy mặt sau của hộp hợp nhất cảm biến bằng cách in ở kích thước 17"x17" (43x43 cm). Bạn có thể tự động hoá các bài kiểm thử sensor_fusion
bằng Sensor Fusion Box (Hộp kết hợp cảm biến).
Biểu đồ hợp nhất cảm biến
Biểu đồ hợp nhất cảm biến lấp đầy mặt sau của hộp hợp nhất cảm biến
test_lens_intrinsic_calibration
Kiểm thử để đảm bảo rằng tâm quang học của ống kính thay đổi nội tại khi ống kính di chuyển do tính năng chống rung hình ảnh quang học (OIS). Nếu hỗ trợ các mẫu nội tại của ống kính, hãy kiểm tra để đảm bảo rằng tâm quang học của các mẫu nội tại của ống kính thay đổi khi ống kính di chuyển do tính năng ổn định hình ảnh quang học (OIS).
Các API đã kiểm thử:
android.hardware.camera2.CameraCharacteristics#LENS_INTRINSIC_CALIBRATION
android.media.MediaRecorder
android.media.CamcorderProfile
Đạt: Tâm quang học của ống kính thay đổi một pixel trở lên. Nếu mẫu nội tại của ống kính được hỗ trợ, thì tâm quang học của mẫu nội tại của ống kính sẽ thay đổi từ một pixel trở lên.
Ví dụ về biểu đồ test_lens_intrinsic_calibration
cho thấy sự thay đổi của các điểm chính tính bằng pixel cho mỗi khung hình
test_multi_camera_frame_sync
Kiểm thử để đảm bảo dấu thời gian khung hình do máy ảnh logic chụp nằm trong khoảng 10 ms bằng cách tính toán các góc của hình vuông trong bàn cờ để xác định dấu thời gian.
Các API đã kiểm thử:
android.hardware.camera2.CameraCharacteristics#LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE
android.hardware.camera2.CameraCharacteristics#getPhysicalCameraIds()
android.hardware.camera2.CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_LOGICAL_MULTI_CAMERA
android.hardware.camera2.params.OutputConfiguration#setPhysicalCameraId()
Đạt: Góc giữa hình ảnh từ mỗi máy ảnh không thay đổi đáng kể khi điện thoại được xoay.
test_preview_distortion
Kiểm thử để đảm bảo rằng sự méo hình được khắc phục trong mỗi khung xem trước được chụp ở nhiều mức thu phóng. Đối với mỗi khung xem trước, quy trình kiểm thử sẽ tính toán các điểm lý tưởng dựa trên các yếu tố nội tại và ngoại tại của máy ảnh. Trong hình ảnh ví dụ, các điểm lý tưởng được hiển thị bằng màu xanh lục; các điểm thực tế được hiển thị bằng màu đỏ. Lỗi méo được tính toán dựa trên khoảng cách pixel trung bình gốc (RMS) giữa các điểm thực tế và điểm lý tưởng. Các điểm nổi bật màu xanh lục và màu đỏ trên hình ảnh được dùng để phát hiện trực quan vùng lỗi méo.
Hình ảnh bàn cờ với các điểm lý tưởng có màu xanh lục và các điểm thực tế có màu đỏ
Các API đã kiểm thử:
android.hardware.camera2.CameraCharacteristics#CONTROL_ZOOM_RATIO_RANGE
android.hardware.camera2.CaptureRequest#CONTROL_ZOOM_RATIO
android.hardware.camera2.CameraCharacteristics#getPhysicalCameraIds()
android.media.CamcorderProfile
android.media.MediaRecorder
Đạt: Lỗi méo được chuẩn hoá của mỗi khung xem trước nhỏ hơn ngưỡng được đặt trong kiểm thử.
test_preview_stabilization
Kiểm thử video xem trước được ổn định xoay ít hơn so với con quay hồi chuyển.
Các API đã kiểm thử:
android.hardware.camera2.CameraCharacteristics#SCALAR_AVAILABLE_CAPABILITIES_STREAM_USE_CASES
android.media.MediaRecorder
android.media.CamcorderProfile
Đạt: Góc xoay tối đa trên các khung hình nhỏ hơn 70% góc xoay của con quay hồi chuyển.
Sau đây là các video mẫu có và không có tính năng ổn định.
Video mẫu có tính năng ổn định
Mẫu video chưa được ổn định
test_sensor_fusion
Kiểm thử sự khác biệt về dấu thời gian giữa máy ảnh và con quay hồi chuyển cho các ứng dụng AR và VR. Điện thoại được xoay 90 độ 10 lần trước mẫu bàn cờ. Động tác di chuyển là khoảng 2 giây cho một lượt. Quy trình kiểm thử này sẽ bị bỏ qua nếu không có con quay hồi chuyển hoặc nếu bạn không bật thông số REALTIME
nguồn dấu thời gian.
Kiểm thử test_sensor_fusion
tạo ra một số biểu đồ. Hai biểu đồ quan trọng nhất để gỡ lỗi là:
test_sensor_fusion_gyro_events
: Hiển thị các sự kiện con quay hồi chuyển cho điện thoại trong quá trình kiểm thử. Chuyển động theo hướng x và y cho thấy điện thoại không được gắn chắc chắn trên tấm gắn, làm giảm khả năng kiểm thử đạt. Số chu kỳ trong biểu đồ phụ thuộc vào tốc độ ghi để lưu khung hình.test_sensor_fusion_gyro_events
test_sensor_fusion_plot_rotations
: Cho biết cách căn chỉnh con quay hồi chuyển và sự kiện máy ảnh. Biểu đồ này phải cho thấy chuyển động khớp giữa máy ảnh và con quay hồi chuyển trong khoảng +/-1 ms.test_sensor_fusion_plot_rotations
Các API đã kiểm thử:
android.hardware.camera2.CameraCharacteristics#LENS_FACING
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_TIMESTAMP_SOURCE
android.hardware.camera2.CameraMetadata#SENSOR_INFO_TIMESTAMP_SOURCE_REALTIME
android.hardware.camera2.CaptureRequest#CONTROL_AE_TARGET_FPS_RANGE
android.hardware.camera2.CaptureRequest#SENSOR_FRAME_DURATION
android.hardware.camera2.CaptureRequest#SENSOR_TIMESTAMP
android.hardware.camera2.CaptureResult#SENSOR_ROLLING_SHUTTER_SKEW
Đạt: Độ lệch của dấu thời gian của camera và con quay hồi chuyển nhỏ hơn 1 ms theo mục 7.3.9 của CDD về cảm biến có độ chân thực cao [C-2-14].
Cơ chế không thành công:
- Lỗi chênh lệch: Chênh lệch con quay hồi chuyển của máy ảnh chưa được hiệu chỉnh chính xác trong phạm vi +/-1 ms.
- Thiếu khung hình: Quy trình không đủ nhanh để chụp 200 khung hình liên tiếp.
- Lỗi ổ cắm:
adb
không thể kết nối đáng tin cậy với DUT đủ lâu để thực thi kiểm thử. - Biểu đồ không được gắn phẳng. Biểu đồ
test_sensor_fusion_plot_rotations
có các khung hình mà con quay hồi chuyển và độ xoay máy ảnh thay đổi đáng kể khi máy ảnh xoay qua các phần của biểu đồ không phẳng. - Máy ảnh không được gắn phẳng. Biểu đồ
test_sensor_fusion_gyro_events
cho thấy chuyển động trong mặt phẳng X và Y. Lỗi này thường gặp hơn ở camera trước vì camera sau thường có một điểm nhô lên so với phần còn lại của thân điện thoại, tạo ra độ nghiêng khi gắn mặt sau của điện thoại vào tấm gắn.
test_video_stabilization
Kiểm thử video được ổn định xoay ít hơn so với con quay hồi chuyển.
Các API đã kiểm thử:
android.hardware.camera2.CameraCharacteristics#SCALAR_AVAILABLE_CAPABILITIES_STREAM_USE_CASES
android.media.MediaRecorder
android.media.CamcorderProfile
Đạt: Góc xoay tối đa trên các khung hình ít hơn 60% góc xoay của con quay hồi chuyển.
Sau đây là các video mẫu có và không có tính năng ổn định.
Video mẫu có tính năng ổn định
Mẫu video chưa được ổn định
feature_combination
Các kiểm thử feature_combination
xác minh rằng các tính năng hoạt động đúng cách khi nhiều tính năng máy ảnh được bật cùng một lúc. Các bài kiểm thử này sử dụng cùng một hình ảnh bàn cờ được dùng trong cảnh kết hợp cảm biến.
test_feature_combination
Kiểm thử tất cả các tổ hợp kết hợp luồng, tính năng ổn định bản xem trước, phạm vi FPS mục tiêu, video HDR 10 bit và Ultra HDR mà thiết bị máy ảnh hỗ trợ. Bài kiểm thử này rất tốn bộ nhớ, vì vậy, bạn nên sử dụng máy chủ lưu trữ có RAM tối thiểu 128 GB.
Đối với Android 15 trở lên, tệp cấu hình bao gồm một trường log_feature_combo_support
, mặc định là False
. Khi trường log_feature_combo_support
được đặt thành True
, quy trình kiểm thử sẽ chạy tất cả các tổ hợp tính năng được hỗ trợ và ghi lại kết quả vào tệp proto mà không làm bài kiểm thử không đạt. Để kiểm thử việc tuân thủ, bạn phải đặt trường log_feature_combo_support
thành False
.
Các API đã kiểm thử:
android.hardware.camera2.CameraDevice.CameraDeviceSetup#isSessionConfigurationSupported
android.hardware.camera2.CameraDevice.CameraDeviceSetup#createCaptureRequest
Đạt: Đối với mỗi tổ hợp tính năng được hỗ trợ:
- Luồng xem trước sẽ được ổn định nếu bạn bật tính năng chống rung khi xem trước.
- Tốc độ khung hình xem trước nằm trong
AE_TARGET_FPS_RANGE
đã định cấu hình. - Hệ màu của luồng xem trước đã ghi khớp với hệ màu đã đặt.
- Ảnh chụp Ultra HDR có bản đồ độ lợi hợp lệ.