在运动图象专家组编/解码器中重排序图象帧的方法和装置的制作方法

文档序号:6411830阅读:194来源:国知局
专利名称:在运动图象专家组编/解码器中重排序图象帧的方法和装置的制作方法
技术领域
本发明涉及用于在运动图象专家组(MPEG)编/解码器中对于图象帧进行重新排序的方法和装置,尤其涉及对于连续的数字图象信号的帧进行重新排序,以便编码和解码图象信号。
通常,运动估算是在估算运动矢量的图象信号处理方法中用于对数据进行压缩的技术,在这种处理中,把在连续图象信号中的当前帧和先前帧的象素之间的运动作为运动矢量及在当前帧和先前帧的宏数据块之间的数据差来发送。
在运动估算中,输入图象的帧分成帧内模式图象(I-图象)、预测编码图象(P-图象)和双向预测编码图象(B-图象)。在编码处理中,P图象执行正向的运动补偿,而B图象执行正向和反向运动补偿。
在标准MPEG2中,图象帧被分成I图象、P图象和B图象,而图象组(GOP)是由一系列的图象帧组成的。I图象是没有运动估算而被编码在GOP中的帧(或场)。P图象是对于具有I图象或其它的P图象作为其基准只执行正向运动估算的帧,而B图象是对于具有I图象或其它的P图象作为其基准执行正向和反向运动估算的帧。


图1A所示,GOP是由在时间轴(t)上定位的连续帧I、B、B、P、B、B、P、B、B、P、B、B、I,…形成的。如图1B所示,用于I图象的P图象执行正向的运动估算,用于I图象的B图象进行正向运动估算的同时也进行反向运动估算。
被输入(当解码时是被显示)的帧的次序称之为"显示次序",而编码发送的次序被称之为"发送次序",这两个次序彼此不相同,因此当进行编码和进行解码的时候要对于这些帧进行重新排序。
为了重新排序图象帧,要求使用一个帧缓存器以存储B图象。该缓存器的容量不是由GOP的大小所决定,而是由I图象和P图象之间的距离(M)所决定。例如,当两个B图象被插入在I图象和P图象之间时,就需要用于两个帧的存储器来存储它们。由于在运动估算中首先直接发送以被处理的是I和P图象,且随后执行的是对于B图象的运动估算,所以,需要存储B图象。
对图象数据进行重新排序的相关的技术已在美国专利5247355号中公开。但是,在该已有技术中,由于对图象帧的次序进行重新排序的装置受到DRAM的速度的限制,所以由于通常使用的DRAM的低速度的原因,需要高容量的存储器来进行双重缓存。
考虑到上述的问题,本发明的一个目的在于提供一种重新排序图象帧的方法,通过利用数据片(slice)缓存器和高速DRAM,使之只需要一个低容量的存储器。
本发明的另一目的在于提供一种重新排序图象帧的装置,通过利用数据片缓存器和高速DRAM,使之只需要一个低容量的存储器。
为了实现上述的目的,本发明提供了一种用于在MPEG编/解码器中对图象帧进行重新排序的方法,其中的显示次序的输入图象帧被变换成发送次序,反之,发送次序的接收图象帧被变换成显示次序,用于通过将图象帧数据划分成I图象、P图象和B图象而进行编码和解码。该方法包括以下的步骤确定当前图象帧是否为B图象,而且若是确定为B帧的话,则旁路到一个外部帧缓存器;针对B图象,输入行扫描象素数据,并将行扫描数据以数据片单元存储在一个数据片缓存器中;从该数据片缓存器中读出存储的数据并将读出的数据以宏数据块(MB)为单元存储在一个内部帧缓存器中;确定所处理的数据片是否为最后一帧,并在不是的情况下重复先前的步骤;以及,在所处理的数据片是最后的一帧时重复上述的全部的步骤。
此外,为了实现上述的目的,本发明提供了一种在MPEG编/解码器中对于图象帧进行重新排序的装置,其中的显示次序的输入图象帧被变换成发送次序,而发送次序的接收图象帧被变换成显示次序,以便通过将图象帧数据划分成I图象、P图象和B图象而进行编码和解码。该装置包括第一数据片缓存器,用于以数据片单元存储输入图象帧的亮度(Y)数据,将该数据以宏数据块单元进行变换和输出;一个第二数据片缓存器,用于以数据片单元存储输入图象帧的色度(C)数据,以宏数据块单元对该数据进行变换和输出;第一帧缓存器,如果输入的图象被确定为B图象的话,用于存储来自第一数据片缓存器的多达两帧的亮度(Y)输出数据;第二帧缓存器,如果输入的图象为B图象的话,用于存储来自第一数据片缓存器的多达两帧的色度(C)输出数据;以及一个重新排序装置,用于产生一个地址(A
)和一个控制信号(CONTROL_S),用于向和从第一和第二数据片缓存器读出及写入行扫描数据,并产生一个地址(A
)和一个控制信号(CONTROL_D),用于将数据以宏数据块单元存储在第一和第二数据片缓存器中。
通过下面结合附图对本发明的较佳实施例的描述,本发明的上述的和其它的目的和优点将变得显见。
图1A和1B是根据本发明较佳实施例的连续图象帧的示意图;图2是用于本发明的传统的图象编码器的示意图;图3是根据本发明的较佳实施例的用于对图象帧进行重新排序的一个装置的框图;图4A-4D是显示示于图3中的根据本发明的较佳实施例的一个DRAM的布局的示意图;图5是根据本发明的较佳实施例的对图象帧进行重新排序的方法的流程图;图6A-6E是根据本发明的的较佳实施例的图3中的每一个部分的时序图。
现参考附图的实例对于本发明进行详细的描述。其中相同的符号表示相同的部件。
如图2所示,本发明的图象编码器包括一个格式转换器21,用于变换输入的图象信号;一个帧重新排序装置30,用于对于输入的图象信号的序列重新排序;一个运动估算和补偿装置28,用于估算和补偿重新排序的帧数据的运动;一个减法器22,用于直接地输出I图象和当前图象与P图象或B图象的运动补偿了的图象之间的差值;一个离散余弦变换器23;一个量化器24;一个可变长度编码器25;一个逆量化器26和一个逆离散余弦变换器27。除上述的各个部分之外,还包括用于整个编码处理的主控制器(没示出)。
由于通过MPEG2已公知,将不再详述示出的图象编码器。为了进行运动补偿,图象的I,B,B,P,B,B,P,…的次序由帧重新排序装置30变换成按照I,P,B,B,P,B,B的图象次序并被输出。在解码器中也要求有帧重新排序装置30,以便根据输入的次序从解码器输出图象。
如图3所示,由于对图象帧进行重新排序的装置包括第一数据片缓存器31,第二数据片缓存器32,第一帧缓存器33,第二帧缓存器34,和重新排序控制装置36。
该第一帧缓存器33是由两个DRAM33-1和33-2实现的,而第二帧缓存器是由一个DRAM34′实现的。DRAM 33-1,33-2和34′最好是EDO型的高速DRAM(1M×16)。DRAM由来自重新排序控制装置36的12位地址线(A0-A11)所存取。此外,该DRAM具有16位的数据宽度(DQ0-DQ15),并根据在控制信号线(CONTROL_D)上的指令进行读写;例如,控制信号线(CONTROL_D)包括写信号线(/W)和输出使能信号线(/OE)。因此,当有地址信号和写(/W)信号时,在数据总线中的输入数据被存储在适当的地址区中,而在出现输出使能信号(/OE)时,存储在适当地址中的数据经过数据总线被输出。
此外,用于处理来自格式转换器21的输入亮度信号(Y)的第一数据片缓存器31和第一帧缓存器33共同被连接到32位的数据总线,并且能够每一次输入和输出8位的4个象素。用于处理来自格式转换器21的色度信号(C)的第二数据片缓存器32和第二帧缓存器34共同被连接到16位的数据总线,并且能够每一次输入和输出8位的2个象素。
此外,第一数据片缓存器31和第二数据片缓存器32能够读写来自重新排序控制装置36的13位的地址线(A0-A12)和控制信号线(CONTROL_S)。控制信号线(CONTROL_S)至少包括一条写信号(/W)线和一条读信号(/RD)线。在出现一个地址和一个读出信号(/RD)时,在适当地址中的数据被输出。而在出现写信号(/W)时则将在数据总线中的数据存储在适当的地址区中。
在此,重新排序控制装置36从主控制器接收和发送控制信息。它还接收用于当前输入帧的信息,及产生地址和控制信号,以便存取数据片缓存器和帧缓存器。另外,第一数据片缓存器31以数据片单位存储来自格式转换器21的输出象素,并将这些象素输出,以便将行扫描的亮度信号(Y)数据变换成宏数据块单元。第二数据片缓存器32以数据片单位存储来自格式转换器21的输出象素,并将这些象素输出,以便将行扫描的色度信号(C=CrCb)数据变换成宏数据块单元。
因此,如图4A所示,第一数据片缓存器31是由用于存储120个宏数据块的8K×16比特的SRAM构成。在图4A中,MB0是放置在地址0000H和003FH之间,而MB119是放置在地址1DCOH和1DFFH之间。
此外,如图4C所示,第二数据片缓存器32是由用于存储120个宏数据块的8K×16比特的SRAM构成。在图4C中,B0(CrCb)放置在地址0000H和003FH之间,而B119(CrCb)放置在地址1DC0H和1DFFH之间。
此外,第一帧缓存器33需要有用于存储在B图象的2帧中的亮度信号(Y)数据的最小容量。第二帧缓存器34需要有用于存储在B图象的2帧中的色度信号(C)数据的最小容量。
根据来自格式转换器21的输出图象的格式,色度信号(C)通常是小于亮度信号(Y)(例如在4∶2∶0格式,亮度信号和色度信号分别是720×480和360×240)。因此,用于色度信号的数据总线的大小和帧缓存器的存储容量只是亮度信号的1/2。
因此,如图4B所示,第一帧缓存器33具有由2个DRAM33-1和33-2构成的存储布局,而如图4D所示,第二帧缓存器34具有仅由一个DRAM构成的存储布局。
就是说,在图4B中,"2MB"指示两个宏数据块。第一个DRAM33-1和第二个DRAM33-2具有存储1M×16比特的容量。用于存储Bn图象的第一帧缓存器的一个区域a包括了68个数据片/帧,4个宏数据块/行和2040行。用于存储Bn+1图象的第二帧缓存器的一个区域b包括了68个数据片/帧,4个宏数据块/行和2040行。此外,在每一个帧的存储区的边界中有一个8行的空区。
图4D的B0-3(CrCb)表示用于存储色度信号的4个数据块(数据块号是0-3)。第一个帧区域c用于存储在B0-3(CrCb)数据块和B116-119(CrCb)数据块之间的Bn图象,包括了68个数据片/帧,4个数据块/行和2040行。第二个帧区域c用于存储在B0-3(CrCb)数据块和B116-119(CrCb)数据块之间的Bn+1图象,包括了68个数据片/帧,4个数据块/行和2040行。此外,在每一个帧的存储区的边界中有一个8行的空区。
本发明的另一个实施例将参照图5的流程图和图6A至图6E的时序图进行描述。
首先格式转换器21将图象帧转换成I图象或P图象或B图象。如图5所示,被传送的帧的行扫描的象素数据被顺序地输入到重新排序装置(S1)。
如果当前帧不是B图象,而是I图象或B图象的当前帧,行扫描输入数据被旁路到外帧缓存器;但是如果当前帧是一个B图象,则行扫描的输入数据被以数据片单元存储在数据片缓存器中。此时,亮度数据被存储在第一片缓存器31中,而色度数据存储在第二数据片缓存器32中。
存储在数据片缓存器31和32中的数据被根据地址(A
)和来自重新排序控制装置36的控制信号(CONTROL_S)读出,以便以宏数据块单元将这些数据存储在内帧缓存器33和34中。存储在第一数据片缓存器31中的亮度数据以宏数据块单元存储在第一帧缓存器33中。此外,存储在第二数据片缓存器32中的色度数据以宏数据块单元存储在第二帧缓存器34中。
如果当前处理的数据片不是最后的数据片,则随后的数据片被顺序地处理。
在将最后的数据片存储到数据片缓存器31和32中结束的时候,数据再次被读出以便以宏数据块单元存储在帧存储器中。
随后,当当前Bn图象被完全存储时,随后的图象Bn+1将按照上述的过程被存储。
与上面的过程相似,在Bn图象和Bn+1图象被完全存储之后,输入P图象的帧数据。在将P图象的帧数据输出到运动估算补偿装置(没示出)之后,Bn图象和Bn+1图象被顺序地输出到运动估算补偿装置。
如图6A中所示,每一个帧周期是由一个帧同步信号所同步的。
如图6B所示,当读信号(/RD)是′行′时,该读信号从数据片缓存器31和32读出图象数据。当图象帧按照I,B,B,P,B,B,P,B,B…的顺序被输入时,该读信号(/RD)顺序地读出数据。
图6C示出一个写信号(/W),用于将来自数据片缓存器31和32的输出数据存储到DRAM33-1,33-2和34′。I图象和P图象在出现图6B中示出的读信号(/RD)时被输出到运动估算装置。借助该写信号(/W),B图象被存储到DRAM 33-1,33-2和34′中。
图6D示出了DRAM 33-1,33-2和34′的输出使能信号,在P1图象被输出之后,该信号将在第二个帧周期中存储的B1图象的数据。图6E示出了可在数据总线中得到的数据的时序。
如图6A-6E所示,在帧周期1中,来自数据片缓存器31和32的数据I1(/RD信号)不是被存储在DRAM 33-1,33-2和34′中而是直接输出到运动估算装置。在帧周期2中,来自数据片缓存器31和32的数据B1(/RD信号)由写信号(/W)存储在DRAM 33-1,33-2和34′中。
此外,在帧周期3中,来自数据片缓存器31和32的B2图象的数据由读信号(/RD)存储在DRAM 33-1,332和34′中。而在帧周期4中,来自数据片缓存器31和32的P图象的数据(/RD信号)不是被存储在EDRAM 33-1,33-2和34′中,而是直接输出到运动估算装置。此时,随着DRAM 33-1,33-2和34′以两帧存储B图象,它们被交替地在图4B和4D示出的帧存储区中读与写。
在帧周期5中,由于DRAM 33-1,33-2和34′被B图象的两帧所占据,则出现输出使能信号(/OE),且将B1图象的数据输出到运动估算装置。由读出信号(/RD)从缓存器31和32读出的B3图象的数据则由写入信号(/W)存储在DRAM 33-1,33-2和34′中。上面描述的操作由于是在同一个帧周期中重复,所以能够用高速存储器实现。
与输出到运动估算装置P1图象相比较,在帧周期2中存储在DRAM 33-1,33-2和34′中的B1图象数据被延迟多达两帧。因此,输入帧和输出帧是处于不同的顺序。在帧周期6中,响应输出使能信号(/OE),先前存储的B2图象的数据被输出到运动估算装置,而由/RD信号从数据片缓存器31和32读出的B4图象的数据被存储在DRAM中。
在帧周期7中,从数据片缓存器31和32中由读出信号(/RD)读出的P2图象数据不被存储在DRAM 33-1,33-2和34′中,而是直接地输出到运动估算装置。在帧周期8和9中,重复与帧周期5和6相同的操作,以便当输出时,B图象(B3,B4)被延迟多达两帧。在帧周期10中,由读出信号(/RD)从数据片缓存器31和32读出的I2的图象数据不被存储在DRAM 33-1,33-2和34′中,而是直接地输出到运动补偿装置。
如上所述,按照本发明的输入帧和输出帧之间的关系在下表1中示出;
表1在M=3的情况中帧的重新排序的定时
如上表1示出的,当帧被重新排序时,在数据经帧缓存器延迟之后,按照I1,B1,B2,P1,B3,B4,P2,B5,B6,…的次序输入的图象帧数据按照I1,P1,B1,B2,P2,B3,B4,I2…的次序输出。
在本发明的实施例中,当采用对帧缓存器存取时间是50ns的DRAM时,刷新周期是64ms。在图6A和6B的时间顺序图中,箭头所示的是刷新点。
在已有技术中,当M=3时,帧是利用4帧的DRAM被重新排序。但是,在本发明中,可以利用两帧的DRAM对帧进行重新排序。因此,本发明的优点在于,所要求的存储器的数量和延迟时间被降低。
虽然本发明已经结合附图以目前较可行和较佳的实施例进行的描述,但是应该懂得,本发明并不局限于所公开的实施例,它将覆盖包括在所附权利要求的精神范围内的各种的修正和等效的设计。
权利要求
1.一种用于在MPEG编/解码器中对图象帧进行重新排序的方法,其中的显示次序的输入图象帧被变换成发送次序,而发送次序的接收到的图象帧被变换成显示次序,用于通过将图象帧数据划分成I图象、P图象和B图象而进行编码和解码,所说的方法包括以下的步骤a)确定当前图象帧是否为B图象,且若确定为B帧,则旁路到一个外帧缓存器;b)如果确定为是B图象,则输入行扫描的象素数据,并将行扫描的数据以数据片单元存储在一个数据片缓存器中;c)从该数据片缓存器中读出存储的数据并将读出的数据以宏数据块(MB)单元存储在一个内存储器中;d)确定所处理的数据片是否为最后一帧,并在不是的情况下重复先前的步骤b)和c);以及e)在所处理的数据片是最后的一帧,时则对下一个图象重复上述的全部的步骤。
2.根据权利要求1的方法,其中行扫描象素数据的亮度数据被存储在第一数据片缓存器中而行扫描象素数据的色度数据被存储在第二数据片缓存器中。
3.根据权利要求2的方法,其中存储在第一数据片缓存器中的数据被以宏数据块单元存储在第一帧缓存器中,而存储在第二数据片缓存器中的数据被以宏数据块单元存储在第二帧缓存器中。
4.一种在MPEG编/解码器中对图象帧进行重新排序的装置,其中的显示次序的输入图象帧被变换成发送次序,而发送次序的接收的图象帧被变换成显示次序,用于通过将图象帧数据划分成I图象、P图象和B图象进行编码和解码,所说的装置包括a)第一数据片缓存器,用于以数据片单元存储输入图象帧的亮度(Y)数据,将该数据以宏数据块单元进行变换和输出;b)第二数据片缓存器,用于以数据片单元存储输入图象帧的色度(C)数据,以宏数据块为单元对该数据进行变换和输出;c)第一帧缓存器,如果输入的图象被确定为B图象,用于存储来自第一数据片缓存器的多达两帧的亮度(Y)输出数据;d)第二帧缓存器,如果输入的图象被确定为B图象,用于存储来自第一数据片缓存器的多达两帧的色度(C)输出数据;以及e)一个重新排序装置,用于产生一个地址(A
)和一个控制信号(CONTROL_S),用于向和从第一和第二数据片缓存器读出及写入行扫描的数据,并产生一个地址(A
)和一个控制信号(CONTROL_D),用于将数据以宏数据块单元存储在第一和第二数据片缓存器中。
5.根据权利要求4的装置,其中的第一帧缓存器和第二帧缓存器是由EDO型的DRAM实现的。
全文摘要
在MPEG编/解码器中对帧重排序的方法,其中显示次序的输入图象帧被变换成发送次序,发送次序被变换成显示次序,用于通过将图象帧数据分成I图象、P图象和B图象而进行编码和解码。包括确定当前输入帧是否B图象,若是,则旁路到一外帧缓存器;输入用于B图象的行扫描象素数据,并以片单元存储到一片缓存器;从该片缓存器读出数据并以宏块单元存储到一内存储器;确定处理的片是否最后一帧,不是则重复先前的步骤;否则重复上述全部步骤。
文档编号G06T9/00GK1164166SQ97103728
公开日1997年11月5日 申请日期1997年3月28日 优先权日1997年3月28日
发明者安庭模 申请人:大宇电子株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1