Set top box multipath transmission method and device based on MPTCP protocol, and storage medium

By introducing the MPTCP protocol multi-channel transmission method into the set-top box, the problem that traditional communication methods are difficult to support ultra-high-definition video services in wireless environments is solved, and more efficient data transmission and better user experience are achieved.

CN119603522APending Publication Date: 2025-03-11E-SURFING DIGITAL LIFE TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411616250.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-11-12
Publication Date
2025-03-11

AI Technical Summary

Technical Problem

Traditional set-top box communication methods are difficult to support ultra-high-definition video services in wireless environments, resulting in low data transmission efficiency and poor user experience.

Method used

The set-top box multi-channel transmission method based on the MPTCP protocol is adopted to reduce transmission delay and improve data transmission efficiency through technical means such as multiple concurrent transmission, sub-stream path management, packet allocation and congestion control.

Benefits of technology

It effectively reduces transmission delay, improves data transmission efficiency and user video service experience, and can better support ultra-high-definition IPTV services.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119603522A_ABST
    Figure CN119603522A_ABST
Patent Text Reader

Abstract

The invention discloses a set top box multi-channel transmission method and device based on an MPTCP protocol and a storage medium, and the method comprises the steps: responding to a multi-channel transmission connection request of a target set top box, and building an MPTCP multi-channel transmission channel between a video transmitting end and the target set top box; the method comprises the following steps: acquiring target video data through a video sending end, encoding the target video data to obtain encoded video data, generating a plurality of sub-stream data packets according to the encoded video data, and further transmitting the plurality of sub-stream data packets to a target set top box through MPTCP multi-path transmission channels; and merging the plurality of sub-stream data packets through the target set top box to obtain coded video data, and decoding the coded video data to obtain target video data. According to the invention, the transmission delay is reduced, the data transmission efficiency and the video service use experience of the user are improved, and the method can be widely applied to the technical field of communication.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of communication technology, and in particular to a set-top box multi-channel transmission method, device and storage medium based on the MPTCP protocol. Background Art

[0002] In recent years, the development of the ultra-high-definition video industry is inseparable from the upgrading of communication technology. The videoization of information and the ultra-high-definition of video are the general trends in the development of the information industry. Under the existing Blu-ray and 1080P experience, the user experience has entered a period of fatigue, and ultra-high-definition technology has emerged. It has higher requirements in terms of resolution, frame rate, color depth, color gamut, etc. However, the pixels of 4k ultra-high-definition TV are about 8.3 million, and the pixels of 8k ultra-high-definition TV reach 33 million, which brings challenges to some services with high real-time requirements. Even if the internationally advanced AVS3 and H.265 codec technologies are used, the bit rate of the program after compression will still reach more than 150Mbps, which puts great pressure on the communication link.

[0003] When using UDP for transmission of ultra-high-definition streaming services with high reliability requirements, UDP is very sensitive to packet loss because it does not have a retransmission mechanism, which can cause video distortion and black screens. The transmission rate of a single TCP link is limited and it is difficult to meet the bit rate of ultra-high-definition video, which can cause large delays and freezes. Therefore, traditional set-top box communication methods are difficult to support ultra-high-definition video services in wireless environments, affecting data transmission efficiency and user experience.

[0004] Terminology explanation:

[0005] Stream Control Transmission Protocol (SCTP): A protocol for transmitting multiple data streams simultaneously between the two ends of a network connection.

[0006] Concurrent Multipath Transmission Using SCTP (CMT-SCTP): An extension of the SCTP protocol that can send data in parallel on multiple paths to improve system throughput.

[0007] Multipath TCP (MPTCP): Developed by the Internet Engineering Task Force (IETF) Multipath TCP Working Group, its purpose is to allow Transmission Control Protocol (TCP) connections to use multiple paths to maximize channel resource usage.

[0008] KM (Kuhn-Munkres) algorithm: a computer algorithm that finds the maximum weighted matching under complete matching.

[0009] Forward Prediction Scheduling (FPS) algorithm: An algorithm that reduces the number of out-of-order packets caused by path delay differences in link asymmetry scenarios.

[0010] Dynamic Windows Coupling (DWC) algorithm: an MPTCP congestion control algorithm designed based on bottleneck fairness. Summary of the invention

[0011] The purpose of the present invention is to solve one of the technical problems existing in the prior art to at least a certain extent.

[0012] To this end, an object of an embodiment of the present invention is to provide a set-top box multi-channel transmission method based on the MPTCP protocol, which reduces transmission delay, improves data transmission efficiency and user experience of video services.

[0013] Another object of an embodiment of the present invention is to provide a set-top box multi-channel transmission device based on the MPTCP protocol.

[0014] In order to achieve the above technical objectives, the technical solutions adopted by the embodiments of the present invention include:

[0015] On the one hand, an embodiment of the present invention provides a set-top box multi-channel transmission method based on the MPTCP protocol, comprising the following steps:

[0016] In response to a multi-channel transmission connection request of a target set-top box, establishing an MPTCP multi-channel transmission channel between a video transmitter and the target set-top box;

[0017] Acquire target video data through the video transmitter, encode the target video data to obtain encoded video data, generate multiple sub-stream data packets according to the encoded video data, and then transmit the multiple sub-stream data packets to the target set-top box through the MPTCP multiplex transmission channel;

[0018] The target set-top box combines a plurality of sub-stream data packets to obtain the encoded video data, and decodes the encoded video data to obtain the target video data.

[0019] Further, in one embodiment of the present invention, in response to the multi-channel transmission connection request of the target set-top box, establishing an MPTCP multi-channel transmission channel between the video transmitter and the target set-top box specifically includes:

[0020] Performing multi-interface detection on the target set-top box to obtain interface information of the target set-top box;

[0021] generating the multiplex transmission connection request according to the interface information, and sending the multiplex transmission connection request to the video sending end through the target set-top box;

[0022] The video sending end parses the multi-channel transmission connection request to obtain the interface information, and constructs multiple TCP sub-streams according to the interface information, and then establishes the MPTCP multi-channel transmission channel according to the multiple TCP sub-streams.

[0023] Further, in one embodiment of the present invention, the generating a plurality of sub-stream data packets according to the encoded video data specifically includes:

[0024] Adding the encoded video data to a sending buffer;

[0025] Encapsulating the encoded video data through the RTSP / HTTP protocol to obtain multiple encapsulated data packets;

[0026] Filtering out a plurality of target sub-streams from the TCP sub-streams, and determining the target sub-streams corresponding to the encapsulated data packets;

[0027] Based on the MPTCP protocol, the sub-flow identifier of the corresponding target sub-flow is added to the encapsulated data packet to obtain a plurality of sub-flow data packets.

[0028] Further, in one embodiment of the present invention, the step of selecting a plurality of target sub-streams from the TCP sub-stream specifically includes:

[0029] Obtaining a subflow rate of each of the TCP subflows, and determining a source port and a destination port of each of the TCP subflows;

[0030] Constructing a bipartite graph by using the source port and the destination port as nodes, each TCP subflow as an edge, and the subflow rate as the edge weight corresponding to the TCP subflow;

[0031] Determine a plurality of complete matching sets of the bipartite graph, and determine the total weight of the matching edges of each of the complete matching sets according to the edge weights, and then filter out the maximum weight matching set from the complete matching sets according to the total weight of the matching edges;

[0032] The multiple TCP sub-flows corresponding to the maximum weight matching set are used as the target sub-flows.

[0033] Furthermore, in one embodiment of the present invention, the set-top box multiplexing method further comprises the following steps:

[0034] When a link failure occurs in the TCP subflow, the TCP subflow with the link failure is deleted, and a sub-bipartite graph is constructed according to the unmatched source port and the destination port, and then a maximum weight matching subset is solved according to the bipartite graph;

[0035] The multiple TCP sub-flows corresponding to the maximum weight matching subset are added to the target sub-flow.

[0036] Further, in one embodiment of the present invention, the determining the target sub-flow corresponding to each of the encapsulated data packets specifically includes:

[0037] Sorting the encapsulated data packets to obtain a data packet sequence;

[0038] Obtaining the current encapsulated data packet from the data packet sequence in order, and calculating the arrival time of the current data packet of each target sub-flow according to the amount of data to be transmitted of each target sub-flow, the sub-flow speed and the size of the current encapsulated data packet;

[0039] The target sub-flow with the earliest arrival time of the current data packet is selected as the target sub-flow corresponding to the current encapsulated data packet, and the amount of data to be transmitted of the corresponding target sub-flow is updated.

[0040] Furthermore, in one embodiment of the present invention, the set-top box multiplexing method further comprises the following steps:

[0041] When a packet loss / delay increase event occurs in the TCP subflow, the TCP subflow where the packet loss / delay increase event occurs is added to a bottleneck set;

[0042] Detect whether there is a congestion event within a preset time range before and after the packet loss / delay increase event, and if so, add the TCP subflow corresponding to the congestion event to the bottleneck set;

[0043] Adjusting the congestion window of the TCP subflow located in the bottleneck set by using a DWC coupled congestion control algorithm, and performing congestion control on the corresponding TCP subflow according to the congestion window;

[0044] Congestion control is performed on the TCP sub-flows that are not located in the bottleneck set by using a single-path TCP congestion control algorithm.

[0045] On the other hand, an embodiment of the present invention provides a set-top box multi-channel transmission device based on the MPTCP protocol, including:

[0046] A multiplex transmission channel establishing module, used to establish an MPTCP multiplex transmission channel between the video transmitter and the target set-top box in response to a multiplex transmission connection request of the target set-top box;

[0047] A substream data packet transmission module, used for obtaining target video data through the video sending end, encoding the target video data to obtain encoded video data, and generating multiple substream data packets according to the encoded video data, and then transmitting the multiple substream data packets to the target set-top box through the MPTCP multiplex transmission channel;

[0048] The sub-stream data packet merging and decoding module is used to merge a plurality of the sub-stream data packets through the target set-top box to obtain the encoded video data, and decode the encoded video data to obtain the target video data.

[0049] On the other hand, an embodiment of the present invention provides an electronic device, comprising a memory, a processor, a program stored in the memory and executable on the processor, and a data bus for realizing connection and communication between the processor and the memory, wherein the program, when executed by the processor, realizes the set-top box multiplexing method based on the MPTCP protocol as described above.

[0050] On the other hand, an embodiment of the present invention further provides a storage medium, which is a computer-readable storage medium used for computer-readable storage, and the storage medium stores one or more programs, and the one or more programs can be executed by one or more processors to implement the set-top box multi-channel transmission method based on the MPTCP protocol as described above.

[0051] The advantages and beneficial effects of the present invention will be partly given in the following description, partly become apparent from the following description, or be understood through the practice of the present invention:

[0052] In response to a multi-channel transmission connection request of a target set-top box, an embodiment of the present invention establishes an MPTCP multi-channel transmission channel between a video transmitter and a target set-top box, obtains target video data through the video transmitter, encodes the target video data to obtain encoded video data, generates multiple sub-stream data packets according to the encoded video data, and then transmits the multiple sub-stream data packets to the target set-top box through the MPTCP multi-channel transmission channel, merges the multiple sub-stream data packets through the target set-top box to obtain encoded video data, and decodes the encoded video data to obtain target video data. Based on the traditional set-top box, the embodiment of the present invention introduces the MPTCP protocol for multi-channel transmission of video data, and reduces transmission delay, improves data transmission efficiency and user experience of video services through sub-stream path management, data packet allocation, and congestion control. BRIEF DESCRIPTION OF THE DRAWINGS

[0053] In order to more clearly illustrate the technical solution in the embodiments of the present invention, the following introduction is made to the drawings required for use in the embodiments of the present invention. It should be understood that the drawings introduced below are only for the convenience of clearly describing some embodiments of the technical solution of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative work.

[0054] Figure 1 A step flow chart of a set-top box multi-channel transmission method based on the MPTCP protocol provided by an embodiment of the present invention;

[0055] Figure 2 A schematic diagram of the encapsulation of the MPTCP protocol provided in an embodiment of the present invention;

[0056] Figure 3 An overall flow chart of a set-top box multi-channel transmission method based on the MPTCP protocol provided by an embodiment of the present invention;

[0057] Figure 4 A step flow chart of step S101 provided in an embodiment of the present invention;

[0058] Figure 5 A step flow chart of step S102 provided in an embodiment of the present invention;

[0059] Figure 6 A step flow chart of step S1023 provided in an embodiment of the present invention;

[0060] Figure 7 Another step flow chart of a set-top box multi-channel transmission method based on the MPTCP protocol provided by an embodiment of the present invention;

[0061] Figure 8 A schematic diagram of instructions for sub-flow path management provided by an embodiment of the present invention;

[0062] Fig. 9 Another step flow chart of step S1023 provided in an embodiment of the present invention;

[0063] Fig.10 Another step flow chart of a set-top box multi-channel transmission method based on the MPTCP protocol provided by an embodiment of the present invention;

[0064] Fig.11 A schematic diagram of a congestion control instruction provided by an embodiment of the present invention;

[0065] Fig.12 A schematic diagram of the structure of a set-top box multi-channel transmission device based on the MPTCP protocol provided by an embodiment of the present invention;

[0066] Fig.13A schematic diagram of the hardware structure of an electronic device provided by an embodiment of the present invention;

[0067] Fig.14 A schematic diagram of the structure of a storage medium provided in an embodiment of the present invention. DETAILED DESCRIPTION

[0068] Embodiments of the present invention are described in detail below, and examples of the embodiments are shown in the accompanying drawings, wherein the same or similar reference numerals throughout represent the same or similar elements or elements having the same or similar functions. The embodiments described below with reference to the accompanying drawings are exemplary and are only used to explain the present application, and cannot be understood as limitations on the present application. It should be noted that, although the functional module division is performed in the system schematic diagram and the logical order is shown in the flow chart, in some cases, the steps shown or described may be performed in a different order from the module division in the system schematic diagram or the flow chart. For the step numbers in the following embodiments, they are only set for the convenience of explanation, and the order between the steps is not limited in any way. The execution order of each step in the embodiment can be adaptively adjusted according to the understanding of those skilled in the art.

[0069] In the description of the present invention, the meaning of "a plurality" is two or more. If there is a description of the first or the second, it is only for the purpose of distinguishing the technical features, and it cannot be understood as indicating or implying the relative importance or implicitly indicating the number of the indicated technical features or implicitly indicating the order of the indicated technical features. In addition, unless otherwise defined, all technical and scientific terms used in this document have the same meaning as those commonly understood by technicians in the technical field of this application. The terms used in this document are only for the purpose of describing the embodiments of the present application and are not intended to limit the present application.

[0070] In recent years, the development of the ultra-high-definition video industry is inseparable from the upgrading of communication technology. The videoization of information and the ultra-high-definition of video are the general trends in the development of the information industry. Under the existing Blu-ray and 1080P experience, the user experience has entered a period of fatigue, and ultra-high-definition technology has emerged. It has higher requirements in terms of resolution, frame rate, color depth, color gamut, etc. However, the pixels of 4k ultra-high-definition TV are about 8.3 million, and the pixels of 8k ultra-high-definition TV reach 33 million, which brings challenges to some services with high real-time requirements. Even if the internationally advanced AVS3 and H.265 codec technologies are used, the bit rate of the program after compression will still reach more than 150Mbps, which puts great pressure on the communication link.

[0071] When using UDP for transmission of ultra-high-definition streaming services with high reliability requirements, UDP is very sensitive to packet loss because it does not have a retransmission mechanism, which can cause video distortion and black screens. The transmission rate of a single TCP link is limited and it is difficult to meet the bit rate of ultra-high-definition video, which can cause large delays and freezes. Therefore, traditional set-top box communication methods are difficult to support ultra-high-definition video services in wireless environments.

[0072] In this context, the rise of multi-channel transmission technology provides a new solution for set-top boxes to support ultra-high-definition IPTV needs. This technology accesses the network through base stations and WiFi at the same time, uses multiple ports for multi-channel concurrent transmission, and uses aggregated bandwidth to enhance network transmission capabilities. Multi-channel transmission technology mainly includes Stream Control Transmission Protocol (SCTP), Concurrent Multipath Transmission Using SCTP (CMT-SCTP), and Multipath TCP (MPTCP). Among them, MPTCP is more compatible with the existing network architecture than the other two protocols, is transparent to the application layer, and the upper-layer program can still be treated as TCP.

[0073] In order to solve the problem of traditional routers supporting ultra-high-definition IPTV service requirements in a wireless environment, the present invention proposes a set-top box multi-channel transmission method based on the MPTCP protocol, which performs bandwidth aggregation and improves transmission efficiency through multi-channel concurrent transmission to improve the ultra-high-definition IPTV video experience in a user-restricted environment. At the same time, the MPTCP protocol has good robustness, and the smooth and stable performance during mobile switching can also be well applied during cross-zone switching.

[0074] The set-top box itself has limited transmission capabilities in a wireless communication environment, so the present invention considers accessing 4G and 5G communication modules, and compiling the kernel to support the MPTCP protocol. In response to the issues of multi-path availability and fault handling during multi-channel transmission, the present invention proposes a sub-stream path management method based on the KM algorithm to improve the efficiency of multi-channel concurrent transmission and ensure the stability of the link; in response to the problem of data packet disorder caused by the different speeds of multi-channel transmission, the present invention uses the FPS algorithm to reduce the application layer scheduling wait caused by disorder; in response to the problem that multi-channel transmission is not friendly to the fairness of single-channel TCP user bottlenecks, the present invention uses the DWC algorithm to achieve congestion control of sub-streams in the bottleneck set. By solving the above problems, the present invention can provide users with a better ultra-high-definition IPTV service experience.

[0075] The set-top box multi-channel transmission method based on the MPTCP protocol provided in the embodiment of the present application can be applied to the terminal, can also be applied to the server side, and can also be software running in the terminal or the server side. In some embodiments, the terminal can be a smart phone, a tablet computer, a laptop computer, a desktop computer, a set-top box, etc.; the server side can be configured as an independent physical server, or a server cluster or a distributed system composed of multiple physical servers, and can also be configured as a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, CDN, and big data and artificial intelligence platforms; the software can be an application that implements the set-top box multi-channel transmission method based on the MPTCP protocol, etc., but is not limited to the above forms.

[0076] The present application can be used in many general or special computer system environments or configurations. For example: personal computers, server computers, handheld or portable devices, tablet devices, multiprocessor systems, microprocessor-based systems, set-top boxes, programmable consumer electronic devices, network PCs, minicomputers, mainframe computers, distributed computing environments including any of the above systems or devices, etc. The present application can be described in the general context of computer-executable instructions executed by a computer, such as program modules. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform specific tasks or implement specific abstract data types. The present application can also be practiced in distributed computing environments, in which tasks are performed by remote processing devices connected through a communication network. In a distributed computing environment, program modules can be located in local and remote computer storage media including storage devices.

[0077] It should be noted that in each specific implementation of the present application, when it comes to the need to perform relevant processing based on data related to user identity or characteristics such as user information, user behavior data, user historical data, and user location information, the user's permission or consent will be obtained first, and the collection, use, and processing of these data will comply with the relevant laws, regulations, and standards of the relevant countries and regions. In addition, when the embodiment of the present application needs to obtain the user's sensitive personal information, the user's separate permission or consent will be obtained through a pop-up window or by jumping to a confirmation page. After clearly obtaining the user's separate permission or consent, the necessary user-related data for the normal operation of the embodiment of the present application will be obtained.

[0078] The present invention takes into account that the set-top box cannot provide sufficient transmission rate through wired in a wireless communication environment to meet the bit rate requirements of ultra-high-definition IPTV. Therefore, external communication modules such as 4G and 5G can be added to the set-top box to perform multi-channel concurrent communication, provide aggregated bandwidth, reduce transmission delay, and improve data transmission efficiency as well as the user's video service experience.

[0079] like Figure 1 FIG. 1 is a flow chart showing a method for multi-channel transmission of a set-top box based on the MPTCP protocol according to an embodiment of the present invention. Figure 1 The embodiment of the present invention provides a set-top box multi-channel transmission method based on the MPTCP protocol, which specifically includes the following steps:

[0080] S101, in response to a multi-channel transmission connection request of a target set-top box, establishing an MPTCP multi-channel transmission channel between a video transmitter and the target set-top box;

[0081] S102, obtaining target video data through the video transmitter, encoding the target video data to obtain encoded video data, generating multiple sub-stream data packets according to the encoded video data, and then transmitting the multiple sub-stream data packets to the target set-top box through the MPTCP multiplex transmission channel;

[0082] S103: The target set-top box combines the multiple sub-stream data packets to obtain coded video data, and decodes the coded video data to obtain target video data.

[0083] MPTCP is a layer 4 transport protocol in network protocols, located in the middle layer between the socket interface and multiple TCP substreams, such as Figure 2 The figure shows the encapsulation diagram of the MPTCP protocol provided by the embodiment of the present invention, which is responsible for the path management, data scheduling and congestion control of the sub-flow. The path management function is responsible for checking whether there is a communication link between the source and the destination, and immediately deleting the faulty link to avoid congestion; MPTCP can dynamically adjust the sub-flow throughput through the congestion control algorithm to avoid network congestion, and realize traffic migration and load balancing; in order to ensure the completion time of the upper-layer application, the MPTCP protocol tries its best to ensure that the data packets arrive at the receiving end in order through the data scheduling algorithm, avoiding the cache waiting of a large number of out-of-order data packets.

[0084] like Figure 3The figure shows an overall flow chart of a set-top box multi-channel transmission method based on the MPTCP protocol provided by an embodiment of the present invention. First, through interface detection, the multi-port supported by the set-top box for transmission is obtained, and a request is initiated to the video sending end to establish an MPTCP multi-channel transmission connection; the video sending end adds the compressed and encoded video source to the sending buffer, and performs RTSP / HTTP protocol encapsulation at the application layer to provide a reliable byte stream transmission service to meet the requirements of real-time streaming media; the MPTCP protocol is added to the transport layer to control multiple TCP sub-streams for transmission, and multi-channel transmission is performed through 4G, 5G and WIFI; at the set-top box receiving end, the MPTCP protocol is used to process and merge the data sent by different sub-streams, and the data packets are scheduled to the application layer in sequence. The application layer parses according to the corresponding protocol, stores them in the receiving buffer for decoding, and finally completes the video playback.

[0085] The embodiment of the present invention introduces the MPTCP protocol on the basis of the traditional set-top box to perform multi-channel transmission of video data, and reduces the transmission delay, improves the data transmission efficiency and the user's video service experience through sub-stream path management, data packet allocation and congestion control.

[0086] like Figure 4 FIG. 1 is a flowchart of step S101 provided in an embodiment of the present invention, referring to FIG. Figure 4 As an optional implementation, in response to the multi-channel transmission connection request of the target set-top box, an MPTCP multi-channel transmission channel between the video transmitter and the target set-top box is established, which specifically includes:

[0087] S1011, performing multi-interface detection on the target set-top box to obtain interface information of the target set-top box;

[0088] S1012, generating a multiplex transmission connection request according to the interface information, and sending the multiplex transmission connection request to the video transmitting end through the target set-top box;

[0089] S1013. The video sending end parses the multi-channel transmission connection request to obtain interface information, and constructs multiple TCP sub-streams according to the interface information, and then establishes an MPTCP multi-channel transmission channel according to the multiple TCP sub-streams.

[0090] like Figure 5 FIG. 1 is a flow chart of step S102 provided in an embodiment of the present invention, referring to FIG. Figure 5 As an optional implementation, multiple sub-stream data packets are generated according to the encoded video data, which specifically includes:

[0091] S1021, adding the encoded video data to the sending buffer;

[0092] S1022, encapsulating the encoded video data through the RTSP / HTTP protocol to obtain multiple encapsulated data packets;

[0093] S1023, screening out multiple target sub-flows from the TCP sub-flows, and determining the target sub-flows corresponding to each encapsulated data packet;

[0094] S1024. Add the sub-flow identifier of the corresponding target sub-flow into the encapsulation data packet based on the MPTCP protocol to obtain multiple sub-flow data packets.

[0095] like Figure 6 FIG. 1 is a flow chart of step S1023 provided in an embodiment of the present invention, referring to FIG. Figure 6 As an optional implementation, multiple target sub-streams are screened out from the TCP sub-stream, which specifically includes:

[0096] S10231. Obtain the subflow rate of each TCP subflow, and determine the source port and destination port of each TCP subflow;

[0097] S10232, constructing a bipartite graph by using the source port and the destination port as nodes, each TCP subflow as an edge, and the subflow rate as the edge weight of the corresponding TCP subflow;

[0098] S10233, determining multiple complete matching sets of the bipartite graph, and determining the total weight of the matching edges of each complete matching set according to the edge weights, and then filtering out the maximum weight matching set from the complete matching sets according to the total weight of the matching edges;

[0099] S10234. Use multiple TCP sub-flows corresponding to the maximum weight matching set as target sub-flows.

[0100] like Figure 7 FIG. 1 is another step flow chart of a set-top box multi-channel transmission method based on the MPTCP protocol provided by an embodiment of the present invention, referring to FIG. Figure 7 As an optional implementation, the set-top box multiplexing method further includes the following steps:

[0101] S201, when a link failure occurs in a TCP subflow, the TCP subflow with the link failure is deleted, and a sub-bipartite graph is constructed according to unmatched source ports and destination ports, and then a maximum weight matching subset is solved according to the bipartite graph;

[0102] S202: Add multiple TCP sub-flows corresponding to the maximum weight matching subset to the target sub-flow.

[0103] Specifically, in view of the availability detection and fault handling problems of multiple sub-flow paths, the present invention proposes a sub-flow path management method based on KM, such as Figure 8The figure shows a schematic diagram of instructions for sub-stream path management provided by an embodiment of the present invention. First, all available sub-streams are obtained according to the Full mesh path management method. The Full mesh management method will use all available sub-streams to transmit data concurrently, which may cause the addition of sub-streams with poor performance to drag down sub-streams with excellent performance and reduce transmission performance. Therefore, the present invention uses all sub-stream rates obtained through the Full mesh as weights and uses the KM algorithm to obtain the maximum weight matching set. Figure 8 As shown in the figure, the value of the feasible top mark is initialized first, and then the Hungarian algorithm is used to find a complete match. If no complete match is found, the feasible top mark value is modified, and this process is repeated until the two sets of source and destination are perfectly matched. Finally, the unmatched sub-flows are managed according to the matching results. When a link fails, the faulty sub-flow is deleted, and the unmatched source and destination are transformed into a bipartite graph, and the matching edges are recalculated through the algorithm to ensure the stability of the connection of the existing links.

[0104] like Fig. 9 FIG. 1 is another step flow chart of step S1023 provided in an embodiment of the present invention, referring to FIG. Fig. 9 As an optional implementation, determining the target sub-flow corresponding to each encapsulated data packet specifically includes:

[0105] S10235, sorting the encapsulated data packets to obtain a data packet sequence;

[0106] S10236, obtaining the current encapsulated data packet from the data packet sequence in order, and calculating the arrival time of the current data packet of each target sub-flow according to the amount of data to be transmitted of each target sub-flow, the sub-flow speed and the size of the current encapsulated data packet;

[0107] S10237: Select the target sub-flow with the earliest arrival time of the current data packet as the target sub-flow corresponding to the current encapsulated data packet, and update the amount of data to be transmitted of the corresponding target sub-flow.

[0108] Specifically, in order to solve the problem of out-of-order arrival of on-demand data packets due to the simultaneous use of multiple paths, the present invention adopts a forward prediction scheduling (FPS) algorithm to estimate the arrival time of fast and slow sub-flows according to path parameters, thereby ensuring that the data packets transmitted by the sub-flows can arrive in order. When FPS needs to schedule data packets for a slower sub-flow, it will not schedule the frontmost data packet in the cache queue to the sub-flow, but will estimate the number of RTT rounds that the fast sub-flow can send when the slow sub-flow arrives according to the parameters, calculate the amount of data that can be transmitted during this period, and schedule data from the back of this data to ensure that the sub-flow data arrives in order.

[0109] like Fig.10FIG. 1 is another step flow chart of a set-top box multi-channel transmission method based on the MPTCP protocol provided by an embodiment of the present invention, referring to FIG. Fig.10 As an optional implementation, the set-top box multiplexing method further includes the following steps:

[0110] S301, when a packet loss / delay increase event is detected in a TCP subflow, the TCP subflow with the packet loss / delay increase event is added to a bottleneck set;

[0111] S302, detecting whether there is a congestion event within a preset time range before and after the packet loss / delay increase event, and if so, adding the TCP subflow corresponding to the congestion event to the bottleneck set;

[0112] S303, adjusting the congestion window of the TCP subflow located in the bottleneck set through the DWC coupling congestion control algorithm, and performing congestion control on the corresponding TCP subflow according to the congestion window;

[0113] S304: Perform congestion control on the TCP sub-flows that are not located in the bottleneck set by using a single-path TCP congestion control algorithm.

[0114] Specifically, in order to solve the unfairness problem between uncoupled MPTCP connection pairs and their single-path TCP connections on the same path, the present invention adopts a dynamic window coupling (DWC) algorithm that considers bottleneck fairness, decouples sub-flows at non-bottleneck locations, and improves the throughput of MPTCP connections while ensuring fairness for single-path TCP connections. Bottleneck fairness means that connections at the same bottleneck location should have the same throughput at the connection level regardless of the number of sub-flows. This ensures fairness for single-path TCP connections at bottleneck competition.

[0115] The DWC algorithm divides the sub-flows that experience packet loss or increased delay in the same time period into the same bottleneck set. Fig.11 The diagram shows the instructions for congestion control provided by an embodiment of the present invention. The DWC algorithm designs a sub-flow management module. When a sub-flow is monitored to have packet loss or delay increase, a bottleneck set is created and whether there is a congestion event within the RTT / 2 time before and after the event time point is monitored. If there is a congestion event, it is added to the set. i The congestion window w of the subflow r in r The increase process is calculated as follows:

[0116]

[0117] in, Aggregate congestion window for all subflows in the bottleneck set, |S i | represents the number of subflows in the bottleneck set, Indicates the shortest delay in the bottleneck set. For sub-flows in the bottleneck set, congestion control is performed on the corresponding TCP sub-flows according to the congestion window. For sub-flows outside the bottleneck set, congestion is controlled according to the single-channel TCP connection algorithm.

[0118] The above is a description of the method steps of the embodiment of the present invention. It can be appreciated that the embodiment of the present invention introduces the MPTCP protocol on the basis of the traditional set-top box to perform multi-channel transmission of video data, and reduces the transmission delay through sub-stream path management, data packet allocation, and congestion control, thereby improving data transmission efficiency and user experience of video services.

[0119] like Fig.12 FIG. 1 is a schematic diagram of a structure of a set-top box multi-channel transmission device based on the MPTCP protocol provided by an embodiment of the present invention, referring to FIG. Fig.12 The embodiment of the present invention provides a set-top box multi-channel transmission device based on the MPTCP protocol, comprising:

[0120] A multiplex transmission channel establishment module, used to establish an MPTCP multiplex transmission channel between the video transmitter and the target set-top box in response to a multiplex transmission connection request of the target set-top box;

[0121] A substream data packet transmission module is used to obtain target video data through a video transmitter, encode the target video data to obtain encoded video data, generate multiple substream data packets according to the encoded video data, and then transmit the multiple substream data packets to a target set-top box through an MPTCP multiplex transmission channel;

[0122] The substream data packet merging and decoding module is used to merge multiple substream data packets through a target set-top box to obtain encoded video data, and decode the encoded video data to obtain target video data.

[0123] The contents of the above method embodiments are all applicable to the present device embodiments. The functions specifically implemented by the present device embodiments are the same as those of the above method embodiments, and the beneficial effects achieved are also the same as those achieved by the above method embodiments.

[0124] The embodiment of the present invention further provides an electronic device, the electronic device comprising: a memory, a processor, a program stored in the memory and executable on the processor, and a data bus for realizing connection and communication between the processor and the memory, wherein when the program is executed by the processor, the above-mentioned set-top box multiplexing method based on the MPTCP protocol is realized. The electronic device may be any intelligent terminal including a tablet computer, a vehicle-mounted computer, etc.

[0125] like Fig.13 FIG. 1 is a schematic diagram of the hardware structure of an electronic device provided in an embodiment of the present invention, referring to FIG. Fig.13, an embodiment of the present invention provides an electronic device, including:

[0126] The processor 1301 may be implemented by a general-purpose CPU (Central Processing Unit), a microprocessor, an application-specific integrated circuit (ASIC), or one or more integrated circuits, and is used to execute relevant programs to implement the technical solutions provided in the embodiments of the present invention.

[0127] The memory 1302 may be implemented in the form of a read-only memory (ROM), a static storage device, a dynamic storage device, or a random access memory (RAM). The memory 1302 may store an operating system and other application programs. When the technical solution provided in the embodiment of this specification is implemented by software or firmware, the relevant program code is stored in the memory 1302, and the processor 1301 calls and executes the set-top box multiplexing method based on the MPTCP protocol according to the embodiment of the present invention;

[0128] Input / output interface 1303, used to implement information input and output;

[0129] The communication interface 1304 is used to realize the communication interaction between the device and other devices. The communication can be realized through a wired manner (such as USB, network cable, etc.) or a wireless manner (such as mobile network, WIFI, Bluetooth, etc.);

[0130] A bus 1305 that transmits information between the various components of the device (e.g., the processor 1301, the memory 1302, the input / output interface 1303, and the communication interface 1304);

[0131] The processor 1301 , the memory 1302 , the input / output interface 1303 and the communication interface 1304 are connected to each other in communication within the device via a bus 1305 .

[0132] like Fig.14 FIG. 1 is a schematic diagram of a storage medium according to an embodiment of the present invention. Fig.14 An embodiment of the present invention further provides a storage medium, which is a computer-readable storage medium used for computer-readable storage. The storage medium stores one or more programs 1401, and the one or more programs 1401 can be executed by one or more processors to implement the above-mentioned set-top box multi-channel transmission method based on the MPTCP protocol.

[0133] The memory, as a non-transient computer-readable storage medium, can be used to store non-transient software programs and non-transient computer executable programs. In addition, the memory may include a high-speed random access memory, and may also include a non-transient memory, such as at least one disk storage device, a flash memory device, or other non-transient solid-state storage device. In some embodiments, the memory may optionally include a memory remotely disposed relative to the processor, and these remote memories may be connected to the processor via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.

[0134] The embodiment of the present invention also discloses a computer program product or a computer program, wherein the computer program product or the computer program includes computer instructions, and the computer instructions are stored in a computer-readable storage medium. A processor of a computer device can read the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device executes Figure 1 The method shown.

[0135] In some selectable embodiments, the function / operation mentioned in the block diagram may not occur in the order mentioned in the operation diagram. For example, depending on the function / operation involved, the two boxes shown in succession can actually be executed substantially simultaneously or the above-mentioned boxes can sometimes be executed in reverse order. In addition, the embodiment presented and described in the flow chart of the present invention is provided by way of example, for the purpose of providing a more comprehensive understanding of technology. The disclosed method is not limited to the operation and logic flow presented herein. Selectable embodiments are expected, wherein the order of various operations is changed and the sub-operation of a part for which is described as a larger operation is performed independently.

[0136] In addition, although the present invention is described in the context of functional modules, it should be understood that, unless otherwise specified to the contrary, one or more of the above-mentioned functions and / or features can be integrated into a single physical device and / or software module, or one or more functions and / or features can be implemented in a separate physical device or software module. It is also understood that a detailed discussion of the actual implementation of each module is unnecessary for understanding the present invention. More specifically, in view of the properties, functions and internal relationships of the various functional modules in the device disclosed herein, the actual implementation of the module will be understood within the conventional skills of the engineer. Therefore, those skilled in the art can implement the present invention set forth in the claims without excessive experimentation using ordinary techniques. It is also understood that the specific concepts disclosed are merely illustrative and are not intended to limit the scope of the present invention, which is determined by the full scope of the appended claims and their equivalents.

[0137] If the above functions are implemented in the form of software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention, or the part that contributes to the prior art or the part of the technical solution, can be embodied in the form of a software product. The computer software product is stored in a storage medium, including several instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the above methods of each embodiment of the present invention. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), disk or optical disk and other media that can store program codes.

[0138] The logic and / or steps represented in the flowchart or otherwise described herein, for example, can be considered as an ordered list of executable instructions for implementing logical functions, and can be embodied in any computer-readable medium for use by an instruction execution system, device or apparatus (such as a computer-based system, a system including a processor, or other system that can fetch instructions from an instruction execution system, device or apparatus and execute instructions), or in conjunction with such instruction execution systems, devices or apparatuses. For the purposes of this specification, "computer-readable medium" can be any device that can contain, store, communicate, propagate or transmit a program for use by an instruction execution system, device or apparatus, or in conjunction with such instruction execution systems, devices or apparatuses.

[0139] More specific examples of computer-readable media (a non-exhaustive list) include the following: an electrical connection with one or more wires (electronic device), a portable computer disk case (magnetic device), a random access memory (RAM), a read-only memory (ROM), an erasable and editable read-only memory (EPROM or flash memory), an optical fiber device, and a portable compact disk read-only memory (CDROM). In addition, the computer-readable medium may even be a paper or other suitable medium on which the above-mentioned program is printed, since the above-mentioned program can be obtained electronically, for example, by optically scanning the paper or other medium, followed by editing, deciphering or processing in other suitable ways as necessary, and then stored in a computer memory.

[0140] It should be understood that the various parts of the present invention can be implemented by hardware, software, firmware or a combination thereof. In the above-mentioned embodiments, a plurality of steps or methods can be implemented by software or firmware stored in a memory and executed by a suitable instruction execution system. For example, if implemented by hardware, as in another embodiment, it can be implemented by any one of the following technologies known in the art or their combination: a discrete logic circuit having a logic gate circuit for implementing a logic function for a data signal, a dedicated integrated circuit having a suitable combination of logic gate circuits, a programmable gate array (PGA), a field programmable gate array (FPGA), etc.

[0141] In the above description of this specification, the description with reference to the terms "one embodiment / example", "another embodiment / example" or "certain embodiments / examples" etc. means that the specific features, structures, materials or characteristics described in conjunction with the embodiment or example are included in at least one embodiment or example of the present invention. In this specification, the schematic representation of the above terms does not necessarily refer to the same embodiment or example. Moreover, the specific features, structures, materials or characteristics described may be combined in any one or more embodiments or examples in a suitable manner.

[0142] Although embodiments of the present invention have been shown and described, it will be appreciated by those skilled in the art that various changes, modifications, substitutions and variations may be made to the embodiments without departing from the principles and spirit of the present invention, and that the scope of the present invention is defined by the claims and their equivalents.

[0143] The above is a specific description of the preferred implementation of the present invention, but the present invention is not limited to the above embodiments. Those skilled in the art may 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 set-top box multi-channel transmission method based on MPTCP protocol, characterized in that: The following steps are involved: In response to a multi-channel transmission connection request of a target set-top box, establishing an MPTCP multi-channel transmission channel between a video transmitter and the target set-top box; Acquire target video data through the video transmitter, encode the target video data to obtain encoded video data, generate multiple sub-stream data packets according to the encoded video data, and then transmit the multiple sub-stream data packets to the target set-top box through the MPTCP multiplex transmission channel; The target set-top box combines a plurality of sub-stream data packets to obtain the encoded video data, and decodes the encoded video data to obtain the target video data.

2. A set-top box multi-channel transmission method based on MPTCP protocol according to claim 1, characterized in that: The step of establishing an MPTCP multiplex transmission channel between a video transmitter and the target set-top box in response to a multiplex transmission connection request of the target set-top box specifically includes: Performing multi-interface detection on the target set-top box to obtain interface information of the target set-top box; generating the multiplex transmission connection request according to the interface information, and sending the multiplex transmission connection request to the video sending end through the target set-top box; The video sending end parses the multi-channel transmission connection request to obtain the interface information, and constructs multiple TCP sub-streams according to the interface information, and then establishes the MPTCP multi-channel transmission channel according to the multiple TCP sub-streams.

3. A set-top box multi-channel transmission method based on MPTCP protocol according to claim 2, characterized in that: The step of generating a plurality of sub-stream data packets according to the encoded video data specifically comprises: Adding the encoded video data to a sending buffer; Encapsulating the encoded video data through the RTSP / HTTP protocol to obtain multiple encapsulated data packets; Filtering out a plurality of target sub-streams from the TCP sub-streams, and determining the target sub-streams corresponding to the encapsulated data packets; Based on the MPTCP protocol, the sub-flow identifier of the corresponding target sub-flow is added to the encapsulated data packet to obtain a plurality of sub-flow data packets.

4. A set-top box multiplexing method based on MPTCP protocol according to claim 3, characterized in that: The step of selecting a plurality of target substreams from the TCP substreams specifically includes: Obtaining a subflow rate of each of the TCP subflows, and determining a source port and a destination port of each of the TCP subflows; Constructing a bipartite graph by using the source port and the destination port as nodes, each TCP subflow as an edge, and the subflow rate as the edge weight corresponding to the TCP subflow; Determine a plurality of complete matching sets of the bipartite graph, and determine the total weight of the matching edges of each of the complete matching sets according to the edge weights, and then filter out the maximum weight matching set from the complete matching sets according to the total weight of the matching edges; The multiple TCP sub-flows corresponding to the maximum weight matching set are used as the target sub-flows.

5. A set-top box multi-channel transmission method based on MPTCP protocol according to claim 4, characterized in that: The set-top box multiplexing method also includes the following steps: When a link failure occurs in the TCP subflow, the TCP subflow with the link failure is deleted, and a sub-bipartite graph is constructed according to the unmatched source port and the destination port, and then a maximum weight matching subset is solved according to the bipartite graph; The multiple TCP sub-flows corresponding to the maximum weight matching subset are added to the target sub-flow.

6. A set-top box multi-channel transmission method based on MPTCP protocol according to claim 3, characterized in that: The determining of the target sub-flow corresponding to each of the encapsulated data packets specifically includes: Sorting the encapsulated data packets to obtain a data packet sequence; Obtaining the current encapsulated data packet from the data packet sequence in order, and calculating the arrival time of the current data packet of each target sub-flow according to the amount of data to be transmitted of each target sub-flow, the sub-flow speed and the size of the current encapsulated data packet; The target sub-flow with the earliest arrival time of the current data packet is selected as the target sub-flow corresponding to the current encapsulated data packet, and the amount of data to be transmitted of the corresponding target sub-flow is updated.

7. A set-top box multi-channel transmission method based on the MPTCP protocol according to any one of claims 1 to 6, characterized in that: The set-top box multiplexing method also includes the following steps: When a packet loss / delay increase event occurs in the TCP subflow, the TCP subflow where the packet loss / delay increase event occurs is added to a bottleneck set; Detect whether there is a congestion event within a preset time range before and after the packet loss / delay increase event, and if so, add the TCP subflow corresponding to the congestion event to the bottleneck set; Adjusting the congestion window of the TCP subflow located in the bottleneck set by using a DWC coupled congestion control algorithm, and performing congestion control on the corresponding TCP subflow according to the congestion window; Congestion control is performed on the TCP sub-flows that are not located in the bottleneck set by using a single-path TCP congestion control algorithm.

8. A set-top box multi-channel transmission device based on MPTCP protocol, characterized in that: include: A multiplex transmission channel establishing module, used to establish an MPTCP multiplex transmission channel between the video transmitter and the target set-top box in response to a multiplex transmission connection request of the target set-top box; A substream data packet transmission module, used for obtaining target video data through the video sending end, encoding the target video data to obtain encoded video data, and generating multiple substream data packets according to the encoded video data, and then transmitting the multiple substream data packets to the target set-top box through the MPTCP multiplex transmission channel; The sub-stream data packet merging and decoding module is used to merge a plurality of the sub-stream data packets through the target set-top box to obtain the encoded video data, and decode the encoded video data to obtain the target video data.

9. An electronic device, characterized in that: The electronic device includes a memory, a processor, a program stored in the memory and executable on the processor, and a data bus for realizing connection and communication between the processor and the memory. When the program is executed by the processor, the steps of the set-top box multiplexing method based on the MPTCP protocol as described in any one of claims 1 to 7 are realized.

10. A storage medium, the storage medium being a computer-readable storage medium, used for computer-readable storage, characterized in that: The storage medium stores one or more programs, and the one or more programs can be executed by one or more processors to implement the steps of the set-top box multiplexing method based on the MPTCP protocol as described in any one of claims 1 to 7.