专利名称:一种时延丢包的检测方法及系统的制作方法
技术领域:
本发明涉及通信技术领域,特别涉及一种时延丢包的检测方法及系统。
背景技术:
流媒体业务是把数据实时从服务端传送到终端,终端收到数据并其进行 译码及播放,其最大的特点是用户不必等到整个文件全部下载完毕,而只需 经过几秒或十数秒的启动时延即可进行观看。
其中流媒体视频业务中,视频以帧为单位通过实时传输协议(RTP, Real-time Transport Protocol)封包, 一个视频帧分为 一个或者多个RTP包来传 输。同一个视频帧分割出来RTP包采用相同的时间戳。这些应用层的RTP包将 映射成无线接入网(RAN, Radio Access Network)的数据单元通过空口进行 传输。文中将无线网络中的数据单元称之为服务数据单元(SDU , Service Data Unit )。
SDU包传输受到各种因素的影响产生时延抖动。终端只有在将视频帧包 含的所有SDU接收以后,才能对该视频帧的内容进行正确解码。SDU的传输 时延抖动可能会造成一些SDU不能及时到达终端,产生时延丟包,造成视频 播放中的质量下降。即某些SDU到达终端的时候,对应的视频帧已经播放完 毕,该SDU便没有任何用处,便会被丢弃,产生时延丟包。发明人在实现本 发明的过程中发现现有技术至少存在以下问题目前还没有流媒体业务时延 丢包的检测技术,不能检测到哪些数据包出现了时延丢包,因而不能准确定 位因时延丟包而导致的流媒体播》驢量下降。
发明内容
本发明实施例提供一种流々某体业务时延丢包的检测方法及系统,能准确 定位因时延丟包而导致的流媒体播放质量下降。
为解决上述技术问题,本发明实施例所提供的一种流媒体业务时延丢包 的检测方法,可以通过以下技术方案实现
记录数据包在i某体流中的位置;
获取所述数据包到达终端时所述媒体流的播放位置;
判断所述数据包在所述媒体流中的位置是否在所述播放位置之后,如果 否,则检测出所述数据包发生了时延丟包。
本发明实施例还提供了一种时延丢包的检测系统,包括 数据包位置记录单元,用于记录数据包在媒体流中的位置; 播放位置获取单元,用于获取所述数据包到达终端时所述媒体流的播放 位置;
时延丢包判断单元,用于判断所述数据包位置记录单元记录的数据包在 所述媒体流中的位置是否在所述播放位置获取单元获取的所述播放位置之 后,如果否,则检测出所述数据包发生时延丟包,如果是,则检测出所述数 据包未发生时延丟包。
上述技术方案具有如下有益效果,通过判断数据包在i某体流中的位置是 否在所述播放位置之后,能检测到数据包是否出现了时延丢包,从而能准确 定位因时延丢包而导致的流媒体播放质量下降,同时为调整网络参数和网络 优化提供依据。
图1为本发明方法实施例 一的流程示意图一; 图2为本发明方法实施例一的流程示意图二; 图3为本发明方法实施例 一的流程示意图三; 图4为本发明方法实施例一的流程示意图四; 图5为本发明方法实施例二流程示意图; 图6为本发明实施例三系统结构示意图一; 图7为本发明实施例三系统结构示意图二; 图8为本发明实施例三系统结构示意图三; 图9为本发明实施例三系统结构示意图四。
具体实施例方式
本发明实施例要解决的技术问题是提供一种时延丟包的检测方法及系 统,能准确定位因时延丢包而导致的流媒体播放质量下降,同时也可以为调 整网络参数和网络优化提M据。
实施例一,本发明实施例提供的时延丢包的检测方法,以检测流媒体业
务中的时延丟包为例,上述流媒体业务有很多种,如音频流媒体业务、视频 流媒体业务等,下面的实施例将以视频流媒体业务为例进行说明,可以理解 的是业务的类型并不对本发明实施例构成限定。请参阅图l,可以包括以下步
骤
步骤101:记录数据包在媒体流中的位置;
如果流媒体业务为视频流媒体业务,上述媒体流中的位置可以是上述数 据包在一教:视频中所处的位置;如果上述数据包为SDU包,还可以是SDU包 所处的帧在视频中的位置,上述帧在视频中的位置可以用帧序列号来表示。
步骤102:获取上述数据包到达终端时媒体流的播放位置;
步骤103:判断上述数据包在媒体流中的位置是否在上述播放位置之后, 如果否,则检测出上述数据包发生了时延丢包;如果为是,则检测出上述数 据包未发生时延丢包。
上述实施例,通过判断数据包在媒体流中的位置是否在上述播放位置之 后,能检测到数据包是否出现了时延丢包,从而能准确定位因时延丢包而导 致的流媒体播^L^量下降,同时为调整网络参数和网^M尤化提皿据。
上述步骤102获取上述数据包到达终端时媒体流的播放位置的方法,例 如,如图2所示,可以是
步骤201:获取上述数据包到达终端时媒体流实际播放时长;
步骤202:用上述实际播放时长乘以播放速率,得到播放的位置。现有技 术可以得到上述播放速率。
上述实施方式是通过计算得到上述播放位置,当然还可以通过终端发送 上述播放位置等方式得到上述播放位置。
上述步骤201获取上述数据包到达终端时媒体流实际播放时长的方法,例 如,如图3所示,可以是
步骤301:获取上述数据包到达终端的时刻、初始播放的时刻和停顿的时
长;
获取数据包到达终端的时刻的方法很多,在后续实施例中将有详细说明; 现有技术可以得到初始播放的时刻和停顿的时长;上述初始播放的时刻可以 表示为视频开始播放的时刻,上述停顿的时长可以表示为视频在播放过程中
停顿的总时间。
步骤302:用上述数据包到达终端的时刻减去初始播;改的时刻再减去停顿 的时长,得到上述实际插-放时长。
上述实施方式通过计算得到实际播放的时长,上述实际播放时长当然还 可以由终端发送等方式得到,上述实施方式使用实际播放时长,考虑到了媒 体流播放可能出现的停顿,能够让计算更准确。当要求不太精确的计算时, 上述4亭顿的时长也可以忽略。
上述步骤301获取上述数据包到达终端的时刻的方法,例如,如图4所示, 可以是
步骤401:接收终端对收到的一个数据包进行响应的响应消息;
步骤402:用上述响应消息到达的时刻减去上述响应消息的传输时延,得 到上述数据包到达终端的时刻。
上述传输时延可以是终端收到数据包后发送的消息从终端到网络侧的时 间,也可以还包括终端收到数据包后终端处理的时延。
由于终端可能会在接收到一个数据包组后才对接收到的数据包进行响 应,上述数据包组可以包含至少两个数据包,而上述数据包组中的各个数据 包发送的时刻是不同的,为了得到上述数据包组中的任意数据包到达终端的 时刻,例如,可以通过下面的方法实现
步骤401:接收终端对收到数据包组进行响应的响应消息;
步骤402:用上述响应消息到达的时刻减去上述响应信息的传输时延,得 到上述数据包组中最后发送的数据包到达终端的时刻;用上述最后发送的数 据包到达终端的时刻减去上述最后发送的数据包与需要检测的数据包发送的 时刻差,得到需要检测的数据包到达终端的时刻。
上述实施方式通过考虑到了数据包组各数据包的发送时刻差,能够更准 确地计算出需要检测的数据包到达终端的时间,在要求不太精确的计算时也 可以忽略数据包组中各数据包发送时刻差。
实施例二,以流i某体业务为例,在本实施例中凝:据包以SDU包为例,终 端可能接收到一个数据包就响应接收到数据包的信息,也可能在接收到数据 包组后才响应接收到数据包组的信息,其中需要检测是否发生了时延丢包的
数据包属于上述数据包组,上述数据包组包含至少两个数据包;本实施例对 两种响应方式进行了说明;上述数据包的格式可以是其它的格式,可以理解 的是数据包的格式不对本发明实施例构成限定。请参阅图5,可以包括以下 步骤
步骤500:视频流媒体业务开始; 步骤501:网络侧接收上层数据;
步骤502:网络侧记录SDU包信息,上述记录SDU包信息可以是记录 SDU包发送时刻、SDU包与所在帧的对应关系;本实施例可以用SDU包的 序列号体现其位置,以其它形式体现其在视频段中的位置不影响本发明实施 例的实现;
步骤503:检测终端是否响应接收到数据包的信息;这里可以是每个数 据包接收到后都返回接收信息,也可以是接收到数据包组后返回上述数据包 组总的接收信息;
步骤504:网络侧接收终端响应接收到SDU包的信息,记录响应信息到 达网络侧的时刻Tback ;终端也可以直接发送带有接收到SDU包的时刻的消 息给网《各侧;
步骤505:查询序列号为m的SDU包的发送时刻Tm ,查询任意SDU包 的序列号为r ,发送时刻为L 、所属帧的序列号R;其中上述序列号为m 的SDU包为上述数据包组中最后发送的数据包,上述任意序列号为r的SDU 包为本实施例需要检测是否出现了时延丢包的数据包;i某体流播放以帧为单 位为例,可以用帧的时间戳来体现帧在视频段中的位置;
步骤506:查询SDUr的序列号、SDUT的发送时刻和序列号为r的SDU 包对应帧的序列号R;上述SDUr为序列号为r的SDU包;
步骤507:计算序列号为r的SDU包到达终端緩存时刻
Tanival =Tback 一AT固—(Tm —Tr);其中AT固为上述响应消息的传输时延, 如果上述响应消息通过空口传输则可以是空口传输时延;Tm-1;为上述数据 包组中最后发送的SDU包m与其它SDU包r发送的时刻差;当终端每接收
到一个数据包后都响应消息时可以通过计算Tarrival =Tback—AT[§,得到终
端接收到序列号为r的SDU包的时刻;终端也可以直接响应终端接收到SDU
包的时刻,这时直接就能得到序列号为r的SDU包的时刻;
步骤508:计算序列号为r的SDU包到达终端緩存时终端播放时长可以 为SDU包到达终端时刻减去初始播放时刻,即Tplay = 丁arrival — Tinite ;
步骤509:当前播放帧序列号的计算方法可以为,用终端播;故时长减去
停顿时长得到实际播放时长再乘以帧播放速率,即
Q = (Tpaiy — PauseTime) * Frame—Rate ;
步骤510:判断R〉Q是否成立,即判断数据包r在视频段中的位置是
否位于上述播放位置之后;
步骤511:当判断R〉Q不成立,则SDU包r发生了时延丢包; 步骤512:当判断R〉Q成立,则SDU包r没有发生时延丟包。 上述步骤511和512后可以进入下一个SDU包的时延丢包检测,方法与
实施例二相同不再赘述。
上述实施例二为综合实施例一中插-放位置、实际播;改时长和数据包到达
终端的时刻的获取方法的实施例,通过判断数据包在媒体流中的位置是否在
上述播放位置之后,能检测到数据包是否出现了时延丟包,从而能准确定位
因时延丢包而导致的流媒体播放质量下降,同时为调整网络参数和网络优化
提供依据。
实施例三,本发明实施例还提供了 一种流媒体业务时延丢包的检测系统, 包括数据包位置记录单元601,播放位置获取单元602,时延丢包判断单元 603;请参阅图6,其中
数据包位置记录单元601,用于记录数据包在媒体流中的位置; 播放位置获取单元602,用于获取上述数据包到达终端时上述媒体流的 播放位置;
时延丢包判断单元603,用于判断上述数据包位置记录单元记录的数据 包在媒体流中的位置是否在上述播放位置获取单元获取的上述播放位置之 后,如果否,则上述数据包发生时延丟包,如果是,则检测出所述数据包未 发生时延丟包。
上述实施例三,通过判断数据包在々某体流中的位置是否在上述播放位置 之后,能检测到数据包是否出现了时延丢包,从而能准确定位因时延丢包而
导致的流媒体播放质量下降,同时为调整网络参数和网络优化提供依据。
上述播放位置获取单元602,例如,可以包括播放时长获取单元701, 播放位置计算单元702,请参阅图7,其中
播放时长获取单元701,用于获取上述数据包到达终端时上述媒体流实 际播放时长;
播放位置计算单元702,用于用上述播放时长获取单元701获取的实际
播放时长乘以播放速率,得到上述媒体流播放的位置。
上述播放时长获取单元701,例如,可以包括数据包到达时刻获取单
元801,初始播放时刻获取单元802,停顿的时长获取单元803,播放时长计
算单元804,请参阅图8,其中
数据包到达时刻获取单元801,用于获取上述数据包到达终端的时刻; 初始播放时刻获取单元802,用于获取上述媒体流初始播放的时刻; 停顿的时长获取单元803,用于获取上述媒体流播放停顿的时长; 播放时长计算单元804,用于用上述数据包到达时刻获取单元801获取
的数据包到达终端的时刻减去上述初始播放时刻获取单元802获取的初始播
放的时刻再减去上述停顿的时长获取单元803获取的上述媒体流播放停顿的
时长,得到上述媒体流实际播放时长。
上述数据包到达时刻获取单元801,例如,可以包括响应消息接收单
元901,数据包到达时刻计算单元902,请参阅图9,其中
响应消息接收单元901 ,用于接收终端对收到上述数据包进行响应的响
应消息,并获取上述响应消息到达的时刻;
数据包到达时刻计算单元902,用于用上述响应消息接收单元901获取
的响应消息到达的时刻减去上述响应消息的传输时延,得到上述数据包到达
终端的时刻。
由于终端可能会在接收到数据包组后才响应接收到数据包的信息,而上 述数据包组中各个数据包发送的时刻是不同的,上述数据包组包含至少两个 数据包,为了得到数据包组中的任意数据包到达终端的时刻,可以通过下面 的方案实现
响应消息接收单元901 ,用于接收终端对收到数据包组进行响应的响应
消息,并获得响应消息到达的时刻;
数据包到达时刻计算单元902,用于用上述响应消息接收单元901获取 的响应消息到达的时刻减去上述响应消息的传输时延,得到上述数据包组中 最后发送的数据包到达终端的时刻;用上述最后发送的数据包到达终端的时 刻减去上述最后发送的数据包与其它数据包发送的时刻差,得到上述数据包 到达终端的时刻。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤 是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机 可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上对本发明实施例所提供的 一种时延丟包的检测方法及系统进行了详
上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于 本领域的一般技术人员,依据本发明的思想,在具体实施方式
及应用范围上 均会有改变之处,综上所述,本i兌明书内容不应理解为对本发明的限制。
权利要求
1.一种时延丢包的检测方法,其特征在于,包括记录数据包在媒体流中的位置;获取所述数据包到达终端时所述媒体流的播放位置;判断所述数据包在所述媒体流中的位置是否在所述播放位置之后,如果否,则检测出所述数据包发生了时延丢包。
2、 根据权利要求l所述方法,其特征在于,还包括 所述判断为是,则检测出所述数据包未发生时延丟包。
3、 根据权利要求1或2所述方法,其特征在于,所述获取数据包到达终端 时媒体流的播放位置包括获取所述数据包到达终端时所述媒体流实际播放时长;用所述实际播放时长乘以播放速率,得到所述媒体流的播放位置。
4、 根据权利要求3所述方法,其特征在于,所述获取所述数据包到达终 端时媒体流实际播放时长包括获取所述数据包到达终端的时刻、初始播;故的时刻和停顿的时长; 用所述数据包到达终端的时刻减去初始播放的时刻再减去停顿的时长, 得到所述实际播放时长。
5、 根据权利要求4所述方法,其特征在于,所述获取数据包到达终端的 时刻包4舌接收终端对收到所述数据包进行响应的响应消息;用所述响应消息到达的时刻减去所述响应消息的传输时延,得到所述数 据包到达终端的时刻。
6、 根据权利要求4所述方法,其特征在于,若所述数据包属于一个数据 包组,所述数据包组至少包括两个数据包,则所述获取所述数据包到达终端 的时刻包括接收终端对收到所述数据包组进行响应的响应消息;用所述响应消息到达的时刻减去所述响应消息的传输时延,得到所述数 据包组中最后发送的数据包到达终端的时刻;用所述最后发送的数据包到达终端的时刻减去所述最后发送的数据包与 所述数据包发送的时刻差,得到所述数据包到达终端的时刻。
7、 一种时延丢包的检测系统,其特征在于,包括 数据包位置记录单元,用于记录数据包在i某体流中的位置; 播放位置获取单元,用于获取所述数据包到达终端时所述媒体流的播放位置;时延丢包判断单元,用于判断所述数据包位置记录单元记录的数据包在 所述媒体流中的位置是否在所述播放位置获取单元获取的所述播放位置之 后,如果否,则检测出所述数据包发生时延丢包,如果是,则检测出所述数 据包未发生时延丢包。
8、 根据权利要求7所述系统,其特征在于,所述播放位置获取单元包括 播放时长获取单元,用于获取所述数据包到达终端时所述媒体流实际播放时长;播放位置计算单元,用于用所述播放时长获取单元获取的所述实际播放 时长乘以播放速率,得到所述媒体流播放的位置。
9、 根据权利要求8所述系统,其特征在于,所述播放时长获取单元包括 数据包到达时刻获取单元,用于获取所述数据包到达终端的时刻; 初始播放时刻获取单元,用于获取所述媒体流初始播放的时刻; 停顿的时长获取单元,用于获取所述媒体流播放停顿的时长; 播放时长计算单元,用于用所述数据包到达时刻获取单元获取的所述数据包到达终端的时刻减去所述初始播放时刻获取单元获取的所述媒体流初始 播放的时刻再减去所述停顿的时长获取单元获取的所述媒体流播放停顿的时 长,得到所述媒体流实际播放时长。
10、 根据权利要求9所述系统,其特征在于,所述数据包到达时刻获取单 元包括响应消息接收单元,用于接收终端对收到所述数据包进行响应的响应消 息,并获取所述响应消息到达的时刻;数据包到达时刻计算单元,用于用所述响应消息接收单元获取的所述响 应消息到达的时刻减去所述响应消息的传输时延,得到所述数据包到达终端 的时刻。
11、 根据权利要求9所述系统,其特征在于,所述数据包到达时刻获取单元包括响应消息接收单元,用于接收终端对收到数据包组进行响应的响应消息, 并获得响应消息到达的时刻,所述数据包属于所述数据包组,所述lt据包组包括至少两个数据包;数据包到达时刻计算单元,用于用所述响应消息接收单元获取的所述响 应消息到达的时刻减去所述响应消息的传输时延,得到所述数据包组中最后 发送的数据包到达终端的时刻;用所述最后发送的数据包到达终端的时刻减 去所述最后发送的数据包与所述数据包发送的时刻差,得到所述数据包到达 终端的时刻。
全文摘要
本发明实施例公开了一种时延丢包的检测方法及系统。以本发明方法的实现为例,包括步骤记录数据包在媒体流中的位置;获取所述数据包到达终端时所述媒体流的播放位置;判断所述数据包在所述媒体流中的位置是否在所述播放位置之后,如果否,则检测出所述数据包发生了时延丢包。本发明实施例具有以下效果通过判断数据包在媒体流中的位置是否在所述播放位置之后,能检测到数据包是否出现了时延丢包,从而能准确定位因时延丢包而导致的流媒体播放质量下降,为调整网络参数和网络优化提供依据。
文档编号H04N7/14GK101369975SQ200810200200
公开日2009年2月18日 申请日期2008年9月17日 优先权日2008年9月17日
发明者叶建涛, 周素萍, 斌 李, 谷安文, 陈玉芳 申请人:上海华为技术有限公司