新一代图片编解码技术在淘宝的应用及落地

简介: 本文回顾淘宝图片发展的历史,阐述了新一代图像编解码格式AVIF在淘宝业务场景中的应用及落地方案,节省流量,为用户提供更好的看图体验。

原创 岳溪 淘系技术  7月14日

640.gif


背景


淘宝图片空间下行链路承载着集团图片的访问请求,包括手淘、飞猪、闲鱼等业务场景,核心工作在于提升用户访问体验,在图片质量不降低的情况下降低访问带宽。常态下CDN侧千万级别 QPS(每秒请求数)图片访问,未命中时的回源量也在百万级别,通过引入新的编码技术,可大幅降低访问带宽,节省流量成本,同时体积的减小也能带来访问提速,提升用户看图体验。


淘宝图片空间下行链路架构


淘宝图片访问模型如图1所示,用户发起请求,在CDN(content delivery network,用于图片缓存)缓存未命中的情况下,请求回源到源站,源站从OSS(object storage service)存储上拉取商品原图,按照用于请求格式进行实时处理(包含解码、缩放、编码等过程,RT < 100ms)后返回,常态下CDN命中率约为95%,此时用户访问的RT小于20ms。


由于访问端(PC、手机)及场景(首页、详情页)的多样性,相同的图片存在多种尺寸、格式,如淘宝首页访问的图片尺寸相对较小,而详情页尺寸较大,通过在图片源站侧进行实时计算(本质上是计算换存储的方式),支撑相同图片内容的多种格式访问。


image.png

图1:图片空间下行链路架构


回顾过去的工作,我们对淘宝图片下行处理做了大量的优化:


2018年,通过引入FPGA异构计算,HEVC关键帧图片编码格式开始在淘系大规模商用,相比WEBP编码格式,降低带宽约30%,相比JPEG降低超50%,采用高密度存储、异构计算技术的新集群规模只有老集群的十分之一,高密度存储、异构计算分别使单位存储、计算成本降低超80%;


2019-2020年,图片空间FPGA集群极致优化,通过将JPEG解码、PNG解码、高质量SCALER、WEBP编码 Offload至FPGA,同时利用Nginx多worker负载调配实现FPGA板卡IP的负载均衡,单机性能由2000提升至5500 QPS,在保证图片质量的情况下,计算成本降低超60%,同时处理耗时大幅降低;


2020年,FPGA集群容器虚拟化,通过设备虚拟化技术,采用设备直通方式实现PCIe设备(FPGA板卡)的虚拟化。接入集团云原生应用统一基础设施ASI(Alibaba Serverless infrastructure),可根据业务流量快速调整不同服务集群的比例,实现FPGA服务间的快速扩缩容。最终业务部署至ASI pouch集群,为业务的灵活部署及调度提供了可能。


基于上述工作的积累,我们开始寻求在压缩率及用户体验上更进一步的方案,新一代视频图像编码技术进入项目组视野。


新一代图片编解码技术


  技术选型

以Google为首的多家公司成立的AOM(Alliance for Open Media,开放媒体联盟)组织,制订了一套替代HEVC技术的免费开放视频编码标准AV1(AOMedia Video 1)。随着18年AV1格式的定稿,其图片格式AVIF在18年12月份由Netflix推出,2020年8月chrome及随后的Firefox 86版本已支持AVIF,即将推出的Android 12也将原生支持其解码显示。鉴于其以下特点,我们选择AVIF作为下一代图片格式,进一步降低带宽,提升用户体验。


  • 高压缩:压缩率相比heif能提升25%-30%(通过测试,相同质量下,AV1相比线上HEIF压缩收益超30%);
  • 互联网生态较好:netflix内容、chrome平台均已开始支持,android也开始支持AV1/AVIF解码,mac M1开始支持AV1视频解码,不仅端侧可支持,web端也可将图片格式由webp升级至AVIF;
  • 专利free。


进行图片压缩率测试,结果如图2所示,原图为无损编码格式,分别对比不同PSNR下VVC、AV1不同工具以及手淘目前在用的HEIF格式,考虑到PSNR高于40dB时编码后的图像质量非常接近原始图像,我们选取39dB和41dB(线上平均为41-42dB)计算压缩率指标,相比HEIC格式,AV1的压缩率提升约26%-32%。


image.png

图2:不同格式压缩率测试


image.png

图3:压缩率对比


image.png

图4:浏览器对AVIF的支持情况(绿色表示已支持)


除上述特性外,AVIF能支持动图、PQ/HLG等高动态EOTF场景(兼容高亮度高动态显示器)、BT.2020广色域、10bit/12bit显示、alpha/depth图,为后续的场景效果扩展提供便捷。


  技术特点


高压缩收益带来的是计算复杂度的提升,AVIF使用AV1关键帧编码技术,通过帧内预测去除图像的空间冗余以提升压缩率。包括方向预测的粒度进一步升级,而非仅仅是方向性的预测,同时纳入了梯度和相关性,亮度的一致性和色度也得到充分利用,主要包括以下技术特点:


  • 帧内预测方向的增强

为了在方向纹理中实现更多种类的空间冗余,在AV1中,将方向帧内模式扩展到更具精细粒度的角度集。将最初的VP9帧内编码的8个角度设为名义角度,基于这些角度引入步长为3度的精细角度微调,即预测角度由名义内角度加上角度增量表示,该角度以-3〜3的倍数为步长。为了以通用方式在AV1中实现定向预测模式,这48个扩展模式由统一的定向预测器实现,预测器将每个像素链接到像素边缘的一个参考像素位置,并通过2 tap的双线性插值对参考像素进行插值,最终AV1帧内编码共启用了56个定向内部模式(HEVC帧内包含33个角度+DC+Planar)。


  • 无方向平滑的帧内预测器

AV1通过添加3个新的平滑预测器SMOOTHV,SMOOTHH和SMOOTH扩展了无方向帧内模式,它们在垂直或水平方向,使用二次插值或其平均值预测了像素块。


  • 基于递归滤波的帧内预测器

为了捕获边缘参考块的衰减空间相关性,FILTER INTRA模式通过将亮度块使用二维不可分离的马尔可夫过程。AV1预设计的五个滤波器帧内模式中,每个模式用一组八个7-tap滤波器表示,反映4×2色块中的像素与相邻的7个像素之间的相关性。一个内部块可以选择一种帧内滤波模式,并以一批4×2补丁进行预测。


  • 从亮度预测色度

Chroma from Luma(CfL)是仅用于色度的帧内预测器,通过以重建后亮度像素的线性函数建模得到色度像素。重建的亮度像素被二次采样为色度分辨率,然后去除直流分量以得到交流分量。为了从交流分量中估计色度的交流分量,AV1 CfL根据原始色度像素确定参数并在比特流中用信号发送。这降低了解码器的复杂性并得到了更精确的预测。对于DC预测,它是使用内部DC模式计算的,该模式对于大多数色度内容来说已经足够,并且具有成熟并能快速实现的方法。


  • 调色板作为预测指标


对于屏幕截图和游戏之类的人造视频,可以用少量颜色的近似块来替代,AV1帧内编码引入调色板模式进一步提升压缩率。


  • 帧内块拷贝


AV1允许其帧内编码器参考同一帧中先前重建的块,类似于帧间编码器引用前一帧中块的方式,对于包含重复纹理的屏幕内容视频非常有用。IntraBC新预测模式的引入,在当前帧中拷贝一个重建的块作为预测。参考块的位置由位移矢量指定,类似于运动补偿中的运动矢量压缩。


image.png

图5:HEVC与AV1帧内预测


落地计划及服务端方案设计


复杂的帧内编码需要耗费大量的计算,软件方案编码一帧图像耗时达到了秒级,显然无法满足实时处理的需要,大规模落地必须借助专用硬件方案,其开发工作是项目的重点和难点。另一方面,新格式的落地也需要客户端解码的支持,前期计划先基于自研高性能解码器进行解码,后期考虑切到系统原生解码(Android 12支持AVIF解码)。


  落地计划


项目落地上按4个版本迭代,核心的开发包括服务端软硬件编码以及客户端的解码,服务端采用先软件后硬件的思路,通过基础版本、全功能版本、稳定版本、优化版本的迭代实现新格式的平滑升级。


image.png

图6:项目落地计划


  服务端方案设计


服务端沿用图片空间服务端图片转码架构,使用阿里云AIS自研的AV1硬件编码器进行服务端编码,集成AV1/HEVC/WEBP等多种硬件编码IP,业务部署至ASI Pouch集群,同时进行新格式的线上全量PSNR校验,如有异常可一键降级为HEVC编码方案。


  • 系统架构


服务端完成图像的转码(如JPEG转码为AVIF),系统分为Nginx统一接入、资源解析、图像处理、FPGA硬件加速等模块,AVIF编码Offload至FPGA,为防止硬件图像处理出现异常,在图像处理层对硬件编码的数据进行decoder,PSNR对比编码前和解码后的YUV数据,确保硬件处理的正确性。


image.png

图7:服务端架构


在不同Pouch上部署不同的FPGA逻辑版本,做到新老版本的隔离,不影响老业务稳定性的情况下,做到新业务的快速迭代。


image.png

图8:容器化FPGA部署


  • 稳定性保障


图像质量和稳定性是追求极致图像体验的前提,图片基础设施面向全集团提供图片服务。线上是否有花图,图片是否清晰,用户请求是否有超时,新版本效果是否达标等问题出现在我们面前,必须确保高并发下图片质量的稳定。


通过梳理图像主客观质量测试、线上预警及自动化分析流程,从质量回归、在线PSNR抽样检测、回放压测三个方面来监管系统稳定性:


  1. 质量回归:通过定时脚本每日筛选大量线上日志,分别请求预发与线上,查看PSNR/SSIM、图片格式、图像体积、是否有图等指标报告,定位处理图片质量问题;
  2. 在线PSNR校验:线上FPGA机器有一定的异常概率(如板卡损坏、FPGA掉电),通过各处理模块的在线抽样校验,可及早知晓定位问题,降低风险;
  3. 回放压测:图片下行系统为多核C + FPGA处理系统,通过长时间的回放压测,规避host/chip端内存泄漏及硬件概率性风险;


image.png

图9:图片质量保障方案


  落地结果


在服务端进行转码后输出AV1编解码图像格式,手淘上对其进行解码,结果如下:


image.png

点击查看原视频


展望与致谢


图像格式的发展与编解码技术发展息息相关,基本处理十年出一代的节奏,回顾过去的JPEG->WEBP->HEVC格式的发展历程,高的压缩率格式的落地无一不是算法与硬件结合的结果。


得益于团队在算法硬件加速与工程落地的经验,项目组开始将AVIF图像格式进行工程落地,同时由于AVIF格式的良好生态以及扩展特性(目前各大主流浏览器均已支持),我们计划在PC及手机端全线使用AVIF图片格式,同时覆盖动图场景,并做到不同设备平台的高保真支持,希望通过技术升级,进一步降本提效。


目前软硬件加速方案初始版本已经开始使用,高性能版本(算法及时序优化)开发完成后,再来更新相关信息,敬请期待。


感谢阿里云AIS、淘系图片空间、手淘图片库、阿里云CDN团队相关同学的大力支持。


参考


https://en.wikipedia.org/wiki/AV1

https://ieeexplore.ieee.org/document/8456249/authors#authors


相关实践学习
Serverless极速搭建Hexo博客
本场景介绍如何使用阿里云函数计算服务命令行工具快速搭建一个Hexo博客。
相关文章
|
4月前
|
人工智能 编解码 自然语言处理
泛娱乐出海Plus时代,音视频能力基座与时俱进
泛娱乐的音视频技术随着出海在演进,交互和内容的技术是内核,也在融合。
95 2
泛娱乐出海Plus时代,音视频能力基座与时俱进
|
编解码 人工智能 边缘计算
一文深度解读音视频行业技术发展历程
走进超越想象力的崭新纪元。
36097 2
一文深度解读音视频行业技术发展历程
|
Web App开发 存储 编解码
《2023云原生实战案例集》——04 互联网——新东方 基于函数计算实现直播流实时转码
《2023云原生实战案例集》——04 互联网——新东方 基于函数计算实现直播流实时转码
|
人工智能 开发框架 运维
阿里云视频云推出低代码音视频工厂vPaaS: 包含“一个云原生开发平台+N个音视频业务场景”为企业提供音视频开发最短路径
阿里云视频云凭借阿里巴巴卓越的技术能力和生态体系,以及自身沉淀了13年的行业经验,正在着力打造云端一体的数智化音视频能力,构建全场景的产品矩阵和全链路的音视频服务,助力多行业的数智化转型和多产业的数智化升级,实现全民共享、技术普惠,助力云上创新、价值创造。
1477 1
阿里云视频云推出低代码音视频工厂vPaaS: 包含“一个云原生开发平台+N个音视频业务场景”为企业提供音视频开发最短路径
|
Web App开发 编解码 算法
淘宝直播再升级!淘系自研GRTN 新一代多媒体传输网络
相信大家对网络直播已经不再陌生了。2016年被称为直播元年,基础技术逐渐成熟,引出千播大战。在红海下,纯粹的直播逐渐失去竞争力,不少企业开始走内容垂直化,跟秀场、游戏、电商、广电等内容特点深度结合。其中内容垂直化最为成功的,莫过于电商直播。据一些行业调查报告,2020年中国电商直播市场规模接近万亿元,年增长超过100%,增长势头强劲。2020年S1疫情爆发,电商为病毒隔离贡献巨大,同时疫情也为电商直播购物按下了加速键。
新内容,新交互”全球视频云创新挑战
40万奖金池,视频分割等你来战,直播、网课、vlog等你来秀
新内容,新交互”全球视频云创新挑战
|
机器学习/深度学习 人工智能 算法
阿里云PAI平台模型压缩技术落地淘宝直播双十一应用:一猜到底
随着移动端应用的兴起,模型压缩作为深度学习模型实现轻量化部署的有效手段,备受关注。机器学习也从理论研究阶段,有了明显的工程化、应用落地的趋势,那么模型压缩在淘宝直播游戏场景下,是如何发挥重要作用的呢,让我们一起揭开神秘的实践面纱。
1256 0
阿里云PAI平台模型压缩技术落地淘宝直播双十一应用:一猜到底
|
人工智能 编解码 监控
|
移动开发 开发框架 小程序
蚂蚁mPaaS上线音视频通话组件,以技术创新构建场景生态
远程问诊、线上开户、车载语音通话……蚂蚁mPaaS正在“拥抱新技术,探索新未来”。
蚂蚁mPaaS上线音视频通话组件,以技术创新构建场景生态