בדף הזה מוסבר על הדרישות, ההגדרה והאימות של התכונה 'הנמכת בהירות של תוכן SDR' עבור קומפוזיציה של SDR ו-HDR.
Android 13 משפר את התמיכה בהצגה בו-זמנית של קומפוזיציית SDR ו-HDR על המסך באמצעות הפיצ'רים הבאים:
מיפוי טונים של בהירות HDR לטווח שמתאים ל-SDR.
באמצעות
libtonemap, אפשר ליצור מיפוי עקבי של גוונים בין Hardware Composer (HWC), SurfaceFlinger ואפליקציות. יצרני ציוד מקורי יכולים להטמיע עקומות מיפוי טונים משלהם כדי לשתף אותן בין ספק לרכיבי מסגרת.העמעום של תוכן SDR שמוצג במסך כשמוצג בו גם תוכן HDR.
כשתוכן באיכות HDR מוצג על המסך, בהירות המסך מוגברת כדי להתאים לטווח הבהירות המוגדל של תוכן ה-HDR. כל תוכן SDR שמוצג גם הוא במסך מוצג באופן חלק עם עמעום ככל שבהירות המסך עולה כך שהבהירות הנתפסת של תוכן ה-SDR לא משתנה. יצרני ציוד מקורי יכולים להגדיר את המסכים המובנים שלהם כך שתוכן SDR שמוצג במסך יוצג בצורה עמומה יותר כשמוצג לצידו תוכן HDR.
דרישות OEM
כדי להשתמש בשיפור ההרכבה של תוכן HDR ו-SDR באמצעות עמעום תוכן SDR, צריך לעמוד בדרישות הבאות:
מטמיעים את גרסת ה-AIDL של HWC, שכוללת תמיכה בהנמכה מואצת בחומרה בצינור הצבעים של המכשיר. במאמר AIDL for HWC מוסבר איך להטמיע את היכולות הנדרשות.
כדי להחליש את שכבות-העל של החומרה ב-HWC בצורה מדויקת, נדרשת חומרה ספציפית כדי לשנות את קנה המידה של האור הליניארי של שכבות-העל. הטמעות בלי חומרה מספקת נדרשות לדחות את ההרכבה ל-GPU על ידי SurfaceFlinger, מה שגורם להתרוקנות הסוללה ולעמעום באיכות נמוכה.
המכשיר צריך לתמוך לפחות בטכנולוגיית HDR אחת שדווחה על ידי
Display.getHdrCapabilities.
הגדרות אישיות
אפשר להגדיר את התכונה של שילוב תוכן SDR ו-HDR בהתאם למאפיינים של מכשיר התצוגה המובנה, כדי ליצור איזון בין חיי הסוללה, צריבת המסך ואיכות התוכן.
ההפעלה וההתאמה של הקומפוזיציה המשופרת מתבצעות באמצעות הגדרת תצוגה שהסכימה שלה נמצאת ב-display-device-config.xsd.
האלמנטים החדשים החשובים הבאים משמשים להגדרת תצורת התצוגה:
האלמנט
sdrHdrRatioMapמאפשר להחשיך את ה-SDR ומגדיר טבלת בדיקה (LUT) למיפוי הבהירות של המסך כדי להציג HDR לנקודה הלבנה של SDR כשיש תוכן HDR על המסך.אם מוגדר
sdrHdrRatioMap, אז כחלק משליטה בבהירות המסך,DisplayManagerServiceמעביר את נקודת הלבן הרצויה של SDR אל SurfaceFlinger, כדי ש-SurfaceFlinger יוכל לשלוח את יחס העמעום המתאים לכל שכבה אל HWC.אם
sdrHdrRatioMapלא מוגדר, ההאפלה של SDR לא מופעלת, גם אם ההטמעה של HWC תומכת בהאפלה של SDR.רכיב
minimumHdrPercentOfScreen, עם ערך שנע בין 0 ל-100, קובע מתי מותר להפעיל מצב בהירות גבוהה בחלונית. ב-Android 13, אפשר לשנות את ערך הסף הזה כדי להפעיל את מצב הבהירות הגבוהה ביותר ביותר מצבים, כמו תרחישים של תמונה בתוך תמונה. בגרסאות קודמות של AOSP, הערך הזה היה קבוע על 50%.
בקטע הקוד הבא מפורטים הרכיבים העיקריים של הגדרת התצוגה:
<displayConfiguration>
...
<highBrightnessMode>
...
<!--Percentage of the screen that must be covered by HDR layers until high brightness mode is enabled.
<minimumHdrPercentOfScreen>...</minimumHdrPercentOfScreen>
<!--sdrHdrRatioMap, backed by spline, must have at least two entries -->
<sdrHdrRatioMap>
<point>
<sdrNits>...</sdrNits>
<hdrRatio>...</hdrRatio>
</point>
<point>
<sdrNits>...</sdrNits>
<hdrRatio>...</hdrRatio>
</point>
<!--More interpolation points may be added –->
...
</sdrHdrRatioMap>
...
</highBrightnessMode>
...
</displayConfiguration>
נקודות שצריך לשים לב אליהן
הפעלת התכונות של מיפוי הטונים והעמעום של תוכן SDR יכולה להוביל למצבים הבאים:
איכות התוכן ב-HDR שמופעל במכשיר יכולה להשתפר, כי רכיבי התוכן ב-SDR מוצנעים.
חיי הסוללה עלולים להתקצר בתרחישים הבאים:
הטמעות של HWC שדוחות פעולות של עמעום למעבד הגרפי יכולות לגרום לשימוש מוגבר במעבד הגרפי.
הגדרות תצוגה שמאפשרות סף נמוך יותר להפעלת מצב בהירות גבוהה עשויות להגדיל את צריכת החשמל להפעלת המסך בבהירות גבוהה יותר.
השימוש במצב בהירות גבוהה למשך זמן ממושך עלול להשפיע על תקינות המסך ולגרום לבעיות לטווח ארוך, כמו צריבה.
אימות
יצרני ציוד מקורי יכולים להשתמש במבחני VTS, שנכללים כחלק מחבילת הבדיקות של HWC, כדי לבדוק את הדיוק של העמעום וכדי לאמת את יחס העמעום של הקלט.
האימות של התכונה הזו תלוי במכשיר, ולכן אין בדיקות CTS או GTS לתמיכה בה.
יצרני ציוד מקורי (OEM) צריכים להריץ בדיקות ידניות כדי לוודא שאיכות התמונה של רכיבי SDR מוצללים מקובלת. יצרני ציוד מקורי (OEM) יכולים להפעיל תוכן בתקני HDR שהמכשיר תומך בהם דרך SurfaceView כדי לוודא שאלמנטים של SDR שמופעלים לצד תוכן ה-HDR לא יהיו בהירים מדי.
בעיות
הנמכת תמונות SDR עלולה לגרום להסתרה של פרטים, או לאובדן מידע באזורים כהים יותר של התמונה המקורית. הסיבה לכך היא שערכי צבע כהים יותר מתכנסים לקבוצה קטנה יותר של קודים כהים.
הטמעה של עמעום שגורמת לריסוק שחור בלתי קביל חייבת להטמיע אלגוריתמים של דית'רינג, שמזריקים רעש לתמונה הסופית כדי לצמצם את אפקטי הפסים.
הטמעות של HWC שלא יכולות לבצע דית'רינג של התמונה במיקום המתאים בצינור הצבעים צריכות לבקש מ-SurfaceFlinger להחיל עמעום ודית'רינג ב-GPU.
בנוסף, אפשר לשנות את הערך של sdrHdrRatioMap כדי להגביל את מידת ההכהייה של רכיבי SDR. העמעום לרמות בהירות נמוכות מאוד
דורש שימוש במעבד הגרפי, מה שמשפר את איכות התמונה אבל עלול לקצר את חיי הסוללה.