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

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

视频压缩标准是一个重要且深具挑战的研究方向。从过去的存储到当前的网络带宽,视频标准每一代的更新进步对科技应用都有很大的影响。但同时随着几十年来的发展,视频压缩标准的效率提升也变的越来越困难。为了能够持续推进视频压缩标准的进步,在国际视频标准组织中,各公司的专家通过不断研究和贡献,使得每一代新的标准都能在同样视频质量下达到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工作组,下次会议专门讨论这个议题,阿里云也担任这个工作组的主席。

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

​原文链接

本文为云栖社区原创内容,未经允许不得转载。

第一个将Palette Mode引入VVC,阿里云在JVET会议上引起关注相关推荐

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

    从应用需求出发,帮助标准组织制定出更贴近云端业务需求的标准 视频压缩标准是一个重要且深具挑战的研究方向.从过去的存储到当前的网络带宽,视频标准每一代的更新进步对科技应用都有很大的影响.但同时随着几十年 ...

  2. 使用了的五年笔记本只是因为一个系统?就秒杀了阿里云服务器?

    作者:千珏 邮箱:wl625363199@gmail.com 公众号:千珏 标题:使用了的五年笔记本只是因为一个系统?就秒杀了阿里云服务器?(转载请标明出处) Hello,各位观众老爷们,作为鸽子本鸽 ...

  3. 使用阿里云OSS实现图片上传案例

    文章目录 前言 一.OSS是什么? 二.使用步骤 1.开通OSS服务 2.创建bucket 3.创建子账户 4.查看帮助文档,编写后端代码 5.layui前端 总结 前言 在正式的开发环境中,类似图片 ...

  4. yum安装mysql5.7 简书_阿里云服务器(centos7.3)上安装jdk、tomcat、mysql、redis

    前言: 平时我们敲的项目,只能在本地浏览,不论项目写得怎么样只有自己看得到,只有发布到了云服务器,别人才能访问得到.学习之路就是这样,当别人能访问自己的项目时,会更有成就感,所以接下来就一起看看阿里云 ...

  5. Spring boot上传文件(图片)到阿里云OSS(直接上传到应用服务器)

    Spring boot上传文件(图片)到阿里云OSS(直接上传到应用服务器) 主要思路 上传图片的思路有两种: 第一种是上传到应用服务器,再由应用服务器上传到OSS.这种适合上传的文件较小,较为简单, ...

  6. 购买阿里云服务器ECS快速上云

    购买阿里云服务器ECS快速上云 阿里云 阿里云优惠券 新用户专享阿里云上云必备 选购 个人上云中选择一个,点击立即购买 加入购物车,由于我不是新用户,价格有所区别 进入购物车选择立即购买 确认购买 支 ...

  7. 阿里云视频点播服务(上传,删除,获取播放地址,获取播放凭证)

    一.简介 视频点播(ApsaraVideo for VoD)是集音视频采集.编辑.上传.自动化转码处理.媒体资源管理.分发加速于一体的一站式音视频点播解决方案. 1.应用场景 音视频网站:无论是初创视 ...

  8. 阿里云 天池学习python(上)

    文章目录 阿里云 天池 Python入门(上) 简介 变量.运算符与数据类型 1. 注释 2. 运算符 3. 变量和赋值 4. 数据类型与转换 5. print() 函数 位运算 1. 原码.反码和补 ...

  9. 使用阿里云的OSS图片上传,这里是用的上传网络流

    使用阿里云的OSS图片上传,这里是用的上传网络流 思路: /** 文件上传到OSS 上传网络流 以下代码用于上传网络流: 1.通过element的el-upload插件,通过action发送请求到后台 ...

最新文章

  1. 1x pcie 速度_在主板规格上,x8在“1 x PCIe 3.0 x16(x8带宽)”中的含义是什么?...
  2. 微软获GPT-3独家授权,可访问底层代码,Open AI:API用户可继续使用
  3. laravel 任务队列_Laravel 队列的简单使用例子
  4. MySQL查询优化之explain的深入解析
  5. git 创建本地仓库、远程仓库,上传项目
  6. volatile实现原理
  7. 前端学习(2802):完成资讯页面详情
  8. Myeclipse 操作数据库
  9. 廖雪峰讲python高阶函数求导公式_高阶函数 - 廖雪峰 Python 2.7 中文教程
  10. Python知识总结(二)
  11. xcode 证书生成、加载
  12. java 非法字符: \65279
  13. 使用Python 3.5/3.6监听本机任意窗口中的按键操作
  14. JVM内存模型及分区
  15. 【电源科普】负载调整率
  16. “构建之法”--第三次作业:原型设计
  17. 海外问卷调查项目分为哪几种?
  18. 基于Matlab的数字水印设计—基于DCT域的水印算法实现
  19. DevOps落地实践及案例分享
  20. Elasticsearch:如何使用 Elasticsearch 和 Python 构建面部识别系统

热门文章

  1. 年轻人的第一次汉化APK(教程)
  2. Matlab 2014a 安装
  3. U盘拷贝大文件提示文件过大无法拷贝解决方案
  4. .net mysql sqlhelper_「谢灿asp.net三层架构」5、DAL中公共类-SqlHelper类应该这样写
  5. Redisson框架官方介绍
  6. EOS区块链的通信模型
  7. 项目简要建设情况汇报材料报告
  8. 英语自然拼读法基本规则和小窍门
  9. Python 练习实例2
  10. 同城服务小程序开发的好处和功能方案介绍