Ghi chú phát hành Bộ kiểm tra hình ảnh máy ảnh dành cho Android 13

Bản phát hành Android 13 bao gồm một số thay đổi đối với Camera ITS. Ngoài những thay đổi gia tăng như phiên bản Python và gói cập nhật cũng như bản cập nhật phần cứng kiểm thử, Android 13 còn hỗ trợ kiểm thử video.

Trang này tóm tắt các thay đổi về ITS của Camera cho Android 13. Các thay đổi này thuộc 7 danh mục lớn:

Phiên bản Python và gói

Android 13 hỗ trợ các phiên bản Python sau đây ngoài các phiên bản Python và thư viện được hỗ trợ trong Android 12:

Thêm tệp cấu hình

Do thêm tính năng điều khiển ánh sáng cho thử nghiệm test_auto_flash.py, tệp config.yml cần thêm 2 tham số cho bộ điều khiển và kênh chiếu sáng. Để xác định xem thiết bị đang kiểm thử (DUT) có thể gập lại hay không, tệp config.yml yêu cầu phải thêm một tham số bổ sung thứ ba vào cả phần kết hợp cảm biến và phần dựa trên máy tính bảng.

TestBeds:
  - Name: TEST_BED_TABLET_SCENES
    # Test configuration for scenes[0:4, 6, _change]
    Controllers:
        AndroidDevice:
          - serial: 8A9X0NS5Z
            label: dut
          - serial: 5B16001229
            label: tablet

    TestParams:
      brightness: 192
      chart_distance: 22.0
      debug_mode: "False"  # "True" or "False"; quotes needed
      lighting_cntl: <controller-type>  # "arduino" or "None"; quotes needed
      lighting_ch: <controller-channel>
      camera: 0
      foldable_device: "False". # set "True" if testing foldable
      scene: <scene-name>  # if <scene-name> runs all scenes

Kiểm thử các thay đổi

scene1_1/test_black_white.py

Kiểm thử test_black_white có tính năng kiểm tra độ bão hoà kênh nhất quán với các phiên bản Android trước đó, tức là cấp độ API đầu tiên bắt buộc để kiểm tra độ bão hoà kênh là Android 10.

cảnh1_2/test_yuv_plus_raw.py

Kiểm thử test_yuv_plus_raw xử lý các cảm biến không phải 16:9 hoặc 4:3 để hỗ trợ tốt hơn cho RAW. Nếu không tìm thấy định dạng chung giữa định dạng RAW của cảm biến và định dạng chụp YUV, thì quy trình kiểm thử sẽ so sánh ảnh chụp RAW với ảnh chụp YUV lớn nhất ngay cả khi tỷ lệ khung hình khác nhau.

scene2_a/test_faces.py

test_faces được tái cấu trúc thành test_num_faces.

scene2_a/test_num_faces.py

Quy trình kiểm thử test_num_faces xử lý việc cắt cảm biến và đặt hình chữ nhật của khuôn mặt chính xác trên các ảnh chụp bằng máy ảnh UW bị cắt.

scene3/test_lens_position.py

Quy trình kiểm thử test_lens_position không còn được dùng trong Android 13.

scene6/test_zoom.py

Kiểm thử test_zoom được tái cấu trúc để cho phép kiểm thử dễ dàng hơn các hệ thống máy ảnh 3 và 4. Nếu máy ảnh kiểm thử chính xác trên phạm vi tỷ lệ thu phóng 10 lần, thì quá trình kiểm thử sẽ thoát chính xác. Điều này cho phép kiểm thử thu phóng ở một khoảng cách biểu đồ duy nhất.

cảnh_change/test_scene_change.py

Không dùng thử nghiệm test_scene_change nữa trong Android 13.

Các bài kiểm thử mới dựa trên máy tính bảng

Android 13 bao gồm hai bài kiểm thử mới dành cho máy tính bảng. Cả hai bài kiểm thử đều bắt buộc đối với các thiết bị chạy Android 13, nhưng bị bỏ qua đối với các thiết bị nâng cấp lên Android 13.

Scene Tên kiểm thử Cấp độ API đầu tiên Mô tả
2_a test_auto_flash 33 Xác nhận cảnh tối kích hoạt đèn flash tự động.
2_b test_yuv_jpg_capture_sameness 33 Xác nhận rằng ảnh chụp YUV và JPEG vẫn giống hệt nhau theo bit.

scene2_a/test_auto_flash.py

Android 13 thêm kiểm thử test_auto_flash.

Tham số

  • flash: Bỏ qua kiểm thử nếu không có đèn flash.

Phương thức

Quy trình kiểm thử định cấu hình yêu cầu chụp cho tính năng tự động bật đèn flash và hiển thị một cảnh yêu cầu sự kiện đèn flash. Ánh sáng trong thiết bị thử nghiệm và máy tính bảng được tắt để hiển thị cảnh tối cho thuật toán tự động phơi sáng. Quy trình kiểm thử định cấu hình một chuỗi ảnh chụp NUM_FRAMES khi bật tính năng tự động bật đèn flash. Nếu chế độ cài đặt AE_STATE trả về FLASH_REQUIRED, thì kiểm thử sẽ xác minh rằng đèn flash được kích hoạt trong ảnh chụp.

Bạn có thể kiểm soát ánh sáng theo cách thủ công khi được nhắc hoặc tự động bằng trình điều khiển Arduino có thêm chức năng kiểm soát ánh sáng để kiểm thử tự động. Thư mục tiện ích mới lighting_control_utils tập trung mã để kiểm soát ánh sáng trong các bài kiểm thử.

scene2_a/test_yuv_jpeg_capture_sameness.py

Android 13 thêm kiểm thử test_yuv_jpeg_capture_sameness.

Tham số

  • streamUseCase: Xác định xem camera có hỗ trợ trường hợp sử dụng phát trực tuyến hay không.
  • android.jpeg.quality: Đặt chất lượng JPEG thành 100.

Phương thức

Bài kiểm thử này chụp hai hình ảnh bằng các định dạng YUV và JPEG phổ biến lớn nhất có cùng tỷ lệ khung hình với định dạng JPEG lớn nhất không vượt quá độ phân giải 1920x1440. Quá trình kiểm thử đặt jpeg.quality thành 100 và ghi lại yêu cầu nền tảng kép. Sau đó, hàm này chuyển đổi cả hai hình ảnh thành mảng RGB và tính toán chênh lệch trung bình bình phương căn bậc hai (RMS) 3D giữa hai hình ảnh. Dung sai chênh lệch được đặt thành 1%.

Thử nghiệm video

Camera ITS bổ sung tính năng hỗ trợ kiểm thử video trong Android 13.

Android 13 bổ sung các kiểm thử sau:

Scene Tên kiểm thử Cấp độ API đầu tiên Mô tả
4 test_preview_stabilization_fov 33 Xác nhận rằng bản xem trước video không bị cắt quá nhiều khi bật tính năng chống rung.
4 test_video_aspect_ratio_and_crop 33 Xác nhận FoV, tỷ lệ khung hình và kiểu cắt của định dạng video.
cảm_biến_hợp_nhất test_preview_stabilition 33 Xác nhận tính năng chống rung khi xem trước hoạt động.
cảm_biến_hợp_nhất test_video_stabilition 33 Xác nhận tính năng ổn định video hoạt động.

scene4/test_preview_stabilization_fov.py

Android 13 thêm kiểm thử test_preview_stabilization_fov. Bước này sẽ kiểm tra các kích thước xem trước được hỗ trợ để đảm bảo FoV không bị cắt không phù hợp.

Phương thức

Quy trình kiểm thử sẽ quay hai video, một video bật tính năng ổn định bản xem trước và một video tắt tính năng này. Một khung hình đại diện được chọn từ mỗi video và được phân tích để đảm bảo rằng các thay đổi về FoV trong hai video nằm trong thông số kỹ thuật.

Cụ thể, quy trình kiểm thử sẽ kiểm tra các tham số sau đây có và không có tính năng ổn định bản xem trước:

  • Độ tròn của vòng tròn không đổi.
  • Tâm của đường tròn giữ ổn định.
  • Kích thước của vòng tròn thay đổi không quá 20%, nghĩa là FoV thay đổi tối đa 20%.

scene4/test_video_aspect_ratio_and_crop.py

Android 13 thêm kiểm thử test_video_aspect_ratio_and_crop. Tương tự như kiểm thử test_aspect_ratio_and_crop cho ảnh chụp tĩnh, kiểm thử này sẽ kiểm tra các định dạng video được hỗ trợ để đảm bảo các khung hình video không bị kéo giãn hoặc cắt bớt không phù hợp. Chúng tôi sẽ kiểm tra tất cả chất lượng video do nhà sáng tạo tự báo cáo. Ngoài ra, nếu máy ảnh hỗ trợ video HLG10, thì video 10 bit sẽ được kiểm thử.

Android 13 thêm phương thức get_available_video_qualities vào its_session_utils. Để chia sẻ mã chung với các chương trình kiểm thử hiện có, Android 13 cũng bao gồm hai hàm tiện ích mới là image_fov_utilsvideo_processing_utils.

Phương thức

Quy trình kiểm thử sẽ chụp một hình ảnh tham chiếu ở định dạng RAW hoặc định dạng JPEG có độ phân giải cao nhất nếu không hỗ trợ định dạng RAW. Từ hình ảnh tham chiếu, kích thước và vị trí của vòng tròn được xác định. Sau đó, video ngắn sẽ được quay ở tất cả chất lượng video được hỗ trợ. Khung tham chiếu cuối cùng được trích xuất từ từng chất lượng video. Từ khung tham chiếu, trường nhìn (FoV), căn giữa (cắt) và tỷ lệ khung hình được tính cho từng chất lượng video.

Để tính FoV, quy trình kiểm thử sẽ so sánh kích thước vòng tròn khung hình video với kích thước vòng tròn được tính toán từ kích thước định dạng hình ảnh và video tham chiếu. Đối với việc kiểm tra cắt, quy trình kiểm thử sẽ so sánh việc căn giữa khung hình video với việc căn giữa hình ảnh tham chiếu. Đối với việc kiểm tra tỷ lệ khung hình, bằng cách sử dụng cảnh là một vòng tròn đen lớn trên nền trắng, quy trình kiểm thử sẽ xác định tỷ lệ khung hình của vòng tròn và xác minh rằng khung hình không bị méo.

sensor_fusion/test_preview_stabilization.py

Android 13 thêm kiểm thử test_preview_stabilization, kiểm thử tất cả chất lượng xem trước được hỗ trợ lên đến 1920x1080. Quy trình kiểm thử sử dụng thiết bị kiểm thử hợp nhất cảm biến và yêu cầu trình điều khiển hợp nhất cảm biến bản sửa đổi 2 mới hoặc bản nâng cấp phần mềm của các phiên bản trình điều khiển Arduino trước đó. Để biết thêm thông tin chi tiết về tay điều khiển mới, hãy xem phần Nội dung cập nhật và bổ sung về phần cứng.

Phương thức

Điện thoại được di chuyển từ từ theo góc khoảng 15 độ khi bật tính năng ổn định bản xem trước. Sau đó, độ xoay của hình ảnh được so sánh với độ xoay của con quay hồi chuyển.

sensor_fusion/test_video_stabilization.py

Android 13 thêm kiểm thử test_video_stabilization. Kiểm thử này kiểm tra chất lượng video được hỗ trợ lên đến 1920x1080. Không bao gồm chất lượng video có độ phân giải thấp QCIF. Bài kiểm thử này sử dụng thiết bị kiểm thử hợp nhất cảm biến và yêu cầu bộ điều khiển hợp nhất cảm biến bản sửa đổi 2 mới hoặc bản nâng cấp chương trình cơ sở của các phiên bản bộ điều khiển Arduino trước đó. Để biết thêm thông tin chi tiết về tay điều khiển mới, hãy xem phần Nội dung cập nhật và bổ sung về phần cứng.

Phương thức

Thiết bị kiểm thử sẽ di chuyển từ từ điện thoại trên một góc khoảng 15 độ khi bật tính năng ổn định bản xem trước. Sau đó, độ xoay hình ảnh được so sánh với độ xoay của con quay hồi chuyển.

Nội dung cập nhật và bổ sung về phần cứng

Android 13 cung cấp bản nâng cấp cho bộ điều khiển hợp nhất cảm biến Bản sửa đổi 2 dựa trên Arduino. Bản nâng cấp này bao gồm cả các thay đổi về phần cứng và phần mềm. Bản nâng cấp này cho phép bộ điều khiển đặt tốc độ xoay và kiểm soát ánh sáng. Bản nâng cấp này cũng bao gồm một lá chắn mới (như minh hoạ trong Hình 1), cung cấp 3 kênh xoay và 3 kênh điều khiển ánh sáng.

Arduino shield rev2.0

Hình 1. Arduino Shield Rev2.0 với chức năng xoay và điều khiển ánh sáng

Ngoài ra, đối với phiên bản 13, bạn phải cập nhật chương trình cơ sở của các tay điều khiển hiện có để bật tính năng kiểm soát tốc độ xoay. Bạn có thể tải firmware này xuống từ:

Để biết thêm thông tin về tay điều khiển mới, hãy xem bài viết Bộ điều khiển kết hợp cảm biến Android 13.

Hỗ trợ kiểm thử thiết bị có thể gập lại

Android 13 hỗ trợ kiểm thử cho các thiết bị có thể gập lại. Để bật API nhiều camera cho thiết bị có thể gập lại, bạn phải có trạng thái điện thoại (Folded hoặc Unfolded) trong quá trình kiểm thử. Để bật tính năng thăm dò trạng thái điện thoại cho tất cả DUT, bao gồm cả điện thoại không gập lại, hãy chạy lệnh adb sau khi DUT được kết nối với máy chủ.

adb shell am compat enable ALLOW_TEST_API_ACCESS com.android.cts.verifier