本发明涉及编解码技术领域,特别涉及一种帧内预测方法及装置。
背景技术:
随着视频编解码技术的飞速发展,目前提出了一种高效的视频压缩编码技术,该视频压缩编码技术是指在图像帧的各种维度上去除冗余,采用帧内预测技术通过降低图像帧在空域上的冗余来提高编码压缩率。
目前的帧内预测技术主要是将待预测区域的左侧相邻的一列已重建(即已编码重建或者已解码重建)的像素值和上侧的一行已重建的像素值作为参考像素值,对待预测区域的像素值按照帧内预测模式进行预测。
但是,目前的帧内预测模式比较单一,且主要根据是待预测区域和相邻的已重建像素的相关性预测的,这样预测得到的像素值的可靠性较低。
技术实现要素:
本发明实施例提供了一种帧内预测方法及装置,能够解决目前的帧内预测技术预测得到的像素值的可靠性较低的问题。所述技术方案如下:
根据本发明实施例的第一方面,提供一种帧内预测方法,所述方法包括:
生成待处理图像帧中待预测区域的预测图像块;
将待处理图像块输入深度神经网络,所述待处理图像块包括所述预测图像块,以及周边图像块,所述周边图像块包括与所述待预测区域相邻的,且位于所述待预测区域的左侧、上方和左上方中的至少一个方位的块状区域中的已重建的像素值;
获取所述深度神经网络输出的输出图像块;
基于所述输出图像块,确定最终预测块,所述最终预测块的尺寸与所述预测图像块的尺寸相同。
可选的,所述生成待处理图像帧中待预测区域的预测图像块,包括:
基于帧内预测模式,生成所述预测图像块;
或者,基于所述待预测区域的第一周边区域中所有已重建的像素值的第一平均值,生成所述预测图像块,其中,所述第一周边区域包括与所述待预测区域相邻的,且位于所述待预测区域的左侧、上方和左上方中的至少一个方位的块状区域,所述预测图像块中的每个像素值均等于所述第一平均值;
或者,基于所述待预测区域的第二周边区域中所有已重建的像素值的第二平均值,生成所述预测图像块,其中,所述第二周边区域包括:与所述待预测区域相邻的,且位于所述待预测区域的左侧、上方和左上方的块状区域,以及与所述待预测区域相邻的,位于所述待预测区域的左下方和/或右上方的块状区域,所述预测图像块中的每个像素值均等于所述第二平均值。
可选的,在所述将待处理图像块输入深度神经网络之前,所述方法还包括:
确定左下图像块,所述左下图像块包括所述待预测区域的左下方相邻的块状区域的像素值;
确定右上图像块,所述右上图像块包括所述待预测区域的右上方相邻的块状区域的像素值;
采用所述预测图像块中右边缘的块状区域的像素值填充所述待预测区域右侧相邻的块状区域,得到右侧图像块,所述右侧图像块还与所述右上图像块相邻;
采用所述预测图像块中下边缘的块状区域的像素值填充所述待预测区域下方相邻的块状区域,得到下方图像块,所述下方图像块还与所述左下图像块相邻;
采用所述预测图像块中右下角边缘的块状区域的像素值填充所述待预测区域右下方相邻的块状区域,得到右下方图像块,所述右下方图像块还分别与所述右侧图像块与所述下方图像块相邻;
生成所述待处理图像块,所述待处理图像块由所述预测图像块、所述周边图像块、所述左下图像块、所述右上图像块、所述右侧图像块、所述下方图像块和所述右下方图像块按照在所述待处理图像帧中的位置关系组成。
可选的,所述确定左下图像块,包括:
当所述待预测区域的左下方相邻的第一块状区域存在已重建的像素值时,将所述第一块状区域中的已重建的像素值确定为所述左下图像块中的像素值;
当所述第一块状区域不存在已重建的像素值时,将所述第一块状区域上方相邻的块状区域中的已重建的像素值确定为所述左下图像块中的像素值;
所述确定右上图像块,包括:
当所述待预测区域的右上方相邻的第二块状区域存在已重建的像素值时,将所述第二块状区域中的已重建的像素值确定为所述右上图像块中的像素值;
当所述第二块状区域不存在已重建的像素值时,将所述第二块状区域左侧的块状区域中的已重建的像素值确定为所述右上图像块中的像素值。
可选的,所述输出图像块的尺寸大于所述预测图像块的尺寸;
所述基于所述输出图像块,确定最终预测块,包括:
对所述输出图像块进行裁剪,将裁剪得到的图像块作为所述最终预测块。
可选的,所述方法还包括:
对初始深度神经网络进行训练以得到所述深度神经网络,所述深度神经网络的训练过程包括:
采用与所述预测图像块相同的生成方式,生成指定图像帧中的第一训练区域的训练预测图像块,所述第一训练区域的尺寸与所述待预测区域尺寸相同;
基于所述训练预测图像块,采用与所述待处理图像块相同的生成方式,生成第一训练图像块;
将所述第一训练图像块输入初始深度神经网络;
将第二训练图像块作为训练标签,对所述初始深度神经网络进行训练以得到所述深度神经网络,所述第二训练图像块包括所述指定图像帧中第二训练区域对应的原始像素值;
其中,第一位置关系与第二位置关系相同,所述第一位置关系为所述第二训练区域与所述第一训练区域在所述指定图像帧中的位置关系,所述第二位置关系为所述输出图像块对应的区域与所述预测图像块对应的区域在所述待处理图像帧中的位置关系。
可选的,所述深度神经网络基于代价函数训练得到,所述代价函数为所述初始深度神经网络输出的训练输出图像块与所述标签的预设运算值,所述预设运算值为均方误差,或者,平均绝对差值,或者,绝对差值之和,或者,标准差。
可选的,所述基于所述输出图像块,确定最终预测块,包括:
对所述输出图像块进行裁剪,将裁剪得到的图像块作为备用预测块,并将所述备用预测块与所述预测图像块之和确定为所述最终预测块;或者,
将所述输出图像块与所述预测图像块之和确定为所述最终预测块。
可选的,所述方法还包括:
对初始深度神经网络进行训练以得到所述深度神经网络,所述深度神经网络的训练过程包括:
采用与所述预测图像块相同的生成方式,生成指定图像帧中的第一训练区域的训练预测图像块,所述第一训练区域的尺寸与所述待预测区域尺寸相同;
基于所述训练预测图像块,采用与所述待处理图像块相同的生成方式,生成训练图像块;
将所述训练图像块输入初始深度神经网络;
将残差块作为训练标签,对所述初始深度神经网络进行训练以得到所述深度神经网络,所述残差块包括所述指定图像帧中第二训练区域对应的残差值;
其中,第一位置关系与第二位置关系相同,所述第一位置关系为所述第二训练区域与所述第一训练区域在所述指定图像帧中的位置关系,所述第二位置关系为所述输出图像块对应的区域与所述预测图像块对应的区域在所述待处理图像帧中的位置关系。
可选的,所述深度神经网络基于代价函数训练得到,所述代价函数为所述初始深度神经网络输出的训练输出图像块与所述训练预测图像块之和与所述标签的预设运算值,所述预设运算值为均方误差,或者,平均绝对差值,或者,绝对差值之和,或者,标准差。
可选的,所述训练预测图像块有多个,
所述对所述初始深度神经网络进行训练以得到所述深度神经网络,包括:
通过反向传递的方式更新所述初始深度神经网络的网络参数,直至多个所述训练预测图像块对应的所述训练代价函数收敛,以得到所述深度神经网络。
可选的,所述裁剪得到的图像块为位于所述输出图像块中右下角的图像块。
可选的,所述深度神经网络包括依次连接的输入层、隐含层和输出层;
所述隐含层包括依次连接的至少一个卷积层,每个所述卷积层中只包含一种尺寸的卷积核;
或者,所述隐含层包括依次连接的至少一个卷积层,至少存在一个卷积层包含多个尺寸的卷积核;
或者,所述隐含层包括依次连接的至少一个卷积层和整合层,所述整合层用于对经过所述至少一个卷积层的图像块进行缩放和偏移处理;
或者,所述隐含层包括依次连接的至少两个全连接层;
或者,所述隐含层包括至少一个卷积层和至少一个全连接层。
可选的,所述深度神经网络包括依次连接的输入层、隐含层和输出层;
在所述获取所述深度神经网络输出的输出图像块之前,所述方法还包括:
当所述隐含层输出的图像块的尺寸与所述预测图像块的尺寸相同,通过所述输出层将所述隐含层输出的图像块作为所述输出图像块输出;
当所述隐含层输出的图像块的尺寸大于所述预测图像块的尺寸,通过所述输出层对所述隐含层输出的图像块进行裁剪,将裁剪得到的图像块作为所述输出图像块输出,所述裁剪得到的图像块的尺寸等于所述预测图像块的尺寸。
可选的,所述裁剪得到的图像块为位于所述隐含层输出的图像块中右下角的图像块。
可选的,所述方法应用于解码端时,
在所述将待处理图像块输入深度神经网络之前,所述方法还包括:
获取待预测区域对应的码流;
解析所述待预测区域对应的码流中的第一语法标记,所述第一语法标记用于标识所述预测图像块是否需要经过所述深度神经网络处理;
所述将待处理图像块输入深度神经网络,包括:
当所述第一语法标记标识所述预测图像块需要经过所述深度神经网络处理,将待处理图像块输入深度神经网络。
可选的,所述生成待处理图像帧中待预测区域的预测图像块,包括:
解析所述待预测区域对应的码流中的第二语法标记,所述第二语法标记用于标识所述待预测区域的帧内预测模式;
基于所述第二语法标记指示的帧内预测模式,对于所述待预测区域的像素值进行预测,以生成所述预测图像块。
可选的,所述方法应用于编码端时,
在所述基于所述输出图像块,确定最终预测块之后,所述方法还包括:
基于所述最终预测块,生成所述待预测区域对应的码流,所述码流中携带第一语法标记,所述第一语法标记用于标识所述待预测区域对应的码流是否为经过所述深度神经网络处理得到的。
可选的,当所述预测图像块是基于帧内预测模式生成时,所述待预测区域对应的码流还携带有所述待预测区域对应的第二语法标记,所述第二语法标记用于标识所述待预测区域的帧内预测模式。
第二方面提供一种帧内预测装置,所述装置包括:
第一生成模块,用于生成待处理图像帧中待预测区域的预测图像块;
输入模块,用于将待处理图像块输入深度神经网络,所述待处理图像块包括所述预测图像块,以及周边图像块,所述周边图像块包括与所述待预测区域相邻的,且位于所述待预测区域的左侧、上方和左上方中的至少一个方位的块状区域中的已重建的像素值;
第一获取模块,用于获取所述深度神经网络输出的输出图像块;
第一确定模块,用于基于所述输出图像块,确定最终预测块,所述最终预测块的尺寸与所述预测图像块的尺寸相同。
可选的,所述第一生成模块,用于:
基于帧内预测模式,生成所述预测图像块;
或者,基于所述待预测区域的第一周边区域中所有已重建的像素值的第一平均值,生成所述预测图像块,其中,所述第一周边区域包括与所述待预测区域相邻的,且位于所述待预测区域的左侧、上方和左上方中的至少一个方位的块状区域,所述预测图像块中的每个像素值均等于所述第一平均值;
或者,基于所述待预测区域的第二周边区域中所有已重建的像素值的第二平均值,生成所述预测图像块,其中,所述第二周边区域包括:与所述待预测区域相邻的,且位于所述待预测区域的左侧、上方和左上方的块状区域,以及与所述待预测区域相邻的,位于所述待预测区域的左下方和/或右上方的块状区域,所述预测图像块中的每个像素值均等于所述第二平均值。
可选的,所述装置还包括:
第二确定模块,用于在所述将待处理图像块输入深度神经网络之前,确定左下图像块,所述左下图像块包括所述待预测区域的左下方相邻的块状区域的像素值;
第三确定模块,用于确定右上图像块,所述右上图像块包括所述待预测区域的右上方相邻的块状区域的像素值;
第一填充模块,用于采用所述预测图像块中右边缘的块状区域的像素值填充所述待预测区域右侧相邻的块状区域,得到右侧图像块,所述右侧图像块还与所述右上图像块相邻;
第二填充模块,用于采用所述预测图像块中下边缘的块状区域的像素值填充所述待预测区域下方相邻的块状区域,得到下方图像块,所述下方图像块还与所述左下图像块相邻;
第三填充模块,用于采用所述预测图像块中右下角边缘的块状区域的像素值填充所述待预测区域右下方相邻的块状区域,得到右下方图像块,所述右下方图像块还分别与所述右侧图像块与所述下方图像块相邻;
第二生成模块,用于生成所述待处理图像块,所述待处理图像块由所述预测图像块、所述周边图像块、所述左下图像块、所述右上图像块、所述右侧图像块、所述下方图像块和所述右下方图像块按照在所述待处理图像帧中的位置关系组成。
可选的,所述第二确定模块,用于:
当所述待预测区域的左下方相邻的第一块状区域存在已重建的像素值时,将所述第一块状区域中的已重建的像素值确定为所述左下图像块中的像素值;
当所述第一块状区域不存在已重建的像素值时,将所述第一块状区域上方相邻的块状区域中的已重建的像素值确定为所述左下图像块中的像素值;
所述第三确定模块,用于:
当所述待预测区域的右上方相邻的第二块状区域存在已重建的像素值时,将所述第二块状区域中的已重建的像素值确定为所述右上图像块中的像素值;
当所述第二块状区域不存在已重建的像素值时,将所述第二块状区域左侧的块状区域中的已重建的像素值确定为所述右上图像块中的像素值。
可选的,所述输出图像块的尺寸大于所述预测图像块的尺寸;
所述第一确定模块,用于:
对所述输出图像块进行裁剪,将裁剪得到的图像块作为所述最终预测块。
可选的,所述装置还包括:
训练模块,用于对初始深度神经网络进行训练以得到所述深度神经网络,所述深度神经网络的训练过程包括:
采用与所述预测图像块相同的生成方式,生成指定图像帧中的第一训练区域的训练预测图像块,所述第一训练区域的尺寸与所述待预测区域尺寸相同;
基于所述训练预测图像块,采用与所述待处理图像块相同的生成方式,生成第一训练图像块;
将所述第一训练图像块输入初始深度神经网络;
将第二训练图像块作为训练标签,对所述初始深度神经网络进行训练以得到所述深度神经网络,所述第二训练图像块包括所述指定图像帧中第二训练区域对应的原始像素值;
其中,第一位置关系与第二位置关系相同,所述第一位置关系为所述第二训练区域与所述第一训练区域在所述指定图像帧中的位置关系,所述第二位置关系为所述输出图像块对应的区域与所述预测图像块对应的区域在所述待处理图像帧中的位置关系。
可选的,所述深度神经网络基于代价函数训练得到,所述代价函数为所述初始深度神经网络输出的训练输出图像块与所述标签的预设运算值,所述预设运算值为均方误差,或者,平均绝对差值,或者,绝对差值之和,或者,标准差。
可选的,所述第一确定模块,用于:
对所述输出图像块进行裁剪,将裁剪得到的图像块作为备用预测块,并将所述备用预测块与所述预测图像块之和确定为所述最终预测块;或者,
将所述输出图像块与所述预测图像块之和确定为所述最终预测块。
可选的,所述装置还包括:
训练模块,用于对初始深度神经网络进行训练以得到所述深度神经网络,所述深度神经网络的训练过程包括:
采用与所述预测图像块相同的生成方式,生成指定图像帧中的第一训练区域的训练预测图像块,所述第一训练区域的尺寸与所述待预测区域尺寸相同;
基于所述训练预测图像块,采用与所述待处理图像块相同的生成方式,生成训练图像块;
将所述训练图像块输入初始深度神经网络;
将残差块作为训练标签,对所述初始深度神经网络进行训练以得到所述深度神经网络,所述残差块包括所述指定图像帧中第二训练区域对应的残差值;
其中,第一位置关系与第二位置关系相同,所述第一位置关系为所述第二训练区域与所述第一训练区域在所述指定图像帧中的位置关系,所述第二位置关系为所述输出图像块对应的区域与所述预测图像块对应的区域在所述待处理图像帧中的位置关系。
可选的,所述深度神经网络基于代价函数训练得到,所述代价函数为所述初始深度神经网络输出的训练输出图像块与所述训练预测图像块之和与所述标签的预设运算值,所述预设运算值为均方误差,或者,平均绝对差值,或者,绝对差值之和,或者,标准差。
可选的,所述训练预测图像块有多个,
所述训练模块,用于:
通过反向传递的方式更新所述初始深度神经网络的网络参数,直至多个所述训练预测图像块对应的所述训练代价函数收敛,以得到所述深度神经网络。
可选的,所述裁剪得到的图像块为位于所述输出图像块中右下角的图像块。
可选的,所述深度神经网络包括依次连接的输入层、隐含层和输出层;
所述隐含层包括依次连接的至少一个卷积层,每个所述卷积层中只包含一种尺寸的卷积核;
或者,所述隐含层包括依次连接的至少一个卷积层,至少存在一个卷积层包含多个尺寸的卷积核;
或者,所述隐含层包括依次连接的至少一个卷积层和整合层,所述整合层用于对经过所述至少一个卷积层的图像块进行缩放和偏移处理;
或者,所述隐含层包括依次连接的至少两个全连接层;
或者,所述隐含层包括至少一个卷积层和至少一个全连接层。
可选的,所述深度神经网络包括依次连接的输入层、隐含层和输出层;
所述装置还包括:处理模块,用于:
在所述获取所述深度神经网络输出的输出图像块之前,当所述隐含层输出的图像块的尺寸与所述预测图像块的尺寸相同,通过所述输出层将所述隐含层输出的图像块作为所述输出图像块输出;
当所述隐含层输出的图像块的尺寸大于所述预测图像块的尺寸,通过所述输出层对所述隐含层输出的图像块进行裁剪,将裁剪得到的图像块作为所述输出图像块输出,所述裁剪得到的图像块的尺寸等于所述预测图像块的尺寸。
可选的,所述裁剪得到的图像块为位于所述隐含层输出的图像块中右下角的图像块。
可选的,所述装置应用于解码端时,所述装置还包括:
第二获取模块,用于在所述将待处理图像块输入深度神经网络之前,获取待预测区域对应的码流;
解析模块,用于解析所述待预测区域对应的码流中的第一语法标记,所述第一语法标记用于标识所述预测图像块是否需要经过所述深度神经网络处理;
所述输入模块,用于:
当所述第一语法标记标识所述预测图像块需要经过所述深度神经网络处理,将待处理图像块输入深度神经网络。
可选的,所述第一生成模块,用于:
解析所述待预测区域对应的码流中的第二语法标记,所述第二语法标记用于标识所述待预测区域的帧内预测模式;
基于所述第二语法标记指示的帧内预测模式,对于所述待预测区域的像素值进行预测,以生成所述预测图像块。
可选的,所述装置应用于编码端时,所述装置还包括:
第三生成模块,用于在所述基于所述输出图像块,确定最终预测块之后,基于所述最终预测块,生成所述待预测区域对应的码流,所述码流中携带第一语法标记,所述第一语法标记用于标识所述待预测区域对应的码流是否为经过所述深度神经网络处理得到的。
可选的,当所述预测图像块是基于帧内预测模式生成时,所述待预测区域对应的码流还携带有所述待预测区域对应的第二语法标记,所述第二语法标记用于标识所述待预测区域的帧内预测模式。
第三方面,提供一种计算机设备,包括:
处理器;
用于存储所述处理器的可执行指令的存储器;
其中,所述处理器被配置为:
生成待处理图像帧中待预测区域的预测图像块;
将待处理图像块输入深度神经网络,所述待处理图像块包括所述预测图像块,以及周边图像块,所述周边图像块包括与所述待预测区域相邻的,且位于所述待预测区域的左侧、上方和左上方中的至少一个方位的块状区域中的已重建的像素值;
获取所述深度神经网络输出的输出图像块;
基于所述输出图像块,确定最终预测块,所述最终预测块的尺寸与所述预测图像块的尺寸相同。
第四方面,提供一种可读存储介质,所述可读存储介质中存储有指令,当所述可读存储介质在处理组件上运行时,使得处理组件执行上述第一方面提供的任一所述的帧内预测方法。
本发明的实施例提供的技术方案可以包括以下有益效果:
本发明实施例提供的帧内预测方法及装置,将包含预测图像块,以及周边图像块的待处理图像块输入至深度神经网络,由深度神经网络进行处理得到输出图像块,并基于该输出图像块确定最终预测块,从而实现了深度神经网络对颜色分量的帧内预测,由于深度神经网络所具有深度学习和高准确率的特性,基于该深度神经网络预测得到的最终预测块相较于传统的帧内预测方法得到的预测块更为准确,因此,本发明所确定的最终预测块中包含的像素值的可靠性较高。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本发明。
附图说明
为了更清楚地说明本发明的实施例,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a是相关技术提供的一种h.265的编码原理示意图。
图1b是相关技术提供的一种h.265的解码原理示意图。
图1c是根据一示例性实施例示出的一种帧内预测方法的方法流程图。
图2a是根据一示例性实施例示出的另一种帧内预测方法的方法流程图。
图2b是根据一示例性实施例示出的一种待处理图像帧中的区域示意图。
图2c是根据一示例性实施例示出的另一种待处理图像帧中的区域示意图。
图2d是根据一示例性实施例示出的待处理图像块的组成示意图。
图2e是根据一示例性实施例示出的一种深度神经网络的结构示意图。
图2f是根据一示例性实施例示出的另一种深度神经网络的结构示意图。
图2g是根据一示例性实施例示出的一种输出图像块的生成方式示意图。
图2h是根据一示例性实施例示出的一种最终预测块的生成流程示意图。
图3是根据一示例性实施例示出的又一种帧内预测方法的方法流程图。
图4a是根据一示例性实施例示出的另一种最终预测块的生成流程示意图。
图4b是根据一示例性实施例示出的又一种最终预测块的生成流程示意图。
图4c是根据一示例性实施例示出的再一种最终预测块的生成流程示意图。
图5a是根据一示例性实施例示出的一种帧内预测装置的结构图示图。
图5b是根据一示例性实施例示出的另一种帧内预测装置的结构图示图。
图5c是根据一示例性实施例示出的又一种帧内预测装置的结构图示图。
图5d是根据一示例性实施例示出的再一种帧内预测装置的结构图示图。
图5e是根据另一示例性实施例示出的一种帧内预测装置的结构图示图。
图5f是根据一示例性实施例示出的一种帧内预测装置的结构图示图。
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
本发明实施例提供一种帧内预测方法,该帧内预测方法是针对同一颜色分量的像素值,通过深度神经网络(英文:deepnueralnetwork;简称:dnn)来进行帧内预测的,为了便于读者理解,下面对深度神经网络进行简单的解释。
深度神经网络,是深度学习技术中极具代表的网络架构之一。深度神经网络一般由依次连接的输入层、隐含层和输出层组成。深度神经网络具有高准确率的特点。
进一步的,本发明实施例所提供的帧内预测方法,可以应用于视频编解码领域,为了便于读者理解,下面对视频编码过程和解码过程进行简单的解释。
第一、视频编码过程。
目前的视频编码标准有h.261-至h.265,以及mpeg-4v1至mpeg-4v3等多种,其中,h.264,又称视频编码(英文:advancedvideocoding;简称:avc),h.265,又称高效率视频编码(英文:highefficiencyvideocoding;简称:hevc),两者均采用运动补偿混合编码算法,本发明实施例以h.265为例进行解释。
如图1a所示,图1a为h.265的编码原理示意图。h.265的编码架构大致上和h.264的编码架构相似,主要也包含:帧内预测(英文:intraprediction)模块、帧间预测(英文:interprediction)模块、变换(英文:transform)模块、量化(英文:quantization)模块、熵编码(英文:entropycoding)模块、反变换模块、反量化模块、重建图像模块和环路滤波模块(也称环内滤波模块)等模块,其中,环路滤波模块包括去块滤波(英文:deblocking)模块(也称去块滤波器(英文:deblockingfilter))和采样点自适应偏移(英文:sampleadaptiveoffset;简称:sao)模块。
其中,在进行视频编码时,通常会将待编码图像划分为矩阵状排布的尺寸相等的多个区域,每个区域可以进一步细分为更小的子区域(即一个个图像块,也称待编码块),然后依次对每个子区域的像素值进行预测编码,本发明实施例将每个子区域称之为待预测区域。需要说明的是,待预测区域既可以是正方形的区域,也可以是长方形的区域。在本发明的实施例中,仅以正方形的待预测区域的预测方法进行示意性说明,长方形的待预测区域的预测也涵盖在本发明的保护范围之内。在进行编码时,通常是按照从上至下,从左至右的顺序对各个图像块依次进行处理。例如,上述帧内预测模块用于基于同一图像帧中的已重建的周围像素值对当前图像块的像素值进行预测,以去除空间冗余信息;上述帧间预测模块用于利用视频时域的相关性,使用邻近已重建的图像帧中的像素值预测待编码图像的像素值,以去除时间上的关联性;量化模块用于将图像块的连续取值映射成多个离散的幅值;去块滤波模块用于对图像块边界处的像素进行滤波以去除块效应;sao模块用于进行像素值的补偿处理,重建图像模块用于将预测值和重建残差值相加获得已重建的像素值(未经环路滤波)。经过环路滤波模块得到的重建帧形成参考帧列表,用于帧间预测;熵编码模块对得到的模式信息和残差信息进行处理得到码流(英文:bitstream)。
第二、视频解码过程。
如图1b所示,图1b为h.265的解码原理示意图。h.265的解码架构大致上和h.264的编码架构相似,主要也包含:熵解码模块、帧内预测模块、帧间预测模块、反变换模块、反量化模块和环路滤波模块等模块,其中,环路滤波模块包括去块滤波模块和sao模块。经过环路滤波模块得到的重建帧形成参考帧列表,用于帧间预测;熵解码模块用于对得到码流进行处理得到模式信息和残差值。
h.265的解码原理可以参考上述h.265的编码过程,本发明实施例对此不再赘述。值得说明的是,解码过程是和编码过程对应的,其是按照一个个图像块(也称为待解码块)进行解码的,本发明实施例将解码过程中的图像块也称为待预测区域。
本发明实施例提供一种帧内预测方法,该帧内预测方法实质上是针对同一颜色分量的像素值的帧内预测方法,其原理为基于深度神经网络,基于一个颜色分量的已重建的像素值来预测该颜色分量需要预测的像素值,如图1c所示,包括:
步骤101、生成待处理图像帧中待预测区域的预测图像块。
步骤102、将待处理图像块输入深度神经网络,该待处理图像块包括预测图像块,以及周边图像块,周边图像块包括与待预测区域相邻的,且位于待预测区域的左侧、上方和左上方中的至少一个方位的块状区域中的已重建的像素值。
该深度神经网络用于对待处理图像块进行处理,得到输出图像块。
值得说明的是,在不同的应用场景中,待处理图像帧的类型不同,周边图像块的类型相应不同。假设周边区域为位于待预测区域的左侧、上方和左上方中的至少一个方位的块状区域,当待处理图像帧为待编码图像帧时,周边图像块包括周边区域中编码后重建的像素值,编码后重建的像素值是基于已编码得到的像素值恢复得到的,以图1a为例,该编码后重建的像素值是将周边区域中已编码得到像素值(也即是码流)通过反变化处理和反量化处理后,与目标区域的相同颜色分量的预测像素值相加得到的像素值,是由图1a中的重建图像模块处理得到的像素值;当待处理图像帧为待解码图像帧时,周边图像块为周边区域中解码得到的重建的像素值,解码得到的重建的像素值是基于已解码得到的像素值恢复得到的,以图1b为例,该解码得到的重建的像素值是将周边区域中已解码得到像素值(也即是经过了熵解码模块的码流)通过反变化模块和反量化模块处理得到的像素值,与帧内预测模块或帧间预测模块所预测得到的预测像素值相加所得到的像素值,其获取过程与图1b中所标示的已重建的像素值的获取过程相同。编码后重建的像素值和解码得到的重建的像素值均可以称为已重建的像素值。具有已重建的像素值的像素点称为重建像素点。
步骤103、获取深度神经网络输出的输出图像块。
步骤104、基于输出图像块,确定最终预测块,该最终预测块的尺寸与预测图像块的尺寸相同。
在本发明实施例中,“块”表示图像块,两个图像块的尺寸相同,指的是两个图像块包含的像素点的个数相同,在本发明实施例中,同一颜色分量在图像块中的分布密度是一致的,因此,尺寸相同的图像块所包含的同一颜色分量的像素值个数也是相同的。由此可知,步骤104中,最终预测块的尺寸与预测图像块的尺寸相同,指的是最终预测块包含的像素点个数等于预测图像块包含的像素点个数,且最终预测块包含的像素值个数等于预测图像块包含的像素值个数。例如,由于最终预测块的尺寸与预测图像块的尺寸相同,若预测图像块的尺寸为4×4个像素点,则最终预测块的尺寸为4×4个像素点,且两者包括的像素值个数也相同。假设待预测的颜色分量为亮度分量,每个像素点携带一个亮度值,则预测图像块包括4×4个亮度值,最终预测块包括4×4个亮度值。
综上所述,本发明实施例将包含预测图像块,以及周边图像块的待处理图像块输入至深度神经网络,由深度神经网络进行处理得到输出图像块,并基于该输出图像块确定最终预测块,从而实现了深度神经网络对颜色分量的帧内预测,由于深度神经网络所具有深度学习和高准确率的特性,基于该深度神经网络预测得到的最终预测块相较于传统的帧内预测方法得到的预测块更为准确,因此,本发明所确定的最终预测块中包含的像素值的可靠性较高。
相关技术提供的一种帧内预测方法,在一次帧内预测方法执行后,得到的最终预测块不仅可以包括待预测区域需要预测的像素值,还可以包括对位于待预测区域的左侧、上方和左上方的块状区域中的已重建的像素值进行二次重建得到的像素值。
而本发明实施例中,由于最终预测块的尺寸与预测图像块的尺寸相同,也即是最终预测块包含的像素值即为待预测区域需要预测的像素值,不包含额外的像素值信息,因此不会受到额外的像素值信息的影响,准确度较高。并且,减少了最终预测块的复杂度,降低了帧内预测过程的复杂度。
本发明实施例所提供的帧内预测方法对于待处理图像帧不同的颜色编码格式可以实现不同的颜色分量的预测,目前较为常用的两种颜色编码格式有yuv格式和rgb格式。
一方面,当颜色编码格式为yuv格式时,一个像素点具有的像素值包括:亮度分量y、色度分量u和色度分量v。本发明实施例提供的帧内预测方法是针对上述的任一种颜色分量的像素值的预测,例如对亮度分量y的像素值的预测,对色度分量u的像素值的预测或者对色度分量v的像素值的预测。
另一方面,当待处理图像帧的颜色编码格式为rgb格式时,该待处理图像帧中各个像素点的像素值包括透明度分量和多个颜色分量,该多个颜色分量可以包括红色分量、绿色分量和蓝色分量。本发明实施例提供的帧内预测方法是针对上述的一种颜色分量的像素值的预测,例如是对红色分量的像素值的预测。
值得说明的是,本发明实施例的保护范围并不局限于此,当待处理图像帧的颜色编码格式为其他格式时,任何熟悉本技术领域的技术人员在本发明实施例揭露的技术范围内,也可以采用本发明实施例提供的帧内预测方法轻易想到变换或替换来进行相应的颜色分量的像素值预测,因此,这些可轻易想到变化或替换,也涵盖在本发明实施例保护范围内。
在本发明实施例中,帧内预测方法既可以应用于编码端,又可以应用在解码端,本发明实施例以该帧内预测方法分别应用于编码端和解码端为例,通过以下两方面进行说明:
第一方面,当该帧内预测方法应用于编码端时,如图2a所示,该帧内预测方法由编码端设备执行,该方法包括:
步骤201、生成待处理图像帧中待预测区域的预测图像块。
生成待处理图像帧中待预测区域的预测图像块的方式可以有多种,本发明实施例以以下几种方式为例进行说明:
第一种方式,基于帧内预测模式,生成预测图像块。
示例的,该帧内预测模式可以为视频编码标准h.264、h.265或者jem(英文全称:jointexplorationmodel,中文全称:联合探索模型,jem是h.266的参考软件模型)中的一种帧内预测模式,该帧内预测模式可以是方向性模式、也可以是dc模式、plane模式(也称平面模式,帧内模式编号为3)或者planar模式(也称平面模式,帧内模式编号为0)等。该帧内预测模式的主要原理是将待预测区域的左侧相邻的一列已重建的像素值和上侧的一行已重建的像素值作为参考像素值,对待预测区域的像素值进行预测。
本发明实施例中,该帧内预测模式还可以为多行帧内预测模式,其主要原理是在待预测区域的左侧相邻的多列已重建的像素值选择得到一列目标列像素值,在待预测区域的上侧的多行已重建的像素值得到一行目标行像素值,将目标列像素值和目标行像素值作为参考像素值,对待预测区域的像素值进行预测。
第二种方式,基于待预测区域的第一周边区域中所有已重建的像素值的第一平均值,生成预测图像块,其中,第一周边区域包括与待预测区域相邻的,且位于待预测区域的左侧、上方和左上方中的至少一个方位的块状区域,预测图像块中的每个像素值均等于该第一平均值。
假设,待预测区域的尺寸为n×n个像素点,则取该待预测区域的左侧相邻的n×n(n为正整数)个重建像素点,和/或,上方相邻的m×n(m为正整数)个重建像素点,和/或,左上方相邻的m×n个的重建像素点组成第一周边区域,确定该第一周边区域中所有重建像素点的已重建的像素值的第一平均值,将该第一平均值填充至待预测区域的每个像素点对应位置处,得到预测图像块。
示例的,如图2b所示,假设第一周边区域k1(图2b中的非阴影区域)由与待预测区域h(图2b中的阴影区域)相邻的,且由位于待预测区域的左侧、上方和左上方中的块状区域组成,且n=4,m=1,n=1,第一周边区域k1中所有已重建的像素值参考图2b,则第一平均值=(132+131+130+132+132+129+130+132+133)/9=131。将该第一平均值131填充至待预测区域的每个像素点对应位置处,得到预测图像块,该预测图像块如表1所示,其包括4×4个像素点,且4×4个像素点的像素值均为131。
表1
需要说明的是,当取该待预测区域的左侧相邻的至少两列重建像素点,和/或,上方相邻的至少两行重建像素点,和/或,左上方相邻的至少两行重建像素点,组成第一周边区域时,由于第一周边区域所有重建像素点不仅是单行像素点和单列像素点,因此,该第一周边区域中的已重建的像素值与待预测区域的相关性更强,基于此得到的预测图像块能够更准确地反映待预测区域和周边区域的关联关系,进而使得后续深度神经网络的处理结果更准确。
第三种方式,基于待预测区域的第二周边区域中所有已重建的像素值的第二平均值,生成预测图像块,其中,第二周边区域包括:与待预测区域相邻的,且位于待预测区域的左侧、上方和左上方的块状区域,以及与待预测区域相邻的,位于待预测区域的左下方和/或右上方的块状区域,该预测图像块中的每个像素值均等于第二平均值。
当位于待预测区域的左下方的块状区域存在重建像素点时,第二周边区域可以包括该左下方的块状区域,当位于待预测区域的右上方的块状区域存在重建像素点时,第二周边区域可以包括该右上方的块状区域,因此,相对于第二种方式的第一周边区域,第二周边区域的可选区域范围更大。
假设,待预测区域的尺寸为n×n个像素点,则取该待预测区域的左侧相邻的n×n(n为正整数)个重建像素点,和上方相邻的m×n(m为正整数)个重建像素点,和左上方相邻的m×n个的重建像素点,以及位于待预测区域的左下方相邻的k×n(k为正整数)个的重建像素点,和/或,右上方相邻的m×g(g为正整数)个的重建像素点,组成第二周边区域,确定该第二周边区域中所有重建像素点的已重建的像素值的第二平均值,将该第二平均值填充至待预测区域的每个像素点对应位置处,得到预测图像块。
示例的,如图2c所示,假设第二周边区域k2(图2c中的非阴影区域)由与待预测区域h(图2c中的阴影区域)相邻的,且位于待预测区域的左侧、上方、左上方、左下方和右上方中的块状区域组成,且n=4,m=1,n=1,k=1,g=1,第二周边区域k2中所有已重建的像素值参考图2c,则第二平均值=(132+131+130+132+132+129+129+130+132+133+133)/11=131。将该第二平均值131填充至待预测区域的每个像素点对应位置处,得到预测图像块,该预测图像块仍然如上表1所示。
需要说明的是,当取该待预测区域的左侧相邻的至少两列重建像素点,和上方相邻的至少两行重建像素点,和左上方相邻的至少两行重建像素点,以及位于待预测区域的左下方相邻的至少两列的重建像素点,和/或,右上方相邻的至少两行重建像素点,组成第二周边区域时,由于第二周边区域所有重建像素点不仅是单行像素点和单列像素点,因此,该第二周边区域中的已重建的像素值与待预测区域的相关性更强,基于此得到的预测图像块能够更准确地反映待预测区域和周边区域的关联关系,进而使得后续深度神经网络的处理结果更准确。
步骤202、基于预测图像块,生成待处理图像块。
本发明实施例中,在生成预测图像块后,可以直接将该预测图像块作为待处理图像块,也可以对基于该预测图像块进一步处理,得到包含该预测图像块的待处理图像块。
对基于该预测图像块进一步处理的处理方式可以有多种,本发明实施例以以下两种处理方式为例进行说明。
第一种处理方式,可以确定预测图像块周围的环状区域的环状图像块,然后将预测图像块和该环状图像块组成待处理图像块,该过程可以包括:
步骤a1、确定左下图像块,该左下图像块包括待预测区域的左下方相邻的块状区域的像素值。
可选的,当待预测区域的左下方相邻的第一块状区域存在已重建的像素值时,将第一块状区域中的已重建的像素值确定为左下图像块中的像素值;当第一块状区域不存在已重建的像素值时,将第一块状区域上方相邻的块状区域中的已重建的像素值确定为左下图像块中的像素值。
该左下图像块包括n×k个像素值,该n和k均为正整数。可选的,n≥1,k≥1。
步骤a2、确定右上图像块,该右上图像块包括待预测区域的右上方相邻的块状区域的像素值。
可选的,当待预测区域的右上方相邻的第二块状区域存在已重建的像素值时,将第二块状区域中的已重建的像素值确定为右上图像块中的像素值;当第二块状区域不存在已重建的像素值时,将第二块状区域左侧的块状区域中的已重建的像素值确定为右上图像块中的像素值。
该右上图像块包括g×m个像素值,该m和g均为正整数。可选的,m≥1,g≥1。
步骤a3、采用预测图像块中右边缘的块状区域的像素值填充待预测区域右侧相邻的块状区域,得到右侧图像块,该右侧图像块还与右上图像块相邻。
示例的,参考步骤a2,右上图像块包括g×m个像素值,为了和右上图像块相邻,右侧图像块可以包括g×n个像素值。本发明实施例中,如图2d,可以采用预测图像块中右边缘的1列像素值向右填充g次待预测区域右侧相邻的块状区域,得到右侧图像块r5;也可以采用预测图像块中右边缘的g×n个像素值直接向右填充待预测区域右侧相邻的块状区域,得到右侧图像块r5。
步骤a4、采用预测图像块中下边缘的块状区域的像素值填充待预测区域下方相邻的块状区域,得到下方图像块,下方图像块还与左下图像块相邻。
示例的,参考步骤a1,该左下图像块包括n×k个像素值,为了和左下图像块相邻,下方图像块可以包括n×k个像素值。本发明实施例中,如图2d,可以采用预测图像块中下边缘的1行像素值向下填充k次待预测区域下方相邻的块状区域,得到下方图像块r6;也可以采用预测图像块中下边缘的n×k个像素值向下直接填充待预测区域下方相邻的块状区域,得到下方图像块r6。
步骤a5、采用预测图像块中右下角边缘的块状区域的像素值填充待预测区域右下方相邻的块状区域,得到右下方图像块,该右下方图像块还分别与右侧图像块与下方图像块相邻。
示例的,右侧图像块包括g×n个像素值,下方图像块包括n×k个像素值,为了分别和右侧图像块以及下方图像块相邻,右下方图像块包括g×k个像素值。本发明实施例中,如图2d,可以采用预测图像块中右下角边缘的块状区域的g×k个像素值直接填充待预测区域右下方相邻的块状区域,得到右下方图像块r7。
步骤a6、生成待处理图像块,待处理图像块由预测图像块、周边图像块、左下图像块、右上图像块、右侧图像块、下方图像块和右下方图像块按照在待处理图像帧中的位置关系组成。
如图2d所示,待处理图像块r由预测图像块r1、周边图像块r2、左下图像块r3、右上图像块r4、右侧图像块r5、下方图像块r6和右下方图像块r7按照在待处理图像帧中的位置关系组成。则待处理图像块r实际上为预测图像块r1以及其周围的环状区域的环状图像块组成,该环状图像块由周边图像块r2、左下图像块r3、右上图像块r4、右侧图像块r5、下方图像块r6和右下方图像块r7组成,该环状区域的宽度可以相等也可以不等,图2d以该环状区域的宽度不等为例,在图2d中该环状区域的宽度包括m、g、k和n,也即是该环状区域由宽度分别为m、g、k和n的4个条状区域组成。
第二种处理方式,可以确定预测图像块的周边图像块,然后将预测图像块和该周边图像块组成待处理图像块,其中,该周边图像块包括与待预测区域相邻的,且位于待预测区域的左侧、上方和左上方中的至少一个方位的块状区域中的已重建的像素值。
假设,待预测区域的尺寸为n×n个像素点,则周边图像块包括待预测区域的左侧相邻的n×n(n为正整数)个重建像素点的已重建的像素值,和/或,上方相邻的n×m(m为正整数)个重建像素点的已重建的像素值,和/或,左上方相邻的n×m个的重建像素点的已重建的像素值。
示例的,假设周边图像块包括待预测区域的左侧相邻的n×n(n为正整数)个重建像素点的已重建的像素值,和上方相邻的n×m(m为正整数)个重建像素点的已重建的像素值,和左上方相邻的n×m个的重建像素点的已重建的像素值,则周边图像块可以为图2b中第一周边区域k对应的图像块。
步骤203、将待处理图像块输入深度神经网络。
该深度神经网络用于对待处理图像块进行处理,得到输出图像块。
步骤204、通过深度神经网络对待处理图像块进行处理。
本发明实施例中,深度神经网络包括依次连接的输入层、隐含层和输出层。
其中,该隐含层的结构可以满足以下几种结构中的任意一种:
第一种结构,隐含层可以包括依次连接的至少一个卷积层,每个卷积层中只有一种尺寸的卷积核。示例的,每个卷积层包括一个特征提取层和一个特征映射层,特征提取层用于对输入的数据进行多维卷积滤波,特征映射层用于对输入的数据进行非线性映射。每个特征提取层包括至少一个卷积核(也称卷积滤波器),每个特征提取层中的所有卷积核的尺寸相同。
以至少一个卷积层中第j个卷积层为例,1≤j≤y,y为隐含层所包含的卷积层总数,第j个卷积层包括nj个卷积核,该nj个卷积核作用于第j个卷积层的输入数据后,共输出nj个图像分块。其中,第j个卷积层的所有卷积核的大小均为fj×fj。
第二种结构,隐含层可以包括依次连接的至少一个卷积层,至少存在一个卷积层包含多个尺寸的卷积核。
第三种结构,隐含层可以包括依次连接的至少一个卷积层和整合层,整合层用于对经过至少一个卷积层的图像块进行缩放和偏移处理。
以一种缩放和偏移处理为例,假设一个卷积层输出的图像块大小为n×n,图像块的中的像素为xi,j,1≤i≤n,1≤j≤n,i,j像素点在图像块中的坐标,经过处理,每个像素的值修改为yi,j=αxi,j+β.α,β是整合层的参数,通过网络训练得到。
第三种结构中卷积层的结构可以参考上述第一种结构或第二种结构。
第四种结构,隐含层可以包括依次连接的至少两个全连接层(英文:fullyconnectedlayers;简称:fc)。
如图2e所示,图2e是深度神经网络中隐含层包括依次连接的多个全连接层的结构示意图,全连接层用于将输入的数据处理得到一个一维向量,然后对该一维向量进行点乘,得到输出的特征点。一个全连接层的每个输出的特征点均与该一维向量中的每个点连接。
第五种结构,隐含层可以包括至少一个卷积层和至少一个全连接层。
第五种结构中卷积层的结构可以参考上述第一种结构,全连接层的结构可以参考上述第四种结构。
本发明实施例对至少一个卷积层和至少一个全连接层的排布顺序不做限定。示例的,隐含层可以包括依次先后排布的p个卷积层和q个全连接层;或者包括依次先后排布的q个全连接层和p个卷积层,其中p和q均为正整数。如图2f所示,图2f示出隐含层包括依次先后排布的p个卷积层和q个全连接层的示意图。输入层的数据经过p个卷积层处理后,再经过q个全连接层进一步处理,p个全连接层将处理后的数据输出至输出层处理后,由输出层输出上述输出图像块。
本发明实施例中,当卷积层和全连接层中的至少一个的层数大于2时,隐含层中卷积层和全连接层可以交替排布。
需要说明的是,基于对输出图像块的尺寸要求,输出层需要对隐含层输出的图像块进行相应处理,例如,若输出图像块需要满足其尺寸与预测图像块的尺寸相同,则本发明实施例提供的帧内预测方法还包括:
步骤b1、通过输出层判断隐含层输出的图像块的尺寸是否大于预测图像块的尺寸。
步骤b2、当隐含层输出的图像块的尺寸与预测图像块的尺寸相同,通过输出层将隐含层输出的图像块作为输出图像块输出。
步骤b3、当隐含层输出的图像块的尺寸大于预测图像块的尺寸,通过输出层对隐含层输出的图像块进行裁剪,将裁剪得到的图像块作为输出图像块输出,裁剪得到的图像块的尺寸等于预测图像块的尺寸。
可选的,裁剪得到的图像块为位于隐含层输出的图像块中右下角的图像块。如图2g所示,若隐含层输出的图像块w包括5×5个数值,则输出层将其左侧一列和上方一行的区域w1裁剪掉,得到隐含层输出的图像块w中右下角的图像块w2,将该右下角的图像块w2作为输出图像块输出。
可选的,本发明实施例中,输出层还可以在上述步骤b1、b2和b3的基础上,将隐含层的输出的图像块与预测图像块相加,或者将隐含层的输出的图像块裁剪后与预测图像块相加,将相加得到的图像块作为输出图像块。
当然,若对输出图像块的尺寸无要求,则隐含层无需对隐含层输出的图像块进行相应处理。
步骤205、获取深度神经网络输出的输出图像块。
步骤206、基于输出图像块,确定最终预测块,最终预测块的尺寸与预测图像块的尺寸相同。
可选的,当输出图像块的尺寸等于预测图像块的尺寸时,将输出图像块确定为最终预测块。
请参考图2h,假设预测图像块的尺寸为n×n个像素点,输出图像块的尺寸等于预测图像块的尺寸,则直接将输出图像块作为最终预测块。
需要说明的是,图2h是以待处理图像块基于步骤202中的第二种处理方式生成为例进行说明的,本发明实施例中,待处理图像块还可以基于步骤202中的第一种处理方式生成,图2h只是示意性说明,本发明实施例对此不做限定。
步骤207、基于最终预测块,生成待预测区域对应的码流,该码流中携带第一语法标记,该第一语法标记用于标识码流中的数据是否是经过深度神经网络处理得到的。
在本发明实施例中,上述步骤201至206可以由帧内预测模块执行,在得到最终预测块后,编码端设备还可以将该待预测区域的原始图像块与该最终预测块相减,得到该待预测区域对应的残差块,然后基于该残差块编码得到该待预测区域对应的码流。
本发明实施例中,编码端设备可以依次对多个待预测区域执行上述步骤201至206,也可以兼容传统的帧内预测方法,对部分待预测区域执行上述步骤201至206,对另一部分待预测区域执行传统的帧内预测方法,为了区分传统的帧内预测方法和上述步骤201至206提供的帧内预测方法,在生成每个待预测区域对应的码流时,需要在每个待预测区域所对应的码流中添加第一语法标记,该第一语法标记用于标识待预测区域对应的码流是否为经过深度神经网络处理得到的,当该第一语法标记标识待预测区域对应的码流为经过深度神经网络处理得到的,则说明在解码端,基于待预测区域对应的码流生成的预测图像块需要经过深度神经网络处理,解码端设备可以参考与上述步骤201至206提供的帧内预测方法相应的帧内预测方法进行解码,当该第一语法标记标识待预测区域对应的码流是未经过深度神经网络处理得到的,则说明在解码端,基于待预测区域对应的码流生成的预测图像块无需经过深度神经网络处理,解码端设备可以参考传统的帧内预测方法进行解码。
示例的,上述第一语法标记标识可以为0或1,其中,0代表第一语法标记标识待预测区域对应的码流是未经过深度神经网络处理得到的,1代表第一语法标记标识待预测区域对应的码流是经过深度神经网络处理得到的。
可选的,当预测图像块是基于帧内预测模式生成时,例如采用上述步骤201中的第一种方式生成,待预测区域对应的码流还携带有待预测区域的第二语法标记,该第二语法标记用于标识待预测区域的帧内预测模式,该待预测区域内所有像素的帧内预测模式均相同,以保证解码端设备与编码端设备采用相同的帧内预测模式进行帧内预测。
目前的方向性模式有多种,每种都设置有相应的帧内模式编号。该第二语法标记可以携带对应像素点的帧内模式编号,例如,待预测区域中某个像素点采用dc模式(也称均值模式,帧内模式编号为1)进行帧内预测,则相应的第二语法标记携带的标识可以为1,也可以携带对应像素点的帧内模式的其他形式的指示符,本发明实施例对此不做限定。
步骤208、向解码端设备传输码流。
当编码端设备编码得到码流后,可以将该码流实时传输至解码端设备,本发明实施例中,编码端设备也可以在编码得到码流后,将码流进行存储,在接收到解码端设备的视频获取请求后,再将该码流传输至解码端设备,供解码端设备进行解码播放,本发明实施例对此不做限定。
需要说明的是,本发明实施例提供的帧内预测方法步骤的先后顺序可以进行适当调整,步骤也可以根据情况进行相应增减,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化的方法,都应涵盖在本发明的保护范围之内,因此不再赘述。
综上所述,本发明实施例将包含预测图像块,以及周边图像块的待处理图像块输入至深度神经网络,由深度神经网络进行处理得到输出图像块,并基于该输出图像块确定最终预测块,从而实现了深度神经网络对颜色分量的帧内预测,由于深度神经网络所具有深度学习和高准确率的特性,基于该深度神经网络预测得到的最终预测块相较于传统的帧内预测方法得到的预测块更为准确,因此,本发明所确定的最终预测块中包含的像素值的可靠性较高。
第二方面,当该帧内预测方法应用于解码端时,如图3所示,该帧内预测方法由解码端设备执行,包括:
步骤301、获取待预测区域对应的码流。
可选的,解码端设备可以在需要播放视频时,向编码端设备发送视频获取请求,编码端设备将编码得到的码流传输至解码端设备,由解码端设备实时从码流中获取待预测区域对应的码流,以进行解码。解码端设备也可以预先从编码端设备获取视频的码流,然后在需要进行视频播放时,从码流中获取待预测区域对应的码流,以进行解码。本发明实施例对此不做限定。
步骤302、生成待处理图像帧中待预测区域的预测图像块。
本发明实施例中,解码端设备是针对帧内预测方法编码得到的图像块进行解码。本发明实施例中,首先需要确定哪些图像块是通过帧内预测方法得到的块。视频帧包括帧间类型的帧和帧内类型的帧。对于帧间类型的帧,解码端设备接收到的图像块包括两种类型,分别为帧内预测块和帧间预测块,其中全部帧内预测块采用帧内预测方法编码得到,其各个图像块的码流会携带有预测模式标记,该预测模式标记用于标识图像块是否采用帧内预测方法进行编码。解码端设备通过检测该标记即可确定采用帧内预测方式编码的图像块,进而将该图像块作为待解码图像块(即待采用帧内预测方法解码的图像块),以进一步识别其第二语法标记。对于帧内类型的帧,所有的图像块默认为帧内预测块,可以对所有图像块的码流进一步识别第二语法标记。
上述待预测区域对于编码端设备和解码端设备是同一待预测区域。其中,生成待处理图像帧中待预测区域的预测图像块的过程可以参考上述步骤201,该待预测区域的预测图像块是基于待预测区域的相邻重建像素生成的,本发明实施例对此不再赘述。
值得说明的是,请参考上述步骤207,若编码端设备是基于帧内预测模式生成预测图像块时,也即是编码端设备采用上述步骤201中的第一种方式生成预测图像块,则编码端设备生成的码流携带有待预测区域的第二语法标记,该第二语法标记用于标识所述待预测区域的帧内预测模式。
相应的,解码端设备生成待处理图像帧中待预测区域的预测图像块的过程,包括:
解析待预测区域对应的码流中的第二语法标记,该第二语法标记用于标识对待预测区域的帧内预测模式;基于第二语法标记指示的帧内预测模式,对于待预测区域的像素值进行预测,以生成预测图像块。其中,该待预测区域中所有像素的帧内预测模式相同,基于第二语法标记指示的帧内预测模式对待预测区域的像素值进行预测,以生成预测图像块与上述步骤201中的第一种方式生成待解码图像块对应的预测图像块的过程相同,本发明实施例对此不做赘述。
步骤303、解析待预测区域对应的码流中的第一语法标记,该第一语法标记用于标识预测图像块是否需要经过所述深度神经网络处理。
请参考上述步骤207,为了实现与传统的帧内预测方法的兼容,编码端设备在生成每个待预测区域对应的码流时,在每个待预测区域对应的码流中添加第一语法标记。则解码端设备可以基于该第一语法标记来确定预测图像块是否需要经过所述深度神经网络处理。当该第一语法标记标识待预测区域对应的码流需要经过所述深度神经网络处理,则解码端设备可以执行步骤304,当该第一语法标记标识待预测区域对应的码流无需经过所述深度神经网络处理,则解码端设备可以执行步骤311。
如步骤207所述,当编码端的待预测区域对应的码流为经过深度神经网络处理得到的,则说明在解码端,预测图像块需要经过深度神经网络处理;当编码端的待预测区域对应的码流是未经过深度神经网络处理得到的,则说明在解码端,预测图像块无需经过深度神经网络处理。
示例的,上述第一语法标记标识可以为0或1,其中,0代表第一语法标记标识编码端的待预测区域对应的码流是未经过深度神经网络处理得到的,也即是解码端的预测图像块无需经过深度神经网络处理;1代表第一语法标记标识编码端的待预测区域对应的码流是经过深度神经网络处理得到的,也即是解码端的预测图像块需要经过深度神经网络处理。
步骤304、基于预测图像块,生成待处理图像块,该待处理图像块包括预测图像块。
步骤304可以参考上述步骤202,本发明实施例对此不做赘述。
步骤305、将待处理图像块输入深度神经网络。
步骤305可以参考上述步骤203,本发明实施例对此不做赘述。
步骤306、通过深度神经网络对待处理图像块进行处理。
步骤306可以参考上述步骤204,本发明实施例对此不做赘述。
步骤307、获取深度神经网络输出的输出图像块。
步骤307可以参考上述步骤205,本发明实施例对此不做赘述。
308、基于输出图像块,确定最终预测块,最终预测块的尺寸与预测图像块的尺寸相同。
步骤308可以参考上述步骤206,本发明实施例对此不做赘述。
步骤309、基于最终预测块与待预测区域对应的残差块,生成重建图像块。
步骤310、基于生成的重建图像块进行视频的播放。
在重复执行上述步骤301至309后,解码端设备可以解码得到多个重建图像块,该多个重建图像块可以组成待播放的视频,解码端设备可以进行视频的播放,或者在接收到播放触发指令时,再进行视频的播放。
步骤311、当第一语法标记标识待解码图像块未经过深度神经网络处理,对待解码图像块进行解码。
可选的,解码端设备可以参考传统的帧内预测方法对待解码图像块进行解码。
需要说明的是,本发明实施例提供的帧内预测方法步骤的先后顺序可以进行适当调整,步骤也可以根据情况进行相应增减,例如,步骤302和步骤303的顺序可以颠倒,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化的方法,都应涵盖在本发明的保护范围之内,因此不再赘述。
综上所述,本发明实施例将包含预测图像块,以及周边图像块的待处理图像块输入至深度神经网络,由深度神经网络进行处理得到输出图像块,并基于该输出图像块确定最终预测块,从而实现了深度神经网络对颜色分量的帧内预测,由于深度神经网络所具有深度学习和高准确率的特性,基于该深度神经网络预测得到的最终预测块相较于传统的帧内预测方法得到的预测块更为准确,因此,本发明所确定的最终预测块中包含的像素值的可靠性较高。
在本发明实施例中,待预测区域尺寸确定的帧内预测方法(比如在采用视频编码标准h.265进行编码时,最小的图像块(或称处理块)尺寸为4×4个像素点,即待预测区域的尺寸为4×4个像素点,本发明实施例提供的帧内预测方法可按照每4×4个像素点进行),其对应的深度神经网络的网络参数需要通过训练(也称预训练)获得。在确定一初始深度神经网络的网络架构后,比如卷积层数、全连接层的层数、卷积层的连接方式、全连接层的连接方式、每一层卷积层的卷积滤波器数量及其卷积核尺寸等参数,每个卷积层的权重系数(即各个卷积滤波器的权重系数)和每个卷积层的偏移系数(即各个卷积滤波器的偏移系数)需要通过训练获得,最终对初始深度神经网络训练得到的网络为上述深度神经网络。因此,为了保证深度神经网络的预测准确性,在步骤201之前,需要对初始深度神经网络进行训练以得到上述深度神经网络,该初始深度神经网络的网络架构与上述深度神经网络相同。
在本发明实施例中,基于输出图像块的属性不同,深度神经网络的训练过程不同,在本发明实施例中,输出图像块的属性可以有两种,一种是预测属性,另一种是残差属性,其中,预测属性的输出图像块与待预测区域的原始像素值相近,残差属性的输出图像块与待预测区域的残差值相近。本发明实施例以以下两种实现方式为例进行说明。
第一种实现方式,输出图像块的属性为预测属性,深度神经网络是以第二训练图像块为训练标签训练得到的,该第二训练图像块包括指定图像帧中第二训练区域对应的原始像素值。上述实施例中步骤201至208,以及301至310均是以输出图像块的属性为预测属性为例进行说明的。
相应的,该深度神经网络的训练过程包括:
步骤d1、采用与预测图像块相同的生成方式,生成指定图像帧中的第一训练区域的训练预测图像块,该第一训练区域的尺寸与待预测区域尺寸相同。
本发明实施例中,可以从预设的训练序列(也称训练图像序列)中提取指定图像帧,在该指定图像帧中确定第一训练区域,并生成该训练区域的训练预测图像块,训练预测图像块的生成方式可以参考上述步骤201,本发明实施例对此不做赘述。该指定图像帧的尺寸可以与待处理图像帧的尺寸相同。
步骤d2、基于训练预测图像块,采用与待处理图像块相同的生成方式,生成第一训练图像块。
第一训练图像块的生成方式可以参考上述步骤202,本发明实施例对比不做赘述。
步骤d3、将第一训练图像块输入初始深度神经网络。
步骤d4、将第二训练图像块作为训练标签,对初始深度神经网络进行训练以得到深度神经网络,第二训练图像块包括指定图像帧中第二训练区域对应的原始像素值。
可选的,原始像素值由指定图像帧中第二训练区域的已知的像素值组成。该第二训练区域的已知的像素值是该第二训练区域中未进行处理的像素值,是深度神经网络训练的理想结果,也即是若对第一训练区域的预测完全准确,得到的像素值即为该原始像素值。
其中,假设第二训练区域与第一训练区域在指定图像帧中的位置关系为第一位置关系,输出图像块对应的区域与预测图像块对应的区域(即待预测区域)在待处理图像帧中的位置关系为第二位置关系,则第一位置关系与第二位置关系相同。
该第一种实现方式可以基于上述第一位置关系的不同情况划分为多种情况。本发明实施例以以下两种情况为例进行说明。
第一种情况t1:第一位置关系为:第二训练区域与第一训练区域为同一区域,相应的,第二位置关系为:输出图像块对应的区域与预测图像块对应的区域(即待预测区域)为同一区域。
上述实施例中步骤201至208,以及301至310均是以该第一种情况t1为例进行说明的。
在第一种情况t1下,上述步骤d4的训练标签即包括指定图像帧中第二训练区域对应的原始像素值。
第二种情况t2:第一位置关系为:第二训练区域包括第一训练区域,此时第二训练区域的尺寸大于第一训练区域的尺寸;相应的,第二位置关系为:此时输出图像块对应的区域包括预测图像块对应区域(即待预测区域),此时输出图像块对应的区域的尺寸大于预测图像块对应的区域的尺寸。
则在第二种情况t2下,若执行本发明实施例提供的帧内预测方法,可以将上述步骤206和上述步骤308替换为:
对输出图像块进行裁剪,并基于裁剪得到的图像块确定最终预测块。
可选的,裁剪得到的图像块为位于输出图像块中右下角的图像块。对输出图像块进行裁剪的过程可以参考上述步骤204中的步骤b3中对隐含层输出的图像块进行裁切的过程,本发明实施例对此不做赘述。
请参考图4a,假设预测图像块的尺寸为n×n个像素点,输出图像块包含s1×s2个像素点,其尺寸大于预测图像块的尺寸,则通过对输出图像块进行裁剪,得到尺寸为n×n个像素点的最终预测块。
需要说明的是,输出图像块对应的区域的尺寸大于待预测区域的尺寸,可以提高最终预测块与其相邻的重建像素值之间的平滑性,减少边界效应。
目前可以通过指定训练平台对该初始深度神经网络进行训练,该训练过程可以包括配置学习率等参数。示例的,上述训练过程可以基于监督学习算法(英文:supervisedlearning)的训练方式来实现,监督学习算法是通过已有的训练集(也称训练样本,即已知数据以及其对应的训练标签,该训练标签可以为明确的标识或者输出结果)来训练,以训练得到相应网络参数。示例的,训练过程还可以通过人工标定,或者无监督学习算法,或者半监督学习算法等方式实现。
进一步的,在本发明实施例中,该深度神经网络可以基于代价函数训练得到,代价函数(英文:costfunction)也称损失函数(英文:lossfunction),代价函数用于评价神经网络的准确性,其对网络参数可微(即存在网络参数的全微分,或者说存在网络参数的偏导数),训练深度神经网络的过程就是优化对应的代价函数的过程。
在本发明实施例中,代价函数为初始深度神经网络输出的训练输出图像块与标签的预设运算值,预设运算值为:均方误差(英文:meansquarederror;简称:mse),或者,平均绝对差值(即先求取对应像素值的差值的绝对值,然后求取所有差值绝对值的平均值),或者,绝对差值之和(即先求取对应像素值的差值的绝对值,然后求取所有差值绝对值之和),或者,标准差。
可选的,该预设运算值还可以为交叉熵(英文:crossentropy;简称:ce)。
第二种实现方式,输出图像块的属性为残差属性,深度神经网络是以残差块为训练标签训练得到的,该残差块包括指定图像帧中第二训练区域对应的残差值。
相应的,该深度神经网络的训练过程包括:
步骤e1、采用与预测图像块相同的生成方式,生成指定图像帧中的第一训练区域的训练预测图像块,该第一训练区域的尺寸与待预测区域尺寸相同。
本发明实施例中,该指定图像帧的尺寸可以与待处理图像帧的尺寸相同。可以从预设的训练序列中提取指定图像帧,在该指定图像帧中确定第一训练区域,并生成该训练区域的训练预测图像块,训练预测图像块的生成方式可以参考上述步骤201,本发明实施例对此不做赘述。
步骤e2、基于训练预测图像块,采用与待处理图像块相同的生成方式,生成训练图像块。
训练图像块的生成方式可以参考上述步骤202,本发明实施例对比不做赘述。
步骤e3、将训练图像块输入初始深度神经网络。
步骤e4、将残差块作为训练标签,对初始深度神经网络进行训练以得到深度神经网络。
该残差块包括指定图像帧中第二训练区域对应的残差值,该残差值是第二训练区域对应的原始像素值与训练预测图像块的差值。原始像素值由指定图像帧中第二训练区域的已知的像素值组成。该第二训练区域的已知的像素值是该第二训练区域中未进行处理的像素值。
其中,假设第二训练区域与第一训练区域在指定图像帧中的位置关系为第一位置关系,输出图像块对应的区域与预测图像块对应的区域(即待预测区域)在待处理图像帧中的位置关系为第二位置关系,则第一位置关系与第二位置关系相同。
该第二种实现方式可以基于上述第一位置关系的不同情况划分为多种情况。本发明实施例以以下两种情况为例进行说明。
第一种情况u1:第一位置关系为:第二训练区域与第一训练区域为同一区域,相应的,第二位置关系为:输出图像块对应的区域与预测图像块对应的区域(即待预测区域)为同一区域。
在第一种情况u1下,上述步骤d4的训练标签即包括指定图像帧中第二训练区域对应的残差值。
则在第一种情况u1下,若执行本发明实施例提供的帧内预测方法,可以将上述步骤206和上述步骤308替换为:
将输出图像块与预测图像块之和确定为最终预测块。此时预测图像块与残差块较为接近。
如图4b所示,假设预测图像块的尺寸为n×n个像素点,输出图像块的尺寸等于预测图像块的尺寸,则将输出图像块与预测图像块之和确定为最终预测块。
第二种情况u2:第一位置关系为:第二训练区域包括第一训练区域,此时第二训练区域的尺寸大于第一训练区域的尺寸,相应的,第二位置关系为:输出图像块对应的区域包括预测图像块对应区域(即待预测区域),此时输出图像块对应的区域的尺寸大于预测图像块对应的区域的尺寸。
则在第二种情况u2下,若执行本发明实施例提供的帧内预测方法,可以将上述步骤206和上述步骤308替换为:
对输出图像块进行裁剪,将裁剪得到的图像块作为备用预测块,并将备用预测块与预测图像块之和确定为最终预测块。此时预测图像块与残差块较为接近。
则请参考图4c,假设预测图像块的尺寸为n×n个像素点,输出图像块包含s1×s2个像素点,其尺寸大于预测图像块的尺寸,则通过对输出图像块进行备用预测块,得到尺寸为n×n个像素点的备用预测块,然后与预测图像块相加得到最终预测块。
需要说明的是,在上述第二种情况t2和第二种情况u2中,输出图像块对应的区域的尺寸大于待预测区域的尺寸,可以提高最终预测块与其相邻的重建像素值之间的平滑性,减少边界效应。
需要说明的是,图4a至图4c中是以待处理图像块基于步骤202中的第二种处理方式生成为例进行说明的,本发明实施例中,待处理图像块还可以基于步骤202中的第一种处理方式生成,图4a至图4c中只是示意性说明,本发明实施例对此不做限定。
当输出图像块的属性为残差属性时,目前可以通过指定训练平台对该初始深度神经网络进行训练,该训练过程可以包括配置学习率等参数。示例的,上述训练过程可以基于监督学习算法(英文:supervisedlearning)的训练方式来实现,监督学习算法是通过已有的训练集(也称训练样本,即已知数据以及其对应的训练标签,该训练标签可以为明确的标识或者输出结果)来训练,以训练得到相应网络参数。示例的,训练过程还可以通过人工标定,或者无监督学习算法,或者半监督学习算法等方式实现。
进一步的,在本发明实施例中,深度神经网络基于代价函数训练得到,代价函数为初始深度神经网络输出的训练输出图像块与训练预测图像块之和与标签的预设运算值,该预设运算值为均方误差,或者,平均绝对差值,或者,绝对差值之和,或者标准差。
可选的,该预设运算值还可以为交叉熵。
需要说明的是,上述第一种实现方式和第二种实现方式都是以对一个训练区域进行训练得到的训练预测图像块为例进行说明的,实际应用中,可以针对一个指定图像帧,依次对其中多个训练区域进行训练,则相应获取的训练预测图像块有多个,被训练的初始深度神经网络的输出结果也有多个,则对初始深度神经网络进行训练以得到深度神经网络的过程,包括:
通过反向传递的方式更新初始深度神经网络的网络参数,直至多个训练预测图像块对应的训练代价函数收敛(即函数的值不断减小最后在一个很小的数值范围内波动),以得到深度神经网络。
基于多个训练区域进行训练可以提高最终训练结果的准确性,增加深度神经网络的可靠性。
综上所述,本发明实施例通过将初始深度神经网络训练得到深度神经网络,从而使得深度神经网络具有深度学习和高准确率的特性,以实现经过该深度神经网络出了处理得到的最终预测块中包含的像素值的可靠性较高。
本发明实施例提供一种帧内预测装置50,如图5a所示,所述装置包括:
第一生成模块501,用于生成待处理图像帧中待预测区域的预测图像块;
输入模块502,用于将待处理图像块输入深度神经网络,所述待处理图像块包括所述预测图像块,以及周边图像块,所述周边图像块包括与所述待预测区域相邻的,且位于所述待预测区域的左侧、上方和左上方中的至少一个方位的块状区域中的已重建的像素值;
第一获取模块503,用于获取所述深度神经网络输出的输出图像块;
第一确定模块504,用于基于所述输出图像块,确定最终预测块,所述最终预测块的尺寸与所述预测图像块的尺寸相同。
综上所述,本发明实施例提供的帧内预测装置,输入模块将包含预测图像块,以及周边图像块的待处理图像块输入至深度神经网络,由深度神经网络进行处理得到输出图像块,并由第一确定模块基于该输出图像块确定最终预测块,从而实现了深度神经网络对颜色分量的帧内预测,由于深度神经网络所具有深度学习和高准确率的特性,基于该深度神经网络预测得到的最终预测块相较于传统的帧内预测方法得到的预测块更为准确,因此,本发明所确定的最终预测块中包含的像素值的可靠性较高。
可选的,所述第一生成模块501,用于:
基于帧内预测模式,生成所述预测图像块;
或者,基于所述待预测区域的第一周边区域中所有已重建的像素值的第一平均值,生成所述预测图像块,其中,所述第一周边区域包括与所述待预测区域相邻的,且位于所述待预测区域的左侧、上方和左上方中的至少一个方位的块状区域,所述预测图像块中的每个像素值均等于所述第一平均值;
或者,基于所述待预测区域的第二周边区域中所有已重建的像素值的第二平均值,生成所述预测图像块,其中,所述第二周边区域包括:与所述待预测区域相邻的,且位于所述待预测区域的左侧、上方和左上方的块状区域,以及与所述待预测区域相邻的,位于所述待预测区域的左下方和/或右上方的块状区域,所述预测图像块中的每个像素值均等于所述第二平均值。
可选的,如图5b所示,所述装置50还包括:
第二确定模块505,用于在所述将待处理图像块输入深度神经网络之前,确定左下图像块,所述左下图像块包括所述待预测区域的左下方相邻的块状区域的像素值;
第三确定模块506,用于确定右上图像块,所述右上图像块包括所述待预测区域的右上方相邻的块状区域的像素值;
第一填充模块507,用于采用所述预测图像块中右边缘的块状区域的像素值填充所述待预测区域右侧相邻的块状区域,得到右侧图像块,所述右侧图像块还与所述右上图像块相邻;
第二填充模块508,用于采用所述预测图像块中下边缘的块状区域的像素值填充所述待预测区域下方相邻的块状区域,得到下方图像块,所述下方图像块还与所述左下图像块相邻;
第三填充模块509,用于采用所述预测图像块中右下角边缘的块状区域的像素值填充所述待预测区域右下方相邻的块状区域,得到右下方图像块,所述右下方图像块还分别与所述右侧图像块与所述下方图像块相邻;
第二生成模块510,用于生成所述待处理图像块,所述待处理图像块由所述预测图像块、所述周边图像块、所述左下图像块、所述右上图像块、所述右侧图像块、所述下方图像块和所述右下方图像块按照在所述待处理图像帧中的位置关系组成。
可选的,所述第二确定模块505,用于:
当所述待预测区域的左下方相邻的第一块状区域存在已重建的像素值时,将所述第一块状区域中的已重建的像素值确定为所述左下图像块中的像素值;
当所述第一块状区域不存在已重建的像素值时,将所述第一块状区域上方相邻的块状区域中的已重建的像素值确定为所述左下图像块中的像素值;
所述第三确定模块506,用于:
当所述待预测区域的右上方相邻的第二块状区域存在已重建的像素值时,将所述第二块状区域中的已重建的像素值确定为所述右上图像块中的像素值;
当所述第二块状区域不存在已重建的像素值时,将所述第二块状区域左侧的块状区域中的已重建的像素值确定为所述右上图像块中的像素值。
可选的,所述输出图像块的尺寸大于所述预测图像块的尺寸;
所述第一确定模块504,用于:
对所述输出图像块进行裁剪,将裁剪得到的图像块作为所述最终预测块。
如图5c所示,所述装置50还包括:训练模块511。
在一种可实现方式中,训练模块511,用于对初始深度神经网络进行训练以得到所述深度神经网络,所述深度神经网络的训练过程包括:
采用与所述预测图像块相同的生成方式,生成指定图像帧中的第一训练区域的训练预测图像块,所述第一训练区域的尺寸与所述待预测区域尺寸相同;
基于所述训练预测图像块,采用与所述待处理图像块相同的生成方式,生成第一训练图像块;
将所述第一训练图像块输入初始深度神经网络;
将第二训练图像块作为训练标签,对所述初始深度神经网络进行训练以得到所述深度神经网络,所述第二训练图像块包括所述指定图像帧中第二训练区域对应的原始像素值;
其中,第一位置关系与第二位置关系相同,所述第一位置关系为所述第二训练区域与所述第一训练区域在所述指定图像帧中的位置关系,所述第二位置关系为所述输出图像块对应的区域与所述预测图像块对应的区域在所述待处理图像帧中的位置关系。
可选的,所述深度神经网络基于代价函数训练得到,所述代价函数为所述初始深度神经网络输出的训练输出图像块与所述标签的预设运算值,所述预设运算值为均方误差,或者,平均绝对差值,或者,绝对差值之和,或者,标准差。
所述第一确定模块504,用于:
对所述输出图像块进行裁剪,将裁剪得到的图像块作为备用预测块,并将所述备用预测块与所述预测图像块之和确定为所述最终预测块;或者,
将所述输出图像块与所述预测图像块之和确定为所述最终预测块。
在另一种可实现方式中,训练模块511,用于对初始深度神经网络进行训练以得到所述深度神经网络,所述深度神经网络的训练过程包括:
采用与所述预测图像块相同的生成方式,生成指定图像帧中的第一训练区域的训练预测图像块,所述第一训练区域的尺寸与所述待预测区域尺寸相同;
基于所述训练预测图像块,采用与所述待处理图像块相同的生成方式,生成训练图像块;
将所述训练图像块输入初始深度神经网络;
将残差块作为训练标签,对所述初始深度神经网络进行训练以得到所述深度神经网络,所述残差块包括所述指定图像帧中第二训练区域对应的残差值;
其中,第一位置关系与第二位置关系相同,所述第一位置关系为所述第二训练区域与所述第一训练区域在所述指定图像帧中的位置关系,所述第二位置关系为所述输出图像块对应的区域与所述预测图像块对应的区域在所述待处理图像帧中的位置关系。
可选的,所述深度神经网络基于代价函数训练得到,所述代价函数为所述初始深度神经网络输出的训练输出图像块与所述训练预测图像块之和与所述标签的预设运算值,所述预设运算值为均方误差,或者,平均绝对差值,或者,绝对差值之和,或者,标准差。
可选的,所述训练预测图像块有多个,所述训练模块511,用于:
通过反向传递的方式更新所述初始深度神经网络的网络参数,直至多个所述训练预测图像块对应的所述训练代价函数收敛,以得到所述深度神经网络。
可选的,所述裁剪得到的图像块为位于所述输出图像块中右下角的图像块。
可选的,所述深度神经网络包括依次连接的输入层、隐含层和输出层;
所述隐含层包括依次连接的至少一个卷积层,每个所述卷积层中只包含一种尺寸的卷积核;
或者,所述隐含层包括依次连接的至少一个卷积层,至少存在一个卷积层包含多个尺寸的卷积核;
或者,所述隐含层包括依次连接的至少一个卷积层和整合层,所述整合层用于对经过所述至少一个卷积层的图像块进行缩放和偏移处理;
或者,所述隐含层包括依次连接的至少两个全连接层;
或者,所述隐含层包括至少一个卷积层和至少一个全连接层。
可选的,所述深度神经网络包括依次连接的输入层、隐含层和输出层;
如图5d所示,所述装置50还包括:处理模块512,用于:
在所述获取所述深度神经网络输出的输出图像块之前,当所述隐含层输出的图像块的尺寸与所述预测图像块的尺寸相同,通过所述输出层将所述隐含层输出的图像块作为所述输出图像块输出;
当所述隐含层输出的图像块的尺寸大于所述预测图像块的尺寸,通过所述输出层对所述隐含层输出的图像块进行裁剪,将裁剪得到的图像块作为所述输出图像块输出,所述裁剪得到的图像块的尺寸等于所述预测图像块的尺寸。
可选的,所述裁剪得到的图像块为位于所述隐含层输出的图像块中右下角的图像块。
可选的,如图5e所示,所述装置应用于解码端时,所述装置50还包括:
第二获取模块513,用于在所述将待处理图像块输入深度神经网络之前,获取待预测区域对应的码流;
解析模块514,用于解析所述待预测区域对应的码流中的第一语法标记,所述第一语法标记用于标识所述预测图像块是否需要经过所述深度神经网络处理;
所述输入模块502,用于:
当所述第一语法标记标识所述预测图像块需要经过所述深度神经网络处理,将待处理图像块输入深度神经网络。
可选的,所述第一生成模块501,用于:
解析所述待预测区域对应的码流中的第二语法标记,所述第二语法标记用于标识所述待预测区域的帧内预测模式;
基于所述第二语法标记指示的帧内预测模式,对于所述待预测区域的像素值进行预测,以生成所述预测图像块。
可选的,如图5f所示,所述装置应用于编码端时,所述装置50还包括:
第三生成模块515,用于在所述基于所述输出图像块,确定最终预测块之后,基于所述最终预测块,生成所述待预测区域对应的码流,所述码流中携带第一语法标记,所述第一语法标记用于标识所述待预测区域对应的码流是否为经过所述深度神经网络处理得到的。
可选的,当所述预测图像块是基于帧内预测模式生成时,所述待预测区域对应的码流还携带有所述待预测区域对应的第二语法标记,所述第二语法标记用于标识所述待预测区域的帧内预测模式。
综上所述,本发明实施例提供的帧内预测装置,输入模块将包含预测图像块,以及周边图像块的待处理图像块输入至深度神经网络,由深度神经网络进行处理得到输出图像块,并由第一确定模块基于该输出图像块确定最终预测块,从而实现了深度神经网络对颜色分量的帧内预测,由于深度神经网络所具有深度学习和高准确率的特性,基于该深度神经网络预测得到的最终预测块相较于传统的帧内预测方法得到的预测块更为准确,因此,本发明所确定的最终预测块中包含的像素值的可靠性较高。
本发明实施例还提供一种计算机设备,包括:
处理器;
用于存储所述处理器的可执行指令的存储器;
其中,所述处理器被配置为:
生成待处理图像帧中待预测区域的预测图像块;
将待处理图像块输入深度神经网络,所述待处理图像块包括所述预测图像块,以及周边图像块,所述周边图像块包括与所述待预测区域相邻的,且位于所述待预测区域的左侧、上方和左上方中的至少一个方位的块状区域中的已重建的像素值;
获取所述深度神经网络输出的输出图像块;
基于所述输出图像块,确定最终预测块,所述最终预测块的尺寸与所述预测图像块的尺寸相同。
可选的,本发明实施例提供一种可读存储介质,该可读存储介质为非易失性可读存储介质,所述可读存储介质中存储有指令,当所述可读存储介质在处理组件上运行时,使得处理组件执行本发明实施例提供的任一的帧内预测方法。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。