CN110971915B - 滤波方法和设备 - Google Patents
滤波方法和设备 Download PDFInfo
- Publication number
- CN110971915B CN110971915B CN201811143399.3A CN201811143399A CN110971915B CN 110971915 B CN110971915 B CN 110971915B CN 201811143399 A CN201811143399 A CN 201811143399A CN 110971915 B CN110971915 B CN 110971915B
- Authority
- CN
- China
- Prior art keywords
- filtering
- data block
- current data
- target
- cnnf
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/80—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
- H04N19/86—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
Abstract
本申请提供了滤波方法和装置。本申请中,不管是编码端还是解码端,都会为失真视频数据中的数据块确定相匹配的滤波策略,然后按照与数据块匹配的滤波策略对数据块执行滤波,这实现了失真视频数据的去失真,防止因失真导致的视觉障碍或假象。
Description
技术领域
本申请涉及视频编解码技术,特别涉及滤波方法和设备。
背景技术
在视频编解码应用中,原始视频数据会被执行预测、变换、量化、重建、滤波等多种数据处理。其中,相比原始视频数据,对原始视频数据执行数据处理后得到视频数据可能存在失真,简称为失真视频数据。
失真视频数据,会导致视觉障碍或假象,并且,若失真视频数据作为编码像素的参考,还会影响编码像素的预测准确性。
发明内容
本申请提供了滤波方法和装置,以通过对失真视频数据进行滤波而对失真视频数据进行去失真,防止因失真导致的视觉障碍或假象。
本申请提供的技术方案包括:
本申请提供第一种滤波方法,该方法包括:
确定与当前数据块匹配的滤波策略,所述当前数据块为相比原始视频数据发生失真的失真视频数据中的一个数据块;
按照与所述当前数据块匹配的滤波策略对所述当前数据块进行滤波。
在一个例子中,所述确定与当前数据块匹配的滤波策略包括:
依据当前数据块确定待输入至第一神经网络的目标数据信息;
将所述目标数据信息输入至第一神经网络,第一神经网络用于输出对当前数据块进行滤波的滤波策略信息;
依据所述滤波策略信息确定与所述当前数据块匹配的滤波策略。
作为一个实施例,所述依据当前数据块确定待输入至第一神经网络的目标数据信息包括:
获取所述当前数据块的滤波引导信息;
将所述当前数据块和所述滤波引导信息确定为所述目标数据信息。
其中,所述滤波引导信息至少包括由所述当前数据块的失真特征信息组成的边信息引导图。
作为另一个实施例,所述依据当前数据块确定待输入至第一神经网络的目标数据信息包括:
将所述当前数据块的数据特征信息或者所述当前数据块确定为所述目标数据信息。
在一个例子中,所述滤波策略信息包括第一滤波信息,所述第一滤波信息用于指示对当前数据块进行滤波的目标滤波器;
所述依据滤波策略信息确定与所述当前数据块匹配的滤波策略包括:
根据所述第一滤波信息确定用于对所述当前数据块进行滤波的目标滤波器。
在一个例子中,所述第一滤波信息指示所述编码端支持的各候选滤波器参与对所述当前数据块进行滤波的概率;所述目标滤波器为概率值满足设定条件的候选滤波器。
在另一个例子中,所述第一滤波信息指示所述编码端支持的各候选滤波器被选中对所述当前数据块进行滤波的选中标识;
所述目标滤波器为选中标识为第一标识的候选滤波器,所述第一标识用于表示对当前数据块进行滤波。
在一个例子中,所述按照与当前数据块匹配的滤波策略对当前数据块执行滤波包括:
若目标滤波器的数量大于1,则依据各目标滤波器的优先级确定各目标滤波器对所述当前数据块进行滤波的滤波顺序;
按照所述滤波顺序使用各目标滤波器对所述当前数据块进行滤波。
在一个例子中,所述目标滤波器包括至少一个卷积神经网络滤波器CNNF;
使用所述CNNF对所述当前数据块进行滤波包括:
从所述CNNF支持的所有候选滤波路径中确定与所述当前数据块匹配的一条候选滤波路径作为目标滤波路径;所述候选滤波路径是由所述CNNF中至少一个卷积层上的卷积核组成;
使用所述CNNF并由所述CNNF按照所述目标滤波路径对所述当前数据块进行滤波。
在一个例子中,所述从CNNF支持的所有候选滤波路径中确定与所述当前数据块匹配的一条候选滤波路径作为目标滤波路径包括:
将所述当前数据块或当前数据块相关的数据信息输入至第二神经网络,以由所述第二神经网络从所述CNNF支持的所有候选滤波路径中选择与所述当前数据块匹配的目标滤波路径。
在一个例子中,所述滤波策略信息包括第二滤波信息,所述第二滤波信息用于指示所述CNNF对当前数据块进行滤波的目标滤波路径的路径标识;
所述从CNNF支持的所有候选滤波路径中选择与所述当前数据块匹配的一条候选滤波路径作为目标滤波路径包括:
根据所述第二滤波信息指示的路径标识从所述CNNF支持的所有候选滤波路径中选择与所述路径标识对应的目标滤波路径。
在一个例子中,在使用所述CNNF对所述当前数据块进行滤波之前,该方法进一步包括:
调整所述CNNF中指定卷积层的滤波强度系数得到目标滤波强度系数,以使所述CNNF按照所述目标滤波强度系数调整所述当前数据块的滤波强度。
在一个例子中,所述指定卷积层是指:
所述CNNF中除滤波强度系数小于预设系数阈值的卷积层之外的其他至少一个卷积层。
在一个例子中,所述指定卷积层用于对所述当前图像块的多个特征图进行滤波;
所述目标滤波强度系数用于调整所述指定卷积层中卷积核的权重系数和/或偏置系数;其中,同一卷积核的权重系数和/或偏置系数的调整幅度相同;或者,同一卷积核的权重系数和/或偏置系数的调整幅度不同。
在一个例子中,所述调整CNNF中指定卷积层的滤波强度系数得到目标滤波强度系数包括:
将所述当前图像块或当前图像块相关的数据信息输入至第三神经网络,以由所述第三神经网络决策出所述指定卷积层中不同卷积核的权重系数和/或偏置系数对应的调整系数;
将所述指定卷积层中不同卷积核的权重系数和/或偏置系数与对应的调整系数进行设定运算得到所述目标滤波强度系数。
在一个例子中,在将所述目标数据信息输入至第一神经网络之前,进一步包括:
使用编码预测类型对所述滤波引导信息进行调整,以使调整后的滤波引导信息满足所述编码端支持的数据要求。
在一个例子中,所述将目标数据信息输入至第一神经网络包括:
将所述当前数据块和所述滤波引导信息合并输入至第一神经网络;或者,
将所述当前数据块和所述滤波引导信息按照指定顺序分开输入至第一神经网络。
作为一个实施例,将当前数据块和所述滤波引导信息按照指定顺序分开输入至第一神经网络包括:
先将所述当前数据块输入至第一神经网络,在所述第一神经网络中的指定计算层对输入的当前数据块进行处理后,将所述滤波引导信息输入至第一神经网络,以使所述指定计算层的下一个计算层对输入的滤波引导信息和所述指定计算层处理后的当前数据块进行处理,所述指定计算层为所述第一神经网络中除最后一个计算层之外的任一计算层。
在一个例子中,所述目标滤波器至少包括以下滤波器的任一组合:样点自适应补偿SAO滤波器、自适应环路滤波器ALF、去块DBK滤波器、带通滤波器BF和卷积神经网络滤波器CNNF。
在一个例子中,上述方法应用于编码端或解码端。
在一个例子中,当该方法应用于编码端时,该方法进一步包括:
根据所述第一滤波信息生成第一指示信息;所述第一指示信息指示对当前数据块进行滤波的目标滤波器的信息;
将所述第一指示信息发送给解码端。
在一个例子中,当该方法应用于编码端时,该方法进一步包括:
根据所述第二滤波信息生成第二指示信息;所述第二指示信息指示所述CNNF对当前数据块进行滤波的目标滤波路径的路径标识;
将所述第二指示信息发送给解码端。
在一个例子中,当该方法应用于解码端时,所述确定与当前数据块匹配的滤波策略包括:
从接收的来自编码端的视频比特流中获取第一指示信息,所述第一指示信息指示对当前数据块进行滤波的目标滤波器的信息;
依据所述第一指示信息确定用于对所述当前数据块进行滤波的目标滤波器。
在一个例子中,当该方法应用于解码端时,所述从CNNF支持的所有候选滤波路径中选择与所述当前数据块匹配的一条候选滤波路径作为目标滤波路径包括:
从接收的来自编码端的视频比特流中获取第二指示信息,所述第二指示信息指示所述CNNF对当前数据块进行滤波的目标滤波路径的路径标识;
根据所述第二指示信息指示的路径标识从所述CNNF支持的所有候选滤波路径中选择与所述路径标识对应的目标滤波路径。
本申请提供第二种滤波方法,包括:
确定用于对当前数据块进行滤波的目标滤波器;
当所述目标滤波器包括卷积神经网络滤波器CNNF时,从所述CNNF支持的所有候选滤波路径中选择与所述当前数据块匹配的一条候选滤波路径作为目标滤波路径,使用所述CNNF并由所述CNNF按照所述目标滤波路径对所述当前数据块进行滤波,所述CNNF支持的候选滤波路径是由所述CNNF中至少一个卷积层上的卷积核组成。
在一个例子中,所述方法应用于编码端或解码端;所述确定用于对当前数据块进行滤波的目标滤波器包括:
依据当前数据块确定待输入至第一神经网络的目标数据信息;
将所述目标数据信息输入至第一神经网络,第一神经网络用于输出滤波策略信息,所述滤波策略信息包括第一滤波信息,用于指示对当前数据块进行滤波的目标滤波器;
根据所述第一滤波信息确定用于对所述当前数据块进行滤波的目标滤波器。
在一个例子中,所述滤波策略信息进一步包括第二滤波信息,所述第二滤波信息用于指示所述CNNF对当前数据块进行滤波的目标滤波路径的路径标识;
所述从CNNF支持的所有候选滤波路径中确定与所述当前数据块匹配的一条候选滤波路径作为目标滤波路径包括:
根据所述第二滤波信息指示的路径标识从所述CNNF支持的所有候选滤波路径中选择与所述路径标识对应的目标滤波路径。
在一个例子中,所述方法应用于编码端或解码端;所述从CNNF支持的所有候选滤波路径中确定与所述当前数据块匹配的一条候选滤波路径作为目标滤波路径包括:
将所述当前数据块或当前数据块相关的数据信息输入至第二神经网络,以由所述第二神经网络从所述CNNF支持的所有候选滤波路径中选择与所述当前数据块匹配的目标滤波路径。
在一个例子中,所述方法应用于解码端;所述从CNNF支持的所有候选滤波路径中选择与所述当前数据块匹配的一条候选滤波路径作为目标滤波路径包括:
从接收的来自编码端的视频比特流中获取第二指示信息,所述第二指示信息指示所述CNNF对当前数据块进行滤波的目标滤波路径的路径标识;
根据所述第二指示信息指示的路径标识从所述CNNF支持的所有候选滤波路径中选择与所述路径标识对应的目标滤波路径。
在一个例子中,所述方法应用于解码端;所述确定用于对当前数据块进行滤波的目标滤波器包括:
从接收的来自编码端的视频比特流中获取第一指示信息,所述第一指示信息指示对当前数据块进行滤波的目标滤波器的信息;
依据所述第一指示信息确定用于对所述当前数据块进行滤波的目标滤波器。
本申请提供第三种滤波方法,该方法包括:
确定用于对当前数据块进行滤波的目标滤波器;
当所述目标滤波器包括卷积神经网络滤波器CNNF时,调整所述CNNF中指定卷积层的滤波强度系数得到目标滤波强度系数;
按照所述目标滤波强度系数调整所述CNNF对所述当前数据块进行滤波的滤波强度。
在一个例子中,所述指定卷积层是指:所述CNNF中除滤波强度系数小于预设系数阈值的卷积层之外的其他至少一个卷积层。
在一个例子中,所述指定卷积层用于对所述当前图像块的多个特征图进行滤波;所述目标滤波强度系数用于调整所述指定卷积层中卷积核的权重系数和/或偏置系数;其中,同一卷积核的权重系数和/或偏置系数的调整幅度相同;或者,同一卷积核的权重系数和/或偏置系数的调整幅度不同。
在一个例子中,所述调整CNNF中指定卷积层的滤波强度系数得到目标滤波强度系数包括:
将所述当前图像块或当前图像块相关的数据信息输入至第三神经网络,以由所述第三神经网络决策出所述指定卷积层中不同卷积核的权重系数和/或偏置系数对应的调整系数;
将所述指定卷积层中不同卷积核的权重系数和/或偏置系数与对应的调整系数进行设定运算得到所述目标滤波强度系数。
本申请提供一种编码端设备,包括:机器可读存储介质和处理器;
其中,所述机器可读存储介质,用于存储机器可读指令;
所述处理器,用于读取所述机器可读指令,并执行所述指令以实现上述编码端执行的滤波方法。
本申请提供一种解码端设备,包括:机器可读存储介质和处理器;
其中,所述机器可读存储介质,用于存储机器可读指令;
所述处理器,用于读取所述机器可读指令,并执行所述指令,以实现上述解码端执行的滤波方法。
由以上技术方案可以看出,本申请中,不管是编码端还是解码端,当已处理的视频数据相比原始视频数据发生失真时,则为该已处理的失真视频数据中的数据块确定匹配的滤波策略,按照与所述数据块匹配的滤波策略对数据块执行滤波,这相当于实现了失真视频数据的去失真,防止因失真导致的视觉障碍或假象;
进一步地,本申请自适应地为失真视频数据中的各个数据块匹配对应的滤波策略,以实现失真视频数据中的各个数据块按照匹配的滤波策略进行滤波,而非一刀切地局限失真视频数据中所有数据块按照固定的一个滤波策略进行滤波,这避免了帧间参考中滤波误差累积问题,提高滤波泛化性能,也增强了滤波质量。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1为本申请实施例1提供的滤波方法流程图;
图2为本申请实施例1提供的步骤101实现流程图;
图3a至图3c为本申请实施例1提供的如何依据当前数据块确定待输入至第一神经网络的目标数据信息的示意图;
图4为本申请实施例1提供的步骤203实现流程图;
图5为本申请实施例1提供的视频编码系统图;
图6a为本申请实施例1提供的使用CNNF对当前数据块进行滤波的流程图;
图6b为本申请实施例1提供的CNNF支持的候选滤波路径的示意图;
图7a至图7b为滤波强度调整示意图;
图8为本申请实施例2提供的滤波方法流程图;
图9为本申请实施例3提供的滤波方法流程图;
图10为本申请实施例4提供的滤波方法流程图;
图11本申请实施例4提供的视频解码系统图;
图12为本申请实施例4提供的使用CNNF对当前数据块进行滤波的流程图;
图13为本申请实施例5提供的滤波方法流程图;
图14为本申请实施例6提供的滤波方法流程图;
图15至图17为本申请提供的编码端设备的三种结构图;
图18为本申请提供的编码端设备的硬件结构示意图;
图19至图21为本申请提供的解码端设备的三种结构图;
图22为本申请提供的解码端设备的硬件结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
实施例1:
本实施例1以应用于编码端为例描述。
参见图1,图1为本申请实施例1提供的滤波方法流程图。该方法应用于编码端,可包括以下步骤:
步骤101,确定与当前数据块匹配的滤波策略。
应用于编码端,这里的当前数据块为编码端对失真视频数据(Distortion Data)进行划分得到的其中一个数据块。这里的失真视频数据是指相比原始未编码压缩的视频数据发生失真比如像素偏移的数据,可为重建视频数据,也可为编码端对重建视频数据使用其他滤波技术进行滤波后的视频数据等等。
在一个例子中,编码端可按照来自外部的接口命令将失真视频数据划分为大小相同或不同的数据块。
在另一个例子中,编码端可按照本编码端预先配置的数据块划分算法将失真视频数据划分为大小相同或不同的数据块。
需要说明的是,上述失真视频数据划分的各个数据块相互不重叠。
在本申请中,当前数据块的大小不限,其可为编码标准中规定的最大编码树单元(CTU:Coding Tree Unit),也可为一组视频帧序列组成的图像组(GOP:Group ofpicture),还可为是任意形状、任意大小等,本申请并不具体限定。
在应用中,同一失真视频数据中不同数据块的滤波力度并不同,而本步骤101基于数据块确定相匹配的滤波策略,可实现失真视频数据中不同数据块自适应匹配对应的滤波策略,相比整个失真视频数据按照单一的滤波策略进行滤波,本申请提供的基于数据块的滤波策略能够大大提高滤波性能。
至于本步骤101中如何确定与当前数据块匹配的滤波策略,其有很多实现方式,图2举例示出了其中一种实现方式,这里暂不赘述。
步骤102,按照与当前数据块匹配的滤波策略对当前数据块进行滤波。
在上述步骤101为当前数据块确定匹配的滤波策略后,本步骤102就可以直接按照与当前数据块匹配的滤波策略对当前数据块进行滤波。至于本步骤102如何按照与当前数据块匹配的滤波策略对当前数据块进行滤波,主要取决于与当前数据块匹配的滤波策略,下文会举例描述,这里暂不赘述。
至此,完成图1所示流程。
通过图1所示流程可以看胡,在本申请中,编码端通过为失真视频数据中各个不同数据块确定相匹配的滤波策略,按照与数据块匹配的滤波策略对数据块执行滤波,这实现失真视频数据的去失真,防止因失真导致的视觉障碍或假象;
进一步地,本申请自适应地为失真视频数据中的各个数据块匹配对应的滤波策略,以实现失真视频数据中的各个数据块按照匹配的滤波策略进行滤波,而非一刀切地局限失真视频数据中所有数据块按照单一的一个滤波策略进行滤波,这避免了帧间参考中滤波误差累积问题,提高滤波泛化性能,也增强了滤波质量。
下面描述图2所示流程:
图2所示流程举例描述上述步骤101中如何确定与当前数据块匹配的滤波策略。参见图2,图2为本申请实施例1提供的步骤101实现流程图。如图2所示,该流程可包括以下步骤:
步骤201,依据当前数据块确定待输入至第一神经网络的目标数据信息。
这里,第一神经网络用于输出对当前数据块进行滤波的滤波策略信息。下文会描述第一神经网络的结构,这里暂不赘述。
在具体实现时,步骤201中,依据当前数据块确定待输入至第一神经网络的目标数据信息有很多实现方式。
比如,在一种实现方式中,可将所述当前数据块的数据特征信息确定为目标数据信息。这里的数据特征信息包括但不限于:对当前数据块进行线性变换得到的特征块、和/或对当前数据块进行非线性变化得到的高斯图等。在此方式下,第一神经网络可依据样本数据的数据特征信息进行训练得到。需要说明的是,在将上述数据特征信息确定为待输入第一神经网络的目标数据信息时,后续当目标数据信息输入至第一神经网络,第一神经网络输出对当前数据块进行滤波的滤波策略信息可包括:是否开启滤波功能,在开启滤波功能时的滤波策略信息等。这里,第一神经网络可通过对目标数据信息进行纹理分析,当分析结果表示纹理平坦,确定开启滤波功能,当分析结果表示纹理复杂,确定关闭滤波功能。具体的,可以对目标数据信息进行纹理分析,得到表示纹理特征的特征参数,并将该特征参数与预设参数阈值进行比较,大于预设参数阈值,表示纹理平坦,不大于预设参数阈值,表示纹理复杂。
在另一种实现方式中,可将所述当前数据块直接确定为目标数据信息。在此方式下,第一神经网络可依据样本数据块进行训练得到。需要说明的是,在将当前数据块确定为待输入第一神经网络的目标数据信息时,后续当目标数据信息输入至第一神经网络,第一神经网络输出对当前数据块进行滤波的滤波策略信息类似上述数据特征信息作为目标数据信息的情况,不再赘述。
在又一种实现方式中,可参见下文图3a举例示出的如何依据当前数据块确定待输入至第一神经网络的目标数据信息,这里暂不赘述。
通过步骤201可以具体根据实际需求确定最优的待输入至第一神经网络的目标数据信息,以便最终第一神经网络最终输出的滤波策略信息更精准。
步骤202,将所述目标数据信息输入至第一神经网络,第一神经网络用于输出对当前数据块进行滤波的滤波策略信息。
通过借助第一神经网络输出对当前数据块进行滤波的滤波策略信息,相比传统的滤波确定方式能够明显提升性能。
步骤203,依据所述滤波策略信息确定与所述当前数据块匹配的滤波策略。
本步骤203如何依据滤波策略信息确定与所述当前数据块匹配的滤波策略,具体取决于滤波策略信息,下文通过图4所示流程进行举例描述,这里暂不赘述。
至此,完成图2所示流程。
通过图2所示流程,实现了编码端使用第一神经网络确定与当前数据块匹配的滤波策略。
下面描述图3a所示流程:
图3a所示流程举例描述了如何依据当前数据块确定待输入至第一神经网络的目标数据信息。参见图3a,图3a为本申请实施例1提供的步骤201实现流程图。如图3a所示,该流程可包括:
步骤301,获取所述当前数据块的滤波引导信息。
这里的滤波引导信息至少包括由所述当前数据块的失真特征信息组成的边信息(Side Information)引导图(Guide Map)。
在一个例子中,上述的失真特征信息可通过失真程度表征。在编解码应用中,表征图像失真程度的边信息(Side Information)可以是显式的,也可以是隐式的。这里,边信息,狭义的概念是指在信源编码中,用于辅助待编码信息进行编码,以使待编码信息的编码长度更短。广义的概念是指使用已有的某种先验知识来辅助达到某一种目的。
其中,若表征图像失真程度的边信息是显式的,则表示当前数据块中每个像素的失真程度标记在失真视频数据中,基于此,可将当前数据块中每个像素的失真程度标记在引导图的对应位置,即可生成边信息引导图。在视频/图像编码应用中。量化参数(QP:Quantization Parameter)是表征量化步长的参数,而量化步长是影响图像失真程度的主要因素,基于此,作为一个例子,表征图像失真程度的边信息可通过量化参数表示。其中,若量化参数是显示的,则可将当前数据块中每个像素所在区域的量化参数标记在每个像素在引导图上的对应位置上,即可生成边信息引导图。优选的,作为一个实施例,在本申请中,边信息引导图可与失真视频数据等高等宽。需要说明的是,在生成由当前数据块中每个像素所在区域的量化参数组成的边信息引导图后,可使用当前数据块的预测类型对生成的边信息引导图进行微调。
若表征图像失真程度的边信息是隐式的,则可按照指定规则推导边信息,且推导该边信息所需的其他信息在失真视频数据中应是可得的,这里,指定规则可预先根据实际需求配置。
需要说明的是,本申请中,上述边信息引导图可以是多通道,也可以是单通道,还可以是零通道(没有边信息输入)。
步骤302,将所述当前数据块和所述滤波引导信息确定为所述目标数据信息。
需要说明的是,上述步骤301获取的滤波引导信息(比如边信息引导图)有可能不满足编码端支持的数据要求。针对此种情况,则在执行步骤302之前,可进一步使用所述编码端支持的编码预测类型对获取的滤波引导信息(比如边信息引导图)进行调整,以使调整后的滤波引导信息(比如边信息引导图)满足所述编码端支持的数据要求,避免数据迁移。
通过图3a所示流程,实现了如何依据当前数据块确定待输入至第一神经网络的目标数据信息。图3b示出了将图3a所示流程分解为多个模块的示意图。图3c以滤波引导信息为边信息引导图示出了图3a所示流程对应的逻辑示意图。
基于图3a确定的目标数据信息,则在一个例子中,上述步骤202中将目标数据信息输入至第一神经网络可包括:将所述当前数据块和所述滤波引导信息合并输入至第一神经网络,实现了当前数据块和所述滤波引导信息同时输入至第一神经网络。作为一个优选实施例,本申请中,在滤波引导信息(比如边信息引导图)与当前数据块合并之前,可先将滤波引导信息(比如边信息引导图)进行归一化处理,使得滤波引导信息(比如边信息引导图)中每个像素的取值范围能与当前数据块中每个像素的取值范围保持一致。以滤波引导信息为量化参数组成的边信息引导图为例,量化参数的取值范围为[QP_MIN,QP_MAX],当前数据块中像素的取值范围为[PIXEL_MIN,PIXEL_MAX],若当前数据块中某一像素的量化参数为x,则归一化公式如下文的公式1:
在另一个例子中,上述步骤202中将目标数据信息输入至第一神经网络可包括:将所述当前数据块和所述滤波引导信息按照指定顺序分开输入至第一神经网络,实现了当前数据块和所述滤波引导信息分开输入至第一神经网络。
作为一个实施例,这里,将当前数据块和所述滤波引导信息按照指定顺序分开输入至第一神经网络可包括:
先将所述当前数据块输入至第一神经网络,在所述第一神经网络中的指定计算层对输入的当前数据块进行处理后,将所述滤波引导信息输入至第一神经网络,以使所述指定计算层的下一个计算层对输入的滤波引导信息和所述指定计算层处理后的当前数据块进行处理,所述指定计算层为所述第一神经网络中除最后一个计算层之外的任一计算层。
下面描述图4所示流程:
图4所示流程举例描述了如何依据滤波策略信息确定与所述当前数据块匹配的滤波策略。参见图4,图4为本申请实施例1提供的步骤203实现流程图。如图4所示,该流程可包括:
步骤401,基于滤波策略信息包括第一滤波信息,所述第一滤波信息用于指示对当前数据块进行滤波的目标滤波器,执行步骤402。
在一个例子中,目标滤波器至少包括以下滤波器的任一组合:传统滤波器和卷积神经网络滤波器(CNNF:Convolutional Neural Network Filter)。这里的CNNF的数量可为1,也可大于1。当CNNF大于1时,各个CNNF可为适应不同纹理或编码框架的CNNF。
在本申请中,CNNF相较于基于传统的神经网络的滤波器,优点之一在于,传统的神经网络都是采用全连接的方式,即输入层到隐藏层的神经元都是全部连接的,这样做将导致参数量巨大,使得网络训练耗时甚至难以训练,而CNNF中各层之间局部连接、权值共享等方法,避免了传统的神经网络出现的困难。CNNF为了解决图像的量化失真和相应的块效应,通过一定的训练策略得到的一组高维的神经网络滤波系数。
在一个例子中,上述的传统滤波器可包括以下各种滤波器的至少一个:样点自适应补偿(SAO:Sample Adaptive Offset)滤波器、自适应环路滤波器(ALF:Adaptive LoopFilter)、去块(DBK:Deblock)滤波器(Filter)、带通滤波器(BF:Band-pass Filter)。
步骤402,根据所述第一滤波信息确定用于对所述当前数据块进行滤波的目标滤波器。
通过图4所示流程,实现了从编码端支持的所有候选滤波器中为当前数据块选择用于对该当前数据块进行滤波的目标滤波器。这里,在一个例子中,候选滤波器可包括上述的传统滤波器(SAO、ALF、DBK Filter、BF中的至少一个)和/或至少一个CNNF。在另一个例子中,候选滤波器可包括:至少一个CNNF、至少一个CNNF与传统滤波器(SAO、ALF、DBK、BF中的至少一个)的任一组合、以及SAO、ALF、DBK、BF的任一组合。比如候选滤波器可包括:SAO、ALF、DBK、BF中的每一滤波器与CNNF的组合(比如SAO和CNNF的组合、ALF和CNNF的组合、FBK和CNNF的组合、BF和CNNF的组合),SAO、ALF、DBK、BF中的每两个滤波器与CNNF的组合(比如SAO、ALF和CNNF的组合,SAO、DBK和CNNF的组合等等),以此类推,直至SAO、ALF、DBK、BF与CNNF的组合。
作为一个实施例,上述第一滤波信息可通过所述编码端支持的各候选滤波器参与对当前数据块进行滤波的概率表示,比如,第一滤波信息(通过F(I)表示,具体为:
F(I)={fsao,falf,fdbk,fbf,fcnnf}
基于此,上述的目标滤波器可为:概率满足设定条件的滤波器。这里的满足设定条件可为:取值最大、大于设定阈值、或者取值为指定值。其中,设定阈值、指定值可根据实际需求设置。以满足设定条件大于设定阈值为例,假若CNNF的概率大于设定阈值,则选择CNNF为上述的目标滤波器。
再比如:假如第一滤波信息(通过F(I)通过至少一个传统滤波器与CNNF组合的概率表示,具体为:
F(I)={fsao,cnnf,falf,cnnf,fdbk,cnnf,fbf,cnnf,fcnnf,fsao,alf,cnnf,……fsao,alf,dbk,bf,,cnnf}
以满足设定条件为取值最大为例,假若fsao,alf,cnnf取值最大,则确定SAO、ALF、CNNF为目标滤波器。需要说明的是,作为一个特例:假若不存在概率满足设定条件的滤波器,此时意味着不对当前数据块进行滤波,可直接执行下一个步骤,比如将当前数据块的重建数据拷贝到输出图上等等。
作为另一个实施例,第一滤波信息可通过编码端支持的各候选滤波器被选中对当前数据块进行滤波的选中标识表示,其中,当候选滤波器的选中标识为第一标识比如1时,表示候选滤波器对当前数据块进行滤波,当候选滤波器的选中标识为第二标识比如0时,表示候选滤波器不对当前数据块进行滤波。
基于此,上述目标滤波器可为选中标识为第一标识的滤波器。需要说明的是,作为一个特例:不存在选中标识为第一标识的滤波器,此时意味着不对当前数据块进行滤波,可直接执行下一个步骤,比如将当前数据块的重建数据拷贝到输出图上等等。
以上对如何根据第一滤波信息确定用于对当前数据块进行滤波的目标滤波器进行了描述。当确定用于对当前数据块进行滤波的目标滤波器后,即可直接采用目标滤波器对当前数据块进行滤波。
其中,在使用目标滤波器对当前数据块进行滤波时,假若确定的用于对当前数据块进行滤波的目标滤波器的数量大于1,可先依据各目标滤波器的优先级确定各目标滤波器对当前数据块进行滤波的滤波顺序,按照所述滤波顺序使用各目标滤波器对当前数据块进行滤波。比如,目标滤波器为ALF与CNNF,则假若确定的滤波顺序为ALF->CNNF,则先使用ALF对当前数据块进行滤波,之后再使用CNNF对当前数据块进行滤波。这里,滤波顺序可人为进行控制,也可由第一神经网络决策并携带在上述第一滤波信息中等等,本申请并不具体限定。
下面以失真视频数据为重建数据为例对图1至图4所示流程进行描述:
图5示出了一个使用帧内/帧间预测的视频编码系统。帧内预测模块基于同一图像的视频数据,负责提供帧内预测数据。帧间预测包括运动估计模块和运动补偿模块,它们被用于获取帧间预测数据。开关用于选择使用帧内或者帧间预测数据且将该被选择的预测数据提供至加法器以产生预测误差。预测误差依次被变换、量化处理。其中,量化处理中使用的量化参数对最终图像的失真程度有明显影响。变换、量化产生的残差以及与变换、量化处理过程相关的边信息被送入熵编码器进行熵编码以产生视频比特流。当使用帧间预测时,一个参考图像或多参考图像在编码端需要被重建。因此,变换、量化产生的残差需要经过反量化、反变换过程以恢复预测误差。在重建模块,预测误差被加回相应的预测数据以生成重建数据。经过上述一系列编码处理,重建数据相对于输入数据通常会发生强度偏移(即为本申请描述的失真视频数据)。
将重建数据进行分块处理,假如分成的各个数据块为:大小为64x64的CTU。按照指定扫描顺序扫描每个CTU,扫描到的CTU为当前CTU。按照图3a所示流程,本例中使用量化参数作为表征当前CTU失真程度的边信息与当前CTU一起作为目标数据信息。按照图2所示流程将目标数据信息输入第一神经网络。其中,同一CTU中不同编码单元可能会使用不同的量化参数,此时,编码单元的坐标以及其对应的量化参数都应被输入第一神经网络。第一神经网络输出对当前CTU进行滤波的滤波策略信息。基于图4所示流程,当滤波策略信息包括第一滤波信息,则根据第一滤波信息确定用于对当前CTU进行滤波的目标滤波器(图5以目标滤波器为CNNF和ALF为例示出)。使用目标滤波器对该当前CTU的重建数据进行滤波。
至此,完成图5所示实施例的描述。
作为一个实施例,在编码端,还可进一步根据第一滤波信息生成第一指示信息,所述第一指示信息指示对当前数据块进行滤波的目标滤波器的信息;将所述第一指示信息发送给解码端。具体地,在一个例子中,可按照指定的扫描顺序扫描失真视频数据中各个数据块,对扫描到的数据块执行上述图1至图4的流程,最终可以获取到一张第一指示信息标记图并发送给解码端。第一指示信息标记图包括对各个数据块进行滤波的目标滤波器的信息。
作为另一个实施例,也可不执行上述将第一指示信息发送给解码端的操作,以减少传输代价。
下面以目标滤波器包括至少一个CNNF为例描述:
其中,当目标滤波器包括至少一个CNNF时,使用CNNF对当前数据块进行滤波可包括图6a所示流程。
参见图6a,图6a为本申请实施例1提供的使用CNNF对当前数据块进行滤波的流程图。如图6a所示,该流程可包括以下步骤:
步骤601,从CNNF支持的所有候选滤波路径中确定与所述当前数据块匹配的一条候选滤波路径作为目标滤波路径。
这里,CNNF支持的候选滤波路径是由CNNF中至少一个卷积层上的卷积核组成。比如如图6b所示,CNNF由l1至l4共四层组成,其中,l1上有三个卷积核(Core):611、621、631,l2上有三个卷积核:612、622、632;l3上有三个卷积核:613、623、633;l4上有三个卷积核:614、624、634;在一个例子中,候选滤波路径可至少包括:第一类路径和第二类路径;
其中第一类路径是相邻层层上位置对应的卷积核组成,其可包括以下路径1至路径3:
路径1:611输出至612,612输出至613,613输出至614;
路径2:621输出至622,622输出至623,623输出至624;
路径3:631输出至632,632输出至633,633输出至634;
第二类路径是:当前层上的卷积核的输入至少依赖于上一层上同样位置和该位置之前的卷积核的输出,比如下文举例的路径4至路径6。
路径4:611输出至621,611、621输入至622,622、612输入至623,623、613输入至624;其中,622的输入依赖于上一层同样位置的621,以及该位置之前的611。其他类似。
路径5:621输出至631,621、631输入至632,632、622输入至633,633、623输入至634;
路径6:611输出至621,611、621输入至622,621、622、612输入至623,622、623、613输入至624。等等。
需要说明的是,上述只是举例描述CNNF支持的候选滤波路径,具体还可根据实际需求设置。
在一个例子中,本步骤601可包括:将当前数据块或当前数据块相关的数据信息输入至第二神经网络,以由所述第二神经网络从所述CNNF支持的所有候选滤波路径中选择与所述当前数据块匹配的目标滤波路径。这里的第二神经网络可不同于上述的第一神经网络,用于滤波路径决策控制,以适应不同网络和不同复杂度的平台要求。
在另一个例子中,可借助上述的滤波策略信息。其中,滤波策略信息可进一步包括第二滤波信息,所述第二滤波信息用于指示CNNF对当前数据块进行滤波的目标滤波路径的路径标识。基于此,步骤601可包括:根据第二滤波信息指示的路径标识从所述CNNF支持的所有候选滤波路径中选择与所述路径标识对应的目标滤波路径。
步骤602,使用所述CNNF并由所述CNNF按照目标滤波路径对当前数据块进行滤波。
至此,完成图6a所示流程。
通过图6a所示流程,能够在目标滤波器为CNNF时,决策CNNF对当前数据块进行滤波的滤波路径,以适应不同网络和不同复杂度的平台要求,提升CNNF的滤波性能。
作为一个实施例,应用于编码端,在滤波策略信息包括第二滤波信息时,还可进一步根据所述第二滤波信息生成第二指示信息;所述第二指示信息指示所述CNNF对当前数据块进行滤波的目标滤波路径的路径标识;将所述第二指示信息发送给解码端,以便解码端根据第二指示信息确定当前数据块的目标滤波路径。具体地,在一个例子中,可按照指定的扫描顺序扫描失真视频数据中各个数据块,对扫描到的数据块执行上述图1至图4的流程,最终可以获取到一张第二指示信息标记图并发送给解码端。第二指示信息标记图包括CNNF对各个数据块进行滤波的目标滤波路径的信息。
作为另一个实施例,也可不执行上述将第二指示信息发送给解码端的操作,以减少传输代价。
另外,本实施例1中,在使用CNNF对所述当前数据块进行滤波之前,可进一步调整所述CNNF中指定卷积层的滤波强度系数得到目标滤波强度系数,以使所述CNNF按照所述目标滤波强度系数调整所述当前数据块的滤波强度,最终实现了CNNF对当前数据块的滤波强度的调整。
其中,滤波强度的调整可以是通道级的,也可以是像素级的。
这里,指定卷积层用于对所述当前数据块的多个特征图进行滤波,而目标滤波强度系数用于调整指定卷积层中卷积核的权重系数和/或偏置系数;其中,其中,同一卷积核的权重系数和/或偏置系数的调整幅度相同;或者,同一卷积核的权重系数和/或偏置系数的调整幅度不同。在一个例子中,指定卷积层中一个卷积核的权重系数或偏置系数可对应n1个卷积滤波器,即有n1个卷积滤波器作用于卷积层的输入,输出n1个图像分块;每个卷积滤波器的卷积核的大小为c1×f1×f1,其中c1为输入通道数,f1为每个卷积核在空间上的大小。B1为卷积层滤波器组的偏移系数,g()为非线性映射函数。
以卷积核的权重系数为例,假若卷积核的权重系数对应9个卷积滤波器,具体可通过大小为3*3的矩阵表示。则当按通道级调整滤波强度时,则可权重系数中各权重系数值按照同一调整幅度调整,比如,权重系数中各权重系数值都乘以设定值k等。而当按像素级调整滤波强度时,则权重系数中至少两个权重系数值按照不同调整幅度调整,比如,权重系数中第一行第一个权重系数值、第一行第二个权重系数值分别乘以不同的数值等。具体地,在按像素级调整滤波强度时,可设置一个维度与权重系数相同维度的调整系数,以实现同一卷积核的权重系数和/或偏置系数的调整幅度不同。
作为一个实施例,上述调整CNNF中指定卷积层的滤波强度系数得到目标滤波强度系数包括:
将所述当前图像块或当前图像块相关的数据信息输入至第三神经网络,以由所述第三神经网络决策出所述指定卷积层中不同卷积核的权重系数和/或偏置系数对应的调整系数;将所述指定卷积层中不同卷积核的权重系数和/或偏置系数与对应的调整系数进行设定运算得到所述目标滤波强度系数。
其中,当第三神经网络按照通道级调整CNNF中指定卷积层的滤波强度时,所述第三神经网络输出的指定卷积层中同一卷积核的权重系数和/或偏置系数的调整系数相同,此时的调整系数的维度为一维。以上述设定运算为乘法运算为例,图7a示出了按照通道级调整CNNF中指定卷积层的滤波强度的示意图。在图7a中,Fi-j为输入至指定卷积层(以第i层卷积层为例)第j个通道的卷积核的特征映射图(FeatureMap),假若第三神经网络输出的第i层卷积层第j个通道的卷积核的权重系数对应的调整系数为Si-j,则最终第i层卷积层第j个通道用于Fi-j滤波的卷积核的滤波力度相比之前变化了如图7a所示的Si-j的维度为一维。
当第三神经网络按照像素级调整CNNF中指定卷积层的滤波强度时,第三神经网络输出的指定卷积层中同一卷积核的权重系数和/或偏置系数的调整系数不同,此时权重系数和/或偏置系数的调整系数的维度与权重系数和/或偏置系数的维度一致,以实现像素级别控制。以上述设定运算为乘法运算为例,图7b示出了按照像素级调整CNNF中指定卷积层的滤波强度的示意图。在图7b中,Fi-j为输入至指定卷积层(以第i层卷积层为例)第j个通道的卷积核的特征映射图(FeatureMap),假若第三神经网络输出的第i层卷积层第j个通道的卷积核的权重系数对应的调整系数为CFi-j,则最终第i层卷积层第j个通道用于Fi-j滤波的卷积核的滤波力度相比之前变化了如图7b所示的CFi-j的维度与Fi-j的维度相同。
作为一个实施例,指定卷积层是指:所述CNNF中除滤波强度系数小于预设系数阈值的卷积层之外的其他至少一个卷积层。这里的预设系数阈值可根据实际需求设置,以最终实现最优滤波性能。
以上对目标滤波器包括至少一个CNNF为例进行了描述。
下面对本实施例1涉及的各神经网络的结构进行描述:
先描述第一神经网络:
第一神经网络主要包括:输入层、隐含层、输出层。
输入层:
输入层用于对输入图像数据I进行多维卷积滤波和非线性映射,产生n1个以稀疏形式表示的图像分块F1(I),并输出给隐含层。
以目标数据信息为图3a确定的当前数据块和边信息引导图为例,则输入层具体执行以下步骤:
(1),通道合并:将cy通道的当前数据块分量Y和cm通道的与当前数据块等高等宽的边信息引导图M在通道的维度上进行合并,成为cm+cy通道的输入图像数据I。
(2),卷积滤波:输入图像数据I经过多维卷积滤波和非线性映射,产生n1个以稀疏形式表示的图像分块F1(I)。
输入层中的卷积操作可由下述公式2表示:
F1(I)=g(W1*I+B1) (公式2)
其中,I为输入层中卷积层的输入。*为卷积操作。W1为卷积层滤波器组的权重系数,在一个例子中,W1对应于n1个卷积滤波器,即有n1个卷积滤波器作用于卷积层的输入,输出n1个图像分块;每个卷积滤波器的卷积核的大小为c1×f1×f1,其中c1为输入通道数,f1为每个卷积核在空间上的大小。B1为卷积层滤波器组的偏移系数,g()为非线性映射函数。
一个具体实施例中,输入层的参数为:c1=2,f1=5,n1=64,使用ReLU(Rectifiedlinear unit)函数作为g(),它的函数表达式为下述公式3:
g(x)=max(0,x) (公式3)
输入层卷积处理表达式相应为下述公式4:
F1(I)=max(0,W1*I+B1) (公式4)
隐含层:
隐含层,包含至少1个卷积层,用于对输入层输出的图像分块F1(I)进行进一步的高维映射并输出高维图像分块FN(I)给输出层。本文中不对隐含层中包含的卷积层层数、卷积层连接方式、卷积层属性等作限定。
假若隐含层包含N-1(N≥2)层卷积层,隐含层处理由下述公式5表示:
Fi(I)=g(Wi*Fi-1(I)+Bi),i∈{2,3,…,N} (公式5)
其中,Fi(I)表示卷积神经网络中第i层卷积层的输出,*为卷积操作,Wi为第i层卷积层滤波器组的权重系数,Bi为卷积层滤波器组的偏移系数,g()为非线性映射函数。
其中,Wi对应于ni个卷积滤波器,即有ni个卷积滤波器作用于第i层卷积层的输入,输出ni个图像分块;每个卷积滤波器的卷积核的大小为ci×fi×fi,其中ci为输入通道数,fi为每个卷积核在空间上的大小。
一个具体的实施例,隐含层包括1个卷积层,该卷积层的卷积滤波器参数为:c2=64,f2=1,n2=32,使用ReLU(Rectified linear unit)函数作为g(),该实施例中隐含层的卷积处理表达式为下述公式6:
F2(I)=max(0,W2*F1(I)+B2) (公式6)
输出层:
输出层对隐含层输出的高维图像分块FN(I)进行处理,输出最终的滤波策略信息。滤波策略信息如上描述,这里暂不赘述。
至此,完成第一神经网络的描述。
至于第二神经网络,其结构类似第一神经网络,只不过其中采用的各公式的参数不同而已,这里不再赘述。下面描述第三神经网络:
第三神经网络:
输入层:
输入层的输入来源于CNNF的指定卷积层,比如具体为指定卷积层的特征图(featureMap),或者指定卷积层中不同卷积层的特征图(featureMap)作处理后的通道合并等。
输入层用于对输入来源进行多维卷积滤波和非线性映射,产生以稀疏形式表示的图像分块F1(I),并输出给隐含层。以输入来源为指定卷积层的特征图为例,其中F′n为CNNF第n层的featureMap,则输入层得到的F1(I)如下公式7所示:
F1(I)=F′n(F′n-1(F′n-2(......(I)))) (公式7)
隐含层:其具体可参见如上描述的隐含层,这里不再赘述。
输出层:
对隐含层的输出进行卷积操作后直接输出重建图像,可由下述公式8表示:
F(I)=WN*FN-1(I)+BN (公式8)
其中,F(I)为输出层输出,FN-1(I)为隐含层的输出,*为卷积操作,WN为卷积层滤波器组的权重系数,BN为卷积层滤波器组的偏移系数。
WN对应于nN个卷积滤波器,即有nN个卷积滤波器作用于第i层卷积层的输入,输出nN个图像分块,nN一般取值为1;每个卷积滤波器的卷积核的大小为cN×fN×fN,其中cN为输入通道数,fN为每个卷积核在空间上的大小。
在一个具体实施例中,输出层包括1个卷积层,该输出层的卷积滤波器参数为:c3=32,f3=3,n3=1,该实施例中输出层的卷积处理表达式如下述公式9所示:
F(I)=W3*F2(I)+B3+Y (公式9)
以上对本实施例1涉及的各神经网络的结构进行了描述,下面描述本实施例1涉及的各神经网络如何训练的:
在本实施例1中,本实施例1涉及的各神经网络比如上述的第一神经网络至第三神经网络的训练过程类似,这里仅以第一神经网络为例:
第一神经网络的参数集Θ需要通过预训练获得,这里,预训练获得的参数集Θ可包括第一神经网络中卷积滤波器的权重参数WCN和偏移参数BCN。需要说明的是,本实施例1并不对需要预训练获得的参数的类型进行限定。还有,本实施例1中,预训练获得的参数集Θ还可进一步包括第一神经网络中每一卷积层的卷积滤波器数量的个数。至于第一神经网络中与网络结构相关的参数如卷积层数、卷积层的连接方式、每一卷积层中卷积核大小等参数可固定设置。
训练的步骤如下:
步骤(1):对大量未失真的、由自然图像组成的视频序列使用一种确定的视频编码系统进行逐帧编码。并按照图3a生成滤波引导信息比如边信息引导图。将滤波引导信息、失真视频数据及其对应的未失真的原始视频数据组成图像对,这些图像对组成训练集Ω。
步骤(2):初始化第一神经网络的网络参数为Θ0,对训练相关的高层参数如学习率、权值更新算法等进行合理的设置。
步骤(3):对训练集Ω进行参数为Θi的前向计算,获取第一神经网络的输出F(Y),设置一定的损失函数,损失函数的设置可以根据使用方法的不同来设置。下述公式10举例示出设置L(Θi)的一种方式:
步骤(4):利用反向传播算法对Θ进行调整,获得Θi。
步骤(5):重复步骤(3)至步骤(4),直至网络收敛,输出参数Θfinal。
需要说明的是,在视频数据处理的过程中,由于图像参考关系的变化,导致初期所提取到的训练数据和测试数据存在很大的变化,为了改善该问题,在训练过程中可以通过调节或者修改损失函数L(Θi)的设计来进一步逼近此问题。
以上对第一神经网络的训练进行了描述,第二神经网络、第三神经网络的训练过程类似,这里不再一一赘述。
至此,完成实施例1的描述。
实施例2:
参见图8,图8为本申请实施例2提供的滤波方法流程图。该方法应用于编码端,可包括以下步骤:
步骤801,确定用于对当前数据块进行滤波的目标滤波器。
本步骤801中,确定用于对当前数据块进行滤波的目标滤波器有多种实现方式,参见上述实施例1中图2、图4所示流程的结合实现了本步骤801确定用于对当前数据块进行滤波的目标滤波器的一种实现方式,这里不再赘述。
步骤802,当所述目标滤波器包括CNNF时,从所述CNNF支持的所有候选滤波路径中选择与所述当前数据块匹配的一条候选滤波路径作为目标滤波路径,所述CNNF支持的候选滤波路径是由所述CNNF中至少一个卷积层上的卷积核组成。
本步骤802在具体实现时有很多实现方式,上述图6a所示流程示出了其中一种实现方式,这里不再赘述。
步骤803,使用所述CNNF并由所述CNNF按照所述目标滤波路径对所述当前数据块进行滤波。
至此,完成图8所示流程。
通过图8所示流程,编码端能够在对当前数据块进行滤波的目标滤波器为CNNF时,决策CNNF对当前数据块进行滤波的滤波路径,以适应不同网络和不同复杂度的平台要求,提升CNNF的滤波性能。
至此,完成实施例2的描述。
实施例3:
参见图9,图9为本申请实施例3提供的滤波方法流程图。该方法应用于编码端,可包括以下步骤:
步骤901,确定用于对当前数据块进行滤波的目标滤波器。
本步骤901与上述步骤801类似,不再赘述。
步骤902,当所述目标滤波器包括CNNF时,调整所述CNNF中指定卷积层的滤波强度系数得到目标滤波强度系数。
本步骤902在具体实现时有很多实现方式,上述实施例1中描述的调整所述CNNF中指定卷积层的滤波强度系数得到目标滤波强度系数是其中一种实现方式,这里不再赘述。
步骤903,按照所述目标滤波强度系数调整CNNF对所述当前数据块进行滤波的滤波强度。
至此,完成图9所示流程。
在应用中,同一失真视频数据中不同数据块的滤波力度并不同,而通过图9所示流程,编码端能够在对当前数据块进行滤波的目标滤波器为CNNF时,决策CNNF对当前数据块进行滤波的滤波强度,以实现失真视频数据中不同数据块自适应按照不同的滤波力度进行滤波,相比整个失真视频数据按照单一的滤波策略进行滤波,图9所示流程能够大大提高CNNF的滤波性能。
以上通过3个实施例对编码端执行的流程进行了描述,下面对解码端执行的流程进行描述:
实施例4:
参见图10,图10为本申请实施例4提供的滤波方法流程图。该方法应用于解码端,可包括以下步骤:
步骤1001,确定与当前数据块匹配的滤波策略。
应用于解码端,这里的当前数据块为解码端对失真视频数据(DistortionData)进行划分得到的其中一个数据块。这里的失真视频数据是指相比原始未编码压缩的视频数据发生像素偏移的数据,比如为重建视频数据,或者为解码端对重建视频数据使用其他滤波技术进行滤波后的视频数据等。
其中,解码端可按照编码端划分数据块的方式将本解码端已处理的视频数据划分为大小相同或不同的数据块。
在一个例子中,解码端可按照与上述实施例1描述的编码端确定滤波策略的方式确定与当前数据块匹配的滤波策略,具体可参见实施例1中的步骤101。
在另一个例子中,若编码端发送的视频比特流中携带与当前数据块匹配的滤波策略的信息,比如为第一指示信息,所述第一指示信息指示对当前数据块进行滤波的目标滤波器的信息;基于此,本步骤1001中确定与当前数据块匹配的滤波策略可包括:从接收的来自编码端的视频比特流中获取第一指示信息,所述第一指示信息指示对当前数据块进行滤波的目标滤波器的信息;依据所述第一指示信息确定用于对所述当前数据块进行滤波的目标滤波器。
步骤1002,按照与当前数据块匹配的滤波策略对所述当前数据块进行滤波。
在上述步骤1001为当前数据块确定匹配的滤波策略后,本步骤1002就可以直接按照与当前数据块匹配的滤波策略对当前数据块进行滤波。至于本步骤1002如何按照与当前数据块匹配的滤波策略对当前数据块进行滤波,主要取决于与当前数据块匹配的滤波策略,下文会举例描述,这里暂不赘述。
至此,完成图10所示流程。
通过图10所示流程可以看出,在本申请中,解码端通过为失真视频数据中各个不同数据块确定相匹配的滤波策略,按照与数据块匹配的滤波策略对数据块执行滤波,这实现失真视频数据的去失真,防止因失真导致的视觉障碍或假象;
进一步地,本申请自适应地为失真视频数据中的各个数据块匹配对应的滤波策略,以实现失真视频数据中的各个数据块按照匹配的滤波策略进行滤波,而非一刀切地局限失真视频数据中所有数据块按照单一的一个滤波策略进行滤波,这避免了帧间参考中滤波误差累积问题,提高滤波泛化性能,也增强了滤波质量。
上述步骤1002如何按照与当前数据块匹配的滤波策略对当前数据块进行滤波,主要取决于步骤1001确定的与当前数据块匹配的滤波策略。其中,当步骤1001确定的与当前数据块匹配的滤波策略为对所述当前数据块进行滤波的目标滤波器,则步骤1002可采用目标滤波器对当前数据块进行滤波。
下面通过一个具体实施例描述图10所示流程:
参见图11,图11示出了一个使用帧内/帧间预测的视频解码系统。如图11所示,使用熵解码器对接收到的视频比特流进行熵解码处理,得到残差数据与边信息,边信息包括帧内模式信息、帧间模式信息、量化参数、与卷积神经网络滤波器相关的一组滤波器决策结果等。其中,帧内模式信息被送至帧内预测模块以恢复帧内预测数据,帧间模式信息被送至帧间预测模块以恢复帧间预测数据。残差数据经过反量化及反变换模块的处理,得到预测误差;使用开关来确定使用帧内预测数据或者帧间预测数据作为所选的预测数据送入重建模块。预测误差与预测数据经过重建处理,得到重建数据。重建数据相对于未经过视频编码处理的原始视频数据通常会发生强度偏移(即失真,重建数据可为上述的失真视频数据)。在重建数据加入到参考帧列表之前,需要对其进行滤波处理。
滤波时,按照与编码端相同的分块方式将重建数据进行分块处理,假如分成的各个数据块为:大小为64x64的CTU。按照与编码端相同的扫描顺序扫描每个CTU,扫描到的CTU为当前CTU。
假若来自编码端的视频比特流携带滤波策略信息,以滤波策略信息包括第一指示信息为例,则可从来自编码端的视频比特流中获取当前CTU对应的第一指示信息,依据当前CTU对应的第一指示信息确定用于对当前CTU进行滤波的目标滤波器。使用目标滤波器对该当前CTU的重建数据进行滤波。
假若来自编码端的视频比特流未携带上述的滤波策略信息,则可按照类似上述实施例1中图2至图4所示流程获取对当前CTU进行滤波的滤波策略信息。基于图4所示流程,当滤波策略信息包括第一滤波信息,则根据第一滤波信息确定用于对当前CTU进行滤波的目标滤波器。使用目标滤波器对该当前CTU的重建数据进行滤波。
假若对当前CTU进行滤波的目标滤波器为CNNF,则对当前CTU内的重建数据使用CNNF进行滤波。
若对当前CTU进行滤波的目标滤波器为ALF,则对当前CTU内的重建数据使用ALF进行滤波。
若对当前CTU进行滤波的目标滤波器为空或者默认标识,则不对当前CTU进行滤波,则直接将当前CTU的重建数据块拷贝到输出图上。
若对当前CTU进行滤波的目标滤波器为ALF与CNNF的滤波组合,则可先使用ALF对当前CTU进行滤波,然后再使用CNNF对当前CTU进行滤波(滤波顺序可人为进行控制,也可以通过神经网络比如上述第一神经网络决策。
以此类推,最终实现了使用目标滤波器对该当前CTU的重建数据进行滤波。
至此,完成图11所示实施例的描述。图11以目标滤波器为CNNF和ALF为例示出。
下面以目标滤波器包括至少一个CNNF为例描述:
参见图12,图12为本申请实施例4提供的使用CNNF对当前数据块进行滤波的流程图。如图12所示,该流程可包括以下步骤:
步骤1201,从CNNF支持的所有候选滤波路径中确定与所述当前数据块匹配的一条候选滤波路径作为目标滤波路径。
本步骤1201有很多实现方式,其中一种实现方式可采用实施例1中图6a所示流程。
在另一种实现方式中,若编码端发送的视频比特流中携带第二指示信息。第二指示信息指示CNNF对当前数据块进行滤波的目标滤波路径的路径标识。基于此,本步骤1201可包括:从接收的来自编码端的视频比特流中获取第二指示信息,所述第二指示信息指示所述CNNF对当前数据块进行滤波的目标滤波路径的路径标识;根据所述第二指示信息指示的路径标识从所述CNNF支持的所有候选滤波路径中选择与所述路径标识对应的目标滤波路径。
步骤1202,使用所述CNNF并由所述CNNF按照目标滤波路径对当前数据块进行滤波。
至此,完成图12所示流程。
通过图12所示流程,能够在目标滤波器为CNNF时,解码端决策CNNF对当前数据块进行滤波的滤波路径,以适应不同网络和不同复杂度的平台要求,提升CNNF的滤波性能。
另外,本实施例1中,在使用CNNF对当前数据块进行滤波之前,可进一步调整所述CNNF中指定卷积层的滤波强度系数得到目标滤波强度系数,以使所述CNNF按照所述目标滤波强度系数调整所述当前数据块的滤波强度,最终实现了CNNF对当前数据块的滤波强度的调整。具体地,如何调整CNNF中指定卷积层的滤波强度系数得到目标滤波强度系数,可参见实施例1,这里不再赘述。
至此,完成实施例4的描述。
实施例5:
参见图13,图13为本申请实施例5提供的滤波方法流程图。该方法应用于解码端,可包括以下步骤:
步骤1301,确定用于对当前数据块进行滤波的目标滤波器。
本步骤1301中,确定用于对当前数据块进行滤波的目标滤波器有多种实现方式,其中一种实现方式可按照与编码端确定目标滤波器相同的方式确定;另一种实现方式可从接收的来自编码端的视频比特流中获取第一指示信息,所述第一指示信息指示对当前数据块进行滤波的目标滤波器的信息;依据所述第一指示信息确定用于对所述当前数据块进行滤波的目标滤波器。
步骤1302,当所述目标滤波器包括CNNF时,从所述CNNF支持的所有候选滤波路径中选择与所述当前数据块匹配的一条候选滤波路径作为目标滤波路径,所述CNNF支持的候选滤波路径是由所述CNNF中至少一个卷积层上的卷积核组成。
本步骤1302可参见上述步骤1201,这里不再赘述。
步骤1303,使用所述CNNF并由所述CNNF按照所述目标滤波路径对所述当前数据块进行滤波。
本步骤1303可参见上述步骤1202,这里不再赘述。
至此,完成图13所示流程。
通过图13所示流程,解码端能够在对当前数据块进行滤波的目标滤波器为CNNF时,决策CNNF对当前数据块进行滤波的滤波路径,以适应不同网络和不同复杂度的平台要求,提升CNNF的滤波性能。
至此,完成实施例5的描述。
实施例14:
参见图14,图14为本申请实施例6提供的滤波方法流程图。该方法应用于解码端,可包括以下步骤:
步骤1401,确定用于对当前数据块进行滤波的目标滤波器。
本步骤1401与上述步骤801类似,不再赘述。
步骤1402,当所述目标滤波器包括CNNF时,调整所述CNNF中指定卷积层的滤波强度系数得到目标滤波强度系数。
本步骤1402在具体实现时有很多实现方式,上述实施例1中描述的调整所述CNNF中指定卷积层的滤波强度系数得到目标滤波强度系数是其中一种实现方式,这里不再赘述。
步骤1403,按照所述目标滤波强度系数调整CNNF对所述当前数据块进行滤波的滤波强度。
至此,完成图14所示流程。
在应用中,同一失真视频数据中不同数据块的滤波力度并不同,而通过图14所示流程,解码端能够在对当前数据块进行滤波的目标滤波器为CNNF时,决策CNNF对当前数据块进行滤波的滤波强度,以实现失真视频数据中不同数据块自适应按照不同的滤波力度进行滤波,相比整个失真视频数据按照单一的滤波策略进行滤波,图14所示流程能够大大提高CNNF的滤波性能。
以上通过3个实施例对解码端执行的流程进行了描述。
下面对本申请提供的设备进行描述:
参见图15,图15为本申请提供的编码端设备的第一种结构图。图15所示的编码端设备对应上述实施例1,如图15所示,编码端设备可包括:
滤波策略单元1501,用于确定与当前数据块匹配的滤波策略,所述当前数据块为失真视频数据中的一个数据块;
滤波单元1502,用于按照与所述当前数据块匹配的滤波策略对所述当前数据块进行滤波。
作为一个实施例,滤波策略单元1501确定与当前数据块匹配的滤波策略包括:
依据当前数据块确定待输入至第一神经网络的目标数据信息;
将所述目标数据信息输入至第一神经网络,第一神经网络用于输出对当前数据块进行滤波的滤波策略信息;
依据所述滤波策略信息确定与所述当前数据块匹配的滤波策略。
作为一个实施例,滤波策略单元1501依据当前数据块确定待输入至第一神经网络的目标数据信息包括:获取所述当前数据块的滤波引导信息;将所述当前数据块和所述滤波引导信息确定为所述目标数据信息。其中,所述滤波引导信息至少包括由所述当前数据块的失真特征信息组成的边信息引导图
作为另一个实施例,滤波策略单元1501依据当前数据块确定待输入至第一神经网络的目标数据信息包括:将所述当前数据块的数据特征信息或者所述当前数据块确定为所述目标数据信息。
在一个例子中,所述滤波策略信息包括第一滤波信息,所述第一滤波信息用于指示对当前数据块进行滤波的目标滤波器;
所述滤波策略单元1501依据滤波策略信息确定与所述当前数据块匹配的滤波策略包括:根据所述第一滤波信息确定用于对所述当前数据块进行滤波的目标滤波器。
在一个例子中,滤波单元1502按照与当前数据块匹配的滤波策略对当前数据块执行滤波包括:若目标滤波器的数量大于1,则依据各目标滤波器的优先级确定各目标滤波器对所述当前数据块进行滤波的滤波顺序;按照所述滤波顺序使用各目标滤波器对所述当前数据块进行滤波。
作为一个实施例,所述目标滤波器包括至少一个CNNF;基于此,滤波单元1502使用所述CNNF对所述当前数据块进行滤波包括:从所述CNNF支持的所有候选滤波路径中确定与所述当前数据块匹配的一条候选滤波路径作为目标滤波路径;使用所述CNNF并由所述CNNF按照所述目标滤波路径对所述当前数据块进行滤波。所述候选滤波路径是由所述CNNF中至少一个卷积层上的卷积核组成。
作为一个实施例,滤波单元1502从CNNF支持的所有候选滤波路径中确定与所述当前数据块匹配的一条候选滤波路径作为目标滤波路径包括:将所述当前数据块或当前数据块相关的数据信息输入至第二神经网络,以由所述第二神经网络从所述CNNF支持的所有候选滤波路径中选择与所述当前数据块匹配的目标滤波路径。
在另一个例子中,所述滤波策略信息还包括第二滤波信息,所述第二滤波信息用于指示所述CNNF对当前数据块进行滤波的目标滤波路径的路径标识;
基于此,滤波单元1502从CNNF支持的所有候选滤波路径中选择与所述当前数据块匹配的一条候选滤波路径作为目标滤波路径包括:根据所述第二滤波信息指示的路径标识从所述CNNF支持的所有候选滤波路径中选择与所述路径标识对应的目标滤波路径。
在本实施例中,滤波单元1502在使用所述CNNF对所述当前数据块进行滤波之前,进一步调整所述CNNF中指定卷积层的滤波强度系数得到目标滤波强度系数,以使所述CNNF按照所述目标滤波强度系数调整所述当前数据块的滤波强度。其中,所述指定卷积层是指:所述CNNF中除滤波强度系数小于预设系数阈值的卷积层之外的其他至少一个卷积层。
在一个例子中,所述指定卷积层用于对所述当前数据块的多个特征图进行滤波;
所述目标滤波强度系数用于调整所述指定卷积层中卷积核的权重系数和/或偏置系数;其中,针对任一所述特征图的任一通道,所述指定卷积层中用于对所述特征图进行滤波的不同卷积核的权重系数和/或偏置系数调整为相同;和/或,针对任一所述特征图的任一通道,所述指定卷积层中用于对所述特征图进行滤波的不同卷积核的权重系数和/或偏置系数调整为不同。
在另一个例子中,所述调整CNNF中指定卷积层的滤波强度系数得到目标滤波强度系数包括:将所述指定卷积层中至少一个通道的通道特征映射图输入至第三神经网络,以由所述第三神经网络输出目标滤波强度系数。
本实施例中,滤波策略单元1501在将所述目标数据信息输入至第一神经网络之前,进一步使用所述编码端设备支持的编码预测类型对滤波引导信息进行调整,以使调整后的滤波引导信息满足所述编码端支持的数据要求。
本实施例中,滤波策略单元1501将目标数据信息输入至第一神经网络包括:将所述当前数据块和所述滤波引导信息合并输入至第一神经网络;或者,将所述当前数据块和所述滤波引导信息按照指定顺序分开输入至第一神经网络。
作为一个实施例,这里,将当前数据块和所述滤波引导信息按照指定顺序分开输入至第一神经网络可包括:
先将所述当前数据块输入至第一神经网络,在所述第一神经网络中的指定计算层对输入的当前数据块进行处理后,将所述滤波引导信息输入至第一神经网络,以使所述指定计算层的下一个计算层对输入的滤波引导信息和所述指定计算层处理后的当前数据块进行处理,所述指定计算层为所述第一神经网络中除最后一个计算层之外的任一计算层。
作为一个实施例,目标滤波器至少包括以下滤波器的任一组合:SAO、ALF、DBK、BF和CNNF。
作为一个实施例,本申请中,滤波策略单元1501进一步根据上述第一滤波信息生成第一指示信息;所述第一指示信息指示对当前数据块进行滤波的目标滤波器的信息;将所述第一指示信息发送给解码端。
作为一个实施例,本申请中,滤波策略单元1501进一步根据上述第二滤波信息生成第二指示信息;所述第二指示信息指示所述CNNF对当前数据块进行滤波的目标滤波路径的路径标识;将所述第二指示信息发送给解码端。
至此,完成图15所示编码端设备的第一种结构描述。
参见图16,图16为本申请提供的编码端设备的第二种结构图。图16所示的编码端设备对应上述实施例2,如图16所示,编码端设备包括:
确定单元1601,用于确定用于对当前数据块进行滤波的目标滤波器;
滤波策略单元1602,用于当所述目标滤波器包括CNNF时,从所述CNNF支持的所有候选滤波路径中选择与所述当前数据块匹配的一条候选滤波路径作为目标滤波路径,所述CNNF支持的候选滤波路径是由所述CNNF中至少一个卷积层上的卷积核组成。
滤波单元1603,用于使用所述CNNF并由所述CNNF按照所述目标滤波路径对所述当前数据块进行滤波。
作为一个实施例,确定单元1601确定用于对当前数据块进行滤波的目标滤波器包括:依据当前数据块确定待输入至第一神经网络的目标数据信息;将所述目标数据信息输入至第一神经网络,第一神经网络用于输出滤波策略信息,所述滤波策略信息包括第一滤波信息,用于指示对当前数据块进行滤波的目标滤波器;根据所述第一滤波信息确定用于对所述当前数据块进行滤波的目标滤波器。
作为一个实施例,所述滤波策略信息进一步包括第二滤波信息,所述第二滤波信息用于指示所述CNNF对当前数据块进行滤波的目标滤波路径的路径标识;滤波策略单元1602从CNNF支持的所有候选滤波路径中确定与所述当前数据块匹配的一条候选滤波路径作为目标滤波路径包括:
根据所述第二滤波信息指示的路径标识从所述CNNF支持的所有候选滤波路径中选择与所述路径标识对应的目标滤波路径。
作为另一个实施例,滤波策略单元1602从CNNF支持的所有候选滤波路径中确定与所述当前数据块匹配的一条候选滤波路径作为目标滤波路径包括:
将所述当前数据块或当前数据块相关的数据信息输入至第二神经网络,以由所述第二神经网络从所述CNNF支持的所有候选滤波路径中选择与所述当前数据块匹配的目标滤波路径。
至此,完成图16所示编码端设备的第二种结构描述。
参见图17,图17为本申请提供的编码端设备的第三种结构图。图17所示的编码端设备对应上述实施例3,如图17所示,编码端设备包括:
确定单元1701,用于确定用于对当前数据块进行滤波的目标滤波器。
滤波策略单元1702,用于当所述目标滤波器包括CNNF时,调整所述CNNF中指定卷积层的滤波强度系数得到目标滤波强度系数;
滤波单元1703,用于按照所述目标滤波强度系数调整所述CNNF对所述当前数据块进行滤波的滤波强度。
在一个例子中,所述指定卷积层是指:所述CNNF中除滤波强度系数小于预设系数阈值的卷积层之外的其他至少一个卷积层。
在本实施例中,所述指定卷积层用于对所述当前数据块的多个特征图进行滤波;所述目标滤波强度系数用于调整所述指定卷积层中卷积核的权重系数和/或偏置系数;
其中,同一卷积核的权重系数和/或偏置系数的调整幅度相同;或者,同一卷积核的权重系数和/或偏置系数的调整幅度不同。
在一个例子中,滤波策略单元1702调整CNNF中指定卷积层的滤波强度系数得到目标滤波强度系数可包括:
将所述当前图像块或当前图像块相关的数据信息输入至第三神经网络,以由所述第三神经网络决策出所述指定卷积层中不同卷积核的权重系数和/或偏置系数对应的调整系数;
将所述指定卷积层中不同卷积核的权重系数和/或偏置系数与对应的调整系数进行设定运算得到所述目标滤波强度系数。
至此,完成图17所示编码端设备的第三种结构描述。
本申请还提供了编码端设备的硬件结构图,具体参见图18。参见图18,图18为本申请提供的编码端设备的硬件结构图,其可包括:
机器可读存储介质1801和处理器1802。
机器可读存储介质1801,用于存储机器可读指令;
处理器1802,用于读取所述机器可读指令,并执行所述指令以实现上述实施例1至3任一所述的滤波方法。
至此,完成图18所示的硬件结构描述。
参见图19,图19为本申请提供的解码端设备的第一种结构图。图19所示的解码端设备对应上述实施例4,如图19所示,解码端设备可包括:
滤波策略单元1901,用于确定与当前数据块匹配的滤波策略,所述当前数据块为失真视频数据中的一个数据块;
滤波单元1902,用于按照与所述当前数据块匹配的滤波策略对所述当前数据块进行滤波。
作为一个实施例,滤波策略单元1901确定与当前数据块匹配的滤波策略包括:
从接收的来自编码端的视频比特流中获取第一指示信息,所述第一指示信息指示对当前数据块进行滤波的目标滤波器的信息;
依据所述第一指示信息确定用于对所述当前数据块进行滤波的目标滤波器。
作为另一个实施例,滤波策略单元1901可按照编码端设备中滤波策略单元1501确定滤波策略的方式确定与当前数据块匹配的滤波策略。
在一个例子中,滤波单元1902按照与当前数据块匹配的滤波策略对当前数据块执行滤波包括:若目标滤波器的数量大于1,则依据各目标滤波器的优先级确定各目标滤波器对所述当前数据块进行滤波的滤波顺序;按照所述滤波顺序使用各目标滤波器对所述当前数据块进行滤波。
作为一个实施例,所述目标滤波器包括至少一个CNNF;基于此,滤波单元1902使用所述CNNF对所述当前数据块进行滤波包括:从所述CNNF支持的所有候选滤波路径中确定与所述当前数据块匹配的一条候选滤波路径作为目标滤波路径;使用所述CNNF并由所述CNNF按照所述目标滤波路径对所述当前数据块进行滤波。所述候选滤波路径是由所述CNNF中至少一个卷积层上的卷积核组成。
作为一个实施例,滤波单元1902从CNNF支持的所有候选滤波路径中确定与所述当前数据块匹配的一条候选滤波路径作为目标滤波路径包括:
从接收的来自编码端的视频比特流中获取第二指示信息,所述第二指示信息指示所述CNNF对当前数据块进行滤波的目标滤波路径的路径标识;
根据所述第二指示信息指示的路径标识从所述CNNF支持的所有候选滤波路径中选择与所述路径标识对应的目标滤波路径。
作为另一个实施例,滤波单元1902可按照编码端设备中滤波单元1502选择目标滤波路径的方式选择与所述当前数据块对应的目标滤波路径。
在本实施例中,滤波单元1902在使用所述CNNF对所述当前数据块进行滤波之前,可进一步按照与编码端设备中滤波单元1502相同的方式调整所述CNNF中指定卷积层的滤波强度系数得到目标滤波强度系数,以使所述CNNF按照所述目标滤波强度系数调整所述当前数据块的滤波强度。
至此,完成图19所示解码端设备的第一种结构描述。
参见图20,图20为本申请提供的解码端设备的第二种结构图。图20所示的解码端设备对应上述实施例5,如图20所示,解码端设备包括:
确定单元2001,用于确定用于对当前数据块进行滤波的目标滤波器;
滤波策略单元2002,用于当所述目标滤波器包括CNNF时,从所述CNNF支持的所有候选滤波路径中选择与所述当前数据块匹配的一条候选滤波路径作为目标滤波路径,所述CNNF支持的候选滤波路径是由所述CNNF中至少一个卷积层上的卷积核组成。
滤波单元2003,用于使用所述CNNF并由所述CNNF按照所述目标滤波路径对所述当前数据块进行滤波。
作为一个实施例,确定单元2001可按照类似上述确定单元1601相同的方式确定用于对当前数据块进行滤波的目标滤波器。
作为另一个实施例,确定单元2001另可从接收的来自编码端的视频比特流中获取第一指示信息,所述第一指示信息指示对当前数据块进行滤波的目标滤波器的信息;依据所述第一指示信息确定用于对所述当前数据块进行滤波的目标滤波器。
至此,完成图20所示解码端设备的第二种结构描述。
参见图21,图21为本申请提供的解码端设备的第三种结构图。图21所示的编码端设备对应上述实施例6,如图21所示,编码端设备包括:
确定单元2101,用于确定用于对当前数据块进行滤波的目标滤波器。
确定单元2101可按照与上述确定单元1981相同的方式确定用于对当前数据块进行滤波的目标滤波器。
滤波策略单元2102,用于当所述目标滤波器包括CNNF时,调整所述CNNF中指定卷积层的滤波强度系数得到目标滤波强度系数。滤波策略单元2102可按照与上述滤波策略单元1702相同的方式调整所述CNNF中指定卷积层的滤波强度系数得到目标滤波强度系数。
滤波单元2103,用于按照所述目标滤波强度系数调整所述CNNF对所述当前数据块进行滤波的滤波强度。
至此,完成图21所示解码端设备的第三种结构描述。
本申请还提供了解码端设备的硬件结构图,具体参见图22。参见图22,图22为本申请提供的解码端设备的硬件结构图,其可包括:
机器可读存储介质2201和处理器2202。
机器可读存储介质2201,用于存储机器可读指令;
处理器2202,用于读取所述机器可读指令,并执行所述指令以实现上述实施例4至6任一所述的滤波方法。
至此,完成图22所示的硬件结构描述。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (32)
1.一种滤波方法,其特征在于,该方法包括:
确定与当前数据块匹配的滤波策略,所述当前数据块为相比原始视频数据发生失真的失真视频数据中的一个数据块;所述滤波策略至少包括对当前数据块进行滤波的目标滤波器;
按照与所述当前数据块匹配的滤波策略对所述当前数据块进行滤波;当所述目标滤波器包括至少一个卷积神经网络滤波器CNNF时,则使用所述CNNF对所述当前数据块进行滤波,其中,使用所述CNNF对所述当前数据块进行滤波包括:从所述CNNF支持的所有候选滤波路径中确定与所述当前数据块匹配的一条候选滤波路径作为目标滤波路径;所述候选滤波路径是由所述CNNF中至少一个卷积层上的卷积核组成;使用所述CNNF并由所述CNNF按照所述目标滤波路径对所述当前数据块进行滤波。
2.根据权利要求1所述的方法,其特征在于,所述确定与当前数据块匹配的滤波策略包括:
依据当前数据块确定待输入至第一神经网络的目标数据信息;
将所述目标数据信息输入至第一神经网络,第一神经网络用于输出对当前数据块进行滤波的滤波策略信息;
依据所述滤波策略信息确定与所述当前数据块匹配的滤波策略。
3.根据权利要求2所述的方法,其特征在于,所述依据当前数据块确定待输入至第一神经网络的目标数据信息包括:
获取所述当前数据块的滤波引导信息;
将所述当前数据块和所述滤波引导信息确定为所述目标数据信息。
4.根据权利要求3所述的方法,其特征在于,所述滤波引导信息至少包括由所述当前数据块的失真特征信息组成的边信息引导图。
5.根据权利要求2所述的方法,其特征在于,所述依据当前数据块确定待输入至第一神经网络的目标数据信息包括:
将所述当前数据块或者所述当前数据块的数据特征信息确定为所述目标数据信息。
6.根据权利要求2所述的方法,其特征在于,所述滤波策略信息包括第一滤波信息,所述第一滤波信息用于指示对当前数据块进行滤波的目标滤波器;
所述依据滤波策略信息确定与所述当前数据块匹配的滤波策略包括:
根据所述第一滤波信息确定用于对所述当前数据块进行滤波的目标滤波器。
7.根据权利要求6所述的方法,其特征在于,所述按照与当前数据块匹配的滤波策略对当前数据块执行滤波包括:
若目标滤波器的数量大于1,则依据各目标滤波器的优先级确定各目标滤波器对所述当前数据块进行滤波的滤波顺序;
按照所述滤波顺序使用各目标滤波器对所述当前数据块进行滤波。
8.根据权利要求1所述的方法,其特征在于,所述从CNNF支持的所有候选滤波路径中确定与所述当前数据块匹配的一条候选滤波路径作为目标滤波路径包括:
将所述当前数据块或当前数据块相关的数据信息输入至第二神经网络,以由所述第二神经网络从所述CNNF支持的所有候选滤波路径中选择与所述当前数据块匹配的目标滤波路径。
9.根据权利要求1所述的方法,其特征在于,所述滤波策略信息包括第二滤波信息,所述第二滤波信息用于指示所述CNNF对当前数据块进行滤波的目标滤波路径的路径标识;
所述从CNNF支持的所有候选滤波路径中确定与所述当前数据块匹配的一条候选滤波路径作为目标滤波路径包括:
根据所述第二滤波信息指示的路径标识从所述CNNF支持的所有候选滤波路径中选择与所述路径标识对应的目标滤波路径。
10.根据权利要求 6所述的方法,其特征在于,在使用所述CNNF对所述当前数据块进行滤波之前,该方法进一步包括:
调整所述CNNF中指定卷积层的滤波强度系数得到目标滤波强度系数,以使所述CNNF按照所述目标滤波强度系数调整所述当前数据块的滤波强度。
11.根据权利要求10所述的方法,其特征在于,所述指定卷积层是指:
所述CNNF中除滤波强度系数小于预设系数阈值的卷积层之外的其他至少一个卷积层。
12.根据权利要求10所述的方法,其特征在于,所述指定卷积层用于对所述当前数据块的多个特征图进行滤波;所述目标滤波强度系数用于调整所述指定卷积层中卷积核的权重系数和/或偏置系数;
其中,同一卷积核的权重系数和/或偏置系数的调整幅度相同;或者,同一卷积核的权重系数和/或偏置系数的调整幅度不同。
13.根据权利要求10所述的方法,其特征在于,所述调整CNNF中指定卷积层的滤波强度系数得到目标滤波强度系数包括:
将所述当前数据块或当前数据块相关的数据信息输入至第三神经网络,以由所述第三神经网络决策出所述指定卷积层中不同卷积核的权重系数和/或偏置系数对应的调整系数;
将所述指定卷积层中不同卷积核的权重系数和/或偏置系数与对应的调整系数进行设定运算得到所述目标滤波强度系数。
14.根据权利要求3所述的方法,其特征在于,在将所述目标数据信息输入至第一神经网络之前,进一步包括:
使用编码预测类型对所述滤波引导信息进行调整,以使调整后的滤波引导信息满足编码端支持的数据要求。
15.根据权利要求3所述的方法,其特征在于,所述将目标数据信息输入至第一神经网络包括:
将所述当前数据块和所述滤波引导信息合并输入至第一神经网络;或者,
将所述当前数据块和所述滤波引导信息按照指定顺序分开输入至第一神经网络。
16.根据权利要求1所述的方法,其特征在于,所述目标滤波器至少包括以下滤波器的任一组合:
样点自适应补偿SAO滤波器、自适应环路滤波器ALF、去块DBK滤波器、带通滤波器BF和卷积神经网络滤波器CNNF。
17.根据权利要求1至16任一所述的方法,其特征在于,该方法应用于编码端或解码端。
18.根据权利要求6至7任一、10至13任一所述的方法,其特征在于,当该方法应用于编码端时,该方法进一步包括:
根据所述第一滤波信息生成第一指示信息;所述第一指示信息指示对当前数据块进行滤波的目标滤波器的信息;
将所述第一指示信息发送给解码端。
19.根据权利要求9所述的方法,其特征在于,当该方法应用于编码端时,该方法进一步包括:
根据所述第二滤波信息生成第二指示信息;所述第二指示信息指示所述CNNF对当前数据块进行滤波的目标滤波路径的路径标识;
将所述第二指示信息发送给解码端。
20.根据权利要求1、7至16任一所述的方法,其特征在于,当该方法应用于解码端时,所述确定与当前数据块匹配的滤波策略包括:
从接收的来自编码端的视频比特流中获取第一指示信息,所述第一指示信息指示对当前数据块进行滤波的目标滤波器的信息;
依据所述第一指示信息确定用于对所述当前数据块进行滤波的目标滤波器。
21.根据权利要求1所述的方法,其特征在于,当该方法应用于解码端时,所述从CNNF支持的所有候选滤波路径中确定与所述当前数据块匹配的一条候选滤波路径作为目标滤波路径包括:
从接收的来自编码端的视频比特流中获取第二指示信息,所述第二指示信息指示所述CNNF对当前数据块进行滤波的目标滤波路径的路径标识;
根据所述第二指示信息指示的路径标识从所述CNNF支持的所有候选滤波路径中选择与所述路径标识对应的目标滤波路径。
22.一种滤波方法,其特征在于,所述方法包括:
确定用于对当前数据块进行滤波的目标滤波器;所述当前数据块为相比原始视频数据发生失真的失真视频数据中的一个数据块;
当所述目标滤波器包括卷积神经网络滤波器CNNF时,从所述CNNF支持的所有候选滤波路径中选择与所述当前数据块匹配的一条候选滤波路径作为目标滤波路径,使用所述CNNF并由所述CNNF按照所述目标滤波路径对所述当前数据块进行滤波,所述CNNF支持的候选滤波路径是由所述CNNF中至少一个卷积层上的卷积核组成。
23.根据权利要求22所述的方法,其特征在于,所述方法应用于编码端或解码端;所述确定用于对当前数据块进行滤波的目标滤波器包括:
依据当前数据块确定待输入至第一神经网络的目标数据信息;
将所述目标数据信息输入至第一神经网络,第一神经网络用于输出滤波策略信息,所述滤波策略信息包括第一滤波信息,用于指示对当前数据块进行滤波的目标滤波器;
根据所述第一滤波信息确定用于对所述当前数据块进行滤波的目标滤波器。
24.根据权利要求23所述的方法,其特征在于,所述滤波策略信息进一步包括第二滤波信息,所述第二滤波信息用于指示所述CNNF对当前数据块进行滤波的目标滤波路径的路径标识;
所述从CNNF支持的所有候选滤波路径中选择与所述当前数据块匹配的一条候选滤波路径作为目标滤波路径包括:
根据所述第二滤波信息指示的路径标识从所述CNNF支持的所有候选滤波路径中选择与所述路径标识对应的目标滤波路径。
25.根据权利要求22所述的方法,其特征在于,所述方法应用于编码端或解码端;所述从CNNF支持的所有候选滤波路径中选择与所述当前数据块匹配的一条候选滤波路径作为目标滤波路径包括:
将所述当前数据块或当前数据块相关的数据信息输入至第二神经网络,以由所述第二神经网络从所述CNNF支持的所有候选滤波路径中选择与所述当前数据块匹配的目标滤波路径。
26.根据权利要求22所述的方法,其特征在于,所述方法应用于解码端;
所述从CNNF支持的所有候选滤波路径中选择与所述当前数据块匹配的一条候选滤波路径作为目标滤波路径包括:
从接收的来自编码端的视频比特流中获取第二指示信息,所述第二指示信息指示所述CNNF对当前数据块进行滤波的目标滤波路径的路径标识;
根据所述第二指示信息指示的路径标识从所述CNNF支持的所有候选滤波路径中选择与所述路径标识对应的目标滤波路径。
27.根据权利要求22所述的方法,其特征在于,所述方法应用于解码端;所述确定用于对当前数据块进行滤波的目标滤波器包括:
从接收的来自编码端的视频比特流中获取第一指示信息,所述第一指示信息指示对当前数据块进行滤波的目标滤波器的信息;
依据所述第一指示信息确定用于对所述当前数据块进行滤波的目标滤波器。
28.一种滤波方法,其特征在于,该方法包括:
确定用于对当前数据块进行滤波的目标滤波器;所述当前数据块为相比原始视频数据发生失真的失真视频数据中的一个数据块;
当所述目标滤波器包括卷积神经网络滤波器CNNF时,调整所述CNNF中指定卷积层的滤波强度系数得到目标滤波强度系数;所述指定卷积层是指:
所述CNNF中除滤波强度系数小于预设系数阈值的卷积层之外的其他至少一个卷积层;
按照所述目标滤波强度系数调整所述CNNF对所述当前数据块进行滤波的滤波强度。
29.根据权利要求28所述的方法,其特征在于,所述指定卷积层用于对所述当前数据块的多个特征图进行滤波;
所述目标滤波强度系数用于调整所述指定卷积层中卷积核的权重系数和/或偏置系数;其中,同一卷积核的权重系数和/或偏置系数的调整幅度相同;或者,同一卷积核的权重系数和/或偏置系数的调整幅度不同。
30.根据权利要求28所述的方法,其特征在于,所述调整CNNF中指定卷积层的滤波强度系数得到目标滤波强度系数包括:
将所述当前数据块或当前数据块相关的数据信息输入至第三神经网络,以由所述第三神经网络决策出所述指定卷积层中不同卷积核的权重系数和/或偏置系数对应的调整系数;
将所述指定卷积层中不同卷积核的权重系数和/或偏置系数与对应的调整系数进行设定运算得到所述目标滤波强度系数。
31.一种编码端设备,其特征在于,包括:机器可读存储介质和处理器;
其中,所述机器可读存储介质,用于存储机器可读指令;
所述处理器,用于读取所述机器可读指令,并执行所述指令以实现权利要求1至16、18至19、22至25、28至30任一所述的滤波方法。
32.一种解码端设备,其特征在于,包括:机器可读存储介质和处理器;
其中,所述机器可读存储介质,用于存储机器可读指令;
所述处理器,用于读取所述机器可读指令,并执行所述指令,以实现权利要求1至16、20至21、22至27、28至30任一所述的滤波方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811143399.3A CN110971915B (zh) | 2018-09-28 | 2018-09-28 | 滤波方法和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811143399.3A CN110971915B (zh) | 2018-09-28 | 2018-09-28 | 滤波方法和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110971915A CN110971915A (zh) | 2020-04-07 |
CN110971915B true CN110971915B (zh) | 2022-07-01 |
Family
ID=70027264
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811143399.3A Active CN110971915B (zh) | 2018-09-28 | 2018-09-28 | 滤波方法和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110971915B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022067806A1 (zh) * | 2020-09-30 | 2022-04-07 | Oppo广东移动通信有限公司 | 一种视频编解码方法、编码器、解码器及存储介质 |
US20220101095A1 (en) * | 2020-09-30 | 2022-03-31 | Lemon Inc. | Convolutional neural network-based filter for video coding |
US11979591B2 (en) | 2021-04-06 | 2024-05-07 | Lemon Inc. | Unified neural network in-loop filter |
CN117280693A (zh) * | 2021-04-14 | 2023-12-22 | 抖音视界有限公司 | 统一神经网络滤波器模型 |
US11949918B2 (en) | 2021-04-15 | 2024-04-02 | Lemon Inc. | Unified neural network in-loop filter signaling |
CN114025160B (zh) * | 2021-11-26 | 2023-06-02 | 成都爱奇艺智能创新科技有限公司 | 一种视频滤波方法、装置、电子设备及存储介质 |
CN114157874A (zh) * | 2021-12-03 | 2022-03-08 | 北京达佳互联信息技术有限公司 | 环路滤波方法和环路滤波装置 |
WO2023123398A1 (zh) * | 2021-12-31 | 2023-07-06 | Oppo广东移动通信有限公司 | 滤波方法、滤波装置以及电子设备 |
CN115348448B (zh) * | 2022-10-19 | 2023-02-17 | 北京达佳互联信息技术有限公司 | 滤波器训练方法、装置、电子设备及存储介质 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1571515A (zh) * | 2004-05-13 | 2005-01-26 | 中国科学院计算技术研究所 | 一种环路滤波器及滤波方法 |
CA2638465A1 (en) * | 2007-08-01 | 2009-02-01 | Jean-Yves Chouinard | Learning filters for enhancing the quality of block coded still and video images |
JP2011223302A (ja) * | 2010-04-09 | 2011-11-04 | Sony Corp | 画像処理装置と画像処理方法 |
CN103379319B (zh) * | 2012-04-12 | 2018-03-20 | 中兴通讯股份有限公司 | 一种滤波方法、滤波器及包含该滤波器的编码器和解码器 |
KR102291454B1 (ko) * | 2014-11-26 | 2021-08-19 | 커네리 캐피탈 엘엘씨 | 신경망 구조 및 그에 대한 방법 |
CN107925762B (zh) * | 2015-09-03 | 2020-11-27 | 联发科技股份有限公司 | 基于神经网络的视频编解码处理方法和装置 |
CN117201781A (zh) * | 2015-10-16 | 2023-12-08 | 中兴通讯股份有限公司 | 编码处理、解码处理方法及装置、存储介质 |
US10699186B2 (en) * | 2015-12-02 | 2020-06-30 | Google Llc | Determining orders of execution of a neural network |
EP3298786A1 (en) * | 2016-04-15 | 2018-03-28 | Magic Pony Technology Limited | In-loop post filtering for video encoding and decoding |
WO2017222140A1 (ko) * | 2016-06-24 | 2017-12-28 | 한국과학기술원 | Cnn 기반 인루프 필터를 포함하는 부호화 방법과 장치 및 복호화 방법과 장치 |
CN107920248B (zh) * | 2016-10-11 | 2020-10-30 | 京东方科技集团股份有限公司 | 图像编解码装置、图像处理系统、训练方法和显示装置 |
CN106656798B (zh) * | 2016-12-30 | 2020-03-27 | 质数链网科技成都有限公司 | 一种计算决策路径的方法及分布式节点 |
CN107197260B (zh) * | 2017-06-12 | 2019-09-13 | 清华大学深圳研究生院 | 基于卷积神经网络的视频编码后置滤波方法 |
-
2018
- 2018-09-28 CN CN201811143399.3A patent/CN110971915B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110971915A (zh) | 2020-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110971915B (zh) | 滤波方法和设备 | |
Li et al. | A deep learning approach for multi-frame in-loop filter of HEVC | |
CN110059796B (zh) | 卷积神经网络的生成方法及装置 | |
CN108886621B (zh) | 非本地自适应环路滤波方法 | |
EP3758375A1 (en) | Method and apparatus for image coding, electronic device and computer-readable storage medium | |
US20200120340A1 (en) | Method and device for encoding or decoding image | |
CN110036637B (zh) | 去噪声化已重构图像的方法及装置 | |
CN110971901B (zh) | 卷积神经网络的处理方法、装置、设备及存储介质 | |
CN108353171A (zh) | 视频编码样本自适应滤波的方法和装置 | |
EP3545679A1 (en) | Apparatus and method for encoding an image | |
CN112544081B (zh) | 环路滤波的方法与装置 | |
CN111541894B (zh) | 一种基于边缘增强残差网络的环路滤波方法 | |
CN110136057B (zh) | 一种图像超分辨率重建方法、装置及电子设备 | |
Agustsson et al. | Multi-realism image compression with a conditional generator | |
US10469838B2 (en) | Method and apparatus for processing video signal using graph-based transformation based on prediction angle | |
EP4344479A1 (en) | Systems and methods for image filtering | |
JP7277699B2 (ja) | 画像処理装置、学習装置、画像処理方法、学習方法、及びプログラム | |
CN113766247B (zh) | 环路滤波的方法与装置 | |
US20180359486A1 (en) | Non-local adaptive loop filter processing | |
Duong et al. | Multi-rate adaptive transform coding for video compression | |
KR20210129151A (ko) | 루프 필터링 구현 방법 및 장치 | |
CN115442609A (zh) | 特征数据编解码方法和装置 | |
CN111083498B (zh) | 用于视频编码帧间环路滤波的模型训练方法和使用方法 | |
Yang et al. | Asymmetrically-powered neural image compression with shallow decoders | |
US10609377B2 (en) | Image encoding method and device for sample value compensation and image decoding method and device for sample value compensation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |