给运动图像压缩电路的多个操作单元提供象素的装置的制作方法

文档序号:7566122阅读:146来源:国知局
专利名称:给运动图像压缩电路的多个操作单元提供象素的装置的制作方法
技术领域
本发明是关于压缩运动图像、例如电视图像的电路,较具体说是关于为包含在这一电路中的操作单元提供象素,将每一当前的图像划区与前一图像中它的周围情况加以比较,以实现图像划区的运动评估。
这种电路用于对在TV播送中可加传输的图像进行编码,以使得给予传输的信息量减至最少。由这一电路进行压缩,除其他一些操作外,还包括在二相接续的图像间作运动估算。这种运动估算使得有可能仅仅只对与在前一图像已存在着的当前图像划区相关的运动向量加以编码,因而也只需传送这些信息。每一运动向量均表示前一图像划区和当前图像的对应划区间的(相对)运动。为此目的,将当前图像的各象素相对于前一图像中的围绕该象素的那些象素一一进行处理。
这些例如由摄象机所产生的图像被划分成多个图像划区,叫做“宏块”。这些划区通常适宜于将图像划分成分别具有16×16象素大小的方块。一幅图像按行连续地存放在一视频存贮器中。由此视频存贮器以对应于图像的方块划区的象素块为单位取出这样存贮的象素。这些象素块,亦即宏块,被存放在高速缓冲存贮器中,以便在所指定的处理器中分别用于确定所处理中的宏块的运动向量。
为进行宏块运动估算。计算处理器不仅要应用当前图像的所处理宏块的象素,还要用到前一图像的围绕该相应宏块的象素。此处理器应用(至少部分地)前一图像的相邻宏块的象素作为一组称之为“基准窗”的基准值,顺次处理当前图像的每一宏块,构成一组当前值,并称之为“当前窗”。实践中,一第一高速缓冲存贮器保存一当前窗,向一第二高速缓冲存贮器则保存一较大的基准窗。此基准窗包含有前一图像中的当前窗的象素外,还含有在各个方向上与其相邻接的前一图像的一个宏块象素划区。


图1示意地作出了为一运动图像压缩电路的处理器的“n+1”个操作单元OP(0),…OP(k),…OP(n)提供输入的一通常的装置。操作单元OP(k)按缩减体系结构安排,并被指定针对当前窗的每一行根据基准窗对三组值进行“n+1”个操作工序。
在对应于一个时钟周期CLK的列“i”的一系列操作中,“n+1”个操作单元OP(k)的每一个执行一个操作。对当前图像I(j)的每一个象素P(i,j),每一操作单元OP(k)接受三个输入的一组值。这一三值组包括象素P(i,j)的值,一由基准窗的一行中选取的并包含前一图像I(j-1)中当前的象素P(i,j)位置前顺次的“n+1”个象素P(i—k,j-1)的值,以及一所谓的累加值。此累加值相当于所讨论中操作单元OP(k)在先前的列“i-1”的操作工序中所得到的结果。此值被存放在一累加寄存器,亦即累加器ACC(k)中。
为能执行列“i”的一个操作,将由第一缓冲存贮器1输出的第一象素P(i,j)装载进每一操作单元OP(k)的第一工作寄存器R1(k)。由第二高速缓冲存贮器2输出的第二象素P(i,j-1)被装载于操作单元OP(0)的第二工作存贮器R2(0)中。其他操作单元OP(1),…OP(k),…OP(n)的第二工作寄存器R2(k)被装载以前一操作单元OP(k-1)的寄存器R2(k-1)的输出值P(i—k,j-1)。值P(i—k,j-1)对应于在前一时钟周期CLK(i-1)所执行的先前列“j-1”的操作工序中前一操作单元OP(k-1)所采用的值。累加器ACC(k)被装载以对应于在前一列“i-1”的工序中操作单元OP(k)所执行操作的结果的值ACC(i-1,k)。实践中,所有这些装载均在列“i-1”的时钟周期中进行,此时操作器执行在列“i”的操作工序执行前的列“i-1”的工序的操作。
图2表明一描述根据基准窗的行向量处理当前窗的一行中每一时钟周期CLK时操作单元OP(k)的寄存器R1(k)和R2(k)的输入值的表。可以看到,这样一种装置的操作需要在进行处理下一行前在寄存器R2(k)中预先装置象素P(0,j-1),…P(-k,j-1),…P(-n,j-1)。因此,第一“n+1”个时钟周期被用来执行这种预装载。需要“m+n+1”个时钟周期来执行“n+1”个操作的“m+1”个工序。为处理下一行所需要的第一象素P′(-n,j-1)必须在当前行的列“m”的最后一个工序期间装载进寄存器R2(0)中。
可以认为列“i”相当于当前图像I(j)的所讨论宏块的一行中的象素的列位是,宏块的宽度确定工序数“m+1”。列“k”相当于用作基准的前一图像I(j-1)的象素的位置,数“n+1”相当于一工序中当前图像I(j)所需处理象素P(i,j)时应用的基准象素的数目。
实施中,根据基准窗一行的操作对当前窗的一特定象素在二个工序中执行。基准窗的每一行被划分成二个24象素的向量(m+n+2)以便对各当前象素分别包含前一图像中按行上的顺序这一当前象素的前和后面的8个象素。此外,一个象素必须根据前一图像中其位前和顺序跟随的8个象素的值经受各个方向的操作。这样,对于当前窗的一确定的象素行,就要对32个行向量,即相当于基准窗的1 6行,重复处理。因而,对于构成当前窗的每一宏块行均必须将此“8”个象素P(0,j-1),…P(-k,j-1),…P(-8,j—1)预先装载16次,以便能根据基准窗的第一向量对这一行进行处理。
这在示意表示存贮器1和2的存贮内容的图3中作了说明。高速缓冲存贮器1存放对应于当前图像I(j)一宏块的当前窗,即“m+1”个象素P(0,j),…P(i,j),…P(m,j)的“m+1”行。高速缓冲存贮器2包含有基准窗,亦即等同于前一图像I(j-1)的4个宏块。在当前窗的宏块的这一窗中的位置如点线表示。为执行“m+1”个操作工序在基准窗中所应用的象素P(-n,j-1),…P(m,j-1),相当于这一窗的3/4行。
为了简化现在的说明,将仅仅描述根据基准窗的第一向量对当前窗各行的顺序处理,第二向量的处理则由变换附标按同样方式进行。
总的说来,本发明是关于这样一种装置,它用来提供操作数据“n+1”个按缩减体系结构安排的操作单元,以执行“n+1”个操作的“m+1”工序。更具体点说,本发明所提出的装置所完成的处理过程,其中每一操作单元的至少一个操作数与先前的操作工序中前一操作单元所应用的操作数相对应。
为此,本发明的目的就是要实现一种装置,为配置在例如像上述那样的缩减体系结构中的“n+1”个操作单元提供输入信息,从而能减少操作处理工序所需的时间。
为达到这一目的,本发明提出的装置,为配置在一缩减体系结构中的处理“n+1”个操作的“m+1”个工序方式的“n+1”个操作单元提供操作数,它含有与这些操作单元相关连的“n+1”个前寄存器(ante—register),用来在当前的处理“m+1”个工序期间存放“m+1”个操作工序的一后继操作的第一“n+1”个操作数。
按照本发明的一个实施例,这一装置另外还包含有与各操作单元相关连的电路,用以在与该操作单元相关的前寄存器中所保存的值和在先前的操作工序中前一操作单元所用的一操作数的值之间选择一操作数。
按照本发明的一个实施例,这一装置还包含有一第一存贮器存放第一组操作数和一第二存贮器存放第二组操作数,此第二存贮器的一存贮器字存放二个连续的操作数,而且还包括有一交错读取第二存贮器的单元,用于在每一操作中选择该第二存贮器的一存贮器字的二操作数中的一个。
按照本发明的一实施例,此装置被组合在一运动图像压缩电路中,该电路参照前一图像中时应划区的周围情况进行对当前图像划区的运动估算。
本发明还提出一个给一运动图像压缩电路的“n+1”个操作单元提供象素。对于每一操作单元,此装置包括一由存贮当前图像的当前窗的第一存贮器提供输入的第一工作寄存器,和一由与前一操作单元相关连的第二寄存器的输出提供输入的第二工作寄存器,与第一操作单元相关连的第二寄存器由存贮前一图像的基准窗的第二存贮器提供输入。此装置对每一操作单元包括有一输入连接到前一操作单元的前寄存器的输出的前寄存器,和一输出连接到与该操作单元相关的第二工作寄存器的输入的多路器,该多路器的输入则分别连接到其前寄存器的输出和前一操作单元的第二工作寄存器的输出。
按照本发明的一实施例,此第二存贮器被配置得使每一存贮器字含有两个接续的基准窗象素,而装置中设有一交错读第二存贮器的单元,用来在每一时钟周期交替地读取由当前向量得到的象素和下一向量中基准窗的象素。
按照本发明的一实施例,此交错存取单元包括有二个多路器,每一个均在其第一输入端接收该第二存贮器的一存贮器字的第一象素,向各多路器的第二输入端则连接到接收由该第二存贮器读出的存贮器字的第二值的缓冲寄存器的输出端。
按照本发明的一实施例,与第一操作单元相关连的多路的第一输入端和前寄存器的输入端,分别接收构成交错读第二存贮器的单元的第一多路器和第二多路器的输出。
按照本发明的一实施例,与一操作单元相关的各多路器接收由一对寄存器的时钟信号作“m+1”分频所得频率的时钟信号所构成的控制信号,多路器的信号脉冲宽等于寄存器的时钟信号的一个周期,多路器的时钟信号与寄存器的时钟信号同步。
按照本发明一实施例,交错存取单元的各多路器接收由对寄存器的时钟信号作二分频的频率的时钟信号构成的控制信号,多路器的二时钟信号的相位相反并与寄存器时钟信号同步。
根据本发明,每一操作单元的配备以一前寄存器,亦即预装载寄存器,就使得可能利用处理当前窗的一象素行所需的时间期间来预先装载处理当前窗下一行的第一操作工序所要求的基准窗下一向量的第一象素。从而就免除了这些象素预装载时间对一行的全部处理期间的影响。
按照本发明,设置第二高速缓冲存贮器的结构和利用一读交错单元来由此第二存贮器读取数据,就能取得上述无需增加读取存贮器所要求的周期数的效果。
上述及其它的本发明的目的、特长和优点由以下结合附图对本发明的详细说明将会清楚显现出来。
有关附图的简要说明图1示意地表示为一运动图像压缩电路的处理器中的操作单元提供输入信息的装置;图2说明图1的装置中的寄存器的输入值;图3说明与运动图像压缩电路有关的当前和基准窗的象素;图4示意表示按照本发明的为一运动图像压缩电路的一系列操作单元提供输入的装置的实施例;图5为表明图4的装置的寄存器的内容的表;和图6说明图4的装置的各部件控制信号的示例波形的定时图。
按照本发明的为“n+1”个操作单元OP(0),…OP(k),…OP(n)提供输入的装置,如图4中所示,包含有一第一高速缓冲存贮器1,其中例如作为1字节数据存放当前图像I(j)中的欲进行运动估算并构成当前窗的宏块的象素的值。存贮器1的输出被并行送到第一工作寄存器R1(0),…R1(k),…R1(n),这些寄存器各自的输出端分别连接到与之相关的操作单元OP(0),…OP(k),…OP(n)的第一输入端。
第二高速存贮器2包含前一图像I(j-1)的基准窗。此基准窗包括在前一图像中具有当前图像I(j)所讨论的宏块的象素的值,以及这一宏块在前一图像I(j-1)所有方向上的邻接象素的值。存贮器2的存贮器字包含二相连续的象素P(i,j-1)和P(i+1,j-1)的值。因此,一存贮器字是一16位字,8最低位对应(例如读)于象素P(i,j-1),而8最高位则对应于象素P(i+1,j-1)。存贮器2输出的8最低位被传送至二多路器4和5的第一输入端。存贮器2输出的8最高位被传送到缓冲寄存器3的输入端,此寄存器3的输出端则连接到二多路器4和5的第二输入端。缓冲寄存器3和多路器4及5组成对存贮器2进行读操作的交错存取单元6。
第一多路器4的输出连接到与操作单元相关的多路器M(0)的第一输入端,其第二输入端连接到预装载寄存器,即前寄存器AR(0)的输出端。前寄存器AR(0)接收交错存取单元6的第二多路器5的输出。多路器M(0)的输出端连接到第二工作寄存器R2(0)的输入端,其输出则被传送至操作单元OP(0)的第二输入端。
按照本发明,各操作单元OP(k)均连接有一多路器M(k)和一前寄存器AR(k)。这样,此电路的列“k”的基本组元即由一操作单元OP(k)、一多路器M(k)、二工作寄存器R1(k)和R2(k)、一前寄存器AR(k)、和一累加器ACC(k)组成。累加器ACC(0),…ACC(k),…ACC(n)的输出为该运动图像压缩电路其他部分将利用的提供操作结果。
在列“K”的基本组元中,操作单元OP(k)的三个输入分别由工作寄存器R1(k)及R2(k)和累加器ACC(k)的输出端提供。操作单元OP(k)的输出被送至累加器ACC(k)的输入端。从而每一基本操作均应用这一值P(i,j)、P(i-k,j-1)、ACC(i-1,k)形成的三值组进行。工作寄存器R1(k)的输入端接收由第一存贮器1取出的象素P(i,j)。工作寄存器R2(k)的输入端连接到多路器M(k)的输出端,其第一输入端被连接到与前一操作单元OP(k-1)相关连的工作寄存器R2(k-1)的输出端。多路器M(k)的第二输入端连接到前寄存器AR(k)的输出端。前寄存器AR(k)的输入端被接到与前一操作单元OP(k-1)相关连的前寄存器AR(k-1)的输出端。
所有这些工作寄存器R1(0),…R1(k),…R1(n)、前寄存器AR(0),…AR(k),…AR(n)、所有累加器ACC(0),ACC(k),…ACC(n)、以及缓冲寄存器3均由同一时钟信号CLK控制。多路器M(k)由指明当前窗一行的结束的同一时钟CLK1控制。多路器4和5分别由信号CLK4和CLK5控制。
这种装置的操作如图5中表明的那样。图5表示每一时钟周期CLK出现在第二工作寄存器R2(k)和前寄存器AR(k)的输入端的值,以及出现在缓冲寄存器3的输入端的值和在高速存贮器2中读出的存贮器字。同时还指明在所讨论时钟周期所执行操作工序的列“i”。
在图5中,为了简单起见,仅只讨论了8个操作工序中的4个操作。实际上16个操作工序是由8个操作单元执行的。为使说明较易理解,仅仅指出了那些对执行操作工序重要的寄存器的值。仅只表明列“i”的象素,该图中所出现的所有象素均系图像I(j-1)的象素。出现在第一工作寄存器R1(k)的输入上的值未作出,如前述,他们相当于出现在寄存器R2(0)的输入上的当前图像I(j)的象素值。
如图5中所示,象素P′(0)、P′(-1)、P′(-2)和P′(-3)表示在开始处理基准窗的下一向量前必须能得到的象素P′(o,j-1)、…P′(-k,j-1),…P′(-n,j—1),他们处理当前向量时被存放在前寄存器AR(k)中。对于当前向量的象素,高速存贮器2中的存贮器字每二个时钟周期读一次,一存贮器字存放有二个象素。4个象素P′(0)至P′(-3)也由当前向量的最后的读操作的交错读取每二时钟周期读一次。象素P′(0)~P′(-3)被存放在前寄存器AR(0)~AR(3)中。在当前向量处理的最后一时钟周期内,每一前寄存器AR(k)的内容通过多路器M(k)被装载在与其关连的工作寄存器R2(k)中。可以看到,为处理一基准窗向量,对执行“n+1”个操作的“m+1”个工序的“m+1”个周期,无需另外的时钟周期。
在如以上所述的一种运动图像压缩电路的情况下,这使得作运动估算所需的时间减少1/3。此后,为执行8个操作的16个工序只需16个时钟周期而不是24个就足够了。在适用于一视频电话系统的本发明一实施例中,一当前窗相当于一16×16象素的宏块,而一基准窗则相当于32×32象素的方块矩阵。
图6表示对应于时钟信号CLK的多路器的控制信号CLK1、CLK4、CLK5的状态示例。在此示例中,认为各多路器以高电平控制信号选取其第一输入,而以低电平选取其第二输入。图中作出了每一时钟周期出现在多路器4、5、M(0)、M(1)、M(2)、和M(3)的输出端的象素。
可以看到,信号CLK4和CLK5实际上即相当于对时钟信号CLK作二分频器时钟信号。信号CLK4和CLK5与信号CLK相同步,并且相互向位移180°。信号CLK1的频率为对时钟信号CLK作的“m+1”分频,并与之同步,其正脉冲宽度等于一时钟周期CLK。在周期“1”、“2”和“9”分别出现在多路器5的输出端的象素P(1)、P(3)和P′(1)为多路器5输出端的无意义值。这些值是由读出对多路器4有意义(有效)的值的各存贮器字{P(1),P(2)}、{P(3),P(4)}、{P′(1),P′(2)}时所得到的。同样,在周期“8”出现在多路器4的输出端的值P(8),系存贮器字{P(7),P(8)}的第二个值,它被读出但无用。事实是,多路器M(0)在这一周期选择其接收值P′(0)的第一输入。
当然本发明对于那些熟悉本技术领域的人员来说是很易于作各种修改和变形的。
特别是任何形式的操作单元都可被用来执行这些基本操作动能。例如,比较器、加法器、减法器、乘法器等等,或者这些操作单元的任意组合,均可予采用。
类似地,所述每一部件(缓冲寄存器、前寄存器、多路器)也均能以一个或数个具有同样功能的元件来代替。另外,作为欲完成的处理效果,这些欲予以操作处理的值可以相对应于随意的位数,甚至为一位的值。
而且,虽然在叙述本系统装置时仅只考虑了一组值在装载期间要加以交错处理,这一系统自然也能实现多个操作数作交错处理的处理过程。
根据这样对至少一个本发明说明性的实施例的介绍,本技术领域的熟练人士将能容易地对其作出修改、变形、和完善。这种修改、变形和完善均被认为是属于本发明的思想和范围之内的。因而,前述说明仅只是用作举例,并不是给予限定。本发明仅只受所列出的权利要求及其同等条件中所定义的规定其范围。
权利要求
1.为配置在一压缩结构中的、进行“n+1”个操作的“m+1”个工序处理的“n+1”个操作单元(OP(0),…OP(k),…OP(n))提供操作数的装置,其特征是包括与所述操作单(OP(k))相关连的“n+1”个预装载寄存器(AR(0),…AR(k),…AR(n)),用于在当前的“m+1”个工序的处理中存放“m+1”个操作工序的下一操作的第一批“n+1”个操作数;与每一操作单元(OP(k))相关连的装置(M(k)),用于在与操作单元(OP(k))相关连的预装载寄存器(AR(k))中所包含的值,和在先前操作工序中前一操作单元(OP(k-1))所应用的操作数的值之间选择一操作数;存放第一组操作数的第一存贮器(1);存放第二组操作数的第二存贮器(2),此第二存贮器(2)一存贮器字存放二个连续的操作数;和交错读第二存贮器(2)的单元(6),用于为每一操作选择第二存贮器(2)的存贮器字的二个操作数中的一个。
2.权利要求1所述的装置,其特征是所述装置被结合在一运动图像压缩电路中,所述电路参照前一图像中相应划区的周围条件来进行对当前图像中划区的运动估算。
3.权利要求2所述的装置,其特征是所述运动图像压缩电路包括有与每一操作单元(OP(k))相关连的一由存放当前图像(I(j))的一当前窗的第一存贮器(1)提供输入的第一工作寄存器(R1(k)),和一由与前一操作单元(OP(k-1))相关连的第二寄存器(R2(k-1))的输出端提供输入的第二工作寄存器(R2(k))与第一操作单元(OP(0))相关的第二寄存器(R2(0)由存放前一图像(I(j-1)的基准窗的第二存贮器(2)提供输入;所述装置包括有,每一操作单元(OP(k))—其输入端连接到前一操作单元(OP(k—1))的预装载寄存器(AR(k-1))的输出端的预装载寄存器(AR(k)),和一其输出端连接到与操作单元(OP(k))相关的第二工作寄存器(R2(k))的输入端的多路器(M(k)),所述多路器(M(k))的输入端被分别连接到预装载寄存器(AR(k)的输出端和前一操作单元(OP(k-1))的第二工作寄存器(R2(k—1))的输出端。
4.权利要求3所述的装置,其特征是所述第二存贮器(2)被安排得每一存贮器字含有基准窗的二个连续的像素(P(i,j-1),P(i+1,j-1)),并且包括有一交错读该第二存贮器(2)的单元(6),用于在每一时钟周期(CLK)交替地读取由当前向量得到的像素(P(i,j-1))和由下一向量得到的基准窗的像素(P′(i,j-1))。
5.权利要求4所述的装置,其特征是所述交错单元(6)包括二个多路器(4,5),每一个均在一第一输入端接收该第二存贮器(2)一存贮器字的第一像素(P(j,j-1)),每一多路器(4,5)的一第二输入端连接到一缓冲寄存器(3)的输出端,所述寄存器(3)接收由该第二存贮器(2)读出的存贮器字的第二值(P(i+j,j-1))。
6.权利要求5所述的装置,其特征是与所述第一操作单元(OP(0))相关连的所述多路器(M(0))的第一输入端和所述预装载寄存器(AR(0))的输入端,分别接收组成交错读取第二存贮器(2)的单元(6)的第一多路器(4)和第二多路器(5)的输出。
7.权利要求4至6中任一个所述的装置,其特征是与一操作单元(OP(k))相关的每一多路器(M(k))接收由一时钟信号构成的控制信号(CLK1),该时钟信号具有对寄存器的时钟信号(CLK)作“m+1”分频的频率,而时钟信号(CLK1)的脉冲宽等于时钟信号(CLK)的一个周期,并且与时钟信号(CLK)同步。
8.权利要求5至7中任一个所述的装置,其特征是所述交错单元(6)的每一多路器(4,5)接收由一时钟信号构成的控制信号(CLK4,CLK5),该时钟信号具有对寄存器的时钟信号(CLK)作二分频的频率,此二时钟信号(CLK4,CLK5)的相位相反,并与寄存器时钟信号(CLK)同步。
全文摘要
一为压缩结构中所配置的。每一个均要进行“n+1”个操作的“m+1”个工序处理的“n+1”个操作单元提供操作数的装置,包含有“N+1”个与这些操作单元相对应的“n+1”个预装载寄存器,用于在进行当前的“m+1”个工序的处理期间序放“m+1”个操作工序的下一操作的第一(批)“n+1”个操作数。
文档编号H04M1/725GK1123990SQ95104238
公开日1996年6月5日 申请日期1995年4月26日 优先权日1994年4月27日
发明者琼-克劳德·赫鲁森 申请人:Sgs-汤姆森微电子公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1