ב-Android 14 יש תמיכה בצילומים של תמונות Ultra HDR דחוסות באמצעות פורמט התמונה JPEG_R
. הפורמט הזה תואם לאחור לתמונות JPEG ב-SDR, ותומך ברינדור של תוכן ב-HDR.
למידע נוסף על מפרט הפורמט של Ultra HDR, אפשר לעיין במאמר Ultra HDR Image Format v1.0.
הטמעה
בקטע הזה נסביר איך מטמיעים את התכונה Ultra HDR.
הטמעת הפניה
מסגרת המצלמה ושירות המצלמה של AOSP כוללים הטמעה של Ultra HDR לדוגמה.
בנוסף לפונקציונליות העזרה במסגרת המצלמה, אפשר להטמיע Ultra HDR ב-HAL של המצלמה ולהציג תמיכה בפלט JPEG_R
באותו אופן שבו מוצגת תמיכה בשידורי פלט אחרים של HAL של מצלמה. בתרחיש הזה, ה-HAL של המצלמה צריך ליצור את מפת השחזור הנדרשת ואת התמונה הסופית JPEG_R
כפי שהיא מוגדרת במפרט Ultra HDR.
אפשר לבצע אופטימיזציה ולכוונן את הפלט הסופי בהתאם ליכולות החומרה והתוכנה של המכשיר.
אפשרויות הטמעה
יצרני המכשירים יכולים להחליט על רמות התמיכה הבאות ב-Ultra HDR במכשירים שלהם:
- מינימלית: בהגדרה הזו, הפלט של Ultra HDR דרך הפונקציונליות של מקבץ הנתונים של שירות המצלמה מושבת כברירת מחדל. כדי להפעיל את ההטמעה של ההפניה
JpegRCompositeStream
, מגדירים את מאפיין המערכתro.camera.enableCompositeAPI0JpegR
לערךtrue
. מאחר שכל התהליכים והקידוד מתבצעים בתוכנה, האפשרות הזו עלולה להוביל לזמן אחזור ארוך יותר ולירידה בביצועים. - בינונית: באפשרות הזו, ההטמעה של
JpegRCompositeStream
משתמשת בקובץ JPEG SDR שסופק על ידי HAL כתמונה בסיסית ובפריים P010 כדי לחשב מפת שחזור. האפשרות הזו כוללת עיבוד תוכנה בנתיב הנתונים, אבל הוא מינימלי בהשוואה לאפשרות המינימלית. - נרחבת: HAL המצלמה מפרסם את שידור הפלט
JPEG_R
ותומך בו ישירות. האפשרות הזו מאפשרת ליצרני המכשירים להטמיע אופטימיזציות ספציפיות למכשיר, וכך לשפר משמעותית את איכות התמונות.
כדי להשבית את ההטמעה של JpegRCompositeStream
, מגדירים את מאפיין ה-build ro.camera.disableJpegR
לערך true
. אם מאפיין ה-build הזה לא מוגדר או מוגדר לערך false
, התכונה Ultra HDR מופעלת כברירת מחדל דרך JpegRCompositeStream
במכשירים שתומכים ביכולת פלט של 10 ביט ובצילום בו-זמנית של 10 ו-8 ביט.
אימות
כדי לאמת את תכונת Ultra HDR במכשיר, צריך להריץ את הבדיקות הבאות.
בדיקות CTS
ImageReaderTest.java#testImageReaderBuilderWithBLOBAndJpegR
ImageReaderTest.java#testJpegR
ImageReaderTest.java#testJpegRDisplayP3
PerformanceTest.java#testSingleCapture
StillCaptureTest.java# testJpegRCapture
בדיקות ITS
בדיקות ידניות
כדי לבצע בדיקות ידניות, אפשר להשתמש בהטמעת הדוגמה לצילום תמונות Ultra HDR, שכוללת תמיכה בהגדרה ובצילום של Ultra HDR באמצעות פורמט התמונה JPEG_R
.