Volumetric video stream adaptive transmission method and device based on multi-round pre-download

By employing a multi-round pre-downloading and greedy algorithm to determine the quality level of video segments, the problem of inaccurate downloading in volumetric video stream transmission is solved, improving recall and user experience, reducing freeze time, and achieving higher quality video playback.

CN118555417BActive Publication Date: 2025-10-28SHANDONG UNIV
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202410865212.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-07-01
Publication Date
2025-10-28
Estimated Expiration
2044-07-01

AI Technical Summary

Technical Problem

Existing volumetric video streaming methods suffer from inaccurate downloading due to viewport prediction errors, resulting in missing or undownloaded visible segments, which becomes a bottleneck for streaming media performance.

Method used

A multi-round pre-download method is adopted, in which the server pre-segments and compresses the video, the client implements a multi-round pre-download strategy, and a greedy algorithm is used to determine the quality level of the segments. Combined with viewport prediction and network bandwidth prediction, the download process is optimized.

Benefits of technology

It improved the recall rate of download chunks, reduced video freeze time, enhanced user experience, and achieved higher video quality and less freeze time.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118555417B_ABST
    Figure CN118555417B_ABST
Patent Text Reader

Abstract

This invention relates to the field of computers, specifically to a method and device for adaptive transmission of volumetric video streams based on multi-round pre-downloading. During the entire transmission process, the server pre-segments and compresses the original video. The client requests the corresponding video segment, and upon receiving the request, the server transmits the video to the client via the network. The client implements a multi-round pre-downloading strategy and uses a greedy algorithm to determine the quality level of each segment before playback. Its advantage lies in the fact that this patent proposes a multi-round pre-downloading method, which can solve the problem of inaccurate downloading, especially reducing the occurrence of visible segments not being downloaded.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of computers, and more specifically to a method and device for adaptive transmission of volumetric video streams based on multi-round pre-downloading. Background Technology

[0002] With the rapid development of virtual reality and augmented reality technologies, especially thanks to the rapid advancements in high-speed networks and high-performance computing, volumetric video streaming has demonstrated tremendous value in the market in recent years and has broad application prospects. However, volumetric videos typically have very large data volumes, making it difficult for existing network bandwidth to support their full-size transmission.

[0003] To transmit large video streams, the mainstream approach employs block compression. Specifically, long video streams are divided into multiple frame groups in chronological order, and then further subdivided into multiple blocks based on spatial location. Each block serves as an independent transmission unit and is compressed to different quality levels for transmission to accommodate network fluctuations. During online streaming, the client pre-acquires frame groups according to their physical order for subsequent playback. It first predicts the potential viewport and network throughput, then dynamically decides which units to download based on the prediction results. Downloading and playback are two synchronous processes; playback is typically delayed to maintain some buffered data to absorb throughput fluctuations.

[0004] However, the sequential video prefetching mechanism used in existing research is greatly affected by viewport prediction error. Prediction error causes the downloader to download too many invisible chunks or miss downloading visible chunks, becoming a bottleneck for streaming media performance. Summary of the Invention

[0005] To address the aforementioned issues, this patent proposes a multi-round pre-downloading method, which can resolve the problem of inaccurate downloading, particularly reducing the occurrence of visible segments not being downloaded. The technical solution is as follows:

[0006] An adaptive transmission method for volumetric video streams based on multi-round pre-downloading is proposed. During the entire transmission process, the server pre-segments and compresses the original video, the client requests the corresponding video segment, the server transmits the video to the client via the network after receiving the request, the client implements a multi-round pre-downloading strategy, and uses a greedy algorithm to determine the quality level of each segment before downloading and playing it.

[0007] Preferably, the server needs to be initialized before splitting and compressing the original video. The specific steps are as follows:

[0008] S1.1 Video Frame Segmentation: The server first divides the provided video content into multiple frame groups according to time sequence. Each frame group contains T seconds of video content, meaning the entire video can be divided into {GoF1, GoF2, ..., GoF...} n};

[0009] S1.2 Spatial Segmentation: Each frame group is further subdivided into multiple spatial segments, which are evenly distributed along the x, y, and z axes;

[0010] S1.3 Multi-level Compression: Each spatial block is encoded with a different compression ratio and different quality levels are set to adapt to different network conditions and user needs;

[0011] S1.4 Storage and Indexing: The compressed chunks are stored on the server according to certain indexing rules to facilitate fast retrieval and transmission.

[0012] Preferably, the client includes a downloader and a player; the downloader is responsible for downloading and decoding the video, and storing the decoded video in a buffer; the player is responsible for rendering the video, rendering and playing the video in the buffer sequentially.

[0013] Preferably, client initialization includes buffer initialization and transmission initialization;

[0014] The buffer is initialized to empty to ensure there is enough space to store the video data that will be downloaded soon;

[0015] Transmission initialization: Set the current playback position p The starting point, i.e. p=0 Initialize all frame groups i The recall rate is 0, that is... This provides a baseline for subsequent downloads and playback; when a transfer begins, the downloader requests to download all segments of the first frame group at the lowest quality level.

[0016] Preferably, during the transmission process, the client continuously requests downloads from the server, with the following specific steps:

[0017] S3.1 If the current player has played to the last frame group, the downloader stops working and waits for the playback to end; if the current player has not played to the last frame group, the client downloader starts from the next frame group of the currently playing frame group and traverses backwards to predict whether each segment of the frame group is visible.

[0018] After S3.2 prediction is completed, compare the prediction result with the contents stored in the buffer; if it is found that there are some blocks in the currently traversed frame group whose prediction results are visible but not stored in the buffer, record these blocks and stop traversing the frame group; otherwise, continue traversing the frame group.

[0019] S3.3 If some blocks were recorded in step 3.2, use a greedy algorithm to request download and update parameters. After the download is completed, go to step 3.1 and start the next round of detection and download.

[0020] S3.4 If no segment needs to be downloaded is found after traversing the last frame group in step 3.2, the download is paused for Δt time. After the playback progresses for a period of time, the process returns to step 3.1 to start the next round of detection and download.

[0021] Preferably, the quality level decision in step S3.3 is as follows:

[0022] S3.3.1 Calculate the volume budget for this download, based on the increase in recall; for a single download, the increase in recall... Defined as the prior recall rate of this viewport prediction. Compared to the original recall rate of this frame group The difference; that is:

[0023] ;

[0024] The prior recall of viewport prediction is the data recorded during model training, which is determined by the length of the prediction interval. The original recall of a frame group is the value obtained after its last download.

[0025] S3.3.2 resulted in an improved recall rate. Then, predict the upcoming network bandwidth and calculate the volume budget for this download. b To predict the bandwidth BW * frame group duration T * recall improvement, i.e.:

[0026] ;

[0027] S3.3.3 treats the video quality level decision as an optimization problem, with the goal of maximizing user QoE;

[0028] S3.3.4 The client sends a download request to the server according to the results in S3.3.3 and records the actual bandwidth during the download.

[0029] After downloading, S3.3.5 stores the video in a buffer for playback and updates the recall of the downloaded frame group. This recall should include the additional recall from this download, defined as the quotient of the actual downloaded video size and the ideal download size. The ideal download size is defined as the actual bandwidth used during the download. BW' The product of the frame group duration T, Where cur_size is the actual size of the downloaded video, and finally proceed to step 3.1 to continue the detection.

[0030] Preferably, in step S3.3.3, QoE is defined as a linear weighted combination of the video's objective quality, freeze time, and quality switching. The weights of the three are as follows: w 1 ,w 2 , w 3 Objective quality is defined as the PSNR score of a visible segment divided by the user's viewing distance. , For cutting into pieces j PSNR It is a boolean variable indicating whether the slice j appears in the user viewport. Representing users and segments j The distance;

[0031] The freeze time refers to the player's waiting time caused by this download. ,in t p This indicates the current position of the player. t i Represents frame group i Objective time, Δt i Indicates the current download frame group i Time spent; quality switch definition ,in l i,j This indicates the quality level selected for slice j. Only slices that are visible in two adjacent frame groups at the same time will cause a quality switch.

[0032] Preferably, download time is used as a constraint, and the remaining two terms of QoE are used as the objective function. This transforms into a constrained optimization problem, namely:

[0033] ;

[0034] ;

[0035] V(*) represents the volume of the cut pieces. s i,j Mapped to video quality q i,j Given a function, use a greedy method to solve this optimization problem:

[0036] S3.3.3.1 Initialize all chunks to be downloaded to the lowest quality level. Then iterate through all chunks to be downloaded. If increasing the quality level of a chunk by one level still satisfies the constraint, record the result of increasing the quality level of this chunk by one level, which leads to U. i The improvement amount is used to find a block that improves the quality level of this block while satisfying the constraints and making U... i Maximize the improvement and determine this slice as the slice to be improved in this round;

[0037] S3.3.3.2 Restart traversing all the chunks to be downloaded until improving the quality level of any chunk no longer satisfies the constraints. At this point, the result of each chunk is taken as the final result.

[0038] Preferably, the client's player is responsible for rendering and playing the frame groups in the buffer sequentially, in parallel with the downloader's work. The player presents the rendered frame group to the user every T seconds. When the frame group that the player is about to play has the same sequence number as the frame group that the downloader is downloading, the player will freeze and wait for the downloader to finish downloading before rendering and playing.

[0039] A computer device includes at least one processor and a computer-readable medium storing a computer program, which is read and executed by the processor to implement the methods described in this application.

[0040] Compared with the prior art, the beneficial effects of this application are as follows:

[0041] 1. Improved recall rate of downloaded segments: Compared with existing serial sequential downloading, this patent can reduce the number of visible segments that have not been downloaded, thereby improving the recall rate of downloaded segments.

[0042] 2. Reduce video freeze time: Existing serial download methods download the entire frame group at once, while the method proposed in this patent downloads the frame group in blocks at once, and combined with a reasonable bit rate allocation strategy, it can reduce video freeze time.

[0043] 3. Better user experience: Compared to existing sequential downloads, this patent provides a better end-user experience through higher video quality and less freeze time. Attached Figure Description

[0044] Figure 1 This is a system overview diagram.

[0045] Figure 2 This is a flowchart of the chunked download process.

[0046] Figure 3 The flowchart is for the greedy algorithm solution.

[0047] Figure 4 This is a comparison chart of the QoE results for the algorithm.

[0048] Figure 5 This is a CDF comparison chart of the QoE algorithm results.

[0049] Figure 6 This is a comparison chart of the algorithm's viewport prediction results.

[0050] Figure 7 This shows the algorithm's performance at different bandwidth prediction accuracies.

[0051] Figure 8 This shows the algorithm's performance under different network environments.

[0052] Figure 9 This represents the algorithm's performance at different viewport prediction accuracies. Detailed Implementation

[0053] To facilitate understanding of this application, a more complete description will be provided below with reference to the accompanying drawings, which illustrate embodiments of the present application. However, the present application can be implemented in many different forms and is not limited to the embodiments described herein. Rather, these embodiments are provided so that the disclosure of this application will be thorough and complete.

[0054] This invention proposes a volumetric streaming media transmission method, such as... Figure 1 As shown, during the entire transmission process, the server pre-segments and compresses the original video, the client requests the corresponding video segment, the server receives the request and transmits the video to the client via the network, and finally the client decodes and plays it. Figure 2 As shown, the algorithm proposed in this invention is deployed on the client side to decide which slices to request and their quality levels. Figure 3 As shown, this invention proposes a greedy algorithm to determine the quality level of each slice. The specific implementation is as follows:

[0055] Step 1: Server Initialization

[0056] Step 1.1 Video Frame Segmentation: The server first divides the provided video content into multiple frame groups according to time sequence. Each frame group contains T seconds (set as 1 second) of video content, that is, the entire video can be divided into {GoF1, GoF2, ..., GoF...} n}

[0057] Step 1.2 Spatial Segmentation: Each frame group is further subdivided into 12 spatial blocks, divided into two, two, and three parts along the x, y, and z axes respectively, ensuring the spatial uniformity of each block. That is, each frame group is divided into {cell1, cell2, ..., cell...} 12}

[0058] Step 1.3 Multi-level compression: Each spatial block is encoded using a different compression ratio, with four quality levels set, and compression ratios of 30%, 50%, 75%, and 100% respectively, to adapt to different network conditions and user needs.

[0059] Step 1.4 Storage and Indexing: The compressed chunks are stored on the server according to certain indexing rules to facilitate fast retrieval and transmission.

[0060] Step 2: Client Initialization:

[0061] Module Structure: The client consists of two main modules: a downloader and a player. The downloader is responsible for downloading and decoding the video, and storing the decoded video in a buffer; the player is responsible for rendering the video, rendering and playing the videos in the buffer sequentially.

[0062] Buffer settings: Initialize the buffer to empty to ensure there is enough space to store the video data that is about to be downloaded.

[0063] Transmission initialization: Set playback position p Initialize all frame groups starting at point p=0. i The recall rate was 0 ( This provides a baseline for subsequent downloads and playback. When a transfer begins, the downloader requests to download all chunks from the first frame group at the lowest quality level.

[0064] Step 3: Transmission process: During the transmission process, the client continuously requests downloads from the server.

[0065] Step 3.1 Decision on which segments to download: If the current player has already played the last frame group, the downloader stops working and waits for playback to finish. If the current player has not yet played the last frame group, the client downloader starts traversing backward from the next frame group currently playing, predicting whether each segment of the frame group is visible.

[0066] Step 3.2 Decision Quality Level: After prediction is completed, compare the prediction results with the contents stored in the buffer. If it is found that some segments in the currently traversed frame group have visible prediction results but are not stored in the buffer, record these segments and stop traversing the frame group; otherwise, continue traversing the frame group.

[0067] Step 3.3 Initiate a download request: If some chunks were recorded in step 3.2, use a greedy algorithm to request downloads and update parameters. After the download is complete, proceed to step 3.1 to start the next round of detection and download. This step is used to determine their quality level.

[0068] Step 3.3.1 Calculate the volume budget for this download, which is based on the recall improvement. For a single download, the recall improvement is defined as the difference between the prior recall predicted by the current viewport and the original recall of this frame group.

[0069] ;

[0070] The prior recall of viewport prediction is the data recorded during model training, which is determined by the length of the prediction interval. The original recall of a frame group is the value obtained after its last download.

[0071] After obtaining the recall improvement in step 3.3.2, predict the subsequent network bandwidth and calculate the volume budget for this download as predicted bandwidth * frame group duration * recall improvement. .

[0072] Step 3.3.3 treats the video quality level decision as an optimization problem, with the goal of maximizing the user's QoE (Quality of Experience).

[0073] QoE is defined as a linear weighted combination of three components: objective video quality, video freeze time, and video quality switching. The weights w1, w2, and w3 of the three are 1, 3000, and 5, respectively.

[0074] Objective quality is defined as the PSNR score of a visible slice divided by the user's viewing distance. , q i,j For the PSNR of block j, f i,j It is a boolean variable indicating whether the slice j appears in the user viewport. d i,j This represents the distance between the user and slice j.

[0075] The freeze time refers to the player's waiting time caused by this download. ,in t p This indicates the current position of the player. t i Represents the objective time of frame group i. Δt i Indicates the current download frame group i Time spent.

[0076] Quality switching is defined as ,in l i,j This represents the selected quality level for slice j. A quality switch only occurs when slices are simultaneously visible in two adjacent frame groups. In the actual solution, download time is used as a constraint, and the remaining terms of QoE are used as the objective function, transforming the problem into a constrained optimization problem.

[0077] ;

[0078] ;

[0079] V(*) It is the volume of the cut pieces s i,jMapped to video quality q i,j The function.

[0080] This optimization problem is solved using a greedy algorithm: Initialize all chunks to be downloaded to the lowest quality level. Then, iterate through all chunks to be downloaded. If increasing the quality level of a chunk by one level still satisfies the constraint, record the result of increasing the quality level of this chunk by one level, which leads to U. i The improvement amount is used to find a block that improves the quality level of this block while satisfying the constraints and making U... i The highest quality slice is selected, and this slice is chosen as the one to be upgraded in this round. Then, the process of iterating through all slices to be downloaded is restarted until upgrading any slice no longer satisfies the constraints. The results for each slice at this point are considered the final result. Figure 3 The process of the greedy algorithm is demonstrated.

[0081] Step 3.3.4 The client sends a download request to the server based on the results in Step 3.3.3 and records the actual bandwidth during the download.

[0082] Step 3.3.5 After the download is complete, store the video in the buffer for playback and update the recall of the downloaded frame group. This value should include the recall increased during this download. The increased recall is defined as the quotient of the actual downloaded video size and the ideal download size. The ideal download size is defined as the product of the actual bandwidth and the frame group duration during the download. Where cur_size is the actual size of the video downloaded. BW' This is the actual bandwidth during the download. Finally, proceed to step 3.1 to continue the test.

[0083] Step 3.4: If no segment needs to be downloaded after traversing the last frame group in Step 3.2, pause the download for time Δt. After playback has progressed for a while, return to Step 3.1 to start the next round of detection and download. In this example... Δt Take 0.1 seconds.

[0084] Step Four: Playback Process. The client-side player is responsible for rendering and playing the frames in the buffer sequentially, in parallel with the downloader's work in Step Three. In this example, each frame group lasts for 1 second, and the player presents the rendered frame group to the user every second. When the frame group the player is about to play has the same sequence number as the frame group the downloader is currently downloading, the player will freeze and wait for the downloader to complete the download before rendering and playing.

[0085] Below is a comparison of the effectiveness of this invention with other methods. The metrics used for comparison consist of three parts: QoE, viewport prediction, and time cost. The QoE metric refers to the scores of each component of QoE (including video objective quality, video freeze time, and the overall score), used to evaluate the algorithm's contribution to the overall video. The viewport prediction metric evaluates the similarity between whether a segment is downloaded and whether it is visible, including accuracy, precision, and recall. The visibility prediction of each segment is treated as a binary classification problem, with visible and invisible being the positive and negative classes, respectively. Table 1 shows the confusion matrix for the binary classification problem. Accuracy is defined as the proportion of correctly predicted segments out of the total number of segments. Precision is defined as the percentage of actually visible slices out of those predicted as visible. Defined as the percentage of predicted visible chunks out of actually visible chunks. .

[0086] Table 1. Confusion Matrix for Viewport Prediction

[0087]

[0088] Time cost metrics are used to evaluate the time complexity of different algorithms and their actual deployability.

[0089] To verify the effectiveness of the proposed multi-round download strategy (PACE), three comparison schemes were selected: POT-DRL (based on deep reinforcement learning), QoE-TILE (based on heuristics), and SPQ. While the three schemes differ in their video chunk quality level selection strategies, they all employ a serial download of frame groups. Each algorithm was tested on the 8i voxelized surface light field dataset and the 5G network bandwidth dataset. The specific results are as follows:

[0090] Figure 4 and Figure 5 The overall QoE performance and cumulative distribution function (CDF) plots of each algorithm are shown. It can be seen that the method proposed in this patent can improve QoE by 12.5% ​​to 28.6%, and is significantly superior to other algorithms, especially in terms of video objective quality and freeze time. This demonstrates the advantage of the multi-round download strategy in correctly downloading the required segments and adjusting the quality level in real time. Figure 6The evaluation results of viewport prediction are presented, explaining its superior performance: The recall rate is close to 1, meaning there are almost no undownloaded visible segments, resulting in relatively high objective video quality; simultaneously, the precision is higher than QoE-TILE, avoiding the waste of bandwidth due to downloading numerous invisible segments, thus leading to shorter video freeze times. Overall, the highest precision results in the highest QoE.

[0091] To verify the robustness of the algorithm proposed in this patent, we also tested the algorithm in different environments.

[0092] Test Condition 1: Different Network Bandwidth Prediction Models. The choice of video quality level depends on the prediction of future bandwidth. We trained three long short-term memory (LSTM) neural network models. They have the same network structure but are taken from different training stages, and therefore have different performances. Table 2 shows the mean squared error of each model's prediction. Figure 7 The algorithm's performance under different bandwidth prediction accuracies is demonstrated, showing that the algorithm proposed in this patent performs well under various conditions, reflecting the adaptive capability of multi-round downloading.

[0093] Test Condition 2: Different Network Environments. In actual deployments, network bandwidth is uncertain. We selected four different network environments, and their mean and standard deviation of bandwidth are shown in Table 3. The test results are as follows: Figure 8 The method proposed in this patent performs well overall, especially in high-bandwidth network environments. This is because higher bandwidth provides the option to select higher video quality levels, further enhancing the advantages of viewport prediction and bringing greater improvement to the objective quality of the video.

[0094] Test Condition 3: Different User Viewport Prediction Models. Similar to Test Condition 1, viewport prediction is also a crucial part of download decision-making; only downloading visible chunks will lead to an improvement in QoE. This patent also trained three LSTM models for viewport prediction. They have the same network structure but were taken from different training phases, thus exhibiting different performances. Table 4 shows the mean squared error of each model's predictions. Figure 9 The performance of each algorithm under different viewport prediction models is shown. The results show that the algorithm proposed in this patent has better performance, especially when the viewport prediction performance is poor. The algorithm proposed in this patent can minimize the number of visible segments that are not downloaded, thereby resulting in a higher QoE.

[0095] Table 2. Mean Square Error of Bandwidth Prediction for Three Bandwidth Prediction Models

[0096]

[0097] Table 3. Average and standard deviation of bandwidth for four network conditions

[0098]

[0099] Table 4. Mean Square Error of Three Viewport Prediction Models

[0100]

[0101] To verify the deployability of the algorithms, we also compared their complexity. We used a laptop (Dell G15 5511, equipped with an Intel Core i7-11800H processor, 16GB of RAM, and an Nvidia GeForce RTX 3050 graphics card) as a client to deploy the algorithms. Table 5 shows the solution time for each algorithm when downloading a 10-second video on the prototype. The algorithm proposed in this patent calls a large number of viewport predictions, resulting in a relatively long overall runtime; however, its complexity remains within an acceptable range because the download process and the algorithm solution process can be parallelized. Running the algorithm during download eliminates the additional waiting time.

[0102] Table 5 Complexity Assessment

[0103]

[0104] A computer device includes at least one processor and a computer-readable medium storing a computer program, which is read and executed by the processor to implement the method of this application.

[0105] 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 a computer program instructing related hardware. The computer program can be stored in a non-volatile computer-readable storage medium, and when executed, it can include the processes of the embodiments of the above methods. Any references to memory, storage, databases, or other media used in the embodiments provided in this application can include non-volatile and / or volatile memory. Non-volatile memory can include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), or flash memory. Volatile memory can include random access memory (RAM) or external cache memory. By way of illustration and not limitation, RAM is available in various forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), dual data rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), synchronous link DRAM (SLDRAM), memory bus DRAM (RDRAM), and interface DRAM (DRDRAM), etc.

[0106] In the description of this specification, references to terms such as "some embodiments," "other embodiments," and "ideal embodiments" indicate that a specific feature, structure, material, or characteristic described in connection with that embodiment or example is included in at least one embodiment or example of the invention. In this specification, the illustrative descriptions of the above terms do not necessarily refer to the same embodiments or examples.

[0107] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.

[0108] The embodiments described above are merely illustrative of several implementations of the present invention, and while the descriptions are relatively specific and detailed, they should not be construed as limiting the scope of the invention patent. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of the present invention, and these all fall within the protection scope of the present invention. Therefore, the protection scope of this invention patent should be determined by the appended claims.

Claims

1. A volumetric video stream adaptive transmission method based on multi-round pre-downloading, characterized in that, During the entire transmission process, the server pre-segments and compresses the original video. When the client requests the corresponding video segment, the server transmits the video to the client over the network. The client then implements a multi-round pre-download strategy. Use a greedy algorithm to determine the quality level of each slice, then download and play. The greedy algorithm is used to determine the quality level of each piece, and the steps are as follows: S3.3.1 Calculate the volume budget for this download, based on the increase in recall; for a single download, the increase in recall... Defined as the prior recall rate of this viewport prediction. Compared to the original recall rate of this frame group The difference; that is: ; The prior recall of viewport prediction is the data recorded during model training, which is determined by the length of the prediction interval. The original recall of a frame group is the value obtained after its last download. S3.3.2 resulted in an improved recall rate. Then, predict the upcoming network bandwidth and calculate the volume budget for this download. b To predict the bandwidth BW * frame group duration T * recall improvement, i.e.: ; S3.3.3 treats the video quality level decision as an optimization problem, with the goal of maximizing user QoE; QoE is defined as a linear weighted combination of three components of video: objective quality, freeze time, and quality switching. The weights of the three are respectively , , ; Objective quality is defined as the PSNR score of a visible slice divided by the user's viewing distance. , For cutting into pieces j PSNR It is a boolean variable indicating whether the slice j appears in the user viewport. Representing users and segments j The distance; The freeze time refers to the player's waiting time caused by this download. ,in t p This indicates the current position of the player. t i Represents frame group i Objective time, Δt i Indicates the current download frame group i Time spent; Quality switching is defined as ,in l i,j This indicates the quality level selected for slice j. Only slices that are visible in two adjacent frame groups at the same time will cause a quality switch. Using download time as a constraint, and the remaining two terms of QoE as the objective function. This transforms into a constrained optimization problem, namely: ; ; V(*) represents the volume of the cut pieces. s i,j Mapped to video quality q i,j Given a function, use a greedy method to solve this optimization problem: S3.3.3.1 Initialize all chunks to be downloaded to the lowest quality level. Then iterate through all chunks to be downloaded. If increasing the quality level of a chunk by one level still satisfies the constraint, record the result of increasing the quality level of this chunk by one level, which leads to U. i The improvement amount is used to find a block that improves the quality level of this block while satisfying the constraints and making U... i Maximize the improvement and determine this slice as the slice to be improved in this round; S3.3.3.2 Restart traversing all the chunks to be downloaded until improving the quality level of any chunk no longer satisfies the constraints. At this point, the result of each chunk is taken as the final result.

2. The adaptive transmission method for volumetric video streams based on multi-round pre-downloading as described in claim 1, characterized in that, The server needs to be initialized before splitting and compressing the original video. The specific steps are as follows: S1.1 Video Frame Segmentation: The server first divides the provided video content into multiple frame groups according to time sequence. Each frame group contains T seconds of video content, meaning the entire video can be divided into {GoF1, GoF2, ..., GoF...} n }; S1.2 Spatial Segmentation: Each frame group is further subdivided into multiple spatial segments, which are evenly distributed along the x, y, and z axes; S1.3 Multi-level Compression: Each spatial block is encoded with a different compression ratio and different quality levels are set to adapt to different network conditions and user needs; S1.4 Storage and Indexing: The compressed chunks are stored on the server according to certain indexing rules to facilitate fast retrieval and transmission.

3. The volumetric video stream adaptive transmission method based on multi-round pre-downloading as described in claim 1, characterized in that, The client includes a downloader and a player; the downloader is responsible for downloading and decoding the video, and storing the decoded video in a buffer. The player is responsible for rendering the video, rendering the videos in the playback buffer sequentially.

4. The volumetric video stream adaptive transmission method based on multi-round pre-downloading as described in claim 3, characterized in that, Client initialization includes buffer initialization and transmission initialization; The buffer is initialized to empty to ensure there is enough space to store the video data that will be downloaded soon; Transmission initialization: Set the current playback position p The starting point, i.e. p=0 Initialize all frame groups i The recall rate is 0, that is... This provides a baseline for subsequent downloads and playback; when a transfer begins, the downloader requests to download all segments of the first frame group at the lowest quality level.

5. The adaptive transmission method for volumetric video streams based on multi-round pre-downloading as described in claim 1, characterized in that, The client's player is responsible for rendering and playing the frame groups in the buffer sequentially, in parallel with the downloader's work. The player presents the rendered frame group to the user every T seconds. When the frame group that the player is about to play has the same sequence number as the frame group that the downloader is downloading, the player will freeze and wait for the downloader to finish downloading before rendering and playing.

6. The volumetric video stream adaptive transmission method based on multi-round pre-downloading according to claim 3, characterized in that, During the transmission process, the client continuously requests downloads from the server. The specific steps are as follows: S3.1 If the current player has played to the last frame group, the downloader stops working and waits for the playback to end; if the current player has not played to the last frame group, the client downloader starts from the next frame group of the currently playing frame group and traverses backwards to predict whether each segment of the frame group is visible. After S3.2 prediction is completed, compare the prediction results with the contents stored in the buffer. If it is found that some segments in the currently traversed frame group have visible prediction results but are not stored in the buffer, record these segments and stop traversing the frame group; otherwise, continue traversing the frame group. S3.3 If some blocks were recorded in step 3.2, a greedy algorithm is used to request download and update parameters. The client sends a download request to the server according to the result in S3.3.3 and records the actual bandwidth during the download. After downloading, the video is stored in a buffer for playback, and the recall of the downloaded frame group is updated. This update should include the additional recall from this download, defined as the quotient of the actual downloaded video size and the ideal download size. The ideal download size is defined as the actual bandwidth used during the download. BW' The product of the frame group duration T, Where cur_size is the actual size of the video downloaded this time, and finally proceed to step 3.1 to continue the detection; S3.4 If no segment needs to be downloaded is found after traversing the last frame group in step 3.2, the download is paused for Δt time. After the playback progresses for a period of time, the process returns to step 3.1 to start the next round of detection and download.

7. A computer device, characterized in that, It includes at least one processor and a computer-readable medium storing a computer program, which is read and executed by the processor to implement the method as described in any one of claims 1-6.

Citation Information

Patent Citations

  • Self-adaptive omnidirectional video streaming method based on quality perception

    CN114640851A

  • QoE-driven panoramic video streaming media distribution robust transmission method

    CN118075522A