CN113542768B - 运动搜索方法、装置及计算机可读存储介质 - Google Patents
运动搜索方法、装置及计算机可读存储介质 Download PDFInfo
- Publication number
- CN113542768B CN113542768B CN202110540928.9A CN202110540928A CN113542768B CN 113542768 B CN113542768 B CN 113542768B CN 202110540928 A CN202110540928 A CN 202110540928A CN 113542768 B CN113542768 B CN 113542768B
- Authority
- CN
- China
- Prior art keywords
- string
- current block
- matching string
- matching
- motion search
- 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/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/57—Motion estimation characterised by a search window with variable size or shape
-
- 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/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
-
- 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/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
-
- 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/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
- H04N19/517—Processing of motion vectors by encoding
- H04N19/52—Processing of motion vectors by encoding by predictive encoding
Abstract
本申请公开了运动搜索方法、装置及计算机可读存储介质,涉及视频编码技术领域,所述运动搜索方法包括:获取当前块的历史预测矢量列表中的第一串预测矢量及其第一匹配串;获取当前块的当前帧同位块的第二串预测矢量及其第二匹配串;按照预设规则对第一匹配串和第二匹配串进行运动搜索,确定当前块的最终串矢量,有利于提高运动搜索方法的精准度,进而可提高基于该运动搜索方法进行视频编码时的压缩率。
Description
技术领域
本申请涉及视频编码技术领域,特别是涉及运动搜索方法、装置及计算机可读存储介质。
背景技术
现有技术中,在进行视频编码时,通常需要对各图像块进行运动搜索以确定各图像块所对应的运动矢量,之后基于各图像块及相应的运动矢量进行视频编码,可实现对视频文件的压缩。
现有技术的缺陷在于,基于现有的运动搜索方法所确定的各图像块的运动矢量并不够准确,使得视频编码的压缩率较低。
发明内容
本申请提供运动搜索方法、装置及计算机可读存储介质,以解决现有技术中运动搜索方法精准度不高而导致视频编码压缩率较低的技术问题。
为解决上述技术问题,本申请提供的第一个技术方案为:一种运动搜索方法,包括:获取当前块的历史预测矢量列表中的第一串预测矢量及其第一匹配串;获取当前块的当前帧同位块的第二串预测矢量及其第二匹配串;按照预设规则对第一匹配串和第二匹配串进行运动搜索,确定当前块的最终串矢量。
本申请提供的第二个技术方案为:一种运动搜索装置,包括:存储器和处理器;所述存储器用于存储程序指令,所述处理器用于执行所述程序指令以实现:获取当前块的历史预测矢量列表中的第一串预测矢量及其第一匹配串;获取当前块的当前帧同位块的第二串预测矢量及其第二匹配串;按照预设规则对第一匹配串和第二匹配串进行运动搜索,确定当前块的最终串矢量。
本申请提供的第三个技术方案为:一种计算机可读存储介质,所述计算机可读存储介质存储有程序指令,所述程序指令被执行时实现:获取当前块的历史预测矢量列表中的第一串预测矢量及其第一匹配串;获取当前块的当前帧同位块的第二串预测矢量及其第二匹配串;按照预设规则对第一匹配串和第二匹配串进行运动搜索,确定当前块的最终串矢量。
本申请提供的运动搜索方法,通过获取当前块的历史预测矢量列表中的第一串预测矢量及其第一匹配串;获取当前块的当前帧同位块的第二串预测矢量及其第二匹配串;按照预设规则对第一匹配串和第二匹配串进行运动搜索,确定当前块的最终串矢量。本申请通过基于历史预测矢量列表和当前块的当前帧同位块的各预测矢量及相应匹配串进行运动搜索,将当前帧同位块所对应的预测矢量及相应匹配串也作为运动搜索的候选对象,使得该运动搜索方法的精准度得到了提高,进而提高了基于该运动搜索方法进行视频编码时的压缩率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是本申请的运动搜索方法的一实施例的流程示意图;
图2是本申请的当前块及其当前帧同位块的一实施例的示意图;
图3是本申请的水平弓形扫描的一实施例的扫描过程示意图;
图4是本申请的当前块及其邻近块的一实施例的示意图;
图5是图1所示方法中步骤S13的一具体实施例的流程示意图;
图6是图1所示方法中步骤S13的另一具体实施例的流程示意图;
图7是本申请的运动搜索装置的一实施例的结构示意图;
图8是本申请的计算机可读存储介质的一实施例的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,均属于本申请保护的范围。
本申请中的术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
本申请首先提出一种运动搜索方法,如图1所示,图1是本申请的运动搜索方法的一实施例的流程示意图。
需要说明的是,在基于串匹配预测技术进行视频编码的过程中,通常会先将当前待编码的一帧图像划分为若干个最大编码单元,再将各最大编码单元划分为不同尺寸的编码单元,最后对各编码单元逐个进行运动搜索以获得相应最终串矢量并基于该相应最终串矢量对相应编码单元进行视频编码,以完成对一帧图像的视频编码。其中,对各编码单元进行视频编码时保存的信息包括:对各编码单元进行运动搜索时所采用的预测技术(在后续进行解码时需采用与该预测技术相对应的解码方式进行编码单元的解码)、串预测矢量、匹配串长度等相关的信息。
在上述视频编码过程中,经常会使用串匹配预测技术进行运动搜索,而串匹配预测技术的应用存在一定限制,例如块应满足串匹配预测条件。举例说明,若采用串匹配预测技术对采用YUV颜色编码的块进行运动搜索,则串匹配预测技术可以仅应用于宽和高都大于4且小于等于32的亮度块,且对于某些小块,若这些小块再进一步划分后会产生边长小于4的色度块,那么这些小块的色度块部分将不再进一步划分,并且这些小块不采用串匹配模式,而采用传统串匹配预测模式。因此其中的当前块和匹配串均为宽和高都大于4且小于等于32的亮度块。此外,匹配串还需遵循以下规范性限制:匹配串必须位于当前最大编码单元(the largest coding unit,LCU)的左侧相邻的最大编码单元内或者当前最大编码单元的区域内,最大编码单元按照64×64区域大小平均划分,一个匹配串的所有像素均来自于同一个64×64区域;匹配串中所有像素不能属于当前串;每个编码单元所允许的串的个数(包括匹配串的个数加未匹配串的个数)必须不大于当前编码单元内像素个数的四分之一。
本实施例运动搜索方法具体包括以下步骤:
步骤S11:获取当前块的历史预测矢量列表中的第一串预测矢量及其第一匹配串。
本实施例中,当前块为一编码单元级的未编码块。当前块的历史预测矢量列表用于存放在所述当前块前最新编码完毕的预设数量已编码块所分别对应的第一串预测矢量及其第一匹配串。该已编码块可以是已基于串匹配预测技术进行编码的图像块,也可以是基于其它预测技术(如:帧内块拷贝技术)进行编码的含运动矢量信息的图像块,此处不做限定。
第一匹配串可以是编码单元级的图像串,也可以是像素级的图像串,或是其它类别的图像串,此处不作限定。举例说明,当匹配串为编码单元级的图像串时,预测矢量可以是该编码单元级的图像串所对应的预测矢量,也可以是该编码单元级的图像串所包含的各像素级的图像串所分别对应的预测矢量中的全部矢量或部分矢量,此处不作限定。所获取的第一预测矢量的数量为一个以上,此处不作限定。
具体的,上述预设数量可以是5个或8个或12个或其它数量,可基于先入先出的原则逐个将编码完的块所对应的第一串预测矢量及其第一匹配串的相关信息存入该历史预测矢量列表,并在该历史预测矢量列表已满的情况下将最先存入的相关信息删除。
步骤S12:获取当前块的当前帧同位块的第二串预测矢量及其第二匹配串。
本实施例中,当前帧同位块可以是当前帧中与当前块的尺寸和位置均相同的已编码块。在视频编码中,可基于多种块划分方式对各最大编码单元进行编码单元的划分,并分别对不同划分方式下的各编码单元分别进行运动搜索及编码,以备后续挑选其中视频编码所对应的代价值最小的划分方式下的视频编码结果作为最终视频编码结果。因此,当前帧同位块还可以是基于与当前块所对应的划分方式以外的划分方式下的与当前块的尺寸和位置均相同的已编码块。如图2所示,若第X帧第Y最大编码单元的尺寸为32*32,在两种不同的划分方式下,编码单元A与编码单元B的尺寸均为16*16且位置相同,若编码单元A为基于串匹配预测技术进行编码的已编码块,B为当前块,则A为B的当前帧同位块。如图2所示,若A为一个编码单元级的串,则可获取其中一个或多个串的串矢量以作为对B进行运动搜索的串预测矢量,若A为一个像素级的串,则可获取其串矢量以作为对B进行运动搜索的串预测矢量。当前帧同位块也可称为当前帧同位编码单元。
第二串预测矢量可以是当前帧同位块所对应的串预测矢量,也可以是当前帧同位块所包含的各像素级的图像串所分别对应的串预测矢量中的全部矢量或部分矢量,此处不作限定。所获取的第二串预测矢量的数量为一个以上,此处不作限定。
步骤S13:按照预设规则对第一匹配串和第二匹配串进行运动搜索,确定当前块的最终串矢量。
本实施例中,预设规则可以是从某一位置以某一搜索顺序和某一搜索步长对某一范围内的图像进行匹配串的搜索,并在搜索到上述第一匹配串和第二匹配串中的任一匹配串时,判断该匹配串是否为当前块所对应的当前的最佳匹配串。在完成对上述第一匹配串和第二匹配串搜索后,基于最后得到的最佳匹配串确定当前块的最终串矢量。
基于上述步骤S11-S13的步骤对当前块进行运动搜索,可实现对当前块所对应的当前帧同位块进行是否为当前块的最佳匹配串的判断,以使得本申请的运动搜索方法较之现有技术,有更大概率能搜索到与当前块更匹配的最佳匹配串,提高了运动搜索方法的精准度。
具体的,在按照预设规则对第一匹配串和第二匹配串进行运动搜索,确定当前块的最终串矢量时,可以是进行编码单元级的运动搜索,也可以是进行像素级的运动搜索,还可以是先进行编码单元级的运动搜索,并在编码单元级的运动搜索无法搜索到满足要求的匹配串时继续进行像素级的运动搜索,甚至还可以是在编码单元级的运动搜索和像素级的运动搜索均无法搜索到满足要求的匹配串时继续进行除串匹配预测技术以外的运动搜索技术进行运动搜索,此处不作限定。
若进行的是编码单元级的运动搜索,则:
可分别计算各搜索到的编码单元级的匹配串与当前块的SAD(SumofAbsoluteDifferences,差的绝对值之和),并从所有被搜索到的编码单元级的匹配串中挑选出SAD最小的匹配串,将该挑选出的匹配串作为当前块在编码单元级的运动搜索下的最佳匹配串,之后可基于该当前块在编码单元级的运动搜索下的最佳匹配串与当前块之间的率失真代价。其中,在图像是采用某种颜色编码方法进行编码时,可计算各颜色分量的SAD以确定相应串/块的SAD(如采用的是YUV颜色编码,则可分别计算亮度块和两个色度块的SAD以确定相应串/块的SAD,也可先基于亮度块SAD进行初步筛选,再计算亮度块和两个色度块的SAD之和以确定相应串/块的SAD)。
若该率失真代价不大于预设代价阈值,则基于该最佳匹配串与当前块之间的位置关系,确定当前块的最终串矢量(当前块的运动矢量信息);若该率失真代价大于预设代价阈值,则判定该当前块在编码单元级的运动搜索下无法找到满足要求的匹配串。
若进行的是像素级的运动搜索,则:
可基于弓形扫描(如图3所示的水平弓形扫描)的方式确定当前块中所包含的像素串,并对每一个像素串进行与上述各匹配串的比对,比对过程如下:
设置一与量化参数正相关的比对阈值,分别计算当前像素串与上述各匹配串对应像素点的像素值差值,若某一像素值差值小于该比对阈值,则可判定相应像素符合匹配要求,之后可确定当前像素串分别与上述各匹配串所匹配的连续像素的个数(也即各匹配串/候选最佳匹配串的像素长度)。
在将一当前块的像素串作为当前像素串时,以当前像素串的第一个像素为矢量起点,逐个判断基于各上述预测矢量(如:第一预测矢量和第二预测矢量)所指向的候选最佳像素串是否可被确定为最新最佳匹配串,直至将全部预测矢量所对应的候选最佳像素串搜索完毕,以确定当前像素串所对应的最终的最新最佳匹配串。
其中,基于某一预测矢量及其所对应的候选最佳像素串,对当前像素串进行运动搜索的具体过程如下:
判断候选最佳像素串是否满足第一筛选条件,第一筛选条件如下:
当前运动搜索下的候选最佳像素串的像素长度不小于最新最佳匹配串的像素长度减1。
若候选最佳像素串不满足第一筛选条件,则判定相应候选最佳像素串不是最新最佳匹配串。
若候选最佳像素串满足第一筛选条件,则判断候选最佳像素串是否满足第二筛选条件中的任一条件。
若候选最佳像素串不满足第二筛选条件中的任一条件,则判定相应候选最佳像素串不是最新最佳匹配串。
若候选最佳像素串满足第二筛选条件中的任一条件,则将相应候选最佳像素串确定为最新最佳匹配串。
上述第二筛选条件包括:
第一条件:当前运动搜索下的候选最佳像素串的像素长度不小于最新最佳匹配串的像素长度。
第二条件:当前运动搜索下的候选最佳像素串的像素长度等于最新最佳匹配串的像素长度,且当前运动搜索下的候选最佳像素串的像素长度不等于0,以及当前运动搜索下的候选最佳像素串的总代价小于最新最佳匹配串的总代价。
第三条件:当前运动搜索下的候选最佳像素串的像素长度等于最新最佳匹配串的像素长度减1,且当前运动搜索下的候选最佳像素串的长度不等于0,以及当前运动搜索下的候选最佳像素串的像素平均代价小于最新最佳匹配串的像素平均代价;其中,像素平均代价等于所对应串的总代价除以像素数。
需要说明的是,上述搜索到的匹配串需是已编码块内的像素串或已编码串。像素级的运动搜索可只针对当前帧的某一颜色分量(如采用的是YUV颜色编码,则可仅基于亮度块进行运动搜索)。
最后,基于最终得到的最新最佳匹配串作为相应像素串的最佳匹配串,基于上述方法可得到当前块中各像素串所对应的最佳匹配串,基于当前块中各像素串及其最佳匹配串,即可确定当前块中各像素串所对应的运动矢量,基于当前块中各像素串所对应的运动矢量即可确定当前块的重建块(也即视频编码所对应的视频解码所要恢复的图像块),之后可基于该重建块与当前块之间的率失真代价。
若该率失真代价不大于预设代价阈值,则基于该重建块所对应各匹配串与当前块中各像素串之间的位置关系,确定当前块的最终串矢量(当前块中各像素串的运动矢量信息);若该率失真代价大于预设代价阈值,则判定该当前块在像素级的运动搜索下无法找到满足要求的匹配串。
可选的,在按照预设规则对第一匹配串和第二匹配串进行运动搜索,确定当前块的最终串矢量前,运动搜索方法还包括:获取当前块的邻近块的第三串预测矢量及其第三匹配串;
按照当前块的预设方向搜索第四匹配串;
按照预设规则对第一匹配串和第二匹配串进行运动搜索,确定当前块的最终串矢量包括:
按照预设规则对第一匹配串、第二匹配串、第三匹配串和第四匹配串进行运动搜索,确定当前块的最终串矢量。
具体的,在进行上述像素级的运动搜索时,按照预设规则对第一匹配串和第二匹配串进行运动搜索,确定当前块的最终串矢量可包括:
按照预设规则对第一匹配串、第二匹配串、第三匹配串、第四匹配串、向上单位矢量所对应的匹配串、向左单位矢量所对应的匹配串和在预设搜索范围内的与当前像素串的哈希值相等的匹配串进行运动搜索,确定当前块的最终串矢量。所获取的各类预测矢量(如第三预测矢量,或第四预测矢量,或其它类别的预测矢量)的数量为一个以上,此处不作限定。
进一步的,按照当前块的预设方向搜索第四匹配串包括:
按照当前块的水平搜索方向以及当前块的垂直搜索方向搜索第四匹配串;或者,
将当前块所在的当前最大编码单元和/或当前块的左边最大编码单元的所有匹配串作为第四匹配串。
在对第一匹配串和第二匹配串进行运动搜索的前提下,加入第三匹配串和第四匹配串的运动搜索,由于邻近块有较大可能性存在与当前块相匹配的匹配串,使得运动搜索能够搜索到更佳匹配串的概率大大提高,提高了运动搜索方法的精确度。
具体的,所述邻近块为与当前块在空域相邻的已编码块和/或与当前块的相距距离小于预设距离阈值的非空域相邻的已编码块。上述与当前块在空域相邻的已编码块的含义是:仅与当前块的边重合但与当前块无其它重合的已编码的图像块(含相应的串矢量信息/运动矢量信息)。
如图4所示,上述C、E和G为上述与当前块在空域相邻的已编码块。上述与当前块的相距距离小于预设距离阈值的非空域相邻的已编码块的含义是:与当前块无重合或仅有一像素点重合且相距距离小于预设距离阈值的已编码块。如图4所示,D和F为上述与当前块的相距距离小于预设距离阈值的非空域相邻的已编码块。对上述邻近块的搜索顺序可以是G、E、F、C、D,具体搜索顺序可基于可能存在匹配串的概率大小而定,概率越大则序列越靠前。此外,上述邻近块可以是如图4所示的一部分与当前块空域相邻的已编码块和一部分与当前块空域非相邻的已编码块(相邻块),也可以均是与当前块空域相邻的已编码块或均是与当前块空域非相邻的已编码块(相近块),此处不做限定。
进一步的,按照当前块的预设方向搜索第四匹配串包括:
基于当前块的大小,确定搜索步长;
基于搜索步长,按照当前块的预设方向搜索第四匹配串。
具体的,可在竖直方向上以当前块的竖直高度的若干倍(如:2倍或5倍或10倍)为搜索步长,而在水平方向上以当前块的水平宽度的若干倍为搜索步长,按照当前块的预设方向搜索第四匹配串。
基于上述搜索步长的设置,可降低运动搜索的计算量,加快运动搜索的进程,提高运动搜索方法的速度。
可选的,如图5所示,图5是图1所示方法中步骤S13的一具体实施例的流程示意图。步骤S13具体可包括以下步骤:
步骤S21:计算第一匹配串和第二匹配串中每一匹配串与当前块的代价值。
步骤S22:将代价值中最小代价值对应的匹配串作为当前块的最终匹配串,从而确定当前块的最终串矢量。
具体的,上述代价值可以是率失真代价,也可以是其它类型的代价,此处不作限定。将代价最小的匹配串作为当前块的最终匹配串可提高后续基于该最终匹配串进行视频编码时的压缩率。
可选的,如图6所示,图6是图1所示方法中步骤S13的另一具体实施例的流程示意图。步骤S13具体可包括以下步骤:
步骤S31:判断是否存在第二匹配串。
步骤S32:若是,则直接将第二匹配串作为最佳匹配串,并基于最佳匹配串确定当前块的最终串矢量。
具体的,由于当前帧同位块与当前块的位置、尺寸均相同,所以当前帧同位块所对应的串矢量(也即与当前帧同位块最为匹配的匹配块所对应的运动矢量,该运动矢量的信息被包含在其已编码的信息中)有极大概率会是当前块所要获得的最终串矢量,故在存在基于当前帧同位块所获得的第二匹配串时,直接将第二匹配串作为最佳匹配串并基于该最佳匹配串确定当前块的最终串矢量,可以在确保最终串矢量与当前块匹配的同时,大大降低运动搜索的计算量,加快运动搜索的进程,提高运动搜索方法的速度。
本申请提供的运动搜索方法,通过获取当前块的历史预测矢量列表中的第一串预测矢量及其第一匹配串;获取当前块的当前帧同位块的第二串预测矢量及其第二匹配串;按照预设规则对第一匹配串和第二匹配串进行运动搜索,确定当前块的最终串矢量。本申请通过基于历史预测矢量列表和当前块的当前帧同位块的各预测矢量及相应匹配串进行运动搜索,将当前帧同位块所对应的预测矢量及相应匹配串也作为运动搜索的候选对象,使得该运动搜索方法的精准度得到了提高,进而提高了基于该运动搜索方法进行视频编码时的压缩率。
本申请进一步提出一种运动搜索装置,如图7所示,图7是本申请运动搜索装置一实施例的结构示意图。本实施例的运动搜索装置70包括:处理器71、存储器72以及总线73。
该处理器71、存储器72分别与总线73相连,该存储器72中存储有程序指令,处理器71用于执行程序指令以实现:获取当前块的历史预测矢量列表中的第一串预测矢量及其第一匹配串;获取当前块的当前帧同位块的第二串预测矢量及其第二匹配串;按照预设规则对第一匹配串和第二匹配串进行运动搜索,确定当前块的最终串矢量。
在本实施例中,处理器71还可以称为CPU(Central Processing Unit,中央处理单元)。处理器71可能是一种集成电路芯片,具有信号的处理能力。处理器71还可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器71也可以是任何常规的处理器等。
本申请提供的运动搜索方法,通过获取当前块的历史预测矢量列表中的第一串预测矢量及其第一匹配串;获取当前块的当前帧同位块的第二串预测矢量及其第二匹配串;按照预设规则对第一匹配串和第二匹配串进行运动搜索,确定当前块的最终串矢量。本申请通过基于历史预测矢量列表和当前块的当前帧同位块的各预测矢量及相应匹配串进行运动搜索,将当前帧同位块所对应的预测矢量及相应匹配串也作为运动搜索的候选对象,使得该运动搜索方法的精准度得到了提高,进而提高了基于该运动搜索方法进行视频编码时的压缩率。
本申请进一步提出一种计算机可读存储介质,如图8所示,图8是本申请的计算机可读存储介质的一实施例的结构示意图。计算机可读存储介质80其上存储有程序指令81,程序指令81被处理器(图未示)执行时实现:获取当前块的历史预测矢量列表中的第一串预测矢量及其第一匹配串;获取当前块的当前帧同位块的第二串预测矢量及其第二匹配串;按照预设规则对第一匹配串和第二匹配串进行运动搜索,确定当前块的最终串矢量。
本实施例计算机可读存储介质80可以是但不局限于U盘、SD卡、PD光驱、移动硬盘、大容量软驱、闪存、多媒体记忆卡、服务器等。
本申请提供的运动搜索方法,通过获取当前块的历史预测矢量列表中的第一串预测矢量及其第一匹配串;获取当前块的当前帧同位块的第二串预测矢量及其第二匹配串;按照预设规则对第一匹配串和第二匹配串进行运动搜索,确定当前块的最终串矢量。本申请通过基于历史预测矢量列表和当前块的当前帧同位块的各预测矢量及相应匹配串进行运动搜索,将当前帧同位块所对应的预测矢量及相应匹配串也作为运动搜索的候选对象,使得该运动搜索方法的精准度得到了提高,进而提高了基于该运动搜索方法进行视频编码时的压缩率。
在本申请的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(可以是个人计算机,服务器,网络设备或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
以上所述仅为本申请的实施方式,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (9)
1.一种运动搜索方法,其特征在于,所述运动搜索方法包括:
获取当前块的历史预测矢量列表中的第一串预测矢量及其第一匹配串;
获取所述当前块的当前帧同位块的第二串预测矢量及其第二匹配串;
基于所述当前块的大小,确定搜索步长;
基于所述搜索步长,按照所述当前块的预设方向搜索第四匹配串;
按照所述预设规则对所述第一匹配串、所述第二匹配串和所述第四匹配串进行运动搜索,确定所述当前块的最终串矢量。
2.根据权利要求1所述的运动搜索方法,其特征在于,在所述按照所述预设规则对所述第一匹配串、所述第二匹配串和所述第四匹配串进行运动搜索,确定所述当前块的最终串矢量前,所述运动搜索方法还包括:
获取所述当前块的邻近块的第三串预测矢量及其第三匹配串;
所述按照所述预设规则对所述第一匹配串、所述第二匹配串和所述第四匹配串进行运动搜索,确定所述当前块的最终串矢量包括:
按照所述预设规则对所述第一匹配串、所述第二匹配串、所述第三匹配串和所述第四匹配串进行运动搜索,确定所述当前块的最终串矢量。
3.根据权利要求2所述的运动搜索方法,其特征在于,所述按照所述当前块的预设方向搜索第四匹配串,包括:
按照所述当前块的水平搜索方向以及所述当前块的垂直搜索方向搜索所述第四匹配串;或者,
将所述当前块所在的当前最大编码单元和/或所述当前块的左边最大编码单元的所有匹配串作为所述第四匹配串。
4.根据权利要求2所述的运动搜索方法,其特征在于,所述邻近块为与所述当前块在空域相邻的已编码块和/或与所述当前块的相距距离小于预设距离阈值的非空域相邻的已编码块。
5.根据权利要求1至4任一项所述的运动搜索方法,其特征在于,所述按照所述预设规则对所述第一匹配串、所述第二匹配串和所述第四匹配串进行运动搜索,确定所述当前块的最终串矢量,包括:
计算所述第一匹配串、所述第二匹配串和所述第四匹配串中每一匹配串与所述当前块的代价值;
将所述代价值中最小代价值对应的匹配串作为所述当前块的最终匹配串,从而确定所述当前块的最终串矢量。
6.根据权利要求1至4任一项所述的运动搜索方法,其特征在于,所述按照所述预设规则对所述第一匹配串、所述第二匹配串和所述第四匹配串进行运动搜索,确定所述当前块的最终串矢量,包括:
判断是否存在所述第二匹配串;
若是,则直接将所述第二匹配串作为最佳匹配串,并基于最佳匹配串确定所述当前块的最终串矢量。
7.根据权利要求1至4任一项所述的运动搜索方法,其特征在于,所述当前帧同位块为所述当前帧中与所述当前块的尺寸和位置均相同的已编码块。
8.一种运动搜索装置,其特征在于,包括:存储器和处理器;
所述存储器用于存储程序指令,所述处理器用于执行所述程序指令以实现:获取当前块的历史预测矢量列表中的第一串预测矢量及其第一匹配串;
获取所述当前块的当前帧同位块的第二串预测矢量及其第二匹配串;
基于所述当前块的大小,确定搜索步长;
基于所述搜索步长,按照所述当前块的预设方向搜索第四匹配串;
按照所述预设规则对所述第一匹配串、所述第二匹配串和所述第四匹配串进行运动搜索,确定所述当前块的最终串矢量。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有程序指令,所述程序指令被执行时实现:获取当前块的历史预测矢量列表中的第一串预测矢量及其第一匹配串;
获取所述当前块的当前帧同位块的第二串预测矢量及其第二匹配串;
基于所述当前块的大小,确定搜索步长;
基于所述搜索步长,按照所述当前块的预设方向搜索第四匹配串;
按照所述预设规则对所述第一匹配串、所述第二匹配串和所述第四匹配串进行运动搜索,确定所述当前块的最终串矢量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110540928.9A CN113542768B (zh) | 2021-05-18 | 2021-05-18 | 运动搜索方法、装置及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110540928.9A CN113542768B (zh) | 2021-05-18 | 2021-05-18 | 运动搜索方法、装置及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113542768A CN113542768A (zh) | 2021-10-22 |
CN113542768B true CN113542768B (zh) | 2022-08-09 |
Family
ID=78094664
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110540928.9A Active CN113542768B (zh) | 2021-05-18 | 2021-05-18 | 运动搜索方法、装置及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113542768B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018097692A2 (ko) * | 2016-11-28 | 2018-05-31 | 한국전자통신연구원 | 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체 |
WO2018228016A1 (zh) * | 2017-06-13 | 2018-12-20 | 华为技术有限公司 | 一种运动矢量预测的方法及设备 |
WO2021052479A1 (en) * | 2019-09-18 | 2021-03-25 | Zhejiang Dahua Technology Co., Ltd. | Sub-block motion prediction method, coding method, and encoder |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120281760A1 (en) * | 2011-05-04 | 2012-11-08 | Hyung Joon Kim | Iterative Grid-Pattern Motion Search |
CN106537918B (zh) * | 2014-08-12 | 2019-09-20 | 英特尔公司 | 用于视频编码的运动估计的系统和方法 |
CN111866512B (zh) * | 2020-07-29 | 2022-02-22 | 腾讯科技(深圳)有限公司 | 视频解码方法、视频编码方法、装置、设备及存储介质 |
CN112055219B (zh) * | 2020-08-05 | 2021-08-31 | 浙江大华技术股份有限公司 | 一种串匹配预测方法、装置及计算机可读存储介质 |
CN112073719B (zh) * | 2020-08-21 | 2021-09-14 | 浙江大华技术股份有限公司 | 一种串匹配预测方法、装置、系统及计算机可读存储介质 |
-
2021
- 2021-05-18 CN CN202110540928.9A patent/CN113542768B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018097692A2 (ko) * | 2016-11-28 | 2018-05-31 | 한국전자통신연구원 | 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체 |
WO2018228016A1 (zh) * | 2017-06-13 | 2018-12-20 | 华为技术有限公司 | 一种运动矢量预测的方法及设备 |
WO2021052479A1 (en) * | 2019-09-18 | 2021-03-25 | Zhejiang Dahua Technology Co., Ltd. | Sub-block motion prediction method, coding method, and encoder |
Also Published As
Publication number | Publication date |
---|---|
CN113542768A (zh) | 2021-10-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3389276B1 (en) | Hash-based encoder decisions for video coding | |
US11166040B2 (en) | Video signal processing method and apparatus using adaptive motion vector resolution | |
RU2551207C2 (ru) | Способ и устройство для кодирования видео | |
US8649436B2 (en) | Methods for efficient implementation of skip/direct modes in digital video compression algorithms | |
US6549576B1 (en) | Motion vector detecting method and apparatus | |
JP4555758B2 (ja) | ビデオ圧縮におけるイントラ予測の符号化モード選択方法 | |
CN112019850B (zh) | 基于场景切换的图像组划分方法、视频编码方法及装置 | |
US20070160288A1 (en) | Randomly sub-sampled partition voting (RSVP) algorithm for scene change detection | |
CN110166775B (zh) | 帧内预测方法、编码器及存储装置 | |
CN112055219B (zh) | 一种串匹配预测方法、装置及计算机可读存储介质 | |
KR20050012766A (ko) | 현재 모션 벡터 추정을 위한 유닛 및 모션 벡터 추정 방법 | |
CN112055208A (zh) | 视频编码方法、设备及存储装置 | |
US20150063439A1 (en) | Encoding apparatus and method | |
CN113542768B (zh) | 运动搜索方法、装置及计算机可读存储介质 | |
US20100239019A1 (en) | Post processing of motion vectors using sad for low bit rate video compression | |
EP3104612B1 (en) | Complementary vectors | |
US20140184739A1 (en) | Foreground extraction method for stereo video | |
JP3537616B2 (ja) | ビデオシーケンスの時間的に順次連続する画像の画素に対する、計算機による動き予測方法 | |
CN116016929A (zh) | 帧内预测编码解码方法、电子设备及计算机可读存储介质 | |
CN113365080B (zh) | 串编码技术的编解码方法、设备及存储介质 | |
CN114040209A (zh) | 运动估计方法、装置、电子设备及存储介质 | |
US9414067B2 (en) | Methods and systems for detection of block based video dropouts | |
CN113099269A (zh) | 串匹配预测方法、编码和解码方法及相关设备、装置 | |
CN111988612A (zh) | 一种视频编码处理方法、装置及电子设备 | |
US20150092835A1 (en) | Methods for Comparing a Target Block to a Reference Window for Motion Estimation during Video Encoding |
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 |