CN116980077A - FEC method and device for data transmission - Google Patents

FEC method and device for data transmission Download PDF

Info

Publication number
CN116980077A
CN116980077A CN202310891705.6A CN202310891705A CN116980077A CN 116980077 A CN116980077 A CN 116980077A CN 202310891705 A CN202310891705 A CN 202310891705A CN 116980077 A CN116980077 A CN 116980077A
Authority
CN
China
Prior art keywords
fec
parameter set
data
decoding
receiving end
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202310891705.6A
Other languages
Chinese (zh)
Inventor
郭建君
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Weiling Times Technology Co Ltd
Original Assignee
Beijing Weiling Times Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Weiling Times Technology Co Ltd filed Critical Beijing Weiling Times Technology Co Ltd
Priority to CN202310891705.6A priority Critical patent/CN116980077A/en
Publication of CN116980077A publication Critical patent/CN116980077A/en
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • H04L1/0042Encoding specially adapted to other signal generation operation, e.g. in order to reduce transmit distortions, jitter, or to improve signal shape
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • H04L1/0047Decoding adapted to other signal detection operation

Abstract

An FEC method and apparatus for data transmission, the method comprising the steps of: s101: setting an FEC parameter set, and setting parameters of the FEC parameter set as initial values; s102: the transmitting end carries out FEC coding on the transmitting data packet according to the FEC parameter set to generate an FEC coding data packet; s103: the sending end transmits the FEC coding data packet to a receiving end; s104: the receiving end performs FEC decoding on the FEC encoded data packet, and generates an FEC parameter set according to decoding parameters of the receiving end; s105: the receiving end sends the FEC parameter set to the sending end, and the sending end updates the FEC parameter set; s106: repeating steps S102-S105; the parameters of the FEC parameter set include: the number of data packets n, the number of redundant packets k and the number of initial data packets. An FEC device for data transmission, implementing the method, includes: a transmitting end and a receiving end. The invention is mainly used for data transmission, in particular to packet loss prevention and data error correction in video streaming transmission of online videos, cloud games and the like.

Description

FEC method and device for data transmission
Technical Field
The invention relates to the technical field of streaming media data transmission.
Background
FEC, collectively known as Forward Error Correction, i.e., forward error correction, is a channel coding algorithm that recovers lost packets by adding redundant data. The existing FEC method controls the redundant coding of FEC according to packet loss rate and delay, decides coding strategy, and the coding strategy has the following disadvantages:
the lack of feedback from the receiving end, the encoding strategy of the sending end does not consider the condition of the receiving end, so the method has limitations and cannot be dynamically adjusted; when the FEC fails to recover the data, a retry strategy is not adopted, and the data recovery rate is low.
Patent document CN104811278A discloses a forward error correction technique for OTN devices: the method comprises the steps of having a path tracking identification TTI located at a 1 st frame, bit check BIP-8 located at a 2 nd frame and a 3 rd frame with eight subframes, wherein the eight subframes are respectively a 1 st subframe, a 2 nd subframe, a 3 rd subframe, a 4 th subframe, a 5 th subframe, a 6 th subframe, a 7 th subframe and an 8 th subframe, forward error indication FEI is arranged in the 1 st subframe, the 2 nd subframe, the 3 rd subframe and the 4 th subframe, forward defect indication FDI is arranged in the 5 th subframe, and status signals STAT are arranged in the 6 th subframe, the 7 th subframe and the 8 th subframe.
In the related art, the receiving end is not considered in FEC encoding, and the retry strategy is not considered.
Disclosure of Invention
The invention aims to solve the problems that FEC coding at a transmitting end does not consider feedback at a receiving end, FEC coding and decoding cannot be controlled dynamically and the data recovery rate of an FEC coding algorithm is low.
In view of the limitations, the present invention proposes an FEC method and apparatus for data transmission.
An FEC method for data transmission, comprising the steps of:
s101: setting an FEC parameter set, and setting parameters of the FEC parameter set as initial values;
s102: the transmitting end carries out FEC coding on the transmitting data packet according to the FEC parameter set to generate an FEC coding data packet;
s103: the sending end transmits the FEC coding data packet to a receiving end;
s104: the receiving end performs FEC decoding on the FEC encoded data packet according to decoding parameters of the receiving end
Generating an FEC parameter set;
s105: the receiving end sends the FEC parameter set to the sending end, and the sending end updates the FEC parameter set
A number set;
s106: repeating steps S102-S105;
the parameters of the FEC parameter set include: the number n of data packets, the number k of redundant packets and the number of initial data packets; n and k are natural numbers.
Further: the decoding parameters are: CPU utilization LC, FEC decoding time consuming, jitter buffer length, number of unsuccessful FEC recovery, FEC recovery status.
Further: the method for generating the FEC parameter set according to the decoding parameters comprises the following steps:
when the CPU utilization LC is greater than a preset threshold, the FEC decoding takes more than a preset threshold, the jitter buffer length is greater than a preset threshold or the number of times FEC recovery is unsuccessful is greater than a preset threshold, or when the FEC recovery status is successful,
when the receiving end generates the FEC parameter set, the receiving end makes: start packet number = start packet number + packet number n.
Further: according to packet loss rate LF, round trip time RTT and CPU usage rate LC of the receiving end counted by RTCP messages, the number k of the redundant packets in the FEC parameter set is adjusted:
k=ω 1 ·LF+ω 2 ·RTT+ω 3 LC
wherein omega is 1 Weights, ω, for packet loss rate LF 2 Weights, ω, for round trip time RTT 3 Weights, ω, for CPU usage LC 1 、ω 2 、ω 3 The value of (2) is a preset value.
Further: the calculation method of the packet loss rate LF according to RTCP message statistics comprises the following steps:
N a for the expected number of received data packets, N r The total number of data packets actually received is T, and the observation time length is T.
Further: in step S102, the FEC encoding uses an erasure code encoding method;
in step S104, the FEC decoding uses an erasure code decoding method.
Further: the erasure code coding method is a reed-Solomon coding method;
the erasure code decoding method is a reed-Solomon decoding method.
An FEC apparatus for data transmission, the apparatus implementing the method, comprising:
and the transmitting end: the transmitting end comprises:
FEC encoder: performing FEC coding on the sending data packet according to the FEC parameter set to generate an FEC coding data packet;
a transmitting end network module: transmitting the FEC coded data packet; receiving feedback data returned by the receiving end;
the receiving end: the receiving end comprises:
receiving end network module: receiving the sending data sent by the sending end; the transmission data comprises the FEC coding data packet; returning the feedback data to the sending end;
FEC decoder: performing FEC decoding on the FEC encoded data packet;
FEC parameter set generator: generating an FEC parameter set according to the decoding parameters of the receiving end;
the feedback data includes the FEC parameter set.
Further: the decoding parameters are: CPU utilization LC, FEC decoding time consuming, jitter buffer length, number of unsuccessful FEC recovery, FEC recovery status.
Further: the parameters of the FEC parameter set include: the number n of data packets, the number k of redundant packets and the number of initial data packets;
when the CPU utilization LC is greater than a preset threshold, the FEC decoding takes more than a preset threshold, the jitter buffer length is greater than a preset threshold or the number of times FEC recovery is unsuccessful is greater than a preset threshold, or when the FEC recovery status is successful,
in the FEC parameter set, let: start packet number = start packet number + packet number n.
Compared with the related art, the invention has the following advantages:
the FEC method for data transmission of the invention uses FEC encoding and decoding, generates an FEC parameter set according to decoding parameters of a receiving end, dynamically adjusts the FEC parameter set according to the condition of the receiving end, thereby dynamically adjusting the FEC encoding strategy, controlling FEC encoding with finer strategy, and adjusting the FEC encoding strategy according to specific parameters of the receiving end, thereby reducing packet loss, improving the success rate of data recovery, avoiding playing problems caused by time delay and the like, and further ensuring better playing stability of video streams.
The FEC device for data transmission according to the invention, which is used for implementing the above method, has the same advantages.
Drawings
Fig. 1 is a flowchart of an FEC method for data transmission according to an embodiment of the present invention;
fig. 2 is a block diagram of an FEC apparatus for data transmission according to another embodiment of the present invention;
fig. 3 is a schematic diagram of an FEC method RS codec for data transmission according to another embodiment of the present invention;
fig. 4 is a schematic diagram of an FEC method RS codec recovery data for data transmission according to another embodiment of the present invention;
fig. 5 is a schematic diagram of an FEC method for data transmission according to another embodiment of the present invention; (a) is the current FEC codec window; (b) sliding the window to the next set of packets.
Detailed Description
The present invention will be described in further detail below in order to make the objects, technical solutions and advantages of the present invention more apparent. It is to be understood that the description is only intended to illustrate the invention and is not intended to limit the scope of the invention.
Unless defined otherwise, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs, and the terms used herein in this description of the invention are for the purpose of describing particular embodiments only and are not intended to be limiting of the invention. The characterization means referred to herein are all referred to in the related description of the prior art, and are not described herein in detail.
For a further understanding of the present invention, the present invention will be described in further detail with reference to the following preferred embodiments.
Example 1
An FEC method for data transmission, comprising the steps of:
s101: setting an FEC parameter set, and setting parameters of the FEC parameter set as initial values;
s102: the transmitting end carries out FEC coding on the transmitting data packet according to the FEC parameter set to generate an FEC coding data packet;
s103: the sending end transmits the FEC coding data packet to a receiving end;
s104: the receiving end performs FEC decoding on the FEC encoded data packet, and generates an FEC parameter set according to decoding parameters of the receiving end;
s105: the receiving end sends the FEC parameter set to the sending end, and the sending end updates the FEC parameter set;
s106: repeating steps S102-S105;
the parameters of the FEC parameter set include: the number of data packets n, the number of redundant packets k and the number of initial data packets.
The initial data packet number means the number of the initial data packet in the data packet to be encoded, the number n of the data packet is the number of the data packet to be transmitted, and the number k of the redundant data packet is the number of the redundant check data packet generated according to the FEC encoding of the data packet. n and k are natural numbers. The method can be regarded as that a sliding window is used for processing data to be transmitted, performing FEC coding, generating a redundancy check data packet, transmitting and the like, and the initial data packet number indicates that the sliding window starts from the data packet position; the number of packets n indicates the size of the sliding window. And when the processing is successful or the preset condition is met, the sliding window slides forward to process the next group of data packets.
n is preferably 1 to 100; k is preferably 1 to 100.
In the initial state, the FEC parameter set stored by the transmitting end is a preset value, and the FEC parameter set transmitted by the receiving end is updated by using the FEC parameter set, so that the purpose of dynamically adjusting the FEC strategy is realized, and the FEC strategy is more suitable for the actual situation of the receiving end. Repeating steps S101-S104 in the streaming media transmission process is a process of dynamically adjusting FEC parameters.
FEC, collectively known as Forward Error Correct ion, chinese is forward error correction, a channel coding algorithm that recovers lost packets by adding redundant data. The method specifically comprises the steps that a sending end performs FEC encoding on original data to generate redundant parity check data packets, the original data and the redundant data packets are combined to form FEC data blocks, and the number of the original data packets and the number of the redundant data packets can be determined according to preset conditions or dynamically according to the condition of a receiving end. The transmitting end transmits the FEC data block. After receiving the FEC data block, the receiving end recovers the lost or error data packet through the redundant data packet and the original data packet.
The FEC method for data transmission of the invention uses FEC encoding and decoding, generates the FEC parameter set according to the decoding parameters of the receiving end, dynamically adjusts the FEC parameter set according to the condition of the receiving end, thereby dynamically adjusting the FEC encoding strategy, controlling the FEC encoding with finer strategy, adjusting the FEC encoding strategy according to the specific parameters of the receiving end, thereby reducing the success rate of avoiding packet loss, improving the data recovery, and avoiding the playing problems caused by time delay and the like, and further ensuring better playing stability of the video stream.
Example 2
Further: the decoding parameters are: CPU utilization LC, FEC decoding time consuming, jitter buffer length, number of unsuccessful FEC recovery, FEC recovery status.
Further: the method for generating the FEC parameter set according to the decoding parameters comprises the following steps:
when the CPU utilization LC is greater than a preset threshold, the FEC decoding takes more time than a preset threshold, the jitter buffer length is greater than a preset threshold, or the number of times FEC recovery is unsuccessful is greater than a preset threshold, or when the FEC recovery status is successful,
when the receiving end generates the FEC parameter set, the receiving end makes: start packet number = start packet number + packet number n.
When the above conditions are met, the window slides forward, so that the initial data packet number is the number of the initial data packet of the next group of data packets, thus obtaining the formula, wherein the formula means that the value of the current initial data packet plus the number of the current data packets is used, the initial number value of the next group of data packets to be processed is obtained, and the value of the initial data packet number is updated by the value.
The number n of data packets and the number k of redundant packets can be set to a fixed value according to experience, or can be adjusted according to actual processing conditions.
Otherwise, when the conditions are not met, the sliding window does not slide, the FEC parameter set is unchanged, the FEC parameter set received by the sending end is still the current FEC parameter set, the sending end sends the FEC coding data packet equivalent to data retransmission, the receiving end waits for the sending end to retransmit the packet, and the FEC decoding and FEC parameter set generating processes are repeated. And updating the initial data packet number until any one of the conditions is met, and sliding the window forward to process the next group of data packets.
The threshold value of the CPU utilization LC is: 70% of the total weight of the steel sheet; the FEC decoding time consumption threshold is 10ms; the jitter buffer length threshold is 200ms; the threshold number of times of unsuccessful FEC recovery is: 2 times.
Jitter buffer (jitter buffer): the dynamic buffer area of the audio and video data packet is used for grouping the data packet and grouping the audio and video.
Further: according to packet loss rate LF, round trip time RTT and CPU usage rate LC of the receiving end counted by RTCP messages, the number k of the redundant packets in the FEC parameter set is adjusted:
k=ω 1 ·LF+ω 2 ·RTT+ω 3 LC
wherein omega is 1 Weights, ω, for packet loss rate LF 2 Weights, ω, for round trip time RTT 3 Weights, ω, for CPU usage LC 1 、ω 2 、ω 3 The value of (2) is a preset value. The preset value can be determined and adjusted according to a certain amount of experiments.
RTCP (Real-time ControlProtocol), known as the Real-time transport control protocol, including Sender Report and Receiver Report, is a control protocol for audio/video synchronization and other purposes. Is one of two protocols of Real-time transport protocol RTP (Real-time Transport Protocol), and the other is RTP data protocol. Each session participant will periodically send RTCP control packets to all other participants.
Round Trip Time RTT (Round-Trip Time) represents the total elapsed Time from the start of data transmission by the transmitting end until the transmitting end receives an acknowledgement from the receiving end.
Packet loss rate LF (LossFraction) the packet loss rate refers to the ratio of the number of lost packets to the transmitted packets during data transmission.
CPU utilization LC (LoadofCPU): the utilization rate is the time duty ratio of the non-idle state operation of the CPU and reflects the busyness of the CPU. For example, if the 1s kernel CPU is not idle for 0.6s, its CPU utilization is 60%.
Further: the calculation method of the packet loss rate LF according to RTCP message statistics comprises the following steps:
N a for the expected number of received data packets, N r The total number of data packets actually received is T, and the observation time length is T.
Further: in step S102, the FEC encoding uses an erasure code encoding method;
in step S104, the FEC decoding uses an erasure code decoding method.
The erasure code includes: coding and decoding methods based on RS (Reeds-Solomon) algorithm, raptor algorithm and Tornado algorithm.
Further: the erasure code coding method is a reed-Solomon coding method;
the erasure code decoding method is a reed-Solomon decoding method.
Erasure codes are a common data redundancy technique in the storage field, and can achieve higher data reliability with smaller data redundancy. Reeds-Solomon is an erasure code commonly used in the storage field, and its basic principle is: for a given n data blocks d 1 ,d 2 ,...,d n Root of RS algorithmGenerating m check blocks from n data blocks, n and a positive integer m, c 1 ,c 2 ,...,c m . For any n and m, the original data can be decoded by taking any n blocks from n original data blocks and m check blocks, i.e. the RS can tolerate that m data blocks or check blocks are lost at the same time at most.
RS encoding, for text data, takes words as encoding and decoding units, splits a data block into words with length w (the length w takes a value of typically 8 or 16 bits), and then encodes and decodes the words. For streaming media data, a packet is defined as a frame number w, and is regarded as a vector D. Vector d= (D 1 ,D 2 ,…,D n ) The encoded data is regarded as a vector (D 1 ,D 2 ,…,D n ,C 1 ,C 2 …, cm), the RS encoding process can be regarded as the encoding method as shown in fig. 3. Taking a vector D with a length of 5 as an example, a left (m+n) n-dimensional matrix is taken as a coding matrix, in this specific scenario, a 8*5-dimensional coding matrix is taken as a vector D to be coded, and an 8-dimensional vector is obtained, wherein C 1 ,C 2 ,C 3 Is a redundant data packet. The RS data recovery algorithm requires that the coding matrix be invertible with any n x n sub-matrix, and therefore adopts a coding matrix as shown in the structure of the figure, which is called vandermonde matrix.
The principle of recovery in RS decoding is shown in fig. 4, where packet loss can be seen as a loss of the row vectors of the coding matrix, and according to fig. 4, there is B 'd=s, and the two sides are multiplied by the B' inverse matrix to obtain d=b '' -1 * S, solving the equation, and performing matrix operation on the rest elements to obtain the data to be recovered.
As shown in fig. 5, the size of a transmitting window (data to be transmitted) of the transmitting end is 3, corresponding to the data packets 2, 3 and 4, and redundant packets obtained by performing FEC encoding on the data packets 2, 3 and 4 are 2FEC and 3FEC; if the receiving end receives only the data packets 2 and 4, the data packet 3 is lost, and the received redundant packets are 2FEC and 3FEC, according to the information provided by the redundant packets 2FEC and 3FEC, the initial sequence number of the recoverable data packet is 2, the data packet 3 is lost, and the lost data packet 3 is recovered from the data packet 2. In this process, the receiving end takes time for the current FEC decoding, and if the jitter buffer (jitter buffer) length and the FEC decoding recover successfully, the receiving end feeds back an FEC header (head) to the transmitting end, including: the window size, the jitter buffer area length, the CPU utilization LC, the FEC success information and the initial packet sequence number of the next FEC coding, after the sending end receives the feedback of the FEC packet header, as shown in FIG. 5, if the FEC decoding of the receiving end is successful in the previous time, the sending end directly jumps to the initial sequence number (packets 5 and 6) of the next FEC coding fed back by the receiving end to start FEC coding; or if the receiving end cannot recover the lost packet information, waiting for a period of time when no retransmission packet is received (jitter buffer is lengthened), skipping the current window (discarding the recovery of lost packet) by the receiving end, waiting for decoding from the new window (packets 5 and 6), and notifying the transmitting end. Thus, the length of the FEC encoding and decoding is dynamically adjusted through the feedback information of the FEC packet heads.
The data represented by the above-mentioned one packet includes, but is not limited to, a picture frame, or a group of pictures (GOP), etc.
Example 3
On the basis of embodiment 1 or 2, as shown in fig. 1-4, an FEC apparatus for data transmission, the apparatus implementing the method described in embodiment 1 or 2, includes:
and the transmitting end: the transmitting end comprises:
FEC encoder: performing FEC coding on the sending data packet according to the FEC parameter set to generate an FEC coding data packet;
a transmitting end network module: transmitting the FEC coded data packet; receiving feedback data returned by the receiving end;
the receiving end: the receiving end comprises:
receiving end network module: receiving the sending data sent by the sending end; the transmission data comprises the FEC coding data packet; returning the feedback data to the sending end;
FEC decoder: performing FEC decoding on the FEC encoded data packet;
FEC parameter set generator: generating an FEC parameter set according to the decoding parameters of the receiving end;
the feedback data includes the FEC parameter set.
Example 4
On the basis of example 3, as shown in fig. 1 to 4, further: the decoding parameters are: CPU utilization LC, FEC decoding time consuming, jitter buffer length, number of unsuccessful FEC recovery, FEC recovery status.
Further: the parameters of the FEC parameter set include: the number n of data packets, the number k of redundant packets and the number of initial data packets;
when the CPU utilization LC is greater than a preset threshold, the FEC decoding takes more than a preset threshold, the jitter buffer length is greater than a preset threshold or the number of times FEC recovery is unsuccessful is greater than a preset threshold, or when the FEC recovery status is successful,
in the FEC parameter set, let: start packet number = start packet number + packet number n.
In the embodiment of the invention, the method and the device can be used for scenes such as streaming media, network games, live video, meta-universe and the like, and can be understood that the method and the device are not limited to the application, for example, the method and the device can also be used for all application scenes applicable to the inventive concepts of the invention such as communication, medical image transmission and the like.
The foregoing description of the preferred embodiments of the invention is not intended to be limiting, but rather is intended to cover all modifications, equivalents, or alternatives falling within the spirit and principles of the invention.

Claims (10)

1. An FEC method for data transmission, characterized in that: the method comprises the following steps:
s101: setting an FEC parameter set, and setting parameters of the FEC parameter set as initial values;
s102: the transmitting end carries out FEC coding on the transmitting data packet according to the FEC parameter set to generate an FEC coding data packet;
s103: the sending end transmits the FEC coding data packet to a receiving end;
s104: the receiving end performs FEC decoding on the FEC encoded data packet, and generates an FEC parameter set according to decoding parameters of the receiving end;
s105: the receiving end sends the FEC parameter set to the sending end, and the sending end updates the FEC parameter set;
s106: repeating steps S102-S105;
the parameters of the FEC parameter set include: the number n of data packets, the number k of redundant packets and the number of initial data packets; n and k are natural numbers.
2. The method of claim 1, wherein:
the decoding parameters are: CPU utilization LC, FEC decoding time consuming, jitter buffer length, number of unsuccessful FEC recovery, FEC recovery status.
3. The method of claim 2, wherein:
the manner of generating the FEC parameter set according to the decoding parameter is:
when the CPU utilization LC is greater than a preset threshold, the FEC decoding takes more time than a preset threshold, the jitter buffer length is greater than a preset threshold, the number of times FEC recovery is unsuccessful is greater than a preset threshold or when the FEC recovery status is successful,
when the receiving end generates the FEC parameter set, the receiving end makes: start packet number = start packet number + packet number n.
4. The method of claim 1, wherein:
according to packet loss rate LF, round trip time RTT and CPU usage rate LC of the receiving end counted by RTCP messages, the number k of the redundant packets in the FEC parameter set is adjusted:
k=ω 1 ·F+ω 2 ·TT+ 3 LC
wherein omega is 1 Weights, ω, for packet loss rate LF 2 Weights, ω, for round trip time RTT 3 Weights, ω, for CPU usage LC 1 、ω 2 、ω 3 The value of (2) is a preset value.
5. The method of claim 4, wherein:
the calculation formula of the packet loss rate LF is as follows:
N a for the expected number of received data packets, N r The total number of data packets actually received is T, and the observation time length is T.
6. The method of claim 1, wherein:
in step S102, the FEC encoding uses an erasure code encoding method;
in step S104, the FEC decoding uses an erasure code decoding method.
7. The method of claim 6, wherein:
the erasure code coding method is a reed-Solomon coding method;
the erasure code decoding method is a reed-Solomon decoding method.
8. An FEC device for data transmission, wherein: the apparatus implementing the method of any one of claims 1-7, comprising:
and the transmitting end: the transmitting end comprises:
FEC encoder: performing FEC coding on the sending data packet according to the FEC parameter set to generate an FEC coding data packet;
a transmitting end network module: transmitting the FEC coded data packet; receiving feedback data returned by the receiving end;
the receiving end: the receiving end comprises:
receiving end network module: receiving the sending data sent by the sending end; the transmission data comprises the FEC coding data packet; returning the feedback data to the sending end;
FEC decoder: performing FEC decoding on the FEC encoded data packet;
FEC parameter set generator: generating an FEC parameter set according to the decoding parameters of the receiving end;
the feedback data includes the FEC parameter set.
9. The apparatus as recited in claim 8, wherein:
the decoding parameters are: CPU utilization LC, FEC decoding time consuming, jitter buffer length, number of unsuccessful FEC recovery, FEC recovery status.
10. The apparatus as recited in claim 8, wherein:
the parameters of the FEC parameter set include: the number n of data packets, the number k of redundant packets and the number of initial data packets;
when the CPU utilization LC is greater than a preset threshold, the FEC decoding takes more than a preset threshold, the jitter buffer length is greater than a preset threshold or the number of times FEC recovery is unsuccessful is greater than a preset threshold, or when the FEC recovery status is successful,
in the FEC parameter set, let: start packet number = start packet number + packet number n.
CN202310891705.6A 2023-07-19 2023-07-19 FEC method and device for data transmission Pending CN116980077A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310891705.6A CN116980077A (en) 2023-07-19 2023-07-19 FEC method and device for data transmission

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310891705.6A CN116980077A (en) 2023-07-19 2023-07-19 FEC method and device for data transmission

Publications (1)

Publication Number Publication Date
CN116980077A true CN116980077A (en) 2023-10-31

Family

ID=88478917

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310891705.6A Pending CN116980077A (en) 2023-07-19 2023-07-19 FEC method and device for data transmission

Country Status (1)

Country Link
CN (1) CN116980077A (en)

Similar Documents

Publication Publication Date Title
US10931410B2 (en) Network-based real-time video transmission method and device
CN107196746B (en) Method, device and system for packet loss resistance in real-time communication
US7095729B2 (en) Method for multimedia communication over packet channels
US7584404B2 (en) Method and apparatus for multimedia communication over packet channels
EP2493105A1 (en) Method and system for recovering lost media data packets
CN108174234A (en) A kind of flow-medium transmission method and system
KR20060018794A (en) Method and apparatus for generating error correction data, error correction data generating program, and computer-readable recording medium storing the same
US20100125768A1 (en) Error resilience in video communication by retransmission of packets of designated reference frames
CN111787413B (en) Streaming media data transmission method, system, sending device and receiving device
US10020914B2 (en) Methods and apparatus for maximum utilization of a dynamic varying digital data channel
CN114337928A (en) Real-time video transmission method based on ARQ and FEC self-adaptive selection
US20050076272A1 (en) Unequal error protection using forward error correction based on reed-solomon codes
Fong et al. Low-latency network-adaptive error control for interactive streaming
Emara et al. Low-latency network-adaptive error control for interactive streaming
CN110868616A (en) Low-delay high-reliability video transmission method in 5G network
CN116980077A (en) FEC method and device for data transmission
US20180192088A1 (en) Transmitting/receiving audio and/or video data over a wireless network
US8472310B2 (en) Packet distribution band controlling method, distributing apparatus, and video distributing system
CN110602452B (en) Method for guaranteeing remote real-time transmission smoothness of global UDP audio and video stream
CN113301387B (en) Data encoding and decoding method, related equipment and system
CN103067719A (en) Real-time video communication method based on unequal error protection
CN115189810B (en) Low-delay real-time video FEC coding transmission control method
KR101999105B1 (en) Method of reliable data transmission with least video latency for real-time video streaming
CN114337917A (en) Data transmission method based on forward error correction and short message sending device
JP2008017330A (en) Video/audio distribution apparatus

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination