Yüksek dinamik aralıklı (HDR) videonun kullanıma sunulmasının ardından, tam ekran deneyimlerine odaklanan akış hizmetleri HDR video 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.
Android'de HDR 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 Karma 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ğu, OEM'in ekranının ton eşleme eğrisine uyması için bir GPU gölgelendirici sağlamasına olanak tanıyan bir ton eşleme eklentisi içerir. 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ölgeler daha sönük 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üyor.
Başka 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. Videoların aksine, sistem genellikle görüntüleri kullanıcı arayüzü çerçeve arabelleğinde oluşturur. Bunun iki ana 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 resmin HDR ayrıntıları korunur. Bu nedenle, ekran görüntüsündeki 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 olur.
- HDR vurgularını kırparak uygulama kullanıcı arayüzünü parlaklaştırır.
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 yer alır:
- Giriş görüntüsünü daha küçük görüntülere bölme.
- Her görüntüdeki maksimum parlaklığı hesaplar ve her bölümdeki düşük parlaklık değerlerini atar.
- Hesaplanan parlaklıkları bulanıklaştırma ve yeniden örnekleme yoluyla enterpolasyon yapma.
- Enterpolasyonlu parlaklık değerlerine göre giriş görüntüsüne parametreleştirilmiş 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 ve 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ında bir kazanç haritası saklanır. Ancak Ultra HDR'nin aksine, PNG ekran görüntülerini alan sistemlerle geriye dönük uyumluluk için ekran görüntüsü 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 bir temel SDR yorumu oluşturur.
- SDR temel oluşturma ile HDR oluşturma birleştirilerek 8 bitlik bir kazanç haritası oluşturulur.
- SDR tabanlı görüntü ve kazanç haritası tek bir PNG dosyasında 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. - SDR temel oluşturma,
gmAPchunk'ı içeren bir PNG resmi olarak kodlanır. Bu chunk, ISO 21496-1 meta verilerinin sürümünü içerir. 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.