החל מ-27 במרץ 2025, מומלץ להשתמש ב-android-latest-release
במקום ב-aosp-main
כדי ליצור תרומות ל-AOSP. מידע נוסף זמין במאמר שינויים ב-AOSP.
Ultra HDR
קל לארגן דפים בעזרת אוספים
אפשר לשמור ולסווג תוכן על סמך ההעדפות שלך.
ב-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
בדיקות ITS
בדיקות ידניות
כדי לבצע בדיקות ידניות, אפשר להשתמש בהטמעת הדוגמה לצילום תמונות Ultra HDR, שכוללת תמיכה בהגדרה ובצילום של Ultra HDR באמצעות פורמט התמונה JPEG_R
.
דוגמאות התוכן והקוד שבדף הזה כפופות לרישיונות המפורטים בקטע רישיון לתוכן. Java ו-OpenJDK הם סימנים מסחריים או סימנים מסחריים רשומים של חברת Oracle ו/או של השותפים העצמאיים שלה.
עדכון אחרון: 2025-07-26 (שעון UTC).
[[["התוכן קל להבנה","easyToUnderstand","thumb-up"],["התוכן עזר לי לפתור בעיה","solvedMyProblem","thumb-up"],["סיבה אחרת","otherUp","thumb-up"]],[["חסרים לי מידע או פרטים","missingTheInformationINeed","thumb-down"],["התוכן מורכב מדי או עם יותר מדי שלבים","tooComplicatedTooManySteps","thumb-down"],["התוכן לא עדכני","outOfDate","thumb-down"],["בעיה בתרגום","translationIssue","thumb-down"],["בעיה בדוגמאות/בקוד","samplesCodeIssue","thumb-down"],["סיבה אחרת","otherDown","thumb-down"]],["עדכון אחרון: 2025-07-26 (שעון UTC)."],[],[],null,["# Ultra HDR\n\nAndroid 14 provides support for capturing Ultra HDR\ncompressed images using the\n[`JPEG_R`](https://developer.android.com/reference/kotlin/android/graphics/ImageFormat#jpeg_r)\nimage format. This format is backward compatible with SDR JPEG images and\nsupports HDR rendering of content.\nFor details about the Ultra HDR format specification, see\n[Ultra HDR Image Format v1.0](https://developer.android.com/guide/topics/media/hdr-image-format).\n\nImplementation\n--------------\n\nThis section describes how to implement the Ultra HDR feature.\n\n### Reference implementation\n\nThe AOSP camera framework and camera service includes a reference Ultra HDR\nimplementation.\n\nIn addition to the reference functionality in the camera framework, you can\nimplement Ultra HDR within the camera HAL and advertise support for `JPEG_R`\noutput in the same way as other camera HAL output streams. In this scenario,\nthe camera HAL must generate the necessary recovery map and the final `JPEG_R`\nimage as defined by the\n[Ultra HDR specification](https://developer.android.com/guide/topics/media/hdr-image-format#introduction).\nYou can optimize and tune the final output depending on the device hardware\nand software capabilities.\n\n### Implementation options\n\nDevice manufacturers can decide on the following levels of Ultra HDR support for\ntheir devices:\n\n- **Minimal:** In this configuration, Ultra HDR output through the camera service composite stream functionality is disabled by default. To enable the `JpegRCompositeStream` reference implementation, set the `ro.camera.enableCompositeAPI0JpegR` system property to `true`. Because all processes and encoding is performed in software, this option can result in increased latency and decreased performance.\n- **Moderate:** With this option, the `JpegRCompositeStream` implementation uses a HAL-provided SDR JPEG file as a base image and a P010 frame to calculate a recovery map. This option involves software processing within the data path but is relatively minor compared to the minimal option.\n- **Extensive:** The camera HAL advertises and supports the `JPEG_R` output stream directly. This option lets device manufacturers implement device-specific optimizations and can provide significant image quality improvements.\n\nTo disable the `JpegRCompositeStream` implementation, set the\n`ro.camera.disableJpegR` build property to `true`. If this build property isn't\nset or is set to `false`, Ultra HDR is enabled by default through\n`JpegRCompositeStream` on devices supporting\n[10-bit output capability](https://developer.android.com/reference/android/hardware/camera2/CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_DYNAMIC_RANGE_TEN_BIT)\nand\n[concurrent 10 and 8-bit capture](https://developer.android.com/reference/android/hardware/camera2/params/DynamicRangeProfiles#getProfileCaptureRequestConstraints(long)).\n\nValidation\n----------\n\nTo validate the Ultra HDR feature on your device, run the following tests.\n\n### CTS tests\n\n- [`ImageReaderTest.java#testImageReaderBuilderWithBLOBAndJpegR`](https://android.googlesource.com/platform/cts/+/refs/heads/android16-release/tests/camera/src/android/hardware/camera2/cts/ImageReaderTest.java#815)\n- [`ImageReaderTest.java#testJpegR`](https://android.googlesource.com/platform/cts/+/refs/heads/android16-release/tests/camera/src/android/hardware/camera2/cts/ImageReaderTest.java#503)\n- [`ImageReaderTest.java#testJpegRDisplayP3`](https://android.googlesource.com/platform/cts/+/refs/heads/android16-release/tests/camera/src/android/hardware/camera2/cts/ImageReaderTest.java#526)\n- [`PerformanceTest.java#testSingleCapture`](https://android.googlesource.com/platform/cts/+/refs/heads/android16-release/tests/camera/src/android/hardware/camera2/cts/PerformanceTest.java#313)\n- [`StillCaptureTest.java# testJpegRCapture`](https://android.googlesource.com/platform/cts/+/refs/heads/android16-release/tests/camera/src/android/hardware/camera2/cts/StillCaptureTest.java#192)\n\n### ITS tests\n\n- [`scene4#test_aspect_ratio_and_crop`](https://android.googlesource.com/platform/cts/+/refs/heads/android16-release/apps/CameraITS/tests/scene4/test_aspect_ratio_and_crop.py)\n\n### Manual tests\n\nTo perform manual tests, use the\n[sample implementation for Ultra HDR image capture](https://github.com/android/platform-samples/pull/56),\nwhich includes support for the configuration and capture of Ultra HDR using the\n`JPEG_R` image format."]]