อุปกรณ์ที่ใช้ Android 10 รองรับ HEIC รูปแบบรูปภาพที่บีบอัด สูง แบรนด์เฉพาะการเข้ารหัสวิดีโอที่มีประสิทธิภาพ (HEVC) ของรูปภาพประสิทธิภาพสูง รูปแบบไฟล์ (HEIF) ตามที่ระบุไว้ใน ISO/IEC 23008-12 ข้อเสนอรูปภาพที่เข้ารหัส HEIC คุณภาพรูปภาพดีขึ้นด้วยขนาดไฟล์ที่เล็กลงเมื่อเทียบกับไฟล์ JPEG
อิมเมจ HEIC สร้างขึ้นโดยเฟรมเวิร์กกล้องที่ขอไฟล์ที่ไม่มีการบีบอัด รูปภาพจาก กล้อง HAL แล้วส่งไปยังระบบย่อยของสื่อเพื่อ ต้องเข้ารหัสโดยโปรแกรมเปลี่ยนไฟล์ HEIC หรือ HEVC
ข้อกำหนด
หากต้องการรองรับรูปแบบรูปภาพ HEIC อุปกรณ์ต้องมีฮาร์ดแวร์เปลี่ยนไฟล์
สนับสนุน
MIMETYPE_IMAGE_ANDROID_HEIC
หรือ
MIMETYPE_VIDEO_HEVC
พร้อมด้วย
โหมดคุณภาพคงที่
การใช้งาน
ใช้ตัวแปลงรหัส HEIC/HEVC เพื่อรองรับรูปแบบอิมเมจ HEIC บนอุปกรณ์
และให้การสนับสนุนสำหรับการกำหนดค่าสตรีมที่จำเป็น ซึ่งได้แก่
สตรีม IMPLEMENTATION_DEFINED
/YUV
รายการและสตรีมกลุ่มในแอป JPEG
สื่อ
ใช้ตัวแปลงรหัส HEIC/HEVC ในโหมดคุณภาพคงที่ (CQ) สำหรับ ฮาร์ดแวร์ที่เกี่ยวข้องดังนี้
- ตัวแปลงรหัสประเภท HEVC จะใช้
IMPLEMENTATION_DEFINED
ที่มีการใช้GRALLOC_USAGE_HW_VIDEO_ENCODER
หรือ รูปแบบHAL_PIXEL_FORMAT_YCBCR_420_888
ขึ้นอยู่กับขนาดรูปภาพ - ตัวแปลงรหัสประเภท HEIC จะใช้รูปแบบ
IMPLEMENTATION_DEFINED
ที่มี การใช้งานGRALLOC_USAGE_HW_IMAGE_ENCODER
กล้อง
ในข้อมูลเมตาแบบคงที่ ให้ตั้งค่า ANDROID_HEIC_INFO_SUPPORTED
เป็น true และ
ANDROID_HEIC_INFO_MAX_JPEG_APP_SEGMENTS_COUNT
เป็นค่าระหว่าง [1, 16]
ซึ่งระบุจำนวนกลุ่มแอป JPEG
สำหรับชุดค่าผสมของสตรีมที่จำเป็นแต่ละรายการ อุปกรณ์กล้องต้องรองรับการสลับ สตรีม JPEG ที่มีสตรีม HEIC ขนาดเดียวกัน
สำหรับสตรีมเอาต์พุต HEIC ที่ API สาธารณะ บริการของกล้องจะสร้าง HAL 2 รายการ สตรีมภายใน:
- สตรีม BLOB ที่มีแฟล็กการใช้งาน
JPEG_APPS_SEGMENT
ไปยังแอป Store กลุ่มที่รวม EXIF และกลุ่มภาพขนาดย่อ IMPLEMENTATION_DEFINED
หรือYCBCR_420_888
จะสตรีมขนาด สตรีม HEIC ขึ้นอยู่กับตัวแปลงรหัสเป้าหมายและขนาดสตรีม HEIC
เฟรมเวิร์กของกล้องจาก ANDROID_HEIC_INFO_MAX_JPEG_APP_SEGMENTS_COUNT
จัดสรรบัฟเฟอร์ที่ใหญ่พอสำหรับ HAL ของกล้องเพื่อสร้างแอป JPEG
กลุ่ม ต้องมีกลุ่ม APP1
แต่กลุ่มที่อยู่หลัง APP1
กลุ่ม (APP2
ขึ้นไป) เป็นตัวเลือกที่ไม่บังคับ เฟรมเวิร์กกล้องจะลบล้าง EXIF
แท็กในกลุ่ม APP1
ที่ได้มาจากข้อมูลเมตาของผลการบันทึก
หรือเกี่ยวข้องกับบิตสตรีมของภาพหลักแล้วส่งไปยัง MediaMuxer
เนื่องจากโปรแกรมเปลี่ยนไฟล์สื่อมีการวางแนวในข้อมูลเมตาของเอาต์พุต
รูปภาพ เพื่อให้การวางแนวระหว่างรูปภาพหลักและภาพขนาดย่อสอดคล้องกัน
HAL ของกล้องต้องไม่หมุนรูปภาพขนาดย่อตาม
android.jpeg.orientation.
เฟรมเวิร์กจะเขียนการวางแนวลงใน EXIF
ข้อมูลเมตาและคอนเทนเนอร์ HEIC
นอกจากนี้ แท็กข้อมูลเมตาแบบคงที่ การควบคุม และข้อมูลเมตาแบบไดนามิกที่เกี่ยวข้องกับรูปแบบ JPEG
ใช้กับรูปแบบ HEIC ตัวอย่างเช่น android.jpeg.orientation
และ
มีการใช้แท็กข้อมูลเมตา android.jpeg.quality
รายการในคำขอบันทึกเพื่อควบคุม
การวางแนวและคุณภาพของรูปภาพ HEIC
หากต้องการใช้รูปแบบ HEIC ในแอป ให้ใช้ HEIC สาธารณะ
ดูข้อมูลเพิ่มเติมได้ในแหล่งที่มาต่อไปนี้
HAL ของกล้อง
พื้นที่เก็บข้อมูลบัฟเฟอร์กราฟิก
พื้นที่การใช้บัฟเฟอร์กราฟิก
การตรวจสอบความถูกต้อง
หากต้องการตรวจสอบว่าการใช้งานของคุณรองรับอิมเมจ HEIC ให้ใช้
TestingCamera2
แอปทดสอบและเรียกใช้การทดสอบ CTS และ VTS ของกล้องดังต่อไปนี้
การทดสอบ CTS ในกล้อง
NativeImageReaderTest#testHeic
ImageReaderTest#testHeic
ImageReaderTest#testRepeatingHeic
ReprocessCaptureTest#testBasicYuvToHeicReprocessing
ReprocessCaptureTest#testBasicOpaqueToHeicReprocessing
RobustnessTest#testMandatoryOutputCombinations
StillCaptureTest#testHeicExif
การทดสอบ VTS ของกล้อง