基于AVS2的图片容器——TPG:现状与改进之路

2021-09-02 11:47:18 浏览数 (1)

最近关于codec的新闻有点多,MPEG的HEVC正面临混乱的专利困境。AV1及国产的AVS2开始发力抢占市场。腾讯推出的图片格式TPG就是基于AVS2内核的图片容器,这是AVS2在互联网上最新,也可能是最广泛的应用。据腾讯音视频实验室(http://medialab.qq.com/)TPG开发负责人丁飘介绍,TPG已在手Q、QQ空间、QQ浏览器、腾讯新闻等产品使用。LiveVideoStack对丁飘及腾讯音视频实验室进行了访谈,解读了TPG的特点、短板以及未来改进方向。点击『阅读原文』访问发布在《电信科学》“TPG图像压缩技术”,该文对TPG技术做了详细介绍。

策划 / LiveVideoStack

LiveVideoStack:首先能简单介绍一下TPG吗?

腾讯音视频实验室:TPG的全称是Tiny Portable Graphics,它是腾讯音视频实验室基于AVS2视频压缩标准推出的一种新的图片压缩格式。相比传统图片压缩格式,TPG在压缩效率方面具有明显优势,在相同质量下,TPG压缩效率比JPG高45%以上,比WebP高20%以上。

LiveVideoStack:目前大家用的主流图片格式还是JPG,腾讯为什么要推出一个新的图片格式TPG?

腾讯音视频实验室:这个问题很多人比较关注。去年,我们正式对外公布了自研的图片格式TPG,当时很多人就有此疑问。其实,我们决定做TPG是经过了充分评估和全面考量的,TPG的推出也是业务需求推动研发的一个经典案例。

随着移动互联网的发展,终端设备的下载流量大幅增长,这其中图片流量占比很大。对于腾讯公司来说,图片流量更是惊人。公司内各类应用比如QQ空间相册、腾讯新闻图片等,图片流量成本压力非常大。除了流量成本,存储成本的压力也是巨大的。以QQ空间相册为例,用户每天上传的图片以亿计,这些图片都是需要永久保存的,压力之大可想而知。

由于图片流量及存储成本的巨大压力,业务部门向我们提出了图片优化的需求,我们也在2014年下半年启动了图片优化的工作。最初我们评估了WebP方案,WebP是Google在2010年发布的图片压缩格式,它的压缩效率比JPEG高20%左右。我们知道,WebP是基于VP8的视频内核,VP8和H.264属于同一代标准,它的压缩效率是要低于最新一代标准H.265和AVS2的,那如果采用H.265或者AVS2来进行图片压缩,是不是效率更高?对此,我们进行了一轮全面测试,测试结果表明,H.265及AVS2的I帧压缩效率确实相对WebP具有明显优势,压缩率至少高20%以上。基于以上测试结论,我们推出了全新的图片格式TPG。

LiveVideoStack:目前大家比较关注的新兴的图片格式,包括WebP,HEIF以及TPG。相对于传统的JPG格式,新兴这些图片格式有什么创新?

腾讯音视频实验室:WebP、HEIF以及TPG都是基于视频压缩编码标准衍生出来的图片压缩格式。其中,WebP是基于VP8,HEIF基于H.265,而TPG是基于国内视频压缩编码标准AVS2。由于这些图片压缩格式采用了帧内预测等多个JPG没有的压缩工具集,所以新兴图片格式的压缩效率更高。另外,新兴图片格式在功能方面也更加全面。JPG只支持静态图片,而WebP、HEIF、TPG除了静态图片,还支持动态图片格式。还有新兴图片格式支持的透明渐变效果,都是JPG不具备的。

LiveVideoStack:能介绍下目前TPG开发的进展吗?

腾讯音视频实验室:目前我们已经完成了TPG整套SDK的开发,包括云转码平台和各平台客户端解码SDK,正在对外推广中。

LiveVideoStack:TPG和其他的图片格式相比有什么优势呢?

腾讯音视频实验室:我觉得TPG的优势主要体现在以下几个方面:

首先是压缩效率高。前面我们简单介绍过,TPG在同等质量下压缩效率比JPG高45%左右,比WebP也要高20%以上。在主观质量几乎无差别的情况下,TPG可以将PNG文件大小减少60%以上,将GIF文件大小减少85%以上。

其次就是性能好。目前我们已经完成了一期TPG编解码器的开发。其编解码性能在业界属于领先。TPG编码器在压缩效率比WebP高近20%的同时,编码速度比WebP(libwebp)还快一些。目前解码速度比WebP稍慢一点,优化之后,解码速度也会对齐WebP。

第三,拥有完整的解决方案。我们对外公布TPG图片格式的时候,也完成了整套TPG图片转码系统的开发。我们的转码系统支持JPG、PNG、GIF、APNG、BMP等图片格式与TPG互转,支持Linux、Windows、IOS、Android等平台。

第四,易用性好,接入简单。我们提供了各平台的SDK,接口设计非常简单,业务接入非常方便。在公司内部业务接入的过程中,我们的接口根据业务需求不断迭代优化,优化后的接口设计更趋合理。以GIF为例,传统的GIF文件,需要等整个文件下载完后才能播放,而GIF文件通常比较大,所以用户观看一个GIF动画的等待时间会比较长。TPG通过优化设计,能够提前获取GIF文件总帧数并支持边解边播,用户观看动画的等待时间大大减少,体验明显提升。

最后,很重要的一点就是安全性高。一种新的图片格式,安全性可靠性是非常关键的。TPG SDK在发布前,公司内部多个安全部门对TPG进行了全面的安全扫描,修复了一系列的安全漏洞。经过安全扫描后,TPG的防攻击能力大大增强。

LiveVideoStack:如何评定一种图片格式(或图片压缩引擎)的优劣,其关键指标包括哪些?

腾讯音视频实验室:评价一种图片格式的优劣,主要从两个方面考虑:一个是压缩率,另外一个就是编解码性能。压缩率对比的话,通常以PSNR或者SSIM作为质量评价指标,在质量对齐的前提下,对比图片大小。性能方面的话,主要是看编解码一幅图片的耗时以及内存占用。

LiveVideoStack:为什么WebP,HEIF以及TPG都不约而同的采用codec作为压缩引擎呢?视频编码和图片编码有哪些相关性?

腾讯音视频实验室:前面我们介绍过,WebP、HEIF和TPG分别采用了VP8、H.265以及AVS2编解码器作为自己的压缩内核,主要还是因为视频编码的高压缩效率。视频编码与图片编码的压缩原理是相似的,我们以JPG图片格式为例,JPG编码也是基于分块结构的压缩,也采用的变换量化编码的编码模式,这些和视频编码基本一致。我们可以将图片编码视为视频编码的一个子集,图片编码相当于视频编码里面的I帧编码。

LiveVideoStack:新兴的图片格式除了带来更高的压缩比以外,还存在哪些不足?比如专利风险。

腾讯音视频实验室:新兴图片格式相对传统图片格式有压缩效率方面的优势,但是也有一些不足。

首先,在压缩效率这块,虽然对于大部分图片新格式的压缩效率优势比较明显,但是对于部分图片,尤其是png8格式的图片,其压缩效率优势很小,甚至压缩效率还不如png8。这其中原因是因为采用I帧压缩编码方式不适合对256色的图片进行压缩,怎么提高256色位图的压缩效率是新兴的图片格式后续需要优化的。

其次,新兴图片格式在高压缩率的同时,也带来了编解码复杂度的成倍增长。新兴图片格式的编解码性能和JPG等传统格式相比,还是有较大的差距的,另外,由于硬件加速对新兴图片格式的支持度普遍较弱,使得性能问题更加突出。不过,近年来随着CPU性能的不断提高,以及新兴格式由于压缩率高而节省了大量下载时间,单帧解码时长稍高也是可以接受的。

另外一个就是新兴图片格式的兼容性问题也比较突出,由于第三方浏览器无法全部支持这些新兴图片格式,导致其推广应用受到很大限制。

当然你刚才提到的专利风险,也是不可忽视的。比如,HEIF基于H.265编码标准,而H.265的专利费用是非常高昂而复杂的,这个不利于HEIF的推广。

LiveVideoStack:设备上支持一种图片格式需要哪些必要条件?仅仅从技术可支持的角度看,除了相应的codec支持以外,还需要哪些软件或硬件环境支持?

腾讯音视频实验室:终端上的应用可分为Native和Web两大类。

对于Native APP,只需要其集成新图片格式的解码器即可。目前TPG Android端SDK大小不到700K。

而对于Web APP,可以有2种方式。首先,如果浏览器能够集成新图片格式解码,那么将给新图片格式的推广带来极大的便利,但是,客户端使用的浏览器是多种多样的,很难保证所有的浏览器都会主动支持新格式。其次,如果浏览器端不支持新图片格式的解码,目前也还有一些其他的方式,比如提供WebAssembly版本的解码器,这样能让所有支持WebAssembly的浏览器支持。

LiveVideoStack:WebP在2010年推出以来,依然还有很多平台不支持(https://caniuse.com/#search=webp)。TPG正在做怎样的推广计划?目前,在腾讯内部和外部,已经有哪些平台支持(或计划支持)TPG?

腾讯音视频实验室:TPG图片格式推出之后,在公司内得到了各大业务的大力支持。目前在公司内部已经得到了广泛应用。公司内的很多产品诸如手Q、空间、QQ浏览器、腾讯新闻等都已经完成了TPG的接入。

接下来,我们也会对公司外开放我们的TPG。目前,腾讯云已经完成了TPG后台转码系统的搭建,腾讯云CDN也已经完成了TPG的部署。同时,我们也对外开放了各平台的TPG解码器,第三方App应用可以免费集成我们的TPG解码器,通过腾讯云接入TPG。另外,腾讯浏览器X5内核也完成了TPG的支持,只要是使用X5内核的第三方应用,客户端无需任何开发就可以原生支持TPG格式。

在加快TPG业务落地的同时,我们也在同步推进TPG的标准化工作。TPG在腾讯内部获得了较好的推广应用,但是要在全行业获得大规模应用,还需要很多工作要做。其中,很重要的一点就是将TPG标准化,只有TPG成为一种标准格式,第三方应用,比如各类浏览器才更有意愿支持TPG。基于此,我们在去年启动了TPG的标准化工作。我们向AVS组织提出了制定互联网图像标准的提案,并成功将TPG申请成为AVS2的图像标准容器格式。目前,TPG作为信息技术高效音视频编码第7部分(图像容器),已经申报成为国家标准,我们也期待TPG能够早日实现标准化,并最终成为一种主流图片格式。

LiveVideoStack:JPEG格式从诞生至今已有几十年的时间了,虽然有其他一些新的格式的出现,但是JPEG始终还是占绝对主流,你怎么看新兴图片格式未来的发展前景?还有就是图片压缩技术未来的发展方向?

腾讯音视频实验室:JPEG经过了几十年的发展,目前还是占统治地位,这其中最主要原因还是通用性问题。尤其是在PC时代,由于缺乏第三方浏览器的支持,私有格式的应用范围受到了很大限制。但是,在移动互联网时代,大家对浏览器的依赖大大下降,一个移动App只要带有一个解码器就能完成对一种新的图片格式的支持,这给新兴图片格式带来了机会。我们看到现在很多互联网应用中都使用了WebP图片格式,苹果也在iOS11系统中原生支持HEIF格式了。现在移动端应用的流量越来越大,这对新兴图片格式的发展是一个很好的机遇。

几十年来,图片压缩技术一直在不断向前演进,未来,关于图片压缩的研究肯定不会停止。关于未来的发展方向,总结下来有以下几个方面:

首先,采用更高复杂度更高压缩率的标准。比如,未来很有可能出现基于下一代视频编码标准FVC的图片压缩技术。

第二,采用深度学习进行图像压缩。目前已经有很多学校及公司在从事这方面研究,比如Google发布了基于RNN的图像压缩技术RAISR,虽然基于深度学习的图像压缩技术目前还不成熟,但是未来肯定会有长足发展。

0 人点赞