A bandwidth active probing method for decoupled media transmission system
Patent Information
- Application Number
- CN202611110302.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-07-24
- Publication Date
- 2026-09-29
AI Technical Summary
CCA可能因此误判网络为空闲或低负载状态,导致带宽估计下降或拥塞窗口收缩,进而降低后续的可用容量参考值,使编码器被迫在更低的码率下工作,造成不必要的视觉质量损失
[0029]本发明方法通过预设至少两个档位,并使档位越高对应码率区间的下限值越高,实现填充策略与目标码率的自适应匹配;通过随档位升高而递减的填充比例,在低码率场景下执行更高比例的填充以保障拥塞控制算法的观测有效性,在高码率场景下执行更低比例的填充以节省带宽;通过从零值和填充目标与实际大小之差中取最大值作为目标填充量,确保填充量的非负性,从而在保障观测有效性与节省带宽之间实现平衡。
Smart Images

Figure CN122845476A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of data transmission technology, specifically to the field of real-time streaming media transmission, and more specifically, to a method for active bandwidth detection for decoupled media transmission systems. Background Technology
[0002] In real-time media transmission systems, transport layer congestion control algorithms (CCA, such as GCC, BBR, and SQP) rely on network feedback (latency variations, packet loss rates, etc.) of the actual transmitted data to maintain accurate bandwidth estimation and congestion assessment. CCA operates on the premise that the sender continuously transmits data at a rate close to its estimated capacity, thereby obtaining meaningful network feedback samples.
[0003] However, the actual output frame size of a real-time encoder can fluctuate due to changes in scene content. In scenarios such as 3D cloud rendering, instantaneous changes in scene complexity can cause a significant deviation between the encoder's actual output and the target bitrate. When the encoder is under-tuned (actual size of the object < target size), the amount of data actually sent is insufficient for CCA to obtain representative network observation samples.
[0004] In terms of detection, some CCAs (such as BBR) have built-in periodic bandwidth detection mechanisms, which briefly increase the transmission rate to detect whether there is more available capacity in the network.
[0005] In the WebRTC unified protocol stack, the above problems are mitigated through tight coupling and coordination between the encoder, the transmit pace controller (Pacer), and the CCA. The CCA can identify application-constrained states and handle them accordingly, and the encoder can also adjust its behavior based on the state of the CCA.
[0006] The Internet Engineering Task Force (IETF) is developing a standardized Media over QUIC (MoQ) protocol that uses a layered, decoupled architecture, where the transport layer is unaware of the actual amount of data output by the application layer or whether it deviates from expectations.
[0007] While the layered decoupling architecture employed by decoupled media transport protocols enhances flexibility and scalability, it also disrupts information exchange between the application and transport layers. This leads to issues such as encoder output fluctuations, CCA observation distortion, and insufficient network capacity discovery, which become particularly prominent in MoQ scenarios. Specifically, this manifests as follows:
[0008] (1) Encoder undertuning leads to CCA observation distortion. When the encoder is undertuned, the actual amount of data sent is insufficient for CCA to obtain representative network observation samples. CCA may therefore misjudge the network as idle or low-load, resulting in a decrease in bandwidth estimation or a shrinking congestion window, which in turn reduces the subsequent available capacity reference value, forcing the encoder to operate at a lower bit rate and causing unnecessary visual quality loss. In large-scale online measurements, the proportion of encoder undertuned frames can reach 30%-40%, and the resulting decrease in bandwidth estimation requires multiple frame cycles to recover.
[0009] (2) The built-in probing mechanism of CCA is disconnected from the behavior of the application layer. Although some CCAs (such as BBR) have built-in periodic probing, these probings are initiated autonomously by the transport layer and are not aware of the actual output behavior of the application layer. This leads to two problems: first, it is impossible to determine whether the current bandwidth utilization observation is based on a sufficiently large data sample (it may be based on a false low utilization rate obtained from a very small undertuned frame); second, the timing of the probing is determined by the internal period of CCA, which is not aligned with the actual needs of the application layer.
[0010] (3) The decoupled architecture lacks application behavior-aware filling and probing capabilities. In the MoQ decoupled architecture, the transport layer does not know how much data the application layer actually outputs or whether the output deviates from expectations. Therefore, it cannot actively compensate for the lack of observation caused by undertuning, and it also lacks the ability to determine when probing is appropriate based on application layer behavior. The tightly coupled coordination mechanism in WebRTC cannot be reused in the decoupled architecture.
[0011] It should be noted that the background information presented here is only for illustrating relevant information about the present invention to aid in understanding the technical solution of the present invention, and does not imply that the relevant information is necessarily prior art. The relevant information was submitted and disclosed together with the present invention, and should not be considered prior art unless there is evidence that the relevant information was disclosed before the filing date of the present invention. Summary of the Invention
[0012] Therefore, the purpose of this invention is to overcome the shortcomings of the prior art and provide a method for active bandwidth detection in decoupled media transmission systems.
[0013] The objective of this invention is achieved through the following technical solution:
[0014] According to a first aspect of the present invention, a method for active bandwidth detection in a decoupled media transmission system is provided, comprising the steps of: S1: for objects output by the encoder in the system, obtaining the actual size, target size, current encoder target bitrate, and current bandwidth estimate of each object; S2: determining the bitrate to which the object belongs based on the current encoder target bitrate, determining the filling target of the object according to the filling strategy corresponding to the target size and bitrate, and determining the target filling amount based on the filling target and actual size of each object, wherein the filling target is the amount of target data to be filled into the object; S3: determining whether to actively trigger detection enhancement based on multiple triggering conditions for enabling active detection, and if so, proceeding to S4. S6: Otherwise, do not adjust the original bandwidth probing logic of the congestion control algorithm; S4: Modify the channel parameters of the congestion control algorithm, wherein the transmission rhythm rate is set to the target probing rate determined based on the current bandwidth estimate and the probing multiplier, and the final padding amount is set to the larger of the target padding amount and the probe expansion amount. The probe expansion amount is the difference between the target size and the actual size of the probe cluster. The target size of the probe cluster is determined based on the target probing rate and the duration of the probe cluster; S5: Control the transmission of the probe cluster based on the transmission rhythm rate and the final padding amount. The probe cluster includes the target data packet and the padding data packet; S6: Determine the enhanced probe bandwidth estimate based on the actual transmission rate and the effective reception rate of the probe cluster. This scheme can achieve at least the following beneficial technical effects: by acquiring the actual size of the object, the target size, the current encoder target bitrate, and the current bandwidth estimate, and determining the padding target and target padding amount according to the encoder target bitrate, padding data is supplemented when the encoder is under-tuned to maintain the effective observation conditions of the congestion control algorithm; by determining whether to actively trigger probe enhancement through multiple triggering conditions, and modifying the transmission rhythm rate and final padding amount to construct probe clusters when the conditions are met, active detection of the remaining network capacity is achieved; the enhanced probe bandwidth estimate is determined based on the actual transmission rate and effective reception rate of the probe cluster, providing additional bandwidth observations for the congestion control algorithm, thereby improving bandwidth utilization efficiency in the decoupled media transmission architecture.
[0015] Optionally, step S2 includes: S21: obtaining at least two preset fill levels, each level corresponding to a bitrate range and a fill strategy, the higher the level, the higher the lower limit of the corresponding bitrate range; S22: determining the level according to the bitrate range where the current encoder target bitrate is located; S23: determining the fill ratio according to the fill strategy corresponding to the level, and determining the fill target according to the target size and the fill ratio, the fill ratio decreasing as the level increases; S24: taking the maximum value from zero and the difference between the fill target and the actual size as the target fill amount. This scheme can achieve at least the following beneficial technical effects: by presetting at least two levels, and making the lower limit of the corresponding bitrate range higher for higher levels, the padding strategy and the target bitrate are adaptively matched; by using a padding ratio that decreases as the level increases, a higher padding ratio is executed in low bitrate scenarios to ensure the observation effectiveness of the congestion control algorithm, and a lower padding ratio is executed in high bitrate scenarios to save bandwidth; by taking the maximum value between zero and the difference between the padding target and the actual size as the target padding amount, the non-negativity of the padding amount is ensured, thereby achieving a balance between ensuring observation effectiveness and saving bandwidth.
[0016] Optionally, two gear positions are set, and the filling target is determined as follows:
[0017]
[0018] in, To fill the target, For target size, The target bit rate for the current encoder, For bitrate threshold, , For fill ratio, , This scheme can achieve at least the following beneficial technical effects: by setting two tiers and using a bitrate threshold as the boundary, it simplifies the implementation complexity of the tiering strategy; by using the low bitrate tier ( The fill ratio is set to 1 ( When the target bit rate is below a threshold, full padding is performed to ensure that the congestion control algorithm can still obtain a minimum number of effective observation samples after encoder under-adjustment; by providing high bit rate ranges ( The fill ratio is set. This allows for filling only at a preset ratio when the target bitrate is not lower than the threshold, avoiding overfilling in high bitrate scenarios and thus reducing unnecessary bandwidth overhead.
[0019] Optionally, the multiple triggering conditions include: a first triggering condition: the recent capacity utilization of the transmission network is lower than a utilization threshold; a second triggering condition: the current object's credibility is not lower than a credibility threshold, where the current object's credibility is the ratio of the object's actual size to the target size; wherein, triggering detection enhancement should at least satisfy both the first and second triggering conditions simultaneously. This scheme can achieve at least the following beneficial technical effects: by using the first triggering condition that the recent capacity utilization is lower than the utilization threshold, it identifies scenarios where network capacity is not fully utilized and there may be remaining bandwidth; by using the second triggering condition that the current object's credibility is not lower than the credibility threshold, it ensures that the observation data used to determine capacity utilization comes from a sufficiently large object; by requiring both the first and second triggering conditions to be satisfied before triggering detection enhancement, it avoids false triggering of detection due to extremely small undertuned frames causing artificially low utilization, thereby reducing unnecessary detection overhead and improving the accuracy of detection triggering.
[0020] Optionally, the recent capacity utilization can be defined as the ratio of transmission rate to estimated bandwidth, the ratio of reception rate to estimated capacity, or the congestion window utilization rate. This scheme achieves at least the following beneficial technical effects: by defining recent capacity utilization as the ratio of transmission rate to estimated bandwidth, the ratio of reception rate to estimated capacity, or the congestion window utilization rate, it provides multiple calculation methods for capacity utilization, enabling the triggering conditions to adapt to the implementation characteristics of different congestion control algorithms; through a flexible definition of capacity utilization, it ensures that the detection triggering mechanism can reflect the recent network capacity utilization level under different network observation indicators, thereby enhancing the versatility and adaptability of the method.
[0021] Optionally, the probe rate can be dynamically adjusted based on recent capacity utilization, with a higher probe rate as recent capacity utilization decreases. This scheme can achieve at least the following beneficial technical effects: by dynamically adjusting the probe rate based on recent capacity utilization, the probe rate increases when recent capacity utilization is low, allowing for more aggressive probing at higher transmission rates in scenarios where network capacity may be relatively large; through adaptive probe rate adjustment, excessively high probe rates are avoided when the network is nearing saturation, preventing queuing degradation, thus achieving a dynamic balance between probe aggressiveness and network stability.
[0022] Optionally, the duration of the detection cluster is dynamically adjusted based on the round-trip propagation time:
[0023]
[0024] in, To detect the duration of the cluster, To find the maximum value function, This is the lower limit of the shortest duration. To ensure coverage, the duration of the probe cluster must cover at least one round-trip propagation period and not be less than the minimum duration limit. The round-trip propagation time is used. This scheme can achieve at least the following beneficial technical effects: by setting the duration of the probe cluster to be dynamically adjusted, it ensures that the duration of the probe cluster covers at least one round-trip propagation time cycle, so that the transmitter obtains complete feedback on the probe data from the receiver before the probe cluster ends; by setting a minimum duration lower limit, it avoids the probe cluster from being too short and losing statistical significance when the round-trip propagation time is small; and by using a coverage coefficient, it ensures complete observation of the impact of the probe cluster on the network, thereby improving the reliability of the probe results.
[0025] According to a second aspect of the present invention, a congestion control method is provided, comprising: acquiring an original bandwidth estimate obtained by the congestion control algorithm itself and an enhanced detection bandwidth estimate obtained according to the method described in the first aspect; determining a bandwidth estimate to be adopted based on the original bandwidth estimate and the enhanced detection bandwidth estimate; and adjusting the transmission rhythm rate based on the adopted bandwidth estimate. This scheme can achieve at least the following beneficial technical effects: by acquiring the enhanced detection bandwidth estimate and the original bandwidth estimate obtained by the congestion control algorithm itself, the bandwidth information actively detected by the present invention is integrated with the original estimate of the congestion control algorithm; by determining the currently adopted bandwidth estimate based on the enhanced detection bandwidth estimate and the original bandwidth estimate, the congestion control algorithm can refer to more comprehensive bandwidth observation data; and by adjusting the transmission rhythm rate based on the currently adopted bandwidth estimate, the available network bandwidth is utilized more quickly while ensuring transmission stability, thereby improving overall transmission efficiency.
[0026] According to a third aspect of the present invention, a computer device / apparatus / system is provided, including a memory, a processor, and a computer program / instructions stored in the memory, wherein the processor executes the computer program / instructions to implement the steps of the method described in the first or second aspect.
[0027] According to a fourth aspect of the present invention, a computer program product is provided, comprising a computer program / instructions that, when executed by a processor, implement the steps of the method described in the first or second aspect.
[0028] Compared with the prior art, the advantages of the present invention are as follows:
[0029] The method of this invention achieves adaptive matching between the padding strategy and the target bitrate by presetting at least two levels, with higher levels corresponding to higher lower limits of the bitrate range; by using a padding ratio that decreases as the level increases, a higher padding ratio is executed in low bitrate scenarios to ensure the observation effectiveness of the congestion control algorithm, and a lower padding ratio is executed in high bitrate scenarios to save bandwidth; by taking the maximum value between zero and the difference between the target padding size and the actual size as the target padding amount, the non-negativity of the padding amount is ensured, thereby achieving a balance between ensuring observation effectiveness and saving bandwidth. Attached Figure Description
[0030] The embodiments of the present invention will be further described below with reference to the accompanying drawings, wherein:
[0031] Figure 1 This is a flowchart illustrating a method for active bandwidth detection in a decoupled media transmission system according to an embodiment of the present invention.
[0032] Figure 2 This is a schematic diagram of the module structure of an active bandwidth detection device for a decoupled media transmission system according to an embodiment of the present invention. Detailed Implementation
[0033] To make the objectives, technical solutions, and advantages of this invention clearer, the invention will be further described in detail below with reference to the accompanying drawings and specific embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the invention.
[0034] As mentioned in the background section, the layered decoupling architecture adopted by the decoupled media transport protocol improves flexibility and scalability, but it also severs the information interaction between the application layer and the transport layer, making problems such as encoder output fluctuation, CCA observation distortion and insufficient network remaining capacity discovery particularly prominent in the MoQ scenario.
[0035] In response, the inventors, through analysis of transmission trace data during the online deployment of their MoQ-based 3D cloud rendering real-time transmission system, discovered that the system's actual bitrate was frequently lower than the available network capacity, indicating significant bandwidth underutilization. Further analysis revealed two underlying causes for this problem.
[0036] The first cause is the interference of encoder under-adjustment on CCA. In 3D rendering scenes, when the user is in a static observation state or the scene complexity suddenly decreases, the actual output frame size of the encoder may only be 50% or even lower than the target size. The inventors found that during the transmission of these under-adjusted frames, CCA tends to reduce bandwidth estimation because the network feedback samples it obtains are not representative, resulting in a lower target bitrate for subsequent frames. This negative feedback loop of "under-adjustment → decreased estimation → further reduction in bitrate" is one of the key reasons for insufficient bandwidth utilization.
[0037] The second reason is that the remaining network capacity has not been discovered. Even if the bandwidth estimate of CCA is accurate at the current moment, it cannot guarantee that there is no more capacity available on the network. The inventors' analysis found that under certain network conditions, the actual available capacity may be significantly higher than the estimate of CCA, but due to the lack of active detection, this capacity remains unused for a long time.
[0038] The inventors experimented with a simple fixed padding scheme (supplementing each undertuned frame with a fixed proportion of padding data), finding that while it improved CCA observations, it generated excessive and unnecessary padding traffic and wasted bandwidth in high bitrate scenarios. They also tried unconditional periodic probing, finding that probing even when network capacity was fully utilized introduced unnecessary bursts, actually worsening latency.
[0039] Therefore, after further analysis by the inventors, the current technical difficulties are: (1) The amount of padding needs to be adaptively determined according to the under-tuning degree and bit rate level of the current frame, so as to avoid excessive padding and wasting bandwidth while ensuring the effectiveness of CCA observation; (2) Probing needs to have appropriate triggering conditions to ensure that it is only carried out when there is sufficient evidence that the network has remaining capacity and that the evidence is credible; (3) Padding and probing need to reuse the same transmission channel instead of introducing independent data paths in order to maintain the simplicity of the architecture.
[0040] To address the aforementioned challenges, the inventors proposed a bandwidth active detection method (or sampling fidelity enhancement and conditional active detection method) for decoupled media transmission systems. This method solves the problem of adaptive padding by using tiered padding targets, addresses the accuracy of detection triggering by jointly judging multiple triggering conditions, and solves the problem of architectural simplicity by modifying the transmission rhythm rate and padding amount to reuse the existing transmission rhythm (Pacing) channel and padding (Padding) channel of the congestion control algorithm.
[0041] Before describing the embodiments of the present invention in detail, some of the terms used therein are explained as follows:
[0042] Congestion control algorithms are algorithms used to estimate the currently available bandwidth based on network feedback and control the transmission rate.
[0043] A Media over QUIC Object (MoQ Object), or simply an object, is the basic transmission unit that carries media data in the Media over QUIC (MoQ) protocol. It can be understood as the transmission object corresponding to a frame or a segment of media data.
[0044] The actual size of the object ( ), refers to the actual amount of data generated by the current object.
[0045] The target size of the object ( ( ) refers to the expected amount of data calculated based on the current target bitrate and object generation interval.
[0046] Padding refers to the data sent in addition to the actual media data when there is a shortage, which helps congestion control algorithms obtain more comprehensive network observations.
[0047] A probe cluster is a group of data packets sent at a predetermined (high) rate over a short period of time to test whether the link has remaining bandwidth.
[0048] Enhanced detection bandwidth estimation ( ( ) refers to the bandwidth observation results obtained based on the actual transmission and reception of the probe cluster.
[0049] Bandwidth estimation ( This refers to the transmission bandwidth that the congestion control algorithm currently believes the network can support.
[0050] Capacity utilization ( (This refers to an indicator used to show whether network capacity is being fully utilized recently; a lower value indicates that there may still be bandwidth remaining.)
[0051] Object Credibility is an indicator used to determine whether an object is large enough and suitable for reflecting real network utilization.
[0052] Round-Trip Time (RTT) refers to the time it takes for data to travel from the sender to the receiver and back.
[0053] Target bitrate ( ), which refers to the bitrate at which the encoder currently plans to generate media data.
[0054] Target detection rate ( (), refers to the transmission rate temporarily used when performing active probing.
[0055] Detection cluster duration ( ( ), refers to the duration of a single detection.
[0056] According to one embodiment of the present invention, see Figure 1 This invention provides a method for active bandwidth detection in decoupled media transmission systems, comprising steps S1, S2, S3, S4, S5, and S6. To better understand this invention, each step is described in detail below with reference to specific embodiments.
[0057] Step S1: For each object output by the encoder in the system, obtain the actual size, target size, current encoder target bit rate, and current bandwidth estimate of each object.
[0058] According to one embodiment of the present invention, in a decoupled media transmission system based on the Media over QUIC (MoQ) protocol, the encoder outputs the object to be transmitted. Upon arrival of each object, information acquisition is performed: the actual size of the current object, the target size, the current encoder target bitrate, and the current bandwidth estimate. Among these, the actual size of the newly arrived object... This refers to the actual amount of data generated by the encoder; the target size of the current object. The target bit rate of the current encoder Interval between object generation Decide: Current bandwidth estimate This refers to the network bandwidth currently estimated by the congestion control algorithm.
[0059] Step S2: Determine the gear level based on the current encoder target bit rate, determine the object's filling target according to the target size and the filling strategy corresponding to the gear level, and determine the target filling amount based on the filling target and actual size of each object. The filling target is the amount of target data that needs to be filled into the object.
[0060] According to an embodiment of the present invention, step S2 includes: Step S21: Obtaining at least two preset fill levels, each level corresponding to a bitrate range and a fill strategy, wherein the higher the level, the higher the lower limit of the corresponding bitrate range; Step S22: Determining the level according to the bitrate range in which the current encoder target bitrate is located; Step S23: Determining the fill ratio according to the fill strategy corresponding to the level, and determining the fill target according to the target size and the fill ratio, wherein the fill ratio decreases as the level increases; Step S24: Taking the maximum value between zero and the difference between the fill target and the actual size as the target fill amount. This method determines the target fill amount based on the deviation between the actual output object of the encoder and the target size. The fill target is divided into levels according to the bitrate level, which allows filling to the full target size at low bitrates to ensure minimum effective observation; while based on the fill ratio, filling only a certain proportion of the target size at high bitrates can save bandwidth. Therefore, the effective observation conditions of CCA are maintained when the encoder is under-adjusted, preventing the bandwidth estimation from decreasing due to insufficient sampling. The tiered design achieves a balance between ensuring the effectiveness of observation and saving bandwidth, avoiding the waste or inadequacy of the fixed padding strategy in different bit rate scenarios.
[0061] According to an optional embodiment of the present invention, if two gears are provided, the filling target can be determined in the following manner:
[0062]
[0063] in, To fill the target, For target size, The target bit rate for the current encoder, For bitrate threshold, , For fill ratio, , At low bitrates ( The object itself is small, and the amount of data remaining after underfitting is extremely small, making it almost impossible to obtain effective observations with CCA. Therefore, the padding target is set to the full target size. At high bitrates, even with under-adjustment, the object still has a certain amount of data available for CCA observation, requiring only partial supplementation (proportion). Filling in the data will maintain valid observations. Bitrate threshold. The typical value range is 1-5 Mbps. A speed of 1-2 Mbps is recommended. The value of directly affects the classification boundary of the padding tier: a larger value results in more bitrate scenarios being classified as low bitrate, increasing the padding amount and allowing for more thorough observation by the congestion control algorithm, but also increasing bandwidth overhead; a smaller value results in some low bitrate scenarios not being fully padded, leading to insufficient improvement in observation. The logic behind its value is that when the target bitrate is lower than... At this point, the object data itself is already very small, and the remaining data after encoder underfitting is extremely limited. The congestion control algorithm can hardly obtain effective network observation samples. Therefore, the padding target needs to be set to the full target size to ensure minimum observation conditions. When the target bit rate is higher than... Even with under-adjustment, the target data still retains a certain amount of valid data, requiring only proportional supplementation to maintain effective observation. In actual deployment, the preferred method is... Mbps, =0.75, experience shows that this value ensures the validity of the observations while avoiding overfilling.
[0064] The target fill volume is then determined as follows:
[0065]
[0066] in, For the target fill volume, To find the maximum value function, To fill the target, The actual size of the object. When No filling is required when; The difference is supplemented by adding extra data to the original data of the object so that the size of the data packet reaches the filling target.
[0067] It should be understood that, depending on the actual situation, implementers can set more levels, such as three, four or five or more levels, to make the filling target change more smoothly with the bitrate level.
[0068] The following example uses three gears for illustration:
[0069]
[0070] Among them, illustrative, , , .
[0071] Additionally, if preset Bitrate strategy: Bitrate 1 corresponds to the bitrate range The fill ratio is The second level corresponds to the bitrate range. The fill ratio is The third level corresponds to the bitrate range. The fill ratio is And so on, the first File corresponding bitrate range The fill ratio is ,in, > > >>...> For example, in 3D cloud rendering scenarios, the typical target bitrate range is 1 to 5 Mbps. (Based on bitrate thresholds...) Based on a base of 1.5 Mbps, and assuming there are 4 levels, the current encoder target bit rate is... =3.5 Mbps, which meets the requirements. ∈ (i.e., 3 Mbps ≤ 3.5 Mbps < 4.5 Mbps), therefore, the corresponding tier is determined to be tier 3. Of course, the upper and lower boundaries of each bitrate interval can be adjusted according to the implementer's needs, but it must satisfy the following: the higher the tier, the higher the lower limit of the corresponding bitrate interval; and the boundaries of adjacent bitrate intervals should overlap but not overlap with each other. Alternatively, the padding target can be set to be associated with link pressure or RTT, appropriately increasing the padding on high RTT links to obtain more sufficient RTT sampling.
[0072] Step S3: Determine whether to actively trigger detection enhancement based on the various triggering conditions used to enable active detection. If yes, proceed to S4; otherwise, do not interfere with the original bandwidth detection logic of the congestion control algorithm.
[0073] According to one embodiment of the present invention, the multiple triggering conditions include: a first triggering condition and a second triggering condition.
[0074] The first trigger condition is that the recent capacity utilization of the transmission network is lower than the utilization threshold. Preferably, the recent capacity utilization is the ratio of transmission rate to estimated bandwidth, the ratio of reception rate to estimated capacity, or the congestion window utilization rate. (Illustrative example: recent capacity utilization...) ( The utilization threshold indicates that network capacity has not been fully utilized recently, and there may be remaining bandwidth. The value range is (0,1), and the specific value depends on the preference for the degree of aggressiveness of the detection. The size directly affects the frequency of detection triggering: The larger the value, the more sensitive it is to the determination of insufficient capacity utilization, the more frequently the detection is triggered, and the more likely it is to find the remaining bandwidth, but the detection overhead also increases. The smaller the value, the more conservative the detection triggering, initiating detection only when capacity utilization is severely insufficient. This results in lower detection overhead but may miss some remaining bandwidth. In typical cloud rendering applications, The preferred value range is [0.8, 0.9]. This value is based on the recent capacity utilization rate. It can measure the extent to which the network's available capacity is actually being utilized in the near term; when When the signal is active, it indicates that the sending end is in an application-restricted state rather than a network-restricted state, meaning there is unused remaining capacity. Initiating a probe at this time has a high probability of discovering additional available bandwidth.
[0075] The second triggering condition is: the current object's credibility is not lower than a credibility threshold, where the current object's credibility is the ratio of the object's actual size to the target size. This is illustrative; the current object's credibility meets... ( (As a confidence threshold), ensuring that the observation data used to determine capacity utilization comes from a sufficiently large object, avoiding false triggers due to artificially low utilization caused by extremely small under-tuned frames. Confidence threshold The value range is (0,1), and the specific value depends on the requirement for the reliability of the detection trigger. It means the minimum ratio of the actual size of the object data to the target size. Object data with a ratio lower than this is considered severely under-adjusted, and the capacity utilization calculated based on it is unreliable. The larger the value, the stricter the requirement for the credibility of the object data, the more under-tuned frames are filtered out, and the more reliable the detection trigger is, but some detection opportunities may be missed. The smaller the value, the more lenient the detection triggering conditions. However, extremely under-adjusted object data may pass through the filter, resulting in falsely low capacity utilization and triggering the detection. The basis for this value is that when the encoder is severely under-adjusted, the actual size of the object data is much smaller than the target. At this time, the amount of data actually sent by the transmitter is very small, and the capacity utilization naturally shows a low value. However, this may not be due to the network having remaining capacity, but rather a false signal caused by insufficient output from the application layer. Its purpose is to filter out such unreliable observations, ensuring that probes are only triggered when there is sufficient data available.
[0076] It should be noted that the enhanced triggering of the probe should at least satisfy the first and second triggering conditions simultaneously. If both conditions are met, proceed to step S4; otherwise, skip the active probe and execute the original bandwidth probe logic of the congestion control algorithm. This avoids false triggering of probes due to falsely low utilization caused by extremely small undertuned frames, ensuring that probes are only performed when there is credible evidence that the network has remaining capacity, thus reducing unnecessary probe overhead.
[0077] According to an optional embodiment of the present invention, the implementer may further modify the triggering conditions. For example, to avoid misjudgment in a single frame, the first triggering condition may be set as follows: the recent capacity utilization of N consecutive frames is lower than the utilization threshold. Alternatively, other triggering conditions may be added, such as a third triggering condition: the time interval between the previous active detection trigger and the current triggering condition must be greater than or equal to an interval threshold constraint. This ensures that there is at least a time interval between two adjacent active detections. This is to control the detection frequency and prevent excessive active detection overhead from affecting data transmission efficiency. Optionally, multiple triggering conditions may include the first, second, and third triggering conditions above, or combinations thereof. Triggering enhanced detection / active detection should satisfy all currently set triggering conditions simultaneously.
[0078] Step S4: Modify the channel parameters of the congestion control algorithm, wherein the transmission rhythm rate is set to the target detection rate determined based on the current bandwidth estimate and the detection multiplier, and the final fill amount is set to the larger of the target fill amount and the detection expansion amount. The detection expansion amount is the difference between the target size of the detection cluster and the actual size. The target size of the detection cluster is determined based on the target detection rate and the duration of the detection cluster.
[0079] According to one embodiment of the present invention, the original bandwidth probing logic of the congestion control algorithm corresponds to a related data transmission channel. If the active probing logic of the present invention additionally sets up a related data transmission channel, it may lead to excessive additional overhead and interference. Therefore, the sending pace (Pacing) channel and padding channel of the original bandwidth probing logic of the congestion control algorithm can be reused. When active probing is triggered, the sending pace (Pacing rate) is temporarily overwritten with the detection target rate, and the padding amount is expanded to the target size of the detection cluster, without introducing an independent data transmission channel.
[0080] According to an embodiment of the present invention, step S4 includes: constructing a detection cluster, first calculating the transmission rate of the detection target:
[0081]
[0082] in, For detection magnification ( ), This is a current bandwidth estimate. For example, the current bandwidth estimate... =2Mbps, detection magnification =1.25, then the target detection rate is 1.25×2=2.5 Mbps.
[0083] Then, calculate the target size of the detection cluster:
[0084]
[0085] in, To detect the duration of the cluster.
[0086] Next, temporarily overwrite the current object's sending parameters: set the sending rate to... Expand the final fill amount to This ensures that the network usage effect of the probe clusters is consistent with expectations.
[0087] According to one embodiment of the present invention, the detection magnification and / or probe cluster duration It can be set to a fixed value; or it can be adjusted adaptively. For example, the detection rate can be dynamically adjusted based on recent capacity utilization; the lower the recent capacity utilization, the higher the detection rate. In other words, the detection rate can be dynamically adjusted according to the deviation of recent capacity utilization. The lower the capacity utilization (indicating a potentially larger remaining capacity), the lower the detection rate. A larger value indicates a more aggressive probe. Probe cluster duration. It can also be adaptively adjusted based on RTT to ensure that the probe cluster covers at least one round-trip time to obtain complete feedback. Optionally, the probe cluster duration is dynamically adjusted based on the round-trip time as follows:
[0088]
[0089] in, To detect the duration of the cluster, To find the maximum value function, This is the lower limit of the shortest duration. To ensure coverage, the duration of the probe cluster must cover at least one round-trip propagation period and not be less than the minimum duration limit. This refers to the round-trip propagation time. This is based on the fact that the probe cluster needs to cover at least one complete... Only with a certain period can the sending end receive confirmation feedback from the receiving end regarding the probe data before the probe cluster ends, thus obtaining a complete observation of the probe cluster's impact on the network. If Shorter than one The probe cluster may have been sent but the receiver has not yet returned feedback. The sender cannot determine whether the probe cluster has been absorbed by the network or has been queued, so the probe results are unreliable. When it is large, Increase proportionally; When smaller, Not less than To avoid the detection clusters being too short to be statistically meaningful.
[0090] Step S5: Based on the transmission rhythm rate and the final filling amount, send a probe cluster consisting of control object data packets and filling data packets.
[0091] According to one embodiment of the present invention, padding data is added in addition to the content of the object data packet, and the padding size is [missing information]. This yields a probe cluster containing object data packets and padding data packets, which is then transmitted at a higher cadence rate. Distribute data evenly to actively test if there is more available capacity in the network. Optionally, padding packets may not carry media content. Alternatively, padding data may carry low-priority media information (such as forward prefetch data for the next frame) to provide additional media gain while maintaining the observations required by the congestion control algorithm.
[0092] Step S6: Determine the enhanced probe bandwidth estimate based on the actual transmission rate and effective reception rate of the probe cluster.
[0093] According to one embodiment of the present invention, after the probe cluster has been sent and acknowledged by the receiver, the actual transmission rate and effective reception rate of the probe cluster are recorded. The actual transmission rate is obtained by the sender from the ratio of the total transmission volume of the probe cluster to the transmission duration; the effective reception rate is calculated from the acknowledgment information returned by the receiver, reflecting the actual probe traffic rate carried by the network. Illustratively, the enhanced probe bandwidth estimate is determined in the following manner:
[0094]
[0095] in, To find the minimum value function, This is the actual transmission rate. For effective reception rate, the probe bandwidth estimate will be enhanced. This serves as an additional bandwidth observation provided to the congestion control algorithm. The above proactive detection logic is seamlessly integrated into the per-object processing flow, maintaining architectural simplicity; the congestion control algorithm can decide whether to adopt this observation based on its own logic, and this embodiment does not interfere with the internal decision-making of the congestion control algorithm.
[0096] According to one embodiment of the present invention, the method further includes step S7: waiting for the next object to arrive and returning to step S1. This step waits for the next object to arrive and returns to step S1, and so on in a loop.
[0097] According to an embodiment of the present invention, a congestion control method is provided, comprising: obtaining an original bandwidth estimate obtained by the congestion control algorithm itself and an enhanced detection bandwidth estimate obtained by the bandwidth active detection method according to the aforementioned embodiment; determining a bandwidth estimate to be used based on the original bandwidth estimate and the enhanced detection bandwidth estimate; and adjusting the transmission rhythm rate based on the used bandwidth estimate. An example of the congestion control algorithm utilizing the enhanced detection bandwidth estimate is given below.
[0098] Example 1: Directly update or replace the current bandwidth estimate output of the congestion control algorithm. For example, the current available bandwidth estimated by CCA is too low, while the bandwidth obtained in this probe is too high. If the bandwidth is higher, and there is no significant packet loss or increased latency during the detection process, then CCA can update the current bandwidth estimate to [value missing]. , is represented as:
[0099]
[0100] in, This is the bandwidth estimate after CCA updates.
[0101] Or, will be directed to The direction is quickly adjusted upwards. This allows the subsequent transmission rate and encoder target bit rate reference to be increased to a higher level more quickly.
[0102]
[0103] in, For the updated bandwidth estimate of CCA, For the current bandwidth estimate of CCA, To enhance the detection bandwidth estimation, To increase the rate coefficient.
[0104] Example 2: Replace the detection results of the built-in probing stage of the Congestion Control Algorithm (CCA). Taking Bottleneck Bandwidth and RTT (BBR) as an example, BBR itself periodically enters the bandwidth probing stage, sending data at a higher sending rate (pacing gain), and updates its bottleneck bandwidth estimate based on the delivery rate returned by the ACK. Here, the results obtained in this invention can be... As a sample of the effective delivery rate during this probing phase, it replaces or supplements the samples obtained by the BBR itself. Subsequently, the BBR still processes the data according to its own downstream logic: it updates the bottleneck bandwidth estimate with this sample, calculates the transmission rhythm rate based on "bottleneck bandwidth × transmission rate amplification factor," and calculates the target amount of data in transit or the congestion window based on "bottleneck bandwidth × minimum RTT." Therefore, this invention only provides more reliable probing values; subsequent transmission rhythm, window control, and backoff are still handled by the BBR itself. Illustratively, the above process can be represented as:
[0105]
[0106] in, This is the estimated bottleneck bandwidth after the BBR update. (⋅) is the BBR bottleneck bandwidth update function. These are existing BBR probe samples.
[0107] BBR downstream logic:
[0108]
[0109]
[0110] in, For the transmission rhythm rate, This is the estimated bottleneck bandwidth after the BBR update. Pacing gain is the factor that amplifies the transmission rate. For the target amount of data in transit, This is the minimum round-trip propagation time.
[0111] Furthermore, the enhanced probe bandwidth estimate can be directly used for upper-layer bitrate decisions. After receiving the enhanced probe bandwidth estimate, the CCA or its external control module doesn't necessarily only update the CCA's internal state; it can also provide it to the encoder as a reference value indicating that "the current link can support a higher bitrate," directly adjusting the target bitrate to create a faster bitrate boosting channel. For example, the encoder can use this estimate to gradually increase the target bitrate from its current low level, thereby utilizing the idle bandwidth discovered by the probe more quickly.
[0112]
[0113] in, For the new target bitrate, For the current target bitrate, To increase the step size of the bit rate, This is for a safety margin.
[0114] According to one embodiment of the present invention, the fill amount calculation and detection trigger judgment used in the method of the present invention are both simple comparison and arithmetic operations, which can run as software modules on general-purpose processors, or can be embedded in FPGAs or smart network cards. The generation of fill data can be achieved by a hardware random number generator or fixed pattern fill.
[0115] According to one embodiment of the present invention, see Figure 2 A bandwidth active detection device (program) for decoupled media transmission systems is provided, comprising:
[0116] The object information awareness module is used to obtain the actual size, target size, current encoder target bitrate, and current bandwidth estimate for each object output by the encoder in the system. For example, it obtains the actual size of each new object. Target size Current encoder target bit rate and current bandwidth estimate .
[0117] The padding calculation module is used to determine the bitrate based on the current encoder target bitrate, determine the padding target for each object according to the target size and the padding strategy corresponding to the bitrate, and determine the target padding amount based on the padding target and actual size of each object. For example, based on... , , Calculate the target filling volume using preset parameters. .
[0118] The detection trigger determination module is used to determine whether to actively trigger detection enhancement based on various triggering conditions used to enable active detection. For example, based on recent capacity utilization... And the current Object's credibility Determine whether a probe has been triggered.
[0119] The probe cluster construction module is used to modify the channel parameters of the congestion control algorithm. Specifically, it sets the transmission rhythm rate to the target probe rate determined based on the current bandwidth estimate and the probe multiplier, and sets the final fill amount to the greater of the target fill amount and the probe expansion amount. The probe expansion amount is the difference between the target probe cluster size and the actual size. The target probe cluster size is determined based on the target probe rate and the probe cluster duration. For example, when a probe is triggered, the target probe rate and probe cluster size are calculated, overriding the transmission rhythm rate and fill amount parameters.
[0120] The detection result feedback module is used to determine the enhanced detection bandwidth estimate based on the actual transmission rate and effective reception rate of the detection cluster. For example, the detection bandwidth estimate is calculated after the detection cluster transmission is completed. It also provides a congestion control algorithm.
[0121] To verify the effectiveness of the method of the present invention, the inventors also conducted comparative experiments.
[0122] 1) Experimental conditions:
[0123] The experiment utilizes a trace-driven testbed built for 3D cloud rendering applications. The testbed reuses the encoder implementation and configuration of the online cloud rendering production system, running a complete real-time transport protocol stack to ensure consistency between the experimental environment and real-world deployments. Network conditions are constructed by collecting frame-by-frame bandwidth estimation traces from the online production system. These traces, collected from the online 3D cloud rendering system, cover various network access environments and congestion control algorithms (CCA), reflecting bandwidth fluctuation characteristics in real mobile networks. The testbed employs traffic control to replay each trace frame-by-frame to construct time-varying bottleneck links, making network conditions controllable and reproducible. The basic round-trip time (RTT) is fixed at 15 milliseconds (ms). All comparison schemes are evaluated on the same trace dataset containing over 30,000 independent sessions to ensure statistical significance and fairness.
[0124] 2) Comparison Scheme
[0125] Three state-of-the-art (SOTA) real-time communication congestion control algorithms were selected, and their effects were compared with those of their original solutions and those of the solution proposed in this invention:
[0126] Google Congestion Control (GCC): The congestion control algorithm (CCA) built into Web Real-Time Communication (WebRTC) estimates available bandwidth based on a joint estimation of latency gradient and packet loss rate.
[0127] Scalable Quality Probing (SQP): A congestion control algorithm (CCA) that updates the target rate frame by frame based on bandwidth sampling, representing state-of-the-art (SOTA) performance in real-time communication scenarios.
[0128] Pudica: A congestion control algorithm (CCA) designed for near-zero queuing latency in cloud gaming, with bandwidth utilization as the core signal.
[0129] 3) Evaluation Indicators
[0130] Average bitrate: The average rate at which the client receives media data, reflecting media quality; the higher the better.
[0131] Deadline Miss Ratio: The percentage of frames with a delay exceeding 150 milliseconds (ms). It reflects the degree of real-time performance guarantee for user experience, and the lower the better.
[0132] 90th / 95th / 99th Percentile Latency: The 90th, 95th, and 99th percentiles of the time elapsed from frame encoding completion to client reception completion, reflecting the delivery delay of the tail frame; the lower the better.
[0133] 4) Comparison Results
[0134] The table below shows the performance comparison of three congestion control algorithms (CCA) before and after the addition of this invention, with the percentage representing the change relative to their respective baselines.
[0135] Table 1
[0136]
[0137] Table 2
[0138]
[0139] Table 3
[0140]
[0141] As can be seen, after applying the solution of this invention, the bitrate and overrun rate of the three CCAs are comprehensively improved. Among them, GCC shows the most significant improvement in bitrate (+147.5%), while Pudica shows the largest decrease in overrun rate (-69.1%). Regarding tail latency, the 99th percentile latency of all three CCAs decreases significantly: GCC from 183.76ms to 97.71ms (-46.8%), SQP from 128.80ms to 73.79ms (-42.7%), and Pudica from 106.47ms to 89.53ms (-15.9%). The 90th percentile latency of GCC increases slightly (+3.5%). This is because GCC's base bitrate is extremely low (1.22 Mbps), and after applying the solution of this invention, the bitrate increases to 3.02 Mbps (+147.5%), resulting in a significant increase in the amount of data transmitted. This has a slight impact on the mid-to-low percentile latency, which is within a normal and reasonable range. Significant improvements were observed at the 95th percentile and above, demonstrating the design goal of this invention, which focuses on tail optimization.
[0142] In summary, compared to existing technologies, this invention introduces actual coding behavior information from the application layer (actual object size, target size, capacity utilization, etc.) into the transport layer's observation quality maintenance and probing decisions, filling the gap in the decoupled architecture where the transport layer is unaware of application behavior. The sampling fidelity enhancement mechanism ensures that CCA can still obtain effective observation samples even when the encoder is undertuned, preventing bandwidth estimation from decreasing due to insufficient sampling. The conditional active probing mechanism actively probes when there is credible evidence that the network has remaining capacity, helping CCA to discover and utilize available bandwidth more quickly. Both mechanisms do not modify the core logic of CCA and can be superimposed on any CCA and run independently.
[0143] It should be noted that although the steps are described in a specific order above, it does not mean that the steps must be executed in the above specific order. In fact, some of these steps can be executed concurrently, or even in a different order, as long as the required function can be achieved.
[0144] This invention can be a system, method, electronic device, computing device, computer program product and / or computer-readable medium.
[0145] Computer program products mainly refer to software products that implement various aspects of the present invention through computer programs, or hardware products that carry software that implements various aspects of the present invention.
[0146] Computer-readable storage media can be tangible devices that hold and store instructions for use by an instruction execution device. Computer-readable storage media can include, for example, but not limited to, 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 or flash memory), static random access memory (SRAM), portable compact disc read-only memory (CD-ROM), digital multifunction disc (DVD), memory sticks, floppy disks, mechanical encoding devices, such as punch cards or recessed protrusions storing instructions thereon, and any suitable combination thereof.
[0147] The various embodiments of the present invention have been described above. These descriptions are exemplary and not exhaustive, nor are they 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 technical improvements to the embodiments in the market, or to enable others skilled in the art to understand the embodiments disclosed herein.
Claims
1. A method for active bandwidth detection in a decoupled media transmission system, comprising the following steps: S1: For each object output by the encoder in this system, obtain the actual size, target size, current encoder target bitrate, and current bandwidth estimate of each object; S2: Determine the gear level based on the current encoder target bit rate, determine the object's filling target according to the target size and the filling strategy corresponding to the gear level, and determine the target filling amount based on the filling target and actual size of each object. The filling target is the amount of target data that needs to be filled into the object. S3: Determine whether to actively trigger enhanced detection based on the various triggering conditions used to enable active detection. If yes, execute S4 to S6; otherwise, do not adjust the original bandwidth detection logic of the congestion control algorithm. S4: Modify the channel parameters of the congestion control algorithm, whereby the transmission rhythm rate is set to the target detection rate determined based on the current bandwidth estimate and the detection multiplier, and the final fill amount is set to the larger of the target fill amount and the detection expansion amount. The detection expansion amount is the difference between the target size of the detection cluster and the actual size. The target size of the detection cluster is determined based on the target detection rate and the duration of the detection cluster. S5: Control the transmission of probe clusters based on the transmission rhythm rate and the final padding amount. Probe clusters include object data packets and padding data packets. S6: Determine the enhanced probe bandwidth estimate based on the actual transmit rate and effective receive rate of the probe cluster.
2. The method according to claim 1, characterized in that, Step S2 includes: S21: Obtain at least two preset padding levels, each level corresponding to a bitrate range and padding strategy. The higher the level, the higher the lower limit of the corresponding bitrate range. S22: Determine the appropriate gear based on the current target bit rate range of the encoder; S23: Determine the filling ratio according to the filling strategy corresponding to the gear, and determine the filling target according to the target size and the filling ratio. The filling ratio decreases as the gear increases. S24: Take the maximum value between zero and the difference between the target size and the actual size as the target fill amount.
3. The method according to claim 2, characterized in that, Two gear positions are set, and the filling target is determined as follows: in, To fill the target, For target size, The target bit rate for the current encoder, For bitrate threshold, , For fill ratio, , .
4. The method according to claim 1, characterized in that, The various triggering conditions include: First trigger condition: The recent capacity utilization of the transmission network is lower than the utilization threshold; The second triggering condition is that the credibility of the current object is not lower than the credibility threshold, where the credibility of the current object is the ratio of the actual size of the object to the target size. Among them, the enhanced trigger detection should at least satisfy the first and second trigger conditions simultaneously.
5. The method according to claim 4, characterized in that, The recent capacity utilization is defined as: the ratio of transmission rate to estimated bandwidth, the ratio of reception rate to estimated capacity, or the congestion window utilization rate.
6. The method according to claim 5, characterized in that, The detection ratio is dynamically adjusted based on recent capacity utilization; the lower the recent capacity utilization, the higher the detection ratio.
7. The method according to any one of claims 1 to 6, characterized in that, The duration of the detection cluster is dynamically adjusted based on the round-trip propagation time: in, To detect the duration of the cluster, To find the maximum value function, This is the lower limit of the shortest duration. To ensure coverage, the duration of the probe cluster must cover at least one round-trip propagation period and not be less than the minimum duration limit. This refers to the round-trip transmission time.
8. A congestion control method, comprising: Obtain the original bandwidth estimate obtained by the congestion control algorithm itself and the enhanced probe bandwidth estimate obtained by the method according to any one of claims 1-7; Based on the original bandwidth estimate and the enhanced detection bandwidth estimate, the bandwidth estimate to be used is determined; Adjust the transmission rate based on the bandwidth estimate used.
9. A computer device / apparatus / system, comprising a memory, a processor, and a computer program / instructions stored in the memory, wherein the processor executes the computer program / instructions to implement the steps of the method according to any one of claims 1-8.
10. A computer program product comprising a computer program / instructions that, when executed by a processor, implement the steps of the method according to any one of claims 1-8.