前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Netflix选择AVIF作为下一代图片压缩技术

Netflix选择AVIF作为下一代图片压缩技术

作者头像
LiveVideoStack
修改2020-02-19 10:03:03
1.4K0
修改2020-02-19 10:03:03
举报
文章被收录于专栏:音视频技术音视频技术
Photo by John-Mark Smith from Pexels
Photo by John-Mark Smith from Pexels

Netflix在情人节当天公开AVIF作为下一代图片压缩技术,同其宣布在Android端采用AV1视频编解码格式仅相隔一周时间。

编译 / Coco Liang

技术审校 / 蒋默邱泽

原文https://netflixtechblog.com/avif-for-next-generation-image-coding-b1d75675fe4

Netflix在今年情人节当天公布了下一代图片压缩编码格式——AVIF,采用AVIF替换目前正在使用的JPEG编码格式已经被Netflix正式提上了日程。

Netflix在自己的科技博客中表明,能够替代JPEG的图片编码格式必须满足以下三个条件:

  1. 可以被广泛的支持;
  2. 有更高的压缩效率;
  3. 有更多的特性。

通过对比其他几种同样为人熟知的图片编码格式:JPEG2000、WebP与HEVC,我们发现,AVIF在满足Netflix以上三个要求的同时,相比其他图片格式也确实是个better choice。

曾经JPEG 2000在标准推出并具体实现之后,并没有得到很好的市场推广(对比Google大力推崇的WebP、苹果IOS系统支持的 HEVC)。JPEG2000在数字影院、指纹鉴别等小范围内流行,但明显缺乏更加强大、大众化、商业化的软件生态支持,故而并没有实现真正的落地普及。

WebP 源于VP8,是Google 2010年开源出来的图像编解码算法,可以说是“含着金汤匙出生”,YouTube、Gmail、Google Play均应用WebP图片格式。2018年之后,浏览器Edge、Firefox也宣布支持WebP格式。但就目前来说,WebP仍只被看作PNG更高效快捷的替代方案,而且Google的一些非开源的技术总是能神奇地阻碍图片的分享。

HEVC是AVC(H.264)的后继产品,性能优秀,你可以在Apple设备上将HEIF玩出各种花样。可惜的是,这支大佬的“独苗”存在专利费用。HEIF是存储HEVC编码的静态图像的容器,类似的存储AV1编码的静态图像的容器就是本篇的主角——AVIF。

AVIF由开源组织AOMedia开发,Netflix、Google与Apple均是该组织的成员。AVIF是基于AV1的新图像格式,使用HEIF作为容器和AV1帧。

在图像编码格式领域, MPEG已将与编解码器无关的通用图像容器格式标准化,即ISO / IEC 23000-12标准(又称HEIF)。 HEIF已用于存储最著名的HEVC编码图像(以其HEIC变体形式),但也能够存储AVC编码图像甚至JPEG编码图像。

AOMedia最近扩展了此格式,以指定其AVIF格式的AV1编码图像的存储。

而基本的HEIF格式提供了图像格式所期望的所有典型功能,例如:支持任何图像编解码器,使用有损或无损模式进行压缩的能力,支持各种采样率和色彩深度等。此外,HEIF格式还允许一系列动画帧的存储(提供了人们期待已久且十分高效的GIF的的替代方法),以及指定Alpha通道的能力(在UI中得到了广泛使用)。此外,由于HEIF格式借鉴了下一代视频压缩的经验,因此该格式允许保留元数据,例如色域和高动态范围(HDR)信息。

Netflix目前已经开源了一个基于Docker的框架,用于比较各种图像编解码器。主要功能包括:

  1. 使用Python 3进行代码编排(具有并行化)和采用新一代注释
  2. 易于重现结果
  3. 轻松控制目标质量范围

最为人熟知的JPEG已经有近27年的历史了,在技术快速更迭的移动互联网时代,这个数字的使用年限已经可以被称为元老级别了。虽然JPEG已经非常成熟,但仍存在硬件限制、实际使用过于复杂、只支持8bit、解码过程相对复杂等劣势,且不适用于流量费用昂贵的当下。

Netflix官方提供了几组图,对比了JPEG与AVIF图片格式的实际效果。图片都被转换成了无损的PNG格式,以便于明显的区分。

原始图像
原始图像
JPEG图片,图片大小20,429 bytes
JPEG图片,图片大小20,429 bytes
AVIF图片,图片大小19,788 bytes
AVIF图片,图片大小19,788 bytes

在第一组图片中,可以明显看出JPEG格式在天空,池塘以及屋顶上有非常明显的阻塞伪影。尽管屋顶上有些模糊和纹理丢失,但AVIF呈现的效果要好很多,至少不会出现阻塞的阴影,且此时的AVIF有约59倍的压缩性能。

JPEG图片,图片大小40,276 bytes
JPEG图片,图片大小40,276 bytes
AVIF图片,图片大小39,819 bytes
AVIF图片,图片大小39,819 bytes

这一组图的图片质量都有所提升,两种编码的图片大小仍然接近。JPEG格式在天空中仍然有肉眼可见的遮挡伪像,并且在多个位置出现色度渗漏。而AVIF图像与原始图像相当,这里的压缩系数为29倍。

同时,Netflix还提供了自家原创剧集的海报图片,对比了JPEG和AVIF图片编码格式在实际应用中有何不同。

原始图像
原始图像
JPEG图片,图片大小80,562 bytes
JPEG图片,图片大小80,562 bytes
AVIF图片,图片大小80,432 bytes
AVIF图片,图片大小80,432 bytes

从这组图中可以发现,JPEG编码下,图片中存在可见的条带、阻塞伪像,而AVIF格式看起来则非常接近原图。

尽管AVIF提供了出色的压缩效率,但它仍处于早期部署阶段。AOMedia正在开发一个名为libavif的开源库,该库可以对AVIF图像进行编码和解码,目的是简化图像社区中软件的集成。类似的集成已经在各种浏览器(例如Google Chrome)中开始应用。同时,dav1d团队也在不断努力,希望AVIF图像解码尽可能快地落地。

毕竟,让一种编码标准通行起来从来都不是一朝一夕的事情,技术方向要考虑压缩比、效果、速度、计算复杂度,推广方面要考虑软硬件生态支持、专利障碍、开源实现、市场营销等等。

一周前,Netflix宣布了将在在Android上采用AV1视频编解码格式,现在他们也将很快在Android上测试AVIF图像格式。

与此同时,Netflix也正在为UI处理HDR图像,并计划使用AVIF对这些HDR图像资产进行编码,尝试使用JPEG 2000作为HDR图像的压缩格式,期待AVIF可以提供更出色的压缩效果。

在全球互联的时代,图片格式越来越被希望是一个灵活开放的容器,私有技术也越来越被看作是开源的对立面。要真正推广并普遍应用AVIF,可以说是道阻且长,但一个开放的图片格式环境,却永远都值得期待。

相关链接

本文系外文翻译,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系外文翻译前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
文件存储
文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档