הפעלת סרטון HDR

סרטונים בטווח דינמי גבוה (HDR) הם הדור הבא של סרטונים באיכות גבוהה של פענוח קוד שמניבים איכויות שונות של שחזור סצנות. כן כך שבאמצעות הגדלה משמעותית של הטווח הדינמי של רכיב ההארה (מ-100 cd/m2 ל-1,000s של cd/m2) ובאמצעות שימוש מרחב צבעים (BT 2020). האתר הזה הוא עכשיו אלמנט מרכזי באבולוציה של איכות 4K UHD בעולם הטלוויזיה.

מערכת Android 10 תומכת בסרטוני HDR הבאים.

  • HDR10
  • VP9
  • HDR10+‎

החל מ-Android 9 ואילך, MediaCodec מדווח על מטא-נתונים של HDR ללא קשר למצב המנהור. אפשר לקבל נתונים מפוענחים יחד עם מטא-נתונים סטטיים ודינמיים במצב ללא מנהור. ל-HDR10 ו-VP9Profile2 שמשתמשים במטא-נתונים סטטיים, הם מדווחים בפורמט הפלט עם מפתח KEY_HDR_STATIC_INFO עבור HDR10+ שמתבסס על מטא-נתונים דינמיים, הדיווח הוא באמצעות מקש KEY_HDR10_PLUS_INFO בפורמט הפלט, ועשוי להשתנות בכל מסגרת פלט. מידע נוסף זמין במאמר מנהור מולטימדיה.

החל מ-Android 7.0, התמיכה הראשונית ב-HDR כוללת את יצירת קבועים מתאימים לגילוי ולהגדרה של סרטוני HDR צינורות עיבוד נתונים. כלומר, הגדרה של סוגי קודק ומצבי תצוגה וציון האופן שבו צריך להעביר נתוני HDR אל MediaCodec ולצרף אותם למפענחי HDR.

מטרת המסמך הזה היא לעזור למפתחי אפליקציות לתמוך בשידורי HDR הפעלה, ועזרה ליצרני ציוד מקורי (OEM) ול-SOCs להפעיל את תכונות HDR.

טכנולוגיות HDR נתמכות

החל מ-Android 7.0 ואילך, יש תמיכה בטכנולוגיות ה-HDR הבאות.

טכנולוגיה Dolby-Vision HDR10 VP9-HLG VP9-PQ
קודק AVC/HEVC מק"ט HEVC VP9 VP9
פונקציית העברה ST-2084 ST-2084 איכות חיים (HLG) ST-2084
סוג מטא-נתונים של HDR דינמי סטטי ללא סטטי

ב-Android 7.0 מוגדרת רק הפעלה באיכות HDR באמצעות מצב מנהור, אבל מכשירים עשויים להוסיף תמיכה בהפעלת HDR ב-SurfaceViews באמצעות שקיפות מאגרי סרטונים זמניים. במילים אחרות:

  • אין ל-Android API סטנדרטי שיכול לבדוק אם יש תמיכה בהפעלה באיכות HDR באמצעות מפענחים ללא מנהור.
  • מפענחי וידאו מצינורות שמפרסמים יכולת הפעלה באיכות HDR חייבים תמיכה בהפעלה באיכות HDR בזמן החיבור למסכים שתומכים ב-HDR.
  • הרכב GL של תוכן HDR לא נתמך על ידי AOSP ב-Android גרסה 7.0.

Discovery

כדי להפעיל את HDR נדרש מפענח עם תמיכה ב-HDR וחיבור מסך שתואם ל-HDR. אופציונלי: טכנולוגיות מסוימות מחייבות שחולץ.

מסך

אפליקציות ישתמשו ב-Display.getHdrCapabilities החדש ממשק API לשליחת שאילתה על טכנולוגיות ה-HDR שנתמכות על ידי המסך שצוין. הדבר למעשה המידע בבלוק הנתונים של המטא-נתונים הסטטיים של EDID, כפי שהוגדר ב-CTA-861.3:

  • public Display.HdrCapabilities getHdrCapabilities()
    הפונקציה מחזירה את יכולות ה-HDR של המסך.
  • Display.HdrCapabilities
    כולל את יכולות HDR של מסך נתון. לדוגמה, איזה תוכן HDR הסוגים שבהם הוא תומך ופרטים על נתוני ההארה הרצויים.

קבועים:

  • int HDR_TYPE_DOLBY_VISION
    תמיכה ב-Dolby Vision.
  • int HDR_TYPE_HDR10
    תמיכה ב-HDR10 / PQ.
  • int HDR_TYPE_HDR10_PLUS
    תמיכה ב-HDR10+.
  • int HDR_TYPE_HLG
    תמיכה משולבת ב-Log-Gamma.
  • float INVALID_LUMINANCE
    ערך הארה"ב לא תקין.

שיטות ציבוריות:

  • float getDesiredMaxAverageLuminance()
    הפונקציה מחזירה את נתוני רמת ההארה הממוצעים המקסימליים של התוכן המקסימלי הרצוי ב-cd/cd/m2 עבור המסך הזה.
  • float getDesiredMaxLuminance()
    הפונקציה מחזירה את נתוני רמת ההארה המקסימליים הרצויים של התוכן ב-cd/cd/m2 למסך הזה.
  • float getDesiredMinLuminance()
    הפונקציה מחזירה את נתוני הבהירות המינימלית של התוכן ב-cd/cd/m2 למסך הזה.
  • int[] getSupportedHdrTypes()
    קבלת סוגי ה-HDR הנתמכים של המסך הזה (אפשר לראות קבועים). ההחזרות ריקות אם HDR לא נתמך במסך.

מפענח

אפליקציות ישתמשו CodecCapabilities.profileLevels של ה-API לאימות התמיכה פרופילים חדשים שתומכים ב-HDR:

Dolby-Vision

קבוע mime MediaFormat:

String MIMETYPE_VIDEO_DOLBY_VISION

MediaCodecInfo.CodecProfileLevel קבועי פרופיל:

int DolbyVisionProfileDvavPen
int DolbyVisionProfileDvavPer
int DolbyVisionProfileDvheDen
int DolbyVisionProfileDvheDer
int DolbyVisionProfileDvheDtb
int DolbyVisionProfileDvheDth
int DolbyVisionProfileDvheDtr
int DolbyVisionProfileDvheStn

צריך לחבר את שכבות הווידאו והמטא-נתונים של Dolby Vision לשרשור אחד מאגר נתונים זמני לכל פריימים לפי אפליקציות וידאו. הפעולה הזו מתבצעת באופן אוטומטי על ידי חילוץ מדיה עם Dolby-Vision.

HEVC HDR 10

MediaCodecInfo.CodecProfileLevel קבועי פרופיל:

int HEVCProfileMain10HDR10
int HEVCProfileMain10HDR10Plus

VP9 HLG ו- PQ

פרופיל MediaCodecInfo.CodecProfileLevel קבועים:

int VP9Profile2HDR
int VP9Profile2HDR10Plus
int VP9Profile3HDR
int VP9Profile3HDR10Plus

אם פלטפורמה תומכת במפענח עם תמיכה ב-HDR, היא גם תתמוך מחלץ תואם HDR.

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

חולץ

הקונטיינרים הבאים נתמכים בטכנולוגיות ה-HDR השונות ב-Android 7.0:

טכנולוגיה Dolby-Vision HDR10 VP9-HLG VP9-PQ
מאגר MP4 MP4 WebM WebM

היכולת לבדוק אם טראק (של קובץ) דורש תמיכה ב-HDR שנתמכות על ידי הפלטפורמה. אפליקציות עשויות לנתח את הנתונים הספציפיים לקודק כדי לקבוע אם טראק מחייב פרופיל HDR ספציפי.

סיכום

דרישות הרכיבים לכל טכנולוגיית HDR מפורטות בטבלה הבאה:

טכנולוגיה Dolby-Vision HDR10 VP9-HLG VP9-PQ
סוג HDR נתמך (מסך) HDR_TYPE_DOLBY_VISION HDR_TYPE_HDR10 HDR_TYPE_HLG HDR_TYPE_HDR10
קונטיינר (חלץ) MP4 MP4 WebM WebM
מפענח MIMETYPE_VIDEO_DOLBY_VISION MIMETYPE_VIDEO_HEVC MIMETYPE_VIDEO_VP9 MIMETYPE_VIDEO_VP9
פרופיל (מפענח) אחד מהפרופילים של Dolby HEVCProfileMain10HDR10 VP9Profile2HDR או VP9Profile3HDR VP9Profile2HDR או VP9Profile3HDR

הערות:

  • סטרימרים של Dolby-Vision נארזים בקונטיינר MP4 באופן מוגדר מאת Dolby. אפליקציות עשויות ליישם כלי חילוץ משלהם בעלות יכולת Dolby, כל עוד הן אורזים את יחידות הגישה מהשכבות המתאימות יחידת גישה יחידה למפענח, כפי שהוגדר על ידי Dolby.
  • פלטפורמה מסוימת עשויה לתמוך בכלי חילוץ עם תמיכה ב-HDR, אבל לא ניתן להיעזר בו מפענח עם תמיכה ב-HDR.

הפעלה

לאחר שאפליקציה אימתה את התמיכה בהפעלת HDR, היא יכולה להפעיל בחזרה תוכן HDR כמעט באותו אופן שבו מפעילים תוכן שאינו HDR, עם האזהרות הבאות:

  • עבור Dolby-Vision, אם קובץ מדיה או טראק ספציפיים נדרשים מפענח עם תמיכה ב-HDR אינו זמין באופן מיידי. האפליקציה חייבת את המידע הזה מראש או להיות מסוגלים לקבל את המידע הזה ניתוח קטע הנתונים הספציפי ל-codec ב-MediaFormat.
  • CodecCapabilities.isFormatSupported לא בודק/ת אם כדי לתמוך בפרופיל כזה, נדרשת תכונת המפענח המנהרה.

הפעלת התמיכה בפלטפורמת HDR

ספקי SoC ויצרני ציוד מקורי (OEM) צריכים לבצע פעולות נוספות כדי להפעיל פלטפורמת HDR במכשיר.

שינויים בפלטפורמות ב-Android 7.0 לביצוע HDR

אלו כמה שינויים מרכזיים בפלטפורמה (אפליקציה/שכבת נייטיב) שיצרני ציוד מקורי (OEM) ו-SOCs צריכים להיות מודעים להם.

מסך

הרכב החומרה

פלטפורמות שתומכות ב-HDR חייבות לתמוך בשילוב של תוכן HDR עם תוכן שאינו HDR תוכן. המאפיינים והפעולות המדויקים של השילוב לא מוגדרים Android נכון לגרסה 7.0, אבל בדרך כלל התהליך כולל את השלבים הבאים:

  1. מצאו מרחב צבעים או נפח צבעים לינאריים שמכילים את כל השכבות מורכב מהשכבות צבעים, מאסטרינג ודינמיקה פוטנציאלית מטא-נתונים.
    אם מרכיבים ישירות בתצוגה, זה יכול להיות המרחב הלינארי שתואם לעוצמת הקול של המסך.
  2. ממירים את כל השכבות למרחב הצבעים המשותף.
  3. מבצעים את המיזוג.
  4. אם הפריט מוצג באמצעות HDMI:
    1. לקבוע את הצבע, המאסטרינג והמטא-נתונים הדינמיים הפוטנציאליים של סצנה משולבת.
    2. ממירים את הסצנה המשולבת שנוצרה לצבע הנגזר שטח/נפח.
  5. אם מוצג ישירות למסך, ממירים את התוכן המשולב שנוצר לסצינה של אותות התצוגה הנדרשים כדי ליצור את הסצנה הזו.

גילוי תצוגה

הזיהוי של מסך HDR נתמך רק באמצעות HWC2. מטמיעי מכשירים חייבים להפעיל באופן סלקטיבי את מתאם HWC2 שזמין עם Android 7.0 בשביל כדי שהתכונה תפעל. לכן, הפלטפורמות חייבות להוסיף תמיכה ב-HWC2 או להרחיב AOSP מאפשרת לספק את המידע הזה. צוות HWC2 חושף ממשק API להפצת נתונים סטטיים של HDR ל-framework ולאפליקציה.

HDMI

  • צג HDMI מחובר מפרסם את יכולת ה-HDR שלו באמצעות HDMI EDID כפי שמוגדר CTA-861.3 סעיף 4.2.
  • ייעשה שימוש במיפוי EOTF הבא:
    • ET_0 gamma מסורתית – טווח ההארה של SDR: לא ממופה לאף HDR ההמרה
    • ET_1 gamma מסורתי – טווח בהירות HDR: לא ממופה לאף HDR ההמרה
    • ET_2 SMPTE ST 2084 – ממופה לסוג HDR HDR10
  • האותות של התמיכה ב-Dolby Vision או ב-HLG ב-HDMI מתבצע כפי שמוגדר על ידי הגופים הרלוונטיים.
  • שימו לב שממשק ה-API של HWC2 משתמש בערכי בהירות זמינים צף, כך שהאורך של 8 סיביות יש לתרגם את ערכי ה-EDID בצורה מתאימה.

מפענחים

חובה להוסיף בפלטפורמות השונות מפענחי מנהור שתומכים ב-HDR ולפרסם את איכות ה-HDR שלהן תמיכה. באופן כללי, מפענחים שתומכים ב-HDR צריכים:

  • יש תמיכה בפענוח מנהרה (FEATURE_TunneledPlayback).
  • תמיכה במטא-נתונים סטטיים ב-HDR (OMX.google.android.index.describeHDRColorInfo) הפצה של הרכב התצוגה/החומרה. ל-HLG, המטא-נתונים המתאימים חייב להישלח לתצוגה.
  • תיאור צבע התמיכה (OMX.google.android.index.describeColorAspects) הפצה של הרכב התצוגה/החומרה.
  • תמיכה במטא-נתונים מוטמעים מסוג HDR בהתאם לתקן שנקבע בתקן הרלוונטי.

תמיכה במפענח Dolby Vision

כדי לתמוך ב-Dolby Vision, פלטפורמות צריכות להוסיף אפשרות של Dolby-Vision מפענח HDR OMX. בהתחשב בפרטים הספציפיים של Dolby Vision, בדרך כלל מדובר סביב מפענח AVC או HEVC או HEVC, וגם מפענח wrapper קומפוזיטור. מפענחים כאלה חייבים:

  • תמיכה בסוג mime 'video/dolby-vision'.
  • פרסום פרופילים או רמות נתמכים של Dolby Vision.
  • אישור יחידות גישה שמכילות את יחידות הגישה של כל השכבות מוגדר על ידי Dolby.
  • קבלת נתונים ספציפיים ל-codec שהוגדרו על ידי Dolby. לדוגמה, נתונים שמכילים פרופיל/רמת Dolby Vision ואולי גם הנתונים הספציפיים של קודק עבור ממפענחים פנימיים.
  • תמיכה במעבר אוטומטי בין פרופילים/רמות של Dolby Vision שנדרש על ידי Dolby.

כשמגדירים את המפענח, פרופיל Dolby בפועל לא מועבר למקודד. אפשר לעשות זאת רק באמצעות נתונים ספציפיים לקודק אחרי שהמפענח התחיל. פלטפורמה כלשהי יכולה לתמוך בריבוי Dolby Vision מפענח: אחד לפרופילים של AVC ושני לפרופילי HEVC שיכולים לאתחל את רכיבי הקודק הבסיסיים במהלך זמן ההגדרה. אם רכיב Dolby Vision אחד המפענח תומך בשני סוגי הפרופילים, הוא חייב לתמוך גם במעבר בין אלה באופן דינמי וגמיש.

אם פלטפורמה מספקת מפענח עם יכולות Dolby-Vision בנוסף באופן כללי במפענח HDR, היא חייבת:

  • יש לספק כלי חילוץ עם Dolby-Vision, גם אם הוא לא תומך הפעלה באיכות HDR.
  • יש לספק מפענח שתומך בפרופיל הראייה המוגדר על ידי Dolby.

תמיכה במפענח HDR10

כדי לתמוך ב-HDR10, פלטפורמות חייבות להוסיף מפענח OMX עם תמיכה ב-HDR10. הזה הוא בדרך כלל מפענח HEVC לאחר מנהור שתומך גם בניתוח ובטיפול מטא-נתונים שקשורים ל-HDMI. כזה מפענח (בנוסף למפענח HDR הכללי ) חייב:

  • תמיכה בסוג mime 'video/hevc'.
  • פרסום של HEVCMain10HDR10. תמיכה בפרופיל HEVCMain10HRD10 דורשת גם תמיכה בפרופיל HEVCMain10, שדורש תמיכה פרופיל ה-HEVCMain באותן רמות.
  • תמיכה בניתוח בלוקים של מטא-נתונים מסוג SEI במאסטרינג, כמו גם HDR מידע קשור שנכלל ב-SPS.

תמיכה במפענח VP9

כדי לתמוך ב-VP9 HDR, בפלטפורמות חייבים להוסיף HDR OMX עם תמיכה ב-VP9 Profile2 וממפענח. בדרך כלל זהו מפענח VP9 מנהור שתומך גם בטיפול מטא-נתונים שקשורים ל-HDMI. מפענחים כאלה (בנוסף למפענח HDR הכללי ) חייב:

  • תמיכה ב-mime מסוג 'video/x-vnd.on2.vp9'.
  • פרסום של VP9Profile2HDR נתמך. תמיכה בפרופיל VP9Profile2HDR גם מחייב תמיכה בפרופיל VP9Profile2 באותה הרמה.

חולצים

תמיכה במחלץ Dolby Vision

בפלטפורמות שתומכות במפענחים של Dolby Vision, צריך להוסיף את מחלץ Dolby Vision תמיכה (נקראת Dolby Clipor) עבור תוכן של Dolby Video.

  • מחלץ MP4 רגיל יכול רק לחלץ את שכבת הבסיס מקובץ, אבל לא את שכבות השיפור או המטא-נתונים. אז מחלץ Dolby מיוחד הוא שנדרשים כדי לחלץ את הנתונים מהקובץ.
  • כלי החילוץ של Dolby חייב לחשוף טראק אחד או שניים בכל טראק וידאו של Dolby (קבוצה):
    • טראק של Dolby Vision HDR מסוג "video/dolby-vision" עבור משולב ב-2/3 שכבות של Dolby. הפורמט של יחידת הגישה לטראק HDR, מגדיר איך לארוז את יחידות הגישה מהבסיס/שיפור/מטא-נתונים לשכבות אל מאגר נתונים זמני אחד כדי לפענח אותן למסגרת HDR אחת, מוגדר על ידי Dolby.
    • אם טראק הווידאו של Dolby Vision מכיל מסלול נפרד (תואם לאחור) בשכבת הבסיס (BL), המחלץ חייב לחשוף זאת גם כ-'video/avc' נפרד או 'video/hevc' טראק. כלי החילוץ צריך לספק גישת AVC/HEVC רגילה יחידות של טראק זה.
    • לטראק של BL חייב להיות אותו track-Unique-ID ("track-ID") כמו טראק HDR כדי שהאפליקציה תבין שמדובר בשני קידודים של אותו הדבר וידאו.
    • האפליקציה יכולה להחליט באיזה מסלול לבחור על סמך הפלטפורמה ליכולות של בינה מלאכותית גנרטיבית.
  • יש לחשוף את הפרופיל/הרמה של Dolby Vision בפורמט הטראק של הטראק של HDR.
  • אם פלטפורמה מספקת מפענח עם יכולות Dolby-Vision, היא חייבת לספק גם מחלץ מסוג Dolby-Vision, גם אם הוא לא תומך בהפעלה באיכות HDR.

תמיכה במחלץ HDR10 ו-VP9 HDR

אין דרישות נוספות לכלי החילוץ כדי לתמוך ב-HDR10 או ב-VP9 שלום. הפלטפורמה צריכה להרחיב את מחלץ MP4 כדי לתמוך ב-VP9 PQ ב-MP4. HDR המטא-נתונים הסטטיים חייבים להיות מופצים ב-bitstream של VP9 PQ, כך המטא-נתונים מועברים למפענח VP9 PQ ולתצוגה באמצעות הפונקציה הרגילה Mediaחלץ => צינור עיבוד נתונים של MediaCodec.

תוספי Stagefright לתמיכה ב-Dolby Vision

בפלטפורמות צריך להוסיף ל-Stagefright תמיכה בפורמט Dolby Vision:

  • תמיכה בשאילתה של הגדרת יציאה עבור יציאה דחוסה.
  • ספירת פרופיל או רמה של תמיכה למפענח DV.
  • תמיכה בחשיפת פרופיל/רמת DV של טראקים של DV HDR.

פרטי הטמעה ספציפיים לטכנולוגיה

צינור עיבוד נתונים של מפענח HDR10

איור 1. צינור עיבוד נתונים HDR10

סטרימרים מסוג HDR10 ארוזים במאגרים של MP4. יישומים משתמשים בתקן חולץ MP4 כדי לחלץ את נתוני הפריים ולשלוח אותם למפענח.

  • חלץ MPEG4
    סטרימרים של HDR10 ביטים בסטרימינג מזוהים כסטרימינג רגיל מסוג HEVC על ידי MPEG4Collector וטראק HDR מסוג 'video/HEVC' יהיו חולץ. ה-framework בוחר מפענח וידאו HEVC שתומך פרופיל ראשי10HDR10 כדי לפענח את הטראק הזה.
  • מפענח HEVC
    מידע על HDR מוצג ב-SEI או ב-SPS. מפענח HEVC מקבל קודם פריימים שמכילים את המידע לגבי HDR. המפענח מחלץ את ה-HDR ומיידע את האפליקציה שהיא מפענחת סרטון HDR. HDR נכלל בפורמט פלט של מפענח, שמופצת את פני השטח מאוחר יותר.

פעולות של ספקים

  1. פרסום של פרופיל נתמך של מפענח HDR וסוג OMX של רמה. דוגמה:
    OMX_VIDEO_HEVCProfileMain10HDR10 (וגם Main10)
  2. ישמו תמיכה עבור אינדקס: OMX.google.android.index.describeHDRColorInfo
  3. ישמו תמיכה עבור אינדקס: OMX.google.android.index.describeColorAspects
  4. הטמעת תמיכה בניתוח SEI של מאסטרינג של מטא-נתונים.

צינור עיבוד נתונים של Dolby Vision למפענח

איור 2. צינור עיבוד הנתונים של Dolby Vision

הפעלות Dolby-bitstream נארזות בקונטיינרים של MP4 בהתאם להגדרתם: Dolby. אפליקציות יכולות, בתיאוריה, להשתמש במחלץ MP4 רגיל כדי לחלץ את שכבת הבסיס, את שכבת השיפור ואת שכבת המטא-נתונים בנפרד; עם זאת, זה לא מתאים למודל הנוכחי של Android Mediaחלץ/MediaCodec.

  • Dolbytractor:
    • Dolby-bitstreams מזוהים על ידי DolbyReviewor, שחושף בשכבות שונות, כולל טראק אחד או שניים לכל טראק וידאו של Dolby (קבוצה):
      • טראק HDR מסוג "video/dolby-vision" לרשימה המשולבת סטרימינג ב-2/3 שכבות של Dolby. הפורמט של יחידות גישה לטראק HDR, שמגדיר איך לארוז את יחידות הגישה משכבות הבסיס/שיפור/מטא-נתונים למאגר אחסון זמני אחד שיהיה מפוענח למסגרת HDR אחת, מאת Dolby.
      • (אופציונלי, רק אם ה-BL תואם לאחור) טראק ABL מכיל רק את שכבת הבסיס שחייבת להיות ניתנת לפענוח באמצעות מפענח MediaCodec רגיל, לדוגמה, מפענח AVC/HEVC. המחלץ צריך לספק AVC/HEVC רגיל יחידות גישה למסלול הזה. טראק BL הזה חייב להיות זהה ל- track-Unique-ID ("track-ID") בתור הטראק של Dolby, כדי שהאפליקציה תבין הם שני קידודים של אותו סרטון.
    • האפליקציה יכולה להחליט באיזה מסלול לבחור על סמך הפלטפורמה ליכולות של בינה מלאכותית גנרטיבית.
    • כיוון שבטראק HDR יש סוג HDR ספציפי, ה-framework יבחר מפענח וידאו של Dolby כדי לפענח את הטראק הזה. הטראק של BL יפוענח על ידי מפענח וידאו רגיל מסוג AVC/HEVC.
  • DolbyDecoder:
    • DolbyDecoder מקבל יחידות גישה שמכילות את רמת הגישה הנדרשת יחידות לכל השכבות (EL+BL+MD או BL+MD)
    • מידע CSD (נתונים ספציפיים לקודק, כגון SPS+PPS+VPS) עבור ניתן לארוז שכבות נפרדות במסגרת CSD אחת שיוגדרו על ידי Dolby. נדרשת מסגרת CSD אחת.

פעולות של Dolby

  1. הגדרת האריזה של יחידות הגישה לקונטיינר השונים של Dolby סכימות (למשל BL+EL+MD) למפענח Dolby המופשט (כלומר, מאגר נתונים זמני) הפורמט הצפוי של מפענח ה-HDR).
  2. מגדירים את האריזה של CSD למפענח המופשט של Dolby.

פעולות של ספקים

  1. יישום מחלץ Dolby. אפשר לעשות זאת גם באמצעות Dolby.
  2. שילוב DolbyExtor במסגרת ה-framework. נקודת הכניסה היא frameworks/av/media/libstagefright/MediaExtractor.cpp
  3. הצהרה על פרופיל מפענח HDR ורמת OMX מהסוג הזה. לדוגמה: OMX_VIDEO_DOLBYPROFILETYPE ו OMX_VIDEO_DOLBYLEVELTYP.
  4. ישמו תמיכה עבור אינדקס: 'OMX.google.android.index.describeColorAspects רגל
  5. להפיץ את המטא-נתונים הדינמיים של HDR באפליקציה ומופיע בכל אחד מהם. מסגרת. בדרך כלל צריך לארוז את המידע הזה למסגרת המפוענחת כפי שהוגדרה על ידי Dolby, מכיוון שתקן ה-HDMI לא מספק דרך להעביר את זה למסך.

צינור עיבוד נתונים של מפענח VP9

איור 3. צינור עיבוד נתונים VP9-PQ

סטרימרים מסוג VP9 (bitstream) נארזים בקונטיינרים של WebM לפי הגדרה של WebM. של Google. אפליקציות צריכות להשתמש במחלץ WebM כדי לחלץ מטא-נתונים של HDR מתוך את ה-bitstream לפני שליחת פריימים למפענח.

  • מחלץ WebM:
  • מפענח VP9:
    • המפענח מקבל ביט-stream של Profile2 ומפענח אותם כ-VP9 רגיל בסטרימינג.
    • המפענח מקבל מטא-נתונים סטטיים מסוג HDR מה-framework.
    • המפענח מקבל מטא-נתונים סטטיים דרך יחידות הגישה ב-bitstream ל-VP9 שידורי PQ.
    • למפענח VP9 צריכה להיות אפשרות להפיץ את המטא-נתונים הסטטיים/דינמיים של HDR למסך.

פעולות של ספקים

  1. ישמו תמיכה עבור אינדקס: OMX.google.android.index.describeHDRColorInfo
  2. ישמו תמיכה עבור אינדקס: OMX.google.android.index.describeColorAspects
  3. הפצת מטא-נתונים סטטיים של HDR