CN110557642A - 一种视频帧编码运动搜索方法及图像编码器 - Google Patents

一种视频帧编码运动搜索方法及图像编码器 Download PDF

Info

Publication number
CN110557642A
CN110557642A CN201810583364.5A CN201810583364A CN110557642A CN 110557642 A CN110557642 A CN 110557642A CN 201810583364 A CN201810583364 A CN 201810583364A CN 110557642 A CN110557642 A CN 110557642A
Authority
CN
China
Prior art keywords
search
reference frame
integer
image block
cost value
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
CN201810583364.5A
Other languages
English (en)
Other versions
CN110557642B (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201810583364.5A priority Critical patent/CN110557642B/zh
Publication of CN110557642A publication Critical patent/CN110557642A/zh
Application granted granted Critical
Publication of CN110557642B publication Critical patent/CN110557642B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/17Methods 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/176Methods 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
    • 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
    • H04N19/567Motion estimation based on rate distortion criteria

Abstract

本申请公开了一种应用于视频编码的运动搜索方法,包括:根据当前待编码图像块,在所述当前待编码图像块的第一参考帧和第二参考帧进行预搜索,确定第一参考帧的预搜索代价值和第二参考帧的预搜索代价值;对所述当前待编码图像块在所述第一参考帧和所述第二参考帧进行整数搜索,其中,所述第一参考帧中整数搜索范围覆盖的像素区域面积与所述第二参考帧中整数搜索范围覆盖的像素区域面积不同。本申请通过预搜索代价值的大小区分不同的参考帧,并根据实际情况对不同参考帧设定不同的整数搜索范围,从而节省不必要的搜索资源,有助于提高编码器的编码效率。

Description

一种视频帧编码运动搜索方法及图像编码器
技术领域
本申请涉及通信领域,尤其涉及一种视频帧编码运动搜索方法及图像编码器。
背景技术
随着信息技术和计算机互联网的飞速发展,多媒体信息例如视频、图像等已成为人类获取信息的最主要载体,同时也成为电子信息领域技术开发和研究的热点。多媒体信息经数字化处理后具有易于加密、抗干扰能力强等优点,但同时伴随着海量数据的产生,对信息存储设备和通信网络均提出了很高的要求,这也成为阻碍人们有效获取和使用信息的重大瓶颈。
其中,以多媒体信息中的视频传输为例,数据视频的压缩编码技术是视频传输中关键技术之一,通过高效的视频压缩技术将视频进行大幅度的压缩,可以有效的降低对网络传输带宽的需求。而运动估计是影响视频编码性能的关键因素之一,它通常是利用当前帧的图像块在一个或多个参考帧的对应搜索范围内寻找最佳匹配块来完成。运动估计可分为单参考帧运动估计和多参考帧运动估计(包括双参考帧)。其中,双参考帧运动估计的原理是在两个参考帧上分别对待编码图像块进行相同的运动估计,运动估计具体可包含三个部分:预搜索、整数搜索和分数搜索,三个搜索阶段的搜索精度从粗到细,经历过三个搜索阶段之后可从参考帧中确定出与原始帧待编码图像块中的预测单元最为匹配的预测图像块,并记录下该图像块对应的最优运动矢量(Motion Vector,MV)。
具体地,通常编码器根据待编码图像块或预测单元在参考帧或参考帧的一定范围内搜索出多个候选点,再从上述多个候选点确定出代价值最小的最佳匹配点,该匹配点对应的图像块即为与所述待编码图像块或预测单元最匹配的图像块。在上述过程中,每个待编码图像块都需搜索出多个候选点,而一帧画面又包括多个待编码图像块,因此完成一帧完整画面的运动估计耗费的搜索资源过大。
发明内容
本申请提供了一种应用于视频帧编码的运动搜索方法,通过比较参考帧预搜索代价值的大小,对预搜索代价值较大的参考帧(即参考价值较低的较劣参考帧)进行运动搜索时适当降低搜索要求,从而降低较劣参考帧运动估计的复杂度,节省运算资源。
本申请的第一方面提供一种运动搜索方法:编码器根据当前待编码图像块,在第一参考帧和第二参考帧进行预搜索以确定第一参考帧的预搜索代价值和第二参考帧的预搜索代价值;对当前待编码图像块在第一参考帧和第二参考帧进行整数搜索,其中,第一参考帧中整数搜索范围覆盖的像素区域面积与第二参考帧中整数搜索范围覆盖的像素区域面积不同。
本申请通过参考帧预搜索代价值的大小区分不同的参考帧,并根据实际情况对不同参考帧设定不同的整数搜索范围,从而节省不必要的搜索资源,有助于提高编码器的编码效率。
结合本申请的第一方面,在本申请第一方面的第一种实现方式中,当第一参考帧的预搜索代价值大于或等于第二参考帧的预搜索代价值时,可将第一参考帧视为参考价值略低的较劣参考帧,此时应设定第一参考帧即较劣参考帧的整数搜索范围覆盖的像素区域面积小于第二参考帧的整数搜索范围覆盖的像素区域面积。
对预搜索代价值较大的第一参考帧即较劣参考帧可适当缩小整数搜索范围覆盖的像素区域面积,缩小整数搜索范围有助于节省搜索资源,快速完成整数搜索过程,从而加快整个运动估计的进程。
结合本申请的第一方面,在本申请第一方面的第二种实现方式中,当第二参考帧的预搜索代价值大于第一参考帧的预搜索代价值时,第二参考帧的整数搜索范围覆盖的像素区域面积小于第一参考帧的整数搜索范围覆盖的像素区域面积。
同理,通过比较预搜索代价值的大小决定参考帧整数搜索范围的大小有助于合理分配搜索资源,利用较低的资源能达到较为理想的效果。
结合本申请第一方面的第一种实现方式,在本申请第一方面的第三种实现方式中:
若第一参考帧的预搜索代价值大于或等于第二参考帧的预搜索代价值,则第一参考帧的整数搜索范围覆盖的像素区域面积应小于第二参考帧的整数搜索范围覆盖的像素区域面积,并且在对第二参考帧进行了整数搜索之后,对当前待编码图像块在第二参考帧进行分数搜索。
在对预搜索代价值较小的较优参考帧进行整数搜索之后,以整数搜索的结果为起始点继续作分数搜索,越来越精细的搜索精度,有助于找到相似度更高的图像块,提高运动估计的准确性。同时,省去对预搜索代价值较大的较劣帧进行分数搜索,节省了编码器的运算资源,提高了运算效率。
结合本申请第一方面的第二种实现方式,在本申请第一方面的第四种实现方式中:
若第二参考帧的预搜索代价值大于第一参考帧的预搜索代价值时,则将第二参考帧视为较劣参考帧,第一参考帧视为较优参考帧,并且第二参考帧的整数搜索范围覆盖的像素区域面积小于第一参考帧的整数搜索范围覆盖的像素区域面积,在对第一参考帧进行了整数搜索之后,对当前待编码图像块在第一参考帧进行分数搜索。
同理,预搜索代价值较小的较优参考帧从整数搜索到分数搜索,越来越精细的搜索精度有助于提高搜索结果的准确性。同时,省去对预搜索代价值较大的较劣帧进行分数搜索,节省了编码器的运算资源,提高了运算效率。
结合本申请第一方面至第一方面第四种实现方式中的任意一种实现方式,在本申请第一方面的第五种实现方式中,在当前待编码图像块的第一参考帧和第二参考帧进行预搜索,确定第一参考帧的预搜索代价值和第二参考帧的预搜索代价值具体为:
根据当前待编码帧图像块,在第一参考帧和第二参考帧中分别搜索在本参考帧中与当前待编码帧图像块匹配的搜索代价最小的匹配点,搜索代价最小的匹配点即为本参考帧的预搜索结果,预搜索结果对应的搜索代价为本参考帧的预搜索代价值。
具体搜索的方法可以是传统的邻接法或下采样域搜索法等,通过上述方法首先确定多个候选点的搜索代价值,选取代价值最小的点为预搜索匹配点,该匹配点对应的预测图像块为与待编码图像块最为相近的图像块。
本申请中预搜索阶段确定的预搜索匹配点可用于接下来的整数搜索,为整数搜索提供起始点,这种递推的搜索方式使得搜索精度越来越精细,得到的预测图像块与待编码图像块相似度越来越高。
结合本申请第一方面至第一方面第五种实现方式中的任意一种实现方式,在本申请第一方面的第六种实现方式中,在第一参考帧和第二参考帧进行整数搜索具体为:
对待编码图像块中的每个预测单元(Prediction Unit,PU)在整数搜索范围内进行搜索,并确定搜索代价最小的匹配点,搜索代价最小的匹配点即为整数搜索结果。
结合本申请第一方面的第三种实现方式或第一方面的第四种实现方式,在本申请第一方面的第七种实现方式中,分数搜索具体包括分数插值和分数搜索:
分数插值即对整数搜索结果的像素点及其周围预定范围内的整像素点进行分数插值得到分像素点,编码器根据待编码图像块中的预测单元在分像素域内进行搜索,搜索出在本参考帧中与当前预测单元匹配的搜索代价最小的匹配点,因此分数搜索比整数搜索的搜索精度更高。其中,覆盖所有整像素点的区域面积为整数搜索范围,覆盖所有分像素点的区域面积为分数搜索范围。
搜索精度越高,搜索得到的预测图像块与待编码图像块中的预测单元相似度越高,因此两者之间的残差数据量越小,编码压缩性能就越好。
结合本申请第一方面至第一方面第七种实现方式,在本申请第一方面的第八种实现方式中,代价值可以为率失真优化(Rate Distortion Optimized,RDO)、绝对误差(Sumof Absolute Difference,SAD)或变换后的绝对误差和(Sum of Absolute TransformedDifference,SATD)中的一种、多种或全部。
通过明确、具体的算法确定代价值,有助于确定相应的匹配点,从而找到与待编码图像块或预测单元最为相近的预测图像块,为提高编码器的编码性能奠定数据基础。
本申请的第二方面还提供了一种应用于视频帧编码的运动搜索方法,包括:
对于当前待编码图像块,在当前待编码图像块的第一参考帧和第二参考帧进行预搜索,确定第一参考帧的预搜索代价值和第二参考帧的预搜索代价值;
当第一参考帧的预搜索代价值大于或等于第二参考帧的预搜索代价值时,对当前待编码图像块在第一参考帧进行整数搜索,并对整数搜索结果进行运动补偿,对当前待编码图像块在第二参考帧进行整数搜索,在整数搜索之后进行分数搜索,并对分数搜索结果进行运动补偿;
当第二参考帧的预搜索代价值大于第一参考帧的预搜索代价值时,对当前待编码图像块在第二参考帧进行整数搜索,并对整数搜索结果进行运动补偿,对当前待编码图像块在第一参考帧进行整数搜索,在整数搜索之后进行分数搜索,并对分数搜索结果进行运动补偿。
本申请中对预搜索代价值较大的较劣参考帧省略了分数搜索阶段的分数插值和插值之后的分像素搜索,直接对整像素点进行运动补偿,如此一来,降低了较劣参考帧运动估计的复杂度,节省了大量不必要的资源。
结合本申请第二方面,本申请第二方面的第一种实现方式中,在当前待编码图像块的第一参考帧和第二参考帧进行预搜索,确定第一参考帧的预搜索代价值和第二参考帧的预搜索代价值具体为:
根据当前待编码帧图像块,在第一参考帧和第二参考帧中分别搜索在本参考帧中与当前待编码帧图像块匹配的搜索代价最小的匹配点,搜索代价最小的匹配点即为本参考帧的预搜索结果,预搜索结果对应的搜索代价为本参考帧的预搜索代价值。
通过计算代价值确定出匹配点表明有量化、明确的数据为运动估计提供支持,保证了运动估计的准确性。
结合本申请第二方面或第二方面的第一种实现方式,本申请第二方面的第二种实现方式中,在第一参考帧和第二参考帧进行整数搜索具体为:
对待编码图像块中的每个预测单元PU在整数搜索范围内搜索代价最小的匹配点,搜索代价最小的匹配点即为整数搜索结果。
结合本申请第二方面至第二方面的第二种实现方式中的任意一种方式,本申请第二方面的第三种实现方式中,分数搜索具体为:
对整数搜索结果的像素点及其周围预定范围内的整像素点进行分数插值得到分像素点,在分像素域内进行搜索。
利用分像素点搜索时搜索精度更高,因而搜索得到的预测图像块与待编码图像块的预测单元相似度越高,因此两者之间的残差数据量越小,编码压缩性能就越好。
结合本申请第二方面至第二方面的第三种实现方式中的任意一种方式,本申请第二方面的第四种实现方式中,代价值可以为率失真优化(Rate Distortion Optimized,RDO)、绝对误差(Sum of Absolute Difference,SAD)或变换后的绝对误差和(Sum ofAbsolute Transformed Difference,SATD)中的一种、多种或全部。
本申请第三方面提供了一种图像编码器,编码器包括:
预搜索模块,用于对当前待编码图像块在第一参考帧和第二参考帧进行预搜索,确定第一参考帧的预搜索代价值和第二参考帧的预搜索代价值;
整数搜索模块,用于对当前待编码图像块在第一参考帧和第二参考帧进行整数搜索,其中,第一参考帧的整数搜索范围覆盖的像素区域面积与第二参考帧的整数搜索范围覆盖的像素区域面积不同。
本申请通过参考帧预搜索代价值的大小区分不同的参考帧,并根据实际情况对不同参考帧设定不同的整数搜索范围,从而节省不必要的计算资源,有助于提高编码器的编码效率。
结合本申请第三方面,本申请第三方面的第一种实现方式中,第一参考帧的整数搜索范围覆盖的像素区域面积与第二参考帧的整数搜索范围覆盖的像素区域面积不同具体为:
当第一参考帧的预搜索代价值大于或等于第二参考帧的预搜索代价值时,第一参考帧的整数搜索范围覆盖的像素区域面积小于第二参考帧的整数搜索范围覆盖的像素区域面积;
当第二参考帧的预搜索代价值大于第一参考帧的预搜索代价值时,第二参考帧的整数搜索范围覆盖的像素区域面积小于第一参考帧的整数搜索范围覆盖的像素区域面积。
结合本申请第三方面的第一种实现方式,本申请第三方面的第二种实现方式中,分数搜索模块,用于在当第一参考帧的预搜索代价值大于或等于第二参考帧的预搜索代价值时,只对当前待编码图像块在第二参考帧进行分数搜索;当第一参考帧的预搜索代价值小于第二参考帧的预搜索代价值时,只对当前待编码图像块在第一参考帧进行分数搜索。
本申请中分数搜索模块直接对整数搜索模块获得的较劣帧中的整数搜索匹配点进行运动补偿,省略分数插值和分像素搜索的步骤,而较优帧中的分数搜索需经过完整的分数插值和分像素搜索的步骤,通过上述方式能够合理分配资源,使得资源效应最大化,大大提高了运动估计的效率。
结合本申请第三方面,本申请第三方面的第三种实现方式中,编码器中的预搜索模块,具体用于根据所述当前待编码帧图像块,在所述第一参考帧和第二参考帧中分别搜索在本参考帧中与所述当前待编码帧图像块匹配的搜索代价最小的匹配点,所述搜索代价最小的匹配点即为本参考帧的预搜索结果,所述预搜索结果对应的搜索代价为本参考帧的预搜索代价值。
本申请中的预搜索模块根据搜索代价值的大小确定与待编码图像块最相近的预测图像块,用明确的计算数据为运动估计提供有力支持,保证了运动估计的准确性。
结合本申请第三方面,本申请第三方面的第四种实现方式中,编码器中的整数搜索模块,具体用于对所述待编码图像块中的每个预测单元PU在整数搜索范围内搜索代价最小的匹配点,所述搜索代价最小的匹配点即为整数搜索结果。
同理,根据代价值确定整数搜索匹配点的方式为运动估计提供了理论依据。
结合本申请第三方面至第三方面第四种实现方式中的任意一种实现方式,本申请第三方面的第五种实现方式中,上述代价值可以为率失真优化(Rate DistortionOptimized,RDO)、绝对误差(Sum of Absolute Difference,SAD)或变换后的绝对误差和(Sum of Absolute Transformed Difference,SATD)中的一种、多种或全部。
本申请中可通过多种方式确定代价值,在实际应用中可根据具体情况进行选择,体现了本方案的灵活性和实用性。
从以上技术方案可以看出,本申请具有以下优点:
本申请提供了一种运动搜索方法,视频编码器对于当前待编码图像块,在所述当前待编码图像块的第一参考帧和第二参考帧进行预搜索,确定第一参考帧的预搜索代价值和第二参考帧的预搜索代价值;对所述当前待编码图像块在所述第一参考帧和所述第二参考帧进行整数搜索,其中,所述第一参考帧中整数搜索范围覆盖的像素区域面积与所述第二参考帧中整数搜索范围覆盖的像素区域面积不同。本申请通过预搜索代价值的大小区分不同的参考帧,并根据实际情况对不同参考帧设定不同的整数搜索范围,从而节省不必要的搜索资源,有助于提高编码器的编码效率。
附图说明
图1为视频通信系统示意图;
图2为本申请实施例中的双参考帧示例图;
图3为现有技术的视频帧编码运动搜索流程图;
图4为本申请实施例中搜索过程的示意图;
图5为本申请实施例中整像素点进行分数插值的示意图;
图6为本申请实施例中运动搜索方法的一个实施例示意图;
图7为本申请实施例中运动搜索方法的另一实施例示意图;
图8为本申请实施例中运动搜索方法的另一实施例示意图;
图9为本申请实施例中图像编码器的结构示意图。
具体实施方式
本申请实施例中的运动搜索方法应用于多媒体信息的压缩编码过程,多媒体信息包括视频、静态图像、动态图像等。须知,为方便说明,本申请实施例中采用了H.264或H.265中的部分术语,如最大编码单元、宏块等。本领域技术人员可知,当编码采用其他标准时,本申请所记载的技术方案对于类似技术问题同样适用。本申请中以视频通信为例进行介绍,图1为典型的视频通信系统示意图,如图所示:发送端的发送装置中包括视频采集器、视频存储器、视频编码器和发送器,视频采集器将采集到的视频发送至视频编码器中进行图像信息的压缩编码,然后通过发送器发送出去,视频存储器可用于存储采集器采集到的近期视频。接收端的接收装置包括接收器、视频显示器和视频解码器,视频解码器对接收的数据进行解码恢复出图像,并将解码出来的图像显示在视频显示器上。本申请实施例中的运动估计方法主要应用于视频通信系统中的视频编码器,而运动估计是编码过程中占用计算资源的主要部分,面向快速进行运动估计算法的研究对于提高视频编码的整体速度起着重要的作用。
运动估计的基本思想是将图像序列的每一帧分成许多互不重叠的最大编码单元或宏块,然后对每个最大编码单元或宏块到参考帧某一特定搜索范围内根据一定的匹配准则找出与最大编码单元或宏块最相似的预测图像块,预测图像块与当前块即(最大编码单元或宏块)的相对位移即为运动矢量。视频压缩的时候,只需保存运动矢量和残差数据(预测图像块与当前块之间的差值)即可,在解码端按照运动矢量指明的位置,从邻近已解码的参考帧图像中找到相应的块或宏块,将预测图像块和残差数据相加后就得到了重构数据,因此通过运动估计可以降低帧间冗余度,使得视频传输的比特数减少。
需要说明的是,运动估计可应用于帧间预测,帧间预测是利用视频时间域的相关性,使用邻近已编码图像(即参考帧)像素,预测当前图像的像素,以达到有效去除视频冗余的目的。利用帧间预测技术进行编码的帧,被标记为P帧或B帧,如图2所示,B帧以I帧和P帧为参考帧进行编码压缩,B帧传送的是它与前面的I帧以及和后面的P帧之间的残差数据、运动矢量,接收端根据该残差数据和运动矢量可得到重构数据。
本申请实施例中是采用帧间预测的运动估计方式,通过运动搜索在两个参考帧上找出与原始帧中待编码图像块最为相似的预测图像块,将参考帧上确定的预测图像块与对应的待编码图像块之间的残差数据、运动矢量进行压缩编码。
现有技术的视频帧编码运动搜索流程图如图3所示,包括三个部分:预搜索、整数搜索和分数搜索,编码器根据原始帧中的待编码图像块在参考帧上经过这三个搜索阶段逐渐匹配以找到最相近的预测图像块,三个搜索阶段的搜索方式都可以采用全搜索法、邻接法或其它快速算法。具体地如图4所示,假设采用全搜索法进行预搜索,根据待编码图像块以预设的步长在一定的搜索范围内进行移动,每移动一次可计算得到候选点对应的预测图像块的代价值(可用图像块中某一个像素点来表征该图像块,该点在预测图像块中的相对位置与表征待编码图像块的点在待编码图像块中的相对位置是一致的,因此图像块的移动可以看成点的移动),然后选取代价值最小的点为最佳匹配点,最佳匹配点对应的预测图像块即为与待编码图像块最为匹配的图像块。虽然三个搜索阶段的搜索方式大同小异,但是搜索起始点和搜索范围不一样,按照预搜索、整数搜索、分数搜索的顺序,每一阶段确定的匹配点为下一阶段的搜索起始点。而搜索范围也是从大到小,搜索精度从粗到细,具体搜索范围的不同可参见如下具体步骤。
本申请实施例中以双参考帧进行运动估计为例说明运动估计的具体过程:
101、输入原始帧、第一参考帧和第二参考帧;
视频是由很多连续的静态图像组合起来的动态形式,快速流畅地播放这些静态图像可以形成一种动画的效果,每一幅静止的画面可看成是一帧,因此本申请实施例中的第一参考帧和第二参考帧具有播放时序,可设定播放时序在前的参考帧为第一参考帧,播放时序在后的参考帧为第二参考帧。
102、根据原始帧中的待编码图像块进行预搜索确定预搜索阶段的匹配点;
预搜索阶段,在两个参考帧上分别对当前待编码图像块进行预搜索(待编码图像块具体可以为最大编码单元(Largest Coding Unit,LCU)或宏块(Macro Block,MB)),分别在两个参考帧上确定出与当前待编码图像块匹配的搜索代价最小的匹配点,该匹配点即为预搜索阶段的匹配点,该匹配点对应的预测图像块为与上述待编码图像块最相近的图像块。
103、以上述预搜索阶段的匹配点为起始点根据待编码图像块中的预测单元(Prediction Unit,PU)确定整数搜索阶段的匹配点,该匹配点为整数搜索范围内候选点代价值最小的点;
整数搜索阶段:以步骤102中预搜索阶段的匹配点为起始点,在整数搜索范围内搜索出与当前待编码图像块中的PU匹配的搜索代价最小的匹配点,该点即为整数搜索的结果。
搜索的方式和预搜索的方式类似,具体此处不再赘述。其中,整数搜索范围为覆盖所有整像素点的范围,该范围可由用户进行设定,也可以是默认的正常搜索范围,例如起始点周围正负12个整像素点之内。
104、以整数搜索阶段的匹配点为起始点根据待编码图像块中的PU确定分数搜索阶段的匹配点,该匹配点是分数搜索范围覆盖的像素区域面积内候选点代价值最小的点;
分数搜索范围覆盖的像素点指的是分像素点,而分像素点是在整数搜索阶段得到的像素点及其周围预定范围内的整像素点之间进行分数插值得到的,如图5所示:图中大写的ABCDEFG表示的是整像素点,在相邻两个整像素点之间例如A和B之间进行分数插值,接着将A、B以及AB之间的a看成是分像素点,分数搜索即在覆盖所有分像素点的区域内进行移动搜索。
分数搜索阶段:以步骤103确定的匹配点为起始点,在分数搜索范围内根据待编码图像块中的PU进行搜索,确定出与当前待编码图像块的PU匹配的搜索代价最小的匹配点,该点即为分数搜索的结果,该点对应的预测图像块为与待编码图像块中PU最相接近的图像块。
运动估计过程中搜索匹配块需要花费大量的计算资源,特别是在分数搜索阶段,需要在整像素点的基础上进行分数插值得到分像素点,再进行分像素搜索。需要说明的是,在双参考帧的情况下,上述101至104的步骤需在两个参考帧上各执行一次,在该情况下计算资源消耗更多。
因此本申请实施例提供了一种视频帧编码中的运动搜索的方法,如图6所示:
201、输入原始帧、第一参考帧和第二参考帧;
202、预搜索:
2021、根据待编码图像块从第一参考帧中确定预搜索匹配点以及对应的第一参考帧的预搜索代价值;
步骤2021与步骤102类似,具体过程不再赘述。
2022、根据待编码图像块从第二参考帧中确定预搜索匹配点以及对应的第二参考帧的预搜索代价值;
同理,根据同一个待编码图像块在另一参考帧上进行预搜索确定搜索代价最小的匹配点并记录下对应的代价值。
203、根据第一参考帧的预搜索代价值和第二参考帧的预搜索代价值确定较大值对应的参考帧为较劣参考帧,较小值对应的参考帧为较优参考帧;
第一代价值表示的意义是从第一参考帧中搜索出与待编码图像块最相似的预测图像块所花费的代价,同理,第二代价值表示的意义是从第二参考帧中搜索出与待编码图像块最相似的预测图像块所花费的代价,代价值可以用率失真优化(Rate DistortionOptimized,RDO)、绝对误差(Sum of Absolute Difference,SAD)或变换后的绝对误差和(Sum of Absolute Transformed Difference,SATD)等其中的一种、多种或全部来表达。
将两个代价值相比较,确定较大值对应的参考帧为较劣参考帧,较小值对应的参考帧为较优参考帧。具体的,假设若第一参考帧的预搜索代价值大于或等于第二参考帧的预搜索代价值,则第一参考帧为较劣参考帧,第二参考帧为较优参考帧。反之,若第二参考帧的预搜索代价值大于或等于第一参考帧的预搜索代价值,则第一参考帧为较优参考帧,第二参考帧为较劣参考帧。
确定优劣参考帧的益处在于可对不同的参考帧根据实际情况进行不同程度的简化,适当降低搜索要求对于较劣参考帧来说,对编码性能造成的微小影响相比于带来的有益效果例如可降低整个运动估计的运算复杂度,大大提高运动估计的效率来说是在可接受的范围内。
204整数搜索:
2041、以较优帧上的预搜索匹配点为起始点在较优帧的整数搜索范围内确定出较优帧中的整数搜索匹配点;
较优帧为第一参考帧和第二参考帧中预搜索代价值较小的参考帧,以较优帧上的预搜索匹配点为起始点在整数搜索范围内进行整数搜索,通过整数搜索可得到多个候选点的代价值,选取代价值最小的候选点为整数搜索匹配点,该点对应的预测图像块为与原始帧中待编码图像块的PU最相似的图像块。
2042、根据待编码图像块中的PU和较优帧中整数搜索匹配点表征的预测图像块确定第一最优整数MV,第一最优整数MV为待编码图像块中的PU与较优帧中整数搜索匹配点表征的图像块之间的位移偏移量。
较优帧中整数搜索匹配点对应的图像块是较优参考帧上与待编码图像块中的PU最相近的预测匹配块,由于视频的动态性,该预测匹配块与PU之间可能会产生位移偏移,第一最优整数MV即为此时的位移偏移量,因此知道了该参数可帮助恢复图像块在当前帧中的位置。
2043、以较劣帧中的预搜索匹配点为起始点在较劣帧整数搜索范围内确定出较劣帧中的整数搜索匹配点,较劣帧的整数搜索范围覆盖的像素区域面积小于较优帧的整数搜索范围覆盖的像素区域面积;
以较劣帧上的预搜索匹配点为起始点在整数搜索范围内进行整数搜索,通过整数搜索得到多个候选点的代价值,选取代价值最小的候选点为整数搜索匹配点,该点对应的预测图像块为与原始帧待编码图像块中的PU最相似的图像块。
同理,确定较劣帧整数搜索匹配点的方法与确定较优帧整数搜索匹配点的方法类似,但是搜索范围略有不同,由于相比于较优帧来说较劣帧的参考价值较低,搜索范围的大小对于搜索的准确性影响较小,因此较劣帧的搜索范围小于较优帧搜索范围。
具体的,假设第一参考帧的预搜索代价值大于或等于第二参考帧的预搜索代价值,说明第一参考帧为较劣帧,因此第一参考帧的整数搜索范围覆盖的像素区域面积小于第二参考帧的整数搜索范围覆盖的像素区域面积。反之,假设,当第二参考帧的预搜索代价值大于第一参考帧的预搜索代价值时,说明第二参考帧为较劣帧,因此第二参考帧的整数搜索范围覆盖的像素区域面积小于第一参考帧的整数搜索范围覆盖的像素区域面。简而言之,较劣帧上的整数搜索范围小于较优帧上的整数搜索范围。
2044、根据待编码图像块中的PU和较劣帧整数搜索匹配点表征的预测图像块确定第二最优整数MV。
同理,步骤2044确定第二最优整数MV与步骤2042确定第一最优整数MV的步骤类似,具体此处不再赘述。
需要说明的是步骤2041(确定第一匹配点)、2042(计算第一最优整数MV)和步骤2043(确定第二匹配点)、2044(计算第二最优整数MV)之间,步骤不分先后顺序。
205分数搜索:
2051、根据待编码图像块中的PU通过分数搜索在分数搜索范围内确定出较优帧中的分数搜索匹配点;
在步骤2041确定较优帧中的整数搜索匹配点之后,以该匹配点为起始点在分数搜索范围内进行分数搜索,通过全搜索法、菱形搜索法等方法确定多个候选点,并确定搜索多个候选点时的代价值,将搜索代价值最小的点确定为较优帧中的分数搜索匹配点。
步骤205分数搜索比步骤204的整数搜索更为精细一些,整数搜索范围是整像素点级别的范围,例如起始点周边正负12个整像素点范围之内。而分数搜索范围是针对于分像素点的范围,例如在起始点的周边正负2个分像素点范围之内,而分像素点是在整像素点的基础上进行分数插值得到的,搜索精度更高。具体的插值过程如步骤104中所示,具体此处不再赘述。
搜索范围不同导致的搜索结果准确度也不相同:整数搜索阶段确定的起始点用于接下来的分数搜索,因此分数搜索匹配点对应的预测图像块相比于整数搜索匹配点对应的图像块来说,与原始帧中相应待编码图像块的相似度更高,如此递推的搜索方式可以大大提高搜索结果的准确性。
从上述过程可看出,分数搜索比整数搜索运算更为复杂,但是本申请实施例中对于参考价值较高的较优参考帧来说经历分数搜索是必要的。
2052、根据待编码图像块中的PU和较优帧中分数搜索匹配点表征的图像块确定第一最优分数MV。
待编码图像块中的PU与较优帧中分数搜索匹配点表征的图像块之间的位移偏移量即为分数搜索阶段的最优分数MV。
2053、对分数搜索匹配点进行运动补偿得到对应的预测图像块;
根据最优分数MV即待编码图像块中的PU与分数搜索匹配点表征的图像块之间的位移偏移量可确定分数搜索匹配点与预测图像块之间的相对位置,然后根据该分数搜索匹配点以及周围的像素点即可得到预测的图像块。
2054、将步骤2043获得的较劣帧中的整数搜索匹配点进行运动补偿得到对应的图像块;
对于较劣参考帧来说,不需要在分数搜索范围内进行分数搜索,因此也无需对整像素点进行分数插值得到分像素点,只需将较劣帧上的整数搜索匹配点进行运动补偿得到对应的图像块即可。
206、根据较优帧上的分数搜索匹配点对应的图像块与PU对应的图像块得到第一残差数据,根据较劣帧上整数搜索匹配点对应的图像块与PU对应的图像块得到第二残差数据。
207、根据第一最优整数MV、第二最优整数MV、第一最优分数MV、较优帧上分数搜索匹配点对应的图像块、较劣帧上整数搜索匹配点对应的图像块、第一残差数据和第二残差数据得到重构数据。
可根据本申请实施例中提供的简化运动搜索的方法得到与PU最相近的预测图像块,然后将原始帧中的PU和预测图像块之间的差值进行变换、量化处理,生成残差数据,该数据体现的是原始PU与预测图像块之间的变化,在接收端将预测匹配块的数据和残差数据相加后进行环路滤波处理就可得到重建像素。
本申请实施例通过对较劣帧的运动搜索包括整数搜索和分数搜索都进行了改进,简化了运动搜索的过程。
可选的,本申请实施例提供的运动搜索方法的又一实施例如图7所示:
301、输入输入原始帧和两个参考帧数据;
302、预搜索:
3021、根据原始帧中的待编码图像块从第一参考帧中确定预搜索匹配点以及对应的第一参考帧的预搜索代价值;
3022、根据待编码图像块从第二参考帧中确定预搜索匹配点以及对应的第二参考帧的预搜索代价值;
303、根据第一参考帧的预搜索代价值和第二参考帧的预搜索代价值确定较大值对应的参考帧为较劣参考帧,较小值对应的参考帧为较优参考帧;
304整数搜索:
3041、以较优帧上的预搜索匹配点为起始点在较优整数搜索内确定出较优参考帧中的整数搜索匹配点;
3042、根据待编码图像块中的PU和较优帧中整数搜索匹配点表征的图像块确定第一最优整数MV;
3043、以较劣帧中的预搜索内确定出较劣帧中的整数搜索匹配点,较劣帧的整数搜索范围覆盖的像素区域面积小于较优帧的整数搜索范围覆盖的像素区域面积;
3044、根据待编码图像块中的PU和较劣帧中的整数搜索匹配点表征的预测图像块确定第二最优整数MV。
305分数搜索:
3051、根据待编码图像块中的PU通过分数搜索在分数搜索范围内确定出较优帧中的分数搜索匹配点;
3052、根据待编码图像块中的PU和较优帧中分数搜索匹配点表征的图像块确定第一最优分数MV。
3053、对较优帧中的分数搜索匹配点进行运动补偿得到对应的预测图像块;
3054、根据待编码图像块中的PU通过分数搜索在分数搜索范围内确定出较劣帧中的分数搜索匹配点;
3055、根据第一最大编码单元中的PU和较劣帧中分数搜索匹配点表征的图像块确定第二最优分数运动矢量;
3056、对较劣帧中的分数搜索匹配点进行运动补偿得到对应的预测图像块;
步骤3054、3055和3056不同于上个实施例步骤2043(直接对较劣帧上的整数搜索匹配点进行运动补偿得到对应的图像块)。本申请实施例中:步骤3043确定出较劣帧中的整数搜索匹配点之后,以该匹配点为起始点,根据待编码图像块中的PU进行分数搜索以确定较劣帧中的分数搜索匹配点,并根据待编码图像块中的PU和该匹配点表征的预测图像块确定第二最优分数MV。
306、根据较优帧中的分数搜索匹配点对应的图像块与PU对应的图像块得到第一残差数据,根据较劣帧中的分数搜索匹配点对应的图像块与PU对应的图像块得到第二残差数据。
307、根据第一最优整数MV、第二最优整数MV、第一最优分数MV、第二最优分数MV、较优帧中的分数搜索匹配点对应的图像块、较劣帧中的分数搜索匹配点对应的图像块、第一残差数据和第二残差数据得到重构数据。
本申请实施例在确定参考帧的优劣之后,对较优参考帧在正常的整数搜索范围内进行整数搜索,并以整数搜索阶段确定的整数搜索匹配点为起始点进行分数插值以及分像素搜索等步骤得到分数搜索匹配点,对较劣参考帧在整数搜索阶段缩小搜索范围,并继续以整数搜索阶段确定的整数搜索匹配点为起始点进行分数搜索。本申请实施例通过缩小较劣帧整数搜索范围的方式达到降低整数搜索的运算复杂度的目的,间接提高了整个运动估计的效率。
可选的,本申请实施例提供的运动搜索方法的又一实施例如图8所示:
401、输入原始帧和两个参考帧数据;
402、预搜索:
4021、根据原始帧中的待编码图像块从第一参考帧中确定预搜索匹配点以及对应的第一参考帧的预搜索代价值;
4022、根据待编码图像块从第二参考帧中确定预搜索匹配点以及对应的第二参考帧的预搜索代价值;
403、根据第一参考帧的预搜索代价值和第二参考帧的预搜索代价值确定较大值对应的参考帧为较劣参考帧,较小值对应的参考帧为较优参考帧;
404整数搜索:
4041、以较优帧上的预搜索匹配点为起始点在较优帧整数搜索范围内确定出较优参考帧中的整数搜索匹配点;
4042、根据待编码图像块中的PU和较优帧中整数搜索匹配点表征的图像块确定第一最优整数MV;
401至4052之间的步骤与201至2052之间的步骤类似,具体此处不再赘述。
4043、以较劣帧中的预搜索匹配点为起始点在较劣帧整数搜索范围内确定出较劣参考帧中的整数搜索匹配点,所述较优帧的整数搜索范围覆盖的像素区域面积和较劣帧整数搜索范围覆盖的像素区域面积相同;
本申请提供的应用于视频编码的运动搜索方法中,以较劣帧上的预搜索匹配点为起始点在较劣帧上进行整数搜索时,搜索范围可小于较优帧的整数搜索范围(具体参见第二个实施例中的步骤3043),除此之外,较劣帧的整数搜索范围还可以与较优帧上的搜索范围相同(如本实施例中的步骤4043);
4044、根据待编码图像块中的PU和较劣帧整数搜索匹配点表征的图像块确定第二最优整数MV;
405分数搜索:
4051、根据待编码图像块中的PU通过分数搜索在分数搜索范围内确定出较优帧中的分数搜索匹配点;
4052、根据待编码图像块中的PU和较优帧中分数搜索匹配点表征的图像块确定第一最优分数MV。
4053、对较优帧中的分数搜索匹配点进行运动补偿得到对应的预测图像块;
4051至4053之间的步骤与2051至2053之间的步骤类似,具体此处不再赘述。
4054、将步骤4043获得的较劣帧中的整数搜索匹配点进行运动补偿得到对应的图像块;
本申请实施例从较劣帧中得到较劣帧中的整数搜索匹配点之后,可继续对该匹配点进行分数搜索(如第二个实施例中的步骤3053至307),还可直接对该匹配点进行运动补偿得到对应的图像块。
406、根据较优帧上的分数搜索匹配点对应的图像块与PU对应的图像块得到第一残差数据,根据较劣帧上的整数搜索匹配点对应的图像块与PU对应的图像块得到第二残差数据;
407、根据第一最优整数MV、第二最优整数MV、第一最优分数MV、较优帧上的分数搜索匹配点对应的图像块、较劣帧上的整数搜索匹配点对应的图像块、第一残差数据和第二残差数据得到重构数据。
本申请实施例对于较劣帧以正常的整数搜索范围进行整数搜索,在分数搜索阶段直接对整数搜索得到的较劣帧中的整数搜索匹配点进行运动补偿得到对应的图像块,省略了分数插值和分数搜索的步骤,降低了运算的复杂度,节省了计算资源。
本申请实施例还提供了一种图像编码器,请参阅图9,本申请实施例中图像编码器50包括:
预搜索模块501,用于对当前待编码图像块在第一参考帧和第二参考帧进行预搜索,确定第一参考帧的预搜索代价值和第二参考帧的预搜索代价值;
整数搜索模块502,用于对当前待编码图像块在第一参考帧和第二参考帧进行整数搜索,其中,第一参考帧的整数搜索范围覆盖的像素区域面积与第二参考帧的整数搜索范围覆盖的像素区域面积不同。
分数搜索模块503,用于在当第一参考帧的预搜索代价值大于或等于第二参考帧的预搜索代价值时,只对当前待编码图像块在第二参考帧进行分数搜索;当第一参考帧的预搜索代价值小于第二参考帧的预搜索代价值时,只对当前待编码图像块在第一参考帧进行分数搜索。
需要具体说明的是,第一参考帧的整数搜索范围覆盖的像素区域面积与第二参考帧的整数搜索范围覆盖的像素区域面积不同,具体为:
当第一参考帧的预搜索代价值大于或等于第二参考帧的预搜索代价值时,第一参考帧的整数搜索范围覆盖的像素区域面积小于第二参考帧的整数搜索范围覆盖的像素区域面积;
当第二参考帧的预搜索代价值大于第一参考帧的预搜索代价值时,第二参考帧的整数搜索范围覆盖的像素区域面积小于第一参考帧的整数搜索范围覆盖的像素区域面积。
进一步地,本申请实施例中的预搜索模块501,具体可用于根据所述当前待编码帧图像块,在所述第一参考帧和第二参考帧中分别搜索在本参考帧中与所述当前待编码帧图像块匹配的搜索代价最小的匹配点,所述搜索代价最小的匹配点即为本参考帧的预搜索结果,所述预搜索结果对应的搜索代价为本参考帧的预搜索代价值。
进一步地,本申请实施例中的整数搜索模块502,具体可用于对所述待编码图像块中的每个预测单元PU在整数搜索范围内搜索代价最小的匹配点,所述搜索代价最小的匹配点即为整数搜索结果。
本申请实施例中所提及的代价值可以为率失真优化(Rate DistortionOptimized,RDO)、绝对误差(Sum of Absolute Difference,SAD)或变换后的绝对误差和(Sum of Absolute Transformed Difference,SATD)中的一种、多种或全部。
本申请中:在整数搜索模块302对于预搜索代价值较大的较劣参考帧,可缩小整数搜索范围覆盖的像素区域面积,并且分数搜索模块直接对整数搜索模块获得的较劣帧中的整数搜索匹配点进行运动补偿,省略分数插值和分像素搜索的步骤,而较优帧中的分数搜索需经过完整的分数插值和分像素搜索的步骤,此种分配资源的方式合理且高效,能够使得资源效应最大化,大大提高了运动估计的效率。
此外,本申请实施例中的预搜索模块、整数搜索模块、分数搜索模块还可具体执行上述实施例中提及到的相应模块对应的所有步骤。可以理解的是,每个模块执行的动作包括但不限于本申请实施例中的步骤,还可以包括其他对相应模块来说所必须执行的步骤。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(Digital Subscriber Line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (20)

1.一种应用于视频帧编码的运动搜索方法,其特征在于,所述方法包括:
对于当前待编码图像块,在所述当前待编码图像块的第一参考帧和第二参考帧进行预搜索,确定第一参考帧的预搜索代价值和第二参考帧的预搜索代价值;
对所述当前待编码图像块在所述第一参考帧和所述第二参考帧进行整数搜索,其中,所述第一参考帧中整数搜索范围覆盖的像素区域面积与所述第二参考帧中整数搜索范围覆盖的像素区域面积不同。
2.根据权利要求1所述的运动搜索方法,其特征在于,当所述第一参考帧的预搜索代价值大于或等于所述第二参考帧的预搜索代价值时,所述第一参考帧的整数搜索范围覆盖的像素区域面积小于所述第二参考帧的整数搜索范围覆盖的像素区域面积。
3.根据权利要求1所述的运动搜索方法,其特征在于,当所述第二参考帧的预搜索代价值大于所述第一参考帧的预搜索代价值时,所述第二参考帧的整数搜索范围覆盖的像素区域面积小于所述第一参考帧的整数搜索范围覆盖的像素区域面积。
4.根据权利要求2所述的运动搜索方法,其特征在于,所述方法还包括:
在对所述第二参考帧进行了整数搜索之后,对所述当前待编码图像块在所述第二参考帧进行分数搜索。
5.根据权利要求3所述的运动搜索方法,其特征在于,所述方法还包括:
在对所述第一参考帧进行了整数搜索之后,对所述当前待编码图像块在所述第一参考帧进行分数搜索。
6.如权利要求1-5中任意一项所述的运动搜索方法,其特征在于,所述在所述当前待编码图像块的第一参考帧和第二参考帧进行预搜索,确定第一参考帧的预搜索代价值和第二参考帧的预搜索代价值具体为:
根据所述当前待编码图像块,在所述第一参考帧和第二参考帧中分别搜索在本参考帧中与所述当前待编码图像块匹配的搜索代价最小的匹配点,所述搜索代价最小的匹配点即为本参考帧的预搜索结果,所述预搜索结果对应的搜索代价为本参考帧的预搜索代价值。
7.如权利要求1-6中任意一项所述的运动搜索方法,其特征在于,所述在所述第一参考帧和所述第二参考帧进行整数搜索具体为:
对所述待编码图像块中的每个预测单元(Prediction Unit,PU)在整数搜索范围内搜索代价最小的匹配点,所述搜索代价最小的匹配点即为整数搜索结果。
8.如权利要求4或5所述的运动搜索方法,其特征在于,所述分数搜索具体为:
对整数搜索结果的像素点及其周围预定范围内的整像素点进行分数插值得到分像素点,在分像素域内进行搜索。
9.如权利要求1-8中任意一项所述的运动搜索方法,其特征在于,所述代价值可以为率失真优化(Rate Distortion Optimized,RDO)、绝对误差(Sum of Absolute Difference,SAD)或变换后的绝对误差和(Sum of Absolute Transformed Difference,SATD)中的一种、多种或全部。
10.一种应用于视频帧编码的运动搜索方法,其特征在于,所述方法包括:
对于当前待编码图像块,在所述当前待编码图像块的第一参考帧和第二参考帧进行预搜索,确定第一参考帧的预搜索代价值和第二参考帧的预搜索代价值;
当所述第一参考帧的预搜索代价值大于或等于所述第二参考帧的预搜索代价值时,对所述当前待编码图像块在所述第一参考帧进行整数搜索,并对整数搜索结果进行运动补偿,对所述当前待编码图像块在所述第二参考帧进行整数搜索,在整数搜索之后进行分数搜索,并对分数搜索结果进行运动补偿;
当所述第二参考帧的预搜索代价值大于所述第一参考帧的预搜索代价值时,对所述当前待编码图像块在所述第二参考帧进行整数搜索,并对整数搜索结果进行运动补偿,对所述当前待编码图像块在所述第一参考帧进行整数搜索,在整数搜索之后进行分数搜索,并对分数搜索结果进行运动补偿。
11.如权利要求10所述的运动搜索方法,其特征在于,所述在所述当前待编码图像块的第一参考帧和第二参考帧进行预搜索,确定第一参考帧的预搜索代价值和第二参考帧的预搜索代价值具体为:
根据所述当前待编码帧图像块,在所述第一参考帧和第二参考帧中分别搜索在本参考帧中与所述当前待编码帧图像块匹配的搜索代价最小的匹配点,所述搜索代价最小的匹配点即为本参考帧的预搜索结果,所述预搜索结果对应的搜索代价为本参考帧的预搜索代价值。
12.如权利要求10或11所述的运动搜索方法,其特征在于,所述在所述第一参考帧和所述第二参考帧进行整数搜索具体为:
对所述待编码图像块中的每个预测单元PU在整数搜索范围内搜索代价最小的匹配点,所述搜索代价最小的匹配点即为整数搜索结果。
13.如权利要求10-12中任意一项所述的运动搜索方法,其特征在于,所述分数搜索具体为:
对整数搜索结果的像素点及其周围预定范围内的整像素点进行分数插值得到分像素点,在分像素域内进行搜索。
14.如权利要求10-13中任意一项所述的运动搜索方法,其特征在于,所述代价值可以为率失真优化(Rate Distortion Optimized,RDO)、绝对误差(Sum of AbsoluteDifference,SAD)或变换后的绝对误差和(Sum of Absolute Transformed Difference,SATD)中的一种、多种或全部。
15.一种图像编码器,其特征在于,所述编码器包括:
预搜索模块,用于对当前待编码图像块在第一参考帧和第二参考帧进行预搜索,确定第一参考帧的预搜索代价值和第二参考帧的预搜索代价值;
整数搜索模块,用于对所述当前待编码图像块在所述第一参考帧和所述第二参考帧进行整数搜索,其中,所述第一参考帧的整数搜索范围覆盖的像素区域面积与所述第二参考帧的整数搜索范围覆盖的像素区域面积不同。
16.如权利要求15所述的图像编码器,其特征在于,所述第一参考帧的整数搜索范围覆盖的像素区域面积与所述第二参考帧的整数搜索范围覆盖的像素区域面积不同具体为:
当所述第一参考帧的预搜索代价值大于或等于所述第二参考帧的预搜索代价值时,所述第一参考帧的整数搜索范围覆盖的像素区域面积小于所述第二参考帧的整数搜索范围覆盖的像素区域面积;
当所述第二参考帧的预搜索代价值大于所述第一参考帧的预搜索代价值时,所述第二参考帧的整数搜索范围覆盖的像素区域面积小于所述第一参考帧的整数搜索范围覆盖的像素区域面积。
17.如权利要求16所述的图像编码器,其特征在于,所述编码器还包括:
分数搜索模块,用于在当所述第一参考帧的预搜索代价值大于或等于所述第二参考帧的预搜索代价值时,只对所述当前待编码图像块在所述第二参考帧进行分数搜索;当所述第一参考帧的预搜索代价值小于所述第二参考帧的预搜索代价值时,只对所述当前待编码图像块在所述第一参考帧进行分数搜索。
18.如权利要求15所述的图像编码器,其特征在于,所述编码器包括:
所述预搜索模块,具体用于根据所述当前待编码帧图像块,在所述第一参考帧和第二参考帧中分别搜索在本参考帧中与所述当前待编码帧图像块匹配的搜索代价最小的匹配点,所述搜索代价最小的匹配点即为本参考帧的预搜索结果,所述预搜索结果对应的搜索代价为本参考帧的预搜索代价值。
19.如权利要求15所述的图像编码器,其特征在于,所述编码器包括:
所述整数搜索模块,具体用于对所述待编码图像块中的每个预测单元PU在整数搜索范围内搜索代价最小的匹配点,所述搜索代价最小的匹配点即为整数搜索结果。
20.如权利要求15-19中任意一项所述的图像编码器,其特征在于,所述代价值可以为率失真优化(Rate Distortion Optimized,RDO)、绝对误差(Sum of AbsoluteDifference,SAD)或变换后的绝对误差和(Sum of Absolute Transformed Difference,SATD)中的一种、多种或全部。
CN201810583364.5A 2018-06-04 2018-06-04 一种视频帧编码运动搜索方法及图像编码器 Active CN110557642B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810583364.5A CN110557642B (zh) 2018-06-04 2018-06-04 一种视频帧编码运动搜索方法及图像编码器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810583364.5A CN110557642B (zh) 2018-06-04 2018-06-04 一种视频帧编码运动搜索方法及图像编码器

Publications (2)

Publication Number Publication Date
CN110557642A true CN110557642A (zh) 2019-12-10
CN110557642B CN110557642B (zh) 2023-05-12

Family

ID=68736117

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810583364.5A Active CN110557642B (zh) 2018-06-04 2018-06-04 一种视频帧编码运动搜索方法及图像编码器

Country Status (1)

Country Link
CN (1) CN110557642B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111510727A (zh) * 2020-04-14 2020-08-07 腾讯科技(深圳)有限公司 一种运动估计方法及装置
CN116208775A (zh) * 2023-03-03 2023-06-02 格兰菲智能科技有限公司 运动估计方法、装置、计算机设备和硬件编码器

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08223578A (ja) * 1995-02-13 1996-08-30 Nippon Telegr & Teleph Corp <Ntt> 動きベクトル探索方法および装置
CN101547354A (zh) * 2008-03-26 2009-09-30 联发科技股份有限公司 实现运动估计的视频编码器与其运动估计方法
CN102497558A (zh) * 2004-06-27 2012-06-13 苹果公司 编码和解码图像
CN103327340A (zh) * 2013-06-20 2013-09-25 华为技术有限公司 一种整数搜索方法及装置
KR20140050775A (ko) * 2012-10-19 2014-04-30 한양대학교 산학협력단 적응적 탐색 범위를 이용한 움직임 예측 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08223578A (ja) * 1995-02-13 1996-08-30 Nippon Telegr & Teleph Corp <Ntt> 動きベクトル探索方法および装置
CN102497558A (zh) * 2004-06-27 2012-06-13 苹果公司 编码和解码图像
CN101547354A (zh) * 2008-03-26 2009-09-30 联发科技股份有限公司 实现运动估计的视频编码器与其运动估计方法
KR20140050775A (ko) * 2012-10-19 2014-04-30 한양대학교 산학협력단 적응적 탐색 범위를 이용한 움직임 예측 방법
CN103327340A (zh) * 2013-06-20 2013-09-25 华为技术有限公司 一种整数搜索方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ZHANG, NA: "Planar Motion Vector Prediction", 《JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11 10TH MEETING: SAN DIEGO, US, 10–20 APR. 2018 DOCUMENT: JVET-J0061-V2》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111510727A (zh) * 2020-04-14 2020-08-07 腾讯科技(深圳)有限公司 一种运动估计方法及装置
CN116208775A (zh) * 2023-03-03 2023-06-02 格兰菲智能科技有限公司 运动估计方法、装置、计算机设备和硬件编码器

Also Published As

Publication number Publication date
CN110557642B (zh) 2023-05-12

Similar Documents

Publication Publication Date Title
US11070813B2 (en) Global motion estimation and modeling for accurate global motion compensation for efficient video processing or coding
US7580456B2 (en) Prediction-based directional fractional pixel motion estimation for video coding
US8705611B2 (en) Image prediction encoding device, image prediction encoding method, image prediction encoding program, image prediction decoding device, image prediction decoding method, and image prediction decoding program
RU2577181C2 (ru) Способ и устройство для кодирования видеосигналов
CN109218733B (zh) 一种确定预测运动矢量预测的方法以及相关设备
KR102070719B1 (ko) 인터 예측 방법 및 그 장치
CN106576172A (zh) 用于编码/解码图像的方法和使用该方法的装置
JP2008523724A (ja) 動画像符号化のための動き推定技術
KR20110027480A (ko) 움직임 벡터 부호화/복호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
Abou-Elailah et al. Fusion of global and local motion estimation for distributed video coding
US6317460B1 (en) Motion vector generation by temporal interpolation
KR20190015218A (ko) 비디오 코딩을 위해 이웃 블록 패턴을 이용하는 모션 추정 방법 및 시스템
CN110741641A (zh) 用于视频压缩的翘曲参考运动矢量
KR101425286B1 (ko) 모션 추정을 위한 완전한 서브 매크로블록 형상 후보 저장 및 복구 프로토콜
JP2006059341A (ja) 差分絶対値の和を計算するための回路
CN110557642B (zh) 一种视频帧编码运动搜索方法及图像编码器
JP3823370B2 (ja) 動画像符号化方法、復号方法及びその装置
WO2019150411A1 (ja) 映像符号化装置、映像符号化方法、映像復号装置、映像復号方法、及び映像符号化システム
JP5566406B2 (ja) 画像データのブロックを予測する方法、当該方法を実現する復号化及び符号化装置
Lim et al. Fast hierarchical block matching algorithm utilizing spatial motion vector correlation
CN114040209A (zh) 运动估计方法、装置、电子设备及存储介质
CN111586415B (zh) 视频编码方法、装置、编码器及存储装置
CN100584010C (zh) 功率最佳化的共位运动估测方法
WO2020129681A1 (ja) 符号化装置及びプログラム
US20050111553A1 (en) Fast half-pel searching method on the basis of SAD values according to integer-pel search and random variable corresponding to each macro block

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