A method for layered transmission of satellite video using UDP and TCP
Through the UDP and TCP layered transmission method, combined with the congestion detection algorithm, the live broadcast and interactive video transmission of the satellite network is optimized, which solves the problem of insufficient bandwidth in the satellite network, realizes seamless live broadcast and interaction, and improves the reliability and bandwidth utilization of the satellite network.
Patent Information
- Application Number
- CN202310321288.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-03-23
- Publication Date
- 2025-09-16
- Estimated Expiration
- 2043-03-23
AI Technical Summary
In a satellite network environment, live and short videos cannot be effectively viewed in remote areas and in the ocean due to low bandwidth and high latency. Existing technologies cannot effectively solve the problems of video playback and interactive services.
The UDP protocol is used for broadcast transmission of live video, the TCP handshake protocol is used for data exchange on the interactive interface, and the path is optimized through the congestion detection algorithm. The intelligent satellite gateway router records the session status and adjusts the data layer, filtering unnecessary data layers to improve bandwidth utilization.
It achieves seamless live broadcast and interaction in the satellite network, improves the reliability and bandwidth utilization of the satellite network, solves the problems of multiple multicast message overlap and path optimization, and improves the video playback quality.
Smart Images

Figure CN116582166B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of signal transmission, and more particularly to a method for layered transmission of satellite video using UDP and TCP. Background Art
[0002] When watching live video on a mobile phone, the interface generally consists of two parts. The first part is the video part, which consumes the most data. The second part is the display and interaction of text and gift items. This part temporarily uses a small amount of data resources.
[0003] On terrestrial networks, we use terrestrial networks to watch live broadcasts. Due to mobile data usage and terrestrial Wi-Fi, we are unaware of the data usage and bandwidth occupied while watching live broadcasts. However, in satellite networks, due to their low bandwidth and high latency, there is often insufficient communication bandwidth during terminal use. As a result, in many remote areas and on ships at sea, satellite networks cannot be used to watch live and short videos. The expensive satellite bandwidth is not compatible with purchasing power. As a result, terrestrial video services in remote areas and mountainous areas without terrestrial networks have to rely on satellite communications. Providing video playback and viewing related media services has become a problem that needs to be solved. Summary of the Invention
[0004] In order to overcome the deficiencies of the prior art, the present invention provides a method for layered transmission of satellite video using UDP and TCP.
[0005] The technical solution adopted by the present invention to solve the technical problem is: a method for layered transmission of satellite video using UDP and TCP, the improvement of which is that the method includes the following steps:
[0006] Use UDP protocol for broadcast transmission. For live video on the terminal, use UDP protocol for broadcast transmission, and send each program according to different broadcast channels;
[0007] The TCP handshake protocol is used to realize the interactive transmission of data. For the interactive interface on the terminal except the live video, the TCP handshake protocol is used to realize the exchange and transmission;
[0008] A congestion detection algorithm is used to solve the problem of multiple multicast message overlap and path optimization during UDP protocol broadcast transmission. The congestion detection algorithm includes:
[0009] S101. When multiple media streams are broadcast simultaneously, the multicast corresponding to one media stream is called a session. All data layers in each session belong to the same multicast address, and only the layer number to which they belong is marked in the packet.
[0010] S102. The intelligent satellite gateway router holds a session status table and records information for each session passing through the intelligent satellite gateway router.
[0011] S103. When the intelligent satellite gateway router detects congestion on a certain output link, it sequentially selects the high data layer in all sessions as the layer to be discarded according to the session status table.
[0012] S104. Determine the number of data layers that the intelligent satellite gateway router should filter according to the TCP-friendly reception rate value feedback by the receiver, modify the session status table, and filter the corresponding data layer to improve its quality.
[0013] Furthermore, in step S102, the recorded information includes: the total number of sessions, and the number of data layers transmitted for each session corresponding to each output port of the intelligent satellite gateway router.
[0014] Furthermore, in step S103, it includes a congestion detection step, and the content is as follows:
[0015] S1031. The intelligent satellite gateway router calculates the average length Qlj of the output queue. Whenever a packet enters the j-th output queue, the intelligent satellite gateway router recalculates the Qlj value, and the calculation formula is as follows:
[0016] Qlj = Qw * Qc + (1 - Qw)Qo;
[0017] Where, Qi represents the i-th session, Qlj represents the average length of the j-th output queue of the intelligent satellite gateway router, Qw is the weighting value representing the degree of change in the queue length, Qc represents the current queue length, and Qo represents the previous queue length;
[0018] S1032. Assume that Qmax and Qmin respectively represent an upper bound and a lower bound of the output queue length;
[0019] If Qlj > Qmax, it indicates that the j-th output link has congestion. If Qlj < Qmin, it indicates that the j-th output link is in an under-overload state; otherwise, it indicates a full-load state.
[0020] Furthermore, in step S104, the TCP-friendly reception rate value feedback by the receiver includes the following steps:
[0021] The receiver periodically calculates the receiver-predicted TCP-friendly reception rate. Use Rf to represent the receiver TCP-friendly rate, S to represent the packet size, R to represent the RTT, p to represent the average packet loss rate of the link, Tot to represent the predicted retransmission time value, and the calculation formula of the TCP-friendly control equation is as follows:
[0022]
[0023] The receiver sends the TCP friendly receiving rate value to the nearest intelligent satellite gateway router at time interval T1.
[0024] Furthermore, in step S104, the intelligent satellite gateway router holds a TCP friendly rate table, and records information about the TCP friendly reception rate value predicted by each session receiver.
[0025] Furthermore, in step S104, the intelligent satellite gateway router determines whether there is a bottleneck link between the receiver and the intelligent satellite gateway router based on the data layer reception rate, where the data layer reception rate = the number of data layers received by the receiver / the number of data layers filtered by the intelligent satellite gateway router;
[0026] When there is a bottleneck link between the receiver and the intelligent satellite gateway router, the receiver is notified via TCP data packets to clear the media stream from the proxy buffer;
[0027] After the bottleneck link is eliminated, the receiver is notified to request playback of the media stream directly from the sender.
[0028] Furthermore, the intelligent satellite gateway router determines whether a bottleneck link exists, including:
[0029] S1041. When the difference between the number of data layers of Qj0 transmitted in link Pj and the number of data layers received by the receiver is greater than the size of the highest layer Lds of the current transmission data stream, it is considered that there is a bottleneck link between the intelligent satellite gateway router and the receiver, resulting in a decrease in the quality of media stream playback.
[0030] Where Pj represents the j-th output link of the intelligent satellite gateway router;
[0031] S1042. The intelligent satellite gateway router sends a Pr signal to notify the receiving proxy to buffer the requested media stream. At the same time, the intelligent satellite gateway router analyzes other output links. If it is found that the layer number of Qi0 transmitted by the link is lower than LdS, it means that the Lds layer should be discarded. Then, the intelligent satellite gateway router sends a D(Qi, L) message to the upper-level intelligent satellite gateway router, requesting it to filter out the transmission of the LdS layer data of Qi0.
[0032] After the upper-level intelligent satellite gateway router receives the D(Qi, L) message from a certain link, it also analyzes the other links. If it finds that none of them need to transmit the Lds layer of Qi0, it will further upload D(Qi, L);
[0033] Wherein, L(Pj,Qi) represents the total number of data layers of Qi transmitted by the current j-th output link; D(Qi,L) represents the discard request sent by the intelligent satellite gateway router to the upper-level intelligent satellite gateway router, requesting it to filter out the L-layer data of the i-th session; AR(Qi,L) represents the add layer request sent by the intelligent satellite gateway router to the upper-level intelligent satellite gateway router, requesting it to transmit the L-layer data of the i-th session; Qi represents the i-th session;
[0034] S1043. When the receiver requests data layer transmission from the proxy buffer, the entire network filters out data layers that do not need to be transmitted as much as possible by discarding the transmission of the message, so as to avoid wasting bandwidth.
[0035] The present invention provides a method for video transmission that conserves satellite bandwidth, enabling global transmission of programs such as live broadcasts and short videos that consume significant bandwidth. Leveraging satellite's wide coverage, the method enables seamless live broadcasting and interaction. A congestion detection algorithm solves the issues of multiple multicast message duplication and path optimization, improving satellite network reliability. BRIEF DESCRIPTION OF THE DRAWINGS
[0036] Figure 1 The present invention is a data transmission diagram of a satellite video layered transmission method using UDP and TCP.
[0037] Figure 2 This is a diagram illustrating the abandonment of a backpack in the present invention. DETAILED DESCRIPTION
[0038] The present invention will be further described below with reference to the accompanying drawings and examples.
[0039] The following will clearly and completely describe the concept, specific structure and technical effects of the present invention in combination with the embodiments and drawings, so as to fully understand the purpose, characteristics and effects of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of them. Based on the embodiments of the present invention, other embodiments obtained by those skilled in the art without creative work are within the scope of protection of the present invention. In addition, all the connection / connection relationships involved in the patent do not refer to the direct connection of components, but refer to the fact that a better connection structure can be formed by adding or reducing connection accessories according to the specific implementation situation. The various technical features in the invention can be combined interactively without conflicting with each other.
[0040] Reference Figure 1As shown, the present invention discloses a method for layered transmission of satellite videos using UDP and TCP. Through this method, live broadcasts, short videos and other programs that occupy a large amount of traffic resources can be transmitted to all parts of the world, and the wide coverage advantage of satellites can be used to achieve seamless live broadcast and interaction. The main principles of the present invention are as follows: for live broadcasts of a type of video, since viewers generally focus on watching, and interaction is mainly in the form of text comments. For live broadcast videos that occupy a large amount of traffic resources, this method uses the UDP protocol for broadcast transmission, and sends each program according to different broadcast channels. When watching programs in real time at the terminal (land, sea, or air), the interactive interface of the text and gifts on the video is transmitted in real time using the TCP handshake protocol; the live broadcast end sees the text and interacts with the terminal viewers.
[0041] The UDP protocol uses a congestion detection algorithm for broadcast transmission. Since the satellite backbone network uses a dual-plane reliable network, all devices are backed up to improve service reliability. In services using TCP transmission, in data transmission, since the routing nodes are transmitted by the protocol through path optimization and data verification, duplicate messages and multi-channel transmission will not occur in the network. However, in UDP transmission, since UDP is an unreliable transmission protocol, in a dual-plane network structure, the same multicast message will generate two multicast messages at each backup node, and two multicast messages will also be generated at the next backup node. Therefore, multiple multicast messages will be generated in the entire backbone network, which will eventually lead to video distortion.
[0042] Based on this, the present invention provides a method for satellite video layered transmission using UDP and TCP, combined with Figure 1 As shown, the method includes the following steps:
[0043] Use UDP protocol for broadcast transmission. For live video on the terminal, use UDP protocol for broadcast transmission, and send each program according to different broadcast channels;
[0044] The TCP handshake protocol is used to realize the interactive transmission of data. For the interactive interface on the terminal except the live video, the TCP handshake protocol is used to realize the exchange and transmission;
[0045] A congestion detection algorithm is used to solve the problems of multiple multicast message overlap and path optimization during UDP protocol broadcast transmission, thereby improving the reliability of the satellite network.
[0046] This paper studies congestion detection techniques for reliable multicast protocols and dynamic buffering of dropped data packets. Data congestion detection techniques are categorized into two types: "push" and "pull" techniques. Regarding data buffering, the paper proposes layered streaming media buffering and network transmission buffering for network transmission.
[0047] Based on congestion detection technology, the network topology of satellite backbone networks is generally a tree or mesh architecture. Because different nodes in the network system have varying performance and functionality, and therefore require varying network bandwidth and computing power, selecting a parent node becomes a crucial consideration when a new node joins a tree network topology. If the parent node's uplink bandwidth is insufficient, the playback quality of its connected child nodes will be affected. Similarly, the parent node requires a bandwidth estimation algorithm to calculate the number of downstream nodes it should accept. Two key factors influence the construction of a tree: its height and the number of children per node. When the tree topology reaches a certain scale, these two parameters will impact streaming system performance in different ways. If the tree height is too high, data latency from upstream nodes to downstream nodes will be significant. Furthermore, if each node has a large number of downstream nodes, the topology's dynamic adaptability will be poor. In this case, if a node exits, the impact will be widespread. However, as the network scales, the tree topology's dynamic adaptability to participating nodes becomes a bottleneck. When nodes frequently join and leave, the system will constantly reconstruct its topology. The joining and leaving of nodes will greatly affect the playback quality of downstream nodes.
[0048] Therefore, the present invention adopts a congestion detection algorithm for improvement, and the congestion detection algorithm includes:
[0049] S101. When multiple media streams are broadcast simultaneously, the multicast corresponding to one media stream is called a session. All data layers in each session belong to the same multicast address, and only the layer number to which they belong is marked in the packet.
[0050] S102, the intelligent satellite gateway router holds a session state table, and records information about each session through the intelligent satellite gateway router; in step S102, the recorded information includes: the total number of sessions, and the number of data layers transmitted for each session on each output port of the intelligent satellite gateway router;
[0051] S103, when the intelligent satellite gateway router detects that a certain output link is congested, it selects the high data layers in all sessions as the discarded layers according to the session state table;
[0052] Step S103 includes a congestion detection step, the contents of which are as follows:
[0053] S1031. The intelligent satellite gateway router calculates the average length Qlj of the output queue. Whenever a packet enters the j-th output queue, the intelligent satellite gateway router recalculates the Qlj value. The calculation formula is as follows:
[0054] Qlj = Qw * Qc + (1 - Qw)Qo;
[0055] Where, Qlj represents the average length of the j-th output queue of the intelligent satellite gateway router, Qw is the weighting value representing the degree of change in the queue length, Qc represents the current queue length, and Qo represents the previous queue length;
[0056] S1032. Assume that Qmax and Qmin respectively represent an upper bound and a lower bound of the output queue length;
[0057] If Qlj > Qmax, it indicates that congestion has occurred in the j-th output link. If Qlj < Qmin, it indicates that the j-th output link is in an underloaded state; otherwise, it indicates a full-load state.
[0058] S104. Determine the number of data layers that the intelligent satellite gateway router should filter according to the TCP-friendly reception rate value fed back by the receiver, and modify the session state table to filter the corresponding data layer to improve its quality.
[0059] In step S104, the TCP-friendly reception rate value fed back by the receiver includes the following steps:
[0060] The receiver periodically calculates the predicted TCP-friendly reception rate of the receiver. Let Rf represent the TCP-friendly rate of the receiver, S represent the packet size, R represent the RTT, p represent the average packet loss rate of the link, Tot represent the predicted retransmission time value. The calculation formula of the TCP-friendly control equation is as follows:
[0061]
[0062] The receiver sends the TCP-friendly reception rate value to the nearest intelligent satellite gateway router at a time interval Tl.
[0063] In the said step S104, the intelligent satellite gateway router holds a TCP-friendly rate table to record the TCP-friendly reception rate values predicted by the receiver for each session.
[0064] Furthermore, in the said step S104, the intelligent satellite gateway router determines whether there is a bottleneck link between the receiver and the intelligent satellite gateway router according to the data layer reception rate. The data layer reception rate = the number of data layers received by the receiver / the number of data layers filtered by the intelligent satellite gateway router; when there is a bottleneck link between the receiver and the intelligent satellite gateway router, notify the receiver to request the playback media stream from the proxy buffer through a TCP packet; after the bottleneck link is eliminated, notify the receiver to request the playback media stream directly from the sender. [[ID=…]]
[0065] The intelligent satellite gateway router determines the existence of the bottleneck link, including:
[0066] S1041. When the difference between the number of data layers of Qj0 transmitted in link Pj and the number of data layers received by the receiver is greater than the size of the highest layer Lds of the current transmission data stream, it is considered that there is a bottleneck link between the intelligent satellite gateway router and the receiver, resulting in a decrease in the quality of media stream playback.
[0067] Where Pj represents the j-th output link of the intelligent satellite gateway router;
[0068] S1042. The intelligent satellite gateway router sends a Pr signal to notify the receiving proxy to buffer the requested media stream. At the same time, the intelligent satellite gateway router analyzes other output links. If it is found that the layer number of Qi0 transmitted by the link is lower than LdS, it means that the Lds layer should be discarded. Then, the intelligent satellite gateway router sends a D(Qi, L) message to the upper-level intelligent satellite gateway router, requesting it to filter out the transmission of the LdS layer data of Qi0.
[0069] After the upper-level intelligent satellite gateway router receives the D(Qi, L) message from a certain link, it also analyzes the other links. If it finds that none of them need to transmit the Lds layer of Qi0, it will further upload D(Qi, L);
[0070] Wherein, L(Pj,Qi) represents the total number of data layers of Qi transmitted by the current j-th output link; D(Qi,L) represents the discard request sent by the intelligent satellite gateway router to the upper-level intelligent satellite gateway router, requesting it to filter out the L-layer data of the i-th session; AR(Qi,L) represents the add layer request sent by the intelligent satellite gateway router to the upper-level intelligent satellite gateway router, requesting it to transmit the L-layer data of the i-th session; Qi represents the i-th session;
[0071] S1043. When the receiver requests data layer transmission from the proxy buffer, the entire network filters out data layers that do not need to be transmitted as much as possible by discarding the transmission of the message, so as to avoid wasting bandwidth.
[0072] In summary, in the present invention, referring to Figure 2 As shown in the figure, according to the TCP friendly rate table in the intelligent satellite gateway router, the data protocol packet is combined with the backpack discard algorithm. When the data is transmitted in the routing TCP friendly rate table, the data identification header packet of the previous layer is loaded. At the next routing node, the data identification header packet of the current node is loaded, and the data identification header packet of the previous layer is discarded. Therefore, in the entire link transmission, the amount of transmitted data remains unchanged, but the path still forms the optimal route transmission, reducing the satellite network bandwidth and improving the transmission efficiency.
[0073] The above is a specific description of the preferred implementation of the present invention, but the invention is not limited to the embodiments. Those skilled in the art can make various equivalent modifications or substitutions without violating the spirit of the present invention. These equivalent modifications or substitutions are all included in the scope defined by the claims of this application.
Claims
1. A method for layered transmission of satellite video using UDP and TCP, characterized in that: The method includes the following steps: Use the UDP protocol for broadcast transmission. For the live video on the terminal, use the UDP protocol for broadcast transmission and distribute each program through different broadcast channels; Use the TCP handshake protocol to achieve data interactive transmission. For the interactive interface on the terminal other than the live video, use the TCP handshake protocol to achieve exchange transmission; Use a congestion detection algorithm to solve the problems of multiple multicast packets overlapping and path optimization during broadcast transmission using the UDP protocol. The congestion detection algorithm includes: S101. When multiple media streams are being broadcast simultaneously, the multicast corresponding to one media stream is called a session. All data layers in each session belong to the same multicast address, and only the layer number to which it belongs is marked in the packet; S102. The intelligent satellite gateway router holds a session status table and records information about each session passing through the intelligent satellite gateway router; S103. When the intelligent satellite gateway router detects congestion on a certain output link, it sequentially selects the high data layers in all sessions as the discarded layers according to the session status table; S104. Determine the number of data layers that the intelligent satellite gateway router should filter according to the TCP-friendly reception rate value feedback by the receiver, modify the session status table, and filter the corresponding data layers to improve its quality.
2. The method for layered transmission of satellite video using UDP and TCP according to claim 1, wherein: In step S102, the recorded information includes: the total number of sessions, and the number of data layers transmitted corresponding to each session on each output port of the intelligent satellite gateway router.
3. The method for layered transmission of satellite video using UDP and TCP according to claim 1, wherein: In step S103, it includes the steps of congestion detection, and the content is as follows: S1031. The intelligent satellite gateway router calculates the average length Qlj of the output queue. Whenever a packet enters the jth output queue, the intelligent satellite gateway router recalculates the Qlj value. The calculation formula is as follows: Qlj = Qw * Qc + (1 - Qw)Qo; Where, Qlj represents the average length of the jth output queue of the intelligent satellite gateway router, Qw is the weighting value representing the degree of change in the queue length, Qc represents the current queue length, and Qo represents the previous queue length; S1032. Assume that Qmax and Qmin respectively represent an upper bound and a lower bound of the output queue length; If Qlj > Qmax, it means that the jth output link has congestion. If Qlj < Qmin, it means that the jth output link is in an under-overload state; otherwise, it means a full-load state.
4. The method for layered transmission of satellite video using UDP and TCP according to claim 3, wherein: In step S104, the TCP-friendly reception rate value feedback by the receiver includes the following steps: The receiver periodically calculates the receiver's predicted TCP-friendly reception rate. Use Rf to represent the receiver's TCP-friendly rate, S to represent the packet size, R to represent the RTT, p to represent the average packet loss rate of the link, Tot to represent the predicted retransmission time value. The calculation formula of the TCP-friendly control equation is as follows: The receiver sends the TCP-friendly reception rate value to the nearest intelligent satellite gateway router at a time interval Tl.
5. The method for layered transmission of satellite video using UDP and TCP according to claim 4, wherein: In step S104, the intelligent satellite gateway router holds a TCP-friendly rate table and records the TCP-friendly reception rate value predicted by the receiver for each session passing through.
6. The method for layered transmission of satellite video using UDP and TCP according to claim 4, wherein: In step S104, the intelligent satellite gateway router determines whether there is a bottleneck link between the receiver and the intelligent satellite gateway router based on the data layer reception rate, where the data layer reception rate = the number of data layers received by the receiver / the number of data layers filtered by the intelligent satellite gateway router; When there is a bottleneck link between the receiver and the intelligent satellite gateway router, the receiver is notified via TCP data packets to clear the media stream from the proxy buffer; After the bottleneck link is eliminated, the receiver is notified to request playback of the media stream directly from the sender.
7. The method for layered transmission of satellite video using UDP and TCP according to claim 6, wherein: The intelligent satellite gateway router determines whether a bottleneck link exists, including: S1041. When the difference between the number of data layers of Qj0 transmitted in link Pj and the number of data layers received by the receiver is greater than the size of the highest layer Lds of the current transmission data stream, it is considered that there is a bottleneck link between the intelligent satellite gateway router and the receiver, resulting in a decrease in the quality of media stream playback. Where Pj represents the j-th output link of the intelligent satellite gateway router; S1042. The intelligent satellite gateway router sends a Pr signal to notify the receiving proxy to buffer the requested media stream. At the same time, the intelligent satellite gateway router analyzes other output links. If it is found that the layer number of Qi0 transmitted by the link is lower than LdS, it means that the Lds layer should be discarded. Then, the intelligent satellite gateway router sends a D(Qi, L) message to the upper-level intelligent satellite gateway router, requesting it to filter out the transmission of the LdS layer data of Qi0. After the upper-level intelligent satellite gateway router receives the D(Qi, L) message from a certain link, it also analyzes the other links. If it finds that none of them need to transmit the Lds layer of Qi0, it will further upload D(Qi, L); Wherein, L(Pj,Qi) represents the total number of data layers of Qi transmitted by the current j-th output link; D(Qi,L) represents the discard request sent by the intelligent satellite gateway router to the upper-level intelligent satellite gateway router, requesting it to filter out the L-layer data of the i-th session; AR(Qi,L) represents the add layer request sent by the intelligent satellite gateway router to the upper-level intelligent satellite gateway router, requesting it to transmit the L-layer data of the i-th session; Qi represents the i-th session; S1043. When the receiver requests data layer transmission from the proxy buffer, the entire network filters out data layers that do not need to be transmitted as much as possible by discarding the transmission of the message, so as to avoid wasting bandwidth.
Citation Information
Patent Citations
Multicast baseband configuration system and method
CN114944861A
Radio Network Assignment and Access System
US20120230300A1