Android 13 ve sonraki sürümleri çalıştıran cihazlarda Android, yayın yapılandırmasının bir parçası olarak kamera istemcisi tarafından yapılandırılabilen dinamik aralık profilleri aracılığıyla 10 bit kamera çıkışını destekler. Cihaz üreticileri HLG10, HDR 10, HDR 10+ ve Dolby Vision gibi 10 bit dinamik aralık profilleri için destek ekleyebilir.
10 bit kamera çıkışı desteği, kamera istemcilerinin getSupportedProfiles
çağrısını yaparak bir cihazın desteklenen 10 bit dinamik aralık profillerini keşfetmesine olanak tanır.
Daha sonra çerçeve, desteklenen dinamik aralık profilleri ve varsa yakalama isteği kısıtlamaları hakkında bilgi içeren bir DynamicRangeProfiles
örneği döndürür. HLG10
profili desteklenmelidir. Önerilen dinamik aralık profili, REQUEST_RECOMMENDED_TEN_BIT_DYNAMIC_RANGE_PROFILE
alanında listelenir.
Kamera istemcileri, setDynamicRangeProfile
çağrısı yaparak yayın kombinasyonlarını yapılandırabilir.
Zorunlu çıkış akışı kombinasyonları hakkında daha fazla bilgi için Normal yakalama bölümündeki 10 bit çıkış ek garantili yapılandırmaları tablosuna bakın.
Şartlar
10 bit kamera çıkışını desteklemek için cihazda, ilgili ISP desteğine sahip 10 bit veya daha yüksek özellikli bir kamera sensörü bulunmalıdır. 10 bit desteğiyle ilgili uyumluluk koşulları hakkında ayrıntılı bilgi için 7.5 numaralı bölüme bakın. Kameralar'ı seçin.
Uygulama
10 bit kamera çıkışı için destek sağlamak amacıyla cihaz üreticilerinin aşağıdaki Camera AIDL HAL entegrasyonlarını gerçekleştirmesi gerekir:
- Kamera özelliklerine
ANDROID_REQUEST_AVAILABLE_CAPABILITIES_DYNAMIC_RANGE_TEN_BIT
ekleyin. ANDROID_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP
öğesini, desteklenen tüm dinamik aralık profilleriyle ve bu profillerin kısıtlamalarının bir bit haritasıyla doldurun.HLG10
profili desteklenmelidir. Kamera istemcilerini desteklenen en uygun biçim hakkında bilgilendirmek için önerilen bir dinamik aralık profili de eklemeniz gerekir.- P010 biçimini kullanan yayınlar için yayın yapılandırması sırasında dinamik aralık profili değerinin desteklenmesini veya uygulama tanımlı bir biçimin (
ImageFormat.PRIVATE
) desteklenmesini sağlayın. - Dinamik aralık profiline bağlı olarak, kamera hizmetini bilgilendirmeden önce işlenmiş Gralloc 4 arabelleklerinin statik veya dinamik meta veri arabelleğini ayarlayın.
Kamera HAL'indeki 10 bit kamera çıkışı hakkında daha fazla bilgi için metadata_definitions.xml
'da aşağıdakilere bakın:
DYNAMIC_RANGE_TEN_BIT
availableDynamicRangeProfilesMap
için HAL ayrıntılarırecommendedTenBitDynamicRangeProfile
10BIT_OUTPUT
10 bit kamera çıkışını destekleyen referans bir kamera donanım soyutlama katmanı uygulaması için /hardware/google/camera/devices/EmulatedCamera/hwl
bölümüne bakın.
Doğrulama
10 bit kamera çıkışı uygulamanızı doğrulamak ve üçüncü taraf uygulamalarının bu özelliği etkinleştirebildiğinden emin olmak için aşağıdaki üç doğrulama aşamasını uygulamanızı öneririz.
- API'nin işlevsel doğruluğunu test etme
- Yerleşik kamera ile üçüncü taraf uygulamayı karşılaştırma
- Standart dinamik aralık ile yüksek dinamik aralığı karşılaştırma
10 bit kamera çıkışının görsel olarak doğrulanması için cihazın HDR görüntülemeyi (1.000 nit'ten fazla ekran) desteklediği ve video görüntüleme uygulamasının (ör. Google Fotoğraflar) HDR video oynatmayı desteklediği varsayılır.
API'nin işlevsel doğruluğunu test etme
10 bit kamera çıkışının API işlevsel doğruluğunu test etmek için aşağıdaki CTS, kamera ITS ve VTS testlerini çalıştırın:
hardware/interfaces/camera/provider/aidl/vts/
: temel keşif, yapılandırma ve aktarma işlemlerini test eder ve gerektiğinde HDR meta verilerinin bulunup bulunmadığını kontrol eder.tests/camera/src/android/hardware/camera2/cts/
: Kameranın AOSP API özelliklerine göre davranmasını sağlar.cts/apps/CameraITS
: HDR profilleri kullanıldığında genel video davranışının tutarlı olduğunu doğrular. Söz konusu testtests/scene4/test_video_aspect_ratio_and_crop.py
.
Yerleşik kamera ile üçüncü taraf uygulamasını karşılaştırma
Üçüncü taraf uygulamasıyla 10 bit video çekmenin sonuçlarının, yerel kamera uygulamasıyla aynı olmasa da benzer olmasını önemle tavsiye ederiz. Bu, pozlama, dinamik aralık ve renk gibi ayar seçeneklerinin yerel uygulamadan üçüncü taraf uygulamalarına aktarılması gerektiği anlamına gelir. Cihazınızda 10 bit kamera çıkışını destekleyen bir üçüncü taraf uygulamasının video kaydı davranışını doğrulamak için GitHub'daki Camera2Video örnek uygulamasını kullanın. Aşağıdaki kılavuz, sensörler, paneller, görüntüleme koşulları ve tedarikçi tercihlerinin değişkenliği nedeniyle HDR'nin görünür yönlerini objektif sayılar olmadan açıklamaya yarar.
Karşılaştırma için önerilen sahneler
Yerleşik kamera uygulaması ile üçüncü taraf uygulama arasında karşılaştırma yapmak için hem yerleşik kamera uygulaması hem de Camera2Video örnek uygulamasıyla birkaç farklı sahne kullanarak videolar kaydedin. Karşılaştırma için kullanılabilecek önerilen sahneler şunlardır:
- Mum veya önemli bir parlaklık aralığı oluşturan küçük parlak ışık gibi parlak bir nesnenin bulunduğu orta ila düşük ışıklı bir sahne. Bu, otomatik pozlama davranışını ve dinamik aralığı onaylar.
- Canlı renklerin ve parlak vurgular oluşturan arabalardaki krom tamponlar gibi yansıtıcı nesnelerin yer aldığı parlak bir açık hava manzarası. Bu, parlak sahnelerin daha da parlak vurgularla oluşturulduğunu doğrular.
- Ev veya ofis gibi kapalı mekanlarda doğal ortamlar gibi orta aralıkta, düşük dinamik aralıklı bir sahne. Bu, daha az aşırı aydınlatma koşullarının beklendiği gibi davrandığını doğrular.
Tüm sahnelerde pozlama, renk ve cilt tonu işleme işlemlerini doğrulamak için insanlara ve yüzlere yer vermenizi öneririz. Çekimlerdeki varyasyonu azaltmak, art arda yapılan karşılaştırmaları kolaylaştırır.
Standart dinamik aralığı ile yüksek dinamik aralığı karşılaştırma
Standart dinamik aralık profiline kıyasla 10 bit dinamik aralık profili kullanmanın avantajlarından yararlanmak için SDR'yi (HDR profili yok) kullanan video kayıtlarını HDR videolarla karşılaştırın. Böylece, HDR'nin temel özelliklerinin kayıtlarda göründüğünü doğrulayabilirsiniz. SDR ve HDR'yi karşılaştırmak için Camera2Video örnek uygulamasını ve yerel kamera uygulamasını üçüncü taraf uygulamalarıyla karşılaştırmak için önerilen sahneleri kullanın.
Önerilen sahnelerde doğrulanması gereken temel unsurlar aşağıda verilmiştir. HDR'ye uygun ekran panelleri, parlaklık düzeyleri (nit veya lümen cinsinden ölçülür) açısından değişiklik gösterir. Bu nedenle, aşağıdaki sayılar örnek olarak verilmiştir:
- Orta ila düşük ışıklı sahnede, mumun veya küçük ışığın parlak vurguları HDR klibinde ekran için maksimum parlaklıkta (muhtemelen 1.000 nit'e kadar), SDR klibinde ise SDR için maksimum parlaklıkta (yaklaşık 100 nit) oluşturulur. HDR klibinde, parlak vurgular ekranda parlayarak kullanıcının sahnenin gerçek dinamik aralığıyla ilgili algısını yakalamalıdır. HDR klibe kıyasla SDR klibi daha düz ve daha az parlak görünür.
- Parlak çıkış sahnesinde, cihazın ayarına bağlı olarak HDR klibi, SDR klibine kıyasla ekran parlaklığında belirgin bir fark gösterir. HDR klibi için, genel sahnenin ekran parlaklığı (baş mesafesine bağlı olarak) daha yüksek olmalıdır (ör. 800 nit'e kadar) ve krom tamponlar gibi parlak vurgular için maksimum parlaklığa yakın olmalıdır.
- Orta sınıf, düşük dinamik aralıklı iç mekan çekimlerinde HDR ve SDR klipler renk ve ton açısından benzerdir. HDR çekim, SDR'den daha parlak olabilir. HDR, SDR'den daha koyu olmamalıdır. Ayar seçenekleri bunu imkansız hale getiriyorsa üçüncü taraf uygulama davranışının, yerel kamera uygulaması davranışıyla eşleştiğinden emin olun.