CN102340617B - 运动估算及运动补偿电路 - Google Patents

运动估算及运动补偿电路 Download PDF

Info

Publication number
CN102340617B
CN102340617B CN201010229207.8A CN201010229207A CN102340617B CN 102340617 B CN102340617 B CN 102340617B CN 201010229207 A CN201010229207 A CN 201010229207A CN 102340617 B CN102340617 B CN 102340617B
Authority
CN
China
Prior art keywords
memory
register
frame
macro block
row
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
Application number
CN201010229207.8A
Other languages
English (en)
Other versions
CN102340617A (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.)
Himax Technologies Ltd
Original Assignee
Himax Technologies 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 Himax Technologies Ltd filed Critical Himax Technologies Ltd
Priority to CN201010229207.8A priority Critical patent/CN102340617B/zh
Publication of CN102340617A publication Critical patent/CN102340617A/zh
Application granted granted Critical
Publication of CN102340617B publication Critical patent/CN102340617B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

一种运动估算(ME)及运动补偿(MC)电路。在运动估算电路中,第一存储器储存第一帧的搜寻范围,且第一寄存器的每一列电耦接至第一存储器的相应列;第二存储器储存第二帧的搜寻范围,且第二寄存器的每一列电耦接至第二存储器的相应列。于搜寻范围内进行区块匹配度量(block-matching metric)的计算,以得到运动向量(MV)。于运动补偿电路中,第一多工器将第一寄存器的每一列耦接至第一存储器的相应列,由此,可自第一存储器选取每一宏块(MB)并加载至第一寄存器。第二多工器将第二寄存器的每一列耦接至第二存储器的相应列,由此,可自第二存储器选取每一宏块(MB)并加载至第二寄存器。

Description

运动估算及运动补偿电路
技术领域
本发明有关一种数字影像处理,特别是关于一种运动估算(motionestimation,ME)及运动补偿(motion compensation,MC)电路。
背景技术
运动估算(ME)为一种数字影像处理的技术,用于决定运动向量(motionvector或moving vector,MV),以表示对象在影像序列中二相邻帧之间的移动。接着,将运动向量应用于运动补偿,可在二相邻帧中产生中间帧,以转换帧速率或进行影像压缩。
有各种的算法以执行运动估算或运动补偿。然而,大部分运动估算或运动补偿的数学计算量很大,因此,通常无法以软件方式来实现实时(real-time)应用。即使可以使用硬件电路来实现,但是通常所需电路面积很大,因而无法以合理成本来实施。
鉴于传统运动估算或运动补偿的算法效率不高或者不适于实施,因此亟需提出一种新颖的运动估算或运动补偿算法及其相关电路。
发明内容
鉴于上述,本发明实施例的目的之一在于提出一种运动估算(ME)及运动补偿(MC)电路,相较于传统方法,可大幅地减少硬件电路及其绕线。
根据本发明实施例,运动估算(ME)电路包含第一、第二存储器,第一、第二寄存器,及度量电路。第一存储器用于储存第一帧的搜寻范围。第一寄存器的尺寸小于第一存储器,且第一寄存器的每一列电耦接至第一存储器的相应列。第二存储器用于储存第二帧的搜寻范围。第二寄存器的尺寸小于第二存储器,且第二寄存器的每一列电耦接至第二存储器的相应列。度量电路用于计算第一寄存器的宏块(MB)与第二寄存器的宏块之间的多个区块匹配度量,且接着自第一存储器移位一像素位置至第一寄存器,并自第二存储器移位一像素位置至第二寄存器。重复执行区块匹配度量的计算及像素移位,直到处理完整个搜寻范围,其中,当多于一个宏块位置均具有最小区块匹配度量时,则决定出最接近该第一帧及第二帧中心的宏块,及其中,当计算该区块匹配度量时,该第一帧的宏块和该第二帧的宏块互为对称且位置相对。
根据本发明另一实施例,运动补偿(MC)电路包含第一、第二存储器,第一、第二寄存器,及第一、第二多工器。第一存储器用于储存第一帧的MC范围,且第一寄存器的尺寸等于一宏块(MB)。每一第一多工器将第一寄存器的每一列耦接至第一存储器的相应列,由此,可自第一存储器选取每一MB并加载至第一寄存器。第二存储器用于储存第二帧的MC范围,且第二寄存器的尺寸等于宏块(MB)。每一第二多工器将第二寄存器的每一列耦接至第二存储器的相应列,由此,可自第二存储器选取每一MB并加载至第二寄存器。
附图说明
图一分别显示二帧的运动向量(MV)的搜寻范围。
图二显示根据一MV算法的MB移动轨迹图。
图三显示相应于图二的MB移动轨迹图的MB移动顺序图。
图四显示MB移动的例子。
图五显示本发明实施例的MV算法的MB移动轨迹图。
图六显示本发明实施例中相应于第五图的MV算法的SAD产生电路。
图七A至第七C例示于二寄存器的MB之间计算其SAD。
图八例示ME的决定。
图九显示二MC范围,其大小皆为18x18。
图十显示本发明实施例的MC电路。
图十一A及图十一B例示SRAM列、多工器及寄存器列。
【主要组件符号说明】
50度量电路
501第一SAD电路
502第二SAD电路
503第三SAD电路
504第四SAD电路
505第五SAD电路
506第六SAD电路
507第七SAD电路
60A第一静态随机存取存储器(SRAM)
60B第二静态随机存取存储器(SRAM)
62A第一寄存器
62B第二寄存器
100A第一静态随机存取存储器(SRAM)
100B第二静态随机存取存储器(SRAM)
102A第一寄存器
102B第二寄存器
104A第一多工器
106A第一多工器
SEL选择信号
具体实施方式
第一图分别显示二帧(例如帧1及帧2)的运动向量(MV)的搜寻范围。一般来说,帧1及帧2分别为参考帧(例如前一帧)及目前帧。在此例子中,每一运动向量(MV)搜寻范围为12x12的矩阵。每一MV搜寻范围内具有运动区块或宏块(motion block或macro block,MB),例如6x6的矩阵。第二图显示根据一MV算法的MB移动轨迹图。在此图中,每一区块表示MB的位置。例如,中心位置为(0,0),中心往右的位置具正水平坐标,而中心往下的位置具正垂直坐标。对于帧1的MB移动轨迹图,其MB以前向估算(forward-estimation)方式移动;对于帧2的MB移动轨迹图,其MB以逆向估算(backward-estimation)方式移动。换句话说,帧1与帧2的移动互为对称且位置相对。第三图显示相应于第二图的MB移动轨迹图的MB移动顺序图。如图所示,每一MB总共移动了49次。
根据图二及图三所示的MV算法,于每一个时间计算其绝对差之和(sumof absolute differences,SAD)。详而言之,于每一时间(或位置),对于帧1的MB及帧2的相应MB,分别计算相应像素之间的绝对差(absolutedifference,AD)。接着,将所有36像素的绝对差(AD)加总,以得到绝对差之和(SAD)。由于总共有49个位置,因而可得到49个绝对差之和(SAD),此称为完全SAD(full-SAD)。
根据得到的49个SAD,具最小SAD的MB位置即可视为MV的一半(亦即,1/2MV)。若将帧2的MB位置减去帧1的MB位置,即可得到MV。于第四图所示的例子中,帧2的MB由中心向右移动三步且向下三步(亦即,(3,3)),而帧1的MB由中心向左移动三步且向上三步(亦即,(-3,-3))。于相减后,可得到MV为(6,6)。如果帧中含有二个(或以上)MB位置皆具相同的最小SAD,则选择最靠近中心的MB。再者,如果这些MB距中心的距离皆相同,则依据MB移动顺序图(第三图),选择较小数字所对应的MB。
若以硬件电路来实施上述的MV算法,则需要二个12x12像素寄存器以分别储存MV搜寻范围。此外,对于MB的36像素中的每一像素,需要使用一个49至1多工器(49-to-1MUX)。如果每一像素由24位来表示(例如,红色8位,绿色8位,蓝色8位),则总共需要36*24个多工器。这么多的多工器及其绕线将使得电路很难实施。因此,需要提出另一种算法以改善此情形。
第五图显示本发明实施例的MV算法的MB移动轨迹图。MB移动轨迹图中的每一区块代表MB的位置。度量(metric)电路50位于帧1和帧2之间,用于计算区块匹配度量(block-matching metric),例如SAD。在本实施例中,度量电路50包含七个SAD电路501-507,其分别接收帧1的第一MB列至第七MB列,且分别接收帧2的第七MB列至第一MB列。在一开始,度量电路50接收帧1中各MB列的第一个MB,并接收帧2中各MB列的最后一个MB。接着,度量电路50接收帧1中各MB列的第二个MB,并接收帧2中各MB列的倒数第二个MB。依此方式计算得到SAD,直到整个MV搜寻范围都处理完毕。在此算法中,帧1与帧2的移动也是互为对称且位置相对的。第三图所示的MB移动顺序图也可适用于本算法中,且将于后续作为权重(weighting)使用,虽然其中的数字不再是代表MB移动的顺序。
第六图显示本发明实施例中相应于第五图的MV算法的SAD产生电路。虽然本实施例计算SAD,然而也可以是计算其它的区块匹配度量。对于帧1,提供第一存储器,例如第一静态随机存取存储器(SRAM)60A,用于储存整个12x12像素矩阵(第一图)。第一SRAM60A包含12列,例如SRAM1至SRAM12,且每一列包含12像素,而每一像素以24位来表示。此外,提供第一寄存器62A,其大小为12x6。第一寄存器62A的每一列电耦接至第一SRAM60A右端的相应列。对于帧2,提供大小为12x12的第二SRAM60B,及大小为12x6的第二寄存器62B。第二寄存器62B的每一列电耦接至第二SRAM60B左端的相应列。
根据第六图的电路,于每一时间,可计算七个SAD。一开始,如第七A图所示,第一SRAM60A的每一列的前六个像素储存于第一寄存器62A,而第二SRAM60B的每一列的后六个像素储存于第二寄存器62B。接着,以第一SAD电路(SAD1)501计算第一寄存器62A的最上面MB(6x6像素)和第二寄存器62B的最下面MB(6x6像素)之间的SAD。于此同时,如第七B图所示,以第二SAD电路(SAD2)502计算第一寄存器62A的下一MB(亦即,第二列至第七列)和第二寄存器62B的下一MB(亦即,第六列至第十一列)之间的SAD。因此,对于整个第一寄存器62A及第二寄存器62B,总共可得到七个SAD。接下来,如第七C图所示,将第一寄存器62A向右移位,使得第一SRAM60A每一列的第七像素移进第一寄存器62A,而第一寄存器62A的最右边一行则被移出。类似的情形,将第二寄存器62B向左移位,使得第二SRAM60B每一列的第六像素移进第二寄存器62B,而第二寄存器62B的最左边一行则被移出。因此,对于整个第一寄存器62A及第二寄存器62B,可更得到七个SAD。重复执行上述程序,直到处理完整个MV搜寻范围以得到49个SAD。
根据得到的49个SAD,具最小SAD的MB位置即可视为MV的一半(亦即,1/2MV)。若将帧2的MB位置减去帧1的MB位置,即可得到MV。于第四图所示的例子中,于相减后,可得到MV为(6,6)。如果帧中含有二个(或以上)MB位置皆具相同的最小SAD,则选择最靠近中心(亦即,第三图的权重0)的MB。再者,如果这些MB距中心的距离皆相同,则依据MB移动顺序图(第三图),选择较小数字(或权重)所对应的MB。
根据第五图及第六图所示,于实施MV算法时,需使用七个SAD电路501-507,但不需使用多工器。因此,相关的绕线及电路面积可以大幅地降低。
于得到MV后,即可产生相应的运动估算(ME)。例如,对于帧率为60赫兹(Hz)的影像,其ME可表示为ME=MV*t*/(1/60)(t=0-1/60)或ME=MV*t*60,其中t代表二帧之间经过的时间,如第八图所示。
根据得到的MV及ME,接着进行运动补偿(MC),于原本帧之间产生中间帧。于执行MC时,首先提供一寄存器,其大小同于MC范围。一般来说,MC范围等于(或小于)MB宽度加上2*(最大MV)。例如,第四图的MV为(6,6),MC范围的宽度因此等于(MB宽度)+2*(最大MV)或18(=6+2*6)。第九图显示二MC范围,其大小皆为18x18。
根据直观,MC范围内的每一MB具有13x13种可能位置。因此,MB的36像素的每一像素需要一169至1多工器(169-to-1MUX)。如果每一像素由24位来表示(例如,红色8位,绿色8位,蓝色8位),则总共需要36*24个多工器。这么多的多工器及其绕线将使得电路很难实施。因此,需要提出另一种实施方法以改善此情形。
第十图显示本发明实施例的MC电路。对于帧1,提供第一存储器,例如第一静态随机存取存储器(SRAM)100A,用于储存整个18x18像素矩阵(第九图)。第一SRAM100A包含18列,例如SRAM1至SRAM18,且每一列包含18像素,而每一像素以24位来表示。此外,提供第一寄存器102A,其大小为6x6。第一寄存器102A的每一列经由第一多工器而电耦接至第一SRAM100A右端的相应列。第十一A图例示第一SRAM100A的前十三列、3至1第一多工器104A及第一寄存器102A的第一列。第十一B图例示第一SRAM100A的2-14列、另一个第一多工器106A及第一寄存器102A的第二列。同理,对于帧2,提供大小为18x18的第二SRAM100B,及大小为6x6的第二寄存器102B。第二寄存器102B的每一列经由第二多工器而电耦接至第二SRAM100B左端的相应列。
根据第十图及第十一A/B图所示的电路,可由第一/第二SRAM100A/100B选择出MB,再将其加载至第一/第二寄存器102A/102B。对于第十图的水平方向,第一SRAM100A(例如SRAM1至SRAM18)的每一SRAM列的像素可经由寻址(addressing)第一SRAM100A而选到。于选到一像素后,在其右边的其它五个像素则可依序向右移位至第一寄存器102A。对于第十图的垂直方向,可经由选择信号SEL以控制第一多工器(例如,第十一A/B图的104A或106A),因而选到第一SRAM100A的SRAM列。帧2的SRAM寻址及多工器的控制选择同于帧1,不同的是,第二SRAM100B向左移位,而非向右移位。值得注意的是,对于ME(x,y),MB的SRAM地址应为(7+x)至(12+x),其中7至12位于MC范围的中心。MB的选择信号SEL对应至SRAM列(7+y)至(12+y)的多工器。
根据本实施例,对于MB的36(=6x6)个像素,需要36个13至1多工器(13-to-1MUX)。如果每一像素由24位来表示(例如,红色8位,绿色8位,蓝色8位),则总共需要36*24个多工器。相较于前述需36*24个169至1多工器,本实施例仅需36*24个13至1多工器,因而可大幅地降低相关绕线及电路面积。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的权利要求;凡其它未脱离发明所揭示的精神下所完成的等效改变或修饰,均应包含在下述的权利要求内。

Claims (11)

1.一种运动估算电路,包含:
一第一存储器,用于储存一第一帧的搜寻范围;
一第一寄存器,其尺寸小于该第一存储器,该第一寄存器的每一列电耦接至该第一存储器的相应列;
一第二存储器,用于储存一第二帧的搜寻范围;
一第二寄存器,其尺寸小于该第二存储器,该第二寄存器的每一列电耦接至该第二存储器的相应列;及
一度量电路,用于计算该第一寄存器的宏块与该第二寄存器的宏块之间的多个区块匹配度量,且接着自该第一存储器移位一像素位置至该第一寄存器,并自该第二存储器移位一像素位置至该第二寄存器;
其中,重复执行该区块匹配度量的计算及该像素移位,直到处理完整个该搜寻范围,
其中,当多于一个宏块位置均具有最小区块匹配度量时,则决定出最接近该第一帧及第二帧中心的宏块,及
其中,当计算该区块匹配度量时,该第一帧的宏块和该第二帧的宏块互为对称且位置相对。
2.根据权利要求1所述的运动估算电路,其中上述的区块匹配度量为绝对差之和。
3.根据权利要求1所述的运动估算电路,其中上述第一帧及第二帧中具有最小区块匹配度量的宏块位置被决定出,再将该第二帧所决定的宏块位置减去该第一帧所决定的宏块位置,得到一运动向量。
4.根据权利要求3所述的运动估算电路,其中该运动估算根据下式得到:
ME=MV*t*/(1/f)
其中ME为该运动估算,MV为该运动向量,f为帧速率,t为该第一帧及该第二帧之间经过的时间,且时间t介于0和1/f之间。
5.根据权利要求1所述的运动估算电路,其中上述的第一存储器为一第一静态随机存取存储器,且该第二存储器为一第二静态随机存取存储器。
6.一种运动补偿电路,包含:
一第一存储器,用于储存一第一帧的运动补偿范围;
一第一寄存器,其尺寸等于一宏块;
多个第一多工器,每一该第一多工器将该第一寄存器的每一列耦接至该第一存储器的相应列,由此,可自该第一存储器选取每一宏块并加载至该第一寄存器;
一第二存储器,用于储存一第二帧的运动补偿范围;
一第二寄存器,其尺寸等于该宏块;及
多个第二多工器,每一该第二多工器将该第二寄存器的每一列耦接至该第二存储器的相应列,由此,可自该第二存储器选取每一宏块并加载至该第二寄存器。
7.根据权利要求6所述的运动补偿电路,经由寻址该第一存储器而选取该第一存储器的每一列的像素位置,且经由寻址该第二存储器而选取该第二存储器的每一列的像素位置。
8.根据权利要求7所述的运动补偿电路,于选取该像素位置后,接续于该选取像素之后的其它像素从该第一存储器移位至该第一寄存器或者从该第二存储器移位至该第二寄存器。
9.根据权利要求6所述的运动补偿电路,其中上述第一存储器的列位置的选取是用选择信号控制该第一多工器,且该第二存储器的列位置的选取是用该选择信号控制该第二多工器。
10.根据权利要求6所述的运动补偿电路,其中上述运动补偿范围的宽度等于或小于该宏块宽度加上二倍的最大运动向量。
11.根据权利要求6所述的运动补偿电路,其中上述的第一存储器为一第一静态随机存取存储器,且该第二存储器为一第二静态随机存取存储器。
CN201010229207.8A 2010-07-14 2010-07-14 运动估算及运动补偿电路 Active CN102340617B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201010229207.8A CN102340617B (zh) 2010-07-14 2010-07-14 运动估算及运动补偿电路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010229207.8A CN102340617B (zh) 2010-07-14 2010-07-14 运动估算及运动补偿电路

Publications (2)

Publication Number Publication Date
CN102340617A CN102340617A (zh) 2012-02-01
CN102340617B true CN102340617B (zh) 2014-06-11

Family

ID=45516104

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010229207.8A Active CN102340617B (zh) 2010-07-14 2010-07-14 运动估算及运动补偿电路

Country Status (1)

Country Link
CN (1) CN102340617B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6330282B1 (en) * 1997-07-18 2001-12-11 Nec Corporation Block matching arithmetic device and recording medium readable program-recorded machine
CN1396762A (zh) * 2001-07-09 2003-02-12 三星电子株式会社 用于扫描搜索区内参考宏块窗口的运动估计装置和方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060002472A1 (en) * 2004-06-30 2006-01-05 Mehta Kalpesh D Various methods and apparatuses for motion estimation
US8358695B2 (en) * 2006-04-26 2013-01-22 Altera Corporation Methods and apparatus for providing a scalable motion estimation/compensation assist function within an array processor
CN101309405B (zh) * 2007-05-14 2011-04-20 华为技术有限公司 参考数据载入的方法及装置
CN101212682B (zh) * 2007-12-22 2011-06-15 深圳市同洲电子股份有限公司 一种运动搜索区域的数据加载装置和方法
CN101370143B (zh) * 2008-09-17 2011-07-20 华为技术有限公司 图像的运动估计方法及装置
CN101605262B (zh) * 2009-07-09 2011-11-09 杭州士兰微电子股份有限公司 可变块尺寸运动预测方法和装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6330282B1 (en) * 1997-07-18 2001-12-11 Nec Corporation Block matching arithmetic device and recording medium readable program-recorded machine
CN1396762A (zh) * 2001-07-09 2003-02-12 三星电子株式会社 用于扫描搜索区内参考宏块窗口的运动估计装置和方法

Also Published As

Publication number Publication date
CN102340617A (zh) 2012-02-01

Similar Documents

Publication Publication Date Title
US6690730B2 (en) Motion estimator
CN1992789B (zh) 运动估计器和运动估计方法
US6516031B1 (en) Motion vector detecting device
CN101518084B (zh) 视频序列中数据压缩的方法
US5621481A (en) Motion vector detecting apparatus for determining interframe, predictive error as a function of interfield predictive errors
US5604546A (en) Image signal processing circuit for performing motion estimation
CN110312132A (zh) 一种编解码方法、装置及其设备
JPH06334980A (ja) 動画像の動きベクトル検出装置
CN108134939A (zh) 一种运动估计方法及装置
US20040109085A1 (en) Deinterlacing apparatus and method
US20090252230A1 (en) Motion estimation device and video encoding device including the same
CN107360433A (zh) 一种帧间预测编码方法和装置
KR100732683B1 (ko) 움직임 보상을 수행하는 영상변환장치 및 움직임 보상방법
CN102340617B (zh) 运动估算及运动补偿电路
CN101316365A (zh) 运动矢量检测设备、运动矢量检测方法及内插帧创建设备
KR20140123196A (ko) 가변 블록 크기를 위한 움직임 추정 장치 및 움직임 추정 방법
TWI409717B (zh) 適用於電腦產品與影像顯示裝置的影像轉換方法
JP2006345445A (ja) 動画像変換装置、および動画像変換方法、並びにコンピュータ・プログラム
CN100553341C (zh) 运动矢量检测装置和运动矢量检测方法
JP2008011476A (ja) フレーム補間装置及びフレーム補間方法
JP3545004B2 (ja) 演算回路
CN110198442A (zh) 一种用于视频编码的帧内预测方法、装置和存储介质
JP4736456B2 (ja) 走査線補間装置、映像表示装置、映像信号処理装置
KR100555646B1 (ko) 모션추정 및 모션보상 연산을 위한 라인메모리를 공유하여라인메모리를 감축하는 프레임레이트변환장치 및 그 방법
TWI440362B (zh) 動作估算及動作補償電路

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant