HEIF全称High Efficiency Image File Format(高效图像文件格式),是一种高效的图片封装格式,文件名通常为.heif或者.heic后缀。HEIF能够在保持画质不变的前提下缩减至少50%的文件体积,被誉为JPEG终结者。

使用iPhone的用户应该比较熟悉HEIF,苹果公司早在2017年全球开发者大会 WWDC 上详细介绍了HEIF的特点和优势,甚至将HEIF作为iOS系统默认的照片存储格式,并形容HEIF为“JPEG is ysy big but HEIF is brief."。(JPEG很大,HEIF却很精小)。在2018年Windows 10系统、Android 9系统以及三星Note9开始支持HEIF图像格式,今年发布的小米10系列、OPPO Find X2系列,也支持了HEIF图像格式,而对象存储COS近年来逐步集成了HEIF转码的高级图片压缩技术。

为什么HEIF如此备受关注呢?它和JPG相比优势点在哪里?

文件体积减少50%

HEIF采用了最先进的H.265视频编码技术,可以大幅度减少文件体积,在保证图像视觉效果不变的前提下,如下图对比,减少50%的图像大小。HEIF不单只比JPG有更小的体积,在较低体积时,JPG容易失真(如下图的蚊式噪声),而HEIF基本看不出失真。

画质更好,色深更高,颜色更丰富

JPG格式色深通常为8bit,而HEIF格式拥有最高16bit色深,大部分手机和电脑屏幕支持1600万色即8bit屏幕,HEIF格式则要求上亿色屏幕,这也是过去几年HEIF发展受限的原因。但近年来,随着图片拍摄性能的成倍增长,不少手机都支持10亿色屏幕的HEIF格式,如iPhone 12 Pro、小米骁龙855等,使图像可以展示更多的画面细节和色彩过渡。

记录内容更丰富,更灵活

相比JPG格式只能存储静态图像、EXIF和元数据等信息,HEIF格式还能存储景深、透明通道等,甚至可以存储动态图像、视频、音频等,所以有更丰富的后期处理空间。如HEIF支持透明图层、拍照的景深图像等都可以存储成数据作后期修改。随着手机性能越来越强大,可以在拍照时保存视频和录音,但因为文件容量和格式等限制,图像和音视频无法合成一个文件,而HEIF格式的照片、视频、音频可以封装成单一文件。

从90年代到现在,JPEG技术及标准被沿用了近三十年,虽然有许多工程化的优化,但核心思路及算法并没有本质的改变,也就是压缩率收益基本没太大提升。而这三十年间,数字图像从原来的240P、320P、480P,发展到现在动则1080P、2K、4K,图像数据翻了几十倍甚至上百倍,显然JPEG格式已经逐渐不能满足日新月异的图像需求。而HEIF早在2015年已开发完成,为什么直到近年来才开始展露头角,阻碍HEIF发展的关键问题之一便是算力。在HEIF提出的时代,常见的转码服务器,最多只能提供延时在200-300ms左右一张1080P图片的编码能力。在这种情况下,横向对比延时只在10ms级别的JPEG,HEIF可能就没那么香了。

但随着硬件能力的进步及工程算法的发展,HEIF在目前常见的服务器上已经缩减到150ms以内,考虑上动则几十核的服务器CPU,单台服务器的QPS已经可以达到120-500左右。如果考虑上GPU的硬件编码能力,单台异构服务器可能能达到上千QPS的能力。如今面临越来越强烈的HEIF诉求,也逐渐出现了包括ASIC、FPGA等实现,而这类实现已经可以将QPS提升到单卡轻松破千的水平。然而无论是购置专用服务器还是相应的硬件运维,对公司及企业来说,都是一笔不菲且风险较高的投资,且这还不说面临业务增长的横向扩容、冗余处理等问题,即使不考虑折旧率和运维等问题,如何充分发挥算力或最大化收益,依然是个艰巨问题。

因此,对于变革性的HEIF技术而言,最好的方法便是紧跟着上云的潮流,通过成熟的云服务供应商提供对应的PaaS能力,将运维、升级、扩容、冗余、均衡等问题统一交给可信可靠的大型云服务供应方。云服务商一方面有动则万核万卡的服务器阵列,提供高效稳定且可弹性伸缩的能力,另一方面由于云服务商本身接入海量的业务及客户,因此服务器采购、运营等成本最终均摊后到最后的使用者身上便可量化到极为廉价的按量收费或按次收费。这对云服务商和接入的公司企业来说,是一个双赢的局面。

截至目前,能提供成熟HEIF转码能力的云服务商仅有以腾讯云对象存储COS在列的寥寥几家。其中,在适用性、硬件投入、稳定性、性能等方面,COS的处理能力毫无疑问都是第一梯队。目前,以COS标准算力提供的HEIF转码图片压缩功能延时性能(不计算网络传输延时)大致如下:

如果采用COS更高主频的机器,响应的延时还会下降20%-40%,这还没考虑COS即将上线的硬件转码能力。

近年,越来越多的终端设备开始原生支持HEIF转码,如前面提到的苹果、小米等设备厂商,极大地推动了HEIF生态圈的完善,给软件开发者、业务方提供了便利,为HEIF格式的推广打下了坚实的基础。可能适配率只有10%、20%的时候,开发者、企业们仍然在纠结,但一旦超过50%,那不需要再做任何推广普及,在利益驱动下,只会一拥而上,拥抱HEIF。随着越来越高的适配率,以及终端高性能解码的支持,HEIF替代JPEG几乎是必然的趋势。

时代新宠儿——HEIF图像格式:节省50%空间的更多相关文章

  1. 人力节省 50%,研发效能提升 40%,阿里 Serverless 架构落地实践

    作者 | 万佳 嘉宾 | 杨皓然(不瞋) 导读:云的下一波浪潮是什么?杨皓然称"是 Serverless".作为一名阿里老兵,他早在 2010 年即加入阿里云,曾深度参与阿里云飞天 ...

  2. 西安活动 | 4月20日「拥抱开源,又见.NET :云时代 • 新契机」

    云计算日渐兴起,成为提升企业效率和生产力的最终解决方案,而云时代也为软件开发模式带来了翻天覆地的变化.可以说 .NET Core就是这个时代催生的产物.自2016年 .NET Core 1.0 发布以 ...

  3. 成本节省 50%,10 人团队使用函数计算开发 wolai 在线文档应用

    作者: 马锐拉 我们的日常工作场景几乎离不开"云文档".目前,人们对于文档的需求再不仅仅是简单的记录,而扩展到办公协同.信息组织.知识分享等.在国内众多在线文档中,wolai 因为 ...

  4. JS高级---构造函数通过原型添加方法,原型的作用: 共享数据, 节省内存空间

    JS高级---构造函数,通过原型添加方法,原型的作用: 共享数据, 节省内存空间 构造函数 //构造函数 function Person(sex, age) { this.sex = sex; thi ...

  5. Kubernetes 新时代的宠儿

    本文首发于我的公众号 Linux云计算网络(id: cloud_dev),专注于干货分享,号内有 10T 书籍和视频资源,后台回复「1024」即可领取,欢迎大家关注,二维码文末可以扫. Kuberne ...

  6. iOS 影音新格式 HEIF HEVC

    苹果在 iOS 11 的发布会上,推出了两种新的媒体格式 HEIF HEVC,都是为了保证画质的情况下,大大减少视频.照片的大小. 一.简介 HEVC全称 High Efficiency Video ...

  7. 推荐一款自己的软件作品[豆约翰博客备份专家],新浪博客,QQ空间,CSDN,cnblogs博客备份,导出CHM,PDF(转载)

    推荐一款自己的软件作品[豆约翰博客备份专 豆约翰博客备份专家是完全免费,功能强大的博客备份工具,博客电子书(PDF,CHM和TXT)生成工具,博文离线浏览工具,软件界面美观大方,支持多个主流博客网站( ...

  8. 大数据量场景下storm自定义分组与Hbase预分区完美结合大幅度节省内存空间

    前言:在系统中向hbase中插入数据时,常常通过设置region的预分区来防止大数据量插入的热点问题,提高数据插入的效率,同时可以减少当数据猛增时由于Region split带来的资源消耗.大量的预分 ...

  9. Cuckoo hash算法分析——其根本思想和bloom filter一致 增加hash函数来解决碰撞 节省了空间但代价是查找次数增加

    基本思想: cuckoo hash是一种解决hash冲突的方法,其目的是使用简单的hash 函数来提高hash table的利用率,同时保证O(1)的查询时间 基本思想是使用2个hash函数来处理碰撞 ...

  10. 物联网时代-新基建-ThingsBoard调试环境搭建

    前言 2020开年之际,科比不幸离世.疫情当道.经济受到了严重的损失.人们都不幸的感慨: 2020年真是太不真实的一年,可以重新来过就好了!国家和政府出台了拯救经济和加速建设的利好消息.3月份最热的词 ...

随机推荐

  1. Kubernetes StatefulSet 控制器(二十一)

    前面我们学习了 Deployment 和 ReplicaSet 两种资源对象得使用,在实际使用的过程中,Deployment 并不能编排所有类型的应用,对无状态服务编排是非常容易的,但是对于有状态服务 ...

  2. 第22天:安全开发-PHP应用&留言板功能&超全局变量&数据库操作&第三方插件引用

    #数据库操作-mysqli函数&增删改查 PHP函数:连接,选择,执行,结果,关闭等 参考:https://www.runoob.com/php/php-ref-mysqli.html 常用: ...

  3. Maya 2019.2 Mtoa 无法正常加载并报错

    事件起因: 在开始安装 Maya2019.2 时自动安装的 Mtoa 的版本为 5.3.1,但是在插件管理器里无法启用插件,于是乎去网上下了一个低的版本 5.1.1,虽然可以使用但是渲染出来的东西不能 ...

  4. hive操作 -- zeppelin安装及配置

    当时写hive用的是zeppelin,这个工具可以直接在页面上写sql语句,操作服务器上的hive库,还挺方便的 通过zeppelin实现hive的查询结果的可视化 启动过程中会报错:User: to ...

  5. 浏览器中生成 OSS 令牌 | Web Crypto API

    笔者写文章的时候,都会把图片通过自己搭建的一个简单站点 https://imgbed.sugarat.top/ 把图片上传到各种云的对象存储服务(OSS)上. 然后通过CDN访问,保证图片有可靠的访问 ...

  6. 读取.raw格式文件(学习记录)

    import cv2 #OpenCV包 import numpy as np # 首先确定原图片的基本信息:数据格式,行数列数,通道数 rows=886#图像的行数 cols=492#图像的列数 ch ...

  7. replace 和 replaceAll

    replace 匹配中的第一次:replaceAll 替换所有匹配的内容: let str = 'aj123dshf12aaaaaaaaaaa3uausdjd123suas123fus12' let ...

  8. 1. 王道OS-操作系统的概念、功能

    1. 操作系统是指控制和管理整个计算机的硬件和软件资源,并合理地组织调度计算机的工作和资源的分配:以提供给用户和其他软件方便的接口和环境:他是计算机系统最基本的系统软件: 操作系统需要向其他软件提供服 ...

  9. Android复习(二)应用资源

    1. res下的资源类型 目录 资源类型 animator/ 用于定义属性动画的 XML 文件. anim/ 用于定义渐变动画的 XML 文件.(属性动画也可保存在此目录中,但为了区分这两种类型,属性 ...

  10. Hugging Face 与 TruffleHog 合作,实现风险预警

    我们非常高兴地宣布与 Truffle Security 建立合作伙伴关系并在我们的平台集成 TruffleHog 强大的风险信息扫描功能.这些特性是 我们持续致力于提升安全性 的重要举措之一. Tru ...