CN103167359B - Rtp媒体流的传输方法及装置 - Google Patents
Rtp媒体流的传输方法及装置 Download PDFInfo
- Publication number
- CN103167359B CN103167359B CN201310101268.XA CN201310101268A CN103167359B CN 103167359 B CN103167359 B CN 103167359B CN 201310101268 A CN201310101268 A CN 201310101268A CN 103167359 B CN103167359 B CN 103167359B
- Authority
- CN
- China
- Prior art keywords
- packet
- media stream
- information
- packet loss
- rtp media
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/80—Responding to QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0014—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the source coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/65—Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Quality & Reliability (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例公开了一种RTP媒体流的传输方法及装置,该方法包括:发送设备向接收设备发送第一RTP媒体流;所述发送设备接收所述接收设备发送的序号相关信息;所述发送设备根据所述序号相关信息、在反馈周期内实际发送的第一RTP媒体流中数据包的序号信息确定第一RTP媒体流的丢包信息;所述发送设备根据所述丢包信息确定媒体编码参数以及传输参数;所述发送设备根据所述媒体编码参数以及传输参数发送第二RTP媒体流。本发明实施例能够有效缓解发送设备和接收设备之间传输RTP媒体流时出现的丢包问题,提高RTP媒体流的传输效率。
Description
技术领域
本发明涉及通信领域,尤其涉及RTP媒体流的传输方法及装置。
背景技术
实时传输协议(Real-timeTransportProtocol,简称RTP)是在网络互连协议(InternetProtocol,简称IP)上实现媒体流数据实时传输的一种网络协议。RTP协议包括RTP数据协议和RTP控制协议(Real-timeTransportControlProtocol,简称RTCP)。
现有技术中,采用RTP协议进行RTP媒体流的传输时,RTP媒体流在发送设备和接收设备之间的传输过程包括:发送设备向接收设备发送RTP媒体流;接收设备统计预设周期内接收到的RTP媒体流中数据包的数量,向发送设备发送RTCP反馈消息,所述RTCP反馈消息中携带所述数据包的数量;所述发送设备根据所述预设周期内发送的RTP媒体流中数据包的数量以及所述RTCP反馈消息中携带的所述数据包的数量调整所述传输参数,例如冗余参数、冗余包格式等;发送设备根据调整后的传输参数向接收设备发送RTP媒体流。
但是,上述RTP媒体流的传输方法无法有效解决发送设备和接收设备之间传输RTP媒体流时出现的丢包问题,RTP媒体流的传输效率低。
发明内容
本发明实施例中提供了一种RTP媒体流的传输方法及装置,能够有效缓解发送设备和接收设备之间传输RTP媒体流时出现的丢包问题,提高RTP媒体流的传输效率。
第一方面,本发明实施例提供一种实时传输协议RTP媒体流的传输方法,包括:
发送设备向接收设备发送第一RTP媒体流;
接收所述接收设备发送的序号相关信息,所述序号相关信息为所述接收设备在一个反馈周期内接收到的所述第一RTP媒体流中数据包的序号信息;
根据所述序号相关信息、在所述反馈周期内实际发送的所述第一RTP媒体流中数据包的序号信息确定第一RTP媒体流的丢包信息;
根据所述丢包信息确定待发送的第二RTP媒体流的媒体编码参数以及传输参数,并向所述接收设备发送所述第二RTP媒体流。
结合上述第一方面,在第一方面第一种可能的实现方式中,所述根据所述序号相关信息、在所述反馈周期内实际发送的所述第一RTP媒体流中数据包的序号信息确定第一RTP媒体流的丢包信息,包括:
根据所述序号相关信息以及在所述反馈周期内实际发送的数据包的序号信息确定数据包的接收状态序列,所述数据包的接收状态序列为按照数据包的发送顺序记录的各个数据包是否丢包的序列;
所述发送设备根据丢包的数据包在所述接收状态序列中的位置判断数据包丢包的随机性是否与随机丢包特性匹配;
如果与随机丢包特性匹配,确定RTP媒体流的丢包信息为随机丢包;
如果与随机丢包特性不匹配,确定RTP媒体流的丢包信息为带宽受限。
结合上述第一方面,和/或,第一方面第一种可能的实现方式,在第一方面第二种可能的实现方式中,所述根据所述丢包信息确定待发送的第二RTP媒体流的媒体编码参数以及传输参数,包括:
根据确定的丢包信息以及所述数据包的接收状态序列确定丢包信息对应的网络约束参数;
根据所述丢包信息以及所述网络约束参数确定待发送的第二RTP媒体流的媒体编码参数以及传输参数;
当丢包信息为带宽受限时,所述网络约束参数包括:限制周期,所述限制周期为所述数据包的接收状态序列中连续未丢包的数据包和连续丢包的数据包的总发送时长;最大流量,所述最大流量为所述序号相关信息中连续未丢包的数据包的总字节数;
当丢包信息为随机丢包时,所述网络约束参数包括:丢包率,所述丢包率为所述数据包的接收状态序列中丢包的数据包总数除以所述数据包的接收状态序列中数据包的总数。
结合上述第一方面第二种可能的实现方式,在第一方面第三种可能的实现方式中,所述根据所述丢包信息以及所述网络约束参数确定待发送的第二RTP媒体流的媒体编码参数以及传输参数,包括:
根据以下公式确定所述媒体编码参数以及传输参数:
maxf(x,y)=g(x)+h(y);
s.t.a(x,y)≤P
其中,x表示媒体编码参数,y表示传输参数;g(x)表示媒体编码参数在无损网络下能获得的媒体质量分数;h(y)表示基于所述传输参数对所述媒体质量分数的影响校对;f(x,y)表示所述媒体编码参数和传输参数在实际网络下获得的媒体质量分数;a(x,y)表示媒体编码参数和传输参数对应的网络约束参数,P表示所述丢包信息对应的网络约束参数。
第二方面,本发明实施例提供一种实时传输协议RTP媒体流的传输方法,包括:
接收设备接收发送设备发送的第一RTP媒体流;
确定第一RTP媒体流的序号相关信息,所述序号相关信息为所述接收设备在一个反馈周期内接收到的第一RTP媒体流中数据包的序号信息;
向所述发送设备发送所述序号相关信息,以便所述发送设备根据所述序号相关信息及在所述反馈周期内实际发送的第一RTP媒体流中数据包的序号信息确定第一RTP媒体流的丢包信息、根据所述丢包信息确定所述发送设备待发送的第二RTP媒体流的媒体编码参数以及传输参数;
接收所述发送设备根据所述媒体编码参数以及传输参数发送的第二RTP媒体流。
结合上述第二方面,在第二方面第一种可能的实现方式中,所述序号相关信息通过包配列位图实现,所述确定第一RTP媒体流的序号相关信息包括:
确定在一个反馈周期内接收到的第一RTP媒体流中数据包的序号信息;
根据所述序号信息生成所述包排列位图。
第三方面,本发明实施例提供一种实时传输协议RTP媒体流的传输装置,包括:
第一发送单元,用于向接收设备发送第一RTP媒体流;
第一接收单元,用于接收所述接收设备发送的序号相关信息,所述序号相关信息为所述接收设备在一个反馈周期内接收到的第一RTP媒体流中数据包的序号信息;
丢包信息确定单元,用于根据所述第一接收单元接收到的所述序号相关信息、在所述反馈周期内所述第一发送单元实际发送的第一RTP媒体流中数据包的序号信息确定第一RTP媒体流的丢包信息;
参数确定单元,用于根据所述丢包信息确定待发送的第二RTP媒体流的媒体编码参数以及传输参数;
所述第一发送单元还用于:发送所述第二RTP媒体流。
结合上述第三方面,在第三方面第一种可能的实现方式中,丢包信息确定单元包括:
序列确定子单元,用于根据所述序号相关信息以及在所述反馈周期内实际发送的数据包的序号信息确定数据包的接收状态序列,所述数据包的接收状态序列为按照数据包的发送顺序记录的各个数据包是否丢包的序列;
原因确定子单元,用于根据丢包的数据包在所述序列确定子单元确定的所述数据包的接收状态序列中的位置判断数据包丢包的随机性是否与随机丢包特性匹配,如果与随机丢包特性匹配,则确定媒体流的丢包信息为随机丢包;否则,确定媒体流的丢包信息为带宽受限。
结合上述第三方面,和/或第三方面第一种可能的实现方式,在第三方面第二种可能的实现方式中,所述参数确定单元包括:
第一参数确定子单元,用于根据确定的丢包信息以及所述数据包的接收状态序列确定丢包信息对应的网络约束参数;
第二参数确定子单元,用于根据所述丢包信息以及所述第一参数确定子单元确定的所述网络约束参数确定待发送的第二RTP媒体流的媒体编码参数以及传输参数;
当丢包信息为带宽受限时,所述网络约束参数包括:限制周期,所述限制周期为所述数据包的接收状态序列中连续未丢包的数据包和连续丢包的数据包的总发送时长;最大流量,所述最大流量为所述序号相关信息中连续未丢包的数据包的总字节数;
当丢包信息为随机丢包时,所述网络约束参数包括:丢包率,所述丢包率为所述数据包的接收状态序列中丢包的数据包总数除以所述数据包的接收状态序列中数据包的总数。
结合上述第三方面第二种可能的实现方式,在第三方面第三种可能的实现方式中,第二参数确定子单元具体用于:
根据以下公式确定所述媒体编码参数以及传输参数:
maxf(x,y)=g(x)+h(y);
s.t.a(x,y)≤P
其中,x表示媒体编码参数,y表示传输参数;g(x)表示媒体编码参数在无损网络下能获得的媒体质量分数;h(y)表示基于所述传输参数对所述媒体质量分数的影响校对;f(x,y)表示所述媒体编码参数和传输参数在实际网络下获得的媒体质量分数;a(x,y)表示媒体编码参数和传输参数对应的网络约束参数,P表示所述丢包信息对应的网络约束参数。
第四方面,本发明实施例提供一种实时传输协议RTP媒体流的传输装置,包括:
第二接收单元,用于接收发送设备发送的第一RTP媒体流;
信息确定单元,用于确定所述第二接收单元接收的第一RTP媒体流的序号相关信息,所述序号相关信息为所述第二接收单元在一个反馈周期内接收到的第一RTP媒体流中数据包的序号信息;
第二发送单元,用于向所述发送设备发送所述信息确定单元确定的所述序号相关信息,以便所述发送设备根据所述序号相关信息及在所述反馈周期内实际发送的第一RTP媒体流中数据包的序号信息确定第一RTP媒体流的丢包信息、根据所述丢包信息确定所述发送设备待发送的第二RTP媒体流的媒体编码参数以及传输参数;
所述第二接收单元还用于:接收所述发送设备根据所述媒体编码参数以及传输参数发送的第二RTP媒体流。
结合上述第四方面,在第四方面第一种可能的实现方式中,所述序号相关信息通过包配列位图实现,所述信息确定单元具体用于:
确定在一个反馈周期内接收到的第一RTP媒体流中数据包的序号信息;
根据所述序号信息生成所述包排列位图。
第五方面,本发明实施例提供一种实时传输协议RTP媒体流的传输***,包括发送设备和接收设备,其中,
所述发送设备,用于向接收设备发送第一RTP媒体流,接收所述接收设备发送的序号相关信息,所述序号相关信息为所述接收设备在一个反馈周期内接收到的所述第一RTP媒体流中数据包的序号信息,根据所述序号相关信息、在所述反馈周期内实际发送的所述第一RTP媒体流中数据包的序号信息确定第一RTP媒体流的丢包信息,根据所述丢包信息确定待发送的第二RTP媒体流的媒体编码参数以及传输参数,并向所述接收设备发送所述第二RTP媒体流;
所述接收设备,用于接收发送设备发送的第一RTP媒体流,确定第一RTP媒体流的序号相关信息,所述序号相关信息为所述接收设备在一个反馈周期内接收到的第一RTP媒体流中数据包的序号信息,向所述发送设备发送所述序号相关信息,以便所述发送设备根据所述序号相关信息及在所述反馈周期内实际发送的第一RTP媒体流中数据包的序号信息确定第一RTP媒体流的丢包信息、根据所述丢包信息确定所述发送设备待发送的第二RTP媒体流的媒体编码参数以及传输参数,接收所述发送设备根据所述媒体编码参数以及传输参数发送的第二RTP媒体流。
结合上述第五方面,在第五方面第一种可能的实现方式中,所述发送设备具体用于通过以下方式实现所述根据所述序号相关信息、在所述反馈周期内实际发送的所述第一RTP媒体流中数据包的序号信息确定第一RTP媒体流的丢包信息:
根据所述序号相关信息以及在所述反馈周期内实际发送的数据包的序号信息确定数据包的接收状态序列,所述数据包的接收状态序列为按照数据包的发送顺序记录的各个数据包是否丢包的序列;
所述发送设备根据丢包的数据包在所述接收状态序列中的位置判断数据包丢包的随机性是否与随机丢包特性匹配;
如果与随机丢包特性匹配,确定RTP媒体流的丢包信息为随机丢包;
如果与随机丢包特性不匹配,确定RTP媒体流的丢包信息为带宽受限。
结合上述第五方面,和/或第五方面第一种可能的实现方式,在第五方面第二种可能的实现方式中,所述发送设备具体用于通过以下方式实现所述根据所述丢包信息确定待发送的第二RTP媒体流的媒体编码参数以及传输参数:
根据确定的丢包信息以及所述数据包的接收状态序列确定丢包信息对应的网络约束参数;
根据所述丢包信息以及所述网络约束参数确定待发送的第二RTP媒体流的媒体编码参数以及传输参数;
当丢包信息为带宽受限时,所述网络约束参数包括:限制周期,所述限制周期为所述数据包的接收状态序列中连续未丢包的数据包和连续丢包的数据包的总发送时长;最大流量,所述最大流量为所述序号相关信息中连续未丢包的数据包的总字节数;
当丢包信息为随机丢包时,所述网络约束参数包括:丢包率,所述丢包率为所述数据包的接收状态序列中丢包的数据包总数除以所述数据包的接收状态序列中数据包的总数。
本发明实施例中,发送设备向接收设备发送第一RTP媒体流;接收所述接收设备发送的序号相关信息,所述序号相关信息为所述接收设备在一个反馈周期内接收到的所述第一RTP媒体流中数据包的序号信息;根据所述序号相关信息、在所述反馈周期内实际发送的所述第一RTP媒体流中数据包的序号信息确定第一RTP媒体流的丢包信息;根据所述丢包信息确定待发送的第二RTP媒体流的媒体编码参数以及传输参数,并向所述接收设备发送所述第二RTP媒体流。从而,发送设备确定第一RTP媒体流的丢包信息,根据丢包信息确定媒体编码参数以及传输参数;所述发送设备根据所述媒体编码参数以及传输参数发送第二RTP媒体流,因此本发明实施例能够有效缓解发送设备和接收设备之间RTP媒体流传输过程中的丢包问题,提高RTP媒体流的传输效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明RTP媒体流的传输方法第一实施例示意图;
图2为本发明RTP媒体流的传输方法第二实施例示意图;
图3为本发明RTP媒体流的传输方法第三实施例示意图;
图4为本发明RTP媒体流的传输装置第一实施例示意图;
图5为本发明RTP媒体流的传输装置第二实施例示意图;
图6为本发明RTP媒体流的发送设备结构示意图;
图7为本发明RTP媒体流的接收设备结构示意图;
图8为本发明RTP媒体流的传输***结构示意图。
具体实施方式
通过分析发现,在RTP媒体流的传输过程中造成数据包丢包的原因不尽相同,不同的丢包原因需要采用不同的措施去克服。如果没有准确甄别丢包原因,发送设备对传输参数的调整很可能适得其反。比如如果发送设备与传输设备之间传输媒体流的带宽受限,可提供的带宽小于RTP媒体流实际上行带宽造成数据包丢包时,如果采用冗余编码如前向纠错编码(FEC,ForwardErrorCorrection)后,会加大RTP媒体流的实际上行带宽,导致RTP媒体流的发送需要更多的带宽资源,从而加剧数据包丢包;或者,当丢包原因是随机丢包时,如果减少发送设备的RTP媒体流的流量,并不能保证发送设备发送的RTP媒体流能更有效传输至接收设备。可见,甄别数据包的丢包原因,是解决发送设备和接收设备之间RTP媒体流传输过程中出现的丢包问题、提高RTP媒体流的传输效率的核心。但是,现有技术中RTP媒体流传输方法仅对传输参数进行调整,显然只能在某些特定的情况或凑巧的场合下才能有效解决发送设备和接收设备之间RTP媒体流传输过程中的丢包问题,在大多数情况下都无法有效解决发送设备和接收设备之间RTP媒体流传输过程中的丢包问题。
有鉴于此,本发明实施例提供的RTP媒体流传输方法中,确定RTP媒体流的丢包信息,根据所述丢包信息确定媒体编码参数以及传输参数,从而有效缓解发送设备和接收设备之间RTP媒体流传输过程中出现的丢包问题,提高RTP媒体流的传输效率。
其中,本发明实施例所称之发送设备是指发送RTP媒体流的设备,接收设备是指接收RTP媒体流的设备,并不用以限定所述发送设备是否能够发送和接收RTP媒体流之外的其他数据、所述接收设备是否能够发送和接收RTP媒体流之外的其他数据。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1,为本发明RTP媒体流的传输方法第一实施例示意图,该方法可以应用于发送设备,该方法包括:
步骤101:发送设备向接收设备发送第一RTP媒体流;
步骤102:所述发送设备接收所述接收设备发送的序号相关信息,所述序号相关信息为所述接收设备在一个反馈周期内接收到的第一RTP媒体流中数据包的序号信息;
其中,所述接收设备可以通过RTCP反馈消息等消息向所述发送设备发送所述序号相关信息。
其中,所述序号相关信息可以包括:接收设备在一个反馈周期内接收到的RTP媒体流中数据包的序号信息,或者,包排列位图;所述包排列位图可以由接收设备在一个反馈周期内接收到的RTP媒体流中数据包的序号信息生成。
步骤103:所述发送设备根据所述序号相关信息、在所述反馈周期内实际发送的RTP媒体流中数据包的序号信息确定第一RTP媒体流的丢包信息;
所述丢包信息是用于记录RTP媒体流丢包原因的信息。
步骤104:所述发送设备根据所述丢包信息确定待发送的第二RTP媒体流的媒体编码参数以及传输参数,并向所述接收设备发送所述第二RTP媒体流。
其中,所述第一RTP媒体流和第二RTP媒体流均为RTP媒体流,所述第一、第二仅用于区分步骤101和步骤104中的RTP媒体流。
所述第一RTP媒体流和第二RTP媒体流可以为相同或不同的RTP媒体流。一般的,所述第一RTP媒体流和第二RTP媒体流不同,且第二RTP媒体流是第一RTP媒体流后续的媒体流,从而通过根据在前的第一RTP媒体流的传输确定媒体编码参数和传输参数,再使用确定的所述媒体流编码参数和传输参数进行后续RTP媒体流的传输。
本实施例中,发送设备确定第一RTP媒体流的丢包信息,根据所述丢包信息确定媒体编码参数以及传输参数;所述发送设备根据所述媒体编码参数以及传输参数发送第二RTP媒体流,因此本发明实施例能够针对不同的丢包原因而确定不同的媒体编码参数以及传输参数,从而能够有效缓解发送设备和接收设备之间RTP媒体流的丢包问题,提高RTP媒体流的传输效率。
参见图2,为本发明RTP媒体流的传输方法第二实施例示意图,该方法可以应用于接收设备,该方法包括:
步骤201:接收设备接收发送设备发送的第一RTP媒体流;
步骤202:接收设备确定第一RTP媒体流的序号相关信息,所述序号相关信息为所述接收设备在一个反馈周期内接收到的第一RTP媒体流中数据包的序号信息;
其中,序号相关信息包括接收设备在一个反馈周期内接收到的第一RTP媒体流中数据包的序号信息时,序号相关信息中可以直接包括各个数据包的序号;
或者,所述序号相关信息包括包排列位图时,接收设备确定RTP媒体流的序号相关信息可以包括:接收设备确定在一个反馈周期内接收到的RTP媒体流中数据包的序号信息;接收设备根据所述序号信息生成包排列位图。
步骤203:接收设备向所述发送设备所述序号相关信息,以便所述发送设备根据所述序号相关信息、在所述反馈周期内实际发送的第一RTP媒体流中数据包的序号信息确定第一RTP媒体流的丢包信息、根据所述丢包信息确定所述发送设备待发送的第二RTP媒体流的媒体编码参数以及传输参数;
步骤204:所述接收设备接收所述发送设备根据所述媒体编码参数以及传输参数发送的第二RTP媒体流。
本实施例中,接收设备根据在一个反馈周期内接收到的第一RTP媒体流中数据包的序号信息确定序号相关信息,将所述序号相关信息发送给所述发送设备,以便所述发送设备根据所述序号相关信息、在所述反馈周期内实际发送的RTP媒体流中数据包的序号信息确定第一RTP媒体流的丢包信息、进而确定媒体编码参数以及传输参数,之后发送设备可以根据确定的所述媒体编码参数以及传输参数进行第二RTP媒体流的发送,因此本发明实施例能够有效缓解发送设备和接收设备之间媒体流的丢包问题,提高RTP媒体流的传输效率。
参见图3,为本发明RTP媒体流传输方法第三实施例示意图,该方法包括:
步骤301:发送设备向接收设备发送第一RTP媒体流。
其中,所述发送设备是以当前的媒体编码参数和传输参数进行第一RTP媒体流的发送的。
步骤302:接收设备接收所述第一RTP媒体流,确定第一RTP媒体流的序号相关信息;
其中,序号相关信息包括接收设备在一个反馈周期内接收到的第一RTP媒体流中数据包的序号信息时,序号相关信息中可以直接记录各个数据包的序号;例如,如果在所述一个反馈周期内接收设备接收到了序号为1、3、4、5、7的5个数据包,则所述序号相关信息可以为:13457;
或者,所述序号相关信息包括包排列位图时,接收设备确定第一RTP媒体流的序号相关信息可以包括:接收设备确定在一个反馈周期内接收到的第一RTP媒体流中数据包的序号信息;接收设备根据所述序号信息生成包排列位图。
在一种可能的实现方式中,所述包排列位图可以包括:在所述一个反馈周期内接收到的第一个数据包的序号、以及根据在所述一个反馈周期内接收到除第一个数据包之外其他数据包生成的位图。例如,如果在所述一个一个反馈周期内接收设备接收到了序号为1、2、3、5、6、7、8的7个数据包,则所述包排列位图可以为:
HeaderPacketSN:1
RcvMap:0xF7
其中,0xF7的二进制表示为11110111,如果最低比特位代表第一个数据包,比特位为1表示成功收到,那么0xF7就可以表达接收设备收到了序号为1、2、3、5、6、7、8的7个数据包。
其中,所述反馈周期的具体时间长度和起始时刻可以在实际应用中自主设定,这里并不限制。
步骤303:接收设备向所述发送设备发送RTCP反馈消息,所述RTCP反馈消息中包括所述序号相关信息。
在实际应用中,接收设备也可以通过其他消息携带所述序号相关信息,这里并不限定。
其中,所述RTCP反馈消息可以由接收设备在接收RTP媒体流的过程中按照所述反馈周期定时向发送设备发送。例如,在每个反馈周期结束时,由接收设备根据刚刚结束的反馈周期内接收到的RTP媒体流中数据包的序号信息得到所述序号相关信息,向所述发送设备发送包括所述序号相关信息的RTCP反馈消息。
其中,所述RTCP反馈消息中还可以包括其他信息,例如:在所述反馈周期内接收设备接收到的RTP媒体流的字节总数,和/或时延信息。
其中,所述字节总数可以用于计算发送设备和接收设备之间的带宽约束,具体的,所述带宽约束等于:所述字节总数/所述反馈周期的时间长度。
而所述时延信息可以在发送设备调整发送设备和接收设备之间RTP媒体流的传输路径时作为所述传输路径调整的依据之一。具体实现过程这里不赘述。
步骤304:发送设备接收所述RTCP反馈消息,根据所述序号相关信息、在所述一个反馈周期内实际发送的RTP媒体流中数据包的序号信息确定所述第一RTP媒体流的丢包信息。
在本发明实施例中,将丢包信息划分为随机丢包和带宽受限两种。在实际应用中,也可以根据实际情况对丢包信息进行其他划分,这里并不限制。
不同的丢包信息对应的所述网络约束参数不同,丢包信息为随机丢包时,所述网络约束参数可以包括:数据包随机丢包的丢包率和丢包周期;丢包信息为带宽受限时,所述网络约束参数可以包括:发送设备和接收设备之间的最大流量和限制周期。
具体的,所述根据所述序号相关信息、在所述一个反馈周期内实际发送的RTP媒体流中数据包的序号信息确定所述第一RTP媒体流的丢包信息可以包括:
所述发送设备根据所述序号相关信息以及在所述反馈周期内实际发送的第一RTP媒体流中数据包的序号信息确定数据包的接收状态序列,所述数据包的接收状态序列为按照数据包的发送顺序记录的各个数据包是否丢包的信息;
根据丢包的数据包在所述数据包的接收状态序列中的位置判断数据包丢包的随机性是否与随机丢包特性匹配,如果与随机丢包特性匹配,则确定媒体流的丢包信息为随机丢包;否则,确定媒体流的丢包信息为带宽受限。
例如,在所述一个反馈周期内发送设备向接收设备发送了序号为1~10的10个数据包;而序号相关信息为1236789;则,数据包的接收状态序列可以为:rrrxxrrrrx,其中,r表示该数据包未丢包,x表示该数据包丢包。
在根据丢包的数据包在所述数据包的接收状态序列中的位置判断数据包丢包的随机性是否与随机丢包特性匹配时,可以结合泊松分布(Poissondistribution)、自相似模型等实现。例如,泊松分布是一种统计与概率学里常见的离散概率分布,泊松分布适合于描述单位时间内随机事件发生的次数。泊松分布公式如下其中泊松分布的期望和方差均为λ,λ是单位时间或单位面积内随机事件的平均发生率,k为单位时间内随机事件发生的次数,k=0,1,2,…。因为随机丢包事件在单位时间内出现的次数或个数近似的服从泊松分布,所以可以根据丢包的数据包在所述数据包的接收状态序列中的位置按照上述泊松分布公式计算出λ的值,进而根据λ值计算出所述λ对应的在Δt时间内的理论丢包数;从所述数据包的接收状态序列中任取Δt时间的接收状态序列,判断所述Δt时间的接收状态序列中实际丢包数与所述理论丢包数的差值是否不大于预设的差值阈值,如果是,则判断数据包丢包的随机性与随机丢包特性匹配,如果否,则判断数据包丢包的随机性与随机丢包特性不匹配。其中,所述差值阈值可以在实际应用中自主设置。
因此,在一种可能的实现方式中,所述根据丢包的数据包在所述数据包的接收状态序列中的位置判断数据包丢包的随机性是否符合随机丢包特性可以包括:
根据丢包的数据包在所述数据包的接收状态序列中的位置按照泊松分布公式计算λ值;k为丢包的数据包在接收状态序列中的位置;
计算λ对应的在Δt时间内的理论丢包数;
从所述数据包的接收状态序列中任取Δt时间的接收状态序列,判断所述Δt时间的接收状态序列中实际丢包数与所述理论丢包数的差值是否小于预设阈值,如果小于,则判断数据包丢包的随机性与随机丢包特性匹配,否则,判断数据包丢包的随机性与随机丢包特性不匹配。
其中,计算λ对应的在Δt时间内的理论丢包数时可以依照公式P1(t,t+Δt)=λΔt+Ο(Δt)计算,其中,t为初始时间,P1(t+Δt)表示在t+Δt时间内数据包丢包的概率;O(Δt)为Δt的函数公式;具体如何实现所述计算,这里不赘述。
步骤305:发送设备根据确定的丢包信息以及所述数据包的接收状态序列确定丢包信息对应的网络约束参数。
其中,当丢包信息为带宽受限时,根据确定的丢包信息以及所述数据包的接收状态序列确定丢包信息对应的网络约束参数可以包括:将所述数据包的接收状态序列中连续未丢包的数据包和连续丢包的数据包的总发送时长,作为所述限制周期;将所述序号相关信息中连续未丢包的数据包的总字节数作为所述最大流量;
当丢包信息为随机丢包时,根据确定的丢包信息以及所述数据包的接收状态序列确定丢包信息对应的网络约束参数可以包括:将所述数据包的接收状态序列中丢包的数据包总数除以所述数据包的接收状态序列中数据包的总数,得到所述丢包率。
其中,丢包周期一般可以结合丢包率进行计算,具体计算方法这里不限定。在实际应用中,因为丢包率是由路由/交换设备性能瓶颈引入,而路由/交换设备性能中采用包每秒(PPS,PacketPerSecond)作为常用指标,因此可以将丢包周期直接设置为1s。因此,在实际应用中,可以直接在发送设备中预先存储丢包周期的数值,在确定随机丢包对应的网络约束参数时,读取该预先存储的丢包周期的数值即可。
具体的,在确定限制周期时,可以先从所述数据包的接收状态序列中查找到第一个丢包的数据包,然后,从所述第一个丢包的数据包之后查找到第一个未丢包的数据包,确定从该未丢包的数据包开始连续未丢包的数据包的个数,并且确定该未丢包的数据包之后第一个丢包的数据包,确定从该丢包的数据包开始连续丢包的数据包的个数,计算所述连续未丢包的数据包的个数和连续丢包的数据包的个数的总和,将所述总和与每个数据包的发送时长相乘,得到所述限制周期。
在确定所述最大流量时,可以确定从该未丢包的数据包开始连续未丢包的数据包的总字节数,得到所述最大流量。
例如,所述数据包的接收状态序列为rrxxrrrxxrrrxx,则,可以首先找出标识为x的第3个数据包,然后,从第3个数据包之后查找到第一个标识为r的数据包,即第5个数据包,从第5个数据包开始连续未丢包的数据包为第5个数据包至第7个数据包,因此,确定从第5个数据包开始连续未丢包的数据包的个数为3,第5个数据包之后第一个标识为x的数据包为第8个数据包,从该第8个数据包开始连续丢包的数据包为第8个数据包和第9个数据包,因此,确定从第8个数据包开始连续丢包的数据包的个数为2,总个数为5,则所述限制周期为5t;t为每个数据包的发送时长。
所述最大流量为第5个数据包至第7个数据包的总字节数。
步骤306:发送设备根据所述丢包信息以及所述丢包信息对应的网络约束参数确定待发送的第二RTP媒体流的媒体编码参数以及传输参数。
其中,所述媒体编码参数可以包括以下参数中的至少一个参数:媒体编码后构建RTP包率、媒体编码算法、编码速率。
其中,所述媒体编码后构建RTP包率是指发送设备每秒发送的数据包的数量;
所述媒体编码算法是指发送设备在对RTP媒体流进行编码时所采用的媒体压缩算法格式,所述媒体压缩算法格式包括:自适应多速率(AMR,AdaptiveMulti-Rate)、G.711等;
所述编码速率是指采用所述媒体压缩算法的速率,例如,在AMR这一媒体压缩算法下包括多个速率(rate)格式,可以通过所述编码速率具体指示AMR这一媒体压缩算法所使用的速率格式。
所述传输参数可以包括以下参数中的至少一个参数:冗余包编码格式、冗余参数。
其中,所述冗余参数是指冗余系数,例如所述冗余参数为1倍冗余时,则发送设备会在进行RTP媒体流的发送时,将RTP媒体流中每个数据包多发一份;
所述冗余参数在实际应用时可以为非整数,如10%表示仅对所有数据包中的10%执行一倍冗余,这可以借助重要帧识别等技术来实现,这里不再赘述。
所述冗余包编码格式用于指示冗余的数据包所采用的编码格式。如RFC2198定义的冗余格式等。
在实际应用中,可以借助测试,测试不同的媒体参数和传输参数在不同网络损伤下的表现,根据有约束最优化方法例如数学回归方法确定由丢包信息对应的网络约束参数、媒体编码参数、传输参数构成的方程,如:
maxf(x,y)=g(x)+h(y)
s.t.a(x,y)≤P
其中,x表示媒体编码参数,y表示传输参数;g(x)表示媒体编码参数在无损网络下能获得的媒体质量分数,例如描述语音质量的平均评价得分(MOS,MeanOpinionScore)/主观语音质量评估(PESQ,Perceptualevaluationofspeechquality)分;h(y)表示基于所述传输参数对所述媒体质量分数的影响校对;f(x,y)表示所述媒体编码参数和传输参数在实际网络下获得的媒体质量分数;a(x,y)表示媒体编码参数和传输参数对应的网络约束参数,P表示所述丢包信息对应的网络约束参数。
具体的,本发明实施例中需要根据随机丢包对应的网络约束参数、媒体编码参数、传输参数构成第一方程,根据带宽约束对应的网络约束参数、媒体编码参数、传输参数构成第二方程;在本步骤的实现中,可以直接将丢包信息对应的网络约束参数代入丢包信息对应的方程中,计算得到媒体编码参数和传输参数。
步骤307:发送设备根据步骤306中确定的媒体编码参数和传输参数发送第二RTP媒体流。
其中,本步骤中发送设备发送第二RTP媒体流所依据的媒体编码参数和传输参数是根据丢包信息以及所述丢包信息对应的网络约束参数确定的,从而能够有效缓解发送设备和接收设备之间RTP媒体流传输过程中出现的丢包问题,提高RTP媒体流的传输效率。
本实施例中,发送设备确定第一RTP媒体流的丢包信息以及所述丢包信息对应的网络约束参数,根据所述丢包信息以及所述丢包信息对应的网络约束参数确定媒体编码参数以及传输参数;所述发送设备根据所述媒体编码参数以及传输参数发送第二RTP媒体流,因此本发明实施例能够有效缓解发送设备和接收设备之间RTP媒体流传输过程中出现的丢包问题,提高RTP媒体流的传输效率。
参见图4,为本发明RTP媒体流的传输装置第一实施例示意图,该装置可以设置于发送设备,该装置400包括:
第一发送单元410,用于向接收设备发送第一RTP媒体流;
第一接收单元420,用于接收所述接收设备发送的序号相关信息,所述序号相关信息为所述接收设备在一个反馈周期内接收到的所述第一发送单元410发送的第一RTP媒体流中数据包的序号信息;
丢包信息确定单元430,用于根据所述第一接收单元420接收到的所述序号相关信息、在所述反馈周期内所述第一发送单元410实际发送的第一RTP媒体流中数据包的序号信息确定第一RTP媒体流的丢包信息;
参数确定单元440,用于根据所述丢包信息确定单元430确定的所述丢包信息确定待发送的第二RTP媒体流的媒体编码参数以及传输参数;
所述第一发送单元410还用于:根据所述参数确定单元440确定的所述媒体编码参数以及传输参数发送第二RTP媒体流。
优选地,丢包信息确定单元430具体可以包括:
序列确定子单元,用于根据所述序号相关信息以及在所述反馈周期内实际发送的数据包的序号信息确定数据包的接收状态序列,所述数据包的接收状态序列为按照数据包的发送顺序记录的各个数据包是否丢包的信息;
原因确定子单元,用于根据丢包的数据包在所述序列确定子单元确定的所述数据包的接收状态序列中的位置判断数据包丢包的随机性是否与随机丢包特性匹配,如果与随机丢包特性匹配,则确定媒体流的丢包信息为随机丢包;否则,确定媒体流的丢包信息为带宽受限。
优选地,所述参数确定单元440可以包括:
第一参数确定子单元,用于根据确定的丢包信息以及所述数据包的接收状态序列确定丢包信息对应的网络约束参数;
第二参数确定子单元,用于根据所述丢包信息以及所述第一参数确定子单元确定的所述网络约束参数确定待发送的第二RTP媒体流的媒体编码参数以及传输参数;
当丢包信息为带宽受限时,所述网络约束参数包括:限制周期,所述限制周期为所述数据包的接收状态序列中连续未丢包的数据包和连续丢包的数据包的总发送时长;最大流量,所述最大流量为所述序号相关信息中连续未丢包的数据包的总字节数;
当丢包信息为随机丢包时,所述网络约束参数包括:丢包率,所述丢包率为所述数据包的接收状态序列中丢包的数据包总数除以所述数据包的接收状态序列中数据包的总数。
所述第一参数确定子单元具体可以用于:
当丢包信息为带宽受限时,将所述数据包的接收状态序列中连续未丢包的数据包和连续丢包的数据包的总发送时长,作为所述限制周期;将所述序号相关信息中连续未丢包的数据包的总字节数作为所述最大流量;
当丢包信息为随机丢包时,所述网络约束参数可以包括:将所述数据包的接收状态序列中丢包的数据包总数除以所述数据包的接收状态序列中数据包的总数,得到丢包率。
当丢包信息为随机丢包时,将所述数据包的接收状态序列中丢包的数据包总数除以所述数据包的接收状态序列中数据包的总数,得到所述丢包率。
优选地,第二参数确定子单元具体可以用于:
根据以下公式确定所述网络约束参数:
maxf(x,y)=g(x)+h(y);
s.t.a(x,y)≤P
其中,x表示媒体编码参数,y表示传输参数;g(x)表示媒体编码参数在无损网络下能获得的媒体质量分数;h(y)表示基于所述传输参数对所述媒体质量分数的影响校对;f(x,y)表示所述媒体编码参数和传输参数在实际网络下获得的媒体质量分数;a(x,y)表示媒体编码参数和传输参数对应的网络约束参数,P表示所述丢包信息对应的网络约束参数。
本实施例中,确定媒体流的丢包信息,根据所述丢包信息确定媒体编码参数以及传输参数;根据所述媒体编码参数以及传输参数发送第二RTP媒体流,因此能够有效缓解发送设备和接收设备之间RTP媒体流传输过程中的丢包问题,提高RTP媒体流的传输效率。
参见图5,为本发明RTP媒体流的传输装置第二实施例示意图,该装置可以设置于接收设备,该装置500包括:
第二接收单元510,用于接收发送设备发送的第一RTP媒体流;
信息确定单元520,用于确定所述第二接收单元510接收的RTP媒体流的序号相关信息,所述序号相关信息为所述第二接收单元510在一个反馈周期内接收到的第一RTP媒体流中数据包的序号信息;
第二发送单元530,用于向所述发送设备发送所述信息确定单元520确定的所述序号相关信息,以便所述发送设备根据所述序号相关信息、在所述反馈周期内实际发送的第一RTP媒体流中数据包的序号信息确定第一RTP媒体流的丢包信息的信息、根据所述丢包信息确定所述发送设备待发送的第二RTP媒体流的媒体编码参数以及传输参数;
第二接收单元510还用于:接收所述发送设备根据所述媒体编码参数以及传输参数发送第二RTP媒体流。
优选地,所述序号相关信息通过包配列位图实现,所述信息确定单元520具体可以用于:
确定在一个反馈周期内接收到的第一RTP媒体流中数据包的序号信息;
根据所述序号信息生成所述包排列位图。
本实施例中,根据在一个反馈周期内接收到的RTP媒体流确定序号相关信息,将所述序号相关信息发送给所述发送设备,以便所述发送设备根据所述序号相关信息、在所述反馈周期内实际发送的RTP媒体流中数据包的序号信息确定媒体流的丢包信息、根据所述丢包信息确定媒体编码参数以及传输参数,之后接收发送设备根据确定的所述媒体编码参数以及传输参数发送的第二RTP媒体流,因此能够有效缓解发送设备和接收设备之间RTP媒体流传输过程中的丢包问题,提高RTP媒体流的传输效率。
参见图6,为本发明RTP媒体流的发送设备结构示意图,该发送设备600包括:第一处理器610、第一存储器620、第一收发器630和第一总线640;
第一处理器610、第一存储器620、第一收发器630通过第一总线640相互连接;第一总线640可以是ISA总线、PCI总线或EISA总线等。所述第一总线640可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
第一存储器620,用于存放程序,所述程序用于实现图1和图3所示实施例中发送设备执行的RTP媒体流传输方法。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。第一存储器620可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。
第一收发器630用于连接其他设备,如接收设备、服务器和远端主机等,并与其他设备进行通信。具体的,第一收发器630用于:向接收设备发送第一RTP媒体流;接收所述接收设备发送的序号相关信息,所述序号相关信息为所述接收设备在一个反馈周期内接收到的第一RTP媒体流中数据包的序号信息;根据第一处理器610确定的媒体编码参数以及传输参数发送第二RTP媒体流。
第一处理器610执行第一存储器620中存储的所述程序代码,用于根据所述第一收发器630接收到的所述序号相关信息、所述第一收发器630在所述反馈周期内实际发送的第一RTP媒体流中数据包的序号信息确定媒体流的丢包信息的信息;根据所述丢包信息确定待发送的第二RTP媒体流的媒体编码参数以及传输参数。
优选地,所述第一处理器610具体可以用于:根据所述序号相关信息以及在所述反馈周期内实际发送的数据包的序号信息确定数据包的接收状态序列,所述数据包的接收状态序列为按照数据包的发送顺序记录的各个数据包是否丢包的信息;根据丢包的数据包在所述数据包的接收状态序列中的位置判断数据包丢包的随机性是否与随机丢包特性匹配,如果与随机丢包特性匹配,则确定媒体流的丢包信息为随机丢包;否则,确定媒体流的丢包信息为带宽受限。
优选地,所述第一处理器610具体可以用于:根据确定的丢包信息以及所述数据包的接收状态序列确定丢包信息对应的网络约束参数;
根据所述丢包信息以及所述网络约束参数确定待发送的第二RTP媒体流的媒体编码参数以及传输参数。
其中,当丢包信息为带宽受限时,所述网络约束参数可以包括:限制周期,所述限制周期为所述数据包的接收状态序列中连续未丢包的数据包和连续丢包的数据包的总发送时长;最大流量,所述最大流量为所述序号相关信息中连续未丢包的数据包的总字节数;
当丢包信息为随机丢包时,所述网络约束参数可以包括:将所述数据包的接收状态序列中丢包的数据包总数除以所述数据包的接收状态序列中数据包的总数,得到丢包率。
优选地,所述第一处理器610具体可以用于:当丢包信息为带宽受限时,将所述数据包的接收状态序列中连续未丢包的数据包和连续丢包的数据包的总发送时长,作为所述限制周期;将所述序号相关信息中连续未丢包的数据包的总字节数作为所述最大流量;当丢包信息为随机丢包时,将所述数据包的接收状态序列中丢包的数据包总数除以所述数据包的接收状态序列中数据包的总数,得到所述丢包率。
优选地,所述第一处理器610具体可以用于根据以下公式确定所述网络约束参数:
maxf(x,y)=g(x)+h(y);
s.t.a(x,y)≤P
其中,x表示媒体编码参数,y表示传输参数;g(x)表示媒体编码参数在无损网络下能获得的媒体质量分数;h(y)表示基于所述传输参数对所述媒体质量分数的影响校对;f(x,y)表示所述媒体编码参数和传输参数在实际网络下获得的媒体质量分数;a(x,y)表示媒体编码参数和传输参数对应的网络约束参数,P表示所述丢包信息对应的网络约束参数。
本实施例中,发送设备确定第一RTP媒体流的丢包信息;根据所述丢包信息确定媒体编码参数以及传输参数;所述发送设备根据所述媒体编码参数以及传输参数发送第二RTP媒体流,因此本发明实施例能够针对不同的丢包信息而确定不同的媒体编码参数以及传输参数,从而能够有效缓解发送设备和接收设备之间RTP媒体流的丢包问题,提高RTP媒体流的传输效率。
参见图7,为本发明RTP媒体流的接收设备结构示意图,该接收设备700可以包括:第二处理器710、第二存储器720、第二收发器730和第二总线740;
第二处理器710、第二存储器720、第二收发器730通过第二总线740相互连接;第二总线740可以是ISA总线、PCI总线或EISA总线等。所述第二总线740可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
第二存储器720,用于存放程序,所述程序用于实现图2和图3所示实施例中接收设备执行的RTP媒体流传输方法。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。第二存储器720可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。
第二收发器730用于连接其他设备,如发送设备、服务器和远端主机等,并与其他设备进行通信。具体的,第二收发器730用于接收发送设备发送的第一RTP媒体流;向所述发送设备发送序号相关信息,以便所述发送设备根据所述序号相关信息、在所述反馈周期内实际发送的第一RTP媒体流中数据包的序号信息确定第一RTP媒体流的丢包信息、根据所述丢包信息确定待发送的第二RTP媒体流的媒体编码参数以及传输参数;接收所述发送设备根据所述媒体编码参数以及传输参数发送的第二RTP媒体流;
所述第二处理器710执行第二存储器720中存储的所述程序代码,用于:根据所述第二收发器730在一个反馈周期内接收到的第一RTP媒体流确定第一RTP媒体流的序号相关信息,所述序号相关信息为所述第二收发器730在一个反馈周期内接收到的第一RTP媒体流中数据包的序号信息。
优选地,所述序号相关信息通过包配列位图实现,所述所述第二处理器710具体可以用于:确定在一个反馈周期内接收到的第一RTP媒体流中数据包的序号信息;根据所述序号信息生成所述包排列位图。
本实施例中,接收设备根据在一个反馈周期内接收到的第一RTP媒体流中数据包的序号信息生成序号相关信息,将所述序号相关信息发送给所述发送设备,以便所述发送设备根据序号相关信息、在所述反馈周期内实际发送的第一RTP媒体流中数据包的序号信息确定RTP媒体流的丢包信息、进而确定媒体编码参数以及传输参数,之后发送设备可以根据确定的所述媒体编码参数以及传输参数进行第二RTP媒体流的发送,因此本发明实施例能够有效缓解发送设备和接收设备之间媒体流的丢包问题,提高RTP媒体流的传输效率。
本发明实施例还提供一种实时传输协议RTP媒体流的传输***,参见图8所示,该***800包括发送设备810和接收设备820,其中,
所述发送设备810,用于向接收设备820发送第一RTP媒体流,接收所述接收设备820发送的序号相关信息,所述序号相关信息为所述接收设备820在一个反馈周期内接收到的所述第一RTP媒体流中数据包的序号信息,根据所述序号相关信息、在所述反馈周期内实际发送的所述第一RTP媒体流中数据包的序号信息确定第一RTP媒体流的丢包信息,根据所述丢包信息确定待发送的第二RTP媒体流的媒体编码参数以及传输参数,并向所述接收设备发送所述第二RTP媒体流;
所述接收设备820,用于接收发送设备810发送的第一RTP媒体流,确定第一RTP媒体流的序号相关信息,所述序号相关信息为所述接收设备在一个反馈周期内接收到的第一RTP媒体流中数据包的序号信息,向所述发送设备810发送所述序号相关信息,以便所述发送设备根据所述序号相关信息及在所述反馈周期内实际发送的第一RTP媒体流中数据包的序号信息确定第一RTP媒体流的丢包信息、根据所述丢包信息确定所述发送设备810待发送的第二RTP媒体流的媒体编码参数以及传输参数,接收所述发送设备810根据所述媒体编码参数以及传输参数发送的第二RTP媒体流。
优选地,所述发送设备810具体可以用于通过以下方式实现所述根据所述序号相关信息、在所述反馈周期内实际发送的所述第一RTP媒体流中数据包的序号信息确定第一RTP媒体流的丢包信息:
根据所述序号相关信息以及在所述反馈周期内实际发送的数据包的序号信息确定数据包的接收状态序列,所述数据包的接收状态序列为按照数据包的发送顺序记录的各个数据包是否丢包的序列;
所述发送设备根据丢包的数据包在所述接收状态序列中的位置判断数据包丢包的随机性是否与随机丢包特性匹配;
如果与随机丢包特性匹配,确定RTP媒体流的丢包信息为随机丢包;
如果与随机丢包特性不匹配,确定RTP媒体流的丢包信息为带宽受限。
优选地,所述发送设备810具体可以用于通过以下方式实现所述根据所述丢包信息确定待发送的第二RTP媒体流的媒体编码参数以及传输参数:
根据确定的丢包信息以及所述数据包的接收状态序列确定丢包信息对应的网络约束参数;
根据所述丢包信息以及所述网络约束参数确定待发送的第二RTP媒体流的媒体编码参数以及传输参数;
当丢包信息为带宽受限时,所述网络约束参数包括:限制周期,所述限制周期为所述数据包的接收状态序列中连续未丢包的数据包和连续丢包的数据包的总发送时长;最大流量,所述最大流量为所述序号相关信息中连续未丢包的数据包的总字节数;
当丢包信息为随机丢包时,所述网络约束参数包括:丢包率,所述丢包率为所述数据包的接收状态序列中丢包的数据包总数除以所述数据包的接收状态序列中数据包的总数。
本实施例中,接收设备根据在一个反馈周期内接收到的第一RTP媒体流中数据包的序号信息生成序号相关信息,将所述序号相关信息发送给所述发送设备,以便所述发送设备根据序号相关信息、在所述反馈周期内实际发送的第一RTP媒体流中数据包的序号信息确定RTP媒体流的丢包信息、进而确定媒体编码参数以及传输参数,之后发送设备可以根据确定的所述媒体编码参数以及传输参数进行第二RTP媒体流的发送,因此本发明实施例能够有效缓解发送设备和接收设备之间媒体流的丢包问题,提高RTP媒体流的传输效率。
本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于***实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述的本发明实施方式,并不构成对本发明保护范围的限定。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (12)
1.一种实时传输协议RTP媒体流的传输方法,其特征在于,包括:
发送设备向接收设备发送第一RTP媒体流;
接收所述接收设备发送的序号相关信息,所述序号相关信息为所述接收设备在一个反馈周期内接收到的所述第一RTP媒体流中数据包的序号信息;
根据所述序号相关信息、在所述反馈周期内实际发送的所述第一RTP媒体流中数据包的序号信息确定第一RTP媒体流的丢包信息,包括:
根据所述序号相关信息以及在所述反馈周期内实际发送的数据包的序号信息确定数据包的接收状态序列,所述数据包的接收状态序列为按照数据包的发送顺序记录的各个数据包是否丢包的序列;
所述发送设备根据丢包的数据包在所述接收状态序列中的位置判断数据包丢包的随机性是否与随机丢包特性匹配;
如果与随机丢包特性匹配,确定RTP媒体流的丢包信息为随机丢包;
如果与随机丢包特性不匹配,确定RTP媒体流的丢包信息为带宽受限;
根据所述丢包信息确定待发送的第二RTP媒体流的媒体编码参数以及传输参数,并向所述接收设备发送所述第二RTP媒体流。
2.根据权利要求1所述的方法,其特征在于,所述根据所述丢包信息确定待发送的第二RTP媒体流的媒体编码参数以及传输参数,包括:
根据确定的丢包信息以及所述数据包的接收状态序列确定丢包信息对应的网络约束参数;
根据所述丢包信息以及所述网络约束参数确定待发送的第二RTP媒体流的媒体编码参数以及传输参数;
当丢包信息为带宽受限时,所述网络约束参数包括:限制周期,所述限制周期为所述数据包的接收状态序列中连续未丢包的数据包和连续丢包的数据包的总发送时长;最大流量,所述最大流量为所述序号相关信息中连续未丢包的数据包的总字节数;
当丢包信息为随机丢包时,所述网络约束参数包括:丢包率,所述丢包率为所述数据包的接收状态序列中丢包的数据包总数除以所述数据包的接收状态序列中数据包的总数。
3.根据权利要求2所述的方法,其特征在于,所述根据所述丢包信息以及所述网络约束参数确定待发送的第二RTP媒体流的媒体编码参数以及传输参数,包括:
根据以下公式确定所述媒体编码参数以及传输参数:
maxf(x,y)=g(x)+h(y);
s.t.a(x,y)≤P
其中,x表示媒体编码参数,y表示传输参数;g(x)表示媒体编码参数在无损网络下能获得的媒体质量分数;h(y)表示基于所述传输参数对所述媒体质量分数的影响校对;f(x,y)表示所述媒体编码参数和传输参数在实际网络下获得的媒体质量分数;a(x,y)表示媒体编码参数和传输参数对应的网络约束参数,P表示所述丢包信息对应的网络约束参数。
4.一种实时传输协议RTP媒体流的传输方法,其特征在于,包括:
接收设备接收发送设备发送的第一RTP媒体流;
确定第一RTP媒体流的序号相关信息,所述序号相关信息为所述接收设备在一个反馈周期内接收到的第一RTP媒体流中数据包的序号信息;
向所述发送设备发送所述序号相关信息,以便所述发送设备根据所述序号相关信息及在所述反馈周期内实际发送的第一RTP媒体流中数据包的序号信息确定第一RTP媒体流的丢包信息、根据所述序号相关信息以及在所述反馈周期内实际发送的数据包的序号信息确定按照数据包的发送顺序记录的各个数据包是否丢包的序列、根据丢包的数据包在所述接收状态序列中的位置判断数据包丢包的随机性是否与随机丢包特性匹配、根据与随机丢包特性匹配确定RTP媒体流的丢包信息为随机丢包、根据与随机丢包特性不匹配确定RTP媒体流的丢包信息为带宽受限、根据所述丢包信息确定所述发送设备待发送的第二RTP媒体流的媒体编码参数以及传输参数;
接收所述发送设备根据所述媒体编码参数以及传输参数发送的第二RTP媒体流。
5.根据权利要求4所述的方法,其特征在于,所述序号相关信息通过包排列位图实现,所述确定第一RTP媒体流的序号相关信息包括:
确定在一个反馈周期内接收到的第一RTP媒体流中数据包的序号信息;
根据所述序号信息生成所述包排列位图。
6.一种实时传输协议RTP媒体流的传输装置,其特征在于,包括:
第一发送单元,用于向接收设备发送第一RTP媒体流;
第一接收单元,用于接收所述接收设备发送的序号相关信息,所述序号相关信息为所述接收设备在一个反馈周期内接收到的第一RTP媒体流中数据包的序号信息;
丢包信息确定单元,用于根据所述第一接收单元接收到的所述序号相关信息、在所述反馈周期内所述第一发送单元实际发送的第一RTP媒体流中数据包的序号信息确定第一RTP媒体流的丢包信息;
所述丢包信息确定单元包括:
序列确定子单元,用于根据所述序号相关信息以及在所述反馈周期内实际发送的数据包的序号信息确定数据包的接收状态序列,所述数据包的接收状态序列为按照数据包的发送顺序记录的各个数据包是否丢包的序列;
原因确定子单元,用于根据丢包的数据包在所述序列确定子单元确定的所述数据包的接收状态序列中的位置判断数据包丢包的随机性是否与随机丢包特性匹配,如果与随机丢包特性匹配,则确定媒体流的丢包信息为随机丢包;否则,确定媒体流的丢包信息为带宽受限;
参数确定单元,用于根据所述丢包信息确定待发送的第二RTP媒体流的媒体编码参数以及传输参数;
所述第一发送单元还用于:发送所述第二RTP媒体流。
7.根据权利要求6所述的装置,其特征在于,所述参数确定单元包括:
第一参数确定子单元,用于根据确定的丢包信息以及所述数据包的接收状态序列确定丢包信息对应的网络约束参数;
第二参数确定子单元,用于根据所述丢包信息以及所述第一参数确定子单元确定的所述网络约束参数确定待发送的第二RTP媒体流的媒体编码参数以及传输参数;
当丢包信息为带宽受限时,所述网络约束参数包括:限制周期,所述限制周期为所述数据包的接收状态序列中连续未丢包的数据包和连续丢包的数据包的总发送时长;最大流量,所述最大流量为所述序号相关信息中连续未丢包的数据包的总字节数;
当丢包信息为随机丢包时,所述网络约束参数包括:丢包率,所述丢包率为所述数据包的接收状态序列中丢包的数据包总数除以所述数据包的接收状态序列中数据包的总数。
8.根据权利要求7所述的装置,其特征在于,第二参数确定子单元具体用于:
根据以下公式确定所述媒体编码参数以及传输参数:
maxf(x,y)=g(x)+h(y);
s.t.a(x,y)≤P
其中,x表示媒体编码参数,y表示传输参数;g(x)表示媒体编码参数在无损网络下能获得的媒体质量分数;h(y)表示基于所述传输参数对所述媒体质量分数的影响校对;f(x,y)表示所述媒体编码参数和传输参数在实际网络下获得的媒体质量分数;a(x,y)表示媒体编码参数和传输参数对应的网络约束参数,P表示所述丢包信息对应的网络约束参数。
9.一种实时传输协议RTP媒体流的传输装置,其特征在于,包括:
第二接收单元,用于接收发送设备发送的第一RTP媒体流;
信息确定单元,用于确定所述第二接收单元接收的第一RTP媒体流的序号相关信息,所述序号相关信息为所述第二接收单元在一个反馈周期内接收到的第一RTP媒体流中数据包的序号信息;
第二发送单元,用于向所述发送设备发送所述信息确定单元确定的所述序号相关信息,以便所述发送设备根据所述序号相关信息及在所述反馈周期内实际发送的第一RTP媒体流中数据包的序号信息确定第一RTP媒体流的丢包信息、根据所述序号相关信息以及在所述反馈周期内实际发送的数据包的序号信息确定按照数据包的发送顺序记录的各个数据包是否丢包的序列、根据丢包的数据包在所述接收状态序列中的位置判断数据包丢包的随机性是否与随机丢包特性匹配、根据与随机丢包特性匹配确定RTP媒体流的丢包信息为随机丢包、根据与随机丢包特性不匹配确定RTP媒体流的丢包信息为带宽受限、根据所述丢包信息确定所述发送设备待发送的第二RTP媒体流的媒体编码参数以及传输参数;
所述第二接收单元还用于:接收所述发送设备根据所述媒体编码参数以及传输参数发送的第二RTP媒体流。
10.根据权利要求9所述的装置,其特征在于,所述序号相关信息通过包排列位图实现,所述信息确定单元具体用于:
确定在一个反馈周期内接收到的第一RTP媒体流中数据包的序号信息;
根据所述序号信息生成所述包排列位图。
11.一种实时传输协议RTP媒体流的传输***,其特征在于,包括发送设备和接收设备,其中,
所述发送设备,用于向接收设备发送第一RTP媒体流,接收所述接收设备发送的序号相关信息,所述序号相关信息为所述接收设备在一个反馈周期内接收到的所述第一RTP媒体流中数据包的序号信息,根据所述序号相关信息、在所述反馈周期内实际发送的所述第一RTP媒体流中数据包的序号信息确定第一RTP媒体流的丢包信息,根据所述丢包信息确定待发送的第二RTP媒体流的媒体编码参数以及传输参数,并向所述接收设备发送所述第二RTP媒体流;
所述发送设备具体用于通过以下方式实现所述根据所述序号相关信息、在所述反馈周期内实际发送的所述第一RTP媒体流中数据包的序号信息确定第一RTP媒体流的丢包信息:
根据所述序号相关信息以及在所述反馈周期内实际发送的数据包的序号信息确定数据包的接收状态序列,所述数据包的接收状态序列为按照数据包的发送顺序记录的各个数据包是否丢包的序列;
所述发送设备根据丢包的数据包在所述接收状态序列中的位置判断数据包丢包的随机性是否与随机丢包特性匹配;
如果与随机丢包特性匹配,确定RTP媒体流的丢包信息为随机丢包;
如果与随机丢包特性不匹配,确定RTP媒体流的丢包信息为带宽受限;
所述接收设备,用于接收发送设备发送的第一RTP媒体流,确定第一RTP媒体流的序号相关信息,所述序号相关信息为所述接收设备在一个反馈周期内接收到的第一RTP媒体流中数据包的序号信息,向所述发送设备发送所述序号相关信息,以便所述发送设备根据所述序号相关信息及在所述反馈周期内实际发送的第一RTP媒体流中数据包的序号信息确定第一RTP媒体流的丢包信息、根据所述丢包信息确定所述发送设备待发送的第二RTP媒体流的媒体编码参数以及传输参数,接收所述发送设备根据所述媒体编码参数以及传输参数发送的第二RTP媒体流。
12.根据权利要求11所述的***,其特征在于,所述发送设备具体用于通过以下方式实现所述根据所述丢包信息确定待发送的第二RTP媒体流的媒体编码参数以及传输参数:
根据确定的丢包信息以及所述数据包的接收状态序列确定丢包信息对应的网络约束参数;
根据所述丢包信息以及所述网络约束参数确定待发送的第二RTP媒体流的媒体编码参数以及传输参数;
当丢包信息为带宽受限时,所述网络约束参数包括:限制周期,所述限制周期为所述数据包的接收状态序列中连续未丢包的数据包和连续丢包的数据包的总发送时长;最大流量,所述最大流量为所述序号相关信息中连续未丢包的数据包的总字节数;
当丢包信息为随机丢包时,所述网络约束参数包括:丢包率,所述丢包率为所述数据包的接收状态序列中丢包的数据包总数除以所述数据包的接收状态序列中数据包的总数。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310101268.XA CN103167359B (zh) | 2013-03-27 | 2013-03-27 | Rtp媒体流的传输方法及装置 |
PCT/CN2013/084907 WO2014153944A1 (zh) | 2013-03-27 | 2013-10-09 | Rtp媒体流的传输方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310101268.XA CN103167359B (zh) | 2013-03-27 | 2013-03-27 | Rtp媒体流的传输方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103167359A CN103167359A (zh) | 2013-06-19 |
CN103167359B true CN103167359B (zh) | 2016-03-02 |
Family
ID=48590045
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310101268.XA Active CN103167359B (zh) | 2013-03-27 | 2013-03-27 | Rtp媒体流的传输方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN103167359B (zh) |
WO (1) | WO2014153944A1 (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103167359B (zh) * | 2013-03-27 | 2016-03-02 | 华为技术有限公司 | Rtp媒体流的传输方法及装置 |
CN104283850B (zh) * | 2013-07-05 | 2017-06-20 | ***通信集团浙江有限公司 | 一种网络内部媒体流完整性判断方法及*** |
CN105227552A (zh) * | 2015-09-25 | 2016-01-06 | 重庆邮电大学 | 一种td-lte应急终端语音业务质量保障方法 |
US10516892B2 (en) | 2015-09-28 | 2019-12-24 | Cybrook Inc. | Initial bandwidth estimation for real-time video transmission |
US10756997B2 (en) | 2015-09-28 | 2020-08-25 | Cybrook Inc. | Bandwidth adjustment for real-time video transmission |
US10506257B2 (en) | 2015-09-28 | 2019-12-10 | Cybrook Inc. | Method and system of video processing with back channel message management |
CN106101702B (zh) * | 2015-12-29 | 2019-08-09 | 苏州踪视通信息技术有限公司 | 带反向信道消息管理的视频编码及解码 |
CN108632681B (zh) * | 2017-03-21 | 2020-04-03 | 华为技术有限公司 | 播放媒体流的方法、服务器及终端 |
CN111245665B (zh) * | 2018-11-28 | 2021-10-29 | ***通信集团山东有限公司 | 一种基于rtp的语音感知评估方法 |
CN112019307B (zh) * | 2019-05-30 | 2023-05-30 | 广州云积软件技术有限公司 | 一种国家教育考试网上巡查***的数据处理方法和装置 |
CN110213623B (zh) * | 2019-06-03 | 2021-08-06 | 上海哔哩哔哩科技有限公司 | 视频上传方法、视频上传装置及计算机可读存储介质 |
CN114070459B (zh) * | 2020-08-04 | 2023-11-07 | 成都鼎桥通信技术有限公司 | 数据传输方法、装置、终端设备和存储介质 |
CN113473111A (zh) * | 2021-05-29 | 2021-10-01 | 江苏网进科技股份有限公司 | 一种基于rtsp协议检测视频卡顿现象的方法 |
CN116781975B (zh) * | 2023-08-17 | 2024-02-06 | 中仪英斯泰克科技有限公司 | 一种媒体流检测方法、装置、终端设备和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1640076A (zh) * | 2002-03-06 | 2005-07-13 | 惠普公司 | 媒体流式传输分发*** |
CN101030832A (zh) * | 2006-03-03 | 2007-09-05 | 华为技术有限公司 | 实现实时传输协议报文冗余机制的方法及其*** |
CN101150763A (zh) * | 2007-10-18 | 2008-03-26 | 中兴通讯股份有限公司 | 一种测试WiMAX网络实时传输业务性能的终端和方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103167359B (zh) * | 2013-03-27 | 2016-03-02 | 华为技术有限公司 | Rtp媒体流的传输方法及装置 |
-
2013
- 2013-03-27 CN CN201310101268.XA patent/CN103167359B/zh active Active
- 2013-10-09 WO PCT/CN2013/084907 patent/WO2014153944A1/zh active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1640076A (zh) * | 2002-03-06 | 2005-07-13 | 惠普公司 | 媒体流式传输分发*** |
CN101030832A (zh) * | 2006-03-03 | 2007-09-05 | 华为技术有限公司 | 实现实时传输协议报文冗余机制的方法及其*** |
CN101150763A (zh) * | 2007-10-18 | 2008-03-26 | 中兴通讯股份有限公司 | 一种测试WiMAX网络实时传输业务性能的终端和方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2014153944A1 (zh) | 2014-10-02 |
CN103167359A (zh) | 2013-06-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103167359B (zh) | Rtp媒体流的传输方法及装置 | |
US7698618B2 (en) | Method and system for correcting burst errors in communications networks, related network and computer-program product | |
US7295520B2 (en) | System and method of network adaptive real-time multimedia streaming | |
US10805196B2 (en) | Packet loss and bandwidth coordination | |
US10084715B2 (en) | Packet loss mitigation | |
CN105357592A (zh) | 一种流媒体自适应传输选择性丢帧方法 | |
CN103533451A (zh) | 抖动缓存调节方法及其*** | |
CN1518283A (zh) | 用于流式数据的反应性带宽控制 | |
RU2009134145A (ru) | Снижение влияния от потерь пакетов в передачах видео | |
WO2016045332A1 (zh) | 编码参数的调整、反馈信息的处理方法及装置 | |
CN101909060A (zh) | 一种适用于移动视频实时流媒体传输的Qos控制方法 | |
JP2012517130A5 (zh) | ||
US8873590B2 (en) | Apparatus and method for correcting jitter | |
US11057299B2 (en) | Real-time video transmission method for multipath network | |
CN101854224B (zh) | 纠错编码方法、装置和***以及转发控制方法和装置 | |
CN104754339B (zh) | I帧调整方法、装置及*** | |
WO2020220756A1 (zh) | 一种配网方法和装置 | |
CN111385055B (zh) | 一种数据传输方法和装置 | |
US9866350B2 (en) | Streaming media packet processing method, WiFi chip, and mobile terminal | |
CN114401253B (zh) | 一种基于WebRTC的模拟网络中视频传输方法 | |
TWI748839B (zh) | 具有資料重用機制的資料傳輸方法及裝置 | |
CN113507467B (zh) | 一种基于区块链的隐蔽信息传输***及方法 | |
US20180159773A1 (en) | Packet transmissions | |
WO2021164405A1 (zh) | 数据编解码方法、相关设备及*** | |
CN103906140B (zh) | 一种数据传输动态调整方法及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |