Cache replacement method for 360-degree video dynamic slicing
By calculating the priority of dynamic slices and deleting redundant slices, the problems of limited storage space and low cache hit rate of edge servers are solved, and efficient cache management and user experience improvement are achieved.
Patent Information
- Application Number
- CN202510251833.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-03-05
- Publication Date
- 2025-07-08
AI Technical Summary
When existing edge servers process 360-degree video streams, they lack effective cache replacement strategies, especially cache replacement strategies for dynamic slicing, resulting in limited storage space, low cache hit rate requested by users, and high pressure on backhaul links.
A cache replacement method based on dynamic slices is proposed. By calculating the recent use times, the most recent use time, the slice size and the edge degree of the slice, the slice is given priority, and redundant slices are deleted when the storage threshold exceeds, to ensure reasonable cache space and high hit rate.
Under the limited cache space, the cache hit rate of user requests is improved, data requests to remote content servers are reduced, and the pressure of backhaul links is reduced.
Smart Images

Figure CN120281932A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to 360-degree video streams, edge caching, cache replacement, and specifically to a cache replacement method for dynamic slicing of 360-degree videos. Technical Background
[0002] In recent years, the rapid development of information technology and 5G networks has made virtual reality the focus of attention. As an important part of virtual reality, 360-degree videos have attracted great interest in the academic and industrial communities. As a virtual reality experience with three degrees of freedom, 360-degree videos allow users to freely choose the viewing direction, thus generating an immersive viewing experience. Viewers can watch 360-degree videos through a head-mounted display. Since only a part of the video area, i.e., the user's field of view, also known as the viewport, is viewed through the optical magnifying lens of the head-mounted display, the resolution of 360-degree videos is much higher than that of traditional videos. In addition, to avoid motion sickness caused by rapid head rotation, the motion photon delay needs to be less than 20 ms, which poses strict delay constraints on the video stream.
[0003] Since viewers can only see the area within the viewport when watching 360-degree videos, the 360-degree videos are unfolded into planar videos through equidistant cylindrical projection, and the videos are divided into fixed blocks in time and space through slicing technology and transmitted to users at high resolution. In many studies, the quality of user experience has been improved through this method. In subsequent studies, variable-area dynamic slicing was introduced into the 360-degree video stream, further enhancing the quality of the user experience of 360-degree videos based on field-of-view perception. For 360-degree video streams, compared with fixed slicing, the introduction of dynamic slicing reduces the redundancy of delivering video slices to users and reduces bandwidth consumption.
[0004] In actual work, the edge server has limited storage space, or a storage limit is set for 360-degree video stream services. Therefore, in the study of 360-degree videos, the edge server needs a reasonable cache replacement strategy to ensure the cache hit rate of user requests in a determined cache space. Common cache replacement schemes based on fixed slicing include LRU, LFU, FIFO, and overall decision-making based on reinforcement learning, etc. However, for the cache replacement strategy based on dynamic slicing, the traditional strategy is still continued, and no effective cache replacement strategy has been studied for the characteristics of dynamic slicing.
[0005] Therefore, we propose effective dynamic slice viewport matching strategies and cache replacement strategies. After the user sends a viewport request to the base station, the edge server deployed at the base station will execute the dynamic slice viewport matching strategy to select the best cached slice to cover the user's viewport. While ensuring the maximum coverage of the user's viewport, it is also necessary to ensure that the dynamic slices are different and non-overlapping. While achieving high utilization of the slices, it greatly reduces the data requests from the edge server to the remote content server, alleviating the pressure on the backhaul link. When the amount of cached video slice data exceeds the set threshold, the cache replacement strategy for the slices is executed. By comprehensively considering the four aspects of the recent usage time, recent usage frequency, slice size, and edge degree, the priority of dynamic slice cache replacement is assigned to ensure that when the cache replacement strategy is executed, a high hit rate of user requests is still guaranteed under the limitations of different cache spaces. Summary of the Invention
[0006] The present invention proposes a cache replacement method for 360-degree video dynamic slices, aiming to solve the problems in the above background. By combining the methods in the traditional slice cache replacement strategy and the characteristics of dynamic slices, a method for calculating the replacement priority based on the four aspects of the recent usage times, recent usage time, slice size, and edge degree of the slices is proposed. Redundant dynamic slices are deleted according to the cache replacement priority and the set storage threshold. It is realized that a high hit rate of user requests is still guaranteed under the limitations of different cache spaces.
[0007] Step 1: After the edge server processes the user's request, all dynamic slices within the user request time period are put into a set.
[0008] Step 2: The replacement priority of the dynamic slices in the set is assigned through the recent usage times, recent usage time, slice size, and edge degree of the dynamic slices.
[0009] Step 3: Redundant slices are deleted according to the slice replacement priority to ensure a reasonable cache space size.
[0010] Step 1 specifically includes the following: The storage space of the edge server is limited, and when storing 360-degree videos, not all slices requested by users can be stored in the edge server. The server will give a storage range. When the data volume of the slices exceeds the storage range given by the server, we will adopt the cache replacement strategy. After the new slice is stored, the redundant slices are deleted. First, the size of the video data volume is known, expressed as an array V = [v1, v2, …, v k , where v i represents the data volume of the i-th video.
[0011] When the edge server executes the cache replacement policy for slices, it determines whether the storage space occupied by the total cached slices corresponding to the time period exceeds the set threshold within the time period requested by the user. All slices within the time period are represented as a set where represents the i-th slice corresponding to the time period in the cache.
[0012] Step 2 specifically includes the following: Assign a reasonable cache replacement priority to all slices in D c and execute the cache replacement policy on the basis of meeting the set cache space threshold, so as to obtain a relatively high hit rate when subsequent user viewport requests arrive.
[0013] For the priority calculation of dynamic slices, we first consider the historical cache hit times of each slice. This is the simplest priority assignment method for traditional fixed slices and is also effective in dynamic slices. When the historical cache hit times of multiple slices are the same, the priorities of these slices are the same.
[0014] At this time, we further use the most recently used time of the slice as a criterion for judgment and assign new priorities to slices with the same historical cache hit times. Based on this idea, according to the characteristics of dynamic slices, we consider four influencing factors: the size of the slice, the degree of edge, historical cache hits, and the most recently used time, and take the weighted sum of the four numericalized factors as the cache replacement priority of the slices in D c The following gives the calculation formulas and explanations of the four influencing factors.
[0015] First is the historical cache hit times, which is widely used in traditional fixed slices and is denoted as h. In this paper, the historical cache hit times h of dynamic slices represents the number of times the dynamic slices D of this time period cached by the edge server are requested by other users before the user's request arrives. c
[0016] Second is the most recently used time of the slice, denoted as t. In the calculation of the cache priority of traditional fixed slices, the most recently used time of the slice also needs to be considered. The most recently used time t represents the difference between the time before the user's request arrives and the time when the slice was last used for the dynamic slices D of this time period cached by the edge server. c
[0017] This most recently used time t represents to a certain extent the probability that the slice will be hit by the user in the recent period.
[0018] The historical cache hit count h and the recent usage time t of slices are widely used in the calculation of traditional slice cache replacement priorities because they respectively consider the reasonable allocation of slice priorities in the long and short terms. They have their own advantages in different cache replacement scenarios. By introducing them into the formulation of the dynamic slice cache replacement strategy, we can largely integrate the advantages of the calculation of traditional replacement priorities.
[0019] In addition to the traditional priority calculation method, we also have two calculation methods for the characteristics of dynamic slices. First is the marginal degree of dynamic slices, denoted as e. Although there is the same concept in traditional fixed slices, the calculation and understanding of the marginal degree are different in dynamic slices. The sizes and shapes of our dynamic slices vary greatly. When representing the marginal degree of slices, two aspects need to be considered. The first is whether the dynamic slice covers the central viewpoints of the slices stored within the entire time period, and the second is that for dynamic slices in different positions, we need different calculation methods for the marginal degree.
[0020] We represent a dynamic slice with coordinate information, and the position of the slice is represented as a vector and corresponding to the horizontal and vertical coordinates of the upper left corner of the slice respectively, and corresponding to the horizontal and vertical coordinates of the lower right corner of the slice respectively.
[0021] Therefore, our vector plays an optimizing role. Specifically, in the case where two slices of unequal size need to be delivered, it is impossible to reasonably compare the advantages and disadvantages of the actual covered and uncovered data volumes. Therefore, the vector distinguishes slices of different sizes by the proportion of the covered area to the total slice.
[0022] First, we first find the central viewpoints of all dynamic slices within the time period. We take the midpoint of the coordinates of the points closest to the (0, 0) point and the (10, 20) point among all slices as the central viewpoints. The point closest to the (0, 0) coordinate is represented as the vector The point closest to the (10, 20) coordinate is represented as the vector
[0023] We represent the central viewpoints of the slices cached within the time period as the vector As shown in the following formula:
[0024]
[0025]
[0026] Next, we will determine whether the dynamic slice covers the central view point based on the position of the central view point and the dynamic slice.
[0027] For the slice If both and are satisfied, we consider that the slice covers the central view point. Conversely, if both cannot be satisfied simultaneously, it means that the central view point is not covered. By determining whether the slice covers the central view point, we give different calculation methods for the edge degree, as shown in the following formula:
[0028]
[0029] When the slice simultaneously satisfies and , that is, the slice covers the central view point, then the edge degree e i of this slice is represented by the difference between the distances of the and coordinates of the slice from the view point center coordinates.
[0030] Conversely, if the slice does not cover the central view point center, it will be represented by the sum of the distances. Here, we consider that the edge degree of the slice covering the viewport center is lower, and the edge degree of the slice not covering the view center is higher. By taking the sum and taking the difference, the edge degrees of slices at different positions are further distinguished. This can effectively reduce the replacement priority of the slice located at the viewport center to save important slices and improve the cache hit rate of users.
[0031] Finally, the size of the slice is represented as s. Since the shapes and sizes of dynamic slices vary, considering the size of the slice, large slices are often more likely to be requested and have a higher hit rate. We use the number of basic slices included in the dynamic slice as the value of s. For the value of the slice size, we use the number of basic slices included instead of the data volume size of the dynamic slice because the number of basic slices is similar to the data volume size in terms of effectiveness, but using the number of basic slices included as the value of s is more reasonable in terms of simplifying the algorithm logic and reducing the calculation amount.
[0032] Based on the above four influencing factors, the calculation formula for the cache replacement priority is obtained. As shown in the following formula:
[0033] F i pri =-w1h i+w2t i +w3e i -w4s i
[0034] w1+w2+w3+w4=1
[0035] w i >0(i=1,2,3,4)
[0036] Among them, F i pri For Slices The replacement priority of the slice is given by w1, w2, w3, and w4, which are weight parameters of the four influencing factors. We believe that the number of cache hits and the size of the slice are negatively correlated with the priority of the slice, and the recent use time of the slice is positively correlated with the marginal degree, so the parameters w1 and w4 are given as negative signs.
[0037] The steps specifically include the following: according to the cache replacement priority of the dynamic slices in the set and the set storage threshold, when the data volume of the dynamic slices in the set exceeds the set storage threshold, the dynamic slices with the highest priority are deleted in turn.
[0038] The method of the present invention firstly puts the dynamic slices used in the request time period of each user into a collection after the edge server completes the request of the user. The given cache space threshold is also for the time period, ensuring that the cache replacement strategy can be executed once after each user request ends, which is more conducive to the release of cache space and the retention of slices with higher hit rates in the time period. For the dynamic slices in the collection, the cache replacement priority of the dynamic slices in the collection is calculated by assigning reasonable weights to the four influencing factors through the characteristics of the number of recent uses and the time of recent use of traditional fixed slices, the slice size of dynamic slices, and the edge degree of slices. In addition, when looking for reasonable weights of the four priority influencing factors, a random search scheme with early stopping is adopted to ensure that the searched weights are reasonable while reducing the search time. According to the cache replacement priority of the dynamic slices in the collection and the set storage threshold, the dynamic slices with the highest priority are deleted in sequence when the data volume of the dynamic slices in the collection exceeds the set storage threshold. BRIEF DESCRIPTION OF THE DRAWINGS
[0039] Figure 1 It is a step diagram of the present invention.
[0040] Figure 2 Dynamic slice cache replacement model diagram for the present invention Specific implementation methods
[0041] To clarify the technical problems, technical solutions, implementation processes, and performance demonstrations, the present invention will be further described in detail below in conjunction with embodiments. It should be understood that the specific embodiments described herein are only used to explain the present invention and are not used to limit the present invention. Various exemplary embodiments, features, and aspects of the present disclosure will be described in detail below with reference to the accompanying drawings. The same reference numerals in the drawings denote functionally identical or similar elements. Although various aspects of the embodiments are shown in the drawings, the drawings do not have to be drawn to scale unless otherwise specified.
[0042] This embodiment proposes a cache replacement method for 360-degree video dynamic slicing, including the following steps:
[0043] Step 1: After the edge server processes the user's request, all dynamic slices within the user-requested time period are placed in a set.
[0044] Step 2: Assign replacement priorities to the dynamic slices in the set based on the number of recent uses, the recent use time, the slice size, and the edge degree of the slice.
[0045] Step 3: Delete redundant slices according to the slice replacement priority to ensure a reasonable cache space size.
[0046] Step 1 specifically includes the following: The storage space of the edge server is limited, and when storing 360-degree videos, not all slices requested by users can be stored on the edge server. The server will give a storage range. When the data volume of the slice exceeds the storage range given by the server, we will adopt a cache replacement strategy. After the new slice is stored, the redundant slice will be deleted. First, the data volume size of the video is known, expressed as an array V = [v1, v2,..., v k , where v i represents the data volume of the i-th video.
[0047] When the edge server executes the cache replacement strategy for slices, within the user-requested time period, it determines whether the storage space occupied by all cached slices corresponding to this time period exceeds the set threshold. All slices within the time period are represented as a set where represents the i-th slice corresponding to the time period in the cache.
[0048] Step 2 specifically includes the following: Assign a reasonable cache replacement priority to all slices in D c and execute the cache replacement strategy on the basis of meeting the set cache space threshold, so that a relatively high hit rate can be obtained when subsequent user viewport requests arrive.
[0049] For the priority calculation of dynamic slices, we first consider the historical cache hit count of each slice. This is the simplest method for assigning priorities to traditional fixed slices and is also valid for dynamic slices. When the historical cache hit counts of multiple slices are the same, the priorities of these slices are the same.
[0050] At this time, we further use the most recent usage time of the slice as a criterion to assign new priorities to slices with the same historical cache hit count. Based on this idea, according to the characteristics of dynamic slices, we consider four influencing factors: the size of the slice, the edge degree, historical cache hits, and the most recent usage time, and take the weighted sum of the four numerical factors as the cache replacement priority of the medium slice D. c Below, we give the calculation formulas and explanations for the four influencing factors.
[0051] First, there is the historical cache hit count, which is widely used in traditional fixed slices and is denoted as h. In this article, the historical cache hit count h of dynamic slices refers to the number of times the dynamic slice D in this time period cached by the edge server has been requested by other users before the user's request arrives. c before the user's request arrives.
[0052] Secondly, there is the most recent usage time of the slice, denoted as t. In the calculation of the cache priority of traditional fixed slices, the most recent usage time of the slice is also a part that needs to be considered. The most recent usage time t refers to the difference between the time at the moment before the user's request arrives and the time when the slice was last used for the dynamic slice D cached by the edge server in this time period. c before the user's request arrives.
[0053] To a certain extent, this most recent usage time t represents the probability that the slice will be hit by the user in the recent period.
[0054] The historical cache hit count h and the most recent usage time t of the slice are widely used in the calculation of the traditional slice cache replacement priority because they respectively consider the reasonable allocation of the slice priority in the long term and the short term. They have their own advantages in different cache replacement scenarios. By introducing them into the formulation of the dynamic slice cache replacement strategy, we can largely integrate the advantages of the traditional replacement priority calculation.
[0055] In addition to the traditional priority calculation method, we also have two calculation methods for the characteristics of dynamic slicing. First is the edge degree of dynamic slicing, denoted as e. Although there is the same concept in traditional fixed slicing, the edge degree has different calculation and understanding methods in dynamic slicing. There are significant differences in the size and shape among our dynamic slices. When representing the edge degree of a slice, two aspects need to be considered. The first is whether the dynamic slice covers the central view point of the slices stored throughout the time period, and the second is that we need different calculation methods for the edge degree of dynamic slices at different positions.
[0056] We represent a dynamic slice with coordinate information, and represent the position of the slice as vectors and corresponding to the horizontal and vertical coordinates of the upper left corner coordinate of the slice respectively, and corresponding to the horizontal and vertical coordinates of the lower right corner coordinate of the slice respectively.
[0057] Therefore, our vector plays an optimizing role. Specifically, in the case where two slices of unequal size need to be delivered, the actual covered and uncovered data volumes cannot be reasonably compared in terms of their advantages and disadvantages. Therefore, the vector distinguishes slices of different sizes by the proportion of the covered area to the total slice.
[0058] First, we find the central view points of all dynamic slices within the time period. We take the midpoint of the coordinates of the points closest to the (0, 0) point and the points closest to the (10, 20) point among all slices as the central view point. The point closest to the (0, 0) coordinate is represented as the vector The point closest to the (10, 20) coordinate is represented as the vector
[0059] The central view point of the slices cached within the time period is represented as the vector As shown in the following formula:
[0060]
[0061]
[0062] Next, we will judge whether the dynamic slice covers the central view point based on the central view point and the position of the dynamic slice.
[0063] For the slice If both and are satisfied, we consider the slice The central viewing point is covered. Conversely, if both conditions cannot be satisfied simultaneously, it means the central viewing point is not covered. By determining whether the slice covers the central viewing point, we assign different calculation methods for the edge degree, as shown in the following formula:
[0064]
[0065] When the slice simultaneously satisfies and two conditions, that is, the slice covers the central viewing point, then the edge degree e i of this slice is represented by the difference in the distances between the and coordinates of the slice and the coordinates of the viewing point center. Conversely, if the slice
[0066] does not cover the central viewing point center, it will be represented by the sum of the distances. Here, we consider that the edge degree of the slice covering the viewport center is lower, and the edge degree of the slice not covering the view center is higher. By taking the sum and taking the difference, the edge degrees of slices in different positions are further distinguished. This can effectively reduce the replacement priority of the slices located at the viewport center to save important slices and improve the cache hit rate of users. Finally, the size of the slice is represented as s. Since the shapes and sizes of dynamic slices vary, considering the size of the slice, large slices are often more likely to be requested and have a higher hit rate. We use the number of basic slices contained in the dynamic slice as the value of s. For the value of the slice size, we use the number of basic slices contained instead of the data volume size of the dynamic slice because the number of basic slices is equivalent to the data volume size in terms of effectiveness, but in terms of simplifying the algorithm logic and reducing the calculation amount, it is more reasonable to use the number of basic slices contained as the value of s.
[0067] According to the above four influencing factors, the calculation formula for the cache replacement priority is obtained. As shown in the following formula:
[0068] F
[0069] F i pri =-w1h i +w2t i +w3e i -w4s i
[0070] w1 + w2 + w3 + w4 = 1
[0071] w i > 0 (i = 1, 2, 3, 4)
[0072] Among them, Fi pri For slicing Regarding the replacement priority of slices, the parameters w1, w2, w3, and w4 are the weight parameters of four influencing factors. We believe that the cache hit count of a slice and the size of the slice are negatively correlated with the slice priority, and the recent usage time and marginality of the slice are positively correlated. Therefore, the parameters w1 and w4 are given a negative sign.
[0073] The steps specifically include the following: According to the cache replacement priority of the dynamic slices in the set and the set storage threshold, when the data volume of the dynamic slices in the set exceeds the set storage threshold, the dynamic slices with the highest priority are deleted in sequence.
[0074] The above-disclosed is only a preferred embodiment of the present invention. Of course, it cannot be used to limit the scope of rights of the present invention. Those of ordinary skill in the art can understand the whole or part of the processes of implementing the above embodiments, and the equivalent changes made according to the claims of the present invention still fall within the scope covered by the invention.
Claims
1. A cache replacement method for dynamic slicing of 360-degree videos, characterized in that It includes the following specific steps: Step 1: After the edge server processes the user's request, all dynamic slices within the user request time period are put into a set. Step 2: Based on the recent usage times, recent usage time, slice size, and edge degree of the dynamic slices, replacement priorities are assigned to the dynamic slices in the set. Step 3: Redundant slices are deleted according to the slice replacement priorities to ensure a reasonable cache space size.
2. The cache replacement method for dynamic slicing of 360-degree videos as described in claim 1, wherein The storage space of the edge server is limited. When storing 360-degree videos, not all slices requested by users can be stored on the edge server. When the data volume of the slices exceeds the storage range given by the edge server, a cache replacement strategy will be adopted, and redundant slices will be deleted after the new dynamic slices are stored.
3. The cache replacement method for dynamic slicing of 360-degree videos as described in claim 1, wherein After the request of each user ends, the edge server puts all the dynamic slices within the request time period of this user into set D. The dynamic slices in this set do not include slices from other time periods, and the given cache space threshold is also for this time period. Ensuring that a cache replacement strategy can be executed once after each user request is more conducive to the release of the cache space and the retention of slices with a higher hit rate within the time period.
4. The cache replacement method for dynamic slicing of 360-degree videos as described in claim 1, wherein For the dynamic slices in set D, by considering the characteristics of the recent usage times and recent usage time of traditional fixed slices as well as the slice size and edge degree characteristics of dynamic slices, reasonable weights are assigned to the four influencing factors to calculate the cache replacement priorities of the dynamic slices in set D. This process retains both the characteristics commonly used in the cache replacement of traditional fixed slices and the unique characteristics of dynamic slices. In addition, when finding the reasonable weights of the four priority influencing factors, a random search scheme with early stopping is adopted to reduce the search time while ensuring that the searched weights are reasonable.
5. The cache replacement method for dynamic slicing of 360-degree videos as described in claim 1, characterized in that, According to the cache replacement priorities of the dynamic slices in the set and the set storage threshold, when the data volume of the dynamic slices in the set exceeds the set storage threshold, the dynamic slices with the highest priority are deleted in sequence.