CN100515030C - 移动估计电路及其操作方法 - Google Patents
移动估计电路及其操作方法 Download PDFInfo
- Publication number
- CN100515030C CN100515030C CNB2005100800900A CN200510080090A CN100515030C CN 100515030 C CN100515030 C CN 100515030C CN B2005100800900 A CNB2005100800900 A CN B2005100800900A CN 200510080090 A CN200510080090 A CN 200510080090A CN 100515030 C CN100515030 C CN 100515030C
- Authority
- CN
- China
- Prior art keywords
- data
- absolute difference
- circuit
- square
- input
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Image Analysis (AREA)
Abstract
本发明提出一种移动估计电路及其操作方法。此移动估计电路包括处理单元PEm(m为整数且-n≤m≤n,n表示搜寻范围值并且n为大于0之整数)、数据锁存器FFk(k为整数且-n<k≤n)以及选择电路MUXh(h为整数且-1≤h≤1)。处理单元接收目前方块以及搜寻窗中相对应方块并将两者进行比较运算,以输出比较运算之结果。数据锁存器FFk之输出端耦接至FFk+1之输入端以及PEk之第一输入端。MUXh之输出端耦接至PEh之第二输入端。其中,目前方块之各4×4子方块输入至PE-n以及FF-(n-1),搜寻窗SW′之左半边部分输入至PE-n~PE-2以及MUXh,以及搜寻窗SW′之右半边部分输入至PE2~PEn以及MUXh之第二输入端。
Description
技术领域
本发明涉及一种移动估计(motion estimation),且特别涉及一种具有脉动阵列(systolic array)架构之移动估计电路及其操作方法。
背景技术
一般而言,数字视讯之数据量通常极为庞大。为了节省储存视讯数据之空间,以及节省传输视讯数据时之传输频宽,因此必须对视讯数据进行数据压缩。数据压缩通常是将视讯数据中多余信息移除而达到数据缩减之目的。例如,前画面(或称为帧frame)与接下来的画面若彼此相似,即可保留此前画面而将其后各画面中相同的部分移除(仅保留不相同部分之信息即可)。因此,即可大量减少数字视讯的数据量。例如,MPEG视讯压缩标准即为最常使用之视讯编码方法。
图1是说明一般视讯压缩时移动估计之关。请参照图1,当欲将目前画面CF与欲比较画面PF作比较时,通常会将目前画面CF切割成多个图像方块(图中图像方块PM即为其一)。典型之图像方块大小为16×16或是8×8。然后,逐一选择其中一个图像方块(称为目前图像方块)PM后于欲比较画面PF中搜寻(search)是否具有相似之图像方块。在欲比较画面PF中,与目前图像方块PM相同位置之方块PS为中心,向四周一预定距离n所构成之区域称为搜寻窗(search window)。前述之预定距离即称为搜寻范围(search range)。在搜寻窗中,任取一欲比较图像方块(大小与目前图像方块PM相同,例如方块PS即为其中之一个)并与目前图像方块PM作一对比,以便找出最相似之图像方块。此即为移动估计(motion estimation)。
在比较目前图像方块与欲比较图像方块时,通常是将两者进行像素对像素之绝对差和(sum of absolute difference,SAD)运算。换言之,即是将目前图像方块与欲比较图像方块中所有相对应之像素(pixel)数据两两互减后取绝对值,然后将各像素数据之绝对差值加总后即获得目前图像方块与欲比较图像方块两者之间的SAD值。由SAD值之大小即可判断目前图像方块与欲比较图像方块两者之相似程度。
由于移动估计将搜寻窗中任取一个与目前图像方块相同大小之部分方块,然后将此多个任取之部分方块逐一与目前图像方块进行比较。很明显地,其运算量(或运算时间)将非常庞大。另一方面,为满足此大量运算之效能,通常移动估计电路之复杂度是相当可观的。
对于近来H.264标准所增订8×16、16×8、8×4、4×8以及4×4之图像方块,目前公知技术并无法做到同时计算所有不同大小图像方块的SAD。再者,公知技术只能个别针对16×16或是8×8的图像方块作运算,并且无法支持树状结构移动估计。
发明内容
本发明的目的是提供一种移动估计(motion estimation)电路,运用脉动阵列(systolic array)架构以提高移动估计之运算效率,并以4×4之图像方块为移动估计之基本单位,因此可以支持H.264标准以及树状结构移动估计,同时可以大量减少脉动阵列中选择电路之数量(只需3个选择电路做为左右搜寻窗数据之切换)。
本发明的再一目的是提供一种移动估计电路之操作方法,以发挥本发明之最大效益。
本发明提出一种移动估计电路,用以于搜寻窗中寻找有否与目前方块最相似之方块,其中该目前方块由至少一个4×4子方块所组成。此移动估计电路包括多个处理单元PEm(PEm表示第m个处理单元,其中m为大于等于-n且小于等于n之整数,以及n表示目前方块于搜寻窗之搜寻范围值且n为大于0之整数)、多个数据锁存器FFk(FFk表示第k个数据锁存器,其中k为大于-n且小于等于n之整数)以及多个选择电路MUXh(MUXh表示第h个选择电路,其中h为大于等于-1且小于等于1之整数)。每一个处理单元具有至少一个第一输入端、至少一个第二输入端以及至少一个输出端,用以各自接收目前方块以及搜寻窗中相对应方块并将两者进行比较运算,以输出比较运算之结果。数据锁存器FFk之输出端耦接至FFk+1之输入端以及PEk之第一输入端。选择电路具有第一输入端、第二输入端以及输出端,用以选择其第一输入端或第二输入端耦接至输出端。MUXh之输出端耦接至PEh之第二输入端。其中,该目前方块之各4×4子方块依第一顺序依序逐一输入至PE-n之第一输入端以及FF-(n-1)之输入端,并将搜寻窗之一部分单元数据依第二顺序输入至PEr之第二输入端以及MUXh之第一输入端,以及将搜寻窗之其它部分单元数据依第三顺序输入至PEs之第二输入端以及MUXh之第二输入端。其中r为大于等于-n且小于-1之整数,s为大于1且小于等于n之整数。
依照本发明的较佳实施例所述移动估计电路,上述之处理单元为绝对差和电路,并且该比较运算为绝对差和运算。此绝对差和电路例如包括绝对差(absolute difference)电路、第一加法器、第一缓存器以及第一选择电路。绝对差电路接收目前方块以及搜寻窗中之部分方块,并且输出绝对差数据。第一加法器接收并且加总绝对差数据以及第一累加数据,以及将加总结果输出为第一加总值。第一缓存器可以不具有重置(reset)功能。第一缓存器依第一预定时序接收并锁存第一加总值后输出第一绝对差和数据。第一选择电路接收并选择第一绝对差和数据或者零数据,并将所选择数据输出为第一累加数据。
本发明提出一种上述移动估计电路之操作方法,包括步骤如下。首先依第一顺序依序选择目前方块中中之一个个4×4子方块。于搜寻窗中与被选择之4×4子方块相对之位置依搜寻范围值定义子搜寻窗,此子搜寻窗具有第一部分子窗与第二部分子窗。将被选择之4×4子方块中每一单元数据依时脉信号之时序逐列(row)且逐个输入至PE-n之第一输入端以及FF-(n-1)之输入端,并且于被选择之4×4子方块中前列单元数据输入后等待n-2个时脉信号之周期时间后才开始输入次列单元数据。以及,于被选择之4×4子方块之第一个单元数据开始输入的同时,将对应之子搜寻窗之第一部分子窗依时脉信号之时序逐列(row)且逐个连续输入至PEr之第二输入端以及MUXh之第一输入端,其中r为大于等于-n且小于-1之整数。从开始输入子搜寻窗中第一部分子窗之第一个单元数据开始算起,当延迟n+2个时脉信号之周期时间后,将子搜寻窗中第二部分子窗依时脉信号之时序逐列(row)且逐个连续输入至PEs之第二输入端以及MUXh之第二输入端,其中s为大于1且小于等于n之整数。
依照本发明的较佳实施例所述移动估计电路之操作方法,还包括控制上述这些选择电路之步骤。在开始输入第二部分子窗之第一个单元数据起每隔n+2个时脉信号之周期时间中,使选择电路MUX-1于连续至少1个时脉信号之时间内选择并输出其第二输入端之信号,其余时间则选择并输出其第一输入端之信号。类似地,在开始输入第二部分子窗之第一个单元数据起每隔n+2个时脉信号之周期时间中,使选择电路MUX0于连续至少2个时脉信号之时间内选择并输出其第二输入端之信号,其余时间则选择并输出其第一输入端之信号。另外,在开始输入第二部分子窗之第一个单元数据起每隔n+2个时脉信号之周期时间中,使选择电路MUX1于连续至少3个时脉信号之时间内选择并输出其第二输入端之信号,其余时间则选择并输出其第一输入端之信号。
本发明因采用脉动阵列架构以进行移动估计之运算,并以4×4之方块为移动估计之基本单位,因此可以支持H.264标准以及树状结构移动估计,同时可以大量减少脉动阵列中选择电路之数量(只需3个选择电路做为左右搜寻窗数据之切换)。还利用每一处理单元各自逐一计算、暂存与累加目前方块中之每一个4×4子方块与搜寻窗中对应4×4方块之绝对差和值,以各自输出目前方块与该搜寻窗中对应方块之绝对差和值。其中,该目前方块可以是16×16、8×16、16×8、8×8、8×4、4×8以及4×4之图像方块。
为让本发明之上述和其它目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合附图,作详细说明如下。
附图说明
图1是说明一般视讯压缩时移动估计之关。
图2是依照本发明一较佳实施例所示的一种具有脉动阵列(systolicarray)架构之移动估计(motion estimation)电路图。
图3是依照本发明另一较佳实施例所示的一种具有脉动阵列架构且搜寻范围为3之移动估计电路图。
图4A是依照本发明另一较佳实施例所示的目前图像方块以及对应之搜寻窗(搜寻范围为3)。
图4B是说明图4A目前图像方块中的4×4子方块以及于搜寻窗中相对应之子搜寻窗。
图5是依照本发明较佳实施例所示图3中移动估计电路各输入数据之时序图。
图6是依照本发明一较佳实施例所示图2与图3中处理单元PE-n~PEn的电路方框图。
图7是依照本发明一较佳实施例所示之一种由4×4像素方块排列成16×16像素方块之顺序示意图。
图8是依照本发明较佳实施例所示图2与图3中处理单元PE-n~PEn的另一种电路方框图。
图9是依照本发明较佳实施例所示图2与图3中处理单元PE-n~PEn的再一种电路方框图。
主要元件标记说明
300:移动估计电路
610、810、910:绝对差(absolute difference)电路
611:减法器
612、614:目前图像方块PM以及搜寻窗SW中部分方块之像素数据
613、REG1~REG11:缓存器
615:补码电路
616:补码
617、820、920、940、SEL1:选择电路
618:反相器
619、930、ADD1:加法器
621:累加数据
622、822:加总值
AD:绝对差数据
CF:目前帧
FF-(n-1)~FFn:数据锁存器
MUX-1~MUX1:选择电路
PE-n~PEn:处理单元
PF:前帧
PM:目前方块/目前方块单元数据之输入端
PM′:目前方块PM中的4×4子方块
PS:目前方块于搜寻窗中相对应之部分方块
SAD1~SAD11:绝对差和(sum of absolute difference)数据
SUM2~SUM11:累加电路
SW:搜寻窗
SW′:子搜寻窗
SW_L:子搜寻窗SW′中左半部单元数据之输入端
SW_R:子搜寻窗SW′中右半部单元数据之输入端
SW′_L:子搜寻窗SW′中左半部之单元数据(第一部分子窗)
SW′_R:子搜寻窗SW′中右半部之单元数据(第二部分子窗)
具体实施方式
图2是依照本发明一较佳实施例所绘制的一种具有脉动阵列(systolicarray)架构之移动估计(motion estimation)电路图。请同时参照图1与图2,此移动估计电路包括处理单元PE-n~PEn、数据锁存器(例如D型正反器)FF-(n-1)~FFn以及选择电路(例如多任务器)MUX-1~MUX1。其中,n表示目前方块于搜寻窗之搜寻范围值,并且n为大于0之整数。
每一个处理单元PE-n~PEn各自接收目前图像方块(以下简称PM)之单元数据以及搜寻窗SW中相对应方块之单元数据并将两者进行像素对像素之绝对差和(sum of absolute difference,SAD)运算,并输出运算之结果。
为方便说明本发明,下述实施例中将假设图1中目前图像方块PM为16×16像素方块,并依照图7所示之顺序(称为第一顺序)将16×16像素方块切分为多个4×4像素方块,以便图2之移动估计电路进行移动估计运算。图7中每一方格表示一个4×4像素方块,方格中之数字表示将16×16目前图像方块中各个4×4像素方块从图2之标记PM处逐一输入移动估计电路之次序。
数据锁存器FF-(n-1)~FFn可依照时脉信号之触发而将其输入端数据锁存并自输出端输出。数据锁存器FFk之输出端耦接至数据锁存器FFk+1之输入端以及处理单元PEk之第一输入端。例如,数据锁存器FF0之输出端耦接至数据锁存器FF1之输入端以及处理单元PE0之第一输入端,当然,数据锁存器FF0之输入端耦接至数据锁存器FF-1之输出端以及处理单元PE-1之第一输入端。其中较特别的是,在此串连数据锁存器之末端FFn因无下一级数据锁存器可以连接,故数据锁存器FFn仅耦接至处理单元PEn之第一输入端即可。
选择电路MUX-1~MUX1选择其第一输入端或是第二输入端以耦接至输出端。选择电路MUXh之输出端耦接至处理单元PEh之第二输入端。例如,选择电路MUX0之输出端耦接至处理单元PE0之第二输入端。
其中,PM之单元数据PMi,j输入至处理单元PE-n之第一输入端以及数据锁存器FF-(n-1)之输入端。搜寻窗SW中左半部(SW′_L)之单元数据SW′x,a输入至处理单元PE-n~PE-2之第二输入端以及选择电路MUX-1~MUX1之第一输入端,其中a为大于等于j-n且小于等于1之整数。搜寻窗SW中右半部(SW′_R)之单元数据SW′x,b输入至处理单元PE2~PEn之第二输入端以及选择电路MUX-1~MUX1之第二输入端,其中b为大于等于2且小于等于j+n之整数。
为方便说明本发明之精神,下述实施例以搜寻范围值n=3为例。图3是依照本发明一较佳实施例所示的一种具有脉动阵列架构且搜寻范围为3之移动估计电路图。图4A是依照本实施例所示的目前图像方块PM以及对应之搜寻窗SW。图中每一小方格代表一个像素数据。如同图1所示一般,图4A中目前图像方块PM于欲比较画面中搜寻是否具有相似之图像方块。在欲比较画面中,与目前图像方块PM相同位置之方块PS为中心,向四周搜寻范围所构成之区域称为搜寻窗(search window)SW。如前所述,依图7之次序使目前图像方块PM切分为16个4×4子方块并依序传送至图3之移动估计电路300中。为方便说明本实施例,故以下仅以目前图像方块PM中的第一个4×4子方块PM′以及于搜寻窗SW中与子方块PM′相对应位置所构成之子搜寻窗SW′为例,而其余子方块之操作可依下述类推。
图4B是说明图4A目前图像方块PM中的4×4子方块PM′以及于搜寻窗SW中相对应之子搜寻窗SW′。请同时参照图3与图4B。其中,图3为图2之一特例,故关于图3中移动估计电路300之电路结构并不在此赘述。图4B中,4×4子方块PM′以及对应之子搜寻窗SW′位于不同之帧(frame)中(可以参考图1)。在欲比较之帧中与4×4子方块PM′相同位置之方块(图4B中之虚线方块)为中心,向四周扩展搜寻范围n(本实施例中搜寻范围为3)而构成子搜寻窗SW′。
于本实施例中,将子搜寻窗SW′拆分为左半部之第一部分子窗SW′_L与右半部之第二部分子窗SW′_R,并且分别经由图3中之左输入端SW_L与右输入端SW_R输入移动估计电路300。而图4B中子方块PM′则从图3中输入端PM输入移动估计电路300。子搜寻窗SW′之左半部SW′_L、右半部SW′_R以及子方块PM′中各像素数据皆是依照逐列(row)且逐个之顺序分别输入移动估计电路300。例如,先将子方块PM′中第0列之单元数据由左而右输入至移动估计电路300,然后依序是第1列、第2列以及第3列。换句话说,图4B中子方块PM′单元数据之输入顺序为PM′0,0、PM′0,1、PM′0,2、PM′0,3、PM′1,0、PM′1,1、....、PM′3,3。
图5是依照本发明较佳实施例所示图3中移动估计电路各输入数据之时序图。请同时参照图3至图5。图5中,纵轴说明各个处理单元PE-n~PEn(本实施例为PE-3~PE3)之第一输入端与第二输入端所接收的数据,而横轴表示时间轴。处理单元PE-1~PE1之第二输入端还分别透过选择电路MUX-1~MUX1而选择让搜寻窗左半部SW_L或是右半部SW_R输入,因此图5中以底纹遮盖之部分即表示未被选择之数据。
串连结构之数据锁存器FF-(n-1)~FFn(本实施例为D型正反器FF-2~FF3)之操作类似位移缓存器,因此可由图5中各处理单元PE-3~PE3所接收之目前图像方块PM明显看出,相邻两处理单元所接收目前图像方块PM之时序必相差一个时脉周期。于时间点T0时,目前图像方块PM与搜寻窗左半部SW_L依照上述之次序开始依次输入移动估计电路300。当于时间点T3,由于已经完成目前图像方块PM之第1列数据传送,因此等待n-2个时脉周期(本实施例为1个时脉周期,亦即时间点T4)后才开始(于时间点T5)输入目前图像方块PM之第2列单元数据。
于时间点T5(比搜寻窗左半部SW′_L开始输入时延迟n+2个时脉周期),开始将搜寻窗右半部SW′_R依照上述之次序逐列(row)且逐个连续输入至移动估计电路300。于本实施例中,譬如于时间点T5使选择电路MUX-1~MUX1选择将搜寻窗右半部SW′_R分别输入至处理单元PE-1~PE1,于时间点T6使选择电路MUX0、MUX1选择搜寻窗右半部SW′_R输入至处理单元PE0、PE1,于时间点T7使选择电路MUX1选择让搜寻窗右半部SW′_R输入至处理单元PE1,其余时间均使选择电路MUX-1~MUX1选择让搜寻窗左半部SW′_L输入至处理单元PE-1~PE1。前述选择电路MUX-1~MUX1之操作譬如于每隔n+2个时脉周期(本实施例为5个时脉周期)重复一次。
因此,可以由图5中时间点T0~T13观察出,处理单元PE-3计算搜寻窗中部分方块SWp,q(-3≦p,q≦0且p与q为整数)与目前图像方块PM′之绝对差和,处理单元PE-2搜寻窗中部分方块SWp,q(-3≦p≦0,-2≦q≦1且p与q为整数)与目前图像方块PM′,而处理单元PE3则计算搜寻窗中部分方块SWp,q(-3≦p≦0,3≦q≦6且p与q为整数)与目前图像方块PM′之绝对差和。以此类推,在将完整目前图像方块PM′输入至移动估计电路300后,于时间点T20开始重新输入目前图像方块PM′,同时搜寻窗左半部SW_L亦重新由第2列开始输入移动估计电路300。因此,于时间点T20开始,处理单元PE-3可以比较搜寻窗中部分方块SWp,q(-2≦p≦1,-3≦q≦0且p与q为整数)与目前图像方块PM′,处理单元PE-2可以比较搜寻窗中部分方块SWp,q(-2≦p≦1,-2≦q≦1且p与q为整数)与目前图像方块PM′,而处理单元PE3则可以比较搜寻窗中部分方块SWp,q(-2≦p≦1,3≦q≦6且p与q为整数)与目前图像方块PM′。依此类推,直到将完整搜寻窗SW输入移动估计电路300为止。
前述各个处理单元PE-n~PEn例如可以参照下述实施例实施之。图6是依照本发明一较佳实施例所示图2与图3中处理单元PE-n~PEn的电路方框图。请参照图6,在此假设各个处理单元为进行像素对像素绝对差和(sum of absolute difference)运算之绝对差和电路。处理单元中,绝对差(absolute difference)电路610接收目前图像方块PM以及搜寻窗SW中部分方块之像素数据串行,并且输出绝对差数据AD,使得AD=|PM-SW|。
上述绝对差电路610可参照本实施例实施之。首先以减法器611接收目前图像方块数据PM之像素数据以及搜寻窗SW中部分方块之像素数据并将两者相减后输出差值612。缓存器613耦接至减法器611,以依预定时序锁存差值612并输出差值614。补码电路615耦接至缓存器613,以依据差值614产生差值之补码616。选择电路617耦接至缓存器613以及补码电路615,以于所接收之差值614以及差值之补码616两者中选择正数者输出为绝对差数据AD。
上述该补码电路例如包括反相器618以及加法器619。反相器618接收并将差值614反相。加法器619耦接至反相器618,以接收反相后之差值614并与”1”相加以及输出差值614之补码616。
加法器ADD1接收并且加总绝对差数据AD以及累加数据621,并且将加总结果输出为加总值622。缓存器REG1依预定时序接收并锁存加总值622后输出绝对差和(sum of absolute difference)数据SAD1。选择电路SEL1接收并选择绝对差和数据SAD1或是”0”,并将所选择数据输出为累加数据621。
当开始产生第一个绝对差数据AD时,选择电路SEL1选择”0”传送至加法器ADD1。此时即令缓存器REG1锁存加法器ADD1所输出AD+0之运算结果。因此,缓存器REG1不须具有重置功能即可纪录SAD运算之结果。换句话说,不论缓存器REG1原先锁存之内容为何,当配合选择电路SEL1选择”0”传送至加法器ADD1即可使第一个绝对差数据AD正确锁存于缓存器REG1中而不须事先清除其内容。因此,可以省去重置缓存器REG1之处理时间,却可达到重置功能。
在此,假设缓存器REG1用以暂存目前图像方块PM之4×4像素之SAD值。当产生第一个绝对差数据ADi,j时,选择电路SEL1选择”0”传送至加法器ADD1。此时令缓存器REG1锁存加法器ADD1所输出ADi,j+0之运算结果。当绝对差电路610产生第二个绝对差数据ADi,j+1时,令选择电路SEL1选择缓存器REG1所输出之数据SAD1(即ADi,j)传送至加法器ADD1。然后令缓存器REG1锁存加法器ADD1所输出ADi,j+ADi,j+1之运算结果。以此类推,当绝对差电路110产生4×4像素之最后一个绝对差数据ADi+3,j+3时,令选择电路SEL1选择缓存器REG1所输出之数据SAD1(此时为ADi,j+...+ADi+3,j+2)传送至加法器ADD1。然后令缓存器REG1锁存加法器ADD1所输出ADi,j+...+ADi+3,j+2+ADi+3,j+3之运算结果。此时即完成一个4×4像素之SAD运算。
然而,本发明可同时提供多种图像方块大小之移动估计,而不限于上述实施例中之4×4像素大小。因此本实施例还于缓存器REG1之输出端耦接多组累加电路SUM2~SUM11,用以接收运算完成之4×4像素SAD值(即绝对差和数据SAD1),并各自累加所接收绝对差和数据SAD1以输出其欲计算之图像方块大小的绝对差和数据。例如,累加电路SUM2~SUM11分别用以累加4×8(左)、4×8(右)、8×4(上)、8×4(下)、8×8、8×16(左)、8×16(右)、16×8(上)、16×8(下)以及16×16像素方块大小之绝对差和数据SAD2~SAD11,并且各自依预定时序重新累加之。
凡所属技术领域的技术人员应知,本实施例可视实际需要而决定累加电路之个数。例如,若设计者只需要同时计算4×4、8×8以及16×16像素方块大小之绝对差和数据,则可省略图6电路中累加电路SUM2~SUM5以及SUM7~SUM10。上述各种修改之结果亦属本发明之范围。
于本实施例中,累加电路SUM2~SUM11例如为相类似之电路,因此仅以累加电路SUM11为代表说明之。累加电路SUM11例如包括加法器、缓存器以及选择电路,其操作相似于加法器ADD1、缓存器REG1以及选择电路SEL1,故不在此赘述。其中,累加电路SUM11所接收之绝对差和数据SAD1(指已完成4×4像素之SAD运算)的顺序如图7所示。
图7是依照本发明一较佳实施例所示之一种由4×4像素方块排列成16×16像素方块之顺序示意图。图中每一方格表示一个4×4像素方块之绝对差和数据(例如由图6中绝对差电路610之输出所计算获得),方格中之数字表示产生该数据之次序。因此,例如累加电路SUM6可依此次序逐一接收并先累加第1~4个4×4像素方块之绝对差和数据,以获得第一个8×8像素方块之绝对差和数据;然后继续接收并重新累加第5~8个4×4像素方块之绝对差和数据,以获得第二个8×8像素方块之绝对差和数据;以此类推,继续接收并重新累加第13~16个4×4像素方块之绝对差和数据,以获得第四个8×8像素方块之绝对差和数据。在此同时,累加电路SUM11亦同时逐一接收并累加第1~16个4×4像素方块之绝对差和数据,因而获得16×16像素方块之绝对差和数据。
上述实施例中可以于最短时间内同时提供数种不同图像方块大小之绝对差和数据。若考虑电路面积,则处理单元可以参照下述实施例工作之。
图8是依照本发明较佳实施例所示图2与图3中处理单元PE-n~PEn的另一种电路方框图。请参照图8,绝对差电路810接收目前图像方块PM以及搜寻窗SW中部分方块之像素数据串行,并且输出绝对差数据AD。在此,绝对差电路810、加法器ADD1、缓存器REG1以及选择电路SEL1譬如分别与前述实施例中图6之绝对差电路610、加法器ADD1、缓存器REG1以及选择电路SEL1相同,故不在此赘述。
请参照图8,选择电路820耦接于绝对差电路810与加法器ADD1之间。在此,假设缓存器REG1用以暂存4×4像素之SAD值。本发明可同时提供多种图像方块大小之SAD运算值,而不限于上述实施例中之4×4像素大小。因此本实施例还于加法器ADD1之输出端耦接多组缓存器REG2~REG11,用以接收运算完成之4×4像素SAD值(即绝对差和数据SAD1),并各自累加所接收绝对差和数据SAD1以输出其欲计算之图像方块大小的绝对差和数据。例如,缓存器REG2~REG11分别用以累加4×8(左)、4×8(右)、8×4(上)、8×4(下)、8×8、8×16(左)、8×16(右)、16×8(上)、16×8(下)以及16×16像素方块大小之绝对差和数据SAD2~SAD11,并且各自依预定时序重新累加之。
凡所属技术领域的技术人员应知,本实施例可视实际需要而决定缓存器之个数。例如,若设计者只需要同时计算4×4、8×8以及16×16像素方块大小之绝对差和数据,则可省略图8电路中缓存器REG2~REG5以及REG7~REG10。上述各种修改之结果亦属本发明之范围。
本实施例中,4×4像素方块串行排列之顺序亦依照图7所示。请同时参照图7与图8。例如,若加法器ADD1已完成第1个4×4图像方块之SAD运算(此时加总值822即为完整4×4图像方块之绝对差和数据),即令缓存器REG2、REG4、REG6、REG7、REG9、REG11以及REG1锁存加总值822。待加法器ADD1完成第2个4×4图像方块之SAD运算,即令缓存器REG3以及REG1锁存加总值822。然后,令选择电路820逐一选择数据SAD4、SAD6、SAD7、SAD9、SAD11输出至加法器ADD1以各自与第2个4×4图像方块之绝对差和数据(SAD1)进行加法运算,以便各自储存其累加结果。此时缓存器REG4即可输出其第一个8×4图像方块之绝对差和数据SAD4。其余可依上述类推,故不再赘述。
图6与图8之绝对差和电路各具特点,例如图6之绝对差和电路可以于最短时间内同时提供数种不同图像方块大小之绝对差和数据,而图8之绝对差和电路则最省电路面积。以下再举一实施例,使电路面积与运算效能介于图6与图8之绝对差和电路之间。
图9是依照本发明较佳实施例所示图2与图3中处理单元PE-n~PEn的再一种电路方框图。请参照图9,绝对差电路910接收目前图像方块PM以及搜寻窗SW中部分方块之像素数据串行,并且输出绝对差数据AD。在此,绝对差电路910、加法器ADD1、缓存器REG1~REG6、选择电路SEL1以及920譬如分别与前述实施例中图8之绝对差电路810、加法器ADD1、缓存器REG1~REG6、选择电路SEL1以及820相同,故不在此赘述。
请参照图9,加法器930耦接至缓存器REG6之输出端,并且接收绝对差和数据SAD6以便与选择电路940所选择输出之数据进行加法运算。每当完成一个8×8图像方块之SAD运算(即缓存器REG6中已锁存8×8图像方块之绝对差和数据)后,在加法器ADD1尚未输出完整之4×4图像方块之绝对差和数据之前,即可利用此一期间透过选择电路940之切换而使绝对差和数据SAD6累加至对应之缓存器中。因此,与图8相比,本实施例虽增加了选择电路940与加法器930,却可以比图8之绝对差和电路更有效率。
虽然本发明已以较佳实施例披露如上,然其并非用以限定本发明,任何所属技术领域的技术人员,在不脱离本发明之精神和范围内,当可作些许之更动与改进,因此本发明之保护范围当以权利要求所界定者为准。
Claims (19)
1.一种移动估计(motion estimation)电路,用以于搜寻窗中寻找有否与目前方块最相似之方块,其特征是该目前方块由至少一个4×4子方块所组成,该移动估计电路包括:
多个处理单元PEm,每一上述这些处理单元具有至少一个第一输入端、至少一个第二输入端以及至少一个输出端,用以各自接收该目前方块以及该搜寻窗中相对应方块并将两者进行比较运算,以输出该比较运算之结果,其中PEm表示第m个处理单元,其中m为大于等于-n且小于等于n之整数,其中n表示该目前方块于该搜寻窗之搜寻范围值并且n为大于0之整数;
多个数据锁存器FFk,具有输入端以及输出端,FFk之输出端耦接至FFk+1之输入端以及PEk之第一输入端,其中FFk表示第k个数据锁存器,其中k为大于-n且小于等于n之整数;以及
多个选择电路MUXh,具有第一输入端、第二输入端以及输出端,用以选择MUXh之第一输入端以及MUXh之第二输入端中之一个耦接至MUXh之输出端,MUXh之输出端耦接至PEh之第二输入端,其中MUXh表示第h个选择电路,其中h为大于等于-1且小于等于1之整数;
其中该目前方块之上述这些4×4子方块依第一顺序依序逐一输入至PE-n之第一输入端以及FF-(n-1)之输入端,并将该搜寻窗之一部分单元数据依第二顺序输入至PEr之第二输入端以及MUXh之第一输入端,其中r为大于等于-n且小于-1之整数,以及将该搜寻窗之其它部分单元数据依第三顺序输入至PEs之第二输入端以及MUXh之第二输入端,其中s为大于1且小于等于n之整数。
2.根据权利要求1所述之移动估计电路,其特征是每一上述这些处理单元为绝对差和(sum of absolute difference)电路,并且该比较运算一绝对差和运算。
3.根据权利要求2所述之移动估计电路,其特征是该绝对差和电路包括:
绝对差(absolute difference)电路,用以接收该目前方块以及该搜寻窗中之一部分方块,并且输出绝对差数据;
第一加法器,用以接收并且加总该绝对差数据以及第一累加数据,以及将加总结果输出为第一加总值;
第一缓存器,用以依第一预定时序接收并锁存该第一加总值后输出第一绝对差和(sum of absolute difference)数据;以及
第一选择电路,用以接收并选择该第一绝对差和数据以及零数据中之一个,并将所选择数据输出为该第一累加数据,其中该零数据之值为0。
4.根据权利要求3所述之移动估计电路,其特征是该绝对差电路包括:
减法器,用以接收该目前方块中之上述这些单元数据以及该部分方块中之上述这些单元数据并将两者依其对应位置两两相减后输出多个差值;
第二缓存器,耦接至该减法器,用以依第二预定时序逐一锁存上述这些差值;
补码电路,耦接至该第二缓存器,用以产生由该第二缓存器所锁存之该差值之补码;以及
第二选择电路,耦接至该第二缓存器以及该补码电路,用以于所接收之该差值以及该差值之补码两者中选择正数者输出为该绝对差数据。
5.根据权利要求4所述之移动估计电路,其特征是该补码电路包括:
反相器,用以接收并将该第二缓存器所锁存之该差值反相,以输出反相差值;以及
第二加法器,耦接至该反相器,用以接收并加总该反相差值以及壹数据以输出该差值之补码,其中该壹数据之值为1。
6.根据权利要求3所述之移动估计电路,其特征是该绝对差和电路还包括至少一个累加电路,用以接收并累加该第一绝对差和数据以输出第二绝对差和数据,并且依预定时序重新累加之。
7.根据权利要求6所述之移动估计电路,其特征是该累加电路包括:
第三加法器,用以接收并且加总该第一绝对差和数据以及第三累加数据,以及将加总结果输出为第三加总值;
第三缓存器,用以依第三预定时序接收并锁存该第三加总值后输出该第二绝对差和数据;以及
第三选择电路,用以接收并选择该第二绝对差和数据以及该零数据中之一个,并将所选择数据输出为该第三累加数据。
8.根据权利要求7所述之移动估计电路,其特征是该绝对差和电路还包括:
第四加法器,用以接收并且加总该第二绝对差和数据以及第四累加数据,以及将加总结果输出为第四加总值;
第四缓存器,用以依第四预定时序接收并锁存该第四加总值后输出第三绝对差和数据;以及
第四选择电路,用以接收并选择该第三绝对差和数据以及该零数据中之一个,并将所选择数据输出为该第四累加数据。
9.根据权利要求3所述之移动估计电路,其特征是该绝对差和电路还包括:
第四缓存器,用以接收并依第四预定时序锁存该第一加总值以输出第三绝对差和数据;以及
第四选择电路,耦接于该绝对差电路与该第一加法器之间,并且连接该第四缓存器,用以接收并选择该绝对差数据、该第三绝对差和数据以及该零数据中之一个传送至该第一加法器以便与该第一累加数据进行加法运算。
10.根据权利要求9所述之移动估计电路,其特征是该绝对差和电路还包括:
第五加法器,用以接收并且加总该第三绝对差和数据以及第五累加数据,以及将加总结果输出为第五加总值;
第五缓存器,用以依第五预定时序接收并锁存该第五加总值后输出第四绝对差和数据;以及
第五选择电路,用以接收并选择该第四绝对差和数据以及该零数据中之一个,并将所选择数据输出为该第五累加数据。
11.根据权利要求1所述之移动估计电路,其特征是上述这些数据锁存器为正反器。
12.根据权利要求11所述之移动估计电路,其特征是上述这些正反器为D型正反器。
13.根据权利要求1所述之移动估计电路,其特征是上述这些选择电路为多任务器。
14.根据权利要求1所述之移动估计电路,应用于视讯处理,该目前方块为该视讯处理过程中目前帧(frame)内欲对比之部分方块,该搜寻窗是于先前帧中且包含该目前方块相对于该先前帧之相对位置。
15.一种移动估计电路之操作方法,其特征是用以于搜寻窗中寻找有否与目前方块最相似之方块,而该目前方块是由至少一个4×4子方块所组成,该移动估计电路包括多个处理单元PEm、多个数据锁存器FFk以及多个选择电路MUXh,其中PEm表示第m个处理单元,FFk表示第k个数据锁存器,MUXh表示第h个选择电路,m为大于等于-n且小于等于n之整数,n表示该目前方块于该搜寻窗之搜寻范围值并且n为大于0之整数,k为大于-n且小于等于n之整数,h为大于等于-1且小于等于1之整数,并且FFk之输出端耦接至FFk+1之输入端以及PEk之第一输入端,MUXh之输出端耦接至PEh之第二输入端,该操作方法包括下列步骤:
依第一顺序依序选择该目前方块中之上述这些4×4子方块中之一个;
于该搜寻窗中与被选择之该4×4子方块相对之位置依该搜寻范围值定义子搜寻窗,该子搜寻窗具有第一部分子窗与第二部分子窗;
依时脉信号之时序,将被选择之该4×4子方块中每一单元数据逐列(row)且逐个输入至PE-n之第一输入端以及FF-(n-1)之输入端,并且于被选择之该4×4子方块中前列单元数据输入后等待n-2个该时脉信号之周期时间后才开始输入次列单元数据;
依该时脉信号之时序,于被选择之该4×4子方块之第一个单元数据开始输入的同时,将对应之该子搜寻窗之该第一部分子窗逐列(row)且逐个连续输入至PEr之第二输入端以及MUXh之第一输入端,其中r为大于等于-n且小于-1之整数;以及
依该时脉信号之时序,于对应之该子搜寻窗之该第一部分子窗开始输入之第一个单元数据延迟n+2个该时脉信号之周期时间后,将对应之该子搜寻窗之该第二部分子窗逐列(row)且逐个连续输入至PEs之第二输入端以及MUXh之第二输入端,其中s为大于1且小于等于n之整数。
16.根据权利要求15所述之移动估计电路之操作方法,其特征是还包括:
控制MUX-1,使MUX-1除于开始输入该第二部分子窗之第一个单元数据起每隔n+2个该时脉信号之周期时间使MUX-1于连续至少1个该时脉信号之周期时间内选择并输出该第二输入端之信号外,其余时间使MUX-1选择并输出该第一输入端之信号;
控制MUX0,使MUX0除于开始输入该第二部分子窗之第一个单元数据起每隔n+2个该时脉信号之周期时间使MUX0于连续至少2个该时脉信号之周期时间内选择并输出该第二输入端之信号外,其余时间使MUX0选择并输出该第一输入端之信号;以及
控制MUX1,使MUX1除于开始输入该第二部分子窗之第一个单元数据起每隔n+2个该时脉信号之周期时间使MUX1于连续至少3个该时脉信号之周期时间内选择并输出该第二输入端之信号外,其余时间使MUX1选择并输出该第一输入端之信号。
17.根据权利要求15所述之移动估计电路之操作方法,其特征是还包括依该时脉信号之时序,使每一上述这些处理单元进行绝对差和运算。
18.根据权利要求17所述之移动估计电路之操作方法,其特征是还包括使每一上述这些处理单元各自逐一计算、暂存与累加该目前方块中之每一该4×4子方块与该搜寻窗中对应4×4方块之绝对差和值,以各自输出该目前方块与该搜寻窗中对应方块之绝对差和值。
19.根据权利要求15所述之移动估计电路之操作方法,应用于视讯处理,其特征是该目前方块为该视讯处理过程中目前帧(frame)内欲对比之部分方块,该搜寻窗是于先前帧中且包含该目前方块相对于该先前帧中之相对位置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005100800900A CN100515030C (zh) | 2005-06-29 | 2005-06-29 | 移动估计电路及其操作方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005100800900A CN100515030C (zh) | 2005-06-29 | 2005-06-29 | 移动估计电路及其操作方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1889630A CN1889630A (zh) | 2007-01-03 |
CN100515030C true CN100515030C (zh) | 2009-07-15 |
Family
ID=37578887
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005100800900A Expired - Fee Related CN100515030C (zh) | 2005-06-29 | 2005-06-29 | 移动估计电路及其操作方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100515030C (zh) |
-
2005
- 2005-06-29 CN CNB2005100800900A patent/CN100515030C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN1889630A (zh) | 2007-01-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zhang et al. | Reduced-latency SC polar decoder architectures | |
Wong et al. | A sum of absolute differences implementation in FPGA hardware | |
CN111162797B (zh) | 一种速率兼容的5g ldpc码的编码装置及编码方法 | |
US7730116B2 (en) | Method and system for fast implementation of an approximation of a discrete cosine transform | |
CN107565973B (zh) | 一种结点可扩展的哈夫曼编码的实现方法及电路结构 | |
Chan et al. | Motion estimation architecture for video compression | |
JP2006352847A (ja) | 動き検出回路、およびその動作方法 | |
CN113347422B (zh) | 一种粗粒度上下文熵编码方法 | |
US8375281B2 (en) | Method and apparatus for storing survivor paths in a viterbi detector using systematic pointer exchange | |
US8416856B2 (en) | Circuit for computing sums of absolute difference | |
JP2000106674A (ja) | 動き検出方法および装置 | |
EP1315381A1 (en) | A method for performing motion estimation in video encoding, a video encoding system and a video encoding device | |
CN100515030C (zh) | 移动估计电路及其操作方法 | |
US7308640B2 (en) | Low-latency architectures for high-throughput Viterbi decoders | |
Guevorkian et al. | Architectures for the sum of absolute differences operation | |
KR19990060481A (ko) | 움직임 벡터 디코더 | |
CN110557642B (zh) | 一种视频帧编码运动搜索方法及图像编码器 | |
US5838392A (en) | Adaptive block-matching motion estimator with a compression array for use in a video coding system | |
JP7251615B2 (ja) | 整列処理装置、整列処理方法、及びプログラム | |
US8804757B2 (en) | Configurable motion estimation | |
Krylov et al. | Polar codes sequential decoder hardware architecture | |
CN100384214C (zh) | 绝对差和电路 | |
Liu et al. | High-speed systolic ladder structures for multidimensional recursive digital filters | |
Patil et al. | Low Power High Speed VLSI Architecture for 1-D Discrete Wavelet Transform | |
Karim et al. | An area reduced, speed optimized implementation of Viterbi decoder |
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 | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090715 Termination date: 20130629 |