מאז ההשקה של סרטונים בטווח דינמי גבוה (HDR), שירותי הסטרימינג החלו לשדר סרטוני HDR, תוך התמקדות בחוויית צפייה במסך מלא. לאחרונה, אפליקציות של רשתות חברתיות השיקו תמיכה בסרטוני HDR וב-Ultra HDR, דבר שמצביע על עניין הולך וגדל בשימוש ב-HDR באפליקציות שונות.
תמיכה ב-HDR ב-Android
אלה ציוני הדרך של תמיכת Android בטכנולוגיית HDR במהלך כמה שנים:
Android 7
- תמיכה ראשונית בפענוח ובתצוגה של סרטוני HDR.
- שיפורים מתמשכים ביכולות ה-HDR.
Android 13
- תמיכה מקצה לקצה בצילום, בקידוד ובתצוגה של סרטוני HDR.
- הוספת הרכבה משולבת של SDR ו-HDR, שמגדירה טווחי בהירות שונים שניתנים להצגה בין SDR ל-HDR.
Android 14
- תמיכה בתמונות HDR עם Ultra HDR.
גם התמיכה בצילום מסך באיכות HDR התפתחה ועברה כמה שינויים במהלך השנים.
שיפורים ביכולות של צילומי מסך ב-HDR
בקטע הזה נסקור את ההתקדמות של היכולת לצלם צילומי מסך ב-HDR בעדכוני Android האחרונים.
Android 9
SurfaceFlinger, הכלי המשלב את הגרפיקה ב-Android, כולל עכשיו תמיכה בסרטוני HDR. יש תמיכה ברינדור של וידאו ותמונות מסך ב-HDR באמצעות מפת צבעים פולינומית מורכבת. עקומת המיפוי לא תמיד זהה למיפוי הטונים של המסך, ולכן צילומי המסך שונים מהתוכן שמוצג במסך.
Android 13
פלאגין של מיפוי גוונים מתווסף לבלוק העיבוד של GPU ב-SurfaceFlinger, ומאפשר ליצרן הציוד המקורי לספק שדרוג GPU שיתאים לעקומת מיפוי הגוונים של המסך. צילומי המסך כמעט זהים למה שמוצג במסך, אבל יש כמה הבדלים:
- צילומי המסך יישארו בפורמט SDR. כתוצאה מכך, כשמציגים את צילום המסך לצד סצנה באיכות HDR, אזורי ה-HDR בצילום המסך נראים כהים יותר.
- בהצגת צילום המסך, בהירות התמונה של תוכן SDR תהיה זהה לזו של תוכן HDR, כי אין ניהול של בהירות התמונה ב-SDR.
במילים אחרות, כל סרטון HDR שמצולם בצילום המסך מומר לסרטון SDR.
Android 14
צילום מסך ב-Ultra HDR הוא אתגר משמעותי. בניגוד לסרטונים, תמונות בדרך כלל עוברות עיבוד בתוך framebuffer של ממשק המשתמש, ויש לכך שתי השלכות עיקריות:
- אי אפשר לעבד את התמונות, כולל מיפוי טווחי צבעים, באופן שונה מהממשק המקיף.
- האפליקציות אחראיות על מיפוי גוונים שמבוסס על מקור בזמן היצירה של ממשק המשתמש.
כדי להתמודד עם האתגר הזה, יש שלוש אפשרויות להטמעת צילום מסך:
- לשמור את פרטי ה-HDR של תמונה באיכות Ultra HDR, וכתוצאה מכך ממשק המשתמש של האפליקציה יהיה כהה בצילום המסך.
- שמירה על פרטי ממשק המשתמש של האפליקציה, וכתוצאה מכך חיתוך של תמונות Ultra HDR.
- פשרה: הבהרה של ממשק המשתמש של האפליקציה תוך חיתוך של רגעים מיוחדים ב-HDR.
ב-Android 14 מופעלת הגישה השלישית, שבה ממשק המשתמש של האפליקציה מאיר והאזור הבהיר בתמונות HDR מנוכה.
Android 15-QPR1
SurfaceFlinger כולל אלגוריתם מקומי למיפוי צבעים לצילומי מסך. התהליך כולל:
- חלוקת תמונת הקלט לתמונות קטנות יותר.
- חישוב הלחות המקסימלית בכל תמונה והשלכה של ערכים נמוכים של הלחות בכל קטע.
- ביצוע אינטרפולציה של רמות הבהירות המחושבות באמצעות טשטוש ודגימה מחדש.
- החלת טונמטר של Reinhard עם פרמטרים על תמונת הקלט, על סמך ערכי הלחות שעבר תהליך אינטרפולציה.
באלגוריתם הזה יש שיפורים משמעותיים בצילום המסך בין Android 14 ל-Android 15-QPR1, כפי שמוצג בדוגמאות הבאות:
דוגמה 1 היא צילום מסך של סרטון HDR שמופיע מעל דף ב-Chrome שמכיל Ultra HDR. צבעים של ממשק המשתמש נשמרים ברובם בהטמעה החדשה, והתמונה לא חתוכה יותר.
Android 14 Android 15-QPR1 איור 1. השוואה בין Android 14 לבין Android 15-QPR1 לדוגמה 1.
דוגמה 2 היא צילום מסך של סרטון HDR שמופיע מעל הגדרות עם צילומי מסך נוספים. ב-Android 14, הצבעים של צילומי המסך כהים יותר בהדרגה. ב-Android 15-QPR1, המיפוי הטונלי מעתיק בצורה נכונה את הצבעים של ממשק המשתמש ושומר עליהם.
Android 14 Android 15-QPR1 איור 2. השוואה בין Android 14 לבין Android 15-QPR1 בדוגמה 2.