CN113259677B - 一种数据处理方法、设备以及计算机可读存储介质 - Google Patents
一种数据处理方法、设备以及计算机可读存储介质 Download PDFInfo
- Publication number
- CN113259677B CN113259677B CN202110719613.0A CN202110719613A CN113259677B CN 113259677 B CN113259677 B CN 113259677B CN 202110719613 A CN202110719613 A CN 202110719613A CN 113259677 B CN113259677 B CN 113259677B
- Authority
- CN
- China
- Prior art keywords
- image
- layer
- unit
- coding unit
- target
- 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/30—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
- H04N19/33—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the spatial domain
-
- 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本申请实施例公开一种数据处理方法、设备以及计算机可读存储介质,其中,方法包括:获取N层分别具有不同分辨率的图像以及N层分别具有不同分辨率的参考图像;获取第i+1层图像中的目标编码单元,在第i层图像中获取目标编码单元对应的已编码单元;根据已编码单元在第i层图像中获取已编码单元集合,已编码单元集合包括已编码单元以及周边已编码单元;在第i层参考图像中获取已编码单元集合对应的匹配编码单元集合,根据匹配编码单元集合,在第i+1层参考图像中获取针对目标编码单元的候选搜索起点集合;从候选搜索起点集合中确定目标编码单元的目标搜索起点。采用本申请,可以提高目标搜索起点的准确率,进而可以提高搜索结果的准确率。
Description
技术领域
本申请涉及互联网技术领域,尤其涉及一种数据处理方法、设备以及计算机可读存储介质。
背景技术
在视频编码中,分层运动估计是一种常用的运动估计算法,分层运动估计先对原始图像以及原始参考图像分别进行下采样,生成与原始图像相关联的多层图像,以及与原始参考图像相关联的多层参考图像;然后从最低层图像(其图像分辨率最小)开始,对每层图像上的每一个编码单元,在相同分辨率参考图像上获取目标搜索起点,根据该目标搜索起点搜索最佳匹配块,即确定最优运动矢量。
在现有技术中,非最低层图像上的编码单元在对应的参考图像上的搜索起点,是根据上一层图像与该编码单元对应的已编码单元的搜索结果确定的,例如在对第2层图像中的第10个编码单元(称为目标编码单元)进行编码时,首先在第1层参考图像中,获取第1层图像中的第10个编码单元(称为已编码单元)对应的匹配编码单元(等同于最佳匹配块),然后根据该匹配编码单元的位置,在第2层参考图像中获取目标搜索起点。
明显地,如果第1层的搜索结果稍有误差(即不是最佳匹配块),那么获取到的搜索起点可能不是该目标编码单元最好的搜索起点,即无法保证搜索起点的准确率,进一步地,若获取到的搜索起点为一个错误的搜索起点,则生成的搜索范围也会存在误差,进而会降低搜索结果的准确率。
发明内容
本申请实施例提供一种数据处理方法、设备以及计算机可读存储介质,可以提高目标搜索起点的准确率,进而可以提高搜索结果的准确率。
本申请实施例一方面提供了一种数据处理方法,包括:
获取与原始图像相关联的N层分别具有不同分辨率的图像,获取与原始参考图像相关联的N层分别具有不同分辨率的参考图像,原始图像以及原始参考图像具有编码参考关系,且原始图像对应的图像分辨率等于原始参考图像对应的图像分辨率,N为大于1的正整数;
获取第i+1层图像中的目标编码单元,在第i层图像中获取目标编码单元对应的已编码单元,i为正整数,且i小于N,第i层图像与第i+1层图像具有相邻层关系,且第i层图像对应的图像分辨率小于第i+1层图像对应的图像分辨率;
根据已编码单元,在第i层图像中获取已编码单元集合,已编码单元集合包括已编码单元,以及与已编码单元相关联的周边已编码单元;
在第i层参考图像中获取已编码单元集合对应的匹配编码单元集合,根据匹配编码单元集合,在第i+1层参考图像中获取针对目标编码单元的候选搜索起点集合,第i层参考图像对应的图像分辨率小于第i+1层参考图像对应的图像分辨率,第i层参考图像对应的图像分辨率等于第i层图像对应的图像分辨率;
从候选搜索起点集合中确定目标编码单元的目标搜索起点。
本申请实施例一方面提供了一种数据处理装置,包括:
第一获取模块,用于获取与原始图像相关联的N层分别具有不同分辨率的图像,获取与原始参考图像相关联的N层分别具有不同分辨率的参考图像,原始图像以及原始参考图像具有编码参考关系,且原始图像对应的图像分辨率等于原始参考图像对应的图像分辨率,N为大于1的正整数;
第二获取模块,用于获取第i+1层图像中的目标编码单元,在第i层图像中获取目标编码单元对应的已编码单元,i为正整数,且i小于N,第i层图像与第i+1层图像具有相邻层关系,且第i层图像对应的图像分辨率小于第i+1层图像对应的图像分辨率;
第三获取模块,用于根据已编码单元,在第i层图像中获取已编码单元集合,已编码单元集合包括已编码单元,以及与已编码单元相关联的周边已编码单元;
第四获取模块,用于在第i层参考图像中获取已编码单元集合对应的匹配编码单元集合,根据匹配编码单元集合,在第i+1层参考图像中获取针对目标编码单元的候选搜索起点集合,第i层参考图像对应的图像分辨率小于第i+1层参考图像对应的图像分辨率,第i层参考图像对应的图像分辨率等于第i层图像对应的图像分辨率;
确定起点模块,用于从候选搜索起点集合中确定目标编码单元的目标搜索起点。
其中,第一获取模块,包括:
第一获取单元,用于获取原始图像以及原始参考图像;
输入图像单元,用于将原始图像以及原始参考图像均输入至分层运动估计组件;
第二获取单元,用于通过分层运动估计组件,获取与原始图像相关联的N层分别具有不同分辨率的图像,以及与原始参考图像相关联的N层分别具有不同分辨率的参考图像。
其中,分层运动估计组件包括原始层运动估计子组件以及P个低层运动估计子组件,P个低层运动估计子组件包括低层运动估计子组件Zx以及低层运动估计子组件Zx+1,P为正整数且P小于N,x为正整数且x小于P;
第二获取单元,包括:
第一获取子单元,用于通过原始层运动估计子组件,得到原始层图像以及原始层参考图像,原始层图像与原始图像相同,原始层参考图像与原始参考图像相同;
第一处理子单元,用于通过低层运动估计子组件Zx,对原始图像进行下采样处理,得到低层图像Yx,对原始参考图像进行下采样处理,得到低层参考图像Wx,低层图像Yx对应的图像分辨率等于低层参考图像Wx对应的图像分辨率;
第二处理子单元,用于通过低层运动估计子组件Zx+1,对原始图像进行下采样处理,得到低层图像Yx+1,对原始参考图像进行下采样处理,得到低层参考图像Wx+1,低层图像Yx+1对应的图像分辨率等于低层参考图像Wx+1对应的图像分辨率,低层图像Yx+1对应的图像分辨率大于低层图像Yx对应的图像分辨率,且低层图像Yx+1对应的图像分辨率小于原始层图像对应的图像分辨率;
第一确定子单元,用于将原始层图像以及通过P个低层运动估计子组件所分别得到的低层图像,确定为与原始图像相关联的N层分别具有不同分辨率的图像,将原始层参考图像以及通过P个低层运动估计子组件所分别得到的低层参考图像,确定为与原始参考图像相关联的N层分别具有不同分辨率的参考图像。
其中,第二获取模块,包括:
第三获取单元,用于获取目标编码单元在第i+1层图像中的目标位置;
第四获取单元,用于根据目标位置,从第i层图像中获取已编码单元,目标编码单元对应的单元分辨率大于已编码单元对应的单元分辨率。
其中,第三获取模块,包括:
第五获取单元,用于获取周边单元值;
第五获取单元,还用于在第i层图像中,获取与已编码单元的单元距离小于或等于周边单元值的已编码单元,将获取到的已编码单元均确定为周边已编码单元;
第一添加单元,用于将已编码单元以及周边已编码单元均添加至已编码单元集合。
其中,第四获取模块,包括:
第六获取单元,用于在第i层参考图像中,获取与已编码单元具有最小运动矢量的匹配编码单元,以及与周边已编码单元具有最小运动矢量的匹配编码单元;
第六获取单元,还用于将获取到的匹配编码单元生成匹配编码单元集合,已编码单元集合包括已编码单元Ab,b为正整数,且b小于或等于已编码单元集合中的已编码单元的总数量,匹配编码单元集合包括与已编码单元Ab具有最小运动矢量的匹配编码单元Cb,已编码单元Ab对应的单元分辨率等于匹配编码单元Cb对应的单元分辨率,第i层参考图像与第i层图像具有编码参考关系;
第七获取单元,用于根据匹配编码单元Cb在第i层参考图像中的匹配位置,获取在第i+1层参考图像中的参考编码单元Db,第i+1层图像与第i+1层参考图像具有编码参考关系,参考编码单元Db对应的单元分辨率等于目标编码单元对应的单元分辨率;
第二添加单元,用于将参考编码单元Db确定为与匹配编码单元Cb相关联的候选搜索起点,将与匹配编码单元集合中的每个匹配编码单元分别相关联的候选搜索起点,均添加至候选搜索起点集合。
其中,候选搜索起点集合包括候选搜索起点Ef,f为正整数,且f小于候选搜索起点集合中的候选搜索起点的总数量;
确定起点模块,包括:
第八获取单元,用于根据目标编码单元在第i+1层图像中的目标位置,以及候选搜索起点Ef在第i+1层参考图像中的参考位置Jf,获取目标编码单元对应的运动矢量Gf;
第三添加单元,用于将运动矢量Gf添加至第一运动矢量集合,第一运动矢量集合包括候选搜索起点集合中的每个候选搜索起点分别对应的运动矢量;
第一确定单元,用于根据第一运动矢量集合确定目标编码单元的目标搜索起点。
其中,目标位置包括目标像素位置Hi,i为正整数,且i小于或等于目标位置中的目标像素位置的总数量,i用于表征目标像素位置Hi在目标位置中的序号,参考位置Jf包括参考像素位置Km,m为正整数,且m小于或等于参考位置Jf中的参考像素位置的总数量,m用于表征参考像素位置Km在参考位置Jf中的序号,m等于i;
第八获取单元,包括:
第二获取子单元,用于获取目标像素位置Hi的像素值,获取参考像素位置Km的像素值;
第三获取子单元,用于获取目标像素位置Hi的像素值以及参考像素位置Km的像素值之间的像素值的差的绝对值Ni,将绝对值Ni确定为与目标像素位置Hi相关联的绝对值;
第四获取子单元,用于对目标位置中的每个目标像素位置分别相关联的绝对值进行求和运算,获取目标编码单元对应的运动矢量Gf。
其中,第一确定单元,包括:
第五获取子单元,用于从第一运动矢量集合中获取最小运动矢量,作为目标编码单元的第一最小运动矢量;
第二确定子单元,用于将第一最小运动矢量对应的候选搜索起点,确定为目标编码单元的目标搜索起点。
其中,数据处理装置,还包括:
第五获取模块,用于获取周边搜索值;
第五获取模块,还用于在第i+1层参考图像中,获取与目标搜索起点的单元距离小于或等于周边搜索值的周边搜索单元;
第五获取模块,还用于将获取到的周边搜索单元以及目标搜索起点添加至待匹配搜索单元集合,待匹配搜索单元集合中的待匹配搜索单元对应的单元分辨率等于目标编码单元对应的单元分辨率;
第六获取模块,用于根据目标编码单元以及待匹配搜索单元集合,获取原始图像的搜索结果。
其中,待匹配搜索单元集合包括待匹配搜索单元Qr,r为正整数,且r小于或等于待匹配搜索单元集合中的待匹配搜索单元的总数量;
第六获取模块,包括:
第九获取单元,用于根据目标编码单元在第i+1层图像中的目标位置,以及待匹配搜索单元Qr在第i+1层参考图像中的待匹配位置Sr,获取目标编码单元对应的运动矢量Tr;
第四添加单元,用于将运动矢量Tr添加至第二运动矢量集合,第二运动矢量集合包括待匹配搜索单元集合中的每个待匹配搜索单元分别对应的运动矢量;
第十获取单元,用于在第二运动矢量集合中获取最小运动矢量,作为目标编码单元的第二最小运动矢量;
第二确定单元,用于根据第i+1层图像以及原始图像之间的关联关系,确定第二最小运动矢量为原始图像的搜索结果。
其中,第二确定单元,包括:
存储矢量子单元,用于若第i+1层图像不等于原始图像,则将第二最小运动矢量进行存储;
第三确定子单元,用于若第i+1层图像等于原始图像,则将第二最小运动矢量确定为搜索结果。
本申请一方面提供了一种计算机设备,包括:处理器、存储器、网络接口;
上述处理器与上述存储器、上述网络接口相连,其中,上述网络接口用于提供数据通信功能,上述存储器用于存储计算机程序,上述处理器用于调用上述计算机程序,以使得计算机设备执行本申请实施例中的方法。
本申请实施例一方面提供了一种计算机可读存储介质,上述计算机可读存储介质中存储有计算机程序,上述计算机程序适于由处理器加载并执行本申请实施例中的方法。
本申请实施例一方面提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中;计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例中的方法。
在本申请实施例中,通过获取与原始图像相关联的N层分别具有不同分辨率的图像,以及与原始参考图像相关联的N层分别具有不同分辨率的参考图像,可以为每层图像中的目标编码单元确定目标搜索起点;其中,本申请在确定第i+1层图像中的目标编码单元的目标搜索起点时,不仅仅获取上一层图像(即第i层图像)中与目标编码单元对应的已编码单元,还获取已编码单元周边的已编码单元(即周边已编码单元),即获取已编码单元集合;进一步地,在第i层参考图像中,不仅仅获取了已编码单元对应的匹配编码单元,还获取了周边已编码单元对应的匹配编码单元,即获取已编码单元集合对应的匹配编码单元集合;进一步地,根据匹配编码单元集合,可以在第i+1层参考图像中获取针对目标编码单元的候选搜索起点集合,明显地,该候选搜索起点集合包括多个候选搜索起点;最后从该候选搜索起点集合中确定目标编码单元的目标搜索起点。上述可知,本申请实施例通过在第i层图像中获取已编码单元以及周边已编码单元,可以在第i层参考图像中获取多个匹配编码单元,进而可以在第i+1层参考图像中获取多个候选搜索起点,在已编码单元的搜索结果(可以等同于匹配编码单元)出现误差,导致出现一个错误的候选搜索起点时,采用本申请,可以通过周边已编码单元对应的搜索结果,获取其他候选搜索起点,故可以确保目标编码单元的目标搜索起点的准确性,由于有了准确的目标搜索起点,故可以获取准确的搜索范围,进而可以提高目标编码单元的搜索结果的准确性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种系统架构示意图;
图2是本申请实施例提供的一种数据处理的场景示意图;
图3是本申请实施例提供的一种数据处理方法的流程示意图;
图4是本申请实施例提供的一种数据处理的场景示意图;
图5是本申请实施例提供的一种数据处理的场景示意图;
图6是本申请实施例提供的一种数据处理的场景示意图;
图7是本申请实施例提供的一种数据处理的场景示意图;
图8是本申请实施例提供的一种数据处理方法的流程示意图;
图9是本申请实施例提供的一种数据处理的场景示意图;
图10是本申请实施例提供的一种数据处理方法的流程示意图;
图11是本申请实施例提供的一种数据处理装置的结构示意图;
图12是本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参见图1,图1是本申请实施例提供的一种系统架构示意图。如图1所示,该系统可以包括服务器10a以及用户终端集群,用户终端集群可以包括:用户终端10b、用户终端10c、...、用户终端10d,可以理解的是,上述系统可以包括一个或者多个用户终端,这里将不对用户终端的数量进行限制。
其中,用户终端集群之间可以存在通信连接,例如用户终端10b与用户终端10c之间存在通信连接,用户终端10b与用户终端10d之间存在通信连接。同时,用户终端集群中的任一用户终端可以与服务器10a存在通信连接,例如用户终端10b与服务器10a之间存在通信连接,用户终端10c与服务器10a之间存在通信连接。其中,上述的通信连接不限定连接方式,可以通过有线通信方式进行直接或间接地连接,也可以通过无线通信方式进行直接或间接地连接,还可以通过其他方式,本申请在此不做限制。
应当理解,如图1所示的用户终端集群中的每个用户终端均可以安装有应用客户端,当该应用客户端运行于各用户终端中时,可以分别与上述图1所示的服务器10a之间进行数据交互,即上述的通信连接。其中,该应用客户端可以包括社交客户端、多媒体客户端(例如视频客户端)、娱乐客户端(例如游戏客户端)、教育客户端、直播客户端等具有视频编码功能的应用客户端。其中,该应用客户端可以为独立的客户端,也可以为集成在某客户端(例如,社交客户端、教育客户端以及多媒体客户端等)中的嵌入式子客户端,在此不做限定。
其中,图1中的服务器10a、用户终端10b、用户终端10c、...、用户终端10d均可以包括手机、平板电脑、笔记本电脑、掌上电脑、智能音响、移动互联网设备(MID,mobileinternet device)、POS(Point Of Sales,销售点)机、可穿戴设备(例如智能手表、智能手环等)等具有数据处理功能的智能终端。
可以理解的是,本申请实施例所提供的数据处理方法可以由计算机设备执行,计算机设备包括但不限于用户终端或服务器。上述服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。上述用户终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表、车载终端、智能电视等,但并不局限于此。用户终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
应当理解,本申请实施例中的具有视频编码功能的计算机设备(例如,用户终端100a)可以通过云技术,实现对多媒体数据(例如,视频数据)的数据编码以及数据传输。其中,云技术(Cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。
云技术可以是基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。
例如,本申请实施例提供的数据处理方法可以应用于视频通话场景、视频传输场景、云会议场景、直播场景等高分辨率、高帧率的场景。其中,云会议是基于云计算技术的一种高效、便捷、低成本的会议形式。使用者只需要通过互联网界面,进行简单易用的操作,便可快速高效地与全球各地团队及客户同步分享语音、数据文件及视频,而会议中数据的传输、处理等复杂技术由云会议服务商帮助使用者进行操作。目前国内云会议主要集中在以SaaS (Software as a Service,软件即服务)模式为主体的服务内容,包括电话、网络、视频等服务形式,基于云计算的视频会议就叫云会议。在云会议时代,数据的传输、处理、存储全部由视频会议厂家的计算机资源处理,用户完全无需再购置昂贵的硬件和安装繁琐的软件,只需打开浏览器,登录相应界面,就能进行高效的远程会议。云会议系统支持多服务器动态集群部署,并提供多台高性能服务器,大大提升了会议稳定性、安全性、可用性。近年来,视频会议因能大幅提高沟通效率,持续降低沟通成本,带来内部管理水平升级,而获得众多用户欢迎,已广泛应用在政府、军队、交通、运输、金融、运营商、教育、企业等各个领域。毫无疑问,视频会议运用云计算以后,在方便性、快捷性、易用性上具有更强的吸引力,必将激发视频会议应用新高潮的到来。
进一步地,请参见图2,图2是本申请实施例提供的一种数据处理的场景示意图。如图2所示,本申请实施例中的用户终端2a和用户终端2b均可以为上述图1所示的用户终端集群中的任意一个用户终端。其中,用户终端2a可以为用于发送视频数据(例如,图2所示的视频数据20b)的发送终端,该用户终端2a对应的用户可以为用户2A。用户终端2b可以为用于接收该视频数据20b的接收终端,该用户终端2b对应的用户可以为用户2B。其中,图2所示的服务器20a可以为与用户终端2a和用户终端2b均具有网络连接关系的服务器,该服务器20a可以为上述图1所示的服务器10a。
应当理解,在视频通话场景中,用户终端2a可以通过图像采集器件(例如,摄像头)采集与用户2A相关联的视频数据20b。其中,视频数据20b可以包括视频帧20x、视频帧20y以及视频帧20z。可以理解的是,视频帧20x可以为视频帧20y的前一帧,视频帧20y可以为视频帧20z的前一帧。进一步地,该用户终端2a需要通过视频编码器(具有分层运动估计组件)对该视频数据20b进行编码处理,以生成与该视频数据20b相关联的视频码流1。此时,用户终端2a可以将该视频码流1发送至服务器20a,以使该服务器20a可以将该视频码流1转发至用户终端2b。用户终端2b在接收到该视频码流1时,可以通过视频解码器对该视频码流1进行解码,以得到视频数据20b,从而可以实现用户2A与用户2B之间的视频通话。当然,用户终端2b还可以对与用户2B相关联的视频数据2进行编码处理,并将编码处理后所得到的视频码流2通过服务器20a转发至用户终端2a,在此不做赘述。
可以理解的是,该用户终端2a在对视频数据20b进行数据传输时,可以从视频数据20b中获取需要进行编码处理的原始图像(例如,图2所示的视频帧20z),以及原始参考图像,其中,原始图像以及原始参考图像具有编码参考关系,且原始图像对应的图像分辨率等于原始参考图像对应的图像分辨率,该原始参考图像可以为一个或多个,本申请实施例对原始参考图像的数量不进行限制,且不对原始参考图像的选取进行限制,可以根据实际应用场景进行设定。
为了便于叙述以及理解,本申请实施例以视频帧20y示例原始参考图像。用户终端2a首先通过分层运动估计组件对原始图像进行下采样处理,得到与原始图像相关联的N层分别具有不同分辨率的图像,在本申请实施例中,假设N等于3,则第3层图像(等同于图2中的原始层图像203d)与原始图像(即视频帧20z)相同,第2层图像(等同于图2中低层图像202d)对应的图像分辨率小于第3层图像对应的图像分辨率,第1层图像(等同于图2中低层图像201d)对应的图像分辨率小于第2层图像对应的图像分辨率。
同理,用户终端2a通过分层运动估计组件对原始参考图像进行下采样处理,得到与原始参考图像相关联的N层分别具有不同分辨率的参考图像,其中,第3层参考图像(等同于图2中的原始层参考图像203c)与原始参考图像(即视频帧20y)相同,第2层参考图像(等同于图2中低层参考图像202c)对应的图像分辨率,小于第3层参考图像对应的图像分辨率,且第2层参考图像对应的图像分辨率等于上述第2层图像对应的图像分辨率,第1层参考图像(等同于图2中低层参考图像201c)对应的图像分辨率,小于第2层参考图像对应的图像分辨率,且第1层参考图像对应的图像分辨率等于上述第1层图像对应的图像分辨率。
通过分层运动估计组件中的分层运动估计功能,用户终端2a对上述第1层图像中的编码单元、第2层图像中的编码单元以及第3层图像中的编码单元,依次进行编码处理,将第3层图像中的编码单元的搜索结果(即最优运动矢量),作为视频帧20z的搜索结果。如图2所示,根据视频帧20z的搜索结果,用户终端2a生成针对视频数据20b的视频码流1。
在视频编码中,运动估计模块是运算量最大的模块,同时运动估计模块搜索出来的运动矢量的准确性对视频数据的压缩效率影响极大。分层运动估计是一种运动估计算法,本申请提出一种提升分层运动估计中运动矢量搜索准确性的方法,在不影响编码复杂度的情况下,可以极大地提高运动矢量的准确性,进而提高压缩率。该方法的具体过程请一并参见下文图3以及图8所分别对应的实施例。
进一步地,请参见图3,图3是本申请实施例提供的一种数据处理方法的流程示意图。该数据处理方法可以由计算机设备执行,该计算机设备可以包括用户终端以及服务器。如图3所示,该数据处理过程可以包括如下步骤。
步骤S101,获取与原始图像相关联的N层分别具有不同分辨率的图像,获取与原始参考图像相关联的N层分别具有不同分辨率的参考图像,原始图像以及原始参考图像具有编码参考关系,且原始图像对应的图像分辨率等于原始参考图像对应的图像分辨率,N为大于1的正整数。
具体的,获取原始图像以及原始参考图像;将原始图像以及原始参考图像均输入至分层运动估计组件;通过分层运动估计组件,获取与原始图像相关联的N层分别具有不同分辨率的图像,以及与原始参考图像相关联的N层分别具有不同分辨率的参考图像。
其中,分层运动估计组件包括原始层运动估计子组件以及P个低层运动估计子组件,P个低层运动估计子组件包括低层运动估计子组件Zx以及低层运动估计子组件Zx+1,P为正整数且P小于N,x为正整数且x小于P;获取N层分别具有不同分辨率的图像,以及N层分别具有不同分辨率的参考图像的具体过程可以包括:通过原始层运动估计子组件,得到原始层图像以及原始层参考图像,原始层图像与原始图像相同,原始层参考图像与原始参考图像相同;通过低层运动估计子组件Zx,对原始图像进行下采样处理,得到低层图像Yx,对原始参考图像进行下采样处理,得到低层参考图像Wx,低层图像Yx对应的图像分辨率等于低层参考图像Wx对应的图像分辨率;通过低层运动估计子组件Zx+1,对原始图像进行下采样处理,得到低层图像Yx+1,对原始参考图像进行下采样处理,得到低层参考图像Wx+1,低层图像Yx+1对应的图像分辨率等于低层参考图像Wx+1对应的图像分辨率,低层图像Yx+1对应的图像分辨率大于低层图像Yx对应的图像分辨率,且低层图像Yx+1对应的图像分辨率小于原始层图像对应的图像分辨率;将原始层图像以及通过P个低层运动估计子组件所分别得到的低层图像,确定为与原始图像相关联的N层分别具有不同分辨率的图像,将原始层参考图像以及通过P个低层运动估计子组件所分别得到的低层参考图像,确定为与原始参考图像相关联的N层分别具有不同分辨率的参考图像。
请一并参见图4,图4是本申请实施例提供的一种数据处理的场景示意图。如图4所示,计算机设备40a获取待编码的视频数据40b,可以理解的是,该视频数据40b可以分解为一个视频帧序列,即对该视频帧序列中的视频帧进行编码处理。为了便于叙述以及理解,以视频帧序列中的某一视频帧作为原始图像40d,即待编码的视频帧,以视频帧序列中的其余任意一个视频帧作为原始参考图像40c,在实际应用时,原始参考图像可以包括多个视频帧,且该原始参考图像可以为已编码的视频帧,也可以为未编码的视频帧,此处不对原始参考图像的选取进行限制。其中,原始图像40d以及原始参考图像40c具有编码参考关系,且原始图像40d对应的图像分辨率等于原始参考图像40c对应的图像分辨率。
在视频编码中,分层运动估计是一种运动估计算法,请再参见图4,计算机设备40a将原始图像40d以及原始参考图像40c均输入至分层运动估计组件40e,在本申请实施例中,以分层运动估计组件40e包括3个子组件(即N=3,P=2)示例说明,即图4中的原始层运动估计子组件403e、低层运动估计子组件402e以及低层运动估计子组件401e。可以理解的是,实际应用时,分层运动估计组件可以包括一个原始层运动估计子组件,以及任意数量的低层运动估计子组件。
计算机设备40a将原始图像40d以及原始参考图像40c均输入至原始层运动估计子组件403e,该子组件对输入数据(包括原始图像40d以及原始参考图像40c)不进行下采样处理,直接输出与原始图像40d相同的原始层图像,以及与原始参考图像40c相同的原始层参考图像,即原始图像40d作为第3层图像,原始参考图像40c作为第3层参考图像。
计算机设备40a将原始图像40d以及原始参考图像40c均输入至低层运动估计子组件402e,如图4所示,该子组件对上述输入数据进行下采样的比例为1/4,即对输入数据缩小{(1/2)*(1/2)},具体过程为:通过低层运动估计子组件402e,对原始图像40d进行下采样处理,得到低层图像402d,对原始参考图像40c进行下采样处理,得到低层参考图像402c,其中,低层图像402d对应的图像分辨率等于低层参考图像402c对应的图像分辨率,且低层图像402d对应的图像分辨率等于原始图像40d对应的1/4图像分辨率,假设原始图像40d的图像分辨率为224*224,则低层图像402d对应的图像分辨率等于112*112,低层参考图像402c对应的图像分辨率也等于112*112。其中,低层图像402d作为第2层图像,低层参考图像402c作为第2层参考图像。
请再参见图4,计算机设备40a将原始图像40d以及原始参考图像40c均输入至低层运动估计子组件401e,如图4所示,该子组件对上述输入数据进行下采样的比例为1/16,即对输入数据缩小{(1/4)*(1/4)},具体过程为:通过低层运动估计子组件401e,对原始图像40d进行下采样处理,得到低层图像401d,对原始参考图像40c进行下采样处理,得到低层参考图像401c,其中,低层图像401d对应的图像分辨率等于低层参考图像401c对应的图像分辨率,且低层图像401d对应的图像分辨率等于原始图像40d对应的1/16图像分辨率,假设原始图像40d的图像分辨率为224*224,则低层图像401d对应的图像分辨率等于56*56,低层参考图像402c对应的图像分辨率也等于56*56。其中,低层图像401d作为第1层图像,低层参考图像401c作为第1层参考图像。
综上所述,通过分层运动估计组件40e,计算机设备40a可以获取与原始图像40d相关联的3层分别具有不同分辨率的图像,即图4中的原始图像40d、低层图像402d以及低层图像401d;同理,计算机设备40a获取与原始参考图像40c相关联的3层分别具有不同分辨率的参考图像,即图4中的原始参考图像40c、低层参考图像402c以及低层参考图像401c。
本申请实施例不对下采样方法进行限制,可以为任意一种下采样方法,例如双线性插值以及直接抽取等方法。
步骤S102,获取第i+1层图像中的目标编码单元,在第i层图像中获取目标编码单元对应的已编码单元,i为正整数,且i小于N,第i层图像与第i+1层图像具有相邻层关系,且第i层图像对应的图像分辨率小于第i+1层图像对应的图像分辨率。
具体的,获取目标编码单元在第i+1层图像中的目标位置;根据目标位置,从第i层图像中获取已编码单元,目标编码单元对应的单元分辨率大于已编码单元对应的单元分辨率。
由步骤S101可知,通过分层运动估计,计算机设备可以对原始图像以及原始参考图像分别进行下采样处理,生成与原始图像相关联的N层分别具有不同分辨率的图像,以及生成与原始参考图像相关联的N层分别具有不同分辨率的参考图像,例如图4所示例的通过1/4下采样比例,获取低层图像402d以及低层参考图像402c,通过1/16下采样比例,获取低层参考图像401c以及低层图像401d。然后计算机设备从最低分辨率层开始,对低层图像上的每一个编码单元,在相同分辨率参考图像上搜索最佳匹配块。
当搜索第一层图像(例如图4所示例的低层图像401d)时,因为计算机设备没有任何先验搜索结果作为参考,因此一般采用(0,0)位置作为搜索起点,且搜索范围会大于其他层图像的搜索范围。例如为第一层图像中的第18个编码单元进行编码(即获取搜索结果)时,其对应的搜索起点为第一层参考图像中的第18个参考编码单元,即搜索起点在第一层参考图像中的单元位置等于第18个编码单元在第一层图像中的单元位置。
本申请主要叙述当前层为其他层图像(不是第一层图像)时,计算机设备确定目标编码单元对应的目标搜索起点的过程,请一并参见图5,图5是本申请实施例提供的一种数据处理的场景示意图。如图5所示,计算机设备获取第i+1层图像50a中的目标编码单元501a,进一步地,确定目标编码单元501a在第i+1层图像50a中的目标位置,在本申请实施例中,以一个方格表示一个编码单元,故可以确定目标编码单元501a是第i+1层图像50a中的第18个编码单元;目标位置可以表示为第18个编码单元,也可以表示为目标编码单元501a对应的单元分辨率,假设第i+1层图像50a的图像分辨率为112*112,每个编码单元分别对应的单元分辨率均为16*16,此处不对目标位置进行限制,可以跟随应用场景进行设定。
请再参见图5,根据目标位置,计算机设备从第i层图像50b中获取已编码单元501b,可以理解的是,已编码单元501b在第i层图像中的单元位置,等于目标编码单元501a在第i+1层图像50a中的单元位置(即目标位置)。其中,第i+1层图像50a中的编码单元的总数量,等于第i层图像50b中的编码单元的总数量,但目标编码单元501a对应的单元分辨率大于已编码单元501b对应的单元分辨率,假设第i+1层图像50a等于图4中的低层图像402d,第i层图像50b等于图4中的低层图像401d,则目标编码单元501a对应的单元分辨率,等于已编码单元501b对应的单元分辨率的4倍。
步骤S103,根据已编码单元,在第i层图像中获取已编码单元集合,已编码单元集合包括已编码单元,以及与已编码单元相关联的周边已编码单元。
具体的,获取周边单元值;在第i层图像中,获取与已编码单元的单元距离小于或等于周边单元值的已编码单元,将获取到的已编码单元均确定为周边已编码单元;将已编码单元以及周边已编码单元均添加至已编码单元集合。
在实际应用中,可能存在第i层的某个搜索结果稍有误差(即不是最佳匹配块),若根据该搜索结果,直接在第i+1层参考图像中确定目标编码单元的目标搜索起点,则会导致后续的搜索结果陷入局部最优,从而降低压缩效率。本申请实施例为了避免上述缺陷,在第i层图像中确定已编码单元后,获取该已编码单元周边的已编码单元(即周边已编码单元)。计算机设备获取周边单元值,该周边单元值可以表示为纯数字,例如1、2…,即周边已编码单元与已编码单元之间的单元距离小于或等于周边单元值;该周边单元值还可以表示为3*3,5*5,即以已编码单元为中心编码单元,获取其周边的已编码单元,此处不对周边单元值的表示进行限定。
在本申请实施例中,假设周边单元值等于1,请一并参见图5,计算机设备在第i层图像50b中获取周边已编码单元502b,周边已编码单元502b可以包括第i层图像50b中的第10个编码单元、第11个编码单元、第12个编码单元、第17个编码单元、第19个编码单元、第24个编码单元、第25个编码单元以及第26个编码单元。可选的,周边已编码单元502b可以包括已编码单元501b(即第i层图像50b中的第18个编码单元)。计算机设备将已编码单元501b以及周边已编码单元502b均添加至已编码单元集合503b,图5中仅表述数字。
步骤S104,在第i层参考图像中获取已编码单元集合对应的匹配编码单元集合,根据匹配编码单元集合,在第i+1层参考图像中获取针对目标编码单元的候选搜索起点集合,第i层参考图像对应的图像分辨率小于第i+1层参考图像对应的图像分辨率,第i层参考图像对应的图像分辨率等于第i层图像对应的图像分辨率。
具体的,在第i层参考图像中,获取与已编码单元具有最小运动矢量的匹配编码单元,以及与周边已编码单元具有最小运动矢量的匹配编码单元;将获取到的匹配编码单元生成匹配编码单元集合,已编码单元集合包括已编码单元Ab,b为正整数,且b小于或等于已编码单元集合中的已编码单元的总数量,匹配编码单元集合包括与已编码单元Ab具有最小运动矢量的匹配编码单元Cb,已编码单元Ab对应的单元分辨率等于匹配编码单元Cb对应的单元分辨率,第i层参考图像与第i层图像具有编码参考关系;根据匹配编码单元Cb在第i层参考图像中的匹配位置,获取在第i+1层参考图像中的参考编码单元Db,第i+1层图像与第i+1层参考图像具有编码参考关系,参考编码单元Db对应的单元分辨率等于目标编码单元对应的单元分辨率;将参考编码单元Db确定为与匹配编码单元Cb相关联的候选搜索起点,将与匹配编码单元集合中的每个匹配编码单元分别相关联的候选搜索起点,均添加至候选搜索起点集合。
结合步骤S103以及图5,根据已编码单元501b以及周边单元值,计算机设备在第i层图像50b中获取已编码单元集合503b,已编码单元集合503b包括第i层图像50b中的第10个编码单元、第11个编码单元、第12个编码单元、第17个编码单元、第18个编码单元、第19个编码单元、第24个编码单元、第25个编码单元以及第26个编码单元。请一并参见图6,图6是本申请实施例提供的一种数据处理的场景示意图。如图6所示,根据已编码单元集合503b的编码结果(等同于搜索结果),计算机设备在第i层参考图像50c中获取匹配编码单元集合,其中,在第i层参考图像50c中,获取与已编码单元501b具有最小运动矢量的匹配编码单元501c,以及与周边已编码单元502b具有最小运动矢量的匹配编码单元502c。
本申请实施例为了便于叙述,将匹配编码单元集合中的匹配编码单元均设置为一个完整的编码单元,例如第i层图像50b中的第10个编码单元的最佳匹配块,为第i层参考图像50c中的第11个编码单元,即上述两个编码单元的运动矢量等于一个编码单元的单元分辨率。可以理解的是,在实际应用中,编码单元与参考编码单元的运动矢量可能小于一个编码单元的单元分辨率,或者说,运动矢量不等于单元分辨率的整数倍。
请再参见图6,匹配编码单元集合可以包括第i层参考图像50c中的第11个编码单元、第12个编码单元、第16个编码单元、第19个编码单元、第20个编码单元、第24个编码单元、第25个编码单元以及第26个编码单元。根据每个匹配编码单元在第i层参考图像50c中的匹配位置,在第i+1层参考图像50d中分别获取参考编码单元,如图6所示,参考编码单元501d可以包括第i+1层参考图像50d中的第11个编码单元、第12个编码单元、第16个编码单元、第19个编码单元、第20个编码单元、第24个编码单元、第25个编码单元以及第26个编码单元。计算机设备将参考编码单元501d均添加至候选搜索起点集合。
步骤S105,从候选搜索起点集合中确定目标编码单元的目标搜索起点。
具体的,候选搜索起点集合包括候选搜索起点Ef,f为正整数,且f小于候选搜索起点集合中的候选搜索起点的总数量;根据目标编码单元在第i+1层图像中的目标位置,以及候选搜索起点Ef在第i+1层参考图像中的参考位置Jf,获取目标编码单元对应的运动矢量Gf;将运动矢量Gf添加至第一运动矢量集合,第一运动矢量集合包括候选搜索起点集合中的每个候选搜索起点分别对应的运动矢量;根据第一运动矢量集合确定目标编码单元的目标搜索起点。
其中,目标位置包括目标像素位置Hi,i为正整数,且i小于或等于目标位置中的目标像素位置的总数量,i用于表征目标像素位置Hi在目标位置中的序号,参考位置Jf包括参考像素位置Km,m为正整数,且m小于或等于参考位置Jf中的参考像素位置的总数量,m用于表征参考像素位置Km在参考位置Jf中的序号,m等于i;获取目标编码单元对应的运动矢量Gf的具体过程可以包括:获取目标像素位置Hi的像素值,获取参考像素位置Km的像素值;获取目标像素位置Hi的像素值以及参考像素位置Km的像素值之间的像素值的差的绝对值Ni,将绝对值Ni确定为与目标像素位置Hi相关联的绝对值;对目标位置中的每个目标像素位置分别相关联的绝对值进行求和运算,获取目标编码单元对应的运动矢量Gf。
其中,确定目标编码单元的目标搜索起点的具体过程可以包括:从第一运动矢量集合中获取最小运动矢量,作为目标编码单元的第一最小运动矢量;将第一最小运动矢量对应的候选搜索起点,确定为目标编码单元的目标搜索起点。
在视频编码中,运动估计模块是最重要的一个模块,其运算量最大,同时运动估计模块搜索出来的运动矢量的准确性对压缩效率会产生极大影响。分层运动估计是一种运动估计算法,本申请实施例提出一种提升分层运动估计中运动矢量搜索准确性的方法,在不影响编码复杂度的情况下,可以明显提高搜索出来的运动矢量的准确性,提高压缩率。
请一并参见图7,图7是本申请实施例提供的一种数据处理的场景示意图。结合图7以及步骤S104,可知候选搜索起点集合等于第i+1层参考图像50d中的参考编码单元501d,计算机设备获取每个参考编码单元在第i+1层参考图像50d中分别对应的参考位置,如图7示例的参考位置集合502d,参考位置集合502d可以包括候选搜索起点E1对应的参考位置J1,候选搜索起点E2对应的参考位置J2,候选搜索起点E3对应的参考位置J3,候选搜索起点E4对应的参考位置J4,候选搜索起点E5对应的参考位置J5,候选搜索起点E6对应的参考位置J6,候选搜索起点E7对应的参考位置J7,候选搜索起点E8对应的参考位置J8。
其中,候选搜索起点E1等于参考编码单元D1(即第i+1层参考图像50d中的第11个编码单元),候选搜索起点E2等于参考编码单元D2(即第i+1层参考图像50d中的第12个编码单元),候选搜索起点E3等于参考编码单元D3(即第i+1层参考图像50d中的第16个编码单元),候选搜索起点E4等于参考编码单元D4(即第i+1层参考图像50d中的第19个编码单元),候选搜索起点E5等于参考编码单元D5(即第i+1层参考图像50d中的第20个编码单元),候选搜索起点E6等于参考编码单元D6(即第i+1层参考图像50d中的第24个编码单元),候选搜索起点E7等于参考编码单元D7(即第i+1层参考图像50d中的第25个编码单元),候选搜索起点E8等于参考编码单元D8(即第i+1层参考图像50d中的第26个编码单元)。
请再参见图7,计算机设备获取目标编码单元501a在第i+1层图像50a中的目标位置,根据目标位置以及一个参考位置,获取与该参考位置相关联的运动矢量。在本申请实施例中,以绝对误差和 (Sum of Absolute Differences,SAD)算法为例,示意确定目标位置以及参考位置之间的运动矢量,具体过程可以如下:计算机设备获取目标位置中的第一个目标像素位置,获取该第一个目标像素位置对应的像素值,获取某一个参考位置中的第一个参考像素位置,获取该第一个参考像素位置对应的像素值,计算机设备对上述获取到的两个像素值进行相减处理,获取差值,获取待差值的绝对值;相对应地,计算机设备对其他目标像素位置以及对应的参考像素位置进行上述同样的处理,最后将获取到的绝对值进行求和处理,则得到目标位置以及一个参考位置的运动矢量。
值得注意的是,本申请实施例不对获取运动矢量的算法进行限定,除了上述提及的SAD算法,还可以采用其他匹配准则算法,例如均方误差(Mean Square Error,MSE)算法,平均绝对差值(Mean AbsoluteDifferences,MAD)等算法。
请再参见图7,计算机设备根据上述匹配准则算法,可以获取目标位置与参考位置J1之间的运动矢量G1,目标位置与参考位置J2之间的运动矢量G2,目标位置与参考位置J3之间的运动矢量G3,目标位置与参考位置J4之间的运动矢量G4,目标位置与参考位置J5之间的运动矢量G5,目标位置与参考位置J6之间的运动矢量G6,目标位置与参考位置J7之间的运动矢量G7,目标位置与参考位置J8之间的运动矢量G8。计算机设备将上述获取到的运动矢量均添加至第一运动矢量集合503d,最后从第一运动矢量集合503d中获取最小运动矢量,如图7所示,本申请实施例假设运动矢量G4为最小运动矢量,故将第一最小运动矢量(即运动矢量G4)对应的候选搜索起点(即图7中的参考匹配单元504d),确定为目标编码单元501a的目标搜索起点。
在本申请实施例中,通过获取与原始图像相关联的N层分别具有不同分辨率的图像,以及与原始参考图像相关联的N层分别具有不同分辨率的参考图像,可以为每层图像中的目标编码单元确定目标搜索起点;其中,本申请在确定第i+1层图像中的目标编码单元的目标搜索起点时,不仅仅获取上一层图像(即第i层图像)中与目标编码单元对应的已编码单元,还获取已编码单元周边的已编码单元(即周边已编码单元),即获取已编码单元集合;进一步地,在第i层参考图像中,不仅仅获取了已编码单元对应的匹配编码单元,还获取了周边已编码单元对应的匹配编码单元,即获取已编码单元集合对应的匹配编码单元集合;进一步地,根据匹配编码单元集合,可以在第i+1层参考图像中获取针对目标编码单元的候选搜索起点集合,明显地,该候选搜索起点集合包括多个候选搜索起点;最后从该候选搜索起点集合中确定目标编码单元的目标搜索起点。上述可知,本申请实施例通过在第i层图像中获取已编码单元以及周边已编码单元,可以在第i层参考图像中获取多个匹配编码单元,进而可以在第i+1层参考图像中获取多个候选搜索起点,在已编码单元的搜索结果(可以等同于匹配编码单元)出现误差,导致出现一个错误的候选搜索起点时,采用本申请,可以通过周边已编码单元对应的搜索结果,获取其他候选搜索起点,故可以确保目标编码单元的目标搜索起点的准确性,由于有了准确的目标搜索起点,故可以获取准确的搜索范围,进而可以提高目标编码单元的搜索结果的准确性。
进一步地,请参见图8,图8是本申请实施例提供的一种数据处理方法的流程示意图。该数据处理方法可以由计算机设备执行,该计算机设备可以包括用户终端以及服务器。如图8所示,该数据处理过程可以包括如下步骤。
步骤S201,获取与原始图像相关联的N层分别具有不同分辨率的图像,获取与原始参考图像相关联的N层分别具有不同分辨率的参考图像,原始图像以及原始参考图像具有编码参考关系,且原始图像对应的图像分辨率等于原始参考图像对应的图像分辨率,N为大于1的正整数。
步骤S202,取第i+1层图像中的目标编码单元,在第i层图像中获取目标编码单元对应的已编码单元,i为正整数,且i小于N,第i层图像与第i+1层图像具有相邻层关系,且第i层图像对应的图像分辨率小于第i+1层图像对应的图像分辨率。
步骤S203,根据已编码单元,在第i层图像中获取已编码单元集合,已编码单元集合包括已编码单元,以及与已编码单元相关联的周边已编码单元。
步骤S204,在第i层参考图像中获取已编码单元集合对应的匹配编码单元集合,根据匹配编码单元集合,在第i+1层参考图像中获取针对目标编码单元的候选搜索起点集合,第i层参考图像对应的图像分辨率小于第i+1层参考图像对应的图像分辨率,第i层参考图像对应的图像分辨率等于第i层图像对应的图像分辨率。
步骤S205,候选搜索起点集合中确定目标编码单元的目标搜索起点。
其中,步骤S201-步骤S205的具体过程,可以参见上文图3中步骤S101-步骤S105所对应的实施例中的描述,此处不再进行赘述。
步骤S206,获取周边搜索值。
步骤S207,在第i+1层参考图像中,获取与目标搜索起点的单元距离小于或等于周边搜索值的周边搜索单元。
步骤S208,将获取到的周边搜索单元以及目标搜索起点添加至待匹配搜索单元集合,待匹配搜索单元集合中的待匹配搜索单元对应的单元分辨率等于目标编码单元对应的单元分辨率。
步骤S209,根据目标编码单元以及待匹配搜索单元集合,获取原始图像的搜索结果。
具体的,待匹配搜索单元集合包括待匹配搜索单元Qr,r为正整数,且r小于或等于待匹配搜索单元集合中的待匹配搜索单元的总数量;根据目标编码单元在第i+1层图像中的目标位置,以及待匹配搜索单元Qr在第i+1层参考图像中的待匹配位置Sr,获取目标编码单元对应的运动矢量Tr;将运动矢量Tr添加至第二运动矢量集合,第二运动矢量集合包括待匹配搜索单元集合中的每个待匹配搜索单元分别对应的运动矢量;在第二运动矢量集合中获取最小运动矢量,作为目标编码单元的第二最小运动矢量;根据第i+1层图像以及原始图像之间的关联关系,确定第二最小运动矢量为原始图像的搜索结果。
其中,确定原始图像的搜索结果的具体过程可以包括:若第i+1层图像不等于原始图像,则将第二最运动矢量进行存储;若第i+1层图像等于原始图像,则将第二最小运动矢量确定为搜索结果。
本申请实施例提出了一种提高视频编码分层运动估计中搜索起点准确性的方法,首先通过分层运动估计,对原始图像以及原始参考图像均进行下采样处理,获取多层低分辨率图像以及多层低分辨率参考图像,然后从最低分辨率层图像开始,往高分辨率层图像逐层搜索。除了第一层图像没有先验搜索结果作为参考,其他每一层图像的搜索起点都可以从本编码单元,在上一层图像中对应位置的编码单元以及其周边临近的编码单元分别对应的搜索结果(最优运动矢量)中,选出一个最优搜索结果的作为搜索起点。本申请提出的上述方法能大大提高分层运动估计中搜索起点的准确性,从而提高整个运动估计模块中搜索运动矢量的准确性,使得整个编码器的压缩效率得到提高,在产品实际使用过程中能节省码率,从而能大大节省传输数据带宽。
请一并参见图9,图9是本申请实施例提供的一种数据处理的场景示意图。如图9所示,计算机设备获取周边搜索值,可以理解的是,本申请实施例不对周边搜索值的选取进行限定,实际应用时,可以跟随场景进行设定。例如,周边搜索值等于编码单元数量,如图9中所示,将周边搜索值设定为1个编码单元;例如,周边搜索值等于具体的像素点,例如64*64。
请再参见图9,根据周边搜索值以及目标搜索起点,计算机设备可以在第i+1层图像50d中获取搜索范围505d,根据单元移动步长,在第i+1层参考图像50d中,获取与目标搜索起点50d的单元距离小于或等于周边搜索值的周边搜索单元。进一步地,计算机设备将获取到的周边搜索单元以及目标搜索起点添加至待匹配搜索单元集合,其中,确定目标编码单元501a以及待匹配搜索单元集合中的待匹配搜索单元之间的运动矢量,与上述确定目标编码单元501a以及参考编码单元之间的运动矢量的过程一致,故此处不再一一进行赘述。
计算机设备获取第二运动矢量集合,同样地,在第二运动矢量集合中获取最小运动矢量,作为目标编码单元501a的第二最小运动矢量,若第i+1层图像50a不等于原始图像,即表明第i+1层图像50a属于低层图像,例如图4中的低层图像402d,则将第二最运动矢量进行存储,提供给更高层的图像(例如原始层图像);若第i+1层图像等于原始图像,则将第二最小运动矢量确定为搜索结果。
请一并参见图10,图10是本申请实施例提供的一种数据处理方法的流程示意图。该数据处理方法可以包括两个步骤,即步骤S301以及S302。
其中,步骤S301主要描述对原始图像以及原始参考图像分别进行下采样的条件,即是否为最后一层图像,若是,则输出原始层图像(等同于原始图像)以及原始层参考图像(等同于原始参考图像),若不是,则根据下采样比例,对原始图像以及原始参考图像分别进行下采样。
步骤S302主要描述如何确定目标编码单元的目标搜索起点,以及基于该目标搜索起点,生成该目标编码单元的搜索结果。计算机设备首先判断是否是第一层图像,若是,则以对应位置确定目标编码单元的目标搜索起点,例如第一层图像中的第10个编码单元的目标搜索起点,为第一层参考图像中的第10个编码单元;若不是,则基于前一层的搜索结果确定搜索起点。逐层确定搜索结果,然后确定生成的搜索结果是否属于最后一层图像的搜索结果,若是,则结束分层运动估计,若不是,则保存当前的搜索结果,以提供给下一层图像确定搜索起点。
图10中的具体过程,请参见上文图3以及图8所分别对应的实施例,此处不再进行赘述。
在本申请实施例中,通过获取与原始图像相关联的N层分别具有不同分辨率的图像,以及与原始参考图像相关联的N层分别具有不同分辨率的参考图像,可以为每层图像中的目标编码单元确定目标搜索起点;其中,本申请在确定第i+1层图像中的目标编码单元的目标搜索起点时,不仅仅获取上一层图像(即第i层图像)中与目标编码单元对应的已编码单元,还获取已编码单元周边的已编码单元(即周边已编码单元),即获取已编码单元集合;进一步地,在第i层参考图像中,不仅仅获取了已编码单元对应的匹配编码单元,还获取了周边已编码单元对应的匹配编码单元,即获取已编码单元集合对应的匹配编码单元集合;进一步地,根据匹配编码单元集合,可以在第i+1层参考图像中获取针对目标编码单元的候选搜索起点集合,明显地,该候选搜索起点集合包括多个候选搜索起点;最后从该候选搜索起点集合中确定目标编码单元的目标搜索起点。上述可知,本申请实施例通过在第i层图像中获取已编码单元以及周边已编码单元,可以在第i层参考图像中获取多个匹配编码单元,进而可以在第i+1层参考图像中获取多个候选搜索起点,在已编码单元的搜索结果(可以等同于匹配编码单元)出现误差,导致出现一个错误的候选搜索起点时,采用本申请,可以通过周边已编码单元对应的搜索结果,获取其他候选搜索起点,故可以确保目标编码单元的目标搜索起点的准确性,由于有了准确的目标搜索起点,故可以获取准确的搜索范围,进而可以提高目标编码单元的搜索结果的准确性。
进一步地,请参见图11,图11是本申请实施例提供的一种数据处理装置的结构示意图。上述数据处理装置可以是运行于计算机设备中的一个计算机程序(包括程序代码),例如该数据处理装置为一个应用软件;该装置可以用于执行本申请实施例提供的方法中的相应步骤。如图11所示,该数据处理装置1可以包括:
第一获取模块11,用于获取与原始图像相关联的N层分别具有不同分辨率的图像,获取与原始参考图像相关联的N层分别具有不同分辨率的参考图像,原始图像以及原始参考图像具有编码参考关系,且原始图像对应的图像分辨率等于原始参考图像对应的图像分辨率,N为大于1的正整数;
第二获取模块12,用于获取第i+1层图像中的目标编码单元,在第i层图像中获取目标编码单元对应的已编码单元,i为正整数,且i小于N,第i层图像与第i+1层图像具有相邻层关系,且第i层图像对应的图像分辨率小于第i+1层图像对应的图像分辨率;
第三获取模块13,用于根据已编码单元,在第i层图像中获取已编码单元集合,已编码单元集合包括已编码单元,以及与已编码单元相关联的周边已编码单元;
第四获取模块14,用于在第i层参考图像中获取已编码单元集合对应的匹配编码单元集合,根据匹配编码单元集合,在第i+1层参考图像中获取针对目标编码单元的候选搜索起点集合,第i层参考图像对应的图像分辨率小于第i+1层参考图像对应的图像分辨率,第i层参考图像对应的图像分辨率等于第i层图像对应的图像分辨率;
确定起点模块15,用于从候选搜索起点集合中确定目标编码单元的目标搜索起点。
其中,第一获取模块11、第二获取模块12、第三获取模块13、第四获取模块14以及确定起点模块15的具体功能实现方式可以参见上述图3对应实施例中的步骤S101-步骤S105,这里不再进行赘述。
再请参见图11,第一获取模块11可以包括:第一获取单元111、输入图像单元112以及第二获取单元113。
第一获取单元111,用于获取原始图像以及原始参考图像;
输入图像单元112,用于将原始图像以及原始参考图像均输入至分层运动估计组件;
第二获取单元113,用于通过分层运动估计组件,获取与原始图像相关联的N层分别具有不同分辨率的图像,以及与原始参考图像相关联的N层分别具有不同分辨率的参考图像。
其中,第一获取单元111、输入图像单元112以及第二获取单元113的具体功能实现方式可以参见上述图3对应实施例中的步骤S101,这里不再进行赘述。
再请参见图11,分层运动估计组件包括原始层运动估计子组件以及P个低层运动估计子组件,P个低层运动估计子组件包括低层运动估计子组件Zx以及低层运动估计子组件Zx+1,P为正整数且P小于N,x为正整数且x小于P;
第二获取单元113可以包括:第一获取子单元1131、第一处理子单元1132、第二处理子单元1133以及第一确定子单元1134。
第一获取子单元1131,用于通过原始层运动估计子组件,得到原始层图像以及原始层参考图像,原始层图像与原始图像相同,原始层参考图像与原始参考图像相同;
第一处理子单元1132,用于通过低层运动估计子组件Zx,对原始图像进行下采样处理,得到低层图像Yx,对原始参考图像进行下采样处理,得到低层参考图像Wx,低层图像Yx对应的图像分辨率等于低层参考图像Wx对应的图像分辨率;
第二处理子单元1133,用于通过低层运动估计子组件Zx+1,对原始图像进行下采样处理,得到低层图像Yx+1,对原始参考图像进行下采样处理,得到低层参考图像Wx+1,低层图像Yx+1对应的图像分辨率等于低层参考图像Wx+1对应的图像分辨率,低层图像Yx+1对应的图像分辨率大于低层图像Yx对应的图像分辨率,且低层图像Yx+1对应的图像分辨率小于原始层图像对应的图像分辨率;
第一确定子单元1134,用于将原始层图像以及通过P个低层运动估计子组件所分别得到的低层图像,确定为与原始图像相关联的N层分别具有不同分辨率的图像,将原始层参考图像以及通过P个低层运动估计子组件所分别得到的低层参考图像,确定为与原始参考图像相关联的N层分别具有不同分辨率的参考图像。
其中,第一获取子单元1131、第一处理子单元1132、第二处理子单元1133以及第一确定子单元1134的具体功能实现方式可以参见上述图3对应实施例中的步骤S101,这里不再进行赘述。
再请参见图11,第二获取模块12可以包括:第三获取单元121以及第四获取单元122。
第三获取单元121,用于获取目标编码单元在第i+1层图像中的目标位置;
第四获取单元122,用于根据目标位置,从第i层图像中获取已编码单元,目标编码单元对应的单元分辨率大于已编码单元对应的单元分辨率。
其中,第三获取单元121以及第四获取单元122的具体功能实现方式可以参见上述图3对应实施例中的步骤S102,这里不再进行赘述。
再请参见图11,第三获取模块13可以包括:第五获取单元131以及第一添加单元132。
第五获取单元131,用于获取周边单元值;
第五获取单元131,还用于在第i层图像中,获取与已编码单元的单元距离小于或等于周边单元值的已编码单元,将获取到的已编码单元均确定为周边已编码单元;
第一添加单元132,用于将已编码单元以及周边已编码单元均添加至已编码单元集合。
其中,第五获取单元131以及第一添加单元132的具体功能实现方式可以参见上述图3对应实施例中的步骤S103,这里不再进行赘述。
再请参见图11,第四获取模块14可以包括:第六获取单元141、第七获取单元142以及第二添加单元143。
第六获取单元141,用于在第i层参考图像中,获取与已编码单元具有最小运动矢量的匹配编码单元,以及与周边已编码单元具有最小运动矢量的匹配编码单元;
第六获取单元141,还用于将获取到的匹配编码单元生成匹配编码单元集合,已编码单元集合包括已编码单元Ab,b为正整数,且b小于或等于已编码单元集合中的已编码单元的总数量,匹配编码单元集合包括与已编码单元Ab具有最小运动矢量的匹配编码单元Cb,已编码单元Ab对应的单元分辨率等于匹配编码单元Cb对应的单元分辨率,第i层参考图像与第i层图像具有编码参考关系;
第七获取单元142,用于根据匹配编码单元Cb在第i层参考图像中的匹配位置,获取在第i+1层参考图像中的参考编码单元Db,第i+1层图像与第i+1层参考图像具有编码参考关系,参考编码单元Db对应的单元分辨率等于目标编码单元对应的单元分辨率;
第二添加单元143,用于将参考编码单元Db确定为与匹配编码单元Cb相关联的候选搜索起点,将与匹配编码单元集合中的每个匹配编码单元分别相关联的候选搜索起点,均添加至候选搜索起点集合。
其中,第六获取单元141、第七获取单元142以及第二添加单元143的具体功能实现方式可以参见上述图3对应实施例中的步骤S104,这里不再进行赘述。
再请参见图11,候选搜索起点集合包括候选搜索起点Ef,f为正整数,且f小于候选搜索起点集合中的候选搜索起点的总数量;
确定起点模块15可以包括:第八获取单元151、第三添加单元152以及第一确定单元153。
第八获取单元151,用于根据目标编码单元在第i+1层图像中的目标位置,以及候选搜索起点Ef在第i+1层参考图像中的参考位置Jf,获取目标编码单元对应的运动矢量Gf;
第三添加单元152,用于将运动矢量Gf添加至第一运动矢量集合,第一运动矢量集合包括候选搜索起点集合中的每个候选搜索起点分别对应的运动矢量;
第一确定单元153,用于根据第一运动矢量集合确定目标编码单元的目标搜索起点。
其中,第八获取单元151、第三添加单元152以及第一确定单元153的具体功能实现方式可以参见上述图3对应实施例中的步骤S105,这里不再进行赘述。
再请参见图11,目标位置包括目标像素位置Hi,i为正整数,且i小于或等于目标位置中的目标像素位置的总数量,i用于表征目标像素位置Hi在目标位置中的序号,参考位置Jf包括参考像素位置Km,m为正整数,且m小于或等于参考位置Jf中的参考像素位置的总数量,m用于表征参考像素位置Km在参考位置Jf中的序号,m等于i;
第八获取单元151可以包括:第二获取子单元1511、第三获取子单元1512以及第四获取子单元1513。
第二获取子单元1511,用于获取目标像素位置Hi的像素值,获取参考像素位置Km的像素值;
第三获取子单元1512,用于获取目标像素位置Hi的像素值以及参考像素位置Km的像素值之间的像素值的差的绝对值Ni,将绝对值Ni确定为与目标像素位置Hi相关联的绝对值;
第四获取子单元1513,用于对目标位置中的每个目标像素位置分别相关联的绝对值进行求和运算,获取目标编码单元对应的运动矢量Gf。
其中,第二获取子单元1511、第三获取子单元1512以及第四获取子单元1513的具体功能实现方式可以参见上述图3对应实施例中的步骤S105,这里不再进行赘述。
再请参见图11,第一确定单元153可以包括:第五获取子单元1531以及第二确定子单元1532。
第五获取子单元1531,用于从第一运动矢量集合中获取最小运动矢量,作为目标编码单元的第一最小运动矢量;
第二确定子单元1532,用于将第一最小运动矢量对应的候选搜索起点,确定为目标编码单元的目标搜索起点。
其中,第五获取子单元1531以及第二确定子单元1532的具体功能实现方式可以参见上述图3对应实施例中的步骤S105,这里不再进行赘述。
再请参见图11,数据处理装置1还可以包括:第五获取模块16以及第六获取模块17。
第五获取模块16,用于获取周边搜索值;
第五获取模块16,还用于在第i+1层参考图像中,获取与目标搜索起点的单元距离小于或等于周边搜索值的周边搜索单元;
第五获取模块16,还用于将获取到的周边搜索单元以及目标搜索起点添加至待匹配搜索单元集合,待匹配搜索单元集合中的待匹配搜索单元对应的单元分辨率等于目标编码单元对应的单元分辨率;
第六获取模块17,用于根据目标编码单元以及待匹配搜索单元集合,获取原始图像的搜索结果。
其中,第五获取模块16以及第六获取模块17的具体功能实现方式可以参见上述图8对应实施例中的步骤S206-步骤S209,这里不再进行赘述。
再请参见图11,待匹配搜索单元集合包括待匹配搜索单元Qr,r为正整数,且r小于或等于待匹配搜索单元集合中的待匹配搜索单元的总数量;
第六获取模块17可以包括:第九获取单元171、第四添加单元172、第十获取单元173以及第二确定单元174。
第九获取单元171,用于根据目标编码单元在第i+1层图像中的目标位置,以及待匹配搜索单元Qr在第i+1层参考图像中的待匹配位置Sr,获取目标编码单元对应的运动矢量Tr;
第四添加单元172,用于将运动矢量Tr添加至第二运动矢量集合,第二运动矢量集合包括待匹配搜索单元集合中的每个待匹配搜索单元分别对应的运动矢量;
第十获取单元173,用于在第二运动矢量集合中获取最小运动矢量,作为目标编码单元的第二最小运动矢量;
第二确定单元174,用于根据第i+1层图像以及原始图像之间的关联关系,确定第二最小运动矢量为原始图像的搜索结果。
其中,第九获取单元171、第四添加单元172、第十获取单元173以及第二确定单元174的具体功能实现方式可以参见上述图8对应实施例中的步骤S209,这里不再进行赘述。
再请参见图11,第二确定单元174可以包括:存储矢量子单元1741以及第三确定子单元1742。
存储矢量子单元1741,用于若第i+1层图像不等于原始图像,则将第二最小运动矢量进行存储;
第三确定子单元1742,用于若第i+1层图像等于原始图像,则将第二最小运动矢量确定为搜索结果。
其中,存储矢量子单元1741以及第三确定子单元1742的具体功能实现方式可以参见上述图8对应实施例中的步骤S209,这里不再进行赘述。
在本申请实施例中,通过获取与原始图像相关联的N层分别具有不同分辨率的图像,以及与原始参考图像相关联的N层分别具有不同分辨率的参考图像,可以为每层图像中的目标编码单元确定目标搜索起点;其中,本申请在确定第i+1层图像中的目标编码单元的目标搜索起点时,不仅仅获取上一层图像(即第i层图像)中与目标编码单元对应的已编码单元,还获取已编码单元周边的已编码单元(即周边已编码单元),即获取已编码单元集合;进一步地,在第i层参考图像中,不仅仅获取了已编码单元对应的匹配编码单元,还获取了周边已编码单元对应的匹配编码单元,即获取已编码单元集合对应的匹配编码单元集合;进一步地,根据匹配编码单元集合,可以在第i+1层参考图像中获取针对目标编码单元的候选搜索起点集合,明显地,该候选搜索起点集合包括多个候选搜索起点;最后从该候选搜索起点集合中确定目标编码单元的目标搜索起点。上述可知,本申请实施例通过在第i层图像中获取已编码单元以及周边已编码单元,可以在第i层参考图像中获取多个匹配编码单元,进而可以在第i+1层参考图像中获取多个候选搜索起点,在已编码单元的搜索结果(可以等同于匹配编码单元)出现误差,导致出现一个错误的候选搜索起点时,采用本申请,可以通过周边已编码单元对应的搜索结果,获取其他候选搜索起点,故可以确保目标编码单元的目标搜索起点的准确性,由于有了准确的目标搜索起点,故可以获取准确的搜索范围,进而可以提高目标编码单元的搜索结果的准确性。
进一步地,请参见图12,图12是本申请实施例提供的一种计算机设备的结构示意图。如图12所示,该计算机设备1000可以包括:至少一个处理器1001,例如CPU,至少一个网络接口1004,用户接口1003,存储器1005,至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,用户接口1003可以包括显示屏(Display)、键盘(Keyboard),网络接口1004可选地可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1005可选地还可以是至少一个位于远离前述处理器1001的存储装置。如图12所示,作为一种计算机存储介质的存储器1005可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。
在图12所示的计算机设备1000中,网络接口1004可提供网络通讯功能;而用户接口1003主要用于为用户提供输入的接口;而处理器1001可以用于调用存储器1005中存储的设备控制应用程序,以实现:
获取与原始图像相关联的N层分别具有不同分辨率的图像,获取与原始参考图像相关联的N层分别具有不同分辨率的参考图像,原始图像以及原始参考图像具有编码参考关系,且原始图像对应的图像分辨率等于原始参考图像对应的图像分辨率,N为大于1的正整数;
获取第i+1层图像中的目标编码单元,在第i层图像中获取目标编码单元对应的已编码单元,i为正整数,且i小于N,第i层图像与第i+1层图像具有相邻层关系,且第i层图像对应的图像分辨率小于第i+1层图像对应的图像分辨率;
根据已编码单元,在第i层图像中获取已编码单元集合,已编码单元集合包括已编码单元,以及与已编码单元相关联的周边已编码单元;
在第i层参考图像中获取已编码单元集合对应的匹配编码单元集合,根据匹配编码单元集合,在第i+1层参考图像中获取针对目标编码单元的候选搜索起点集合,第i层参考图像对应的图像分辨率小于第i+1层参考图像对应的图像分辨率,第i层参考图像对应的图像分辨率等于第i层图像对应的图像分辨率;
从候选搜索起点集合中确定目标编码单元的目标搜索起点。
应当理解,本申请实施例中所描述的计算机设备1000可执行前文图3、图8以及图10所对应实施例中对数据处理方法的描述,也可执行前文图11所对应实施例中对数据处理装置1的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序包括程序指令,该程序指令被处理器执行时实现图3、图8以及图10中各个步骤所提供的数据处理方法,具体可参见上述图3、图8以及图10各个步骤所提供的实现方式,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
上述计算机可读存储介质可以是前述任一实施例提供的数据处理装置或者上述计算机设备的内部存储单元,例如计算机设备的硬盘或内存。该计算机可读存储介质也可以是该计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(smart media card,SMC),安全数字(secure digital,SD)卡,闪存卡(flash card)等。进一步地,该计算机可读存储介质还可以既包括该计算机设备的内部存储单元也包括外部存储设备。该计算机可读存储介质用于存储该计算机程序以及该计算机设备所需的其他程序和数据。该计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
本申请实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备可执行前文图3、图8以及图10所对应实施例中对数据处理方法的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
本申请实施例的说明书和权利要求书及附图中的术语“第一”、“第二”等是用于区别不同对象,而非用于描述特定顺序。此外,术语“包括”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、装置、产品或设备没有限定于已列出的步骤或模块,而是可选地还包括没有列出的步骤或模块,或可选地还包括对于这些过程、方法、装置、产品或设备固有的其他步骤单元。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例提供的方法及相关装置是参照本申请实施例提供的方法流程图和/或结构示意图来描述的,具体可由计算机程序指令实现方法流程图和/或结构示意图的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。这些计算机程序指令可提供到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或结构示意图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或结构示意图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或结构示意一个方框或多个方框中指定的功能的步骤。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。
Claims (15)
1.一种数据处理方法,其特征在于,包括:
获取与原始图像相关联的N层分别具有不同分辨率的图像,获取与原始参考图像相关联的N层分别具有不同分辨率的参考图像,所述原始图像以及所述原始参考图像具有编码参考关系,且所述原始图像对应的图像分辨率等于所述原始参考图像对应的图像分辨率,N为大于1的正整数;
获取第i+1层图像中的目标编码单元,在第i层图像中获取所述目标编码单元对应的已编码单元,i为正整数,且i小于N,所述第i层图像与所述第i+1层图像具有相邻层关系,且所述第i层图像对应的图像分辨率小于所述第i+1层图像对应的图像分辨率;
根据所述已编码单元,在所述第i层图像中获取已编码单元集合,所述已编码单元集合包括所述已编码单元,以及与所述已编码单元相关联的周边已编码单元;
在第i层参考图像中获取所述已编码单元集合对应的匹配编码单元集合,根据所述匹配编码单元集合,在第i+1层参考图像中获取针对所述目标编码单元的候选搜索起点集合,所述第i层参考图像对应的图像分辨率小于所述第i+1层参考图像对应的图像分辨率,所述第i层参考图像对应的图像分辨率等于所述第i层图像对应的图像分辨率;
从所述候选搜索起点集合中确定所述目标编码单元的目标搜索起点。
2.根据权利要求1所述的方法,其特征在于,所述获取与原始图像相关联的N层分别具有不同分辨率的图像,获取与原始参考图像相关联的N层分别具有不同分辨率的参考图像,包括:
获取所述原始图像以及所述原始参考图像;
将所述原始图像以及所述原始参考图像均输入至分层运动估计组件;
通过所述分层运动估计组件,获取与所述原始图像相关联的N层分别具有不同分辨率的图像,以及与所述原始参考图像相关联的N层分别具有不同分辨率的参考图像。
3.根据权利要求2所述的方法,其特征在于,所述分层运动估计组件包括原始层运动估计子组件以及P个低层运动估计子组件,所述P个低层运动估计子组件包括低层运动估计子组件Zx以及低层运动估计子组件Zx+1,P为正整数且P小于N,x为正整数且x小于P;
所述通过所述分层运动估计组件,获取与所述原始图像相关联的N层分别具有不同分辨率的图像,以及与所述原始参考图像相关联的N层分别具有不同分辨率的参考图像,包括:
通过所述原始层运动估计子组件,得到原始层图像以及原始层参考图像,所述原始层图像与所述原始图像相同,所述原始层参考图像与所述原始参考图像相同;
通过所述低层运动估计子组件Zx,对所述原始图像进行下采样处理,得到低层图像Yx,对所述原始参考图像进行下采样处理,得到低层参考图像Wx,所述低层图像Yx对应的图像分辨率等于所述低层参考图像Wx对应的图像分辨率;
通过所述低层运动估计子组件Zx+1,对所述原始图像进行下采样处理,得到低层图像Yx+1,对所述原始参考图像进行下采样处理,得到低层参考图像Wx+1,所述低层图像Yx+1对应的图像分辨率等于所述低层参考图像Wx+1对应的图像分辨率,所述低层图像Yx+1对应的图像分辨率大于所述低层图像Yx对应的图像分辨率,且所述低层图像Yx+1对应的图像分辨率小于所述原始层图像对应的图像分辨率;
将所述原始层图像以及通过所述P个低层运动估计子组件所分别得到的低层图像,确定为与所述原始图像相关联的N层分别具有不同分辨率的图像,将所述原始层参考图像以及通过所述P个低层运动估计子组件所分别得到的低层参考图像,确定为与所述原始参考图像相关联的N层分别具有不同分辨率的参考图像。
4.根据权利要求1所述的方法,其特征在于,所述在第i层图像中获取所述目标编码单元对应的已编码单元,包括:
获取所述目标编码单元在所述第i+1层图像中的目标位置;
根据所述目标位置,从所述第i层图像中获取所述已编码单元,所述目标编码单元对应的单元分辨率大于所述已编码单元对应的单元分辨率。
5.根据权利要求1所述的方法,其特征在于,所述根据所述已编码单元,在所述第i层图像中获取已编码单元集合,包括:
获取周边单元值;
在所述第i层图像中,获取与所述已编码单元的单元距离小于或等于所述周边单元值的已编码单元,将获取到的已编码单元均确定为所述周边已编码单元;
将所述已编码单元以及所述周边已编码单元均添加至所述已编码单元集合。
6.根据权利要求1所述的方法,其特征在于,所述在第i层参考图像中获取所述已编码单元集合对应的匹配编码单元集合,根据所述匹配编码单元集合,在第i+1层参考图像中获取针对所述目标编码单元的候选搜索起点集合,包括:
在所述第i层参考图像中,获取与所述已编码单元具有最小运动矢量的匹配编码单元,以及与所述周边已编码单元具有最小运动矢量的匹配编码单元;
将获取到的匹配编码单元生成所述匹配编码单元集合,所述已编码单元集合包括已编码单元Ab,b为正整数,且b小于或等于所述已编码单元集合中的已编码单元的总数量,所述匹配编码单元集合包括与所述已编码单元Ab具有最小运动矢量的匹配编码单元Cb,所述已编码单元Ab对应的单元分辨率等于所述匹配编码单元Cb对应的单元分辨率,所述第i层参考图像与所述第i层图像具有编码参考关系;
根据所述匹配编码单元Cb在所述第i层参考图像中的匹配位置,获取在所述第i+1层参考图像中的参考编码单元Db,所述第i+1层图像与所述第i+1层参考图像具有编码参考关系,所述参考编码单元Db对应的单元分辨率等于所述目标编码单元对应的单元分辨率;
将所述参考编码单元Db确定为与所述匹配编码单元Cb相关联的候选搜索起点,将与所述匹配编码单元集合中的每个匹配编码单元分别相关联的候选搜索起点,均添加至所述候选搜索起点集合。
7.根据权利要求1所述的方法,其特征在于,所述候选搜索起点集合包括候选搜索起点Ef,f为正整数,且f小于所述候选搜索起点集合中的候选搜索起点的总数量;
所述从所述候选搜索起点集合中确定所述目标编码单元的目标搜索起点,包括:
根据所述目标编码单元在所述第i+1层图像中的目标位置,以及所述候选搜索起点Ef在所述第i+1层参考图像中的参考位置Jf,获取所述目标编码单元对应的运动矢量Gf;
将所述运动矢量Gf添加至第一运动矢量集合,所述第一运动矢量集合包括所述候选搜索起点集合中的每个候选搜索起点分别对应的运动矢量;
根据所述第一运动矢量集合确定所述目标编码单元的所述目标搜索起点。
8.根据权利要求7所述的方法,其特征在于,所述目标位置包括目标像素位置Hi,i为正整数,且i小于或等于所述目标位置中的目标像素位置的总数量,i用于表征所述目标像素位置Hi在所述目标位置中的序号,所述参考位置Jf包括参考像素位置Km,m为正整数,且m小于或等于所述参考位置Jf中的参考像素位置的总数量,m用于表征所述参考像素位置Km在所述参考位置Jf中的序号,m等于i;
所述根据所述目标编码单元在所述第i+1层图像中的目标位置,以及所述候选搜索起点Ef在所述第i+1层参考图像中的参考位置Jf,获取所述目标编码单元对应的运动矢量Gf,包括:
获取所述目标像素位置Hi的像素值,获取所述参考像素位置Km的像素值;
获取所述目标像素位置Hi的像素值以及所述参考像素位置Km的像素值之间的像素值的差的绝对值Ni,将所述绝对值Ni确定为与所述目标像素位置Hi相关联的绝对值;
对所述目标位置中的每个目标像素位置分别相关联的绝对值进行求和运算,获取所述目标编码单元对应的所述运动矢量Gf。
9.根据权利要求7所述的方法,其特征在于,所述根据所述第一运动矢量集合确定所述目标编码单元的所述目标搜索起点,包括:
从所述第一运动矢量集合中获取最小运动矢量,作为所述目标编码单元的第一最小运动矢量;
将所述第一最小运动矢量对应的候选搜索起点,确定为所述目标编码单元的所述目标搜索起点。
10.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取周边搜索值;
在所述第i+1层参考图像中,获取与所述目标搜索起点的单元距离小于或等于所述周边搜索值的周边搜索单元;
将获取到的周边搜索单元以及所述目标搜索起点添加至待匹配搜索单元集合,所述待匹配搜索单元集合中的待匹配搜索单元对应的单元分辨率等于所述目标编码单元对应的单元分辨率;
根据所述目标编码单元以及所述待匹配搜索单元集合,获取所述原始图像的搜索结果。
11.根据权利要求10所述的方法,其特征在于,所述待匹配搜索单元集合包括待匹配搜索单元Qr,r为正整数,且r小于或等于所述待匹配搜索单元集合中的待匹配搜索单元的总数量;
所述根据所述目标编码单元以及所述待匹配搜索单元集合,获取所述原始图像的搜索结果,包括:
根据所述目标编码单元在所述第i+1层图像中的目标位置,以及所述待匹配搜索单元Qr在所述第i+1层参考图像中的待匹配位置Sr,获取所述目标编码单元对应的运动矢量Tr;
将所述运动矢量Tr添加至第二运动矢量集合,所述第二运动矢量集合包括所述待匹配搜索单元集合中的每个待匹配搜索单元分别对应的运动矢量;
在所述第二运动矢量集合中获取最小运动矢量,作为所述目标编码单元的第二最小运动矢量;
根据所述第i+1层图像以及所述原始图像之间的关联关系,确定所述第二最小运动矢量为所述原始图像的所述搜索结果。
12.根据权利要求11所述的方法,其特征在于,所述根据所述第i+1层图像以及所述原始图像之间的关联关系,确定所述第二最小运动矢量为所述原始图像的所述搜索结果,包括:
若所述第i+1层图像不等于所述原始图像,则将所述第二最小运动矢量进行存储;
若所述第i+1层图像等于所述原始图像,则将所述第二最小运动矢量确定为所述搜索结果。
13.一种数据处理装置,其特征在于,包括:
第一获取模块,用于获取与原始图像相关联的N层分别具有不同分辨率的图像,获取与原始参考图像相关联的N层分别具有不同分辨率的参考图像,所述原始图像以及所述原始参考图像具有编码参考关系,且所述原始图像对应的图像分辨率等于所述原始参考图像对应的图像分辨率,N为大于1的正整数;
第二获取模块,用于获取第i+1层图像中的目标编码单元,在第i层图像中获取所述目标编码单元对应的已编码单元,i为正整数,且i小于N,所述第i层图像与所述第i+1层图像具有相邻层关系,且所述第i层图像对应的图像分辨率小于所述第i+1层图像对应的图像分辨率;
第三获取模块,用于根据所述已编码单元,在所述第i层图像中获取已编码单元集合,所述已编码单元集合包括所述已编码单元,以及与所述已编码单元相关联的周边已编码单元;
第四获取模块,用于在第i层参考图像中获取所述已编码单元集合对应的匹配编码单元集合,根据所述匹配编码单元集合,在第i+1层参考图像中获取针对所述目标编码单元的候选搜索起点集合,所述第i层参考图像对应的图像分辨率小于所述第i+1层参考图像对应的图像分辨率,所述第i层参考图像对应的图像分辨率等于所述第i层图像对应的图像分辨率;
确定起点模块,用于从所述候选搜索起点集合中确定所述目标编码单元的目标搜索起点。
14.一种计算机设备,其特征在于,包括:处理器、存储器以及网络接口;
所述处理器与所述存储器、所述网络接口相连,其中,所述网络接口用于提供数据通信功能,所述存储器用于存储计算机程序,所述处理器用于调用所述计算机程序,以使得所述计算机设备执行权利要求1至12任一项所述的方法。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序适于由处理器加载并执行,以使得具有所述处理器的计算机设备执行权利要求1-12任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110719613.0A CN113259677B (zh) | 2021-06-28 | 2021-06-28 | 一种数据处理方法、设备以及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110719613.0A CN113259677B (zh) | 2021-06-28 | 2021-06-28 | 一种数据处理方法、设备以及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113259677A CN113259677A (zh) | 2021-08-13 |
CN113259677B true CN113259677B (zh) | 2021-09-10 |
Family
ID=77189891
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110719613.0A Active CN113259677B (zh) | 2021-06-28 | 2021-06-28 | 一种数据处理方法、设备以及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113259677B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114666593A (zh) * | 2022-03-29 | 2022-06-24 | 中山大学 | 基于编码缓存信息的起始点确定方法、装置、设备及介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102790884A (zh) * | 2012-07-27 | 2012-11-21 | 上海交通大学 | 一种基于分层运动估计的搜索方法及其实现系统 |
US8934544B1 (en) * | 2011-10-17 | 2015-01-13 | Google Inc. | Efficient motion estimation in hierarchical structure |
CN104581180A (zh) * | 2014-12-31 | 2015-04-29 | 乐视网信息技术(北京)股份有限公司 | 一种视频编码方法及装置 |
CN104601993A (zh) * | 2014-12-31 | 2015-05-06 | 乐视网信息技术(北京)股份有限公司 | 一种视频编码方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080126278A1 (en) * | 2006-11-29 | 2008-05-29 | Alexander Bronstein | Parallel processing motion estimation for H.264 video codec |
-
2021
- 2021-06-28 CN CN202110719613.0A patent/CN113259677B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8934544B1 (en) * | 2011-10-17 | 2015-01-13 | Google Inc. | Efficient motion estimation in hierarchical structure |
CN102790884A (zh) * | 2012-07-27 | 2012-11-21 | 上海交通大学 | 一种基于分层运动估计的搜索方法及其实现系统 |
CN104581180A (zh) * | 2014-12-31 | 2015-04-29 | 乐视网信息技术(北京)股份有限公司 | 一种视频编码方法及装置 |
CN104601993A (zh) * | 2014-12-31 | 2015-05-06 | 乐视网信息技术(北京)股份有限公司 | 一种视频编码方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113259677A (zh) | 2021-08-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11568545B2 (en) | Compressed content object and action detection | |
US10528819B1 (en) | Compressed content object and action detection | |
US11670015B2 (en) | Method and apparatus for generating video | |
CN111462238B (zh) | 姿态估计优化方法、装置及存储介质 | |
CN108881952B (zh) | 视频生成方法及装置、电子设备和存储介质 | |
CN112004034A (zh) | 合拍方法、装置、电子设备及计算机可读存储介质 | |
CN113642673A (zh) | 图像生成方法、装置、设备及存储介质 | |
WO2023165082A1 (zh) | 图像预览方法、装置、电子设备、存储介质及计算机程序及其产品 | |
CN108171222B (zh) | 一种基于多流神经网络的实时视频分类方法及装置 | |
CN114299088A (zh) | 图像处理方法及装置 | |
CN113259677B (zh) | 一种数据处理方法、设备以及计算机可读存储介质 | |
CN109565601B (zh) | 一种基于模板匹配的预测方法及装置 | |
CN111967397A (zh) | 人脸影像处理方法和装置、存储介质和电子设备 | |
CN114202562A (zh) | 视频处理方法及装置、电子设备和存储介质 | |
CN112714263A (zh) | 视频生成方法、装置、设备及存储介质 | |
CN115550669B (zh) | 一种视频转码方法及装置、电子设备和存储介质 | |
CN115757933A (zh) | 推荐信息生成方法、装置、设备、介质和程序产品 | |
CN114973293A (zh) | 相似性判断方法、关键帧提取方法及装置、介质和设备 | |
CN114554226A (zh) | 图像处理方法及装置、电子设备和存储介质 | |
CN115706810A (zh) | 视频帧调整方法、装置、电子设备和存储介质 | |
CN114005063A (zh) | 视频处理方法及装置 | |
CN114419298A (zh) | 虚拟物体的生成方法、装置、设备及存储介质 | |
CN112070888A (zh) | 图像生成方法、装置、设备和计算机可读介质 | |
Monteagudo et al. | AI-based telepresence for broadcast applications | |
CN114140363B (zh) | 视频去模糊方法及装置、视频去模糊模型训练方法及装置 |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40051198 Country of ref document: HK |