用于美国高级电视制式委员会视频解码器的存储控制器的制作方法

文档序号:7582214阅读:264来源:国知局
专利名称:用于美国高级电视制式委员会视频解码器的存储控制器的制作方法
本申请是美国专利申请号08/706,189“图象存储器存储系统及用于面向块的图象处理系统的方法”(1996年8月30日申请)的部分继续申请,后者则是美国专利申请号08/330,579“具有高带宽存储器的MPEG视频解码器”(1994年10月28日申请)的部分继续申请。
本发明涉及视频存储器存储系统,并尤其是涉及用于设计来保存面向块的图象的数据存储器的存储器控制器。
处理图象数据以便显示的系统已具有许多形式。它们包括视频游戏,它由预存储数据构成图象;医疗诊断系统,它正确地重现医疗图象数据;及视频解压缩系统,它解码已编码视频信息并处理该信息以产生用于显示的持续图象。这些系统中的每一个具有一个共同元件存储器,其中在显示之前存储代表图象信息的数据。许多图象处理系统存储多于一个的图象、一个输入图象及一个输出图象。输入图象可被处理,例如,添加对应于视频游戏操作者的视觉特征,从电子处理上增强医疗图象的成份,或用于解码后来出现的移动补偿后的编码图象。
许多图象处理系统使用面向块的算法。这些算法允许一个图象被分解成小部分(即“块”),并单独处理各个块。通过并列地处理图象块中的象素可获得极大的时间节省。因为它们并列地被处理,无论如何可在较短时间间隔中获得用于存储及处理的整块的象素。
因此,在面向块的图象处理装置中使用的存储器系统能快速地获取并存储整个块的数据。当块边界不固定时,该处理将变得复杂。例如,当处理移动补偿图象时,解码数据可能表示在一个时刻一个块中的象素与在先时刻一个块中的象素之间的差异。在此情况下,在先的块的象素被保持在存储器中并被取出以便完成新获取象素的解码处理。通常,为了获得最佳象素块匹配,从图象中与新接收块所占据的不同位置取得在先的块。该参考块的边界可相对存储在存储器中的其它块产生位移。因此,参考块可包含来自存储图象中多个块的各部分的象素。
其他类型的图象处理,如插入处理也可使用来自相邻块的象素形成输出图象的单个块。通常用来解码高清晰度视频信号的一种图象插入形式是确定一个参考块,它从存储在图象存储器中的块位移了半个象素。取出大于一个块的一组象素来产生具有二分之一象素位置分辨率的参考块。因此,图象存储器则不能被限制于存取单个象素块。
另一影响图象存储器结构及组织的图象处理问题是多元图象数据。例如,压缩视频图象可包括分开的亮度及色度分量,因为色度信息比亮度信息能更大程度地压缩而不会使图象明显降级。当图象被解码及显示时,亮度及色度成分一起被处理并一起被显示。但是,在图象处理期间,期望亮度成分与色度成分分开处理。这对图象存储器系统带来约束,因为来自分开块的亮度及色度成分在某些处理步骤中需要一起存取,而在另外一些处理步骤中需要分开存取。
使用大量这些技术的图象处理系统的一个例子是MPEG-2解码器,它以4∶2∶0的宏块格式解码图象数据。

图1A是该图象的说明图,它表示如何将图象分成片段。在图1A中,标有A至G的每个块是一块图象的分段。每段由许多宏块组成。一个示范宏块表示在图1B中。该宏块为4∶2∶0格式,因此它为四个8象素乘8象素亮度块及二个8象素乘8象素色度块一个用于Cb彩色差信号另一个用于Cr彩色差信号。
当图象被接收及解码时,以图1C所示顺序出现各个块,即为4个亮度块,一个Cb彩色差块及一个Cr彩色差块。从存储器中取出图象数据并以相同顺序显示。在显示处理器中,Cb块及Cr的每一个块被扩展成4个块并与4个亮度块中的每一个结合以形成彩色图象。
但是,在图象处理期间亮度及色度数据可能不根据块边界以块存取。这表示在图1D及1E上。在图1D中,参考块110由四个其它块112,114,116及118的一部分组成。因此该参考块的边界不对应于图象块的边界,当图象解码时这些图象块已存储在存储器中。因此,如果存储器被设计成存取具有固定地址的图象块,为了产生块110需存取四个图象块。
图1E表示另一图象处理技术,它用于MPEG解码器。根据该技术再生出一个块122,它不仅不与图象块边界对齐,而且其本身也不与象素边界对齐。如图1E中所示,该块在水平及垂直方向均相对图1D中所示的块110位移了半个象素位置。为了产生块122,需要存取大于包含在单个块中的象素数。这用图1E中9象素乘9象素的块120表示。如图1E中所示,希望对于MPEG解码器能以大于由MPEG-2算法使用的8乘8象素的尺寸的块存取图象数据。
本发明是实施一种多图象存储器系统,其中图象数据被交错,以便对取出参考图象数据及取出待显示数据提供有效的存取。
根据本发明的一个方面,该多图象存储器包括多个存储器单元,及将来自一个隔行扫描图象帧的不同场的相应图象数据存储在各个不同的存储器单元中。
根据本发明的另一方面,图象数据包括分开的亮度及色度成分,存储器系统包括多个通道及代表各图象成分的数据被写在各个不同通道的存储器中。通道的分配对连续的宏块发生改变。
根据本发明的又一方面,存储器子系统包括多地址发生器,它们并行地操作以产生多地址流,多地址流相重叠,以便对参考图象数据执行隔行扫描存储器取操作。
根据本发明的另一方面,解码器包括第一及第二视频输出通道,及存储器子系统包括多地址发生器,它们并行地操作,以便对第一及第二视频输出通道分别提供不同图象数据。
根据本发明又一方面,存储器子系统包括输入缓冲器,它能动态地重构组,以处理具有不同数目象素的图象。
根据本发明的另一方面,解码器以多方式操作,及输入缓冲器在一个操作方式中具有一个显示缓冲器及在另一操作方式中具有两个显示缓冲器。
根据本发明的又一方面,存储器子系统包括接口,用于将编码位流数据存储到存储器中并检索它们,存储解码图象数据,取参考图象数据,取显示图象数据及在存储器的不同位置之间移动数据块,及该存储器子系统包括一个对各存储器存取操作确定其优先权的控制器。
图1A(现有技术)是一个示范的解码MPEG图象的示图;图1B(现有技术)是一个MPEG宏块的结构的示图;图1C(现有技术)是表示其中由MPEG解码器提供解码图象数据的顺序的数据流图;图1D是表示由对齐的象素块中确定的非对齐象素块的提取的图象示图;图1E是表示由对齐的象素块中确定的内插象素块提取的图象示图;图2A是一个根据本发明的图象处理装置的框图,该装置包括多图象存储器及存储器子系统;图2B是一个适用于图2A中所示图象处理装置的示范存储器子系统的框图2C是一个适用于图2A中所示图象处理装置的多图象存储器的框图;图3A是包括本发明一个实施例的MPEG解码器的框图;图3B是包括一个图象降频转换特性的替换MPEG解码器的框图;图4是表示用于图2B中所示输出存储器缓冲器的示范存储器分配方案的存储器缓冲器示图;图5A、5B及5C是表示用于图2B中所示输入存储器缓冲器的示范存储器分配方案的存储器缓冲器示图;图6A是用于描述从图2C的多图象存储器中取参考半宏块的处理的存储器示图;图6B是用于描述从图2C的多图象存储器中取参考半宏块的处理的存储器布局图;图6C是一个定时器图,它与图6A及6B一起用于描述从图2C的多图象存储器中取参考半宏块的处理;图7是表示用于图2C的存储器的示范多图象存储器分配方案的存储器布局图;图8是说明图2C的存储器中单个通道结构的存储器结构图;图9是表示用于图2C的存储器的替换多图象存储器分配方案的存储器布局图;图10是用于描述其中使解码的图象象素宏块被存储到图2C的存储器中的处理的存储器地址示图;图11是用于描述其中使整个图象帧被存储到图2C的存储器中的处理的存储器布局图;图12A及12B是用于描述将图11中的图象帧转换成图2C的存储器的存储器行的存储器布局图13A是用于描述图2C的存储器的通道中宏块数据分配的数据流图;图13B是表示分配在不同通道中的图13A的图象数据的存储器转换图;图14及15是用于描述由图3B的降频采样处理器执行的子采样处理的宏块转换图;图16及17是用于描述图2B中地址发生器的操作的地址转换图;图18A及18B是用于描述取分布在存储器行和存储器单元边界上的参考宏块的过程。
图19A及19B是用于描述从图2C的存储器中取参考宏块的不同阶段的存储器定序图;图20A至20F为存储器缓冲器图,它用于描述从多图象存储器中取得的图象数据的处理,以便对图19A及19B中的六个阶段的每一个提取所需的参考半宏块;图21A至21F为存储器缓冲器图,它用于描述从多图象存储器中取得的图象数据的处理,以便对图19A及19B中的六个阶段的每一个提取所需的参考半宏块;图22是用于取显示数据的图2B中存储器子系统各部分的功能框图;图23是用于描述图22中电路的操作的定时图;图24是用于描述存储器及存储器子系统在解码图象宏块中的操作的定时图;图25是用于描述应用单个帧缓冲器解码及显示相继视频图象的定时图。
图2A是一个根据本发明的图象处理系统的框图,它包括多帧存储器212及存储器子系统214。图2A所示的系统包括图象处理器218,它经过存储器子系统214从多帧存储器212接收数据并向其提供数据。宏块解码器216接收并解码编码的宏块。存储器子系统214也连接到显示处理器220,该处理器使用存储器子系统214从存储器212取数据并产生用于在显示装置(未示出)上显示的象素数据。显示处理器220使解码的图象数据及选择地使屏幕显示(USD)图象的图象数据被显示在显示装置上。
在图2A所示的本发明示范实施例中,多图象存储器212被设计成象素存储区的行和列。这些行和列不一定对应于被存储图象的行和列。为区别它们,存储器212的行和列被称为“存储器行”及“存储器行”,而图象的行和列被称为“图象行”和“图象列”。
图2C是一个表示可用作存储器212的三通道RDRAM存储器结构的示范框图。在图2C中仅表示出一个通道(通道B)的详情。所示存储器包括单接口P,通过它数据可在存储器212的一方及宏块解码器216、图象处理器218及显示处理器220的另一方之间并通过存储器子系统214传送。
如图2C所示,每个通道(A、B及C)包括一个或两个存储器装置244及246,它们保持实际数据。每个存储器装置接着又被分成两个单元;上单元(U)及下单元(L)。每个通道中的数据被布置在存储器行中,每个存储器行例如包括2,048字节的数据(在本发明一替换实施例中,每行包括1,024字节数据)。整个存储器行每次被逻辑电路242访问。因为存储器212包括三个通道,对单个存储器行的一次访问将使得6,144字节数据被存储。
在图2C的存储器系统中,单存储器行的数据从单个装置的单个单元中取出。因此,如果该通道包括两个装置,该通道中数据的存储器存取将用同一行号寻址四个存储器行。这些存储器行地址以哪个单元及哪个装置被用来访问数据行来区分。当一个数据行被寻址及访问,它被存储在存储器接口240内部的缓冲存储器(未示出)中。接着由缓冲存储器来满足同一存储器行中数据访问的意图。响应于由存储器子系统214提供的地址值的逻辑电路242选择适当装置及单元,以用于对具体存储器的访问及对接口电路250提供数据或从该接口电路接收数据。该接口电路从存储器子系统214接收地址值及指令包,向/从存储器子系统214提供数据值及接收数据值。以下参照图2B来描述存储器子系统的操作。
图2B及2C中所示的示范存储器系统以62.5MHz系统时钟信号的每周期24字节(192位)的速率传送数据,该时钟信号用于图象处理器218及显示处理器220。访问整个图象数据的速率可通过在组成存储器212的存储器装置单元中交错数据来优化,以使得8字节数据的连续组被保持在该通道中四个存储器单元各不相同的一个中。在图2B及2C所示的存储器装置中,每通道对于系统时钟信号的每周期提供“8字节”(即一个“octbyte”)的数据。如果色度数据及亮度数据均被传送,则由两通道提供总共16字节的亮度数据及其余通道提供8字节的色度数据(即,Cb或Cr彩色差信号)。如果仅提供亮度数据或仅提供色度数据,则使用所有三个通道提供亮度数据或色度数据。在某些图象存储格式中,可能需要来自少于三个通道的数据。在此情况下,访问所有三个通道,但忽略来自未使用通道的数据。
图2C中所示的示范存储器在接口250与通道A、B及C之间以250MHz速率经由双向存储器端口P传送数据,与250MHz时钟信号的每次过渡相一致地在每通道中传送一字节数据。通过每通道在62.5MHz系统时钟信号的每个周期中传送8字节(一个octbyte)数据。
图3A是表示图2A所示的图象处理器218及宏块解码器216的细节。图3A所示的处理系统是一个解码器,它对根据ATSC标准编码的图象信息解压缩。
图象处理器218包括一个分析器308,它接收编码的位流及提供解码系统与微处理器210之间的接口。图3A中所示的处理系统还包括一个可变长度解码(VLD)处理器310,一个逆量化及逆离散余弦变换(IDCT)处理器312,一个半象素插入及移动预测处理器314,输出接口316及显示处理器322。分析器308和VLD310构成了如图2A中所示的图象处理器218。逆量化及逆离散余弦变换(IDCT)处理器312、半象素插入及移动预测处理器314和输出接口316构成了如图2A中所示的宏块解码器216。
存储系统212通过输入存储器318及输出存储器320连接图象处理器218及宏块解码器216。图3A中所示的图象处理系统包括存储器子系统214(以下将参照图2B描述),后者包括存储器子系统控制器324、输入存储器318、输出存储器320及存储器接口250。
在图3A所示系统中,由分析器308接收位流数据,它将位流数据收集为输出存储器320中的192位字。该192位字然后被写入存储器212中的位流缓冲器。在本发明该示范实施例中,该位流缓冲器是作为具有约10百万位数据存储的环形队列来实施的。分析器308也识别位流中的MPEG起始码并对微处理机210提供对这些起始码在存储器212中的指针。在本发明的该示范实施例中,微处理机210使用起始码来处理位流中的序列、图象组及图象记录的首端信息。在本发明的一个替换实施例中,首端信息可被VLD处理器310处理。
可变长度编码位流数据从存储器212提供给VLD处理器310,后者从位流中分离边信息,如移动矢量MV及量化DCT系数数据。量化DCT系数数据被提供给逆量化及IDCT处理器312,而移动矢量被提供给半象素插入及移动预测处理器314。
处理器312将由VLD处理器310从位流中恢复的量化DCT系数转换成象素值并将数据值的8象素乘8象素块传送给处理器314。如果块已使用移动补偿技术被编码,这些数据值为剩余值,它们被加到来自在先解码帧的参考块的值中,以便产生最终象素值。该加法在半象素插入及移动预测处理器314中执行。处理器314从存储器212取参考块并将它与由逆量化及IDCT处理器312提供的剩余象素值相结合。
为获得参考块,处理器314需在两个不同帧、前帧及后帧的参考块之间进行内插。为了获得参考块,例如图1E中的参考块122,它是相对图1D中参考块110在水平及垂直方向上均位移半象素位置得到的,处理器314需在单个帧的相邻象素之间进行内插。为了执行这两个插入操作,处理器314从存储在存储器212中的前及后参考图象帧的每个场中各取一个半宏块,即四个半宏块数据。每个取得的半宏块在每方向上比传统的象素的场半宏块大一个象素位置。该提取以半宏块为单位,因为存储的图象可为帧或场。仅取上或下半宏块可解码场图象,而取上及下半宏块两者来解码帧图象。
解码的图象数据从输出接口316经输出存储器320提供给存储器212。在本发明的示范实施例中,输入存储器318从通道接口250接收192位数据,然后将这些数据以较小位组(如24位数据字)提供给处理器310、314及322中的一个。以相同方式,输出存储器320以较小增量(如24位)从输出接口316、分析器308或微处理机收集数据并将192位数据提供给通道接口250。
当每个象素块被半象素插入及移动预测处理器314处理后,它被传送到输出接口316,后者收集象素块,以将其经由输出存储器320存储到存储器212中。输出接口316缓存象素块值,以便将它们传送到输出存储器320。如上所述,在输出接口316与输出存储器320之间的数据通路可作成24位的母线,而在输出存储器320与接口电路250之间的数据通路可作成192位的母线。
当存储在存储器212中的解码象素数据要被显示时,它被显示处理器322通过输入存储器318及存储器接口ASICs250来获取。虽然数据每次可被获取一个块以便显示,通常在任一次取数据期间仅使用该块中的一行象素。此外,为了正确地重建彩色象素值,将一起取得用于该行象素的亮度数据及色度数据。
每个处理器310,314,316及322产生各自的控制信号VR,PR,OR及DR,它们被施加于存储器子系统控制电路324以控制由存储器212的存和取数据。图2B(描述如下)是适用作为存储器子系统214的电路框图。
图3B表示一个示范降频转换解码器,它可用于图2A、2B及2C所示的存储器系统。如图3B中所示,向下转换系统包括可变长度解码器(VLD)310,逆量化器360及逆离散余弦变换(IDCT)处理器364。该VLD310执行与图3A中所示VLD310相同的功能。逆量化器360及IDCT364执行与图3A所示的处理器312相同的功能。此外,该降频转换系统包括降频转换滤波器362及降频采样处理器368,它将降低解码图象的分辨率。虽然本发明以处理MP@ HL编码输入信号的示范实施例作为描述,但本发明可用任何数字编码图象位流实施。
降频转换系统也包括移动补偿处理器314’,它又包括移动矢量(MV)解译器352;包括升频采样处理器354及半象素发生器356的移动块发生器358;及存储器系统370。图3A的半象素插入及移动预测处理器314包括所有这些单元,但MV解译器352及升频采样处理器354除外。存储器系统370相应于图2A及2B中所示的组合存储器子系统214及外部DRAM212。
图3B中所示的示范解码系统还包括显示转换块372,它具有垂直可编程滤波器(VPF)374及水平可编程滤波器(HZPF)376。显示转换块372将降频采样图象转换成用于在一具有比原始图象低的分辨率的特定显示装置上显示的图象。
降频转换滤波器364对频域中的高分辨率(例如主轮廓、高水平)DCT系数执行水平低通滤波。降频采样处理器368通过对滤波的主轮廓、高水平图象按比例抽取来消除空间象素,以产生一组象素值,它能显示在具有比显示MP@ HL图象所需分辨率低的水平分辨率的显示装置上。示范存储器370存储相应于至少一个在先解码参考帧的空间象素值,该帧具有与降频采样图象相应的分辨率。为了解码帧间编码宏块,MV解译器352对每个接收的与分辨率降低相一致的图象的宏块的移动矢量定标,及高分辨率移动块发生器358接收由存储器370提供的低分辨率移动块,升频采样这些移动块并根据需要执行半象素插入并提供具有的象素位置相应于解码及滤波后的差分象素宏块的移动块。
应指出,在图3B的降频转换系统中,降频采样图象被存储,而非存储高清晰度图象,结果是显著地减少了存储器及存储参考图象和显示图象所需的存储器转移带宽。还应指出,存储器系统370每次将来自四行的图象数据提供给显示转换处理器372。图3B所示系统包括一个选择的第二显示转换处理器373。在本发明该示范实施例中,第二处理器373提供标准清晰度的隔行扫描输出信号,而处理器372提供高清晰度隔行扫描信号或高清晰度或标准清晰度的逐行扫描信号。
现在来描述本发明的用于帧内编码的降频转换系统的示范实施例。由VLD310对MP@ HL位流进行接收及解码。除了由HDTV系统使用的首端信息外,VLD310提供用于每个宏块的移动矢量信息及用于每个块及每个宏块的量化DCT系数。
因为由DCT系数代表的接收视频图象是高清晰度图象,本发明的示范实施例在按分数比地抽取高清晰度视频图象以前,对每个块的DCT系数进行低通滤波。逆量化器360对DCT滤波器362提供DCT系数,后者在将其提供给IDCT处理器364以前通过用预定滤波系数值对DCT系数加权来执行频域中的水平低通滤波。对于本发明的一个示范实施例,滤波器操作以逐块为基础执行。
IDCT处理器364通过执行滤波的DCT系数的逆离散余弦转换来提供空间象素采样值。降频采样处理器368通过根据预定分数比抽取率消除空间象素采样值来减小图象采样;因此,存储低分辨率图象与存储解码的高分辨率MP@ HL图象相比需要使用较小的帧存储器。
现在来描述用于预测帧(P帧)的本发明的降频转换系统示范实施例的操作。在该例中,当前接收图象DCT系数代表预测图象宏块剩余单元的DCT系数。在所述示范实施例中,用于预测帧的移动矢量的水平分量仅在水平上被定标,因为存储在存储器中的在先帧的低分辨率参考图象与高分辨率预测帧(MP@ HL)不具有相同数目的象素。
现在参照图3B,由VLD310提供的MP@ HL位流的移动矢量被供给到MV解译器352。每个移动矢量被MV解译器352定标,以参考存储在存储器370中的在先图象参考帧的适当预测块。在检索块中的有用规模(象素值数)小于用于编码当前图象的相应高分辨率块的块;因此,检索块被升频采样,以形成具有与由IDCT处理器364提供的剩余块相同数目象素的预测块。
预测块被响应来自MV解译器352的控制信号的升频采样处理器354升频采样,以产生相应于原始高分辨象素块的块,然后产生半角素值(如果被半象素发生器356中升频采样预测块的移动矢量指示时),以保证预测块的正确空间定位。在求和网络366中升频采样及定位的预测块被加到当前被滤波的块上,后者例如是由预测块降低分辨率的剩余单元。所有处理是基于半宏块作出的。在对于当前高分辨率宏块完成了移动补偿处理后,由降频采样处理器368水平地对再建宏块按分数比抽取。该处理不会降低图象的分辨率,但从低分辨率滤波图象中简单地除去了冗余的象素。
一旦得到了用于图象的降频采样宏块,显示转换处理器372将通过对VPF374及H2PF376中降频采样的图象的水平及垂直分量分别地滤波来调节用于在低分辨率电视显示单元上显示的图象。降频转换处理器的操作详情可从美国专利申请N0.08/815,804(申请日为1997年3月12日)中得到,它被结合于此作为对MPEG降频转换处理指导的参考。
存储器子系统214被详细表示在图2B中。存储器子系统214被一个运算码处理器260控制,后接收来自在输出存储器320及输入存储器318的指令,以控制数据对RDRAM212来回的转移。输出存储器320包括三个写入口,一个用于写解码宏块,一个用于写由分析器308(图3A中所示)提供的写位流数据,及一个用于写使用微处理机写指令存储的数据。微处理机写入口是用于产生屏幕显示(OSD)图象的装置,在本发明该实施例中,该图象使用如下所述的块移动处理器270来产生。
提供给存储器写入口的数据被控制器及数据接口电路222接收。电路接收来自各写入口的数据及控制信号。数据被传送到缓冲存储器224,及控制信号被转换成用于缓冲存储器224的地址及控制信号并用于对整体控制器260的微操作程序器266的请求。解码宏块输入口及位流输入口不包括地址值,因为数据是以已知顺序对这些入口提供的。因此,对于提供给宏块输入口的下个16位解码宏块的存储位置被已知作为提供给位流输入口的下个32位位流的地址。但是,微处理机写入口设有一个地址,在其中将写入由微处理机提供的数据。地址值被提供给RDRAM控制器250的RDRAM地址发生器256。
输出存储器320的示范缓冲存储器224保持48个192位字。存储器被分成三个“乒乓式”(ping-pong)往复工作式缓冲器区,每个各用于解码宏块、位流及微处理机写数据。乒乓式缓冲器允许数据被写入到一个缓冲器区,而它被从另一缓冲器区读出,用于存储到RDRAM存储器212中。图4是表示缓冲存储器224的示范布局的存储器示图。
如图4所示,存储器包括用于四个宏块缓冲器区的32个192位字。这些区是分别用于上及下半宏块的乒乓式缓冲器。象素数据值以半宏块被存储到存储器,以允许基于场的图象和基于帧的图象两者能被解码。在MPEG-2标准中,一个隔行扫描图象的宏块被存储,以使得相应于第一场的半宏块被存储在宏块的上半块中,而相应于第二场的半宏块在宏块的下半块中,位流缓冲器区域包括两个4字缓冲区域,如图4中的微处理机写缓冲器区域那样。
虽然图3B所示的降频采样处理器368被作成单独的装置,但也可考虑该处理器作在输出存储器320的控制器222中。图14及15分别表示用于三比一抽取及二比一抽取的示范降频采样方法。如图14中所示,每个8×8象素数据块首先被子采样,以形成8×3象素数据块或8×2象素数据块,然后子采样块被重排列以形成单个宏块。图15表示用于二比一抽取的类似操作。在该例中,每个8×8块被降至8×4的块,及将8×4块重排列,如图所示地形成单个宏块。在本发明的该示范实施例中,降频采样处理在控制器及数据接口电路222中执行,后者如图14及15所示地选择象素值并将其作为降频转换宏块存储到图4所示解码宏块区域的适当位置中。
除写入口外,该存储器子系统214包括多个读出口微处理器读出口;VLD读出口,通过它从存储器212中检索出存储的位流数据;OSD读出口,通过它将待叠放在显示视频图象上的OSD数据提供给显示处理器;八个显示口,它们对图3A所示的显示处理器322及图3B所示的显示转换处理器372和373提供显示数据;及四移动补偿参考(MCREF)口,通过它们将参考图象数据提供给图3A及3B所示的移动预测处理器314及314’。如上所述,移动预测处理器使用该数据来解码预测编码(P)的宏块或双向预测编码(B)的宏块。存储器子系统进行操作以使得所有读出口及所有写入口可在给定时间启动。
输入存储器318的示范输入存储器缓冲器234保持528字,每字具有192位。缓冲器234被如图5A、5B及5C所示地划分。存储器缓冲器234的布局根据解码器操作方式改变。图3B中所示的示范解码器可支持两个显示转换处理器372及373,处理器372产生1)高清晰度隔行扫描输出,或2)高清晰度或标准清晰度逐行扫描输出信号;而处理器373仅产生标准清晰度隔行扫描输出信号。表1表示在每方式中使用八个显示输出通道的各种方式及方面。
表1方式 显示器1最大分辨率显示器2最大分辨率全显示 1行1125P 截止降频转换14行525P 截止降频转换24行525P 4行525I降频转换34行525P 4行525I降频转换4截止 4行525I
图5A、5B及5C分别表示当解码器以降频转换方式(DC)1;DC方式2、3及4;及全显示(FS)方式操作时的缓冲器布局。在所有方式中,VLD缓冲器,微处理机读缓冲器及参考图象缓冲器REF1至REF4是相同规模的。对于所有方式的显示器1的缓冲器使用相同量的存储器,但对于FS方式,缓冲器中的存储器分配不同。缓冲器之间的主要区别在于对于DC方式2及3的显示器2的缓冲器的设置及屏幕显示缓冲器的规模。
图5C表示当解码器以全显示方式操作时缓冲器的布局。在该方式中,对于VLD数据流存储88字,每个字包含192位;4个字用于微处理机读;112字被存储用于四参考宏块读出口。该112字分至4个缓冲器,每个包含28字。该28字被分至两个用于亮度信号的9字缓冲器及两个5字缓冲器,一个用于Cb信号(U)及另一个用于Cr信号(V)。这两个亮度缓冲器形成乒乓式缓冲器,以使得当由一个缓冲器将9字的亮度数据提供给处理器314或314’时,输入存储器控制器232(如图2中所示)将9字数据从存储器250转移到另一缓冲器。
在全显示方式中,输入存储器缓冲器234也包括用于显示器1端口的192字。该192字被分至3组以形成“乒一乓一乒”式(ping-pang-pong)缓冲器。存储器的显示功能是最重要的,因为在显示中的误差是最可看见的。因此,该功能用三重缓冲器这样来提供,即当一个缓冲器清空时,第二缓冲器应存满并等待被清空,这时第三缓冲器正处于加载。三重缓冲器结构将保证即使在显示器读操作被延时情况下,数据仍能获得以用于显示。
三重缓冲器的另一目的是支持空间显示方式,如可变收缩、可变扩展及切边,这时数据的显示是,当一部分图象以大于最快速率的速率显示时,数据能由存储器提供。在初始填充这三个缓冲器时,尽管缓冲器清空快于其填入,这些空间显示方式也能被支持。
输入存储器缓冲器234的最后部分是三个24字段,它们保持屏幕显示数据。这三个段也形成乒一乓一乒式缓冲器,它与显示器缓冲器一致地传送数据。
在降频转换方式2及3中,显示器端口被启动及输入存储器318提供四行给每个端口。因为显示器1提供逐行数据及显示器2提供隔行数据,用于显示器1的缓冲器大于用于显示器2的缓冲器。每个显示器1的缓冲器包括32个亮度字及32个色度(cb及Cr)数据字。另一方面,每个显示器2的缓冲器包括16个亮度字及16个色度字。OSD缓冲器在此方式中包括三个6字缓冲器。
在降频转换方式4中,显示器1的端口被截止,及显示器2的端口被三个24字缓冲器提供数据。每个24字缓冲器包括12个亮度字及12个色度字。
参照图2B,输出存储器320形成存储器220与微处理器210,VLD处理器301与半象素插入和移动预测处理器314之间的包接口。该存储器以小于192位的字接收数据并串联这些接收的数据以产生192位包,以使其能以单操作存储到存储器212中。例如,微处理机写入口接收32位数据字并使6组这些字组合成192位的微处理器写缓冲器中的包,如图4中所示。当在准备一个及四个192位包之间,控制器222对微操作程序器266交送请求写数据,并提供地址给程序器。与此同时,控制器222转换乒一乓式缓冲器,以使得下个未写入存储器的数据项被存到缓冲器中。控制器222接收并安排请求。该请求可以不立即执行因为存储器可能正准备执行高优先权的操作,例如显示器读操作或存储器更新操作。但是操作被排队,并当下个适当期间来执行它。
微处理机210可通过首先读192位字将单个32位值存入存储器212中,该192位字包括将使用输入存储器控制器232改写的32位字,且它以新32位值替代由输入存储器控制器232提供的相应32位值。然后使用输出控制器222将5个现有32位值及一个新32位值写回到存储器212中。
块移动处理器270使用类似技术将数据块从一个存储器位置复制到另一存储器位置。该处理器与控制器222及232相连接(未在图2B中示出其连接),以便使用微处理机读出口请求块数据及使用微处理机写入口来存储块数据。因此块移动操作分享由微处理机使用的存储器存取端口。但是,块移动处理器作为微处理机210的从属来操作,微处理机当其需要将数据存入存储器212时将禁止块移动操作。在该情况下,微处理机发出暂停信号,使块移动处理器暂停其操作。在本发明的该实施例中,微处理机使块移动处理器暂停,直到由控制器222或232及整体控制器260安排所需的微处理存取为止。
位流写操作类似于微处理机写操作。32位字被汇集成位流写区域中一个乒乓式缓冲器内的四个192位包,并当该乒乓缓冲器存满时,控制器222安排写操作并转换乒乓式缓冲器区。
宏块写操作不象微处理机写操作及位流写操作直截了当。用于解码宏块的写操作的每个缓冲区域保持一个宏块,这就是说6个块的图象数据、4个亮度块及两个色度块。每个缓冲器区域被分成两个“八包”部分,一个上半宏块部分及一个下半宏块部分。解码宏块的写操作将亮度信号Y、两个色度信号Cb及Cr写入到存储器220中,其方式是对于半宏块读操作及显示器读操作两者允许数据的快速取得。此外,如上所述,降频采样处理器368(如图3B中所示)的降频采样操作可由输出存储器控制器222执行,如图2B中所示。用于存储到存储器212中的数据格式在以下参考图13A及13B描述。
存储器读操作由输入存储器控制器232安排并和存储器写操作争夺访问存储器212。存储器控制器232力图保持图5A至5C中所示的缓冲器存满以响应来自微处理机210、VLD处理器310、半象素插入及移动预测处理器314、显示器处理器322及OSD处理器(未示出)的读请求信号。VLD处理器310序贯地处理位流。因此,当缓冲器区域被VLD读请求清空时,存储器控制器能继续填满缓冲器区域,以使得位流数据总能被获得。类似地,提供给八个显示器端口的显示器数据定序对于控制器是已知的,并能提供到适当的缓冲器区,用于显示处理器的定时访问。OSD数据不总是被显示,因此,由OSD处理器单独地请求。由于OSD显示器的定时没有视频数据显示那样严格,但是,OSD存储器读请求能在较高优先权的存储器操作之间排队及执行。对于微处理机读操作也给予小于VLD读操作及视频显示读操作的优先权。这些请求也当在较高优选权存储器操作之间可取得存储周期时被排队及被执行。
在半象素插入及移动预测处理器需要数据以前安排恢复移动补偿半宏块的读操作,因为在与编码DCT系数提供给逆量化及IDCT处理器312的同时,移动矢量提供给处理器314。因此,当IDCT处理器312解码DCT系数时,移动预测处理器314或314’可启动从存储器212取适当参考半宏块的存储器请求。如以上参考图6A所描述的,可使用四个存储器读操作来从存储器212取单个参考半宏块。
每个图象是由多个宏块组成的,它们被序贯解码直到整个图象被完全解码为止。因为解码操作从一个宏块到下一个宏块大量重复,因此使用用于解码宏块的最小时间间隔作为所有存储器操作的基本时间是便利的。在本发明的该示范实施例中,该时间为62.5MHz系统时钟信号的241个周期。在宏块时间开始时启动不同的存储器操作。图象数据显示、参考宏块提取及位流数据的读和写具有最高优先权并由整体控制器260安排到固定宏块时间间隔上。另外的存储器访问请求被整体控制器260排队,直到存储器不执行一个高优先权操作为止。例如,当水平及垂直消隐期间,没有图象数据被显示。因此,在该时间间隔中可发生微处理机操作及OSD操作。
以外,对于低分辨率图像格式,某些被分配的宏块周期可不包括任何解码操作。事实上,重要的是控制用于这些低分辨率格式的解码操作,以保证VBV缓冲器不至下溢。用于控制解码操作的一个方法是在解码调节器262中使用线性计数器(未示出),它产生可与被解码的当前宏块相比较的值。如果解码宏块数超前该线性计数器太多,解码调节器262发出停止信号以暂停解码。
图6A表示一个示范的半宏块读操作,其中因为这些半宏块在存储器行上被分开,需使用四个存储器读操作来获得所需数据。在图6A中,垂线612为块边界,及水平线610为存储器行边界。如图6A所示,在四次读操作中读出半宏块数据。读操作取虚线框614及618中的数据,尽管仅需要框616及620中的数据。第一存储器读操作从存储器212的M行的两相连宏块(宏块W及宏块X)的三个块(Ya、Yb、Yc)中取出七个192位亮度数据字。第二存储器读操作从存储器212的N行的两个相连宏块中的三个块中取出两个亮度数据字。第三读操作从存储器行M中的两个宏块取出八个192位色度数据字,及最后读操作从存储器行N中取出两个色度数据字。一旦数据被取得,就将它传送到半象素插入及移动预测处理器314,后者抽取出用于再生所需半宏块移动块的块610及620。
图6B表示用于存储器212中图像数据的一个示范数据存储格式。如图6B所示,单个宏块存储在两个存储器行(也称为宏块行)上。包括上亮度块Ya及Yb及两个色度块的上半部的上半宏块存储在存储器行M的单元A中,而下半宏块存储在存储器行N的单元B中。此外,在存储器中存储块的次序是在三个实际存储通道A、B及C(相应于图2C中所示的存储装置A、B及C)从宏块到宏块地排列的。该排列允许数据从水平相邻宏块中被访问,因为水平相邻宏块分量中的相应数据,例如宏块U及V的Ya部分被存储在各自不同的实际存储器通道A及C中。因此,跨两个水平相邻宏块分量的数据能通过分开地对实际存储通道寻址以单个存储器访问请求来访问。
本发明的该示范实施例使用并行RDRAM,它允许多存储器请求被排队并按次序处理。图6C表示一示范存储器定序操作,它执行如图6A所示的存储器存取。图6C所示的存储器定序第一步骤,即步骤620是请求从图6A所示的存储器操作1中读第一个192位字。该字包括宏块W的块Ya及Yb的第二行及宏块X的块Ya的第二行。如图6B中所示,这些块行被分别存储在实际存储器B、C及A中,因此,可以单存储器请求来访问。该存储器请求导致存储器212中的超高速缓存,即宏块W的块Ya及Yb及宏块X的块Ya中的所有数据的超高速缓存。下一步骤、即步骤622从存储器212的行N请求宏块W的块Ya和Yb的第一行和宏块X的块Ya的第一行。如图6B中所示,这些字分别在实际存储器通道B、C及A中,但与宏块W的相应块在不同的单元中,因此能被完全加载到存储器212的超高速缓冲存储器中,因为对于单元和通道的每个组合具有分开的超高速缓存器。
在定序操作中的第三步骤,即步骤636中请求由存储器请求620检索的宏块的字2至7。如上所述,请求620将上半宏块W的块Ya及Yb中的所有字节及上半宏块X的块Ya中的所有字节放置到存储器212的超高速缓存器中。在步骤636上进入母线启动线的串行地址对包括该数据的超高速缓存器中的192位字寻址。在步骤624上,由图6A中存储器操作1代表的Y数据的7个字可被得到并传送到例如图5a中所示的REF1存储器缓冲器区域。在发生数据传送624时,可在母线启动线上作出对于图6A中所示的存储器访问2的第二行的请求638。
在步骤624完成后,存储在存储器的上单元的超高速缓存器中的数据可被删除。在步骤626上,对用于图6A中所示的存储器访问3的第一行块作出请求。该存储器访问从宏块M的上存储器单元中取出8个字中的第一个字。该取得的数据是分别存储在实际RDRAM通道A及C中的用于宏块W及X的色度数据。虽然实际RDRAM通道B也被存储器请求访问,但忽视检索的数据。在存储器定序操作的步骤628上,在步骤622及638上请求的两个字被返回。其次,在步骤640上,通过进入母线启动线的串行地址请求图6A中所示的用于存储器访问3的另外7个色度数据字。在步骤630上,发出对图6A中所示的存储器访问4中两个字的第一字的存储器请求。在步骤632上,从存储器212返回在步骤626及640上请求的8个字。在步骤642上,图6A中所示存储器访问4的第二字被请求,及在步骤634上从存储器212返回用于在步骤630及642上请求的存储器访问4的两个字。
如图6A、6B及6C所示,本发明在实际存储装置及实际存储装置的存储单元内排列宏块分量,以便使穿过宏块边界的参考半宏块能被快速检索到。以上所述这四个存储器存取操作发生在62.5MHz时钟信号的27个周期中。如图6C所示,直到发出第一请求后5个时钟周期数据才可得到。因此,如果给定存储器访问请求序列包括用于5个或更多字的访问请求及小于5个字的访问请求,最好首先安排较大的请求,以使得完成较小请求寻址功能所需的时间能与由较大请求取出数据相重叠。
也希望,例如当需要如图6B所示经过宏块Z及AA分开的数据块时,以不同的顺序发出存储器操作。用于存储宏块的单元分配在这些宏块之间改变。理想的是,例如首先为了宏块AA取色度数据,其次取用于宏块Z的色度数据,然后取用于宏块Z的亮度数据及最后取用于宏块AA的亮度数据。这将根据相继存储器读请求维持单元A及B之间的交替。这种交替是需要的,以致交替的存储器访问请求可重叠。
在本发明的该示范实施例中,图6A、6B及6C所示的所有四个存储器访问请求是由输入存储器控制器232提供给微操作程序器266(两者示在图2B中)的单操作码的结果。微操作程序器定存储器操作的顺序。用于操作的地址信息一部分来自微操作控制器,及一部分来自于移动矢量,它们从VLD处理器310经过半象素插入及移动预测处理器314提供给地址发生器256。
RDRAM地址发生器产生用于起始包请求及用于后继数据串行地址请求的地址,这些数据是由起始包请求存入超高速缓存器中的。但是,如上所述,既用于读又用于写的多存储器请求可在任何给定时间上排队并根据预定优先权方案来执行。地址发生器256将用于这些操作的地址排队,及微操作控制器266选择请求及使相应微操作指令排队。较高优先权的存储器操作具有发生操作的固定时间间隔。这些固定时间间隔是基于最坏可能情况的,因此,在该程序中常具有分配的操作不重要的时间间隔。如果,例如在若干帧上图象有相当小的变化,用于这些帧的位流可大大地减小。因此,某些分配给VLD读操作的时间间隔对于微处理机写操作是可得到的。
控制器266安排较低优先权的存储器操作仅发生在分配了较高优先权的存储器操作不连续进行时。控制器266及地址发生器256各包括保持排队请求的存储区域。例如,当一个请求到达作写操作的微处理机写入口时,将要被写的数据送到输出存储器224,及与此同时,地址被存储在地址发生器256中的寄存器(未示出)内。当该请求真正被处理时,地址发生器就已具有开始地址。对于某些操作,例如显示读操作及解码宏块写操作,存储器的请求是固定顺序的。对于这些请求,对地址发生器给予起始地址,然后它自动按顺序进行直到给予新起始地址为止。
示范地址发生器256包括两个地址发生器,256A(RAG1)及256B(RAG2)。这两个地址发生器被使用来获得并行RDRAM存储器212的隔行过渡能力的全部优点。如以上参考图6C所述的,单存储器访问请求可包括两个地址序列(请求A及请求B或请求C及请求D),它们相交错,以便从存储器212取出所需信息。这些交错地址允许存储器请求的寻址功能被输送到并行RDRAM中,以使得在第一次请求数据后第二次请求的数据能立即被提供。在本发明的示范实施例中,这两个地址发生器的每个具有两个交错请求中的一个。因此,地址发生器256A具有请求A及而后的请求C,而地址发生器256B具有请求B及而后的请求D。以下参考图16及17来描述一个示范地址发生器的操作。
图7是存储器转换图,它表示用于对全显示(FS)方式的视频图象的解码及显示的一个示范存储器分配分案。如图7中所示,在本发明的该示范实施例中,存储器的图象缓冲器区域被分成六个场缓冲器710A至710F。虽然可考虑使用更大数目的缓冲器,但本发明使用了六个场缓冲器。除这些场缓冲器外,该存储器包括位流缓冲器(VBV)712,它位于存储器212的存储器较高行地址中。X及YPICTMAX的值可根据被解码的视频信号的分辨率来改变。表2表示示范值,这是当使用92Mbit存储器212解码1125P图象时的值,对于X值以存储器行为单位及对于Y值以192位字为单位。
表22K页 1K页规模 规模
X 272 544YPICTMAX239 119YVBV0 0YVBVMAX255 127XVBV1828 3656XVBVMAX2047 4095该示范存储器的布局留有14,647,296存储器位未被分配。
图9是一个示范存储器分配方案,它可在解码器在降频转换(DC)方式中操作时使用。该存储器布局包括六个场缓冲器910A至910F及一个VBV缓冲器912,以及一个未分配存储器区域914,它可被用来作OSD缓冲器。但是,在DC方式中,VBV缓冲器912在存储器中被分配在高的字地址上。如以上参考图7所述的,虽然本发明的该示范实施例使用了六个场缓冲器,但可考虑使用更大数目的场缓冲器。
在DC方式中,存储器212是48Mbit存储器,因此,具有为FS方式的一半数目的存储器行。用于DC方式中525P图象的一个示范存储器分配表示在表3中。
表32K页 1K页规模 规模X 131272YPICTMAX19195YVBV19296YVBVMAX255127XVBV0 0XVBVMAX8791759
如图7及9所示,图象被分成场及存储在场缓冲器中。在本发明的该示范实施例中,每宏块被分成两部分上半宏块及下半宏块。对于一个隔行扫描图象,一个图象帧的上半宏块存储在上场缓冲器中,而下半宏块存储在下场缓冲器中。但是,对于逐行扫描图象,将上及下半宏块两者存储在单个场缓冲器中。在每种存储器结构中,上及下半宏块被分别存储在存储器212的不同单元中。如图10所示,对于隔行扫描图象,第一上半宏块被存储在行N、单元A中,而相应下半宏块存储在行M,单元B中。对于逐行扫描图象,上半宏块存储在行N、单元A中及下半宏块存储在行N+2、单元B中。因此,在每种情况下,对上及下半宏块可以交错存取。
图8表示使用在DC方式中的RDRAM存储器的单通道的简化图。该存储器每通道仅具有一个装置。如图所示,通道包括两个存储器单元,单元A及单元B,各具有512个存储器行,每行具有255字。因为仅表示出单个通道,字的规模为64位。对于所有三个通道,字规模为192位。
存储器被组织,以便能有效存储解码宏块,有效检索参考宏块及有效显示解码图象。其中,参考宏块的的检索是最困难的。如在ATSC标准中规定的,参考宏块不一定相应于解码的宏块。因此,参考宏块可包括多至四个相邻解码宏块的分量,同时有亮度及色度分量。此外,相邻解码的宏块可分别存储在不同的存储器行中,以使来自多至四个存储器行的数据能被访问,以检索单个参考半宏块。本发明该示范实施例使用新颖存储器转换方案,以便在RDRAM212的存储器行、存储器单元及通道中分配上及下半宏块来减小参考半宏块的取出时间。
如上所述,RDRAM212包括保持整个存储器行的超高速缓存器。每通道具有独立的超高速缓存器。本发明将图象数据存入RDRAM存储器212是根据一种方案,该方案在存储器行、单元及通道内交替改变相邻块,以使得任何存储器存取、无论是存储解码宏块、取出参考宏块还是取出显示图象数据的行,均能使一个请求的数据传送部分与下个请求的寻址部分相重叠。
图10是表示基本存储器转换技术的存储器转换图,其中半宏块被存储在场缓冲器中,以使得相邻半宏块在该存储器装置两单元之间垂直及水平方向上交错排列。如图10中所示,两个场缓冲器910A及910B的每个存储半个图象帧。帧的上半宏块存储在缓冲器910A中,而下半宏块存储在缓冲器910B中。如图10中所示,用于1920乘1080象素的图象的半宏块行(即跨图象水平方向的半宏块行)占有四个RDRAM行,每RDRAM行包含2K字节(即2K页规模)。如以上表1中所述,在一个场缓冲器中具有272半宏块,在图10中每个场缓冲器内仅表示出这些半宏块行的两个。
在图10中,在场缓冲器910A中宏块行P的上半宏块顺序地存储在RDRAM行N的单元A、然后在RDRAM行N的单元B、然后在RDRAM行N+1的单元及A最后在RDRAM行N+1的单元B中。在场缓冲器910B中宏块行P的下半宏块顺序地存储在RDRAM行M的单元B、然后在RDRAM行M的单元A、然后在RDRAM行M+1的单元B及最后在RDRAM行M+1的单元A中。因此,如果图象是逐行描述的,可使用对RDRAM行N的单元A及RDRAM行M的单元B的交错读操作来取出整个宏块。
也如图10中所示,宏块P+1的上半宏块顺序地存储在RDRAM行N+2的单元B、然后在RDRAM行N+2的单元A、然后在RDRAM行N+3的单元B及最后在RDRAM行N+3的单元A中。宏块P+1的下半宏块顺序地存储在RDRAM行M+2的单元A、然后在RDRAM行M+2的单元B、然后在RDRAM行M+3的单元A及最后在RDRAM行M+3的单元B中。因此,对于隔行扫描图象,穿过四个存储器行被分割的参考宏块可使用四个交错读操作来取得,这些交错读操作是分别在存储器行N、N+2、N+1及N+3的单元A及B之间交替进行的。
图10表示对1920乘1080象素的图象,每半宏块行的四个RDRAM行。表4表示存储器212的一个示范结构,它用于存储器的其它图象规模,其中分别具有2K页规模及1K页规模。
表4每半宏块行的RDRAM行2K页1K页图象格式 规模规模1920×1080FS 4 81280×720FS 4 71920×1080DC 2 41280×720DC 2 3704×480DC2 4640×480DC2 4在FS方式中,整个图象被存储,在DC方式中,图象在存储到存储器212以前以系数2或3抽取,如以上参考图3B所述的。
除在RDRAM的单元之间交错排列半宏块行的各半宏块外,也在RDRAM212的三个通道中交错排列每半宏块的分量块。对于将两个亮度块Ya及Yb和各半宏块的一个色度块UV分配给三个存储器通道A、B及C共具有三种排列。该交错排列表示在图6B中。
如图所示,用于宏块U的上半宏块存储在单元A中,而下半宏块存储在RDRAM212的单元B中。在两个单元A及B中,两个亮度块Ya及Yb被分别存储在通道A及B中。色度块UV被存储在通道C中。但是对于下个相继的宏块V,Ya及Yb分别被存储在通道C及A中,而UV被存储在通道B中。第三种排列用于宏块W,如图所示,将Ya及Yb分配到通道B及C,及将UV分配到通道A。
排列的转动连续穿过存储器行边界,如图6B中所示的边界660。如上所述,用于存储给定图象场的半宏块的存储器单元通过宏块行交错排列。它被表示在图6B中,其中边界660在存储器行662及664之间。但是,如上所述,具有不同分辨率及长宽比的图象可使用存储器行中不同数目的半宏块位置。在本发明该示范实施例中,为了保证存储器装置之间的转动连续通过存储器行边界,存储在宏块行的存储器行中的半宏块数可被三除,最后存储器行除外。
该存储器布局状况表示在图11及12中。图11表示包括六个8象素乘8象素块的宏块1110。用于上场的亮度(Y)象素变为用于上半宏块1112的两个亮度块,及用于上场的U及V彩色差象素变为用于半宏块1112的UV。块1110中的其余象素值变为用于下半宏块1114的两个亮度块及一个色度块。
在图11及12中所示的示范图象包括704乘480有效图象象素。对于该图象,每个宏块行包括44个宏块,以使得整个图象包括1320宏块。如图12A中所示,当使用具有2K页规模的RDRAM时,使用两个RDRAM行来保持半宏块行,以使得24个半宏块存储在第一RDRAM行中,及20个半宏块存储在第二半宏块行中。
但是如图12B中所示,当RDRAM具有1K页规模时,头三个存储器行各保持12个半宏块,而最后存储器行保持8个半宏块。
图16及17为位转换图,它们表示从图象空间(逻辑地址)到存储器空间(实际地址)的地址转换。该转换被用来对于显示及提供参考宏块从存储器212中取得图象数据。图16及17中所示转换用作上述存储器的结构。
图16表示总的情况,其中场缓冲器数1610、场内的图象行数1612及行内的象素数1614被提供给地址发生器256A或256B之一,如图2B中所示。场缓冲器数的低位及触发图象每8行的位被提供给异或门1616,后者提供一个指示单元将发生转换的信号。该位在相继场缓冲器之间及在图象每8行间隔(半宏块宽度)上改变状态,以便在上述存储器的单元A及B之间触发。由异或门1616提供的BANK INVERT信号被提供给异或门1628,后者被连接来接收由加法器1621计算的存储器行数1630的最低位。由该异或门提供的输出信号是实际地址的单元数1632。作为给定图象相继存储器行的存储器单元之间的位触发被置于相反的单元中。
逻辑地址值的场缓冲器部分1610被提供给查看表(LUT)1618及“16×”乘法器1620,后者例如可作成向较高位移四位的移位寄存器。LUT1618和乘法器1620将场缓冲器数解释成存储器行偏移,它指示用于具有逻辑地址1610的场缓冲器的开始存储器行。
逻辑行数的7个最高位(MSB)被乘以系数2R,以产生包括行数1612的缓冲器内的存储器行数。系数R是上面表4中提出的每半宏块行的RDRAM行数。
在本发明的该示范实施例中,象素数1614的7MSB是用于这些象素的图象行上的宏块数。这7个位被提供到除以N的电路1624,其中N是每RDRAM行中的半宏块数。N的示范值给在下列表5中。除法器1624产生3位商及5位余数。商被提供给加法器1621及余数形成寻址存储器行中列数地址1634的5MSB。行数的三个最低位形成列数地址的三个LSB。
表51K页 2K页方式规模 规模FS N=15 N=30DS N=12 N=24象素数1614的四个LSBs形成了实际地址的象素数部分1636的四个LSB。
最后,宏块数也提供给除以3的电路1626,该电路产生指示宏块相位的三位值。如以下参照图19A及19B所述的,该相位指示使用了存储器通道的哪种排列来保持构成半宏块的两个亮度块及一个色度块。
图17表示一个具体情况,它可用于取显示的图象象素。在图17中,图3A中所示的微处理机210通过提供地址数据来辅助地址发生器,地址数据在图象场上保持恒定。由微处理机210提供的该帮助可取消除法器1624及1626,这可增加图2中所示寻址电路256A及256B的操作速度。在图17中所示的电路中,微处理机210计算用于图象的行偏移及列偏移。在本发明该示范实施例中,对于每个图象的行偏移及列偏移是固定的,并在图象显示前被提供给地址发生器。这些值例如可代表由ATSC标准的扫视及扫描特征使用的图象中的偏移,以便将具有长宽比16∶9的图象转换成4∶3监视器的显示图象。在显示处理器中,一旦起始象素值被访问,系统以显示顺序访问其余象素。因此,一旦图象行中的起始象素偏移被提供,它就可以施加给该行中的所有其余象素。因为获取图象象素是为了以48象素的组显示,对于显示请求的ABC相位值可固定在单相位上。在本发明该示范实施例中,该相位是由图17的连接1635所示的相位A。
微处理机210也计算用于输入存储器318的组偏移及象素偏移。组偏移规定为在图象边缘及包含待显示的第一象素的组之间的48象素组数。象素偏移是第一象素组内的偏移。组偏移及象素偏移的组合能使显示以图象行中的任何象素开始。
行数1630、列数1634及单元数1632规定了从存储器212返回到图5A、5B及5C所示的显示缓冲器的数据。该数据被解译并提供给显示存储器,以响应由微处理机210提供的组偏移值1710及象素偏移值1712。表6表示由微处理机210执行的计算,用于将象素数转换为象素偏移、组偏移、列偏移及行偏移。表7表示用于FS方式及DC方式中隔行及逐行显示的变量W的示范值。在表6的等式中,DIV指示整数除法,MOD指示模除法,及用于具体解码器结构的值N可由表5确定。
表6象素偏移=象素数目MOD48组偏移=(象素数目DIV48)MOD W列偏移=(((象素数目DIV48)DIV W)*W*3)MOD N行偏移=(((象素数目DIV48)DIV W)*W*3)DIV N表7方式FS W=6DC Int W=2
DC Pro W=4象素偏移及组偏移值用于从输入存储器234中取数据,如以下参照图22将要描述的。
图16中所示的地址发生器用于从存储器212取参考宏块。参考块的存取用于移动补偿处理。根据处理的是帧内编码(I)、预测编码(P)或是双向预测编码(B)的图象,使用零、两个或四个参考半宏块来解码给定宏块。如上所述,参考图1E,取出的参考半宏块比单半宏块在每个方向上大一个象素,因此可计算具有半象素偏移的半宏块。因此,本发明的该示范实施例取出一个17乘9的亮度块(Ya及Yb)及两个9乘5的色度块(U及V)。为了简化该处理,它被分为两部分。首先从存储器212取出较大的存储块并将其存储到输入存储器缓冲器234(如图2B中所示)的参考存储区域(如图5A、5B及5C中所示)中,及然后将被存储数据处理,以便仅返回所需的17乘9及9乘5的数据块。
在本发明的该示范实施例中,24乘9亮度增大半宏块及两个16乘5色度增大半宏块被取到缓冲存储器234中。这表示在图18A及18B中。在图18A中,通过取得较大块1811(虚线所示)取出所需亮度值的增大半宏块1812,及通过取得较大色度值块1815取出所需色度值的增大半宏块1814。图18A及18B中所示的例子表示存取参考宏块的最坏情况,其中目标象素值经过单元及存储器行边界被分开。
响应当前块地址及移动矢量提供参考图象数据。当前地址和移动矢量的组合规定参考宏块的起始象素位置。移动补偿处理器314或314’(图3A及3B中所示)、微处理机210及地址发生器256A和256B对读控制器232(图2B中所示)提供从取出数据中抽取所需半宏块的所需数据。该信息包括用于亮度及色度的半象素码,降频转换相位(如以上参照图14及15所描述的),亮度及色度象素偏移值,行偏移值及ABC通道相位。控制器232使用该信息从检索数据中抽取所需17乘9亮度块及两个9乘5色度块并将抽取的数据提供给移动补偿处理器314或314’。
如上所述,虽然只计算了单个地址,在存储器212的三个通道A、B及C每个中的数据也可使用不同地址值来存取。如图13A及13B所示,使用来存储数据的通道以相继的宏块存储操作来排列。但是,如以上参考图18A及18B所述,用于从存储器取出色度数据的地址不同于用于取出亮度数据的地址。因此,地址发生器256A及256B计算一个地址,并由确定的ABC相位值产生用于三个RDRAM通道中每个的适当地址值。在本发明该示范实施例中,具有六个相位。通过从任意起始点访问三个相继块获得一个参考半宏块。该块可在通道A、B或C中开始并可起始于块Ya或Yb。因此,在本发明的示范实施例中,共有六个相位。它们的号码为0、1、2、4、5及6。用于每通道的地址是基本地址(BASE)或基本地址加一(BASE+1)。在本发明的该实施例中,每个地址发生器256A及256B产生两种地址,并将合适的地址发送到合适的通道,如表8中所示。
表8通道A 通道B 通道C
在表8中,仅使用两个通道来存取每相位中的色度信息。因此,每相位中的一个通道标以n/a,它表示从该通道取出的数据被忽略。
甚至在取出包含24个用于Y及UV的象素的192位字并存储在输入存储器缓冲器234时,发生大的重格式化,以对移动补偿处理器314或314’提供移动补偿参考块。首先,从每个192位字中选择正确子集值。每个Y、U及V象素数据被组成单独的192位字。在FS方式中,24个象素中的17个用于Y参考数据及24个象素中的9个用于U及V参考数据字中的每个。但是,因为存储图象是水平压缩的,在降频转换方式中使用较少的采样。由输入控制器提供三位值以指示24个象素中的起始象素。此外,当选择所需Y、U及V的采样时,输入控制器补偿存储器212各通道的ABC相位转动。三位相位值控制该补偿。
用于亮度和色度数据的存储器取地址从单个基于亮度移动矢量的RDRAM起始地址中取得。对于负的移动矢量,该地址取得包括所需色度数据的24乘5象素块,但该数据在位置上可相对相应正移动矢量移动。规定了一组六个水平例及六个垂直例来从取得的25乘5象素块中获得所需色度采样,这视半象素码及亮度移动矢量的状态而定。这些例子表示在用于水平矢量位移的图20A至20F及用于垂直移动矢量位移的图21A至21F中。这些情况适于表9中各个不同移动矢量的位移。
表9
图22是一个功能框图,它表示产生如图3B中所示地从存储器212到显示转换处理器372及373转移数据的处理。如图3B中所示,在DC方式中可对每个显示转换处理器372及373提供四行采样。显示处理器372及373垂直地滤波这四行以产生输出信号,其中垂直分辨率下降,以匹配可发生在DCT域滤波器362中的任何水平分辨率下降,如图3B中所示。如上所述,参照图2B及表1,在FS方式中输入存储器仅提供一行采样,在某些DC方式中,它提供8行采样,每4行用于每个显示转换处理器372及373,及在一种DC方式中,它仅将四行采样提供给处理器373。
在图22中,具有两个显示通道接口,一个是2200A,它支持通道1的分量,Y、U、V输出信号;另一个是2200B,它支持复合(如NTSC)输出信号。显示处理器322对于两个显示通道的每个提供分开的起始地址。分开地址被提供给予亮度及色度信号,以适应在显示转换处理器372及373中可作出的各种显示滤波操作及各种图象格式。例如,第一显示器输出口可将图象信号提供给具有16∶9长宽比的逐行扫描显示器,而第二显示器输出口可将图象信号提供给具有4∶3长宽比的隔行扫描显示器。两个地址发生器256A及256B的每个对第一及第二显示转换处理器372及373中的相应一个提供地址值。起始地址指示场缓冲器号及图象的起始水平线。这些地址被提供给地址发生器256A及256B及微处理机210。如上面参照图17所描的,微处理机210计算及提供起始象素位置,后者在图象显示中始终保持恒定。PIX-OFFSET值指示首先被显示的48象素组的象素输出。该值被提供给如图22中所示的显示通道接口的控制器2210。
起始地址指示起始图象行数。每个显示通道接口2200A及2200B访问场或帧中寻址行及下三个图象行,以便对垂直滤波同时提供四行。在DC方式中,因为由输入存储器318同时提供四行,在任何数据被提供给显示处理器以前,这四行被存入输入存储缓冲器234,用于每个有效显示通道接口。一旦显示通道接口开始工作,它们根据需要从存储器212请求附加数据并使数据通过192位读母线提供到接口。来自读母线的数据被存储到寄存器一信号分离器2212中,后者使数据重格式化至64位字并将该字传送到显示存储器2214。控制器2210确定数据从信号分离器2212到显示存储器2214的顺序,从显示存储器2214到寄存器/信号分离器2216A、2216B、2216C及2216D的顺序,如以下参照图23所述。虽然未示出,显示重格式化器2200B包括寄存器/信号分离器,后者可与寄存器2216A至2216D相同。
如图5B所示,当显示通道接口2200A及2200B有效时,用于这两个通道的分开存储缓冲区被分配在输入存储缓冲器234中。这两个存储缓冲区相应于图22所示的显示存储器2214。来自一个缓冲区的数据施加给寄存器/信号分离器2216A至1116D以及来自另一缓冲区的数据施加给显示重格式化器2200B。
图23是一个定时图,它表示图22中显示转化处理器2200A或2200B之一的操作。如图23中行2302所示,由存储器212将16个192位字提供给输入存储寄存器/信号分离器2212,其顺序为YA1、YB1、U1、V1、YA2、YB2、U2、V2、YA3、YB3、U3、V3、YA4、YB4、U4、V4,其中数字下标指提供数据的行数。每192位字代表24个象素。因此,两个192位字YA及YB代表48个相连亮度象素,及U和V值的组合代表48个相连的色度象素,因为每个U及V象素值在重放图象的水平及垂直方向上重复。如行2304所示,寄存器/信号分离器2212将每192位字划分为三个64位字并将该64位字存储到显示器存储器2214中。显示器存储器2214及控制器2210重对这些64位字定序并将它们以顺序YA1、YA2、YA3、YA4、U1、U2、U3、U4、V1、V2、V3、V4、YA1、YA2、YA3、YA4、YA1、YA2、YA3、YA4、U1、U2、U3、U4、V1、V2、V3、V4、YB1、YB2、YB3、YB4…来提供。在本发明的该示范实施例中,将具有数字下标1、2、3及4的64位值分别提供给寄存器/信号分离器2216A、2216B、2216C及2216D。寄存器/信号分离器2216A、2216B、2216C及2216D的每个并行地处理Y、U及V值,以提供四个输出行2308。如图23中所示,由显示重格式化器2200A并行地提供用于所有四行的亮度及色度值。
图24是一个定时图,它表示在一示范解码期间如图2A及2B中所示的存储器子系统214的操作。在步骤2402上,由可变长度解码器310对逆扫描存储器(未示出)提供解码宏块,后者例如为逆量化器360的一部分。逆扫描处理器使锯齿扫描操作反向,它用来将图象一部分的离散余弦转换(DCT)转换成DCT系数的8乘8块。在步骤2404中,由逆扫描存储器将宏块C及D提供给逆量化器360。由逆量化器提供的宏块施加给DCT滤波器362及然后施加给IDCT处理器364。在步骤2406上,宏块B(它在图象中领先宏块C)及宏块C被VLD310、逆量化器360、DCT域滤波器362及IDCT处理器364处理。这些包含剩余象素值的解码宏块被提供给半象素插入及移动预测处理器314’。与此同时,如步骤2408所示,宏块解码器对处理器314’提供宏块就绪信号。处理器314’响应于该信号,在步骤2410上,对存储器子系统发出宏块读请求,以读出用于解码剩余象素值的参考宏块。在步骤2412上提供这些参考宏块。
如步骤2414中所示参考宏块已就绪,因为它们已响应在先由VLD310提供给移动补偿处理器314’的移动矢量被预取出。如步骤2414中所示,响应于这些请求,在步骤2412上由格式转换器提供参考宏块前,参考宏块被从存储器212中取出。在步骤2416上,该示范存储器子系统对移动补偿处理器314’发信号,以示移动补偿处理将开始。与此同时,在步骤2418上,由输入存储器318提供参考宏块。步骤2420表示由处理器314’中的半象素插入器处理参考宏块,及步骤2422表示由加法电路366及降频采样处理器368处理的解码宏块B及C被提供到该示范存储器子系统的输出存储器320。步骤2424表示解码的宏块A、B、C被从输出存储器320写入到存储器212中。最后,步骤2426及2428表示从VLD310接收用于宏块C及D的移动矢量,及在存储器子系统中处理,以获取用于宏块C及D的参考块并存储解码的宏块A及B。
图25表示解码的双向预测编码图象中示范存储器子系统的定时特征。如ATSC规则中所规定的,图象可为类型I(内编码)、类型P(正向预测编码)或类型B(双向预测编码)。类型I及P图象可使用为固定图象,用以解码另外的预测编码图象。如图7及9所示的示范存储器系统仅包括三个帧缓冲器(6场缓冲器)。因为I及P型图象用作预测P及B型图象的参考图象,在它们解码后被保存在存储器中。在常规图象解码中,B型图象的两个相继帧可被遇到。在此情况下,解码器显示来自与存储第二B图象使用的同一对场缓冲器的第一B图象。当被解码的图象为逐行格式时,相继的B图象的处理是困难的,但解码图象用隔行格式显示。
图25是表示用于解码及显示场0及场1中这些图象的定时限制的定时图。在场0期间,解码操作将象素存储在被显示的象素位置前面的图象位置上。但是,在场1期间,用于解码图象的象素位置存储在被显示的象素位置后面的图象位置上。这意味着对图象处理的两个限制首先,新图象的解码与一个显示场的开始对齐,及其次,解码操作在垂直消隐间隔后才能开始。如图25所示,如果观察到这些限制可对解码及显示B型图象使用单个缓冲器。
虽然对本发明以示范实施例的方式作出描述,但也可考虑以上述为轮廓在所附权利要求书的范围内作出修改。
权利要求
1.用于存储视频图象数据帧的视频存储器系统,每帧包括第一及第二隔行扫描场,该系统包括存储装置,它具有超高速缓冲存储器和第一及第二单元以及用于每个单元的寻址逻辑部分,以使得第一及第二存储器单元中的每一个能由各第一及第二地址值同时寻址,以使在第一间隔期间将相应于第一地址的寻址数据传送到超高速缓冲存储器,及在紧接在第一间隔后的第二间隔期间将相应于第二地址的寻址数据传送到超高速缓冲存储器;及地址发生器,它包括分配装置,用于将代表帧第一场的数据分配到第一及第二存储器单元中的一个,及将代表帧第二场的相应数据分配到第一及第二存储器单元中的另一个。
2.根据权利要求1的视频存储器系统,其中视频图象数据以宏块为单位提供,每宏块包括分开的亮度及色度分量,该存储器系统还包括另一存储器装置,它这样构成,即第一存储器装置及第二存储器装置确定各自不同的存储通道;及地址发生器还包括对于第一及第二存储器装置产生各自地址值的装置,以引起存储器系统将代表第一宏块各图象的分量的数据存储在存储器装置各不相同的一个中;及用于改变存储器装置的装置,它相对于在其中存储第一宏块图象分量的存储器装置改变在其中存储第二宏块相应图象分量的存储器装置。
3.用于存储具有第一及第二分量的视频图象数据帧的视频存储器系统,该系统包括具有第一及第二部分的存储器装置,第一及第二部分中的每一个包括代表第一及第二图象分量的隔行扫描数据;第一地址发生器,它提供对第一部分中第一存储分量寻址的第一地址值;第二地址发生器,它与由第一地址发生器提供第一地址值同时地提供第二地址值,该第二地址值对第二部分中第一存储分量寻址;及存储器存取逻辑部分,用于交替地对存储器装置提供第一及第二地址值,以取出第一存储分量。
4.根据权利要求3的视频存储器系统,其中,视频图象数据以半宏块为单位存储在存储器装置中,每半宏块包括亮度分量及色度分量,及该存储器装置被分成多个存储器行;及第一地址发生器产生用于多个存储器行的第一行的第一地址值;及第二地址发生器产生用于多个存储器行的第二行的第二地址值。
5.根据权利要求4的视频存储器系统,还包括与第一及第二地址发生器及存储器存取逻辑部分相连接的控制器,该控制器在第一时间间隔中控制第一及第二地址发生器以便在第一时间间隔中对第一及第二部分中的视频图象数据的各第一分量寻址,及在第二时间间隔中对第一及第二部分中视频图象数据的各第二分量寻址。
6.根据权利要求5的视频存储器系统,其中,该存储器系统包括第一及第二通道,每通道包括多个部分中的相应部分,其中第一及第二分量交错地存在于每个通道的各部分中,以使得第一及第二分量的相应部分存储在第一及第二通道的相应部分中,及在第二通道的部分中第二分量的地址从第一通道的部分中第一分量的地址偏移一预定值;第一及第二地址发生器产生第一及第二地址值,第二地址值不同于第一地址值;及存储器存取逻辑部分选择地使用由第一地址发生器产生的第一地址值或第二地址值,及由第二地址发生器产生的第二地址值或第一地址值,以存取视频数据的第一及第二分量。
7.根据权利要求3的视频存储器系统,还包括第一数据接口,它用于提供来自存储器的图象数据,该数据代表用于在具有第一显示特征的第一显示装置上显示的图象;第二数据接口,它用于提供来自存储器的图象数据,该数据代表用于在具有不同于第一显示特征的第二显示特征的第二显示装置上显示的图象;及与第一及第二地址发生器相连接的显示控制器,用于控制第一地址发生器提供存储器中的地址,以对第一数据接口寻址图象数据,及用于控制第二地址发生器同时地提供存储器中的地址,以对第二数据接口寻址图象数据。
8.根据权利要求7的视频存储器系统,其中视频图象数据帧具有第一及第二操作方式中的第一及第二数目的图象象素,该系统还包括存储器缓冲器,它具有第一及第二存储缓冲区,用于接收用于第一及第二数据接口的图象数据;及用于将第一及第二存储缓冲区组合成单个存储缓冲区的装置,当该视频存储器系统从第一方式转换到第二方式时,该装置禁止第二数据接口。
9.用于存储具有第一及第二分量的视频图象数据帧的视频存储器系统,该系统包括存储器装置,它具有足够数目的单元,以存储视频图象数据帧;地址发生器,它提供地址值对存储器中视频图象数据寻址并以第一数据速率传送视频数据;缓冲存储器,它具有与存储器连接的第一、第二及第三缓冲区,以接收由地址发生器寻址的视频图象数据;及与缓冲存储器及地址发生器相连接的显示控制器,用以将显示图象数据以第一数据速率存储到所有第一、第二及第三缓冲区内并以比第一数据速率大的第二数据速率从第一及第二缓冲区取出数据,直到在第一及第二缓冲区中的所有数据取完为止,然后交替地从第一、第二及第三数据区以第一数据速率取数据。
10.一种视频存储器系统,包括随机存取存储器装置;存储器写缓冲器,它与随机存取存储器装置相连接;存储器读缓冲器,它与随机存取存储器装置相连接;存储器写控制器,它与存储器写缓冲区相连接,该存储器写控制器具有编码图象数据口,解码图象数据口及微处理机口,其中存储器写控制器分隔存储器写缓冲区以形成编码图象缓冲器、解码图象数据缓冲器及微处理机缓冲器;存储器读控制器,它与存储器读缓冲器相连接,该存储器读控制器具有编码图象数据口,参考图象数据口,显示图象数据口及微处理机口,其中存储器读控制器分隔存储器读缓冲器,以形成编码图象数据缓冲器、参考图象数据缓冲器、显示图象缓冲器及微处理机缓冲器;以及整体控制器,它与来自存储器写控制器及存储器读控制器的接收请求相连接,该整体控制器包括优先权装置,用于响应优先权值在存储器读缓冲器与随机存取存储器之间及在存储器写缓冲器与随机存取存储器之间传送数据,该优选权值相应于用于传送数据的存储器读缓冲器或存储器写缓冲器中的分隔。
全文摘要
用于存储ATSC视频图象数据的视频存储器系统被设计成三个通道,每通道有两个单元,每单元包括多个存储器行。存储器系统包括用于保持位流数据的缓冲区及6个场缓冲区。场缓冲区以对布置形成三个帧缓冲区,以使在一给定帧内用于两个场的缓冲区被分配在各不同的单元中。存储器系统包括输出存储器控制器,接收解码图象数据的宏块并将该宏块分成上及下半宏块,上半宏块存储在帧的一场缓冲器中,下半宏块存储在帧的另一场缓冲器中。
文档编号H04N7/56GK1253453SQ9910712
公开日2000年5月17日 申请日期1999年5月28日 优先权日1998年5月28日
发明者理查德·西塔, 井上秀士, 爱德华·布罗斯, 杰拉尔德·皮尔逊, 迈克尔·亚昆托 申请人:松下电器产业株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1