CN106993237A - Dynamic self-adapting code rate selection method based on MPEG DASH agreements - Google Patents
Dynamic self-adapting code rate selection method based on MPEG DASH agreements Download PDFInfo
- Publication number
- CN106993237A CN106993237A CN201710240780.0A CN201710240780A CN106993237A CN 106993237 A CN106993237 A CN 106993237A CN 201710240780 A CN201710240780 A CN 201710240780A CN 106993237 A CN106993237 A CN 106993237A
- Authority
- CN
- China
- Prior art keywords
- value
- code check
- bandwidth
- downloaded
- section
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/262—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
- H04N21/26208—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints
- H04N21/26216—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints involving the channel capacity, e.g. network bandwidth
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/266—Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
- H04N21/2662—Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/858—Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
- H04N21/8586—Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot by using a URL
Abstract
The invention discloses the dynamic self-adapting code rate selection method based on MPEG DASH agreements, the HTTP connections of server and client are initially set up;User end to server sends HTTP Get requests, and request is downloaded MPD file and stored;Server is received carries out response transmission MPD file to client after the request of client, client is downloaded to MPD file and the MPD file of download is parsed;The URL addresses obtained according to parsing MPD are first downloaded part section with minimum code rate and are put into buffer area, and network bandwidth when being cut into slices to foradownloaded video is calculated, and count and record and network bandwidth when downloading next video slicing is predicted;The code check for downloading next video segment is made a choice with reference to the remaining situation of current cache area video segment, until terminating.Realize and improve video quality as far as possible on the premise of smooth playing, greatly enhance user's viewing experience.
Description
Technical field
The invention belongs to technical field of video transmission, it is related to streaming media video based on MPEG-DASH agreements or audio
A kind of transmission, and in particular to dynamic self-adapting code rate selection method based on MPEG-DASH agreements.
Background technology
At present, being continuously increased with the network bandwidth, people are also constantly increasing to the demand of media information.According to Cisco
Company shows that, by 2017, media flow will occupy the 86% of whole network flow, all kinds of matchmakers in the report that May in year is issued
Body is applied as a part indispensable in people's informatized life.Current various multimedia application layer go out not thoroughly, they
Collection audio is provided for people, video, picture and text are experienced in the comprehensive of one.It is intended that obtaining more rapidly, more smooth, higher quality
Media services experience, how to meet this demand turn into current stream media technology a big difficult point.
Stream media technology refers to the technology using streaming manner transmission media data, and its main feature is by servicing
Device to user it is continuous, transmit media data in real time.In the system using stream media technology, user is without waiting for total data
Downloading completion can play out, that is, realize the effect played when downloading, and greatly reduce user and start the time and to user
The demand of side cache size.Traditional RTP/RTSP stream media technologys are carried out data transmission using udp protocol, therefore are only capable of providing
Insecure transmission.Additionally due to RTP/RTSP stream media technologys need specific streaming media server, cause lower deployment cost compared with
It is high.For these problems, HTTP dynamic self-adaptings Streaming Media (DASH, Dynamic Adaptive Streaming over
HTTP) technology turns into the new lover of Streaming Media circle in recent years.The technology uses HTTP/TCP protocol infrastructures, provides the user reliable
Data transfer.The technology uses 80 ports simultaneously, therefore can easily pass through fire wall.Furthermore, DASH technologies can be weighed
With common Web server, lower deployment cost is low.Finally, the media table of the same media content different quality rank of the technical support
Show, especially moving end subscriber can be according to capacity of equipment, buffer size and the real-time adjust request of real-time network bandwidth situation
Media quality rank, the characteristics of possessing dynamic self-adapting.Therefore, DASH technologies have obtained all kinds of manufacturers and standardization body
Extensive concern, is expected to turn into main flow stream media technology of future generation.
But MPEG-DASH agreements define only MPD file structure and Streaming Media section form, and client is not provided
The flow or mechanism of end selection section file, to a certain extent dynamic self-adapting code rate selection method based on DASH agreements
Quality directly determines the height of streaming media efficiency and the viewing experience of user, so the dynamic based on DASH agreements is adaptive
Code rate system of selection has very big research and development space, and does not have similar techniques appearance also now.
The content of the invention
To achieve the above object, the present invention provides a kind of dynamic self-adapting code rate selection side based on MPEG-DASH agreements
Method, realizes and improves video quality as far as possible on the premise of smooth playing, greatly enhances user's viewing experience.
The technical solution adopted in the present invention is that the dynamic self-adapting code rate selection method based on MPEG-DASH agreements has
Body is followed the steps below:
Step 1, the HTTP connections of server and client are set up;
Step 2, user end to server sends HTTP Get requests, and request is downloaded MPD file and stored;
Step 3, server is received carries out response transmission MPD file to client after the request of client, client is to MPD
File is downloaded and the MPD file of download is parsed;In order that video can be commenced play out as early as possible, according to parsing MPD
Range of code rates corresponding to the URL of video slicing obtained by file first downloads a part of video segment, service with minimum code rate
Device, which is received, gives client transmission video segment file after request, client is downloaded to section file;
Step 4, network bandwidth when being cut into slices to step 3 foradownloaded video is calculated, and is counted and is recorded and uses Kalman
Filter forecasting method is predicted to network bandwidth when downloading next video slicing;
Step 5, according to the prediction bandwidth obtained by step 4 and with reference to the remaining situation of current cache area video segment to downloading
The code check of next video segment makes a choice;
Step 6, step 4-5 is jumped to if video segment is without completion is all downloaded, continues executing with prediction and downloaded
Journey, otherwise exits cyclic process, and method terminates.
Further, the detailed process of the step 1 is:
Step 11:Create a URL object;
Step 12:Create a HTTP link;
Step 13:Data are obtained using IO streams.
Further, the detailed process of the step 2 is:
Step 21:Judge that MPD file whether there is, 0 is otherwise returned if returning to 1 in the presence of if;
Step 22:File is downloaded when file is not present;
Step 23:Stored to downloading the file completed.
Further, the detailed process of the step 3 is:
Step 31:Obtain the specified attribute of Representation elements in MPD file, it is only necessary to obtain id, width,
Tri- attributes of height;
Step 32:Obtain the URL of each grade video segment in MPD file;
Step 33:The video segment that minimum code rate is chosen in the URL addresses according to obtained by parsing MPD file is downloaded.
Further, the detailed process of the step 4 is:
Step 41:Obtain the network bandwidth b of downloading slicingn:
Wherein:tn(e) represent that the time completed is downloaded in n-th of section;Tn (s) represent n-th section start download when
Between;R (n) represents the selected code check of n-th of section;θ represents that duration is played in each section, and its value is 2 seconds;bnIt is n-th
The network download bandwidth value of individual section;
Step 42:Set up system state equation and measurement equation:
Wherein:bn+1It is the prediction download bandwidth value of (n+1)th section;Yn+1It is n+1 section bandwidth measuring value;A is shape
State transfer matrix, reflects system from the download bandwidth of n-th of section to the state change of (n+1)th;unIt is n-th of section
Dominant vector;B is control allocation matrix;qnAnd rn+1It is system noise and measurement noise, q respectivelynStatistical property E [qn]=0,
rn+1Statistical property E [rn+1]=0;H is observing matrix;
Step 43:By the optimum bandwidth value of n-th of burstRemove the state value of (n+1)th burst of predictionDue to mould
The random disturbances q of typenDo not know in advance, soBy the prediction download bandwidth of next burst with it is upper
The optimal download bandwidth of one burst be considered as it is identical, even A=1, dominant vector un=0, obtain:
Step 44:By last error covariance pnWith system noise qnCovariance Q predict new error covariance I.e.
Wherein Q is system noise qnCovariance, type belongs to white Gaussian noise;For (n+1)th slicer error association side
The predicted value of difference, i.e., new error covariance;
Step 45:Calculate kalman gainHere measured value is
Calculated value is so H=1 is
Wherein R is measurement noise rn+1Covariance;
Step 46:It is rightCorrection updates,
NowFor the optimum bandwidth of (n+1)th burst;Yn+1For the bandwidth measuring value of (n+1)th section;
Step 47:Continue step 48 if completion is not yet all downloaded in section, otherwise exit whole prediction process;
Step 48:Estimate that the iteration of the optimum bandwidth value of the n-th+2 sections is updated operation for next step, that is, update
pn+1Value:
Pn+1It is the optimum bandwidth deviation of (n+1)th section;
Step 49, step 43 is jumped to, repeats to step 47 to terminate always.
Further, the detailed process of the step 5 is:
Step 51:If video slicing is not downloaded all and completed, i.e., there are still prediction bandwidth, then step 52 is performed, otherwise
Downloading process terminates;
Step 52:
In order to ensure buffer area occurs without overflow and underflow, at the same ensure buffering area can effectively cancellation bandwidth fluctuation made
Into forecasting inaccuracy really bring broadcasting stagnate or buffer overflow possibility, now to two time threshold values of setting buffers
qminAnd qmax, the code to be chosen is determined according to the threshold values of setting buffers and the burst number existed and prediction bandwidth
Rate value.
Further, the detailed process of the step 52 is:
Step 521:
Calculate n-th of burst snThe remaining duration of buffering area after the completion of download:
T(tn(e))=T (tn(s))+θ-(tn(e)-tn(s)) (8)
Wherein T (tn(e)) represent that n-th of burst has downloaded rear buffering area duration, while being also to start download (n+1)th to cut
The duration of buffering area during piece, T (tn(s)) duration of buffering area when representing to start to download n-th of burst, while being also to have downloaded the
The duration of buffering area during n-1 burst;
Step 522:
As T (tn+1(s)) < qminWhen buffer area section have the possibility being finished, in order to ensure buffering area has enough regard
Frequency section must assure that T (tn+1(e))≥qmin, then its code check need meet:
The formula equal sign left side is only calculated obtained value and is designated as ψ by ψ without implication, code check r (n+1) value selected by (n+1)th
For max (r (1), ψ), but it is due to that code check value is series of discrete value, so final on the premise of ensureing that video playback is smooth
Code check value be apart from max (r (1), ψ) it is nearest take fixed code check value downwards, wherein r (1) be when video segment is generated most
Small code check;
Step 523:
As T (tn+1(s)) > qmaxWhen buffering area have the possibility that overflow goes out be loaded with enough sections, continuation, in order to true
Protecting buffering area, overflow does not ensure T (tn+1(e))≤qmax, then its code check need meet:
ξ is without implication, and the value for only obtaining the formula equal sign left side is designated as ξ;
Situation one:R (p) >=ξ is in order to ensure video pictures small shake as far as possible, and the code check value of selection is ξ, simultaneously because
Code check value is series of discrete value, so code check value final on the premise of ensureing that video playback is smooth is nearest apart from ξ
Fixed code check value is taken upwards;
Situation two:During r (p) < ξ, buffer area overflow must be occurred by continuing download, in order to avoid such case occurs then
Start sleep mechanism, that is, a period of time can be suspended by downloading, and n-th of burst s is recalculated after pausenBuffered after the completion of download
The remaining duration in area, proceeds code check judgement, and wherein r (p) is maximal rate when video segment is generated;
Step 524:
Work as qmin≤T(tn+1(s))≤qmaxWhen, the burst number of buffering area is in an optimal scope, the value model of code check
Enclose for:
In order to reduce code check fluctuation, code check value is identical with upper one section code check value holding:R (n+1)=r (n).
Beneficial effects of the present invention:The present invention is the adaptively selected algorithm of dynamic code rate based on DASH agreements, is related to
Bandwidth prediction and buffer queue management, realize video quality and change with the dynamic of network condition.Algorithm employs Kalman's filter
Ripple predicts bandwidth, greatly improves precision of prediction, and the bandwidth predicted is combined with buffer area restrictive condition, finally
Determine the code check of section to be downloaded and download the section file of the code check.It ensure that and carried as far as possible on the premise of smooth playing
High video playing quality, greatly enhances user's viewing experience.
Brief description of the drawings
In order to illustrate more clearly about the embodiment of the present invention or technical scheme of the prior art, below will be to embodiment or existing
There is the accompanying drawing used required in technology description to be briefly described, it should be apparent that, drawings in the following description are only this
Some embodiments of invention, for those of ordinary skill in the art, on the premise of not paying creative work, can be with
Other accompanying drawings are obtained according to these accompanying drawings.
Fig. 1 is the client of the embodiment of the present invention and the connection interaction figure of server.
Fig. 2 is the MPD structural representations of the embodiment of the present invention.
Fig. 3 is the flow chart of the code check adaptive algorithm of the embodiment of the present invention.
Embodiment
Below in conjunction with the embodiment of the present invention, the technical scheme in the embodiment of the present invention is clearly and completely retouched
State, it is clear that described embodiment is only a part of embodiment of the invention, rather than whole embodiments.Based on the present invention
In embodiment, the every other implementation that those of ordinary skill in the art are obtained under the premise of creative work is not made
Example, belongs to the scope of protection of the invention.
As shown in figure 1, the embodiments of the invention provide a kind of dynamic self-adapting code rate selection based on MPEG-DASH agreements
Method, including following functions:Set up server and HTTP connections, download and storage MPD file, the parsing MPD of client
File, code check are adaptively selected.
Thinking is as follows:The HTTP connections of server and client are initially set up, client is from clothes after the completion of connection is set up
Business device downloads MPD file and it is stored and parsed;Secondly in order to shorten the broadcasting that buffer time carries out video as early as possible, and
Initial data is accumulated for follow-up bandwidth prediction, first one is downloaded with minimum code rate according to the range of code rates obtained by parsing MPD file
Partial video is cut into slices and network bandwidth when downloading partial video section is calculated, counted and recorded, and uses karr
Graceful filter forecasting method is predicted to network bandwidth when downloading next video slicing;Finally according to prediction resulting above
Bandwidth and the remaining situation of current cache area video segment make a choice to the code check for downloading next video segment, so that being broadcast
Put video quality and dynamically adapt to different networking situations.
Specifically follow the steps below:
Step 1,
Initially set up the HTTP connections of server and client;Because DASH in application layer is to be used as host-host protocol using HTTP
, and HTTP is based on Transmission Control Protocol, so the session of client and server needs to set up connection in transport layer.
Its detailed process for setting up the HTTP connections of server and client is:
Step 11:Create a URL object;
Step 12:Create a HTTP link;
Step 13:Data are obtained using IO streams.
Step 2,
Then user end to server sends HTTP Get requests, and request is downloaded MPD file and stored.
Detailed process is:
Step 21:Judge that MPD file whether there is, 0 is otherwise returned if returning to 1 in the presence of if;
Step 22:File is downloaded when file is not present;
Step 23:Stored to downloading the file completed.
Step 3,
Server is received carries out response transmission MPD file to client after the request of client, client is entered to MPD file
Row is downloaded and the MPD file of download is parsed;In order that video can be commenced play out as early as possible, according to parsing MPD file institute
Range of code rates corresponding to the URL of obtained video slicing first downloads a part of video segment with minimum code rate, and server is received
Video segment file is sent to client after request, client is downloaded to section file.The structure of MPD file such as Fig. 2 institutes
Show.
Detailed process is:
Step 31:The specified attribute of Representation elements in MPD file is obtained, only needs to obtain id here,
Tri- attributes of width, height;
Step 32:Obtain the URL of each grade video segment in MPD file;
Step 33:The video segment that minimum code rate is chosen in the URL addresses according to obtained by parsing MPD file is downloaded.
Step 4,
Network bandwidth when being cut into slices to step 3 foradownloaded video is calculated, and is counted and is recorded and uses Kalman filtering pre-
Survey method is predicted to network bandwidth when downloading next video slicing.
Fig. 3 is the flow chart of the adaptively selected algorithm of code check, although after client is downloaded and parsed to MPD file
The URL of video file has been obtained, but in order that user obtains more preferable audiovisual experience and can't be directly downloaded, it is necessary to pass through
Cross the adaptively selected strategy of code check.
It is comprised the following steps that:
Step 41:Obtain the network bandwidth b of downloading slicingn:
Wherein:tn(e) represent that the time completed is downloaded in n-th of section;tn(s) represent n-th section start download when
Between;R (n) represents the selected code check of n-th of section;θ represents that duration is played in each section, here, and each section is played
Duration is all identical, and its value of identical time span is all cut into for 2 seconds when carrying out video cutting encapsulation;bnIt is n-th
The network download bandwidth value of section.
Step 42:Set up system state equation and measurement equation:
Wherein:bn+1It is the prediction download bandwidth value of (n+1)th section;Yn+1It is n+1 section bandwidth measuring value;A is shape
State transfer matrix, reflects system from the download bandwidth of n-th of section to the state change of (n+1)th;unIt is n-th of section
Dominant vector;B is control allocation matrix;qnAnd rn+1It is system noise and measurement noise, q respectivelynStatistical property E [qn]=0,
rn+1Statistical property E [rn+1]=0;H is observing matrix.
Step 43:By the optimum bandwidth value of n-th of burstRemove the state value of (n+1)th burst of predictionDue to mould
The random disturbances q of typenDo not know in advance, soUnder usual condition due to bandwidth excursion not
It is very big, it is possible to regarding the optimal download bandwidth of the prediction download bandwidth of next burst and a upper burst as
, even A=1, dominant vector un=0, obtain:
Step 44:By last error covariance pnWith system noise qnCovariance Q predict new error covariance I.e.
Wherein Q is system noise qnCovariance, its type belongs to white Gaussian noise;For (n+1)th slicer error association
The predicted value of variance, i.e., new error covariance.
Step 45:Calculate kalman gainHere measured value is
Calculated value is so H=1 is
Wherein R is measurement noise rn+1Covariance;
Step 46:It is rightCorrection updates,
NowFor the optimum bandwidth of (n+1)th burst;Yn+1For the bandwidth measuring value of (n+1)th section.
Step 47:Continue step 48 if completion is not yet all downloaded in section, otherwise exit whole prediction process.
Step 48:Estimate that the iteration of the optimum bandwidth value of the n-th+2 sections is updated operation for next step, that is, update
pn+1Value:
Pn+1It is the optimum bandwidth deviation of (n+1)th section;
Step 49, step 43 is jumped to, repeats to step 47 to terminate always.
Step 5:According to the prediction bandwidth obtained by step 4 and with reference to the remaining situation of current cache area video segment to downloading
The code check of next video segment makes a choice, and detailed process is:
Step 51:If video slicing is not downloaded all and completed, i.e., there are still prediction bandwidth, then step 52 is performed, otherwise
Downloading process terminates.
Step 52:
In order to ensure buffer area occurs without overflow and underflow, at the same ensure buffering area can effectively cancellation bandwidth fluctuation made
Into forecasting inaccuracy really bring broadcasting stagnate or buffer overflow possibility, now to two time threshold values of setting buffers
qminAnd qmax, the code to be chosen is determined according to the threshold values of setting buffers and the burst number existed and prediction bandwidth
Rate value.
Wherein, step 52 is specially:
Step 521:
Calculate n-th of burst snThe remaining duration of buffering area after the completion of download:
T(tn(e))=T (tn(s))+θ-(tn(e)-tn(s)) (8)
Wherein T (tn(e)) represent that n-th of burst has downloaded rear buffering area duration (while being also to start download (n+1)th to cut
The duration of buffering area during piece), T (tn(s)) when representing to start to download n-th of burst buffering area duration (while being also to have downloaded the
The duration of buffering area during n-1 burst).
Step 522:
As T (tn+1(s)) < qminWhen buffer area section have the possibility being finished, in order to ensure buffering area has enough regard
Frequency section must assure that T (tn+1(e))≥qmin, then its code check need meet:
ψ has no implication, and the formula equal sign left side is only calculated to obtained value and is designated as ψ.Code check r (n+1) selected by (n+1)th
Value should be max (r (1), ψ), but be due to that code check value is series of discrete value, so ensureing the smooth premise of video playback
Down final code check value be apart from max (r (1), ψ) it is nearest take fixed code check value downwards.Wherein r (1) generates for video segment
When minimum code rate.
Step 523:
As T (tn+1(s)) > qmaxWhen buffering area have the possibility that overflow goes out be loaded with enough sections, continuation, in order to true
Protecting buffering area, overflow not must assure that T (tn+1(e))≤qmax, then its code check need meet:
ξ similarly has no concrete meaning, and the value for only obtaining the formula equal sign left side is designated as ξ;
Situation one:R (p) >=ξ is in order to ensure video pictures small shake as far as possible, and the code check value of selection should be ξ, simultaneously
Because code check value is series of discrete value, thus code check value final on the premise of ensureing that video playback is smooth be apart from ξ most
Near takes fixed code check value upwards.
Situation two:During r (p) < ξ, buffer area overflow must be occurred by continuing download, in order to avoid such case occurs then
Start sleep mechanism, that is, a period of time can be suspended by downloading, and n-th of burst s is recalculated after pausenBuffered after the completion of download
The remaining duration in area, proceeds code check judgement.Wherein r (p) is maximal rate when video segment is generated.
Step 524:
Work as qmin≤T(tn+1(s))≤qmaxWhen, the burst number of buffering area is in an optimal scope, the value model of code check
Enclose for:
In order to reduce code check fluctuation, code check value is identical with upper one section code check value holding:R (n+1)=r (n).
Step 6:Step 4-5 is jumped to if video segment is without completion is all downloaded, prediction is continued executing with and downloaded
Journey, otherwise exits cyclic process, and method terminates.
The method that the present invention employs Kalman prediction in bandwidth prediction, because the principle of this method defers to pre-
The iteration process of survey-amendment, so ensure that its bandwidth prediction precision;Hold secondly as mobile client has storage
Not enough actual conditions are measured, such case most probably causes buffer area to occur " spilling " phenomenon, when lower overflow occurs for buffer area,
Video playback can be stagnated, when being overflowed in generation, bandwidth resources can not be made full use of to improve video playing quality again.
Buffer area control strategy, and the side by the way that bandwidth prediction is combined with buffer area control are added again in order to solve this problem
Method predicts the code check of video segment to be downloaded, can so cause the selected slice code check can to meet the actual feelings of client-cache
Condition, the problem of reduction is brought by buffer overflow, preferentially ensure that video smooth playing, and selected code check can be made to meet network again
Bandwidth actual change situation, it is ensured that video quality, greatly enhances user's viewing experience.
The foregoing is merely illustrative of the preferred embodiments of the present invention, is not intended to limit the scope of the present invention.It is all
Any modification, equivalent substitution and improvements made within the spirit and principles in the present invention etc., are all contained in protection scope of the present invention
It is interior.
Claims (7)
1. the dynamic self-adapting code rate selection method based on MPEG-DASH agreements, it is characterised in that specifically enter according to following steps
OK:
Step 1, the HTTP connections of server and client are set up;
Step 2, user end to server sends HTTP Get requests, and request is downloaded MPD file and stored;
Step 3, server is received carries out response transmission MPD file to client after the request of client, client is to MPD file
It is downloaded and the MPD file of download is parsed;In order that video can be commenced play out as early as possible, according to parsing MPD file
Range of code rates corresponding to the URL of resulting video slicing first downloads a part of video segment with minimum code rate, and server is received
Video segment file is sent to client after to request, client is downloaded to section file;
Step 4, network bandwidth when being cut into slices to step 3 foradownloaded video is calculated, and is counted and is recorded and uses Kalman filtering
Predicted method is predicted to network bandwidth when downloading next video slicing;
Step 5, it is according to the prediction bandwidth obtained by step 4 and next to downloading with reference to the remaining situation of current cache area video segment
The code check of individual video segment makes a choice;
Step 6, step 4-5 is jumped to if video segment is without completion is all downloaded, continues executing with prediction and downloading process, it is no
Cyclic process is then exited, method terminates.
2. the dynamic self-adapting code rate selection method according to claim 1 based on MPEG-DASH agreements, its feature exists
In the detailed process of the step 1 is:
Step 11:Create a URL object;
Step 12:Create a HTTP link;
Step 13:Data are obtained using IO streams.
3. the dynamic self-adapting code rate selection method according to claim 1 based on MPEG-DASH agreements, its feature exists
In the detailed process of the step 2 is:
Step 21:Judge that MPD file whether there is, 0 is otherwise returned if returning to 1 in the presence of if;
Step 22:File is downloaded when file is not present;
Step 23:Stored to downloading the file completed.
4. the dynamic self-adapting code rate selection method according to claim 1 based on MPEG-DASH agreements, its feature exists
In the detailed process of the step 3 is:
Step 31:Obtain the specified attribute of Representation elements in MPD file, it is only necessary to obtain id, width,
Tri- attributes of height;
Step 32:Obtain the URL of each grade video segment in MPD file;
Step 33:The video segment that minimum code rate is chosen in the URL addresses according to obtained by parsing MPD file is downloaded.
5. the dynamic self-adapting code rate selection method according to claim 1 based on MPEG-DASH agreements, its feature exists
In the detailed process of the step 4 is:
Step 41:Obtain the network bandwidth b of downloading slicingn:
Wherein:tn(e) represent that the time completed is downloaded in n-th of section;tn(s) represent that n-th of section starts the time downloaded;r
(n) the selected code check of n-th of section is represented;θ represents that duration is played in each section, and its value is 2 seconds;bnIt is to cut for n-th
The network download bandwidth value of piece;
Step 42:Set up system state equation and measurement equation:
Wherein:bn+1It is the prediction download bandwidth value of (n+1)th section;Yn+1It is n+1 section bandwidth measuring value;A is that state turns
Matrix is moved, system is reflected from the download bandwidth of n-th of section to the state change of (n+1)th;unIt is the control of n-th of section
Vector;B is control allocation matrix;qnAnd rn+1It is system noise and measurement noise, q respectivelynStatistical property E [qn]=0, rn+1
Statistical property E [rn+1]=0;H is observing matrix;
Step 43:By the optimum bandwidth value of n-th of burstRemove the state value of (n+1)th burst of predictionDue to model
Random disturbances qnDo not know in advance, soBy the prediction download bandwidth of next burst and upper one
The optimal download bandwidth of individual burst be considered as it is identical, even A=1, dominant vector un=0, obtain:
Step 44:By last error covariance pnNew error covariance is predicted with system noise qn covariance QI.e.
Wherein Q is system noise qnCovariance, type belongs to white Gaussian noise;For (n+1)th slicer error covariance
Predicted value, i.e., new error covariance;
Step 45:Calculate kalman gainHere measured value is meter
Calculation value is so H=1 is
Wherein R is measurement noise rn+1Covariance;
Step 46:It is rightCorrection updates,
NowFor the optimum bandwidth of (n+1)th burst;Yn+1For the bandwidth measuring value of (n+1)th section;
Step 47:Continue step 48 if completion is not yet all downloaded in section, otherwise exit whole prediction process;
Step 48:Estimate that the iteration of the optimum bandwidth value of the n-th+2 sections is updated operation for next step, that is, update pn+1Value:
Pn+1It is the optimum bandwidth deviation of (n+1)th section;
Step 49, step 43 is jumped to, repeats to step 47 to terminate always.
6. the dynamic self-adapting code rate selection method according to claim 1 based on MPEG-DASH agreements, its feature exists
In the detailed process of the step 5 is:
Step 51:If video slicing is not downloaded all and completed, i.e., there are still prediction bandwidth, then step 52 is performed, is otherwise downloaded
Process terminates;
Step 52:
In order to ensure buffer area occurs without overflow and underflow, at the same ensure buffering area can effectively cancellation bandwidth fluctuation caused by
Broadcasting stagnation or the possibility of buffer overflow that forecasting inaccuracy is really brought, now to two time threshold values q of setting buffersminWith
qmax, the code check value to be chosen is determined according to the threshold values of setting buffers and the burst number existed and prediction bandwidth.
7. the dynamic self-adapting code rate selection method according to claim 6 based on MPEG-DASH agreements, its feature exists
In the detailed process of the step 52 is:
Step 521:
Calculate n-th of burst snThe remaining duration of buffering area after the completion of download:
T(tn(e))=T (tn(s))+θ-(tn(e)-tn(s)) (8)
Wherein T (tn(e)) represent that n-th of burst has downloaded rear buffering area duration, while being also when starting to download (n+1)th section
The duration of buffering area, T (tn(s) duration of buffering area when) representing to start to download n-th of burst, while being also to have downloaded (n-1)th
The duration of buffering area during individual burst;
Step 522:
As T (tn+1(s)) < qminWhen buffer area section have the possibility being finished, in order to ensure buffering area has enough videos to cut
Piece must assure that T (tn+1(e))≥qmin, then its code check need meet:
The formula equal sign left side is only calculated obtained value and is designated as ψ, code check r (n+1) value selected by (n+1)th is by ψ without implication
Max (r (1), ψ), but be due to that code check value is series of discrete value, so final on the premise of ensureing that video playback is smooth
Code check value be apart from max (r (1), ψ) it is nearest take fixed code check value downwards, wherein r (1) is minimum when video segment is generated
Code check;
Step 523:
As T (tn+1(s)) > qmaxWhen buffering area have the possibility that overflow goes out be loaded with enough sections, continuation, in order to ensure
Overflow does not ensure T (t to buffering arean+1(e))≤qmax, then its code check need meet:
ξ is without implication, and the value for only obtaining the formula equal sign left side is designated as ξ;
Situation one:R (p) >=ξ is in order to ensure video pictures small shake as far as possible, and the code check value of selection is ξ, simultaneously because code check
Value is series of discrete value, so code check value final on the premise of ensureing that video playback is smooth is apart from nearest upward of ξ
Take fixed code check value;
Situation two:During r (p) < ξ, buffer area overflow must be occurred by continuing download, in order to avoid such case occurs then to start
Sleep mechanism, that is, a period of time can be suspended by downloading, and n-th of burst s is recalculated after pausenBuffering area is remained after the completion of download
Remaining duration, proceeds code check judgement, and wherein r (p) is maximal rate when video segment is generated;
Step 524:
Work as qmin≤T(tn+1(s))≤qmaxWhen, the burst number of buffering area is in an optimal scope, the span of code check
For:
In order to reduce code check fluctuation, code check value is identical with upper one section code check value holding:R (n+1)=r (n).
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710240780.0A CN106993237B (en) | 2017-04-13 | 2017-04-13 | Dynamic self-adapting code rate selection method based on MPEG-DASH agreement |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710240780.0A CN106993237B (en) | 2017-04-13 | 2017-04-13 | Dynamic self-adapting code rate selection method based on MPEG-DASH agreement |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106993237A true CN106993237A (en) | 2017-07-28 |
CN106993237B CN106993237B (en) | 2019-05-10 |
Family
ID=59416160
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710240780.0A Expired - Fee Related CN106993237B (en) | 2017-04-13 | 2017-04-13 | Dynamic self-adapting code rate selection method based on MPEG-DASH agreement |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106993237B (en) |
Cited By (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108063955A (en) * | 2017-12-15 | 2018-05-22 | 重庆邮电大学 | The code check switching method of dynamic self-adapting transmission of video based on state machine |
CN108833996A (en) * | 2018-07-03 | 2018-11-16 | 湖北大学 | Service node selection, update and code rate adaptive approach in distributed DASH system |
CN108924667A (en) * | 2018-08-03 | 2018-11-30 | 阳雨哲 | A kind of maximized available bandwidth adaptive video fragment request method of support QoE |
CN108989838A (en) * | 2018-08-07 | 2018-12-11 | 刘子和 | A kind of DASH code rate adaptive approach based on complexity of video content perception |
CN109040855A (en) * | 2018-09-03 | 2018-12-18 | 重庆邮电大学 | A kind of wireless DASH streaming media bit rate smooth adaptive transmission method |
CN109302623A (en) * | 2018-11-01 | 2019-02-01 | 南京大学 | A kind of transmission method based on QoE model dynamic self-adapting video |
CN109672910A (en) * | 2018-12-25 | 2019-04-23 | 北京微播视界科技有限公司 | Video broadcasting method, device, electronic equipment and computer readable storage medium |
CN109714631A (en) * | 2019-02-26 | 2019-05-03 | 华南理工大学 | One kind being based on HTTP video flowing dynamic self-adaptation bit-rate selection method |
CN109996087A (en) * | 2019-03-21 | 2019-07-09 | 武汉大学 | A kind of code rate adaptive approach and device towards net cast based on finite state machine |
CN110198495A (en) * | 2019-06-28 | 2019-09-03 | 广州市百果园信息技术有限公司 | A kind of method, apparatus, equipment and the storage medium of video download and broadcasting |
CN111225209A (en) * | 2018-11-23 | 2020-06-02 | 北京字节跳动网络技术有限公司 | Video data plug flow method, device, terminal and storage medium |
CN111447448A (en) * | 2020-04-13 | 2020-07-24 | 武汉理工大学 | DASH video code rate selection method based on user experience and terminal energy consumption |
WO2020155959A1 (en) * | 2019-01-30 | 2020-08-06 | 上海哔哩哔哩科技有限公司 | Definition switching method and apparatus, computer device, and readable storage medium |
CN111510790A (en) * | 2019-01-30 | 2020-08-07 | 上海哔哩哔哩科技有限公司 | Video request method, system, computer device and computer readable storage medium |
CN112437321A (en) * | 2020-11-11 | 2021-03-02 | 天津大学 | Adaptive code rate calculation method based on live broadcast streaming media |
CN112543357A (en) * | 2020-11-26 | 2021-03-23 | 郑州铁路职业技术学院 | Streaming media data transmission method based on DASH protocol |
CN113382078A (en) * | 2021-06-21 | 2021-09-10 | 上海哔哩哔哩科技有限公司 | Data processing method and device |
CN113411643A (en) * | 2021-05-26 | 2021-09-17 | 中国人民解放军国防科技大学 | Video quality optimization method, system, electronic equipment and storage medium |
CN113453076A (en) * | 2020-03-24 | 2021-09-28 | 中国移动通信集团河北有限公司 | User video service quality evaluation method and device, computing equipment and storage medium |
CN113473248A (en) * | 2020-03-30 | 2021-10-01 | 中国电信股份有限公司 | Streaming media transmission method, device and computer readable storage medium |
CN113645228A (en) * | 2021-08-09 | 2021-11-12 | 北京凌壹世纪科技有限公司 | Code rate self-adaptive video distribution method and system |
WO2022183922A1 (en) * | 2021-03-04 | 2022-09-09 | 北京字跳网络技术有限公司 | Adaptive video playing method, and device |
CN115988267A (en) * | 2022-12-20 | 2023-04-18 | 哈尔滨工业大学(深圳) | DASH-based video code rate self-adaptive adjustment method and system |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110270913A1 (en) * | 2010-04-29 | 2011-11-03 | Irdeto Corporate B.V. | Controlling an adaptive streaming of digital content |
US20130044801A1 (en) * | 2011-08-16 | 2013-02-21 | Sébastien Côté | Dynamic bit rate adaptation over bandwidth varying connection |
CN103338393A (en) * | 2013-06-13 | 2013-10-02 | 西安交通大学 | Video code rate selecting method driven by user experience under HSPA system |
CN103974147A (en) * | 2014-03-07 | 2014-08-06 | 北京邮电大学 | MPEG (moving picture experts group)-DASH protocol based online video playing control system with code rate switch control and static abstract technology |
CN105025330A (en) * | 2014-04-30 | 2015-11-04 | 深圳Tcl新技术有限公司 | Media file playing control method and apparatus based on DASH protocol |
CN105744299A (en) * | 2014-12-08 | 2016-07-06 | 深圳Tcl数字技术有限公司 | Dynamic code rate switching method, server and system |
CN106028085A (en) * | 2016-06-14 | 2016-10-12 | 浙江工业大学 | DASH-based multi-client-side code rate self-adaption and oscillation compensation method |
CN106303704A (en) * | 2016-08-19 | 2017-01-04 | 上海交通大学 | A kind of DASH flow medium live system based on proxy server and method |
-
2017
- 2017-04-13 CN CN201710240780.0A patent/CN106993237B/en not_active Expired - Fee Related
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110270913A1 (en) * | 2010-04-29 | 2011-11-03 | Irdeto Corporate B.V. | Controlling an adaptive streaming of digital content |
US20130044801A1 (en) * | 2011-08-16 | 2013-02-21 | Sébastien Côté | Dynamic bit rate adaptation over bandwidth varying connection |
CN103338393A (en) * | 2013-06-13 | 2013-10-02 | 西安交通大学 | Video code rate selecting method driven by user experience under HSPA system |
CN103974147A (en) * | 2014-03-07 | 2014-08-06 | 北京邮电大学 | MPEG (moving picture experts group)-DASH protocol based online video playing control system with code rate switch control and static abstract technology |
CN105025330A (en) * | 2014-04-30 | 2015-11-04 | 深圳Tcl新技术有限公司 | Media file playing control method and apparatus based on DASH protocol |
CN105744299A (en) * | 2014-12-08 | 2016-07-06 | 深圳Tcl数字技术有限公司 | Dynamic code rate switching method, server and system |
CN106028085A (en) * | 2016-06-14 | 2016-10-12 | 浙江工业大学 | DASH-based multi-client-side code rate self-adaption and oscillation compensation method |
CN106303704A (en) * | 2016-08-19 | 2017-01-04 | 上海交通大学 | A kind of DASH flow medium live system based on proxy server and method |
Cited By (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108063955A (en) * | 2017-12-15 | 2018-05-22 | 重庆邮电大学 | The code check switching method of dynamic self-adapting transmission of video based on state machine |
CN108063955B (en) * | 2017-12-15 | 2020-02-11 | 重庆邮电大学 | State machine based code rate switching method for dynamic self-adaptive video transmission |
CN108833996A (en) * | 2018-07-03 | 2018-11-16 | 湖北大学 | Service node selection, update and code rate adaptive approach in distributed DASH system |
CN108833996B (en) * | 2018-07-03 | 2020-07-10 | 湖北大学 | Service node selection, update and code rate self-adaption method in distributed DASH system |
CN108924667A (en) * | 2018-08-03 | 2018-11-30 | 阳雨哲 | A kind of maximized available bandwidth adaptive video fragment request method of support QoE |
CN108989838A (en) * | 2018-08-07 | 2018-12-11 | 刘子和 | A kind of DASH code rate adaptive approach based on complexity of video content perception |
CN109040855A (en) * | 2018-09-03 | 2018-12-18 | 重庆邮电大学 | A kind of wireless DASH streaming media bit rate smooth adaptive transmission method |
CN109302623B (en) * | 2018-11-01 | 2020-06-09 | 南京大学 | QoE model-based dynamic adaptive video transmission method |
CN109302623A (en) * | 2018-11-01 | 2019-02-01 | 南京大学 | A kind of transmission method based on QoE model dynamic self-adapting video |
CN111225209A (en) * | 2018-11-23 | 2020-06-02 | 北京字节跳动网络技术有限公司 | Video data plug flow method, device, terminal and storage medium |
CN111225209B (en) * | 2018-11-23 | 2022-04-12 | 北京字节跳动网络技术有限公司 | Video data plug flow method, device, terminal and storage medium |
CN109672910A (en) * | 2018-12-25 | 2019-04-23 | 北京微播视界科技有限公司 | Video broadcasting method, device, electronic equipment and computer readable storage medium |
CN111510790B (en) * | 2019-01-30 | 2021-10-15 | 上海哔哩哔哩科技有限公司 | Video request method, system, computer device and computer readable storage medium |
US11496536B2 (en) | 2019-01-30 | 2022-11-08 | Shanghai Bilibili Technology Co., Ltd. | Method of requesting video, computing device, and computer-program product |
WO2020155959A1 (en) * | 2019-01-30 | 2020-08-06 | 上海哔哩哔哩科技有限公司 | Definition switching method and apparatus, computer device, and readable storage medium |
CN111510790A (en) * | 2019-01-30 | 2020-08-07 | 上海哔哩哔哩科技有限公司 | Video request method, system, computer device and computer readable storage medium |
US11303949B2 (en) | 2019-01-30 | 2022-04-12 | Shanghai Bilibili Technology Co., Ltd. | Method of switching resolution, computing device, and computer-readable storage medium |
CN109714631A (en) * | 2019-02-26 | 2019-05-03 | 华南理工大学 | One kind being based on HTTP video flowing dynamic self-adaptation bit-rate selection method |
CN109996087A (en) * | 2019-03-21 | 2019-07-09 | 武汉大学 | A kind of code rate adaptive approach and device towards net cast based on finite state machine |
CN110198495A (en) * | 2019-06-28 | 2019-09-03 | 广州市百果园信息技术有限公司 | A kind of method, apparatus, equipment and the storage medium of video download and broadcasting |
CN110198495B (en) * | 2019-06-28 | 2022-03-22 | 广州市百果园信息技术有限公司 | Method, device, equipment and storage medium for downloading and playing video |
CN113453076A (en) * | 2020-03-24 | 2021-09-28 | 中国移动通信集团河北有限公司 | User video service quality evaluation method and device, computing equipment and storage medium |
CN113453076B (en) * | 2020-03-24 | 2023-07-14 | 中国移动通信集团河北有限公司 | User video service quality evaluation method, device, computing equipment and storage medium |
CN113473248A (en) * | 2020-03-30 | 2021-10-01 | 中国电信股份有限公司 | Streaming media transmission method, device and computer readable storage medium |
CN111447448A (en) * | 2020-04-13 | 2020-07-24 | 武汉理工大学 | DASH video code rate selection method based on user experience and terminal energy consumption |
CN111447448B (en) * | 2020-04-13 | 2022-02-01 | 武汉理工大学 | DASH video code rate selection method based on user experience and terminal energy consumption |
CN112437321A (en) * | 2020-11-11 | 2021-03-02 | 天津大学 | Adaptive code rate calculation method based on live broadcast streaming media |
CN112437321B (en) * | 2020-11-11 | 2022-04-19 | 天津大学 | Adaptive code rate calculation method based on live broadcast streaming media |
CN112543357A (en) * | 2020-11-26 | 2021-03-23 | 郑州铁路职业技术学院 | Streaming media data transmission method based on DASH protocol |
CN112543357B (en) * | 2020-11-26 | 2023-09-08 | 郑州铁路职业技术学院 | Stream media data transmission method based on DASH protocol |
WO2022183922A1 (en) * | 2021-03-04 | 2022-09-09 | 北京字跳网络技术有限公司 | Adaptive video playing method, and device |
CN113411643A (en) * | 2021-05-26 | 2021-09-17 | 中国人民解放军国防科技大学 | Video quality optimization method, system, electronic equipment and storage medium |
CN113382078B (en) * | 2021-06-21 | 2022-07-08 | 上海哔哩哔哩科技有限公司 | Data processing method and device |
CN113382078A (en) * | 2021-06-21 | 2021-09-10 | 上海哔哩哔哩科技有限公司 | Data processing method and device |
CN113645228A (en) * | 2021-08-09 | 2021-11-12 | 北京凌壹世纪科技有限公司 | Code rate self-adaptive video distribution method and system |
CN115988267A (en) * | 2022-12-20 | 2023-04-18 | 哈尔滨工业大学(深圳) | DASH-based video code rate self-adaptive adjustment method and system |
CN115988267B (en) * | 2022-12-20 | 2023-09-15 | 哈尔滨工业大学(深圳) | Video code rate self-adaptive adjustment method and system based on DASH |
Also Published As
Publication number | Publication date |
---|---|
CN106993237B (en) | 2019-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106993237A (en) | Dynamic self-adapting code rate selection method based on MPEG DASH agreements | |
CN104205769B (en) | The DASH clients and receiver of the improvement selected using playback rate | |
CN104471955B (en) | The method and server to multiple media apparatus are provided by video content | |
US10110650B2 (en) | Client side stream switching | |
CN109302623B (en) | QoE model-based dynamic adaptive video transmission method | |
EP2300928B1 (en) | Client side stream switching | |
US9374406B2 (en) | Dash client and receiver with a download rate estimator | |
US20090125636A1 (en) | Payload allocation methods for scalable multimedia servers | |
CN104412253B (en) | The method of self adaptation stream transmission is known for the quality in hypertext transfer protocol | |
US20140136653A1 (en) | Dash client and receiver with download rate acceleration | |
CN103004190B (en) | Video stream | |
CN103905924B (en) | The video adaptive reception method and apparatus of end side | |
CN104620595A (en) | Proactive video frame dropping | |
WO2017084277A1 (en) | Code stream self-adaption method and system for online media service | |
Nguyen et al. | An adaptive streaming method of 360 videos over HTTP/2 protocol | |
CN108023864A (en) | Streaming Media method for pushing and device | |
Togou et al. | An elastic dash-based bitrate adaptation scheme for smooth on-demand video streaming | |
CN114416013A (en) | Data transmission method, data transmission device, electronic equipment and computer-readable storage medium | |
Thang et al. | Video streaming over HTTP with dynamic resource prediction | |
Ameur | TCP protocol optimization for HTTP adaptive streaming | |
Park et al. | Rate adaptation scheme for HTTP-based streaming to achieve fairness with competing TCP traffic | |
Khorov et al. | Analytical Study of Adaptive Video Generation in CCTV Over Public Wireless Networks | |
CN106790047A (en) | A kind of method of the dynamic adjustment video code rate based on PID controller | |
WO2010049879A1 (en) | Method for buffering streaming data and a terminal device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20190510 |
|
CF01 | Termination of patent right due to non-payment of annual fee |