1、HEVC混和编码架框
网上的HEVC框架图出自Overview of the High Efficiency Video Coding (HEVC) Standard,如下图所示。但是这张图初看起来非常复杂,而网上也没有解释得比较详细的文章,因此本文的目的就是来详细分析这张图,即分析HEVC编码过程中大致流程,谬误处请各位批评指正。
首先第一个问题:何为混合编码?我理解的是对同一帧数据使用帧内编码和帧间编码多个编码策略,那么上图综合了两种编码策略,自然看起来十分复杂,下面将分别分析帧内编码和帧间编码,用化繁为简的方式进行讨论。
2、帧内编码
这里把帧内编码部分分离出来,视频第一帧的编码过程也只采用帧内编码,并忽略其他辅助因素的干扰,绘制以下框架图。
黑色线条部分不论是帧内/帧间都一样,蓝色线条是帧内编码走的路径。编码步骤如下:
- 图像首先被分割为块状区域;
- 数据进行帧内估算(编码器),进行帧内编码;
- 进行帧内预测(反编码),注意,此时帧内预测得到数据与分块原图像帧应有些许偏差;
- 分块原图像帧减去帧内预测结果,得到帧内残差信号;
- 残差信号经过线性变换,变换后的系数再经过缩放、量化;
- 将处理后的残差信号系数经过反处理,得到残差信号,注意与原残差存在偏差;
- 将残差信号加上帧内预测信号,可得到分块预测图像帧;
- 最终通过环路滤波和自适应补偿,去除“分块效应”,得到未经分块的图像帧;
- 帧内编码信号和残差信号系数一起进行熵编码后输