CN103546765B - 传输流封装方法、传输流及其解析方法 - Google Patents
传输流封装方法、传输流及其解析方法 Download PDFInfo
- Publication number
- CN103546765B CN103546765B CN201310226280.3A CN201310226280A CN103546765B CN 103546765 B CN103546765 B CN 103546765B CN 201310226280 A CN201310226280 A CN 201310226280A CN 103546765 B CN103546765 B CN 103546765B
- Authority
- CN
- China
- Prior art keywords
- transmission
- transmission stream
- data segment
- data
- bag
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明揭示了一种传输流封装方法、传输流及其解析方法,其中传输流封装方法包括将待封装文件拆分成多个数据段;分别将各个数据段封装成传输包,其中传输包至少包括数据标识,数据标识用于记录数据段在待封装文件中的起始偏移位置;在任意相邻两个传输包之间插入节目关联表和/或节目映射表以形成封装后的传输流,其中所述节目关联表用于向接收端提供复用的每一路传输流中包含的广播任务,所述节目映射表用于指示接收端接收与各个广播任务对应的传输包。本技术方案解决了现有技术中文件无法通过广播链路下发至各个接收端,而在广播链路上丢失的数据包也无法通过互联网进行补包的问题。
Description
技术领域
本发明涉及数字电视领域,尤其涉及一种传输流封装方法、传输流及其解析方法。
背景技术
数字电视是一个从节目采集、节目制作、节目传输直到用户端都是以数字方式处理信号的端到端的系统。基于DVB技术标准的广播式和交互式数字电视采用先进用户管理技术能将节目内容的质量和数量做得尽善尽美并为用户带来更多的节目选择和更好的节目质量效果,数字电视系统可以传送多种业务,如高清电视节目、标清电视节目、互动电视节目及数据业务等。与模拟电视相比,数字电视具有图像和伴音质量高、节目容量大等优点。
在现有技术中,发送端将各个节目的音视频数据进行拆分和打包处理,并通过传输复用方式以形成多个传输流。用户端获取节目信息的过程为:机顶盒首先锁定频点、然后搜索发送端(即前端)码流节目特定信息/业务信息表(Program Specific Information/Service Information,PSI/SI)中的网络信息表(Network Information Table,NIT),得到整个网络的频点列表,再根据相应的频点获取节目关联表(Program Association Table,PAT),解析该PAT表后得到每个节目的节目映射表(Program Map Table,PMT),通过解析PMT表可以获得所要接收节目的音视频数据。
在上述过程中,用户端在接收节目过程中可能会出现丢包,从而造成数据缺失。但是由于在发送端对节目的音视频数据进行拆分和打包过程中并未记录下各个拆分后的音视频数据在原始文件中的位置,因此接收端无法通过其他途径获取到在广播链路上丢失的数据包。
发明内容
本发明的目的解决现有技术中文件无法通过广播链路下发至各个接收端,而在广播链路上丢失的数据包也无法通过互联网进行补包的问题。
为实现上述目的,本发明实施例提供了一种传输流封装方法,包括:将待封装文件拆分成多个数据段;分别将各个数据段封装成传输包,其中所述传输包至少包括数据标识,所述数据标识用于记录所述数据段在待封装文件中的起始偏移位置;在任意相邻两个传输包之间插入节目关联表和/或节目映射表以形成封装后的传输流,其中所述节目关联表用于向接收端提供复用的每一路传输流中包含的广播任务,所述节目映射表用于指示接收端接收与各个广播任务对应的传输包。
可选的,所述传输包还包括标识码,该标识码用于记录该传输包所在传输流的编号;所述分别将各个数据段封装成传输包包括如下步骤:
在所述传输包的包头中记录所述标识码;
在所述传输包的数据信息中记录该数据段以及与该数据段对应的数据标识。
可选的,所述节目关联表包括所有广播任务的编号,以及与各个广播任务对应的节目映射表在所述传输流中的编号;所述节目映射表包括与该广播任务对应的传输包所在传输流的编号,以及与该广播任务对应的传输包在接收端的存储位置信息。
可选的,所述在任意相邻两个传输包之间插入节目关联表和/或节目映射表以形成封装后的传输流包括如下步骤:将各个传输包依照其所包含的数据段在待封装文件中的顺序进行排列;每隔预定数量的传输包插入所述节目关联表和/或节目映射表以形成封装后的传输流。
本发明实施例还提供了利用上述传输流封装方法形成的传输流,包括:多个传输包和设置于任意相邻两个传输包之间的节目关联表和/或节目映射表;其中,每个所述传输包包括数据段和数据标识,其中所述数据标识用于记录该数据段在待封装文件中的起始偏移位置;所述节目关联表用于向接收端提供复用的每一路传输流中包含的广播任务,所述节目映射表用于指示接收端接收与各个广播任务对应的传输包。
可选的,所述传输包还包括标识码,该标识码用于记录该传输包所在传输流的编号。
可选的,所述节目关联表包括所有广播任务的编号,以及与各个广播任务对应的节目映射表在所述传输流中的编号;所述节目映射表包括与该广播任务对应的传输包所在传输流的编号,以及与该广播任务对应的传输包在接收端的存储位置信息。
可选的,所述传输流中各个传输包是依照其所包含的数据段在待封装文件中的顺序来排列的,且所述节目关联表和/或节目映射表设置于每隔预定数量的传输包之后。
本发明实施例还提供了一种传输流的解析方法,包括:基于接收到的传输流中的节目关联表和节目映射表分别确定传输流中所包含的广播任务以及确定各个广播任务对应的传输包;从传输流中查找与需要接收的广播任务对应的传输包;将该传输包中的数据段存储在本地文件中相应的存储位置;其中,该本地文件的名称由所述节目映射表来确定,所述存储位置是指在所述本地文件中存储该数据段的起始偏移位置,且该起始偏移位置由该数据段对应的数据标识来确定。
可选的,所述基于接收到的传输流中的节目关联表和节目映射表分别确定传输流中所包含的广播任务以及确定各个广播任务对应的传输包包括:
从接收到的传输流中搜索节目关联表;
基于接收到的广播任务判断搜索到的该节目关联表中是否包含该广播任务的编号;
若上述判断结果为是,则继续从该节目关联表中查找与该广播任务对应的节目映射表的编号;
根据该节目映射表的编号从传输流中查找对应的节目映射表;
解析该节目映射表以确定与所述广播任务对应的传输包所在传输流的编号。
可选的,传输流的解析方法还包括:
当接收所述广播任务完成后,若在本地文件中存在丢失数据段,则以临时数据填充所述丢失数据段;其中,所述临时数据由接收端设定;
确定各个丢失数据段在本地文件中的起始偏移位置;
计算相邻两个丢失数据段的起始偏移位置之间的相对偏移量;
若所述相对偏移量小于预设阈值,则将这两个丢失数据段合并为一个标记数据段;若所述相对偏移量大于预设阈值,则以分别以这两个丢失数据段作为标记数据段;
通过互联网下载与该所述标记数据段对应的数据内容并填充所述标记数据段以还原所述本地文件。
可选的,所述在本地文件中存在丢失数据段包括如下任一种情形:1)当前传输流的版本号不低于所需接收广播任务的版本号,且该传输流中没有与广播任务对应的传输包;2)接收端的广播接收程序模块发生异常或者接收端与广播网的信号连接发生异常。
与现有技术相比较,本技术方案至少具有以下有益效果:
根据本发明实施例提供的传输流封装方法,在将原始的待封装文件中各个数据段封装成传输包的过程中,增加了用于记录所述数据段在原始的待封装文件中的起始偏移位置的数据标识。这样接收端不仅可以结合相应的节目映射表以及该数据标识来确定其对应的数据段在本地的存储位置,而且若出现丢包情况,也可以基于该数据标识从传输流中查找并接收到丢失的传输包。
进一步地,在形成传输流过程中,在任意相邻的传输包之间插入了节目关联表和/或节目映射表,这样便于接收端能在较短时间内获取到与广播任务相关的信息表,从而能尽快开始接收与广播任务对应的传输包。
根据本发明实施例提供的传输流的解析方法,接收端可以快速地从传输流中搜索到节目关联表,进而获取与需要接收的广播任务所对应的节目映射表,再根据该节目映射表查找相应的传输包。然后,根据节目映射表中的存储位置信息来创建本地文件,每个本地文件对应一个广播任务,并根据传输包中的数据标识来确定与该数据标识对应的数据段在本地文件中的起始偏移位置。
进一步地,在接收所述广播任务完成后,若在本地文件中存在丢失数据段,接收端可以基于各个丢失数据段的起始偏移位置之间的相对偏移量设置标记数据段,并从互联网下载与该标记数据段对应的数据内容并填充标记数据段以还原本地文件。
附图说明
图1是本发明的一种传输流封装方法的具体实施方式的流程示意图;
图2是本发明的一种传输流的一个具体实施例的结构示意图;
图3是图2所示的传输流中的传输包的格式示意图;
图4是图2所示的传输流中的节目关联表的格式示意图;
图5是图2所示的传输流中的节目映射表的格式示意图;
图6是本发明的一种传输流的解析方法的具体实施方式的流程示意图;
图7是本发明的一种传输流的解析方法中对丢失数据段进行补包处理的具体实施方式的流程示意图。
具体实施方式
如背景技术中所述,现有技术中接收端无法准确地对丢包的数据进行补包处理以还原原始文件。为此,本技术方案提供了一种传输流封装方法、传输流及其解析方法来解决上述问题。
下面结合附图和实施例进一步说明本发明的技术方案。
在本发明所提及的“节目”是指广播传输内容的一种形式,其可以是各种文字、图像、音频、视频及其组合,也可以是其他的多媒体表现形式,而并非仅限于传统意义的广播电视节目。在本技术方案中,一个广播任务相当于一个节目。
如图1所示的是本发明的一种传输流封装方法的具体实施方式的流程示意图。参考图1,所述传输流封装方法包括:
步骤S11:将待封装文件拆分成多个数据段;
步骤S12:分别将各个数据段封装成传输包,其中所述传输包至少包括数据标识,所述数据标识用于记录所述数据段在待封装文件中的起始偏移位置;
步骤S13:在任意相邻两个传输包之间插入节目关联表和/或节目映射表以形成封装后的传输流,其中所述节目关联表和节目映射表用于记录所有广播任务并指示接收端接收与各个广播任务对应的传输包。
在本实施例中,在所述步骤S11中,所述待封装文件中包括广播发送端将要发送的广播数据,为了便于对广播数据进行封装,首先将待封装文件中的广播数据拆分多个数据段。优选地,拆分成的多个数据段的长度是相同的,但实际应用中,通常拆分的最后一个数据段的长度会小于其他数据段的长度,这里可以以预设数据内容来填充该数据段(最后一个数据段)的其余部分。
例如,每个数据段的长度为176字节(Byte),对于一个1024*1024*1024字节(即1G)的待封装文件来说,将会被拆分成6100806个数据段,对于最后一个数据段,其字节数小于176字节(Byte),其余部分将以0xff填充。
在所述步骤S12中,分别将拆分成的各个数据段进行封装以形成传输包。其中,所述传输包由包头、数据信息以及校验位这三部分组成。优选地,包头的长度为4字节、数据信息的长度为180字节、校验位的长度为4字节。所述传输包中各部分的具体结构将在下文中描述。需要说明的是,在实际应用中,在传输包中,经封装后的数据段称为净荷数据,也就是说,所述净荷数据的与数据段是相同的数据,只是在不同文件(原始的待封装文件与封装后的传输流)中的称谓不同。
在所述包头中记录有标识码(称为传输包标识码PID,Packet ID),该标识码用于记录该传输包所在传输流的编号,也就是说,属于同一传输流的各个传输包中的标识码是相同的,而在所述数据段中记录有数据段以及与该数据段对应的数据标识。
与现有技术不同的是,在本实施例中,在所述传输包的数据信息中设置有数据标识,该数据标识用于记录传输包中的净荷数据在待封装文件中的起始偏移位置。具体来说,可以将所述待封装文件中的一个数据段所在的位置设置为基准位置,进而依照其他数据段与该数据段(设置为基准位置的数据段)之间的顺序关系来确定其他数据段所在位置相对于该基准位置的偏移量(即所述起始偏移位置)。这里设置该数据标识的作用是使得接收端在接收到传输包之后可以结合相应的节目映射表以及该数据标识来确定对应的净荷数据在本地文件中的存储位置,准确地说,是根据该数据标识确定其所对应的净荷数据在本地文件存储的起始偏移位置。同时,也便于接收端根据该数据标识确定在接收过程中出现丢包的数据并在后续进行补包。
在所述步骤S13中,在将各个传输包进一步封装成传输流的过程中,在任意相邻两个传输包之间插入节目关联表和/或节目映射表以形成封装后的传输流,其中所述节目关联表用于向接收端提供复用的每一路传输流中包含的广播任务,所述节目映射表用于指示接收端接收与各个广播任务对应的传输包。
在本步骤中,通过在任意相邻两个传输包之间插入节目关联表(ProgramAssociation Table,以下简称PAT表)和节目映射表(Program Map Table,以下简称PMT表)的方式,使得接收端能在较短时间内获取到与广播任务相关的信息表(在本实施例中主要包括PAT表和PMT表),从而能尽快开始接收与广播任务对应的传输包。需要说明的是,在本步骤中,并不对在传输包之间插入PAT表和/或PMT表的具体位置和具体数目作限定,在实践中可以根据接收端接收广播任务的需要来确定。
在一个优选实施例中,本步骤包括:1)将各个传输包依照其所包含的数据段在待封装文件中的顺序进行排列;2)每隔预定数量的传输包插入所述节目关联表和/或节目映射表。其中,所述预定数量可以根据实际需求来设定,在此不做限定。
在本步骤中,所述PAT表包括所有广播任务的编号,以及与该广播任务对应的PMT表在所述传输流中的编号。具体来说,所述PAT表中记录了复用的每一路传输流中所包含的广播任务并提供各个广播任务的编号,以及还提供了每个广播任务对应的PMT表在传输流中的编号。
所述PMT表包括与该广播任务对应的传输包所在传输流的编号,以及与该广播任务对应的传输包在接收端的存储位置信息。具体来说,所述PMT表对单个广播任务的信息作了详细描述,接收端可以根据PMT表查找到所需接收的广播任务中包含的所有传输包以及这些传输包在传输流中的编号。进一步地,所述PMT表中还记录了该广播任务对应传输包在本地存储的文件名(即所述存储位置信息),在接收端可以针对每个广播任务分别建立一个本地文件,并将属于该广播任务的传输包存储于这个本地文件中。
在实际应用中,广播发送端对待封装文件经过上述步骤S1至步骤S3的封装处理后得到传输流,该传输流中包括多个传输包以及PAT表和PMT表。接收端则可以根据PAT表与PMT表之间的关联(即PAT表中记录有与广播任务对应的PMT表在所述传输流中的编号),以及PMT表中的信息(包括与广播任务对应的传输包所在传输流的编号,以及与广播任务对应的传输包在接收端的存储位置信息)接收相应的传输包,并将接收到的传输包存储在本地文件的指定位置中。关于接收端对传输流进行解析的具体过程将在下文的实施例中具体描述。
基于上述传输流封装方法,本发明实施例提供了一种采用所述传输流封装方法对待封装文件进行封装后形成的传输流。如图2所示的是本发明的一种传输流的一个具体实施例的结构示意图。
参考图2,所述封装后的传输流包括:多个传输包和设置于任意相邻两个传输包之间的PAT表和/或PMT表。需要说明的是,图2仅是示意图,图中所示的PAT表和PMT表的数目以及在传输包之间的位置并非是对本发明的限定。
如图3所示的是图2中封装后的传输流中传输包的格式示意图。
参考图3,所述传输包包括包头、数据信息以及校验位。
其中,包头包括同步字节、传输误码指示符、有效负载起始单元、传输优先级、标识码(PID)、传输加扰控制、自适用域控制以及连续计数器。其中,标识码用于记录该传输包所在传输流的编号。包头部分的其他字段的具体作用可以参考现有技术,在此不再赘述。
数据信息包括数据段和数据标识,其中所述数据标识用于记录该数据段在待封装文件中的起始偏移位置。在本实施例中,所述数据段中还设置有保留位,该保留位的作用是可以根据数据段的不同长度可以对数据标识的长度进行调整,以扩展数据标识的长度。
校验位中的信息用于接收端对接收到的传输包进行校验以确定该传输包在传输过程中是否损坏。在本实施例中,所述校验位采用循环冗余校验(Cyclic RedundancyCheck,CRC)码,该校验码及相应的校验方法可以采用现有技术,在此不再赘述。
在本实施例中,传输包的长度为188字节,其中包头部分占用4个字节、数据段部分占用180个字节、校验位占用4个字节。
包头部分:同步字节占用8比特、传输误码指示符占用1比特、有效负载起始单元占用1比特、传输优先级占用1比特、标识码(PID)占用13比特、传输加扰控制占用2比特、自适用域控制占用2比特、连续计数器占用4比特。数据段部分:数据标识占用30比特、保留位占用2比特、数据段占用176字节。校验位部分占用32比特。
当然,在实际应用中,还可以对传输包的长度以及传输包中各个部分的长度进行调整,这并不影响本发明的实质。
如图4所示的是图2中封装后的传输流中节目关联表的格式示意图。
参考图4,所述PAT表包括表头、数据信息以及校验位。
其中,PAT表的表头包括:标记表类型(table_id)、表长度(length)、当前流的版本号(version)、PAT表的当前段号码(section_number)、PAT表的最后一段号码(last_section_number)。其中,对于PAT表,标记表类型为0x00。所述当前流的版本号用于标识当前PAT表的版本,对于接收端来说,可以根据所需接收的广播任务的版本号与当前传输流的版本号进行对比来确定是否需要更新本地文件。
在本实施例中,设置section_number和last_ section_number的作用是当PAT表中需要记录的广播任务过多(超过单个传输包的长度)时,该PAT表需要分成多个传输包才能记录下所有广播任务的信息,因此需要通过section_number记录PAT表中当前传输包的号码,并通过last_section_number记录下最后一个传输包的号码,而在当前传输包之后续接的每个传输包的号码依序加1直到最后一个传输包,这样接收端可以根据这两个字段查找到组成PAT表的所有传输包。
数据信息中包括按照各个广播任务依序排列的相关字段。对应每个广播任务的相关字段包括该广播任务的编号(program_number)和该广播任务对应的PMT表在所述传输流中的编号(nit_pmt_pid)。此外,对应每个广播任务的相关字段中还包括保留位(reserved)。
校验位中的信息用于接收端对接收到的PAT表进行校验以确定该PAT表在传输过程中是否损坏。在本实施例中,所述校验位采用循环冗余校验(Cyclic Redundancy Check,CRC)码,该校验码及相应的校验方法可以采用现有技术,在此不再赘述。
如图5所示的图2中封装后的传输流中节目映射表的格式示意图。
参考图5,与PAT表的格式相类似,所述PMT表也包括表头、数据信息以及校验位。
其中,PMT表的表头包括:标记表类型(table_id)、表长度(length)、当前流的版本号(version)、PMT表的当前段号码(section_number)、PMT表的最后一段号码(last_section_number)。其中,对于PMT表,标记表类型为0x02。这里的当前流的版本号(version)与PAT表的版本号一致。
与PAT表相类似地,这里设置section_number和last_ section_number的作用是当PMT表中记录信息的字节数过多(例如超过180字节)时,该PMT表需要分成多个传输包才能记录下该广播任务中各个传输流的相关信息,因此需要通过section_number记录PMT表中当前传输包的的号码,并通过last_section_number记录下最后一个传输包的号码,而在当前传输包之后续接的每个传输包的号码依序加1直到最后一个传输包,这样接收端可以根据这两个字段来查找到组成PMT表的所有传输包。
数据信息中包括:1)传输流的类型(stream_type),例如数据类型、附件类型等,本实施例中主要是指数据类型。2)各个类型传输流的编号(elem_pid)、即该编号的传输流中的传输包是与广播任务对应的传输包。3)传输流的大小(file_size),接收端可以根据该传输流的大小确定实际所要接收传输包的数量。4)与该广播任务对应的传输包在接收端存放位置的标记(descriptor[]),接收端根据可以在本地创建和该标记同名的文件,并将从传输流中获取到的传输包存放在该文件中。5)des_info_length字段,用于标示descriptor[]字段的字节数。
在所述数据信息中,还包括设置在stream_type字段和elem_pid字段之间的保留位(reserved_1),以及设置在file_size字段和des_info_length字段之间的保留位(reserved_2)。
校验位中的信息用于接收端对接收到的PMT表进行校验以确定该PMT表在传输过程中是否损坏。在本实施例中,所述校验位采用循环冗余校验(Cyclic Redundancy Check,CRC)码,该校验码及相应的校验方法可以采用现有技术,在此不再赘述。
本发明实施例还提供了一种传输流的解析方法。如图6所示的是本发明的一种传输流的解析方法的具体实施方式的流程示意图。参考图6,所述传输流的解析方法包括:
步骤S21:基于接收到的传输流中的节目关联表和节目映射表分别确定传输流中所包含的广播任务以及确定各个广播任务对应的传输包;
步骤S22:从传输流中查找与需要接收的广播任务对应的传输包;
步骤S23:将该传输包中的数据段存储在本地文件中相应的存储位置;其中,该本地文件的名称由所述节目映射表来确定,所述存储位置是指在所述本地文件中存储该数据段的起始偏移位置,且该起始偏移位置由该数据段对应的数据标识来确定。
需要说明的是,本实施例所述的传输流的解析方法是从接收端的角度来描述的,所述接收端内设置有广播接收程序模块和客户端程序模块,其中广播接收程序模块用于接收广播任务,而所述客户端程序模块用于向所述广播接收程序模块发送广播任务。在实际应用中,所述接收端可以是数字电视的机顶盒。
具体来说,在本实施例中,所述步骤S21包括:
步骤S211:从接收到的传输流中搜索PAT表;
步骤S212:基于接收到的广播任务判断搜索到的该PAT表中是否包含该广播任务的编号;
步骤S213:若上述判断结果为是,则继续从该PAT表中查找与该广播任务对应的PMT表的编号;
步骤S214:根据该PMT表的编号从传输流中查找对应的PMT表;
步骤S215:解析该PMT表以确定与所述广播任务对应的传输包所在传输流的编号。
在所述步骤S23中,与一个广播任务对应的传输包可能分布在同一路传输流中,也可能分布在不同的传输流中。接收端可以基于上述步骤S21和步骤S22确定与所需接收的广播任务对应各个传输包所在传输流的编号,再将属于该广播任务的传输包中的数据段存储在本地文件中相应的存储位置。
在实际应用中,首先接收端可以根据PMT表中的存储位置信息创建与所需接收广播任务同名的本地文件,也就是说该本地文件的名称由所述PMT表来确定。然后,再依照与该广播任务对应的各个传输包中数据标识将对应的数据段存储在本地文件的起始偏移位置。
在实际应用中,在接收端的广播接收程序模块正常工作以及接收端与广播网的信号连接正常的情况下,接收端可以持续从传输流中查找与需要接收的广播任务对应的传输包。换句话说,即使接收端从当前传输流中没有完整地接收到所有与广播任务对应的传输包,也可以在后续的传输流中继续查找并接收之前缺失的传输包。在这种情形下,接收端是根据传输包中的数据标识来确定当前遗漏的数据段,并继续从传输流中查找并接收与该数据标识对应的传输包。
进一步地,当接收所述广播任务完成后,若在本地文件中存在丢失数据段,接收端将通过互联网下载丢失数据段的数据内容以还原本地文件。
具体来说,参考图7所示的是本发明的一种传输流的解析方法中对丢失数据段进行补包处理的具体实施方式的流程示意图。参考图7,接收端通过互联网下载丢失数据段的数据内容以还原本地文件包括如下步骤:
步骤S24:当接收所述广播任务完成后,若在本地文件中存在丢失数据段,则以临时数据填充所述丢失数据段;其中,所述临时数据由接收端设定。例如,可以以0x00(作为临时数据)填充所述丢失数据段。通常,所述丢失数据段是数据段大小(例如176字节)的整数倍。
步骤S25:确定各个丢失数据段在本地文件中的起始偏移位置。具体地,接收端可以根据各个丢失数据段对应的数据标识来确定其在本地文件中的起始偏移位置,或者也可以根据本地文件中设置的存储位置标记来确定丢失数据段的起始偏移位置。此外,接收端还将确定各个丢失数据段的大小,例如176字节、352字节等。
步骤S26:计算相邻两个丢失数据段的起始偏移位置之间的相对偏移量。
步骤S27:若所述相对偏移量小于预设阈值,则将这两个丢失数据段合并为一个标记数据段;若所述相对偏移量大于预设阈值,则以分别以这两个丢失数据段作为标记数据段。
结合上述步骤S26和步骤S27,在本实施例中将距离较近的两个丢失数据段合并为一个标记数据段,虽然在该标记数据段中会存在已成功接收的数据段,但由于这部分数据段大小较小,即使从互联网重新下载这些数据段(即已成功接收的数据段),所耗费的网络资源也很少,但通过将这样的丢失数据段合并的方式,可以提高通过互联网下载数据的效率。
在本实施例中,所述预设阈值可以由接收端自行设定,优选地,该预设阈值为1M。
步骤S28:通过互联网下载与该所述标记数据段对应的数据内容并填充所述标记数据段以还原所述本地文件。
在本实施例中,所述在本地文件中存在丢失数据段包括如下情形:
1)当前传输流的版本号不低于所需接收广播任务的版本号,且该传输流中没有与广播任务对应的传输包;
2)接收端的广播接收程序模块发生异常或者接收端与广播网的信号连接发生异常。
综上所述,本技术方案解决了现有技术中文件无法通过广播链路下发至各个接收端,而在广播链路上丢失的数据包也无法通过互联网进行补包的问题。
所属领域的技术人员应当认识到,以上的说明书仅是本发明众多实施例中的一种或几种实施方式,而并非用对本发明的限定。任何对于以上所述实施例的均等变化、变型以及等同替代等技术方案,只要符合本发明的实质精神范围,都将落在本发明的权利要求书所保护的范围内。
Claims (3)
1.一种传输流的解析方法,其特征在于,包括:
基于接收到的传输流中的节目关联表和节目映射表分别确定传输流中所包含的广播任务以及确定各个广播任务对应的传输包;
从传输流中查找与需要接收的广播任务对应的传输包;
将该传输包中的数据段存储在本地文件中相应的存储位置;其中,该本地文件的名称由所述节目映射表来确定,所述存储位置是指在所述本地文件中存储该数据段的起始偏移位置,且该起始偏移位置由该数据段对应的数据标识来确定,
当接收所述广播任务完成后,若在本地文件中存在丢失数据段,则以临时数据填充所述丢失数据段;其中,所述临时数据由接收端设定;
确定各个丢失数据段在本地文件中的起始偏移位置;
计算相邻两个丢失数据段的起始偏移位置之间的相对偏移量;
若所述相对偏移量小于预设阈值,则将这两个丢失数据段合并为一个标记数据段;若所述相对偏移量大于预设阈值,则以分别以这两个丢失数据段作为标记数据段;
通过互联网下载与该所述标记数据段对应的数据内容并填充所述标记数据段以还原所述本地文件。
2.如权利要求1所述的传输流的解析方法,其特征在于,所述基于接收到的传输流中的节目关联表和节目映射表分别确定传输流中所包含的广播任务以及确定各个广播任务对应的传输包包括:
从接收到的传输流中搜索节目关联表;
基于接收到的广播任务判断搜索到的该节目关联表中是否包含该广播任务的编号;
若上述判断结果为是,则继续从该节目关联表中查找与该广播任务对应的节目映射表的编号;
根据该节目映射表的编号从传输流中查找对应的节目映射表;
解析该节目映射表以确定与所述广播任务对应的传输包所在传输流的编号。
3.如权利要求1所述的传输流的解析方法,其特征在于,所述在本地文件中存在丢失数据段包括如下任一种情形:
1)当前传输流的版本号不低于所需接收广播任务的版本号,且该传输流中没有与广播任务对应的传输包;
2)接收端的广播接收程序模块发生异常或者接收端与广播网的信号连接发生异常。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310226280.3A CN103546765B (zh) | 2013-06-08 | 2013-06-08 | 传输流封装方法、传输流及其解析方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310226280.3A CN103546765B (zh) | 2013-06-08 | 2013-06-08 | 传输流封装方法、传输流及其解析方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103546765A CN103546765A (zh) | 2014-01-29 |
CN103546765B true CN103546765B (zh) | 2016-12-28 |
Family
ID=49969756
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310226280.3A Active CN103546765B (zh) | 2013-06-08 | 2013-06-08 | 传输流封装方法、传输流及其解析方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103546765B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11539784B2 (en) * | 2016-06-22 | 2022-12-27 | International Business Machines Corporation | Content-based distribution and execution of analytics applications on distributed datasets |
CN106653057A (zh) * | 2016-09-30 | 2017-05-10 | 北京智能管家科技有限公司 | 一种数据处理方法及装置 |
CN108089884A (zh) * | 2016-11-21 | 2018-05-29 | 深圳联友科技有限公司 | 一种工作流数据的动态交互方法及装置 |
CN110099086B (zh) * | 2018-01-31 | 2020-11-06 | 国广融合(北京)传媒科技发展有限公司 | 一种基于融合传输系统的数据传输方法 |
CN110099088B (zh) * | 2018-01-31 | 2022-03-08 | 国广融合(北京)传媒科技发展有限公司 | 一种基于融合传输系统的自适应数据传输方法 |
CN110098899B (zh) * | 2018-01-31 | 2021-11-09 | 国广融合(北京)传媒科技发展有限公司 | 一种基于融合传输系统的协议栈、数据重传的方法 |
CN111767501B (zh) * | 2020-06-29 | 2024-08-09 | 百度在线网络技术(北京)有限公司 | 信息处理及输出方法、装置、电子设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101056163A (zh) * | 2007-05-28 | 2007-10-17 | 北京星线空间信息技术有限公司 | 一种通过数据广播网进行文件可靠分发的方法 |
WO2008088305A2 (en) * | 2006-12-20 | 2008-07-24 | Thomson Research Funding Corporation | Video data loss recovery using low bit rate stream in an iptv system |
CN201114057Y (zh) * | 2007-09-18 | 2008-09-10 | 南京中网通信有限公司 | 基于卫星传输和互联网通知补包的分发装置 |
CN101695124A (zh) * | 2009-10-23 | 2010-04-14 | 北京数码视讯科技股份有限公司 | 马赛克节目导航方法 |
CN102215435A (zh) * | 2010-04-02 | 2011-10-12 | 科腾科技(北京)有限公司 | 一种数字电视推送点播系统及其推送点播方法 |
CN102905189A (zh) * | 2011-07-25 | 2013-01-30 | 北京国微集成技术有限公司 | 多节目传送流分离的方法及装置 |
-
2013
- 2013-06-08 CN CN201310226280.3A patent/CN103546765B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008088305A2 (en) * | 2006-12-20 | 2008-07-24 | Thomson Research Funding Corporation | Video data loss recovery using low bit rate stream in an iptv system |
CN101056163A (zh) * | 2007-05-28 | 2007-10-17 | 北京星线空间信息技术有限公司 | 一种通过数据广播网进行文件可靠分发的方法 |
CN201114057Y (zh) * | 2007-09-18 | 2008-09-10 | 南京中网通信有限公司 | 基于卫星传输和互联网通知补包的分发装置 |
CN101695124A (zh) * | 2009-10-23 | 2010-04-14 | 北京数码视讯科技股份有限公司 | 马赛克节目导航方法 |
CN102215435A (zh) * | 2010-04-02 | 2011-10-12 | 科腾科技(北京)有限公司 | 一种数字电视推送点播系统及其推送点播方法 |
CN102905189A (zh) * | 2011-07-25 | 2013-01-30 | 北京国微集成技术有限公司 | 多节目传送流分离的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN103546765A (zh) | 2014-01-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103546765B (zh) | 传输流封装方法、传输流及其解析方法 | |
US20200213639A1 (en) | Broadcast signal transmission device, broadcast signal reception device, broadcast signal transmission method, and broadcast signal reception method | |
CN105611320B (zh) | 收发媒体文件的方法以及使用该方法发送/接收的装置 | |
CN104756501B (zh) | Mpeg-2传输流中的iso-bmff事件盒承载 | |
CN107005732A (zh) | 发送方法、接收方法、发送装置及接收装置 | |
CN106031181A (zh) | 广播信号发送设备、广播信号接收设备、广播信号发送方法和广播信号接收方法 | |
CN105264846A (zh) | 发送装置、传输流的发送方法以及处理装置 | |
CN104255036A (zh) | Mmt打包svc视频内容的混合传送方法及接收方法 | |
JP7400867B2 (ja) | 送信装置、送信方法および受信装置 | |
CN106797489A (zh) | 发送方法、发送装置及系统 | |
CN106576189A (zh) | 发送方法、接收方法、发送装置及接收装置 | |
KR101764634B1 (ko) | 방송신호 전송방법, 방송신호 수신방법, 방송신호 전송장치, 방송신호 수신장치 | |
CN102714754A (zh) | 传输流的远程再复用 | |
CN106664456A (zh) | 接收装置、接收方法、传输装置以及传输方法 | |
US20180176609A1 (en) | Broadcast signal transmission device, broadcast signal reception device, broadcast signal transmission method, and broadcast signal reception method | |
CN105847873A (zh) | 面向监控应用的高清视频码流与数据复用系统及方法 | |
US20190166060A1 (en) | Apparatus for transmitting broadcast signal, apparatus for receiving broadcast signal, method for transmitting broadcast signal and method for receiving broadcast signal | |
CN106464676B (zh) | 广播信号发送设备、广播信号接收设备、广播信号发送方法以及广播信号接收方法 | |
CN101695124B (zh) | 马赛克节目导航方法 | |
US10051339B2 (en) | Method for generating and transferring at least one data stream | |
KR20180040571A (ko) | 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법 | |
US20110096775A1 (en) | System and method for multiplexing and streaming contents | |
CN101860737B (zh) | 一种降低传输时延的mpeg2系统层封装方法和装置 | |
JP7243799B2 (ja) | 受信方法及び受信装置 | |
CN110545294B (zh) | 应用于IPover DVB传输的IP数据封装方法、还原方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: Room 1018, block B, No. three East Bridge Road, Pudong New Area, Shanghai, 200125, China Applicant after: Shanghai NERC-DTV National Engineering Research Center Co., Ltd. Address before: 200125 Shanghai East Road, Pudong New Area, No. three, No. 1018 Applicant before: Shanghai NERC-DTV National Engineering Research Center Co., Ltd. |
|
COR | Change of bibliographic data | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |