AVIF是一种基于AV1视频编码的新图像格式,相对于JPEG,WEBP这类图片格式来说,它的压缩率更高,并且画面细节更好。而最关键的是,它是免费且开源的,没有任何授权费用。
The AV1 format is and will always be royalty-free with a permissive FOSS license.
同时,它是由开放媒体联盟推动的一个标准,这个联盟包括了谷歌,微软,苹果等巨头,可以说是未来可期。
截止到目前(2021/3),Chrome 85版本和Firefox 86版本已经支持了AVIF。
虽然Safari没有明确说多久支持,但是考虑到苹果也在开放媒体联盟当中,应该不至于像WebP一样,拖了整整快10年才支持。(是的,Safari 14版本已经支持WebP了!)
除此之外,Android 12版本也将引入对AVIF的支持。
Talk is cheap,接下来让我们先粗略看一下AVIF在实际场景中的表现。(因为并不支持上传AVIF,所以我用一个同等视觉效果的PNG作为了替代,该示例图取自Jake Archibald的博客)
原图(2.53MB)
JPEG(20.7kb)
AVIF(18.2kb)
可以看到,JPEG在压缩到20kb的时候,整个图片已经糊得不忍直视了,肉眼可见8x8的DCT矩阵,高频的车身部分还好一些。低频的道路部分已经完全不能看了。
但是作为对比,AVIF的表现则较为良好(即使是在比JPEG还少了2.5kb的情况下)。
如果不放大图片的话,肉眼很难看出和原图有多少差异。如果放大看,才能发现阴影细节丢失较多,很多车身线条被直接平滑了,导致细节有所丢失。
但是考虑到原图的大小是2.53MB,而压缩图仅仅只有18.2kb,如果优秀的压缩率,那么这一切的牺牲都是可以接受的。
但是肉眼观感毕竟较为主观,无法量化,我们还是需要一些客观的指标来进行对比。
对于一个图片格式来说,我们最关心的肯定是它的压缩率如何。
我在网上查了一下相关benchmark,发现有位叫Daniel Aleksandersen程序员在他的博客中对于JPEG和WebP以及AVIF三种格式的压缩率做了一个非常详尽的对比。
具体结果如下,基准点为JPEG。
总体来看,AVIF全面领先,甚至是某些边界条件下,也表现较好。而WebP反而在极少数情况下,效果连JPEG都不如。(不过作者并没有给出此类条件的具体例子,这里尚不知原因)
类型 | 50分位数压缩率 | 85分位数压缩率 |
---|---|---|
WebP | -30% | -20% |
AVIF | -50% | -40% |
如果要做压缩率对比,肯定需要一个客观的标准。即这个压缩率必须是在将一张原图压缩到固定质量以后计算出的。
那么要怎么去确定固定质量是多少呢?靠肉眼肯定不行。
所以Daniel Aleksandersen的方法是采用了一个名为DSSIM的评估标准。
这个计算方式能够以近似人眼视觉的标准去评估两张图片的相似度,由此我们就能确定压缩后的图片和原图的差异有多大。我们可以合理的认为,差异越小则图片质量越高。
在这里,Daniel Aleksandersen给出一个锚定值DSSIM=0.0025,然后使用JPEG,WebP和Avif三种格式对图片进行压缩,直到得到的图片和原图DSSIM差异为0.0025。此时再对比压缩图片的大小,由此即可得出三种图片格式各自的压缩率。
最后他再使用了来自他博客的600张图片进行测试,最终的数据结果就变成了上面提到的图表。
如果想了解更多细节,可以直接访问下面的链接阅读原文
Comparing AVIF vs WebP file sizes at the same DSSIM
开篇的时候我们提到,目前Chrome 85版本和Firefox 86版本已经支持了AVIF格式,但是换句话来说,除了低于这两个版本的浏览器都不支持。这意味着要想使用AVIF格式,我们必须考虑在前端自行解码,做个polyfill。
当然,我们也可以采用如下的方案进行优雅降级,但是考虑到目前的兼容程度,该方案其实聊胜于无
<picture>
<source
srcset
=
"img/photo.avif"
type
=
"image/avif"
>
<source
srcset
=
"img/photo.webp"
type
=
"image/webp"
>
<img
src
=
"img/photo.jpg"
alt
=
"Description of Photo"
>
</picture>
我检索了一下GitHub,发现目前已经存在一个很有意思的方案了。
这个方案的特点是非常的轻量,生产版本只需要不到4kb。
它依赖service worker的请求拦截特性,当页面发出fetch操作时,它可以将请求拦截住,然后给出自己的响应。这样就能在请求完AVIF格式的图片以后,在service worker当中调用解码器,将图片转码。同时,因为是运行在service worker线程当中,解码操作并不会阻塞UI线程。
还有一个意外之喜,正如我们在开头提到的,AVIF是基于AV1视频编码的。但有趣的是Chrome等浏览器在很早之前的版本就内置了AV1的解码器,只是直到最近才支持AVIF的解析。
所以实际上在内置了原生解码器的浏览器版本里面,我们就不需要使用这个polyfill实现的JS版本解码器了,可以直接使用效率更高的原生解码器。
相关的支持程度请容我引用一下官方repo下的readme:
With native decoder:
- Chrome Desktop 70+
- Firefox 63+ (with
media.av1.enabled
activated)- Firefox for Android 64+ (with
media.av1.enabled
andmedia.av1.use-dav1d
activated)- Edge 18+ (with
AV1 VideoExtension
installed)- Bromite 71+
With AV1 polyfill:
- Chrome 57+
- Firefox 53+
- Edge 17+
- Safari 11+
其实JS语言并不擅长图形的解码,那么我们是否可以考虑引入WebAssembly,直接使用官方用C语言实现的高效解码器,进一步提升解码器的性能?
如果解码速度确实是瓶颈的话,这个思路肯定是不错的。
我检索了一下开源社区,发现其实也已经有相关的开发者在朝这个方向努力了,证明这个想法完全是可行的。
有兴趣的话可以点击对应的链接深入研究。
WebAssembly AVIF decoder/encoder
可能有的读者会觉得我在开头给出例子实在是太少,而且并不是原生的AVIF图片,而是PNG模拟的近似效果,不是很满意。
Chrome开发团队的Jake Archibald在他的博客文章里面做了一系列详尽的对比,我非常推荐有兴趣的读者朋友阅读一下他的这篇文章,就能对AVIF在各类图片格式在维持相同大小的情况下,在视觉上的差异效果有一定的了解了。
如果时间有限的话,也可以看一下Jake Archibald编写的一系列Demo页面。在这里你可以自行选择对应的图片进行参考和对比。(如图所示)
F1 Photo
Flat illustration
Heavy SVG
Illustration with gradients
更好的压缩率
在高压缩状态下,画面过渡更加平滑,使得观感更好。
开源,包括谷歌,苹果,微软在内的大公司都在工作组中,未来可期
现阶段基本不需要考虑兼容性(基本没有兼容),必须在前端自行解码。
要想获得高压缩率的AVIF图片,编码耗时很长
和WebP一样不支持渐进式渲染(已经有issue了,官方跟进中,期待后续)
https://jakearchibald.com/2020/avif-has-landed/
https://www.ctrl.blog/entry/webp-avif-comparison.html
https://github.com/kornelski/dssim
https://reachlightspeed.com/blog/using-the-new-high-performance-avif-image-format-on-the-web-today/
https://github.com/AOMediaCodec/libavif
https://github.com/saschazar21/webassembly/tree/master/packages/avif
https://android-developers.googleblog.com/2021/02/android-12-dp1.html
本文由哈喽比特于3年以前收录,如有侵权请联系我们。
文章来源:https://mp.weixin.qq.com/s/rpTxNZ95oZR4M56bAWw0jg
京东创始人刘强东和其妻子章泽天最近成为了互联网舆论关注的焦点。有关他们“移民美国”和在美国购买豪宅的传言在互联网上广泛传播。然而,京东官方通过微博发言人发布的消息澄清了这些传言,称这些言论纯属虚假信息和蓄意捏造。
日前,据博主“@超能数码君老周”爆料,国内三大运营商中国移动、中国电信和中国联通预计将集体采购百万台规模的华为Mate60系列手机。
据报道,荷兰半导体设备公司ASML正看到美国对华遏制政策的负面影响。阿斯麦(ASML)CEO彼得·温宁克在一档电视节目中分享了他对中国大陆问题以及该公司面临的出口管制和保护主义的看法。彼得曾在多个场合表达了他对出口管制以及中荷经济关系的担忧。
今年早些时候,抖音悄然上线了一款名为“青桃”的 App,Slogan 为“看见你的热爱”,根据应用介绍可知,“青桃”是一个属于年轻人的兴趣知识视频平台,由抖音官方出品的中长视频关联版本,整体风格有些类似B站。
日前,威马汽车首席数据官梅松林转发了一份“世界各国地区拥车率排行榜”,同时,他发文表示:中国汽车普及率低于非洲国家尼日利亚,每百户家庭仅17户有车。意大利世界排名第一,每十户中九户有车。
近日,一项新的研究发现,维生素 C 和 E 等抗氧化剂会激活一种机制,刺激癌症肿瘤中新血管的生长,帮助它们生长和扩散。
据媒体援引消息人士报道,苹果公司正在测试使用3D打印技术来生产其智能手表的钢质底盘。消息传出后,3D系统一度大涨超10%,不过截至周三收盘,该股涨幅回落至2%以内。
9月2日,坐拥千万粉丝的网红主播“秀才”账号被封禁,在社交媒体平台上引发热议。平台相关负责人表示,“秀才”账号违反平台相关规定,已封禁。据知情人士透露,秀才近期被举报存在违法行为,这可能是他被封禁的部分原因。据悉,“秀才”年龄39岁,是安徽省亳州市蒙城县人,抖音网红,粉丝数量超1200万。他曾被称为“中老年...
9月3日消息,亚马逊的一些股东,包括持有该公司股票的一家养老基金,日前对亚马逊、其创始人贝索斯和其董事会提起诉讼,指控他们在为 Project Kuiper 卫星星座项目购买发射服务时“违反了信义义务”。
据消息,为推广自家应用,苹果现推出了一个名为“Apps by Apple”的网站,展示了苹果为旗下产品(如 iPhone、iPad、Apple Watch、Mac 和 Apple TV)开发的各种应用程序。
特斯拉本周在美国大幅下调Model S和X售价,引发了该公司一些最坚定支持者的不满。知名特斯拉多头、未来基金(Future Fund)管理合伙人加里·布莱克发帖称,降价是一种“短期麻醉剂”,会让潜在客户等待进一步降价。
据外媒9月2日报道,荷兰半导体设备制造商阿斯麦称,尽管荷兰政府颁布的半导体设备出口管制新规9月正式生效,但该公司已获得在2023年底以前向中国运送受限制芯片制造机器的许可。
近日,根据美国证券交易委员会的文件显示,苹果卫星服务提供商 Globalstar 近期向马斯克旗下的 SpaceX 支付 6400 万美元(约 4.65 亿元人民币)。用于在 2023-2025 年期间,发射卫星,进一步扩展苹果 iPhone 系列的 SOS 卫星服务。
据报道,马斯克旗下社交平台𝕏(推特)日前调整了隐私政策,允许 𝕏 使用用户发布的信息来训练其人工智能(AI)模型。新的隐私政策将于 9 月 29 日生效。新政策规定,𝕏可能会使用所收集到的平台信息和公开可用的信息,来帮助训练 𝕏 的机器学习或人工智能模型。
9月2日,荣耀CEO赵明在采访中谈及华为手机回归时表示,替老同事们高兴,觉得手机行业,由于华为的回归,让竞争充满了更多的可能性和更多的魅力,对行业来说也是件好事。
《自然》30日发表的一篇论文报道了一个名为Swift的人工智能(AI)系统,该系统驾驶无人机的能力可在真实世界中一对一冠军赛里战胜人类对手。
近日,非营利组织纽约真菌学会(NYMS)发出警告,表示亚马逊为代表的电商平台上,充斥着各种AI生成的蘑菇觅食科普书籍,其中存在诸多错误。
社交媒体平台𝕏(原推特)新隐私政策提到:“在您同意的情况下,我们可能出于安全、安保和身份识别目的收集和使用您的生物识别信息。”
2023年德国柏林消费电子展上,各大企业都带来了最新的理念和产品,而高端化、本土化的中国产品正在不断吸引欧洲等国际市场的目光。
罗永浩日前在直播中吐槽苹果即将推出的 iPhone 新品,具体内容为:“以我对我‘子公司’的了解,我认为 iPhone 15 跟 iPhone 14 不会有什么区别的,除了序(列)号变了,这个‘不要脸’的东西,这个‘臭厨子’。