CN113014501B - Data transmission method, system, encoder and computer readable storage medium - Google Patents
Data transmission method, system, encoder and computer readable storage medium Download PDFInfo
- Publication number
- CN113014501B CN113014501B CN202110231019.7A CN202110231019A CN113014501B CN 113014501 B CN113014501 B CN 113014501B CN 202110231019 A CN202110231019 A CN 202110231019A CN 113014501 B CN113014501 B CN 113014501B
- Authority
- CN
- China
- Prior art keywords
- data packet
- marked
- nack
- data
- overload rate
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0823—Errors, e.g. transmission errors
- H04L43/0829—Packet loss
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/16—Threshold monitoring
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/29—Flow control; Congestion control using a combination of thresholds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/32—Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
- H04L47/323—Discarding or blocking control packets, e.g. ACK packets
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/643—Communication protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/647—Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
- H04N21/64746—Control signals issued by the network directed to the server or the client
- H04N21/64761—Control signals issued by the network directed to the server or the client directed to the server
- H04N21/64776—Control signals issued by the network directed to the server or the client directed to the server for requesting retransmission, e.g. of data packets lost or corrupted during transmission from server
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/647—Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
- H04N21/64784—Data processing by the network
- H04N21/64792—Controlling the complexity of the content stream, e.g. by dropping packets
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer Security & Cryptography (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
The present disclosure provides a data transmission method, system, encoder and computer readable storage medium, the method comprising: sending a flow data packet to a decoder so that the decoder returns a data packet marked by ACK and a data packet marked by NACK to the encoder according to the flow data packet; calculating the overload rate of the current data packet based on the data packet marked by the NACK; judging whether the overload rate of the data packet exceeds a preset overload rate threshold value, if so, storing the data packet marked by the NACK into a cache region; based on the data packet overload rate, deleting the data packets marked by partial NACK in the buffer area at random; and sending the data packet marked by the NACK which is not deleted in the buffer area to the decoder. The embodiment of the disclosure improves the defect that the SRT cannot adapt to network congestion by acquiring the packet loss condition of the SRT transmitted on the network, judging the influence of network jitter on the video data packet by combining the overload rate and dynamically adjusting the number of the data packets in the cache.
Description
Technical Field
The present disclosure relates to the field of communications technologies, and in particular, to a data transmission method, a data transmission system, an encoder, and a computer-readable storage medium.
Background
Because of the SRT (Secure Reliable Transport) Protocol, the core thought and mechanism of the UDT (UDP-based Data Transfer Protocol) are retained, the packet loss resistance is strong, and the SRT is suitable for a complex network and is often used for video transmission.
The loss prevention of the SRT is mainly solved through a buffer memory and a packet loss retransmission mechanism, and under the current SRT packet loss retransmission mechanism, if a message is lost in network transmission, a sending end can resend the message. For example, in a certain network environment, the bandwidth between the sending end and the receiving end is only 1M, and now, due to the influence of background traffic, noise and the like, the original bandwidth of 1M is reduced by 100k to 900k, and at this time, 10% of packet loss occurs; if the sending end does not receive the ACK from the receiving end, the packet loss is considered to occur, and then 10% of data is tried to be retransmitted; in practice, 900k of bandwidth is left between the sending end and the receiving end, the sending amount of retransmission added with packet loss is 1.1M, and the flow sent by narrowing the bandwidth is not decreased or increased reversely, which results in worse and worse network conditions, and finally causes frequent network congestion and blocking, and finally network breakdown.
Therefore, it is an urgent need to provide a data transmission scheme capable of adapting SRT to network jitter.
Disclosure of Invention
The present disclosure provides a data transmission method, system, encoder, and computer-readable storage medium to at least solve the above-mentioned problems.
According to an aspect of the embodiments of the present disclosure, there is provided a data transmission method applied to an encoder, including:
sending a flow data packet to a decoder so that the decoder returns a data packet marked by ACK and a data packet marked by NACK to the encoder according to the flow data packet;
calculating the overload rate of the current data packet based on the data packet marked by the NACK;
judging whether the overload rate of the data packet exceeds a preset overload rate threshold value or not;
if the data packet exceeds a preset overload rate threshold, storing the data packet marked by the NACK into a cache region;
based on the data packet overload rate, deleting the data packets marked by partial NACK in the buffer area at random; and the number of the first and second groups,
and sending the data packet marked by the NACK in the part which is not deleted in the buffer area to the decoder.
In one embodiment, after sending the traffic data packet to the decoder and before calculating the data packet overload rate based on the data packet marked by NACK, the method further comprises:
calculating the maximum data packet of one second allowed to be sent under the current bandwidth;
judging whether the data packet marked by the ACK every second is smaller than the maximum data packet in one second;
and if the maximum data packet in one second is smaller than the maximum data packet in one second, executing a step of calculating the overload rate of the data packet based on the data packet marked by the NACK.
In one embodiment, after sending the traffic data packet to the decoder, the method further includes:
recording the maximum byte number per second of the flow data packet sent by the self equipment;
the calculating the maximum data packet allowed to be sent in one second under the current bandwidth includes:
and calculating the maximum data packet of one second allowed to be sent under the current bandwidth based on the current maximum bandwidth of the self equipment and the maximum byte number per second.
In one embodiment, the calculating the current packet overload rate based on the NACK tag includes:
screening out the data packets marked by the NACK twice adjacent to the current network from the data packets marked by the NACK; and (c) a second step of,
and calculating the overload rate of the current data packet based on the data packets marked by the two adjacent NACKs of the current network.
According to another aspect of the embodiments of the present disclosure, there is provided a data transmission system applied to an encoder, including:
a first sending module, configured to send a traffic data packet to a decoder, so that the decoder returns an ACK-marked data packet and a NACK-marked data packet to the encoder according to the traffic data packet;
a first calculation module configured to calculate a current data packet overload rate based on the NACK-marked data packets;
a first judging module configured to judge whether the overload rate of the data packet exceeds a preset overload rate threshold;
the cache module is arranged to store the data packet marked by the NACK into a cache region when the judging module judges that the data packet exceeds a preset overload rate threshold value;
a deleting module configured to randomly delete a portion of NACK-marked data packets in the buffer based on the data packet overload rate; and the number of the first and second groups,
a second sending module, further configured to send the part of the data packets with NACK flags in the buffer that are not deleted to the decoder. In one embodiment, the system further comprises:
the second calculation module is arranged for calculating the maximum data packet of one second allowed to be transmitted under the current bandwidth after the transmission module transmits the flow data packet to the decoder and before the first calculation module calculates the overload rate of the data packet;
a second determination module configured to determine whether an ACK-marked packet per second is less than the one-second-largest packet;
the first calculating module is further configured to calculate the data packet overload rate based on the data packet marked by the NACK when the second determining module determines that the data packet is smaller than the maximum data packet in one second.
In one embodiment, the system further comprises:
the recording module is set to record the maximum byte number per second of the flow data packet sent by the self equipment after the first sending module sends the flow data packet to the encoder;
the second calculation module is specifically configured to calculate a maximum data packet per second allowed to be sent under the current bandwidth based on the current maximum bandwidth of the device itself and the maximum number of bytes per second.
In one embodiment, the first computing module includes:
the screening unit is set to screen out the data packets marked by the NACK twice adjacent to the current network from the data packets marked by the NACK; and (c) a second step of,
and the calculating unit is arranged to calculate the current data packet overload rate based on the data packets marked by two adjacent NACKs of the current network.
According to yet another aspect of the embodiments of the present disclosure, there is provided an encoder including a memory and a processor, the memory having a computer program stored therein, the processor executing the data transmission method when the processor executes the computer program stored in the memory.
According to still another aspect of the embodiments of the present disclosure, there is provided a computer-readable storage medium having a computer program stored thereon, wherein when the computer program is executed by a processor, the processor executes the data transmission method.
The technical scheme provided by the embodiment of the disclosure can have the following beneficial effects:
according to the data transmission method provided by the embodiment of the disclosure, a flow data packet is sent to a decoder, so that the decoder returns an ACK-marked data packet and an NACK-marked data packet to the encoder according to the flow data packet; calculating the overload rate of the data packet based on the NACK marked data packet; judging whether the overload rate of the data packet exceeds a preset overload rate threshold value, if so, storing the data packet marked by the NACK into a cache region; based on the data packet overload rate, deleting the data packets marked by partial NACK randomly in the buffer area; and sending the part of the data packets NACK which are not deleted in the buffer area to the decoder. The embodiment of the disclosure improves the defect that the SRT cannot adapt to network congestion by acquiring the packet loss condition of the SRT transmitted on the network, judging the influence of network jitter on the video data packet by combining the overload rate and dynamically adjusting the number of the data packets in the cache.
Additional features and advantages of the disclosure will be set forth in the description which follows, and in part will be obvious from the description, or may be learned by the practice of the disclosure. The objectives and other advantages of the disclosure may be realized and attained by the structure particularly pointed out in the written description and claims hereof as well as the appended drawings.
Drawings
The accompanying drawings are included to provide a further understanding of the disclosed embodiments and are incorporated in and constitute a part of this specification, illustrate embodiments of the disclosure and together with the example serve to explain the principles of the disclosure and not to limit the disclosure.
FIG. 1 is a schematic diagram of a cache arrangement of the SRT protocol;
fig. 2 is a schematic diagram of an SRT ACK packet loss retransmission mechanism;
fig. 3 is a schematic diagram of a SRT NACK packet loss retransmission mechanism;
fig. 4 is a schematic flowchart of a data transmission method according to an embodiment of the present disclosure;
fig. 5 is a schematic flowchart of a data transmission method according to another embodiment of the present disclosure;
fig. 6 is a schematic structural diagram of a data transmission system according to an embodiment of the present disclosure;
fig. 7 is a schematic structural diagram of another data transmission system provided in the embodiment of the present disclosure;
fig. 8 is a schematic structural diagram of an encoder according to an embodiment of the present disclosure.
Detailed Description
To make the objects, technical solutions and advantages of the embodiments of the present disclosure more apparent, specific embodiments of the present disclosure are described below in detail with reference to the accompanying drawings. It should be understood that the detailed description and specific examples, while indicating the present disclosure, are given by way of illustration and explanation only, not limitation.
It should be noted that the terms "first," "second," and the like in the description and claims of the present disclosure and in the above-described drawings are used for distinguishing between similar elements and not necessarily for describing a particular sequential or chronological order; furthermore, the embodiments and features of the embodiments in the present disclosure may be arbitrarily combined with each other without conflict.
In the following description, suffixes such as "module", "component", or "unit" used to denote elements are used only for the convenience of explanation of the present disclosure, and have no specific meaning in themselves. Thus, "module", "component" or "unit" may be used mixedly.
The anti-lost packet of the SRT is mainly solved through a buffer memory and a packet loss retransmission mechanism. As shown in fig. 1, the SRT has a receiving-end buffer and a sending-end buffer at both the receiving end and the sending end, and sends them according to the time stamp interval; among them, the SRT uses an ACK (Acknowledgement) mechanism for packet loss retransmission. Taking fig. 2 as an example, assume that the sending-end buffer sends five data packets: 1. 2, 3, 4 and 5 to a receiving end buffer area, the receiving end buffer area sends ACK to the sending end buffer area after successfully receiving the data packets, wherein the acknowledgement already indicates that the data packets are successfully received, the sending end recovers space after receiving the ACK, deletes five data packets of 1, 2, 3, 4 and 5 and prepares to send a data packet 6. If the message is lost in the network transmission, the sending end will resend, and as can be understood, at a determined interval (related to ACKs, ACKACKs and Round Trip Time), the receiving end sends ACK to the sending end, so that the sending end removes the data packet receiving ACK from the sender buffer, and the spatial point in the buffer will be recovered; assuming that the SRT simultaneously uses a NACK (negative acknowledgement) mechanism, taking fig. 3 as an example, if a data packet 4 reaches a buffer of a receiver, but a receiving end does not receive a data packet 3, NACK needs to be sent to a sender, which sends a message that the data packet 3 does not reach to a sending end, and the sending end resends the data packet 3 after receiving the message, specifically, NACK is added to a list (periodic NACK report) and periodically sent to the sending end, so as to avoid loss or delayed arrival in transmission of a NACK message itself.
Under the SRT packet loss retransmission mechanism, the situation of network jitter cannot be adapted to the situation of network jitter, which may cause the network situation to get worse and worse, and finally cause the network congestion to be blocked frequently and the network to crash.
In order to solve the above problem, the embodiment of the present disclosure judges the influence of the network jitter on the video data packet by collecting the packet loss condition of the SRT transmitted on the network and combining the current parameters such as the maximum bandwidth of the network, and improves the defect that the SRT cannot adapt to the network congestion by dynamically adjusting the number of data packets in the buffer memory of the encoder end.
For ease of understanding the following examples, the following parameters are referred to in this example:
INPUTBW, maximum bandwidth of encoder side;
send _ bitrate _ max, the maximum number of bytes per second of the current encoder obtained by the acquisition device;
ACK _ max, the maximum packet of one second allowed by the current encoder side, ACK _ max = INPUTBW/send _ bitrate _ max;
threshold, the maximum overload Threshold allowed, may be set to 0.2, for example. The purpose of setting the threshold is to prevent the loss of data packets caused by short-time network jitter, thereby reducing the video quality;
Δ NACK, the difference between the data packets lost by two adjacent data transfers of the current network, i.e., Δ NACK = NACKn +1-NACKn;
OVERHEAD, i.e., overload rate, OVERHEAD = Δ NACK/NACKn.
The embodiment of the disclosure acquires the current data flow of the sending terminal by adding a sending data volume acquisition device of the encoder terminal, can calculate ACK _ max, and can grasp the network jitter condition by calculating OVERHEAD in real time under the condition that ACK < ACK _ max. And then after the OVERHEAD is greater than 0 and exceeds a preset overload rate threshold value, discarding the data packet in the buffer at the encoder end according to the OVERHEAD value so as to avoid causing further deterioration of data packet transmission. And under the condition that OVERHEAD is less than 0, the storage state of the data packet in the buffer memory of the encoder end is not changed, so that the purpose of SRT self-adaptive network jitter is realized.
Referring to fig. 4, fig. 4 is a flowchart illustrating a data transmission method applied to an encoder according to an embodiment of the present disclosure, where the method includes steps S401 to S406.
In step S401, a traffic data packet is sent to a decoder, so that the decoder returns an ACK-marked data packet and a NACK-marked data packet to the encoder according to the traffic data packet.
Specifically, the encoder of this embodiment includes a video stream buffer, a message module, and a data size acquisition module, and for example, before video transmission, initialization parameter configuration is performed on the encoder, where the initialization parameter configuration includes a maximum bandwidth INPUTBW of an encoder portion and an allowable maximum overload Threshold. The encoder sends a video stream data packet in the local cache to the data acquisition module, the data acquisition module sends the video data packet to the decoder, the decoder returns a data packet ACK which is successfully received in real time to the data acquisition module, in the whole video stream transmission process, the decoder transmits messages such as ACK/NACK and the like to the encoder in real time, and the message module processes the data in real time.
In step S402, a current packet overload rate is calculated based on the NACK-marked packets.
Specifically, the step S402 includes the steps of:
screening out the data packets marked by the NACK twice adjacent to the current network from the data packets marked by the NACK; and the number of the first and second groups,
and calculating the overload rate of the current data packet based on the data packets marked by the two adjacent NACKs of the current network.
Specifically, Δ NACK is used to indicate the difference between the data packets lost by the two adjacent data transmissions of the current network, i.e., Δ NACK = NACKn +1-NACKn, NACKn +1 and NACKn respectively indicate the data packets lost by the two adjacent data transmissions of the current network; OVERHEAD, i.e., packet overload rate, which results in OVERHEAD = Δ NACK/NACKn according to the following equation.
In step S403, it is determined whether the overload rate of the data packet exceeds a preset overload rate threshold, if so, step S404 is executed, otherwise, the process is ended, which indicates that the current data packet is
In this embodiment, if the overload rate of the data packet exceeds the preset overload rate threshold, which indicates that the current network jitter has exceeded the set requirement, the data packet needs to be reduced to reduce the network congestion degree, thereby ensuring the stability of network transmission.
It should be noted that, in combination with the actual situation, a person skilled in the art can adaptively set the preset overload rate Threshold when performing the initial setting, and the preset overload rate Threshold is >0.
In step S404, the NACK marked data packet is stored in a buffer.
Specifically, the message module stores the NACK-marked data packet into the video stream buffer, and sends the packet overload rate OVERHEAD to the video stream buffer.
In step S405, based on the packet overload rate, the partial NACK marked packets in the buffer are deleted randomly.
Specifically, the video stream buffer area randomly deletes the data packet marked by NACK in the buffer according to a preset rule according to the packet overload rate overload ratio, wherein the random deletion mode can prevent the skip of the video stream caused by deleting consecutive data packets.
In step S406, the part of NACK-marked packets in the buffer that is not deleted is sent to the decoder.
At this point, the encoder continues to send packets to the decoder that are not deleted in the buffer. In this embodiment, the SRT protocol flow in the original decoder and the protocol stack configuration mode are not changed, so that the decoder does not need to be upgraded, and the real-time status of the network jitter is determined by comparing the real-time change of the ACK, and part of the data packets are discarded to prevent more serious network congestion, so as to achieve the purpose of adapting to the network jitter.
Referring to fig. 5, fig. 5 is a flowchart illustrating a data transmission method according to another embodiment of the present disclosure, based on the above embodiment, the encoder confirms the maximum endurance capacity of the current network, and then determines the packet overload rate to further ensure the stability of the network, and specifically, after sending a traffic packet to the decoder, and before calculating the packet overload rate based on the NACK flag (after step S401 and before step S402), the method further includes step S501 and step S502.
In step S501, a maximum data packet of one second allowed to be sent under the current bandwidth is calculated;
in step S502, it is determined whether the ACK-marked data packet per second is smaller than the maximum data packet per second, and if so, step S402 is executed to calculate the overload rate of the data packet based on the NACK-marked data packet, otherwise, the process is ended.
In one embodiment, after sending the traffic data packet to the decoder (step S401), the method further includes the following steps:
recording the maximum byte number per second of the flow data packet sent by the self equipment;
the step of calculating the maximum data packet allowed to be sent in one second under the current bandwidth comprises the following steps:
and calculating the maximum data packet of one second allowed to be sent under the current bandwidth based on the current maximum bandwidth of the self equipment and the maximum byte number per second.
Specifically, the data acquisition module sends a video data packet to a decoder, records the maximum number of bytes per second send _ bitrate _ max of the current encoder in real time, calculates and calculates the maximum data packet ACK _ max allowed by the encoder end in one second under the current bandwidth according to the maximum bandwidth INPUTBW and the maximum bandwidth send _ bitrate _ max of the encoder end, and sends the maximum data packet ACK _ max to the message module, and the message module calculates whether the number of ACK per second is smaller than ACK _ max, if ACK < ACK _ max, it indicates that the maximum capacity of the network theory is not reached, and then calculates the overload rate and the subsequent steps.
Based on the same technical concept, the embodiment of the present disclosure correspondingly provides a data transmission system, which is applied to an encoder, and as shown in fig. 6, the system includes:
a first sending module 61, configured to send a traffic data packet to a decoder, so that the decoder returns an ACK-marked data packet and a NACK-marked data packet to the encoder according to the traffic data packet;
a first calculation module 62 configured to calculate a current packet overload rate based on the NACK-marked packets;
a first determining module 63 configured to determine whether the overload rate of the data packet exceeds a preset overload rate threshold;
a buffer module 64 configured to store the NACK marked data packet into a buffer area when the judgment module judges that the predetermined overload rate threshold is exceeded;
a deleting module 65 configured to randomly delete the partial NACK marked data packets in the buffer based on the data packet overload rate; and the number of the first and second groups,
a second sending module 66, further configured to send the part of the NACK-marked packets in the buffer not deleted to the decoder.
In one embodiment, the system further comprises:
the second calculation module is arranged for calculating the maximum data packet allowed to be transmitted for one second under the current bandwidth after the transmission module transmits the flow data packet to the decoder and before the first calculation module calculates the overload rate of the calculated data packet;
a second determination module configured to determine whether an ACK-marked packet per second is less than the one-second-largest packet;
the first calculating module 62 is further configured to calculate the data packet overload rate based on the data packet marked by NACK when the second determining module determines that the data packet is smaller than the maximum data packet in one second.
In one embodiment, the system further comprises:
the recording module is set to record the maximum byte number per second of the flow data packet sent by the self equipment after the first sending module sends the flow data packet to the encoder;
the second calculation module is specifically configured to calculate a maximum data packet per second allowed to be sent under the current bandwidth based on the current maximum bandwidth of the own device and the maximum number of bytes per second.
In one embodiment, the first computing module 62 includes:
the screening unit is set to screen out the data packets marked by the NACK twice adjacent to the current network from the data packets marked by the NACK; and the number of the first and second groups,
and the calculating unit is arranged to calculate the current data packet overload rate based on the data packets marked by two adjacent NACKs of the current network.
Based on the same technical concept, the embodiment of the present disclosure correspondingly provides another data transmission system, as shown in fig. 7, the system includes an encoder 71 and a decoder 72, the encoder 71 includes a video stream buffer 711, a message module 712, and a data amount collection module 713, and the interaction between the modules is as follows:
1) The encoder 71 is initialized for parameter configuration prior to video transmission. Including the maximum bandwidth INPUTBW of the encoder 71 section, the maximum overload Threshold allowed.
2) The video stream buffer 711 of the encoder sends the video stream data packet to the data acquisition module 713;
3) The data acquisition module 713 sends the video data packet to the decoder 72, and records the maximum number of bytes per second send _ bitrate _ max of the current encoder 71 in real time;
4) The decoder 72 returns the real-time successfully received data packet ACK to the data acquisition module 713;
5) The data acquisition module 713 calculates a maximum data packet ACK _ max for one second allowed by the encoder side under the current bandwidth, and sends the maximum data packet ACK _ max to the message module 712;
6) In the whole video stream transmission process, the decoder 72 transmits messages such as ACK/NACK and the like to the encoder 71 in real time, and the message module 712 processes data in real time;
7) The message module 712 calculates whether the number of ACKs per second is less than ACK _ max, which indicates that the theoretical maximum capacity of the network has not been reached if ACK < ACK _ max;
8) The message module 712 calculates an overload rate OVERHEAD, and if OVERHEAD >0 and OVERHEAD > Threshold, it indicates that the network jitter has exceeded the set requirement and the network congestion needs to be reduced by reducing data packets;
9) The message module 712 sends NACK and OVERHEAD to the encoder cache;
10 ) the video buffer 711 of the encoder 71 randomly deletes the NACK-marked packets in the buffer according to the overlap ratio. The jump of the video stream caused by deleting continuous data packets can be prevented by adopting a random deleting mode;
11 Encoder 71 continues to send packets that are not deleted in the buffer to data volume collection module 713, and then to decoder 72 by data volume collection module 713.
It should be noted that the video stream buffer 711 of this embodiment may correspond to the buffer module 64, the deleting module 65, the second sending module 66 and the buffer in the previous embodiment; the message module 712 corresponds to the first judging module 63, the second calculating module and the second judging module in the previous embodiment; the data amount acquisition module 713 corresponds to the first transmission module 61, the first calculation module 62, and the second transmission module 62 in the previous embodiment.
Based on the same technical concept, the embodiment of the present disclosure correspondingly provides an encoder, as shown in fig. 8, the encoder includes a memory 81 and a processor 82, the memory 81 stores a computer program, and when the processor 82 runs the computer program stored in the memory 81, the processor 82 executes the data transmission method.
Based on the same technical concept, embodiments of the present disclosure correspondingly provide a computer-readable storage medium, on which a computer program is stored, and when the computer program is executed by a processor, the processor executes the data transmission method.
It will be understood by those of ordinary skill in the art that all or some of the steps of the methods, systems, functional modules/units in the devices disclosed above may be implemented as software, firmware, hardware, and suitable combinations thereof. In a hardware implementation, the division between functional modules/units mentioned in the above description does not necessarily correspond to the division of physical components; for example, one physical component may have multiple functions, or one function or step may be performed by several physical components in cooperation. Some or all of the physical components may be implemented as software executed by a processor, such as a central processing unit, digital signal processor, or microprocessor, or as hardware, or as an integrated circuit, such as an application specific integrated circuit. Such software may be distributed on computer readable media, which may include computer storage media (or non-transitory media) and communication media (or transitory media). The term computer storage media includes volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data, as is well known to those of ordinary skill in the art. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital Versatile Disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can accessed by a computer. In addition, communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media as is well known to those skilled in the art.
Finally, it should be noted that: the above embodiments are only used for illustrating the technical solutions of the present disclosure, and not for limiting the same; while the present disclosure has been described in detail with reference to the foregoing embodiments, those of ordinary skill in the art will understand that: the technical solutions described in the foregoing embodiments may still be modified, or some or all of the technical features may be equivalently replaced; and such modifications or substitutions do not depart from the spirit and scope of the corresponding technical solutions of the embodiments of the present disclosure.
Claims (8)
1. A data transmission method, applied to an encoder, the method comprising:
sending a flow data packet to a decoder so that the decoder returns a data packet marked by ACK and a data packet marked by NACK to the encoder according to the flow data packet;
calculating the overload rate of the current data packet based on the data packet marked by the NACK;
judging whether the overload rate of the data packet exceeds a preset overload rate threshold value or not;
if the data packet exceeds a preset overload rate threshold, storing the data packet marked by the NACK into a cache region;
based on the data packet overload rate, deleting the data packets marked by partial NACK in the buffer area at random; and the number of the first and second groups,
sending the part of the data packet marked by NACK in the cache region which is not deleted to the decoder;
wherein, the calculating the current data packet overload rate based on the data packet marked by the NACK comprises the following steps:
screening out the data packets marked by the NACK twice adjacent to the current network from the data packets marked by the NACK; and the number of the first and second groups,
and calculating the overload rate of the current data packet based on the data packets marked by two adjacent NACKs of the current network.
2. The method of claim 1, further comprising, after sending traffic packets to a decoder and before calculating a packet overload rate based on the NACK-marked packets:
calculating the maximum data packet of one second allowed to be sent under the current bandwidth;
judging whether the data packet marked by the ACK per second is smaller than the maximum data packet in one second;
and if the maximum data packet is less than the one second maximum data packet, executing a step of calculating the overload rate of the data packet based on the data packet marked by the NACK.
3. The method of claim 2, further comprising, after sending the traffic packet to the decoder:
recording the maximum byte number per second of the flow data packet sent by the self equipment;
the calculating the maximum data packet allowed to be sent in one second under the current bandwidth includes:
and calculating the maximum data packet of one second allowed to be sent under the current bandwidth based on the current maximum bandwidth of the self equipment and the maximum byte number per second.
4. A data transmission system, for use in an encoder, comprising:
a first sending module, configured to send a traffic data packet to a decoder, so that the decoder returns an ACK-marked data packet and a NACK-marked data packet to the encoder according to the traffic data packet;
a first calculation module configured to calculate a current data packet overload rate based on the NACK-marked data packets;
a first judging module configured to judge whether the overload rate of the data packet exceeds a preset overload rate threshold;
the cache module is arranged to store the data packet marked by the NACK into a cache region when the judging module judges that the data packet exceeds a preset overload rate threshold value;
a deleting module configured to randomly delete a part of NACK marked data packets in the buffer based on the data packet overload rate; and the number of the first and second groups,
a second sending module, further configured to send the part of the data packets with NACK flags in the buffer area that are not deleted to the decoder;
wherein the first computing module comprises:
the screening unit is set to screen out the data packets marked by the NACK twice adjacent to the current network from the data packets marked by the NACK; and (c) a second step of,
and the calculating unit is arranged to calculate the current data packet overload rate based on the data packets marked by the two adjacent NACKs of the current network.
5. The system of claim 4, further comprising:
the second calculation module is arranged to calculate the maximum data packet allowed to be transmitted for one second under the current bandwidth after the transmission module transmits the flow data packet to the decoder and before the first calculation module calculates the overload rate of the data packet based on the data packet marked by the NACK;
a second determination module configured to determine whether an ACK-marked packet per second is less than the one-second-largest packet;
the first calculating module is further configured to calculate the data packet overload rate based on the data packet marked by the NACK when the second determining module determines that the data packet is smaller than the maximum data packet in one second.
6. The system of claim 5, further comprising:
the recording module is set to record the maximum byte number per second of the flow data packet sent by the self equipment after the first sending module sends the flow data packet to the encoder;
the second calculation module is specifically configured to calculate a maximum data packet per second allowed to be sent under the current bandwidth based on the current maximum bandwidth of the own device and the maximum number of bytes per second.
7. An encoder, characterized in that it comprises a memory in which a computer program is stored and a processor which, when running the computer program stored by the memory, executes the data transmission method according to any one of claims 1 to 3.
8. A computer-readable storage medium, on which a computer program is stored, which, when being executed by a processor, carries out the data transmission method according to any one of claims 1 to 3.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110231019.7A CN113014501B (en) | 2021-03-02 | 2021-03-02 | Data transmission method, system, encoder and computer readable storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110231019.7A CN113014501B (en) | 2021-03-02 | 2021-03-02 | Data transmission method, system, encoder and computer readable storage medium |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113014501A CN113014501A (en) | 2021-06-22 |
CN113014501B true CN113014501B (en) | 2022-12-16 |
Family
ID=76402485
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110231019.7A Active CN113014501B (en) | 2021-03-02 | 2021-03-02 | Data transmission method, system, encoder and computer readable storage medium |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113014501B (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115348481B (en) * | 2022-08-15 | 2023-06-02 | 中国联合网络通信集团有限公司 | Data transmission method, device, transmitter and receiver |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101616129A (en) * | 2008-06-27 | 2009-12-30 | 成都市华为赛门铁克科技有限公司 | The methods, devices and systems of anti-network attack flow overload protection |
CN101656747A (en) * | 2009-09-25 | 2010-02-24 | 深圳创维数字技术股份有限公司 | Method and system for transmitting streaming media data |
CN101888544A (en) * | 2010-06-30 | 2010-11-17 | 杭州海康威视数字技术股份有限公司 | Low-bandwidth video data transmission method and hard disk video recorder |
CN102065010A (en) * | 2010-12-17 | 2011-05-18 | 天津曙光计算机产业有限公司 | Playback method for random flow retransmission and discard |
CN102088640A (en) * | 2011-01-10 | 2011-06-08 | 西安电子科技大学 | Adaptive selection retransmission method based on video content |
CN102170340A (en) * | 2011-04-08 | 2011-08-31 | 深圳市捷视飞通科技有限公司 | RTP (real time protocol) data timeout retransmission method and system and video terminal |
CN104284135A (en) * | 2013-07-02 | 2015-01-14 | 华为技术有限公司 | Video transmission method and device |
CN107197392A (en) * | 2017-05-24 | 2017-09-22 | 中广热点云科技有限公司 | Packet discarding method and packet loss device in barrage video stream transmission procedure |
CN108391289A (en) * | 2018-05-31 | 2018-08-10 | 京信通信系统(中国)有限公司 | A kind of jamming control method and base station |
CN108781139A (en) * | 2016-02-26 | 2018-11-09 | 网络洞察力知识产权公司 | Data in packet network retransmit |
CN109039541A (en) * | 2018-08-15 | 2018-12-18 | 大连大学 | A kind of link circuit self-adapting optimization method minimized based on AOS communication system packet loss |
CN112333268A (en) * | 2020-11-02 | 2021-02-05 | 中国联合网络通信集团有限公司 | Data transmission method and device |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE50108811D1 (en) * | 2000-11-22 | 2006-04-13 | Siemens Ag | DEVICE AND METHOD FOR TRAFFIC CONTROL OF DATA TRANSMISSIONS IN A TCP / IP DATA TRANSMISSION NETWORK |
-
2021
- 2021-03-02 CN CN202110231019.7A patent/CN113014501B/en active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101616129A (en) * | 2008-06-27 | 2009-12-30 | 成都市华为赛门铁克科技有限公司 | The methods, devices and systems of anti-network attack flow overload protection |
CN101656747A (en) * | 2009-09-25 | 2010-02-24 | 深圳创维数字技术股份有限公司 | Method and system for transmitting streaming media data |
CN101888544A (en) * | 2010-06-30 | 2010-11-17 | 杭州海康威视数字技术股份有限公司 | Low-bandwidth video data transmission method and hard disk video recorder |
CN102065010A (en) * | 2010-12-17 | 2011-05-18 | 天津曙光计算机产业有限公司 | Playback method for random flow retransmission and discard |
CN102088640A (en) * | 2011-01-10 | 2011-06-08 | 西安电子科技大学 | Adaptive selection retransmission method based on video content |
CN102170340A (en) * | 2011-04-08 | 2011-08-31 | 深圳市捷视飞通科技有限公司 | RTP (real time protocol) data timeout retransmission method and system and video terminal |
CN104284135A (en) * | 2013-07-02 | 2015-01-14 | 华为技术有限公司 | Video transmission method and device |
CN108781139A (en) * | 2016-02-26 | 2018-11-09 | 网络洞察力知识产权公司 | Data in packet network retransmit |
CN107197392A (en) * | 2017-05-24 | 2017-09-22 | 中广热点云科技有限公司 | Packet discarding method and packet loss device in barrage video stream transmission procedure |
CN108391289A (en) * | 2018-05-31 | 2018-08-10 | 京信通信系统(中国)有限公司 | A kind of jamming control method and base station |
CN109039541A (en) * | 2018-08-15 | 2018-12-18 | 大连大学 | A kind of link circuit self-adapting optimization method minimized based on AOS communication system packet loss |
CN112333268A (en) * | 2020-11-02 | 2021-02-05 | 中国联合网络通信集团有限公司 | Data transmission method and device |
Also Published As
Publication number | Publication date |
---|---|
CN113014501A (en) | 2021-06-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220014312A1 (en) | Data transmission method and apparatus | |
CA2646502C (en) | Communication device and method | |
US9094200B2 (en) | Method, apparatus and system for sending and receiving a media stream | |
US8369221B2 (en) | Efficient flow control in a radio network controller (RNC) | |
EP1393489B1 (en) | Method and receiver for improved data packet transfer in a transmission protocol with repeat requests | |
US9282049B2 (en) | Systems, methods, and computer program products providing feedback for network congestion management | |
GB2485765A (en) | Effecting flow control by notifying loss events to congestion controller dependent upon urgency of reception | |
CN113765626B (en) | Data transmission method and device of mobile communication system | |
KR101024461B1 (en) | Optimised packet data transmission protocol in a communication system employing a transmission window | |
CN113014501B (en) | Data transmission method, system, encoder and computer readable storage medium | |
CN1691590A (en) | Method for sending window size adjustment information by receiving end in wireless link data transmission | |
US20050094632A1 (en) | DOCSIS MAC layer-based ARQ for fixed wireless | |
US8976653B2 (en) | Communication devices and methods for determining status of remote communication devices | |
CN116963163A (en) | Status report generation method, device, computer equipment and readable medium | |
EP2242307A1 (en) | Controlling transmission of encoded data packets | |
CN118802081A (en) | Data retransmission method, apparatus, device, storage medium and program product |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |