Yüksek dinamik aralıklı (HDR) videoların kullanıma sunulmasının ardından, yayın hizmetleri tam ekran deneyimlerine odaklanarak HDR videolar yayınlamaya başladı. Sosyal medya uygulamaları artık HDR video ve Ultra HDR'yi destekliyor. Bu da çeşitli uygulamalarda HDR kullanımına olan ilginin arttığını gösteriyor.
HDR için Android desteği
Android, HDR teknolojisini çeşitli aşamalarda desteklemiştir:
Android 7
- HDR video kod çözme ve görüntüleme için ilk destek.
- HDR özelliklerinde sürekli olarak iyileştirmeler yapılıyor.
Android 13
- HDR video çekimi, kodlama ve görüntüleme için uçtan uca destek.
- SDR ile HDR arasında farklı görüntülenebilir parlaklık aralıklarını tanımlayan Karışık SDR ve HDR kompozisyonu kullanıma sunuldu.
Android 14
- Ultra HDR ile HDR görüntü desteği.
HDR ekran görüntüsü desteği de gelişti ve değişti.
HDR ekran görüntüsü özelliklerindeki gelişmeler
Bu bölümde, Android güncellemelerinde HDR ekran görüntüsü özelliğinin gelişimi açıklanmaktadır.
Android 9
Android'in grafik birleştiricisi SurfaceFlinger, HDR video desteğini kullanıma sunuyor. HDR video ve ekran görüntülerinin GPU ile oluşturulmasında karmaşık bir polinom ton eşleyici kullanılır. Bu ton eşleme eğrisi her zaman ekran ton eşleyiciyle eşdeğer olmadığından ekran görüntüleri, ekrandaki içerikten farklıdır.
Android 13
SurfaceFlinger'ın GPU oluşturma bloğunda, OEM'nin ekranının ton eşleme eğrisine uygun bir GPU gölgelendirici sağlamasına olanak tanıyan bir ton eşleme eklentisi bulunur. Ekran görüntüleri, ekrandaki içerikle neredeyse aynıdır ancak aşağıdaki farklılıklar vardır:
- Ekran görüntüleri SDR biçiminde kalır. Bu nedenle, HDR sahneyle birlikte görüntülendiğinde ekran görüntüsündeki HDR bölgeleri daha soluk görünür.
- SDR parlaklığı yönetilmediği için ekran görüntüsündeki SDR içerik, HDR içerik kadar parlak görünüyor.
Diğer bir deyişle, sistem ekran görüntüsünde yakalanan tüm HDR videoları SDR videoya dönüştürür.
Android 14
Ultra HDR, ekran görüntüsü alma konusunda önemli bir zorluk oluşturur. Videolardan farklı olarak sistem, genellikle görüntüleri kullanıcı arayüzü çerçeve arabelleğinde oluşturur. Bunun iki temel sonucu vardır:
- Resimlerde, çevredeki kullanıcı arayüzünden farklı ton eşleme gibi görüntü işleme özellikleri bulunmamalıdır.
- Uygulamalar, kullanıcı arayüzlerini oluştururken kaynağa dayalı ton eşlemeden sorumludur.
Bu zorluğun üstesinden gelmek için üç olası ekran görüntüsü alma yöntemini değerlendirebilirsiniz:
- Ultra HDR görüntünün HDR ayrıntılarını korur. Bu nedenle, ekran görüntüsünde uygulama kullanıcı arayüzü koyulaşır.
- Uygulama kullanıcı arayüzü ayrıntılarını koruyarak Ultra HDR görüntü kırpılmasına neden oluyor.
- HDR vurgularını kırparak uygulama kullanıcı arayüzünü aydınlatma
Android 14, uygulama kullanıcı arayüzünü aydınlatma ve HDR vurgularını kırpma konusunda üçüncü yaklaşımı uygular.
Android 15-QPR1
SurfaceFlinger, ekran görüntüleri için yerel bir ton eşleme algoritması içerir. Bu süreçte şunlar yer alır:
- Giriş resmini daha küçük resimlere bölme
- Her resimdeki maksimum parlaklığı hesaplayıp her bölümdeki düşük parlaklık değerlerini atar.
- Hesaplanan parlaklık değerlerini bulanıklaştırma ve yeniden örnekleme yoluyla enterpolasyon yapma.
- Enterpolasyonlu parlaklık değerlerine göre, giriş resmine parametrelendirilmiş bir Reinhard ton eşleyici uygulama.
Bu algoritma, aşağıdaki örneklerde gösterildiği gibi Android 14 ile Android 15-QPR1 arasındaki ekran görüntülerini önemli ölçüde iyileştirir:
1. örnek, Ultra HDR içeren bir Chrome sayfasının üzerine yerleştirilmiş bir HDR videosunun ekran görüntüsüdür. Kullanıcı arayüzü renkleri yeni uygulamada büyük ölçüde korunur ve resim artık kırpılmaz.
Android 14 Android 15-QPR1 Şekil 1. 1. örnek için Android 14 ile Android 15-QPR1 karşılaştırması.
2. örnek, Ayarlar'ın üzerine yerleştirilmiş bir HDR videosunun ekran görüntüsünü ve sonraki ekran görüntülerini gösterir. Android 14'te ekran görüntüsü renkleri giderek koyulaşıyor. Android 15-QPR1'de ton eşleyici, kullanıcı arayüzü renklerini doğru şekilde kopyalayıp korur.
Android 14 Android 15-QPR1 Şekil 2. 2. örnek için Android 14 ile Android 15-QPR1 karşılaştırması.
Android 16
Ultra HDR'ye benzer şekilde, HDR ekran görüntülerinde oluşturma sırasında HDR gösterimini kurtarmak için ekran görüntüsü dosyasına bir kazanç haritası kaydedilir. Ancak Ultra HDR'den farklı olarak, ekran görüntüsü PNG ekran görüntülerini kullanan sistemlerle geriye dönük uyumluluk için PNG biçiminde kalır.
Ekran görüntüsü oluşturma işlemi şunları içerir:
- Cihazda HDR içerik gösterildiğinde, FP16 pikselleri kullanılarak ekran görüntüsü oluşturulur.
- Android 15-QPR1'de açıklanan yerel ton eşleyici, 8 bitlik temel SDR oluşturma işlemi yapar.
- SDR temel oluşturma ile HDR oluşturma birleştirilerek 8 bitlik bir kazanç haritası oluşturulur.
- SDR temel oluşturma ve kazanç haritası tek bir PNG dosyası olarak kodlanır.
PNG kodlaması şunları içerir:
- Kazanç haritası, kazanç haritası için ISO 21496-1 meta verilerini içeren bir
gmAP
parçası içeren PNG resmi olarak kodlanır. - SDR temel oluşturma, ISO 21496-1 meta verilerinin sürümünü içeren bir
gmAP
chunk'ı içeren PNG resmi olarak kodlanır. Bu PNG resminde, kodlanmış kazanç haritası PNG'sinin tamamını içeren birgdAT
parçası da bulunur.
Aşağıdaki şekilde PNG parçalarının düzeni gösterilmektedir:
Şekil 3. PNG parçalarının düzeni.
Android 16 ile PNG codec'i, bu PNG'lerin hem kodlanmasını hem de kodunun çözülmesini destekler. Uygulamalar, Ultra HDR ile aynı şekilde gainmap içeren bir PNG gösterebilir.