Halaman ini menjelaskan persyaratan, konfigurasi, dan validasi fitur peredupan konten SDR untuk komposisi campuran SDR dan HDR.
Android 13 meningkatkan dukungan untuk menampilkan komposisi SDR dan HDR secara bersamaan di layar dengan memperkenalkan fitur berikut:
Pemetaan tone luminans HDR ke rentang yang kompatibel dengan SDR.
Dengan menggunakan
libtonemap
, pemetaan tone dapat dilakukan secara konsisten antara Hardware Composer (HWC), SurfaceFlinger, dan aplikasi. OEM dapat menerapkan kurva pemetaan tone mereka sendiri untuk dibagikan antara vendor dan komponen framework.Meredupkan konten SDR di layar saat ditampilkan secara bersamaan dengan konten HDR.
Saat konten HDR ditampilkan di layar, kecerahan layar ditingkatkan untuk mengakomodasi rentang luminans konten HDR yang ditingkatkan. Setiap konten SDR yang juga ada di layar akan diredupkan dengan lancar saat kecerahan layar meningkat sehingga kecerahan perseptual konten SDR tidak berubah. OEM dapat mengonfigurasi layar bawaan mereka untuk meredupkan konten SDR di layar saat ditampilkan bersama konten HDR.
Persyaratan OEM
Untuk menggunakan komposisi yang lebih baik untuk konten HDR dan SDR melalui peredupan konten SDR, ikuti persyaratan berikut:
Menerapkan HWC versi AIDL, yang mencakup dukungan untuk peredupan yang diakselerasi hardware dalam pipeline warna perangkat. Lihat AIDL untuk HWC guna menerapkan kemampuan yang diperlukan.
Merendupkan overlay hardware secara akurat di HWC memerlukan hardware tertentu untuk menskalakan cahaya linear overlay. Implementasi tanpa hardware yang memadai harus menunda komposisi ke GPU oleh SurfaceFlinger, sehingga menyebabkan baterai cepat habis dan peredupan berkualitas rendah.
Perangkat harus mendukung setidaknya satu teknologi HDR yang dilaporkan oleh
Display.getHdrCapabilities
.
Konfigurasi
Fitur komposisi konten SDR dan HDR campuran dapat dikonfigurasi sesuai dengan karakteristik perangkat layar bawaan, sehingga keseimbangan antara daya tahan baterai, burn-in, dan kesetiaan konten dapat ditentukan.
Pengaktifan dan penyesuaian komposisi yang ditingkatkan dilakukan melalui konfigurasi
tampilan yang skemanya berada di display-device-config.xsd
.
Elemen utama baru berikut penting dalam menyetel konfigurasi
tampilan:
Elemen
sdrHdrRatioMap
memungkinkan peredupan SDR dan menentukan tabel pencarian (LUT) untuk memetakan kecerahan layar untuk HDR yang akan ditampilkan ke titik putih SDR saat ada konten HDR di layar.Jika
sdrHdrRatioMap
ditentukan, maka sebagai bagian dari mengontrol kecerahan layar,DisplayManagerService
mengomunikasikan titik putih SDR yang diinginkan ke SurfaceFlinger sehingga SurfaceFlinger dapat mengirimkan rasio peredupan yang sesuai per lapisan ke HWC.Jika
sdrHdrRatioMap
tidak ditentukan, peredupan SDR tidak diaktifkan, meskipun implementasi HWC mendukung peredupan SDR.Elemen
minimumHdrPercentOfScreen
, dengan nilai yang berkisar dari 0 hingga 100, mengontrol kapan mode kecerahan tinggi panel diizinkan untuk diaktifkan. Dengan Android 13, nilai minimum ini dapat disesuaikan untuk mengaktifkan mode kecerahan tinggi dalam lebih banyak situasi, seperti skenario picture-in-picture. Versi AOSP sebelumnya telah menetapkan nilai ini ke 50%.
Lihat blok kode berikut untuk mengetahui elemen utama konfigurasi tampilan:
<displayConfiguration>
...
<highBrightnessMode>
...
<!--Percentage of the screen that must be covered by HDR layers until high brightness mode is enabled.
<minimumHdrPercentOfScreen>...</minimumHdrPercentOfScreen>
<!--sdrHdrRatioMap, backed by spline, must have at least two entries -->
<sdrHdrRatioMap>
<point>
<sdrNits>...</sdrNits>
<hdrRatio>...</hdrRatio>
</point>
<point>
<sdrNits>...</sdrNits>
<hdrRatio>...</hdrRatio>
</point>
<!--More interpolation points may be added –->
...
</sdrHdrRatioMap>
...
</highBrightnessMode>
...
</displayConfiguration>
Peringatan
Mengaktifkan fitur pemetaan tone dan peredupan konten SDR dapat menyebabkan situasi berikut:
Fidelitas konten HDR yang diputar di perangkat dapat meningkat, karena elemen konten SDR diredupkan.
Daya tahan baterai dapat berkurang dalam skenario berikut:
Implementasi HWC yang menunda operasi peredupan ke GPU dapat menyebabkan peningkatan penggunaan GPU.
Konfigurasi layar yang memungkinkan nilai minimum yang lebih rendah untuk mengaktifkan mode kecerahan tinggi dapat meningkatkan penggunaan daya untuk menjalankan layar pada kecerahan yang lebih tinggi.
Kesehatan layar dapat terpengaruh karena peningkatan waktu yang dihabiskan dalam mode kecerahan tinggi, yang dapat menyebabkan masalah jangka panjang seperti burn-in pada kesehatan layar.
Validasi
OEM dapat menggunakan pengujian VTS, yang disertakan sebagai bagian dari rangkaian pengujian HWC, untuk memeriksa kebenaran peredupan dan memvalidasi rasio peredupan input.
Validasi untuk fitur ini bergantung pada perangkat, sehingga tidak ada pengujian CTS atau GTS untuk mendukungnya.
OEM harus menjalankan pengujian manual untuk memvalidasi bahwa kualitas gambar elemen SDR yang diredupkan dapat diterima. OEM dapat memutar konten untuk standar HDR yang didukung perangkat melalui SurfaceView
untuk memvalidasi bahwa elemen SDR yang diputar bersama konten HDR tidak menjadi terlalu terang.
Masalah
Meredupkan gambar SDR dapat menyebabkan black crush, atau hilangnya informasi di area yang lebih gelap pada gambar asli. Hal ini disebabkan oleh nilai warna yang lebih gelap yang menyusut menjadi kumpulan kode gelap yang lebih kecil.
Penerapan peredupan yang menyebabkan black crush yang tidak dapat diterima harus menerapkan algoritma dithering, yang menyuntikkan derau ke dalam gambar akhir sehingga efek banding berkurang.
Implementasi HWC yang tidak dapat melakukan dithering gambar di lokasi yang sesuai dalam pipeline warna harus meminta SurfaceFlinger menerapkan peredupan dan dithering di GPU.
Implementasi juga dapat menyesuaikan nilai sdrHdrRatioMap
untuk membatasi
jumlah peredupan untuk elemen SDR. Meredupkan ke tingkat kecerahan yang sangat rendah
memerlukan penggunaan GPU, yang meningkatkan kualitas gambar, tetapi dapat mengurangi
masa pakai baterai.