Data transmission method, device and computer storage medium

By dynamically determining the FEC redundancy, the problem of fixed redundancy rate encoding is solved, and the bandwidth waste and cost of high when the network is in good condition is achieved, achieving flexible coding and efficient transmission.

CN114448569BActive Publication Date: 2024-12-13TAOBAO CHINA SOFTWARE
View PDF 17 Cites 0 Cited by

Patent Information

Application Number
CN202210101642.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-01-27
Publication Date
2024-12-13
Estimated Expiration
2042-01-27

AI Technical Summary

Technical Problem

The prior art still uses FEC encoding with fixed redundancy rates in good network conditions, resulting in waste of bandwidth and increased transmission costs.

Method used

By obtaining the data round trip time of real-time transmission data, the forward error correction code FEC redundancy of the data frame is dynamically determined, and encoding and transmission is performed based on this redundancy, thereby realizing flexible redundant encoding operations.

Benefits of technology

It reduces the network bandwidth requirement during data transmission, improves the utilization rate of network resources, reduces the cost of data transmission, and enhances the practicality of the method.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114448569B_ABST
    Figure CN114448569B_ABST
Patent Text Reader

Abstract

The embodiment of the present application provides a data transmission method, device and computer storage medium. It includes: obtaining the data round trip time corresponding to the real-time transmission data; determining the forward error correction code FEC redundancy corresponding to the data frame in the real-time transmission data based on the data round trip time; encoding and transmitting the real-time transmission data based on the FEC redundancy. The technical solution provided by the present application determines the forward error correction code FEC redundancy corresponding to the data frame in the real-time transmission data through the acquired data round trip time, and encodes and transmits the real-time transmission data based on the FEC redundancy, which effectively realizes that different redundancies corresponding to the data frame can be determined based on different data round trip times. This not only realizes flexible redundant encoding operations on real-time transmission data, but also helps to reduce the network bandwidth required for data transmission, while improving the utilization rate of network resources, thereby reducing the cost of data transmission.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of network communication technology, and in particular to a data transmission method, device and computer storage medium. Background Art

[0002] With the rapid development of network technology, real-time streaming media transmission has entered the era of full-link instant communication (Real-Time Communication, referred to as RTC), and there are more and more low-latency scenarios. Among them, Forward Error Correction (Forward Error Correction, referred to as FEC) as one of the full-link service quality (Quality of Service, referred to as QOS) optimization solutions can reduce link packet loss, lag, and delay problems through the general encoding and decoding functions of FEC.

[0003] Currently, a fixed FEC coding redundancy is configured for each frame in the video, for example: the redundancy of I frame is 30%, and the redundancy of P frame is 50%. However, when the network condition is very good, the data transmitted in the network may not be lost. Still using the coding operation with a fixed redundancy rate will not only waste bandwidth, but also increase the transmission cost. Summary of the invention

[0004] The embodiments of the present application provide a data transmission method, device and computer storage medium, which effectively configure different FEC coding redundancies based on different network conditions, thereby improving the utilization of network resources.

[0005] In a first aspect, an embodiment of the present application provides a data transmission method, including:

[0006] Obtaining the data round trip time corresponding to the real-time transmission data;

[0007] Determine, based on the data round trip time, a forward error correction code (FEC) redundancy corresponding to a data frame in the real-time transmission data;

[0008] The real-time transmission data is encoded and transmitted based on the FEC redundancy.

[0009] In a second aspect, an embodiment of the present application provides a data transmission device, including:

[0010] A first acquisition module, used to acquire a data round trip time corresponding to the real-time transmission data;

[0011] A first determination module, configured to determine, based on the data round trip time, a forward error correction code FEC redundancy corresponding to a data frame in the real-time transmission data;

[0012] The first processing module is used to encode and transmit the real-time transmission data based on the FEC redundancy.

[0013] In a third aspect, an embodiment of the present application provides an electronic device, comprising: a memory, a processor; wherein the memory is used to store one or more computer instructions, wherein the one or more computer instructions, when executed by the processor, implement the data transmission method shown in the first aspect above.

[0014] In a fourth aspect, an embodiment of the present invention provides a computer storage medium for storing a computer program, wherein the computer program enables a computer to implement the data transmission method shown in the first aspect when executed.

[0015] In a fifth aspect, an embodiment of the present invention provides a computer program product, comprising: a computer program, which, when executed by a processor of an electronic device, enables the processor to execute the data transmission method shown in the first aspect above.

[0016] The data transmission method, device and computer storage medium provided in the embodiments of the present application obtain the data round-trip time corresponding to the real-time transmission data, and then determine the forward error correction code FEC redundancy corresponding to the data frame in the real-time transmission data based on the data round-trip time, and encode and transmit the real-time transmission data based on the FEC redundancy, thereby effectively realizing that different redundancies corresponding to the data frames can be determined based on different data round-trip times. This not only realizes flexible redundant encoding operations on the real-time transmission data, which is beneficial to reducing the network bandwidth required for data transmission, but also improves the utilization rate of network resources and reduces the data transmission cost, further ensuring the practicality of the method and facilitating market promotion and application. BRIEF DESCRIPTION OF THE DRAWINGS

[0017] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, a brief introduction will be given below to the drawings required for use in the embodiments or the description of the prior art. Obviously, the drawings described below are some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.

[0018] Figure 1 A schematic diagram of a data transmission method provided in an embodiment of the present application;

[0019] Figure 2 A flowchart of a data transmission method provided in an embodiment of the present application;

[0020] Figure 3 A schematic diagram of a process for determining a corrected packet loss rate based on the actual packet loss rate provided in an embodiment of the present application;

[0021] Figure 4 A schematic diagram of a process for encoding and transmitting the real-time transmission data based on the FEC redundancy provided in an embodiment of the present application;

[0022] Figure 5 A flowchart of another data transmission method provided in an embodiment of the present application;

[0023] Figure 6 A flowchart of another data transmission method provided in an embodiment of the present application;

[0024] Figure 7 A flowchart of another data transmission method provided in an embodiment of the present application;

[0025] Figure 8 A schematic diagram of a data transmission method provided for an application embodiment of the present application;

[0026] Fig. 9 A schematic diagram of the structure of a data transmission device provided in an embodiment of the present application;

[0027] Fig.10 for Fig. 9 A schematic structural diagram of an electronic device corresponding to the data transmission device shown. DETAILED DESCRIPTION

[0028] In order to make the purpose, technical solution and advantages of the embodiments of the present application clearer, the technical solution in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.

[0029] The terms used in the embodiments of the present application are only for the purpose of describing specific embodiments, and are not intended to limit the present application. The singular forms of "a", "said", and "the" used in the embodiments of the present application and the appended claims are also intended to include plural forms, unless the context clearly indicates other meanings, and "multiple" generally includes at least two, but does not exclude the inclusion of at least one.

[0030] It should be understood that the term "and / or" used in this article is only a description of the association relationship of associated objects, indicating that there can be three relationships. For example, A and / or B can represent: A exists alone, A and B exist at the same time, and B exists alone. In addition, the character " / " in this article generally indicates that the associated objects before and after are in an "or" relationship.

[0031] As used herein, the words "if" and "if" may be interpreted as "at the time of" or "when" or "in response to determining" or "in response to detecting", depending on the context. Similarly, the phrases "if it is determined" or "if (stated condition or event) is detected" may be interpreted as "when it is determined" or "in response to determining" or "when detecting (stated condition or event)" or "in response to detecting (stated condition or event)", depending on the context.

[0032] It should also be noted that the terms "include", "comprises" or any other variations thereof are intended to cover non-exclusive inclusion, so that a product or system including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such a product or system. In the absence of more restrictions, the elements defined by the sentence "comprises a ..." do not exclude the existence of other identical elements in the product or system including the elements.

[0033] In addition, the step sequence in the following method embodiments is only an example and not a strict limitation.

[0034] Terminology explanation:

[0035] Round Trip Time (RTT) refers to the time required for data to be transmitted from one end to another.

[0036] Forward Error Correction (FEC) is an error control method. It means that the signal is encoded according to a certain algorithm before being sent to the transmission channel, and redundant codes with the characteristics of the signal itself are added. The received signal is decoded at the receiving end according to the corresponding algorithm, so as to find out the error codes generated in the transmission process and correct them.

[0037] Reed-Solomon Forward Error Correction (RS-FEC) is a forward error correction channel coding that corrects the effective polynomial generated by oversampled data.

[0038] Global Realtime Transport Network, referred to as GRTN.

[0039] In order to solve the technical problem existing in the prior art that "when the network condition is very good, the data transmitted in the network may not experience packet loss, and still using the coding operation with a fixed redundancy rate will not only waste bandwidth but also increase the transmission cost", the present embodiment provides a data transmission method, device and computer storage medium, wherein the executor of the data transmission method is a data transmission device, which can be implemented as a data encoding end or a data sending end.

[0040] Specifically, the data transmission device can be any computing device with a certain data transmission capability. In addition, the basic structure of the data transmission device may include: at least one processor. The number of processors depends on the configuration and type of the data transmission device. The data transmission device may also include a memory, which may be volatile, such as RAM, or non-volatile, such as read-only memory (ROM), flash memory, etc., or may include both types. The memory usually stores an operating system (OS), one or more application programs, and may also store program data, etc. In addition to the processing unit and the memory, the data transmission device also includes some basic configurations, such as a network card chip, an IO bus, a display component, and some peripheral devices, etc. Optionally, some peripheral devices may include, for example, a keyboard, a mouse, an input pen, a printer, etc. Other peripheral devices are well known in the art and will not be described in detail here. Optionally, the data transmission device may be a PC (personal computer) terminal, a handheld terminal (e.g., a smart phone, a tablet computer), a vehicle-mounted terminal, a cluster server, a conventional server, a cloud server, a cloud host, a virtual center, etc.

[0041] Reference Figure 1 As shown, the data transmission device can be communicatively connected with a data receiving end, and the data receiving end can be a PC (personal computer) terminal, a handheld terminal (e.g., a smart phone, a tablet computer), a vehicle-mounted terminal, etc. Specifically, the data transmission device can obtain the data round trip time, and different data round trip times are used to identify different operating states of the network. For example, when the data round trip time is relatively small, it means that the operating state of the network is good; when the data round trip time is relatively large, it means that the operating state of the network is average or poor.

[0042] In order to improve the utilization rate of network resources, after obtaining the data round-trip time, the data round-trip time can be analyzed and processed to obtain the forward error correction code FEC redundancy corresponding to the data frame in the real-time transmission data. It should be noted that the data frame in the real-time transmission data may include key frames and non-key frames, and the FEC redundancy corresponding to the key frames and non-key frames may be the same or different; after obtaining the FEC redundancy corresponding to the data frame in the real-time transmission data, the real-time transmission data can be encoded based on the FEC redundancy to obtain the encoded data, and then the encoded data can be transmitted, thereby effectively realizing the encoding and transmission operation of the real-time transmission data based on the FEC redundancy.

[0043] The technical solution provided in this embodiment obtains the data round-trip time corresponding to the real-time transmission data, and then determines the forward error correction code FEC redundancy corresponding to the data frame in the real-time transmission data based on the data round-trip time, and encodes and transmits the real-time transmission data based on the FEC redundancy, thereby effectively realizing that different redundancies corresponding to the data frame can be determined based on different data round-trip times. This not only realizes flexible redundant encoding operations on the real-time transmission data, which is beneficial to reducing the network bandwidth required for data transmission, but also improves the utilization rate of network resources and reduces data transmission costs, further ensuring the practicability of the method and being beneficial to market promotion and application.

[0044] Some embodiments of the present invention are described in detail below in conjunction with the accompanying drawings. In the case where there is no conflict between the embodiments, the following embodiments and the features in the embodiments can be combined with each other. In addition, the step sequence in the following method embodiments is only an example and not a strict limitation.

[0045] Figure 2 A flow chart of a data transmission method provided in an embodiment of the present application; see Attachment Figure 2 As shown, this embodiment provides a data transmission method, that is, the execution subject of the method may be a data transmission device, wherein the data transmission device may be implemented as software, or a combination of software and hardware. Specifically, the data transmission method may include the following steps:

[0046] Step S201: Acquire the data round trip time corresponding to the real-time transmission data.

[0047] Step S202: Based on the data round trip time, determine the forward error correction code FEC redundancy corresponding to the data frame in the real-time transmission data.

[0048] Step S203: Encode and transmit the real-time transmission data based on FEC redundancy.

[0049] The following is a detailed description of each of the above steps:

[0050] Step S201: Acquire the data round trip time corresponding to the real-time transmission data.

[0051] Among them, real-time transmission data refers to data that needs to be transmitted in real time. The real-time transmission data may include at least one of the following: real-time sound stream data, real-time video stream data, real-time text stream data, real-time image stream data, real-time animation stream data, etc. Technical personnel in this field can configure different real-time transmission data according to specific application scenarios.

[0052] In addition, when transmitting real-time transmission data, in order to achieve fast and stable transmission of real-time transmission data based on different network operation states, the data round-trip time corresponding to the real-time transmission data can be obtained. Specifically, this embodiment does not limit the specific method for obtaining the data round-trip time, and technical personnel in this field can configure it according to specific application scenarios or application requirements. In some instances, obtaining the data round-trip time corresponding to the real-time transmission data may include: sending a data packet to a data receiving end (which may be a mobile phone terminal, a tablet computer, or other electronic device capable of performing data communication operations that is connected to the data transmission device for communication), and recording the sending time corresponding to the data packet. When the data receiving end receives the data packet, the data receiving end may send a confirmation message to the receiving end, and the receiving end records the receiving time after receiving the confirmation message, and then determines the data round-trip time corresponding to the real-time transmission data based on the receiving time and the sending time. Specifically, the time difference between the receiving time and the sending time can be determined as the data round-trip time, thereby effectively ensuring the accuracy and reliability of determining the data round-trip time.

[0053] In other instances, obtaining the data round-trip time corresponding to the real-time transmission data may include: obtaining a communication link used to transmit the real-time transmission data, and determining the network operation characteristics corresponding to the communication link (network transmission rate, network bandwidth, etc.); determining the data round-trip time corresponding to the real-time transmission data based on the network operation characteristics, specifically, pre-configuring a data processing algorithm or machine learning model for analyzing and processing the network operation characteristics, and then using the data processing algorithm or machine learning model to analyze and process the network operation characteristics to obtain the data round-trip time corresponding to the real-time transmission data, thereby effectively ensuring the accuracy and reliability of the determination of the data round-trip time.

[0054] Step S202: Based on the data round trip time, determine the forward error correction code FEC redundancy corresponding to the data frame in the real-time transmission data.

[0055] After obtaining the data round-trip time, the data round-trip time can be analyzed and processed to determine the FEC redundancy corresponding to the data frames in the real-time transmission data, wherein the data frames in the real-time transmission data may include: key frames and non-key frames, key frames may include I frames, non-key frames may include B frames and / or P frames, and in application scenarios with different data round-trip times, different data frames in the real-time transmission data may correspond to different FEC redundancies.

[0056] Specifically, this embodiment does not limit the specific implementation method of FEC redundancy. Those skilled in the art can configure it according to specific application scenarios or application requirements. In some instances, a mapping relationship between data round-trip time and FEC redundancy is pre-configured. Based on the mapping relationship and data round-trip time, the FEC redundancy corresponding to the data frame in the real-time transmission data can be determined, thereby effectively ensuring the accuracy and reliability of the determination of FEC redundancy. In other instances, a machine learning model for analyzing and processing the data round-trip time is pre-configured. After the data round-trip time is obtained, the data round-trip time can be input into the machine learning model, so that the forward error correction code FEC redundancy corresponding to the data frame in the real-time transmission data can be obtained.

[0057] In addition, FEC redundancy may correspond to different calculation methods, and different calculated FEC redundancy may correspond to different value ranges. In some examples, FEC redundancy may be a ratio between redundant data and original data. In this case, FEC redundancy may be a value greater than 1 or less than 1. For example, the amount of original data is k, and the amount of redundant data is n. In this case, FEC redundancy may be n / k. In this case, FEC redundancy may be a value greater than 1 or less than 1. In other examples, FEC redundancy may be a ratio between redundant data and the sum of original data and redundant data. In this case, FEC redundancy may be a value less than 1. For example, the amount of original data is k, and the amount of redundant data is n. In this case, FEC redundancy may be n / (k+n). In this case, FEC redundancy may be a value less than 1.

[0058] Step S203: Encode and transmit the real-time transmission data based on FEC redundancy.

[0059] After obtaining the FEC redundancy, the real-time transmission data can be encoded based on the FEC redundancy to obtain the encoded data, and then the encoded data can be transmitted to the data receiving end, thereby effectively realizing the encoding and transmission operation of the real-time transmission data, further improving the quality and efficiency of data transmission.

[0060] The data transmission method provided in this embodiment obtains the data round-trip time corresponding to the real-time transmission data, and then determines the forward error correction code FEC redundancy corresponding to the data frame in the real-time transmission data based on the data round-trip time, and encodes and transmits the real-time transmission data based on the FEC redundancy, thereby effectively realizing that different redundancies corresponding to the data frame can be determined based on different data round-trip times. This not only realizes flexible redundant encoding operations on the real-time transmission data, which is beneficial to reducing the network bandwidth required for data transmission, but also improves the utilization rate of network resources and reduces data transmission costs, further ensuring the practicality of the method and facilitating market promotion and application.

[0061] In some examples, this embodiment provides an implementation method for determining FEC redundancy. Specifically, in this embodiment, determining the forward error correction code FEC redundancy corresponding to the data frame in the real-time transmission data based on the data round trip time may include:

[0062] Step S2021: When the data round trip time is less than the first time, the FEC redundancy of the key data frame in the real-time transmission data is configured as a preset value.

[0063] Step S2022: when the data round trip time is greater than or equal to the first time, determining the FEC redundancy corresponding to the key data frames and non-key data frames in the real-time transmission data based on the actual packet loss rate corresponding to the real-time transmission data.

[0064] Among them, a first time for analyzing and processing the data round trip time is pre-configured. This embodiment does not limit the specific length of the first time. For example, the first time can be 10ms, 20ms or 30ms, etc. After the data round trip time is obtained, the data round trip time can be analyzed and compared with the first time. When the data round trip time is less than the first time, it means that the data delay of the network operation state at this time is relatively small, that is, the network operation state is good, and the real-time transmission data at this time may not be lost, or the packet loss rate of the real-time transmission data is low. Therefore, in order to improve the utilization rate of network resources and avoid wasting bandwidth, the key data frame (including I frame) in the real-time transmission data can be obtained, and the FEC redundancy of the key data frame can be configured as a preset value. Specifically, the preset value can be a pre-set redundancy value corresponding to the key data frame when the network is good. In some examples, the FEC redundancy can be a value less than or equal to 30%, for example, the FEC redundancy can be 5%, 10%, 15%, 20% or 30%, etc.

[0065] When the result of the analysis and processing between the data round-trip time and the first time is that the data round-trip time is greater than or equal to the first time, it means that the data delay of the network operation state at this time is relatively large, that is, the network operation state is not very good, and the probability of packet loss of the real-time transmission data at this time is high. Therefore, in order to ensure the quality and effect of the transmission of real-time transmission data, the actual packet loss rate corresponding to the real-time transmission data can be obtained, and then the actual packet loss rate corresponding to the real-time transmission data can be analyzed and processed to determine the FEC redundancy corresponding to the key data frames and non-key data frames in the real-time transmission data. It should be noted that different actual packet loss rates can correspond to different FEC redundancies, and the FEC redundancy corresponding to the key data frames and the FEC redundancy corresponding to the non-key data frames can be the same or different.

[0066] In addition, this embodiment does not limit the specific implementation method of determining the FEC redundancy corresponding to the key data frames (including I frames) and non-key data frames (including: B frames, P frames) in the real-time transmission data based on the actual packet loss rate corresponding to the real-time transmission data. Those skilled in the art can configure it according to the specific application scenario or application requirements. In some instances, a mapping relationship between the actual packet loss rate and the FEC redundancy corresponding to the key data frames and non-key data frames in the real-time transmission data is pre-configured. After the actual packet loss rate is obtained, the FEC redundancy corresponding to the key data frames (including I frames) and non-key data frames (including: B frames, P frames) in the real-time transmission data can be determined based on the actual packet loss rate and the mapping relationship. Or, in other instances, a machine learning model for determining FEC redundancy is pre-trained. After the real-time transmission data and the actual packet loss rate are obtained, the real-time transmission data and the actual packet loss rate can be input into the machine learning model, so that the FEC redundancy corresponding to the key data frames (including I frames) and non-key data frames (including: B frames, P frames) in the real-time transmission data can be obtained.

[0067] In this embodiment, when the data round-trip time is less than the first time, the FEC redundancy of the key data frames in the real-time transmission data is configured as a preset value, and when the data round-trip time is greater than or equal to the first time, the FEC redundancy corresponding to the key data frames and non-key data frames in the real-time transmission data is determined based on the actual packet loss rate corresponding to the real-time transmission data, thereby effectively realizing that different FEC redundancies corresponding to the real-time transmission data can be determined based on different data round-trip times, that is, flexible adjustment and configuration operations of the FEC redundancy corresponding to the real-time transmission data are realized, which not only ensures the stable reliability of the transmission of the real-time transmission data, but also effectively reduces the network bandwidth resources required for the real-time transmission data and the cost required for data transmission, and also improves the utilization rate of network resources.

[0068] In some other examples, in order to improve the accuracy and reliability of determining the FEC redundancy, in addition to pre-configuring the first time for analyzing and processing the data round-trip time, a second time for analyzing and processing the data round-trip time may also be configured, and the second time may be greater than the first time. In this case, determining the FEC redundancy corresponding to each of the key data frame and the non-key data frame in the real-time transmission data based on the actual packet loss rate corresponding to the real-time transmission data in this embodiment may include:

[0069] Step S20221: When the data round-trip time is less than the second time, a corrected packet loss rate is determined based on the actual packet loss rate, and the FEC redundancy corresponding to each of the critical data frames and non-critical data frames in the real-time transmission data is determined based on the corrected packet loss rate, wherein the actual packet loss rate is greater than the corrected packet loss rate.

[0070] Among them, a first time and a second time for analyzing and processing the data round trip time are pre-configured, and the second time is greater than the first time. This embodiment does not limit the specific length of the second time. For example, the second time can be 100ms, 120ms, 130ms or 150ms, etc. After obtaining the data round trip time, the data round trip time can be analyzed and compared with the first time and the second time. When the data round trip time is greater than the first time and less than the second time, it means that the data delay of the network operation state at this time is relatively large, that is, the network operation state is not very good, and the probability of packet loss in the real-time transmission data at this time is high. Therefore, in order to improve the utilization rate of network resources and ensure the stability and reliability of data transmission, the actual packet loss rate can be obtained. After obtaining the actual packet loss rate, the actual packet loss rate can be corrected, so that the corrected packet loss rate can be obtained. The corrected packet loss rate obtained is less than the actual packet loss rate.

[0071] After the corrected packet loss rate is obtained, the corrected packet loss rate can be analyzed and processed to determine the FEC redundancy corresponding to each of the key data frames and non-key data frames in the real-time transmission data, thereby effectively ensuring that the FEC redundancy corresponding to each of the key data frames and non-key data frames in the real-time transmission data is determined. Among them, this embodiment does not limit the specific implementation method of determining the FEC redundancy corresponding to each of the key data frames (I frames) and non-key data frames (B frames, P frames) in the real-time transmission data based on the corrected packet loss rate. Those skilled in the art can configure it according to specific application scenarios or application requirements. In some instances, determining the FEC redundancy corresponding to each of the key data frames and non-key data frames in the real-time transmission data based on the corrected packet loss rate may include: obtaining a first redundancy table corresponding to the corrected packet loss rate, the first redundancy table including multiple corrected packet loss rates and FEC redundancy corresponding to each corrected packet loss rate; based on the first redundancy table and the corrected packet loss rate, determining the FEC redundancy corresponding to each of the key data frames and non-key data frames in the real-time transmission data.

[0072] Specifically, a first redundancy table corresponding to the corrected packet loss rate is pre-configured, and the first redundancy table includes multiple corrected packet loss rates and FEC redundancies corresponding to each corrected packet loss rate, that is, a mapping relationship between the corrected packet loss rate and the FEC redundancies corresponding to the key data frames and non-key data frames in the real-time transmission data is pre-configured. After the corrected packet loss rate is obtained, a table lookup process can be performed based on the corrected packet loss rate and the first redundancy table, so that the FEC redundancies corresponding to the key data frames (including I frames) and non-key data frames (including: B frames, P frames) in the real-time transmission data can be determined.

[0073] In other instances, a machine learning model for determining FEC redundancy is pre-trained. After acquiring the real-time transmission data and the corrected packet loss rate, the real-time transmission data and the corrected packet loss rate can be input into the machine learning model, so that the FEC redundancy corresponding to the key data frames (including I frames) and non-key data frames (including: B frames, P frames) in the real-time transmission data can be obtained.

[0074] Step S20222: When the data round trip time is greater than or equal to the second time, the FEC redundancy corresponding to the key data frames and the non-key data frames in the real-time transmission data is determined according to the actual packet loss rate.

[0075] When the result of the analysis and processing between the data round-trip time and the first time and the second time is that the data round-trip time is greater than or equal to the second time, it means that the data delay of the network operation state at this time is very large, that is, the network operation state is very bad, and the probability of packet loss in the real-time transmission data at this time is high. Therefore, in order to ensure the quality and effect of the transmission of real-time transmission data, the actual packet loss rate corresponding to the real-time transmission data can be obtained, and then the actual packet loss rate corresponding to the real-time transmission data can be analyzed and processed to determine the FEC redundancy corresponding to the key data frames and non-key data frames in the real-time transmission data. It should be noted that different actual packet loss rates can correspond to different FEC redundancies, and the FEC redundancy corresponding to the key data frames and the FEC redundancy corresponding to the non-key data frames can be the same or different.

[0076] In addition, this embodiment does not limit the specific implementation method of determining the FEC redundancy corresponding to each of the key data frames (including I frames) and non-key data frames (including: B frames, P frames) in the real-time transmission data based on the actual packet loss rate corresponding to the real-time transmission data. Those skilled in the art can configure it according to specific application scenarios or application requirements. In some instances, determining the FEC redundancy corresponding to each of the key data frames and non-key data frames in the real-time transmission data based on the actual packet loss rate may include: obtaining a second redundancy table corresponding to the actual packet loss rate, the second redundancy table including multiple actual packet loss rates and FEC redundancy corresponding to each actual packet loss rate; based on the second redundancy table and the actual packet loss rate, determining the FEC redundancy corresponding to each of the key data frames and non-key data frames in the real-time transmission data.

[0077] Specifically, a second redundancy table is pre-configured between the actual packet loss rate and the FEC redundancy corresponding to each of the key data frames and the non-key data frames in the real-time transmission data, and the second redundancy table includes multiple actual packet loss rates and the FEC redundancy corresponding to each actual packet loss rate, that is, a mapping relationship between the actual packet loss rate and the FEC redundancy corresponding to each of the key data frames and the non-key data frames in the real-time transmission data is pre-configured. It should be noted that the mapping relationship included in the first redundancy table and the mapping relationship included in the second redundancy table can be the same or different.

[0078] After obtaining the actual packet loss rate, a redundancy table lookup operation can be performed based on the actual packet loss rate and the second redundancy table, so as to determine the FEC redundancy corresponding to the key data frames (including I frames) and non-key data frames (including: B frames, P frames) in the real-time transmission data.

[0079] In other instances, a machine learning model for determining FEC redundancy is pre-trained. After acquiring the real-time transmission data and the actual packet loss rate, the real-time transmission data and the actual packet loss rate can be input into the machine learning model, so that the FEC redundancy corresponding to the key data frames (including I frames) and non-key data frames (including: B frames, P frames) in the real-time transmission data can be obtained.

[0080] In this embodiment, when the data round-trip time is less than the second time, the corrected packet loss rate is determined based on the actual packet loss rate, and the FEC redundancy corresponding to each of the key data frames and non-key data frames in the real-time transmission data is determined based on the corrected packet loss rate; when the data round-trip time is greater than or equal to the second time, the FEC redundancy corresponding to each of the key data frames and non-key data frames in the real-time transmission data is determined according to the actual packet loss rate, thereby effectively achieving different FEC redundancies corresponding to the real-time transmission data based on different data round-trip times and different network packet loss situations. This not only ensures the stable and reliable transmission of real-time transmission data, but also takes into account the server CPU cost, network bandwidth cost and data anti-packet loss effect, further improving the quality and effect of data transmission.

[0081] Figure 3 A flow chart of determining a corrected packet loss rate based on an actual packet loss rate according to an embodiment of the present application; see Attachment Figure 3 As shown, when the data round-trip time is less than the second time, it is necessary to determine the corrected packet loss rate based on the actual packet loss rate. This embodiment provides an implementation method for determining the corrected packet loss rate. Specifically, determining the corrected packet loss rate based on the actual packet loss rate in this embodiment may include:

[0082] Step S301: Determine the maximum number of retransmissions that the data receiving end can accept.

[0083] Among them, the data transmission device is communicatively connected with a data receiving end, and the data receiving end can receive the real-time transmission data sent by the data transmission device. When the real-time transmission data is lost, the data packet loss can be resisted by a retransmission strategy or an FEC strategy. When the retransmission strategy is used to implement the data recovery operation, in order to ensure that the data receiving end can perform normal data processing operations, the data receiving end is often configured with a maximum number of retransmissions that can be received. Since the corrected packet loss rate is related to the maximum number of retransmissions that the data receiving end can accept, in order to accurately determine the corrected packet loss rate based on the actual packet loss rate, the maximum number of retransmissions that the data receiving end can accept can be determined. In some instances, the maximum number of retransmissions that the data receiving end can accept is pre-configured, and different data receiving ends can correspond to the same or different maximum number of retransmissions. The pre-configured maximum number of retransmissions can be stored in a preset area or a data receiving end, and the maximum number of retransmissions that the data receiving end can accept can be obtained by accessing the preset area or the data receiving end.

[0084] In some other examples, determining the maximum number of retransmissions acceptable to the data receiving end may include: determining a maximum retransmission time acceptable to the data receiving end; and determining the maximum number of retransmissions based on the maximum retransmission time and the data round trip time.

[0085] Specifically, in order to determine the maximum number of retransmissions that the data receiving end can accept, the maximum retransmission time that the data receiving end can accept can be determined first, wherein the maximum retransmission time can be pre-configured, and different data receiving ends can correspond to the same or different maximum retransmission times. The pre-configured maximum retransmission time can be stored in a preset area or a data receiving end, and the maximum retransmission time can be obtained by accessing the preset area or the data receiving end. In addition, the maximum retransmission time is used to identify the maximum time interval corresponding to when no abnormal conditions such as freezing or disconnection occur at the data receiving end during data transmission between the data transmission device and the data receiving end. For example: during data transmission between the data transmission device and the data receiving end, no freezing or disconnection occurs when the data transmission time interval is 80ms, and freezing or disconnection occurs when the data transmission time interval is greater than or equal to 81ms, and then it can be determined that the maximum retransmission time that the data receiving end can accept is 80ms.

[0086] After obtaining the maximum retransmission time and the data round-trip time, the maximum retransmission time and the data round-trip time can be analyzed and processed to determine the maximum number of retransmissions that the data receiving end can accept. In some instances, a machine learning model for determining the maximum number of retransmissions is pre-trained. After obtaining the maximum retransmission time and the data round-trip time, the maximum retransmission time and the data round-trip time can be input into the machine learning model, thereby obtaining the maximum number of retransmissions that the data receiving end can accept. Alternatively, in other instances, after obtaining the maximum retransmission time and the data round-trip time, the ratio between the maximum retransmission time and the data round-trip time can be obtained, and then the ratio is rounded (rounded up or rounded down) to obtain the maximum number of retransmissions, thereby effectively ensuring the accuracy and reliability of determining the maximum number of retransmissions.

[0087] Step S302: Determine a corrected packet loss rate based on the maximum number of retransmissions and the actual packet loss rate.

[0088] After obtaining the maximum number of retransmissions and the actual packet loss rate, the maximum number of retransmissions and the actual packet loss rate may be analyzed and processed to determine the corrected packet loss rate. In some examples, based on the maximum number of retransmissions and the actual packet loss rate, determining the corrected packet loss rate may include: determining the corrected packet loss rate as an exponent with the actual packet loss rate as a base and the maximum number of retransmissions as an exponent parameter. For example, when the actual packet loss rate is l and the maximum number of retransmissions is r, the corrected packet loss rate may be l`=l r , thereby effectively ensuring the accuracy and reliability of determining the corrected packet loss rate.

[0089] In some other examples, based on the maximum number of retransmissions and the actual packet loss rate, determining the modified packet loss rate may include: determining an exponential parameter for adjusting the actual packet loss rate based on the maximum number of retransmissions, the exponential parameter being less than or equal to the maximum number of retransmissions, and then determining the modified packet loss rate as an exponent consisting of the base number and the exponential parameter of the actual packet loss rate. For example, when the actual packet loss rate is l and the maximum number of retransmissions is r, then the exponential parameter k may be determined based on the maximum number of retransmissions, k being less than or equal to r, and then the modified packet loss rate may be l`=l k , thereby effectively ensuring the accuracy and reliability of determining the corrected packet loss rate.

[0090] In this embodiment, by determining the maximum number of retransmissions that the data receiving end can accept, and then determining the corrected packet loss rate based on the maximum number of retransmissions and the actual packet loss rate, the accuracy and reliability of determining the corrected packet loss rate are effectively guaranteed, thereby improving the accuracy of determining the FEC redundancy based on the corrected packet loss rate.

[0091] Figure 4A schematic diagram of a process for encoding and transmitting real-time transmission data based on FEC redundancy provided in an embodiment of the present application; see Attachment Figure 4 As shown, this embodiment provides an implementation method for encoding and transmitting real-time transmission data in combination with a retransmission strategy and FEC redundancy. Specifically, encoding and transmitting real-time transmission data based on FEC redundancy in this embodiment may include:

[0092] Step S401: start retransmission.

[0093] In the process of transmitting the real-time transmission data, in order to ensure the stability and reliability of the transmission of the real-time transmission data, the retransmission function can be enabled to realize the retransmission operation in the network environment with different network operation states. Specifically, when the network operation state between the data receiving end and the data transmission device is relatively good, the packet loss rate corresponding to the real-time transmission data is relatively low. When the real-time transmission data is lost, only the retransmission operation can effectively resist the packet loss of the real-time transmission data; when the network operation state between the data receiving end and the data transmission device is relatively poor, the packet loss rate corresponding to the real-time transmission data may be relatively high. When the real-time transmission data is lost, only the retransmission operation may not effectively guarantee the recovery operation of the real-time transmission data, and then the real-time transmission data can be restored through the FEC redundant coding operation. Therefore, in order to ensure the stability and reliability of the transmission of the real-time transmission data, in the process of encoding and transmitting the real-time transmission data, the retransmission function can be enabled to enable the retransmission operation in a timely manner based on the network operation state corresponding to the data receiving end in real time.

[0094] Step S402: Based on the data round trip time, determine a retransmission strategy corresponding to the real-time transmission data.

[0095] Since different data round trip times are used to identify different network operation states, different retransmission strategies may correspond to the transmission operation of real-time transmission data using different networks. Therefore, after obtaining the data round trip time, the data round trip time may be analyzed and processed to determine the retransmission strategy corresponding to the real-time transmission data. In some instances, a first retransmission strategy and a second retransmission strategy are pre-configured, wherein the first retransmission strategy is used to identify that the time intervals between retransmission requests corresponding to the retransmission operation may be the same, and the second retransmission strategy is used to identify that the time intervals between retransmission requests corresponding to the retransmission operation change exponentially. In specific implementation, in this embodiment, determining the retransmission strategy corresponding to the real-time transmission data based on the data round trip time may include: when the data round trip time is less than the first time, determining the retransmission strategy corresponding to the real-time transmission data as the first strategy; when the data round trip time is greater than or equal to the first time, determining the retransmission strategy corresponding to the real-time transmission data as the second strategy, and the second strategy is used to identify that the time intervals between the retransmission operations change exponentially.

[0096] Specifically, when the data round trip time is less than the first time, it means that the data delay of the network operation state at this time is relatively small, that is, the network operation state is good, and the real-time transmission data at this time may not be lost, or the packet loss rate of the real-time transmission data is low. The recovery operation of the real-time transmission data can be guaranteed by the retransmission operation, and then the retransmission strategy corresponding to the real-time transmission data can be determined to be the first strategy. When the data round trip time is greater than or equal to the first time, it means that the data delay of the network operation state at this time is relatively large, that is, the network operation state is not very good, and the probability of packet loss of the real-time transmission data at this time is high. Therefore, in order to ensure the quality and effect of the transmission of the real-time transmission data, it is necessary not only to enable the retransmission operation, but also to restore and calculate the real-time transmission data based on the FEC redundancy. Since the retransmission strategy and the FEC encoding strategy need to be enabled at the same time at this time, therefore, in order to minimize the required network bandwidth resources, the retransmission operation can be reduced as much as possible, and then the retransmission strategy corresponding to the real-time transmission data can be determined to be the second strategy. The second strategy is used to identify that the time interval between the retransmission requests corresponding to the retransmission operation changes exponentially, thereby effectively realizing that different retransmission strategies corresponding to the real-time transmission data can be determined based on different data round trip times.

[0097] Step S403: Encode and transmit the real-time transmission data based on FEC redundancy and retransmission strategy.

[0098] After obtaining the FEC redundancy and retransmission strategy, the real-time transmission data can be encoded and transmitted based on the FEC redundancy and the retransmission strategy. Specifically, when the network is in good condition, the real-time transmission data can be encoded and transmitted based on the retransmission strategy. When the network is in general condition, the real-time transmission data can be encoded and transmitted based on the FEC redundancy. When the network is poor, the real-time transmission data can be encoded and transmitted based on the retransmission strategy and FEC redundancy. In this way, the real-time transmission data can be encoded and transmitted effectively and flexibly based on the FEC redundancy and the retransmission strategy, further improving the flexibility of the data transmission method.

[0099] In this embodiment, by turning on retransmission, and then determining the retransmission strategy corresponding to the real-time transmission data based on the data round-trip time, and encoding and transmitting the real-time transmission data based on FEC redundancy and the retransmission strategy, it is effectively achieved that the real-time transmission data can be flexibly encoded and transmitted based on FEC redundancy and the retransmission strategy, further improving the flexibility of the use of the data transmission method.

[0100] Figure 5 A flowchart of another data transmission method provided in an embodiment of the present application; based on any of the above embodiments, refer to the attached Figure 5 As shown, since different operating states of the network can adopt different data transmission strategies, in order to ensure the stability and reliability of data transmission, before obtaining the data round trip time corresponding to the real-time transmission data, the method in this embodiment may further include:

[0101] Step S501: Acquire the network bandwidth used to transmit real-time transmission data.

[0102] In order to ensure the stable and reliable transmission of real-time data, the network bandwidth used for transmitting the real-time data can be obtained. Specifically, the network bandwidth used for transmitting the real-time data can be obtained through a network bandwidth testing tool, or the transmission rate of the data packet can be obtained by sending a test data packet, and the network bandwidth used for transmitting the real-time data can be determined based on the transmission rate.

[0103] Step S502: When the network bandwidth is greater than or equal to the preset bandwidth, obtaining the data round trip time corresponding to the real-time transmission data is allowed.

[0104] After obtaining the network bandwidth, the network bandwidth can be analyzed and compared with the preset bandwidth. When the network bandwidth is greater than or equal to the preset bandwidth, it means that the network bandwidth at this time is sufficient for real-time data transmission. At this time, it is allowed to obtain the data round-trip time corresponding to the real-time transmission data. The specific method for obtaining the data round-trip time is similar to the specific method for obtaining step S201 in the above embodiment. Please refer to the above statement for details, which will not be repeated here.

[0105] Step S503: when the network bandwidth is less than the preset bandwidth, obtaining the data round trip time corresponding to the real-time transmission data is prohibited.

[0106] When the network bandwidth is less than the preset bandwidth, it means that the network resources at this time are insufficient for real-time transmission of data. At this time, in order to ensure effective transmission of real-time transmission data, it is prohibited to obtain the data round-trip time corresponding to the real-time transmission data.

[0107] In some instances, when the network bandwidth is less than the preset bandwidth, in order to achieve stable and effective transmission of real-time transmission data, refer to the attached Figure 6 As shown, the method in this embodiment also includes:

[0108] Step S601: Obtaining the priorities corresponding to the key data frames and non-key data frames in the real-time transmission data, wherein the priority of the key data frame is higher than the priority of the non-key data frame.

[0109] Among them, when transmitting real-time transmission data, if the network bandwidth is insufficient, it is necessary to perform packet loss processing on the real-time transmission data. In order to ensure the transmission stability of the real-time transmission data, since the real-time transmission data may include key data frames and non-key data frames, priorities corresponding to different data frames included in the real-time transmission data are pre-configured. Specifically, different data frames may have different priorities. The priority of key data frames is higher than that of non-key data frames. The higher the priority, the lower the priority of data frames with low priority can be discarded when performing packet loss operation on real-time transmission data. After the data frames with low priority are discarded, the data frames with high priority can be discarded.

[0110] For example, when the network bandwidth is insufficient, packet loss processing can be performed according to the priority corresponding to each data frame in the real-time transmission data. The specific order of packet loss is: redundant data corresponding to non-critical data frames, redundant data corresponding to critical frames, non-critical data frames and critical data frames.

[0111] Step S602: Determine the data volume corresponding to the real-time transmission data.

[0112] During the transmission of the real-time transmission data, the real-time transmission data may be analyzed and processed to determine the data volume corresponding to the real-time transmission data, wherein different real-time transmission data may correspond to the same or different data volumes.

[0113] Step S603: Based on the priority, data volume and network bandwidth, the redundancy corresponding to each of the key data frame and the non-key data frame in the real-time transmission data is determined.

[0114] After obtaining the priority, data volume and network bandwidth, the priority, data volume and network bandwidth can be analyzed and processed to determine the redundancy corresponding to each of the key data frames and non-key data frames in the real-time transmission data. In some instances, a machine learning model for determining the redundancy corresponding to each of the key data frames and non-key data frames in the real-time transmission data is pre-trained. After obtaining the priority, data volume, network bandwidth and real-time transmission data, the priority, data volume, network bandwidth and real-time transmission data can be input into the machine learning model, so that the redundancy corresponding to each of the key data frames and non-key data frames in the real-time transmission data can be obtained.

[0115] In other instances, determining the redundancy corresponding to each of the critical data frames and non-critical data frames in the real-time transmission data based on priority, data volume and network bandwidth may include: determining the amount of redundant data corresponding to the real-time transmission data based on data volume and network bandwidth; determining the redundancy corresponding to each of the critical data frames and non-critical data frames in the real-time transmission data based on the redundant data volume and priority.

[0116] Specifically, after obtaining the data volume and network bandwidth, the data volume and network bandwidth can be analyzed and processed to determine the amount of redundant data corresponding to the real-time transmission data. In some instances, the amount of redundant data is the difference between the network bandwidth and the amount of data. After obtaining the amount of redundant data, the amount of redundant data and the priority can be analyzed and processed to determine the redundancy corresponding to the key data frames and non-key data frames in the real-time transmission data. In some instances, the redundancy can be 0.

[0117] Step S604: Encode and transmit the real-time transmission data based on the redundancy corresponding to the key data frames and non-key data frames in the real-time transmission data.

[0118] After obtaining the redundancy corresponding to the key data frames and non-key data frames in the real-time transmission data, the real-time transmission data can be encoded based on the FEC redundancy, and then the encoded data can be obtained, and then the encoded data can be transmitted to the data receiving end, thereby effectively realizing the data transmission operation of the real-time transmission data and further improving the quality and efficiency of data transmission.

[0119] In this embodiment, by obtaining the network bandwidth used to transmit the real-time transmission data, when the network bandwidth is greater than or equal to the preset bandwidth, it is allowed to obtain the data round-trip time corresponding to the real-time transmission data, and when the network bandwidth is less than the preset bandwidth, it is prohibited to obtain the data round-trip time corresponding to the real-time transmission data; it is effectively realized that different redundancies corresponding to the data frames can be determined based on different network bandwidths and data round-trip times, which not only reduces the redundancy rate of the encoding, but also saves network bandwidth, reduces network bandwidth costs, and improves the utilization rate of network resources, further ensuring the practicality of the method and facilitating market promotion and application.

[0120] Figure 7 A flowchart of another data transmission method provided in an embodiment of the present application; based on any one of the embodiments, refer to the attached Figure 7 As shown, in order to further improve the practicability of the data transmission method, the method in this embodiment may further include:

[0121] Step S701: Count the FEC encoding bit rate corresponding to the real-time transmission data in real time.

[0122] When transmitting real-time transmission data, in order to understand the matching between the FEC redundant encoding of the real-time transmission data and the network, the FEC encoding rate corresponding to the real-time transmission data can be counted in real time. In some instances, real-time statistics of the FEC encoding rate corresponding to the real-time transmission data may include: determining data burial points for real-time statistics of the FEC encoding rate, and using the data burial points to count the FEC encoding rate corresponding to the real-time transmission data in real time. Alternatively, in other instances, real-time statistics of the FEC encoding rate corresponding to the real-time transmission data may include: real-time statistics of the FEC encoding data volume and transmission time corresponding to the real-time transmission data; and determining the ratio of the FEC encoding data volume to the transmission time as the FEC encoding rate.

[0123] Step S702: Based on the FEC coding rate, determine the actual redundant data coding amount corresponding to the real-time transmission data.

[0124] After obtaining the FEC coding rate, the FEC coding rate can be analyzed and processed to determine the actual redundant data coding amount corresponding to the real-time transmission data. Specifically, based on the FEC coding rate, determining the actual redundant data coding amount corresponding to the real-time transmission data may include: obtaining a mapping relationship between the FEC coding rate and the actual redundant data coding amount, and determining the actual redundant data coding amount based on the mapping relationship and the FEC coding rate.

[0125] Step S703: Determine the network change trend based on the actual redundant data encoding amount.

[0126] Specifically, since the actual redundant data encoding amount can be adjusted according to different operating states of the network, that is, there is a corresponding relationship between the actual redundant data encoding amount and the network operating state, after obtaining the actual redundant data encoding amount, the actual redundant data encoding amount can be analyzed and processed to determine the network change trend. In some examples, the network change trend can be determined based on the actual redundant data encoding amount within a period of time.

[0127] Step S704: when the network change trend does not meet expectations, prompt information is generated based on the network change trend to prompt the user to make network operation and maintenance adjustments based on the prompt information.

[0128] After obtaining the network change trend, the network change trend can be analyzed and processed to detect whether the network change trend meets expectations. When the network change trend does not meet expectations, it means that the network change trend at this time has not changed in the way expected by the user. At this time, in order to enable the user to promptly understand the matching situation between the network operation status and the redundant coding, prompt information can be generated based on the network change trend. The prompt information is used to identify that the network change trend does not meet expectations. In some instances, the prompt information may include at least one of the following: text prompt information, voice prompt information, light prompt information, etc. After the prompt information is generated, the user can be prompted to adjust the network operation and maintenance based on the prompt information, thereby improving the practicality of the method.

[0129] In this embodiment, by real-time statistics of the FEC encoding rate corresponding to the real-time transmission data, the actual redundant data encoding amount corresponding to the real-time transmission data is determined based on the FEC encoding rate, and the network change trend is determined based on the actual redundant data encoding amount. When the network change trend does not meet expectations, prompt information is generated based on the network change trend to prompt the user to perform operation and maintenance adjustments on the network based on the prompt information, thereby effectively realizing that the operation status of the network can be understood based on the real-time statistics of the FEC encoding rate. When the operation status of the network exceeds expectations, the user can be promptly prompted to check and operate the network, further ensuring the security and reliability of network operation and improving the practicality of the method.

[0130] For specific applications, refer to the attached Figure 8 As shown, when the sending end sends data to the receiving end in real time through the server, the data can be encoded and transmitted through the FEC coding strategy. Specifically, this application embodiment provides a method for dynamically adjusting the forward error correction coding redundancy based on network packet loss rate, round-trip delay, retransmission request and other indicators, which is used to optimize the data transmission quality and save some redundant network bandwidth during the transmission of real-time streaming media. Specifically, the method may include:

[0131] Step 1: Obtain the network bandwidth for transmitting real-time streaming media data.

[0132] Step 2: When the network bandwidth is greater than or equal to the preset bandwidth, allow obtaining the round-trip time of data corresponding to the real-time streaming media data.

[0133] Step 3: When the network bandwidth is less than the preset bandwidth, prohibit obtaining the round-trip time of data corresponding to the real-time streaming media data.

[0134] Case 1: When the bandwidth is sufficient (i.e., when the network bandwidth is greater than or equal to the preset bandwidth), in order to flexibly determine the fec redundancy corresponding to the real-time streaming media, after obtaining the round-trip time of data corresponding to the real-time transmission data, the round-trip time of data can be analyzed and compared with the preset first time threshold and second time threshold. Specifically, the method in this embodiment may include:

[0135] Step S11: Analyze and compare the round-trip time of data rtt with the preset first time threshold (i.e., defaultLowRtt) and second time threshold (i.e., defaultHighRtt).

[0136] Among them, the second time threshold may be greater than the first time threshold, and the specific numerical ranges of the first time threshold defaultLowRtt and the second time threshold defaultHighRtt can be configured. Those skilled in the art can configure them according to specific application scenarios or application requirements. For example, defaultLowRtt can be 20ms, and defaultHighRtt can be 150ms.

[0137] Step S12: When rtt < defaultLowRtt, determine to enable the retransmission function, control the real-time streaming media data to only retain I-frame data (i.e., key frame data), and configure the fec redundancy corresponding to the I-frame data as the preset value keyFramelowRttRed.

[0138] Among them, the specific value range of the preset value keyFramelowRttRed can be configured according to specific application scenarios or application requirements. For example, when the redundancy range is less than 1, keyFramelowRttRed can be 10%, 20%, or 30%, etc. Generally, the preset value can be configured below 30%. When rtt < defaultLowRtt, it indicates that the round-trip delay corresponding to the receiving end is relatively small at this time. At this time, when packet loss occurs in real-time streaming media data, the receiving end can ensure the stability of real-time streaming media data transmission based on the retransmission request, that is, the packet loss situation can be solved through the retransmission function. To reduce the waste of data resources and at the same time reduce the fluctuation of the packet loss rate and affect the stable reliability of data reception, the fec redundancy corresponding to the real-time streaming media data can be configured to be relatively small. In some special instances, the fec redundancy can be configured to 0, that is, no redundant encoding operation is performed on the real-time streaming media data, and the real-time streaming media data is directly transmitted to the receiving end.

[0139] Step S13: When defaultLowRtt <= rtt, determine to enable the retransmission and FEC encoding functions. Specifically, the retransmission request is transmitted using an optimized strategy of exponential backoff, and the actual packet loss rate corresponding to the real-time streaming media data is obtained. Based on the actual packet loss rate, the FEC redundancy corresponding to the key data frames and non-key data frames in the real-time streaming media data is determined respectively.

[0140] Specifically, when defaultLowRtt <= rtt, then rtt is analyzed and compared with defaultHighRtt. When rtt < defaultHighRtt, the actual packet loss rate is corrected to obtain the corrected packet loss rate. Based on the corrected packet loss rate, a table lookup is performed to determine the FEC redundancy corresponding to the key data frames and non-key data frames in the real-time streaming media data respectively. It should be noted that the higher the FEC redundancy, the higher the ability to recover the real-time streaming media data through fec encoding. However, more network bandwidth resources are also required to transmit the real-time streaming media data.

[0141] Among them, correcting the actual packet loss rate to obtain the corrected packet loss rate may include:

[0142] Step S13a: Obtain the maximum tolerable retransmission time t that the receiving end can accept.

[0143] Among them, the specific value corresponding to the maximum tolerable retransmission time t = maxToleratedTimeMs can be pre-configured. In some instances, t can be 100ms, 150ms, etc.

[0144] Step S13b: Based on the maximum tolerable retransmission time t and the data round trip time, determine the maximum number of retransmissions that the receiving end can accept. Specifically, the maximum number of retransmissions r = t / current rtt.

[0145] Step S13c: Correct the actual packet loss rate based on the number of retransmissions to obtain a corrected packet loss rate.

[0146] Among them, the actual packet loss rate is l, the corrected packet loss rate is l', and the number of retransmissions is r. At this time, the corrected packet loss rate l'=l r , since the actual packet loss rate l is a value greater than zero and less than 1, the corrected packet loss rate l`<actual packet loss rate l.

[0147] In addition, a first redundancy table is pre-configured, as shown in the following table. After the corrected packet loss rate is obtained, a table lookup is performed based on the corrected packet loss rate to determine the FEC redundancy corresponding to each of the key data frames and non-key data frames in the real-time streaming media data. It should be noted that the specific values ​​and corresponding relationships in the following first redundancy table can be arbitrarily adjusted based on specific application scenarios or application requirements.

[0148] First redundancy table:

[0149]

[0150]

[0151] In addition, when defaultHighRtt<=rtt, it is determined to enable the retransmission and FEC encoding functions. Specifically, the retransmission request is transmitted using an exponential backoff optimization strategy. However, in fact, the recovery of real-time streaming media data is mainly based on FEC encoding. At this time, a table lookup can be performed based on the actual packet loss rate to determine the FEC redundancy corresponding to each of the key data frames and non-key data frames in the real-time streaming media data. Specifically, a second redundancy table is pre-configured, and the second redundancy table may be the same as or different from the first redundancy table. After obtaining the actual packet loss rate, a table lookup is performed based on the actual packet loss rate to determine the FEC redundancy corresponding to each of the key data frames and non-key data frames in the real-time streaming media data.

[0152] It is worth noting that when retransmitting real-time streaming media data, the original data packet and the FEC redundant data packet can be retransmitted at the same time, but this will occupy more network resources. Therefore, in order to improve the utilization of data resources, when transmitting real-time streaming media data, only the original data packet can be retransmitted without transmitting the FEC redundant data packet.

[0153] In addition, when transmitting real-time streaming media data, if the number of retransmissions increases, it is easy for the receiving end to not have time to receive the data, and the data recovery capability under the retransmission operation will become weaker. Therefore, in order to minimize the number of retransmissions and avoid wasting more data transmission resources, when a retransmission operation is required, the retransmission request can be configured to be transmitted according to the exponential backoff strategy.

[0154] In order to implement the retransmission operation, the time interval between retransmission requests and the basic time interval coefficient defaultBase can be pre-configured, where the maximum timeout time of the retransmission request can be t_max, the minimum retransmission time interval defaultMinRetryInterval can be 5ms, and the maximum retransmission time interval defaultMaxRtt can be 160ms. Then (number of retransmissions - 1) can be used as an exponent to calculate a retransmission interval coefficient k. For example, when the basic time interval coefficient defaultBase is 1.25, the sending interval between the first retransmission request and the second retransmission request is 1RTT, the sending interval between the second retransmission request and the third retransmission request is 1.25RTT, and the sending interval between the third retransmission request and the fourth retransmission request is 1.25RTT. 2 RTT, that is, the time interval between retransmission requests, increases in an exponential relationship with a preset parameter (eg, 1.25, 1.3, or 1.5, etc.), thereby effectively achieving that the interval between retransmission operations becomes longer and longer with each retransmission operation.

[0155] It should be noted that the configured basic value of the time interval between retransmission requests base_delay = min(current rtt, defaultMaxRtt), that is, the smaller value between the current round-trip delay and the maximum time limit for analyzing and processing the current round-trip delay. When the retransmission operation is actually performed, the actual retransmission time interval resend_delay corresponding to the retransmission requests = max(base_delay*k, defaultMinRetryInterval), that is, after obtaining the coefficient k of the retransmission interval, the product value of the basic value and the coefficient k can be obtained, and the product value can be compared with the minimum retransmission time interval. The actual retransmission time interval can be the larger value between the product value and the minimum retransmission time interval. Through the above operation, it can be achieved that within the range of the number of overlaps that the receiving end can receive, the number of retransmission operations can be as small as possible to ensure the stability and reliability of data transmission.

[0156] In case 2, when bandwidth resources are limited, in order to accurately determine the redundancy of each data frame in the real-time streaming media data, the following steps can be performed:

[0157] Step 21: Obtain the priorities corresponding to the key data frames and non-key data frames in the real-time transmission data, wherein the priority of the key data frame is higher than the priority of the non-key data frame.

[0158] Step 22: Determine the data volume corresponding to the real-time transmission data.

[0159] Step 23: Based on the priority, data volume and network bandwidth, determine the redundancy corresponding to the key data frames and non-key data frames in the real-time transmission data.

[0160] Step 24: Encode and transmit the real-time transmission data based on the redundancy corresponding to the key data frames and non-key data frames in the real-time transmission data.

[0161] Specifically, encoding and transmitting the real-time transmission data based on the redundancy corresponding to each of the key data frames and the non-key data frames in the real-time transmission data may include: determining the amount of redundant data corresponding to the real-time transmission data based on the data amount and the network bandwidth; determining the redundancy corresponding to each of the key data frames and the non-key data frames in the real-time transmission data based on the redundant data amount and the priority, thereby effectively achieving the need to refer to the upper limit of the network bandwidth for setting the redundancy rate and not exceeding it. When the network bandwidth is insufficient, the FEC redundancy can be configured based on the protection priority of the data frame.

[0162] For example, when the network bandwidth is 110k, and the data volume corresponding to the real-time streaming media data is 100k, only 10k of redundant data can be sent in the next second. At this time, if the redundancy in the real-time streaming media data is 20%, 20k of redundant data will be generated, which will exceed the upper limit of the network bandwidth. Therefore, the FEC redundant data packets corresponding to part of the data in the real-time streaming media data can be deleted. Generally, the FEC redundant data packets corresponding to non-critical data frames can be discarded first. If it still exceeds the network bandwidth, at least part of the FEC redundant data packets corresponding to the critical data frames can continue to be discarded to ensure the stable reliability of the transmission of the real-time streaming media data.

[0163] The technical solution provided in this embodiment effectively realizes that the FEC coding redundancy can be dynamically adjusted according to the RTT of the transmission network, the retransmission strategy of the transmission protocol, and the actual packet loss status of the transmission network. Specifically, when the network delay is extremely low, the coding redundancy rate can be reduced, thereby effectively saving bandwidth; in a network with a packet loss rate and where retransmission is allowed, the coding redundancy rate can be dynamically adjusted based on the packet loss rate of the retransmission, which can also save network bandwidth to a certain extent; when the bandwidth occupied by redundant data is limited, the configured redundant data will not exceed the bandwidth upper limit, and then the coding redundancy rate is adjusted homomorphically based on the configurable amount of redundant data, thereby effectively realizing a deeper level of coordination between the retransmission function and the redundancy function in various different operating scenarios, which not only expands the application scenarios and scope of the method, but also reduces the network bandwidth cost and takes into account the effect of data anti-packet loss, further improves the flexibility and reliability of the method, and is conducive to market promotion and application.

[0164] Fig. 9 A schematic diagram of a data transmission device according to an embodiment of the present invention; see Attachment Fig. 9 As shown, this embodiment provides a data transmission device, which is used to perform the above Figure 2 The data transmission method shown, specifically, the data transmission device may include:

[0165] A first acquisition module 11 is used to acquire a data round trip time corresponding to the real-time transmission data;

[0166] A first determination module 12 is used to determine the forward error correction code FEC redundancy corresponding to the data frame in the real-time transmission data based on the data round trip time;

[0167] The first processing module 13 is used to encode and transmit the real-time transmission data based on FEC redundancy.

[0168] In some instances, when the first determination module 12 determines the forward error correction code FEC redundancy corresponding to the data frame in the real-time transmission data based on the data round-trip time, the first determination module 12 is used to execute: when the data round-trip time is less than the first time, the FEC redundancy of the key data frame in the real-time transmission data is configured to a preset value; when the data round-trip time is greater than or equal to the first time, the FEC redundancy corresponding to each of the key data frame and the non-key data frame in the real-time transmission data is determined based on the actual packet loss rate corresponding to the real-time transmission data.

[0169] In some instances, when the first determination module 12 determines the FEC redundancy corresponding to each of the key data frames and the non-key data frames in the real-time transmission data based on the actual packet loss rate corresponding to the real-time transmission data, the first determination module 12 is used to perform: when the data round-trip time is less than the second time, determine the corrected packet loss rate based on the actual packet loss rate, and determine the FEC redundancy corresponding to each of the key data frames and the non-key data frames in the real-time transmission data based on the corrected packet loss rate, wherein the actual packet loss rate is greater than the corrected packet loss rate; when the data round-trip time is greater than or equal to the second time, determine the FEC redundancy corresponding to each of the key data frames and the non-key data frames in the real-time transmission data according to the actual packet loss rate.

[0170] In some instances, when the first determination module 12 determines the FEC redundancy corresponding to each of the critical data frames and the non-critical data frames in the real-time transmission data based on the corrected packet loss rate, the first determination module 12 is used to execute: obtaining a first redundancy table corresponding to the corrected packet loss rate, the first redundancy table including multiple corrected packet loss rates and the FEC redundancy corresponding to each corrected packet loss rate; based on the first redundancy table and the corrected packet loss rate, determining the FEC redundancy corresponding to each of the critical data frames and the non-critical data frames in the real-time transmission data.

[0171] In some instances, when the first determination module 12 determines the FEC redundancy corresponding to each of the critical data frames and the non-critical data frames in the real-time transmission data according to the actual packet loss rate, the first determination module 12 is used to execute: obtaining a second redundancy table corresponding to the actual packet loss rate, the second redundancy table including multiple actual packet loss rates and the FEC redundancy corresponding to each actual packet loss rate; based on the second redundancy table and the actual packet loss rate, determining the FEC redundancy corresponding to each of the critical data frames and the non-critical data frames in the real-time transmission data.

[0172] In some examples, when the first determination module 12 determines the corrected packet loss rate based on the actual packet loss rate, the first determination module 12 is used to perform: determining the maximum number of retransmissions acceptable to the data receiving end; and determining the corrected packet loss rate based on the maximum number of retransmissions and the actual packet loss rate.

[0173] In some instances, when the first determination module 12 determines the maximum number of retransmissions acceptable to the data receiving end, the first determination module 12 is used to execute: determining the maximum retransmission time acceptable to the data receiving end; and determining the maximum number of retransmissions based on the maximum retransmission time and the data round-trip time.

[0174] In some examples, when the first determination module 12 determines the modified packet loss rate based on the maximum number of retransmissions and the actual packet loss rate, the first determination module 12 is used to execute: determine the modified packet loss rate as an exponent with the actual packet loss rate as the base and the maximum number of retransmissions as the exponential parameter.

[0175] In some instances, when the first processing module 13 encodes and transmits real-time transmission data based on FEC redundancy, the first processing module 13 is used to execute: starting retransmission; determining a retransmission strategy corresponding to the real-time transmission data based on the data round-trip time; and encoding and transmitting the real-time transmission data based on FEC redundancy and the retransmission strategy.

[0176] In some instances, when the first processing module 13 determines the retransmission strategy corresponding to the real-time transmission data based on the data round-trip time, the first processing module 13 is used to execute: when the data round-trip time is less than the first time, the retransmission strategy corresponding to the real-time transmission data is determined to be the first strategy; when the data round-trip time is greater than or equal to the first time, the retransmission strategy corresponding to the real-time transmission data is determined to be the second strategy, and the second strategy is used to identify that the time interval between retransmission operations changes exponentially.

[0177] In some examples, before obtaining the data round trip time corresponding to the real-time transmission data, the first obtaining module 11 and the first processing module 13 in this embodiment are used to perform the following steps:

[0178] A first acquisition module 11 is used to acquire a network bandwidth for transmitting real-time transmission data;

[0179] The first processing module 13 is used to allow the acquisition of the data round trip time corresponding to the real-time transmission data when the network bandwidth is greater than or equal to the preset bandwidth; and to prohibit the acquisition of the data round trip time corresponding to the real-time transmission data when the network bandwidth is less than the preset bandwidth.

[0180] In some instances, when the network bandwidth is less than a preset bandwidth, the first processing module 13 in this embodiment is also used to execute: obtaining the priority corresponding to each of the key data frames and non-key data frames in the real-time transmission data, wherein the priority of the key data frame is higher than the priority of the non-key data frame; determining the amount of data corresponding to the real-time transmission data; determining the redundancy corresponding to each of the key data frames and non-key data frames in the real-time transmission data based on the priority, data amount and network bandwidth; encoding and transmitting the real-time transmission data based on the redundancy corresponding to each of the key data frames and non-key data frames in the real-time transmission data.

[0181] In some instances, when the first processing module 13 determines the redundancy corresponding to each of the critical data frames and non-critical data frames in the real-time transmission data based on the priority, data volume and network bandwidth, the first processing module 13 is used to perform: determining the amount of redundant data corresponding to the real-time transmission data based on the data volume and network bandwidth; determining the redundancy corresponding to each of the critical data frames and non-critical data frames in the real-time transmission data based on the redundant data volume and priority.

[0182] Fig. 9 The device shown can perform Figure 1-Figure 8 For the method of the embodiment shown in the figure, the part not described in detail in this embodiment can be referred to Figure 1-Figure 8 The implementation process and technical effects of this technical solution refer to Figure 1-Figure 8 The description in the illustrated embodiment will not be repeated here.

[0183] In one possible design, Fig. 9 The structure of the data transmission device shown can be implemented as an electronic device, which can be a mobile phone, a tablet computer, a server, or other devices. Fig.10 As shown, the electronic device may include: a first processor 21 and a first memory 22. The first memory 22 is used to store the corresponding electronic device to execute the above Figure 1-Figure 8 The program of the data transmission method provided in the illustrated embodiment, the first processor 21 is configured to execute the program stored in the first memory 22 .

[0184] The program includes one or more computer instructions, wherein when the one or more computer instructions are executed by the first processor 21, the following steps can be implemented:

[0185] Obtaining the data round trip time corresponding to the real-time transmission data;

[0186] Determine the forward error correction code (FEC) redundancy corresponding to the data frame in the real-time transmission data based on the data round trip time;

[0187] The real-time transmission data is encoded and transmitted based on FEC redundancy.

[0188] Furthermore, the first processor 21 is also used to execute the aforementioned Figure 1-Figure 8 All or part of the steps in the illustrated embodiments.

[0189] The structure of the electronic device may further include a first communication interface 23 for the electronic device to communicate with other devices or a communication network.

[0190] In addition, an embodiment of the present invention provides a computer storage medium for storing computer software instructions used by electronic devices, which includes instructions for executing the above Figure 1-Figure 8 The procedures involved in the data transmission method in the method embodiment are shown.

[0191] In addition, this embodiment adopts a computer program product, which includes: a computer program, when the computer program is executed by a processor of an electronic device, the processor executes the above Figure 1-Figure 8 The data transmission method in the method embodiment is shown.

[0192] The device embodiments described above are merely illustrative, wherein the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the scheme of this embodiment. Ordinary technicians in this field can understand and implement it without paying creative labor.

[0193] Through the description of the above embodiments, those skilled in the art can clearly understand that each embodiment can be implemented by adding a necessary general hardware platform, and of course can also be implemented by combining hardware and software. Based on such an understanding, the above technical solution is essentially or the part that contributes to the prior art can be embodied in the form of a computer product, and the present application can be in the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program codes.

[0194] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable device to generate a machine, so that the instructions executed by the processor of the computer or other programmable device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.

[0195] These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable device to work in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture including an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.

[0196] These computer program instructions may also be loaded onto a computer or other programmable device so that a series of operational steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for executing on the computer or other programmable device to implement the process. Figure 1 A process or multiple processes and / or boxes Figure 1The steps for the functions specified in one or more boxes.

[0197] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.

[0198] The memory may include non-permanent storage in a computer-readable medium, random access memory (RAM) and / or non-volatile memory in the form of read-only memory (ROM) or flash RAM. The memory is an example of a computer-readable medium.

[0199] Computer readable media include permanent and non-permanent, removable and non-removable media that can be implemented by any method or technology to store information. Information can be computer readable instructions, data structures, program modules or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, compact disk read-only memory (CD-ROM), digital versatile disk (DVD) or other optical storage, magnetic cassettes, magnetic tape magnetic disk storage or other magnetic storage devices or any other non-transmission media that can be used to store information that can be accessed by a computing device. As defined herein, computer readable media does not include temporary computer readable media (transitory media), such as modulated data signals and carrier waves.

[0200] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit it. Although the present application has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or replace some or all of the technical features therein with equivalents. However, these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of the present application.

Claims

1. A data transmission method, characterized in that: include: Obtaining the data round trip time corresponding to the real-time transmission data; Determine, based on the data round trip time, a forward error correction code (FEC) redundancy corresponding to a data frame in the real-time transmission data; Enable retransmission; When the data round trip time is less than the first time, determining that the retransmission strategy corresponding to the real-time transmission data is the first strategy, the first strategy is used to identify that the time intervals between retransmission operations are the same; When the data round trip time is greater than or equal to the first time, determining that the retransmission strategy corresponding to the real-time transmission data is a second strategy, where the second strategy is used to identify that the time interval between retransmission operations changes exponentially; When the data round trip time is less than the first time, the real-time transmission data is encoded and transmitted based on the first strategy; when the data round trip time is greater than or equal to the first time, the real-time transmission data is encoded and transmitted based on the FEC redundancy and the second strategy.

2. The method according to claim 1, characterized in that Determining, based on the data round trip time, a forward error correction code FEC redundancy corresponding to a data frame in the real-time transmission data, comprising: When the data round trip time is less than the first time, the FEC redundancy of the key data frame in the real-time transmission data is configured as a preset value; When the data round trip time is greater than or equal to the first time, the FEC redundancy corresponding to the key data frame and the non-key data frame in the real-time transmission data is determined based on the actual packet loss rate corresponding to the real-time transmission data.

3. The method according to claim 2, characterized in that Determining the FEC redundancy corresponding to each of the key data frame and the non-key data frame in the real-time transmission data based on the actual packet loss rate corresponding to the real-time transmission data includes: When the data round trip time is less than the second time, a modified packet loss rate is determined based on the actual packet loss rate, and FEC redundancy corresponding to each of a key data frame and a non-key data frame in the real-time transmission data is determined based on the modified packet loss rate, wherein the actual packet loss rate is greater than the modified packet loss rate; When the data round trip time is greater than or equal to the second time, the FEC redundancy corresponding to the key data frames and the non-key data frames in the real-time transmission data is determined according to the actual packet loss rate.

4. The method according to claim 3, characterized in that Determining the FEC redundancy corresponding to each of the key data frame and the non-key data frame in the real-time transmission data based on the corrected packet loss rate includes: Acquire a first redundancy table corresponding to the modified packet loss rate, wherein the first redundancy table includes a plurality of modified packet loss rates and FEC redundancies corresponding to the respective modified packet loss rates; Based on the first redundancy table and the corrected packet loss rate, the FEC redundancy corresponding to each of the critical data frame and the non-critical data frame in the real-time transmission data is determined.

5. The method according to claim 3, characterized in that: Determining the FEC redundancy corresponding to each of the key data frame and the non-key data frame in the real-time transmission data according to the actual packet loss rate includes: Acquire a second redundancy table corresponding to the actual packet loss rate, wherein the second redundancy table includes a plurality of actual packet loss rates and FEC redundancies corresponding to the respective actual packet loss rates; Based on the second redundancy table and the actual packet loss rate, the FEC redundancy corresponding to each of the critical data frame and the non-critical data frame in the real-time transmission data is determined.

6. The method according to claim 3, characterized in that Determining a modified packet loss rate based on the actual packet loss rate includes: Determine the maximum number of retransmissions that the data receiving end can accept; The corrected packet loss rate is determined based on the maximum number of retransmissions and the actual packet loss rate.

7. The method according to claim 6, characterized in that Determine the maximum number of retransmissions that the data receiving end can accept, including: Determining a maximum retransmission time acceptable to the data receiving end; The maximum number of retransmissions is determined based on the maximum retransmission time and the data round trip time.

8. The method according to claim 6, characterized in that Determining the modified packet loss rate based on the maximum number of retransmissions and the actual packet loss rate includes: The modified packet loss rate is determined as an exponent with the actual packet loss rate as a base and the maximum number of retransmissions as an exponential parameter.

9. The method according to any one of claims 1 to 8, characterized in that: Before acquiring the data round trip time corresponding to the real-time transmission data, the method further includes: Acquiring a network bandwidth for transmitting the real-time transmission data; When the network bandwidth is greater than or equal to the preset bandwidth, obtaining the data round trip time corresponding to the real-time transmission data is allowed; When the network bandwidth is less than the preset bandwidth, obtaining the data round trip time corresponding to the real-time transmission data is prohibited.

10. The method according to claim 9, characterized in that When the network bandwidth is less than a preset bandwidth, the method further includes: Acquire priorities corresponding to key data frames and non-key data frames in the real-time transmission data, respectively, wherein the priority of the key data frame is higher than the priority of the non-key data frame; determining a data volume corresponding to the real-time transmission data; Determine the redundancy corresponding to each of the key data frame and the non-key data frame in the real-time transmission data based on the priority, the data volume and the network bandwidth; The real-time transmission data is encoded and transmitted based on the redundancy corresponding to each of the key data frame and the non-key data frame in the real-time transmission data.

11. The method according to claim 10, characterized in that Determining the redundancy corresponding to each of the key data frame and the non-key data frame in the real-time transmission data based on the priority, the data volume and the network bandwidth includes: Determining the amount of redundant data corresponding to the real-time transmission data based on the amount of data and the network bandwidth; Based on the redundant data amount and the priority, the redundancy corresponding to each of the key data frame and the non-key data frame in the real-time transmission data is determined.

12. An electronic device, characterized in that: include: A memory and a processor; wherein the memory is used to store one or more computer instructions, wherein the one or more computer instructions, when executed by the processor, implement the data transmission method as described in any one of claims 1-11.

Citation Information

Patent Citations

  • Method for optimizing network data transmission redundancy error correction rate

    CN101072083A

  • Method, device and system for checking error correction

    CN102143367A

  • Video uplink transmission method and video uplink transmission device in long-term evolution LTE network

    CN106658223A

  • Method and apparatus for obtaining forward error correction FEC parameter

    CN108322286A

  • Adaptive packet loss recovery method based on error correction code, computing device and storage medium

    CN110855400A