Kiểm tra ITS máy ảnh

Trang này cung cấp danh sách đầy đủ các thử nghiệm trong Bộ kiểm tra hình ảnh máy ảnh (ITS), một phần của Trình xác minh Bộ kiểm tra tương thích Android (CTS). Thử nghiệm ITS là thử nghiệm chức năng, nghĩa là chúng không đo lường chất lượng hình ảnh nhưng tất cả các chức năng máy ảnh được quảng cáo đều hoạt động như mong đợi. Tài liệu này cho phép các nhà phát triển và người thử nghiệm hiểu những gì các thử nghiệm riêng lẻ thực hiện và cách gỡ lỗi các lỗi thử nghiệm.

Kiểm tra cổng ITS của camera theo các thuộc tính bắt buộc của camera, cấp API và cấp hiệu suất phương tiện (MPC). Đối với cấp độ API, ITS sử dụng ro.product.first_api_level để kiểm tra cổng được thêm ở cấp độ API cụ thể nhằm kiểm tra trải nghiệm người dùng tiêu cực đối với chức năng ở cấp độ API thấp hơn. ITS sử dụng ro.vendor.api_level để kiểm tra cổng các tính năng được thêm ở 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 thử nghiệm cụ thể tùy thuộc vào cấp độ MPC.

Các thử nghiệm được nhóm theo cảnh như sau:

  • scene0 : Ghi lại siêu dữ liệu, jitter, con quay hồi chuyển, độ rung
  • cảnh1 : Độ phơi sáng, độ nhạy, bù EV, YUV so với JPEG/RAW
  • scene2 : Nhận diện khuôn mặt, kiểm tra yêu cầu cảnh màu hoặc bóng tối hoàn toàn
  • cảnh3 : Tăng cường cạnh, chuyển động của ống kính
  • cảnh4 : Tỷ lệ khung hình, cắt xén, trường nhìn
  • cảnh5 : Bóng ống kính
  • cảnh6 : Thu phóng
  • scene_extensions : Tiện ích mở rộng máy ảnh
  • cảm biến_fusion : Độ lệch thời gian của máy ảnh/con quay hồi chuyển

Xem các phần riêng lẻ để biết mô tả của từng cảnh.

cảnh0

Kiểm tra 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 tra con quay hồi chuyển và độ rung.

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.

API đã được thử nghiệm:

Đạt: Chụp một loạt ảnh có kích thước đầy đủ và máy ảnh đủ nhanh để tránh hết thời gian chờ.

test_capture_result_dump

Kiểm tra xem kết quả thu thập có được trả về từ quá trình thu thập thủ công hay không và sau đó loại bỏ nó.

API đã được thử nghiệm:

Đạt: Hoàn thành việc chụp và loại bỏ các kết quả chụp.

test_gyro_bias

Kiểm tra xem con quay hồi chuyển có đầu ra ổn định hay không khi thiết bị đứng yên. Dữ liệu được vẽ dưới dạng trung bình của 20 điểm dữ liệu.

API đã được thử nghiệm:

Đạt: Delta của con quay hồi chuyển nhỏ hơn 0,01 theo thời gian.

test_gyro_bias_plot.png

test_gyro_bias_plot.png

test_jitter

Đo độ giật trong dấu thời gian của máy ảnh.

API đã được thử nghiệm:

Đạt: Có ít nhất khoảng cách delta 30 ms giữa các khung.

test_jitter_plot.png

test_jitter_plot.png (Lưu ý phạm vi trục y nhỏ. Jitter 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. Thử nghiệm này sử dụng các giá trị hiển thị và thu được auto_capture_request vì nội dung hình ảnh không quan trọng.

API đã được thử nghiệm:

Vượt qua: Cấp độ phần cứng, rollingShutterSkew , thẻ frameDuration , timestampSource , croppingType , blackLevelPattern , pixel_pitch , foV, khoảng cách siêu tiêu cự đều hiện diện và có các giá trị hợp lệ.

test_param_sensitive_burst

Kiểm tra xem tham số android.sensor.sensitivity có được áp dụng đúng cách trong cụm hay không. Chỉ kiểm tra siêu dữ liệu đầu ra.

API đã được thử nghiệm:

Đạt: Dữ liệu đầu ra có sai số cho phép dưới 0,2%.

test_read_write

Kiểm tra xem thiết bị có ghi giá trị phơi sáng và thu chính xác hay không bằng cách đọc lại siêu dữ liệu chụp.

API đã được thử nghiệm:

Đạt: Giá trị đọc và ghi khớp với tất cả các ảnh.

test_sensor_events

Kiểm tra xem thiết bị có truy vấn và in ra các sự kiện cảm biến cho các thiết bị quảng cáo hỗ trợ tổng hợp cảm biến hay không. Các cảm biến dự kiến ​​​​là gia tốc kế, con quay hồi chuyển và từ kế. Quá trình kiểm tra này chỉ hoạt động nếu màn hình bật, nghĩa là thiết bị không ở chế độ chờ.

API đã được thử nghiệm:

Đạt: Sự kiện cho mỗi cảm biến được nhận.

test_solid_color_test_pattern

Kiểm tra các mẫu kiểm tra màu đồng nhất được tạo đúng cách để tắt tiếng máy ảnh. Nếu tính năng tắt tiếng của máy ảnh được hỗ trợ thì các mẫu thử nghiệm màu đồng nhất phải được hỗ trợ. Nếu tính năng tắt tiếng của máy ảnh không được hỗ trợ thì các mẫu thử nghiệm đồng màu chỉ được thử nghiệm nếu khả năng được quảng cáo.

Nếu hình ảnh RAW được hỗ trợ, việc phân bổ màu sắc cũng được kiểm tra. Các màu được thử nghiệm là đen, trắng, đỏ, xanh dương và xanh lục. Đối với máy ảnh không hỗ trợ ảnh RAW, chỉ thử nghiệm màu đen.

API đã được thử nghiệm:

Đạt: Các mẫu thử nghiệm rắn được hỗ trợ là màu sắc chính xác và có độ sai lệch thấp trong hình ảnh.

test_test_pattern

Kiểm tra thông số android.sensor.testPatternMode để chụp khung hình cho từng mẫu thử nghiệm hợp lệ và kiểm tra xem khung hình có được tạo chính xác cho các màu đơn sắc và thanh màu hay không. Thử nghiệm này bao gồm các bước sau:

  1. Chụp ảnh cho tất cả các mẫu thử nghiệm được hỗ trợ.
  2. Thực hiện kiểm tra tính chính xác đơn giản cho mẫu thử màu đồng nhất và các thanh màu.

API đã được thử nghiệm:

Đạt: Các mẫu thử nghiệm được hỗ trợ được tạo chính xác.

test_test_patterns_2

test_test_patterns_2.jpg

test_tonemap_curve

Kiểm tra chuyển đổi mẫu thử từ RAW sang YUV bằng sơ đồ tông màu tuyến tính. Thử nghiệm này yêu cầu android.sensor.testPatternMode = 2 (COLOR_BARS) để tạo 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 phù hợp với sơ đồ 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 ).

API đã được thử nghiệm:

Đạt: YUV và RAW trông giống nhau.

test_tonemap_curve_raw_2

test_tonemap_curve_raw_2.jpg

test_tonemap_curve_yuv_2.jpg

test_tonemap_curve_yuv_2.jpg

test_unified_timestamp

Kiểm tra xem các 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.

API đã được thử nghiệm:

Đạt: Dấu thời gian chuyển động nằm giữa hai dấu thời gian của hình ảnh.

test_vibration_restriction

Kiểm tra xem độ rung của thiết bị có hoạt động như mong đợi hay không.

API đã được thử nghiệm:

Đạt: Thiết bị không rung khi bị tắt tiếng bởi API hạn chế âm thanh của camera.

cảnh 1

cảnh1 là biểu đồ màu xám. Biểu đồ màu xám phải bao phủ 30% phần trung tâm của trường nhìn của camera. Biểu đồ màu xám dự kiến ​​sẽ thách thức vừa phải 3A (phơi sáng tự động, cân bằng trắng tự động, lấy nét tự động) vì vùng trung tâm không có tính năng. Tuy nhiên, yêu cầu chụp chỉ định toàn bộ cảnh bao gồm đủ tính năng để 3A hội tụ.

Camera RFoV có thể được kiểm tra trong thiết bị kiểm tra WFOV hoặc RFoV. Nếu camera RFoV được thử nghiệm trong thiết bị thử nghiệm WFOV, biểu đồ sẽ được chia 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 mô tả chi tiết về thiết bị kiểm tra camera, hãy xem Camera ITS-in-a-box .

cảnh 1

cảnh1: Biểu đồ kích thước đầy đủ (trái). ⅔ biểu đồ tỷ lệ (phải).

kiểm tra_3a

Kiểm tra sự hội tụ của 3A với mục tiêu có độ thử thách vừa phải.

API đã được thử nghiệm:

Đạt: 3A hội tụ và giá trị 3A trả về là hợp lệ.

test_ae_af

Kiểm tra riêng từng thuật toán phơi sáng tự động (AE) và lấy nét tự động (AF) 3A.

API đã được thử nghiệm:

Đạt: 3A hội tụ và giá trị 3A trả về là hợp lệ.

test_ae_precapture_trigger

Kiểm tra máy trạng thái AE khi sử dụng trình kích hoạt chụp trước. Ghi lại năm yêu cầu thủ công khi tắt AE. Yêu cầu cuối cùng có trình kích hoạt thu thập trước AE, yêu cầu này sẽ bị bỏ qua vì AE bị tắt.

API đã được thử nghiệm:

Đạt: AE hội tụ.

test_auto_vs_manual

Các thử nghiệm chụp ảnh tự động và chụp thủ công trông giống nhau.

API đã được thử nghiệm:

Đạt: Mức tăng và chuyể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 estimate cân bằng trắng tự động từ thuật toán 3A của máy ảnh.

test_auto_vs_manual_auto

test_auto_vs_manual_auto.jpg

test_auto_vs_manual_wb

test_auto_vs_manual_wb.jpg

test_auto_vs_manual_manual_wb_tm

test_auto_vs_manual_manual_wb_tm.jpg

kiểm tra_đen_trắng

Kiểm tra máy cho ra hình ảnh đen trắng đầy đủ. Chụp hai ảnh, ảnh đầu tiên với mức tăng cực thấp và độ phơi sáng ngắn, dẫn đến ảnh đen, và ảnh thứ hai với mức tăng cực cao và phơi sáng lâu, dẫn đến ảnh trắng.

API đã được thử nghiệm:

Đạt: Tạo ra hình ảnh đen trắng. Các kênh bão hòa của hình ảnh màu trắng có giá trị RGB là [255, 255, 255] với sai số chênh lệch nhỏ hơn 1%.

kiểm tra_đen_trắng_đenkiểm tra_đen_trắng_đen
test_black_white_black.jpg test_black_white_white.jpg

test_black_white_plot_mean

test_black_white_plot_means.png

test_burst_sameness_manual

Chụp 5 loạt ảnh gồm 50 ảnh với cài đặt chụp thủ công và kiểm tra xem chúng có giống nhau không. Thử nghiệm này có thể được sử dụng để xác định xem có các khung rời rạc được xử lý khác nhau hoặc có hiện tượng giả hay không.

API đã được thử nghiệm:

Đạt: Hình ảnh giống hệt nhau về mặt trực quan và ở giá trị RGB.

Thất bại: Hiển thị mức tăng hoặc giảm của biểu đồ trung bình RGB ở đầu mỗi đợt

  • Dung sai là 3% cho first_API_level < 30
  • Dung sai là 2% cho first_API_level >= 30

test_burst_sameness_manual_mean

test_burst_sameness_manual_mean.jpg

test_burst_sameness_manual_plot_means

test_burst_sameness_manual_plot_means.png

test_capture_result

Kiểm tra dữ liệu hợp lệ quay trở lại trong các đối tượng CaptureResult . Chụp tự động, thủ công và tự động.

API đã được thử nghiệm:

Đạt: Siêu dữ liệu hợp lệ cho tất cả các ảnh chụp và cài đặt thủ công không bị rò rỉ vào ảnh chụp tự động thứ hai. Vẽ sơ đồ hiệu chỉnh bóng của ống kính cho ảnh chụp.

test_capture_result_plot_lsc_auto_ch0

test_capture_result_plot_lsc_auto_ch0.png

test_crop_khu vực_raw

Kiểm tra để đảm bảo rằng luồng RAW không thể cắt được.

API đã được thử nghiệm:

Đạt: Hình ảnh YUV được cắt ở giữa nhưng không bị ảnh RAW.

test_crop_khu vực_raw_comp_raw_crop

test_crop_khu vực_raw_comp_raw_crop.jpg

test_crop_khu vực_raw_comp_raw_full

test_crop_khu vực_raw_comp_raw_full.jpg

test_crop_khu vực_raw_comp_yuv_crop

test_crop_khu vực_raw_comp_yuv_crop.jpg

test_crop_khu vực_raw_yuv_full

test_crop_khu vực_raw_yuv_full.jpg

test_crop_khu vực

Các thử nghiệm cho thấy các vùng trồng trọt có hiệu quả. Chụp ảnh đầy đủ và tạo các mảng gồm 5 vùng khác nhau (góc và giữa.) Chụp ảnh với bộ cắt xén cho 5 vùng. So sánh các giá trị bản vá và hình ảnh cắt xén.

API đã được thử nghiệm:

Đạt: Hình ảnh của vùng bị cắt khớp với miếng vá tương ứng với hình ảnh bị cắt.

test_dng_noise_model

Xác minh rằng các tham số mô hình thô DNG là chính xác. Biểu đồ mô tả phương sai đo được của miếng vá trung tâm của thẻ xám trong các ảnh thô được chụp trên một phạm vi độ nhạy và so sánh các giá trị này với phương sai dự kiến ​​ở mỗi độ nhạy theo mô hình nhiễu DNG trong máy ảnh HAL (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 chi tiết về mô hình tiếng ồn DNG, hãy tải xuống tài liệu sau về Mô hình tiếng ồn DNG .

API đã được thử nghiệm:

Đạ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.

test_dng_noise_model_plog

test_dng_noise_model_plog.png

test_ev_compensation_advanced

Kiểm tra xem có áp dụng bù giá trị phơi sáng (EV) hay không. Thử nghiệm tăng độ phơi sáng theo tám bước và kiểm tra độ sáng đo được so với độ sáng dự kiến. Các giá trị mong đợi được tính toán từ độ sáng hình ảnh của hình ảnh không áp dụng bù EV và giá trị mong đợi sẽ bão hòa nếu các giá trị được tính toán vượt quá phạm vi giá trị hình ảnh thực tế. Kiểm tra không thành công nếu giá trị mong đợi và giá trị đo được không khớp nhau hoặc hình ảnh bị phơi sáng quá mức trong vòng năm bước.

API đã được thử nghiệm:

Đạt: Hình ảnh hiển thị mức phơi sáng tăng dần mà không bị phơi sáng quá mức trong vòng năm bước.

test_ev_compensation_advanced_plot_means

test_ev_compensation_advanced_plot_means.png

test_ev_compensation_basic

Kiểm tra xem mức bù EV có được áp dụng hay không bằng cách sử dụng phạm vi được tạo bằng CONTROL_AE_COMPENSATION_STEP . Tám khung hình được chụp ở mỗi giá trị bù.

API đã được thử nghiệm:

Đạt: Chụp độ sáng tăng khi cài đặt bù EV tăng và tám khung hình được chụp cho mỗi cài đặt bù EV có giá trị độ sáng ổn định.

test_ev_compensation_basic

test_ev_compensation_basic.png

test_exposure

Các thử nghiệm cho thấy mức phơi sáng liên tục đạt được 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ẽ 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ị giới hạn ở mức 0 hoặc 1 (điều này sẽ khiến chúng trông giống như các đường thẳng). Bạn cũng có thể chạy thử nghiệm với ảnh RAW bằng cách đặt cờ debug trong tệp cấu hình của mình.

API đã được thử nghiệm:

Đạt: Hình ảnh có cùng độ sáng nhưng nhiễu hơn khi ISO cao hơn. Các mặt phẳng RGB phẳng khi giá trị phơi sáng ISO* không đổi trong không gian khuếch đại được thử nghiệm.

test_exposure_plot_means

test_exposure_plot_means.png

test_exposure_mult=1,00test_exposure_mult=64,00
test_exposure_mult=1.00.jpg test_exposure_mult=64.00.jpg

test_jpeg

Các thử nghiệm chuyển đổi hình ảnh YUV và hình ảnh JPEG của thiết bị trông giống nhau. Kiểm tra lấy 10% phần trung tâm của hình ảnh và tính toán giá trị RGB, đồng thời xác minh rằng chúng khớp.

API đã được thử nghiệm:

Đạt: Độ chênh lệch RGB trung bình giữa mỗi hình ảnh nhỏ hơn 3%.

test_jpeg_fmt=jpg.jpgtest_jpeg=fmt=yuv.jpg
test_jpeg_fmt=jpg.jpg test_jpeg=fmt=yuv.jpg

test_latching

Kiểm tra xem các cài đặt (độ phơi sáng và độ lợi) có bám vào khung bên phải cho máy ảnh FULLLEVEL_3 không. Chụp một loạt ảnh bằng các yêu cầu liên tiếp, thay đổi thông số yêu cầu chụp giữa các lần chụp. Kiểm tra xem hình ảnh có các thuộc tính được mong đợi hay không.

API đã được thử nghiệm:

Đạ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 mức RGB cao hơn trên test_latching_plot_means.png .

test_latching_i=00.jpgtest_latching_i=01.jpgtest_latching_i=02.jpg
test_latching_i=00.jpg test_latching_i=01.jpg test_latching_i=02.jpg
test_latching_i=03.jpgtest_latching_i=04.jpgtest_latching_i=05.jpg
test_latching_i=03.jpg test_latching_i=04.jpg test_latching_i=05.jpg
test_latching_i=06.jpgtest_latching_i=07.jpgtest_latching_i=08.jpg
test_latching_i=06.jpg test_latching_i=07.jpg test_latching_i=08.jpg
test_latching_i=09.jpgtest_latching_i=10.jpgtest_latching_i=11.jpg
test_latching_i=09.jpg test_latching_i=10.jpg test_latching_i=11.jpg
test_latching_i=12.jpg
test_latching_i=12.jpg

test_latching_plot_means

test_latching_plot_means.png

test_tuyến tính

Kiểm tra việc xử lý thiết bị có thể được đảo ngược thành pixel tuyến tính. Chụp một chuỗi ảnh với thiết bị hướng vào một mục tiêu đồng nhất.

API đã được thử nghiệm:

Đạt: Giá trị R, G, B phải tăng tuyến tính với độ nhạy tăng.

test_tuyến tính_plot_mean

test_lineity_plot_means.png

test_locked_burst

Kiểm tra khóa 3A và nổ YUV (sử dụng cài đặt tự động). Thử nghiệm này được thiết kế để vượt qua ngay cả trên một số thiết bị hạn chế không có MANUAL_SENSOR hoặc PER_FRAME_CONTROLS . Kiểm tra kiểm tra tính nhất quán của hình ảnh YUV trong khi kiểm tra tốc độ khung hình ở CTS.

API đã được thử nghiệm:

Đạt: Ảnh chụp có vẻ nhất quán.

test_locked_burst_frame0

test_locked_burst_frame0.jpg

test_locked_burst_frame1

test_locked_burst_frame1.jpg

test_locked_burst_frame2

test_locked_burst_frame2.jpg

test_param_color_ Correction

Kiểm tra xem các tham số android.colorCorrection.* có được áp dụng khi được đặt hay không. Chụp ảnh với các giá trị biến đổi và khuếch đại khác nhau, đồng thời kiểm tra xem chúng trông có khác nhau tương ứng hay không. Phép biến đổi và mức tăng được chọn để làm cho đầu ra ngày càng có màu đỏ hoặc xanh lam. Sử dụng một bản đồ giai điệu tuyến tính. Ánh xạ giai điệu là một kỹ thuật được sử dụng trong xử lý hình ảnh để ánh xạ một tập hợp màu này sang tập hợp màu khác nhằm gần đúng sự xuất hiện của hình ảnh có dải động cao trong môi trường có dải động hạn chế hơn.

API đã được thử nghiệm:

Đạt: Giá trị R và B tăng theo chuyển đổi.

test_param_color_ Correction_plot_means

test_param_color_ Correction_plot_means.png

*Trục x là yêu cầu chụp: 0 = thống nhất, 1=tăng đỏ, 2= tăng xanh

test_param_color_ Correction_req=0

test_param_color_ Correction_req=0.jpg

test_param_color_currency_req=1

test_param_color_currness_req=1.jpg (tăng R)

test_param_color_ Correction_req=2

test_param_color_ Correction_req=2.jpg (Tăng B)

test_param_exposure_time

Kiểm tra xem thông số android.sensor.exposureTime có được áp dụng hay không.

API đã được thử nghiệm:

Vượt qua: Mỗi lần chụp sáng hơn lần chụp trước.

test_param_exposure_time_frame0

test_param_exposure_time_frame0.jpg

test_param_exposure_time_plot

test_param_exposure_time_plot.png

test_param_flash_mode

Kiểm tra xem tham số android.flash.mode có được áp dụng hay không. Đặt mức phơi sáng ở phía tối theo cách thủ công để có thể thấy rõ liệu đèn flash có bật hay không và sử dụng sơ đồ tông màu tuyến tính. Kiểm tra phần giữa của hình ảnh xếp chồng để xem liệu có độ chuyển màu lớn được tạo ra để xác minh xem đèn flash có bật hay không.

API đã được thử nghiệm:

Đạt: Phần giữa của hình ảnh xếp chồng có độ dốc lớn nghĩa là đèn flash đã đánh sáng.

test_param_flash_mode_1

test_param_flash_mode_1.jpg

test_param_flash_mode_1_tile

test_param_flash_mode_1_tile.jpg

test_param_flash_mode_2

test_param_flash_mode_2.jpg

test_param_flash_mode_2_tile

test_param_flash_mode_2_tile.jpg

test_param_noise_reduction

Kiểm tra xem thông số android.noiseReduction.mode có được áp dụng chính xác khi được đặt hay không. Chụp ảnh với máy ảnh thiếu sáng. Sử dụng mức tăng tương tự cao để đảm bảo hình ảnh được chụp bị nhiễu. Chụp ba hình ảnh, để tắt NR, "nhanh" và "chất lượng cao". Đồng thời chụp ảnh có mức tăng thấp và tắt NR, đồng thời sử dụng phương sai của giá trị này làm đường cơ sở. SNR (Tỷ lệ tín hiệu trên nhiễu) càng cao thì chất lượng hình ảnh càng tốt.

API đã được thử nghiệm:

Đạt: SNR thay đổi theo các chế độ giảm nhiễu khác nhau và hoạt động tương tự như biểu đồ bên dưới.

test_param_noise_reduction_plot_SNRs

test_param_noise_reduction_plot_SNRs.png

0: TẮT, 1: NHANH, 2: HQ, 3: PHÚT, 4: ZSL

test_param_noise_reduction_high_gain_nr=0

test_param_noise_reduction_high_gain_nr=0.jpg

test_param_noise_reduction_high_gain_nr=1

test_param_noise_reduction_high_gain_nr=1.jpg

test_param_noise_reduction_high_gain_nr=2

test_param_noise_reduction_high_gain_nr=2.jpg

test_param_noise_reduction_high_gain_nr=3

test_param_noise_reduction_high_gain_nr=3.jpg

test_param_noise_reduction_low_gain

test_param_noise_reduction_low_gain.jpg

test_param_sensitive

Kiểm tra xem thông số android.sensor.sensitivity có được áp dụng hay không. Thử nghiệm tăng độ nhạy theo 5 bước với mức phơi sáng cố định cho mỗi lần chụp.

API đã được thử nghiệm:

Đạt: RGB có nghĩa là trung tâm sáng hơn 10% với độ nhạy tăng lên.

test_param_sensitive_iso=0055

test_param_sensitive_iso=0055.jpg

test_param_sensitive_iso=1819

test_param_sensitive_iso=1819.jpg

test_param_sensitive_iso=3583

test_param_sensitive_iso=3583.jpg

test_param_sensitive_iso=5347

test_param_sensitive_iso=5347.jpg

test_param_sensitive_iso=7111

test_param_sensitive_iso=7111.jpg

test_param_sensitive_plot

test_param_sensitive_plot.png

test_param_shading_mode

Kiểm tra xem tham số android.shading.mode có được áp dụng hay không.

API đã được thử nghiệm:

Đạt: Chế độ đổ bóng được chuyển đổi và bản đồ đổ bóng ống kính được sửa đổi như mong đợi.

test_param_shading_mode_ls_maps_mode_0_loop_0

test_param_shading_mode_ls_maps_mode_0_loop_0.png

test_param_shading_mode_ls_maps_mode_1_loop_0

test_param_shading_mode_ls_maps_mode_1_loop_0.png

test_param_shading_mode_ls_maps_mode_2_loop_0

test_param_shading_mode_ls_maps_mode_2_loop_0.png

test_param_tonemap_mode

Kiểm tra xem tham số android.tonemap.mode có được áp dụng hay không. Áp dụng các đường cong sơ đồ tông màu khác nhau cho từng kênh R, G, B và kiểm tra xem hình ảnh đầu ra có được sửa đổi như mong đợi hay không. Bài kiểm tra này bao gồm hai bài kiểm tra, test1 và test2.

API đã được thử nghiệm:

Vượt qua:

  • test1: Cả hai hình ảnh đều có sơ đồ tông màu tuyến tính, nhưng n=1 có độ dốc cao 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 sơ đồ tông màu nhưng có độ dài khác nhau. Hình ảnh giống nhau.
test_param_tonemap_mode_n=0.jpgtest_param_tonemap_mode_n=1.jpg
test_param_tonemap_mode_n=0.jpg test_param_tonemap_mode_n=1.jpg

test_post_raw_sensitive_boost

Kiểm tra việc tăng độ nhạy RAW sau khi đăng. Chụp một bộ ảnh RAW và YUV với độ nhạy khác nhau, đăng kết hợp tăng cường độ nhạy RAW và kiểm tra xem giá trị trung bình của pixel đầu ra có khớp với cài đặt yêu cầu hay không.

API đã được thử nghiệm:

Đạt: Hình ảnh RAW trở nên tối hơn khi mức tăng cường tăng lên trong khi hình ảnh YUV giữ nguyên độ sáng

test_post_raw_sensitive_boost_raw_s=3583_boost=0100

test_post_raw_sensitive_boost_raw_s=3583_boost=0100.jpg

test_post_raw_sensitive_boost_raw_s=1792_boost=0200

test_post_raw_sensitive_boost_raw_s=1792_boost=0200.jpg

test_post_raw_sensitive_boost_raw_s=0896_boost=0400

test_post_raw_sensitive_boost_raw_s=0896_boost=0400.jpg

test_post_raw_sensitive_boost_raw_s=0448_boost=0800

test_post_raw_sensitive_boost_raw_s=0448_boost=0800.jpg

test_post_raw_sensitive_boost_raw_s=0224_boost=1600

test_post_raw_sensitive_boost_raw_s=0224_boost=1600.jpg

test_post_raw_sensitive_boost_raw_s=0112_boost=3199

test_post_raw_sensitive_boost_raw_s=0112_boost=3199.jpg

test_post_raw_sensitive_boost_raw_plot_means

test_post_raw_sensitive_boost_raw_plot_means.png

test_post_raw_sensitive_boost_yuv_s=0112_boost=3199

test_post_raw_sensitive_boost_yuv_s=0112_boost=3199.jpg

test_post_raw_sensitive_boost_yuv_s=0448_boost=0800

test_post_raw_sensitive_boost_yuv_s=0448_boost=0800.jpg

test_post_raw_sensitive_boost_yuv_s=0896_boost=0400

test_post_raw_sensitive_boost_yuv_s=0896_boost=0400.jpg

test_post_raw_sensitive_boost_yuv_s=1792_boost=0200

test_post_raw_sensitive_boost_yuv_s=1792_boost=0200.jpg

test_post_raw_sensitive_boost_yuv_s=3585_boost=0100

test_post_raw_sensitive_boost_yuv_s=3585_boost=0100.jpg

test_post_raw_sensitive_boost_yuv_plot_means

test_post_raw_sensitive_boost_yuv_plot_means.png

test_raw_burst_sensitive

Chụp một tập hợp ảnh thô với mức tăng dần và đo nhiễu. Chỉ chụp ảnh thô, liên tục.

API đã được thử nghiệm:

Vượt qua: Mỗi cú đánh ồn hơn cú đánh trước vì mức tăng dần.

Sử dụng phương sai của ô lưới thống kê trung tâm.

test_raw_burst_sensitive_variance

test_raw_burst_sensitive_variance.png

test_raw_exposure

Chụp một tập hợp ảnh thô với thời gian phơi sáng tăng dần và đo các giá trị pixel.

API đã được thử nghiệm:

Đạt: Việc tăng ISO (tăng) làm cho các pixel nhạy hơn với ánh sáng, do đó cốt truyện sẽ di chuyển về phía bên trái.

test_raw_exposure_s=55

test_raw_exposure_s=55.png

(10⁰ là 1 ms, 10¹ là 10 ms, 10⁻¹ là 0,1 ms)

test_raw_exposure_s=132

test_raw_exposure_s=132.png

test_raw_exposure_s=209

test_raw_exposure_s=209.png

test_raw_exposure_s=286

test_raw_exposure_s=286.png

test_raw_exposure_s=363

test_raw_exposure_s=363.png

test_raw_exposure_s=440

test_raw_exposure_s=440.png

test_raw_sensitive

Chụp một bộ ảnh thô với độ nhạy tăng dần và đo độ nhiễu (phương sai) ở trung tâm 10% ảnh. Kiểm tra rằng mỗi phát bắn ồn hơn lần trước.

API đã được thử nghiệm:

Vượt qua: Phương sai tăng lên sau mỗi lần bắn.

test_raw_sensitive_variance

test_raw_sensitive_variance.png

test_reprocess_noise_reduction

Kiểm tra xem android.noiseReduction.mode có được áp dụng để xử lý lại các yêu cầu hay không. Chụp ảnh được xử lý lại trong điều kiện ánh sáng yếu của máy ảnh. Sử dụng mức tăng tương tự cao để đảm bảo hình ảnh chụp bị nhiễu. Chụp ba hình ảnh được xử lý lại, để tắt NR, "nhanh" và "chất lượng cao". Chụp một hình ảnh được xử lý lại với mức tăng thấp và tắt NR, đồng thời sử dụng phương sai của hình ảnh này làm đường cơ sở.

API đã được thử nghiệm:

Đạt: NHANH CHÓNG >= TẮT, HQ >= NHANH CHÓNG, HQ >> TẮT

Biểu đồ SNR và NR_MODE điển hình

Biểu đồ SNR và NR_MODE điển hình

test_tonemap_sequence

Kiểm tra chuỗi ảnh với các đường cong bản đồ tông màu khác nhau. Chụp 3 ảnh thủ công với bản đồ tông màu tuyến tính. Chụp 3 ảnh thủ công với bản đồ tông màu mặc định. Tính toán delta giữa mỗi cặp khung liên tiếp.

API đã được thử nghiệm:

Đạt: Có 3 khung hình giống hệt nhau, theo sau là một bộ 3 khung hình giống hệt nhau.

test_tonemap_sequence_i=0

test_tonemap_sequence_i=0.jpg

test_tonemap_sequence_i=1

test_tonemap_sequence_i=1.jpg

test_tonemap_sequence_i=2

test_tonemap_sequence_i=2.jpg

test_tonemap_sequence_i=3

test_tonemap_sequence_i=3.jpg

test_tonemap_sequence_i=4

test_tonemap_sequence_i=4.jpg

test_tonemap_sequence_i=5

test_tonemap_sequence_i=5.jpg

test_yuv_jpeg_all

Kiểm tra xem tất cả các kích thước và định dạng được báo cáo để chụp ảnh có hoạt động không. Sử dụng yêu cầu thủ công với sơ đồ 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. Hình ảnh không được lưu theo mặc định nhưng có thể được lưu bằng cách bật debug_mode .

API đã được thử nghiệm:

Đạt: Tất cả các trung tâm hình ảnh đều có chênh lệch RMS (giá trị bình phương trung bình gốc của tín hiệu) tối đa trong các 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

test_yuv_jpeg_all.png

test_yuv_plus_dng

Kiểm tra xem kích thước và định dạng được báo cáo để chụp ảnh có hoạt động không.

API đã được thử nghiệm:

Đạt: Kiểm tra hoàn thành và trả về hình ảnh được yêu cầu.

test_yuv_plus_dng

test_yuv_plus_dng.jpg

test_yuv_plus_jpeg

Thử nghiệm chụp một khung hình ở cả đầu ra YUV và JPEG. Sử dụng yêu cầu thủ công với sơ đồ 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.

API đã được thử nghiệm:

Đạ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) nhỏ hơn 1%.

test_yuv_plus_jpg_jpg.jpgtest_yuv_plus_jpeg_yuv.jpg
test_yuv_plus_jpg_jpg.jpg test_yuv_plus_jpeg_yuv.jpg

test_yuv_plus_raw

Thử nghiệm chụp một khung hình ở 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 sơ đồ tông màu tuyến tính nên dữ liệu thô và YUV dự kiến ​​sẽ giống nhau. So sánh giá trị RGB 10% ở trung tâm của hình ảnh được chuyển đổi RGB. Nhật ký android.shading.mode .

API đã được thử nghiệm:

Đạt: 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) nhỏ hơn 3,5%.

test_yuv_plus_raw_shading=1_raw.jpgtest_yuv_plus_raw_shading=1_yuv.jpg
test_yuv_plus_raw_shading=1_raw.jpg test_yuv_plus_raw_shading=1_yuv.jpg

cảnh2_a

scene2_a có ba khuôn mặt với nền màu xám và quần áo màu trung tính. Những khuôn mặt được chọn để có nhiều tông màu da khác nhau. Biểu đồ phải có hướng chính xác để tính năng nhận diện khuôn mặt hoạt động tối ưu.

cảnh2_a

cảnh2_a

test_auto_flash

Kiểm tra đèn flash tự động được kích hoạt trong cảnh tối. Xác minh rằng đèn flash tự động được kích hoạt bằng cách kiểm tra xem phần giữa của hình ảnh xếp có dải màu lớn hay không. Để kích hoạt đèn flash tự động, máy tính bảng và đèn trong thiết bị kiểm tra phải được tắt. Máy tính bảng được tắt khi kiểm tra và đèn có thể tự động tắt bằng bộ điều khiển Arduino. Cảnh phải tối hoàn toàn để thử nghiệm hoạt động chính xác. Như vậy, lỗ mở của máy tính bảng phía sau phải được che hoàn toàn bởi máy tính bảng cảnh, còn lỗ mở phía trước phải được che bởi khẩu độ và điện thoại DUT để chặn ánh sáng đi lạc vào giàn.

API đã được thử nghiệm:

Đạt: Phần giữa của ảnh xếp có độ dốc lớn nghĩa là đèn flash tự động bật.

test_autoframing

Kiểm tra hành vi tự động lấy khung của thiết bị máy ảnh. Thực hiện thu phóng lớn sao cho không nhìn thấy khuôn mặt nào trong cảnh, bật chế độ tự động lấy khung bằng cách đặt AUTOFRAMING trong CaptureRequest thành True và xác minh xem liệu tất cả các khuôn mặt trong cảnh ban đầu có thể được phát hiện khi trạng thái hội tụ hay không (nghĩa là khi AUTOFRAMING_STATE trong CaptureResult được đặt thành AUTOFRAMING_STATE_CONVERGED ).

API đã được thử nghiệm:

Đạt: Cả ba khuôn mặt đều được phát hiện.

test_display_p3

Kiểm tra Hiển thị ảnh chụp P3 ở định dạng JPEG bằng API ColorSpaceProfiles . Kiểm tra xem JPEG đã chụp có cấu hình ICC thích hợp trong tiêu đề của nó hay không và hình ảnh đó có chứa các màu nằm ngoài gam sRGB hay không.

API đã được thử nghiệm:

Đạt: JPEG chứa cấu hình ICC Display P3 và các màu nằm ngoài gam sRGB.

test_effect

Chụp khung hình cho các hiệu ứng máy ảnh được hỗ trợ và kiểm tra xem chúng có được tạo chính xác hay không. Bài kiểm tra chỉ kiểm tra hiệu ứng OFFMONO , nhưng lưu hình ảnh cho tất cả các hiệu ứng được hỗ trợ.

API đã được thử nghiệm:

Đạt: Chụp ảnh cảnh có hiệu ứng OFF và ảnh đơn sắc có hiệu ứng được đặt thành MONO .

test_effect_MONO

test_effect_MONO.jpg

test_format_combos

Kiểm tra sự kết hợp khác nhau của các định dạng đầu ra.

API đã được thử nghiệm:

Vượt qua: Tất cả các kết hợp đều được ghi lại thành công.

test_jpeg_quality

Kiểm tra chất lượng nén JPEG của máy ảnh. Nâng cao chất lượng JPEG thông qua android.jpeg.quality và đảm bảo Bảng lượng tử hóa thay đổi chính xác.

API đã được thử nghiệm:

Đạt: Ma trận lượng tử hóa giảm khi chất lượng tăng. (Ma trận biểu thị hệ số chia.)

test_jpeg_quality

Ma trận DQT độ sáng/sắc độ DQT của camera sau Pixel 4 so với chất lượng JPEG

test_jpeg_quality không thành công

Ví dụ về thử nghiệm thất bại

Lưu ý rằng đối với hình ảnh chất lượng rất thấp (jpeg.quality < 50), độ nén trong ma trận lượng tử hóa không tăng.

test_num_faces

Kiểm tra nhận diện khuôn mặt.

API đã được thử nghiệm:

Đạt: Tìm ba khuôn mặt.

test_num_faces_fd_mode_1

test_num_faces_fd_mode_1.jpg

test_preview_min_frame_rate

Kiểm tra xem tốc độ khung hình xem trước có giảm chính xác trong cảnh tối hay không. Để thử nghiệm này hoạt động chính xác, đèn trong giàn thử nghiệm phải được người điều khiển tắt hoặc người vận hành thử nghiệm tắt bằng tay.

API đã được thử nghiệm:

Đạ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à độ chênh lệch giữa các khung hình nhỏ hơn dung sai tuyệt đối được đặt trong thử nghiệm.

test_reprocess_uv_swap

Các thử nghiệm cho thấy quá trình tái xử lý YUV không hoán đổi 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 mặt phẳng U và V đầu ra của ảnh chụp được xử lý lại dẫn đến SAD tăng lên thì đầu ra được giả định là có mặt phẳng U và V chính xác.

API đã được thử nghiệm:

Đạt: Mặt phẳng U và V không được hoán đổi cho nhau.

test_reprocess_uv_swap

test_reprocess_uv_swap.png

cảnh2_b

test_num_faces

Kiểm tra khả năng nhận diện khuôn mặt với sự đa dạng của tông màu da tăng lên trong các cảnh khuôn mặt.

API đã được thử nghiệm:

Đạt: Tìm được 3 khuôn mặt.

test_num_faces_fd_mode_1

test_num_faces_fd_mode_1.jpg

test_yuv_jpeg_capture_sameness

Chụp hai hình ảnh bằng định dạng YUV và JPEG phổ biến lớn nhất với 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 bề mặt kép. Chuyển đổi cả hai hình ảnh thành mảng RGB và tính toán chênh lệch bình phương trung bình gốc (RMS) 3D giữa hai hình ảnh.

API đã được thử nghiệm:

Đạ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) nhỏ hơn 1%.

cảnh2_c

test_num_faces

Kiểm tra khả năng nhận diện khuôn mặt với sự đa dạng của tông màu da tăng lên trong các cảnh khuôn mặt.

API đã được thử nghiệm:

Đạt: Tìm được 3 khuôn mặt.

test_num_faces_fd_mode_1

test_num_faces_fd_mode_1.jpg

test_jpeg_capture_perf_class

Kiểm tra độ trễ chụp ảnh JPEG cho loại hiệu suất S như được chỉ định trong phần 2.2.7.2 Máy ảnh trong CDD.

Đạt: PHẢI có độ trễ chụp ảnh JPEG của camera2 < 1000 mili giây cho độ phân giải 1080p được đo bằng Kiểm tra hiệu suất của camera CTS trong điều kiện ánh sáng ITS (3000K) cho cả hai camera chính.

test_máy ảnh_launch_perf_class

Kiểm tra độ trễ khởi chạy máy ảnh cho lớp hiệu suất S như được chỉ định trong phần 2.2.7.2 Máy ảnh trong CDD.

Đạt: PHẢI có độ trễ khởi động camera2 (mở camera tới khung xem trước đầu tiên) < 600 mili giây được đo bằng Kiểm tra hiệu suất camera CTS trong điều kiện ánh sáng ITS (3000K) cho cả hai camera chính.

cảnh2_d

test_num_faces

Kiểm tra khả năng nhận diện khuôn mặt với sự đa dạng của tông màu da tăng lên trong các cảnh khuôn mặt.

API đã được thử nghiệm:

Đạt: Tìm được 3 khuôn mặt.

cảnh2_e

test_continuous_picture

50 khung hình có độ phân giải VGA được chụp với cài đặt đầu tiên của yêu cầu chụp android.control.afMode = 4 (CONTINUOUS_PICTURE).

API đã được thử nghiệm:

Đạ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 tra khả năng nhận diện khuôn mặt với sự đa dạng của tông màu da tăng lên trong các cảnh khuôn mặt.

API đã được thử nghiệm:

Đạt: Tìm được 3 khuôn mặt.

cảnh2_f

scene2_f có ba khuôn mặt với nền trắng và quần áo trắng. Khuôn mặt có nhiều tông màu da và độ tương phản cao với nền.

cảnh2_f.png

cảnh2_f

test_num_faces

Kiểm tra khả năng nhận diện khuôn mặt với sự đa dạng của tông màu da tăng lên trong các cảnh khuôn mặt.

API đã được thử nghiệm:

Đạt: Tìm được 3 khuôn mặt.

test_num_faces_fd_mode_1

test_num_faces_fd_mode_1.jpg

cảnh3

Cảnh3 sử dụng biểu đồ ISO12233 và hầu hết các thử nghiệm sử dụng phương pháp trích xuất biểu đồ để tìm biểu đồ trong cảnh. Vì lý do này, hầu hết các hình ảnh đã lưu không có đường viền như hình ảnh cho cảnh 1, 2 hoặc 4, nhưng chỉ có biểu đồ. Biểu đồ phải theo hướng chính xác để công cụ tìm biểu đồ hoạt động tối ưu.

test_3a_consistency

Các thử nghiệm cho tính nhất quán 3A.

API đã kiểm tra:

Vượt qua: 3A hội tụ cho phơi sáng, đạt được, AWB (cân bằng trắng tự động) và FD (khoảng cách lấy nét) ba lần trong khả năng chịu đựng.

test_edge_enhancement

Các kiểm tra rằng tham số android.edge.mode được áp dụng chính xác. Chụp các hình ảnh không xử lý cho mỗi chế độ cạnh và trả về độ sắc nét của hình ảnh đầu ra và siêu dữ liệu kết quả chụp. Xử lý một yêu cầu chụp với chế độ cạnh nhất đị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.

Vượt qua: 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 .

API đã kiểm tra:

Thông số camera bị ảnh hưởng:

  • EDGE_MODE

test_edge_enhancement_edge = 0

test_edge_enhancement_edge = 0.jpg

test_edge_enhancement_edge = 1

test_edge_enhancement_edge = 1.jpg (chế độ nhanh)

test_edge_enhancement_edge = 2

test_edge_enhancement_edge = 2.jpg (chế độ chất lượng cao)

test_flip_mirror

Các thử nghiệm nếu hình ảnh được định hướng đúng theo camera CDD Phần 7.5.2 [C-1-5] .

Hình ảnh được nhân đôi, lật hoặc xoay có thể được xác định bởi tính năng kim cương gần trung tâm.

Pass: Hình ảnh không bị lật, nhân đôi hoặc xoay.

test_flip_mirror_scene_patch

test_flip_mirror_scene_patch.jpg

test_landscape_to_portrait

Kiểm tra nếu cảnh quan để ghi đè lên các chức năng chính xác cho các cảm biến định hướng cảnh quan.

API đã kiểm tra:

PASS: Bài kiểm tra có thể định vị một biểu đồ với vòng quay dự kiến ​​(0 độ khi cảnh quan để ghi đè chân dung bị vô hiệu hóa, 90 độ khi được bật).

test_landscape_to_portrait

test_landscape_to_portrait.png

test_lens_movement_reporting

Các thử nghiệm nếu cờ chuyển động ống kính được báo cáo đúng. Chụp một vụ nổ 24 hình ảnh với 12 khung hình đầu tiên ở khoảng cách lấy nét tối ưu (như được tìm thấy bởi 3A) và 12 khung hình cuối cùng ở khoảng cách lấy nét tối thiểu. Xung quanh khung 12, ống kính di chuyển làm cho độ sắc nét giảm. Độ sắc nét cuối cùng ổn định khi ống kính di chuyển đến vị trí cuối cùng. Cờ chuyển động của ống kính nên được khẳng định trong tất cả các khung trong đó độ sắc nét trung gian đến độ sắc nét trong một vài khung đầu tiên với ống kính đứng yên ở khoảng cách tiêu cự tối ưu và một vài khung cuối cùng trong đó ố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 khẳng định khi ống kính đang di chuyển.

API đã kiểm tra:

Pass: Cờ chuyển động của ống kính là True trong khung với sự thay đổi độ sắc nét.

Cơ chế thất bại:

  • lens_moving: True ( android.hardware.camera2.CaptureResult#LENS_STATE = 1) trong test_log.DEBUG chỉ được khẳng định trong các khung mà độ sắc nét không thay đổi.
  • Khung có lens_moving: False ( android.hardware.camera2.CaptureResult#LENS_STATE = 0) trong test_log.DEBUG có chênh lệch độ sắc nét so với một vài khung đầu tiên ở khoảng cách tiêu cự tối ưu hoặc một vài khung cuối cùng ở khoảng cách tập trung tối thiểu.

test_reprocess_edge_enhancement

Các thử nghiệm nếu các phương pháp tái xử lý được hỗ trợ để tăng cường cạnh hoạt động đúng. Xử lý một yêu cầu chụp với chế độ cạnh tái chế nhất định và so sánh các chế độ khác nhau để nắm bắt với các chế độ cạnh tái chế bị vô hiệu hóa.

API đã kiểm tra:

PASS: Độ sắc nét cho các chế độ cạnh khác nhau là chính xác. HQ (Chế độ 2) sắc nét hơn OFF (Chế độ 0) và cải tiến giữa các chế độ khác nhau là tương tự nhau.

test_reprocess_edge_enhancement_plot

test_reprocess_edge_enhancement_plot.png

Cảnh4

Cảnh4 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ảnh4

Cảnh4

test_aspect_ratio_and_crop

Các thử nghiệm nếu hình ảnh bị biến dạng hoặc cắt bất ngờ trong đường ống hình ảnh. Chụp ảnh của một vòng tròn trên tất cả các định dạng. Xác minh vòng tròn không bị biến dạng, vòng tròn không di chuyển từ trung tâm của hình ảnh và vòng tròn không thay đổi kích thước không chính xác với các tỷ lệ hoặc độ phân giải khung hình khác nhau.

API đã kiểm tra:

Pass: Hình ảnh không được kéo dài, trung tâm của hình ảnh không khác nhau hơn 3%và FOV tối đa có thể (trường nhìn) được bảo tồn.

Cơ chế thất bại:

  • Vòng tròn trong hình ảnh chụp được biến dạng bởi đường ống xử lý.
  • Hình ảnh độ phân giải thấp hơn được cắt đôi trong đường ống hình ảnh tạo ra các hình ảnh 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 chụp được cắt do yêu cầu chụp tỷ lệ khung hình cực cao 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 chụp có một hình ảnh phản chiếu ở trung tâm và không xuất hiện đầy đủ.

test_multi_camera_alignment

Kiểm tra các tham số hiệu chuẩn camera liên quan đến định vị camera cho các hệ thống đa camera. Sử dụng các camera phụ vật lý đa camera, chụp ảnh với một trong những máy ảnh vật lý. Tìm trung tâm vòng tròn. Dự án trung tâm vòng tròn với tọa độ thế giới cho mỗi máy ảnh. So sánh sự khác biệt giữa các trung tâm vòng tròn của máy ảnh trong tọa độ thế giới. Reprojection thế giới phối hợp trở lại tọa độ pixel và so sánh với bản gốc dưới dạng kiểm tra tính hợp lệ. So sánh các kích thước vòng tròn kiểm tra xem độ dài tiêu cự của máy ảnh là khác nhau.

API đã kiểm tra:

Pass: Các trung tâm và kích thước vòng tròn như mong đợi trong hình ảnh được chiếu so với hình ảnh được chụp bằng cách sử dụng dữ liệu hiệu chuẩn camera và độ dài tiêu cự.

Cơ chế thất bại:

  • LENS_INTRINSIC_CALIBRATION , LENS_POSE_TRANSLATION hoặc LENS_POSE_ROTATION là các giá trị thiết kế và không phải là dữ liệu hiệu chuẩn thực tế.
  • Hệ thống camera không phù hợp cho thiết lập thử nghiệm. Ví dụ, thử nghiệm một hệ thống camera rộng và rộng với giàn thử nghiệm RFOV. Để biết thêm thông tin, hãy xem FAQ1 trong hộp của IT-A-Box .

test_preview_aspect_ratio_and_crop

Tương tự như bài kiểm tra Test_aspect_Ratio_and_Crop để chụp, thử nghiệm này kiểm tra các định dạng xem trước được hỗ trợ để đảm bảo các khung xem trước không được kéo dài 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ữ cho vòng tròn ở giữa khung và kích thước vòng tròn không thay đổi cho định dạng không đổi hoặc với các độ phân giải khác nhau (kiểm tra trường nhìn).

API đã kiểm tra:

Pass: Hình ảnh không được kéo dài, trung tâm của hình ảnh không khác nhau hơn 3%và FOV tối đa có thể (trường nhìn) được bảo tồ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 một cách thích hợp. Bài kiểm tra ghi lại hai video, một với ổn định ON và một video khác với sự ổn định OFF . Một khung đại diện được chọn từ mỗi video và được phân tích để đảm bảo rằng FOV thay đổi trong hai video nằm trong thông số kỹ thuật.

API đã kiểm tra:

Vượt qua: Tỷ lệ khung hình vòng tròn vẫn không đổi, 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 còn 20%.

test_video_aspect_ratio_and_crop

Lấy video về một vòng tròn bên trong một hình vuông trên tất cả các định dạng video. Trích xuất các khung 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ữ cho vòng tròn ở giữa và kích thước vòng tròn không thay đổi cho định dạng không đổi hoặc với độ phân giải khác nhau (kiểm tra trường nhìn).

API đã kiểm tra:

Vượt qua: Khung video không được kéo dài, trung tâm của các khung không khác nhau hơn 3%và FOV tối đa có thể (trường nhìn) được bảo tồn.

Cảnh5

Cảnh5 yêu cầu một cảnh màu xám được chiếu sáng thống nhất. Điều này được thực hiện bởi một bộ khuếch tán được đặt trên ống kính camera. Chúng tôi đề xuất bộ khuếch tán sau: www.edmundoptics.com/optics/window-diffusers/optical-diffusers/opal-diffusing-glass/46168 .

Để chuẩn bị cảnh, hãy gắn một bộ khuếch tán ở phía trước máy ảnh và hướng camera vào một nguồn chiếu sáng khoảng 2000 Lux. Hình ảnh được chụp cho cảnh5 yêu cầu ánh sáng khuếch tán không có tính năng rõ ràng. Sau đây là hình ảnh mẫu:

Cảnh5

Cảnh5 chụp

test_lens_shading_and_color_uniformity

Các thử nghiệm cho thấy hiệu chỉnh bóng ống kính được áp dụng một cách thích hợp, và màu sắc của cảnh đồng nhất đơn sắc được phân phối đều. Thực hiện thử nghiệm này trên khung YUV với Auto 3A. Bóng ống kính được đánh giá dựa trên kênh Y. Đo giá trị y trung bình cho mỗi khối mẫu được chỉ định và xác định vượt qua hoặc thất bại bằng cách so sánh với giá trị y trung tâm. Thử nghiệm tính đồng nhất màu được đánh giá trong không gian R/G và B/G.

API đã kiểm tra:

PASS: Ở bán kính được chỉ định của hình ảnh, phương sai của giá trị R/G và B/G phải nhỏ hơn 20% để vượt qua bài kiểm tra.

Cảnh6

Cảnh6 là một lưới các vòng tròn nhỏ với một hình vuông ở một góc để biểu thị định hướng. Các vòng tròn nhỏ là cần thiết để kiểm tra chức năng phóng to trên một phạm vi lớn.

Cảnh6

Cảnh6

test_in_sensor_zoom

Kiểm tra hành vi của tính năng thu phóng cảm biến trong máy ảnh, tạo ra hình ảnh thô bị cắt.

Với trường hợp sử dụng luồng được đặt thành CROPPED_RAW , thử nghiệm có hai lần chụp trên phạm vi zoom, hình ảnh thô toàn cảnh (FOV) và hình ảnh thô bị cắt. Thử nghiệm chuyển đổi hình ảnh thành các mảng RGB, thu hẹp hình ảnh thô có kích thước đầy đủ thành kích thước được báo cáo bởi SCALER_RAW_CROP_REGION và tính toán chênh lệch bình phương trung bình 3D (RMS) giữa hai hình ảnh.

API đã kiểm tra:

Vượt qua: Sự khác biệt bình phương trung bình 3D (RMS) giữa hình ảnh thô bị cắt giảm và hình ảnh thô FOV đầy đủ nhỏ hơn 1%.

test_zoom

Kiểm tra hành vi phóng to camera. Thực hiện các lần chụp trên 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 phóng to.

API đã kiểm tra:

PASS: Kích thước tương đối của vòng tròn bị bắt là chính xác so với tỷ lệ zoom được yêu cầu để đảm bảo máy ảnh đang phóng to chính xác.

test_zoom

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 tra camera hành vi thu phóng độ trễ thấp. Thực hiện các bản ghi trên phạm vi zoom với android.control.settingsOverride = 1 (SETTINGS_OVERRIDE_ZOOM) và kiểm tra xem các vòng tròn trong hình ảnh đầu ra phù hợp với tỷ lệ zoom trong siêu dữ liệu chụp.

API đã kiểm tra:

PASS: Kích thước tương đối của vòng tròn bị bắt là chính xác so với siêu dữ liệu kết quả tỷ lệ zoom.

test_preview_video_zoom_match

Kiểm tra rằng trong khi ghi và phóng to, xem trước video và hiển thị đầu ra video và ghi lại cùng một đầu ra. Tính toán kích thước của vòng tròn gần trung tâm nhất ở các tỷ lệ zoom khác nhau và kiểm tra xem kích thước của vòng tròn có tăng hay không khi tỷ lệ zoom tăng.

API đã kiểm tra:

Pass: Kích thước tương đối của vòng tròn bị bắt là chính xác so với tỷ lệ zoom được yêu cầu trong video và xem trước.

VGA_640X480_KEY_FRAME.PNG

VGA_640X480_KEY_FRAME.PNG (trước khi zoom)

Xem trước_640x480_Key_Frame.png

Xem trước_640x480_Key_Frame.png (trước khi Zoom)

VGA_640X480_KEY_FRAME_ZOOMED.PNG

VGA_640X480_KEY_FRAME.PNG (sau khi zoom)

Xem trước_640x480_KEY_FRAME_ZOOMED.PNG

Xem trước_640x480_key_frame.png (sau khi zoom)

Cảnh_Extensions

Các thử nghiệm scene_extensions dành cho các phần mở rộng camera và phải sử dụng máy ảnh của nó trong một hộp , vì chúng yêu cầu kiểm soát chính xác môi trường thử nghiệm.

Cảnh_hdr

Cảnh scene_hdr bao gồm một bức chân dung ở bên trái và mã QR có độ tương phản thấp ở bên phải.

Cảnh_hdr

Cảnh_hdr

test_hdr_extension

Kiểm tra phần mở rộng HDR . Thực hiện các bản ghi có và không có phần mở rộng được bật và kiểm tra xem phần mở rộng có làm cho mã QR phát hiện hơn không.

API đã kiểm tra:

Truyền: Phần mở rộng HDR làm giảm số lượng 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.

Cảnh_night

Cảnh scene_night bao gồm một vòng tròn màu trắng với bốn vòng tròn nhỏ hơn bên trong nó, tất cả đều dựa vào một nền đen. Vòng tròn nhỏ hơn ở góc trên bên phải tối hơn các vòng khác để chỉ định hướng.

Cảnh_night

Cảnh_night

test_night_extension

Kiểm tra phần mở rộng ban đêm . Thực hiện các cảnh quay có và không có kích hoạt tiện ích mở rộng và kiểm tra các mục sau:

  • Việc bắt giữ với phần mở rộng ban đêm được bật mất nhiều thời gian hơn.
  • Việc bắt giữ với phần mở rộng ban đêm được kích hoạt sáng hơn hoặc có các hiện vật cảnh với vẻ ngoài được cải thiện.

API đã kiểm tra:

Vượt qua: So với việc bắt giữ mà không có tiện ích mở rộng ban đêm được bật, việc bắt giữ với phần mở rộng ban đêm được bật mất ít nhất 0,5 giây. Việc bắt giữ phải sáng hơn ít nhất 10% hoặc các chấm màu xám trong cảnh phải thấp hơn 20 pixel so với trung tâm của vòng tròn xung quanh.

Cảm biến nhiệt hạch

Kiểm tra nhiệt hạch cảm biến yêu cầu chuyển động điện thoại cụ thể trước mẫu bảng kiểm tra. Để có kết quả tối ưu, đảm bảo biểu đồ kiểm tra được gắn phẳng. Các biểu đồ không phẳng ảnh hưởng đến các tính toán xoay vòng cho nhiều bài kiểm tra. Các thử nghiệm sensor_fusion có thể được tự động hóa với hộp phản ứng tổng hợp cảm biến .

bàn cờ

Hình ảnh của bàn cờ

test_multi_camera_frame_sync

Các thử nghiệm rằng khung thời gian khung được ghi lại bằng camera logic nằm trong vòng 10 ms bằng cách tính toán các góc của hình vuông trong bảng kiểm tra để xác định dấu thời gian.

API đã kiểm tra:

Vượt qua: Góc giữa các hình ảnh từ mỗi máy ảnh không thay đổi đáng kể khi điện thoại được xoay.

test_preview_stabilization

Các thử nghiệm đã ổn định video xem trước quay ít hơn con quay hồi chuyển.

API đã kiểm tra:

Vượt qua: Xoay góc tối đa trên các khung là ít hơn 70% xoay quay hồi chuyển.

Sau đây là các video mẫu có và không có ổn định.

  • Video mẫu với sự ổn định

  • Video mẫu mà không ổn định

test_sensor_fusion

Kiểm tra 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ảng kiểm tra. Chuyển động là khoảng 2 giây chuyến đi khứ hồi. Thử nghiệm này được bỏ qua nếu không có con quay hồi chuyển hoặc nếu tham số REALTIME của nguồn thời gian không được bật.

Bài kiểm tra test_sensor_fusion tạo ra một số lô. Hai lô 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 thử nghiệm. Chuyển động theo hướng x và y ngụ ý điện thoại không được gắn an toàn trên tấm gắn, làm giảm xác suất kiểm tra đi qua. Số lượng chu kỳ trong cốt truyện phụ thuộc vào tốc độ ghi để lưu khung.

    test_sensor_fusion_gyro_events.png

    test_sensor_fusion_gyro_events

  • test_sensor_fusion_plot_rotations : hiển thị sự liên kết của các sự kiện con quay và máy ảnh. Biểu đồ này phải hiển thị chuyển động phù hợp giữa máy ảnh và con quay hồi chuyển đến +/- 1 ms.

    test_sensor_fusion_plot_rotations.png

    test_sensor_fusion_plot_rotations

API đã kiểm tra:

Pass: Offset của máy ảnh và con quay hồi chuyển dưới 1 ms theo phần CDD 7.3.9 Cảm biến độ trung thực cao [C-2-14] .

Cơ chế thất bại:

  • Lỗi bù: Offset cameran camera không được hiệu chỉnh chính xác trong vòng +/- 1 ms.
  • Nhảy khung: Đường ống 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 hiện kiểm tra.
  • Biểu đồ không được gắn phẳng. Biểu đồ test_sensor_fusion_plot_rotations có các khung trong đó xoay quay và quay camera thay đổi đáng kể khi camera quay 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 hiển thị chuyển động trong các mặt phẳng X và Y. Thất bại này phổ biến hơn trong các camera phía trước vì camera phía sau thường có vết sưng lên phần còn lại của thân điện thoại, tạo độ nghiêng khi lắp phía sau của điện thoại vào tấm lắp.

test_video_stabilization

Các thử nghiệm ổn định video quay ít hơn con quay hồi chuyển.

API đã kiểm tra:

Vượt qua: Xoay góc tối đa trên các khung nhỏ hơn 60% quay quay hồi con.

Sau đây là các video mẫu có và không có ổn định.

  • Video mẫu với sự ổn định

  • Video mẫu mà không ổn định

test_led_snapshot

Các thử nghiệm rằng các ảnh chụp nhanh LED không bão hòa hoặc tô màu hình ảnh.

Thử nghiệm này thêm một bộ điều khiển chiếu sáng vào hộp Fusion Fusion cảm biến để điều khiển đèn. Với đèn được đặt để OFF , bài kiểm tra có chế độ AUTO_FLASH được đặt thành ON . Trong quá trình bắt giữ này, thử nghiệm chạy một chuỗi các điểm trước với bộ kích hoạt aePrecapture để START và đặt ý định bắt giữ để Preview để chụp bằng flash.

Do việc chụp có điểm nóng đặc biệt do flash, thử nghiệm tính toán giá trị trung bình của hình ảnh flash của toàn bộ 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, thử nghiệm tính toán tỷ lệ R/G và B/G và xác minh xem các tỷ lệ có nằm trong khoảng 0,95 và 1,05 hay không.

API đã kiểm tra:

Vượt qua: Tỷ lệ R/G và B/G nằm trong phạm vi 0,95 và 1,05. Giá trị trung bình hình ảnh flash nằm trong phạm vi (68, 102).