HEIF 图片存储格式揭秘

HEIF : High Efficiency Image File Format,即高效率图档格式 是由动态图像专家组(MPEG–Moving Picture Experts Group )在2013年推出的存储图片和图片序列的新格式,用于HEVC关键帧的处理上,因此它同样可以用更少的容量来存储画质更好的照片,在连拍、动图和色彩变化不大的照片上效果尤其明显。

官网:http://nokiatech.github.io/heif/

比较:http://nokiatech.github.io/heif/comparison.html

GitHub地址:https://github.com/nokiatech/heif

目前,这种格式在应用上,还比较局限,主要用在苹果设备上(还是在IOS11 系统,iphone7设备上),但是它的压缩率和效果相比于传统的JPGE图片优势还是十分明显的。

(就是不知道里面应用到的HEVC编码技术与其自身的专利费会不会太贵,后续是否可以得到比较好的推广应用O(∩_∩)O)

在最新的androidP 的CTS 中也增加了 HEIF相关的 测试用例,主要有如下一些:

android.media.cts.HeifWriterTest#testInputSurface_Grid_Handler

android.media.cts.HeifWriterTest#testInputSurface_Grid_NoHandler

android.media.cts.HeifWriterTest#testInputSurface_NoGrid_Handler

android.media.cts.HeifWriterTest#testInputSurface_NoGrid_NoHandler


这些测试用例中基本处理流程为:

Surface(RGB)->Encoder(硬编码H265)->HeifWriter(封装 .heic文件)->-->HeifWriter(解封装  .heic文件)->Decoder(软解码H265)->拼成原始图片显示->颜色校验

(后续补个流程图)


其中,编码器用硬编码是因为谷歌原生还没有提供H265软编码库,因此会走到各个厂商提供的硬编码

(或者产商自行提供的软编码库);


必须注意的是HEIF 格式 对编码器有一定的需求,就是每一帧都需要编码器IDR帧,可以独立解码,后期独立编辑。


后面有机会在翻译以下HEIF的协议,待续~

O(∩_∩)O



你可能感兴趣的:(HEIF 图片存储格式揭秘)