Data transmission method, wireless transmitting device, wireless receiving device and system
By dynamically adjusting the number of error correction verification packets based on the packet loss information of the wireless receiver, the problem of delay and bandwidth waste caused by packet loss in wireless transmission is solved, and real-time and efficient data transmission is achieved.
Patent Information
- Application Number
- CN202411622218.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-14
- Publication Date
- 2025-02-14
- Estimated Expiration
- 2044-11-14
AI Technical Summary
In wireless transmission, the bit error rate caused by signal interference increases, resulting in data packet loss. In the prior art, the use of retransmission and error correction verification packets has problems such as delay and waste of bandwidth resources.
The wireless transmitter dynamically adjusts the number of error correction verification packets based on the packet loss information feedback from the wireless receiver to ensure that the appropriate number of error correction verification packets is sent every time the packet is transmitted, so as to quickly recover lost packets and reduce the time Delay.
By dynamically adjusting the number of error correction verification packets, real-time and efficient data transmission are achieved, delay is reduced and bandwidth resources are avoided.
Smart Images

Figure CN119155734B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of wireless transmission technology, and in particular to a data transmission method, a wireless transmitting device, a wireless receiving device, a wireless transmission system, a computer program product, and a computer-readable storage medium. Background Art
[0002] In the scenario of wireless transmission, the transmission signal is subject to external interference, which will cause the bit error rate to increase and become unresolvable, resulting in packet loss during wireless transmission. Since packet loss will cause data loss and affect subsequent use, the wireless receiving end needs to recover the lost data packets in various ways. In the scenario where packet loss exists, the wireless receiving end can request the wireless transmitting end to resend the lost data packets based on the retransmission technology, but there is a certain delay in retransmission and the real-time data transmission cannot be guaranteed. Of course, some error correction technologies can also be used to recover the lost data packets. For example, when the wireless transmitting end sends a data packet to the wireless receiving end, it also sends an error correction check packet for recovering the data packet. When there is data packet loss, the wireless receiving end can directly recover the lost data packet through the error correction check packet. Compared with the retransmission method, this method can reduce the delay.
[0003] In current technology, the number of error correction packets sent by the wireless transmitter each time is fixed. If the number of error correction packets sent is always more than the number required to recover the lost data packets, it may occupy too much wireless bandwidth and cause a waste of network resources. If the number of error correction packets sent is always less than the number required to recover the lost data packets, the wireless receiver still needs to request the wireless transmitter to retransmit the data, and the delay problem still exists. Therefore, it is necessary to provide a data transmission solution that can reduce data transmission delay and avoid wasting bandwidth resources. Summary of the invention
[0004] In view of this, the present application provides a data transmission method, a wireless transmitting device, a wireless receiving device, a wireless transmission system, a computer program product, and a computer-readable storage medium.
[0005] According to a first aspect of the present application, a data transmission method is provided, the method being applicable to a wireless transmitting end, the wireless transmitting end being communicatively connected with a wireless receiving end, the method comprising:
[0006] Acquire multiple data packets to be sent, and encode the multiple data packets to obtain multiple error correction check packets; wherein the multiple error correction check packets are used to restore the multiple data packets;
[0007] Selecting M error correction check packets from the multiple error correction check packets; wherein M is a positive integer, and M is determined based on the packet loss information returned by the wireless receiving end last time;
[0008] The multiple data packets and the M error correction check packets are sent to the wireless receiving end, so that the wireless receiving end determines the packet loss information of the multiple data packets during the transmission process based on the received data packets and returns it to the wireless transmitting end, and in the case of determining that packet loss exists, restores the multiple data packets based on the received data packets and the error correction check packets.
[0009] According to a second aspect of the present application, a data transmission method is provided, the method being applicable to a wireless receiving end, the wireless receiving end being communicatively connected to a wireless transmitting end, the method comprising:
[0010] Receiving multiple data packets and multiple error correction check packets sent by the wireless transmitting end;
[0011] Determine packet loss information in a current data transmission process based on the received data packets, and return the information to the wireless transmitter, so that the wireless transmitter determines the number of error correction check packets to be sent in the next data transmission process based on the packet loss information; and
[0012] When it is determined that packet loss exists, multiple data packets sent by the wireless transmitting end are restored based on the received data packets and error correction check packets.
[0013] According to a third aspect of the present application, a wireless transmitting device is provided, which includes a processor and a memory, wherein a computer program is stored in the memory, and when the processor executes the computer program, the data transmission method mentioned in the first aspect can be implemented.
[0014] According to a fourth aspect of the present application, a wireless receiving device is provided, which includes a processor and a memory, wherein a computer program is stored in the memory, and when the processor executes the computer program, the data transmission method mentioned in the second aspect can be implemented.
[0015] According to a fifth aspect of the present application, a wireless transmission system is provided, which includes the wireless transmitting device mentioned in the third aspect above, and one or more wireless receiving devices mentioned in the fourth aspect above.
[0016] According to a sixth aspect of the present application, a computer program product is provided, wherein the computer program product comprises a computer program, and when the computer program is executed, the method mentioned in the first aspect and / or the second aspect is implemented.
[0017] According to a seventh aspect of the present application, a computer storage medium is provided, wherein the computer storage medium stores computer instructions, and when the computer instructions are executed, the method mentioned in the first aspect and / or the second aspect is implemented.
[0018] By applying the solution provided by the present application, each time the wireless transmitter sends a data packet and its corresponding error correction check packet to the wireless receiver, the number of packet losses in the current transmission process can be predicted based on the packet loss information fed back by the wireless receiver last time, and then the number of error correction check packets to be sent to the wireless receiver can be determined based on the number of packet losses. By dynamically adjusting the number of error correction check packets to be sent during the current data transmission process based on real-time packet loss information, an appropriate number of error correction check packets can be sent during each data transmission, which can ensure the rapid recovery of lost data packets, reduce latency, and avoid wasting network resources.
[0019] It should be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the present application. BRIEF DESCRIPTION OF THE DRAWINGS
[0020] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings required for use in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only 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 labor.
[0021] Figure 1 It is a schematic diagram of data interaction between a wireless transmitting end and a wireless receiving end according to an embodiment of the present application.
[0022] Figure 2 This is a schematic diagram of data transmission between a wireless transmitter and a wireless receiver through a broadcast channel and a unicast channel in one embodiment of the present application.
[0023] Figure 3 This is a schematic diagram of data transmission between a wireless transmitter and a wireless receiver through a broadcast channel and a unicast channel in one embodiment of the present application.
[0024] Figure 4 It is a schematic diagram of data transmission between a wireless transmitting end and multiple wireless receiving ends according to an embodiment of the present application. DETAILED DESCRIPTION
[0025] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are only 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.
[0026] In the wireless transmission scenario, the bit error rate will increase due to external interference of the transmission signal, making it impossible to parse, resulting in packet loss during the wireless transmission process. Packet loss will cause data loss and affect subsequent use, so the wireless receiving end needs to recover the lost data packets in various ways. For example, in the wireless transmission of video data, if packet loss occurs during the transmission process, it may cause freezes or screen distortion during video playback, and the video playback effect cannot be guaranteed.
[0027] In order to solve the packet loss problem, the wireless receiver can request the wireless transmitter to resend the lost data packets based on retransmission technology to achieve data recovery. However, since retransmission will bring a certain delay, for some scenarios with high requirements for real-time data transmission (for example, video transmission scenarios), the transmission effect may not be guaranteed (for example, video freezes, screen distortion and other problems may occur).
[0028] Of course, in order to quickly recover lost data packets, the lost data packets can also be recovered based on error correction technologies such as FEC (Forward Error Correction). For example, when the wireless transmitter sends a data packet to the wireless receiver, it can also send an error correction packet for recovering the data packet. That is, when there is a loss of data packets, the wireless receiver can recover the lost data packets through the error correction packet. Compared with the retransmission method, this method can reduce the delay.
[0029] Taking FEC technology as an example, FEC technology can recover the data contained in damaged, discarded or lost data packets by encoding redundant information. The redundant information can be used by the wireless receiving end to reconstruct the lost data. Therefore, FEC technology can provide faster data recovery than retransmission, and is particularly suitable for streaming media transmission. Specifically, FEC technology can pre-encode m data packets to be sent to obtain n error correction packets, where m and n are both positive integers. The m data packets can be restored by using any m data in the m+n data packets and the error correction packet. Therefore, if any data packets less than or equal to n are lost, they can still be restored through the remaining data.
[0030] In current technology, a wireless transmitter usually sends m data packets and n error correction check packets to a wireless receiver at the same time. When part of the m data packets are lost, the complete m data packets can be restored based on the n check packets to solve the packet loss problem. However, as the network environment changes, the number of data packets lost during each transmission is usually different. For example, the number of lost data packets may be greater than n or less than n. If the number of lost data packets is always less than n, that is, the number of error correction check packets sent is always more than the number required to restore the lost data packets, it will undoubtedly occupy too much wireless bandwidth and cause a waste of network resources. If the amount of lost data packets is always greater than n, that is, the number of error correction check packets sent is always less than the number required to restore the lost data packets, it may cause the wireless receiver to request the wireless transmitter to retransmit the data each time, causing a delay in data transmission.
[0031] Considering that the number of packet losses during wireless transmission is usually affected by the current network environment, the network environment changes dynamically, and thus the number of packet losses also changes dynamically. The quality of the network environment can usually be evaluated by the packet loss during the transmission process. Based on this, the embodiment of the present application contemplates that each time the wireless transmitter sends a data packet and its corresponding error correction check packet to the wireless receiver, the number of packet losses during the current transmission process can be predicted based on the packet loss information fed back by the wireless receiver last time, and then the number of error correction check packets to be sent to the wireless receiver is determined based on the number of packet losses. By dynamically adjusting the number of error correction check packets to be sent during the current data transmission process based on real-time packet loss information, an appropriate number of error correction check packets can be sent during each data transmission, which can ensure that lost data packets are quickly recovered, reduce latency, and avoid waste of resources.
[0032] The wireless transmitter in the present application can be connected to one or more wireless receivers for communication, and the two can communicate based on various wireless protocols such as WiFi, Bluetooth, or a custom private protocol, which is not limited in the embodiments of the present application.
[0033] The data transmitted between the wireless transmitting end and the wireless receiving end can be various types of data such as video data, audio data, etc., and the embodiments of the present application are not limited thereto.
[0034] like Figure 1 , which is a schematic diagram of data interaction between a wireless transmitting end and a wireless receiving end in an embodiment of the present application.
[0035] S102, the wireless transmitting end obtains a plurality of data packets to be sent, and encodes the plurality of data packets to obtain a plurality of error correction check packets; wherein the plurality of error correction check packets are used to restore the plurality of data packets;
[0036] In step S102, for the original data to be transmitted, the wireless transmitter can perform unpacking and grouping processing on the original data, wherein each group can include multiple data packets, and then send data in groups, and send the data packets of each group in sequence. For example, assuming that the original data is unpacked into 64 data packets, 8 data packets are grouped together, that is, 8 packets can be obtained, and the 8 packets can be sent to the wireless receiver in 8 times.
[0037] After obtaining multiple data packets to be sent in the current group, the wireless transmitter can encode the multiple data packets to obtain corresponding multiple error correction check packets, which can be used to restore the multiple data packets. For example, the multiple data packets can be FEC encoded to obtain multiple error correction check packets. Among them, the number of error correction check packets obtained by encoding can be consistent with the number of data packets, or it can be inconsistent, which can be set based on actual needs. For example, assuming that 8 data packets are a group, 8 error correction check packets can be encoded for the 8 data packets in each group, and these 8 error correction check packets can be used to restore the 8 data packets. For example, if 3 data packets are lost, the 3 lost data packets can be restored by any 3 of the 8 error correction check packets.
[0038] S104, the wireless transmitting end selects M error correction check packets from the multiple error correction check packets; wherein M is a positive integer, and M is determined based on the packet loss information returned by the wireless receiving end last time;
[0039] In step S104, after encoding to obtain multiple error correction check packets, the wireless transmitter can randomly select M error correction check packets as the error correction check packets to be sent for this data transmission. In order to ensure that the number of error correction check packets sent and the number of data packets that may be lost during the transmission process match as much as possible (wherein, matching means that the number of error correction check packets is consistent with the number of data packets that may be lost, or slightly greater, so that retransmission can be avoided and will not cause too much waste of network resources), the wireless transmitter can predict the number of possible packet losses in the current transmission process based on the packet loss information returned by the wireless receiver last time, and then determine the number M of error correction check packets to be sent for the current data transmission.
[0040] For example, taking the example that each group includes 8 data packets and 8 error correction check packets, the number of data packets that may be lost in the process of sending these 8 data packets can be predicted based on the packet loss information returned by the wireless receiving end. Assuming it is 3, 3 error correction check packets can be randomly selected from the 8 error correction check packets to be sent.
[0041] The packet loss information may be various information indicating the packet loss situation during the last data transmission process, such as the number of packet losses, the packet loss rate per unit time, the packet loss time, the packet loss location, etc., which can be flexibly set based on actual needs.
[0042] S106. The wireless transmitting end sends the multiple data packets and the M error correction check packets to the wireless receiving end.
[0043] In step S106, the wireless transmitting end may send the multiple data packets and M error correction check packets to the wireless receiving end.
[0044] S108. The wireless receiving end receives the data packet and error correction check packet sent by the wireless transmitting end, determines the packet loss information in the current data transmission process based on the received data packet, and returns it to the wireless transmitting end.
[0045] In step S108, the wireless receiving end can receive the data packets and error correction check packets sent by the wireless transmitting end, and determine the packet loss information in the data transmission process based on the received data packets. For example, the wireless receiving end can determine the number of packet losses, packet loss rate, etc. in the current data transmission process based on the number of received data packets, and then return the packet loss information to the wireless transmitting end.
[0046] S110: When determining that packet loss exists, the wireless receiving end restores multiple data packets sent by the wireless transmitting end based on the received data packets and error correction check packets.
[0047] After receiving the data packet and error correction check packet, the wireless receiving end can determine whether there is packet loss. If there is no packet loss, the wireless receiving end can directly perform packet assembly processing on the received data packet and parse out the original data. If there is packet loss, the received error correction check packet and data packet are used to restore the multiple data packets sent by the wireless transmitting end, and then perform packet assembly processing.
[0048] S112, the wireless transmitting end determines the number of error correction check packets to be sent in the next data transmission process based on the packet loss information currently returned by the wireless receiving end;
[0049] In step S112, the wireless transmitting end receives the packet loss information returned by the wireless receiving end at the current time, and determines the number of error correction check packets to be sent during the next data transmission process based on the packet loss information. The wireless transmitting end can continuously determine the number of error correction check packets to be sent at the current time based on the packet loss information returned by the wireless receiving end last time, so as to dynamically adjust the number of error correction check packets so that the number of error correction check packets matches the number of packet loss in the current transmission process as much as possible.
[0050] In some embodiments, the wireless transmission system may have multiple wireless receiving ends, such as Figure 2 As shown, the wireless receiving end includes at least two scenarios ( Figure 2 Taking two wireless receiving terminals as an example), the wireless transmitting terminal can create a broadcast channel and send the multiple data packets and M error correction packets to the at least two wireless receiving terminals (such as wireless receiving terminal 1 and wireless receiving terminal 2 in the figure) through the broadcast channel. Considering that the packet loss situation of each wireless receiving terminal is different, the wireless transmitting terminal can also create at least two unicast channels, each of which is used to receive the packet loss information returned by a wireless receiving terminal.
[0051] Similarly, each wireless receiving end can also create a broadcast channel and a unicast channel respectively, receive multiple data packets and M error correction check packets broadcast by the wireless transmitting end through the broadcast channel, and send packet loss information to the wireless transmitting end through the unicast channel.
[0052] Since the number of error correction check packets sent each time is predicted based on the packet loss information fed back by the wireless receiving end last time, it is impossible to ensure that the lost packet data can be recovered by the sent error correction check packets every time. Therefore, after receiving the data packet and error correction check packet sent by the wireless transmitting end, if the wireless receiving end determines that the multiple data packets cannot be recovered based on the received data packet and error correction check packet, a retransmission request can be sent to the wireless transmitting end to request the wireless transmitting end to resend the data. In the current technology, in the scenario where a wireless transmitting end transmits data to at least two wireless receiving ends at the same time, the wireless transmitting end usually performs wireless transmission in a broadcast + unicast manner. For example, a piece of data is sent in a broadcast manner, and each wireless receiving end issues a retransmission request based on its own packet loss situation. Since the data packets lost by each wireless receiving end may be different, the wireless transmitting end needs to return the retransmitted data to each wireless receiving end one by one in a unicast manner. For example, assuming that there are 4 wireless receiving ends, if the data packets lost by the 4 wireless receiving ends all contain data packet 1, the wireless transmitting end needs to resend data packet 1 to the 4 wireless receiving ends respectively, that is, the same data needs to be sent repeatedly 4 times, which takes up a lot of bandwidth resources.
[0053] Considering that even if different wireless receiving ends lose different data packets, they can all be recovered through the same error correction check packet. Therefore, when multiple wireless receiving ends request retransmission, an error correction check packet that enables these multiple wireless receiving ends to achieve data recovery can be broadcast, thereby avoiding repeated transmission of the same data and saving bandwidth. In some embodiments, when the wireless receiving ends include at least two, after the wireless transmitting end sends the multiple data packets and M error correction check packets to the at least two wireless receiving ends, the at least two wireless receiving ends can determine whether there is a packet loss phenomenon based on the data packets they have received. If there is a packet loss phenomenon, it can be further determined whether the packet loss data can be recovered based on the received error correction check packet (that is, whether the number of error correction check packets is equal to or greater than the number of packet loss). If so, the received error correction check packet is directly used to recover the packet loss data and perform packet grouping. If the received error correction check packet cannot be used to recover the packet loss data, a retransmission request can be returned to the wireless transmitting end, and each retransmission request can carry the number of error correction check packets to be retransmitted. Considering that the number of error correction check packets requested for retransmission by each wireless receiving end is different, such as Figure 3 As shown, each wireless receiving end can send a retransmission request through a unicast channel.
[0054] Of course, the wireless receiving end may also carry the number of lost packets in the current data transmission process in the retransmission request, and the wireless transmitting end determines the number of error correction packets to be retransmitted based on the number of lost packets and the number of error correction packets sent.
[0055] The wireless transmitting end may receive the retransmission request returned by one or more of the at least two wireless transmitting ends, and determine the maximum number N from the number carried in the received retransmission request, and then select N error correction check packets from the multiple error correction check packets except the M error correction check packets that have been sent as retransmission data, and broadcast the retransmission data through the broadcast channel. Figure 3 As shown, the wireless transmitter can send the retransmission data to the wireless receiver 1 and the wireless receiver 2 through the broadcast channel, so that only one copy of the retransmission data needs to be sent, and multiple wireless receivers can recover the lost packet data based on the retransmission data, saving bandwidth resources.
[0056] For example, suppose that the wireless transmitter currently needs to send 8 data packets, and 8 error correction check packets are obtained based on the encoding of these 8 data packets. Based on the packet loss information returned by the wireless receiver last time, the number of error correction check packets to be sent is determined to be 3, that is, 3 can be randomly selected from the 8 error correction check packets for transmission. The wireless transmitter sends 8 data packets + 3 error correction check packets to 2 wireless receivers (wireless receiver 1 and wireless receiver 2) by broadcasting. Wireless receiver 1 and wireless receiver 2 can determine whether retransmission is required based on the received data packets and error correction check packets. For example, if wireless receiver 1 loses 4 data packets, it can request the wireless transmitter to retransmit 1 error correction check packet, and if wireless receiver 2 loses 5 data packets, it can request the wireless transmitter to retransmit 2 error correction check packets. After receiving two retransmission requests, the wireless transmitter determines that the maximum number of error correction check packets to be retransmitted is 2, so it can randomly select 2 error correction check packets from the remaining 5 error correction check packets again and broadcast them. After receiving the two retransmitted error correction check packets, the wireless receiving end 1 can select one of them to recover the lost packet data, and the wireless receiving end 2 can recover the lost packet data based on the two retransmitted error correction check packets. In some embodiments, after sending a retransmission request to the wireless transmitting end, the wireless receiving end can receive the retransmitted error correction check packet from the wireless transmitting end, and perform packet grouping on the retransmitted error correction check packet. In order to quickly use the retransmitted error correction check packet to recover the lost packet data and reduce the delay, the packet grouping priority of the retransmitted error correction check packet is higher than the packet grouping priority of other data packets, that is, the wireless receiving end prioritizes the retransmitted error correction check packet for packet grouping.
[0057] In some embodiments, the packet loss information may be a packet loss rate per unit time, and the wireless transmitting end may determine the maximum packet loss rate from the packet loss rate per unit time returned by the at least two wireless receiving ends last time, and determine the number M of error correction check packets to be sent this time based on the number of multiple data packets to be sent and the maximum packet loss rate. Since the wireless transmitting end broadcasts the error correction check packets to the at least two wireless receiving ends, that is, the error correction check packets received by the at least two wireless receiving ends are the same, in order to ensure that each wireless receiving end can recover the packet loss data based on the received error correction check packets, the number M of error correction check packets to be sent may be determined based on the maximum packet loss rate returned by the at least two wireless receiving ends.
[0058] For example, the maximum number of packet losses in the transmission process can be predicted based on the number of error correction check packets to be sent and the maximum packet loss rate. In some scenarios, the number M of error correction check packets to be sent can be directly set to the predicted maximum number of packet losses. Of course, in some scenarios, in order to improve anti-interference performance, the number M of error correction check packets to be sent can also be set to be larger than the predicted maximum number of packet losses, thereby ensuring that the recovery of lost packet data can be achieved based only on error correction check packets, avoiding the start of the retransmission process.
[0059] For example, suppose there are two wireless receiving ends (wireless receiving end 1 and wireless receiving end 2), the packet loss rate per unit time (for example, 100ms) returned by wireless receiving end 1 last time is 30%, and the packet loss rate per unit time (for example, 100ms) returned by wireless receiving end last time is 50%, and 8 data packets need to be sent at the current time, then it can be predicted that the maximum number of packet losses during the data transmission process at this time is 8×50%=4. Then the number of error correction packets to be sent can be 4, or a value greater than 4, such as 5 or 6.
[0060] In order to allow the wireless receiving end to receive the error correction check packet retransmitted by the wireless transmitting end as quickly as possible and recover the data to reduce the delay. The wireless transmitting end can set two sending queues, namely the first sending queue and the second sending queue. The first sending queue is used to send retransmitted data (i.e., the error correction check packet to be retransmitted), and the second sending queue is used to send non-retransmitted data, i.e., the data packets and error correction check packets transmitted normally. Among them, the priority of the first sending queue is higher than the priority of the second sending queue, so that the retransmitted data can be sent first and the delay of data transmission can be reduced.
[0061] In order to further explain the data transmission method provided in the embodiment of the present application, a specific embodiment is introduced below.
[0062] like Figure 4 As shown, a wireless transmission system includes a wireless transmitter and N wireless receivers (wireless receivers 1 to N). The wireless transmitter can transmit video data to the N wireless receivers. The specific process includes the following:
[0063] (1) The wireless transmitter creates a broadcast transmission channel, and each wireless receiver creates a broadcast reception channel.
[0064] (2) The wireless transmitter establishes communication connections with the N wireless receivers respectively. The communication connections are implemented through unicast and are mainly used to receive the number of packet losses and the packet loss rate per unit time counted by the wireless receiver.
[0065] (3) The wireless transmitter creates a high-priority queue and a low-priority queue. The high-priority queue is used to send retransmission data, and the low-priority queue is used to send normal transmission data packets. Each time data is sent through the broadcast channel, if there is data in the high-priority queue, it will be sent first, and then the data in the low-priority queue will be sent.
[0066] (4) Assuming that the size of a video frame is 100KB and the broadcast channel MTU (maximum transmission unit) is 1500B, this video frame will be divided into 69 data packets. Assuming that FEC encoding is performed with 8 data packets as blocks, and each block encodes the same number of error correction packets as the original data packet, 8 groups of 8 original data packets + 8 error correction packets and 1 group of 5 original data packets + 5 error correction packets will be encoded.
[0067] (5) The wireless transmitter sends one block at a time. The first time, it sends 8 original data packets and 0 error correction packets (the purpose is to reduce the transmission delay caused by invalid error correction packets). Then, the number of error correction packets is dynamically adjusted according to the packet loss rate, see step (9) below.
[0068] (6) After receiving the data from the broadcast channel, each wireless receiving end will perform statistics, counting the number of packet losses and the packet loss rate per unit time (for example, the number of packet losses of wireless receiving end 1, wireless receiving end 2, and wireless receiving end N are A, B, and C respectively). If there is no packet loss, the data packets will be grouped into video frames; if the error correction packet carried by the block can meet the recovery conditions, only the packet loss rate will be counted; if the statistical reception is less than 8, the number of packet losses in the current block and the packet loss rate per unit time will be calculated. For example, assuming that after the current block is sent, the packet loss situation of each wireless receiving end is as follows: the number of packet losses in the current block of wireless receiving end 1 is 2, and the packet loss rate per unit time is 10%; the number of packet losses in the current block of wireless receiving end 2 is 4, and the packet loss rate per unit time is 30%. Then this packet loss information will be reported to the sending end.
[0069] (7) The wireless transmitter receives the packet loss information reported by the wireless receiver and calculates the maximum number of error correction packets that need to be retransmitted for this block. For example, as shown in the figure, assuming that the maximum number of packet loss is K, K error correction packets need to be retransmitted, among which, any K unsent error correction packets can be selected from the 8 error correction packets. FEC decoding can be restored normally, and the error correction packets are added to the high priority transmission queue for retransmission. For example, taking step (6) as an example, the wireless transmitter statistics that a maximum of 4 error correction packets should be retransmitted.
[0070] (8) After receiving the retransmitted error correction packets, the wireless receiving end performs data recovery by selecting any required number of error correction packets. If the error correction packets are sent together with the original data packet for the first time, they need to be staggered during retransmission to avoid receiving duplicate error correction packets and being unable to recover. For example, taking step (6) as an example, the wireless receiving end 1 selects any 2 error correction packets, and the remaining error correction packets can be discarded. The wireless receiving end 2 needs 4 error correction packets.
[0071] (9) The wireless transmitter counts the packet loss rate per unit time fed back by the wireless receiver, predicts the number of packet losses that may occur in the next block transmission, and sets the number of error correction packets to be sent based on the maximum packet loss rate. For example, taking step (6) as an example, the maximum packet loss rate per unit time is 30%, and 3 (8×30%=3) error correction packets need to be sent together. The next time the transmitter sends 8 original data packets + 3 error correction packets.
[0072] (10) The number of packet losses that may occur in the wireless environment can be predicted based on the real-time packet loss rate for data transmission, and the delay caused by retransmission can be exchanged for the delay of sending the initial number of data packets to reduce the delay of video transmission. If you want to have stronger anti-interference and reduce the delay caused by retransmission, you can increase the number of fixed error correction packets based on the calculated error correction packets when transmitting the initial data packet to improve anti-interference. For example, taking step (6) as an example, the maximum packet loss rate per unit time is 30%, and it is calculated that 3 error correction packets are sent. If you want to increase the initial data packet sending by 25% to see the interference, add 2 more error correction packets. The next time the sender sends 8 original data packets + 5 error correction packets.
[0073] Among them, the solutions of the above-mentioned embodiments can be freely combined to obtain new solutions when there is no conflict. Due to space constraints, they will not be listed one by one here.
[0074] An embodiment of the present application also provides a wireless transmitting device, which can implement the functions of the wireless transmitting end introduced in the above embodiment.
[0075] An embodiment of the present application also provides a wireless receiving device, which can implement the functions of the wireless receiving end introduced in the above embodiment.
[0076] The embodiment of the present application also provides a wireless transmission system, which includes a wireless transmitting device and one or more wireless receiving devices. The wireless transmitting device can implement the functions of the wireless transmitting end introduced in the above embodiment, and the wireless receiving device can implement the functions of the wireless receiving end introduced in the above embodiment.
[0077] An embodiment of the present application also provides a computer program product, which includes a computer program. When the computer program is executed, the method introduced in the above embodiment is implemented.
[0078] An embodiment of the present application further provides a computer storage medium, in which computer instructions are stored. When the computer instructions are executed, the method introduced in the above embodiment is implemented.
[0079] Correspondingly, an embodiment of the present application further provides a computer storage medium, in which a program is stored, and when the program is executed by a processor, the method in any of the above embodiments is implemented.
[0080] The embodiments of the present application may take the form of a computer program product implemented on one or more storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing program code. Computer-usable storage media include permanent and non-permanent, removable and non-removable media, and information storage can be implemented by any method or technology. Information can be computer-readable instructions, data structures, modules of programs, 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, read-only 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.
[0081] For the device embodiment, since it basically corresponds to the method embodiment, the relevant parts can refer to the partial description of the method embodiment. The device embodiment described above is only schematic, 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 work.
[0082] The user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data must comply with the relevant laws, regulations and standards of relevant countries and regions, and provide corresponding operation entrances for users to choose to authorize or refuse.
[0083] It should be noted that, in this article, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. The terms "include", "comprises" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, the elements defined by the statement "comprises a ..." do not exclude the presence of other identical elements in the process, method, article or device including the elements.
[0084] The method and device provided in the embodiments of the present application are introduced in detail above. Specific examples are used in this article to illustrate the principles and implementation methods of the present application. The description of the above embodiments is only used to help understand the method of the present application and its core idea. At the same time, for those skilled in the art, according to the idea of the present application, there will be changes in the specific implementation methods and application scope. In summary, the content of the present application should not be understood as a limitation on the present application.
Claims
1. A data transmission method, characterized in that: The method is applicable to a wireless transmitting end, the wireless transmitting end is communicatively connected with a wireless receiving end, and the method comprises: Acquire multiple data packets to be sent, and encode the multiple data packets to obtain multiple error correction check packets; wherein the multiple error correction check packets are used to restore the multiple data packets; Selecting M error correction check packets from the multiple error correction check packets; wherein M is a positive integer, and M is determined based on the packet loss information returned by the wireless receiving end last time; The multiple data packets and the M error correction check packets are sent to the wireless receiving end, so that the wireless receiving end determines the packet loss information of the multiple data packets during the transmission process based on the received data packets and returns it to the wireless transmitting end, and in the case of determining that packet loss exists, restores the multiple data packets based on the received data packets and the error correction check packets.
2. The method according to claim 1, characterized in that The wireless receiving end includes at least two, the wireless transmitting end creates a broadcast channel and at least two unicast channels, each unicast channel is used to communicate with a wireless receiving end, the wireless transmitting end sends the multiple data packets and the M error correction check packets to the at least two wireless receiving ends through the broadcast channel, and receives the packet loss information returned by the at least two wireless receiving ends through the at least two unicast channels respectively.
3. The method according to claim 2, characterized in that After sending the multiple data packets and the M error correction check packets to the at least two wireless receiving ends through the broadcast channel, the method further includes: Receiving a retransmission request returned by one or more of the at least two wireless receiving ends, wherein the retransmission request carries the number of error correction check packets to be retransmitted; Determine a maximum number N from the number carried in the received retransmission request; N error correction check packets are selected from the multiple error correction check packets as retransmission data, and the retransmission data are broadcast through the broadcast channel, wherein the selected N error correction check packets are error correction check packets other than the M error correction check packets.
4. The method according to claim 3, characterized in that The wireless transmitting end is provided with a first sending queue and a second sending queue, the first sending queue is used to send the retransmitted data, and the second sending queue is used to send other data except the retransmitted data; the priority of the first sending queue is higher than the priority of the second sending queue.
5. The method according to claim 1, characterized in that After sending the multiple data packets and the M error correction check packets to the wireless receiving end, the method further includes: The packet loss information returned by the wireless receiving end is received, and the number of error correction check packets to be sent next time is determined based on the received packet loss information.
6. The method according to claim 1, characterized in that The wireless receiving terminals include at least two, and the packet loss information includes a packet loss rate per unit time; The M is determined based on the packet loss information returned by the at least two wireless receiving terminals last time, including: Determine the maximum packet loss rate from the packet loss rates per unit time received from the at least two wireless receiving terminals last time; The M is determined based on the number of the plurality of data packets to be sent and the maximum packet loss rate.
7. A data transmission method, characterized in that: The method is applicable to a wireless receiving end, the wireless receiving end is communicatively connected with a wireless transmitting end, and the method comprises: Receiving multiple data packets and multiple error correction check packets sent by the wireless transmitting end; Determine packet loss information in a current data transmission process based on the received data packets, and return the information to the wireless transmitter, so that the wireless transmitter determines the number of error correction check packets to be sent in the next data transmission process based on the packet loss information; and When it is determined that packet loss exists, multiple data packets sent by the wireless transmitting end are restored based on the received data packets and error correction check packets.
8. The method according to claim 7, characterized in that The method of restoring the multiple data packets sent by the wireless transmitting end based on the received data packets and the error correction check packet includes: If it is determined that the received error correction check packet can be used to restore the multiple data packets sent by the wireless transmitting end, then directly use the received error correction check packet to restore the multiple data packets sent by the wireless transmitting end; If it is determined that the received error correction check packets cannot be used to recover the multiple data packets sent by the wireless transmitting end, a retransmission request is sent to the wireless transmitting end, and the retransmission request carries the number of error correction check packets to be retransmitted.
9. The method according to claim 7, characterized in that: After sending the retransmission request to the wireless transmitting end, the method further includes: After receiving the retransmitted error correction check packet from the wireless transmitter, the retransmitted error correction check packet is grouped, wherein the grouping priority of the retransmitted error correction check packet is higher than the grouping priority of other data packets.
10. A wireless transmitting device, characterized in that: The wireless transmitting device includes a processor and a memory, wherein a computer program is stored in the memory, and when the processor executes the computer program, the data transmission method according to any one of claims 1 to 6 can be implemented.
11. A wireless receiving device, characterized in that: The wireless receiving device includes a processor and a memory, wherein a computer program is stored in the memory, and when the processor executes the computer program, the data transmission method according to any one of claims 7 to 9 can be implemented.
12. A wireless transmission system, characterized in that: The wireless transmission system comprises the wireless transmitting device as claimed in claim 10 and one or more wireless receiving devices as claimed in claim 11.
13. A computer program product, characterized in that The computer program product comprises a computer program, and when the computer program is executed, the method according to any one of claims 1 to 6 and / or 7 to 9 is implemented.
14. A computer storage medium, characterized in that: The computer storage medium stores computer instructions, and when the computer instructions are executed, the method described in any one of claims 1-6 and / or 7-9 is implemented.
Citation Information
Patent Citations
Retransmission method, device and communication system based on forward error correction
CN101902315A
Method and apparatus for providing services and services usage information for a wireless subscriber unit
US20060121879A1