概述
该文提出了一种基于卷积神经网络(CNN)的视频编码技术,利用视频预测网络(VPN)来支持高效视频编码(HEVC)中的增强运动预测。具体来说,其设计了一个CNNVPN来生成一个虚拟参考帧(VRF),并使用先前编码的帧进行合成,以提高编码效率。所提出的VPN使用两种级联的子VPN体系结构来预测同一时间实例下的当前帧。VRF预测结果相比传统的参考帧具有更高的时间相关性,因此它可以取代传统的参考帧。分类属于混合编码结构。
结构
1. Model architecture
所提出的CNN-VPN旨在准确地预测当前帧,使用两个输入帧,由
X
τ
1
X_{τ1}
Xτ1和
X
τ
2
X{τ2}
Xτ2表示,及一组网络参数
θ
θ
θ。设
X
t
X_t
Xt和
X
^
t
\hat{X}_t
X^t分别表示当前的视频帧和预测帧。然后,学习一组最优网络参数
θ
∗
\theta^*
θ∗来预测尽可能接近的当前帧:
θ
∗
=
a
r
g
min
θ
∈
Θ
∣
∣
X
t
−
X
^
t
∣
∣
2
,
X
^
t
=
V
P
N
(
X
τ
1
,
X
τ
2
∣
θ
)
(1)
\theta^*=arg\ \min \limits_{\theta \in \Theta}||X_t-\hat{X}_t||_2,\ \hat{X}_t=VPN(X_{τ1},X_{τ2}|\theta) \tag 1
θ∗=arg θ∈Θmin∣∣Xt−X^t∣∣2, X^t=VPN(Xτ1,Xτ2∣θ)(1)
其中,
θ
\theta
θ是一组可训练的网络参数,
V
P
N
(
)
VPN()
VPN()为生成视频帧的预测函数。该模型体系结构可以基于输入视频帧类型来进行视频预测帧的插值和外推。一方面,
X
τ
1
X_{τ1}
Xτ1和
X
τ
2
X_{τ2}
Xτ2可以来自过去帧和未来帧,因此当前帧通过双向预测进行插值。另一方面,当前帧通过单向预测进行外推时,输入可以全部来自过去的帧。
具体来说,该网络使用了四个一维可分离的内核。用
k
τ
1
,
v
k_{τ1,v}
kτ1,v和
k
τ
1
,
h
k_{τ1,h}
kτ1,h表示的两个一维核分别表示输入帧
X
τ
1
X_{τ1}
Xτ1的垂直和水平运动方向。另外两个内核用
k
τ
2
,
v
k_{τ2,v}
kτ2,v和
k
τ
2
,
h
k_{τ2,h}
kτ2,h表示,用于输入帧
X
τ
2
X_{τ2}
Xτ2。预测帧
X
^
t
\hat{X}_t
X^t计算为:
X
^
t
=
{
k
τ
1
,
v
(
k
τ
1
,
v
)
T
}
⨂
X
τ
2
+
{
k
τ
2
,
v
(
k
τ
2
,
v
)
T
}
⨂
X
τ
2
(2)
\hat{X}_t=\{k_{τ1,v}(k_{τ1,v})^T\}\bigotimes X_{τ2}+\{k_{τ2,v}(k_{τ2,v})^T\}\bigotimes X_{τ2} \tag 2
X^t={kτ1,v(kτ1,v)T}⨂Xτ2+{kτ2,v(kτ2,v)T}⨂Xτ2(2)
⨂
\bigotimes
⨂代表卷积操作。
2. U+DVPN SCHEME
CNN-VPN架构显示了视频插值和外推的最新性能。然而,由于网络架构最初是为低分辨率视频的插值任务而开发的,因此它在视频外推和高分辨率视频中存在一些缺陷。生成的帧的质量显著下降。这种现象至关重要,特别是在LD编码配置中。为了解决这个问题,该文开发了一个下采样分辨率VPN(DVPN)和上采样分辨率VPN(UVPN)的多分辨率VPN体系结构。DVPN将一个
h
×
w
h×w
h×w的输入帧下采样为
h
/
2
×
w
/
2
h/2×w/2
h/2×w/2,用
X
τ
1
D
X_{τ1}^D
Xτ1D和
X
τ
2
D
X_{τ2}^D
Xτ2D表示,并产生一个预测的下采样假设,用
X
^
t
D
\hat{X}^D_t
X^tD表示。然后,我们将
X
^
t
D
\hat{X}_t^D
X^tD上采样到
X
^
t
D
U
\hat{X}_t^{DU}
X^tDU,大小为
h
×
w
h×w
h×w,并将两个原始输入帧和假设
X
^
t
D
U
\hat{X}^{DU}_t
X^tDU按时间顺序连接起来,并将它们输入到UVPN。UVPN提供了预测帧
X
^
t
\hat{X}_t
X^t的最终实现,作为中间结果的加权组合,如下:
X
^
t
=
M
⋅
X
^
t
D
U
+
(
1
−
M
)
⋅
X
^
t
U
(3)
\hat{X}_t=M\cdot \hat{X}_t^{DU}+(1-M)\cdot \hat{X}_t^U \tag 3
X^t=M⋅X^tDU+(1−M)⋅X^tU(3)
其中,
X
^
t
D
\hat{X}_t^D
X^tD和
X
^
t
D
U
\hat{X}_t^{DU}
X^tDU分别从UVPN和DVPN的输出中得到。M是一个从0到1的经过训练过的权重映射,算子
⋅
·
⋅指的是帧中像素的元素级乘法。M控制着这两个输出的重要性。
下图显示了通过权重图在测试视频中激活区域的几个例子。更亮的区域代表更高的激活。如图所示,权重图在是具有运动的对象区域时响应更强烈,而不是静态背景。因此,DVPN给出的区域在快速运动中更强调。实际上,由于原始VPN中的内核大小有限,大分辨率可能很难得到管理。然而,在所提出的技术中使用多分辨率扩展可以缓解这个问题。
详细的超参数汇总见表1。DVPN和UVPN共享相同的网络架构。换句话说,每个网络包括卷积层和反褶积层,其中核大小为3。在每三层中插入一个池化层或一个上采样层。在此基础上,我们将从DVPN的内核到UVPN中卷积层的特征图进行跳过连接,以保持训练上下文,并进行更可靠的运动预测。该连接允许在以下UVPN中考虑DVPN的运动特性。
3. traning
3.1 Loss function
在训练中,我们定义了一个损失函数L来考虑生成的视频的质量。我们把(3)放入(1)中,假设为:
L
=
∣
∣
X
t
−
X
^
t
∣
∣
2
2
=
∣
∣
X
t
−
M
⋅
X
^
t
D
U
−
(
1
−
M
)
⋅
X
^
t
U
∣
∣
2
2
(4)
L=||X_t-\hat{X}_t||_2^2 \\ =||X_t-M\cdot \hat{X}_t^{DU}-(1-M)\cdot \hat{X}_t^{U}||_2^2 \tag 4
L=∣∣Xt−X^t∣∣22=∣∣Xt−M⋅X^tDU−(1−M)⋅X^tU∣∣22(4)
其中损失函数考虑DVPN和UVPN的输出,同时测量均方误差的差异。损失函数变得简单为:
L
=
∣
∣
M
⋅
(
X
t
−
X
^
t
D
U
∣
∣
2
2
+
∣
∣
(
1
−
M
)
⋅
(
X
t
−
X
^
t
U
∣
∣
2
2
(5)
L=||M\cdot (X_t-\hat{X}_t^{DU}||_2^2+||(1-M)\cdot (X_t-\hat{X}_t^U||_2^2 \tag 5
L=∣∣M⋅(Xt−X^tDU∣∣22+∣∣(1−M)⋅(Xt−X^tU∣∣22(5)
结果
混合编解码结构
将上述结构嵌入传统编解码器中:
RANDOM ACCESS AND LOW DELAY CODING
RA:
X
^
t
=
V
P
N
(
X
t
−
a
,
X
t
+
a
∣
θ
R
A
)
(5)
\hat{X}_t=VPN(X_{t-a},X_{t+a}|\theta_{RA}) \tag 5
X^t=VPN(Xt−a,Xt+a∣θRA)(5)
其中
X
t
−
a
,
X
t
+
a
X_{t-a},X_{t+a}
Xt−a,Xt+a代表参考帧。
LD:
X
^
t
=
V
P
N
(
X
t
−
1
,
X
t
−
2
∣
θ
L
D
)
(6)
\hat{X}_t=VPN(X_{t-1},X_{t-2}|\theta_{LD}) \tag 6
X^t=VPN(Xt−1,Xt−2∣θLD)(6)
其中
X
t
−
1
,
X
t
−
2
X_{t-1},X_{t-2}
Xt−1,Xt−2代表参考帧。
在表3中,参考图片索引的数量与HM软件配置中的数量相同。在RA中,在两个参考图片列表ψ0和ψ1中,最多有两个指标,即ζ0和ζ1。在LD中,最多有四个指标,即ψ0中的ζ0∼ζ3(=ψ1)
结果
图6显示了在RA中使用“BasketBall”和“Kimono”,以及在LD中使用“Four People”和“ParkScene”的视觉比较。第三列中的残差图像是原始帧和BRF之间的差异。同时,第二列中的残差图像是原始帧与传统参考帧之间的差异。与VRF的差异小于与传统参考系的差异。结果表明,VRF在运动预测中可以有效地替代传统的参考坐标系。
Reference:J. Lee, N. Kim, S. Cho and J. Kang, “Deep Video Prediction Network-Based Inter-Frame Coding in HEVC,” in IEEE Access, vol. 8, pp. 95906-95917, 2020, doi: 10.1109/ACCESS.2020.2993566.