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

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

编译 / Coco Liang


技术审校 / 蒋默邱泽


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


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


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


  1. 可以被广泛的支持;


  1. 有更高的压缩效率;


  1. 有更多的特性。


通过对比其他几种同样为人熟知的图片编码格式: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进行代码编排(具有并行化)和采用新一代注释


  1. 易于重现结果


  1. 轻松控制目标质量范围


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


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

image.png

原始图像

image.pngJPEG图片,图片大小20,429 bytes

image.png

AVIF图片,图片大小19,788 bytes


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

image.png

JPEG图片,图片大小40,276 bytes

image.png

AVIF图片,图片大小39,819 bytes


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


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

image.png

原始图像

image.png

JPEG图片,图片大小80,562 bytes

image.png

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,可以说是道阻且长,但一个开放的图片格式环境,却永远都值得期待。


相关链接


————————————————

版权声明:本文为CSDN博主「LiveVideoStack_」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/vn9PLgZvnPs1522s82g/article/details/104404148


「视频云技术」你最值得关注的音视频技术公众号,每周推送来自阿里云一线的实践技术文章,在这里与音视频领域一流工程师交流切磋。

阿里云视频云@凡科快图的副本.png

相关文章
|
程序员 数据库 开发者
值得收藏!如何快速画出一幅漂亮的架构图
这篇文章总结了常用的架构图类型,可以借鉴笔者提供的模板,快速地产出符合业务需要的架构图。
163107 95
|
设计模式 存储 安全
八种创建单例模式的方式-懒汉式与饿汉式及枚举
八种创建单例模式的方式-懒汉式与饿汉式及枚举
585 2
|
Web App开发 编解码 安全
【WebRTC 入门教程】全面解析WebRTC:从底层原理到Qt和FFmpeg的集成应用
【WebRTC 入门教程】全面解析WebRTC:从底层原理到Qt和FFmpeg的集成应用
7963 2
|
Python
使用Python将文本转换成语音?
使用Python将文本转换成语音?
819 0
|
SQL Java 数据库
2025 年 Java 从零基础小白到编程高手的详细学习路线攻略
2025年Java学习路线涵盖基础语法、面向对象、数据库、JavaWeb、Spring全家桶、分布式、云原生与高并发技术,结合实战项目与源码分析,助力零基础学员系统掌握Java开发技能,从入门到精通,全面提升竞争力,顺利进阶编程高手。
1607 2
|
调度 Python
Python基于Fastapi与APScheduler的应用定时任务
基于FastAPI与APScheduler实现定时任务调度,通过lifespan管理生命周期,每分钟执行一次反馈任务,结合Uvicorn启动服务,构建高效异步任务处理系统。
762 3
|
存储 Java 调度
Python定时任务实战:APScheduler从入门到精通
APScheduler是Python强大的定时任务框架,通过触发器、执行器、任务存储和调度器四大组件,灵活实现各类周期性任务。支持内存、数据库、Redis等持久化存储,适用于Web集成、数据抓取、邮件发送等场景,解决传统sleep循环的诸多缺陷,助力构建稳定可靠的自动化系统。(238字)
1921 1
|
SQL 数据库连接 Go
Go语言数据库编程:GORM 的基本使用
GORM 是 Go 语言最流行的 ORM 框架,封装了 database/sql,支持自动迁移、关联关系、事务等功能,开发体验接近高层语言的 ORM。本文介绍了 GORM 的安装与初始化、模型定义、自动迁移、基本 CRUD 操作、条件构造器、钩子函数、事务处理、日志调试等内容,帮助开发者快速掌握其使用方法。
|
运维 监控 搜索推荐
智慧医院系统,融合4级电子病历的云HIS系统,源码适合项目二开
智慧医院系统是一款融合4级电子病历的云HIS系统,采用云计算部署模式,支持无机房、无系统、无数据维护运行,大幅降低信息化成本。系统整合HIS与EMR功能,涵盖患者管理、电子病历、医嘱处理等核心业务,并支持与公卫、PACS等外部系统对接。其一体化电子病历设计提供丰富的模板、自动填充患者信息、结构化数据提取等功能,提升医生工作效率。同时,系统具备完善的审计日志、打印功能及病历质控管理,助力医疗机构实现高效、规范的信息化管理。
707 18
|
人工智能 自然语言处理 监控
一文看懂开源Coze如何让测试效率飙升
Coze是测试工程师的AI引擎,支持私有部署与零代码测试,提升效率并降低成本。覆盖智能用例生成、数字员工值守、缺陷分析、多模态报告与安全测试五大场景,助力测试智能化转型。

热门文章

最新文章