一种数据包处理方法、装置和系统的制作方法

文档序号:7688742阅读:102来源:国知局
专利名称:一种数据包处理方法、装置和系统的制作方法
技术领域
本发明涉及网络通信领域,尤其涉及一种数据包处理方法、装置和系统。
背景技术
在IPTV业务中,有一种主流的媒体内容封装方式为StreamData(媒体流 数据)—TS ( Transport Stream,传送流)—UDP ( User Datagram Protocol,用 户数据报文协议)—IP (Internet Protocol,网际协议),由于媒体内容是封装 成TS包然后以UDP的方式在IP网络上传送,那么装载着媒体内容的IP包 经过网络的传送后,达到IPTV (Internet Protocol Television,基于互联网传输 协议的电视)的终端设备如STB (SetTopBox,机顶盒)时,就存在IP包乱 序的情况、IP包丢包的情况。如果IP包乱序、丟包,那么STB解码后,就会 出现图像质量问题,如画面错位、马赛克现象,那么为了避免出现以上现象, 就要求IPTV的终端设备能实现IP包的乱序重排,同时也能支持实现IP包的 丟包重传。
但现阶段,基于以上协议栈,IPTV的终端设备无法解决IP包乱序问题, 为了避免出现IP包乱序,现在一般都是把IPTV业务部署在专网中,通过规 划业务路由的方式来做到数据包如IP包的不乱序;而在数据包如IP包的丢包 重传方面,由于从UDP层和IP层上不能分析出到底丢了哪些数据包如IP包, 所以现在IPTV的终端设备没有解决办法,只能期望数据包如IP包在IP网络 传送中尽量不出现丢包。
在媒体内容的丟包测试方面,典型的MDI ( Media Delivery Index)中MLR (Media Loss Rate)的测试,也即测量在一路TS流中一秒钟丟失的TS包个 数;由于表示TS包递增的连续计数器字段只有4bit长,从0到15,如果TS 流中间丟了大于16个TS包的话,连续计数器就反应不出来;另外,存在着 某些连续计数器不递增的TS包,那么这些TS的丟失,是分析不出来的;还有,如果数据包如IP包出现了乱序的话,计算TS的丢包就会更加困难;再 有,现在的测量方案都很依赖TS流中的PCR ( Program Clock Reference,节 目基准时钟)信息,但实际上PCR信息存在精度误差和抖动误差,所以现在 都做不到精确的TS丟包的测量,只能是一个近似的测量。

发明内容
本发明实施例的目的在于提供一种数据包处理方法,包括以下步骤 从数据源发出的媒体流中获取传送流TS包;
按照所述TS包的获取顺序将若干个相邻TS包中的相应字段联合起来, 将所述联合后的TS包中的相应字段的全部或部分位作为数据包序号进行有 规律的计数更新;
将所述的若干个相邻TS包封装为一个包含所述数据包序号的数据包并 发送出去。
本发明实施例还提供一种数据包处理方法,包括以下步骤 接收包含数据包序号的数据包,所述数据包序号是根据TS包的获取顺序 将若干个相邻TS包中的相应字段联合起来生成的;
根据所述数据包序号对所述数据包进行排序,生成媒体流; 播放所述媒体流。
本发明实施例还4是供一种数据包处理装置,包括 获取单元,用于从数据源发出的媒体流中获取传送流TS包; 组合单元,用于按照所述TS包的获取顺序将若干个相邻TS包中的相应 字段联合起来;
计数单元,用于将所述联合后的TS包中的相应字段的全部或部分位作为 数据包序号进行有规律的计数更新;
发送单元,用于将所述的若干个相邻TS包封装为一个包含所述数据包序 号的数据包并发送出去。本发明实施例还提供一种数据包处理终端,包括
接收单元,用于接收包含数据包序号的数据包,所述数据包序号是根据
TS包的获取顺序将若干个相邻TS包中的相应字段联合起来生成的;
处理单元,用于根据所述数据包序号对所述数据包进行排序,生成媒体
流;
播放单元,用于播放所述媒体流。
本发明实施例还提供一种数据包处理系统,包括 数据源,用于发送包含TS包的媒体流;
数据包处理装置,用于从所述媒体流中获取所述TS包,按照所述TS包的 获取顺序将若干个相邻TS包中的相应字段联合起来,将所述联合后的TS包中 的相应字段的全部或部分位作为数据包序号进行有规律的更新,并将所述的 若干个相邻TS包封装为 一个包含所述数据包序号的数据包并发送出去。
本发明实施方式的有益效果在于,在丢包测量方面,由于数据包的序号 足够长,那么在网络中的各个测量点,都可以在一段网络流量范围内或者一 段时间范围内,通过检查数据包的序号缺失,从而精确的计算出丢失的数据 包个数,而一个数据包中包含n个TS包,那么也能进一步计算出TS包的丢包个 数,实现精确的MLR的计算,为多々某体的质量评估和网络的丢包故障定位提 供精确的数据输入,提高多媒体质量评估和网络丢包故障定位的准确性,实 现精确的TS包丟包率计算。而在客观的无参考的多J 某体评估算法中,TS丟包 率是必须的参数输入,那么能提高客观的无参考的多i某体评估算法的准确性。 实现了精确的MDI中MLR指标的计算。同时,IPTV的终端设备,如STB,能 根据数据包中的扩展后的内容进行包的重排序,在包乱序的情况下,能改善 解码效果,获得更好的多媒体体验。


图1为本发明一个实施例的方法流程图; 图2为本发明一个实施例的方法流程图;图3为本发明一个实施例的方法流程图; 图4为本发明一个实施例的装置结构图; 图5为本发明一个实施例的装置结构图; 图6为本发明一个实施例的装置结构图; 图7为本发明一个实施例的装置结构图; 图8为本发明一个实施例的系统结构图。
具体实施例方式
如图1所示,本发明一个实施例提供一种数据包处理方法,包括以下步

S101、从数据源发出的媒体流中获取传送流TS包;
可选的,在本步骤中,还可以初始化序号计数器,当监测到该传送流是 新的传送流时,将该序号计数器初始化为0,当监测到该传送流是原有的时, 则使用原有传送流的序号计数器当前值为初始值;
S103、按照所述TS包的获取顺序将若干个相邻TS包中的相应字段联合 起来,将所述联合后的TS包中的相应字段的全部或部分位作为数据包序号进 行有规律的计数更新;
可选的,当步骤SIOI中的媒体流结束时,在步骤S103中,如果所述TS 包的个数大于等于预设值n ( n的取值可以包括但不限于大于等于2且小于等 于7的整数,本实施例中n=7 ),则按照所述TS包的获取顺序将7个相邻TS 包中的相应的continuity—counter字段( 一个TS包的continuity—counter字段有 4bit)联合起来;如果所述TS包的个数小于预设值7,则用空负载TS包将所 述TS包的个数补足为7个,按照所述TS包的获取顺序将7个相邻TS包中 的continuity—counter字!殳( 一个TS包的continuity—counter字4殳有4bits ) 4关 合起来,将联合后的TS包中的continuity—counter字段(联合后字段的总位数 为一个continuity—counter字l殳位数(4bits )的7倍,即28bits )的全部或部分 位(比如28bits 、 16bits或20bits)作为凄t据包序号,将该序号用序号计^:器 的当前值进行赋值,赋值后,序号计数器按预设的规律更新,比如将该序号 计数器加l,以便给下一个数据包序号赋值,当序号计数器的值超过预设的范围时,初始化该序号计数器。TS包中可以作为数据包序号的字段不限于 continuity—counter 。可选的,当步骤S101中的々某体流没有结束时,在步骤S103中,如果所 述TS包的个数大于等于预设值7,则按照所述TS包的获取顺序将7个相邻 TS包中的相应字段联合起来,联合后的操作与上一段相同,此处不再赘述; 如果所述TS包的个数小于预设值7,则重复步骤S101。S105、将所述的若干个相邻TS包封装为一个包含所述数据包序号的数据 包并发送出去。可选的,当步骤S101中从数据源发出的媒体流是由IP包或者UDP包承 载时,需要将TS包从IP包或者UDP包中分解出来,在步骤S105中发送数 据包之前,需要根据TS流码率的要求来调整TS流码率,然后再发送数据包。可选的,当步骤S101中从数据源发出的媒体流是由直接由TS流承载时, 则不需要进行TS流码率的调整,执行步骤S105将数据包发送出去,TS流码 率调整的操作由数据源相关设备中原有处理模块负责。可选的,步骤S105中,数据包可以是IP包或者是UDP包。可选的,步骤S101-S105中,可以将获取的传送流TS包放入緩存中进行 与各步骤相关的操作。如图2所示,本发明一个实施例提供一种数据包处理方法,包括以下步骤S201、接收包含数据包序号的数据包,所述数据包序号是根据TS包的获 取顺序将若干个相邻TS包中的相应字段(如,continuity—counter字段)联合 起来生成的;S203、根据所述数据包序号对所述数据包进行排序,生成媒体流; S205、播放所述纟某体流。可选的,如图3所示,生成i某体流之前还可以包括以下步骤 S301、检测缺失的所述数据包序号;S303 、根据所述数据包序号向所述数据包的发送方发送丢包重传请求; S305、接收所述发送方重新发送的所述数据包。 如图4所示,本发明一个实施例提供一种数据包处理装置,包括 获取单元401,用于从数据源发出的媒体流中获取传送流TS包;组合单元403,用于按照所述TS包的获取顺序将若干个相邻TS包中的 相应字段(如,continuity—counter字,殳)联合起来;计数单元405,用于将所述联合后的TS包中的相应字^:的全部或部分位 作为数据包序号进行有规律的计数更新;发送单元407,用于将所述的若干个相邻TS包封装为一个包含所述数据 包序号的凄t据包并发送出去。可选的,如图5所示,该装置还可以包括緩存单元409,用于将所述获取 单元获取的TS包按获取顺序进行緩存;组合单元403具体用于,按照所述缓 存单元存储的所述TS包的获取顺序将若干个相邻TS包中的相应字段联合起 来。可选的,组合单元403具体用于,如果所述TS包的个凄t大于等于预设值 n (n的取值可以包括但不限于大于等于2且小于等于7的整数,本实施例中 n=7),则按照所述TS包的获取顺序将7个相邻TS包中的相应字段(如 continuity—counter字l殳, 一个TS包的continuity—counter字^殳有4bit)耳关合起 来。可选的,组合单元403具体用于,如果所述TS包的个数小于预设值n(n 的取值可以包括但不限于大于等于2且小于等于7的整数,本实施例中n=7), 则用空负载TS包将所述TS包的个数补足为7个,按照所述TS包的获取顺 序将7个相邻TS包中的相应字段(如continuity—counter字段, 一个TS包的 continuity—counter字段有4bit)联合起来。可选的,计数单元405具体用于,当获取单元401接收的媒体流结束时, 将联合后的TS包中的continuity—counter字段(联合后字段的总位数为一个 continuity_counter字段位数(4bits )的7倍,即28bits )的全部或部分位(比 如28bits 、 16bits或20bits)作为数据包序号,将该序号用序号计数器的当前 值进行赋值,赋值后,序号计数器按预设的规律更新,比如将该序号计数器 加l,以便给下一个数据包序号赋值,当序号计数器的值超过预设的范围时, 初始化该序号计数器。TS包中可以作为数据包序号的字段不限于 continuity—counter 。可选的,当获取单元401接收的媒体流没有结束时,组合单元403具体 用于,如果所述TS包的个数大于等于预设值7,则按照所述TS包的获取顺序将7个相邻TS包中的相应字段联合起来,交由计数单元405按原功能处理, 此处不再赘述;如果所述TS包的个数小于预设值7,则交由获取单元401按 原功能处理。可选的,在IPTV中有两种典型业务,点播和直播,对于点播业务来说, 一般情况下,i某体流的数据源可以为属于CDN/MDN (Content Delivery Network/Media Delivery Network,内容传送网络/媒体传送网络)网络的VOD (Video On Demand,视频点播)服务器或者流媒体服务器,那么,该数据包 处理装置可以部署到VOD服务器或者流媒体服务器中,也可以部署在VOD 服务器或者流媒体服务器后面,对于直播业务来说,由于媒体流封装到IP包 中是由数据源中的编码器完成的,所以该数据包处理装置可以部署到编码器 中,也可以部署在编码器后面;如果该数据包处理装置部署在编码器后面或 者部署在VOD服务器或者流媒体服务器后面,则获取单元401具体用于,如 果所述从数据源发出的媒体流是IP流,则从IP包中解析出其中封装的TS包, 并将获得的TS包按照IP包的获取顺序和在IP包中的封装顺序进行排序;发 送单元407具体用于,根据TS流的码率要求调整TS流码率,并将所述的若 干个相邻TS包封装为一个包含所述数据包序号的数据包并发送出去。可选的,如图6所示,该装置还可以包括第二緩存单元411,用于存储所 述发送单元发送出去的全部或部分的所述数据包;丢包重传单元413,用于根 据所述数据包的接收方根据所述数据包序号向所述数据包处理装置发送的丢 包重传请求,从所述第二緩存单元411获取与所述述数据包序号对应的数据 包并发送给所述接收方,该接收方可以为在IPTV业务中的STB终端,当然 也可以为在其他媒体流业务中的相应终端。如图7所示,本发明一个实施例提供一种数据包处理终端,包括接收单元501,用于接收包含数据包序号的数据包,所述数据包序号是根 据TS包的获取顺序将若干个相邻TS包中的相应字段联合起来生成的;处理单元503,用于根据所述数据包序号对所述数据包进行排序,生成媒 体流;播放单元505,用于播放所述媒体流。可选的,该装置还可以包括;险测单元507,与所述接收单元相连,用于抬r 测缺失的所述数据包序号;丢包重传请求发送单元509,用于才艮据所述缺失的数据包序号向所述数据包的发送方发送丟包重传请求;接收单元501,还用于接收所述发送方重新发送的所述数据包。 如图8所示,本发明一个实施例提供一种数据包处理系统,包括 数据源601 ,用于发送包含TS包的媒体流;数据包处理装置603,用于从所述媒体流中获取所述TS包,按照所述TS 包的获取顺序将若干个相邻TS包中的相应字段联合起来,将所述联合后的 TS包中的相应字段的全部或部分位作为数据包序号进行有规律的更新,并将 所述的若干个相邻TS包封装为一个包含所述数据包序号的数据包并发送出 去。本领域普通技术人员可以理解实现上述方法实施例的全部或部分步骤 可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读 取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述 的存储介质包括ROM、 RAM、磁碟或者光盘等各种可以存储程序代码的介 质。本发明实施方式的有益效果在于,在丢包测量方面,由于数据包的序号 足够长,那么在网络中的各个测量点,都可以在一段网络流量范围内或者一 段时间范围内,通过检查数据包的序号缺失,从而精确的计算出丢失的数据 包个数,而一个数据包中包含n个TS包,那么也能进一步计算出TS包的丢包个 数,实现精确的MLR的计算,为多媒体的质量评估和网络的丟包故障定位提 供精确的数据输入,提高多媒体质量评估和网络丟包故障定位的准确性,实 现精确的TS包丢包率计算。而在客观的无参考的多媒体评估算法中,TS丢包 率是必须的参数输入,那么能提高客观的无参考的多媒体评估算法的准确性。 实现了精确的MDI中MLR指标的计算。同时,IPTV的终端设备,如STB,能 根据数据包中的扩展后的内容进行包的重排序,在包乱序的情况下,能改善 解码效果,获得更好的多々某体体验。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本 发明的精神和范围。这样,倘若对本发明的这些修改和变型属于本发明权利 要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
权利要求
1、一种数据包处理方法,其特征在于,包括以下步骤从数据源发出的媒体流中获取传送流TS包;按照所述TS包的获取顺序将若干个相邻TS包中的相应字段联合起来,将所述联合后的TS包中的相应字段的全部或部分位作为数据包序号进行有规律的计数更新;将所述的若干个相邻TS包封装为一个包含所述数据包序号的数据包并发送出去。
2、 如权利要求l所述的方法,其特征在于,所述按照所述TS包的获取顺序 将若干个相邻TS包中的相应字段联合起来的步骤具体包括如果所述TS包的个数大于等于预设值n,则按照所述TS包的获取顺序 将n个相邻TS包中的相应字段联合起来。
3、 如权利要求l所述的方法,其特征在于,所述按照所述TS包的获取顺序 将若干个相邻TS包中的相应字段联合起来的步骤具体包括如果所述TS包的个数小于预设值n,则用空负载TS包将所述TS包的个 数补足为n个,按照所述TS包的获取顺序将n个相邻TS包中的相应字段联 合起来。
4、 如权利要求l所述的方法,其特征在于,所述从数据源发出的媒体流中获 取传送流TS包的步骤具体包括如果所述从数据源发出的媒体流是IP流,则从IP包中解析出其中封装的 TS包,并将获得的TS包按照IP包的获取顺序和在IP包中的封装顺序进行排 序;所述将所述的若干个相邻TS包封装为一个包含所述数据包序号的数据 包并发送出去的步骤具体包括根据TS流的码率要求调整TS流码率,并将所述的若干个相邻TS包封装 为 一个包含所述数据包序号的数据包并发送出去。
5、 一种数据包处理方法,其特征在于,包括以下步骤接收包含数据包序号的数据包,所述数据包序号是根据TS包的获取顺序 将若干个相邻TS包中的相应字段联合起来生成的;根据所述数据包序号对所述数据包进行排序,生成媒体流; 播放所述媒体流。
6、 如权利要求5所述的数据包处理方法,其特征在于,所述根据所述数据包 序号对所述数据包进行排序,生成媒体流之前还包括以下步骤检测缺失的所述数据包序号;根据所述数据包序号向所述数据包的发送方发送丟包重传请求; 接收所述发送方重新发送的所述数据包。
7、 一种数据包处理装置,其特征在于,包括获取单元,用于从数据源发出的媒体流中获取传送流TS包; 组合单元,用于按照所述TS包的获取顺序将若干个相邻TS包中的相应 字段联合起来;计数单元,用于将所述联合后的TS包中的相应字l殳的全部或部分位作为 数据包序号进行有规律的计数更新;发送单元,用于将所述的若干个相邻TS包封装为一个包含所述数据包序 号的数据包并发送出去。
8、 如权利要求7所述的数据包处理装置,其特征在于,还包括緩存单元,用于将所述获取单元获取的TS包按获取顺序进行緩存; 所述组合单元具体用于,按照所述緩存单元存储的所述TS包的获取顺序 将若干个相邻TS包中的相应字段联合起来。
9、 如权利要求7所述的数据包处理装置,其特征在于,所述组合单元具体用于,如果所述TS包的个数大于等于预设值n,则按 照所述TS包的获取顺序将n个相邻TS包中的相应字段联合起来。
10、 如权利要求7所述的数据包处理装置,其特征在于, 所述组合单元具体用于,如果所述TS包的个数小于预设值n,则用空负载TS包将所述TS包的个数补足为n个,按照所述TS包的获取顺序将n个 相邻TS包中的相应字段联合起来。
11、 如权利要求7所述的数据包处理装置,其特征在于, 所述获取单元具体用于,如果所述从数据源发出的々某体流是IP流,则从IP包中解析出其中封装的TS包,并将获得的TS包按照IP包的获取顺序和在 IP包中的封装顺序进行排序;所述发送单元具体用于,根据TS流的码率要求调整TS流码率,并将所 述的若干个相邻TS包封装为一个包含所述数据包序号的数据包并发送出去。
12、 如权利要求7所述的数据包处理装置,其特征在于,还包括 据包;丟包重传单元,用于根据所述数据包的接收方根据所述数据包序号向所 述数据包处理装置发送的丢包重传请求,从所述第二緩存单元获取与所述述 数据包序号对应的数据包并发送给所述接收方。
13、 一种数据包处理终端,其特征在于,包括接收单元,用于接收包含数据包序号的数据包,所述数据包序号是根据 TS包的获取顺序将若干个相邻TS包中的相应字段联合起来生成的;处理单元,用于根据所述数据包序号对所述数据包进行排序,生成媒体流;播放单元,用于播放所述媒体流。
14、 如权利要求13所述的数据包处理终端,其特征在于,还包括 检测单元,与所述接收单元相连,用于^r测缺失的所述数据包序号;丟包重传请求发送单元,用于根据所述缺失的数据包序号向所述数据包的发送方发送丟包重传请求;所述接收单元,还用于接收所述发送方重新发送的所述数据包。
15、 一种数据包处理系统,其特征在于,包括 数据源,用于发送包含TS包的媒体流;数据包处理装置,用于从所述媒体流中获取所述TS包,按照所述TS包 的获取顺序将若干个相邻TS包中的相应字段4关合起来,将所述联合后的TS 包中的相应字段的全部或部分位作为数据包序号进行有规律的更新,并将所 述的若干个相邻TS包封装为一个包含所述数据包序号的数据包并发送出去。
全文摘要
本发明提供一种数据包处理方法,包括以下步骤从数据源发出的媒体流中获取传送流TS包;按照所述TS包的获取顺序将若干个相邻TS包中的相应字段联合起来,将所述联合后的TS包中的相应字段的全部或部分位作为数据包序号进行有规律的计数更新;将所述的若干个相邻TS包封装为一个包含所述数据包序号的数据包并发送出去。同时本发明还提供了一种数据包处理装置和系统。通过本发明的实施,能根据数据包中的扩展后的内容进行包的重排序,在包乱序的情况下,能改善解码效果,获得更好的多媒体体验。
文档编号H04L12/56GK101321036SQ20081006821
公开日2008年12月10日 申请日期2008年6月28日 优先权日2008年6月28日
发明者李德旭, 盛金文, 陈齐标 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1