Yüksek dinamik aralıklı (HDR) videoların kullanıma sunulmasının ardından, tam ekran deneyimlerine odaklanan yayın hizmetleri 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 ve 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şleyiciye 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'in 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, bir HDR sahnesiyle 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çerikler, HDR içerikler kadar parlak görünür.
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, ton eşleme de dahil olmak üzere, çevreleyen kullanıcı arayüzünden farklı bir görüntü işleme olmamalı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ğerlendirin:
- 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 olmak üzere üçü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 yapılır:
- Giriş görüntüsünü daha küçük görüntülere 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 parametreli bir Reinhard tonemapper'ı 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. örnekte, Ayarlar'ın üzerine yerleştirilmiş bir HDR videosunun ekran görüntüsü ve sonraki ekran görüntüleri yer alıyor. 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. Örnek 2 için Android 14 ve 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'nin aksine, ekran görüntüsü PNG ekran görüntülerini alan 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örüntülendiğ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
gmAPparçası içeren PNG resmi olarak kodlanır. - Standart dinamik aralık temel oluşturma, ISO 21496-1 meta verilerinin sürümünü içeren bir
gmAPparçası içeren PNG resmi olarak kodlanır. Bu PNG resminde, kodlanmış kazanç haritası PNG'sinin tamamını içeren birgdATparç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.