CN1110209C - 用于预测运动的设备及其相应的图像压缩系统 - Google Patents

用于预测运动的设备及其相应的图像压缩系统 Download PDF

Info

Publication number
CN1110209C
CN1110209C CN95115290A CN95115290A CN1110209C CN 1110209 C CN1110209 C CN 1110209C CN 95115290 A CN95115290 A CN 95115290A CN 95115290 A CN95115290 A CN 95115290A CN 1110209 C CN1110209 C CN 1110209C
Authority
CN
China
Prior art keywords
value
memory device
row
error function
calculation element
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
Application number
CN95115290A
Other languages
English (en)
Other versions
CN1119815A (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.)
Technicolor SA
Original Assignee
Thomson Consumer Electronics SA
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 Thomson Consumer Electronics SA filed Critical Thomson Consumer Electronics SA
Publication of CN1119815A publication Critical patent/CN1119815A/zh
Application granted granted Critical
Publication of CN1110209C publication Critical patent/CN1110209C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/43Hardware specially adapted for motion estimation or compensation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/223Analysis of motion using block-matching
    • G06T7/231Analysis of motion using block-matching using full search

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

一种预测运动的设备,其运动的预测是通过在以信息组为基础的图像压缩系统中进行信息组的比较进行的,所述设备包括:N行×M列的计算装置(S,403),用于对两个值之间的误差函数进行计算;第一存储器装置(S,406),用于存储表示要被预测运动的一个信息组的值(a);第二存储器装置(B),用于存储一个基准窗口的值(b),所述第一和第二存储器装置被连接到所述计算装置(S,403),以使每个存储器装置将所存储的值提供给每个计算装置;累加装置(Add),用于累加所述误差函数的值;其中,所述第一存储器装置包含:用于两个像素值的存储器(406,407);及用于多路转换所述值中的一个到所述误差函数计算装置(403)的多路转换器(404,405)。本发明可用于图像压缩。

Description

用于预测运动的设备 及其相应的图像压缩系统
本发明涉及一种根据像素信息组对一个图像压缩系统中的运动进行预测并确定其运动矢量的设备。依据本发明的设备特别地被用于电视图像的压缩以及基于MPEG(运动图像专家组)的当前或未来压缩标准的系统之中。
有许多对图像信息组进行处理的图像压缩系统。在MPEG的情况下,所述的图像被分成8×8个像素的信息组,四个信息组又被组合成16×16个像素的宏信息组。所述信息组或宏信息组必须经过各种处理,以减少图像之间和每个图像之内的冗余。这些处理之一就是对运动进行预测。这个过程在于要预测一部分当前图像相对于在先或在后图像的移动。确定用于定义所述移动的一个或多个运动矢量,这些运动矢量能够依据在前或在后图像对当前图像作出推算。然后,可以确定在这个推算和所述当前图像之间存在的差别,并利用这个差别确定在后图像的压缩。今天,运动矢量除了能够应用于所谓“帧间”(inter)图像以外,还可以应用于所谓的“帧内”(“intra”)和“双向”图像,从而达到了减少可能影响发送误差的目的。
所述对运动的预测通常是针对每个宏信息组加以进行的。在本说明书的其余部分中,为便于解释起见,将对每一个宏信息组设定一个单一的运动矢量。这个由在前图像而正在被确定的矢量用于所述当前图像的一个宏信息组,并且还能使用一个存储于所述编码器之中的基准图像来取代一个在前图像,这个图像对应于由一个译码器所译码的所述图像(即考虑到由于压缩所引起信息损失的一幅图像)。
在基准图像中用于确定“最佳”宏信息组的技术是将当前的宏信息组和所述基准图像中具有相似规模的信息组进行比较。作为一个比较标准,在此规定了一个误差函数Err,以在基准图像中对所述宏信息组的每一可能的位置进行计算。所述Err函数给出的最低值的位置将确定移动矢量,由于这个矢量取决于可能的计算容量和对编码该运动矢量预定的通带,所以它的精度是可变的。像素部分的精度是通过帧间像素插入法来实现的。假如所述运动矢量在长度上被限制,那么一个适当规模的搜索窗口将被放置在由当前宏信息组所定义的一个位置的周围。
所述运动矢量的计算需要强有力的计算资源,该资源随着所需精度、图像分辨率以及它的频率等而增加。
通常使用的误差函数是: Err ( m , n ) = Σ i Σ j D ( a ( i , j ) , b ( i + m , j + n ) )
矢量的坐标,a和b分别是当前宏信息组和所述窗口或搜索图像的位移的宏信息组的像素亮度。
函数D可以例如是D(x,y)=|x-y|
在符合MPEG标准的图像压缩中关于运动矢量可使用的更多的信息,请参阅1993年11月的H.262 ISO/IEC 13818-2(Video)Committee Draft推荐的“信息技术,电影图像和相关音频的一般编码”。
本发明的目的是提供一种具有特殊优点体系结构的“信息组匹配处理器”。
具体来讲,本发明的目的是提供一种预测运动的设备及其相应的图像压缩系统,其运动的预测是通过在以信息组为基础的所述图像压缩系统中进行信息组的比较进行的。
按照本发明的一个方面,提供了一种预测运动的设备,其运动的预测是通过在以信息组为基础的图像压缩系统中进行信息组的比较进行的,其特征在于,所述设备包括:N行×M列的计算装置,用于对两个值之间的误差函数进行计算;第一存储器装置,用于存储表示要被预测运动的一个信息组的值;第二存储器装置,用于存储一个基准窗口的值,所述第一和第二存储器装置被连接到所述计算装置,以使每个存储器装置将所存储的值提供给每个计算装置;累加装置,用于累加所述误差函数的值;其中,所述第一存储器装置包含:用于存储两个像素值的存储器;及用于多路转换所述值中的一个到所述误差函数计算装置的多路转换器。
在一个特定的实施例中,所述第一存储器装置为N行×M列,所述第二存储器装置为N行×M列,所述累加装置为M个,并且,所述N行×M列的计算装置、N行×M列的第一存储器装置、N行×M列的第二存储器装置及M个累加装置串联连接,所述M个累加装置用于分别累加N个计算装置的一列的误差函数值,一个累加装置的输出连接到下一个累加装置的输入,以便引入延迟,该延迟是在由存储器装置形成的网络中的搜索窗口的信息块传播的函数。
在另一个特定的实施例中,对于所述N行×M列的第二存储器装置来说,一行的存储器装置以串联连接,以便通过网络逐列传播典型值的搜索窗口。
在另一个特定的实施例中,每个第二存储器装置的输出都连接到一个误差函数计算装置的输入端。
在另一个特定的实施例中,每个误差函数计算装置都根据由该计算装置所连接的第二存储器装置输出的值、以及表示要被预测运动的信息块的一个值,来计算误差函数。
在另一个特定的实施例中,每个误差函数计算装置的计算结果都存储在相应的缓冲器中。
在另一个特定的实施例中,存储在所述第一存储器装置中的两个值分别表示形成单一块的较低子信息块和较高子信息块,作为交替值提供给第二存储器装置的网络的值表示所述基准窗口的较高子部分和较低子部分,这种操作是“隔行扫描”模式。
在另一个特定的实施例中,该设备还包含一个加法装置,用于累加两个子信息组的误差函数的值。
在另一个特定的实施例中,在隔行扫描模式下,在每一对累加装置之间引入一个计算周期的辅助延时。
在另一个特定的实施例中,由所述第一存储器装置所存储的两个值分别表示两个不同的信息块,即第一信息块和第二信息块,作为交替值提供给第一存储器装置的网络的值表示与该第一信息块和第二信息块相关的基准窗口。
在另一个特定的实施例中,每一行的存储器都被通过第三存储器装置馈接了一行基准窗口。
在另一个特定的实施例中,至少有N+1个第三存储器装置,并且,当所述N+1个第三存储器装置中的N个被馈送给N行的第二存储器装置时,没有被馈送的那一个第三存储器装置被装入表示当前被馈送的搜索窗口的部分与之后马上要被馈送的搜索窗口的部分之间的差别的值。
在另一个特定的实施例中,还包括一个转换电路,用于在存储基准窗口行的所述第三存储器装置和向误差函数计算装置传播基准窗口值的所述第二存储器装置之间进行转换,所述转换电路将所述第三存储器装置适当连接到所述第二存储器装置的行上。
按照本发明的另一个方面,提供了一种图像压缩系统,该系统包含相应于前面任何一种情况所述的用于预测运动的设备。
按照本发明的再一个方面,提供了一种图像压缩系统,能够通过信息组的比较来预测运动,包含一个用于执行该比较的单元矩阵,其中,每一个单元矩阵包含下列装置:计算装置,用于对两个值之间的误差函数进行计算,这两个值分别是表示信息块的一个值和表示基准窗口的一个值;其中每一个单元还包含存储器装置,用于存储多个像素值,用于存储表示至少一个要被预测运动的信息组的多个值;及多路转换器,连接到所述存储器装置,用于将一个或多个所述值多路转换到误差函数计算装置。
通过参照附图对仅作为非限定举例的特定实施例的下述说明,可以更好地理解本发明的目的、优点和特性。
附图简要说明:
图1示出了根据本发明的一个运动预测处理器的方框图;
图2a和2b简要地示意了用在该实施例中的压缩策略;
图3示出了根据该实施例的所述一个心动式网络的方框图;
图4示出了图3所示的心动式网络的称谓“S”单元的方框图;
图5示出了根据本发明的简化了的心动式网络的方框图,用于展示非隔行扫描模式操作;
图6示出了根据本发明的简化了的心动式网络的方框图,用于展示隔行扫描模式操作;
图7示出了在所述实施例的第一种变型中的协同处理器的方框图;
图8示出了所述实施例的第二种变型的方框图;
依据本发明的设备在考虑到MPEG标准要求的情况下:可以对不同类型的运动矢量进行计算即,在多帧或多幅图像的矢量、朝向当前图像的在前图像和朝向当前图像的在后图像的矢量(分别称作正向矢量和反相矢量)的情况下均可对其进行计算。在本说明的其余部分,为清楚起见,将采用所述的正向矢量为例,但很明显,本发明并不受当前实施例的限制。
图1示出了一个运动预测处理器101的结构。所述处理器101包括一个RISC控制器102(RISC=“简化指令集计算机”),一个心动式网络协同处理器103、三个用于装载图像的独立的输入端口104、105和106、一个用于提供所述运动矢量的输出端口107、和一个本机的RAM 108及RAM 109。
所存在的几个独立的输入端口使得能够处理相同数量的独立的视频源。在一个变型中,每一个输入端口都装备有一个二次采样电路用于执行所述运动分级预测。
除了别的组件之外,上述这些不同的组件通过被连接到一外部DRAM存储器110的一数据总线111进行通信。一个存储器管理单元112控制在所述本机存储器之间数据的移动。对应于图像(基准或当前)的数据被传送给动态存储器110。然后,它们被再次读出并在适当的时间点提供给协同处理器103。由所述协同处理器103所计算的运动矢量通过缓冲存储器MV BUFF 114传送给动态存储器110。在所述适当的时间点,这些矢量被再次读出并通过所述传送端口107传送出去。
所述处理器101还具有一个微处理机接口115,用于通过下装(down-loading)代码和计算参数为所述RISC控制器102提供编程和配置。通过接口115也可以对存储在所述动态存储器110内的运动矢量进行存取。
单元MAX-AVR 113为每幅图像计算平均运动矢量和最大运动矢量。
在本例中的所述RISC控制器102是一个具有62个寄存器和64个数据字存储器的19位处理器。所述控制器102的作用在于处理来自处理器101各个单元的请求并在适当的时刻启动它们。
所述的RISC控制器102被连接到本机RAM 108和本机ROM109,后者包括有常规被使用的程序。
在本描述的余下部分中,我们将首先叙述一个单一的心动式网络的操作。这将使得能够对结合8个这种网络的所述协同处理器103的操作作出更好的理解。
图2a示出了在所述心动式网络中信息的循环。该网络的基本功能就是把所述当前像素信息组和基准窗口的内容相比较。所述当前像素信息组被存储在所述心动式网络201之内。利用多个区域将所述基准窗口传送给所述网络。对每个可能的位置计算所述的误差函数Err。元件202确定所述误差函数的最小值及其对应的运动矢量。
图2b示出了一种用于确定被传送到所述心动式网络的区域的方法。每个区域具有与所述网络行数相对应的像素行数量(在本例中该数量为4)。所述第一区域包括有所述基准窗口的前四行。当所述的第一区域被全部处理完毕时,继续对下一个区域进行处理,所述下一区域包含有所述第一区域的后三行和紧跟在该第一区域之后的一行,换句话说,每个区域相对于在前的区域被移位一行。
每个区域被逐列地提供给所述的心动式网络然后将每个区域具有相同行数的当前信息组与每个区域相同规模的全部信息组加以比较。最后,将当前信息组与所述基准窗口相同规模的全部信息组进行比较。
在此,注意到两个区域仅相差一个像素行。这个冗余将在以后被用于限制存储器10的数据装载。
图3示出了一个包括有四行和五列的心动式网络,该网络包括称谓“S”的单元,缓冲器“B”、加法器“Add”旁通电路单元301和最后面的旁通电路单元302。
所述“S”单元执行|a-b|的计算,其中,a和b分别表示当前信息组的像素值和所述基准窗口的像素值。每个给定行S单元的输出通过一缓冲器B接到下一个S单元的输入端上。缓冲器B还位于一行的每个第一S单元的前面。每个周期期间内在一确定行上,b个像素的值从一个缓冲器移往随后的缓冲器。所述的缓冲器用于保持所述的b值,而S单元则执行对它们的计算。
每个S单元还具有一个输出端C,用于提供|a-b|的计算结果。所述的输出端C还被连接到另一个缓冲器B上(注意:在图3中,尽管不是所有的缓冲器都具有相同的功能,但所有的缓冲器都被标注为B)。一个确定列的所有这种缓冲器都被连接到同一个加法器Add上。因此,具有与列数相同数量的加法器。
一个加法器的输出端通过三个相互串接的缓冲器B连接到下一个加法器的输入端上。在已选定的操作方法中,可以利用所述的旁通电路单元301使这三个缓冲器中的最后一个被短路或不被短路。
所述的最后面的旁通电路单元302或是在一般的非隔行扫描操作情况下于每个周期提供误差函数值,或是在隔行扫描模式情况下于每两个周期提供误差函数值。在后一种情况下,在该最后面的旁通电路单元302内集成的加法器将所述误差函数的两个连续值相加起来。
在一种变型中,所述的加法器Add是一个“三输入端进位保留加法器”。
图4详细地示出了一个S单元的功能。所述的S单元包括一个输入端401、一个直接与所述输入端401相联接的输出端402、一个具有两个输入端的计算单元403,所述两个输入端中的一个连接到输入端401,而另一个则连接到多路转换器404的输出端,所述多路转换器404用于通过一个选择线405来选择缓冲器406和缓冲器407中之一的内容。所述缓冲器406和407的输入端也连接到所述S单元的输入端401上。
两个缓冲器中的每一个都包含有一个当前信息组的像素值。这些值在适当时刻通过所述输入端401被装载。所述缓冲器的控制电路是一个传统电路,这里不再详述。两个相互并联的缓冲器能够使得两个当前信息组被同时存储在一个单一的心动式网络中。利用这种方式,可以在所述基准窗口内执行确定位置的两个比较,从而减少了在所述动态存储器10和协同处理器3之间传送数据的数量。
在每个S单元中的两个缓冲器还能进行所谓的“隔行扫描”操作,其使当前信息组的行数成为心动式网络行数的两倍。
所述计算单元还提供在其输入端上的两个值差的绝对值。
在这个例子中注意到,所述基准窗口像素的b值被存储在所述S单元之间的缓冲器B中,而一个(或多个)当前信息组的像素的a值被存储在所述S单元的缓冲器中。
在此,还注意到将所述S单元所产生的中间结果总和起来的功能全部是由处于所述S单元每一列底层处的加法器来执行的。
下面参考图5来说明所述心动式网络一般的(非隔行扫描)操作。所述图5示出了一个具有1行和8列的心动式网络。具有多行的网络的操作是非常相似的。在每个S单元的输出端(输出端S)处的结果都同时出现并传送给加法器。在一般的操作中,在该列末端每个加法器之间仅需要两个缓冲器B。为清楚起见,在图中未示出所述的第三缓冲器和旁通电路单元。
所述像素值a已经存储在所述网络中。按每个周期将b值提供给所述网络的输入端。表一示出了一定数量周期内输出信号C的变化:
                                             表一
周期  C0 C1 C2 C3 C4 C5 C6 C7
 0  --- --- --- --- --- --- --- ---
 1  |b0-a0| --- --- --- --- --- --- ---
 2  |b1-a0| |b0-a1| --- --- --- --- --- ---
 3  |b2-a0| |b1-a1| |b0-a2| --- --- --- --- ---
 4  |b3-a0| |b2-a1| |b1-a2| |b0-a3| --- --- --- ---
 5  |b4-a0| |b3-a1| |b2-a2| |b1-a3| |b0-a4| --- --- ---
 6  |b5-a0| |b4-a1| |b3-a2| |b2-a3 | |b1-a4| |b0-a5| --- ---
 7  |b6-a0| |b5-a1| |b4-a2| |b3-a3| |b2-a4| |b1-a5| |b0-a6| ---
 8  |b7-a0| |b6-a1| |b5-a2| |b4-a3| |b3-a4| |b2-a5| |b1-a6| |b0-a7|
 9  |b8-a0| |b7-a1| |b6-a2| |b5-a3| |b4-a4| |b3-a5| |b2-a6| |b1-a7|
  10   |b9-a0|   |b8-a1|   |b7-a2|   |b6-a3|   |b5-a4|   |b4-a5|   |b3-a6|   |b2-a7|
  11   |b10-a0|   |b9-a1|   |b8-a2|   |b7-a3|   |b6-a4|   |b5-a5|   |b4-a6|   |b3-a7|
  12   |b11-a0|   |b10-a1|   |b9-a2|   |b8-a3|   |b7-a4|   |b6-a5|   |b5-a6|   |b4-a7|
  13   |b12-a0|   |b11-a1|   |b10-a2|   |b9-a3|   |b8-a4|   |b7-a5|   |b6-a6|   |b5-a7|
  14   |b13-a0|   |b12-a1|   |b11-a2|   |b10-a3|   |b9-a4|   |b8-a5|   |b7-a6|   |b6-a7|
  15   |b14-a0|   |b13-a1|   |b12-a2|   |b11-a3|   |b10-a4|   |b9-a5|   |b8-a6|   |b7-a7|
在周期0期间,b0值被存储在通往所述网络的输入端处的第一缓中器B501中。只有在周期1期间有结果,其是从存储在缓冲器502中的第一S单元在输出端C0处提供的。在周期1期间,所述值b0也被存储在所述第二缓冲器B503中。
在所述网络运行的某一时刻,在最后一个加法器的输出端我们将发现,所有差值绝对值的和,按照基准窗口其对应于当前信息组(一个8像素行)的确定位置。在所述表中以粗体字符示出了用于所述基准窗口第一行的必须在加法器中被相加的结果。
这个总计功能影响到由所述加法器之间的缓充器504所引入的延时。可以很容易地看出,必须引入两个周期的延时,以便正确地传送所述结果到所述加法器。这就说明了为什么在每个加法器之间具有两个缓冲器。每个缓冲器引入了一个周期的延时。换言之,在两个在前的加法器之间的两个缓冲器504和505抵削了由缓冲器501和502引入的延时。
在第十五周期结束处,当前信息组第一可能位置的函数Err的值被传送给所述网络的输出端506。
在此,注意到,在这个操作过程中,只将存储到每一S单元中的两个值中的一个使用。在一个变型中,在每个S单元中,使用了单独存储当前信息组像素值的缓冲器。
图6和图7示出了一个心动式网络的所谓“隔行扫描”操作。这种方法能确定包括多个行数在内的当前信息组的误差函数其等于所述心动式网络行数的两倍。这是由在每个S单元中加一个附加缓冲器和在每个加法器中间加一个附加缓冲而简单地实现的。
除了在每对加法器之间插入了一个附加缓冲器之外,图6类似于图5。特别是如图4所示,每个S单元都包括有两个内部缓冲器。在偶数周期期间内,每个S单元第一缓冲器的内容被多路转换到相应的计算单元,而在奇数周期期间内,使用第二缓冲器的内容。
两倍于当前信息组规模的信息组被分离成相互垂直叠加的两个子信息组a和a′,第一子信息组a被存储在每个S单元的第一缓冲器中,而第二子信息组a′被存储在每个S单元的第二缓冲器中。
在相同方式下,所述基准窗口的区域具有双倍数量的行数,它包括一个上子区域b和一个下子区域b′。在一个偶数周期期间,所述子区域b的一个列被送往所述心动式网络的所述输入端,而在所述的奇数周期则传送b′的一个列。
表2给出了在每个周期之后,所述输出端C的状态。如前所述,所述粗体字符表示中间结果其必须被相加以构成与一个子信息组相对应的误差函数。
与非隔行扫描操作相比较,在所述两个子信息组和两个子区域之间的这种交替在与确定位置相对应的累积误差的加法器输出端处和在对应于下一个加法器输入端的中间结果之间引入了一个周期的补充延时。由于这个原因,在每一对加法器之间插入了第三缓冲器。
图6所示网络中的最后一个加法器器601被连接到加法器602和缓冲器603的第一输入端上,而缓冲器603的输出端被连接到所述加法器602的第二输入端上。
在所述加法器601的输出端按每个周期提供对应于一个子信息组的误差函数(一旦所述网络被正确地启动)。表2示出了对应于所述子信息组a′的误差函数,其在对应于所述信息组a的误差函数值后滞后一个周期。所述的两个值必须相加以获得与整个信息组a+a′相对应的误差函数值,于在前一个周期期间内,与a相对应的值被存入缓冲器603中。在下一个周期内,与信息组a′相对应的值出现在所述加法器601的输出端。加法器602计算所述的和。因此,每两个周期在所述加法器602的输出端上出现正确的结果。
这种“隔行扫描”操作模式是非常有意思的,利用这种方式,可以减少所述网络的行数以及本机存储器的数量(参见下面)。
在一种变型中,设计所述的心动式网络以使处理其行数等于N倍网络行数的当前信息组,其中,N是一个大于2的整数。
                                       表二
 周期  C0 C1 C2 C3 C4 C5 C6 C7
 0  --- --- --- --- --- --- --- ---
 1  |b0-a0| --- --- --- --- --- --- ---
 2  |b0′-a0′| |b0-a1| --- --- --- --- --- ---
 3  |b1-a0| |b0′-a1′| |b0-a2| --- --- --- --- ---
 4  |b1′-a0′| |b1-a1| |b0′-a2′| |b0-a3| --- --- --- ---
 5  |b2-a0| |b1′-a1′| |b1-a2| |b0′-a3′| |b0-a4| --- --- ---
 6 |b2′-a0′| |b2-a1| |b1′-a2′| |b1-a3| |b0′-a4′| |b0-a5| --- ---
 7 |b3-a0| |b2′-a1′| |b2-a2| |b1′-a3′| |b1-a4| |b0′-a5′| |b0-a6| ---
 8 |b3′-a0′| |b3-a1| |b2′-a2′| |b2-a3| |b1′-a4′| |b1-a5| |b0′-a6′| |b0-a7|
 9 |b4-a0| |b3′-a1′| |b3-a2| |b2′-a3′| |b2-a4| |b1′-a5′| |b1-a6| |b0′-a7′|
 10 |b4′-a0′| |b4-a1| |b3′-a2′| |b3-a3| |b2′-a4′| |b2-a5| |b1′-a6′| |b1-a7|
 11 |b5-a0| |b4′-a1′| |b4-a2| |b3′-a3′| |b3-a4| |b2′-a5′| |b2-a6| |b1′-a7′|
 12 |b5′-a0′| |b5-a1 | |b4′-a2′| |b4-a3| |b3′-a4′| |b3-a5| |b2′-a6′| |b2-a7|
 13 |b6-a0| |b5′-a1′| |b5-a2| |b4′-a3′| |b4-a4| |b3′-a5′| |b3-a6| |b2′-a7′|
 14 |b6′-a0′| |b6-a1| |b5′-a2′| |b5-a3| |b4′-a4′| |b4-a5| |b3′-a6′| |b3-a7|
 15 |b7-a0| |b6′-a1′| |b6-a2| |b5′-a3′| |b5-a4| |b4′-a5′| |b4-a6| |b3′-a7′|
 16 |b7′-a0′| |b7-a1| |b6′-a2′| |b6-a3| |b5′-a4′| |b5-a5| |b4′-a6′| |b4-a7|
图7简要示出了在所述实施例第一种变型中的所述协同处理器。在这种变型中,所述协同处理器包括10个FIFO堆栈701-710,它们以并联形式连接到所述数据总线11。每个堆栈数据字的数量决定了搜索窗口像素列的数量。所述堆栈701-710的输出端被连接到具有10个输入端、8个输出端714-721的开关电路712上。
所述电路712能够使得10个FIFO堆栈(此后称之为多个堆栈)中任一个的输出端连接到所述电路8个输出端中的任何一个上。每个FIFO都包含所述搜索窗口的一个完整行。在确定时间点连接到一个输出端的8个FIFO与处理后的搜索窗口区域的所述行相对应。
两个未被连接的辅助FIFO通过所述的数据总线由存储在缓冲器10中的数据加载。被装载的数据对应于搜索窗口的行数,其不同于当前正在被处理的区域。
作为例子,假定一个搜索窗口的8行L1到L8的第一区域包含在多个FIFO 701-708中。在处理这8行的期间内,行L9被装入FIFO709。当完成所述第一区域的处理时,存储于FIFO 701中的行L1变得没用了。所述第二区域包含有行L2-L9。由于整个区域存在于所述多个FIFO之中,因而所述第二区域的处理可以马上开始而没有任何空闲时间。然后,所述的转换电路必须重新建立成已存储的行的正确顺序,其在向所述心动式网络722-725提供之前建立。
在所述区域具有8行的情况下,9个FIFO足以执行所述操作。例如当以并联方式处理两个4行区域时,使用了第10个FIFO。
在这个变型中,4个具有4行和16列的心动式网络722-725中的每一个都被连接到所述转换电路的输出端上。按照惯例,可以说所述输出端714表示一8行区域的最上行,而输出端721表示所述的最下行。第一和第三网络(分别是722和724)被连接到四个上面的输出端714-717,而第二和第四网络(分别是723和725)被连接到四个下面的输出端718-721上。
上述的配置可以使不同规格的当前信息组被灵活地加以处理。事实上,可以用不同的方式来考虑这四个网络:
8个4×6网络,每一个4×16网络处理两个4×8像素的当前信息组:
4个8×8网络;
2个8×16网络;
2个16×16网络。
在后一种情况下,所述网络以隔行扫描模式操作,其只能获得8个而不是16个输出端。所述8个输出端轮流提供基准窗口的上区域和下区域的8个像素列。
当然也可以使用16个而不是8个FIFO(为了下一行加载而排除所需的FIFO)。
如前所述,所述FIFO堆栈的容量决定了所述窗口的宽度。在使用4×8的网络进行工作的情况下,可以将多个FIFO分为两组,并在每一对FIFO中存储与两倍长的像素行相等的行。
图7以箭头的形式指出了一种方式,在这种方式下,根据所述的运行方法,在第一个4×16网络的输出端处将所述的计算结果分组。
图8示出了所述实施例的第二种改型。9个FIFO(在标号801下进行分组的)被提供给转换电路802。在这个例子中的协同处理器包括8个4×8心动式网络803-810。事实上,图8所示两个4×8级联的网络与图7所示之一个4×16网络等效。图8更清楚地示出了当8个当前4×8信息组被并行进行处理时,所述网络中每一个计算结果的路径选择。现以两个上面的网络803和804为例。在所述网络803输出端处的最后结果(即所述误差函数值)被直接传送给所述网络804。在所述网络803输出端处的这个结果对于后续处理而言是可以或是不可以被利用要取决于是以8个4×8像素的当前信息组或是以4个8×8像素的当前信息组进行工作的事实,在使用8个4×8像素当前信息组的情况下。这个结果对于确定由网络803处理的当前信息组的运动矢量将是必不可少的。
在这种改型之中,单元M与每个4×8网络有关。每一个单元M确定多个网络中每一个的输出端处的误差函数的最小值,并存储相应运动矢量的坐标。所述结果通过规定的数据总线811加以传送。
所述网络803、804、807和808输出端中的每一个被连接到多路转换器的所述输入端上。所述多路转换器的输出端被连接到相关的M单元的输入端上。这些相同网络中每一个的输出端也被连接到一个两输入端加法器的一个输入端上,该加法器的另一输入端接收紧跟在其后的一个网络的输出。对于网络803、804、807和808而言,它们分别具有所述网络805、806、809和810的输出端。
当所述处理器在8个当前信息组的基础上进行工作时,每个网络的输出被直接连接到相关的单元M上。然后,每个单元M根据它自己的情况确定误差函数和运动矢量的最小值。这就产生了8个不同的矢量。
当所述的处理器在4个8×8像素信息组的基础上进行工作时,所述的多路转换器进行转换,以便使与在同一信息组基础上进行工作的两个辅助网络相关的所述多个单元M中的一个接收由这两个网络计算的误差函数值的和。以后只有由接收这个和的所述单元所确定的矢量被加以考虑。
所述多路转换器的这种转换是由图1所示的控制器2加以控制的。

Claims (16)

1、一种预测运动的设备,其运动的预测是通过在以信息组为基础的图像压缩系统中进行信息组的比较进行的,其特征在于,所述设备包括:
N行×M列的计算装置(S,403),用于对两个值之间的误差函数进行计算;
第一存储器装置(S,406),用于存储表示要被预测运动的一个信息组的值(a);
第二存储器装置(B),用于存一个基准窗口的值(b),
所述第一和第二存储器装置被连接到所述计算装置(S,403),以使每个存储器装置将所存储的值提供给每个计算装置;
累加装置(Add),用于累加所述误差函数的值;
其中,所述第一存储器装置包含:用于存储两个像素值的存储器(406,407);及用于多路转换所述值中的一个到所述误差函数计算装置(403)的多路转换器(404,405)。
2、根据权利要求1所述的设备,其特征在于:所述第一存储器装置(406,407)为N行×M列,所述第二存储器装置(B)为N行×M列,所述累加装置(Add)为M个,并且,所述N行×M列的计算装置(S,403)、N行×M列的第一存储器装置(406,407)、N行×M列的第二存储器装置(B)及M个累加装置(Add)串联连接,所述M个累加装置(Add)用于分别累加N个计算装置的一列的误差函数值,一个累加装置的输出连接到下一个累加装置的输入,以便引入延迟,该延迟是在由存储器装置形成的网络中的搜索窗口的信息块传播的函数。
3、根据权利要求2所述的设备,其特征在于,对于所述N行×M列的第二存储器装置(B)来说,一行的存储器装置以串联连接,以便通过网络逐列传播典型值的搜索窗口。
4、根据权利要求3所述的设备,其特征在于,每个第二存储器装置(B)的输出都连接到一个误差函数计算装置(S,403)的输入端。
5、根据权利要求4所述的设备,其特征在于,每个误差函数计算装置(S,403)都根据由该计算装置所连接的第二存储器装置(B)输出的值、以及表示要被预测运动的信息块的一个值(a),来计算误差函数。
6、根据权利要求5所述的设备,其特征在于,每个误差函数计算装置(S,403)的计算结果都存储在相应的缓冲器中。
7、根据权利要求1所述的设备,其特征在于:存储在所述第一存储器装置(406,407)中的两个值分别表示形成单一块的较低子信息块和较高子信息块,作为交替值提供给第二存储器装置的网络的值表示所述基准窗口的较高子部分和较低子部分,这种操作是“隔行扫描”模式。
8、根据权利要求7所述的设备,其特征在于:该设备还包含一个加法装置(302),用于累加两个子信息组的误差函数的值。
9、根据权利要求7所述的设备,其特征在于:在隔行扫描模式下,在每一对累加装置(Add)之间引入一个计算周期的辅助延时。
10、根据权利要求1所述的设备,其特征在于,由所述第一存储器装置(406,407)所存储的两个值分别表示两个不同的信息块,即第一信息块和第二信息块,作为交替值提供给第一存储器装置的网络的值表示与该第一信息块和第二信息块相关的基准窗口。
11、根据权利要求2所述的设备,其特征在于,每一行的存储器都被通过第三存储器装置(701到710、801)馈接了一行基准窗口。
12、根据权利要求11所述的设备,其特征在于,至少有N+1个第三存储器装置,并且,当所述N+1个第三存储器装置中的N个被馈送给N行的第二存储器装置时,没有被馈送的那一个第三存储器装置被装入表示当前被馈送的搜索窗口的部分与之后马上要被馈送的搜索窗口的部分之间的差别的值。
13、根据权利要求11所述的设备,其特征在于,还包括一个转换电路(712),用于在存储基准窗口行的所述第三存储器装置(701到710、801)和向误差函数计算装置传播基准窗口值的所述第二存储器装置之间进行转换,所述转换电路将所述第三存储器装置适当连接到所述第二存储器装置的行上。
14、根据权利要求8所述的设备,其特征在于,在隔行扫描模式下,在每一对累加装置(Add)之间引入一个计算周期的辅助延时。
15、一种图像压缩系统,其特征在于,该系统包含相应于权利要求1所述的用于预测运动的设备。
16、一种图像压缩系统,能够通过信息组的比较来预测运动,包含一个用于执行该比较的单元矩阵,其中,每一个单元矩阵包含下列装置:
计算装置(S,403),用于对两个值之间的误差函数进行计算,这两个值分别是表示信息块的一个值和表示基准窗口的一个值;
其中每一个单元还包含存储器装置(406,407),用于存储多个像素值,用于存储表示至少一个要被预测运动的信息组的多个值;及
多路转换器(404,405),连接到所述存储器装置,用于将一个或多个所述值多路转换到误差函数计算装置(403)。
CN95115290A 1994-08-19 1995-08-17 用于预测运动的设备及其相应的图像压缩系统 Expired - Fee Related CN1110209C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR9410158A FR2723796B1 (fr) 1994-08-19 1994-08-19 Dispositif d'estimation de mouvement
FR9410158 1994-08-19

Publications (2)

Publication Number Publication Date
CN1119815A CN1119815A (zh) 1996-04-03
CN1110209C true CN1110209C (zh) 2003-05-28

Family

ID=9466402

Family Applications (1)

Application Number Title Priority Date Filing Date
CN95115290A Expired - Fee Related CN1110209C (zh) 1994-08-19 1995-08-17 用于预测运动的设备及其相应的图像压缩系统

Country Status (9)

Country Link
US (1) US5745605A (zh)
EP (1) EP0702327B1 (zh)
JP (1) JPH0879761A (zh)
KR (1) KR100437177B1 (zh)
CN (1) CN1110209C (zh)
BR (1) BR9503709A (zh)
DE (1) DE69534380D1 (zh)
FR (1) FR2723796B1 (zh)
MY (1) MY122561A (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5953458A (en) * 1995-12-06 1999-09-14 Thomson Multimedia S.A. Method and device for motion estimation
FR2742248B1 (fr) * 1995-12-06 1998-01-23 Thomson Multimedia Sa Procede de traitement de donnees dans des reseaux matriciels dans un systeme d'estimation de mouvement
US6115837A (en) * 1998-07-29 2000-09-05 Neomagic Corp. Dual-column syndrome generation for DVD error correction using an embedded DRAM
CN100356780C (zh) * 2005-02-03 2007-12-19 清华大学 用于压缩视频信号解码的图像存储方法
US20060259737A1 (en) * 2005-05-10 2006-11-16 Telairity Semiconductor, Inc. Vector processor with special purpose registers and high speed memory access
US20070150697A1 (en) * 2005-05-10 2007-06-28 Telairity Semiconductor, Inc. Vector processor with multi-pipe vector block matching

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4800425A (en) * 1986-12-24 1989-01-24 Licentia Patent-Verwaltungs-Gmbh System for displacement vector searching during digital image analysis
CN1044646A (zh) * 1989-02-06 1990-08-15 菲利蒲石油公司 脱氢方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4897720A (en) * 1988-03-14 1990-01-30 Bell Communications Research, Inc. Circuit implementation of block matching algorithm
FR2638924B1 (fr) * 1988-11-09 1991-01-25 Artieri Alain Procede et circuit de traitement par bloc de signal bidimensionnel d'images animees
GB8909498D0 (en) * 1989-04-26 1989-06-14 British Telecomm Motion estimator
JPH0385884A (ja) * 1989-08-29 1991-04-11 Sony Corp 画像の動き検出回路
US4937666A (en) * 1989-12-04 1990-06-26 Bell Communications Research, Inc. Circuit implementation of block matching algorithm with fractional precision
KR0160618B1 (ko) * 1992-10-27 1999-01-15 윤종용 실시간 움직임 추정장치 및 그 방법
EP0613293B1 (en) * 1993-02-22 1999-11-17 Industrial Technology Research Institute Multiple module block matching architecture

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4800425A (en) * 1986-12-24 1989-01-24 Licentia Patent-Verwaltungs-Gmbh System for displacement vector searching during digital image analysis
CN1044646A (zh) * 1989-02-06 1990-08-15 菲利蒲石油公司 脱氢方法

Also Published As

Publication number Publication date
CN1119815A (zh) 1996-04-03
EP0702327A1 (fr) 1996-03-20
KR960009753A (ko) 1996-03-22
US5745605A (en) 1998-04-28
JPH0879761A (ja) 1996-03-22
KR100437177B1 (ko) 2004-10-20
BR9503709A (pt) 1996-05-28
MY122561A (en) 2006-04-29
DE69534380D1 (de) 2005-09-22
EP0702327B1 (fr) 2005-08-17
FR2723796A1 (fr) 1996-02-23
FR2723796B1 (fr) 1996-11-29

Similar Documents

Publication Publication Date Title
CN100342401C (zh) 基于段的运动估计
CN1157956C (zh) 运动估计器
CN1297134C (zh) 用于扫描搜索区内参考宏块窗口的运动估计装置和方法
JP2008536429A (ja) 領域の動的なアスペクト比を用いた領域ベース3drs動き推定
CN1246765A (zh) 用于数字信号内插的方法和系统
CN101540911B (zh) 产生图像数据流的方法和设备及重建图像的方法和设备
CN1110187C (zh) 选择运动矢量的方法及实现该方法的图象处理装置
JP2008538433A (ja) 領域ベース複数パス動き推定及び時間的動きベクトル候補の更新を用いたビデオ処理
CN1706189A (zh) 带有降质的图像处理单元
CN1110209C (zh) 用于预测运动的设备及其相应的图像压缩系统
CN1253696A (zh) 降低一个脉动阵列对存储器的带宽需求的装置与方法
CN1574963A (zh) 提供基于块的运动补偿的装置及其方法
CN1115880C (zh) 在运动估算系统中以矩阵阵列处理数据的方法
US20030012281A1 (en) Motion estimation apparatus and method for scanning an reference macroblock window in a search area
CN1266944C (zh) 图像处理器和配有这种图像处理器的图像显示设备
CN101552866A (zh) 视频信号内插设备、视频显示设备以及视频信号内插方法
Baglietto et al. Parallel implementation of the full search block matching algorithm for motion estimation
KR20060010776A (ko) 비디오 데이터 처리 방법 및 데이터 프레임의 제 1 블럭에대한 움직임 벡터 생성 방법
CN1637719A (zh) 数据存储设备、数据存储控制设备、方法以及程序
CN100340118C (zh) 运动估计的超大规模集成电路体系结构及数据缓存的方法
CN1780402A (zh) 视频图像运动补偿装置
JP4973591B2 (ja) 動きベクトル検出装置及び動きベクトル検出方法
JP3946722B2 (ja) 動画像符号化装置
US8090024B2 (en) Methods for processing two data frames with scalable data utilization
KR100571907B1 (ko) 동영상 추정 알고리즘에 있어서 프로세싱 엘레멘트 수 결정 방법

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
C19 Lapse of patent right due to non-payment of the annual fee
CF01 Termination of patent right due to non-payment of annual fee