A method for panoramic video transmission based on DASH

CN117412076BActive Publication Date: 2026-11-03NORTHEASTERN UNIV CHINA
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202311332522.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-10-16
Publication Date
2026-11-03
Estimated Expiration
2043-10-16

AI Technical Summary

Technical Problem

Existing panoramic video transmission methods have errors in viewport prediction and bitrate selection, and fail to make optimal decisions based on various factors in the playback environment, resulting in a poor user experience.

Method used

A panoramic video transmission method based on DASH is adopted, which combines QoE scoring, reinforcement learning and long short-term memory network technology. The bitrate is adaptively selected through the Actor-Critic neural network model, and the viewport is predicted using the LSTM-Seq2Seq model. The transmission strategy of video tiles is optimized by taking into account factors such as user field of view, network bandwidth and buffer.

Benefits of technology

It improves the user experience quality of panoramic video transmission by dynamically adjusting the bitrate and improving viewport prediction, thereby enhancing the smoothness and visual effects of video playback.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117412076B_ABST
    Figure CN117412076B_ABST
Patent Text Reader

Abstract

The application provides a panoramic video transmission method based on DASH, and relates to the technical field of video transmission. The method relates to three parts of determination of panoramic video QoE, dynamic adaptive selection of code rate and viewport prediction. First, the panoramic video is divided into fixed-size tiles in the spatial dimension, and the corresponding quality is graded for each video tile. And the panoramic video is divided into video frame sequence blocks with the same duration. Then, the parameter most affecting the user experience is determined, and then the objective function of panoramic video QoE is determined. The code rate of the panoramic video is adaptively selected using the Asynchronous Advantage Actor-Critic framework of reinforcement learning. The viewport of the user is predicted using the viewport prediction model based on LSTM-Seq2Seq. The method designs the state, action and reward value function of the reinforcement learning agent in the panoramic video scene, and improves the accuracy of the predicted viewport by predicting the user's viewport through the long short-term memory network method, thereby further improving the viewing experience of the user.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of video transmission technology, and in particular to a panoramic video transmission method based on DASH. Background Technology

[0002] With advancements in intelligent computing and high-definition display technologies, virtual reality technology is steadily progressing, and users' interest in panoramic video is growing stronger, leading to increasing viewing demands. As a key application of virtual reality technology, panoramic video has already secured a significant position in the streaming media transmission field.

[0003] Panoramic video has a higher bitrate and resolution than traditional video, and therefore requires more bandwidth. To ensure a good user experience, a viewpoint-based adaptive transmission scheme is used to divide the panoramic video into tiles of the same size in the spatial dimension, and to classify each video tile accordingly, so that different bitrate videos can be requested for different environments during transmission.

[0004] Existing technologies employ chunked transmission encoding and attempt to adjust the resolution of the downloaded video based on the user's viewport. This is achieved by encoding video blocks into two different resolutions, where the video frame construction process integrates high-bitrate video blocks within the viewport and low-bitrate video blocks outside the viewport.

[0005] Viewpoint-based adaptive transmission schemes require accurate viewport prediction algorithms. Since head movements are random when watching video, viewport prediction is prone to error, necessitating appropriate handling of these errors. Furthermore, when requesting the desired video block resolution, only bandwidth is considered without taking other factors in the playback environment into account, resulting in a resolution decision that is not optimal. Summary of the Invention

[0006] The technical problem to be solved by the present invention is to provide a panoramic video transmission method based on DASH to overcome the shortcomings of the prior art and realize the transmission of panoramic video.

[0007] To solve the above-mentioned technical problems, the technical solution adopted by the present invention is: a panoramic video transmission method based on DASH, comprising three parts: determination of panoramic video QoE, dynamic adaptive selection of bitrate, and viewport prediction; QoE is a score for evaluating the video viewing effect, viewport prediction determines which video tiles are transmitted, and dynamic adaptive bitrate uses QoE as a reference to determine the bitrate of the transmitted video tiles.

[0008] Specifically, the following steps are included:

[0009] Step 1: Divide the panoramic video into fixed-size tiles with I rows and J columns in the spatial dimension at time t, and classify the quality of each video tile accordingly; set (i,j) to represent the position of the i-th row and j-th column in the tile; allocate and encode the video tiles using a specific bit rate from the candidate rate set;

[0010] Step 2: Divide the panoramic video into video frame sequence blocks with the same duration, denoted as T; the video frame sequence blocks are indexed from 1 to C, where C represents the total number of video frame sequence blocks in the panoramic video;

[0011] Step 3: Determine the objective function for QoE of panoramic video;

[0012] Identify the parameters that have the greatest impact on user experience, specifically including:

[0013] (1) Determine the average viewport quality [Mb] between two video frame sequence blocks, as shown in the following formula:

[0014]

[0015] in, Let f(c) represent the average viewport quality between the x-th and y-th video frame sequence blocks, and f(c) be the total bitrate within the viewport interval. ij (c) indicates whether the position (i,j) of the c-th video frame sequence block is within the viewport;

[0016] (2) Determine the video tile rebuffering time:

[0017] When the download time of a video tile exceeds the buffer occupancy rate, the client needs to rebuffer that video tile. The total rebuffering time for all video tiles between two video frame sequence blocks is expressed as:

[0018]

[0019] in, Let z(c) represent the total rebuffering time for all video tiles between the x-th and y-th video frame sequence blocks, and z(c) be the number of bits in the c-th video frame sequence block. N c Let B be the average download speed of the c-th video frame sequence block. c ρ represents the buffer occupancy rate when requesting the c-th video frame sequence block, where ρ is the ratio of download rate to playback rate.

[0020] (3) Determine the average viewport bitrate change between two video frame sequence blocks:

[0021] The change in viewport content bitrate is measured using the average viewport bitrate change, as shown in the following formula:

[0022]

[0023] in, This represents the average viewport bitrate change between the x-th and y-th video frame sequence blocks;

[0024] The objective function of panoramic video QoE is... for:

[0025]

[0026] Where μ and τ are both non-negative weighted hyperparameters, and the determination of μ and τ is based on actual requirements;

[0027] Step 4: Adaptively select the bitrate for panoramic video using the Asynchronous Advantage Actor-Critic framework of reinforcement learning; by training the Actor-Critic neural network model, select the optimal bitrate for video slices of the field of view (FOV) based on environmental information collected by the client video player; for panoramic video, add a fully connected layer to the Actor-Critic neural network model to extract deeper features; incorporate the user's viewing trajectory into the model input, and obtain the size of the current video slice based on the viewing trajectory; add a buffer processing mechanism when the user's viewing angle changes; and also add a bitrate selection optimization process after predicting the next viewing angle information.

[0028] The current video frame region is divided into 16 video tiles in a 4x4 grid. Nine of these tiles are selected for downloading high-bitrate quality tiles, while the remaining tiles are selected for downloading the lowest bitrate quality tiles. The goal is to adaptively select the optimal bitrate based on the current network conditions.

[0029] The Actor-Critic neural network model includes an Actor network and a Critic network; the Agent receives the state s t Then, it will take action a based on the input information. t The agent selects the bitrate for the next video tile; the agent's bitrate selection is based on the network's policy π(s). t ,a t ); State s t When calculating download time and download speed, network throughput and state s are required. t The player buffer lengths in the network are all continuous real numbers, requiring a function approximation method to perform regression and determine the network throughput at the next time step; a neural network NN is used to represent the action-value function; using the NN, the policy π(s) is... t ,a t Convert π to π θ (s t,a t ), and define Q(s,a;θ) as an approximate action-value function with parameter θ, the update of θ is performed using various reinforcement learning algorithms;

[0030] The Critic network uses the same input and a similar network structure as the Actor network, except that the last layer that outputs the reward is a linear connection layer, and the output is V(s). t ;θ v ) is a state-value function;

[0031] The inputs s of the Actor-Critic neural network t It is a six-dimensional vector C, including the bit rate b of the central viewport region. c,t The client's cache length at time t is l t The download speed v of the video frame sequence blocks at the previous moment t-1 The download time τ of the video frame sequence block at the previous moment t-1 At N different bitrates, what is the total bitrate n of the nine tiles in the center region of the viewport in the video at the next moment? N The number of remaining video frame sequence blocks c t In the Actor-Critic neural network structure, π θ (s t ,a t The vector '(')' represents the strategy made by the actor network. It is an N-dimensional vector containing the possibilities of choosing each bitrate. When making adaptive choices, the bitrate with the highest probability is selected. In each agent, the states of the player after downloading the slice are input into the actor network, which outputs the probability of each action. Then, the selected bitrate is input into the environment env for player simulation download. The downloaded states are input into the neural network again for training, and the reward for this selection is calculated to adjust the parameters of the neural network.

[0032] Step 5: Predict the user's viewport using a viewport prediction model based on LSTM-Seq2Seq;

[0033] A viewport prediction model based on LSTM-Seq2Seq is used for viewport prediction. The Seq2Seq model in the viewport prediction model is an encoder-decoder model. The source sequence is encoded into a single vector using a Long Short-Term Memory (LSTM) network. This vector is called the context vector, and this process is called the encoder process. The context vector is regarded as a feature representation of the entire input trajectory. Then, this vector is decoded by a second LSTM, which learns to output the target trajectory by generating one prediction result at a time. This process is called the decoder process.

[0034] Input viewport sequence The input is passed through a preprocessing layer to the encoder; at each time step, the input to the encoder LSTM is the current viewport value and the hidden state h from the previous time step. t-1 The output of the encoder LSTM is a new hidden state h. t Treat this hidden state as a vector representation of the viewport;

[0035] The encoder LSTM is represented as x t and h t-1 The function is shown in the following formula:

[0036] h t =EncoderLSTM(x) t ,h t-1 )

[0037] The initial hidden state h0 is typically initialized to zero or the learned parameters; once the final input x... t The preprocessed layer is fed into the LSTM, using the encoder's final hidden state h. t The context vector z, i.e., h, serves as the connection between the encoder and decoder. t =z; This is the vector representation of the entire input;

[0038] After obtaining the context vector z through the encoder, the context vector z is first decoded by the decoder to obtain the output viewport trajectory. in, For the Tth r A true viewpoint, The Tth output of the decoder r First, the encoder's final input is used as the start of the decoder sequence; second, at each time step, the current input to the decoder LSTM is the preprocessed prediction result from the previous time step, and the hidden state s from the previous time step. t-1 The initial decoder hidden state s0 is the context vector s0 = h t =z, meaning the initial decoder hidden state is the final encoder hidden state;

[0039] Therefore, similar to the encoder, the decoder can be represented as:

[0040] s t =DecoderLSTM(y t ,s t-1 )

[0041] The preprocessing layers for the encoder and decoder are different and have their own parameters. In the decoder, the output is deprocessed from the hidden state to the actual viewport information. Therefore, at each time step, a deprocessing function is needed to process the hidden state s. t Convert to viewport information y at the current momentt As shown in the formula below:

[0042] y t =f(s) t )

[0043] The viewport information in the decoder is always generated one time step at a time, one for each time step; for the first input y0 of the decoder, x is always used. t However, for the subsequent input y t If the value is greater than 1, then the actual next viewport information y in the viewport trajectory will be used. t =x t-1 Or use the viewport predicted by the decoder.

[0044] When training or testing the viewport prediction model, the Logistic Regression (LR) method is used for viewport prediction in the early stages when the historical viewport trajectory is less than a set value. Once the accumulated historical viewport trajectory reaches the required input length for encoding, the model is converted to an LSTM-Seq2Seq model for prediction. Therefore, in the Seq2Seq-LSTM viewport prediction model, the encoder and decoder time steps are set to fixed values. Once the predicted target trajectory is obtained... Compare it with the actual target trajectory The comparisons are made to calculate the model's loss; then, this loss is used to update all parameters in the model.

[0045] The beneficial effects of adopting the above technical solution are as follows: The present invention provides a panoramic video transmission method based on DASH, designs a QoE index for panoramic video transmission, improves the existing viewport prediction algorithm based on the QoE index, improves the prediction accuracy by combining long short-term memory network technology, improves the video bitrate selection algorithm, uses a reinforcement learning model, and considers bandwidth, buffer and other states to make a bitrate request that is more in line with the current environment.

[0046] When designing the QoE objective function, this invention considers factors such as user field of view, fluctuating network bandwidth, and buffer level, thereby better quantifying the viewing experience of panoramic videos. Simultaneously, it proposes a dynamic bitrate adjustment mechanism combining reinforcement learning, designs the state, action, and reward value functions of the reinforcement learning agent in panoramic video scenes, and improves the accuracy of predicting the user's viewport by using a long short-term memory network method, further enhancing the user's viewing experience. Attached Figure Description

[0047] Figure 1 This is a diagram illustrating the architecture of a panoramic video transmission system provided in an embodiment of the present invention.

[0048] Figure 2 This is a schematic diagram illustrating the process of adaptively selecting the bitrate of panoramic video using the A3C framework based on reinforcement learning, as provided in an embodiment of the present invention.

[0049] Figure 3 A schematic diagram of the Actor network structure provided in the embodiments of the present invention.

[0050] Figure 4 A schematic diagram of the Critic network structure provided in an embodiment of the present invention.

[0051] Figure 5 A schematic diagram of the cyclic chain form and unit structure of LSTM provided in the embodiments of the present invention;

[0052] Figure 6 A schematic diagram of a viewport prediction model based on LSTM-Seq2Seq (sequence to sequence) provided for an embodiment of the present invention. Detailed Implementation

[0053] The specific embodiments of the present invention will be described in further detail below with reference to the accompanying drawings and examples. The following examples are for illustrative purposes only and are not intended to limit the scope of the invention.

[0054] In this embodiment, a panoramic video transmission method based on DASH includes three parts: determination of the panoramic video QoE, dynamic adaptive bitrate selection, and viewport prediction. QoE is a score used to evaluate the video viewing effect; viewport prediction determines which video tiles to transmit; and dynamic adaptive bitrate selection uses QoE as a reference to determine the bitrate of the transmitted video tiles. In this embodiment, the panoramic video transmission system architecture is as follows: Figure 1 As shown, the specific steps include:

[0055] Step 1: Divide the panoramic video into fixed-size tiles with I rows and J columns in the spatial dimension at time t, and classify the quality of each video tile accordingly; let (i,j) represent the position of the i-th row and j-th column in the tile; allocate and encode the video tiles by a specific bit rate from the candidate rate set, that is, the streaming system can determine the bit rate of each video tile based on the rate allocation strategy;

[0056] Let R denote the candidate rate set, and let r i,j (c)∈R represents the rate of the video block at position (i,j) of the c-th block. After the rate is assigned to the blocks, the corresponding blocks are collected and then transmitted over the network. Users can change their viewpoint during 360-degree video playback. Due to bandwidth limitations, it is unwise to transmit all segments of each block in high quality; therefore, only segments within the viewport are transmitted in high quality.

[0057] Step 2: Divide the panoramic video into video frame sequence blocks with the same duration, denoted as T; the video frame sequence blocks are indexed from 1 to C, where C represents the total number of video frame sequence blocks in the panoramic video;

[0058] Step 3: Determine the objective function for QoE of panoramic video;

[0059] Since the Quality of Experience (QoE) determines how long a user watches a video, and user sensitivity to QoE varies across different playback scenarios, it's crucial to focus on the parameters that have the greatest impact on user experience. These include:

[0060] (1) Determine the average viewport quality [Mb] between two video frame sequence blocks:

[0061] Since users can only view the content within the viewport when watching a video, the average viewport quality of the entire video is very important for QoE, as shown in the following formula:

[0062]

[0063] in, Let f(c) represent the average viewport quality between the x-th and y-th video frame sequence blocks, and f(c) be the total bitrate within the viewport interval. ij (c) indicates whether the position (i,j) of the c-th video frame sequence block is within the viewport;

[0064] (2) Determine the video tile rebuffering time [s]:

[0065] When the download time of a video tile exceeds the buffer occupancy rate, the client needs to rebuffer that video tile. The total rebuffering time for all video tiles between two video frame sequence blocks is expressed as:

[0066]

[0067] in, Let z(c) represent the total rebuffering time for all video tiles between the x-th and y-th video frame sequence blocks, and z(c) be the number of bits in the c-th video frame sequence block. N c Let B be the average download speed of the c-th video frame sequence block. c ρ represents the buffer occupancy rate when requesting the c-th video frame sequence block, where ρ is the ratio of download rate to playback rate.

[0068] (3) Determine the average viewport bitrate change [Mb] between two video frame sequence blocks:

[0069] The bitrate variation of the viewport content should not be large, otherwise it will make the user uncomfortable. Therefore, the average viewport bitrate variation is used to measure the change in viewport content bitrate, as shown in the following formula:

[0070]

[0071] in, This represents the average viewport bitrate change between the x-th and y-th video frame sequence blocks;

[0072] The objective function for QoE in panoramic video is:

[0073]

[0074] Where μ and τ are both non-negative weighted hyperparameters, and the determination of μ and τ is based on actual requirements;

[0075] Step 4: Adaptively select the bitrate of the panoramic video using the A3C (Asynchronous Advantage Actor-Critic) framework based on reinforcement learning, such as... Figure 2 As shown, by training an Actor-Critic neural network model, the optimal bitrate is selected for video slices in the Field of Vision (FOV) region based on environmental information collected by the client video player. For panoramic videos, a fully connected layer is added to the Actor-Critic neural network model to extract deeper features. The user's viewing trajectory is incorporated into the model input, and the size of the current video slice is obtained based on the trajectory. A buffer processing mechanism is added when the user's viewing angle changes. A bitrate selection optimization process based on the prediction of the next viewing angle information is also added. To improve the video quality in the FOV region and reduce the bandwidth requirements of panoramic videos, the current video frame region is divided into 16 video tiles in a 4x4 format. Nine of these tiles are selected for downloading high-bitrate quality tiles, and the remaining tiles are selected for downloading the lowest bitrate tiles. The goal is to adaptively select the optimal bitrate based on the current network conditions.

[0076] The Actor-Critic neural network model includes an Actor network and a Critic network. The network structure of the Actor is as follows: Figure 3 As shown; the Agent receives status s t Then, it will take action a based on the input information. t The agent selects the bitrate for the next video tile; the agent's bitrate selection is based on the network's policy π(s). t ,a t In practice, state s t When calculating download time and download speed, network throughput and state s are required.t The player buffer lengths in the network are all continuous real numbers, requiring a function approximation method to perform regression and determine the network throughput at the next time step; a Neural Network (NN) is used to represent the action-value function; using the NN, the policy π(s) is... t ,a t Convert π to π θ (s t ,a t ), and define Q(s,a;θ) as an approximate action-value function with parameter θ, the update of θ is performed using various reinforcement learning algorithms;

[0077] Critic's network structure is as follows Figure 4 As shown; the Critic network and the Actor network use the same input and a similar network structure, except that the last layer that outputs the reward is a linear connection layer, and the output V(s) t ;θ v ) is a state-value function;

[0078] The inputs s of the Actor-Critic neural network t It is a six-dimensional vector C, including the bit rate b of the central viewport region. c,t The client's cache length at time t is l t The download speed v of the video frame sequence blocks at the previous moment t-1 The download time τ of the video frame sequence block at the previous moment t-1 At N different bitrates, what is the total bitrate n of the nine tiles in the center region of the viewport in the video at the next moment? N The number of remaining video frame sequence blocks c t In the Actor-Critic neural network structure, π θ (s t ,a t The vector '(')' represents the strategy made by the actor network. It is an N-dimensional vector containing the possibilities of choosing each bitrate. When making adaptive choices, the bitrate with the highest probability is selected. In each agent, the states of the player after downloading the slice are input into the actor network, which outputs the probability of each action. Then, the selected bitrate is input into the environment env for player simulation download. The downloaded states are input into the neural network again for training, and the reward for this selection is calculated to adjust the parameters of the neural network.

[0079] Step 5: Predict the user's viewport using a viewport prediction model based on LSTM-Seq2Seq;

[0080] LSTM is a model that uses time series data for predictive analysis, using features from a past period to predict future time features. Building upon this, the LSTM model can learn long-term dependencies. LSTM is a recurrent chain network that allows for information persistence. Figure 5 The diagram shows the chain form and unit structure of LSTM.

[0081] A viewport prediction model based on LSTM-Seq2Seq (sequence-to-sequence) is used for viewport prediction. The Seq2Seq (sequence-to-sequence) model in the viewport prediction model is an encoder-decoder model. A Long Short-Term Memory (LSTM) network is used to encode the source (input) sequence into a single vector. This vector is called the context vector, and this process is called the encoder process. The context vector is regarded as the feature representation of the entire input trajectory. Then, this vector is decoded by a second LSTM, which learns the output target (output) trajectory by generating one prediction result at a time. This process is called the decoder process.

[0082] In this embodiment, the viewport prediction model based on LSTM-Seq2Seq (sequence-to-sequence) is as follows: Figure 6 As shown, the input viewport sequence (x1, x2, ..., x...) t The input is passed through the preprocessing layer (bottom-level cubes) to the encoder; at each time step, the input to the encoder LSTM is the current viewport value and the hidden state h from the previous time step. t-1 The output of the encoder LSTM is a new hidden state h. t Treat this hidden state as a vector representation of the viewport;

[0083] The encoder LSTM is represented as x t and h t-1 The function is shown in the following formula:

[0084] h t =EncoderLSTM(x) t ,h t-1 )

[0085] The initial hidden state h0 is typically initialized to zero or the learned parameters; once the final input x... t The preprocessed layer is fed into the LSTM, using the encoder's final hidden state h. t The context vector z, i.e., h, serves as the connection between the encoder and decoder. t =z; This is the vector representation of the entire input;

[0086] After obtaining the context vector z through the encoder, the context vector z is first decoded by the decoder to obtain the output viewport trajectory. in, For the Tth r A true viewpoint, The Tth output of the decoder r First, the encoder's final input is used as the start of the decoder sequence; at each time step, the current input to the decoder LSTM (intermediate layer block) is the preprocessed prediction result from the previous time step, and the hidden state s from the previous time step. t-1 The initial decoder hidden state s0 is the context vector s0 = h t =z, meaning the initial decoder hidden state is the final encoder hidden state;

[0087] Therefore, similar to the encoder, the decoder can be represented as:

[0088] s t =DecoderLSTM(y t ,s t-1 )

[0089] The preprocessing layers for the encoder and decoder are different and have their own parameters. In the decoder, the output is deprocessed from the hidden state to the actual viewport information. Therefore, at each time step, a deprocessing function is needed to process the hidden state s. t Convert to viewport information y at the current moment t As shown in the formula below:

[0090] y t =f(s) t )

[0091] The viewport information in the decoder is always generated one time step at a time, one for each time step; for the first input y0 of the decoder, x is always used. t However, for the subsequent input y t If the value is greater than 1, then the actual next viewport information y in the viewport trajectory will be used. t =x t-1 Or use the viewport predicted by the decoder.

[0092] The pseudocode for the above model prediction process is shown in Table 1:

[0093] Table 1 Viewport prediction based on LSTM-Seq2Seq

[0094]

[0095]

[0096] When training or testing the viewport prediction model, the encoder length is fixed because the amount of time in the training viewport as input is known. During inference, however, the input length is often variable, for example, in the early stages of viewport prediction. Therefore, we combine the Logistic Regression (LR) method with the Seq2Seq-LSTM model. In the early stages, when the historical viewport trajectory is less than a set value, we use the LR algorithm for viewport prediction. Once the historical viewport trajectory accumulates to a length sufficient for encoding, we convert to an LSTM-Seq2Seq model for prediction. Thus, in the Seq2Seq-LSTM viewport prediction model, the encoder and decoder time steps are set to fixed values. Once the predicted target trajectory is obtained... Compare it with the actual target trajectory The comparisons are made to calculate the model's loss; then, this loss is used to update all parameters in the model.

[0097] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, and are not intended to limit them. Although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some or all of the technical features therein. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the scope defined by the claims of the present invention.

Claims

1. A panoramic video transmission method based on DASH, comprising three parts: determination of panoramic video QoE, dynamic adaptive selection of bitrate, and viewport prediction, characterized in that: QoE is a score used to evaluate the viewing experience of a video. Viewport prediction determines which video tiles are transmitted. Dynamic bitrate adaptation uses QoE as a reference to determine the bitrate of the transmitted video tiles, and specifically includes the following steps: Step 1: Divide the panoramic video into segments with spatial dimensions at time t. Ⅰ lines and J The system uses fixed-size tiles in columns and assigns a quality rating to each video tile accordingly; video tiles are allocated and encoded using a specific bitrate from a candidate rate set. Step 2: Divide the panoramic video into video frame sequence blocks with the same duration, denoted as T; Step 3: Determine the parameters that have the greatest impact on user experience, and then determine the objective function for QoE of panoramic video; The parameters that have the greatest impact on user experience include: (1) Average viewport quality between two video frame sequence blocks , Indicates the first x Individual and y Average viewport quality between blocks of video frame sequences; (2) Video tile rebuffering time , Indicates the first x Individual and y Rebuffering time for all video tiles between video frame sequence blocks; (3) Average viewport bitrate variation between two video frame sequence blocks , Indicates the first x Individual and y Average viewport bitrate variation between video frame sequence blocks; The objective function of panoramic video QoE is... for: in, All are non-negative weighted hyperparameters. The determination is based on actual needs; Step 4: Adaptively select the bitrate of the panoramic video using the Asynchronous Advantage Actor-Critic framework of reinforcement learning; By training an Actor-Critic neural network model, the optimal bitrate is selected for video slices of the field of view (FOV) based on environmental information collected by the client video player. For panoramic videos, a fully connected layer is added to the Actor-Critic neural network model to extract deeper features. The user's viewing trajectory is incorporated into the model input, and the size of the current video slice is obtained based on the viewing trajectory. A buffer processing mechanism is added when the user's viewing angle changes. A bitrate selection optimization process based on the prediction of the next viewing angle information is also added. The current video frame region is divided into 16 video tiles in a 4x4 grid. Nine of these tiles are selected for downloading high-bitrate quality tiles, while the remaining tiles are selected for downloading the lowest bitrate quality tiles. The goal is to adaptively select the optimal bitrate based on the current network conditions. The Actor-Critic neural network model includes an Actor network and a Critic network; the Agent receives the state. Then, it will take action based on the input information. The agent selects the bitrate for the next video tile; the agent's bitrate selection is based on network policies. ;state When calculating download time and download speed, network throughput, network throughput, and status are required. The player buffer lengths in the network are all continuous real numbers, requiring a function approximation method to perform regression and determine the network throughput at the next time step; a neural network (NN) is used to represent the action-value function; using the NN, the strategy is... Transform into and define For a parameter Approximate action-value function, The updates employ various reinforcement learning algorithms; The Critic network uses the same input and a similar network structure as the Actor network, except that the final layer that outputs the reward is a linear connection layer. It is a state-value function; Input to the Actor-Critic neural network It is a six-dimensional vector C, including the bit rate of the central viewport region. The length of the client's cache at time t The download speed of the video frame sequence blocks at the previous moment Download time of the previous video frame sequence block At N different bitrates, what is the total bitrate of the nine tiles in the center region of the viewport in the video at the next moment? Number of remaining video frame sequence blocks In the Actor-Critic neural network structure, The strategy represented by the actor network is an N-dimensional vector containing the possibilities of choosing each bitrate. During adaptive selection, the bitrate with the highest probability is chosen. In each agent, the states of the player after downloading the slice are input into the actor network, which outputs the probability of each action. Then, the selected bitrate is input into the environment env for player simulation download. The downloaded states are input into the neural network again for training, and the reward for this selection is calculated to adjust the parameters of the neural network. Step 5: Predict the user's viewport using a viewport prediction model based on LSTM-Seq2Seq; During training or testing, the viewport prediction model incorporates the Logistic Regression (LR) method. In the early stages, when the historical viewport trajectories are less than a set value, the LR method is used for viewport prediction. Once the accumulated historical viewport trajectories reach the required input length for encoding, the model is converted to an LSTM-Seq2Seq model for prediction. Therefore, in the LSTM-Seq2Seq-based viewport prediction model, the encoder and decoder time steps are set to fixed values. Once the predicted target trajectory is obtained... Then compare it with the actual target trajectory. The comparisons are made to calculate the model's loss; then, this loss is used to update all parameters in the model.

2. The panoramic video transmission method based on DASH according to claim 1, characterized in that: The average viewport quality between the two video frame sequence blocks is shown in the following formula: in, It is the total bitrate within the viewport area. Indicates the first c The position of a video frame sequence block Is it within the viewport? i , j ) indicates the first element in the diagram. i row and number j The position of the column.

3. The panoramic video transmission method based on DASH according to claim 2, characterized in that: The video tile rebuffering time is shown in the following formula: in, For the first Number of bits per video frame sequence block For the first Average download speed of a video frame sequence block For requesting the Buffer occupancy rate per video frame sequence block. This is the ratio of download speed to playback speed.

4. The panoramic video transmission method based on DASH according to claim 3, characterized in that: The average viewport bitrate change between the two video frame sequence blocks is shown in the following formula: 。 5. The panoramic video transmission method based on DASH according to claim 4, characterized in that: The Seq2Seq model in the viewport prediction model is an encoder-decoder model; a Long Short-Term Memory (LSTM) network is used to encode the source sequence into a single vector; this vector is called the context vector, and this process is called the encoder process; the context vector is regarded as a feature representation of the entire input trajectory. Then, the vector is decoded by a second LSTM, which learns to output the target trajectory by generating one prediction at a time; this process is called the decoder process. Input viewport sequence The input is passed through a preprocessing layer to the encoder; at each time step, the input to the encoder's LSTM is the current viewport value and the hidden state from the previous time step. The output of the encoder LSTM is a new hidden state. Treat this hidden state as a vector representation of the viewport; The encoder LSTM is represented as and The function is shown in the following formula: Initial hidden state Typically initialized to zero or learned parameters; once the final input... The preprocessed layer is fed into the LSTM, using the encoder's final hidden state. The context vector z, which serves as the link between the encoder and decoder, is... This is the vector representation of the entire input; When obtaining the context vector through the encoder z Then, firstly, the context vector is decoded using a decoder. z To obtain the actual target trajectory ,in, For the first A true viewpoint, The first output of the decoder One viewport; secondly, the final input of the encoder is used as the start of the decoder sequence; At each time step, the current input to the decoder LSTM is the preprocessed prediction from the previous time step, plus the hidden state from the previous time step. The initial decoder hidden state It is a context vector That is, the initial decoder hidden state is the final encoder hidden state; Therefore, similar to the encoder, the decoder can be represented as: The preprocessing layers for the encoder and decoder are different and have their own parameters. In the decoder, the output is deprocessed from the hidden state into the actual viewport information; therefore, a deprocessing function is needed at each time step. Hide state Convert to viewport information at the current moment As shown in the formula below: The viewport information in the decoder is always generated one time step at a time, one for each time step; for the first input of the decoder Always use However, for subsequent inputs, the actual next viewport information in the viewport trajectory is used, or the viewport predicted by the decoder is used.

Citation Information

Patent Citations

  • Adaptive code rate video transmission method and system based on reinforced learning

    CN108063961A

  • Video adaptive transmission method and device, terminal equipment and storage medium

    CN115037962A

  • Video code rate adaptive adjustment method and system based on DASH

    CN115988267A