CN113014501A - Data transmission method, system, encoder and computer readable storage medium - Google Patents

Data transmission method, system, encoder and computer readable storage medium Download PDF

Info

Publication number
CN113014501A
CN113014501A CN202110231019.7A CN202110231019A CN113014501A CN 113014501 A CN113014501 A CN 113014501A CN 202110231019 A CN202110231019 A CN 202110231019A CN 113014501 A CN113014501 A CN 113014501A
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.)
Granted
Application number
CN202110231019.7A
Other languages
Chinese (zh)
Other versions
CN113014501B (en
Inventor
王彬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China United Network Communications Group Co Ltd
Original Assignee
China United Network Communications Group Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China United Network Communications Group Co Ltd filed Critical China United Network Communications Group Co Ltd
Priority to CN202110231019.7A priority Critical patent/CN113014501B/en
Publication of CN113014501A publication Critical patent/CN113014501A/en
Application granted granted Critical
Publication of CN113014501B publication Critical patent/CN113014501B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors
    • H04L43/0829Packet loss
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/29Flow control; Congestion control using a combination of thresholds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • H04L47/323Discarding or blocking control packets, e.g. ACK packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network 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/63Control 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/643Communication protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network 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/63Control 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/647Control 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/64746Control signals issued by the network directed to the server or the client
    • H04N21/64761Control signals issued by the network directed to the server or the client directed to the server
    • H04N21/64776Control 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network 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/63Control 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/647Control 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/64784Data processing by the network
    • H04N21/64792Controlling the complexity of the content stream, e.g. by dropping packets

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 in the part 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

Data transmission method, system, encoder and computer readable storage medium
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% 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 is 1.1M after packet loss, and the flow sent by narrowing the bandwidth is not decreased or increased reversely, which results in worse and worse network condition, and finally causes frequent network congestion and jamming, 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 value, 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 NACK marked data packet, 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 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.
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 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.
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 NACK-marked packets 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 own device 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 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.
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 in the buffer area at random; 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; also, 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, in the embodiment of the present disclosure, the packet loss condition of SRT transmitted on the network is collected, and the influence of network jitter on the video data packet is determined by combining parameters such as the maximum bandwidth of the current network, and the number of data packets in the buffer of the encoder end is dynamically adjusted, so that the defect that the SRT cannot adapt to network congestion is overcome.
For ease of understanding the following examples, the following parameters are referred to in this example:
INPUTBW, maximum bandwidth of encoder end;
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 end, ACK _ max being input _ tbw/send _ bitrate _ max;
threshold, the maximum overload Threshold allowed, may be set to 0.2, for example. The purpose of setting the threshold value is to prevent the loss of data packets caused by short-time network jitter, thereby reducing the video quality;
Δ NACK, which is the difference between two adjacent data packets lost in data transmission of the current network, i.e., Δ NACK ═ NACKn + 1-NACKn;
overload, i.e. overload rate, overload ═ Δ NACK/NACKn.
The embodiment of the disclosure obtains the current data flow of the sending terminal by adding the sending data volume acquisition device of the encoder terminal, can calculate ACK _ max, and can master the network jitter situation 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 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, that is, Δ NACK ═ NACKn +1-NACKn, where NACKn +1 and NACKn respectively indicate the data packets lost by the two adjacent data transmissions of the current network; OVERHEAD, i.e., the packet overload rate, which is obtained as 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 terminated to indicate that the current data packet is processed
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, a person skilled in the art may adaptively set the preset overload rate Threshold when performing the initialization setting in combination with the actual situation, 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 are not changed, so that the decoder does not need to be upgraded, the real-time status of the network jitter is determined by comparing the real-time change of the ACK, and a part of data packets are discarded to prevent more serious network congestion, so as to achieve the purpose of adaptive 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 previous embodiment, the encoder determines the maximum withstand capability 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-marked packet (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 number of bytes 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 ACKs per second is less than ACK _ max, if ACK < ACK _ max, 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 embodiments of the present disclosure correspondingly provide a data transmission system applied to an encoder, 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 determining module determines 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 to calculate the maximum data packet allowed to be transmitted in one second under the current bandwidth after the transmission module transmits the traffic 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 NACK-marked data packet 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 portion, 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 of one second allowed by the encoder end 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 to the encoder 71 in real time, and the message module 712 processes the 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 overlap 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) the encoder 71 continues to send the undeleted data packets in the buffer to the data volume collecting module 713, and then the data volume collecting module 713 sends the undeleted data packets to the decoder 72.
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 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 (10)

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 value, 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.
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 every 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. The method of claim 1, wherein the calculating a current packet overload rate based on the NACK-marked packets comprises:
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.
5. 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 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 NACK-marked packets in the buffer that are not deleted to the decoder.
6. The system of claim 5, further comprising:
the second calculation module is arranged to calculate 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 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.
7. The system of claim 6, 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.
8. The system of claim 5, 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 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.
9. 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 4.
10. 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 4.
CN202110231019.7A 2021-03-02 2021-03-02 Data transmission method, system, encoder and computer readable storage medium Active CN113014501B (en)

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 true CN113014501A (en) 2021-06-22
CN113014501B 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)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115348481A (en) * 2022-08-15 2022-11-15 中国联合网络通信集团有限公司 Data transmission method, device, transmitter and receiver

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040158765A1 (en) * 2000-11-22 2004-08-12 Joachim Charzinski Device and method for controlling data traffic in a tcp/ip data transmission network
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

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040158765A1 (en) * 2000-11-22 2004-08-12 Joachim Charzinski Device and method for controlling data traffic in a tcp/ip data transmission network
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

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115348481A (en) * 2022-08-15 2022-11-15 中国联合网络通信集团有限公司 Data transmission method, device, transmitter and receiver
CN115348481B (en) * 2022-08-15 2023-06-02 中国联合网络通信集团有限公司 Data transmission method, device, transmitter and receiver

Also Published As

Publication number Publication date
CN113014501B (en) 2022-12-16

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
CN108377427B (en) Real-time video transmission method and system
US11063709B2 (en) Segment retransmission method and apparatus
US8369221B2 (en) Efficient flow control in a radio network controller (RNC)
EP1263159A1 (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
US20030117974A1 (en) TCP processing apparatus of base transceiver subsystem in wired/wireless integrated network and method thereof
JP2001308947A (en) Communication device, repeater and communication control method
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
CN113014501B (en) Data transmission method, system, encoder and computer readable storage medium
CN110602568A (en) Video stream transmission packet loss retransmission method, device and storage device based on RTP
CN1691590A (en) Method for sending window size adjustment information by receiving end in wireless link data transmission
CN112769526B (en) Data packet retransmission method, system and storage medium
US20050094632A1 (en) DOCSIS MAC layer-based ARQ for fixed wireless
US9307441B1 (en) Systems and methods of transferring information to a wireless device
JP3848222B2 (en) Resending method
JP2009124307A (en) Communications device and data transmission method
CN116963163A (en) Status report generation method, device, computer equipment and readable medium
CN111314145A (en) Flow control method, terminal and switch
Razavi et al. Adaptive timeout for video delivery over a Bluetooth wireless network

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