Rate allocation method for scalable coded video
By designing a scalable video bitrate decision framework and joint optimization model, and combining cache awareness and bandwidth prediction, the problems of wasted video server storage space and poor user experience in existing technologies are solved, and dynamic optimization of video bitrate and improvement of user experience are achieved.
Patent Information
- Application Number
- CN202111539953.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-12-16
- Publication Date
- 2025-12-30
- Estimated Expiration
- 2041-12-16
AI Technical Summary
Existing bitrate decision-making methods for scalable encoded video fail to fully utilize its incremental and gradual bitrate increase characteristics, resulting in wasted video server storage space and poor user experience.
We design a bitrate decision framework for scalable encoded video, combining cache-aware download of new video blocks with bitrate increments of already downloaded video blocks, constructing a user-experience-based joint bitrate optimization model, and performing dynamic bitrate decision optimization through bandwidth prediction and cache monitoring.
It achieves balanced optimization of bandwidth utilization, reduces the risk of video stuttering, improves user experience, and reduces computational complexity.
Smart Images

Figure BDA0003413884310000041 
Figure BDA0003413884310000042 
Figure BDA0003413884310000052
Abstract
Description
Technical Field
[0001] This invention belongs to the field of video transmission technology, specifically relating to a joint bitrate decision-making method for scalable coded video. Background Technology
[0002] Scalable Video Coding (SVC) is an extension of the H.264 video coding standard, enabling layered encoding and multi-stream output of video data across time, space, and quality dimensions. The layered streams consist of a base layer and an enhancement layer. The base layer can be decoded and played independently, while the enhancement layer... n This video block requires the base layer (BaseLayer) and lower-level enhancement layers (EnhancementLayer1 to Enhancement-Layer). n-1 Associated decoding and playback. Compared to traditional Advanced Video Coding (AVC), scalable video coding offers significant advantages such as saving video server storage space, supporting incremental and progressive bitrate increases, and providing more flexible bitrate selection methods. Therefore, scalable video coding and its bitrate decision-making methods have a very broad application prospect.
[0003] Video bitrate decision-making involves determining the download bitrate for each video block (a video segment containing several frames) during online video playback, based on a comprehensive evaluation of factors such as video buffering, network bandwidth, and user experience. Existing bitrate decision-making methods for scalable video coding are still in their early stages, typically continuing the bitrate decision-making process for advanced video, i.e., making sequential, single-step bitrate decisions for each video block. This approach ignores the incremental and gradual bitrate increases supported by scalable video coding, severely limiting the full realization of its advantages. Summary of the Invention
[0004] The purpose of this invention is to provide a joint bitrate decision-making method for scalable encoded video, which achieves bitrate decision optimization that is highly adaptable to scalable encoded video from three aspects: bitrate decision framework design, joint bitrate optimization model construction, and dynamic video bitrate decision-making.
[0005] The technical solution to achieve the objective of this invention is: a joint bitrate decision method for scalable coded video, comprising the following steps:
[0006] Step (1): Design a bitrate decision framework for scalable encoded video: The framework realizes dynamic switching between two types of downloading new video blocks with cache awareness and increasing the bitrate of downloaded video blocks. The framework has the ability to embed and extend different bitrate decision algorithms.
[0007] Step (2): Construct a joint bitrate optimization problem based on user experience: For the two cases of downloading new video blocks and increasing the bitrate of downloaded video blocks, a video caching evolution model is constructed, a video quality cumulative comprehensive cost function is constructed, and a joint bitrate optimization problem is constructed respectively;
[0008] Step (3): Video bitrate decision based on bandwidth prediction and cache monitoring: For the optimization problem constructed in step (2), based on bandwidth prediction and cache monitoring, the dynamic solution of the bitrate decision optimization problem in the two cases is realized by traversing the set of optional bitrates.
[0009] Compared with the prior art, the significant advantages of this invention are:
[0010] (1) This invention considers two cases: downloading new video blocks with cache awareness and increasing the bitrate of already downloaded video blocks, from aspects such as the design of the bitrate decision framework, the construction of the joint bitrate optimization model, and the dynamic decision of video bitrate, so as to meet the bitrate decision requirements of scalable encoded video.
[0011] (2) The video bitrate decision framework designed in this invention breaks through the limitations of the traditional sequential and single-time bitrate decision framework, giving full play to the incremental and progressive bitrate improvement capability of scalable encoded video. At the same time, based on the openness and scalability of the framework, it supports the flexible embedding of various bitrate decision algorithms and has a high degree of originality.
[0012] (3) The joint bitrate optimization model constructed in this invention can comprehensively consider the dynamic changes of factors such as video caching, network bandwidth, and average bitrate. From the perspective of user viewing experience, it can achieve a balanced optimization of improving the average bitrate, reducing the risk of stuttering, and making full use of bandwidth, which is highly innovative.
[0013] (4) The video bitrate decision method implemented in this invention can dynamically solve the optimal bitrate for different cache evolution model scenarios by optimizing model simplification and optional bitrate traversal, based on bandwidth prediction and cache monitoring. This significantly reduces the search space and computational complexity, and has high practicality. Attached Figure Description
[0014] Figure 1 This is a flowchart of the video bitrate decision method of the present invention.
[0015] Figure 2 This is a flowchart of the video bitrate decision framework of the present invention. Detailed Implementation
[0016] The present invention will now be described in further detail with reference to the accompanying drawings.
[0017] Combination Figure 1 The bitrate joint decision-making method for scalable coded video of the present invention includes the following steps:
[0018] Step S1, Design of a bitrate decision framework for scalable coded video:
[0019] Bitrate decision framework for scalable encoded video, such as Figure 2 As shown, the new video block bitrate decision algorithm A1 and the downloaded video block bitrate enhancement decision algorithm A2 are scalable encoded video bitrate decision algorithms that can be embedded into the framework, including but not limited to bitrate decision algorithms based on throughput assessment, buffer capacity control, hybrid control, and machine learning. This framework supports flexible expansion and replacement of bitrate decision algorithms.
[0020] like Figure 2 As shown, the specific process of the bitrate decision framework for scalable encoded video is as follows:
[0021] ① Read the MPD file (Media Presentation Description) from the video server to obtain the total number of video blocks M and the set of downloadable bitrates {R1, R2, ..., R...} N Information such as} (N possible values in total).
[0022] ② Obtain the video cache threshold t set by the system maintainer, the current maximum downloaded video block number p, and the current maximum played video block number m.
[0023] ③ If all video playback has been completed, the process ends; otherwise, continue with the video bitrate decision.
[0024] ④ When the video buffer is insufficient, i.e., the condition pm≤t is met, the decision for the k-th video block (=p+1) is made by calling algorithm A1, and the decision is made using {R1,R2,…,R N} does not exceed r k * At the maximum bitrate, download the base layer and enhancement layer of the k-th video block.
[0025] ⑤ When the video buffer is sufficient, i.e., the condition pm>t is met, start from the k-th video block (=m+t+1) and attempt to increase the bitrate of the downloaded video blocks; specifically, by calling algorithm A2 to decide the download bitrate of the k-th video block, if the decided bitrate r k * Greater than the downloaded bitrate rk Then, with {R1,R2,…,R} N} does not exceed r k * The maximum bitrate is used to download the undownloaded enhancement layer of the k-th video block; if the decision bitrate r k * Less than or equal to the downloaded bitrate r k Then let k = k + 1 and try to increase the bitrate of the subsequent adjacent video blocks in turn until the bitrate of the downloaded video block is successfully increased, or until k = p; when k = p, abandon the attempt to increase the bitrate of the downloaded video block in this round, and instead download the new kth video block (= p + 1). The bitrate decision process of the kth video block (= p + 1) is the same as ③.
[0026] ⑥ After completing the download of a new video block, or the download of a new enhancement layer for an already downloaded video block, update the sequence number of the largest downloaded and played video block, and repeat the above steps ② to ⑤ until all videos are played, at which point the process ends.
[0027] Step S2, Construction of a joint bitrate optimization model based on user experience:
[0028] In traditional Advanced Video Coding (AVC) bitrate decision-making, once a video block is downloaded at a specific bitrate, its bitrate is typically not changed again; only new video blocks are downloaded in each round of bitrate decision-making. This is because AVC does not support incremental bitrate increases. If the bitrate of an already downloaded video block needs to be increased, the downloaded block must be discarded and re-downloaded at the newly set bitrate, resulting in significant bandwidth waste. Unlike AVC, SVC supports incremental downloading of enhancement layers to increase video block bitrate. In each round of SVC bitrate decision-making, there are two scenarios: downloading new video blocks or increasing the bitrate of already downloaded video blocks. Therefore, video cache evolution models need to be constructed for each of these two scenarios; then, a comprehensive video quality evaluation function is constructed based on factors such as cache size, video bitrate switching frequency, and total video bitrate; finally, a joint bitrate optimization model is built.
[0029] Step S201, Construction of a caching evolution model for scalable coded video:
[0030] For SVC video bitrate decision, there are two possibilities for the downloaded k-th video block: one is that the client has previously downloaded video blocks 0 to k-1, and the currently downloaded k-th video block is a new video block; the other is that the client has previously downloaded video blocks 0 to p (p≥k), and the currently downloaded k-th video block is a higher bitrate enhancement layer of the already downloaded video blocks.
[0031] For the case where the downloaded k-th video block is a new video block, after the download is complete, the k-th video block is added to the cache for the first time, and the cache size increases by L seconds, where L is the playable duration of a video block. For the k-th video block with a bitrate of r(k), the required download time is r(k)L / c(k), where c(k) is the average download rate during the download of the k-th video block. The change in cache size after the k-th video block is downloaded is modeled as follows:
[0032]
[0033] For the case where the downloaded k-th video block is a higher bitrate enhancement layer of an already downloaded video block, since the k-th video block was previously cached, after this download, only the bitrate of the k-th video block is increased without increasing the cache size. For the k-th video block with bitrate r(k), its required download time is r(k)L / c(k), where c(k) is the average download rate during the download of the k-th video block. The change in cache size after the k-th video block is downloaded is modeled as follows:
[0034]
[0035] Both formulas listed in step S201 above contain: b(k) is the buffer size when the k-th video block is downloaded, b(k-1) is the buffer size when the (k-1)-th video block is downloaded, r(k) is the bitrate of the k-th video block, L is the playable duration of a video block, and c(k) is the average download rate during the download process of the k-th video block.
[0036] Step S202, Construction of the cumulative comprehensive cost function for video quality:
[0037] The comprehensive video quality evaluation function weighs three influencing factors: first, whether the cache size is within a reasonable range, i.e., near the target cache value, because too low a cache size increases the risk of video stuttering, while too high a cache value means that the translation bandwidth is not fully utilized; second, the frequency and magnitude of bitrate switching, i.e., the sum of the bitrate differences between adjacent video blocks, as an increase in the frequency and magnitude of bitrate switching will cause more severe image quality jitter; and third, the video bitrate, i.e., the sum of the bitrates of each video block, as a higher bitrate can bring higher video quality. Therefore, the function consists of three weighted sums of squares, one being the cache size b(1) to b(k) relative to the target cache value b. r The offset of the target cache value b r The following parameters are considered: 1) set by the system maintainer; 2) the bitrate change between adjacent blocks Δr(2) = r(2) - r(1), ..., Δr(k) = r(k) - r(k-1); 3) the bitrate of the current video blocks r(1), ..., r(k). The cumulative comprehensive cost function for video quality from block 1 to block k. Defined as:
[0038]
[0039] Where r(i), i = 1, 2, ..., k is the bitrate of the i-th video block;
[0040] Δr(i) = r(i) - r(i-1), i = 2, 3, ..., k, is the bitrate difference between the i-th video block and the (i-1)-th video block; λ>0 is the cost coefficient for switching bitrates between two adjacent video blocks; μ>0 is the gain coefficient for selecting bitrates in video blocks.
[0041] The introduction of cost coefficients λ and μ allows the algorithm to meet the diverse requirements of different users regarding the overall video bitrate and the frequency of bitrate switching. If a user prefers stable video quality and does not want frequent video bitrate switching, a relatively large λ and a relatively small μ are set. If a user prefers the highest possible video bitrate and is not sensitive to video bitrate switching, a relatively small λ and a relatively large μ are set.
[0042] Step S203, Problem construction for joint bitrate optimization:
[0043] As shown in step S1, when the system maintainer sets the video cache threshold t, the current maximum downloaded video block number p, and the current maximum played video block number m, there are two scenarios where algorithms A1 and A2 can be invoked based on the numerical relationship between t, p, and m. To ensure that the joint bitrate optimization model based on user experience constructed in step S2 can be applied to the bitrate decision framework designed in step S1, the joint bitrate optimization model constructed in step S203 should have two forms, which can be applied to the solutions of algorithms A1 and A2 respectively. Note that the specific solution methods for the two forms of the model constructed in this step are described in detail in step S302.
[0044] When making a decision on the download bitrate of the k-th video block, according to steps S1 and S201, there are two possibilities: the k-th video block is a new video block (at this time, k = p + 1), and the k-th video block is a higher bitrate enhancement layer of the already downloaded video block (at this time, m + t + 1 ≤ k ≤ p).
[0045] When k = p + 1, that is, when the k-th video block is a new video block, the joint bitrate optimization problem is constructed as follows:
[0046]
[0047]
[0048] The optimization objective is to find the optimal bitrate r(k) of the k-th video block, such that the cumulative video quality cost function from the 1st to the k-th block constructed in step S202 is optimized. The minimum value is obtained; the first constraint is the cache evolution model constructed in step S201 when the downloaded k-th video block is a new video block; the second constraint indicates that after the first video block is downloaded, the initial cache size b(1) is the duration L of one video block; the third constraint constrains the upper and lower bounds of the cache size, B max The preset maximum cache size (when the cache size reaches B) max (Download is paused at times); the fourth constraint has the same meaning as the difference in adjacent video buffer size defined in step S202.
[0049] When m+t+1≤k≤p, that is, when the k-th video block is a higher bitrate enhancement layer of the downloaded video block, the joint bitrate optimization problem is constructed as follows:
[0050]
[0051]
[0052] The optimization objective is to find the optimal bitrate r(k) of the k-th video block, such that the cumulative video quality cost function from the 1st to the p-th block constructed in step S202 is optimized. The minimum value is obtained; the first constraint is the cache evolution model constructed in step S201 when the downloaded k-th video block is a new video block; the second constraint indicates that after the first video block is downloaded, the initial cache size b(1) is the duration L of one video block; the third constraint constrains the upper and lower bounds of the cache size, B max The preset maximum cache size (when the cache size reaches B) max (Download is paused at times); the fourth constraint has the same meaning as the difference in adjacent video buffer size defined in step S202.
[0053] Step S3, video bitrate decision based on bandwidth prediction and cache monitoring:
[0054] This step first predicts the average download rate c(k) during the download of the k-th video block by predicting available bandwidth; then, it obtains the cache size b(k-1) when the download of the k-th video block begins by monitoring the video cache; finally, it makes the optimal bitrate decision r for the two cases in step S203: k=p+1 and m+t+1≤k≤p. * Solving for (k).
[0055] Step 301, Available bandwidth prediction and video cache monitoring:
[0056] Available bandwidth prediction estimates the average bandwidth for future video block downloads based on the download rate records of network port throughput during the client's historical video block downloads. This can be obtained using the moving average method.
[0057]
[0058] in Let c(i) be the predicted average bandwidth for downloading the k-th video block, and c(i) be the average throughput measured during the completed download of the i-th video block. The values obtained here are... This is the predicted value of c(k) in step S203.
[0059] Cache monitoring obtains the remaining cache size when the download of the k-th video block begins, based on cache evolution records. This can be obtained by tracking the download and playback process.
[0060] b(k-1)=p·LT(k)
[0061] Where b(k-1) is the buffer size when the download of the k-th video block begins, L is the playable duration of a single video block, p is the sequence number of the largest downloaded video block when the download of the k-th video block is completed, and T(k) is the duration of the video that has been played when the download of the current k-th video block is completed.
[0062] Step 302, Dynamic decision-making regarding video bitrate:
[0063] This step uses different methods to dynamically solve for the optimal bit rate, based on the switching between the two cases k=p+1 and m+t+1≤k≤p in step S203.
[0064] When k = p + 1, that is, when the k-th video block is a new video block, the cumulative video quality cost function is as follows:
[0065]
[0066] in Unaffected by the decision result of the bitrate r(k) of the k-th video block, therefore we can let Where C1 is a constant that is not affected by r(k).
[0067] Substitute C1 into step S203, and use the predicted average bandwidth value of the kth video block obtained in step S301. Replace c(k) in step S203. We can see that when k = p + 1, i.e., when the k-th video block is a new video block, the joint bitrate optimization problem is transformed into the following form:
[0068]
[0069]
[0070] Substituting the first constraint into the optimization function yields:
[0071]
[0072] Where b(k-1), In step S301, r(k-1) is the bitrate value of the (k-1)th video block that was determined before this bitrate decision, and C1, L, λ, and μ are constants that are independent of r(k).
[0073] Therefore, if the bitrate value of the k-th video block stored on the video server has N possible values, then it is only necessary to enumerate all downloadable bitrate values of r(k) and substitute them. Expressions can make The minimum value is r(k) = r * (k) represents the optimal bitrate value for this round of decision-making. Corresponding to the bitrate decision-making framework in step S1, this decision-making method is an implementation example of algorithm A1, where r is calculated. * (k) represents the decision result of this instance.
[0074] When m+t+1≤k≤p, that is, when the k-th video block is a higher bitrate enhancement layer of the downloaded video block, the cumulative comprehensive cost function for video quality is:
[0075]
[0076] in Unaffected by the decision result of the bitrate r(k) of the k-th video block, therefore we can let Where C2 is a constant that is not affected by r(k).
[0077] Substitute C2 into step S203, and use the predicted average bandwidth value of the kth video block obtained in step S301. Replace c(k) in step S203. We can see that when m+t+1≤k≤p, i.e., when the k-th video block is a new video block, the joint bitrate optimization problem is transformed into the following form:
[0078]
[0079]
[0080] Substituting the first constraint into the optimization function yields:
[0081]
[0082] Where b(k-1), In step S301, r(k-1) and r(k+1) are the bitrate values of the (k-1)th and (k+1)th video blocks that were determined before this bitrate decision. C2, L, λ, and μ are constants that are independent of r(k).
[0083] Therefore, if the bitrate value of the k-th video block stored on the video server has N possible values, then it is only necessary to enumerate all downloadable bitrate values of r(k) and substitute them. Expressions can make The minimum value is r(k) = r * (k) represents the optimal bitrate value for this round of decision-making. Corresponding to the bitrate decision-making framework in step S1, this decision-making method is an implementation example of algorithm A2, where r is calculated. * (k) represents the decision result of this instance.
Claims
1. A method for rate joint decision for scalable coded video, characterized in that, The method comprises the following steps: Step (1): designing a code rate decision framework for scalable coded video: the framework realizes dynamic switching of two types of buffer-aware new video block download and downloaded video block code rate increment promotion, and has embedding and expansion capabilities of different code rate decision algorithms; Step (2): constructing a code rate joint optimization problem based on user experience: for the two types of new video block download and downloaded video block code rate increment promotion, a video buffer evolution model is constructed, a video quality cumulative comprehensive cost function is constructed, and a code rate joint optimization problem is constructed; Step (3): video code rate decision based on bandwidth prediction and buffer monitoring: for the optimization problem constructed in step (2), based on bandwidth prediction and buffer monitoring, the code rate decision optimization problem in the two cases is dynamically solved by traversing the set of selectable code rates; The code rate decision algorithm involved in step (1) includes a new video block code rate decision algorithm A1 and a downloaded video block code rate promotion decision algorithm A2; the specific process of the code rate decision framework of the scalable coded video is as follows: (11) Read the video server MPD file, get the total number of video blocks M, the set of downloadable bit rates {R1, R2, …, R N} (12) obtaining a video buffer threshold t, a maximum video block sequence number p that has been downloaded, and a maximum video block sequence number m that has been played; (13) if the entire video has been played, the process is ended, otherwise the video code rate decision is continued; (14) When the video buffer is insufficient, i.e. the condition p-m≤t is met, the kth video block is decided by calling algorithm A1, where k = p + 1, and the base layer and the enhancement layer of the kth video block are downloaded with the maximum code rate not exceeding the decision code rate r N in {R1, R2,..., R k *} (15) When the video buffer is sufficient, i.e., the condition pm>t is met, start from the k-th video block and attempt to increase the bitrate of the downloaded video blocks, where k=m+t+1; specifically, by calling algorithm A2 to decide the download bitrate of the k-th video block, if the decided bitrate r k * Greater than the downloaded bitrate r k Then, with {R1,R2,…,R} N The decision code rate should not exceed r. k * The maximum bitrate is used to download the undownloaded enhancement layer of the k-th video block; if the decision bitrate r k * Less than or equal to the downloaded bitrate r k Then let k = k + 1 and try to increase the bit rate of the adjacent video blocks in turn until the bit rate of the downloaded video block is successfully increased, or until k = p; when k = p, abandon the attempt to increase the bit rate of the downloaded video block in this round, and instead download the new kth video block, where k = p + 1. The bit rate decision process of the kth video block is the same as that in (13), where k = p + 1. (16) after completing the new video block download or the new enhancement layer download of the downloaded video block, the maximum video block sequence numbers that have been downloaded and played are updated, and the above (12)-(15) process is cycled until the entire video is played, and the process is ended.
2. The method of claim 1, wherein, The step (2) specifically comprises the following steps: Step (21): constructing a buffer evolution model for scalable coded video; Step (22): constructing a video quality cumulative comprehensive cost function; Step (23): constructing a code rate joint optimization problem.
3. The method of claim 2, wherein, The step (21) "constructing a buffer evolution model for scalable coded video" specifically comprises: For the case that the kth downloaded video block is a new video block, after this download is completed, the kth video block is added to the buffer for the first time; after the kth video block is downloaded, the change of the buffer amount is modeled as: For the case that the kth downloaded video block is a higher code rate enhancement layer of the downloaded video block, the kth video block has been in the buffer before; after the kth video block is downloaded, the change of the buffer amount is modeled as: Wherein b(k) is the buffer amount when the kth video block is downloaded, b(k-1) is the buffer amount when the k-1th video block is downloaded, r(k) is the code rate of the kth video block, L is the playable duration of a video block, and c(k) is the average download rate during the download of the kth video block.
4. The method of claim 3, wherein, The step (22) "constructing a video quality cumulative comprehensive cost function" specifically comprises: Cumulative integrated cost function of video quality from 1st block to kth block is defined as: Wherein r(i), i=1, 2,..., k is the code rate of the ith video block; Δr(i) = r(i) - r(i - 1), i = 2, 3,..., k, is the rate difference between the i-th video block and the i - 1-th video block; λ > 0 is the cost coefficient for switching the rate between two adjacent video blocks; μ > 0 is the gain coefficient for selecting the rate of a video block, b r is the target buffer value.
5. The method of claim 4, wherein, The step (23) "constructing a code rate joint optimization problem" specifically comprises: When deciding the download code rate of the kth video block, according to step (1) and step (21), it is known that the kth video block is a new video block, at this time k = p + 1, and the kth video block is a higher code rate enhancement layer of the downloaded video block, at this time m + t + 1≤ k≤ p two cases; When k = p + 1, that is, the kth video block is a new video block, the code rate joint optimization problem is constructed as follows: wherein the optimization objective is to obtain the optimal code rate r(k) of the kth video block, so that the cumulative comprehensive cost function of the video quality of the 1st block to the kth block constructed in step (22) takes the minimum value; the 1st constraint condition is the buffer evolution model constructed in step (21) under the condition that the kth downloaded video block is a new video block; the 2nd constraint condition indicates that after the 1st video is downloaded, the initial buffer amount b(1) is a video block duration L; the 3rd constraint condition limits the upper and lower bounds of the buffer amount, B max is a preset maximum buffer amount, and when the buffer amount reaches B max , the downloading is paused; and the 4th constraint condition has the same meaning as the adjacent video buffer amount difference defined in step (22). When m + t + 1≤ k≤ p, that is, the kth video block is a higher code rate enhancement layer of the downloaded video block, the code rate joint optimization problem is constructed as follows: wherein the optimization objective is to obtain the optimal code rate r(k) of the kth video block, so that the cumulative comprehensive cost function of the video quality of the 1st block to the pth block constructed in step (22) takes the minimum value; the 1st constraint condition is the buffer evolution model constructed in step (21) under the condition that the kth downloaded video block is a new video block; the 2nd constraint condition indicates that after the 1st video is downloaded, the initial buffer amount b(1) is a video block duration L; the 3rd constraint condition limits the upper and lower bounds of the buffer amount, B max is a preset maximum buffer amount, and when the buffer amount reaches B max , the downloading is paused; and the 4th constraint condition has the same meaning as the adjacent video buffer amount difference defined in step (22).
6. The method of claim 5, wherein, The step (3) specifically includes the following steps: Step (31): available bandwidth prediction and video cache monitoring: Available bandwidth prediction is to estimate the average bandwidth of future video blocks during downloading according to the download rate record of the throughput of the network port in the process of downloading the historical video blocks of the client, and the moving average method can be used to obtain: wherein, is the predicted average bandwidth for downloading the kth video block, c(i) is the average throughput measured during the completed download of the ith video block, and is the predicted value of c(k) in step (23). Cache monitoring is to obtain the remaining cache amount when the kth video block starts to download according to the cache evolution record, which can be obtained by tracking the downloading and playing process: b (k-1) = p·L-T (k) Where b (k-1) is the cache amount when the kth video block starts to download, L is the playable duration of a single video block; p is the maximum video block number downloaded when the kth video block is downloaded; T (k) is the video duration played when the kth video block is downloaded; Step (32): video code rate dynamic decision: According to the switching of k = p + 1 and m + t + 1≤ k≤ p in step (23), different methods are used to realize the dynamic solution of the optimal code rate.
7. The method of claim 6, wherein, Step (32) "according to the switching of k = p + 1 and m + t + 1≤ k≤ p in step (23), different methods are used to realize the dynamic solution of the optimal code rate" specifically: When k = p + 1, that is, the kth video block is a new video block, the video quality cumulative comprehensive cost function: wherein is not affected by the decision of the kth video block rate r(k), so let wherein C1 is a constant not affected by r(k); C1 is brought into step (23), and the kth video block average bandwidth prediction value obtained from step (31) Instead of c(k) in step (23); when k = p + 1, that is, the kth video block is a new video block, the code rate joint optimization problem construction is transformed into the following form: The first constraint condition is brought into the optimization function to obtain: where b(k-1) At step (31), r(k-1) is the code rate value of the (k-1)th video block determined before the current code rate decision, and C1, L, λ, μ are constants independent of r(k). If the kth video block stored in the video server has N selectable values, then only enumerate r(k) of all the downloadable code rate values into The expression can be made r(k) = r * (k) is the optimal code rate value result of this round of decision. When m + t + 1≤ k≤ p, that is, the kth video block is a higher code rate enhancement layer of the downloaded video block, the video quality cumulative comprehensive cost function: where is not affected by the decision of the kth video block rate r(k), so let where C2 is a constant that is not affected by r(k); C2 is brought into step (23), and the kth video block average bandwidth prediction value obtained from step (31) Instead of c(k) in step (23); when m+t+1≤k≤p, i.e. the kth video block is a new video block, the code rate joint optimization problem construction is transformed into the following form: The first constraint condition is brought into the optimization function to obtain: where b(k - 1), At step (31), r(k - 1), r(k + 1) are the code rate values of the (k - 1)th and (k + 1)th video blocks determined before the current code rate decision, and C2, L, λ, μ are constants independent of r(k). If the kth video block stored in the video server has N selectable values, then only enumerate the entire downloadable code rate value of r(k) into The expression can be made to r(k) = r * (k) is the optimal code rate value of the current decision result.
Citation Information
Patent Citations
Streaming media self-adaptive request method and streaming media self-adaptive request device based on SVC-DASH framework
CN108900874A
Scalable coded video code rate adaptive selection method fusing video feature analysis
CN112672153A