تتيح الأجهزة التي تعمل بنظام التشغيل Android 10 استخدام تنسيق الصور المضغوط HEIC، وهو علامة تجارية خاصة بترميز الفيديو بكفاءة عالية (HEVC) لتنسيق ملفات الصور المتوافقة مع معايير HEIF كما هو محدّد في ISO/IEC 23008-12. توفّر الصور بترميز HEIC جودة صورة أفضل بأحجام ملفات أصغر مقارنةً بملفات JPEG.
يتم إنشاء صور HEIC من خلال إطار عمل الكاميرا الذي يطلب صورة غير مضغوطة من HAL للكاميرا ويرسلها إلى النظام الفرعي للوسائط ليقوم بتشفيرها باستخدام برنامج ترميز HEIC أو HEVC.
المتطلبات
لإتاحة تنسيق صورة HEIC، يجب أن يحتوي جهازك على برنامج ترميز متوافق مع
MIMETYPE_IMAGE_ANDROID_HEIC
أو
MIMETYPE_VIDEO_HEVC
وضع الجودة الثابتة.
التنفيذ
لتفعيل تنسيق الصور HEIC على جهازك، عليك استخدام برنامج ترميز HEIC/HEVC
وتوفير التوافق مع إعدادات البث المطلوبة، وهي مجرى بث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 في واجهة برمجة التطبيقات العامة، تنشئ خدمة الكاميرا مجرىَين داخليَين لـ HAL:
- بث BLOB يتضمّن علامة استخدام
JPEG_APPS_SEGMENT
لتخزين ملف EXIF وملف thumbnail - نوع بث
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.
لمزيد من المعلومات، يُرجى الاطّلاع على المصادر التالية.
Camera HAL
مساحة بيانات مخزن الرسومات
مساحة استخدام المخزن المؤقت للرسومات
التحقُّق
للتحقّق من أنّ عملية التنفيذ تتوافق مع صور HEIC، استخدِم تطبيق
TestingCamera2
التجريبي وأجرِ اختبارات CTS وVTS الكاميرا التالية.
اختبارات CTS للكاميرا
NativeImageReaderTest#testHeic
ImageReaderTest#testHeic
ImageReaderTest#testRepeatingHeic
ReprocessCaptureTest#testBasicYuvToHeicReprocessing
ReprocessCaptureTest#testBasicOpaqueToHeicReprocessing
RobustnessTest#testMandatoryOutputCombinations
StillCaptureTest#testHeicExif
اختبارات مراقبة الفيديو في الكاميرا