CN115085859B - 一种抗丢包方法、装置及计算机可读存储介质 - Google Patents
一种抗丢包方法、装置及计算机可读存储介质 Download PDFInfo
- Publication number
- CN115085859B CN115085859B CN202110277576.2A CN202110277576A CN115085859B CN 115085859 B CN115085859 B CN 115085859B CN 202110277576 A CN202110277576 A CN 202110277576A CN 115085859 B CN115085859 B CN 115085859B
- Authority
- CN
- China
- Prior art keywords
- packet loss
- packet
- data
- rate
- packets
- 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
- 238000000034 method Methods 0.000 title claims abstract description 50
- 230000002265 prevention Effects 0.000 title claims abstract description 17
- 238000011084 recovery Methods 0.000 claims description 48
- 230000005540 biological transmission Effects 0.000 claims description 30
- 238000004891 communication Methods 0.000 claims description 17
- 230000003993 interaction Effects 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 11
- 230000000694 effects Effects 0.000 description 11
- 238000012545 processing Methods 0.000 description 5
- 238000012937 correction Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000000638 solvent extraction Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
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/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
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0041—Arrangements at the transmitter end
- H04L1/0042—Encoding specially adapted to other signal generation operation, e.g. in order to reduce transmit distortions, jitter, or to improve signal shape
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Quality & Reliability (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种抗丢包方法、装置及计算机可读存储介质,该方法包括:接收端设备接收数据包,获取数据包的丢包信息,数据包包括媒体数据和冗余数据;利用丢包信息计算数据包的编码参数,编码参数至少包括媒体包数目和冗余包数目,用于指导数据包里需要包含多少媒体数据和冗余数据;将编码参数发送给发送端设备,以使发送端设备基于编码参数对数据包进行编码。通过上述方式,本申请能够自适应调整编码参数,以适应不同的网络情况。
Description
技术领域
本申请涉及通信技术领域,特别是涉及一种抗丢包方法、装置及计算机可读存储介质。
背景技术
音视频通信中,往往使用用户数据报协议(UDP,User Datagram Protocol)进行数据传输,该协议会存在数据包丢失的情况,而丢包是影响语音与图像质量和客户体验的一个重要因素,对于专网行业通信质量尤为重要。运用前向纠错(FEC,Forward ErrorCorrection)进行抗丢包是很常见且有效的方法,FEC是一种差错控制方法,发送端利用n个数据包编码成m个冗余包,接收端发现数据包丢失后,则可以利用接收到的部分数据包和冗余包,重建丢失的数据包。
本申请的发明人在长期研究过程中发现,FEC方法会带来额外的带宽消耗(需要额外传输冗余包)和延时(出现丢包时需缓存数据包和冗余包等待恢复),在不同的网络环境下,采用相同的FEC参数(如数据包与冗余包的比例)是不合理的,甚至有时(如带宽不足时)会带来负面效果。
发明内容
本申请主要解决的技术问题是提供一种抗丢包方法、装置及计算机可读存储介质,能够自适应调整编码参数,以适应不同的网络情况。
为解决上述技术问题,本申请采用的一个技术方案是:提供一种抗丢包方法,该方法包括:接收端设备接收数据包,获取数据包的丢包信息,数据包包括媒体数据和冗余数据;利用丢包信息计算数据包的编码参数,编码参数至少包括媒体包数目和冗余包数目,用于指导数据包里需要包含多少媒体数据和冗余数据;将编码参数发送给发送端设备,以使发送端设备基于编码参数对数据包进行编码。
其中,编码参数包括冗余度,利用丢包信息计算数据包的编码参数包括:获取数据包的丢包率、丢包恢复率,及接收端设备的可抗丢包率;将丢包率与可抗丢包率中值相对较小的一个与丢包恢复率的比值作为数据包的冗余度,冗余度=冗余包数目/(媒体包数目+冗余包数目)。
其中,可抗丢包率小于1,丢包恢复率为当前丢包恢复率与理论丢包恢复率中值相对较大的一个;当前丢包恢复率为总的丢包恢复数与总的丢包数的比值,理论丢包恢复率为(可抗丢包率+1)/2。
其中,编码参数包括冗余度,利用丢包信息计算数据包的编码参数包括:获取数据包的丢包率及接收端设备的可抗丢包率;将丢包率与可抗丢包率中值相对较小的一个作为数据包的冗余度,冗余度=冗余包数目/(媒体包数目+冗余包数目)。
其中,丢包率为瞬时丢包率与前一时刻丢包率的加权平均值,瞬时丢包率的权重大于或等于0.5且小于1,瞬时丢包率为当前时刻媒体包的丢包数与总数据包数的比值。
其中,媒体包的数目小于或等于可抗延时时长与数据包时长的比值;可抗延时时长为接收端设备在预设时间段内可容忍的数据包解码带来的延时时长;冗余度为冗余包数目与数据包数目的比值,数据包数目为媒体包数目与冗余包数目的和。
其中,接收端设备与发送端设备以全双工通信的方式进行数据交互。
其中,将编码参数发送给发送端设备包括:将编码参数放在冗余包的fec头中进行发送。
为解决上述技术问题,本申请采用的另一个技术方案是:提供一种抗丢包装置,该装置包括处理器,处理器用于执行指令以实现上述的抗丢包方法。
为解决上述技术问题,本申请采用的另一个技术方案是:提供一种计算机可读存储介质,该计算机可读存储介质用于存储指令/程序数据,指令/程序数据能够被执行以实现上述的抗丢包方法。
本申请的有益效果是:区别于现有技术的情况,本申请提供一种抗丢包方法、装置及计算机可读存储介质,该抗丢包方法包括:接收端设备接收数据包,获取数据包的丢包信息,数据包包括媒体数据和冗余数据;利用丢包信息计算数据包的编码参数,编码参数至少包括媒体包数目和冗余包数目,用于指导数据包里需要包含多少媒体数据和冗余数据;将编码参数发送给发送端设备,以使发送端设备基于编码参数对数据包进行编码。丢包信息反映出当前网络环境的情况,本申请利用丢包信息计算数据包的编码参数,使得计算出的编码参数适应当前网络环境,发送端设备基于该编码参数进行编码,更加适应当前网络环境的需求,减小网络时延和带宽消耗,从而提高音视频通信的效果,且无需提前设定编码参数,提高了灵活性和自适应度,方法简单。
附图说明
图1是本申请提供的抗丢包方法第一实施方式的流程示意图;
图2是本申请实施方式中利用丢包信息计算数据包的编码参数的流程示意图;
图3是本申请提供的冗余包结构示意图;
图4是图3所示冗余包rtp头的结构示意图;
图5是图3所示冗余包fec头的结构示意图;
图6是本申请提供的抗丢包装置的结构示意图;
图7是本申请提供的抗丢包设备的结构示意图;
图8是本申请提供的计算机可读存储介质的结构示意图。
具体实施方式
为使本申请的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本申请进一步详细说明。
请参阅图1,图1是本申请提供的抗丢包方法第一实施方式的流程示意图。需注意的是,若有实质上相同的结果,本实施例并不以图1所示的流程顺序为限。如图1所示,本实施方式包括:
S110:接收端设备接收数据包,获取数据包的丢包信息。
其中,数据包至少包括媒体包。音视频通信中,通常采用用户数据报协议进行数据传输,数据传输过程中会出现媒体包丢失的情况,接收端设备接收数据包后,会解析数据包,校核是否存在丢包,并获取数据包的丢包信息。其中,丢包信息可以包括媒体包的丢包率、丢包分布、丢包数据等,可根据实际使用情况具体设置,在此不做具体限定。
S120:利用丢包信息计算数据包的编码参数。
其中,数据包是发送端设备根据编码参数编码后发送至接收端设备的,数据包包括媒体包和冗余包,通过构建冗余包,在接收端设备接收到媒体包发现媒体包有丢失后,可利用接收到的媒体包和冗余包对丢失的媒体包进行重建,从而提高音视频通信的效果,减小网络时延。编码参数至少包括媒体包的数目和冗余包数目,用于指导数据包里需要包含多少媒体包和冗余包。该实施方式中,接收端设备利用数据包的丢包信息计算得出媒体包和冗余包的数目,能够及时反映出当前网络环境的好坏,更加适应当前网络环境的需求,而且同时减小了带宽消耗。在其他实施方式中,编码参数也可包括冗余度等其他参数,在此不做具体限定。
在一实施方式中,可采用基于伽罗华域和范德蒙德矩阵的前向纠错方法对数据包进行编码和解码,前向纠错是一种差错控制方法,发送端设备会向接收端设备设置发送一个传输组,该传输组包括n个媒体包和m个冗余包,其中,m个冗余包是根据n个媒体包编码得出,在接收端设备获取到媒体包小于n时,可以利用接收到的媒体包和冗余包重建丢失的媒体包。
S130:将编码参数发送给发送端设备,以使发送端设备基于编码参数对数据包进行编码。
该实施方式中,接收端设备利用丢包信息计算出适应当前网络环境的编码参数,并将编码参数发送给发送端设备,以供发送端设备基于编码参数对数据包进行编码。
在本实施例中,接收端设备接收数据包,获取数据包的丢包信息;利用丢包信息计算数据包的编码参数,编码参数至少包括媒体包的数目和冗余包的数目;将编码参数发送给发送端设备,以使发送端设备基于编码参数对数据包进行编码。丢包信息反映出当前网络环境的情况,本申请利用丢包信息计算数据包的编码参数,使得计算出的编码参数适应当前网络环境,发送端设备基于该编码参数进行编码,更加适应当前网络环境的需求,减小网络时延和带宽消耗,从而提高音视频通信的效果,且无需提前设定编码参数,提高了灵活性和自适应度,方法简单。
请参阅图2,图2是本申请实施方式中利用丢包信息计算数据包的编码参数的流程示意图。需注意的是,若有实质上相同的结果,本实施例并不以图2所示的流程顺序为限。该实施方式中,将丢包率作为丢包信息,利用丢包率计算编码参数。如图2所示,本实施方式包括:
S210:获取数据包的丢包率、丢包恢复率,及接收端设备的可抗丢包率。
其中,丢包率表明当前网络环境下所丢媒体包的比例,丢包率能够反映出当前网络环境的好坏。丢包率是随时间变动的,受网络波动的影响较大,可能会出现瞬时丢包率非常大,即“丢包率-时间”的变化曲线中会出现“尖峰”,将“尖峰”时刻的丢包率作为依据进行当前网络环境的评估是不准确的,因为不能代表普遍情况,只是瞬时的情况,会造成误差。因此本申请采用“指数平均值”的方法计算获取数据包的丢包率。将瞬时丢包率与前一时刻丢包率的加权平均值作为当前时刻的丢包率,瞬时丢包率为当前时刻媒体包的丢包数与数据包数的比值。
具体地,每一时刻的时长为T,那么第i时刻的时长为[i×T,(1+i)T),其中i=1,2,3……,所以第i时刻的瞬时丢包率为di,根据第i时刻的瞬时丢包率di和第i-1时刻的丢包率Li-1得到丢包率Li,具体公式如下所示:
Li=α×di+(1-α)Li-1
其中,i为第i时刻,α为瞬时丢包率的权重,Li为第i时刻的丢包率。考虑到当前丢包权重较大,则瞬时丢包率的权重α大于或等于0.5且小于1。
利用丢包率Li可计算数据包的冗余度或数据包的冗余包数目等,假设数据包中冗余包的数目为m_r,媒体包的数目为n_r,则数据包数目为媒体包数目与冗余包数目的和,数据包的冗余度为冗余包数目和数据包数目的比值,即冗余度为媒体包的重复度。理论上,当冗余度m_r/(m_r+n_r)等于丢包率Li,即m_r/(m_r+n_r)=Li时,冗余包正好能够用于恢复丢掉的媒体包。但实际上,由于受网络波动的影响,在传输过程中可能存在媒体包丢失不均匀的情况,例如,发送端设备发送12个媒体包至接收端设备,发送端设备根据前6个媒体包编码出3个冗余包,根据后6个媒体包编码出3个冗余包,即媒体包1-6对应编码出冗余包1-3,媒体包7-12对应编码出冗余包4-6,如果数据包在从发送端设备传输至接收端设备的过程中丢包均匀(例如,丢失媒体包3和5、冗余包1及丢失媒体包8和12、冗余包5),则丢失的媒体包可在传输组中通过对应的冗余包得以恢复;而如果数据包在发送端设备传输至接受端设备的过程中丢包不均匀(例如,丢失媒体包1-6),则通过冗余包1-3无法恢复丢失的媒体包1-6。所以利用冗余包恢复媒体包时,如果媒体包存在丢包不均匀的情况,无法做到百分之百对丢失媒体包的恢复。因此,实际上,冗余度m_r/(m_r+n_r)与丢包率Li不完全相等。
一方面,丢包的恢复程度受网络环境的影响,当丢包率Li过大时,说明当前网络环境较差,此时即使发送端设备根据接收端设备反馈的编码参数提供了足够的冗余包,其依然不能完全恢复得到所有丢失的媒体包,反而增大了带宽消耗和网络阻塞。因此,可设置可抗丢包率Rm来体现当前网络环境下设备最大可抵抗的丢包率Li。数据包在传输过程中会出现媒体包的部分丢失或全部丢失,所以丢包率Li小于或等于1,可抗丢包率Rm不可能等于1,所以可抗丢包率Rm小于1。
基于此,基于丢包率Li和可抗丢包率Rm中的较小的一个作为数据包的冗余度m_r/(m_r+n_r),具体公式如下所示:
其中,m_r为冗余包数目,n_r为媒体包数目,m_r+n_r为数据包数目,m_r/(m_r+n_r)为冗余度,Li为第i时刻的丢包率,Rm为可抗丢包率。
另一方面,丢包的恢复程度受丢包恢复率Rresm影响,也就是说,在媒体包恢复过程中,由于存在媒体包丢失不均匀的情况,有部分媒体包不能被恢复。
基于此,基于丢包率Li和可抗丢包率Rm中值相对较小的一个与丢包恢复率Rresm的比值作为数据包的冗余度m_r/(m_r+n_r),具体公式如下所示:
其中,m_r为冗余包数目,n_r为媒体包数目,m_r+n_r为数据包数目,m_r/(m_r+n_r)为冗余度,Rresm为丢包恢复率,Rm为可抗丢包率,Li为第i时刻的丢包率。
进一步地,丢包恢复率Rresm的大小直接影响冗余包的数目m_r,如果Rresm较小时,会导致冗余包数目m_r过大,所以设置下限保护,以防发送端设备向接收端设备提供过多冗余包,影响数据传输并增大带宽消耗,可任意设定固定的下限值,下限值可以是理论丢包恢复率,例如,下限值可以为(1+Rm)/2,也可以为经过实验得到的其他具体数值,在此不做具体限定,具体公式如下所示:
其中,Rresm为丢包恢复率,Rm为可抗丢包率,Nresm为总的丢包恢复数,Nloss为总的丢包数,Nresm/Nloss为当前丢包恢复率,(1+Rm)/2为理论丢包恢复率。例如,发送端设备发送100个数据包,接收端设备接收到数据包并解析后,获取到丢了10个媒体包,并恢复了9个媒体包,那么当前丢包恢复率Nresm/Nloss为(9/10)×100%=90%,丢包率Li为(10/100)×100%=10%,可抗丢包率Rm为当前丢包恢复率Nresm/Nloss与丢包率Li的乘积,即90%×10%×100%=9%。也就是说,100个数据包,在传输过程中受网络波动影响,丢了10%的媒体包,但是由于媒体包丢包不均匀的原因,实际只能恢复9%的媒体包。
如公式所示,对理论丢包恢复率(1+Rm)/2和当前丢包恢复率Nresm/Nloss进行比较,当当前丢包恢复率Nresm/Nloss小于理论丢包恢复率(1+Rm)/2时,将理论丢包恢复率(1+Rm)/2作为丢包恢复率Rresm,当当前丢包恢复率Nresm/Nloss大于理论丢包恢复率(1+Rm)/2时,将当前丢包恢复率Nresm/Nloss作为丢包恢复率Rresm,即取理论丢包恢复率(1+Rm)/2和当前丢包恢复率Nresm/Nloss之间的大值作为丢包恢复率Rresm,以能够最大程度对丢失的媒体包进行恢复,减小网络时延,从而提高音视频通信的效果。
S220:利用数据包的冗余度和媒体包数目计算冗余包数目。
由于网络环境等因素影响,会造成媒体包在传输过程中的丢失。如果一个传输组中第一个媒体包丢失,则必须等待一个传输组中所有媒体包接收到之后,才能解码恢复第一个媒体包,从而造成延时。因此,媒体包数目n_r过大会造成网络延时加长。
基于此,媒体包的数目n_r小于或等于可抗延时时长Di与单个媒体包时长d的比值。其中,可抗延时时长Di为接收端设备在预设时间段内可容忍的数据包解码带来的延时时长,具体公式如下所示:
其中,Di可抗延时时长,d为单个媒体包时长。
具体地,所以设定单个媒体包的时长d,使总的媒体包的时长小于或等于可抗延时时长Di,即总的媒体包的时长小于或等于接收端能够容忍的数据包解码的最大延时时长,从而减小媒体包丢失造成的网络时延对音视频通信效果的影响。
综上,根据丢失数据包的冗余度m_r/(m_r+n_r)和媒体包数目n_r确定编码参数中冗余包数目m_r,具体公式如下:
其中,m_r为冗余包数目,n_r为媒体包数目,Di可抗延时时长,d为单个媒体包时长,Rresm为丢包恢复率,Rm为可抗丢包率,Li为第i时刻的丢包率。
在本实施例中,接收端设备接收数据包,获取数据包的丢包率Li、丢包恢复率Rresm,及接收端设备的可抗丢包率Rm;将丢包率Li与可抗丢包率Rm中值相对较小的一个与丢包恢复率Rresm的比值作为数据包的冗余度m_r/(m_r+n_r);通过上述方式计算得到编码参数中的媒体包数目n_r和冗余包数目m_r,使得接收端设备进行编码的媒体包数目n_r和冗余包数目m_r更适应当前网络环境的需求,减小网络时延且带宽消耗,从而提高音视频通信的效果,并且无需提前设定编码参数,提高了灵活性和自适应程度,方法简单。
请参阅图3,图3是本申请提供的冗余包结构示意图。上述实施方式中,接收端设备与发送端设备是以全双工通信的方式进行数据传输交互,也就是说,接收端设备无需额外的信令通知发送端,能够直接将编码参数发送给发送端,以供发送端设备基于编码参数对数据包进行编码。
在一实施方式中,如图3所示,编码参数是放在冗余包的fec头中进行发送,冗余包包括fec头、rtp头和负载。具体地,数据包是基于rtp包的,其中冗余包的负载为媒体包rtp头之后的所有数据的编码,所有数据的编码包括rtp扩展和负载。
进一步地,冗余包相较于媒体包,多一个fec头,编码参数设置于fec头中。
请参阅图4,图4是图3所示冗余包rtp头的结构示意图。如图4所示,冗余包rtp头包括版本号(V)、填充位(P)、扩展位(X)、CSRC计算器(CC)、标记位(M)、载荷类型(PT)、序列号(Sequence Number)、时间戳(Time Stamp)、同步源标识符(SSRC)和贡献源列表(CSRCList)。
其中,版本号占2比特,用来标志使用的RTP版本;填充位占1比特,如果P=1,则该RTP头的尾部就包含附加的填充字节;扩展位占1比特,如果X=1,则该RTP头部后面会跟有一个扩展头部;CSRC计算器占4比特,用于指示CSRC标识符的个数;标记位占1比特,不同载荷类型具有不同的含义;载荷类型占7比特,用于标识RTP载荷的类型;序列号占16比特,每发送一个RTP包后,序列号增加1,接收端可根据序列号检测数据包的丢失情况和恢复数据包的序列;时间戳占2比特,反应RTP包第一个字节的采样时刻,接收端设备使用时间戳计算延迟和延迟抖动,并进行同步控制;同步源标识符占32比特,就是指RTP包流的来源;贡献源列表包含1-15项,每项占32比特,用于标志对一个RTP混合器产生的新包有贡献的所有RTP包的来源。
进一步地,通过rtp头中的PT值可区分媒体包和冗余包,冗余包rtp头的PT值设为101,序列号和时间戳与媒体包的rtp头独立,其余的参数项与媒体包rtp头一致。
请参阅图5,图5是图3所示冗余包fec头的结构示意图。冗余包fec头包括第一个原媒体包的序列号(SN)、一个传输组中原媒体包长度的fec编码值(Len_fec)、一个传输组中原媒体包的有效载荷类型的fec编码值(PT_fec)、一个传输组中原媒体包的时间戳的fec编码(Ts_fec)、一个传输组中原媒体包的数量(n)、一个传输组中原冗余包的数量(m)。冗余包fec头里的上述参数都是用于丢包重建,对丢失的媒体包进行恢复。
具体地,第一个原媒体包的序列号、原媒体包的数量和原冗余包的数量可以确定一个传输组中的原媒体包数量和原冗余包数量;一个传输组中原媒体包的有效载荷类型的fec编码值和一个传输组中原媒体包的时间戳的fec编码可确定丢失原媒体包的rtp头中的PT值;一个传输组中原媒体包长度的fec编码值可确定丢失原媒体包的长度;一个传输组中原媒体包的时间戳的fec编码,如果原媒体包的时间戳是均匀的,则x=0,解码端可推算出时间戳。
请继续参阅图5,冗余包fec头还包括编码参数,编码参数包括媒体包的数目n_r和冗余包的数目m_r。发送端设备在接收到编码参数后,从下一个传输组开始按期望的媒体包数目和冗余包数目进行编码,使得接收端设备接收到的数据包能够更加适应当前网络环境的需求,减小网络时延,并且能够减小带宽消耗。
其中,当n_r=0或m_r=0时,表示发送端停止发送冗余包,只需发送媒体包,减小带宽消耗;当n_r=0xff,m_r=0xff,表示无期望的编码参数,发送端保持当前编码参数不变。
基于上述实施方式,本申请通过计算出适应当前网络环境的编码参数,使得发送端设备基于该编码参数进行编码,更加适应当前网络环境的需求,减小网络时延和带宽消耗,从而提高音视频通信的效果,且无需提前设定编码参数,提高了灵活性和自适应度,方法简单。
请参阅图6,图6是本申请提供的抗丢包装置的结构示意图。该实施方式中,抗丢包装置包括接收模块31和处理模块33。
其中,接收模块31用于接收数据包,获取数据包的丢包信息;处理模块33用于利用丢包信息计算数据包的编码参数,将编码参数发送给发送端设备,以使发送端设备基于编码参数对数据包进行编码。该设备用于抗丢包时,通过利用丢包率计算出适应当前网络环境的编码参数,使发送端设备基于该编码参数进行编码,更加适应当前网络环境的需求,减小网络时延且减小带宽消耗,从而提高音视频通信的效果,并且无需提前设定编码参数,提高了灵活性和自适应程度,并且方法简单。
请参阅图7,图7是本申请提供的抗丢包设备的结构示意图。该实施方式中,抗丢包设备10包括处理器11。
处理器11还可以称为CPU(Central Processing Unit,中央处理单元)。处理器11可以是一种集成电路芯片,具有信号的处理能力。处理器11还可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器11也可以是任何常规的处理器等。
抗丢包设备10可以进一步包括存储器(图中未示出),用于存储处理器11运行所需的指令和数据。
处理器11用于执行指令以实现上述本申请抗丢包方法任一实施例及任意不冲突的组合所提供的方法。
请参阅图8,图8是本申请提供的计算机可读存储介质的结构示意图。本申请实施例的计算机可读存储介质20存储有指令/程序数据21,该指令/程序数据21被执行时实现本申请抗丢包方法任一实施例以及任意不冲突的组合所提供的方法。其中,该指令/程序数据21可以形成程序文件以软件产品的形式存储在上述存储介质20中,以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式方法的全部或部分步骤。而前述的存储介质20包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质,或者是计算机、服务器、手机、平板等终端设备。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅为本申请的实施方式,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (10)
1.一种抗丢包方法,其特征在于,所述方法包括:
接收端设备接收数据包,获取所述数据包的丢包信息,所述数据包包括媒体数据和冗余数据,所述丢包信息包括丢包率、丢包分布或丢包数据;
利用所述丢包信息计算数据包的编码参数,所述编码参数至少包括媒体包数目和冗余包数目,用于指导所述数据包里需要包含多少媒体数据和冗余数据;其中,所述利用所述丢包信息计算数据包的编码参数包括:至少利用所述丢包率和所述接收端设备的可抗丢包率,计算数据包的编码参数;
将所述编码参数发送给发送端设备,以使所述发送端设备基于所述编码参数对数据包进行编码。
2.根据权利要求1所述的抗丢包方法,其特征在于,所述编码参数还包括冗余度,所述至少利用所述丢包率和所述接收端设备的可抗丢包率计算数据包的编码参数包括:
获取数据包的丢包率、丢包恢复率,及接收端设备的可抗丢包率;
将所述丢包率与所述可抗丢包率中值相对较小的一个与所述丢包恢复率的比值作为数据包的冗余度,所述冗余度=冗余包数目/(媒体包数目+冗余包数目)。
3.根据权利要求2所述的抗丢包方法,其特征在于,
所述可抗丢包率小于1,所述丢包恢复率为当前丢包恢复率与理论丢包恢复率中值相对较大的一个;所述当前丢包恢复率为总的丢包恢复数与总的丢包数的比值,所述理论丢包恢复率为(可抗丢包率+1)/2。
4.根据权利要求1所述的抗丢包方法,其特征在于,所述编码参数包括冗余度,所述至少利用所述丢包率和所述接收端设备的可抗丢包率计算数据包的编码参数包括:
获取数据包的丢包率及接收端设备的可抗丢包率;
将所述丢包率与所述可抗丢包率中值相对较小的一个作为数据包的冗余度,所述冗余度=冗余包数目/(媒体包数目+冗余包数目)。
5.根据权利要求2-4任一项所述的抗丢包方法,其特征在于,
所述丢包率为瞬时丢包率与前一时刻丢包率的加权平均值,所述瞬时丢包率的权重大于或等于0.5且小于1,所述瞬时丢包率为当前时刻媒体包的丢包数与总数据包数的比值。
6.根据权利要求2-4任一项所述的抗丢包方法,其特征在于,
所述媒体包的数目小于或等于可抗延时时长与数据包时长的比值;所述可抗延时时长为所述接收端设备在预设时间段内可容忍的数据包解码带来的延时时长;
所述冗余度为冗余包数目与数据包数目的比值,数据包数目为媒体包数目与冗余包数目的和。
7.根据权利要求1、2-4任一项所述的抗丢包方法,其特征在于,
所述接收端设备与所述发送端设备以全双工通信的方式进行数据交互。
8.根据权利要求7所述的抗丢包方法,其特征在于,所述将编码参数发送给发送端设备包括:
将所述编码参数放在冗余包的fec头中进行发送。
9.一种抗丢包装置,其特征在于,
所述抗丢包装置包括处理器,所述处理器用于执行指令以实现如权利要求1-8中任一项所述的抗丢包方法。
10.一种计算机可读存储介质,其特征在于,
所述计算机可读存储介质用于存储指令/程序数据,所述指令/程序数据能够被执行以实现如权利要求1-8中任一项所述的抗丢包方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110277576.2A CN115085859B (zh) | 2021-03-15 | 2021-03-15 | 一种抗丢包方法、装置及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110277576.2A CN115085859B (zh) | 2021-03-15 | 2021-03-15 | 一种抗丢包方法、装置及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115085859A CN115085859A (zh) | 2022-09-20 |
CN115085859B true CN115085859B (zh) | 2023-11-24 |
Family
ID=83240922
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110277576.2A Active CN115085859B (zh) | 2021-03-15 | 2021-03-15 | 一种抗丢包方法、装置及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115085859B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014099708A (ja) * | 2012-11-13 | 2014-05-29 | Panasonic Corp | 送信装置、受信装置、送信方法、及び受信方法 |
WO2016045332A1 (zh) * | 2014-09-24 | 2016-03-31 | 中兴通讯股份有限公司 | 编码参数的调整、反馈信息的处理方法及装置 |
CN106656422A (zh) * | 2017-01-03 | 2017-05-10 | 珠海全志科技股份有限公司 | 一种动态调整fec冗余度的流媒体传输方法 |
CN107196746A (zh) * | 2016-03-15 | 2017-09-22 | 中兴通讯股份有限公司 | 实时通信中的抗丢包方法、装置和系统 |
WO2017181893A1 (zh) * | 2016-04-22 | 2017-10-26 | 华为技术有限公司 | 码流传输方法、装置及网络摄像头 |
CN108616328A (zh) * | 2016-12-12 | 2018-10-02 | 北京视联动力国际信息技术有限公司 | 一种音视频流丢包恢复方法及音视频流发送端和接收端 |
CN109327283A (zh) * | 2018-11-23 | 2019-02-12 | 深圳银澎云计算有限公司 | 一种网络自适应的抗丢包方法、装置及终端设备 |
CN111385055A (zh) * | 2018-12-27 | 2020-07-07 | 杭州海康威视数字技术股份有限公司 | 一种数据传输方法和装置 |
CN111464458A (zh) * | 2020-04-03 | 2020-07-28 | 广州市百果园信息技术有限公司 | 抗丢包方法、装置、设备及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
IN2015DN00468A (zh) * | 2012-07-09 | 2015-06-26 | Ericsson Telefon Ab L M |
-
2021
- 2021-03-15 CN CN202110277576.2A patent/CN115085859B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014099708A (ja) * | 2012-11-13 | 2014-05-29 | Panasonic Corp | 送信装置、受信装置、送信方法、及び受信方法 |
WO2016045332A1 (zh) * | 2014-09-24 | 2016-03-31 | 中兴通讯股份有限公司 | 编码参数的调整、反馈信息的处理方法及装置 |
CN107196746A (zh) * | 2016-03-15 | 2017-09-22 | 中兴通讯股份有限公司 | 实时通信中的抗丢包方法、装置和系统 |
WO2017181893A1 (zh) * | 2016-04-22 | 2017-10-26 | 华为技术有限公司 | 码流传输方法、装置及网络摄像头 |
CN108616328A (zh) * | 2016-12-12 | 2018-10-02 | 北京视联动力国际信息技术有限公司 | 一种音视频流丢包恢复方法及音视频流发送端和接收端 |
CN106656422A (zh) * | 2017-01-03 | 2017-05-10 | 珠海全志科技股份有限公司 | 一种动态调整fec冗余度的流媒体传输方法 |
CN109327283A (zh) * | 2018-11-23 | 2019-02-12 | 深圳银澎云计算有限公司 | 一种网络自适应的抗丢包方法、装置及终端设备 |
CN111385055A (zh) * | 2018-12-27 | 2020-07-07 | 杭州海康威视数字技术股份有限公司 | 一种数据传输方法和装置 |
CN111464458A (zh) * | 2020-04-03 | 2020-07-28 | 广州市百果园信息技术有限公司 | 抗丢包方法、装置、设备及存储介质 |
Non-Patent Citations (3)
Title |
---|
"面向视频会议系统的抗丢包策略的研究与实现";邱海龙;《中国优秀硕士学位论文全文数据库信息科技辑》;全文 * |
基于H.264/AVC的视频通信抗分组丢失方法研究;周宁兆;宋彬;常义林;;计算机学报(02);全文 * |
实时音视频传输/流媒体通信,FEC前向纠错的原理和实现;bushoter;《https://blog.csdn.net/xinyue_lu/article/details/109165717》;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN115085859A (zh) | 2022-09-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10819766B2 (en) | Voice encoding and sending method and apparatus | |
US9246630B2 (en) | Method, device, and system for forward error correction | |
KR101862175B1 (ko) | 혼잡 제어 비트레이트 알고리즘 | |
JP4173755B2 (ja) | データ伝送サーバ | |
US8015474B2 (en) | Adaptive forward error correction | |
EP2437421B1 (en) | Method, device and communication system for retransmitting based on forward error correction | |
RU2009134145A (ru) | Снижение влияния от потерь пакетов в передачах видео | |
EP2312787A1 (en) | Method and device of data transmission | |
EP2493105A1 (en) | Method and system for recovering lost media data packets | |
CN109862440A (zh) | 音视频传输前向纠错方法、装置、计算机设备及存储介质 | |
WO2017055091A1 (en) | Method and apparatus for removing jitter in audio data transmission | |
CN110312150B (zh) | 一种视频帧传输方法、系统及服务器 | |
US10230651B2 (en) | Effective intra-frame refresh in multimedia communications over packet networks | |
US11190455B2 (en) | Decoding of a media stream at a packet receiver | |
US9398256B2 (en) | Telecommunication end-point device data transmission controller | |
CN108696491B (zh) | 音频数据的发送处理方法与装置、接收处理方法与装置 | |
CN106571893B (zh) | 一种语音数据的编解码方法 | |
CN111385055B (zh) | 一种数据传输方法和装置 | |
US10412151B2 (en) | Method and system for on-demand file repair | |
JP5344541B2 (ja) | データ送信装置、送信方法及びプログラム | |
CN110233856B (zh) | 报文处理方法、装置及计算机可读存储介质 | |
CN115037416A (zh) | 数据前向纠错处理方法、装置、电子设备和存储介质 | |
CN113301051A (zh) | 数据的传输方法、装置、计算机存储介质和处理器 | |
CN115085859B (zh) | 一种抗丢包方法、装置及计算机可读存储介质 | |
CN116320439A (zh) | 基于rs编码的云游戏视频流弱网传输优化方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |