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

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

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

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

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

שם הנתונים הסטטיסטיים של המקודד תיאור
QP ממוצע של בלוקים לכל מסגרת הממוצע של כל ה-QP של הבלוקים במסגרת הווידאו שמקודדים ל-bitstream
סוג תמונה סוג 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 מתארת את הרמה של נתונים סטטיסטיים של קידוד שנפלטים ממקודד הווידאו, באופן הבא:

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