QCon全球软件开发大会8折优惠倒计时最后3天,购票立减¥1760!了解详情 >>> 了解详情
写点什么

新一代 AVS3 视频编码标准

2019 年 11 月 29 日

新一代 AVS3 视频编码标准

在 RTC 2019 实时互联网大会上,北京大学教授马思伟分享了新一代 AVS3 视频编码标准的技术细节,以及标准制定进展。本文将简要整理部分演讲内容。


对于目前国际的新一代音视频编解码标准 H.266,国家与企业的参与度都比较高,这里包括较早参与的华为、海思、大疆,也包括一些互联网企业,比如阿里、腾讯、快手、字节跳动等。中国公司在国际标准制定组织中,所占席位已过半。同时,这些公司也在参与国内编解码标准 AVS 的制定。一个技术标准,要面向不同的行业、产业,还要考虑到多种技术因素,在不同应用场景发挥不同的作用。下面我们具体看一下 AVS3 标准的进展。



AVS3 目标主要是面向 8K 超高清和 VR 应用,编码效率比 AVS2 高一倍。技术主要有两方面体现:传统的信号处理相关的技术,如块划分、运动预测等;另一方面是利用智能算法来进行的优化和探索,比如用神经网络来优化信号的预测编码,在这方面我们也已经看到了性能的提升。



大概从 2017 年年底,AVS3 的正式制定计划启动。第一次征集响应是 2018 年 3 月。当时,包括华为、三星在内的企业,以及一些研究院都积极参与了进来。AVS3 不仅仅是面向中国企业的,它是开放的,只要遵从专利式管理政策,就可以加入 AVS。到 2019 年 1 月,AVS3 基本完成了技术的制 定阶段;3 月,进行了多轮符合性测试;9 月华为海思发布了第一颗 AVS3 8K 视频解码芯片。从技术到标准,再到芯片,AVS3 只用了一年半的时间。


AVS3 规划分为两个阶段:第一阶段所做的事情就是让这些工具在编码复杂度和性能之间找到一个折中的平衡点,之后第二阶段要做的,就是继续提高编码效率。下一个时间节点就是 2022 年北京冬奥会。以上是 AVS3 制定的背景及规划。


AVS3 关键技术



介绍这些关键技术之前,需要先讲一个基本的思想,为什么会有这么多的关键技术?我们可以用两条总结其技术背后的机理。


其中一个是复杂运动视频内容的高效表示。现在有各种各样的视频,编码技术在某些视频上表现比较好,就是编码技术与视频内容之间的关系,如何通过建模的方式来表示。例如块平移运动,可一旦碰到旋转和缩放,无法通过简单的块平移模型来处理了。所以我们需要基于这种仿式运动模型,来进行更高效、更准确的运动预测。当然,在做运动表示的时候,块的大小会影响预测效率。这是第一方面,即如何表示复杂的运动,做到更准确的预测。


第二个是经过预测后,再进行编码,包括变换、量化等。这些动作也和视频内容特性关系较大,比如有些比较平滑的块,易于编码,而有些块是带有边缘的或比较复杂的纹理,这就需要做好变换及变换后的适用性,才能保证提升编码效率。同样道理,后面进行的滤波,自适应性要更强才可以获得更好的编码效率。


综上,一方面是要做到更高效的预测,另一方面是更高效的变换处理。




以上是一个简单的对比,从早先的 MPEG 2,到现在的 AVS3,对比了块划分、运动矢量预测、运动矢量精度和变换。原来的运动矢量预测扩展到时间上的,再后来扩展到更多,比如基于历史的运动矢量信息预测。


当然,很多的模型和处理方式会依赖于计算资源的支持。现在算力的发展,让我们可以做更复杂的编码技术。


最初我们使用的是 DCT 变换,如果信号相关性高,编码效率就会高,如果图像有边缘的话,变换效率就会下降。


随后,马思伟老师在演讲中更详细地分享了 AVS3 的技术细节,包括:


  • 块划分结构 QTBT+EQT

  • 块划分约束

  • 编码数据组织

  • 帧内预测滤波 IPF

  • 两步色度帧内预测

  • 仿射运动预测

  • 运动矢量预测

  • 自适应运动矢量精度

  • 运动矢量扩展

  • 运动矢量精细调整

  • 自适应变换核选择

  • ……


本文转载自公众号声网 Agora(ID:shengwang-agora)。


原文链接:


https://mp.weixin.qq.com/s/vVu7UJpmOE95UqDs62fODg


2019 年 11 月 29 日 16:43834

评论

发布
暂无评论
发现更多内容

.NET委托,事件和Lambda表达式

AI代笔

LeetCode题解:232. 用栈实现队列,使用两个栈 入队 - O(1),出队 - 摊还复杂度 O(1),JavaScript,详细注释

Lee Chen

LeetCode 前端进阶训练营

Dubbo-go应用维度注册模型

apache/dubbo-go

dubbo dubbo-go dubbogo

藏在Java数组的背后,你可能忽略的知识点

Java架构师迁哥

从新浪数字化转型,窥见互联网的“懂行”新十年

脑极体

不草率,你只管下载资料,剩下的交给「哇哦」

小Q

Java 学习 架构 面试 分布式

Java四种引用类型:强引用、软引用、弱引用、虚引用

简爱W

为什么每个微服务要有自己独立的数据库?

码猿外

数据库 架构 微服务

架构师训练营第十四周

Melo

[翻译]Scalable Go Scheduler Design Doc[Go可扩展调度设计文档]

卓丁

golang golang scheduler Go scheduler

澳门金沙玩赢了钱提现不了异常注单未更新有什么办法处理?

丛林里的余光

异常检测 澳门金沙 提现不了

一点 Go Web 编程实践经验

Garfield

go Go web

week11--作业

Geek_165f3d

我理解的面向对象(ObjectiveSql 实践)

Braisdom

Java ORM框架 ORM

oeasy教您玩转 linux 010212 管道 pipe

o

阿里培训官给新入职程序员的25条建议

Java架构师迁哥

区块链赋能市场监管 浙江上线“黑科技”清除取证固证难题

CECBC区块链专委会

区块链 市场监管 取证难题

Golang领域模型-实体

奔奔奔跑

go 架构 领域驱动设计 DDD 微服务拆分

甲方日常 13

句子

工作 随笔杂谈 日常

面试必问亿级流量优化策略之JVM调优,文档视频面试,还不收藏

小Q

Java 程序员 架构 JVM jvm调优

区块链技术发展的十大趋势

CECBC区块链专委会

区块链 金融 安全问题

LeetCode题解:232. 用栈实现队列,使用两个栈 入队 - O(n), 出队 - O(1),JavaScript,详细注释

Lee Chen

前端进阶训练营

基于Goc的Golang代码VSCode实时染色方案

大卡尔

go 测试覆盖率 精准测试

央行数研所推出贸易金融区块链平台

CECBC区块链专委会

区块链 金融

【高并发】Redis如何助力高并发秒杀系统,看完这篇我彻底懂了!!

冰河

redis 多线程 高并发 秒杀 电商超卖

一文解开java中字符串编码的小秘密

程序那些事

java安全编码 java编码指南 UTF编码

架构师课作业 - 第十三周

Tulane

TOGAF认证课由2天变化为5天的思考

周金根

企业架构 TOGAF

oeasy教您玩转linux 010211 牛说 cowsay

o

宅家三个月玩转算法,再战字节跳动,字节跳动面试官朝我比了个“ok”

云流

编程 字节跳动 算法 Java 面试

业务架构学习内容有哪些?

周金根

BIZBOK 业务架构

移动应用开发的下一站

移动应用开发的下一站

新一代 AVS3 视频编码标准-InfoQ