h265(HEVC)编解码相关技术概述_第1页
h265(HEVC)编解码相关技术概述_第2页
h265(HEVC)编解码相关技术概述_第3页
h265(HEVC)编解码相关技术概述_第4页
h265(HEVC)编解码相关技术概述_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、H265(HEVC Heigh Efficiency Video Coding)介绍1 概要H.265(高效率视频编码(HEVC))是现行“H.264/MPEG-4 AVC”标准于2003年实现标准化以来时隔10年推出的新标准,将成为支撑未来十年的影像服务和产品的视频压缩技术。其特点是,支持1080p以上的4K×2K和8K×4K分辨率,将视频压缩率提高至H.264的约2倍。也就是说,能以原来一半的编码速度发送相同画质的视频。例如,按照20Mbit/秒发送的H.264格式视频内容,在相同画质的条件下用HEVC格式只需10Mbit/秒的速度。1.1 H.265发展背景 H.26

2、4虽然是一个划时代的数字视频压缩标准,但是随着数字视频产业链的高速发展,H.264的局限性逐步显现,并且由于H.264标准核心压缩算法的完全固化,并不能够通过调整或扩充来更好地满足当前高清数字视频应用。视频应用向以下几个方面发展的趋势愈加明显:(1)高清晰度(Higher Definition):数字视频的应用格式从720P向1080P全面升级,在一些视频应用领域甚至出现了4K*2K、8K*4K的数字视频格式(2)高帧率(Higher frame rate):数字视频帧率从30fps向60fps、120fps甚至240fps的应用场景升级(3)高压缩率(Higher Compression r

3、ate):传输带宽和存储空间一直是视频应用中最为关键的资源,因此,在有限的空间和管道中获得最佳的视频体验一直是用户的不懈追求。由于数字视频应用在发展中面临上述趋势,如果继续采用H.264编码就出现如下一些局限性:(1)宏块个数的爆发式增长,会导致用于编码宏块的预测模式、运动矢量、参考帧索引和量化级等宏块级参数信息所占用的码字过多,用于编码残差部分的码字明显减少。即:单个宏块所表示的图像内容的信息大大减少,导致4*4或8*8块变换后的低频率相似程度也大大提高,会出现大量的冗余(2)分辨率的大幅增加,表示同一个运动的运动矢量的幅值将大大增加,H.264中采用一个运动矢量预测值,对运动矢量差编码使用

4、的是哥伦布指数编码,该编码方式的特点是数值越小使用的比特数越少。因此,随着运动矢量幅值的大幅增加,H.264中用来对运动矢量进行预测以及编码的方法压缩率将逐渐降低。(3)并行度比较低H.264的一些关键算法,例如采用CAVLC和CABAC两种基于上下文的熵编码方法、deblock滤波等都要求串行编码,并行度比较低。针对GPU/DSP/FPGA/ASIC等这种并行化程序非常的CPU,H.264的这种串行化处理越来越成为制约运算性能的瓶颈。基于以上视频应用的发展趋势和H.264的局限性,面向更高清晰度、更高帧率、更高压缩率的高效视频编码标准(High Efficiency Video Coding

5、)HEVC(H.265协议标准应运而生。HEVC的核心目标:在H.264/AVC high profile的基础上,保证相同视频质量的前提下,视频流的码率减少50%。在提高压缩效率的同时,允许编码端适当提高复杂度HEVC的编码框架:沿用H.263的混合编码框架,即用帧间和帧内预测编码消除时间域和空间域的相关性,对残差进行变换编码以消除空间相关性,熵编码消除统计上的冗余度。HEVC在混合编码框架内,着力研究新的编码工具或技术,提高视频压缩效率HEVC的技术创新:基于大尺寸四叉树结构的分割技术,多角度帧内预测技术,运动估计融合技术,高精度运动补偿技术,自适应环路滤波技术以及基于语义的熵编码技术。通

6、信和广电行业的人士对HEVC的高压缩率寄予了厚望。1.2 发展历程 早在2004年,ITU-T视频编码专家组(VCEG)开始研究新技术以便创建一个新的视频压缩标准。在2004年10月,H.264/ AVC小组对潜在的各种技术进行了调查。2005年1月VCEG的会议上,VCEG开始指定某些主题为“关键技术”作进一步研究。2005年成立软件代码库称为Key Technical Areas (KTA)用来评估这些新的“关键技术。KTA的软件是在联合模型(JM)基础上由MPEG和VCEG的视频组联合开发的,项目名称暂定为H.265和H.NGVC(Next-generation Video C

7、oding),此项目在2010年最终演化为由VCEG和MPEG合资项目也叫做按照NGVC的初步要求,在维持视觉HEVC(High efficiency video coding)。质量相同的情况下,比特率较H.264/MPEG-4 AVC的高中档(high profile),计算复杂度维持在比特率较H.264/MPEG-4 AVC的高中档的1/2至3倍之间。 “H.265” 只是作为 “高性能视频编码(HEVC)”一个昵称。2009年7月,实验结果表明比特率相较于H.264/AVC High Profile平均降低20%左右,这些结果促使MPEG与VCEG合作发起的新的标准化工作。2010年1

8、月,VCEG和MPEG开始发起视频压缩技术正式提案。相关技术由视频编码联合组(Joint Collaborative Team on Video Coding (JCT-VC))审议和评估,其合作小组第一次会议于2010年4月召开大会,一共有27个完整的提案。评价结果表明,一些提案在许多测试用例可以达到只用一半的比特率并维持H.264/AVC相同的视觉质量。在这次会议上,联合项目名改称为高效率的视频编码(HEVC),并且JCT-VC小组把相关技术集成到一个的软件代码库(HM)和标准文本草案规范,并进行进一步实验,以评估各项功能。2012年2月10日,在美国圣何塞召开了第99届MPEG会议。MP

9、EG组织和ITU-T组织对JCT-VC的工作表示满意,准备于2013年1月,同时在ISO/IEC和ITU-T发布HEVC标准的最终版本。2013年1月26号,HEVC正式成为国际标准。标准时间点:2010年1月,ITU-T VCEG(Video Coding Experts Group)和ISO/IEC MPEG(Moving Picture Experts Group)联合成立JCT-VC(Joint Collaborative Team on Video Coding)联合组织,统一制定下一代编码标准:HEVC(High efficiency video coding)。2012.2:委员

10、会草案(标准草案完成稿);HEVC委员会草案获得通过。2012.7:HEVC国际标准草案获得通过2013.1:国际标准最终获得通过1.3 应用领域        以前,伴随每次视频压缩技术的进化,多种影像服务和产品都会纷纷亮相(图1)。1995年实现标准化的MPEG-2得到了DVD和数字电视等领域采用,大幅扩大了视频压缩技术的应用范围。MPEG-4在1998年实现标准化后,立即应用到了移动和互联网视频服务领域。伴随视频压缩技术的升级,各种影像服务和产品随之登场。2013年以后,随着HEVC的进步, 4K及8K电视及网络全高清

11、影像服务也纷纷出现。箭头指示的是各服务和产品主要采用的压缩技术。图1:视频压缩技术及对应的影像服务和产品的历史图2:HEVC的应用示例       HEVC的应用示意图如图2所示。在广播电视、网络视频服务、电影院及公共大屏幕(Public Viewing)等众多领域,4K×2K和8K×4K视频发送将变得更容易实现。个人电脑及智能手机等信息终端自不用说,平板电视、摄像机及数码相机等AV产品也会支持HEVC。 不仅是这些既有市场,HEVC还有可能在今后有望增长的新市场上大显身手。例如,影像监控系统就是其中之一

12、。影像监控系统最近几年在快速从原来的模拟摄像头组合VTR的方式,向经由IP网络发送、存储和浏览数码摄像头拍摄的视频的方法过度。为提高安全性,需要增加摄像头数量、提高影像的精细度,而与此同时,确保网络频带和存储容量增加。估计HEVC将作为解决这些课题的措施而得到采用。1.4 优缺点优点:1、高压缩率1)在视频质量相同的条件下,较H.264平均减少50%的码流,可以节省下大量的网络带宽及存储空间2)在同码流条件下提供更加高质量的视频2、支持8192x4320分辨率缺点:1、HEVC使用到的技术和算法较前两代标准H.264和MPEG-2更为复杂,视频流在压缩过程中需要经过更多的选择和运算。2、HEV

13、C不支持大多数硬件,通常需要效率更高,更多的处理器来辅助,这意味着,如果有一个固件需要更新,而编解码器却跟不上升级速度的话,那么我们的电视机顶盒和蓝光播放机是无法播放HEVC编码内容的,需要等待解决方案出现后才能继续使用。2 编解码技术通过帧间预测编码和帧内预测编码消除时域空域的相关性;通过对预测残差的变换编码消除时间上的相关性;通过熵编码消除比特分配造成的编码冗余。但2.1 H.265编码框架及编码单元结构与H.263以来的视频编码标准一样,HEVC的设计沿用了经典的基于块的混合视频编码框架。框架主要包括,帧内预测(intra prediction)、帧间预测(inter predictio

14、n)、转换 (transform)、量化(quantization)、去区块滤波器(deblocking filter)、熵编码(entropy coding)等模块,但在HEVC编码架构中,整体被分为了三个基本单位,分别是:编码单位(coding unit,CU)、预测单位(predict unit,PU) 和转换单位(transform unit,TU )。视频编码的基本流程为:将视频序列的每一帧划分为固定大小的宏块,通常为16×16像素的亮度分量及2个8×8像素的色度分量(对于4?誜2?誜0格式视频),之后以宏块为单位进行编码。对视频序列的第一帧及场景切换帧或者随机读

15、取帧采用I帧编码方式,I帧编码只利用当前帧内的像素作空间预测,类似于JPEG图像编码方式。其大致过程为,利用帧内先前已经编码块中的像素对当前块内的像素值作出预测(对应图中的帧内预测模块),将预测值与原始视频信号作差运算得到预测残差,再对预测残差进行变换、量化及熵编码形成编码码流。对其余帧采用帧间编码方式,包括前向预测P帧和双向预测B帧,帧间编码是对当前帧内的块在先前已编码帧中寻找最相似块(运动估计)作为当前块的预测值(运动补偿),之后如I帧的编码过程对预测残差进行编码。编码器中还内含一个解码器,如图1中青绿色部分所示。内嵌解码器模拟解码过程,以获得解码重构图像,作为编码下一帧或下一块的预测参考

16、。解码步骤包括对变换量化后的系数进行反量化、反变换,得到预测残差,之后预测残差与预测值相加,经滤波去除块效应后得到解码重构图像。帧内预测编码图帧间预测编码图HEVC以LCU块为单位对输入视频帧进行处理,首先是预测,可进行帧内预测与帧间预测。帧内预测:预测块由当前帧中已编码并解码重建的相邻块预测得到。帧间预测:预测块通过基于一个或多个参考帧的运动估计和运动补偿得到。然后通过当前块减去预测块得到预测残差。预测残差进一步进行变换编码和量化,从而得到量化后的残差系数。然后对量化后的残差系数、编码模式以及相关的编码参数等信息进行熵编码,从而得到压缩后的比特流。同时量化残差还要进行反变换和反量化,然后将残

17、差和预测值相加起来重建图像,再进行滤波,生成参考帧2.2 编码单元结构以往H.264会以16 x 16像素为单位(或是16 x 8、8 x 8、8 x 4、4 x 4等配置),将画面切割为数个大小相同的宏块,并以这些宏块做为编码时的最小元素。H.265则是将切割画面的工作从使用者手动设定,转交给编码器来决定,让编码器可视情况以16 x 16、32 x 32、64 x 64等尺寸,将画面切割为数个编码树单元,一般来说区块尺寸越大,压缩效率就会越好。左图是传统的H.264标准,每个宏块大小都是固定的;右图是H.265标准,编码单元大小是根据区域信息量来决定的H.265没有继续采用之前的宏块(Mic

18、ro Block,MB)概念,而是使用编码单元(Coding unit,CU)作为基本的编码结构。一个CU可以包含一个或多个不同尺寸的预测单元PU(Prediction unit),一个PU包含若干变换单元(Transfore unit,TU)。CU,PU,TU三种在编码中起的作用不一样,不过这种编码方式还是基于混合编码,但是采用了这三种unit之后,能够更好的分割一张图像,变成一个一个的block用来后续的预测和处理。采用这种结构设计的目的是在增加灵活性的同时,使压缩预测更符合图像特性。Ø CU(Coding Unit)CU是用作帧间和帧内编码的基础单元,他的特点是方块,LCU是6

19、4x64,可以使用递归分割四叉树的方法来得到,大的CU适用于图像中比较平滑部分,而小的部分则适用于边缘和纹理较丰富的区域。采用大尺寸CU主要是为了高清压缩编码的应用,毕竟如1080p甚至更大分辨力的视频,其空间会有更大面积的一致性,因此采用更大的编码单元能更有效地减少空间的冗余。如果仍采用光栅扫描顺序,对CU的寻址会很不方便,因此,H.265定义了Z扫描顺序这种扫描顺序保证了对于不同分割都能按照相同的遍历顺序进行寻址有利于程序中递归实现Ø PU(Prediction Unit)PU是预测的基本单元,是编码单元CU基础上进行划分的,有SKIP,INTRA,INTER三种模式可以分割,每

20、个CU中可以包含一个或多个PU。PU可以是方形也可以是矩形,这是为了分块能更好与图像中真实物体存在的边界匹配,但是其分割不是递归的,与CU的分割还是有区别的。PU的尺寸不能超过其所属的CU,PU的划分方式有两类 a. 2Nx2N,NxN,Nx2N,2NxN如图三a所示 b.64x64的CU支持AMP(不对称分割),主要为了适用于CU中纹理偏差比较大的情况,增加预测的精准度,不对称的PU仅适用于帧间预测,如图三b所示Ø TU(TransformUnit)TU是变换和量化的基本单元,它可以大于PU,但是却不可以大于CU的大小。TU同样采用四叉树的分割结构,所支持的尺寸

21、从4x4至32x32的大小。TU的形状取决于PU的划分模式,当PU为正方形时,TU也是正方形的,当PU为非正方形时,TU也是非正方形的,一个CU可以包含一个或多个TU。下图可以形象的展示CU、PU及CU之间的关系。2.3 帧内预测利用图像的空间相关性,用周围重建像素值对当前编码块进行预测H.265更多的帧内预测方向,在H.264采用9个帧内预测方向的场合,H.265预测方向拓展到33个,另外加上一个DC和一个planar,一共35中预测模式,使得预测更加精细,增加更多提升更高效帧内压缩的可能的参考像素块。明显的代价是在增加的方向中搜索需要更多编码时间。Planar模式平面预测是一种新提出的预测

22、方法,常用于内容平滑或纹理不清晰的单元。它为预测单元中的每一个像素点也都要进行插值预测,如图所示。首先根据左侧相邻单元的右下角像素和上方相邻单元的下边界像素插值出当前预测单元下边界的每个像素点,再根据上方相邻单元的右下角像素和左侧相邻单元的右边界像素插值出当前预测单元右边界的每个像素点,然后利用上方相邻单元的下边界、左侧相邻单元的右边界以及插值出的当前单元的下边界和右边界插值出其余的像素点。在平面预测中,首先右下角的像素Z由图中重建像素L和T平均得到,然后利用重建像素L和T与Z进行线性插值计算出最下面一行和最右边一列像素值,如图中像素M和N,然后利用插值得到的像素进行双线性插值计算其他预测像素

23、值,如图中像素P。 与亮度的帧内预测相比,色度的帧内预测过程要简单的多,只有率失真优化的模式选择过程,且与亮度的率失真优化模式选择过程相同。色度预测只有5种预测模式:planar、DC、horizontal、vertical、DM_CHROMA等。DM_CHROMA模式就是利用亮度分量所选择的预测模式,因此如果前4种预测模式中存在亮度分量所选择的预测模式,为了避免重复,就利用垂直向右对角线方向(34)预测替换该重复的预测模式。2.4 帧间预测帧间预测利用连续图像之间的相关性,通过运动估计和运动补偿的编码方法去消除视频信息的时间冗余。利用先前已编码重建帧作为参考帧进行预测。1、帧间预测采用融合模

24、式时,当前PU块的运动信息(包括运动矢量、参考索引、预测模式)都可以通过相邻PU的运动信息推导得到。编码时,当前PU块只需要传送融合标记(Merge Flag)以及融合索引(Merge Index),无需传送其运动信息。2、帧间预测还可以通过空域相邻PU以及时域相邻PU的运动矢量信息构造出一个预测运动矢量候选列表,PU遍历运动矢量候选列表,在其中选择最佳的预测运动矢量。2.4.1 广义B帧预测技术在高效预测模式下,H.265仍然采用H.264中的等级B 预测方式,同时还增加了广义 B (Generalized P and B picture ,GPB )预测方式取代低时延应用场景中的P预测方式

25、。GPB 预测结构“是指对传统P帧采取类似于B帧的双向预测方式进行预测。在这种预测方式下,前向和后向参考列表中的参考图像都必须为当前图像之前的图像,且两者为同一图像。对P帧采取B帧的运动预测方式增加了运动估计的准确度,提高了编码效率,同时也有利于编码流程的统一。2.4.2 去块滤波(Deblock filter)去块滤波位于反变换之后,主要是去除视频压缩过程中产生的方块效应。首先对垂直边界进行水平滤波,先亮度块后色度块;再对水平边界进行垂直滤波,先亮度块后色度块。HEVC对8x8块的边界进行滤波,与H.264/AVC中对4x4边的边界进行滤波相比,HEVC中去块滤波算法的时间复杂度有所降低。2

26、.4.3 采样点自适应偏移(Sample Adaptive Offset,SAO)把Frame划分为若干LCU, 然后对每个LCU中每个像素进行SAO操作.将根据其LCU像素特征选择一种像素补偿方式,以减少源图像与重构图像之间的失真。自适应样点补偿方式分为带状补偿(Band Offset,BO)和边缘补偿(Edge Offset,EO)两大类。Ø 带状补偿带状补偿将像素值强度等级划分为若干个条带,每个条带内的像素拥有相同的补偿值。进行补偿时根据重构像素点所处的条带,选择相应的带状补偿值进行补偿。现有的HM模型将像素值强度从0到最大值划分为32个等级。同时这32个等级条带还分为两类,第

27、一类是位于中间的16个条带,剩余的16个条带是第二类。编码时只将其中一类具有较大补偿值的条带偏移信息写入片头;另一类条带信息则不传送。这样的方式编码将具有较小偏移值的一类条带忽略不计,从而节省了编码比特数Ø 边缘补偿  边缘补偿主要用于对图像的轮廓进行补偿。它将当前像素点值与相邻的2个像素值进行对比,用于比较的2个相邻像素可以在下图中所示的4种模板中选择,从而得到该像素点的类型。解码端根据码流中标示的像素点的类型信息进行相应的补偿校正。2.4.4 自适应环路滤波(Adaptive Loop Filter,ALF)ALF在编解码环路内,位于Debtock和SAO之后

28、,用于恢复重建图像以达到重建图像与原始图像之间的均方差(MSE)最小。ALF的系数是在帧级计算和传输的,可以整帧应用ALF,也可以对于基于块或基于量化树(quadtree )的部分区域进行ALF,如果是基于部分区域的ALF。还必须传递指示区域信息的附加信息。对于亮度分量,采用CU为单位的四叉树ALF结构。滤波使用5*5,7*7和9*9三种大小的二维钻石型模板。滤波器计算每个4*4块的Laplacian系数值,并根据该值将所有4*4块分成16类,分别对应16种滤波器。3种ALF滤波模板对于色度分量,滤波的选择过程会简单很多。原因如下:首先,色度分量的滤波只需要在图像层级上进行。其次,滤波时色度分

29、量统一使用5*5矩形滤波模板,不需要通过Laplacian系数来选择滤波器类型。2.5 并行设计当前芯片架构已经从单核性能逐渐往多核并行方向发展,因此为了适应并行化程度非常高的芯片实现,H.265引入了很多并行运算的优化思路。2.5.1 Tile用垂直和水平的边界将图像划分为一些行和列,划分出的矩形区域为一个Tile,每一个Tile包含整数个LCU(Largest Coding Unit)Tile之间可以互相独立,以此实现并行处理。Tile划分示意图2.5.2 Entropy slice熵编码以slice为单位,容易造成负载不均衡。Entropy SIice允许在一个slice内部再切分成多个Entropy SIices。每个Entropy SIice可以独立的编码和解码,从而提高了编解码器的并行处理能力。Entropy sIice与Slice的关系一个Entropy sIice不能跨越sIice边界,也就是一个slice不可以含有多个Entropy sIice,但是一个Entropy sIice只能属于一个slice2.5.3 WPP(Wavefront Pa

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论