第一个将Palette Mode引入VVC(H.266),阿里云在JVET会议上引起关注-阿里云开发者社区

开发者社区> 樰篱> 正文

第一个将Palette Mode引入VVC(H.266),阿里云在JVET会议上引起关注

简介: 本文作者阿里云视频云高级技术专家睿柯如是说:阿里云在屏幕视频编码技术和应用上有世界领先的团队。6月中国AVS会议中,阿里云提出提案分析屏幕视频编码的应用需求,引起AVS组织关注,采纳阿里云的提案成为下一代AVS3的需求。
+关注继续查看

从应用需求出发,帮助标准组织制定出更贴近云端业务需求的标准

视频压缩标准是一个重要且深具挑战的研究方向。从过去的存储到当前的网络带宽,视频标准每一代的更新进步对科技应用都有很大的影响。但同时随着几十年来的发展,视频压缩标准的效率提升也变的越来越困难。为了能够持续推进视频压缩标准的进步,在国际视频标准组织中,各公司的专家通过不断研究和贡献,使得每一代新的标准都能在同样视频质量下达到50%左右的码率降低。可以说现今互联网上能够有这么多影响每一个人生活的视频应用,背后都是因为视频标准组织中这些专家们的付出。

现今视频标准组织主要有三个:

(1) 由ISO/IEC的MPEG和ITU-T的VCEG专家共同组成的JVET,目前正在制定备受瞩目的下一代国际视频编解码标准VVC(未来的H.266)。
(2) 国内的视频标准组织AVS,由中国最强的视频编解码技术专家团队组成,同时该标准也被输出为国际标准IEEE1857。
(3) 世界上第一个由工业界主导并完全不收取专利费用的视频标准组织AOM。

一个视频标准的成功需要具备很多因素:贴近市场需求、先进的技术、以及合理的授权制度。阿里巴巴加入标准会议后,除了贡献技术提案外,更希望从应用需求出发,帮助标准组织制定出更贴近云端业务需求的标准,进而帮助未来标准能在云计算产业顺利落地。阿里云具有最全面的视频应用场景,包含直播、点播、转码、音视频通信、短视频等。不同的应用场景具有不同的需求和技术难点,尤其是随着互联网不断的发展,很多新的应用有与传统视频编解码不一样的需求。阿里云服务众多的互联网客户,希望能够帮助客户将这些需求纳入到标准组织中,使得下一代视频编解码标准在互联网上能有更广泛的应用场景,解决客户实际痛点。

1.屏幕编码的应用与挑战

在现在的互联网应用中,有很多新的应用正在变得越来越重要,如屏幕视频编码。在线上会议中的屏幕共享和共同编辑、线上教育、线上游戏直播、无线投屏以及云端桌面等应用,都需要屏幕视频编码的技术支持。

image

图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。这样的内容在同一帧中可以找到很好的预测,能够有效降低码率。

image

图2: 同帧参考

屏幕编码另一个重要的新技术是调色盘模式,这个工具能够有效的描述屏幕视频中主要的颜色,并利用这些颜色来编码像素。特别的是,调色盘模式除了可以增进客观质量外,对主观质量也非常有帮助,如之前所介绍的屏幕视频中对字体边界的锐利度的主观要求就非常严。调色盘模式是一个对压缩字体或锐利物体非常有效的工具。图3是简单举例了调色盘模式,左上角是一个需要压缩的屏幕内容。右上角是屏幕像素的统计图,横轴是像素值,纵轴是像素数量。从统计图中可以看到屏幕内容只有三种主要的颜色:蓝、红和浅蓝。我们可以把这三种主要颜色编码入调色盘(图3右下角),并且给每一个主要颜色一个索引值。然后我们利用这些颜色索引值去描述像素。在解码端,解码器先解出调色盘得到三个主要颜色,然后解出每个像素的颜色索引值,最后利用索引值去找到主要颜色来重建像素。研究发现这样的编码工具对屏幕视频编码相当有帮助。


image


图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工作组,下次会议专门讨论这个议题,阿里云也担任这个工作组的主席。

随着国际视频标准会议对屏幕编码的关注逐渐增加,相信未来通过各公司专家组的共同努力,下一代标准可以对屏幕编码有更好的技术支持,进而创造出互联网和云端上更多应用,让使用者有更好更方便的体验。

本文作者:睿柯 阿里云视频云高级技术专家

音视频通信产品火爆公测中,点击了解&申请

支持世界杯直播的视频转码技术——阿里云媒体处理

对阿里云视频云技术感兴趣的小伙伴,也可以钉钉扫码加入群聊:

image

活动推荐

12月20日杭州站【云栖TechDay-音视频技术实战沙龙】,多位视频云专家现场解读短视频、直播、视频AI、视频加速技术实践,赢取阿里云公仔及代金券,点击了解活动详情及免费报名:https://yq.aliyun.com/event/678

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
7251 0
阿里云服务器ECS远程登录用户名密码查询方法
阿里云服务器ECS远程连接登录输入用户名和密码,阿里云没有默认密码,如果购买时没设置需要先重置实例密码,Windows用户名是administrator,Linux账号是root,阿小云来详细说下阿里云服务器远程登录连接用户名和密码查询方法
9514 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
8947 0
使用SSH远程登录阿里云ECS服务器
远程连接服务器以及配置环境
2120 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
10541 0
腾讯云服务器 设置ngxin + fastdfs +tomcat 开机自启动
在tomcat中新建一个可以启动的 .sh 脚本文件 /usr/local/tomcat7/bin/ export JAVA_HOME=/usr/local/java/jdk7 export PATH=$JAVA_HOME/bin/:$PATH export CLASSPATH=.
4448 0
阿里云ECS云服务器初始化设置教程方法
阿里云ECS云服务器初始化是指将云服务器系统恢复到最初状态的过程,阿里云的服务器初始化是通过更换系统盘来实现的,是免费的,阿里云百科网分享服务器初始化教程: 服务器初始化教程方法 本文的服务器初始化是指将ECS云服务器系统恢复到最初状态,服务器中的数据也会被清空,所以初始化之前一定要先备份好。
5836 0
+关注
樰篱
阿里云产品运营,专注边缘计算和视频云产品与技术传播
526
文章
59
问答
来源圈子
更多
+ 订阅
文章排行榜
最热
最新
相关电子书
更多
《Nacos架构&原理》
立即下载
《看见新力量:二》电子书
立即下载
云上自动化运维(CloudOps)白皮书
立即下载