ב-Android 14 יש תמיכה בצילום תמונות דחוסות בפורמט Ultra HDR באמצעות פורמט התמונה JPEG_R
. הפורמט הזה תואם לאחור לתמונות JPEG ב-SDR ותומך בהצגת תוכן ב-HDR.
לפרטים על מפרט הפורמט Ultra HDR, אפשר לעיין במאמר בנושא פורמט התמונות Ultra HDR גרסה 1.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
.