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ı
- Yapılandırma dosyası eklemeleri
- Değişiklikleri test edin
- Yeni tablet tabanlı testler
- Video testi
- Donanım güncellemeleri ve eklemeler
- Katlanabilir test desteği
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 de destekler:
- Python 3.9.2
- OpenCV 4.2.0
- Numpy'nin 1.20.3
- Matplotlib 3.3.4
- Scipy 1.6.2
- pySeri 3.5
- Yastık 8.3.1
- PyYAML 5.4.1
- Mobil 1.11
- FFmpeg 4.4.1
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
Değişiklikleri test edin
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 bir arka plan ü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.
Ş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