CN114095736A - 一种快速运动估计视频编码方法 - Google Patents

一种快速运动估计视频编码方法 Download PDF

Info

Publication number
CN114095736A
CN114095736A CN202210024254.1A CN202210024254A CN114095736A CN 114095736 A CN114095736 A CN 114095736A CN 202210024254 A CN202210024254 A CN 202210024254A CN 114095736 A CN114095736 A CN 114095736A
Authority
CN
China
Prior art keywords
search
motion
macro block
motion vector
optimal
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.)
Granted
Application number
CN202210024254.1A
Other languages
English (en)
Other versions
CN114095736B (zh
Inventor
孔令一
朱政
刘宇新
钱涛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Microframe Information Technology Co ltd
Original Assignee
Hangzhou Microframe Information Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou Microframe Information Technology Co ltd filed Critical Hangzhou Microframe Information Technology Co ltd
Priority to CN202210024254.1A priority Critical patent/CN114095736B/zh
Publication of CN114095736A publication Critical patent/CN114095736A/zh
Application granted granted Critical
Publication of CN114095736B publication Critical patent/CN114095736B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明公开了一种快速运动估计视频编码方法,属于图像编码技术领域,所述方法包括:对待编码宏块进行全局预分析,列出运动矢量候选值列表。根据运动矢量候选值列表判断是否能得到最优的搜索结果,若否,则根据预设的判定条件判定使用不同的快速搜索方法对待编码宏块进行进一步搜索,得到最优的搜索结果。本发明提供的方法对全局进行预分析,初筛了运动矢量的候选列表,避免了传统快速运动估计算法存在局部最优的问题。本发明中使用的十字分解搜索法在保证搜索质量的前提下提高了搜索效率,步进式十字搜索法设置了合理的初始化步长阈值,避免初始步长设置过大浪费计算资源,又避免初始步长设置过小导致错失最优的参考匹配宏块。

Description

一种快速运动估计视频编码方法
技术领域
本发明涉及图像编码技术领域,具体涉及一种快速运动估计视频编码方法。
背景技术
运动估计就是在前一个或几个重建参考帧的搜索窗口中寻找与当前待编码块最相似的匹配编码块的过程。当前待编码块和匹配块的位置差称为运动矢量。全搜索(FS,Full search)算法是最直接的运动估计实现方法。FS算法通过对搜索窗内的所有点进行搜索,因而可以得到最优匹配,但是FS算法的计算量巨大,难以实时实现。一般而言,运动估计通常可以占到整个视频编码60%左右的计算量。由此可见,运动估计是帧间预测的重要环节,在视频压缩编码中,运动估计作为减少视频序列时间冗余的有效手段,其运算效率对整个编码系统的性能有着重大的影响。
由于运动估计对于提升整个编码效率意义重大,因此,出现了许多优秀的快速运动估计算法,这些快速运动估计算法大多是通过减少搜索点来提高搜索效率,比如,三步搜索法、四步搜索法、菱形搜索法等等。虽然这类算法实现简单,速度快,但是他们的侧重于运算速度,利用了相邻宏块运动向量的相似性,采用一个较小的模板进行细化搜索。这就导致了这些运动搜索方法被终止在局部最优的位置上,在一定程度上损失了图像的质量。此外,对于当前待编码与参考宏块之间的参考距离较长,且视频运动较为复杂时可能无法获得较好的运动搜索效果。
发明内容
由于现有方法存在上述问题,本发明实施例提出一种快速运动估计视频编码方法。
具体地,本发明实施例提供了一种降低编码复杂度的方法,包括:
步骤1,预分析获取运动矢量候选值列表。
所述预分析获取运动矢量候选值列表包括但不限于MV(0,0),最佳预分析运动矢量,运动搜索预测值MVP列表。
所述最佳预分析运动矢量是通过预分析当前帧与参考帧相邻和/或不相邻时,当前宏块与参考宏块之间的运动估计得到的。
其中,所述预分析当前帧与参考帧相邻时,当前宏块与参考宏块之间的运动估计,包括:
对视频原始图像帧进行1/4下采样,获得下采样视频图像帧。
将所述下采样视频图像帧划分为大小相同的宏块。
遍历当前宏块的帧间编码代价,筛选编码代价最小的参考宏块作为最佳预分析匹配块,相应地,得到当前宏块与参考宏块之间的最佳预分析运动矢量。
所述预分析当前帧与参考帧不相邻时当前宏块与参考宏块之间的运动估计的方法为通过当前宏块与过渡宏块之间的运动矢量以及过渡宏块与参考宏块之间的运动矢量得到当前宏块与参考宏块之间的运动矢量。
其中,定义在时域上处于当前帧与参考帧之间的图像帧为过渡帧,在过渡帧中与当前宏块之间存在直接或间接参考关系的宏块为过渡宏块。
所述过渡帧可以是一帧也可以是多帧。
步骤2,根据所述运动矢量候选值列表,判断是否需要进一步运动搜索。
根据所述运动矢量候选列表,筛选出所述候选运动矢量对应的最小的编码代价。
若所述最小的编码代价小于阈值,则运动搜索结束,所述最小的编码代价对应运动矢量为最佳运动矢量,对应的参考宏块为最佳匹配宏块,运动搜索结束。
若所述最小的编码代价不小于阈值,则执行步骤3进行进一步搜索,定义所述最小的编码代价对应的参考宏块为第一最佳匹配宏块,当前宏块与第一最佳匹配宏块之间的运动矢量为第一最佳运动矢量。
步骤3,根据所述第一最佳运动矢量以及预设的判定条件选择不同的搜索方法进行搜索,得到最终的运动矢量。
所述不同的搜索方法包括:十字分解搜索法、步进式十字搜索法。
所述预设的判定条件为所述第一最佳运动矢量的水平分量和/或垂直分量小于1,如果满足则使用十字分解搜索法进一步搜索,否则使用步进式十字搜索法进一步搜索。
十字分解搜索法包括:
定义大于1的运动分量或当MVX和MVY都不大于1时较大的分量为第一运动分量,对应的方向为第一搜索方向,不大于1的运动分量或当MVX和MVY都不大于1时较小的分量为第二运动分量,对应的方向为第二搜索方向。
进行第一搜索方向的搜索,计算编码代价,筛选出最小的编码代价作为第二最佳编码代价。
若所述第二最佳编码代价小于width*heigh*λ,则所述第二最佳编码代价对应的参考宏块为最佳匹配块,当前宏块与最佳匹配宏块之间的位移为最佳运动矢量,运动搜索结束。
否则,进行第二搜索方向的搜索,计算编码代价,筛选出最小的编码代价作为最佳编码代价,对应的参考宏块为最佳匹配宏块,对应的运动矢量为最佳运动矢量,运动搜索结束。
其中,width为PU的宽度,height为PU的长度,λ为码率控制系数。
步进式十字搜索法包括:
步骤(1),初始化十字搜索半径searchstep及迭代次数searchtimes。
步骤(2),以所述第一最佳匹配宏块作为十字模式的中心搜索点。
步骤(3),若十字模式的5个搜索点全在搜索窗内,则执行步骤(4),否则执行步骤(6)。
步骤(4),计算并筛选所述5个搜索点中的编码代价最小的点。
步骤(5),判断中心搜索点是否是编码代价最小的点,如果是则以原中心搜索点为中心搜索点继续搜索,执行步骤(6);否则以编码代价最小的点作为新一轮搜索的中心搜索点继续搜索,执行步骤(3)。
步骤(6),十字搜索半径减半,迭代次数减1。
步骤(7),重复步骤3)~步骤6),直到迭代次数为0或者searchstep<1。
步骤(8),筛选出迭代次数为0时或者searchstep<1 时十字模式的5个搜索点中编码代价最小的点,该编码代价最小的点所在的宏块即为最佳匹配块,当前宏块与所述最佳匹配块之间的位移即为最佳运动矢量。
由上述技术方案可知,本发明具有以下有益效果:1. 本发明通过预分析对全局进行候选运动矢量的初步筛选,避免了全局搜索计算量大难以实现的问题,又克服了传统快速运动估计算法存在局部最优的问题;2. 本发明根据当前宏块与过渡宏块之间的运动矢量以及过渡宏块和参考宏块之间的运动矢量得到当前帧与参考帧不相邻时当前宏块和参考宏块之间的运动矢量,克服了当视频运动较为复杂时,传统的远距离直接参考可能无法获得较好的运动搜索效果的问题;3. 十字分解搜索法将运动矢量进行分解,先进行一个运动分量方向的搜索,在搜索结果不是最优的情况下再进行另一个运动分量方向的搜索,大大降低了搜索工作量和计算复杂度,在保证搜索质量的前提下提高了搜索效率;4. 步进式十字搜索法相较于传统的十字搜索方法,通过大量的实验总结,设置了合理的初始化步长阈值,避免初始步长设置过大浪费计算资源,又避免初始步长设置过小导致错失最优的参考匹配宏块,同时又结合对迭代次数的限制,降低了运动估计的计算量,提高搜索效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些图获得其他的附图。
图1 是一种快速运动估计视频编码方法流程示意图。
图2是当前帧与参考帧相邻时的参考示意图。
图3是当前帧与参考帧不相邻且过渡帧只有一帧时的参考示意图。
图4是当前帧与参考帧不相邻且过渡帧有多帧时的参考示意图。
图5是十字分解搜索法的示意图。
图6是步进式十字搜索法的示意图。
具体实施方式
下面结合附图,对本发明的具体实施方式做进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
图1示出了一种快速运动估计视频编码方法流程示意图,如图1所示,本发明实施例提供的视频编码低复杂度的运动搜索方法,具体包括如下内容:
步骤101,预分析获取运动矢量候选值列表。
所述预分析获取运动矢量候选值列表包括但不限于MV(0,0),最佳预分析运动矢量,运动搜索预测值MVP列表。
所述最佳预分析运动矢量是通过预分析当前帧与参考帧相邻和/或不相邻时,当前宏块与参考宏块之间的运动估计得到的。
具体地,如图2所示,所述预分析当前帧与参考帧相邻时,当前宏块与参考宏块之间的运动估计,包括:
对视频原始图像帧进行1/4下采样,获得下采样视频图像帧。
将所述下采样视频图像帧划分为大小相同的宏块。
遍历当前宏块的帧间编码代价,筛选编码代价最小的参考宏块作为最佳预分析匹配块,相应地,得到当前宏块与参考宏块之间的最佳预分析运动矢量。
当当前帧与参考帧不相邻且视频运动较为复杂时,远距离的参考可能无法获得较好的运动搜索效果。因此,可以通过预分析当前宏块与过渡宏块之间的运动矢量以及过渡宏块和参考宏块之间的运动矢量得到当前宏块与参考宏块之间的运动矢量。
其中,定义在时域上处于当前帧与参考帧之间的图像帧为过渡帧,在过渡帧中与当前宏块之间存在直接或间接参考关系的宏块为过渡宏块。
例如,如图3所示,所述预分析当前帧与参考帧不相邻时,当前宏块与参考宏块之间的运动估计,包括:
对视频原始图像帧进行1/4下采样,获得下采样视频图像帧。
将所述下采样视频图像帧划分为大小相同的宏块。
定义在所述下采样视频图像帧中与当前宏块位置对应的宏块为M。
遍历过渡帧P1的每个宏块,获取宏块M参考过渡帧P1中的过渡宏块M1的运动矢量
Figure 908474DEST_PATH_IMAGE001
遍历参考帧P2的每个宏块,获取过渡宏块M1参考参考帧P2中的参考宏块M2的运动 矢量
Figure 654976DEST_PATH_IMAGE002
根据运动矢量
Figure 497030DEST_PATH_IMAGE001
和运动矢量
Figure 954556DEST_PATH_IMAGE002
,得到宏块M参考参考帧P2 中的宏块M2的运动矢量
Figure 332710DEST_PATH_IMAGE003
需要说明的是,本实施例中的上述示例不具有限制作用,在实际应用中当前帧与参考帧之间可以间隔一帧或几帧过渡帧,如图4所示。
步骤102,根据步骤101中获取的运动矢量候选值列表,筛选出编码代价最小时对应的运动矢量作为第一最佳运动矢量。相应地,编码代价最小时对应的参考宏块作为第一最佳匹配宏块。所述最小的编码代价作为第一最佳编码代价。
步骤103,根据步骤102中所述的第一最佳编码代价,判断是否符合第一决策条件,若符合则停止搜索,以所述第一最佳运动矢量作为最佳运动矢量进行编码;否则,执行步骤104。
具体地,所述第一决策条件为所述第一最佳编码代价小于编码代价阈值。
所述编码代价阈值计算方式如下:
Figure 217489DEST_PATH_IMAGE004
其中,curBlock表示当前宏块;refBlock表示参考宏块;λ由码率控制算法决定;bit(*)是用来计算当前mvd的比特消耗的算法,可以由标准中定义的对MV的熵编码算法编码后获得;mv表示当前的运动矢量;mvp表示所述运动搜索预测值MVP列表中编码代价最小时对应的mvp。
步骤104,以所述第一最佳匹配宏块为运动搜索的基准点进行进一步搜索。
其中,进一步运动搜索窗口大小为(Xmin, Xmax, Ymin, Ymax)。
需要说明的是,运动搜索窗口大小由标准定义,不同的编码标准可以设置不同大小的搜索窗口。
步骤105,将步骤102中所述第一最佳运动矢量分解为水平方向的运动分量MVX和垂直方向的运动分量MVY
步骤106,根据所述水平方向的运动分量MVX和垂直方向的运动分量MVY,判断是否满足第二判定条件,若满足则进行十字分解搜索,否则,进行步进式十字搜索。
所述第二判定条件为,MVX和/或MVY不大于1。
(1)如图5所示,所述十字分解搜索方法包括:
步骤(1.1),定义大于1的运动分量或当MVX和MVY都不大于1时较大的分量为第一运动分量,对应的方向为第一搜索方向,不大于1的运动分量或当MVX和MVY都不大于1时较小的分量为第二运动分量,对应的方向为第二搜索方向。
步骤(1.2)进行第一搜索方向的搜索,计算编码代价,筛选出最小的编码代价作为第二最佳编码代价。
若所述第二最佳编码代价小于width*heigh*λ,则所述第二最佳编码代价对应的参考宏块为最佳匹配块,当前宏块与最佳匹配宏块之间的位移为最佳运动矢量,运动搜索结束,否则执行步骤(1.3)。
其中,width为PU的宽度,height为PU的长度,λ为码率控制系数。
具体地,所述进行第一搜索方向的搜索,包括:
固定第二运动分量的大小,第一运动分量的大小从当前搜索窗口的最小值开始以固定步长逐渐增大,直至当前搜索窗口的最大值为止进行搜索。
若水平方向为第一运动分量,则固定垂直方向的运动分量,进行水平方向的搜索,具体为:
Figure 812419DEST_PATH_IMAGE005
其中xmin为当前搜索窗口水平方向的最小值,xmax为当前搜索窗口水平方向的最大值;MVY为所述第一最佳运动矢量垂直方向的运动分量,b为固定步长;X为水平方向的运动分量。
若垂直方向为第一运动分量,则固定水平方向的运动分量,进行垂直方向的搜索,具体为:
Figure 73636DEST_PATH_IMAGE006
其中ymin为当前搜索窗口垂直方向的最小值,ymax为当前搜索窗口垂直方向的最大值;MVX为所述第一最佳运动矢量水平方向的运动分量,b为固定步长;Y为垂直方向的运动分量。
步骤(1.3),进行第二搜索方向的搜索,计算编码代价,筛选出最小的编码代价作为最佳编码代价,对应的参考宏块为最佳匹配宏块,对应的运动矢量为最佳运动矢量,运动搜索结束。
具体地,所述进行第二搜索方向的搜索,包括:
固定第一运动分量的大小,第二运动分量的大小从当前搜索窗口的最小值开始以固定步长逐渐增大,直至当前搜索窗口的最大值为止进行搜索。
若水平方向为第二运动分量,则固定垂直方向的运动分量,进行水平方向的搜索,具体为:
Figure 300437DEST_PATH_IMAGE007
其中xmin为当前搜索窗口水平方向的最小值,xmax为当前搜索窗口水平方向的最大值;MVY为所述第一最佳运动矢量垂直方向的运动分量,b为固定步长;X为水平方向的运动分量。
若垂直方向为第二运动分量,则固定水平方向的运动分量,进行垂直方向的搜索,具体为:
Figure 90538DEST_PATH_IMAGE008
其中ymin为当前搜索窗口垂直方向的最小值,ymax为当前搜索窗口垂直方向的最大值;MVX为所述第一最佳运动矢量水平方向的运动分量,b为固定步长;Y为垂直方向的运动分量。
(2)如图6所示,所述步进式十字搜索方法包括:
步骤(2.1),初始化十字搜索半径searchstep及迭代次数searchtimes。
具体地, 通过大量实验,设置不同的searchstep初值,在不同参数(包括但不限于不同码率、不同参考结构、不同速度档次)下编码大量不同类型的视频,并收集包括搜索宏块的宽度、高度、最优搜索结果的编码代价,以及收敛到最优结果所用到的迭代次数。根据实验数据拟合出searchstep与搜索宏块的宽度、高度以及最佳编码代价之间的函数关系。根据所述函数关系设置的searchstep初始值可以满足提高命中最优搜索结果的命中率,同时搜索次数最少。
优选地,初始搜索步长公式为:
Figure 641605DEST_PATH_IMAGE009
其中,width为PU的宽度,height为PU的长度,cost为第一最佳编码代价;clip函数表示
Figure 706513DEST_PATH_IMAGE010
需要说明的是,上述searchstep的确定方式仅为示例,不具有限制作用,在应用过程中可以根据实际情况进行设置。
具体地,通过大量实验,固定最优的搜索步长searchstep,在不同参数(包括但不限于不同码率、不同参考结构、不同速度档次)下编码大量不同类型的视频,并收集包括搜索宏块的宽度、高度、最优搜索结果的编码代价,以及收敛到最优结果所用到的迭代次数。统计当前宏块的宽度、高度、每次搜索的编码代价和迭代次数的关系。根据实验数据拟合出迭代次数searchtimes与搜索宏块的宽度、高度以及最佳编码代价之间的函数关系。当搜索次数超过该函数关系的约束时,编码代价下降的斜率较小且搜索到更优结果的概率较小,因此搜索过程可提前终止。
优选地,初始化迭代次数公式为:
Figure 793680DEST_PATH_IMAGE011
其中,width为PU的宽度,height为PU的长度,cost为第一最佳编码代价,clip函数 表示
Figure 20262DEST_PATH_IMAGE010
需要说明的是,上述searchtimes的确定方式仅为示例,不具有限制作用,在应用过程中可以根据实际情况进行设置。
步骤(2.2),以所述第一最佳匹配宏块作为十字模式的中心搜索点。
步骤(2.3)若十字模式的5个搜索点全在搜索窗内,则执行步骤(2.4),否则执行步骤(2.6)。
步骤(2.4)筛选所述5个搜索点中的编码代价最小的点。
步骤(2.5)判断中心搜索点是否是编码代价最小的点,如果是则以原中心搜索点为中心搜索点继续搜索,执行步骤(2.6);否则以编码代价最小的点作为新一轮搜索的中心搜索点继续搜索,执行步骤(2.3)。
步骤(2.6)十字搜索半径减半,迭代次数减1。
步骤(2.7),重复步骤(2.3)~步骤(2.6),直到迭代次数为0或者searchstep<1时停止搜索。
步骤(2.8),获得迭代次数为0时或者searchstep<1时编码代价最小的宏块,该编码代价最小的宏块即为最佳匹配宏块,当前宏块与最佳匹配宏块之间的位移即为最佳运动矢量,运动搜索停止。
需要说明的是,在本发明中,诸如“第一”、“第二”仅用于描述目的,仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何实际的关系或者顺序。此外,在本发明所提供的实施例中,应理解,“与A相应的B”表示B与A相关联,根据A可以确定B。但还应理解,根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其他信息确定B。本发明所提供的实施例中的术语“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
最后应说明的是,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (13)

1.一种快速运动估计视频编码方法,其特征在于,包括:
预分析获取运动矢量候选值列表;
根据所述运动矢量候选值列表,判断是否需要进一步运动搜索,如果不需要则停止搜索;否则筛选出第一最佳运动矢量,相应地得到第一最佳匹配宏块,以所述第一最佳运动匹配宏块为基准进行进一步搜索;
若需要进行进一步搜索,根据所述第一最佳运动矢量以及预设的判定条件选择不同的搜索方法进行搜索,得到最终的运动矢量。
2.根据权利要求1所述的一种快速运动估计视频编码方法,其特征在于,所述运动矢量候选值列表包括:
MV(0,0);
最佳预分析运动矢量;
运动搜索预测值MVP列表。
3.根据权利要求2所述的一种快速运动估计视频编码方法,其特征在于,所述最佳预分析运动矢量是通过预分析当前帧与参考帧相邻和/或不相邻时,当前宏块与参考宏块之间的运动估计得到的。
4.根据权利要求3所述的一种快速运动估计视频编码方法,其特征在于,所述预分析当前帧与参考帧相邻时,当前宏块与参考宏块之间的运动估计,包括:
对视频原始图像帧进行1/4下采样,获得下采样视频图像帧;
将所述下采样视频图像帧划分为大小相同的宏块;
遍历当前宏块的帧间编码代价,筛选编码代价最小的参考宏块作为最佳预分析匹配块,相应地,得到当前宏块与参考宏块之间的最佳预分析运动矢量。
5.根据权利要求3所述的一种快速运动估计视频编码方法,其特征在于,所述预分析当前帧与参考帧不相邻时当前宏块与参考宏块之间的运动估计的方法为通过当前宏块与过渡宏块之间的运动矢量以及过渡宏块与参考宏块之间的运动矢量得到当前宏块与参考宏块之间的运动矢量;
其中,定义在时域上处于当前帧与参考帧之间的图像帧为过渡帧,在过渡帧中与当前宏块之间存在直接或间接参考关系的宏块为过渡宏块;
过渡帧可以是一帧也可以是多帧;
当前宏块与所述参考宏块之间的最佳预分析运动矢量的计算方法为:
Figure 323274DEST_PATH_IMAGE001
其中,
Figure 909982DEST_PATH_IMAGE002
表示当前帧的前n-1帧参考当前帧的前n帧时的运动矢量。
6.根据权利要求1所述的一种快速运动估计视频编码方法,其特征在于,所述根据所述运动矢量候选值列表,判断是否需要进一步运动搜索,包括:
根据所述运动矢量候选列表,筛选出所述候选运动矢量对应的最小的编码代价;
若所述最小的编码代价小于阈值,则运动搜索结束,所述最小的编码代价对应运动矢量为最佳运动矢量,对应的参考宏块为最佳匹配宏块,运动搜索结束;
若所述最小的编码代价不小于阈值,则需要进行进一步搜索。
7.根据权利要求1所述的一种快速运动估计视频编码方法,其特征在于,所述不同的搜索方法包括:十字分解搜索法、步进式十字搜索法。
8.根据权利要求1所述的一种快速运动估计视频编码方法,其特征在于,所述根据所述第一最佳运动矢量以及预设的判定条件选择不同的搜索方法进行搜索,包括:
将所述第一最佳运动矢量分解为水平方向的运动分量MVX和垂直方向的运动分量MVY
判断所述运动分量MVX和MVY是否满足预设的判定条件,若满足则选择十字分解搜索法进行进一步搜索,否则选择步进式十字搜索法进行搜索;
其中所述预设的判定条件为MVX和/或MVY不大于1。
9.根据权利要求7所述的一种快速运动估计视频编码方法,其特征在于,所述十字分解搜索法包括:
定义大于1的运动分量或当MVX和MVY都不大于1时较大的分量为第一运动分量,对应的方向为第一搜索方向,不大于1的运动分量或当MVX和MVY都不大于1时较小的分量为第二运动分量,对应的方向为第二搜索方向;
进行第一搜索方向的搜索,计算编码代价,筛选出最小的编码代价作为第二最佳编码代价;
若所述第二最佳编码代价小于width*heigh*λ,则所述第二最佳编码代价对应的参考宏块为最佳匹配块,当前宏块与最佳匹配宏块之间的位移为最佳运动矢量,运动搜索结束;
否则,进行第二搜索方向的搜索,计算编码代价,筛选出最小的编码代价作为最佳编码代价,对应的参考宏块为最佳匹配宏块,对应的运动矢量为最佳运动矢量,运动搜索结束;
其中,width为PU的宽度,height为PU的长度,λ为码率控制系数。
10.根据权利要求9所述的一种快速运动估计视频编码方法,其特征在于,所述进行第一搜索方向的搜索,包括:
固定第二运动分量的大小,第一运动分量的大小从当前搜索窗口的最小值开始以固定步长逐渐增大,直至当前搜索窗口的最大值为止进行搜索;
若水平方向为第一运动分量,则固定垂直方向的运动分量,进行水平方向的搜索,具体为:
Figure 881349DEST_PATH_IMAGE003
其中xmin为当前搜索窗口水平方向的最小值,xmax为当前搜索窗口水平方向的最大值;MVY为所述第一最佳运动矢量垂直方向的运动分量,b为固定步长;X为水平方向的运动分量;
若垂直方向为第一运动分量,则固定水平方向的运动分量,进行垂直方向的搜索,具体为:
Figure 295144DEST_PATH_IMAGE004
其中ymin为当前搜索窗口垂直方向的最小值,ymax为当前搜索窗口垂直方向的最大值;MVX为所述第一最佳运动矢量水平方向的运动分量,b为固定步长;Y为垂直方向的运动分量。
11.根据权利要求9所述的一种快速运动估计视频编码方法,其特征在于,所述进行第二搜索方向的搜索,包括:
固定第一运动分量的大小,第二运动分量的大小从当前搜索窗口的最小值开始以固定步长逐渐增大,直至当前搜索窗口的最大值为止进行搜索;
若水平方向为第二运动分量,则固定垂直方向的运动分量,进行水平方向的搜索,具体为:
Figure 338579DEST_PATH_IMAGE005
其中xmin为当前搜索窗口水平方向的最小值,xmax为当前搜索窗口水平方向的最大值;MVY为所述第一最佳运动矢量垂直方向的运动分量,b为固定步长;X为水平方向的运动分量;
若垂直方向为第二运动分量,则固定水平方向的运动分量,进行垂直方向的搜索,具体为:
Figure 745290DEST_PATH_IMAGE006
其中ymin为当前搜索窗口垂直方向的最小值,ymax为当前搜索窗口垂直方向的最大值;MVX为所述第一最佳运动矢量水平方向的运动分量,b为固定步长;Y为垂直方向的运动分量。
12.根据权利要求7所述的一种快速运动估计视频编码方法,其特征在于,所述步进式十字搜索法,包括:
步骤(1),初始化十字搜索半径searchstep及迭代次数searchtimes;
步骤(2),以所述第一最佳匹配宏块作为十字模式的中心搜索点;
步骤(3),若十字模式的5个搜索点全在搜索窗内,则执行步骤(4),否则执行步骤(6);
步骤(4),计算并筛选所述5个搜索点中编码代价最小的点;
步骤(5),判断中心搜索点是否是编码代价最小的点,如果是则以原中心搜索点为中心搜索点继续搜索,执行步骤(6);否则以编码代价最小的点作为新一轮搜索的中心搜索点继续搜索,执行步骤(3);
步骤(6),十字搜索半径减半,迭代次数减1;
步骤(7),重复步骤3)~步骤6),直迭代次数为0或者searchstep<1;
步骤(8),筛选出迭代次数为0时或者searchstep<1时十字模式的5个搜索点中编码代价最小的点,该编码代价最小的点所在的宏块即为最佳匹配块,当前宏块与所述最佳匹配块之间的位移即为最佳运动矢量。
13.根据权利要求12所述的一种快速运动估计视频编码方法,其特征在于,所述初始化十字搜索半径searchstep及迭代次数searchtimes的方法为:
Figure 56317DEST_PATH_IMAGE007
其中,k、 m、t表示系数,cost为所述第一最佳匹配宏块对应的编码代价,width当前宏块的宽度,height为当前宏块的长度;clip函数表示
Figure 155860DEST_PATH_IMAGE008
Figure 418083DEST_PATH_IMAGE009
其中,p、q、r、s表示系数;cost为所述第一最佳匹配宏块对应的编码代价;width当前宏块的宽度,height为当前宏块的长度;clip函数表示
Figure 362905DEST_PATH_IMAGE010
CN202210024254.1A 2022-01-11 2022-01-11 一种快速运动估计视频编码方法 Active CN114095736B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210024254.1A CN114095736B (zh) 2022-01-11 2022-01-11 一种快速运动估计视频编码方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210024254.1A CN114095736B (zh) 2022-01-11 2022-01-11 一种快速运动估计视频编码方法

Publications (2)

Publication Number Publication Date
CN114095736A true CN114095736A (zh) 2022-02-25
CN114095736B CN114095736B (zh) 2022-05-24

Family

ID=80308492

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210024254.1A Active CN114095736B (zh) 2022-01-11 2022-01-11 一种快速运动估计视频编码方法

Country Status (1)

Country Link
CN (1) CN114095736B (zh)

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102917221A (zh) * 2012-10-18 2013-02-06 北京航空航天大学 基于新型十字菱形搜索及三帧背景对齐的动背景视频对象提取
CN103384327A (zh) * 2013-04-22 2013-11-06 张新安 基于自适应阈值的avs快速模式选择算法
CN104159124A (zh) * 2014-08-20 2014-11-19 哈尔滨工业大学 一种改进的多视点视频运动估计搜索方法
CN108134939A (zh) * 2016-12-01 2018-06-08 北京金山云网络技术有限公司 一种运动估计方法及装置
CN109660800A (zh) * 2017-10-12 2019-04-19 北京金山云网络技术有限公司 运动估计方法、装置、电子设备及计算机可读存储介质
CN109660799A (zh) * 2017-10-12 2019-04-19 北京金山云网络技术有限公司 视频编码中的运动估计方法、装置、电子设备及存储介质
CN110996104A (zh) * 2019-12-05 2020-04-10 华中科技大学 一种光场焦点堆栈图像序列编、解码方法、装置及系统
WO2020181476A1 (zh) * 2019-03-11 2020-09-17 华为技术有限公司 视频图像预测方法及装置
CN111818342A (zh) * 2020-08-28 2020-10-23 浙江大华技术股份有限公司 帧间预测方法及预测装置
WO2020243100A1 (en) * 2019-05-26 2020-12-03 Beijing Dajia Internet Information Technology Co., Ltd. Methods and apparatus for improving motion estimation in video coding
CN112204962A (zh) * 2019-04-25 2021-01-08 华为技术有限公司 图像预测方法、装置和计算机可读存储介质

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102917221A (zh) * 2012-10-18 2013-02-06 北京航空航天大学 基于新型十字菱形搜索及三帧背景对齐的动背景视频对象提取
CN103384327A (zh) * 2013-04-22 2013-11-06 张新安 基于自适应阈值的avs快速模式选择算法
CN104159124A (zh) * 2014-08-20 2014-11-19 哈尔滨工业大学 一种改进的多视点视频运动估计搜索方法
CN108134939A (zh) * 2016-12-01 2018-06-08 北京金山云网络技术有限公司 一种运动估计方法及装置
CN109660800A (zh) * 2017-10-12 2019-04-19 北京金山云网络技术有限公司 运动估计方法、装置、电子设备及计算机可读存储介质
CN109660799A (zh) * 2017-10-12 2019-04-19 北京金山云网络技术有限公司 视频编码中的运动估计方法、装置、电子设备及存储介质
WO2020181476A1 (zh) * 2019-03-11 2020-09-17 华为技术有限公司 视频图像预测方法及装置
CN112204962A (zh) * 2019-04-25 2021-01-08 华为技术有限公司 图像预测方法、装置和计算机可读存储介质
WO2020243100A1 (en) * 2019-05-26 2020-12-03 Beijing Dajia Internet Information Technology Co., Ltd. Methods and apparatus for improving motion estimation in video coding
CN110996104A (zh) * 2019-12-05 2020-04-10 华中科技大学 一种光场焦点堆栈图像序列编、解码方法、装置及系统
CN111818342A (zh) * 2020-08-28 2020-10-23 浙江大华技术股份有限公司 帧间预测方法及预测装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
左石凯: "基于HEVC的视频编码算法及硬件体系结构研究", 《CNKI博士学位论文全文库》 *
鲁照华等: "一种预测质量可控的快速运动估计搜索算法", 《电子学报》 *

Also Published As

Publication number Publication date
CN114095736B (zh) 2022-05-24

Similar Documents

Publication Publication Date Title
CN110087087B (zh) Vvc帧间编码单元预测模式提前决策及块划分提前终止方法
RU2559738C2 (ru) Способ и устройство для кодирования/декодирования вектора движения
Wu et al. HG-FCN: Hierarchical grid fully convolutional network for fast VVC intra coding
JP4898467B2 (ja) 可変ブロックサイズ動き予測のための符号化モードの決定方法及び装置
CN111479110B (zh) 针对h.266/vvc的快速仿射运动估计方法
CN105430391B (zh) 基于逻辑回归分类器的帧内编码单元快速选择方法
CN106604035B (zh) 一种用于视频编码和压缩的运动估计的方法
CN101888546B (zh) 一种运动估计的方法及装置
CN112291562B (zh) 针对h.266/vvc的快速cu分区和帧内模式决策方法
US20150208094A1 (en) Apparatus and method for determining dct size based on transform depth
CN112637591B (zh) 一种视频预测编码的方法及装置
CN109743575A (zh) 一种基于朴素贝叶斯的dvc-hevc视频转码方法
CN108833928B (zh) 交通监控视频编码方法
CN114095736B (zh) 一种快速运动估计视频编码方法
CN109889838B (zh) 一种基于roi区域的hevc快速编码方法
CN109040756B (zh) 一种基于hevc图像内容复杂度的快速运动估计方法
Jillani et al. Multi-view clustering for fast intra mode decision in HEVC
WO2018205781A1 (zh) 一种实现运动估计的方法及电子设备
CN112954365A (zh) Hevc帧间运动估算像素搜索改进方法
WO2018205780A1 (zh) 一种运动估计实现方法及电子设备
CN117412065B (zh) 螺旋搜索算法的一种优化方案
CN112492314B (zh) 一种基于机器学习的动态运动估计算法选择的方法
CN111064968B (zh) 一种vvc帧间cu深度快速划分方法
Zhang et al. Edge direction-based fast coding unit partition for HEVC screen content coding
CN112866691B (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