数字视频系统中译码数字视频流的方法和装置的制作方法

文档序号:7626222阅读:179来源:国知局
专利名称:数字视频系统中译码数字视频流的方法和装置的制作方法
技术领域
本发明涉及在数字视频系统中译码所记录的传输流或打包(packetized)的基本流的方法,它也涉及实现这个方法的装置。本发明特别应用于特技方式(trickmode)译码。
MPEG Ⅱ或DVB兼容数字电视数据流由几个层组成,其中有基本流层、打包的基本流(PES-Packetized Elementary Stream)层和传输流(TS-TransportStream)层。相应的译码器通常包括多路分解器,用于滤波某个TS层的分组;PES分析器,用于移去PES层并传送原始的基本流;以及至少一个视频译码器,用于译码视频基本流。
将来的译码器采用由大容量存储器,以便记录压缩的TS或PES流。为了实现特技方式,例如慢进或快进播放,或慢倒或快倒播放,视频流在从大容量存储器被传送到视频译码器之前需要被编辑。尤其对快进播放或快倒播放,仅仅特定的图像或图像序列被显示。由于编辑,所得到的传送到视频译码器的数据将不一定具有有效的TS或PES流格式,同时视频译码器的性能不一定是所希望的性能。
本发明的目标是发送仅仅合法(在ISO 13818-2标准的意义上)的流到视频译码器。
本发明的一个目的是一种用于译码打包的数据流的方法,该数据流包括分组,分组包括首标和净荷,在分组中将基本流封装成净荷,它包括下列步骤在基本流中选择目标首标;在所述目标首标的前面插入经封装的数据流分组首标;传送所插入的分组首标、目标首标和与目标首标依次相连的打包的数据流的数据至打包的数据流分析器。
通过在被分析和译码的目标首标之前插入附加分组首标,如从分析器可见,基本流的完整性(integrity)被恢复。因此,分析器将正确地工作。
按照一个特定的实施例,打包的数据流是PES流,基本流是基本视频流,以及目标首标是如下中的一个序列首标、图像首标、一组图像首标。
本发明的另一个目的是一种用于译码封装了打包的数据流的传输流的方法,该数据流包括分组,分组包括首标和净荷,分组中将基本流封装成净荷,它包括下列步骤在基本流中选择目标首标;在包含该目标首标的传输流分组之前插入传输流分组,所述被插入的传输流分组包含打包的数据流首标;传送后面跟着包含目标首标的传输流分组的被插入的传输流分组至后面跟着打包的数据流分析器的传输流多路分解器。
就流的编辑来说,应用于TS流的限制与应用于PES流的限制不同。为了插入PES首标,必须插入特殊的TS分组,其具有被包含作为TS分组的净荷的PES首标。
按照一个特定的实施例,传输流、打包的数据流和基本流是MPEG兼容的,其中基本流是基本视频流,以及其中目标首标是如下中的一个序列首标、图像首标、一组图像首标。
本发明的另一个目的是一种数字视频译码装置,它包括大容量存储器,用于保存具有打包的基本流格式的数字视频流;视频译码电路,用于接收打包的基本流格式数据;用于定位在所述数字视频流中所封装的基本视频流中的目标首标的电路,用于传送从所述目标首标开始的一部分基本流到译码器,以及用于在所述传送之前在所述目标首标前面插入伪(dummy)打包的基本流首标。
本发明的另一个目的是一种数字视频译码装置,它包括大容量存储器,用于保存具有传输流格式的数字视频流;视频译码电路,用于接收传输流格式数据;用于定位在所述数字视频流中所封装的基本视频流中的目标首标的电路,用于传送在包含有包含目标首标的基本流分组的传输流分组上开始的传输流到译码器,以及用于在包含目标首标的传输流分组之前插入传输流分组,所述被插入的传输流分组包括打包的数据流首标。
本发明的其它特征和优点将通过对本发明的特定的非限定实施例的描述并通过参照附图来给出,其中


图1是按照本实施例的电视接收机的方块图;图2是按照本实施例用作大容量存储媒体的硬盘驱动器的文件系统的部分图;图3是说明记录和重现音频/视频流专用的部分文件系统的图;图4a是用于在PES方式下保存流数据的基本存储单元(‘SEU’)的图,而图4b是用于在传输流方式下保存流数据的SEU的图;图5a和5b是当在PES方式时用于保存要被写入到硬盘驱动器的PES数据的FIFO的图;图6是代表按照本实施例用于保存特技方式信息的不同数据结构的图;图7a是在插入伪PES首标之前PES层视频流的图示;图7b是在插入伪PES首标之后图7a的PES层视频流的图示;图8a是在插入包含伪PES首标的TS分组之前TS层视频流的图示;图8b是在插入包含一个伪PES首标的TS分组之后图8a的TS层视频流的图示;以及图9是由视频译码器的输入缓冲器所见到的基本视频流的图示。
这个描述在接受MPEGⅡ兼容数据流的系统框架内进行,并使用相应的词汇。有关视频和传输电平编码的MPEGⅡ标准语法的更多信息可以见例如文档ISO/IEC 13818-1(信息技术-运动图像和伴生的音频信息的通用编码系统(Information Technology-Generic coding of moving pictures andassociated audio information:System))和ISO/IEC 13818-2(信息技术-运动图像和伴生的音频信息的通用编码视频(Information Technology-Genericcoding of moving pictures and associated audio information:Video))。本系统也遵守DVB ETR-154标准。
本发明当然不限于MPEGⅡ环境,或在本专利申请中所述的数据层。
1.系统概述为了在播放来自本地大容量存储器的视频流时获得高质量的特技方式管理,要求所记录的视频流的结构的知识。这个结构在下文将被称为特技方式信息。它从在记录视频流之前和期间所执行的分析过程中获得。分析过程涉及分析流结构和记住某个语法结构的特性。与结构有关的信息,以及它们在大容量存储媒体上的位置也被记录。
按照本实施例,诸如视频但不限于视频的数据被记录在传输流层或打包的基本流层。特技方式信息描述保存在许多层(按照众所周知的MPEGⅡ语法的传输流(TS)-打包的基本流(PES)-基本流(ES))上的视频流的结构,直到被压缩的视频信息。
将首先描述在TS层的层次上执行记录的主要实施例。与在PES层的层次上记录的第二个实施例的差别将在每种情况中被指出。在两个记录层次的意义上兼容的两个实施例可以共处在相同的译码器中,它们将同时参照图1来描述。
(a)TS层记录图1是按照本实施例的数字电视接收机的方块图。接收机1包括前端电路2,该电路可以输出传输流到传输流多路分解器和滤波器4。前端电路一般包括调谐器、模/数变换器、适当的解调器和前向纠错电路。它接收来自信号源(未示出)的信号,信号源一般是电缆、卫星碟形天线和相关的低噪声块和下变频器,或地面天线。在系统中的整体资源包括RAM 5、PES分析器6、第二传输流多路分解器7、音频和视频译码器8和9以及微处理器10。TS滤波器和多路分解器4被微处理器编程,以便滤波和从输入的传输流中提取符合某个准则的数据分组,一般是具有某分组识别符(PID)值的数据分组。输入的流内容,特别是PID赋值,例如根据由MPEGⅡ标准或DVB业务信息标准(文档参考号ETSI EN 300 468)所定义的被发送的数据表的某个数字得知。也可以定义专用PID值。
经滤波的传输流数据分组在存储器5中被缓冲,它的一部分被配置作为TS写FIFO 15,供由流分析器3进一步处理。
与普通多路分解器相反,其根据TS分组的PID值进而它们的目的应用(例如音频和视频译码器),将不同的TS分组发送到分离的缓冲器,TS滤波器和多路分解器4将相应于要被记录的流的PID的所有分组以分组接收的次序写入到单一缓冲器(即在本实施例中的TS写FIFO 15)。
被压缩的流数据和其它数据(例如控制数据)经由由总线11规范的数据路径在外围块之间被传送。接收机还包括大容量存储器12,按照本实施例,它是硬盘驱动器。大容量存储器12经由接口13,在本情况中是EIDE接口,被连接到总线10。视频译码器电路9以已知方式被连接到视频处理和显示器电路14。
存储器5包含如下区域
已提到的写FIFO 15,用于保存要被写入硬盘的经滤波的TS分组数据,TS读FIFO 16,用于保存从硬盘读出的TS分组数据,特技方式缓冲区17,用于保存要被写入到(或读出)硬盘的特技方式信息。
(b)PES层记录为了PES层记录的目的,存储器5包含三个写FIFO,标号为18至20,分别用于音频PES、视频PES和其它数据,同时包括标号为21至23的三个读FIFO,也分别用于类似类型的分组。
当译码器以PES方式运行时,不使用第二个多路分解器7,PES分组被从硬盘12经由FIFO 21和22直接传送到PES分析器6。
FIFO 15、16和18至23最好以循环方式来建立。
2.大容量存储器现在描述硬盘驱动器文件系统。硬盘驱动器12拥有图2所示的文件系统,该文件系统用于音频/视频流记录和重现。文件系统相应于它所管理的数据类型的特定要求。本文件系统以相对大尺寸的块对信息组的等时数据流的顺序存取进行最佳化。
作为一个变形,在相同的硬盘上可以具有第二个文件系统(未示出),用于除流数据以外的其它数据的记录和检索。这个第二个文件系统对更普通的计算机类型文件的随机存取被最佳化。引导块可由两个文件系统共用。这个第二个文件系统是一个普通类型,如UNIX或MINIX文件系统,将不作更详细的描述。
图3是流文件系统的更详细的示图。这个文件系统包括超级块(superblock)、节点(node)存储区、游程(run)扩充存储区、音频/视频数据存储区和位表区,位表区保存描述在三个存储区的每一个中每个基本存储结构的状态的三个位表。
引导块包括与硬盘驱动器有关的一般信息,如卷名和卷标识符、BIOS参数和引导程序。
超级块包含与流文件系统有关的信息,特别是文件系统不同区的地址(在逻辑块地址的格式下--‘LBAs’)和大小。
节点存储区被用于保存节点。节点是描述保存在音频/视频数据存储区中的文件的数据结构。它也可以描述目录。它包含诸如文件名、父目录信息、以及文件所在的部分音频/视频数据存储区的描述的信息。这个信息在由LBA起始地址和构成游程的许多LBA块定义的LBA游程的格式下被给出。因为在给定节点中可以保存受限制的游程数目,所以在该节点内的指针可以指向位于相应存储区中的游程扩充数据结构。文件位置信息用文件或目录标识符代替,如果节点被用于描述目录的话。第一个节点描述根目录。
游程扩充存储区包含标识给定文件的进一步LBA游程的特定数据结构。
位表区包含三个位表节点位表、游程扩充位表和存储基本单元位表。头二个表分别表示各游程扩充的每个节点的空闲或已使用状态。第三个位表对每个基本存储区做相同的事,其按照本实施例,代表128K字节的块(当然,可以使用不同大小的块尤其是较大尺寸的块,仅给出128K值作为一个例子)。
最后,音频/视频数据存储区包括一系列基本存储单元(‘SEU’)。每个SEU包括256扇区,因此代表128K字节。
采用上述的数据结构,微处理器10可以创建和删除文件,以及把数据写入这些文件和从这些文件中读出数据。
(a)对TS层记录图4b是当SEU被用于TS层记录时该SEU的图。
SEU包括短的首标和由许多被多路传输的整个TS分组构成的净荷。因为SEU的大小当它包含整数个TS分组时是512字节的倍数,所以一定数目的填充位必须被添加到该净荷。
(b)对PES层记录图4a说明PES流SEU的内容。SEU包含首标,以及按照本实施例,最多三个改变大小的区,分别用于视频PES分组、音频PES分组和其它PES分组。
区的数目不限于三个,虽然这是一个实际的例子。若干视频基本流、音频基本流和辅助数据流可以导致在SEU内相应数目的区。在这种情况下,存储器5将包含相应数目的读/写FIFO。
3.记录处理过程(a)TS层记录TS层记录和重现的SEU的构造可以通过被滤波的TS分组如何被接收机的不同部件处理的描述来作最好的解释。当多路分解器已选择相应于已编程PID值的分组时,它将它们保存在存储器5中的循环写FIFO 15中。分组的内容的类型,即视频(V)、音频(A)或其它(O)由微处理器10根据在分组首标中各自的PID值确定。由多路分解器处理的视频(V)传输流分组的内容被分析,即由流分析器6分析,以便提取后面要详述的某种类型的特技方式信息。原则上,不对音频或其它数据分组执行这样的分析。在流中TS分组的初始次序被保存在FIFO 15中。这样一来,在不同分组中连续计数器值仍是相关的。此外,在不同流(尤其是相应于相同事件的视频和音频流)之间的同步被保持。微处理器10管理写FIFO 15的读指针和写指针,如图5a所示。当写指针与读指针之间的差达到128K字节减SEU首标的尺寸时,微处理器对硬盘发起写过程。
对TS记录,每个SEU首标包含在TS分组净荷中有用数据长度的指示,以便区分TS分组和填充位。
(b)PES层记录在这种情况下,多路分解器和滤波器4不仅仅滤波TS分组,它也在将TS净荷,即PES分组写入RAM 5之前除去TS层。PES分组被传送到循环写FIFO 18至20中的一个,这取决于它们被传输的TS分组的PID值。微处理器10管理这些FIFO中的每一个的读指针和写指针。当所有缓冲器的写指针和读指针之间的所有差的和达到等于128K字节减SEU首标的尺寸时,微处理器对硬盘发起一个写过程。视频PES由流分析器3对特技方式信息进行分析。
对PES记录,首标包含正在被写入SEU的各类数据的数量的信息,即,与特定PID有关的每个区的大小,和在SEU内每个区的偏置地址。在PES记录的情况下没有使用填充位PES分组可以在一个SEU中开始并在后面的SEU中结束。
写过程,无论对TS或PES记录,都由微处理器10通过发送适当的命令到EIDE接口,指定写应开始的LBA地址和被写的LBA的数目来启动。当硬盘驱动器准备执行写过程时,EIDE接口通过适当的中断通知微处理器。
写过程通过将由微处理器10生成的SEU首标内容写到HDD接口来继续。写过程还通过对或者从TS写FIFO 15(对TS记录)或者依次对写FIFO 18至20中的每个(对PES记录)启动DMA处理至HDD接口13来进一步继续。在一已知方式下,HDD接口13包含用作盘存取缓冲器的高速缓冲存储器。
这里当然假定适当的文件已被微处理器打开以及微处理器也已指出传送数据到EIDE接口的目的SEU。
在这个硬盘写过程正在发生的同时,分组(TS或PES)继续被写到FIFO。
对PES记录,如果图5a示出传送至硬盘刚开始之前的FIFO和读指针和写指针的状态,则图5b代表刚好实现传送时的状态。当指针到达FIFO的顶地址时,它们环绕到底地址。虽然在图5a和5b中FIFO都具有相同的视在尺寸,但可以采用不同的尺寸。类似的处理应用于TS记录。
4.特技方式数据的生成图6是用于保存特技方式信息的数据结构的图。首先讨论这些结构和它们的存储,接着讨论在流记录期间获得相应数据的方法。
按照本实施例,特技方式数据被展开在三个不同的结构视频描述单元表(VDU表)、时间索引表(TT)和许多描述符块(VDU-视频描述符单元)。
图6示出以灰色给出的两个VDU。VDU包含许多序列的描述符,对每个序列,描述符与在那个序列中所包含的PES首标和图像有关。作为一个例子,按照本实施例,每个VDU包含七个序列描述符,相应于约3.5秒的视频。VDU也可以只具有一个最大尺寸,并描述可变数目的序列。
下面给出的表和解释指的是PES层记录方式。对TS层记录,在盘上或SEU中的项目的地址用包含该项目的第一个字节的TS分组TS首标的地址代替。
每个序列描述符(“S”描述符)包括在表1中所示的数据
表1序列描述符按照本实施例,‘序列’是如在ISO/IEC 13818-1文档中所规定的MPEGⅡ序列。
与所记录的视频流的起点相比较,序列索引给出序列序列等级(rank)。
与该视频流的起点相比较,第一个图像索引给出在该序列内第一个图像的序列等级。
PES定位是表示在该序列中的PES首标是否后面紧跟着图像首标的标志。
SEU(存储基本单元)地址是在硬盘上包含该序列首标的第一个字节的128Kb块的地址(逻辑块地址数)。
与该SEU起点相比较,在SEU中第一个字节的地址是该序列首标的第一个字节的偏置字节。
图像列表是在VDU中的指针列表,指向在所考虑序列中每个图像的图像描述符。
在VDU中的所有指针采用基于VDU基地址的对应寻址方案。这样一来,VDU可以被装入任何存储器区而同时保留正确的指针值。
以类似方式,PES首标列表是在VDU中的指针列表,指向在所考虑序列中每个PES首标的PES首标描述符。
下一个序列地址是在VDU中的指针,指向对应于跟在所考虑序列后面的视频序列的序列描述符的地址。
以类似方式,上一个序列地址是在VDU中的指针,指向对应于在所考虑序列前面的视频序列的序列描述符的地址。采用特定地址值来表示这个描述符是在另一个VDU中的情况。
每个图像描述符(“P”描述符)保存下列数据项
表2图像描述符类型信息表示图像是否是内型(intra)、预测或双向编码类型。
时间参考信息直接从MPEGⅡ图像首标中提取。它给出图像相互关系的显示次序。
字段/帧信息表示图像是否包括偶数字段、奇数字段、或整个帧。
SEU地址是包含图像首标的第一个字节的SEU的第一个LBA的号码。
与SEU地址的起点相比较,在SEU中第一个字节地址是图像首标的第一个字节的字节偏置。它允许对图像的第一个字节进行直接访问。这个信息由流分析器导出。
在PES序列中第一个字节地址是图像起始代码的第一个字节和在复原期间将被装入存储器供编辑用的整个视频序列的第一个字节之间的相对地址。
PES首标的内容可能被要求适当地译码和/或呈现图像。因此,对PES首标也创建描述符。
每个PES描述符(“E”描述符)保存下列数据项目
表3 PES描述符SEU地址是包含PES首标的第一个字节的128Kb块的第一个LBA的号码。
与SEU地址的起点相比较,在SEU中第一个字节地址是PES首标的第一个字节的字节偏置。
与在复原期间将被装入存储器的整个视频序列的第一个字节相比较,在PES视频序列中第一个字节的地址是PES起始代码的开始的字节偏置。
下一个PES首标地址是指向在VDU中下一个PES首标的指针。
虽然这不是本实施例中的情况,但按照一个变形的实施例,另一个描述符与图像组(GOP)首标有关。
时间索引表具有如表4所示的格式。
表4时间表时间索引对应于从一个视频流的起点被计数的秒数。按照本实施例,14400项是可能的,相当于四小时视频,每个图像或帧为40ms。
序列描述符地址给出与相应的VDU基地址相比较,指向包含在时间索引之后第一个图像的序列描述符的指针。如果在存储器中不存在相应的VDU,则它必须采用在VDU表中给出的信息首先从硬盘被装入。
SEU地址是SEU在硬盘驱动器上LBA号码中的地址,该SEU包含(a)在TS层记录的情况中,包含在T秒之后开始的第一个视频序列的序列首标的传输流分组的传输流首标,b)在PES层记录的情况中,在T秒之后开始的第一个视频序列的序列首标。
对于大约在时间T秒上开始的视频序列的存取,它足以使用T作为索引寻址时间表,并使用相应的SEU地址从在LBA上开始的硬盘上开始读取,LBA包括译码序列所要求的传输流分组的起点(在情况(a)中)或直接为序列首标的位置(在情况(b)中)。对这样一个存取,仅要求时间表。
保存在表和VDU两者中的其余数据主要用于特技方式重现。
VDU表具有如表5所示的格式
表5 VDU表VDU表对每个VDU具有一个项,并对每个VDU表示在硬盘上第一个LBA的号码、根据LBA的VDU的尺寸和由VDU代表的部分视频的时间间隔(以秒为单位,从视频流的起点开始)。这个间隔指定进入TT表的项。
时间索引表、VDU表和VDU被保存在硬盘上。这些表也被装入存储器5的特技方式缓冲区17,供在记录视频到硬盘的情况中变更用和供在从硬盘重现的情况中参考用。在需要时,必要的VDU从硬盘读出或写入,这取决于可利用的空存储器容量。
保存在TIT和VDU表和在VDU中的特技方式数据的生成被如下地执行要被生成的信息有3类直接从被多路分解的视频分组中提取的信息、描述视频流结构的信息和有关某个视频流数据在硬盘驱动器上的位置的信息。在第一种情况中,对流中PES或图像首标的简单分析得出所要求的信息。在第二种情况中,必须分析视频流并记住它的结构。在第三种情况中,必须从文件系统中寻找更多的信息。表6示出每类数据的由来。
表6下文假设在给定时间仅记录一个基本视频流,即仅一个视频PID被滤波。如果一个以上的视频PID被滤波,则对每个流并行和单独地创建表和VDU。
对TS和PES层记录,分析以类似方式执行,即相同的项被配置在所保存的数据中。所改变的是对TS记录,当项被配置时,使用包含这个项的TS分组的TS首标的地址来代替该项的地址。
被多路分解器保存在存储器8中的TS或PES分组通过首先检测序列首标、PES首标或图像首标来分析。这些首标的每一个具有由MPEGⅡ视频标准规定的预定起始代码,并可方便地被配置在输入的TS分组净荷或PES分组中。注意不要忽视两个PES分组上扩展的图像或序列的起始代码,以及两个TS分组上扩展的图像、序列或PES首标的起始代码。对于每个被检测的首标,创建相应的描述符(S、P、E)。PES和图像首标被进一步分析,以便提取要被插入到该描述符中的有关字段。序列和图像从第一个序列分别地对图像开始编号,并在每个序列中的序列号码和第一个图像的号码被插入到序列描述符。正如已经提到的,大约对每个3.5秒视频创建一个新VDU,以便保持VDU大小供可管理性。这样的VDU平均保存84个图像。VDU仅保存完整的序列,所以特定的VDU的大小可以变化。
微处理器10也确定下一个SEU块的地址,音频、视频和/或其它数据被写到该地址。在分析处理期间,流分析器6确定给定数据片段与SEU的起点相比较的字节偏置(或LBA和字节)。每当SEU被写到硬盘时该偏置被复位。偏置对如下数据项被确定对PES层记录,为序列首标、图像首标、PES首标,以及对TS层记录,为相应的TS首标的地址。三个首标的SEU地址和偏置被插入到各自的描述符。
在创建VDU的同时,微处理器创建VDU表和时间表。
每当VDU即将被写入硬盘时,在VDU表中创建一个项。(按照本实施例,VDU被写到流文件系统的文件中。)对每个VDU,它的位置和大小以LBA被给定。它覆盖的时间间隔(以秒为单位,与视频流的起点相比较)根据在VDU中所包含的图像数目被计算。这个信息也被插入到VDU表中。
按照本实施例,时间索引表包括每秒一个项。它的内容使用VDU的内容和TS首标偏置(对TS层记录)或序列首标偏置(对PES层记录)来确定。
VDU表和时间索引表两者在它们被创建时就被写到硬盘。取决于它们的大小和可利用的存储器,可能要求分开这些表并在要求时装载部分表。
VDU采用相对寻址故意由被相连的部件构成,以便允许分开和在存储器中动态重新安置。
5.特技方式复原在特技方式视频复原期间,音频数据不被传送到音频译码器。
现在将描述为特技方式目的从硬盘驱动器的重现。在这个阶段中,微处理器10执行预先记录的视频流的实时流编辑、根据特技方式的信息提取和记录视频存取单元(与一个图像有关的被编码数据的一个单元)、馈入译码器9并控制译码和显示过程。
由于对硬盘驱动器的随机存取时间相当长,因此一个现实的方法是从硬盘中读取包含单一视频序列的一片段被记录的流到存储器5。整个序列在存储器5中,在该序列中的每个图像可以被存取以被传送到视频译码器。
PES分析器6和/或TS多路分解器7除去相应的PES和TS层,并从PES首标、各个TS首标提取与较低层有关的信息。当接收数据时,无论是直接从总线还是从多路分解器7,PES将剔除出现在有效PES首标起始代码之前的任何数据。
对于特技方式重现,流中的图像在相应的序列已被从硬盘读取之后逐个地在存储器中被存取。然而,无论是在TS还是在PES记录方式中,PES首标不是有次序地直接在相应图像首标的前面。换句话说,图像首标不一定排在PES包组净荷的起点,与所考虑图像不相干的数据可能存在于PES首标和图像首标之间。对于正确地工作的PES分析器,仍然必须供给这个PES首标。否则,PES分析器可能不发送图像数据到视频译码器9在第一个PES首标前面的所有数据通常在译码器复位之后被剔除。因此,后面跟着PES首标不在前面的图像数据的图像首标也被剔除。按照本实施例,在被译码的图像的图像首标之前插入伪PES首标。相关的PES流因而在从硬盘中读取最少的不相干数据和不相干数据不被发送到译码器9的情况下被恢复。
采用涉及以12倍正常速度快进的简单例子来描述伪PES首标的插入。对于解释这个例子,将假定仅存取I类图像。应注意将在后面描述另外的情况,即当被显示的图像是P或B类的情况。
以十倍正常速度的快进涉及在50Hz帧速率情况下,读出和译码12个中的一个图像(假设仅存取I类图像),并以每40ms一个图像的正常速率显示被译码的图像。
(a)在PES层级上的流编辑微处理器10的第一个任务是确定将从硬盘驱动器提取的第一个视频存取单元。假设快进在与该视频流的起点相比较的时间T上开始,则将被显示的第一个图像是在T之后在流中存在的第一个图像。
为了被用作在VDU表和时间表中的索引,T被截断成以秒为单位的整数。采用VDU表,从EIDE接口请求相应的VDU,并将其装入存储器(即特技方式缓冲区),如果它不是已存在的话。
时间表指向在包含图像描述符的这个VDU中的序列描述符。序列描述符的内容被用于将相应的整个视频序列装入存储器5。译码器9能够使微处理器10调节译码器9的译码参数。它然后可能没有必要地在传送后面跟着图像数据的伪PES首标之前将序列首标传送到PES分析器。
代表40ms和使用图像列表(其指向在序列中图像的不同图像描述符)的每个图像,可以很容易地恰好在最接近T时存取图像描述符。图像描述符表示在被装入存储器的视频序列中图像首标的偏置。因此,所希望的图像被发送到译码器,而该译码器被微处理器10编程,以便正确地处理这个图像。
在这种情况下,数据被从存储器5提供给PES分析器6,因为传输层已被移去。
图7a和7b代表在被映射为包含将被译码的图像的顺序图像的格式下的PES流。所代表的流部分可以是被保存在视频读FIFO中的流,假设仅记录PES层。每个图像数据前面有图像首标,两者一起构成视频存取单元。流在通常与基本视频流的内容无关的位置上包括PES首标。
图7a示出未编辑的PES流,图像n是被显示的图像。它的前面有首标。包含图像n的图像首标的PES分组首标用一箭头示出。图7b示出经编辑的PES流,微处理器10已在其中插入伪PES首标,就在图像n的图像首标的前面,从而避免两个首标之间的任何干扰数据。
按照本实施例,伪PES首标具有表7中给出的格式。它是MPEGⅡ系统文档所允许的最短首标(即9字节),并且在视频读FIFO的内容从由图像首标偏置所规定的地址开始被读出之前被发送到视频译码器9。译码器然后将看到有效的PES流,并按微处理器10的指示处理图像数据。
每当将被发送到译码器的视频存取单元的序列中有空隙时就插入伪PES首标。
在下表中,符号‘0x’表示十六进制值。小写字母‘u’表示一个可变的二进制值。
表7伪PES首标(b)在TS层级上的流编辑在这种情况下,数据被从读FIFO 22传送到传输流多路分解器7。
TS层与PES层相比较具有附加的限制编辑只能在TS分组级上进行,即整个TS分组必须被添加或去除。在现有的分组中插入或删除字节导致不正确的TS流。
因此,包含要被译码的图像的SEU的确定以与情况(a)相比较稍为不同的方式执行。另外,包含有包含图像的视频序列的整个一片段流被装入存储器5。为了遵守仅提供整个TS分组到多路分解器7的要求,要求从包含将被译码的图像的图像首标的TS分组的TS首标开始进行读出。特技方式信息提供必需的地址信息在TS流记录的情况下,在特技方式信息描述符中的所有地址被适当地排在TS分组边缘。
图8a代表包含将被译码的图像的图像首标的相同视频分量(即具有相同PID)的分组的TS流。
整个TS分组被插入,而不是仅插入PES首标。鉴于如(a)的同样理由,这个TS分组也包含伪PES首标。图8b示出在TS插入之后的流。
被插入的TS首标包含与包括图像首标的TS分组的TS首标的PID值相同的PID值。TS首标也包含continuity_count值,它等于包含图像首标的TS分组的TS首标的连续计数值,减1并取模16,与下一个TS分组的值相一致。连续计数值直接在存储器的流读取。在适配字段标志中,设置不连续差错标志,以便表示与任意的上一个continuity_count_value相比较的不连续性。这样选择适配字段的长度,以使包括首标的整个TS分组的长度为188字节。
TS净荷包含伪PES首标,如前所述。与情况(a)相反,不相干或不可用的数据可以存在于PES首标与将被译码图像的图像首标之间,因为图像首标不一定排在TS首标的末尾。为了通知视频译码器忽略这个不相干数据,在伪PES首标之后,被插入的TS首标也包含序列差错代码。图9示出由译码器接收的PES层被去除的数据。图像X是将被译码图像。译码器的输入缓冲器仍包含以前接收的部分数据,涉及传送上一个将被译码图像,例如图像B所得到的一个图像B+1。与图像X-1有关的数据是存在于由微处理器10插入的伪TS分组和图像X的图像首标之间的数据。伪TS分组的TS首标已被多路分解器7去除,在伪TS分组的净荷中所包含的伪PES首标已被PES分析器6去除。在图像B+1和X-1的部分数据之间,在另一个代码(“0xB4”)后面仍有序列差错代码(“0x000001B4”)。
在检测序列差错代码时,如在MPEGⅡ视频文档的6.2.1节和6-1表中已提到的,译码器9剔除在差错代码之前所接收的所有数据,以及在将来所接收的所有数据,直至下一个图像首标。译码器9被如此构造,以致于具有这种性能。
由插入序列差错代码引出一个新问题当PES分析器17已去除PES首标的流时,可能碰巧会发生在被插入PES分组之前的PES分组的净荷的最末字节与序列差错代码的第一字节(即“0x00”)组合构成图像首标起始代码(即“0x00000100”)的情况。为了避免这种情况,在伪PES首标和序列差错代码之间插入值“0xB4”的字节。在这种情况下,如果在PES分组净荷之前的最末三个字节确实为“0x000001”,那么所构成的代码是另一个序列差错代码“0x000001B4”。就所涉及的视频译码器的性能来说,这个代码存在一次还是二次并不重要。当最末三个字节和“0xB4”字节不构成序列差错代码时,B4的存在无关紧要,因为后一个序列差错代码将在任何事件中消除视频译码器的输入缓冲器的上一个内容,包括附加“0xB4”。
表8具有伪PES分组和序列差错代码的TS分组通常,在特技方式期间逐个地存取的图像不一定是内型(intra-type)图像。因此可能需要译码其它图像并将它们保存在存储器中,以便译码特定图像。如果将被显示的图像是P型图像,那么必须译码前面的I型图像(其可以使用将被显示的图像的图像描述符之前的图像描述符来找出),并首先译码那个I型图像。必须记住,图像按照它们将被译码的次序,而不是按照它们将被显示的次序被传送(和保存)。这个次序通常与显示次序不同。视频译码器将被微处理器6指令,仅译码I型图像,但不显示它。P型图像然后被译码和显示。
同样地,如果B型图像要被译码,则前面的和后面的I和/或P型图像必须从硬盘提取并首先被译码。
本实施例主要半涉及TS流分组记录和重现,但当然其它层,特别是PES层的记录/重现也属于本发明的范围。
此外,虽然按照本实施例,微处理器6管理硬盘驱动器的文件系统,但是这个任务也可以由接收机中的另一个处理器,特别是视频译码器10执行。
另外,虽然在本实施例中所用的大容量存储器是硬盘驱动器,但是也可使用另一种类型的装置。例如,可以使用可记录压缩光盘或数字视盘。
权利要求
1.一种用于译码打包的数据流的方法,该数据流包括分组,分组包括首标和净荷,在分组中将基本流封装成净荷,其特征在于,它包括下列步骤在基本流中选择目标首标;在所述目标首标的前面插入经封装的数据流分组首标;传送所插入的分组首标、目标首标和与目标首标依次相连的打包的数据流的数据至打包的数据流分析器。
2.按照权利要求1所述的方法,其中打包的数据流是PES流,基本流是基本视频流,以及目标首标是如下中的一个序列首标、图像首标、一组图像首标。
3.按照权利要求1或2所述的方法,其中所插入的分组首标是一伪首标。
4.一种用于译码封装了打包的数据流的传输流的方法,该数据流包括分组,分组包括首标和净荷,分组中将基本流封装成净荷,其特征在于,它包括下列步骤在基本流中选择目标首标;在包含该目标首标的传输流分组之前插入传输流分组,所述被插入的传输流分组包含打包的数据流首标;传送后面跟着包含目标首标的传输流分组的被插入的传输流分组至后面跟着打包的数据流分析器的传输流多路分解器。
5.按照权利要求4所述的方法,其中传输流、打包的数据流和基本流是MPEG兼容的,其中基本流是基本视频流,以及其中目标首标是如下中的一个序列首标、图像首标、一组图像首标。
6.按照权利要求4或5所述的方法,其中在被插入的传输流首标中的打包的数据流分组首标是伪(dummy)首标。
7.按照权利要求4至6中的任意一个所述的方法,其中被插入的传输流分组还包括在它的净荷中的序列差错代码。
8.按照权利要求7所述的方法,其中在序列差错代码之前插入附加代码,以避免在基本流层次上出现特殊的二进制序列代码如起始代码。
9.按照权利要求8所述的方法,其中所述附加代码是代码“0xB4”。
10.按照权利要求4至9中的任意一个所述的方法,其中被插入的传输分组的首标包括连续计数器值,其等于包含目标首标的传输分组的首标的值减1,还包括连续计数器的不连续信息。
11.一种数字视频译码装置,其特征在于它包括大容量存储器,用于保存具有打包的基本流格式的数字视频流;视频译码电路,用于接收打包的基本流格式数据;用于定位在所述数字视频流中所封装的基本视频流中的目标首标的电路,用于传送从所述目标首标开始的一部分基本流到译码器,以及用于在所述传送之前在所述目标首标前面插入伪打包的基本流首标。
12.一种数字视频译码装置,其特征在于它包括大容量存储器,用于保存具有传输流格式的数字视频流;视频译码电路,用于接收传输流格式数据;用于定位在所述数字视频流中所封装的基本视频流中的目标首标的电路,用于传送在包含有包含目标首标的基本流分组的传输流分组上开始的传输流到译码器,以及用于在包含目标首标的传输流分组之前插入传输流分组,所述被插入的传输流分组包括打包的数据流首标。
全文摘要
一种用于译码打包的数据流的方法和装置,该数据流包括分组,分组包括首标和净荷,在分组中将基本流封装成争荷。该方法包括下列步骤:在基本流中选择目标首标;在所述目标首标的前面插入经封装的数据流分组首标;传送所插入的分组首标、目标首标和与目标首标依次相连的打包的数据流的数据至打包的数据流分析器。该方法可应用于数字视频系统,特别是数字电视译码器。
文档编号H04N7/24GK1321045SQ0111620
公开日2001年11月7日 申请日期2001年4月4日 优先权日2000年4月5日
发明者弗兰克·埃布拉德, 菲利普·莱延德克, 克里斯托弗·拉布 申请人:汤姆森多媒体公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1