专利名称:在视频和音频信号处理系统中辅助信息输入缓冲器的合理结构的制作方法
技术领域:
本发明涉及用来压缩和扩张数字信息信号的设备,并且具体涉及对于被包括在以动态变化的压缩比来进行压缩的信息信号之内的辅助信息进行缓冲。
背景技术:
为了存储在例如CD-ROM、激光盘(LD)、录像带、磁光(MO)存储媒体、数字小型盒式带(DCC)、地面式卫星广播系统、电缆系统、光纤分配系统、电话系统、ISDN系统等媒体上,或者通过这些媒体进行分配,对视频和音频信号进行压缩和编码,然后,把所形成的视频流和音频流进行多路复用,以便提供对这种媒体进行馈送的比特流。以后,从这种媒体上重现该比特流、把它进行多路分离,把所形成的视频流和音频流解码、扩张,以便恢复原始的音频和视频信号。
涉及为了存储在这种媒体上、或者通过这种媒体进行分配的音频和视频信号压缩的两个主要国际标准,称为MPEG-1和MPEG-2。这些标准已由在国际标准化组织(ISO)和国际电工技术委员会(IEC)赞助下工作的活动图像专家组(MPEG)制订。
这些MPEG标准是在要把它们应用于广阔范围内的设想之下制订的。其结果是,这些标准考虑到应用于锁相系统和非锁相系统的可能性,在锁相系统中,把音频信号取样频率的时钟和视频信号的帧频时钟锁相于同一时钟参考(SCR)上;在非锁相系统中,音频系统取样频率的时钟和视频系统的帧频时钟独立地工作。与系统是否锁相无关,这些MPEG标准要求对多路复用比特流每经0.7秒至少要加一次时间标记,还要求编码器对音频解码器和视频解码器提供分开的时间标记。
这些MPEG标准的目的之一是,对编码器和解码器设计提供最大的灵活性,同时,确保任一编码器提供的比特流可由任一解码器成功地解码。建立这种兼容性的方法之一是,利用“系统目标解码器”的概念。
图1示出根据MPEG-1和MPEG-2标准的典型音频和视频信号处理系统110,图中,编码器100从视频信号存储媒体2接受视频信号S2,还从音频信号存储媒体3接受音频信号S3。还有一种方法(而且,是更为常用的),是从视频信号存储媒体2,而不是从分开的音频存储媒体接受音频信号S3。
编码器100把视频和音频信号压缩和编码,把所形成的音频流和视频流进行多路复用,以提供出多路复用的比特流S100,将其馈送后以便存储到媒体5上或者由媒体5进行分配。这种媒体可以是适合于存储或分配数字比特流的任一种媒体,例如,CD-ROM、激光盘(LD)、录像带、磁光(MO)存储媒体、数字小型盒式带(DCC)、地面或卫星广播系统、电缆系统、光纤分配系统、电话系统、ISDN系统,等。
编码器100逐帧图像地压缩和编码视频信号。以三种压缩方式之一对视频信号的每一帧图像进行压缩。以帧内压缩方式压缩的图像称为I图像。在帧内压缩方式下,图像本身进行压缩,而不以视频信号的其它图像为参考。以帧间压缩方式压缩的图像称为P图像或者B图像。利用前向预测编码对P图像进行压缩,前向预测编码把以前的I图像或者P图像(即,早于该视频信号出现的一帧图像)用作参考图像。B图像的每一个像块可使用下列任一像块作为参考像块;以前的I图像或者P图像的像块;紧接着的P图像或者I图像(即,在视频信号中出现得较晚的一帧图像)的像块;对以前I图像或者P图像的像块进行线性处理时所得到的像块;紧接着的I图像或者P图像的像块。此外,可以对B图像的像块以帧内压缩方式进行压缩。典型情况是,I图像要求的视频流约为150kb(1kb=1024个比特);P图像要求的视频流为75kb;B图像要求的视频流为5kb。
数字视频和音频的处理系统110还包括解码器600,它从媒体5接受比特流S5作为其输入信号。该解码器执行与编码器100所执行的多路复用相反的多路分离。解码器还通过利用与编码器100所执行的处理互补的处理,对所形成的音频流和视频流进行解码和扩张,以提供已恢复的视频信号6A和已恢复的音频信号6B。已恢复的视频信号6A和已恢复的音频信号6B分别与馈入编码器100的视频信号S2和音频信号S3近似相一致。
图1还示出系统目标解码器(SID)400,它用来规定由编码器100和解码器600所执行的处理。在实际的视频和音频信号处理系统中,编码器很少包括实际的系统目标解码器,而作为替代的是,它执行将系统目标解码器的参数考虑在内的编码处理和多路复用。还有,在实际系统中,设计解码器使其性能等于或超过系统目标解码器。系统目标解码器与编码器、解码器之间的这些相互关系示于图1,利用标以S4A的虚线,把系统目标解码器与编码器互连起来,并且,利用标以S4B的虚线,把系统目标解码器与解码器互连起来。
系统目标解码器400还称为虚拟系统目标解码器、系统参考解码器、或者参考解码处理系统。今后,将称之为系统目标解码器。
在例如CCITTH.261和MPEG-1标准的国际标准规格中,为了对这些标准的视频和音频编码器和解码器的设计人提供指南,对系统目标解码器作了规定。
在MPEG-1系统标准中,系统目标解码器包括参考视频解码器和参考音频解码器。此外,系统目标解码器包括用于参考视频解码器的输入缓冲器和用于参考音频解码器的输入缓冲器。在该标准中,规定了每一种输入缓冲器的大小。该标准还规定了这两种参考解码器的操作,特别是,有关从各自的缓冲器中取出音频流和视频流的方法。
系统目标解码器的概念在不同设计的编码器与解码器之间提供了如下所述的兼容性。把所有的编码器设计成为能提供这样的比特流,该比特流可由系统目标解码器成功地解码,并且在系统目标解码器的各自输入缓冲器中不引起上溢或者下溢。此外,把所有解码器的性能参数设计成为等于或优于为系统目标解码器所规定的性能参数。结果是,所有这样的解码器都能够成功地对任一种编码器所产生的比特流进行解码,这些编码器被设计成可产生能够被系统目标解码器解码的比特流。为系统目标解码器解码而产生的比特流称为“约束的系统参数流”。
图1所示虚拟系统目标解码器400的结构如下。多路分离器401在理论上从编码器100接受比特流S100。多路分离器401把比特流分离成为视频流和音频流。把视频流馈入视频输入缓冲器402,视频输入缓冲器402的输出连接到视频解码器405上。把音频流从多路分离器401馈入音频输入缓冲器403,音频输入缓冲器403的输出连接到音频解码器406上。在图1所示的例子中,根据MPEG-1标准的规定,视频输入缓冲器402的存储容量为46k字节,音频输入缓冲器403的存储容量为4k字节。视频解码器405从视频输入缓冲器402按照一次取出一个视频存取单元地取出视频流,即,在相应于视频信号的帧频的定时(例如,在NTSC系统中,每经1/29.49秒)一次取出一帧图像。从视频输入缓冲器取出的视频流的量对于每一帧来说都在发生变化,因为对每一帧图像所加的压缩量不同。音频解码器406从音频输入缓冲器403在预定的定时一次一个音频存取单元地取出音频流。
从系统构成和为了实现最大灵活性的观点来看,在实际解码器600中,相应于STD内的多路分离器401的单元包括一个切换电路;而相应于STD内的视频解码器405和音频解码器406的那些单元则利用一个具有适合于执行高速信号处理操作的配置的高速数据处理器(DSP)来提供,都是合乎理想的。由于成本的原因,这样的处理一般不能包括大量的存储器。因此,如上所述,MPEG标准考虑到这些实际情况,把视频输入缓冲器402和音频输入缓冲器403的存储容量设定为比较小的值。
图2示出按理想地馈入系统目标解码器400中约束参数(多路复用)系统比特流CPSP的结构。图2所示的比特流具有多层结构,在多路复用层中包括各种头部;在信号层中包括音频流和视频流。在这种结构中,多个组(Pack)随时间而串行排列。每一个组从组的头部开始,至少包括一个视频包和一个音频包。每一个视频包从包的头部开始,至少包括一帧图像中的一部分的视频流。一个视频包可容纳多于一帧B图像的视频流,但是,为了容纳一帧I图像的视频流,需要几个视频包。在包的头部以后,图像可以立即开始,即,图像可从视频包中的任一点开始。
每一个视频包的头部至少可以包括一个视频时间标记,该视频时间标记表明在该包内开始的第一帧图像的显示时刻。如果第一帧为I图像或者P图像,且其解码时刻与其显示时刻不同,则也可以把解码时间标记包括进去。视频时间标记的目的和用途将在下面描述。
每一个音频包至少包括音频流的一个音频存取单元,并从音频包的头部开始。音频包的头部可以包括显示时间标记,该显示时间标记表明在该音频包内开始的第一个音频存取单元解码所获得音频信号的输出定时。在MPEG-1中,每一个音频存取单元约为384个字节。
图2示出了包括第i帧图像结束时的视频流以及至少是第i+1帧图像开始时的视频流的视频包。包括在所示视频包头部中的视频时间标记vts是第i+1帧图像的视频时间标记,因为第i+1帧图像是在该视频包内开始的第一帧。图2还示出包括第j个存取单元结束时的音频信号以及第j+1和第j+2个存取单元的音频信号的音频包。包括在音频包头部中的音频时间标记ats是第j+1个音频存取单元的时间标记,因为第j+1个存取单元是该音频包内开始的第一个存取单元。
编码器100对视频信号S2压缩和编码,并且,至少对音频信号S3编码,以分别提供视频流和音频流;并且,把音频流、视频流、和各种头部进行多路复用,以提供具有图2所示格式的多路复用比特流S100。编码器把多路复用比特流馈给媒体5以便传输或者存储。多路复用比特流是这样的,如果编码器已把多路复用比特流馈给用来解码的系统目标解码器400以便解码,系统目标解码器将成功地把该多路复用比特流解码,在系统目标解码器的任一输入缓冲器中不出现上溢或者下溢。
因为要求多路复用比特流S100能够由系统目标解码器400成功地解码,所以,编码器100至少对视频信号S2加以动态改变的压缩和编码处理。编码器100所施加的压缩比随时间而改变。而且,因为可用于显示视频信号S2图像的视频流的量取决于在图像压缩定时对系统目标解码器中输入缓冲器的占用率,所以,加到已知图像上的压缩量动态地改变。如果已知的音频序列是在不同情况下处理的,那么,从该已知视频序列中得到的视频流的量将不同。因此,至少是由编码器100产生的视频流的压缩比经常在改变。
如上所述,把音频流与视频流进行时分多路复用,以提供多路复用比特流S100。把属于视频信号的已知图像中音频信号的音频流设置在多路复用比特流中比该图像视频流较早或较晚的某一时刻上。其结果是,解码器600必须在由扩张视频流而产生的已恢复视频信号、与由扩张音频流而产生的已恢复音频信号之间提供定时同步。为了提供这一同步,MPEG标准规定编码器至少要在某些视频包的头部上和音频包的头部上加上述时间标记。视频时间标记和音频时间标记表示指令利用时钟对视频流和音频流执行同步解码的各个定时。视频时间标记和音频时间标记还表示通过扩张视频流和音频流中各自的存取单元而获得的已恢复的视频信号单元(即,图像)和已恢复的音频信号单元要在解码器输出端上出现的时刻。为了防止如果解码器不能对丢失的或者多错的音频或视频存取单元解码而出现音频和视频同步错误,这种定时信息是需要的。下面将较详细地描述。
图3示出解码器600的结构。在解码器600中,多路分离器601从媒体5接受多路复用比特流。多路分离器601把多路复用比特流分离成为视频流、视频时间标记、音频流、和音频时间标记。把视频时间标记和音频时间标记分别馈入帧频控制电路698和取样频率控制电路699,以便分别在视频流和音频流的中解码时使用。把视频流从多路分离器601的输出端取出后,馈入到在视频解码器605之前的视频输入缓冲器602中。把视频流从多路分离器取出后馈入到在音频解码器606之前的音频输入缓冲器603中。
视频解码器605按视频输入缓冲器接受存取单元的顺序,从视频输入缓冲器602中取出视频流的每一个存取单元以用于解码。视频解码器605响应于从帧频控制电路698接受的定时信号,把从视频输入缓冲器602取出的视频流解码。帧频控制电路本身又受控于从多路分离器601馈送来的视频时间标记。同样地,音频解码器606按音频输入缓冲器接受存取单元的顺序,从音频输入缓冲器603中取出音频流的每一个存取单元以用于解码。音频解码器606响应于从取样频率控制电路699接受的定时信号,把从音频输入缓冲器603取出的音频流解码。取样频率控制器本身又受从多路分离器601馈送来的音频时间标记的控制。
下面将详细描述视频输入缓冲器602和音频输入缓冲器603。由于下列原因,必须对进入解码器的基本流进行缓冲。第一个原因是,如上所述,压缩比经常在改变。第二个原因是,来自媒体5的基本流的平均传输速率与基本流到各自解码器的平均输入速率不同,其不同取决于时钟误差。第三个原因是,解码器一般是间断地接受各自流的存取单元的,因此,来自媒体5的多路复用比特流S5中的基本流的定时传输速率与基本流至各自解码器的定时输入速率不一致。因此,在多路分离器601与视频解码器605及音频解码器606之间,分别提供了输入缓冲器602和603,以便调整平均传输速率与平均输入速率之差,以及定时传输速率与定时输入速率之差。
图4B~4D为表示多路复用信号中音频流从媒体5传输到音频输入缓冲器603,以及该音频流从音频输入缓冲器到输入音频解码器606时时间相关性的比特指数曲线。音频输入缓冲器603和音频解码器606的配置示于图4A。
比特指数曲线表示在X轴指出的定时通过电路中已知点的比特总数(示于Y轴)之间的相互关系。
图4B示出音频输入缓冲器603的输入端IA点上的平均比特指数,它反映从媒体传输音频流时的平均速率。曲线表明,从媒体传输音频流的平均传输速率基本恒定。然而,该曲线并非直线,因为传输速率由于时钟漂移而随时间改变。
图4C示出了视频输入缓冲器602输入端IV点上实际的比特指数。首先,没有比特馈入到音频输入缓冲器中,因为多路复用器把视频流馈入视频缓冲器。然后,多路分离器601遇到复用比特流中的第一个音频包,把该音频包中所包含的音频存取单元馈入音频输入缓冲器603。紧接在第一个音频包之后,在多路分离器把下一个视频包的内容馈入视频输入缓冲器的期间内,多路分离器停止把音频流传输到音频输入缓冲器中。然后,多路分离器601遇到多路复用比特流中另一个音频包,把该音频包中所包括的音频存取单元馈入音频输入缓冲器。这一过程在整个解码过程中重复进行。
图4D示出,当音频解码器606从音频输入缓冲器取出音频流时音频输入缓冲器603输出端OA点上的比特指数。音频解码器从音频输入缓冲器每次一个存取单元地取出音频流。例如,每经24ms就定时地取出一个存取单元。
如上所述,当在编码器100中对每一帧视频信号进行了压缩和可变长度编码时,所产生视频流的量取决于该帧视频信号的压缩方式而显著地逐帧改变。因此,视频解码器605从视频输入缓冲器602取出视频流的输入速率也显著地逐帧改变。结果是,要求视频输入缓冲器602的存储容量显著地大于音频输入缓冲器603的存储容量。例如,MPEG-1标准要求视频输入缓冲器602的大小(即,存储容量)为46k字节,而该标准设定音频输入缓冲器的大小仅为4k字节。
图5A~5D包括三条表示多路复用信号中视频流从媒体5传输到视频输入缓冲器602以及该视频流从视频输入缓冲器输入到视频解码器605时时间相关性的比特指数曲线。视频输入缓冲器602和视频解码器605的配置示于图5A。
图5B示出视频输入缓冲器602输入端IV点上的平均比特指数,它反映从媒体传输视频流时的平均速率。曲线表明,从媒体传输视频流的平均传输速率基本恒定。然而,该曲线并非直线,因为传输速率由于时钟漂移而随时间逐渐改变。
图5C示出视频输入缓冲器602输入端IV点上实际的比特指数。首先,一直到多路分离器601遇到多路复用比特流中第一个音频包以前,视频流以基本恒定的速率首先馈入视频输入缓冲器。多路复用器中断视频流对视频输入缓冲器的馈入,同时,多路复用器把音频包的内容馈入音频输入缓冲器603。在此中断期间内,比特指数保持不变。在第一个音频包结束时,多路分离器601把紧接着的视频包中的视频包的头部分离出来,然后,恢复视频流对视频输入缓冲器的传输,一直到多路分离器遇到多路复用比特流中另一个音频包。这个过程在整个解码过程中重复进行。
图5D示出,当视频解码器605从视频输入缓冲器取出视频流时,视频输入缓冲器602输出端OV点上的比特指数。视频解码器从视频输入缓冲器每次一个存取单元(即,一帧图像)地取出视频流。例如,每经一个帧周期(例如,在NTSC系统中,每经33.4ms)定时地取出一个存取单元。每次取出视频流的量取决于编码器压缩那帧图像时所采用的方式。图5D示出一个例子,其中,在一序列B图像之后为一帧I图像,这一帧I图像之后为一序列B图像。可以看到,从视频输入缓冲器中取出一帧I图像的视频流的量比取出一帧B图像的视频流的量大得多。
图6A和6B示出了视频输入缓冲器602和音频输入缓冲器603提供的缓冲作用。在这两个图中,把视频输入缓冲器602用来作为一个例子。这两个图都是比特指数曲线。图6A示出理想的缓冲作用,其中,把视频输入缓冲器602简单地用来适应来自媒体传输视频流的传输速率与输入到视频解码器605的输入速率之差。把视频流以基本恒定的传输速率从多路分离器601馈入视频输入缓冲器602,正如图6A中标以IS的直线所表明的那样。如图所示,视频解码器每次一个存取单元(即,一帧图像)地从视频输入缓冲器取出视频流。对任一帧图像取出视频流的量可从约150kb(一帧I图像)改变到约5kb(一帧B图像)。因此,视频输入缓冲器输出端上视频流的比特指数呈阶梯变化,该阶梯的大小取决于每帧图像编码时所用的比特数,正如标以OS的阶梯曲线所表明的那样。
在图6A所示理想缓冲中。不论何时,下列两个条件总会得到满足
(a)从媒体传输到视频输入缓冲器602中视频流的量与视频输入缓冲器602的存储容量(以虚线SC表示)之差,不超过视频解码器从视频输入缓冲器取出视频流的量,即,没有上溢;以及(b)视频解码器605从视频输入缓冲器602取出视频流的量不超过从媒体传输到视频输入缓冲器中视频流的量,即,没有下溢。
然而,如图6B所示,在缓冲中有时会出现上溢或下溢。图6B中,从媒体5接受视频流所采取的传输速率随时间而改变。否则,视频流与图6A所示相同。开始时,视频输入缓冲器602所接受视频流的量比视频解码器605所需的量大得多,结果是,在字母A所表明的点上,视频输入缓冲器上溢,后来,视频输入缓冲器所接受视频流的传输速率降低到视频解码器所要求的视频流以下,结果是,在字母B所表明的点上,视频输入缓冲器下溢。
通过控制所涉及的各个参数,可以防止输入缓冲器的上溢或下溢。在图7A~7C所示比特指数曲线中,示出某些防止上溢或下溢的方法。
图7A所示第一种方法称为媒体从动方法。在这种方法中,控制从媒体5向视频输入缓冲器602传输视频流的量,以便防止出现上溢或下溢。没有这种控制时,传输速率由曲线L1表示。有这种控制时,传输速率由曲线L1′表示。控制来自媒体传输的视频流的量,使下列两个条件得到满足(a)从媒体传输到视频输入缓冲器602中视频流的量(以曲线L1′表示)与视频输入缓冲器的存储容量之差不超过视频解码器605从视频输入缓冲器取出的视频流的量(以曲线L3表示),即,无上溢;以及
(b)视频解码器605从视频输入缓冲器602取出视频流的量(以曲线L3表示),不超过传输到视频输入缓冲器602中视频流的量(以曲线L1′表示),即,无下溢。
曲线L2示出如何通过控制从媒体传输到视频输入缓冲器602中视频流的量,从而控制传输到视频输入缓冲器中视频流的量与视频输入缓冲器存储容量之差。曲线L2′示出当不控制从媒体传输到视频输入缓冲器中视频流的量时的这一差值。
图7B所示第二种方法,称为解码器从动方法。在这种方法中,控制视频解码器的帧频,以便改变视频解码器从视频输入缓冲器取出视频流的量。控制帧频,使下列两个条件得到满足(a)作为馈入视频输入缓冲器602中视频流的量(以曲线L1表示)与视频输入缓冲器的存储容量之差的视频流的量(以曲线L2表示),不超过视频解码器605从视频输入缓冲器取出视频流的量(以曲线L3′表示),即,无上溢;以及(b)视频解码器从视频输入缓冲器取出视频流的量(以曲线L3′表示),不超过从媒体传输到视频输入缓冲器602中视频流的量(以曲线L1表示),即,无下溢。
视频解码器从视频输入缓冲器取出视频流的实际量,由曲线L3′表示。
虽然上述说明是参考视频流作出的,但是,通过改变音频解码器606的取样速率来调整从音频输入缓冲器603取出音频流的速率,对于音频流可以得到类似的结果。
图7C所示的第三种方法调整视频解码器605从视频输入缓冲器602取出视频流的量。例如,这种方法可使视频解码器对部分视频流进行跳跃解码或者对部分视频流进行重复解码,以便调整从视频输入缓冲器取出视频流的量。
曲线L3′示出从视频输入缓冲器602取出视频流的量的改变。在序列初期,为了防止出现上溢,通过从视频输入缓冲器取出一些存取单元而不对其进行解码,从而来增大从视频输入缓冲器取出视频流的量。以后,为了防止下溢,通过从视频输入缓冲器取出某些存取单元并且对其进行一次以上的解码,从而来减小从输入缓冲器取出视频流的量。这在不从视频输入缓冲器取出视频存取单元的情况下提供了附加的图像。
如刚刚所述那样地改变视频解码器的帧频、音频解码器的取样速率或者从媒体5传输出来的多路复用比特流的传输速率,对视频和音频信号处理系统110以外的系统产生不良的副作用。因此,不能任意地去作出刚刚所述的这些改变,只能在有限范围内去做。因此,控制编码器产生的多路复用比特流,以使得解码器的缓冲要求可顺利地得到满足而不必采取刚刚所述的校正方法,是合乎理想的。
在开始解码时,在缓冲处理中很可能出现误动作。如果解码器在整个存取单元已从媒体传输到输入缓冲器中之前就试图从该输入缓冲器取出那个流的存取单元,就要产生下溢。为了防止这一点,仅在已开始从媒体传输比特流并且经过了一定的延时时间之后,才开始进行解码处理。这允许在各自的解码器开始取出用于解码的音频流和视频流单元之前,在各相应的音频和视频输入缓冲器中积累音频流和视频流。
图8A~8D示出起动延时对缓冲的某些影响。图8A示出类似于图6所示的理想缓冲。图8B示出,当以变化的延时速率从媒体传输出多路复用比特流时,适当的起动延时的有利效果。图8B中,起动延时可允许在视频解码器605开始从视频输入缓冲器取出视频流的存取单元之前在视频输入缓冲器602中积累附加的视频流。
在确定最佳起动延时时,必须加以注意。图8C示出起动延时过长的影响。图8C中,视频解码器605在其开始从视频输入缓冲器602取出视频流之前等待得太久。结果是在C点出现上溢。图8D示出起动延时太短的影响。短延时不允许在视频解码器开始从视频输入缓冲器取出用于解码的视频流之前在视频输入缓冲器中积累起足够的视频流。结果是,当视频解码器试图取出第一帧I图像I2的视频流时,在视频输入缓冲器中积累的视频流不够多,在D点出现下溢。图8D还示出,当起动延时适当时,可以取出第一帧I图像I2的视频流而不引起下溢。
图9示出多路分离器601、视频输入缓冲器602、视频解码器605如何处理从媒体5传输出的多路复用比特流以便解码该多路复用比特流中的视频流。多路分离器601、输入缓冲器602、和视频解码器605的电路配置示于图9顶部。
图9左侧示出部分多路复用比特流的例子。这部分已多路分离的比特流包括第n组的全部和第n+1组的开始部分。每一组从组的头部开始,组的头部包括时钟参考SCR,时钟参考SCR表示该组的解码定时。
第n组从组的头部(第n组头)开始,并包括第m视频包,第m视频包本身又包括第i和第i+1帧图像的视频流。第m视频包从视频包的头部(V.Packet H)开始,视频包的头部包括显示时间标记PTSm和解码时间标记DTSm。
第n+1组紧接在第n个组之后,第n+1组包括组的头部(第n+1组头,Pack Head n+1),该组头包括时钟参考SCRn+1。紧接在该组头之后的是第m+1和第m+2视频包,可能还有更多的视频包,第m+1和第m+2视频包中每一个包括一个包头,该包头包括解码时间标记DTS和一帧图像的视频流。
图9还示出视频输入缓冲器602的输入(标以IV)和输出(标以OV)比特指数曲线。用虚线把多路复用比特流中的不同事件连接到比特指数曲线上,这些事件还示于比特指数曲线的X轴上。比特指数曲线IV表示从媒体5通过多路分离器601传输给视频输入缓冲器602中视频流的比特指数。比特指数曲线OV表示,视频解码器605从视频输入缓冲器取出视频流的比特指数。
对多路复用比特流进行如下处理在第n组的组头中以时钟参考SCRn表明的定时,把包括在第n组中的视频流(即,第i和第i+1帧图像的视频流)通过多路分离器601传输给视频输入缓冲器602。然后,在以时钟参考SCRn+1表明的定时,把包括在第n+1个组中的视频流通过多路分离器601传输到视频输入缓冲器602中。把视频包头部中的时间标记存储到其它地方。
以后,在第m个视频包的头部中以解码时间标记DTSm表明的时刻,视频解码器605从视频输入缓冲器602瞬时地取出第m帧图像的视频流。然后,在一帧周期之后,视频解码器从视频输入缓冲器取出也包括在第m视频包中第i+1帧图像的视频流。以后,在以解码时间标记DTSm+1(该解码时间标记DTSm+1被包括在第m+1视频包的包头部中)表明的定时,视频解码器605从视频输入缓冲器602取出第i+2帧图像(该图像是在第m+1视频包内开始的第1帧图像)的视频流。
在以解码时间标记DTSm+2(该解码时间标记DTSm+2被包括在第m+2视频包的包头部中)表明的时刻,视频解码器605从视频输入缓冲器602取出第i+3帧图像(该图像是在第m+2视频包内开始的第1帧图像)的视频流。紧接在取出第i+3帧图像的视频流之后,在比以解码时间标记DTSm+2表明的定时晚一帧图像周期的增量的定时,从视频输入缓冲器602取出一些图像(这些图像的视频流紧接在第i+3视频包中第i+3帧图像的视频流之后)的视频流。
可以把以时间标记表明的各个定时以利用例如晶体振荡器和90KH2参考时钟的绝对定时的形式而存储起来。用这种方法,能够把时钟参考与时间标记之间的差用作起动延时。
如上所述,当把根据MPEG标准的解码器用于对音频流和视频流进行解码时,需要使各自己解码信号的单元馈到解码器输出端上的那些时间关系同步化,该已解码信号是对音频流和视频流的相应存取单元进行解码而形成的。已解码信号单元馈到解码器输出端上的时刻,称为该单元的显示时刻(presentation time)。利用多路复用比特流中的时间标记来提供这种同步。
作为提供所需同步的一个组成部分,其中包括对通过视频流解码而形成的视频信号进行重新排列顺序。这示于图10。如上所述,视频流包括压缩成为I图像、P图像和B图像的各帧图像的视频流。在这些图像中,仅有B图像的解码时刻和显示时刻是相同的。顺便说一说,对于音频流,解码时刻和显示时刻也是相同的。I图像和P图像的显示时刻比解码时刻晚几帧图像周期。在以解码时间标记DTS表明的时刻,视频解码器605从视频输入缓冲器602取出I图像或P图像的视频流。在已把一帧图像的视频流解码以后,把所形成已解码的视频信号暂时存储在视频解码器的输出缓冲器611中。然后,在以显示时间标记PTS表明的时刻,把图像视频信号从视频解码器输出缓冲器馈给视频解码器605的输出端,以便提供视频输出信号的图像。
例如,图10中,在以显示时间标记DTSm表明的时刻,从视频输入缓冲器602取出用于解码的I图像I2的视频流,把所形成的视频信号存储在输出缓冲器611中(该输出缓冲器611设置在视频解码器605中),以便暂时存储已解码I图像和P图像的视频信号。
然后,视频解码器605从视频输入缓冲器602顺序取出B图像B0和B1的视频流,顺序把这些视频流解码,并且按一帧周期的时间间隔把所形成的视频信号馈给其输出端。
其次,视频解码器605从视频输入缓冲器602取出P图像P5的视频流。视频解码器瞬时地把视频流解码,把所形成的视频信号存储到输出缓冲器611中。还有,在以I图像I2的显示时间标记PTS(该显示时间标记与P图像P5的解码时间标记具有相同的值)表明的时刻,视频解码器把图像I2的视频信号馈给其输出端。
最后,在这个例子中,视频解码器605从视频输入缓冲器602顺序取出B图像B3和B4的视频流,以所存储的图像I2和P5为参考图像,顺序把这些视频流解码,并且按一帧周期的时间间隔把所形成的视频信号馈给其输出端。
因为I图像和P图像的视频流在解码定时和显示定时是不同的,所以,把分别表明显示时刻和解码时刻的显示时间标记和解码时间标记包括到I图像或P图像视频流开始的那些视频包的视频包头部中。然而,并不需要把这两种时间标记都包括进去,因为根据MPEG的解码规则,每一帧I图像或P图像的显示时刻与紧接着的I图像或P图像的解码时刻是相同的。换句话说,可以把解码时间标记省略掉,每一帧I图像或P图像可以在以前一帧I图像或P图像的显示时间标记表明的时刻进行解码。
图10还示出MPEG视频信号中解码时刻和显示时刻不同的结果,从比特指数曲线可以看出,视频解码器从视频输入缓冲器取出图像视频流的顺序是这些视频流从媒体5传输到输入缓冲器中的顺序,即,非连续的图像顺序。然而,图像的显示时间标记使图像以图10底部所示的顺序显示出来。
如上所述,时间标记被包括在多路复用比特流的多路复用层内,而不是在音频流或视频流层内。这意味着,当多路复用比特流从解码器中分离出时,失掉了时间标记与它们所属于的存取单元之间的相关性。因此,解码器必须包括一种把从多路复用比特流中提取的时间标记与其各自的存取单元连接起来的措施。一种方法示于图11A和11B。
图11A中,解码器600包括从媒体5接受多路复用比特流的多路分离器601。多路分离器从多路复用比特流中把视频流和视频时间标记分离出来,把视频流和视频时间标记馈入视频流重新组合单元692中。多路分离器还从多路复用比特流中把音频流和音频时间标记分离出来,把音频流和音频时间标记馈入音频流重新组合单元693中。把视频流重新组合单元的输出馈入在视频解码器605之前的视频输入缓冲器602中。视频解码器中的解码是由帧频控制电路698根据视频时间标记来控制。把音频流重新组合单元693的输出馈入在音频解码器606之前的音频输入缓冲器603中。音频解码器中的解码由取样频率控制电路699根据音频时间标记来控制。
多路分离器601从媒体5接受多路复用比特流S5,多路复用比特流S5分离成为视频流、视频时间标记、音频流、音频时间标记。把视频流和视频时间标记馈入视频流重新组合单元692中,该视频流重新组合单元692把视频时间标记插入视频流中。例如,把视频时间标记插入到图11B所示第i帧图像与第i+1帧图像之间。把图11B所示重新组合的视频流馈入视频输入缓冲器602中,将其暂时存储在这里。视频解码器605把视频流(其中包括视频时间标记)以视频输入缓冲器接受时的顺序从视频输入缓冲器602取出。
音频流重新组合单元693以类似的方式从多路复用器601接受音频流和音频时间标记,并且把音频时间标记插入音频流中。例如,把音频时间标记插入到图11B所示音频流的第j存取单元与第j+1存取单元之间。把图11B所示重新组合的音频流从音频流重新组合单元馈入音频输入缓冲器603中,将其暂时存储在这里。音频解码器606把音频流(其中包括音频时间标记)以音频输入缓冲器接受时的顺序从音频输入缓冲器取出。
视频解码器605响应于从帧频控制电路698接受的定时信号,把从视频输入缓冲器602取出的视频流解码。帧频控制电路本身又由从视频解码器馈入的时间标记来控制。类似地,音频解码器606响应于从取样频率控制器699接受的定时信号,把从音频输入缓冲器603取出的音频流解码。取样频率控制器本身又由从音频解码器馈入的音频时间标记来控制。
刚刚描述的解码器解决了使多路复用层中所包括的时间标记与时间标记所属的音频和视频存取单元之间的相关的问题。然而,时间标记嵌入音频流和视频流以后所形成的不再是标准的流了。例如,作为一个适合于对带有嵌入时间标记的视频流解码的解码器,在对不采用时间标记的视频流解码的应用中将是不适合的。因此,使时间标记与时间标记所属于的存取单元以这样的方式相关是可取的,即,该方式不导致形成非标准流和非标准解码器。
近来,MPEG标准已允许把音频流或视频流以外的信息包包括到多路复用比特流中。例如,可以把索引信息包加到比特流上。索引信息允许在快进操作期间通过提供多路复用比特流中连续的存取点地址显示出图像。存取点是一个不要求把另一个存取单元解码就能够解码的存取单元。例如,视频存取点是利用帧内编码全部或部分地进行编码的一帧图像。一般,把存取点设置在每一群图像的起点上。
MPEG标准约定将包括索引信息的包(索引包)与音频包和视频包在多路复用比特流中交错开来,还规定在解码器中提供索引信息缓冲器。然而,MPEG标准对索引缓冲器的大小和操作均未规定。因为在MPEG解码器中所用处理器内对存储器有约束,所以,解码器设计者设置了比较小的用来缓冲索引信息的存储器。而且,编码器设计者已照例使索引包比较大,因此,在多路复用比特流中索引包出现得比较稀少。
在索引缓冲器的大小与索引包的大小和间隔之间呈现的相互关系对录象机快进操作的影响,示于图12A~12E。图12A示出在视频磁带上记录时,部分多路复用比特流的排列情况。索引包包括索引包头部(Dir.Pkt.Hdr),其后为一组索引入口,即,对其后各群图像中的每一群有一个索引入口。紧接在索引包之后的是包括各群图像视频流的多个视频包。因为在这个例子中紧接在索引包之后有20群图像,所以索引包包括20个索引入口。为了简化图面,在这些图中已把与视频包交错的音频包省略掉。
在快进操作期间内,把索引包的头部识别出来,从磁带上读出索引包的内容并将其传输到索引缓冲器内,如图12B所示。然而,因为索引缓冲器的一般容量为500比特左右,每一个索引一般需要100比特左右,所以在存储了前5个索引入口之后,索引缓冲器就会上溢。
在已从磁带重现了索引包的内容以后,从索引缓冲器读出第一群图像(GOP 0)起点的地址,并且使磁带前进到这一地址,以便允许从磁带上重现在第一群图像起点上的存取点,如图12C所示。当为了显示而把这一图像解码时,从索引缓冲器读出第二群图像(GOP 1)地点的地址,使磁带前进到这一地址,以便允许从磁带上重现在第二群图像起点上的存取点(例如,I图像),这也如图12C所示。如图12C所示,这一过程一直重复到第5群图像(GOP 4),此后,索引缓冲器中的内容已被用完。
然后,必须把磁带倒回到索引包,以便重现下5个索引入口。把这些索引入口存储到索引缓冲器中,如图12D所示。然后,录像机利用这5个新索引入口,以便经过在第6群~第10群图像(GOP 5~9)起点上的图像而快进,如图12E所示。为了重现20群图像(GOP 0~19)中在每一群起点上的图像,索引包总共必须重现4次。
如果在快进操作期间内要重现图像(这是模拟录像机在快进操作期间内的常规程序)的话,索引缓冲器的容量与索引包的大小和间隔之间的不匹配使快进操作非常慢。
使用较大的索引缓冲器对于刚刚描述的问题不是很好的解决方法(虽然较大的缓冲器可以减少此问题的严重性),因为MPEG标准并未规定索引包的大小和操作。因此,无论把索引缓冲器作成多么大,索引包比索引缓冲器大的可能性总是存在的。
作为替代紧接在进行分离之后把时间标记嵌入音频流和视频流中的另一种方法,已经提出提供时间标记缓冲器以便存储时间标记一直存储到需用这些时间标记的时候为止。对于与音频存取单元相关的时间标记和对于与视频存取单元相关的时间标记,可以提供分开的缓冲器。MPEG标准对于这些缓冲器的大小和操作没有给出直接的规格。然而,现行MPEG标准要求系统目标解码器对于音频和视频都具有1秒的最大缓冲延时。这意味着,最多只需把时间标记缓冲1秒,它允许计算时间标记缓冲器大小的最大值。如果对视频流中每一帧图像提供一个时间标记,则对视频时间标记必须提供30个时间标记的缓冲器容量。类似地,如果对每一个音频存取单元提供一个时间标记,则对音频时间标记必须提供115个时间标记的缓冲器容量。
在刚刚描述的方法中,MPEG标准对音频和视频时间标记缓冲器的大小间接地设置了最大值。然而,这种对时间标记缓冲器的大小设定最大值的方法具有不良的副作用,即,这种副作用使MPEG标准不适用于需要较长缓冲器延时的应用中。例如,虽然根据MPEG的标准比特率,图13所示低帧频、低比特率的视频信号在其他的情况下可进行多路复用,但是,因为该信号要求解码器缓冲器延时为5秒左右,所以它不能按照MPEG标准进行多路复用。
因为MPEG标准能够有很多种应用,所以,排除由MPEG标准规定的最大延时要求、和建立更合理的方法来规定时间标记缓冲器的大小,才是合乎理想的。
发明的公开本发明通过把未压缩的辅助信息与信息流进行多路复用,提供一种用来产生比特流的方法。通过以可变压缩比来压缩固定大小的信息信号单元来提供可变大小的信息流的单元,从而获得信息流。辅助信息用于其后该信息流的解码。辅助信息的各单元相应于信息信号的各单元。在这种方法中,把信息流在时间上分割成信息流的各部分。把未压缩的辅助信息在时间上也分割成辅助信息的各部分。把信息流的各部分和辅助信息的各部分交错开来,以便提供比特流。最后,对于信息流的分割、辅助信息的分割、和交错步骤,通过利用虚拟系统目标解码器对比特流模拟解码来实行控制。虚拟系统目标解码器包括分离比特流的多路分离器、串联配置的信息流缓冲器和信息流解码器、串联配置的辅助信息缓冲器和辅助信息处理器。把上述每一个串联的配置连接到该多路分离器上。这样地来控制信息流的分割、辅助信息的分割、和交错步骤,使得信息流缓冲器和辅助信息缓冲器既不上溢,也不下溢。
多路分离器接受比特流,从比特流中提取信息流和辅助信息,以分别馈给信息流缓冲器和辅助信息缓冲器。信息流缓冲器和辅助信息缓冲器分别具有第一目标大小和第二目标大小。在第一目标定时,信息流解码器从信息流缓冲器取出可变大小的信息流单元;在第二目标定时辅助信息处理器从辅助信息缓冲器取出相应的固定大小的辅助信息单元。
根据这种方法,当比特流为多层比特流时,在交错步骤中可以在比特流的同一层内对信息流各部分和辅助信息各部分进行交错,也可以在比特流的不同层内对信息流各部分和辅助信息各部分进行交错。
辅助信息可以是信息流的索引信息,在这种情况下,信息流可以包括多个存取点,索引信息的每一个单元涉及其中一个存取点。信息流可以包括多个存取单元,辅助信息可以是用来对信息流存取单元解码的一族时间标记。
本发明还提供用来产生比特流的编码器。编码器包括以可变压缩比压缩固定大小的信息信号单元以提供可变大小的信息流单元的压缩器。信息流分割装置把信息流在时间上分割成各信息流部分。辅助信息分割器把未压缩的辅助信息在时间上分割成各辅助信息部分。辅助信息用于其后该信息流的解码。辅助信息的各单元相应于信息信号的各单元。多路复用器把信息流各部分和辅助信息各部分顺序排列起来以便提供比特流。多路复用器包括通过利用系统目标解码器对比特流模拟解码从而控制信息流分割器和辅助信息分割器的控制器。系统目标解码器包括分离比特流的多路分离器、串联配置的信息流缓冲器和信息流解码器、串联配置的辅助信息缓冲器和辅助信息处理器。把上述每一个串联的配置连接到多路复用装置上。控制器这样地来控制信息流分割器和辅助信息分割器,使得信息流缓冲器和辅助信息缓冲器既不上溢,也不下溢。
本发明还提供一个系统,在该系统中,对该信息信号进行了压缩,以便把信息信号与未压缩的辅助信息一起作为比特流传输给媒体;在该系统中,从该媒体传输出该比特流,并且对该比特流进行了处理,以便通过扩张来恢复信息信号以及恢复辅助信息。辅助信息用于恢复信息信号。该系统包括编码器和解码器。
编码器包括信息信号压缩器,它通过以可变压缩比来压缩固定大小的信息信号单元以提供可变大小的信息流单元,从而提供信息流。编码器还包括用于把已按时间分割的信息流的各部分和已按时间分割的未压缩辅助信息的各部分顺序排列起来以便提供可传输给媒体的比特流的多路复用器。多路复用器包括用于通过利用虚拟系统目标解码器对比特流模拟解码从而确定把信息流和辅助信息分割成为各相应的时分部分的控制器。虚拟系统目标解码器包括用于分离比特流的多路分离器、串联配置的信息流缓冲器和信息流解码器、串联配置的辅助信息缓冲器和辅助信息处理器。把上述每一个串联的配置连接到该多路分离器上。
该解码器类似于系统目标解码器,该解码器包括用于从自媒体传输出的比特流中提取信息流和辅助信息的多路分离器。第一输入缓冲器从多路分离装置接受辅助信息,并且具有一个电路用于从第一输入缓冲器取出辅助信息的一个单元。第一输入缓冲器具有的大小至少是辅助信息缓冲器的大小。第二输入缓冲器从多路分离装置接受信息流。第二输入缓冲器具有的大小至少是信息流缓冲器的大小。解码器从第二输入缓冲器取出可变大小的信息流单元之一,对所取出的信息流单元进行扩张,以便恢复一个信息信号单元。
本发明还提供解码器,用于对未压缩辅助信息与信息流进行多路复用从而获得比特流。通过以可变压缩比压缩固定大小的信息信号的单元来提供可变大小的信息流的单元从而获得信息流。辅助信息用于其后该信息流的解码。辅助信息的各单元相应于信息信号的各单元。解码器包括从比特流中提取信息流和辅助信息的多路分离器。第一输入缓冲器从多路分离器接受辅助信息,并且一个电路从第一输入缓冲装置取出辅助信息的一个单元。第二输入缓冲器从多路分离器接受信息流。解码器从第二输入缓冲装置取出可变大小的信息流单元之一,并响应于辅助信息的该单元以扩张所取出的信息流单元,从而恢复一个信息信号的单元。
本发明还提供一种用来从信息信号得出多路复用比特流的方法。在这种方法中,提供了一种编码器。编码器包括用于压缩信息信号单元以便提供信息流存取单元的压缩器。具有第一大小的第一缓冲器对信息流的存取单元进行缓冲。一个电路在每当第一缓冲器接受信息流的存取单元时提供一个时间标记。具有第二大小的第二缓冲器对时间标记进行缓冲。多路复用器对信息流和时间标记进行多路复用,以便提供多路复用的比特流。
规定了用于对多路复用比特流进行解码的虚拟系统目标解码器。虚拟系统目标解码器包括分离比特流的多路分离器、串联配置的信息流缓冲器和信息流解码器、串联配置的时间标记缓冲器和时间标记处理器。把所述的每一个串联的配置连接到多路分离器上。通过利用虚拟系统目标解码器对比特流模拟解码来确定第一缓冲器的大小和第二缓冲器的大小。然后,利用编码器对信息信号进行编码,同时该第一缓冲器的大小和第二缓冲器的大小被设定为根据确定步骤所确定的各自的大小。
最后,本发明提供一种用来从信息信号得出比特流的方法。在这种方法中,对信息信号的单元进行压缩,以便提供信息流的单元。信息流的单元包括存取点。从信息流得出指向信息流中的存取点的指针。然后,对分割成为信息包的信息流与指针包进行多路复用以便提供比特流。这样地来实行多路复用,使得包括多个顺序存取点的一族信息包相邻于一个包含有仅仅指向该多个顺序存取点的指针的指针包而被多路复用。
附图的简要描述图1为用于音频信号和视频信号的编码-解码系统的框图,该框图表示该系统与根据先有技术的系统目标解码器之间的相互关系;
图2示出图1所示系统中编码器产生的多路复用比特流的结构;
图3示出图1所示系统中解码器的结构;
图4A示出图1所示系统的解码器中音频输入缓冲器和音频解码器;
图4B为表示在图1所示系统的解码器中音频输入缓冲器输入端上平均比特指数的比特指数曲线;
图4C为表示在图1所示系统的解码器中音频输入缓冲器输入端上实际比特指数的比特指数曲线;
图4D为表示在图1所示系统的解码器操作的音频输入缓冲器输出端上比特指数的比特指数曲线;
图5A示出图1所示系统的解码器中视频输入缓冲器和视频解码器;
图5B为表示在图1所示系统的解码器中视频输入缓冲器输入端上平均比特指数的比特指数曲线;
图5C为表示在图1所示系统的解码器中视频输入缓冲器输入端上实际比特指数的比特指数曲线;
图5D为表示视频输入缓冲器输出端上比特指数的比特指数曲线;
图6A示出图1所示系统的解码器中视频输入缓冲器内的理想缓冲;
图6B示出改变输入比特率对图1所示系统的解码器中视频输入缓冲器所提供缓冲的影响;
图7A、7B和7C示出校正图1所示系统的解码器中视频输入缓冲器内缓冲误差的各种方法;
图8A、8B、8C和8D示出缓冲起动延时对图1所示系统的解码器中视频输入缓冲器所提供缓冲的影响;
图9示出在多路复用比特流的结构与图1所示系统的解码器中视频输入缓冲器的操作之间的相互关系;
图10示出在各种类型的图像编码与图1所示系统的解码器中视频输入缓冲器的操作之间的相互关系;
图11A示出图1所示系统中解码器的另一种结构,其中,在把多路复用比特流分离以后,把各自的时间标记嵌入到视频流和音频流中;
图11B示出带有已嵌入由图11A所示解码器产生的时间标记的音频流和视频流;
图12A~12B示出把索引包多路复用到多路复用比特流中的已知方法对录像机快进操作的影响图13示出利用按照MPEG-1标准施加缓冲延时限制的解码器不能进行解码的低比特率;
图14为根据本发明用于音频信号和视频信号的编码-解码系统第一实施例的框图,该框图表示在该系统与根据本发明的一个系统目标解码器的第一实施例之间的相互关系;
图15示出根据本发明的编码器第一实施例的结构,该结构表明编码器的各不同单元以根据本发明的系统目标解码器为参考;
图16A示出由图15所示编码器产生的、预先多路复用的比特流;
图16B示出图15所示编码器产生的多路复用比特流;
图17为根据本发明解码器第一实施例的框图;
图18示出在图17所示解码器第一实施例中,视频输入缓冲器输入端上、索引输入缓冲器输入端和输出端上的比特指数;
图19示出在图15所示编码器第一实施例所产生的多路复用比特流的结构与图17所示解码器第一实施例中视频输入缓冲器输入端上、索引输入缓冲器输入端和输出端上的比特指数之间的相互关系;
图20示出把索引包多路复用到根据本发明的多路复用比特流中的方法对录像机快进操作的影响;
图21为根据本发明用于音频信号和视频信号的编码-解码系统第二实施例的框图,该框图表示在系统与根据本发明的系统目标解码器第二实施例之间的相互关系;
图22A示出根据本发明编码器第二实施例的结构,该结构表示参考根据本发明系统目标解码器第二实施例所确定的编码器各种操作参数;
图22B为示出一种过程的框图,通过该过程参考根据本发明系统目标解码器的第二实施例以确定图22A所示编码器的操作参数;
图23为根据本发明解码器第二实施例的框图;
图24A示出编码-解码系统中整个视频延时的各分量;
图24B示出根据本发明编码-解码系统中整个视频延时和整个音频延时的各分量;
图25示出在图22A所示编码器第一实施例所产生的多路复用比特流的结构与图23所示编码器第二实施例中视频输入缓冲器输入端上、视频时间标记缓冲器输入端和输出端上的比特指数之间的相互关系。
实现本发明的最佳方式本发明把系统目标解码器(STD)的规定扩展到除了包括用于音频流的输入缓冲器和解码器、用于视频流的输入缓冲器和解码器以外,还包括用于例如时间标记和索引信息等未压缩的辅助信息中每一种流的输入缓冲器和解码器。由于重新规定了STD,所以,根据本发明实际的解码器除了包括用于音频流和视频流中每一种流的输入缓冲器和解码器以外,还包括用于辅助信息中每一种流的输入缓冲器和解码器。最后,根据本发明的编码器对音频流、视频流、和考虑到根据本发明修改了STD各参数的每一种辅助信息流进行复用。
这种方法允许把多种不同类型的辅助信息流包括到多路复用比特流中,其中假定(a)在系统目标解码器中为每一种辅助信息流提供了输入缓冲器和解码器;以及(b)以这样的方式把每一种辅助信息流包括到复用信息流中,以便使得STD中的输入缓冲器都没有上溢或下溢。
根据本发明编码-解码处理系统10的第一实施例示于图14,其中,根据本发明在系统目标解码器中提供了索引输入缓冲器和索引解码器。
图14中,解码器1从视频信号存储媒体2接受视频信号S2,还从音频信号存储媒体3接受音频信号S3。还有一种(而且,是更为常用的)方法,是从视频信号存储媒体2而不是从单独的音频存储媒体接受音频信号S3。
编码器1对视频和音频信号压缩和编码,对所形成的音频流和视频流进行多路复用,以提供多路复用的比特流S1,为了存储或者进行分配,把该多路复用比特流S1馈入媒体5。这种媒体可以是适合于存储或分配数字比特流的任一种媒体,例如,CD-ROM、激光盘(LD)、录像带、磁光(MO)存储媒体、数字小型盒式带(DCC)、地面或卫星广播系统、电缆系统、光纤分配系统、电话系统、ISDN系统等。
编码器1逐帧图像地压缩和编码视频信号。以三种压缩方式之一对视频信号的每一帧图像进行压缩。以帧内压缩方式压缩的图像称为I图像。在帧内压缩方式下,图像本身进行压缩而不以视频信号的其它图像为参考。以帧间压缩方式压缩的图像称为P图像或者B图像。利用前向预测编码对P图像进行压缩,该前向预测编码把以前的I图像或者P图像(即早于该视频信号出现的一帧图像)用作参考图像。利用双向预测编码对B图像进行压缩。B图像的每一个像块可使用下列任一像块作为参考像块以前的I图像或者P图像的像块;紧接着的P图像或者I图像(即视频信号出现较晚的一帧图像)的像块;对以前I图像或者P图像的像块进行线性处理时所得到的像块;紧接着的I图像或者P图像的像块典型情况是,I图像要求的视频流约为150kb(1kb=1024个比特);P图像要求的视频流为75kb;B图像要求的视频流为5kb。
数字视频和音频的处理系统10还包括解码器6,它从媒体5接受比特流S5作为其输入信号。解码器6执行与编码器1所执行的多路复用相反的多路分离。解码器执行与编码器1所执行的处理互补的处理,从而对所形成的音频流和视频流进行解码和扩张,以便分别提供已恢复的视频信号S6A和已恢复的音频信号S6B。已恢复的视频信号S6A和已恢复的音频信号S6B与馈入编码器1的视频信号S2和音频信号S3接近一致。
图14还示出系统目标解码器(STD)4,它用来规定由编码器1和解码器6所执行的处理。在实际的视频和音频信号处理系统中,编码器并不包括实际的系统目标解码器而是在考虑到系统目标解码器的参数的情况下执行编码处理和多路复用来作为替代。还有,在实际系统中,设计解码器时考虑到系统目标解码器的参数。系统目标解码器与编码器、解码器之间的这些相互关系示于图14,利用标以S4A的虚线把系统目标解码器4与编码器1互连起来,并且,利用标以S4B的虚线把系统目标解码器4与解码器6互连起来。
系统目标解码器4包括参考视频解码器、参考音频解码器、和它们各自的输入缓冲器。此外,系统目标解码器包括索引解码器和用于索引解码器的输入缓冲器。MPEG标准规定了音频输入缓冲器的大小、视频输入缓冲器的大小,以及音频和视频解码器的操作。此外,本发明规定了索引缓冲器的大小和索引解码器的操作,从而使它们与MPEG标准所规定的其它缓冲器的大小和其它解码器的操作相兼容。
如上所述,系统目标解码器的概念在不同设计的编码器与解码器之间提供了如下的兼容性。把所有的编码器设计成为可提供能够由系统目标解码器成功地解码的、并在系统目标解码器的各自输入缓冲器中不引起上溢或者下溢的比特流。此外,设计所有解码器时考虑到系统目标解码器的参数。结果是,所有这样的解码器都可成功地对设计成为产生能够由系统目标解码器进行解码的比特流的任一种编码器产生的比特流进行解码。由于在STD中包括了索引缓冲器和索引解码器,所以,本发明允许编码器和解码器在其它方面(即,在提供和解码索引信息方面)相互兼容。
图14所示虚拟系统目标解码器4的结构如下。多路分离器41符合原理地从编码器1接受比特流S1。多路分离器41把比特流分离成为视频流S1V、音频流S1A、和索引流S1D。把视频流馈入视频输入缓冲器42,视频输入缓冲器42的输出连接到视频解码器45上。把音频流从多路分离器41馈入音频输入缓冲器43,音频输入缓冲器43的输出连接到音频解码器46上。把索引流从分离器41馈入索引输入缓冲器44,索引输入缓冲器44的输出连接到索引解码器47上。在图14所示的例子中,视频输入缓冲器42和音频输入缓冲器43具有MPEG标准规定的各自的存储容量,即,在MPEG-1标准中,为46k字节和4k字节。根据本发明索引输入缓冲器44的存储容量为1kb,因此,它能够保持有10个索引入口。这一容量与当前所使用的索引缓冲器的容量为同一量级,但是,前者大于后者。这些容量的设定考虑到利用不能包含大存储量的处理器来提供实际解码器6所施加的实际约束的情况。
视频解码器45从视频输入缓冲器42每次一个视频存取单元地取出视频流,即,在相应于视频信号帧频的定时(例如,在NTSC系统中,每经1/29.49秒)每次取出一帧图像。从视频输入缓冲器取出视频流的量对于每一帧都在发生变化,因为对每一帧图像所加的压缩量不同。
音频解码器46从音频输入缓冲器43在预定的时刻每次一个音频单元地取出音频流。
索引解码器47根据需要每次一个入口地从索引输入缓冲器取出索引流。例如,在上述快进方式中,在读出每一群图像起点的存取点之后,索引解码器从索引输入缓冲器取出表明在下一群图像起点上存取点位置的索引入口的索引流。
根据本发明编码器1实施例的结构示于图15。编码器从音频信号和视频信号产生用来馈给媒体5的多路复用比特流。编码器在多路复用比特流中还包括索引信息,以便允许设置程序选择,并允许在快进和快退操作中显示图像。在多路复用比特流中,必须把索引信息的每一个索引包设置在包括着在索引包中的该索引入口所属于的那个视频流的视频包前面。然而,索引包中的索引入口从紧接在索引包之后的视频流中产生。因此,必须在已经把视频信号编码并且在把它多路复用到多路复用比特流中之后,把索引入口加到索引包上。如果媒体5具有随机存取能力(例如,硬盘),使得该媒体可以不时地返回以便把索引入口写入索引包中,则编码器1能在一次传送内实现这一操作。如果媒体5没有随机存取能力,或者,如果媒体5是传输媒体,则在两次传送中编码器才能提供包括索引入口的多路复用比特流。作为一个例子,将描述一个在两次传送中提供用来记录在母带上并从母带录制到分配媒体(例如,录像带或视盘)上的多路复用比特流的编码器实施例。
在编码器1中,把数字视频信号S2馈入视频编码器201,把数字音频信号馈入音频编码器202。分别从视频编码器201和音频编码器202把视频流和音频流经过内部缓冲(未示出)以后馈入多路复用器203。多路复用器203的输出连接到数字存储媒体(DSM)210上,把所形成预先多路复用的比特流暂时存储在这里。
多路复用器203通过把各基本流(即,视频流、音频流、空索引入口的索引流)进行时间多路复用,把预先多路复用的比特流装配成包,把包装配成组。多路复用器还把多路复用层附加上去,即,对每一个包,加上包头;对每一个组,加上组头。多路复用器203从头部发生器204接受头部,从空索引入口发生器205接受空索引入口。
多路复用器203还把预先多路复用的比特流馈给索引入口发生器231,索引入口发生器231计数预先多路复用的比特流的比特指数,检测出在每群图像起点上的存取点,以便为每一个存取点产生一个索引入口。索引入口发生器把索引入口装配到索引流中,把索引流馈给索引流存储媒体233,以便存储。
索引入口计数器235跟踪系统目标解码器4中索引输入缓冲器44的状态。索引入口计数器监控馈给多路复用器203的空索引入口发生器205的输出。馈入多路复用器203的每一个空索引入口使索引入口计数器增加1。索引入口计数器235还监控馈给索引流存储媒体233的索引入口发生器231的输出。每一个索引入口使索引入口计数器的计数值减小1。
根据系统目标解码器4中索引输入缓冲器44的大小,把预置的极限值加到索引入口计数器235内。当索引入口计数器的计数值达到表明索引输入缓冲器已满的预置量时,索引入口计数器把一个缓冲器满中断馈给空索引入口发生器205。缓冲器满中断使空索引发生器停止把空索引入口馈给多路复用器203。当索引缓冲器的容量为1kb时,预置的极限值相应于10个空索引入口。当索引入口计数器235的计数值表明索引输入缓冲器44已空时,索引入口计数器把缓冲器空中断馈给多路复用器203,以便使多路复用器把另一个空索引包插入预先多路复用的比特流。
在编码过程的第二步期间内,把索引入口写在预先多路复用的比特流中空索引入口上,以便提供多路复用比特流;数字存储媒体210把预先多路复用的比特流、索引存储媒体233把索引流分别馈给索引流插入电路250。索引系统控制器256监控从数字存储媒体210读出的预先多路复用的比特流,以便确定在预先多路复用的比特流中索引流要插入的那些索引包的位置。当索引流控制器256检测出每一个索引包的头部时,索引流控制器把索引流插入控制信号馈给索引流插入电路和索引流存储媒体。索引流计数器258确定插入到索引包的索引入口的个数,当索引包已满时,索引流计数器258使索引流控制器改变索引流插入控制信号的状态。
把视频编码器201、音频编码器202、多路复用器203、索引入口计数器235、索引流计数器258全都设计成为提供预先多路复用的比特流,当利用系统目标解码器4符合原理地进行解码时,目标解码器中输入缓冲器42、43、44没有上溢或下溢。用虚线S4A示出这种相互关系。
编码器1操作如下。在记录开始时,多路复用器203转向头部发生器以便接受用于开始记录的全部头部,从而把这些头部馈给DSM210。然后,多路复用器从头部发生器接受记录中用于一个组的组头部,紧接着的是用于第一个包的包头部。第一个包是索引包,因为记录的第一个包是索引包。
然后,多路复用器203转向空索引入口发生器205,把空索引入口从空索引入口发生器馈给DSM210。馈给多路复用器的每一个空索引入口使索引入口计数器235增加1。当索引入口计数器的计数值到达相应于系统目标解码器4中索引输入缓冲器44能够容纳的索引入口个数的预置极限时,索引入口计数器把缓冲器满中断馈给空索引入口发生器205,这使空索引入口发生器停止把索引入口馈入多路复用器。
在空索引入口发生器205已把空索引入口的索引包满馈给DSM210后,多路复用器203返回到转向头部发生器204,以便接受第一个视频包的包头部,多路复用器203把该包头部馈给DSM210。接着,考虑到系统目标解码器4中视频输入缓冲器42和音频输入缓冲器43各自的状态,多路复用器把视频流和音频流进行多路复用,以便提供视频包和音频包,多路复用器把视频包和音频包馈给DSM210。
在此过程期间内,索引入口发生器231监控从多路复用器203馈给DSM210的预先多路复用的比特流,以便检测出该比特流中每一个存取点。存取点是一个不要求把该比特流中其它存取单元解码就能够独立解码的存取单元。例如,视频存取点是利用帧内编码而全部或部分压缩了的一帧图像。音频存取点是任一音频存取单元。在MPEG比特流中,存取点出现在每一群图像的起点上。索引入口发生器231还计数预先多路复用的比特流的比特指数。每当索引入口发生器检测出预先多路复用的比特流中一个存取点时,索引入口发生器就把该存取点的比特指数变换成最终存取媒体(即,在这个例子中,为盒式录像带)上的相对地址。然后,索引入口发生器为那个存取点建立一个索引入口。索引入口发生器把该索引入口作为索引流的一个单元馈给用来存储的索引入口存储媒体233。
索引入口计数器235对于索引入口发生器231所产生并馈给索引入口存储媒体233的每一个索引入口递减其计数值。当索引入口计数器的状态相应于系统目标解码器4中索引输入缓冲器44的空状态时,索引入口计数器235对多路复用器203提供缓冲器空中断。
缓冲器空中断向多路复用器203指示出多路复用器已接受其索引入口将被存储到前面索引包(在这个例子中,为该组起点上的索引包)中的全部存取点;还指出,多路复用器必须在视频流中下一个存取点以前在预先多路复用的比特流中包括另一个索引包。因此,响应于缓冲器空的中断,多路复用器203完成当前的视频包、以及紧接着的音频包(如果有的话)。此后,多路复用器转向头部发生器204,以便接受索引头,多路复用器把该索引头馈给DSM210。然后,多路复用器转向空索引入口发生器205,把空索引入口从空索引入口发生器馈给DSM210,一直到多路复用器从索引入口计数器235接受了缓冲器满中断为止。然后,多路复用器着手对更多的视频流和音频流进行多路复用,一直到另一个缓冲器空中断指示出必须插入另一个索引包。图16A示出被记录在DSM210上的、所形成预先多路复用的比特流。
当把预先多路复用的比特流和用于整个记录的索引入口分别存储到数字存储媒体210和索引流存储媒体233上时,为了利用来自索引流的索引入口代替预先多路复用的比特流中索引包内的空索引入口,执行编码处理的第二次传送,从而,提供多路复用的比特流。从DSM210自其起点开始重现该预先多路复用的比特流,并且,将其输入到索引流插入电路250中。索引流控制器256监控预先多路复用的比特流中索引的头部。
每当索引流控制器检测出索引的头部时,索引流控制器就向索引入口存储媒体233和索引流插入电路250发送索引入口发送信号,并且,把索引流计数器258预置到上面讨论的预置值。响应于索引入口插入信号,索引入口存储媒体233把索引流馈给索引流插入电路250。索引流插入电路把索引流中每一个索引入口设置到紧接在预先多路复用的比特流中索引头部之后的索引包内。索引流插入电路用该索引入口重写预先多路复用的比特流中的空索引入口。索引流插入电路把所形成的多路复用比特流馈给媒体5(图14)。
索引流计数器258监控馈给索引流插入电路250的索引流中的索引入口。馈给索引流插入电路的每一个索引入口使索引流计数器递减1。当索引流计数器到达零时,索引流计数器把包满信号馈给索引流插入控制器256。响应于这一信号,索引流插入控制器改变索引流插入信号的状态。这使索引入口存储媒体233停止向索引流插入电路250发送索引流,并使索引流插入电路以多路复用比特流的形式不变地馈出预先多路复用的比特流,一直到索引流控制器再一次检出在预先多路复用的比特流中的索引包头部。图16B示出馈给媒体5的所形成的多路复用比特流(图14)。
除了在快进方式下以外,为了在快退方式下提供图像,可任选地利用同一基本电路配置。如果在系统目标解码器4中采用同一大小的索引输入缓冲器44,则根据系统目标解码器4中索引输入缓冲器的状态而对各索引包多路复用所进行的控制将会使得插入预先多路复用的比特流中索引包的个数是仅在快进方式下提供图像时的二倍左右。这是因为每一个索引包必须为紧接在索引包(用于快进方式)之后的n/2个存取点保持索引入口,以及为索引包(用于快退方式)之前的n/2个存取点保持索引入口,此处,n为可以存储到系统目标解码器4中索引输入缓冲器44内的索引入口的个数。
图17示出解码器6的结构。设计解码器6时考虑到系统目标解码器4(图14)的参数,以便对图16B所示的、由编码器1产生的多路复用比特流解码。结果是,解码器6的结构很类似于系统目标解码器4。
解码器6包括从媒体5接受多路复用比特流S5的多路分离器61。该多路分离器把多路复用比特流分离成为视频流S5V、音频流S5A、索引流S5D。顺便提及,正如下面将更详细描述的那样,多路复用器还从多路复用比特流中把视频时间标记和音频时间标记(未示出)分离出来。
把视频流S5V从多路分离器61的输出端馈入在视频解码器65之前的视频输入缓冲器62中。把音频流S5A从多路分离器馈入在音频解码器66之前的音频输入缓冲器63中。把索引流S5D从多路分离器馈入在索引解码器67之前的索引输入缓冲器64中。
视频解码器65按视频输入缓冲器接受存取单元的顺序从视频输入缓冲器62中取出视频流的每一个存取单元(即,图像)以用于解码。音频解码器66按音频输入缓冲器接受存取单元的顺序从音频输入缓冲器63取出音频流的每一个存取单元以用于解码。索引解码器67按索引输入缓冲器接受索引入口的顺序从索引输入缓冲器64取出索引流的每一个索引入口。
下面将详细描述输入缓冲器62、63和64。利用完全一致的时钟,把多路复用比特流中多路复用的基本流解码是不可能的。第一个原因是,如上所述,压缩比经常在改变。第二个原因是,来自媒体5的基本流平均传输速率与基本流到各自解码器65、66和67的平均输入速率不同,其不同是取决于取样频率时钟的误差。而且,基本流间断地从媒体5通过多路分离器61传输,并且解码器间断地要求各自基本流的存取单元。因此,来自媒体5的基本流的定时传输速率与基本流到各自解码器的定时输入速率不同。因此,在多路分离器61与各自的解码器65、66和67之间分别提供了输入缓冲器62、63和64,以便调整平均传输速率与平均输入速率之差、以及定时传输速率与定时输入速率之差。
图18在其上部示出表示多路复用信号中视频流S5V从媒体5传输到视频输入缓冲器62时的时间相关性的比特指数曲线。首先,没有视频流馈入视频输入缓冲器,因为多路分离器61首先把索引流馈入索引缓冲器64。然后,紧接在多路复用比特流中第一个视频包头之后,多路分离器以基本恒定的比特率把紧接着的视频包中的视频流传输到视频输入缓冲器62中,一直到该多路分离器遇到多路复用比特流中的下一个索引包头为止。响应于索引包的头部,多路分离器中断把视频流馈入视频输入缓冲器,同时,多路分离器把索引包中的索引流馈入索引输入缓冲器64。在此中断期间内,视频流的比特指数保持不变。在索引包结束时,响应于第一个紧接着的视频包中的包头,多路分离器恢复把包括在视频包中的视频流传输到视频输入缓冲器中,一直到多路分离器遇到多路复用比特流中的另一个索引包头为止。这个过程在整个解码过程中重复进行。视频输入缓冲器输出端的比特指数与图5D所示相同。
如图4C所示,当多路复用器遇到多路复用比特流中音频包的头部并且把紧接着的音频包中的音频流传输到音频输入缓冲器63内时,视频流到视频输入缓冲器62中的传输也中断了。这些中断出现得比传输索引流的中断还要频繁,但是,为了简化图面,图18中已把这些中断省略掉。
图18在其下部示出从媒体5到索引输入缓冲器64的多路复用信号中的索引流S5D传输的时间相关性的比特指数曲线。多路分离器61检测出在多路复用比特流起点上索引包的头部,并且把包括在紧接着的索引包中索引存取单元从媒体5传输到索引输入缓冲器64中。紧接在第一个索引包之后,多路分离器停止把索引流传输到索引输入缓冲器中,同时,多路分离器把紧接着的视频包中的视频流馈入视频输入缓冲器62,并且,把紧接着的音频包中的音频流馈入音频输入缓冲器63。然后,多路分离器61遇到多路复用比特流中下一个索引包的头部,并把紧接在索引包头部之后索引包中的索引流馈入索引输入缓冲器。这个过程在整个解码过程中重复进行。
图18下部还示出索引输入缓冲器64输出端的比特指数。在多路复用比特流起点上,索引流向索引输入缓冲器中的起始传输使索引输入缓冲器的容量被充满。然后,当接受视频流时,索引解码器67从索引输入缓冲器一个一个地取出索引入口,一直到索引输入缓冲器已空为止。然而,因为多路复用比特流已经在考虑索引输入缓冲器和索引解码器的操作的情况下构成了,因此,在下一个存取点之前在多路复用比特流中出现了另一个索引包。结果是,(a)当索引输入缓冲器已空时,下一个索引包中的索引流传输到索引输入缓冲器中,使得把索引流传输到索引输入缓冲器中并不引起索引缓冲器上溢;而且,(b)在索引解码器试图从索引输入缓冲器取出另一个索引入口之前,使得取出下一个索引入口并不引起索引输入缓冲器下溢。
图19示出图18所示比特指数如何与编码器1所产生的多路复用比特流(图14)相关联。图19中,用实线把比特流中的索引包连接到从索引流至索引输入缓冲器64的传输上;用弯虚线把多路复用比特流中视频流内的事件连接到从视频流至视频输入缓冲器62的传输上。还有,利用把视频输入缓冲器62的比特指数曲线与索引输入缓冲器64的比特索引曲线互连的直的虚线,把每一群图像起点上的存取点到视频输入缓冲器62的传输连接到从索引输入缓冲器把该存取点索引入口的取出上。
图20示出,由于利用根据本发明的、改进了的系统目标解码器来控制多路复用比特流的多路复用,对于合理地确定了多路复用比特流中索引包大小和位置的录像机的快进操作所带来的有利效果。所确定了的多路复用比特流中索引包的大小可确保每一个索引包所包括索引入口的个数在系统目标解码器的索引输入缓冲器44中因而也在解码器6的索引输入缓冲器64中刚刚能够容纳得了。所确定了的多路复用比特流中索引包的位置设置确保包括在每一个索引包中的索引入口仅属于紧接在该索引包之后、并处在下一个索引包之前的视频包中视频包中视频流内的存取点。因此,图20与图12A~12E的不同在于,录像机为了读出索引包的内容不必返回几次。
在图20所示快进操作期间内,录像机首先读出在多路复用比特流起点上的索引包,将其索引流传输给索引输入缓冲器64。索引流充满索引输入缓冲器的容量。然后,索引解码器67从索引输入缓冲器取出第一个索引入口,并且,命令录像机跳到由第一个索引入口表明的地址上。在那个地址上,录像机重现在存取点上图像的视频流,该存取点被设置在第0群图像起点的那个地址上。然后,将图像的视频流解码,以供显示。
然后,索引解码器从索引输入缓冲器取出第二个索引入口,并且,命令录像机跳到由第二个索引入口表明的地址上。在那个地址上,录像机重现在存取点上图像的视频流,该存取点设置在第一群图像起点的那个地址上。然后,将图像的视频流解码,以供显示。
重复刚刚描述的过程,一直到索引解码器已从索引缓冲器取出第10个索引入口并且已重现和显示了在第9群图像起点上存取点的图像。现在,索引缓冲器64已空,如果索引解码器67试图取出另一个索引入口,则将使索引输入缓冲器下溢。然而,下一个索引包设置在下一个存取点之前。录像机从索引包重现索引流,把该索引流传输到现在已空、因而能够容纳索引包中整个索引流的索引输入缓冲器内。然后,索引解码器从索引输入缓冲器取出第一个索引入口,并且,指令录像机跳到由第一个索引入口表明的地址上。在那个地址上,录像机重现在存取点上图像的视频流,该存取点设置在第10群图像起点的那个地址上。然后,对图像的视频流解码以供显示。重复这一过程,一直到快进过程停止之时。
根据本发明的编码器1已经利用根据本发明改进的系统目标解码器4确定了多路复用比特流中索引包的大小和位置,从而,在快进过程期间内解码器6决不需要试图从空的索引输入缓冲器取出索引入口(这将使索引输入缓冲器下溢)或者试图当索引输入缓冲器不空时以索引流来充满索引输入缓冲器(这将使索引输入缓冲器上溢)。
图21示出根据本发明数字视频和音频信号处理系统10A的第二实施例,其中,在根据本发明改进的系统目标解码器4A中,对音频时间标记和视频时间标记中的每一种,都提供了时间标记缓冲器和时间标记解码器。
利用根据本发明改进的系统目标解码器4A,编码器1A能够使系统视频流的缓冲延时和其它编码参数最佳化,以便以最好的图像质量对于所需的视频比特率产生顺从的比特流,同时,使解码器的缓冲延时保持为一次传送系统中实际的最低值。
在图21所示系统中,编码器1A从视频信号存储媒体2接受视频信号S2,还从音频信号存储媒体3接受音频信号S3。还有一种方法(而且,是更为常用的),是从视频信号存储媒体2而不是从分开的音频存储媒体接受音频信号S3。
编码器1A对视频和音频信号进行压缩和编码,把所形成的音频流和视频流进行多路复用,以提供多路复用的比特流S1A,为了存储或者进行分配,把该多路复用比特流S1A馈入媒体5。这种媒体可以是适合于存储或分配数字比特流的任一种媒体,例如,CD-ROM、激光盘(LD)、录像带、磁光(MO)存储媒体、数字小型盒式带(DCC)、地面或卫星广播系统、电缆系统、光纤分配系统、电话系统、ISDN系统,等。
编码器1A逐帧图像地压缩和编码视频信号。如上所述,把视频信号的每一帧图像压缩成为I图像、P图像或B图像。
数字视频和音频的处理系统10A还包括解码器6A,它从媒体5接受比特流S5A作为其输入信号。该解码器6A执行与编码器1A所执行的多路复用相反的多路分离。解码器执行与编码器1A所执行的处理互补的处理,对所形成的音频流和视频流进行解码,以提供已恢复的视频信号S6A和已恢复的音频信号S6B。已恢复的视频信号S6A和已恢复的音频信号S6B分别与馈入编码器1A的视频信号S2和音频信号S3近于一致。
图21还示出系统目标解码器(STD)4A,它用来规定编码器1A和解码器6A的处理特性。在实际的视频和音频信号处理系统中,编码器并不包括实际的系统目标解码器,而是在考虑到系统目标解码器的参数的情况下,代之以执行编码处理和多路复用。还有,设计实际解码器时,考虑到系统目标解码器的参数,以使硬件的成本为最低。系统目标解码器与编码器、解码器之间的这些相互关系示于图21,利用标以S4A的虚线把系统目标解码器4A与编码器1A互连起来,并且,利用标以S4B的虚线把系统目标解码器4A与解码器6A互连起来。
系统目标解码器4A包括参考视频解码器45、参考音频解码器46、及其各自的输入缓冲器42和43。此外,系统目标解码器包括视频时间标记处理组件55、音频时间标记处理组件56、及其各自的输入缓冲器52和53。如上所述,MPEG标准规定了音频输入缓冲器的大小、视频输入缓冲器的大小、音频和视频解码器的操作。此外,本发明规定了视频时间标记缓冲器和音频时间标记缓冲器的大小,以及时间标记的编码频率。对时间标记缓冲器的大小和时间标记的编码频率作出规定,以使其它输入缓冲器的利用最佳化。
还有,如上所述,根据本发明改进的系统目标解码器的概念,在不同设计的编码器与解码器之间,不仅相对于音频流和视频流,而且相对于音频和视频时间标记缓冲,都提供了兼容性。特别是,根据本发明改进的音频目标解码器在提供这一兼容性时,不需要施加最大的缓冲延时。这允许把MPEG标准的范围扩展到例如低比特率的视频幻灯演示之类的应用中。
图21所示虚拟系统目标解码器4A的结构如下。多路分离器41A符合原理地从编码器1A接受比特流S1A。多路分离器41A把比特流分离成为视频流S1V、音频流S1A、视频时间标记VTS、音频时间标记ATS。把视频流S1A馈入视频输入缓冲器42,视频输入缓冲器42的输出连接到视频解码器45上。把音频流从多路分离器41A馈入音频输入缓冲器43,音频输入缓冲器43的输出连接到音频解码器46上。把视频时间标记从多路分离器41A馈入视频时间标记缓冲器52,视频时间标记缓冲器52的输出连接到视频时间标记处理组件55上。视频时间标记处理组件控制视频解码器45对视频流进行解码的定时。把音频时间标记从多路分离器41A馈入音频时间标记缓冲器53,音频时间标记缓冲器53的输出连接到音频时间标记处理组件56上。音频时间标记处理组件控制音频解码器46对音频流进行解码的定时。
在图21所示的例子中,视频输入缓冲器42和音频输入缓冲器43具有MPEG标准规定的、各自的存储容量,即,在MPEG-1标准中分别为46k字节和4k字节。设定这些容量时,考虑到利用处理器(由于成本的约束,处理器不可能有大的存储容量)提供解码器6A时所施加的实际约束。
视频解码器45从视频输入缓冲器42每次一个视频存取单元地取出视频流,即,在相应于视频时间标记和视频信号帧频的定时(例如,在NTSC系统中,每经1/29.49秒)每次取出一帧图像。从视频输入缓冲器取出视频流的量对于每一帧来说都在发生变化,因为对每一帧图像所加的压缩量不同。
音频解码器46从音频输入缓冲器43在相应于音频时间标记的定时和预定的定时每次一个音频存取单元地取出音频流。
编码器1A的结构示于图22A。把视频信号S2的存取单元馈给视频编码器201A的输入端,视频编码器201A压缩视频信号S2的每一个存取单元,即每一帧图像。把所形成视频流的存取单元从视频编码器的输出端馈给视频输出缓冲器300的输入端,把所形成的存取单元暂时存储在这里。把视频流从视频输出缓冲器的输出端馈给多路复用器203A。从视频输出缓冲器到视频编码器的反馈防止视频编码器的输出使视频输出缓冲器上溢。
把音频信号S3馈给音频编码器202A,音频编码器202A压缩音频信号S3,把所形成的音频存取单元从音频编码器的输出端馈给音频输出缓冲器302的输入端,把所形成的音频存取单元暂时存储在这里。把音频流从音频输出缓冲器的输出端馈给多路复用器203A。从音频输出缓冲器到音频编码器的反馈防止音频编码器的输出使音频输出缓冲器上溢。
编码器1A还包括时钟信号发生器305。在MPEG-1系统中,时钟信号发生器的频率为90KHz;在MPEG-2系统中,为27MHz。把时钟信号发生器的输出馈给时钟计数器307,时钟计数器307的输出提供时钟参考信号。对于时钟信号的每一个周期,时钟参考信号的值递增1。把时钟参考信号连接到头部发生器204上。在MPEG-2标准中,时钟计数器307还把MPEG-2时钟信号除以300以提供时间标记时钟参考信号,该参考信号的值以90KHz的速率递增1。时钟计数器把时间标记时钟参考信号馈给视频解码时间标记发生器309、视频显示时间标记发生器311、音频显示时间标记发生器313。在MPEG-1中,时钟计数器307把时钟参考信号作为时间标记时钟参考信号而馈给视频解码时间标记发生器309、视频显示时间标记发生器311、音频显示时间标记发生器313。
把视频输入信号S2也馈给视频显示时间标记发生器311的输入端。视频显示时间标记发生器响应于视频输入信号的每一帧图像和时间标记时钟参考信号而产生一个显示时间标记(PTS)。把显示时间标记通过时间标记重新排列缓冲器304而馈给视频时间标记缓冲器301。每一个视频显示时间标记是在视频编码器接受视频输入信号中一帧图像的开始的时刻的时间标记时钟参考信号值。
每当视频编码器201A在压缩视频输入信号S2的过程中改变视频流中存取单元相对于视频输入信号S2中存取单元的顺序的顺序时,时间标记重新排列缓冲器304从视频编码器201A接受重新排列标志信号。响应于重新排列标志信号,时间标记重新排列缓冲器改变视频显示时间标记发生器311产生的显示时间标记的顺序,以便与视频编码器馈入视频输出缓冲器300的视频流中存取单元的顺序一致。
视频编码器201A在与它把视频流中一个存取单元的开始馈给视频输出缓冲器300相同的时刻,把标志信号馈给视频解码时间标记发生器309的输入端。响应于每一个标志信号和时间标记时钟参考信号,视频解码时间标记发生器产生一个视频解码时间标记(视频DTS),视频解码时间标记发生器把该视频解码时间标记馈给视频时间标记缓冲器301。视频解码时间标记是在标志信号表明编码器已把视频流中那个存取单元的开始馈入视频输入缓冲器的时刻的时间标记时钟参考信号值。
视频时间标记缓冲器301暂时存储视频时间标记。视频时间标记缓冲器还从视频编码器201A接受和存储指针,以允许视频时间标记缓冲器把它接受的每一个视频时间标记与存储在视频输出缓冲器300中每一个视频存取单元的图像头部相关联。后来,视频时间标记缓冲器把视频时间标记馈给多路复用器203A。把视频解码时间标记通过加法器319馈给多路复用器,在加法器319中,该视频解码时间标记以“选择的视频缓冲延时”(对此,下面将较详细地描述)的值来进行增值。把视频显示时间标记PTS通过加法器321馈给多路复用器,在加法器321中,该视频显示时间标记以坛大总视频延时(对比,下面将描述)的值来进行增值。多路复用器根据系统目标解码器4A中视频时间标记缓冲器42的占用率有选择地把视频时间标记加到多路复用比特流中视频包的包头部上。
音频编码器202A把一个标志信号馈给音频显示时间标记发生器313的输入端,这与它把音频流中每一个存取单元的开始馈给音频输出缓冲器302相一致。响应于这一标志信号和时间标记时钟参考信号,音频显示时间标记发生器产生一个音频显示时间标记,音频显示时间标记发生器把该音频显示时间标记馈给音频时间标记缓冲器303。每一个音频显示时间标记是在标志信号表明音频编码器已把音频流的一个存取单元馈入音频输入缓冲器的时刻的时间标记时钟参考信号值。
音频时间标记缓冲器302暂时存储音频时间标记。音频时间标记缓冲器还从音频编码器202A接受指针,以允许音频时间标记缓冲器把它接受的每一个音频时间标记与存储在音频输出缓冲器302中每一个音频存取单元头部的地址相关联。后来,音频时间标记缓冲器303把音频显示时间标记馈给多路复用器203A。多路复用器根据系统目标解码器4A中音频时间标记缓冲器43的占用率,有选择地把音频时间标记加到多路复用比特流中音频包的包头部上。
视频输出缓冲器300、视频时间标记缓冲器301、音频输出缓冲器302、音频时间标记缓冲器303、时间标记重新排列缓冲器304都是先进先出(FIFO)缓冲器。
可以把时间标记发生器309、311、313与其各自的视频和音频时间标记缓冲器301、302集成起来。而且,可以使用单一的时钟参考信号,在时间标记发生器中可以把该单一时钟参考信号除以300,以提供时间标记时钟参考信号。
头部发生器204产生多路复用层的各种头部,即,组头部和各种包头部。头部发生器从时钟计数器307接受时钟参考,并且,把头部馈入多路复用器203A。
图23示出编码一解码系统10A中解码器6A的结构。设计解码器6A时考虑到系统目标解码器4A(图21)的参数,以便把由编码器1A产生的多路复用比特流解码。结果是,解码器6A的结构很类似于系统目标解码器4A的。
解码器6A包括从媒体5接受多路复用比特流S5的多路分离器61A。该多路分离器把多路复用比特流分离成为视频流S5V、音频流S5A、视频时间标记S5TV、音频时间标记S5TA。
把视频流S5V从多路分离器61的输出端馈入到视频解码器65之前的视频输入缓冲器62中。把音频流S5V从多路分离器馈入到音频解码器66之前的音频输入缓冲器63中。把视频时间标记S5TV从多路分离器馈入视频时间标记缓冲器72中。从视频时间标记缓冲器读出视频时间标记,馈入视频时间标记处理组件75,该处理组件75控制视频解码器65把视频流S5V中视频存取单元解码时的定时。把音频时间标记S5TA从多路分离器馈入音频时间标记缓冲器73中。从音频时间标记缓冲器读出音频时间标记,馈入音频时间标记处理组件76,该处理组件76控制音频解码器66把音频流S5A中音频存取单元解码时的定时。
视频解码器65以视频输入缓冲器接受存取单元的顺序从视频输入缓冲器62中取出视频流的每一个存取单元(即,图像)以用于解码。音频解码器66以音频输入缓冲器接受存取单元的顺序从音频输入缓冲器63取出音频流的每一个存取单元以用于解码。
下面,将描述上述编码和解码系统10A的操作。
如果编码静止图像,则MPEG-2标准要求每一帧静止图像具有一个有关确定该图像将显示多长的时间标记;
每一帧静止图像至少要显示两帧周期。因此,静止图像的最高频率为,例如,25Hz/2=12.50Hz(对于PAL显示设备)和29.97Hz/2=14.99Hz(对于NTSC显示设备);以及静止图像视频只包括I图像。
因此,解码器从编码器接受比特流必须加缓冲,并且,利用全部视频时间标记,以重新形成带正确定时的静止图像视频比特流。在根据本发明的实际解码系统中,为此目的采用独立的视频时间标记缓冲器。为了允许为此目的使用比较小的时间标记缓冲器,并保证这样的时间标记缓冲器决不上溢,根据本发明的系统目标解码器还包括影响编码系统某些参数的视频时间标记缓冲器(或者,功能相同的参数约束)。
利用图22B所示的配置,图22A所示的一次传送编码器本身除能编码一般的全活动的视频信号以外,它本身还能遵循这一模型的约束。
参考图22A和22B,为了遵循STD视频时间标记缓冲器的约束,编码器1A首先在方框351中确定出能防止STD视频时间标记缓冲器52上溢的STD视频流缓冲延时,其值称为“工作延时”,“工作延时”= (STD时间标记缓冲器52的大小)/(时间标记编码频率)在具有比较小的视频比特率的系统中(例如,在很多静止图像的应用中),为使图像质量最佳,要求缓冲延时大于工作延时之值(the value of DELAY THAT WORKS)。因此,在这样的系统中,尽可能降低时间标记编码频率(正如MPEG-2标准考虑的静止图像视频)。利用锁定的编码系统来帮助实现这一目标。或者,可以增大系统目标解码器中视频时间标记缓冲器52的大小,以提供较长的延时。作为再一种方法,可以降低时间标记编码频率,还可以增大STD视频时间标记缓冲器的大小。
例如,对于采用例如50Hz显示设备的静止图像视频,编码器将采用下列公式计算时间标记编码频率tscftscf=12.5/N(N为正整数)因为MPEG-2标准要求对每一帧静止图像提供一个时间标记,当被用来产生显示静止图像视频的比特流时,视频编码器201A还将以降低的速率(即,以12.5/NHz的速率)产生I图像(如果时间标记编码频率降低了的话)。N的值由编码器操作员设定。
方框353确定为了产生最坏情况(即,最大可能)的、利用了STD视频输入缓冲器42的大小的图像所要求的视频流缓冲延时,其值称为“大图像的延时”,“大图像的延时”= (STD视频输入缓冲器42的大小)/(视频流的比特率)实际上,为使视频比特流对于所有解码器都“安全”,在上式中,编码器1A可以采用小于系统目标解码器视频输入缓冲器42的实际大小的值。
在视频比特率比较低的系统中,“大图像的延时”之值很容易大于1秒。
方框357比较“大图像的延时”与“工作延时”,以确定选择的解码器视频缓冲延时(即,“选择的视频缓冲延时”)。如果“大图像的延时”小于或等于“工作延时”,则编码系统把“选择的视频缓冲延时”之值设定为“大图像的延时”。
在某些应用中,“大图像的延时”将大于“工作延时”。在这种情况下,为了满足全部的STD约束,编码器将把“选择的视频缓冲延时”之值设定为等于“工作延时”。
把“选择的视频缓冲延时”馈给加法器319和方框363。
方框359计算视频输出缓冲器300要求的存储参数视频输出缓冲器(memory quantity video output buffer)的大小。利用“选择的视频缓冲延时”和可用的视频比特率,计算存储参数视频输出缓冲器的大小如下视频输出缓冲器的大小(字节)=“选择的视频缓冲延时”*可用的视频比特率/8方框359把视频输出缓冲器大小的值馈给视频输出缓冲器300。
方框361计算视频时间标记缓冲器301要求的存储参数视频时间标记缓冲器的大小。所要求的存储参数是这样的一个存储参数,它将保持一定的显示时间标记(PTS)和解码时间标记(PTS)数目,该数目由下式给出“选择的视频缓冲延时”*时间标记编码频率。
方框361把视频时间标记缓冲器大小的值馈给视频时间标记缓冲器301。
在方框363、365和367中,解码器根据总视频延时和音频解码器缓冲延时,计算音频编码器缓冲延时(根据该音频编码器缓冲延时计算音频输出缓冲器的大小和音频时间标记缓冲器的大小)。为了在音频和视频之间实现端对端的同步。视频流和音频流通过编码器和解码器的端对端延时必须相等,如图24B所示。
图24A示出方框363中计算出来的、视频流的端对端系统延时的总视频延时中的各分量。这一延时称为总视频延时。
总视频延时=“选择的视频缓冲延时”+“选择的视频重新排列延时”。
“选择的视频重新排列延时”(SVRD)也影响图像质量,该延时通常为1个或1个以上的帧周期。“选择的视频重新排列延时”是两个分量(即,视频编码器重新排列延时(verd)与视频解码器重新排列延时(vdrd))之和。在这一例子中,假定verd为零,设定vdrd为1帧周期。因此,“选择的视频重新排列延时”为1帧周期。
“选择的视频缓冲延时”也是两个分量(即,视频编码器缓冲延时(vebd)与视频解码器缓冲延时(vdbd))之和。
把方框363计算的总视频延时之值馈给加法器321和323以及方框367。
系统目标解码器4A的音频输入缓冲器43比较小,音频解码器46以比较恒定的速率从音频输入缓冲器取出音频流。而且,对音频存取单元不重新排列。方框365计算STD中音频流的音频解码器缓冲延时(adbd)如下音频解码器缓冲延时= (STD音频输入缓冲器43的大小)/(音频比特率)实际上,为使音频比特流对于所有解码器都“安全”,在上式中,编码器可以采用小于系统目标解码器音频输入缓冲器43的实际大小的值。
与总视频延时相比,音频解码器缓冲延时较小。结果是,方框365计算的音频解码器缓冲延时(adbd)通常较短。为了在音频与视频之间提供所要求的端对端同步,通常不可能减小总视频延时,这是因为图像质量要求的原因。因此,方框367根据总视频延时和音频解码器缓冲延时而计算音频编码器缓冲延时(aebd)之值,该值大到足以使总音频延时与总视频延时相等,如图24B所示。
为了提供方框367计算的音频编码器缓冲延时aebd,方框369计算音频输出缓冲器302要求的存储参数的音频输出缓冲器的大小如下音频输出缓冲器的大小(字节)=音频编码器缓冲延时*音频比特率/8。
方框369把音频输出缓冲器的大小的值馈给音频输出缓冲器302。
方框371计算音频时间标记缓冲器303要求的、存储参数的音频时间标记缓冲器的大小(按时间标记为单位)如下音频时间标记缓冲器的大小(时间标记)=音频编码器缓冲延时*音频存取单元的速率。
方框371把音频时间标记缓冲器的大小的值馈给音频时间标记缓冲器303。
参考低比特率应用描述了以上编码器的建立过程。类似的过程可用于建立编码器1A,该编码器1A用于一般的全活动的视频,或者,用于要求很短缓冲延时(例如,约0.2秒)的、例如专业视频应用之类的那些应用上。
下面,返回图22A,在编码器已经计算出刚刚描述的参数,并且,已经利用这些参数建立起视频输出缓冲器300、视频时间标记缓冲器301、音频输出缓冲器302、音频时间标记缓冲器303、加法器319、321和323以后,编码器利用这些参数进行操作,从而对视频输入信号S2和音频输入信号S3按如下方式编码。视频编码器201A和音频编码器202A同时开始把它们各自的输入信号编码。一旦开始了编码过程并且一直到各自的输入信号S2和S3结束,视频编码器201A将以选择的帧频产生视频存取单元把视频存取单元馈给视频输出缓冲器300,并且音频编码器202A将根据选择的音频取样频率和每一个音频存取单元(AAU)中取样的个数而产生各AAU,并把AAU馈给音频输出缓冲器302。视频编码器201A包括防止视频输出缓冲器300上溢的速率控制(rate control)机构(以连接视频输出缓冲器和视频编码器的路径来表示)。通过防止根据上述视频输出缓冲器大小的值设定了大小的视频输出缓冲器的上溢,视频编码器201A执行为使多路复用比特流S1A顺从系统目标解码器4A所施加的约束而需要的执行任务之一。
在编码过程期间内,来自时钟计数307的33比特的时钟参考信号在MPEG-1系统中以90KHz的速率或者在MPEG-2系统中以27MHz的速率连续增长。还有,在MPEG-2系统中,33比特的时间标记时钟参考信号以90KHz的速率增长。
每当视频输入信号S2中一个存取单元的起点到达视频编码器201A时,视频PTS发生器311就将来自时钟计数器307的时间标记时钟参考信号之值作为视频显示时间标记(PTS)而确定。视频PTS发生器把PTS馈给时间标记重新排列缓冲器304,将其暂时存储在这里。PTS借助于一个例如从视频编码器接收的指针而与重新排列缓冲器中相应视频存取单元图像头部的地址相关联。如果在把视频输入信号编码中视频编码器重新排列了视频输入信号S2的视频存取单元,则视频编码器把重新排列标志馈给时间标记重新排列缓冲器。响应于该重新排列标志,时间标记重新排列缓冲器重新排列属于该存取单元的PTS。换句话说,时间标记重新排列缓冲器重新排列PTS,从而使得在时间标记重新排列缓冲器304的输出端上PTS的顺序与在视频编码器201A输出端上视频存取单元的顺序相同。时间标记重新排列电路把视频显示时间标记馈给视频时间标记缓冲器301。
每当视频编码器201A把视频流的一个存取单元馈入视频输出缓冲器300时,视频DTS发生器309就将来自时钟计数器307的时间标记时钟参考信号之值作为该视频存取单元的视频解码时间标记(视频DTS)来确定。视频DTS发生器把视频DTS馈给视频时间标记缓冲器301,并在这里将其与来自时间标记重新排列缓冲器304的PTS一起存储。与视频时间标记一起,视频输出缓冲器还从视频编码器201A接受和存储一个指针,该指针表示在视频输出缓冲器300中该时间标记所属于的那个视频存取单元图像头部的地址。
每当音频编码器202A把音频流的一个存取单元馈入音频输出缓冲器302时,音频PTS发生器313就将来自时钟计数器307的时间标记时钟参考信号之值作为该音频存取单元的音频显示时间标记(音频PTS)来确定。把音频PTS与一个指针一起存储在音频输出缓冲器303中,该指针表示在音频输出缓冲器302中该音频时间标记所属于的那个存取单元头部的地址。
为了产生正确的时间标记值,除了图像重新排列的延时以外,从理论上讲,视频编码器201A和音频编码器202A瞬时地产生存取单元而无延时。因此,对于某些图像,存储在时间标记缓冲器中的视频PTS和视频DTS将有严格相同的值。因为实际的硬件实施在操作时具有延时,所以当产生时间标记时,必须考虑这些延时。例如,时间标记发生器309、311和313可以提供有附加增长的时间标记值,以考虑实际处理的延时。
当视频流的起点进入视频输出缓冲器300时,头部发生器204产生一个头部,头部发生器204把该头部馈给多路复用器203A。头部发生器从时钟计数器307接受时钟参考信号,并且它在头部的时钟参考字段(clock reference field)内包括了在视频流的头部被输入视频输出缓冲器的时刻的时钟参考信号的值。
然后,头部发生器为多路复用比特流的第一个视频包而产生视频包的头部,把该视频包头部馈给多路复用器203A。视频包头部包括长度字段,长度字段的值取决于紧接在视频包头部之后的视频流的字节数。视频包的长度取决于用途,还取决于多路复用策略。
如果视频包包括一个存取单元的头部,则该视频包的头部还可以包括一个时间标记。视频包的头部是否包括时间标记,可以通过检查在视频包中要插入的视频流(这取决于当前对视频输出缓冲器300的读出指针和视频包的长度)、并通过检查在视频时间标记缓冲器301中存储的指针是否指向视频流的这一段来确定。还有,多路复用器执行一种处理过程,它模拟对在系统目标解码器中视频时间标记缓冲器S2的占用率状态的跟踪。如果在视频包头部上加一个时间标记将使视频时间标记缓冲器上溢,多路复用器则不加该时间标记。另一方面,如果视频时间标记缓冲器接近于空,多路复用器可以开始一个新的视频包,从而可以把一个时间标记加到该多路复用比特流上。多路复用器以刚刚描述的方法防止视频时间标记缓冲器上溢或下溢。为了防止音频时间标记缓冲器53上溢或下溢,执行类似的处理。
从视频时间标记缓冲器301分别通过加法器319和321把解码时间标记和显示时间标记馈入多路复用器203A。加法器321使每一个显示标记按利用上述总视频延时计算电路363计算出来的总视频延时之值而增加,并且,加法器319使每一个解码时间标记按利用上述“选择的视频缓冲延时”计算电路357计算出来的“选择的视频缓冲延时”而增加。如果已增大的PTS和已增大的DTS具有不同的值,则多路复用器203A把这两个值都插入视频包的头部。如果已增大的PTS和已增大的DTS具有相同的值(即,当图像为B图像时),则只把一个时间标记插入视频包的头部。
当视频输入信号S2为全活动视频信号时,多路复用器203A将从视频输出缓冲器300读出该视频包的视频流,并在完成了该视频包的头部以后把该视频流插入多路复用比特流S1A中。当正在从视频输出缓冲器300读出视频流时,把对视频输出缓冲器300的读出指针与时间标记缓冲器301中指向视频输出缓冲器300中存储的图像头部之一的那个地址的最老指针相比较。当这些指针相等时,从视频时间标记缓冲器301读出PTS、DTS和有关指针。当视频包包括一个以上的图像头部时,才发生这种情况。当视频输入信号S2为MPEG型静止图像视频信号时,因为每一帧图像必须具有一个有关的时间标记,所以,编码器将在刚好在每一个图像头部之前插入一个包括各时间标记的新视频包头。
由于下列原因,编码器将减小视频包的大小和/或停止把新的视频包插入多路复用比特流中1.为了把音频包插入多路复用比特流中;
2.视频输出缓冲器300已空;或者3.不再有视频流了。
情况1以短于音频解码器缓冲器延时adbd的、有规律的时间间隔出现。一直到音频编码器缓冲器延时时间aebd已经过去以前,不把第一个音频包插入多路复用比特流中。然而,在这一时间过去以前,可以把空音频包(或者是包括在与音频包大小相同的包内的其它有用信息)代替音频包插入多路复用比特流中。这使视频比特率保持为预定的比特率,并防止可能违反STD缓冲约束的视频比特率的暂时提高。
在音频编码器缓冲器延时时间aebd已经过去以后,产生了实际的音频包,并且头部发生器204将产生一个音频包的头部。如果音频包包括一个音频存取单元的头部,则音频时间标记缓冲器303把存储在这里的最老的音频PTS馈给多路复用器203A,该多路复用器将包括音频包头部内的PTS。音频PTS通过加法器323馈出,加法器323使最老的音频PTS增大一个利用上述总视频延时计算电路363计算出来的总视频延时值。
当多路复用器203A从音频输出缓冲器302把音频流传输给多路复用比特流S1A时,音频时间标记缓冲器303将把其指针指向与音频输出缓冲器302的读出指针指向音频输出缓冲器中相同地址的那些时间标记废除。
音频包将继续产生,一直到已把音频编码器202A根据音频输入信号产生的全部音频流插入多路复用比特流S1A中。如果此后需要传输其它任何基本流数据,可以把该基本流数据插入多路复用比特流S1A中。否则,重新把空包代替实际的音频包以有规律的时间间隔插入多路复用比特流S1A中,以保持预计的视频比特率。
关于情况2,在比特率恒定的系统中,视频编码器201A监控视频输出缓冲器300的占用率,并通常能够防止视频输出缓冲器300变空。当视频输出缓冲器接近于空时,通过降低视频压缩比,视频编码器可产生附加的比特流,从而再装满视频输出缓冲器。如果忽视了这样的措施,视频输出缓冲器300确实变空,则多路复用器203A可在多路复用比特流S1A中包括其它有用信息来代替视频流。如果得不到这样的有用信息,多路复用器则在多路复用比特流中包括填充比特,以保持目标比特率。
在比特率可变的系统中,多路复用器203A可以简单地等待,一直到可写入音频包的时候;如果尚太早,以致不能写入音频包,它可以一直等到新的视频存取单元进入视频输出缓冲器300。于是,这可以导致新视频包的产生。
当全部视频输入信号S2已变换成为多路复用比特流S1A时,出现情况3。编码器可以继续产生其它包(如果在S1A中继续插入这样包的数据流的话)。
图25示出利用低比特率的多路复用比特流时编码器6A的操作。图25中的低比特率多路复用比特流并不遵循上述MPEG-2静止图像视频的要求。MPEG标准提供包括视频流的多路复用比特流,该视频流的帧频为每秒约25或30帧额定帧频的几分之一的整数倍(允许的最高帧频为额定帧频之半)。MPEG标准把这个帧频留给解码器去执行非标准处理,从多路复用比特流中得出具有额定帧频的视频信号,用来馈给要求具有额定帧频的视频信号的显示设备。解码器这样地来执行这一操作,即,按额定帧频对存储在其输出缓冲器中的每一帧已解码的图像实行若干次读出。对于使具有低于额定帧频的视频流解码所要求的这种附加处理,提高了解码器的复杂性和成本。
通过对解码器提供具有额定帧频的静止图像视频流,可以避免解码器中附加的复杂性。未压缩的静止图像视频信号包括额定帧频的顺序图像。除了在视频信号中图像发生变化的那些点上以外,这些顺序图像是相同的。对该信号这样地来编码即在图像发生变化以后,把第一帧图像作为I图像以进行编码。还把视频信号中的全部其它图像也编码,但是,是作为最小的P图像来编码。由每一帧这样的图像形成的视频流几乎不大于头部,只要求几百个比特。因此,利用具有额定帧频的视频流可以提供低比特率的静止图像视频,该视频流只带有可用于把图像发生变化以后的第一帧图像编码的、稍稍减少了的比特数。
解码器6A从媒体5接受的多路复用比特流5A的结构示于图25顶部。视频流包括标准帧频(即,每秒25帧或30帧)的多帧图像。把图像分成图像群(GOP),每一群从紧接在图像发生变化以后的第一帧(一帧I图像)开始,其后为一些P图像。P图像的个数相应于在静止图像视频信号中每当图像发生变化之间标准帧周期的个数,在所示例子中,为9个帧周期。群(GOP)被包括在视频流中,因此,每一群之前为一个包括时间标记的视频包头部。
图25在其上方比特指数曲线中,示出视频输入缓冲器62的比特指数;在其下方比特指数曲线中,示出视频时间标记缓冲器72的比特指数。
在视频流的起点上,从解码器61A把第一个视频包头部中的时间标记馈入视频时间标记缓冲器72中。
一旦把视频包的头部多路分离出来,就把第一帧图像的视频流以基本恒定的速率在视频输入缓冲器中累积(为了清楚起见,流程中省略了每当把一个音频包馈入音频输入缓冲器63中、以及每当把一个视频包的头部多路分离出来时所出现的中断)。由于需要在多路复用比特流中按有规律的时间间隔包含音频包,还由于要求在视频流中每经0.7秒至少要包括一个时间标记(一个时间标记要求一个视频包头),所以,把视频流包含在几个视频包中。由于输入比特率低,所以,在视频输入缓冲器62中累积一帧I图像的视频流大约要花1秒。于是,在把第1帧I图像的视频流存储到视频输入缓冲器中以后,就把紧接在I图像之后的P图像的视频流馈入视频输入缓冲器中。
当把紧接在包括一个时间标记的视频包头部之后的视频流中第一帧图像的图像头部写入视频输入缓冲器时,就把一个对图像头部地址的指针写入视频时间标记缓冲器62中的表格内。
在视频输入缓冲器62中累积视频流的期间内,附加的时间标记在视频时间标记缓冲器72中累积,如下方比特指数曲线所示。这些时间标记并不使视频时间标记缓冲器上溢,因为解码器在控制把时间标记加到视频流上时,考虑到视频时间标记缓冲器的占用率。
在允许在视频输入缓冲器62中累积足够视频流的起始缓冲延时以后,从视频输入缓冲器取出第一帧I图像的视频流。在所示例子中,起始缓冲延时为4秒。一旦起始缓冲延时过去了,视频解码器65就以额定帧频从视频输入缓冲器取出视频流的存取单元。在从视频输入缓冲器取出这些视频流的期间内,图25所示比特指数的变化是不可察觉的,因为这些图像的尺寸较小。视频解码器还利用对视频缓冲器62的读出指针检查视频输入缓冲器中的表格。根据该表格,视频解码器可以确定该图像是否具有一个时间标记(在静止图像视频中,全部I图像将具有时间标记,但不是全部P图像将具有时间标记。在全活动视频中,不是全部图像将具有一个时间标记,因为时间标记缓冲器的大小不足以为每帧图像容纳一个时间标记)。如果该图像具有一个时间标记,就从视频输入缓冲器取出该图像的时间标记,并且,用来确定该图像的解码时间。如果该图像没有时间标记,则解码时间由解码器时钟来确定。把所形成的已解码图像以额定帧频馈给解码器输出端,以提供静止图像显示。
在锁相系统中,只在设定音频解码器和视频解码器的起动延时时才需要时间标记。因为解码器锁定于一个公共基准上,所以,不需要利用时间标记在视频解码器与音频解码器之间保持同步。在这样的系统中,第一音频时间标记和第一视频时间标记分别用来设定音频起动延时和视频起动延时。其它全部时间标记可以忽略。
在根据本发明这样的系统中,对系统目标解码器规定如下。时间标记缓冲器52和53的容量为1个时间标记。对视频解码器55的操作作出规定,使得视频解码器55只在多路复用比特流的起点上(而不在其它时间)从视频时间标记缓冲器52取出一个时间标记。对音频解码器56的操作作出规定,使得音频解码器56只在多路复用比特流的起点上(而不在其它时间)从音频时间标记缓冲器53取出一个时间标记。把视频解码器55和音频解码器56锁定于公共时钟基准上。
利用这样的系统目标解码器,编码器将把所产生的第一视频时间标记和所产生的第一音频时间标记加到多路复用比特流上。因为解码器从时间标记缓冲器取出这些时间标记。因为STD将不再需要时间标记,所以,编码器不再把时间标记加到多路复用比特流上。这给出从包的头部中消除时间标记字段的可能性从而允许把节省下来的比特用于其它目的。
本发明已就一个系统作出描述,在该系统中,在多路复用比特流内包括音频流和视频流。然而,本发明能够同样好地用于这样的系统,其中,在多路复用比特流内包括音频流或者视频流之一,而不包括另一种。本发明也能够用于把其它类型的信息信号压缩所形成的流上。虽然本发明还就MPEG-1和MPEG-2标准作了描述,但是,本发明能够同样好地用于那些并不遵循MPEG标准的信息流和比特流上。
标号清单1.编码处理系统2.未压缩的视频信号源3.未压缩的音频信号源4.约束参数的系统目标解码器5.数据传输系统或数据存储系统的多路复用比特流源6.解码处理系统41.多路分离器42.视频信号缓冲器43.音频信号缓冲器45.视频信号解码器46.音频信号解码器47.索引解码器52.视频信号时间标记缓冲器53.音频信号时间标记缓冲器55.视频信号的锁相环电路56.音频信号的锁相环电路61.多路分离器
62.视频信号缓冲器63.音频信号缓冲器64.索引数据缓冲器65.视频信号解码器66.音频信号解码器68.索引解码器72.视频信号时间标记缓冲器73.音频信号时间标记缓冲器75.视频信号的锁相环电路76.音频信号的锁相环电路
权利要求
1.一种通过对未压缩的辅助信息与信息流进行多路复用从而产生比特流的方法,其中通过以可变压缩比压缩固定大小的信息信号单元来提供可变大小的信息流单元从而获得该信息流,该辅助信息用于其后对该信息流进行解码,该辅助信息的各单元相应于信息信号的各单元,所述方法包括以下步骤把信息流按时间分割成信息流各部分;把未压缩的辅助信息按时间分割成辅助信息各部分把信息流各部分和辅助信息各部分交错开来,以便提供比特流;以及通过利用虚拟系统目标解码器把比特流模拟解码来控制信息流的分割、辅助信息的分割、和交错步骤,该虚拟系统目标解码器包括分离比特流的多路分离器、串联配置的信息流缓冲器和信息流解码器、串联配置的辅助信息缓冲器和辅助信息处理器,把每一个所述串联的配置连接到多路分离器上,这样地来控制信息流的分割、辅助信息的分割、和交错步骤,使得信息流缓冲器和辅助信息缓冲器既不上溢,也不下溢。
2.根据权利要求1中所述的方法,其特征在于,在控制信息流的分割、辅助信息的分割、和交错步骤的步骤中,多路分离装置接受比特流,从比特流中提取信息流和辅助信息,分别馈给信息流缓冲器和辅助信息缓冲器信息流缓冲器具有第一目标大小辅助信息缓冲器具有第二目标大小在第一目标定时,信息流解码器从信息流缓冲器取出可变大小的信息流单元以及在第二目标定时,辅助信息处理器从辅助信息缓冲器取出相应的辅助信息固定大小的单元。
3.根据权利要求2中所述的方法,其特征在于,在交错步骤中,比特流包括多层以及信息流各部分和辅助信息各部分在多层比特流的同一层内交错。
4.根据权利要求3中所述的方法,其特征在于,辅助信息是信息流的索引信息。
5.根据权利要求4中所述的方法,其特征在于,信息流包括多个存取点,索引信息的每一个单元与一个存取点相关联。
6.根据权利要求5中所述的方法,其特征在于在把辅助信息分割成辅助信息各部分的步骤中,把索引信息分割成包括一些由第二目标大小确定的索引信息单元的索引包;在把信息流分割成信息流各部分的步骤中,把信息流分割成一族多个信息包,该族多个信息包包括一些存取点,存取点的个数等于索引包中索引信息单元的个数;以及在交错步骤中,使索引包相邻于该族信息包而交错。
7.根据权利要求2中所述的方法,其特征在于,在交错步骤中比特流包括多层;以及信息流各部分在比特流的第一层内交错,辅助信息各部分在比特流的不同于第一层的第二层内交错。
8.根据权利要求7中所述的方法,其特征在于,信息流包括多个存取单元,辅助信息是一族用来把信息流中存取单元解码的时间标记。
9.根据权利要求8中所述的方法,其特征在于在控制步骤中,辅助信息缓冲器具有由第二目标大小确定的占有率,辅助信息从多路分离器馈出,辅助信息由辅助信息处理器取出;把信息流分割成信息流各部分的步骤把信息流分割成多个信息包;把辅助信息分割成辅助信息各部分的步骤把该族时间标记分割成各时间标记;把信息流交错的步骤还附加地包括对每一个信息包提供一个信息包头部的步骤;以及在把信息流各部分和辅助信息各部分交错的步骤中,在根据辅助信息缓冲器的占用率选择出来的一个信息包的信息包头部中包括一个时间标记。
10.根据权利要求8中所述的方法,其特征在于在控制步骤中,信息流缓冲器具有第一目标大小,辅助信息缓冲器具有第二目标大小,辅助信息缓冲器具有由第二目标大小确定的占用率;辅助信息从多路分离器馈出,辅助信息由辅助信息处理器取出;把信息流分割成信息流各部分的步骤把信息流分割成多个信息包;把辅助信息分割成辅助信息各部分的步骤把该族时间标记分割成各时间标记;把信息流交错的步骤还附加地包括对每一个信息包提供一个信息包头部的步骤;在把信息流各部分和辅助信息各部分交错的步骤中,时间标记以时间标记缓冲器的频率周期性地被包含在信息包的信息包头部中;以及在控制步骤中,以使得信息流缓冲器的占用率为最高而不致引起信息流缓冲器上溢的方式,来控制时间标记编码频率和第二目标大小二者中至少之一。
11.根据权利要求7中所述的方法,其特征在于信息流解码器是多个信息流解码器之一,对信息流解码器进行锁相;以及设定辅助信息缓冲器的大小,使得它容纳一个而且不多于一个辅助信息单元。
12.一种用来产生比特流的编码器,其特征在于包括用来以可变压缩比压缩固定大小的信息信号单元以提供可变大小的信息流单元的装置;用来把信息流按时间分割成信息流各部分的信息流分割装置;用来把未压缩的辅助信息按时间分割成辅助信息各部分的辅助信息分割装置,辅助信息用于其后该信息流的解码,辅助信息的各单元相应于信息信号的各单元;用来把信息流各部分和辅助信息各部分顺序排列起来,以便提供比特流的多路复用装置,该多路复用装置包括通过利用系统目标解码器对比特流模拟解码来控制信息流分割装置和辅助信息分割装置的控制装置,该系统目标解码器包括用于多路分离比特流的多路分离装置、串联配置的信息流缓冲器和信息流解码器、串联配置的辅助信息缓冲器和辅助信息处理器,把每一个所述串联的配置连接到多路复用装置上,该控制装置这样地来控制信息流分割装置和辅助信息分割装置,使得信息流缓冲器和辅助信息缓冲器既不上溢,也不下溢。
13.根据权利要求12中所述的编码器,其特征在于多路分离装置接受比特流,从比特流中提取信息流和辅助信息,分别馈给信息流缓冲器和辅助信息缓冲器;信息流缓冲器具有第一目标大小;辅助信息缓冲器具有第二目标大小;在第一目标定时,信息流解码器从信息流缓冲器取出可变大小的信息流单元;以及在第二目标定时,辅助信息处理器从辅助信息缓冲器取出相应的固定大小的辅助信息单元。
14.根据权利要求12中所述的编码器,其特征在于多路复用装置提供的比特流包括多个层;以及多路复用装置把多层比特流中同一层内的信息流各部分和辅助信息各部分排列起来。
15.根据权利要求12中所述的编码器,其特征在于多路复用装置提供的比特流包括多个层;以及多路复用装置把第一层比特流中信息流已时分的各部分排列起来,并且,把不同于第一层的第二层比特流中未压缩辅助信息排列起来。
16.一种系统,其特征在于,其中对信息信号进行了压缩以便将该信息信号与未压缩的辅助信息一起作为比特流传输给媒体,从媒体传输出比特流,并且对该信息流进行处理以便通过扩张来恢复信息信号、和恢复辅助信息,辅助信息用于恢复信息信号;该系统包括编码器和解码器,该编码器包括用于压缩信息信号以提供信息流的装置,该装置利用可变压缩比压缩固定大小的信息信号单元,来提供可变大小的信息流单元;以及用于把信息流已时分的各部分和未压缩的辅助信息已时分的各部分顺序排列起来、以便提供可传输给媒体的比特流的多路复用装置,该多路复用装置包括通过利用系统目标解码器对比特流模拟解码以确定把信息流和辅助信息分割成为各自己时分的各部分的控制装置,该系统目标解码器包括多路分离比特流的多路分离装置、串联配置的信息流缓冲器和信息流解码器、串联配置的辅助信息缓冲器和辅助信息处理器,把每一个所述串联的配置连接到多路分离装置上,信息流缓冲器和辅助信息缓冲器中的每一个具有一个大小;该解码器包括用于从媒体传输出的比特流中提取信息流和辅助信息的多路分离装置;用来从多路分离装置接受辅助信息的第一输入缓冲器装置,第一输入缓冲器装置的大小至少等于辅助信息缓冲器的大小;用来从第一输入缓冲器装置取出辅助信息的一个单元的装置;用来从多路分离装置接受信息流的第二输入缓冲器装置,第二输入缓冲器装置的大小至少等于信息流缓冲器的大小;以及用来从第二输入缓冲器装置取出可变大小的信息流单元之一并用来扩张所取出的信息流单元以恢复信息信号的解码器装置。
17.根据权利要求16中所述的系统,其特征在于,控制装置这样地来确定把信息流和辅助信息分割成为各自己时分的各部分的分割方式,使得当目标解码器对比特流模拟解码时,信息流缓冲器和辅助信息缓冲器既不上溢,也不下溢。
18.根据权利要求16中所述的系统,其特征在于,多路复用装置提供的比特流具有多个层;以及多路复用装置把多层比特流中同一层内的信息流各部分和辅助信息各部分排列起来。
19.根据权利要求18中所述的系统,其特征在于,辅助信息是与该信息流相关的索引信息。
20.根据权利要求19中所述的系统,其特征在于,信息流包括多个存取点,索引信息的每一个单元涉及一个存取点。
21.根据权利要求19中所述的系统,其特征在于,控制装置确定把索引信息分割成各索引包,其中每一个索引包包括索引信息的多个单元,并且,还确定把信息流分割成多个信息流包的族,多个信息流包的每一族所包括的存取点其个数等于索引信息单元的个数;以及多路复用装置使每一个索引包相邻于这一族信息流包而进行多路复用,该族信息流包包括索引包中与索引信息有关的存取点。
22.根据权利要求16中所述的系统,其特征在于,多路复用装置提供的比特流具有多个层;以及多路复用装置把第一层比特流中信息流已时分的各部分排列起来,并且,把不同于第一层的第二层比特流中未压缩辅助信息的各部分排列起来。
23.根据权利要求22中所述的系统,其特征在于,信息流包括多个存取单元,辅助信息是一族用来对信息流中存取单元解码的时间标记。
24.根据权利要求23中所述的系统,其特征在于,辅助信息缓冲器的占用率由辅助信息缓冲器的大小来确定,辅助信息从多路分离器馈出,辅助信息由辅助信息处理器取出;控制装置用于确定将信息流分割成为多个信息包,并且,对每一个信息包提供一个信息包头部;确定把一族时间标记分割成为各时间标记;把信息流包和辅助信息各部分顺序排列起来,按时间标记缓冲器的频率周期性地将时间标记包括在信息包的信息包头部中;以及以使信息流缓冲器的占用率为最高而不致引起信息流缓冲器上溢的方式,来控制时间标记编码频率和辅助信息缓冲器的大小这二者中至少之一。
25.一种用于从信息信号得出比特流的方法,包括以下步骤压缩信息信号的单元以便提供信息流的单元,所述信息流的单元包括存取点;从信息流得出指向信息流中存取点的指针;对分割成为信息包的信息流与指针包进行多路复用以便提供比特流这样地进行多路复用,使得包括多个顺序存取点的一族信息包相邻于包含仅指向该多个顺序存取点的指针的指针包而被多路复用。
26.根据权利要求25中所述的方法,其特征在于,在所述得出指针的步骤之前,多路复用步骤对信息包与包括空指针的指针包进行多路复用;以及该方法另外还包括用在所示得出指针的步骤中得出的指针重写空指针的步骤,重写到每一个指针包内的指针是指向紧接在比特流中该指针包之前的多个顺序存取点的指针。
27.一种用于从信息信号得出比特流的方法,包括以下步骤提供一个编码器,该编码器包括用来压缩信息信号的单元以便提供信息流的单元的装置;用来缓冲信息流的单元并具有一定大小的第一缓冲器装置;用于当第一缓冲器装置接受信息流的每一个存取单元时提供一个时间标记的装置;用来缓冲时间标记并具有一定大小的第二缓冲器装置;用于对来自第一缓冲器装置的信息流和来自第二缓冲器装置的时间标记进行多路复用以便提供该比特流的多路复用装置;规定一个虚拟系统目标解码器,该虚拟系统目标解码器包括多路分离比特流的多路分离器装置,串联配置的信息流缓冲器和信息流解码器,以及串联配置的时间标记缓冲器和时间标记处理器,把每一个所述的串联的配置连接到多路分离器上;通过利用虚拟系统目标解码器对比特流模拟解码以确定第一缓冲器装置的大小和第二缓冲器装置的大小;以及利用编码器对信息信号编码,其中使第一缓冲器装置的大小和第二缓冲器装置的大小分别设定为所述确定第一和第二缓冲器大小的步骤中所确定的各自的大小。
28.根据权利要求27中所述的方法,其特征在于,在确定系统目标解码器的步骤中,信息流缓冲器和时间标记缓冲器各具有一个大小,信息流解码器响应于时间标记处理器从时间标记缓冲器取出的时间标记而对信息流进行解码;以及在所述确定第一和第二缓冲器大小的步骤中,确定第一缓冲器装置的大小和第二缓冲器装置的大小。
29.根据权利要求28中所述的方法,其特征在于,在编码器中,多路复用装置在比特流中按时间标记编码的频率周期性地包含时间标记;信息流具有一个比特率;以及在所述确定步骤中,从时间标记编码频率和比特率得出缓冲延时,从缓冲延时得出信息流缓冲器的大小和时间标记缓冲器的大小。
30.一种比特流的解码器,其特征在于,该比特流是通过对未压缩的辅助信息与信息流进行多路复用而获得的,通过以可变压缩比压缩固定大小的信息信号单元来提供可变大小的信息流单元,从而获得信息流,辅助信息用于其后该信息流的解码,辅助信息的各单元相应于信息信号的各单元,该解码器包括用来从比特流中提取信息流和辅助信息的多路分离装置;用来从多路分离装置接受辅助信息的第一输入缓冲器装置;用来从第一输入缓冲器装置取出辅助信息的一个单元的装置;用来从多路分离装置接受信息流的第二输入缓冲器装置;以及解码器装置,该解码器装置用来从第二输入缓冲器装置取出可变大小的信息流单元之一,并响应于辅助信息单元而扩张所取出的信息流单元,从而恢复一个固定大小的信息信号单元。
31.根据权利要求30中所述的解码器,其特征在于,该解码器装置在辅助信息单元所指明的时刻从第二输入缓冲器装置取出可变大小的信息流单元之一。
全文摘要
一种通过对未压缩的辅助信息与信息流进行多路复用从而产生比特流的方法。在这种方法中,信息流的分割、辅助信息的分割、以及交错等步骤由虚拟的系统目标解码器来控制。这样地来控制这些步骤,使得信息流缓冲器和辅助信息缓冲器既不上溢,也不下溢。
文档编号H04N7/24GK1110893SQ94190370
公开日1995年10月25日 申请日期1994年6月10日 优先权日1993年6月10日
发明者M·H·费尔特曼 申请人:索尼公司