H.265/HEVC在编解码的设计上添加了多种新的语法结构,使得H.265/HEVC在压缩效率和网络适应性两个方面有显著提升。

一、编码结构

1、分层处理架构

视频序列是由若干连续时间连续的图像组成的,在对其进行压缩时,先将视频序列分割为小的图像组(GOP),GOP类型有两种:封闭式GOP和开放式GOP。所谓封闭式GOP是指每一个GOP都以IDR图像开始,各个GOP之间独立地编解码。而开放式GOP中,第一个GOP中的第一个帧内编码图像必须是IDR图像,后续GOP中的第一个帧内编码图像为non-IDR图像,因此后面GOP中的帧间编码图像可以越过non-IDR图像,用前一个GOP中的已编码图像做参考图像,二者示意图如图1。每一个GOP又被划分成多个片(Slice),片与片之间独立编解码。使用片的主要目的之一是可以在数据丢失的情况下重新进行同步。每一个片又由多个片段(SS)组成。一个SS在编码时,先被分割为大小相同的CTU,每一个CTU按照四叉树划分为不同类型的CU。
图1 两种不同的GOP类型

2、码流结构

H.265/HEVC压缩数据采用了类似H.264/AVC的分层结构,将数据GOP层、Slice层中公用的大部分语法元素游离出来,组成序列参数集(SPS)和图像参数集(PPS)。SPS包含了一个CVS中所有图像公用的信息,PPS包含一幅图像所用的公共参数,一幅图像的所有SS都引用同一个PPS。H.265/HEVC的语法架构中增加了视频参数集(VPS),包括多个子层共享的语法元素和其他不属于SPS的特定信息等。一个SS通过引用它所使用的PPS,该PPS又引用对应的SPS,该SPS又引用对应的VPS,最终得到SS的公用信息。

二、视频参数集(VPS)

VPS主要用于传输视频分级信息,有利于兼容标准在可分级视频编码或多视点视频编码的扩展。一个给定的视频序列,,无论每一层SPS是否相同,都参考相同的VPS。VPS包含的信息有:①多个子层和操作点共享的语法元素;②会话所需要的有关操作点的信息;③其他不属于SPS的操作点特性信息。

三、序列参数集(SPS)

在H.265/HEVC中,一个CVS由一个随机接入点开始,第一幅图像可以是IDR图像,也可以是non-IDR图像。non-IDR图像可以是BLA图像或CRA图像。一段视频码流,可能包含一个或多个CVS。SPS通过被PPS引用而作用于编码图像,一个CVS中所有被引用的PPS必须引用同一个SPS。SPS内容大致分为以下几个部分:①图像格式的信息;②编码格式的信息;③与参考图像相关的信息;④档次、层和级相关参数;⑤时域分级信息;⑥可视化可用性信息;⑦其他。

四、图像参数集(PPS)

编码视频流中,一个CVS包含多幅图像,每幅图像包括一个或多个SS,每个SS头提供了所引用的PPS标识号。同一幅图像的所有SS都用同一个PPS。SS使用PPS中的参数进行解码,解码开始时,所有PPS都是非激活状态,当解码过程在引用了某个PPS,这个PPS被激活,直到该图像解码结束,在解码的任意时刻最多只有一个PPS处于激活状态。PPS的内容大致分为以下部分:①编码工具的可用性标志;②量化过程相关句法元素;③Tile相关句法元素;④去方块滤波相关句法元素;⑤片头的控制信息;⑥其他编码一幅图像时可以共用的信息。

五、片段层

一个图像可以被分割为一个或多个片,每片的压缩数据独立,Slice头信息无法通过前一个Slice头信息得到,因此Slice不能跨越边界进行帧内或帧间预测,但在环路滤波时,允许滤波器跨越边界进行滤波。Slice可分为以下三种:①I Slice:帧内预测编码模式,所有的CU的编码过程都是帧内预测;②P Slice:单向预测编码模式和帧内模式,CU可以是帧内预测也可以是帧间预测,每个PB使用最多一个运动补偿预测信息,P Slice只使用图像参考列表list 0;③B Slice:双向预测或帧内模式,CU可以是帧内预测也可以是帧间预测,每个PB可以使用最大两个运动补偿预测信息,可以使用图像参考列表list 0和list 1。
一个独立的Slice可以被划分为若干SS,包括一个独立SS和若干依赖SS,并且以独立SS作为Slice的开始,一个SS包含整数个CTU。预测过程不能跨越独立Slice的边界,可以跨越依赖SS的边界。

六、Tile单元

H.265/HEVC对H.264/AVC的改进之处还在于Tile概念的提出。一幅图像不仅可以划分为若干Slice,也可以划分为若干个Tile,即从水平和垂直方向将一幅图像分割为若干矩形区域。每个Tile包含整数个CTU,可以独立解码。划分Tile的目的是增强并行处理能力的同事又不引入新的错误扩散。
Slice和Tile的划分目的都是为了独立解码,但划分方式不同,Tile形状为矩形,Slice为带状;Slice由SS组成,一个SS由一系列CTU组成,Tile直接由CTU组成。每个Slice/SS和Tile至少要满足以下两个条件之一:①一个Slice/SS的所有CTU属于同一个Tile;②一个Tile中的所有CTU属于一个Silce/SS。

七、树形编码快

H.265/HEVC引入了树形编码单元CTU,还为图像划分定义了一套全新语法单元,包括CU、PU、TU。CU是进行预测、变换、量化和熵编码等处理的基本单元,PU是进行帧内/帧间预测的基本单元,TU是进行变换和量化的基本单元。

1、编码单元(CU)

在H.265/HEVC中,CB的大小是可变的,亮度CB最大为6464,最小为88。大的CB可以在平坦区域提高编码效率,小的CB可以很好地处理图像局部的细节。
一幅图像被划分为互不重叠的CTU,在CTU内部,采用四叉树划分为CU。CU能否继续被划分取决于分割符号位Split flag,若Split flag=0,则不继续划分,反之Split flag=1,则继续划分,并且深度加1。

2、预测单元(PU)

预测单元()PU规定了编码单元的所有预测模式,一切与预测有关的信息都定义在预测单元部分。对于一个2N2N的CU,帧内预测单元PU的可选模式有两种:2N2N和NN;帧间预测单元PU的可选模式有8种:2N2N、2NN、N2N、NN、2NnU、2NnD、nL2N、nR2N。skip模式是帧间预测模式的一种,当运动信息只有运动参数机索引,编码残差信息不需要编码时,为2N2N skip模式。
图2 H.265/HEVC预测单元的划分模式

3、变换单元(TU)

变换单元是独立完成变换和量化的基本单元,H.265/HEVC突破了原有的尺寸限制,可支持大小为44~3232的编码变换。大块的TU模式能将能量更好的集中,小块的TU模式可以保存更多的图像细节。

八、档次、层和级别

在H.264/AVC就有档次(profile)和级别(level)的划分,H.265/HEVC在此基础上定义了一个新的概念:层(Tier)。档次主要规定编码器可采用哪些编码工具或算法,级别是指根据解码端的负载和存储空间情况对关键参数加以限制。有些Level定义了两个Tier:主层(Main Tier)和高层(High Tier),主层用于大多数应用,高层用于最苛刻的应用。

1、档次

H.265/HEVC标准中提出了三种档次:Main、Main 10和Main Still Picture。它们的限制条件如下:①只支持4:2:0色度采样信号;②使用了Tier则不能使用WPP(波前并行处理),每一个Tier的亮度分辨率至少要为256*64;③Main和Main Still Picture档次支持八位像素深度,Main 10还支持10位像素深度,Main Still Picture不支持帧间预测。

2、层和级别

H.265/HEVC标准中定义了两个层和13个级别,两个层分别是Main Tier和High Tier。

【笔记】H.265/HEVC 视频编码(三)——编码结构相关推荐

  1. 【笔记】H.265/HEVC 视频编码(四)——预测编码

    预测编码时视频编码中的核心技术之一.对于视频信号来说,一幅图像内邻近像素之间有较强的空间相关性,相邻图像之间有较强的时间相关性.因此采用帧内预测和帧间预测的方式,去除视频的空域和时域的相关性.视频编码 ...

  2. 【笔记】H.265/HEVC 视频编码(二)——数字视频格式

    一.数字视频 视频技术泛指一系列的图像以电信号的方式加以捕捉.记录.处理.存储.传送与重现的各种技术.数字视频即以数字形式记录的视频,数字视频由一幅幅数字图像组成,每幅图像由N行,每行M个像素组成,每 ...

  3. H.265/HEVC视频编码标准总结

    目录 1.HEVC的Profiles(档次),Levels(级别),Tier(层) 1.1 HEVC的Profiles(档次) 1.2 HEVC Levels(级别)和Tiers(层) 2.HEVC的 ...

  4. Ubuntu20.0.4下使用VLC播放h.265(HEVC)视频缺少hevc解码器

    网上大部分都是这样的回答 sudo add-apt-repository ppa:strukturag/libde265 sudo aptitude update sudo apt-get insta ...

  5. 视频编码第一节:H.265/HEVC原理——入门

    写在开头:         最近工作原因接触了视频编码方面的技术,觉得有必要对经典的H.265/HEVC视频编码技术了解学习,开这个版块的博客目的一方面作为学习笔记,另一方面希望能多和大家一起沟通交流 ...

  6. H.265/HEVC编码原理及其处理流程的分析

    H.265/HEVC编码原理及其处理流程的分析 H.265/HEVC编码的框架图,查了很多资料都没搞明白,各个模块的处理的分析网上有很多,很少有把这个流程串起来的.本文的主要目的是讲清楚H.265/H ...

  7. H.265/HEVC 简述 第二课(数字视频格式)

    目录 零.前言 一.数字视频 二.数字视频格式 三.H.265/HEVC编码视频格式 零.前言 本系列博客是对H.265/HEVC视频编码进行一个简单的介绍,主要介绍大致的编码框架和流程,不涉及算法和 ...

  8. H.265/HEVC简介

    2010年1月,由VCEG和MPEG组建的视频编码联合组(Joint Collaborative Team on Video Coding,JCT-VC)成立,负责组织新一代视频编码标准的研发和制定, ...

  9. 2.H.265/HEVC —— 帧内预测

    在H.265/HEVC中,35种预测模式是在PU的基础上定义的,而具体帧内预测过程的实现则是以TU为单位的.编撰规定PU可以以四叉树的形式划分TU,且一个PU内所有TU共享同一种预测模式的形式划分TU ...

最新文章

  1. IAR建立stm32工程
  2. 谷歌zxing 二维码生成工具
  3. java mapfile_基于文件的数据结构:关于MapFile
  4. 箱梁终张拉后弹性上拱度计算_高速铁路预应力简支箱梁反拱预设分析
  5. java里面string什么意思_java中string什么意思
  6. Linux学习笔记B站狂神说(自己总结方便复习)
  7. 基于熵权法评估某高校各班级整体情况(公式详解+简单工具介绍)
  8. 惊艳的成长计划表刷屏!武大首位 94 年博士入职华为,年薪达 201 万
  9. 简洁界面清爽让人非常舒服的一款短视频去水印微信小程序源码自带接口支持多种流量主
  10. 《单片机原理及应用(魏洪磊)》第七章第8题
  11. 2020-07-28 activeMq 两种模式的测试
  12. java 跳转url_URL跳转的几种方式
  13. oracle判断数字为复数,oracle毛病(二) (转)
  14. 大数据基础之Spark——Spark pregel详细过程,一看就懂
  15. 奖励来了!四川省中央引导地方科技发展资金认定条件范围及申报奖励补贴
  16. 西门子PLC功能图的画法
  17. Android多媒体添加软解码
  18. 如何用adobe audition剪切音频单独导出保存
  19. 关于(求和符号∑)不可不知的事情
  20. “CIO生存法则”培训——企业信息主管如何成功的“潜规则”

热门文章

  1. 风口之上,智能投顾怎么突然失声了
  2. element plus为表格某列数据文字设置颜色样式
  3. 灰度共生矩阵(Gray-level Co-occurrence Matrix,GLCM)
  4. Python参考手册(转)
  5. 知名软件已经成为手机病毒滋生的乐土
  6. 2008-07-11 11:54 K3 10.3版 登录时出现 定义的应用程序或对象错误 错误代码:1726(6BEH) 的解决方法
  7. 创业点滴:一个小老板的日常管理
  8. 安卓手机来电防火墙_安卓基础知识自动化测试
  9. 最新解决jupyter内核不匹配:note book kernel not match project kernel
  10. 【算法】图上两点间的最短路径