بدءًا من Android 13 ، يمكن لعملاء التطبيق أن يطلبوا من برنامج تشفير الفيديو تصدير إحصائيات الترميز لكل إطار فيديو مشفر. من خلال الإحصائيات التي تم الحصول عليها من برنامج تشفير الفيديو ، يمكن للتطبيقات تحسين مهام تشفير الفيديو الخاصة بها مثل ترميز متعدد المسارات والمعالجة المسبقة للإطار قبل التشفير.
لتصدير إحصائيات ترميز الفيديو ، يجب على بائعي SoC تغيير برنامج تشغيل مشفر الفيديو كما هو موضح في تحديثات برنامج تشغيل برنامج تشفير الفيديو .
بيانات إحصائيات ترميز الفيديو
باستخدام Android 13 ، يقوم برنامج تشفير الفيديو بتصدير بيانات الإحصائيات كما هو موضح في الجدول التالي.
اسم إحصائيات المشفر | وصف |
---|---|
متوسط كتلة QP لكل إطار | متوسط كل QPs للكتل في إطار الفيديو المشفرة في تدفق البتات |
نوع الصورة | اكتب I أو P أو B. |
يمكن للمطورين استرداد معلومات الإحصائيات لكل إطار باستخدام فئة مطور MediaFormat
.
تحديثات لبرنامج تشغيل برنامج تشفير الفيديو
لدعم تصدير إحصائيات ترميز الفيديو ، يجب على بائعي SoC تغيير برنامج تشغيل برنامج ترميز الفيديو. تمت إضافة المفاتيح التالية في قاعدة Codec 2.0 في Android 13:
يصف
KEY_VIDEO_QP_AVERAGE
لكل رتل QP.تنطبق القواعد التالية على تنفيذ مفتاح
KEY_VIDEO_QP_AVERAGE
:يجب أن يقوم مشفر SoC بتقريب متوسط QPs للكتلة إلى أقرب عدد صحيح قبل الإرسال إلى Codec 2.0.
يتم حساب متوسط القيمة فقط من مستوى luma.
يجب أن يقوم مشفر 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 للتحقق من أن متوسط جزء QP من إحصائيات ترميز الفيديو يعمل بشكل صحيح: تقوم 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);