一种从mpeg多节目传送流中提取/存储特定节目的方法和系统的制作方法

文档序号:7551626阅读:140来源:国知局

专利名称::一种从mpeg多节目传送流中提取/存储特定节目的方法和系统的制作方法
技术领域
:本发明涉及一种MPEG(MotionPictureExpertsGroup)传送流,尤其涉及一种从MPEG-2多节目传送流中提取/存储特定节目的方法和系统。MPEG-2标准(ISO/IEC13818-1)是一种用来为数字设备如机顶盒(SetTopBox,STB)、数字电视(DigitalTV,DTV)、交互式数字电视(interactiveDigitalTV,iDTV)、个人计算机、手持设备和其它交互式设备等,提供数字数据流的标准。图1是一个常规的生成多节目MPEG-2传送流的过程。每一个节目的视频信号和音频信号分别被视频编码器112和音频编码器114所接收后按预定的算法压缩成视频基本流ES(ElementaryStream)和音频基本流ES;这些基本流加上数据如Teletext、CloseCaption等再在由时钟装置130发来的节目时钟参考(ProgramClockReference,PCR)控制下分别被打包器118转变为打包后的视频基本流PES(PacketizedElementaryStream)、打包后的音频基本流PES和打包后的数据基本流PES;这些PES加上私用分段(PrivateSections)组成该节目的所有内容。多个节目的内容组与节目特殊信息分段(ProgramSpecificInformationSections,PSI分段)被输入到复用器140后经过复用后输出一个标准的多节目MPEG-2传送流(TransportSteam,TS),该传送流由一个个传送小包(TSPacket)组成。PSI分段可包括节目关联表(ProgramAssociatedTable,PAT)和节目映射表(ProgramMappingTable,PMT)等。图2是一个从基本流ES转换到传送小包(TSPacket)的流程示意图。基本流ES210被打包器分解成一组有效负载224(PESPayload),并在每一个有效负载前增加一个包头222(PESHeader),构成一组打包后的基本流小包220(PESPacket)。该组打包后的基本流小包的有效负载结合起来对应于一个基本流。每一个打包后的基本流小包220经过复用器处理后成为一组符合MPEG标准的188字节的传送小包230(TSPacket),每一个传送小包包括一个4字节的包头232(TSHeader)和一个184字节的有效负载234(TSPayload)。该组传送小包的有效负载结合起来对应于一个打包后的基本流小包220。传送小包的包头包含有目传送流时,首先,在阶段1,从包标识符PID等于0x0000的传送小包的有效负载中找到节目关联表PAT(步骤S310);其次,根据用户发来的节目选择信息,即节目标识符,从节目关联表PAT中获取含有节目映射表的传送小包的包识别符PMTPID(步骤S320),该节目映射表与用户所选定的节目有关;接下来,在阶段2,根据PMTPID找到包含有节目映射表的传送小包,从而获得节目映射表PMT(步骤S330);然后,从节目映射表PMT和标准规定的专用包识别符值中获取所有与所选节目有关的传送小包的包标识符(步骤S340),包括含有基本流内容的传送小包的PID、含有特定节目的节目特别信息/服务信息(PSI/SI)的传送小包的PID和含有节目时钟参考(PCR)的传送小包的PID;最后,在阶段3,将接收到的传送小包的PID值与上述PID值进行比较,如是其中之一,则发送到下一步进行处理,不然,则丢弃该运输小包(步骤S350)。现有的从MPEG-2多节目传送流中提取/存储特定节目的方法主要有以下两种方法一是将经过图3所示流程的处理后的传送小包通过转码器进行码率调整,然后进行再复用从而得到一个新的符合MPEG-2标准的含有特定节目的传送流来供下一步处理,如传送或存储。该方法的缺陷在于转码/再复用要增加成本。方法二是在经过图3所示流程所得到的传送小包上增加一个到达时间(ATC,ArriveTimeClock)标签生成部分传送流(PartialTransportStream),然后进行下一步处理,如传送或存储,在重放时,利用到达时钟作为参考,所有传送小包按照到达时间被提供出来供下一步处理。该方法的缺陷在于重放时过程复杂,另外,由于到达时间ATC标签不是MPEG-2标准的一部分,这使得对该流文件的进一步处理如编辑变得复杂。同时该方法所生成的部分传送流只包括选择信息表(SelectionInformationTable,SIT)和不连续信息表(DiscontinuityInformationTable,DIT),而根据其语法其它的服务表(SItable)则不再提供,而这些表对于交互式电视(interactiveTV,iTV)是必需的。符合MHP(MultimediaHomePlatform)标准的传送流是一种基于MPEG-2标准的但有更强大功能的传送流。如果一个符合MHP标准的传送流按上述两种方法处理,则所生成的新的节目传送流都不再符合MHP标准。因此,需要一种更加有效的从MPEG-2多节目传送流中提取/存储特定节目的方法,能够保证新生成的节目传送流在传送时保持码率不变,在重放时仍是符合MPEG-2标准的传送流。
发明内容本发明提供了一种改进的从MPEG-2多节目传送流中提取特定节目的方法,节目传送流中传送小包的包标识符(PID)值与本发明有重要关系。当接收到一个多节目传送流和用户对特定节目的选择信息后,从用户选择的特定节目的节目关联表(PMT)中获取所有与所选节目有关的传送小包的包标识符(PID),然后将接收到的每一个传送小包的包标识符与前述的包标识符进行比较,如一致,则对该传送小包不作处理,直接送入新生成的节目传送流;如不一致,则将该传送小包的包标识符(PID)置为0x1FFF,然后将其送入新生成的节目传送流。该方法所生成的的节目传送流符合MPEG-2标准,且在传送时保持码率不变;如原传送流符合MHP标准,则新传送流仍然符合MHP标准。另外,本方法不需额外的转码器和再复用器,亦即不再需要额外的转码过程和再复用过程。本发明还提供了一种改进的从MPEG-2多节目传送流中存储/重放特定节目的方法,在存储时,当接收到一个多节目传送流和用户对特定节目的选择信息后,从用户选择的特定节目的节目关联表(PMT)中获取所有与所选节目有关的传送小包的包标识符(PID),然后将接收到的每一个传送小包的包标识符与前述的包标识符进行比较,如一致,则对该传送小包不作处理,存储该传送小包到指定的介质;如不一致,则将该传送小包丢弃,在相应的丢弃位置存入一个空包,该空包的有效负载含有数值1,如连续丢弃多个传送小包,则只存入一个空包,该空包的有效负载含有该位置被连续丢弃的运输小包的数量;最后,存储一个丢包标志在该存储介质上的一个节目信息文件中,该标志用于表明该节目进行过丢包处理。在重放时,首先读取存储在该存储介质上节目信息文件,从中判断该节目信息文件是否含有丢包标志;如有,则从该存储介质中读取该节目的全部传送小包,对每一个传送小包的包标识符(PID)进行判断;如PID不等于0x1FFF,则发送该传送小包到下一步处理;如PID等于0x1FFF,则该传送小包为空包,从该空包的有效负载中获取一个数值,并在该空包旁边增加(所述数值-1)个空包,然后将这些空包送入下一步处理。该存储/重放特定节目的方法,在存储时可节约大量存储空间;在重放时节目被读出经处理后所得到的节目传送流仍符合MPEG-2标准,且如原传送流符合MHP标准,则读出后的新传送流仍然符合MHP标准。另外,本方法不需额外的转码器和再复用器,亦即不再需要额外的转码过程和再复用过程。通过参照结合附图所进行的如下描述和权利要求,本发明的其它目的和成就将是显而易见的,并对本发明也会有更为全面的理解。本发明通过实例的方式,参照附图进行详尽的解释,其中图1是一个常规的生成多节目MPEG-2传送流的过程;图2是一个从基本流ES转换到传送小包(TSPacket)的流程示意图;图3是一个从一个节目传送流中识别特定节目的流程示意图;图4是根据本发明的一个实施例的从一个MPEG-2多节目传送流中提取特定节目的系统示意图;图5是根据本发明的一个实施例的从一个MPEG-2多节目传送流中提取特定节目的流程示意图;图6是根据本发明的另一个实施例的从一个MPEG-2多节目传送流中存储/重放特定节目的系统示意图;图7是根据本发明的另一个实施例的从一个MPEG-2多节目传送流中存储特定节目的流程示意图;图8是根据本发明的另一个实施例的重放按本发明所存储的特定节目的流程示意图;在所有的附图中,相同的参照数字表示相似的或相同的特征和功能。具体实施例方式图4是根据本发明的一个实施例的从一个MPEG-2多节目传送流中提取特定节目的系统示意图。该系统可作为用户的节目接收装置,如机顶盒,的一部分。图中一个接收装置410如一个高频头和解调器用于接收一个输入信号并输出一个数字节目传送流,该传送流为一个多节目传送流。如果一个多节目传送流被直接提供过来,则可不再需要该高频头和解调器410。用户通过用户控制器470向流填充器420(StreamStuffer)发出一个选择特定节目的信号,流填充器420将非用户选择的节目的相关传送小包的包标识符设置为0x1FFF后,与用户选择的节目的相关传送小包一起作为填充后的传送流输出。如果用户所选择的特定节目是一个,相应的填充后的传送流为一个单节目传送流;如果用户所选择的特定节目是多个,相应的填充后的传送流为一个多节目传送流。流填充器的具体填充过程详见下述。该流填冲器420包括一个节目流接收装置421,用于接收从高频头和解调器410送来的一个多节目传送流,该传送流包括传送小包;一个用户信息接收装置423,用于接收用户通过用户控制器470对该多节目传送流所包含的特定节目的选择信息;一个传送小包识别装置422,用于根据用户对特定节目的选择信息,从该多节目传送流中找出非用户选定节目的传送小包;和一个空包设置装置425,用于将非用户选定节目的传送小包的的包识别符(PacketIdentification,PID)设置为一个特定值,如0x1FFF,该特定值为空包标识,同时将设置后的传送小包按原传送流中的顺序与用户选定节目的传送小包一起发出到下一步处理。该传送小包识别装置422进一步包括一个节目寻找装置424,根据用户对特定节目的选择信息,从节目关联表(PAT)中找出相关传送小包的包识别符(PID),该传送小包的有效负载中含有选定节目的节目映射表(PMT);一个包识别符寻找装置426,从所述的节目映射表(PMT)中找出与选定节目相关的传送小包的包识别符(PID),创建一个被用户选定节目的包识别符清单;和一个包识别符比较装置428,用于将收到的传送小包的包识别符(PID)与所述被用户选定节目的包识别符清单中的包识别符(PID)进行比较,以找出非用户选定节目的传送小包,将用户选定节目的传送小包发送到下一步处理。这三个装置连在一起可完成图3中所述的处理流程。该流填充器420还可包括一个信息修改装置429,用于根据用户对特定节目的选取信息,修改该多节目传送流的节目关联表。该填充后的传送流符合MPEG-2标准,可用于下一步处理,如传送、存储和播放,且在传送时保持码率不变,;如原传送流符合MHP标准,则新传送流仍然符合MHP标准。该填充功能使得用户可以很方便地将自己喜欢的节目从多节目流中提取出来,并传送出去与他人分享,而不需要再复用设备;他人在接收到该填充后的流时,用现有的媒体播放器即可播放。如该填充后的传送流被用于播放,则其后续播放过程可以同现有技术一样。填充后的传送流被送到解复用器与解密器450,该解复用器与解密器450的一个功能是将传送流解复用成节目基本流,如果传送流是一个多节目传送流,则根据用户通过用户控制器470发来节目选择控制信号,选择出一个节目传送流将其解复用成节目基本流。该节目基本流被音频/视频解码器460解码后成为音频/视频信号用于播放。该解复用器与解密器450的另一个功能是根据条件访问控制器480发来的存储控制信号将节目解密,以供音频/视频解码器460处理。图5是根据本发明的一个实施例的从一个MPEG-2多节目传送流中提取特定节目的流程示意图。该流程是图4中流填充器420的具体填充流程。首先,开始接收一个多节目传送流(步骤S510),解析节目关联表(PAT)(步骤S512),接收用户对特定节目的选择信息(步骤S514),根据该选择信息从节目映射表(PMT)及标准规定的专用PID值中找出所有与该特定节目有关的传送小包的包识别符创建一个被用户选定节目的包识别符清单,即有用的包识别符清单(步骤S518)。同时,还可根据用户的选择来决定是否修改节目关联表(步骤S526),如进行修改(步骤S527),则置参数PR=1;如不进行修改(步骤S528),则置参数PR=0。该步骤亦可不需要,如没有该步骤,则下述步骤S542相应不存在。所述的有用的包识别符清单对应包括所有的含有用户所选特定节目的节目特别信息/服务信息(PSI/SI)表的传送小包,所有的含有用户所选特定节目的音频/视频基本流数据的传送小包和所有的含有用户所选特定节目的节目时钟参考的传送小包。在MPEG-2标准中,PSI/SI表包括节目关联表(PAT)、节目映射表(PMT)、网络信息表(NetworkInformationTable,NIT)、条件访问表(ConditionalAccessTable,CAT)、服务描述表(ServiceDescriptionTable,SDT)、不连续信息表(DiscontinuityInformationTable,DIT)和情景信息表(EventInformationTable,EIT)等。该清单还可对应含有符合MHP标准所使用的信息表的传送小包,这些特殊的信息表包括运行状态表(RunningStatusTable,RST)、时间抵消表(TimeOffsetTable,TOT)、填充表(StuffingTable,ST)和一揽子信息表(BouquetInformationTable,BAT)等。然后开始接收运输小包(步骤S532),如果节目传送流在传送过程中被调整过,如从四节目传送流变成三节目传送流,则需要更新有用的包识别符清单(步骤S534),如果节目传送流在传送过程中未被调整过,则该步骤亦可不需要。如果接收到的传送小包的包标识符等于0x0000,则该传送小包含有节目关联表(PAT)(步骤S540),然后,进一步判断参数PR是否等于1(步骤S542),如参数PR等于1,则由一个信息修改装置,根据用户对特定节目的选取信息,修改该传送小包的有效负载中的节目关联表(步骤S544),使所生成的新的节目传送流只能反映出所选定的特定节目,该修改过程详见下述;发送修改后的传送小包到输出缓冲器(步骤S546)后判断是否还有另一个传送小包待处理(步骤S590)。如参数PR不等于1,则在直接发送该传送小包到输出缓冲器(步骤S546)后判断是否还有另一个传送小包待处理(步骤S590),在这种情况下在播放该节目传送流时,在应用层面上可置不可选择的节目的标题为暗色,使用户了解原节目传送流含有这些不可选择的节目。如果接收到的传送小包的包标识符不等于0x0000(步骤S540),则进一步判断该传送小包的包标识符是否在有用的包识别符清单中(步骤S550),如在,则在发送该传送小包到输出缓冲器(步骤S552)后判断是否还有另一个传送小包待处理(步骤S590);如不在,则将该传送小包的包识别符置为0x1FFF使其被视为空包(步骤S554),然后在发送该空包到输出缓冲器(步骤S556)后判断是否还有另一个传送小包待处理(步骤S590)。步骤S554亦可将非用户选择的节目的相关传送小包用标准空包进行替代后,然后将该标准空包发送到输出缓冲器。最后,如果上述步骤S590的判断结果为还有另一个传送小包待处理,则返回步骤S532重复上述循环直到没有新的传送小包待处理而结束本流程。步骤S544中修改节目关联表(PAT)一般包括以下内容“sectionlength”字段应被更新如果PAT的长度发生变化;“CRC”字段应被更新如果PAT表发生任何变化;非用户选定的节目的入口应被去掉。下面以一个具体的例子来说明如何修改节目关联表原有的节目关联表如表1所示。节目关联表的长度为24个字节,该表含有3个节目的节目特别信息,“program_number”字段为0x0001,即节目1的PMTPID为0xA1;“program_number”字段为0x0002,即节目2的PMTPID为0x00A2;“program_number”字段为0x0003,即节目3的PMTPID为0x00A3。“section_length”字段的内容为21。循环冗余校验(CyclicRedundancyCheck,CRC)字段是根据MPEG-2标准ISO/IEC13818-1的附件B来计算。如果用户选择节目1,那么相应地修改节目关联表,修改后的PAT见表2节目2和节目3的“program_number”、“reserved”、“program_map_PID”字段应被去掉;“section_length”字段的内容被改为13;循环冗余校验(CyclicRedundancyCheck,CRC)字段是根据修改后的PAT内容进行重新计算。表1修改前的PAT表2修改后的PAT图6是根据本发明的另一个实施例的从一个MPEG-2多节目传送流中存储/重放特定节目的系统示意图。该存储/重放特定节目系统与图4的提取特定节目的系统的区别在于一个流调整器430(StreamModifier)、一个录制装置439和一个流反调整器440(StreamDe-modifier)来代替流填充器420。该流调整器430包括一个节目流接收装置431,用于接收一个多节目传送流,该传送流包括传送小包;一个用户信息接收装置432,用于接受用户对该多节目传送流所包含的特定节目的选择信息;一个丢包装置433,用于根据用户对特定节目的选择信息,丢弃非用户选定节目的传送小包,并在相应的丢弃位置存入一个空包,该空包的有效负载中含有一个数值,该数值能反映在该丢弃位置被连续丢弃的传送小包数量;和一个信息文件生成装置434,用于生成一个节目信息文件,该文件中包含一个丢包标志,该丢包标志用于表明该节目被进行过丢包处理。该流调整器430还可包括一个信息修改装置435,该装置根据用户对特定节目的选取信息,修改该节目传送流的节目关联表,同时存储一个标志在一个节目信息文件中,该标志用于表明该节目的节目关联表被修改过。该录制装置439包括一个节目存储装置,用于存储所有未被丢弃的传送小包和上述空包,并且可用于存储上述节目信息文件。该流反调整器440包括一个节目流接收装置442,用于读取每一个传送小包;一个节目信息判断装置444,用于读取存储在该存储介质上节目信息文件,并判断该节目信息文件是否含有丢包标志,如有,获取每一个空包的有效负载中的一个数值;和一个空包增加装置446,在该空包旁边增加所述数值减一个的数量的空包。该流反调整器440还可包括一个空包判断装置,用于判断每一个空包的有效负载中是否含有一个数值,如有,则获取该数值。该空包判断装置可与节目信息判断装置444一起被包含于该流反调整器440,也可作为节目信息判断装置444的替代装置被单独包含于该流反调整器440,此时,流反调整器440不再去节目信息文件中读取丢包标志,而直接对每一个空包进行判断,以确定其有效负载中是否含有一个数值。当一个多节目传送流被送到流调整器430时,其节目接收装置431接收该传送流中的传送小包,其用户信息接收装置432接收用户从用户控制器470发来的选择特定节目的控制信息,根据该控制信息,其丢包装置433将用户选择的节目的相关传送小包直接送出;将非用户选择的节目的相关传送小包丢掉,并在每一个丢包位置补上一个空包,该空包的有效负载中含有数值1,如连续丢弃多个传送小包,则只需在该位置补上一个空包,该空包的有效负载中含有一个能反映被连续丢掉的传送小包的数量的数值,这些空包与原传送流中未被丢弃的传送小包一道作为调整后的流输出。另外,所述的信息文件生成装置434还可生成一个节目信息文件,该文件中含有一个丢包标志供重放时使用,该丢包标志用于表明该节目被进行过丢包处理。如果用户所选择的特定节目是一个,相应的调整后的传送流为一个单节目传送流;如果用户所选择的特定节目是多个,相应的调整后的传送流为一个多节目传送流。关于该流调整器430的详细运行过程见下述。调整后的传送流及节目信息文件被录制装置439录制在指定的存储介质上。该录制装置可为一个硬盘驱动器(HDD)、一个光盘驱动器(CD或DVD)、一个磁带驱动器或其它类型的磁性/光存储装置。在重放上述录制的节目时,用户通过用户控制器470发出控制信息,调整后的传送流被流反调整器440的节目流接收装置442从录制装置439中读出,流反调整器440的空包判断装置对读出的每一个空包进行检测判断,如该空包的有效负载中含有一个数值,则获取该数值,并由空包增加装置446在该空包旁边增加所述数值减一个的数量的空包,这些空包与读出的非空包一道按读出和插入的顺序被作为一个传送流发送到下一步处理,如传送或播放,该传送流为一个符合MPEG-2标准的节目传送流。该处理过程详见下述。上述传送流被送到解复用器和解密器450,在用户控制器470和条件访问控制器480的控制下被解密和解复用成节目基本流,如音频基本流,视频基本流,该节目基本流进一步被音频/视频解码器460解码后成为音频/视频信号用于播放。用户还可通过流反调整器440中的节目信息读取装置444从录制装置439中读出一个节目信息文件,并判断装置判断该节目信息文件是否含有丢包标志,如有,获取在空包的有效负载中的数值供空包增加装置446处理。图7是根据本发明的另一个实施例的从一个MPEG-2多节目传送流中存储特定节目的流程示意图。该流程为图6中的流调整器430的详细运行过程。在步骤S534以前基本与图5中的流程相同,为了简洁,相同部分不再复述。其区别只是增加了设置参数TSSP等于1(步骤S520),设置参数NCUP等于0(步骤S524)和存储节目信息文件(步骤S529),该参数NCUP用于标记被连续丢弃的传送小包的数量。步骤S529中所存储的节目信息文件中至少含有一个丢包标志TSSP,如TSSP等于1,则表明该存储的节目流被进行过丢包处理。该节目信息文件还可进一步包括节目名称、调整后的流录制在存储介质上的开始和结束位置等。该节目信息文件可存储在存储介质的一个预定位置。同样,修改节目关联表的标志PR值亦可存储在节目信息文件中。如果在步骤S532所接收到的传送小包的包标识符等于0x0000(步骤S540),则该传送小包含有节目关联表(PAT)。根据PR是否等于1来判断是否需要修改该节目关联表(步骤S542),使所生成的新的节目传送流只能反映出所选定的特定节目。如PR等于1,则修改该传送小包所含的节目关联表(步骤S544),该修改过程详见上述,且储存修改后的传送小包到指定的存储介质(步骤S548)后判断是否还有另一个传送小包待处理(步骤S590)。如PR不等于1,则直接储存该传送小包到指定的存储介质(步骤S548)后判断是否还有另一个传送小包待处理(步骤S590),此时,在播放该节目传送流时,在应用层面上置不可选择的节目的标题为暗色,可使用户了解原节目传送流含有这些不可选择的节目。如果在步骤S532所接收到的传送小包的包标识符不等于0x0000(步骤S540),则进一步判断该传送小包的包标识符是否在有用的包识别符清单中(步骤S550),如在,则判断NCUP是否等于0(步骤S561),如是,则储存该运输小包在指定的存储介质中(步骤S563);如不是,则储存一个空包在指定的存储介质中(步骤S565),同时置NCUP为0(步骤S567),该空包的有效负载中含有一个能够反应被连续丢弃的空包数量的数值,之后再储存该运输小包在指定的存储介质中(步骤S563)。如在步骤S550该传送小包的包标识符不在有用的包识别符清单中,则丢弃该传送小包(步骤S572),同时给NCUP加1(步骤S574)。上述储存或丢弃过程结束后再判断是否还有另一个传送小包待处理(步骤S590)。如果还有另一个传送小包待处理,则返回步骤S532重复上述循环直到没有新的传送小包待处理而结束本流程。上述步骤S565在每一个不连续丢包位置补上一个空包,该空包的有效负载中含有数值1,如连续丢弃多个传送小包,则只需在该位置补上一个空包,该空包的有效负载中含有一个能反映被连续丢掉的传送小包的数量的数值。在存储按图5所述的流程生成的填充后的流时,亦可将所有空包丢掉,在相应的丢弃位置存入一个空包,如只丢掉一个空包,则存入的空包的有效负载含有数值1;如连续丢弃多个传送小包,则只存入一个空包,该空包的有效负载含有该位置被连续丢弃的运输小包的数量。最后,存储一个丢包标志在该存储介质上的一个节目信息文件中,该标志用于表明该节目进过丢包处理。图8是根据本发明的另一个实施例的重放按本发明所存储的特定节目的流程示意图。该流程为图6中流反调整器440将接收到的节目流转变成符合MPEG-2标准的节目传送流的详细过程的实施例。首先,接收用户通过用户控制器470发出的选择重放特定节目的控制信息(步骤S810),节目信息文件被从存储介质中读取出来(步骤S820),从该节目信息文件的丢包标志TSSP是否等于1来决定下一步步骤(步骤S822),如TSSP不等于1,则直接读出在存储介质上的节目传送流送到下一步处理(步骤S824);如TSSP等于1,则表明该传送流被进行过丢包处理,因此读出在存储介质上的节目流的每一个传送小包来按下述步骤处理(步骤S830)。如读取的传送小包的包识别符PID等于0x1FFF(步骤S840),则从该传送小包的有效负载中读取NCUP值(步骤S842),并在该传送小包旁边增加NCPU减一个标准空包(步骤S844),所述的旁边为紧邻该传送小包的前一个或下一个位置,然后发送这些空包到下一步处理(步骤S850),如播放或传送。如读取的传送小包的包识别符PID不等于0x1FFF(步骤S840),则直接将该传送小包发送至下一步处理(步骤S850),如播放或传送。上述发送步骤完成后,再判断是否还有另一个传送小包待处理(步骤S860)。如果还有另一个传送小包待处理,则返回步骤S830重复上述循环直到没有新的传送小包待处理而结束本流程。在上述流程中,步骤S820,S822,S824亦可不须要,而在步骤S840与步骤S842之间增加一个检测判断步骤,该步骤检测判断空包的有效负载中是否有一个数值,如有,则进行步骤S842和步骤S844,然后进行步骤S850;如无,则直接跳到步骤S850。另外,流反调整器440还可根据需要对发出的传送流的节目关联表(PAT)进行修改,从而反映该节目传送流中真正可被选择的节目内容。虽然经过对本发明结合具体实施例进行描述,对于在本
技术领域
熟练的人士,根据上文的叙述作出的许多替代、修改和变化将是显而易见的。因此,当这样的替代、修改和变化落入附后的权利要求的精神和范围内时,应该被包括在本发明中。权利要求1.一种从一个MPEG多节目传送流中提取特定节目的方法,包括步骤a.接收一个多节目传送流,该传送流包括传送小包;b.接收用户对该多节目传送流所包含的特定节目的选择信息;c.根据用户对特定节目的选择信息,从该多节目传送流中找出非用户选定节目的传送小包;和d.将非用户选定节目的传送小包的的包识别符(PacketIdentification,PID)设置为一个特定值,该特定值为空包标识。2.如权利要求1所述的方法,其中所述的作为空包标识的特定值为0x1FFF(十六进制)。3.如权利要求1所述的方法,步骤c包括根据用户对特定节目的选择信息,从节目关联表中找出相关传送小包的包识别符,该传送小包含有选定节目的节目映射表;从所述的节目映射表中找出与选定节目相关的传送小包的包识别符,创建一个被用户选定节目的包识别符清单;和将收到的传送小包的包识别符与所述被用户选定节目的包识别符清单中的包识别符进行比较,以找出非用户选定节目的传送小包。4.如权利要求1所述的方法,还包括步骤e.根据用户对特定节目的选择信息,修改该多节目传送流的节目关联表。5.一种从一个MPEG多节目传送流中提取特定节目的系统,包括一个节目流接收装置,用于接收一个多节目传送流,该传送流包括传送小包;一个用户信息接收装置,用于接收用户对该多节目传送流所包含的特定节目的选择信息;一个传送小包识别装置,用于根据用户对特定节目的选择信息,从该多节目传送流中找出非用户选定节目的传送小包;和一个空包设置装置,用于将非用户选定节目的传送小包的的包识别符(PacketIdentification,PID)设置为一个特定值,该特定值为空包标识。6.如权利要求5所述的系统,其中所述的作为空包标识的特定值为0x1FFF(十六进制)。7.如权利要求5所述的系统,所述的传送小包识别装置包括一个节目寻找装置,根据用户对特定节目的选择信息,从节目关联表中找出相关传送小包的包识别符,该传送小包含有选定节目的节目映射表;一个包识别符寻找装置,从所述的节目映射表中找出与选定节目相关的传送小包的包识别符,创建一个被用户选定节目的包识别符清单;和一个包识别符比较装置,用于将收到的传送小包的包识别符与所述被用户选定节目的包识别符清单中的包识别符进行比较,以找出非用户选定节目的传送小包。8.如权利要求5所述的系统,还包括一个信息修改装置,用于根据用户对特定节目的选取信息,修改该多节目传送流的节目关联表。9.一种从一个MPEG多节目传送流中存储特定节目到一个存储介质的方法,包括a.接受一个多节目传送流,该传送流包括传送小包;b.接受用户对该多节目传送流所包含的特定节目的选择信息;c.根据用户对特定节目的选择信息,丢弃非用户选定节目的传送小包;和d.存储所有未被丢弃的传送小包,并在相应的丢弃位置存入一个空包,该空包的有效负载中含有一个数值,该数值反映在该丢弃位置被连续丢弃的传送小包数量。10.如权利要求9所述的方法,进一步包括e.存储一个标志在一个节目信息文件中,该标志用于表明该节目传送流被进行过丢包处理。11.如权利要求9所述的方法,进一步包括f.根据用户对特定节目的选取信息,修改该节目传送流的节目关联表。12.一种从一个MPEG多节目传送流中存储特定节目到一个存储介质的系统,包括一个节目接收装置,用于接收一个多节目传送流,该传送流包括传送小包;一个用户信息接收装置,用于接受用户对该多节目传送流所包含的特定节目的选择信息;一个丢包装置,用于根据用户对特定节目的选择信息,丢弃非用户选定节目的传送小包,并在相应的丢弃位置插入一个空包,该空包的有效负载中含有一个数值,该数值反映在该丢弃位置被连续丢弃的传送小包数量;和一个节目存储装置,用于存储所述未被丢弃的传送小包和插入的空包。13.如权利要求12所述的系统,还包括一个信息文件生成装置,用于生成一个节目信息文件,该文件中包含一个丢包标志,该丢包标志用于表明该节目被进行过丢包处理。14.如权利要求12所述的系统,还包括一个信息修改装置,该装置根据用户对特定节目的选取信息,修改该节目传送流的节目关联表,同时存储一个标志在一个节目信息文件中,该标志用于表明该节目的节目关联表被修改过。15.一种从一个存储介质中回放一个特定的MPEG传送流的方法,包括步骤a.读取每一个传送小包;和b.判断每一个空包的有效负载中是否含有一个数值,如有,则获取该数值;c.在该空包旁边增加所述数值减一个的数量的空包。16.一种从一个存储介质中回放一个特定的MPEG传送流的方法,包括步骤a.读取每一个传送小包;b.判断该传送流的节目信息文件是否含有一个丢包标志,如有,获取每一个空包的有效负载中的一个数值,和c.在该空包旁边增加所述数值减一个的数量的空包。17.一种从一个存储介质中回放一个特定的MPEG传送流的系统,包括一个节目流接收装置,用于读取每一个传送小包;一个空包判断装置,用于判断每一个空包的有效负载中是否含有一个数值,如有,则获取该数值;和一个空包增加装置,用于在该空包旁边增加所述数值减一个的数量的空包。18.一种从一个存储介质中回放一个特定的MPEG传送流的系统,包括一个节目流接收装置,用于读取每一个传送小包;一个节目信息判断装置,用于判断该传送流的节目信息文件是否含有一个丢包标志,如有,获取每一个空包的有效负载中的一个数值;和一个空包增加装置,用于在该空包旁边增加所述数值减一个的数量的空包。全文摘要本发明提供了一种改进的从MPEG-2多节目传送流中提取特定节目的方法,通过将非用户选定的节目的传送小包的包标识符(PID)置为0x1FFF(十六进制)来生成新的节目传送流,PID值为0x1FFF表示该传送小包为空包。该方法所生成的节目传送流符合MPEG-2标准,且在传送时保持码率不变;如原传送流符合MHP标准,则新传送流仍然符合MHP标准。本发明还提供了一种改进的从MPEG-2多节目传送流中存储/重放特定节目的方法,在存储时,将非用户选定的节目的相关传送小包丢弃,在相应的丢弃位置存入一个空包,该空包的有效负载含有该位置被连续丢弃的运输小包的数量;在重放时,如遇到有效负载中含有一个特定数值的空包,在该空包旁边增加特定数值减1个空包。该存储/重放特定节目的方法,在存储时可节约大量存储空间;在重放时节目被读出经处理后所得到的节目传送流符合MPEG-2标准,且如原传送流符合MHP标准,则新传送流仍然符合MHP标准。文档编号H04N7/24GK1615018SQ20031011424公开日2005年5月11日申请日期2003年11月6日优先权日2003年11月6日发明者甘亮,谭径微,石峻申请人:皇家飞利浦电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1