Android 14 ให้การสนับสนุนในการจับภาพที่บีบอัด Ultra HDR โดยใช้รูปแบบภาพ JPEG_R
รูปแบบนี้เข้ากันได้กับรูปภาพ SDR JPEG รุ่นเก่า และรองรับการเรนเดอร์เนื้อหา HDR สำหรับรายละเอียดเกี่ยวกับข้อกำหนดเฉพาะของรูปแบบ Ultra HDR โปรดดู รูปแบบภาพ Ultra HDR v1.0
การนำไปปฏิบัติ
เนื้อหาในส่วนนี้อธิบายวิธีการใช้คุณสมบัติ Ultra HDR
การดำเนินการอ้างอิง
เฟรมเวิร์กกล้อง AOSP และบริการกล้องมีการใช้งาน Ultra HDR อ้างอิง
นอกเหนือจากฟังก์ชันการอ้างอิงในเฟรมเวิร์กของกล้องแล้ว คุณยังสามารถใช้ Ultra HDR ภายใน HAL ของกล้องได้ และโฆษณาการรองรับเอาต์พุต JPEG_R
ในลักษณะเดียวกับสตรีมเอาต์พุต HAL ของกล้องอื่นๆ ในสถานการณ์นี้ กล้อง HAL จะต้องสร้างแผนที่การกู้คืนที่จำเป็นและภาพ JPEG_R
สุดท้ายตามที่กำหนดโดย ข้อกำหนด Ultra HDR คุณสามารถปรับให้เหมาะสมและปรับแต่งเอาต์พุตสุดท้ายได้ ขึ้นอยู่กับความสามารถของฮาร์ดแวร์อุปกรณ์และซอฟต์แวร์
ตัวเลือกการดำเนินงาน
ผู้ผลิตอุปกรณ์สามารถเลือกระดับการรองรับ Ultra HDR สำหรับอุปกรณ์ของตนได้ดังต่อไปนี้:
- น้อยที่สุด: ในการกำหนดค่านี้ เอาต์พุต Ultra HDR ผ่านฟังก์ชันสตรีมคอมโพสิตบริการกล้องจะถูกปิดใช้งานตามค่าเริ่มต้น หากต้องการเปิดใช้งานการใช้งานอ้างอิง
JpegRCompositeStream
ให้ตั้งค่าคุณสมบัติระบบro.camera.enableCompositeAPI0JpegR
เป็นtrue
เนื่องจากกระบวนการและการเข้ารหัสทั้งหมดดำเนินการในซอฟต์แวร์ ตัวเลือกนี้อาจส่งผลให้เวลาแฝงเพิ่มขึ้นและประสิทธิภาพลดลง - ปานกลาง: ด้วยตัวเลือกนี้ การใช้งาน
JpegRCompositeStream
จะใช้ไฟล์ SDR JPEG ที่ได้รับจาก HAL เป็นอิมเมจพื้นฐานและเฟรม P010 เพื่อคำนวณแมปการกู้คืน ตัวเลือกนี้เกี่ยวข้องกับการประมวลผลซอฟต์แวร์ภายในเส้นทางข้อมูล แต่ค่อนข้างน้อยเมื่อเทียบกับตัวเลือกขั้นต่ำ - กว้างขวาง: กล้อง HAL โฆษณาและรองรับสตรีมเอาท์พุต
JPEG_R
โดยตรง ตัวเลือกนี้ช่วยให้ผู้ผลิตอุปกรณ์ใช้การเพิ่มประสิทธิภาพเฉพาะอุปกรณ์และสามารถปรับปรุงคุณภาพของภาพได้อย่างมีนัยสำคัญ
หากต้องการปิดใช้งานการใช้งาน JpegRCompositeStream
ให้ตั้งค่าคุณสมบัติ ro.camera.disableJpegR
build เป็น true
หากไม่ได้ตั้งค่าคุณสมบัติบิลด์นี้หรือตั้งค่าเป็น false
ระบบจะเปิดใช้งาน Ultra HDR เป็นค่าเริ่มต้นผ่าน JpegRCompositeStream
บนอุปกรณ์ที่รองรับ ความสามารถในการเอาท์พุต 10 บิต และ การจับภาพ 10 และ 8 บิตพร้อมกัน
การตรวจสอบ
หากต้องการตรวจสอบคุณสมบัติ Ultra HDR บนอุปกรณ์ของคุณ ให้ทำการทดสอบต่อไปนี้
การทดสอบซีทีเอส
-
ImageReaderTest.java#testImageReaderBuilderWithBLOBAndJpegR
-
ImageReaderTest.java#testJpegR
-
ImageReaderTest.java#testJpegRDisplayP3
-
PerformanceTest.java#testSingleCapture
-
StillCaptureTest.java# testJpegRCapture
การทดสอบของมัน
การทดสอบด้วยตนเอง
หากต้องการดำเนินการทดสอบด้วยตนเอง ให้ใช้ ตัวอย่างการใช้งานสำหรับการจับภาพ Ultra HDR ซึ่งรวมถึงการสนับสนุนการกำหนดค่าและการจับภาพ Ultra HDR โดยใช้รูปแบบภาพ JPEG_R