Output kamera 10 bit

Untuk perangkat yang menjalankan Android 13 dan yang lebih tinggi, Android mendukung output kamera 10-bit melalui profil rentang dinamis yang dapat dikonfigurasi oleh klien kamera sebagai bagian dari konfigurasi streaming. Produsen perangkat dapat menambahkan dukungan untuk profil rentang dinamis 10-bit seperti HLG10, HDR 10, HDR 10+, dan Dolby Vision.

Dukungan output kamera 10-bit memungkinkan klien kamera menemukan profil rentang dinamis 10-bit yang didukung perangkat dengan memanggil getSupportedProfiles. Framework kemudian menampilkan instance DynamicRangeProfiles, yang menyertakan informasi tentang profil rentang dinamis yang didukung dan, jika tersedia, tangkap batasan permintaan. Profil HLG10 harus didukung. Profil rentang dinamis yang direkomendasikan tercantum di kolom REQUEST_RECOMMENDED_TEN_BIT_DYNAMIC_RANGE_PROFILE.

Klien kamera dapat mengonfigurasi kombinasi streaming dengan memanggil setDynamicRangeProfile. Untuk informasi selengkapnya tentang kombinasi aliran output wajib, lihat tabel Konfigurasi tambahan yang dijamin untuk output 10-bit di Perekaman reguler.

Persyaratan

Untuk mendukung output kamera 10-bit, perangkat harus memiliki sensor kamera yang mampu 10-bit atau lebih tinggi dengan dukungan ISP masing-masing. Untuk detail tentang persyaratan kompatibilitas terkait untuk dukungan 10-bit, lihat bagian 7.5. Kamera di CDD.

Implementasi

Guna memberikan dukungan untuk output kamera 10-bit, produsen perangkat harus melakukan integrasi Camera AIDL HAL berikut:

  • Menyertakan ANDROID_REQUEST_AVAILABLE_CAPABILITIES_DYNAMIC_RANGE_TEN_BIT dalam kemampuan kamera.
  • Isi ANDROID_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP dengan semua profil rentang dinamis yang didukung dan bitmap batasannya. Profil HLG10 harus didukung. Anda juga harus menyertakan profil rentang dinamis yang direkomendasikan untuk memberi tahu klien kamera tentang format yang didukung secara optimal.
  • Pastikan dukungan untuk nilai profil rentang dinamis selama konfigurasi streaming untuk streaming yang menggunakan format P010 atau dukungan untuk format yang ditentukan implementasi (ImageFormat.PRIVATE).
  • Bergantung pada profil rentang dinamis, setel buffer metadata statis atau dinamis dari buffer Gralloc 4 yang diproses sebelum memberi tahu layanan kamera.

Untuk mengetahui detail selengkapnya tentang output kamera 10-bit di Camera HAL, lihat hal berikut di metadata_definitions.xml:

Untuk implementasi Camera HAL referensi yang mendukung output kamera 10-bit, lihat /hardware/google/camera/devices/EmulatedCamera/hwl.

Validasi

Untuk memvalidasi penerapan output kamera 10 bit dan memastikan bahwa aplikasi pihak ketiga dapat mengaktifkan fitur tersebut, sebaiknya lakukan tiga tahap validasi berikut.

Untuk validasi visual output kamera 10-bit, dianggap bahwa perangkat mendukung tampilan HDR (layar 1000+ nits), dan aplikasi untuk menonton video (misalnya, Google Foto) mendukung pemutaran video HDR.

Menguji kebenaran fungsi API

Untuk menguji ketepatan fungsi API output kamera 10-bit, jalankan pengujian CTS, ITS kamera, dan VTS berikut:

Membandingkan kamera native dan aplikasi pihak ketiga

Sebaiknya pastikan hasil pengambilan video 10-bit dengan aplikasi pihak ketiga serupa, jika tidak identik, dengan aplikasi kamera native. Artinya, pilihan penyesuaian, seperti eksposur, rentang dinamis, dan warna, harus dibawa dari aplikasi native ke aplikasi pihak ketiga. Untuk memverifikasi perilaku perekaman video aplikasi pihak ketiga yang mendukung output kamera 10-bit di perangkat Anda, gunakan aplikasi contoh Camera2Video di GitHub. Panduan berikut berfungsi untuk mengilustrasikan aspek yang terlihat dari HDR tanpa angka objektif, karena variabilitas sensor, panel, kondisi tampilan, dan preferensi vendor.

Adegan yang disarankan untuk perbandingan

Untuk membuat perbandingan antara aplikasi kamera native dan aplikasi pihak ketiga, rekam video menggunakan beberapa scene yang berbeda dengan aplikasi kamera native dan aplikasi contoh Camera2Video. Berikut adalah scene yang disarankan untuk digunakan untuk perbandingan:

  • Tampilan cahaya sedang hingga redup dengan objek terang, seperti lilin atau cahaya terang kecil yang menciptakan rentang kecerahan yang signifikan. Tindakan ini akan mengonfirmasi perilaku eksposur otomatis dan rentang dinamis.
  • Pemandangan luar ruangan yang cerah dengan warna-warna cerah dan objek reflektif seperti bumper krom pada mobil, yang menciptakan sorotan terang. Hal ini mengonfirmasi rendering untuk adegan cerah dengan sorotan yang lebih terang.
  • Adegan rentang dinamis rendah dan menengah seperti adegan alami dalam ruangan di rumah atau kantor. Hal ini mengonfirmasi bahwa kondisi pencahayaan yang tidak terlalu ekstrem berperilaku seperti yang diharapkan.

Untuk semua scene, sebaiknya gunakan orang dan wajah untuk memverifikasi penanganan eksposur, warna, dan warna kulit. Mengurangi variasi pengambilan gambar akan memudahkan perbandingan berturut-turut.

Membandingkan rentang dinamis standar dan rentang dinamis tinggi

Untuk memastikan bahwa ada manfaat yang dirasakan dari penggunaan profil rentang dinamis 10-bit dibandingkan profil rentang dinamis standar, bandingkan rekaman video menggunakan SDR (tanpa profil HDR) dengan video HDR untuk mengonfirmasi bahwa aspek utama HDR muncul dalam rekaman. Untuk membandingkan SDR dan HDR, gunakan aplikasi contoh Camera2Video dan adegan yang disarankan untuk membandingkan aplikasi kamera native dan aplikasi pihak ketiga.

Berikut adalah aspek utama yang perlu diverifikasi dalam scene yang disarankan. Panel layar yang mampu menampilkan HDR memiliki tingkat kecerahan yang bervariasi (diukur dalam nit atau lumen), sehingga angka berikut yang diberikan dimaksudkan sebagai contoh:

  • Pada pemandangan cahaya tengah hingga cahaya redup, sorotan terang lilin atau cahaya kecil dirender pada kecerahan maksimum untuk layar (mungkin hingga 1.000 nit) dalam klip HDR, dan dirender pada kecerahan maksimum untuk SDR (sekitar 100 nit) dalam klip SDR. Dalam klip HDR, sorotan cerah akan bersinar di luar layar, yang menangkap persepsi pengguna tentang rentang dinamis yang sebenarnya dari scene tersebut. Dibandingkan dengan klip HDR, klip SDDR akan terlihat lebih datar dan kurang terang.
  • Dalam tampilan output yang terang, bergantung pada penyesuaian perangkat, klip HDR menunjukkan perbedaan yang jelas pada kecerahan layar dibandingkan dengan klip SDR. Untuk klip HDR, kecerahan layar untuk keseluruhan scene (bergantung pada headroom) harus lebih tinggi, misalnya, hingga 800 nit, dan lebih tinggi lagi untuk sorotan terang seperti bumper krom, sekitar kecerahan maksimum.
  • Dalam perekaman dalam ruangan dengan rentang dinamis rendah dan menengah, klip HDR dan SDR memiliki warna dan tone yang serupa, dengan perekaman HDR berpotensi lebih terang daripada SDR. HDR tidak boleh lebih gelap daripada SDR. Jika pilihan penyesuaian membuat hal ini tidak mungkin, pastikan perilaku aplikasi pihak ketiga cocok dengan perilaku aplikasi kamera native.