HEVC算法和体系结构:编码框架

原创 2015年11月17日 20:57:34


编码框架


2013年4月13日HEVC/H.265被ITU-T正式接受为国际标准。类似以往的国际标准,HEVC仍旧采用“预测+变换”的混合编码框架,如下图所示,包括变换、量化、熵编码、帧内预测、帧间预测以及环路滤波等模块。在HEVC中,几乎每个模块都引入了新的编码技术。



本博文主要介绍HEVC编码框架,从整体结构出发介绍HEVC各个模块的大致功能以及相应的特色编码技术。


HEVC的编码框架主要包括变换、量化、熵编码、帧内预测、帧间预测以及环路滤波等模块。下面依次对各个模块做简单介绍。


1、帧内预测


帧内预测的主要功能是去除图像的空间相关性,通过编码后的重构信息块来预测当前像素块以去除空间冗余信息,提高图像的压缩效率。

在H.264/AVC中,基于4x4大小的编码块采用9种预测模式,而基于16x16大小的编码块采用4种预测模式。

在HEVC中,为了更准确地反映纹理特性,降低预测误差,提出了更为精确的帧内预测技术。对于亮度信号,HEVC提供了35种帧内预测模式,包括33种角度预测以及DC预测模式和Planar预测模式。增加的预测模式可以更好地匹配视频中复杂的纹理,得到更好的预测效果,更加有效地去除空间冗余。


2、帧间预测


帧间预测的主要功能是去除时间相关性,通过将已编码的图像作为当前帧的参考图像,来获取各个块的运动信息,从而去除时间冗余,提高压缩效率。

为了提升帧间预测性能,HEVC引入了一些新的技术,包括运动信息融合技术(Merge)、先进的运动矢量预测技术(Advanced Motion Vector Predictor,AMVP)和基于Merge的Skip模式。

运动信息融合技术(Merge):利用空域相关性和时域相关性来减少相邻块之间的运动参数冗余,具体来说就是取其相邻PU的运动参数作为当前PU的运动参数。

先进的运动矢量预测技术(Advanced Motion Vector Predictor,AMVP):AMVP技术的作用与Merge技术类似,也是利用空域相关性和时域相关性来减少运动参数的冗余。AMVP技术得到的运动矢量一方面为运动估计提供搜索起点,另一方面作为预测运动矢量使用。

基于Merge的Skip模式:后续重点介绍。。。

在HEVC中,帧间预测可以采用单向和双向的参考图像来进行预测,包括类似H.264/AVC中的分层B帧的预测结构。


3、变换量化


通过对残差数据进行变换量化以去除频域相关性,对数据进行有损压缩。变换编码将图像从时域信号变换至频域,将能量集中至低频区域。量化模块可以减小图像编码的动态范围。

RQT(Residual Quad-tree Transform)技术是一种基于四叉树结构的自适应变换技术,它为最优TU模式选择提供了很高的灵活性。大块的TU模式能够将能量更好地集中,小块的TU模式能够保存更多的图像细节。根据当前CU内残差特性,自适应选择变换块大小,可以在能量集中和细节保留两者做最优的折中,与传统的固定块大小的变换相比,RQT对编码效率贡献更大。

变换编码和量化模块从原理上属于两个相互独立的过程,但是在HEVC中,两个过程相互结合,减少了计算的复杂度。


4、环路滤波


在HEVC中,环路滤波模块主要包括去块滤波器(DBF)和样点自适应补偿滤波(SAO)。DBF的主要作用是去方块效应,而SAO的主要作用是去除振铃效应。这部分的具体分析在《HEVC算法和体系结构:环路滤波技术》中已有详细介绍。


5、熵编码


熵编码模块将编码控制数据、量化变换系数、帧内预测数据、运动数据、滤波器控制数据编码为二进制进行存储和传输。熵编码模块的输出数据即是原始视频压缩后的码流。
在HEVC中,采用了基于上下文的自适应二进制算术编码(CABAC)进行熵编码,引入了并行处理架构,在速度、压缩率和内存占用等方面均得到了大幅度改善。



接下来介绍HEVC的两个容易被忽略的新技术:ACS和IBDI。


6、ACS技术


ACS(Adaptive Coefficient Scanning)包括三类:对角扫描、水平扫描和垂直扫描。ACS技术是基于4x4块单元进行的,将一个TU划分为多个4x4块单元,每个4x4块单元内部以及各个4x4块单元之间都按照相同的扫描顺序进行扫描。

对于帧内预测区域的4x4和8x8尺寸的TU,根据所采用的帧内预测方向来选择扫描方法:当预测方向接近水平方向时采用垂直扫描;当预测方向接近于垂直方向时就选用水平扫描,对于其他预测方向使用对角扫描。

对于帧间预测区域,无论TU尺寸多大都采用对角扫描方式。


7、IBDI技术


IBDI(Internal Bit Depth Increase)技术是指在编码器的输入端将未压缩图像像素深度由P比特增加到Q比特(Q>P),在解码器的输出端又将解压缩图像像素深度从Q比特恢复至P比特。

IBDI技术提高了编码器的编码精度,降低了帧内/帧间预测误差。但由于要建立参考队列,像素深度为Q比特的重构图像须占用较大的内存空间。此外,在进行帧间运动估计和补偿时,需要较多的内存访问带宽,这样会给内存受限的系统带来不便,解决的方法是引入参考帧压缩算法,来减小重构图像的数据量。



版权声明:本文为博主原创文章,转载请标注转载网址:http://blog.csdn.net/frd2009041510

HEVC算法和体系结构:编码结构之编码时的分层处理架构

编码结构之编码时的分层处理架构         本博文主要介绍HEVC编码结构中的“编码时的分层处理架构”。HEVC编码结构的主要目的就是为了各种应用下操作的灵活性以及数据损失的鲁棒性(所谓...
  • FRD2009041510
  • FRD2009041510
  • 2015年11月20日 20:59
  • 2057

HEVC算法和体系结构:资源获取和章节安排

从今天开始,将陆续更新最新版HEVC著作《High Efficiency Video Coding (Hevc): Algorithms and Architectures》中文版,原书英文电子版下载...
  • FRD2009041510
  • FRD2009041510
  • 2014年12月10日 15:58
  • 1705

HEVC/H.265视频软硬件编码

HEVC/H.265视频软硬件编码的概念是相对的,通常把基于处理器平台实现的编码器称为软编码,典型如基于PC/ARM/DSP的视频编码器,而硬编码则通常指基于数字逻辑电路搭建的视频编码器,典型如基于F...
  • coloriy
  • coloriy
  • 2015年07月29日 15:28
  • 2198

HEVC/H.265入门(2)--编码框架与流程

HEVC/H.265沿用了与H.264相同的基于块的视频混合编码框架:采用帧内预测消除图像的空间冗余,利用帧间预测消除视频的时间冗余,通过变换量化处理降低编码图像失真,再经过算术编码进一步减低统计冗余...
  • abcSunl
  • abcSunl
  • 2017年01月04日 16:30
  • 1746

Duanxx的HEVC学习(三)HEVC编码框架(一)框架说明

从编码框架上来看,HEVC和H264在整体框架差不多,此处只分析HEVC的VCL(Video Coding Layer)。和之前的视频编码协议一样HEVC的VCL使用的是混合编码技术:inter-/i...
  • daunxx
  • daunxx
  • 2014年08月04日 09:54
  • 2856

视频编码综述

你用手机、电脑看电影追剧时,是看的高清还是标清?我想只要网速够得上应该没有人愿意再看标清了吧!毕竟高清视频的高分辨率和清晰画质总是能让人有更好的观影体验。 伴随着用户对高清视频的需求量的增加,使得视...
  • wjmnju
  • wjmnju
  • 2017年12月14日 14:24
  • 548

HEVC编码流程解读

此图为HEVC的编码框架图,接下来我将针对这幅图,写下自己对HEVC的编码流程的理解。(错误多多,处于菜鸟阶段,望看见这篇文章的同行能给点意见,本人将不胜感激) 在图中可以看到有多个清晰的互相联系的模...
  • cpp12341234
  • cpp12341234
  • 2015年03月18日 19:00
  • 2143

H.265/HEVC学习笔记之一:编码结构

编码结构:包含编码时候的分层处理架构和编码完后码流的语法架构 1、编码时得分层处理架构 在对视频序列进行压缩的时候,会将其先分割成若干个小的图像组(GOP,Group of Pictures),定...
  • c250456789
  • c250456789
  • 2017年03月13日 21:04
  • 868
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:HEVC算法和体系结构:编码框架
举报原因:
原因补充:

(最多只允许输入30个字)