นับตั้งแต่เปิดตัววิดีโอ High Dynamic Range (HDR) บริการสตรีมมิงก็เริ่มสตรีมวิดีโอ HDR โดยเน้นที่ประสบการณ์การรับชมแบบเต็มหน้าจอ เมื่อเร็วๆ นี้ แอปโซเชียลมีเดียได้เปิดตัวการรองรับวิดีโอ HDR และ Ultra HDR ซึ่งแสดงให้เห็นว่าผู้คนเริ่มให้ความสนใจในการใช้ HDR ในแอปต่างๆ มากขึ้น
การรองรับ HDR ของ Android
ต่อไปนี้คือเหตุการณ์สำคัญในการรองรับเทคโนโลยี HDR ของ Android ในช่วงหลายปีที่ผ่านมา
Android 7
- การรองรับเบื้องต้นสำหรับการถอดรหัสและการแสดงผลวิดีโอ HDR
- การพัฒนาความสามารถของ HDR อย่างต่อเนื่อง
Android 13
- การรองรับจากต้นทางถึงปลายทางสำหรับการจับภาพ การเข้ารหัส และการแสดงผลวิดีโอ HDR
- เปิดตัวการผสมองค์ประกอบ SDR และ HDR ซึ่งกำหนดช่วงความสว่างที่แสดงได้แตกต่างกันระหว่าง SDR และ HDR
Android 14
- รองรับรูปภาพ HDR ด้วย Ultra HDR
การรองรับภาพหน้าจอด้วย HDR ก็มีการพัฒนาและเปลี่ยนแปลงไปหลายอย่างเช่นกันในช่วงหลายปีที่ผ่านมา
ความก้าวหน้าของความสามารถในการจับภาพหน้าจอ HDR
ส่วนนี้จะติดตามความคืบหน้าของความสามารถในการจับภาพหน้าจอ HDR ในการอัปเดต Android ล่าสุด
Android 9
SurfaceFlinger ซึ่งเป็นโปรแกรมคอมโพสิตกราฟิกของ Android รองรับวิดีโอ HDR แล้ว GPU รองรับการแสดงผลวิดีโอและภาพหน้าจอ HDR ด้วยโปรแกรมแมปโทนสีเชิงพีชคณิตที่ซับซ้อน เส้นโค้งการปรับโทนสีนี้อาจไม่เท่ากับการปรับโทนสีของจอแสดงผลเสมอไป ดังนั้นภาพหน้าจอจึงแตกต่างจากเนื้อหาบนหน้าจอ
Android 13
ระบบจะเพิ่มปลั๊กอินการปรับโทนสีลงในบล็อกการแสดงผล GPU ของ SurfaceFlinger ซึ่งช่วยให้ OEM ระบุโปรแกรมเปลี่ยนสี GPU ให้ตรงกับเส้นโค้งการปรับโทนสีของจอแสดงผลได้ ภาพหน้าจอเกือบตรงกับสิ่งที่แสดงบนหน้าจอ แต่มีข้อแตกต่างดังนี้
- ภาพหน้าจอจะยังคงอยู่ในรูปแบบ SDR ดังนั้น เมื่อดูภาพหน้าจอควบคู่ไปกับฉาก HDR บริเวณ HDR ในภาพหน้าจอจะดูสลัวกว่า
- ระบบไม่ได้จัดการความสว่างของ SDR ส่งผลให้เนื้อหา SDR ในภาพหน้าจอดูสว่างเท่ากับเนื้อหา HDR
กล่าวคือ ระบบจะแปลงวิดีโอ HDR ที่บันทึกไว้ในภาพหน้าจอเป็นวิดีโอ SDR
Android 14
Ultra HDR เป็นปัญหาที่ท้าทายอย่างยิ่งสำหรับการจับภาพหน้าจอ โดยทั่วไปแล้ว รูปภาพจะแสดงผลภายในเฟรมบัฟเฟอร์ UI ซึ่งแตกต่างจากวิดีโอ โดยมีผลลัพธ์หลัก 2 อย่างดังนี้
- รูปภาพต้องไม่มีการประมวลผลรูปภาพ ซึ่งรวมถึงการปรับโทนสีที่แตกต่างจาก UI รอบๆ
- แอปมีหน้าที่รับผิดชอบในการแมปโทนสีตามแหล่งที่มาเมื่อแสดงผล UI
ในการลดความท้าทายนี้ การใช้งานภาพหน้าจอที่เป็นไปได้มี 3 วิธีดังนี้
- เก็บรายละเอียด HDR ของรูปภาพ Ultra HDR ไว้ ซึ่งส่งผลให้ UI ของแอปในภาพหน้าจอมืดลง
- เก็บรายละเอียด UI ของแอปไว้ ซึ่งทำให้รูปภาพ Ultra HDR มีการครอบตัด
- ประนีประนอมโดยการเพิ่มความสว่างให้กับ UI ของแอปขณะที่ตัดไฮไลต์ HDR
Android 14 ใช้แนวทางที่ 3 ซึ่งก็คือการเพิ่มความสว่างให้กับ UI ของแอปและการครอบตัดไฮไลต์ HDR
Android 15-QPR1
SurfaceFlinger มีอัลกอริทึมการปรับโทนสีในเครื่องสำหรับภาพหน้าจอ กระบวนการนี้เกี่ยวข้องกับขั้นตอนต่อไปนี้
- การแบ่งรูปภาพอินพุตออกเป็นรูปภาพขนาดเล็ก
- การคํานวณความสว่างสูงสุดในแต่ละรูปภาพ และทิ้งค่าความสว่างต่ำภายในแต่ละส่วน
- การปรับค่าความสว่างที่คำนวณแล้วผ่านการเบลอและการสุ่มตัวอย่างอีกครั้ง
- การใช้โทนแมปเปอร์ Reinhard ที่มีพารามิเตอร์กับรูปภาพอินพุต โดยอิงตามค่าความสว่างที่อัตราส่วน
อัลกอริทึมนี้แสดงการปรับปรุงภาพหน้าจอที่สำคัญระหว่าง Android 14 กับ Android 15-QPR1 ดังที่แสดงในตัวอย่างต่อไปนี้
ตัวอย่างที่ 1 คือภาพหน้าจอของวิดีโอ HDR ที่วางซ้อนอยู่ด้านบนหน้า Chrome ที่มี Ultra HDR สีของ UI ส่วนใหญ่จะยังคงเดิมในการใช้งานแบบใหม่ และรูปภาพจะไม่ถูกตัดอีกต่อไป
Android 14 Android 15-QPR1 รูปที่ 1 การเปรียบเทียบ Android 14 กับ Android 15-QPR1 สำหรับตัวอย่างที่ 1
ตัวอย่างที่ 2 คือภาพหน้าจอของวิดีโอ HDR ที่วางซ้อนอยู่ด้านบนการตั้งค่าพร้อมภาพหน้าจอที่ตามมา ใน Android 14 สีของภาพหน้าจอจะเข้มขึ้นเรื่อยๆ ใน Android 15-QPR1 เครื่องมือปรับโทนสีจะจำลองและรักษาสี UI ได้อย่างถูกต้อง
Android 14 Android 15-QPR1 รูปที่ 2 การเปรียบเทียบ Android 14 กับ Android 15-QPR1 สําหรับตัวอย่างที่ 2