التقاط صور HEIF

تتيح الأجهزة التي تعمل بنظام التشغيل 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 للكاميرا

اختبارات مراقبة الفيديو في الكاميرا