分析 HEVC/H265编码框架原理

绝地灬酷狼 2024-02-18 11:03 123阅读 0赞

1、HEVC混和编码架框
网上的HEVC框架图出自Overview of the High Efficiency Video Coding (HEVC) Standard,如下图所示。但是这张图初看起来非常复杂,而网上也没有解释得比较详细的文章,因此本文的目的就是来详细分析这张图,即分析HEVC编码过程中大致流程
59fa4ea58b214ea08244b8fd0e2d3a26.png

首先第一个问题:何为混合编码?我理解的是对同一帧数据使用帧内编码和帧间编码多个编码策略,那么上图综合了两种编码策略,自然看起来十分复杂,下面将分别分析帧内编码和帧间编码,用化繁为简的方式进行讨论。

2、帧内编码
这里把帧内编码部分分离出来,视频第一帧的编码过程也只采用帧内编码,并忽略其他辅助因素的干扰,绘制以下框架图。
6bf2b7f209d04ca1a1470b58e336cb87.png

黑色线条部分不论是帧内/帧间都一样,蓝色线条是帧内编码走的路径。编码步骤如下:

图像首先被分割为块状区域;
数据进行帧内估算(编码器),进行帧内编码;
进行帧内预测(反编码),注意,此时帧内预测得到数据与分块原图像帧应有些许偏差;
分块原图像帧减去帧内预测结果,得到帧内残差信号;
残差信号经过线性变换,变换后的系数再经过缩放、量化;
将处理后的残差信号系数经过反处理,得到残差信号,注意与原残差存在偏差;
将残差信号加上帧内预测信号,可得到分块预测图像帧;
最终通过环路滤波和自适应补偿,去除“分块效应”,得到未经分块的图像帧;
帧内编码信号和残差信号系数一起进行熵编码后输出。
3、帧间编码
大部分图像帧需要进行帧间编码过程,帧间编码框架图如下图所示。
e77d26d9f4a44966b9d8e138fdf163e4.png

同样,绿色线条为帧间编码专属过程,编码过程如下:

分块图像帧数据输入运动估算模块(编码器),再结合上一步帧内预测获得的上/下一幅图像帧数据,进行帧间编码;
对帧间编码数据进行运动补偿(帧间预测,解码器),注意,解码得到的图像帧与原图像块数据存在残差;
分块原图像帧减去帧间预测结果,得到帧内残差信号;
残差信号经过线性变换,变换后的系数再经过缩放、量化;
将处理后的残差信号系数经过反处理,得到残差信号,注意与原残差存在偏差;
将残差信号加上帧间预测信号,可得到分块预测图像帧;
最终通过环路滤波和自适应补偿,去除“分块效应”,得到未经分块的图像帧;
帧间编码信号和残差信号系数一起进行熵编码后输出。
4、混合编码
第2节和第3节分别说明了帧内编码和帧间编码涉及模块,主要过程已经分析完毕,但注意到图2、3和图1之间仍有较大差异,接下来就将全局考量,并说明剩余部分的作用,重绘混合编码框架如下图所示。
a83423914fde40c890dbb5382df2a646.png

图中红色内容是前面的图省略的,省略的模块有两部分,包括编码控制模块和滤波控制模块,其中编码控制模块对框架内的编码和量化过程进行控制,因为编码和量化过程可以使用多种不同的策略,滤波控制模块也是必须的。熵编码输入数据很多,必要的图像帧和熵编码一同输出,因为帧间编码时需要参考其他图像帧。

这样,图一的复杂框架就被分解完了,是不是感觉清晰了许多?

发表评论

表情:
评论列表 (有 0 条评论,123人围观)

还没有评论,来说两句吧...

相关阅读

    相关 H.265视频编码与技术

    一. 概述 作为新一代视频编解码格式,H.265得到越来越广泛的应用。不久之前,苹果公司在翘首期盼中发布了iPhone6,该款手机较之以往的iPhone,不仅仅只是简单地增