Kiểm thử ITS bằng máy ảnh

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), một phần của Trình xác minh Bộ kiểm tra tính tương thích (CTS) với Android. Các bài kiểm thử ITS là bài kiểm thử chức năng, nghĩa là các bài kiểm thử này không đo lường chất lượng hình ảnh, nhưng tất cả các chức năng của camera đượ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 rõ chức năng của từng bài kiểm thử và cách gỡ lỗi khi kiểm thử không thành công.

Các bài kiểm thử ITS được cập nhật hoặc thêm vào mỗi phiên bản Android, như được trình bày chi tiết trong ghi chú phát hành Camera ITS cho phiên bản Android đó. Các bản cập nhật được đưa ra dựa trên lỗi do người dùng hoặc nhà phát triển báo cáo. Các nội dung bổ sung được thúc đẩy bởi lỗi do người dùng hoặc nhà phát triển báo cáo và xác thực hành vi chính xác của các tính năng khung máy ảnh mới.

Trong Android 17 trở lên, các kiểm thử ITS của Camera được chia thành hai hoạt động trong Trình xác minh CTS để cho phép thực thi song song và giảm thời gian kiểm thử: một hoạt động cho các kiểm thử feature_combination và sensor_fusion, và một hoạt động cho tất cả các kiểm thử khác. Để biết thêm thông tin, hãy xem phần Giảm thời gian kiểm thử.

Camera ITS kiểm tra các thuộc tính bắt buộc của máy ảnh, cấp độ API và cấp độ lớ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 soát các bài kiểm thử được thêm vào một cấp độ API cụ thể nhằm kiểm thử trải nghiệm tiêu cực của người dùng đố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 tra 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 vào các phần sau:

Cảnh thử nghiệm trên máy tính bảng

  • 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ù giá trị phơi sáng (EV), YUV so với JPEG và RAW
  • scene2: Phát hiện khuôn mặt, các bài kiểm tra yêu cầu cảnh có màu
  • scene3: Edge Enhance, chuyển động của ống kính
  • scene4: Tỷ lệ khung hình, cắt, trường nhìn
  • scene6: Zoom
  • scene7: Chuyển đổi nhiều camera
  • scene8: Đo sáng vùng tự động phơi sáng (AE) và tự động cân bằng trắng (AWB)
  • scene9: Nén JPEG
  • scene_extensions: Tiện ích máy ảnh
  • scene_tele: Chuyển đổi ống kính tiêu cự dài
  • scene_video: Loại khung hình

Cảnh thử nghiệm dựa trên sensor_fusion / giá đỡ Gen2

  • feature_combination: Tổ hợp tính năng
  • scene_flash: Đèn flash tự động, tốc độ khung hình tối thiểu
  • scene_gen2_chart: Các bài kiểm tra sử dụng biểu đồ giấy Gen2
  • scene_ip: Sự tương đồng về hình ảnh giữa ứng dụng máy ảnh mặc định và Ứng dụng máy ảnh Jetpack (JCA)
  • sensor_fusion: Độ lệch thời gian giữa camera và con quay hồi chuyển

Cảnh kiểm thử dựa trên bộ khuếch tán

  • scene5: Đổ bóng ống kính

Cảnh kiểm thử dựa trên máy tính bảng có gam màu rộng

Hãy xem từng phần để biết nội dung mô tả về mỗi cảnh.

Cảnh thử nghiệm trên máy tính bảng

scene0

Các bài kiểm thử không yêu cầu thông tin cụ thể về cảnh. Tuy nhiên, điện thoại phải ở trạng thái tĩnh để kiểm tra con quay hồi chuyển và độ rung.

test_jitter

Đo độ giật trong dấu thời gian của camera.

API đã kiểm thử:

Đạt: Có ít nhất 30 mili giây delta giữa các khung hình.

Trong hình sau, hãy lưu ý phạm vi nhỏ của trục y. Độ giật thực sự nhỏ trong biểu đồ này.

test_jitter plot

Hình 1. Biểu đồ test_jitter.

test_metadata

Kiểm tra tính hợp lệ của các mục siêu dữ liệu, xem kết quả chụp và các đối tượng đặc điểm của camera. Thử nghiệm này sử dụng các giá trị phơi sáng và khuếch đại auto_capture_request vì nội dung hình ảnh không quan trọng. Đây là một chương trình kiểm thử nhanh chóng phát hiện lỗi vì nó chạy trong thời gian ngắn, yêu cầu thiết lập tối thiểu và báo hiệu một số lượng đáng kể các chương trình kiểm thử không thành công ở giai đoạn sau. Bạn không nên chạy toàn bộ bộ kiểm thử cho đến khi test_metadata đạt trạng thái ĐẠT.

Các API đã kiểm thử:

Đạt: Cấp phần cứng, thẻ rollingShutterSkew, frameDuration, timestampSource, croppingType, blackLevelPattern, pixel_pitch, trường nhìn (FoV) và khoảng cách siêu tiêu cự đều có mặt và có giá trị hợp lệ.

test_request_capture_match

Kiểm tra xem thiết bị có ghi đúng giá trị độ phơi sáng và độ khuếch đại hay không bằng cách đọc lại siêu dữ liệu chụp. Đây là một chương trình kiểm thử nhanh chóng phát hiện lỗi vì chỉ cần thiết lập tối thiểu và báo hiệu một số lượng đáng kể các chương trình kiểm thử không thành công ở giai đoạn sau. Bạn không nên chạy toàn bộ bộ kiểm thử cho đến khi test_request_capture_match đạt trạng thái ĐẠT.

Các API đã kiểm thử:

Đạt: Giá trị siêu dữ liệu của yêu cầu và ảnh chụp khớp nhau trên tất cả các ảnh chụp.

test_sensor_events

Đối với các thiết bị quảng cáo hỗ trợ kết hợp cảm biến, kiểm thử này sẽ kiểm tra xem thiết bị có truy vấn và in ra các sự kiện 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ế. Thử nghiệm này chỉ hoạt động nếu màn hình đang bật, tức là thiết bị không ở chế độ chờ. Đây là một thử nghiệm nhanh, trong đó thử nghiệm này chạy trong thời gian ngắn, yêu cầu thiết lập tối thiểu và báo hiệu thử nghiệm kết hợp cảm biến không thành công. Các kiểm thử cảnh sensor_fusion không được chạy trừ phi test_sensor_events là PASS (ĐẠT) hoặc SKIP (BỎ QUA).

Các API đã kiểm thử:

Đạt: Nhận được sự kiện cho từng cảm biến.

test_solid_color_test_pattern

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

Nếu hình ảnh thô được hỗ trợ, thì việc chỉ định màu cũng sẽ đượ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 những camera không hỗ trợ hình ảnh thô, chỉ có màu đen được kiểm tra.

Các API đã kiểm thử:

Đạt: Các mẫu thử nghiệm đồng màu đượ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 tra tham 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 các khung hình được tạo chính xác cho màu đồng nhất và thanh màu. 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 kiểm thử được hỗ trợ.
  2. Kiểm tra độ chính xác của mẫu thử nghiệm màu đồng nhất và thanh màu.

Các API đã kiểm thử:

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

ví dụ về test_test_patterns

Hình 2. Ví dụ về test_test_patterns.

test_tonemap_curve

Kiểm thử việc chuyển đổi mẫu kiểm thử từ thô sang YUV bằng bản đồ sắc độ tuyến tính. Thử nghiệm 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 để chuyển đổi bản đồ sắc độ. Xác minh rằng quy trình có đầu ra màu 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ử:

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

Ví dụ về test_tonemap_curve raw

Hình 3. Ví dụ về ảnh thô test_tonemap_curve.

Ví dụ về test_tonemap_curve YUV

Hình 4. Ví dụ về YUV test_tonemap_curve.

test_unified_timestamp

Kiểm tra xem các sự kiện cảm biến hình ảnh và cảm biến chuyển động có nằm trong cùng một miền thời gian hay không. Đây là một thử nghiệm nhanh chóng, chạy trong thời gian ngắn, yêu cầu thiết lập tối thiểu và báo hiệu thử nghiệm kết hợp cảm biến không thành công. Không nên chạy các kiểm thử cảnh sensor_fusion trừ phi test_unified_timestamp là PASS (ĐẠT) hoặc SKIP (BỎ QUA).

Các API đã kiểm thử:

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

test_vibration_restriction

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

Các API đã kiểm thử:

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

scene1_1

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

Bạn có thể kiểm thử camera RFoV trong giàn kiểm thử WFoV hoặc RFoV. Nếu một camera RFoV được kiểm thử trong thiết bị kiểm thử WFoV, thì biểu đồ sẽ được điều chỉnh theo tỷ lệ 2/3 để chỉ định 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 nội dung mô tả chi tiết hơn về các thiết bị kiểm thử máy ảnh, hãy xem bài viết Camera ITS-in-a-box.

ví dụ về cảnh 1

Hình 5. Biểu đồ cảnh 1 có kích thước đầy đủ (bên trái), biểu đồ có tỷ lệ 2/3 (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 chụp trước. Chụp 5 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 chụp trước AE, trình kích hoạt này sẽ bị bỏ qua vì AE bị tắt.

Các API đã kiểm thử:

Đạt: AE hội tụ.

test_auto_vs_manual

Các ảnh chụp tự động và thủ công trong quá trình kiểm thử đều giống nhau.

Các API đã kiểm thử:

Đạt: Mức tăng và 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 example

Hình 6. Ví dụ về test_auto_vs_manual auto.

Ví dụ về cân bằng trắng test_auto_vs_manual

Hình 7. Ví dụ về cân bằng trắng test_auto_vs_manual.

Ví dụ về phép biến đổi cân bằng trắng thủ công test_auto_vs_manual

Hình 8. Ví dụ về phép biến đổi cân bằng trắng thủ công test_auto_vs_manual.

test_black_white

Kiểm tra xem thiết bị có tạo ra hình ảnh đen trắng hoàn toàn hay không. Chụp hai ảnh, ảnh đầu tiên có độ khuếch đại cực thấp và thời gian phơi sáng ngắn, dẫn đến ảnh có màu đen, còn ảnh thứ hai có độ khuếch đại cực cao và thời gian phơi sáng lâu, dẫn đến ảnh có màu trắng.

Các API đã kiểm thử:

Pass: Tạo hình ảnh đen trắng. Các kênh bão hoà của hình ảnh màu trắng có giá trị RGB là [255, 255, 255] với biên độ sai số chênh lệch dưới 1%.

test_black_white, ví dụ về màu đen

Hình 9. test_black_white, ví dụ về màu đen.

Ví dụ về phép biến đổi cân bằng trắng thủ công test_auto_vs_manual

Hình 10. test_black_white, ví dụ về màu trắng.

Ví dụ về giá trị trung bình của biểu đồ test_black_white

Hình 11. test_black_white, ví dụ về giá trị trung bình của biểu đồ.

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 của CPU.

Các API đã kiểm thử:

Đạt: Chụp một loạt ảnh có kích thước đầy đủ, kiểm tra xem có bị rớt khung hình và kiểm tra độ sáng của ảnh.

test_burst_sameness_manual

Chụp 5 loạt ảnh gồm 50 hình ảnh bằng chế độ cài đặt chụp thủ công và kiểm tra để đảm bảo tất cả đều giống hệt nhau. Hãy sử dụng thử nghiệm này để xác định xem có khung hình nào không ổn định được xử lý theo cách khác hoặc có cấu phần phần mềm hay không.

Các API đã kiểm thử:

Đạ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 mức tăng hoặc giảm đột biến của biểu đồ trung bình RGB ở đầu mỗi loạt ảnh

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

test_burst_sameness_manual_mean

Hình 12. Ví dụ về giá trị trung bình của test_burst_sameness_manual.

test_burst_sameness_manual_plot_means

Hình 13. test_burst_sameness_manual_plot_means

test_crop_region_raw

Kiểm tra để đảm bảo không thể cắt các luồng RAW.

Các API đã kiểm thử:

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

Ví dụ về cắt ảnh thô comp test_crop_region_raw

Hình 14. Ví dụ về ảnh thô được cắt bằng test_crop_region_raw.

test_crop_region_raw comp raw full example

Hình 15. Ví dụ đầy đủ về test_crop_region_raw comp raw.

Ví dụ về cắt YUV của thành phần test_crop_region_raw

Hình 16. Ví dụ về việc cắt YUV của thành phần test_crop_region_raw.

Ví dụ về test_crop_region_raw_yuv_full

Hình 17. Ví dụ đầy đủ về test_crop_region_raw YUV.

test_crop_regions

Kiểm tra để đảm bảo vùng cắt hoạt động. Lấy một hình ảnh đầy đủ và tạo các bản vá của năm vùng khác nhau (các góc và tâm). Chụp ảnh với chế độ cắt được đặt cho 5 vùng. So sánh giá trị của bản vá và hình ảnh cắt.

Các API đã kiểm thử:

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

test_ev_compensation

Kiểm tra để đảm bảo rằng giá trị bù phơi sáng (EV) được áp dụng. Bài kiểm tra này gồm có một phần cơ bản và một phần nâng cao.

Phần cơ bản kiểm tra xem mức bù trừ EV có được áp dụng bằng cách sử dụng một dải được tạo bằng CONTROL_AE_COMPENSATION_STEP hay không. Tám khung hình được chụp ở mỗi giá trị bù trừ.

Phần nâng cao tăng độ phơi sáng theo 8 bước và kiểm tra độ sáng đo được so với độ sáng dự kiến. Giá trị dự kiến được tính từ độ sáng của hình ảnh không áp dụng mức bù trừ 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ế. Thử nghiệm sẽ không đạt nếu giá trị dự kiến và giá trị đo được không khớp hoặc nếu hình ảnh bị phơi sáng quá mức trong vòng 5 bước.

Các API đã kiểm thử:

Phần cơ bản đạt yêu cầu: Hình ảnh cho thấy độ phơi sáng tăng dần mà không bị phơi sáng quá mức trong vòng 5 bước.

test_ev_compensation_basic

Hình 18. test_ev_compensation_basic.

Đạt phần nâng cao: Ghi lại mức tăng độ sáng khi chế độ cài đặt bù trừ EV tăng. 8 khung hình được chụp cho mỗi chế độ cài đặt bù trừ giá trị phơi sáng có giá trị độ sáng ổn định.

test_ev_compensation_advanced_plot_means

Hình 19. test_ev_compensation_advanced_plot_means.

test_exposure_x_iso

Kiểm tra xem có đạt được độ phơi sáng không đổi khi ISO và thời gian phơi sáng thay đổi hay không. 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ả sẽ có cùng độ sáng, nhưng trong suốt chuỗi, hình ảnh sẽ bị nhiễu hơn. Xác minh các giá trị trung bình của pixel mẫu gần nhau. Xác minh rằng hình ảnh không bị kẹp vào 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ử:

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

Cơ chế không thành công: Trong hình sau, khi giá trị hệ số nhân khuếch đại (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 lệch khỏi giá trị hệ số nhân khuếch đại thấp.

test_exposure_plot_means

Hình 20. test_exposure_plot_means.

test_exposure_mult=1.00.jpg

Hình 21. test_exposure_mult=1.00.

test_exposure_mult=64.00

Hình 22. test_exposure_mult=64.00.

test_latching

Kiểm tra để đảm bảo các chế độ cài đặt (độ phơi sáng và độ khuếch đại) được áp dụng cho đúng khung hình của camera FULL và LEVEL_3. Chụp một loạt ảnh bằng cách sử dụ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 lần chụp. Kiểm tra để đảm bảo hình ảnh có các thuộc tính như mong đợi.

Các API đã kiểm thử:

Đạt: Hình ảnh [2, 3, 6, 8, 10, 12, 13] có ISO hoặc độ phơi sáng tăng lên và xuất hiện với giá trị trung bình RGB cao hơn trong biểu đồ ở hình sau.

test_latching plot means example

Hình 23. Ví dụ về giá trị trung bình của biểu đồ test_latching.

test_latching i=00

Hình 24. test_latching i=00.

test_latching i=01

Hình 25. test_latching i=01.

test_latching i=02

Hình 26. test_latching i=02.

test_latching i=03

Hình 27. test_latching i=03.

test_latching i=04

Hình 28. test_latching i=04.

test_latching i=05

Hình 29. test_latching i=05.

test_latching i=06

Hình 30. test_latching i=06.

test_latching i=07

Hình 31. test_latching i=07.

test_latching i=08

Hình 32. test_latching i=08.

test_latching i=09

Hình 33. test_latching i=09.

test_latching i=10

Hình 34. test_latching i=10.

test_latching i=11

Hình 35. test_latching i=11.

test_latching i=12

Hình 36. test_latching i=12.

test_linearity

Kiểm tra xem quá trình xử lý của thiết bị có thể được đảo ngược thành pixel tuyến tính hay không. Chụp một chuỗi ảnh khi thiết bị hướng vào một mục tiêu đồng nhất.

Các API đã kiểm thử:

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

Ví dụ về giá trị trung bình của biểu đồ test_linearity

Hình 37. Ví dụ về giá trị trung bình của biểu đồ test_linearity.

test_locked_burst

Kiểm thử tính năng khoá 3A và chụp liên tục YUV (sử dụng chế độ cài đặt tự động). Thử nghiệm 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. Thử nghiệm này 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 trong CTS.

Các API đã kiểm thử:

Đạt: Ảnh chụp trông nhất quán.

ví dụ về khung hình 0 của tính năng chụp liên tục bị khoá trong quá trình thử nghiệm

Hình 38. Ví dụ về test_locked_burst frame0.

test_locked_burst frame1 example

Hình 39. Ví dụ về khung hình 1 của test_locked_burst.

test_locked_burst_frame2

Hình 40. Ví dụ về test_locked_burst frame2.

scene1_2

scene 1_2 là bản sao giống hệt về mặt chức năng của scene 1_1, triển khai cấu trúc cảnh phụ để giảm bớt thời lượng kéo dài của scene 1.

test_param_color_correction

Kiểm thử để đảm bảo các tham số android.colorCorrection.* được áp dụng khi đặt. Chụp ảnh bằng các giá trị biến đổi và khuếch đạ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. Phép biến đổi và mức tăng được chọn để làm cho kết quả đầu ra ngày càng đỏ 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 để ánh xạ một nhóm màu này sang 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 hạn chế hơn.

Các API đã kiểm thử:

Đạt: Giá trị R và B tăng theo phép biến đổi.

test_param_color_correction plot means example

Hình 41. Ví dụ về giá trị trung bình của biểu đồ test_param_color_correction.

Trong các hình sau, trục x là các yêu cầu chụp: 0 = độ đồng nhất, 1 = tăng màu đỏ và 2 = tăng màu xanh dương.

test_param_color_correction req=0 unity example

Hình 42. Ví dụ về test_param_color_correction req=0 unity.

test_param_color_correctness req=1 red boost example

Hình 43. Ví dụ về yêu cầu tăng màu đỏ (req=1) trong test_param_color_correctness.

test_param_color_correction req=2 blue boost example

Hình 44. Ví dụ về yêu cầu tăng cường màu xanh dương req=2 của test_param_color_correction.

test_param_flash_mode

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

Các API đã kiểm thử:

Đạt: Tâm của hình ảnh ô có dải chuyển màu lớn, nghĩa là đèn flash đã kích hoạt.

test_param_flash_mode 1 example

Hình 45. Ví dụ về test_param_flash_mode 1.

ví dụ về 1 thẻ thông tin test_param_flash_mode

Hình 46. Ví dụ về một ô test_param_flash_mode.

test_param_flash_mode_2 example

Hình 47. Ví dụ về test_param_flash_mode 2.

ví dụ về ô test_param_flash_mode 2

Hình 48. Ví dụ về hai ô test_param_flash_mode.

test_param_noise_reduction

Kiểm tra để đảm bảo tham số android.noiseReduction.mode được áp dụng đúng cách khi đặt. Chụp ảnh khi camera thiếu sáng. Sử dụng mức khuếch đại analog cao để đảm bảo hình ảnh chụp được có độ nhiễu. Chụp 3 ảnh, cho chế độ tắt NR, nhanh và chất lượng cao. Ngoài ra, tính năng này còn chụp ảnh có độ khuếch đại thấp và tắt NR, đồng thời sử dụng phương sai của ảnh này làm đường cơ sở. Tỷ lệ tín hiệu trên nhiễu (SNR) càng cao thì chất lượng hình ảnh càng tốt.

Các API đã kiểm thử:

Đạt: SNR thay đổi theo các chế độ giảm tiếng ồn và hoạt động tương tự như biểu đồ sau:

test_param_noise_reduction plot SNRs example

Hình 49. Ví dụ về biểu đồ SNR của test_param_noise_reduction.

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

test_param_noise_reduction high gain nr=0 example

Hình 50. Ví dụ về test_param_noise_reduction high gain nr=0.

test_param_noise_reduction high gain nr=1 example

Hình 51. Ví dụ về test_param_noise_reduction high gain nr=1.

test_param_noise_reduction high gain nr=2 example

Hình 52. Ví dụ về test_param_noise_reduction high gain nr=2.

test_param_noise_reduction high gain nr=3 example

Hình 53. Ví dụ về test_param_noise_reduction high gain nr=3.

Ví dụ về mức tăng thấp của test_param_noise_reduction

Hình 54. Ví dụ về mức tăng thấp của test_param_noise_reduction.

test_param_shading_mode

Kiểm tra để đảm bảo tham số android.shading.mode được áp dụng.

Các API đã kiểm thử:

Đạ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 bản đồ bóng ống kính, ví dụ về chế độ 0 vòng lặp 0

Hình 55. Bản đồ đổ bóng ống kính test_param_shading_mode, ví dụ về chế độ 0 vòng lặp 0.

test_param_shading_mode bản đồ bóng ống kính, ví dụ về chế độ 1 vòng lặp 0

Hình 56. Bản đồ đổ bóng ống kính test_param_shading_mode, ví dụ về vòng lặp 0 của chế độ 1.

test_param_shading_mode bản đồ bóng ống kính, ví dụ về chế độ 2 vòng lặp 0

Hình 57. Ví dụ về bản đồ đổ bóng ống kính test_param_shading_mode, chế độ 2 vòng lặp 0.

test_param_tonemap_mode

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

Các API đã kiểm thử:

Đạt:

  • 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 cao hơn. Kênh G (màu xanh lục) sáng hơn cho hình ảnh n=1.
  • test2: Cùng một bản đồ sắc độ nhưng có độ dài khác nhau. Hình ảnh giống nhau.

test_param_tonemap_mode với n=0

Hình 58. test_param_tonemap_mode với n=0.

test_param_tonemap_mode với n=1

Hình 59. test_param_tonemap_mode với n=1.

test_post_raw_sensitivity_boost

Kiểm tra mức tăng độ nhạy thô sau khi chụp. Chụp một tập hợp hình ảnh thô và hình ảnh YUV có độ nhạy khác nhau, đăng tổ hợp tăng độ nhạy thô và kiểm tra xem giá trị trung bình của 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ử:

Đạt: Hình ảnh thô trở nên tối hơn khi mức tăng tăng lên, trong khi độ sáng của hình ảnh YUV không đổi.

test_post_raw_sensitivity_boost raw s=3583 boost=0100 example

Hình 60. Ví dụ về test_post_raw_sensitivity_boost raw s=3583 boost=0100.

test_post_raw_sensitivity_boost raw s=1792 boost=0200 example

Hình 61. Ví dụ về test_post_raw_sensitivity_boost raw s=1792 boost=0200.

test_post_raw_sensitivity_boost raw s=0896 boost=0400 example

Hình 62. Ví dụ về test_post_raw_sensitivity_boost raw s=0896 boost=0400.

test_post_raw_sensitivity_boost raw s=0448 boost=0800 example

Hình 63. Ví dụ về test_post_raw_sensitivity_boost raw s=0448 boost=0800.

test_post_raw_sensitivity_boost raw s=0224 boost=1600 example

Hình 64. Ví dụ về test_post_raw_sensitivity_boost raw s=0224 boost=1600.

test_post_raw_sensitivity_boost raw s=0112 boost=3199 example

Hình 65. Ví dụ về test_post_raw_sensitivity_boost raw s=0112 boost=3199.

test_post_raw_sensitivity_boost raw plot means example

Hình 66. Ví dụ về giá trị trung bình của biểu đồ thô test_post_raw_sensitivity_boost.

test_post_raw_sensitivity_boost YUV s=0112 boost=3199 example

Hình 67. Ví dụ về test_post_raw_sensitivity_boost YUV s=0112 boost=3199.

test_post_raw_sensitivity_boost YUV s=0448 boost=0800 example

Hình 68. Ví dụ về test_post_raw_sensitivity_boost YUV s=0448 boost=0800.

test_post_raw_sensitivity_boost YUV s=0896 boost=0400 example

Hình 69. Ví dụ về test_post_raw_sensitivity_boost YUV s=0896 boost=0400.

test_post_raw_sensitivity_boost YUV s=1792 boost=0200 example

Hình 70. Ví dụ về test_post_raw_sensitivity_boost YUV s=1792 boost=0200.

test_post_raw_sensitivity_boost YUV s=3585 boost=0100 example

Hình 71. Ví dụ về test_post_raw_sensitivity_boost YUV s=3585 boost=0100.

test_post_raw_sensitivity_boost_yuv_plot_means

Hình 72. Ví dụ về test_post_raw_sensitivity_boost_yuv_plot_means.

test_raw_exposure

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

Các API đã kiểm thử:

Đạt: Việc tăng ISO (mức khuếch đại) giúp các điểm ảnh nhạy hơn với ánh sáng, vì vậy, biểu đồ sẽ di chuyển sang bên trái.

Ví dụ về test_raw_exposure ISO=55

Hình 73. Ví dụ về test_raw_exposure ISO=55.

10⁰ là 1 mili giây, 10¹ là 10 mili giây và 10⁻¹ là 0, 1 mili giây.

Ví dụ về test_raw_exposure ISO=132

Hình 74. Ví dụ về test_raw_exposure ISO=132.

test_raw_exposure ISO=209 example

Hình 75. Ví dụ về test_raw_exposure ISO=209.

Ví dụ về test_raw_exposure ISO=286

Hình 76. Ví dụ về test_raw_exposure ISOs=286.

Ví dụ về test_raw_exposure ISO=363

Hình 77. Ví dụ về test_raw_exposure ISO=363.

test_raw_exposure_s=440

Hình 78. Ví dụ về test_raw_exposure ISO=440.

test_reprocess_noise_reduction

Kiểm tra để đảm bảo android.noiseReduction.mode được áp dụng cho các yêu cầu xử lý lại. Chụp ảnh được xử lý lại bằng camera trong điều kiện ánh sáng yếu. Sử dụng mức khuếch đại analog cao để xác minh rằng hình ảnh chụp được có nhiễu. Chụp ba hình ảnh được xử lý lại, cho NR tắt, nhanh và chất lượng cao. Chụp ả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 ảnh này làm giá trị cơ sở.

Các API đã kiểm thử:

Đạt: FAST >= OFF, HQ >= FAST và HQ >> OFF.

Biểu đồ SNR thông thường so với chế độ NR

Hình 79. Ví dụ về biểu đồ SNR thông thường so với chế độ NR.

test_tonemap_sequence

Kiểm thử một chuỗi ảnh chụp bằng nhiều đường cong ánh xạ tông màu. Chụp 3 ảnh thủ công bằng bản đồ tông màu tuyến tính. Chụp 3 ảnh theo cách 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 gồm 3 khung hình giống hệt nhau khác.

test_tonemap_sequence i=0 example

Hình 80. Ví dụ về test_tonemap_sequence i=0.

Ví dụ về test_tonemap_sequence i=1

Hình 81. Ví dụ về test_tonemap_sequence i=1.

test_tonemap_sequence i=2 example

Hình 82. Ví dụ về test_tonemap_sequence i=2.

Ví dụ về test_tonemap_sequence i=3

Hình 83. Ví dụ về test_tonemap_sequence i=3.

test_tonemap_sequence_i=4 example

Hình 84. Ví dụ về test_tonemap_sequence i=4.

test_tonemap_sequence i=5 example

Hình 85. Ví dụ về test_tonemap_sequence i=5.

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 chuyển đổi bằng mô-đun image_processing_utils. Hình ảnh không được lưu theo mặc định, nhưng bạn có thể lưu bằng cách bật debug_mode.

Các API đã kiểm thử:

Đạt: Tất cả tâm hình ảnh đều có mức chênh lệch giá trị trung bình bình phương (RMS) tối đa (giá trị của tín hiệu) trong hình ảnh được chuyển đổi RGB với 3% hình ảnh YUV có độ phân giải cao nhất.

internal_test_yuv_jpeg_all

Hình 86. Ví dụ về test_yuv_jpeg_all.

test_yuv_plus_dng

Kiểm tra để đả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 đúng cách.

Các API đã kiểm thử:

Đạt: Quá trình kiểm thử hoàn tất và trả về hình ảnh được yêu cầu.

Ví dụ về test_yuv_plus_dng

Hình 87. Ví dụ về test_yuv_plus_dng.

scene1_3

scene 1_3 là bản sao giống hệt về mặt chức năng của scene 1_1, triển khai cấu trúc cảnh phụ để giảm bớt thời lượng kéo dài của scene 1.

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. Quá trình kiểm thử bao gồm một lần chụp tự động, một lần chụp thủ công và một lần chụp tự động thứ hai.

Các API đã kiểm thử:

Đạ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. Vẽ biểu đồ hiệu chỉnh bóng mờ ống kính cho ảnh chụp.

test_capture_result_plot_lsc_auto_ch0

Hình 88. test_capture_result_plot_lsc_auto_ch0.

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 một mảng trung tâm của thẻ xám trong các ảnh thô được chụp trên một dải độ 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 HAL của máy ảnh (dựa trên các tham số O,S được trả về trong đố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ử:

Đạ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ế đo được.

test_dng_noise_model_plog

Hình 89. test_dng_noise_model_plog.

test_jpeg

Kiểm tra để đảm bảo hình ảnh YUV đã chuyển đổi và hình ảnh JPEG trên thiết bị trông giống nhau. Kiểm thử lấy 10% trung tâm của hình ảnh 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: Sự khác biệt trung bình về RGB giữa mỗi hình ảnh là dưới 3%.

test_jpeg_fmt=jpg.jpg

Hình 90. test_jpeg_fmt=jpg.jpg.

test_jpeg=fmt=yuv.jpg

Hình 91. test_jpeg=fmt=yuv.jpg.

test_raw_burst_sensitivity

Chụp một nhóm ảnh thô với mức tăng dần và đo lường độ nhiễu. Chụp ảnh chỉ ở định dạng thô, theo loạt.

Các API đã kiểm thử:

Đạt: Mỗi ảnh chụp đều có nhiều nhiễu hơn ảnh chụp trước đó, vì mức tăng đang tăng lên.

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

test_raw_burst_sensitivity_variance

Hình 92. test_raw_burst_sensitivity_variance.

test_raw_sensitivity

Chụp một nhóm hình ảnh thô với độ nhạy tăng dần và đo lường độ nhiễu (phương sai) trong 10% trung tâm của hình ảnh. Kiểm tra xem mỗi lần chụp có bị nhiễu hơn lần trước hay không.

Các API đã kiểm thử:

Đạt: Độ lệch tăng lên sau mỗi lần chụp.

test_raw_sensitivity_variance

Hình 93. test_raw_sensitivity_variance.

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 chuyển đổi bằng mô-đun image_processing_utils.

Các API đã kiểm thử:

Đạt: Hình ảnh YUV và JPEG tương tự nhau và có mức chênh lệch RMS (giá trị của tín hiệu) dưới 1%.

test_yuv_plus_jpeg với định dạng JPEG

Hình 94. test_yuv_plus_jpeg với định dạng JPEG.

test_yuv_plus_jpeg với định dạng YUV

Hình 95. test_yuv_plus_jpeg với định dạng YUV.

test_yuv_plus_raw

Kiểm thử việc chụp một khung hình dưới dạng cả đầu ra thô (thô 10 bit và 12 bit) 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, vì vậy, dữ liệu thô và YUV dự kiến sẽ giống nhau. So sánh giá trị RGB của 10% vùng trung tâm của hình ảnh được chuyển đổi RGB. Nhật kýandroid.shading.mode.

Các API đã kiểm thử:

Đạt: Hình ảnh YUV và hình ảnh thô tương tự nhau và có mức chênh lệch RMS (giá trị trung bình bình phương của tín hiệu) dưới 3,5%.

test_yuv_plus_raw_shading=1_raw.jpg

Hình 96. test_yuv_plus_raw_shading=1_raw.jpg.

test_yuv_plus_raw_shading=1_yuv.jpg

Hình 97. test_yuv_plus_raw_shading=1_yuv.jpg.

test_sensitivity_priority

Thử nghiệm CONTROL_AE_PRIORITY_MODE_SENSOR_SENSITIVITY_PRIORITY trên nhiều chế độ cài đặt ISO để xác nhận mối tương quan giữa ISO cao hơn và mức độ nhiễu tăng lên.

Các API đã kiểm thử:

Đạt: ISO cao hơn dẫn đến mức độ nhiễu tăng lên.

Tiêu chí bỏ qua kiểm thử

Hệ thống sẽ bỏ qua quy trình kiểm tra test_sensitivity_priority.py nếu đáp ứng bất kỳ tiêu chí nào sau đây:

test_exposure_time_priority

Kiểm thử CONTROL_AE_PRIORITY_MODE_SENSOR_EXPOSURE_TIME_PRIORITY trên nhiều thời gian phơi sáng, kiểm tra độ sáng ổn định trong phạm vi mà ISO có thể bù trừ.

Các API đã kiểm thử:

Đạt: Độ sáng ổn định (trong phạm vi dung sai) trong suốt thời gian phơi sáng nếu ISO nằm trong phạm vi bù sáng.

Tiêu chí bỏ qua thử nghiệm

Hệ thống sẽ bỏ qua quy trình kiểm tra test_exposure_time_priority nếu đáp ứng bất kỳ tiêu chí nào sau đây:

scene2_a

scene2_a có ba khuôn mặt trên nền màu xám và trang phục màu trung tính. Các khuôn mặt được chọn có nhiều màu da. Biểu đồ phải có hướng chính xác để tính năng phát hiện khuôn mặt hoạt động tối ưu.

ví dụ về scene2_a

Hình 98. Ví dụ về scene2_a.

test_autoframing

Kiểm thử hành vi tự động lấy khung hình của thiết bị camera. 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 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 gốc 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ử:

Đạt: Phát hiện được cả ba khuôn mặt.

test_display_p3

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

Các API đã kiểm thử:

Đạt: JPEG chứa cấu hình màu ICC Display P3 và màu sắc 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. Thử nghiệm này chỉ kiểm tra hiệu ứng OFF và MONO, nhưng lưu hình ảnh cho tất cả hiệu ứng được hỗ trợ.

Các API đã kiểm thử:

Pass: 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_effects_MONO

Hình 99. test_effects_MONO.

test_exposure_keys_consistent

Thử nghiệm này so sánh độ sáng trung bình của một ảnh chụp có bật AE với một ảnh chụp có tắt AE, áp dụng thủ công các thông số phơi sáng (độ nhạy, thời gian phơi sáng, thời lượng khung hình, tăng độ nhạy sau khi chụp ảnh thô) nhận được trong CaptureResult của ảnh chụp có bật AE.

Các API đã kiểm thử:

Đạt: Mức chênh lệch tương đối về độ sáng giữa hai lần chụp là dưới 4%.

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ử:

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

test_num_faces

Kiểm tra tính năng phát hiện khuôn mặt.

Các API đã kiểm thử:

Đạt: Tìm thấy 3 khuôn mặt.

Ví dụ 1 về chế độ phát hiện khuôn mặt test_num_faces

Hình 100. Ví dụ 1 về chế độ phát hiện khuôn mặt test_num_faces.

test_reprocess_uv_swap

Kiểm tra để đảm bảo quá trình xử lý lại 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 các 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 kết quả chụp được xử lý lại dẫn đến SAD tăng, 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ử:

Đạt: Mặt phẳng U và V không bị hoán đổi.

test_reprocess_uv_swap

Hình 101. Ví dụ về test_reprocess_uv_swap.

scene2_b

scene2_b có ba khuôn mặt trên nền màu xám và trang phục màu trung tính. Các khuôn mặt được chọn có nhiều màu da. Biểu đồ phải có hướng chính xác để tính năng phát hiện khuôn mặt hoạt động tối ưu.

test_preview_num_faces

Kiểm tra tính năng phát hiện khuôn mặt trong bản xem trước 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ử:

Đạt: Tìm thấy 3 khuôn mặt có các điểm mốc khuôn mặt trong hộp giới hạn khuôn mặt.

test_num_faces_fd_mode_1

Hình 102. Ví dụ 1 về chế độ phát hiện khuôn mặt test_num_faces.

test_yuv_jpeg_capture_sameness

Chụp hai hình ảnh bằng định dạng YUV và JPEG phổ biế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 mức chênh lệch trung bình bình phương (RMS) 3D giữa hai hình ảnh.

Ngoài ra, thử nghiệm 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ử:

Đạt: Hình ảnh YUV và JPEG cho trường hợp sử dụng STILL_CAPTURE có mức chênh lệch RMS (giá trị bình phương trung bình 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ó mức chênh lệch CIELAB dưới 4% so với hình ảnh YUV trong trường hợp sử dụng STILL_CAPTURE.

scene2_c

test_num_faces

Kiểm tra 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ử:

Đạt: Tìm thấy 3 khuôn mặt.

test_num_faces_fd_mode_1

Hình 103. Ví dụ về chế độ phát hiện khuôn mặt test_num_faces.

test_jpeg_capture_perf_class

Kiểm tra độ trễ khi chụp ảnh JPEG cho lớp hiệu suất S như được chỉ định trong mục 2.2.7.2 Camera 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 PerformanceTest của camera CTS trong điều kiện ánh sáng ITS (3000K) cho cả hai camera chính.

test_camera_launch_perf_class

Kiểm thử độ trễ khi khởi chạy camera cho lớp hiệu suất S như được chỉ định trong mục 2.2.7.2 Camera của CDD.

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

test_default_camera_hdr

Kiểm thử xem chế độ chụp ảnh mặc định của camera có phải là Ultra HDR cho lớp hiệu suất 15 hay không, như được chỉ định trong mục 2.2.7.2 Camera của CDD.

Đạt: Gói camera mặc định PHẢI chụp ảnh Ultra HDR đối với thiết bị thuộc cấp hiệu suất 15.

scene2_d

test_preview_num_faces

Kiểm tra tính năng phát hiện khuôn mặt trong bản xem trước 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ử:

Đạt: Tìm thấy 3 khuôn mặt có các điểm mốc khuôn mặt trong hộp giới hạn 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 đầu tiên của yêu cầu chụp android.control.afMode = 4 (CONTINUOUS_PICTURE).

Các API đã kiểm thử:

Đạ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 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ử:

Đạt: Tìm thấy 3 khuôn mặt.

scene2_f

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

scene2_f example

Hình 104. Ví dụ về scene2_f.

test_preview_num_faces

Kiểm tra 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ử:

Đạt: Tìm thấy 3 khuôn mặt có các điểm mốc khuôn mặt trong hộp giới hạn khuôn mặt.

test_num_faces_fd_mode_1

Hình 105. Ví dụ về test_num_faces_fd_mode_1.

scene2_g

scene2_g có ba khuôn mặt nhìn nghiêng trên nền trắng và mặc trang phục màu trắng. Các khuôn mặt có nhiều tông màu da và độ tương phản cao với nền.

scene2_g.png

Hình 106. Ví dụ về scene2_g.

test_preview_num_faces

Kiểm tra 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ử:

Đạt: Tìm thấy 3 khuôn mặt có các điểm mốc khuôn mặt trong hộp giới hạn khuôn mặt.

test_preview_num_faces

Hình 107. Ví dụ về test_preview_num_faces.

scene3

scene3 sử dụng biểu đồ ISO12233 và hầu hết các 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 đề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 để trình tìm biểu đồ hoạt động tối ưu. Trên Android 17 trở lên, scene3 sử dụng điểm đánh dấu ArUco để phát hiện biểu đồ.

scene3_aruco_chart

Hình 108. Biểu đồ cảnh 3.

test_edge_enhancement

Kiểm tra để đảm bảo tham số android.edge.mode được áp dụng đúng cách. Chụp ảnh không xử lý lại cho từng 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ý 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. Trên Android 17 trở lên, hãy sử dụng điểm đánh dấu ArUco để xác định vùng biểu đồ chứa các cạnh sắc nét cần thiết.

Đạ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 thông số camera bị ảnh hưởng:

  • EDGE_MODE

test_edge_enhancement_edge=0

Hình 109. Ví dụ về test_edge_enhancement edge=0.

test_edge_enhancement edge=1 example

Hình 110. Ví dụ về test_edge_enhancement edge=1 (chế độ nhanh).

test_edge_enhancement edge=2 example

Hình 111. Ví dụ về test_edge_enhancement edge=2 (chế độ chất lượng cao).

test_flip_mirror

Kiểm tra xem hình ảnh có được định hướng đúng theo 7.5.2 Camera trước trong CDD hay không. Trong Android 17 trở lên, sử dụng điểm đánh dấu ArUco để xác thực cả sự hiện diện và hướng của biểu đồ. Bạn có thể xác định hình ảnh bị phản chiếu, lật hoặc xoay bằng đặc điểm hình thoi gần chính giữa.

Đạt: Tất cả điểm đánh dấu đều được phát hiện và căn chỉnh chính xác. Hình ảnh không bị lật, phản chiếu hoặc xoay.

Ví dụ về bản vá cảnh test_flip_mirror

Hình 112. Ví dụ về bản vá cảnh test_flip_mirror.

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 khi thiết bị đứng yên và chụp ảnh xem trước có độ phân giải cao.

Các API đã kiểm thử:

Đạt:

  • Độ lệch của con quay hồi chuyển nhỏ hơn 0,01 rad trong thời gian thử nghiệm.
  • Phương sai của số liệu đo được từ 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 thử nghiệm.
  • (Chưa bắt buộc) Độ lệch của con quay hồi chuyển nhỏ hơn 1 độ mỗi giây.

Ví dụ về độ lệch con quay hồi chuyển test_imu_drift

Hình 113. Ví dụ về độ lệch con quay hồi chuyển test_imu_drift.

Ví dụ về độ lệch vectơ xoay test_imu_drift

Hình 114. Ví dụ về độ lệch vectơ xoay test_imu_drift.

test_landscape_to_portrait

Kiểm tra xem chế độ ghi đè từ ngang sang dọc có hoạt động đúng cách cho cảm biến hướng ngang hay không.

Các API đã kiểm thử:

Đạt: Kiểm thử xác định được biểu đồ có độ xoay dự kiến (0 độ khi tắt chế độ ghi đè từ ngang sang dọc, 90 độ khi bật).

Ví dụ về test_landscape_to_portrait

Hình 115. Ví dụ về test_landscape_to_portrait.

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 (theo kết quả của 3A) 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 xuống. Độ sắc nét cuối cùng sẽ ổ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 phải được xác nhận trong tất cả các khung hình có độ sắc nét trung gian so với độ sắc nét trong vài khung hình đầu tiên khi ố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 khi ố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 quan trọng là cờ chuyển động được xác nhận khi ống kính đang di chuyển.

Trên Android 17 trở lên, thử nghiệm này sử dụng điểm đánh dấu ArUco để xác định vùng biểu đồ chứa các cạnh sắc nét cần thiết. Phương thức này cung cấp khả năng phát hiện ổn định cho camera từ ứng dụng Góc siêu rộng (UW) đến ứng dụng chụp xa.

Các API đã kiểm thử:

Đạt: Cờ chuyển động của ống kính là True trong khung hình 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) trong test_log.DEBUG chỉ được xác nhận trong các khung hình mà độ sắc nét không thay đổi.
  • Khung hình có lens_moving: False (android.hardware.camera2.CaptureResult#LENS_STATE = 0) trong test_log.DEBUG có độ sắc nét khác biệt so với một vài khung hình đầu tiên ở khoảng cách tiêu cự tối ưu hoặc một vài khung hình cuối cùng ở khoảng cách lấy nét tối thiểu.

test_reprocess_edge_enhancement

Kiểm tra xem các phương thức xử lý lại được hỗ trợ để cải thiện 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ế độ khác nhau để chụp khi tắt chế độ cạnh xử lý lại.

Các API đã kiểm thử:

Đạt: Độ 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à mức độ cải thiện giữa các chế độ là tương tự nhau.

Ví dụ về biểu đồ test_reprocess_edge_enhancement

Hình 116. Ví dụ về biểu đồ test_reprocess_edge_enhancement.

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 bài kiểm thử trong scene4 có thể nhạy cảm với việc căn chỉnh, vì vậy, kể từ Android 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 đồ.

ví dụ về cảnh 4

Hình 117. Ví dụ về scene4.

test_30_60fps_preview_fov_match

Kiểm tra xem video xem trước 30 FPS và 60 FPS có cùng FoV hay không. Thử nghiệm này 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 để xác minh rằng các thay đổi về FoV trong hai video nằm trong thông số kỹ thuật. Kiểm tra để đảm bảo tỷ lệ khung hình của hình tròn không đổi, tâm của hình tròn ổn định và bán kính của hình tròn không đổi.

Các API đã kiểm thử:

Đạt: Hình ảnh không bị kéo giãn, tâm của hình ảnh không chênh lệch quá 3% và mức thay đổi tỷ lệ khung hình tối đa giữa video 30 khung hình/giây và 60 khung hình/giây không quá 7,5%

Cơ chế không thành công:

  • Hình tròn trong video 30 khung hình/giây có kích thước khác biệt đáng kể so với hình tròn trong video 60 khung hình/giây.
  • Hình tròn trong ảnh chụp bị méo do quy trình xử lý.
  • Vòng tròn trong hình ảnh chụp được bị cắt bớt do yêu cầu chụp có tỷ lệ khung hình quá lớn làm giảm chiều cao hoặc chiều rộng của hình ảnh.
  • Hình tròn trong ảnh chụp có hì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 tra xem hình ảnh có bị méo 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ả các định dạng. Xác minh rằng hình 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ử:

Đạt: Hình ảnh không bị kéo giãn, tâm của hình ảnh không chênh lệch quá 3% và trường 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 ở giữa cảnh được chụp.
  • Hình tròn trong ảnh 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 hai lần trong quy trình xử lý hình ảnh, tạo ra trường nhìn (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 chụp được bị cắt bớt do yêu cầu chụp có tỷ lệ khung hình quá lớn làm giảm chiều cao hoặc chiều rộng của hình ảnh.
  • Hình tròn trong ảnh chụp có hình phản chiếu ở giữa và không được tô kín hoàn toàn.

test_multi_camera_alignment

Kiểm tra các thông số hiệu chỉnh camera liên quan đến việc định vị camera cho hệ thống nhiều camera. Sử dụng camera phụ vật lý của nhiều camera, chụp ảnh bằng một trong các camera vật lý. Tìm tâm đường tròn. Chiếu tâm vòng tròn vào toạ độ thế giới cho mỗi camera. So sánh sự khác biệt giữa tâm vòng tròn của camera trong toạ độ thế giới. Chiếu lại toạ độ thế giới về toạ độ pixel và so sánh với toạ độ gốc để 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 camera có khác nhau hay không.

Các API đã kiểm thử:

Đạt: Tâm và kích thước của vòng tròn đúng 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 chỉnh máy ảnh và tiêu cự.

Cơ chế không thành công:

  • LENS_INTRINSIC_CALIBRATION, LENS_POSE_TRANSLATION và LENS_POSE_ROTATION là các giá trị thiết kế chứ không phải dữ liệu hiệu chỉnh thực tế.
  • Hệ thống camera không phù hợp với chế độ thiết lập kiểm thử, ví dụ: kiểm thử hệ thống camera góc rộng và góc siêu rộng bằng thiết bị kiểm thử RFoV. Để biết thêm thông tin, hãy xem phần Câu hỏi thường gặp về Camera ITS-in-a-box Câu hỏi 1.

test_preview_aspect_ratio_and_crop

Tương tự như thử nghiệm test_aspect_ratio_and_crop đối với ảnh chụp tĩnh, thử nghiệm này kiểm tra các định dạng xem trước được hỗ trợ để xác minh rằng khung hình 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 hình 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 FoV).

Các API đã kiểm thử:

Đạt: Hình ảnh không bị kéo giãn, tâm của hình ảnh không chênh lệch quá 3% và trường 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 phù hợp. Thử nghiệm này quay hai video, một video có tính năng chống rung khi xem trước ON và một video có tính năng chống rung 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 để xác minh 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ử:

Đạt: Tỷ lệ khung hình của vòng tròn gần như không đổi, vị trí chính giữa 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 hình tròn bên trong một hình vuông ở mọi định dạng video. Trích xuất các khung hình chính và 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 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 (kiểm tra FoV).

Các API đã kiểm thử:

Đạt: Khung hình video không bị kéo giãn, tâm của khung hình không chênh lệch quá 3% và trường nhìn tối đa có thể được giữ nguyên.

scene6

scene6 là một lưới gồm các điểm đánh dấu ArUco có thể nhận dạng chính xác. Các bài kiểm thử trong scene6 có thể nhạy cảm với việc căn chỉnh, vì vậy, kể 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

Hình 118. Ví dụ về 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ính năng này tạo ra hình ảnh thô được cắt.

Khi 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 ảnh trong phạm vi thu phóng, một ảnh thô toàn FoV và một ảnh thô đã cắt. Thử nghiệm này chuyển đổi hình ảnh thành mảng RGB, giảm tỷ lệ hình ảnh thô đã cắt có 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 mức chênh lệch RMS 3D giữa hai hình ảnh.

Các API đã kiểm thử:

Đạt: Chênh lệch RMS 3D giữa hình ảnh thô đã cắt và giảm tỷ lệ với hình ảnh thô có FoV đầy đủ nhỏ hơn ngưỡng được đặt trong kiểm thử.

test_zoom

Kiểm tra hành vi thu phóng của camera từ ống kính siêu rộng đến ống kính rộng. Chụp ảnh trong phạm vi thu phóng và kiểm tra xem điểm đánh dấu ArUco có lớn hơn khi máy ảnh phóng to hay không. Thử nghiệm này cũng kiểm tra xem vị trí của điểm đánh dấu trung tâm có thay đổi theo cách có thể dự đoán được trong mỗi lần chụp hay không. Khoảng cách từ tâm của điểm đánh dấu trung tâm đến tâm hình ảnh có thể thay đổi theo tốc độ không đổi so với tỷ lệ thu phóng cho đến khi chuyển đổi camera vật lý hoặc có thể thay đổi đơn điệu về phía vị trí của cùng một điểm đánh dấu sau khi chuyển đổi camera vật lý. Bạn phải cài đặt Ứng dụng máy ảnh Jetpack (JCA) trên thiết bị trước khi thử nghiệm.

Các API đã kiểm thử:

Đạt: Kích thước tương đối của điểm đánh dấu ArUco được chụp là chính xác so với tỷ lệ thu phóng được yêu cầu để xác minh rằng máy ảnh đang thu phóng chính xác và khoảng cách của điểm đánh dấu đến tâm hình ảnh thay đổi theo các tiêu chí nêu trong phần mô tả kiểm thử.

test_zoom để tìm đường viền của điểm đánh dấu ArUco gần tâm nhất

Hình 119. test_zoom để tìm đường viền của điểm đánh dấu ArUco gần tâm nhất.

test_low_latency_zoom

Kiểm tra hành vi thu phóng có độ trễ thấp của camera. 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 điểm đánh dấu 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 bằng camera được dùng để hội tụ 3A và chụp ảnh.

Các API đã kiểm thử:

Đạt: Kích thước tương đối của điểm đánh dấu được chụp là chính xác so với siêu dữ liệu kết quả của tỷ lệ thu phóng.

test_preview_video_zoom_match

Kiểm tra để đảm bảo rằng trong khi quay 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 đầu ra. Tính toán kích thước của điểm đánh dấu 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 điểm đánh dấu có tăng khi tỷ lệ thu phóng tăng hay không.

API đã kiểm thử:

Đạt: Kích thước tương đối của điểm đánh dấu được chụp là 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.

HD_1280x720_key_frame.png

Hình 120. HD_1280x720_key_frame.png (trước khi thu phóng).

preview_1280x720_key_frame.png

Hình 121. preview_1280x720_key_frame.png (trước khi thu phóng).

HD_1280x720_key_frame_zoomed.png

Hình 122. HD_1280x720_key_frame.png (sau khi thu phóng).

preview_1280x720_key_frame_zoomed.png

Hình 123. preview_1280x720_key_frame.png (sau khi thu phóng).

test_preview_zoom

Kiểm tra để đảm bảo tỷ lệ thu phóng của mỗi khung hình xem trước khớp với siêu dữ liệu chụp tương ứng từ ống kính siêu rộng đến ống kính rộng. Thử nghiệm này lấy các khung hình xem trước trong phạm vi thu phóng và tìm điểm đánh dấu ArUco gần tâm nhất. Sau đó, kiểm tra xem vị trí của điểm đánh dấu trung tâm có thay đổi theo cách có thể dự đoán được trong mỗi lần chụp hay không. Khoảng cách từ tâm của điểm đánh dấu trung tâm đến tâm hình ảnh có thể thay đổi theo tốc độ không đổi so với tỷ lệ thu phóng cho đến khi chuyển đổi camera vật lý hoặc có thể thay đổi đơn điệu về phía vị trí của cùng một điểm đánh dấu sau khi chuyển đổi camera vật lý.

Các API đã kiểm thử:

Đạt: Kích thước tương đối của điểm đánh dấu ArUco đã chọn là chính xác cho 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 hình xem trước. Khoảng cách tương đối của điểm đánh dấu đã chọn từ tâm của hình ảnh là chính xác cho 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 hình xem trước.

test_preview_zoom hình ảnh cho thấy điểm đánh dấu đã chọn gần tâm nhất

Hình 124. Hình ảnh test_preview_zoom cho thấy điểm đánh dấu đã chọn gần tâm nhất

test_session_characteristics_zoom

Kiểm tra phạm vi tỷ lệ thu phóng cho tất cả cấu hình phiên được hỗ trợ có trong CameraCharacteristics#INFO_SESSION_CONFIGURATION_QUERY_VERSION. Đối với mỗi cấu hình, nếu CameraDeviceSetup#isSessionConfigurationSupported trả về true, thì quy trình kiểm thử sẽ xác minh rằng có thể đạt được phạm vi tỷ lệ thu phóng được trả về trong CameraDeviceSetup#getSessionCharacteristics.

Các API đã kiểm thử:

Đạt: Có thể đạt được cả tỷ lệ thu phóng tối thiểu và tối đa cho từng SessionConfiguration được hỗ trợ có trong danh sách 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 có 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 để giúp 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

Hình 125. scene7.

test_multi_camera_switch

Thử nghiệm này xác minh rằng trong quá trình quay bản xem trước ở nhiều tỷ lệ thu phóng, việc chuyển đổi giữa ống kính góc siêu rộng (UW) và ống kính góc rộng (W) sẽ cho ra các giá trị RGB tương tự nhau.

Thử nghiệm này sử dụng nhiều tỷ lệ thu phóng trong phạm vi được xác định trước để thực hiện bản ghi xem trước động và xác định điểm mà camera vật lý thay đổi. Điểm này đánh dấu sự 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 giao nhau sẽ được phân tích để tự động phơi sáng (AE), tự động cân bằng trắng (AWB) và tự động lấy nét (AF).

Quá trình kiểm tra AE xác minh rằng thay đổi về độ sáng nằm trong phạm vi dự kiến cho cả hình ảnh ống kính UW và W. Tính năng kiểm tra AWB xác minh rằng tỷ lệ đỏ-xanh lục và xanh dương-xanh lục nằm trong giá trị ngưỡng cho cả hình ảnh ống kính UW và W. Quá trình kiểm tra AF đánh giá giá trị ước tính độ sắc nét dựa trên độ lớn chuyển màu trung bình giữa hình ảnh ống kính UW và W.

Trong khi thực hiện kiểm thử này, nếu hiệu ứng Moire ảnh hưởng đến kết quả, hãy sử dụng một máy tính bảng có độ phân giải cao hơn trong danh sách máy tính bảng được Camera ITS phê duyệt.

Các API đã kiểm thử:

Đạt: Để vượt qua bài kiểm tra, bạn phải vượt qua các bước kiểm tra AE và AWB. Kết quả kiểm tra AF chỉ được dùng cho mục đích ghi nhật ký. Sau đây là các tiêu chí cho mỗi lần kiểm tra:

  • Kiểm tra AE: Mức thay đổi độ sáng (giá trị Y) giữa hình ảnh ống kính UW và W phải nhỏ hơn 4% đối với tất cả các mảng màu nếu thiết bị hỗ trợ cả ae_regions và awb_regions. Nếu chỉ hỗ trợ ae_regions thì chỉ các giá trị mảng màu xám mới phải đáp ứng tiêu chí.
  • Kiểm tra AWB: Sự khác biệt giữa giá trị đỏ-xanh lục và xanh dương-xanh lục cho hình ảnh ống kính UW và W phải nhỏ hơn 3% đối với mảng màu xám và phải nhỏ hơn 10% đối với các mảng màu khác nếu thiết bị hỗ trợ cả ae_regions và awb_regions.
  • Kiểm tra AF: Độ sắc nét của hình ảnh khi chụp bằng ống kính W phải cao hơn độ sắc nét khi chụp bằng ống kính UW.

test_multi_camera_switch_gray_uw_y

Hình 126. Mảng màu xám được chụp bằng ống kính góc siêu rộng.

test_multi_camera_switch_gray_w_y

Hình 127. Mảng màu xám được chụp bằng ống kính W.

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 ảnh 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.

ví dụ về scene8

Hình 128. Ví dụ về scene8.

test_ae_awb_regions

Kiểm tra xem các giá trị RGB và luma có khác nhau khi quay bản xem trước ở các vùng AE và AWB khác nhau hay không.

Thử nghiệm này sẽ quay một bản ghi xem trước dài 8 giây, thực hiện đ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 mỗi vùng và sử dụng các khung hình đã 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 vùng 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 vùng có độ phơi sáng tăng. Thao tác 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 (của giá trị RGB trung bình của hình ảnh) trong khung hình có vùng đo sáng màu xanh dương cao hơn 2% so với khung hình có vùng đo sáng màu vàng. Thao tác này giúp xác minh rằng hình ảnh có giá trị RGB cân bằng khi đo vùng màu vàng (ấm) hoặc màu xanh dương (lạnh).

Các API đã kiểm thử:

Đạt: Cả hai quy trình kiểm tra AE và AWB đều đạt.

test_ae_awb_regions_dark_region

Hình 129. Đo sáng khung hình vùng tối với độ phơi sáng tăng lên.

test_ae_awb_regions_light_region

Hình 130. Đo sáng khung hình vùng sáng hơn với độ phơi sáng giảm.

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, hệ thống sẽ thử phát hiện lần thứ hai bằng phiên bản đen trắng của hình ảnh. Hình ảnh thang màu xám sau đây thể hiện bước xử lý phụ:

    Dấu ArUco bị lệch

    Hình 131. Điểm đánh dấu ArUco bị lệch.

test_color_correction_mode_cct

Kiểm thử COLOR_CORRECTION_MODE trên nhiều nhiệt độ màu và sắc thái màu, xác minh các thay đổi về tỷ lệ RGB so với cảnh chụp, scene8.

Các API đã kiểm thử:

Đạt: Tỷ lệ RGB cho thấy mức tăng hoặc giảm dự kiến so với nhiệt độ màu và sắc thái màu đã chọn.

Tiêu chí bỏ qua kiểm thử

Hệ thống sẽ bỏ qua quy trình kiểm tra test_color_correction_mode_cct nếu đáp ứng bất kỳ tiêu chí nào sau đây:

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 ra một cảnh có độ lặp lại rất thấp nhằm nhấn mạnh thuật toán nén JPEG.

ví dụ về scene9

Hình 132. Ví dụ về scene9.

test_jpeg_high_entropy

Kiểm tra xem tính năng nén JPEG của camera có hoạt động trên scene9 với entropy cao và hệ số chất lượng JPEG được đặt thành 100% hay không. Hệ số thu phóng được tăng lên để xác minh rằng cảnh hiển thị trên máy tính bảng lấp đầy FoV của camera.

Các API đã kiểm thử:

Đạt: Tệp JPEG được nén đúng cách, được ghi và đọc lại từ ổ đĩa.

test_jpeg_quality

Kiểm tra chất lượng nén ảnh JPEG của camera. Bước chất lượng JPEG thông qua android.jpeg.quality và xác minh rằng các 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 này biểu thị hệ số chia.)

Trung bình ma trận DQT về độ sáng và độ màu của camera sau trên Pixel 4 so với chất lượng JPEG

Hình 133. Trung bình ma trận DQT về độ chói và độ màu của camera sau trên Pixel 4 so với chất lượng JPEG.

Ví dụ về kiểm thử không đạt test_jpeg_quality

Hình 134. Ví dụ về chương trình kiểm thử không thành công.

scene_extensions

Các bài kiểm thử scene_extensions dành cho tiện ích máy ảnh và phải sử dụng Camera ITS-in-a-Box vì các bài kiểm thử này yêu cầu kiểm soát chính xác môi trường thử nghiệm. Ngoài ra, tất cả rò sáng phải được kiểm soát. Bạn có thể cần phải che phủ thiết bị kiểm thử, DUT và máy tính bảng bằng một tấm vải che, cũng như loại bỏ rò 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 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

Hình 135. Ví dụ về scene_hdr.

test_hdr_extension

Kiểm thử phần mở rộng HDR. Chụp ảnh khi bật và không bật tiện ích, đồng thời kiểm tra xem tiện ích có giúp mã QR dễ phát hiện hơn hay không.

Các API đã kiểm thử:

Đạt: Tiện ích HDR 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 các hình vuông có nhiều sắc thái màu xám khác nhau trên nền đen và lưới các hình vuông được bao quanh bởi một đường viền màu đỏ. Các ô vuông được sắp xếp theo hướng đường cong Hilbert.

ví dụ về scene_low_light

Hình 136. Ví dụ về scene_low_light.

test_night_extension

Kiểm thử tiện ích Night. Chụp ảnh khi tiện ích được bật và thực hiện những việc sau:

  • Phát hiện sự hiện diện của 20 hình vuông
  • Tính toán độ sáng được giới hạn bởi mỗi hình vuông
  • Tính giá trị độ sáng trung bình của 6 hình vuông đầu tiên theo hướng lưới đường cong Hilbert
  • Tính toán mức chênh lệch về giá trị độ sáng của các ô vuông liên tiếp (ví dụ: ô vuông 2 – ô vuông 1) cho đến ô vuông 5 và 6 (ô vuông 6 – ô vuông 5), rồi tìm giá trị trung bình của 5 mức chênh lệch đã tính toán.

Đối với các thiết bị chạy Android 16 trở lên, yêu cầu chụp ảnh sẽ bao gồm một vùng đo sáng tương ứng với hình chữ nhật bao quanh lưới hình vuông. Việc bổ sung này sẽ thay đổi tiêu chí đạt ngưỡng.

Các API đã kiểm thử:

Đạt:

  • Đối với các thiết bị chạy Android 16 trở lên, giá trị luma trung bình của 6 ô vuông đầu tiên phải ít nhất là 80 và mức chênh lệch trung bình về giá trị luma của các ô vuông liên tiếp cho đến ô vuông 5 và 6 phải ít nhất là 18, 75.
  • Đối với các thiết bị chạy Android 15 trở xuống, giá trị độ sáng trung bình của 6 ô vuông đầu tiên phải tối thiểu là 85 và mức chênh lệch trung bình về giá trị độ sáng của các ô vuông liên tiếp cho đến ô vuông 5 và 6 phải tối thiểu là 17.

Biểu đồ độ sáng sau đây cho thấy kết quả kiểm thử đạt.

Ví dụ về kết quả đạt trong bài kiểm tra cảnh đêm thiếu sáng

Hình 137. Ví dụ về cảnh đêm thiếu sáng đạt yêu cầu kiểm thử.

test_low_light_boost_extension

Kiểm tra chế độ Tăng cường ánh sáng yếu AE. Nếu Camera2 hỗ trợ chế độ phơi sáng tự động tăng cường trong điều kiện ánh sáng yếu, thì thử nghiệm này sẽ được thực hiện cho Camera2. Nếu tiện ích camera ở 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ì thử nghiệm này cũng được thực hiện cho tiện ích camera ở chế độ ban đêm. Thử nghiệm 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 những việ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 giá trị độ sáng trung bình của 6 hình vuông đầu tiên theo hướng lưới đường cong Hilbert
  • Tính toán mức chênh lệch về giá trị độ sáng của các ô vuông liên tiếp (ví dụ: ô vuông 2 – ô vuông 1) cho đến ô vuông 5 và 6 (ô vuông 6 – ô vuông 5), rồi tìm giá trị trung bình của 5 mức chênh lệch đã tính toán.

Đối với các thiết bị chạy Android 16 trở lên, yêu cầu chụp ảnh sẽ bao gồm một vùng đo sáng tương ứng với hình chữ nhật bao quanh lưới hình vuông. Việc bổ sung này sẽ thay đổi tiêu chí đạt ngưỡng.

Các API đã kiểm thử:

Đạt:

  • Đối với các thiết bị chạy Android 16 trở lên, giá trị luma trung bình của 6 ô vuông đầu tiên phải ít nhất là 54 và mức chênh lệch trung bình về giá trị luma của các ô vuông liên tiếp cho đến ô vuông 5 và 6 phải ít nhất là 17.

  • Đối với các thiết bị chạy Android 15 trở xuống, giá trị độ sáng trung bình của 6 ô 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ị độ sáng của các ô vuông liên tiếp cho đến ô vuông 5 và 6 phải ít nhất là 18.

scene_tele

Yêu cầu then chốt đối với các bài kiểm tra scene_tele là khoảng cách đến biểu đồ phải ít nhất bằng khoảng cách lấy nét tối thiểu của ống kính tiêu cự dài. Vì khoảng cách lấy nét tối thiểu này có thể khác nhau giữa các thiết bị, nên bạn phải định cấu hình chế độ thiết lập cho phù hợp với camera chụp xa cụ thể.

scene_tele setup based on focus distance of wide and tele camera

Hình 138. Thiết lập scene_tele dựa trên khoảng cách lấy nét của camera góc rộng và camera chụp xa.

Để biết thêm thông tin về cách thiết lập phần cứng kiểm thử, hãy xem phần Thiết lập giàn mở rộng từ xa.

scene6_tele

Cảnh scene6_tele bao gồm một lưới các điểm đánh dấu ArUco trên nền trắng.

Nếu ảnh chụp scene6_tele có vẻ bị dư sáng trong giàn mô-đun, hãy tháo tấm trước của giàn mô-đun.

Ngắt kết nối thiết bị kiểm tra WFoV khỏi phần mở rộng và tháo giá gắn điện thoại.

Ngắt kết nối thiết bị kiểm tra WFoV khỏi phần mở rộng và tháo giá gắn điện thoại

Hình 139. Ngắt kết nối thiết bị kiểm tra WFoV khỏi phần mở rộng và tháo giá gắn điện thoại.

remove_front_plate

Hình 140. Tháo tấm ốp phía trước.

test_zoom_tele

Kiểm tra hành vi thu phóng của camera từ ống kính rộng đến ống kính tiêu cự dài. Thử nghiệm này giống hệt với test_zoom, nhưng kiểm tra hành vi thu phóng của camera từ ống kính rộng đến ống kính tiêu cự dài.

Các API đã kiểm thử:

Đạt: Kích thước tương đối của điểm đánh dấu ArUco đã chụp chính xác so với tỷ lệ thu phóng được yêu cầu để xác minh rằng máy ảnh đang thu phóng chính xác và khoảng cách của điểm đánh dấu đến tâm hình ảnh thay đổi theo các tiêu chí được liệt kê trong test_zoom.

test_preview_zoom_tele

Kiểm tra hành vi thu phóng của camera đối với các khung hình xem trước từ ống kính rộng đến ống kính tiêu cự dài. Thử nghiệm này giống hệt với test_preview_zoom, nhưng kiểm tra hành vi thu phóng của camera đối với khung hình xem trước từ ống kính rộng đến ống kính tiêu cự dài.

Các API đã kiểm thử:

Đạt: Kích thước tương đối của điểm đánh dấu ArUco đã chụp là chính xác so với tỷ lệ thu phóng được yêu cầu để xác minh rằng máy ảnh đang thu phóng chính xác và khoảng cách của điểm đánh dấu đến tâm hình ảnh thay đổi theo các tiêu chí được liệt kê trong test_preview_zoom.

scene7_tele

scene7_tele giống hệt với scene7, nhưng được thiết lập để kiểm thử ống kính tiêu cự dài. Đó 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 được tô 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 để giúp 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.

test_multi_camera_switch_tele

Thử nghiệm này xác minh rằng trong quá trình quay bản xem trước ở nhiều tỷ lệ thu phóng, việc chuyển đổi giữa ống kính rộng (W) và ống kính chụp xa (tele) sẽ cho ra các giá trị RGB tương tự nhau.

Thử nghiệm này sử dụng nhiều tỷ lệ thu phóng trong phạm vi được xác định trước để thực hiện bản ghi xem trước động và xác định điểm mà camera vật lý thay đổi. Điểm này đánh dấu sự chuyển đổi từ ống kính góc rộng sang ống kính chụp xa.

Các khung hình được chụp tại và trước điểm giao nhau sẽ được phân tích cho AE, AWB và AF.

Quá trình kiểm tra AE xác minh rằng thay đổi về độ sáng nằm trong phạm vi dự kiến cho cả hình ảnh ống kính W và ống kính tele. Kiểm tra AWB xác minh rằng tỷ lệ đỏ-xanh lục và xanh dương-xanh lục nằm trong giá trị ngưỡng cho cả hình ảnh ống kính W và ống kính tele. Quá trình kiểm tra AF đánh giá giá trị ước tính độ sắc nét dựa trên độ lớn chuyển màu trung bình giữa hình ảnh ống kính góc rộng và ống kính tele.

Các API đã kiểm thử:

Đạt: Để vượt qua bài kiểm tra, các bước kiểm tra AE, AWB và AF đều phải đạt. Sau đây là các tiêu chí cho mỗi lần kiểm tra:

  • Kiểm tra AE: Mức thay đổi độ sáng giữa hình ảnh của ống kính W và ống kính tele phải nhỏ hơn 4%.
  • Kiểm tra AWB: Trong không gian màu sắc LAB, delta C giữa đỏ-xanh lục và xanh dương-xanh lục cho ống kính rộng và ống kính tele không được vượt quá 10.
  • Kiểm tra AF: Độ sắc nét của hình ảnh trên ống kính chụp xa phải cao hơn ống kính W.

scene_video

scene_video là một cảnh video gồm 4 vòng tròn có màu sắc 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.

Hình 141. Ví dụ về scene_video.

test_preview_frame_drop

Kiểm tra xem tốc độ khung hình xem trước được yêu cầu có được duy trì với cảnh động hay không. Thử nghiệm này chạy trên tất cả camera được hiển thị cho các ứng dụng bên thứ ba.

Các API đã kiểm thử:

Đạt: Tốc độ khung hình của bản xem trước ở mức tối đa của dải 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ử.

Cảnh thử nghiệm dựa trên sensor_fusion / giá đỡ Gen2

feature_combination

Các bài 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 của camera đượ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 kiểu kết hợp của nhiều kiểu kết hợp luồng, chế độ ổn định video, dải FPS mục tiêu, video HDR 10 bit và Ultra HDR được thiết bị camera hỗ trợ.

Đối với Android 16 trở lên, chương 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 kết quả vào một tệp proto. Các câu nhận định không thành công chỉ được gọi cho các tổ hợp tính năng mà isSessionConfigurationSupported trả về True.

Các API đã kiểm thử:

Đạ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 tính năng ổn định bản xem trước đang bật.
  • Tốc độ khung hình xem trước nằm trong AE_TARGET_FPS_RANGE đã định cấu hình.
  • Không gian màu sắc của luồng xem trước được ghi lại khớp với không gian màu sắc đã đặt.
  • Ảnh chụp Ultra HDR có bản đồ khuếch đại hợp lệ.

scene_flash

Các bài kiểm tra scene_flash yêu cầu cảnh tối trong hộp kết hợp cảm biến. Trên Android 17 trở lên, bạn có thể kiểm thử scene_flash bằng thiết bị Gen2.

test_auto_flash

Kiểm tra xem đèn flash tự động có được kích hoạt trong cảnh tối cho camera sau và camera trước hay không. Đối với camera trước, đèn flash tự động sử dụng màn hình để chiếu sáng cảnh, chứ không phải đèn flash vật lý. Thử nghiệm này xác minh rằng đèn flash tự động được kích hoạt bằng cách kiểm tra xem tâm của hình ảnh ô có sáng hơn khi bật đèn flash tự động hay không. Để kích hoạt đèn flash tự động, bạn phải tắt đèn trong thiết bị kiểm tra. Bạn có thể tắt đèn tự động bằng bộ điều khiển Arduino. Cảnh phải hoàn toàn tối thì thử nghiệm mới 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 thử nghiệm. Đèn flash tự động cho camera sau dựa vào trạng thái AE để kích hoạt, nhưng đèn flash tự động cho camera trước không dựa vào AE và luôn được kích hoạt.

Trong Android 17 trở lên, hãy kiểm thử các mức thu phóng không phải 1x để xác minh chức năng chính xác trên tất cả các dải thu phóng được hỗ trợ.

Các API đã kiểm thử:

Đạt: Trung tâm của hình ảnh ô có bật đèn flash tự động sáng hơn hình ảnh cảnh gốc cho tất cả camera.

test_flash_strength

Kiểm thử để đảm bảo chế độ kiểm soát cường độ đèn flash trong chế độ SINGLE được triển khai đúng cách.

Xác minh rằng nếu thiết bị hỗ trợ chế độ kiểm soát cường độ đèn flash trong khi sử dụng camera ở 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 chế độ 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ì mức cường độ đèn flash sẽ ảnh hưởng đến độ sáng, còn nếu chế độ là ON_AUTO_FLASH, thì mức 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 thiết bị kiểm thử. Bạn có thể tắt đèn tự động bằng bộ điều khiển Arduino. Cảnh phải hoàn toàn tối thì thử nghiệm mới hoạt động chính xác.

Các API đã kiểm thử:

Đạt:

Khi chế độ phơi sáng tự độ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 lên FLASH_SINGLE_STRENGTH_MAX_LEVEL. Khi chế độ phơi sáng tự động là ON_AUTO_FLASH, sự khác biệt về độ sáng của các mảng hình ảnh 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 nhuốm màu hình ảnh.

Thử nghiệm này bổ sung một bộ điều khiển ánh sáng vào Hộp kết hợp cảm biến để điều khiển đèn. Khi đèn được đặt thành OFF, quy trình kiểm thử sẽ chụp ảnh khi 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 phát sóng riêng biệt do đèn flash, nên thử nghiệm sẽ tính toán giá trị trung bình của hình ảnh đèn flash của 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 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ệ đỏ-xanh lục và xanh dương-xanh lục, đồ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ử:

Đạt: Tỷ lệ đỏ-xanh lục và xanh dương-xanh lục nằm trong khoảng từ 0,95 đến 1,05. Giá trị trung bình của hình ảnh flash nằm trong khoảng (68, 102).

test_night_mode_indicator

Kiểm thử chức năng của chỉ báo chế độ ban đêm, một tính năng cho biết liệu camera có đang hoạt động trong điều kiện ánh sáng yếu hay không và liệu có được hưởng lợi từ tính năng chụp ảnh tĩnh của tiện ích Camera ở chế độ ban đêm hay không. Tính năng này chỉ có trên những thiết bị hỗ trợ Tiện ích camera ở chế độ ban đêm.

Thử nghiệm này kiểm tra xem chỉ báo chế độ ban đêm có phản ánh chính xác điều kiện ánh sáng trong khi xem trước camera hay không. Chương trình kiểm thử thực hiện các bước sau:

  1. Khởi chạy: Thử nghiệm khởi chạy ItsSession và truy xuất các thuộc tính của máy ảnh. Nó cũng thiết lập kết nối với bộ điều khiển đèn.
  2. Điều kiện bỏ qua: Thử nghiệm sẽ bị bỏ qua nếu thiết bị không hỗ trợ cấp độ API bắt buộc hoặc tính năng chỉ báo chế độ ban đêm.
  3. Phiên Camera2:
    • Thử nghiệm bắt đầu một phiên chụp xem trước bằng phiên Camera2.
    • Đèn được bật và một khung hình xem trước được chụp.
    • Kiểm thử này xác minh rằng chỉ báo chế độ ban đêm đang ở trạng thái OFF.
    • Đèn tắt và một khung hình xem trước được chụp.
    • Kiểm thử này xác minh rằng chỉ báo chế độ ban đêm đang ở trạng thái ON.
  4. Phiên tiện ích máy ảnh:
    • Thử nghiệm này lặp lại quy trình tương tự như đối với phiên Camera2, nhưng sử dụng phiên CameraExtension có đuôi EXTENSION_NIGHT.
  5. Dọn dẹp: Thử nghiệm đóng ItsSession và giải phóng bộ điều khiển ánh sáng.

Các API đã kiểm thử:

Đạt:

  • Khi đèn bật, chỉ báo chế độ ban đêm phải ở trạng thái OFF.
  • Khi đèn tắt, chỉ báo chế độ ban đêm phải ở trạng thái ON.
  • Áp dụng cho cả phiên Camera2 và CameraExtension.

test_preview_min_frame_rate

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

Các API đã kiểm thử:

Đạt: Tốc độ khung hình xem trước ở mức tối thiểu của dải 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 dung sai tuyệt đối được đặt trong kiểm thử.

test_torch_strength

Kiểm thử để đảm bảo chế độ kiểm soát cường độ đèn flash trong chế độ TORCH được triển khai đúng cách.

Xác minh rằng nếu thiết bị hỗ trợ chế độ kiểm soát cường độ đèn flash trong khi sử dụng camera ở 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 chế độ 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ì mức cường độ đèn flash sẽ ảnh hưởng đến độ sáng, còn nếu chế độ là ON_AUTO_FLASH, thì mức cường độ đèn flash sẽ không ảnh hưởng đến độ sáng. Xác minh rằng cường độ đèn pin không thay đổi trong suốt thời gian chụp liên tục, mô phỏng một phiên quay video. Để tiến hành kiểm thử, bạn phải tắt đèn trong giàn kiểm thử. Bạn có thể tắt đèn tự động bằng bộ điều khiển Arduino. Cảnh phải hoàn toàn tối thì thử nghiệm mới hoạt động chính xác.

Các API đã kiểm thử:

Đạt:

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 tục 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ế độ phơi sáng tự động là ON_AUTO_FLASH, sự khác biệt về độ sáng của các mảng ảnh chụp liên tục nằm trong phạm vi cho phép khi mức cường độ đèn flash tăng từ không có đèn flash lên FLASH_TORCH_STRENGTH_MAX_LEVEL.

scene_gen2_chart

Trong Android 17 trở lên, scene_gen2_chart sử dụng biểu đồ giấy Gen2.

Biểu đồ kiểm thử này bao gồm các mẫu khuôn mặt, mã QR, các mảng màu xám, ngôi sao Siemens, biểu đồ màu và các hình vuông nghiêng.

test_chart_gen2

Hình 142. Ví dụ về mẫu biểu đồ Gen2.

test_tonemap_sequence

Thử nghiệm này đánh giá đường cong ánh xạ tông màu mặc định của thiết bị so với đường cong tuyến tính và hai đường cong luỹ thừa (một đường cong có các điểm đồng nhất và đường cong còn lại có các điểm không đồng nhất). Để đạt kết quả, độ sáng của đường cong mặc định phải vượt quá độ sáng của đường cong tuyến tính và đường cong luỹ thừa. Ngoài ra, đường cong tuyến tính phải sáng hơn đường cong luỹ thừa và hai đường cong luỹ thừa phải có mức độ sáng tương tự nhau.

Quá trình kiểm tra này cũng xác minh độ chính xác của đường cong mặc định của thiết bị. Việc này được thực hiện bằng cách trích xuất đường cong mặc định, nhập lại đường cong đó rồi so sánh độ sáng của hình ảnh thu được với hình ảnh của đường cong mặc định ban đầu.

Biểu đồ trình tự ánh xạ tông màu thử nghiệm

Hình 143. Biểu đồ trình tự ánh xạ tông màu thử nghiệm.

Các API đã kiểm thử:

Đạt: Mức chênh lệch độ sáng giữa đường cong mặc định và đường cong tuyến tính lớn hơn 15%, trong khi mức chênh lệch giữa hai đường cong luỹ thừa nhỏ hơn 8%.

test_multi_camera_switch

Bài kiểm tra này xác minh tính nhất quán về màu sắc và độ phơi sáng trong quá trình chuyển đổi thu phóng động. Bài kiểm thử này xác minh rằng việc chuyển đổi giữa ống kính Góc siêu rộng (UW) và Góc rộng (W) trong khi quay bản xem trước sẽ duy trì các giá trị CIELAB gần như giống hệt nhau, giúp ngăn chặn những thay đổi rõ rệt trong trải nghiệm người dùng.

Phiên chạy thử nghiệm thực hiện bản ghi xem trước động trên một phạm vi thu phóng được xác định trước để kích hoạt điểm "giao nhau" của camera vật lý, nơi ống kính siêu rộng chuyển sang ống kính rộng. Thử nghiệm này xác định chính xác khung hình nơi quá trình chuyển đổi ống kính diễn ra. Các khung hình ngay trước và sau điểm giao nhau này được ghi lại và phân tích để đảm bảo độ ổn định trong chế độ tự động phơi sáng (AE) và tự động cân bằng trắng (AWB).

Quy trình kiểm tra AE xác nhận rằng độ biến động của Luma vẫn nằm trong phạm vi chấp nhận được trong quá trình chuyển đổi ống kính. Quá trình kiểm tra AWB xác minh rằng tỷ lệ đỏ-xanh lục và xanh dương-xanh lục nằm trong ngưỡng trung tính màu đã xác định.

Các API đã kiểm thử:

Đạt: Để vượt qua bài kiểm tra, bạn cần vượt qua các bước kiểm tra AE và AWB sau:

  • Kiểm tra AE: Mức thay đổi độ sáng (giá trị Y) giữa hình ảnh ống kính UW và W phải nhỏ hơn 4% đối với tất cả các mảng màu nếu thiết bị hỗ trợ cả ae_regions và awb_regions. Nếu chỉ hỗ trợ ae_regions thì chỉ các giá trị mảng màu xám mới phải đáp ứng tiêu chí.
  • Kiểm tra AWB: Sự khác biệt giữa giá trị đỏ-xanh lục và xanh dương-xanh lục cho hình ảnh ống kính UW và W phải nhỏ hơn 3% đối với mảng màu xám và phải nhỏ hơn 10% đối với các mảng màu khác nếu thiết bị hỗ trợ cả ae_regions và awb_regions.

uw_dynamic_range_patch_cell_8

Hình 144. Mảng màu xám được chụp bằng ống kính góc siêu rộng.

w_dynamic_range_patch_cell_7

Hình 145. Mảng màu xám được chụp bằng ống kính W.

scene_ip

Trong Android 16 trở lên, cảnh scene_ip cho phép kiểm tra tính tương đương của hình ảnh giữa ứng dụng camera mặc định và ứng dụng camera Jetpack (JCA) để xác định những điểm khác biệt chính giữa các hình ảnh đã chụp. JCA sao chép ảnh chụp của ứng dụng mạng xã hội và cung cấp một hình ảnh cơ sở mà sau đó các ứng dụng mạng xã hội sẽ xử lý và tinh chỉnh.

Yêu cầu về việc thiết lập phần cứng

Bạn cần thiết lập phần cứng sau đây cho các bài kiểm thử scene_ip:

  • Các bài kiểm thử được thực thi trong ITS-in-a-box của camera thế hệ 2.
  • Bộ điều khiển ánh sáng và servo thuộc thiết bị Gen2 được dùng để điều khiển môi trường thử nghiệm.
  • Biểu đồ tính năng thử nghiệm được đặt bên trong thiết bị Gen2.

test_chart_gen2

Hình 146. Ví dụ về Gen2chart_sample.

Tiêu chí bỏ qua kiểm thử

Các bài kiểm thử scene_ip sẽ bị bỏ qua nếu đáp ứng bất kỳ tiêu chí nào sau đây:

  • Thiết bị có cấp độ API đầu tiên (first_api_level) là 35 trở xuống.
  • Thiết bị không phải là điện thoại có camera chính phía trước và phía sau (ví dụ: máy tính bảng hoặc TV).

test_default_jca_ip

Chụp ảnh biểu đồ tính năng kiểm thử trong điều kiện ánh sáng được kiểm soát bằng ứng dụng máy ảnh mặc định và JCA, đồng thời thực hiện các bước kiểm tra sau:

  • FoV: Kiểm tra để đảm bảo rằng ứng dụng máy ảnh mặc định và ảnh chụp JCA có cùng FoV. Quá trình kiểm tra này sử dụng tính năng Mã QR trung tâm được trích xuất từ hình ảnh biểu đồ chụp được.

  • Độ sáng: Kiểm tra để đảm bảo mức chênh lệch độ sáng đo được giữa ứng dụng máy ảnh mặc định và JCA không vượt quá 10. Quá trình kiểm tra này sử dụng bản vá dải động để đo độ sáng.

  • Cân bằng trắng: Kiểm tra để đảm bảo rằng mức chênh lệch cân bằng trắng giữa ứng dụng máy ảnh mặc định và JCA không vượt quá 4. Quá trình kiểm tra này sử dụng bản vá dải động để đo độ sáng.

  • Kết xuất màu: Kiểm tra để đảm bảo rằng sự khác biệt về kết xuất màu giữa ứng dụng máy ảnh mặc định và JCA không vượt quá 6.

Đạt: Thử nghiệm vượt qua các bước kiểm tra về trường nhìn, độ sáng và cân bằng trắng. Trong Android 16, thử nghiệm này không bắt buộc (NOT_YET_MANDATED). Đối với Android 17 trở lên, các quy trình kiểm tra tính tương đương về FoV, độ sáng và cân bằng trắng là bắt buộc. Việc kiểm tra kết xuất màu không bắt buộc (NOT_YET_MANDATED) trong Android 17.

test_jca_jpegr_ip

Xác minh rằng mức chênh lệch cân bằng trắng giữa ảnh chụp nhanh xem trước JPEG_R JCA và ảnh chụp không vượt quá 4.

Các API đã kiểm thử:

Đạt: Sự khác biệt về cân bằng trắng giữa ảnh chụp nhanh xem trước JCA và hình ảnh JPEG_R đã chụp nằm trong ngưỡng (mặc định là 4).

sensor_fusion

Các bài kiểm tra kết hợp cảm biến yêu cầu chuyển động cụ thể của điện thoại trước mẫu bàn cờ và điểm đánh dấu ArUco. Để có kết quả tối ưu, hãy xác minh rằng biểu đồ kiểm thử được gắn phẳng. Biểu đồ không phẳng sẽ ảnh hưởng đến việc tính toán độ xoay cho nhiều bài kiểm tra. Biểu đồ phải lấp đầy mặt sau của hộp kết hợp cảm biến bằng cách in ở kích thước 17x17 inch. (43x43 cm). Bạn có thể tự động hoá các bài kiểm thử sensor_fusion bằng Hộp kết hợp cảm biến.

Biểu đồ kết hợp cảm biến

Hình 147. Biểu đồ kết hợp cảm biến.

Biểu đồ kết hợp cảm biến trong Rig

Hình 148. Biểu đồ kết hợp cảm biến lấp đầy mặt sau của hộp kết hợp cảm biến.

test_lens_intrinsic_calibration

Kiểm tra xem tâm quang học của ống kính có thay đổi khi ống kính di chuyển do tính năng ổn định hình ảnh quang học (OIS) hay không. Nếu các mẫu nội tại của ống kính được hỗ trợ, hãy kiểm tra xem tâm quang học của các mẫu nội tại của ống kính có thay đổi khi ống kính di chuyển do OIS hay không.

Các API đã kiểm thử:

Đạt: Tâm quang học của ống kính thay đổi từ 1 pixel trở lên. Nếu các mẫu nội tại của ống kính được hỗ trợ, thì tâm quang học của các mẫu nội tại của ống kính sẽ thay đổi từ 1 pixel trở lên.

Hình sau đây là một biểu đồ test_lens_intrinsic_calibration mẫu cho thấy những thay đổi của điểm chính theo pixel cho mỗi khung hình:

test_lens_intrinsic_calibration_example.png

Hình 149. Ví dụ về biểu đồ test_lens_intrinsic_calibration cho thấy những 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 tra để đảm bảo dấu thời gian của khung hình mà camera logic chụp được nằm trong khoảng 10 mili giây bằng cách tính toán góc của các hình vuông trong bàn cờ để xác định dấu thời gian.

Các API đã kiểm thử:

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

test_preview_distortion

Kiểm tra xem hiện tượng méo hình có được điều chỉnh trong mỗi khung hình xem trước được chụp ở nhiều mức thu phóng hay không. Đối với mỗi khung hình xem trước, kiểm thử sẽ tính toán các điểm lý tưởng dựa trên các thông số nội tại và ngoại tại của camera.

Trong hình ảnh ví dụ, các điểm lý tưởng được thể hiện bằng màu xanh lục; các điểm thực tế được thể hiện bằng màu đỏ. Lỗi méo hình được tính dựa trên khoảng cách pixel 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 có lỗi méo hình.

test_preview_distortion_example.jpg

Hình 150. Hình ảnh bàn cờ có các điểm lý tưởng màu xanh lục và các điểm thực tế màu đỏ.

Các API đã kiểm thử:

Đạt: Lỗi méo hình chuẩn hoá của mỗi khung hình xem trước nhỏ hơn ngưỡng được đặt trong kiểm thử.

test_preview_stabilization

Kiểm tra xem video xem trước đã ổn định có xoay ít hơn con quay hồi chuyển hay không.

Các API đã kiểm thử:

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

Hình 151. Video mẫu có tính năng ổn định.

Hình 152. Video mẫu không có tính nă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àn cờ. Thời gian khứ hồi của chuyển động là khoảng 2 giây. Thử nghiệm này sẽ bị bỏ qua nếu không có con quay hồi chuyển hoặc nếu tham số REALTIME của nguồn dấu thời gian không được bật.

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: Cho biết các sự kiện con quay hồi chuyển của đ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 giá treo tường, làm giảm xác suất vượt qua bài kiểm tra. Số chu kỳ trong biểu đồ phụ thuộc vào tốc độ ghi để lưu khung hình.

    ví dụ về sự kiện con quay hồi chuyển test_sensor_fusion

    Hình 153. Ví dụ về sự kiện con quay hồi chuyển test_sensor_fusion.

  • test_sensor_fusion_plot_rotations: Cho biết sự liên kết giữa con quay hồi chuyển và các sự kiện của camera. 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 mili giây.

    Ví dụ về biểu đồ xoay test_sensor_fusion

    Hình 154. Ví dụ về biểu đồ xoay test_sensor_fusion.

Các API đã kiểm thử:

Đạt: Độ lệch dấu thời gian của máy ảnh và con quay hồi chuyển nhỏ hơn 1 mili giây theo 7.3.9 Cảm biến độ chân thực cao trong CDD.

Cơ chế không thành công:

  • Lỗi độ lệch: Độ lệch giữa camera và con quay hồi chuyển chưa được hiệu chỉnh chính xác trong khoảng +/-1 mili giây.
  • Bỏ khung hình: Quy trình không đủ nhanh để chụp liên tiếp 200 khung hình.
  • Lỗi ổ cắm: adb không thể kết nối ổn định 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à độ xoay của con quay hồi chuyển và máy ảnh thay đổi đáng kể khi máy ảnh xoay qua các phần không phẳng của biểu đồ.
  • Camera 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 xảy ra hơn ở camera trước vì camera sau thường có một phần 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 giá treo tường.

test_video_stabilization

Không dùng nữa: Thử nghiệm này không còn được dùng nữa kể từ Android 17. Đối với Android 17 trở lên, thử nghiệm này được thay thế bằng test_video_stabilization_jca.

Kiểm tra xem video đã ổn định có xoay ít hơn con quay hồi chuyển hay không.

Các API đã kiểm thử:

Đạt: Góc xoay tối đa trên các khung hình nhỏ 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.

Hình 155. Video mẫu có tính năng ổn định.

Hình 156. Video mẫu không có tính năng ổn định.

test_video_stabilization_jca

Các thử nghiệm cho thấy video ổn định được quay bằng JCA xoay ít hơn con quay hồi chuyển. Bạn phải cài đặt JCA trên thiết bị trước khi thử nghiệm.

Các API đã kiểm thử:

Đạt: Góc xoay tối đa trên các khung hình được trích xuất từ video quay bằng JCA nhỏ hơn 70% góc xoay của con quay hồi chuyển 4).

Cảnh thử nghiệm dựa trên bộ khuếch tán

scene5

scene5 cần có cảnh màu xám được chiếu sáng đồng đều. Để làm được điều này, bạn cần đặt một bộ khuếch tán lên ống kính máy ảnh. Bạn nên sử dụng bộ khuếch tán sau: http://www.edmundoptics.com/optics/windows-diffusers/optical-diffusers/opal-diffusing-glass/46168/.

Để chuẩn bị cảnh, hãy gắn một bộ khuếch tán trước camera và hướng camera vào nguồn sáng khoảng 2.000 lux. Hình ảnh được chụp cho scene5 cần có ánh sáng khuếch tán và không có đặc điểm rõ ràng. Sau đây là hình ảnh mẫu:

ví dụ về cảnh 5

Hình 157. Ví dụ về ảnh chụp scene5.

Vì không cần máy tính bảng hoặc bộ điều khiển cho cảnh này, nên các chương trình kiểm thử sẽ sử dụng môi trường kiểm thử TEST_BED_MANUAL. Để biết ví dụ, hãy xem phần Tệp config.yml kiểm thử thủ công. Tệp config.yml mặc định không bao gồm TEST_BED_MANUAL nhưng bạn có thể sửa đổi tệp để thêm một tệp.

test_lens_shading_and_color_uniformity

Kiểm tra xem tính năng hiệu chỉnh bóng ống kính có được áp dụng đúng cách hay không và màu sắc của cảnh đồng nhất đơn sắc có được phân bổ đồng đều hay không. Thực hiện kiểm thử này trên khung YUV có 3A tự động. Độ bóng của ố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 đạt hay không đạt bằng cách so sánh với giá trị y trung tâm. Bài kiểm tra độ đồng nhất về màu sắc được đánh giá trong không gian màu đỏ-xanh lục và xanh dương-xanh lục.

Các API đã kiểm thử:

Đạt: Tại bán kính đã chỉ định của hình ảnh, phương sai của giá trị đỏ-xanh lục và xanh dương-xanh lục phải nhỏ hơn 20% để vượt qua kiểm thử.

Cơ chế không thành công:

  • Hình ảnh bị tối góc quá nhiều
  • Ảnh có viền đen

test_lens_shading_and_color_uniformity_y_plane

Hình 158. test_lens_shading_and_color_uniformity_y_plane.

test_lens_shading_and_color_uniformity_color_uniformity_result

Hình 159. test_lens_shading_and_color_uniformity_color_uniformity.

test_lens_shading_and_color_uniformity_lens_shading_result

Hình 160. test_lens_shading_and_color_uniformity_lens_shading_result.

Cảnh thử nghiệm trên máy tính bảng có gam màu rộng

scene_wide_gamut

scene_wide_gamut 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 được tô một màu khác nhau. Điều này yêu cầu máy tính bảng hiển thị biểu đồ ở gam màu rộng và DUT chụp ảnh gam màu rộng của màn hình.

Các kiểm thử này xác minh rằng hình ảnh đã chụp tuân thủ đúng dải màu và hồ sơ màu.

test_display_p3

Kiểm thử tính năng chụp Display P3 ở định dạng JPEG bằng API ColorSpaceProfiles. Kiểm tra xem JPEG đã chụp có cấu hình màu ICC thích hợp trong tiêu đề hay không và hình ảnh có chứa một tỷ lệ phần trăm màu nhất định nằm ngoài gam màu sRGB hay không.

Các API đã kiểm thử:

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

ví dụ về test_display_p3

Hình 161. Ví dụ về test_display_p3.