CN109327283B - Network self-adaptive packet loss resisting method and device and terminal equipment - Google Patents

Network self-adaptive packet loss resisting method and device and terminal equipment Download PDF

Info

Publication number
CN109327283B
CN109327283B CN201811405366.1A CN201811405366A CN109327283B CN 109327283 B CN109327283 B CN 109327283B CN 201811405366 A CN201811405366 A CN 201811405366A CN 109327283 B CN109327283 B CN 109327283B
Authority
CN
China
Prior art keywords
packet loss
redundancy
reaches
interleaving depth
threshold
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
CN201811405366.1A
Other languages
Chinese (zh)
Other versions
CN109327283A (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.)
Shenzhen Qixin Haoshitong Cloud Computing Co Ltd
Original Assignee
Shenzhen Qixin Haoshitong Cloud Computing 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 Shenzhen Qixin Haoshitong Cloud Computing Co Ltd filed Critical Shenzhen Qixin Haoshitong Cloud Computing Co Ltd
Priority to CN201811405366.1A priority Critical patent/CN109327283B/en
Publication of CN109327283A publication Critical patent/CN109327283A/en
Application granted granted Critical
Publication of CN109327283B publication Critical patent/CN109327283B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0009Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the channel coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0071Use of interleaving
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors
    • H04L43/0829Packet loss

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Environmental & Geological Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

The invention is suitable for the technical field of data transmission, and provides a network self-adaptive packet loss resisting method, a device and terminal equipment, wherein the method comprises the following steps: receiving packet loss feedback information; wherein, the packet loss feedback information includes a packet loss rate; if the packet loss rate is greater than a preset value, adjusting the redundancy rate of Forward Error Correction (FEC) and/or the interleaving depth of interleaving coding until the redundancy rate reaches a first threshold value and/or the interleaving depth reaches a second threshold value; after the redundancy reaches a first threshold value and/or the interleaving depth reaches a second threshold value, if the packet loss rate is still larger than a preset value, the message length is adjusted until the message length reaches a third threshold value. The embodiment of the invention can adjust a plurality of parameters under the condition of poor network quality, namely, the FEC redundancy and/or the interleaving depth are adjusted firstly, and then the message length is adjusted, thereby enhancing the anti-packet loss capability of the system.

Description

Network self-adaptive packet loss resisting method and device and terminal equipment
Technical Field
The invention belongs to the technical field of data transmission, and particularly relates to a network self-adaptive packet loss resisting method, a network self-adaptive packet loss resisting device and terminal equipment.
Background
In audio or video communication, data transmission is generally performed using a User Datagram Protocol (UDP). However, since UDP is an unreliable transmission method, packet loss often occurs during data transmission, which results in discontinuous audio playback and video jamming.
Currently, a common packet loss prevention technology is a Forward error Correction coding (FEC) technology. Since FEC adds redundant data to the original data, the consumed bandwidth increases, and the higher the FEC redundancy, the more bandwidth is consumed. Therefore, in the data transmission process, the packet loss resistance of the system is improved by using the FEC, and a good effect cannot be obtained.
Disclosure of Invention
In view of this, embodiments of the present invention provide a network adaptive packet loss resistant method, device and terminal device, which aim to improve the packet loss resistance of a system.
A first aspect of an embodiment of the present invention provides a network adaptive packet loss prevention method, including:
receiving packet loss feedback information; wherein, the packet loss feedback information includes a packet loss rate;
if the packet loss rate is greater than a preset value, adjusting the redundancy rate of Forward Error Correction (FEC) and/or the interleaving depth of interleaving coding until the redundancy rate reaches a first threshold value and/or the interleaving depth reaches a second threshold value;
after the redundancy reaches a first threshold value and/or the interleaving depth reaches a second threshold value, if the packet loss rate is still larger than a preset value, the message length is adjusted until the message length reaches a third threshold value.
A second aspect of the embodiments of the present invention provides a network adaptive packet loss prevention device, including:
the information receiving module is used for receiving packet loss feedback information; wherein, the packet loss feedback information includes a packet loss rate;
a first adjusting module, configured to adjust redundancy of forward error correction coding FEC and/or interleaving depth of interleaving coding if the packet loss rate is greater than a preset value, until the redundancy reaches a first threshold and/or the interleaving depth reaches a second threshold;
and the second adjusting module is used for adjusting the length of the message until the length of the message reaches a third threshold value if the packet loss rate is still larger than a preset value after the redundancy reaches a first threshold value or the interleaving depth reaches a second threshold value.
A third aspect of embodiments of the present invention provides a terminal device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor, when executing the computer program, implements the method according to the first aspect.
A fourth aspect of embodiments of the present invention provides a computer-readable storage medium, in which a computer program is stored, wherein the computer program, when executed by a processor, implements the method according to the first aspect.
According to the embodiment of the invention, when the packet loss rate is greater than the preset value, the FEC redundancy and/or the interleaving depth are adjusted, if the packet loss rate and the packet loss rate reach the threshold value, the packet loss rate is still greater than the preset value, and then the message length is adjusted, so that under the condition of poor network quality, a plurality of parameters can be adjusted, namely, the FEC redundancy and/or the interleaving depth are adjusted first, and then the message length is adjusted, so that the packet loss resistance of the system is enhanced.
Drawings
In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the drawings needed to be used in the embodiments or the prior art descriptions will be briefly described below, and it is obvious that the drawings in the following description are only some embodiments of the present invention, and it is obvious for those skilled in the art to obtain other drawings based on these drawings without inventive exercise.
Fig. 1 is a schematic flowchart of a network adaptive packet loss prevention method according to an embodiment of the present invention;
fig. 1a shows a packet group obtained by FEC encoding data to be transmitted;
fig. 1b is a packet obtained by interleaving and coding fig. 1a with an interleaving depth of 3;
FIG. 1c is a packet group obtained by halving the length of the packet in FIG. 1a, encoding the packet with FEC, and regrouping the packet;
FIG. 1d is a packet obtained by interleaving and coding FIG. 1c with an interleaving depth of 6;
fig. 2 is a schematic flowchart of another network adaptive packet loss prevention method according to an embodiment of the present invention;
fig. 3 is a schematic diagram of a network adaptive packet loss prevention apparatus according to an embodiment of the present invention;
fig. 4 is a schematic diagram of a terminal device according to an embodiment of the present invention.
Detailed Description
In the following description, for purposes of explanation and not limitation, specific details are set forth, such as particular system structures, techniques, etc. in order to provide a thorough understanding of the embodiments of the invention. It will be apparent, however, to one skilled in the art that the present invention may be practiced in other embodiments that depart from these specific details. In other instances, detailed descriptions of well-known systems, devices, circuits, and methods are omitted so as not to obscure the description of the present invention with unnecessary detail.
In order to explain the technical means of the present invention, the following description will be given by way of specific examples.
The first embodiment is as follows:
referring to fig. 1, fig. 1 is a schematic flow chart of a network adaptive packet loss prevention method according to an embodiment of the present invention, which is detailed as follows:
step S101: receiving packet loss feedback information; wherein the packet loss feedback information includes a packet loss rate.
Before sending the data to be transmitted to the receiving end, the data to be transmitted needs to be encoded. And for the video data to be transmitted, encoding by adopting an H.264 encoding technology to obtain a video frame, storing the video frame into a buffer area, and dividing the data in the buffer area into data blocks with equal length. The length of the data block may be set as required, and is generally 1KB, i.e. 1024 bytes, or may be other lengths. And then Forward Error Correction (FEC) coding is performed on the data in the buffer, that is, redundant data is added to the original data to be transmitted, so as to obtain a message with redundant data. The length of the redundant data may be set according to needs, and is not limited herein.
For example, assuming that the length of the original data to be transmitted is 4 and the length of the redundant data is also 4, the packet group obtained after FEC encoding is performed on the data to be transmitted is as shown in fig. 1 a. And then, performing interleaving coding on the message with the redundant data, wherein an interleaving depth needs to be selected during the interleaving coding, and if the interleaving depth is 3, the message after interleaving is as shown in fig. 1 b.
It should be noted that the above encoding process is also applicable to audio data.
And finally, sending the interleaved message to a receiving end. After receiving the messages, the receiving end counts the number of the lost messages, calculates the packet loss rate and sends packet loss feedback information. After receiving the packet loss feedback information, according to the packet loss feedback information, the packet loss condition of the current network and the quality of the current network can be known, and if the packet loss rate is too high, the current network quality is not good. Wherein, the packet loss feedback information includes a packet loss rate.
Step S102: if the packet loss rate is greater than a preset value, adjusting the redundancy of forward error correction coding (FEC) and/or the interleaving depth of interleaving coding until the redundancy reaches a first threshold and/or the interleaving depth reaches a second threshold.
The preset value can be set according to needs, and can be set to 5% for example. When the packet loss rate is greater than the preset value, it indicates that the packet loss condition of the current network is relatively serious, and the receiving end cannot analyze the data to be transmitted according to the received message, so that the packet loss rate needs to be reduced. In order to reduce the packet loss rate of the current network, the redundancy of forward error correction coding FEC and/or the interleaving depth of interleaving coding can be adjusted.
It should be noted that, assuming that the original data length to be transmitted is k and the redundant data length is r, the redundancy is calculated as follows: r/(k + r). Since the original data length k to be transmitted does not change in general, adjusting the redundancy is actually adjusting the redundant data length r.
In the network packet loss, even if the total average packet loss rate is not high, for example, the average packet loss rate is only 1%, if continuous packet loss occurs within a certain time period, the maximum packet loss resistance of the FEC may be exceeded, so that the FEC cannot recover the lost data, and the packet loss resistance of the system is insufficient. The redundancy of FEC has a maximum value because the data recovery capability of FEC is limited, and the higher the redundancy is, the more bandwidth is consumed, so that the redundancy cannot be increased to cope with packet loss. Therefore, when the redundancy is adjusted, a first threshold needs to be set, and the first threshold may be set as needed, for example, the length of the original data to be transmitted may be set, which is not limited herein.
Moreover, a certain time delay is introduced into the interleaving coding, and the larger the interleaving depth is, the larger the additional time delay is introduced; however, if the interleaving depth is smaller, the packet loss resistance of the system is too weak to resist packet loss. Therefore, when the interleaving depth is selected, the balance between the time delay and the packet loss resistance needs to be considered. There is a threshold value for the interleaving depth without introducing significant delay. Therefore, when adjusting the interleaving depth, a second threshold needs to be set, and the second threshold may be set as needed, which is not limited herein.
Optionally, when the packet loss rate is greater than the preset value, the FEC redundancy or the interleaving depth of the interleaving code may be adjusted separately, or the FEC redundancy and the interleaving depth of the interleaving code may be adjusted simultaneously.
Specifically, when the FEC redundancy and the interleaving depth of the interleaving code are adjusted, there may be two adjustment modes. The first method is to adjust the redundancy and then adjust the interleaving depth; the second is to adjust the interleaving depth first and then adjust the redundancy.
Optionally, the first adjustment manner is: if the packet loss rate is greater than a preset value, adjusting redundancy of forward error correction coding (FEC) and/or interleaving depth of interleaving coding until the redundancy reaches a first threshold and/or the interleaving depth reaches a second threshold, specifically comprising:
if the packet loss rate is greater than a preset value, adjusting the redundancy of forward error correction coding (FEC);
after the redundancy reaches a first threshold, if the packet loss rate is still greater than a preset value, adjusting the interleaving depth until the interleaving depth reaches a second threshold.
When the packet loss rate is greater than a preset value, firstly adjusting the redundancy of forward error correction coding (FEC), specifically: the redundancy is gradually increased. For example, assuming that the length of the original data to be transmitted is 4, the original redundancy is set to 2, when the packet loss rate is greater than the preset value, that is, the packet loss situation is severe, the redundancy may be increased to 3, and if the packet loss rate is still greater than the preset value, it indicates that the packet loss cannot be resisted at present, the redundancy needs to be continuously increased until the redundancy reaches the first threshold.
After the redundancy reaches the first threshold, if the packet loss rate is still greater than a preset value, it indicates that packet loss still cannot be resisted at present, and at this time, the interleaving depth needs to be further adjusted, specifically: the interleaving depth is gradually increased. For example, assuming that the original interleaving depth is 2, when the packet loss rate is greater than a preset value, the interleaving depth may be increased to 3, and if the packet loss rate is still greater than the preset value, which indicates that packet loss cannot be resisted at present, the interleaving depth needs to be increased continuously until the interleaving depth reaches the second threshold.
In the above adjustment of the redundancy or the interleaving depth, the adjustment range may be 1 or 2, or may be other values, and is not limited herein.
Optionally, the second adjustment manner is: if the packet loss rate is greater than a preset value, adjusting redundancy of forward error correction coding (FEC) and/or interleaving depth of interleaving coding until the redundancy reaches a first threshold and/or the interleaving depth reaches a second threshold, further comprising:
if the packet loss rate is greater than a preset value, adjusting the interleaving depth of the interleaving codes;
and after the interleaving depth reaches a second threshold, if the packet loss rate is still greater than a preset value, adjusting the redundancy until the redundancy reaches a first threshold.
For example, assuming that the length of the original data to be transmitted is 4, the original interleaving depth is set to 2, when the packet loss rate is greater than the preset value, that is, the packet loss situation is severe, the interleaving depth may be increased to 3, and if the packet loss rate is still greater than the preset value, it indicates that the packet loss still cannot be resisted at present, the interleaving depth needs to be continuously increased until the interleaving depth reaches the second threshold.
After the interleaving depth reaches the second threshold, if the packet loss rate is still greater than the preset value, it indicates that packet loss still cannot be resisted at present, and at this time, the redundancy needs to be further adjusted, specifically: the redundancy is gradually increased. For example, assuming that the original redundancy is 2, when the packet loss rate is greater than a preset value, the redundancy may be increased to 3, and if the packet loss rate is still greater than the preset value, which indicates that packet loss still cannot be resisted at present, the redundancy needs to be increased continuously until the redundancy reaches the first threshold.
In the above adjustment of the redundancy or the interleaving depth, the adjustment range may be 1 or 2, or may be other values, and is not limited herein.
Exemplarily, it is assumed that the length r of the redundant data is 4, fig. 1a shows packet groups obtained after FEC encoding, each packet group in fig. 1a includes 8 packets, the left 4 packets are original data to be transmitted, and the right 4 packets are redundant data. The packet group of fig. 1a is interleaved encoded, with a maximum interleaving depth of 3 in fig. 1 a. Selecting the interleaving depth to be 3, and interleaving the packet 1 of the packet group 1, the packet 2 of the packet group 2, and the packet 3 of the packet group 3 with each other, where the interleaving order may be 123, 321, or 132, to obtain the interleaved packet shown in fig. 1b, where the interleaving order selected in fig. 1b is 123.
After FEC coding and interleaving coding, assuming that the interleaving depth is d, the maximum packet loss resistance of the system is: wmax2 × r × d. In the above example, since the length r of the redundant data is 4 and the interleaving depth d is 3, the maximum anti-packet loss capability of the system is Wmax=2×4×3=24。
Step S103: after the redundancy reaches a first threshold value and/or the interleaving depth reaches a second threshold value, if the packet loss rate is still larger than a preset value, the message length is adjusted until the message length reaches a third threshold value.
After the adjustment of the redundancy and/or the interleaving depth, if the packet loss rate is still greater than the preset value, it indicates that the previous adjustment of the redundancy and/or the interleaving depth still cannot resist packet loss, and therefore further adjustment is needed.
Generally, when data transmission is performed using a User Datagram Protocol (UDP), a message length is set to 1KB, that is, 1024 bytes. When the packet loss rate is greater than the preset value, to achieve packet loss resistance, the packet length needs to be reduced to enhance the packet loss resistance of the system.
Reducing the message length can enhance the anti-packet loss capability of the system because: assuming that the original packet length is 1KB, i.e. 1024 bytes, and the total data size is 2KB, i.e. 2048 bytes, there are 2 packets. At this time, the length of the packet is halved to 512B, that is, 512 bytes, and the size of the total data is still 2KB, but since the length of each packet is halved, the number of packets is doubled to 4 packets, which means that the number of packets per packet group is increased, and thus the interleaving depth can also be doubled accordingly. Therefore, the message length is reduced, and the interleaving depth can be increased, so that the anti-packet loss capability of the system is enhanced.
For example, the packet length in fig. 1a is halved, FEC encoding is used and the packet is regrouped, resulting in the packet group shown in fig. 1 c. It can be seen that the original packet group is 3, there are 24 packets in total, after the length of the packet is halved, the number of the packets is doubled, and the packet group becomes 48 packets, and the number of the packet groups is 6, but the size of the total data is still unchanged. The packet group in fig. 1c is then interleaved and coded, the maximum interleaving depth is changed from 3 to 6, and the resulting interleaved packet is as shown in fig. 1 d. After the length of the packet is halved, the interleaving depth d is changed from 3 to 6, and at this time, the maximum packet loss resistance of the system is as follows: wmax=2×4×6=48。
Therefore, the maximum anti-packet loss capability of the system is doubled. Therefore, the interleaving depth can be increased by reducing the message length, so that the packet loss resistance of the system is enhanced. The interleaving order may be arbitrarily set, and may be 123456, 654321, or 145632, which is not limited herein.
It should be noted that, although reducing the message length can enhance the packet loss resistance of the system, the smaller the message length is, the better the message length is, because the smaller the message length is, the larger the number of messages in the network is, which increases the processing overhead of the system, and causes a great pressure to the system for receiving and transmitting, which may cause network congestion, so a minimum value, that is, a third threshold value, needs to be set for the message length. According to practical experience, the value of the third threshold should be 256 bytes, i.e. 256 bytes.
In addition, since the maximum packet loss resistance of the system is: wmax2 × r × d, that is, the maximum packet loss resistance of the system is only related to the length r of the redundant data and the interleaving depth d. In order to obtain the same maximum packet loss resistance, the redundancy can be reduced while the interleaving depth is doubled by halving the original message length. For example, in order to obtain the maximum packet loss resistance of the same system as the original system, namely 24, after the interleaving depth d is increased from 3 to 6, the length r of the redundant data can be correspondingly reduced from 4 to 2. Due to the reduction of redundancy, the system has higher bandwidth utilization rate under the condition of obtaining the same maximum packet loss resistance.
According to the embodiment of the invention, when the packet loss rate is greater than the preset value, the FEC redundancy and/or the interleaving depth are adjusted, if the packet loss rate and the packet loss rate reach the threshold value, the packet loss rate is still greater than the preset value, and then the message length is adjusted, so that under the condition of poor network quality, a plurality of parameters can be adjusted, namely, the FEC redundancy and/or the interleaving depth are adjusted first, and then the message length is adjusted, so that the packet loss resistance of the system is enhanced.
Example two:
step S201: receiving packet loss feedback information; wherein the packet loss feedback information includes a packet loss rate.
In this embodiment, S201 is the same as S101 in the previous embodiment, and please refer to the related description of S102 in the previous embodiment, which is not repeated herein.
Step S202: if the packet loss rate is greater than a preset value, adjusting the redundancy of forward error correction coding (FEC) and/or the interleaving depth of interleaving coding until the redundancy reaches a first threshold and/or the interleaving depth reaches a second threshold.
In this embodiment, S202 is the same as S102 in the previous embodiment, and please refer to the related description of S102 in the previous embodiment, which is not repeated herein.
Step S203: after the redundancy reaches a first threshold value and/or the interleaving depth reaches a second threshold value, if the packet loss rate is still larger than a preset value, the message length is adjusted until the message length reaches a third threshold value.
In this embodiment, S203 is the same as S103 in the previous embodiment, and please refer to the related description of S102 in the previous embodiment, which is not repeated herein.
Step S204: receiving adjusted packet loss feedback information; wherein, the adjusted packet loss feedback information includes an adjusted packet loss rate.
After the adjustment of the redundancy and/or the interleaving depth and the message length, the data to be transmitted is sent to the receiving end, and the receiving end calculates the packet loss rate again and feeds back the packet loss rate to the sending end. And the sending end receives the adjusted packet loss feedback information, wherein the adjusted packet loss feedback information comprises the adjusted packet loss rate.
Step S205: if the adjusted packet loss rate is not greater than a preset value, the redundancy and/or the interleaving depth are adjusted until the redundancy reaches a first initial value and/or the interleaving depth reaches a second initial value.
When the adjusted packet loss rate is not greater than the preset value, it is indicated that packet loss can be resisted at present, but a certain time delay is introduced due to the fact that the redundancy and/or the interleaving depth and the message length are adjusted before. It is therefore desirable to reduce the delay introduced in the case of a good network quality.
The first initial value and the second initial value may be set as needed, for example, may be set to 2 or 3, and are not limited herein.
The first is to adjust the redundancy of FEC first, and then adjust the interleaving depth of interleaving code; the second is to adjust the interleaving depth of the interleaving code first and then adjust the redundancy of the FEC.
Optionally, the first adjustment manner is: if the adjusted packet loss rate is not greater than a preset value, the redundancy is adjusted first, specifically: the redundancy is reduced until the redundancy reaches a first initial value.
When the redundancy reaches the first initial value and the adjusted packet loss rate is still not greater than the preset value, further adjusting the interleaving depth, specifically: the interleaving depth is reduced until the interleaving depth reaches a second initial value.
When adjusting the redundancy or the interleaving depth, the amplitude of each adjustment may be 1 or 2, or may be other values, and is not limited herein.
Optionally, the second adjustment manner is: if the adjusted packet loss ratio is not greater than the preset value, the interleaving depth is adjusted, specifically: the interleaving depth is reduced until the interleaving depth reaches two initial values.
When the interleaving depth reaches the second initial value, and the adjusted packet loss rate is still not greater than the preset value, further adjusting the size of the redundancy, specifically: the redundancy is reduced until the redundancy reaches a first initial value.
When adjusting the redundancy or the interleaving depth, the amplitude of each adjustment may be 1 or 2, or may be other values, and is not limited herein.
Step S206: after the redundancy is up to a first initial value and/or the interleaving depth is up to a second initial value, the method further comprises the following steps: and if the adjusted packet loss rate is not greater than a preset value, adjusting the message length until the message length reaches a third initial value.
After the redundancy reaches a first initial value and/or the interleaving depth reaches a second initial value, if the adjusted packet loss rate is not greater than a preset value, the length of the packet may be continuously adjusted, specifically: and increasing the length of the message until the length of the message reaches a third initial value. Normally, the third initial value is set to 1KB, i.e., 1024 bytes.
According to the embodiment of the invention, when the packet loss rate is greater than the preset value, the FEC redundancy and/or the interleaving depth are adjusted firstly, if the packet loss rate and the packet loss rate reach the threshold value, the packet loss rate is still greater than the preset value, and then the message length is adjusted, so that under the condition of poor network quality, a plurality of parameters can be adjusted, namely the FEC redundancy and/or the interleaving depth are adjusted firstly, and then the message length is adjusted, so that the packet loss resistance of the system is enhanced; in addition, under the condition that the packet loss rate is not greater than the preset value, the redundancy and/or the interleaving depth and the message length are adjusted until the packet loss rate reaches the initial value, so that the packet loss rate is not greater than the preset value, and the time delay is reduced.
It should be understood that, the sequence numbers of the steps in the foregoing embodiments do not imply an execution sequence, and the execution sequence of each process should be determined by its function and inherent logic, and should not constitute any limitation to the implementation process of the embodiments of the present invention.
Example three:
referring to fig. 3, fig. 3 is a diagram of a network adaptive packet loss prevention apparatus according to an embodiment of the present invention, where the apparatus includes: an information receiving module 301, a redundancy and/or interleaving depth adjusting module 302 and a message length adjusting module 303.
An information receiving module 301, configured to receive packet loss feedback information; wherein, the packet loss feedback information includes a packet loss rate;
a first adjusting module 302, configured to adjust redundancy of forward error correction coding FEC and/or interleaving depth of interleaving coding if the packet loss rate is greater than a preset value, until the redundancy reaches a first threshold and/or the interleaving depth reaches a second threshold;
optionally, the first adjusting module 302 includes:
a redundancy first adjusting unit 3021, configured to adjust the redundancy of the forward error correction coding FEC if the packet loss rate is greater than a preset value;
a first interleaving code adjusting unit 3022, configured to adjust the interleaving depth until the interleaving depth reaches a second threshold after the redundancy reaches a first threshold and if the packet loss rate is still greater than a preset value.
Optionally, the first adjusting module 302 includes:
a second interleaving-coding adjusting unit 3023, configured to adjust an interleaving depth of the interleaving coding if the packet loss ratio is greater than a preset value;
a redundancy second adjusting unit 3024, configured to, after the interleaving depth reaches the second threshold, if the packet loss rate is still greater than a preset value, adjust the redundancy until the redundancy reaches the first threshold.
A second adjusting module 303, configured to, after the redundancy reaches a first threshold or the interleaving depth reaches a second threshold, adjust the packet length until the packet length reaches a third threshold if the packet loss rate is still greater than a preset value.
Further, the apparatus further comprises: an adjusted information receiving module 304, a third adjusting module 305 and a fourth adjusting module 306.
An adjusted information receiving module 304, configured to receive adjusted packet loss feedback information; wherein, the adjusted packet loss feedback information includes an adjusted packet loss rate;
a third adjusting module 305, configured to adjust the redundancy and/or the interleaving depth until the redundancy reaches a first initial value and/or the interleaving depth reaches a second initial value, if the adjusted packet loss ratio is not greater than a preset value;
a fourth adjusting module 306, configured to, after the redundancy reaches the first initial value and/or the interleaving depth reaches the second initial value, adjust the length of the packet until the length of the packet reaches the third initial value if the packet loss rate after the adjustment is not greater than a preset value.
Example four:
fig. 4 is a schematic diagram of a terminal device according to an embodiment of the present invention. As shown in fig. 4, a terminal device 4 of this embodiment includes: a processor 40, a memory 41 and a computer program 42, e.g. a program, stored in said memory 41 and executable on said processor 40. The processor 40, when executing the computer program 42, implements the steps in the various method embodiments described above, such as the steps 101 to 103 shown in fig. 1. Alternatively, the processor 40, when executing the computer program 42, implements the functions of the modules/units in the above-mentioned device embodiments, such as the functions of the modules 31 to 33 shown in fig. 3.
Illustratively, the computer program 42 may be partitioned into one or more modules/units that are stored in the memory 41 and executed by the processor 40 to implement the present invention. The one or more modules/units may be a series of computer program instruction segments capable of performing specific functions, which are used to describe the execution process of the computer program 42 in the terminal device 4. For example, the computer program 42 may be divided into an information receiving module, a first adjusting module and a second adjusting module, and each module has the following specific functions:
the information receiving module is used for receiving packet loss feedback information; wherein, the packet loss feedback information includes a packet loss rate;
a first adjusting module, configured to adjust redundancy of forward error correction coding FEC and/or interleaving depth of interleaving coding if the packet loss rate is greater than a preset value, until the redundancy reaches a first threshold and/or the interleaving depth reaches a second threshold;
and the second adjusting module is used for adjusting the length of the message until the length of the message reaches a third threshold value if the packet loss rate is still larger than a preset value after the redundancy reaches a first threshold value or the interleaving depth reaches a second threshold value.
The terminal device 4 may be a desktop computer, a notebook, a palm computer, a cloud server, or other computing devices. The terminal device may include, but is not limited to, a processor 40, a memory 41. Those skilled in the art will appreciate that fig. 4 is merely an example of a terminal device 4 and does not constitute a limitation of terminal device 4 and may include more or fewer components than shown, or some components may be combined, or different components, e.g., the terminal device may also include input-output devices, network access devices, buses, etc.
The Processor 40 may be a Central Processing Unit (CPU), other general purpose Processor, a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), an off-the-shelf Programmable Gate Array (FPGA) or other Programmable logic device, discrete Gate or transistor logic, discrete hardware components, etc. A general purpose processor may be a microprocessor or the processor may be any conventional processor or the like.
The memory 41 may be an internal storage unit of the terminal device 4, such as a hard disk or a memory of the terminal device 4. The memory 41 may also be an external storage device of the terminal device 4, such as a plug-in hard disk, a Smart Media Card (SMC), a Secure Digital (SD) Card, a Flash memory Card (Flash Card), and the like, which are provided on the terminal device 4. Further, the memory 41 may also include both an internal storage unit and an external storage device of the terminal device 4. The memory 41 is used for storing the computer program and other programs and data required by the terminal device. The memory 41 may also be used to temporarily store data that has been output or is to be output.
It will be apparent to those skilled in the art that, for convenience and brevity of description, only the above-mentioned division of the functional units and modules is illustrated, and in practical applications, the above-mentioned function distribution may be performed by different functional units and modules according to needs, that is, the internal structure of the apparatus is divided into different functional units or modules to perform all or part of the above-mentioned functions. Each functional unit and module in the embodiments may be integrated in one processing unit, or each unit may exist alone physically, or two or more units are integrated in one unit, and the integrated unit may be implemented in a form of hardware, or in a form of software functional unit. In addition, specific names of the functional units and modules are only for convenience of distinguishing from each other, and are not used for limiting the protection scope of the present application. The specific working processes of the units and modules in the system may refer to the corresponding processes in the foregoing method embodiments, and are not described herein again.
In the above embodiments, the descriptions of the respective embodiments have respective emphasis, and reference may be made to the related descriptions of other embodiments for parts that are not described or illustrated in a certain embodiment.
Those of ordinary skill in the art will appreciate that the various illustrative elements and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware or combinations of computer software and electronic hardware. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the implementation. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present invention.
In the embodiments provided in the present invention, it should be understood that the disclosed apparatus/terminal device and method may be implemented in other ways. For example, the above-described embodiments of the apparatus/terminal device are merely illustrative, and for example, the division of the modules or units is only one logical division, and there may be other divisions when actually implemented, for example, a plurality of units or components may be combined or integrated into another system, or some features may be omitted, or not executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection through some interfaces, devices or units, and may be in an electrical, mechanical or other form.
The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of the embodiment.
In addition, functional units in the embodiments of the present invention may be integrated into one processing unit, or each unit may exist alone physically, or two or more units are integrated into one unit. The integrated unit can be realized in a form of hardware, and can also be realized in a form of a software functional unit.
The integrated modules/units, if implemented in the form of software functional units and sold or used as separate products, may be stored in a computer readable storage medium. Based on such understanding, all or part of the flow of the method according to the embodiments of the present invention may also be implemented by a computer program, which may be stored in a computer-readable storage medium, and when the computer program is executed by a processor, the steps of the method embodiments may be implemented. Wherein the computer program comprises computer program code, which may be in the form of source code, object code, an executable file or some intermediate form, etc. The computer-readable medium may include: any entity or device capable of carrying the computer program code, recording medium, usb disk, removable hard disk, magnetic disk, optical disk, computer Memory, Read-Only Memory (ROM), Random Access Memory (RAM), electrical carrier wave signals, telecommunications signals, software distribution medium, and the like. It should be noted that the computer readable medium may contain content that is subject to appropriate increase or decrease as required by legislation and patent practice in jurisdictions, for example, in some jurisdictions, computer readable media does not include electrical carrier signals and telecommunications signals as is required by legislation and patent practice.
The above-mentioned embodiments are only used for illustrating the technical solutions of the present invention, and not for limiting the same; although the present invention has been described in detail with reference to the foregoing embodiments, it will be understood by those of ordinary skill in the art that: the technical solutions described in the foregoing embodiments may still be modified, or some technical features may be equivalently replaced; such modifications and substitutions do not substantially depart from the spirit and scope of the embodiments of the present invention, and are intended to be included within the scope of the present invention.

Claims (10)

1. A network adaptive packet loss resisting method is characterized by comprising the following steps:
receiving packet loss feedback information; wherein, the packet loss feedback information includes a packet loss rate;
if the packet loss rate is greater than a preset value, adjusting the redundancy rate of Forward Error Correction (FEC) and/or the interleaving depth of interleaving coding until the redundancy rate reaches a first threshold value and/or the interleaving depth reaches a second threshold value;
after the redundancy reaches a first threshold value and/or the interleaving depth reaches a second threshold value, if the packet loss rate is still larger than a preset value, the message length is adjusted until the message length reaches a third threshold value.
2. The method according to claim 1, wherein if the packet loss ratio is greater than a preset value, adjusting redundancy of forward error correction coding (FEC) and an interleaving depth of interleaving coding until the redundancy reaches a first threshold and the interleaving depth reaches a second threshold, specifically comprising:
if the packet loss rate is greater than a preset value, adjusting the redundancy of forward error correction coding (FEC);
after the redundancy reaches a first threshold, if the packet loss rate is still greater than a preset value, adjusting the interleaving depth until the interleaving depth reaches a second threshold.
3. The method of claim 1, wherein if the packet loss rate is greater than a preset value, adjusting redundancy of Forward Error Correction (FEC) and interleaving depth of interleaving coding until the redundancy reaches a first threshold and the interleaving depth reaches a second threshold, further comprising:
if the packet loss rate is greater than a preset value, adjusting the interleaving depth of the interleaving codes;
and after the interleaving depth reaches a second threshold, if the packet loss rate is still greater than a preset value, adjusting the redundancy until the redundancy reaches a first threshold.
4. The method of claim 1, wherein the third threshold is 256 bytes.
5. The method of any one of claims 1-4, further comprising:
receiving adjusted packet loss feedback information; wherein, the adjusted packet loss feedback information includes an adjusted packet loss rate;
if the adjusted packet loss rate is not greater than a preset value, the redundancy and/or the interleaving depth are adjusted until the redundancy reaches a first initial value and/or the interleaving depth reaches a second initial value.
6. The method of claim 5, further comprising, after the redundancy reaches a first initial value and/or the interleaving depth reaches a second initial value:
and if the adjusted packet loss rate is not greater than a preset value, adjusting the message length until the message length reaches a third initial value.
7. A network adaptive packet loss resistant apparatus, comprising:
the information receiving module is used for receiving packet loss feedback information; wherein, the packet loss feedback information includes a packet loss rate;
a first adjusting module, configured to adjust redundancy of forward error correction coding FEC and/or interleaving depth of interleaving coding if the packet loss rate is greater than a preset value, until the redundancy reaches a first threshold and/or the interleaving depth reaches a second threshold;
and the second adjusting module is used for adjusting the length of the message until the length of the message reaches a third threshold value if the packet loss rate is still larger than a preset value after the redundancy reaches a first threshold value or the interleaving depth reaches a second threshold value.
8. The apparatus according to claim 7, wherein when the first adjusting module is configured to adjust redundancy of forward error correction coding (FEC) and interleaving depth of interleaving coding if the packet loss rate is greater than a preset value until the redundancy reaches a first threshold and the interleaving depth reaches a second threshold, the first adjusting module specifically includes:
a redundancy first adjusting unit, configured to adjust redundancy of forward error correction coding FEC if the packet loss rate is greater than a preset value;
and the interleaving coding first adjusting unit is used for adjusting the interleaving depth until the interleaving depth reaches a second threshold value after the redundancy reaches a first threshold value and if the packet loss rate is still greater than a preset value.
9. A terminal device comprising a memory, a processor and a computer program stored in the memory and executable on the processor, characterized in that the processor implements the steps of the method according to any of claims 1 to 6 when executing the computer program.
10. A computer-readable storage medium, in which a computer program is stored which, when being executed by a processor, carries out the steps of the method according to any one of claims 1 to 6.
CN201811405366.1A 2018-11-23 2018-11-23 Network self-adaptive packet loss resisting method and device and terminal equipment Active CN109327283B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811405366.1A CN109327283B (en) 2018-11-23 2018-11-23 Network self-adaptive packet loss resisting method and device and terminal equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811405366.1A CN109327283B (en) 2018-11-23 2018-11-23 Network self-adaptive packet loss resisting method and device and terminal equipment

Publications (2)

Publication Number Publication Date
CN109327283A CN109327283A (en) 2019-02-12
CN109327283B true CN109327283B (en) 2021-06-22

Family

ID=65259126

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811405366.1A Active CN109327283B (en) 2018-11-23 2018-11-23 Network self-adaptive packet loss resisting method and device and terminal equipment

Country Status (1)

Country Link
CN (1) CN109327283B (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112564856A (en) * 2019-09-10 2021-03-26 华为技术有限公司 Message processing method and device and computer readable storage medium
CN110855400B (en) * 2019-11-29 2022-02-25 江苏方天电力技术有限公司 Self-adaptive packet loss recovery method based on error correction code, computing device and storage medium
CN114499747B (en) * 2020-11-09 2023-06-20 成都鼎桥通信技术有限公司 Audio and video data processing method and device, electronic equipment and storage medium
CN115085859B (en) * 2021-03-15 2023-11-24 海能达通信股份有限公司 Packet loss prevention method, device and computer readable storage medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101039260A (en) * 2006-03-17 2007-09-19 富士通株式会社 Data transferring method, and communication system and program applied with the method
CN103916367A (en) * 2012-12-31 2014-07-09 北京新媒传信科技有限公司 Method and apparatus for transmission of multimedia data
CN104158761A (en) * 2014-08-05 2014-11-19 华为技术有限公司 Flow distribution method and device
CN107483144A (en) * 2016-06-07 2017-12-15 中兴通讯股份有限公司 Forward error correction feedback information transmission method, device

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10033483B2 (en) * 2015-05-18 2018-07-24 Microsoft Technology Licensing, Llc Adjustable interleaving for communication data

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101039260A (en) * 2006-03-17 2007-09-19 富士通株式会社 Data transferring method, and communication system and program applied with the method
CN103916367A (en) * 2012-12-31 2014-07-09 北京新媒传信科技有限公司 Method and apparatus for transmission of multimedia data
CN104158761A (en) * 2014-08-05 2014-11-19 华为技术有限公司 Flow distribution method and device
CN107483144A (en) * 2016-06-07 2017-12-15 中兴通讯股份有限公司 Forward error correction feedback information transmission method, device

Also Published As

Publication number Publication date
CN109327283A (en) 2019-02-12

Similar Documents

Publication Publication Date Title
CN109327283B (en) Network self-adaptive packet loss resisting method and device and terminal equipment
US11349900B2 (en) Voice encoding and sending method and apparatus
CN108667739B (en) Congestion control method, device and system
CN103023813B (en) Wobble buffer
CN108600834B (en) Video transmission system, receiving/sending/transmitting method and device
Barannik et al. The technology of the video stream intensity controlling based on the bit-planes recombination
GB2521441A (en) Packet loss mitigation
KR102251278B1 (en) Fec mechanism based on media contents
GB2523347A (en) Encoder, decoder and method
JP7408152B2 (en) Self-adaptive system code FEC encoding and decoding method, apparatus, system and medium based on media content
KR20130140938A (en) Apparatus and method for transmitting and receiving packet in broadcasting and communication system
CN112187817B (en) Streaming media data transmission method, device, equipment and storage medium
CN111385055B (en) Data transmission method and device
WO2019237624A1 (en) Scrambling method and device, and readable storage medium
CN108965173B (en) Descrambling method, descrambling device and readable storage medium
CN116227630A (en) Federal learning method and related equipment
US20130238960A1 (en) Methods and apparatus for maximum utilization of a dynamic varying digital data channel
CN108667557B (en) Self-adaptive FEC coding matrix design method based on media content
CN111245566B (en) Method and device for preventing packet loss of unreliable network, storage medium and electronic equipment
WO2021164405A1 (en) Data encoding and decoding methods, and related device and system
CN111193648B (en) Data transmission method for reducing CAN bus load, terminal equipment and storage medium
CN109245850B (en) Self-adaptive system code FEC coding and decoding method based on media content
US8791981B2 (en) Bit rate control apparatus and method thereof
CN114070459A (en) Data transmission method, device, terminal equipment and storage medium
CN114630327A (en) Method and equipment for protecting integrity of data packet

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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 1408 Qiancheng commercial center, No.5 Haicheng Road, Mabu community, Xixiang street, Bao'an District, Shenzhen, Guangdong 518000

Applicant after: Shenzhen Qixin haoshitong cloud computing Co., Ltd

Address before: 518000 916, 9th floor, block B, building 9, zone 2, Shenzhen Bay science and technology ecological park, Yuehai street, Nanshan District, Shenzhen City, Guangdong Province

Applicant before: Shenzhen Inpor Cloud Computing Co.,Ltd.

GR01 Patent grant
GR01 Patent grant