תמונת HEIF

מכשירים עם 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 של המצלמה

בדיקות VTS של המצלמה