传输多媒体数据的方法和装置的制造方法

xiaoxiao2021-2-23  110

传输多媒体数据的方法和装置的制造方法
【技术领域】
[0001]本发明涉及多媒体技术领域,特别涉及一种传输多媒体数据的方法和装置。
【背景技术】
[0002]随着终端技术以及多媒体技术的发展,终端不仅具有语音通话功能,还具有视频通话功能,两个用户之间可以通过终端进行视频通话,此时两个终端之间就需要传输多媒体数据。
[0003]为了便于描述,将进行视频通话的两个终端分别称为第一终端和第二终端,并且以第一终端向第二终端传输多媒体数据为例进行说明,则第一终端向第二终端传输多媒体数据的过程可以为:
[0004]第一终端将多媒体数据分为多个多媒体数据包,每隔预设传输间隔向第二终端发送一个多媒体数据包,获取重传时间间隔,并根据该重传时间间隔和当前时间,获取该多媒体数据包的超时重传时间;如果在到达该多媒体数据包的超时重传时间之前没有接收到第二终端发送的ACK(Acknowledgement,即确认字符),第一终端确定该多媒体数据包传输失败,此时重新向第二终端发送该多媒体数据包。
[0005]除了上述这种超时重发的传输机制之外,还存在一种FEC(Forward ErrorCorrect1n,前向纠错)传输机制,即第一终端每向第二终端发送出去若干个(设为m个)多媒体数据包,则第一终端根据这m个多媒体数据包来生成若干个(设为η个)FEC冗余包,并向第二终端发送这η个FEC冗余包。
[0006]在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
[0007]如果采用超时重传的传输机制,则当重传时间间隔较长,则重传的多媒体数据包的网络延时较大,无法保证重传的多媒体数据包的实时性。如果采用FEC的传输机制且重传时间间隔较短,则浪费网络带宽。

【发明内容】

[0008]为了解决现有技术的问题,本发明提供了一种传输多媒体数据的方法和装置。技术方案如下:
[0009]—种传输多媒体数据的方法,所述方法包括:
[0010]向接收端发送多媒体数据包,将所述多媒体数据包添加到数据包集合中;
[0011]如果所述数据包集合中存在多个待重传的数据包,将所述多个待重传的数据包生成前向纠错FEC冗余包,向所述接收端发送所述FEC冗余包;
[0012]在所述数据包集合中包括的待重传的数据包的超时重传时间到达时,如果所述待重传的数据包传输失败,向所述接收端重新发送所述待重传的数据包。
[0013]可选的,所述向接收端发送多媒体数据包,将所述多媒体数据包添加到数据包集合中之前,还包括:
[0014]根据所述接收端的时延要求,确定生成FEC冗余包所需待重传的数据包的第一数目;
[0015]相应的,所述如果所述数据包集合中存在多个待重传的数据包,将所述多个待重传的数据包生成前向纠错FEC冗余包,包括:
[0016]如果所述数据包集合中存在大于或者等于第一数目个待重传的数据包,从所述数据包集合中选择第一数目个待重传的数据包,将所述选择的第一数目个待重传的数据包生成FEC包。
[0017]可选的,所述从所述数据包集合中选择第一数目个待重传的数据包,包括:
[0018]获取所述数据包集合中包括的每个待重传的数据包的发送时间;
[0019]根据所述每个待重传的数据包的发送时间,从所述数据包集合中选择第一数目个离当前时间最远的发送时间对应的多媒体数据包。
[0020]可选的,所述方法还包括:
[0021]获取当前时间和超时重传时间间隔,并根据所述当前时间和所述超时重传时间间隔,计算第一时间;
[0022]将所述多个待重传的数据包中的每个待重传的数据包的超时重传时间修改为所述第一时间。
[0023]可选的,所述方法还包括:
[0024]将所述多个待重传的数据包从所述数据包集合中删除,并将所述FEC冗余包添加到所述数据包集合中。
[0025]—种传输多媒体数据的装置,所述装置包括:
[0026]第一传输模块,用于向接收端发送多媒体数据包;
[0027]第一添加模块,用于将所述多媒体数据包添加到数据包集合中;
[0028]第二传输模块,用于如果所述数据包集合中存在多个待重传的数据包,将所述多个待重传的数据包生成前向纠错FEC冗余包,向所述接收端发送所述FEC冗余包;
[0029]第三传输模块,用于在所述数据包集合中包括的待重传的数据包的超时重传时间到达时,如果所述待重传的数据包传输失败,向所述接收端重新发送所述待重传的数据包。
[0030]可选的,所述装置还包括:
[0031]确定模块,用于根据所述接收端的时延要求,确定生成FEC冗余包所需待重传的数据包的第一数目;
[0032]相应的,所述第二传输模块,包括:
[0033]选择单元,用于如果所述数据包集合中存在大于或者等于第一数目个待重传的数据包,从所述数据包集合中选择第一数目个待重传的数据包;
[0034]生成单元,用于将所述选择的第一数目个待重传的数据包生成FEC包。
[0035]可选的,所述选择单元,包括:
[0036]获取子单元,用于获取所述数据包集合中包括的每个待重传的数据包的发送时间;
[0037]选择子单元,用于根据所述每个待重传的数据包的发送时间,从所述数据包集合中选择第一数目个离当前时间最远的发送时间对应的多媒体数据包。
[0038]可选的,所述装置还包括:
[0039]获取模块,用于获取当前时间和超时重传时间间隔;
[0040]计算模块,用于根据所述当前时间和所述超时重传时间间隔,计算第一时间;
[0041]修改模块,用于将所述多个待重传的数据包中的每个待重传的数据包的超时重传时间修改为所述第一时间。
[0042]可选的,所述装置还包括:
[0043]删除模块,用于将所述多个待重传的数据包从所述数据包集合中删除;
[0044]第二添加模块,用于将所述FEC冗余包添加到所述数据包集合中。
[0045]在本发明实施例中,向接收端发送多媒体数据包时,确定数据包集合中是否存在多个待重传的数据包,如果数据包集合中存在多个待重传的数据包,将多个待重传的数据包生成前向纠错FEC冗余包,向接收端发送该FEC冗余包,从而能将传输失败的数据包通过FEC冗余包补偿回来;从而避免了在延迟较大的通信链路上,通过超时重发而导致的数据包到达不及时的问题。在数据包集合中的待重传的数据包的超时重传时间到达时且该待重传的数据包传输失败,向接收端重新发送该待重传的数据包,从而对于延时较小的通信链路,通过快速的超时重传就将丢失的包补偿回来,避免了采用FEC而带来的额外的网络带宽消耗。
【附图说明】
[0046]图1是本发明实施例1提供的一种传输多媒体数据的方法流程图;
[0047]图2是本发明实施例2提供的一种传输多媒体数据的方法流程图;
[0048]图3-1是本发明实施例3提供的一种传输多媒体数据的装置结构示意图;
[0049]图3-2是本发明实施例3提供的另一种传输多媒体数据的装置结构示意图;
[0050]图3-3是本发明实施例3提供的一种第二传输模块的装置结构示意图;
[0051]图3-4是本发明实施例3提供的一种选择单元的装置结构示意图;
[0052]图3-5是本发明实施例3提供的另一种传输多媒体数据的装置结构示意图;
[0053]图3-6是本发明实施例3提供的另一种传输多媒体数据的装置结构示意图。
【具体实施方式】
[0054]为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
[0055]实施例1
[0056]本发明实施例提供了一种传输多媒体数据的方法,该方法的执行主体为发送端,发送端可以为终端,也可以为服务器;参见图1,其中,该方法包括:
[0057]步骤101:向接收端发送多媒体数据包,将该多媒体数据包添加到数据包集合中。
[0058]步骤102:如果数据包集合中存在多个待重传的数据包,将多个待重传的数据包生成前向纠错FEC冗余包,向接收端发送该FEC冗余包。
[0059]本步骤之前,结合网络带宽和接收端的网络时延综合考虑,当存在一定数目个待重传的数据包时,才生成FEC(ForwardErrorCorrect1n,前向纠错)冗余包,则本步骤之前,还包括:
[0060]根据接收端的时延要求,确定生成FEC冗余包所需待重传的数据包的第一数目。[0061 ]相应的,本步骤可以为:
[0062]如果数据包集合中存在大于或等于第一数目个待重传的数据包,从数据包集合中选择第一数目个待重传的数据包,将选择的第一数目个待重传的数据包生成FEC包,向接收端发送该FEC冗余包。
[0063]从数据包集合中选择该第一数目个待重传的数据包的步骤可以为:
[0064]获取数据包集合中包括的每个待重传的数据包的发送时间;根据每个待重传的数据包的发送时间,从数据包集合中选择第一数目个离当前时间最远的发送时间对应的多媒体数据包。或者,
[0065]获取数据包集合中包括的每个待重传的数据包的超时重传时间;根据每个待重传的数据包的超时重传时间,从数据包集合中选择第一数目个离当前时间最近的超时重传时间对应的多媒体数据包。
[0066]进一步地,将该多个待重传的数据包生成FEC冗余包之后,将多个待重传的数据包从数据包集合中删除,并将该FEC冗余包添加到数据包集合中。
[0067]进一步地,发送端将多个待重传的数据包生成FEC冗余包之后,需要修改多个待重传的多媒体中的每个数据包的超时重传时间,具体可以为:
[0068]获取当前时间和超时重传时间间隔,并根据当前时间和超时重传时间间隔,计算第一时间;将多个待重传的数据包中的每个待重传的数据包的超时重传时间修改为第一时间。
[0069]步骤103:在数据包集合中包括的待重传的数据包的超时重传时间到达时,如果该待重传的数据包传输失败,向接收端重新发送该待重传的数据包。
[0070]对于数据包集合中的任一待重传的数据包,待重传的数据包可以为多媒体数据包,也可以为FEC冗余包,如果该待重传的数据包的超时重传时间到达时且该待重传的数据包失败,向接收端重新发送该待重传的数据包。
[0071]进一步地,发送端向接收端重新发送该待重传的数据包之后,重新设置该待重传的数据包的超时重传时间,在该待重传的数据包的超时重传时间到达之前,如果没有接收到接收端发送的携带该多媒体数据包的ACK消息,确定该多媒体数据包传输失败,再次向接收端发送该待重传的数据包。
[0072]在本发明实施例中,向接收端发送多媒体数据包时,确定数据包集合中是否存在多个待重传的数据包,如果数据包集合中存在多个待重传的数据包,将多个待重传的数据包生成前向纠错FEC冗余包,向接收端发送该FEC冗余包,从而能将传输失败的数据包通过FEC冗余包补偿回来;从而避免了在延迟较大的通信链路上,通过超时重发而导致的数据包到达不及时的问题。在数据包集合中的待重传的数据包的超时重传时间到达时且该待重传的数据包传输失败,向接收端重新发送该待重传的数据包,从而对于延时较小的通信链路,通过快速的超时重传就将丢失的包补偿回来,避免了采用FEC而带来的额外的网络带宽消耗。
[0073]实施例2
[0074]本发明实施例提供了一种传输多媒体数据的方法,该方法的执行主体为发送端,发送端可以为终端,也可以为服务器;参见图2,其中,该方法包括:
[0075]步骤201:向接收端发送多媒体数据包,将该多媒体数据包添加到数据包集合中。
[0076]如果接收端成功接收到该多媒体数据包,接收端向发送端发送ACK消息,该ACK消息携带该多媒体数据包的标识,用于表示该多媒体数据包传输成功。发送端接收接收端发送的携带该多媒体数据包的ACK消息,根据该ACK消息,确定该多媒体数据包传输成功。
[0077]为了确保接收端接收该多媒体数据包的实时性,发送端向接收端发送该多媒体数据包之后,需要获取该多媒体数据包的超时重传时间,该多媒体数据包的超时重传时间存储在超时重传时间列表中。在到达该多媒体数据包的超时重传时间之前,如果发送端没有接收到接收端发送的携带该多媒体数据包的标识的ACK消息,发送端确定该多媒体数据包传输失败;发送端在到达该多媒体数据包的超时重传时间时,向接收端重新传输该多媒体数据包。
[0078]发送端获取该多媒体数据包的超时重传时间的步骤可以为:
[0079]发送端获取当前时间和超时重传时间间隔,根据该当前时间和该超时重传时间间隔,确定该多媒体数据包的超时重传时间。
[0080]如果发送端在该多媒体数据包的超时重传时间到达前,接收到接收端发送的携带该多媒体数据包的ACK消息,确定该多媒体数据包传输成功,将该多媒体数据包从数据包集合中删除。
[0081]进一步地,发送端向接收端发送该多媒体数据包时,获取当前时间,将当前时间作为发送该多媒体数据包的发送时间,并将该多媒体数据包的发送时间存储在发送时间列表中。
[0082]进一步地,如果发送端确定该多媒体数据包传输成功,发送端将该多媒体数据包的发送时间从发送时间列表中删除,将该多媒体数据包的超时重传时间从超时重传时间列表中删除。
[0083]需要说明的是,接收端可以为服务器,也可以为终端;多媒体数据包的标识可以为多媒体数据包的包名或者序列号等。
[0084]步骤202:确定数据包集合中是否存在多个待重传的数据包;如果存在,执行步骤203;如果不存在,继续等待直到该超时重传时间到达时,执行步骤207。
[0085]在本步骤中,发送端可以实时确定数据包集合中是否存在多个待重传的数据包,如果存在,执行步骤203;如果不存在,继续等待直到该数据包集合中的待重传的数据包的超时重传时间到达时,执行步骤207。
[0086]然而为了节省发送端的功耗,在本步骤中,发送端可以不实时确定数据包集合中是否存在多个待重传的数据包,而只在向接收端发送该多媒体数据包,确定数据包集合中是否存在多个待重传的数据包。
[0087]进一步地,发送端也可以在向接收段发送该多媒体数据包时,结合网络带宽和接收端的网络时延综合进行考虑,当存在一定数目个待重传的数据包时,才生成FEC冗余包,则本步骤之前,还包括:
[0088]根据接收端的时延要求,确定生成FEC冗余包所需待重传的数据包的第一数目。
[0089]具体地,获取发送端向接收端发送多媒体数据包的预设传输间隔,计算该时延要求的延时时长与该预设传输间隔的比值,如果该比值为整数,将该比值确定为第一数目;如果该比值不为整数,将该比值向下取整得到第一数目。
[0090]需要说明的是,第一数目也可以简单地通过配置来确定。
[0091]相应的,本步骤可以为:
[0092]确定数据包集合中是否存在大于或等于第一数目个待重传的数据包;如果数据包集合中存在大于或等于第一数目个待重传的数据包,执行步骤203;如果数据包集合中不存在大于或等于第一数目个待重传的数据包,继续等待直到该数据包集合中的待重传的数据包的超时重传时间到达时,执行步骤207。
[0093]需要说明的是,待重传的数据包可以为待重传的多媒体数据包,也可以为待重传的FEC冗余包。
[0094]步骤203:如果存在,将多个待重传的数据包生成FEC冗余包,向接收端发送该FEC冗余包。
[0095]在本步骤之前, 为了提高发送FEC冗余包的可靠性,发送端还可以根据当前网络的丢包率,确定每次生成FEC冗余包的第二数目;相应的,本步骤可以为:
[0096]将多个待重传的数据包,生成第二数目个FEC冗余包,向接收端发送该第二数目个FEC冗余包。
[0097]进一步地,发送端结合网络带宽和网络时延综合考虑,本步骤可以为:
[0098]如果数据包集合中存在大于或等于第一数目个待重传的数据包,从数据包集合中选择第一数目个待重传的数据包,将选择的第一数目个待重传的数据包生成FEC包,向接收端发送该FEC冗余包。
[0099]具体地,如果数据包集合中存在大于或等于第一数目个待重传的数据包,从数据包集合中选择第一数目个待重传的数据包,将选择的第一数目个待重传的数据包生成第二数目个FEC冗余包,向接收端发送该第二数目个FEC冗余包。
[0100]如果数据包集合中存在第一数目个待重传的数据包,直接从数据包集合中选择该第一数目个待重传的数据包;如果数据包集合中存在大于第一数目个待重传的数据包,为了保证接收端接收多媒体数据包的实时性,从数据包集合中选择该第一数目个待重传的数据包的步骤可以通过以下第一种方式或者第二种方式实现,对于第一种实现方式,本步骤可以通过步骤(1)至(2)实现,包括:
[0101](1):获取数据包集合中包括的每个待重传的数据包的发送时间;
[0102]发送时间列表中存储有发送端向接收端发送的所有数据包的发送时间,则在本步骤中,发送端根据数据包集合中包括的每个待重传的数据包,从发送时间列表中获取数据包集合中包括的每个待重传的数据包的发送时间。
[0103](2):根据每个待重传的数据包的发送时间,从数据包集合中选择第一数目个离当前时间最远的发送时间对应的多媒体数据包。
[0104]根据每个待重传的数据包的发送时间,按照发送时间由远到近的顺序对每个待重传的数据包进行排序,从排序后的待重传的数据包中选择排列在最前端的第一数目个多媒体数据包。
[0105]当然,在本步骤中,也可以根据每个待重传的数据包的发送时间,按照发送时间由近到远的顺序对每个待重传的数据包进行排序,从排序后的待重传的数据包中选择排列在最后端第一数目个多媒体数据包。
[0106]对于第二种实现方式,本步骤可以通过步骤(A)至(B)实现,包括:
[0107](A):获取数据包集合中包括的每个待重传的数据包的超时重传时间;
[0108]超时重传时间列表中存储有发送端向接收端发送的所有数据包的超时重传时间,则在本步骤中,发送端根据数据包集合中包括的每个待重传的数据包,从超时重传时间列表中获取数据包集合中包括的每个待重传的数据包的超时重传时间。
[0109](B):根据每个待重传的数据包的超时重传时间,从数据包集合中选择第一数目个离当前时间最近的超时重传时间对应的多媒体数据包。
[0110]根据每个待重传的数据包的超时重传时间,按照超时重传时间由远到近的顺序对每个待重传的数据包进行排序,从排序后的待重传的数据包中选择排列在最后端的第一数目个多媒体数据包。
[0111]当然,在本步骤中,也可以根据每个待重传的数据包的超时重传时间,按照超时重传时间由近到远的顺序对每个待重传的数据包进行排序,从排序后的待重传的数据包中选择排列在最前端的第一数目个多媒体数据包。
[0112]步骤204:将多个待重传的数据包从数据包集合中删除,并将该FEC冗余包添加到数据包集合中。
[0113]发送端向接收端发送该FEC冗余包之后,获取该FEC冗余包的超时重传时间,如果该FEC冗余包传输成功,将该FEC冗余包从数据包集合中删除;在该FEC冗余包的超时重传时间到达时,如果该FEC冗余包传输失败,向接收端重新发送该FEC冗余包。
[0114]进一步地,接收端接收发送端发送的FEC冗余包,恢复该FEC冗余包得到多个多媒体数据包,进行后续处理,如直接将多个多媒体数据包播放给用户等。
[0115]由于重新传输了多个待重传的数据包中的每个待重传的数据包,因此,发送端可以通过以下步骤205和206修改每个待重传的数据包的超时重传时间。
[0116]在本发明实施例中,在网络时延较低的情况下,如远低于等待第一数目个多媒体数据包以生成FEC冗余包的时间,发送端向接收端重新发送该多媒体数据包,可以保证该传输失败的多媒体数据包能够尽快通过重传来保证数据包的可达性,减少FEC带来的额外的网络带宽消耗。
[0117]在网络时延较高的情况下,如远高于等待第一数目个多媒体数据包以生成FEC包的时间,发送端将多个待重传的数据包生成FEC冗余包,从而避免超时重传所带来的数据包的及时性不能得到保证的问题。
[0118]步骤205:获取当前时间和超时重传时间间隔,并根据当前时间和超时重传时间间隔,计算第一时间;
[0119]发送端确定以当前时间为起点,经过该超时重传时间间隔时的时间点,将该时间点确定为第一时间。
[0120]例如,当前时间为10: 00: 00am,超时重传时间间隔为1 s,则第一时间为10: 00:01amo
[0121 ]步骤206:将多个待重传的数据包中的每个待重传的数据包的超时重传时间修改为第一时间,结束。
[0122]由于发送端在第一次向接收端发送该每个待重传的数据包时,已经设置了该每个多媒体数据包的超时重传时间,而现在发送端又向接收端重新发送该每个多媒体数据包,因此,发送端需要修改每个待重传的数据包的超时重传时间。
[0123]步骤207:如果不存在,在数据包集合中的待重传的数据包的超时重传时间到达时且该待重传的数据包传输失败,向接收端重新发送该待重传的数据包。
[0124]对于数据包集合中的任一待重传的数据包,待重传的数据包可以为多媒体数据包,也可以为FEC冗余包,如果该待重传的数据包的超时重传时间到达时且该待重传的数据包失败,向接收端重新发送该待重传的数据包。
[0125]进一步地,发送端向接收端重新发送该待重传的数据包之后,重新设置该待重传的数据包的超时重传时间,在该待重传的数据包的超时重传时间到达之前,如果没有接收到接收端发送的携带该多媒体数据包的ACK消息,确定该多媒体数据包传输失败,再次向接收端发送该待重传的数据包。
[0126]在本发明实施例中,向接收端发送多媒体数据包时,确定数据包集合中是否存在多个待重传的数据包,如果数据包集合中存在多个待重传的数据包,将多个待重传的数据包生成前向纠错FEC冗余包,向接收端发送该FEC冗余包,从而能将传输失败的数据包通过FEC冗余包补偿回来;从而避免了在延迟较大的通信链路上,通过超时重发而导致的数据包到达不及时的问题。在数据包集合中的待重传的数据包的超时重传时间到达时且该待重传的数据包传输失败,向接收端重新发送该待重传的数据包,从而对于延时较小的通信链路,通过快速的超时重传就将丢失的包补偿回来,避免了采用FEC而带来的额外的网络带宽消耗。
[0127]实施例3
[0128]本发明实施例提供了一种传输多媒体数据的装置,该装置可以用于执行如实施例1和实施例2中的传输多媒体数据的方法。
[0129]参见图3-1,其中,该装置包括:
[0130]第一传输模块301,用于向接收端发送多媒体数据包;
[0131 ]第一添加模块302,用于将多媒体数据包添加到数据包集合中;
[0132]第二传输模块303,用于如果数据包集合中存在多个待重传的数据包,将多个待重传的数据包生成前向纠错FEC冗余包,向接收端发送该FEC冗余包;
[0133]第三传输模块304,用于在数据包集合中包括的待重传的数据包的超时重传时间到达时,如果该待重传的数据包传输失败,向接收端重新发送该待重传的数据包。
[0134 ]可选的,参见图3-2,该装置还包括:
[0135]确定模块305,用于根据接收端的时延要求,确定生成FEC冗余包所需待重传的数据包的第一数目;
[0136]相应的,参见图3-3,第二传输模块303,包括:
[0137]选择单元3031,用于如果数据包集合中存在大于或者等于第一数目个待重传的数据包,从数据包集合中选择第一数目个待重传的数据包;
[0138]生成单元3032,用于将选择的第一数目个待重传的数据包生成FEC包。
[0139]可选的,参见图3-4,选择单元3031,包括:
[0140]获取子单元30311,用于获取数据包集合中包括的每个待重传的数据包的发送时间;
[0141]选择子单元30312,用于根据每个待重传的数据包的发送时间,从数据包集合中选择第一数目个离当前时间最远的发送时间对应的多媒体数据包。
[0142]可选的,参见图3-5,该装置还包括:
[0143]获取模块306,用于获取当前时间和超时重传时间间隔;
[0144]计算模块307,用于根据当前时间和超时重传时间间隔,计算第一时间;
[0145]修改模块308,用于将多个待重传的数据包中的每个待重传的数据包的超时重传时间修改为第一时间。
[0146]可选的,参见图3-6,该装置还包括:
[0147]删除模块309,用于将多个待重传的数据包从数据包集合中删除;
[0148]第二添加模块310,用于将该FEC冗余包添加到数据包集合中。
[0149]在本发明实施例中,向接收端发送多媒体数据包时,确定数据包集合中是否存在多个待重传的数据包,如果数据包集合中存在多个待重传的数据包,将多个待重传的数据包生成前向纠错FEC冗余包,向接收端发送该FEC冗余包,从而能将传输失败的数据包通过FEC冗余包补偿回来;从而避免了在延迟较大的通信链路上,通过超时重发而导致的数据包到达不及时的问题。在数据包集合中的待重传的数据包的超时重传时间到达时且该待重传的数据包传输失败,向接收端重新发送该待重传的数据包,从而对于延时较小的通信链路,通过快速的超时重传就将丢失的包补偿回来,避免了采用FEC而带来的额外的网络带宽消耗。
[0150]需要说明的是:上述实施例提供的传输多媒体数据的装置在传输多媒体数据时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的传输多媒体数据的装置与传输多媒体数据的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
[0151]本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0152]以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【主权项】
1.一种传输多媒体数据的方法,其特征在于,所述方法包括: 向接收端发送多媒体数据包,将所述多媒体数据包添加到数据包集合中; 如果所述数据包集合中存在多个待重传的数据包,将所述多个待重传的数据包生成前向纠错FEC冗余包,向所述接收端发送所述FEC冗余包; 在所述数据包集合中包括的待重传的数据包的超时重传时间到达时,如果所述待重传的数据包传输失败,向所述接收端重新发送所述待重传的数据包。2.如权利要求1所述的方法,其特征在于,所述向接收端发送多媒体数据包,将所述多媒体数据包添加到数据包集合中之前,还包括: 根据所述接收端的时延要求,确定生成FEC冗余包所需待重传的数据包的第一数目;相应的,所述如果所述数据包集合中存在多个待重传的数据包,将所述多个待重传的数据包生成前向纠错FEC冗余包,包括: 如果所述数据包集合中存在大于或者等于第一数目个待重传的数据包,从所述数据包集合中选择第一数目个待重传的数据包,将所述选择的第一数目个待重传的数据包生成FEC 包。3.如权利要求2所述的方法,其特征在于,所述从所述数据包集合中选择第一数目个待重传的数据包,包括: 获取所述数据包集合中包括的每个待重传的数据包的发送时间; 根据所述每个待重传的数据包的发送时间,从所述数据包集合中选择第一数目个离当前时间最远的发送时间对应的多媒体数据包。4.如权利要求1所述的方法,其特征在于,所述方法还包括: 获取当前时间和超时重传时间间隔,并根据所述当前时间和所述超时重传时间间隔,计算第一时间; 将所述多个待重传的数据包中的每个待重传的数据包的超时重传时间修改为所述第一时间。5.如权利要求1所述的方法,其特征在于,所述方法还包括: 将所述多个待重传的数据包从所述数据包集合中删除,并将所述FEC冗余包添加到所述数据包集合中。6.一种传输多媒体数据的装置,其特征在于,所述装置包括: 第一传输模块,用于向接收端发送多媒体数据包; 第一添加模块,用于将所述多媒体数据包添加到数据包集合中; 第二传输模块,用于如果所述数据包集合中存在多个待重传的数据包,将所述多个待重传的数据包生成前向纠错FEC冗余包,向所述接收端发送所述FEC冗余包; 第三传输模块,用于在所述数据包集合中包括的待重传的数据包的超时重传时间到达时,如果所述待重传的数据包传输失败,向所述接收端重新发送所述待重传的数据包。7.如权利要求6所述的装置,其特征在于,所述装置还包括: 确定模块,用于根据所述接收端的时延要求,确定生成FEC冗余包所需待重传的数据包的第一数目; 相应的,所述第二传输模块,包括: 选择单元,用于如果所述数据包集合中存在大于或者等于第一数目个待重传的数据包,从所述数据包集合中选择第一数目个待重传的数据包; 生成单元,用于将所述选择的第一数目个待重传的数据包生成FEC包。8.如权利要求7所述的装置,其特征在于,所述选择单元,包括: 获取子单元,用于获取所述数据包集合中包括的每个待重传的数据包的发送时间; 选择子单元,用于根据所述每个待重传的数据包的发送时间,从所述数据包集合中选择第一数目个离当前时间最远的发送时间对应的多媒体数据包。9.如权利要求6所述的装置,其特征在于,所述装置还包括: 获取模块,用于获取当前时间和超时重传时间间隔; 计算模块,用于根据所述当前时间和所述超时重传时间间隔,计算第一时间; 修改模块,用于将所述多个待重传的数据包中的每个待重传的数据包的超时重传时间修改为所述第一时间。10.如权利要求6所述的装置,其特征在于,所述装置还包括: 删除模块,用于将所述多个待重传的数据包从所述数据包集合中删除; 第二添加模块,用于将所述FEC冗余包添加到所述数据包集合中。
【专利摘要】本发明公开了一种传输多媒体数据的方法和装置,属于多媒体技术领域。方法包括:向接收端发送多媒体数据包,将所述多媒体数据包添加到数据包集合中;如果所述数据包集合中存在多个待重传的数据包,将所述多个待重传的数据包生成前向纠错FEC冗余包,向所述接收端发送所述FEC冗余包;在所述数据包集合中包括的待重传的数据包的超时重传时间到达时,如果所述待重传的数据包传输失败,向所述接收端重新发送所述待重传的数据包。装置包括:第一传输模块,第一添加模块,第一传输模块和第二传输模块。本发明在节省网络带宽和减少网络时延两者之间可以取得一个比较好的平衡。
【IPC分类】H04L1/00, H04L1/18
【公开号】CN105490773
【申请号】CN201510834835
【发明人】林正显
【申请人】珠海多玩信息技术有限公司
【公开日】2016年4月13日
【申请日】2015年11月26日

最新回复(0)