بدءًا من نظام التشغيل Android 13، يمكن لعملاء التطبيقات طلب برنامج ترميز الفيديو لتصدير إحصاءات الترميز لكل إطار فيديو تم ترميزه. باستخدام الإحصاءات التي يتم الحصول عليها من برنامج ترميز الفيديو، يمكن للتطبيقات تحسين مهام ترميز الفيديو، مثل الترميز المتعدد المراحل والمعالجة المسبقة للإطارات قبل الترميز.
لتصدير إحصاءات ترميز الفيديو، على مورّدي منظومة على رقاقة (SoC) تغيير برنامج تشغيل برنامج ترميز الفيديو على النحو الموضّح في تعديلات على برنامج تشغيل برنامج ترميز الفيديو.
بيانات إحصاءات ترميز الفيديو
في نظام التشغيل Android 13، يصدّر برنامج ترميز الفيديو بيانات الإحصاءات كما هو موضّح في الجدول التالي.
| اسم إحصاءات برنامج الترميز | الوصف |
|---|---|
| متوسط عدد وحدات البكسل في كل إطار | متوسط جميع معامِلات QP للكتل في إطار الفيديو التي تم ترميزها في دفق البتات |
| نوع الصورة | اكتب I أو P أو B |
يمكن للمطوّرين استرداد معلومات الإحصاءات لكل إطار باستخدام فئة المطوّرين
MediaFormat.
تعديلات على برنامج تشغيل ترميز الفيديو
لإتاحة تصدير إحصاءات ترميز الفيديو، على مورّدي منظومة على رقاقة (SoC) تغيير برنامج تشغيل برنامج ترميز الفيديو. تتم إضافة المفاتيح التالية في قاعدة بيانات Codec 2.0 في Android 13:
يمثّل
KEY_VIDEO_QP_AVERAGEمتوسط QP لكل إطار.تنطبق القواعد التالية على تنفيذ مفتاح
KEY_VIDEO_QP_AVERAGE:يجب أن يقرِّب برنامج الترميز SoC متوسط قيم QP للكتل إلى أقرب عدد صحيح قبل إرساله إلى Codec 2.0.
يتم احتساب متوسط القيمة من مستوى الإضاءة فقط.
يجب أن يعرض برنامج الترميز SoC القيمة
INT_MAXإذا كانت جميع الوحدات في الإطار الحالي في وضع التخطّي. يحدث هذا الشرط عندما لا يتم ترميز أي معاملات ولا يتم ترميز أي معلومات QP مهمة في الإطار.
تصف
KEY_PICTURE_TYPEنوع صورة الإطار المرمّز على أنّهPICTURE_TYPE_IأوPICTURE_TYPE_PأوPICTURE_TYPE_BأوPICTURE_TYPE_UNKNOWN.توضّح
KEY_VIDEO_ENCODING_STATISTICS_LEVELمستوى معلومات إحصاءات الترميز الصادرة من أداة ترميز الفيديو، وذلك على النحو التالي:عندما لا يقدّم برنامج الترميز أي معلومات حول إحصاءات الترميز، يتم ضبط قيمة هذا المفتاح على
VIDEO_ENCODING_STATISTICS_LEVEL_NONE.عندما ينشئ برنامج الترميز
KEY_VIDEO_QP_AVERAGEوKEY_PICTURE_TYPEلكل إطار، يتم ضبط هذا المفتاح علىVIDEO_ENCODING_STATISTICS_LEVEL_1.
راجِع VideoEncodingStatisticsTest
للحصول على مثال على التنفيذ.
التحقق من صحة البيانات
أجرِ اختبار VideoEncodingStatisticsTest
CTS للتأكّد من أنّ الجزء المتعلّق بمتوسط جودة الفيديو من إحصاءات ترميز الفيديو يعمل بشكل صحيح: يجري اختبار CTS عمليتَي ترميز للفيديو نفسه، إحداهما بمعدّل نقل بيانات أعلى والأخرى بمعدّل نقل بيانات أقل. بعد ذلك، يقارن نظام CTS بين متوسطَي قيمتَي QP اللتين تم تصديرهما من الترميزَين. إذا كان متوسط QP من الترميز بمعدل بت أقل أعلى من متوسط QP من الترميز بمعدل بت أعلى، يجتاز اختبار CTS.
للتحقّق من إيقاف ميزة تصدير إحصاءات ترميز الفيديو عند تفعيلها، استخدِم المفتاح VIDEO_ENCODING_STATISTICS_LEVEL_NONE على النحو التالي:
format.setInteger(MediaFormat.KEY_VIDEO_ENCODING_STATISTICS_LEVEL, MediaFormat.VIDEO_ENCODING_STATISTICS_LEVEL_NONE);