参考The High-Level Syntax of the Versatile Video Coding (VVC) Standard

0 基本情况

HLS:High-level syntax,高层语法
VVC HLS新内容:视频区域提取,多编码码流合并、自适应的360度沉浸式媒体
编码视频内容包含头语法、补充信息、压缩码流
JVET制定的新一代国际编解码标准包括H.266/VVC, H.274/VSEI,应用领域包括
电视广播、视频会议、录像、自适应比特流、视频区域提取、多编码码流合并、多视点视频、可伸缩层编码、自适应视角360度沉浸式媒体
NAL:网络抽象层,包含 VCL NAL和non-VCL NAL
视频编码层(VCL)NAL包含slice数据,slice由矩形的CTU组成,最大规格是128×128
HLS包含:NAL码流结构、slice数据之外的语法(包含header)、non-VCL NAL 单元
HLS主题: 码流基本结构、编码数据结构、序列/图像层参数、随机接入语法、码流自适应、解码图像管理、profile/level、码流缓冲数据、高层图像分割、时序可伸缩性、扩展/回退相容、数据损失恢复、补充信息
视频编码设计的HLS为应用环境组成系统和传输界面

1 HLS内容

codec 指代编码器、解码器、视频编码格式
流应用,依赖于IP、TCP、ISOBMFF
典型的流系统:DASH(基于HTTP的动态自适应流)
codec的媒体文件格式与ISOBMFF track和DASH 表示相适应
HLS设计是为了在SDP和DASH MPD中进行标识
HLS的目的包括:在不同应用系统中使用视频内容、提供灵活随机接入和流自适应能力,并保持高编码性能、提供数据损失恢复、互操作能力、兼容拓展和回退
VVC中的HLS包括:NAL单元语法、解码能力信息(DCI)、操作点信息(OPI)、VPS、SPS、PPS、APS、VUI、SEI、随机接入分隔符(AUD)、PH、SH、序列结束(EOS)、码流结束(EOB),不包含:CTU层和更底层的编码工具语法
VVC中关键的HLS特点是:子图像、矩形slice、支持和帧间编码图像的图像分辨率改变、APS、PH、GDR、参考图像列表的直接信息、简化的多层支持
码流包含一个或多个CVS,CVS相互独立,CVS包含一个或多个layer,CVS包含一个或多个AU,AU包含一个或多个不同layer的PU,PU中包含编码图像和非编码层的NAL unit
一个NAL unit 包含:两字节的NAL unit header信息及NAL unit有效数据
VVC的NAL unit header包括layer id、NAL unit type、时间ID

2 参数集

VPS包含layer和OLS(输出层集合)信息,OLS规定输出到解码器的layer情况
VPS的目的是处理多layer码流,单个layer的VVC码流,VPS是可选的,对解码过程无影响
CVS可引用SPS来默认赋值VPS,因此,VVC中的VPS可视为总是存在

sps是序列层信息,供所有图像使用,包含:PTL(profile、tier、level)、图像格式(颜色采样、尺寸、位深)、特征/工具控制、编码/预测/变换块结构和分级、候选的RPL
SPS只有一个或少数,不需要总是更新,可通过ID引用,只更新需要改变的信息

pps可以应用到多个图像,包含特征。工具开关,图像尺寸,RPL、tiles和slices配置
连续的两个图像也可以使用不同的PPS
PPS应用于多个图像,所以码流中不需要更新或较少更新

自适应参数集APS是VVC中新的图像层参数集,传递图像和slice级信息
参数变动频繁,不适合放到PPS中,当前版本的APS包含ALF、LMCS和量化缩放表参数
APS包含前置和后置参数,后置参数在ALF中很有效,因为ALF需要互动二解码图片的统计信息
PPS不需要频繁改动,需要频繁改动的放到APS中

只有当PU只含有一个slice时,PH才会被包含在SH里
PH可以携带slice中重复使用的信息,又可以频繁改动而不便于放到PPS中的信息
包括IRAP/GDP图像指示,POC、RPL、DBF、SAO、ALF、LMCS、量化缩放列表、量化参数QP delta、加权预测、编码块划分、虚拟边界、并置图像预测属性的图像的识别
帮助解码器识别编码图像的第一个slice,因为每个图像只能有一个PH

SH是面向特定的slice,是CTU的集合,包含特定的扫描顺序
应用到所有SH的PH

3 参考图像

参考图像管理是视频编码框架的核心功能,包括解码图像缓冲(DPB),参考图像队列(RPL),用于帧间预测引用参考图像
参考图像标识:长期参考、短期参考、不参考
时间可伸缩,帧间预测只能参考时间子layer较大的图像,在码流中提取特定的时间子集

4 高层图像分割

高层图像分割,包括subpicture、tiles、slice,便于波前并行处理(WPP)
slice独立性,帧内预测、运动信息和熵编码不允许跨界,slice可以独立重建
边界的像素因环路滤波会有跨界
I slice用于帧内预测,P slice 用于帧内和帧间预测,带有一个RPL,B帧用于帧内和帧间预测带有两个RPL
tiles用于将图像划分成tile行和列,tile行可以从图像左边缘到右边缘,tile列可以从图像上边缘到下边缘
tiles数等于tiles行数乘以tiles列数
WPP中,tile包含单行的CTU,在SPS中进行规定

5 PTL(profile、tier、level)

限制特征集合profile定义解码器特征集合
level限制码流中语法元素值包括空间分辨率、像素率、比特率值、波动
level越大则复杂度越高
tier用于修改比特率值和波动范围
Main tier应用于大多数场合,High tier针对更高比特率值的场景
PTL的组合使用确定了码流和解码器的互操作点(性能)
VVC version 1定义了6个profiles,分别针对不同的应用范围
420是最常用的格式,色度分量的宽度和高度都只有亮度分量的一半
444是之色度分量和亮度分量的宽高一致,常用于图形、显示屏、计算机桌面
422比较少用,其速度分量的宽度只有亮度分量一半,而高度一致,常用于隔行扫描视频
单色视频只有亮度信号,常用于标识3D视频应用的深度图,或在解码视频上增加透明图层
still picture profiles 对应的解码器能够解析视频的第一张帧内预测图像或者视频码流的snapshot
VVC还支持外部规定的子profiles、通用限制信息(GCI)
GCI会对码流做出限制,规定解析码流特征所需的配置信息
解码器执行过程会校验GCI语法元素来检查码流是否可由该解码器解析
如果解码器支持一个profile所有特征,则可以忽视GCI语法信息,完成符合特定PTL下的码流的解析
解码能力信息DCI、包含码流级的PTL信息、操作点信息OPI

6 HRD

假想参考解码器HRD,包括编码图像缓冲CPB、解码图像缓冲DPB
用内存缓冲放置未压缩或解压后的图像,用作帧间参考帧

7 SEI 和 VUI

VUI是SPS/VPS的部分语法结构,其携带的信息不影响解码过程的信号处理步骤,但可以在解码之后的图像进行更好的理解
SEI支持解码、展示或其他目的的处理过程,但不会影响解码过程中信号处理操作
SEI信息在SEI NAL unit中携带,SEI有非常高的作用范围,或很窄的范围,SEI是视频内容的补充,对于解码器是可选的
SEI不能影响码流的一致性

8 随机接入

随机接入点RAP,AU的预测独立性,VVC中包含intra RAP,GDR
输出顺序、解码顺序:解码器可以改变解码顺序
解码顺序在IRAP之后的图像,但输出顺序在IRAP之前:RADL图像可被解码,RASL图像不一定会解码
VVC取消BLA、TSA,部分功能被其他模块承担,也为了简化HLS
subpicture可支持RAP
VVC支持三个类型的IRAP图像,具有独特的NAL unit type,两种IDR图像,一种没有引导图像
一种有相关的RADL图像,一种CRA图像
IDR图像指代closed GOP,RAP指代open GOP
VVC支持码流从GDR图像开始
完整码流包含帧间编码图像而没有完整的帧内编码图像
GDR使得编码器可以平滑码率,通过帧内slice或block来分配完整图像

9 其他

图像顺序计数,传递的往往是POC之间的差值
传统的slice包含任意数量的CTU,VVC则不允许
将图像分割成多个slice会导致编码效率下降

VVC/VSEI 高层语法相关推荐

  1. 新一代视频编码标准:VVC、AVS3

    本文来自北京大学信息科学技术学院教授马思伟在LiveVideoStackCon 2018大会上的演讲,详细介绍了最新一代VVC和AVS3视频编码标准进展,包括关键技术特色以及未来的应用展望. 文 / ...

  2. 视频编码(3):H.266 编码性能比 H.265 再提升 49% 的关键丨音视频基础

    ​ 我们在前文视频编码(2):H.265 如何比 H.264 提升 40% 编码效率丨音视频基础_音视频开发老马的博客-CSDN博客中探讨了 H.264 视频编码的基本概念.编码工具.编码流程及码流结 ...

  3. 淘宝直播火爆的背后,阿里做了什么?

    简介:2020天猫双11的直播间里,平台必须在1秒内将主播声音.画面和商品信息同步给分布范围极广的百万级消费者,确保后者获得一致的.实时的.高水平的音视频体验,以及商品交易(尤其是秒杀)的可信度.为了 ...

  4. 视频编解码标准情况概述

    视频编解码技术框架 现有的视频编解码框架实际上从上世纪70年代以来几乎没有大的变化. <图片来源:贾川民, 赵政辉, 王苫社,等. 基于神经网络的图像视频编码[J]. 电信科学, 2019, 3 ...

  5. 复旦张奇:如何解决NLP中的鲁棒性问题?

    [关键问题]随着自然语言处理技术的快速发展,研究其中的鲁棒性问题变得日益重要.如果模型是不鲁棒的,在实际使用中就会存在很大的问题.对NLP鲁棒性的研究有利于学术界更加顺利地理解深度学习模型的运行原理, ...

  6. C/C++ 类库开发库参考【资料整理】

    转自:http://bbs.chinaunix.net/thread-1858444-1-1.html 这里收集一些著名的 C/C++ 开发库.SDK.类库.可复用类与结构代码 等信息,列举它们的介绍 ...

  7. C/C++ Development Library

    这里收集一些著名的 C/C++ 开发库.SDK.类库.可复用类与结构代码 等信息,列举它们的介绍.参考和网站链接,为各位 C/C++ 程序员和爱好者提供检索和查阅类库的方便 下面收集的 C/C++ 类 ...

  8. C++ 著名程序库 概览

    本文转载自: http://ace.acejoy.com/thread-3777-1-1.html 1.C++各大有名库的介绍--C++标准库 2.C++各大有名库的介绍--准标准库Boost 3.C ...

  9. HEVC新特点一览(3)

    在之前的博文中,我曾经简单把之前阅读文献资料和编译软件的记录和心得记录分享了一下.由于我也是刚刚接触HEVC没几天,有些问题我的理解也不是很深入,在之前的博文中有博友对高层语法中的一些概念提出了疑问. ...

最新文章

  1. 城市大脑的定义与理论基础综述
  2. UA MATH636 信息论7 高斯信道简介
  3. c 多语言切换dll,【图片】老C教学之——给你的程序添加多语言支持【dll】【vb吧】_百度贴吧...
  4. linux raw 开机启动,Linux实现redmine自动启动的方法
  5. java线程组 线程池_JAVA多线程(三)-----线程组、线程池和线程相关类
  6. e-mobile帐号状态存在异常_Java 常见异常种类
  7. 04-04 常用代理工具
  8. python文件拷贝到其他盘符_Python:文件操作技巧(File operation)
  9. hive和oracle常用函数汇总及报错解决方法总结
  10. 怎样做风险评估?风险评估有哪些具体实施流程?
  11. 17家中国初创IT公司的失败史【转】
  12. 关于MMO游戏服务器从零开发基本内容介绍
  13. 一些文字,纪念我远去的姑父
  14. 第四节:逻辑控制【java】
  15. configure: error: C++ preprocessor /lib/cpp fails sanity check
  16. 使用python判断成绩是否合格
  17. Stanford CoreNLP超简单安装及简单使用,句法分析及依存句法分析
  18. 4.25晚间黄金最新行情分析及多空交易策略
  19. Qt项目实战2:图片查看器QImageViewer
  20. 安卓 关于隐藏虚拟按键

热门文章

  1. networkx库整理
  2. 酷睿i7和i5对计算机专业要求,电脑i5和i7区别有多大?聪明人都这样选择处理器的!...
  3. 云演 CTF Web题型 lfi 文件包含
  4. 人脸识别之人脸验证(二)--DeepID
  5. CSRF(跨站请求伪造)详解
  6. Jquery 浏览器调用高德地图进行导航
  7. git push报错: nt: Updates were rejected because a pushed branch tip is behind its remote
  8. SuperMap WebGL三维包加载3dtiles数据
  9. 高拍仪用法及部分问题处理
  10. 信息系统项目管理师高频考点(第八章)