从应用需求出发,帮助标准组织制定出更贴近云端业务需求的标准
视频压缩标准是一个重要且深具挑战的研究方向。从过去的存储到当前的网络带宽,视频标准每一代的更新进步对科技应用都有很大的影响。但同时随着几十年来的发展,视频压缩标准的效率提升也变的越来越困难。为了能够持续推进视频压缩标准的进步,在国际视频标准组织中,各公司的专家通过不断研究和贡献,使得每一代新的标准都能在同样视频质量下达到50%左右的码率降低。可以说现今互联网上能够有这么多影响每一个人生活的视频应用,背后都是因为视频标准组织中这些专家们的付出。
现今视频标准组织主要有三个:
(1) 由ISO/IEC的MPEG和ITU-T的VCEG专家共同组成的JVET,目前正在制定备受瞩目的下一代国际视频编解码标准VVC(未来的H.266)。
(2) 国内的视频标准组织AVS,由中国最强的视频编解码技术专家团队组成,同时该标准也被输出为国际标准IEEE1857。
(3) 世界上第一个由工业界主导并完全不收取专利费用的视频标准组织AOM。
一个视频标准的成功需要具备很多因素:贴近市场需求、先进的技术、以及合理的授权制度。阿里巴巴加入标准会议后,除了贡献技术提案外,更希望从应用需求出发,帮助标准组织制定出更贴近云端业务需求的标准,进而帮助未来标准能在云计算产业顺利落地。阿里云具有最全面的视频应用场景,包含直播、点播、转码、音视频通信、短视频等。不同的应用场景具有不同的需求和技术难点,尤其是随着互联网不断的发展,很多新的应用有与传统视频编解码不一样的需求。阿里云服务众多的互联网客户,希望能够帮助客户将这些需求纳入到标准组织中,使得下一代视频编解码标准在互联网上能有更广泛的应用场景,解决客户实际痛点。
1.屏幕编码的应用与挑战
在现在的互联网应用中,有很多新的应用正在变得越来越重要,如屏幕视频编码。在线上会议中的屏幕共享和共同编辑、线上教育、线上游戏直播、无线投屏以及云端桌面等应用,都需要屏幕视频编码的技术支持。
图1: 屏幕视频的例子
屏幕视频和传统自然视频的特性很不相同,因而在压缩上会面临到非常不一样的挑战。图1是两个屏幕视频的例子。在屏幕视频中,因为画面是电脑渲染出来的,所以包含了很多锐利的物体边界,这些锐利边界含有大量的高频成分,传统的编码工具很难达到有效的压缩。同时,人类视觉对这些锐利边界是非常敏感的,轻微失真所造成的模糊就能很容易被使用者感知到。以互联网屏幕共享的应用作为例子,在这类系统(线上教育和线上会议)中很常遇到的挑战是:当使用者在共享屏幕时,可能同时会有摄像头视频和报告屏幕内容的共享,在有限的网络环境下,使用者的带宽是有限的,摄像头视频或许可以透过降低画面品质来提供稳定的服务,但是一旦加大报告屏幕内容的压缩率,失真会马上导致字体的清晰度下降,这样的用户体验是不能容忍的。
此外,在屏幕共享系统设计中,也会有很多挑战:线上会议中,不断会有使用者随机加入会议,一但有使用者加入会议,系统必须要重新编码帧内编码图像作为视频的起始点,同时考虑到屏幕视频中,帧内编码图像和帧间编码图像的码率差距会非常大,这就造成系统中码率控制设计上的困难。另外,由于屏幕图像渲染的特性和屏幕视频系統的互动要求(如线上游戏和云端桌面),屏幕视频往往需要非常高的帧率(大于30fps),这也更增加了系统设计的挑战。
2.屏幕视频编码的历史
屏幕视频编码研究可以追溯到90年代,ITU-T曾提出Mixed Raster Content (MRC)编码标准。它采用分层编码的方式来解决屏幕视频编码的问题。这样的做法需要配合图像分割的技术,因而增加了系统设计的复杂度。相较之下,另一种较简易的做法是如同H.264/AVC和HEVC/H.265一般,采用以区块为基础的编码方式,针对屏幕视频设计新的编码工具。然而在H.264/AVC制定过程中,屏幕视频编码并没有引起足够的重视,当然这也和当时相关的应用没有大规模兴起有关。
在HEVC/H.265 Main Profile中,针对屏幕内容设计了一种新的编码模式:变换跳过模式(Transform Skip)。这个模式就是针对屏幕视频中锐利的物体边界而设计的。这样的内容经过变换后,在频域引入的大量高频信息反而无法得到有效的压缩,因此变换跳过模式是一种简单而有效的解决方法。在Main Profile的算法框架下,并没有引入太多的复杂度。
HEVC/H.265初版定稿后,针对屏幕视频编码制定了一个标准扩展(HEVC SCC Extension)。在这个标准扩展中采纳了更多屏幕视频编码的技术。其中有两个重要的技术分别是:同帧参考(Current Picture Referencing)和调色盘模式(Palette Mode)。
同帧参考在概念上只是单纯的把帧间预测扩展到可以参考当前帧内已经解码的区域。虽然概念非常简单,但是却能有效的降低码率。因为在屏幕视频中常常会出现重复的内容(例如:英文字母),例如图2。这样的内容在同一帧中可以找到很好的预测,能够有效降低码率。
图2: 同帧参考
屏幕编码另一个重要的新技术是调色盘模式,这个工具能够有效的描述屏幕视频中主要的颜色,并利用这些颜色来编码像素。特别的是,调色盘模式除了可以增进客观质量外,对主观质量也非常有帮助,如之前所介绍的屏幕视频中对字体边界的锐利度的主观要求就非常严。调色盘模式是一个对压缩字体或锐利物体非常有效的工具。图3是简单举例了调色盘模式,左上角是一个需要压缩的屏幕内容。右上角是屏幕像素的统计图,横轴是像素值,纵轴是像素数量。从统计图中可以看到屏幕内容只有三种主要的颜色:蓝、红和浅蓝。我们可以把这三种主要颜色编码入调色盘(图3右下角),并且给每一个主要颜色一个索引值。然后我们利用这些颜色索引值去描述像素。在解码端,解码器先解出调色盘得到三个主要颜色,然后解出每个像素的颜色索引值,最后利用索引值去找到主要颜色来重建像素。研究发现这样的编码工具对屏幕视频编码相当有帮助。
图3: 调色盘(Palette Mode)
3.屏幕视频编码在下一代视频标准中的研究
尽管屏幕编码在过去标准中已经有相关技术支持,但还是有很多技术值得进一步研究。例如:在HEVC SCC定稿后,阿里云视频云高级技术专家睿柯曾经发表过一篇期刊论文,在论文中提出数个技术改进HEVC SCC的调色盘模式和同帧参考,可以在不增加解码复杂度的情况下更进一步降低码率。另外还有一些非常有潜力的研究,例如字串复制(string copy),虽然在上一代标准没有被采纳,但是还是值得继续深入研究。这些技术都有可能为下一代的标准进一步提升屏幕编码的效率。
阿里云在屏幕视频编码技术和应用上有世界领先的团队。由于屏幕视频编码的重要性,阿里云在加入标准组织后,首先积极推动屏幕视频编码的进展。
在今年4月第10次JVET会议时,标准组织成立屏幕视频编码工作组,阿里云担任工作组联席主席。6月中国AVS会议中,阿里云提出提案分析屏幕视频编码的应用需求,引起AVS组织关注,采纳阿里云的提案成为下一代AVS3的需求。7月第11次JVET会议时,阿里云是世界上第一个将Palette Mode引进VVC(未来的H.266)的技术团队,会议中引起广泛关注,JVET标准组织决定成了一个Palette Mode工作组,下次会议专门讨论这个议题,阿里云也担任这个工作组的主席。
随着国际视频标准会议对屏幕编码的关注逐渐增加,相信未来通过各公司专家组的共同努力,下一代标准可以对屏幕编码有更好的技术支持,进而创造出互联网和云端上更多应用,让使用者有更好更方便的体验。