CN104079939B - 用于视频处理的移动估计的方法及装置 - Google Patents
用于视频处理的移动估计的方法及装置 Download PDFInfo
- Publication number
- CN104079939B CN104079939B CN201410355249.4A CN201410355249A CN104079939B CN 104079939 B CN104079939 B CN 104079939B CN 201410355249 A CN201410355249 A CN 201410355249A CN 104079939 B CN104079939 B CN 104079939B
- Authority
- CN
- China
- Prior art keywords
- pinpoint accuracy
- vector
- estimation
- motion
- mobile
- 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
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
一种用于视频处理的移动估计的方法及装置。一实施例的移动估计方法包括以下步骤。在移动估计的过程中:依据一预测移动向量的方向,执行一第一高精确度的移动估计以找出一第一高精确度的最合适位置。以及依据该预测移动向量的方向以及该第一高精确度的最合适位置,执行一第二高精确度的移动估计以找出一第二高精确度的最合适位置,其中该第二高精确度的移动估计的精确度高于该第一高精确度的移动估计的精确度。
Description
本申请是2010年8月10日提交的申请号为201010249337.8的发明专
利申请“用于视频处理的移动估计的方法及装置”的分案申请。
技术领域
本发明涉及一种移动估计的方法及装置,且特别涉及使用高精确度移动估计的一种移动估计的方法及装置。
背景技术
由国际标准组织ITU-T(International Telecommunication Union)以及ISO(International Organization for Standardization)/IEC(InternationalElectrotechnical Commission)所共同制定的H.264/AVC(AVC:Advanced Video Coding)视频压缩标准获得高缩压比的结果并因此广泛地为多种应用所使用,例如:蓝光光盘、IPTV(Internet Protocol Television)、HDTV(High Definition Television)广播等。此压缩标准使用两种预测方法以预测目前要进行编码的宏区块的像素。一种是画面内(intra)预测,其利用相邻宏区块之间的空间相关性去预测目前要进行编码的宏区块的像素。另一种是画面间(inter)预测,其利用接续的多个画面之间的时间相关性去预测目前要进行编码的宏区块的像素。而移动估计为每一个要进行编码的宏区块从上一个面画中找出最佳匹配区域的方法,并产生对应的移动向量。移动估计除了针对整数值的像素进行的整数移动估计以外,进一步进行高精确度移动估计,其能达成例如1/2及1/4像素的精确度。
虽然画面间预测为压缩效果带来许多的贡献,但是代价是需要大量的计算时间。例如,H.264/AVC提供多种不同大小的区块模式以进行移动估计,故此移动估计占去编码时间中约60%至90%的时间。再者,在H.264的参考软件之中,为了要得到最佳区块模式,针对所有区块模式进行全域搜寻,并分别进行整数移动估计及高精确度移动估计。如此,H.264的编码运算复杂度比之前移动估计采用固定宏区块大小的如MPEG-1或MPEG-2的视频标准来得高很多。对于需要实时编码的应用,如实现在手持装置上进行摄录的应用,就会耗费大量运算资源或需要高效能的处理器去进行编码,从而增加实现编码器的成本。
发明内容
以下公开内容涉及一种移动估计的方法及装置,适用于需要针对多种区块大小进行不同精确度的移动估计的视频编码过程中。一实施例提供一种移动估计的方法,用以减少所需进行的高精确度移动估计的模式的数量,如此可以增进整体的高精确度移动估计的效率。另一实施例提供一种移动估计的方法,用以减少于进行高精确度移动估计时搜寻位置的数量,如此可以减少运算资源的使用或以较少的硬件资源以实施。再者,利用前述实施例得出所需进行的高精确度移动估计的模式的数量减少的情况下,更可在进行各个高精确度移动估计时以实施例的较少的搜寻位置进行估计。如此,更可减少整体编码的复杂度及运算时间。
根据本公开的第一方面,提出一种移动估计的方法,此方法包括以下步骤。在移动估计的过程中:对于一宏区块执行整数移动估计以产生多个移动向量。至少依据此整数移动估计所得出的一部分的这些移动向量且此部分的移动向量对应到多个区块模式,通过判断各个这些区块模式的整数移动向量是否皆实质上等于此区块模式的较上层模式的整数移动向量,决定是否要执行或忽略此区块模式的高精确度移动估计,其中此区块模式的较上层模式所对应的区块大于此区块模式。如此,所需进行的高精确度移动估计的模式的数量可得以减少。
根据本公开的第二方面,提出一种移动估计的方法,此方法包括以下步骤。在移动估计的过程中:依据一预测移动向量的方向,执行一第一高精确度的移动估计以找出一第一高精确度的最合适位置。以及依据此预测移动向量的方向以及此第一高精确度的最合适位置,执行一第二高精确度的移动估计以找出一第二高精确度的最合适位置,其中第二高精确度的移动估计的精确度(accuracy)高于第一高精确度的移动估计的精确度。如此,进行高精确度移动估计时搜寻位置的数量可得以减少。
根据本公开的第三方面,提出一种具有移动估计的装置,包括一移动估计单元及一控制单元。移动估计单元,在移动估计的过程中,对于一宏区块执行整数移动估计以产生多个移动向量。控制单元,用于至少依据从移动估计单元所得出的一部分的这些移动向量且这部分的移动向量对应到多个区块模式,判断各区块模式的整数移动向量是否皆实质上等于此区块模式的较上层模式的整数移动向量,并据以选择性地控制此移动估计单元执行或忽略此区块模式的高精确度移动估计,其中此区块模式的较上层模式所对应的区块大于此区块模式。
根据本公开的第四方面,提出一种具移动估计的装置,包括一整数移动估计单元及一高精确度移动估计单元。高精确度移动估计单元,在移动估计的过程中,回应在此整数移动估计单元所产生的一整数移动向量,用以对此整数移动向量精细化(refinement)。此高精确度移动估计单元依据一预测移动向量的方向,对于此整数移动向量,执行一第一高精确度的移动估计以找出一第一高精确度的最合适位置。此高精确度移动估计单元依据此预测移动向量的方向以及此第一高精确度的最合适位置,执行一第二高精确度的移动估计以找出一第二高精确度的最合适位置,其中此第二高精确度的移动估计的精确度高于此第一高精确度的移动估计的精确度。
为了对公开的上述及其他方面有更佳的了解,下文特举优选实施例,并配合附图,作详细说明如下:
附图说明
图1绘示H.264的区块模式的各种分割类型。
图2绘示以硬件实现移动估计的一种方式。
图3所示为一视频编码器的部分电路方块图的一例子。
图4绘示模式1至3及P8x8的分割命名方式。
图5绘示依据第一实施例的移动估计方法的一第一例的流程图。
图6绘示依据第一实施例的移动估计方法的一第二例的流程图。
图7所示的依据第二实施例的一种移动估计方法的一流程图。
图8示意依据第二实施例的一种移动估计方法的寻找高精确度的最合适位置的过程。
图9A至图9D所示分别为4种可能情况,用以选择第一高精确度的搜寻位置及方向。
图10A至图10C所示分别为3种情况,用以选择第二高精确度的搜寻位置及方向。
图11为依据第二实施例的一高精确度移动估计单元的架构方块图。
【主要元件符号说明】
100:控制器 200:移动估计
210:IME单元 220、1100:FME单元
910:预测移动向量产生装置
920:移动向量成本计算电路
1100:高精确度移动估计装置
1110:内插装置 1120:搜寻位置产生装置
1130:残差计算电路 1140:哈达码转换装置(HT)
1150:累计器(ACC) 1160:比较电路
1170:模式决定电路 1180:存储器
P10B、P10C:可能位置
P730、P800、P810、P820:搜寻位置
A10、A100、A110:方向
S100、S500-S545、S600-S645、S710-S750:步骤
具体实施方式
以下公开的实施例的说明中,举H.264作为范例性的说明,然而,其也可应用于基于H.264的其他视频标准的实现之中,例如是可调性视频编码(Scalable Video Coding,SVC),或是应用于存储介质,如蓝光光盘(Blu-ray disc),高品质视频光盘(HD-DVD),或是电视广播如高画质电视或基于网络协定电视(IPTV)。故此,公开的各实施例可适用于各种视频处理场合之中,亦用以实现于各种运算装置、手持装置或视频处理装置之中。
第一实施例
第一实施例提供一种移动估计的方法,可用以减少所需进行的高精确度移动估计的模式的数量。此实施例在移动估计进行高精确度移动估计阶段时,至少依据整数移动估计所得出的部分移动向量,进行比较,以决定所需要执行的高精确度移动估计的模式。故此,所需进行的高精确度移动估计的模式的数量就得以减少,并因此增进整体的高精确度移动估计的效率。
此实施例适用于使用可变区块大小的移动估计(variable block-size motionestimation)的视频编码中。如H.264/AVC(以下简称H.264)为例,其允许于一16x16的宏区块中作不同大小的区块分割而形成不同的区块模式,共提供了7种不同大小的区块模式。如图1所示,区块模式可分为宏区块分割类型(macroblock types)与8x8分割类型(sub-macroblock type或8x8types)。宏区块分割类型包含了:16x16、16x8、8x16与8x8的区块模式。而8x8分割类型则包含了8x8、8x4、4x8与4x4的区块模式。
图2为以硬件实现移动估计的一种方式,移动估计的整数移动估计(integermotion estimation,IME)及高精确度移动估计(fractional motion estimation,FME)分别以两级电路来实现,如IME单元210及FME单元220,并例如以两管线级实现。当然在其他例子中,也可采用其他方式实施。IME单元210用以依据可变区块大小移动估计方式(variable-block-size motion estimation,VBSME),对于一个宏区块产生含有上述7种区块模式共41个整数移动向量(integer motion vector,IMV)之后,FME单元220依序对于每一个区块模式的移动向量进一步的提高其精确度,即精细化这些移动向量。最后,经过FME单元220处理后,具有最小成本的模式会被选为编码的最合适的模式。
而依据第一实施例的方法应用于图2的移动估计电路的意义在于,FME单元220需要执行哪些区块模式,至少依据IME单元210所得出的部分移动向量,经过比较而决定。故此,FME单元220并不需要对所有整数移动向量IMV进行全部的模式的高精确度移动估计。如此,高精确度移动估计所需的运算时间及运算资源能得以减少。以电路来实现FME单元220时,能简化电路复杂度。
图3所示为一视频编码器的部分电路方块图的一例子。移动估计单元200依据如图2所示的架构实现,以产生最合适的移动向量MVB。控制器100从移动估计单元200得到部分的整数移动向量,并至少依据此些整数移动向量决定移动估计单元200需要执行哪些区块模式的高精确度移动估计。控制器100例如是通过至少一控制信号CS控制移动估计单元200。
以下举例说明依据本实施例的方法如何至少依据整数移动估计所得出的部分移动向量,进行比较,以决定所需要执行的高精确度移动估计的模式。
在H.264中,码率失真成本或简写为RDcost(rate-distortion cost)可据以作为决定成本最小的模式的条件。码率失真成本RDcost可以表示为:λ*bit_len(mvd)+SATD,其中λ由量化参数所决定,而bit_len(mvd)代表移动向量差异(motion vector difference,mvd)的编码位数,SATD表示绝对转换差异的和(sum of absolute transformeddifference)。而本实施例针对H.264,则应用如下的观点以定出模式决定的条件,来减少冗余的模式的移动估计。一者是,如果两模式的整数移动向量是实质上相同则此模式的SATD是相当接近的,其中实质上相同(或相等)指两者相同,例如是两移动向量的坐标值皆相同,或可视为两者的差异在一预定的范围内,例如是两移动向量的坐标值(至少x与y坐标值的至少一个)的差值在一或两个像素的范围内,此范围可随实际应用的需要而定义或设定。另一观点是,一模式的移动向量很有可能趋近于其较上层区块。例如,请参考图1,模式2(即16x8的区块模式)的分割0视为模式4(即16x16分割为4个8x8的区块模式)的分割0或1的上层区块,后者所对应的移动向量通常都是趋近于前者的移动向量。故此,以下举两个例子说明依据第一实施例的移动估计方法。
请参考图5,依据第一实施例的移动估计方法的一第一例的流程图。在进行移动估计时,如步骤S100所示,对于一宏区块执行整数移动估计,例如是前述H.264的7个区块模式以产生相对应的多个整数移动向量。接着,如步骤S500所示,执行依本实施例的一高精确度移动估计的方法,至少依据整数移动估计所得出的部分移动向量,判断一模式的整数移动向量是否皆实质上等于其较上层模式的整数移动向量,以决定是否要执行此模式的高精确度移动估计。另外,以H.264为例,模式的定义请参考图1及图4,模式1至3分别代表16x16、16x8与8x16的3种区块模式;而模式P8x8即代表前述的8x8分割类型,每个8x8的区块及其分割可以产生其有4种不同大小的区块,如8x8、8x4、4x8与4x4,图4模式P8x8所示为分割0至8的一宏区块,其中对于一模式的一分割n的整数移动向量可简称为IMVn。
图5中的高精确度移动估计的方法包括如下步骤。如步骤S510所示,执行模式1的高精确度移动估计。之后,执行步骤S520,决定模式2及模式1的整数移动向量是否实质上相同。亦即,判断模式2的分割0及1的整数移动向量(即IMV0及IMV1)是否实质上皆等于模式1的整数移动向量(即IMV0)。如果否,则如步骤S525所示,执行模式2的高精确度移动估计,即对模式2的整数移动向量进行高精确度移动估计,例如以移动估计单元200的FME单元220对模式2的两个整数移动向量IMV0及IMV1进行精细化(refinement)。并在步骤S525结束后执行步骤S530。如果步骤S520的判断结果为是,则表示可以忽略步骤S525。
此例的方法继续进入步骤S530,以决定模式3及模式1的整数移动向量是否实质上相同。亦即,判断模式3的分割0及1的IMV0及IMV1是否实质上皆等于模式1的IMV0。如果否,则如步骤S535所示,执行模式3的高精确度移动估计,并在步骤S535结束后执行步骤S540。如果步骤S530的判断结果为是,则表示可以忽略步骤S535。
此例的方法继续进入步骤S540,以决定模式P8x8的整数移动向量是否实质上等于模式1、2或3的整数移动向量。如果否,则如步骤S545所示,执行模式P8x8的高精确度移动估计。如果步骤S540的判断结果为是,则表示可以忽略步骤S545。另外,步骤S540的判断条件例如为满足如下条件1、2及3中的一个。条件1:模式P8x8的IMV0至IMV8皆等于模式1的IMV0。条件2:模式P8x8的IMV0至IMV2皆等于模式2的IMV0,且模式P8x8的IMV3至IMV8皆等于模式2的IMV1。条件3:模式P8x8的IMV0、IMV3及IMV4皆等于模式3的IMV0,且模式P8x8的IMV1、IMV2、IMV5至IMV8皆等于模式3的IMV1。此外,为了减少需要执行高精确度移动估计的模式,在一例子中,对次步骤S540中的模式P8x8的整数移动向量,可以只取用从一宏区块所分割出来的4个8x8的区块中每个8x8的区块的8x8分割类型之中(即8x8、8x4、4x8及4x4的模式)最佳模式(即对应的RDcost最低)的整数移动向量。故在步骤S540中,只需要至少4个IMV,最多有16个IMV来作为比对的依据,而且比对时,只需要比较最佳模式的IMV,没有取用的模式可以不纳入条件1、2或3中。例如,假设模式P8x8的整数移动向量为4个8x8的区块模式的IMV0,如果此4个模式P8x8的IMV0皆等于模式1的IMV0,即条件1被满足,至于IMV2至IMV8并不是最佳模式的IMV,故不用比对。另外,假设模式P8x8的整数移动向量为2个8x8的区块模式的IMV0、1个4x8的区块模式的IMV3及IMV4、1个4x4的区块模式的IMV5至IMV8,如果此例的IMV0与模式2的IMV0相同,而且IMV3至IMV8皆同等于模式的IMV1,亦即条件2得以满足。其他情况可依此类推,故不再赘述。
在步骤S540或S545结束后,移动估计方法还可依据在步骤S500中所得的高精确度移动向量以及已知的整数移动向量,找出合适的区块模式及移动向量。例如,H.264的移动估计方式,根据码率失真成本以找出最合适的区块模式及移动向量。
经过模拟测试几个示范性的视频文件(如akiyo、news、silent、foreman、mobile),本实施例的第一例通过减少所需进行的高精确度移动估计的模式的数量,可以减少高精确度移动估计所需要的时钟周期数,约可减少H.264的参考软件的60%的时钟周期数。此外,也可达成与H.264的参考软件相似的品质。
请参考图6,依据第一实施例的移动估计方法的一第二例的流程图。此例子与图5的主要异差在于:如步骤S600所示的一高精确度移动估计的方法,除了至少依据整数移动估计所得出的部分移动向量,进行比较以外,更进一步考量移动向量差异的编码位数,亦即依据一模式及其较上层模式之间整数移动向量IMV及移动向量差异成本mvd_cost的关系,以决定是否要执行此模式的高精确度移动估计。移动向量差异成本mvd_cost即前述码率失真成本RDcost=λ*bit_len(mvd)+SATD中的λ*bit_len(mvd)。
图6中的高精确度移动估计的方法包括如下步骤。如步骤S610所示,判断模式2及模式1的整数移动向量是否实质上相同,而且模式2的移动向量差异成本是否大于模式1的移动向量差异成本(mvd_cost(mode2)>mvd_cost(mode1)),其中modeN即代表模式N,N为正整数。如果否,则如步骤S615所示,执行模式2的高精确度移动估计,并在步骤S615结束后执行步骤S620。如果步骤S610的判断结果为是,则表示可以忽略步骤S615。
此例的方法继续进入步骤S620,判断模式3及模式1的整数移动向量是否实质上相同,而且模式3的移动向量差异成本是否大于模式1的移动向量差异成本(mvd_cost(mode3)>mvd_cost(mode1))。如果否,则如步骤S625所示,执行模式3的高精确度移动估计,并在步骤S625结束后执行步骤S630。如果步骤S620的判断结果为是,则表示可以忽略步骤S625。
此例的方法继续进入步骤S630,判断模式1及模式2
的IMV是否实质上相同且模式2的FME已执行,或是模式1及模式3的IMV是否实质上相同且模式3的FME已执行。如果否,则如步骤S635所示,执行模式1的高精确度移动估计,并在步骤S635结束后执行步骤S640。如果步骤S630的判断结果为是,则表示可以忽略步骤S635。
如步骤S640所示,判断模式P8x8的整数移动向量是否实质上等于模式1、2或3的整数移动向量。如果否,则如步骤S645所示,执行模式P8x8的高精确度移动估计。如果步骤S640的判断结果为是,则表示可以忽略步骤S645。此处的步骤S640及S645与图5中的步骤S540及S545相似,其他情况可依此类推,故不再赘述。
在步骤S640或S645结束后,移动估计方法更可依据在步骤S600中所得的高精确度移动向量以及已知的整数移动向量,找出合适的区块模式及移动向量。例如,H.264的移动估计方式,根据码率失真成本以找出最合适的区块模式及移动向量。
上述图6的第二例因为还考虑移动向量差异成本作为判断条件,更能在减少运算资源的同时获得与参考软件相似的传输率(bit rate)。在硬件实际操作时,第一实施例的两个例子时,需要增加判断电路,如以比较器或加法器,或逻辑电路实施。例如,请参考图3,可以于控制器100中实施有关的判断电路。此外,在此例子中,如果实现步骤S540时,模式P8x8的整数移动向量采用最佳模式的整数移动向量的话,则只需要传输较少数量的IMV至控制器100,便可以依据本实施例,以控制移动估计单元200决定要执行或是忽略哪些高精确度移动估计的模式,从而增进高精确度移动估计的效能。控制器100可以实际操作为独立的电路或是一视频处理器如编码器或视频传输装置之中的控制电路,如编码控制器。
第二实施例
第二实施例提供一种移动估计的方法,用以减少于进行高精确度移动估计时搜寻位置的数量。此实施例在移动估计针对一整数移动向量进行高精确度移动估计的过程中,第一轮首先依据预测移动向量的方向来产生第一高精确度的搜寻位置,找出第一高精确度的最合适位置后,还据此预测移动向量的方向及最合适位置进一步精细化,产生第二高精确度的搜寻位置,以找出其中第二高精确度的最合适位置。如此可提升高精确度移动估计的效率,减少运算资源的使用,或能以较少的硬件资源以实施高精确度移动估计。
请参考图7所示的依据第二实施例之一种移动估计的方法的一流程图。此方法用以对一整数移动向量,进行高精确度移动估计以提高其精确度,即精细化此整数移动向量,例如具有最小整数移动估计成本的一整数移动向量。以下举例以一整数移动向量的坐标点作为一整数位置,作为进行高精确度移动估计的开始点(也可视为原点),如图8的开始点P800。在图7中,如步骤S710所示,取得一预测移动向量(predicted motion vector)PMV,其基于目前编码的宏区块的邻近的宏区块的移动向量而决定,例如H.264的预设会产生的预测移动向量。接着,如步骤S720所示,依据此预测移动向量的方向,产生数个第一高精确度的搜寻位置,其中第一高精确度例如为1/2像素,而这些第一高精确度的搜寻位置皆为离此方向较近的第一高精确度的位置。例如,图8中的箭号A10代表预测移动向量的方向为向右上,在此方向上离此方向较近的1/2像素的位置如正方形所代表的3个点作为1/2像素的搜寻位置。
如步骤S730所示,对这些第一高精确度的搜寻位置及此整数位置,执行FME以找出其中第一高精确度的最合适位置,其中FME如以平行处理方式达行。例如,依照H.264,利用FME单元计算3个1/2像素的搜寻位置以及开始点P800的码率失真成本,找出其中成本最小者作为第一高精确度的最合适位置如位置P810。以如步骤S740所示,基于第一高精确度的最合适位置及此预测移动向量的方向,产生多个第二高精确度(例如为1/4像素)的搜寻位置,而这些第二高精确度的搜寻位置皆为离此预测移动向量的方向及此整数位置较近的第二高精确度的位置。例如在位置P810附近,较接近此预移动向量的方向(实际上靠右上方向)及此整数位置(即位置P800)的第二高精确度的位置(即4个三角型所代者的位置)。
如步骤S750所示,对这些第二高精确度的搜寻位置,执行FME以找出其中最合适的第二高精确度位置,其中FME系如以平行处理方式达行。例如,最合适的第二高精确度位置为位置P820。
在上述步骤S720中,依据此预测移动向量的方向所产生的数个第一高精确度的搜寻位置皆为离此方向较近的第一高精确度的位置。在一例子中,搜寻位置例如图9A至图9D所示,可分别预先设定4种可能情况,依预测移动向量的方向如其坐标方向(x-dir,y-dir)的正负号:(+,+)、(+,-)、(-,-)、(-,+)分为情况1至4。在步骤S720中,可以依预测移动向量的方向,从4种情况中找出对应的一个预定的搜寻方向即右下、右上、左上及左下(如其中箭号所示),以及数个(如3个或2个)相对应第一高精确度的搜寻位置,此3个位置皆离此方向较近,且与开始点相距第一高精确度的坐标位置,如H.264中所需的1/2像素。
此外,在步骤S740中,基于第一高精确度的最合适位置及此预测移动向量的方向所产生的多个第二高精确度的搜寻位置皆为离此预测移动向量的方向及此整数位置较近的第二高精确度的位置。此例的作法可称为调适性的基于方向的(adaptive anddirection-based)位置搜寻,例如,图10A至图10C分别说明3种情况。
情况1为前述步骤S730所找出的第一高精确度的最合适位置为原点P800时,则第二高精确度的搜寻位置可设为原点P800的上下左右且与开始点相距第二高精确度的坐标位置,如H.264中所需的1/4像素,(1/4,0)、(0,1/4)、(-1/4,0)及(0,-1/4)。
在图10B示意情况2时,第一高精确度的最合适位置P730不为原点P800时,则第二高精确度的搜寻位置可从5个1/4像素的位置中(如三角形所示)基于一更新的预测方向A110而选取。此更新的预测方向A110系基于位置P730及前述此预测移动向量的方向A100而得。从图10B中可见,由于更新的预测方向A110表示更精确的搜寻位置应出现在离此预测移动向量的方向A100及此整数位置P800较近的第二高精确度的位置:即(1/4,-1/2)、(1/4,-1/4)、(0,-1/4)及(-1/4,-1/4),亦即空心的三角形所示的位置。如此类推,如果更新的预测方向A110偏向左下,则选取偏左边的四个位置:即(-1/4,-1/2)、(-1/4,-1/4)、(0,-1/4)及(1/4,-1/4)。其他的最合适位置P730落在通过原点的x或y轴时,可依此类推,第二高精确度的位置如落入在图10B中的粗黑线P10B所示的可能位置之中。
在图10C示意情况3时,第一高精确度的最合适位置P730位置如图10C所示的正方形的位置时,其选取第二高精确度的搜寻位置与图10B的情况2相似,可依此类推,故不再赘述。第二高精确度的位置如落入在图10C中的粗黑线P10C的可能位置之中。
再者,第二实施例之上例子说明中,皆以4个第一或第二高精确度的搜寻位置为例进行高精确度移动估计以找出其中的最合适位置。但本实施例并不以此为限,其他的例子中,依第二实施例的基于预测移动向量的方向的高精确度移动估计在步骤S720(或步骤S740)中产生其他数目如3、4或5的个数的搜寻位置。另外,本实施例亦不限定于第一及第二高精确度分别为1/2及1/4像素,其他可能的高精确度如1/3及1/6或1/8像素也可应用。此外,在其他例子中,图7的流程也可进一步相似地重复S740及S750以再进行一次精细化。此外,第一或第二高精确度的搜寻位置的选取也可改以其他方式得到,这些第一高精确度的搜寻位置皆为离此预测移动向量的方向较近的第一高精确度的位置,而多个第二高精确度的搜寻位置皆为离此预测移动向量的方向及此整数位置较近的第二高精确度的位置。
另外,依据本实施例,可以实现一种高精确度移动估计的装置。请参考图11,其为依据本实施例的一高精确度移动估计单元1000的架构方块图,高精确度移动估计单元1000包括高精确度移动估计装置1100及模式决定电路1170及存储器1180如缓冲器。高精确度移动估计装置1100例如依据上述图7的高精确度移动估计的方法以硬件实现。预测移动向量产生装置910接收目前的宏区块CB的邻近宏区块的移动向量(MV)产生预测移动向量PMV以实现步骤S710。搜寻位置产生装置1120依据预测移动向量PMV以及通过内插装置1110产生适合的搜寻位置,以实现S720。搜寻位置产生装置1120,例如依据图9A至图9D的方式以数字电路、逻辑电路或以查表或固件实现,依据预测移动向量的坐标,判断要选用哪一种情况及对应的方向及搜寻位置。当依据这些搜寻位置进行高精确度移动估计时,高精确度移动估计装置1100需要读取参考画面的像素RB及目前宏区块的像素CB。高精确度移动估计装置1100的残差计算电路1130、哈达码转换装置(Hadamard transform,HT)1140如实现4x4的哈达码转换,以及累计器(accumulator,ACC)1150,则依据如H.264的标准,进行高精确度移动估计,计算出各个搜寻位置所对应的成本,如RDcost,其中残差计算电路1130读取目前宏区块的像素CB并与搜寻位置产生装置1120所产生的搜寻位置作比较产生残差(residue)给HT1140并可输出残差数据。HT1140共有4个,对应到4个搜寻位置,并且以平行方式运算,并配合ACC1140,可以得出各个搜寻位置的SATD。另外,再配合移动向量成本计算电路920输出mvd_cost,达成了各个搜寻位置的RDcost的计算。接着,通过比较电路1160,找出当中成本最小的搜寻位置。如此实现了步骤S730。此外,搜寻位置产生装置1120接收比较电路1160输出的第一高精确度的最合适搜寻位置并依据预测移动向量PMV,产生第二高精确度的搜寻位置,以实现步骤S740。例如,搜寻位置产生装置1120可以依据图10A至图10C所示,依据前述条件以电路判断或查表或计算以选取适用的搜寻位置。接着,高精确度移动估计装置1100如上述般实现步骤S750。最后输出第二高精确度的最合适搜寻位置到模式决定电路1170,其依据之前所得到整数移动向量及高精确度移动向量以及成本等的参数决定最合适的区域模式,并输出到存储器1180之中。如此,可以输出例如最佳移动向量MVB、最佳模式及最小SATD的数据供视频处理如编码之用。
另外,在实现H.264时,预测移动向量PMV为视频系统标准中必须产生的,故若在视频处理器能提供的情况之下,就不必另外由高精确度移动估计单元1000自行产生,故此,在其他实现方式中,预测移动向量产生装置910及移动向量成本计算电路920的至少一个可视为实施例在高精确度移动估计单元1000以外的电路,或是不必实现于高精确度移动估计单元1000之内,直接从视频处理器的其他部分读取即可。另外,在其他实施例中,在图11中的HT1140及ACC1150可以使不同组数如3或5组对应到每次作FME时3或5个搜寻位置。
此外,虽然本实施例以H.264作为范例性说明,但是,其他需要进行高精确度移动估计的场合或其他视频处理也可利用本实施例以执行。在其他视频处理中,如果不并采用哈达码转换者可改采其他转换或最合适搜寻位置的成本计算,只要其实施时依基于预测移动向量为产生搜寻位置的高精确度移动估计其中更再调适性的基于预测移动向量进一步精细化搜寻位置的话,皆可视为本实施例的实现范围之内。
第三实施例
第三实施例系在前述的第一实施例得出所需进行的高精确度移动估计的模式的数量减少的情况下,在进行各个高精确度移动估计时,如图5的步骤S510、S525、S535及S545以及图6中如步骤S610、S625、S635及S645,以第二实施例的较少的搜寻位置进行估计。如此,更可进一步减少整体编码的复杂度及运算时间,以达成更佳的效能。请参考图2及图3,依第三实施例之下,可视为将第一实施例实现于控制器100之中,而移动估计单元200则包括有如图2的架构,而FME单元220则可依照第二实施例的方式实施。
其他实施例
此外,上述第一实施例及第二实施例的实施方式,其可单独实施。也就是说,在实施第一实施例时,高精确度移动估计的执行如步骤S510或S610所示者,可以采用第二实施例以外的其他方式实施。另外,在实施第二实施例时,也可配合其他第一实施例以外的方式以减省所需要的模式或是全部模式皆执行,又或者是以一独立的高精确度移动估计单元或是包括整数移动估计及高精确度移动估计的移动估计装置来实施第二实施例。上述的各个本公开的实施例的方法或硬件实际操作,不论是个别或联合的方式皆视为本公开所却揭示的实施范围之内。
另外,本公开上述的方法除了上述的硬件结构实施以外,也可利用如处理器、数字信号处理器、数字视频处理器实施,或是以可编程的集成电路如微控制器、元件可编程逻辑门阵列(FPGA,Field Programmable Gate Array)之类的电路来实现,其中例如以硬件描述(HDL,Hardware description language)来设计。
另外,本公开上述的方法也可以软件程序来实现,如依据本公开的方法的一例子的程序代码记录在一存储介质之中,如存储器如ROM、RAM及之类的介质、或光学或磁性或其他记录介质,或是实现为固件(firmware)。当运算装置的视频处理器如编码器或微处理的类,从存储有依本公开的方法的程序代码的存储介质读取并执行,能实现依本公开的方法。再者,本公开的上述方法可以软硬件结合的方式实现。
如上述,本公开的第一实施例提供一种移动估计的方法,可用以减少所需进行的高精确度移动估计的模式的数量,如此可以增进整体的高精确度移动估计的效率。第二实施例提供一种移动估计的方法,用以减少于进行高精确度移动估计时搜寻位置的数量,如此可以减少运算资源的使用或以较少的硬件资源以实施。再者,利用前述实施例得出所需进行的高精确度移动估计的模式的数量减少的情况下,更可在进行各个高精确度移动估计时以实施例的较少的搜寻位置进行估计。如此,更可减少整体编码的复杂度及运算时间。相对于需要进行全部模式的高精确度移动估计的实现方式来说,大大减少了整体移动估计的运算时间。
综上所述,虽然已以实施例公开如上,然其并非用以限定可能实施的方式。本申请本领域技术人员,在不脱离本公开的精神和范围内,当可作各种的更动与润饰。因此,本申请的保护范围当视所附权利要求书所界定者为准。
Claims (4)
1.一种用于可变区块大小的视频编码的移动估计方法,适用于使用可变区块大小的移动估计的视频编码,该方法包括:
在移动估计的过程中:
依据一预测移动向量的方向,执行一第一高精确度的移动估计以找出一第一高精确度的最合适位置;以及
依据该预测移动向量的方向以及该第一高精确度的最合适位置,执行一第二高精确度的移动估计以找出一第二高精确度的最合适位置,其中该第二高精确度的移动估计的精确度高于该第一高精确度的移动估计的精确度,
其中该执行一第一高精确度的移动估计的步骤包括:
依据该预测移动向量的方向,产生多个离该预测移动向量的方向较近的第一高精确度的搜寻位置;
对于这些第一高精确度的搜寻位置和作为原点的一整数位置,执行该第一高精确度的移动估计以找出该第一高精确度的最合适位置,
其中该执行一第二高精确度的移动估计的步骤包括:
依据该预测移动向量的方向以及该第一高精确度的最合适位置,产生多个离该预测移动向量的方向及该原点较近的第二高精确度的搜寻位置;
对于这些第二高精确度的搜寻位置,执行该第二高精确度的移动估计以找出该第二高精确度的最合适位置。
2.如权利要求1所述的方法,其中该预测移动向量基于目前编码的宏区块的邻近的宏区块的移动向量决定。
3.如权利要求1所述的方法,其中该第一高精确度的移动估计及该第二高精确度的移动估计皆以平行方式进行。
4.一种用于可变区块大小的视频编码的移动估计装置,适用于使用可变区块大小的移动估计的视频编码,包括:
一整数移动估计单元;以及
一高精确度移动估计单元,在移动估计的过程中,回应于该整数移动估计单元所产生的一整数移动向量,用以对该整数移动向量精细化;
其中该高精确度移动估计单元依据一预测移动向量的方向,对于该整数移动向量,执行一第一高精确度的移动估计以找出一第一高精确度的最合适位置;以及
该高精确度移动估计单元依据该预测移动向量的方向以及该第一高精确度的最合适位置,执行一第二高精确度的移动估计以找出一第二高精确度的最合适位置,其中该第二高精确度的移动估计的精确度高于该第一高精确度的移动估计的精确度,
其中该高精确度移动估计单元包括一搜寻位置产生装置,该搜寻位置产生装置用以于执行该第一高精确度的移动估计时,依据该预测移动向量的方向,产生多个离该预测移动向量的方向较近的第一高精确度的搜寻位置,
其中该搜寻位置产生装置还用以于执行该第二高精确度的移动估计时,依据该预测移动向量的方向以及该第一高精确度的最合适位置,产生多个离该预测移动向量的方向及原点较近的第二高精确度的搜寻位置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410355249.4A CN104079939B (zh) | 2010-08-10 | 2010-08-10 | 用于视频处理的移动估计的方法及装置 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010249337.8A CN102377998B (zh) | 2010-08-10 | 2010-08-10 | 用于视频处理的移动估计的方法及装置 |
CN201410355249.4A CN104079939B (zh) | 2010-08-10 | 2010-08-10 | 用于视频处理的移动估计的方法及装置 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010249337.8A Division CN102377998B (zh) | 2010-08-10 | 2010-08-10 | 用于视频处理的移动估计的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104079939A CN104079939A (zh) | 2014-10-01 |
CN104079939B true CN104079939B (zh) | 2017-12-15 |
Family
ID=51600948
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410355249.4A Active CN104079939B (zh) | 2010-08-10 | 2010-08-10 | 用于视频处理的移动估计的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104079939B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5428403A (en) * | 1991-09-30 | 1995-06-27 | U.S. Philips Corporation | Motion vector estimation, motion picture encoding and storage |
CN1947426A (zh) * | 2004-04-08 | 2007-04-11 | 三星电子株式会社 | 用于实现运动可伸缩性的方法和设备 |
TW200850006A (en) * | 2007-06-01 | 2008-12-16 | Nat Univ Chung Cheng | Scalable fractional motion estimation method for multimedia encoding system |
CN101431671A (zh) * | 2007-11-07 | 2009-05-13 | 财团法人工业技术研究院 | 选择预测模式的方法及编码器 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060002474A1 (en) * | 2004-06-26 | 2006-01-05 | Oscar Chi-Lim Au | Efficient multi-block motion estimation for video compression |
-
2010
- 2010-08-10 CN CN201410355249.4A patent/CN104079939B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5428403A (en) * | 1991-09-30 | 1995-06-27 | U.S. Philips Corporation | Motion vector estimation, motion picture encoding and storage |
CN1947426A (zh) * | 2004-04-08 | 2007-04-11 | 三星电子株式会社 | 用于实现运动可伸缩性的方法和设备 |
TW200850006A (en) * | 2007-06-01 | 2008-12-16 | Nat Univ Chung Cheng | Scalable fractional motion estimation method for multimedia encoding system |
CN101431671A (zh) * | 2007-11-07 | 2009-05-13 | 财团法人工业技术研究院 | 选择预测模式的方法及编码器 |
Non-Patent Citations (1)
Title |
---|
分数像素运动矢量代价产生器的VLSI设计;王庆春 等;《电视技术:数字电视与数字视频》;20071231;第31卷(第4期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN104079939A (zh) | 2014-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI440364B (zh) | 使用預測導引減數搜尋之移動估計 | |
CA2845591C (en) | Video encoding method and decoding method, apparatuses therefor, programs therefor, and storage media for storing the programs | |
CN111385569A (zh) | 一种编解码方法及其设备 | |
TWI461066B (zh) | 彈性調整估算搜尋範圍的移動估算方法及視差估算方法 | |
TWI489878B (zh) | 影像編碼方法、影像解碼方法、影像編碼裝置、影像解碼裝置及該等之程式 | |
CN101600108A (zh) | 一种多视点视频编码中的运动和视差联合估计方法 | |
US9094687B2 (en) | Video encoder and video decoder | |
CN102656889A (zh) | 图像编码装置、图像解码装置、图像编码方法及图像解码方法 | |
CN103327319B (zh) | 利用缩放后的运动搜索识别运动矢量候选的方法与设备 | |
CN101888546B (zh) | 一种运动估计的方法及装置 | |
CN103188496A (zh) | 基于运动矢量分布预测的快速运动估计视频编码方法 | |
CN104853191A (zh) | 一种hevc的快速编码方法 | |
CN100525454C (zh) | 帧间预测模式的选择方法 | |
TWI521950B (zh) | 用於視訊處理之移動估計之方法及裝置 | |
JP5566786B2 (ja) | 誤差絶対値和の推定システム及び推定方法 | |
TWI590083B (zh) | 一種產生影像位移偵測之快速搜尋視窗的方法 | |
CN104079939B (zh) | 用于视频处理的移动估计的方法及装置 | |
KR101691380B1 (ko) | 시프팅 매트릭스를 이용한 dct 기반의 부화소 단위 움직임 예측 방법 | |
CN109982079B (zh) | 一种结合纹理空间相关性的帧内预测模式选择方法 | |
CN102377998B (zh) | 用于视频处理的移动估计的方法及装置 | |
JP2011091696A (ja) | 動きベクトル予測方法 | |
KR20110134404A (ko) | 화상 데이터의 블록을 예측하는 방법, 이 방법을 실행하는 복호 장치 및 부호화 장치 | |
JP2007312425A (ja) | 画像符号化方法,画像復号方法,画像符号化装置,画像復号装置,画像符号化プログラム,画像復号プログラムおよびそれらのプログラムを記録した記録媒体 | |
JP2004072732A (ja) | 符号化装置、コンピュータ読取可能なプログラム、符号化方法。 | |
Cheng et al. | A fast fractional pel motion estimation algorithm for H. 264/AVC |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |