ייצא נתונים סטטיסטיים של קידוד וידאו

החל מאנדרואיד 13, לקוחות אפליקציה יכולים לבקש ממקודד הווידאו לייצא סטטיסטיקות קידוד עבור כל פריים וידאו מקודד. בעזרת הנתונים הסטטיסטיים המתקבלים ממקודד הווידאו, אפליקציות יכולות לייעל את משימות קידוד הווידאו שלהן, כגון קידוד רב-מעבר ועיבוד מקדים של פריימים לפני הקידוד.

כדי לייצא נתונים סטטיסטיים של קידוד וידאו, ספקי SoC חייבים לשנות את מנהל ההתקן של מקודד הווידאו כמתואר ב'עדכונים למנהל ההתקן של מקודד הווידאו .

נתונים סטטיסטיים של קידוד וידאו

עם אנדרואיד 13, מקודד הווידאו מייצא נתונים סטטיסטיים כפי שמוצג בטבלה הבאה.

שם הנתונים הסטטיסטיים של המקודד תיאור
QP בלוק ממוצע למסגרת הממוצע של כל ה-QP של הבלוקים במסגרת הווידאו המקודדים בזרם הסיביות
סוג תמונה סוג I או P או B

מפתחים יכולים לאחזר מידע סטטיסטי עבור כל מסגרת באמצעות מחלקת המפתחים MediaFormat .

עדכונים למנהל ההתקן של מקודד הווידאו

כדי לתמוך בייצוא של סטטיסטיקות קידוד וידאו, ספקי SoC חייבים לשנות את מנהל ההתקן של מקודד הווידאו. המפתחות הבאים מתווספים בבסיס Codec 2.0 באנדרואיד 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 מתאר את רמת המידע הסטטיסטי של הקידוד הנפלט ממקודד הווידאו, באופן הבא:

ראה 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);