An edge computing-based video transmission adaptive bandwidth allocation system
Patent Information
- Application Number
- CN202610792422.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-06-03
- Publication Date
- 2026-09-25
AI Technical Summary
[0004]因此,现有仅基于平均码率或者单流状态进行带宽分配的方案,难以同时描述关键帧突发、释队展开、跨流竞争和时隙峰值之间的耦合关系
[0007]本发明的有益效果在于:本发明围绕关键帧突发经边缘释队后形成的短时聚展风险建立带宽分配链路,先以基础负载、关键帧比特、帧波动度和发包常数刻画单流状态,再以释放密度、全局时隙负载、竞争图拓扑和图时序模型描述跨流竞争关系,最后输出分配带宽、调度配额和发送间隔。由此,系统能够在保证基础负载的前提下,对位于风险中心的流给予更合适的弹性资源配置,并使总分配结果受总带宽预算约束,便于边缘发送器直接执行。
Smart Images

Figure CN122824947A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of video transmission optimization technology, and more specifically, to an adaptive bandwidth allocation system for video transmission based on edge computing. Background Technology
[0002] With the increasing application of edge computing nodes in scenarios such as video consultation, remote teaching, and multi-channel real-time collaboration, it has become a common deployment method for multiple video streams to converge through the same edge node and share the same access bandwidth. Existing systems typically control bandwidth based on historical average throughput, average bitrate, or static priority. These methods can meet basic allocation requirements when the service load is relatively stable, but in low-latency video services, average statistics often fail to reflect instantaneous changes within the control window.
[0003] In actual video transmission, keyframes are typically significantly larger than ordinary predicted frames. Furthermore, if multiple terminals use similar coding templates, frame rate templates, and transmission frequencies, cross-stream superposition can easily occur after convergence at edge nodes. Simultaneously, when edge nodes reshape the encoded output and map it to discrete time slots on the access side, the original frame-level bursts will expand over time through a dequeueing process. The resulting short-term peaks may not necessarily manifest as average bandwidth exhaustion, but they could exceed the access side's capacity in individual time slots, leading to problems such as queue length increases, latency jitter, and frame deadline violations.
[0004] Therefore, existing bandwidth allocation schemes based solely on average bitrate or single-stream status struggle to simultaneously describe the coupling relationships between keyframe bursts, queue unwinding, cross-stream contention, and time slot peaks. This leads to issues such as momentary stream compression, transmission rhythm imbalance, and decreased viewing continuity, even when the system still has a margin of safety in the total average bandwidth. In other words, establishing a short-term risk-aware bandwidth allocation mechanism at edge nodes for multi-stream homogeneous convergence scenarios has become a pressing technical problem. Summary of the Invention
[0005] This invention provides an adaptive bandwidth allocation system for video transmission based on edge computing, which solves the technical problems mentioned in the background.
[0006] This invention provides an edge computing-based adaptive bandwidth allocation system for video transmission, comprising: The data extraction module extracts control window duration, base load, keyframe bits, frame fluctuation, packet transmission constant, isomorphism factor, access domain identifier, average packet length, and total bandwidth budget. The time slot load calculation module generates release density based on key frame bits and packet sending constant, integrates release density within time slot and accumulates basic load to obtain single-stream time slot load, accumulates single-stream time slot load to obtain global time slot load, and calculates clustering coefficient by combining isomorphism factor and global time slot load. The node feature construction module divides the single-stream timeslot load by the global timeslot load to obtain the load participation degree. Based on the single-stream timeslot load, the global timeslot load, and the access domain identifier, it establishes a contention graph topology and combines the basic load, key frame bits, frame fluctuation, packet transmission constant, load participation, and clustering coefficient to form node features. The competition graph analysis module inputs the competition graph topology and node characteristics into the graph time series model and outputs the expected bandwidth and risk propensity coefficient. The retention weight calculation module calculates the retention weight based on the base load, keyframe bits, load participation, control window duration, and clustering coefficient. The bandwidth allocation calculation module adjusts the expected bandwidth based on the aggregation coefficient and risk tendency coefficient to obtain the corrected demand, accumulates the basic load to obtain the global basic load, deducts the global basic load from the total bandwidth budget to obtain the elastic bandwidth, and divides the elastic bandwidth according to the product ratio of the retention weight and the corrected demand and adds the basic load to obtain the allocated bandwidth. The bandwidth allocation scheduling module multiplies the allocated bandwidth by the control window duration to output the scheduling quota, and divides the average packet length by the allocated bandwidth to output the transmission interval.
[0007] The beneficial effects of this invention are as follows: This invention establishes a bandwidth allocation link around the short-term clustering risk formed after keyframe bursts are released at the edge. First, it characterizes the single-stream state using basic load, keyframe bits, frame volatility, and packet constant. Then, it describes the cross-stream competition relationship using release density, global slot load, competition graph topology, and graph timing model. Finally, it outputs the allocated bandwidth, scheduling quota, and transmission interval. Therefore, the system can provide more suitable elastic resource allocation to the flow located at the risk center while ensuring basic load, and the total allocation result is constrained by the total bandwidth budget, facilitating direct execution by the edge transmitter. Attached Figure Description
[0008] Figure 1 This is a flowchart of the calculation process of an edge computing-based adaptive bandwidth allocation system for video transmission according to the present invention. Figure 2 This is the time slot load evolution diagram of the present invention; Figure 3 This is the model output relationship diagram of the present invention; Figure 4 This is a diagram showing the allocation results of the present invention. Detailed Implementation
[0009] The subject matter described herein will now be discussed with reference to exemplary embodiments. It should be understood that these embodiments are discussed only to enable those skilled in the art to better understand and implement the subject matter described herein, and changes may be made to the function and arrangement of the elements discussed without departing from the scope of this specification. Various processes or components may be omitted, substituted, or added as needed in the examples. Furthermore, features described in some examples may be combined in other examples.
[0010] It should be noted that, unless otherwise defined, the technical or scientific terms used in one or more embodiments of the present invention should have the ordinary meaning understood by one of ordinary skill in the art to which this invention pertains. The terms "first," "second," and similar terms used in one or more embodiments of the present invention do not indicate any order, quantity, or importance, but are merely used to distinguish different components. Terms such as "comprising" or "including" indicate that the element or object preceding the term encompasses the elements or objects listed following the term and their equivalents, without excluding other elements or objects. Terms such as "connected" or "linked" are not limited to physical or mechanical connections, but can include electrical connections, whether direct or indirect. Terms such as "upper," "lower," "left," and "right" are used only to indicate relative positional relationships; when the absolute position of the described object changes, the relative positional relationship may also change accordingly.
[0011] like Figures 1-4 As shown, an edge computing-based adaptive bandwidth allocation system for video transmission includes: The data extraction module extracts control window duration, base load, keyframe bits, frame fluctuation, packet transmission constant, isomorphism factor, access domain identifier, average packet length, and total bandwidth budget. The time slot load calculation module generates release density based on key frame bits and packet sending constant, integrates release density within time slot and accumulates basic load to obtain single-stream time slot load, accumulates single-stream time slot load to obtain global time slot load, and calculates clustering coefficient by combining isomorphism factor and global time slot load. The node feature construction module divides the single-stream timeslot load by the global timeslot load to obtain the load participation degree. Based on the single-stream timeslot load, the global timeslot load, and the access domain identifier, it establishes a contention graph topology and combines the basic load, key frame bits, frame fluctuation, packet transmission constant, load participation, and clustering coefficient to form node features. The competition graph analysis module inputs the competition graph topology and node characteristics into the graph time series model and outputs the expected bandwidth and risk propensity coefficient. The retention weight calculation module calculates the retention weight based on the base load, keyframe bits, load participation, control window duration, and clustering coefficient. The bandwidth allocation calculation module adjusts the expected bandwidth based on the aggregation coefficient and risk tendency coefficient to obtain the corrected demand, accumulates the basic load to obtain the global basic load, deducts the global basic load from the total bandwidth budget to obtain the elastic bandwidth, and divides the elastic bandwidth according to the product ratio of the retention weight and the corrected demand and adds the basic load to obtain the allocated bandwidth. The bandwidth allocation scheduling module multiplies the allocated bandwidth by the control window duration to output the scheduling quota, and divides the average packet length by the allocated bandwidth to output the transmission interval.
[0012] It should be noted that the subscripts in the following calculation formulas have the following interpretations: Indicates the first Video stream; represented in the contention graph topology as the first... The graph nodes corresponding to the video stream.
[0013] Indicates the first Video stream; represented in the contention graph topology as the first... The graph node corresponding to another video stream that constitutes a competitive relationship between the video streams.
[0014] Indicates the first The frame number of the video stream within the current control window.
[0015] Indicates the first The video stream is the first one in the current control window. The previous frame.
[0016] This indicates the time slot number within the control window.
[0017] This represents the index of the neighboring node traversed when the attention weights are normalized.
[0018] Indicates the first Road video stream and the first Competition graph topology between video streams.
[0019] Indicates the first The video stream in the current control window is the first frame.
[0020] Indicates the first The video stream is in the first The corresponding quantity within each time slot.
[0021] exist The value in the middle indicates the duration of the control window.
[0022] exist , The middle layer represents the output layer.
[0023] This represents the final output value, where Indicates the first The final allocated bandwidth for the video stream. Indicates the first Output scheduling quota for video streams Indicates the first The output transmission interval of the video stream.
[0024] Indicates the first The hidden state of the duration of the previous control window corresponding to each node.
[0025] Indicates the first The packet transmission clock gain coefficient corresponding to the video stream.
[0026] This represents the coefficient of variation, corresponding to the coefficient of variation of image group length, frame rate, and packet constant.
[0027] Indicates the first The video stream is the first one in the current control window. Keyframe arrival time; when the first frame arrives. When a frame is not a keyframe, the corresponding item is masked by the keyframe marker.
[0028] In one embodiment of the present invention, the extraction of control window duration, base load, keyframe bits, frame fluctuation, packet transmission constant, isomorphism factor, access domain identifier, average packet length, and total bandwidth budget includes: Based on the control window duration, keyframe markers, and frame bit count, the formula for calculating the base load is as follows: ; in, Indicates the base load. Indicates the duration of the control window. Indicates the frame number. Indicates keyframe markers, Indicates the number of frames in bits; Based on the keyframe markers and frame bit count, the formula for calculating keyframe bits is as follows: ; in, Indicates keyframe bits, Indicates the frame number. Indicates keyframe markers, Indicates the number of frames in bits; The formula for calculating frame fluctuation, based on the control window duration and frame bit count, is as follows: ; in, Indicates frame variability. Indicates the duration of the control window. Indicates the total number of frames. Indicates the number of frames in bits. Indicates the number of frames in the previous frame; The formula for calculating the packet transmission constant is as follows, based on the smooth round-trip time, average packet length, gain coefficient, and congestion window: ; in, Represents the packet sending constant. Indicates the smooth round-trip time. Indicates the average package length. Indicates the gain coefficient. Indicates the congestion window; The formula for calculating the isomorphism factor is as follows, based on the coefficient of variation of image group length, frame rate, and packet constant: ; in, Indicates isomorphism factor, Represents the coefficient of variation of image group length. Represents the frame rate variation coefficient. This represents the coefficient of variation of the packet sending constant.
[0029] It should be noted that the control window duration is the length of the time window used by the edge node to perform one feature extraction, state inference, and bandwidth allocation. A preferred value is 100 to 500 milliseconds, with 200 milliseconds being more preferred. This range covers multiple consecutive video frames without making the burst of keyframes too smooth, thus balancing sensitivity and computational stability. The access domain identifier is the identification information representing the radio access contention domain or scheduling domain to which the video stream belongs. It can be obtained from the session context of the radio access controller, the access point association table, the base station bearer relationship table, or the flow registry of the edge node. The average packet length is the average length of a single data packet in the current video stream within the statistical window. It can be obtained through the packet encapsulation module, the socket transmission statistics interface, the transmission message mirroring module, or the edge-side message analyzer. The total bandwidth budget is the upper limit of the total bandwidth allowed to be allocated to all independent video streams within the current control window. It can be obtained through the available resource reporting interface of the radio access scheduler, the link capacity estimation module, or the bandwidth budget management module of the edge node. Frame bit count refers to the number of bits corresponding to a single coded frame, which can be obtained through the video encoder output statistics interface, the container frame length field, or the byte count of inbound frames at the edge nodes. Keyframe markers are identifiers used to distinguish whether the current frame is a keyframe, and can be extracted from encoder metadata, the bitstream header information parsing module, video container header fields, or the frame type index table.
[0030] It should be noted that the smoothed round-trip time is a delay statistic obtained by smoothing the round-trip delay samples. It can be obtained through the acknowledgment message statistics interface of the transmission protocol stack, the round-trip delay estimation module, or the congestion control status export interface. The congestion window is the upper limit of the amount of data allowed to remain in transit at the current moment on the sending side. It can be obtained through the congestion control module status interface, internal statistics of the transmission protocol stack, or the telemetry interface during edge node transmitter operation. The gain coefficient is a transmission gain used to adjust the tightness of the packet transmission clock. A preferred value is 1.0 to 1.5, more preferably 1.25. Too small a value will result in slow clock release and amplify queuing residue, while too large a value will weaken the queuing smoothing effect. Therefore, a configuration close to 1 with a slight response margin is preferred. The image group length variation coefficient is the ratio of the standard deviation to the mean of the image group length in the entire video stream or multiple consecutive control windows. The frame rate variation coefficient is the ratio of the standard deviation to the mean of the frame rate in the entire video stream or multiple consecutive control windows. The packet constant variation coefficient is the ratio of the standard deviation to the mean of the packet constant in the entire video stream or multiple consecutive control windows. Constant 1 is a fixed constant used when filtering keyframes, constructing the reciprocal, and adjusting the denominator. The difference term is an intermediate result obtained by subtracting the keyframe marker from constant 1, used to retain non-keyframes and mask keyframes. The non-keyframe bit amount is the non-keyframe bit contribution obtained by multiplying the difference term by the frame bit amount.
[0031] It should be noted that the first accumulated value is an intermediate statistic formed by accumulating the bit amounts of all non-keyframes within the control window. The base load is the background load intensity obtained by dividing the total non-keyframe bits within the control window by the control window duration. The keyframe burst amount is the keyframe burst contribution obtained by multiplying the keyframe marker by the frame bit amount. The keyframe bits are the total keyframe bit amount obtained by accumulating the keyframe burst amounts within the control window. The second accumulated value is an intermediate statistic formed by accumulating the absolute values of the differences in bit amounts between adjacent frames within the control window. The frame volatility is the frame-level volatility intensity obtained by dividing the second accumulated value by the control window duration. The first product is an intermediate quantity obtained by multiplying the smoothed round-trip time by the average packet length. The second product is an intermediate quantity obtained by multiplying the gain coefficient by the congestion window. The packet transmission constant is the quantized result of the transmission clock time constant obtained by dividing the first product by the second product. The summation term is an intermediate quantity formed by adding constant one, the coefficient of variation of image group length, the coefficient of variation of frame rate, and the coefficient of variation of packet transmission constant. The isomorphism factor is the terminal isomorphism quantification result obtained by taking the reciprocal of the summation term. The frame number is the sequence index of the video frames in the current control window according to their chronological order. The total number of frames is the total number of video frames included in the calculation within the current control window.
[0032] It should be noted that the control window duration is set by pre-setting a fixed control window in the edge node scheduling module, allowing for adaptive adjustment based on link stability. The preferred default control window is 200 milliseconds. When the smoothing round-trip time continuously increases and the peak-to-average power ratio (PAPR) of time slots increases, the control window is extended to 300 to 500 milliseconds. When the smoothing round-trip time is low and increased burst response sensitivity is required, the control window is shrunk to 100 to 200 milliseconds. This avoids the bursts being averaged out due to an excessively long control window, and also avoids the samples being overly sensitive due to an excessively short control window. The access domain identifier is determined by using the smallest contention unit of the actual shared wireless scheduling resources as the access domain, and assigning a unique domain code to each video stream. If the system access side is a wireless access point, the access point identifier is used as the access domain identifier; if the system access side is a base station cell or uplink resource pool, the cell identifier or resource pool identifier is used as the access domain identifier. The edge node writes this identifier into the session context during stream registration, and it is directly called during subsequent graph topology construction.
[0033] It should be noted that the average packet length is calculated by summing the packet lengths of the data packets sent by the video stream within the current control window or multiple consecutive control windows and dividing by the number of packets. Preferably, a moving average of the most recent one to five control windows is used to reduce the impact of occasional excessively large or small packets on the results. If the number of packets in the current control window is insufficient, the statistical value from the previous control window can be used as a fallback. The total bandwidth budget is obtained by the edge node reading the current bandwidth limit available for video services from the access controller or link capacity estimation module and updating it according to the control window. Preferably, the theoretically available bandwidth is first estimated based on the available resource blocks on the wireless side, the scheduling period, and the most recent acknowledgment throughput, and then multiplied by a safety reduction factor of 0.7 to 0.9 to form the total bandwidth budget, in order to reserve margin for control messages, retransmissions, and protocol overhead. The gain coefficient is configured by presetting the gain coefficient in the transmission clock control module and allowing small-range adjustment based on the historical queue length; the preferred initial value is 1.25, which can be lowered to 1.0 to 1.1 when the edge transmission queue continues to rise, and can be increased to 1.3 to 1.5 when the link is idle and releases too slowly, but the step size of a single adjustment should preferably not exceed 0.05 to avoid clock oscillation.
[0034] Specifically, keyframes are often the main source of short-term queue expansion and instantaneous bit spikes. Therefore, multiplying the keyframe marker by the frame bit count and then summing them up allows for the independent extraction of the true burst from the background of ordinary frames. That is, subsequent release density modeling only attenuates and expands keyframe pulses, and does not treat all frames as equally bursty. The instability of video load is not only reflected in the keyframe size, but also in the degree of jump between adjacent frames. Therefore, taking the absolute value of the difference in bit count between adjacent frames and averaging it within a control window can construct frame variability. The larger this value is, the stronger the current video stream's image motion, scene switching, or encoding adaptation, and the less likely subsequent release temporal modeling can rely solely on the average value. Furthermore, the speed of queuing release on the sending side is affected by round-trip time, average packet length, congestion window, and clock speed gain. Therefore, the packet sending constant cannot be determined by a single quantity. Instead, it should be quantified by smoothing the round-trip time by multiplying the average packet length and then dividing by the product of the gain coefficient and the congestion window. Thus, the larger the round-trip time or the longer the average packet length, the larger the packet sending constant will be; the larger the congestion window or the higher the gain coefficient, the smaller the packet sending constant will be.
[0035] In one embodiment of the present invention, a release density is generated based on keyframe bits and packet transmission constants. The release density is integrated within a time slot, and the base load is accumulated to obtain a single-stream time slot load. The single-stream time slot loads are then accumulated to obtain a global time slot load. A clustering coefficient is calculated by combining the isomorphism factor and the global time slot load, including: The formula for calculating the release density is as follows, based on the keyframe marker, frame bit count, packet transmission constant, time variable, and keyframe arrival time: ; in, Indicates release density, Indicates the frame number. Indicates keyframe markers, Indicates the number of frames in bits. Represents the packet sending constant. Represents a time variable. Indicates the arrival time of the keyframe. Represents the natural constant. This is an indicator function that takes a value of one when the time variable is greater than or equal to the keyframe arrival time, and a value of zero otherwise. The formula for calculating the single-stream time slot load is as follows, based on the release density, base load, and time slot width: ; in, Indicates a single-stream time-slot load. Indicates the time slot number, Indicates the time slot width. Indicates release density, Represents a time variable. Indicates the base load; The formula for calculating the global timeslot load based on the single-stream timeslot load is as follows: ; in, Indicates global timeslot load. Indicates the number of video streams. Indicates a single-stream time-slot load; The formula for calculating the clustering coefficient based on the isomorphism factor, global time slot load, and number of time slots is as follows: ; in, Represents the aggregation coefficient. Indicates isomorphism factor, Indicates the peak global load. Indicates the number of time slots. This indicates the global time slot load.
[0036] It should be noted that the time variable is the calculation time axis value used to describe the evolution of release density over time. The preferred value is a discrete time sampling point with the control window starting at zero and increasing in 1-millisecond steps. This 1-millisecond sampling balances temporal integration accuracy and the online computational overhead of edge nodes, making it suitable for rapid updates within the control window. The keyframe arrival time is the timestamp corresponding to when the keyframe enters the edge node or the release queue modeling module. It can be obtained through the edge node inbound timestamp module, the frame queue inbound time recorder, or the time stamp interface of the video stream session manager. The time difference is the time interval obtained by subtracting the keyframe arrival time from the time variable. The attenuation exponent is the exponential term formed by dividing the time difference by the packet sending constant and taking the negative. The attenuation term is the attenuation coefficient calculated with the natural constant as the base and the attenuation exponent as the exponent. The indicator term is a causal switch quantity used to determine whether the time variable has exceeded the keyframe arrival time. The product term is an intermediate quantity obtained by continuously multiplying the keyframe marker, frame bit quantity, attenuation term, and indicator term.
[0037] It should be noted that release density is the time-varying release intensity formed by the expansion of keyframe bursts on the control window time axis under packet constant constraints. Slot width is the duration of a single slot when the control window is discretized into multiple slots, preferably between 2 and 10 milliseconds, more preferably 5 milliseconds. This range maintains slot resolution while avoiding excessive computation due to overly fine discretization, and also facilitates alignment with the wireless scheduling cycle. Slot integral is the load obtained by integrating the release density over time within a slot interval. Base load compensation is the steady-state load compensation obtained by multiplying the base load by the slot width. Single-stream slot load is the slot load of a single video stream obtained by adding the slot integral and the base load compensation. Global slot load is the global load obtained by summing the single-stream slot loads of all video streams within the same slot. Global load peak is the maximum value among all global slot loads. Global load sum is the sum of all global slot loads. Number of slots is the number of slots divided within a control window. The peak-to-average load ratio (PAPR) is the ratio between the peak global load and the average global load. The clustering and expansion coefficient is the global clustering and expansion risk obtained by multiplying the isomorphism factor by the PAPR. The number of video streams is the total number of independent video streams currently participating in bandwidth allocation. The slot number is the sequential index of the slots within the control window, formed according to their chronological order.
[0038] It should be noted that the time variable is discretized by establishing a discrete time grid within each control window, with the starting point being the start time of the control window and the ending point being the end time of the control window. The step size is preferably 1 millisecond or an integer fraction of the time slot width. The release density is calculated on the discrete grid, and the time slot integration is approximated by accumulating grid points. The time slot width is set based on the access-side scheduling granularity or the edge shaping period. If the system uses a fixed wireless scheduling period, the time slot width is preferably the same as or an integer multiple of that scheduling period. If the system scheduling period is variable, the time slot width is preferably set to 5 milliseconds, and a calibration is performed once at the beginning of each control window according to the current scheduling configuration. The time slot integration is implemented by performing numerical integration on the release density samples within each time slot interval, preferably using the rectangular integration method or the trapezoidal integration method. If the time step is 1 millisecond and the time slot width is 5 milliseconds, the integration can be completed by directly summing the 5 discrete sampling points and multiplying by the step size. If the arrival time of the keyframe falls exactly between the time slot boundaries, the edge nodes truncate and compensate the first and last samples according to the actual time difference. In addition, when the control window duration cannot be divided by the time slot width, the last incomplete time slot is treated as a valid time slot, and the actual remaining time length is used instead of the full time slot width for integration and compensation calculation; this can avoid directly discarding the last sample and causing the load to be underestimated.
[0039] Specifically, keyframes arriving at edge nodes are typically not released to the link all at once, but rather gradually under the constraint of packet constants. Therefore, a release density needs to be constructed using keyframe markers, frame bit count, keyframe arrival time, and packet constants. This release density essentially rewrites keyframe bursts from point events into a temporal decay process, allowing the system to see the actual service pressure after queuing is released, rather than just the pulse at the original arrival time. Furthermore, because multi-stream contention risk stems from the superposition of all video streams within the same time slot, rather than an isolated peak of a single stream, it is necessary to accumulate the time slot load of all single-stream streams along the time slot dimension to form a global time slot load. The sharper the global time slot load, the more likely there is insufficient link capacity, queuing extension, and frame deadline violation within that time slot.
[0040] In one embodiment of the present invention, the load participation is obtained by dividing the single-stream time slot load by the global time slot load. A contention graph topology is established based on the single-stream time slot load, the global time slot load, and the access domain identifier. Node characteristics are constructed by combining the base load, keyframe bits, frame variability, packet transmission constant, load participation, and clustering coefficient, including: Based on the single-stream timeslot load, the global timeslot load, and the number of timeslots, the formula for calculating load participation is as follows: ; in, Indicates load participation. Indicates the number of time slots. Indicates the time slot number, Indicates a single-stream time-slot load. Indicates global timeslot load. Represents a very small positive number; Based on the first single-stream timeslot load, the second single-stream timeslot load, the global timeslot load, the first access domain identifier, the second access domain identifier, and the number of timeslots, the calculation formula for the contention graph topology is as follows: ; in, The adjacency weight element represents the topology of the competing graph. This indicates the load of the first single-stream time slot. Indicates the second single-stream time slot load. Indicates the first access domain identifier. Indicates the second access domain identifier. This indicates a domain indicator variable that takes a value of one when the first access domain identifier matches the second access domain identifier, and a value of zero otherwise. The calculation formulas for node characteristics, based on base load, keyframe bits, control window duration, frame fluctuation, packet transmission constant, load participation, and clustering coefficient, are as follows: ; in, Representing node characteristics, Indicates the base load. Indicates keyframe bits, Indicates the duration of the control window. Indicates frame variability. Represents the packet sending constant. Indicates load participation. This represents the aggregation coefficient.
[0041] It should be noted that the minimum positive number is a positive value introduced to stabilize the value and avoid a denominator that is zero or too small. The preferred value is between 0.000001 and 0.001, with 0.0001 being more preferred. This is to suppress the numerical amplification caused by zero or minimum denominators without significantly altering the proportional relationship. The smoothed global time slot load is the smoothed denominator obtained by adding the minimum positive number to the global time slot load. The time slot proportional component is the relative proportion obtained by dividing the single-stream time slot load by the smoothed global time slot load. The proportional component sum is the sum of the time slot proportional components of all time slots. The load participation is the average single-stream participation obtained by dividing the proportional component sum by the number of time slots. The cross-load product is the product of the single-stream time slot loads of the first and second video streams in the same time slot. The smoothed square term is the normalized denominator obtained by squaring the smoothed global time slot load. The cross proportional component is the normalized cross-correlation value obtained by dividing the cross-load product by the smoothed square term. The cross-proportion sum is the sum of the cross-proportion components of all time slots. The average cross term is the average cross-competition strength between the two streams, obtained by dividing the cross-proportion sum by the number of time slots. The domain indicator variable is a binary quantity used to characterize whether the access domain identifiers of the two video streams are consistent. The adjacency weight element is the graph edge weight obtained by adding the average cross term and the domain indicator variable. The competition graph topology is a multi-stream competition relationship graph structure composed of all adjacency weight elements. The burst mean is the average burst strength obtained by dividing the keyframe bits by the control window duration. Node features are the graph node input features formed by concatenating the vectors of base load, burst mean, frame fluctuation, packet constant, load participation, and clustering coefficient.
[0042] It should be noted that the minimum positive number is set based on the load magnitude participating in normalization, preferably by more than three orders of magnitude smaller than the typical global timeslot load. If the load is in megabits, 0.0001 is preferred. If the load is in bits and the magnitude is very large, unit scaling can be performed before normalization to keep the minimum positive number at a magnitude that does not change the relative size relationship. The access domain consistency is determined by maintaining an access domain mapping table for each video stream at the edge node. The table entries include at least the stream identifier, access point or cell identifier, uplink resource domain identifier, and update time. When constructing the graph topology, if the access domain codes of two video streams are the same, the domain indicator variable is set to one; otherwise, it is set to zero. If there is an access handover in the system, the code is refreshed in the next control window after the handover takes effect. The competitive graph topology is constructed by treating each video stream as a graph node and using the adjacency weights between any two video streams as graph edge weights. An undirected graph structure is preferred, where the edge weights between two video streams are symmetrically stored. Additionally, it is preferable to add self-connections to each node, with the self-connection weight set to 1 or the average of the node's adjacency weights, to enhance the retention of the node's own state in the aggregation.
[0043] It should be noted that the dynamic flow set graph topology update method is to rescan the active flow list at the beginning of each control window. Newly added flows create new nodes and immediately calculate their adjacency weights with existing nodes. For departing flows, the corresponding nodes and related edges are deleted. If the number of active flows in a certain control window is only 1, the competitive graph topology degenerates into a single-node self-connected graph, and the load participation is still calculated according to the ratio of that single flow to the global time slot load. In addition, the normalization method before the node features are input to the graph model is to perform offline statistics or online sliding statistics on the base load, burst mean, frame fluctuation, packet sending constant, load participation, and clustering coefficient, and use mean-variance normalization or maximum-minimum normalization. The normalization parameters are preferably fixed in the model deployment file and synchronized to the edge nodes according to the version to avoid training and inference skew caused by differences in numerical scales of various dimensions. This will not be elaborated here.
[0044] Specifically, whether two video streams constitute competition should not only be considered based on their individual sizes, but also on whether they jointly increase the global load within the same time slot. Therefore, the product of the first single-stream time slot load and the second single-stream time slot load is used, and the square of the smoothed global time slot load is normalized to form the cross-proportional component. Then, the average is calculated over all time slots to obtain the average cross term. In this way, only stream pairs that truly jointly generate peak values will obtain a higher cross-competition intensity.
[0045] In one embodiment of the present invention, the competitive graph topology and node features are input into a graph time series model, and the expected bandwidth and risk propensity coefficient are output, including: Based on the competition graph topology, node features, linear transformation matrix, and attention parameter vector, the formula for calculating the original attention score is as follows: ; in, This represents the original attention score. The adjacency weight element represents the topology of the competing graph. Indicates a rectifier function with leakage. This represents the transpose of the attention parameter vector. Represents a linear transformation matrix. Indicates the features of the first node. Indicates the features of the second node. This indicates a splicing operation; Based on the original attention score, the formula for calculating attention weight is as follows: ; in, Indicates attention weights, This represents the natural exponential function. Represents the original attention score of all neighboring nodes; Based on the attention weights, the linear transformation matrix, and the features of the second node, the formula for calculating the graph aggregation features is as follows: ; in, Represents graph aggregation features, Represents a non-linear activation function. Indicates the index of adjacent nodes; Based on the graph aggregation features and the latent state of the previous control window duration, the calculation formula for the current temporal embedding features is as follows: ; in, Indicates the current temporal embedding features, Indicates a gated loop unit. Indicates the hidden state of the duration of the previous control window; Based on the current temporal embedding features, the output layer parameter matrix, and the output layer bias, the formulas for calculating the expected bandwidth and risk propensity coefficient are as follows: ; in, Indicates the expected bandwidth. Indicates the risk propensity coefficient. This represents a smooth positive value mapping function. This represents the output layer parameter matrix. This indicates the output layer bias.
[0046] It's important to note that the linear transformation matrix is a learnable parameter matrix used to map node features to a unified feature space. It's preferably a dense matrix with an input dimension of 6 and an output dimension of 16 to 64. This means the node features have 6 components, and setting the output dimension to 16 to 64 balances expressive power and edge inference overhead. The attention parameter vector is a learnable parameter vector used to project the concatenated node features into an attention score. It's preferably a parameter vector with the same dimension as the concatenated node features and an effective length of 32 to 128. The attention vector dimension needs to be aligned with the concatenated features; too short a length will result in a loss of discriminative power, while too long a length will increase training instability. The first mapped feature is the feature representation obtained after mapping the first node features using the linear transformation matrix. The second mapped feature is the feature representation obtained after mapping the second node features using the linear transformation matrix. The concatenated node feature is the joint representation obtained by concatenating the first and second mapped features end-to-end. The inner product projection value is the projection value obtained by performing an inner product operation on the concatenated node features and the transpose of the attention parameter vector. The leakage rectifier is a function that nonlinearly compresses the inner product projection value and retains a small amount of negative half-axis information. The preferred value is a leakage coefficient of 0.01 to 0.2 for the negative half-axis, and more preferably a leakage rectifier with a value of 0.1. That is, too small a value will weaken the weakly correlated neighbor information, and too large a value will reduce the nonlinear discrimination ability. Therefore, a moderate leakage level is preferred.
[0047] It should be noted that the nonlinear projection value is the nonlinear result obtained by processing the inner product projection value through a leakage rectifier function. The original attention score is the unnormalized score obtained by multiplying the topological adjacency weights of the competing graph with the nonlinear projection value. The first exponent value is the exponent term obtained by performing natural exponentiation on the original attention score. The second exponent value is the normalized denominator obtained by summing the exponent values of the original attention scores of all neighboring nodes. The attention weight is the neighbor importance weight obtained by dividing the first exponent value by the second exponent value. The adjacency weighting term is the single-neighbor contribution term obtained by continuously multiplying the attention weight with the second node feature after linear transformation. The aggregation summation term is the aggregation result obtained by accumulating the adjacency weighting terms of all neighboring nodes. The nonlinear activation function is a nonlinear function used to process the aggregation summation term and form the graph aggregation feature. The preferred value is the modified linear unit function, and the hyperbolic tangent function is an alternative. That is, the modified linear unit function is simple to calculate and suitable for edge-side inference, while the hyperbolic tangent function can be used as an alternative when stronger compression is required. The graph aggregation feature is the graph structure representation obtained after processing the aggregation summation term with the nonlinear activation function.
[0048] It should be noted that the hidden state of the previous control window duration is the historical state vector retained by the graph temporal model from the previous control window. The gated recurrent unit (GRU) is a recurrent unit that fuses the graph aggregation features with the hidden state of the previous control window duration into the current temporal embedding feature. A single-layer structure with a hidden state dimension of 16 to 64 is preferred, as this facilitates online deployment, and the 16-64 dimensional hidden state is sufficient to express short-term historical dependencies without causing excessive latency. The current temporal embedding feature is the temporal representation of the current control window output by the GRU. The output layer parameter matrix is a learnable matrix that maps the current temporal embedding feature to the output space. A mapping matrix with the same input and hidden state dimensions and an output dimension of 2 is preferred, meaning the output only needs to obtain the expected bandwidth and risk propensity coefficient simultaneously; therefore, a 2-dimensional output is preferred. The output layer bias is a learnable bias term used in conjunction with the output layer parameter matrix. A small initial bias value of 0 to 0.1 is preferred, as a small bias helps maintain output stability in the early stages of training and avoids excessive initial offset. The fully connected output vector is a vector obtained by linearly combining the output layer parameter matrix with the current temporal embedded features. The smoothing positive value mapping function is used to smoothly map the fully connected output vector to the positive value domain. A preferred value is a monotonically increasing smoothing positive value mapping function with a smoothing coefficient of 1; this configuration avoids negative outputs without excessively compressing large positive outputs. The expected bandwidth is the graph time series model's prediction of the expected resource requirements of the next control window for a single stream. The risk propensity coefficient is the graph time series model's prediction of the degree of risk propensity for global clustering amplification in a single stream.
[0049] It should be noted that the graph temporal model is structured as follows: the input layer receives node features and the competing graph topology; the graph aggregation layer preferably uses a 1-2 layer attention aggregation structure; the gated recurrent unit preferably uses a 1-layer temporal unit; and the output layer outputs two fixed values. If the node feature dimension is 6, the linear mapping dimension is preferably 16-64, and the hidden state dimension is preferably 16-64, ensuring that inference can be completed within the control window at the edge. The model training data is constructed by using continuous control windows as sample units, collecting the input features, graph topology, and actual link feedback results for each video stream; the expected bandwidth label can be derived by back-calculating the minimum feasible bandwidth under the conditions of delay constraints, packet loss constraints, and queue upper bound constraints; the risk tendency coefficient label can be obtained by fitting the contribution ratio of the corresponding stream to the global peak increment when the clustering coefficient increases; supervised learning combined with temporal playback is preferred for training.
[0050] It should be noted that the initialization methods for the linear transformation matrix, attention parameter vector, output layer parameter matrix, and output layer bias are small-scale random initialization or initialization based on loading historical model files. The initial values are preferably within a range that will not cause output saturation. During the training phase, gradient descent-type optimizers are used for updates, while during the deployment phase, the model parameters are fixed as read-only parameters and loaded by edge nodes according to version numbers. The configuration method for the leakage coefficient of the rectified function with leakage and the type of nonlinear activation function is to select the optimal combination through the validation set during offline training. It is preferable to set the negative half-axis leakage coefficient of the rectified function with leakage to 0.1 and set the nonlinear activation function after graph aggregation to the modified linear unit function. If the edge hardware has limited support for negative values, the hyperbolic tangent function can also be used, but the training parameters should be adjusted accordingly.
[0051] It should be noted that the initialization and update method of the hidden state of the previous control window duration is as follows: a corresponding hidden state vector is created for each video stream when the session is established and initialized to a zero vector or a small random vector; after each control window inference is completed, the current temporal embedded features are written back as the hidden state of the next control window. The execution method of model inference is as follows: after each control window ends, the edge nodes first update the input features and graph topology, then perform a graph temporal model forward inference to obtain the expected bandwidth and risk tendency coefficient, and immediately enter the subsequent weight retention and bandwidth allocation process; preferably, the latency of a single inference is less than half of the control window duration, so as to leave enough time for output delivery and transmitter update.
[0052] Specifically, the raw attention score is only an unnormalized relative strength and cannot be directly used for cross-neighbor comparisons. Therefore, a natural exponential operation is performed on the raw attention score, and it is normalized by the sum of the exponential values of all neighboring nodes to obtain the attention weight. After normalization, the influence of a single neighbor is automatically converted into a comparable proportional weight, which is beneficial for the model to identify the most important sources of competition. This will not be elaborated here. In addition, because keyframe stacking and queue expansion have continuity between control windows, the queue pattern, release beat, and risk structure left by the previous control window will affect the current control window. Therefore, static graph aggregation is not sufficient. The graph aggregation features and the hidden state of the previous control window duration must be input together into the gated recurrent unit to obtain the current temporal embedding features. This will not be elaborated here.
[0053] In one embodiment of the present invention, the retention weight is calculated based on the base load, keyframe bits, load participation, control window duration, and clustering coefficient, including: The formula for calculating the retention weight is as follows, based on the base load, clustering coefficient, keyframe bits, control window duration, and load participation: ; in, This indicates that the weights are retained. Indicates the base load. Represents the aggregation coefficient. Indicates keyframe bits, Indicates the duration of the control window. This indicates the degree of load participation.
[0054] It should be noted that the reserved weight is a structural weight value reserved for a single stream before entering the elastic bandwidth allocation. The clustering harmonic term is an intermediate quantity obtained by adding the clustering coefficient to a constant. The clustering impact factor is the compression mapping result obtained by dividing the clustering coefficient by the clustering harmonic term. The time window burst mean is the average burst intensity of the control window obtained by dividing the keyframe bits by the control window duration. The elastic reservation increment is an additional reservation amount formed by continuously multiplying the clustering impact factor, the time window burst mean, and the load participation.
[0055] It should be noted that when there are no keyframes within the control window, the burst mean of the time window is directly set to zero, and the elastic retention increment is also set to zero. In this case, the retention weight degenerates into the base load. If the control window duration is configured to a small value, it is first checked whether it is lower than the minimum allowed length threshold of the system. If it is lower than the threshold, it reverts to the default control window configuration to avoid the burst mean of the time window being abnormally amplified due to the denominator being too small. In addition, to prevent individual streams from having excessively high retention weights due to instantaneous peaks, a lower limit and an upper limit can be set for the retention weight. The lower limit is preferably not lower than the base load, and the upper limit is preferably not higher than a reasonable ratio between the base load and the total bandwidth budget. After the calculation is completed, the retention weight is standardized in units and truncated to a decimal precision, preferably to 4 to 6 decimal places, to maintain numerical stability.
[0056] In one embodiment of the present invention, the expected bandwidth is adjusted based on the aggregation coefficient and the risk propensity coefficient to obtain the corrected demand; the base load is accumulated to obtain the global base load; the global base load is deducted from the total bandwidth budget to obtain the elastic bandwidth; the elastic bandwidth is allocated according to the product of the retention weight and the corrected demand, and the base load is superimposed to obtain the allocated bandwidth, including: Based on the expected bandwidth, aggregation coefficient, and risk propensity coefficient, the formula for calculating the revised demand is as follows: ; in, This indicates a need for revision. Indicates the expected bandwidth. Represents the aggregation coefficient. Indicates the risk propensity coefficient; Based on the base load, total bandwidth budget, reservation weight, and correction requirements, the formula for calculating the initial bandwidth allocation is as follows: ; in, This indicates the initial allocation of bandwidth. Indicates the base load. Indicates the total bandwidth budget. Indicates the global base load. This represents the function operation that extracts the positive part of the value between the internal value and zero. This indicates that the weights are retained. This indicates a need for revision. This represents the retention weights of all independent streams. This indicates the correction requirements for all independent streams. Represents a very small positive number; Based on the total bandwidth budget and the initial bandwidth allocation, the formula for calculating the allocated bandwidth is as follows: ; in, Indicates bandwidth allocation. This represents the initial bandwidth allocation for all independent streams.
[0057] It should be noted that the risk product index is the comprehensive risk quantity obtained by multiplying the aggregation coefficient and the risk propensity coefficient. The penalty denominator is the corrected denominator formed by adding a constant to the risk product index. The corrected demand is the risk correction demand obtained after the expected bandwidth is corrected by the penalty denominator. The global base load is the total base load obtained by summing the base loads of all independent flows. The budget balance is the remaining budget obtained by subtracting the global base load from the total bandwidth budget. The positive part function is a function operation used to take the maximum value between the budget balance and zero. The elastic bandwidth is the amount of bandwidth remaining for competitive allocation after satisfying the global base load. The single-flow allocation factor is the single-flow contention quantity obtained by multiplying the reserved weight and the corrected demand. The global allocation denominator is the normalized denominator formed by summing the single-flow allocation factors of all independent flows and superimposing a very small positive number. The normalized ratio is the ratio obtained by dividing the single-flow allocation factor by the global allocation denominator. The initial allocation bandwidth is the first allocation result obtained by multiplying the normalized ratio by the elastic bandwidth and superimposing the base load. The closed-form normalization base term is the finely normalized denominator obtained by summing the initial allocated bandwidths of all independent flows and superimposing a very small positive number. The precise allocation weight is the final proportional weight obtained by dividing the initial allocated bandwidth by the closed-form normalization base term. The allocated bandwidth is the final bandwidth result obtained by multiplying the precise allocation weight by the total bandwidth budget.
[0058] It should be noted that the positive part function is implemented by comparing the budget balance with zero. If the budget balance is greater than zero, the elastic bandwidth is taken as the budget balance; if the budget balance is less than or equal to zero, the elastic bandwidth is directly taken as zero. This ensures that the system retains at least the basic load allocation when the budget is insufficient, and does not generate negative bandwidth to participate in subsequent calculations. The stabilization term in the global allocation denominator and the closed normalization base term is set by adding a very small positive number matching the load magnitude to both denominators, preferably using the stabilization magnitude from the competition graph construction stage; if all single-stream allocation factors are close to zero, the global allocation denominator is dominated by a very small positive number, and the system can fall back to allocation based on the basic load or direct normalization allocation based on the retention weight.
[0059] It should be noted that the continuity of the allocation results between control windows is maintained by smoothly merging the allocated bandwidth of the current control window with that of the previous control window after the current control window receives its allocated bandwidth. Preferably, a weighting of 0.6 to 0.8 for the current window and 0.2 to 0.4 for the previous window is used to reduce bandwidth oscillations. If the clustering coefficient suddenly increases and the risk propensity coefficient increases simultaneously, the weight of the current window can be temporarily increased to enhance response speed. The upper and lower bounds of the allocated bandwidth are controlled by setting a minimum transmit bandwidth and a maximum occupiable bandwidth for each stream before the final allocated bandwidth output. The minimum transmit bandwidth is preferably not lower than the bandwidth corresponding to the base load or the system's minimum coding rate, and the maximum occupiable bandwidth is preferably no more than a certain percentage of the total bandwidth budget to prevent individual streams from monopolizing the budget for a short period.
[0060] Specifically, the expected bandwidth output by the model only expresses the demand direction and does not consider the cost of further amplifying the global clustering risk. Therefore, the clustering coefficient and the risk propensity coefficient should be multiplied to form a risk product index, and then the expected bandwidth should be reduced by a penalty denominator to obtain the corrected demand. In this way, flows with high demand but also high risk amplification propensity will not directly obtain the same proportion of elastic bandwidth. In addition, since the base load represents the portion that must be reserved to maintain continuous transmission, before elastic contention begins, the base loads of all independent flows should be accumulated into a global base load and deducted from the total bandwidth budget. Then, an elastic bandwidth of not less than zero should be obtained through a positive part function. In this way, even if the budget of a certain control window is tight, the system will prioritize ensuring basic transmission rather than pushing all flows into a pure contention state.
[0061] In one embodiment of the present invention, the allocated bandwidth is multiplied by the control window duration to output the scheduling quota, and the average packet length is divided by the allocated bandwidth to output the transmission interval, including: The formula for calculating scheduling quotas based on allocated bandwidth and control window duration is as follows: ; in, Indicates the scheduling quota. Indicates bandwidth allocation. Indicates the duration of the control window; Based on the average packet length and allocated bandwidth, the formula for calculating the transmission interval is as follows: ; in, Indicates the sending interval. This indicates the average package length.
[0062] It should be noted that the scheduling quota is the amount of data that can be sent in the next control window, obtained by multiplying the allocated bandwidth by the control window duration. The sending interval is the average packet sending interval obtained by dividing the average packet length by the allocated bandwidth. The quantization output method of the scheduling quota is to round the data amount obtained by multiplying the allocated bandwidth by the control window duration according to the system scheduling granularity; if the transmitter uses bytes as the smallest unit, the scheduling quota is converted into the number of bytes and rounded down; if the scheduler uses fragments or packets as the smallest unit, it is combined with the average packet length to convert into the number of packets that can be sent, and the margin is reserved for the next control window. The quantization and protection method of the sending interval is to divide the average packet length by the allocated bandwidth to obtain a continuous time value, and then quantize it according to the smallest timing granularity supported by the transmitter; if the obtained sending interval is less than the minimum timing threshold that the system can achieve, then the minimum timing threshold is taken; if the allocated bandwidth is too low and the sending interval is too long, it is preferable to simultaneously reduce the coding bitrate or trigger a frame skipping strategy to avoid backlog within a single window.
[0063] Specifically, the system of this invention can be deployed at floor-level edge nodes. The video terminals in each clinic continue to complete the acquisition, encoding, and encapsulation in the original manner. The edge nodes do not change the original business semantics, but only read data such as frame bit count, keyframe marker, keyframe arrival time, average packet length, smooth round-trip time, congestion window, access domain identifier, and total bandwidth budget after the session enters the station. The frame bit count and keyframe marker can be directly obtained from the encoder or encapsulation header field. The keyframe arrival time is generated by the edge node enqueue timestamp module. The smooth round-trip time and congestion window are derived from the transmission protocol stack state interface. The access domain identifier is provided by the access controller session table. The total bandwidth budget is given by the wireless access scheduler or bandwidth budget manager.
[0064] Specifically, the system operates on a control window cycle. Upon entering a new control window, edge nodes first calculate the base load, keyframe bits, frame volatility, packet constant, and isomorphism factor. Then, they discretize the control window according to the slot width, generate a release density based on the keyframe arrival time and packet constant, and obtain the single-stream slot load, global slot load, and clustering coefficient. Subsequently, the system establishes a contention graph topology based on load participation and access domain consistency, concatenating the base load, burst mean, frame volatility, packet constant, load participation, and clustering coefficient into node features, which are then fed into the graph timing model, outputting the expected bandwidth and risk propensity coefficient. Finally, the system combines reserved weights, adjusted requirements, and the total bandwidth budget to calculate the allocated bandwidth, scheduling quota, and transmission interval for each independent stream, and writes the results to the transmission shaper.
[0065] For example, in a floor edge node containing 6 clinics, the control window duration can be set to 200 milliseconds, and the total bandwidth budget can be set to 60 megabits per second. After a control window ends, the system may obtain the following results: Clinic 1 is allocated 14 megabits per second bandwidth, with a scheduling quota of 2.8 megabits and a transmission interval of approximately 0.86 milliseconds; Clinic 2 is allocated 11 megabits per second bandwidth, with a scheduling quota of 2.2 megabits and a transmission interval of approximately 1.09 milliseconds; Clinic 3 is allocated 9 megabits per second bandwidth, with a scheduling quota of 1.8 megabits and a transmission interval of approximately 1.33 milliseconds; the remaining clinics receive corresponding values according to their respective risks and needs. If, in the next control window, Clinic 1 experiences a large accumulation of keyframes, while Clinic 3 remains stable, the system will increase the retention weight of Clinic 1 and moderately reduce the elasticity share of Clinic 3, but will still retain the basic load of Clinic 3 to avoid continuous transmission interruptions.
[0066] It should be noted that the final output of this invention consists of two types of directly executable control variables. The first type is bandwidth allocation, used to limit the target transmission rate of each stream within the next control window. The second type is scheduling quota and transmission interval, used to convert the rate target into window-level packet transmission limit and packet-level clock speed control. The packet transmission clock speed is controlled according to the transmission interval, the scheduler limits the cumulative transmission volume of a single window according to the scheduling quota, and the encoding control interface can decide whether to prompt the encoder to reduce or restore the bit rate based on the quota changes of multiple consecutive control windows, which will not be elaborated here.
[0067] The practical application value of this invention is mainly reflected in the following three aspects: 1. It can identify short-term risks caused by keyframe surges in advance before the average bandwidth is exhausted, reducing queue expansion and transmission timeouts caused by instantaneous peaks.
[0068] 2. In scenarios where multiple streams share edge nodes, the competition relationship graph can be structured, so that bandwidth allocation no longer depends solely on the average statistics of a single stream, but also takes into account the global load pattern.
[0069] 3. The output results can be directly processed by the edge transmitter without undergoing complex secondary calculations, making it suitable for practical use in edge video systems.
[0070] It should be noted that, as Figure 2As shown, the horizontal axis of the time slot load evolution graph represents the time slot number, indicating 30 consecutive time slots discretized at a fixed granularity within a single control window; the vertical axis represents the load, indicating the time slot load intensity after the video stream in each time slot is expanded by the release density and superimposed with the basic load; the graph corresponds to 6 video streams respectively, and the broken line represents the global time slot load; the higher the value, the greater the instantaneous transmission pressure in that time slot; this graph is used to verify that after the key frame burst is expanded by the release density, it will form a peak in a local time slot, thus showing that the average bit rate alone cannot fully reflect the short-term congestion risk, which will not be elaborated here.
[0071] It should be noted that, as Figure 3 As shown, the horizontal axis of the model output graph represents the load participation rate, indicating the average proportion of a certain flow in the global load across all time slots; the vertical axis represents the expected bandwidth, indicating the resource requirement of the next control window predicted by the graph time series model; the data in the graph represent the risk propensity coefficient, and the color intensity represents the clustering coefficient; the higher the value is in the upper right, the more the flow consumes the global load and requires higher bandwidth support; larger bubbles indicate that the flow has a more significant amplification effect on the global clustering risk; this graph is used to illustrate that the graph time series model can jointly output the expected bandwidth and risk propensity coefficient based on the competing topology and node characteristics, which will not be elaborated upon here.
[0072] It should be noted that, as Figure 4 As shown in the diagram, the horizontal axis of the allocation result graph represents the video stream number, indicating 30 service streams to be allocated; the left vertical axis represents the bandwidth, showing the basic load, correction requirements, and final allocated bandwidth; the right vertical axis represents the transmission interval, representing the average packet transmission time interval calculated based on the average packet length and the final allocated bandwidth; the basic load represents the steady-state bandwidth that must be prioritized, the correction requirements represent the resource requirements after risk penalties, and the allocated bandwidth represents the final result under budget constraints; the smaller the transmission interval value, the more compact the transmission rhythm is allowed; this graph is used to verify that the system output can directly fall into the scheduling quota and transmission shaping execution layer, which will not be elaborated here.
[0073] It should be noted that the interval and threshold sizes are set for ease of comparison. The size of the threshold depends on the amount of sample data and the base number set by those skilled in the art for each set of sample data, as long as it does not affect the proportional relationship between the parameter and the quantized value. Furthermore, the above formulas are all dimensionless calculations, and the formulas are derived from software simulations using a large amount of collected data to obtain the most recent real-world results. The preset parameters in the formulas are set by those skilled in the art according to the actual situation.
[0074] The embodiments of this example have been described above. However, this example is not limited to the specific implementation methods described above. The specific implementation methods described above are merely illustrative and not restrictive. Those skilled in the art can make many other forms based on the guidance of this example, and all of them are within the protection scope of this example.
Claims
1. A video transmission adaptive bandwidth allocation system based on edge computing, characterized in that, include: The data extraction module extracts control window duration, base load, keyframe bits, frame fluctuation, packet transmission constant, isomorphism factor, access domain identifier, average packet length, and total bandwidth budget. The time slot load calculation module generates release density based on key frame bits and packet sending constant, integrates release density within time slot and accumulates basic load to obtain single-stream time slot load, accumulates single-stream time slot load to obtain global time slot load, and calculates clustering coefficient by combining isomorphism factor and global time slot load. The node feature construction module divides the single-stream timeslot load by the global timeslot load to obtain the load participation degree. Based on the single-stream timeslot load, the global timeslot load, and the access domain identifier, it establishes a contention graph topology and combines the basic load, key frame bits, frame fluctuation, packet transmission constant, load participation, and clustering coefficient to form node features. The competition graph analysis module inputs the competition graph topology and node characteristics into the graph time series model and outputs the expected bandwidth and risk propensity coefficient. The retention weight calculation module calculates the retention weight based on the base load, keyframe bits, load participation, control window duration, and clustering coefficient. The bandwidth allocation calculation module adjusts the expected bandwidth based on the aggregation coefficient and risk tendency coefficient to obtain the corrected demand, accumulates the basic load to obtain the global basic load, deducts the global basic load from the total bandwidth budget to obtain the elastic bandwidth, and divides the elastic bandwidth according to the product ratio of the retention weight and the corrected demand and adds the basic load to obtain the allocated bandwidth. The bandwidth allocation scheduling module multiplies the allocated bandwidth by the control window duration to output the scheduling quota, and divides the average packet length by the allocated bandwidth to output the transmission interval.
2. The adaptive bandwidth allocation system for video transmission based on edge computing according to claim 1, characterized in that, Extract control window duration, access domain identifier, average packet length, and total bandwidth budget; Acquire frame bit count, keyframe marker, smooth round-trip time, congestion window, gain coefficient, group length variation coefficient, frame rate variation coefficient, and packet constant variation coefficient; Subtract the keyframe marker from the constant to obtain the difference term. Multiply the difference term by the frame bit quantity to obtain the non-keyframe bit quantity. Accumulate the non-keyframe bit quantity within the control window duration to obtain the first accumulated value. Divide the first accumulated value by the control window duration to obtain the base load. The keyframe burst is obtained by multiplying the keyframe marker by the frame bit count, and the keyframe burst is accumulated within the control window duration to obtain the keyframe bits. Calculate the absolute value of the difference in frame bit amount between two adjacent frames, accumulate the absolute value within the control window duration to obtain the second accumulated value, and divide the second accumulated value by the control window duration to obtain the frame fluctuation. Multiply the smooth round-trip time by the average packet length to obtain the first product, multiply the gain coefficient by the congestion window to obtain the second product, and divide the first product by the second product to obtain the packet sending constant. The constant 1, the coefficient of variation of image group length, the coefficient of variation of frame rate, and the coefficient of variation of packet sending constant are added together to obtain the summation term. The reciprocal of the summation term is then calculated to obtain the isomorphism factor.
3. The adaptive bandwidth allocation system for video transmission based on edge computing according to claim 1, characterized in that, Obtain the time variable and the keyframe arrival time, subtract the keyframe arrival time from the time variable to obtain the time difference, divide the time difference by the packet sending constant and take the opposite number to obtain the attenuation exponent, use the natural constant as the base and the attenuation exponent as the exponent to calculate the attenuation term. When the time variable is greater than or equal to the keyframe arrival time, an indicator with a value of 1 is generated; otherwise, an indicator with a value of 0 is generated. The keyframe marker, frame bit amount, attenuation term and indicator are multiplied continuously to obtain a product term. The product term is divided by the packet sending constant and accumulated to obtain the release density. Obtain the time slot width, perform time integration on the release density within the interval corresponding to the time slot width to obtain the time slot integral, multiply the base load by the time slot width to obtain the base load compensation, and add the time slot integral to the base load compensation to obtain the single-stream time slot load. The global timeslot load is obtained by summing the single-stream timeslot load of all video streams; Extract the maximum value of the global time slot load of all time slots to obtain the global load peak value. Accumulate the global time slot load of all time slots to obtain the global load sum. Divide the global load sum by the number of time slots to obtain the global load average value. Divide the global load peak value by the global load average value to obtain the time slot peak-to-average ratio. Multiply the isomorphism factor by the time slot peak-to-average ratio to obtain the clustering coefficient.
4. The adaptive bandwidth allocation system for video transmission based on edge computing according to claim 1, characterized in that, The global timeslot load is added to the smallest positive number to obtain the smoothed global timeslot load. The single-stream timeslot load is divided by the smoothed global timeslot load to obtain the timeslot proportional component. The timeslot proportional component is accumulated over all timeslots to obtain the proportional component sum. The proportional component sum is divided by the number of timeslots to obtain the load participation degree. Obtain the first single-stream timeslot load of the first video stream and the second single-stream timeslot load of the second video stream. Multiply the first single-stream timeslot load by the second single-stream timeslot load to obtain the cross-load product. Perform a square operation on the smoothed global timeslot load to obtain the smoothed square term. Divide the cross-load product by the smoothed square term to obtain the cross-proportion component. Accumulate the cross-proportion component over all timeslots to obtain the cross-proportion sum. Divide the cross-proportion sum by the number of timeslots to obtain the average cross term.
5. The adaptive bandwidth allocation system for video transmission based on edge computing according to claim 4, characterized in that, Extract the first access domain identifier of the first video stream and the second access domain identifier of the second video stream. Determine whether the first access domain identifier and the second access domain identifier are consistent. If the first access domain identifier and the second access domain identifier are consistent, generate a domain indicator variable with a value of one; otherwise, generate a domain indicator variable with a value of zero. Add the average cross term to the domain indicator variable and output the adjacency weight element. Combine the adjacency weight elements to establish the competition graph topology. The burst mean is obtained by dividing the keyframe bits by the control window duration. The node features are constructed by concatenating the base load, burst mean, frame volatility, packet sending constant, load participation, and clustering coefficient into an execution vector.
6. The adaptive bandwidth allocation system for video transmission based on edge computing according to claim 1, characterized in that, The first node feature and the second node feature are obtained. The first node feature and the second node feature are mapped using a linear transformation matrix to obtain the first mapped feature and the second mapped feature respectively. The first mapped feature and the second mapped feature are concatenated to obtain the concatenated node feature. The concatenated node feature and the transpose of the attention parameter vector are subjected to an inner product operation to obtain the inner product projection value. The inner product projection value is processed by the leakage rectifier function to obtain the nonlinear projection value. The adjacency weight elements of the competition graph topology are multiplied by the nonlinear projection value to obtain the original attention score.
7. The adaptive bandwidth allocation system for video transmission based on edge computing according to claim 6, characterized in that, The first index value is obtained by using the natural constant as the base and the original attention score as the index. The second index value is obtained by summing the index values of the original attention scores of all adjacent nodes. The attention weight is obtained by dividing the first index value by the second index value. The attention weights, linear transformation matrix and second node features are continuously multiplied to obtain the adjacency weighting term. The adjacency weighting term is accumulated in all adjacent nodes to obtain the aggregation summation term. The aggregation summation term is processed by a nonlinear activation function to obtain the graph aggregation feature. Extract the hidden state of the previous control window duration, and input the graph aggregation features and the hidden state of the previous control window duration into the gated recurrent unit for processing to obtain the current temporal embedding features; Obtain the output layer parameter matrix and output layer bias. Multiply the output layer parameter matrix by the current temporal embedded features and add the output layer bias to obtain the fully connected output vector. Input the smooth positive value mapping function to process the fully connected output vector and extract the expected bandwidth and risk tendency coefficient respectively.
8. The adaptive bandwidth allocation system for video transmission based on edge computing according to claim 1, characterized in that, Adding a constant to the clustering coefficient yields the clustering harmonic term, and dividing the clustering coefficient by the clustering harmonic term yields the clustering influence factor. Divide the keyframe bits by the control window duration to obtain the burst mean of the time window; The elasticity retention increment is obtained by continuously multiplying the clustering impact factor, the burst mean of the time window, and the load participation. The retention weight is obtained by adding the elastic retention increment to the base load.
9. The adaptive bandwidth allocation system for video transmission based on edge computing according to claim 1, characterized in that, Multiply the aggregation coefficient by the risk propensity coefficient to obtain the risk product index, add a constant to the risk product index to obtain the penalty denominator, and divide the expected bandwidth by the penalty denominator to obtain the corrected demand. The global base load is obtained by summing the base load of all independent streams, the budget balance is obtained by subtracting the global base load from the total bandwidth budget, and the elastic bandwidth is obtained by using the positive part function to extract the maximum value between the budget balance and the zero value. Multiply the retained weight by the correction requirement to obtain the single-stream allocation factor, sum the single-stream allocation factors of all independent streams and add the smallest positive number to obtain the global allocation denominator, divide the single-stream allocation factor by the global allocation denominator to obtain the normalization ratio, and multiply the normalization ratio by the elastic bandwidth and add the basic load to obtain the initial allocation bandwidth. The initial allocated bandwidth of all independent flows is accumulated and a very small positive number is added to obtain the closed-form normalized base term. The initial allocated bandwidth is divided by the closed-form normalized base term to obtain the precise allocation weight. The precise allocation weight is multiplied by the total bandwidth budget to obtain the allocated bandwidth.
10. The adaptive bandwidth allocation system for video transmission based on edge computing according to claim 1, characterized in that, The output scheduling quota is generated by multiplying the allocated bandwidth by the control window duration. Extract the average packet length and divide the average packet length by the allocated bandwidth to generate the output transmission interval.