הדמיה HEIF

מכשירים עם אנדרואיד 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.

כְּלֵי תִקְשׁוֹרֶת

הפעל את ה-codec HEIC/HEVC במצב איכות קבוע (CQ) עבור החומרה המתאימה באופן הבא:

  • ה-codec מסוג HEVC צורך את הפורמט IMPLEMENTATION_DEFINED עם השימוש GRALLOC_USAGE_HW_VIDEO_ENCODER או את הפורמט HAL_PIXEL_FORMAT_YCBCR_420_888 בהתאם לגודל התמונה.
  • ה-codec מסוג 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 שניתן לגזור ממטא-נתונים של תוצאת הלכידה או שהם קשורים לזרם הסיביות הראשי של התמונה ושולחת אותם ל- MediaMuxer .

מכיוון שמקודד המדיה מטמיע את הכיוון במטא-נתונים של תמונות פלט, כדי להבטיח כיוון עקבי בין התמונה הראשית לתמונה הממוזערת, אסור ל-HAL של המצלמה לסובב את תמונת התמונה הממוזערת בהתבסס על android.jpeg.orientation. המסגרת כותבת את האוריינטציה למטא-נתונים של EXIF ​​ולמיכל HEIC.

תגיות המטא נתונים הסטטיות, הבקרה והדינמיות הקשורות לפורמט JPEG חלות גם על פורמט HEIC. לדוגמה, תגיות המטא נתונים android.jpeg.orientation ו- android.jpeg.quality בבקשת הלכידה משמשות לשליטה בכיוון ובאיכות של תמונות HEIC.

כדי להשתמש בפורמט HEIC באפליקציה, השתמש ב- API הציבורי של HEIC .

למידע נוסף, עיין במקורות הבאים.

מצלמה HAL

מרחב נתוני מאגר גרפי

שטח שימוש במאגר גרפי

מַתַן תוֹקֵף

כדי לוודא שהיישום שלך תומך בתמונות HEIC, השתמש באפליקציית הבדיקה TestingCamera2 והפעל את בדיקות ה-CTS וה-VTS הבאות של המצלמה.

בדיקות CTS במצלמה

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