首页 / 专利库 / 资料储存系统 / 数据压缩 / 无损压缩 / 熵编码 / 一种视频编码方法、解码方法、装置及电子设备

一种视频编码方法、解码方法、装置及电子设备

阅读:435发布:2020-05-13

专利汇可以提供一种视频编码方法、解码方法、装置及电子设备专利检索,专利查询,专利分析的服务。并且本 发明 实施例 提供了一种 视频编码 方法、解码方法、装置及 电子 设备,包括:按照预设决策策略,确定是否开启预设去失真滤波功能;当确定开启时,获得失真图像;生成失真图像对应的边信息分量;将失真图像的失真图像 颜色 分量以及边信息分量,输入预先建立的 卷积神经网络 模型进行卷积滤波处理,得到去失真图像颜色分量;对待 熵编码 数据进行熵编码,得到编码后的视频比特流,待熵编码数据为对当前原始 帧 图像进行视频编码生成的,且包括表示是否开启预设去失真滤波功能的决策信息,以及用于生成边信息分量的边信息。采用本方案,实现了在视频编码过程中,使用卷积神经网络模型对失真图像进行去失真处理;实现了在编码性能和 算法 复杂度之间的折中。,下面是一种视频编码方法、解码方法、装置及电子设备专利的具体信息内容。

1.一种视频编码方法,其特征在于,包括:
按照预设决策策略,确定是否开启预设去失真滤波功能;
当确定开启时,获得失真图像,所述失真图像为对待编码视频中的当前原始图像进行视频编码的过程中生成的;
生成所述失真图像对应的边信息分量,所述边信息分量表示所述失真图像相对所述当前原始帧图像的失真特征;
将所述失真图像的失真图像颜色分量以及所述边信息分量,输入预先建立的卷积神经网络模型进行卷积滤波处理,得到去失真图像颜色分量;其中,所述卷积神经网络模型为基于预设训练集进行训练得到的,所述预设训练集包括原始样本图像,以及原始样本图像对应的多个失真图像的失真图像颜色分量,以及每个失真图像对应的边信息分量;
对待熵编码数据进行熵编码,得到编码后的视频比特流,所述待熵编码数据为对所述当前原始帧图像进行视频编码生成的,且包括表示是否开启预设去失真滤波功能的决策信息,以及用于生成所述边信息分量的边信息。
2.如权利要求1所述的方法,其特征在于,按照预设决策策略,确定是否开启预设去失真滤波功能,包括:
当待编码视频中的当前原始帧图像为I帧图像时,确定开启预设去失真滤波功能,当待编码视频中的当前原始帧图像为P帧图像或者B帧图像时,确定关闭预设去失真滤波功能;
或者
对重建图像进行纹理分析,当分析结果表示纹理平坦,确定开启预设去失真滤波功能,当分析结果表示纹理复杂,确定关闭预设去失真滤波功能,其中,所述重建图像为对待编码视频中的当前原始帧图像进行视频编码的过程中生成的;或者
当可用计算资源充足时,确定开启预设去失真滤波功能,当可用计算资源不足时,确定关闭预设去失真滤波功能。
3.如权利要求1所述的方法,其特征在于,所述失真图像为对待编码视频中的当前原始帧图像进行视频编码的过程中生成的重建图像;或者
所述失真图像为对重建图像采用其他预设滤波方法进行滤波后得到的,所述重建图像为对待编码视频中的当前原始帧图像进行视频编码的过程中生成的。
4.如权利要求1所述的方法,其特征在于,所述边信息分量至少表示如下失真特征之一:
表示所述失真图像相对所述当前原始帧图像的失真程度;
表示所述失真图像相对所述当前原始帧图像的失真位置
表示所述失真图像相对所述当前原始帧图像的失真类型。
5.如权利要求1所述的方法,其特征在于,生成所述失真图像对应的边信息分量,包括:
确定所述失真图像每个像素点的失真程度值;
基于所述失真图像各像素点的位置,使用获取的各像素点的失真程度值,生成所述失真图像对应的边信息分量,其中,所述边信息分量包括的每个分量值与所述失真图像上相同位置的像素点相对应。
6.如权利要求5所述的方法,其特征在于,确定所述失真图像每个像素点的失真程度值,包括:
获取所述当前原始帧图像的每个编码区域的量化参数,将所述失真图像每个像素点所在编码区域的量化参数,确定为所述失真图像每个像素点的失真程度值。
7.如权利要求5所述的方法,其特征在于,基于所述失真图像各像素点的位置,使用获取的所述各像素点的失真程度值,生成所述失真图像对应的边信息分量,包括:
基于所述失真图像各像素点的位置,将获取的每个像素点的失真程度值,确定为所述失真图像对应的边信息分量中该像素点相同位置的分量值;或者
基于所述失真图像的像素值范围,对获取的所述各像素点的失真程度值进行标准化处理,得到处理后失真程度值,所述处理后失真程度值的取值范围与所述像素值范围相同;基于所述失真图像各像素点的位置,将每个像素点的处理后失真程度值,确定为所述失真图像对应的边信息分量中该像素点相同位置的分量值。
8.一种视频编码装置,其特征在于,包括:
第一开启确定模,用于按照预设决策策略,确定是否开启预设去失真滤波功能;
第一图像获得模块,用于当确定开启时,获得失真图像,所述失真图像为对待编码视频中的当前原始帧图像进行视频编码的过程中生成的;
第一生成模块,用于生成所述失真图像对应的边信息分量,所述边信息分量表示所述失真图像相对所述当前原始帧图像的失真特征;
第一滤波处理模块,用于将所述失真图像的失真图像颜色分量以及所述边信息分量,输入预先建立的卷积神经网络模型进行卷积滤波处理,得到去失真图像颜色分量;其中,所述卷积神经网络模型为基于预设训练集进行训练得到的,所述预设训练集包括原始样本图像,以及原始样本图像对应的多个失真图像的失真图像颜色分量,以及每个失真图像对应的边信息分量;
熵编码模块,用于对待熵编码数据进行熵编码,得到编码后的视频比特流,所述待熵编码数据为对所述当前原始帧图像进行视频编码生成的,且包括表示是否开启预设去失真滤波功能的决策信息,以及用于生成所述边信息分量的边信息。
9.如权利要求8所述的装置,其特征在于,所述第一开启确定模块,具体用于当待编码视频中的当前原始帧图像为I帧图像时,确定开启预设去失真滤波功能,当待编码视频中的当前原始帧图像为P帧图像或者B帧图像时,确定关闭预设去失真滤波功能;或者,对重建图像进行纹理分析,当分析结果表示纹理平坦,确定开启预设去失真滤波功能,当分析结果表示纹理复杂,确定关闭预设去失真滤波功能,其中,所述重建图像为对待编码视频中的当前原始帧图像进行视频编码的过程中生成的;或者,当可用计算资源充足时,确定开启预设去失真滤波功能,当可用计算资源不足时,确定关闭预设去失真滤波功能。
10.如权利要求8所述的装置,其特征在于,所述失真图像为对待编码视频中的当前原始帧图像进行视频编码的过程中生成的重建图像;或者
所述失真图像为对重建图像采用其他预设滤波方法进行滤波后得到的,所述重建图像为对待编码视频中的当前原始帧图像进行视频编码的过程中生成的。
11.如权利要求8所述的装置,其特征在于,所述边信息分量至少表示如下失真特征之一:
表示所述失真图像相对所述当前原始帧图像的失真程度;
表示所述失真图像相对所述当前原始帧图像的失真位置;
表示所述失真图像相对所述当前原始帧图像的失真类型。
12.如权利要求8所述的装置,其特征在于,所述第一生成模块,具体用于确定所述失真图像每个像素点的失真程度值;基于所述失真图像各像素点的位置,使用获取的各像素点的失真程度值,生成所述失真图像对应的边信息分量,其中,所述边信息分量包括的每个分量值与所述失真图像上相同位置的像素点相对应。
13.如权利要求12所述的装置,其特征在于,所述第一生成模块,具体用于获取所述当前原始帧图像的每个编码区域的量化参数,将所述失真图像每个像素点所在编码区域的量化参数,确定为所述失真图像每个像素点的失真程度值。
14.如权利要求12所述的装置,其特征在于,所述第一生成模块,具体用于基于所述失真图像各像素点的位置,将获取的每个像素点的失真程度值,确定为所述失真图像对应的边信息分量中该像素点相同位置的分量值;或者
基于所述失真图像的像素值范围,对获取的所述各像素点的失真程度值进行标准化处理,得到处理后失真程度值,所述处理后失真程度值的取值范围与所述像素值范围相同;基于所述失真图像各像素点的位置,将每个像素点的处理后失真程度值,确定为所述失真图像对应的边信息分量中该像素点相同位置的分量值。
15.一种电子设备,其特征在于,包括处理器、通信接口存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序
处理器,用于执行存储器上所存放的程序时,实现权利要求1-7任一所述的方法。
16.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-7任一所述的方法。
17.一种视频解码方法,其特征在于,包括:
对接收的视频比特流进行熵解码,得到当前熵解码数据;
根据所述当前熵解码数据中表示是否开启预设去失真滤波功能的决策信息,确定是否开启预设去失真滤波功能;
当确定开启时,获得失真图像,所述失真图像为对所述当前熵解码数据进行视频解码的过程中生成的;
基于所述当前熵解码数据中包括的边信息,生成所述失真图像对应的边信息分量,所述边信息分量表示所述失真图像相对所述当前熵解码数据对应的原始帧图像的失真特征;
将所述失真图像的失真图像颜色分量以及所述边信息分量,输入预先建立的卷积神经网络模型进行卷积滤波处理,得到去失真图像颜色分量;
其中,所述卷积神经网络模型为基于预设训练集进行训练得到的,所述预设训练集包括原始样本图像,以及原始样本图像对应的多个失真图像的失真图像颜色分量,以及每个失真图像对应的边信息分量。
18.如权利要求17所述的方法,其特征在于,根据所述当前熵解码数据中表示是否开启预设去失真滤波功能的决策信息,确定是否开启预设去失真滤波功能,包括:
从所述当前熵解码数据中获得表示所述当前熵解码数据中对应的当前原始帧图像帧类型的类型信息,当所述类型信息表示所述当前原始帧图像为I帧图像时,确定开启预设去失真滤波功能,当所述类型信息表示所述当前原始帧图像为P帧图像或者B帧图像时,确定关闭预设去失真滤波功能;或者
对所述当前熵解码数据进行视频解码,得到重建图像,对所述重建图像进行纹理分析,当分析结果表示纹理平坦,确定开启预设去失真滤波功能,当分析结果表示纹理复杂,确定关闭预设去失真滤波功能;或者
从所述当前熵解码数据中获得表示编码端的可用计算资源的资源信息,当所述资源信息表示可用计算资源充足时,确定开启预设去失真滤波功能,当所述资源信息表示可用计算资源不足时,确定关闭预设去失真滤波功能;
从所述当前熵解码数据中获得直接表示是否开启预设去失真滤波功能的决策信息,并基于获得的所述决策信息,确定是否开启预设去失真滤波功能。
19.如权利要求17所述的方法,其特征在于,所述失真图像为对所述当前熵解码数据进行视频解码的过程中生成的重建图像;或者
所述失真图像为对重建图像采用其他预设滤波方法进行滤波后得到的,所述重建图像为对所述当前熵解码数据进行视频解码的过程中生成的。
20.如权利要求17所述的方法,其特征在于,得到的所述去失真图像颜色分量,用于对所述视频比特流中的后续熵解码数据进行视频解码;和/或
用于生成所述原始帧图像对应的解码后图像,作为待播放帧图像。
21.如权利要求17所述的方法,其特征在于,所述边信息分量至少表示如下失真特征之一:
表示所述失真图像相对所述原始帧图像的失真程度;
表示所述失真图像相对所述原始帧图像的失真位置;
表示所述失真图像相对所述原始帧图像的失真类型。
22.如权利要求17所述的方法,其特征在于,基于所述当前熵解码数据中包括的边信息,生成所述失真图像对应的边信息分量,包括:
从所述当前熵解码数据中,获得所述失真图像每个像素点的失真程度值;
基于所述失真图像各像素点的位置,使用获取的各像素点的失真程度值,生成所述失真图像对应的边信息分量,其中,所述边信息分量包括的每个分量值与所述失真图像上相同位置的像素点相对应。
23.如权利要求22所述的方法,其特征在于,从所述当前熵解码数据中,获得所述失真图像每个像素点的失真程度值,包括:
从所述当前熵解码数据中,获取所述当前熵解码数据对应的原始帧图像的每个编码区域的量化参数,将所述失真图像每个像素点所在编码区域的量化参数,确定为所述失真图像每个像素点的失真程度值。
24.如权利要求22所述的方法,其特征在于,基于所述失真图像各像素点的位置,使用获取的所述各像素点的失真程度值,生成所述失真图像对应的边信息分量,包括:
基于所述失真图像各像素点的位置,将获取的每个像素点的失真程度值,确定为所述失真图像对应的边信息分量中该像素点相同位置的分量值;或者
基于所述失真图像的像素值范围,对获取的所述各像素点的失真程度值进行标准化处理,得到处理后失真程度值,所述处理后失真程度值的取值范围与所述像素值范围相同;基于所述失真图像各像素点的位置,将每个像素点的处理后失真程度值,确定为所述失真图像对应的边信息分量中该像素点相同位置的分量值。
25.一种视频解码装置,其特征在于,包括:
熵解码模块,用于对接收的视频比特流进行熵解码,得到当前熵解码数据;
第二开启确定模块,用于根据所述当前熵解码数据中表示是否开启预设去失真滤波功能的决策信息,确定是否开启预设去失真滤波功能;
第二图像获得模块,用于当确定开启时,获得失真图像,所述失真图像为对所述当前熵解码数据进行视频解码的过程中生成的;
第二生成模块,用于基于所述当前熵解码数据中包括的边信息,生成所述失真图像对应的边信息分量,所述边信息分量表示所述失真图像相对所述当前熵解码数据对应的原始帧图像的失真特征;
第二滤波处理模块,用于将所述失真图像的失真图像颜色分量以及所述边信息分量,输入预先建立的卷积神经网络模型进行卷积滤波处理,得到去失真图像颜色分量;
其中,所述卷积神经网络模型为基于预设训练集进行训练得到的,所述预设训练集包括原始样本图像,以及原始样本图像对应的多个失真图像的失真图像颜色分量,以及每个失真图像对应的边信息分量。
26.如权利要求25所述的装置,其特征在于,所述第二开启确定模块,具体用于从所述当前熵解码数据中获得表示所述当前熵解码数据中对应的当前原始帧图像帧类型的类型信息,当所述类型信息表示所述当前原始帧图像为I帧图像时,确定开启预设去失真滤波功能,当所述类型信息表示所述当前原始帧图像为P帧图像或者B帧图像时,确定关闭预设去失真滤波功能;或者,对所述当前熵解码数据进行视频解码,得到重建图像,对所述重建图像进行纹理分析,当分析结果表示纹理平坦,确定开启预设去失真滤波功能,当分析结果表示纹理复杂,确定关闭预设去失真滤波功能;或者,从所述当前熵解码数据中获得表示编码端的可用计算资源的资源信息,当所述资源信息表示可用计算资源充足时,确定开启预设去失真滤波功能,当所述资源信息表示可用计算资源不足时,确定关闭预设去失真滤波功能;,从所述当前熵解码数据中获得直接表示是否开启预设去失真滤波功能的决策信息,并基于获得的所述决策信息,确定是否开启预设去失真滤波功能。
27.如权利要求25所述的装置,其特征在于,所述失真图像为对所述当前熵解码数据进行视频解码的过程中生成的重建图像;或者
所述失真图像为对重建图像采用其他预设滤波方法进行滤波后得到的,所述重建图像为对所述当前熵解码数据进行视频解码的过程中生成的。
28.如权利要求25所述的装置,其特征在于,得到的所述去失真图像颜色分量,用于对所述视频比特流中的后续熵解码数据进行视频解码;和/或
用于生成所述原始帧图像对应的解码后图像,作为待播放帧图像。
29.如权利要求25所述的装置,其特征在于,所述边信息分量至少表示如下失真特征之一:
表示所述失真图像相对所述原始帧图像的失真程度;
表示所述失真图像相对所述原始帧图像的失真位置;
表示所述失真图像相对所述原始帧图像的失真类型。
30.如权利要求25所述的装置,其特征在于,所述第二生成模块,具体用于从所述当前熵解码数据中,获得所述失真图像每个像素点的失真程度值;基于所述失真图像各像素点的位置,使用获取的各像素点的失真程度值,生成所述失真图像对应的边信息分量,其中,所述边信息分量包括的每个分量值与所述失真图像上相同位置的像素点相对应。
31.如权利要求30所述的装置,其特征在于,所述第二生成模块,具体用于从所述当前熵解码数据中,获取所述当前熵解码数据对应的原始帧图像的每个编码区域的量化参数,将所述失真图像每个像素点所在编码区域的量化参数,确定为所述失真图像每个像素点的失真程度值。
32.如权利要求30所述的装置,其特征在于,所述第二生成模块,具体用于基于所述失真图像各像素点的位置,将获取的每个像素点的失真程度值,确定为所述失真图像对应的边信息分量中该像素点相同位置的分量值;或者
基于所述失真图像的像素值范围,对获取的所述各像素点的失真程度值进行标准化处理,得到处理后失真程度值,所述处理后失真程度值的取值范围与所述像素值范围相同;基于所述失真图像各像素点的位置,将每个像素点的处理后失真程度值,确定为所述失真图像对应的边信息分量中该像素点相同位置的分量值。
33.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求17-24任一所述的方法。
34.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求17-24任一所述的方法。

说明书全文

一种视频编码方法、解码方法、装置及电子设备

技术领域

[0001] 本发明涉及视频编解码技术领域以及图像处理技术领域,特别是涉及一种视频编码方法,以及一种视频解码方法,及相关装置和电子设备。

背景技术

[0002] 在视频编码系统中,原始视频数据被进行多种处理,如:预测、变换、量化、重建、滤波等,在这种处理过程中,已处理的视频数据相对原始视频数据可能已经发生像素偏移,导致视觉障碍或假象;此外,在大多数视频编码系统采用的基于的混合编码框架下,由于相邻的编码块采用不同的编码参数(如不同的变换量化过程、不同的预测方式、不同参考图像等),各块引入的误差大小及其分布特性相互独立,相邻块边界会产生不连续性,产生块效应。这些失真不但影响重建图像的主客观质量,若重建图像作为后续编码像素的参考图像,还会影响后续编码像素的预测准确性,影响最终视频比特流的大小。
[0003] 因此,视频编解码系统中,往往会在重建模块之后加入去失真滤波模块,如图1所示。
[0004] 然而,传统的去失真滤波器通常是人为地去归纳失真图像的特征,人为地设计滤波器结构,以实验和经验为基础配置滤波器系数,例如视频编码标准 H.264标准、H.265标准中采用的去块滤波器(DF,Deblocking Filter)等;也有一类去失真滤波器,它们基于局部图像区域的一些统计信息,自适应地配置滤波器结构、滤波器系数等,如H.265标准里使用的样点自适应补偿技术(SAO, Sample Adaptive Offset)、视频编解码里使用的自适应环路滤波技术(ALF, Adaptive loop Filter)等,这类自适应滤波器复杂度较高,且编码端需要将依赖于局部统计信息的滤波器相关参数写入码流中以保证编解码端的一致性,这无疑增加了编码比特数。
[0005] 近年来,深度学习理论迅速发展,与传统依赖先验知识的特征提取算法不同,深度神经网络可在训练数据驱动下自适应地构建特征描述,具有更高的灵活性和普适性。
[0006] 深度学习在许多高层次的计算机视觉问题上已经取得很大的成功,如图像分类、目标检测和目标分割等。2015年业界已经提出了基于卷积神经网络的端到端的图像超分辨率重建算法(SRCNN,Super Resolution Convolutional Neural Network),该网络相对于当时超分辨率重建领域的最领先技术展现了明显的优势,深度学习开始在低层次计算机视觉问题上显示出巨大的潜;又如,受卷积神经网络在超分辨率恢复中的应用启发,业界内提出使用训练得到的多层卷积神经网络ARCNN(Artifacts Reduction Convolutional Neural Network)对JPEG 编码后图像进行后处理滤波以去除图像失真,相对传统的滤波方法获得了明显的主、客观质量提升。
[0007] 目前,业界内还提出使用训练得到的卷积神经网络VRCNN (Variable-Filter-size Residue-learning Convolutional Neural Network)替代传统的去块滤波技术和自适应样点补偿技术,对内编码后的图像进行后处理滤波,实验结果表明相对于上述传统的环内滤波方法,卷积神经网络使得重建图像主、客观质量获得了大幅提升。
[0008] 基于卷积神经网络的端到端的图像去失真算法,避免了图像预处理、人工设计滤波器系数等过程,通过数据驱动自动学习图像失真特征及补偿方法,使用更简便、泛化性更佳、性能提升更明显,特别适用于糅合了多种失真的图像 /视频压缩领域。
[0009] 在视频编解码中,基于卷积神经网络的环路/后处理滤波方法,在编解码性能上相对于其他的环路/后处理滤波方法有明显的提升,但是由于增加了算法复杂度,导致了计算量的增加。

发明内容

[0010] 本发明实施例的目的在于提供一种视频编码方法、解码方法、装置及电子设备,以实现在视频编解码过程中,使用一种不同于现有技术的卷积神经网络模型对失真图像进行去失真处理,并且,实现编码性能和算法复杂度之间的折中。具体技术方案如下:
[0011] 本发明实施例提供一种视频编码方法,包括:
[0012] 按照预设决策策略,确定是否开启预设去失真滤波功能;
[0013] 当确定开启时,获得失真图像,所述失真图像为对待编码视频中的当前原始帧图像进行视频编码的过程中生成的;
[0014] 生成所述失真图像对应的边信息分量,所述边信息分量表示所述失真图像相对所述当前原始帧图像的失真特征;
[0015] 将所述失真图像的失真图像颜色分量以及所述边信息分量,输入预先建立的卷积神经网络模型进行卷积滤波处理,得到去失真图像颜色分量;其中,所述卷积神经网络模型为基于预设训练集进行训练得到的,所述预设训练集包括原始样本图像,以及原始样本图像对应的多个失真图像的失真图像颜色分量,以及每个失真图像对应的边信息分量;
[0016] 对待熵编码数据进行熵编码,得到编码后的视频比特流,所述待熵编码数据为对所述当前原始帧图像进行视频编码生成的,且包括表示是否开启预设去失真滤波功能的决策信息,以及用于生成所述边信息分量的边信息。
[0017] 进一步的,按照预设决策策略,确定是否开启预设去失真滤波功能,包括:
[0018] 当待编码视频中的当前原始帧图像为I帧图像时,确定开启预设去失真滤波功能,当待编码视频中的当前原始帧图像为P帧图像或者B帧图像时,确定关闭预设去失真滤波功能;或者
[0019] 对重建图像进行纹理分析,当分析结果表示纹理平坦,确定开启预设去失真滤波功能,当分析结果表示纹理复杂,确定关闭预设去失真滤波功能,其中,所述重建图像为对待编码视频中的当前原始帧图像进行视频编码的过程中生成的;或者
[0020] 当可用计算资源充足时,确定开启预设去失真滤波功能,当可用计算资源不足时,确定关闭预设去失真滤波功能。
[0021] 进一步的,所述失真图像为对待编码视频中的当前原始帧图像进行视频编码的过程中生成的重建图像;或者
[0022] 所述失真图像为对重建图像采用其他预设滤波方法进行滤波后得到的,所述重建图像为对待编码视频中的当前原始帧图像进行视频编码的过程中生成的。
[0023] 进一步的,所述边信息分量至少表示如下失真特征之一:
[0024] 表示所述失真图像相对所述当前原始帧图像的失真程度;
[0025] 表示所述失真图像相对所述当前原始帧图像的失真位置
[0026] 表示所述失真图像相对所述当前原始帧图像的失真类型。
[0027] 进一步的,生成所述失真图像对应的边信息分量,包括:
[0028] 确定所述失真图像每个像素点的失真程度值;
[0029] 基于所述失真图像各像素点的位置,使用获取的各像素点的失真程度值,生成所述失真图像对应的边信息分量,其中,所述边信息分量包括的每个分量值与所述失真图像上相同位置的像素点相对应。
[0030] 进一步的,确定所述失真图像每个像素点的失真程度值,包括:
[0031] 获取所述当前原始帧图像的每个编码区域的量化参数,将所述失真图像每个像素点所在编码区域的量化参数,确定为所述失真图像每个像素点的失真程度值。
[0032] 进一步的,基于所述失真图像各像素点的位置,使用获取的所述各像素点的失真程度值,生成所述失真图像对应的边信息分量,包括:
[0033] 基于所述失真图像各像素点的位置,将获取的每个像素点的失真程度值,确定为所述失真图像对应的边信息分量中该像素点相同位置的分量值;或者
[0034] 基于所述失真图像的像素值范围,对获取的所述各像素点的失真程度值进行标准化处理,得到处理后失真程度值,所述处理后失真程度值的取值范围与所述像素值范围相同;基于所述失真图像各像素点的位置,将每个像素点的处理后失真程度值,确定为所述失真图像对应的边信息分量中该像素点相同位置的分量值。
[0035] 本发明实施例还提供一种视频编码装置,包括:
[0036] 第一开启确定模块,用于按照预设决策策略,确定是否开启预设去失真滤波功能;
[0037] 第一图像获得模块,用于当确定开启时,获得失真图像,所述失真图像为对待编码视频中的当前原始帧图像进行视频编码的过程中生成的;
[0038] 第一生成模块,用于生成所述失真图像对应的边信息分量,所述边信息分量表示所述失真图像相对所述当前原始帧图像的失真特征;
[0039] 第一滤波处理模块,用于将所述失真图像的失真图像颜色分量以及所述边信息分量,输入预先建立的卷积神经网络模型进行卷积滤波处理,得到去失真图像颜色分量;其中,所述卷积神经网络模型为基于预设训练集进行训练得到的,所述预设训练集包括原始样本图像,以及原始样本图像对应的多个失真图像的失真图像颜色分量,以及每个失真图像对应的边信息分量;
[0040] 熵编码模块,用于对待熵编码数据进行熵编码,得到编码后的视频比特流,所述待熵编码数据为对所述当前原始帧图像进行视频编码生成的,且包括表示是否开启预设去失真滤波功能的决策信息,以及用于生成所述边信息分量的边信息。
[0041] 本发明实施例还提供一种电子设备,包括处理器、通信接口存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
[0042] 存储器,用于存放计算机程序
[0043] 处理器,用于执行存储器上所存放的程序时,实现上述任一视频编码方法步骤。
[0044] 本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一视频编码方法步骤。
[0045] 本发明实施例提供的视频编码方法中,所使用的卷积神经网络模型为基于预设训练集进行训练得到的,预设训练集包括原始样本图像,以及原始样本图像对应的多个失真图像的失真图像颜色分量,以及每个失真图像对应的边信息分量,边信息分量能够表示失真图像相对原始样本图像的失真特征;在进行视频编码的过程中,针对当前原始帧图像进行视频编码的过程中生成的失真图像,首先生成失真图像对应的边信息分量,然后将失真图像的失真图像颜色分量以及边信息分量,输入预先建立的卷积神经网络模型进行卷积滤波处理,得到去失真图像颜色分量。从而实现了在视频编码过程中,使用一种不同于现有技术的卷积神经网络模型对失真图像进行去失真处理。并且,本方案中,是在确定开启预设去失真滤波功能之后,才使用预先建立的卷积神经网络模型进行去失真滤波,从而实现了在编码性能和算法复杂度之间的折中。
[0046] 本发明实施例提供一种视频解码方法,包括:
[0047] 对接收的视频比特流进行熵解码,得到当前熵解码数据;
[0048] 根据所述当前熵解码数据中表示是否开启预设去失真滤波功能的决策信息,确定是否开启预设去失真滤波功能;
[0049] 当确定开启时,获得失真图像,所述失真图像为对所述当前熵解码数据进行视频解码的过程中生成的;
[0050] 基于所述当前熵解码数据中包括的边信息,生成所述失真图像对应的边信息分量,所述边信息分量表示所述失真图像相对所述当前熵解码数据对应的原始帧图像的失真特征;
[0051] 将所述失真图像的失真图像颜色分量以及所述边信息分量,输入预先建立的卷积神经网络模型进行卷积滤波处理,得到去失真图像颜色分量;
[0052] 其中,所述卷积神经网络模型为基于预设训练集进行训练得到的,所述预设训练集包括原始样本图像,以及原始样本图像对应的多个失真图像的失真图像颜色分量,以及每个失真图像对应的边信息分量。
[0053] 进一步的,根据所述当前熵解码数据中表示是否开启预设去失真滤波功能的决策信息,确定是否开启预设去失真滤波功能,包括:
[0054] 从所述当前熵解码数据中获得表示所述当前熵解码数据中对应的当前原始帧图像帧类型的类型信息,当所述类型信息表示所述当前原始帧图像为I帧图像时,确定开启预设去失真滤波功能,当所述类型信息表示所述当前原始帧图像为P帧图像或者B帧图像时,确定关闭预设去失真滤波功能;或者
[0055] 对所述当前熵解码数据进行视频解码,得到重建图像,对所述重建图像进行纹理分析,当分析结果表示纹理平坦,确定开启预设去失真滤波功能,当分析结果表示纹理复杂,确定关闭预设去失真滤波功能;或者
[0056] 从所述当前熵解码数据中获得表示编码端的可用计算资源的资源信息,当所述资源信息表示可用计算资源充足时,确定开启预设去失真滤波功能,当所述资源信息表示可用计算资源不足时,确定关闭预设去失真滤波功能;
[0057] 从所述当前熵解码数据中获得直接表示是否开启预设去失真滤波功能的决策信息,并基于获得的所述决策信息,确定是否开启预设去失真滤波功能。
[0058] 进一步的,所述失真图像为对所述当前熵解码数据进行视频解码的过程中生成的重建图像;或者
[0059] 所述失真图像为对重建图像采用其他预设滤波方法进行滤波后得到的,所述重建图像为对所述当前熵解码数据进行视频解码的过程中生成的。
[0060] 进一步的,得到的所述去失真图像颜色分量,用于对所述视频比特流中的后续熵解码数据进行视频解码;和/或
[0061] 用于生成所述原始帧图像对应的解码后图像,作为待播放帧图像。
[0062] 进一步的,所述边信息分量至少表示如下失真特征之一:
[0063] 表示所述失真图像相对所述原始帧图像的失真程度;
[0064] 表示所述失真图像相对所述原始帧图像的失真位置;
[0065] 表示所述失真图像相对所述原始帧图像的失真类型。
[0066] 进一步的,基于所述当前熵解码数据中包括的边信息,生成所述失真图像对应的边信息分量,包括:
[0067] 从所述当前熵解码数据中,获得所述失真图像每个像素点的失真程度值;
[0068] 基于所述失真图像各像素点的位置,使用获取的各像素点的失真程度值,生成所述失真图像对应的边信息分量,其中,所述边信息分量包括的每个分量值与所述失真图像上相同位置的像素点相对应。
[0069] 进一步的,从所述当前熵解码数据中,获得所述失真图像每个像素点的失真程度值,包括:
[0070] 从所述当前熵解码数据中,获取所述当前熵解码数据对应的原始帧图像的每个编码区域的量化参数,将所述失真图像每个像素点所在编码区域的量化参数,确定为所述失真图像每个像素点的失真程度值。
[0071] 进一步的,基于所述失真图像各像素点的位置,使用获取的所述各像素点的失真程度值,生成所述失真图像对应的边信息分量,包括:
[0072] 基于所述失真图像各像素点的位置,将获取的每个像素点的失真程度值,确定为所述失真图像对应的边信息分量中该像素点相同位置的分量值;或者
[0073] 基于所述失真图像的像素值范围,对获取的所述各像素点的失真程度值进行标准化处理,得到处理后失真程度值,所述处理后失真程度值的取值范围与所述像素值范围相同;基于所述失真图像各像素点的位置,将每个像素点的处理后失真程度值,确定为所述失真图像对应的边信息分量中该像素点相同位置的分量值。
[0074] 本发明实施例还提供一种视频解码装置,包括:
[0075] 熵解码模块,用于对接收的视频比特流进行熵解码,得到当前熵解码数据;
[0076] 第二开启确定模块,用于根据所述当前熵解码数据中表示是否开启预设去失真滤波功能的决策信息,确定是否开启预设去失真滤波功能;
[0077] 第二图像获得模块,用于当确定开启时,获得失真图像,所述失真图像为对所述当前熵解码数据进行视频解码的过程中生成的;
[0078] 第二生成模块,用于基于所述当前熵解码数据中包括的边信息,生成所述失真图像对应的边信息分量,所述边信息分量表示所述失真图像相对所述当前熵解码数据对应的原始帧图像的失真特征;
[0079] 第二滤波处理模块,用于将所述失真图像的失真图像颜色分量以及所述边信息分量,输入预先建立的卷积神经网络模型进行卷积滤波处理,得到去失真图像颜色分量;
[0080] 其中,所述卷积神经网络模型为基于预设训练集进行训练得到的,所述预设训练集包括原始样本图像,以及原始样本图像对应的多个失真图像的失真图像颜色分量,以及每个失真图像对应的边信息分量。
[0081] 本发明实施例还提供一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
[0082] 存储器,用于存放计算机程序;
[0083] 处理器,用于执行存储器上所存放的程序时,实现上述任一视频解码方法步骤。
[0084] 本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一视频解码方法步骤。
[0085] 本发明实施例提供的视频解码方法中,所使用的卷积神经网络模型为基于预设训练集进行训练得到的,预设训练集包括原始样本图像,以及原始样本图像对应的多个失真图像的失真图像颜色分量,以及每个失真图像对应的边信息分量,边信息分量能够表示失真图像相对原始样本图像的失真特征;在进行视频解码的过程中,从接收的视频比特流中得到当前熵解码数据,并针对当前熵解码数据进行视频解码的过程中生成的失真图像,首先生成失真图像对应的边信息分量,然后将失真图像的失真图像颜色分量以及边信息分量,输入预先建立的卷积神经网络模型进行卷积滤波处理,得到去失真图像颜色分量。从而实现了在视频解码过程中,使用一种不同于现有技术的卷积神经网络模型对失真图像进行去失真处理。并且,本方案中,是在根据决策信息确定开启预设去失真滤波功能之后,才使用预先建立的卷积神经网络模型进行去失真滤波,从而实现了在解码性能和算法复杂度之间的折中。
[0086] 当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。附图说明
[0087] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0088] 图1为现有视频编码标准中视频编码系统的结构示意图;
[0089] 图2为本发明实施例提供的卷积神经网络模型的结构示意图;
[0090] 图3为本发明实施例提供的去失真滤波处理流程的数据流示意图;
[0091] 图4为本发明实施例中获得失真图像的失真图像颜色分量的示意图;
[0092] 图5A为本发明实施例中边信息分量的示意图之一;
[0093] 图5B为本发明实施例中边信息分量的示意图之二;
[0094] 图6为本发明实施例提供的视频编码方法的流程图
[0095] 图7为本发明实施例提供的视频编码方法的流程图;
[0096] 图8为本发明实施例中视频编码系统的结构示意图;
[0097] 图9为本发明实施例提供的视频解码方法的流程图;
[0098] 图10为本发明实施例提供的视频解码方法的流程图;
[0099] 图11为本发明实施例中视频解码系统的结构示意图;
[0100] 图12为本发明实施例提供的卷积神经网络模型训练方法的流程图;
[0101] 图13为本发明实施例提供的视频编码装置的结构示意图;
[0102] 图14为本发明实施例提供的电子设备的结构示意图;
[0103] 图15为本发明实施例提供的视频解码装置的结构示意图;
[0104] 图16为本发明实施例提供的电子设备的结构示意图。

具体实施方式

[0105] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0106] 针对在视频编码过程中,如何使用卷积神经网络对失真图像进行去失真处理的问题,本发明实施例提供一种视频编码解决方案,该方案中,首先按照预设决策策略,确定是否开启预设去失真滤波功能,当确定开启时,针对在对待编码视频中的当前原始帧图像进行视频编码的过程中生成的失真图像,生成对应的能够表示该失真图像相对当前原始帧图像的失真特征的边信息分量,并将生成的边信息分量与该失真图像的失真图像颜色分量,共同作为预先建立的卷积神经网络模型的输入,在经过该卷积神经网络模型进行卷积滤波处理之后,输出去失真图像颜色分量,用于生成去失真图像,该去失真图像可以作为参考图像,用于对该当前原始帧图像的后续帧图像进行视频编码,以及对待熵编码数据进行熵编码,得到编码后的视频比特流,待熵编码数据为对当前原始帧图像进行视频编码生成的,且包括表示是否开启预设去失真滤波功能的决策信息,以及用于生成边信息分量的边信息。
[0107] 相应的,在视频解码过程中,本发明实施例还提供了一种视频解码解决方案,该方案中,在对接收的视频比特流进行熵解码,得到当前熵解码数据之后,根据当前熵解码数据中表示是否开启预设去失真滤波功能的决策信息,确定是否开启预设去失真滤波功能,当确定开启时,针对在对当前熵解码数据进行视频解码的过程中生成的失真图像,基于当前熵解码数据中包括的边信息,生成对应的表示该失真图像相对当前熵解码数据对应的原始帧图像的失真特征的边信息分量,并将生成的边信息分量与该失真图像的失真图像颜色分量,共同作为预先建立的卷积神经网络模型的输入,在经过该卷积神经网络模型进行卷积滤波处理之后,输出去失真图像颜色分量,用于生成去失真图像,该去失真图像可以作为参考图像,用于对该当前熵解码数据的后续熵解码数据进行视频解码,也可以作为当前熵解码数据对应的原始帧图像对应的待播放帧图像,用于视频播放。
[0108] 并且,在上述视频编码解决方案以及视频解码解决方案中,卷积神经网络模型为基于预设训练集进行训练得到的,且该预设训练集包括原始样本图像,以及原始样本图像对应的多个失真图像的失真图像颜色分量,以及每个失真图像对应的边信息分量,基于初始化的网络参数,按照预设网络结构进行多次迭代训练获得。
[0109] 进一步的,训练集可以包括一个原始样本图像,针对该原始样本图像进行上述视频编解码中的图像处理,得到失真特征不同的多个失真图像,进而得到多个失真图像的失真图像颜色分量,以及每个失真图像对应的边信息分量;
[0110] 训练集也可以包括多个原始样本图像,分别针对每个原始样本图像进行上述视频编解码中的图像处理,得到失真特征不同的多个失真图像,进而得到多个失真图像的失真图像颜色分量,以及每个失真图像对应的边信息分量。
[0111] 在进行卷积神经网络模型的训练,以及使用训练的卷积神经网络模型对失真图像进行去失真滤波时,均将表示失真图像相对原始图像的失真特征的边信息分量作为模型的输入,即引入了能够表示失真图像的失真特征的信息,并通过针对各种边信息分量进行模型训练以及实际应用的试验,确定出在使用一些特定的边信息分量时,能够训练出具备更强泛化能力的卷积神经网络模型,即在平均意义上,对大量的具有差异性的失真图像的去失真能力会更强,进而能够对失真图像进行更好的去失真处理,得到更接近原始图像颜色分量的去失真图像颜色分量。
[0112] 并且,本发明实施例提供的方案中,是在确定开启预设去失真滤波功能之后,才使用预先建立的卷积神经网络模型进行去失真滤波,从而实现了在编解码性能和算法复杂度之间的折中。
[0113] 虽然目前已经存在多种基于卷积神经网络模型进行图像去失真处理的方法,但当前公开的大多数基于卷积神经网络的图像去失真滤波技术中,若使用单一预训练网络对不同失真程度的图像进行后处理滤波,在某些失真程度的图像上会存在质量提升有限或质量损失的问题,说明网络的泛化能力存在一定问题。
[0114] 为了解决该问题,现有技术提出对不同失真程度的图像分别训练一套网络参数,在实际使用时根据当前应用中图像的失真程度加载相应的一套网络参数。然而,大量的参数浪费了存储空间,应用中参数的频繁加载更是一种不必要的计算资源浪费。
[0115] 因此,在一种确定的视频编解码过程下,发明一种单一的,能适应不同失真程度图像的后处理滤波的卷积神经网络,具有重要的价值。
[0116] 针对现有技术中仅采用一套网络参数的卷积神经网络,无法应对不同失真程度的失真图像的去失真滤波问题,进一步的,本发明实施例提出的上述解决方案中,可以生成表示失真图像相对原始图像的失真程度的边信息分量,预设训练集中可以包括多个不同失真程度的失真图像,则在进行卷积神经网络模型的训练,以及使用训练的卷积神经网络模型对失真图像进行去失真滤波时,即引入了能够准确表示失真图像的失真程度的信息,从而能够训练出适应于各种不同失真程度的失真图像的卷积神经网络模型,进而能够针对不同失真程度的失真图像,仅使用一套网络参数即可以获得较佳的去失真效果。
[0117] 图2为实现上述解决方案的卷积神经网络模型的结构示意图,包括:边信息分量生成模块21,卷积神经网络22,网络训练模块23;
[0118] 其中,卷积神经网络22可以包括如下三层结构:
[0119] 输入层处理单元221,用于接收卷积神经网络的输入,本方案中包括失真图像的失真图像颜色分量,以及失真图像的边信息分量;并对输入的数据进行第一层的卷积滤波处理;
[0120] 隐含层处理单元222,对输入层处理单元221的输出数据,进行至少一层的卷积滤波处理;
[0121] 输出层处理单元223,对隐含层处理单元222的输出数据,进行最后一层的卷积滤波处理,输出结果作为去失真图像颜色分量,用于生成去失真图像。
[0122] 图3为实现上述解决方案中的去失真滤波处理流程的数据流的示意图,其中,失真图像的失真图像颜色分量,以及失真图像的边信息分量作为输入数据,输入到预先训练的卷积神经网络模型中,卷积神经网络模型可以由预设结构的卷积神经网络和配置的网络参数集进行表示,输入数据经过输入层、隐含层和输出的卷积滤波处理之后,得到去失真图像数据。
[0123] 本发明实施例提供的上述解决方案中,作为卷积神经网络模型的输入数据,根据实际需要,可以包括一种或多种边信息分量,也可以包括一种或多种失真图像颜色分量,例如,至少包括R颜色分量、G颜色分量和B颜色分量之一,相应的,包括一种或多种去失真图像颜色分量。
[0124] 例如,在进行视频编解码的过程中,可能仅针对全部颜色分量中的一种颜色分量存在失真情况,则可以在去失真处理时,仅将失真图像的该颜色分量作为输入数据,如两种颜色分量存在失真情况,则将失真图像的该两种颜色分量均作为输入数据,相应的,均输出对应的去失真图像颜色分量。
[0125] 一个图像的每个像素点的存储数据,包括该像素点的所有颜色分量的值,本发明实施例中,在获得失真图像的失真图像颜色分量时,可以根据需要,从每个像素点的存储数据中,提取出需要的一种或多种颜色分量的值,从而得到失真图像的失真图像颜色分量。
[0126] 如图4所示,以RGB颜色空间为例,从中提取出每个像素点的R颜色分量的值,从而得到失真图像的R颜色分量。
[0127] 对于边信息分量,其表示失真图像相对原始图像的失真特征,是一种由图像处理过程确定的失真特征的表达。
[0128] 在实际应用中,上述失真特征可以至少包括如下失真特征之一:
[0129] 失真程度、失真位置,失真类型:
[0130] 首先,边信息分量可以表示失真图像相对原始图像的失真程度。
[0131] 其次,边信息分量也可以表示失真图像相对原始图像的失真位置,例如在主流的视频编解码应用中,图像通常被划分为多个不重叠且不固定大小的编码单元,编码单元分别进行预测编码及不同程度的量化处理,编码单元之间的失真通常不具有一致性,在编码单元的边界处通常会产生像素突变,因此,编码单元的边界坐标可以作为一种先验的表征失真位置的边信息。
[0132] 再次,边信息分量也可以表示失真图像相对原始图像的失真类型,例如在视频编解码应用中,图像中不同编码单元可能采用不同预测模式,不同预测模式会影响残差数据的分布,从而影响失真图像的特征,因此,编码单元的预测模式可以作为一种表征失真类型的边信息。
[0133] 本发明实施例提供的上述解决方案中,边信息分量可以为上述一种或多种的组合,也可以为上述一种的多个边信息分量,例如,在视频编解码过程中,经过图像处理后,可能通过一种物理含义的参量表示失真图像的失真程度,也可能通过不同物理含义的两种参量表示失真图像的失真程度,相应的,即可以根据实际需要,将一种或多种均表示失真程度的边信息分量作为输入数据。
[0134] 如图5A所示,边信息分量的矩阵结构与失真图像颜色分量的矩阵结构相同,其中,坐标[0,0]、[0,1]表示失真位置,矩阵的元素值1表示失真程度,即边信息分量同时能表示失真程度与失真位置。
[0135] 又如图5B所示,坐标[0,0]、[0,1]、[2,0]、[2,4]表示失真位置,矩阵的元素值1、2表示失真类型,即边信息分量同时能表示失真类型与失真位置。
[0136] 并且,本发明实施例提供的上述解决方案中,可以同时包括图5A和图5B 分别所示意的两个边信息分量。
[0137] 进一步的,根据方案的实际应用情况和需要,当失真图像颜色分量包括多种时,边信息分量可以包括分别与每种失真图像颜色分量对应的边信息分量。
[0138] 在本发明实施例提供的上述解决方案中,提出了一种视频编码方法,如图 6所示,具体包括如下处理步骤:
[0139] 步骤61、按照预设决策策略,确定是否开启预设去失真滤波功能。
[0140] 步骤62、当确定开启时,获得失真图像,失真图像为对待编码视频中的当前原始帧图像进行视频编码的过程中生成的。
[0141] 步骤63、生成失真图像对应的边信息分量,其中,边信息分量表示失真图像相对当前原始帧图像的失真特征。
[0142] 边信息分量,表示失真图像相对当前原始帧图像的失真特征,是一种由图像处理过程确定的失真特征的表达。
[0143] 步骤64、将失真图像的失真图像颜色分量以及生成的边信息分量,输入预先建立的卷积神经网络模型进行卷积滤波处理,得到去失真图像颜色分量;
[0144] 其中,卷积神经网络模型为基于预设训练集进行训练得到的,预设训练集包括原始样本图像,以及原始样本图像对应的多个失真图像的失真图像颜色分量,以及每个失真图像对应的边信息分量;
[0145] 步骤65、对待熵编码数据进行熵编码,得到编码后的视频比特流,待熵编码数据为对当前原始帧图像进行视频编码生成的,且包括表示是否开启预设去失真滤波功能的决策信息,以及用于生成边信息分量的边信息。
[0146] 下面结合附图,以边信息分量表示失真图像相对原始图像的失真程度为例,对上述视频编码方法进行详细描述。
[0147] 图7所示为本发明实施例提供的一种视频编码方法的流程图,具体包括如下处理步骤:
[0148] 步骤71、按照预设决策策略,确定是否开启预设去失真滤波功能。
[0149] 本步骤中,具体可以采用如下决策策略确定是否开启预设去失真滤波功能:
[0150] 第一种决策策略:当待编码视频中的当前原始帧图像为I帧图像时,确定开启预设去失真滤波功能,当待编码视频中的当前原始帧图像为P帧图像或者B 帧图像时,确定关闭预设去失真滤波功能。
[0151] 第二种决策策略:对重建图像进行纹理分析,当分析结果表示纹理平坦,确定开启预设去失真滤波功能,当分析结果表示纹理复杂,确定关闭预设去失真滤波功能,其中,重建图像为对待编码视频中的当前原始帧图像进行视频编码的过程中生成的。
[0152] 具体的,可以对重建图像进行纹理分析,得到表示图像纹理特征的特征参数,并将该特征参数与预设参数阈值进行比较,大于预设参数阈值,表示纹理平坦,不大于预设参数阈值,表示纹理复杂。
[0153] 例如,首先确定出重建图像的灰度共生矩阵,并从该灰度共生矩阵中提取出特征参数能量,该灰度共生矩阵的能量能够描述重建图像的灰度空间均匀性的分布情况和重建图像整体的复杂程度。当灰度共生矩阵中元素分布较集中于主对线附近时,能量值相应较大,说明图像的灰度分布比较均匀,从图像整体看,纹理复杂;反之,纹理平坦。
[0154] 具体的,一个图像的灰度共生矩阵,以及灰度共生矩阵的能量的确定方法,可以采用各种方法,在此不再举例进行详细描述。
[0155] 第三种决策策略:当可用计算资源充足时,确定开启预设去失真滤波功能,当可用计算资源不足时,确定关闭预设去失真滤波功能,其中,可用计算资源可以为执行本视频编码方法的编码设备的可用计算资源。
[0156] 例如,当可用计算资源的资源数量未达到预设资源阈值时,表示可用计算资源充足,当该资源数量达到预设资源阈值时,表示可用计算资源不足。
[0157] 基于实际应用的需要,以及编解码技术的改变,也可以采用其他决策策略确定是否开启预设去失真滤波功能,在此不再进行详细描述。
[0158] 本步骤中,在确定是否开启预设去失真滤波功能之后,可以生成表示开启或关闭的开关信令,例如,确定开启预设去失真滤波功能,则将开关信令设置为第一取值,确定关闭预设去失真滤波功能,则将开关信令设置为第二取值,进一步的,可以如图8所示,将该开关信令输入重建模块与CNN模块之间的开关模块,以便相应的控制去失真滤波功能的开启和关闭。
[0159] 步骤72、当确定开启时,获得失真图像,该失真图像为对待编码视频中的当前原始帧图像进行视频编码的过程中生成的。
[0160] 如图8所示,在基于视频编码系统,对待编码视频进行视频编码的过程中,针对当前原始帧图像进行视频编码时,将对其进行预测、变换、量化等处理,并且,为了得到用于对后续帧图像进行视频编码的参考图像,还可以进行反量化、反变换、重建和去失真滤波的处理。
[0161] 本步骤中的失真图像,可以是该过程中经过重建处理后生成的重建图像;也可以是对重建图像采用其他预设滤波方法进行滤波后得到的,例如,其他预设滤波方法可以是DF滤波方法。
[0162] 步骤73、针对待处理的失真图像,确定失真图像每个像素点的失真程度值。
[0163] 在实际应用中,对当前原始帧图像进行不同方式的视频编码之后,表示失真程度的物理参量也可能不同,本步骤中,可以采用如下方式确定出对应的能够准确表示像素点失真程度的失真程度值:
[0164] 针对通过视频编码得到的上述失真图像,每个编码区域的量化参数都是已知的,即可以获取每个编码区域的量化参数,将失真图像每个像素点所在编码区域的量化参数,确定为失真图像每个像素点的失真程度值。
[0165] 步骤74、基于失真图像各像素点的位置,使用获取的各像素点的失真程度值,生成失真图像对应的边信息分量,其中,边信息分量包括的每个分量值与失真图像上相同位置的像素点相对应。
[0166] 由于边信息分量包括的每个分量值与失真图像上相同位置的像素点相对应,则边信息分量与失真图像的失真图像颜色分量的结构相同,即表示边信息分量的矩阵与表示失真图像颜色分量的矩阵是同型的。
[0167] 本步骤中,可以基于失真图像各像素点的位置,将获取的每个像素点的失真程度值,确定为失真图像对应的边信息分量中该像素点相同位置的分量值,即直接将每个像素点的失真程度值,确定为该像素点对应的分量值。
[0168] 当失真图像的像素值范围与像素点的失真程度值的取值范围不同时,也可以基于失真图像的像素值范围,对获取的各像素点的失真程度值进行标准化处理,得到处理后失真程度值,处理后失真程度值的取值范围与像素值范围相同;
[0169] 然后基于失真图像各像素点的位置,将每个像素点的处理后失真程度值,确定为失真图像对应的边信息分量中该像素点相同位置的分量值。
[0170] 本步骤中,可以采用如下公式对像素点的失真程度值进行标准化处理:
[0171]
[0172] 其中,norm(x)为标准化处理后得到的处理后失真程度值,x为像素点的失真程度值,失真图像的像素值范围为[PIEXLMIN,PIXELMAX],像素点的失真程度值的取值范围为[QPMIN,QPMAX]。
[0173] 通过上述步骤72和步骤73,即生成了失真图像的边信息分量,生成边信息分量的过程,也可以理解为生成了失真图像对应的边信息引导图,该边信息引导图通过其边信息分量表示失真图像的失真程度,且该边信息引导图与失真图像是等高等宽的。
[0174] 本发明实施例中,以卷积神经网络模型包括输入层、隐含层和输出层的结构为例,对方案进行描述。
[0175] 步骤75、将失真图像的失真图像颜色分量以及生成的边信息分量,作为预先建立的卷积神经网络模型的输入数据,由输入层进行第一层的卷积滤波处理,具体可以如下:
[0176] 在卷积神经网络模型中,输入数据可以是通过各自的通道输入到网络中,本步骤中,可以将cy通道的失真图像颜色分量Y与cm通道的边信息分量M,在通道的维度上进行合并,共同组成cy+cm通道的输入数据I,并采用如下公式对输入数据I进行多维卷积滤波和非线性映射,产生n1个以稀疏形式表示的图像块:
[0177] F1(I)=g(W1*I+B1);
[0178] 其中,F1(I)为输入层的输出,I为输入层中卷积层的输入,*为卷积操作, W1为输入层的卷积层滤波器组的权重系数,B1为输入层的卷积层滤波器组的偏移系数,g()为非线性映射函数。
[0179] 其中,W1对应于n1个卷积滤波器,即有n1个卷积滤波器作用于输入层的卷积层的输入,输出n1个图像块;每个卷积滤波器的卷积核的大小为c1×f1×f1,其中c1为输入通道数,f1为每个卷积核在空间上的大小。
[0180] 在一个具体的实施例中,该输入层的参数可以为:c1=2,f1=5,n1=64,使用ReLU(Rectified linear unit)函数作为g(),它的函数表达式为:
[0181] g(x)=max(0,x);
[0182] 则该实施例中输入层卷积处理表达式为:
[0183] F1(I)=max(0,W1*I+B1);
[0184] 步骤76、隐含层对输入层输出的稀疏表示的图像块F1(I)进行进一步的高维映射。
[0185] 本发明实施例中,不对隐含层中包含的卷积层层数、卷积层连接方式、卷积层属性等作限定,可以采用目前已知的各种结构,但隐含层中包含至少1个卷积层。
[0186] 例如,隐含层包含N-1(N≥2)层卷积层,隐含层处理由下式表示:
[0187] Fi(I)=g(Wi*Fi-1(I)+Bi),i∈{2,3,…,N};
[0188] 其中,Fi(I)表示卷积神经网络中第i层卷积层的输出,*为卷积操作,Wi为第i层卷积层滤波器组的权重系数,Bi为卷积层滤波器组的偏移系数,g()为非线性映射函数。
[0189] 其中,Wi对应于ni个卷积滤波器,即有ni个卷积滤波器作用于第i层卷积层的输入,输出ni个图像块;每个卷积滤波器的卷积核的大小为ci×fi×fi,其中 ci为输入通道数,fi为每个卷积核在空间上的大小。
[0190] 在一个具体的实施例中,该隐含层可以包括1个卷积层,该卷积层的卷积滤波器参数为:c2=64,f2=1,n2=32,使用ReLU(Rectified linear unit) 函数作为g(),则该实施例中隐含层的卷积处理表达式为:
[0191] F2(I)=max(0,W2*F1(I)+B2);
[0192] 步骤77、输出层对隐含层输出的高维图像块FN(I)进行聚合,输出去失真图像颜色分量。
[0193] 本发明实施例中不对输出层的结构作限定,输出层可以是Residual Learning结构,也可以是Direct Learning结构,或者其他的结构。
[0194] 采用Residual Learning结构的处理如下:
[0195] 对隐含层的输出进行卷积操作获取补偿残差,再与输入的失真图像颜色分量相加,得到去失真图像颜色分量,即得到去失真图像。输出层处理可由下式表示:
[0196] F(I)=WN+1*FN(I)+BN+1+Y;
[0197] 其中,F(I)为输出层输出,FN(I)为隐含层的输出,*为卷积操作,WN+1为输出层的卷积层滤波器组的权重系数,BN+1为输出层的卷积层滤波器组的偏移系数,Y为未经过卷积滤波处理、欲进行去失真处理的失真图像颜色分量。
[0198] 其中,WN+1对应于nN+1个卷积滤波器,即有nN+1个卷积滤波器作用于第 N+1层卷积层的输入,输出nN+1个图像块,nN+1为输出的去失真图像颜色分量个数,一般与输入的失真图像颜色分量的个数相等,如果只输出一种去失真图像颜色分量,则nN+1一般取值为1;每个卷积滤波器的卷积核的大小为 cN+1×fN+1×fN+1,其中cN+1为输入通道数,fN+1为每个卷积核在空间上的大小。
[0199] 采用Direct Learning结构的处理如下:
[0200] 对隐含层的输出进行卷积操作后直接输出去失真图像颜色分量,即得到去失真图像。输出层处理可由下式表示:
[0201] F(I)=MN+1*FN(I)+BN+1;
[0202] 其中,F(I)为输出层输出,FN(I)为隐含层的输出,*为卷积操作,WN+1为输出层的卷积层滤波器组的权重系数,BN+1为输出层的卷积层滤波器组的偏移系数。
[0203] 其中,WN+1对应于nN+1个卷积滤波器,即有nN+1个卷积滤波器作用于第N+1层卷积层的输入,输出nN+1个图像块,nN+1为输出的去失真图像颜色分量个数,一般与输入的失真图像颜色分量的个数相等,如果只输出一种去失真图像颜色分量,则nN+1一般取值为1;每个卷积滤波器的卷积核的大小为 cN+1×fN+1×fN+1,其中cN+1为输入通道数,fN+1为每个卷积核在空间上的大小。
[0204] 在一个具体的实施例中,该输出层采用Residual Learning结构,输出层包括1个卷积层,该输出层的卷积滤波器参数为:c3=32,f3=3,n3=1,则该实施例中输出层的卷积处理表达式为:
[0205] F(I)=W3*F3(I)+B3+Y。
[0206] 本发明实施例中,在需要将视频编码后得到的数据传输至解码端时,还可以包括如下步骤78。
[0207] 步骤78、对待熵编码数据进行熵编码,得到编码后的视频比特流。
[0208] 其中,待熵编码数据为对当前原始帧图像进行视频编码生成的,且包括是否开启预设去失真滤波功能的决策信息,以及用于生成边信息分量的边信息。
[0209] 本步骤中,该决策信息可以是直接表示是否开启预设去失真滤波功能的信息,则该决策信息是显式的,即可以直接表示开关信令的取值,例如,类似上述开关信令的取值,当决策信息为第一取值时,表示开启,当决策信息为第二取值时,表示关闭。
[0210] 该决策信息也可以是间接表示是否开启预设去失真滤波功能的信息,则该决策信息是隐式的,即可以通过推到得出开关信令的取值,例如,针对上述第一种决策策略,决策信息可以是表示原始帧图像帧类型的类型信息,针对上述第三种决策策略,决策信息可以是表示可用计算资源的资源信息。
[0211] 如果该决策信息为现有视频编解码标准中,视频比特流中携带的信息,则相比现有视频编解码标准中生成的视频比特流,本发明实施例中,不会增加额外的比特数据。
[0212] 如果该决策信息在现有视频编解码标准中生成的视频比特流中不存在,则可以将该决策信息作为视频解码所需要的一种信息,添加进待熵编码数据,并对添加有该决策信息的待熵编码数据进行熵编码,得到编码后的视频比特流,从而使得解码端可以从该视频比特流中获取该决策信息,用于确定是否开启预设去失真滤波功能。
[0213] 本步骤中,如果用于生成边信息分量的边信息,为现有视频编解码标准中,视频比特流中携带的信息,则相比现有视频编解码标准中生成的视频比特流,本发明实施例中,不会增加额外的比特数据。
[0214] 例如,当使用失真图像每个像素点所在编码区域的量化参数作为边信息时,由于在现有视频编解码标准中生成的视频比特流即携带有该量化参数,所以,本步骤中,按照现有视频编解码标准生成视频比特流即可。
[0215] 如果用于生成边信息分量的边信息,在现有视频编解码标准中生成的视频比特流中不存在,则可以将该边信息作为视频解码所需要的一种信息,添加进待熵编码数据,并对添加有该边信息的待熵编码数据进行熵编码,得到编码后的视频比特流,从而使得解码端可以从该视频比特流中获取该边信息,用于解码端的视频解码处理。
[0216] 本发明实施例提供的上述视频编码方法中,当确定关闭预设去失真滤波功能时,可以如图8所示,重建模块直接与参考图像缓存器相连,即将重建图像作为参考图像,也可以重建模块与其他去失真滤波模块相连,采用其他滤波方法进行滤波,并将得到的图像作为参考图像。
[0217] 相应的,本发明实施例还提供了一种视频解码方法,如图9所示,可以包括如下步骤:
[0218] 步骤91、对接收的视频比特流进行熵解码,得到当前熵解码数据。
[0219] 步骤92、根据当前熵解码数据中表示是否开启预设去失真滤波功能的决策信息,确定是否开启预设去失真滤波功能。
[0220] 步骤93、当确定开启时,获得失真图像,该失真图像为对当前熵解码数据进行视频解码的过程中生成的。
[0221] 步骤94、基于当前熵解码数据中包括的边信息,生成失真图像对应的边信息分量,边信息分量表示失真图像相对当前熵解码数据对应的原始帧图像的失真特征。
[0222] 步骤95、将失真图像的失真图像颜色分量以及边信息分量,输入预先建立的卷积神经网络模型进行卷积滤波处理,得到去失真图像颜色分量;
[0223] 其中,卷积神经网络模型为基于预设训练集进行训练得到的,预设训练集包括原始样本图像,以及原始样本图像对应的多个失真图像的失真图像颜色分量,以及每个失真图像对应的边信息分量。
[0224] 下面结合附图,以边信息分量表示失真图像相对当前熵解码数据对应的原始帧图像的失真程度为例,对上述视频解码方法进行详细描述。
[0225] 图10所示为本发明实施例提供的一种视频解码方法的流程图,具体包括如下处理步骤:
[0226] 步骤101、解码端对接收的视频比特流进行熵解码,得到当前熵解码数据。
[0227] 本步骤中,得到的当前熵解码数据与原始视频中的一帧图像相对应,基于当前熵解码数据,进行进一步的解码处理,可以得到该帧图像对应的解码后图像,为便于技术方案的描述,将该帧图像称作当前熵解码数据对应的原始帧图像。
[0228] 步骤102、根据当前熵解码数据中表示是否开启预设去失真滤波功能的决策信息,确定是否开启预设去失真滤波功能。
[0229] 本步骤中,如果该决策信息直接表示是否开启预设去失真滤波功能的信息,则该决策信息是显式的,即可以直接将决策信息的取值,作为开关信令的取值,例如,当决策信息为第一取值时,表示开启,并设置开关信令的取值为第一取值,当决策信息为第二取值时,表示关闭,并设置开关信令的取值为第二取值。进一步的,可以如图11所示,将该开关信令输入重建模块与CNN模块之间的开关模块,以便相应的控制去失真滤波功能的开启和关闭。
[0230] 本步骤中,如果该决策信息间接表示是否开启预设去失真滤波功能的信息,则该决策信息是隐式的,即可以通过推到得出开关信令的取值,例如,可以采用如下三种方式:
[0231] 第一种方式:从当前熵解码数据中获得表示当前熵解码数据中对应的当前原始帧图像帧类型的类型信息,当类型信息表示当前原始帧图像为I帧图像时,确定开启预设去失真滤波功能,当类型信息表示当前原始帧图像为P帧图像或者B帧图像时,确定关闭预设去失真滤波功能。
[0232] 第二种方式:对当前熵解码数据进行视频解码,得到重建图像,对重建图像进行纹理分析,当分析结果表示纹理平坦,确定开启预设去失真滤波功能,当分析结果表示纹理复杂,确定关闭预设去失真滤波功能。
[0233] 具体的,可以对重建图像进行纹理分析,得到表示图像纹理特征的特征参数,并将该特征参数与预设参数阈值进行比较,大于预设参数阈值,表示纹理平坦,不大于预设参数阈值,表示纹理复杂。
[0234] 例如,首先确定出重建图像的灰度共生矩阵,并从该灰度共生矩阵中提取出特征参数能量,该灰度共生矩阵的能量能够描述重建图像的灰度空间均匀性的分布情况和重建图像整体的复杂程度。当灰度共生矩阵中元素分布较集中于主对角线附近时,能量值相应较大,说明图像的灰度分布比较均匀,从图像整体看,纹理复杂;反之,纹理平坦。
[0235] 具体的,一个图像的灰度共生矩阵,以及灰度共生矩阵的能量的确定方法,可以采用各种方法,在此不再举例进行详细描述。
[0236] 第三种方式:从当前熵解码数据中获得表示编码端的可用计算资源的资源信息,当资源信息表示可用计算资源充足时,确定开启预设去失真滤波功能,当资源信息表示可用计算资源不足时,确定关闭预设去失真滤波功能。
[0237] 例如,当可用计算资源的资源数量未达到预设资源阈值时,表示可用计算资源充足,当该资源数量达到预设资源阈值时,表示可用计算资源不足。
[0238] 针对上述三种方式,当确定开启时,设置开关信令的取值为第一取值,当确定关闭时,设置开关信令的取值为第二取值。进一步的,可以如图11所示,将该开关信令输入重建模块与CNN模块之间的开关模块,以便相应的控制去失真滤波功能的开启和关闭。
[0239] 步骤103、当确定开启时,获得失真图像,该失真图像为对当前熵解码数据进行视频解码的过程中生成的。
[0240] 如图11所示,对视频比特流进行熵解码得到的当前熵解码数据中,包括残差数据,对当前熵解码数据进行视频解码的过程,包括对该残差数据的反量化、反变换、重建和去失真滤波的处理。
[0241] 本步骤中的失真图像,可以是该过程中经过重建处理后生成的重建图像;也可以是对重建图像采用其他预设滤波方法进行滤波后得到的,例如,其他预设滤波方法可以是DF滤波方法。
[0242] 步骤104、从当前熵解码数据中,获取失真图像的边信息,具体可以为获取失真图像的每个像素点的失真程度值。
[0243] 在实际应用中,对当前熵解码数据进行不同方式的视频解码之后,表示失真程度的物理参量也可能不同,本步骤中,可以采用如下方式确定出对应的能够准确表示像素点失真程度的失真程度值:
[0244] 针对通过视频解码得到的上述失真图像,从当前熵解码数据中,获取当前熵解码数据对应的原始帧图像的每个编码区域的量化参数,将失真图像每个像素点所在编码区域的量化参数,确定为该像素点的失真程度值。
[0245] 步骤105、基于失真图像各像素点的位置,使用获取的各像素点的失真程度值,生成失真图像对应的边信息分量,其中,边信息分量包括的每个分量值与失真图像上相同位置的像素点相对应。
[0246] 由于边信息分量包括的每个分量值与失真图像上相同位置的像素点相对应,则边信息分量与失真图像的失真图像颜色分量的结构相同,即表示边信息分量的矩阵与表示失真图像颜色分量的矩阵是同型的。
[0247] 本步骤中,可以基于失真图像各像素点的位置,将获取的每个像素点的失真程度值,确定为失真图像对应的边信息分量中该像素点相同位置的分量值,即直接将每个像素点的失真程度值,确定为该像素点对应的分量值。
[0248] 当失真图像的像素值范围与像素点的失真程度值的取值范围不同时,也可以基于失真图像的像素值范围,对获取的各像素点的失真程度值进行标准化处理,得到处理后失真程度值,处理后失真程度值的取值范围与像素值范围相同;
[0249] 然后基于失真图像各像素点的位置,将每个像素点的处理后失真程度值,确定为失真图像对应的边信息分量中该像素点相同位置的分量值。
[0250] 本步骤中,可以采用如下公式对像素点的失真程度值进行标准化处理:
[0251]
[0252] 其中,norm(x)为标准化处理后得到的处理后失真程度值,x为像素点的失真程度值,失真图像的像素值范围为[PIEXLMIN,PIXELMAX],像素点的失真程度值的取值范围为[QPMIN,QPMAX]。
[0253] 通过上述步骤103和步骤104,即生成了失真图像的边信息分量,生成边信息分量的过程,也可以理解为生成了失真图像对应的边信息引导图,该边信息引导图通过其边信息分量表示失真图像的失真程度,且该边信息引导图与失真图像是等高等宽的。
[0254] 本发明实施例中,以卷积神经网络模型包括输入层、隐含层和输出层的结构为例,对方案进行描述。
[0255] 步骤106、将失真图像的失真图像颜色分量以及生成的边信息分量,作为预先建立的卷积神经网络模型的输入数据,由输入层进行第一层的卷积滤波处理。
[0256] 本步骤可以与上述图7中的步骤75相同,在此不再进行详细描述。
[0257] 步骤107、隐含层对输入层输出的稀疏表示的图像块F1(I)进行进一步的高维映射。
[0258] 本步骤可以与上述图7中的步骤76相同,在此不再进行详细描述。
[0259] 步骤108、输出层对隐含层输出的高维图像块FN(I)进行聚合,输出去失真图像颜色分量。
[0260] 本步骤可以与上述图7中的步骤77相同,在此不再进行详细描述。
[0261] 本发明实施例提供的上述视频解码方法中,得到的去失真图像颜色分量,可以用于对视频比特流中的后续熵解码数据进行视频解码;也可以用于生成当前熵解码数据对应的该原始帧图像对应的解码后图像,作为待播放帧图像。
[0262] 本发明实施例提供的上述视频解码方法中,当确定关闭预设去失真滤波功能时,可以如图11所示,重建模块直接与参考图像缓存器相连,即将重建图像作为参考图像,也可以重建模块与其他去失真滤波模块相连,采用其他滤波方法进行滤波,并将得到的图像作为参考图像。
[0263] 在本发明实施例提供的上述解决方案中,在视频编码和视频解码的过程中,均使用了预先建立的卷积神经网络模型对失真图像进行去失真滤波处理。视频编码和视频解码所使用的卷积神经网络模型可以相同。
[0264] 下面,对本发明实施例提供的上述卷积神经网络模型的训练流程进行详细描述。
[0265] 本发明实施例还提出了一种卷积神经网络模型训练方法,如图12所示,具体包括如下处理步骤:
[0266] 步骤121、获取预设训练集,预设训练集包括原始样本图像,以及原始样本图像对应的多个失真图像的失真图像颜色分量,以及每个失真图像对应的边信息分量,其中,失真图像对应的边信息分量表示该失真图像相对原始样本图像的失真特征。该多个失真图像的失真特征不同。
[0267] 本步骤中,可以预先对原始样本图像(即未失真的自然图像),进行不同失真程度的一种图像处理,得到各自对应的失真图像,并按照上述去失真方法中的步骤,针对每个失真图像,生成对应的边信息分量,从而将每个原始样本图像、对应的失真图像以及对应的边信息分量组成图像对,由这些图像对组成预设训练集Ω。
[0268] 进一步的,训练集可以包括一个原始样本图像,针对该原始样本图像进行上述图像处理,得到失真特征不同的多个失真图像,以及每个失真图像对应的边信息分量;
[0269] 训练集也可以包括多个原始样本图像,分别针对每个原始样本图像进行上述图像处理,得到失真特征不同的多个失真图像,以及每个失真图像对应的边信息分量。
[0270] 步骤122、针对预设结构的卷积神经网络CNN,初始化该卷积神经网络CNN 的网络参数集中的参数,初始化的参数集可以由Θ1表示,初始化的参数可以根据实际需要和经验进行设置。
[0271] 本步骤中,还可以对训练相关的高层参数如学习率、梯度下降算法等进行合理的设置,具体可以采用现有技术中的各种方式,在此不再进行详细描述。
[0272] 步骤123、进行前向计算,具体如下:
[0273] 将预设训练集中的每个失真图像的失真图像颜色分量以及对应的边信息分量,输入预设结构的卷积神经网络进行卷积滤波处理,得到该失真图像对应的去失真图像颜色分量。
[0274] 本步骤中,具体可以为对预设训练集Ω进行参数集为Θi的卷积神经网络 CNN的前向计算,获取卷积神经网络的输出F(Y),即每个失真图像对应的去失真图像颜色分量。
[0275] 第一次进入本步骤处理时,当前参数集为Θ1,后续再次进入本步骤处理时,当前参数集Θi为对上一次使用的参数集Θi-1进行调整后得到的,详见后续描述。
[0276] 步骤124、基于多个原始样本图像的原始图像颜色分量和得到的去失真图像颜色分量,确定去失真图像的损失值。
[0277] 具体可以使用均方误差(MSE)公式作为损失函数,得到损失值L(Θi),详见如下公式:
[0278]
[0279] 其中,H表示单次训练中从预设训练集中选取的图像对个数,Ih表示第h个失真图像对应的由边信息分量和失真图像颜色分量合并后的输入数据,F(Ih|Θi)表示针对第h个失真图像,卷积神经网络CNN在参数集Θi下前向计算得到的去失真图像颜色分量,Xh表示第h个失真图像对应的原始图像颜色分量,i 为当前已进行前向计算的次数计数。
[0280] 步骤125、基于损失值确定采用当前参数集的该预设结构的卷积神经网络是否收敛,如果不收敛,进入步骤126,如果收敛,进入步骤127。
[0281] 具体的,可以当损失值小于预设损失值阈值时,确定收敛;也可以当本次计算得到损失值与上一次计算得到的损失值之差,小于预设变化阈值时,确定收敛,本发明在此不做限定。
[0282] 步骤126,对当前参数集中的参数进行调整,得到调整后的参数集,然后进入步骤123,用于下一次前向计算。
[0283] 具体可以利用反向传播算法对当前参数集中的参数进行调整。
[0284] 步骤127、将当前参数集作为输出的最终参数集Θfinal,并将采用最终参数集Θfinal的该预设结构的卷积神经网络,作为训练完成的卷积神经网络模型。
[0285] 基于同一发明构思,根据本发明上述实施例提供的视频编码方法,相应地,本发明另一实施例还提供了一种视频编码装置,如图13所示,包括:
[0286] 第一开启确定模块131,用于按照预设决策策略,确定是否开启预设去失真滤波功能;
[0287] 第一图像获得模块132,用于当确定开启时,获得失真图像,所述失真图像为对待编码视频中的当前原始帧图像进行视频编码的过程中生成的;
[0288] 第一生成模块133,用于生成所述失真图像对应的边信息分量,所述边信息分量表示所述失真图像相对所述当前原始帧图像的失真特征;
[0289] 第一滤波处理模块134,用于将所述失真图像的失真图像颜色分量以及所述边信息分量,输入预先建立的卷积神经网络模型进行卷积滤波处理,得到去失真图像颜色分量;其中,所述卷积神经网络模型为基于预设训练集进行训练得到的,所述预设训练集包括原始样本图像,以及原始样本图像对应的多个失真图像的失真图像颜色分量,以及每个失真图像对应的边信息分量;
[0290] 熵编码模块135,用于对待熵编码数据进行熵编码,得到编码后的视频比特流,所述待熵编码数据为对所述当前原始帧图像进行视频编码生成的,且包括表示是否开启预设去失真滤波功能的决策信息,以及用于生成所述边信息分量的边信息。
[0291] 进一步的,所述第一开启确定模块131,具体用于当待编码视频中的当前原始帧图像为I帧图像时,确定开启预设去失真滤波功能,当待编码视频中的当前原始帧图像为P帧图像或者B帧图像时,确定关闭预设去失真滤波功能;或者,对重建图像进行纹理分析,当分析结果表示纹理平坦,确定开启预设去失真滤波功能,当分析结果表示纹理复杂,确定关闭预设去失真滤波功能,其中,所述重建图像为对待编码视频中的当前原始帧图像进行视频编码的过程中生成的;或者,当可用计算资源充足时,确定开启预设去失真滤波功能,当可用计算资源不足时,确定关闭预设去失真滤波功能。
[0292] 进一步的,所述失真图像为对待编码视频中的当前原始帧图像进行视频编码的过程中生成的重建图像;或者
[0293] 所述失真图像为对重建图像采用其他预设滤波方法进行滤波后得到的,所述重建图像为对待编码视频中的当前原始帧图像进行视频编码的过程中生成的。
[0294] 进一步的,所述边信息分量至少表示如下失真特征之一:
[0295] 表示所述失真图像相对所述当前原始帧图像的失真程度;
[0296] 表示所述失真图像相对所述当前原始帧图像的失真位置;
[0297] 表示所述失真图像相对所述当前原始帧图像的失真类型。
[0298] 进一步的,所述第一生成模块133,具体用于确定所述失真图像每个像素点的失真程度值;基于所述失真图像各像素点的位置,使用获取的各像素点的失真程度值,生成所述失真图像对应的边信息分量,其中,所述边信息分量包括的每个分量值与所述失真图像上相同位置的像素点相对应。
[0299] 进一步的,所述第一生成模块133,具体用于获取所述当前原始帧图像的每个编码区域的量化参数,将所述失真图像每个像素点所在编码区域的量化参数,确定为所述失真图像每个像素点的失真程度值。
[0300] 进一步的,所述第一生成模块133,具体用于基于所述失真图像各像素点的位置,将获取的每个像素点的失真程度值,确定为所述失真图像对应的边信息分量中该像素点相同位置的分量值;或者
[0301] 基于所述失真图像的像素值范围,对获取的所述各像素点的失真程度值进行标准化处理,得到处理后失真程度值,所述处理后失真程度值的取值范围与所述像素值范围相同;基于所述失真图像各像素点的位置,将每个像素点的处理后失真程度值,确定为所述失真图像对应的边信息分量中该像素点相同位置的分量值。
[0302] 本发明实施例还提供一种电子设备,如图14所示,包括处理器141、通信接口142、存储器143和通信总线144,其中,处理器141,通信接口142,存储器143通过通信总线144完成相互间的通信;
[0303] 存储器143,用于存放计算机程序;
[0304] 处理器141,用于执行存储器上所存放的程序时,实现上述任一视频编码方法步骤。
[0305] 本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一视频编码方法步骤。
[0306] 基于同一发明构思,根据本发明上述实施例提供的视频编码方法,相应地,本发明另一实施例还提供了一种视频解码装置,如图15所示,包括:
[0307] 熵解码模块151,用于对接收的视频比特流进行熵解码,得到当前熵解码数据;
[0308] 第二开启确定模块152,用于根据所述当前熵解码数据中表示是否开启预设去失真滤波功能的决策信息,确定是否开启预设去失真滤波功能;
[0309] 第二图像获得模块153,用于当确定开启时,获得失真图像,所述失真图像为对所述当前熵解码数据进行视频解码的过程中生成的;
[0310] 第二生成模块154,用于基于所述当前熵解码数据中包括的边信息,生成所述失真图像对应的边信息分量,所述边信息分量表示所述失真图像相对所述当前熵解码数据对应的原始帧图像的失真特征;
[0311] 第二滤波处理模块155,用于将所述失真图像的失真图像颜色分量以及所述边信息分量,输入预先建立的卷积神经网络模型进行卷积滤波处理,得到去失真图像颜色分量;
[0312] 其中,所述卷积神经网络模型为基于预设训练集进行训练得到的,所述预设训练集包括原始样本图像,以及原始样本图像对应的多个失真图像的失真图像颜色分量,以及每个失真图像对应的边信息分量。
[0313] 进一步的,所述第二开启确定模块152,具体用于从所述当前熵解码数据中获得表示所述当前熵解码数据中对应的当前原始帧图像帧类型的类型信息,当所述类型信息表示所述当前原始帧图像为I帧图像时,确定开启预设去失真滤波功能,当所述类型信息表示所述当前原始帧图像为P帧图像或者B帧图像时,确定关闭预设去失真滤波功能;或者,对所述当前熵解码数据进行视频解码,得到重建图像,对所述重建图像进行纹理分析,当分析结果表示纹理平坦,确定开启预设去失真滤波功能,当分析结果表示纹理复杂,确定关闭预设去失真滤波功能;或者,从所述当前熵解码数据中获得表示编码端的可用计算资源的资源信息,当所述资源信息表示可用计算资源充足时,确定开启预设去失真滤波功能,当所述资源信息表示可用计算资源不足时,确定关闭预设去失真滤波功能;,从所述当前熵解码数据中获得直接表示是否开启预设去失真滤波功能的决策信息,并基于获得的所述决策信息,确定是否开启预设去失真滤波功能。
[0314] 进一步的,所述失真图像为对所述当前熵解码数据进行视频解码的过程中生成的重建图像;或者
[0315] 所述失真图像为对重建图像采用其他预设滤波方法进行滤波后得到的,所述重建图像为对所述当前熵解码数据进行视频解码的过程中生成的。
[0316] 进一步的,得到的所述去失真图像颜色分量,用于对所述视频比特流中的后续熵解码数据进行视频解码;和/或
[0317] 用于生成所述原始帧图像对应的解码后图像,作为待播放帧图像。
[0318] 进一步的,所述边信息分量至少表示如下失真特征之一:
[0319] 表示所述失真图像相对所述原始帧图像的失真程度;
[0320] 表示所述失真图像相对所述原始帧图像的失真位置;
[0321] 表示所述失真图像相对所述原始帧图像的失真类型。
[0322] 进一步的,所述第二生成模块154,具体用于从所述当前熵解码数据中,获得所述失真图像每个像素点的失真程度值;基于所述失真图像各像素点的位置,使用获取的各像素点的失真程度值,生成所述失真图像对应的边信息分量,其中,所述边信息分量包括的每个分量值与所述失真图像上相同位置的像素点相对应。
[0323] 进一步的,所述第二生成模块154,具体用于从所述当前熵解码数据中,获取所述当前熵解码数据对应的原始帧图像的每个编码区域的量化参数,将所述失真图像每个像素点所在编码区域的量化参数,确定为所述失真图像每个像素点的失真程度值。
[0324] 进一步的,所述第二生成模块154,具体用于基于所述失真图像各像素点的位置,将获取的每个像素点的失真程度值,确定为所述失真图像对应的边信息分量中该像素点相同位置的分量值;或者
[0325] 基于所述失真图像的像素值范围,对获取的所述各像素点的失真程度值进行标准化处理,得到处理后失真程度值,所述处理后失真程度值的取值范围与所述像素值范围相同;基于所述失真图像各像素点的位置,将每个像素点的处理后失真程度值,确定为所述失真图像对应的边信息分量中该像素点相同位置的分量值。
[0326] 本发明实施例还提供一种电子设备,如图16所示,包括处理器161、通信接口162、存储器163和通信总线164,其中,处理器161,通信接口162,存储器163通过通信总线164完成相互间的通信;
[0327] 存储器163,用于存放计算机程序;
[0328] 处理器161,用于执行存储器上所存放的程序时,实现上述任一视频解码方法步骤。
[0329] 本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一视频解码方法步骤。
[0330] 上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral Component Interconnect,PCI)总线或扩展工业标准结构(Extended Industry  Standard Architecture,EISA)总线等。该通信总线可以分为地址总线数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0331] 通信接口用于上述电子设备与其他设备之间的通信。
[0332] 存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
[0333] 上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit, CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器 (Digital Signal Processing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程阵列(Field-Programmable Gate Array,FPGA) 或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
[0334] 需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0335] 本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0336] 以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈