A method and system for adaptive bit rate control with flow conservation
Patent Information
- Application Number
- CN202311438874.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-10-31
- Publication Date
- 2026-09-29
- Estimated Expiration
- 2043-10-31
AI Technical Summary
[0004]本发明的目的在于解决现有技术未能有效平衡传输质量和带宽资源的节约的问题,提供一种流量节约的自适应码率控制方法及系统
[0082]本发明通过以最小码率下载首个视频块,以减少视频播放的启动延迟,记录系统响应并更新系统状态;利用历史吞吐量观测值的加权调和平均,预测未来N个视频块下载过程中的吞吐量;结合吞吐预测和当前测量的系统状态,对未来N个视频块下载过程中的系统状态轨迹进行预测,其状态变量包括视频块发送时刻、缓冲区剩余视频长度和缓冲区剩余视频数据量;使用吞吐预测结果和系统状态预测轨迹,计算下载未来n个视频块带来的期望用户体验质量收益,并计算未来N个视频块下载过程中潜在的流量浪费程度,从而构建局部优化问题;使用遗传算法求解局部优化问题,生成最优控制输入序列;实施在当前时间步的最优控制策略,执行视频下载和等待操作,记录系统的响应并更新系统状态;检查视频块是否全部下载完成或用户是否提前退出观看,若两者皆未发生,则重复上述步骤,否则,终止传输过程;通过不断迭代优化。本发明实现在视频传输过程中维持低缓冲水平,从而有效解决了因缓冲区数据过度积累而导致的带宽浪费问题。同时采用迭代优化的策略,能够根据最新的数据和反馈进行控制策略的调整,从而增强了系统的鲁棒性和适应性。在每个时间步骤中通过解决流量浪费和传输质量的双重优化问题,以获取最优的下载码率和等待时间参数,实现了在维持高传输质量的同时显著降低流量浪费。
Smart Images

Figure CN117478938B_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of video transmission technology and relates to an adaptive bitrate control method and system for saving bandwidth. Background Technology
[0002] With the rapid development of computer networks, mobile communications, and electronic and microelectronic technologies, the video streaming industry has experienced tremendous growth and has become a dominant application on the internet. However, existing adaptive bitrate selection algorithms (ABR) face a serious problem of bandwidth waste, which manifests as downloaded video segments ultimately not being played on the client, thus wasting network resources. Measurements show that 25.2% to 51.7% of downloaded video data is not viewed by users. This waste of bandwidth resources not only increases the operating costs of video streaming companies but also increases the financial burden on users to enjoy video services.
[0003] In their early development stages, adaptive transmission algorithms primarily focused on improving transmission quality without explicitly considering how to avoid unnecessary bandwidth waste, leading to the accumulation of large amounts of video data in the buffer during transmission. Combined with users frequently prematurely exiting viewing, this buffer accumulation resulted in significant bandwidth waste. In recent years, with the rapid growth of video traffic, the problem of bandwidth waste has become increasingly prominent, leading to the emergence of some adaptive transmission algorithms that focus on optimizing bandwidth utilization. However, these studies have not delved into the impact of user download strategies on bandwidth waste. They typically use the remaining video length in the buffer to measure bandwidth waste, but in reality, the two are not entirely equivalent. This imprecise measurement of waste prevents these studies from effectively balancing transmission quality and bandwidth conservation. Summary of the Invention
[0004] The purpose of this invention is to solve the problem that the existing technology fails to effectively balance transmission quality and bandwidth resource conservation, and to provide an adaptive bit rate control method and system for traffic conservation.
[0005] To achieve the above objectives, the present invention employs the following technical solution:
[0006] An adaptive bitrate control method for saving bandwidth includes:
[0007] Step 1: Establish a connection with the server, download and parse the MPD file to obtain video slice information; download the first video block at the lowest bitrate; record the buffer status and transmission latency;
[0008] Step 2: Predict the throughput during the download process of the kth to k+Nth video blocks by using the weighted harmonic mean of historical throughput observations;
[0009] Step 3: Based on the obtained throughput prediction and the current system state, predict the trajectory of system state changes during the download of the next N video blocks;
[0010] Step 4: Based on the obtained throughput prediction and the obtained system state change trajectory, calculate the expected user experience quality gain when downloading the k to k+N video blocks, and predict the potential data waste during the download of the next N video blocks to establish a local optimization problem;
[0011] Step 5: Use optimization algorithms to solve the local optimization problem, obtain the optimal control input sequence within the current control cycle; implement the control strategy for the current time step, perform video download and waiting operations; record the system response and update the system state;
[0012] Step 6: Determine whether all video blocks have been downloaded and whether the user has prematurely exited the viewing session. If yes, stop the transmission; otherwise, repeat steps 2 to 5 until the transmission stops.
[0013] A further improvement of the present invention is that:
[0014] Furthermore, a connection is established with the server to download and parse the MDP file; the first video block is downloaded at the lowest bitrate; and the buffer status and transmission latency are recorded, specifically:
[0015] An HTTP connection is established between the client and the server to download and parse the MPD file to obtain video segment information. Based on the obtained video segment information, the minimum bitrate is selected to start downloading the first video block. The status of the buffer and the transmission latency are monitored and recorded, and then fed back to the cloud server.
[0016] Furthermore, the throughput during the download process of the kth to k+Nth video blocks is predicted by using the weighted harmonic mean of historical throughput observations, specifically:
[0017] 1.1: Determine if the historical time window T is less than the number of downloaded video blocks k-1. If not, update the time window to: T→k-1;
[0018] 1.2: Collect the data volume and transmission latency information of video blocks downloaded during T historical time windows, and calculate the average throughput observation value of the T historical transmissions, specifically:
[0019] Throughput i =Data volume i / transmission delay i ,i∈{kT,k,k-1}
[0020] 1.3: Collect the time distance between each historical throughput observation and the current time point, and obtain the weight m of each observation based on the exponential decay function.i Specifically:
[0021] m i =exp(-λ*time distance) i ), i∈{kT,…,k-1}
[0022] Wherein, λ is the attenuation factor, used to adjust the attenuation rate;
[0023] 1.4: Based on the obtained average throughput observations and the weight of each observation, calculate the weighted harmonic mean of the historical throughput observations to predict the throughput during the download process of the kth to k+Nth video blocks, specifically:
[0024]
[0025] Furthermore, based on the obtained throughput prediction and the current system state, the system state change trajectory is predicted during the download of the next N video blocks, specifically as follows:
[0026] 2.1: Based on the obtained throughput prediction, calculate the bitrate R k The transmission latency required to download the k-th video block is as follows:
[0027]
[0028] Based on the obtained transmission delay prediction results and the current system state, the transmission time of the (k+1)th video block is calculated as follows:
[0029]
[0030] 2.2: Based on the obtained transmission delay prediction results and the current system state, calculate the remaining video length in the buffer at the (k+1)th video block transmission time:
[0031]
[0032] Where L is the length of a single video block;
[0033] 2.3: Based on the obtained transmission delay prediction results and the current system state, calculate the amount of remaining video data in the buffer during the download of the (k+1)th video block; specifically:
[0034] Calculation within the time interval Within, the amount of video data remaining in the buffer during the download of the (k+1)th video block:
[0035]
[0036] The consumption rate and replenishment rate are calculated as follows:
[0037] Scenario 1: When If the buffer has sufficient video data and playback will not be interrupted, then the formula for calculating the consumption rate within the current time interval is:
[0038]
[0039] During this time interval, video block k segments are downloaded to the buffer one by one, and the replenishment rate can be approximated as:
[0040]
[0041]
[0042] Scenario 2: When Insufficient remaining video length in the buffer may cause playback interruption. Therefore, the current time interval needs to be divided into two stages for calculation. In the first stage, i.e., t∈(sending time)... k Sending time k +Buffer length k Within this phase, the video data in the buffer is sufficient for playback, so there will be no interruption. During this phase, the data consumption rate and replenishment rate are calculated in the same way as in case one. In the second phase, i.e. If there is no playable video in the buffer during this period, only data is added and no data is consumed. Therefore, the calculation method for the buffer video data addition rate during this time interval is the same as in case one, while the buffer video data consumption rate is zero.
[0043]
[0044] 2.4: Calculation within the time interval Within this time interval, the remaining video data in the buffer during the download of the (k+1)th video block. During this interval, the download of video block k is complete; therefore, this stage only involves data consumption, not data replenishment. The specific calculation formula is as follows:
[0045]
[0046] The formula for calculating the consumption rate is as follows:
[0047]
[0048] Iterations 2.1-2.4 yield the transmission time of the {k,k+1,…,k+N}th video block, the remaining video length in the buffer at the transmission time, and the transmission time within the time interval (transmission time). k Sending time k+N The amount of remaining video data in the buffer within ] .
[0049] Furthermore, the expected user experience quality gain from downloading the kth to k+Nth video blocks is calculated, and the potential data waste during the download of the next N video blocks is predicted, specifically:
[0050] Calculate the expected user experience quality improvement brought by downloading video blocks {k,…,k+N}, specifically:
[0051]
[0052] Specifically, the download bitrate of video blocks is used to quantify their video quality. Based on the predicted transmission delay of the next N video blocks and the remaining video length in the buffer at the transmission time of the next N video blocks, the stuttering time during the transmission of video blocks {k,…,k+N} is calculated.
[0053] Lag Time j = (transmission delay) j -Buffer length j ) + j = {k,…,k+N}
[0054] The smoothness of video playback is quantified by the difference in download bitrate between video blocks:
[0055] Smoothness j =|R j -R j-1 |,j={k,…,k+N}
[0056] Based on the average amount of remaining video data in the buffer during the download of the next N video blocks, we can approximately calculate the bandwidth waste that could occur if a user prematurely exits the viewing session within the time frame of downloading video blocks {k,…,k+N}.
[0057]
[0058] Furthermore, we establish a local optimization problem, specifically:
[0059] Based on the parsed MPD file, obtain the selectable bitrate variable {R} for video blocks {k,…,k+N}. j The range of |j=k,…,k+N} and the corresponding amount of data;
[0060] Based on the buffer limit and stuttering avoidance strategy, update the control range of the wait time variable:
[0061] ((buffer length) j Download time j ) + +L - Buffer limit) + ≤waiting time j
[0062] ≤(buffer length) j Download time j ) + +L,j=k,…,k+N
[0063] Construct the optimization objective function for the current time step, specifically as follows:
[0064]
[0065] Where, β k The parameter is used to adjust the weighting of user experience quality and data waste in the optimization objective, and is used to adjust the β value at the current time step by the degree of network fluctuation over a past period. k Parameters updated:
[0066]
[0067] in,
[0068] Furthermore, an optimization algorithm is used to solve the local optimization problem to obtain the optimal control input sequence within the current control cycle; the control strategy for the current time step is implemented, and video download and waiting operations are performed; the system response is recorded and the system state is updated, specifically as follows:
[0069] A genetic algorithm is used to solve the local optimization problem and obtain the optimal download bitrate and waiting time parameters for the next N video blocks;
[0070] Download video block k at the optimal download bitrate obtained; after video block k is downloaded, perform a waiting operation according to the optimal waiting time parameter obtained for video block k.
[0071] Collect feedback information such as buffer status and transmission latency, upload it to the cloud server, and update the current system status.
[0072] Furthermore, determining whether all video segments have been downloaded and whether the user has prematurely exited the viewing process involves:
[0073] Determine if all video blocks have been downloaded. If yes, end the transmission; otherwise, proceed to the next step. Determine if the user has prematurely exited the viewing session. If yes, end the transmission; otherwise, return to steps 2 through 5.
[0074] A data-saving adaptive bitrate control system, comprising:
[0075] The initial module, namely the parsing module, downloads and parses the MPD file to obtain video slice information; downloads the first video block at the lowest bitrate; and records the state of the buffer and the transmission delay.
[0076] The first prediction module predicts the throughput during the download process of the kth to k+Nth video blocks by using the weighted harmonic mean of historical throughput observations.
[0077] The second prediction module predicts the trajectory of system state changes during the download of the next N video blocks based on the obtained throughput prediction and the current system state.
[0078] The module is designed to calculate the expected user experience quality gains from downloading the kth to k+Nth video blocks based on the acquired throughput prediction and the acquired system state change trajectory, and to predict the potential data waste during the download of the next N video blocks, thus establishing a local optimization problem.
[0079] The control module uses an optimization algorithm to solve a local optimization problem, obtains the optimal control input sequence within the current control cycle, implements the control strategy for the current time step, performs video download and waiting operations, records the system response, and updates the system status.
[0080] The determination module determines whether all video blocks have been downloaded and whether the user has prematurely exited the viewing session, until the transmission is stopped.
[0081] Compared with the prior art, the present invention has the following beneficial effects:
[0082] This invention reduces video playback startup latency by downloading the first video block at the minimum bitrate, records system response, and updates system state. It predicts the throughput during the download of the next N video blocks using a weighted harmonic average of historical throughput observations. Combining throughput prediction and current system state measurements, it predicts the system state trajectory during the download of the next N video blocks, with state variables including video block transmission time, remaining video length in the buffer, and remaining video data volume in the buffer. Using the throughput prediction results and the predicted system state trajectory, it calculates the expected user experience quality benefits of downloading the next N video blocks and the potential bandwidth waste during the download process, thus constructing a local optimization problem. A genetic algorithm is used to solve the local optimization problem, generating the optimal control input sequence. The optimal control strategy at the current time step is implemented, executing video download and waiting operations, recording system response, and updating system state. It checks whether all video blocks have been downloaded or whether the user has prematurely exited viewing; if neither occurs, the above steps are repeated; otherwise, the transmission process is terminated. Through continuous iterative optimization, this invention maintains a low buffering level during video transmission, effectively solving the bandwidth waste problem caused by excessive buffer data accumulation. Simultaneously, an iterative optimization strategy is employed, allowing for adjustments to the control strategy based on the latest data and feedback, thereby enhancing the system's robustness and adaptability. By addressing the dual optimization issues of bandwidth wastage and transmission quality at each time step to obtain the optimal download bitrate and latency parameters, significant bandwidth wastage is reduced while maintaining high transmission quality. Attached Figure Description
[0083] To more clearly illustrate the technical solutions of the embodiments of the present invention, the accompanying drawings used in the embodiments will be briefly introduced below. It should be understood that the following drawings only show some embodiments of the present invention and should not be regarded as a limitation on the scope. For those skilled in the art, other related drawings can be obtained based on these drawings without creative effort.
[0084] Figure 1 This is a flowchart illustrating an adaptive bitrate control method for saving data traffic according to the present invention.
[0085] Figure 2 This is another flowchart illustrating the adaptive bitrate control method for traffic saving according to the present invention.
[0086] Figure 3 Architecture diagram of an adaptive bitrate control system for saving bandwidth;
[0087] Figure 4 This is a schematic diagram of the initial transmission stage of the present invention;
[0088] Figure 5This is a schematic diagram of the future throughput prediction process of the present invention;
[0089] Figure 6 This is a schematic diagram of the system state trajectory prediction process of the present invention;
[0090] Figure 7 This is a schematic diagram of the adaptive bitrate control system for traffic saving of the present invention. Detailed Implementation
[0091] To make the objectives, technical solutions, and advantages of the embodiments of the present invention clearer, the technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. The components of the embodiments of the present invention described and shown in the accompanying drawings can generally be arranged and designed in various different configurations.
[0092] Therefore, the following detailed description of the embodiments of the invention provided in the accompanying drawings is not intended to limit the scope of the claimed invention, but merely to illustrate selected embodiments of the invention. All other embodiments obtained by those skilled in the art based on the embodiments of the invention without inventive effort are within the scope of protection of the invention.
[0093] It should be noted that similar labels and letters in the following figures indicate similar items. Therefore, once an item is defined in one figure, it does not need to be further defined and explained in subsequent figures.
[0094] In the description of the embodiments of the present invention, it should be noted that if terms such as "upper," "lower," "horizontal," or "inner" indicate the orientation or positional relationship based on the orientation or positional relationship shown in the accompanying drawings, or the orientation or positional relationship commonly used when the product of the invention is in use, they are only for the convenience of describing the present invention and simplifying the description, and do not indicate or imply that the device or element referred to must have a specific orientation, or be constructed and operated in a specific orientation, and therefore should not be construed as a limitation of the present invention. Furthermore, terms such as "first" and "second" are only used to distinguish descriptions and should not be construed as indicating or implying relative importance.
[0095] Furthermore, the use of the term "horizontal" does not imply that the component must be absolutely horizontal, but rather that it can be slightly tilted. For example, "horizontal" simply means that its direction is more horizontal than "vertical," and does not mean that the structure must be completely horizontal, but can be slightly tilted.
[0096] In the description of the embodiments of the present invention, it should also be noted that, unless otherwise explicitly specified and limited, the terms "set," "install," "connect," and "link" should be interpreted broadly. For example, they can refer to a fixed connection, a detachable connection, or an integral connection; they can refer to a mechanical connection or an electrical connection; they can refer to a direct connection or an indirect connection through an intermediate medium; and they can refer to the internal connection of two components. Those skilled in the art can understand the specific meaning of the above terms in the present invention according to the specific circumstances.
[0097] The present invention will now be described in further detail with reference to the accompanying drawings:
[0098] See Figure 1 , Figure 2 and Figure 3 This invention discloses an adaptive bitrate control method for saving data traffic, comprising:
[0099] S101: Establish connection with the server; download and parse the MPD file to obtain video slice information; download the first video block at the lowest bitrate; record the buffer status and transmission latency;
[0100] See Figure 4 An HTTP connection is established between the client and the server to download and parse the MPD file to obtain video segment information. Based on the obtained video segment information, the minimum bitrate is selected to start downloading the first video block. The status of the buffer and the transmission latency are monitored and recorded, and then fed back to the cloud server.
[0101] S102: Predict the throughput during the download process of the kth to k+Nth video blocks by using the weighted harmonic mean of historical throughput observations;
[0102] S102.1: See Figure 5 Determine whether the historical time window T is less than the number of downloaded video blocks k-1. If not, update the time window to T→k-1. If so, calculate the average throughput observation of the historical T transmissions.
[0103] S102.2: Collect the data volume and transmission latency information of video blocks downloaded in the historical time window T, and obtain the average throughput observation value of the historical T transmissions, specifically:
[0104] Throughput i =Data volume i / transmission delay i ,i∈{kT,…,k-1}
[0105] S102.3: Collect the time distance between each historical throughput observation and the current time point, and obtain the weight m of each observation based on the exponential decay function.i ;
[0106] m i =exp(-λ*time distance) i ), i∈{kT,…,k-1}
[0107] Wherein, λ is the attenuation factor, used to adjust the attenuation rate;
[0108] S102.4: Based on the obtained average throughput observations and the weight of each observation, obtain the weighted harmonic mean of the historical throughput observations, and predict the throughput during the download process of the kth to k+Nth video blocks in the future;
[0109]
[0110] S103: Based on the obtained throughput prediction and the current system state, predict the trajectory of system state changes during the download of the next N video blocks;
[0111] See Figure 6 S103.1: Based on the obtained throughput prediction, calculate the bit rate R k The transmission latency required to download the k-th video block is as follows:
[0112]
[0113] Based on the obtained transmission delay prediction results and the current system state, the transmission time of the (k+1)th video block is calculated as follows:
[0114]
[0115] S103.2: Based on the obtained transmission delay prediction results and the current system state, calculate the remaining video length in the buffer at the (k+1)th video block transmission time:
[0116]
[0117] Where L is the length of a single video block;
[0118] S103.3: Based on the obtained transmission delay prediction results and the current system state, calculate the amount of remaining video data in the buffer during the download of the (k+1)th video block; specifically:
[0119] Calculation within the time interval Within, the amount of video data remaining in the buffer during the download of the (k+1)th video block:
[0120]
[0121] The consumption rate and replenishment rate are calculated as follows:
[0122] Scenario 1: When If the buffer has sufficient video data and playback will not be interrupted, then the formula for calculating the consumption rate within the current time interval is:
[0123]
[0124] During this time interval, video block k segments are downloaded to the buffer one by one, and the replenishment rate can be approximated as:
[0125]
[0126]
[0127] Scenario 2: When Insufficient remaining video length in the buffer may cause playback interruption. Therefore, the current time interval needs to be divided into two stages for calculation. In the first stage, i.e., t∈(sending time)... k Sending time k +Buffer length k Within this phase, the video data in the buffer is sufficient for playback, so there will be no interruption. During this phase, the data consumption rate and replenishment rate are calculated in the same way as in case one. In the second phase, i.e. If there is no playable video in the buffer during this period, only data is added and no data is consumed. Therefore, the calculation method for the buffer video data addition rate during this time interval is the same as in case one, while the buffer video data consumption rate is zero.
[0128]
[0129] S103.4: Calculation within the time interval Within this time interval, the remaining video data in the buffer during the download of the (k+1)th video block. During this interval, the download of video block k is complete; therefore, this stage only involves data consumption, not data replenishment. The specific calculation formula is as follows:
[0130]
[0131] The formula for calculating the consumption rate is as follows:
[0132]
[0133] Iterate through S103.1-S103.4 to obtain the transmission time of the {k,k+1,…,k+N}th video block, the remaining video length in the buffer at the transmission time, and the transmission time within the time interval (transmission time). k Sending time k+N The amount of remaining video data in the buffer within ] .
[0134] S104: Based on the obtained throughput prediction and the obtained system state change trajectory, calculate the expected user experience quality gain when downloading the k to k+N video blocks, and predict the potential data waste during the download of the next N video blocks, and establish a local optimization problem.
[0135] Calculate the expected user experience quality improvement brought by downloading video blocks {k,…,k+N}, specifically:
[0136]
[0137] The video quality is quantified using the download bitrate of each video block. Based on the predicted transmission delay of the next N video blocks and the remaining video length in the buffer at the transmission time of the next N video blocks, the stuttering time during the transmission of video blocks {k,…,k+N} is calculated.
[0138] Lag Time j = (transmission delay) j -Buffer length j ) + j = {k,…,k+N}
[0139] The smoothness of video playback is quantified by the difference in download bitrate between video blocks:
[0140] Smoothness j =|R j -R j-1 |,j={k,…,k+N}
[0141] Based on the average amount of remaining video data in the buffer during the download of the next N video blocks, we can approximately calculate the bandwidth waste that could occur if a user prematurely exits the viewing session within the time frame of downloading video blocks {k,…,k+N}.
[0142]
[0143] Establish a local optimization problem, specifically:
[0144] Based on the parsed MPD file, obtain the selectable bitrate variable {R} for video blocks {k,…,k+N}. j The range of |j=k,…,k+N} and the corresponding amount of data;
[0145] Based on the buffer limit and stuttering avoidance strategy, update the control range of the wait time variable:
[0146] ((buffer length) j Download time j ) + +L - Buffer limit) + ≤waiting timej
[0147] ≤(buffer length) j Download time j ) + +L,j=k,…,k+N
[0148] Construct the optimization objective function for the current time step, specifically as follows:
[0149]
[0150] Where, β k The parameter is used to adjust the weighting of user experience quality and data waste in the optimization objective, and is used to adjust the β value at the current time step by the degree of network fluctuation over a past period. k Parameters updated:
[0151]
[0152] in,
[0153] S105: Use optimization algorithms to solve local optimization problems, obtain the optimal control input sequence within the current control cycle; implement the control strategy at the current time step, perform video download and waiting operations; record the system response and update the system state;
[0154] A genetic algorithm is used to solve the local optimization problem and obtain the optimal download bitrate and waiting time parameters for the next N video blocks;
[0155] Download video block k at the optimal download bitrate obtained; after video block k is downloaded, perform a waiting operation according to the optimal waiting time parameter obtained for video block k.
[0156] Collect feedback information such as buffer status and transmission latency, upload it to the cloud server, and update the current system status.
[0157] S106: Determine whether all video blocks have been downloaded and whether the user has exited the viewing session prematurely. If yes, stop the transmission; otherwise, repeat S102 to S105 until the transmission stops.
[0158] Determine if all video blocks have been downloaded. If yes, end the transmission; otherwise, proceed to the next step. Determine if the user has prematurely exited the viewing session. If yes, end the transmission; otherwise, return and repeat steps S102 to S105 until transmission stops.
[0159] See Figure 7 This invention discloses a traffic-saving adaptive bitrate control system, comprising:
[0160] The initial module, namely the parsing module, downloads and parses the MPD file to obtain video slice information; downloads the first video block at the lowest bitrate; and records the state of the buffer and the transmission delay.
[0161] The first prediction module predicts the throughput during the download process of the kth to k+Nth video blocks by using the weighted harmonic mean of historical throughput observations.
[0162] The second prediction module predicts the trajectory of system state changes during the download of the next N video blocks based on the obtained throughput prediction and the current system state.
[0163] The module is designed to calculate the expected user experience quality gains from downloading the kth to k+Nth video blocks based on the acquired throughput prediction and the acquired system state change trajectory, and to predict the potential data waste during the download of the next N video blocks, thus establishing a local optimization problem.
[0164] The control module uses an optimization algorithm to solve a local optimization problem, obtains the optimal control input sequence within the current control cycle, implements the control strategy for the current time step, performs video download and waiting operations, records the system response, and updates the system status.
[0165] The determination module determines whether all video blocks have been downloaded and whether the user has prematurely exited the viewing session, until the transmission is stopped.
[0166] The above are merely preferred embodiments of the present invention and are not intended to limit the present invention. Various modifications and variations can be made to the present invention by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the present invention should be included within the scope of protection of the present invention.
Claims
1. A data-saving adaptive bitrate control method, characterized in that, include: Step 1: Establish a connection with the server, download and parse the MPD file, and obtain video segment information; Download the first video chunk at the lowest bitrate; Record the status of the buffer and the transmission latency; Step 2: Predict the future throughput using the weighted harmonic mean of historical throughput observations. to Throughput during the download process of a single video block; Step 3: Based on the obtained throughput prediction and the current system state, predict the future. The system's state change trajectory during the download of each video block; Step 4: Based on the obtained throughput prediction and the obtained system state change trajectory, calculate the download... to The expected user experience quality gains for each video block, and predictions for the future. The potential data waste during the download of each video block is investigated to identify local optimization issues. Step 5: Use optimization algorithms to solve the local optimization problem, obtain the optimal control input sequence within the current control cycle; implement the control strategy for the current time step, perform video download and waiting operations; record the system response and update the system state; Step 6: Determine whether all video blocks have been downloaded and whether the user has prematurely exited the viewing session. If yes, stop the transmission; otherwise, repeat steps 2 to 5 until the transmission stops.
2. The adaptive bitrate control method for saving data traffic according to claim 1, characterized in that, The process of establishing a connection with the server, downloading and parsing the MDP file, downloading the first video block at the lowest bitrate, and recording the buffer status and transmission latency are as follows: An HTTP connection is established between the client and the server to download and parse the MPD file to obtain video segment information. Based on the obtained video segment information, the minimum bitrate is selected to start downloading the first video block. The status of the buffer and the transmission latency are monitored and recorded, and then fed back to the cloud server.
3. The adaptive bitrate control method for traffic saving according to claim 2, characterized in that, The weighted harmonic mean of historical throughput observations is used to predict the future throughput. to The throughput during the download process of each video block is as follows: 3.1: Determining Historical Time Windows Is it less than the number of downloaded video chunks? If not, update the time window as follows: ; 3.2: Historical Time Window Collection The data volume and transmission latency information of each downloaded video block are used to calculate the historical time window. The average throughput observation for each transmission is as follows: 3.3: Collect the time distance between each historical throughput observation and the current time point, and obtain the weight of each observation based on the exponential decay function. Specifically: Wherein, λ is the attenuation factor, used to adjust the attenuation rate; 3.4: Based on the obtained average throughput observations and the weight of each observation, calculate the weighted harmonic mean of the historical throughput observations to predict the future throughput. to The throughput during the download process of each video block is as follows:
4. The adaptive bitrate control method for traffic saving according to claim 3, characterized in that, based on the acquired throughput prediction and the current system state, the future... The system's state changes during the download of each video block are as follows: 4.1: Based on the obtained throughput prediction, calculate the bitrate... Download the The transmission latency required for each video block is as follows: Based on the obtained transmission delay prediction results and the current system state, calculate the first... The specific times for sending each video block are as follows: 4.2: Based on the obtained transmission delay prediction results and the current system state, calculate the... The remaining video length in the buffer at the time of transmission of each video block: in, L is the length of a single video block; 4.3: Based on the obtained transmission delay prediction results and the current system state, calculate the... The amount of video data remaining in the buffer during the download of each video block; specifically: Calculation within the time interval within, no. The amount of video data remaining in the buffer during the download of each video block: The consumption rate and replenishment rate are calculated as follows: Scenario 1: When If the buffer has sufficient video data and playback is not interrupted, then the consumption rate within the current time interval is calculated using the following formula: Within this time interval, video blocks The segments are downloaded one by one to the buffer, and the replenishment rate can be approximately calculated as: Scenario 2: When If the remaining video length in the buffer is insufficient, playback may be interrupted. Therefore, the current time interval needs to be divided into two stages for calculation. In the first stage, i.e. Within this phase, the video data in the buffer is sufficient for playback, so there will be no interruption. During this phase, the data consumption rate and replenishment rate are calculated in the same way as in case one. In the second phase, i.e. If there is no playable video in the buffer during this period, only data is added and no data is consumed. Therefore, the calculation method for the buffer video data addition rate during this time interval is the same as in case one, while the buffer video data consumption rate is zero. 4.4: Calculation within the time interval within, no. The amount of remaining video data in the buffer during the download of a video block, within this time interval, the video block The download is complete, therefore this stage only involves data consumption, not data replenishment. The specific calculation formula is as follows: The formula for calculating the consumption rate is as follows: Iterations 4.1-4.4 yield the [number]th iteration. The transmission time of each video block, the remaining video length in the buffer at the transmission time, and the time interval The amount of video data remaining in the buffer.
5. The adaptive bitrate control method for traffic saving according to claim 4, characterized in that, The calculation download number to The expected user experience quality gains for each video block, and predictions for the future. The potential data waste during the download of each video block is as follows: Calculate the download video blocks The expected benefits to user experience quality are as follows: Among these methods, the download bitrate of video blocks is used to quantify video quality, based on the acquired future... The transmission delay prediction results and the obtained future video blocks Calculate the remaining video length in the buffer at the time each video block is sent, and calculate the video block length. Transmission latency: The smoothness of video playback is quantified by the difference in download bitrate between video blocks: Based on the future The average amount of remaining video data in the buffer during the download of each video block is used to approximate the amount of video data downloaded. The data wastage that can result from users prematurely exiting the viewing session within the specified time:
6. The adaptive bitrate control method for traffic saving according to claim 5, characterized in that, The establishment of the local optimization problem is specifically as follows: Based on the parsed MPD file, obtain video blocks. Selectable bitrate variables The scope and the corresponding amount of data; Based on the buffer limit and stuttering avoidance strategy, update the control range of the wait time variable: Construct the optimization objective function for the current time step, specifically as follows: in, The parameters are used to adjust the weighting of user experience quality and data waste in the optimization objectives, and are adjusted based on the degree of network fluctuation over a past period in relation to the current time step. Parameters updated: 。 7. The adaptive bitrate control method for traffic saving according to claim 6, characterized in that, The process involves using an optimization algorithm to solve a local optimization problem, obtaining the optimal control input sequence within the current control cycle, implementing the control strategy for the current time step, performing video download and waiting operations, recording the system response, and updating the system state. Specifically: Genetic algorithms are used to solve local optimization problems and obtain future... The optimal download bitrate and waiting time parameters for each video block; With the obtained video blocks The optimal download bitrate for video blocks Download; video block After downloading, based on the obtained video blocks Find the optimal waiting time parameter and execute the waiting operation; Collect feedback information such as buffer status and transmission latency, upload it to the cloud server, and update the current system status.
8. The adaptive bitrate control method for traffic saving according to claim 7, characterized in that, The determination of whether all video blocks have been downloaded and whether the user has prematurely exited the viewing process specifically involves: Determine if all video blocks have been downloaded. If yes, end the transmission; otherwise, proceed to the next step. Determine if the user has prematurely exited the viewing session. If yes, end the transmission; otherwise, return to steps 2 through 5.
9. A data-saving adaptive bit rate control system, characterized in that, include: The initial module downloads and parses the MPD file to obtain video slice information; Download the first video chunk at the lowest bitrate; record the buffer status and transmission latency; The first prediction module predicts the future throughput using a weighted harmonic mean of historical throughput observations. to Throughput during the download process of a single video block; The second prediction module predicts the future based on the acquired throughput prediction and the current system state. The system's state change trajectory during the download of each video block; The construction module, based on the acquired throughput prediction and the acquired system state change trajectory, calculates the download of the first... to The expected user experience quality gains for each video block, and predictions for the future. The potential data waste during the download of each video block is investigated to identify local optimization issues. The control module uses an optimization algorithm to solve a local optimization problem, obtains the optimal control input sequence within the current control cycle, implements the control strategy for the current time step, performs video download and waiting operations, records the system response, and updates the system status. The determination module determines whether all video blocks have been downloaded and whether the user has prematurely exited the viewing session, until the transmission is stopped.