详细分析 HEVC/H265编码框架原理(入门)

1、HEVC混和编码架框

网上的HEVC框架图出自Overview of the High Efficiency Video Coding  (HEVC) Standard,如下图所示。但是这张图初看起来非常复杂,而网上也没有解释得比较详细的文章,因此本文的目的就是来详细分析这张图,即分析HEVC编码过程中大致流程,谬误处请各位批评指正。

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

2、帧内编码

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

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

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

3、帧间编码

大部分图像帧需要进行帧间编码过程,帧间编码框架图如下图所示。

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

  1. 分块图像帧数据输入运动估算模块(编码器),再结合上一步帧内预测获得的上/下一幅图像帧数据,进行帧间编码;
  2. 对帧间编码数据进行运动补偿(帧间预测,解码器),注意,解码得到的图像帧与原图像块数据存在残差;
  3. 分块原图像帧减去帧间预测结果,得到帧内残差信号;
  4. 残差信号经过线性变换,变换后的系数再经过缩放、量化;
  5. 将处理后的残差信号系数经过反处理,得到残差信号,注意与原残差存在偏差;
  6. 将残差信号加上帧间预测信号,可得到分块预测图像帧;
  7. 最终通过环路滤波和自适应补偿,去除“分块效应”,得到未经分块的图像帧;
  8. 帧间编码信号和残差信号系数一起进行熵编码后输出。

4、混合编码

第2节和第3节分别说明了帧内编码和帧间编码涉及模块,主要过程已经分析完毕,但注意到图2、3和图1之间仍有较大差异,接下来就将全局考量,并说明剩余部分的作用,重绘混合编码框架如下图所示。

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

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

  • 23
    点赞
  • 136
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值