تصوير 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) للأجهزة المقابلة على النحو التالي:

  • يستهلك برنامج ترميز نوع GRALLOC_USAGE_HW_VIDEO_ENCODER إما تنسيق 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 ​​وشرائح الصور المصغرة
  • تدفق IMPLEMENTATION_DEFINED أو YCBCR_420_888 بحجم تدفق HEIC اعتمادًا على برنامج الترميز المستهدف وحجم تدفق HEIC

استنادًا إلى ANDROID_HEIC_INFO_MAX_JPEG_APP_SEGMENTS_COUNT ، يخصص إطار عمل الكاميرا مخازن مؤقتة كبيرة بما يكفي للكاميرا HAL لملء مقاطع تطبيق JPEG. و APP1 مطلوب شريحة ولكن شرائح بعد APP1 شريحة ( APP2 وما فوق) اختيارية. يتجاوز إطار عمل الكاميرا علامات EXIF ​​في مقطع APP1 التي يمكن اشتقاقها من البيانات الوصفية لنتيجة الالتقاط أو تكون مرتبطة MediaMuxer البت للصورة الرئيسية وترسلها إلى MediaMuxer .

نظرًا لأن أداة تشفير الوسائط تقوم بتضمين الاتجاه في البيانات الوصفية للصور الناتجة ، لضمان اتجاه ثابت بين الصورة الرئيسية والصورة المصغرة ، يجب ألا تقوم HAL بالكاميرا بتدوير الصورة المصغرة بناءً على android.jpeg.orientation. يكتب الإطار الاتجاه في بيانات EXIF ​​الوصفية وحاوية HEIC.

تنطبق أيضًا علامات البيانات الوصفية الثابتة والتحكمية والديناميكية المتعلقة بتنسيق JPEG على تنسيق HEIC. على سبيل المثال، android.jpeg.orientation و android.jpeg.quality تستخدم العلامات الفوقية في طلب القبض على التحكم في التوجيه وجودة الصور HEIC.

لاستخدام تنسيق HEIC في تطبيق ما ، استخدم واجهة برمجة تطبيقات HEIC العامة .

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

كاميرا HAL

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

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

تصديق

للتحقق من أن تطبيقك يدعم صور HEIC ، استخدم تطبيق اختبار TestingCamera2 وقم بتشغيل اختبارات CTS و VTS التالية للكاميرا.

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

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