Android 13 Kamera Görüntüsü Test Paketi sürüm notları

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

Bu sayfada Android 13 için Kamera ITS değişiklikleri özetlenmektedir. Değişiklikler yedi geniş kategoriye ayrılır:

Python ve paket versiyonları

Android 13, Android 12'de desteklenen Python sürümlerine ve kitaplıklara 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 cihazı 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 füzyon 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 testi, Android'in önceki sürümleriyle tutarlı kanal doygunluğu kontrolüne sahiptir; bu, kanal doygunluğu kontrolü için gerekli 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 amacıyla 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 test, 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 düzenlendi.

scene2_a/test_num_faces.py

test_num_faces testi, sensör kırpmayı yönetir ve yüz dikdörtgenlerini kırpılan UW kamera çekimlerine doğru şekilde yerleştirir.

scene3/test_lens_position.py

test_lens_position testi Android 13'te kullanımdan kaldırıldı.

scene6/test_zoom.py

test_zoom testi, üç ve dört kamera sisteminin daha kolay test edilmesini sağlamak için yeniden düzenlendi. Kamera yakınlaştırmada 10x oran aralığını doğru bir şekilde test ederse testten doğru şekilde çıkar. Bu, yakınlaştırma testinin tek bir grafik mesafesinde gerçekleştirilmesine olanak sağlar.

scene_change/test_scene_change.py

test_scene_change testi Android 13'te kullanımdan kaldırıldı.

Yeni tablet tabanlı testler

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

Sahne Test adı İlk API düzeyi Tanım
2_a test_auto_flash 33 Karanlık sahnelerin otomatik flaşı tetiklediğini doğrular.
2_b test_yuv_jpg_capture_sameness 33 YUV ve JPEG hareketsiz yakalamaların bit bazında aynı olduğunu doğrular.

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 amacıyla test donanımı ve tabletteki aydınlatma kapatılır. Test, otomatik flaşın etkin olduğu NUM_FRAMES yakalama dizisini yapılandırır. AE_STATE ayarı FLASH_REQUIRED döndürürse test, çekimlerde bir flaşın patladığını doğrular.

Aydınlatma, istendiğinde manuel olarak veya otomatik test için aydınlatma kontrolü eklenmiş bir Arduino denetleyicisi ile otomatik olarak kontrol edilebilir. Yeni bir yardımcı program klasörü lighting_control_utils testlerde aydınlatmanın kontrol edilmesine yönelik 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üğü aşmayan en büyük JPEG formatıyla aynı en boy oranına sahip, en büyük ortak YUV ve JPEG formatlarını kullanan iki görüntüyü yakalar. Test, jpeg.quality 100'e 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 3D ortalama karekök (RMS) farkını hesaplar. Fark toleransı %1'e 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 düzeyi Tanım
4 test_preview_stabilization_fov 33 Sabitleme etkinken video önizlemesinin çok fazla kırpılmadığını doğrular.
4 test_video_aspect_ratio_and_crop 33 FoV video formatlarını, en boy oranını ve kırpmayı onaylar.
sensör_füzyonu test_preview_stabilition 33 Önizleme stabilizasyonunun çalıştığını doğrular.
sensör_füzyonu test_video_stabilition 33 Video sabitlemenin çalıştığını doğrular.

scene4/test_preview_stabilization_fov.py

Android 13, test_preview_stabilization_fov testini ekler. Bu test, FoV'nin uygunsuz bir ş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 FoV değişikliklerinin spesifikasyonlar dahilinde olduğundan emin olmak için analiz edilir.

Test özellikle önizleme stabilizasyonu olsun veya olmasın aşağıdaki parametreleri kontrol eder:

  • Daire yuvarlaklığı sabit kalır.
  • Çemberin merkezi sabit kalır.
  • Dairenin boyutu en fazla %20 değişmez, bu da FoV'un 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 görüntülere yönelik test_aspect_ratio_and_crop testine benzer şekilde bu test, video karelerinin uygunsuz şekilde uzatılmadığından veya kırpılmadığından emin olmak için desteklenen video formatlarını kontrol eder. Kendilerin bildirdiği tüm video kaliteleri test edilir. Ayrıca kamera HLG10 videoyu destekliyorsa 10 bit video test edilir.

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

Yöntem

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

FoV hesaplaması için test, video karesi 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 karesi ortalamasını referans görüntü ortalamasıyla karşılaştırır. En boy oranı kontrolü için, beyaz zemin üzerinde büyük siyah bir daire olan sahneyi kullanarak test, dairenin en boy oranını belirler ve çerçevenin bozulmadığını doğrular.

sensör_füzyon/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 donanımını kullanır ve yeni revizyon 2 sensör füzyon denetleyicisini veya önceki Arduino denetleyici 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 sabitleme etkinken yaklaşık 15 derecelik bir açıyla yavaşça hareket ettirilir. Daha sonra görüntülerin dönüşü jiroskopun dönüşüyle ​​karşılaştırılır.

sensör_füzyon/test_video_stabilization.py

Android 13, 1920x1080'e kadar desteklenen video kalitesini test eden test_video_stabilization testini ekler. QCIF düşük çözünürlüklü video kalitesi hariçtir. Test, sensör füzyon test donanımını kullanır ve yeni revizyon 2 sensör füzyon denetleyicisini veya önceki Arduino denetleyici 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 donanımı, önizleme stabilizasyonu etkinken telefonu yaklaşık 15 derecelik bir açıyla yavaşça hareket ettiriyor. Daha sonra görüntülerin dönüşü jiroskopun dönüşüyle ​​karşılaştırılır.

Donanım güncellemeleri ve eklemeler

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

Arduino kalkanı rev2.0

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

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

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

Katlanabilir test desteği

Android 13, katlanabilir cihazlar için test desteği içerir. Katlanabilir cihazlar için çoklu kamera API'sini etkinleştirmek amacıyla test sırasında telefon durumu ( Folded veya Unfolded ) gereklidir. Katlanamayan telefonlar da dahil olmak üzere tüm DUT'lar için telefon durumunun yoklanmasını etkinleştirmek amacıyla, 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