《h265hevc编解码相关专业技术概述》由会员分享,可在线阅读,更多相关《h265hevc编解码相关专业技术概述(16页珍藏版)》请在金锄头文库上搜索。
1、h265(HEVC)编解码相关技术概述 作者: 日期:17 个人收集整理,勿做商业用途H265(HEVC Heigh Efficiency Video Coding)介绍1 概要H.265(高效率视频编码(HEVC))是现行“H.264/MPEG-4 AVC”标准于2003年实现标准化以来时隔10年推出的新标准,将成为支撑未来十年的影像服务和产品的视频压缩技术。其特点是,支持1080p以上的4K2K和8K4K分辨率,将视频压缩率提高至H.264的约2倍。也就是说,能以原来一半的编码速度发送相同画质的视频。例如,按照20Mbit/秒发送的H.264格式视频内容,在相同画质的条件下用HEVC格式只
2、需10Mbit/秒的速度。1.1 H.265发展背景 H.264虽然是一个划时代的数字视频压缩标准,但是随着数字视频产业链的高速发展,H.264的局限性逐步显现,并且由于H.264标准核心压缩算法的完全固化,并不能够通过调整或扩充来更好地满足当前高清数字视频应用。视频应用向以下几个方面发展的趋势愈加明显:(1)高清晰度(Higher Definition):数字视频的应用格式从720P向1080P全面升级,在一些视频应用领域甚至出现了4K*2K、8K*4K的数字视频格式(2)高帧率(Higher frame rate):数字视频帧率从30fps向60fps、120fps甚至240fps的应用场
3、景升级(3)高压缩率(Higher Compression rate):传输带宽和存储空间一直是视频应用中最为关键的资源,因此,在有限的空间和管道中获得最佳的视频体验一直是用户的不懈追求。由于数字视频应用在发展中面临上述趋势,如果继续采用H.264编码就出现如下一些局限性:(1)宏块个数的爆发式增长,会导致用于编码宏块的预测模式、运动矢量、参考帧索引和量化级等宏块级参数信息所占用的码字过多,用于编码残差部分的码字明显减少。即:单个宏块所表示的图像内容的信息大大减少,导致4*4或8*8块变换后的低频率相似程度也大大提高,会出现大量的冗余(2)分辨率的大幅增加,表示同一个运动的运动矢量的幅值将大大
4、增加,H.264中采用一个运动矢量预测值,对运动矢量差编码使用的是哥伦布指数编码,该编码方式的特点是数值越小使用的比特数越少。因此,随着运动矢量幅值的大幅增加,H.264中用来对运动矢量进行预测以及编码的方法压缩率将逐渐降低。(3)并行度比较低H.264的一些关键算法,例如采用CAVLC和CABAC两种基于上下文的熵编码方法、deblock滤波等都要求串行编码,并行度比较低。针对GPU/DSP/FPGA/ASIC等这种并行化程序非常的CPU,H.264的这种串行化处理越来越成为制约运算性能的瓶颈。基于以上视频应用的发展趋势和H.264的局限性,面向更高清晰度、更高帧率、更高压缩率的高效视频编码
5、标准(High Efficiency Video Coding)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.NGV
7、C(Next-generation Video Coding),此项目在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%左右,这些结果促使MPE
8、G与VCEG合作发起的新的标准化工作。2010年1月,VCEG和MPEG开始发起视频压缩技术正式提案。相关技术由视频编码联合组(Joint Collaborative Team on Video Coding (JCT-VC))审议和评估,其合作小组第一次会议于2010年4月召开大会,一共有27个完整的提案。评价结果表明,一些提案在许多测试用例可以达到只用一半的比特率并维持H.264/AVC相同的视觉质量。在这次会议上,联合项目名改称为高效率的视频编码(HEVC),并且JCT-VC小组把相关技术集成到一个的软件代码库(HM)和标准文本草案规范,并进行进一步实验,以评估各项功能。2012年2月1
9、0日,在美国圣何塞召开了第99届MPEG会议。MPEG组织和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 efficienc
10、y video coding)。2012.2:委员会草案(标准草案完成稿);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)等众多领域,4K2K和8K4K视频发送将变得更容易实现。个人电脑及智能手机等信息终端自不用说,平板电视、摄像机及数码相机等AV产品也会支持HEVC。不仅是这些既有市场,HEVC还有可能在今后有望增长的新市场上大显身手。例如,影像监控系统就是其中之一。影像监控系统最近几年在快速从原来的模拟摄像头组合VTR的方式,向经由IP网络发送、存储和浏览数码摄像头拍摄的视频的方法过度。为提高安全性,需
12、要增加摄像头数量、提高影像的精细度,而与此同时,确保网络频带和存储容量增加。估计HEVC将作为解决这些课题的措施而得到采用。1.4 优缺点优点:1、高压缩率1)在视频质量相同的条件下,较H.264平均减少50%的码流,可以节省下大量的网络带宽及存储空间2)在同码流条件下提供更加高质量的视频2、支持8192x4320分辨率缺点:1、HEVC使用到的技术和算法较前两代标准H.264和MPEG-2更为复杂,视频流在压缩过程中需要经过更多的选择和运算。2、HEVC不支持大多数硬件,通常需要效率更高,更多的处理器来辅助,这意味着,如果有一个固件需要更新,而编解码器却跟不上升级速度的话,那么我们的电视机顶
13、盒和蓝光播放机是无法播放HEVC编码内容的,需要等待解决方案出现后才能继续使用。2 编解码技术通过帧间预测编码和帧内预测编码消除时域空域的相关性;通过对预测残差的变换编码消除时间上的相关性;通过熵编码消除比特分配造成的编码冗余。但2.1 H.265编码框架及编码单元结构与H.263以来的视频编码标准一样,HEVC的设计沿用了经典的基于块的混合视频编码框架。框架主要包括,帧内预测(intra prediction)、帧间预测(inter prediction)、转换 (transform)、量化(quantization)、去区块滤波器(deblocking filter)、熵编码(entrop
14、y coding)等模块,但在HEVC编码架构中,整体被分为了三个基本单位,分别是:编码单位(coding unit,CU)、预测单位(predict unit,PU) 和转换单位(transform unit,TU )。视频编码的基本流程为:将视频序列的每一帧划分为固定大小的宏块,通常为1616像素的亮度分量及2个88像素的色度分量(对于4?誜2?誜0格式视频),之后以宏块为单位进行编码。对视频序列的第一帧及场景切换帧或者随机读取帧采用I帧编码方式,I帧编码只利用当前帧内的像素作空间预测,类似于JPEG图像编码方式。其大致过程为,利用帧内先前已经编码块中的像素对当前块内的像素值作出预测(对应
15、图中的帧内预测模块),将预测值与原始视频信号作差运算得到预测残差,再对预测残差进行变换、量化及熵编码形成编码码流。对其余帧采用帧间编码方式,包括前向预测P帧和双向预测B帧,帧间编码是对当前帧内的块在先前已编码帧中寻找最相似块(运动估计)作为当前块的预测值(运动补偿),之后如I帧的编码过程对预测残差进行编码。编码器中还内含一个解码器,如图1中青绿色部分所示。内嵌解码器模拟解码过程,以获得解码重构图像,作为编码下一帧或下一块的预测参考。解码步骤包括对变换量化后的系数进行反量化、反变换,得到预测残差,之后预测残差与预测值相加,经滤波去除块效应后得到解码重构图像。帧内预测编码图帧间预测编码图HEVC以LCU块为单位对输入视频帧进行处理,首先是预测,可进行帧内预测与帧间预测。帧内预测:预测块由当前帧中已编码并解码重建的相邻块预测得到。帧间预测:预测块通过基于一个或多个参考帧的运动估计和运动补偿得到。然后通过当前块减去预测