التقاط صور HEIF

تتوافق الأجهزة التي تعمل بنظام Android 10 مع تنسيق صور HEIC المضغوط، وهو علامة تجارية معيّنة من تنسيق ملفات الصور عالية الكفاءة (HEIF) لترميز الفيديو عالي الكفاءة (HEVC) كما هو محدّد في معيار 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 على "صحيح" وANDROID_HEIC_INFO_MAX_JPEG_APP_SEGMENTS_COUNT على قيمة بين [1, 16]، ما يشير إلى عدد مقاطع تطبيق JPEG.

بالنسبة إلى كل مجموعة من مجموعات البث الإلزامية، يجب أن يدعم جهاز الكاميرا استبدال بث JPEG ببث HEIC بنفس الحجم.

بالنسبة إلى بث إخراج HEIC في واجهة برمجة التطبيقات العلنية، تنشئ خدمة الكاميرا بثَين داخليَين لطبقة تجريد الأجهزة (HAL):

  • بث BLOB مع علامة استخدام JPEG_APPS_SEGMENT لتخزين مقاطع التطبيق، بما في ذلك مقاطع 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 public API.

لمزيد من المعلومات، يُرجى الاطّلاع على المصادر التالية.

طبقة تجريد الأجهزة (HAL) للكاميرا

مساحة بيانات المخزن المؤقت للرسومات

مساحة استخدام المخزن المؤقت للرسومات

التحقق من صحة البيانات

للتحقق من أنّ عملية التنفيذ تدعم صور HEIC، استخدِم الـ TestingCamera2 تطبيق الاختبار ونفِّذ اختبارات CTS وVTS التالية للكاميرا.

اختبارات CTS للكاميرا

اختبارات VTS للكاميرا