因此,本发明的目的就是要解决上述的各种问题,于是,本发明 的一个目的就是要提供一种运动矢量的测算方法和运动矢量测算装 置,以使用很低的功耗及很省的芯片面积来高
精度地测算运动矢量。
本发明的另一目的是提供一种运动矢量的测算方法和运动矢量测 算装置,其中当向一块匹配处理施行一并行处理时,其并行度是不会 降低的。
本发明的另一目的是提供一种运动矢量的测算方法和运动矢量测 算装置,其中能够在节省块匹配电路的芯片面积的同时测算多种模式 的运动矢量。
本发明的又一目的是提供一种运动矢量的测算装置,其中的块匹 配电路能够以节省的芯片面积来实现,且与参考区的形状和大小无 关。
为了实现本发明的一个方面:一种运动矢量测算装置,包括: 当前图象存储单元,用以存储当前图象的图象数据;参考图象存储单 元,用以存储参考图象的图象数据;运动矢量存储单元,用于存储在 先已测算的运动矢量;检索窗确定单元,用于从在先已测算的运动矢 量确定测算历史,和根据所述测算历史确定检索窗,其中所说的检索 窗由矩形参考区所组成;块匹配电路,用于对当前块和所说检索窗中 的每个参考块进行块匹配处理,以确定运动矢量;和控制电路,用于 从所说的当前图象存储单元中读出所述当前块的图象数据以供给所说 的块匹配电路、从所说的参考图象存储单元读出所述检索窗口的每个 所述参考块的图象数据以供给所说的块匹配电路、以及用于控制所说 的块匹配电路对所说的当前块和所说的检索窗的所述每个参考块进行 所说的块匹配处理。
根据测算历史至少确定出检索窗的形状、检索窗的尺寸和检索窗 的位置中的一项。
检索窗确定单元确定在先已测算的运动矢量的数量是否已超过一 预定数,并其当确定在先已测算的运动矢量的数量已超过该预定数 时,即产生二维图,该二维图中的每个所说的在先已测算的动态矢量 是按其水平值和垂直值绘制的,并根据所说的二维图确定检索窗的所 说的形状和尺寸。另一方面,当确定出在先测算的运动矢量数超过预 定数时,检索窗确定单元即产生一个二维图,其中根据水平值和垂直 值来绘出每个在先测算的运动矢量。于是,检索窗确定单元即确定出 检索窗的最佳尺寸和形状,以使检索窗包含在先测算的运动矢量的历 史,而且,检索窗确定单元再分别计算在先被测算运动矢量在水平和 垂直方向上的变化的平均值,并确定出检索窗的最佳位置,以致例如 使检索窗的中心位置按平均值移动。按此方式,可独立地确定尺寸、 形状和位置。反之,可集中确定尺寸、形状和位置。
运动矢量测算装置还包括:一负载检测电路,用于检测运动矢量 测算装置的负载或者检测块匹配电路的负载之一。此时,检索窗确定 单元根据测算历史和检测到的负载确定检索窗。而且,运动矢量测算 装置还包括一
电压检测电路,用于检测
电源电压。此时,检索窗确定 单元就根据测算历史和检测到的电源压确定检索窗。而且运动矢量测 算装置还包括
温度检测电路,用于检测安装块匹配电路的芯片的温 度。此时,检索窗确定单元就根据测算历史和检测到的温度来确定检 索窗。此外检索窗确定单元还可根据测算历史确定出至少一个以象素 为单元的检索窗中的无用区,并在该无用区中的每个象素上设置一个 标记,以便根据无用区中象素上的标记使对包括无用区的任何象素的 参考块的块匹配处理无效。
块匹配电路还包括具有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)进行的。对检索窗的所有参考块执行 块匹配处理。
等式(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和R 5,1到R7,7等等则代表参考区1102的象素数据,如图6B。此外,符号 D1,1到D4,4中的每一个代表指示对应的参考块的似然性并被提供给最 小值检测电路25的数据。根据下面的等式(2)计算似然性数据:
等式(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-C 2,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|+|R 3,1-C3,1|+|R4,1-C4,1|。与此相似,在处理元件PE3,1中存有数据|R 2,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的参考块的似然性D 1,1。按此情况,以流水方式可依次获得参考区1101的参考块在从时间 17到时间32的时间间隔内的似然性。
与此同时,在时间17,下一参考区1102(图6B)的象素数据S 1,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是显示在图8 A和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 map storage 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/IEC 13818-2)的多种预测模式而同时获得。此时,根据本发明,在从处 理元件连接的导线中只有局部的导线,所以芯片的面积能减少。这是 因为处理元件被分成四种,即分别使处理元件属于偶数行和奇数行, 上半部的行和下半部的行。