媒体报文重传抑制方法和设备的制作方法

文档序号:7747074阅读:158来源:国知局
专利名称:媒体报文重传抑制方法和设备的制作方法
技术领域
本发明涉及网络通信领域,尤其涉及一种媒体报文重传抑制方法和设备。
背景技术
随着网络技术的快速发展,网络通信业务日益丰富,用户数量持续增多,相应地, 对网络带宽的需求也不断增加。现有的网络带宽远不能满足用户的需求,因此,不可避免的出现网络拥塞。网络拥塞发生时,网络设备会根据一定的丢包策略丢弃部分数据包。现有的丢包策略有队尾丢弃(Tail Drop)策略和随机提前丢包(Random Early Drop, RED)策略, 以及RED的各种变形策略。队尾丢弃策略,是当缓存队列被占满时,不考虑数据包的优先级差异,直接丢弃新到达的数据包。随机提前丢包策略,又称随机提前检测Random Early Detection,它主要是通过随机早期丢弃方式来避免拥塞。在用运动图像专家组压缩标准第 2版(MPEG_2,Moving Picture Experts Group Compression Standard Version 2)、H. 264/ AVC (MPEG-4 高级视频编码,Advanced Video Coding)、视频编解码器-1 (Video Codec 1, VC-1)、数字音视频编解码标准(AVS,Audio Coding Standard)等视音频压缩编码算法,电视画面被编码为内部编码帧(I帧)、前向预测帧(P帧)和双向内插帧(B帧)组成的图像序列。在视频传输领域,可以优先丢弃B帧数据包,因为该类型的数据包对整个图像显示的影响很小,尽量不丢弃I帧和P帧数据包,从而为终端用户带来更佳的视觉体验。由于网络主动丢弃一些对视觉体验影响小的视频报文,而且网络不希望终端对这些报文进行重传请求,因此网络需要指示终端设备无需对这些丢失的报文请求重传。除了网络拥塞需要主动丢包外,在其它的一些情况下,例如通过单播加速发送的快速频道切换场景,为了减少带宽占用或者加速播放,有时也需要主动丢弃一部分实时传送协议(Real-time Transport Protocol, RTP)报文。在这种情况下也需要指示终端设备无需对这些丢弃的报文请求重传。

发明内容
本发明实施例的目的是提供一种媒体报文重传抑制方法和设备,用以抑制对无需重传的媒体报文的重传请求。本发明实施例的目的是通过以下技术方案实现的—种媒体报文重传抑制方法,其特征在于,包括根据丢弃规则丢弃第一实时传送协议RTP流中的部分报文,所述第一 RTP流用于承载媒体报文;向接收设备发送所述丢弃了部分报文的第一 RTP流;通过第二 RTP流向所述接收设备发送所述被丢弃的报文的信息以使所述接收设备抑制对所述被丢弃的报文的重传请求,所述第二 RTP流与所述第一 RTP流属于不同的RTP 会话。
一种媒体报文重传抑制设备,其特征在于,包括丢弃单元,用于根据丢弃规则丢弃第一实时传送协议RTP流中的部分报文,所述第一 RTP流用于承载媒体报文;发送单元,用于向接收设备发送所述丢弃了部分报文的第一 RTP流;抑制单元,用于通过第二 RTP流向所述接收设备发送所述被丢弃的报文的信息以使所述接收设备抑制对所述被丢弃的报文的重传请求,所述第二 RTP流与所述第一 RTP流属于不同的RTP会话。采用本发明实施例提供的技术方案,通过第二 RTP流向接收设备发送被丢弃的报文的信息以使接收设备抑制对被丢弃的报文的重传请求,并且第二 RTP流与第一 RTP流属于不同的RTP会话,可以利用RTP协议抑制对无需重传的媒体报文的重传请求。


图1为本发明一个实施例中媒体报文重传抑制方法流程图;图2为本发明实施例的一个具体应用场景中第二 RTP流中的报文净荷的示意图;图3为本发明实施例的另一个具体应用场景中第二 RTP流中的报文净荷的示意4为本发明实施例的又一个具体应用场景中第二 RTP流中的报文净荷的示意图;图5为本发明另一个实施例中第二 RTP流中的媒体报文重传抑制方法流程图;图6为本发明又一个实施例中媒体报文重传抑制设备框图。
具体实施例方式以下结合图1说明本发明一个实施例图1为本发明一个实施例中媒体报文重传抑制方法流程图。该方法包括102、发送设备根据丢弃规则丢弃第一 RTP流中的部分报文,该第一 RTP流用于承载媒体报文。其中,发送设备可以在发送第一 RTP流之前,或者在发送第一 RTP流的过程中,根据丢弃规则丢弃第一 RTP流中的部分报文。第一 RTP流可以是发送设备接收的RTP流,也可以是发送设备自身生成的RTP流。发送设备可能在多种情况下选择性地发送第一 RTP媒体流中的部分报文,而丢弃第一 RTP流中的部分报文。举例来说,当网络发生拥塞时,发送设备根据自身感知的网络情况,选择性地发送第一 RTP流中媒体报文,丢弃第一 RTP流中的部分报文,或者发送设备接收与接收设备之间的链路上的其他网络设备报告的网络情况,根据该报告的网络情况丢弃第一 RTP流中的部分报文。网络情况可以包括网络拥塞情况或网络带宽情况,也可以同时包括网络拥塞情况和网络带宽情况。又例如,当接收设备进行媒体流切换时,因为媒体解码必须从I帧起始,为了减少切换时延,发送设备将I帧开始的RTP流通过单播推送给接收设备后,可以丢弃第一 RTP流中的部分对视觉体验影响小的报文以减小推送的突发码流。又例如,在可伸缩视频编码(Scalable Video Coding, SVC)中,发送设备在对SVC 视频数据适配时,提取部分或者全部的报文,转发给接收设备。在提取部分报文时,发送 设备需要丢弃第一 RTP流中的部分报文,例如增强层报文。丢弃规则(从另 一方面来看也就是选择发送规则)可以是在发送设备中预先设定的,也可以是发送设备根据网络情况确定的,网络情况越差(例如网络拥塞情况越严重或媒体流切换情况带宽受限制的越多),丢弃的报文就越多。当下行链路设备没有选择性发送功能时,下行链路设备也可以通知发送设备其网络情况,由发送设备决定报文丢弃。对于基于帧的丢弃规则,通常是优先丢弃非参考帧,其次是参考帧,最后是帧内编码帧。这里的非参考帧是指没有被其它帧所参考的帧,参考帧是指被其它一个或多个帧所直接或间接参考的帧。丢弃参考帧的顺序可以遵从参考帧被引用(即直接或间接参考)的次数由少到多的规则优先丢弃被引用次数较少的帧。在网络拥塞的场景中,根据拥塞程度的不同丢弃报文的数量也不同。在基于帧的方法丢弃时,可以丢弃一个或多个甚至所有的非参考帧(如B 帧)的报文。若丢弃非参考帧的报文依然不能满足要求,可以选择按照根据网络情况确定的规则丢弃参考帧。例如一个画面组(Group of Pictures,GOP)中帧的序列是(II B2 P3 B4 P5B6 P7 B8 P9),B2,B4,B6,B8是非参考帧,可以最先丢弃,如丢弃非参考帧依然不能满足要求时,可以进一步丢弃参考帧。P3,P5,P7,P9是参考帧,但是它们被引用参考的次数依次递减,因此可以按照P9,P7,P5,P3的顺序丢弃,Il帧是帧内编码帧,最后丢弃。除了基于帧的丢弃规则,也可以根据报文所对应内容的运动矢量丰富度、在画面中的位置、解码端的错误隐藏机制、解码参考关系、亮度与色度、帧类型或条带(SLICE)类型、画面位置及残差或其中部分因素进行评估,得到各个报文的视觉敏感度信息,根据一定的阈值或比例优先丢弃第一 RTP流中的视觉敏感度较低的报文。又例如,在媒体流切换的具体应用场景中, 发送设备根据预先设定的丢弃规则,部分或全部丢弃第一 RTP流中的属于非参考帧的报文或者丢弃视觉敏感度较低的报文,如突发流的带宽受限制越多(例如对于同一个媒体流来说,一个链路上突发流的受限制带宽是正常流1. 1倍,而另外一个链路上突发流受限制带宽是正常流1. 05倍,则后一个链路比前一个链路带宽受限制多),丢弃的报文也可以越多。 又例如,在SVC的具体应用场景中,发送设备根据接收设备的类型(例如机顶盒、个人计算机、手持设备或手机等)或接入线路的类型(例如光纤到户、数字用户线、无线局域网、第三代移动通信技术等)丢弃第一 RTP流中的部分报文。发送设备也可以根据自身感知的或接收到的网络情况确定丢弃规则,例如丢弃第一 RTP流中的一定比例的报文,根据该丢弃规则丢弃报文。104、发送设备向接收设备发送所述丢弃了部分报文的第一 RTP流。106、发送设备通过第二 RTP流向所述接收设备发送所述被丢弃的报文的信息以使所述接收设备抑制对所述被丢弃的报文的重传请求,所述第二 RTP流与所述第一 RTP流属于不同的RTP会话。该第二 RTP流中发送的携带被丢弃的报文的信息的报文可以称为选择性发送通知指不(selective transmission notification indication)报文。第二 RTP 流与第一 RTP流属于不同的RTP会话,他们体现在RTP的净荷类型(payload type),序列号 (sequence number)空间,时间戮(timestamp),同步源识另Ij符(synchronization source identifier, SSRC ID),贡献源识别符(contributing source identifiers, CSRC ID)中部分或全部字段的不同。举例来说,第一 RTP流与第一 RTP流的净荷类型不同并有单独的序列号空间。发送设备通过第二 RTP流向接收设备发送被丢弃的报文的信息,被丢弃的报文的信息通常是被丢弃的报文的RTP序列号,或者是表示这些RTP序列号的对应信息。例如,发送设备在第二 RTP流的一个报文中携带一个被丢弃的报文的序列号,并用掩码表示部分其他被丢弃的报文的序列号与该被携带的序列号的关系。举例来说,被丢弃的报文的RTP序列号分别为10000,10002,10003,10008,10010,则发送设备在第二 RTP流的一个报文中携带序列号10000,以及掩码,该掩码的二进制表示为0110,0001,0100,0000,用于标识被丢弃的报文中的报文10002,10003,10008,10010与携带的序列号10000的报文的关系是这些被丢弃的报文在该被携带序列号的报文后的第2、3、8和第10个报文。掩码的长度与第二 RTP流中一个报文可以携带多少个第一 RTP流中的报文是否丢弃的信息有关,上述的例子示出了两个字节的情况,掩码也可以具有其它长度。当被丢弃的报文包括一段报文序列号连续的报文段时,发送设备可以用该报文段的第一个报文的序列号即起始序列号和最后一个报文的序列号即结束序列号表示该报文段。接收设备对序列号在起始序列号和结束序列号之间的报文的不请求重传,因为报文的序列号在序列号中循环,上述的序列号在起始序列号和结束序列号之间的报文并不必然的要求是序列号大于起始序列号并小于结束序列号的报文。起始序列号和结束序列号可以在第二 RTP流中的一个报文中携带,也可以分别在第二 RTP流中的两个报文中携带。在第二 RTP流中的两个报文中分别携带起始序列号和结束序列号的方式通常可以用在丢弃的报文段较长,发送设备在开始丢弃第一 RTP流的报文时尚无法得知需要在何时停止丢弃的情况。例如,在媒体流实时传送过程中,有时只知道起始序列号,而结束序列号依然未知,这时可以先发送携带起始序列号的第一选择性发送通知指示报文,接收设备收到第一选择性发送通知指示报文后,对序列号在起始序列号之后的报文不请求重传。当发送设备获得结束序列号时再发送一个携带结束序列号的第二选择性发送通知指示报文,接收设备收到第二选择性发送通知指示报文后,对序列号在结束序列号之后的报文恢复请求重传,即当接收设备发现序列号在结束序列号之后的报文丢失时通常发送重传请求。因为报文的序列号在序列号中循环,上述的序列号在起始序列号或结束序列号之后的报文并不必然的要求是序列号大于起始序列号或结束序列号的报文。第二选择性发送通知指示报文也可以既携带结束序列号也携带相应的起始序列号。当被丢弃的报文是多段连续的报文时,也可以用多对上述起始序列号和结束序列号表示需要进行重传抑制的多段报文。上述多对起始序列号和结束序列号可以在一个或多个第二 RTP流的报文中携带。发送设备丢弃第一 RTP流中的报文时,构造属于第二 RTP流的报文,用这些新构造的属于第二 RTP流的报文通知接收设备因某些原因,发送设备主动丢弃了一些RTP报文,使接收设备不对这些主动丢弃的报文的进行重传请求即抑制对这些主动丢弃的报文的重传请求。第二 RTP流与第一 RTP流应当属于不同的RTP会话,即新构造的属于第二 RTP流的报文的头部和属于第一 RTP流的报文的头部应该有明显的不同,从而有利于接收设备区别第一 RTP流的报文和第二 RTP流的报文。例如,将第二 RTP流的RTP报文的头部的X位置 1 ;CC位置0 ;payload type和第一 RTP流的类型不同;sequence number有单独的序列号空间,也就是说第二 RTP流需要单独设置序列号,后面发送的第二 RTP流的报文的序列号在 16比特中依次循环递增,不受第一 RTP流的报文序列号影响;timestamp为发送该第二 RTP 流的报文的时间,并遵从timestamp规定;SSRC ID和第一 RTP流的SSRC ID不同。上述字段的特征和第一 RTP流的报文相应字段的特征并不需要全部不同,只需要足够接收设备区别第一 RTP流的报文和第二 RTP流的报文即可。以下结合图2说明本发明实施例的一个具体应用场景图2为本发明实施例的一个具体应用场景中第二 RTP流中的报文净荷的示意图。该具体应用场景中,发送设备根据第一 RTP流中的报文承载的视频帧的类型对报文进行丢弃,例如,发送设备丢弃第一 RTP流中的所有承载B帧的报文。发送设备丢弃上述承载B帧的报文后,向接收设备发送丢弃了承载B帧的报文的第一 RTP流。发送设备通过第二 RTP流向接收设备发送被丢弃的承载B帧的报文的信息。该第二 RTP流与第一 RTP流的净荷类型不同,且具有单独的序列号空间。因为一个帧的画面的编码信息通常需要由多个报文承载,并且承载同一帧的画面的编码信息的报文通常是连续的,所以发送设备丢弃的承载B帧的报文通常是多个报文序列号连续的报文段。第二 RTP流中可以携带其中一个或多个承载B帧的报文段的起始序列号(First Sequence Number)和结束序列号(End Sequence Number),以表示这一个或多个报文段。起始序列号和结束序列号可以在第二 RTP流中的一个报文中携带,也可以分别在第二 RTP流中的两个报文中携带。接收设备对在起始序列号和结束序列号之间的报文的不请求重传。例如,发送设备上存有第一 RTP流的所有报文,当网络发生拥塞时,发送设备根据自身感知的网络情况丢弃第一 RTP流中的承载B帧的报文段,发送设备可以根据自身存储的第一 RTP流的所有报文得到所有被丢弃的承载B帧的报文段的信息,包括各段的起始序列号和结束序列号。此时发送设备向接收设备发送图2所示的选择性发送通知指示报文,该选择性发送通知指示报文除了起始序列号和结束序列号外还可选的扩展了 Network Reason、Type、Frame Number等信息。其中Network Reason为报文丢弃的原因(例如网络拥塞,频道切换 RAMS-Rapid Acquisition of Multicast RTP Sessions, SVC 等),此时为“网络拥塞”的类型代码,Type为抑制的方式(例如基于视频帧的方式抑制,基于起始终止序列号的方式抑制,基于序列号和掩码的抑制方式,等等),此时为“基于视频帧的方式抑制”的类型代码,Frame Number为帧数目,表示选择性发送通知指示报文携带的被丢弃的报文所承载的帧的数目,S (Sequence)位表示起始序列号和结束序列号是否有一个为缺省,此时发送设备在选择性发送通知指示报文中同时携带起始序列号和结束序列号,S位置“0” 表示起始序列号和结束序列号均不为缺省。C(Continuity)位表示选择性发送通知指示报文中指示接收设备进行重传抑制的帧是否共享起始序列号和结束序列号,例如C位为“1” 表示有些帧连续,并且共享一组起始序列号和结束序列号,C位为“0”表示每个帧分别用一组起始序列号和结束序列号表示。当起始序列号和结束序列号在第二 RTP流中的两个报文中携带时,接收设备接收到携带起始序列号的第二 RTP流中的报文时开始对序列号在起始序列号之后的报文的不请求重传,直到接收设备接收到携带结束序列号的第二 RTP流中的报文。接收设备根据结束序列号,恢复对序列号在结束序列号的报文之后的报文的通常的重传请求。在第二 RTP 流中的两个报文中分别携带起始序列号和结束序列号的方式通常可以用在丢弃的报文段较长,发送设备在开始丢弃第一 RTP流的报文时尚无法得知需要在何时停止丢弃的情况。例如,发送设备上接收头端发送的各个频道的RTP流,当接收设备进行媒体流切换时,发送设备将接收设备需要切换到的频道的RTP流作为第一 RTP流向接收设备单播推送。发送设备一边接收头端发送的RTP流,一边缓存并丢弃其中属于B帧的报文后向接收设备发送,因此发送设备不能在一开始就得到所有被丢弃的承载B帧的报文段的信息。此时发送设备向接收设备发送图2所示的选择性发送通知指示报文,其中Network Reason为报文丢弃的原因,此时为“快速频道切换”的类型代码,Type为抑制的方式,此时为“基于视频帧的方式抑制”的类型代码,Frame Number为帧数目,表示选择性发送通知指示报文携带的被丢弃的报文所承载的帧的数目,S位表示起始序列号和结束序列号是否有一个为缺省,此时发送设备在两个选择性发送通知指示报文中分别携带起始序列号和结束序列号,S位置“1”,表示起始序列号或结束序列号缺省,缺省的起始序列号或结束序列号可以用全“0”、全“ 1”或其它约定的方式表示。C位表示选择性发送通知指示报文中指示接收设备进行重传抑制的帧是否共享起始序列号和结束序列号,例如C位为“ 1 ”表示有些帧连续,并且共享一组起始序列号和结束序列号,C位为“0”表示每个帧分别用一组起始序列号和结束序列号表示。以下结合图3说明本发明实施例的另一个具体应用场景图3为本发明实施例的另一个具体应用场景中第二 RTP流中的报文净荷的示意图。该选择性发送通知指示报文除了起始序列号和结束序列号外还可选的扩展了 Network Reason、Type、Length 等信息。其中 Network Reason、Type、First Sequence Number和End Sequence Number的含义与图2所示应用场景的相同,不同的是,此时Type 为“基于起始终止序列号的方式抑制”的类型代码。Length表示有多少组起始序列号和终止序列号。例如有二段连续的报文需要被抑制。则length的值为2或者8(即2X4字节, 以序列号长度为4字节为例)。以下结合图4说明本发明实施例的又一个具体应用场景图4为本发明实施例的又一个具体应用场景中第二 RTP流中的报文净荷的示意图。该选择性发送通知指示报文除了报文序列号和掩码外还可选的扩展了 Network Reason、Type、Length 等信息。其中 Network ReasoruType 禾口 Length 的含义与图 3 所示应用场景的相同,不同的是,此时Type为“基于序列号和掩码的抑制方式”的类型代码。当发送设备丢弃的第一 RTP流中的报文不连续,例如在网络拥塞或进行快速频道切换场景中,发送设备根据一定的阈值或比例丢弃第一 RTP流中的视觉敏感度较低的报文时,发送设备在第二 RTP流的选择性发送通知指示报文中携带一个被丢弃的报文的序列号和掩码,用掩码表示部分其他被丢弃的报文的序列号与该被携带的序列号的关系。以下结合图5说明本发明另一个实施例图5为本发明另一个实施例中第二 RTP流中的媒体报文重传抑制方法流程图。该方法包括502、发送设备接收与接收设备之间的链路上的其他网络设备报告的网络情况。504、发送设备根据网络情况确定丢弃规则,并根据上述丢弃规则丢弃第一 RTP流中的部分报文,该第一 RTP流用于承载媒体报文。506、发送设备向接收设备选择性发送第一 RTP流。
上述选择性是指发送设备将丢弃了部分报文的第一 RTP流发送给接收设备。508、发送设备向接收设备发送属于第二 RTP流的第一选择性发送通知指示报文, 该第一选择性发送通知指示报文携带发送设备开始丢弃报文时第一 RTP流中的报文的起始序列号,以使所述接收设备开始抑制对序列号在所述起始序列号之后的报文的重传请求。由于网络拥塞,发送设备丢弃了第一 RTP流中的部分报文,这部分报文可以是连续的或非连续的,发送设备通过第二 RTP流指示接收设备从发送设备开始丢弃第一 RTP流中的部分报文时开始即不再对未收到的第一 RTP流中的报文进行重传请求。当拥塞解除前发送设备丢弃了第一 RTP流中的多段报文时,发送设备可以在每段报文发送结束时(或一旦得知该段报文的结束序列号时),向接收设备发送属于第二 RTP流的第二选择性发送通知指示报文,第二选择性发送通知指示报文携带上述结束序列号,以使所述接收设备停止抑制对序列号在结束序列号之后的报文的重传请求。并在开始丢弃第一RTP流中的下一段报文时(或一旦得知该段报文的开始序列号时),再次向接收设备发送属于第二RTP流的第一选择性发送通知指示报文。510、发送设备接收与接收设备之间的链路上的上述其他网络设备报告的网络拥
塞解除情况。512、发送设备停止丢弃第一 RTP流中的报文,并向接收设备直接发送第一 RTP流。514、向所述接收设备发送属于第二 RTP流的第二选择性发送通知指示报文,第二选择性发送通知指示报文携带发送设备停止丢弃报文时第一 RTP流的报文的结束序列号, 以使所述接收设备停止抑制对序列号在结束序列号之后的报文的重传请求。由于网络拥塞解除,发送设备停止丢弃第一 RTP流中的报文,发送设备通过第二 RTP流指示接收设备从发送设备停止丢弃第一 RTP流中的报文时开始,恢复对未收到的第一 RTP流中的报文的重传请求。以下结合图6说明本发明又一个实施例图6为本发明又一个实施例中媒体报文重传抑制设备框图。该设备包括丢弃单元 602、发送单元604和抑制单元606。其中,丢弃单元602,用于根据丢弃规则丢弃第一 RTP流中的部分报文,该第一 RTP流用于承载媒体报文。第一 RTP流可以是媒体报文重传抑制设备接收的RTP流,也可以是媒体报文重传抑制设备自身生成的RTP流。媒体报文重传抑制设备可能在多种情况下选择的发送第一 RTP媒体流中的部分报文,而丢弃第一 RTP流中的部分报文。举例来说,当网络发生拥塞时,媒体报文重传抑制设备根据自身感知的网络情况,选择的发送第一 RTP流中媒体报文,丢弃第一 RTP流中的部分报文,或者媒体报文重传抑制设备接收与接收设备之间的链路上的其他网络设备报告的网络情况,根据该报告的网络情况丢弃第一 RTP流中的部分报文。网络情况可以包括网络拥塞情况或网络带宽情况,也可以同时包括网络拥塞情况和网络带宽情况。又例如,当接收设备进行媒体流切换时,因为媒体解码必须从I帧起始,为了减少切换时延,媒体报文重传抑制设备将I帧开始的RTP流通过单播推送给接收设备,此时媒体报文重传抑制设备可以丢弃第一 RTP流中的部分对视觉体验影响小的报文以减小推送的突发码流。又例如,在可伸缩视频编码(Scalable Video Coding, SVC)中,媒体报文重传抑制设备在对SVC视频数据适配时,提取部分或者全部的报文,转发给接收设备。在提取部分报文时,即媒体报文重传抑制设备丢弃第一 RTP流中的部分报文,例如增强层报文。丢弃规则(从另一方面来看也就是选择发送规则)可以是在媒体报文重传抑制设备中预先设定的,也可以是媒体报文重传抑制设备中的确定单元,根据网络情况确定的,网络情况越差(例如网络拥塞情况越严重或媒体流切换情况带宽受限制的越多),丢弃的报文就越多。当下行链路设备没有选择性发送功能时,下行链路设备也可以通知媒体报文重传抑制设备其网络情况,由媒体报文重传抑制设备决定报文丢弃。对于基于帧的丢弃规则, 通常是优先丢弃非参考帧,其次是参考帧,最后是帧内编码帧。这里的非参考帧是指没有被其它帧所参考的帧,参考帧是指被其它一个或多个帧所直接或间接参考的帧。丢弃参考帧的顺序可以遵从参考帧被引用(即直接或间接参考)的次数由少到多的规则优先丢弃被引用次数较少的帧。例如,在网络拥塞的场景中,根据拥塞程度的不同丢弃报文的数量也不同。在基于帧的方法丢弃时,可以丢弃一个或多个甚至所有的非参考帧(如B帧)的报文。 若丢弃非参考帧的报文依然不能满足要求,可以选择按照根据网络情况确定的规则丢弃参考帧。例如一个GOP的序列是(II B2 P3 B4 P5 B6 P7 B8 P9),B2, B4, B6, B8是非参考帧,可以最先丢弃,如丢弃非参考帧依然不能满足要求时,可以进一步丢弃参考帧。P3,P5, P7,P9是参考帧,但是他们被引用参考的次数依次递减,因此可以按照P9,P7,P5,P3的顺序丢弃,Il帧是帧内编码帧,最后丢弃。除了基于帧的丢弃规则,也可以根据报文所对应内容的运动矢量丰富度、在画面中的位置、解码端的错误隐藏机制、解码参考关系、亮度与色度、帧类型或条带(SLICE)类型、画面位置及残差或其中部分因素进行评估,得到各个报文的视觉敏感度信息,根据一定的阈值或比例优先丢弃第一 RTP流中的视觉敏感度较低的报文。又例如,在媒体流切换的具体应用场景中,确定单元根据预先设定的丢弃规则,丢弃单元部分或全部丢弃第一 RTP流中的属于非参考帧的报文或者丢弃视觉敏感度较低的报文, 如突发流的带宽受限制越多(例如对于同一个媒体流来说,一个链路上突发流的受限制带宽是正常流1. 1倍,而另外一个链路上突发流受限制带宽是正常流1. 05倍,则后一个链路比前一个链路带宽受限制多),丢弃的报文也可以越多。又例如,在SVC的具体应用场景中, 确定单元根据接收设备的类型(例如机顶盒、个人计算机、手持设备或手机等)或接入线路的类型(例如光纤到户、数字用户线、无线局域网、第三代移动通信技术等)确定丢弃规则, 丢弃单元根据该丢弃规则丢弃第一 RTP流中的部分报文。确定单元也可以根据自身感知的或接收到的网络情况确定丢弃规则,例如丢弃第一 RTP流中的一定比例的报文,根据该丢弃规则丢弃报文。发送单元604,用于向接收设备发送所述丢弃了部分报文的第一 RTP流。抑制单元606,用于通过第二 RTP流向所述接收设备发送所述被丢弃的报文的信息以使所述接收设备抑制对所述被丢弃的报文的重传请求,所述第二 RTP流与所述第一 RTP流属于不同的RTP会话。该第二 RTP流中发送的携带被丢弃的报文的信息的报文可以禾尔为选择性发送通知指不(selective transmission notification indication)报文。第二 RTP流与第一 RTP流属于不同的RTP会话,他们体现在RTP的净荷类型(payload type), 序列号(sequence number)空间,时间戳(timestamp),同步源识别符(synchronizationsource identifier, SSRC ID),贡献源识别符(contributing source identifiers, CSRC ID)中部分或全部字段的不同。举例来说,第一 RTP流与第一 RTP流的净荷类型不同并有单独的序列号空间。媒体报文重传抑制设备通过第二 RTP流向接收设备发送被丢弃的报文的信息,被丢弃的报文的信息通常是被丢弃的报文的RTP序列号,或者是表示这些RTP序列号的对应
fn息ο当被丢弃的报文包括一段报文序列号连续的报文段时,媒体报文重传抑制设备可以用该报文段的第一个报文的序列号即起始序列号和最后一个报文的序列号即结束序列号表示该报文段。接收设备对序列号在起始序列号和结束序列号之间的报文的不请求重传,因为报文的序列号在序列号中循环,上述的序列号在起始序列号和结束序列号之间的报文并不必然的要求是序列号大于起始序列号并小于结束序列号的报文。起始序列号和结束序列号可以在第二 RTP流中的一个报文中携带,也可以分别在第二 RTP流中的两个报文中携带。在第二 RTP流中的两个报文中分别携带起始序列号和结束序列号的方式通常可以用在丢弃的报文段较长,媒体报文重传抑制设备在开始丢弃第一 RTP流的报文时尚无法得知需要在何时停止丢弃的情况。举例来说,此时抑制单元606包括,例如,第一抑制模块,用于向所述接收设备发送属于第二 RTP流的第一选择性发送通知指示报文,所述第一选择性发送通知指示报文携带所述被丢弃的报文的起始序列号,以使所述接收设备开始抑制对序列号在所述起始序列号之后的报文的重传请求;第二抑制模块,用于向所述接收设备发送属于第二 RTP流的第二选择性发送通知指示报文,所述第二选择性发送通知指示报文携带所述被丢弃的报文的结束序列号,以使所述接收设备停止抑制对序列号在所述结束序列号之后的报文的重传请求。在媒体流实时传送过程中,有时只知道起始序列号,而结束序列号依然未知,这时可以先由第一抑制模块发送携带起始序列号的第一选择性发送通知指示报文,接收设备收到第一选择性发送通知指示报文后,对序列号在起始序列号之后的报文不请求重传。当媒体报文重传抑制设备获得结束序列号时再由第二抑制模块发送一个携带结束序列号的第二选择性发送通知指示报文,接收设备收到第二选择性发送通知指示报文后,对序列号在结束序列号之后的报文恢复请求重传,即当接收设备发现序列号在结束序列号之后的报文丢失时通常发送重传请求。因为报文的序列号在序列号中循环,上述的序列号在起始序列号或结束序列号之后的报文并不必然的要求是序列号大于起始序列号或结束序列号的报文。第二选择性发送通知指示报文也可以既携带结束序列号也携带相应的起始序列号。当起始序列号和结束序列号可以在第二 RTP流中的一个报文中携带时,抑制单元 606可以包括第四抑制模块,用于向所述接收设备发送属于第二 RTP流的第四选择性发送通知指示报文,所述第四选择性发送通知指示报文携带所述被丢弃的报文的起始序列号和结束序列号,以使所述接收设备抑制对序列号在所述起始序列号和所述结束序列号之间的报文的重传请求。又例如,也在第二 RTP流的一个报文中携带一个被丢弃的报文的序列号,并用掩码表示部分其他被丢弃的报文的序列号与该被携带的序列号的关系。此时抑制单元可以包括第三抑制模块,用于向接收设备发送属于第二 RTP流的第三选择性发送通知指示报文,第三选择性发送通知指示报文携带被丢弃的报文中一个报文的序列号和掩码,掩码用于标识第三选择性发送通知指示报文中携带的序列号对应的报文与其他被丢弃的报文的关系, 第三选择性发送通知指示报文使接收设备根据第三选择性发送通知指示报文中携带的序列号和掩码抑制对被丢弃的报文的重传请求。举例来说,被丢弃的报文的RTP序列号分别为10000,10002,10003,10008,10010, 则媒体报文重传抑制设备在第二 RTP流的一个报文中携带序列号10000,以及掩码,该掩码的二进制表示为0110,0001,0100,0000,用于标识被丢弃的报文中的报文10002,10003, 10008,10010与携带的序列号10000的报文的关系是这些被丢弃的报文在该被携带序列号的报文后的第2、3、8和第10个报文。掩码的长度与第二 RTP流中一个报文可以携带多少个第一 RTP流中的报文是否丢弃的信息有关,上述的例子示出了两个字节的情况,掩码也可以具有其它长度。当被丢弃的报文是多段连续的报文时,也可以用多对上述起始序列号和结束序列号表示需要进行重传抑制的多段报文。上述多对起始序列号和结束序列号可以在一个或多个第二 RTP流的报文中携带。媒体报文重传抑制设备丢弃第一 RTP流中的这些报文时,构造属于第二 RTP流的报文,用这些新构造的属于第二 RTP流的报文通知接收设备因某些原因,媒体报文重传抑制设备主动丢弃了一些RTP报文,使接收设备不对这些主动丢弃的报文的进行重传请求。 第二 RTP流与第一RTP流应当属于不同的RTP会话,即新构造的属于第二 RTP流的报文的头部和属于第一 RTP流的报文的头部应该有明显的不同,从而有利于接收设备区别第一 RTP 流的报文和第二 RTP流的报文。例如,将第二 RTP流的RTP报文的头部的X位置1 ;CC位置0 ;payload type和第一 RTP流的类型不同;sequence number有单独的序列号空间,也就是说第二 RTP流需要单独设置序列号,后面发送的第二 RTP流的报文的序列号在16比特中依次循环递增,不受第一 RTP流的报文序列号影响;timestamp为发送该第二 RTP流的报文的时间,并遵从timestamp规定;SSRC ID和第一 RTP流的SSRC ID不同。上述字段的特征和第一 RTP流的报文相应字段的特征并不需要全部不同,只需要足够接收设备区别第一 RTP流的报文和第二 RTP流的报文即可。采用本发明实施例提供的技术方案,通过第二 RTP流向接收设备发送被丢弃的报文的信息以使接收设备抑制对被丢弃的报文的重传请求,并且第二 RTP流与第一 RTP流属于不同的RTP会话,可以利用RTP协议抑制对无需重传的媒体报文的重传请求。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于计算机可读存储介质中,所述存储介质可以是R0M/RAM,磁盘或光盘等。以上所述,仅为本发明较佳的具体实施方式
,但本发明的保护范围并不局限于此, 任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换, 都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
权利要求
1.一种媒体报文重传抑制方法,其特征在于,包括根据丢弃规则丢弃第一实时传送协议RTP流中的部分报文,所述第一 RTP流用于承载媒体报文;向接收设备发送所述丢弃了部分报文的第一 RTP流;通过第二 RTP流向所述接收设备发送所述被丢弃的报文的信息以使所述接收设备抑制对所述被丢弃的报文的重传请求,所述第二 RTP流与所述第一 RTP流属于不同的RTP会话。
2.根据权利要求1所述的方法,其特征在于,所述通过第二RTP流向所述接收设备发送所述被丢弃的报文的信息以使所述接收设备抑制对所述被丢弃的报文的重传请求,包括向所述接收设备发送属于第二 RTP流的第一选择性发送通知指示报文,所述第一选择性发送通知指示报文携带所述被丢弃的报文的起始序列号,以使所述接收设备开始抑制对序列号在所述起始序列号之后的报文的重传请求;向所述接收设备发送属于第二 RTP流的第二选择性发送通知指示报文,所述第二选择性发送通知指示报文携带所述被丢弃的报文的结束序列号,以使所述接收设备停止抑制对序列号在所述结束序列号之后的报文的重传请求。
3.根据权利要求1所述的方法,其特征在于,所述通过第二RTP流向所述接收设备发送所述被丢弃的报文的信息以使所述接收设备抑制对所述被丢弃的报文的重传请求,包括向所述接收设备发送属于第二 RTP流的第三选择性发送通知指示报文,所述第三选择性发送通知指示报文携带所述被丢弃的报文中一个报文的序列号和掩码,所述掩码用于标识所述第三选择性发送通知指示报文中携带的序列号对应的报文与其他被丢弃的报文的关系;所述第三选择性发送通知指示报文使所述接收设备根据所述第三选择性发送通知指示报文中携带的序列号和掩码抑制对所述被丢弃的报文的重传请求。
4.根据权利要求1所述的方法,其特征在于,所述通过第二RTP流向所述接收设备发送所述被丢弃的报文的信息以使所述接收设备抑制对所述被丢弃的报文的重传请求,包括向所述接收设备发送属于第二 RTP流的第四指示报文,所述第四指示报文携带所述被丢弃的报文的起始序列号和结束序列号,以使所述接收设备抑制对序列号在所述起始序列号和所述结束序列号的之间报文的重传请求。
5.根据权利要求1-4中任意一项所述的方法,其特征在于,在所述根据丢弃规则丢弃第一实时传送协议RTP流中的部分报文之前,还包括根据所述网络情况确定所述丢弃规则,所述网络情况包括网络拥塞情况和/或网络带宽情况。
6.根据权利要求5所述的方法,其特征在于,在所述根据所述网络情况确定所述丢弃规则之前,还包括接收与所述接收设备之间的链路上的网络设备报告的网络情况。
7.根据权利要求1-4中任意一项所述的方法,其特征在于,所述第二RTP流与所述第一 RTP流属于不同的RTP会话,具体包括所述第二 RTP流与所述第一 RTP流的净荷类型不同,且具有单独的序列号空间。
8.一种媒体报文重传抑制设备,其特征在于,包括丢弃单元,用于根据丢弃规则丢弃第一实时传送协议RTP流中的部分报文,所述第一 RTP流用于承载媒体报文;发送单元,用于向接收设备发送所述丢弃了部分报文的第一 RTP流;抑制单元,用于通过第二 RTP流向所述接收设备发送所述被丢弃的报文的信息以使所述接收设备抑制对所述被丢弃的报文的重传请求,所述第二 RTP流与所述第一 RTP流属于不同的RTP会话。
9.根据权利要求8所述的设备,其特征在于,所述抑制单元包括第一抑制模块,用于向所述接收设备发送属于第二 RTP流的第一选择性发送通知指示报文,所述第一选择性发送通知指示报文携带所述被丢弃的报文的起始序列号,以使所述接收设备开始抑制对序列号在所述起始序列号之后的报文的重传请求;第二抑制模块,用于向所述接收设备发送属于第二 RTP流的第二选择性发送通知指示报文,所述第二选择性发送通知指示报文携带所述被丢弃的报文的结束序列号,以使所述接收设备停止抑制对序列号在所述结束序列号之后的报文的重传请求。
10.根据权利要求8所述的设备,其特征在于,所述抑制单元包括第三抑制模块,用于向所述接收设备发送属于第二 RTP流的第三选择性发送通知指示报文,所述第三选择性发送通知指示报文携带所述被丢弃的报文中一个报文的序列号和掩码,所述掩码用于标识所述第三选择性发送通知指示报文中携带的序列号对应的报文与其他被丢弃的报文的关系,所述第三选择性发送通知指示报文使所述接收设备根据所述第三选择性发送通知指示报文中携带的序列号和掩码抑制对所述被丢弃的报文的重传请求。
11.根据权利要求8所述的方法,其特征在于,所述抑制单元包括第四抑制模块,用于向所述接收设备发送属于第二 RTP流的第四指示报文,所述第四指示报文携带所述被丢弃的报文的起始序列号和结束序列号,以使所述接收设备抑制对序列号在所述起始序列号和所述结束序列号之间的报文的重传请求。
12.根据权利要求8-11中任意一项所述的方法,其特征在于,还包括确定单元,用于根据所述网络情况确定所述丢弃规则,所述网络情况包括网络拥塞情况和/或网络带宽情况。
13.根据权利要求12所述的方法,其特征在于,还包括接收单元,用于接收与所述接收设备之间的链路上的网络设备报告的网络情况;
全文摘要
本发明涉及网络通信领域,尤其涉及一种媒体报文重传抑制方法和设备。该方法包括,根据丢弃规则丢弃第一实时传送协议RTP流中的部分报文;向接收设备发送所述丢弃了部分报文的第一RTP流;通过第二RTP流向所述接收设备发送所述被丢弃的报文的信息以使所述接收设备抑制对所述被丢弃的报文的重传请求,所述第二RTP流与所述第一RTP流属于不同的RTP会话。采用本发明实施例提供的技术方案,通过第二RTP流向接收设备发送被丢弃的报文的信息以使接收设备抑制对被丢弃的报文的重传请求,并且第二RTP流与第一RTP流属于不同的RTP会话,可以利用RTP协议抑制对无需重传的媒体报文的重传请求。
文档编号H04L1/18GK102223218SQ20101015520
公开日2011年10月19日 申请日期2010年4月15日 优先权日2010年4月15日
发明者夏晋伟, 孙兵, 杨佩林 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1