Transmission path cooperative transmission method, server, device, and medium
Patent Information
- Application Number
- CN202610992983.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-07-03
- Publication Date
- 2026-10-27
AI Technical Summary
[0003]然而,相关技术中广播路径与单播路径通常相互独立,缺少统一的传输层协同机制,单播链路多作为事后补包通道,缺少面向路径质量变化的主动状态管理机制,难以在广播路径质量变化时实现平滑切换和业务连续性保障
[0015]本公开实施例通过在服务器根据广播路径和单播路径的质量参数动态确定传输路径的第一传输状态,并根据不同传输状态采取相应的调度策略,实现了广播路径与单播路径的协同传输控制,在保证广播分发效率的同时,通过单播路径提供可靠性补偿,降低了视频直播等连续媒体业务的卡顿风险。
Smart Images

Figure CN122994525A_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the technical field of data transmission, and more specifically, to a transmission path collaborative transmission method, server, device, and medium. Background Technology
[0002] With the rapid development of ultra-high-definition video live streaming, emergency broadcasting, and vehicle-to-everything (V2X) information distribution, network systems are facing increasingly prominent transmission demands for "same source content, multiple terminals receiving concurrently." Broadcast networks have a natural one-to-many distribution advantage, capable of simultaneously sending the same content to multiple terminals over a wide area under the same wireless resource conditions; unicast networks, on the other hand, can provide better two-way interactive capabilities, acknowledgment feedback mechanisms, and on-demand scheduling capabilities. The convergence of broadcast and unicast networks is gradually becoming an important development direction for future networks. Broadcast paths are suitable for the efficient distribution of large-scale public content, while unicast paths are suitable for user-level feedback, personalized data, retransmission compensation, and control signaling. The combination of the two can form a collaborative transmission mode where "broadcast is responsible for large-scale, high-efficiency distribution, and unicast is responsible for refined interaction and reliability compensation."
[0003] However, in related technologies, broadcast paths and unicast paths are usually independent of each other, lacking a unified transport layer coordination mechanism. Unicast links are mostly used as post-event packet replacement channels, lacking an active state management mechanism for path quality changes, making it difficult to achieve smooth switching and service continuity assurance when broadcast path quality changes. Summary of the Invention
[0004] One objective of this disclosure is to provide a technical solution for transmission path cooperative transmission, in order to solve the technical problems existing in related technologies, such as the lack of a unified transmission layer path state management mechanism when broadcast paths and unicast paths coexist, and the difficulty in dynamically determining the transmission state based on path quality and achieving smooth switching.
[0005] According to a first aspect of this disclosure, a method for cooperative transmission along a transmission path is provided, wherein the transmission path is established between a server and a client, the server is the executing entity of the method, and the method includes: Upon obtaining the video file to be transmitted, determine the first transmission state of the transmission path; When the first transmission state is unicast-dominated, the configured scheduler determines the interaction configuration parameters with the client and outputs them to the unicast path in the transmission path, so that the client receives the interaction configuration parameters output by the unicast path for repair processing until the first transmission state of the broadcast path is restored to the broadcast-dominated state. When the first transmission state is broadcast-dominated, the video file is output to the client.
[0006] Optionally, the method further includes: When the first transmission state is broadcast-dominant, forward error correction redundancy data is generated based on the video file; The forward error correction redundancy data is output to the client via the configured broadcast path, so that the client can perform the first local recovery process based on the error correction redundancy data when broadcast packet loss occurs.
[0007] Optionally, the method further includes: When the first transmission state is a cooperative transmission state, a first part of the video file with specific characteristics and a second part of the video file other than the first part are determined. The first part of the file is output to the client via the configured unicast path; The second part of the file is output to the client via the configured broadcast path.
[0008] Optionally, after outputting the forward error correction redundancy data to the client via the configured broadcast path, the method further includes: When the client performs local recovery processing and outputs a packet loss request message, the packet loss request message is obtained through the unicast path; In the case where the packet loss request message is associated with a target repair packet, the target repair packet is sent to the client through the unicast path, so that the client can merge and reassemble the video file according to the target repair packet to obtain the processed video file.
[0009] Optionally, determining the first transmission state of the transmission path includes: Obtain the quality parameters of the unicast path and the broadcast path respectively; Based on the quality parameters, generate unicast quality parameters corresponding to the unicast path and broadcast quality parameters corresponding to the broadcast path; The first transmission state of the transmission path is determined based on the duration of each of the unicast quality parameters and the broadcast quality parameters.
[0010] Optionally, determining the first transmission state of the transmission path based on the duration of each of the unicast quality parameter and the broadcast quality parameter includes: Obtain the original second transmission state of the transmission path; When the second transmission state is broadcast-dominant, the unicast quality parameter exceeds a set lower limit, and the broadcast quality parameter is lower than a first set threshold and remains below a first set duration, the first transmission state of the transmission path is determined to be cooperative transmission. When the second transmission state is a cooperative transmission state, the unicast quality parameter exceeds a set lower limit, and the broadcast quality parameter is lower than a second set threshold and remains below a second set duration, the first transmission state of the transmission path is determined to be a unicast-dominated state. When the second transmission state is broadcast-dominated, the unicast quality parameter exceeds a set lower limit, or the broadcast quality parameter is lower than the second set threshold and remains below the third set duration for more than a third set duration, the second transmission state of the transmission path is determined to be unicast-dominated. When the second transmission state is a cooperative transmission state, the unicast quality parameter exceeds a set lower limit, and the broadcast quality parameter is higher than a third set threshold and lasts for more than a fourth set duration, the second transmission state of the transmission path is determined to be a broadcast-dominated state. When the second transmission state is unicast-dominated, the unicast quality parameter exceeds a set lower limit, and the broadcast quality parameter is higher than a third set threshold and lasts for more than a fifth set duration, the second transmission state of the transmission path is determined to be broadcast-dominated.
[0011] Optionally, after obtaining the original second transmission state of the transmission path, the method further includes: If the unicast command parameter is lower than a set lower limit, redundant transmission data is set for the broadcast path so that the client responds to the redundant transmission data to perform a second local recovery process.
[0012] According to a second aspect of this disclosure, a server is also provided, comprising: The status determination module is used to determine the first transmission status of the transmission path when the video file to be transmitted is obtained; The interface determination module is used to determine the interaction configuration parameters with the client through a configured scheduler when the first transmission state is unicast-dominated, and output them to the unicast path in the transmission path, so that the client receives the interaction configuration parameters output by the unicast path for repair processing until the first transmission state of the broadcast path is restored to the broadcast-dominated state. The output module is used to output the video file to the client when the first transmission state is broadcast-dominated.
[0013] According to a third aspect of the present disclosure, an electronic device is also provided, including a memory and a processor, the memory being used to store a computer program; the processor being used to execute the computer program to implement the method according to the first aspect of the present disclosure.
[0014] According to a fourth aspect of the present disclosure, a computer-readable storage medium is also provided, on which a computer program is stored, the computer program implementing the method according to the first aspect of the present disclosure when executed by a processor.
[0015] This embodiment of the disclosure achieves coordinated transmission control of the broadcast path and the unicast path by dynamically determining the first transmission state of the transmission path based on the quality parameters of the broadcast path and the unicast path on the server, and adopting corresponding scheduling strategies according to different transmission states. While ensuring the efficiency of broadcast distribution, it provides reliability compensation through the unicast path, thereby reducing the risk of stuttering in continuous media services such as live video streaming.
[0016] Other features and advantages of the embodiments of this disclosure will become clear from the following detailed description of exemplary embodiments with reference to the accompanying drawings. Attached Figure Description
[0017] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments of the present disclosure and, together with the description, serve to explain the principles of the disclosure.
[0018] Figure 1 This is a schematic diagram of a broadcast / unicast cooperative transmission system to which the methods of the embodiments of this disclosure can be applied.
[0019] Figure 2 This is a flowchart illustrating a transmission path cooperative transmission method according to some embodiments.
[0020] Figure 3 This is a flowchart illustrating another transmission path cooperative transmission method according to some other embodiments.
[0021] Figure 4 This is a block schematic diagram of an electronic device according to one embodiment. Detailed Implementation
[0022] Various exemplary embodiments of the present disclosure will now be described in detail with reference to the accompanying drawings. It should be noted that, unless otherwise specifically stated, the relative arrangement, numerical expressions, and values of the components and steps set forth in these embodiments do not limit the scope of the present disclosure.
[0023] The following description of at least one exemplary embodiment is merely illustrative and is not intended to limit the scope of this disclosure or its application or use.
[0024] Techniques, methods, and equipment known to those skilled in the art may not be discussed in detail, but where appropriate, such techniques, methods, and equipment should be considered part of the specification.
[0025] In all the examples shown and discussed herein, any specific values should be interpreted as merely exemplary and not as limitations. Therefore, other examples of exemplary embodiments may have different values.
[0026] It should be noted that similar labels and letters in the following figures indicate similar items; therefore, once an item is defined in one figure, it does not need to be discussed further in subsequent figures.
[0027] This disclosure relates to a transmission path cooperative transmission scheme. Figure 1 This is a schematic diagram of the structure of a broadcast / unicast cooperative transmission system that can apply the methods of the embodiments of this disclosure. For example... Figure 1 As shown, the system includes a server, a transmission path, and a client. The server and the client communicate with each other through the transmission path.
[0028] The server comprises a DASH video source, a DASH server, and a BCQUIC protocol stack. The DASH video source provides the video content to be transmitted. The DASH server segments the video content into continuous video fragments according to the DASH service format and then hands these fragments over to the BCQUIC protocol stack for transmission. The BCQUIC protocol stack resides in the server's transport layer and is used for path scheduling, broadcast transmission, unicast control, and reliability processing of the DASH video fragments.
[0029] The Interop scheduler in the BCQUIC protocol stack of the server is used to determine the transmission path of video data based on the current transmission status. When the broadcast path is available and of good quality, the Interop scheduler schedules the video file to be sent via the broadcast path; when control interaction, feedback processing, or missing data compensation is required, the Interop scheduler schedules control signaling, feedback processing results, or repair packet replacement to be sent via the unicast path.
[0030] The server is also used to maintain broadcast channel information and send broadcast channel announcement information to clients via unicast path. This announcement information may include parameters such as the broadcast channel ID, enabling clients to identify and access the corresponding broadcast channel.
[0031] To improve the reliability of broadcast / unicast coordinated transmission, the server also includes an FEC encoding module and a QUIC fast retransmission module. The FEC encoding module generates forward error correction redundancy data for the video file to be sent and transmits the video file and the forward error correction redundancy data (i.e., forward error correction redundancy data) via the broadcast path to improve the client's local recovery capability in the event of broadcast packet loss. The QUIC fast retransmission module locates missing data after the client sends ACK_MP information or missing data request messages via the unicast path, and sends a repair packet to the client via the unicast path.
[0032] The server's broadcast path can use broadcast transmission devices such as BladeRF (Tx) to send video files and forward error correction redundancy data to clients. The server's unicast path can use bidirectional communication interfaces such as Ethernet or WiFi to transmit packet loss request messages (i.e., broadcast channel announcements, control signaling, feedback information, etc.) and repair / replacement packets.
[0033] The transmission path includes a broadcast path and a unicast path. The broadcast path is a one-way downlink path, primarily used by the server to send video files and forward error correction redundancy data to the client. This broadcast path has a one-to-many transmission characteristic, suitable for carrying public video content received by multiple clients. The unicast path is used for transmitting packet loss request messages and packet repair / replenishment between the server and clients. Through this bidirectional unicast path, even when the broadcast path lacks uplink feedback capability, the server can still obtain the client's reception status and perform necessary data compensation.
[0034] The client's BCQUIC protocol stack is used to receive data from both the broadcast and unicast paths and to process the data from both types of interfaces uniformly. The client's broadcast path can use broadcast receiving devices such as BladeRF (Rx) to receive video files and forward error correction redundancy data sent by the server via the broadcast path. The client's unicast path can use bidirectional communication interfaces such as Ethernet or WiFi to receive packet loss request messages and repair / replenish packets sent by the server, and to send ACK_MP feedback, unicast requests, or receive status information to the server.
[0035] The client is also used to identify the broadcast channel identifier and manage the client's broadcast access status based on the BC_ANNOUNCE broadcast channel announcement information sent by the server. The client can collect broadcast path-related reception information and use it for subsequent path quality assessment and state switching determination based on the broadcast path quality parameters.
[0036] The client also includes an FEC decoding module. The FEC decoding module is used to perform error correction and recovery on video data and redundant data received via the broadcast path. When a small amount of packet loss occurs on the broadcast path and the lost data is within the FEC recovery capability, the client can directly recover the missing data through FEC decoding. When the lost data exceeds the FEC recovery capability, the client can send back ACK_MP information or a NACK request via the unicast path to repair and resend packets, and the server will then resend the missing data via the unicast path.
[0037] The client is also used to uniformly number, identify, deduplicate, rearrange, and cache video files arriving from broadcast and unicast paths. Regardless of whether the data comes from a broadcast or unicast path, it is written to the corresponding cache location according to the video segment number, data block number, or global sequence number. For duplicate data, deduplication is performed; for out-of-order data, it is temporarily stored and awaits missing data completion; for continuous and complete data, it is reassembled into a deliverable video stream and delivered to the DASH client.
[0038] The client is also used to determine the transmission status based on the quality parameters and buffer status of each broadcast path. It generates quality parameters for both the unicast path and the broadcast path based on parameters such as broadcast packet loss rate, receive buffer, and unicast RTT. Based on these quality parameters, the transmission status of the transmission path is divided into broadcast-dominated, cooperative transmission, and unicast-dominated states.
[0039] The client also includes a DASH client, which receives continuous video streams or DASH video segments reassembled from the BCQUIC protocol stack and manages media segments according to DASH business logic. A DASH player is used to decode and play the video data output by the DASH client.
[0040] exist Figure 1 In the system shown, broadcast and unicast paths in related technologies are typically independent, lacking a unified transport layer coordination mechanism. Broadcast and unicast links are often handled by different protocol stacks or different service modules. The broadcast path is responsible for data delivery, while the unicast path is responsible for requests and packet replacements. The two are usually associated at the application layer. This approach lacks unified transport layer connection management and path coordination control, making it difficult to perform unified scheduling, state maintenance, and reliability control within the same connection context, as is possible with multipath transmission protocols.
[0041] Unicast links are primarily used as post-transmission data recovery channels and lack proactive coordination capabilities. Unicast links are typically triggered only after a terminal detects missing data, serving as a reactive recovery mechanism. When broadcast link quality begins to degrade but before significant data loss occurs, the system often cannot adjust its transmission method in advance, nor can it proactively introduce unicast links to share the load of critical data or control data transmission.
[0042] Related technologies also lack state management mechanisms for path quality changes. Broadcast / unicast fusion schemes in related technologies typically focus on whether data is missing and how to resend it after it is missing, rather than dividing the system's operating state based on changes in the quality of broadcast and unicast links. They lack clear state division and state transition rules, making it difficult to adopt different collaborative strategies for different network quality stages.
[0043] To this end, this embodiment of the present disclosure constructs a BCQUIC protocol stack at the transport layer, incorporates broadcast paths and unicast paths into a unified cooperative transmission framework, dynamically determines the transmission state based on the quality parameters and buffer status of each broadcast path and unicast path, and smoothly switches between broadcast-dominated state, cooperative transmission state, and unicast-dominated state to achieve cooperative transmission control of broadcast paths and unicast paths. This ensures broadcast distribution efficiency while providing reliability compensation and reducing the risk of stuttering in continuous media services such as live video streaming.
[0044] The following combination Figure 1 The system described herein illustrates various embodiments.
[0045] <First Embodiment> Figure 2 This is a flowchart illustrating a transmission path cooperative transmission method according to some embodiments. The implementing entity of this embodiment is, for example, a... Figure 1 The server in the middle. For example... Figure 2 As shown, the transmission path cooperative transmission method of this embodiment may include the following steps S210 to S230: Step S210: If the video file to be transmitted is obtained, determine the first transmission state of the transmission path.
[0046] In this embodiment, after the server obtains the video file to be transmitted, it needs to determine the working mode of the current transmission path, i.e., the first transmission state, based on the overall quality status of the current broadcast path and unicast path.
[0047] In this embodiment, the first transmission state refers to the working mode of the transmission path at the current moment, which may include three states: broadcast-dominated state, cooperative transmission state, and unicast-dominated state.
[0048] In this embodiment, under broadcast-dominated mode, the broadcast path has good quality, and the video file is sent via the broadcast path. The unicast path is mainly used for control information and a small amount of supplementary packets. The broadcast path has a natural one-to-many distribution characteristic; the same data only needs to be sent once, and multiple clients within the coverage area can receive it simultaneously, which can significantly reduce network resource consumption. In this broadcast-dominated state, the server uses the Interop scheduler to schedule the video file and forward error correction redundant data to be sent via the broadcast interface, making full use of the efficient distribution capability of the broadcast path.
[0049] In the cooperative transmission state, the quality of the broadcast path degrades somewhat but is not completely ineffective. The server uses both broadcast and unicast paths for transmission. The broadcast path continues to handle the distribution of the second part of the file (non-critical data) without specific characteristics, while the unicast path handles the transmission of the first part of the file (i.e., critical data) with specific characteristics. These specific characteristics can be files carrying critical identifiers. This cooperative transmission state is an intermediate state in the transition from broadcast-dominated to unicast-dominated states, achieving a balance between transmission efficiency and reliability through differentiated scheduling strategies.
[0050] In unicast-dominated mode, the broadcast path has poor quality. The server ensures service data transmission through the unicast path, while the broadcast path can continue to be monitored or used as a backup path. In this unicast-dominated mode, the server sends video files and control signaling to the client through the unicast path to ensure service continuity.
[0051] For example, step S210 may include the following steps S2111 to S2113: Step S211: Obtain the quality parameters of the unicast interface and the broadcast interface respectively.
[0052] Step S212: Based on the quality parameters, generate the unicast quality parameters for the corresponding unicast interface and the broadcast quality parameters for the corresponding broadcast interface.
[0053] Step S213: Determine the first transmission state of the transmission path based on the duration of each of the unicast quality parameters and broadcast quality parameters.
[0054] In this embodiment, broadcast path quality parameters may include parameters such as broadcast packet loss rate, broadcast reception jitter, and receive buffer capacity. Unicast path quality parameters may include parameters such as unicast round-trip time (RTT), unicast packet loss rate, and unicast throughput.
[0055] In this embodiment, the quality parameters of the broadcast path do not depend on the ACK calculation of the same path on the broadcast path. Instead, the client determines the quality based on the data number, missing data, FEC recovery status, and cache status of the video file, and feeds this information back to the server via the unicast path. The client determines whether the received video file is continuous based on the data sequence number, fragment sequence number, or block number in the video file data number. When some data numbers are missing or the expected data is not received within a specified time, it is determined that data is missing, and the broadcast packet loss is recorded.
[0056] The quality parameters of a unicast path can be determined based on ACK, RTT, and throughput during the unicast interaction process. The server sends data packets on the unicast path, and the client returns ACK confirmations via the unicast path. The server calculates the unicast RTT based on the packet transmission time and ACK return time, determines the unicast packet loss rate based on the ACK confirmation range, and estimates the unicast throughput based on the amount of data acknowledged per unit time.
[0057] To enable different types of path quality parameters to participate in status assessment, various quality parameters can be normalized. For negative metrics (such as packet loss rate, latency, and jitter), a higher value indicates worse quality, and this can be converted into a quality score: Negative metric quality score = 1 - min(actual value / upper bound, 1). For positive metrics (such as throughput and cache availability), a higher value indicates better quality, and this can also be converted into a quality score: Positive metric quality score = min(actual value / upper bound, 1). After normalization, the quality score for each metric is between 0 and 1. The closer the score is to 1, the better the path status corresponding to that metric; the closer the score is to 0, the worse the path status corresponding to that metric.
[0058] The quality parameters for the broadcast path can be expressed as: Qb = w1 × broadcast packet loss rate score + w2 × broadcast reception jitter score + w3 × reception buffer capacity score. The quality parameters for the unicast path can be expressed as: Qu = v1 × unicast packet loss rate score + v2 × unicast RTT score + v3 × unicast throughput score. Here, w1, w2, w3 and v1, v2, v3 are weight parameters, and w1 + w2 + w3 = v1 + v2 + v3 = 1, which can be set according to the service type.
[0059] For example, step S213 may include the following steps S2131 to S2136: Step S2131: Obtain the original second transmission state of the transmission path.
[0060] In step S2132, when the second transmission state is broadcast-dominant, the unicast quality parameter exceeds the set lower limit, and the broadcast quality parameter is lower than the first set threshold and remains below the first set threshold for a duration, the first transmission state of the transmission path is determined to be cooperative transmission state.
[0061] Step S2133: When the second transmission state is cooperative transmission state, the unicast quality parameter exceeds the set lower limit value, and the broadcast quality parameter is lower than the second set threshold and remains below the second set threshold for more than the second set duration, the first transmission state of the transmission path is determined to be unicast dominant state.
[0062] Step S2134: When the second transmission state is broadcast-dominated, the unicast quality parameter exceeds the set lower limit, and the broadcast quality parameter is lower than the second set threshold and lasts for more than the third set duration, the first transmission state of the transmission path is determined to be unicast-dominated.
[0063] In step S2135, when the second transmission state is the cooperative transmission state, the unicast quality parameter exceeds the set lower limit, and the broadcast quality parameter is higher than the third set threshold and continues for more than the fourth set duration, the first transmission state of the transmission path is determined to be the broadcast-dominated state.
[0064] Step S2136: When the second transmission state is unicast-dominated, the unicast quality parameter exceeds the set lower limit, and the broadcast quality parameter is higher than the third set threshold and lasts for more than the fifth set duration, the first transmission state of the transmission path is determined to be broadcast-dominated.
[0065] Among them, the second set threshold < the first set threshold < the third set threshold. By setting different entry and recovery thresholds, a hysteresis interval can be formed to avoid the server frequently switching near the critical value. The third set duration < the second set duration, and the fifth set duration > the fourth set duration.
[0066] In these examples, by introducing a duration judgment and a hysteresis threshold to control state transitions, frequent switching caused by short-term fluctuations in the broadcast path can be avoided, thus improving server operational stability.
[0067] For example, after step S2131, the method further includes the following step S2137: Step S2137: When the unicast quality parameter is lower than the set lower limit, redundant transmission data is set for the broadcast interface so that the client responds to the redundant transmission data to perform a second local recovery process.
[0068] In this embodiment, the set lower limit corresponds to the minimum quality requirement for the unicast path to maintain basic availability. When the unicast path quality is lower than the set lower limit, the server does not switch from the cooperative transmission state to the unicast-dominated state. Instead, it adds redundant transmission data to the broadcast path, allowing the client to recover missing data through local redundancy. This ensures a certain level of data transmission reliability even when the unicast path is unavailable. Redundant transmission data can be achieved by increasing the FEC redundancy ratio, repeatedly sending critical data, or reducing the video bitrate.
[0069] In these examples, by adding broadcast redundancy transmission when the unicast path does not meet the minimum availability requirements, service continuity can be maintained when the unicast path is temporarily unavailable, avoiding transmission interruption due to forced switching to unicast-dominated mode.
[0070] Step S220: When the first transmission state is unicast-dominant, the configured scheduler determines the interaction configuration parameters with the client and outputs them to the unicast interface in the transmission path, so that the client receives the interaction configuration parameters output by the unicast interface for repair processing until the first transmission state of the broadcast interface is restored to the broadcast-dominant state.
[0071] In this embodiment, when the first transmission state is unicast-dominated, the broadcast path quality can hardly meet the service continuity requirements. The server outputs the interaction configuration parameters to the unicast interface through the scheduler, so that the client can receive the necessary data and control information through the unicast path and continuously monitor the broadcast path quality until it recovers to the broadcast-dominated state.
[0072] In this embodiment, the scheduler (Interop scheduler) is the core scheduling component in the BCQUIC protocol stack, used to determine the transmission paths of video data and control information based on the current transmission state. In unicast-dominated mode, the scheduler schedules video files to be sent via the unicast interface; in broadcast-dominated mode, the scheduler schedules video files to be sent via the broadcast interface; in cooperative transmission mode, the scheduler performs differentiated scheduling based on the criticality of the data, sending critical data via the unicast interface and non-critical data via the broadcast interface.
[0073] In this embodiment, the interactive configuration parameters refer to the data and control information sent by the server to the client through the unicast interface to maintain service continuity. These parameters may include video segmentation data, packet replacement, control signaling, etc. After receiving the interactive configuration parameters, the client can perform repair processing, including data deduplication, rearrangement, caching, and delivery, to maintain the continuity of video playback.
[0074] In this embodiment, until the first transmission state of the broadcast interface is restored to the broadcast-dominant state, the server may continuously monitor the quality parameters of the broadcast path. When the broadcast quality parameters are higher than the third set threshold and remain higher than the fifth set duration, the server restores from the unicast-dominant state to the broadcast-dominant state, and the scheduler reschedules the video file to the broadcast interface for transmission.
[0075] Step S230: When the first transmission state is broadcast-dominant, output the video file to the client.
[0076] In this embodiment, when the first transmission state is broadcast-dominant, the broadcast path quality is good, and the server sends video files to the client through the broadcast interface, making full use of the one-to-many transmission advantage of the broadcast path and reducing the unicast network load.
[0077] For example, the method further includes the following steps S310 and S320: Step S310: When the first transmission state is broadcast-dominant, forward error correction redundancy data is generated based on the video file.
[0078] Step S320: Output forward error correction redundancy data to the client through the configured broadcast path, so that the client can perform the first local recovery process based on the error correction redundancy data when broadcast packet loss occurs.
[0079] In this embodiment, during the broadcast-dominant state, the server can also generate forward error correction (FEC) redundant data based on the video file and output the forward error correction redundant data to the client through the broadcast interface, so that the client can perform the first local recovery processing based on the error correction redundant data when broadcast packet loss occurs.
[0080] In this embodiment, Forward Error Correction (FEC) is a reliability enhancement technique that sends redundant data along with the original data. This allows the receiving end to recover the original data from the redundant information when some data is lost, without having to immediately request retransmission. The server can group k original data blocks into an encoding group and generate r redundant data blocks. As long as the client successfully receives at least k data blocks within this encoding group, it can recover the complete original data.
[0081] In these examples, by introducing forward error correction redundancy data on the broadcast path, the client can directly recover the missing data through local FEC decoding when a small amount of packet loss occurs on the broadcast path, reducing the reliance on unicast packet replacement, reducing packet replacement latency, and improving the reliability of broadcast transmission.
[0082] For example, after outputting forward error correction redundancy data to the client through the broadcast interface, the method may further include: obtaining the packet loss request message through the unicast interface when the client outputs a packet loss request message during local recovery processing; and sending the target repair packet to the client through the unicast interface when the packet loss request message is associated with a target repair packet, so that the client can merge and reassemble the video file according to the target repair packet to obtain the processed video file.
[0083] A packet loss request message (NACK_MP) is a request sent by the client to the server via unicast when FEC (Fragment Recovery Error) cannot recover missing data. The message carries identification information about the missing data (such as fragment number, block number, etc.). The target repair packet is a replacement data sent by the server to the client via unicast, based on the missing data identifier in the packet loss request message, after retrieving the corresponding data from the cache or content server. After receiving the repair packet via the unicast interface, the client writes it to the corresponding location in the receive buffer according to the data number and merges it with the data received via the broadcast path.
[0084] In these examples, a hybrid reliability mechanism combining FEC local recovery and unicast repair and packet replacement can prioritize FEC local recovery when packets are lost on the broadcast path, and only trigger unicast packet replacement when FEC fails to recover, thereby reducing the pressure on unicast packet replacement and improving overall transmission reliability.
[0085] For example, the method further includes the following steps S410 to S430: Step S410: When the first transmission state is the cooperative transmission state, determine the first part of the video file with specific characteristics and the second part of the video file other than the first part.
[0086] Step S420: Output the first part of the file to the client through the configured unicast path.
[0087] In step S430, the second part of the file is output to the client via the configured broadcast path.
[0088] In this embodiment, the first part of the file refers to data in the video file that has key or important characteristics, such as video keyframes (I-frames), initialization segments, and service description information (MPD files). This data is crucial to the continuity of video playback; its loss may lead to decoding failure or playback interruption. Therefore, it is transmitted through a more reliable unicast path in cooperative transmission mode.
[0089] In this embodiment, the second part of the file refers to non-critical data in the video file, excluding critical data, such as non-critical frames (P-frames, B-frames), ordinary media fragments, etc. Even if some of this data is lost, it can be recovered through FEC or packet replacement, thus continuing transmission via the broadcast path to fully utilize the efficient distribution capabilities of broadcast.
[0090] In these examples, by classifying video files according to their criticality in the cooperative transmission state and transmitting them through unicast and broadcast paths respectively, the reliable transmission of critical data can be prioritized when the quality of the broadcast path degrades, while non-critical data can continue to be transmitted using the efficient distribution capabilities of the broadcast path, thus achieving a balance between transmission efficiency and reliability.
[0091] As can be seen from steps S210 to S230 above, this embodiment achieves coordinated transmission control of the broadcast and unicast paths by dynamically determining the first transmission state of the transmission path on the server side based on the quality parameters of the broadcast and unicast paths, and adopting corresponding scheduling strategies according to different transmission states. In the broadcast-dominated state, the server fully utilizes the one-to-many transmission advantage of the broadcast path, sending video files and forward error correction redundant data through the broadcast interface, reducing the unicast network load and improving the efficiency of public content distribution. In the coordinated transmission state, the server performs differentiated scheduling based on the criticality of the data. Critical data is transmitted through the unicast path to ensure reliability, while non-critical data is transmitted through the broadcast path to maintain efficient distribution, achieving a balance between transmission efficiency and reliability. In the unicast-dominated state, the server sends video files and control signaling to the client through the unicast path to ensure business continuity, while continuously monitoring the broadcast path quality, and switching back to the broadcast-dominated state after it recovers.
[0092] <Second Embodiment> Figure 3 This is a flowchart illustrating a transmission path cooperative transmission method according to other embodiments. For example... Figure 3 As shown, the transmission path cooperative transmission method of this embodiment may include the following steps S210 to S240.
[0093] Step S210: If the video file to be transmitted is obtained, determine the first transmission state of the transmission path.
[0094] In step S220, when the first transmission state is unicast-dominant, the configured scheduler determines the interaction configuration parameters with the client and outputs them to the unicast interface in the transmission path.
[0095] Step S230: When the first transmission state is broadcast-dominant, output the video file to the client.
[0096] Steps S210, S220 and S230 have been described in detail in the first embodiment and will not be repeated here.
[0097] Step S240: When the first transmission state is the cooperative transmission state, determine the first part of the video file with specific characteristics and the second part of the video file other than the first part of the video file; output the first part of the video file to the client through the configured unicast interface; output the second part of the video file to the client through the configured broadcast interface.
[0098] The triggering condition for the cooperative transmission state is: the server is in the broadcast-dominated state, the broadcast quality parameter is lower than a first set threshold and remains below it for a first set duration, and the unicast quality parameter exceeds a set lower limit. When the quality parameter Qb of the broadcast path is lower than the first set threshold T1 and remains below it for a first set duration t1 or more, the server transitions from the broadcast-dominated state to the cooperative transmission state. At this time, the broadcast path still has some availability, but its quality is insufficient to handle all video data transmission alone, requiring the unicast path to provide assistance.
[0099] In the cooperative transmission mode, the server uses both broadcast and unicast paths for transmission, but the two paths play different roles: the broadcast path continues to handle the distribution of non-critical data, making full use of its efficient distribution capabilities; the unicast path handles the transmission of critical data, ensuring the reliable arrival of critical data.
[0100] The server categorizes and determines the first and second parts of the video data based on their criticality. The first part (critical data) includes: video keyframes (I-frames), initialization segments, and service description information (MPD files). Video keyframes (I-frames) are independent frames in video encoding, containing complete image information. They can be decoded independently without relying on other frames and serve as the reference for subsequent predicted frames (P-frames, B-frames). If an I-frame is lost, all subsequent P-frames and B-frames that depend on it cannot be decoded correctly. Therefore, I-frames are critical data and must be transmitted via unicast to ensure reliable arrival. Initialization segments contain video encoding parameters, metadata, and decoder initialization information. The client must receive and parse the initialization segments before starting video playback. If lost, the client cannot correctly initialize the decoder; therefore, it is also critical data. Service description information (MPD files) is the media presentation description file for DASH video. The client obtains the video segment list from the MPD file; if lost, playback cannot begin. Therefore, it is also critical data.
[0101] The second part of the file (non-critical data) includes: non-critical frames (P-frames, B-frames), ordinary media fragments, etc. Non-critical frames rely on preceding frames for decoding. If they are lost, they may cause a decrease in local picture quality or a brief stutter, but they will not affect the decoding of subsequent I-frames. The impact on the continuity of video playback is relatively small and can be recovered by FEC or packet replacement. Therefore, they are non-critical data and are transmitted through the broadcast path.
[0102] The server uses the Interop scheduler to perform differentiated scheduling based on data attributes: for critical data (the first part of the file), the scheduler schedules it to the unicast interface, encapsulates it into a QUIC STREAM frame, and sends it to the client through the unicast path; for non-critical data (the second part of the file), the scheduler schedules it to the broadcast interface and sends it to multiple clients within the coverage area simultaneously through the broadcast path.
[0103] The client data reassembly and caching module manages critical data received by unicast and non-critical data received by broadcast in a unified manner. Regardless of whether the data comes from the unicast interface or the broadcast interface, it is written into the same receive buffer space according to a unified data number or stream offset.
[0104] In cooperative transmission mode, the server can also dynamically adjust the ratio of critical data to non-critical data based on the broadcast path quality. If the broadcast path quality degrades slightly, the server can mark only I-frames and initialization fragments as critical data and transmit them via the unicast path. If the broadcast path quality degrades moderately, the server can mark I-frames, some P-frames, and initialization fragments as critical data and transmit them via the unicast path, while the remaining data continues to be transmitted via the broadcast path. By dynamically adjusting the ratio of critical data to non-critical data, the server can flexibly balance transmission efficiency and reliability when the broadcast path quality changes, achieving a smooth transition.
[0105] As can be seen from steps S210 to S240 above, this embodiment achieves a smooth transition when the quality of the broadcast path degrades by differentially scheduling video files in the cooperative transmission state, with critical data taking the unicast path and non-critical data taking the broadcast path. Transmitting critical data (I-frames, initialization fragments, MPD files, etc.) via the unicast path ensures reliable arrival of critical data and avoids video playback failure or decoding failure due to critical data loss. Transmitting non-critical data (P-frames, B-frames, ordinary media fragments, etc.) via the broadcast path continues to utilize the efficient distribution capability of the broadcast path, reducing the unicast network load and improving the efficiency of public content distribution.
[0106] <Third Embodiment> This embodiment provides an electronic device. Figure 4 A schematic diagram of the hardware structure of the electronic device is shown.
[0107] like Figure 4As shown, the electronic device 400 includes a processor 410 and a memory 420. The memory can be used to store computer programs, and the processor can be used to retrieve the computer programs from the memory to execute any method embodiment of this disclosure. The processor can be one or more, and these processors can execute instructions individually or jointly. Similarly, the memory can be one or more, and these memories can store the aforementioned computer programs individually or jointly.
[0108] The electronic device 400 may be Figure 1 The server shown.
[0109] This disclosure also provides a computer-readable storage medium storing a computer program thereon, which, when executed by a processor, implements the transmission path cooperative transmission method in any embodiment of this disclosure. Optionally, the computer-readable storage medium may be a non-transitory storage medium, but is not limited thereto; it may also be a temporary storage medium.
[0110] The various embodiments in this specification are described in a progressive manner, with each embodiment focusing on the differences from other embodiments. The same or similar parts between the various embodiments can be referred to each other.
[0111] This disclosure may be a system, method, and / or computer program product. A computer program product may include a computer-readable storage medium having a computer-readable program loaded thereon for causing a processor to implement any of the methods in the foregoing embodiments of this disclosure.
[0112] Computer-readable storage media can be tangible devices capable of holding and storing instructions for use by an instruction execution device. Computer-readable storage media may include, for example, electrical storage devices, magnetic storage devices, optical storage devices, electromagnetic storage devices, semiconductor storage devices, or any suitable combination thereof. More specific examples (a non-exhaustive list) of computer-readable storage media include: portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM), static random access memory (SRAM), compact disc-read-only memory (CD-ROM), digital versatile disc (DVD), memory sticks, floppy disks, mechanical encoding devices, such as punch cards or recessed protrusions storing instructions thereon, and any combination thereof. The computer-readable storage medium used herein is not to be interpreted as a transient signal itself, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through waveguides or other transmission media (e.g., light pulses through fiber optic cables), or electrical signals transmitted through wires.
[0113] The computer-readable program instructions described herein can be downloaded from computer-readable storage media to various computing / processing devices, or downloaded via a network, such as the Internet, local area network, wide area network, and / or wireless network, to an external computer or external storage device. The network may include one or more of copper transmission cables, fiber optic transmission, wireless transmission, routers, firewalls, switches, gateway computers, and edge servers. A network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and forwards them to computer-readable storage media in the respective computing / processing device.
[0114] The computer program instructions used to perform the operations of this disclosure may be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state setting data, or source or object programs written in any combination of one or more programming languages, including object-oriented programming languages (such as Smalltalk, C++, etc.) and conventional procedural programming languages (such as the "C" language or similar programming languages). The computer-readable program instructions may be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving a remote computer, the remote computer may be connected to the user's computer via any type of network (e.g., a local area network or a wide area network), or it may be connected to an external computer (e.g., via the Internet using an Internet service provider). In some embodiments, electronic circuitry, such as programmable logic circuitry, field-programmable gate arrays, or programmable logic arrays, can execute computer-readable program instructions to implement various aspects of the embodiments of this disclosure by utilizing state information from the computer-readable program instructions.
[0115] Various aspects of this disclosure are described herein with reference to flowchart illustrations and / or block diagrams of methods, apparatus, and computer program products according to embodiments of this disclosure. It should be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer-readable program instructions.
[0116] These computer-readable program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing apparatus to produce a machine such that, when executed by the processor of the computer or other programmable data processing apparatus, they create means for implementing the functions / actions specified in one or more blocks of the flowchart and / or block diagram. These computer-readable program instructions can also be stored in a computer-readable storage medium that causes a computer, programmable data processing apparatus, and / or other device to operate in a particular manner; thus, the computer-readable medium storing the instructions comprises an article of manufacture that includes instructions for implementing aspects of the functions / actions specified in one or more blocks of the flowchart and / or block diagram.
[0117] Computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable data processing apparatus, or other device to produce a computer-implemented process, thereby causing the instructions that execute on the computer, other programmable data processing apparatus, or other device to perform the functions / actions specified in one or more boxes of a flowchart and / or block diagram.
[0118] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present disclosure. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of an instruction containing one or more executable instructions for implementing a specified logical function. In some alternative implementations, the functions marked in the blocks may occur in a different order than those marked in the drawings. For example, two consecutive blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can be implemented using a dedicated hardware-based system that performs the specified function or action, or using a combination of dedicated hardware and computer instructions. It should be noted that implementation in hardware, implementation in software, and implementation using a combination of software and hardware are all equivalent.
[0119] The various embodiments of this disclosure have been described above. These descriptions are exemplary and not exhaustive, and are not limited to the disclosed embodiments. Many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of the described embodiments. The terminology used herein is chosen to best explain the principles, practical application, or improvement of the technology in the market, or to enable others skilled in the art to understand the embodiments disclosed herein. The scope of this disclosure is defined by the appended claims.
Claims
1. A method for cooperative transmission along a transmission path, characterized in that, The transmission path is established between the server and the client, the server is the main body executing the method, and the method includes: Upon obtaining the video file to be transmitted, determine the first transmission state of the transmission path; When the first transmission state is unicast-dominated, the configured scheduler determines the interaction configuration parameters with the client and outputs them to the unicast path in the transmission path, so that the client receives the interaction configuration parameters output by the unicast path for repair processing until the first transmission state of the broadcast path is restored to the broadcast-dominated state. When the first transmission state is broadcast-dominated, the video file is output to the client.
2. The method according to claim 1, characterized in that, The method further includes: When the first transmission state is broadcast-dominant, forward error correction redundancy data is generated based on the video file; The forward error correction redundancy data is output to the client via the configured broadcast path, so that the client can perform the first local recovery process based on the error correction redundancy data when broadcast packet loss occurs.
3. The method according to claim 1, characterized in that, The method further includes: When the first transmission state is a cooperative transmission state, a first part of the video file with specific characteristics and a second part of the video file other than the first part are determined. The first part of the file is output to the client via the configured unicast path; The second part of the file is output to the client via the configured broadcast path.
4. The method according to claim 2, characterized in that, After outputting the forward error correction redundancy data to the client via the configured broadcast path, the method further includes: When the client performs local recovery processing and outputs a packet loss request message, the packet loss request message is obtained through the unicast path; In the case where the packet loss request message is associated with a target repair packet, the target repair packet is sent to the client through the unicast path, so that the client can merge and reassemble the video file according to the target repair packet to obtain the processed video file.
5. The method according to claim 1, characterized in that, Determining the first transmission state of the transmission path includes: Obtain the quality parameters of the unicast path and the broadcast path respectively; Based on the quality parameters, generate unicast quality parameters corresponding to the unicast path and broadcast quality parameters corresponding to the broadcast path; The first transmission state of the transmission path is determined based on the duration of each of the unicast quality parameters and the broadcast quality parameters.
6. The method according to claim 1, characterized in that, Determining the first transmission state of the transmission path based on the duration of each of the unicast quality parameters and the broadcast quality parameters includes: Obtain the original second transmission state of the transmission path; When the second transmission state is broadcast-dominant, the unicast quality parameter exceeds a set lower limit, and the broadcast quality parameter is lower than a first set threshold and remains below a first set duration, the first transmission state of the transmission path is determined to be cooperative transmission. When the second transmission state is a cooperative transmission state, the unicast quality parameter exceeds a set lower limit, and the broadcast quality parameter is lower than a second set threshold and remains below a second set duration, the first transmission state of the transmission path is determined to be a unicast-dominated state. When the second transmission state is broadcast-dominated, the unicast quality parameter exceeds a set lower limit, or the broadcast quality parameter is lower than the second set threshold and remains below the third set duration for more than a third set duration, the second transmission state of the transmission path is determined to be unicast-dominated. When the second transmission state is a cooperative transmission state, the unicast quality parameter exceeds a set lower limit, and the broadcast quality parameter is higher than a third set threshold and lasts for more than a fourth set duration, the second transmission state of the transmission path is determined to be a broadcast-dominated state. When the second transmission state is unicast-dominated, the unicast quality parameter exceeds a set lower limit, and the broadcast quality parameter is higher than a third set threshold and lasts for more than a fifth set duration, the second transmission state of the transmission path is determined to be broadcast-dominated.
7. The method according to claim 6, characterized in that, After obtaining the original second transmission state of the transmission path, the method further includes: If the unicast command parameter is lower than a set lower limit, redundant transmission data is set for the broadcast path so that the client responds to the redundant transmission data to perform a second local recovery process.
8. A server, characterized in that, include: The status determination module is used to determine the first transmission status of the transmission path when the video file to be transmitted is obtained; The interface determination module is used to determine the interaction configuration parameters with the client through a configured scheduler when the first transmission state is unicast-dominated, and output them to the unicast path in the transmission path, so that the client receives the interaction configuration parameters output by the unicast path for repair processing until the first transmission state of the broadcast path is restored to the broadcast-dominated state. The output module is used to output the video file to the client when the first transmission state is broadcast-dominated.
9. An electronic device, characterized in that, It includes a memory and a processor, the memory being used to store a computer program; the processor being used to execute the computer program to implement the method according to any one of claims 1-7.
10. A computer-readable storage medium, characterized in that, A computer program is stored on the computer-readable storage medium, which, when executed by a processor, implements the method according to any one of claims 1-7.