מכשירים עם Android 10 תומכים ב-HEIC בפורמט של תמונה דחוסה, מותג ספציפי של קידוד וידאו יעילות (HEVC) של תמונה עם יעילות גבוהה פורמט קובץ (HEIF) כפי שמצוין ב- ISO/IEC 23008-12. מבצע תמונות בקידוד HEIC איכות תמונה טובה יותר עם קבצים קטנים יותר בהשוואה לקובצי JPEG.
תמונות HEIC נוצרות על ידי מסגרת המצלמה שמבקשת העלאה לא דחוסה תמונה מ- מצלמה HAL ושליחה למערכת המשנה של המדיה אל להיות מקודדים באמצעות מקודד HEIC או HEVC.
הדרישות
כדי לתמוך בפורמט התמונה HEIC, במכשיר שלכם צריך להיות מקודד חומרה
תומך
MIMETYPE_IMAGE_ANDROID_HEIC
או
MIMETYPE_VIDEO_HEVC
עם
מצב איכות קבוע.
הטמעה
כדי לתמוך בפורמט התמונה HEIC במכשיר שלך, יש להטמיע קודק HEIC/HEVC
ולספק תמיכה להגדרות השידור הנדרשות,
IMPLEMENTATION_DEFINED
/YUV
שידורים ושידורים של פלחי אפליקציות בפורמט JPEG.
מדיה
להטמיע את קודק HEIC/HEVC במצב איכות קבועה (CQ) עבור בחומרה המתאימה, באופן הבא:
- קודק סוג HEVC צורך
IMPLEMENTATION_DEFINED
בפורמטGRALLOC_USAGE_HW_VIDEO_ENCODER
HAL_PIXEL_FORMAT_YCBCR_420_888
, בהתאם לגודל התמונה. - קודק סוג HEIC משתמש בפורמט
IMPLEMENTATION_DEFINED
עם שימוש ב-GRALLOC_USAGE_HW_IMAGE_ENCODER
.
מצלמה
במטא-נתונים הסטטיים, מגדירים את ANDROID_HEIC_INFO_SUPPORTED
כ-true,
ANDROID_HEIC_INFO_MAX_JPEG_APP_SEGMENTS_COUNT
לערך בין [1, 16]
,
שמציין את מספר מקטעי היישום JPEG.
עבור כל שילוב נדרש של סטרימינג, התקן המצלמה צריך לתמוך בהחלפה שידור JPEG עם שידור HEIC באותו גודל.
לשידור של פלט HEIC ב-API הציבורי, שירות המצלמה יוצר שתי רמות HAL זרמים פנימיים:
- זרם BLOB עם סימון השימוש
JPEG_APPS_SEGMENT
לחנות האפליקציה פלחים, כולל קטעים EXIF ותמונות ממוזערות - שידור של
IMPLEMENTATION_DEFINED
אוYCBCR_420_888
בגודל של שידור HEIC בהתאם לקודק היעד ולגודל הסטרימינג HEIC
על סמך ANDROID_HEIC_INFO_MAX_JPEG_APP_SEGMENTS_COUNT
, מסגרת המצלמה
מקצה מאגרי נתונים גדולים מספיק כדי שהמצלמה עם ה-HAL תאכלס את אפליקציית JPEG
פלחים. הקטע APP1
הוא חובה, אבל יש פלחים שאחרי APP1
פילוחים (APP2
ומעלה) הם אופציונליים. מסגרת המצלמה מבטלת את EXIF
תגים בקטע APP1
שנגזרים מהמטא-נתונים של תוצאת הצילום
או קשורים ל-bitstream של התמונה הראשית ושולח אותם אל MediaMuxer
.
כי מקודד המדיה מטמיע את הכיוון במטא-נתונים של הפלט
תמונות, כדי להבטיח כיוון עקבי בין התמונה הראשית לתמונה הממוזערת,
אסור לסובב את התמונה הממוזערת עם ה-HAL במצלמה על סמך
android.jpeg.orientation.
ה-framework כותב את הכיוון ב-EXIF
מטא-נתונים ומאגר HEIC.
גם תגי המטא-נתונים הסטטיים, תגי הבקרה והמטא-נתונים הדינמיים שקשורים לפורמט JPEG
חלות על פורמט HEIC. לדוגמה, android.jpeg.orientation
ו-
android.jpeg.quality
תגי מטא-נתונים בבקשת הלכידה משמשים כדי לקבוע
הכיוון והאיכות של תמונות HEIC.
כדי להשתמש בפורמט HEIC באפליקציה, צריך להשתמש HEIC ציבורי API.
כדי לקבל מידע נוסף, אפשר להיעזר במקורות הבאים.
מצלמה עם HAL
שטח נתונים של מאגר נתונים זמני וגרפי
שטח השימוש במאגר הנתונים הזמני
אימות
כדי לוודא שההטמעה תומכת בתמונות HEIC, צריך להשתמש
TestingCamera2
את אפליקציית הבדיקה ולהריץ את בדיקות ה-CTS ו-VTS הבאות של המצלמה.
בדיקות CTS של המצלמה
NativeImageReaderTest#testHeic
ImageReaderTest#testHeic
ImageReaderTest#testRepeatingHeic
ReprocessCaptureTest#testBasicYuvToHeicReprocessing
ReprocessCaptureTest#testBasicOpaqueToHeicReprocessing
RobustnessTest#testMandatoryOutputCombinations
StillCaptureTest#testHeicExif
בדיקות VTS של המצלמה