用于块结构图像处理系统的图形存储器存储系统和方法

文档序号:7573145阅读:233来源:国知局
专利名称:用于块结构图像处理系统的图形存储器存储系统和方法
技术领域
本发明涉及存储器存储系统,具体地说,涉及为保存块结构图像而配置的数据存储器。
处理用于显示的图像数据的系统以许多方式出现。这些系统包括用已有的数据构制图像的电视游戏,精确地再现医疗图像数据的医学诊断系统,以及将编码视频信息解码并把它加工成连续显示图像的视频压缩系统。每一种图像处理系统都有一个通用部件,即用于在显示图像之前存储表示图像信息的数据的存储器。许多图像处理系统不只存储一帧图像,输入图像、和输出图像。输入图像可以经过处理,例如添加与电视游戏机对应的可视性特征,以便用电子学的方法将医学图像的某些部分增强,或用于为随后发生的运动补偿编码图像解码。
许多图像处理系统采用块结构算法。这些算法允许将图像分解成多个小字块(即字块),然后分别处理这些字块。借助于并行处理图像字块中的象素可以大大节约时间。但是,由于是并行处理,完整的象素块只可用在较短暂的时间间隔内的存储和处理。
因此,用于块结构的图像处理装置的存储器系统应当能够迅速地提取和存储完整的数据块。这个过程在字块边界不固定的情况下可能变得错综复杂。例如,在处理运动补偿图像时,解码数据可能代表字块中的象素在某个时刻与其前一时刻之间的差。在这种情况下,前一时刻字块的象素保存在存储器中并被读取以完成最新可利用象素的解码处理。通常,为了获得最匹配的字块象素,前一时刻字块取自图像中不同的位置,该位置不同于被最新收到的字块占据的位置。这个基准块的边界可能相对存储在存储器中的其他字块移位。因此,基准块可能包含来自存储图像中几个字块中的部分象素。
其它类型的图像处理(如内插)也可能利用来自相邻字块的象素形成一个输出图像字块。在高分辨率视频信号的解码中通用的一种图像内插形式是要定义一个基准块,该基准块相对在图像存储器中存储的象素块位移半个象素。为了更新具有半个象素位置分辨率的基准块,必须存取大于一个象素块的一组象素。因此,图像存储器不应当局限于存取单一的象素块。
另一个影响图像存储器的结构和组织的图像处理问题是多分量图像数据。例如,压缩的视频图像可以包括分离的亮度分量和色度分量,因为色度信息的压缩程度可以比亮度信息压缩程度大,而且不会明显地降低图像质量。在图像解码和显示时,亮度分量和色度分量被一起处理并一起显示。但是,在图像处理期间,比较理想的则是将亮度分量与色度分量分开处理。这样就对图像存储器系统提出一个附加的限制,因为在某些处理步骤中,来自各个字块的亮度分量和色度分量可能需要一起存取,而在另一些处理步骤中又可能需要分开存取。
一个采用多种这类技术的图像处理系统的实例是MPEG-2解码器,该解码器以4∶2∶0的宏块格式为图像数据解码。

图1A是这种图像的图示说明,它说明怎样将图像分割成若干片的。在图1A中,用A至G标注的块表示一片被分割开的图像。每片图像由多个宏块组成。示范宏块示于图1B。这个宏块采用4∶2∶0的格式,所以它有四个8象素×8象素的亮度块和两个8象素×8象素的色度块,一个用于Cb色差信号,另一个用于Cr色差信号。
当接收图像并解码时,字块按照图1C所示顺序出现,也就是说,四个亮度块,一个Cb色度差块和一个Cr色度差块。为了显示,按相同的顺序从存储器中读取图像数据。在显示处理器中,为了更新彩色图像,每个Cb块和Cr块都被扩展成四个块并且分别与四个亮度块之一结合。
但是,在图像处理期间,可以在几个块中存取亮度数据和色度数据,这几个块的边界与存取的块边界不一致。这在图1D和图1E中得到说明。在图1D中,基准块110由四个其它的字块112、114、116、和118的一部分组成的。因此,当图像解码时,这个基准块的边界与存储器中存储的图像块的边界不相符。结果是,如果为了存取具有固定地址的图像块而安排存储器,那么,为了更新块110,最多可能需要存取四个图像块。
图1E说明另一种用在MPEG解码器中的图像处理技术。按照这项技术,块122是被更新的图像块,它本身的边界不仅与图像块的边界不一致,而且与象素的边界也不一致。如图1E所示,这个图像块在水平和垂直两个方向上都相对块110(如图1D所示)移动了半个象素。为了更新块122,必须存取的象素数目要大于一个块中包含的象素数目。这可以用图1E中的9×9的象素块120予以说明。如图1E所示,对于MPEG解码器,希望能够在比MPEG-2算法使用的8×8的象素块大的字块中存取图像数据。
本发明由多通道存储器系统实现,在该系统中,每条通道中的数据都可以交错地存取。代表各图像分量的数据由各个不同的通道写入存储器。在存储行从一行换到下一行时改变通道的分配。图像的不同分量存储在存储器的不同节中,以致代表图像单一部分的各个分量可以以一种模式一起存取,而在另一种模式中,代表单一分量的依次的图像数据可以利用多通道的所有通道存取。
图1A(先有技术)是一张图像结构图,它说明示范的MPEG解码图像的图像结构。
图1B(先有技术)是一张宏块结构图,它说明MPEG宏块结构。
图1C(先有技术)是一张数据流图,它说明由MPEG解码器提供的解码图像数据的川页序。
图1D是一张图像示意图,它表示在诸边界取齐的象素块当中定义的边界不取齐的象素块。
图1E是一张图像示意图,它表示在诸边界取齐的象素块中定义的内插的象素块。
图2A是一张图像处理装置的方框图,该装置包括依据本发明的多图像存储器。
图2B是一张方框图,它表示图2A中所示的多图像存储器。
图2C是一张方框图,它表示图2B中所示的多图像存储器中的一个存储单元。
图2D是一张方框图,它是图2A所示的多图像存储器的另一种实施方案的方框图。
图3A是MPEG解码器的方框图,该解码器包含本发明的一个实施方案。
图3B和图3C是方框图,它们详细说明图3A中所示存储器的控制器。
图4A是一张图像寻址示意图,它说明由图3B和图3C所示的存储器的控制器提供的寻址方案。
图4B是存储变换示意图,它表示图3A所示的多图像存储器中三帧图像的示范性布局。
图5A、5B、和5C是数据结构图,用于说明图3A所示的多图像存储器中的图像布局。
图6是一张数据结构图,它说明图4B所示的一个场图像是(thefield image)怎样存入图3A所示的多图像存储器。
图7A、7B、7C、和7D是数据结构图,用于说明图像数据与图3A所示多图像存储器的存储行之间的映射关系。
图7E和图7F是数据结构图,用于说明图像数据与如图2B所示的存储器之间的映射关系。
图8和图9是数据结构图,用于说明在图3A所示的多图像存储器中怎样存储图像信息。
图10A和图10B是数据结构图,用于说明在图3A所示的多图像存储器中怎样存取未对准的图像块。
图2A是一种图像处理系统的方框图,该系统包括依据本发明的多帧存储器212。图2A所示的系统包括图像处理器210,它接收来自多帧存储器212的数据并且向多帧存储器212提供数据。图像处理器210与地址发生器214相连接,该地址发生器提供读取和存储的地址,该地址用于向存储器212请求的数据地址。存储器212还与显示处理器216相耦合,该显示处理器通过地址发生器214从存储器212中提取数据并产生用于在显示装置218上显示的象素数据。显示处理器216引起地址发生器214确定多帧存储器212的地址,以致可以连续地向处理器216提供待显示的象素数据。
在图2A所示的本发明的示范实施方案中,多图像存储器212按照象素存储区域的行和列排列。这些行和列没有必要与被存储的图像的行和列一一对应。为了区分它们,存储器212中的行和列称之为“存储行”和“存储列”,而图像中的行和列被称之为“图像行”和“图像列”。
图2B是一张示范存储器的方框图,该存储器适合用作图2A所示的存储器212。在图2B中,存储器212被表示成包括三条通道,每条通道包括两个存储装置。这三条通道用A、B、C标注。在通道A中,两个存储装置是220A和222A。每对存储装置接收一个17位的地址值并且提供64位的数据值。存储器212接收来自地址发生器214(如图2A所示)的51位(17×3)的地址值,并向图象处理器210和显示处理器216传送192位(64×3)的数据值。
图2C表示存储装置之一220A的示范结构。如图2C所示,存储装置220A包括两个存储单元230和234。提供给存储装置220A和222A的17位地址值被分成15位的地址值和2位的芯片选择值,这个两位的选择值从两个存储装置220A和222A中的四个存储单元中选择一个存储单元。在本发明的示范实施方案中,两位的CS信号用于控制一个三态门电路的允许或禁止,该三态门电路位于存储装置220A、220B、220C、222A、222B、和222C中的存储单元的两个存储体之一的输出端。15位的地址值提供给所有的存储装置,以便从数个存储体之一中选择一个特殊的64位字。CS信号允许来自每个通道的64位字传送到存储器总线。图2B和2C所示的存储器结构用于视频存储器是有利的,因为它允许存储器四路交错存取。由于CS信号的操作,借助于CS信号的四种可能状态的简单循环,可以迅速地存取四个192位。如果存储器的操作按适当的川页序进行,那么存储和读取192字节数据的各个作业可以并行,因为它们是在存储器212内各个不同的存储体上进行存取操作。
图2D是一张方框图,它表示另一种可以用作存储器212的存储器。在图2D中只表现了一个通道(通道B)的细节。这个存储器被表示成包括单一端口(P)的存储器,通过端口P在存储器212、图像处理器210和显示处理器216之间传送数据和地址信息。
如图2D所示,每个通道(A,B,C)包括两个保存实际数据的存储装置(244和246)。每个存储装置又依次分成两个存储体,上部存储体(U)和下部存储体(L)。每个通道中的数据按存储行安排,每个存储行包括2,048字节的数据。借助于逻辑电路242,一次存取一个完整的存储行。由于存储器212包括三条通道,所以访问一个存储行返回6,144字节数据。
在图2D所示的存储器中,从一个装置的一个存储体中存取一个存储行的数据。因此,每条通道包含具有相同行号的四个存储行。通过用于访问数据行的存储体和存储装置,对这些存储行进行区分。在已经确定了数据行地址并访问它时,数据行被存放在存储器接口240内部的高速缓冲存储器之中。随后在相同的存储行中存取数据的企图都由高速缓冲存储器予以满足。响应于地址发生器214提供的地址值,逻辑电路242选择适当的装置和存储体作为特定的存储器访问,并且向接口电路250提供数据或从接口电路250接收数据。接口电路接收来自地址发生器214的地址值,将数据值输送给显示处理器216,以及接收来自图像处理器210的数据值和向图像处理器210传送数据值。
图2B和2C所示的存储器示范系统以每个系统时钟信号周期24字节(192位)的速率传送数据,这个系统时钟信号(62.5MHz)是图像处理器210和显示处理器214使用的。这个用于存取整个图像的数据的速率可以借助于交错存取存储器220和222的各存储体中的数据的方式得到优化,以致连续的八个字节的数据组分别保存在通道中四个存储体之中不同的存储体中。图2B和2C所示的存储器装置中,每条通道在每个系统时钟信号周期中传送“八个字节”(即一个“八字节”)的数据。如果传送亮度数据和色度数据两种数据,那么两个通道传送总数16个字节的亮度数据,剩余的通道传送八个字节的色度数据(即不是Cb色差信号就是Cr色差信号)。如果只有亮度数据或者只有色度数据要传送,那么所有的三条通道不是传送亮度数据就是传送色度数据。
图2D所示的存储器系统与图2B和2C所示的系统不同,前者包括一个高速缓冲存储器,它保存一个完整的存储器数据行。数据值只被写入一个存储行单元的上存储体和下存储体或者从那里读出。数据值以八个字节一组的形式向每个高速缓冲存储器传送或者从那里读取。反之,图2B和2C所示的存储器不包括缓冲器,而是以每个通道八个字节一组的形式从存储体220和222直接提供数据值。因为这些存储器在其它方面相同的,所以下面的叙述集中在图2D所示的存储器系统。它对图2B和2C所示的存储器系统的扩充部分叙述如下。
图2D所示的存储器示范系统在接口250和通道A、B、C之间以250MHz的速度经由存储器的双向端口P传送数据,在每条通道中传送一个字节的数据与每次发送250MHz的时钟信号同时发生。因此,在62.5MHz的时钟信号的每个周期中,通过每条通道传送八个字节(一个八字节)的数据,62.5MHz的时钟信号是图像处理器210和显示处理器214使用的。
图3A是一张方框图,它表示图2A的图像处理系统,在较大的细节上包括诸如图2D所示的存储器系统。图3A所示的图像处理系统是一个解码器,它为按照MPEG-2标准编码的图像信息解压缩。除存储器212之外,图3A所示的处理系统包括可变长度解码(VLD)处理器310、反量化和反离散余弦变换(IDCT)处理器312、半象素内插和运动预测处理器314、输出接口316、以及显示处理器322。存储器系统212通过输入存储器318和输出存储器320与图像处理器接口。此外,图3A所示的图像处理系统包括一个存储器控制器324(下面参照图3B和图3C叙述),该控制器通过存储器接口250操作,完成许多与图2所示的地址发生器214相同的功能。
在图3A所示系统中,编码的图像数据传送给可变长度解码处理器310,然后,解码的图像数据从存储器212经由输入存储器318传送给半象素内插和运动预测处理器314和显示处理器322。解码的图像数据由输出接口316经输出存储器320提供给存储器212。在本发明的示范实施方案中,输入存储器318接收来自通道接口250的192位数据,然后将这个数据以较短的位组(即24位的数据字)传送给处理器310、314和322之中的一个处理器。输出存储器320以同样的方式以较小的增量(即24位)从输出接口316采集数据并且将192位数据传送到通道接口250。如果图2B和图2C所示的存储器在图3A所示的系统中使用,那么输入存储器318和输出存储器320将分别从存储器接收数据和向存储器212提供192位的数据,并且图2A所示的地址发生器214将取代存储器控制器324。
图3A所示系统接收表示MPEG-2解码视频数据的串行位流,例如来自传送解码器(未示出),该解码器经由分开的路径(未示出)与接口处理器250连接。位流数据以每次192位的形式提供给可变长度解码处理器310。处理器310为可变长度的数据流局部解码,以产生固定长度的代码字,这些代码字表示离散余弦变换(DCT)系数和各种控制值,这些控制值决定系数将如何解码。一种类型的控制值是宏块运动矢量;这种类型的数据由处理器310经由MV总线提供给内插和运动预测处理器314。
处理器312将离散余弦变换系数转换成象素值并且将数据值的8×8的象素块传送给处理器314。如果这些数据块已经是利用运动补偿技术获得的编码数据,那么这些数据是残值,为了产生最后的象素值,这些残值将被加到基准块的数值上,这些基准块的数值来自前一帧解码图像。这个求和操作在半象素内插和运动预测处理器314中完成。处理器从存储器212读取基准块并且将它与由反量化和反离散余弦变换处理器312提供的象素残值结合。
为了获得基准块,处理器314可能需要在前后两帧不同的基准块之间内插。为了获得如图1E所示的基准块122那样的基准块(该基准块相对图1D所示的基准块110在水平和垂直两个方向上移动半个象素),处理器314可能需要在一帧图像的毗邻象素之间内插。为了完成这两种内插操作,处理器314读取四个数据块,被读取的数据块来自存储在存储器212中的前后两帧图像中的每个字段,并且每个被读取的字块在每个方向上都比常规的象素字段块大一个象素位置。
当每字块象素块经过半象素内插和运动预测处理器314处理时被传送给输出接口316,输出接口采集象素块并经输出存储器320存入存储器212。输出接口316缓冲象素值块,以使它们可以被传送到输出存储器320。如上所述,24位总线可以作为输出接口316和输出存储器320之间的数据通路,而在输出存储器320和接口电路250之间的数据通路是192位的总线。如下所述,色度数据块写入存储器212,其位置不同于对应的亮度数据块。因此,输出接口316除了为写入存储器的数据提供地址之外,它还指明被传送的数据块中哪个是亮度数据,哪个是色度数据。
在要显示存储器212中存储的解码象素数据时,它由显示处理器322通过输入存储器318和存储器接口ASICs250进行存取。在一次可以存取一块显示数据时,在任何一次存取期间通常只使用数据块中的一行象素。此外,为了适当地重建彩色象素值,一行象素的亮度数据和色度数据两者一起存取。
每个处理器(310、314、316、和322)产生各自的控制信号(VR、PR、OR和DR),这些控制信号施于存储器控制电路324,以便控制来自存储器212的数据的存储和读取。图3B和3C是适合存储器控制电路324使用的电路方框图。这个示范电路用于确定图像象素值块在存储器212中的存放地址。
在图3B中,施于存储器控制电路324的控制信号被分成三个部分水平部分HF、垂直部分VF、和场部分FD。11位的HF信号中的位10和位9变成存储行地址信号ROW的两个最小有效位(LSB)。HF信号的位8变成信号BANK,该信号指出编址数据将在哪个存储体(存储装置的上存储体和下存储体(即图2C所示的244和246))中寻找。信号HF的位(10、9、和8)还被加到模3除法器350,该除法器产生一个两位的输出值,该值表示三位数值HF[10∶8]的模3。这个数值被送到逻辑电路352的一个输入端口,该逻辑电路用于为通道地址赋值(下面将参照图3C和图7A至图7F予以说明)。信号HF的三个最小有效位HF[2∶0]由图33B所示的存储器控制器提供,作为信号FB。这个值规定在返回的八字节之中哪个字节对应于编址的象素。
位HF[7∶3]被施于除3电路354。这个电路产生两个数值,一个四位的数值(该数值代表数值HF[7∶3]除3得出的整数部分),和一个两位的数值(该数值表示HF[7∶3]的模3)。这个四位的值是存储列地址的最高有效位,而两位的模值被加到逻辑电路352的第二输入端口。逻辑电路352的输出信号是一个两位信号CH。这个信号被用于将适当的地址值加给各个通道A、B、C,下面将参照图3C叙述。
21位地址值的10位垂直部分VF[9∶0]由存储器控制器324分割成三个字段。这个10位的数值的五个最高有效位(MSB)变成存储行地址的五个最高有效位(ROW[6∶2])。10位数值的第四位是装置地址信号DEV。这个信号用于在存储器212中选择一个装置(如244或246)。10位垂直部分中的四个最低有效位[3∶0]变成存储列地址的四个最低有效位(COL[3∶0])。
地址值的四位字段部分FD[3∶0]借助字段转换表356转换成存储行基地址,以便产生字段在存储器212中的基地址,在这个基地址中出现编址数据。字段转换表一方面保留图像处理电路210和显示处理器216(两者均示于图2A)的各种处理器使用的字段号码之间的映射关系,另一方面保留存储器212中与字段对应的实际地址。转换表是利用五位信号(NF[4∶0])编程的,这个五位信号可以由控制器(未示出)产生,该控制器保留着存储变换,这将在下面参照图4B叙述。转换表356提供的输出信号是一个九位的数值,该九位数值指向一个存储行,该存储行是存储的图像字段的基地址。待存取数据的存储行地址是通过将这个9位的数值与7位的行地址值ROW[6∶0]用加法器358相加获得的。
正如下面参照图7A至图7F叙述的那样,亮度数据和色度数据存储在存储行中各个不同的节里,以致利用所有的三条通道即可以分别或共同存取亮度数据和色度数据。图3C是允许这种类型的存取的电路方框图。在图3C中,存储行和存储列的组合地址被送到开关电路360的两个输入端口。这个组合地址还被送到加法器362的一个输入端口。为了接收数字数据源364提供的偏移值,加法器的其它输入端口与之连接。例如,数字数据源364可以是硬连线寄存器(未示出),该寄存器由信号Y/C触发。如果信号Y/C指出只提供亮度数据或色度数据,那么用数值0作为偏移值。但是,如果该信号指出正在提供亮度和色度的组合数据,那么,举例说,将存储列的地址偏移值160加上去。如果存储器采用前面参照图2C叙述的存储器,这个偏移值是适当的。如果存储器采用前面参照图2A和图2B叙述的存储器,不同的偏移值可能是适当的。这个地址值可以被确定下来,下面将参照图7E至图7F予以叙述。
加法器362的输出信号传送给开关电路360的第三个输入端口。这个开关电路对信号CH作出响应,将加法器362提供的输出信号传送给三条通道之一,而将存储行和存储列的组合地址提供给其它两条通道。这种将各个地址值传送给三条存储器通道的方法下面将参照图7A至图7F予以叙述。
图4A是图像字段寻址图,它说明基准块是怎样利用10位的地址垂直部分VF[9∶0]和11位的地址水平部分HF[10∶0]确定位置的。如图4A所示,利用这两个数值,位于字段中任何位置的基准块的第一象素的地址都能够被确定下来。该象素的地址值(HF和VF)由图3B和图3C所示的电路进行转换,以便获得来自适当的存储行、存储列、以及多帧存储器212中八字节的象素。
图4B是存储器212的示意图,它说明图像字段以及编码数据缓冲区(VBV缓冲区)的布局。如图4B所示,在任何时刻存储器212都保持六个字段,A0、A1、B0、B1、C0、和C1。这些字段配对形成帧。这三帧代表前基准帧、后基准帧、和显示帧。在这些帧之中没有固定的分配。前基准帧可以变成显示帧,而原来的显示帧可变成后基准帧,并且刚刚存入与原后基准帧对应的存储分区的新帧却变成前基准帧。由处理器314和322提供的前基准帧、后基准帧、以及显示帧的指示值经过字段转换表356处理而将它们转换成图4B所示的六个字段之一。这个表由微处理器(未示出)用存储行的数值调用,该存储行的数值与图4B所示的多帧存储器中的六个字段的基地址对应。作为每个字段变化的函数,表356被更新,以使象素地址值的字段部分FD
被转换成适当的基地址。
图5A、5B、和5C是数据结构图,它们的用途是说明在采用图2D所示的存储器系统时图像数据的字段是怎样存入存储器212的。图5A说明主分布高水平图像的图像场。这个图像场包括540条线,每条线有1920个象素。如上所述,由存储器212提供的数据存储行的长度是固定的。因此,覆盖图像宽度的一片宏块使用八个存储行,每个存储行(如图5B所示)包括6144个数据字节,排列成一个矩阵,其水平方向排384个字节,垂直方向排16线节。如上所述,存储器212以八个字节为一个单元(八字节)提供数据。图5C是一张数据图,它表示三个八字节,其中,亮度信号(Y)一个八字节、两个色度差信号(Cb和Cr)每个信号一个八字节。
图6是存储器的映射图,它说明组成图4B所示的字段A0的存储行是怎样存入存储器212的。如图6所示,宏块的存储行是用它们的装置号(D0或D1)、它们在装置内的存储体(L或U)、以及它们在存储体内的存储行号(R0至R67)来表示。下一个图像字段将从存储行R68开始。
值得注意的是,存储行的装置分配交替向下到存储图像的列。在数据结构的第一列中连续存储行按D0、D1、D0…的顺序排列。在使用RAMBUS存储器系统(诸如图2D所示系统)时,不同装置中的存储行的垂直交错允许以更快的速度存取成对的垂直排列行,该速度快于对存在同一装置中的存储行进行的存取。RAMBUS系统的这个特点将在下面参照图10A和图10B更详细地叙述。如果使用诸如图2A和2B所示的存储器系统,那么以更细腻的颗粒交叉存取数据是有利的,例如,将交替的宏块行(每行包含24个字节或192位数据)存在三条通道中交替的存储体之中并且将相应的垂直排列的行存储在包含各个存储体的交替的装置之中。采用诸如图2A和2B所示的存储器系统的示范设计将在下面参照图7E和图7F叙述。
正如在MPEG-2规范中定义的那样,每个宏块包括六个块,四个亮度信息信号块(Y)和两个色度信息信号(Cb和Cr)块,每个字块都是由每条线8个象素的8条线组成,即8象素×8线。图7A、7B、和7C表示图像象素在图2D中所示的存储器中的映射,该存储器对于使用本发明是有利的。图7A表示当图像场存在存储器212中时象素数据的第一存储行(行1)。图7B和图7C,每张图表示半个存储行(行2和行3),它们包含着象素信息,该象素信息在水平方向跟随在行1之后,如图6所示。
图7A、7B、和7C所示的存储行都被分成两节。在垂直虚线700的左侧的节保存亮度数据,虚线700的右侧保存色度信息。每个字母A、B、C代表一个八字节数据,该数据是从存储器212的三个通道中相应的通道中获得的。因此,图7A所示存储行包括16条线,每条线包含48个八字节。在本发明的示范实施方案中,在每次存取操作期间,三个通道全部被使用。参照图3A,当一个宏块的数据正在从输出存储器320存入存储器212时,两个通道用于亮度信息(每个时钟脉冲(62.5MHz)存两个八位字节),一个通道用于色度信息(每个时钟脉冲(62.5MHz)存一个八位字节,Cb和Cr交替)。为半象素内插和运动预示处理器314使用而读取数据时,以及显示处理器322检索数据时,三条通道首先全部用于提取亮度信息,然后再用于提取色度信息。
为了半象素内插器使用,将数据写入存储器212和从存储器212中读数据,从而按照箭头701指示的方向存取连续的八字节。但是,为了显示而从存储器212中读取数据,从而按照箭头703指示的方向获取连续的八字节。
值得注意的是,亮度信息(用符号Y标注)和色度信息(用符号Cb和Cr标注)按照顺序Y-(A,B),CbCr-(C);Y-(C,A),CbCr-(B);Y-(B,C),CbCr-(A)同时写入存储器212的通道A、B、和C,如图8所示。如图7A所示,数据Y被写入虚线700的左侧而相应的Cb的数据被写入虚线700的右侧(即存储器的列地址偏移量为160)。如图8所示,Cb色度信息804与Cr色度信息806在垂直方向交叉。每个连续的水平宏块的亮度分量占据第一存储行的两个完整的存储列(如图7A所示),而色度信息占据一个完整的列。亮度分量从图7A的左端写入,色度分量从虚线700写入。这个模式一直持续到亮度信息在A和B通道上写入从地址160开始的存储列的最后一个存储单元,而对应的色度信息被写入图7A中最右侧一列的最后一个存储单元。下一个宏块被写入存储器212的第二存储行,该存储行如图7B所示。在这个第二存储行中的数据继续上述定序,以使利用通道(C,A)写入存储器212的第二存储行的亮度数据跟随利用通道(A,B)写入存储器的第一存储行的最后一个亮度数据的后面。采用这种方式写入数据是为了使亮度和色度数据在连续使用存储器通道A、B、C的情况下横跨存储行边界时是连续的。
图7D是存储器的映射图,它将存储列的地址与图7A所示的存储行的布局联系起来。如图7D所示,每个存储行包括256个存储列,每个存储列包含三个八字节数据,存储器212的每条通道A、B、C各一个。参照图3C,当两个八字节的亮度数据和一个八字节的色度数据以零地址存储到存储器中时,两个亮度八字节被写入列0,而由于加上了偏置值160,所以色度八字节被写入C通道的存储列160。参照图7A,存储列160恰好就在线700的右侧。图3C所示的开关电路360和图3B所示的逻辑电路352变更图7A、7B、和7C所示的列地址,以致总是将变更地址供给适当的通道,以便存取适当的色度八字节。
图7E和图7F表示两种存储器映射,这些映射在使用诸如图2B和2C所示的存储器时是适当的。在图7E所示的映射图中,存储行对应于MPEG-2的图像片(一组宏块),这组宏块在水平方向覆盖图像。利用这个映射,地址偏移量3840将被用于将色度块(线700的右侧)与亮度块分开。上述内容假设独立的象素是可寻址的,在每个通道地址储存八个象素;一片包括60个宏块(每条图像线1,920个象素)。
在图7E所示的映射方案中采用的通道排序遵照与图7A、7B、和7C所示的映射方案相同的约定。这种排序允许水平地和垂直地访问所有的三条通道,以获得依次相继的图像数据。为了获得依次相连的亮度数据或依次相继的色度数据,在仍然允许访问所有的三条通道的前提下,它还允许利用这三条通道存取亮度数据和相应的色度数据。
在图7F所示的映射方案中,存储行与一个完整的场相对应,并且用于区分色度数据和亮度数据的偏移量是1036800。本发明的这个实施方案中采用的通道排序只保证依次的象素串能够利用所有的三条通道写入存储器或者从存储器中读取出来。这种通道排序允许每次利用所有的三条通道同时存取数个水平方向依次相继的象素的亮度分量、数个水平方向依次相继的象素的色度分量、或者相应的依次相继的亮度象素分量和相应的色度象素分量。这种存储器映射方案不象图7A、7B、7C、和7E所示方案那样灵活,因为它不允许利用所有的三条通道存取垂直方向依次相继的象素。
图6表示一个完整的场,其中每个存储单元都是一个图7A所示的那种存储行(即采用图2D所示的那种存储器系统)。一个水平的宏块行(16条线的视频图像)使用8个图6所示的存储行。上述的数据排序方法提供了跨越图6所示存储行的数据的连续性。这种排序的重要性主要在于易于存取基准宏块。正象标准中规定的那样,这些基准宏块依据相应的运动矢量偏离当前的输入宏块,该运动矢量定义任意的垂直偏移量和水平偏移量,每个方向的偏移量的分辨率均为半个象素。这个规定的本质是基准宏块的位置不受图6或图7A至图7C的存储单元线的限制。这种偏置寻址在前面参照图1D和图1E已有叙述。
图7A、7B、和图7C所示的具体数据排列以及图2D所示的存储器系统只用一次存取请求就能储存刚刚解码的亮度-色度宏块,并且最多用两次存取请求就能存取适合运动补偿处理的按17×9的格式任意定位的亮度象素块和按9×5的格式任意定位的色度象素块(如下所述)。此外,这两次请求可以采用流水线方式。
为显示而读存储器212时,通常是从左到右、从上到下地读取字段。正如前面参照图7A至图7F所述,所有的三条存储器通道都被利用。在下面的讨论中,图10A表示在图6的左上角的存储行610,图10B表示位于存储行610右侧的存储行612。在一次存取中,图7A中的第一行从左到右按箭头703的方向读取。注意首先读所有的Y值,接下来读Cb和Cr值。下一次存取从第二存储行612作起,如图7B所示。在图7B之内,第一行从左到右读,这样一直继续到形成显示扫描光栅。注意对于图7A、7B、和7C所示的三个存储行中的每一行,在三条通道之中的数据排序是不同的。这种方式每三行重复一次。
半象素内插器总是为了获得17象素×9线的数据块访问亮度数据,并且总是在两个9象素×5线的数据块(一数据块是Cb值,一数据块是Cr值)中访问色度数据。访问17×9的亮度数据允许半象素内插器314(示于图3A)产生具有半个象素分辨率的16×8的象素块。这个16×8的象素块对应于亮度象素值的字段宏块。同样地,为了产生8×4的色度信号(Cb和Cr)的象素字段宏块,请求9×5的色度块。
图10说明为了获得17×9的亮度象素块怎样访问存储器。为了存取17个依次相继的亮度象素值,需要来自三条通道的数据。图9表示在任何存储行中的数据可能在三种可能的通道排序中取任一种,这三种可能的排序为(A,B,C)、(B,C,A)和(C,A,B)。作为一个实例,利用图7A所示的存储行,图9中用902表示的数据可以作为标号702中的两列和标号708中的一列被获得。期望的17×9的象素块完整地落在被提取出来的24×9的象素块之内,并且由处理器314在被读取出来的象素块中存取它。对应的两个9象素×5线的色度信息块完整地落在24象素×10线的数据块之内,该数据块可以从图7A所示的标号为704和706的数据列中读取。
在待存取的基准宏块分散在多个存储行中时,图7A、7B和7C所示的特定的寻址方案也有优点。例如,在作运动补偿处理时就可能出现这种情况,因为当它们以其各相应的字段存储时,前后基准块不受字块边界的制约。确实,基准块可以出现在该帧中的任何位置,分辨率达到一个象素位置的一半。图10A和10B说明两种不同的状态,其中一种状态是两个9象素×5线的色度数据组分布在四个存储行中,另一种状态是17象素×9线的亮度数据组分布在四个存储行中。
正象前面参照图2C所示的存储器系统所述的那样,因为三条通道中每条通道的地址都可以分别确定,又因为横跨存储行边界的数据的连续性,这两种状态中任何一种都可以通过至多访问两次存储器就可以处理。此外,由于在存储装置中地址垂直交错,这两次访问可以采用流水线方式,从而相对于不能作流水线处理的两次提取请求,减少了读取数据所需的时间。对于图10A所示的实例,块1010在两次存储器操作中被读取,第一次操作将通道B的地址设在(D0,R1)并将通道C的地址设在(D0,R0)。通道A也有存储器地址,该地址可能不是(D0,R0)就是(D0,R1)。因为就恢复9×5的色度象素组而论,来自通道A的数据是不需要的,所以它被丢弃。用于存取色度数据组的第二次存储器操作将(D1,R1)作为地址赋予通道B,将(D1,R0)作为地址赋予通道C。在这个例子中,在通道A上再次对(D1,R0)或(D1,R1)作为存取。这些请求恢复了字块1010中所示的数据。注意字块1010包含10条线,每条线包含两个八字节。因为Cb和Cr色度值在存储器212中交叉(如图8所示),10条线是需要的。
为了获得图10B中数据组1012包含的17×9的象素值块而采用两次存取,这两次存取操作与色度采样相同。第一次存取将通道A、B、和C的地址分别设在(D0,R0)、(D0,R0)、和(D0,R1)。第二次存取将这些地址分别设在(D1,R0)、(D1,R0)、和(D1,R1)。这些请求恢复块1012中所示的数据。
在本发明的示范实施方案中,响应当前正在处理的宏块的运动矢量,象素块1010和1012从由存储器212传送到半象素内插和运动预测处理器314。然后,处理器314(示于图3A)选择字块1012和1010中与17×9的亮度象素块和两个9×5的色度象素块对应的适当的部分。
因为用于色度数据和亮度数据的两次访问是要将存储器212内部的装置分开,即第一次访问每条通道上的装置0,第二次访问每条通道上的装置1,所以可以利用RAMBUS系统的这种预接触特征,以减少用于与两次独立的存储器请求相关的存取数据时间。这种预接触特征允许存取存储行之内的数据,该存储行分别处于不同的装置244和246(示于图2C)中,与使用同一装置的存储行内存取数据相比,其存取速度要高得多。
暂且不考虑预接触特征,访问存储行的一般方法是采用下述步骤首先借助于规定装置、装置中的存储体、以及存储体内的行作为地址的一部分,执行一个编址行的存储器访问请求。如果这个地址的装置、存储体、和行部分与刚才被访问的行一样,则收到确认信号(ACK)并且可以传送数据。但是,如果请求的行与刚才访问的行不同,那么就收到否定的信号(NAK),存储器在逻辑电路242(图2C所示)中开始内部的启动作业,从新行中读取数据。如果在启动作业完成之后,提出第二次请求,它用确认信号和请求数据作答。
在RAMBUS系统中,如果这些随机的请求分别对装置244和246不同地发出,它们可以作流水线处理。因此,符合需要的请求具有不同的行号的两行(如1002和1004)的方法是请求第一行,在收到否定信号后,立即请求第二行。这个请求也将收到NAK的回答。但是,因为这两个请求是对不同的装置发出的,所以两个装置244和246(示于图2C)的各自独立的逻辑电路242正在平行地处理请求。但是,当再次对第一行发出请求时,它用确定和请求的数据作答。在数据被传送之后,立即对第二行发出的第二请求也收到确认和请求的数据的回答。这个事件依次发生,因为装置246正在提供数据时,装置244的设置可以开始。对不同装置中的行发出的这种双重请求所用的总时间大约是650ns。
采用与图2B和2C所示的存储器系统相同的方式,可以使用图7E所示的存储器映射图。利用这张映射图,邻接的图像亮度数据水平和垂直地存储器到通道A、B、C中,而且邻接的色度数据也有序地存储在三条存储器通道中。但是,这些排列经过安排,以致亮度数据和它相应的色度数据可以在一次存储器操作中利用三条通道存取。
上面提出的存储器设计是有利的,因为它允许代表图像字段场的数据以几种不同的方式存取。它可以按与MPEG-2的宏块格式相容的格式储存,也可以按16×8的半宏块或17×9的半宏块用至多两次存储器请求进行存取。它还可以用某种有助于数据块到光栅的变换的格式存取。
虽然这项发明已经用示范实施方案作了介绍,但任何实践上述内容的企图都在附加的权利要求书的范围之内。
权利要求
1. 一种视频图像存储系统,该系统用于存储包括第一和第二图像分量信号的视频图像数据,这个系统的特征在于包括一个存储器,该存储器具有第一和第二分区,每个分区包括多个存储行,每个存储行具有多个节,并且每个分区有各自的存取该分区中的数据的通道;以及一个地址发生器,该地址发生器包括用于将第一和第二图像分量信号中的每个信号分配给第一和第二通道之一的装置,其中,对存储视频图像数据的依次存储行的通道分配是不同的;以及当第一和第二图像分量都被存入一个存储行时,将第一和第二图像分量分配到一个存储行的各个不同的节的装置。
2. 根据权利要求1所述的系统,其中,第一和第二图像分量信号的每个分量信号都包括多个数据块,这些数据块代表用视频图像数据表示的视频图像上毗邻的象素组;以及地址发生器进一步包括用于将所述第一和第二图像分量信号之一的所述数据块中依次相继的数据块在各自不同的所述存储分区中分配给对应的存储行的对应的节的装置。
3. 一种视频存储器系统,用于存储包括第一和第二图像分量信号的视频图像数据,该系统的特征在于包括一个存储器,该存储器具有第一、第二和第三分区,每个分区包括多个存储行,每个存储行有多个节,并且每个分区有各自的通道用于存取分区中的数据;以及一个地址发生器,包括将第一图像分量信号分配到第一、第二、和第三通道中的两个毗邻的通道,并将第二图像分量信号分配给第一、第二、和第三通道中的剩余一个通道的装置;以及在第一和第二图像分量都被存入一个存储行时,将第一和第二图像分量分别分配在一个存储行中各个不同的节中的装置。
4. 根据权利要求3所述的系统,其中,第一和第二图像分量信号的每个分量信号包括多个数据块,这些块代表用视频图像数据表示的视频图像上毗邻的象素组;并且地址发生器进一步包括将所述第一和第二图像分量信号之一的所述数据块中依次相继的数据块在各自不同的所述存储分区中分配给对应的存储行的对应的节的装置。
5. 根据权利要求4所述的视频存储器系统,其中所述存储器的每个分区包括第一和第二装置,每个装置拥有多个所述的存储行;以及在用视频图像数据表示的图像中代表垂直方向毗邻的象素组的数据块存储在所述诸存储行中的一个存储行的各个不同的装置中。
6. 根据权利要求5所述的视频存储器系统,其中所述数据块是宏块,每个宏块包括四组第一图像分量信号的象素、两组数值、和两组第二图像分量信号的象素,并且,在一个宏块中的每组数值分别利用第一、第二、和第三通道之中不同的通道存入一个存储行,四组第一图像分量信号的象素被存储在存储行中的第一依次相继的地址空间,两组第二图像分量的象素被存诸在第二依次相继的地址空间,在一个存储行中,第二地址空间相对第一依次相继的地址空间有一位移。
7. 根据权利要求3所述的视频存储器系统,其中存储器包括第一、第二、和第三存储器单元,它们对应于第一、第二、和第三分区,每个存储器单元包括第一和第二装置;地址发生器包括一个装置地址发生器,该装置地址发生器产生一个指出装置中象素的具体位置的地址值;以及一个装置选择电路,该电路在每一个存储器单元中选择一个接受地址值的装置。
8. 根据权利要求7所述的视频存储器系统,其中每个存储器单元中的每个装置都包括第一和第二存储体;以及地址发生器进一步包括一个存储体选择电路,该电路在每一个选定的装置中的存储体中选择一个存储体接受每个存储单元中的地址值。
9. 根据权利要求7所述的视频存储器系统,其中,装置地址发生器进一步包括一加法器,该加法器有选择地将一个偏移量加到装置地址上以产生一个偏移的装置地址,该装置地址响应一个控制信号加到存储器单元上。
10.根据权利要求9所述的视频存储器系统,其中,三个存储器单元按照循环顺序排列并且装置地址发生器将装置地址施加给循环中的前两个存储器单元,而且将装置偏移地址施加给循环中的第三个存储器单元,其中,在依次相继的存储行中,循环的起始位置超前两个位置。
11. 一种存储视频图像数据的方法,该方法包括将第一和第二图像分量信号存入具有第一和第二分区的存储器,其中,每个分区与各自的通道耦合,以便存取分区中的数据,该方法的特征在于包括下述步骤在第一和第二分区中的每个分区里定义多个存储器行,每个存储器行有多个节;以及生成存储器的地址值的步骤包括以下步骤将第一和第二图像分量信号中每个分量信号分配给第一和第二通道中的一个通道,其中,对存储视频图像数据的存储行之中的依次相继的存储行的通道分配是不同的;当第一和第二图像分量都被存入一个存储行时,将第一和第二图像分量分配给存储行的各个不同的节;以及当第一和第二图像分量之一被存入一个存储行时,将第一和第二图像分量分配到一个存储行的一节中。
全文摘要
一种用于保存视频图像数据的多通道存储器系统,该系统在每个通道中使用特殊形式的交错存取,以达到优化性能的目的。
文档编号H04N7/56GK1175750SQ9711686
公开日1998年3月11日 申请日期1997年9月1日 优先权日1996年8月30日
发明者井上秀士 申请人:松下电器产业株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1