日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android P新的图片格式 HEIF 调研

發(fā)布時間:2023/12/29 Android 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android P新的图片格式 HEIF 调研 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

備忘,以后用到好查,轉:https://segmentfault.com/a/1190000015947004?utm_source=tag-newest

?

HEIF

HEIF是什么?
HEIF format & features?
HEIF優(yōu)缺點,商業(yè)價值?
Nokia HEIF?
Android P對HEIF的支持情況?
IOS對HEIF的支持情況?
兼容性問題?

HEIF是什么?

HEIF是一個新的圖片格式
不同于jpeg的是,heif是容器和編碼分開的,編碼可以是hevc,h264,vpx等(解碼一樣),由于容器和編碼分開的設計,heif里可以放很多信息,包括多張圖片,音頻,文本等

它定義了封裝格式,編碼格式,以及圖像的展示方式,甚至涉及到與用戶如何交互
所以一套完整的 HEIF解決方案,一定是平臺相關的,不只包含了拆包封包,還包括了編解碼,展示,這些都需要與平臺的接口整合

HEIF format & features?

Format:
compatible with the ISO Base Media File Format (ISOBMFF, ISO/IEC 14496-12)

Features:
Storage of burst photos.
Support for simultaneous capture of video and still images, i.e. storing still images and timed image sequences into the same file.
Efficient representation of animations and cinemagraphs.
Storage of focal and exposure stacks into the same container file.
Storage of images derived from other images of the file, either as derived images represented by non-destructive image editing operations or as pre-computed derived images.
Support for storing other media, such as audio and timed text, into the same container file with timed image sequences and synchronizing their playback.

HEIF優(yōu)缺點,商業(yè)價值?

優(yōu)點:
壓縮比高,在相同的圖片質量情況下,平比 JPEG 高兩倍
能增加如圖片深度信息,透明通道等輔助圖片。(蘋果正是通過這個就能實現(xiàn)動態(tài)的調整圖片的景深)
支持存放多張圖片,類似相冊和集合。(實現(xiàn)多重曝光的效果)
支持多張圖片實現(xiàn) GIF 和 livePhoto 的動畫效果
無類似 JPEG 的最大像素限制
支持縮略圖
支持透明像素
分塊加載機制

缺點:
應用不廣泛,兼容性不好,平臺應用都要支持適配,產(chǎn)業(yè)鏈條長

主要圖片格式對比

Nokia HEIF?

Nokia的實現(xiàn)只有read/writer,相當于協(xié)議的拆包封包,其他都沒有
它不是一個完整的解決方案
在Android上實現(xiàn)這個解決方案需要較大投入,兩種實現(xiàn)方式都要較大投入:
1.嵌入android框架
2.獨立SDK

Demo?

便于理解HEIF和Nokia API
實現(xiàn)了一個Demo,有些類型的顯示方式需要投入較大精力比如grid,overlay實現(xiàn)不完全但是可以展示圖片,static,sequences都是正常展示的

Demo最終實現(xiàn)設想?SDK方式

Android P對HEIF的支持情況?

Android P只支持靜態(tài)的顯示HEIF,無論什么類型的HEIF
對HEIF的解析是OK的,不論什么類型都可以解析出
只能封裝靜態(tài)的HEIF
由于HEIF的編解碼器以hevc,avc,aac為主所以decode和encode一般都是支持的
支持HEIF掃描

有幾個關心的問題:
HEIF的顯示,ImageDecoder/BitmapFactory + ImageView
HEIF轉Jpeg,BItmapFactory
YUV,Surface,Jpeg轉HEIF,androidx.heifwriter.HeifWriter
在這里HEIF的主要價值是高壓縮率,其他帶來的價值沒有得到體現(xiàn),或者只是google試水

IOS對HEIF的支持情況?

支持靜態(tài)heif的展示,不支持sequence,其他格式都是靜態(tài)展示
從測試情況看不支持解析sequence類型
所以也不支持sequence類型的掃描
屏幕快照 2018-08-14 下午2.25.08

兼容性問題?

由于HEIF的使用還不像jpeg那么廣泛,所以在用戶使用環(huán)境中會有兼容的問題
比如我的手機支持HEIF,但是你的手機或電腦不支持,或者我想分享到朋友圈,微信不支持等等

蘋果最先實現(xiàn)了HEIF商業(yè)化,它的一些做法可以借鑒:
1.分享的時候比如朋友圈,email等,把HEIF轉成Jpeg
2.設備之間共享或多屏互動的時候,會查詢對方是否支持HEIF,不支持的情況下轉換成Jpeg

平臺支持,應用適配需要一個過程

HEIF轉Jpeg效率問題?
在Android P pixel XL上用bitmapfactory的方式試了下,resolution 1440x960 quality 100, 耗時在200ms左右,不同的機型CPU等效果是不一樣的這個后邊再次統(tǒng)計下,現(xiàn)在市面上Android P的手機太少

專利 專利 專利

之前介紹了heif format是跟mpeg4-12兼容的,那mpeg4parser是可以解析heif的大部分情況的

通過mpeg4 extractor或者mp4parser是不是可以避免專利方面的問題呢,暫時不清楚,可能會部分避開,但是heif定義的展示方式可能避不開,也許是google只實現(xiàn)了靜態(tài)展示和封裝的原因,純屬猜測。
?

Android P

上一節(jié)提到heif format是跟mpeg4-12兼容的
Android通過mediaextractor/mpeg4extractor/mediamux/mediacodec來解析解碼和編碼封裝heif
Android8.0實際上就已經(jīng)有代碼加入了

?

總結

以上是生活随笔為你收集整理的Android P新的图片格式 HEIF 调研的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。