Bản phát hành Android 13 có một số thay đổi đối với ITS cho máy ảnh. Ngoài những thay đổi gia tăng như Python đã cập nhật và các phiên bản gói cũng như kiểm thử bản cập nhật phần cứng, Android 13 có 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 được chia thành 7 danh mục chính:
- Các phiên bản Python và gói
- Thêm tệp cấu hình
- Kiểm thử các thay đổi
- Thử nghiệm mới trên máy tính bảng
- Kiểm thử video
- Cập nhật và bổ sung phần cứng
- Hỗ trợ thử nghiệm có thể gập lại
Các phiên bản Python và gói
Android 13 hỗ trợ các phiên bản Python sau đây trong ngoài các phiên bản và thư viện Python được hỗ trợ trong Android 12:
- Python 3.9.2
- OpenCV 4.2.0
- Numpy 1.20.3
- Matplotlib 3.3.4
- Scipy 1.6.2
- pySerial 3.5
- Pillow 8.3.1
- PyYAML 5.4.1
- Mobly 1.11
- FFmpeg 4.4.1
Bổ sung tệp cấu hình
Do việc bổ sung tính năng kiểm soát ánh sáng cho thử nghiệm test_auto_flash.py
,
Tệp config.yml
cần hai tham số bổ sung cho bộ điều khiển và
kênh ánh sáng. Để xác định xem thiết bị đang được thử nghiệm (DUT) có phải là thiết bị có thể gập lại hay không
hoặc không, tệp config.yml
lại yêu cầu tham số bổ sung thứ ba phải
được thêm vào cả phần dựa trên máy tính bảng và phần kết hợp cảm biến.
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
cảnh1_1/test_black_white.py
Quy trình kiểm thử test_black_white
có quy trình kiểm tra độ bão hoà kênh
phù hợp với các phiên bản Android trước, tức là yêu cầu
cấp độ API đầu tiên để kiểm tra độ bão hoà kênh là Android
10.
cảnh1_2/test_yuv_plus_raw.py
Quy trình kiểm thử test_yuv_plus_raw
xử lý các cảm biến không phải tỷ lệ 16:9 hoặc 4:3 để cung cấp
hỗ trợ tốt hơn cho RAW. Nếu quá trình kiểm thử không tìm thấy một định dạng phổ biến
giữa định dạng RAW của cảm biến và định dạng chụp YUV, thử nghiệm sẽ so sánh
ảnh RAW chụp đến ảnh YUV lớn nhất ngay cả khi tỷ lệ khung hình
khác.
cảnh2_a/test_faces.py
test_faces
được tái cấu trúc thành test_num_faces
.
cảnh2_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 khuôn mặt chính xác trên ảnh chụp UW bị cắt.
cảnh3/test_lens_Position.py
Kiểm thử test_lens_position
không còn được dùng trong Android
13.
cảnh6/test_zoom.py
Chương trình kiểm thử test_zoom
được tái cấu trúc để cho phép kiểm thử 3 và 4 dễ dàng hơn
hệ thống camera. Nếu máy ảnh kiểm tra chính xác phạm vi tỷ lệ thu phóng gấp 10 lần,
kiểm thử thoát đúng cách. Điều này cho phép thực hiện việc kiểm tra thu phóng trên một
khoảng cách trên biểu đồ.
cảnh_change/test_scene_change.py
Kiểm thử test_scene_change
không còn được dùng trong Android
13.
Thử nghiệm mới dựa trên máy tính bảng
Android 13 bao gồm hai thử nghiệm mới dựa trên máy tính bảng. Cả hai thử nghiệm đều bắt buộc đối với các thiết bị khởi chạy bằng 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 thử nghiệm | Cấp độ API đầu tiên | Mô tả |
---|---|---|---|
2_a | kiểm tra_tự động_flash | 33 | Xác nhận cảnh tối sẽ kích hoạt đèn flash tự động. |
2_b | test_yuv_jpg_capture_sameness | 33 | Kiểm tra để chắc chắn rằng ảnh YUV và JPEG vẫn chụp được giống nhau theo từng bit. |
cảnh2_a/test_auto_flash.py
Android 13 thêm chương trình kiểm thử test_auto_flash
.
Tham số
flash
: Bỏ qua bước kiểm tra nếu không có flash.
Phương thức
Quá trình kiểm thử này sẽ định cấu hình yêu cầu chụp cho tính năng flash tự động và hiển thị một cảnh
yêu cầu sự kiện flash. Ánh sáng trong thiết bị thử nghiệm và máy tính bảng
tắt chế độ này để hiển thị cảnh tối cho thuật toán phơi sáng tự động. Thử nghiệm
định cấu hình một chuỗi NUM_FRAMES
chụp khi bật flash tự động. Nếu
Chế độ cài đặt AE_STATE
trả về FLASH_REQUIRED
, bài kiểm tra này xác minh rằng một flash
được kích hoạt trong ảnh chụp.
Bạn có thể điều khiển ánh sáng bằng cách thủ công khi được nhắc hoặc tự động bằng
Bộ điều khiển Arduino có thêm tính năng điều khiển ánh sáng để kiểm thử tự động. Một mô hình
thư mục tiện ích lighting_control_utils
tập trung mã để kiểm soát
ánh sáng trong các thử nghiệm.
cảnh2_a/test_yuv_jpeg_capture_sameness.py
Android 13 thêm test_yuv_jpeg_capture_sameness
thử nghiệm.
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
Thử nghiệm này chụp 2 hình ảnh bằng các định dạng YUV và JPEG phổ biến nhất với
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 là
1920x1440. Bài kiểm thử đặt jpeg.quality
thành 100 và chụp một bề mặt kép
của bạn. Sau đó, công cụ này chuyển đổi cả hai hình ảnh thành các mảng RGB và tính toán giá trị gốc 3D
hiệu số bình phương trung bình (RMS) giữa hai hình ảnh. Mức độ chênh lệch
được đặt thành 1%.
Thử nghiệm video
Camera ITS sẽ hỗ trợ kiểm thử video trong Android 13.
Android 13 bổ sung các kiểm thử sau:
Scene | Tên thử nghiệm | Cấp độ API đầu tiên | Mô tả |
---|---|---|---|
4 | test_preview_stabilization_fov | 33 | Xác nhận 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 định dạng video FoV, tỷ lệ khung hình và cắt. |
kết_hợp_cảm_lý | thử nghiệm_xem trước_ổn định | 33 | Xác nhận tính năng ổn định bản xem trước hoạt động tốt. |
kết_hợp_cảm_lý | kiểm tra_tính năng ổn định video | 33 | Đảm bảo tính năng ổn định video hoạt động tốt. |
cảnh4/test_preview_stabilization_fov.py
Android 13 thêm test_preview_stabilization_fov
thử nghiệm. 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
Thử nghiệm này sẽ quay 2 video, một video bật tính năng ổn định bản xem trước và một video khi tính năng ổn định bản xem trước đang tắt. Một khung đại diện được chọn trong mỗi và phân tích để đảm bảo rằng nội dung thay đổi trong hai video trong thông số kỹ thuật.
Cụ thể, kiểm thử này sẽ kiểm tra các tham số có và không có tham số sau ổ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 không còn 20% đó nữa, nghĩa là FoV thay đổi tối đa 20%.
cảnh4/test_video_aspect_ratio_and_crop.py
Android 13 thêm test_video_aspect_ratio_and_crop
thử nghiệm. Tương tự như test_aspect_ratio_and_crop
thử nghiệm cho ảnh tĩnh. Thử nghiệm này kiểm tra các định dạng video được hỗ trợ
để đảm bảo khung hình video không bị kéo giãn hoặc bị cắt không phù hợp.
Tất cả các chất lượng video tự báo cáo đều được kiểm tra. Ngoài ra, nếu
máy ảnh hỗ trợ video HLG10
, video 10-bit được kiểm tra.
Android 13 thêm get_available_video_qualities
sang its_session_utils
. Để chia sẻ mã chung
với các thử nghiệm hiện có, Android 13 cũng bao gồm hai
hàm hiệu dụng, image_fov_utils
và video_processing_utils
.
Phương thức
Thử nghiệm này chụp ảnh tham chiếu có định dạng RAW hoặc độ phân giải định dạng JPEG nếu RAW không được hỗ trợ. Từ hình ảnh tham chiếu, kích thước vòng kết nối và vị trí sẽ được xác định. Sau đó, hệ thống quay các video ngắn với 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ừ mỗi chất lượng video. Từ hệ quy chiếu, trường nhìn (FoV), tâm (cắt) và tỷ lệ khung hình được tính toán cho từng chất lượng video.
Để tính toán FoV, kiểm thử 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 bước kiểm tra khả năng cắt, phép kiểm thử sẽ so sánh khung hình video ở giữa với tham chiếu căn giữa hình ảnh. Để kiểm tra tỷ lệ khung hình, hãy sử dụng cảnh, vòng tròn đen lớn trên nền trắng, phép kiểm thử 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.
cảm biến_fusion/test_preview_stabilization.py
Android 13 thêm bài kiểm thử test_preview_stabilization
,
kiểm tra tất cả chất lượng xem trước được hỗ trợ lên đến 1920x1080. Kiểm thử sử dụng
thiết bị thử nghiệm hợp nhất cảm biến và
cần có 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 chi tiết về bộ điều khiển mới,
xem Bản cập nhật và bổ sung phần cứng.
Phương thức
Điện thoại được di chuyển chậm qua một góc khoảng 15 độ với bản xem trước đã bật tính năng ổn định. Sau đó, độ xoay hình ảnh được so sánh với độ quay của con quay hồi chuyển.
cảm biến_fusion/test_video_stabilization.py
Android 13 thêm bài kiểm thử test_video_stabilization
,
Đây là những bài kiểm tra chất lượng video được hỗ trợ lên đến 1920x1080. QCIF video có độ phân giải thấp
chất lượng bị loại trừ. Kiểm thử sử dụng
thiết bị thử nghiệm phản ứng tổng hợp cảm biến và
cần có 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 chi tiết về bộ điều khiển mới,
xem Bản cập nhật và bổ sung phần cứng.
Phương thức
Thiết bị thử nghiệm di chuyển điện thoại chậm rãi một góc khoảng 15 độ với đã bật tính năng ổn định bản xem trước. Sau đó, độ xoay hình ảnh được so sánh với độ quay của con quay hồi chuyển.
Cập nhật và bổ sung phần cứng
Android 13 bao gồm bản nâng cấp cho giao diện người dùng dựa trên Arduino bộ điều khiển hợp nhất cảm biến Revision 2. Bản nâng cấp này bao gồm cả các thay đổi về phần cứng và chương trình cơ sở. Nâng cấp cho phép bộ điều khiển để đặt tốc độ quay và kiểm soát sét. Việc nâng cấp cũng bao gồm một tấm khiên mới (như trong Hình 1), cung cấp ba kênh chế độ xoay và ba kênh điều khiển ánh sáng.
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, chương trình cơ sở của bộ điều khiển phải được cập nhật để bật điều khiển tốc độ xoay. Chương trình cơ sở này có thể tải xuống từ:
Để biết thêm thông tin về bộ điều khiển mới, hãy xem Bộ điều khiển hợp nhất cảm biến Android 13.
Hỗ trợ thử nghiệm thiết bị có thể gập lại
Android 13 hỗ trợ kiểm thử cho thiết bị có thể gập lại
thiết bị. Để bật
API nhiều camera
đối với thiết bị có thể gập lại, trạng thái điện thoại
(Folded
hoặc Unfolded
) là bắt buộc trong khi 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ả thiết bị không gập lại được
điện thoại của bạn, 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