WO2021012946A1 - 一种视频码率确定方法、装置、电子设备及存储介质 - Google Patents

一种视频码率确定方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
WO2021012946A1
WO2021012946A1 PCT/CN2020/100737 CN2020100737W WO2021012946A1 WO 2021012946 A1 WO2021012946 A1 WO 2021012946A1 CN 2020100737 W CN2020100737 W CN 2020100737W WO 2021012946 A1 WO2021012946 A1 WO 2021012946A1
Authority
WO
WIPO (PCT)
Prior art keywords
video block
video
value
throughput
block
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/CN2020/100737
Other languages
English (en)
French (fr)
Inventor
周超
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Dajia Internet Information Technology Co Ltd
Original Assignee
Beijing Dajia Internet Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Dajia Internet Information Technology Co Ltd filed Critical Beijing Dajia Internet Information Technology Co Ltd
Priority to EP20844386.1A priority Critical patent/EP4007285A4/en
Publication of WO2021012946A1 publication Critical patent/WO2021012946A1/zh
Priority to US17/570,137 priority patent/US11425394B2/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/15Data rate or code amount at the encoder output by monitoring actual compressed data size at the memory before deciding storage at the transmission buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N17/00Diagnosis, testing or measuring for television systems or their details
    • H04N17/004Diagnosis, testing or measuring for television systems or their details for digital television systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/192Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/426Internal components of the client ; Characteristics thereof
    • H04N21/42607Internal components of the client ; Characteristics thereof for processing the incoming bitstream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44004Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments

Definitions

  • This application relates to the technical field of video playback, and in particular to a method, device, electronic device, and storage medium for determining a video bit rate.
  • bit rate adaptive algorithm The purpose of the bit rate adaptive algorithm is to provide a good QoE, which mainly includes three parts: high video bit rate, less playback lag and less bit rate switching.
  • ABR adaptive bit rate
  • the algorithm predicts the future throughput and maximizes the defined QoE factors in the prediction space .
  • the inventor found that in a network condition where the bandwidth changes drastically, there is a large error in the throughput prediction, and the bit rate selected based on the inaccurate throughput of the prediction may cause a serious jam problem.
  • the Model Predictive Control (MPC) algorithm selects the bit rate by maximizing the QoE factor of 5 video blocks in the future based on the current cache amount and the predicted throughput.
  • MPC Model Predictive Control
  • the inventor found that the MPC In the video player, the amount of cache jitter is very large, and the amount of cache is often small. Once a prediction error or throughput jitter occurs, the cache is easily drained, and therefore, it is easy to cause a stall.
  • This application provides a method, device, electronic device, and storage medium for determining a video bit rate, which are used to solve the problem that in the prior art, the video playback is stuck due to the incorrect prediction of the video playback control algorithm or the insufficient buffer of the player.
  • the user provides a good user experience quality problem.
  • an embodiment of the present application provides a method for determining a video bit rate, which is applied to a device that plays a video based on consecutively numbered video blocks, and the method includes:
  • the buffer prediction error of the value determine the video playback quality loss value, and determine the bit rate r(k) when the video playback quality loss value is the smallest;
  • the video block Fk is requested at a code rate not exceeding the r(k).
  • the present application provides a video bit rate determination device, which is applied to a device for playing video based on consecutively numbered video blocks.
  • the device includes a throughput prediction error cancellation parameter determination unit, a buffer amount determination unit, and a bit rate determination unit.
  • Unit, video request unit including:
  • the throughput prediction error cancellation parameter determination unit is configured to determine the cancellation parameter ⁇ (k) used to cancel the throughput prediction error of the k-th video block Fk, where k is a positive integer;
  • the buffer amount determining unit is configured to be based on the throughput prediction value of each video block from the video block Fk to the k+N-1th video block Fk+N-1 and the cancellation parameter ⁇ (k) , Determining the buffer amount prediction value at the end of download of each video block from the video block Fk to the video block Fk+N-1, where the N is a positive integer greater than 1;
  • the code rate determining unit is configured to request a weighted value of the code rate variation between adjacent video blocks, and the amount of buffering at the end of download of each video block from the video block Fk to the video block Fk+N-1
  • the prediction value and the buffer prediction error of the preset buffer amount target value determine the video playback quality loss value, and determine the bit rate r(k) when the video playback quality loss value is the smallest;
  • the video request unit is configured to request the video block Fk at a bit rate not exceeding the r(k).
  • this application provides an electronic device including a processor and a memory for storing executable instructions of the processor;
  • the processor is configured to execute:
  • the buffer prediction error of the value determine the video playback quality loss value, and determine the bit rate r(k) when the video playback quality loss value is the smallest;
  • the video block Fk is requested at a code rate not exceeding the r(k).
  • the present application also provides a computer storage medium on which a computer program is stored, and when the program is executed by a processing unit, the steps of the method described in the first aspect of the present application are implemented.
  • the amount of buffering at the end of downloading of N video blocks in the future starting from the current video block is estimated, and the error between the predicted value of the buffering amount and the target value of the buffering amount is minimized to minimize the video playback jam
  • the video bit rate maximization goal and minimize the bit rate change between adjacent video blocks to achieve the minimum bit rate change goal, through the minimum video playback quality loss value, to achieve the minimum stall, maximum bit rate and minimum bit rate Change the code rate of the optimal benefit of the comprehensive factors to request the video block to achieve the minimum delay of video playback and the optimal benefit of the comprehensive factors of the minimum bit rate change, and provide users with the best video playback experience.
  • the offset parameter ⁇ (k) corresponding to the video block will be re-determined, so that using ⁇ (k), it is possible to accurately estimate each of the next N video blocks of the video block The predicted value of the buffer amount at the end of the video block download.
  • FIG. 1 is a schematic diagram of the change of the buffer amount of the MPC algorithm in a video session provided by an embodiment of the application;
  • FIG. 2 is a schematic diagram of the change of the buffer amount of the Robust MPC algorithm in a video session provided by an embodiment of the application;
  • FIG. 3 is a schematic diagram of a method for determining a video bit rate provided by an embodiment of the application
  • FIG. 4 is a schematic diagram of the average QoE achieved by each ABR algorithm provided by an embodiment of the application on HSDPA and FCC networks;
  • FIG. 5 is a schematic diagram of the code rate utility performance of each algorithm provided by an embodiment of the application on the FCC network data set;
  • FIG. 6 is a schematic diagram of the stutter penalty performance of each algorithm provided by an embodiment of the application on the FCC network data set;
  • FIG. 7 is a schematic diagram of the code rate switching penalty performance of each algorithm provided by an embodiment of the application on the FCC network data set;
  • FIG. 8 is a schematic diagram of the code rate utility performance of each algorithm provided by an embodiment of the application on the HSDPA network data set;
  • FIG. 9 is a schematic diagram of the stutter penalty performance of each algorithm provided by an embodiment of the application on the HSDPA network data set;
  • FIG. 10 is a schematic diagram of the code rate switching penalty performance of each algorithm provided by an embodiment of the application on the HSDPA network data set;
  • FIG. 11 is a schematic diagram comparing the average level of changes in the amount of cache realized by the algorithm provided in this embodiment of the application on a bandwidth data set;
  • FIG. 12 is a schematic diagram of the comparison of the standard deviation of the buffer amount changes implemented by the algorithm provided by the embodiment of the application on a bandwidth data set;
  • FIG. 13 is a schematic diagram of the variation of the average QoE of each algorithm with the bandwidth prediction value according to an embodiment of the application;
  • FIG. 14 is a schematic diagram of a video bit rate determination device provided by an embodiment of the application.
  • FIG. 15 is a schematic diagram of an electronic device provided by an embodiment of the application.
  • bit rate adaptation is to provide a good QoE, which mainly includes three goals: high video bit rate, less playback lag and less bit rate switching.
  • K is the total number of video blocks
  • r(k) is the code rate of the k-th block
  • t(k) is the stall time generated when the k-th block is downloaded
  • is the stall penalty coefficient
  • the code rate is selected by maximizing the QoE function of 5 video blocks in the future, and its QoE model is as shown in formula 1.
  • Figure 1 shows the change in the amount of cache of the MPC algorithm in a video session. It can be seen that MPC has a serious risk of jams: the amount of cache in the player jitters greatly, and the amount of cache is often small. Once a prediction occurs Errors or throughput jitter, the cache will be easily drained, which will cause lag.
  • This algorithm uses the same code rate selection method as MPC, and is still based on the current cache amount and predicted throughput.
  • the code rate is selected by maximizing the QoE function of the next 5 video blocks.
  • Robust MPC will The throughput prediction value is divided by the maximum prediction error observed in 5 historical video blocks, so that the bit rate selection is more conservative.
  • FIG. 2 shows the change of the Robust MPC algorithm in a video session’s buffering volume. It can be seen that Robust MPC maintains a large buffering volume, and it has greater resistance to throughput jitter, resulting in stuttering. The time has been reduced, but the drastic fluctuations in the amount of its cache can easily cause a stutter event.
  • the inventor found that the current optimization-based method lacks control over the evolution of the amount of cache, that is, when the throughput changes drastically, the amount of video cache jitters greatly, and there is often a lot of remaining in the video cache.
  • a small amount of cache has a great risk of emptying.
  • currently commonly used video playback algorithms such as ABR algorithm, MPC algorithm, Robust MPC algorithm, all have the problem of emptying the buffer, video playback freeze, and not being able to take into account the three goals of QoE. Therefore, , The video playback model needs to be redesigned.
  • the amount of buffering during video playback can be described as filling the video at the throughput rate and excluding the video at the bit rate rate. If the buffer amount is kept at a constant level, the selected bit rate matches the throughput. There will be no playback stalls during the playback process. Therefore, the smallest buffered amount predicted value is equivalent to the maximum bit rate, and the error of the target value of the buffered amount is equivalent to the minimized stall.
  • this application provides a video code rate determination method, device, electronic equipment, and storage medium.
  • the code rate between adjacent video blocks is requested
  • the weighted value of the change amount, the future N (for example, the value of N) of the current video block, the predicted value of the buffer amount at the end of download of each video block in the current video block, and the buffer prediction error of the preset target value of the buffer amount Determine the video playback quality loss value, based on the principle of the minimum video playback quality loss value, determine the bit rate when the video playback quality loss value is the smallest, and request video blocks at a bit rate that does not exceed the determined bit rate.
  • the corresponding cancellation parameter ⁇ (k) is determined for each current video block. Compared with the use of the same cancellation parameter for each current video block in the prior art, the current video can be guaranteed The estimation accuracy of the maximum code rate of the block.
  • k is the number of the current video block, k is a positive integer, N is a positive integer greater than 1, and M is a positive integer greater than 1 but less than k.
  • the video block duration of each video block is the same, and L represents the video block duration of each video block, and b(k+1) represents the cache at the end of downloading of the k-th video block F k R(k) represents the bit rate selected by the video block F k , c(k) represents the download speed of the video block F k , where k is the number of video blocks based on consecutive numbers, and those skilled in the art can refer to k
  • the value range of is set to a set of positive integers, and the value range of k can also be set to a set of non-negative integers.
  • the offset parameter is used in the embodiment of this application to represent the fluctuation of the buffer amount caused by the throughput prediction error, and the buffer amount model is expressed as The cache evolution model of formula 3:
  • the code rate selection can be defined as a randomized control problem, that is, the following QOE-related goals need to be considered when selecting the code rate:
  • the bit rate reaches the maximum value, and the network bandwidth utilization can be modeled as According to the cache evolution model (Equation 2), for the video block F k , the smaller b(k+1) (the amount of cache at the end of the download of the video block F k ), the greater the broadband utilization rate achieved.
  • the value of the buffer amount b(k+1) at the end of the download of the video block F k is L (that is, the length of the video block). Therefore, you can control b(k+1) is greater than L to select the bit rate, so that no video playback jam occurs during the download process of the video block Fk .
  • the target 1) to the target 3) are expressed in the form of a rate cost function to define the video playback quality loss value generated by each step of the rate strategy, and the function value of the rate cost function represents the video playback quality Loss value, select the requested bit rate for each video block by minimizing the bit rate cost function value, and combine the target 1) and target 2) into the predicted value of the buffer amount Controlled on the target value b r (k+1) of the buffer amount, the code rate cost function is defined as the following formula 4:
  • formula 4 can also be expressed as the following formula 5:
  • J in formula 4 and formula 5 is the bit rate cost function value, that is, the video playback quality loss value
  • j is a positive integer in [1, N]
  • b r (k+j) is the target of the buffer amount of the video block at the end of the download of the video block Fk+j-1 value
  • r(k) and r(k-1) are the kth video block Fk and the k-1th video block, respectively
  • the code rate of Fk-1, ⁇ is the penalty factor for switching the code rate.
  • the value of ⁇ can be but not limited to (10/Rmax), where Rmax is the maximum selectable code rate.
  • formula 4 and the strategy of the condition satisfied by the buffer amount can be used to select the bit rate r(k) for the current video block Fk, as shown in Fig. 3, the main steps are as follows:
  • Step S1 Determine the cancellation parameter ⁇ (k) used to cancel the throughput prediction error of the k-th video block Fk.
  • the video block Fk is the video block currently to be downloaded.
  • the cancellation parameter ⁇ (k) of the video block Fk may be determined but not limited to a matrix estimation method.
  • variable matrix ⁇ (k) and parameter matrix ⁇ (k) where the variable matrix is as follows formula 6, and the parameter matrix is as follows formula 7:
  • W(k) is the bandwidth evolution variance
  • P(k) is the system prediction error
  • can be set to 0.8.
  • the estimated value of the parameter matrix The inverse number of the third term in is determined as the cancellation parameter ⁇ (k) of the video block F k .
  • Step S2 Determine the throughput prediction value of each video block from the video block F k to the k+N-1th video block F k+N-1 .
  • M is a positive integer greater than 1 and less than k.
  • the download speed of each video block from the historical video block Fk-M to the video block Fk-1 can be input into the following formula 8 to calculate the throughput prediction value of the video block Fk
  • i is a positive integer in [1, M-j]
  • the j is a positive integer in [1, N]
  • c(k-i) is the download speed of the video block Fk-i.
  • step S1 and step S2 there is no fixed execution order for step S1 and step S2, and those skilled in the art can flexibly set according to actual needs.
  • Step S3 Based on the predicted throughput and ⁇ (k) of each video block from video block Fk to video block Fk+N-1, determine the end of downloading of each video block from video block Fk to video block Fk+N-1 The predicted value of the amount of cache at the time.
  • i is a positive integer in [1, Mj]
  • j is a positive integer in [1, N]
  • ⁇ (k) determined in step S1 can be used to deduce the bit rate r(k) of the video block Fk, the video block Fk to the video block Fk+N-1 and the downloading end of each video block Cache volume prediction value at time
  • Step S4 Determine the bit rate r(k) when the video playback quality loss value is the smallest based on the principle of the minimum video playback quality loss value.
  • step S4 it is necessary to determine the buffer amount target value b r at the end of downloading of each video block from video block Fk to video block Fk+N-1.
  • the minimization problem Min J can obtain the bit rate strategy r(k), which is based on the bit rate r(k) when the video playback quality loss value is the smallest, where r(k) is as in formula 12:
  • Step S5 request the video block Fk at a bit rate that does not exceed the determined r(k).
  • the video block Fk is requested at a code rate not exceeding r(k).
  • the simulation system DASH is used in the embodiment of this application.
  • the simulation system DASH is composed of an Nginx server and a player based on Dash.js, and the maximum amount of video buffering is set to 30 seconds.
  • RBC Robust Bitrate Control
  • the link capacity is based on the Linux tc tool. Set the actual bandwidth data.
  • RBC In the code rate selection strategy designed in the embodiment of this application, the target buffer trajectory can be shown in formula 13:
  • b r (k+1) is the target value of the buffering amount of the video block Fk+1-1
  • b(k) is the buffering amount when the video block Fk starts to download (that is, it is also the buffer amount when the download of the video block Fk-1 ends.
  • the amount of buffering) is set to 10 seconds;
  • the penalty factor ⁇ for switching code rate can be set to 2.5 ⁇ 10 -3 .
  • the system prediction error P(k) can be The value is set to 1.
  • This algorithm mainly estimates the subsequent network bandwidth based on the user's network changes in the previous period, and then selects a bit rate suitable for the user according to the estimated bandwidth, and the selected bit rate does not exceed the maximum selectable bit rate of the current bandwidth.
  • Buffer-based code rate selection strategy such as the buffer-based algorithm BBA (Buffer Based Algorithm).
  • Cache-based bit rate selection strategy such as Near-Optimal Bitrate Adaptation for Online Videos, referred to as BOLA for short.
  • Cache-based is because changes in the user's network environment will eventually be reflected in the user's cache. This is a cache-based ABR algorithm designed using Lyapunov optimization. In essence, BOLA's code rate selection strategy is a mapping from the current buffer size to the optional code rate.
  • the code rate is selected by maximizing the QoE function of the next 5 video blocks.
  • Robust MPC is a bit rate selection strategy based on the current cache amount and predicted throughput.
  • the evaluation index of the embodiment of this application evaluate the performance from QoE influencing factors and comprehensive QoE respectively, where the influencing factors of QoE include: video bit rate, freeze time, and bit rate switching.
  • the embodiment of the present application adopts the QoE model defined by MPC, and the model is shown in formula 1.
  • Figure 4 compares the average QoE achieved by each bit rate selection strategy on HSDPA and FCC networks, and normalizes the results of different algorithms on the basis of RBC.
  • FIGs 5 to 7 show the detailed performance of each algorithm on the QoE influencing factors on the FCC network data set in the form of Cumulative Distribution Function (CDF);
  • Figures 8 to 10 show The form of the CDF diagram shows the detailed performance of each algorithm on the QoE influencing factors on the HSDPA network data set. From the performance of the algorithm on various QoE influencing factors, it can be seen that RBC provides the best comprehensive QoE under all test network conditions. By combining QoE optimization and cache control, RBC can be better than optimized algorithms (Robust MPC and MPC) achieve less stall time, and achieve a better balance between QoE influencing factors than cache-based methods (BBA and BOLA).
  • the simulation results based on the real video player and the real throughput trajectory show that the method RBC provided by the embodiment of the present application can accurately control the maximum buffer amount at the target level, and can simultaneously achieve low latency, less lag and high code rate.
  • Figure 11 and Figure 12 compare the statistical characteristics of the cache volume changes achieved by the algorithm on a bandwidth data set. It can be seen that the average cache volume of MPC is very small. Therefore, any prediction errors and throughput Sudden jitter will cause lag. Although Robust MPC maintains a large amount of cache, its cache fluctuates very sharply and the standard deviation is large, so stuttering events still occur frequently. By combining cache control and QoE optimization, only RBC can accurately control the amount of cache at a desired level.
  • an embodiment of the present application also provides a video bit rate determination device, which is applied to a device that plays video based on consecutively numbered video blocks.
  • the device includes the determination of the cancellation parameter of the throughput prediction error.
  • the throughput prediction error cancellation parameter determination unit 1401 is configured to determine the cancellation parameter ⁇ (k) used to cancel the throughput prediction error of the k-th video block Fk, where k is a positive integer;
  • the buffer amount determining unit 1402 is configured to be based on the throughput prediction value of each video block from the video block Fk to the k+N-1th video block Fk+N-1 and the cancellation parameter ⁇ (k ), determining the buffer amount prediction value at the end of download of each video block from the video block Fk to the video block Fk+N-1, where the N is a positive integer greater than 1;
  • the code rate determining unit 1403 is configured to request a weighted value of the code rate variation between adjacent video blocks, and a buffer at the end of downloading of each video block from the video block Fk to the video block Fk+N-1. Determine the video playback quality loss value, and determine the bit rate r(k) when the video playback quality loss value is the smallest;
  • the video request unit 1404 is configured to request the video block Fk at a bit rate not exceeding the r(k).
  • the buffer amount determining unit is configured to determine the throughput prediction value of each video block from the video block Fk to the video block Fk+N-1 according to the following steps:
  • the M is a positive integer greater than 1 and less than k;
  • the throughput prediction value of the video block Fk Determine the throughput prediction value of each video block from the k+1 video block Fk+1 to the video block Fk+N-1.
  • the buffer amount determining unit is configured to:
  • the i is a positive integer in [1, M-j]
  • the j is a positive integer in [1, N]
  • c(k-i) is the download speed of the k-i video block Fk-i.
  • the buffer amount determining unit is configured to calculate the throughput prediction value of each video block in the video block Fk+1 to the video block Fk+N-1 based on the following formula:
  • the buffer amount determining unit is configured to:
  • the throughput prediction value of each video block in the video block Fk to the k+j-1th video block Fk+j-1 the throughput prediction value of each video block in the video block Fk to the k+j-1th video block Fk+j-1, and determine any of the video block Fk to the video block Fk+N-1 Predicted value of the buffer amount of the video block at the end of the download of a video block Fk+j-1
  • the i is a positive integer in [1, Mj]
  • the j is a positive integer in [1, N]
  • the M is a positive integer greater than 1 and less than k
  • K + i-1 of the video blocks Length F k + i-1 for the first video block k + i-1 video block F k + i-1 predicted a certain value, the L is.
  • the code rate determining unit is configured to:
  • the weighted value of the code rate variation between the requested adjacent video blocks, and the predicted value of the buffer amount at the end of downloading of each video block from the video block F k to the video block F k+N-1 and the preset The buffer prediction error of the target value of the buffer amount is input into the following formula to calculate the video playback quality loss value:
  • J is the video playback quality loss value
  • the j is a positive integer in [1, N]
  • b r (k+j) is the buffer of the video block at the end of the download of the video block F k+j-1 Target value
  • r(k) and r(k-1) are the video block F k and the k-1th video block F, respectively
  • the code rate of k-1 , ⁇ is the penalty factor for switching code rate.
  • an embodiment of the present application further provides an electronic device, including a processor 1501, a memory 1502 configured to store executable instructions of the processor, wherein the processor is configured To perform the following process:
  • the weighted value of the bit rate variation between the adjacent video blocks requested, and the predicted value of the buffer amount at the end of downloading of each video block from the video block F k to the video block F k+N-1 and the preset buffer Measure the buffer prediction error of the target value, determine the video playback quality loss value, and determine the bit rate r(k) when the video playback quality loss value is the smallest;
  • the video block F k is requested at a code rate not exceeding the r(k).
  • the processor is specifically configured to execute:
  • the M is a positive integer greater than 1 and less than k;
  • the throughput prediction value of the video block F k Determine the throughput prediction value of each video block from the k+1th video block F k+1 to the video block F k+N-1 .
  • the processor is specifically configured to execute:
  • the i is a positive integer in [1, Mj]
  • the j is a positive integer in [1, N]
  • c(ki) is the download speed of the ki-th video block F ki .
  • the processor is specifically configured to execute:
  • the processor is specifically configured to execute:
  • the following preset recursive formula for buffering amount, and the video block The bit rate r(k) of Fk, the throughput prediction value of each video block in the video block F k to the k+j-1th video block F k+j-1 , determine the video block F k to the video block F k +N-1 any video block F k+j-1 The prediction value of the buffer amount of the video block at the end of the download
  • the i is a positive integer in [1, Mj]
  • the j is a positive integer in [1, N]
  • the M is a positive integer greater than 1 and less than k
  • K + i-1 of the video blocks Length F k + i-1 for the first video block k + i-1 video block F k + i-1 predicted a certain value, the L is.
  • the processor is specifically configured to execute:
  • the weighted value of the code rate variation between the requested adjacent video blocks, and the predicted value of the buffer amount at the end of downloading of each video block from the video block F k to the video block F k+N-1 and the preset The buffer prediction error of the target value of the buffer amount is input into the following formula to calculate the video playback loss value:
  • J is the video playback quality loss value
  • the j is a positive integer in [1, N]
  • b r (k+j) is the buffer of the video block at the end of the download of the video block F k+j-1 Target value
  • r(k) and r(k-1) are the video block F k and the k-1th video block F, respectively
  • the code rate of k-1 , ⁇ is the penalty factor for switching the code rate.
  • the embodiments of the present application also provide a storage medium including instructions, such as a memory including instructions, which can be executed by a processor of the electronic device to complete the foregoing method.
  • the storage medium may be a computer-readable non-volatile storage medium, for example, the computer-readable non-volatile storage medium may be ROM, random access memory (RAM), CD-ROM, magnetic tape, floppy disk And optical data storage equipment, etc.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本申请公开了一种视频码率确定方法、装置、电子设备及存储介质,涉及视频播放技术领域,以解决视频播放卡顿的问题,该方法应用于基于连续编号的视频块播放视频的设备,包括:确定用于抵消视频块F k的吞吐量预测误差的抵消参数ξ(k);基于视频块F k至视频块F k+N-1中每个视频块的吞吐量预测值及ξ(k),确定视频块F k至视频块F k+N-1中每个视频块下载结束时的缓存量预测值;根据请求相邻视频块间的码率变化量的加权值,视频块F k至视频块 F k+N-1中每个视频块下载结束时的缓存量预测值及预设的缓存量目标值的缓存预测误差,确定视频播放质量损失值,并以不超过视频播放质量损失值最小时的码率r(k)的码率请求视频块F k。

Description

一种视频码率确定方法、装置、电子设备及存储介质
相关申请的交叉引用
本申请要求在2019年07月24日提交中国专利局、申请号为201910672469.2、申请名称为“一种视频码率确定方法、装置、电子设备及存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及视频播放技术领域,特别涉及一种视频码率确定方法、装置、电子设备及存储介质。
背景技术
在提供视频播放服务时,为了能够在动态变化的网络状况下提供好的用户体验质量(Quality of Experience,QoE),目前很多视频播放器都采用基于连续编号的视频块播放视频,此时,视频被切成很多块,视频播放器应用码率自适应算法以块为单位切换视频码率来适应当前的网络状况,其中,码率越高视频的质量越好。
码率自适应算法的宗旨是提供一个好的QoE,主要包含三个部分:高视频码率、少播放卡顿和少码率切换。目前常采用码率自适应(Adaptive Bit Rate,ABR)算法切换码率,该算法在为每个视频块选择码率时,预测未来的吞吐量,并在预测空间上最大化所定义的QoE因素。但发明人发现,在带宽剧烈变化的网络状况中,吞吐量预测存在较大的误差,基于预测不准确的吞吐量所选择的码率可能会导致严重的卡顿问题。
因此,出现了模型预测控制(Model Predictive Control,MPC)算法,该算法基于当前缓存量和预测的吞吐量,通过最大化未来5个视频块的QoE因素选择码率,但发明人发现,在MPC中,视频播放器中的缓存量抖动幅度很大,缓存量经常很少,一旦出现预测误差或发生吞吐量抖动,缓存极易被排空,因此,容易引发卡顿。
综上所述,通过现有的控制算法播放视频时,存在基于预测不准的网络吞吐量而选择了不合适的码率从而导致视频播放卡顿,或者由于视频缓存量不够而导致视频播放卡顿的问题。
发明内容
本申请提供一种视频码率确定方法、装置、电子设备及存储介质,用以解决现有技术 中,由于视频播放控制算法的错误预测或播放器缓存不够,而导致视频播放卡顿,不能为用户提供好的用户体验质量的问题。
第一方面,本申请实施例提供的一种视频码率确定方法,该方法应用于基于连续编号的视频块播放视频的设备,该方法包括:
确定用于抵消第k个视频块Fk的吞吐量预测误差的抵消参数ξ(k);所述k为正整数;
基于所述视频块Fk至第k+N-1个视频块Fk+N-1中每个视频块的吞吐量预测值及所述抵消参数ξ(k),确定所述视频块Fk至视频块Fk+N-1中每个视频块下载结束时的缓存量预测值,所述N为大于1的正整数;
根据请求相邻视频块间的码率变化量的加权值,以及所述视频块Fk至视频块Fk+N-1中每个视频块下载结束时的缓存量预测值及预设的缓存量目标值的缓存预测误差,确定视频播放质量损失值,并确定所述视频播放质量损失值最小时的码率r(k);
以不超过所述r(k)的码率请求所述视频块Fk。
第二方面,本申请提供一种视频码率确定装置,应用于基于连续编号的视频块播放视频的设备,所述装置包括吞吐量预测误差的抵消参数确定单元、缓存量确定单元、码率确定单元、视频请求单元,其中:
所述吞吐量预测误差的抵消参数确定单元被配置为确定用于抵消第k个视频块Fk的吞吐量预测误差的抵消参数ξ(k),所述k为正整数;
所述缓存量确定单元被配置为基于所述视频块Fk至第k+N-1个视频块Fk+N-1中,每个视频块的吞吐量预测值及所述抵消参数ξ(k),确定所述视频块Fk至视频块Fk+N-1中每个视频块下载结束时的缓存量预测值,所述N为大于1的正整数;
所述码率确定单元被配置为根据请求相邻视频块间的码率变化量的加权值,以及所述视频块Fk至视频块Fk+N-1中每个视频块下载结束时的缓存量预测值及预设的缓存量目标值的缓存预测误差,确定视频播放质量损失值,并确定所述视频播放质量损失值最小时的码率r(k);
所述视频请求单元被配置为以不超过所述r(k)的码率请求所述视频块Fk。
第三方面,本申请提供一种电子设备,包括处理器、用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行:
确定用于抵消第k个视频块Fk的吞吐量预测误差的抵消参数ξ(k);所述k为正整数;
基于所述视频块Fk至第k+N-1个视频块Fk+N-1中每个视频块的吞吐量预测值及所述抵消参数ξ(k),确定所述视频块Fk至视频块Fk+N-1中每个视频块下载结束时的缓存量预测值,所述N为大于1的正整数;
根据请求相邻视频块间的码率变化量的加权值,以及所述视频块Fk至视频块Fk+N-1 中每个视频块下载结束时的缓存量预测值及预设的缓存量目标值的缓存预测误差,确定视频播放质量损失值,并确定所述视频播放质量损失值最小时的码率r(k);
以不超过所述r(k)的码率请求所述视频块Fk。
第四方面,本申请还提供一种计算机存储介质,其上存储有计算机程序,该程序被处理单元执行时实现本申请第一方面所述方法的步骤。
本申请实施例中,通过预估从当前视频块开始的未来N个视频块下载结束时的缓存量,并通过最小化缓存量预测值和缓存量目标值的误差以实现视频播放卡顿最小化和视频码率最大化目标,以及最小化相邻视频块间的码率变化量实现最小码率变化的目标,通过最小视频播放质量损失值,以实现最小卡顿、最大码率和最小码率变化综合因素的最优效益的码率请求视频块,以实现视频播放的最小卡顿和最小码率变化综合因素的最优效益,给用户提供最佳的视频播放体验。并且,在每次请求下载视频块时,都会重新确定该视频块对应的抵消参数ξ(k),进而使得利用ξ(k),能够准确地估算出该视频块未来N个视频块中每个视频块下载结束时的缓存量预测值。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的MPC算法在一个视频会话中的缓存量变化情况的示意图;
图2为本申请实施例提供的Robust MPC算法在一个视频会话中的缓存量变化情况的示意图;
图3为本申请实施例提供的一种视频码率确定方法的示意图;
图4为本申请实施例提供的各ABR算法在HSDPA与FCC网络上所实现的平均QoE的示意图;
图5为本申请实施例提供的各个算法在FCC网络数据集上的码率效用表现的示意图;
图6为本申请实施例提供的各个算法在FCC网络数据集上的卡顿惩罚表现的示意图;
图7为本申请实施例提供的各个算法在FCC网络数据集上的码率切换惩罚表现的示意图;
图8为本申请实施例提供的各个算法在HSDPA网络数据集上的码率效用表现的示意图;
图9为本申请实施例提供的各个算法在HSDPA网络数据集上的卡顿惩罚表现的示意 图;
图10为本申请实施例提供的各个算法在HSDPA网络数据集上的码率切换惩罚表现的示意图;
图11和为本申请实施例提供的算法在一个带宽数据集上所实现的缓存量变化的平均水平比较示意图;
图12为本申请实施例提供的算法在一个带宽数据集上所实现的缓存量变化的标准偏差比较示意图;
图13为本申请实施例提供的各算法的平均QoE随带宽预测值的变化的示意图;
图14为本申请实施例提供的一种视频码率确定装置的示意图;
图15为本申请实施例提供的一种电子设备的示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,显然,所描述的实施例仅仅是本申请一部份实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
本申请实施例描述的应用场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着新应用场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。其中,在本申请的描述中,除非另有说明,“多个”的含义是两个或两个以上。
在提供视频播放服务时,为了能够在动态变化的网络状况下提供好的用户体验质量(Quality of Experience,QoE),目前很多视频播放器都采用基于超文本传送协议(hypertext transport protocol,HTTP)的动态自适应视频流(Dynamic Adaptive Streaming over HTTP,DASH)技术来传输视频。在DASH技术中,视频被切成很多块,并且每块用不同的码率编码,视频播放器应用码率自适应算法,以块为单位切换视频码率来适应当前的网络状况,其中,码率越高视频的质量越好。码率自适应的宗旨是提供一个好的QoE,主要包含三个目标:高视频码率、少播放卡顿和少码率切换。
以下对相关技术中基于连续编号的视频块播放视频的算法进行简述:
1)平均比特率(Average Bit Rate,ABR)算法。
此算法中将影响QoE的各个因素被组合成一个统一的函数,算法所实现的综合QoE由该函数来衡量,在选择码率时,基于优化的ABR算法预测未来的吞吐量,并在预测空间上最大化所定义的QoE函数,目前ABR算法广泛采用的QoE模型如公式1:
公式1:
Figure PCTCN2020100737-appb-000001
其中,K是视频块的总个数,r(k)是第k块的码率,t(k)是下载第k块时产生的卡顿时间,μ是卡顿惩罚系数。
由于ABR算法依赖于吞吐量预测,如果吞吐量预测不准确,那么,基于吞吐量预测所选择的码率将会导致严重的卡顿问题。
2)模型预测控制(Model Predictive Control,MPC)。
该算法中,基于当前缓存量和预测的吞吐量,通过最大化未来5个视频块的QoE函数来选择码率,其QoE模型如公式1。
图1示出了MPC算法在一个视频会话中的缓存量变化情况,可以看到,MPC存在严重的卡顿风险:播放器中的缓存量抖动幅度很大,缓存量经常很少,一旦发生预测误差或吞吐量抖动,缓存将极易被排空,从而引发卡顿。
3)鲁棒模型预测控制(Robust Model Predictive Control,Robust MPC)。
该算法使用与MPC相同的码率选择方法,仍然是基于当前缓存量和预测的吞吐量,通过最大化未来5个视频块的QoE函数来选择码率,为了缓解预测误差的影响,Robust MPC将吞吐量预测值除以5个历史视频块观测到的最大预测误差,从而使码率选择更加保守。
图2示出了Robust MPC算法在一个视频会话中的缓存量变化情况,从中可以看到,Robust MPC维持了较大的缓存量,其对吞吐量抖动有更大的抵抗力,引发的卡顿时间有所减少,但是其缓存量的剧烈波动容易引发卡顿事件。
通过跟踪分析视频播放器客户端的行为,发明人发现目前的基于优化的方法缺少对缓存量演化的控制,即当吞吐量变化剧烈时,视频缓存量的抖动幅度很大,视频缓存中经常剩余很少的缓存量,有很大的排空的风险。而且,在视频播放过程中,目前常用的视频播放算法如ABR算法、MPC算法、Robust MPC算法,都存在缓存量被排空,视频播放卡顿,以及不能兼顾QoE的三个目标的问题,因此,需要对视频播放模型进行重新设计。
其中,视频播放过程中的缓存量可被描述为以吞吐量的速率填充视频并以码率的速率排除视频,如果缓存量被保持在恒定水平,则所选码率与吞吐量匹配,在视频播放的过程中不会出现播放卡顿,因此,最小的缓存量预测值等同于码率最大化、缓存量目标值的误差等同于卡顿最小化。
然而,在实时变化的网络中,想把缓存量控制在一个固定水平,需要频繁切换码率,而频繁切换码率会严重降低QOE,因此,在重新设计视频播放模型时,需要将码率的变化 考虑进来。
为了将缓存量控制在一个稳定水平,且减少码率的切换,本申请提供一种视频码率确定方法、装置、电子设备及存储介质,该方法中,根据请求相邻视频块间的码率变化量的加权值、当前视频块的未来N(如N的值为5)个视频块中每个视频块下载结束时的缓存量预测值,以及预设的缓存量目标值的缓存预测误差,确定视频播放质量损失值,基于视频播放质量损失值最小的原则,确定视频播放质量损失值最小时的码率,并以不超过确定的码率的码率请求视频块。
并且,基于当前视频块的未来N个视频块中每个视频块的吞吐量预测值及用于抵消当前视频块的吞吐量预测误差的抵消参数ξ(k),确定当前视频块的未来N个视频块中每个视频块下载结束时的缓存量预测值,基于当前视频块的历史M个视频块中每个视频块的下载速度,确定当前视频块的吞吐量预测值,进而确定当前视频块的未来N个视频块中每个视频块的吞吐量预测值。
为了保证对当前视频块的未来N个视频块中每个视频块下载结束时的缓存量预测值的准确性,进而保证准确计算当前视频块的最大码率。本申请实施例中,针对每个当前视频块都确定其对应的抵消参数ξ(k),相比于现有技术中针对每个当前视频块都使用同一个抵消参数而言,可保证当前视频块最大码率的估算准确性。
应当说明的是,k为当前视频块的编号,且k为正整数,N为大于1的正整数,M为大于1小于k的正整数。
以下对本申请实施例提供的一种视频码率确定方法进行详细的说明。
在本申请实施例中,每个视频块的视频块时长是相同的,以L代表每个视频块的视频块时长,b(k+1)代表第k个视频块F k下载结束时的缓存量,r(k)代表视频块F k所选择的码率,c(k)代表视频块F k的下载速度,其中,k为基于连续编号的视频块的编号,本领域技术人员可以将k的取值范围设置为正整数集合,也可以将k的取值范围设置为非负整数集合。
因此,视频播放时的缓存量模型如公式2:
公式2:
Figure PCTCN2020100737-appb-000002
由于在线码率决策只能依赖吞吐量预测值,且吞吐量预测会存在一定误差,因此本申请实施例中使用抵消参数来代表吞吐量预测误差造成的缓存量波动,并将缓存量模型表达为如公式3的缓存演化模型:
公式3:
Figure PCTCN2020100737-appb-000003
其中,
Figure PCTCN2020100737-appb-000004
为视频块F k下载结束时的缓存量预测值,
Figure PCTCN2020100737-appb-000005
为吞吐量的预测值,ξ(k)为用于抵消当前待下载的视频块F k的吞吐量预测误差的抵消参数。
基于公式3的缓存量演化模型,可以将码率选择定义为随机化控制问题,即选择码率时需要考虑如下与QOE相关的目标:
目标1)最大化码率。
当可用宽带被充分利用时,码率达到最大值,网络带宽利用率可以被建模为
Figure PCTCN2020100737-appb-000006
根据缓存演化模型(公式2)可以得到,对于视频块F k来说,b(k+1)(视频块F k下载结束时的缓存量)越小,所实现的宽带利用率越大。
目标2)最小化卡顿的概率。
如果在下载视频块F k的过程中出现了视频播放卡顿,那么在视频块F k下载结束时缓存量b(k+1)的值为L(即视频块时长),因此,可以通过控制b(k+1)大于L来选择码率,以使在视频块F k的下载过程不产生视频播放卡顿。
目标3)最小码率变化。
可以通过最小化{|Δr(k)|=|r(k)-r(k-1)|}来实现。
可以看出,目标1)至目标3)之间是互相矛盾的。最大化码率希望b(k+1)尽可能小,而最小化卡顿概率则希望维持较大的b(k+1)以吸收网络带宽抖动。此外,最小码率变化的目标也与选择最优码率的目标矛盾,由于码率自适应的最终目标是优化整体QOE,因此本申请实施例提供一种综合优化目标1)至目标3)的方案。
本申请实施例中,将目标1)至目标3)表示为码率代价函数的形式,以定义每一步码率策略所产生的视频播放质量损失值,码率代价函数的函数值表示视频播放质量损失值,通过最小化码率代价函数值来为每个视频块选择请求的码率,通过把目标1)和目标2)合并为将缓存量预测值
Figure PCTCN2020100737-appb-000007
控制在缓存量目标值b r(k+1)上,码率代价函数被定义成下述公式4的形式:
公式4:
Figure PCTCN2020100737-appb-000008
其中,Δr(k)=r(k)-r(k-1),即公式4也可表示为如下公式5:
公式5:
Figure PCTCN2020100737-appb-000009
其中,公式4和公式5中的J为码率代价函数值,即为视频播放质量损失值,j为[1,N]中的正整数,
Figure PCTCN2020100737-appb-000010
为第k+j-1个视频块Fk+j-1下载结束时视频块的缓存量预测值,b r(k+j)为视频块Fk+j-1下载结束时视频块的缓存量目标值,
Figure PCTCN2020100737-appb-000011
为视频块Fk+j-1的缓存量预测值和缓存量目标值的缓存预测误差,r(k)和r(k-1)分别为第k个视频块Fk和第k-1个视频块Fk-1的码率,λ为切换码率的惩罚因子。
在本申请实施例中,可以但不局限于将λ的值设置为(10/Rmax),其中,Rmax为最大可选码率。
具体地,可以利用公式4和缓存量满足的条件(即公式3)的策略,为当前视频块Fk选择码率r(k),如图3所示,主要步骤如下:
步骤S1:确定用于抵消第k个视频块Fk的吞吐量预测误差的抵消参数ξ(k)。
其中,视频块Fk即当前待下载的视频块。
在本申请实施例中,可以但不局限于采用矩阵估计的方式,确定视频块Fk的抵消参数ξ(k)。
具体地,定义如下的变量矩阵φ(k)和参数矩阵θ(k),其中,变量矩阵如下公式6,参数矩阵如下公式7:
公式6:
Figure PCTCN2020100737-appb-000012
公式7:θ(k)=[1,-L,-ξ(k),1] T
其中,ξ(k)通过估计
Figure PCTCN2020100737-appb-000013
来获得。
Figure PCTCN2020100737-appb-000014
的计算方式如下:
根据φ(k)和θ在第k-1步(即针对第k-1个视频块F k-1的估计)的估计
Figure PCTCN2020100737-appb-000015
通过如下公式获得θ在第k步(即针对视频块F k的估计)的估计
Figure PCTCN2020100737-appb-000016
Figure PCTCN2020100737-appb-000017
Figure PCTCN2020100737-appb-000018
Figure PCTCN2020100737-appb-000019
P(k)=α -1(I-W(k)φ T(k))P(k-1)。
其中,W(k)为带宽演化方差,P(k)为系统预测误差,可以将α的值设置为0.8。
进而将参数矩阵估计值
Figure PCTCN2020100737-appb-000020
中的第3项的相反数,确定为视频块F k的抵消参数ξ(k)。
步骤S2:确定视频块F k至第k+N-1个视频块F k+N-1中每个视频块的吞吐量预测值。
1)根据历史第k-M个视频块Fk-M至第k-1个视频块Fk-1中每个视频块的下载速度,确定视频块Fk的吞吐量预测值
Figure PCTCN2020100737-appb-000021
其中,M为大于1小于k的正整数。
具体可将历史视频块Fk-M至视频块Fk-1中每个视频块的下载速度输入如下公式8,计算得到视频块Fk的吞吐量预测值
Figure PCTCN2020100737-appb-000022
公式8:
Figure PCTCN2020100737-appb-000023
其中,i为[1,M-j]中的正整数,所述j为[1,N]中的正整数,c(k-i)为视频块Fk-i的下载速度。
2)根据视频块Fk的吞吐量预测值
Figure PCTCN2020100737-appb-000024
确定第k+1个视频块Fk+1至视频块Fk+N-1中每个视频块的吞吐量预测值。
具体可基于如下公式9,根据视频块Fk的吞吐量预测值
Figure PCTCN2020100737-appb-000025
确定视频块Fk+1至视频块Fk+N-1中每个视频块的吞吐量预测值
Figure PCTCN2020100737-appb-000026
公式9:
Figure PCTCN2020100737-appb-000027
其中,
Figure PCTCN2020100737-appb-000028
为视频块Fk+j的吞吐量预测值,
Figure PCTCN2020100737-appb-000029
为视频块Fk+i的吞吐量预测值。
应当说明的是,步骤S1和步骤S2并无固定的执行顺序,本领域技术人员可根据实际需求灵活设定。
步骤S3:基于视频块Fk至视频块Fk+N-1中每个视频块的吞吐量预测值及ξ(k),确定视频块Fk至视频块Fk+N-1中每个视频块下载结束时的缓存量预测值。
根据视频块Fk+1至视频块Fk+N-1中每个视频块的吞吐量预测值、抵消参数ξ(k),基于如下预设的缓存量递归式(即公式10和公式11),以及视频块Fk的码率r(k)、视频块Fk至第k+j-1个视频块Fk+j-1中每个视频块的吞吐量预测值以及ξ(k),确定视频块Fk至视频块Fk+N-1中任一视频块Fk+j-1下载结束时视频块的缓存量预测值
Figure PCTCN2020100737-appb-000030
基于公式2和公式3可推导的公式10和公式11:
公式10:
Figure PCTCN2020100737-appb-000031
公式11:
Figure PCTCN2020100737-appb-000032
公式9和10中,i为[1,M-j]中的正整数,j为[1,N]中的正整数,
Figure PCTCN2020100737-appb-000033
为视频块Fk+i-1的吞吐量预测值。
即根据步骤S2中确定的吞吐量预测值
Figure PCTCN2020100737-appb-000034
步骤S1中确定的ξ(k)值,以及公式10和公式11,可以递推出视频块Fk的码率r(k)、视频块Fk至视频块Fk+N-1中每个视频块下载结束时的缓存量预测值
Figure PCTCN2020100737-appb-000035
步骤S4:基于视频播放质量损失值最小原则,确定视频播放质量损失值最小时的码率r(k)。
应当说明的是,在步骤S4之前,需要确定视频块Fk至视频块Fk+N-1中每个视频块下载结束时的缓存量目标值b r
进而将视频块Fk至视频块Fk+N-1中每个视频块下载结束时的缓存量预测值
Figure PCTCN2020100737-appb-000036
以及对应的缓存量目标值b r(k+1)~b r(k+N)代入码率代价函数(即所述公式4或公式5),得到视频播放质量损失值。
最小化问题Min J可获得码率策略r(k),进而基于视频播放质量损失值最小时的码率r(k),其中r(k)如公式12:
公式12:
Figure PCTCN2020100737-appb-000037
步骤S5,以不超过确定的r(k)的码率请求视频块Fk。
在根据公式12求得视频块Fk对应最大码率r(k)后,以不超过r(k)的码率请求视频块Fk。
本申请实施例中下述部分,根据仿真软件仿真实验的结果,展示本方案带来的有益效果。
本申请实施例中使用仿真系统DASH,仿真系统DASH由一个Nginx服务器和一个基于Dash.js的播放器组成,视频的最大缓存量设置为30秒。
以下以鲁棒比特率控制(Robust Bitrate Control,RBC)简称本申请实施例所设计的码率选择策略,RBC通过修改Dash.js里的函数AbrController和BufferController来实现,链 路容量由Linux tc工具根据真实测得的带宽数据来设定。
为了在实际网络条件下评估本申请实施例的提供的算法,我们采用的是基于美国联邦通信委员会(Federal Communications Commission,FCC)网络数据集和高速下行分组接入(High Speed Downlink Packet Access,HSDPA)网络数据集生成的测试带宽轨迹。这两个数据集分别收集了移动设备在挪威Telenor的3G/HSDPA移动无线网络下和在FCC网络下播放视频时连续测量到的吞吐量数据。
测试算法。
1)RBC:本申请实施例所设计的码率选择策略,其目标缓存轨迹可用公式13所示:
公式13:b r(k+1)=0.7b(k)+0.3B r
其中,b r(k+1)为视频块Fk+1-1的缓存量目标值,b(k)为视频块Fk开始下载时的缓存量(即也为视频块Fk-1下载结束时的缓存量);B r的值设置为10秒;
在公式4和公式5的码率代价函数中,可将切换码率的惩罚因子λ设置为2.5×10 -3,步骤S1中预测ξ(k)时,可将系统预测误差P(k)的值设置为1。
2)基于宽带的码率选择策略FESTIVE。
该算法主要通过用户前一段时间的网络变化,来估计后续的网络带宽,进而根据估计的带宽选择适合用户的码率,其选择的码率不超过当前带宽的最大可选码率。
3)基于缓存的码率选择策略,如基于缓存的算法BBA(Buffer Based Algorithm)。
4)基于缓存的码率选择策略,如对在线视频的近最优的比特率调整(Near-Optimal Bitrate Adaptation for Online Videos),简称为BOLA。
基于缓存是因为用户的网络环境的变化最终会体现在用户的缓存中,这是一个利用李雅普诺夫优化来设计的基于缓存的ABR算法。从本质上说,BOLA的码率选择策略是一个从当前缓存量到可选码率的映射。
5)基于当前缓存量和预测的吞吐量的码率选择策略MPC。
通过最大化未来5个视频块的QoE函数来选择码率。
6)基于当前缓存量和预测的吞吐量的码率选择策略Robust MPC。
使用与MPC相同的码率选择方法。为了缓解预测误差的影响,Robust MPC将吞吐量预测值除以5个历史视频块观测到的最大预测误差来实现保守预测的方式。
本申请实施例评测指标:分别从QoE影响因素和综合QoE来对性能进行评价,其中,QoE的影响因素包括:视频码率、卡顿时间和码率切换。
为了评估综合QoE,本申请实施例采用MPC定义的QoE模型,该模型如公式1所示。
统计性能:图4比较了各码率选择策略在HSDPA与FCC网络上所实现的平均QoE 情况,将不同算法结果以RBC为基准来进行归一化。
图5至图7以累积分布函数(Cumulative Distribution Function,CDF)的形式显示了各个算法在各个QoE影响因素上的在FCC网络数据集上的QoE影响因素上的详细表现;图8至图10以CDF图的形式显示了各个算法在各个QoE影响因素上的在HSDPA网络数据集上的QoE影响因素上的详细表现。从算法在各个QoE影响因素上的表现从中可以看出,RBC在所有测试网络条件下都提供了最佳的综合QoE,通过将QoE优化和缓存控制相结合,RBC能够比基于优化的算法(Robust MPC和MPC)实现更少的卡顿时间,比基于缓存的方法(BBA和BOLA)在各QoE影响因素之间实现更好的平衡。
在带宽波动较大的HSDPA网络中,MPC的决策过程严重地受到预测误差的影响,MPC所选择的码率产生相当严重的卡顿,从而导致综合QoE甚至比启发式方法BBA更差。通过保守地预测带宽,Robust MPC能够在带宽预测不准确时保守地选择码率,其比MPC有更强的鲁棒性,因此,Robust MPC能够减少卡顿时间。
在FCC网络下,Robust MPC和RBC的性能接近,然而,由于Robust MPC只间接提高了缓存量的平均水平而没有控制缓存量的演化,其缓存量抖动剧烈,仍然有很大的卡顿风险。
在HSDPA网络中,卡顿仍然是Robus tMPC面临的一个重要的问题。相比之下,RBC、BBA和BOLA能够在HSDPA和FCC网络中都保持低的播放卡顿率。实验结果证明了控制缓存量在提高系统抗网络干扰方面的优势。
基于真实的视频播放器和真实的吞吐量轨迹的仿真结果表明,本申请实施例提供的方法RBC能够将最缓存量准确地控制在目标水平,能够同时实现低时延、少卡顿和高码率。
缓存量稳定性:图11和图12比较了算法在一个带宽数据集上所实现的缓存量变化的统计特性,可以看到,MPC的平均缓存量很小,因此,任何的预测误差和吞吐量突发抖动都会引起卡顿。虽然Robust MPC维持了较大的缓存量,但其缓存量的波动非常剧烈,标准差很大,所以卡顿事件仍然会频繁发生。通过将缓存控制和QoE优化相结合,只有RBC能够将缓存量准确的控制在一个期望的水平上。
对预测误差的鲁棒性:为了测试预测误差对算法的影响,我们将实际网络带宽乘以高斯噪声N(1,e)来模拟带宽预测值,图13显示了平均QoE随参数e的变化。正如预期,RBC几乎不受影响,而MPC和Robust MPC都会因为带宽预测偏差而遭受相当大的QoE降低。
如图14所示,基于相同的发明构思,本申请实施例还提供一种视频码率确定装置,应用于基于连续编号的视频块播放视频的设备,该装置包括吞吐量预测误差的抵消参数确定单元1401、缓存量确定单元1402、码率确定单元1403、视频请求单元1404,其中:
所述吞吐量预测误差的抵消参数确定单元1401被配置为确定用于抵消第k个视频块Fk的吞吐量预测误差的抵消参数ξ(k),所述k为正整数;
所述缓存量确定单元1402被配置为基于所述视频块Fk至第k+N-1个视频块Fk+N-1中,每个视频块的吞吐量预测值及所述抵消参数ξ(k),确定所述视频块Fk至视频块Fk+N-1中每个视频块下载结束时的缓存量预测值,所述N为大于1的正整数;
所述码率确定单元1403被配置为根据请求相邻视频块间的码率变化量的加权值,以及所述视频块Fk至视频块Fk+N-1中每个视频块下载结束时的缓存量预测值及预设的缓存量目标值的缓存预测误差,确定视频播放质量损失值,并确定所述视频播放质量损失值最小时的码率r(k);
所述视频请求单元1404被配置为以不超过所述r(k)的码率请求所述视频块Fk。
在一种可能的实施方式中,所述缓存量确定单元被配置为根据以下步骤确定所述视频块Fk至视频块Fk+N-1中每个视频块的吞吐量预测值:
根据历史视频块第k-M个视频块Fk-M至第k-1个视频块Fk-1中每个视频块的下载速度,确定所述视频块Fk的吞吐量预测值
Figure PCTCN2020100737-appb-000038
所述M为大于1小于k的正整数;
根据所述视频块Fk的吞吐量预测值
Figure PCTCN2020100737-appb-000039
确定第k+1个视频块Fk+1至视频块Fk+N-1中每个视频块的吞吐量预测值。
在一种可能的实施方式中,所述缓存量确定单元被配置为:
将视频块Fk-M至视频块Fk-1中每个视频块的下载速度输入如下公式,计算得到所述视频块Fk的吞吐量预测值
Figure PCTCN2020100737-appb-000040
Figure PCTCN2020100737-appb-000041
其中,所述i为[1,M-j]中的正整数,所述j为[1,N]中的正整数,c(k-i)为第k-i个视频块Fk-i的下载速度。
在一种可能的实施方式中,所述缓存量确定单元被配置为基于如下公式计算视频块Fk+1至视频块Fk+N-1中每个视频块的吞吐量预测值:
Figure PCTCN2020100737-appb-000042
其中,
Figure PCTCN2020100737-appb-000043
为第k+j个视频块Fk+j的吞吐量预测值,所述
Figure PCTCN2020100737-appb-000044
为第k+i个视频块Fk+i的吞吐量预测值。
在一种可能的实施方式中,所述缓存量确定单元被配置为:
根据所述视频块Fk至视频块Fk+N-1中每个视频块的吞吐量预测值以及所述抵消参数ξ(k),如下预设的缓存量递归式,以及所述视频块Fk的码率r(k)、视频块Fk至第k+j-1个视频块Fk+j-1中每个视频块的吞吐量预测值,确定视频块Fk至视频块Fk+N-1中任一视频块Fk+j-1下载结束时视频块的缓存量预测值
Figure PCTCN2020100737-appb-000045
缓存量递归式:
Figure PCTCN2020100737-appb-000046
Figure PCTCN2020100737-appb-000047
其中,所述i为[1,M-j]中的正整数,所述j为[1,N]中的正整数,所述M为大于1小于k的正整数,
Figure PCTCN2020100737-appb-000048
为第k+i-1个视频块F k+i-1的吞吐量预测值,所述L为第k+i-1个视频块F k+i-1的视频块时长。
在一种可能的实施方式中,所述码率确定单元被配置为:
将所述请求相邻视频块间的码率变化量的加权值,以及所述视频块F k至视频块F k+N-1中每个视频块下载结束时的缓存量预测值及预设的缓存量目标值的缓存预测误差输入如下公式,计算得到视频播放质量损失值:
Figure PCTCN2020100737-appb-000049
其中,J为视频播放质量损失值,所述j为[1,N]中的正整数,
Figure PCTCN2020100737-appb-000050
为第k+j-1个视频块F k+j-1下载结束时视频块的缓存量预测值,b r(k+j)为视频块F k+j-1下载结束时视频块的缓存量目标值,
Figure PCTCN2020100737-appb-000051
为视频块F k+j-1的缓存量预测值和缓存量目标值的缓存预测误差,r(k)和r(k-1)分别为视频块F k和第k-1个视频块F k-1的码率,λ为切换码率的惩罚因子。
如图15所示,基于相同的发明构思,本申请实施例还提供一种电子设备,包括处理器1501、用于存储所述处理器可执行指令的存储器1502,其中,所述处理器被配置为执行如下过程:
确定用于抵消第k个视频块F k的吞吐量预测误差的抵消参数ξ(k);所述k为正整数;
基于所述视频块F k至第k+N-1个视频块F k+N-1中每个视频块的吞吐量预测值及所述抵消参数ξ(k),确定所述视频块F k至视频块F k+N-1中每个视频块下载结束时的缓存量预测值,所述N为大于1的正整数;
根据请求相邻视频块间的码率变化量的加权值,以及所述视频块F k至视频块F k+N-1中 每个视频块下载结束时的缓存量预测值及预设的缓存量目标值的缓存预测误差,确定视频播放质量损失值,并确定所述视频播放质量损失值最小时的码率r(k);
以不超过所述r(k)的码率请求所述视频块F k
在一种可能的实施方式中,所述处理器具体被配置为执行:
根据以下步骤确定所述视频块F k至视频块F k+N-1中每个视频块的吞吐量预测值:
根据历史第k-M个视频块F k-M至第k-1个视频块F k-1中每个视频块的下载速度,确定所述视频块F k的吞吐量预测值
Figure PCTCN2020100737-appb-000052
所述M为大于1小于k的正整数;
根据所述视频块F k的吞吐量预测值
Figure PCTCN2020100737-appb-000053
确定第k+1个视频块F k+1至视频块F k+N-1中每个视频块的吞吐量预测值。
在一种可能的实施方式中,所述处理器具体被配置为执行:
将视频块F k-M至视频块F k-1中每个视频块的下载速度输入如下公式,计算得到所述视频块F k的吞吐量预测值
Figure PCTCN2020100737-appb-000054
Figure PCTCN2020100737-appb-000055
其中,所述i为[1,M-j]中的正整数,所述j为[1,N]中的正整数,c(k-i)为第k-i个视频块F k-i的下载速度。
在一种可能的实施方式中,所述处理器具体被配置为执行:
基于如下公式计算视频块F k+1至视频块F k+N-1中每个视频块的吞吐量预测值:
Figure PCTCN2020100737-appb-000056
其中,
Figure PCTCN2020100737-appb-000057
为第k+j个视频块F k+j的吞吐量预测值,所述
Figure PCTCN2020100737-appb-000058
为第k+i个视频块F k+i的吞吐量预测值。
在一种可能的实施方式中,所述处理器具体被配置为执行:
根据所述视频块F k至视频块F k+N-1中每个视频块的吞吐量预测值以及所述抵消参数ξ(k),如下预设的缓存量递归式,以及所述视频块Fk的码率r(k)、视频块F k至第k+j-1个视频块F k+j-1中每个视频块的吞吐量预测值,确定视频块F k至视频块F k+N-1中任一视频块F k+j-1下载结束时视频块的缓存量预测值
Figure PCTCN2020100737-appb-000059
缓存量递归式:
Figure PCTCN2020100737-appb-000060
Figure PCTCN2020100737-appb-000061
其中,所述i为[1,M-j]中的正整数,所述j为[1,N]中的正整数,所述M为大于1小于k的正整数,
Figure PCTCN2020100737-appb-000062
为第k+i-1个视频块F k+i-1的吞吐量预测值,所述L为第k+i-1个视频块F k+i-1的视频块时长。
在一种可能的实施方式中,所述处理器具体被配置为执行:
将所述请求相邻视频块间的码率变化量的加权值,以及所述视频块F k至视频块F k+N-1中每个视频块下载结束时的缓存量预测值及预设的缓存量目标值的缓存预测误差输入如下公式,计算得到所述视频播放损失值:
Figure PCTCN2020100737-appb-000063
其中,J为视频播放质量损失值,所述j为[1,N]中的正整数,
Figure PCTCN2020100737-appb-000064
为第k+j-1个视频块F k+j-1下载结束时视频块的缓存量预测值,b r(k+j)为视频块F k+j-1下载结束时视频块的缓存量目标值,
Figure PCTCN2020100737-appb-000065
为视频块F k+j-1的缓存量预测值和缓存量目标值的缓存预测误差,r(k)和r(k-1)分别为视频块F k和第k-1个视频块F k-1的码率,λ为切换码率的惩罚因子。
基于相同的发明构思,本申请实施例还提供一种包括指令的存储介质,例如包括指令的存储器,上述指令可由所述电子设备的处理器执行以完成上述方法。可选地,存储介质可以是计算机可读非易失性存储介质,例如,所述计算机可读非易失性存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本领域技术人员在考虑说明书及实践本申请的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。

Claims (19)

  1. 一种视频码率确定方法,应用于基于连续编号的视频块播放视频的设备,该方法包括:
    确定用于抵消第k个视频块F k的吞吐量预测误差的抵消参数ξ(k);所述k为正整数;
    基于所述视频块F k至第k+N-1个视频块F k+N-1中每个视频块的吞吐量预测值及所述抵消参数ξ(k),确定所述视频块F k至视频块F k+N-1中每个视频块下载结束时的缓存量预测值,所述N为大于1的正整数;
    根据请求相邻视频块间的码率变化量的加权值,以及所述视频块F k至视频块F k+N-1中每个视频块下载结束时的缓存量预测值及预设的缓存量目标值的缓存预测误差,确定视频播放质量损失值,并确定所述视频播放质量损失值最小时的码率r(k);
    以不超过所述r(k)的码率请求所述视频块F k
  2. 如权利要求1所述的方法,根据以下步骤确定所述视频块F k至视频块F k+N-1中每个视频块的吞吐量预测值:
    根据历史第k-M个视频块F k-M至第k-1个视频块F k-1中每个视频块的下载速度,确定所述视频块F k的吞吐量预测值
    Figure PCTCN2020100737-appb-100001
    所述M为大于1小于k的正整数;
    根据所述视频块F k的吞吐量预测值
    Figure PCTCN2020100737-appb-100002
    确定第k+1个视频块F k+1至视频块F k+N-1中每个视频块的吞吐量预测值。
  3. 如权利要求2所述的方法,根据历史第k-M个视频块F k-M至第k-1个视频块F k-1中每个视频块的下载速度,确定所述视频块F k的吞吐量预测值
    Figure PCTCN2020100737-appb-100003
    包括:
    将视频块F k-M至视频块F k-1中每个视频块的下载速度输入如下公式,计算得到所述视频块F k的吞吐量预测值
    Figure PCTCN2020100737-appb-100004
    Figure PCTCN2020100737-appb-100005
    其中,所述i为[1,M-j]中的正整数,所述j为[1,N]中的正整数,c(k-i)为第k-i个视频块F k-i的下载速度。
  4. 如权利要求3所述的方法,根据所述视频块F k的吞吐量预测值
    Figure PCTCN2020100737-appb-100006
    确定第k+1个视频块F k+1至视频块F k+N-1中每个视频块的吞吐量预测值,包括:
    基于如下公式计算视频块F k+1至视频块F k+N-1中每个视频块的吞吐量预测值:
    Figure PCTCN2020100737-appb-100007
    其中,
    Figure PCTCN2020100737-appb-100008
    为第k+j个视频块F k+j的吞吐量预测值,所述
    Figure PCTCN2020100737-appb-100009
    为第k+i个视频块F k+i的吞吐量预测值。
  5. 如权利要求1所述的方法,基于所述视频块F k至第k+N-1个视频块F k+N-1中每个视频块的吞吐量预测值及所述ξ(k),确定所述视频块F k至视频块F k+N-1中每个视频块下载结束时的缓存量预测值,包括:
    根据所述视频块F k至视频块F k+N-1中每个视频块的吞吐量预测值以及所述抵消参数ξ(k),如下预设的缓存量递归式,以及所述视频块F k的码率r(k)、视频块F k至第k+j-1个视频块F k+j-1中每个视频块的吞吐量预测值,确定视频块F k至视频块F k+N-1中任一视频块F k+j-1下载结束时视频块的缓存量预测值
    Figure PCTCN2020100737-appb-100010
    缓存量递归式:
    Figure PCTCN2020100737-appb-100011
    Figure PCTCN2020100737-appb-100012
    其中,所述i为[1,M-j]中的正整数,所述j为[1,N]中的正整数,所述M为大于1小于k的正整数,
    Figure PCTCN2020100737-appb-100013
    为第k+i-1个视频块F k+i-1的吞吐量预测值,所述L为第k+i-1个视频块F k+i-1的视频块时长。
  6. 如权利要求1所述的方法,根据请求相邻视频块间的码率变化量的加权值,以及所述视频块F k至视频块F k+N-1中每个视频块下载结束时的缓存量预测值及预设的缓存量目标值的缓存预测误差,确定视频播放质量损失值,包括:
    将所述请求相邻视频块间的码率变化量的加权值,以及所述视频块F k至视频块F k+N-1中每个视频块下载结束时的缓存量预测值及预设的缓存量目标值的缓存预测误差输入如下公式,计算得到所述视频播放损失值:
    Figure PCTCN2020100737-appb-100014
    其中,J为视频播放质量损失值,所述j为[1,N]中的正整数,
    Figure PCTCN2020100737-appb-100015
    为第k+j-1个视频块F k+j-1下载结束时视频块的缓存量预测值,b r(k+j)为视频块F k+j-1下载结束时视频 块的缓存量目标值,
    Figure PCTCN2020100737-appb-100016
    为视频块F k+j-1的缓存量预测值和缓存量目标值的缓存预测误差,r(k)和r(k-1)分别为视频块F k和第k-1个视频块F k-1的码率,λ为切换码率的惩罚因子。
  7. 一种视频码率确定装置,应用于基于连续编号的视频块播放视频的设备,所述装置包括吞吐量预测误差的抵消参数确定单元、缓存量确定单元、码率确定单元、视频请求单元,其中:
    所述吞吐量预测误差的抵消参数确定单元被配置为确定用于抵消第k个视频块F k的吞吐量预测误差的抵消参数ξ(k),所述k为正整数;
    所述缓存量确定单元被配置为基于所述视频块F k至第k+N-1个视频块F k+N-1中,每个视频块的吞吐量预测值及所述抵消参数ξ(k),确定所述视频块F k至视频块F k+N-1中每个视频块下载结束时的缓存量预测值,所述N为大于1的正整数;
    所述码率确定单元被配置为根据请求相邻视频块间的码率变化量的加权值,以及所述视频块F k至视频块F k+N-1中每个视频块下载结束时的缓存量预测值及预设的缓存量目标值的缓存预测误差,确定视频播放质量损失值,并确定所述视频播放质量损失值最小时的码率r(k);
    所述视频请求单元被配置为以不超过所述r(k)的码率请求所述视频块F k
  8. 如权利要求7所述的装置,所述缓存量确定单元被配置为根据以下步骤确定所述视频块F k至视频块F k+N-1中每个视频块的吞吐量预测值:
    根据历史视频块第k-M个视频块F k-M至第k-1个视频块F k-1中每个视频块的下载速度,确定所述视频块F k的吞吐量预测值
    Figure PCTCN2020100737-appb-100017
    所述M为大于1小于k的正整数;
    根据所述视频块F k的吞吐量预测值
    Figure PCTCN2020100737-appb-100018
    确定第k+1个视频块F k+1至视频块F k+N-1中每个视频块的吞吐量预测值。
  9. 如权利按要求8所述的装置,所述缓存量确定单元被配置为:
    将视频块F k-M至视频块F k-1中每个视频块的下载速度输入如下公式,计算得到所述视频块F k的吞吐量预测值
    Figure PCTCN2020100737-appb-100019
    Figure PCTCN2020100737-appb-100020
    其中,所述i为[1,M-j]中的正整数,所述j为[1,N]中的正整数,c(k-i)为第k-i个视频块F k-i的下载速度。
  10. 如权利按要求9所述的装置,所述缓存量确定单元被配置为基于如下公式计算视 频块F k+1至视频块F k+N-1中每个视频块的吞吐量预测值:
    Figure PCTCN2020100737-appb-100021
    其中,
    Figure PCTCN2020100737-appb-100022
    为第k+j个视频块F k+j的吞吐量预测值,所述
    Figure PCTCN2020100737-appb-100023
    为第k+i个视频块F k+i的吞吐量预测值。
  11. 如权利按要求7所述的装置,所述缓存量确定单元被配置为:
    根据所述视频块F k至视频块F k+N-1中每个视频块的吞吐量预测值以及所述抵消参数ξ(k),如下预设的缓存量递归式,以及所述视频块F k的码率r(k)、视频块F k至第k+j-1个视频块F k+j-1中每个视频块的吞吐量预测值,确定视频块F k至视频块F k+N-1中任一视频块F k+j-1下载结束时视频块的缓存量预测值
    Figure PCTCN2020100737-appb-100024
    缓存量递归式:
    Figure PCTCN2020100737-appb-100025
    Figure PCTCN2020100737-appb-100026
    其中,所述i为[1,M-j]中的正整数,所述j为[1,N]中的正整数,所述M为大于1小于k的正整数,
    Figure PCTCN2020100737-appb-100027
    为第k+i-1个视频块F k+i-1的吞吐量预测值,所述L为第k+i-1个视频块F k+i-1的视频块时长。
  12. 如权利按要求7所述的装置,所述码率确定单元被配置为:
    将所述请求相邻视频块间的码率变化量的加权值,以及所述视频块F k至视频块F k+N-1中每个视频块下载结束时的缓存量预测值及预设的缓存量目标值的缓存预测误差输入如下公式,计算得到视频播放质量损失值:
    Figure PCTCN2020100737-appb-100028
    其中,J为视频播放质量损失值,所述j为[1,N]中的正整数,
    Figure PCTCN2020100737-appb-100029
    为第k+j-1个视频块F k+j-1下载结束时视频块的缓存量预测值,b r(k+j)为视频块F k+j-1下载结束时视频块的缓存量目标值,
    Figure PCTCN2020100737-appb-100030
    为视频块F k+j-1的缓存量预测值和缓存量目标值的缓存预测误差,r(k)和r(k-1)分别为视频块F k和第k-1个视频块F k-1的码率,λ为切换码率的惩罚因子。
  13. 一种电子设备,包括处理器、用于存储所述处理器可执行指令的存储器;
    其中,所述处理器被配置为执行:
    确定用于抵消第k个视频块F k的吞吐量预测误差的抵消参数ξ(k);所述k为正整数;
    基于所述视频块F k至第k+N-1个视频块F k+N-1中每个视频块的吞吐量预测值及所述抵消参数ξ(k),确定所述视频块F k至视频块F k+N-1中每个视频块下载结束时的缓存量预测值,所述N为大于1的正整数;
    根据请求相邻视频块间的码率变化量的加权值,以及所述视频块F k至视频块F k+N-1中每个视频块下载结束时的缓存量预测值及预设的缓存量目标值的缓存预测误差,确定视频播放质量损失值,并确定所述视频播放质量损失值最小时的码率r(k);
    以不超过所述r(k)的码率请求所述视频块F k
  14. 如权利按要求13所述的电子设备,所述处理器具体被配置为执行:
    根据以下步骤确定所述视频块F k至视频块F k+N-1中每个视频块的吞吐量预测值:
    根据历史第k-M个视频块F k-M至第k-1个视频块F k-1中每个视频块的下载速度,确定所述视频块F k的吞吐量预测值
    Figure PCTCN2020100737-appb-100031
    所述M为大于1小于k的正整数;
    根据所述视频块F k的吞吐量预测值
    Figure PCTCN2020100737-appb-100032
    确定第k+1个视频块F k+1至视频块F k+N-1中每个视频块的吞吐量预测值。
  15. 如权利按要求14所述的电子设备,所述处理器具体被配置为执行:
    将视频块F k-M至视频块F k-1中每个视频块的下载速度输入如下公式,计算得到所述视频块F k的吞吐量预测值
    Figure PCTCN2020100737-appb-100033
    Figure PCTCN2020100737-appb-100034
    其中,所述i为[1,M-j]中的正整数,所述j为[1,N]中的正整数,c(k-i)为第k-i个视频块F k-i的下载速度。
  16. 如权利按要求15所述的电子设备,所述处理器具体被配置为执行:
    基于如下公式计算视频块F k+1至视频块F k+N-1中每个视频块的吞吐量预测值:
    Figure PCTCN2020100737-appb-100035
    其中,
    Figure PCTCN2020100737-appb-100036
    为第k+j个视频块F k+j的吞吐量预测值,所述
    Figure PCTCN2020100737-appb-100037
    为第k+i个视频块F k+i的吞吐量预测值。
  17. 如权利按要求13所述的电子设备,所述处理器具体被配置为执行:
    根据所述视频块F k至视频块F k+N-1中每个视频块的吞吐量预测值以及所述抵消参数ξ(k),如下预设的缓存量递归式,以及所述视频块F k的码率r(k)、视频块F k至第k+j-1个视频块F k+j-1中每个视频块的吞吐量预测值,确定视频块F k至视频块F k+N-1中任一视频块F k+j-1下载结束时视频块的缓存量预测值
    Figure PCTCN2020100737-appb-100038
    缓存量递归式:
    Figure PCTCN2020100737-appb-100039
    Figure PCTCN2020100737-appb-100040
    其中,所述i为[1,M-j]中的正整数,所述j为[1,N]中的正整数,所述M为大于1小于k的正整数,
    Figure PCTCN2020100737-appb-100041
    为第k+i-1个视频块F k+i-1的吞吐量预测值,所述L为第k+i-1个视频块F k+i-1的视频块时长。
  18. 如权利按要求13所述的电子设备,所述处理器具体被配置为执行:
    将所述请求相邻视频块间的码率变化量的加权值,以及所述视频块F k至视频块F k+N-1中每个视频块下载结束时的缓存量预测值及预设的缓存量目标值的缓存预测误差输入如下公式,计算得到所述视频播放损失值:
    Figure PCTCN2020100737-appb-100042
    其中,J为视频播放质量损失值,所述j为[1,N]中的正整数,
    Figure PCTCN2020100737-appb-100043
    为第k+j-1个视频块F k+j-1下载结束时视频块的缓存量预测值,b r(k+j)为视频块F k+j-1下载结束时视频块的缓存量目标值,
    Figure PCTCN2020100737-appb-100044
    为视频块F k+j-1的缓存量预测值和缓存量目标值的缓存预测误差,r(k)和r(k-1)分别为视频块F k和第k-1个视频块F k-1的码率,λ为切换码率的惩罚因子。
  19. 一种计算机可存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如权利要求1~6中任一项所述的视频码率确定方法。
PCT/CN2020/100737 2019-07-24 2020-07-07 一种视频码率确定方法、装置、电子设备及存储介质 Ceased WO2021012946A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP20844386.1A EP4007285A4 (en) 2019-07-24 2020-07-07 METHOD AND APPARATUS FOR DETERMINING VIDEO BIT RATE, ELECTRONIC DEVICE AND STORAGE MEDIA
US17/570,137 US11425394B2 (en) 2019-07-24 2022-01-06 Method and apparatus for determining video bit rate, and electronic device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201910672469.2A CN110300315B (zh) 2019-07-24 2019-07-24 一种视频码率确定方法、装置、电子设备及存储介质
CN201910672469.2 2019-07-24

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/570,137 Continuation US11425394B2 (en) 2019-07-24 2022-01-06 Method and apparatus for determining video bit rate, and electronic device

Publications (1)

Publication Number Publication Date
WO2021012946A1 true WO2021012946A1 (zh) 2021-01-28

Family

ID=68031812

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/100737 Ceased WO2021012946A1 (zh) 2019-07-24 2020-07-07 一种视频码率确定方法、装置、电子设备及存储介质

Country Status (4)

Country Link
US (1) US11425394B2 (zh)
EP (1) EP4007285A4 (zh)
CN (1) CN110300315B (zh)
WO (1) WO2021012946A1 (zh)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110300315B (zh) 2019-07-24 2021-08-13 北京达佳互联信息技术有限公司 一种视频码率确定方法、装置、电子设备及存储介质
CN110996038B (zh) * 2019-11-19 2020-11-10 清华大学 一种面向多人互动直播的自适应码率调节方法
CN111031347A (zh) * 2019-11-29 2020-04-17 广州市百果园信息技术有限公司 一种视频处理的方法及装置、电子设备、存储介质
CN111263225A (zh) * 2020-01-08 2020-06-09 恒安嘉新(北京)科技股份公司 视频卡顿预测方法、装置、计算机设备及存储介质
CN111277870B (zh) * 2020-03-05 2022-09-30 广州市百果园信息技术有限公司 带宽预测方法、装置、服务器及存储介质
CN111447448B (zh) * 2020-04-13 2022-02-01 武汉理工大学 一种基于用户体验与终端能耗的dash视频码率选择方法
CN111862995A (zh) * 2020-06-22 2020-10-30 北京达佳互联信息技术有限公司 一种码率确定模型训练方法、码率确定方法及装置
CN111669627B (zh) * 2020-06-30 2022-02-15 广州市百果园信息技术有限公司 一种视频码率的确定方法、装置、服务器和存储介质
CN112637631B (zh) * 2020-12-17 2022-04-26 清华大学 码率确定方法、装置、电子设备和存储介质
CN112752117B (zh) * 2020-12-30 2023-03-28 百果园技术(新加坡)有限公司 一种视频缓存方法、装置、设备及存储介质
CN113038187B (zh) * 2021-02-28 2022-04-08 中南大学 视频体验质量公平的实用网络带宽分配方法、设备及介质
CN116132717B (zh) * 2021-11-12 2025-10-03 中兴通讯股份有限公司 入向码流码率获取方法、收流处理方法、电子设备、介质
CN114979660B (zh) * 2021-12-16 2025-12-30 北方信息控制研究院集团有限公司 面向可伸缩编码视频的码率联合决策方法
CN114630150A (zh) * 2022-02-17 2022-06-14 儒安物联科技集团有限公司 一种适应用户多样性的视频流abr算法
WO2023181205A1 (en) * 2022-03-23 2023-09-28 Nippon Telegraph And Telephone Corporation Video player, video playback method, and program
CN114900732B (zh) * 2022-04-25 2024-01-12 北京奇艺世纪科技有限公司 视频缓存方法、装置、电子设备及存储介质
CN116112740B (zh) * 2023-01-19 2024-10-01 深圳大学 一种视频播放方法、装置、电子设备及存储介质
CN116366885B (zh) * 2023-02-20 2025-09-30 北京达佳互联信息技术有限公司 多媒体资源的码率确定方法、装置、电子设备及存储介质
WO2024261800A1 (ja) * 2023-06-19 2024-12-26 富士通株式会社 制御装置、無線通信システム、制御方法
CN118524217B (zh) * 2024-07-22 2024-12-03 宁波康达凯能医疗科技有限公司 一种基于李雅普诺夫稳定性的帧间图像码率控制方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160234078A1 (en) * 2015-02-11 2016-08-11 At&T Intellectual Property I, Lp Method and system for managing service quality according to network status predictions
CN106453270A (zh) * 2016-09-20 2017-02-22 天津大学 基于pi控制流媒体的自适应传输算法
CN107613330A (zh) * 2017-10-20 2018-01-19 清华大学 一种视频码率自适应方法
CN109218781A (zh) * 2017-07-07 2019-01-15 华为软件技术有限公司 视频码率控制方法和装置
CN110300315A (zh) * 2019-07-24 2019-10-01 北京达佳互联信息技术有限公司 一种视频码率确定方法、装置、电子设备及存储介质

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6310857B1 (en) * 1997-06-16 2001-10-30 At&T Corp. Method and apparatus for smoothing and multiplexing video data flows
CN1557072A (zh) * 2001-09-21 2004-12-22 ���˹���Ѷ��� 使用缓冲器大小计算用于拥塞控制的传输速率的数据通信方法和系统
FR2863130A1 (fr) * 2003-12-01 2005-06-03 Thomson Licensing Sa Dispositif et procede de preparation de donnees d'emission et produits correspondants
JP4643330B2 (ja) * 2005-03-28 2011-03-02 ソニー株式会社 通信処理装置、データ通信システム、および通信処理方法、並びにコンピュータ・プログラム
JP4730427B2 (ja) * 2008-11-21 2011-07-20 ソニー株式会社 通信処理装置、データ通信システム、および通信処理方法、並びにコンピュータ・プログラム
US8494075B2 (en) * 2010-08-26 2013-07-23 Qualcomm Incorporated Single stream phase tracking during channel estimation in a very high throughput wireless MIMO communication system
US20140282792A1 (en) * 2013-03-15 2014-09-18 Cygnus Broadband, Inc. Video streaming with buffer occupancy prediction based quality adaptation
WO2015148965A2 (en) * 2014-03-28 2015-10-01 Weigel Broadcasting Co. Channel bonding
CN107079179B (zh) * 2014-10-20 2019-10-18 瑞典爱立信有限公司 用于处理控制与视频流传输服务的视频数据相关的数据传送的过程的网络节点和方法
US10271112B2 (en) * 2015-03-26 2019-04-23 Carnegie Mellon University System and method for dynamic adaptive video streaming using model predictive control
CN105830415B (zh) * 2015-06-03 2017-07-04 瑞典爱立信有限公司 用于管理媒体流的方法、无线通信设备和基站设备
JP2017069849A (ja) * 2015-09-30 2017-04-06 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 映像制御装置、映像配信システムおよび映像制御方法
US10771833B2 (en) * 2016-05-31 2020-09-08 The Trustees Of Princeton University System and method for improving streaming video via better buffer management
EP3520420B1 (en) * 2016-09-30 2022-11-02 British Telecommunications public limited company Viewer importance adaptive bit rate delivery
KR101837637B1 (ko) * 2016-12-08 2018-03-13 서울대학교산학협력단 클라이언트 측 ack 조정 기반 적응 스트리밍 방법 및 장치
US10348796B2 (en) * 2016-12-09 2019-07-09 At&T Intellectual Property I, L.P. Adaptive video streaming over preference-aware multipath
WO2019211237A1 (en) * 2018-04-30 2019-11-07 Dolby International Ab Methods and systems for streaming media data over a content delivery network

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160234078A1 (en) * 2015-02-11 2016-08-11 At&T Intellectual Property I, Lp Method and system for managing service quality according to network status predictions
CN106453270A (zh) * 2016-09-20 2017-02-22 天津大学 基于pi控制流媒体的自适应传输算法
CN109218781A (zh) * 2017-07-07 2019-01-15 华为软件技术有限公司 视频码率控制方法和装置
CN107613330A (zh) * 2017-10-20 2018-01-19 清华大学 一种视频码率自适应方法
CN110300315A (zh) * 2019-07-24 2019-10-01 北京达佳互联信息技术有限公司 一种视频码率确定方法、装置、电子设备及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP4007285A4 *

Also Published As

Publication number Publication date
CN110300315B (zh) 2021-08-13
US11425394B2 (en) 2022-08-23
EP4007285A4 (en) 2022-09-28
EP4007285A1 (en) 2022-06-01
US20220132139A1 (en) 2022-04-28
CN110300315A (zh) 2019-10-01

Similar Documents

Publication Publication Date Title
US11425394B2 (en) Method and apparatus for determining video bit rate, and electronic device
CN110430440B (zh) 视频传输方法、系统、计算机设备和存储介质
CN111405327B (zh) 网络带宽预测模型训练方法、视频数据播放方法及装置
JP6271445B2 (ja) 要求取消し機能を備えた改良されたdashクライアントおよび受信機
CN115022684B (zh) 一种quic协议下基于深度强化学习的视频流自适应传输方法
CN106028085B (zh) 基于dash的多客户端码率自适应及震荡补偿方法
CN107613330A (zh) 一种视频码率自适应方法
CN104822068A (zh) 流媒体代理缓存替换方法及装置
Akhtar et al. Avic: a cache for adaptive bitrate video
CN116962414A (zh) 一种基于无服务器计算的自适应视频流传输方法及系统
CN114040257A (zh) 一种自适应视频流传输播放方法、装置、设备及存储介质
CN115484314B (zh) 一种移动边缘计算网络下推荐赋能的边缘缓存优化方法
US20230231810A1 (en) System and method for adapting transmission rate computation by a content transmitter
DK2941857T3 (en) SITE BASED SERVER SELECTION
CN115988267B (zh) 一种基于dash的视频码率自适应调整方法及系统
CN114885208B (zh) Ndn网络下可伸缩流媒体传输的动态自适应方法、设备及介质
Noh et al. Congestion‐aware HTTP adaptive streaming system over SDN‐enabled Wi‐Fi network
Meint et al. From FIFO to predictive cache replacement
Marquez et al. An intelligent technique for controlling web prefetching costs at the server side
Yang et al. Deep reinforcement learning-based distributed collaborative service caching in edge computing
US12556778B2 (en) Video player, video playback method, and program
Wang et al. Improving robustness of dash against network uncertainty
CN115632948B (zh) 应用于网卡的中断调控方法、装置、存储介质及电子设备
Saleem et al. Performance Evaluation of Dynamic, BOLA and Throughput-Based ABR Algorithms
Biernacki Enhancing Quality of DASH Video with LSTM Throughput Prediction

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20844386

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2020844386

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2020844386

Country of ref document: EP

Effective date: 20220224