DASH video code rate selection method based on user experience and terminal energy consumption

文档序号:1357228 发布日期:2020-07-24 浏览:36次 中文

阅读说明:本技术 一种基于用户体验与终端能耗的dash视频码率选择方法 (DASH video code rate selection method based on user experience and terminal energy consumption ) 是由 刘伟 余希晨 杜薇 于 2020-04-13 设计创作,主要内容包括:本发明提出了一种基于用户体验与终端能耗的DASH视频码率选择方法。将DASH客户端部署于移动终端。首先根据移动终端实时位置,选择距离移动终端最近的服务器连接。然后通过下载完成的DASH视频片段的相关信息,预测将要下载的DASH视频片段的下载时间内平均网络带宽。之后根据将要下载的DASH视频片段的下载时间,计算将要下载的DASH视频片段的总能耗。随后构建用户观看DASH视频的QoE模型。接着构建视频缓冲区队列、能耗队列。随后依次构建将要下载DASH视频片段的李雅普诺夫模型、李雅普诺夫漂移模型、李雅普诺夫漂移加惩罚模型。最后通过将要下载的DASH视频片段的李雅普诺夫漂移加惩罚模型得出优化目标,并根据优化目标求解出当前时间片应选择的DASH视频码率。(The invention provides a DASH video code rate selection method based on user experience and terminal energy consumption. Deploying a DASH client to a mobile terminal. Firstly, according to the real-time position of the mobile terminal, selecting the server closest to the mobile terminal to connect. The average network bandwidth over the download time of the DASH video segment to be downloaded is then predicted from the information about the downloaded DASH video segment. Then, the total energy consumption of the DASH video segments to be downloaded is calculated according to the download time of the DASH video segments to be downloaded. A QoE model of the user viewing DASH video is then constructed. And then constructing a video buffer area queue and an energy consumption queue. And then sequentially constructing a Lyapunov model, a Lyapunov drift model and a Lyapunov drift and penalty model for downloading the DASH video segment. And finally, obtaining an optimization target through a Lyapunov drift and penalty model of the DASH video segment to be downloaded, and solving the DASH video code rate which should be selected by the current time slice according to the optimization target.)

1. A DASH video code rate selection method based on user experience and terminal energy consumption is characterized by comprising the following steps:

step 1: deploying a DASH client at a mobile terminal, judging the coverage area of a server where the mobile terminal is located according to the real-time position of the mobile terminal, calculating the connection distance between the mobile terminal and each server if the mobile terminal is in the overlapping area of the coverage areas of a plurality of servers, and selecting the server closest to the mobile terminal as the edge server corresponding to the mobile terminal;

step 2: respectively defining DASH video segments to be downloaded, DASH video segments finished downloading and reference DASH video segments, sequentially calculating downloading time of the DASH video segments finished downloading, downloading time of the reference DASH video segments, average network bandwidth in the downloading time of the reference DASH video segments, average network bandwidth gradient in the downloading time of the reference DASH video segments, bandwidth change rate in the downloading time of the DASH video segments finished downloading, and reference value of the average network bandwidth in the downloading time of the DASH video segments to be downloaded, predicting the average network bandwidth in the downloading time of the DASH video segments to be downloaded according to the average network bandwidth in the downloading time of the DASH video segments finished downloading, and calculating the downloading time of the DASH video segments to be downloaded according to the predicted average network bandwidth in the downloading time of the DASH video segments to be downloaded;

and step 3: according to the downloading time of the DASH video segments to be downloaded, sequentially calculating the downloading energy consumption of a CPU (central processing unit) in the downloading time of the DASH video segments to be downloaded, the utilization rate of the CPU of the DASH video segments to be downloaded in the process of processing DASH video downloading decoding work, and the energy consumption of the CPU of the DASH video segments to be downloaded in the process of downloading DASH videos, further constructing the total CPU energy consumption of the DASH video segments to be downloaded, calculating the energy consumption of a network interface of the DASH video segments to be downloaded, and constructing the total energy consumption of the DASH video segments to be downloaded;

and 4, step 4: calculating the average code rate of downloading the DASH video segments, the average switching amplitude of the DASH video code rates of downloading the DASH video segments and the pause time for playing the DASH video segments in sequence, and further constructing a QoE (quality of experience) model for a user to watch the DASH video;

and 5: constructing a video buffer queue according to the duration of the DASH video segments which are downloaded in the video buffer of the mobile terminal, predicting the video buffer queue at the downloading end moment of the DASH video segments to be downloaded through the video buffer queue of the DASH video segments which are downloaded, constructing an energy consumption queue according to the total energy consumption of the DASH video segments which are downloaded by the mobile terminal, and predicting the energy consumption queue at the downloading end moment of the DASH video segments to be downloaded through the total energy consumption of the DASH video segments to be downloaded and the total energy consumption of the DASH video segments which are downloaded;

step 6: constructing a Lyapunov model of the DASH video segments to be downloaded according to a video buffer queue predicting the moment when the DASH video segments to be downloaded start downloading and an energy consumption queue predicting the moment when the DASH video segments to be downloaded end downloading, constructing a Lyapunov drift model of the DASH video segment to be downloaded according to the Lyapunov model of the DASH video segment to be downloaded and the Lyapunov model of the DASH video segment to be downloaded, constructing a Lyapunov drift and penalty model of the DASH video segment to be downloaded according to a Lyapunov drift model of the DASH video segment to be downloaded and a QoE model of the DASH video watched by a user, and obtaining an optimization target by adding a penalty model to the Lyapunov drift of the DASH video segment to be downloaded, and solving the DASH video code rate which should be selected by the current time slice according to the optimization target.

2. The method of claim 1, wherein the DASH video bitrate selection method based on user experience and terminal energy consumption is as follows:

step 1, a DASH client on the mobile terminal is used for downloading a plurality of continuous DASH video segments;

step 1, judging the coverage area of a server where the mobile terminal is located according to the real-time position of the mobile terminal:

the mobile terminal downloads a common U-server in the DASH video area, the coverage area of each server is circular, and the radius of each server is ruDefining the coordinates of the u-th server as (x)u,yu),u∈[1,U];

Step 1, calculating the connection distance between the mobile terminal and each server:

defining the coordinates of the current position of the mobile terminal as (x, y), defining duDistance of mobile terminal to Uth server, duThe specific calculation method is as follows:

the step 1 of selecting the server closest to the mobile terminal as the edge server corresponding to the mobile terminal is as follows:

selection of d1,d2,...,dUThe minimum value is used as an edge server corresponding to the mobile terminal;

the edge server is used for connecting the mobile terminal and downloading DASH video segments;

preferably, the DASH video segment to be downloaded is defined in step 2 as:

the nth DASH video segment is defined as a DASH video segment to be downloaded;

step 2, defining downloaded DASH video segments as follows:

the 1 st to n-1 st DASH video segments are downloading-completed DASH video segments, and the time when the downloading of the first DASH video segment is started is t0

3. The method of claim 1, wherein the DASH video bitrate selection method based on user experience and terminal energy consumption is as follows:

step 2, defining reference DASH video segments as:

selecting a plurality of continuous DASH video segments as reference DASH video segments for estimating bandwidth from a 1 st DASH video segment to an n-1 st DASH video segment, wherein the number of the continuous DASH video segments is m, and specifically from the n-1 st DASH video segment to the n-1 st DASH video segment;

step 2, calculating the download time of the downloaded DASH video segment as follows:

Tn-1=tn-1-tn-2

n∈{2,3,...,N}

wherein, Tn-1Download time, t, for n-1 DASH video segmentn-2For the moment when the download of the n-1 DASH video segment starts, tn-2For the moment of end of download of the n-2 DASH video segment, tn-1For the moment of end of download of the n-1 st DASH video segment, tn-1The moment when the nth DASH video segment starts to be downloaded, wherein N is the number of the DASH video segments;

downloading multiple consecutive DASH video segments via a DASH client on a mobile terminal without interruption, so tnThe moment when the n-th DASH video segment ends downloading, and the moment when the n + 1-th DASH video segment starts downloading;

step 2, calculating the downloading time of the reference DASH video segment as follows:

Tsample=tn-1-tn-2-m

wherein, TsampleRepresenting the download time of reference DASH video segments, mainly comprising the n-1-m DASH video segmentsFrom the beginning to the end of the n-1 DASH video segment download, tn-1For the moment when the download of the nth DASH video segment starts, tn-2-mFor the moment the download of the n-1-m DASH video segments begins,

step 2, calculating an average network bandwidth in the reference DASH video segment download time:

wherein the content of the first and second substances,represents the average network bandwidth over the time of downloading the reference DASH video segments,represents the average network bandwidth to download the DASH video segments outside the current edge server when downloading the reference DASH video segments,represents an average network bandwidth for downloading the DASH video segment in the current edge server when downloading the reference DASH video segment, β represents a difference value between different edge servers;

step 2, calculating the average gradient of the network bandwidth in the downloading time of the reference DASH video segment as follows:

wherein the content of the first and second substances,represents an average gradient of network bandwidth over time during the download time of the reference DASH video segment;

step 2, calculating an average network bandwidth within the download time of the downloaded DASH video segment as follows:

wherein, bn-1Average network tape, s, over download time for downloading n-1 DASH video segmentsn-1For downloading size of n-1 DASH video segment, Tn-1Duration of download for n-1 DASH video segment;

step 2, calculating a bandwidth change rate in the downloading time of the downloaded DASH video segment:

wherein the content of the first and second substances,representing the rate of change of bandwidth over the duration of downloading the n-1 DASH video segment and downloading the n-2 DASH video segment, bn-1Average network band over download time for downloading n-1 DASH video segments, bn-2Average network band over download time for downloading n-2 DASH video segments, tn-1For the moment of end of download of the n-1 st DASH video segment, tn-2The moment when the download of the n-2 DASH video segment is finished;

step 2, calculating a reference value of the average network bandwidth within the downloading time of the DASH video segment predicted to be downloaded:

wherein, αn-1Representing a reference value of the average network bandwidth predicted over the n-1 DASH video segment download time over the average network bandwidth over the n-1 DASH video segment download time;

predicting the average network bandwidth within the duration of downloading the nth DASH video segment when the DASH client on the mobile terminal is at the starting moment of downloading the nth DASH video segment;

step 2, predicting the average network bandwidth within the download time of the DASH video segment to be downloaded according to the average network bandwidth within the download time of the DASH video segment that is downloaded:

predicting a predicted value of the average network bandwidth within the download time of the DASH video segment to be downloaded of the nth DASH video segment, i.e. ω, according to the average network bandwidth within the download time of the n-1 st DASH video segment, i.e. the downloaded DASH video segmentnThe specific calculation method is as follows:

ωn=(1-αn-1n-1n-1·bn-1

wherein, αn-1Means for predicting a reference value, ω, of average network bandwidth over download time of n-1 DASH video segmentn-1An estimate representing the average network bandwidth over the download time of the n-1 DASH video segment, bn-1Average network bandwidth within download time for downloading the n-1 st DASH video segment;

step 2, calculating the download time of the DASH video segment to be downloaded according to the predicted average network bandwidth within the download time of the DASH video segment to be downloaded, specifically:

Sn={s1,s2,s3,…,sX}

wherein, TnRepresenting download time, S, of nth DASH video segmentnThe selected DASH video code rate of the nth DASH video segment is the solution quantity to be optimized, the nth DASH video segment is the DASH video segment to be downloaded, the DASH video segment to be downloaded has X different code rates which are selected as s1,s2,s3,…,sX

4. The method of claim 1, wherein the DASH video bitrate selection method based on user experience and terminal energy consumption is as follows:

step 3, calculating the CPU download energy consumption in the download time of the DASH video segment to be downloaded as follows:

calculating the CPU downloading energy consumption in the downloading time of the nth DASH video segment, wherein the specific formula is as follows:

wherein the content of the first and second substances,for CPU download energy consumption, k, in download time of nth DASH video segment1As energy consumption related factor, b1As coefficient of energy consumption offset, TnThe download time of the nth DASH video segment, where N is the number of DASH video segments;

step 3, the utilization rate of the CPU of the DASH video segment to be downloaded when processing the DASH video download decoding job is:

the utilization rate of the CPU in the download time of the nth DASH video segment when processing the DASH video download decoding work is specifically represented by the following formula:

wherein the content of the first and second substances,is the utilization rate, k, of CPU in the download time of the nth DASH video segment in processing DASH video download decoding work2To use the rate-related coefficient, b2To use the rate-shift factor, TnThe download time of the nth DASH video segment, where N is the number of DASH video segments;

step 3, the energy consumption of the CPU of the DASH video segment to be downloaded to process other tasks when downloading the DASH video is as follows:

the energy consumption of the CPU in the download time of the nth DASH video segment to process other tasks when downloading the DASH video is specifically expressed as:

wherein the content of the first and second substances,energy consumption, k, for CPU in download time of nth DASH video segment to process other tasks in downloading DASH video3Energy consumption related coefficient for other tasks, b3Energy consumption offset factor, p, for other taskscpuIn order to be the total utilization of the CPU,the utilization rate of the CPU in the download time of the nth DASH video segment during the DASH video download decoding processing is shown, wherein N is the number of the DASH video segments;

the total CPU energy consumption for constructing DASH video segments to be downloaded in step 3 is:

step 3, total energy consumption of the CPU in the downloading time for downloading the nth DASH video segment is specifically represented by the following formula:

wherein the content of the first and second substances,the total energy consumption of the CPU in the downloading time of the nth DASH video segments is downloaded, kappa is the basic energy consumption of the CPU operation, and N is the number of the DASH video segments;

step 3, calculating the energy consumption of the network interface of the DASH video segment to be downloaded as follows:

the energy consumption of the network interface during the download time of the nth DASH video segment is calculated as follows:

wherein the content of the first and second substances,the energy consumption of the network interface in the downloading time of the nth DASH video segment is shown as theta, the correlation coefficient of the energy consumption of the network interface and the time is shown as mu, the correlation index of the energy consumption of the network interface and the time is shown as mu, the theta and the mu are constants, and N is the number of the DASH video segments;

the total energy consumption for constructing the DASH video segment to be downloaded in step 3 is:

the total energy consumption in download time of the nth DASH video segment is calculated as follows:

wherein the content of the first and second substances,representing the total energy consumption in the download time of the nth DASH video segment,total energy consumption of CPU during download time to download nth DASH video segment,the energy consumption of the network interface during the download time of the nth DASH video segment, where N is the number of DASH video segments.

5. The method of claim 1, wherein the DASH video bitrate selection method based on user experience and terminal energy consumption is as follows:

step 4, the average code rate for downloading the DASH video is:

wherein R isaveRepresenting average bitrate, R, of downloading DASH video segmentskRepresenting the bitrate of downloading the kth DASH video segment, n representing the total number of currently downloaded DASH video segments, and R1,R2…Rn-1Code rate, R, of DASH video segments that are both completed for downloadnTo establish the bitrate of DASH video segments to be downloaded, N is the number of DASH video segments;

step 4, the average switching amplitude of the DASH video code rate for downloading the DASH video segments is as follows:

wherein A isaveAverage switching amplitude, R, of DASH video code rate representing download of DASH video segmentsk-1Representing the code rate for downloading the k-1 DASH video segments, wherein N is the number of the DASH video segments;

step 4, the pause time for playing the DASH video segment is:

wherein, TrebufferRepresenting the pause time of playing a DASH video segment,indicating the duration of DASH video in the video buffer at the start of downloading the kth DASH video segment, TkRepresents the download time of the kth DASH video segment, and T1,T2…Tn-1Download time, T, of DASH video segments that are both completed for downloadnThe download time for downloading DASH video segments to be downloaded is calculated by step 2, tk-1Indicating the moment when the kth DASH video segment downloading starts, wherein N is the number of DASH video segments;

step 4, constructing a QoE model of the DASH video watched by the user is as follows:

pQoE=Rave-γ·Aave-·Trebuffer

wherein p isQoERepresenting the viewing experience of the user, RaveRepresenting the average bitrate of downloading DASH video segments, AaveRepresenting average switching amplitude of DASH video code rate for downloading DASH video segments, gamma representing sensitivity degree of user to switching amplitude of DASH video code rate when watching DASH video, and TrebufferIndicating the pause time for playing a DASH video segment, indicating how sensitive the user is to playing the DASH video while watching it.

6. The method of claim 1, wherein the DASH video bitrate selection method based on user experience and terminal energy consumption is as follows:

step 5, constructing a video buffer queue according to the duration of the downloaded DASH video segments in the video buffer of the mobile terminal:

the DASH video segments downloaded by the mobile terminal are played in the video buffer area, the playing is blocked when no DASH video exists in the buffer area, and at the moment of finishing downloading the n-1 DASH video segments, a video buffer queue is constructed according to the duration of the DASH video segments in the video buffer area

Step 5, predicting a video buffer queue at the moment when the download of the DASH video segment to be downloaded is finished by the video buffer queue of the downloaded DASH video segment:

the video buffer queue when the nth DASH video segment is completely downloaded is calculated as follows:

whereinA value representing the video buffer queue at the completion of the nth DASH video segment download,indicating a value of a video buffer queue at a moment when the downloading of the nth DASH video segment is finished, wherein the nth DASH video segment is a DASH video segment to be downloaded, the nth DASH video segment is a downloaded DASH video segment, ξ indicates a round-trip time requested by the mobile terminal, τ indicates a duration of a single DASH video segment, and N is the number of DASH video segments;

step 5, constructing an energy consumption queue according to the total energy consumption of the DASH video segments downloaded by the mobile terminal:

to better control the energy consumption for downloading DASH video, at the moment when the downloading of the (n-1) th DASH video segment is finished, the total energy consumption of the downloaded DASH video segment is constructed into an energy consumption queue

Step 5, predicting an energy consumption queue at the end of downloading the DASH video segments to be downloaded according to the total energy consumption of the DASH video segments to be downloaded and the total energy consumption of the DASH video segments completed by downloading:

the energy consumption queue at the moment when the nth DASH video segment ends is calculated as follows:

wherein the content of the first and second substances,the value of the energy consumption queue at the moment when the download of the nth DASH video segment ends,for the n-1 DASH video segmentThe value of the energy consumption queue at the moment of the end of the download,representing the total energy consumption, ζ, over the download time of the nth DASH video segmentaveIs the energy consumption limit per unit time, TnThe download time of the nth DASH video segment, N is the number of DASH video segments.

7. The method of claim 1, wherein the DASH video bitrate selection method based on user experience and terminal energy consumption is as follows:

step 6, constructing a lyapunov model of the DASH video segment to be downloaded according to the video buffer queue predicting the moment when the DASH video segment to be downloaded is downloaded and the energy consumption queue predicting the moment when the DASH video segment to be downloaded is downloaded, wherein the lyapunov model comprises the following steps:

the specific formula of the lyapunov model at the downloading end time of the nth DASH video segment is as follows:

wherein, LnA lyapunov model representing the moment of the end of the download of the nth DASH video segment,a value representing a video buffer queue at the end of the download of the nth DASH video segment,a value representing an energy consumption queue at the end of downloading of an nth DASH video segment, where the nth DASH video segment is a DASH video segment to be downloaded, and N is the number of DASH video segments;

step 6, constructing a lyapunov drift model of the DASH video segment to be downloaded according to the lyapunov model of the DASH video segment to be downloaded and the lyapunov model of the DASH video segment to be downloaded:

the lyapunov drift model at the end of the download of the nth DASH video segment is calculated as follows:

Δn=Ln-Ln-1

n∈{1,2,...,N}

wherein, DeltanLyapunov drift model representing the end of download of the nth DASH video segment, LnLyapunov model at the end of the download of the nth DASH video segment, Ln-1The model is Lyapunov model at the downloading end time of the N-1 DASH video segment, the N-1 DASH video segment is a DASH video segment after downloading is completed, and N is the number of the DASH video segments;

step 6, constructing a lyapunov drift and penalty model of the DASH video segment to be downloaded according to the lyapunov drift model of the DASH video segment to be downloaded and the QoE model of the DASH video watched by the user:

the calculation method of the lyapunov drift plus penalty model at the downloading end time of the nth DASH video segment is as follows:

wherein, DPPnA Lyapunov drift plus penalty model representing the end of download of the nth DASH video segment, V being a penalty factor, pQoERepresenting the viewing experience of the user, ΔnLyapunov Drift model, T, representing the end of download of the nth DASH video segmentnRepresenting the download time of the nth DASH video segment, where N is the number of DASH video segments;

step 6, an optimization objective is obtained through the lyapunov drift and penalty model of the DASH video segment to be downloaded:

there is an upper limit to the lyapunov drift plus penalty model value at the end of the download of the nth DASH video segment, satisfying the following constraints:

wherein, DPPnRepresents the lyapunov drift plus penalty model at the end of the download of the nth DASH video segment, χ being a constant,a value representing the video buffer queue at the moment the download of the n-1 st DASH video segment ends,the value of the energy consumption queue at the moment when the download of the n-1 st DASH video segment ends,representing the total energy consumption, ζ, over the download time of the nth DASH video segmentaveξ denotes the round trip time requested by the mobile terminal, τ denotes the duration of a single DASH video segment, T is the energy consumption limit per unit timenThe download time of the nth DASH video segment, V is a penalty factor, and N is the number of DASH video segments;

defining the upper limit of the Lyapunov drift and penalty model as an optimization target, wherein the specific formula is as follows:

wherein G isnMaximum of the values representing the Lyapunov drift plus penalty model at the end of the download of the nth DASH video segment, also the optimization goal, TnThe download time of the nth DASH video segment, where N is the number of DASH video segments;

the appropriate bitrate needs to be selected for the DASH video segment to be downloaded such that:

where min represents the minimization and N is the number of DASH video segments;

step 6, solving the DASH video code rate that should be selected by the current time slice according to the optimization target:

optimizing total energy consumption in download time of nth DASH video segment in targetThe expression formula of (a) is:

where κ is the basic energy consumption of CPU operation, k1Downloading the correlation coefficient of energy consumption for the CPU, b1Offset coefficient of CPU download energy consumption, k, for download time of nth DASH video segment2Coefficient of relevance of CPU utilization in processing DASH video download decoding work, b2Offset coefficient, k, for CPU utilization in processing DASH video download decoding jobs3Energy consumption related coefficient for other tasks, b3Energy consumption offset factor, p, for other taskscpuIn terms of the total utilization rate of the CPU, theta is the correlation coefficient of the energy consumption of the network interface and the time, mu is the correlation index of the energy consumption of the network interface and the time, theta and mu are constants, TnThe download time of the nth DASH video segment, where N is the number of DASH video segments;

the download time satisfies the following equation:

Sn={s1,s2,s3,…,sX}

wherein, TnFor nth DASH video segmentDownload time, SnThe selected DASH video code rate of the nth DASH video segment is the solution quantity to be optimized, the nth DASH video segment is the DASH video segment to be downloaded, the DASH video segment to be downloaded has X different code rates which are selected as s1,s2,s3,…,sX,ωnAn estimated value of an average network bandwidth in a downloading time of a DASH video segment to be downloaded of the nth DASH video segment is obtained, wherein N is the number of the DASH video segments;

the expression for the user's viewing experience in the optimization objective is:

wherein p isQoEFor the user's viewing experience, RkRepresenting the Rate, R, of downloading the kth DASH video segmentk-1Representing the bitrate of downloading the k-1 DASH video segments, n representing the total number of currently downloaded DASH video segments, and R1,R2…Rn-1Code rate, R, of DASH video segments that are both completed for downloadnTo establish the bitrate of the DASH video segment to be downloaded,indicating the duration of DASH video in the video buffer at the start of downloading the kth DASH video segment, TkRepresents the download time of the kth DASH video segment, and T1,T2…Tn-1Download time, T, of DASH video segments that are both completed for downloadnDownload time, t, for a downloaded DASH video segment to be downloadedk-1Representing the downloading starting moment of the kth DASH video segment, γ representing the sensitivity of the user to the DASH video rate switching amplitude when watching DASH video, and representing the sensitivity of the user to playing pause when watching DASH video, N being the number of DASH video segments, and when k is equal to N, the following formula is satisfied:

Rk=Rn=Sn

n∈{1,2,...,N}

Sn={s1,s2,s3,…,sX}

wherein S isnThe selected DASH video code rate of the nth DASH video segment is the solution quantity to be optimized, the nth DASH video segment is the DASH video segment to be downloaded, the DASH video segment to be downloaded has X different code rates which are selected as s1,s2,s3,…,sX,RkRepresenting the rate at which the kth DASH video segment is downloaded, and R1,R2…Rn-1Code rate, R, of DASH video segments that are both completed for downloadnTo establish the bitrate of DASH video segments to be downloaded, N is the number of DASH video segments;

substituting different code rates into an expression of an optimization target, which is specifically as follows:

{g1,g2,...,gX}

n∈{1,2,...,N}

wherein, g1,g2,g3,…,RXIs s is1,s2,s3,…,sXSubstitution into GnCorresponding values found by the expression, N being the number of DASH video segments, from R1,g2,g3,…,gXAnd selecting a minimum value, wherein the DASH video code rate corresponding to the minimum value is the code rate of a DASH video segment to be downloaded, and the selection of the code rate can not only enable a user to have better watching experience, but also avoid the condition that the electric quantity of the mobile terminal is exhausted in advance.

Technical Field

The invention belongs to the field of mobile edge calculation, and particularly relates to a DASH video code rate selection method based on user experience and terminal energy consumption.

Background

DASH (dynamic adaptive Streaming over HTTP) is an adaptive bit rate Streaming technology based on HTTP, which is mainly applied to Streaming media transmission, and by using the technology, a high-quality DASH video stream can be stably transmitted over the internet through an HTTP protocol. Currently, many DASH video playing websites use DASH as a default method for transmitting and playing video streams thereof, such as YouTube, youku, Tencent video, and the like. The DASH technology simply means that a complete video (such as a movie, a football game, etc.) is made into a plurality of different bit rates, then the video with each bit rate is divided into a series of shorter video segments to be stored on the HTTP server, and when the DASH client plays the video, the bit rate for playing the next video segment can be selected according to the current network condition and the video buffer of the client. Since DASH clients select the highest video bitrate that can be played (i.e., the video bitrate that can be smoothly played under the current network conditions) according to the actual network conditions, this technique can reduce the playing pause (video playing interruption due to no downloaded video in the video buffer) well.

In this year, 5G is beginning to be commercialized in China, and with the gradual popularization of 5G networks, the live broadcast industry will also come up with a new development opportunity, however, before the HTTP/2 version appears, the adaptive streaming technology is applied to live broadcast, and the like, and after the HTTP/2 protocol appears, the delay of network transmission can be effectively reduced due to the new characteristics of multiplexing, server-side pushing and the like, and by designing the DASH video rate selection strategy of DASH under HTTP/2, the DASH technology can be better applied to the field of live broadcast.

Meanwhile, mobile terminals have been developed rapidly in recent years, and from the beginning, the mobile terminals are only communication devices used for making calls and sending information, to small computers integrating communication, photographing, surfing and entertainment, so that smart phones are widely used by people, mobile data traffic is rapidly increased along with the fact that more and more mobile devices are connected to the internet, and according to statistics and prediction of Cisco vision, the annual composite annual growth rate of global mobile data traffic is 46% in five years from 2017 to 2022. And in which the traffic of the video stream is 66%. More and more users are now inclined to watch live broadcasts on portable mobile terminals, such as smartphones. However, although the smart phone has many advantages, since the smart phone has a small size, cannot carry a large-capacity battery, and cannot be charged in real time, when a user watches live broadcast through a mobile terminal, not only the network bandwidth but also the energy consumption for watching live broadcast need to be considered. How to guarantee that a user watches the video with a higher code rate under the limited power is a problem to be solved.

Mobile Edge Computing (MEC) has a basic idea of migrating a cloud Computing platform from inside a Mobile core network to the Edge of a Mobile access network. Mobile edge computing differs from cloud computing most significantly in that it provides a novel computing environment that provides information services to users at the edge of a terminal device. The edge server has the characteristics of proximity to users, low delay of service processing, low load of a backhaul link, mobility awareness of a user side and the like, and a new idea is provided for improving user experience. Due to the current traffic convenience, most people watch DASH videos by using mobile phones on the roads of work and travel, however, in the network environment of edge computing, users can continuously switch the edge server connected with the users in the process of continuous movement, so that the quality of the DASH videos watched by the users is poor. Therefore, it is a problem worthy of research how to predict the mobility of the user and complete the server switching in the overlapping area covered by the edge server, so as to improve the DASH video bitrate watched by the user and reduce the pause time in the watching process.

Disclosure of Invention

In order to solve the problems, the invention provides a DASH video code rate selection method based on user experience and terminal energy consumption in mobile edge calculation, which effectively solves the problems of video blockage and low DASH video playing quality possibly generated in the moving process of a user and improves the watching experience of the user.

The technical scheme adopted by the invention for solving the technical problems is as follows: the invention provides a DASH video code rate selection method based on user experience and terminal energy consumption, which comprises the following steps:

step 1: deploying a DASH client at a mobile terminal, judging the coverage area of a server where the mobile terminal is located according to the real-time position of the mobile terminal, calculating the connection distance between the mobile terminal and each server if the mobile terminal is in the overlapping area of the coverage areas of a plurality of servers, and selecting the server closest to the mobile terminal as the edge server corresponding to the mobile terminal;

step 2: respectively defining DASH video segments to be downloaded, DASH video segments finished downloading and reference DASH video segments, sequentially calculating downloading time of the DASH video segments finished downloading, downloading time of the reference DASH video segments, average network bandwidth in the downloading time of the reference DASH video segments, average network bandwidth gradient in the downloading time of the reference DASH video segments, bandwidth change rate in the downloading time of the DASH video segments finished downloading, and reference value of the average network bandwidth in the downloading time of the DASH video segments to be downloaded, predicting the average network bandwidth in the downloading time of the DASH video segments to be downloaded according to the average network bandwidth in the downloading time of the DASH video segments finished downloading, and calculating the downloading time of the DASH video segments to be downloaded according to the predicted average network bandwidth in the downloading time of the DASH video segments to be downloaded;

and step 3: according to the downloading time of the DASH video segments to be downloaded, sequentially calculating the downloading energy consumption of a CPU (central processing unit) in the downloading time of the DASH video segments to be downloaded, the utilization rate of the CPU of the DASH video segments to be downloaded in the process of processing DASH video downloading decoding work, and the energy consumption of the CPU of the DASH video segments to be downloaded in the process of downloading DASH videos, further constructing the total CPU energy consumption of the DASH video segments to be downloaded, calculating the energy consumption of a network interface of the DASH video segments to be downloaded, and constructing the total energy consumption of the DASH video segments to be downloaded;

and 4, step 4: calculating the average code rate of downloading the DASH video segments, the average switching amplitude of the DASH video code rates of downloading the DASH video segments and the pause time for playing the DASH video segments in sequence, and further constructing a QoE (quality of experience) model for a user to watch the DASH video;

and 5: constructing a video buffer queue according to the duration of the DASH video segments which are downloaded in the video buffer of the mobile terminal, predicting the video buffer queue at the downloading end moment of the DASH video segments to be downloaded through the video buffer queue of the DASH video segments which are downloaded, constructing an energy consumption queue according to the total energy consumption of the DASH video segments which are downloaded by the mobile terminal, and predicting the energy consumption queue at the downloading end moment of the DASH video segments to be downloaded through the total energy consumption of the DASH video segments to be downloaded and the total energy consumption of the DASH video segments which are downloaded;

step 6: constructing a Lyapunov model of the DASH video segments to be downloaded according to a video buffer queue predicting the moment when the DASH video segments to be downloaded start downloading and an energy consumption queue predicting the moment when the DASH video segments to be downloaded end downloading, constructing a Lyapunov drift model of the DASH video segment to be downloaded according to the Lyapunov model of the DASH video segment to be downloaded and the Lyapunov model of the DASH video segment to be downloaded, constructing a Lyapunov drift and penalty model of the DASH video segment to be downloaded according to a Lyapunov drift model of the DASH video segment to be downloaded and a QoE model of the DASH video watched by a user, obtaining an optimization target by adding a penalty model to Lyapunov drift of a DASH video segment to be downloaded, and solving the DASH video code rate which should be selected by the current time slice according to the optimization target;

preferably, the DASH client on the mobile terminal in step 1 is configured to download a plurality of consecutive DASH video segments;

step 1, judging the coverage area of a server where the mobile terminal is located according to the real-time position of the mobile terminal:

the mobile terminal downloads a common U-server in the DASH video area, the coverage area of each server is circular, and the radius of each server is ruDefining the coordinates of the u-th server as (x)u,yu),u∈[1,U]。

Step 1, calculating the connection distance between the mobile terminal and each server:

defining the coordinates of the current position of the mobile terminal as (x, y), defining duDistance of mobile terminal to Uth server, duThe specific calculation method is as follows:

the step 1 of selecting the server closest to the mobile terminal as the edge server corresponding to the mobile terminal is as follows:

selection of d1,d2,...,dUThe minimum value is used as an edge server corresponding to the mobile terminal;

the edge server is used for connecting the mobile terminal and downloading DASH video segments;

preferably, the DASH video segment to be downloaded is defined in step 2 as:

the nth DASH video segment is defined as a DASH video segment to be downloaded;

step 2, defining downloaded DASH video segments as follows:

the 1 st to n-1 st DASH video segments are downloading-completed DASH video segments, and the time when the downloading of the first DASH video segment is started is t0

Step 2, defining reference DASH video segments as:

selecting a plurality of continuous DASH video segments as reference DASH video segments for estimating bandwidth from a 1 st DASH video segment to an n-1 st DASH video segment, wherein the number of the continuous DASH video segments is m, and specifically from the n-1 st DASH video segment to the n-1 st DASH video segment;

step 2, calculating the download time of the downloaded DASH video segment as follows:

Tn-1=tn-1-tn-2

n∈{2,3,...,N}

wherein, Tn-1Download time, t, for n-1 DASH video segmentn-2For the moment when the download of the n-1 DASH video segment starts, tn-2For the moment of end of download of the n-2 DASH video segment, tn-1For the moment of end of download of the n-1 st DASH video segment, tn-1Started for nth DASH video segment downloadAt time, N is the number of DASH video segments;

downloading multiple consecutive DASH video segments via a DASH client on a mobile terminal without interruption, so tnThe moment when the n-th DASH video segment ends downloading, and the moment when the n + 1-th DASH video segment starts downloading;

step 2, calculating the downloading time of the reference DASH video segment as follows:

Tsample=tn-1-tn-2-m

wherein, TsampleRepresenting the downloading time of the reference DASH video segments, mainly comprising the downloading starting time of the (n-1-m) th DASH video segments to the downloading ending time of the (n-1) th DASH video segments, tn-1For the moment when the download of the nth DASH video segment starts, tn-2-mFor the moment when the n-1-m DASH video segment download starts, step 2 calculates the average network bandwidth in the reference DASH video segment download time:

wherein the content of the first and second substances,represents the average network bandwidth over the time of downloading the reference DASH video segments,represents the average network bandwidth to download the DASH video segments outside the current edge server when downloading the reference DASH video segments,represents an average network bandwidth for downloading the DASH video segment in the current edge server when downloading the reference DASH video segment, β represents a difference value between different edge servers;

step 2, calculating the average gradient of the network bandwidth in the downloading time of the reference DASH video segment as follows:

wherein the content of the first and second substances,represents an average gradient of network bandwidth over time during the download time of the reference DASH video segment;

step 2, calculating an average network bandwidth within the download time of the downloaded DASH video segment as follows:

wherein, bn-1Average network zone within download time for downloading n-1 DASH video segment Sn-1For downloading size of n-1 DASH video segment, Tn-1Duration of download for n-1 DASH video segment;

step 2, calculating a bandwidth change rate in the downloading time of the downloaded DASH video segment:

wherein the content of the first and second substances,representing the rate of change of bandwidth over the duration of downloading the n-1 DASH video segment and downloading the n-2 DASH video segment, bn-1Average network band over download time for downloading n-1 DASH video segments, bn-2Average network band over download time for downloading n-2 DASH video segments, tn-1For the moment of end of download of the n-1 st DASH video segment, tn-2The moment when the download of the n-2 DASH video segment is finished;

step 2, calculating a reference value of the average network bandwidth within the downloading time of the DASH video segment predicted to be downloaded:

αn-1∈[0,1]

wherein, αn-1Representing a reference value of the average network bandwidth predicted over the n-1 DASH video segment download time over the average network bandwidth over the n-1 DASH video segment download time;

predicting the average network bandwidth within the duration of downloading the nth DASH video segment when the DASH client on the mobile terminal is at the starting moment of downloading the nth DASH video segment;

step 2, predicting the average network bandwidth within the download time of the DASH video segment to be downloaded according to the average network bandwidth within the download time of the DASH video segment that is downloaded:

predicting a predicted value of the average network bandwidth within the download time of the DASH video segment to be downloaded of the nth DASH video segment, i.e. ω, according to the average network bandwidth within the download time of the n-1 st DASH video segment, i.e. the downloaded DASH video segmentnThe specific calculation method is as follows:

ωn=(1-αn-1n-1n-1·bn-1

wherein, αn-1Means for predicting a reference value, ω, of average network bandwidth over download time of n-1 DASH video segmentn-1An estimate representing the average network bandwidth over the download time of the n-1 DASH video segment, bn-1Average network bandwidth within download time for downloading the n-1 st DASH video segment;

step 2, calculating the download time of the DASH video segment to be downloaded according to the predicted average network bandwidth within the download time of the DASH video segment to be downloaded, specifically:

Sn={s1,s2,s3,…,sX}

wherein, TnRepresenting download time, S, of nth DASH video segmentnThe selected DASH video code rate of the nth DASH video segment is the solution quantity to be optimized, the nth DASH video segment is the DASH video segment to be downloaded, the DASH video segment to be downloaded has X different code rates which are selected as s1,s2,s3,…,sX

Preferably, the CPU download energy consumption in the download time of the DASH video segment to be downloaded in step 3 is calculated as:

calculating the CPU downloading energy consumption in the downloading time of the nth DASH video segment, wherein the specific formula is as follows:

n∈{1,2,...,N}

wherein the content of the first and second substances,for CPU download energy consumption, k, in download time of nth DASH video segment1As energy consumption related factor, b1As coefficient of energy consumption offset, TnThe download time of the nth DASH video segment, where N is the number of DASH video segments;

step 3, the utilization rate of the CPU of the DASH video segment to be downloaded when processing the DASH video download decoding job is:

the utilization rate of the CPU in the download time of the nth DASH video segment when processing the DASH video download decoding work is specifically represented by the following formula:

n∈{1,2,...,N}

wherein the content of the first and second substances,CPU in processing DASH video during download time for nth DASH video segmentUtilization rate, k, of the decoding work of the audio download2To use the rate-related coefficient, b2To use the rate-shift factor, TnThe download time of the nth DASH video segment, where N is the number of DASH video segments;

step 3, the energy consumption of the CPU of the DASH video segment to be downloaded to process other tasks when downloading the DASH video is as follows:

the energy consumption of the CPU in the download time of the nth DASH video segment to process other tasks when downloading the DASH video is specifically expressed as:

n∈{1,2,...,N}

wherein the content of the first and second substances,energy consumption, k, for CPU in download time of nth DASH video segment to process other tasks in downloading DASH video3Energy consumption related coefficient for other tasks, b3Energy consumption offset factor, p, for other taskscpuIn order to be the total utilization of the CPU,the utilization rate of the CPU in the download time of the nth DASH video segment during the DASH video download decoding processing is shown, wherein N is the number of the DASH video segments;

the total CPU energy consumption for constructing DASH video segments to be downloaded in step 3 is:

step 3, total energy consumption of the CPU in the downloading time for downloading the nth DASH video segment is specifically represented by the following formula:

n∈{1,2,...,N}

wherein the content of the first and second substances,download the nthThe total energy consumption of the CPU within the downloading time of each DASH video segment, wherein k is the basic energy consumption of the CPU, and N is the number of DASH video segments;

step 3, calculating the energy consumption of the network interface of the DASH video segment to be downloaded as follows:

the energy consumption of the network interface during the download time of the nth DASH video segment is calculated as follows:

n∈{1,2,...,N}

wherein the content of the first and second substances,the energy consumption of the network interface in the downloading time of the nth DASH video segment is shown as theta, the correlation coefficient of the energy consumption of the network interface and the time is shown as mu, the correlation index of the energy consumption of the network interface and the time is shown as mu, the theta and the mu are constants, and N is the number of the DASH video segments;

the total energy consumption for constructing the DASH video segment to be downloaded in step 3 is:

the total energy consumption in download time of the nth DASH video segment is calculated as follows:

n∈{1,2,...,N}

wherein the content of the first and second substances,representing the total energy consumption in the download time of the nth DASH video segment,total energy consumption of CPU during download time to download nth DASH video segment,energy consumption of network interfaces during download time for nth DASH video segmentN is the number of DASH video segments;

preferably, the average bitrate of downloading the DASH video in step 4 is:

n∈{1,2,...,N}

wherein R isaveRepresenting average bitrate, R, of downloading DASH video segmentskRepresenting the bitrate of downloading the kth DASH video segment, n representing the total number of currently downloaded DASH video segments, and R1,R2……n-1Code rate, R, of DASH video segments that are both completed for downloadnTo establish the bitrate of DASH video segments to be downloaded, N is the number of DASH video segments;

step 4, the average switching amplitude of the DASH video code rate for downloading the DASH video segments is as follows:

n∈{2,3,...,N}

wherein A isaveAverage switching amplitude, R, of DASH video code rate representing download of DASH video segmentsk-1Representing the code rate for downloading the k-1 DASH video segments, wherein N is the number of the DASH video segments;

step 4, the pause time for playing the DASH video segment is:

n∈{1,2,...,N}

wherein, TrebufferRepresenting the pause time of playing a DASH video segment,is shown inDuration, T, of downloading DASH video in video buffer at download start time of kth DASH video segmentkRepresents the download time of the kth DASH video segment, and T1,T2…Tn-1Download time, T, of DASH video segments that are both completed for downloadnThe download time for downloading DASH video segments to be downloaded is calculated by step 2, tk-1Indicating the moment when the kth DASH video segment downloading starts, wherein N is the number of DASH video segments;

step 4, constructing a QoE model of the DASH video watched by the user is as follows:

pQoE=Rave-γ·Aave-·Trebuffer

wherein p isQoERepresenting the viewing experience of the user, RaveRepresenting the average bitrate of downloading DASH video segments, AaveRepresenting average switching amplitude of DASH video code rate for downloading DASH video segments, gamma representing sensitivity degree of user to switching amplitude of DASH video code rate when watching DASH video, and TrebufferThe method comprises the steps of representing the pause time of playing DASH video segments, and representing the sensitivity of a user to playing pause when watching DASH videos;

preferably, in step 5, a video buffer queue is constructed according to the duration of the downloaded DASH video segment in the video buffer of the mobile terminal:

the DASH video segments downloaded by the mobile terminal are played in the video buffer area, the playing is blocked when no DASH video exists in the buffer area, and at the moment of finishing downloading the n-1 DASH video segments, a video buffer queue is constructed according to the duration of the DASH video segments in the video buffer area

Step 5, predicting a video buffer queue at the moment when the download of the DASH video segment to be downloaded is finished by the video buffer queue of the downloaded DASH video segment:

the video buffer queue when the nth DASH video segment is completely downloaded is calculated as follows:

n∈{1,2,...,N}

whereinA value representing the video buffer queue at the completion of the nth DASH video segment download,indicating a value of a video buffer queue at a moment when the downloading of the nth DASH video segment is finished, wherein the nth DASH video segment is a DASH video segment to be downloaded, the nth DASH video segment is a downloaded DASH video segment, ξ indicates a round-trip time requested by the mobile terminal, τ indicates a duration of a single DASH video segment, and N is the number of DASH video segments;

step 5, constructing an energy consumption queue according to the total energy consumption of the DASH video segments downloaded by the mobile terminal:

to better control the energy consumption for downloading DASH video, at the moment when the downloading of the (n-1) th DASH video segment is finished, the total energy consumption of the downloaded DASH video segment is constructed into an energy consumption queue

Step 5, predicting an energy consumption queue at the end of downloading the DASH video segments to be downloaded according to the total energy consumption of the DASH video segments to be downloaded and the total energy consumption of the DASH video segments completed by downloading:

the energy consumption queue at the moment when the nth DASH video segment ends is calculated as follows:

n∈{1,2,...,N}

wherein the content of the first and second substances,the value of the energy consumption queue at the moment when the download of the nth DASH video segment ends,the value of the energy consumption queue at the moment when the download of the n-1 st DASH video segment ends,representing the total energy consumption, ζ, over the download time of the nth DASH video segmentaveIs the energy consumption limit per unit time, TnThe download time of the nth DASH video segment, where N is the number of DASH video segments;

preferably, step 6 constructs the lyapunov model of the DASH video segment to be downloaded according to the video buffer queue predicting the moment when the DASH video segment to be downloaded is completely downloaded and the energy consumption queue predicting the moment when the DASH video segment to be downloaded ends:

the specific formula of the lyapunov model at the downloading end time of the nth DASH video segment is as follows:

n∈{1,2,...,N}

wherein, LnA lyapunov model representing the moment of the end of the download of the nth DASH video segment,a value representing a video buffer queue at the end of the download of the nth DASH video segment,a value representing an energy consumption queue at the end of downloading of an nth DASH video segment, where the nth DASH video segment is a DASH video segment to be downloaded, and N is the number of DASH video segments;

step 6, constructing a lyapunov drift model of the DASH video segment to be downloaded according to the lyapunov model of the DASH video segment to be downloaded and the lyapunov model of the DASH video segment to be downloaded:

the lyapunov drift model at the end of the download of the nth DASH video segment is calculated as follows:

Δn=Ln-Ln-1

n∈{1,2,...,N}

wherein, DeltanLyapunov drift model representing the end of download of the nth DASH video segment, LnLyapunov model at the end of the download of the nth DASH video segment, Ln-1The model is Lyapunov model at the downloading end time of the N-1 DASH video segment, the N-1 DASH video segment is a DASH video segment after downloading is completed, and N is the number of the DASH video segments;

step 6, constructing a lyapunov drift and penalty model of the DASH video segment to be downloaded according to the lyapunov drift model of the DASH video segment to be downloaded and the QoE model of the DASH video watched by the user:

the calculation method of the lyapunov drift plus penalty model at the downloading end time of the nth DASH video segment is as follows:

n∈{1,2,...,N}

wherein, DPPnA Lyapunov drift plus penalty model representing the end of download of the nth DASH video segment, V being a penalty factor, pQoERepresenting the viewing experience of the user, ΔnLyapunov Drift model, T, representing the end of download of the nth DASH video segmentnRepresenting the download time of the nth DASH video segment, where N is the number of DASH video segments;

step 6, an optimization objective is obtained through the lyapunov drift and penalty model of the DASH video segment to be downloaded:

there is an upper limit to the lyapunov drift plus penalty model value at the end of the download of the nth DASH video segment, satisfying the following constraints:

n∈{1,2,...,N}

wherein, DPPnRepresents the lyapunov drift plus penalty model at the end of the download of the nth DASH video segment, χ being a constant,a value representing the video buffer queue at the moment the download of the n-1 st DASH video segment ends,the value of the energy consumption queue at the moment when the download of the n-1 st DASH video segment ends,representing the total energy consumption, ζ, over the download time of the nth DASH video segmentaveξ denotes the round trip time requested by the mobile terminal, τ denotes the duration of a single DASH video segment, T is the energy consumption limit per unit timenThe download time of the nth DASH video segment, V is a penalty factor, and N is the number of DASH video segments;

defining the upper limit of the Lyapunov drift and penalty model as an optimization target, wherein the specific formula is as follows:

n∈{1,2,...,N}

wherein G isnMaximum of the values representing the Lyapunov drift plus penalty model at the end of the download of the nth DASH video segment, also the optimization goal, TnThe download time of the nth DASH video segment, where N is the number of DASH video segments;

the appropriate bitrate needs to be selected for the DASH video segment to be downloaded such that:

n∈{1,2,...,N}

where min represents the minimization and N is the number of DASH video segments;

step 6, solving the DASH video code rate that should be selected by the current time slice according to the optimization target:

optimizing total energy consumption in download time of nth DASH video segment in targetThe expression formula of (a) is:

n∈{1,2,...,N}

where κ is the basic energy consumption of CPU operation, k1Downloading the correlation coefficient of energy consumption for the CPU, b1Offset coefficient of CPU download energy consumption, k, for download time of nth DASH video segment2Coefficient of relevance of CPU utilization in processing DASH video download decoding work, b2Offset coefficient, k, for CPU utilization in processing DASH video download decoding jobs3Energy consumption related coefficient for other tasks, b3Energy consumption offset coefficient, ρ c, for other taskspuIn terms of the total utilization rate of the CPU, theta is the correlation coefficient of the energy consumption of the network interface and the time, mu is the correlation index of the energy consumption of the network interface and the time, theta and mu are constants, TnThe download time of the nth DASH video segment, where N is the number of DASH video segments;

the download time satisfies the following equation:

n∈{1,2,...,N}

Sn={s1,s2,s3,…,sX}

wherein, TnDownload time, S, for nth DASH video segmentnThe selected DASH video code rate of the nth DASH video segment is the solution quantity to be optimized, the nth DASH video segment is the DASH video segment to be downloaded, the DASH video segment to be downloaded has X different code rates which are selected as s1,s2,s3,…,sX,ωnAn estimated value of an average network bandwidth in a downloading time of a DASH video segment to be downloaded of the nth DASH video segment is obtained, wherein N is the number of the DASH video segments;

the expression for the user's viewing experience in the optimization objective is:

n∈{1,2,...,N}

wherein p isQoEFor the user's viewing experience, RkRepresenting the Rate, R, of downloading the kth DASH video segmentk-1Representing the bitrate of downloading the k-1 DASH video segments, n representing the total number of currently downloaded DASH video segments, and R1,R2…Rn-1Code rate, R, of DASH video segments that are both completed for downloadnTo establish the bitrate of the DASH video segment to be downloaded,indicating the duration of DASH video in the video buffer at the start of downloading the kth DASH video segment, TkRepresents the download time of the kth DASH video segment, and T1,T2…Tn-1Download time, T, of DASH video segments that are both completed for downloadnDownload time, t, for a downloaded DASH video segment to be downloadedk-1Represents the moment when the download of the kth DASH video segment begins, gamma represents the sensitivity of the user to the DASH video rate switching amplitude when watching DASH video, and represents the sensitivity of the user to playing pause when watching DASH videoN is the number of DASH video segments, and when k ═ N, the following formula is satisfied:

Rk=Rn=Sn

n∈{1,2,...,N}

Sn={s1,s2,s3,…,sX}

wherein S isnThe selected DASH video code rate of the nth DASH video segment is the solution quantity to be optimized, the nth DASH video segment is the DASH video segment to be downloaded, the DASH video segment to be downloaded has X different code rates which are selected as s1,s2,s3,…,sX,RkRepresenting the rate at which the kth DASH video segment is downloaded, and R1,R2…Rn-1Code rate, R, of DASH video segments that are both completed for downloadnTo establish the bitrate of DASH video segments to be downloaded, N is the number of DASH video segments;

substituting different code rates into an expression of an optimization target, which is specifically as follows:

{g1,g2,...,gX}

n∈{1,2,...,N}

wherein, g1,g2,g3,…,gXIs s is1,s2,s3,…,sXSubstitution into GnCorresponding value found by expression, N is the number of DASH video segments, from g1,g2,g3,…,gXAnd selecting a minimum value, wherein the DASH video code rate corresponding to the minimum value is the code rate of a DASH video segment to be downloaded, and the selection of the code rate can not only enable a user to have better watching experience, but also avoid the condition that the electric quantity of the mobile terminal is exhausted in advance.

The DASH video code rate selection method based on user experience and terminal energy consumption is applicable to a multi-server mobile edge computing environment. In the system, in the overlapping area of a plurality of edge servers, the information collection submodule collects the movement information of the terminal, and the server selection submodule selects the connected edge server according to the collected information. After the selection of the edge server is completed, the DASH video code rate selection module firstly obtains relevant information required by the selection of the DASH video code rate through the network bandwidth estimation submodule and the terminal energy consumption calculation submodule, then the DASH video code rate selection module processes the relevant information by adopting a DASH video code rate selection algorithm aiming at low-delay flow and terminal energy consumption of a multi-server mobile edge computing environment optimized based on a Lyapunov model, and requests a proper DASH video code rate from a server, so that the experience of a user for watching DASH videos is improved.

Drawings

FIG. 1: is a method flow diagram of an embodiment of the invention;

FIG. 2: is a schematic diagram of a user mobile scene in an embodiment of the invention;

FIG. 3: is a system schematic diagram of an embodiment of the invention;

FIG. 4: is a video buffer queue model diagram of an embodiment of the present invention;

FIG. 5: is an energy consumption queue model diagram of an embodiment of the invention.

Detailed Description

In order to facilitate the understanding and implementation of the present invention for those of ordinary skill in the art, the present invention is further described in detail with reference to the accompanying drawings and examples, it is to be understood that the embodiments described herein are merely illustrative and explanatory of the present invention and are not restrictive thereof.

FIG. 1 is a flow chart of the method of the present invention.

As shown in fig. 2, the present invention requires multiple servers to be deployed in an area where a user downloads DASH video, and in the embodiment of the present invention, the mobile terminal is connected to the multiple servers through wireless communication respectively. Fig. 3 is a block diagram of the system of the present invention.

With reference to fig. 1 to 5, a specific embodiment of the present invention is introduced as a DASH video bitrate selection method based on user experience and terminal energy consumption, including the following steps:

step 1: deploying a DASH client at a mobile terminal, judging the coverage area of a server where the mobile terminal is located according to the real-time position of the mobile terminal, calculating the connection distance between the mobile terminal and each server if the mobile terminal is in the overlapping area of the coverage areas of a plurality of servers, and selecting the server closest to the mobile terminal as the edge server corresponding to the mobile terminal;

step 1, a DASH client on the mobile terminal is used for downloading a plurality of continuous DASH video segments;

step 1, judging the coverage area of a server where the mobile terminal is located according to the real-time position of the mobile terminal:

the mobile terminal downloads a common U-server in the DASH video area, the coverage area of each server is circular, and the radius of each server is ruDefining the coordinates of the u-th server as (x)u,yu),u∈[1,U]

Step 1, calculating the connection distance between the mobile terminal and each server:

defining the coordinates of the current position of the mobile terminal as (x, y), defining duDistance of mobile terminal to Uth server, duThe specific calculation method is as follows:

the step 1 of selecting the server closest to the mobile terminal as the edge server corresponding to the mobile terminal is as follows:

selection of d1,d2,...,dUThe minimum value is used as an edge server corresponding to the mobile terminal;

the edge server is used for connecting the mobile terminal and downloading DASH video segments;

step 2: respectively defining DASH video segments to be downloaded, DASH video segments finished downloading and reference DASH video segments, sequentially calculating downloading time of the DASH video segments finished downloading, downloading time of the reference DASH video segments, average network bandwidth in the downloading time of the reference DASH video segments, average network bandwidth gradient in the downloading time of the reference DASH video segments, bandwidth change rate in the downloading time of the DASH video segments finished downloading, and reference value of the average network bandwidth in the downloading time of the DASH video segments to be downloaded, predicting the average network bandwidth in the downloading time of the DASH video segments to be downloaded according to the average network bandwidth in the downloading time of the DASH video segments finished downloading, and calculating the downloading time of the DASH video segments to be downloaded according to the predicted average network bandwidth in the downloading time of the DASH video segments to be downloaded;

step 2, defining the DASH video segment to be downloaded as follows:

the nth DASH video segment is defined as a DASH video segment to be downloaded;

step 2, defining downloaded DASH video segments as follows:

the 1 st to n-1 st DASH video segments are downloading-completed DASH video segments, and the time when the downloading of the first DASH video segment is started is t0

Step 2, defining reference DASH video segments as:

selecting a plurality of continuous DASH video segments as reference DASH video segments for estimating bandwidth from a 1 st DASH video segment to an n-1 st DASH video segment, wherein the number of the continuous DASH video segments is m, and specifically from the n-1 st DASH video segment to the n-1 st DASH video segment;

step 2, calculating the download time of the downloaded DASH video segment as follows:

Tn-1=tn-1-tn-2

n∈{2,3,...,N}

wherein, Tn-1Download time, t, for n-1 DASH video segmentn-2For the moment when the download of the n-1 DASH video segment starts, tn-2For the moment of end of download of the n-2 DASH video segment, tn-1For the moment of end of download of the n-1 st DASH video segment, tn-1The moment when the nth DASH video segment starts to be downloaded, wherein N is the number of the DASH video segments;

downloading multiple consecutive DASH video segments via a DASH client on a mobile terminal without interruption, so tnThe moment when the n-th DASH video segment ends downloading, and the moment when the n + 1-th DASH video segment starts downloading;

step 2, calculating the downloading time of the reference DASH video segment as follows:

Tsample=tn-1-tn-2-m

wherein, TsampleRepresenting the downloading time of the reference DASH video segments, mainly comprising the downloading starting time of the (n-1-m) th DASH video segments to the downloading ending time of the (n-1) th DASH video segments, tn-1For the moment when the download of the nth DASH video segment starts, tn-2-mFor the moment when the n-1-m DASH video segment download starts, step 2 calculates the average network bandwidth in the reference DASH video segment download time:

wherein the content of the first and second substances,represents the average network bandwidth over the time of downloading the reference DASH video segments,represents the average network bandwidth to download the DASH video segments outside the current edge server when downloading the reference DASH video segments,represents an average network bandwidth of downloading the DASH video segment in the current edge server when downloading the reference DASH video segment, and β ═ 0.8 represents a difference value between different edge servers;

step 2, calculating the average gradient of the network bandwidth in the downloading time of the reference DASH video segment as follows:

wherein the content of the first and second substances,represents an average gradient of network bandwidth over time during the download time of the reference DASH video segment;

step 2, calculating an average network bandwidth within the download time of the downloaded DASH video segment as follows:

wherein, bn-1Average network zone within download time for downloading n-1 DASH video segment Sn-1For downloading size of n-1 DASH video segment, Tn-1Duration of download for n-1 DASH video segment;

step 2, calculating a bandwidth change rate in the downloading time of the downloaded DASH video segment:

wherein the content of the first and second substances,representing the rate of change of bandwidth over the duration of downloading the n-1 DASH video segment and downloading the n-2 DASH video segment, bn-1Average network band over download time for downloading n-1 DASH video segments, bn-2Average network band over download time for downloading n-2 DASH video segments, tn-1For the moment of end of download of the n-1 st DASH video segment, tn-2The moment when the download of the n-2 DASH video segment is finished;

step 2, calculating a reference value of the average network bandwidth within the downloading time of the DASH video segment predicted to be downloaded:

αn-1∈[0,1]

wherein, αn-1Representing a reference value of the average network bandwidth predicted over the n-1 DASH video segment download time over the average network bandwidth over the n-1 DASH video segment download time;

predicting the average network bandwidth within the duration of downloading the nth DASH video segment when the DASH client on the mobile terminal is at the starting moment of downloading the nth DASH video segment;

step 2, predicting the average network bandwidth within the download time of the DASH video segment to be downloaded according to the average network bandwidth within the download time of the DASH video segment that is downloaded:

predicting a predicted value of the average network bandwidth within the download time of the DASH video segment to be downloaded of the nth DASH video segment, i.e. ω, according to the average network bandwidth within the download time of the n-1 st DASH video segment, i.e. the downloaded DASH video segmentnThe specific calculation method is as follows:

ωn=(1-αn-1n-1n-1·bn-1

wherein, αn-1Means for predicting a reference value, ω, of average network bandwidth over download time of n-1 DASH video segmentn-1An estimate representing the average network bandwidth over the download time of the n-1 DASH video segment, bn-1Average network bandwidth within download time for downloading the n-1 st DASH video segment;

step 2, calculating the download time of the DASH video segment to be downloaded according to the predicted average network bandwidth within the download time of the DASH video segment to be downloaded, specifically:

Sn={s1,s2,s3,…,sX}

wherein, TnRepresenting download time, S, of nth DASH video segmentnSelected DASH video bitrate for nth DASH video segment as pendingOptimizing the solution amount, wherein the nth DASH video segment is the DASH video segment to be downloaded, and the DASH video segment to be downloaded has X-7 different code rates which are selectable and are respectively s1=300kbps,s2=500kbps,s3=700kbps,s4=900kbps,s5=1200kbps,s6=1500kbps,s7=1800kbps。

And step 3: according to the downloading time of the DASH video segments to be downloaded, sequentially calculating the downloading energy consumption of a CPU (central processing unit) in the downloading time of the DASH video segments to be downloaded, the utilization rate of the CPU of the DASH video segments to be downloaded in the process of processing DASH video downloading decoding work, and the energy consumption of the CPU of the DASH video segments to be downloaded in the process of downloading DASH videos, further constructing the total CPU energy consumption of the DASH video segments to be downloaded, calculating the energy consumption of a network interface of the DASH video segments to be downloaded, and constructing the total energy consumption of the DASH video segments to be downloaded;

step 3, calculating the CPU download energy consumption in the download time of the DASH video segment to be downloaded as follows:

calculating the CPU downloading energy consumption in the downloading time of the nth DASH video segment, wherein the specific formula is as follows:

n∈{1,2,...,N}

wherein the content of the first and second substances,for CPU download energy consumption, k, in download time of nth DASH video segment1398.1 is the energy consumption coefficient, b132.7 is the energy consumption offset coefficient, TnThe download time of the nth DASH video segment, where N is the number of DASH video segments;

step 3, the utilization rate of the CPU of the DASH video segment to be downloaded when processing the DASH video download decoding job is:

the utilization rate of the CPU in the download time of the nth DASH video segment when processing the DASH video download decoding work is specifically represented by the following formula:

n∈{1,2,...,N}

wherein the content of the first and second substances,is the utilization rate, k, of CPU in the download time of the nth DASH video segment in processing DASH video download decoding work24.3 is the coefficient of correlation of utilization, b216.4 is the usage offset coefficient, TnThe download time of the nth DASH video segment, where N is the number of DASH video segments;

step 3, the energy consumption of the CPU of the DASH video segment to be downloaded to process other tasks when downloading the DASH video is as follows:

the energy consumption of the CPU in the download time of the nth DASH video segment to process other tasks when downloading the DASH video is specifically expressed as:

n∈{1,2,...,N}

wherein the content of the first and second substances,energy consumption, k, for CPU in download time of nth DASH video segment to process other tasks in downloading DASH video31.5 is the energy consumption related coefficient of other tasks, b3106.6 for other task power consumption offset coefficient, ρ cpuIn order to be the total utilization of the CPU,the utilization rate of the CPU in the download time of the nth DASH video segment during the DASH video download decoding processing is shown, wherein N is the number of the DASH video segments;

the total CPU energy consumption for constructing DASH video segments to be downloaded in step 3 is:

step 3, total energy consumption of the CPU in the downloading time for downloading the nth DASH video segment is specifically represented by the following formula:

n∈{1,2,...,N}

wherein the content of the first and second substances,the total energy consumption of the CPU in the downloading time of the nth DASH video segment, where κ is 105, which is the basic energy consumption for the CPU to operate, and N is the number of DASH video segments;

step 3, calculating the energy consumption of the network interface of the DASH video segment to be downloaded as follows:

the energy consumption of the network interface during the download time of the nth DASH video segment is calculated as follows:

n∈{1,2,...,N}

wherein the content of the first and second substances,regarding the energy consumption of the network interface during the download time of the nth DASH video segment, θ ═ 1853.5 is a correlation coefficient between the energy consumption of the network interface and time, μ ═ -0.189 is a correlation index between the energy consumption of the network interface and time, θ and μ are constants, and N is the number of DASH video segments;

the total energy consumption for constructing the DASH video segment to be downloaded in step 3 is:

the total energy consumption in download time of the nth DASH video segment is calculated as follows:

n∈{1,2,...,N}

wherein the content of the first and second substances,representing the total energy consumption in the download time of the nth DASH video segment,total energy consumption of CPU during download time to download nth DASH video segment,the energy consumption of the network interface in the downloading time of the nth DASH video segment is shown, wherein N is the number of the DASH video segments;

and 4, step 4: calculating the average code rate of downloading the DASH video segments, the average switching amplitude of the DASH video code rates of downloading the DASH video segments and the pause time for playing the DASH video segments in sequence, and further constructing a QoE (quality of experience) model for a user to watch the DASH video;

step 4, the average code rate for downloading the DASH video is:

n∈{1,2,...,N}

wherein R isaveRepresenting average bitrate, R, of downloading DASH video segmentskRepresenting the bitrate of downloading the kth DASH video segment, n representing the total number of currently downloaded DASH video segments, and R1,R2…Rn-1Code rate, R, of DASH video segments that are both completed for downloadnTo establish the bitrate of DASH video segments to be downloaded, N is the number of DASH video segments;

step 4, the average switching amplitude of the DASH video code rate for downloading the DASH video segments is as follows:

n∈{2,3,...,N}

wherein A isaveAverage switching amplitude, R, of DASH video code rate representing download of DASH video segmentsk-1Code representing download of a k-1 DASH video segmentRate, N is the number of DASH video segments;

step 4, the pause time for playing the DASH video segment is:

n∈{1,2,...,N}

wherein, TrebufferRepresenting the pause time of playing a DASH video segment,indicating the duration of DASH video in the video buffer at the start of downloading the kth DASH video segment, TkRepresents the download time of the kth DASH video segment, and T1,T2…Tn-1Download time, T, of DASH video segments that are both completed for downloadnThe download time for downloading DASH video segments to be downloaded is calculated by step 2, tk-1Indicating the moment when the kth DASH video segment downloading starts, wherein N is the number of DASH video segments;

step 4, constructing a QoE model of the DASH video watched by the user is as follows:

pQoE=Rave-γ·Aave-·Trebuffer

wherein p isQoERepresenting the viewing experience of the user, RaveRepresenting the average bitrate of downloading DASH video segments, AaveMean switching amplitude of DASH video rate for downloading DASH video segments is represented, γ ═ 1 represents sensitivity of user to switching amplitude of DASH video rate when watching DASH video, and TrebufferIndicating a pause time for playing a DASH video segment, 10 indicating a user's sensitivity to playing a DASH video while watching it;

and 5: constructing a video buffer queue according to the duration of the DASH video segments which are downloaded in the video buffer of the mobile terminal, predicting the video buffer queue at the moment when the DASH video segments to be downloaded end through the video buffer queue of the DASH video segments which are downloaded, constructing an energy consumption queue according to the total energy consumption of the DASH video segments which are downloaded by the mobile terminal, and predicting the energy consumption queue at the moment when the DASH video segments to be downloaded end through the total energy consumption of the DASH video segments to be downloaded and the total energy consumption of the DASH video segments which are downloaded;

step 5, constructing a video buffer queue according to the duration of the downloaded DASH video segments in the video buffer of the mobile terminal:

the DASH video segments downloaded by the mobile terminal are played in the video buffer area, the playing is paused when no DASH video is in the buffer area, and at the moment of finishing downloading the n-1 DASH video segments, a DASH video buffer queue is constructed according to the duration of the DASH video segments in the video buffer area

Step 5, predicting a video buffer queue at the moment when the download of the DASH video segment to be downloaded is finished by the video buffer queue of the downloaded DASH video segment:

the video buffer queue when the nth DASH video segment is completely downloaded is calculated as follows:

n∈{1,2,...,N}

whereinA value representing the video buffer queue at the completion of the nth DASH video segment download,value representing video buffer queue at the moment of end of download of n-1 st DASH video segment, and n-th DASH video segment being a DASH video segment to be downloaded, th DASH video segmentN-1 DASH video segments are downloaded DASH video segments, ξ -300 ms represents the round trip time requested by the mobile terminal, τ -500 ms represents the duration of a single DASH video segment, and N is the number of DASH video segments, as shown in fig. 4;

step 5, constructing an energy consumption queue according to the total energy consumption of the DASH video segments downloaded by the mobile terminal:

to better control the energy consumption for downloading DASH video, at the moment when the downloading of the (n-1) th DASH video segment is finished, the total energy consumption of the downloaded DASH video segment is constructed into an energy consumption queue

Step 5, predicting an energy consumption queue at the end of downloading the DASH video segments to be downloaded according to the total energy consumption of the DASH video segments to be downloaded and the total energy consumption of the DASH video segments completed by downloading:

the energy consumption queue at the moment when the nth DASH video segment ends is calculated as follows:

n∈{1,2,...,N}

wherein the content of the first and second substances,the value of the energy consumption queue at the moment when the download of the nth DASH video segment ends,the value of the energy consumption queue at the moment when the download of the n-1 st DASH video segment ends,representing the total energy consumption, ζ, over the download time of the nth DASH video segmentave1 is the energy consumption limit per unit time, TnThe download time of the nth DASH video segment, where N is the number of DASH video segments, as shown in fig. 5;

step 6: constructing a Lyapunov model of the DASH video segments to be downloaded according to a video buffer queue predicting the moment when the DASH video segments to be downloaded start downloading and an energy consumption queue predicting the moment when the DASH video segments to be downloaded end downloading, constructing a Lyapunov drift model of the DASH video segment to be downloaded according to the Lyapunov model of the DASH video segment to be downloaded and the Lyapunov model of the DASH video segment to be downloaded, constructing a Lyapunov drift and penalty model of the DASH video segment to be downloaded according to a Lyapunov drift model of the DASH video segment to be downloaded and a QoE model of the DASH video watched by a user, obtaining an optimization target by adding a penalty model to Lyapunov drift of a DASH video segment to be downloaded, and solving the DASH video code rate which should be selected by the current time slice according to the optimization target;

step 6, constructing a lyapunov model of the DASH video segment to be downloaded according to the video buffer queue predicting the moment when the DASH video segment to be downloaded is downloaded and the energy consumption queue predicting the moment when the DASH video segment to be downloaded is downloaded, wherein the lyapunov model comprises the following steps:

the specific formula of the lyapunov model at the downloading end time of the nth DASH video segment is as follows:

n∈{1,2,...,N}

wherein, LnA lyapunov model representing the moment of the end of the download of the nth DASH video segment,a value representing a video buffer queue at the end of the download of the nth DASH video segment,value representing energy consumption queue at end of download of nth DASH video segment, and nth DASH videoThe frequency segments are DASH video segments to be downloaded, and N is the number of the DASH video segments;

step 6, constructing a lyapunov drift model of the DASH video segment to be downloaded according to the lyapunov model of the DASH video segment to be downloaded and the lyapunov model of the DASH video segment to be downloaded:

the lyapunov drift model at the end of the download of the nth DASH video segment is calculated as follows:

Δn=Ln-Ln-1

n∈{1,2,...,N}

wherein, DeltanLyapunov drift model representing the end of download of the nth DASH video segment, LnLyapunov model at the end of the download of the nth DASH video segment, Ln-1The model is Lyapunov model at the downloading end time of the N-1 DASH video segment, the N-1 DASH video segment is a DASH video segment after downloading is completed, and N is the number of the DASH video segments;

step 6, constructing a lyapunov drift and penalty model of the DASH video segment to be downloaded according to the lyapunov drift model of the DASH video segment to be downloaded and the QoE model of the DASH video watched by the user:

the calculation method of the lyapunov drift plus penalty model at the downloading end time of the nth DASH video segment is as follows:

n∈{1,2,...,N}

wherein, DPPnIndicating the lyapunov drift plus penalty model at the end of the download of the nth DASH video segment, where V ═ 1 is a penalty factor, and p is a penalty factorQoERepresenting the viewing experience of the user, ΔnLyapunov Drift model, T, representing the end of download of the nth DASH video segmentnRepresenting the download time of the nth DASH video segment, where N is the number of DASH video segments;

step 6, an optimization objective is obtained through the lyapunov drift and penalty model of the DASH video segment to be downloaded:

there is an upper limit to the lyapunov drift plus penalty model value at the end of the download of the nth DASH video segment, satisfying the following constraints:

n∈{1,2,...,N}

wherein, DPPnRepresents the lyapunov drift plus penalty model at the end of the download of the nth DASH video segment, χ being a constant,a value representing the video buffer queue at the moment the download of the n-1 st DASH video segment ends,the value of the energy consumption queue at the moment when the download of the n-1 st DASH video segment ends,representing the total energy consumption, ζ, over the download time of the nth DASH video segmentaveEnergy consumption limit per unit time is 1, ξ -300 ms represents the round trip time requested by the mobile terminal, τ -500 ms represents the duration of a single DASH video segment, TnFor the download time of the nth DASH video segment, V ═ 1 is a penalty factor, and N is the number of DASH video segments;

defining the upper limit of the Lyapunov drift and penalty model as an optimization target, wherein the specific formula is as follows:

n∈{1,2,...,N}

wherein G isnLyapunov drift plus indicating the end of download of the nth DASH video segmentMaximum of the values of the penalty model, also the optimization objective, TnThe download time of the nth DASH video segment, where N is the number of DASH video segments;

the appropriate bitrate needs to be selected for the DASH video segment to be downloaded such that:

n∈{1,2,...,N}

where min represents the minimization and N is the number of DASH video segments;

step 6, solving the DASH video code rate that should be selected by the current time slice according to the optimization target:

optimizing total energy consumption in download time of nth DASH video segment in targetThe expression formula of (a) is:

n∈{1,2,...,N}

where k is 105, the basic power consumption of the CPU, k1398.1 is a correlation coefficient of CPU download energy consumption, b132.7 is the offset coefficient of CPU download energy consumption in the download time of the nth DASH video segment, k24.3 is the coefficient related to the utilization rate of CPU in processing DASH video download decoding work, b216.4 is the offset coefficient, k, of the CPU utilization in processing DASH video download decoding jobs21.5 is the energy consumption related coefficient of other tasks, b3106.6 for other task energy consumption offset coefficient, ρcpuFor the total utilization rate of the CPU, theta is 1853.5 and mu is-0.189, the energy consumption of the network interface is related to the time, theta and mu are constants, TnThe download time of the nth DASH video segment, where N is the number of DASH video segments;

the download time satisfies the following equation:

n∈{1,2,...,N}

Sn={s1,s2,s3,…,sX}

wherein, TnDownload time, S, for nth DASH video segmentnThe selected DASH video bitrate of the nth DASH video segment is the solution to be optimized, the nth DASH video segment is the DASH video segment to be downloaded, and the DASH video segment to be downloaded has X ═ 7 different bitrates which are respectively s1=300kbps,s2=500kbps,s3=700kbps,s4=900kbps,s5=1200kbps,s6=1500kbps,s7=1800kbps,ωnAn estimated value of an average network bandwidth in a downloading time of a DASH video segment to be downloaded of the nth DASH video segment is obtained, wherein N is the number of the DASH video segments;

the expression for the user's viewing experience in the optimization objective is:

n∈{1,2,...,N}

wherein p isQoEFor the user's viewing experience, RkRepresenting the Rate, R, of downloading the kth DASH video segmentk-1Representing the bitrate of downloading the k-1 DASH video segments, n representing the total number of currently downloaded DASH video segments, and R1,R2…Rn-1Code rate, R, of DASH video segments that are both completed for downloadnTo establish the bitrate of the DASH video segment to be downloaded,indicating the duration of DASH video in the video buffer at the start of downloading the kth DASH video segment, TkRepresents the download time of the kth DASH video segment, and T1,T2…Tn-1Download time, T, of DASH video segments that are both completed for downloadnDownload time, t, for a downloaded DASH video segment to be downloadedk-1Representing the moment when the kth DASH video segment starts to be downloaded, γ ═ 1 represents the degree of sensitivity of the user to the DASH video rate switching amplitude when the user watches the DASH video, ═ 10 represents the degree of sensitivity of the user to playing cards when the user watches the DASH video, N is the number of DASH video segments, and when k ═ N, the following formula is satisfied:

Rk=Rn=Sn

n∈{1,2,...,N}

Sn={s1,s2,s3,…,sX}

wherein S isnThe selected DASH video bitrate of the nth DASH video segment is the solution to be optimized, the nth DASH video segment is the DASH video segment to be downloaded, and the DASH video segment to be downloaded has X ═ 7 different bitrates which are respectively s1=300kbps,s2=500kbps,s3=700kbps,s4=900kbps,s5=1200kbps,s6=1500kbps,s7=1800kbps,RkRepresenting the rate at which the kth DASH video segment is downloaded, and R1,R2…Rn-1Code rate, R, of DASH video segments that are both completed for downloadnTo establish the bitrate of DASH video segments to be downloaded, N is the number of DASH video segments;

substituting different code rates into an expression of an optimization target, which is specifically as follows:

{g1,g2,...,gX}

n∈{1,2,...,N}

wherein, g1,g2,g3,…,gXIs s is1,s2,s3,…,sXSubstitution into GnCorresponding value found by expression, N is the number of DASH video segments, from g1,g2,g3,…,gXThe minimum value is selectedThe corresponding DASH video code rate is the code rate of the DASH video segment to be downloaded, and the selection of the code rate can not only enable a user to have better viewing experience, but also avoid the condition that the electric quantity of the mobile terminal is exhausted in advance.

It should be understood that parts of the specification not set forth in detail are well within the prior art.

It should be understood that the above description of the preferred embodiments is given for clarity and not for any purpose of limitation, and that various changes, substitutions and alterations can be made herein without departing from the spirit and scope of the invention as defined by the appended claims.

33页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:基于ROI的视频编码方法和系统以及视频传输和编码系统

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类