Yüksek dinamik aralıklı (HDR) videoların kullanıma sunulmasıyla birlikte akış hizmetleri, tam ekran deneyimlerine odaklanarak HDR video akışı yapmaya başladı. Sosyal medya uygulamaları kısa süre önce HDR video ve Ultra HDR desteğini kullanıma sundu. Bu durum, çeşitli uygulamalarda HDR'nin benimsenmesine yönelik ilginin arttığını gösteriyor.
HDR için Android desteği
Android'in HDR teknolojisi desteğiyle ilgili birkaç yıllık süreçteki önemli gelişmeler şunlardır:
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 tanıtıldı.
Android 14
- Ultra HDR ile HDR görüntü desteği.
HDR ile ekran görüntüsü desteği de yıllar içinde gelişti ve bir dizi değişikliğe uğradı.
HDR ekran görüntüsü özelliklerindeki gelişmeler
Bu bölümde, son Android güncellemelerinde HDR ekran görüntüsü özelliğinin gelişimi takip edilir.
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 işlenmesi, karmaşık bir polinom ton eşleyiciyle desteklenir. 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ğuna bir ton eşleme eklentisi eklenir. Bu eklenti, OEM'lerin ekranlarının ton eşleme eğrisine uygun bir GPU gölgelendirici sağlamasına olanak tanır. Ekran görüntüleri, ekrandaki içeriklerle 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, ekran görüntüsünde yakalanan tüm HDR videolar SDR videoya dönüştürülür.
Android 14
Ultra HDR, ekran görüntüsü alma konusunda önemli bir zorluk oluşturur. Videoların aksine, resimler genellikle iki temel sonucu olan kullanıcı arayüzü çerçeve arabelleğinde oluşturulur:
- Resimlerde, çevredeki kullanıcı arayüzünden farklı olan ton eşleme gibi görüntü işleme özellikleri bulunamaz.
- Uygulamalar, kullanıcı arayüzlerini oluştururken kaynağa dayalı ton eşlemeden sorumludur.
Bu zorluğu azaltmak için üç olası ekran görüntüsü alma uygulaması vardır:
- 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ş 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ıkları 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ında ekran görüntüsü kalitesinde önemli iyileştirmeler sunar:
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 1. şekil. 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üleri, oluşturma sırasında HDR gösterimini kurtarmak için ekran görüntüsü dosyasına bir kazanç haritası kaydeder. Ancak Ultra HDR'den farklı olarak, 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 ayrıntıları aşağıdaki gibidir:
- 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 gösterimi ile HDR gösterimi birleştirilerek 8 bitlik bir kazanç haritası oluşturulur.
- SDR temel oluşturma ve kazanç haritası tek bir PNG dosyası olarak kodlanır.
PNG kodlama ayrıntıları aşağıdaki gibidir:
- 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 işlemi, ISO 21496-1 meta verilerinin sürümünü içeren bir gmAP parçası içeren PNG resmi olarak kodlanır. Bu PNG resminde, kodlanmış kazanç haritası PNG'sinin tamamını içeren bir gdAT parçası da bulunur.
Aşağıdaki şekilde PNG parçalarının düzeni gösterilmektedir:
3.Şekil 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örüntüleyebilir.