Cloud-edge collaborative video distribution method and related equipment based on limited edge caching
By employing a cloud-edge collaborative video distribution method based on limited edge caching, and utilizing decision-making actions and reward mechanisms to optimize video block caching, combined with deep learning and reinforcement learning, the contradiction between cache space and video experience quality in traditional methods is resolved, achieving efficient video distribution.
Patent Information
- Application Number
- CN202510120616.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-01-25
- Publication Date
- 2025-10-31
- Estimated Expiration
- 2045-01-25
AI Technical Summary
Traditional methods of allocating cache storage based on video blocks cannot guarantee the quality of the user's video viewing experience while using as little cache space as possible.
A cloud-edge collaborative video distribution method based on limited edge caching is adopted. By acquiring information such as video block download time, network throughput, and multi-codec bit rate, the video block caching operation is optimized by using decision actions and reward mechanisms. Deep learning and reinforcement learning are combined to optimize cache deployment and codec decisions.
Maintain the quality of the user's video viewing experience while using as few edge caching resources as possible, reduce cache space usage, and improve cache hit rate and user experience.
Smart Images

Figure CN119946312B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of streaming media transmission technology, and in particular to a cloud-edge collaborative video distribution method and related equipment based on limited edge caching. Background Technology
[0002] In existing technical solutions, in order to make full use of cached video, a learning-based fuzzy bitrate matching strategy (LFBM) is used to design an intelligent neural network to determine whether to respond with the exact video segment bitrate requested by the ABR, and to utilize the LFBM-based caching strategy to be compatible with the proposed response scheme.
[0003] Although this method allocates cache storage by video block, the fuzzy bitrate matching improves edge hit rate at the cost of reduced video quality. As a result, the traditional method of allocating cache storage by video block cannot achieve the goal of using as little cache space as possible while ensuring the quality of the user's video viewing experience. Summary of the Invention
[0004] The purpose of this application is to propose a cloud-edge collaborative video distribution method and related equipment based on limited edge caching, so as to solve the problem that the traditional method of allocating cache storage according to video blocks cannot achieve the goal of using as little cache space as possible while ensuring the quality of the user's video viewing experience.
[0005] To address the aforementioned technical problems, this application provides a cloud-edge collaborative video distribution method based on limited edge caching, employing the following technical solution:
[0006] Accept video distribution requests from user terminals for videos to be played;
[0007] Obtain the playback status, video data, and block cache statistics of the video to be played;
[0008] If the playback status is either the first playback status or the playback interruption status, then the video data is cached according to the FVC video codec.
[0009] If the playback state is not the initial start state or the playback interruption state, then the download time and network throughput of the downloaded video blocks are obtained according to the block cache statistics, and the available size of the next video block, the cache status of all multi-codec bitrates of the next video block, the current multi-codec bitrate, the buffer size, and the cache status of the current video block are obtained.
[0010] The current decision action is determined based on the download time of the downloaded video block, the network throughput measurement of the downloaded video block, the available size of the next video block, the buffer status of all multicodec bitrates for the next video block, the current multicodec bitrate, the buffer size, and the buffer status of the current video block. The current decision action a... i Represented as:
[0011] a i =(r i ,e i ,p i )
[0012] Where, r i e represents the current multi-codec bit rate. i The coded decision variable is represented by the source decision variable;
[0013] Based on the current decision action, perform a video block caching operation on the video data.
[0014] Furthermore, after determining the current decision action based on the download time of the downloaded video block, the network throughput measurement of the downloaded video block, the available size of the next video block, the buffer status of all multicodec bitrates of the next video block, the current multicodec bitrate, the buffer size, and the buffer status of the current video block, the following steps are also included:
[0015] When the current decision action is executed, the current decision action is scored according to the decision reward mechanism to obtain decision feedback information.
[0016] Furthermore, the decision feedback information reward i Represented as:
[0017] reward i =q i (c)-p i [b i -d i -Bth] +
[0018] Where, q i (c) represents the user experience quality of the i-th video block, p i Let b represent the source decision variable. i Indicates the changing state of the video stack area, d i B represents the total download time of the i-th video segment. th This indicates the buffer penalty threshold.
[0019] Furthermore, the user experience quality q i(c) is represented as:
[0020]
[0021] The first term represents a monotonically non-negative function of the video bitrate, the second term represents the video stuttering time, the third term represents the bitrate switching between consecutive segments, and μ and σ represent the non-negative weights of the latter two terms.
[0022] Furthermore, the changing state b of the video stack area i Represented as:
[0023]
[0024] Where, τ i This represents the wireless network download time, where T represents the routing latency. Indicates the use of encoder e i Encoded as g j Is the i-th video segment of bitrate cached by the edge server? Indicates encoder e i Encoded as g j The decoding time corresponding to the i-th video segment at the bit rate.
[0025] To address the aforementioned technical problems, this application also provides a cloud-edge collaborative video distribution device based on limited edge caching, employing the following technical solution:
[0026] The request acquisition module is used to accept video distribution requests for videos to be played from user terminals;
[0027] The cache information acquisition module is used to acquire the playback status, video data, and block cache statistics of the video to be played;
[0028] The first video block caching module is used to perform video block caching operations on the video data according to the FVC video codec when the playback state is the first playback state or the playback interruption state.
[0029] The cache status information acquisition module is used to obtain the download time and network throughput measurement of the downloaded video block according to the block cache statistics if the playback status is not the first start status or the playback interruption status, and to obtain the available size of the next video block, the cache status of all multi-codec bitrates of the next video block, the current multi-codec bitrate, the buffer size, and the cache status value of the current video block.
[0030] The decision action determination module is used to determine the current decision action based on the download time of the downloaded video block, the network throughput measurement of the downloaded video block, the available size of the next video block, the buffer status of all multi-codec bitrates of the next video block, the current multi-codec bitrate, the buffer size, and the buffer status of the current video block. The current decision action is defined as follows: i Represented as:
[0031] a i =(r i ,e i ,p i )
[0032] Where, r i e represents the current multi-codec bit rate. i The coded decision variable is represented by the source decision variable;
[0033] The second video block caching module is used to perform video block caching operations on the video data according to the current decision action.
[0034] Furthermore, the device also includes:
[0035] The scoring module is used to score the current decision action according to the decision reward mechanism when the current decision action is executed, and to obtain decision feedback information.
[0036] Furthermore, the decision feedback information reward i Represented as:
[0037] reward i =q i (c)-p i [b i -d i -B th ] +
[0038] Where, q i (c) represents the user experience quality of the i-th video block, p i Let b represent the source decision variable. i Indicates the changing state of the video stack area, d i B represents the total download time of the i-th video segment. th This indicates the buffer penalty threshold.
[0039] To address the aforementioned technical problems, this application also provides a computer device that employs the following technical solution:
[0040] It includes a memory and a processor, wherein the memory stores computer-readable instructions, and the processor executes the computer-readable instructions to implement the steps of the cloud-edge collaborative video distribution method based on limited edge caching as described above.
[0041] To address the aforementioned technical problems, this application also provides a computer-readable storage medium, employing the technical solution described below:
[0042] The computer-readable storage medium stores computer-readable instructions, which, when executed by a processor, implement the steps of the cloud-edge collaborative video distribution method based on limited edge caching as described above.
[0043] This application provides a cloud-edge collaborative video distribution method based on limited edge caching, comprising: receiving a video distribution request for a video to be played from a user terminal; obtaining the playback status, video data, and block cache statistics of the video to be played; if the playback status is a first-time playback status or a playback interruption status, then performing video block caching operations on the video data according to the FVC video codec; if the playback status is not a first-time start status or a playback interruption status, then obtaining the download time and network throughput measurement of the downloaded video blocks according to the block cache statistics, and obtaining the available size of the next video block, the cache status of all multi-codec bitrates of the next video block, the current multi-codec bitrate, the buffer size, and the cache status of the current video block; determining a current decision action based on the download time of the downloaded video blocks, the network throughput measurement of the downloaded video blocks, the available size of the next video block, the cache status of all multi-codec bitrates of the next video block, the current multi-codec bitrate, the buffer size, and the cache status of the current video block, wherein the current decision action a i Represented as: a i =(r i ,e i ,p i ), where r i e represents the current multi-codec bit rate. i Let represent the encoding decision variable and represent the source decision variable; video block caching operations are performed on the video data according to the current decision action. Compared with the prior art, this application utilizes the correlation between edge caching deployment and bitrate decision, as well as the effectiveness of learning-based video codecs, to maintain the quality of the user's video viewing experience while using as few edge caching resources as possible. Attached Figure Description
[0044] To more clearly illustrate the solutions in this application, the accompanying drawings used in the description of the embodiments of this application will be briefly introduced below. Obviously, the accompanying drawings described below are some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0045] Figure 1 This is an exemplary system architecture diagram to which this application can be applied;
[0046] Figure 2 This is a flowchart illustrating the implementation of the cloud-edge collaborative video distribution method based on limited edge caching provided in this application embodiment;
[0047] Figure 3 This is a schematic diagram of the structure of the multi-bitrate DASH video edge buffer system provided in the embodiments of this application;
[0048] Figure 4 This is a schematic diagram of the SABC process framework provided in the embodiments of this application;
[0049] Figure 5 This is a schematic diagram illustrating the comparison of the SABC with the baseline caching framework provided in this application under different wireless network conditions.
[0050] Figure 6 This is a schematic diagram of the cloud-edge collaborative video distribution device based on limited edge caching provided in an embodiment of this application;
[0051] Figure 7 This is a schematic diagram of the structure of one embodiment of the computer device according to this application. Detailed Implementation
[0052] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application pertains; the terminology used herein in the specification of the application is for the purpose of describing particular embodiments only and is not intended to be limiting of the application; the terms "comprising" and "having," and any variations thereof, in the specification, claims, and foregoing drawings of this application, are intended to cover non-exclusive inclusion. The terms "first," "second," etc., in the specification, claims, or foregoing drawings of this application are used to distinguish different objects, not to describe a particular order.
[0053] In this document, the term "embodiment" means that a particular feature, structure, or characteristic described in connection with an embodiment may be included in at least one embodiment of this application. The appearance of this phrase in various places throughout the specification does not necessarily refer to the same embodiment, nor is it a separate or alternative embodiment mutually exclusive with other embodiments. It will be explicitly and implicitly understood by those skilled in the art that the embodiments described herein can be combined with other embodiments.
[0054] To enable those skilled in the art to better understand the present application, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings.
[0055] like Figure 1 As shown, system architecture 100 may include terminal device 101, network 102, and server 103. Terminal device 101 may be a laptop 1011, tablet 1012, or mobile phone 1013. Network 102 is used as a medium to provide a communication link between terminal device 101 and server 103. Network 102 may include various connection types, such as wired, wireless communication links, or fiber optic cables, etc.
[0056] Users can use terminal device 101 to interact with server 103 via network 102 to receive or send messages, etc. Various communication client applications can be installed on terminal device 101, such as web browser applications, shopping applications, search applications, instant messaging tools, email clients, social media platform software, etc.
[0057] Terminal device 101 can be various electronic devices with a display screen and support web browsing. In addition to laptops 1011, tablets 1012, or mobile phones 1013, terminal device 101 can also be an e-book reader, an MP3 player (Moving Picture Experts Group Audio Layer III), an MP4 player (Moving Picture Experts Group Audio Layer IV), a laptop computer, and a desktop computer, etc.
[0058] Server 103 can be a server that provides various services, such as a backend server that provides support for the pages displayed on terminal device 101.
[0059] It should be noted that the cloud-edge collaborative video distribution method based on limited edge caching provided in this application embodiment is generally executed by a server / terminal device, and correspondingly, the cloud-edge collaborative video distribution device based on limited edge caching is generally set in the server / terminal device.
[0060] It should be understood that Figure 1 The number of terminal devices, networks, and servers shown is merely illustrative. Depending on implementation needs, any number of terminal devices, networks, and servers can be included.
[0061] Continue to refer to Figure 2 The diagram illustrates a flowchart of an embodiment of a cloud-edge collaborative video distribution method based on limited edge caching according to this application. The cloud-edge collaborative video distribution method based on limited edge caching includes steps S201, S202, S203, S204, S205, S206, and S207.
[0062] In step S201, a video distribution request for the video to be played is received from the user terminal;
[0063] In step S202, the playback status, video data, and block cache statistics of the video to be played are obtained;
[0064] In step S203, if the playback state is either the first playback state or the playback interruption state, then the video data is cached according to the FVC video codec.
[0065] In step S204, if the playback state is not the first start state or the playback interruption state, the download time and network throughput measurement of the downloaded video blocks are obtained according to the block cache statistics, and the available size of the next video block, the cache status of all multi-codec bitrates of the next video block, the current multi-codec bitrate, the buffer size, and the cache status of the current video block are obtained.
[0066] In step S205, a current decision action is determined based on the download time of the downloaded video block, the network throughput measurement of the downloaded video block, the available size of the next video block, the buffer status of all multi-codec bitrates of the next video block, the current multi-codec bitrate, the buffer size, and the buffer status of the current video block. The current decision action a... i Represented as:
[0067] a i =(r i ,e i ,p i )
[0068] Where, r i e represents the current multi-codec bit rate. i The coded decision variable is represented by the source decision variable;
[0069] In step S206, video block caching is performed on the video data according to the current decision action.
[0070] In the embodiments of this application, the user terminal refers to a terminal device used to execute the image processing method for preventing document abuse provided in this application. The user terminal may be a mobile terminal such as a mobile phone, smartphone, laptop, digital broadcast receiver, PDA (personal digital assistant), PAD (tablet computer), PMP (portable multimedia player), navigation device, etc., as well as a fixed terminal such as a digital TV, desktop computer, etc. It should be understood that the examples of user terminals here are only for convenience of understanding and are not intended to limit this application.
[0071] In the embodiments of this application, Figure 3 This application describes a typical caching scenario considered in this application, which includes a core server, edge servers, and end users. The core server stores video segments across all bitrate versions corresponding to the video content, while edge servers, deployed in conjunction with base stations, provide low-latency network connectivity through direct interaction with users. Furthermore, the edge servers are linked to the core server via a fiber optic backhaul link, allowing retrieval of any video block as needed. However, due to limited capacity, the edge servers can only cache a subset of video segments and bitrate versions, directly sending the cached video segments to the user end to reduce routing latency and enhance user experience. When a user requests a video block not cached at the edge, the delivery network must retrieve the requested content from the origin server, resulting in additional routing time.
[0072] In this embodiment, during adaptive bitrate decision-making, the video file is divided into I video segments, each with a duration of L seconds but different file sizes. This application uses L = {0, 1, ..., I} to represent the corresponding series of video segments. R = {R1, R2, ..., R...} N} represents the available video bitrate versions, where R1 represents the lowest bitrate version, R N This is the highest bitrate version. When determining the bitrate version for the current video segment, the user also needs to determine the encoding method for that segment. i This is the encoding decision variable. It represents the bitrate version used by the current video segment. A value of 0 indicates that H.264 encoding is selected, and a value of 1 indicates that FVC encoding is selected.
[0073] In the embodiments of this application, this application uses This indicates that the encoder k is used to encode R. jThis indicates whether the i-th video segment at a certain bitrate is cached by the edge server. A value of 1 indicates that it is cached, and 0 indicates otherwise. This application defines X as representing the edge caching status. When the video segment requested by the user is cached at the edge, the edge server can directly respond to the request. When the segment is not cached, it is necessary to request resources from the core server through the backhaul link, thus incurring routing latency.
[0074] In this embodiment, when the (i-1)th segment is downloaded, the bitrate decision is made based on the current network status, video playback conditions, and edge caching deployment, selecting an appropriate multi-version bitrate and resource request source. This application defines P... i Let be the source decision variable, where 0 indicates that the bitrate decision determines to send the resource request to the core server, and 1 indicates a positive value. Therefore, for each segment, its total download time consists of two parts: the wireless network download time τ. i And the possible routing delay T.
[0075] This application uses This indicates that the encoder k is used to encode R. j Given the file size of the i-th video segment at a given bitrate, and F recording the file sizes of all segments, the download time in a wireless network can be determined to satisfy the following constraints:
[0076]
[0077] Where t i and c t Let represent the start time of downloading the i-th segment and the instantaneous network throughput at time t, respectively. Inspired by preliminary experiments, this application also introduces video resources encoded using a learning-based codec; therefore, This indicates that the encoder k is used to encode R. j The decoding time corresponding to the i-th video segment at the given bitrate. In summary, the total download time for the i-th video segment is:
[0078]
[0079] In this application embodiment, b is defined as i This indicates the buffer usage of the video playback buffer when the download of the i-th video segment begins. Each time a segment finishes downloading, it is immediately added to the video playback stack for sequential playback to ensure a smooth viewing experience for the user. If the video is not finished downloading when the stack is exhausted, playback stuttering occurs, also known as a rebuffering state. The changing state of the video stack can be represented by the following formula:
[0080] b i+1 =[b i +d i ]+ +L(3)
[0081] In this application, there are various definitions for measuring the quality of a user's video viewing experience. To make a direct comparison with other works, this application selects the most widely used and representative user experience quality definition model in the industry.
[0082]
[0083] The first term is a monotonically nonnegative function of the video bitrate, the second term represents the video stuttering time, and the third term represents the bitrate switching between consecutive segments. μ and σ are nonnegative weights of the latter two terms.
[0084] In this application, the core issue addressed is minimizing user cache space usage while ensuring viewing quality and avoiding caching unnecessary video segments. Specifically, this application aims to achieve a cache deployment that also preserves the best user experience, as described below:
[0085]
[0086] b i+1 =[b i -d i ] + +L,i=1,...,I(5c)
[0087] Here, c belongs to a given network throughput distribution and follows a probability distribution p(c). Furthermore, while ensuring the best user experience, this application also aims to minimize edge cache storage to avoid unnecessary caching.
[0088]
[0089] Given P1 simplifies to a relatively simple integer programming problem. However, determining the formula (5) It remains extremely challenging. In fact, the strong interdependencies among the decision variables in Equation (5) complicate the min-max optimization problem of jointly optimizing cache deployment and multi-codec bitrate decision, which has been proven to be an NP-hard problem and complicates the global optimization problem P1. To this end, this application proposes to transform the thorny min-max optimization problem into a two-stage iterative optimization problem so that this application can develop an efficient solution for it.
[0090] In this application embodiment, to address the inherent complexity and convergence challenges of the original problem, this application decomposes it into a two-stage joint iterative optimization problem by fixing nested optimization variables. One stage is a multi-codec bitrate adaptation problem, and the other is a cache deployment problem. Subsequently, this application proposes SABC to solve the two-stage optimization problem separately, followed by iterative optimization, which is beneficial for converging to the global optimum.
[0091] This application observes that, given a cache deployment, the original problem is equivalent to solving P2 for any c∈C, which is actually a traditional multi-codec bitrate selection problem, and therefore can be described as follows:
[0092]
[0093] str i ∈R,e i ,p i ∈{0,1},i=1,...,I
[0094] constrains (5a-5c)
[0095] In the initial stage of multi-codec bitrate decision-making, since the goal of this application is to simultaneously optimize edge cache storage, the cache variable is initialized to X with no cache block. *(1) By solving P2 in any c∈C, this application can obtain r. *(1) |c、e *(1) |c and p *(1) |c, which represents the optimal multi-codec bitrate decision achieved under the current cache placement conditions, resulting in an average QoE of q. *(1) |c.
[0096] On the other hand, given r *(1) |c、e *(1) |c and p *(1) When |c, the optimal cache deployment is no longer X. *(1) Therefore, based on the current optimal multi-codec bitrate decision, X *(1) Should be updated to X *(2) To optimize cache storage and maintain QoE, reflecting the latest iterations of cache deployment.
[0097]
[0098] constrains (5a-5c)
[0099] This application transforms P3 into the following weighted sum optimization problem, described as follows:
[0100]
[0101] stconstrains(5a-5c)
[0102] Where ω represents the preference between edge cache storage and user QoE.
[0103] This application has received an updated cache deployment X. *(2) X *(2) Substituting P2 again, this application obtains an updated r. *(1) |c、e *(1) |c and p *(1) |c. Through iterative optimization of the two-stage optimization problem, cache deployment and multi-codec bitrate decisions are continuously updated and adjusted, thereby continuously improving QoE. The iterative optimization will terminate when the user experience converges and the edge cache storage remains unchanged.
[0104] Next, the subproblems are solved separately. Inspired by the recent success of reinforcement learning in ABR, this application employs a deep learning (DRL) approach to solve P2. Specifically, this application utilizes proximal policy optimization (PPO) based on an actor-critic architecture to train the bitrate decision.
[0105] In the embodiments of this application, such as Figure 4 As shown, to make SABC practical, this application redesigns the input of the neural network (NN) module. In addition to the regular inputs of ABR (e.g., playback state and video data), this application also incorporates block cache statistics. After downloading the i-th block, the agent uses video playback state information and edge cache state as input s. i ,Right now and These represent the download time and network throughput measurement of past blocks, respectively. and This indicates the available size of the next block and the cache status of all multi-codec bitrates for the next block. This application sets r... i b i and These represent the current multicodec bitrate, buffer size, and cache status of the current requested block, respectively.
[0106] Action: When starting to download the i-th video segment, ABR determines the bitrate version to be requested and the resource acquisition source from the discrete multi-codec bitrate. Action a i Defined as: a i =(r i ,e i ,p i The action space is further expanded due to the introduction of learning-based encoders and decoders and the increased complexity of decision-making tasks.
[0107] Rewards: When an agent takes a San action based on the current state, the environment scores the agent's decision and returns it as a reward to the agent, which helps the agent learn and evaluate the benefits of its decision.
[0108] In existing ABR streaming mechanisms, the reward function is designed to provide immediate feedback, aiming to maximize user experience, such as the current QoE of the i-th block when the network throughput is c, i.e., q. i (c) Current ABR algorithms tend to maintain a larger buffer occupancy rate to mitigate network fluctuations. A larger buffer occupancy rate ensures longer, smoother playback, allowing the player to withstand longer download times. However, QoE is not directly related to buffer occupancy rate. Increasing the buffer occupancy rate does not actually improve QoE and introduces buffer download redundancy, as users cannot perceive the download time of video chunks.
[0109] In fact, using video segment-aware QoE as a reward causes the ABR algorithm to prioritize requesting segments from edge servers. Only if the requested video segment is not cached will the ABR retrieve it from the core server. While this approach improves cache hit rates, it also increases the storage footprint of edge caches.
[0110] To train the agent to request resources from appropriate servers based on video playback conditions, this application redesigns the reward function using a source server-centric response paradigm. This aims to fully utilize the resources provided by the source and encourage the ABR to request blocks from the edge server only when necessary. Therefore, this application designs a penalty term to incentivize the agent to send resource requests to the edge server even when video playback conditions are satisfactory, expressed as: p i [b i -d i -B th ] + Among them, parameter B th This represents the buffer penalty threshold. When the duration of the video currently stored in the buffer exceeds this threshold and the agent still decides to send a request to the edge server, the decision-making agent will be penalized, thereby encouraging the ABR to send a request to the core server. Based on this mechanism, this application defines the reward after performing an action as follows:
[0111] reward i =q i (c)-p i [b i -d i -B th ] + (7)
[0112] Formula (7) is used as the reward signal, enabling the agent to make quantization and scheduling decisions. Without loss of generality, this application keeps the state as simple as the state in [previous application], and uses the same neural network and hyperparameters.
[0113] In this embodiment, estimating the expected QoE and corresponding bit rate decisions for all cache locations in P4 is challenging because the actual network distribution is difficult to describe mathematically. Therefore, this application approximates the expected value by sampling from a given network dataset.
[0114] This will convert P4 into the sum of QoE for all trajectories in the historical network dataset for all blocks.
[0115]
[0116] However, considering all possible caching deployments, the sum of the QoE for all blocks is still large. To improve sampling efficiency, this application argues that for the caching problem, the absolute value of QoE is not required, but only whether caching will improve it. Therefore, this application estimates the caching value by utilizing the cumulative edge request frequency of each block and the corresponding block size, prioritizing video segments with high request frequency and small file size. This is based on the following observation:
[0117] i) Caching blocks with higher request rates enables the edge to respond to requests quickly, avoiding routing latency and improving the user experience.
[0118] ii) Smaller blocks can effectively optimize cache storage.
[0119] In general, this application transforms Equation 8 into the following utility optimization problem:
[0120]
[0121] in, Recorded using encoder k encoded as R j The request frequency of the i-th video segment at the bitrate. The second term in Equation 9 is a linear term related to the video segment size, which will have a positive or negative impact on the cache value of each segment, effectively avoiding caching unnecessary video segments with low cache value but high storage consumption. Constraint Equation 9b restricts caching to only consider video segments that have been requested.
[0122] In practical applications, to simulate different network conditions and demonstrate the robustness of the proposed caching framework, this application utilizes two widely used public network throughput datasets (HSDPA and FCC) for training and testing. For each dataset, 80% of the network throughput is randomly selected as the training set, and the remaining 20% is used as the test set. This application employs a video dataset with six bitrates obtained from preliminary experiments, encoded by H.264 and FVC, with bitrate versions {300, 750, 1200, 1850, 2850, 4300} kbps. Additionally, this application introduces the additional decoding time shown in Table 1, corresponding to each bitrate encoded by FVC. During training, the discount factor γ is set to 0.99 to balance immediate and future rewards. The entropy weight λ decays from 3 to 0.01. The learning rates for the actor and critic networks are set to 1×10⁻⁴ and 1×10⁻⁵, respectively. The total training epochs are set to 1×10⁶, and all experimental results are averages of three random seeds. To ensure a fair comparison, this application follows the simulation settings of relevant work, as detailed in Table 1. The performance of the proposed SABC is compared with the following various caching frameworks:
[0123] • LFBM: Learning-based Fuzzy Bitrate Matching (LFBM) integrates three components: (i) a client-side rate-based adaptive bitrate algorithm, (ii) an edge learning-based agent for deciding whether to fetch content from an edge server or a core server, and (iii) a heuristic caching strategy optimized based on cache hit rate.
[0124] • LFBM-H.264: This method follows the same approach as LFBM, but is specifically designed for video content encoded only in H.264 format.
[0125] • PenCache: Based on Pensieve (a well-known ABR solution using reinforcement learning), PenCache utilizes Pensieve's open-source model to make bitrate decisions. The cache deployment is then updated using the strategy outlined in Equation (9) of this application, while taking into account Pensieve's cache hit rate.
[0126] • PenCache-H.264: This method is similar to PenCache, but it is customized for video content encoded only in H.264 format.
[0127] All computations were performed on a server equipped with an Intel(R) Xeon(R) Gold 6242 CPU and 196GB of RAM. The software environment was configured with Python 3.9.7 and CVXPY 1.4.1, and the MOSEK solver ran on Ubuntu 22.04.1. Deep learning algorithms were built using Tensorflow 2.5.0 and tflearn 0.5.0.
[0128] This application focuses on evaluating the performance of SABC versus benchmark methods under different network conditions (HSDPA and FCC) and various cache storage conditions. In SABC, the parameter ω controls the use of edge cache storage, increasing from 1×10⁻⁶ to 5×10⁻⁶ in increments of 1×10⁻⁶. For PenCache and LFBM, the edge cache storage constraint ranges from 1% to 5%.
[0129] The comparison results of cache storage and average QoE are as follows: Figure 5 (a) and Figure 5 As shown in (d), specifically, as ω increases from 1×10⁻⁶ to 5×10⁻⁶, SABC achieves QoE / Storage-Usage values of 1.01 / 1.3MB, 1.11 / 8.2MB, and 1.15 / 12.5MB, respectively. Compared to PenCache, SABC reduces edge storage utilization by 17%, 9%, and 58% while maintaining high QoE performance. The advantages of SABC become more pronounced as edge cache storage decreases. For example, at 1% cache storage utilization, PenCache achieves an average QoE of 1.01, while SABC achieves 1.03 using only 0.4% cache storage, indicating a 57% reduction in edge storage. These results demonstrate that SABC can deliver superior performance, especially with limited cache storage.
[0130] To further illustrate how SABC maintains a high QoE with less cache storage, this application examines the distribution of edge cache hit rate and buffer occupancy when SABC's ω is 5 × 10⁻⁶, and sets the cache storage constraints of PenCache and LFBM to 5%. With reduced edge cache storage, SABC effectively utilizes available cache information to determine the source of the next video chunk, rather than always requesting from the edge. Furthermore, this application uses... Figure 5 (b) and Figure 5 The cumulative distribution function in (c) analyzes cache hit rate and buffer occupancy.
[0131] Overall, SABC prioritizes caching blocks with high cache hit rates. For blocks with low cache hit rates, which offer less caching benefit while consuming storage space, SABC selectively avoids caching them to minimize storage usage without impacting QoE. Furthermore, nearly 80% of buffer occupancy in SABC remains below 20 seconds. Since users don't notice downloaded but unwatched video blocks, storing more blocks in the client's playback buffer does not improve QoE. SABC effectively utilizes buffer redundancy, requesting content from the origin server only when needed.
[0132] In this application, a cloud-edge collaborative video distribution framework based on limited edge caching is designed, integrating edge caching deployment and adaptive multi-encoding bitrate decision-making. This application focuses on emerging application scenarios where some video data can be cached on edge servers co-located with base stations, while the core servers in the Content Delivery Network (CDN) store all bitrate versions of the video. Inspired by learning-based video codec schemes, this application introduces a learning-based video codec (FVC) while using the existing encoding method (H.264). FVC obtains the corresponding codec model through neural network training, achieving high compression efficiency while introducing additional decoding latency. High compression efficiency can further reduce the size of video files, thereby reducing video download time.
[0133] In this application embodiment, the complementary advantages of two codecs are utilized to effectively address the challenges posed by complex and dynamic wireless networks. It also considers combining multiple encoding methods with the video streaming distribution network, where both the codec and bitrate are adaptively selected, a method known as multi-codec bitrate selection. Specifically, this application considers differentiated caching of blocks with different bitrates and encoding methods, along with an adaptive configuration selection algorithm. This approach aims to balance download latency, decoding latency, viewing bitrate, and bitrate fluctuations, while optimizing cache storage utilization.
[0134] This application provides a cloud-edge collaborative video distribution method based on limited edge caching, comprising: receiving a video distribution request for a video to be played from a user terminal; acquiring the playback status, video data, and block cache statistics of the video to be played; if the playback status is a first-time playback status or a playback interruption status, performing video block caching operations on the video data according to the FVC video codec; if the playback status is not a first-time start status or a playback interruption status, acquiring the download time and network throughput measurement of the downloaded video blocks according to the block cache statistics, and acquiring the available size of the next video block, the cache status of all multi-codec bitrates of the next video block, the current multi-codec bitrate, the buffer size, and the cache status of the current video block; determining a current decision action based on the download time of the downloaded video blocks, the network throughput measurement of the downloaded video blocks, the available size of the next video block, the cache status of all multi-codec bitrates of the next video block, the current multi-codec bitrate, the buffer size, and the cache status of the current video block, wherein the current decision action a i Represented as: a i =(r i ,e i ,p i ), where e i e represents the current multi-codec bit rate. i Let represent the encoding decision variable and represent the source decision variable; video block caching operations are performed on the video data according to the current decision action. Compared with the prior art, this application utilizes the correlation between edge caching deployment and bitrate decision, as well as the effectiveness of learning-based video codecs, to maintain the quality of the user's video viewing experience while using as few edge caching resources as possible.
[0135] The embodiments of this application can acquire and process relevant data based on artificial intelligence technology. Artificial intelligence (AI) refers to the theories, methods, technologies, and application systems that use digital computers or machines controlled by digital computers to simulate, extend, and expand human intelligence, perceive the environment, acquire knowledge, and use that knowledge to obtain optimal results.
[0136] Foundational technologies for artificial intelligence generally include sensors, dedicated AI chips, cloud computing, distributed storage, big data processing, operating / interactive systems, and mechatronics. AI software technologies mainly encompass computer vision, robotics, biometrics, speech processing, natural language processing, and machine learning / deep learning.
[0137] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by instructing related hardware with computer-readable instructions. These computer-readable instructions can be stored in a computer-readable storage medium. When executed, the program can include the processes of the embodiments of the above methods. The aforementioned storage medium can be a non-volatile storage medium such as a magnetic disk, optical disk, or read-only memory (ROM), or random access memory (RAM).
[0138] It should be understood that although the steps in the flowcharts of the accompanying figures are shown sequentially as indicated by the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some steps in the flowcharts of the accompanying figures may include multiple sub-steps or multiple stages. These sub-steps or stages are not necessarily completed at the same time, but can be executed at different times, and their execution order is not necessarily sequential, but can be performed alternately or in turn with other steps or at least some of the sub-steps or stages of other steps.
[0139] Further reference Figure 6 As a response to the above Figure 2 The implementation of the method shown in this application provides an embodiment of a cloud-edge collaborative video distribution device based on limited edge caching. This device embodiment is similar to... Figure 2 Corresponding to the method embodiments shown, this device can be specifically applied to various electronic devices.
[0140] like Figure 6 As shown in the embodiment of this application, the cloud-edge collaborative video distribution device 200 based on limited edge caching includes:
[0141] The request acquisition module 210 is used to receive video distribution requests for videos to be played from user terminals;
[0142] The cache information acquisition module 220 is used to acquire the playback status, video data and block cache statistics of the video to be played;
[0143] The first video block caching module 230 is used to perform video block caching operation on the video data according to the FVC video codec if the playback state is the first playback state or the playback interruption state.
[0144] The cache status information acquisition module 240 is used to obtain the download time and network throughput measurement of the downloaded video block according to the block cache statistics if the playback status is not the first start status or the playback interruption status, and to obtain the available size of the next video block, the cache status of all multi-codec bitrates of the next video block, the current multi-codec bitrate, the buffer size, and the cache status value of the current video block.
[0145] The decision action determination module 250 is used to determine the current decision action based on the download time of the downloaded video block, the network throughput measurement of the downloaded video block, the available size of the next video block, the buffer status of all multi-codec bitrates of the next video block, the current multi-codec bitrate, the buffer size, and the buffer status of the current video block. The current decision action a... i Represented as:
[0146] a i =(r i ,e i ,p i )
[0147] Where, r i e represents the current multi-codec bit rate. i The coded decision variable is represented by the source decision variable;
[0148] The second video block caching module 260 is used to perform video block caching operations on the video data according to the current decision action.
[0149] In this embodiment of the application, a cloud-edge collaborative video distribution device 200 based on limited edge caching is provided, comprising: a request acquisition module 210, used to receive a video distribution request for a video to be played sent by a user terminal; a cache information acquisition module 220, used to acquire the playback status, video data, and block cache statistics of the video to be played; a first video block cache module 230, used to perform video block caching operations on the video data according to the FVC video codec if the playback status is a first playback status or a playback interruption status; and a cache status information acquisition module 240, used to, if the playback status is not a first start status or a playback interruption status, perform a cache status caching operation according to the FVC video codec. The block cache statistics obtain the download time and network throughput measurement of the downloaded video blocks, and obtain the available size of the next video block, the cache status of all multi-codec bitrates of the next video block, the current multi-codec bitrate, the buffer size, and the cache status of the current video block. The decision action determination module 250 is used to determine the current decision action based on the download time of the downloaded video blocks, the network throughput measurement of the downloaded video blocks, the available size of the next video block, the cache status of all multi-codec bitrates of the next video block, the current multi-codec bitrate, the buffer size, and the cache status of the current video block. The current decision action a... i Represented as: a i =(r i ,e i ,p i ), where r i e represents the current multi-codec bit rate. i The encoding decision variable and the source decision variable are represented by [variable name]. The second video block caching module 260 is used to perform video block caching operations on the video data according to the current decision action. Compared with the prior art, this application utilizes the correlation between edge caching deployment and bitrate decision, as well as the effectiveness of learning-based video codecs, to maintain the quality of the user's video viewing experience while using as few edge caching resources as possible.
[0150] In some optional implementations of the embodiments of this application, the cloud-edge collaborative video distribution device 200 based on limited edge caching further includes:
[0151] The scoring module is used to score the current decision action according to the decision reward mechanism when the current decision action is executed, and to obtain decision feedback information.
[0152] In some optional implementations of the embodiments of this application, the above-mentioned decision feedback information reward i Represented as:
[0153] reward i=q i (c)-p i [b i -d i -B th ] +
[0154] Where, q i (c) represents the user experience quality of the i-th video block, p i Let b represent the source decision variable. i Indicates the changing state of the video stack area, d i B represents the total download time of the i-th video segment. th This indicates the buffer penalty threshold.
[0155] To address the aforementioned technical problems, embodiments of this application also provide a computer device. Please refer to [link / reference needed]. Figure 7 , Figure 7 This is a basic structural block diagram of a computer device according to an embodiment of this application.
[0156] The computer device 300 includes a memory 310, a processor 320, and a network interface 330 that are interconnected via a system bus. It should be noted that only the computer device 300 with components 310-330 is shown in the figure; however, it should be understood that it is not required to implement all the shown components, and more or fewer components can be implemented alternatively. Those skilled in the art will understand that the computer device described here is a device capable of automatically performing numerical calculations and / or information processing according to pre-set or stored instructions, and its hardware includes, but is not limited to, microprocessors, application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), digital signal processors (DSPs), embedded devices, etc.
[0157] The computer device can be a desktop computer, laptop, handheld computer, or cloud server, etc. The computer device can interact with the user via a keyboard, mouse, remote control, touchpad, or voice control.
[0158] The memory 310 includes at least one type of readable storage medium, including flash memory, hard disk, multimedia card, card-type memory (e.g., SD or DX memory), random access memory (RAM), static random access memory (SRAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), programmable read-only memory (PROM), magnetic memory, magnetic disk, optical disk, etc. In some embodiments, the memory 310 may be an internal storage unit of the computer device 300, such as the hard disk or memory of the computer device 300. In other embodiments, the memory 310 may also be an external storage device of the computer device 300, such as a plug-in hard disk, smart media card (SMC), secure digital (SD) card, flash card, etc. Of course, the memory 310 may also include both internal storage units and external storage devices of the computer device 300. In this embodiment, the memory 310 is typically used to store the operating system and various application software installed on the computer device 300, such as computer-readable instructions for a cloud-edge collaborative video distribution method based on limited edge caching. Furthermore, the memory 310 can also be used to temporarily store various types of data that have been output or will be output.
[0159] In some embodiments, the processor 320 may be a central processing unit (CPU), controller, microcontroller, microprocessor, or other data processing chip. The processor 320 is typically used to control the overall operation of the computer device 300. In this embodiment, the processor 320 is used to execute computer-readable instructions stored in the memory 310 or to process data, for example, to execute computer-readable instructions for the cloud-edge collaborative video distribution method based on limited edge caching.
[0160] The network interface 330 may include a wireless network interface or a wired network interface, which is typically used to establish communication connections between the computer device 300 and other electronic devices.
[0161] The computer device provided in this application achieves the goal of maintaining the quality of the user's video viewing experience while using as few edge cache resources as possible by leveraging the correlation between edge cache deployment and bitrate decisions, as well as the effectiveness of learning-based video codecs.
[0162] This application also provides another embodiment, namely, providing a computer-readable storage medium storing computer-readable instructions that can be executed by at least one processor to cause the at least one processor to perform the steps of the cloud-edge collaborative video distribution method based on limited edge caching as described above.
[0163] The computer-readable storage medium provided in this application achieves the goal of maintaining the quality of the user's video viewing experience while using as few edge cache resources as possible by leveraging the correlation between edge cache deployment and bitrate decisions, as well as the effectiveness of learning-based video codecs.
[0164] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods of the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk), and includes several instructions to cause a terminal device (which may be a mobile phone, computer, server, air conditioner, or network device, etc.) to execute the methods described in the various embodiments of this application.
[0165] Obviously, the embodiments described above are only some embodiments of this application, not all embodiments. The accompanying drawings show preferred embodiments of this application, but do not limit the patent scope of this application. This application can be implemented in many different forms; rather, the purpose of providing these embodiments is to provide a more thorough and comprehensive understanding of the disclosure of this application. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art can still modify the technical solutions described in the foregoing specific embodiments, or make equivalent substitutions for some of the technical features. Any equivalent structures made using the content of this application's specification and drawings, directly or indirectly applied to other related technical fields, are similarly within the scope of patent protection of this application.
Claims
1. A cloud-edge collaborative video distribution method based on limited edge caching, characterized in that, Includes the following steps: Accept video distribution requests from user terminals for videos to be played; Obtain the playback status, video data, and block cache statistics of the video to be played; If the playback status is either the first playback status or the playback interruption status, then the video data is cached according to the FVC video codec. If the playback state is not the initial start state or the playback interruption state, then the download time and network throughput of the downloaded video blocks are obtained according to the block cache statistics, and the available size of the next video block, the cache status of all multi-codec bitrates of the next video block, the current multi-codec bitrate, the buffer size, and the cache status of the current video block are obtained. The current decision action is determined based on the download time of the downloaded video block, the network throughput measurement of the downloaded video block, the available size of the next video block, the buffer status of all multicodec bitrates for the next video block, the current multicodec bitrate, the buffer size, and the buffer status of the current video block. Represented as: in, This indicates the current multi-codec bit rate. Represents the encoded decision variables. Represents the source decision variables; Based on the current decision action, perform a video block caching operation on the video data.
2. The cloud-edge collaborative video distribution method based on limited edge caching according to claim 1, characterized in that, After determining the current decision action based on the download time of the downloaded video block, the network throughput measurement of the downloaded video block, the available size of the next video block, the buffer status of all multicodec bitrates of the next video block, the current multicodec bitrate, the buffer size, and the buffer status of the current video block, the following steps are also included: When the current decision action is executed, the current decision action is scored according to the decision reward mechanism to obtain decision feedback information.
3. The cloud-edge collaborative video distribution method based on limited edge caching according to claim 2, characterized in that, The decision feedback information Represented as: in, This represents the user experience quality of the i-th video block. Represents the source decision variable, Indicates the changing state of the video stack area. Indicates the first Total download time for each video clip This indicates the buffer penalty threshold.
4. The cloud-edge collaborative video distribution method based on limited edge caching according to claim 3, characterized in that, User experience quality Represented as: The first term represents a monotonically non-negative function of the video bitrate, the second term represents the video stuttering time, and the third term represents the bitrate switching between consecutive segments. and This indicates the non-negative weights of the last two terms.
5. The cloud-edge collaborative video distribution method based on limited edge caching according to claim 3, characterized in that, The changing state of the video stack area Represented as: in, Indicates the wireless network download time. Indicates routing delay. Indicates the use of an encoder Encoded as The bit rate Is the video clip cached by the edge server? Indicates encoder Encoded as The bit rate The decoding time corresponding to each video segment.
6. A cloud-edge collaborative video distribution device based on limited edge caching, characterized in that, include: The request acquisition module is used to accept video distribution requests for videos to be played from user terminals; The cache information acquisition module is used to acquire the playback status, video data, and block cache statistics of the video to be played; The first video block caching module is used to perform video block caching operations on the video data according to the FVC video codec when the playback state is the first playback state or the playback interruption state. The cache status information acquisition module is used to obtain the download time and network throughput measurement of the downloaded video block according to the block cache statistics if the playback status is not the first start status or the playback interruption status, and to obtain the available size of the next video block, the cache status of all multi-codec bitrates of the next video block, the current multi-codec bitrate, the buffer size, and the cache status value of the current video block. The decision action determination module is used to determine the current decision action based on the download time of the downloaded video block, the network throughput measurement of the downloaded video block, the available size of the next video block, the buffer status of all multi-codec bitrates of the next video block, the current multi-codec bitrate, the buffer size, and the buffer status of the current video block. The current decision action... Represented as: in, This indicates the current multi-codec bit rate. Represents the encoded decision variables. Represents the source decision variables; The second video block caching module is used to perform video block caching operations on the video data according to the current decision action.
7. The cloud-edge collaborative video distribution device based on limited edge caching according to claim 6, characterized in that, The device further includes: The scoring module is used to score the current decision action according to the decision reward mechanism when the current decision action is executed, and to obtain decision feedback information.
8. The cloud-edge collaborative video distribution device based on limited edge caching according to claim 7, characterized in that, The decision feedback information Represented as: in, This represents the user experience quality of the i-th video block. Represents the source decision variable, Indicates the changing state of the video stack area. Indicates the first Total download time for each video clip This indicates the buffer penalty threshold.
9. A computer device, comprising a memory and a processor, characterized in that, The memory stores computer-readable instructions, and when the processor executes the computer-readable instructions, it implements the steps of the cloud-edge collaborative video distribution method based on finite edge caching as described in any one of claims 1 to 5.
10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer-readable instructions, which, when executed by a processor, implement the steps of the cloud-edge collaborative video distribution method based on finite edge caching as described in any one of claims 1 to 5.
Citation Information
Patent Citations
Self-adaptive video stream transmission and playing method and device, equipment and storage medium
CN114040257A
On-demand video transmission method and device, equipment and storage medium
CN118214928A