Catatan rilis Rangkaian Uji Gambar Kamera Android 13

Rilisan Android 13 menyertakan sejumlah perubahan pada Kamera ITS . Selain perubahan bertahap seperti pembaruan Python dan versi paket serta pembaruan pengujian perangkat keras, Android 13 mendukung pengujian video.

Halaman ini merangkum perubahan Kamera ITS untuk Android 13. Perubahan tersebut terbagi dalam tujuh kategori besar:

Versi Python dan paket

Android 13 mendukung versi Python berikut selain versi dan pustaka Python yang didukung di Android 12:

Penambahan file konfigurasi

Karena penambahan kontrol pencahayaan untuk pengujian test_auto_flash.py , file config.yml memerlukan dua parameter tambahan untuk pengontrol dan saluran pencahayaan. Untuk mengidentifikasi apakah perangkat yang diuji (DUT) dapat dilipat 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

Uji perubahan

adegan1_1/test_black_white.py

Pengujian test_black_white memiliki pemeriksaan saturasi saluran yang konsisten dengan versi Android sebelumnya, yang berarti level API pertama yang diperlukan untuk pemeriksaan saturasi saluran adalah Android 10.

adegan1_2/test_yuv_plus_raw.py

Tes 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 umum antara format RAW sensor dan format pengambilan YUV, pengujian akan membandingkan pengambilan RAW dengan pengambilan YUV terbesar meskipun rasio aspeknya berbeda.

adegan2_a/test_faces.py

test_faces difaktorkan ulang menjadi test_num_faces .

adegan2_a/test_num_faces.py

Tes test_num_faces menangani pemotongan sensor dan menempatkan persegi panjang wajah dengan benar pada tangkapan kamera UW yang dipotong.

adegan3/test_lens_position.py

Tes test_lens_position tidak digunakan lagi di Android 13.

adegan6/test_zoom.py

Tes test_zoom difaktorkan ulang untuk memudahkan pengujian sistem tiga dan empat kamera. Jika kamera menguji dengan benar pada rentang rasio 10x dalam zoom, pengujian akan berakhir dengan benar. Hal ini memungkinkan pengujian zoom dilakukan pada jarak grafik tunggal.

adegan_perubahan/test_scene_change.py

Tes test_scene_change tidak digunakan lagi di Android 13.

Tes berbasis tablet baru

Android 13 menyertakan dua pengujian berbasis tablet baru. Kedua pengujian tersebut diwajibkan untuk perangkat yang diluncurkan dengan Android 13, tetapi dilewati untuk perangkat yang diupgrade ke Android 13.

Pemandangan Nama tes tingkat API pertama Keterangan
2_a tes_auto_flash 33 Mengonfirmasi adegan gelap memicu flash otomatis.
2_b test_yuv_jpg_capture_kesamaan 33 Mengonfirmasi bahwa tangkapan gambar YUV dan JPEG sedikit identik.

adegan2_a/test_auto_flash.py

Android 13 menambahkan tes test_auto_flash .

Parameter

  • flash : Melewati tes jika flash tidak tersedia.

metode

Pengujian ini mengonfigurasi permintaan pengambilan untuk flash otomatis dan menyajikan adegan yang memerlukan peristiwa flash. Pencahayaan di perangkat pengujian dan tablet dimatikan untuk menampilkan pemandangan gelap untuk algoritma eksposur otomatis. Pengujian ini mengonfigurasi urutan NUM_FRAMES pengambilan dengan flash otomatis diaktifkan. Jika pengaturan AE_STATE mengembalikan FLASH_REQUIRED pengujian memverifikasi bahwa lampu kilat menyala dalam pengambilan.

Pencahayaan dapat dikontrol secara manual saat diminta, atau secara otomatis dengan pengontrol Arduino dengan kontrol pencahayaan ditambahkan untuk pengujian otomatis. Folder utilitas baru lighting_control_utils memusatkan kode untuk mengontrol pencahayaan dalam pengujian.

adegan2_a/test_yuv_jpeg_capture_sameness.py

Android 13 menambahkan pengujian test_yuv_jpeg_capture_sameness .

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 dan tidak melebihi resolusi 1920x1440. Pengujian ini menetapkan jpeg.quality ke 100 dan menangkap permintaan permukaan ganda. Kemudian mengkonversi kedua gambar ke array RGB dan menghitung perbedaan root mean square (RMS) 3D antara kedua gambar. Toleransi perbedaan diatur ke 1%.

Pengujian video

Kamera ITS menambahkan dukungan untuk pengujian video di Android 13.

Android 13 menambahkan tes berikut:

Pemandangan Nama tes tingkat API pertama Keterangan
4 test_preview_stabilization_fov 33 Mengonfirmasi pratinjau video tidak terpotong terlalu banyak dengan stabilisasi diaktifkan.
4 uji_video_aspek_rasio_dan_pangkas 33 Mengonfirmasi format video FoV, rasio aspek, dan pemotongan.
sensor_fusion test_preview_stability 33 Mengonfirmasi stabilisasi pratinjau berfungsi.
sensor_fusion test_video_stability 33 Mengonfirmasi stabilisasi video berfungsi.

adegan4/test_preview_stabilization_fov.py

Android 13 menambahkan pengujian test_preview_stabilization_fov . Tes ini memeriksa ukuran pratinjau yang didukung untuk memastikan FoV tidak dipotong secara tidak tepat.

metode

Pengujian ini merekam dua video, satu dengan stabilisasi pratinjau aktif, dan satu lagi dengan stabilisasi pratinjau nonaktif. Bingkai representatif dipilih dari setiap video, dan dianalisis untuk memastikan bahwa perubahan FoV di kedua video sesuai spesifikasi.

Secara khusus, pengujian ini memeriksa parameter berikut dengan dan tanpa stabilisasi pratinjau:

  • Kebulatan lingkaran tetap konstan.
  • Pusat lingkaran tetap stabil.
  • Besar kecilnya perubahan lingkaran tidak lebih dari 20%, artinya FoV berubah paling banyak 20%.

adegan4/test_video_aspect_ratio_and_crop.py

Android 13 menambahkan pengujian test_video_aspect_ratio_and_crop . Mirip dengan pengujian test_aspect_ratio_and_crop untuk pengambilan gambar diam, pengujian ini memeriksa format video yang didukung untuk memastikan bingkai video tidak diregangkan atau dipotong secara tidak tepat. Semua kualitas video yang dilaporkan sendiri telah diuji. Selain itu, jika kamera mendukung video HLG10 , video 10-bit akan diuji.

Android 13 menambahkan metode get_available_video_qualities ke its_session_utils . Untuk berbagi kode umum dengan pengujian yang ada, Android 13 juga menyertakan dua fungsi utilitas baru, image_fov_utils dan video_processing_utils .

metode

Pengujian mengambil gambar referensi dengan format RAW atau format JPEG resolusi tertinggi jika RAW tidak didukung. Dari gambar referensi ditentukan ukuran lingkaran dan lokasinya. Video pendek kemudian diambil dengan semua kualitas video didukung. Kerangka referensi akhir diekstraksi dari setiap kualitas video. Dari bingkai referensi, field-of-view (FoV), centering (crop), dan rasio aspek dihitung untuk setiap kualitas video.

Untuk penghitungan FoV, pengujian membandingkan ukuran lingkaran bingkai video dengan ukuran lingkaran yang dihitung dari ukuran format gambar dan video referensi. Untuk pemeriksaan pemotongan, pengujian membandingkan pemusatan bingkai video dengan pemusatan gambar referensi. Untuk pemeriksaan rasio aspek, menggunakan pemandangan, yaitu lingkaran hitam besar dengan latar belakang putih, pengujian menentukan rasio aspek lingkaran dan memverifikasi bahwa bingkai 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 fusi sensor dan memerlukan pengontrol fusi sensor revisi 2 yang baru atau peningkatan firmware dari versi pengontrol Arduino sebelumnya. Untuk detail lebih lanjut tentang pengontrol baru, lihat Pembaruan dan penambahan perangkat keras .

metode

Ponsel digerakkan perlahan pada sudut sekitar 15 derajat dengan stabilisasi pratinjau diaktifkan. 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. Kualitas video resolusi rendah QCIF tidak termasuk. Pengujian ini menggunakan rig uji fusi sensor dan memerlukan pengontrol fusi sensor revisi 2 yang baru atau peningkatan firmware dari versi pengontrol Arduino sebelumnya. Untuk detail lebih lanjut tentang pengontrol baru, lihat Pembaruan dan penambahan perangkat keras .

metode

Peralatan pengujian menggerakkan ponsel secara perlahan pada sudut sekitar 15 derajat dengan stabilisasi pratinjau diaktifkan. Rotasi gambar kemudian dibandingkan dengan rotasi giroskop.

Pembaruan dan penambahan perangkat keras

Android 13 menyertakan upgrade ke pengontrol fusi sensor revisi 2 berbasis Arduino. Peningkatan ini mencakup perubahan perangkat keras dan firmware. Peningkatan ini memungkinkan pengontrol untuk mengatur kecepatan putaran dan kontrol petir. Peningkatan ini juga mencakup pelindung baru (ditunjukkan pada Gambar 1), yang menyediakan tiga saluran rotasi dan tiga saluran kontrol pencahayaan.

Perisai Arduino rev2.0

Gambar 1. Arduino shield rev2.0 dengan kontrol rotasi dan pencahayaan

Selain itu, untuk 13, firmware pengontrol yang ada harus diperbarui untuk mengaktifkan kontrol kecepatan rotasi. Firmware ini dapat diunduh dari:

Untuk informasi selengkapnya tentang pengontrol baru, lihat Pengontrol fusi sensor Android 13 .

Dukungan pengujian yang dapat dilipat

Android 13 menyertakan dukungan pengujian untuk perangkat yang dapat dilipat. Untuk mengaktifkan API multi-kamera pada perangkat yang dapat dilipat, status ponsel ( Folded atau Unfolded ) diperlukan selama pengujian. Untuk mengaktifkan polling status ponsel untuk semua DUT, termasuk ponsel yang tidak dapat dilipat, jalankan perintah adb berikut setelah DUT terhubung ke host.

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