图象解码设备的制作方法

文档序号:7957452阅读:167来源:国知局
专利名称:图象解码设备的制作方法
技术领域
本发明涉及用于对已编码和/或压缩的图象信号进行解码和/或解压的图象解码设备,更确切地说,涉及一种图象解码设备,其能有效地减小存储容量、存储数据总线的宽度、解码延迟时间和解码的时钟频率。
为了应用于数字式广播和记录媒体而制定了被称之为MPEG2的图象压缩国际标准(例如,日本电视工程师协会杂志,Vol.48,No.1,PP 44-49)。在MPEG2编码系统中,通过将帧内编码帧(以下称为I帧)、帧间编码帧(以下称为P帧)和帧内插编码帧(以下称为B帧)适当地结合对图象信号进行编码从而能够使高数据压缩率、随机存取和编辑等功能彼此共存。
在I帧中,仅通过变换编码而将帧内的图象数据压缩。这是一个在帧内图象数据之间有相关关系的系统,其将帧分成多个预定尺寸的块,对每块进行变换,在将系数数据进行与频率分量相当的变换之后将其量化,并进一步产生经可变长度编码的编码数据。
在P帧内,通过利用帧之间的高相关性来提高数据压缩率。在预定数量的模块中将前一个帧与当前的帧进行比较,得到运动矢量,从根据运动矢量偏移的位置上读出前一个帧的图象数据,并得到预测值。此后,从待编码的当前帧的图象数据中减去预测值,用与帧内编码系统相同的方式对这个运动补偿的预测误差进行变换编码,并产生编码数据。
为了更大地提高数据压缩率,可采用B帧。帧内插编码也称作双向运动补偿帧间编码,其不仅利用了与前帧的相关性,而且还利用了与后帧的相关性。该系统按照显示顺序将预定数量模块中的前一个帧与目前的帧进行比较,得到运动矢量,同时还获得预定数量模块中按显示顺序排列的后一个帧的运动矢量,从按照各运动矢量偏移的位置中读出前一个帧和后一个帧的图象数据,产生平均值,并获得帧内插值。此后,该系统从待编码的目前帧的图象数据中减去帧内插值并得到运动补偿的预测误差。
例如,该系统对第一帧进行帧内编码(I帧),用第一帧作为基准图象对第四帧进行帧间编码(P帧),然后用第一和第四帧作为基准图象对第二和第三帧进行帧内插编码(B帧)。在这种情况下,帧显示顺序是第1>第2>第3>第4。而编码顺序则变为第1>第4>第2>第3而且对后面的编码来说B帧将不是基准图象。
电视视频信号是隔行扫描信号,所以一个帧是由其中行的数量为一半而行的位置交替偏移的两个场构成的。在构成帧的场之间还存在时延。另一方面,为了进行编码,而将两个场的图象数据并合,然后将其编码并分到预定尺寸的模块中作为帧的图象数据。在一种图象解码设备中,按照编码的顺序将图象解码,以便在从帧的左上方到右下方在模块单元中以顺序扫描的顺序得到解码结果。然而,在图象解码设备中需要输出隔行扫描的视频信号。
因此,在图象解码设备中,需要在对模块单元的序贯扫描和对象素单元的隔行扫描之间进行切换。当包含B帧时,需要将帧进行重新安排以便使其重新组成正常的显示序列。
在例如1994年IEICEC电子(信息和通信工程师协会)春季会议的C-659(报告集5,第227页)中或ISSCC94(1994 IEEE国际固态电路会议)/第四次会议/视频和通信信号处理器/论文WP4.4中描述了一种传统的图象解码设备。传统的图象解码设备包括通过输入时钟把待输入的编码数据写入编码数据缓冲器中的缓冲步骤,在预定的时间内和通过解码时钟从编码数据缓冲器中读出编码数据并将其解码以及将解码的图象数据一次写入具有几个帧的容量的帧存储器中的解码步骤,通过执行扫描切换和帧重新安排从帧存储器中读出解码的图象数据并根据预定的显示时钟将其以数字视频信号的形式显示和输出的显示步骤。此外,当解码数据是P帧数据或B帧数据时,解码步骤需从帧存储器中读出基准图象上的基准图象数据以便进行运动补偿。
输入时钟自身是数字广播的传输时钟。显示时钟与数字视频信号的采样频率有关而且它的设定标准值是13.5MHz或27MHz。将解码时钟设定为某个频率,在该频率下,即使在对每个帧的编码数据进行解码时所需的处理量有变化,也总是能在一帧的周期内完成对每个帧的编码数据的解码。对每帧编码数据进行解码所需的处理量通常是随对帧进行编码的编码系统而变化的,即I帧、P帧、或B帧。处理量还随帧的编码量而变化。可以将解码时钟设置成与输入时钟或显示时钟无关也可以将其设定在与显示时钟成预定比例的频率。在这两种情况下,解码步骤和显示步骤彼此间是独立和异步完成的。此外,编码数据的缓冲步骤也是必需的,该操作与解码步骤或显示步骤的存储器存取操作是异步进行的。所以判断存储器存储权的判断功能是必不可少的。在判断期间通常要中止解码步骤而且需要设定比先前略高的解码时钟以便在排除判断期的一个帧周期内来处理一个帧的编码数据。
一种传统的图象解码设备是与目前在美国和日本使用的525/60电视系统相应的设备,一个帧的图象数据包括亮度信号和两种色度信号的数据,亮度信号包含720个水平象素和480个竖直行,而两种色度信号包含360个象素和240行,其中在水平和竖直方向上其分辨率是亮度信号的1/2倍。此外,在传统的图象解码设备中,使用了4个256K×16比特(4兆比特)结构的动态随机存取存储器(RAM),其总容量为16兆比特,而且还使用了两个用于储存解码所需基准图象上的图象数据的帧,和1.5个在显示步骤中隔行变换所需的帧,也就是说可以使用总其3.5个帧(约4兆比特×3.5=14兆比特)作为帧存储区和使用约2M剩余比特作为编码数据的缓冲区。数据总线读出或写入编码数据或字长为64(16×4)比特的图象数据并选择40MH作为解码时钟频率。
与传统的图象解码设备相比较(1)本发明的一个目的是对一个帧存储器的解码图象数据进行隔行转换和减小存储容量。由此,可以把在所用一帧图象数据大于美国和日本的欧洲使用的625/50系统中的存储容量减小到小于16兆比特(一帧=约4.7兆比特)。此外还能够减小因解码而导致的时延。
(2)本发明的另一个目的是在不使用存储器存取权判断功能的情况下完成各种异步操作。由此可降低解码时钟频率。这样,由于降低了动力消耗和促进了电路操作时延的合并而产生了减小电路尺寸的效果。
(3)本发明的再一个目的是实现存储器的有效存取和减小存储器的数据总线宽度。由此,例如可以减少引出头的数量和印刷线路板上的导线数量,从而实现图象解码设备的LST(大规模集成电路)。
为了达到上述目的,本发明包括通过对由帧内多个象素组成的模块单元中数据压缩视频信号的编码数据进行解码来获得解码图象数据的解码装置,用于写入和储存所说解码图象数据的存储装置,用于根据显示同步信号将储存在所说存储装置中的解码图象数据读入场单元中并获得隔行扫描显示图象数据的显示装置,和(1)解码处理和显示处理同步进行而且从开始对一个帧的编码数据进行解码到开始显示的最小延时是0.5个帧。
(2)根据显示同步信号记录时隙,并根据该时隙通过解码装置和显示装置对存储装置进行存取。
(3)存储装置包括两个存储器阵列,其用于从解码装置和显示装置到存储装置之间的存取,两个存储器阵列交替使用。
该设备的工作过程如下。
(1)由于解码处理与显示处理同步进行而且从开始解码到开始显示的延迟时间是0.5帧,所以在解码时把帧的解码图象数据写入至少一个帧的容量内,在因再写入当前的解码图象数据而丢失前一个帧的解码图象数据之前完成前一个帧的解码图象数据的读出作为图象显示数据,并得到隔行扫描的显示输出。结果,用包含存储基准图象数据存储器的3个帧或更少帧的存储容量可实现解码处理和显示处理。
(2)按照预定的时间段对存储器进行存取,而且即使在对每个帧的编码数据进行解码所需的处理量有很大变化时,也能够总是在一个帧的周期内将一个帧的编码数据解码。不需要判断各存储器存取之间的存储器存取权,从而可降低解码时钟频率并能减小电路尺寸。
(3)由于交替地使用两个存储器阵列,所以能够连续地从存储器中读出数据和向存储器写入数据。由此,可以有效地对存储器进行存取而且即使对于小的数据宽度也能进行必要的存储器存取。


图1是本发明一个实施例所述的图象解码设备的方框图。
图2是表示存储区划分的实施例的示意图。
图3是图1中所示定时单元的方框图。
图4是图1中所示输入缓冲存储器和解码数据缓冲存储器的方框图。
图5是图1中所示运动补偿单元的方框图。
图6是图1中所示显示单元的方框图。
图7是图1中所示存储控制器的方框图。
图8表示解码处理和显示处理的时间图。
图9是图8中所示的时间的放大图。
图10是表示当不包含B帧时解码处理和显示处理的时间图。
图11是用于解释与525/60系统的电视信号相对应的存储器控制系统的示图。
图12是用于解释与625/50系统的电视信号相对应的存储器控制系统的示图。
图13是图1中所示存储器的方框图。
图14是表示图13所示存储区划分的实施例的示图。
图15是适用于图13中所示存储器的存储器控制信号发生器单元的方框图。
图16是表示图13中所示存储器控制时间的示图。
图17是表示本发明一帧图象的模块部分的示图。
图18是表示将宏模块映入图13中所示存储器的帧存储区中的示图。
图19是表示本发明的基准图象数据读出顺序的示图。
下面将参照附图对本发明的实施例进行说明。
图1是表示本发明的图象解码设备的视图。标号1表示对编码数据进行解码处理和显示处理的解码电路,标号2表示与解码电路1相连接的存储器。解码电路1包括输入缓冲存储器11,解码数据缓冲存储器12,可变长度解码单元13,IDCT(逆离散余弦变换器)单元14,运动补偿单元15,显示单元16,存储控制器17,和定时单元18。
图2表示存储器2的区域划分图。考虑到欧洲的电视系统而将每个帧的尺寸定为4.7兆比特,并将16兆比特的容量分配给三个帧和一个至少1.8兆比特的编码数据缓冲器。
图1中,将编码数据(压缩的图象数据)输入到解码电路1中的输入缓冲存储器11。此外,通过数据总线和存储控制线17把来自输入缓冲存储器11的编码数据暂时储存在存储器2中。暂时储存之后,通过存储控制器17从存储器2中读出编码数据并将其存入解码数据缓冲存储器12。
在可变长度解码单元13的请求下把编码数据从解码数据缓冲存储器12送到可变长度解码单元13。可变长度解码单元13对从离散余弦变换、运动矢量信息和编码类型信息中获得的编码数据的系数数据进行解码并将系数数据送到IDCT单元14,把运动矢量信息送到运动补偿单元15,而将编码型信息送到显示单元16。IDCT单元14对系数数据进行逆离散余弦变换,产生IDCT图象数据,并将该数据送到运动补偿单元15。运动补偿单元15根据运动矢量信息从存储器2中读出基准图象数据并通过在基准图象数据中加入IDCT图象数据来产生解码的图象数据。
此外,通过存储控制器17将解码图象数据存储到存储器2中。之后,应显示单元16的请求读出解码图象数据并将其从显示单元16输出作为显示图象数据。还可以用I帧或P帧的解码图象数据作为基准图象数据。
图3是表示定时单元18主要部分的结构的视图。如图中所示,定时单元18是以外同步模式工作的,以便从外部提供视频信号的水平同步信号和竖直同步信号。定时单元18可以带有用于在其内部产生水平同步信号和竖直同步信号的同步信号发生器并且以内同步的模式进行工作,在这种模式中,当时第一帧的编码数据进行解码时触发同步信号发生器并产生水平同步信号和竖直同步信号。在该图中,标号181表示水平扫描信号发生器电路,182表示竖直信号发生器电路,183表示逻辑电路。通过水平同步信号使水平扫描信号发生电路181复位而且电路181是一个用于根据例如13.5MHz的时钟信号进行计数操作的水平象素计数器。水平象素计数器对包含水平消隐期的行上的全部象素,即858个象素重复进行计数操作。竖直扫描信号发生器电路182通过竖直同步信号复位,该电路是一个竖直行计数器,其在水平扫描信号发生器电路完成对构成行的所有象素所进行的计数操作时,对行进行逐一计数操作。竖直行计数器对包含水平消隐期的场内的所有行,即263行或262行进行计数操作。竖直行计数器在构成一个帧的第一个场内以262行的形式或者在第二个场内以263行的形式交替地进行计数操作。
逻辑电路183输出13.5MHz的输入时钟作为显示时钟并且还通过PLL电路产生和输出约22MHz的解码时钟。选择解码时钟的频率使得不管编码的类型如何均能在一帧周期内将一帧的编码数据解码而且该解码时钟成为在编码数据缓冲存储器12、可变长度解码单元13,IDCT单元14和运动补偿单元15中进行解码信号处理的时基时钟信号。显示时钟的频率等于亮度信号的采样频率而且显示时钟是在显示单元16中进行显示处理的时基时钟信号。此外,将两倍或三倍于解码时钟的时钟信号送到存储控制器17作为存储时钟。当存储时钟是解码时钟的两倍时,将解码电路1中的数据总线宽度设定为是存储器2中数据总线宽度的两倍,而当存储时钟是解码时钟的三倍时,将解码电路1中的数据总线宽度设定为三倍于存储器2中的数据总线宽度,以便使得通过解码电路1中的数据总线送到存储控制器17的数据速度与从存储控制器17取出送到存储器2的数据速度彼此相等。在以下的说明中,存储时钟脉冲三倍于解码时钟脉冲。
此外,逻辑电路183根据由水平扫描信号发生器电路181产生的水平象素计数值和由竖直扫描信号发生器电路182产生的竖直行计数值产生和输出各种定时控制信号并使显示处理和解码处理彼此同步。
图4是表示图1中所示输入缓冲存储器11和解码数据缓冲存储器12结构的视图。在输入缓冲存储器11中,标号111表示并行电路,112表示FIFO存储器,113表示空存储区容量计算器,而114是FIFO控制器。在解码数据缓冲存储器12中,标号121表示FIFO存储器,122表示空存储区容量计算器,123是FIFO控制器。
输入缓冲存储器11具有将编码数据从输入单元传送到存储器2的作用。编码数据具有例如8比特的结构并且随同输入时钟被输入到输入缓冲存储器11的并行电路111。并行电路111使上述与数据总线具有相同数据宽度的48比特数据(将存储器2的总线宽度设定为16比特)的输入数据相并行,并将其输入到FIFO存储器112。FIFO存储器112是公知的先进先出存储器并受FIFO控制器114的控制。FIFO控制器114是根据空存储区容量计算器113对FIFO存储器112的空存储区容量进行计算的结果和数据对信号的请求进行控制的。也就是说,当数据请求信号呈现数据许可状态,空存储区容量计算器113的计算结果显示已将预定量的数据储存到FIFO存储器112中时,将编码数据从FIFO存储器112读到数据总线。读出时钟是解码时钟并且通过FIFO存储器将输入时钟和解码时钟的异步状态解除。
解码数据缓冲存储器12通过FIFO存储器121将具有48比特宽度的编码数据与图1所示图象解码处理的第一阶段等同的从存储器2传送到可变长度解码单元13。FIFO存储器121受FIFO控制器123控制。也就是说,将数据送到FIFO存储器121,空存储区容量计算器122计算FIFO存储器121的空白区,当FIFO存储器121中存在空白区时,把数据请求信号输出到存储控制器17,接收从存储控制器17输出的数据肯定信号,并将从存储器2中读出的预定量的编码数据写入FIFO存储器121中。此外,FIFO存储器121在可变长度解码单元13的请求下输出编码数据。
图5是表示运动补偿单元15结构的视图。在图中,标号150表示运动矢量解码器,151是加法器,152是串行电路,153和154是基准图象存储器,155是基准图象存储器153和154的定时控制器,156是并行电路,157和158是解码图象存储器,159是解码图象存储器157和158的时间控制器。
运动矢量解码器150对从可变长度解码器13输入的不同编码运动矢量信息进行解码并将其送到存储控制器17。
把为运动补偿而读出的基准图象数据经数据总线从存储器2输入到基准图象存储器153和154,读出两个基准图象存储器153和154并将其交替写入下面将要详述的宏模块单元中。也就是说,当它们中的一个处于基准图象数据写入模式时,另一个则处于读出模式。基准图象数据取决于帧编码类型,P帧数据只是来自前一个帧的数据,B帧数据是来自前一个帧和后一个帧的数据。I帧不需要基准图象数据而且不从存储器2读数据。
从基准图象存储器153和154读出的基准图象数据经串行电路152把48比特宽度的数据转换成象素单元的数据后作为加法器151的一路输入信号。为了对B帧的编码数据进行解码,在需要时由串行电路152对来自前后帧的基准图象数据中间值进行计算并输出该中间值。加法器151的另一路输入信号是由IDCT单元14进行过逆离散余弦变换的IDCT图象数据,通过加法器151实现运动补偿并产生解码图象数据。在解码图象数据中,通过并行电路156使一些象素并行而且再次将其数据宽度设置为48比特,然后将数据送到解码图象存储器157和158。解码图象存储器157和158还在宏模单元中以存储体格式(bank format)进行工作,而且当一个存储器处于解码图象数据写模式时,另一个处于读模式。此外,把从解码图象存储器157和158中读出的解码图象数据通过数据总线写入存储器12。
图6表示显示单元16的详细结构。在显示单元16中,标号161表示亮度行存储器,162是内插电路,163和164是两种色度信号行存储器,165是串行电路,166是定时控制器,167是OSD发生器电路,168是多路复用设备。串行电路165把通过数据总线输入的48比特数据宽度的显示图象数据转换成8比特象素单元数据并将其依次输出。将亮度信号的显示图象数据写入亮度信号行存储器161并将两种色度信号的显示图象数据分别写入色度信号行存储器163和164中。例如,当在一个水平扫描周期内从存储器2中三次读取数据时,亮度信号行存储器161是容量为240字节的FIFO存储器,而色度信号行存储器163和164分别是容量为120字节的FIFO存储器。
在不包括水平消隐期和竖直消隐期的显示期内,根据13.5MHZ的显示时钟从亮度信号行存储器161中依次读出亮度信号的显示图象数据。同时,根据6.75MHz的时钟,从色度信号行存储器162和163中依次读出两种色度信号的显示图象数据,其中6.75MHz的时钟频率是显示时钟频率的1/2。对每个行存储器161、162、163的写入和读出时间是由定时控制器166根据定时单元18给出的定时控制信号进行控制的。
内插电路162在竖向上分别对两种色度信号的显示图象进行内插处理,并使竖直行的数量等于亮度信号竖直行的数量。此后,内插电路对象素单元中两种色度信号的显示图象数据交替地进行时分多路转换。在每个场中,把经解码处理而解码的120行色度信号转变成两倍于它的240行的信号。为此,在内插电路162中含有用于储存前一行上两种色度信号的解码图象数据的行存储器。
显示单元16能够完成在存储器2中设定用于存储OSD(图象显示的)数据的OSD区域、从OSD区域中读出OSD数据作为部分显示图象数据、产生字符和图形的比特变换图象数据、和将其叠加到显示图象数据上的职能。
OSD发生器电路167储存和保持从存储器2内部一次读出的OSD数据并根据显示图象数据的输出时间产生和输出字符及图形的比特变换图象数据。多路复用设备168把从OSD发生器电路167输出的比特变换图象数据叠加到从行存储器161、163和164输出的显示图象数据上,并将其输出作为输出图象数据。图7是表示存储控制器17结构的示意图。在该图中,标号171表示串行电路,172是并行电路,173是空存储区容量计算器,174是编码数据写地址发生器单元,175是编码数据读地址发生器单元,176是运动补偿基准图象数据读地址发生器单元,177是解码图象数据写地址发生器单元178是显示图象数据读地址发生器单元。
串行电路171把通过数据总线输入的数据从48比特数据转换成三个16比特的串行数据并将基输出到存储器2中,串行数据的宽度与存储器2的输入/输出总线宽度相等。
并行电路172把从存储器2输入的宽度为16比特的数据转换成三个并行的连续数据并将它们输到数据总线作为48比特数据。
标号174-178的单元产生存储器2的地址选择信号和控制信号。根据输出到存储器2或从存储器2输入的数据种类,其中的一个单元工作并将正在工作的地址选择发生器单元的输出信号送到存储器工作为地址选择信号和控制信号。
编码数据写地址发生器单元174产生用于依次写入编码数据的地址和控制信号并且控制编码数据向存储器2的写入。编码数据读地址发生器单元175产生用于依次读出编码数据的地址选择和控制信号并控制编码数据从存储器2的读出。当解码数据缓冲存储器12中未给出数据请求信号时,即使处于可以读取编码数据的周期内,也停止从存储器2读取编码数据。空存储区容量计算器173计算从编码数据写地址发生器单元174产生的写地址和编码数据读地址发生器单元175产生的读地址分配给存储器2中编码数据的缓冲存储器中的空白区容量,并且当存在着用于储存编码数据的自由区时,向输入缓冲存储器11输出数据请求信号。
运动补偿基准图象数据读地址发生器单元176依次产生读取基准图象数据的地址选择和控制信号并且控制基准图象数据从存储器2的读出。根据运动补偿单元15给出的运动矢量值将补偿值加入基准图象数据读地址。待读的基准图象数据的种类取决于解码期间帧的编码类型,且不必将其读出。因此,需要作为基准图象数据读取的数据量要视各种情况而定。所以,即使在可以读取基准图象数据的周期内,也可以中途中止从存储器2读取基准图象数据。解码图象数据写地址发生器单元177依次产生写入解码图象数据的地址选择和控制信号并控制解码图象数据向存储器2的写入。显示图象数据读地址发生器单元178产生依次读取显示图象数据(有包括OSD数据的情况)的地址选择和控制信号并且控制从存储器2读取显示图象数据。在这种情况下,单元178根据可变长度解码单元13输出的编码类型,从存储器2的三个帧存储器中选择其中之一并产生与其对应的地址。
图8、9和10是表示用于使解码处理和显示处理同步的存储器2的控制系统。存储控制器17根据由定时单元18依据水平同步信号和竖直同步信号产生的定时控制信号来执行存储控制。
图8表示用于解释解码过程和显示过程的流程及时间的视图。图8(a)表示待解码的编码数据的帧顺序而图8(e)表示待显示的显示图象数据的帧顺序。图8(b)-图8(d)分别表示在假设每个帧存储器是由两个场存储器构成的情况下在存储器2中三个帧存储器(以下称为FM1-FM3)的存储图象。从(a)向下指向(b)-(d)的箭头表示解码图象数据的写入,从(b)-(d)向上指向(a)的箭头表示基准图象数据的读取,从(b)-(d)向下指向(e)的箭头表示显示图象数据的读取。
按照本发明,进行解码处理,使得对每个帧的编码数据所进行的解码处理总是在一帧周期内结束而且在每个帧的解码处理期间仅在预定的时间里停止对编码数据的解码处理。可以将该时间图用于对两个当前的525/60和625/50系统的电视视频信号的编码数据进行解码处理和显示处理。
将解码图象数据写入FM1-FM3之一中。把为断定P帧和B帧而使用的I帧或P帧的解码图象数据交替地写入FM1和FM2中。将B帧的解码图象数据写入FM3。图10(b)-10(d)中示出的稍宽一些的深色阴影线表示解码图象数据的写入状态。
为了对P帧的编码数据进行解码,将前一个帧的解码图象数据从FM1或FM2中读出作为基准图象数据。通过选择其中有一个靠近在目前的时基上储存的正在解码的帧的帧的帧存储器来控制对用于读取基准图象数据的FM1或FM2的选择。和写入解码图象数据的帧存储器一样,选择一个与读取基准图象数据的帧存储器不同的帧存储器并将解码图象数据写入该帧存储器中。为了对B帧的编码数据进行解码,将前一个帧和后一个帧的解码图象数据从FM1和FM2中读出作为基准图象数据。图8(b)-10(d)中所示较宽的浅色阴线表示基准图象数据的读取。
如图中所示,在每个帧的解码处理中,在预定的时间里停止对编码数据进行解码处理。每个解码处理模块13、14和15包括用于根据从定时单元18接收到的定时信号中止解码处理的解码中止装置。
通过读取在一帧周期内按显示顺序储存在FM1-FM3之一中的帧的解码图象数据可以获得显示图象数据。解码的帧周期和显示的帧周期彼此偏移0.5帧,也就是说,一个场周期。
在进行解码和开始写入FM3的帧周期之后,相隔一个场周期开始读取用于显示的B帧图象显示数据。在I帧和P帧内,还存在因帧的重新排布处理而引起的延迟。在图8(b)-8(d)中,每条粗实线表示显示图象数据的读取状态。通过观察解码期间帧的编码类型可以确定选择显示处理的帧存储器。就I帧及P帧而言,除了延迟一个场之外,它们与从其中读取FM1或FM2中基准图象数据的帧存储器相符合。B帧与FM3相符合。
如图8中B2和B3所示,当使多个B帧连续时,在连续的帧周期内把通过对其解码而得到的B帧解码图象数据写入FM3。因此,在由于写入新的B3帧解码图象数据而需重写前一个B2帧的解码图象数据之前,必需显示和读取B2帧的解码图象数据。为了达到此目的,在B帧的解码和写入以及该帧的显示和读取之间形成一个场周期的延迟而且设置了预定的中止期以便同时对编码数据进行解码处理。解码处理的中止期不仅关于B帧而且还关于I帧和P帧设置。由此,不管帧编码的类型如何,解码的时间是相等的,而且不管编码的类型如何,解码图象数据的写入是通用的。
图9是被图8中椭圆形围住的部分的放大视图,其表示当B帧连续时用于说明解码处理中止期的FM3的存储控制状态。图9中所示从左上到右下由小矩形连续构成的阶梯形状表示写地址变化的解码状态。对FM3的地址以例如从左象素到右象素,从上行到下行,和从第一个场到第二个场的隔行显示扫描顺序进行指配。因此,对于B帧每个模块中的解码写入而言,写地址并不连续增加而是在中途被跳过。对于帧内的解码写入而言,虽然写地址是不连续的,但是地址作为整体是逐渐增加的。
假设把在帧内所有模块中和竖直位置相等在水平排行的一组模块称为模块行,则把解码写入的写地址和显示读出的读地址转换到模块列单元中。这相当于一组16行的象素。因此,当在每个模块行中对模块进行依次解码之后,要将解码写地址至少固定在与模块行中每个象素相应的地址范围内。也就是说,它们是16行的地址。这个与每个模块行对应的地址范围用图9中所示的小矩形表示。矩形的高度等于构成帧中模块行的竖直行数量的一半,也就是说,地址范围对应于场中竖直行数量如8行地址。
在图9中,从左上向左下画的粗实线表示显示图象数据的读取。
在图中所示的范围内,读出用B2表示的B帧。为了在B帧的两个场中进行这样的显示读取,要使读地址连续增加。然而,当在场和场之间存在竖直消隐期时,要暂时停止显示读取。表示显示读地址变化的粗实线的斜度两倍于表示解码写地址变化的矩形排成的阶梯斜度。
在通过解码写入将B2象素的解码图象数据写入FM3之后和通过下一个B帧中B3的解码写将其重新写入之前需要进行从FM3中依次读取B2中每个象素数据的显示读取。也就是说,阻止表示解码图象数据中写地址变化的且由矩形连接而成的阶梯形状与表示显示图象数据中显示地址变化的粗实线相交。为此,在该实施例中,在B帧的解码写和显示读之间设置了一个场周期的延迟,并且设置了预定的中止期以便同时对每个帧的编码数据进行解码。即,在B2帧中第一个场的显示读结束之前完成B2帧的解码写,而在B3帧的解码写开始之前开始B2帧中第二个场的显示读。
在每个帧的解码帧周期之间设置的中止期的长度是第一个场中最低模块行所有行的显示周期、第一个场和第二个场之间的竖直消隐期、以及在第二个场中最高模块行所有行的显示周期的总和。例如,在625/50系统中,第一个场和第二个场之间的竖直消隐期等于约25行的显示期,所以解码处理中止期的长度是相当于8+25+8=41行显示期的时间。为了缩短中止期和尽可能地保持每个模块的解码处理期,要将中止期压缩到最小长度。
按照上述本发明的存储控制系统,可以通过三个帧存储器进行解码处理和显示处理。在625/50系统中一个帧需要的存储容量大约是4.7兆比特,所以总的帧存储容量是大约14兆比特。可以将从开始对编码数据进行解码到显示图象数据显示开始之间的延迟时间设定为1.5帧的周期。
图10是表示当不使用帧内插编码时,解码处理和显示处理的流程和时间的视图。在该实例中,只使用了一个帧存储器(FM1α)。将这个帧存储器的尺寸设计成稍大于一个帧的容量的存储器。图10(a)表示待解码的编码数据的帧顺序,图10(c)表示待显示的显示图象数据的帧顺序。图10(b)表示FM1α的存储器存取状态并分别表示两个其尺寸比一个场大预定尺寸的场存储器。两个场存储器由粗虚线分开。从(a)-(b)向下的箭头表示解码写的状态,从(b)-(a)向上指的箭头表示基准图象数据的读取,从(b)-(c)向下指的箭头表示显示图象数据的读取。在图中,当将解码图象数据写入FM1α时,按下述方式判断写入每个场存储器中的地址加入一个场的偏移量以便在每个帧周期内将地址写入每个场存储器中,然后根据每个场存储器的容量进行模操作,其中场存储器的尺寸大于一个场的预定尺寸。也就是说,将每个场存储器作为环形缓冲器使用。图10(b)中稍宽一些的深色阴影线表示解码图象数据的写状态。
在P帧的帧间编码模块中,读取储存在FM1α中的前一个帧的解码图象数据作为基准图象数据。在这种情况下,根据运动矢量的大小把正偏移量或负偏移量加到读地址中。将解码写入前一个帧的解码图象数据参照读出。因此,把与前一个帧相同的偏移量从每个场存储器加入到读地址,然后根据场存储器的容量进行模操作。在图10(b)中,较宽的浅色阴影线表示这种状态。
通过读取在每个帧周期内储存在FM1α中的每个帧的解码图象数据来进行解码图象数据的显示读取。用与图8同样的方式,使解码帧周期和显示帧周期彼此移动一个场周期。对用于从一个场前开始进行解码写的解码图象数据进行显示读取,以便将与解码写地址相同的偏移量从每一个场存储器加到读地址中,然后根据场存储器的容量进行模操作。在图10(b)中,用粗实线表示这种显示读取的状态。
因为需要在通过新帧的解码写将帧存储器FM1α的解码图象数据重新写之前,完成对前一个帧的基准图象数据的读取和对显示图象数据的读取,所以要使每个场存储器的容量比场的容量大预定的量。也就是说,要使容量增大的范围与最大数量的竖直行相对应,该范围是根据场中的运动矢量使模块偏移的范围,这样就可以使表示解码读地址变化的深色阴影线和表示基准读地址变化的浅色阴影线彼此互不相交。例如,对于625/50系统的电视信号而言,把每个场存储器的容量设定成使其比关于亮度信号一个场的容量大64行,而帧存储器的总容量是约5.8兆比特(1兆比特=1024×1024比特)。在每个帧的解码的帧周期之间形成中止期,该中止期的长度与图8中所示的长度相同。
如上所述,在图8所示的实例中,该装置可以由尺寸略大于一个帧的帧存储器构成。从开始对编码数据进行解码到解码图象数据开始显示的延迟时间是0.5个帧期,由此可以减小帧存储器的容量,同时使从解码到显示的延迟时间短于一个帧,即缩短到0.5帧。如上所述,该存储控制系统能有效地对编码系统提供的编码数据进行解码和显示,其中在短的延迟时间内只需少量存储器的事实表明不需要B帧。
当存储器的容量为16兆比特而且此外当编码数据包含象多路转换标记这样一类编码数据的信息时,可以通过这种标记在图8所示的存储器控制系统和图10所示的存储器控制系统之间实现自动转换。利用该系统,使图象解码装置可以响应两路主要是延迟时间缩短而且只将I和P编码的通信系统,并且对需要高质量图象记录媒体的广播接收系统和再现系统以及I、P和B要全部进行编码。
图11是在帧期内对解码处理和显示处理进行同步处理的存储器2的控制系统图和解释525/60系统实例的视图。在该实例中,在根据水平同步信号和竖直同步信号确定的固定时间段对处于解码处理和显示处理中的存储器2进行存取。
在525/30系统中,帧的频率是30Hz而亮度信号的取样频率是13.5MHz。一帧总共包括525行,由一个帧构成的第一个场包括262行,而第二个场包括263行。例如,当用65.25MHz的时钟作为存储时钟时,一行扫描周期是858×29/6=4147个时钟的时间。将一行扫描周期分成三个1380个时钟的宏模块时间段而剩余的7个时钟是伪时间段。在伪时间段中,中止向存储器2存取数据。
用分配给第293行到第524行以及分配给第0行到第253行的1458个时间段对一个帧的编码数据进行解码。在第285行到第524行上,显示已经解码的帧上第二个场中的图象数据,而在第22行到第261行上,显示目前被解码的帧上第一个场中的图象数据。在每个宏模块时间段中,在时分的基础上,对存储器2进行与一个宏模块的解码处理有关的各种数据的存取和从存储器2中读取待显示的解码图象数据。还按照宏模块时间段对一个宏模块的编码数据进行解码处理。
宏模块是某个区域中的一组图象数据,该区域对亮度信号来说是16个象素×16行的区域,而对两种色度信号来说是8个象素×8行的区域。模块的尺寸是8×8个象素,而且对亮度信号和两种色度信号分别包括4个模块和一个模块。因此,一个宏模块由总共6个模块构成。一个帧由720个象素×480行构成,这样,一个帧就包含(720/16)×(480/16)=1350个宏模块。为了对一帧的编码数据进行解码,为一个帧周期配备了1458个时间段,这样当在每个时间段中基本上完成了一个宏模块的解码处理时,在一个帧周期内可以实现一个帧的解码处理。
如图11所示,在每个宏模块时间段中,就解码处理和显示处理所需的存储器存取而言,设置了三种用于从存数器2中读取数据的时间段,例如(a)显示图象数据读取,(b)基准图象数据读取,和(c)编码数据读取。此外,还设置了(d)存储器更新的时间段。对由动态存储装置构成的存储器2来说需要进行循环更新,所以在(d)存储器更新时,通过依次增加地址来进行存储器2的伪读取。此外,提供两种用于写入存储器2的周期,例如(e)编码数据写入和(f)解码图象数据写入。
虽然在图中没有示出,但是当装置具有OSD功能时,除了上述的之外还设置有(g)OSD数据读取和(h)OSD数据写入。
在图1所示的解码电路1中,在(e)编码数据写入段周期内,输入缓冲存储器11把编码数据从内部FIFO存储器写入存储器2。解码数据缓冲存储器12在(c)编码数据读出段周期内从存储器2中读取编码数据并将其写入内部FIFO存储器。运动补偿单元15在(b)基准图象数据读取段周期内从存储器2读取一个宏模块的基准图象数据,并将其写入内部基准图象存储器,而且在(f)解码图象数据写入段周期内把解码图象数据从内部解码图象存储器写入存储器2中。此外,在(a)显示图象数据读取段周期内,显示单元16从存储器2读取显示图象数据并将其写入内部行存储器中。
图12是用于说明与625/50系统的电视信号相对应的存储器控制系统的示图,而且其与表示525/60系统情况的图11相对应。
在625/50系统中,帧频是25帧/秒而亮度信号的取样频率是13.5MHz。存储时钟是从该取样频率中产生的而且其与525/60系统的存储时钟相同。一个帧由625行组成,包括一个帧的第一个场由312行组成,而第二个场由313行组成。
一行周期是864×29/6=4176个时钟的时间,将一行周期分成三个1380个时钟的时间段,剩余的36个时钟是伪时间段。在选定的一行周期内的时钟数量与525/60系统中的数量相同,这样提高了解码和显示的公用性而且通过伪时间段时钟数量将两者之间的差吸收。在伪时间段周期内,中止对存储器2的数据存取。
用分配到第345行至624行和分配到第0行至第303行的1752个宏模块时间段对一个帧的编码数据进行解码。在337行至624行上,显示已经被解码的帧上第二个场中的图象数据,而在24行至311行上,显示目前被解码的帧上第一个场中的图象数据。在每个宏模块时间段中,在时分的基础上向存储器2进行各种与一个宏模块的解码处理有关的数据存取并从存储器2中读取待显示的解码图象数据。还按照宏模块时间段进行一个宏模块的解码处理。
一个帧由720个象素×576行组成,所以一个帧包括(720/16)×(576/16)=1620个宏模块。为了对一帧的编码数据进行解码,将1752个时间段分配给一个帧周期,使得当在每个时间段中基本上完成一个宏模块的解码处理时,能在一个帧周期内实现一个帧的解码处理。
在每个宏模块时间段中,用与图11中所示525/60系统相同的方式,来提供多种时间段,例如(a)显示图象数据读取,(b)基准图象数据读取,(c)编码数据读取,(d)存储器更新,(e)编码数据写入,和(f)解码图象数据写入。在上述处理结束之后剩余的时间段是备用区而且基本上中止存储器存取。
在图11和12的任一图中,为进行一个宠模块的解码处理和显示处理而分配了时间段。然而,例如,可以用更小的单元,如,2模块单元来分配时间段。在这种情况下,增加了存储器存取过程的转换频率,从而使定时单元和存储控制器的处理变得稍微有些复杂。然而,可以将用于执行解码和显示的每个处理电路所需的工作存储器的尺寸从对应一个宏模块的值减小到对应两个模块的值。
图13表示允许从解码单元1对存储器2进行有效存取的存储器2的结构实例。标号21表示存储体选择器,22是行地址缓冲器,231是列地址缓冲器,232是行地址计数器,241和242是行地址解码器,251和252是列地址解码器,261和262是读出放大器和IO是总线,271和272是存储器阵列,281是输出数据缓冲器,282是输出数据缓冲器。
存储器2包括两个存储器阵列而每个存储器阵列都带有行地址解码器和列地址解码器这样的地址控制电路。
将地址和控制信号输入到存储体选择器21、行地址缓冲器22以及列地址缓冲器231。存储体选择器21判断地址在其上是有效的存储体并且控制行地址解码器241和242以及列地址缓冲器231。当地址是行地址时,存储体选择器21通过行地址缓冲器22把这个行地址送到行地址解码器241和242并且使得与存储器阵列271或存储器阵列272的特定行相对应的存储器阵列根据存储器阵列271(以下称为存储体0)的行地址解码器241或存储器阵列272(以下称为存储体1)的行地址解码器242的解码结果而激活。当地址是列地址时,存储体选择器21将地址保持在列地址缓冲器231中并且由列地址计数器232根据保持值再生一个列地址。由此,可以在不连续输送的情况下在同一行中自动地产生列地址。通过列地址解码器251或列地址解码器252可以对再生后的列地址进行解码。当存储器处于写模式时,存储体选择器21通过输入数据缓冲器281、读出放大器和IO总线261或262把待输入的数据写入存储器阵列271或272的特定地址中。当存储器处于读模式时,存储体选择器21通过读出放大器和IO总线261或262读取在存储器阵列271或272的特定地址中的数据并通过输出数据缓冲器282将其输出。
图14是表示存储器2中数据布置的交换视图。图中所示的标号对应于525/60系统中的标号,而且该图示出了在一帧图象数据包含720个水平象素和480个竖直行的情况下的实例。将存储体0和存储体1的存储器阵列271及272划为三个包含507行的帧存储器,而且在编码数据的缓冲区中包含528行。
图15是表示存储控制器17中从编码数据写地址发生器单元174到显示图象数据读地址发生器单元178的各种地址发生器单元结构的视图,该结构具有与图13中所示存储器2相应的存储体转换控制功能。在运动补偿基准图象数据读地址发生器单元176中,由运动矢量给出的行和列地址的偏移值部分在图中未示出。在图15中,标号71表示行地址发生器电路,72是列地址发生器电路;73是多路复用设备,74是存储体选择器,75是定时控制器。
行地址发生器电路71产生存储器2的行地址,而列地址发生器电路72产生存储器2的列地址。通过多路复用设备73对行和列地址进行多路转换并将其输出到地址总线。存储体选择器74产生存储器2的存储体选择信号(存储体选择)而且定时控制器控制行和列地址发生器电路71和72和存储体选择器74的操作,还产生象写入启动定时信号(WE)这样的控制信号。
图16(a)是表示存储控制器17的控制时间的视图,存储控制器17用于控制存储器12。部分T0、T1、T2···更详细地表示与图11和12所示的解码处理和显示处理中的一种处理相应的一个时间段的工作时间(以下将T0、T1、T2···的一部分称为存储体存取时间段)。在这个存储体存取时间段的单元中,图11和12中所示的存储控制如(a)显示图象数据读取,(b)基准图象数据读取,(c)编码数据读取,(d)存储器更新,(e)编码数据写入,(f)解码图象数据写入等交替地进行对存储器2中存储体0和存储体1的读或写存取。即,在相同的存储体存取时间段中,行地址不改变。当存取不同的存储体时,在一个存储体存取时间段的前一个周期内,行地址是变化的。由此,显然不再需要伴随行地址变化而出现的等待期,而且增加了有效存储器存储体的宽度。在过程(a)-(f)中存储体存取时间段的长度可以不同。
此外,即使在延续经过不同的处理时间的部分,也同样要进行如下的用于交替地对不同存储体进行存取的存储器控制操作,例如,从(a)显示图象数据读取到(b)基准图象数据读取,从(b)基准图象数据读取到(c)编码数据读取,此外从(e)编码数据写入到(f)解码图象数据写入或从(f)解码图象数据写入到(a)显示图象数据读取。因此,需要对存储器中编码数据和解码图象数据的布置进行选择,以便在每次处理时使对存储器2的存取从存储体0开始和在存储体1中结束或是与之相反。
就(c)编码数据读取和(e)编码数据写入而言,在存储器2中一行存储体0和存储体1具有256个列地址而且需要防止存储体存取段中的行地址发生变化,由此将存储体存取段周期的长度设定为8个字(8个列地址)。当存储体存取段是偶数时,(c)编码数据读取和(e)编码数据写入的每个时间段可以从存储体0开始存取和在存储体1中结束存取。因此,当把编码数据从输入缓冲存储器11写入存储器2中时,该装置将断定至少16个字的编码数据预先已存在于输入缓冲存储器11中。当将编码数据从存储器2中读出并写入解码数据缓冲存储器12中时,该装置将断定一个至少16个字的自由区预先已存在于解码数据缓冲存储器12中。图17是表示一个帧图象的块划分状态。在这个实例中,假设一个帧中的亮度信号由720个象素×480行组成,而色度信号(在图中用Cb或Cr表示)在水平和竖直方向上的象素密度是亮度信号(在图中用V表示)的1/2。如图中所示,将宏模块定义为一组6个模块,其中亮度信号的模块在面积上几乎与色度信号的模块相一致。使用这种宏模块,一个帧图象由水平方向的45个宏模块和竖直方向的30个宏模块,总计为45×30=1350个宏模块构成。
图18是表示把上述宏模块单元中的图象数据映入存储器2的帧存储区的视图。如图中所示,当将亮度信号和色度信号映入不同的存储体中时,把一个宏模块的图象数据储存在与一个存储体的一个行地址相应的位置上。此外,把对应于和图象上的水平位置相邻的宏模块的图象数据储存在不同的存储体中。
根据上述结构,对(f)解码图象数据写入的存储器存取来说,当一个存储体存取段对应于宏模块中亮度信号的图象数据,和一个存储体存取段对应于宏模块中色度信号的图象数据和将解码图象数据首先写入偶数宏模块的亮度信号序列,然后写入色度信号序列中,以及将解码图象数据首先写入奇数宏模块的色度信号序列,然后写入亮度信号序列中时,总是对存储体0和存储体1进行交替存取。
图19是表示将要通过与宏模块相应的(b)基准图象数据读取读出的基准图象数据的现有位置。如图中所示,待读取的基准图象数据的范围通常持续四个宏模块。考虑到对各宏模块来说,储存亮度信号图象数据和色度信号图象数据的存储体彼此不相同而且相邻宏模块的存储体也彼此不同,所以可以对存储体进行交替存取。也就是说,根据图18所示图象数据交换的实例,要确定图19左上方用i标出的宏模块数是奇数还是偶数,还要对储存宏模块i的亮度信号图象数据的存储体进行检查。把相同宏模块的色度信号图象数据储存在与亮度信号不同的存储体中。例如,当i是偶数时,将宏模块i的亮度信号储存在存储体0中而把色度信号储存在存储体1中。当按以下顺序宏模块i的亮度信号→宏模块i的色度信号→宏模块i+1的色度信号→宏模块i+1的亮度信号→宏模块i+46的亮度信号→宏模块i+46的色度信号→宏模块i+45的色度信号-→宏模块i+45的亮度信号或以下面的顺序宏模块i的亮度信号→宏模块i+1的亮度信号→宏模块i+46的亮度信号→宏模块i+45的亮度信号→宏模块i+45的色度信号→宏模块i+46的色度信号→宏模块i+1的色度信号→宏模块i的色度信号读取作为基准图象数据的图象数据时,可以从存储体0开始存取和在存储体1结束存取。
此外,对于(a)显示图象数据读取而言,考虑到需通过对每个偶数宏模块按照先亮度信号后色度信号的顺序而对每个奇数宏模块要按照先色度信号后亮度信号的顺序同时显示亮度信号和色度信号,所以能够交替地对存储体0和存储1进行存取。
在上述存储控制系统中,对于(a)显示图象数据读取,(b)基准图象数据读取,(c)编码数据读取,(e)编码数据写入,和(f)解码图象数据写入的时间段来说,不管编码的内容如何均给予固定的时间段。每个时间段均交替地对存储体0和存储体1进行存取而且特定的时间段可以在不考虑在先时间段工作的情况下,在预定的时间里完成存取操作。由此,不再需要在编码数据写地址发生器单元174、编码数据读地址发生器单元175、运动补偿基准图象数据读地址发生器单元176、解码图象数据写地址发生器单元177、和显示图象数据读地址发生器单元178之间进行数据总线存取权判断的功能而且可以使每个电路明显简化。
在对本发明实施例的说明中,通过将帧内编码、采用运动补偿的帧间编码,和帧内插编码相结合而使用了与在帧单元内编码的编码数据相同的编码数据。然而,例如,即使在编码数据是仅通过帧内编码被编码的情况下,仍然可以应用本发明。不仅在帧单元内而且还可以在场单元内对数据进行编码,而且即使当两种编码数据并存时,也可以应用本发明。此外,对编码系统而言,可以不使用该实施例中描述的采用DCT的系统,而代之以使用在预定尺寸的块单元中的另一种处理系统,例如,采用矢量量化的系统。
就输入到图象解码设备的编码数据而言,不仅可以考虑以固定的比特率将编码数据连续输入的情况,还可以考虑以可变比特率或以脉冲群的形式输入编码信号。在两种情况下,都可以应用本发明。
很明显,本发明还适用于与HDTV相对应的数字式视频信号解码设备,HDTV与现行电视的分辨率不同。根据现行525/60电视系统、现行625/50电视系统、和HDTV的多种视频信号,可以使用对处理进行转换的图象解码设备。此外,本发明还适用于不仅能够显示隔行扫描的输出而且还能显示连续扫描的输出的图象解码设备。
而且就图象编码设备而言,当将图象编码设备设计成能进行编码以及解码并且能显示和输出解码图象数据时,本发明适合作为包含在图象编码设备中的图象解码电路来应用。
权利要求
1.一种数据解码设备,包括解码装置,用于接收编码数据和对接收的编码数据进行解码以获得解码数据;存储装置,包含用于储存解码数据的多个存储器阵列,和用于储存供下一次存储器存取操作用的控制信号的控制信号缓冲器;以及控制装置,用于将控制信号提供给存储装置,以使存储装置准备用于解码数据将被写入存储器阵列或将由存储器阵列中读出的下一次写入或读出的存取过程中;其中该控制装置在解码数据正在写入另一个存储器阵列或从该存储器阵列中读出期间,将用于一个存储器阵列的控制信号提供给存储装置。
2.如权利要求1所述的数据编码设备,其特征在于,还包括连接在控制装置和存储装置之间的第一数据总线,以及连接在控制装置和解码装置之间的第二数据总线;其中第二数据总线的数据宽度大于第一数据总线的数据宽度。
全文摘要
视频信号编码数据的解码设备,其能减小所需的存储容量、数据总线宽度、解码延迟时间、以及解码时钟频率。该装置包括解码装置,其通过对模块单元中的编码数据进行解码来获得解码图象数据,所说的模块单元由帧内的多个象素组成;用于储存解码图象数据的存储装置;和显示装置,其根据显示同步信号读取储存在场单元中存储装置内的解码图象数据并得到隔行扫描的显示图象数据。
文档编号H04N7/26GK1395423SQ0113580
公开日2003年2月5日 申请日期2001年10月20日 优先权日1994年6月15日
发明者奥万寿男, 坪井幸利, 藤井由纪夫, 沟添博树 申请人:株式会社日立制作所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1