Android 13 Camera Image Test Suite sürüm notları

Android 13 sürümü, Camera ITS'de bir dizi değişiklik içerir. Güncellenmiş Python ve paket sürümleri ve test donanımı güncellemeleri gibi artımlı değişikliklere ek olarak Android 13, video testini destekler.

Bu sayfa, Android 13 için Camera ITS değişikliklerini özetlemektedir. Değişiklikler yedi geniş kategoriye ayrılmıştır:

Python ve paket sürümleri

Android 13, Android 12'de desteklenen Python sürümlerine ve kitaplıklarına ek olarak aşağıdaki Python sürümlerini destekler:

Yapılandırma dosyası eklemeleri

test_auto_flash.py testi için aydınlatma kontrolünün eklenmesi nedeniyle, config.yml dosyası, kontrolör ve aydınlatma kanalı için iki ek parametreye ihtiyaç duyar. Test edilen cihazın (DUT) katlanabilir olup olmadığını belirlemek için config.yml dosyası, hem tablet tabanlı hem de sensör birleştirme bölümlerine eklenmesi gereken üçüncü bir ek parametre gerektirir.

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

Test değişiklikleri

scene1_1/test_black_white.py

test_black_white testinde, Android'in önceki sürümleriyle tutarlı kanal doygunluk kontrolü vardır; bu, kanal doygunluk kontrolü için gereken ilk API seviyesinin Android 10 olduğu anlamına gelir.

scene1_2/test_yuv_plus_raw.py

test_yuv_plus_raw testi, RAW için daha iyi destek sağlamak üzere 16:9 veya 4:3 olmayan sensörleri işler. Test, sensör RAW formatı ile YUV yakalama formatları arasında ortak bir format bulamazsa en-boy oranları farklı olsa bile, RAW yakalamayı en büyük YUV yakalamayla karşılaştırır.

scene2_a/test_faces.py

test_faces , test_num_faces olarak yeniden test_num_faces .

scene2_a/test_num_faces.py

test_num_faces testi, sensör kırpmayı işler ve kırpılan UW kamera yakalamalarına yüz dikdörtgenlerini doğru şekilde yerleştirir.

scene3/test_lens_position.py

test_lens_position testi Android 13'te kullanımdan kaldırılmıştır.

scene6/test_zoom.py

test_zoom testi, üç ve dört kamera sistemlerinin daha kolay test edilmesini sağlamak için yeniden düzenlenmiştir. Kamera, yakınlaştırmada 10x oran aralığında doğru şekilde test yaparsa, testten doğru şekilde çıkar. Bu, yakınlaştırma testinin tek bir grafik mesafesinde gerçekleştirilmesini sağlar.

scene_change/test_scene_change.py

test_scene_change testi Android 13'te kullanımdan kaldırılmıştır.

Yeni tablet tabanlı testler

Android 13, iki yeni tablet tabanlı test içerir. Her iki test de Android 13 ile başlatılan cihazlar için zorunludur, ancak Android 13'e yükseltilen cihazlar için atlanır.

Sahne test adı İlk API seviyesi Tanım
2_a test_auto_flash 33 Karanlık sahnelerin otomatik flaşı tetiklediğini onaylar.
2_b test_yuv_jpg_capture_sameness 33 YUV ve JPEG yakalamalarının bit bazında aynı olduğunu onaylar.

scene2_a/test_auto_flash.py

Android 13, test_auto_flash testini ekler.

parametreler

  • flash : Flaş mevcut değilse testi atlar.

Yöntem

Test, otomatik flaş için yakalama talebini yapılandırır ve flaş olayı gerektiren bir sahne sunar. Otomatik pozlama algoritması için karanlık bir sahne sunmak üzere test teçhizatındaki ve tabletteki aydınlatma kapatılır. Test, otomatik flaş etkinken bir dizi NUM_FRAMES yakalama yapılandırır. AE_STATE ayarı FLASH_REQUIRED döndürürse, test, yakalamalarda bir flaşın patladığını doğrular.

Aydınlatma, istendiğinde manuel olarak veya otomatik test için aydınlatma kontrolü eklenmiş bir Arduino kontrol cihazı ile otomatik olarak kontrol edilebilir. Yeni bir yardımcı program klasörü lighting_control_utils , testlerde aydınlatmayı kontrol etmek için kodu merkezileştirir.

scene2_a/test_yuv_jpeg_capture_sameness.py

Android 13, test_yuv_jpeg_capture_sameness testini ekler.

parametreler

  • streamUseCase : Kameranın akış kullanım durumunu destekleyip desteklemediğini belirler.
  • android.jpeg.quality : JPEG kalitesini 100 olarak ayarlar.

Yöntem

Bu test, 1920x1440 çözünürlüğünü aşmayan en büyük JPEG formatıyla aynı en boy oranına sahip en yaygın YUV ve JPEG formatlarını kullanarak iki görüntü yakalar. Test, jpeg.quality 100 olarak ayarlar ve çift yüzey isteğini yakalar. Daha sonra her iki görüntüyü de RGB dizilerine dönüştürür ve iki görüntü arasındaki 3B kök ortalama kare (RMS) farkını hesaplar. Fark toleransı %1 olarak ayarlanmıştır.

Video testi

Camera ITS, Android 13'te video testi için destek ekler.

Android 13, aşağıdaki testleri ekler:

Sahne test adı İlk API seviyesi Tanım
4 test_preview_stabilization_fov 33 Sabitleme etkinken video ön izlemenin çok fazla kırpılmadığını onaylar.
4 test_video_aspect_ratio_and_crop 33 Video formatlarını FoV, en boy oranını ve kırpmayı onaylar.
sensör_füzyonu test_preview_stabilition 33 Önizleme stabilizasyonunun çalıştığını onaylar.
sensör_füzyonu test_video_stabilition 33 Video sabitlemenin çalıştığını onaylar.

scene4/test_preview_stabilization_fov.py

Android 13, test_preview_stabilization_fov testini ekler. Bu test, Görüş Açısının uygun olmayan şekilde kırpılmadığından emin olmak için desteklenen önizleme boyutlarını kontrol eder.

Yöntem

Test, biri önizleme sabitlemesi açık, diğeri önizleme sabitlemesi kapalı olmak üzere iki video çeker. Her videodan temsili bir çerçeve seçilir ve iki videodaki Görüş Açısı değişikliklerinin teknik özellikler dahilinde olduğundan emin olmak için analiz edilir.

Test özellikle, önizleme stabilizasyonu olan ve olmayan aşağıdaki parametreleri kontrol eder:

  • Daire yuvarlaklığı sabit kalır.
  • Çemberin merkezi sabit kalır.
  • Dairenin boyutu %20'den fazla değişmez, bu da Görüş Açısının en fazla %20 değiştiği anlamına gelir.

scene4/test_video_aspect_ratio_and_crop.py

Android 13, test_video_aspect_ratio_and_crop testini ekler. Hareketsiz yakalamalar için test_aspect_ratio_and_crop testine benzer şekilde, bu test video karelerinin uygun olmayan şekilde uzatılmadığından veya kırpılmadığından emin olmak için desteklenen video formatlarını kontrol eder. Kendi kendine bildirilen tüm video nitelikleri test edilir. Ek olarak, kamera HLG10 videoyu destekliyorsa 10 bit video test edilir.

Android 13, its_session_utils get_available_video_qualities yöntemini ekler. Android 13, mevcut testlerle ortak kodu paylaşmak için ayrıca iki yeni yardımcı işlev içerir: image_fov_utils ve video_processing_utils .

Yöntem

Test, RAW formatı veya RAW desteklenmiyorsa en yüksek çözünürlüklü JPEG formatı ile bir referans görüntü yakalar. Referans görüntüden daire boyutu ve konumu belirlenir. Daha sonra desteklenen tüm video kaliteleri ile kısa videolar çekilir. Nihai referans çerçevesi, her bir video kalitesinden çıkarılır. Referans çerçevesinden, her video kalitesi için görüş alanı (FoV), merkezleme (kırpma) ve en boy oranı hesaplanır.

FoV hesaplaması için test, video çerçevesi daire boyutunu referans görüntü ve video formatı boyutlarından hesaplanan daire boyutuyla karşılaştırır. Kırpma kontrolü için test, video kare merkezlemesini referans görüntü merkezleme ile karşılaştırır. En boy oranı kontrolü için, beyaz bir arka plan üzerinde büyük siyah bir daire olan sahneyi kullanan test, dairenin en boy oranını belirler ve çerçevenin bozulmadığını doğrular.

sensor_fusion/test_preview_stabilization.py

Android 13, 1920x1080'e kadar desteklenen tüm önizleme niteliklerini test eden test_preview_stabilization testini ekler. Test, sensör füzyon test düzeneğini kullanır ve yeni revizyon 2 sensör füzyon kontrol cihazını veya önceki Arduino kontrol cihazı sürümlerinin ürün yazılımı yükseltmesini gerektirir. Yeni denetleyici hakkında daha fazla ayrıntı için bkz. Donanım güncellemeleri ve eklemeler .

Yöntem

Telefon, önizleme stabilizasyonu etkinken yaklaşık 15 derecelik bir açıda yavaşça hareket ettirilir. Görüntülerin dönüşü daha sonra jiroskopun dönüşü ile karşılaştırılır.

sensor_fusion/test_video_stabilization.py

Android 13, 1920x1080'e kadar desteklenen video kalitelerini test eden test_video_stabilization testini ekler. QCIF düşük çözünürlüklü video kalitesi hariçtir. Test, sensör füzyon test düzeneğini kullanır ve yeni revizyon 2 sensör füzyon kontrol cihazını veya önceki Arduino kontrol cihazı sürümlerinin ürün yazılımı yükseltmesini gerektirir. Yeni denetleyici hakkında daha fazla ayrıntı için bkz. Donanım güncellemeleri ve eklemeler .

Yöntem

Test teçhizatı, önizleme stabilizasyonu etkinken telefonu yaklaşık 15 derecelik bir açıyla yavaşça hareket ettirir. Görüntülerin dönüşü daha sonra jiroskopun dönüşü ile karşılaştırılır.

Donanım güncellemeleri ve eklemeler

Android 13, Arduino tabanlı revizyon 2 sensör füzyon denetleyicisine yükseltme içerir. Bu yükseltme, hem donanım hem de üretici yazılımı değişikliklerini içerir. Yükseltme, denetleyicinin dönüş hızını ve yıldırım kontrolünü ayarlamasını sağlar. Yükseltme ayrıca, üç dönüş kanalı ve üç aydınlatma kontrolü kanalı sağlayan yeni bir kalkan (Şekil 1'de gösterilmiştir) içerir.

Arduino kalkanı rev2.0

Şekil 1. Döndürme ve aydınlatma kontrolü ile Arduino shield rev2.0

Ek olarak, 13 için, dönüş hızı kontrolünü etkinleştirmek üzere mevcut kontrolörlerin donanım yazılımının güncellenmesi gerekir. Bu bellenim şu adresten indirilebilir:

Yeni denetleyici hakkında daha fazla bilgi için bkz. Android 13 sensör füzyon denetleyicisi .

Katlanabilir test desteği

Android 13, katlanabilir cihazlar için test desteği içerir. Katlanabilirler için çoklu kamera API'sini etkinleştirmek üzere test sırasında telefon durumu ( Folded veya Unfolded ) gereklidir. Katlanamayan telefonlar da dahil olmak üzere tüm DUT'lar için telefon durumunun sorgulanmasını etkinleştirmek üzere, DUT ana bilgisayara bağlandıktan sonra aşağıdaki adb komutunu çalıştırın.

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