图像环路滤波处理方法、装置与流程

文档序号:19951414发布日期:2020-02-18 10:36阅读:328来源:国知局
图像环路滤波处理方法、装置与流程
本申请涉及通信
技术领域
,特别涉及一种图像环路滤波处理方法、装置。
背景技术
:网络技术和视频编码技术的巨大进步使得人们可以方便在终端观看视频。为了使获得的视频的质量更好,在视频从网络传输到客户端的过程中,需要对视频中的每帧图像进行滤波处理。但是,由于滤波器滤波能力的限制,目前的视频质量普遍不能令人满意。具体表现在图像模糊、视频卡顿等,找到一种能够快速有效对图像进行滤波的方法,是亟待解决的技术问题。技术实现要素:本申请旨在提供一种图像环路滤波处理方法、装置,其能够在取得较好滤波效果的同时更加快速的对图像进行滤波处理。根据本申请实施例的一个方面,提供了一种图像环路滤波处理方法,包括:对图像进行分割处理得到编码分区集合,所述编码分区集合中包括多个编码分区;确定目标编码分区集合;根据时间限制确定待进行环路滤波的编码分区的数量;基于所述待进行环路滤波的编码分区的数量和所述目标编码分区集合确定第一分区集合;通过第一环路滤波技术对所述第一分区集合中的编码分区进行环路滤波处理。根据本申请实施例的一个方面,提供了一种图像环路滤波处理装置,包括:分割模块,用于对图像进行分割处理得到编码分区集合,所述编码分区集合中包括多个编码分区;确定模块,用于确定目标编码分区集合,根据时间限制确定待进行环路滤波的编码分区的数量,基于所述待进行环路滤波的编码分区的数量和所述目标编码分区集合确定第一分区集合;滤波模块,用于通过第一环路滤波技术对所述第一分区集合中的编码分区进行环路滤波处理。在本申请的一些实施例中,基于前述方案,所述确定模块配置为:根据所述图像的显著性指标、复杂度指标、目标区域范围、预定位置从所述编码分区集合中确定所述目标编码分区集合。在本申请的一些实施例中,基于前述方案,所述确定模块还配置为:获取对单个编码分区进行环路滤波处理消耗的平均时间;根据所述对单个编码分区进行环路滤波处理消耗的平均时间确定在所述时间限制内所述待进行环路滤波的编码分区的数量。在本申请的一些实施例中,基于前述方案,所述确定模块还配置为:统计对多个编码分区进行环路滤波处理消耗的总时间;使用所述总时间除以所述多个编码分区的数量得到所述对单个编码分区进行环路滤波处理消耗的平均时间。在本申请的一些实施例中,基于前述方案,所述确定模块还配置为:若所述待进行环路滤波的编码分区的数量小于所述目标编码分区中编码分区的数量,则对所述目标编码分区集合中的编码分区进行排序;基于所述待进行环路滤波的编码分区的数量和排序结果确定所述第一分区集合。在本申请的一些实施例中,基于前述方案,所述确定模块还配置为:根据所述编码分区的编码前图像质量和解码后图像质量确定所述编码分区的质量损失;根据所述编码分区的质量损失对所述目标编码分区集合中的编码分区进行排序。在本申请的一些实施例中,基于前述方案,所述确定模块还配置为:所述根据所述编码分区的编码前图像质量和解码后图像质量确定所述编码分区的质量损失,包括:根据所述编码分区的编码前图像质量和解码后图像质量确定所述编码分区的绝对误差和;或根据所述编码分区的编码前图像质量和解码后图像质量确定所述编码分区的最小变换域绝对误差和;或根据所述编码分区的编码前图像质量和解码后图像质量确定所述编码分区的均方方差;或根据所述编码分区的编码前图像质量和解码后图像质量确定所述编码分区的图像显著性指标。在本申请的一些实施例中,基于前述方案,所述确定模块还配置为:若所述待进行环路滤波的编码分区的数量大于所述目标编码分区集合中编码分区的数量,则对所述目标编码分区集合中全部编码分区进行滤波。在本申请的一些实施例中,基于前述方案,所述滤波模块还配置为:由所述编码分区集合中剔除所述第一分区集合中的编码分区生成第二分区集合;通过第二环路滤波技术对所述第二分区集合中的编码分区进行环路滤波处理。根据本申请实施例的一个方面,提供了一种计算机可读程序介质,其存储有计算机程序指令,当所述计算机程序指令被计算机执行时,使计算机执行上任一项所述的方法。根据本申请实施例的一个方面,提供了一种电子装置,包括:处理器;存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,实现如上任一项所述的方法。本申请的实施例提供的技术方案可以包括以下有益效果:在本申请的一些实施例所提供的技术方案中,通过对图像进行分割处理得到编码分区集合,编码分区集合中包括多个编码分区,在编码分区集合的多个编码分区中确定目标编码分区集合,目标编码分区集合由编码分区集合中需要进行滤波处理的编码分区组成。由于在视频播放时,视频中每一帧图像的处理受到时间限制,根据时间限制确定待进行环路滤波的编码分区的数量,基于待进行环路滤波的编码分区的数量和目标编码分区集合确定第一分区集合,第一分区集合由目标编码分区集合中需要进行滤波处理的编码分区组成。通过第一环路滤波技术对第一分区集合中的编码分区进行环路滤波处理,对经过挑选的目标编码分区集合再次根据时间限制挑选出的第一分区集合进行环路滤波处理,对图像中的需要进行滤波处理的编码分区进行滤波处理,相比于现有技术中对整个图像都进行滤波处理,能够在取得较好滤波效果的同时更加快速的对图像进行滤波处理。应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本申请。附图说明此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并于说明书一起用于解释本申请的原理。图1a示出了可以应用本申请实施例的技术方案的示例性系统架构的示意图;图1b示出了可以应用本申请一个实施例的技术方案的数据共享系统的示意图;图1c示出了可以应用本申请一个实施例的区块链所在的节点存储程序行为数据的示意图;图2示意性示出了根据本申请的一个实施例的图像环路滤波处理方法的流程图;图3示意性示出了根据本申请的一个实施例的图像环路滤波处理方法的流程图;图3a示意性示出了根据本申请图3所示的一个实施例的图像环路滤波处理方法的示意图;图4示意性示出了根据本申请的一个实施例的图像环路滤波处理装置的框图;图5是根据一示例性实施例示出的一种电子装置的硬件图。具体实施方式现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本申请将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本申请的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本申请的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本申请的各方面。附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。图1a示出了可以应用本申请实施例的技术方案的示例性系统架构100a的示意图。图1a示出了可以应用本申请实施例的技术方案的示例性系统架构100a的示意图。如图1a所示,系统架构100a可以包括终端设备101a(终端设备可以为智能手机、平板电脑、便携式计算机、台式计算机中的一种或多种)、网络102a和服务器103a。网络102a用以在终端设备101a和服务器103之间提供通信链路的介质。网络102a可以包括各种连接类型,例如有线通信链路、无线通信链路等等。应该理解,图1a中的终端设备101a、网络102a和服务器103a的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备101a、网络102a和服务器103a。比如服务器103a可以是多个服务器组成的服务器集群等。在本申请的一个实施例中,服务器103a通过对图像进行分割处理得到编码分区集合,编码分区集合中包括多个编码分区,在编码分区集合的多个编码分区中确定目标编码分区集合,目标编码分区集合由编码分区集合中需要进行滤波处理的编码分区组成。由于在视频播放时,视频中每一帧图像的处理受到时间限制,根据时间限制确定待进行环路滤波的编码分区的数量,基于待进行环路滤波的编码分区的数量和目标编码分区集合确定第一分区集合,第一分区集合由目标编码分区集合中需要进行滤波处理的编码分区组成。通过第一环路滤波技术对第一分区集合中的编码分区进行环路滤波处理,对经过挑选的目标编码分区集合再次根据时间限制挑选出的第一分区集合进行环路滤波处理,对图像中的需要进行滤波处理的编码分区进行滤波处理,相比于现有技术中对整个图像都进行滤波处理,能够在取得较好滤波效果的同时更加快速的对图像进行滤波处理。需要说明的是,本申请实施例所提供的图像环路滤波处理方法一般由服务器103a执行,相应地,图像环路滤波处理装置一般设置于服务器103a中。但是,在本申请的其它实施例中,终端设备101a也可以与服务器103a具有相似的功能,从而执行本申请实施例所提供的图像环路滤波处理方法。图1b示出了可以应用本发明实施例的技术方案的示例性数据共享系统100b的示意图。参见图1a所示的数据共享系统100b,数据共享系统100b是指用于进行节点与节点之间数据共享的系统,该数据共享系统中可以包括多个节点101b,多个节点101b可以是指数据共享系统中的多个游戏客户端101a,多个节点101b也可以是指数据共享系统中的游戏服务器103a。每个节点101b在进行正常工作可以接收到输入信息,并基于接收到的输入信息维护该数据共享系统内的共享数据。为了保证数据共享系统内的信息互通,数据共享系统中的每个节点之间可以存在信息连接,节点之间可以通过上述信息连接进行信息传输。例如,当数据共享系统中的任意节点接收到输入信息时,数据共享系统中的其他节点便根据共识算法获取该输入信息,将该输入信息作为共享数据中的数据进行存储,使得数据共享系统中全部节点上存储的数据均一致。对于数据共享系统中的每个节点,均具有与其对应的节点标识,而且数据共享系统中的每个节点均可以存储有数据共享系统中其他节点的节点标识,以便后续根据其他节点的节点标识,将生成的区块广播至数据共享系统中的其他节点。每个节点中可维护一个如下表所示的节点标识列表,将节点名称和节点标识对应存储至该节点标识列表中。其中,节点标识可为ip(internetprotocol,网络之间互联的协议)地址以及其他任一种能够用于标识该节点的信息,表1中仅以ip地址为例进行说明。节点名称节点标识节点1117.114.151.174节点2117.116.189.145……节点n119.123.789.258表1数据共享系统中的每个节点均存储一条相同的区块链。区块链由多个区块组成,参见图1b,区块链由多个区块组成,创始块中包括区块头和区块主体,区块头中存储有输入信息特征值、版本号、时间戳和难度值,区块主体中存储有输入信息;创始块的下一区块以创始块为父区块,下一区块中同样包括区块头和区块主体,区块头中存储有当前区块的输入信息特征值、父区块的区块头特征值、版本号、时间戳和难度值,并以此类推,使得区块链中每个区块中存储的区块数据均与父区块中存储的区块数据存在关联,保证了区块中输入信息的安全性。在生成区块链中的各个区块时,参见图1c,区块链所在的节点在接收到输入信息时,对输入信息进行校验,完成校验后,将输入信息存储至内存池中,并更新其用于记录输入信息的哈希树;之后,将更新时间戳更新为接收到输入信息的时间,并尝试不同的随机数,多次进行特征值计算,使得计算得到的特征值可以满足下述公式:sha256(sha256(version+prev_hash+merkle_root+ntime+nbits+x))<target其中,sha256为计算特征值所用的特征值算法;version(版本号)为区块链中相关区块协议的版本信息;prev_hash为当前区块的父区块的区块头特征值;merkle_root为输入信息的特征值;ntime为更新时间戳的更新时间;nbits为当前难度,在一段时间内为定值,并在超出固定时间段后再次进行确定;x为随机数;target为特征值阈值,该特征值阈值可以根据nbits确定得到。这样,当计算得到满足上述公式的随机数时,便可将信息对应存储,生成区块头和区块主体,得到当前区块。随后,区块链所在节点根据数据共享系统中其他节点的节点标识,将新生成的区块分别发送给其所在的数据共享系统中的其他节点,由其他节点对新生成的区块进行校验,并在完成校验后将新生成的区块添加至其存储的区块链中。数据共享系统100b中存储的输入信息可以是待滤波图像,可以是图像分割得到的编码分区等。编码分区的编码前图像和解码后图像也可以对应存储在数据共享系统100b中。以下对本申请实施例的技术方案的实现细节进行详细阐述:图2示意性示出了根据本申请的一个实施例的图像环路滤波处理方法的流程图,该图像环路滤波处理方法的执行主体可以是服务器,比如可以是图1a中所示的服务器103a。参照图2所示,该图像环路滤波处理方法至少包括步骤s210至步骤s250,详细介绍如下:在步骤s210中,对图像进行分割处理得到编码分区集合,编码分区集合中包括多个编码分区。在本申请的一个实施例中,图像可以为从视频中获取的视频帧图像,也可以为直接从客户端或网络中获取的图像。在本申请的一个实施例中,编码分区可以为图像中的切片,切片由多个宏块构成。编码分区也可以为宏块。在本申请的一个实施例中,可以对图像进行平均分割处理得到编码分区集合,编码分区集合中包括多个大小相同的编码分区,方便后续对编码分区进行挑选。在步骤s220中,确定目标编码分区集合。在本申请的一个实施例中,目标编码分区集合是从编码分区集合中选取的需要进行滤波处理的编码分区组成的集合。在本申请的一个实施例中,可以根据图像的显著性指标、复杂度指标、目标区域范围、预定位置从编码分区集合中确定目标编码分区集合。在本申请的一个实施例中,可以根据图像的显著性指标、复杂度指标、目标区域范围、预定位置中的一个或多个因素从编码分区集合中确定目标编码分区集合。在本申请的一个实施例中,可以使用显著性分析算法计算图像的显著性,从而根据图像的显著性确定目标编码分区集合。可以使用基于低层视觉特征的显著性分析算法计算图像的显著性,如采用视觉显著性模型算法计算图像的显著性。还可以采用基于任何生物视觉原理的纯数学计算方法计算图像的显著性,如采用全分辨率的算法(aho-corasickalgorithm,ac算法)或基于空间频域分析的剩余谱算法(spectralresidual,sr算法)计算图像的显著性。还可以采用将前两种进行融合的方法计算图像的显著性,如采用基于图论的算法(graph-basedvisualsaliency,gbvs算法)计算图像的显著性。在本申请的一个实施例中,可以根据图像的灰度统计直方图确定图像的复杂度,从而根据图像的复杂度确定目标编码分区集合。还可以根据图像的纹理特征来描述图像的复杂度,具体的,可以采用基于灰度共生矩阵提取图像的纹理特征。在本申请的一个实施例中,编码分区可以包括p宏片,p宏块在编码传输时可以进一步分割成子宏块,p宏块在编码传输时根据宏块的复杂度分割成子宏块,复杂度较高的宏块分割得到的子宏块更多。可以根据宏块在编码时分割成的子宏块的数量获得宏块的复杂度。在本申请的一个实施例中,可以通过目标识别获得目标所在的目标编码分区集合,将目标所在的编码分区作为目标区域范围。可以通过面部识别获得面部所在的目标区域范围,可以通过车牌识别获得车牌所在的目标区域范围等,目标可以根据实际应用选定。在本申请的一个实施例中,可以选择图像中的预定位置确定目标编码分区集合,可以由预定位置处的编码分区组成目标编码分区集合。由于位于图像中央的编码分区比位于图像边缘的编码分区更能吸引浏览图像的用户的注意力,可以选择位于图像中央的编码分区组成目标编码分区集合。继续参照图2,在步骤s230中,根据时间限制确定待进行环路滤波的编码分区的数量。在本申请的一个实施例中,图像可以为视频中的视频帧,为了视频的流畅播放,每帧视频帧的传输时间有限,对视频帧进行滤波处理的时间有限,而环路滤波器在处理每一编码分区的时间为固定的,因此为了在时间限制内对图像完成滤波处理,要根据时间限制确定待进行环路滤波的编码分区的数量,对选定的待进行环路滤波的编码分区进行滤波处理,就确认对图像进行了滤波处理。在本申请的一个实施例中,可以获取对单个编码分区进行环路滤波处理消耗的平均时间,根据对单个编码分区进行环路滤波处理消耗的平均时间确定在时间限制内待进行环路滤波的编码分区的数量。在该实施例中,由于环路滤波器对单个编码分区进行环路滤波处理消耗的平均时间由该环路滤波器的性能决定,可以在对图像进行环路滤波处理前,对该环路滤波器进行测试。在本申请的一个实施例中,可以统计对多个编码分区进行环路滤波处理消耗的总时间,使用总时间除以多个编码分区的数量得到对单个编码分区进行环路滤波处理消耗的平均时间。在本申请的一个实施例中,可以使用环路滤波器对一帧图像的全部编码分区进行环路滤波处理,获取对该帧图像进行环路滤波处理花费的时间,统计该帧图像的编码分区数量,用该帧图像进行环路滤波处理花费的时间除以该帧图像的编码分区数量,得到对单个编码分区进行环路滤波处理消耗的平均时间。继续参照图2,在步骤s240中,基于待进行环路滤波的编码分区的数量和目标编码分区集合确定第一分区集合。在本申请的一个实施例中,若在时间限制内待进行环路滤波的编码分区的数量大于图像分割得到的编码分区集合中的编码分区的数量,则可以对图像的编码分区集合中的所有编码分区进行环路滤波处理。在本申请的一个实施例中,若在时间限制内待进行环路滤波的编码分区的数量大于目标编码分区集合中的编码分区的数量,则可以对目标编码分区集合中的全部编码分区进行环路滤波处理。在本申请的一个实施例中,若在时间限制内待进行环路滤波的编码分区的数量小于设定的最低阈值,则可以放弃对图像进行环路滤波处理。其中,最低阈值可以根据图像分割得到的编码分区的数量设定,可以设定最低阈值为图像编码分区集合中编码分区数量的十分之一为最低阈值。若环路滤波工具能够处理的编码分区过少,滤波处理前后的图像区别过小,则不对图像进行滤波处理。在本申请的一个实施例中,可以将目标编码分区集合中的编码分区进行排序,基于待进行环路滤波的编码分区的数量和排序结果确定第一分区集合。第一分区集合中的编码分区为需要进行环路滤波处理的编码分区,在时间限制内,可以从目标编码分区集合中进一步筛选出需要进行环路滤波处理的编码分区进行滤波,更加节约时间。在本申请的一个实施例中,可以在待进行环路滤波的编码分区的数量小于目标编码分区集合中编码分区的数量时,基于待进行环路滤波的编码分区的数量和目标编码分区集合确定第一分区集合。在本申请的一个实施例中,可以在待进行环路滤波的编码分区的数量小于目标编码分区集合中编码分区的数量,且大于设定的最低阈值时,基于待进行环路滤波的编码分区的数量和目标编码分区集合确定第一分区集合。在本申请的一个实施例中,可以根据编码分区的显著性指标、复杂度指标、目标区域范围、预定位置中的一个或几个因素从目标编码分区集合中确定第一分区集合。在本申请的一个实施例中,可以在待进行环路滤波的编码分区的数量小于目标编码分区集合中编码分区的数量时,将目标编码分区集合中的编码分区进行排序,基于待进行环路滤波的编码分区的数量和排序结果确定第一分区集合。在本申请的一个实施例中,可以根据编码分区的编码前图像质量和解码后图像质量确定编码分区的质量损失,根据编码分区的质量损失对目标编码分区集合中的编码分区进行排序,可以根据编码分区的质量损失的大小从前到后对编码分区进行排序。对质量损失明显的编码分区进行滤波处理,能够使得到的图像的滤波效果更好。在本申请的一个实施例中,可以根据编码分区的编码前图像质量和解码后图像质量确定编码分区的绝对误差和(sumofabsolutedifferences,sad)来确定编码分区的质量损失。由于图像质量损失,编码前图像和解码后图像对应的同一位置图像发生变化,可以根据编码前图像和解码后图像对应的同一位置的质量变化来确定编码分区的绝对误差和,若得到的绝对误差和的值大,则确认该编码分区的质量损失明显,可以将该编码分区的排序靠前。在本申请的一个实施例中,可以根据编码分区的编码前图像质量和解码后图像质量确定编码分区的最小变换域绝对误差和(sumofabsolutetransformeddifference,satd)来确定编码分区的质量损失。由于图像质量损失,编码前图像和解码后图像对应的同一位置图像出现变化,可以根据编码前图像和解码后图像对应的同一位置的质量变化来确定编码分区的最小变换域绝对误差和,若得到的最小变换域绝对误差和的值大,则确认该编码分区的质量损失明显,可以将该编码分区的排序靠前。在本申请的一个实施例中,可以根据编码分区的编码前图像质量和解码后图像质量确定编码分区的均方方差(meansquarederror,mse)来确定编码分区的质量损失。由于图像质量损失,编码前图像和解码后图像对应的同一位置图像出现变化,可以根据编码前图像和解码后图像对应的同一位置的质量变化来确定编码分区的均方方差,若得到的均方方差的值大,则确认该编码分区的质量损失明显,可以将该编码分区的排序靠前。在本申请的一个实施例中,可以根据编码分区的编码前图像质量和解码后图像质量确定编码分区的图像显著性指标来确定编码分区的质量损失。可以分别计算编码分区的编码前图像的显著性和解码后图像的显著性,若某个编码分区的编码前图像的显著性和解码后图像的显著性差别大于其他编码分区的显著性差别,则确认该编码分区的质量损失大,可以将该编码分区的排序靠前。继续参照图2,在步骤s250中,通过第一环路滤波技术对第一分区集合中的编码分区进行环路滤波处理。在本申请的一个实施例中,第一环路滤波技术可以为最新的视频编码标准h.265/hevc(highefficiencyvideocoding,高效视频编码)中应用的环路滤波技术,如df(deblockingfilter,去块效应滤波),或sao(sampleadaptiveoffset,样点自适应补偿)。第一环路滤波技术可以为也可以为下一代的视频编码标准h.266/vvc(versatilevideocoding,多功能视频编码)的环路滤波技术中的alf(adaptiveloopfilter,自适应环路滤波器)。在本申请的一个实施例中,第一环路滤波技术可以采用基于深度学习的环路滤波工具,可以将vrcnn网络(variable-filter-sizeresidue-learningconvolutionalneuralnetwork,多尺寸滤波器残差学习卷积神经网络)、rhcnn网络(recurrenthybridconvolutionalneuralnetwork,残差高速卷积神经网络)或drnlf网络(denseresidueconvolutionalneuralnetworkbasedloopfilter,基于密集残差卷积神经网络的环路滤波器)结合环路滤波工具。在本申请的一个实施例中,第一环路滤波技术可以结合快速特征嵌入的卷积结构(convolutionalarchitectureforfastfeatureembedding,caffe)得到环路滤波工具,还可以结合tensorflow框架或pytorch框架得到环路滤波工具。环路滤波器还可以和图形处理器(graphicsprocessingunit,gpu)结合使用,可以提升环路滤波器的滤波性能。在本申请的一个实施例中,为了满足视频传输的时间限制的要求,可以对第一环路滤波技术中训练环路滤波工具的深度学习模型进行压缩,可以采用模型参数剪枝和共享、低秩分解、紧凑卷积核和知识蒸馏等方法对训练环路滤波工具的深度学习模型进行压缩,基于压缩后的深度学习模型训练的环路滤波工具的参数减少,训练时间减少,从而节约视频传输的时间。在本申请的一个实施例中,可以只对第一分区集合中的编码分区进行滤波处理,而不对编码分区集合中的其他编码分区进行滤波处理。可以将第一分区集合中的编码分区的滤波器的编码为开,将编码分区集合中的其他编码分区编码为关。在图2所示的实施例中,通过对图像进行分割处理得到编码分区集合,编码分区集合中包括多个编码分区,在编码分区集合的多个编码分区中确定目标编码分区集合,目标编码分区集合由编码分区集合中需要进行滤波处理的编码分区组成。由于在视频播放时,视频中每一帧图像的处理受到时间限制,根据时间限制确定待进行环路滤波的编码分区的数量,基于待进行环路滤波的编码分区的数量和目标编码分区集合确定第一分区集合,第一分区集合由目标编码分区集合中需要进行滤波处理的编码分区组成。通过第一环路滤波技术对第一分区集合中的编码分区进行环路滤波处理,对经过挑选的目标编码分区集合再次根据时间限制挑选出的第一分区集合进行环路滤波处理,对图像中的需要进行滤波处理的编码分区进行滤波处理,相比于现有技术中对整个图像都进行滤波处理,能够在取得较好滤波效果的同时更加快速的对图像进行滤波处理。在本申请的一个实施例中,可以在编码前通过第一环路滤波技术对第一分区集合中的编码分区进行环路滤波处理,并且在解码后通过第一环路滤波技术对第一分区集合中的编码分区进行环路滤波处理,在加快图像的传输速度的同时,可以更好的提高图像的滤波效果。在本申请的一个实施例中,参照图3所示,该图像环路滤波处理方法还可以包括步骤s310至步骤s360,详细介绍如下:在步骤s310中,对图像进行分割处理得到编码分区集合,编码分区集合中包括多个编码分区。在步骤s320中,确定目标编码分区集合;在步骤s330中,根据时间限制确定待进行环路滤波的编码分区的数量;在步骤s340中,基于待进行环路滤波的编码分区的数量和目标编码分区集合确定第一分区集合;在步骤s350中,通过第一环路滤波技术对第一分区集合中的编码分区进行环路滤波处理;在步骤s360中,由编码分区集合中剔除第一分区集合中的编码分区生成第二分区集合,通过第二环路滤波技术对第二分区集合中的编码分区进行环路滤波处理。在图3所示的实施例中,将目标编码分区集合中的编码分区分别使用不同的环路滤波技术处理,可以更好的对目标编码分区集合中的编码分区进行滤波。在本申请的一个实施例中,第二环路滤波技术可以为比第一环路滤波技术更简单节约时间的技术。在本申请的一个实施例中,第二环路滤波技术可以为最新的视频编码标准h.265/hevc(highefficiencyvideocoding,高效视频编码)中应用的环路滤波技术,如df(deblockingfilter,去块效应滤波),或sao(sampleadaptiveoffset,样点自适应补偿)。第一环路滤波技术可以为也可以为下一代的视频编码标准h.266/vvc(versatilevideocoding,多功能视频编码)的环路滤波技术中的alf(adaptiveloopfilter,自适应环路滤波器)。在本申请的一个实施例中,第二环路滤波技术可以采用基于深度学习的环路滤波工具,可以将vrcnn网络、rhcnn网络(recurrenthybridconvolutionalneuralnetwork,循环混合对流神经网络)或drnlf网络结合环路滤波工具。在本申请的一个实施例中,第二环路滤波技术可以结合快速特征嵌入的卷积结构(convolutionalarchitectureforfastfeatureembedding,caffe)得到环路滤波工具,还可以结合tensorflow框架或pytorch框架得到环路滤波工具。环路滤波器还可以和图形处理器(graphicsprocessingunit,gpu)结合使用,可以提升环路滤波器的滤波性能。在本申请的一个实施例中,为了满足视频传输的时间限制的要求,可以对第二环路滤波技术中训练环路滤波工具的深度学习模型进行压缩,可以采用模型参数剪枝和共享、低秩分解、紧凑卷积核和知识蒸馏等方法对训练环路滤波工具的深度学习模型进行压缩,基于压缩后的深度学习模型训练的环路滤波工具的参数减少,训练时间减少,从而节约视频传输的时间。图3a示意性示出了根据本申请图3所示的一个实施例的图像环路滤波处理方法的示意图;其中第一滤波器用于执行第一滤波技术,第二滤波器用于执行第二滤波技术。在本申请的一个实施例中,可以将本申请的图像环路滤波处理方法可以用于进行图像播放或视频播放的应用程序中。例如可以应用于视频通话中的图像滤波、游戏界面的图像滤波、视频播放软件中的图像滤波等。在本申请的一个实施例中,可以分别将基于rhcnn模型的深度环路滤波工具、gpu结合基于rhcnn模型的深度环路滤波工具、本申请基于rhcnn模型的深度环路滤波工具的图像环路滤波处理方法,应用于图像的编码过程中,分别应用这三种图像环路滤波处理方法对不同分辨率的图像进行环路滤波处理,编码过程中除了滤波方法不同,其他因素都相同,得到的编码时间如表2所示:分辨率416x240704x5761280x7201920x10802560x1600rhcnn26.74ms95.32ms211.26ms482.79ms1094.83msrhcnn+gpu1.56ms5.42ms12.35ms27.86ms64.61ms本申请0.72ms2.22ms5.36ms11.71ms27.92ms表2根据表2可知,应用本申请的图像环路滤波处理方法进行滤波处理的方法的编码速度,比应用gpu结合基于rhcnn模型的深度环路滤波工具的方法的编码速度更快,而且,本申请的图像环路滤波处理方法不必另外设置gpu,使处理图像的硬件结构更加简单,更加便于应用。以下介绍本申请的装置实施例,可以用于执行本申请上述实施例中的图像环路滤波处理方法。对于本申请装置实施例中未披露的细节,请参照本申请上述的图像环路滤波处理方法的实施例。图4示意性示出了根据本申请的一个实施例的图像环路滤波处理装置的框图。参照图4所示,根据本申请的一个实施例的图像环路滤波处理装置400,包括:分割模块401、确定模块402和滤波模块403。在本申请的一些实施例中,基于前述方案,分割模块401用于对图像进行分割处理得到编码分区集合,编码分区集合中包括多个编码分区;确定模块402用于确定目标编码分区集合,根据时间限制确定待进行环路滤波的编码分区的数量,基于待进行环路滤波的编码分区的数量和目标编码分区集合确定第一分区集合;滤波模块403用于通过第一环路滤波技术对第一分区集合中的编码分区进行环路滤波处理。在本申请的一些实施例中,基于前述方案,确定模块402配置为:根据图像的显著性指标、复杂度指标、目标区域范围、预定位置从编码分区集合中确定目标编码分区集合。在本申请的一些实施例中,基于前述方案,确定模块402还配置为:获取对单个编码分区进行环路滤波处理消耗的平均时间;根据对单个编码分区进行环路滤波处理消耗的平均时间确定在时间限制内待进行环路滤波的编码分区的数量。在本申请的一些实施例中,基于前述方案,确定模块402还配置为:统计对多个编码分区进行环路滤波处理消耗的总时间;使用总时间除以多个编码分区的数量得到对单个编码分区进行环路滤波处理消耗的平均时间。在本申请的一些实施例中,基于前述方案,确定模块402还配置为:将目标编码分区集合中的编码分区进行排序;基于待进行环路滤波的编码分区的数量和排序结果确定第一分区集合。在本申请的一些实施例中,基于前述方案,确定模块402还配置为:根据编码分区的编码前图像质量和解码后图像质量确定编码分区的质量损失;根据编码分区的质量损失对目标编码分区集合中的编码分区进行排序。在本申请的一些实施例中,基于前述方案,确定模块402还配置为:根据编码分区的编码前图像质量和解码后图像质量确定编码分区的质量损失,包括:根据编码分区的编码前图像质量和解码后图像质量确定编码分区的绝对误差和;或根据编码分区的编码前图像质量和解码后图像质量确定编码分区的最小变换域绝对误差和;或根据编码分区的编码前图像质量和解码后图像质量确定编码分区的均方方差;或根据编码分区的编码前图像质量和解码后图像质量确定编码分区的图像显著性指标。在本申请的一些实施例中,基于前述方案,确定模块402还配置为:在待进行环路滤波的编码分区的数量小于目标编码分区集合中编码分区的数量时,基于待进行环路滤波的编码分区的数量和目标编码分区集合确定第一分区集合。在本申请的一些实施例中,基于前述方案,滤波模块403还配置为:由编码分区集合中剔除第一分区集合中的编码分区生成第二分区集合;通过第二环路滤波技术对第二分区集合中的编码分区进行环路滤波处理。所属
技术领域
的技术人员能够理解,本申请的各个方面可以实现为系统、方法或程序产品。因此,本申请的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。下面参照图5来描述根据本申请的这种实施方式的电子设备50。图5显示的电子设备50仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。如图5所示,电子设备50以通用计算设备的形式表现。电子设备50的组件可以包括但不限于:上述至少一个处理单元51、上述至少一个存储单元52、连接不同系统组件(包括存储单元52和处理单元51)的总线53、显示单元54。其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元51执行,使得所述处理单元51执行本说明书上述“实施例方法”部分中描述的根据本申请各种示例性实施方式的步骤。存储单元52可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(ram)521和/或高速缓存存储单元522,还可以进一步包括只读存储单元(rom)523。存储单元52还可以包括具有一组(至少一个)程序模块525的程序/实用工具524,这样的程序模块525包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。总线53可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。电子设备50也可以与一个或多个外部设备(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备50交互的设备通信,和/或与使得该电子设备50能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口55进行。并且,电子设备50还可以通过网络适配器56与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器56通过总线53与电子设备50的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备50使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本申请实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本申请实施方式的方法。根据本申请一个实施例,还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施方式中,本申请的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“示例性方法”部分中描述的根据本申请各种示例性实施方式的步骤。根据本申请一个实施例,本申请的实施方式的用于实现上述方法的程序产品,可以采用便携式紧凑盘只读存储器(cd-rom)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本申请的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、rf等等,或者上述的任意合适的组合。可以以一种或多种程序设计语言的任意组合来编写用于执行本申请操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、c++等,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。此外,上述附图仅是根据本申请示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围执行各种修改和改变。本申请的范围仅由所附的权利要求来限制。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1