CN112911310B - 多层整像素运动估计搜索方法、装置、设备及存储介质 - Google Patents
多层整像素运动估计搜索方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN112911310B CN112911310B CN202110056329.XA CN202110056329A CN112911310B CN 112911310 B CN112911310 B CN 112911310B CN 202110056329 A CN202110056329 A CN 202110056329A CN 112911310 B CN112911310 B CN 112911310B
- Authority
- CN
- China
- Prior art keywords
- search
- motion vector
- coding
- optimal
- searching
- 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
- H04N19/139—Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
-
- 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)
- Image Analysis (AREA)
Abstract
本申请公开了一种多层整像素运动估计搜索方法、装置、设备及存储介质。该方法包括:将参考帧的第一搜索窗划分为第一数目的子区域;将图像块在每一子区域中按照第一采样率进行搜索,获得第二数目的第一最优匹配点;选取第二数目的第二搜索窗,每一第二搜索窗分别对应包含一个第一最优匹配点;将图像块在每一所述第二搜索窗中按照第二采样率进行搜索,获得第二最优匹配点;选取包含第二最优匹配点的第三搜索窗,将图像块在第三搜索窗中进行全搜索,获得运动估计搜索的最优点。本申请的方法按照从大范围降采样搜索到小范围不降采样搜索,降低了大范围全搜索的复杂度,克服了小范围搜索性能的局限性缺陷,优化了处理复杂度和克服局限性的性能。
Description
技术领域
本申请涉及视频编码技术领域,具体涉及一种多层整像素运动估计搜索方法、装置、设备及存储介质。
背景技术
在AVS2、HEVC等视频编码技术中,整像素运动估计IME(整像素粗粒度运动估计)是获取视频帧间冗余信息必不可少的环节和技术手段。IME表示在一定的搜索范围内,对每个编码单元寻找最佳的匹配或最接近的预测单元。通过IME技术,可以获取得到每个编码单元最优的帧间整像素级别参考像素和运动矢量MV(Motion Vector,运动矢量)。一般而言,为了获取最佳帧间预算结果,同时考虑到搜索结果和复杂度等因素,在IME过程中需要确定搜索模式、搜索起始点以及搜索范围。无论在软件编码器还是硬件编码器设计中,这三个都是IME技术实现的关键因素,也是需要针对性设计的关键点。
经典的IME搜索技术通常包括H.264、AVS2视频编码标准软件中三步搜索法、四步搜索法、菱形搜索法和六边形搜索法,或者H.265视频编码标准中的TZ搜索法。这些都是适合于软件编码器的搜索策略,在这些方法中,通常预测搜索起始点是根据每个编码单元周边已编码信息推导得到。对每个编码单元而言,一般IME是在MD(Mode Decision,模式决策)之前完成,即搜索起始点需要依赖于周边的MD结果。至于搜索范围,通常是在编码器中配置或者在不同搜索步骤中随机改变的。这些方法具有一定灵活性,适合软件编码器使用。
现有的这些IME搜索算法,存在以下方面缺点:现有的这些算法均采用跳点局部停止搜索策略,即在搜索过程中为了降低处理复杂度,会根据每一步的搜索结果和阈值比较,满足一定条件后即停止搜索。虽然这样能减少IME复杂度,但是一方面阈值通常是经验得到,不能适用于所有序列,另一方面,难免会陷入局部最优结果,无法得到搜索范围内最优结果;另外,现有的这些算法的预测运动矢量PMV(Predictive Motion Vector,预测运动矢量),即搜索起始点通常需要依赖于当前编码单元周边的最优编码结果,而对于硬件编码器而言,由于受限于硬件流水设计,无法获取到每个依赖周边MD结果的PMV,即需要单独设计高效的方法。
发明内容
本申请的目的是提供一种多层整像素运动估计搜索方法、装置、设备及存储介质。为了对披露的实施例的一些方面有一个基本的理解,下面给出了简单的概括。该概括部分不是泛泛评述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围。其唯一目的是用简单的形式呈现一些概念,以此作为后面的详细说明的序言。
根据本申请实施例的一个方面,提供一种多层整像素运动估计搜索方法,包括:
将参考帧的第一搜索窗划分为第一数目的子区域;
将图像块在每一所述子区域中按照第一采样率进行搜索,获得第二数目的第一最优匹配点;
选取第二数目的第二搜索窗,每一所述第二搜索窗分别对应包含一个所述第一最优匹配点;
将所述图像块在每一所述第二搜索窗中按照第二采样率进行搜索,获得第二最优匹配点;所述第二采样率小于所述第一采样率;
选取包含所述第二最优匹配点的第三搜索窗,将所述图像块在所述第三搜索窗中进行全搜索,获得运动估计搜索的最优点。
进一步地,所述将图像块在每一所述子区域中按照第一采样率进行搜索,获得第二数目的第一最优匹配点,包括:
将所述图像块在每一所述子区域中按照第一采样率进行搜索以分别获得一个匹配点;
计算每一所述匹配点的编码代价;
从所有所述匹配点中选取第二数目的编码代价最小的匹配点作为第一最优匹配点;所述第二数目小于所述第一数目。
进一步地,每一所述第一最优匹配点对应一个第一最优运动矢量;所述将所述图像块在每一所述第二搜索窗中按照第二采样率进行搜索,获得第二最优匹配点,包括:
分别以所述第一最优运动矢量和预先获取的第一预测运动矢量作为搜索中心,将所述图像块在每一所述第二搜索窗中按照第二采样率进行搜索,以分别获得一个匹配点;
计算每一所述匹配点的编码代价;
从所有所述匹配点中选取编码代价最小的第二最优匹配点。
进一步地,所述第一预测运动矢量为基于所述图像块中当前编码单元的邻接编码单元所对应的运动矢量获得的。
进一步地,所述第二最优匹配点对应一个第二最优运动矢量;所述将所述图像块在所述第三搜索窗中进行全搜索,包括:
以所述第二最优运动矢量以及预先获取的第二预测运动矢量为搜索中心,将所述图像块在所述第三搜索窗中进行全搜索。
进一步地,所述第二预测运动矢量为基于所述图像块中当前编码单元的邻接编码单元所对应的运动矢量获得的。
进一步地,所述第一采样率为16:1,所述第二采样率为4:1。
根据本申请实施例的另一个方面,提供一种多层整像素运动估计搜索装置,包括:
划分模块,用于将参考帧的第一搜索窗划分为第一数目的子区域;
第一搜索模块,用于将图像块在每一所述子区域中按照第一采样率进行搜索,获得第二数目的第一最优匹配点;
第一选取模块,用于选取第二数目的第二搜索窗,每一所述第二搜索窗分别对应包含一个所述第一最优匹配点;
第二搜索模块,用于将所述图像块在每一所述第二搜索窗中按照第二采样率进行搜索,获得第二最优匹配点;所述第二采样率小于所述第一采样率;
第二选取模块,用于选取包含所述第二最优匹配点的第三搜索窗,将所述图像块在所述第三搜索窗中进行全搜索,获得运动估计搜索的最优点。
根据本申请实施例的另一个方面,提供一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序,以实现上述的多层整像素运动估计搜索方法。
根据本申请实施例的另一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行,以实现上述的多层整像素运动估计搜索方法。
本申请实施例的其中一个方面提供的技术方案可以包括以下有益效果:
本申请实施例提供的多层整像素运动估计搜索方法,按照从大范围降采样搜索到小范围不降采样搜索,降低了大范围全搜索的复杂度,克服了小范围搜索性能的局限性缺陷,优化了处理复杂度和克服局限性的性能,摒弃了跳转局部最优搜索方法,克服了阈值依赖和陷入局部最优的缺陷。
本申请的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者,部分特征和优点可以从说明书中推知或毫无疑义地确定,或者通过实施本申请实施例了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本申请的一个实施例的多层整像素运动估计搜索方法的示意图;
图2示出了本申请的一个实施例的多层整像素运动估计搜索方法的流程图;
图3示出了图2所示实施例中的步骤S20的流程图;
图4示出了图2所示实施例中的步骤S40的流程图;
图5示出了本申请某一实施方式中CME过程中的PMV计算所需的MV数据来源图;
图6示出了本申请某一实施方式中RME过程中的PMV计算所需的MV数据来源图;
图7示出了本申请一实施例的多层整像素运动估计搜索装置的结构框图;
图8示出了本申请一实施例的电子设备的结构框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,下面结合附图和具体实施例对本申请做进一步说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本申请所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
针对现有的整像素粗粒度运动估计(IME)技术中存在的缺点,面向硬件编码器设计,本申请的一个实施例提供了一种针对AVS2硬件编码器的多层整像素运动估计搜索方法。本方法充分考虑硬件编码器设计的特性,针对数据依赖、局部最优等问题提出有效的、适合硬件并行处理的优化方法。
本实施例针对硬件编码器提出的多层整像素粗粒度运动估计方法,通常硬件编码器采用流水设计结构,完成每个宏块单元或最大编码单元的单一功能之后再进行下一个功能。例如,AVS2、HEVC硬件编码器设计,最大的编码单元是64×64,那么,需要对64×64完成整像素粗粒度运动估计之后再进行模式决策处理。这意味着64×64内部所有子块无法提前进行模式决策,也就意味着周边子块的模式决策结果无法获取(包括周边模式决策后的运动矢量等)。
本申请的一个实施例提供了一种多层整像素运动估计搜索方法,本申请实施例的方法的流程示意图如图1所示。在图1中,粗粒度运动估计(Coarse Motion Estimation,简称CME)和细粒度运动估计(Refine Motion Estimation,简称RME)分别表示整像素粗粒度运动估计方法的粗搜过程和细搜过程。粗粒度运动估计包括对Level2层和Level1层的搜索。细粒度运动估计包括对Level0层的搜索。
如图2所示,本实施例的多层整像素运动估计搜索方法,包括以下步骤:
S10、将参考帧的第一搜索窗划分为第一数目的子区域。
在某些实施方式中,在Level2层的搜索过程中,将第一搜索窗的中心坐标设定为(0,0),以与图像块相同尺寸的块为基本单元,将第一搜索窗在水平方向和垂直方向的尺寸范围分别设定为Level2SearchRangeW、Level2SearchRangeH。
例如,第一数目可以为16,将Level2的第一搜索窗以水平方向上Level2SearchRangeW/4、垂直方向上Level2SearchRangeH/4的步长划分成16个搜索窗子区域,每一子区域分别表示为:SW(0,0)、SW(1,0)、SW(2,0)、SW(3,0)、SW(0,1)、SW(1,1)、SW(2,1)、SW(3,1)、SW(0,2)、SW(1,2)、SW(2,2)、SW(3,2)、SW(0,3)、SW(1,3)、SW(2,3)、SW(3,3)。
S20、将图像块在每一所述子区域中按照第一采样率进行搜索,获得第二数目的第一最优匹配点。
每一所述第一最优匹配点对应一个第一最优运动矢量。
如图3所示,在某些实施方式中,步骤S20包括:
S201、将所述图像块在每一所述子区域中按照第一采样率进行搜索以分别获得一个匹配点。
具体地,将图像块在每一子区域中按照第一采样率进行降采样,然后在该子区域中以第一采样率选取候选匹配点,并且每选取一个候选匹配点,就在第一搜索窗中以第一采样率选取一个包含该候选匹配点的待匹配块。
S202、计算每一所述匹配点的编码代价。
具体地,计算降采样后的图像块与该待匹配块之间的编码代价。降采样后的图像块与该待匹配块之间的编码代价指的是降采样后的图像块与该待匹配块之间每一对对应点的像素灰度差的累加值,该累加值越小则表明编码代价越优,编码代价越优则表明降采样后的图像块与该待匹配块之间的相似度越高,因此选取的都是最小累加值所对应的编码代价作为最优编码代价。
S203、从所有所述匹配点中选取第二数目的编码代价最小的匹配点作为第一最优匹配点。
所述第二数目小于所述第一数目。例如第二数目为6,第一数目为16。
从各编码代价中选取最小编码代价所对应的候选匹配点作为图像块在该子区域中的匹配点,每一匹配点对应一个运动矢量。
从第一数目的子区域中总共得到第一数目的匹配点,将该第二数目的第一最优匹配点所对应的第一最优运动矢量传递给Level1层进行进一步地搜索。例如,若第一数目为16,则共得到16个第一最优匹配点和相应的编码代价,第二数目可以为6,则从该16个编码代价中选出6个最小的编码代价,每一最小的编码代价对应一个第一最优匹配点和一个第一最优运动矢量。
需要注意的是,在Level2中对每个搜索窗子区域SW(x,y)的搜索过程中,需要对图像块和搜索窗子区域使用同样的降采样取像素策略。降采样完成后得到的图像块和搜索窗在对应子区域内进行全搜索得到最优编码代价和相应的运动矢量。
S30、选取第二数目的第二搜索窗,每一所述第二搜索窗分别对应包含一个所述第一最优匹配点。
例如,第二数目为6,选取6个第二搜索窗,每一第二搜索窗分别对应包含一个第一最优匹配点。
S40、将所述图像块在每一所述第二搜索窗中按照第二采样率进行搜索,获得第二最优匹配点。
所述第二采样率小于所述第一采样率。例如,第一采样率可以采用16:1,第二采样率可以为4:1。
如图4所示,在某些实施方式中,步骤S40包括:
S401、分别以所述第一最优运动矢量和预先获取的第一预测运动矢量作为搜索中心,将所述图像块在每一所述第二搜索窗中按照第二采样率进行搜索,以分别获得一个匹配点;
S402、计算每一所述匹配点的编码代价;
S403、从所有所述匹配点中选取编码代价最小的第二最优匹配点。
所述第二最优匹配点对应一个第二最优运动矢量。
具体地,Level1层以由Level2层得到的6个第一最优运动矢量以及预先获取的预测运动矢量分别为中心,对6个第二搜索窗(第二搜索窗尺寸小于第一搜索窗尺寸)以及图像块均按照第二采样率(例如可以是4:1)进行搜索,最终得到第二最优运动矢量,并将该第二最优运动矢量传给Level0进行最后的细搜。
粗粒度运动估计中Leve1搜索实现过程。Level1分别以Level2的6个运动矢量分别作为各个第二搜索窗的中心,以图像块大小为单位,第二搜索窗的大小与Level2中第一搜索窗大小相同,但搜索的水平方向和垂直方向的尺寸范围分别为Level1SearchRangeW、Level1SearchRangeH。需要注意的是,Level1的搜索窗受到Level2窗的限制,不对超出Level2层的部分进行搜索。
在Level1层搜索过程中,需要对原始像素单元和参考像素单元按照第二采样率(例如可以为4:1)降采样策略进行匹配比较。这里除了以Level2获得的6个运动矢量为中心进行搜索之外,还有一个以预测运动矢量作为搜索中心点,在Level1的搜索窗内进行全搜索。最终对多个搜索结果进行比较,得到最优的一个编码代价和运动矢量,至此完成整个粗粒度运动估计的搜索过程。同时,根据Level0的搜索范围,将该运动矢量以及Level0需要的搜索窗都传递给后续的细粒度运动估计过程。
由于以上在粗粒度运动估计和细粒度运动估计处理过程中,都是采用全搜索的方式处理,非常利于硬件编码器实现高度并行的处理结构。同时采用的是非跳转搜索方法,即在搜索范围内的每个候选点都可能搜索到,避免了陷入局部最优和对阈值的依赖。
S50、选取包含所述第二最优匹配点的第三搜索窗,将所述图像块在所述第三搜索窗中进行全搜索,获得运动估计搜索的最优点。
所述将所述图像块在所述第三搜索窗中进行全搜索,包括:
以所述第二最优运动矢量以及预先获取的第二预测运动矢量为搜索中心,将所述图像块在所述第三搜索窗中进行全搜索。
在Level0层的搜索过程中,不进行任何降采样,而是在很小的范围进行全搜索。即Level0层是以Level1层搜索中得到的第二最优运动矢量以及对应的预测运动矢量为搜索中心点进行全搜索,由于该起点运动矢量是继承其他层大搜索范围的结果,因此Level0仅需要一个相对较小的搜索窗(第三搜索窗)即可,这样虽然在搜索性能方面略有下降,但是减少了巨大的计算量。
本实施例的多层整像素运动估计搜索方法适合硬件并行处理。
预先获取的第一预测运动矢量和第二预测运动矢量涉及到预测运动矢量计算。第一预测运动矢量为基于所述图像块中当前编码单元的邻接编码单元所对应的运动矢量获得的。第二预测运动矢量为基于所述图像块中当前编码单元的邻接编码单元所对应的运动矢量获得的。根据硬件设计过程和邻近块数据依赖性的考虑,在进行当前CTU(coding treeunit,编码树单元)的粗粒度运动估计时,可以根据不同数据来源获取运动矢量产生预测运动矢量,如图5所示。CTU是在编码过程中的独立编码单位,然后可以递归划分成CU(codingunit,编码单元)。图5中示出了A、B、C、D、E五个编码树单元,针对当前编码树单元E的粗粒度运动估计过程的预测运动矢量计算所需运动矢量有两种来源,分别是左侧64×64的编码树单元A的粗粒度运动估计结果以及上方3个64×64编码树单元B、C、D的模式决策结果,基于两种来源可以产生当前编码树单元E所需要的预测运动矢量结果,如下式所示,
PMVE=PMV(MVMD(B),MVMD(C),MVMD(D),MVCME(A)), (1)
细粒度运动估计中Leve0搜索实现过程。Level0以Level1的运动矢量为搜索窗的中心,搜索范围为Level0SearchRangeW、Level0SearchRangeH。这里Level0不做降采样处理。以8×8为单位进行细粒度运动估计搜索为例,需要对所有参与搜索的8×8都需要产生各自的预测运动矢量,参与搜索编码代价计算。然而,考虑到64×64的编码树单元内部所有的8×8编码单元可能同时并发进行细粒度运动估计,因此编码树单元内部的每个8×8编码单元无法利用到其内部邻近8×8编码单元的搜索结果,所以,对细粒度运动估计过程的所有8×8编码单元的参与预测运动矢量计算的邻近单元的运动矢量数据来源采用统一的4种数据,如图6所示。首先,对于编码树单元内部所有8×8的CU(coding unit,编码单元)的左上方的运动矢量均采用编码树单元B的最后一行最后一个经过MD(Mode Decision,模式决策)的8×8的运动矢量,然后对于编码树单元内部所有的8×8的编码单元的右上方的运动矢量均采用编码树单元D的最后一行第一个经过MD的8×8的运动矢量,其次对编码树单元内部所有8×8编码单元的左侧运动矢量均采用编码树单元A编码单元8×8编码单元细粒度运动估计的运动矢量结果,最后对于编码树单元内部所有8×8编码单元的上方运动矢量均采用编码树单元C编码单元8×8编码单元MD的运动矢量结果。通过不同数据来源对每个8×8编码单元获取到4种邻近块运动矢量后即可对当前编码单元进行PMV计算,对任意(j,i)的编码单元PMV计算如下式所示,其中i,j分别代表8×8编码单元的遍历索引。
通过以上除了过程,即可完成每个尺寸的IME编码代价计算,如公式(3)所示,
MECost=SAD+λmotion·MVDBits, (3)
其中SAD为原始像素块和参考像素块之间差距的绝对值和,MVDBits是每一次搜索MV与PMV之间的差值估计比特。λmotion是在运动估计过程中使用的拉格朗日乘子。比较每一次搜索过程的编码代价即可获得最优的IME结果。
本申请实施例针对硬件编码器中的IME处理设计问题,提出了一种适合硬件编码器的多层整像素运动估计方法,对硬件编码器设计具有以下有益效果:
第一,本申请实施例提出的多层运动估计方法,按照从大范围降采样搜索到小范围不降采样搜索,既考虑到了大范围全搜索的复杂度,也考了到了小范围搜索性能的局限性,即同时对处理复杂度和性能具有优化;
第二,本申请实施例提出的多层运动估计方法,摒弃了传统的跳转局部最优搜索方法,能够避免对阈值依赖性问题和局部最优问题;
第三,本申请实施例提出的多层运动估计方法,在处理过程中全部使用对应范围的全搜索策略,非常有利于硬件并行取数和运算处理,具有高度的硬件友好性。
第四,本申请实施例提出的多层运动估计方法,考虑到硬件编码器IME过程无法对编码单元获取最优MD的结果,充分考虑到每个编码单元周边硬件处理状态信息,设计了高性能的PMV算法,将有助于减少对PMV性能的影响;
最后,本申请实施例提出的多层运动估计方法没有明显的标准依赖性,即本申请实施例可以适用于AVS2、HEVC等主流视频编码标准的IME模块硬件设计。
如图7所示,本申请的另一个实施例提供了一种多层整像素运动估计搜索装置,包括:
划分模块100,用于将参考帧的第一搜索窗划分为第一数目的子区域;
第一搜索模块200,用于将图像块在每一所述子区域中按照第一采样率进行搜索,获得第二数目的第一最优匹配点;
第一选取模块300,用于选取第二数目的第二搜索窗,每一所述第二搜索窗分别对应包含一个所述第一最优匹配点;
第二搜索模块400,用于将所述图像块在每一所述第二搜索窗中按照第二采样率进行搜索,获得第二最优匹配点;所述第二采样率小于所述第一采样率;
第二选取模块500,用于选取包含所述第二最优匹配点的第三搜索窗,将所述图像块在所述第三搜索窗中进行全搜索,获得运动估计搜索的最优点。
本申请的另一个实施例提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序,以实现上述任一实施方式的多层整像素运动估计搜索方法。如图8所示,电子设备70可以包括:处理器700,存储器701,总线702和通信接口703,所述处理器700、通信接口703和存储器701通过总线702连接;所述存储器701中存储有可在所述处理器700上运行的计算机程序,所述处理器700运行所述计算机程序时执行本申请前述任一实施方式所提供的多层整像素运动估计搜索方法。
其中,存储器701可能包含高速随机存取存储器(RAM:Random Access Memory),也可能还可以包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口703(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网、广域网、本地网、城域网等。
总线702可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。其中,存储器701用于存储程序,所述处理器700在接收到执行指令后,执行所述程序,前述本申请实施例任一实施方式揭示的所述多层整像素运动估计搜索方法可以应用于处理器700中,或者由处理器700实现。
处理器700可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器700中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器700可以是通用处理器,可以包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器701,处理器700读取存储器701中的信息,结合其硬件完成上述方法的步骤。
本申请实施例提供的电子设备与本申请实施例提供的多层整像素运动估计搜索方法出于相同的发明构思,具有与其采用、运行或实现的方法相同的有益效果。
本申请的另一个实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行,以实现上述任一实施方式的多层整像素运动估计搜索方法。
需要说明的是:
术语“模块”并非意图受限于特定物理形式。取决于具体应用,模块可以实现为硬件、固件、软件和/或其组合。此外,不同的模块可以共享公共组件或甚至由相同组件实现。不同模块之间可以存在或不存在清楚的界限。
在此提供的算法和显示不与任何特定计算机、虚拟装置或者其它设备固有相关。各种通用装置也可以与基于在此的示教一起使用。根据上面的描述,构造这类装置所要求的结构是显而易见的。此外,本申请也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本申请的内容,并且上面对特定语言所做的描述是为了披露本申请的最佳实施方式。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本申请的示例性实施例的描述中,本申请的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本申请要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本申请的单独实施例。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
以上所述实施例仅表达了本申请的实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (8)
1.一种多层整像素运动估计搜索方法,其特征在于,包括:
将参考帧的第一搜索窗划分为第一数目的子区域;
将图像块在每一所述子区域中按照第一采样率进行搜索,获得第二数目的第一最优匹配点;
选取第二数目的第二搜索窗,每一所述第二搜索窗分别对应包含一个所述第一最优匹配点;
将所述图像块在每一所述第二搜索窗中按照第二采样率进行搜索,获得第二最优匹配点;所述第二采样率小于所述第一采样率;
选取包含所述第二最优匹配点的第三搜索窗,将所述图像块在所述第三搜索窗中进行全搜索,获得运动估计搜索的最优点;
对所述多层中第一层和第二层的搜索采用粗粒度运动估计,对所述多层中第三层的搜索采用细粒度运动估计;
所述第二最优匹配点对应一个第二最优运动矢量;所述将所述图像块在所述第三搜索窗中进行全搜索,包括:
以所述第二最优运动矢量以及预先获取的第二预测运动矢量为搜索中心,将所述图像块在所述第三搜索窗中进行全搜索;
所述第二预测运动矢量为基于所述图像块中当前编码单元的邻接编码单元所对应的运动矢量获得的;
针对当前编码树单元E的粗粒度运动估计过程的预测运动矢量计算所需运动矢量包括左侧64×64的编码树单元A的粗粒度运动估计结果以及上方3个64×64编码树单元B、C和D的模式决策结果;
所述细粒度运动估计包括:对于编码树单元内部所有8×8的编码单元的左上方的运动矢量均采用编码树单元B的最后一行最后一个经过模式决策的8×8的运动矢量,对于编码树单元内部所有的8×8的编码单元的右上方的运动矢量均采用编码树单元D的最后一行第一个经过MD的8×8的运动矢量,对编码树单元内部所有8×8编码单元的左侧运动矢量均采用编码树单元A编码单元8×8编码单元细粒度运动估计的运动矢量结果,对于编码树单元内部所有8×8编码单元的上方运动矢量均采用编码树单元C编码单元8×8编码单元模式决策的运动矢量结果。
2.根据权利要求1所述的方法,其特征在于,所述将图像块在每一所述子区域中按照第一采样率进行搜索,获得第二数目的第一最优匹配点,包括:
将所述图像块在每一所述子区域中按照第一采样率进行搜索以分别获得一个匹配点;
计算每一所述匹配点的编码代价;
从所有所述匹配点中选取第二数目的编码代价最小的匹配点作为第一最优匹配点;所述第二数目小于所述第一数目。
3.根据权利要求1所述的方法,其特征在于,每一所述第一最优匹配点对应一个第一最优运动矢量;所述将所述图像块在每一所述第二搜索窗中按照第二采样率进行搜索,获得第二最优匹配点,包括:
分别以所述第一最优运动矢量和预先获取的第一预测运动矢量作为搜索中心,将所述图像块在每一所述第二搜索窗中按照第二采样率进行搜索,以分别获得一个匹配点;
计算每一所述匹配点的编码代价;
从所有所述匹配点中选取编码代价最小的第二最优匹配点。
4.根据权利要求3所述的方法,其特征在于,所述第一预测运动矢量为基于所述图像块中当前编码单元的邻接编码单元所对应的运动矢量获得的。
5.根据权利要求1所述的方法,其特征在于,所述第一采样率为16:1,所述第二采样率为4:1。
6.一种多层整像素运动估计搜索装置,其特征在于,包括:
划分模块,用于将参考帧的第一搜索窗划分为第一数目的子区域;
第一搜索模块,用于将图像块在每一所述子区域中按照第一采样率进行搜索,获得第二数目的第一最优匹配点;
第一选取模块,用于选取第二数目的第二搜索窗,每一所述第二搜索窗分别对应包含一个所述第一最优匹配点;
第二搜索模块,用于将所述图像块在每一所述第二搜索窗中按照第二采样率进行搜索,获得第二最优匹配点;所述第二采样率小于所述第一采样率;
第二选取模块,用于选取包含所述第二最优匹配点的第三搜索窗,将所述图像块在所述第三搜索窗中进行全搜索,获得运动估计搜索的最优点;
对所述多层中第一层和第二层的搜索采用粗粒度运动估计,对所述多层中第三层的搜索采用细粒度运动估计;
所述第二最优匹配点对应一个第二最优运动矢量;所述将所述图像块在所述第三搜索窗中进行全搜索,包括:
以所述第二最优运动矢量以及预先获取的第二预测运动矢量为搜索中心,将所述图像块在所述第三搜索窗中进行全搜索;
所述第二预测运动矢量为基于所述图像块中当前编码单元的邻接编码单元所对应的运动矢量获得的;
针对当前编码树单元E的粗粒度运动估计过程的预测运动矢量计算所需运动矢量包括左侧64×64的编码树单元A的粗粒度运动估计结果以及上方3个64×64编码树单元B、C和D的模式决策结果;
所述细粒度运动估计包括:对于编码树单元内部所有8×8的编码单元的左上方的运动矢量均采用编码树单元B的最后一行最后一个经过模式决策的8×8的运动矢量,对于编码树单元内部所有的8×8的编码单元的右上方的运动矢量均采用编码树单元D的最后一行第一个经过MD的8×8的运动矢量,对编码树单元内部所有8×8编码单元的左侧运动矢量均采用编码树单元A编码单元8×8编码单元细粒度运动估计的运动矢量结果,对于编码树单元内部所有8×8编码单元的上方运动矢量均采用编码树单元C编码单元8×8编码单元模式决策的运动矢量结果。
7.一种电子设备,其特征在于,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序,以实现如权利要求1-5中任一所述的方法。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行,以实现如权利要求1-5中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110056329.XA CN112911310B (zh) | 2021-01-15 | 2021-01-15 | 多层整像素运动估计搜索方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110056329.XA CN112911310B (zh) | 2021-01-15 | 2021-01-15 | 多层整像素运动估计搜索方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112911310A CN112911310A (zh) | 2021-06-04 |
CN112911310B true CN112911310B (zh) | 2023-05-16 |
Family
ID=76113755
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110056329.XA Active CN112911310B (zh) | 2021-01-15 | 2021-01-15 | 多层整像素运动估计搜索方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112911310B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101795409A (zh) * | 2010-03-03 | 2010-08-04 | 北京航空航天大学 | 内容自适应分数像素运动估计方法 |
CN102647594A (zh) * | 2012-04-18 | 2012-08-22 | 北京大学 | 一种整像素精度运动估计方法及其系统 |
CN102790884A (zh) * | 2012-07-27 | 2012-11-21 | 上海交通大学 | 一种基于分层运动估计的搜索方法及其实现系统 |
CN107087171A (zh) * | 2017-05-26 | 2017-08-22 | 中国科学技术大学 | Hevc整像素运动估计方法及装置 |
CN112001942A (zh) * | 2020-07-03 | 2020-11-27 | 北京博雅慧视智能技术研究院有限公司 | 一种运动估计粗搜索方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10291925B2 (en) * | 2017-07-28 | 2019-05-14 | Intel Corporation | Techniques for hardware video encoding |
-
2021
- 2021-01-15 CN CN202110056329.XA patent/CN112911310B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101795409A (zh) * | 2010-03-03 | 2010-08-04 | 北京航空航天大学 | 内容自适应分数像素运动估计方法 |
CN102647594A (zh) * | 2012-04-18 | 2012-08-22 | 北京大学 | 一种整像素精度运动估计方法及其系统 |
CN102790884A (zh) * | 2012-07-27 | 2012-11-21 | 上海交通大学 | 一种基于分层运动估计的搜索方法及其实现系统 |
CN107087171A (zh) * | 2017-05-26 | 2017-08-22 | 中国科学技术大学 | Hevc整像素运动估计方法及装置 |
CN112001942A (zh) * | 2020-07-03 | 2020-11-27 | 北京博雅慧视智能技术研究院有限公司 | 一种运动估计粗搜索方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112911310A (zh) | 2021-06-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7881377B2 (en) | Image coding apparatus and image coding method | |
JP4338654B2 (ja) | 動きベクトル検出装置及び方法、及びその動きベクトル検出装置を利用可能な画像符号化装置 | |
CN108495129A (zh) | 基于深度学习方法的块分割编码复杂度优化方法及装置 | |
KR101579472B1 (ko) | 이미지 데이터 스트림의 생성을 위한 방법 및 디바이스, 현재의 이미지를 이미지 데이터 스트림으로부터 재구성하기위한 방법 및 디바이스, 이미지 데이터 스트림 및 이미지 데이터 스트림을 지니는 저장 매체 | |
US10931965B2 (en) | Devices and methods for video coding using segmentation based partitioning of video coding blocks | |
Mori et al. | Fast template matching based on normalized cross correlation using adaptive block partitioning and initial threshold estimation | |
CN112261413B (zh) | 视频编码方法、编码装置、电子设备和存储介质 | |
US20210195185A1 (en) | Method and electronic device for coding a segment of an inter frame | |
WO2018040869A1 (zh) | 一种帧间预测编码方法及装置 | |
JP2006517069A (ja) | モーションベクトルの予測方法及びシステム | |
US11790485B2 (en) | Apparatus and method for efficient motion estimation | |
CN113347417B (zh) | 提高率失真优化计算效率的方法、装置、设备及存储介质 | |
CN112911310B (zh) | 多层整像素运动估计搜索方法、装置、设备及存储介质 | |
JP2009509415A (ja) | 適応的影響エリアフィルタ | |
CN105992012B (zh) | 一种错误隐藏的方法和装置 | |
US20120106638A1 (en) | Decoder-Side Motion Derivation with Motion Vector Predictors | |
JP2014514808A (ja) | 画像ブロックを再構成および符号化する方法 | |
CN113542769B (zh) | 一种视频图像编码方法、系统、设备以及介质 | |
US8184704B2 (en) | Spatial filtering of differential motion vectors | |
CN114040209A (zh) | 运动估计方法、装置、电子设备及存储介质 | |
CN113489986A (zh) | 一种整像素运动估计方法、装置、电子设备及介质 | |
JP5299319B2 (ja) | 動きベクトル検出装置 | |
CN116074533B (zh) | 运动矢量预测方法、系统、电子设备及存储介质 | |
WO2018068264A1 (zh) | 图像编码/解码方法、装置以及图像处理设备 | |
EP3777168B1 (en) | Accelerating video encoding and decoding |
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 |