במכשירים עם Android מגרסה 13 ואילך, Android תומכת בפלט מצלמה של 10 ביט באמצעות פרופילים של טווח דינמי, שהוגדר על ידי לקוח המצלמה כחלק מהגדרת השידור. Device (מכשיר) יצרנים יכולים להוסיף תמיכה בפרופילים של טווח דינמי של 10 ביט, כמו HLG10, HDR 10, HDR 10+ ו-Dolby Vision.
תמיכה בפלט מצלמה של 10 ביט מאפשרת ללקוחות המצלמה לגלות נתונים נתמכים של 10 ביט
פרופילים של טווח דינמי של המכשיר באמצעות קריאה
getSupportedProfiles
לאחר מכן, ה-framework יחזיר מופע של
DynamicRangeProfiles
,
שכולל מידע על פרופילים נתמכים של טווח דינמי, ואם
זמין, אילוצים של בקשות לתיעוד.
HLG10
הפרופיל חייב להיות נתמך. הפרופיל המומלץ לטווח דינמי מופיע ב
ה
REQUEST_RECOMMENDED_TEN_BIT_DYNAMIC_RANGE_PROFILE
השדה הזה.
לקוחות המצלמה יכולים להגדיר שילובים של שידורים חיים באמצעות התקשרות
setDynamicRangeProfile
למידע נוסף על שילובים נדרשים של פלט נתוני פלט, אפשר לעיין
הטבלה הגדרות נוספות מובטחות לפלט של 10 ביט
צילום רגיל.
הדרישות
כדי לתמוך בפלט מצלמה של 10 ביט, המכשיר צריך להיות ברמה של 10 ביט ומעלה חיישן מצלמה עם תמיכה בספק האינטרנט המתאים. לקבלת פרטים על נכסים קשורים לקבלת תמיכה ב-10 סיביות, ראה סעיף 7.5. מצלמות ב-CDD.
הטמעה
כדי לספק תמיכה בפלט מצלמה של 10 ביט, יצרני המכשירים צריכים לבצע השילובים הבאים של Camera AIDL HAL:
- הכללה של
ANDROID_REQUEST_AVAILABLE_CAPABILITIES_DYNAMIC_RANGE_TEN_BIT
ב: יכולות של המצלמה. - אכלוס
ANDROID_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP
בכולם פרופילים נתמכים של טווח דינמי ומפת סיביות (bitmap) של המגבלות שלהם.HLG10
הפרופיל חייב להיות נתמך. כמו כן, צריך לכלול בסרטון דינמי מומלץ כדי ליידע את לקוחות המצלמה לגבי הפורמט הנתמך האופטימלי. - תמיכה בערך הפרופיל של הטווח הדינמי במהלך השידור
עבור שידורים באמצעות
P010
או תמיכה בפורמט מוגדר-הטמעה
(
ImageFormat.PRIVATE
). - מגדירים את המטא-נתונים הסטטיים או הדינמיים בהתאם לפרופיל הטווח הדינמי מאגר נתונים זמני של מאגרי נתונים זמניים של Gralloc 4 לפני שליחת הודעה לשירות המצלמה.
לקבלת פרטים נוספים על פלט מצלמה של 10 ביט במצלמת HAL, יש לעיין ב
הבאים ב-metadata_definitions.xml
:
DYNAMIC_RANGE_TEN_BIT
- פרטי HAL עבור
availableDynamicRangeProfilesMap
recommendedTenBitDynamicRangeProfile
10BIT_OUTPUT
למידע נוסף על הטמעת HAL של מצלמה שתומך בפלט מצלמה של 10 ביט:
/hardware/google/camera/devices/EmulatedCamera/hwl
אימות
כדי לאמת את ההטמעה של פלט מצלמה של 10 ביט ולוודא אפליקציות צד שלישי יכולות להפעיל את התכונה. אנחנו ממליצים לבצע את הפעולות הבאות שלושה שלבים של אימות.
- בדיקת התקינות הפונקציונלית של ה-API
- השוואה בין המצלמה המקורית לבין אפליקציית צד שלישי
- השוואה בין טווח דינמי סטנדרטי לבין טווח דינמי גבוה
לצורך אימות חזותי של פלט מצלמה של 10 ביט, ההנחה היא שהמכשיר תומכת בהצגת HDR (צג מעל 1000 nit) ובאפליקציית הצפייה בסרטונים ( למשל, Google Photos) תומך בהפעלה של סרטוני HDR.
בדיקת התקינות הפונקציונלית של ה-API
כדי לבדוק את התקינות הפונקציונלית של ה-API של פלט מצלמה של 10 ביט, מריצים את הבדיקות הבאות של CTS, ITS ו-VTS:
hardware/interfaces/camera/provider/aidl/vts/
בדיקות של גילוי, הגדרה וסטרימינג בסיסיים, ובדיקות של את הנוכחות של מטא-נתונים של HDR, במקרים הרלוונטיים.tests/camera/src/android/hardware/camera2/cts/
מוודא שהמצלמה פועלת בהתאם למפרט של AOSP API.cts/apps/CameraITS
מאשרת שההתנהגות הכללית של הסרטונים היא עקבית כשמשתמשים בפרופילי HDR. הבדיקה הספציפית היאtests/scene4/test_video_aspect_ratio_and_crop.py
השוואה בין המצלמה המקורית לבין אפליקציית צד שלישי
מומלץ מאוד לוודא שהתוצאות של צילום סרטונים ב-10 ביט עם אפליקציית צד שלישי דומה לאפליקציית המצלמה המקורית, אם היא לא זהה. הזה ולכן אפשרויות כוונון כמו חשיפה, טווח דינמי וצבע לעבור מאפליקציית המקורית לאפליקציות של צד שלישי. כדי לאמת את הסרטון הקלטת ההתנהגות של אפליקציית צד שלישי שתומכת בפלט של מצלמת 10 ביט במכשיר, משתמשים אפליקציה לדוגמה של Camera2Video ב-GitHub. ההנחיות הבאות מתארות את ההיבטים הגלויים של HDR ללא מספרים אובייקטיביים, בשל השונות של החיישנים, הלוחות את תנאי הצפייה ואת העדפות הספקים.
הצעות לסצנות להשוואה
כדי להשוות בין אפליקציית המצלמה המקורית לבין אפליקציית צד שלישי, מצלמים סרטונים באמצעות כמה סצנות שונות בעזרת אפליקציית המצלמה המקורית ובאפליקציה לדוגמה של Camera2Video. בהמשך מפורטות הצעות לסצנות שאפשר להשתמש בהן השוואה:
- סצנה עם אור בינוני עד חלש עם אובייקט מואר, כמו נר או אור קטן ובהיר שיוצר טווח משמעותי של בהירות. הזה מאשרת את התנהגות החשיפה האוטומטית ואת הטווח הדינמי.
- סצנת בחוץ מוארת עם צבעים עזים ואובייקטים מחזירים כמו כמו באמפרים כרום, שיוצרים אזורים בהירים מדי. זהו אישור לעבד סצנות בהירות עם אזורים בהירים עוד יותר.
- סצנה בטווח דינמי בינוני ונמוך, כמו סצנת טבע בפנים בית או משרד. זה אישור לכך שתנאי תאורה קיצוניים פחות מתנהגים כמצופה.
לכל הסצנות מומלץ להזמין אנשים ופנים כדי לאמת את החשיפה, הצבע, וטיפול בגוון העור. צמצום השונות של 'שוטים בצילום' מפשט את הצילומים והשוואות.
להשוות בין טווח דינמי סטנדרטי לטווח דינמי גבוה
כדי ליהנות מהיתרונות של שימוש בטווח דינמי של 10 ביט פרופיל בפרופיל טווח דינמי סטנדרטי, משווים בין צילומי סרטונים באמצעות SDR (אין פרופיל HDR) לסרטוני HDR כדי לוודא שהיבטים מרכזיים של HDR מופיעים וצילומי המסך. כדי להשוות בין SDR לבין HDR, אפליקציה לדוגמה של Camera2Video והצעות לסצנות להשוואה בין המצלמה המקורית אפליקציות של צד שלישי ואפליקציות.
בהמשך מפורטים היבטים חשובים שצריך לבדוק בסצנות המוצעות. לוחות תצוגה שניתן ל-HDR יהיו שונות ברמות הבהירות (נמדדות ב-nits או לומן), כך המספרים הבאים אמורים להיות דוגמאות:
- באור בינוני עד אור חלש, באזורים הבהירים של הנר או העיבוד של תאורה קטנה מתבצע בבהירות מקסימלית של המסך (יכול להיות, עד 1,000 nit) בקליפ HDR, שעבר רינדור בבהירות מקסימלית ל-SDR (בערך 100 nit ) בקליפ ה-SDR. בקליפ HDR, האלמנטים הבהירים האזורים הבהירים צריכים לבלוט מתוך המסך, וללכוד את התפיסה של המשתמש של הטווח הדינמי האמיתי של הסצנה. בהשוואה לקליפ ב-HDR, קליפ ה-SDR אמור להיראות שטוח יותר ובהיר פחות.
- בסצנת הפלט הבהיר, בהתאם לכוונון של המכשיר, איכות ה-HDR רואים הבדל ברור בבהירות המסך בהשוואה קליפ SDR. בקליפ HDR, רמת הבהירות של המסך של כל הסצנה (בהתאם לפוטנציאל) צריך להיות גבוה יותר. לדוגמה, עד 800 nit אפילו יותר עבור האזורים הבהירים, כמו פגושים של Chrome, בהירות מקסימלית.
- לצילום בתוך מבנים בטווח דינמי בינוני, נמוך, תמונות HDR ו-SDR. הצבעים והגוונים של קטעי ה-HDR דומים, לכן צילום באיכות HDR עשוי בהירים יותר מה-SDR. איכות HDR לא יכולה להיות כהה יותר מ-SDR. אם המיקום בחירה באפשרות הכוונון הופכת את זה לבלתי אפשרי, לכן חשוב לוודא תואמת להתנהגות של אפליקציית המצלמה המקורית.