CN111629280B - Packet loss processing method and device and readable storage medium - Google Patents

Packet loss processing method and device and readable storage medium Download PDF

Info

Publication number
CN111629280B
CN111629280B CN202010287121.4A CN202010287121A CN111629280B CN 111629280 B CN111629280 B CN 111629280B CN 202010287121 A CN202010287121 A CN 202010287121A CN 111629280 B CN111629280 B CN 111629280B
Authority
CN
China
Prior art keywords
data packet
packet
retransmission
encapsulated
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
Application number
CN202010287121.4A
Other languages
Chinese (zh)
Other versions
CN111629280A (en
Inventor
谢文龙
李云鹏
吕亚亚
杨春晖
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Visionvera Information Technology Co Ltd
Original Assignee
Visionvera Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Visionvera Information Technology Co Ltd filed Critical Visionvera Information Technology Co Ltd
Priority to CN202010287121.4A priority Critical patent/CN111629280B/en
Publication of CN111629280A publication Critical patent/CN111629280A/en
Application granted granted Critical
Publication of CN111629280B publication Critical patent/CN111629280B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64784Data processing by the network
    • H04N21/64792Controlling the complexity of the content stream, e.g. by dropping packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display

Abstract

The embodiment of the invention provides a packet loss processing method, a device and a readable storage medium, wherein the method comprises the following steps: and receiving the encapsulated data packets sent by the sending equipment, judging whether the lost encapsulated data packets in the target data packet group need to be retransmitted or not according to the preset number of the data packets included in each data packet group, the preset FEC error correction threshold and the number of the received target data packets belonging to the target data packet group, if the lost encapsulated data packets need to be retransmitted, determining a first retransmission data packet, obtaining the first retransmission data packet from the sending equipment, wherein the retransmission number of the first retransmission data packet is smaller than the packet loss number of the target data packet group and is greater than or equal to the difference value between the packet loss number and the FEC error correction threshold, performing FEC decoding according to the target data packet and the first retransmission data packet so as to obtain all the encapsulated data packets in the target data packet group, and playing audio and video according to all the encapsulated data packets. Thereby improving the fluency of playing the audio and video.

Description

Packet loss processing method and device and readable storage medium
Technical Field
The present invention relates to the field of communications technologies, and in particular, to a method and apparatus for packet loss processing, and a readable storage medium.
Background
The factors affecting the network link bandwidth in the wireless fidelity (WiFi, wireless Fidelity) or mobile network are more, and when the network link bandwidth is insufficient, the data packet may be lost, so that the normal running of the audio and video service is affected.
In order to ensure that the audio and video services are normally performed, a retransmission packet policy is generally adopted, that is, a receiving end detects the packet sequence of received data packets (the data packets include audio data packets and video data packets), and when the lost data packets are detected, the receiving end is requested to retransmit the lost data packets in time, however, when the link bandwidth is insufficient, the number of the lost data packets in the same time period may be increased, so that the time for the receiving end to wait for the transmitting end to retransmit the lost data packets is increased, and the problems of audio and video screen display, blocking and the like are caused.
Disclosure of Invention
The embodiment of the invention aims to provide a packet loss processing method, a packet loss processing device and a readable storage medium, so that the smoothness of audio and video is improved through fewer retransmission data packets under the condition of insufficient link bandwidth. The specific technical scheme is as follows:
in a first aspect of the present invention, there is provided a packet loss processing method, including:
Receiving an encapsulation data packet sent by a sending device, wherein the encapsulation data packet is generated after an original data packet or a redundant data packet is encapsulated, and the redundant data packet is generated by the sending device for performing Forward Error Correction (FEC) coding on the original data packet;
judging whether to retransmit the lost encapsulation data packet in the target data packet group according to the preset number of the data packets included in each data packet group, the preset FEC error correction threshold and the number of the received target data packets belonging to the target data packet group;
if the package data packet which is required to be retransmitted and lost is determined, a first retransmission data packet is determined, and the first retransmission data packet is obtained from the sending equipment, wherein the retransmission number of the first retransmission data packet is smaller than the packet loss number of the target data packet group and is larger than or equal to the difference value between the packet loss number and the FEC error correction threshold;
and performing FEC decoding according to the target data packet and the first retransmission data packet to obtain all the encapsulation data packets in the target data packet group, and playing the audio and video according to all the encapsulation data packets.
In a second aspect of the present invention, there is also provided a packet loss processing apparatus, including:
The receiving module is used for receiving an encapsulated data packet sent by a sending device, wherein the encapsulated data packet is generated after an original data packet or a redundant data packet is encapsulated, and the redundant data packet is generated by the sending device for performing Forward Error Correction (FEC) coding on the original data packet;
the first judging module is used for judging whether the lost encapsulation data packet in the target data packet group needs to be retransmitted or not according to the preset number of the data packets included in each data packet group, the preset FEC error correction threshold and the number of the received target data packets belonging to the target data packet group;
the first determining module is configured to determine a first retransmission data packet and obtain the first retransmission data packet from the transmitting device if it is determined that the lost encapsulation data packet needs to be retransmitted, where the retransmission number of the first retransmission data packet is smaller than the packet loss number of the target data packet group and greater than or equal to a difference value between the packet loss number and the FEC error correction threshold;
and the decoding module is used for performing FEC decoding according to the target data packet and the first retransmission data packet to obtain all the encapsulation data packets in the target data packet group, and playing the audio and video according to all the encapsulation data packets.
In a third aspect of the embodiments of the present invention, there is provided a computer readable storage medium, on which a computer program is stored, the computer program implementing the steps of the packet loss processing method described above when executed by a processor.
In a fourth aspect of the present invention, a packet loss processing device is provided, including a processor, a memory, and a computer program stored in the memory and capable of running on the processor, where the computer program when executed by the processor implements the steps of the packet loss processing method described above.
Aiming at the prior art, the invention has the following advantages:
according to the packet loss processing method provided by the embodiment of the invention, through receiving the encapsulated data packets sent by the sending equipment, judging whether to retransmit the lost encapsulated data packets in the target data packet group according to the preset number of the data packets included in each data packet group, the preset FEC error correction threshold and the number of the received target data packets belonging to the target data packet group, if the lost encapsulated data packets are determined to be retransmitted, determining a first retransmitted data packet, and obtaining the first retransmitted data packet from the sending equipment, wherein the retransmission number of the first retransmitted data packet is smaller than the packet loss number of the target data packet group and is greater than or equal to the difference value between the packet loss number and the FEC error correction threshold, performing FEC decoding according to the target data packet and the first retransmitted data packet so as to obtain all the encapsulated data packets in the target data packet group, and playing the audio and video according to all the encapsulated data packets. Therefore, under the condition of insufficient link bandwidth, the scheme combining the forward error correction technology and the retransmission packet strategy realizes that fewer package data packets are retransmitted, so that the time for a receiving device to wait for retransmitting the data packets is saved. And according to the retransmitted encapsulated data packets and the received encapsulated data packets, adopting a forward error correction decoding method to recover all lost encapsulated data packets, thereby obtaining all encapsulated data packets in the data packet group, namely not all lost data packets in one data packet group are realized by adopting a retransmission data packet mode, but part of data packets in all lost data packets are obtained by adopting a retransmission data packet mode, and the other part of data packets are obtained by adopting a forward error correction decoding mode.
Drawings
In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings used in the description of the embodiments or the prior art will be briefly described below.
Fig. 1 is a flowchart of steps of a packet loss processing method according to an embodiment of the present invention.
Fig. 2 is a flowchart of steps of another packet loss processing method provided in an embodiment of the present invention;
fig. 3 is a schematic structural diagram of a packet loss processing device according to an embodiment of the present invention;
FIG. 4 is a networking schematic of the present invention for a video networking;
FIG. 5 is a schematic diagram of the hardware architecture of a node server according to the present invention;
fig. 6 is a schematic diagram of a hardware architecture of an access switch according to the present invention;
fig. 7 is a schematic hardware structure of an ethernet corotating gateway according to the present invention.
Detailed Description
The technical solutions in the embodiments of the present invention will be described below with reference to the accompanying drawings in the embodiments of the present invention.
Referring to fig. 1, fig. 1 is a flowchart illustrating steps of a packet loss processing method according to an embodiment of the present invention. The method can be applied to a receiving device comprising a terminal device and a server, the method comprising the steps of:
And step 101, receiving the encapsulated data packet sent by the sending equipment.
The encapsulation data packet comprises a group number of a data packet group to which the encapsulation data packet belongs and a packet serial number of the encapsulation data packet in the data packet group corresponding to the group number, wherein the encapsulation data packet is a data packet generated by encapsulating a redundant data packet generated by Forward Error Correction (FEC) encoding of an original data packet or a transmission device on the original data packet.
The transmitting device may be a terminal device or a server, wherein forward error correction (FEC, forward ErrorCorrection) coding is a coding algorithm that recovers lost data packets by adding redundant data. Specifically, the sending device performs FEC encoding on an original data packet to generate redundant data packets (for example, the number ratio of the original data packets to the redundant data packets is fixed, for example, the original data packets are 12, the redundant data packets are 4), the original data packets and the redundant data packets are packaged into, for example, a Real-time transport protocol (RTP) data packet after the redundant data packets are generated, and the packaged RTP data packet is sent to the receiving device (for example, the RTP data packet is a packaged data packet), where the packaged data packet includes a group number of a data packet group to which the packaged data packet belongs and a packet sequence number of the packaged data packet in a data packet group corresponding to the group number, and the packet sequence number is used to indicate a position of the RTP data in one data packet group.
For example, the transmitting apparatus encapsulates a first original packet (an nth original packet is represented by an original packet n, n is a positive integer), an encapsulated packet 1 is a packet obtained by encapsulating the original packet 1, an encapsulated packet 2 is a packet obtained by encapsulating the original packet 2, and so on, an encapsulated packet 12 is a packet obtained by encapsulating the original packet 12, an encapsulated packet 13 is a packet obtained by encapsulating the redundant packet 1, an encapsulated packet 14 is a packet obtained by encapsulating the redundant packet 2, an encapsulated packet 15 is a packet obtained by encapsulating the redundant packet 3, an encapsulated packet 16 is a packet obtained by encapsulating the redundant packet 4, and if 16 packets are a group, the group numbers of the packet groups to which the encapsulated packet 1 to the encapsulated packet 16 belong may be represented by 1, that is, the encapsulated packet 1 to the encapsulated packet 16 belong to the packet group 1, the packet 1 in the packet group 1 is, the packet 2 in the packet group 1 is, the packet … in the packet group 1 is, and the packet 16 is the sequence number in the packet group 1 is the sequence number. After that, the transmitting device generates the redundant data packets 5 to 8 according to FEC encoding the original data packets 13 to 24, encapsulates the original data packets 13 to 24 and the redundant data packets 5 to 8 to sequentially obtain encapsulated data packets 17 to 28, wherein the group numbers of the encapsulated data packets 17 to 28 are 2, that is, the encapsulated data packets 17 to 28 belong to the data packet group 2, the packet sequence numbers of the encapsulated data packets 17 in the data packet group 2 are 17, the packet sequence numbers of the encapsulated data packets 18 in the data packet group 2 are 18 and …, and the packet sequence numbers of the encapsulated data packets 28 in the data packet group 2 are 28. This is not illustrated here for reasons of space limitations.
Step 102, judging whether to retransmit the lost encapsulated data packet in the target data packet group according to the preset number of the data packets included in each data packet group, the preset FEC error correction threshold and the number of the received target data packets belonging to the target data packet group.
Step 102 may be implemented as follows:
mode one: calculating the number of lost packets according to the preset number and the number of target data packets; and under the condition that the number of lost packets is larger than the FEC error correction threshold, determining that the lost encapsulated data packets need to be retransmitted.
Mode two: calculating the difference value between the preset number and the FEC error correction threshold; and determining that the lost encapsulated data packet needs to be retransmitted under the condition that the number of the target data packets is smaller than the difference value.
In combination with the above description, in a manner of one, the preset number is equal to 16, if the number of the received encapsulated data packets belonging to the data packet group 1 (i.e. the target data packets) is equal to 11 when the target data packet group is the data packet group 1, the number of lost packets is equal to 5, and since the number of lost packets 5 is greater than the FEC error correction threshold 4, it is determined that the lost encapsulated data packets need to be retransmitted. And when the second mode is adopted, the difference value between the preset number 16 and the FEC error correction threshold 4 is equal to 12, and the number of the target data packets is equal to 11 and less than 12, and the lost encapsulated data packets are determined to need to be retransmitted.
Step 103, if it is determined that the lost encapsulation data packet needs to be retransmitted, determining a first retransmission data packet, and obtaining the first retransmission data packet from the transmitting device, where the retransmission number of the first retransmission data packet is smaller than the packet loss number of the target data packet group and greater than or equal to the difference value between the packet loss number and the FEC error correction threshold.
If the lost encapsulation data packet is determined to be retransmitted, determining a first retransmission data packet, and obtaining the first retransmission data packet from the sending equipment, wherein the retransmission number of the first retransmission data packet is smaller than the packet loss number of the target data packet group and is larger than or equal to the difference value between the packet loss number and the FEC error correction threshold. For example, in the case where the number of lost packets is equal to 5, it may be determined that the number of retransmissions of the first retransmission packet is equal to any one of values 1, 2, 3, and 4; and under the condition that the number of the lost packets is equal to 6, determining that the number of the retransmissions of the first retransmission data packet is equal to any one value of 2, 3, 4 and 5.
In the case where the number of lost packets is equal to 5, if it is determined that the number of retransmissions is equal to 1, one packet may be randomly selected as the first retransmission packet from the lost packets of the packet group 1. For example, if the encapsulated packet 5, the encapsulated packet 10, the encapsulated packet 12, the encapsulated packet 13, and the encapsulated packet 14 in the packet group 1 are not received, any one of the encapsulated packet 5, the encapsulated packet 10, the encapsulated packet 12, the encapsulated packet 13, and the encapsulated packet 14 may be regarded as the first retransmission packet. For example, in the case where the encapsulated packet 5 is the first retransmission packet, the packet sequence number of the encapsulated packet 5 may be sent to the transmitting apparatus to request the transmitting apparatus to retransmit the encapsulated packet 5.
It should be noted that, for step 102 and step 103, when the set FEC error correction threshold is 4, that is, when the number of lost packets of one packet group is less than or equal to 4, the lost packets may be recovered by FEC decoding, but if the number of lost packets of one packet group is greater than 4 (that is, the number of lost packets exceeds the FEC error correction threshold, that is, the maximum error correction capability), the lost packets cannot be recovered by FEC decoding. I.e. only adopting the forward error correction scheme, the lost data packets can not be recovered when the number of lost data packets of one data packet group is larger than the FEC error correction threshold. If only a retransmission packet strategy is adopted, that is, the receiving end detects the packet sequence of the received data packets (the data packets comprise audio data packets and video data packets), when the lost data packets are detected, the sending device is timely requested to resend all the lost data packets, and when the link bandwidth is insufficient, the number of the lost data packets in the same time period is increased, so that the time for the receiving end to wait for the sending end to resend the lost data packets is longer and longer, and the problems of audio and video screen display, blocking and the like are caused. Therefore, in this embodiment, the forward error correction and retransmission packet policy are combined, and whether to retransmit the lost encapsulation packet in the target packet group is determined according to the preset number of packets included in each packet group, the preset FEC error correction threshold, and the number of received target packets belonging to the target packet group, if it is determined that the lost encapsulation packet needs to be retransmitted, the first retransmission packet is determined, and the first retransmission packet is obtained from the transmitting device, and the number of obtained first retransmission packets is smaller than the number of lost packets, that is, all lost packets in one packet group need not to be retransmitted, so that bandwidth occupation can be reduced to a certain extent.
And 104, performing FEC decoding according to the target data packet and the first retransmission data packet to obtain all data packets in the target data packet group, and playing the audio and video according to all the data packets.
In combination with the above illustration, if the number of packets lost is equal to 5, if it is determined that the number of retransmissions is equal to 1, and if the encapsulated packet 5 is regarded as the first retransmission packet, the receiving device receives the retransmitted encapsulated packet 5 from the requesting sending device in this step, that is, the receiving device receives 12 encapsulated packets in total, and performs FEC decoding according to the 12 encapsulated packets to recover the lost encapsulated packets (for example, recover the encapsulated packet 10, the encapsulated packet 12, the encapsulated packet 13, and the encapsulated packet 14), so as to obtain all the encapsulated packets in the packet group 1, that is, can recover all the lost encapsulated packets in the packet group 1, and further can play audio and video according to all the encapsulated packets, thereby improving the smoothness of audio and video playing to a certain extent under the condition of insufficient link bandwidth.
According to the packet loss processing method provided by the embodiment, through receiving the package data packets sent by the sending device, judging whether to retransmit the lost package data packets in the target data packet group according to the preset number of the data packets included in each data packet group, the preset FEC error correction threshold and the number of the received target data packets belonging to the target data packet group, if the lost package data packets are determined to be retransmitted, determining a first retransmission data packet, and obtaining the first retransmission data packet from the sending device, wherein the retransmission number of the first retransmission data packet is smaller than the packet loss number of the target data packet group and is greater than or equal to the difference value between the packet loss number and the FEC error correction threshold, performing FEC decoding according to the target data packet and the first retransmission data packet so as to obtain all package data packets in the target data packet group, and playing audio and video according to all package data packets. Therefore, under the condition of insufficient link bandwidth, the scheme combining the forward error correction technology and the retransmission packet strategy realizes that fewer package data packets are retransmitted, so that the time for a receiving device to wait for retransmitting the data packets is saved. And according to the retransmitted encapsulated data packets and the received encapsulated data packets, adopting a forward error correction decoding method to recover all lost encapsulated data packets, thereby obtaining all encapsulated data packets in the data packet group, namely not all lost data packets in one data packet group are realized by adopting a retransmission data packet mode, but part of data packets in all lost data packets are obtained by adopting a retransmission data packet mode, and the other part of data packets are obtained by adopting a forward error correction decoding mode.
Referring to fig. 2, fig. 2 is a step flowchart of another packet loss processing method according to an embodiment of the present invention, where the method includes the following steps:
step 201, receiving an encapsulated data packet sent by a sending device.
Step 202, judging whether to retransmit the lost encapsulated data packet in the target data packet group according to the preset number of data packets included in each data packet group, the preset FEC error correction threshold and the number of received target data packets belonging to the target data packet group.
If it is determined that the lost encapsulated packet needs to be retransmitted, step 203 is executed; if it is determined that retransmission of the lost encapsulated packet is not required, step 204 is performed.
Step 203, determining a first retransmission data packet, and obtaining the first retransmission data packet from the transmitting device.
The determining the first retransmission data packet may be implemented by:
taking the difference value between the packet loss number and the FEC error correction threshold as the retransmission number;
and determining the data packets with the same number as the retransmission number from the package data packets lost by the target data packet group, and taking the determined data packets with the same number as the retransmission number as the first retransmission data packet.
In combination with the above description, in the case that the number of dropped packets is equal to 5, the number of retransmissions of the first retransmission packet may be determined to be equal to 1, that is, the number of retransmissions is equal to the difference between the number of dropped packets 5 and the FEC error correction threshold 4; and under the condition that the packet loss number is equal to 6, determining that the retransmission number of the first retransmission data packet is equal to 2, wherein the retransmission number 2 is equal to the difference value between the packet loss number 6 and the FEC error correction threshold 4.
The data packets with the same number as the retransmission number are determined from the package data packets lost by the target data packet group, so that the FEC decoding is carried out through the least retransmission data packets and according to the least retransmission data packets and the target data packets, and all package data packets in the target data packet group are obtained. For example, in combination with the above example, in the case that the number of dropped packets is equal to 5, all the encapsulated packets in the target packet group are obtained by retransmitting one encapsulated packet 5. In the case that the number of lost packets is equal to 6, obtaining all the encapsulated data packets in the target data packet group can be achieved by retransmitting two encapsulated data packets in the encapsulated data packets lost in the target data packet group. Because the minimum retransmission data packet is adopted to obtain all the encapsulation data packets in the target data packet group, the bandwidth occupation of the retransmission data packet and the time occupation of the retransmission data packet can be reduced to the greatest extent, so that the time for obtaining all the encapsulation data packets in the data packet group can be reduced, and the fluency of playing the audio and video is further improved.
Step 203 is performed, and step 205 is performed.
And 204, performing FEC decoding according to the target data packet to obtain all the encapsulated data packets in the target data packet group, and playing the audio and video according to all the encapsulated data packets.
For example, if the target packet group is packet group 2, the number of packets lost in the encapsulated packets in packet group 2 is equal to 2, and the number of packets lost is less than FEC error correction threshold 4, FEC decoding can be directly performed according to the target packet (in this case, the number of target packets is 14), and the sending device is not required to retransmit the lost encapsulated packets, so that the time required for retransmitting the packets can be saved, and the smoothness of audio/video playing can be improved.
Step 205, performing FEC decoding according to the target data packet and the first retransmission data packet.
Step 206, judging whether the data packet obtained after FEC decoding includes all the data packets in the target data packet group.
If the data packet obtained after FEC decoding does not include all the data packets in the target data packet group, step 207 is performed; if the data packet obtained after FEC decoding includes all the data packets in the target data packet group, step 208 is performed.
Step 207, determining the second retransmission packet, and obtaining the second retransmission packet from the transmitting device to obtain all encapsulated packets.
Wherein the second retransmission data packet comprises at least one encapsulated data packet.
Step 208, playing the audio and video according to all the encapsulated data packets.
It should be noted that, in step 205, all the encapsulated packets in the target packet group are generally obtained through FEC decoding, and in this embodiment, in order to increase the probability of obtaining all the encapsulated packets, it is further determined in step 206 whether the packets obtained after FEC decoding include all the packets in the target packet group, and if not, the second retransmission packet is determined. For example, if the number of lost packets in the packet group 2 is equal to 8, after the step 205 is performed, 7 lost encapsulated packets are found, that is, 15 encapsulated packets are obtained in total, then the packet sequence numbers of the remaining lost encapsulated packets may be sent to the sending device through the step, so that the sending device retransmits the encapsulated packets corresponding to the packet sequence numbers (the encapsulated packets corresponding to the packet sequence numbers are the second retransmission packets), and the receiving device may obtain all the encapsulated packets in the packet group 2. By this step the probability of obtaining all the data packets in the data packet group can be increased.
Optionally, after receiving the encapsulated data packet sent by the sending device in step 201, the method may further include the following steps:
According to the group number and the packet sequence number included in the encapsulated data packet, aggregating the encapsulated data packets which are sent by the sending equipment through a plurality of communication links and belong to the target data packet group;
and determining the number of the received target data packets belonging to the target data packet group according to the aggregated encapsulated data packets.
If the sending device is a plurality of fourth-generation mobile communication technology (4G,the 4thgenerationmobile communication technology) network cards, the sending device may send the encapsulated data packets to the receiving device through a plurality of communication links, where one network card corresponds to one communication link, and the communication links corresponding to each network card are different, then the receiving device may aggregate the encapsulated data packets belonging to the target data packet group from the plurality of communication links, so as to determine, according to the aggregated encapsulated data packets, the number of received target data packets belonging to the target data packet group.
Referring to fig. 3, fig. 3 is a schematic structural diagram of a packet loss processing apparatus according to an embodiment of the present invention, where the apparatus 300 includes:
a receiving module 310, configured to receive an encapsulated packet sent by a sending device, where the encapsulated packet is generated by encapsulating an original packet or a redundant packet, and the redundant packet is generated by performing forward error correction FEC encoding on the original packet by the sending device;
A first judging module 320, configured to judge whether to retransmit a lost encapsulated packet in a target packet group according to a preset number of packets included in each packet group, a preset FEC error correction threshold, and a number of received target packets belonging to the target packet group;
a first determining module 330, configured to determine a first retransmission packet if it is determined that the lost encapsulated packet needs to be retransmitted, and obtain the first retransmission packet from the transmitting device, where the retransmission number of the first retransmission packet is less than the packet loss number of the target packet group and greater than or equal to a difference value between the packet loss number and the FEC error correction threshold;
and the decoding module 340 is configured to perform FEC decoding according to the target data packet and the first retransmission data packet to obtain all the encapsulated data packets in the target data packet group, and play audio and video according to all the encapsulated data packets.
According to the packet loss processing device provided by the embodiment, through receiving the encapsulated data packets sent by the sending device, judging whether to retransmit the lost encapsulated data packets in the target data packet group according to the preset number of the data packets included in each data packet group, the preset FEC error correction threshold and the number of the received target data packets belonging to the target data packet group, if the lost encapsulated data packets are determined to be retransmitted, determining a first retransmission data packet, and obtaining the first retransmission data packet from the sending device, wherein the retransmission number of the first retransmission data packet is smaller than the packet loss number of the target data packet group and is greater than or equal to the difference value between the packet loss number and the FEC error correction threshold, performing FEC decoding according to the target data packet and the first retransmission data packet so as to obtain all the encapsulated data packets in the target data packet group, and playing the audio and video according to all the encapsulated data packets. Therefore, by combining the forward error correction technology and the retransmission packet strategy, less package data packets are retransmitted, so that the time for the receiving device to wait for retransmitting the data packets is saved. And according to the retransmitted encapsulated data packets and the received encapsulated data packets, adopting a forward error correction decoding method to recover all lost encapsulated data packets, thereby obtaining all encapsulated data packets in the data packet group, namely not all lost data packets in one data packet group are realized by adopting a retransmission data packet mode, but part of data packets in all lost data packets are obtained by adopting a retransmission data packet mode, and the other part of data packets are obtained by adopting a forward error correction decoding mode.
Optionally, the decoding module 340 is further configured to perform FEC decoding according to the target data packet if it is determined that the lost encapsulated data packet does not need to be retransmitted, so as to obtain all encapsulated data packets in the target data packet group, and play the audio and video according to all encapsulated data packets.
Optionally, the first determining module 320 is specifically configured to calculate the number of dropped packets according to the preset number and the number of the target data packets; and determining that the lost encapsulated data packet needs to be retransmitted or that the number of the lost packets is larger than the FEC error correction threshold,
calculating the difference value according to the preset number and the FEC error correction threshold; and determining that the lost encapsulated data packet needs to be retransmitted under the condition that the number of the target data packets is smaller than the difference value.
Optionally, the first determining module 330 is specifically configured to take a difference between the number of dropped packets and the FEC error correction threshold as the retransmission number; and determining the data packets with the same number as the retransmission number from the package data packets lost by the target data packet group, and taking the determined data packets with the same number as the retransmission number as the first retransmission data packet.
Optionally, the method further comprises:
the second judging module is used for judging whether the data packet obtained after the FEC decoding comprises all the data packets in the target data packet group or not;
and a second determining module, configured to determine a second retransmission packet if the data packet obtained after FEC decoding does not include all the data packets in the target data packet group, and obtain the second retransmission packet from the transmitting device to obtain all the data packets, where the second retransmission packet includes at least one lost encapsulated data packet.
Optionally, the method further comprises:
an aggregation module, configured to aggregate, according to the group number and the packet sequence number included in the encapsulated packet, encapsulated packets that are sent by the sending device through a plurality of communication links and belong to the target packet group;
and the third determining module is used for determining the number of the received target data packets belonging to the target data packet group according to the aggregated encapsulated data packets.
In addition, the embodiment of the invention also provides a packet loss processing device, which comprises a processor, a memory and a computer program stored in the memory and capable of running on the processor, wherein the computer program realizes the processes of the packet loss processing method embodiment of the embodiment when being executed by the processor, and can achieve the same technical effects, and the repetition is avoided, so that the description is omitted.
The embodiment of the invention also provides a computer readable storage medium, on which a computer program is stored, which when executed by a processor, implements the processes of the above-mentioned packet loss processing method embodiment, and can achieve the same technical effects, so that repetition is avoided, and no further description is given here. The computer readable storage medium may be a Read-Only Memory (ROM), a random access Memory (RandomAccess Memory, RAM), a magnetic disk, an optical disk, or the like.
The embodiment of the invention also provides a computer program which can be stored on a cloud or local storage medium. The computer program is for executing the respective steps of the packet loss processing method of the embodiment of the present invention when being executed by a computer or a processor, and for realizing the respective modules in the packet loss processing apparatus according to the embodiment of the present invention.
In this specification, each embodiment is described in a progressive manner, and each embodiment is mainly described by differences from other embodiments, and identical and similar parts between the embodiments are all enough to be referred to each other.
As will be readily appreciated by those skilled in the art: any combination of the above embodiments is possible, and thus is an embodiment of the present invention, but the present specification is not limited by the text.
The packet loss handling methods provided herein are not inherently related to any particular computer, virtual system, or other apparatus. Various general-purpose systems may also be used with the teachings herein. The required structure for a system constructed with aspects of the present invention will be apparent from the description above. In addition, the present invention is not directed to any particular programming language. It will be appreciated that the teachings of the present invention described herein may be implemented in a variety of programming languages, and the above description of specific languages is provided for disclosure of enablement and best mode of the present invention.
In the description provided herein, numerous specific details are set forth. However, it is understood that embodiments of the invention may be practiced without these specific details. In some instances, well-known methods, structures and techniques have not been shown in detail in order not to obscure an understanding of this description.
Similarly, it should be appreciated that in the above description of exemplary embodiments of the invention, various features of the invention are sometimes grouped together in a single embodiment, figure, or description thereof for the purpose of streamlining the disclosure and aiding in the understanding of one or more of the various inventive aspects. However, the disclosed method should not be construed as reflecting the intention that: i.e., the claimed invention requires more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive aspects lie in less than all features of a single foregoing disclosed embodiment. Thus, the claims following the detailed description are hereby expressly incorporated into this detailed description, with each claim standing on its own as a separate embodiment of this invention.
Those skilled in the art will appreciate that the modules in the apparatus of the embodiments may be adaptively changed and disposed in one or more apparatuses different from the embodiments. The modules or units or components of the embodiments may be combined into one module or unit or component and, furthermore, they may be divided into a plurality of sub-modules or sub-units or sub-components. Any combination of all features disclosed in this specification (including any accompanying claims, abstract and drawings), and all of the processes or units of any method or apparatus so disclosed, may be used in combination, except insofar as at least some of such features and/or processes or units are mutually exclusive. Each feature disclosed in this specification (including any accompanying claims, abstract and drawings), may be replaced by alternative features serving the same, equivalent or similar purpose, unless expressly stated otherwise.
Furthermore, those skilled in the art will appreciate that while some embodiments described herein include some features but not others included in other embodiments, combinations of features of different embodiments are meant to be within the scope of the invention and form different embodiments. For example, in the claims, any of the claimed embodiments may be used in any combination.
Various component embodiments of the invention may be implemented in hardware, or in software modules running on one or more processors, or in a combination thereof. Those skilled in the art will appreciate that some or all of the functions of some or all of the components in the packet loss processing method according to an embodiment of the present invention may be implemented in practice using a microprocessor or Digital Signal Processor (DSP). The present invention can also be implemented as an apparatus or device program (e.g., a computer program and a computer program product) for performing a portion or all of the methods described herein. Such a program embodying the present invention may be stored on a computer readable medium, or may have the form of one or more signals. Such signals may be downloaded from an internet website, provided on a carrier signal, or provided in any other form.
It should be noted that the above-mentioned embodiments illustrate rather than limit the invention, and that those skilled in the art will be able to design alternative embodiments without departing from the scope of the appended claims. In the claims, any reference signs placed between parentheses shall not be construed as limiting the claim. The word "comprising" does not exclude the presence of elements or steps not listed in a claim. The word "a" or "an" preceding an element does not exclude the presence of a plurality of such elements. The invention may be implemented by means of hardware comprising several distinct elements, and by means of a suitably programmed computer. In the unit claims enumerating several means, several of these means may be embodied by one and the same item of hardware. The use of the words first, second, third, etc. do not denote any order. These words may be interpreted as names.
For a better understanding of embodiments of the present invention, the following description of the video networking is presented to one skilled in the art:
the partial techniques applied by the video networking are as follows:
network technology (Network Technology)
The network technology innovation of the internet of vision improves on the traditional Ethernet (Ethernet) to face the potentially huge video traffic on the network. Unlike pure network Packet Switching (Packet Switching) or network circuit Switching (Circuit Switching), the technology of video networking employs Packet Switching to meet Streaming requirements. The video networking technology has the flexibility, simplicity and low price of packet switching, and simultaneously has the quality and the safety guarantee of circuit switching, thereby realizing the seamless connection of the whole network switching type virtual circuit and the data format.
Exchange technology (Switching Technology)
The video network adopts the two advantages of the asynchronization and the packet switching of the Ethernet, eliminates the Ethernet defect on the premise of full compatibility, has full-network end-to-end seamless connection, and is directly connected with the user terminal to directly bear the IP data packet. The user data does not need any format conversion in the whole network. The video networking is a higher-level form of Ethernet, is a real-time exchange platform, can realize real-time transmission of full-network large-scale high-definition video which cannot be realized by the current Internet, and pushes numerous network video applications to high definition and unification.
Server technology (Servertechnology)
The server technology on the video networking and unified video platform is different from the server in the traditional sense, the streaming media transmission is based on connection-oriented basis, the data processing capability is irrelevant to the flow and the communication time, and a single network layer can contain signaling and data transmission. For voice and video services, the complexity of video networking and unified video platform streaming media processing is much simpler than that of data processing, and the efficiency is greatly improved by more than hundred times than that of a traditional server.
Accumulator technology (Storage Technology)
The ultra-high-speed storage technology of the unified video platform adopts the most advanced real-time operating system for adapting to the ultra-large capacity and ultra-large flow media content, the program information in the server instruction is mapped to a specific hard disk space, the media content does not pass through the server any more, the media content is instantly and directly delivered to a user terminal, and the waiting time of the user is generally less than 0.2 seconds. The optimized sector distribution greatly reduces the mechanical motion of magnetic head seek of the hard disk, the resource consumption only accounts for 20% of the IP Internet of the same grade, but the concurrent flow which is 3 times greater than that of the traditional hard disk array is generated, and the comprehensive efficiency is improved by more than 10 times.
Network security technology (Network Security Technology)
The structural design of the video networking thoroughly structurally solves the network security problem puzzling the Internet by means of independent permission of each service, complete isolation of equipment and user data and the like, generally does not need antivirus programs or firewalls, eliminates attacks of hackers and viruses, and provides a structural carefree security network for users.
Service innovation technology (Service Innovation Technology)
The unified video platform fuses services with transmissions, whether a single user, private network users or a network aggregate, but automatically connects at a time. The user terminal, the set top box or the PC is directly connected to the unified video platform, so that various multimedia video services are obtained. The unified video platform adopts a menu type table allocation mode to replace the traditional complex application programming, and can realize complex application by using very few codes, thereby realizing 'infinite' new business innovation.
Networking of the video networking is as follows:
the video networking is a centrally controlled network structure, which may be of the tree network, star network, ring network, etc., but on the basis of this there is a need for a centralized control node in the network to control the whole network.
As shown in fig. 4, the view network is divided into an access network and a metropolitan area network.
The devices of the access network part can be mainly divided into 3 classes: node server, access switch, terminal (including various set-top boxes, code boards, memories, etc.). The node server is connected with an access switch, which can be connected with a plurality of terminals and can be connected with an Ethernet.
The node server is a node with a centralized control function in the access network, and can control the access switch and the terminal. The node server may be directly connected to the access switch or may be directly connected to the terminal.
Similarly, devices of the metropolitan area network portion can also be classified into 3 categories: metropolitan area server, node switch, node server. The metro server is connected to a node switch, which may be connected to a plurality of node servers.
The node server is the node server of the access network part, namely the node server belongs to the access network part and also belongs to the metropolitan area network part.
The metropolitan area server is a node with centralized control function in the metropolitan area network, and can control a node switch and a node server. The metropolitan area server may be directly connected to the node switch or directly connected to the node server.
Thus, the whole video network is a hierarchical centralized control network structure, and the network controlled by the node server and the metropolitan area server can be in various structures such as tree, star, ring and the like.
The access network part can be vividly called as a unified video platform (part in a dotted circle), and a plurality of unified video platforms can form a video network; each unified video platform can be interconnected and intercommunicated through metropolitan area and wide area video networking.
View networking device classification
1.1 devices in the visual network according to the embodiment of the present invention may be mainly classified into 3 types: a server, a switch (including an ethernet gateway), a terminal (including various set-top boxes, a code board, a memory, etc.). The view networking can be divided into metropolitan area networks (or national networks, global networks, etc.) and access networks as a whole.
1.2 devices in the access network part can be mainly classified into 3 classes: node server, access switch (including Ethernet gateway), terminal (including various set-top boxes, code board, memory, etc.).
The specific hardware structure of each access network device is as follows:
the node server:
as shown in fig. 5, the device mainly comprises a network interface module 501, a switching engine module 502, a CPU module 503 and a disk array module 504;
Wherein, the packets coming in from the network interface module 501, the cpu module 503 and the disk array module 504 all enter the switching engine module 502; the switching engine module 502 performs an operation of looking up an address table 505 on an incoming packet, thereby obtaining packet guiding information; and stores the packet into a corresponding queue of the packet buffer 506 according to the packet guiding information; discarding if the queue of the packet buffer 506 is nearly full; the switch engine module 502 polls all packet buffer queues for forwarding if the following conditions are met: 1) The port sending buffer is not full; 2) The queue packet counter is greater than zero. The disk array module 504 mainly controls the hard disk, including initializing, reading and writing operations on the hard disk; the CPU module 503 is mainly responsible for protocol processing with an access switch and a terminal (not shown in the figure), configuration of an address table 505 (including a downstream protocol packet address table, an upstream protocol packet address table, and a data packet address table), and configuration of a disk array module 504.
Access switch:
as shown in fig. 6, mainly includes a network interface module (a downstream network interface module 601, an upstream network interface module 602), a switching engine module 603, and a CPU module 604;
wherein, the packet (uplink data) coming in from the downlink network interface module 601 enters the packet detection module 605; the packet detection module 605 detects whether the Destination Address (DA), source Address (SA), packet type, and packet length of the packet are satisfactory, if so, allocates a corresponding stream identifier (stream-id), and enters the switching engine module 603, otherwise, discards the packet; the incoming packets (downstream data) from the upstream network interface module 602 enter the switching engine module 603; the data packet coming in from the CPU module 604 enters the switching engine module 603; the switching engine module 603 performs an operation of looking up an address table 606 on an incoming packet, thereby obtaining packet guiding information; if a packet entering the switch engine module 603 goes from the downstream network interface to the upstream network interface, the packet is stored in the queue of the corresponding packet buffer 607 in combination with a stream-id; discarding if the queue of the packet buffer 607 is nearly full; if the packet entering the switching engine module 603 is not sent from the downlink network interface to the uplink network interface, storing the data packet into the queue of the corresponding packet buffer 607 according to the packet guiding information; if the queue of the packet buffer 607 is nearly full, it is discarded.
The switch engine module 603 polls all packet buffer queues, in two cases in the embodiment of the present invention:
if the queue is sent from the downlink network interface to the uplink network interface, the following conditions are satisfied for forwarding: 1) The port sending buffer is not full; 2) The queue packet counter is greater than zero; 3) Obtaining a token generated by a code rate control module;
if the queue is not addressed by the downstream network interface to the upstream network interface, the following condition is satisfied for forwarding: 1) The port sending buffer is not full; 2) The queue packet counter is greater than zero.
The rate control module 608 is configured by the CPU module 604 to generate tokens for all packet buffer queues from the downstream network interface to the upstream network interface at programmable intervals to control the rate of upstream forwarding.
The CPU module 604 is mainly responsible for protocol processing with the node server, configuration of the address table 606, and configuration of the rate control module 608.
Ethernet corotation gateway:
as shown in fig. 7, the device mainly includes a network interface module (a downstream network interface module 701, an upstream network interface module 702), a switching engine module 703, a CPU module 704, a packet detection module 705, a rate control module 708, an address table 706, a packet buffer 707, a MAC adding module 709, and a MAC deleting module 710.
Wherein, the data packet coming in from the downlink network interface module 701 enters the packet detection module 705; the packet detection module 705 detects whether the ethernet MAC DA, ethernet MAC SA, ethernet length or frame type, video network destination address DA, video network source address SA, video network packet type and packet length of the data packet meet the requirements, and if so, allocates a corresponding stream identifier (stream-id); then, the MAC DA, MAC SA, length or frame type (2 byte) are subtracted by the MAC delete module 710 and enter the corresponding receive buffer, otherwise discarded;
the downlink network interface module 701 detects the sending buffer of the port, if there is a packet, acquires the ethernet MAC DA of the corresponding terminal according to the destination address DA of the packet's internet of view, adds the ethernet MAC DA of the terminal, the MAC SA of the ethernet protocol gateway, and the ethernet length or frame type, and sends the packet.
The function of the other modules in the ethernet corotation gateway is similar to that of the access switch.
And (3) a terminal:
the system mainly comprises a network interface module, a service processing module and a CPU module; for example, the set top box mainly comprises a network interface module, a video/audio encoding/decoding engine module and a CPU module; the coding board mainly comprises a network interface module, a video and audio coding engine module and a CPU module; the memory mainly comprises a network interface module, a CPU module and a disk array module.
1.3 devices of the metropolitan area network part can be mainly classified into 2 classes: node server, node switch, metropolitan area server. The node switch mainly comprises a network interface module, a switching engine module and a CPU module; the metropolitan area server mainly comprises a network interface module, a switching engine module and a CPU module.
2. View networking data packet definition
2.1 Access network packet definition
The data packet of the access network mainly comprises the following parts: destination Address (DA), source Address (SA), reserved bytes, payload (PDU), CRC.
As shown in the following table, the data packet of the access network mainly includes the following parts:
DA SA Reserved Payload CRC
wherein:
the Destination Address (DA) is composed of 8 bytes (byte), the first byte represents the type of data packet (such as various protocol packets, multicast data packets, unicast data packets, etc.), 256 possibilities are at most provided, the second byte to the sixth byte are metropolitan area network addresses, and the seventh and eighth bytes are access network addresses;
the Source Address (SA) is also composed of 8 bytes (bytes), defined identically to the Destination Address (DA);
the reserved bytes consist of 2 bytes;
the payload portion has different lengths according to the types of the different datagrams, and is 64 bytes if it is various protocol packets, and 32+1024=1056 bytes if it is a unicast packet, and is of course not limited to the above 2 types;
The CRC consists of 4 bytes and its calculation method follows the standard ethernet CRC algorithm.
2.2 metropolitan area network packet definition
The topology of the metropolitan area network is a pattern, there may be 2 or even more than 2 connections between two devices, i.e. there may be more than 2 connections between node switches and node servers, node switches and node switches, node switches and node servers. However, the metropolitan area network address of the metropolitan area network device is unique, and in order to accurately describe the connection relationship between metropolitan area network devices, parameters are introduced in the embodiment of the present invention: a tag to uniquely describe a metropolitan area network device.
The definition of label in this specification is similar to that of MPLS (Multi-Protocol Label Switch, multiprotocol label switching), and assuming that there are two connections between device a and device B, there are 2 labels for packets from device a to device B and 2 labels for packets from device B to device a. The label is split into label and label out, and assuming that the label (in label) of the packet entering the device a is 0x0000, the label (out label) of the packet when leaving the device a may become 0x0001. The network access process of the metropolitan area network is a network access process under centralized control, that is, the address allocation and label allocation of the metropolitan area network are all led by the metropolitan area server, the node switch and the node server are all passively executed, which is different from the label allocation of the MPLS, which is the result of mutual negotiation between the switch and the server.
As shown in the following table, the data packet of the metropolitan area network mainly includes the following parts:
DA SA Reserved tag Payload CRC
I.e. Destination Address (DA), source Address (SA), reserved bytes (Reserved), labels, payload (PDU), CRC. Wherein the format of the tag may be defined with reference to the following: the tag is 32 bits, with the high 16bit reservation, with only the low 16bit, and its position is between the reserved bytes and payload of the packet.

Claims (9)

1. The packet loss processing method is characterized by comprising the following steps:
receiving an encapsulation data packet sent by a sending device, wherein the encapsulation data packet is generated after an original data packet or a redundant data packet is encapsulated, and the redundant data packet is generated by the sending device for performing Forward Error Correction (FEC) coding on the original data packet;
judging whether to retransmit the lost encapsulation data packet in the target data packet group according to the preset number of the data packets included in each data packet group, the preset FEC error correction threshold and the number of the received target data packets belonging to the target data packet group;
if the package data packet which is required to be retransmitted and lost is determined, a first retransmission data packet is determined, and the first retransmission data packet is obtained from the sending equipment, wherein the retransmission number of the first retransmission data packet is smaller than the packet loss number of the target data packet group and is larger than or equal to the difference value between the packet loss number and the FEC error correction threshold;
Performing FEC decoding according to the target data packet and the first retransmission data packet to obtain all encapsulated data packets in the target data packet group, and playing audio and video according to all encapsulated data packets;
after the FEC decoding is performed according to the target data packet and the first retransmission data packet, the method further includes:
judging whether the data packet obtained after the FEC decoding comprises all data packets in the target data packet group or not;
and if the data packet obtained after the FEC decoding does not comprise all the data packets in the target data packet group, determining a second retransmission data packet, and obtaining the second retransmission data packet from the sending equipment so as to obtain all the data packets, wherein the second retransmission data packet comprises at least one lost encapsulation data packet.
2. The method as recited in claim 1, further comprising:
if the lost encapsulation data packet does not need to be retransmitted, FEC decoding is carried out according to the target data packet so as to obtain all encapsulation data packets in the target data packet group, and audio and video are played according to all encapsulation data packets.
3. The method according to claim 1 or 2, wherein the determining whether retransmission of the lost encapsulated packet in the target packet group is required according to the preset number of packets included in each packet group, the preset FEC error correction threshold, and the number of received target packets belonging to the target packet group, includes:
Calculating the packet loss number according to the preset number and the number of the target data packets; and determining that the lost encapsulated data packet needs to be retransmitted or that the number of the lost packets is larger than the FEC error correction threshold,
calculating the difference value according to the preset number and the FEC error correction threshold; and determining that the lost encapsulated data packet needs to be retransmitted under the condition that the number of the target data packets is smaller than the difference value.
4. The method of claim 1, wherein the determining the first retransmission packet comprises:
taking the difference value between the packet loss number and the FEC error correction threshold as the retransmission number;
and determining the data packets with the same number as the retransmission number from the package data packets lost by the target data packet group, and taking the determined data packets with the same number as the retransmission number as the first retransmission data packet.
5. The method according to claim 1 or 2, further comprising, after receiving the encapsulated packet sent by the sending device:
according to the group number and the packet sequence number included in the encapsulated data packet, aggregating the encapsulated data packets which are sent by the sending equipment through a plurality of communication links and belong to the target data packet group;
And determining the number of the received target data packets belonging to the target data packet group according to the aggregated encapsulated data packets.
6. A packet loss processing apparatus, comprising:
the receiving module is used for receiving an encapsulated data packet sent by a sending device, wherein the encapsulated data packet is generated after an original data packet or a redundant data packet is encapsulated, and the redundant data packet is generated by the sending device for performing Forward Error Correction (FEC) coding on the original data packet;
the first judging module is used for judging whether the lost encapsulation data packet in the target data packet group needs to be retransmitted or not according to the preset number of the data packets included in each data packet group, the preset FEC error correction threshold and the number of the received target data packets belonging to the target data packet group;
the first determining module is configured to determine a first retransmission data packet and obtain the first retransmission data packet from the transmitting device if it is determined that the lost encapsulation data packet needs to be retransmitted, where the retransmission number of the first retransmission data packet is smaller than the packet loss number of the target data packet group and greater than or equal to a difference value between the packet loss number and the FEC error correction threshold;
The decoding module is used for performing FEC decoding according to the target data packet and the first retransmission data packet to obtain all the encapsulation data packets in the target data packet group, and playing the audio and video according to all the encapsulation data packets;
the second judging module is used for judging whether the data packet obtained after the FEC decoding comprises all the data packets in the target data packet group or not;
and a second determining module, configured to determine a second retransmission packet if the data packet obtained after FEC decoding does not include all the data packets in the target data packet group, and obtain the second retransmission packet from the transmitting device to obtain all the data packets, where the second retransmission packet includes at least one lost encapsulated data packet.
7. The apparatus of claim 6, wherein the decoding module is further configured to perform FEC decoding according to the target packet to obtain all the encapsulated packets in the target packet group if it is determined that retransmission of the lost encapsulated packets is not required, and play the audio and video according to all the encapsulated packets.
8. A computer readable storage medium, wherein a computer program is stored on the computer readable storage medium, which when executed by a processor, implements the steps of the packet loss processing method according to any one of claims 1 to 5.
9. A packet loss processing apparatus comprising a processor, a memory and a computer program stored on the memory and executable on the processor, the computer program implementing the steps of the packet loss processing method according to any one of claims 1 to 5 when executed by the processor.
CN202010287121.4A 2020-04-13 2020-04-13 Packet loss processing method and device and readable storage medium Active CN111629280B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010287121.4A CN111629280B (en) 2020-04-13 2020-04-13 Packet loss processing method and device and readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010287121.4A CN111629280B (en) 2020-04-13 2020-04-13 Packet loss processing method and device and readable storage medium

Publications (2)

Publication Number Publication Date
CN111629280A CN111629280A (en) 2020-09-04
CN111629280B true CN111629280B (en) 2023-11-14

Family

ID=72273017

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010287121.4A Active CN111629280B (en) 2020-04-13 2020-04-13 Packet loss processing method and device and readable storage medium

Country Status (1)

Country Link
CN (1) CN111629280B (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112804028B (en) * 2020-10-22 2023-04-07 北京佳讯飞鸿电气股份有限公司 Data packet transmission method, equipment and storage medium
CN114793146A (en) * 2021-01-26 2022-07-26 普联技术有限公司 Data receiving method, data sending method and related equipment
CN114125574A (en) * 2021-11-19 2022-03-01 浩云科技股份有限公司 Unidirectional streaming media transmission method and system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101091347A (en) * 2004-12-29 2007-12-19 英特尔公司 Forward error correction and automatic repeat request joint operation for a data link layer
CN101174931A (en) * 2006-10-30 2008-05-07 华为技术有限公司 Retransmission type selection method, corresponding transmitting equipment, receiving equipment and system
WO2018058803A1 (en) * 2016-09-30 2018-04-05 瞬已网络科技(上海)有限公司 Network-based real-time video transmission method and device

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10218469B2 (en) * 2016-12-08 2019-02-26 Vmware, Inc. Unified forward error correction and retransmission in a reliable network protocol

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101091347A (en) * 2004-12-29 2007-12-19 英特尔公司 Forward error correction and automatic repeat request joint operation for a data link layer
CN101174931A (en) * 2006-10-30 2008-05-07 华为技术有限公司 Retransmission type selection method, corresponding transmitting equipment, receiving equipment and system
WO2018058803A1 (en) * 2016-09-30 2018-04-05 瞬已网络科技(上海)有限公司 Network-based real-time video transmission method and device

Also Published As

Publication number Publication date
CN111629280A (en) 2020-09-04

Similar Documents

Publication Publication Date Title
CN111629280B (en) Packet loss processing method and device and readable storage medium
CN110474721B (en) Video data transmission method, device and computer readable storage medium
CN110198345B (en) Data request method, system and device and storage medium
CN110138632B (en) Data transmission method and device
CN111447393B (en) Conference maintenance method, conference maintenance device and readable storage medium
CN109818960B (en) Data processing method and device
CN110381119B (en) Method, system and device for acquiring log information and storage medium
CN108616328A (en) A kind of audio/video flow loss recovery method and audio/video flow transmitting terminal and receiving terminal
CN111614509B (en) Packet loss statistical method and device and readable storage medium
CN110661726A (en) Data sending method and device based on multilink aggregation
CN110138513B (en) Data transmission method and video networking system
CN111224889A (en) Data transmission method and device
CN111669337A (en) Flow control method and device
CN109347844B (en) Method and device for accessing equipment to Internet
CN111211982B (en) Data forwarding method and device, electronic equipment and storage medium
CN110336710B (en) Terminal testing method, system and device and storage medium
CN109167965B (en) Data processing method and device
CN111245733A (en) Data transmission method and device
CN110087107B (en) Method for improving system self-adaptive capacity and video networking system
CN109769012B (en) Web server access method and device
CN111478880A (en) Data processing method and device
CN113162910B (en) Resource transmission method and device, electronic equipment and storage medium
CN110493191B (en) Windows platform data forwarding method and device, electronic equipment and readable storage medium
CN109327730B (en) Method and device for downloading data packet
CN110688532B (en) Transaction management method and device

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