2010年1月,由VCEG和MPEG组建的视频编码联合组(Joint Collaborative Team on Video Coding,JCT-VC)成立,负责组织新一代视频编码标准的研发和制定,并正式开始征集提案。
2010年4月在德国德累斯顿召开了JCT-VC第一次会议,确定新一代视频编码标准名称为HEVC(High Efficiency Video Coding),成立了AD HOC小组,分领域收集和审阅技术提案。JCT-VC确定HEVC的核心目标是在H.264/AVC High Profile 的基础上,将压缩效率提高一倍。即在保证相同视频图像质量的前提下,视频流的码流减少50%。在提高压缩效率的同时,允许编码端适当提高复杂度。
2010年6月在瑞士日内瓦召开了JCT-VC第二次会议,进一步对第一次会议中提出的编码工具进行测试和评估,并制定下次会议之前开展的测试计划。
2010年10月的JCT-VC第三次会议公布了第一份HEVC工作草案说明,并在会后发布了正式的测试模型HM(HEVC Model)。测试模型第一版HM1.0于2011年1月14日正式发布。
在随后的第四次至第七次会议上,JCT-VC不断地对新的编码工具和算法进行研究和改进,并发布了HEVC第二版至第五版工作草案及测试软件HM2.0、HM3.0、HM4.0、HM5.0。
2012年2月的第八次会议上,JCT-VC发布了具有里程碑意义的HEVC特别委员会草案(HEVC Specification Committee Draft),标志着VCEG和MPEG两大组织在合作开发新一代高性能视频编码标准的工作中取得了里程碑式的进展。随后在会议后发布了测试模型的第六个版本HM6.0,用于后续HEVC特别草案的进一步完善。
2012年5月25日,JCT-VC宣布在10月进行HEVC可分级视频编码(SVC)的性能评估。意味着HEVC将支持SVC。6月26日,MPEG LA宣布将进行HEVC专利的联合注册。
2012年7月,以第八次工作组草案说明的HEVC国际标准草案获得通过。
2013年1月25日,ITU-T宣布HEVC初步获得批准,同一天MPEG宣布HEVC被提交至国际标准最终草案状态。
2013年4月13日 H.265/HEVC被ITU-T正式接受为国际标准,并于2013年4月18日在其网站上预发布。
2013年6月7日,ITU-T网站上正式发布了H.265/HEVC标准,该标准可以免费下载。2013年11月25日,ISO/IEC正式发布了H.265/HEVC标准。
标准发布之后,相关标准的进一步工作仍然在继续。JCT-VC现有的工作主要集中在就H.265/HEVC的扩展内容进行完善,如更高的比特深度、4:2:2、4:4:4色度采样视频、可伸缩HEVC编码和多视角立体编码等。
从根本上说,H.265/HEVC视频编码标准的编码框架并没有革命性的改变。类似于以往的国际标准,H.265/HEVC仍旧采用混合编码框架,包括变换、量化、熵编码、帧内预测以及环路滤波等模块。但是,H.265/HEVC几乎在每个模块都引入了新的编码技术。
1 帧内预测
该模块主要用于去除图像的空间相关性。通过编码后的重构块信息来预测当前像素块以去除空间冗余信息,提高图像的压缩效率。与以往的标准相比,H.265/HEVC支持更多的帧内预测模式。
2 帧间预测
该模块主要用于去除图像的时间相关性。帧间预测通过将已编码的图像作为当前帧的参考图像,来获取各个块的运动信息,从而去除时间冗余,提高压缩效率。在H.265/HEVC中,帧间预测可采用单向和双向的参考图像来进行预测,包括类似H.265/AVC中分层B帧的预测结构。
3 变换量化
该模块通过对残差数据进行变换量化以去除频域相关性,对数据进行有损压缩。变换编码将图像从时域信号变换至频域,将能量集中至低频区域。量化模块可以减小图像编码的动态范围。变换编码和量化模块从原理上属于两个相互独立的过程,但是在H.265/HEVC中,两个过程相互结合,减少了计算复杂度。
4 去方块滤波
在基于块的视频编码中,形成的重构图像会出现方块效应,采用去方块滤波可达到削弱甚至消除方块效应的目的,提高图像的主观质量和压缩效率。H.265/HEVC仍然是基于块的视频编码,因此延续了环内去方块滤波的思路。
5 样点自适应补偿
样点自适应滤波处于去方块滤波之后,通过解析去方块滤波后的像素的统计特性,为像素添加相应的偏移值,可以在一定程度上削弱振铃效应,提高图像的主观质量和压缩效率。这是H.265/HEVC新增的一项编码方式。
6 熵编码
该模块将编码控制数据、量化变换系数、帧内预测数据以及运动数据等编码为二进制流进行存储或传输。熵编码模块的输出数据即原始视频压缩后的码流。H.265/HEVC中采用先进的基于上下文的自适应二进制算数编码进行熵编码,引入了并行处理架构,在速度、压缩率和内存占用方面均得到大幅改善。
相比于以往的视频编码标准,H.265/HEVC的编码性能有了很大的提升,这源于新编码工具的使用以及自身具有特色的核心技术。H.265/HEVC中新的编码技术有很多,例如基于四叉树的灵活块分割结构、不同角度的帧内预测模型、自适应的运动矢量预测AMVP、合并技术Merge、可变尺寸的离散余弦变换、模式依赖的离散正弦变换、性能更好的CABAC,以及新的样点自适应补偿滤波器等。
1 编码单元
H.265/HEVC标准中的核心编码单元是宏块,包含一个16 × 16的亮度块采样,对于一般的视频信源(如YUV4:2:0)而言,会伴随两个8 × 8 的色度块采样。由于高分辨率视频业务的自身特性,基于传统宏块的编码方式具有很大的局限性。因此,H.265/HEVC采用了编码树单元(Coding Tree Unit, CTU)和编码树块(Coding Tree Block, CTB)。H.265/HEVC 中CTU的概念类似于传统的宏块,但它的大小是可以由编码器设定的,并且可以超越16 × 16。一个CTU由一个亮度CTB、两个色度CTB和一些关联的语法元素组成。
为更灵活有效地表示视频内容,H.265/HEVC为图像的划分定义了一套全新的分割模式,包括编码单元(Coding Unit, CUT)、预测单元 (Prediction Unit,PU)和变换单元(Transform Unit,TU)。这种特性有助于编码器根据视频内容特性、视频应用和终端的特性来自适应地选择编码模式。
CTU中的四叉树确定了亮度和色度CB的大小和位置,四叉树的根节点与CTU关联。亮度CB最大可以支持到亮度CTB的大小。把CTU 划分成亮度CB和色度CB的过程是一体的。一个亮度CB、两个色度CB 和关联的语法元素构成一个CU。一个CTB可以只包含一个CU,也可以包含几个CU,每一个CU都有一个分区关联的PU和一个TU。
预测单元PU是帧内预测、帧间预测的基本单元,PU的划分包括4 种对称结构:2N×2N, 2N×N, N×2N以及N×N。另外,还有4种非对称结构:2N×nU,2N×nD,nL×2N以及nR×2N。
变换单元TU可采用4 × 4、32 × 32大小的离散余弦变换,此外还支持 4 ×4的离散正弦变换。大尺寸离散余弦变换是H.265/HEVC视频编码标准中提升编码效率的重要技术之一,在H.264/AVC中仅采用了4 ×4/8 × 8的 DCT变换,而在H.265/HEVC标准中DCT变换的最大尺寸为32 × 32,这种大尺寸变换单元的选择可以使编码器在处理高分辨率画面中经常出现平坦区域时能够更好地提高压缩率。
2 改进的帧内预测技术
在H.264/AVC中,基于 4×4大小的编码块采用9种预测模式,基于 16×16大小的编码块采用4种预测模式。考虑高清视频纹理的多样性,只采用H.264/AVC中提供的几种帧内预测模式是远远不够的。为了更准确地反映纹理特性,降低预测误差,H.265/HEVC提出了更为精确的帧内预测技术。对于亮度信号,H.265/HEVC共提供了35种帧内预测模式,包括33种角度预测以及DC预测模式和Planar预测模式。增加的预测模式可以更好地匹配视频中复杂的纹理,得到更好的预测效果,更加有效地去除空间冗余。
3 先进的帧间预测技术
为了提升帧间预测性能,在H.265/HEVC中引入了新的帧间预测技术,包括运动信息融合技术(Merge)、先进的运动矢量预测技术(Advanced Motion Vector Predictor, AMVP)以及基于Merge的Skip模式。Merge 技术利用空域相关性和时域相关性来减少相邻块之间的运动参数冗余,具体来说,就是取其相邻PU的运动参数作为当前PU的运动参数。 AMVP技术的作用与Merge技术类似,也是利用空域相关性和时域相关性来减少运动参数的冗余。AMVP技术得到的运动矢量一方面为运动估计提供搜索起点,另一方面作为预测运动矢量使用。
4 RQT技术
RQT(Residual Quad-tree Transform)技术是一种基于四叉树结构的自适应变换技术,它为最后TU模式选择提供了很高的灵活性。大块的TU模式能够将能量更好地集中,小块的TU模式能够保存更多的图像细节。根据当前CU内残差特性,自适应选择变换块大小,可以在能量集中和细节保留两者做最优的折中。与传统的固定块大小变换相比,RQT对编码效率贡献更大。
5 ACS技术
ACS (Adaptive Coefficient Scanning)包括三类:对角扫描、水平扫描和垂直扫描。 ACS技术是基于4×4块单元进行的,将一个TU划分为多个4×4块单元,每个4×4块单元内部以及各个4 ×4块单元之间都按照相同的扫描顺序进行扫描。对于帧内预测区域的4×4和8×8尺寸的TU,其根据所采用的帧内预测方向来选择扫描方法:当预测方向接近水平方向时就选用垂直扫描,当预测方向接近垂直方向时就选用水平扫描,对于其他预测方向使用对角扫描。对于帧间预测区域,无论TU尺寸多大都使用对角扫描方式。
6 SAO技术
图像经过编码后,重构图像的失真不仅存在方块效应,还存在振铃效应。H.265/HEVC引入了一种新的滤波方法:像素自适应补偿技术 (SAO)。SAO位于去块效率滤波器之后,用于补偿重构像素值,达到减少振铃效应失真目的。SAO分为边缘补偿(EO)和带状补偿(BO)两种方式。
7 IBDI技术
IBDI(Internal Bit Depth Increase)技术是指在编码器的输入端将未压缩图像像素深度由P比特增加到Q比特(Q>P),在解码器的输出端又将解压缩图像像素深度从Q比特恢复到P比特。IBDI技术提高了编码器的编码精度,降低了帧内/帧间预测误差。但由于要建立参考队列,像素深度为Q比特的重构图像须占较大的内存空间。此外,在进行帧间运动估计和补偿时,需要较多的内存访问带宽,这样会给内存受限的系统带来不便。解决的办法是引入参考帧压缩算法,来减小重构图像的数据量。

H.265/HEVC简介相关推荐

  1. 【H.265】H.265(HEVC)编码过程和名词解释

    一.H.265(HEVC)编码过程 和H.264一样,H.265编码由帧内预测.帧间预测.量化.线性变换等步骤.过程大致如下: 1.分块 一帧画面首先被切分成多个互不重叠的块状区域,称为编码单元(H. ...

  2. 完成一个H.265/HEVC码流分析工具

    经过大约一个月左右的业余时间,终于初步完成一个H.265/HEVC码流分析工具.时间包括平时的周末.晚上,以及调休的集中时间.当然,中秋回家过节不写代码.截至今天,经过多种H.265序列测试,也有各种 ...

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

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

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

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

  5. 笔记:新一代高效视频编码H.265/HEVC原理、标准与实现

    第一章绪论 3个色彩基本分量,或亮度和色度分量. 每秒播放的帧的数目叫做帧率,单位fps.为了使人眼能够有平滑连续的感受,视频的帧率需要达到25~30 fps以上. H.265/HEVC几乎在每个模块 ...

  6. H.265/HEVC学习笔记:量化

    量化是指将信号的连续取值(或者大量可能的离散取值)映射为有限多个离散幅值的过程,实现信号取值多对一的映射.在视频编码中,残差信号经过DCT后,变换系数往往具有较大的动态范围.因此对变换系数进行量化可以 ...

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

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

  8. H.265/HEVC学习笔记:变换

    一. 原理 图像变换编码是指将以空间域中像素形式描述的图像转换至变换域(频域),以变换系数的形式加以表示.由于绝大多数图像都含有较多平坦区域和内容变化缓慢的区域,适当的变换可使图像能量在空间域的分散分 ...

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

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

最新文章

  1. 当面试官问我ArrayList和LinkedList哪个更占空间时,我这么答让他眼前一亮
  2. 双轴机械臂中的闭环步进电机平顺控制算法: 42HS48EIS,57HS
  3. 根据 中序遍历 和 后序遍历构造树(Presentation)(C++)
  4. TCP/IP协议之网络链接的背后故事
  5. 收获,不止SQL优化——抓住SQL的本质--读过程
  6. c/c++笔试面试题(1)
  7. QAQ来自弱鸡的嘲笑
  8. MySQL Study之--MySQL下图形工具的使用(phpMyAdmin)
  9. 服务器一定要改默认端口
  10. java print argc_【转】main 函数参数 argc argv env 与命令行
  11. 面试官:说说你最大的优缺点? (25题汇总版)
  12. 1200兆路由器网速_1200m路由器有必要吗 只要我们选择5GHz频段就可
  13. 广告行业常用英文词汇
  14. 小技巧:更改链接参数 提高京东秒杀成功率
  15. 简单的猜数字游戏--入门
  16. MATLAB 与 音频处理 相关内容摘记
  17. COJ1978-LXX的图论题
  18. 批处理文件的@echo off是什么意思?
  19. FreeSWITCH API常用手册
  20. webservice调用国内飞机航班时刻表 WEB 服务

热门文章

  1. python 如何创建文件夹(新建文件夹)
  2. MysqlOracle中的日期
  3. mysql 、pg 查询日期处理
  4. 使用sklearn划分训练集、验证集、测试集
  5. 软件开发的那些坑,你跳了没?这篇文章价值千万(一)
  6. Fiddler教程系列—介绍【必看】
  7. AICON分论坛 | 昇思MindSpore探索人工智能发展新路径
  8. Source Insight是一个面向项目开发的程序编辑器和代码浏览器丨产品简介
  9. Android11 SystemUI启动流程源码分析(一)——SystemUIApplication的创建
  10. 素数筛线性筛详细详解(个人总结思路超长版)