تتيح الأجهزة التي تعمل بنظام التشغيل 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
لتخزين ملفَّات appencluding 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.
لمزيد من المعلومات، يُرجى الاطّلاع على المصادر التالية.
Camera HAL
مساحة بيانات مخزن الرسومات
مساحة استخدام المخزن المؤقت للرسومات
التحقُّق
للتأكّد من أنّ عملية التنفيذ متوافقة مع صور HEIC، استخدِم
TestingCamera2
التطبيق التجريبي ونفِّذ اختبارَي CTS وVTS للكاميرا التاليَين.
اختبارات مجموعة أدوات اختبار التوافق (CTS) للكاميرا
NativeImageReaderTest#testHeic
ImageReaderTest#testHeic
ImageReaderTest#testRepeatingHeic
ReprocessCaptureTest#testBasicYuvToHeicReprocessing
ReprocessCaptureTest#testBasicOpaqueToHeicReprocessing
RobustnessTest#testMandatoryOutputCombinations
StillCaptureTest#testHeicExif
اختبارات مراقبة الفيديو في الكاميرا