本公开涉及数据处理领域,尤其涉及一种多运动向量的获取方法及装置。
背景技术:
1、当用户在办公场景下有窗口平移时,当前帧和参考帧在拖动窗口中的内容完全一致,两帧图像存在全局运动向量,在准确获得全局运动向量后,编码残差会减少,可以极大地提升编码效率
2、然而,传统的全局运动向量检测方法存在一些弊端。例如,一般的全局运动向量检测方法均只能检测出一个全局运动向量,极大地影响了编码效率。
技术实现思路
1、本公开实施例提供一种多运动向量的获取方法及装置,能够针对有多个全局运动向量的情况检测出多个全局运动向量,极大地降低码率。技术方案如下:
2、根据本公开实施例的第一方面,提供一种多运动向量的获取方法,该方法包括:确定多个特征点;计算多个特征点中的各个特征点对应的哈希值,并且保留数值相同的哈希值对应的特征点,数值相同的哈希值对应的特征点个数不超过第一预设阈值;根据多个特征点中的各个特征点对应的哈希值匹配目标特征点,目标特征点属于多个特征点;通过目标特征点获取多个全局运动向量。
3、具体地,在找到了一个特征点后,定义从特征点开始向右连续32个像素(包含特征点)的y分量为特征值,特征值是一个含有32个元素的数组,对特征值通过crc-16计算对应的哈希(hash)值,hash值通过两个字节表示,寻找多个特征点钟的每一个特征点之后计算该特征点的hash值。
4、之后,不会剔除数值相同的hash值对应的特征点,同时可以设置数值相同的哈希值对应的特征点个数不超过第一预设阈值,示例性地,可以设置第一预设阈值为4(即,设置的hash值最大冲突次数为4),即同一个hash值,可以对应多个不同的特征点,并且,记录这些特征点的坐标位置和特征值。
5、基于上述方案,能够兼容传统的全局运动检测方法,针对有多个全局运动向量的情况,能够检测出水平或垂直方向的多个全局运动向量,对于多个运动目标的视频有较好的编码效率,充分利用了参考帧的信息,极大地降低码率,可以大幅度提升用户体验。
6、在一些实施例中,根据多个特征点中的各个特征点对应的哈希值匹配目标特征点,包括:在存在数值相同的哈希值对应多个特征点中的至少两个特征点的情况下,根据多个特征点的坐标匹配目标特征点,目标特征点属于多个特征点。
7、举例而言,如果数值相同的哈希值对应多个特征点中的至少两个特征点的,即,参考帧或当前帧的hash值对应的特征点不止一个,即“一对多”匹配或“多对多”匹配的形式,此时可以根据多个特征点的坐标匹配目标特征点,例如,只匹配在同一水平反向或同一个垂直方向的特征点。其中,目标特征点属于多个特征点。
8、在一些实施例中,通过目标特征点获取多个全局运动向量,包括:计算初始特征点对的位置偏移,初始特征点对为目标特征点中对应数值相同哈希值的特征点;通过初始特征点对统计目标特征点对的数量,并按照位置偏移量降序排列,目标特征点对由初始特征点对中相同位置偏移的特征点对组成;通过目标特征点对的位置偏移获取多个全局运动向量。
9、举例而言,首先,通过匹配的特征点对(即,初始特征点对),计算它们的位置偏移;之后,统计有相同位置偏移的特征点对(即,目标特征点对)的数量,并按照位置偏移量降序排列,如(x0,y0,n0),(x1,y1,n1),(x2,y2,n2),.......。其中,x,y为特征点对之间的偏移,n为满足此偏移的特征点个数。
10、在一些实施例中,通过目标特征点对获取多个全局运动向量,包括:删除目标特征点对中数量小于第二预设阈值的特征点对的位置偏移,获得目标位置偏移集合;计算目标位置偏移集合中比例最高的位置偏移,比例最高的位置偏移的数量不大于第三预设阈值,比例最高的位置偏移的特征点数量大于第四预设阈值;计算第一数值以及第二数值,第一数值为比例最高的位置偏移的特征点数量之和,第二数值为多个特征点中具有有效位置偏移的特征点数量之和;通过第一数值以及第二数值确定多个全局运动向量。
11、示例性地,首先,剔除(x0,y0,n0),(x1,y1,n1),(x2,y2,n2),.......中n值较小的偏移,获得目标位置偏移集合;之后,计算目标位置偏移集合中出现比例最高的几个位置偏移(示例性地,本公开实施例将出现比例最高的位置偏移的数量设置为4,即第三阈值为4),并且其对应的n值要大于一定的门限(即,第四预设阈值);接着,计算第一数值以及第二数值,其中,第一数值为比例最高的位置偏移的特征点数量之和,第二数值为多个特征点中具有有效位置偏移的特征点数量之和,举例而言,计算选出的这几个偏移(即,比例最高的位置偏移)的n值之和记为top_n(即,第一数值),以及所有有效的位置偏移(即,多个特征点中具有有效位置偏移)的n值之和记为total_n(即,第二数值)。
12、在一些实施例中,通过第一数值以及第二数值确定多个全局运动向量,包括:如果第一数值大于第二数值与比例因子的乘积,则确定比例最高的位置偏移为多个全局运动向量。
13、举例而言,如果top_n>total_n·η,其中,η为预设的比例因子,示例性地,本公开实施例设置为0.7,则选出的位置偏移(即,比例最高的位置偏移)均设为全局运动向量。
14、根据本公开实施例的第二方面,提供一种多运动向量的获取设备,包括存储器和处理器。存储器拥有存储程序。当程序在处理器中执行时,处理器用于执行第一方面及第一方面任一实施例的方法。
15、基于上述设备,能够兼容传统的全局运动检测,针对有多个全局运动向量的情况,能够检测出水平或垂直方向的多个全局运动向量,对于多个运动目标的视频有较好的编码效率,充分利用了参考帧的信息,极大地降低码率,可以大幅度提升用户体验。
16、根据本公开实施例的第三方面,提供一种多运动向量的获取装置,包括:确定模块,用于确定多个特征点;计算模块,用于计算多个特征点中的各个特征点对应的哈希值,并且保留数值相同的哈希值对应的特征点,数值相同的哈希值对应的特征点个数不超过第一预设阈值;匹配模块,用于根据多个特征点中的各个特征点对应的哈希值匹配目标特征点,目标特征点属于多个特征点;获取模块,用于通过目标特征点获取多个全局运动向量。
17、在一些实施例中,匹配模块具体用于,在存在数值相同的哈希值对应多个特征点中的至少两个特征点的情况下,根据多个特征点的坐标匹配目标特征点,目标特征点属于多个特征点。
18、在一些实施例中,获取模块具体包括:第一计算子模块,用于计算初始特征点对的位置偏移,初始特征点对为目标特征点中对应数值相同哈希值的特征点;统计子模块,用于通过初始特征点对统计目标特征点对的数量,并按照位置偏移量降序排列,目标特征点对由初始特征点对中相同位置偏移的特征点对组成;获取子模块,用于通过目标特征点对的位置偏移获取多个全局运动向量。
19、在一些实施例中,获取子模块具体包括:删除子模块,用于删除目标特征点对中数量小于第二预设阈值的特征点对的位置偏移,获得目标位置偏移集合;第二计算子模块,用于计算目标位置偏移集合中比例最高的位置偏移,比例最高的位置偏移的数量不大于第三预设阈值,比例最高的位置偏移的特征点数量大于第四预设阈值;第三计算子模块,用于计算第一数值以及第二数值,第一数值为比例最高的位置偏移的特征点数量之和,第二数值为多个特征点中具有有效位置偏移的特征点数量之和;确定子模块,用于通过第一数值以及第二数值确定多个全局运动向量。
20、在一些实施例中,确定子模块具体用于:如果第一数值大于第二数值与比例因子的乘积,则确定比例最高的位置偏移为多个全局运动向量。
21、根据本公开实施例的第四方面,提供一种计算机可读存储介质,其特征在于,计算机程序存储介质具有程序指令,当程序指令被处理器执行时,使得处理器执行第一方面及第一方面任一实施例的方法。
22、根据本公开实施例的第五方面,提供一种芯片系统,其特征在于,芯片系统包括至少一个处理器,当程序指令在至少一个处理器中执行时,使得至少一个处理器执行第一方面及第一方面任一实施例的方法。
23、应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
1.一种多运动向量的获取方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述根据所述多个特征点中的各个特征点对应的哈希值匹配目标特征点,包括:
3.根据权利要求1或2所述的方法,其特征在于,所述通过所述目标特征点获取多个全局运动向量,包括:
4.根据权利要求3所述的方法,其特征在于,所述通过所述目标特征点对获取所述多个全局运动向量,包括:
5.根据权利要求4所述的方法,其特征在于,所述通过所述第一数值以及所述第二数值确定所述多个全局运动向量,包括:
6.一种多运动向量的获取设备,其特征在于,包括存储器和处理器;
7.根据权利要求6所述的设备,其特征在于,所述处理器具体用于:
8.根据权利要求6或7所述的设备,其特征在于,所述处理器具体用于:
9.根据权利要求8所述的设备,其特征在于,所述处理器具体用于:
10.一种计算机可读存储介质,其特征在于,所述计算机程序存储介质具有程序指令,当所述程序指令被处理器执行时,使得所述处理器执行权利要求1-5其中任一项所述的方法。