Bu sayfada, Android Uyumluluk Test Paketi (CTS) Doğrulayıcı'nın bir parçası olan Kamera Görüntüsü Test Paketi (ITS) kapsamındaki testlerin kapsamlı bir listesi sağlanmaktadır. ITS testleri işlevsel testlerdir. Yani görüntü kalitesini değil, reklamı yapılan kamera işlevlerinin tümünün beklendiği gibi çalışıp çalışmadığını ölçerler. Bu doküman, geliştiricilerin ve test uzmanlarının her bir testin ne yaptığını ve test hatalarının nasıl ayıklandığını anlamalarına olanak tanır.
Kamera ITS, gerekli kamera özelliklerine, API düzeyine ve medya performansı sınıfına (MPC) göre testleri kontrol eder. ITS, API düzeyi için belirli bir API düzeyine eklenen ve daha düşük API düzeylerindeki işlevlerle ilgili olumsuz kullanıcı deneyimlerini test eden testleri kontrol etmek üzere ro.product.first_api_level
kullanır. ITS, belirli bir API seviyesinde eklenen ve yeni donanım özelliği gerektiren özelliklere yönelik testlerin güvenliğini sağlamak için ro.vendor.api_level
kullanır. Bir cihaz için ro.odm.build.media_performance_class
tanımlanmışsa ITS, MPC düzeyine bağlı olarak belirli testlerin çalıştırılmasını gerektirir.
Testler aşağıdaki şekilde sahneye göre gruplandırılır:
- scene0: Meta veri, titreme, jiroskop, titreşim yakalama
- scene1: Pozlama, hassasiyet, EV telafisi, YUV ve JPEG/RAW
- scene2: Yüz algılama, renkli sahneler gerektiren testler
- scene3: Kenar iyileştirme, lens hareketi
- scene4: En boy oranı, kırpma, görüş alanı
- scene5: Lens gölgelendirmesi
- scene6: Yakınlaştırma
- scene7: Çoklu kamera geçişi
- scene8: AE ve AWB bölge ölçümü
- scene9: JPEG sıkıştırması
- scene_extensions: Kamera uzantıları
- scene_flash: Otomatik flaş, minimum kare hızı
- scene_video: Kare düşüşleri
- sensor_fusion: Kamera/jiroskop zamanlama ofseti
- feature_combination: Özellik kombinasyonları
Her sahnenin açıklaması için tek tek bölümlere bakın.
sahne0
Scene0 testleri için belirli sahne bilgileri gerekmez. Ancak jiroskop ve titreşim testi için telefonun sabit olması gerekir.
test_jitter
Kamera zaman damgalarındaki titremeyi ölçer.
Test edilen API'ler:
android.hardware.camera2.CaptureResult#SENSOR_TIMESTAMP
android.hardware.camera2.CaptureRequest#CONTROL_AE_TARGET_FPS_RANGE
Geçti: Kareler arasında en az 30 ms fark vardır.
test_jitter_plot.png (Küçük y ekseni aralığına dikkat edin. Bu hikayede dalgalanma aslında çok azdır.)
test_metadata
Meta veri girişlerinin geçerliliğini test eder. Kayıt sonuçlarını ve kamera özellikleri nesnelerini inceler. Bu testte, resim içeriği önemli olmadığı için auto_capture_request
pozlama ve kazanç değerleri kullanılır.
Test edilen API'ler:
android.hardware.camera2.CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL
android.hardware.camera2.CameraCharacteristics#SCALER_CROPPING_TYPE
android.hardware.camera2.CameraCharacteristics#SENSOR_BLACK_LEVEL_PATTERN
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_TIMESTAMP_SOURCE
android.hardware.camera2.CaptureRequest#SENSOR_FRAME_DURATION
android.hardware.camera2.CaptureResult#SENSOR_ROLLING_SHUTTER_SKEW
Geçti: Donanım düzeyi, rollingShutterSkew
, frameDuration
etiketleri, timestampSource
, croppingType
, blackLevelPattern
, pixel_pitch
, FoV, hiper odak uzaklığı mevcut ve geçerli değerlere sahip.
test_request_capture_match
Kayıt meta verilerini geri okuyarak cihazın doğru pozlama ve kazanç değerlerini yazdığını test eder.
Test edilen API'ler:
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_EXPOSURE_TIME_RANGE
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_SENSITIVITY_RANGE
android.hardware.camera2.CaptureRequest#SENSOR_EXPOSURE_TIME
android.hardware.camera2.CaptureRequest#SENSOR_SENSITIVITY
android.hardware.camera2.CaptureResult#SENSOR_EXPOSURE_TIME
android.hardware.camera2.CaptureResult#SENSOR_SENSITIVITY
Başarılı: Tüm çekimlerde meta veri değerlerinin eşleşmesini isteyin ve yakalayın.
test_sensor_events
Sensör füzyonu desteğinin reklamını yapan cihazlar için cihazın sorgularını ve sensör etkinliklerini yazdırıp test eder. Kullanılması beklenen sensörler; ivme ölçer, jiroskop ve manyetometre. Bu test yalnızca ekran açıkken (cihaz bekleme modunda değilken) çalışır.
Test edilen API'ler:
Geç: Her sensör için etkinlikler alınır.
test_solid_color_test_pattern
Kameranın sesini kapatmak için düz renk test kalıplarının düzgün şekilde oluşturulup oluşturulmadığını test eder. Kameranın sesinin kapatılması destekleniyorsa düz renk testi desenleri desteklenmektedir. Kameranın sesinin kapatılması desteklenmiyorsa düz renk testi desenleri, yalnızca özelliğin tanıtıldığı durumlarda test edilir.
RAW resimler destekleniyorsa renk atama da test edilir. Test edilen renkler siyah, beyaz, kırmızı, mavi ve yeşildir. RAW görüntüleri desteklemeyen kameralarda yalnızca siyah test edilir.
Test edilen API'ler:
android.hardware.camera2.CameraCharacteristic#SENSOR_AVAILABLE_TEST_PATTERN_MODES
android.hardware.camera2.CaptureResult#SENSOR_TEST_PATTERN_DATA
android.hardware.camera2.CaptureResult#SENSOR_TEST_PATTERN_MODE
Geçti: Desteklenen düz test desenleri doğru renktedir ve resimde düşük bir varyasyon vardır.
test_test_modeli
Geçerli her test kalıbı için kareleri yakalamak üzere android.sensor.testPatternMode
parametresini test eder ve tek renkler ile renk çubukları için karelerin doğru şekilde oluşturulup oluşturulmadığını kontrol eder. Bu test aşağıdaki adımları içerir:
- Desteklenen tüm test kalıpları için görüntüler yakalar.
- Düz renk test deseni ve renk çubukları için basit bir doğruluk kontrolü gerçekleştirir.
Test edilen API'ler:
android.hardware.camera2.CameraCharacteristic#SENSOR_AVAILABLE_TEST_PATTERN_MODES
android.hardware.camera2.CaptureResult#SENSOR_TEST_PATTERN_MODE
Geçti: Desteklenen test kalıpları doğru şekilde oluşturulur.
test_test_patterns_2.jpg
test_tonemap_curve
Test deseninin RAW'dan YUV'ye doğrusal ton haritası ile dönüşümünü test eder. Bu test, ton haritası dönüşümü için mükemmel bir resim kalıbı oluşturmak üzere android.sensor.testPatternMode = 2
(COLOR_BARS) parametresini gerektirir. Doğrusal ton haritası ve ideal resim girişiyle ardışık düzenin doğru renk çıkışlarına sahip olmasını sağlar (test_test_patterns
kullanır).
Test edilen API'ler:
android.hardware.camera2.CaptureRequest#DISTORTION_CORRECTION_MODE
android.hardware.camera2.CaptureRequest#SENSOR_TEST_PATTERN_MODE
android.hardware.camera2.CaptureRequest#TONEMAP_CURVE
android.hardware.camera2.CaptureRequest#TONEMAP_MODE
Geç: YUV ve RAW birbirine benzer.
test_tonemap_curve_raw_2.jpg
test_tonemap_curve_yuv_2.jpg
test_unified_timestamp [test_unified_zaman_damgası]
Görüntü ve hareket sensörü etkinliklerinin aynı zaman alanında olup olmadığını test eder.
Test edilen API'ler:
android.hardware.camera2.CaptureResult#SENSOR_TIMESTAMP
android.hardware.Sensor
android.hardware.SensorEvent
android.hardware.Sensor#TYPE_ACCELEROMETER
android.hardware.Sensor#TYPE_GYROSCOPE
Geçiş: Hareket zaman damgaları, iki resim zaman damgası arasındadır.
test_titreşim_kısıtlama
Cihazın titreşiminin beklendiği gibi çalışıp çalışmadığını test eder.
Test edilen API'ler:
android.hardware.Sensor
android.hardware.SensorEvent
android.hardware.Sensor#TYPE_ACCELEROMETER
android.os.Vibrator
android.hardware.camera2.CameraDevice#setCameraAudioRestriction
Geçiş: Kamera Audio restriction API tarafından sesi kapatıldığında cihaz titreşmez.
sahne1
Sahne1, gri bir grafiktir. Gri grafik, kamera görüş alanının ortasını% 30 oranında kapsamalıdır. Orta bölgede hiçbir özellik olmadığından gri grafikte 3A'yı (otomatik pozlama, otomatik beyaz dengesi, otomatik odaklama) orta düzeyde zorlaması beklenir. Ancak yakalama isteği, 3A'nın birleşmesi için yeterli özellik içeren sahnenin tamamını belirtir.
RFoV kameralar, WFoV veya RFoV test düzeneğinde test edilebilir. WFoV test düzeninde bir RFoV kamera test edilirse FoV'deki gri grafiğin 3A'nın birleşmesine yardımcı olacak bazı sınırlara sahip olması için grafik ⅔ oranında ölçeklendirilir. Kamera test aparatlarının daha ayrıntılı açıklamaları için Kamera ITS-in-a-box başlıklı makaleyi inceleyin.
1. sahne: Tam boyutlu grafik (solda). ⅔ ölçekli grafik (sağda).
test_ae_precapture_trigger
Ön çekim tetikleyicisi kullanıldığında AE durum makinesini test eder. AE devre dışıyken beş manuel istek yakalar. Son istekte AE ön yakalama tetikleyicisi var. AE devre dışı olduğundan bu tetikleyici yoksayılmalıdır.
Test edilen API'ler:
android.hardware.camera2.CaptureRequest#CONTROL_AE_MODE
android.hardware.camera2.CaptureRequest#CONTROL_AE_PRECAPTURE_TRIGGER
android.hardware.camera2.CaptureResult#CONTROL_AE_STATE
Başarılı: Reklam Kitlesi (AE) kesişir.
test_auto_vs_manual
Otomatik ve manuel çekimler yapılan testler aynı görünür.
Test edilen API'ler:
android.hardware.camera2.CaptureRequest#COLOR_CORRECTION_GAINS
android.hardware.camera2.CaptureRequest#COLOR_CORRECTION_TRANSFORM
android.hardware.camera2.CaptureResult#TONEMAP_CURVE
android.hardware.camera2.CaptureResult#TONEMAP_MODE
Geç: Her yakalama sonucunda raporlanan manuel beyaz denge kazançları ve dönüşümü, kameranın 3A algoritmasındaki otomatik beyaz denge estimate
ile eşleşir.
test_auto_vs_manual_auto.jpg
test_auto_vs_manual_wb.jpg
test_auto_vs_manual_manual_wb_tm.jpg
test_siyah_beyaz
Cihazın tam siyah beyaz resimler üretip üretmediğini test eder. İlki çok düşük kazanca ve kısa pozlamaya sahip olan, diğeri siyah fotoğraf, ikincisi ise çok yüksek kazanım ve uzun pozlama ile beyaz fotoğraf ile sonuçlanır.
Test edilen API'ler:
android.hardware.camera2.CaptureRequest#SENSOR_EXPOSURE_TIME
android.hardware.camera2.CaptureRequest#SENSOR_SENSITIVITY
Geçti: Siyah beyaz resimler oluşturur. Beyaz resimlerin doygun kanalları, %1'den az fark içeren [255, 255, 255] RGB değerlerine sahiptir.
test_black_white_black.jpg | test_black_white_white.jpg |
test_black_white_plot_means.png
test_patlama_yakalama
Tüm yakalama ardışık düzeninin tam boyutlu yakalama hızına ve CPU süresine ayak uydurabileceğini doğrular.
Test edilen API'ler:
Geç: Tam boyutlu resimler çeker, kare atlama ve resim parlaklığını kontrol eder.
aynı_test_patlaması
Manuel çekim ayarıyla 50 görüntüden oluşan 5 seri çekim çeker ve bunların hepsinin aynı olup olmadığını kontrol eder. Bu test, farklı şekilde işlenmiş veya artefakt içeren ara sıra kareler olup olmadığını belirlemek için kullanılabilir.
Test edilen API'ler:
android.hardware.camera2.CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_MANUAL_SENSOR
android.hardware.camera2.CameraMetadata#SYNC_MAX_LATENCY_PER_FRAME_CONTROL
Başarılı: Görsel olarak ve RGB değerleri açısından aynı resimler.
Başarısız: Her patlamanın başında RGB ortalama grafiğinde ani bir artış veya düşüş gösterir.
first_API_level
< 30 için tolerans% 3'türfirst_API_level
>= 30 için tolerans% 2'dir.
test_burst_sameness_manual_mean.jpg
test_burst_sameness_manual_plot_means.png
test_yakalama_sonucu
CaptureResult
nesnelerinde geçerli verilerin döndürüldüğünü test eder. Otomatik, manuel ve otomatik çekim yapar.
Test edilen API'ler:
android.hardware.camera2.CaptureRequest#CONTROL_AE_MODE
android.hardware.camera2.CaptureRequest#CONTROL_AE_REGIONS
android.hardware.camera2.CaptureRequest#CONTROL_AF_MODE
android.hardware.camera2.CaptureRequest#CONTROL_AF_REGIONS
android.hardware.camera2.CaptureRequest#CONTROL_AWB_MODE
android.hardware.camera2.CaptureRequest#CONTROL_AWB_REGIONS
android.hardware.camera2.CaptureRequest#CONTROL_MODE
android.hardware.camera2.CaptureRequest#COLOR_CORRECTION_GAINS
android.hardware.camera2.CaptureRequest#COLOR_CORRECTION_TRANSFORM
android.hardware.camera2.CaptureRequest#COLOR_CORRECTION_MODE
android.hardware.camera2.CaptureRequest#SENSOR_EXPOSURE_TIME
android.hardware.camera2.CaptureRequest#SENSOR_SENSITIVITY
android.hardware.camera2.CaptureResult#STATISTICS_LENS_SHADING_CORRECTION_MAP
android.hardware.camera2.CaptureRequest#STATISTICS_LENS_SHADING_MAP_MODE
android.hardware.camera2.CaptureRequest#TONEMAP_CURVE
android.hardware.camera2.CaptureRequest#TONEMAP_MODE
Geç: Meta veriler tüm yakalamalar için geçerlidir ve manuel ayarlar ikinci otomatik yakalamaya aktarılmaz. Kayıtlar için lens gölgelendirme düzeltmesini gösterir.
test_capture_sonuç_diyagramı_lsc_auto_ch0.png
test_crop_region_raw
RAW akışlarının kırpılamayacağı test edilir.
Test edilen API'ler:
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE
android.hardware.camera2.CaptureResult#SCALER_CROP_REGION
android.hardware.camera2.CaptureRequest#SCALER_CROP_REGION
Geç: RAW resimler değil, YUV resimler ortalanıp kırpılır.
test_kırpma_bölgesi_ham_comp_ham_Kırpma.jpg
test_kırpma_bölgesi_ham_comp_ham_tam.jpg
test_crop_region_raw_comp_yuv_crop.jpg
test_kırpma_bölgesi_ham_yuv_tam.jpg
test_crop_regions
Kırpma bölgelerinin çalıştığını test eder. Tam bir resim alır ve 5 farklı bölgeden (köşeler ve merkez) yamalar oluşturur. 5 bölge için kırpma ayarlanmış resimler çeker. Yamayı ve kırpma görüntüsünün değerlerini karşılaştırır.
Test edilen API'ler:
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE
android.hardware.camera2.CaptureRequest#SCALER_CROP_REGION
Başarılı: Kırpılan bölgenin resmi, kırpma resmine karşılık gelen yamayla eşleşir.
test_dng_noise_model
DNG ham model parametrelerinin doğru olduğunu doğrular. Nokta grafiği, çeşitli hassasiyetlerde çekilen ham çekimler sırasında gri kartın ortadaki bir parçasının ölçülen varyansını gösterir ve bu değerleri kamera HAL'deki DNG gürültü modeli tarafından her hassasiyette beklenen varyansla karşılaştırır (çekim sonucu nesnelerinde döndürülen O,S parametrelerine göre). DNG gürültü modeli hakkında daha fazla bilgi için DNG gürültü modeli ile ilgili aşağıdaki dokümanı indirin.
Test edilen API'ler:
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_SENSITIVITY_RANGE
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_WHITE_LEVEL
android.hardware.camera2.CameraCharacteristics#SENSOR_MAX_ANALOG_SENSITIVITY
android.hardware.camera2.CaptureResult#SENSOR_NOISE_PROFILE
android.hardware.camera2.CaptureRequest#SENSOR_SENSITIVITY
Geçti: DNG ham model parametreleri doğrudur. Beklenen RGB değerleri, ölçülen gerçek RGB değerleriyle eşleşir.
test_dng_noise_model_plog.png
test_ev_compensation_advanced
Pozlama değeri (EV) telafisinin uygulanıp uygulanmadığını test eder. Test, pozlamayı sekiz adımda artırır ve ölçülen parlaklığı beklenen parlaklıkla karşılaştırır. Beklenen değerler, EV telafisi uygulanmamış görüntünün parlaklık değerinden hesaplanır ve hesaplanan değerler gerçek görüntü değeri aralığını aşarsa beklenen değer doygun hale gelir. Beklenen değerler ile ölçülen değerler eşleşmezse veya görüntüler beş adım içinde aşırı pozlanırsa test başarısız olur.
Test edilen API'ler:
android.hardware.camera2.CaptureRequest#CONTROL_AE_EXPOSURE_COMPENSATION
android.hardware.camera2.CaptureRequest#CONTROL_AE_LOCK
android.hardware.camera2.CaptureRequest#CONTROL_AWB_LOCK
android.hardware.camera2.CaptureResult#CONTROL_AE_STATE
android.hardware.camera2.CaptureResult#TONEMAP_CURVE
android.hardware.camera2.CaptureResult#TONEMAP_MODE
Geç: Resimler, beş adımda aşırı pozlama olmadan artan pozlamayı gösterir.
test_ev_kompensation_gelişmiş_diyagram_ortalaması.png
test_ev_compensation_basic
EV telafisinin, CONTROL_AE_COMPENSATION_STEP
ile oluşturulan bir aralık kullanılarak uygulanıp uygulanmadığını test eder. Her telafi değerinde sekiz kare yakalanır.
Test edilen API'ler:
android.hardware.camera2.CameraCharacteristics#CONTROL_AE_COMPENSATION_STEP
android.hardware.camera2.CaptureRequest#CONTROL_AE_EXPOSURE_COMPENSATION
android.hardware.camera2.CaptureRequest#CONTROL_AE_LOCK
android.hardware.camera2.CaptureRequest#CONTROL_AWB_LOCK
android.hardware.camera2.CaptureResult#CONTROL_AE_EXPOSURE_COMPENSATION
android.hardware.camera2.CaptureResult#CONTROL_AE_STATE
Başarılı: Artırılmış EV dengeleme ayarıyla luma artışı yakalar ve her EV dengeleme ayarı için yakalanan sekiz kare sabit luma değerlerine sahiptir.
test_ev_compensation_temel.png
test_exposure_x_iso
ISO ve pozlama süresi değiştikçe sabit bir pozlama elde edilip edilmediğini test eder. ISO ve pozlama süresinin birbirine dengelenmesi için seçildiği bir dizi fotoğraf çeker.
Sonuçlar aynı parlaklığa sahip olmalıdır, ancak sıra arttığında resim daha gürültülü olacaktır. Örnek piksel ortalama değerlerinin birbirine yakın olduğunu doğrular. Resimlerin 0 veya 1 değerine sabitlenmemesini (bu durumda düz çizgiler gibi görünürler) sağlar. Yapılandırma dosyanızda debug
işaretini ayarlayarak testi RAW resimlerle de çalıştırabilirsiniz.
Test edilen API'ler:
android.hardware.camera2.CaptureRequest#SENSOR_EXPOSURE_TIME
android.hardware.camera2.CaptureRequest#SENSOR_SENSITIVITY
Geç: Görüntüler aynı parlaklığa sahiptir ancak ISO değeri yükseldikçe daha fazla gürültü oluşur. ISO*exposure değeri, test edilen kazanç alanında sabit olduğunda RGB düzlemleri düzdür.
Başarısızlık mekanizması:
test_exposure_plot_means.png
'te kazanç çarpanı değerleri (x ekseni) arttıkça normalleştirilmiş RGB düzlemi ortalama değerleri (y ekseni) düşük kazanç çarpanı değerlerinden sapmaya başlar.
test_exposure_plot_means.png
test_exposure_mult=1.00.jpg | test_exposure_mult=64.00.jpg |
test_jpeg
Dönüştürülen YUV resimleri ile cihaz JPEG resimlerinin aynı görünüp görünmediğini test eder. Test, resmin ortasındaki% 10'u alır ve RGB değerini hesaplar, ardından bu değerlerin eşleşip eşleşmediğini doğrular.
Test edilen API'ler:
Geçti: Her resim arasındaki ortalama RGB farkı %3'ten azdır.
test_jpeg_fmt=jpg.jpg | test_jpeg=fmt=yuv.jpg |
test_latching
FULL
ve LEVEL_3
kameralar için ayarların (pozlama ve kazanç) doğru karede mandalını test eder. Arka arkaya isteklerle, yakalama isteği parametrelerini kareler arasında değiştirerek bir dizi çekim yapar. Resimlerin beklenen özelliklere sahip olup olmadığını kontrol eder.
Test edilen API'ler:
Geçti: [2, 3, 6, 8, 10, 12, 13] numaralı resimlerde ISO veya pozlama artmıştır ve test_latching_plot_means.png
üzerinde daha yüksek RGB ortalamaları ile gösterilir.
test_latching_i=00.jpg | test_latching_i=01.jpg | test_latching_i=02.jpg | |
test_latching_i=03.jpg | test_latching_i=04.jpg | test_latching_i=05.jpg | |
test_latching_i=06.jpg | test_latching_i=07.jpg | test_latching_i=08.jpg | |
test_latching_i=09.jpg | test_latching_i=10.jpg | test_latching_i=11.jpg | |
test_latching_i=12.jpg |
test_latching_plot_means.png
test_linearity
Cihaz işlemenin doğrusal piksellere ters çevrilip çevrilemeyeceğini test eder. Cihaz tek tip bir hedefe doğru tutulduğunda arka arkaya çekim yapar.
Test edilen API'ler:
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_SENSITIVITY_RANGE
android.hardware.camera2.CaptureRequest#BLACK_LEVEL_LOCK
android.hardware.camera2.CaptureRequest#SENSOR_SENSITIVITY
android.hardware.camera2.CaptureRequest#TONEMAP_CURVE
android.hardware.camera2.CaptureRequest#TONEMAP_MODE
Geç: R, G, B değerleri, hassasiyet arttıkça doğrusal olarak artmalıdır.
test_linearity_plot_means.png
kilitli_patlama_testi
3A kilidini ve YUV patlamasını (otomatik ayar kullanılarak) test eder. Bu test, MANUAL_SENSOR
veya PER_FRAME_CONTROLS
bulunmayan sınırlı cihazlarda bile geçecek şekilde tasarlanmıştır.
Test, YUV resim tutarlılığını kontrol ederken kare hızı kontrolü CTS'dedir.
Test edilen API'ler:
android.hardware.camera2.CaptureRequest#CONTROL_AE_LOCK
android.hardware.camera2.CaptureRequest#CONTROL_AWB_LOCK
Geç: Kayıtlar tutarlı görünüyor.
test_locked_burst_frame0.jpg
test_locked_burst_frame1.jpg
test_locked_burst_frame2.jpg
test_param_color_correction
android.colorCorrection.*
parametrelerinin ayarlandığında uygulanıp uygulanmadığını test eder.
Farklı dönüştürme ve kazanç değerleriyle fotoğraflar çeker ve bunların buna göre farklı göründüğünü test eder. Dönüşüm ve kazançlar, çıkışın giderek daha kırmızı veya mavi olmasını sağlayacak şekilde seçilir. Doğrusal bir ton haritası kullanır. Ton eşleme, yüksek dinamik aralıklı resimlerin daha sınırlı bir dinamik aralığa sahip bir ortamda görünümünü yaklaşık olarak belirlemek üzere bir renk grubunu diğeriyle eşlemek için resim işlemede kullanılan bir tekniktir.
Test edilen API'ler:
android.hardware.camera2.CaptureRequest#COLOR_CORRECTION_GAINS
android.hardware.camera2.CaptureRequest#COLOR_CORRECTION_MODE
android.hardware.camera2.CaptureRequest#COLOR_CORRECTION_TRANSFORM
Geçir: R ve B değerleri, dönüştürme işlemine göre artırılır.
test_param_color_correction_plot_means.png
*X ekseni, yakalama isteklerinden oluşur: 0 = birlik, 1=kırmızı artışı, 2= mavi artışı
test_param_color_Correct_req=0.jpg
test_param_color_correctness_req=1.jpg (R boost)
test_param_color_correction_req=2.jpg (B artırma)
test_param_flash_mode
android.flash.mode
parametresinin uygulanıp uygulanmadığını test eder. Flaşın patlayıp patlamadığının net bir şekilde anlaşılması için pozlamayı manuel olarak karanlık tarafa ayarlar ve doğrusal bir ton haritası kullanır. Flaşın ateşlenip ateşlenmediğini doğrulamak için oluşturulan büyük bir gradyan olup olmadığını görmek üzere karo resmiyle merkezi kontrol eder.
Test edilen API'ler:
Geç: Kart resminin ortasında büyük bir renk geçişi varsa flaş kullanılmıştır.
test_param_flash_mode_1.jpg
test_param_flash_mode_1_tile.jpg
test_param_flash_mode_2.jpg
test_param_flash_mode_2_tile.jpg
test_param_noise_reduction
Ayarlandığında android.noiseReduction.mode
parametresinin doğru şekilde uygulandığını test eder. Kameranın ışığı düşükken fotoğraf çekme Kaydedilen görüntünün gürültülü olmasını sağlamak için yüksek analog kazanç kullanır. NR kapalı, "hızlı" ve "yüksek kaliteli" olmak üzere üç görüntü yakalar. Ayrıca, düşük kazanç ve NR kapalıyken bir resim yakalar ve bunun varyansını referans olarak kullanır. SNR (Sinyal-Gürültü Oranı) yükseldikçe görüntü kalitesi de artar.
Test edilen API'ler:
Geç: SNR, farklı gürültü azaltma modlarına göre değişir ve aşağıdaki grafiğe benzer şekilde çalışır.
test_param_noise_reduction_plot_SNRs.png
0: KAPALI, 1: HIZLI, 2: HD, 3: MİN , 4: ZSL
test_param_noise_reduction_high_gain_nr=0.jpg
test_param_noise_reduction_high_gain_nr=1.jpg
test_param_noise_reduction_high_gain_nr=2.jpg
test_param_noise_reduction_high_gain_nr=3.jpg
test_param_noise_reduction_low_gain.jpg
test_param_shading_mode
android.shading.mode
parametresinin uygulanıp uygulanmadığını test eder.
Test edilen API'ler:
android.hardware.camera2.CaptureRequest#SHADING_MODE
android.hardware.camera2.CaptureRequest#STATISTICS_LENS_SHADING_MAP_MODE
android.hardware.camera2.CaptureResult#STATISTICS_LENS_SHADING_CORRECTION_MAP
Başarılı: Gölgelendirme modları değiştirilir ve lens gölgelendirme haritaları beklendiği gibi değiştirilir.
test_param_gölgeleme_modu_ls_haritalar_modu_0_döngü_0.png
test_param_gölgeleme_modu_ls_haritalar_modu_1_döngü_0.png
test_param_shading_mode_ls_maps_mode_2_loop_0.png
test_param_tonemap_mode
android.tonemap.mode parametresinin uygulanıp uygulanmadığını test eder. Her bir R, G, B kanalına farklı ton eşlemesi eğrileri uygular ve çıkış resimlerinin beklendiği gibi değiştirilip değiştirilmediğini kontrol eder. Bu test, test1 ve test2 olmak üzere iki testten oluşur.
Test edilen API'ler:
android.hardware.camera2.CameraMetadata#TONEMAP_MODE_CONTRAST_MODE
android.hardware.camera2.CameraMetadata#TONEMAP_MODE_FAST
android.hardware.camera2.CaptureRequest#TONEMAP_CURVE
android.hardware.camera2.CaptureRequest#TONEMAP_MODE
Başarılı:
- test1: Her iki resimde de doğrusal bir ton haritası vardır ancak n=1 daha dik bir gradyana sahiptir. n=1 resminde G (yeşil) kanalı daha parlaktır.
- test2: Aynı ton haritası, ancak farklı uzunluk. Resimler aynı.
test_param_tonemap_mode_n=0.jpg | test_param_tonemap_mode_n=1.jpg |
test_post_raw_sensitivity_boost
RAW hassasiyet artışı sonrası kontrol eder. Farklı hassasiyete sahip bir RAW ve YUV resim grubu yakalar, RAW hassasiyet artışı kombinasyonunu yayınlar ve çıkış piksel ortalamasının istek ayarlarıyla eşleşip eşleşmediğini kontrol eder.
Test edilen API'ler:
android.hardware.camera2.CameraCharacteristics#CONTROL_POST_RAW_SENSITIVITY_BOOST_RANGE
android.hardware.camera2.CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_RAW
android.hardware.camera2.CaptureRequest#CONTROL_POST_RAW_SENSITIVITY_BOOST
android.hardware.camera2.CaptureRequest#SENSOR_SENSITIVITY
Başarılı: RAW resimler daha koyu hale gelirken YUV resimleri parlaklıkta sabit kalır
test_post_raw_sensitivity_boost_raw_s=3583_boost=0100.jpg
test_post_raw_sensitivity_boost_raw_s=1792_boost=0200.jpg
test_post_raw_sensitivity_boost_raw_s=0896_boost=0400.jpg
test_post_raw_sensitivity_boost_raw_s=0448_boost=0800.jpg
test_post_raw_sensitivity_boost_raw_s=0224_boost=1600.jpg
test_post_raw_sensitivity_boost_raw_s=0112_boost=3199.jpg
test_post_raw_sensitivity_boost_raw_plot_means.png
test_post_raw_sensitivity_boost_yuv_s=0112_boost=3199.jpg
test_post_raw_sensitivity_boost_yuv_s=0448_boost=0800.jpg
test_post_raw_sensitivity_boost_yuv_s=0896_boost=0400.jpg
test_post_raw_sensitivity_boost_yuv_s=1792_boost=0200.jpg
test_post_raw_sensitivity_boost_yuv_s=3585_boost=0100.jpg
test_post_raw_sensitivity_boost_yuv_plot_means.png
test_raw_burst_sensitivity
Artan kazançlarla bir dizi ham görüntü yakalar ve gürültüyü ölçer. Yalnızca ham olarak yakalar.
Test edilen API'ler:
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_SENSITIVITY_RANGE
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_WHITE_LEVEL
android.hardware.camera2.CameraCharacteristics#SENSOR_MAX_ANALOG_SENSITIVITY
android.hardware.camera2.CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_RAW
Geçiş: Kazanç arttıkça her kare önceki kareden daha gürültülü olur.
Orta merkez ızgara hücresinin varyansını kullanır.
test_raw_burst_sensitivity_variance.png
test_raw_exposure
Pozlama süresini artırarak bir dizi ham görüntü yakalar ve piksel değerlerini ölçer.
Test edilen API'ler:
android.hardware.camera2.CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_RAW
android.hardware.camera2.CaptureRequest#SENSOR_EXPOSURE_TIME
Geçiş: ISO (kazanç) değerini artırmak, pikselleri ışığa karşı daha hassas hale getirir. Bu nedenle, nokta grafiği sola doğru hareket eder.
test_raw_exposure_s=55.png
(10⁰ 1 ms, 10¹ 10 ms, 10⁻¹ 0,1 ms'dir)
test_raw_exposure_s=132.png
test_raw_exposure_s=209.png
test_raw_exposure_s=286.png
test_raw_exposure_s=363.png
test_raw_exposure_s=440.png
ham_hassaslık_testi
Artan hassasiyetlerle bir dizi ham görüntü yakalar ve görüntünün ortasındaki% 10'luk alandaki gürültüyü (varyans) ölçer. Her çekimin öncekinden daha gürültülü olup olmadığını test eder.
Test edilen API'ler:
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_SENSITIVITY_RANGE
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_WHITE_LEVEL
android.hardware.camera2.CameraCharacteristics#SENSOR_MAX_ANALOG_SENSITIVITY
android.hardware.camera2.CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_RAW
Başarılı: Her karede varyans artar.
test_raw_sensitivity_variance.png
test_reprocess_noise_reduction
Yeniden işleme istekleri için android.noiseReduction.mode
'ün uygulandığını test eder.
Kamera loş ışıktayken yeniden işlenmiş görüntüler çeker. Çekilen görüntünün gürültülü olmasını sağlamak için yüksek analog kazanç kullanır. NR kapalı, "hızlı" ve "yüksek kalite" için üç yeniden işlenmiş resim çeker. Düşük kazanç ve NR kapalıyken yeniden işlenmiş bir resim yakalar ve bunun varyansını referans olarak kullanır.
Test edilen API'ler:
Geçiş: HIZLI >= KAPALI, HD >= HIZLI, HD >> KAPALI
Tipik SNR ve NR_MODE grafiği
test_tonemap_sequence
Farklı ton haritası eğrileri içeren bir fotoğraf dizisini test eder. Doğrusal ton haritasıyla 3 manuel çekim yapar. Varsayılan ton haritasıyla 3 manuel çekim yapar. Her ardışık kare çifti arasındaki farkı hesaplar.
Test edilen API'ler:
Geç: 3 aynı karenin ardından farklı bir 3 aynı kare grubu vardır.
test_tonemap_sequence_i=0.jpg
test_tonemap_sequence_i=1.jpg
test_tonemap_sequence_i=2.jpg
test_tonemap_sequence_i=3.jpg
test_tonemap_sequence_i=4.jpg
test_tonemap_sequence_i=5.jpg
test_yuv_jpeg_all
Resim yakalama için bildirilen tüm boyut ve biçimlerin çalıştığını test eder. image_processing_utils
modülü tarafından dönüştürüldüğünde YUV ve JPEG'nin aynı görünmesi için doğrusal ton haritası içeren manuel bir istek kullanır. Resimler varsayılan olarak kaydedilmez ancak debug_mode
etkinleştirilerek kaydedilebilir.
Test edilen API'ler:
android.hardware.camera2.CaptureRequest#TONEMAP_CURVE
android.hardware.camera2.CaptureRequest#TONEMAP_MODE
android.graphics.ImageFormat#JPEG
Geçti: Tüm resim merkezleri, en yüksek çözünürlüklü YUV resminin% 3'ü olan RGB dönüştürülmüş resimlerde maksimum RMS (bir sinyalin kare ortalama değeri) farkına sahiptir.
test_yuv_jpeg_all.png
test_yuv_plus_dng
Resim yakalama için bildirilen boyutların ve biçimlerin çalıştığını test eder.
Test edilen API'ler:
Geçti: Test tamamlanır ve istenen resimler döndürülür.
test_yuv_plus_dng.jpg
test_yuv_plus_jpeg
Tek bir karenin hem YUV hem de JPEG çıkışı olarak yakalanmasını test eder. image_processing_utils
modülü tarafından dönüştürüldüğünde YUV ve JPEG'nin aynı görünmesi için doğrusal ton haritası içeren manuel bir istek kullanır.
Test edilen API'ler:
android.hardware.camera2.CaptureRequest#TONEMAP_CURVE
android.hardware.camera2.CaptureRequest#TONEMAP_MODE
android.graphics.ImageFormat#JPEG
Geç: YUV ve JPEG resimleri benzerdir ve% 1'den az RMS (sinyalin karesi alınmış ortalama değeri) farkına sahiptir.
test_yuv_plus_jpg_jpg.jpg | test_yuv_plus_jpeg_yuv.jpg |
test_yuv_plus_raw
Tek bir karenin hem RAW/RAW10/RAW12 hem de YUV çıkışı olarak yakalanmasını (destekleniyorsa) test eder. Doğrusal ton haritasıyla manuel istek kullanır. Bu nedenle, ham ve YUV'nin aynı olması beklenir. RGB'ye dönüştürülmüş resimlerin ortasındaki% 10 RGB değerlerini karşılaştırır. Günlüklerandroid.shading.mode
.
Test edilen API'ler:
android.hardware.camera2.CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_RAW
android.hardware.camera2.CaptureResult#STATISTICS_LENS_SHADING_CORRECTION_MAP
android.hardware.camera2.CaptureRequest#COLOR_CORRECTION_MODE
android.hardware.camera2.CaptureRequest#COLOR_CORRECTION_GAINS
android.hardware.camera2.CaptureRequest#COLOR_CORRECTION_TRANSFORM
android.hardware.camera2.CaptureRequest#CONTROL_AWB_MODE
android.hardware.camera2.CaptureRequest#CONTROL_MODE
android.hardware.camera2.CaptureRequest#SHADING_MODE
android.hardware.camera2.CaptureRequest#TONEMAP_CURVE
android.hardware.camera2.CaptureRequest#TONEMAP_MODE
android.hardware.graphics.ImageFormat#RAW10
android.hardware.graphics.ImageFormat#RAW12
Geçti: YUV ve ham görüntüler benzerdir ve% 3,5'ten az RMS (bir sinyalin karesi alınmış ortalama değeri) farkına sahiptir.
test_yuv_plus_raw_shading=1_raw.jpg | test_yuv_plus_raw_shading=1_yuv.jpg |
sahne2_a
sahne2_a'da gri arka planlı ve nötr giysilerle üç yüzü vardır. Yüzlerin cilt tonları geniş bir yelpazede olacak şekilde seçilir. Yüz algılamanın en iyi şekilde çalışması için grafiğin doğru yönde olması gerekir.
sahne2_a
test_autoframing
Kamera cihazının otomatik çerçeveleme davranışını test eder. Sahnedeki yüzlerin hiçbirinin görünmediği şekilde büyük bir yakınlaştırma yapar, CaptureRequest
içindeki AUTOFRAMING
değerini True
olarak ayarlayarak otomatik çerçeveleme modunu etkinleştirir ve durum birleştiğinde (yani CaptureResult
içindeki AUTOFRAMING_STATE
değeri AUTOFRAMING_STATE_CONVERGED
olarak ayarlandığında) orijinal sahnedeki tüm yüzlerin algılanıp algılanamayacağını doğrular.
Test edilen API'ler:
android.hardware.camera2.CameraCharacteristics#CONTROL_AUTOFRAMING_AVAILABLE
android.hardware.camera2.CaptureRequest#CONTROL_AUTOFRAMING
android.hardware.camera2.CaptureResult#CONTROL_AUTOFRAMING
android.hardware.camera2.CaptureResult#CONTROL_AUTOFRAMING_STATE
Geç: Üç yüzün tümü algılandı.
test_display_p3
ColorSpaceProfiles
API'sini kullanarak JPEG biçiminde Display P3 yakalamayı test eder. Kaydedilen JPEG'in başlığında uygun bir ICC profili bulunduğunu ve resmin sRGB gamutunun dışındaki renkleri içerdiğini test eder.
Test edilen API'ler:
android.hardware.camera2.params.ColorSpaceProfiles
android.hardware.camera2.params.SessionConfiguration#setColorSpace
Geçti: JPEG, Display P3 ICC profili ve sRGB gamutunun dışındaki renkleri içerir.
test_effects
Desteklenen kamera efektleri için kare kaydeder ve bunların doğru şekilde oluşturulup oluşturulmadığını kontrol eder. Test yalnızca OFF
ve MONO
efektlerini kontrol eder ancak desteklenen tüm efektler için resimleri kaydeder.
Test edilen API'ler:
android.hardware.camera2.CameraCharacteristics#CONTROL_AVAILABLE_EFFECTS
android.hardware.camera2.CaptureRequest#CONTROL_EFFECT_MODE
Geçiş: Sahne resmini OFF
efektleriyle ve efektleri MONO
olarak ayarlanmış tek renkli resim yakalar.
test_effects_MONO.jpg
test_biçimi_komboları
Çıkış biçimlerinin farklı kombinasyonlarını test eder.
Test edilen API'ler:
android.hardware.camera2.CameraCharacteristics#SCALER_STREAM_CONFIGURATION_MAP
android.hardware.camera2.params.StreamConfigurationMap#getOutputSizes()
android.hardware.camera2.CameraCaptureSession#captureBurst()
Geç: Tüm kombinasyonlar başarıyla yakalanır.
test_num_faces
Yüz algılamayı test eder.
Test edilen API'ler:
android.hardware.camera2.CaptureResult#STATISTICS_FACES
android.hardware.camera2.CaptureResult#STATISTICS_FACE_DETECT_MODE
Geç: Üç yüz bulur.
test_num_faces_fd_mode_1.jpg
test_reprocess_uv_swap
YUV yeniden işlemenin U ve V düzlemlerini değiştirmediğini test eder. Bu durum, yeniden işlenmiş resim ile yeniden işlenmemiş bir yakalama arasındaki mutlak farkların toplamı (SAD) hesaplanarak tespit edilir. Yeniden işlenen yakalamanın U ve V düzlemlerinin değiştirilmesi, SAD'nin artmasına yol açarsa çıkışın doğru U ve V düzlemlerine sahip olduğu varsayılır.
Test edilen API'ler:
android.hardware.camera2.CameraDevice#createCaptureSession
android.hardware.camera2.CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_YUV_REPROCESSING
android.hardware.camera2.CaptureRequest#EDGE_MODE
android.hardware.camera2.CaptureResult#NOISE_REDUCTION_MODE
Geç: U ve V düzlemleri değiştirilmez.
test_reprocess_uv_swap.png
sahne2_b
test_num_faces
Yüz sahnelerinde daha fazla cilt tonu çeşitliliğiyle yüz algılamayı test eder.
Test edilen API'ler:
android.hardware.camera2.CaptureResult#STATISTICS_FACES
android.hardware.camera2.CaptureResult#STATISTICS_FACE_DETECT_MODE
Geç: 3 yüz bulur.
test_num_faces_fd_mode_1.jpg
test_yuv_jpeg_capture_aynılık
1920x1440 çözünürlüğü aşmayan en büyük JPEG biçimiyle aynı en boy oranına sahip en büyük YUV ve JPEG biçimlerini kullanarak iki resim çeker.
jpeg.quality
değerini 100 olarak ayarlar ve çift yüzey isteği yakalar. Her iki görüntüyü RGB dizilerine dönüştürür ve iki görüntü arasındaki 3D kök ortalama kare (RMS) farkını hesaplar.
Ayrıca bu test, desteklenen tüm akış kullanım alanları için YUV çıkışlarının STILL_CAPTURE
kullanım alanındaki YUV'ye makul ölçüde benzer olduğunu doğrular.
Test edilen API'ler:
android.hardware.camera2.CameraCharacteristics#SCALER_AVAILABLE_STREAM_USE_CASES
android.hardware.camera2.CaptureRequest#JPEG_QUALITY
android.graphics.ImageFormat#JPEG
Geçti: STILL_CAPTURE
kullanım alanı için YUV ve JPEG resimleri arasındaki RMS (bir sinyalin kare ortalama değeri) farkı% 3'ten azdır; desteklenen tüm kullanım alanları için YUV resimleri arasındaki RMS farkı, STILL_CAPTURE
kullanım alanındaki YUV resimlerinden% 10'dan azdır.
scene2_c
yüz_sayısı
Yüz sahnelerinde daha fazla cilt tonu çeşitliliğiyle yüz algılamayı test eder.
Test edilen API'ler:
android.hardware.camera2.CaptureResult#STATISTICS_FACES
android.hardware.camera2.CaptureResult#STATISTICS_FACE_DETECT_MODE
Geç: 3 yüz bulur.
test_num_faces_fd_mode_1.jpg
test_jpeg_capture_perf_class
CDD'deki 2.2.7.2 Kamera bölümünde belirtildiği gibi S performans sınıfı için JPEG yakalama gecikmesini test eder.
Geçti: Her iki birincil kamera için de kendi ışıklandırma koşullarında (3000K) CTS kamera Performans Testi tarafından ölçülen 1080p çözünürlükte camera2 JPEG yakalama gecikmesi 1.000 ms'den az OLMALIDIR.
test_camera_launch_perf_class
CDD'deki 2.2.7.2 Kamera bölümünde belirtildiği gibi S performans sınıfı için kamera başlatma gecikmesini test eder.
Geçti: Her iki birincil kamera için de kendi ışıklandırma koşullarında (3000K) CTS kamera Performans Testi tarafından ölçülen camera2 başlatma gecikmesi (kameranın ilk önizleme çerçevesine açılması) 600 ms'den az OLMALIDIR.
test_default_camera_hdr
CDD'nin 2.2.7.2 Kamera bölümünde belirtildiği üzere, varsayılan kamera çekiminin 15. sınıf performans için Ultra HDR olduğunu test eder.
Geçti: Performans sınıfı 15 cihaz için varsayılan kamera paketi yakalaması Ultra HDR OLMALIDIR.
scene2_d
test_num_faces
Yüz sahnelerinde daha fazla cilt tonu çeşitliliğiyle yüz algılamayı test eder.
Test edilen API'ler:
android.hardware.camera2.CaptureResult#STATISTICS_FACES
android.hardware.camera2.CaptureResult#STATISTICS_FACE_DETECT_MODE
Geç: 3 yüz bulur.
sahne2_e
test_continuous_picture
İlk yakalama isteği ayarı ile 50 VGA çözünürlüğündeki kareler yakalanır
android.control.afMode = 4 (CONTINUOUS_PICTURE).
Test edilen API'ler:
android.hardware.camera2.CaptureRequest#CONTROL_AF_MODE
android.hardware.camera2.CaptureResult#CONTROL_AE_STATE
android.hardware.camera2.CaptureResult#CONTROL_AF_STATE
android.hardware.camera2.CaptureResult#CONTROL_AWB_STATE
Başarılı: 3A sistemi, 50 karelik bir yakalamanın sonunda durur.
test_num_faces
Yüz sahnelerinde daha fazla cilt tonu çeşitliliğiyle yüz algılamayı test eder.
Test edilen API'ler:
android.hardware.camera2.CaptureResult#STATISTICS_FACES
android.hardware.camera2.CaptureResult#STATISTICS_FACE_DETECT_MODE
Geç: 3 yüz bulur.
scene2_f
sahne2_f'de, arka planı beyaz ve kıyafetli üç yüzü var. Yüzlerin farklı ten rengine sahip olması ve arka planla yüksek kontrastları vardır.
scene2_f
test_num_faces
Yüz sahnelerinde daha fazla cilt tonu çeşitliliğiyle yüz algılamayı test eder.
Test edilen API'ler:
android.hardware.camera2.CaptureResult#STATISTICS_FACES
android.hardware.camera2.CaptureResult#STATISTICS_FACE_DETECT_MODE
Geç: 3 yüz bulur.
test_num_faces_fd_mode_1.jpg
sahne3
Sahne3, ISO12233 grafiğini kullanır ve çoğu test, grafik çıkarıcı yöntemi kullanarak sahnedeki grafiği bulur. Bu nedenle, kaydedilen resimlerin çoğunda 1, 2 veya 4 numaralı sahnelerdeki resimler gibi kenarlıklar yoktur, yalnızca grafik bulunur. Grafik bulucunun en iyi şekilde çalışması için grafik doğru yönde olmalıdır.
test_edge_enhancement
android.edge.mode
parametresinin doğru şekilde uygulanıp uygulanmadığını test eder. Her uç modu için yeniden işlenmeyen görüntüleri yakalar ve çıkış görüntüsü ile yakalama sonucu meta verisinin keskinliğini döndürür. Belirli bir kenar modu, hassasiyet, pozlama süresi, odak mesafesi ve çıkış yüzeyi parametresi içeren bir yakalama isteğini işler.
Geç: HQ
modu (2), OFF
modundan (0) daha keskin. FAST
modu (1), OFF
modundan daha keskindir. HQ
modu, FAST
moduna daha keskin veya eşit.
Test edilen API'ler:
Etkilenen kamera parametreleri:
EDGE_MODE
test_edge_enhancement_edge=0.jpg
test_edge_enhancement_edge=1.jpg (hızlı mod)
test_edge_enhancement_edge=2.jpg (yüksek kalite modu)
test_flip_mirror
Resmin CDD Bölüm 7.5.2 Ön Kamera [C-1-5] uyarınca doğru yönde olup olmadığını test eder.
Yansıtılmış, ters çevrilmiş veya döndürülmüş resimler, ortasına yakın bir yerdeki elmas özelliğiyle tanımlanabilir.
Geç: Resim çevrilmemiş, aynalanmış veya döndürülmemiş.
test_flip_mirror_scene_patch.jpg
test_imu_drift
Cihaz sabitken ve yüksek çözünürlüklü önizleme çekerken, eylemsiz ölçüm biriminin (IMU) 30 saniye boyunca kararlı çıkışı olup olmadığını test eder.
Test edilen API'ler:
android.hardware.Sensor
android.hardware.SensorEvent
android.hardware.Sensor#TYPE_GYROSCOPE
android.hardware.Sensor#TYPE_ROTATION_VECTOR
Geçiş:
- Test süresi boyunca jiroskopun kayması 0,01 rad'den azdır.
- Jiroskop okumasının varyansı, test süresi boyunca 1E-7 rad2/s2/Hz'den azdır.
- Dönme vektörünün kayması, test süresi boyunca 0,01 rad'den azdır.
- (Henüz zorunlu kılınmadı) Jiroskopun kayması saniyede 1 dereceden azdır.
test_imu_drift_gyro_drift.png
test_imu_drift_rotation_vector_drift.png
portre_yatay_testi
Yatay moddan dikey moda geçerken geçersiz kılma işlevinin yatay sensörlerde düzgün çalışıp çalışmadığını test eder.
Test edilen API'ler:
android.hardware.camera2.CameraCharacteristics#SCALER_AVAILABLE_ROTATE_AND_CROP_MODES
android.hardware.camera2.CameraCharacteristics#SENSOR_ORIENTATION
android.hardware.camera2.CameraCharacteristics#getCameraCharacteristics
Başarılı: Test, beklenen dönüşe sahip bir grafiği bulabilir (yataydan dikey konuma geçiş devre dışı bırakıldığında 0 derece, etkinleştirildiğinde 90 derece).
test_landscape_to_portrait.png
test_lens_movement_reporting
Lens hareketi işaretinin doğru şekilde raporlanıp raporlanmadığını test eder. İlk 12 kare optimum odak mesafesinde (3A tarafından bulunan) ve son 12 kare minimum odak mesafesinde olacak şekilde 24 karelik bir seri çekim yapar. 12. kare civarında lens hareket ederek keskinliğin düşmesine neden oluyor. Lens son konuma hareket ettikçe keskinlik sonunda sabitlenir. Mercek hareketi işareti, merceğin optimum odak mesafesinde sabit olduğu ilk birkaç kare ve merceğin minimum odak mesafesinde sabit olduğu son birkaç karede keskinliğin orta düzeyde olduğu tüm karelerde belirtilmelidir. Lensin hareket ettiği tam kare önemli değildir: Kontrol edilen şey, lens hareket ederken hareket işaretinin doğrulanmasıdır.
Test edilen API'ler:
android.hardware.camera2.CameraCharacteristics#LENS_INFO_MINIMUM_FOCUS_DISTANCE
android.hardware.camera2.CaptureResult#LENS_STATE
android.hardware.camera2.CaptureResult#LENS_FOCUS_DISTANCE
android.hardware.camera2.CaptureResult#SENSOR_TIMESTAMP
android.hardware.camera2.CaptureRequest#LENS_FOCUS_DISTANCE
Başarılı: Keskinlik değişimiyle karede Lens hareketi işareti True
.
Başarısızlık mekanizmaları:
test_log.DEBUG
içindekilens_moving: True
(android.hardware.camera2.CaptureResult#LENS_STATE
= 1) yalnızca keskinliğin değişmediği karelerde doğrulanır.test_log.DEBUG
içindelens_moving: False
(android.hardware.camera2.CaptureResult#LENS_STATE
= 0) olan kareler, optimum odak mesafesindeki ilk birkaç kareye veya minimum odak mesafesindeki son birkaç kareye kıyasla keskinlik farkına sahiptir.
test_reprocess_edge_enhancement
Kenar iyileştirme için desteklenen yeniden işleme yöntemlerinin düzgün çalışıp çalışmadığını test eder. Belirli bir yeniden işleme kenarı moduyla yakalama isteğini işler ve yeniden işleme kenarı modları devre dışıyken yakalama için farklı modları karşılaştırır.
Test edilen API'ler:
android.hardware.camera2.CaptureRequest#EDGE_MODE
android.hardware.camera2.CaptureRequest#REPROCESS_EFFECTIVE_EXPOSURE_FACTOR
Geçti: Farklı kenar modlarının keskinliği doğrudur. HQ
(mod 2), OFF
'ten (mod 0) daha keskin ve farklı modlar arasındaki iyileştirme benzerdir.
test_reprocess_edge_enhancement_plot.png
sahne4
Scene4, kare içinde beyaz bir arka plan üzerinde siyah bir daireden oluşuyor.
4. sahnedeki testler hizalamaya duyarlı olabilir. Bu nedenle, 15 sürümünden itibaren DUT ve grafik hizalamasının kontrolünü etkinleştirmek için araç dizininde check_alignment.py
simgesini kullanabilirsiniz.
sahne4
test_30_60fps_preview_fov_match
30 FPS ve 60 FPS önizleme videolarının aynı FoV'ye sahip olup olmadığını test eder. Test, biri 30 FPS ve diğeri 60 FPS hızında olmak üzere iki video yakalar. Her videodan temsili bir kare seçilir ve iki videodaki görüş alanı değişikliklerinin spesifikasyonlara uygun olduğundan emin olmak için analiz edilir. Dairenin en boy oranının sabit kaldığını, dairenin merkezinin sabit kaldığını ve dairenin yarıçapının sabit kaldığını test eder.
Test edilen API'ler:
android.hardware.camera2.CaptureRequest#CONTROL_AE_TARGET_FPS_RANGE
android.hardware.camera2.CaptureRequest#SENSOR_FRAME_DURATION
android.hardware.camera2.CaptureRequest#SENSOR_EXPOSURE_TIME
android.hardware.camera2.CaptureResult#LENS_DISTORTION
android.hardware.camera2.CaptureResult#LENS_FOCAL_LENGTH
android.hardware.camera2.CaptureResult#LENS_INTRINSIC_CALIBRATION
Geçti: Resimler uzatılmamış, resimlerin ortasındaki fark %3'ten fazla değil ve 30 FPS ile 60 FPS videolar arasındaki maksimum en boy oranı değişikliği en fazla %7,5'tir.
Başarısızlık mekanizmaları:
- 30 FPS'lik videodan oluşan dairenin boyutu, 60 FPS'lik videodan önemli ölçüde farklıdır.
- Çekilen resimdeki daire, işleme ardışık düzeni tarafından bozuluyor.
- Çekilen resimdeki daire, resmin yüksekliğini veya genişliğini azaltan aşırı en boy oranı yakalama isteği nedeniyle kırpılmıştır.
- Çekilen resimdeki dairenin ortasında bir yansıma var ve daire tamamen dolu görünmüyor.
test_en boy_oranı_ve_kırpma
Resimlerin resim ardışık düzeninde beklenmedik şekilde bozulup bozulmadığını veya kırpılıp kırpılmadığını test eder. Bir dairenin tüm biçimlerdeki resmini çeker. Dairenin bozulmadığını, dairenin resmin ortasından hareket etmediğini ve dairenin farklı en boy oranları veya çözünürlüklerle yanlış şekilde boyut değiştirmediğini doğrular.
Test edilen API'ler:
android.hardware.camera2.CaptureResult#LENS_DISTORTION
android.hardware.camera2.CaptureResult#LENS_FOCAL_LENGTH
android.hardware.camera2.CaptureResult#LENS_INTRINSIC_CALIBRATION
Geç: Resimler uzatılmamış, resimlerin ortasındaki fark %3'ten fazla değil ve mümkün olan maksimum görüş alanı korunuyor.
Başarısızlık mekanizmaları:
- Kamera, çekilen sahnenin ortasındaki tablette gösterilen daireyle hizalanmıyor.
- Yakalanan görüntüdeki daire, işleme ardışık düzeni tarafından bozulmuş.
- Daha düşük çözünürlüklü resimler, resim ardışık düzeninde iki kez kırpılarak yüksek ve düşük çözünürlüklü resimler arasında farklı FoV'ler oluşturulur.
- Çekilen resimdeki daire, resmin yüksekliğini veya genişliğini azaltan aşırı en boy oranı yakalama isteği nedeniyle kırpılmıştır.
- Çekilen resimdeki dairenin ortasında bir yansıma var ve daire tamamen dolu görünmüyor.
test_multi_camera_alignment
Çok kameralı sistemler için kamera konumlandırmasıyla ilgili kamera kalibrasyon parametrelerini test eder. Çok kameralı fiziksel alt kameralar kullanıldığında, fiziksel kameralardan biriyle resim çekilir. Dairenin merkezini bulur. Dairenin merkezini her kamera için dünya koordinatlarına yansıtır. Dünya koordinatlarında kameraların daire merkezleri arasındaki farkı karşılaştırır. Dünya koordinatını piksel koordinatlarına yeniden yansıtır ve geçerlilik kontrolü olarak orijinallerle karşılaştırır. Kameraların odak uzunluklarının farklı olup olmadığını kontrol ederek daire boyutlarını karşılaştırır.
Test edilen API'ler:
android.hardware.camera2.CameraCharacteristics#getPhysicalCameraIds()
android.hardware.camera2.CameraCharacteristics#LENS_DISTORTION
android.hardware.camera2.CameraCharacteristics#LENS_INFO_AVAILABLE_FOCAL_LENGTHS
android.hardware.camera2.CameraCharacteristics#LENS_INTRINSIC_CALIBRATION
android.hardware.camera2.CameraCharacteristics#LENS_POSE_ROTATION
android.hardware.camera2.CameraCharacteristics#LENS_POSE_TRANSLATION
android.hardware.camera2.CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_LOGICAL_MULTI_CAMERA
android.hardware.camera2.CaptureRequest#SCALER_CROP_REGION
android.hardware.camera2.CaptureRequest#DISTORTION_CORRECTION_MODE
Geçti: Kamera kalibrasyon verileri ve odak uzunlukları kullanılarak çekilen resimlere kıyasla, yansıtılan resimlerdeki daire merkezleri ve boyutları beklendiği gibidir.
Başarısızlık mekanizmaları:
LENS_INTRINSIC_CALIBRATION
,LENS_POSE_TRANSLATION
veyaLENS_POSE_ROTATION
tasarım değerleridir ve gerçek kalibrasyon verileri değildir.- Kamera sistemi, test kurulumu için uygun değil. Örneğin, RFoV test düzeneğiyle geniş ve ultra geniş kamera sistemini test etmek. Daha fazla bilgi için Kamera ITS-in-a-box SSS1 başlıklı makaleyi inceleyin.
test_preview_aspect_ratio_and_crop
Hareketsiz çekimler için test_aspect_ratio_and_crop testine benzer şekilde bu test, önizleme karelerinin uzatılmadığından veya uygun şekilde kırpılmadığından emin olmak için desteklenen önizleme biçimlerini kontrol eder. Dairenin en boy oranının değişmediğinden, kırpılan resimlerde dairenin karenin ortasında kaldığından ve dairenin boyutunun sabit bir biçimde veya farklı çözünürlüklerde değişmediğinden emin olur (görüş alanı kontrolü).
Test edilen API'ler:
android.hardware.camera2.CaptureResult#LENS_DISTORTION
android.hardware.camera2.CaptureResult#LENS_FOCAL_LENGTH
android.hardware.camera2.CaptureResult#LENS_INTRINSIC_CALIBRATION
android.hardware.camera2.CameraCharacteristics#SCALAR_AVAILABLE_CAPABILITIES_STREAM_USE_CASES
android.media.MediaRecorder
android.media.CamcorderProfile
Geç: Resimler uzatılmaz, resimlerin ortasındaki fark %3'ten fazla olmaz ve mümkün olan maksimum görüş alanı korunur.
test_preview_stabilization_fov
FoV'nin uygun şekilde kırpıldığından emin olmak için desteklenen önizleme boyutlarını kontrol eder.
Test sonucunda biri önizleme sabitlemesi ON
, diğeri ise önizleme sabitlemesi OFF
olan iki video yakalandı. Her videodan temsili bir kare seçilir ve iki videodaki görüş alanı değişikliklerinin spesifikasyonlara uygun olduğundan emin olmak için analiz edilir.
Test edilen API'ler:
android.hardware.camera2.CameraCharacteristics#SCALAR_AVAILABLE_CAPABILITIES_STREAM_USE_CASES
android.media.MediaRecorder
android.media.CamcorderProfile
Geç: Dairenin en boy oranı yaklaşık olarak sabit kalır, dairenin merkez konumu sabit kalır ve dairenin boyutu en fazla %20 değişir.
test_video_aspect_ratio_and_crop
Tüm video biçimlerinde kare içinde daire videoları çeker. Ana kareleri ayıklayıp dairenin en boy oranının değişmediğinden, kırpılan resimlerde dairenin ortada kaldığından ve dairenin boyutunun sabit bir biçimde veya farklı çözünürlükte değişmediğinden emin olur (görüş alanı kontrolü).
Test edilen API'ler:
android.hardware.camera2.CameraCharacteristics#SCALAR_AVAILABLE_CAPABILITIES_STREAM_USE_CASES
android.hardware.camera2.CaptureResult#LENS_DISTORTION
android.hardware.camera2.CaptureResult#LENS_FOCAL_LENGTH
android.hardware.camera2.CaptureResult#LENS_INTRINSIC_CALIBRATION
android.media.MediaRecorder
android.media.CamcorderProfile
Başarılı: Video kareleri uzatılmaz, karelerin ortası %3'ten fazla farklılık göstermez ve mümkün olan maksimum FoV (görüş alanı) korunur.
sahne5
5. sahne için tekdüze aydınlatılmış gri bir sahne gerekir. Bu işlem, kamera merceğinin üzerine yerleştirilen bir difüzör tarafından gerçekleştirilir. Aşağıdaki difüzörü öneririz:
www.edmundoptics.com/optics/window-diffusers/optical-diffusers/opal-diffusing-glass/46168
.
Sahneyi hazırlamak için kameranın önüne bir difüzör takın ve kamerayı yaklaşık 2.000 lükslük bir ışık kaynağına doğru tutun. scene5 için çekilen resimlerde, belirgin bir özellik olmayan dağınık ışık gereklidir. Aşağıda örnek bir resim verilmiştir:
scene5 capture
test_lens_gölgelemesi_ve_renk_tek tiplik
Lens gölgelendirmesi düzeltmesinin uygun şekilde uygulandığını ve tek renkli tek tip bir sahnenin renginin eşit olarak dağıtıldığını test eder. Bu testi, otomatik 3A ile bir YUV kare üzerinde gerçekleştirir. Lens gölgelendirmesi, y kanalına göre değerlendirilir. Belirtilen her örnek blok için ortalama y değerini ölçer ve ortadaki y değeriyle karşılaştırarak başarılı veya başarısız olduğunu belirler. Renk tekdüzeliği testi, r/g ve b/g alanında değerlendirilir.
Test edilen API'ler:
android.hardware.camera2.CaptureRequest#CONTROL_AE_MODE
android.hardware.camera2.CaptureRequest#CONTROL_AWB_MODE
Geç: Testin geçebilmesi için resmin belirtilen yarıçapında r/g ve b/g değerinin varyansı% 20'den az olmalıdır.
scene6
Sahne 6, oryantasyonu belirtmek için bir köşesinde kare bulunan küçük dairelerden oluşan bir ızgaradır. Küçük daireler, yakınlaştırma işlevini geniş bir aralık üzerinde test etmek için gereklidir.
Sahne6'daki testler hizalamaya karşı hassas olabilir. Bu nedenle, 15'ten itibaren DUT ve grafik hizalamasının kontrol edilmesini sağlamak için araçlar dizininde check_alignment.py
kullanabilirsiniz.
scene6
test_in_sensor_zoom
Kırpılmış RAW resimler oluşturan, kameranın sensör içi yakınlaştırma özelliğinin davranışını test eder.
Akış kullanım alanı CROPPED_RAW
olarak ayarlandığında test, yakınlaştırma aralığında iki çekim yapar: tam görüş alanı (FoV) RAW görüntüsü ve kırpılmış RAW görüntüsü. Test, resimleri RGB dizilerine dönüştürür, tam boyutlu kırpılmış RAW görüntüsünü SCALER_RAW_CROP_REGION
tarafından bildirilen boyuta düşürür ve iki resim arasındaki 3D kök ortalama kare (RMS) farkını hesaplar.
Test edilen API'ler:
android.hardware.camera2.CameraCharacteristics#CONTROL_ZOOM_RATIO_RANGE
android.hardware.camera2.CameraCharacteristics#SCALAR_AVAILABLE_CAPABILITIES_STREAM_USE_CASES
android.hardware.camera2.CameraMetadata#SCALER_AVAILABLE_STREAM_USE_CASES_CROPPED_RAW
android.hardware.camera2.CaptureRequest#CONTROL_ZOOM_RATIO
android.hardware.camera2.CaptureResult#SCALER_RAW_CROP_REGION
Geçti: Ölçeği küçültülmüş kırpılmış RAW resim ile tam FoV RAW resim arasındaki 3D karesi alınmış ortalama (RMS) fark, testte belirlenen eşik değerinden azdır.
test_zoom
Kamera yakınlaştırma davranışını test eder. Yakınlaştırma aralığında çekim yapar ve kamera yakınlaştırdıkça dairelerin büyüyüp büyümediğini kontrol eder. Her biçim (YUV, JPEG) için 3A'yı birleştirmek ve yakalama yapmak üzere aynı kamera yakalama oturumu kullanılır.
Test edilen API'ler:
android.hardware.camera2.CameraCharacteristics#CONTROL_ZOOM_RATIO_RANGE
android.hardware.camera2.CameraCharacteristics#LENS_INFO_AVAILABLE_FOCAL_LENGTHS
android.hardware.camera2.CaptureRequest#CONTROL_ZOOM_RATIO
android.hardware.camera2.CaptureResult#LENS_FOCAL_LENGTH
Geç: Kameranın doğru şekilde yakınlaştırdığından emin olmak için yakalanan dairenin göreceli boyutu, istenen yakınlaştırma oranına göre doğrudur.
test_zoom, merkeze en yakın dairenin dış çizgisini bulmak için kullanılır.
test_low_latency_zoom
Kameranın düşük gecikmeli yakınlaştırma davranışını test eder. android.control.settingsOverride = 1 (SETTINGS_OVERRIDE_ZOOM)
ile yakınlaştırma aralığında çekim yapar ve çıkış resimlerindeki dairelerin, çekim meta verilerindeki yakınlaştırma oranlarıyla eşleşip eşleşmediğini kontrol eder. 3A'yı birleştirmek ve çekim yapmak için aynı kamera yakalama oturumu kullanılır.
Test edilen API'ler:
android.hardware.camera2.CameraCharacteristics#CONTROL_AVAILABLE_SETTINGS_OVERRIDES
android.hardware.camera2.CameraCharacteristics#CONTROL_ZOOM_RATIO_RANGE
android.hardware.camera2.CaptureRequest#CONTROL_SETTINGS_OVERRIDE
android.hardware.camera2.CaptureRequest#CONTROL_ZOOM_RATIO
android.hardware.camera2.CaptureResult#CONTROL_SETTINGS_OVERRIDE
Geç: Yakalanan dairenin göreli boyutu, yakınlaştırma oranı sonuç meta verilerine göre doğrudur.
test_önizleme_video_yakınlaştırma_eşleşmesi
Kayıt ve yakınlaştırma sırasında video önizlemesi ile video çıkışının aynı çıkışı görüntüleyip kaydettiğini test eder. Farklı yakınlaştırma oranlarında merkeze en yakın dairenin boyutunu hesaplar ve yakınlaştırma oranı arttıkça dairenin boyutunun da artıp artmadığını kontrol eder.
Test edilen API'ler:
android.hardware.camera2.CameraCharacteristics#CONTROL_ZOOM_RATIO_RANGE
android.hardware.camera2.CameraCharacteristics#LENS_INFO_AVAILABLE_FOCAL_LENGTHS
android.hardware.camera2.CaptureRequest#CONTROL_ZOOM_RATIO
android.hardware.camera2.CaptureResult#LENS_FOCAL_LENGTH
Geç: Yakalanan dairenin göreli boyutu, video ve önizlemede istenen yakınlaştırma oranına göre doğrudur.
VGA_640x480_key_frame.png (yakınlaştırmadan önce)
preview_640x480_key_frame.png (yakınlaştırmadan önce)
VGA_640x480_key_frame.png (yakınlaştırmadan sonra)
preview_640x480_key_frame.png (yakınlaştırmadan sonra)
test_preview_zoom
Her önizleme çerçevesinin yakınlaştırma oranının, ilgili yakalama meta verileriyle eşleşip eşleşmediğini test eder. Test, yakınlaştırma aralığının üzerinden önizleme karelerini alır ve merkeze en yakın dairenin dış çizgisini bulur. Ardından test, kamera yakınlaştırırken seçili dairenin büyüdüğünü ve dairenin merkezinin görüntünün merkezinden uzaklaştığını kontrol eder.
Test edilen API'ler:
android.hardware.camera2.CameraCharacteristics#CONTROL_ZOOM_RATIO_RANGE
android.hardware.camera2.CameraCharacteristics#LENS_INFO_AVAILABLE_FOCAL_LENGTHS
android.hardware.camera2.CaptureRequest#CONTROL_ZOOM_RATIO
android.hardware.camera2.CaptureResult#LENS_FOCAL_LENGTH
Başarılı: Seçilen dairenin göreli boyutu, tüm önizleme kareleri için ilgili yakalama sonucunun bildirilen yakınlaştırma oranı için doğrudur. Seçilen dairenin, görüntünün merkezinden göreceli uzaklığı, tüm önizleme karelerinin karşılık gelen yakalama sonucunun bildirilen yakınlaştırma oranı için doğrudur.
test_preview_zoom, merkeze en yakın seçili daireyi gösteren resimler
test_session_characteristics_zoom
CameraCharacteristics#INFO_SESSION_CONFIGURATION_QUERY_VERSION
içinde listelenen tüm desteklenen oturum yapılandırmaları için yakınlaştırma oranı aralığını test eder.
Bu yapılandırmaların her biri için CameraDeviceSetup#isSessionConfigurationSupported
doğru döndürürse test, CameraDeviceSetup#getSessionCharacteristics
içinde döndürülen yakınlaştırma oranı aralığına ulaşılıp ulaşılamayacağını doğrular.
Test edilen API'ler:
android.hardware.camera2.CameraCharacteristics#INFO_SESSION_CONFIGURATION_QUERY_VERSION
android.hardware.camera2.CameraDevice.CameraDeviceSetup#isSessionConfigurationSupported
android.hardware.camera2.CameraDevice.CameraDeviceSetup#getSessionCharacteristics
Geç: CameraCharacteristics#INFO_SESSION_CONFIGURATION_QUERY_VERSION
'te listelenen her desteklenen SessionConfiguration
için hem minimum hem de maksimum yakınlaştırma oranına ulaşılabilir.
sahne7
Sahne7, her biri farklı bir renkle doldurulmuş dört eşit çeyreğe bölünmüş dikdörtgen bir çerçevedir. Dikdörtgenin ortasında, keskinlik kontrolleri için eğimli bir kenar grafiği bulunur. Değişen yakınlaştırma oranlarında ana dikdörtgen çerçevenin doğru koordinatlarını elde etmenize yardımcı olmak için dört ArUco işaretçisi, dikdörtgenin dört dış köşesiyle hizalanır.
sahne7
test_çoklu_kamera_anahtarı
Bu test, farklı yakınlaştırma oranlarında önizleme kaydı sırasında ultra geniş (UW) ve geniş (W) lensler arasında geçiş yapılmasının benzer RGB değerleriyle sonuçlandığını doğrular.
Test, dinamik önizleme kaydı yapmak ve fiziksel kameranın değiştiği noktayı belirlemek için önceden tanımlanmış aralıktaki farklı yakınlaştırma oranlarını kullanır. Bu nokta, ultra geniş lensten geniş lense geçiş noktasını gösterir.
Geçiş noktasında ve öncesinde çekilen kareler otomatik pozlama (AE), otomatik beyaz denge (AWB) ve otomatik odaklama (AF) açısından analiz edilir.
AE kontrolü, hem ultra geniş lens hem de geniş lens resimlerinde parlaklık değişikliğinin beklenen aralık içinde olmasını sağlar. AWB kontrolü, hem ultra geniş lens hem de geniş lens resimlerinde R/G ve B/G oranlarının eşik değerleri dahilinde olup olmadığını doğrular. AF kontrolü, keskinlik tahmini değerini ultra geniş ve geniş lens görüntüleri arasındaki ortalama gradyan büyüklüğüne göre değerlendirir.
Test edilen API'ler:
android.hardware.camera2.CameraCharacteristics#CONTROL_ZOOM_RATIO_RANGE
android.hardware.camera2.CaptureRequest#CONTROL_ZOOM_RATIO
android.media.CamcorderProfile
android.media.MediaRecorder
Başarılı: Testin geçebilmesi için AE, AWB ve AF kontrollerinin tümünün başarılı olması gerekir. Her kontrol için geçerli olan ölçütler şunlardır:
- AE kontrolü: Ultra geniş ve geniş lens resimleri arasındaki parlaklık değişimi %0,5'ten az olmalıdır.
- AWB kontrolü: Ultra geniş ve geniş lens resimlerinin R/G ve B/G değerleri arasındaki fark %0,5'ten az olmalıdır.
- AF kontrolü: Ultra geniş ve W lensli resimler arasındaki görüntü keskinliği değişimi %2'den az olmalıdır.
sahne8
Sahne 8, dört eşit bölgeye bölünmüş dikdörtgen bir çerçevedir. Her bölge, farklı bir pozlamayla çekilmiş veya farklı bir renk gölgesiyle (mavi gölge, artırılmış pozlama, azaltılmış pozlama, sarı gölge) yerleştirilmiş bir portre içerir. Ana dikdörtgen çerçevenin doğru koordinatlarını elde etmek için dört ArUco işaretçisi, dikdörtgenin dört dış köşesiyle hizalanır.
sahne8
test_ae_awb_regions
Farklı otomatik pozlama (AE) ve otomatik beyaz denge (AWB) bölgelerinde kayıt önizlenirken RGB ve parlaklık değerlerinin farklı olup olmadığını test eder.
Test, her çeyrekte iki saniye boyunca AE ve AWB ölçümü yaparak sekiz saniyelik bir önizleme kaydı kaydeder. Daha sonra test, her bölgenin önizleme kaydından bir kare ayıklar ve aşağıdaki AE ve AWB kontrollerini gerçekleştirmek için çıkarılan kareleri kullanır:
- AE kontrolü: Daha az pozlamanın olduğu bölgeyi ölçerek daha fazla pozlamanın olduğu bölgeyi kare ölçere göre% 1'den daha fazla luma değerinin olduğunu doğrular. Bu, karanlık bir bölgenin ölçümü yapılırken görüntülerin aydınlatıldığını doğrular.
- Otomatik beyaz dengesi kontrolü: Mavi ölçüm bölgesi olan karedeki kırmızı/mavi oranının (resmin ortalama RGB değerlerinin) sarı ölçüm bölgesi olan kareden %2'den fazla yüksek olduğunu doğrular. Bu, sarı (sıcak) veya mavi (soğuk) bir bölgeyi ölçerken görüntülerin dengeli bir RGB değerine sahip olduğunu doğrular.
Test edilen API'ler:
android.hardware.camera2.CaptureRequest#CONTROL_AWB_REGIONS
android.hardware.camera2.CaptureRequest#CONTROL_AE_REGIONS
android.hardware.camera2.CameraCharacteristics#CONTROL_MAX_REGIONS_AE
android.hardware.camera2.CameraCharacteristics#CONTROL_MAX_REGIONS_AWB
Geçti: Hem AE hem de AWB kontrolleri geçti.
sahne9
Scene9, JPEG sıkıştırma algoritmalarını zorlamak için çok düşük tekrarlanabilirliğe sahip bir sahne oluşturmak amacıyla rastgele boyut ve renkte binlerce daireden oluşur.
sahne9
test_jpeg_high_entropi
Kamera JPEG sıkıştırmasının yüksek entropi ve JPEG kalite faktörü %100 olarak ayarlanmış sahne9'da çalıştığını test eder. Tablette görüntülenen sahnenin kamera görüş alanını doldurması için yakınlaştırma faktörü artırılır.
Test edilen API'ler:
Başarılı: JPEG dosyası düzgün bir şekilde sıkıştırılır, yazılır ve diskten geri okunur.
test_jpeg_quality
Kameranın JPEG sıkıştırma kalitesini test eder. JPEG kalitesini android.jpeg.quality
üzerinden adım adım uygular ve Quantization Tables'ın doğru şekilde değişmesini sağlar.
Test edilen API'ler:
Geç: Kalite arttıkça kesme matrisi azalır. (Matris, bölme faktörünü temsil eder.)
Pixel 4 arka kamerası luma/renk DQT matrisi ortalamaları ile JPEG kalitesi karşılaştırması
Başarısız test örneği
Çok düşük kaliteli resimlerde (jpeg.quality < 50) kesme matrisinde sıkıştırmanın artmadığını unutmayın.
scene_video
scene_video
sahnesi bir video sahnesidir. Bu resim, beyaz bir arka planda farklı kare hızlarında ileri geri hareket eden dört farklı renkli daireden oluşur.
scene_video
test_preview_frame_drop
İstenen önizleme kare hızının dinamik bir sahnede korunup korunmadığını test eder. Bu test, üçüncü taraf uygulamalarına maruz kalan tüm kameralarda çalışır.
Test edilen API'ler:
android.hardware.camera2.CameraCharacteristics#CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES
android.hardware.camera2.CameraCharacteristics#SCALAR_AVAILABLE_CAPABILITIES_STREAM_USE_CASES
android.hardware.camera2.CaptureResult#CONTROL_AE_TARGET_FPS_RANGE
android.media.CamcorderProfile
android.media.MediaRecorder
Geçti: Önizleme kare hızı, istenen kare hızı aralığının maksimum değerindedir ve art arda gelen kareler arasındaki ortalama varyasyon, testte belirlenen göreceli tolerans değerinden azdır.
sahne_uzantıları
scene_extensions
testleri, kamera uzantıları içindir ve test ortamının hassas bir şekilde kontrol edilmesini gerektirdiğinden Kamera ITS'si kullanmalıdır. Ayrıca, tüm ışık sızıntıları kontrol edilmelidir. Bunun için test düzeneğinin, DUT'nin ve tabletin bir bezle kapatılması ve DUT'un ön ekranından gelen ışık sızıntısının önlenmesi gerekebilir.
scene_hdr
scene_hdr
sahnesinin sol tarafında dikey bir resim ve sağ tarafta düşük kontrastlı bir QR kodu yer alır.
scene_hdr
test_hdr_uzantısı
HDR uzantısını test eder. Uzantı etkinken ve devre dışıyken çekim yapar ve uzantının QR kodunu daha kolay algılanabilir hale getirip getirmediğini kontrol eder.
Test edilen API'ler:
android.hardware.camera2.CameraExtensionCharacteristics#getSupportedExtensions
android.hardware.camera2.CameraExtensionSession#capture
Geç: HDR uzantısı, QR kodunu algılamak için gereken kontrast değişikliklerinin sayısını azaltır veya QR kodundaki degradeyi azaltır.
scene_low_light
scene_low_light
sahnesi, siyah bir arka plan üzerinde çeşitli gri tonlarının bulunduğu bir kare ızgarasından oluşur. Kare ızgarası ise kırmızı bir dış çizgilidir. Kareler, Hilbert eğrisi yönü olarak düzenlenir.
scene_low_light
test_night_extension
Gece uzamasını test eder. Uzantı etkinken ekran görüntüsü alır ve aşağıdakileri gerçekleştirir:
- 20 karenin varlığını algılar
- Her kareyle sınırlı olan parlaklık değerini hesaplar
- Hilbert eğrisi ızgara yönüne göre ilk 6 karenin ortalama luma değerini hesaplar
- 5. ve 6. karelere (kare6 - kare5) kadar art arda gelen karelerin luma değeri arasındaki farkı (örneğin, kare2 - kare1) hesaplar ve hesaplanan beş farkın ortalamasını bulur.
Test edilen API'ler:
android.hardware.camera2.CameraExtensionCharacteristics#getSupportedExtensions
android.hardware.camera2.CameraExtensionSession#capture
Geçti: İlk 6 karenin ortalama luma değeri en az 85, 5. ve 6. karelere kadar olan art arda karelerin luma değeri arasındaki ortalama fark en az 17 olmalıdır.
Aşağıdaki parlaklık grafiğinde, başarılı bir test sonucunun nasıl göründüğü gösterilmektedir.
test_low_light_boost_extension
Düşük Işık Güçlendirme AE modunu test eder. Camera2, düşük ışık güçlendirme AE modunu destekliyorsa bu test Camera2 için gerçekleştirilir. Gece modu kamera uzantısı destekleniyorsa ve uzantı, zayıf ışık güçlendirme AE modunu destekliyorsa bu test gece modu kamera uzantısı için de gerçekleştirilir. Bu test, AE modunu düşük ışıkta artırma olarak ayarlar, önizlemeden bir kare alır ve aşağıdakileri gerçekleştirir:
- 20 kutunun varlığını algılar
- Her kutunun sınırladığı luma değerini hesaplar
- Hilbert eğrisi ızgara yönelimine göre ilk 6 karenin ortalama luma değerini hesaplar
- 5. ve 6. karelere (kare6 - kare5) kadar art arda gelen karelerin luma değeri arasındaki farkı (örneğin, kare2 - kare1) hesaplar ve hesaplanan beş farkın ortalamasını bulur.
Test edilen API'ler:
android.hardware.camera2.CameraCharacteristics.CONTROL_AE_AVAILABLE_MODES
android.hardware.camera2.CameraMetadata#CONTROL_AE_MODE_ON_LOW_LIGHT_BOOST_BRIGHTNESS_PRIORITY
android.hardware.camera2.CameraExtensionCharacteristics#getSupportedExtensions
Geçti: İlk 6 karenin ortalama luma değeri en az 70, 5. ve 6. karelere kadar olan art arda karelerin luma değeri arasındaki ortalama fark en az 17 olmalıdır.
scene_flash
scene_flash
testlerinde, sensör füzyon kutusunda karanlık bir sahne gerekir.
test_auto_flash
Arka ve ön kameralar için karanlık bir sahnede otomatik flaşın tetiklendiğini test eder. Ön kameralarda otomatik flaş, sahneyi aydınlatmak için fiziksel bir flaş birimi yerine ekranı kullanır. Test, otomatik flaş etkinken karo resminin ortasının daha parlak olup olmadığını kontrol ederek otomatik flaşın tetiklendiğini doğrular. Otomatik flaş özelliğini tetiklemek için test düzeneğindeki ışıklar kapatılmalıdır. Işıklar Arduino denetleyiciyle otomatik olarak kapatılabilir. Testin doğru çalışması için sahnenin tamamen karanlık olması gerekir. Jetpack Kamera Uygulaması (JCA), testten önce cihaza yüklenmiş olmalıdır. Arka kameralarda otomatik flaş, AE durumunun tetiklenmesine bağlıdır ancak ön kameralarda otomatik flaş, AE'ye bağlı değildir ve her zaman tetiklenir.
Test edilen API'ler:
android.hardware.camera2.CameraCharacteristics#FLASH_INFO_AVAILABLE
android.hardware.camera2.CaptureRequest#CONTROL_AE_MODE
android.hardware.camera2.CaptureRequest#CONTROL_AE_PRECAPTURE_TRIGGER
android.hardware.camera2.CaptureResult#CONTROL_AE_STATE
android.hardware.camera2.CaptureRequest#FLASH_MODE
Geç: Otomatik flaş etkinken karo görüntüsünün ortası, tüm kameralar için orijinal sahne görüntüsünden daha parlaktır.
test_flash_strength
SINGLE
modunda flaş gücü kontrolünün doğru şekilde uygulandığını test eder.
Cihaz, SINGLE
modunda kamera kullanımı sırasında flaş gücü kontrolünü destekliyorsa flaş gücünün, istenen farklı güç seviyeleriyle değiştiğini doğrular. Flaş gücü kontrolünün farklı AE_MODES
ile çalıştığını doğrular.
Örneğin, otomatik pozlama modu ON
veya OFF
ise flaş gücü seviyesi parlaklığı etkiler. Mod ON_AUTO_FLASH
ise flaş gücü seviyesi parlaklığı etkilemez.
Testi yapmak için test platformundaki ışıklar kapatılmalıdır.
Işıklar Arduino kumanda ile otomatik olarak kapatılabilir.
Testin düzgün çalışması için sahnenin tamamen karanlık olması gerekir.
Test edilen API'ler:
android.hardware.camera2.CameraCharacteristics#FLASH_INFO_STRENGTH_DEFAULT_LEVEL
android.hardware.camera2.CameraCharacteristics#FLASH_INFO_STRENGTH_MAXIMUM_LEVEL
android.hardware.camera2.CameraCharacteristics#FLASH_SINGLE_STRENGTH_DEFAULT_LEVEL
android.hardware.camera2.CameraCharacteristics#FLASH_SINGLE_STRENGTH_MAX_LEVEL
Geçiş:
Otomatik pozlama modu ON
veya OFF
olduğunda, flaş gücü seviyesi flaşsızdan FLASH_SINGLE_STRENGTH_MAX_LEVEL
'a yükseldikçe resim yamalarının parlaklığı artar.
Otomatik pozlama modu ON_AUTO_FLASH
olduğunda, flaş gücü seviyesi flaş olmadan FLASH_SINGLE_STRENGTH_MAX_LEVEL
seviyesine yükseldiğinden görüntü yamalarının parlaklığı farkı tolerans dahilinde olur.
test_led_snapshot
LED anlık görüntülerinin görüntüyü doymadığını veya renklendirmediğini test eder.
Bu testte, ışıkları kontrol etmek için sensör füzyon kutusuna bir aydınlatma kontrol cihazı eklenir. Işıklar OFF
olarak ayarlandığında, test AUTO_FLASH
modu ON
olarak ayarlanarak fotoğraf çeker. Bu yakalama sırasında test, aePrecapture
tetikleyicisi START
olarak ayarlanmış bir ön yakalama sırası çalıştırır ve yakalama amacını Preview
olarak ayarlayarak yakalamayı flaşlı olarak gerçekleştirir.
Yakalama, flaşın neden olduğu belirgin bir sıcak noktaya sahip olduğundan test, yakalamanın tamamının flaşlı görüntü ortalamasını hesaplar ve değerin (68, 102) aralığında olup olmadığını doğrular. Test, görüntünün makul bir şekilde beyaz dengeli olup olmadığını kontrol etmek için R/G ve B/G oranlarını hesaplar ve oranların 0,95 ile 1,05 arasında olup olmadığını doğrular.
Test edilen API'ler:
android.hardware.camera2.CameraCharacteristics#FLASH_INFO_AVAILABLE
android.hardware.camera2.CaptureRequest#CONTROL_AE_MODE
android.hardware.camera2.CaptureRequest#FLASH_MODE
Geçti: R/G ve B/G oranları 0,95 ile 1,05 arasındadır. Flaşlı görüntü ortalaması (68, 102) aralığındadır.
test_preview_min_frame_rate
Karanlık bir sahnede önizleme kare hızının doğru şekilde düşürüldüğünü test eder. Bu testin düzgün çalışması için test düzeneğindeki ışıkların kontrolör tarafından veya test operatörü tarafından manuel olarak kapatılması gerekir.
Test edilen API'ler:
android.hardware.camera2.CameraCharacteristics#CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES
android.hardware.camera2.CameraCharacteristics#SCALAR_AVAILABLE_CAPABILITIES_STREAM_USE_CASES
android.hardware.camera2.CaptureResult#CONTROL_AE_TARGET_FPS_RANGE
android.media.CamcorderProfile
android.media.MediaRecorder
Başarılı: Önizleme kare hızı, istenen kare hızı aralığının minimum seviyesinde ve kareler arasındaki varyasyon, testte ayarlanan mutlak toleranstan daha az.
test_torch_strength
TORCH
modunda flaş gücü kontrolünün doğru şekilde uygulanıp uygulanmadığını test eder.
Cihaz, TORCH
modunda kamera kullanılırken flaş gücünü kontrol etmeyi destekliyorsa el feneri gücünün, istenen farklı güç seviyeleriyle değiştiğini doğrular. Flaşın gücünü kontrol etme özelliğinin farklı AE_MODES
ile çalıştığını doğrular.
Örneğin, otomatik pozlama modu ON
veya OFF
ise flaş gücü seviyesi parlaklığı etkiler. Mod ON_AUTO_FLASH
ise flaş gücü seviyesi parlaklığı etkilemez.
Video çekimi oturumunu simüle ederek, flaş gücünün bir seri çekim süresince aynı kaldığını
doğrular. Testi yapmak için test düzeneğindeki ışıklar kapatılmalıdır. Işıklar Arduino kontrol cihazıyla otomatik olarak kapatılabilir. Testin doğru çalışması için sahnenin tamamen karanlık olması gerekir.
Test edilen API'ler:
android.hardware.camera2.CameraCharacteristics#FLASH_INFO_STRENGTH_DEFAULT_LEVEL
android.hardware.camera2.CameraCharacteristics#FLASH_INFO_STRENGTH_MAXIMUM_LEVEL
android.hardware.camera2.CameraCharacteristics#FLASH_TORCH_STRENGTH_DEFAULT_LEVEL
android.hardware.camera2.CameraCharacteristics#FLASH_TORCH_STRENGTH_MAX_LEVEL
Geçiş:
Otomatik pozlama modu ON
veya OFF
olduğunda, flaş gücü seviyesi flaşsızdan FLASH_TORCH_STRENGTH_MAX_LEVEL
'a yükseldikçe görüntü patlaması yamalarının parlaklığı artar.
Otomatik pozlama modu ON_AUTO_FLASH
olduğunda, flaş gücü seviyesi flaşsızdan FLASH_TORCH_STRENGTH_MAX_LEVEL
'a yükseldikçe görüntü patlaması yamalarının parlaklıktaki farkı tolerans dahilindedir.
sensor_fusion
Sensör birleştirme testleri, dama tahtası deseni ve ArUco işaretçilerinin önünde belirli bir telefon hareketi gerektirir. En iyi sonuçlar için test grafiğinin düz bir şekilde eklendiğinden emin olun. Düz olmayan grafikler, testlerin çoğunun rotasyon hesaplamalarını etkiler. Grafik, 43x43 cm'de yazdırarak sensör füzyon kutusunun arkasını doldurmalıdır. sensor_fusion
testleri, Sensor Fusion Box ile otomatikleştirilebilir.
Sensör füzyon grafiği
Sensör birleştirme kutusunun arkasını dolduran sensör birleştirme grafiği
test_lens_intrinsic_calibration
Optik görüntü sabitleme (OIS) nedeniyle lens hareket ettiğinde merceğin optik merkezinin doğal olarak değişip değişmediğini test eder. Lens doğal örnekleri destekleniyorsa lens doğal örneklerinin optik merkezinin, optik görüntü sabitleme (OIS) nedeniyle lens hareket ettiğinde değişip değişmediğini test eder.
Test edilen API'ler:
android.hardware.camera2.CameraCharacteristics#LENS_INTRINSIC_CALIBRATION
android.media.MediaRecorder
android.media.CamcorderProfile
Geç: Lensin optik merkezinin doğal değişimi bir piksel veya daha fazladır. Lens doğal örnekleri destekliyorsa lens doğal örneklerinin optik merkezleri bir piksel veya daha fazla değişir.
Her kare için ana noktaların piksel cinsinden değişimlerini gösteren test_lens_intrinsic_calibration
grafiği örneği
test_multi_camera_frame_sync
Mantıksal kamera tarafından yakalanan kare zaman damgalarının, zaman damgasını belirlemek için dama tahtasındaki karelerin açılarını hesaplayarak 10 ms içinde olup olmadığını test eder.
Test edilen API'ler:
android.hardware.camera2.CameraCharacteristics#LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE
android.hardware.camera2.CameraCharacteristics#getPhysicalCameraIds()
android.hardware.camera2.CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_LOGICAL_MULTI_CAMERA
android.hardware.camera2.params.OutputConfiguration#setPhysicalCameraId()
Geç: Telefon döndürüldüğünde her kameradan alınan görüntüler arasındaki açı önemli ölçüde değişmez.
distorsiyonu_test_edin
Çeşitli yakınlaştırma düzeylerinde alınan her bir önizleme karesi boyunca distorsiyonun düzeltilip düzeltilmediğini test eder. Test, her önizleme karesi için kameranın iç ve dış özelliklerine göre ideal noktaları hesaplar. Örnek resimde ideal noktalar yeşil, gerçek noktalar ise kırmızı renkle gösterilmiştir. Bozulma hatası, gerçek noktalar ile ideal noktalar arasındaki karesi alınmış ortalama (RMS) piksel mesafesine göre hesaplanır. Resimdeki yeşil ve kırmızı vurgular, bozulma hatası alanını görsel olarak algılamak için kullanılır.
İdeal noktaları yeşil, gerçek noktaların kırmızı olduğu dama tahtası resmi
Test edilen API'ler:
android.hardware.camera2.CameraCharacteristics#CONTROL_ZOOM_RATIO_RANGE
android.hardware.camera2.CaptureRequest#CONTROL_ZOOM_RATIO
android.hardware.camera2.CameraCharacteristics#getPhysicalCameraIds()
android.media.CamcorderProfile
android.media.MediaRecorder
Geçti: Her önizleme karesinin normalleştirilmiş bozulma hatası, testte belirlenen eşiğin altındadır.
test_preview_stabilization
Sabitlenmiş önizleme videosunun jiroskoptan daha az döndüğünü test eder.
Test edilen API'ler:
android.hardware.camera2.CameraCharacteristics#SCALAR_AVAILABLE_CAPABILITIES_STREAM_USE_CASES
android.media.MediaRecorder
android.media.CamcorderProfile
Geçti: Kareler üzerinde maksimum açı döndürme, jiroskop dönüşünün% 70'inden azdır.
Aşağıda sabitleme içeren ve içermeyen örnek videolar verilmiştir.
Sabitleme içeren örnek video
Sabitlemesiz örnek video
test_sensörü_füzyonu
AR ve VR uygulamaları için kamera ile jiroskop arasındaki zaman damgası farkını test eder. Telefon, dama tahtası deseninin önünde 10 kez 90 derece döndürülür. Hareket, gidiş dönüş yaklaşık 2 saniye sürer. Jiroskop eklenmemişse veya zaman damgası kaynağı REALTIME
parametresi etkinleştirilmemişse bu test atlanır.
test_sensor_fusion
testi bir dizi grafik oluşturur. Hata ayıklama için en önemli iki nokta şunlardır:
test_sensor_fusion_gyro_events
: Test sırasında telefonun jiroskop etkinliklerini gösterir. X ve y yönünde hareket, telefonun montaj plakasına güvenli bir şekilde monte edilmediğini gösterir ve testin geçme olasılığını azaltır. Grafikteki döngü sayısı, çerçeveleri kaydetmek için kullanılan yazma hızına bağlıdır.test_sensor_fusion_gyro_events
test_sensor_fusion_plot_rotations
: Jiroskopun ve kamera etkinliklerinin hizalamasını gösterir. Bu nokta grafiği, kamera ile jiroskop arasındaki hareketin +/-1 ms'ye kadar eşleştiğini göstermelidir.test_sensor_fusion_plot_rotations
Test edilen API'ler:
android.hardware.camera2.CameraCharacteristics#LENS_FACING
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_TIMESTAMP_SOURCE
android.hardware.camera2.CameraMetadata#SENSOR_INFO_TIMESTAMP_SOURCE_REALTIME
android.hardware.camera2.CaptureRequest#CONTROL_AE_TARGET_FPS_RANGE
android.hardware.camera2.CaptureRequest#SENSOR_FRAME_DURATION
android.hardware.camera2.CaptureRequest#SENSOR_TIMESTAMP
android.hardware.camera2.CaptureResult#SENSOR_ROLLING_SHUTTER_SKEW
Geç: CDD bölüm 7.3.9 Yüksek Hassasiyetli Sensörler [C-2-14] uyarınca kamera ve jiroskop zaman damgalarının ofseti 1 ms'den azdır.
Başarısızlık mekanizmaları:
- Kaydırma hatası: Kamera-jiroskop ofseti, +/-1 ms. içinde olacak şekilde doğru şekilde kalibre edilmemiş.
- Kare düşmesi: Ardışık olarak 200 kare yakalamak için ardışık düzen yeterince hızlı değildir.
- Soket hataları:
adb
, testi yürütecek kadar uzun süre DUT'ya güvenilir bir şekilde bağlanamıyor. - Grafik düz bir şekilde monte edilmemiştir.
test_sensor_fusion_plot_rotations
grafiğinde, kamera düz olmayan grafik bölümlerinde dönerken jiroskop ve kamera dönüşümünün önemli ölçüde değiştiği kareler vardır. - Kamera düz bir şekilde monte edilmemiştir.
test_sensor_fusion_gyro_events
grafiği, X ve Y düzlemlerindeki hareketi gösteriyor. Arka kamera genellikle telefonun gövdesinin geri kalanına göre daha yüksek bir çıkıntıya sahip olduğundan ve telefonun arka tarafı montaj plakasına monte edilirken eğim oluşturduğundan bu arıza ön kameralarda daha yaygındır.
test_video_stabilization
Stabilize edilmiş videonun jiroskoptan daha az döndüğünü test eder.
Test edilen API'ler:
android.hardware.camera2.CameraCharacteristics#SCALAR_AVAILABLE_CAPABILITIES_STREAM_USE_CASES
android.media.MediaRecorder
android.media.CamcorderProfile
Geç: Kareler üzerindeki maksimum açı rotasyonu, jiroskop rotasyonunun% 60'ından azdır.
Aşağıda sabitleme içeren ve içermeyen örnek videolar verilmiştir.
Sabitleme içeren örnek video
Sabitleme içermeyen örnek video
feature_combination
feature_combination
testleri, aynı anda birden fazla kamera özelliği etkinleştirildiğinde özelliklerin doğru şekilde çalıştığını doğrular. Bu testlerde, sensör birleştirme sahnesinde kullanılan dama tahtası resmi kullanılır.
test_feature_combination
Kamera cihazı tarafından desteklenen farklı yayın kombinasyonlarının, önizleme sabitlemesinin, hedef FPS aralığının, 10 bit HDR videonun ve Ultra HDR'nin tüm kombinasyonlarını test eder. Bu test çok fazla bellek kullandığından en az 128 GB RAM'e sahip bir ana makine kullanmanızı öneririz.
Android 15 ve sonraki sürümlerde yapılandırma dosyası, varsayılan olarak False
olan bir log_feature_combo_support
alanı içerir. log_feature_combo_support
alanı True
olarak ayarlandığında test, desteklenen tüm özellik kombinasyonlarını çalıştırır ve sonuçları, testte başarısız olmadan bir proto dosyasına kaydeder. Uygunluk testi için log_feature_combo_support
alanı False
olarak ayarlanmalıdır.
Test edilen API'ler:
android.hardware.camera2.CameraDevice.CameraDeviceSetup#isSessionConfigurationSupported
android.hardware.camera2.CameraDevice.CameraDeviceSetup#createCaptureRequest
Geçir: Desteklenen her özellik kombinasyonu için:
- Önizleme sabitleme açıksa önizleme akışı sabitlenir.
- Önizleme kare hızı, yapılandırılan
AE_TARGET_FPS_RANGE
dahilinde. - Kaydedilen önizleme akışının renk alanı, ayarlanan alanla eşleşiyor.
- Ultra HDR çekimde geçerli bir kazanç haritası olmalıdır.