במכשירים עם Android מגרסה 13 ואילך, יש תמיכה ב-Android בפלט של מצלמה ב-10 ביט באמצעות פרופילים של טווח דינמי שאפשר להגדיר על ידי לקוח המצלמה כחלק מהגדרת הסטרימינג. יצרני המכשירים יכולים להוסיף תמיכה בפרופילים של טווח דינמי של 10 ביט, כמו HLG10, HDR 10, HDR 10+ ו-Dolby Vision.
תמיכה בפלט של מצלמה ב-10 ביט מאפשרת ללקוחות מצלמה לגלות את הפרופילים הנתמכים של טווח דינמי ב-10 ביט של מכשיר, על ידי קריאה ל-getSupportedProfiles
.
לאחר מכן, המסגרת מחזירה מופע של DynamicRangeProfiles
, שכולל מידע על פרופילים נתמכים של טווח דינמי, ואם הם זמינים, אילוצים של בקשות צילום. צריכה להיות תמיכה בפרופיל HLG10
. פרופיל הטווח הדינמי המומלץ מופיע בשדה REQUEST_RECOMMENDED_TEN_BIT_DYNAMIC_RANGE_PROFILE
.
לקוחות מצלמה יכולים להגדיר שילובים של שידורים על ידי קריאה ל-setDynamicRangeProfile
.
למידע נוסף על שילובים חובה של זרמי פלט, ראו בטבלה הגדרות מובטחות נוספות לפלט של 10 ביט בקטע תיעוד רגיל.
הדרישות
כדי לתמוך בפלט של מצלמה באיכות 10 ביט, המכשיר צריך לכלול חיישן מצלמה באיכות 10 ביט או יותר עם תמיכה ISP מתאימה. פרטים על דרישות התאימות הקשורות לתמיכה ב-10 ביט מופיעים בקטע 7.5. מצלמות ב-CDD.
הטמעה
כדי לספק תמיכה בפלט מצלמה של 10 ביט, יצרני המכשירים צריכים לבצע את השילובים הבאים של מצלמת 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
להטמעה לדוגמה של Camera HAL שתומכת בפלט של מצלמה באיכות 10 ביט, ראו /hardware/google/camera/devices/EmulatedCamera/hwl
.
אימות
כדי לאמת את ההטמעה של פלט המצלמה ב-10 ביט ולוודא שאפליקציות צד שלישי יכולות להפעיל את התכונה, מומלץ לבצע את שלושת שלבי האימות הבאים.
- בדיקת תקינות הפונקציונליות של ה-API
- השוואה בין המצלמה המקורית לבין אפליקציית צד שלישי
- השוואה בין טווח דינמי סטנדרטי לבין טווח דינמי גבוה
כדי לבצע אימות חזותי של פלט המצלמה באיכות 10 ביט, ההנחה היא שהמכשיר תומך בהצגת HDR (תצוגה של 1,000 nits ומעלה) ואפליקציית הצפייה בסרטונים (למשל, Google Photos) תומכת בהפעלה של וידאו HDR.
בדיקת תקינות הפונקציונליות של ה-API
כדי לבדוק את התקינות הפונקציונלית של ה-API של פלט מצלמה של 10 ביט, מריצים את הבדיקות הבאות של ה-CTS, ה-ITS של המצלמה ו-VTS:
hardware/interfaces/camera/provider/aidl/vts/
: בדיקות של גילוי, הגדרה וסטרימינג בסיסיים, ובדיקות נוכחות של מטא-נתונים של HDR, לפי הצורך.tests/camera/src/android/hardware/camera2/cts/
: מוודא שהמצלמה פועלת בהתאם למפרטי ה-API של AOSP.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 או ב-lumens), ולכן המספרים הבאים הם דוגמאות בלבד:
- בסצנה עם תאורה בינונית עד חלשה, האזורים הבהירים של הנר או של תאורה קטנה ייראו בבהירות המקסימלית של המסך (יכול להיות עד 1,000 nits) בקטע ה-HDR, ובבהירות המקסימלית של SDR (כ-100 nits) בקטע ה-SDR. בקליפ ה-HDR, הנקודות הבהירות צריכות לזהור במסך, כדי לשקף את התפיסה של המשתמש לגבי טווח הדינמיקה האמיתי של הסצנה. בהשוואה לקליפ HDR, הקליפ SDR אמור להיראות שטוח יותר ופחות בהיר.
- בסצנת הפלט הבהירה, בהתאם לכוונון של המכשיר, יש הבדל ניכר בבהירות המסך בקטע ה-HDR בהשוואה לקטע ה-SDR. בקליפ HDR, הבהירות של המסך בסצנה הכוללת (בהתאם למרווח העליון) צריכה להיות גבוהה יותר, למשל עד 800 nit, ובמיוחד בחלקים הבהירים של הסצנה, כמו פגושי הכרום, בהבהירות המקסימלית.
- בצילום בתוך הבית בטווח הביניים עם טווח דינמי נמוך, הקליפ ב-HDR וב-SDR דומים בצבעים ובגוונים, אבל צילום ה-HDR עשוי להיות בהיר יותר מ-SDR. איכות HDR לא יכולה להיות כהה יותר מ-SDR. אם אי אפשר לעשות זאת בגלל אפשרויות ההתאמה, צריך לוודא שההתנהגות של אפליקציית הצד השלישי תואמת להתנהגות של אפליקציית המצלמה המובנית.