Rilis Android 13 menyertakan sejumlah perubahan pada Kamera ITS. Selain perubahan inkremental seperti Python yang diupdate dan versi paket serta pengujian update hardware, Android 13 mendukung pengujian video.
Halaman ini merangkum perubahan Camera ITS untuk Android 13. Perubahan tersebut terbagi dalam tujuh kategori umum:
- Versi paket dan Python
- Penambahan file konfigurasi
- Menguji perubahan
- Pengujian berbasis tablet baru
- Pengujian video
- Update dan penambahan hardware
- Dukungan pengujian foldable
Python dan versi paket
Android 13 mendukung versi Python berikut di selain versi dan library Python yang didukung di 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
- Bantal 8.3.1
- PyYAML 5.4.1
- Mobly 1.11
- FFmpeg 4.4.1
Penambahan file konfigurasi
Karena penambahan kontrol pencahayaan untuk pengujian test_auto_flash.py
,
File config.yml
memerlukan dua parameter tambahan untuk pengontrol dan
pencahayaan. Untuk mengidentifikasi apakah perangkat yang sedang diuji (DUT) adalah perangkat foldable
atau tidak, file config.yml
memerlukan parameter tambahan ketiga yang harus
ditambahkan ke bagian berbasis tablet dan fusi sensor.
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
Menguji perubahan
halaman1_1/test_black_white.py
Pengujian test_black_white
memiliki pemeriksaan saturasi saluran
konsisten dengan versi Android sebelumnya, yang berarti bahwa persyaratan
level API pertama untuk pemeriksaan saturasi saluran adalah Android
10.
halaman1_2/test_yuv_plus_raw.py
Pengujian test_yuv_plus_raw
menangani sensor non-16:9 atau 4:3 untuk memberikan
dukungan yang lebih baik untuk RAW. Jika pengujian tidak dapat menemukan format yang umum
format RAW sensor dan format penangkapan YUV, pengujian ini membandingkan
penangkapan RAW hingga penangkapan YUV terbesar meskipun rasio aspeknya
berbeda.
scene2_a/test_faces.py
test_faces
difaktorkan ulang menjadi test_num_faces
.
scene2_a/test_num_faces.py
Pengujian test_num_faces
menangani pemangkasan sensor dan menempatkan
menampilkan persegi panjang dengan benar pada
tangkapan kamera UW yang dipangkas.
scene3/test_lens_position.py
Pengujian test_lens_position
tidak digunakan lagi di Android
13.
scene6/test_zoom.py
Pengujian test_zoom
difaktorkan ulang untuk memudahkan pengujian tiga dan empat
sistem kamera. Jika kamera menguji dengan benar pada rentang rasio 10x dalam zoom,
pengujian keluar dengan benar. Hal ini memungkinkan pengujian zoom dilakukan pada satu
jarak diagram.
scene_change/test_scene_change.py
Pengujian test_scene_change
tidak digunakan lagi di Android
13.
Pengujian berbasis tablet baru
Android 13 menyertakan dua pengujian berbasis tablet baru. Kedua pengujian diwajibkan untuk perangkat yang diluncurkan dengan Android 13, tetapi dilewati untuk perangkat yang diupgrade ke Android 13.
Scene | Nama pengujian | Level API pertama | Deskripsi |
---|---|---|---|
2_a | uji_auto_flash | 33 | Mengonfirmasi adegan gelap memicu flash otomatis. |
2_b | test_yuv_jpg_capture_sameness | 33 | Mengonfirmasi bahwa YUV dan JPEG masih menangkap bit-wise identik. |
scene2_a/test_auto_flash.py
Android 13 menambahkan pengujian test_auto_flash
.
Parameter
flash
: Melewati pengujian jika flash tidak tersedia.
Metode
Pengujian mengonfigurasi permintaan pengambilan untuk flash otomatis dan menyajikan scene
memerlukan peristiwa flash. Pencahayaan di rig pengujian dan tablet
dimatikan guna menyajikan suasana gelap untuk algoritme eksposur otomatis. Tes
mengonfigurasi urutan tangkapan NUM_FRAMES
dengan flash otomatis diaktifkan. Jika
Setelan AE_STATE
menampilkan FLASH_REQUIRED
. Pengujian memverifikasi bahwa flash
setelah ditembakkan.
Pencahayaan dapat dikontrol secara manual saat diminta, atau secara otomatis dengan
Pengontrol Arduino dengan kontrol pencahayaan yang ditambahkan untuk pengujian otomatis. Fitur baru
folder utilitas lighting_control_utils
memusatkan kode untuk mengontrol
pencahayaan dalam pengujian.
scene2_a/test_yuv_jpeg_capture_sameness.py
Android 13 menambahkan test_yuv_jpeg_capture_sameness
uji coba.
Parameter
streamUseCase
: Menentukan apakah kamera mendukung kasus penggunaan streaming.android.jpeg.quality
: Menyetel kualitas JPEG ke 100.
Metode
Pengujian ini mengambil dua gambar menggunakan format YUV dan JPEG umum terbesar dengan
rasio aspek yang sama dengan format JPEG terbesar yang tidak melebihi resolusi
1920x1440. Pengujian menetapkan jpeg.quality
ke 100 dan merekam platform ganda
permintaan. Kemudian perangkat ini mengonversi kedua gambar ke susunan RGB dan menghitung akar 3D
perbedaan rata-rata kuadrat (RMS) antara dua gambar. Toleransi perbedaan
ditetapkan ke 1%.
Pengujian video
Camera ITS menambahkan dukungan untuk pengujian video di Android 13.
Android 13 menambahkan pengujian berikut:
Scene | Nama pengujian | Level API pertama | Deskripsi |
---|---|---|---|
4 | pengujian_pratinjau_stabilisasi_fov | 33 | Memastikan pratinjau video tidak dipangkas terlalu banyak dengan stabilisasi diaktifkan. |
4 | test_video_aspect_ratio_and_crop | 33 | Mengonfirmasi format video FoV, rasio aspek, dan pemangkasan. |
sensor_fusion | stabilisi_pratinjau_pengujian | 33 | Mengonfirmasi bahwa stabilisasi pratinjau berfungsi. |
sensor_fusion | stabilisi_video_pengujian | 33 | Mengonfirmasi bahwa stabilisasi video berfungsi. |
scene4/test_preview_stabilization_fov.py
Android 13 menambahkan test_preview_stabilization_fov
uji coba. Pengujian ini memeriksa ukuran pratinjau yang didukung
untuk memastikan FoV tidak
dipangkas dengan tidak tepat.
Metode
Pengujian ini merekam dua video, satu dengan stabilisasi pratinjau aktif, dan satu lagi dengan stabilisasi pratinjau nonaktif. {i>Frame<i} yang mewakili dipilih dari masing-masing video, dan dianalisis untuk memastikan bahwa perubahan FoV pada kedua video dalam spesifikasi.
Secara khusus, pengujian akan memeriksa parameter berikut, baik dengan maupun tanpa stabilisasi pratinjau:
- Kebulatan lingkaran tetap konstan.
- Pusat lingkaran tetap stabil.
- Ukuran lingkaran berubah tidak lebih dari 20%, yang berarti bahwa FoV berubah maksimal 20%.
scene4/test_video_aspect_ratio_and_crop.py
Android 13 menambahkan test_video_aspect_ratio_and_crop
uji coba. Serupa dengan test_aspect_ratio_and_crop
untuk menemukan gambar diam, pengujian ini memeriksa format video yang didukung
untuk memastikan bahwa {i>frame<i} video
tidak direntangkan atau dipangkas dengan tidak tepat.
Semua kualitas video yang dilaporkan secara mandiri akan diuji. Selain itu, jika
kamera mendukung video HLG10
, video 10-bit diuji.
Android 13 menambahkan get_available_video_qualities
ke its_session_utils
. Untuk berbagi kode umum
dengan pengujian yang ada, Android 13 juga menyertakan dua
fungsi utilitas, image_fov_utils
dan video_processing_utils
.
Metode
Pengujian ini mengambil gambar referensi dengan format RAW atau format JPEG jika RAW tidak didukung. Dari gambar referensi, ukuran lingkaran dan lokasi ditentukan. Video pendek kemudian diambil dengan semua kualitas video yang didukung. {i>Frame<i} referensi akhir diekstrak dari masing-masing kualitas video. Dari {i>frame<i} referensi, ruang pandang (FoV), pemusatan (pangkas), dan rasio aspek dihitung untuk setiap kualitas video.
Untuk penghitungan FoV, pengujian membandingkan ukuran lingkaran frame video dengan ukuran lingkaran yang dihitung dari ukuran format video dan gambar referensi. Untuk pemeriksaan pangkas, pengujian membandingkan pemusatan frame video dengan referensi pemusatan gambar. Untuk pemeriksaan rasio aspek, menggunakan scene, yang merupakan lingkaran hitam besar dengan latar belakang putih, pengujian menentukan rasio aspek dalam lingkaran dan memverifikasi bahwa {i>frame<i} tidak terdistorsi.
sensor_fusion/test_preview_stabilization.py
Android 13 menambahkan pengujian test_preview_stabilization
,
yang menguji semua kualitas pratinjau yang didukung hingga 1920x1080. Pengujian ini menggunakan
rig uji sensor fusion dan
memerlukan pengontrol fusi sensor revisi 2 yang baru atau upgrade firmware
versi pengontrol Arduino sebelumnya. Untuk detail selengkapnya tentang pengontrol baru,
lihat Update dan penambahan hardware.
Metode
Ponsel digerakkan secara perlahan dengan sudut sekitar 15 derajat dengan pratinjau stabilisasi. Rotasi gambar kemudian dibandingkan dengan rotasi giroskop.
sensor_fusion/test_video_stabilization.py
Android 13 menambahkan pengujian test_video_stabilization
,
yang menguji kualitas video yang didukung hingga 1920x1080. Video resolusi rendah QCIF
kualitas dikecualikan. Pengujian ini menggunakan
perangkat pengujian sensor fusion dan
memerlukan pengontrol fusi sensor revisi 2 yang baru atau upgrade firmware
versi pengontrol Arduino sebelumnya. Untuk detail selengkapnya tentang pengontrol baru,
lihat Update dan penambahan hardware.
Metode
Rig uji menggerakkan ponsel secara perlahan melalui sudut sekitar 15 derajat dengan stabilisasi pratinjau diaktifkan. Rotasi gambar kemudian dibandingkan dengan rotasi giroskop.
Update dan penambahan hardware
Android 13 menyertakan upgrade ke antarmuka berbasis Arduino pengontrol fusi sensor revisi 2. Upgrade ini mencakup perubahan hardware dan firmware. Upgrade memungkinkan {i>controller<i} untuk mengatur kecepatan rotasi dan kontrol petir. Peningkatan ini juga memiliki perisai baru (ditunjukkan pada Gambar 1), yang menyediakan tiga saluran rotasi dan tiga saluran kontrol pencahayaan.
Gambar 1. Arduino shield rev2.0 dengan kontrol rotasi dan pencahayaan
Selain itu, untuk 13, {i>firmware<i} pengontrol harus diperbarui untuk mengaktifkan kontrol kecepatan rotasi. Firmware ini dapat didownload dari:
Untuk informasi selengkapnya tentang pengontrol baru, lihat Pengontrol fusi sensor Android 13.
Dukungan pengujian foldable
Android 13 menyertakan dukungan pengujian untuk perangkat foldable
perangkat. Untuk mengaktifkan
API multi-kamera
untuk perangkat foldable, status ponsel
(Folded
atau Unfolded
) diperlukan selama pengujian.
Untuk mengaktifkan polling status ponsel bagi semua DUT, termasuk non-foldable
ponsel, jalankan perintah adb berikut setelah DUT terhubung ke host.
adb shell am compat enable ALLOW_TEST_API_ACCESS com.android.cts.verifier