CN109587501A - 进行运动估计的方法、装置及存储介质 - Google Patents
进行运动估计的方法、装置及存储介质 Download PDFInfo
- Publication number
- CN109587501A CN109587501A CN201710894492.7A CN201710894492A CN109587501A CN 109587501 A CN109587501 A CN 109587501A CN 201710894492 A CN201710894492 A CN 201710894492A CN 109587501 A CN109587501 A CN 109587501A
- Authority
- CN
- China
- Prior art keywords
- target
- amvp
- estimation
- list
- pixel motion
- 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
Links
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/513—Processing of motion vectors
- H04N19/517—Processing of motion vectors by encoding
- H04N19/52—Processing of motion vectors by encoding by predictive encoding
-
- 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/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- 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/523—Motion estimation or motion compensation with sub-pixel accuracy
-
- 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/56—Motion estimation with initialisation of the vector search, e.g. estimating a good candidate to initiate a search
-
- 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/563—Motion estimation with padding, i.e. with filling of non-object values in an arbitrarily shaped picture block or region for estimation purposes
-
- 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/567—Motion estimation based on rate distortion criteria
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明公开了一种进行运动估计的方法、装置及存储介质,属于互联网技术领域。所述方法包括:获取AMVP的目标MV和AMVP的最小RDcost值;将以AMVP的目标MV在参考帧中的映射点为初选点进行IME得到的IME的目标MV放大到四分之一像素精度,得到QME的参考目标MV;当AMVP的目标MV和QME的参考目标MV相同时,将AMVP的目标MV和AMVP的最小RDcost值确定为最终结果。本发明通过计算候选MV列表中每个MV的RDcost,获取AMVP的目标MV,通过将IME的目标MV放大到四分之一精度,获取QME的参考目标MV,当AMVP的目标MV与QME的参考目标MV相同时,无需进行HME和QME,直接将AMVP的目标MV和AMVP的最小RDcost值作为最终结果,从而减小了进行HME和QME计算的计算量,缩短了运动估计过程的时长,同时降低了资源消耗。
Description
技术领域
本发明涉及互联网技术领域,特别涉及一种进行运动估计的方法、装置及存储介质。
背景技术
运动估计为视频编码中最重要的组成部分,是指将每帧图像分割成至少一个互不重叠的宏块,并按照指定搜索算法在参考帧的指定区域内搜索出与每个宏块最相似的匹配块的过程。通过进行运动估计不仅能够降低视频编码过程的复杂度,而且能够减少视频传输过程的比特数,因而在视频编码过程中需要进行运动估计。
相关技术在进行运动估计时,主要采用如下方法:采用AMVP(Advanced MotionVector Prediction,高级运动向量预测)方法,利用空域运动向量和时域运动向量的相关性,为当前PU(Predicting Unit,预测单元)(PU即宏块)建立候选MV(Motion Vector,运动向量)列表;采用SAD(Sum of Absolute Differences,绝对误差和)方法,计算候选MV列表中每个MV的RDcost(Rate Distortioncost,率失真代价),得到至少一个RDcost值;从至少一个RDcost值中,获取最小的RDcost值,并将最小的RDcost值对应的MV作为AMVP的目标MV;以AMVP的目标MV在参考帧中的映射点为初选点进行IME(Integer Motion Estimation,整像素运动估计),并从计算结果中获取IME的目标MV;以IME的目标MV在参考帧中的映射点为初选点进行HME(Half Motion Estimation,二分之一像素运动估计),并从计算结果中获取HME的目标MV;以HME的目标MV在参考帧中的映射点为初选点进行QME(Quarter MotionEstimation,四分之一像素运动估计),并从计算结果中获取QME的目标MV和QME的最小RDcost值,将该QME的目标MV和QME的最小RDcost值确定为运动估计过程的最终结果。
然而,进行二分之一像素运动估计和四分之一像素运动估计的计算量较大,导致运动估计过程时间较长,资源消耗较大。
发明内容
为了解决相关技术的问题,本发明实施例提供了一种进行运动估计的方法、装置及存储介质。所述技术方案如下:
第一方面,提供了一种进行运动估计的方法,所述方法包括:
对于待编码图像中任一预测单元PU,基于高级向量预测AMVP为所述PU构建候选运动向量MV列表,所述候选MV列表包括所述PU的至少一个MV;
计算所述候选MV列表中每个MV的率失真代价RDcost,并从计算结果中获取AMVP的目标MV和AMVP的最小RDcost值;
以所述AMVP的目标MV在参考帧中的映射点为初选点进行整像素运动估计IME,并从计算结果中获取整像素运动估计的目标MV;
将所述整像素运动估计的目标MV放大到四分之一像素精度,得到四分之一像素运动估计的参考目标MV;
当所述AMVP的目标MV和所述四分之一像素运动估计的参考目标MV相同时,将所述AMVP的目标MV和所述AMVP的最小RDcost值确定为运动估计过程的最终结果;
其中,每种目标MV为每种运动估计的最小RDcost值对应的MV。
第二方面,提供了一种进行运动估计的装置,所述装置包括:
列表构建模块,用于对于待编码图像中任一预测单元PU,基于高级向量预测AMVP为所述PU构建候选运动向量MV列表,所述候选MV列表包括所述PU的至少一个MV;
计算模块,用于计算所述候选MV列表中每个MV的率失真代价RDcost;
获取模块,用于从计算结果中获取AMVP的目标MV和AMVP的最小RDcost值;
所述计算模块,用于以所述AMVP的目标MV在参考帧中的映射点为初选点进行整像素运动估计IME;
所述获取模块,用于从计算结果中获取整像素运动估计的目标MV;
精度放大模块,用于将所述整像素运动估计的目标MV放大到四分之一像素精度,得到四分之一像素运动估计的参考目标MV;
确定模块,用于当所述AMVP的目标MV和所述四分之一像素运动估计的参考目标MV相同时,将所述AMVP的目标MV和所述AMVP的最小RDcost值确定为运动估计过程的最终结果;
其中,每种目标MV为每种运动估计的最小RDcost值对应的MV。
第三方面,提供了一种用于进行运动估计的设备,所述设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或所述指令集由所述处理器加载并执行以实现第一方面所述的进行运动估计的方法。
第四方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或所述指令集由处理器加载并执行以实现第一方面所述的进行运动估计的方法。
本发明实施例提供的技术方案带来的有益效果是:
通过计算候选MV列表中每个MV的RDcost,获取AMVP的目标MV,通过将整像素运动估计的目标MV放大到四分之一精度,获取四分之一像素运动估计的参考目标MV,当AMVP的目标MV与四分之一像素运动估计的参考目标MV相同时,无需进行HME和QME,直接将AMVP的目标MV和AMVP的最小RDcost值作为最终结果,从而减小了进行HME和QME计算的计算量,缩短了运动估计过程的时长,同时降低了资源消耗。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例提供的HMVE编码框架图;
图2是本发明另一个实施例提供的一种进行运动估计的方法流程图;
图3(A)是本发明另一个实施例提供的一种空域运动向量的构造过程示意图;
图3(B)是本发明另一个实施例提供的一种时域运动向量的构造过程示意图;
图3(C)是本发明另一个实施例提供的基于AMVP构建候选MV列表的示意图;
图4是本发明另一个实施例提供的进行运动估计的过程示意图;
图5是本发明另一个实施例提供的视频编解码过程的示意图;
图6是本发明另一个实施例提供的一种进行运动估计的装置结构示意图;
图7示出了本发明实施例所涉及的进行运动估计的终端的结构示意图;
图8是根据一示例性实施例示出的一种用于进行运动估计的服务器。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
随着互联网技术、数字通信技术等各种数字化技术的发展,信息技术遍布生活中的方方面面,逐渐改变用户的生活方式和工作方式。为了满足家庭影院、远程监控、数字广播、移动流媒体、便携摄像和医学成像等领域的需求,高清晰度、高压缩率及高帧率成为了视频编码未来的发展趋势。由于现有的H.264视频编码技术方式本身存在一定的局限性,无法满足未来视频编码的需求,因而HEVC(High Efficiency Video Coding,高效率视频编码)视频编码技术应用而生。
HEVC也称为H.265视频编码技术,与传统的H.264视频编码技术相比,具有如下优点:
(1)、高压缩率,压缩率提高了50%,这意味着相同的画面质量只需要一半的比特率。
(2)、高帧率,在实时编码上相同的画面质量减少35%的宽带损耗。
(3)、高清晰度,支持更大的视频分辨率,包括2K和4K等。
(4)、低成本,可在低比特率上传输标准清晰度和高清晰度的视频数据。
图1示出了HEVC的编码框架,参见图1,HEVC编码过程如下:
第一步,对于任一帧待编码图像,将该待编码图像分割为至少一个互不重叠的PU;
第二步,将该待编码图像输入到编码器中进行编码预测,该过程主要利用视频数据的空间相关性和时间相关性,采用帧内预测或帧间预测去除每个PU的时空域冗余信息,得到每个PU在参考帧中的预测图像块。
第三步,将预测图像块和原始PU作差,得到预测残差块,并对预测残差块分别进行DTC(Discrete Cosine Transform,离散余弦变换)变换和量化处理,得到量化的DTC系数。
其中,DTC是一种与傅里叶变换紧密相关的数学运算,在傅里叶级数展开式中,如果被展开的函数为实偶函数,则其傅里叶级数中只包含余弦项,在将其离散化后可得到余弦变换,该过程即为离散余弦变换。量化处理为数字信号处理领域一种常用的技术,是指将信号的连续取值(或者大量可能的离散取值)近似为有限多个(或较少的)离散值的过程。量化处理主要应用于从连续信号到数字信号的转换中,连续信号经过采样成为离散信号,离散信号经过量化即成为数字信号。
第四步,将量化的DTC系数进行熵编码,得到压缩码率并输出。
第五步,将量化的DTC系数进行反量化处理和反DTC变换,得到重构图像的残差块,进而将重构图像的残差块与帧内或帧间的预测图像块相加,得到重构图像。
第六步,将重构图像经过DB(Deblocking Filter,去块滤波)和SAO(SampleAdaptive Offset,自适应像素补偿)处理后,加入到参考帧队列中,并作为下一帧待编码图像的参考图像。通过循环执行上述第一步至第六步使得视频图像能够一帧帧地向后编码。
其中,去块滤波的主要作用是增强图像的边界,降低图像边界不连续性。自适应像素补偿主要用于对经过区块滤波处理后的图像进行局部信息补偿,以减少源图像和重构图像之间的失真。
运动估计
考虑到现实生活中物体运动是连续的,一个连续的视频序列中前后两帧视频图像之间的差异比较小,可能只是物体的相对位置发生了变化,或者这两帧图像在边界上发生了变化。对于视频编码器而言,如果对整个视频图像进行编码,则会造成很大的码流浪费,如果只根据两幅图像的差异和参考帧进行编码,则可大大减低码流浪费。
运动估计的基本思想是将图像序列的每一帧分割成许多互不重叠的宏块,并设定宏块内所有像素的位移量都相同,然后对每个宏块按照指定搜索算法和指定匹配准则在参考帧的指定区域内搜索出与每个宏块最相似的匹配块,该匹配块与当前块的相对位移即为运动向量。在进行视频压缩时,只需存储运动向量、残差块及参考帧就可以恢复出当前块。通过运动估计可以去除帧间冗余度,使得视频传输的比特数大为减少。其中,指定搜索算法包括全局搜索算法、分数精度搜索算法、快速搜索算法、分级数搜索算法、混合搜索算法等。指定匹配准则包括MAD(Mean Absolute Difference,平均绝对值差)、MSE(Mean SquaredError,平均平方误差)等。
由于采用HEVC进行视频编码时,对待编码图像的分割精度更为细致,分割方向也更多,因而编码过程中计算量更大,如果要实现高压缩性能,则需要对编码器进行优化。根据实验数据可知,目前帧间预测和编码部分的计算量相对较大,大约占整个视频编码过程计算量的90%;帧内预测和编码部分的计算量相对较小,大约占整个视频编码过程计算量的8%左右;区块滤波和自适应像素补偿部分的计算量相对最小,大约占整个视频编码过程计算量的1%左右。对于帧间预测来说,运动估计的计算量所占的比重比较大,大约占整个视频编码过程计算量的30%~40%。随着其他部分性能的优化,运动估计的计算量所占的比重将越来越大。由于在视频编码过程中如何进行运动估计,直接影响着视频编码过程的计算量,因此,亟需一种新的运动估计的方法,以降低运动估计过程的计算量,缩短视频编码时间,提高视频编码效率。
为了降低运动估计过程的计算量,缩短视频编码时间,提高视频编码效率,本发明实施例提供了一种进行运动估计的方法,该方法可以应用于具有视频编码功能的终端中,也可以应用于具有视频编码功能的服务器中。以终端执行本发明实施例为例,参见图2,本发明实施例提供的方法流程包括:
201、对于待编码图像中任一PU,终端为该PU构建候选MV列表。
在视频编码过程中,对于任一待编码图像,终端可按照预设格式将该待编码图像分割成至少一个相互独立的宏块(PU)。该预设格式由终端设置,可以为4*4、8*8、16*16等。对于每个PU,终端可为该PU构建一个候选MV列表,该候选MV列表中包括当前PU的至少一个MV,该至少一个MV包括时域运动向量和空域运动向量。
在本发明实施例中,终端为当前PU构建候选MV列表时,可采用如下步骤2011~2017:
2011、基于高级向量预测AMVP,终端构建空域候选列表和时域候选列表。
其中,空域候选列表包括当前PU的至少一个空域运动向量。以图3(A)为例,a0、a1、b0、b1、b2为参考帧中的宏块,基于AMVP构建空域候选列表时,终端首先需要从a0、a1中选出一个候选宏块,从b0、b1、b2中选出一个候选宏块。对于a0、a1的选择顺序为a0->a1->scaleda0->scaled a1,该scaled为比例伸缩模式;对于b0、b1、b2的选择顺序为(scaled b0->scaled b1->scaled b2)b0->b1->b2。然后,终端获取候选宏块对应的空域运动向量,将候选宏块对应的空域候选向量加入到一个列表中,得到空域候选列表。
需要说明的是,上式比例伸缩模式之所以采用括号括起来,是因为该比例伸缩模式与普通非比例伸缩模式为二选一的过程,当满足以下条件时,a0、a1均为参考宏块或者存在时其预测模式不是帧内预测,则采用比例伸缩模式,反之,采用普通模式。
其中,时域候选列表包括至少一个时域运动向量。基于AMVP构建时域候选列表时,可根据已编码图像(待编码图像的参考帧)的参考帧中宏块所在位置的PU的运动信息进行选取。参见图3(B),已编码图像的参考帧中参考宏块所在位置为H,若待编码图像的参考帧H位置的宏块可用,则将H位置的宏块作为候选宏块,进而将候选宏块对应的时域运动向量加入到一个列表中,得到时域候选列表。
2012、终端从空域候选列表中,选取第一预设数量个空域运动向量。
其中,第一预设数量由终端设置,可以为2个、3个等,本发明实施例以2个为宜。
2013、终端从时域候选列表中,选取第二预设数量个时域运动向量。
其中,第二预设数量由终端设置,可以为1个、2个等,本发明实施例以1个为宜。
2014、终端根据第一预设数量个空域运动向量和第二预设数量个时域运动向量,构建第一运动预测列表。
终端通过将第一预设数量个空域运动向量和第二预设数量个时域运动向量加入到同一列表中,可得到第一运动预测列表。
2015、终端对第一运动预测列表中相同的运动向量进行合并,并采用零运动向量进行填补,得到第二运动预测列表。
对于第一运动预测列表中的运动向量,终端可将第一运动预测列表中相同的运动向量进行合并。具体地,终端可将第一运动预测列表中第一预设数量个空域运动向量中相同的运动向量进行合并,并将第二预设数量个时域运动向量中相同的运动向量进行合并。当对第一运动预测列表中相同的运动向量进行合并后,第一运动预测列表中运动向量的数量将减少,此时可通过构造零运动向量进行填补,从而得到第二运动预测列表。
2016、终端从第二运动预测列表中,选取第三预设数量个运动向量。
其中,第三预设数量可由终端设置,该第三预设数量可以为2个、3个等,本发明实施例以2个为宜。为了提高计算精度,在从第二运动预测列表中,选取第三预设数量个运动向量时,需保证所选取的第三预设数量个运动向量中同时包括时域运动向量和空域运动向量。
2017、终端根据第三预设数量个运动向量,构建候选MV列表。
终端通过将第三预设数量个运动向量加入到同一列表中,可得到候选MV列表。
上述终端构建候选MV列表的过程,为了便于理解,下面以图3(C)为例进行说明。
参见图3(C),基于AMVP终端构建一个空域候选列表和时域候选列表,该空域候选列表包括5个空域运动向量,时域候选列表包括2个时域运动向量。终端从空域候选列表中选取2个空域运动向量,从时域候选列表中选取1个时域运动向量,通过对所选取的空域运动向量和时域运动向量进行合并,并采用零运动向量进行填补,可得到候选MV列表。
202、终端计算候选MV列表中每个MV的率失真代价,并从计算结果中获取AMVP的最小RDcost值和AMVP的目标MV。
终端在计算候选MV列表中每个MV的率失真代价RDcost时,可采用SATD(Sum ofAbsolute Transformed Difference,残差变换后再绝对值求和),计算候选MV列表中每个MV的RDcost,得到至少一个RDcost值。其中,SATD是指将预测残差块经过哈德曼变换后再绝对值求和。
终端从计算结果中获取AMVP的目标MV和AMVP的最小RDcost值时,可从至少一个RDcost值中,选取最小的RDcost值,进而将所选取的RDcost值作为AMVP的最小RDcost值,将AMVP的最小RDcost值对应的MV作为AMVP的目标MV,该AMVP的目标MV实际上为AMVP过程的最优MV。
其中,AMVP的最小RDcost值可用cost_amvp表示,该cost_amvp具有如下用途:
(1)、用于判断是否需要进行二分之一像素运动估计和四分之一像素运动估计;
(2)、当无需进行二分之一像素运动估计和四分之一像素运动估计时,将该cost_amvp直接作为cost_best;
(3)、在进行二分之一像素运动估计和四分之一像素运动估计后,判断是否需要对四分之一像素运动估计的计算结果进行修正。
AMVP的目标MV可用mv_amvp表示,该mv_amvp具有如下用途:
(1)、用于预测运动向量;
(2)、用于确定整像素运动估计的初选点;
(3)、当无需进行二分之一像素运动估计和四分之一像素运动估计时,该mv_amvp可作为运动估计的mv_best。
203、终端以AMVP的目标MV在参考帧中的映射点为初选点进行整像素运动估计,并从计算结果中获取整像素运动估计的目标MV。
终端获取AMVP的目标MV在参考帧中的映射点,并以映射点为初选点进行整像素运动估计,在整像素运动估计过程中,终端根据每次移动的位置,可确定一个MV,进而计算所确定的MV的率失真代价,得到RDcost值。整像素运动估计过程结束后,终端从得到的RDcost值中,选取最小的RDcost值,并将最小的RDcost值对应的MV作为整像素运动估计的目标MV。其中,整像素运动估计的目标MV实际上为整像素运动估计过程的最优MV,该整像素运动估计的目标MV可用mv_ime表示。
由于AMVP对应的像素精度为四分之一像素精度,而目前以AMVP的目标MV在参考帧中的映射点为初选点进行整像素运动估计时,只参考整像素位置,却忽略了分像素位置,导致确定的初选点并不准确。例如,AMVP的目标MV在参考帧中的映射点为(7,8),其对应的整像素位置为(1,2),当前在进行整像素运动估计时,直接以(1,2)为初选点进行运动估计,而实际上,映射点为(7,8)更靠近整像素(2,2)的位置,因而所确定的整像素运动估计的初选点的位置并不准确。
为了提高整像素运动估计的初选点的准确性,本发明实施例提供的方法还将对AMVP的目标MV在参考帧中的映射点的位置进行修正,进而以修正后的位置为初选点进行整像素运动估计。考虑到mv_amvp的像素精度为四分之一像素精度,在修正初选点的位置时可结合分像素位置进行修正,使得修正后的初选点的位置更接近实际的整像素位置。具体修正时,可采用如下规则:修正前初选点的位置位于坐标轴的正方向,则先加上2个单位(在原坐标的基础上加2)再右移2个单位(相当于除以4);如果修正前初选点的位置位于坐标轴的负方向,则先减去2个单位(在原坐标的基础上减去2)再右移2个单位(相当于除以4),该正方向和负方向由所建立的坐标系确定。
例如,mv_amvp在参考帧中的映射点位置为(7,8),修正前其对应的整像素位置为(1,2),采用上述方法处理,修正后X轴方向的坐标为(7+2)/4=2.25,修正后Y轴方向的坐标为(8+2)/4=2.5,则其对应的整像素位置为(2,2)。
例如,mv_amvp在参考帧中的映射点位置为(-7,8),修正前其对应的整像素位置为(-1,2),采用上述方法处理,修正后X轴方向的坐标为(-7-2)/4=-2.25,修正后Y轴方向的坐标为(8+2)/4=2.5,则其对应的整像素位置为(-2,2)。
需要说明的是,如果终端在计算候选MV列表中每个MV的率失真代价时,已经判断过(0,0)位置,则后续进行整像素运动估计时,无需在初选点中加入(0,0)位置。
204、终端将整像素运动估计的目标MV放大到四分之一像素精度,得到四分之一像素运动估计的参考目标MV,并判断AMVP的目标MV与四分之一像素运动估计的参考目标MV是否相同,如果是,执行步骤205,如果否,执行步骤206。
基于所得到的整像素运动估计的目标MV,终端通过将mv_ime左移2个单位(相当于乘以4),得到四分之一像素运动估计的参考目标MV,该四分之一像素运动估计的参考目标MV理论上为进行四分之一像素运动估计得到的目标MV,该四分之一像素运动估计的参考目标MV可用mv_new表示,该过程记为mv_new=mv_ime<<2个单位。
由于AMVP的目标MV与四分之一像素运动估计的参考目标MV为采用不同方法得到的、理论上的四分之一像素运动估计对应的目标MV,因此,本发明实施例终端通过将AMVP的目标MV与四分之一像素运动估计的参考目标MV进行比较,可确定是否需要进行二分之一像素运动估计和四分之一像素运动估计。当AMVP的目标MV和四分之一像素运动估计的参考目标MV相同时,则确定无需进行二分之一像素运动估计和四分之一像素运动估计,直接执行步骤205;当AMVP的目标MV和四分之一像素运动估计的参考目标MV不同时,则确定需要进行二分之一像素运动估计和四分之一像素运动估计,并执行步骤206~208。
205、终端将AMVP的目标MV和AMVP的最小RDcost值确定为运动估计过程的最终结果。
当AMVP的目标MV和四分之一像素运动估计的参考目标MV相同时,终端无需进行二分之一像素运动估计和四分之一像素运动估计,直接将AMVP的目标MV和AMVP的最小RDcost值确定为运动估计过程的最终结果,即mv_amvp=mv_best,cost_amvp=cost_best。
由于无需进行二分之一像素运动估计和四分之一像素运动估计,因而大大降低了运动估计过程的计算量,缩短了视频编码时间,提高了视频编码效率。
206、终端以整像素运动估计的目标MV在参考帧中的映射点为初选点进行二分之一像素运动估计,并从计算结果中获取二分之一像素运动估计的目标MV。
当AMVP的目标MV和四分之一像素运动估计的参考目标MV不同时,为了确保视频编码精度,终端将以整像素运动估计的目标MV在参考帧中的映射点为初选点进行二分之一像素运动估计。在进行二分之一像素运动估计之前,终端可根据参考帧中的整像素位置,通过进行插值计算,得到二分之一像素位置。基于所得到的二分之一像素位置和原有的整像素位置,终端以整像素运动估计的目标MV在参考帧中的映射点为初选点进行二分之一像素运动估计。在以整像素运动估计的目标MV在参考帧中的映射点为初选点进行移动的过程中,终端根据每次移动的位置,确定一个MV,进而计算所确定的MV的率失真代价,得到RDcost值。二分之一像素运动估计过程结束后,终端从得到的RDcost值中,选取最小的RDcost值,并将最小的RDcost值对应的MV作为二分之一像素运动估计的目标MV。其中,二分之一像素运动估计的目标MV实际上为二分之一像素运动估计过程的最优MV,该二分之一像素运动估计的目标MV可用mv_hme表示。
207、终端以二分之一像素运动估计的目标MV在参考帧中的映射点为初选点进行四分之一像素运动估计,得到四分之一像素运动估计的最小RDcost值和四分之一像素运动估计的目标MV。
基于步骤206中得到的二分之一像素位置和原有的整像素位置,终端通过进行插值计算可得到四分之一像素位置,进而基于所得到的四分之一像素位置、二分之一像素位置及原有的整像素位置,终端以二分之一像素运动估计的目标MV在参考帧中的映射点为初选点进行四分之一像素运动估计。在以二分之一像素运动估计的目标MV在参考帧中的映射点为初选点进行移动的过程中,终端根据每次移动的位置,确定一个MV,进而计算所确定的MV的率失真代价,得到RDcost值。四分之一像素运动估计过程结束后,终端从得到的RDcost值中,选取最小的RDcost值,该最小的RDcost值即为四分之一像素运动估计的最小RDcost值,该四分之一像素运动估计的最小RDcost值对应的MV为四分之一像素运动估计的目标MV。其中,四分之一像素运动估计的最小RDcost值可用cost_qme,四分之一像素运动估计的目标MV为四分之一像素运动估计过程的最优MV,该四分之一像素运动估计的目标MV可用mv_qme表示。
208、终端根据AMVP的最小RDcost值、四分之一像素运动估计的最小RDcost值、AMVP的目标MV及四分之一像素运动估计的目标MV,确定运动估计过程的最终结果。
由于AMVP的最小RDcost值与四分之一像素运动估计的最小RDcost值为采用不同方法得到的、理论上的四分之一像素运动估计对应的率失真代价值,终端通过将AMVP的最小RDcost值和四分之一像素运动估计的最小RDcost值进行比较,可以最小的计算量为代价的前提下,得到高精度MV。具体地,终端在确定运动估计过程的最终结果时,包括但不限于如下两种情况:
第一种情况、如果AMVP的最小RDcost值小于四分之一像素运动估计的最小RDcost值,则终端将AMVP的目标MV和AMVP的最小RDcost值确定为运动估计过程的最终结果。
当AMVP的最小RDcost值小于四分之一像素运动估计的最小RDcost值时,说明采用AMVP方法获取AMVP的目标MV时计算量最小,因而终端可将AMVP的目标MV和AMVP的最小RDcost值确定为运动估计过程的最终结果,即mv_amvp=mv_best,cost_amvp=cost_best。
第二种情况、如果AMVP的最小RDcost值大于四分之一像素运动估计的最小RDcost值,则终端将四分之一像素运动估计的目标MV和四分之一像素运动估计的最小RDcost值确定为运动估计过程的最终结果。
当AMVP的最小RDcost值大于四分之一像素运动估计的最小RDcost值时,说明采用AMVP方法获取AMVP的目标MV时计算量较大,因而终端可将四分之一像素运动估计的目标MV和四分之一像素运动估计的最小RDcost值确定为运动估计过程的最终结果,即mv_qme=mv_best,cost_qme=cost_best。
对于上述整个运动估计的过程,为了便于理解,下面将以图4为例进行说明。
在视频编码过程中,对于任一帧待编码图像,终端将该待编码图像分割成至少一个互不重合的PU。对于任一PU,终端基于AMVP为该当前PU构建一个候选MV列表,并计算候选MV列表中每个MV的率失真代价,得到至少一个RDcost值。终端从至少一个RDcost值中,选取最小的RDcost值,并将该最小的RDcost值作为AMVP的最小的RDcost值,将该最小的RDcost值对应的MV作为AMVP的目标MV。接着,终端以该AMVP的目标MV在参考帧中的映射点为初选点进行整像素运动估计,从计算结果中得到整像素运动估计的目标MV。终端将该整像素运动估计的目标MV放大到四分之一像素精度,得到四分之一像素运动估计的参考目标MV。当AMVP的目标MV与四分之一像素运动估计的参考目标MV相同时,终端无需进行二分之一像素运动估计和四分之一像素运动估计,直接将AMVP的最小的RDcost值和AMVP的目标MV作为运动估计过程的最终结果;当AMVP的目标MV与四分之一像素运动估计的参考目标MV不同时,终端以整像素运动估计的目标MV在参考帧中的映射点为初选点进行二分之一像素运动估计,从计算结果中获取二分之一像素运动估计的目标MV,终端以二分之一像素运动估计的目标MV在参考帧中的映射点为初选点进行四分之一像素运动估计,从计算结果中获取四分之一像素运动估计的最小的RDcost值及其对应的目标MV。接着,终端将AMVP的最小的RDcost值与四分之一像素运动估计的最小的RDcost值进行比较,如果AMVP的最小的RDcost值小于四分之一像素运动估计的最小的RDcost值,则将AMVP的最小的RDcost值和AMVP的目标MV作为运动估计过程的最终结果,如果AMVP的最小的RDcost值大于四分之一像素运动估计的最小的RDcost值,则将四分之一像素运动估计的最小的RDcost值及其对应的目标MV作为运动估计过程的最终结果。
图5示出了本发明实施例提供的视频编解码过程,该视频编解码过程包括以下步骤:
(1)、发送端将待编码的视频信号输入到视频编码器中。
其中,发送端为本发明实施例中的终端或服务器。该待编码的视频信号为一种数字信号。
(2)、视频编码器以帧为单位对待编码的视频信号进行编码,得到多帧已编码图像。具体编码过程为:
(a)、视频编码器对第一帧待编码图像进行编码,得到第一帧已编码图像(参考帧);
(b)、对于第二帧待编码图像,视频编码器将该第二帧待编码图像分割成至少一个互补重叠的PU;
(c)、视频编码器采用本发明实施例提供的方法对每个PU进行运动估计,得到每个PU的最优MV,存储每个PU的最优MV,并根据每个PU的最优MV,确定每个PU在第一帧已编码图像中的预测图像块;
(d)、视频编码器通过将预测图像块和每个PU作差,得到预测残差块;
(e)、视频编码器通过对预测残差块进行离散余弦变换变换和量化处理,得到量化系数,并将量化的DTC系数进行熵编码后输出,同时将量化的DTC系数进行反量化处理和反DTC变换,得到重构图像的残差块,并通过将重构图像的与预测图像块相加,得到重构图像,该重构图像经过区块滤波和自适应像素补偿后,得到第二帧待编码图像,该第二帧待编码图像为下一帧待编码图像的参考图像;
(f)、视频编码器通过循环执行上述步骤(c)~(e)对其他帧编码图像进行编码,直至全部的图像均完成编码。
(3)、将已编码图像进行压缩、封装,得到处理后的图像,并通过IP网络将处理后的图像发送至接收端。
(4)、当接收到处理后的图像时,接收端对处理后的图像进行解压缩、解封装,得到已编码图像,并将已编码图像输入到视频解码器中。
(5)、视频解码器对已编码图像进行解码,得到视频信号,进而播放该视频信号。视频解码器的解码过程为:视频解码器对第一帧已编码图像进行解码,得到第一帧图像,并根据第一帧图像和第二帧图像的预测残差块及第一帧图像进行图像重构,得到第二帧图像,进而根据第二帧图像和第三帧图像的预测残差块及第二帧图像进行图像重构,得到第三帧图像,依次类推,直至全部的图像全部解码出来。
图5所示的视频编解码方法可应用于家庭影院、远程监控、数字广播、移动流媒体、便携摄像和医学成像等领域,以满足不同领域用户的视频观看需求。
本发明实施例提供的方法,通过计算候选MV列表中每个MV的RDcost,获取AMVP的目标MV,通过将整像素运动估计的目标MV放大到四分之一精度,获取四分之一像素运动估计的参考目标MV,当AMVP的目标MV与四分之一像素运动估计的参考目标MV相同时,无需进行HME和QME,直接将AMVP的目标MV和AMVP的最小RDcost值作为最终结果,从而减小了进行HME和QME计算的计算量,缩短了运动估计过程的时长,同时降低了资源消耗。
参见图6,本发明实施例提供了一种进行运动估计的装置结构示意图,该装置包括:
列表构建模块601,用于对于待编码图像中任一预测单元PU,基于高级向量预测AMVP为PU构建候选运动向量MV列表,该候选MV列表包括该PU的至少一个MV;
计算模块602,用于计算候选MV列表中每个MV的率失真代价RDcost;
获取模块603,用于从计算结果中获取AMVP的目标MV和AMVP的最小RDcost值;
计算模块602,用于以AMVP的目标MV在参考帧中的映射点为初选点进行整像素运动估计IME;
获取模块603,用于从计算结果中获取整像素运动估计的目标MV;
精度放大模块604,用于将整像素运动估计的目标MV放大到四分之一像素精度,得到四分之一像素运动估计的参考目标MV;
确定模块605,用于当AMVP的目标MV和四分之一像素运动估计的参考目标MV相同时,将AMVP的目标MV和AMVP的最小RDcost值确定为运动估计过程的最终结果;
其中,每种目标MV为每种运动估计的最小RDcost值对应的MV。
在本发明的另一个实施例中,计算模块602,用于当AMVP的目标MV和四分之一像素运动估计的参考目标MV不同时,以整像素运动估计的目标MV在参考帧中的映射点为初选点进行二分之一像素运动估计HME;
获取模块603,用于从计算结果中获取二分之一像素运动估计的目标MV;
计算模块602,用于以二分之一像素运动估计的目标MV在参考帧中的映射点为初选点进行四分之一像素运动估计QME,得到四分之一像素运动估计的最小RDcost值和四分之一像素运动估计的目标MV;
确定模块605,用于根据AMVP的最小RDcost值、四分之一像素运动估计的最小RDcost值、AMVP的目标MV及四分之一像素运动估计的目标MV,确定运动估计过程的最终结果。
在本发明的另一个实施例中,确定模块605,用于当AMVP的最小RDcost值小于四分之一像素运动估计的最小RDcost值时,将AMVP的目标MV和AMVP的最小RDcost值确定为运动估计过程的目标结果;当AMVP的最小RDcost值大于四分之一像素运动估计的最小RDcost值时,将四分之一像素运动估计的目标MV和四分之一像素运动估计的最小RDcost值确定为运动估计过程的最终结果。
在本发明的另一个实施例中,列表构建模块601,用于基于高级向量预测AMVP,构建空域候选列表和时域候选列表,空域候选列表包括PU的至少一个空域运动向量,时域候选列表包括PU的至少一个时域运动向量;从空域候选列表中,选取第一预设数量个空域运动向量;从时域候选列表中,选取第二预设数量个时域运动向量;根据第一预设数量个空域运动向量和第二预设数量个时域运动向量,构建第一运动预测列表;对第一运动预测列表中相同的运动向量进行合并,并采用零运动向量进行填补,得到第二运动预测列表;从第二运动预测列表中,选取第三预设数量个运动向量;根据第三预设数量个运动向量,构建候选MV列表。
在本发明的另一个实施例中,计算模块602,还用于采用残差变换后再绝对值求和SATD,计算候选MV列表中每个MV的RDcost,得到至少一个RDcost值;
获取模块603,还用于从至少一个RDcost值中,选取最小的RDcost值;将所选取的RDcost值作为AMVP的最小RDcost值,并将AMVP的最小RDcost值对应的MV作为AMVP的目标MV。
在本发明的另一个实施例中,该装置还包括:
位置修正模块,用于对AMVP的目标MV在参考帧中的映射点的位置进行修正;
计算模块602,用于以修正后的位置为初选点进行IME。
综上所述,本发明实施例提供的装置,通过计算候选MV列表中每个MV的RDcost,获取AMVP的目标MV,通过将整像素运动估计的目标MV放大到四分之一精度,获取四分之一像素运动估计的参考目标MV,当AMVP的目标MV与四分之一像素运动估计的参考目标MV相同时,无需进行HME和QME,直接将AMVP的目标MV和AMVP的最小RDcost值作为最终结果,从而减小了进行HME和QME计算的计算量,缩短了运动估计过程的时长,同时降低了资源消耗。
参见图7,其示出了本发明实施例所涉及的进行运动估计的终端的结构示意图,该终端可以用于实施上述实施例中提供的进行运动估计的方法。具体来讲:
终端700可以包括RF(Radio Frequency,射频)电路110、包括有一个或一个以上计算机可读存储介质的存储器120、输入单元130、显示单元140、传感器150、音频电路160、WiFi(Wireless Fidelity,无线保真)模块170、包括有一个或者一个以上处理核心的处理器180、以及电源190等部件。本领域技术人员可以理解,图7中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
RF电路110可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器180处理;另外,将涉及上行的数据发送给基站。通常,RF电路110包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(SIM)卡、收发信机、耦合器、LNA(Low Noise Amplifier,低噪声放大器)、双工器等。此外,RF电路110还可以通过无线通信与网络和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于GSM(Global System of Mobile communication,全球移动通讯系统)、GPRS(General Packet Radio Service,通用分组无线服务)、CDMA(CodeDivision Multiple Access,码分多址)、WCDMA(Wideband Code Division MultipleAccess,宽带码分多址)、LTE(Long Term Evolution,长期演进)、电子邮件、SMS(ShortMessaging Service,短消息服务)等。
存储器120可用于存储软件程序以及模块,处理器180通过运行存储在存储器120的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器120可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据终端700的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器120可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器120还可以包括存储器控制器,以提供处理器180和输入单元130对存储器120的访问。
输入单元130可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,输入单元130可包括触敏表面131以及其他输入设备132。触敏表面131,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面131上或在触敏表面131附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面131可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器180,并能接收处理器180发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面131。除了触敏表面131,输入单元130还可以包括其他输入设备132。具体地,其他输入设备132可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元140可用于显示由用户输入的信息或提供给用户的信息以及终端700的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元140可包括显示面板141,可选的,可以采用LCD(Liquid Crystal Display,液晶显示器)、OLED(Organic Light-Emitting Diode,有机发光二极管)等形式来配置显示面板141。进一步的,触敏表面131可覆盖显示面板141,当触敏表面131检测到在其上或附近的触摸操作后,传送给处理器180以确定触摸事件的类型,随后处理器180根据触摸事件的类型在显示面板141上提供相应的视觉输出。虽然在图7中,触敏表面131与显示面板141是作为两个独立的部件来实现输入和输入功能,但是在某些实施例中,可以将触敏表面131与显示面板141集成而实现输入和输出功能。
终端700还可包括至少一种传感器150,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板141的亮度,接近传感器可在终端700移动到耳边时,关闭显示面板141和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于终端700还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路160、扬声器161,传声器162可提供用户与终端700之间的音频接口。音频电路160可将接收到的音频数据转换后的电信号,传输到扬声器161,由扬声器161转换为声音信号输出;另一方面,传声器162将收集的声音信号转换为电信号,由音频电路160接收后转换为音频数据,再将音频数据输出处理器180处理后,经RF电路110以发送给比如另一终端,或者将音频数据输出至存储器120以便进一步处理。音频电路160还可能包括耳塞插孔,以提供外设耳机与终端700的通信。
WiFi属于短距离无线传输技术,终端700通过WiFi模块170可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图7示出了WiFi模块170,但是可以理解的是,其并不属于终端700的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器180是终端700的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器120内的软件程序和/或模块,以及调用存储在存储器120内的数据,执行终端700的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器180可包括一个或多个处理核心;可选的,处理器180可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器180中。
终端700还包括给各个部件供电的电源190(比如电池),优选的,电源可以通过电源管理系统与处理器180逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源190还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
尽管未示出,终端700还可以包括摄像头、蓝牙模块等,在此不再赘述。具体在本实施例中,终端700的显示单元是触摸屏显示器,终端700还包括有存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或所述指令集由所述处理器加载并执行图2所示的进行运动估计的方法。
本发明实施例提供的终端,通过计算候选MV列表中每个MV的RDcost,获取AMVP的目标MV,通过将整像素运动估计的目标MV放大到四分之一精度,获取四分之一像素运动估计的参考目标MV,当AMVP的目标MV与四分之一像素运动估计的参考目标MV相同时,无需进行HME和QME,直接将AMVP的目标MV和AMVP的最小RDcost值作为最终结果,从而减小了进行HME和QME计算的计算量,缩短了运动估计过程的时长,同时降低了资源消耗。
图8是根据一示例性实施例示出的一种用于进行运动估计的服务器。参照图8,服务器800包括处理组件822,其进一步包括一个或多个处理器,以及由存储器832所代表的存储器资源,用于存储可由处理组件822的执行的指令,例如应用程序。存储器832中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件822被配置为执行指令,以执行上述图2所示的进行运动估计的方法。
服务器800还可以包括一个电源组件826被配置为执行服务器800的电源管理,一个有线或无线网络接口850被配置为将服务器800连接到网络,和一个输入输出(I/O)接口858。服务器800可以操作基于存储在存储器832的操作系统,例如Windows ServerTM,Mac OSXTM,UnixTM,LinuxTM,FreeBSDTM或类似。
本发明实施例提供的服务器,通过计算候选MV列表中每个MV的RDcost,获取AMVP的目标MV,通过将整像素运动估计的目标MV放大到四分之一精度,获取四分之一像素运动估计的参考目标MV,当AMVP的目标MV与四分之一像素运动估计的参考目标MV相同时,无需进行HME和QME,直接将AMVP的目标MV和AMVP的最小RDcost值作为最终结果,从而减小了进行HME和QME计算的计算量,缩短了运动估计过程的时长,同时降低了资源消耗。
本发明实施例还提供了一种计算机可读存储介质,该存储介质中存储有至少一条指令至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或所述指令集由处理器加载并执行以实现图2所示的进行运动估计的方法。
本发明实施例提供的计算机可读存储介质,通过计算候选MV列表中每个MV的RDcost,获取AMVP的目标MV,通过将整像素运动估计的目标MV放大到四分之一精度,获取四分之一像素运动估计的参考目标MV,当AMVP的目标MV与四分之一像素运动估计的参考目标MV相同时,无需进行HME和QME,直接将AMVP的目标MV和AMVP的最小RDcost值作为最终结果,从而减小了进行HME和QME计算的计算量,缩短了运动估计过程的时长,同时降低了资源消耗。
需要说明的是:上述实施例提供的进行运动估计的装置在进行运动估计的方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将进行运动估计的装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的进行运动估计的装置与进行运动估计的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (14)
1.一种进行运动估计的方法,其特征在于,所述方法包括:
对于待编码图像中任一预测单元PU,基于高级向量预测AMVP为所述PU构建候选运动向量MV列表,所述候选MV列表包括所述PU的至少一个MV;
计算所述候选MV列表中每个MV的率失真代价RDcost,并从计算结果中获取AMVP的最小RDcost值和AMVP的目标MV;
以所述AMVP的目标MV在参考帧中的映射点为初选点进行整像素运动估计IME,并从计算结果中获取整像素运动估计的目标MV;
将所述整像素运动估计的目标MV放大到四分之一像素精度,得到四分之一像素运动估计的参考目标MV;
当所述AMVP的目标MV和所述四分之一像素运动估计的参考目标MV相同时,将所述AMVP的目标MV和所述AMVP的最小RDcost值确定为运动估计过程的最终结果;
其中,每种目标MV为每种运动估计的最小RDcost值对应的MV。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述AMVP的目标MV和所述四分之一像素运动估计的参考目标MV不同时,以所述整像素运动估计的目标MV在参考帧中的映射点为初选点进行二分之一像素运动估计HME,并从计算结果中获取二分之一像素运动估计的目标MV;
以所述二分之一像素运动估计的目标MV在参考帧中的映射点为初选点进行四分之一像素运动估计QME,得到四分之一像素运动估计的最小RDcost值和四分之一像素运动估计的目标MV;
根据所述AMVP的最小RDcost值、所述四分之一像素运动估计的最小RDcost值、所述AMVP的目标MV及所述四分之一像素运动估计的目标MV,确定运动估计过程的最终结果。
3.根据权利要求2所述的方法,其特征在于,所述根据所述AMVP的最小RDcost值、所述四分之一像素运动估计的最小RDcost值、所述AMVP的目标MV及所述四分之一像素运动估计的目标MV,确定运动估计过程的最终结果,包括:
如果所述AMVP的最小RDcost值小于所述四分之一像素运动估计的最小RDcost值,则将所述AMVP的目标MV和所述AMVP的最小RDcost值确定为运动估计过程的最终结果;
如果所述AMVP的最小RDcost值大于所述四分之一像素运动估计的最小RDcost值,则将所述四分之一像素运动估计的目标MV和所述AMVP的最小RDcost值确定为运动估计过程的最终结果。
4.根据权利要求1所述的方法,其特征在于,所述基于高级向量预测AMVP为所述PU构建候选运动向量MV列表,包括:
基于AMVP构建空域候选列表和时域候选列表,所述空域候选列表包括所述PU的至少一个空域运动向量,所述时域候选列表包括所述PU的至少一个时域运动向量;
从所述空域候选列表中,选取第一预设数量个空域运动向量;
从所述时域候选列表中,选取第二预设数量个时域运动向量;
根据所述第一预设数量个空域运动向量和所述第二预设数量个时域运动向量,构建第一运动预测列表;
对所述第一运动预测列表中相同的运动向量进行合并,并采用零运动向量进行填补,得到第二运动预测列表;
从所述第二运动预测列表中,选取第三预设数量个运动向量;
根据所述第三预设数量个运动向量,构建所述候选MV列表。
5.根据权利要求1所述的方法,其特征在于,所述计算所述候选MV列表中每个MV的率失真代价RDcost,包括:
采用残差变换后再绝对值求和SATD,计算所述候选MV列表中每个MV的RDcost,得到至少一个RDcost值;
所述从计算结果中获取AMVP的最小RDcost值和AMVP的目标MV,包括:
从所述至少一个RDcost值中,选取最小的RDcost值;
将所选取的RDcost值作为所述AMVP的最小RDcost值,并将所述AMVP的最小RDcost值对应的MV作为所述AMVP的目标MV。
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述以所述AMVP的目标MV在参考帧中的映射点为初选点进行整像素运动估计IME之前,还包括:
对所述AMVP的目标MV在参考帧中的映射点的位置进行修正;
以修正后的位置为初选点进行IME。
7.一种进行运动估计的装置,其特征在于,所述装置包括:
列表构建模块,用于对于待编码图像中任一预测单元PU,基于高级向量预测AMVP为所述PU构建候选运动向量MV列表,所述候选MV列表包括所述PU的至少一个MV;
计算模块,用于计算所述候选MV列表中每个MV的率失真代价RDcost;
获取模块,用于从计算结果中获取AMVP的目标MV和AMVP的最小RDcost值;
所述计算模块,用于以所述AMVP的目标MV在参考帧中的映射点为初选点进行整像素运动估计IME;
所述获取模块,用于从计算结果中获取整像素运动估计的目标MV;
精度放大模块,用于将所述整像素运动估计的目标MV放大到四分之一像素精度,得到四分之一像素运动估计的参考目标MV;
确定模块,用于当所述AMVP的目标MV和所述四分之一像素运动估计的参考目标MV相同时,将所述AMVP的目标MV和所述AMVP的最小RDcost值确定为运动估计过程的最终结果;
其中,每种目标MV为每种运动估计的最小RDcost值对应的MV。
8.根据权利要求7所述的装置,其特征在于,所述计算模块,用于当所述AMVP的目标MV和所述四分之一像素运动估计的参考目标MV不同时,以所述整像素运动估计的目标MV在参考帧中的映射点为初选点进行二分之一像素运动估计HME;
所述获取模块,用于从计算结果中获取二分之一像素运动估计的目标MV;
所述计算模块,用于以所述二分之一像素运动估计的目标MV在参考帧中的映射点为初选点进行四分之一像素运动估计QME,得到四分之一像素运动估计的最小RDcost值和四分之一像素运动估计的目标MV;
所述确定模块,用于根据所述AMVP的最小RDcost值、所述四分之一像素运动估计的最小RDcost值、所述AMVP的目标MV及所述四分之一像素运动估计的目标MV,确定运动估计过程的最终结果。
9.根据权利要求8所述的装置,其特征在于,所述确定模块,用于当所述AMVP的最小RDcost值小于所述四分之一像素运动估计的最小RDcost值时,将所述AMVP的目标MV和所述AMVP的最小RDcost值确定为运动估计过程的最终结果;当所述AMVP的最小RDcost值大于所述四分之一像素运动估计的最小RDcost值时,将所述四分之一像素运动估计的目标MV和所述四分之一像素运动估计的最小RDcost值确定为运动估计过程的最终结果。
10.根据权利要求9所述的装置,其特征在于,所述列表构建模块,用于基于高级向量预测AMVP构建空域候选列表和时域候选列表,所述空域候选列表包括所述PU的至少一个空域运动向量,所述时域候选列表包括所述PU的至少一个时域运动向量;从所述空域候选列表中,选取第一预设数量个空域运动向量;从所述时域候选列表中,选取第二预设数量个时域运动向量;根据所述第一预设数量个空域运动向量和所述第二预设数量个时域运动向量,构建第一运动预测列表;对所述第一运动预测列表中相同的运动向量进行合并,并采用零运动向量进行填补,得到第二运动预测列表;从所述第二运动预测列表中,选取第三预设数量个运动向量;根据所述第三预设数量个运动向量,构建所述候选MV列表。
11.根据权利要求7所述的装置,其特征在于,所述计算模块,还用于采用残差变换后再绝对值求和SATD,计算所述候选MV列表中每个MV的RDcost,得到至少一个RDcost值;
所述获取模块,还用于从所述至少一个RDcost值中,选取最小的RDcost值;将所选取的RDcost值作为所述AMVP的最小RDcost值,并将所述AMVP的最小RDcost值对应的MV作为所述AMVP的目标MV。
12.根据权利要求7至12中任一项所述的装置,其特征在于,所述装置还包括:
位置修正模块,用于对所述AMVP的目标MV在参考帧中的映射点的位置进行修正;
所述计算模块,用于以修正后的位置为初选点进行IME。
13.一种用于进行运动估计的设备,其特征在于,所述设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或所述指令集由所述处理器加载并执行以实现如权利要求1至6中任一项所述的进行运动估计的方法。
14.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或所述指令集由处理器加载并执行以实现如权利要求1至6中任一项所述的进行运动估计的方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710894492.7A CN109587501B (zh) | 2017-09-28 | 2017-09-28 | 进行运动估计的方法、装置及存储介质 |
EP18862765.7A EP3618445A4 (en) | 2017-09-28 | 2018-08-31 | PROCESS FOR MAKING A MOVEMENT ESTIMATE, AND ASSOCIATED APPARATUS, DEVICE AND STORAGE SUPPORT |
PCT/CN2018/103642 WO2019062476A1 (zh) | 2017-09-28 | 2018-08-31 | 进行运动估计的方法、装置、设备及存储介质 |
US16/656,116 US10827198B2 (en) | 2017-09-28 | 2019-10-17 | Motion estimation method, apparatus, and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710894492.7A CN109587501B (zh) | 2017-09-28 | 2017-09-28 | 进行运动估计的方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109587501A true CN109587501A (zh) | 2019-04-05 |
CN109587501B CN109587501B (zh) | 2022-07-12 |
Family
ID=65900764
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710894492.7A Active CN109587501B (zh) | 2017-09-28 | 2017-09-28 | 进行运动估计的方法、装置及存储介质 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10827198B2 (zh) |
EP (1) | EP3618445A4 (zh) |
CN (1) | CN109587501B (zh) |
WO (1) | WO2019062476A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111953974A (zh) * | 2020-08-26 | 2020-11-17 | 珠海大横琴科技发展有限公司 | 一种运动参数候选列表构建方法、装置及计算机设备 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW202017377A (zh) | 2018-09-08 | 2020-05-01 | 大陸商北京字節跳動網絡技術有限公司 | 視頻編碼和解碼中的仿射模式 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060198445A1 (en) * | 2005-03-01 | 2006-09-07 | Microsoft Corporation | Prediction-based directional fractional pixel motion estimation for video coding |
JP2007067551A (ja) * | 2005-08-29 | 2007-03-15 | Nippon Telegr & Teleph Corp <Ntt> | 動きベクトル推定方法,動きベクトル推定装置,動きベクトル推定プログラムおよび動きベクトル推定プログラム記録媒体 |
CN101820547A (zh) * | 2009-02-27 | 2010-09-01 | 源见科技(苏州)有限公司 | 帧间模式选择方法 |
CN102710934A (zh) * | 2011-01-22 | 2012-10-03 | 华为技术有限公司 | 一种运动预测或补偿方法 |
US20140169472A1 (en) * | 2012-12-19 | 2014-06-19 | Mikhail Fludkov | Motion estimation engine for video encoding |
US20160127731A1 (en) * | 2014-11-03 | 2016-05-05 | National Chung Cheng University | Macroblock skip mode judgement method for encoder |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6141382A (en) * | 1998-09-18 | 2000-10-31 | Sarnoff Corporation | Using estimated distortion values |
US20070002949A1 (en) * | 2005-06-30 | 2007-01-04 | Nokia Corporation | Fast partial pixel motion estimation for video encoding |
CN101326550B (zh) * | 2005-12-15 | 2013-12-25 | 美国亚德诺半导体公司 | 利用预测指导的抽取搜索的运动估计 |
US20140085415A1 (en) * | 2012-09-27 | 2014-03-27 | Nokia Corporation | Method and apparatus for video coding |
US20150245063A1 (en) * | 2012-10-09 | 2015-08-27 | Nokia Technologies Oy | Method and apparatus for video coding |
US20140301463A1 (en) * | 2013-04-05 | 2014-10-09 | Nokia Corporation | Method and apparatus for video coding and decoding |
US10609407B2 (en) * | 2013-07-09 | 2020-03-31 | Nokia Technologies Oy | Method and apparatus for video coding |
US10070125B2 (en) * | 2013-07-31 | 2018-09-04 | Nokia Technologies Oy | Method and apparatus for video coding and decoding |
WO2015104451A1 (en) * | 2014-01-07 | 2015-07-16 | Nokia Technologies Oy | Method and apparatus for video coding and decoding |
US10531116B2 (en) * | 2014-01-09 | 2020-01-07 | Qualcomm Incorporated | Adaptive motion vector resolution signaling for video coding |
US20150264404A1 (en) * | 2014-03-17 | 2015-09-17 | Nokia Technologies Oy | Method and apparatus for video coding and decoding |
US9628793B1 (en) * | 2014-09-26 | 2017-04-18 | Polycom, Inc. | Motion estimation |
US10462480B2 (en) * | 2014-12-31 | 2019-10-29 | Microsoft Technology Licensing, Llc | Computationally efficient motion estimation |
CN104811728B (zh) * | 2015-04-23 | 2018-03-02 | 湖南大目信息科技有限公司 | 一种视频内容自适应的运动搜索方法 |
US10368083B2 (en) * | 2016-02-15 | 2019-07-30 | Qualcomm Incorporated | Picture order count based motion vector pruning |
EP3264768A1 (en) * | 2016-06-30 | 2018-01-03 | Thomson Licensing | Method and apparatus for video coding with adaptive motion information refinement |
EP3264769A1 (en) * | 2016-06-30 | 2018-01-03 | Thomson Licensing | Method and apparatus for video coding with automatic motion information refinement |
CN106101709B (zh) * | 2016-07-08 | 2019-04-16 | 上海大学 | 一种联合增强层的shvc质量可分级的基本层帧间预测方法 |
US10462462B2 (en) * | 2016-09-29 | 2019-10-29 | Qualcomm Incorporated | Motion vector difference coding technique for video coding |
US11356693B2 (en) * | 2016-09-29 | 2022-06-07 | Qualcomm Incorporated | Motion vector coding for video coding |
US10979732B2 (en) * | 2016-10-04 | 2021-04-13 | Qualcomm Incorporated | Adaptive motion vector precision for video coding |
CN107087171B (zh) * | 2017-05-26 | 2020-02-07 | 中国科学技术大学 | Hevc整像素运动估计方法及装置 |
CA3151032A1 (en) * | 2017-06-30 | 2019-01-03 | Huawei Technologies Co., Ltd. | Motion vector determination for video frame block inter-prediction |
US20190222858A1 (en) * | 2019-03-26 | 2019-07-18 | Intel Corporation | Optimal out of loop inter motion estimation with multiple candidate support |
-
2017
- 2017-09-28 CN CN201710894492.7A patent/CN109587501B/zh active Active
-
2018
- 2018-08-31 WO PCT/CN2018/103642 patent/WO2019062476A1/zh unknown
- 2018-08-31 EP EP18862765.7A patent/EP3618445A4/en active Pending
-
2019
- 2019-10-17 US US16/656,116 patent/US10827198B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060198445A1 (en) * | 2005-03-01 | 2006-09-07 | Microsoft Corporation | Prediction-based directional fractional pixel motion estimation for video coding |
JP2007067551A (ja) * | 2005-08-29 | 2007-03-15 | Nippon Telegr & Teleph Corp <Ntt> | 動きベクトル推定方法,動きベクトル推定装置,動きベクトル推定プログラムおよび動きベクトル推定プログラム記録媒体 |
CN101820547A (zh) * | 2009-02-27 | 2010-09-01 | 源见科技(苏州)有限公司 | 帧间模式选择方法 |
CN102710934A (zh) * | 2011-01-22 | 2012-10-03 | 华为技术有限公司 | 一种运动预测或补偿方法 |
US20140169472A1 (en) * | 2012-12-19 | 2014-06-19 | Mikhail Fludkov | Motion estimation engine for video encoding |
US20160127731A1 (en) * | 2014-11-03 | 2016-05-05 | National Chung Cheng University | Macroblock skip mode judgement method for encoder |
Non-Patent Citations (1)
Title |
---|
SHAN JIA 等: "A fast sub-pixel motion estimation algorithm for HEVC", 《2016 IEEE INTERNATIONAL SYMPOSIUM ON CIRCUITS AND SYSTEMS (ISCAS)》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111953974A (zh) * | 2020-08-26 | 2020-11-17 | 珠海大横琴科技发展有限公司 | 一种运动参数候选列表构建方法、装置及计算机设备 |
CN111953974B (zh) * | 2020-08-26 | 2021-08-27 | 珠海大横琴科技发展有限公司 | 一种运动参数候选列表构建方法、装置及计算机设备 |
Also Published As
Publication number | Publication date |
---|---|
WO2019062476A1 (zh) | 2019-04-04 |
EP3618445A4 (en) | 2020-12-30 |
US10827198B2 (en) | 2020-11-03 |
EP3618445A1 (en) | 2020-03-04 |
US20200053381A1 (en) | 2020-02-13 |
CN109587501B (zh) | 2022-07-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109120926B (zh) | 预测模式选择方法、装置及介质 | |
KR102587638B1 (ko) | 비디오 코딩을 위해 이웃 블록 패턴을 이용하는 모션 추정 방법 및 시스템 | |
CN110324622A (zh) | 一种视频编码码率控制方法、装置、设备及存储介质 | |
CN111161316A (zh) | 目标物体跟踪方法、装置及终端设备 | |
CN114598880B (zh) | 图像处理方法、智能终端及存储介质 | |
US11375227B2 (en) | Video motion estimation method and apparatus, and storage medium | |
CN115002463B (zh) | 图像处理方法、智能终端及存储介质 | |
CN109151477B (zh) | 一种图像数据的编码、解码方法及装置 | |
KR20190109476A (ko) | 비디오 인코딩 방법, 장치, 및 디바이스, 및 저장 매체 | |
CN109429064A (zh) | 一种处理视频数据的方法和装置 | |
KR101425286B1 (ko) | 모션 추정을 위한 완전한 서브 매크로블록 형상 후보 저장 및 복구 프로토콜 | |
CN109587501A (zh) | 进行运动估计的方法、装置及存储介质 | |
CN105992001A (zh) | 一种对图片进行量化处理的方法及装置 | |
CN115379214B (zh) | 图像处理方法、智能终端及存储介质 | |
CN105187831B (zh) | 一种对图像进行压缩的方法和装置 | |
CN105142019B (zh) | 视频解码方法及装置 | |
CN105989175B (zh) | 图像显示方法及装置 | |
CN116847088B (zh) | 图像处理方法、处理设备及存储介质 | |
CN109003313B (zh) | 一种传输网页图片的方法、装置和系统 | |
CN105208391A (zh) | 帧内预测方法及装置 | |
CN110213593B (zh) | 一种运动矢量的确定方法、编码压缩方法和相关装置 | |
CN111654708A (zh) | 一种运动矢量获取方法、装置及电子设备 | |
CN105208392A (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 |