CN105490773B - 传输多媒体数据的方法和装置 - Google Patents
传输多媒体数据的方法和装置 Download PDFInfo
- Publication number
- CN105490773B CN105490773B CN201510834835.1A CN201510834835A CN105490773B CN 105490773 B CN105490773 B CN 105490773B CN 201510834835 A CN201510834835 A CN 201510834835A CN 105490773 B CN105490773 B CN 105490773B
- Authority
- CN
- China
- Prior art keywords
- data packet
- retransmitted
- packet
- time
- receiving end
- 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
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0078—Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
- H04L1/0079—Formats for control data
-
- 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/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1829—Arrangements specially adapted for the receiver end
- H04L1/1848—Time-out mechanisms
Abstract
本发明公开了一种传输多媒体数据的方法和装置,属于多媒体技术领域。方法包括:向接收端发送多媒体数据包,将所述多媒体数据包添加到数据包集合中;如果所述数据包集合中存在多个待重传的数据包,将所述多个待重传的数据包生成前向纠错FEC冗余包,向所述接收端发送所述FEC冗余包;在所述数据包集合中包括的待重传的数据包的超时重传时间到达时,如果所述待重传的数据包传输失败,向所述接收端重新发送所述待重传的数据包。装置包括:第一传输模块,第一添加模块,第一传输模块和第二传输模块。本发明在节省网络带宽和减少网络时延两者之间可以取得一个比较好的平衡。
Description
技术领域
本发明涉及多媒体技术领域,特别涉及一种传输多媒体数据的方法和装置。
背景技术
随着终端技术以及多媒体技术的发展,终端不仅具有语音通话功能,还具有视频通话功能,两个用户之间可以通过终端进行视频通话,此时两个终端之间就需要传输多媒体数据。
为了便于描述,将进行视频通话的两个终端分别称为第一终端和第二终端,并且以第一终端向第二终端传输多媒体数据为例进行说明,则第一终端向第二终端传输多媒体数据的过程可以为:
第一终端将多媒体数据分为多个多媒体数据包,每隔预设传输间隔向第二终端发送一个多媒体数据包,获取重传时间间隔,并根据该重传时间间隔和当前时间,获取该多媒体数据包的超时重传时间;如果在到达该多媒体数据包的超时重传时间之前没有接收到第二终端发送的ACK(Acknowledgement,即确认字符),第一终端确定该多媒体数据包传输失败,此时重新向第二终端发送该多媒体数据包。
除了上述这种超时重发的传输机制之外,还存在一种FEC(Forward ErrorCorrection,前向纠错)传输机制,即第一终端每向第二终端发送出去若干个(设为m个)多媒体数据包,则第一终端根据这m个多媒体数据包来生成若干个(设为n个)FEC冗余包,并向第二终端发送这n个FEC冗余包。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
如果采用超时重传的传输机制,则当重传时间间隔较长,则重传的多媒体数据包的网络延时较大,无法保证重传的多媒体数据包的实时性。如果采用FEC的传输机制且重传时间间隔较短,则浪费网络带宽。
发明内容
为了解决现有技术的问题,本发明提供了一种传输多媒体数据的方法和装置。技术方案如下:
一种传输多媒体数据的方法,所述方法包括:
向接收端发送多媒体数据包,将所述多媒体数据包添加到数据包集合中;
如果所述数据包集合中存在多个待重传的数据包,将所述多个待重传的数据包生成前向纠错FEC冗余包,向所述接收端发送所述FEC冗余包;
在所述数据包集合中包括的待重传的数据包的超时重传时间到达时,如果所述待重传的数据包传输失败,向所述接收端重新发送所述待重传的数据包。
可选的,所述向接收端发送多媒体数据包,将所述多媒体数据包添加到数据包集合中之前,还包括:
根据所述接收端的时延要求,确定生成FEC冗余包所需待重传的数据包的第一数目;
相应的,所述如果所述数据包集合中存在多个待重传的数据包,将所述多个待重传的数据包生成前向纠错FEC冗余包,包括:
如果所述数据包集合中存在大于或者等于第一数目个待重传的数据包,从所述数据包集合中选择第一数目个待重传的数据包,将所述选择的第一数目个待重传的数据包生成FEC包。
可选的,所述从所述数据包集合中选择第一数目个待重传的数据包,包括:
获取所述数据包集合中包括的每个待重传的数据包的发送时间;
根据所述每个待重传的数据包的发送时间,从所述数据包集合中选择第一数目个离当前时间最远的发送时间对应的多媒体数据包。
可选的,所述方法还包括:
获取当前时间和超时重传时间间隔,并根据所述当前时间和所述超时重传时间间隔,计算第一时间;
将所述多个待重传的数据包中的每个待重传的数据包的超时重传时间修改为所述第一时间。
可选的,所述方法还包括:
将所述多个待重传的数据包从所述数据包集合中删除,并将所述FEC冗余包添加到所述数据包集合中。
一种传输多媒体数据的装置,所述装置包括:
第一传输模块,用于向接收端发送多媒体数据包;
第一添加模块,用于将所述多媒体数据包添加到数据包集合中;
第二传输模块,用于如果所述数据包集合中存在多个待重传的数据包,将所述多个待重传的数据包生成前向纠错FEC冗余包,向所述接收端发送所述FEC冗余包;
第三传输模块,用于在所述数据包集合中包括的待重传的数据包的超时重传时间到达时,如果所述待重传的数据包传输失败,向所述接收端重新发送所述待重传的数据包。
可选的,所述装置还包括:
确定模块,用于根据所述接收端的时延要求,确定生成FEC冗余包所需待重传的数据包的第一数目;
相应的,所述第二传输模块,包括:
选择单元,用于如果所述数据包集合中存在大于或者等于第一数目个待重传的数据包,从所述数据包集合中选择第一数目个待重传的数据包;
生成单元,用于将所述选择的第一数目个待重传的数据包生成FEC包。
可选的,所述选择单元,包括:
获取子单元,用于获取所述数据包集合中包括的每个待重传的数据包的发送时间;
选择子单元,用于根据所述每个待重传的数据包的发送时间,从所述数据包集合中选择第一数目个离当前时间最远的发送时间对应的多媒体数据包。
可选的,所述装置还包括:
获取模块,用于获取当前时间和超时重传时间间隔;
计算模块,用于根据所述当前时间和所述超时重传时间间隔,计算第一时间;
修改模块,用于将所述多个待重传的数据包中的每个待重传的数据包的超时重传时间修改为所述第一时间。
可选的,所述装置还包括:
删除模块,用于将所述多个待重传的数据包从所述数据包集合中删除;
第二添加模块,用于将所述FEC冗余包添加到所述数据包集合中。
在本发明实施例中,向接收端发送多媒体数据包时,确定数据包集合中是否存在多个待重传的数据包,如果数据包集合中存在多个待重传的数据包,将多个待重传的数据包生成前向纠错FEC冗余包,向接收端发送该FEC冗余包,从而能将传输失败的数据包通过FEC冗余包补偿回来;从而避免了在延迟较大的通信链路上,通过超时重发而导致的数据包到达不及时的问题。在数据包集合中的待重传的数据包的超时重传时间到达时且该待重传的数据包传输失败,向接收端重新发送该待重传的数据包,从而对于延时较小的通信链路,通过快速的超时重传就将丢失的包补偿回来,避免了采用FEC而带来的额外的网络带宽消耗。
附图说明
图1是本发明实施例1提供的一种传输多媒体数据的方法流程图;
图2是本发明实施例2提供的一种传输多媒体数据的方法流程图;
图3-1是本发明实施例3提供的一种传输多媒体数据的装置结构示意图;
图3-2是本发明实施例3提供的另一种传输多媒体数据的装置结构示意图;
图3-3是本发明实施例3提供的一种第二传输模块的装置结构示意图;
图3-4是本发明实施例3提供的一种选择单元的装置结构示意图;
图3-5是本发明实施例3提供的另一种传输多媒体数据的装置结构示意图;
图3-6是本发明实施例3提供的另一种传输多媒体数据的装置结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
实施例1
本发明实施例提供了一种传输多媒体数据的方法,该方法的执行主体为发送端,发送端可以为终端,也可以为服务器;参见图1,其中,该方法包括:
步骤101:向接收端发送多媒体数据包,将该多媒体数据包添加到数据包集合中。
步骤102:如果数据包集合中存在多个待重传的数据包,将多个待重传的数据包生成前向纠错FEC冗余包,向接收端发送该FEC冗余包。
本步骤之前,结合网络带宽和接收端的网络时延综合考虑,当存在一定数目个待重传的数据包时,才生成FEC(ForwardErrorCorrection,前向纠错)冗余包,则本步骤之前,还包括:
根据接收端的时延要求,确定生成FEC冗余包所需待重传的数据包的第一数目。
相应的,本步骤可以为:
如果数据包集合中存在大于或等于第一数目个待重传的数据包,从数据包集合中选择第一数目个待重传的数据包,将选择的第一数目个待重传的数据包生成FEC包,向接收端发送该FEC冗余包。
从数据包集合中选择该第一数目个待重传的数据包的步骤可以为:
获取数据包集合中包括的每个待重传的数据包的发送时间;根据每个待重传的数据包的发送时间,从数据包集合中选择第一数目个离当前时间最远的发送时间对应的多媒体数据包。或者,
获取数据包集合中包括的每个待重传的数据包的超时重传时间;根据每个待重传的数据包的超时重传时间,从数据包集合中选择第一数目个离当前时间最近的超时重传时间对应的多媒体数据包。
进一步地,将该多个待重传的数据包生成FEC冗余包之后,将多个待重传的数据包从数据包集合中删除,并将该FEC冗余包添加到数据包集合中。
进一步地,发送端将多个待重传的数据包生成FEC冗余包之后,需要修改多个待重传的多媒体中的每个数据包的超时重传时间,具体可以为:
获取当前时间和超时重传时间间隔,并根据当前时间和超时重传时间间隔,计算第一时间;将多个待重传的数据包中的每个待重传的数据包的超时重传时间修改为第一时间。
步骤103:在数据包集合中包括的待重传的数据包的超时重传时间到达时,如果该待重传的数据包传输失败,向接收端重新发送该待重传的数据包。
对于数据包集合中的任一待重传的数据包,待重传的数据包可以为多媒体数据包,也可以为FEC冗余包,如果该待重传的数据包的超时重传时间到达时且该待重传的数据包失败,向接收端重新发送该待重传的数据包。
进一步地,发送端向接收端重新发送该待重传的数据包之后,重新设置该待重传的数据包的超时重传时间,在该待重传的数据包的超时重传时间到达之前,如果没有接收到接收端发送的携带该多媒体数据包的ACK消息,确定该多媒体数据包传输失败,再次向接收端发送该待重传的数据包。
在本发明实施例中,向接收端发送多媒体数据包时,确定数据包集合中是否存在多个待重传的数据包,如果数据包集合中存在多个待重传的数据包,将多个待重传的数据包生成前向纠错FEC冗余包,向接收端发送该FEC冗余包,从而能将传输失败的数据包通过FEC冗余包补偿回来;从而避免了在延迟较大的通信链路上,通过超时重发而导致的数据包到达不及时的问题。在数据包集合中的待重传的数据包的超时重传时间到达时且该待重传的数据包传输失败,向接收端重新发送该待重传的数据包,从而对于延时较小的通信链路,通过快速的超时重传就将丢失的包补偿回来,避免了采用FEC而带来的额外的网络带宽消耗。
实施例2
本发明实施例提供了一种传输多媒体数据的方法,该方法的执行主体为发送端,发送端可以为终端,也可以为服务器;参见图2,其中,该方法包括:
步骤201:向接收端发送多媒体数据包,将该多媒体数据包添加到数据包集合中。
如果接收端成功接收到该多媒体数据包,接收端向发送端发送ACK消息,该ACK消息携带该多媒体数据包的标识,用于表示该多媒体数据包传输成功。发送端接收接收端发送的携带该多媒体数据包的ACK消息,根据该ACK消息,确定该多媒体数据包传输成功。
为了确保接收端接收该多媒体数据包的实时性,发送端向接收端发送该多媒体数据包之后,需要获取该多媒体数据包的超时重传时间,该多媒体数据包的超时重传时间存储在超时重传时间列表中。在到达该多媒体数据包的超时重传时间之前,如果发送端没有接收到接收端发送的携带该多媒体数据包的标识的ACK消息,发送端确定该多媒体数据包传输失败;发送端在到达该多媒体数据包的超时重传时间时,向接收端重新传输该多媒体数据包。
发送端获取该多媒体数据包的超时重传时间的步骤可以为:
发送端获取当前时间和超时重传时间间隔,根据该当前时间和该超时重传时间间隔,确定该多媒体数据包的超时重传时间。
如果发送端在该多媒体数据包的超时重传时间到达前,接收到接收端发送的携带该多媒体数据包的ACK消息,确定该多媒体数据包传输成功,将该多媒体数据包从数据包集合中删除。
进一步地,发送端向接收端发送该多媒体数据包时,获取当前时间,将当前时间作为发送该多媒体数据包的发送时间,并将该多媒体数据包的发送时间存储在发送时间列表中。
进一步地,如果发送端确定该多媒体数据包传输成功,发送端将该多媒体数据包的发送时间从发送时间列表中删除,将该多媒体数据包的超时重传时间从超时重传时间列表中删除。
需要说明的是,接收端可以为服务器,也可以为终端;多媒体数据包的标识可以为多媒体数据包的包名或者序列号等。
步骤202:确定数据包集合中是否存在多个待重传的数据包;如果存在,执行步骤203;如果不存在,继续等待直到该超时重传时间到达时,执行步骤207。
在本步骤中,发送端可以实时确定数据包集合中是否存在多个待重传的数据包,如果存在,执行步骤203;如果不存在,继续等待直到该数据包集合中的待重传的数据包的超时重传时间到达时,执行步骤207。
然而为了节省发送端的功耗,在本步骤中,发送端可以不实时确定数据包集合中是否存在多个待重传的数据包,而只在向接收端发送该多媒体数据包,确定数据包集合中是否存在多个待重传的数据包。
进一步地,发送端也可以在向接收段发送该多媒体数据包时,结合网络带宽和接收端的网络时延综合进行考虑,当存在一定数目个待重传的数据包时,才生成FEC冗余包,则本步骤之前,还包括:
根据接收端的时延要求,确定生成FEC冗余包所需待重传的数据包的第一数目。
具体地,获取发送端向接收端发送多媒体数据包的预设传输间隔,计算该时延要求的延时时长与该预设传输间隔的比值,如果该比值为整数,将该比值确定为第一数目;如果该比值不为整数,将该比值向下取整得到第一数目。
需要说明的是,第一数目也可以简单地通过配置来确定。
相应的,本步骤可以为:
确定数据包集合中是否存在大于或等于第一数目个待重传的数据包;如果数据包集合中存在大于或等于第一数目个待重传的数据包,执行步骤203;如果数据包集合中不存在大于或等于第一数目个待重传的数据包,继续等待直到该数据包集合中的待重传的数据包的超时重传时间到达时,执行步骤207。
需要说明的是,待重传的数据包可以为待重传的多媒体数据包,也可以为待重传的FEC冗余包。
步骤203:如果存在,将多个待重传的数据包生成FEC冗余包,向接收端发送该FEC冗余包。
在本步骤之前,为了提高发送FEC冗余包的可靠性,发送端还可以根据当前网络的丢包率,确定每次生成FEC冗余包的第二数目;相应的,本步骤可以为:
将多个待重传的数据包,生成第二数目个FEC冗余包,向接收端发送该第二数目个FEC冗余包。
进一步地,发送端结合网络带宽和网络时延综合考虑,本步骤可以为:
如果数据包集合中存在大于或等于第一数目个待重传的数据包,从数据包集合中选择第一数目个待重传的数据包,将选择的第一数目个待重传的数据包生成FEC包,向接收端发送该FEC冗余包。
具体地,如果数据包集合中存在大于或等于第一数目个待重传的数据包,从数据包集合中选择第一数目个待重传的数据包,将选择的第一数目个待重传的数据包生成第二数目个FEC冗余包,向接收端发送该第二数目个FEC冗余包。
如果数据包集合中存在第一数目个待重传的数据包,直接从数据包集合中选择该第一数目个待重传的数据包;如果数据包集合中存在大于第一数目个待重传的数据包,为了保证接收端接收多媒体数据包的实时性,从数据包集合中选择该第一数目个待重传的数据包的步骤可以通过以下第一种方式或者第二种方式实现,对于第一种实现方式,本步骤可以通过步骤(1)至(2)实现,包括:
(1):获取数据包集合中包括的每个待重传的数据包的发送时间;
发送时间列表中存储有发送端向接收端发送的所有数据包的发送时间,则在本步骤中,发送端根据数据包集合中包括的每个待重传的数据包,从发送时间列表中获取数据包集合中包括的每个待重传的数据包的发送时间。
(2):根据每个待重传的数据包的发送时间,从数据包集合中选择第一数目个离当前时间最远的发送时间对应的多媒体数据包。
根据每个待重传的数据包的发送时间,按照发送时间由远到近的顺序对每个待重传的数据包进行排序,从排序后的待重传的数据包中选择排列在最前端的第一数目个多媒体数据包。
当然,在本步骤中,也可以根据每个待重传的数据包的发送时间,按照发送时间由近到远的顺序对每个待重传的数据包进行排序,从排序后的待重传的数据包中选择排列在最后端第一数目个多媒体数据包。
对于第二种实现方式,本步骤可以通过步骤(A)至(B)实现,包括:
(A):获取数据包集合中包括的每个待重传的数据包的超时重传时间;
超时重传时间列表中存储有发送端向接收端发送的所有数据包的超时重传时间,则在本步骤中,发送端根据数据包集合中包括的每个待重传的数据包,从超时重传时间列表中获取数据包集合中包括的每个待重传的数据包的超时重传时间。
(B):根据每个待重传的数据包的超时重传时间,从数据包集合中选择第一数目个离当前时间最近的超时重传时间对应的多媒体数据包。
根据每个待重传的数据包的超时重传时间,按照超时重传时间由远到近的顺序对每个待重传的数据包进行排序,从排序后的待重传的数据包中选择排列在最后端的第一数目个多媒体数据包。
当然,在本步骤中,也可以根据每个待重传的数据包的超时重传时间,按照超时重传时间由近到远的顺序对每个待重传的数据包进行排序,从排序后的待重传的数据包中选择排列在最前端的第一数目个多媒体数据包。
步骤204:将多个待重传的数据包从数据包集合中删除,并将该FEC冗余包添加到数据包集合中。
发送端向接收端发送该FEC冗余包之后,获取该FEC冗余包的超时重传时间,如果该FEC冗余包传输成功,将该FEC冗余包从数据包集合中删除;在该FEC冗余包的超时重传时间到达时,如果该FEC冗余包传输失败,向接收端重新发送该FEC冗余包。
进一步地,接收端接收发送端发送的FEC冗余包,恢复该FEC冗余包得到多个多媒体数据包,进行后续处理,如直接将多个多媒体数据包播放给用户等。
由于重新传输了多个待重传的数据包中的每个待重传的数据包,因此,发送端可以通过以下步骤205和206修改每个待重传的数据包的超时重传时间。
在本发明实施例中,在网络时延较低的情况下,如远低于等待第一数目个多媒体数据包以生成FEC冗余包的时间,发送端向接收端重新发送该多媒体数据包,可以保证该传输失败的多媒体数据包能够尽快通过重传来保证数据包的可达性,减少FEC带来的额外的网络带宽消耗。
在网络时延较高的情况下,如远高于等待第一数目个多媒体数据包以生成FEC包的时间,发送端将多个待重传的数据包生成FEC冗余包,从而避免超时重传所带来的数据包的及时性不能得到保证的问题。
步骤205:获取当前时间和超时重传时间间隔,并根据当前时间和超时重传时间间隔,计算第一时间;
发送端确定以当前时间为起点,经过该超时重传时间间隔时的时间点,将该时间点确定为第一时间。
例如,当前时间为10:00:00am,超时重传时间间隔为1s,则第一时间为10:00:01am。
步骤206:将多个待重传的数据包中的每个待重传的数据包的超时重传时间修改为第一时间,结束。
由于发送端在第一次向接收端发送该每个待重传的数据包时,已经设置了该每个多媒体数据包的超时重传时间,而现在发送端又向接收端重新发送该每个多媒体数据包,因此,发送端需要修改每个待重传的数据包的超时重传时间。
步骤207:如果不存在,在数据包集合中的待重传的数据包的超时重传时间到达时且该待重传的数据包传输失败,向接收端重新发送该待重传的数据包。
对于数据包集合中的任一待重传的数据包,待重传的数据包可以为多媒体数据包,也可以为FEC冗余包,如果该待重传的数据包的超时重传时间到达时且该待重传的数据包失败,向接收端重新发送该待重传的数据包。
进一步地,发送端向接收端重新发送该待重传的数据包之后,重新设置该待重传的数据包的超时重传时间,在该待重传的数据包的超时重传时间到达之前,如果没有接收到接收端发送的携带该多媒体数据包的ACK消息,确定该多媒体数据包传输失败,再次向接收端发送该待重传的数据包。
在本发明实施例中,向接收端发送多媒体数据包时,确定数据包集合中是否存在多个待重传的数据包,如果数据包集合中存在多个待重传的数据包,将多个待重传的数据包生成前向纠错FEC冗余包,向接收端发送该FEC冗余包,从而能将传输失败的数据包通过FEC冗余包补偿回来;从而避免了在延迟较大的通信链路上,通过超时重发而导致的数据包到达不及时的问题。在数据包集合中的待重传的数据包的超时重传时间到达时且该待重传的数据包传输失败,向接收端重新发送该待重传的数据包,从而对于延时较小的通信链路,通过快速的超时重传就将丢失的包补偿回来,避免了采用FEC而带来的额外的网络带宽消耗。
实施例3
本发明实施例提供了一种传输多媒体数据的装置,该装置可以用于执行如实施例1和实施例2中的传输多媒体数据的方法。
参见图3-1,其中,该装置包括:
第一传输模块301,用于向接收端发送多媒体数据包;
第一添加模块302,用于将多媒体数据包添加到数据包集合中;
第二传输模块303,用于如果数据包集合中存在多个待重传的数据包,将多个待重传的数据包生成前向纠错FEC冗余包,向接收端发送该FEC冗余包;
第三传输模块304,用于在数据包集合中包括的待重传的数据包的超时重传时间到达时,如果该待重传的数据包传输失败,向接收端重新发送该待重传的数据包。
可选的,参见图3-2,该装置还包括:
确定模块305,用于根据接收端的时延要求,确定生成FEC冗余包所需待重传的数据包的第一数目;
相应的,参见图3-3,第二传输模块303,包括:
选择单元3031,用于如果数据包集合中存在大于或者等于第一数目个待重传的数据包,从数据包集合中选择第一数目个待重传的数据包;
生成单元3032,用于将选择的第一数目个待重传的数据包生成FEC包。
可选的,参见图3-4,选择单元3031,包括:
获取子单元30311,用于获取数据包集合中包括的每个待重传的数据包的发送时间;
选择子单元30312,用于根据每个待重传的数据包的发送时间,从数据包集合中选择第一数目个离当前时间最远的发送时间对应的多媒体数据包。
可选的,参见图3-5,该装置还包括:
获取模块306,用于获取当前时间和超时重传时间间隔;
计算模块307,用于根据当前时间和超时重传时间间隔,计算第一时间;
修改模块308,用于将多个待重传的数据包中的每个待重传的数据包的超时重传时间修改为第一时间。
可选的,参见图3-6,该装置还包括:
删除模块309,用于将多个待重传的数据包从数据包集合中删除;
第二添加模块310,用于将该FEC冗余包添加到数据包集合中。
在本发明实施例中,向接收端发送多媒体数据包时,确定数据包集合中是否存在多个待重传的数据包,如果数据包集合中存在多个待重传的数据包,将多个待重传的数据包生成前向纠错FEC冗余包,向接收端发送该FEC冗余包,从而能将传输失败的数据包通过FEC冗余包补偿回来;从而避免了在延迟较大的通信链路上,通过超时重发而导致的数据包到达不及时的问题。在数据包集合中的待重传的数据包的超时重传时间到达时且该待重传的数据包传输失败,向接收端重新发送该待重传的数据包,从而对于延时较小的通信链路,通过快速的超时重传就将丢失的包补偿回来,避免了采用FEC而带来的额外的网络带宽消耗。
需要说明的是:上述实施例提供的传输多媒体数据的装置在传输多媒体数据时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的传输多媒体数据的装置与传输多媒体数据的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.一种传输多媒体数据的方法,其特征在于,所述方法包括:
根据接收端的时延要求,确定生成FEC冗余包所需待重传的数据包的第一数目;
向接收端发送多媒体数据包,将所述多媒体数据包添加到数据包集合中;
如果所述数据包集合中存在多个待重传的数据包,将所述多个待重传的数据包生成前向纠错FEC冗余包,向所述接收端发送所述FEC冗余包;
在所述数据包集合中包括的待重传的数据包的超时重传时间到达时,如果所述待重传的数据包传输失败,向所述接收端重新发送所述待重传的数据包;
所述如果所述数据包集合中存在多个待重传的数据包,将所述多个待重传的数据包生成前向纠错FEC冗余包,包括:
如果所述数据包集合中存在大于或者等于第一数目个待重传的数据包,从所述数据包集合中选择第一数目个待重传的数据包,将所述选择的第一数目个待重传的数据包生成FEC包;
所述从所述数据包集合中选择第一数目个待重传的数据包,包括:
获取所述数据包集合中包括的每个待重传的数据包的发送时间;
根据所述每个待重传的数据包的发送时间,从所述数据包集合中选择第一数目个离当前时间最远的发送时间对应的多媒体数据包。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
获取当前时间和超时重传时间间隔,并根据所述当前时间和所述超时重传时间间隔,计算第一时间;
将所述多个待重传的数据包中的每个待重传的数据包的超时重传时间修改为所述第一时间。
3.如权利要求1所述的方法,其特征在于,所述方法还包括:
将所述多个待重传的数据包从所述数据包集合中删除,并将所述FEC冗余包添加到所述数据包集合中。
4.一种传输多媒体数据的装置,其特征在于,所述装置包括:
确定模块,用于根据接收端的时延要求,确定生成FEC冗余包所需待重传的数据包的第一数目;
第一传输模块,用于向接收端发送多媒体数据包;
第一添加模块,用于将所述多媒体数据包添加到数据包集合中;
第二传输模块,用于如果所述数据包集合中存在多个待重传的数据包,将所述多个待重传的数据包生成前向纠错FEC冗余包,向所述接收端发送所述FEC冗余包;
第三传输模块,用于在所述数据包集合中包括的待重传的数据包的超时重传时间到达时,如果所述待重传的数据包传输失败,向所述接收端重新发送所述待重传的数据包;
所述第二传输模块,包括:
选择单元,用于如果所述数据包集合中存在大于或者等于第一数目个待重传的数据包,从所述数据包集合中选择第一数目个待重传的数据包;
生成单元,用于将所述选择的第一数目个待重传的数据包生成FEC包;
所述选择单元,包括:
获取子单元,用于获取所述数据包集合中包括的每个待重传的数据包的发送时间;
选择子单元,用于根据所述每个待重传的数据包的发送时间,从所述数据包集合中选择第一数目个离当前时间最远的发送时间对应的多媒体数据包。
5.如权利要求4所述的装置,其特征在于,所述装置还包括:
获取模块,用于获取当前时间和超时重传时间间隔;
计算模块,用于根据所述当前时间和所述超时重传时间间隔,计算第一时间;
修改模块,用于将所述多个待重传的数据包中的每个待重传的数据包的超时重传时间修改为所述第一时间。
6.如权利要求4所述的装置,其特征在于,所述装置还包括:
删除模块,用于将所述多个待重传的数据包从所述数据包集合中删除;
第二添加模块,用于将所述FEC冗余包添加到所述数据包集合中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510834835.1A CN105490773B (zh) | 2015-11-26 | 2015-11-26 | 传输多媒体数据的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510834835.1A CN105490773B (zh) | 2015-11-26 | 2015-11-26 | 传输多媒体数据的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105490773A CN105490773A (zh) | 2016-04-13 |
CN105490773B true CN105490773B (zh) | 2019-04-09 |
Family
ID=55677529
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510834835.1A Active CN105490773B (zh) | 2015-11-26 | 2015-11-26 | 传输多媒体数据的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105490773B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107634817B (zh) * | 2016-07-19 | 2020-01-31 | 华为技术有限公司 | 用于数据传输的方法和装置 |
CN106774206B (zh) * | 2016-12-22 | 2019-02-26 | 武汉华星光电技术有限公司 | 一种液晶面板烘烤机台防过烤系统及其方法 |
CN108633066B (zh) * | 2017-03-24 | 2021-12-03 | 华为技术有限公司 | 通信方法及其网络设备、终端设备 |
CN108809538B (zh) * | 2017-05-04 | 2020-07-17 | 大唐移动通信设备有限公司 | 一种重发告警信息的方法和装置 |
CN109660319B (zh) * | 2018-12-29 | 2021-07-23 | 北京金山安全软件有限公司 | 网络数据传输方法、装置及电子设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101719809A (zh) * | 2009-11-25 | 2010-06-02 | 中兴通讯股份有限公司 | 一种媒体数据包丢包恢复的方法及系统 |
CN102752184A (zh) * | 2011-04-20 | 2012-10-24 | 河海大学 | 用于实时多播业务的数据通信系统及其方法 |
CN103716136A (zh) * | 2013-12-23 | 2014-04-09 | 上海网达软件股份有限公司 | 一种数据传送方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101506770B1 (ko) * | 2012-12-28 | 2015-03-27 | 삼성에스디에스 주식회사 | 데이터 전송 장치 및 방법 |
-
2015
- 2015-11-26 CN CN201510834835.1A patent/CN105490773B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101719809A (zh) * | 2009-11-25 | 2010-06-02 | 中兴通讯股份有限公司 | 一种媒体数据包丢包恢复的方法及系统 |
CN102752184A (zh) * | 2011-04-20 | 2012-10-24 | 河海大学 | 用于实时多播业务的数据通信系统及其方法 |
CN103716136A (zh) * | 2013-12-23 | 2014-04-09 | 上海网达软件股份有限公司 | 一种数据传送方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN105490773A (zh) | 2016-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105490773B (zh) | 传输多媒体数据的方法和装置 | |
CN103634299B (zh) | 基于多连接的实时流媒体传输终端与方法 | |
RU2357379C2 (ru) | Способы и устройство для гибридной многоадресной и одноадресной передач в сети передачи данных | |
CN104518853B (zh) | 一种数据重传的方法、接收端及系统 | |
CN104579601B (zh) | 一种重传请求处理方法和装置 | |
TWI259674B (en) | Method and apparatus for reducing transmission errors in a third generation cellular system | |
CN109788553A (zh) | 一种带宽切换方法及装置 | |
CN101951370B (zh) | 基于udp的文件可靠传输方法 | |
EP1411688A2 (en) | Method and apparatus for multicast data retransmission | |
CN101931514B (zh) | 一种混合自动重传请求中的通信方法、系统和设备 | |
CN101043306A (zh) | 无线通讯系统处理重传封包的方法及其相关装置 | |
CN103763073B (zh) | 一种丢包重传的方法及终端 | |
TW201010457A (en) | Method and apparatus of handling TTI bundling retransmission | |
CN104038845B (zh) | 报文传输方法及装置 | |
WO2010111853A1 (zh) | 增强型多媒体广播组播服务中的数据重传方法及装置 | |
CN113783775B (zh) | 数据传输的方法和装置 | |
CN102273118A (zh) | 数据重传的方法、装置及系统 | |
CN105847184A (zh) | 用于android操作系统的网络请求方法、装置和系统 | |
CN108965775A (zh) | 数据丢包处理策略的调整方法、装置及存储介质 | |
CN103973414B (zh) | 一种数据传输方法及装置 | |
US20100235702A1 (en) | Transmitter, file distribution system, file distribution control method and file distribution control program in system | |
TWI310911B (en) | Method and apparatus for initiating a storage window in a periodic packet retransmission wireless communications system operated in unacknowledged mode | |
TW201843966A (zh) | 連接確認資料包的傳輸控制方法及裝置 | |
CN110661995A (zh) | 视频组呼的丢包重传方法及系统 | |
CN104769958A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP02 | Change in the address of a patent holder | ||
CP02 | Change in the address of a patent holder |
Address after: 519000 High-tech Zone, Zhuhai City, Guangdong Province, Unit 1, Fourth Floor C, Building A, Headquarters Base No. 1, Qianwan Third Road, Tangjiawan Town Patentee after: ZHUHAI DUOWAN INFORMATION TECHNOLOGY Ltd. Address before: 519080 Zone B, 1st Floor, Convention Center, No. 1, Software Park Road, Tangjiawan Town, Zhuhai, Guangdong Patentee before: ZHUHAI DUOWAN INFORMATION TECHNOLOGY Ltd. |