前言
帧内预测是在做视频处理的基本功,大家在日常的工作以及面试中也是经常会被问到的,今天为大家带来两种模式进行帧内预测。
传统模式
帧内预测编码是指利用视频空域的相关性,使用待编码图像块的周边像素值来预测当前待编码图像块的像素值,以达到去除视频空域冗余信息的目的。
传统算法的基本思想是遍历各种预测模式,然后用率失真优化(RDO)进行模式决策,从而得到当前待编码图像块的预测像素值。这里我们以 HEVC为例来对帧内预测进行说明。
非深度学习方式预测其逻辑为:通过图像(如下所示)中 A、B、C、D、E 中区域的的像素值来预测 TU 中的像素值
深度学习
在使用深度学习进行预测有两种方式,一种是基于HEVC 的编码标准,在决策的时候使用深度学习;另一种是摒弃HEVC的编码标准推测流程,全程使用深度 学习完成预测。
第二种思路是通过当前待编码图像块的周边像素值,直接预测当前待编码图像块的所有像素值。这里可以使用多层全连接网络进行处理,把当前待编码图像块的周边像素值作为网络的输入,经过多层全连接网络(激活函数同样选择复杂度较低的 ReLU), 输出当前待编码图像块的预测值。下图是帧内预测全连接网络(IPFCN)的结构示意图。
训练该网络时,可以用视频编码算法中常用的均方误差(MSE)作为损失函数