CN1178464C - 运动矢量高速测算装置和运动矢量测算方法 - Google Patents
运动矢量高速测算装置和运动矢量测算方法 Download PDFInfo
- Publication number
- CN1178464C CN1178464C CNB971165513A CN97116551A CN1178464C CN 1178464 C CN1178464 C CN 1178464C CN B971165513 A CNB971165513 A CN B971165513A CN 97116551 A CN97116551 A CN 97116551A CN 1178464 C CN1178464 C CN 1178464C
- Authority
- CN
- China
- Prior art keywords
- motion vector
- calculating
- measuring
- treatment element
- search window
- 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
- 239000013598 vector Substances 0.000 title claims abstract description 258
- 238000000034 method Methods 0.000 title claims abstract description 47
- 238000003860 storage Methods 0.000 claims abstract description 29
- 230000008569 process Effects 0.000 claims abstract description 22
- 238000012360 testing method Methods 0.000 claims description 16
- 238000004364 calculation method Methods 0.000 claims description 11
- 238000001514 detection method Methods 0.000 claims description 6
- 230000006399 behavior Effects 0.000 claims description 3
- 230000005540 biological transmission Effects 0.000 claims description 2
- 238000012544 monitoring process Methods 0.000 description 30
- 238000010586 diagram Methods 0.000 description 27
- 210000004027 cell Anatomy 0.000 description 24
- 238000012545 processing Methods 0.000 description 20
- 238000013500 data storage Methods 0.000 description 15
- 210000000352 storage cell Anatomy 0.000 description 15
- 241001269238 Data Species 0.000 description 14
- 230000008859 change Effects 0.000 description 13
- 230000004044 response Effects 0.000 description 8
- 238000011068 loading method Methods 0.000 description 7
- 238000005265 energy consumption Methods 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 238000007476 Maximum Likelihood Methods 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000013016 damping Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 238000004861 thermometry Methods 0.000 description 1
- 230000007306 turnover Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
- 238000004804 winding Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/14—Picture signal circuitry for video frequency region
- H04N5/144—Movement detection
- H04N5/145—Movement estimation
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/223—Analysis of motion using block-matching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/223—Analysis of motion using block-matching
- G06T7/238—Analysis of motion using block-matching using non-full search, e.g. three-step 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
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
Abstract
在一个运动矢量测算装置中,当前图象存储单元存储当前图象的图象数据,和参考图象存储单元存储参考图象的图象数据,一检索窗确定单元从已测算的运动矢量确定测算历史,和根据测算的历史确定检索窗。根据测算历史确定检索窗的形状、尺寸和位置中的至少一种。检索窗由若干矩形参考区组成。块匹配电路用于对当前块和检索窗的每个参考块进行匹配处理,以确定运动矢量。可以以象素为单位,或装置的负载,电源电压或块匹配电路的温度限制每个检索窗。
Description
技术领域
本发明是有关一种测算运动矢量的装置和方法以用于运动影像预编码处理时补偿图象的运动。
背景技术
常规的测算运动矢量的方法和装置中,把被进行预测编码处理的当前图象分成很多块,如:水平方向和垂直方向各有16个象素的块,这种块称为当前块。在参考图象中为每个上述的当前块预定出一个检索区,使每个当前块中一个象素的位置就是该检索区位置中相应的水平位置和垂直位置的中心。在参考图象中的预定检索区称为检索窗,块匹配处理是在一个特定的当前块和相应于该特定当前块的检索窗之间进行的,用以测算出一个位置,并在该位置上用预定评估公式计算求出最小值,依此而得到运动矢量。常规的运动矢量测算装置是致力于达到能更正确地获取运动矢量。
常规运动矢量测算装置的第一个实例是公布于例如日本特许公报JP-A-昭和61-201583中。其中参考区是受一限定值的限制的,即在当前帧之前的一帧中检测运动矢量的变化量时,只要运动矢量的变化量超过限定值,即将该限定值输出。
常规运动矢量测算装置的第二个实例是由日本特许公报JP-a-平成5-328333中所建议其中有一些检索窗或检索区中的运动矢量的位置是各不相同的。在这些检索窗或区中相应于从当前帧之前的一帧中检出的运动矢量的变化量而选出一个检索窗或区。
常规运动矢量测算装置的第三个实例是由日本特许公报JP-A-平成-7-203457所公开。其中,将块匹配处理时以并行方式对差值的绝对值进行累计处理。于是在累计处理时信号缓冲寄存器的容量减少,从而使处理速度提高。
常规运动矢量测算装置的第四个实例是日本特许公开JP-A-平成-7-250328。其中,用于补偿运动图象预测的运动矢量是以少量硬件按照多种预测模式测算的。
在上述这些常规实例的运动矢量测算技术中存在很多问题如下:
1.第一个问题的要点是:在第一个实例中,运动矢量的检索区受限定值的限制,功率损耗不能够下降,那是因为日本特许公开JP-A-昭和-61-201583所描述的运动矢量测算装置中限定值仅仅被引入参考区,所以对块匹配处理所需的计算时间和计算量实际上都不能得以减少,亦即,正因为计算时间和计算量不能被减少,所以运动矢量测算装置的功率损耗不可能减少。
按照日本特许公报JP-A-平成-70250328和JP-A-平成-7-203457中的描述,块匹配处理中,因采用并行处理可使时间减少。但是,运行时间实际上都减少不了,这是因为:如按日本特许公报JP-A-昭和-61-201583所述那样在运动矢量测算装置中具有限定值的话,则上述的并行处理过程的并行度即会减少,从而使运行时间不能减少。
2.第二个问题是:在常规的运动矢量测算装置为日本特许公报JP-A-平成-5-328333中那样为运动矢量备有若干个参考区,并不能获得正确的运动矢量,这是因为在从准备的参考区选择最佳参考区的方法中,当图象比较复杂以致有一个以上的目标处在运动之中时,目标的运动方向就无法唯一地确定下来,从而就无法从预备好的若干个参考区中选出最佳参考区。
而且,上述日本特许公报JP-A-平成-5-328333中所述的运动矢量测算装置中,如果参考区的尺寸和形状不能预先确定,则执行块匹配处理的装置的并行度就要降低,于是,因参考区形状的限制使适当的参考区不能被利用,导致不能获得正确的运动矢量。
3.第三个问题是:在日本特许公报JP-A-平成-7203457所述的运动矢量测算装置中,以并行模式对用于计算的信号使用较小的缓存器执行差值绝对值累积过程。但是,在运动矢量测算装置中,以并行方式执行差值绝对值的累计处理过程的块匹配电路的硬件数量增加,因此用于块匹配电路的芯片面积也增加了,从而使能耗也随之增加。又因为在日本特许公报JP-A-平成-203457和日本特许公报JP-A平成-7250328中所述的运动矢量测算装置中,需要为作为块匹配电路的最小单元的处理单元提供大量引线。使有效数据能连续不断地进入相应的各个处理单元,所以并行度就增加了。其结果将因引线而使芯片所需面积略有增加。
此外,上述日本特许公报JPA-平成-7-203457和JPA平成-7250328所述运动矢量测算装置中,还有一个问题,即最小值确定单元确定了相应各处理元件中累计的差值的绝对值总和的最小值,且用于引线的芯片面积相应增加,因为从最小值确定单元连接的引线的总量非常大。
4.第四个问题是:如果在并行状态下作绝对值差值累计计算的运动矢量测算装置中允许改变参考区的大小和/或形状,则增加在并行状态下执行差值绝对值累计处理的块匹配电路的硬件数量。从而芯片面积将增加并且能耗亦增加。此时,并行度下降。这是因为需要设置大量的引线用于连续将有效数据送入构成块匹配电路中最小单元的处理元件中去。
另外,因为随着参考区形状和大小的改变,处理元件中数据输入的次序有很大变化,从而使从存储单元中读出的参考数据的过程十分复杂,导致芯片面积以及能耗的增加。
5.第五个问题是在以多种预测模式测算运动矢量的运动矢量测算装置中块匹配电路的芯片面积要增加。这是因为在日本特许公报JPA-平成-7-250328中所描述的那种运动矢量测算装置中,为了确定各处理元件上所累计的差值的绝对值的最小值,就需要大量引线将最小值确定单元连接到相应的处理元件,其结果就因引线的需要而使芯片面积有所增加。
此外,块匹配电路所需的FIFO(先进先出)级数也会增加。
发明内容
因此,本发明的目的就是要解决上述的各种问题,于是,本发明的一个目的就是要提供一种运动矢量的测算方法和运动矢量测算装置,以使用很低的功耗及很省的芯片面积来高精度地测算运动矢量。
本发明的另一目的是提供一种运动矢量的测算方法和运动矢量测算装置,其中当向一块匹配处理施行一并行处理时,其并行度是不会降低的。
本发明的另一目的是提供一种运动矢量的测算方法和运动矢量测算装置,其中能够在节省块匹配电路的芯片面积的同时测算多种模式的运动矢量。
本发明的又一目的是提供一种运动矢量的测算装置,其中的块匹配电路能够以节省的芯片面积来实现,且与参考区的形状和大小无关。
为了实现本发明的一个方面:一种运动矢量测算装置,包括:当前图象存储单元,用以存储当前图象的图象数据;参考图象存储单元,用以存储参考图象的图象数据;运动矢量存储单元,用于存储在先已测算的运动矢量;检索窗确定单元,用于从在先已测算的运动矢量确定测算历史,和根据所述测算历史确定检索窗,其中所说的检索窗由矩形参考区所组成;块匹配电路,用于对当前块和所说检索窗中的每个参考块进行块匹配处理,以确定运动矢量;和控制电路,用于从所说的当前图象存储单元中读出所述当前块的图象数据以供给所说的块匹配电路、从所说的参考图象存储单元读出所述检索窗口的每个所述参考块的图象数据以供给所说的块匹配电路、以及用于控制所说的块匹配电路对所说的当前块和所说的检索窗的所述每个参考块进行所说的块匹配处理。
根据测算历史至少确定出检索窗的形状、检索窗的尺寸和检索窗的位置中的一项。
检索窗确定单元确定在先已测算的运动矢量的数量是否已超过一预定数,并其当确定在先已测算的运动矢量的数量已超过该预定数时,即产生二维图,该二维图中的每个所说的在先已测算的动态矢量是按其水平值和垂直值绘制的,并根据所说的二维图确定检索窗的所说的形状和尺寸。另一方面,当确定出在先测算的运动矢量数超过预定数时,检索窗确定单元即产生一个二维图,其中根据水平值和垂直值来绘出每个在先测算的运动矢量。于是,检索窗确定单元即确定出检索窗的最佳尺寸和形状,以使检索窗包含在先测算的运动矢量的历史,而且,检索窗确定单元再分别计算在先被测算运动矢量在水平和垂直方向上的变化的平均值,并确定出检索窗的最佳位置,以致例如使检索窗的中心位置按平均值移动。按此方式,可独立地确定尺寸、形状和位置。反之,可集中确定尺寸、形状和位置。
运动矢量测算装置还包括:一负载检测电路,用于检测运动矢量测算装置的负载或者检测块匹配电路的负载之一。此时,检索窗确定单元根据测算历史和检测到的负载确定检索窗。而且,运动矢量测算装置还包括一电压检测电路,用于检测电源电压。此时,检索窗确定单元就根据测算历史和检测到的电源压确定检索窗。而且运动矢量测算装置还包括温度检测电路,用于检测安装块匹配电路的芯片的温度。此时,检索窗确定单元就根据测算历史和检测到的温度来确定检索窗。此外检索窗确定单元还可根据测算历史确定出至少一个以象素为单元的检索窗中的无用区,并在该无用区中的每个象素上设置一个标记,以便根据无用区中象素上的标记使对包括无用区的任何象素的参考块的块匹配处理无效。
块匹配电路还包括具有M列和N行(M和N都是正整数)的处理元件,以便通过流水线处理来计算当前图象和每个参考块之间的似然性。此时,块匹配电路还包括:一分级选择器结构,以便向每个处理元件提供每个参考块中的一个象素数据。而且块匹配电路还包括分别为M列和N行处理元件设置的(M+N)个参考数据总线,和为N行处理元件设置的当前数据总线。此时,(M+N)个参考数据总线中的每一个在流水线处理的一个单位时间内传递任何一个参考块的一个象素数据。当前块由M列和N行组成。
处理元件在N行的每一行中是逐级相连接的,并且N行也是逐级相连的。
另一种情况是,处理元件在N行中的每一行中是逐级相连的(N是偶数)。而上半部的N行中的每个奇数行通过第一组先进先出(FIFO)单元组逐级相连,即每个第一先进先出(FIFO)单元供给两个相邻的奇数行;上半部的N行中的每个偶数行则通过第二组先进先出(FIFO)单元组逐级相连,即每个第三先进先出(FIFO)单元供给两个相邻的偶数行;而下半部N行中的每个奇数行通过第三组先进先出(FIFO)单元组逐级相连,即每个第三先进先出(FIFO)单元供给两个相邻的奇数行;下半部的N行中的每个偶数行通过第四组先进先出(FIFO)单元组逐级相连,即每个第四先进先出(FIFO)单元供给两个相邻的偶数行。而且运动矢量测算装置还包括第五和第六组先进先出(FIFO)单元组,分别与上半部的奇数行和偶数行已经逐级相连的处理元件的最后一级连接。此时,每个从第一到第四先进先出(FIFO)单元组的级数是M,而第五组先进先出单元组的级数则是(M×N/2+M),第六组先进先出单元组的级数则是(M×N/2)。
为了实现本发明的另一方面:一种运动矢量测算装置,其中所述块匹配电路包括:M列和N行的处理元件,其中M和N都是正整数,其中所说的处理元件在所述N行的每一行中逐级相连,其中的每个所说的处理元件计算出当前块的一个对应象素数据和每个参考块的一个象素数据之间的差值的绝对值,并将此绝对值加到来自前一级处理元件的输出,输出此相加结果到下一级处理元件,其中所说的N行是逐级相连以允许流水线处理;分别为M列处理元件提供的M个参考数据列总线;分别为N行处理元件提供的N个参考数据行总线;(M×N)个选择器,分别供给所说的处理元件,以允许所说M个参考数据列总线中的相应一总线上的象素数据和所说N个参考数据行总线中的相应一总线上的象素数据中的一个作为参考块象素数据而送到所述相应的处理元件;和当前块象素数据总线,用于将当前块象素数据转送到各个所说的处理元件。
运动矢量测算装置还包括:参考块数据总线组,用于将所说参考块的象素数据以行为单位作为象素数据序列传递;分别为所说的M个参考数据列总线设置的第一选择器组,其中每一个选择器选出一个所述序列的一个象素数据以供给相应的参考数据列总线;和分别为所说的N个参考数据行总线设置的第二选择器组,其中每一选择器选出一个所述序列的一个象素数据,以供给相应的参考数据行总线。这种情况下,一旦通过所述当前块象素数据总线提供相应的当前块象素数据,每个所述处理元件锁存所述相应的当前块象素数据。而且,每个所说处理元件与时钟信号同步地进行差值的绝对值及相加计算,并将相加结果输入下一级的处理元件。于是,处理元件计算从第一时间到第(M×N)时间的时间周期中每个所说参考块的似然性,计算从第二时间到第(M×N+1)时间的时间周期中所说参考块的不同块的似然性。
当前块是由M列和N行的象素所组成。
一种情况是,处理元件是在N行的每行中逐级相连的,并且N行又都逐级相连。
另一种情况是。处理元件在所说N行的每一行中的逐级相连的,其中N是一个偶数,在上半部N行中的奇数行是通过第一先进先出单元组逐级相连的,其中每一先进先出单元为两个相邻的奇数行设置,在上半部N行中的偶数行是通过第二先进先出单元组相连的,其中每一先进先出单元为两个相邻的偶数行设置,在下半部N行的奇数行是通过第三先进先出先进先出单元组逐级相连的,其中每一个先进先出单元为两个相邻的奇数行设置,在下半部N行中的偶数行是通过第四先进先出单元组逐级相连的,其中每一先进先出单元为两个相邻的偶数行设置,和其中所说的块匹配电路还包括第五和第六先进先出单元组分别在所说的上半部中的奇数行和偶数行的所述级联连接中连接到最后一级的处理元件。这种情况下,从第一到第四先进先出单元组中每一单元的级数是M,所说的第五先进先出单元的级数是(M×N/2+M),和所说的第六先进先出单元的级数是(M×N/2)。运动矢量测算装置还包括:第一加法器,将所说的第五先进先出单元的输出和所说的第六先进先出单元的输出相加;第二加法器,将所说第五先进先出单元的输出和所说的下半部奇数逐级相连的最后一级中的处理元件的输出相加;第三加法器,将所述第六先进先出单元的输出和所说的下半部偶数逐级相连的最后一级的处理元件的输出相加;第四加法器,将下半部奇数逐级相连的最后一级的处理元件的输出和下半部偶数逐级相连的最后一级的处理元件的输出相加,和第五加法器,将所说的第二加法器的输出和第三加法器的输出相加。
又一种情况是,处理元件在所说N行的每一行中是逐级相连的,其中N是一个偶数,其中上半部的所述N行中的每一行是通过第一先进先出单元组逐级相连,其中每一单元为两个相邻行设置,下半部的所述N行中的每一行是通过第二先进先出单元逐级相连,其中每一单元为两个相邻行设置,和其中所说块匹配电路还包括连接到上半部逐级相连的最后一级的处理元件的第三先进先出单元。此时第一和第二先进先出单元组中每一个单元的级数是M,所说的第三先进先出单元的级数是(M×N/2)。运动矢量测算装置还可包括:加法器,用于将所说第三先进先出单元的输出和所述下半部中逐级相连的最后一级中的处理元件的输出相加。
再一种情况是:所述处理元件在所说N行的每一行中是逐级相连的,其中N是一个偶数,其中所说N行的奇数行通过第一先进先出单元组逐级相连,其中每一单元为两个相邻奇数行设置,其中所说N行的偶数行通过第二先进先出单元组逐级相连,其中每一单元为两个相邻偶数行设置。此时,所述第一和第二先进先出单元组的每一单元的级数是M。运动矢量测算装置还可包括:加法器,用于将奇数逐级相连的最后一级中的处理元件的输出和偶数逐级相连的最后一级中的处理元件的输出相加。
为了实现本发明的另一方面:一种测算运动矢量的方法,包括下列步骤:将当前图象的图象数据及参考图象的图象数据分别存储到当前图象存储单元及参考图象存储单元;将以测算的运动矢量存储到运动矢量存储单元;从在先已测算的运动矢量中确定测算历史;根据所说测算历史确定一检索窗,其中所说的检索窗由若干矩形参考区组成;和对当前块和所说检索窗的每个参考块进行块匹配处理,以确定运动矢量。
附图说明
图1是根据本发明的第一实施例的运动矢量测算装置的结构的方框图;
图2是如图1所示第一实施例的运动矢量测算装置中块匹配单元的结构的方框图;
图3是解释如图2所示第一实施例中块匹配单元中处理元件连接关系的接线图;
图4是说明图3中处理元件内部结构的方框图;
图5是如图1所示第一实施例的运动矢量测算装置中说明运动矢量监测单元结构的框图;
图6A是本发明第一实施中说明检索窗是由许多矩形集聚而成的示意图;
图6B是如图6A所示检索窗的局部放大图;
图7是解释在先图象,包括参考块的检索窗和一当前图象中当前块之间相互关系的示意图;
图8A和8B是本发明第一实施例中解释块匹配单元中块匹配处理过程的示意图;
图9A到9F是本发明第一实施例中解释块匹配单元的块匹配处理过程和参考块图象数据的选择和供给的示意图。
图10是本发明的第一实施例中解释参考块图象数据的选择和供给的示意图;
图11是本发明的第二实施中说明块匹配电路的框图;
图12是本发明第三实施例中说明块匹配电路的框图;
图13是如图12所示本发明第三实施例中说明参考块图象数据选择和供给的示意图;
图14是本发明第四实施例中运动矢量监测单元结构示意图;
图15是如图14的第四实施例中解释运动矢量监测单元工作情况的示意图;
图16是说明第四实施例中块匹配电路中处理元件内部结构的框图;
图17是说明本发明第五实施例的运动矢量测算装置的结构的框图;
具体实施方式
本发明矢量测算装置将参考附图详细说明如下:
图1是本发明第一实施例的运动矢量测算装置的结构示意框图,现参考图1可见,第一实施例的运动矢量侧示装置是由当前图象数据存储单元1,参考图象数据存贮单元2,块匹配单元3,运动矢量监测单元4,和运动矢量存储单元5所组成。
当前图象存储单元1存储当前图象的图象数据,并由块匹配单元3将当前块的象素中的象素数据C从存储单元1中读出到信号线101,参考图象数据存贮单元2存贮参考图象的图象数据,并且由块匹配单元3将预定检索窗中的参考块的象素中的象素从存贮器2中读出到信号线121。参考图象可以是当前图象前的在先图象,或者是用于测算运动矢量的另一图象。
块匹配单元3从当前图象数据存储单元1中读出当前块象素数据,也从参考图象数据存储单元2中读参考块图象数据,并进行块匹配处理。块匹配单元3对当前块象素数据和参考块象素数据的块匹配处理运算是按照下列等式(1)进行的。对检索窗的所有参考块执行块匹配处理。
其中 Ci,j是当前块的一个象素数据,
Ri,j是参考块的一个象素数据,
M和N是分别代表当前块中的列数和行数。
参考块具有一最大似然值,亦即,块对比处理运算的结果得到一最小值就被确定用于测算运动矢量。
运动矢量存储单元5存储在先测算的运动矢量,运动矢量监测单元4是将块匹配单元3中输出的运动矢量存储在运动矢量存储单元5中。运动矢量监测单元4也根据存储在存储单元5中的运动矢量输出一个检索窗指定数据给块匹配单元3。换言之,运动矢量监测单元4是根据存储在运动矢量存储单元5中的运动矢量来确定运动矢量的测算历史,运动矢量监测单元4又根据已确定的测算历史再确定检索窗的位置、形状和大小。就是说,运动矢量监测单元4参照运动矢量存储单元5来确定在先已测算的运动矢量的数量是否超过了预定值。当确认在先已测算的运动矢量的数比预定值为小时,运动矢量监测单元4即略去在先已测算的运动矢量并根据当前块确定检索窗的最佳形状和大小。当确认在先测算的运动矢量数比预定值为大时,运动矢量监测单元4即产生一二维图,其中在先已测算的各个运动矢量均按水平和垂直值制成矢量图。这样运动矢量监测单元4即确定检索窗的最佳形状和大小,以使检索窗包括在先已测算的运动矢量的历史。运动矢量监测单元4还分别在先计算的运动矢量在水平和垂直方向上变化的平均值,并确定出检索窗的最佳位置,以使检索窗的中心位置根据平均值作移动,这样,形状,大小和位置都是独立地被确定的,反之,则形状,大小和位置可被集中确定。
运动矢量监测单元4输出检索窗指定数据161给块匹配单元3,这样,检索窗的形状,大小和位置可随检索窗指定数据或必要时而逐帧、逐块地改变。于是检索窗的确定过程就不致成为限制块匹配处理速度的瓶颈。
就这样,检索窗的形状,大小和位置是根据在先运动矢量的测算历史而确定的,然后,块匹配处理是在当前块和检索窗中每个参考块之间进行的以便检测运动矢量。
本发明中,检索窗的形状,大小和位置也可自适应地确定下来,因此检索窗的形状,大小和位置是可变的。
图2是表示本发明第一实施例中块匹配单元3的结构的框图,参考图2,块匹配单元3是由控制电路10-1和块匹配电路300-1所组成,块匹配单元3是制作在半导体芯片上。但是只有其中的块匹配电路300-1是制作在半导体芯片之上。
控制电路10-1接收来自运动矢量监测单元4的检索窗指定数据161并从当前图象数据存储单元1中读出当前块象素数据及读出检索窗中的每个参考块的象素数据。
块匹配电路300-1是由许多处理元件21安排成M列和N行组合而成(M和N都是正整数,在本实施例中M=4,N=4)。
处理元件21是按行逐级相连,每行又逐级相连。最后一个级连的处理元件PE4,4和最小值检测电路25相连,该最小值检测电路25在块匹配处理过程中在检索窗中检测出具有最小值的参考块之一,并输出该最小值块作为运动矢量。
并不要求处理元件的数量等于当前块中象素的数量,然而如果处理元件PEM,N的总数等于当前块的象素量,则在常规系统中需要的先进出单元(FIFO单元)即可省略,其结果可使块匹配单元的芯片面积减少而使功耗下降。
块匹配电路300-1也可以由(P+Q)个参考块象素数据总线(P或Q都是大于1的正整数)、第一组M个选择器和第二组N个选择器所组成。在这个实例中,参考块象素数据总线是Rv1,Rv2,Rh1,Rh2参考块象素数据总线301,302,303,304。参考块的象素数据序列是由参考图象数据存储单元2向Rv1,Rv2,Rh1和Rh2参考块象素数据总线301,302,303和304提供。选择器2211到2214是作为第一组M个选择器提供的,并与RV1和RV2参考块象素数据总线301,302相连;选择器2221到2224是作为第二组N个选择器提供的,并与Rh1和Rh2参考块象素数据总线303,304相连;响应来自控制电路10-1的控制信号分别控制选择器2211到2214及2221到2224。
块匹配电路300-1还包括Rh参考数据总线206-1到206-4,Rv参考数据总线207-1到207-4和当前数据总线208-1到208-4。Rh参考数据总线206-1到206-4中的每一个分别供给选择器2221到2224中的一个选择器,Rv参考数据总线207-1到207-4中的每一个分别供给选择器2211到2214中的一个选择器。参考数据总线206-1到206-4和207-1到207-4中的每一个分别传递由相应的选择器选出一个参考块的象素数据。在本实施例中,当前数据总线208-1到208-2中的每一个分别提供给处理元件21各行中的一行;以及当前数据总线208-1到208-4是互相连在一起的。每一个处理元件也连接到相应的Rh参考数据总线206-1到206-4中的一个,及相应的Rv参考数据总线207-1到207-4中的一个及相应的当前数据总线208-1到208-4中的一个。应该注意到,虽然当前数据总线208-1到208-4在本结构实例中是连接到一起的,如图2所示,但当前数据总线208-1到208-4通常并不总是连接在一起。
块匹配电路300-1还包括电路11,该电路11将从参考图象数据存储单元2中读出的象素数据在参考块象素数据总线301和304之间切换。电路11可包括移位寄存器,其中的每一个闭锁一行参考象素数据并逐行输出这些象素数据。这样,即可使从参考图象数据存储单元2中的读出过程得到简化。但是,参考块象素数据总线301到304可以直接连接到参考图象数据存储单元2中。此时,电路11可以省略而读出过程是由控制电路10-1所控制。
图3是描述第一实施例中多个处理元件21中每一个及其周边部分的结构的示意框图,参考图3,处理元件(PE)21是通过信号线203与前一级处理元件21的输出端Do相连,又通过信号线204与下一级的处理元件21的输入端Di相连。处理元件还在端子C上与相应的当前数据总线208相连,也通过选择器23与相应的Rh和Rv参考数据总线206和207相连。响应来自控制电路10-1的控制信号而控制选择器23。通过选择器23从相应的Rh参考数据总线206的参考象素数据或Rv参考数据总线207的参考象素数据中选出一个。然后,处理元件21即响应于控制电路10-1来的控制信号,利用从相应的当前数据总线208接收的当前象素数据和选出的参考象素数据进行计算。在计算中,将当前象素数据和被选出的参考象素数据之间的差值的绝对值计算出来,再响应于控制电路10-1中的控制信号,将该计算结果加到在Di端点上接收到的由前一级处理元件来的数据上,将此相加的结果从端点Do处输出到下一级处理元件中去,就如所给的流水处理那样。计算和相加过程都是响应于控制电路10-1来的控制信号或时钟信号在处理元件之间同步进行的。于是,块匹配处理过程即可按流水方式实现。
图4是说明如图2中所示构成块匹配电路300的最小单元即处理元件的结构的方框示意图,参考图4,处理元件是由寄存器11a,11b,11c;一个计算元件12和一个加法元件13所组成。寄存器11a,11b,11c都是流水寄存器,计算单元12用来计算一个差值的绝对值(T=|IR-CI|)205,亦即:当前块的象素数据CI,它是通过信号线202由当前数据总线送来的和参考块的象数据IR,它是通过信号线201由选择器23供给的,这两者IR和CI之间差值的绝对值。加法元件13将在Di端接收到的来自信号线203的数据Di和绝对值T205相加,即,
(Di+T),而后将此总和通过端口Do输出到信号线204上,由此而实现流水处理。
图5是说明运动矢量监测单元4的框图。参考图5,运动矢量监测单元4是由滤波器1201,检索窗确定电路1202和窗数据存储单元1203所组成,滤波器1201对块匹配单元3测算得到的运动矢量进行滤波,被滤波后的运动矢量存储在运动矢量存储单元5中。检索窗确定电路1202参考运动矢量存储单元5以便从运动矢量存储单元5中存储的在先测算过的运动矢量的测算历史中确定出一检索窗。另外,检索窗确定电路1202还将一指定已确定检索窗的数据存储在窗数据存储单元203中。注意,滤波器1201是可以用任何滤波器置换,也可以省略。
上述检索窗指定数据是,例如,由每个被确定检索窗的矩形检索区的左上位置,和高、宽所组成,下面将对此详细描述。
图6a和图6b就是本发明所用检索窗的一个例子,6A是说明检索窗的一个略图,图6B是图6A所示检索窗的局部放大图,参考图6A,检索窗1100是由互相重叠的多个矩形检索区1101,1102,1103和1104所组成,即,参考区1101,1102,1103和1104是集聚而组成检索窗1100,本发明中检索窗1100不一定如常规系统那样必需是矩形的,本发明第一实施例的块匹配单元3中,即使当检索窗不是矩形,而是有一凹区或凸区时,这种检索窗亦可分成多个矩形参考区。
另一方面,常规的检索窗1110在图6A中用虚线画出,且是矩形的。检索窗1100不同于常规实例的地方则在1111,1112,1113和1114这些区上。这些由检索窗确定电路1202所确定的检索区并不需要进行块匹配处理。在本发明中,不对区域1111,1112,1113和1114进行块匹配处理。因此,块对比处理就可用高速完成。即使当块匹配处理是按这种方式进行的话,由于处理元件21的运算速度可维持在100%,故检索窗的形状也不会对处理时间和功耗产生不利影响。
返过来再参考图1,运动矢量监测单元4监测从块匹配单元3中得到的运动矢量并存储在运动矢量存储单元5中。运动矢量监测单元4根据存储在运动矢量存储单元5中的运动矢量,即在先已测算过的运动矢量的测算历史,改变检索窗的形状、大小和位置。因为根据本发明的第一实施例,块匹配单元3是加到具有任何有凹区或凸区的检索窗上的,所以块匹配处理的效率并不下降,其结果是,因更有效地反映了在先已测算运动矢量的测算历史,所以没有必要对无用的参考区1111,1112,1113和1114进行块匹配处理。于是实际处理时间和实际的功耗都能减少。
而且,即使检索窗的尺寸根据运动矢量测算历史而有所改变,也仅仅是增加和/或减少参考区的数量。而输入到块匹配单元3中去的象素数据的序列的规则却如下所述而并未改变。按本实施例,其结果是检索窗的形状、大小和/或位置的改变并未使块匹配单元3复杂化。
在本发明中,检索窗的形状、尺寸和/或位置根据先前的运动矢量而适应性地改变,于是,对于原来并未要求作块匹配处理的1111到1114区就不会进行块匹配处理,所以处理时间和处理量就会减少。所以块匹配处理所需的功耗也就减少。而且不通过对不正确的区域进行块匹配处理来检测任何错误的运动矢量。
下面,将详细描述根据本发明的第一实施例的运动矢量测算装置中块匹配处理的操作,在本实施例中,假定当前块由4×4(C1,1到C4,4)16个象素所组成,检索窗如图6A所示。检索窗的参考区1101是由7×7(R1,1到R7,7)49个象素所组成。检索窗的参考区1102则由105个(7×15)象素所组成。另外,假定块匹配电路300如图2所示包括(4×4)个处理元件。
图7表示在先已测算运动矢量、检索窗、参考块和当前块之间的相互关系。
在块匹配处理开始时,运动矢量监测单元4参照运动矢量存储单元5并根据在先已测算的运动矢量来确定检索窗。这种情况下,运动矢量监测单元4从在先测算过的运动矢量中确定在区域1111,1112,1113和1114中并未找到新的运动矢量,并确定检索窗,如图6A所示。然后,确定构成检索窗的参考区1101到1104,指定参考区1101到1104中的每一个的数据即被存入窗数据存储单元1203中。另外,指定参考区的数据即作为检索窗指定数据而送入块匹配单元3的控制电路10-1中。控制电路10-1确定要从当前图象数据存储单元1中和参考图象数据存储单元2中读出的象素数据。从当前图象数据存储单元1和参考图象数据存储单元2中读出的象素数据送入块匹配单元3中的块匹配电路300-1。然后块匹配处理即被启动。
图8A和8B是说明块匹配处理的流水过程的示意图。在图8A和8B中,横坐标代表时间。符号C1,1到C4,4代表当前块的象素数据。符号S1,1到R7,7代表参考区1101的象素数据,符号S1,1到S4,4和R5,1到R7,7等等则代表参考区1102的象素数据,如图6B。此外,符号D1,1到D4,4中的每一个代表指示对应的参考块的似然性并被提供给最小值检测电路25的数据。根据下面的等式(2)计算似然性数据:
在此方程中,符号“k”是选为1至4,
符号“m”是选为1至4
由图8A和8B显而易见,供给处理元件的四个不同的象素数据序列81,82,83,84分别用符号○,×,□和△来表示。如图8A和8B所说明,这些象素数据序列81到84是连续向块匹配电路300-1提供的。亦即,在时间1时,当前块的象素C1通过当前数据总线208-1送给处理元件PE1,1。与此同时,参考区1101(图6B)的参考块的象素数据R1,1自象素数据序列81提供给处理元件PE1,1。在处理元件PE1,1中,这些象素数据被寄存器11a和11b闭锁,而这些象素数据之间的差值的绝对值,即|R2,1-C1,1|,即由计算元件12计算。因为处理元件PE1,1是级连的首个元件,所以从寄存器11c中送出的数据DI“0”,处理元件PE1,1在时间2从输出端口Do处输出差值的绝对值给下一级处理元件PE2,1的输入端口Di。
在时间2时,当前块的象素数据C2,1从当前数据总线208-1送向处理元件PE2,1。与此同时,参考块的象素数据R2,1也从象素数据序列81中取出而送达处理元件PE1,1和PE2,1。
在处理元件PE1,1中,因为象素数据C1,1已被寄存器11a锁存,象素数据R1,2已被寄存器11b锁存,所以这些象素数据R1,2和C1,1之间的差值和绝对值,即|R2,1-C1,1|即被计算元件12算出。处理元件PE1,1在时间3时从输出端口Do将差值的绝对值输出到下一级处理元件PE2,1的输入端口Di。另外,在处理元件PE2,1中,象素数据C2,1和R2,1分别被寄存器11a和11b锁存,且这些象素数据之间的差值的绝对值|R2,1-C2,1|即被计算元件12计算出来。加法元件13将此差值的绝对值加到由处理元件PE1,1通过输入端口Di而送来的计算结果|R1,1-C1,1|中。处理元件PE2,1再将此差值的绝对值的和,在时间3时,从输出端口Do输出到下一级处理元件PE3,1的输入端口Di。
在时间4之后,处理元件PE1,1,PE2,1,PE3,1和PE4,1都处在如下保持状况,即处理元件PE4,1中存有数据|R1,1-C1,1|+|R2,1-C2,1|+|R3,1-C3,1|+|R4,1-C4,1|。与此相似,在处理元件PE3,1中存有数据|R2,1-C1,1|+|R3,1-C2,1|+|R4,1-C3,1|。在处理元件PE1,1中,存有数据|R4,1-C1,1|。
在时间5时,当前块的象素数据C1,2经从电流数据总线208提供给处理元件PE1,2。当前块的象素数据C1,2被锁存在处理元件PE1,2中。与此同时,参考块的象素数据R1,2即从象素数据序列82中送到处理元件PE1,1和PE1,2中。而且,参考块的象素数据R5,1也从象素数据序列81送到处理元件PE2,1,PE3,1和PE4,1。
在处理元件PE1,1中。因为象素数据C1,1已被寄存器11a锁存,象素数据R1,2已被寄存器11b锁存,故这些象素数据R1,2和C1,1之间的差值的绝对值,即|R1,2-C1,1|即被计算元件12计算出来。处理元件PE1,1将此差值的绝对值,在时间6时,从输出端口Do输出到下一级处理元件PE2,1的输入端口Di。
同样,在处理元件PE2,1中,因为象素数据C2,1被寄存器11a锁存,象素数据R5,1被寄存器11b锁存,这些象素数据间的差值的绝对值,即|R5,1-C2,1|即被计算元件12计算出来,加法元件13将差值的绝对值的和在时间6时,从输出端口Do输出到下一级处理元件PE3,1的输入端口Di。
同样,在处理元件PE1,2中,也因为象素数据C1,2和R1,2被寄存器11a和11b锁存,这些象素数据之间的差值绝对值|R1,2-C1,2|即被计算元件12计算出来。加法元件13将差值的绝对值加到由处理元件PE4,1通过输入端口Di送来的计算结果中,处理元件PE1,2在时间6时将此差值的绝对值的和从输出端口Do输出到下一级处理元件PE2,2的输入端口Di。
上述操作一直从时间6重复到时间16。
在时间17时,获得具有象素数据R1,1到R4,4的参考块的似然性D1,1。按此情况,以流水方式可依次获得参考区1101的参考块在从时间17到时间32的时间间隔内的似然性。
与此同时,在时间17,下一参考区1102(图6B)的象素数据S1,1是由象素数据序列83未经不必要停顿也送到处理元件PE1,1。象素数据S1,1就同象素数据C1,1一起用来计算象素数据S1,1的C1,1之间的差值的绝对值。这样,从参考区1101以连续状态开始对下一个参考区1102进行块匹配处理,而未浪费处理时间。
这样,最大同时使用当前块的16个象素。但是,因为在相同的处理元件中采用了相同的当前块象素数据,所以,如果已经提供的象素数据被锁存的话,则此时将被供给的当前块的象素数据的量可减到“1”。换言之,中如图8A和8B所示的块匹配处理过程中,由于针对同一当前块进行块匹配处理,所以当前块的象素数据C1,1到C4,4输入到处理元件PE1,1到PE4,4就可以从时间1到时间16完成。此刻被输入的象素数据的量就选作1。
另一方面,参考区的象素数据是同时向1,2,3或4处理元件提供的。象素数据序列81和象素数据序列82是出现在图6A和6B所示的同一参考区1101中的象素数据,而象素数据序列83和象素数据序列84也是出现在同一参考区1102中的象素数据。即使当该两参考区互相重叠时,也不存在问题。
根据本发明的第一实施例,检索窗的形状、大小和位置均可灵活确定。因此块匹配电路300-1的总线布线是适用于分成多个参考区的检索窗而形成的,所以,即使以并行方式进行匹配处理,此并行度亦并未降低。块匹配处理可以在短时间内完成,能够降低功耗。而且,根据本发明的第一实施例,即使当检索窗很小时,运动矢量也能用很高精度检测出来。
下面将详细描述参考区象素数据的供给方式。图9A表示如图2所示的处理元件PE1,1到PE4,4的逐级连接。图9B到9F是显示在图8A和8B的时间1,2,5,9和17提供参考区的象素数据的方式。
参考图9B,例如,在Rv1参考块象素数据总线301上提供象素数据序列81中的象素数据R1,1。此时,选择器2211是受来自控制电路10-1的控制信号所控制而选择Rv1参考块象素数据总线301上的象素数据,以使所选出的象素数据送到参考数据总线207-1上。另外,响应来自控制电路10-1的控制信号控制对应于处理元件PE1,2的选择器23以便不选择Rh参考数据总线206-1上的象素数据,而选则Rv参考数据总线207-1上的象素数据。于是象素数据R1,1即能供给到处理元件PE1,1。
此后,如图9C所示,在时间2时,以与象素数据R1,1相同的方式提供象素数据R2,1。对应于处理元件PE1,1和PE2,1的选择器23即受来自控制电路10-1的控制信号所控制,选择Rv参考数据总线207-1和207-2上的象素数据,而不选择Rh参考数据总线206-1上的象素数据。这样,象素数据R2,1即能供给到处理元件PE1,1和PE2,1。
此后,如图9D所示,在时间5时,以与象素数据R1,1相同的方式在Rv参考块象素数据总线301上提供象素数据序列81中的象素数据R5,1。而且,例如,在Rv参考块象素数总线302上提供象素数据序列82中的象素数据R1,2。此时,选择器2211受来自控制电路10-1的控制信号的控制选出Rv参考块象素数据总线301上的象素数据R1,2,并使选出的象素数据传递到参考数据总线207-1上。与处理元件PE2,1到PE4,1相应的选择器23受来自控制电路10-1的控制信号的控制,不选择Rh参考数据总线206-1上的象素数据,而选择Rv参考数据总线207-2到207-4上的象素数据R5,1。于是,象素数据R5,1即可供给到处理元件PE2,1到PE4,1。相应于处理元件PE1,1到PE1,2的选择器23受来自控制电路10-1的控制信号的控制而选出Rv参考数据总线207-1上而非Rh参考数据总线206-1和206-2上的象素数据R1,2。于是,象素数据R1,2即可被送到处理元件PE1,1和PE1,2。
此后,如图9E所示,在时间9时,响应来自控制电路10-1的控制信号来控制选择器2211,2221和2222以使象素数据序列81中的象素数据R1,3被送入Rv参考数据总线207-1,使象素数据序列82中的象素数据R5,2被送入Rh参考数据总线206-1和206-2。然后,相应于处理元件PE1,1到PE1,3选择23受控制电路10-1的控制信号的控制,以使象素数据R1,3提供给处理元件PE1,1,PE1,2和PE1,3,象素数据R5,2提供给处理元件PE2,1至PE4,1和PE2,2至PE4,2。
此后,如图9F所示,在时间17时,象素数据序列81,象素数据序列83和象素数据序列82分别送到Rh1参考块象素数据总线303,Rh2参考块象素数据总线304,和Rv1参考块象素数据总线304。选择器2211到2214受来自控制电路10-1的控制信号的控制而使象素数据R5,4送到Rv参考数据总线207-1到207-4上。选择器2221到2222受来自控制电路10-1的控制信号的控制而使象素数据S1,1转送到参考数据总线206-1,而象素数据R1,5则转送到参考数据总线206-2到206-4上。另外,由控制电路10-1控制对应于处理元件PE2,1到PE4,1,PE2,2到PE4,2,PE2,3到PE4,3和PE2,4到PE4,4的选择器23,以使象素数据R5,4送到处理元件PE2,1到PE4,1,PE2,2到PE4,2,PE2,3到PE4,3和PE2,4到PE4,4。相应于处理元件PE1,1的选择器23受控制电路10-1的控制,以使象素数据S1,1送到处理元件PE1,1,而相应于处理元件PE1,2到PE1,4的选择器23受控制电路10-1的控制,以使象素数据R1,5送到处理元件PE1,2到PE1,4上。
图10是说明一次向处理元件提供四种象素数据时向处理元件提供象素数据的方法的示意图。如图10所示,处理元件是用边界线1131,1132和1133分成四个区,即1121,1122,1123和1124。
图10中所示的例子对应于在图8A和8B中的时间22的状态。这种情况下,象素数据从4个参考块象素数据总线301到304供给到图10中的4个参考区1121到1124是通过移动边界线1131到1133控制的。亦即,选择器2211和2212受控于控制电路10-1而使象素数据序列84可被送到Rv参考数据总线207-1和207-2,选择器2213和2214受控于控制电路10-1而使象素数据序列81可被送到Rv参考数据总线207-3和207-4。选择器2221和2222受控制电路10-1的控制而使象素数据序列83可被送到Rh参考数据总线206-1和206-2,选择器2223和2224受控制电路10-1的控制而使象素数据序列82可被送到Rh参考数据总线206-3和206-4。如果相应于处理元件PE1,1到PE4,4的选择器23得到控制,则四种类型的象素数据序列就能送入处理元件PE1,1至PE4,4,如图10所示。亦即,在根据本发明的第一实施的块匹配单元3中,四种类型的象素数据即可在同一时刻通过适当地移动边界线1131到1133而被送到处理元件。
这样,因为可提供参考区上的最大四种类型的象素数据和一种当前块的象素数据,所以处理元件的运行速度可增加到100%。
另外,即使对多个参考区进行块匹配处理,并在改变参考区时,在处理元件的操作速度维持在100%的状态下连续执行块匹配处理。于是在本实施例中,能够缩短执行块匹配处理过程所需的时间周期。当假设进行块匹配处理的时间周期是一预定的常数值时,则块匹配单元3的时钟信号运行频率即可比常规系统降低。其结果是使块匹配电路的功耗下降。
同时,因为可缩短执行所需块匹配处理的时间周期,所以块匹配处理就可以在更为宽阔的参考区上进行。
按照本发明,参考区的象素数据是通过一个分级选择器结构,亦即两级选择器提供给与作为块匹配电路300-1中最小单元的处理元件相连接的总线布线上。其结果是,即使对多个参考区1101到1104进行块匹配处理时,也能够以连续地填充块匹配电路300-1的流水线而不浪费处理时间的方式来进行块匹配处理。亦即,块匹配处理的并行度并未减少。于是,即便当检索窗分成很多检索区时,块匹配处理的处理时间也没有增加,所以功耗也未增加。
此外,在布线系统中采用图4中的局部接线203,204,用来连接作为块匹配电路300-1的最小单元的处理元件。所以,当从差值绝对值之和计算最小值或似然性时,可以抑制从所有处理元件连到最小值检测电路25的连接导线的总量。于是运动矢量测算装置即可用较小的芯片和较低的功耗来实现。
下面将描述本发明第二实施例的运动矢量测算装置。图11是第二实施例的运动矢量测算装置中块匹配单元3的结构示意图。参考图11,该块匹配单元3可以由如同在实施1中的控制电路10-1一样的控制电路10-2和块匹配电路300-2所组成。
块匹配电路300-2包括M列和N行的处理元件PE1,1到PEM,N(M、N都是正整数中的偶数)。每个处理元件都和第一实施中的一样。在本实施中M是4,N是8。当前块是由M×N个象素组成,即本例中为4×8个象素。处理元件是以行为单位通过输出端和输入端逐级相连。第一行是通过一个先进先出(FIFO)单元24-1以级联方式与第三行相连。一最小值检测电路28-1通过一先进先出(FIFO)单元24-2接在最后一级的处理元件PE4,3。第二行是通过一个先进先出(FIFO)单元25-1以级联方式与第四行相连。一最小值检测电路28-2是通过一先进先出(FIFO)单元25-2接在最后一级的处理元件PE4,4上。与此相似,第五行是通过一个先进先出(FIFO)单元26-1以级联方式连接到第七行。最小值检测电路28-3则直接接在最后一级的处理元件PE4,7。第六行是通过先进先出(FIFO)单元27-1以级联方式与第八行相连,一最小值检测电路28-4则直接接在最后一级处理元件PE4,8。
换言之,如图11所示,在块匹配电路300-2的上半部奇数行的处理元件中,输入和输出端203和204是通过先进先出(FIFO)单元24-1和24-2逐级相连的。块匹配电路300-2的上半部偶数行中的处理元件中,输入端和输出端203和204是通过先进先出(FIFO)单元25-1和25-2逐级相连的,在块匹配电路300-2的下半部奇数行的处理元件中,输入端和输出端203和204是通过先进先出(FIFO)单元26-1逐级相连的。在块匹配电路300-2的下半部偶数行中的处理元件中,输入和输出端203和204是通过先进先出(FIFO)单元27-1逐级相连的。
先进先出(FIFO)单元24-1,25-1,24-2,25-2,26-1,和27-1的级数分别是4,4,20,16,4和4,如图11所示。
分别为行提供Rh参考数据总线206-1到206-8,和分别为列提供Rv参考数据总线207-1到207-4。每一个处理元件和相应的Rh和Rv参考数据总线之间的关系是和第一实施例中完全一样。设置Rv参考块象素数据总线301和302,它们中的一条分别通过选择器2211到2214连接到Rv参考数据总线207-1到207-4。设置Rh参考块象素数据总线303和304,它们中的一条分别通过选择器2221到2228与Rh参考数据总线206-1到206-8相连。
分别为行设置当前数据总线208-1到208-8并连接在一起。应该注意到,虽然当前数据总线208-1到208-8通常以如图11所示的结构实例连接在一起,但是这些当前数据总线208-1到208-8却并非总是连接在一起的。
在Rv和Rh参考块象素数据总线301到304上的四个序列的象素数据中的一个通过选择器2211到2214中的一个选择器和选择器2221到2228中一个选择器以及随后相应于处理元件的选择器23而送达到一个处理元件中去,就如第一实施例中一样。
在图11中,如果设置处理元件的总量是和当前块象素M×N的数量相等,则每一先进先出(FIFO)单元中的级数即可减少,其结果是,块匹配电路300-2的芯片面积可进一步减少,于是功耗亦可减少。
在图11中,假定每个先进先出(FIFO)单元24-1,25-1,26-1和27-1的级数是选为M,先进先出单元24-2的级数则为选为(M×N)/2+M,而且先进先出单元25-2的级数则被选为(M×N)/2。此时,从先进先出(FIFO)单元24-2的输出305,先进先出(FIFO)单元25-2的输出306,处理元件PEM,N-1的输出307,以及处理元件PEM,N的输出308的总和就可以等于图2中所示的输出310。按照本发明的第二实施例,从参考区送来的数据输入是可以安排成使得每个先进先出单元的级数都可同时减少。其结果是,块匹配电路可以在芯片面积减少和功耗降低的情况下实现。
当本发明应用于MPEG-2(ISO/IEC 13818-2)中时,如果采用如图11所示的电路结构,则在同一时间内可以获得:帧结构中运动补偿预测中一帧运动补偿预测所需的数据、场结构中运动补偿预测中一场运动补偿预测的数据,以及16×8运动补偿预测所需的数据。此外,处理元件被分成四种类型,即分别属于上半部奇数行,上半部偶数行,下半部奇数行和下半部偶数行四个方面的处理元件。因此,可以响应MPEG-2(ISO/I EC 13818-2)的多种预测模式而得到运动矢量。此时,在与处理元件相连接的接线中只存在局部的接线,所以芯片的面积就可以减少。
下面描述本发明的第三实施例的运动矢量测算装置,图12表示了第三实施例中块匹配电路300-3的结构。块匹配电路300-3包括8列和16行的处理元件。图12所示的块匹配电路的结构思路和第二实施例中的块匹配电路相同,只不过处理元件的数量不同而已。
如同第二实施例相似,块匹配电路300-3的上半部奇数行处理元件中,各输入和输出端203和204是通过三个先进先出(FIFO)单元逐级相连的。块匹配电路300-3的上半部偶数行的处理元件中,各输入和输出端203和204也通过三年FIFO单元逐级相连,块匹配电路300-3下半部奇数行中的处理元件中,其输入和输出端203和204是通过三个FIFO单元逐级相连。块匹配电路300-3下半部偶数行的处理元件,其输入和输出端203和204是通过三个FIFO单元逐级相连。上述的每个FIFO单元都有8级。
上半部奇数行的最后一级处理元件是通过一个具有72级的FIFO单元和加法器31和32相连。上半部偶数行的最后一级处理元件是通过一个具有64级的FIFO单元和加法器31和加法器33相连。下半部奇数行的最后一级处理元件是直接与加法器32和加法器34相连。下半部偶数行的最后一级处理元件是直接和加法器32和34相连。加法器32和33的输出接到加法器35上。
在本实施例中,虽然每个FIFO单元中的级数增加,但在同一时间仍能获得MPEG-2所需的帧结构的三个匹配标准,即16×16,16×8(顶部)和16×8(底部)。还有,同时可获得场结构的三个匹配标准,即16×16,16×8(上部)和16×8(下部)。
图13是说明参考块象素数据供给方式的示意图。和第一实施例一样,在改变边界线时从四条参考象素数据总线提供参考块象素数据。为此不再详述。
下面描述本发明第四实施例的运动矢量测算装置。第四实施例的运动矢量测算装置的基本结构是和第一实施例基本相同,而其不同之点将描述如下:
图14表示第四实施例的运动矢量测算装置的运动矢量检测单元4’的结构。参考图14,运动矢量监测单元4’是由滤波器1201用于对从块匹配单元3获得的运动矢量进行滤波的滤波器1201,检索窗确定电路1202,窗数据存储单元1203,和位图存储单元(bit mapstorage unit)1203组成。滤波器1201和窗数据存储单元1203是和第一实施例中的完全相同。
检索窗确定电路1202确定从运动矢量存储单元5中所得的在先测得的运动矢量的测算历史,从测算历史中确定检索窗,并将指定该确定的检索窗的指针(pointets)存储在窗数据存储单元1203中。检索窗确定电路1202确定位图区(bit-map region)1501和1502,如图15所示,并将此位图区1501和1502存储在位图存储单元1204中。应该注意到,如需要,则提供滤波器1201。上述的每个指针(pointer)是由,例如,检索窗的每个矩形参考区的右上部位置,每个参考区的高度,每个参考区的宽等度所组成。
参见图6A,组成检索窗1100的参考区1101到1104可表示为矩形的。而与此相反,每个位图区1501和1502都是由自由曲线以象素为单位所限定,见图15中的白圈。此时,可以将1位标志数据加到要提供给块比配单元3的检索窗中的参考区1101到1104中的每个象素数据。该1位标志数据指明了该象素数据是否有效或无效。
图16是说明处理元件的结构的方框图。第四实施例中的块匹配电路中的处理元件具有一寄存器11d,用于稳定地保持最大值,和一选择器14,用于响应来自控制电路10-1的控制信号从寄存器11d的输出中和加法元件13的输出中选出一个输出。
当象素数据送到块处理单元3时,控制电路10-1即检查象素数据的标志数据,当标志数据表明此象素数据是包含在如图15所示的位图区1501或1502中,并且又是无效时,控制电路10-1即输出控制信号给将被提供无效象素数据的处理元件,使得通过选择器14将寄存器11d中的内容从输出端Do输出。其结果是,凡包含有位图区中无效象素数据的参考块被从任何运动矢量都必须经检测的区域中排除出去。于是,这些象素数据就不能从参考图象数据存储单元2中读出,所以差值绝对值的计算和相加就不能在处理元件中进行,从而功耗即能减少。
存在着参考区限制在左端、右端、上端、下端附近的情况。即使出现这些受限制的参考区,将标志数据加到检索窗区的参考区中的象素数据,并根据每个象素数据上的标志数据而有选择地进行块匹配处理。所以,这种情况下,块匹配电路3的结构不会复杂。如上所述,即使参考区的数据宽度至多有1位的增加,也没有必要改变块匹配单元3的结构。
根据本发明第四实施例的运动矢量测算装置,块匹配处理在检索窗内某个当前块和参考块之间进行以检测运动矢量。以与图2,11和12相似的方式构成第四实施例中的块匹配电路。每个具有有效标志的象素数据也以与图8A和图8B所示相似的方式供给。
在本发明的实施例中,如上所述,因为检索窗可以自由确定,所以在处理元件中的无用计算和在参考图象数据存储单元2中读出无用数据的情况都减少了,所以功耗也可下降。
图17是说明本发明第五实施例的运动矢量测算装置的结构的方框图。参照图17,第五实施例的运动矢量测算装置是由温度检测单元6,负荷检测电路7,电源电压检测电路8,加上图1所示的结构所组成。在此实施例中。运动矢量监测单元4’具有位图存储单元1204,如实施例4一样。
如第一实施例所述,块匹配电路是制作在半导体芯片。温度检测电路6检测制有块匹配单元3的芯片的温度。然后,温度检测电路6即根据检测结果产生一检索窗限制数据送到运动矢量监测单元4’中。
负载检测电路7检测块匹配单元3的系统负荷,例如,块匹配处理的次数或将送达块匹配单元3中数据的总量。然后负载检测电路7根据检测结果产生一检索窗限制数据送到运动矢量监测单元4’中。
电源电压检测电路8检测运动矢量测算装置的电源电压,并根据检测结果产生一检索窗限制数据送到运动矢量监测单元4’中。
这样,运动矢量监测单元不仅根据运动矢量测算历史,而且还至少根据温度,系统负荷和电源电压之一来确定检索窗。
例如,当检测到温度高于某一参考温度时,当检测到的系统负荷超过某一参考负荷时,或当检测到的电源电压低于某一参考电压时,除了改变形状和位置外,可确定检索窗具有更小的尺寸。
这样,检索窗的形状,尺寸,和位置就可以根据在先运动矢量的测算历史,以及测的检温度、负荷和电压适当地加以确定。然后,在检索窗内的当前块和各参考块之间进行块匹配处理,以检测运动矢量。
在本发明中,检索窗的形状、尺寸和位置可以根据系统负荷,比如块匹配单元3的负荷,块匹配单元3的芯片温度和电源电压适当地加以确定。此时,当系统负荷很重时,即意味着作为运动矢量处理的整个系统所需要的处理的量很大,于是,检索窗的形状尺寸和位置亦可随之改变。
因为检索窗的形状,大小和位置是根据如上所述的系统负荷而适当确定的,所以运动矢量测算装置在处理能力上就不会接受过量的系统负荷。换言之,例如,当芯片温度升高时,检索窗就会缩小。在此,由于检索窗缩小,于是块匹配单元3的计算量即受限制,LSI芯片的热耗要受限制。与此相似,当来自电源的电源电压(比如由电池供给)下降时检索窗即可根据所检电压而自然缩小。于是在采用电池的便携式终端设备中,工作时间就延长了。
在本发明中,在先于当前帧中运动矢量的前一帧的运动矢量,在先于当前场中运动矢量的前一场的运动矢量,和与当前参考区相同一帧的运动矢量和与当前参考区相同一场的运动矢量可以被用作在先已测算的运动矢量测算历史。
另外,在利用参考区的象素数据的特点时,例如,可以参考与运动有关的图象数据和与电影有关的图象数据来决定运动矢量的测算历史。
在常规的运动矢量测算方法中,用与帧或场中当前块的同样位置作为中心来确定参考区。
而另一方面,在本发明的实施例中,检索窗的位置可根据上述运动矢量的测算历史而适应地改变,亦即,参考运动矢量的测算历史,当运动矢量的平均值是指向预定方向时,则检索窗中心的位置即可向此方向移动。这种情况下,虽然检索窗缩小了,但却可检测出正确的运动矢量。
类似于运动矢量的测算历史,检索窗的形状或大小,也会参照运动矢量检索装置的负载电源电压和芯片温度而自然改变。换言之,例如,在监测安装运动矢量测算装置的LSI芯片温度过程中,当该温度升高时则参考区缩小。这种情况下,因为检索窗的缩小,由大规模集成电路(LSI)所作计算的量减少而抑制了LSI上的热耗。
与之相类似,当监测电源的剩余能量时,例如运动矢量测算装置用电池作电源时,检索窗可根据该剩余电量而自然地缩小,此时,例如,在使用电池的便携式终端中,其运行时间就可延长。
此外,在本发明的实施例中,检索窗确定电路1202可以采用微处理机或类似设备来实现。于是,检索窗确定电路1202即可装在另一个大规模集成电路(LSI)上。这是因为改变检索窗形状、大小和/或位置的操作可在一帧,一场或某一周期内进行一次。所以确定检索窗所需的处理时间并不妨碍整体的操作。此时,因为可以对确定检索窗的算法编程,所以检索窗即可更为灵活地被确定下来。例如,当某个图象数据是从运动的图象变化到电影图象时,由操作人员确定该图象改变,以便可改变搜索窗。
如上所述,本发明即能达到下面所说的效果。
首先,在本发明中,可以以很高的精度并用很低的功耗来检测运动矢量。这是因为检索窗的形状,尺寸和位置可以根据在先测算出的运动矢量而自适应地确定下来。而且检索窗的形状,大小和/或位置还可以根据运动矢量测算装置的负荷,如运动矢量测算装置的温度,电源电压和块匹配处理的次数而自适应地确定下来。
第二,在本发明中,当块匹配处理是并行进行时,不降低该并行程度。结果是,根据本发明,可在短时间内进行块匹配处理,并可减小功耗。另外,根据本发明,即使当检索窗很小时,也可以以高精度检测运动矢量。这是因为检索窗可被灵活地确定,并可分成许多参考区。这也是因为作出了很好的数据供给方案。
第三,在本发明中,可节省块匹配电路的芯片面积并降低功耗。这是因为输入参考块象素数据所需的总线数量较少。另外,这也是因为参考块象素数据的输入方案设计成在先进先出FIFO单元中的级数可以减少的缘故。
第四,在本发明中,即使当块匹配处理是在多个参考区上进行,也能够使块匹配电路的流水线总是被填充来执行块匹配处理。亦即,处理的并行度没有降低,其结果是,根据本发明,即使当参考区被再进一步分成很多小的子区,即不会增加处理量或功耗。
这是因为,检索窗的参考块象素数据是通过两级选择器而提供给与处理元件相连的总线的。
第五,在本发明中,当最小值或其似然值是由差值的绝对值的和计算出来时,可以抑制从所有处理元件到最小值检测电路的导线总量的增加。其结果是,按本发明的运动矢量测算装置可以用较小的芯片和较低的功耗来实现。这是因为连接各处理元件的导线中采用了局部布线。
第六,在本发明中,运动矢量可以响应于MPEG-2(ISO/IEC13818-2)的多种预测模式而同时获得。此时,根据本发明,在从处理元件连接的导线中只有局部的导线,所以芯片的面积能减少。这是因为处理元件被分成四种,即分别使处理元件属于偶数行和奇数行,上半部的行和下半部的行。
Claims (40)
1.一种运动矢量测算装置,包括:
当前图象存储单元,用以存储当前图象的图象数据;
参考图象存储单元,用以存储参考图象的图象数据;
运动矢量存储单元,用于存储在先已测算的运动矢量;
检索窗确定单元,用于从在先已测算的运动矢量确定测算历史,和根据所述测算历史确定检索窗,其中所说的检索窗由矩形参考区所组成;
块匹配电路,用于对当前块和所说检索窗中的每个参考块进行块匹配处理,以确定运动矢量;和
控制电路,用于从所说的当前图象存储单元中读出所述当前块的图象数据以供给所说的块匹配电路、从所说的参考图象存储单元读出所述检索窗口的每个所述参考块的图象数据以供给所说的块匹配电路、以及用于控制所说的块匹配电路对所说的当前块和所说的检索窗的所述每个参考块进行所说的块匹配处理。
2.根据权利要求1所说的运动矢量测算装置,其中所说检索窗的形状、检索窗的尺寸和检索窗的位置中的至少一个是根据所说的测算历史决定的。
3.根据权利要求2所说的运动矢量测算装置,其中所说的检索窗确定单元确定在先已测算的运动矢量的数量是否已超过一预定数,并当其确定在先已测算的运动矢量的数量少于该预定数时,即略去在先已测定的动态矢量以确定所说的检索窗的尺寸和形状。
4.根据权利要求2所说的运动矢量测算装置,其中所说的检索窗确定单元确定在先已测算的运动矢量的数量是否已超过一预定数,并其当确定在先已测算的运动矢量的数量已超过该预定数时,即产生二维图,该二维图中的每个所说的在先已测算的动态矢量是按其水平值和垂直值绘制的,并根据所说的二维图确定检索窗的所说的形状和尺寸。
5.根据权利要求2所说的运动矢量测算装置,其中所说的检索窗确定单元计算所述在先已测算运动矢量的平均矢量,并利用所说平均矢量确定所说检索窗的所述位置。
6.根据权利要求1所说的运动态矢量测算装置,还包括一负荷检测电路,用于检测所说运动矢量测算装置的负荷或所说块匹配电路的负荷中的任何一个,和
其中所说的检索窗确定单元根据所说测算历史和已检测的负荷确定所说的检索窗。
7.根据权利要求1所说的运动矢量测算装置,还包括一电源电压检测电路,用于检测电源电压,和
其中所说的检索窗确定单元根据所说的测算历史和已检测的电源电压确定所说的检索窗。
8.根据权利要求1所说的运动矢量测算装置,还包括一温度检测电路,用于检测安装所说块匹配电路的芯片的温度,和
其中所说的检索窗确定单元根据所说的测算历史和已检测到的温度确定所说的检索窗。
9.根据权利要求1到8中的任一项所述的运动矢量测算装置,其中所说的检索窗确定单元根据所说的测算历史在所说的检索窗中确定至少一个以象素为单位的无用区,并对所说的无用区的每个象素设一标志,以便根据所说无用区的象素的标志,使对包括所说的无用区的任何象素的所说参考块的所说块匹配处理成为无效。
10.根据权利要求9所说的运动矢量测算装置,其中所说的块匹配电路包括有M列和N行的处理元件,M和N都是正整数,以便通过流水线处理计算当前方块和每个所述参考块之间的似然性。
11.根据权利要求10所说的运动矢量测算装置,其中所说的块匹配电路还包括一个分级选择器结构,以便向每个所说的处理元件提供每个所说的参考块中的一个象素。
12.根据权利要求10所说的运动矢量测算装置,其中所说的块匹配电路还分别包括(M+N)个参考数据总线,以供给M列和N行处理元件;和N个当前数据总线,以供给N行处理元件。
13.根据权利要求9所说的运动矢量测算装置,其中所述块匹配电路包括:
M列和N行的处理元件,其中M和N都是正整数,其中所说的处理元件在所述N行的每一行中逐级相连,其中的每个所说的处理元件计算出当前块的一个对应象素数据和每个参考块的一个象素数据之间的差值的绝对值,并将此绝对值加到来自前一级处理元件的输出,输出此相加结果到下一级处理元件,其中所说的N行是逐级相连以允许流水线处理;
分别为M列处理元件提供的M个参考数据列总线;
分别为N行处理元件提供的N个参考数据行总线;
(M×N)个选择器,分别供给所说的处理元件,以允许所说M个参考数据列总线中的相应一总线上的象素数据和所说N个参考数据行总线中的相应一总线上的象素数据中的一个作为参考块象素数据而送到所述相应的处理元件;和
当前块象素数据总线,用于将当前块象素数据转送到各个所说的处理元件。
14.根据权利要求13所说的运动矢量测算装置,还包括:
参考块数据总线组,用于将所说参考块的象素数据以行为单位作为象素数据序列传递;
分别为所说的M个参考数据列总线设置的第一选择器组,其中每一个选择器选出一个所述序列的一个象素数据以供给相应的参考数据列总线;和
分别为所说的N个参考数据行总线设置的第二选择器组,其中每一选择器选出一个所述序列的一个象素数据,以供给相应的参考数据行总线。
15.根据权利要求13所说的运动矢量测算装置,其中一旦通过所述当前块象素数据总线提供相应的当前块象素数据,每个所述处理元件锁存所述相应的当前块象素数据。
16.根据权利要求13所说的运动矢量测算装置,其中每个所说处理元件与时钟信号同步地进行差值的绝对值及相加计算,并将相加结果输入下一级的处理元件。
17.根据权利要求16所说的运动矢量测算装置,其中所说的处理元件计算从第一时间到第(M×N)时间的时间周期中每个所说参考块的似然性,计算从第二时间到第(M×N+1)时间的时间周期中所说参考块的不同块的似然性。
18.根据权利要求13所说的运动矢量测算装置,其中所说的当前块由M列和N行象素组成。
19.根据权利要求13所说的运动矢量测算装置,其中所说的处理元件在所说N行的每一行中是逐级相连的,而所说N行也是逐级相连的。
20.根据权利要求13所说的运动矢量测算装置,其中所说的处理元件在所说N行的每一行中的逐级相连的,其中N是一个偶数,在上半部N行中的奇数行是通过第一先进先出单元组逐级相连的,其中每一先进先出单元为两个相邻的奇数行设置,在上半部N行中的偶数行是通过第二先进先出单元组相连的,其中每一先进先出单元为两个相邻的偶数行设置,在下半部N行的奇数行是通过第三先进先出先进先出单元组逐级相连的,其中每一个先进先出单元为两个相邻的奇数行设置,在下半部N行中的偶数行是通过第四先进先出单元组逐级相连的,其中每一先进先出单元为两个相邻的偶数行设置,和
其中所说的块匹配电路还包括第五和第六先进先出单元组分别在所说的上半部中的奇数行和偶数行的所述级联连接中连接到最后一级的处理元件。
21.根据权利要求17所述的运动矢量测算装置:其中所说的第一到第四先进先出单元组中每一单元的级数是M,所说的第五先进先出单元的级数是(M×N/2+M),和所说的第六先进先出单元的级数是(M×N/2)。
22.根据权利要求20所说的运动矢量测算装置,还包括:
第一加法器,将所说的第五先进先出单元的输出和所说的第六先进先出单元的输出相加;
第二加法器,将所说第五先进先出单元的输出和所说的下半部奇数逐级相连的最后一级中的处理元件的输出相加;
第三加法器,将所述第六先进先出单元的输出和所说的下半部偶数逐级相连的最后一级的处理元件的输出相加;
第四加法器,将下半部奇数逐级相连的最后一级的处理元件的输出和下半部偶数逐级相连的最后一级的处理元件的输出相加,和
第五加法器,将所说的第二加法器的输出和第三加法器的输出相加。
23.根据权利要求13所说的运动矢量测算装置,其中所说的处理元件在所说N行的每一行中是逐级相连的,其中N是一个偶数,其中上半部的所述N行中的每一行是通过第一先进先出单元组逐级相连,其中每一单元为两个相邻行设置,下半部的所述N行中的每一行是通过第二先进先出单元逐级相连,其中每一单元为两个相邻行设置,和
其中所说块匹配电路还包括连接到上半部逐级相连的最后一级的处理元件的第三先进先出单元。
24.根据权利要求23所说的运动矢量测算装置,其中所说第一和第二先进先出单元组中每一个单元的级数是M,所说的第三先进先出单元的级数是(M×N/2)。
25.根据权利要求23所说的运动矢量测算装置,还包括:
加法器,用于将所说第三先进先出单元的输出和所述下半部中逐级相连的最后一级中的处理元件的输出相加。
26.根据权利要求13所说的运动态矢量测算装置,其中所述处理元件在所说N行的每一行中是逐级相连的,其中N是一个偶数,其中所说N行的奇数行通过第一先进先出单元组逐级相连,其中每一单元为两个相邻奇数行设置,其中所说N行的偶数行通过第二先进先出单元组逐级相连,其中每一单元为两个相邻偶数行设置。
27.根据权利要求26所说的运动矢量测算装置,其中所述第一和第二先进先出单元组的每一单元的级数是M。
28.根据权利要求26所说的运动矢量测算装置,还包括:
加法器,用于将奇数逐级相连的最后一级中的处理元件的输出和偶数逐级相连的最后一级中的处理元件的输出相加。
29.一种测算运动矢量的方法,包括下列步骤:
将当前图象的图象数据及参考图象的图象数据分别存储到当前图象存储单元及参考图象存储单元;
将以测算的运动矢量存储到运动矢量存储单元;
从在先已测算的运动矢量中确定测算历史;
根据所说测算历史确定一检索窗,其中所说的检索窗由若干矩形参考区组成;和
对当前块和所说检索窗的每个参考块进行块匹配处理,以确定运动矢量。
30.根据权利要求29所说的运动矢量测算方法,其中根据所说测算历史确定所说检索窗的形状,检索窗的尺寸和检索窗的位置中的至少一种。
31.根据权利要求30所说的方法,其中所说的确定测算历史的步骤包括确定在先已测算过的运动矢量是否超过了一预定数,和
其中所说确定检索窗的步骤包括当确定在先已测算的运动矢量数小于预定数时,忽略在先已测算的运动矢量而根据所说当前块确定所说检索窗的尺寸和形状。
32.根据权利要求30所说的方法,其中所说的确定测算历史的步骤包括:
确定在先已测算的运动态矢量数是否超过了一预定数;和
当确定在先已测算的运动矢量数超过预定数时,产生一个二维图,其中每一所说的在先已测算的运动矢量是按其水平值和垂直值绘制的;和
其中所说确定检索窗的步骤包括根据所说二维图确定检索窗的所述形状和尺寸。
33.根据权利要求30所说的方法,其中所说的确定测算历史的步骤包括计算所说在先已测算的运动矢量的平均矢量,和
其中所说的确定检索窗的步骤包括利用所述平均矢量确定所说检索窗的位置。
34.根据权利要求29所说的方法,其中还包括有步骤:
检测所说动态矢量测算装置的负荷或所说块匹配电路的负荷中的一个:
检测电源电压;和
检测安装所说块匹配电路的芯片的温度,和
其中所说的确定检索窗的步骤中包括根据所说测算以及所检测的负荷,所检测的电源电压和所检测的温度中的至少一个检测结果确定所述检索窗。
35.根据权利要求29至34中的任何一项所述的方法,还包括有步骤:
确定检索窗包括根据所说测算历史以象素为单位确定检索窗中的至少一个无用区;和
在所说的无用区的每个象素上设置一标志,以便根据该所说无用区的象素的标志使对包括无用区的任何象素的所述参考块的所说块匹配处理无效。
36.根据权利要求35所说的方法,其中所说的进行块匹配处理步骤的包括利用M列和N行的处理元件,其中M和N都是正整数,以流水线处理进行所述块匹配处理。
37.根据权利要求36所说的方法,其中所说的按流水线处理进行块匹配处理的步骤包括:
在每个所述处理元件中检测所说当前块的相应象素数据和每个所说参考块的一个象素数据之间的差值的绝对值;
将该绝对值加到前一级处理元件的输出;和
将其相加的结果输出到下一级处理元件。
38.根据权利要求37所说的方法,其中所说的计算步骤包括:一旦通过所说的当前块象素数据总线提供相应的当前块象素数据,在每个所述处理元件中锁存相应的当前块象素数据。
39.根据权利要求37所说的方法,其中所说的按流水线处理进行所述块匹配处理的步骤包括:在每个所述处理元件中,与时钟信号同步地计算差值的绝对值和相加,并将相加结果输出到下一级处理元件。
40.根据权利要求39所说的方法,其中所说的按流水线处理进行所述块匹配处理的步骤包括:
计算从第一时间到第(M×N)时间的时间周期中所述参考块之一的似然性;和
计算从第二时间到第(M×N+1)时间的时间周期中所述参考块的一个不同块的似然性。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP27175696A JP3019787B2 (ja) | 1996-09-20 | 1996-09-20 | 動きベクトル検出装置 |
JP271756/1996 | 1996-09-20 | ||
JP271756/96 | 1996-09-20 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1179064A CN1179064A (zh) | 1998-04-15 |
CN1178464C true CN1178464C (zh) | 2004-12-01 |
Family
ID=17504407
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB971165513A Expired - Fee Related CN1178464C (zh) | 1996-09-20 | 1997-09-19 | 运动矢量高速测算装置和运动矢量测算方法 |
Country Status (5)
Country | Link |
---|---|
US (2) | US6249550B1 (zh) |
EP (1) | EP0831642A3 (zh) |
JP (1) | JP3019787B2 (zh) |
KR (1) | KR100273629B1 (zh) |
CN (1) | CN1178464C (zh) |
Families Citing this family (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6137629A (en) * | 1997-05-20 | 2000-10-24 | Draper, Inc. | Projection screen system with circuitry for multi-stage installation |
JPH11252550A (ja) * | 1998-03-02 | 1999-09-17 | Sony Corp | デイジタル信号符号化装置、デイジタル信号復号化装置、デイジタル信号伝送装置及び方法 |
JP3646845B2 (ja) * | 1998-03-03 | 2005-05-11 | Kddi株式会社 | ビデオ符号化装置 |
US6195389B1 (en) | 1998-04-16 | 2001-02-27 | Scientific-Atlanta, Inc. | Motion estimation system and methods |
KR100325253B1 (ko) | 1998-05-19 | 2002-03-04 | 미야즈 준이치롯 | 움직임벡터 검색방법 및 장치 |
JP4004653B2 (ja) * | 1998-08-03 | 2007-11-07 | カスタム・テクノロジー株式会社 | 動きベクトル検出方法および装置、記録媒体 |
DE69813911T2 (de) * | 1998-10-13 | 2004-02-05 | Stmicroelectronics Asia Pacific Pte Ltd. | VERFAHREN ZUR BESTIMMUNG VON BEWEGUNGSVEKTORFELDERN MIT LOKALER BEWEGUNGSSCHäTZUNG |
JP3538055B2 (ja) | 1999-02-15 | 2004-06-14 | 日本電気株式会社 | 動きベクトル検出装置 |
US7551673B1 (en) | 1999-05-13 | 2009-06-23 | Stmicroelectronics Asia Pacific Pte Ltd. | Adaptive motion estimator |
JP2001285874A (ja) | 2000-03-28 | 2001-10-12 | Nec Corp | 動きベクトル探索装置、方法及びプログラムを記録した記録媒体 |
FI110909B (fi) * | 2001-09-06 | 2003-04-15 | Nokia Corp | Menetelmä liike-estimoinnin suorittamiseksi videokoodauksessa, videokoodausjärjestelmä sekä videokoodauslaite |
KR20040099100A (ko) | 2002-04-19 | 2004-11-26 | 마쯔시다덴기산교 가부시키가이샤 | 움직임 벡터 계산 방법 |
KR100865034B1 (ko) | 2002-07-18 | 2008-10-23 | 엘지전자 주식회사 | 모션 벡터 예측 방법 |
SG111093A1 (en) * | 2002-11-18 | 2005-05-30 | St Microelectronics Asia | Motion vector selection based on a preferred point |
JP3832431B2 (ja) * | 2002-12-25 | 2006-10-11 | ソニー株式会社 | 画像処理装置 |
JP2004221757A (ja) * | 2003-01-10 | 2004-08-05 | Renesas Technology Corp | 動き検出装置及び探索領域形状可変動き検出器 |
US7342964B2 (en) * | 2003-07-15 | 2008-03-11 | Lsi Logic Corporation | Multi-standard variable block size motion estimation processor |
US20070150697A1 (en) * | 2005-05-10 | 2007-06-28 | Telairity Semiconductor, Inc. | Vector processor with multi-pipe vector block matching |
JP4793070B2 (ja) * | 2006-04-12 | 2011-10-12 | ソニー株式会社 | 動きベクトル探索方法及び装置 |
GB2439119B (en) * | 2006-06-12 | 2011-04-20 | Tandberg Television Asa | Motion estimator |
US20080002772A1 (en) * | 2006-06-28 | 2008-01-03 | Hong Kong Applied Science and Technology Research Institute Company Limited | Motion vector estimation method |
JP4807582B2 (ja) * | 2007-03-16 | 2011-11-02 | カシオ計算機株式会社 | 画像処理装置、撮像装置及びそのプログラム |
GB2497812B (en) * | 2011-12-22 | 2015-03-04 | Canon Kk | Motion estimation with motion vector predictor list |
TWI571828B (zh) * | 2013-01-02 | 2017-02-21 | 奇高電子股份有限公司 | 光學導航方法以及相關裝置 |
JP2014138242A (ja) * | 2013-01-16 | 2014-07-28 | Sony Corp | 画像処理装置および画像処理方法 |
KR101449853B1 (ko) * | 2013-05-23 | 2014-10-13 | 경희대학교 산학협력단 | 스테레오 영상의 블록 매칭 장치 |
US20150146784A1 (en) * | 2013-11-26 | 2015-05-28 | Vixs Systems Inc. | Motion compensation with moving window |
JP7426611B2 (ja) * | 2019-01-24 | 2024-02-02 | パナソニックIpマネジメント株式会社 | 校正方法および校正装置 |
CN113785323A (zh) * | 2019-02-26 | 2021-12-10 | 莫维迪乌斯有限公司 | 改进图像差异计算的效率 |
CN114097219A (zh) * | 2019-07-04 | 2022-02-25 | 北京字节跳动网络技术有限公司 | 基于历史的运动矢量预测表中的运动信息的存储 |
Family Cites Families (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61201583A (ja) | 1985-03-04 | 1986-09-06 | Toshiba Corp | 動きベクトル検出装置 |
US4897720A (en) * | 1988-03-14 | 1990-01-30 | Bell Communications Research, Inc. | Circuit implementation of block matching algorithm |
JPH0220988A (ja) | 1988-07-08 | 1990-01-24 | Fujitsu Ltd | 動画像符号化装置における動ベクトル検出方式 |
JP2943870B2 (ja) | 1988-08-26 | 1999-08-30 | 富士通株式会社 | 画像伝送装置の動き量伝送方法および装置 |
JPH02226888A (ja) | 1989-02-28 | 1990-09-10 | Fujitsu Ltd | 動き補償符号化装置の動ベクトル作成方式 |
US5047850A (en) | 1989-03-03 | 1991-09-10 | Matsushita Electric Industrial Co., Ltd. | Detector for detecting vector indicating motion of image |
JP3001897B2 (ja) | 1989-03-03 | 2000-01-24 | 松下電器産業株式会社 | 画像の動きベクトル検出方法および画像の動きベクトル検出装置 |
JP2753024B2 (ja) | 1989-03-14 | 1998-05-18 | 松下電器産業株式会社 | 画像の動きベクトル予測装置および検出装置 |
JPH04127690A (ja) | 1990-09-19 | 1992-04-28 | Hitachi Ltd | 動画像動きベクトル推定方式 |
JPH04138790A (ja) | 1990-09-28 | 1992-05-13 | Nec Corp | 動画像信号の符号化装置 |
DE69126585T2 (de) | 1990-09-20 | 1998-01-02 | Nec Corp | Verfahren und Gerät zur Kodierung von bewegten Bildsignalen |
JPH04150284A (ja) | 1990-10-09 | 1992-05-22 | Olympus Optical Co Ltd | 動ベクトル検出方法およびその装置 |
JPH04189093A (ja) | 1990-11-22 | 1992-07-07 | Victor Co Of Japan Ltd | 動き補償装置 |
SE469866B (sv) * | 1991-04-12 | 1993-09-27 | Dv Sweden Ab | Metod för estimering av rörelseinnehåll i videosignaler |
JPH05328333A (ja) * | 1992-05-15 | 1993-12-10 | Toshiba Corp | 動きベクトル検出装置 |
DE4322343C2 (de) | 1992-07-06 | 1996-10-02 | Mitsubishi Electric Corp | Mittel zum Erfassen eines Bewegungsvektors und Verfahren zum Bestimmen eines Bewegungsvektors |
JP3084170B2 (ja) | 1992-08-13 | 2000-09-04 | 三菱電機株式会社 | 動きベクトル検出装置 |
ES2117293T3 (es) * | 1993-09-08 | 1998-08-01 | Thomson Multimedia Sa | Metodo y aparato para estimacion de movimiento utilizando coincidencia de bloques. |
JPH07115646A (ja) * | 1993-10-20 | 1995-05-02 | Sony Corp | 画像処理装置 |
JP2885039B2 (ja) | 1993-12-24 | 1999-04-19 | 松下電器産業株式会社 | 動きベクトル検出回路 |
US5659364A (en) | 1993-12-24 | 1997-08-19 | Matsushita Electric Industrial Co., Ltd. | Motion vector detection circuit |
JPH07203457A (ja) | 1993-12-27 | 1995-08-04 | Oki Electric Ind Co Ltd | 動きベクトル検出装置 |
JPH07250328A (ja) | 1994-01-21 | 1995-09-26 | Mitsubishi Electric Corp | 動きベクトル検出装置 |
JP3623967B2 (ja) * | 1995-03-08 | 2005-02-23 | 株式会社 日立製作所 | 携帯用マルチメディア通信端末装置 |
JP2768646B2 (ja) * | 1995-04-05 | 1998-06-25 | 株式会社グラフィックス・コミュニケーション・ラボラトリーズ | 動きベクトル探索方法および探索装置 |
JP3283159B2 (ja) | 1995-07-07 | 2002-05-20 | 日本電信電話株式会社 | ソフトウェアによる画像符号化方法 |
US5699129A (en) * | 1995-10-17 | 1997-12-16 | Zapex Technologies, Inc. | Method and apparatus for motion vector determination range expansion |
US5682209A (en) * | 1995-11-13 | 1997-10-28 | Tektronix, Inc. | Motion estimation using limited-time early exit with prequalification matrices and a predicted search center |
US5661524A (en) * | 1996-03-08 | 1997-08-26 | International Business Machines Corporation | Method and apparatus for motion estimation using trajectory in a digital video encoder |
US5973742A (en) * | 1996-05-24 | 1999-10-26 | Lsi Logic Corporation | System and method for performing motion estimation with reduced memory loading latency |
US5812199A (en) * | 1996-07-11 | 1998-09-22 | Apple Computer, Inc. | System and method for estimating block motion in a video image sequence |
JPH1079947A (ja) * | 1996-09-03 | 1998-03-24 | Mitsubishi Electric Corp | 動きベクトル検出装置 |
US5864372A (en) * | 1996-12-10 | 1999-01-26 | United Microelectronics Corporation | Apparatus for implementing a block matching algorithm for motion estimation in video image processing |
-
1996
- 1996-09-20 JP JP27175696A patent/JP3019787B2/ja not_active Expired - Fee Related
-
1997
- 1997-09-11 EP EP19970250264 patent/EP0831642A3/en not_active Withdrawn
- 1997-09-16 US US08/931,650 patent/US6249550B1/en not_active Expired - Lifetime
- 1997-09-19 CN CNB971165513A patent/CN1178464C/zh not_active Expired - Fee Related
- 1997-09-20 KR KR1019970047878A patent/KR100273629B1/ko not_active IP Right Cessation
-
2000
- 2000-08-31 US US09/652,135 patent/US6366616B1/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
US6249550B1 (en) | 2001-06-19 |
CN1179064A (zh) | 1998-04-15 |
KR100273629B1 (ko) | 2000-12-15 |
EP0831642A3 (en) | 2000-12-13 |
JPH1098730A (ja) | 1998-04-14 |
EP0831642A2 (en) | 1998-03-25 |
KR19980024800A (ko) | 1998-07-06 |
US6366616B1 (en) | 2002-04-02 |
JP3019787B2 (ja) | 2000-03-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1178464C (zh) | 运动矢量高速测算装置和运动矢量测算方法 | |
CN1258154C (zh) | 多处理器系统、数据处理系统和数据处理方法 | |
CN1252999C (zh) | 用于隔行至渐进式变换的高级边缘自适应插值方法和系统 | |
CN1104128C (zh) | 异步传输模式通信设备 | |
CN1183778C (zh) | 图象解码装置及记录媒体 | |
CN1133128C (zh) | 图像显示单元和运动图像检索系统 | |
CN1264048C (zh) | 图像处理装置、图像摄像系统和图像显示系统 | |
CN1774071A (zh) | 使用二维处理元件阵列的移动估计装置及其方法 | |
CN1501717A (zh) | 数字视频信号块间预测编码/解码装置及编码/解码方法 | |
CN1816154A (zh) | 用于运动估计的方法和装置 | |
CN1100870A (zh) | 视频格式转换装置和方法 | |
CN1806447A (zh) | 图像编码装置、图像解码装置、图像编码方法、图像解码方法、图像编码程序、图像解码程序、记录图像编码程序的记录媒体、记录图像解码程序的记录媒体 | |
CN1121018C (zh) | 纹理数据的方法和设备 | |
CN1750656A (zh) | 编码和解码图像 | |
CN101032173A (zh) | 编码装置、编码方法、编码方法的程序及其记录介质 | |
CN1291409A (zh) | 运动向量检测方法和装置 | |
CN1256849C (zh) | 1/4像素精度插值的方法和装置 | |
CN1753035A (zh) | 图形处理系统、装置及其材质数据的处理方法 | |
CN1110187C (zh) | 选择运动矢量的方法及实现该方法的图象处理装置 | |
CN1240225C (zh) | 图像编码装置以及图像编码方法 | |
CN1311692C (zh) | 动态矢量检出装置以及动态矢量检出方法 | |
CN1216495C (zh) | 视频图像亚像素插值的方法和装置 | |
CN1116455A (zh) | 数据压缩方法、图像数据存储器以及压缩数据展开方法与装置 | |
CN1262108C (zh) | 图像处理装置和照相机 | |
CN1932836A (zh) | 网格方向、比例、变换和调制估算 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C06 | Publication | ||
PB01 | Publication | ||
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: 20041201 Termination date: 20100919 |