没有合适的资源?快使用搜索试试~ 我知道了~
首页Overview of (HEVC)翻译版
资源详情
资源评论
资源推荐
Overview of the High Efficiency Video
Coding (HEVC) Standard
Gary J. Sullivan,
Fellow, IEEE,
Jens-Rainer Ohm,
Member, IEEE,
Woo-Jin Han,
Member,IEEE,
and Thomas Wiegand,
Fellow, IEEE
摘要:高效视频编码(HEVC)目前正准备作为ITU-T视频编码专家组和ISO/IEC
运动图像专家组的最新视频编码标准。HEVC标准化努力的主要目标是相比于现有
标准保证显著提升的压缩性能—对于同样感知的视频质量有50%以内的比特率减
少。本文提供了HEVC标准的技术特征和特性的综述。
关键字:高级视频编码(AVC),H.264,高效视频编码(HEVC),视频编码联合
协作小组(JCT-VC),运动图像专家组(MPEG),MPEG-4,标准,视频编码专家
组(VCEG),视频压缩。
一、 引言
HEVC(高效视频编码标准)是ITU-T VCEG(国际电联电信标准化部视频编码
组)与ISO/IEC MPEG(国际标准化组织国际电工委员会视频标准化组)的合作组
织JCT-VC(视频编码联合协作小组)的最新联合视频项目[1]。HEVC标准的第一
版预计于2013年1月完成,ITU-T和ISO/IEC将一起发布一个联合文本。另外计划
对标准进行扩展以支持一些额外的应用场景,包括增强精度和色彩格式的支持、
可分级视频编码(SVC)、3D/立体/多视角视频编码。在ISO/IEC中,HEVC标准将
成为MPEG-H第二部分(ISO/IEC 23008-2),在ITU-T中,它可能成为ITU-T建议
H.265。
视频编码标准的演变主要是通过著名的ITU-T和ISO/IEC标准的发展。ITU-T
提出了H.261[2]和H.263[3],ISO/IEC提出了MPEG-1[4]和MPEG-4 Visual[5],两
个组织联合提出了H.262/MPEG-2 Video[6]和H.264/MPEG-4高级视频编码(AVC)
[7]标准。两个联合提出的标准已经有非常大的影响,并且已经出现在和我们日
常生活日渐相关的各种产品中。在演进过程中,在最大化压缩性能和提升其他特
性如数据丢失鲁棒性等方面做了很大努力,同时考虑在每个标准预期部署的时候
产品的计算资源实际够用。
然而,服务的日益多样化,高清视频的日渐普及以及超强格式(如4k*4k或
者8k*4k分辨率)的出现,它们对编码效率优于H.264/MPEG-4 AVC的性能的需求不
断变大。当高分辨率伴随着立体或者多视角视频捕捉和显示时,这一需求更加强
烈。此外,针对移动设备和平板电脑的视频应用产生的流量以及视频点播服务的
传输需求,正对当今的网络造成严峻的挑战。移动端应用对更高质量和分辨率的
渴望也日渐强烈。
HEVC被设计来处理基本上现有H.264/MPEG-4 AVC的应用并专注于两个关键
问题:更高的视频分辨率和并行处理架构的日渐使用。HEVC的句法是通用的并且
也应该通用于上面没特别提到的其他应用。
与所有之前ITU-T和ISO/IEC提出的视频编码标准一样,HEVC标准只包含码流
的比特流结构,句法以及码流和生成的解码视频间的映射关系的约束。该映射是
通过定义句法元素的语义和解码过程,这样当给定一个符合标准约束条件的比特
流时,每个符合该标准的解码器将产生同样的输出。标准限制的范围最大限度给
了具体实现以适用于特定应用的方式优化的自由(平衡压缩质量,实现成本,上
市时间和其他方面的考虑)。但也由于这样的自由度,标准并无法保证端对端的
再现质量,因为标准完全允许粗糙的编码实现,只要它遵循规范即可。
为了帮助业界理解如何使用新标准,标准化工作不仅包含了文字说明文档的
开发,也包含了参考软件源代码作为HEVC视频如何编解码的例子。草案参考软件
在委员会设计标准的内部工作中被用作研究工具,它也可以用做通用的研究或是
商业产品的基础。此外,还开发了标准测试数据集用作测试对标准的一致性。
本文结构如下。第二节突出了HEVC编码设计的一些关键特征。第三节解释了
HEVC编码数据的高层语义和整体结构。然后在第四节更详细的描述了HEVC编码技
术。第五节解释了HEVC的profile,tier和level的设计。由于写一个像HEVC那样
信息量很大的技术综述涉及了大量的概要,读者可以参考[1]得到省略的细节。
在第六章中讨论了HEVC标准化工作的历史。
二、 HEVC编码设计和特征亮点
HEVC标准设计的目的是实现多个目标,包括编码效率,传输系统易于集成和
数据丢失的适应力以及使用并行处理架构的可实施性。下面的小节简要介绍了实
现这些目标的设计关键要素,以及生成一个有效比特流的典型编码器操作。相关
句法和解码过程的不同元素的更多详细信息将在第三节和第四节提供。
A.视频编码层
HEVC视频编码层采用了和从H.261开始的所有视频压缩标准中同样的混合方
法(帧内/帧间预测和二维变换编码)。图1描述了一个混合视频编码器的方框图,
它可以产生符合HEVC标准的比特流。
产生服从HEVC标准的比特流的编码算法通常会进行如下操作。每帧被分割为
块状区域,并且准确的块分割方式将被传输到解码器。视频序列的第一帧(以及
视频序列每个干净的随机接入点的第一帧)只使用帧内预测编码(使用一些来自
同一帧内区域到区域空间上的数据预测,但不依赖于其他帧)。对于序列中或者
随机接入点间的所有的剩余帧,通常使用帧间预测模式对大多数块进行编码。帧
间预测编码过程包括选择运动数据,包含选择的参考帧和用来预测每个块的采样
点的运动矢量(MV)。编码器和解码器使用作为边路信息传输的MV和模式选择数
据,进行运动补偿(MC),生成相同的帧间预测信号。
帧内或者帧间预测的残差信号,它是原始块和它的预测值之间的差异。对残
差信号进行线性空间变换。然后对变换系数进行缩放,量化,熵编码,然后和预
测信息一起被传输。
编码器复制解码器处理环(见图1灰色阴影框),这样编码端和解码端对随
后的数据将产生同样的预测值。因此,通过逆缩放构建量化过的变换系数,然后
进行逆变换来复制残差信号的近似值。然后将残差值加到预测值上,加得的结果
然后可能被送入一个或两个环路滤波器来平滑基于块处理和量化引起的人为影
响。最终的帧表示(解码器输出的复制品)被存储在用于预测随后帧的解码帧缓
存中。在通常情况下,帧编码或者解码过程的顺序经常不同于它们从源到达的顺
序;因此需要一个对解码器解码顺序(即比特流顺序)和输出顺序(即显示顺序)
进行区分。
Fig. 1. Typical HEVC video encoder (with decoder modeling elements shaded in
light gray).
要用HEVC进行编码的视频材料通常希望是以逐行扫描帧的形式输入(无论是
由于源视频以该格式生成还是由于编码前去隔行)。在HEVC设计中没有提出明确
的编码特征以支持隔行扫描帧的使用,因为隔行扫描帧不再用于显示并且在用于
分发时正变得大幅不常见。然而,HEVC已经提供了元数据的语法,来允许编码器
表明隔行扫描视频通过编码隔行扫描视频的每场(即每个视频帧的偶数或者奇数
行)被发送或者通过编码每个隔行扫描帧作为一个HEVC编码帧被发送。这提供了
一个编码隔行扫描视频的有效方法,而不会加重解码器的负担,不需要为它支持
一个特殊的解码过程。
下面,涉及使用HEVC混合视频编码的各种特征摘录如下。
1)编码树单元和编码树块(CTB)结构:
以前标准的编码层核心是宏块,包含一个16x16的亮度采样块,通常以
4:2:0的彩色取样,两个对应的8x8色度采样块;然而在HEVC中类似的结构
是编码树单元(CTU)。其具有由编码器选择的尺寸,并且可以比传统的
宏块更大。CTU包含一个亮度CTB和相应的色度CTBs以及语法元素。亮度CTB
的大小为L x L, L可以被选为16,32或者64。尺寸越大通常能保证更好的
压缩。然后HEVC支持使用树状结构和四叉树信号把CTB分割成更小的块。
2)编码单元(CUs)和编码块(CBs):CTU的四叉树语法指定了它的亮度和
色度CB的大小和位置。四叉树的根节点和CTU有关。因此,亮度CTB的尺寸
是亮度CB所支持的最大尺寸。把CTU分割成亮度和色度CBs的过程是一起的。
一个亮度CB和通常两个色度CBs以及相关的句法构成一个编码单元(CU)。
一个CTB可能只包含一个CU或者可能被分割形成多个CUs,并且每个CU都具
有一个相关的划分,把它划分为预测单元(PUs)和一个变换单元(TUs)
树。
3)预测单元和预测块(PBs):某帧图像采用帧内预测还是帧间预测编码是
在CU层面决策的。PU分区结构的根也在CU层。根据基本的预测类型决策的
结果,亮度和色度CB可以按尺寸进一步拆分,并且从亮度和色度预测块
(PBs)进行预测。HEVC支持可变的PB尺寸,从64x64下降到4x4样点。
4)TUs和变换块:预测残差信号使用块变换进行编码。TU树结构的根在CU层。
亮度CB残差信号可能等于亮度变换块(TB)或者可能被进一步分割成更小
的亮度块。这也同样适用于色度TBs。为TB尺寸4x4,8x8,16x16,32x32
定义了类似离散余弦变换(DCT)的整形基函数。对于亮度帧内预测残差
信号的4x4变换,有一个从离散正弦变换(DST)中衍生出的整数变换可选
指定。
5)运动矢量信号:使用了高级运动矢量预测(AMVP),包括基于邻近PBs和
参考帧数据推导几个最有可能的候选。也可以使用一种merge模式用于MV
编码,允许从时间或空间上相邻的PBs继承MVs。此外,和H.264/MPEG-4 AVC
相比,也指定了改进的skipped和direct运动推断。
6)运动补偿:MVs采用四分之一采样精度预测,使用了7抽头或8抽头的滤波
器进行分数采样位置插值(比起H.264/MPEG-4 AVC中插值使用二分之一采
样的6阶滤波器和四分之一采样的线性插值)和H.264/AVC一样,HEVC也使
用多参考帧。每一个PB可以根据单向或者双向预测传送一个或者两个运动
矢量。和H.264/MPEG-4 AVC一样,可以对预测信号进行缩放和偏移操作,
这种方式称为加权预测。
7)帧内预测:邻近块的解码边界采样点用作对不使用帧间预测的区域进行空
间预测的参考数据。帧内预测支持33种定向模式(相对于在H.264/MPEG-4
AVC中8个这样的模式),再加上平面(曲面拟合)和直流(平)预测模式。
基于之前已解码的邻近PBs推导出最有可能的模式(即预测方向),对选
择的帧内预测模式进行编码。
8)量化控制:和H.264/MPEG-4 AVC一样,在HEVC中使用了统一重构量化(URQ)
和支持可变变换块尺寸的量化缩放矩阵。
9)熵编码:使用上下文自适应二进制算数编码(CABAC)进行熵编码。这类
似于H.264/MPEG-4 AVC中的CABAC方案,但已经经历了几次改进,以提高
它的处理速度(特别是对于并行处理架构)和压缩性能,以及减少它的上
下文内存需求。
10)内置环路去块滤波:类似于在H.264/MPEG-4 AVC中使用的去块滤波器在帧
间预测环内运行。然而,本设计对于其决策判决和滤波过程进行了简化,
并使它对并行处理变得更友好。
11)采样自适应偏移(SAO):帧间预测循环的去块效应滤波器之后引入了一
个非线性的幅值映射。它的目的是更好的重建原始信号幅度,通过使用由
一些额外的参数描述的查找表,这些参数可以通过编码端的直方图分析来
确定。
B.高层语法体系
HEVC标准新增了一些设计方面来提高在各种应用和网络环境下运行的适
应性以及提升对数据丢失的鲁棒性。然而,在H.264/MPEG-4 AVC中使用的高
层语法体系已基本被保留下来,包括以下特征。
1)参数集结构:参数集包含了可被解码视频的几个区域的解码所共享的
信息。参数集结构提供了一个强健的机制传输对于解码过程必要的数
据。H.264/MPEG-4中序列和帧参数集的概念被增强,通过一个新的视
频参数集(VPS)。
2)NAL单元语法结构:每个语法结构被放在一个叫做网络抽象层(NAL)
单元的逻辑数据包中。使用两个字节的NAL单元头部的内容,能够很
容易的识别相关的有效载荷数据的目的。
3)片:片是一种数据结构,可以独立于同一帧的其他片进行解码,就熵
编码,信号预测和残差信号重建而言。片也可以是整个帧或者一帧的
某个区域。片的主要目的之一是在数据丢失的情况下再同步。在分组
传输的情况下,片内有效负载比特的最大数目通常是受限的,片中
CTUs的数目经常被改变,以减少分组开销同时在这个范围内保持每个
数据包的大小。
4)补充增强信息(SEI)和视频可用性信息(VUI)元数据:语法包括对
各种元数据如SEI、VUI的支持。这些数据提供了关于视频的帧定时信
息,在视频信号中使用的色彩空间的适当解释,3-D立体视频帧封装
信息以及其他的显示提示信息等。
C.并行解码语法和修改的片构建
最后,在HEVC标准中引入了四个新特性,以提高并行处理能力或者为了分组
的目的修改片数据的结构。它们的每个都有可能有利于特定的应用背景,并且通
常是由编码器或者解码器的实现者来决定是否以及如何利用这些特性。
1)并行块(Tile):已经指定了选项以把帧分割成叫做并行块的矩形区域。
并行块的主要目的是提高并行处理性能而不是提供差错恢复能力。并行
块是一些在一帧图像内使用一些共有的头部信息编码而成,但可以独立
解码的区域。此外并行块可以用作视频帧的局部区域的空间随机接入点
这一目的。帧的一个典型的并行块配置包含把帧分割成一些矩形区域,
这些矩形区域并行块中的CTU数量大致相等。并行块的引入使得更粗粒度
(帧/子帧)的并行化处理成为可能,它们的使用不需要复杂的线程同步。
2)波前并行处理:当波前并行处理(WPP)使能时,片被分割成CTU行。第
一行以一种普通的方式处理,只要在第一行的两个CTU被处理以后,第二
行就可以开始被处理,在第二行的两个CTU被处理后第三行可以开始被处
理,以此类推。每行的熵编码器上下文模型可以从前面的两个CTU处理延
迟的行中推断。WPP提供了一种处理并行的形式,在相当精细粒度的层次
上,也就是片内。WPP可能提供更好的压缩性能,比起并行块(并且避免
了一些由使用并行块可能引起的视觉假象)。
3)依赖片分割:叫做依赖片分割的结构允许把和特定波前入口点或者并行
块有关的数据放在单独的NAL单元,并且因此潜在地使那些数据可以以更
低的时延用于碎片化分组的系统,比起如果那些数据被全部一起编码在
一个片中。一个波前入口点的依赖片分割只能在至少另一个片分割的部
分解码过程已经被运行时才能解码。依赖片分割主要用于低时延编码,
其中其它的并行工具可能不利于压缩性能。
在下面两节中,将给出关键特性的更细节的描述。
三、高层语法
剩余27页未读,继续阅读
vimer-hz
- 粉丝: 6162
- 资源: 32
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- RTL8188FU-Linux-v5.7.4.2-36687.20200602.tar(20765).gz
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
- SPC统计方法基础知识.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0