CN108063955B - State machine based code rate switching method for dynamic self-adaptive video transmission - Google Patents

State machine based code rate switching method for dynamic self-adaptive video transmission Download PDF

Info

Publication number
CN108063955B
CN108063955B CN201711344574.0A CN201711344574A CN108063955B CN 108063955 B CN108063955 B CN 108063955B CN 201711344574 A CN201711344574 A CN 201711344574A CN 108063955 B CN108063955 B CN 108063955B
Authority
CN
China
Prior art keywords
code rate
level
rate
video
max
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.)
Active
Application number
CN201711344574.0A
Other languages
Chinese (zh)
Other versions
CN108063955A (en
Inventor
黄胜
胡凌炜
付园鹏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chongqing University of Post and Telecommunications
Original Assignee
Chongqing University of Post and Telecommunications
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Chongqing University of Post and Telecommunications filed Critical Chongqing University of Post and Telecommunications
Priority to CN201711344574.0A priority Critical patent/CN108063955B/en
Publication of CN108063955A publication Critical patent/CN108063955A/en
Application granted granted Critical
Publication of CN108063955B publication Critical patent/CN108063955B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/239Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
    • H04N21/2393Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4331Caching operations, e.g. of an advertisement for later insertion during playback
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64723Monitoring of network processes or resources, e.g. monitoring of network load
    • H04N21/64738Monitoring network characteristics, e.g. bandwidth, congestion level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64746Control signals issued by the network directed to the server or the client
    • H04N21/64761Control signals issued by the network directed to the server or the client directed to the server
    • H04N21/64769Control signals issued by the network directed to the server or the client directed to the server for rate control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6587Control parameters, e.g. trick play commands, viewpoint selection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

The invention belongs to the field of multimedia communication, in particular to a code rate switching method of dynamic self-adaptive video transmission based on a state machine, which comprises the following steps: the server side slices the stored video, and each video clip has K code rate grades; the client calculates the average code rate, the mean square error and the average bandwidth of the N video clips according to the N newly downloaded video clips; obtaining a code rate offset rate and a playing cache of the client when the downloading of the kth video clip is completed; according to different ranges of the play cache and different ranges of the code rate offset rate, code rate switching is carried out according to a code rate state switching formula; the invention takes the relation between the video code rate and the numerical value change of the influencing factors as the state transition condition, and switches the code rate to the code rate grade with relatively optimal overall performance of video quality and playing fluency under the condition of ensuring that the playing cache and the code rate offset rate are in certain threshold values, thereby achieving better user watching experience.

Description

State machine based code rate switching method for dynamic self-adaptive video transmission
Technical Field
The invention belongs to the field of multimedia communication, and particularly relates to a code rate switching method for dynamic self-adaptive video transmission based on a state machine.
Background
The traditional Streaming media technology, such as Real-Time Transport Protocol (RTP) and Real-Time Streaming Protocol (RTSP), has the problems of firewall, Network Address Translation (NAT) traversal, high installation and deployment cost, and the like. Dynamic Adaptive streaming over HyperText Transfer Protocol (HTTP) (DASH) technology has been developed. The HTTP protocol is adopted as the transmission protocol because the HTTP data packet can well solve the problems of firewall and network address conversion and traversal, and meanwhile, the existing network service system architecture can be effectively utilized, so that the existing HTTP server can provide good video service, and the deployment cost is greatly reduced. The MPEG-DASH is used as a unified international standard to solve the compatibility problem among the prior HTTP dynamic self-adaptation technologies, and the principle is to encode the original video content into a plurality of Media streams with different code rates, equally divide each Media stream into a plurality of data segments according to time axis information and store the data segments in a server, and uniformly describe all the Media streams and the data segment information thereof by using a Media Presentation Description (MPD) file, so that a client can automatically select the Media data segments with proper code rates to download and play according to the network environment of the client during playing.
Various technologies of the MPEG-DASH standard are developed all the time, various applications and extensions appear, and a code rate adaptive switching algorithm, which is a core technology of dynamic adaptive streaming media transmission, does not always have a standard, so that the code rate adaptive algorithm based on the MPEG-DASH becomes a research hotspot in the field of streaming media transmission. Due to the dynamic nature of the network situation, it is difficult to maintain satisfactory user experience in the whole session process of requesting video, and if there is no efficient code rate adaptive switching algorithm, the user may encounter the situations of frequent code rate switching, buffering, code rate step and the like in the watching process. For example, when the video bitrate is higher than the network bandwidth, network congestion may be caused, thereby consuming the play buffer and causing buffering; if the video bitrate is lower than the bandwidth, the video quality cannot reach the best quality allowed by the bandwidth, resulting in a poor viewing experience. The existing code rate adaptive method is mainly considered from three aspects of transmission bandwidth, play cache and Quality of Experience (QoE). The method based on bandwidth mainly carries out certain smoothing treatment on the estimated value of the available bandwidth according to the available bandwidth of the network, so that the video clip code rate is adaptively switched according to the estimated value of the bandwidth, however, the algorithm has lower bandwidth utilization rate after smoothing treatment is carried out on the estimated bandwidth; the code rate self-adaptive control algorithm based on the play cache has the main idea that the play cache of a client is controlled within a certain range by requesting video segments with different code rates, so that the continuous play of videos is ensured, and although the method can ensure the continuous play of the videos, the problems of frequent code rate switching and the like exist; CN103945245A discloses that by dynamically monitoring the buffer interval state, when the video buffer is not in the set buffer interval, the code rate is switched; however, the bandwidth utilization rate of the method is not high, and the switching times and the average video code rate cannot be comprehensively considered in the selection of the buffer interval; the QoE-based code rate adaptive control algorithm has the main idea that the QoE is theoretically analyzed and defined, and a certain control method is used for controlling the requested video code rate, so that the best QoE is achieved; and the algorithm adopted by the method has higher time complexity.
Disclosure of Invention
In view of this, the method of the present invention is directed to the problem that the video bitrate adaptive algorithm of the existing HTTP dynamic adaptive streaming media transmission technology cannot solve the contradiction between the fluency of playing and the video quality well; the invention aims to provide a code rate switching method for video transmission, which can fully consider the bandwidth utilization rate and the code rate switching amplitude, in particular to a Dynamic self-Adaptive video code rate switching method (State machine based Dynamic Adaptive streaming HTTP, SDASH) based on a State machine, and the method can provide better QoE for a client in the process of requesting videos.
In order to achieve the purpose, the invention provides the following technical scheme: a code rate switching method for dynamic self-adaptive video transmission based on a state machine comprises the following steps:
the server side slices the stored video, and each video clip has K different code rate grades;
the client calculates the average code rate m of N video clips which have finished downloading kSum mean square error σ kAnd the average bandwidth b of the N video segments N
Obtaining the code rate deviation rate theta kAnd the playing buffer q of the client when the kth video clip is downloaded k
According to the playing buffer q of the client when the kth video clip is downloaded kDifferent range of (2) and code rate offset rate theta kThe (k + 1) th video segment is positioned in the code rate level L (k+1)jFrom the bitrate level L of the kth video segment kiPerforming code rate switching according to a code rate state switching formula;
wherein the K different code rate levels comprise:
{L k1,...,L k(i-1),L ki,L k(i+1),....,L kK},L kirepresents the bitrate level of the ith video clip, i.e. the bitrate level i e {1, 2.. multidata, K }, L of the kth video clip k1<...<L k(i-1)<L ki<L k(i+1)<....<L kK
Wherein, preferably, the k +1 th video segment is located at the code rate level L (k+1)jComprises the following steps: l is (k+1)j∈{L k1,...,L k(i-1),L ki,L k(i+1),....,L kK};L (k+1)jRepresents the jth bitrate level of the (K + 1) th video clip, wherein j belongs to {1, 2., K }.
Further, preferably, the buffer q is cached according to the play of the client when the kth video clip is downloaded completely kDifferent range of (2) and code rate offset rate theta kThe code rate switching according to the code rate state switching formula comprises:
the play cache q of the client end is downloaded according to the kth video clip kAnd the code rate offset rate theta kThe (k + 1) th video segment is positioned in the code rate level L (k+1)jFrom the bitrate level L of the kth video segment kiThe code rate switching according to the code rate state switching formula comprises the following steps:
s1, judging the playing buffer q of the client when the kth video clip is downloaded kWhether the bit rate is greater than the first play buffer and less than the second play buffer, and the bit rate offset rate theta kWhether the code rate deviation rate is larger than the first code rate deviation rate and smaller than the second code rate deviation rate or not is judged, if yes, the maximum QoE influence factor Q of the code rate of the (k + 1) th video clip is calculated k+1_maxCorresponding code rate level L maxThe code rate level L of the k +1 th segment code rate (k+1)jSwitching to code rate level L maxIf not, go to step S2;
s2, judging the playing buffer q of the client when the kth video clip is downloaded kIf the number of the first play buffers is smaller than the first play buffer, go to step S3 if the number of the first play buffers is smaller than the first play buffer, otherwise go to step S5;
s3, rate level L of the kth video clip kiTwo levels are decreased to obtain a transition code rate level L ktJudging whether the conditional transition code rate level L is satisfied kt≥L k1If yes, calculating the k +1 th video clip code rate and setting the k +1 th video clip code rate as a transition code rate level L ktThen, the obtained play buffer estimated value q is calculated k+1_tAnd step S4 is repeated, otherwise, the code rate level L of the k +1 th fragment code rate is calculated (k+1)jIs set to L k1(ii) a The process is over, wherein the code rate level L is transited ktRepresenting the transitional code rate level of the kth video clip;
s4, judging the playing buffer q of the client when the kth video clip is downloaded kWhether or not it is smaller than the play buffer estimation value q k+1_tIf the bit rate is less than the preset value, the code rate level L of the (k + 1) th fragment code rate is judged (k+1)jCut into transition code rate level L ktIf the flow is finished, otherwise, turning to step S3;
s5, judging whether the playing buffer code rate deviation rate is larger than the second code rate deviation rate or not, and the playing buffer q of the client when the kth video clip is downloaded kIf the bit rate is greater than the first play cache and less than the second play cache, the bit rate level L of the (k + 1) th segment code rate is determined (k+1)jSwitch to target state L kbIf not, continuing; wherein the target state L kbRepresenting the target bitrate level of the kth video segment, i.e. the bitrate closest to the average bandwidth, etcStage, L kb∈{L k1,...,L k(i-1),L ki,L k(i+1),....,L kK};
S6, carrying out pause request operation with pause time tau sAnd the code rate level L of the (k + 1) th fragment code rate is calculated (k+1)iRate level L for switching to k-th video segment ki
Further, the maximum value Q of QoE influence factors of the (k + 1) th fragment code rate k+1_maxThe method comprises the following steps:
Figure BDA0001509047090000041
wherein the content of the first and second substances,
Figure BDA0001509047090000042
indicating the QoE influencing factor when the bitrate level of the (k + 1) th video clip is kept unchanged, i.e. the bitrate level of the (k + 1) th video clip is kept at L kiA temporal QoE impact factor; indicating a code rate level of L k(i+1)The QoE of the user's mobile terminal,
Figure BDA0001509047090000044
indicating a code rate level of L k(i-1)QoE influencing factor of (1), wherein L k(i+1)Representing the bitrate level of the i +1 th of the k-th video segment, L k(i-1)Representing the rate level of the i-1 th video segment; i belongs to {1, 2.,. K }, and correspondingly, the maximum value Q of QoE influence factors of the (K + 1) th video clip code rate k+1_maxCorresponding code rate level L maxMay correspond to L ki、L k(i+1)Or L k(i-1)
Preferably, the QoE impact includes:
Q k=a*Q_m-b*Q_σ
where { a, b | a + b ═ 1, a >0, b >0} is a coefficient of two influence factors, Q _ m represents the influence of video quality on QoE, and Q _ σ represents the influence of fluency of playback on QoE.
Preferably, the Q _ m indicating the impact of the video quality on the QoE includes:
Q_m=ln(m k+ε)
the Q _ σ represents the influence of the fluency of the play on the QoE, including:
Figure BDA0001509047090000051
wherein ε and
Figure BDA0001509047090000052
the above formula shows that the higher the video code rate, the smaller the mean square error, the better the video playing fluency, and m is kAnd σ kAre directly related to the bitrate of the video segment.
Preferably, the average code rate m kThe method comprises the following steps:
Figure BDA0001509047090000053
wherein v is iRepresenting a code rate level L kiThe corresponding code rate;
preferably, the code rate offset rate θ kThe method comprises the following steps:
Figure BDA0001509047090000054
wherein, b NMean bandwidth, m, representing the latest N video segments downloaded kIndicating the average bitrate of the latest N downloaded video segments.
Further, the play buffer estimation value q k+1_tThe method comprises the following steps:
Figure BDA0001509047090000055
wherein, tau sRepresenting pause time, T representing duration of a video segment, v k+1Indicating the bitrate of the (k + 1) th video segment.
Further, the code rate state switching formula corresponds to a code rate grade state; the code rate level state comprises: a code rate level transition state, a code rate level target state, a code rate level holding state, a code rate level plus one state, a code rate level minus one state and a code rate level pause request state.
Preferably, the code rate state switching formula includes:
Figure BDA0001509047090000061
wherein L is kiIndicates the bitrate level, L, of the kth video segment ktIndicating a transitional code rate level, L kbIndicating the target state, i.e. the code rate level closest to the average bandwidth, L (k+1)jIndicates the code rate level, L, of the k +1 th video segment k(i+1)Representing the bitrate level of the i +1 th of the k-th video segment, L k(i-1)Representing the rate level of the i-1 th video segment; i ∈ {1, 2., K }.
Definition of theta maxIs the maximum threshold of code rate deviation, i.e. the second code rate deviation rate theta of the present invention maxPreferably, the first bitrate offset rate is 0, so that the bitrate offset rate is kept within a certain range, and when the video bitrate and the network bandwidth are kept consistent within a certain range, a stabilizing effect can be exerted on the play cache, so that the bitrate is prevented from being periodically switched as much as possible, and the limiting condition is expressed by the following formula:
0≤θ k≤θ max
definition of q min、q maxBuffer storage q for playing respectively kI.e. the first play buffer q of the present invention minSecond play buffer q max(ii) a In order to play the cache of the client after the kth video clip is requested, the playing cache stored by the client cannot directly correspond to the duration of the playable content due to different code rates of the video clips, so that the playable duration of the video clip cached by the client is directly adopted to represent the playing cache, and q is ensured to be q kCan avoid the insufficient buffer memory by keeping within a certain rangeResulting in problems such as playback stalls or buffer overflows.
When q is kWhen the two threshold ranges are exceeded, the code rate needs to be switched according to a certain criterion so as to keep the code rate within the threshold. Since the play pause condition will occur due to insufficient play buffer, and the influence of play pause on the viewing process of the client is most intuitive, the method first needs to make q kSatisfies the formula q min<q k<q max. Meanwhile, the video quality and the playing fluency can be intuitively felt by the client in the watching process, so that the Q needs to be maximized when the next bitrate segment is requested k+1
The invention has the beneficial effects that: a code rate self-adaptive algorithm based on a state machine is provided, QoE influence factors in a video watching process are analyzed, the code rate self-adaptive process is analyzed and controlled by the state machine, the relation between the numerical value change of the influence factors and the code rate is used as a state transfer condition according to a certain criterion, a higher video code rate is provided for a client under the condition of ensuring less code rate switching times, the situations of code rate step, abrupt drop and the like are avoided as much as possible, and the code rate offset rate theta is larger than the standard value kThe initial code rate can be switched to the high code rate quickly by introducing the method, and meanwhile, the lower initial playing time delay can be ensured, so that better QoE is provided.
Drawings
FIG. 1 is a flow chart of the present invention;
FIG. 2 is a state transition diagram of video bitrate of the present invention;
FIG. 3 is a graph of the bandwidth variation of the present invention;
fig. 4 is a schematic diagram of code rate switching and play buffer according to the present invention.
Detailed Description
In the following, embodiments of the present invention will be described in detail with reference to the accompanying drawings, as shown in fig. 1, in the bit rate switching method for dynamic adaptive video transmission based on a state machine of the present invention, a server stores a video slice of a certain video content, and a server cuts a stored video into a plurality of video segments, where each video segment has K bit rate levels;
calculating the average code rate m of N video clips which are downloaded by the client terminal latest kMean square error σ kAnd average bandwidth b N(ii) a Obtaining the code rate deviation rate theta kAnd the playing buffer q of the client when the kth video clip is downloaded k(ii) a According to the playing cache q of the client when the kth video clip is downloaded kAnd the code rate offset rate theta kThe (k + 1) th video segment is positioned in the code rate level L (k+1)jFrom the bitrate level L of the kth video segment kiAnd carrying out code rate switching according to a code rate state switching formula.
Further, preferably, the play cache q of the client is cached according to the completion of the downloading of the kth video clip kDifferent range of (2) and code rate offset rate theta kThe (k + 1) th video segment is positioned in the code rate level L (k+1)jFrom the bitrate level L of the kth video segment kiPerforming code rate switching according to a code rate state switching formula, which specifically comprises:
s1, judging the playing buffer q of the client when the kth video clip is downloaded kWhether the bit rate is greater than the first play buffer and less than the second play buffer, and the bit rate offset rate theta kWhether the code rate deviation rate is larger than the first code rate deviation rate and smaller than the second code rate deviation rate or not is judged, if yes, the maximum QoE influence factor Q of the code rate of the (k + 1) th video clip is calculated k+1_maxCorresponding code rate level L maxThe code rate level L of the k +1 th segment code rate (k+1)jSwitching to code rate level L maxIf not, go to step S2;
s2, judging the playing buffer q of the client when the kth video clip is downloaded kIf the number of the first play buffers is smaller than the first play buffer, go to step S3 if the number of the first play buffers is smaller than the first play buffer, otherwise go to step S5;
s3, rate level L of the kth video clip kiTwo levels are decreased to obtain a transition code rate level L ktJudging whether the conditional transition code rate level L is satisfied kt≥L k1If yes, calculating the k +1 th video sliceSetting the segment code rate to the transition code rate level L ktThen, the obtained play buffer estimated value q is calculated k+1_tAnd step S4 is repeated, otherwise, the code rate level L of the k +1 th fragment code rate is calculated (k+1)jIs set to L k1(ii) a The process is over, wherein the code rate level L is transited ktRepresenting the transitional code rate level of the kth video clip; l is kt∈{L k1,...,L k(i-1),L ki,L k(i+1),....,L kK};
S4, judging the playing buffer q of the client when the kth video clip is downloaded kWhether or not it is smaller than the play buffer estimation value q k+1_tIf the bit rate is less than the preset value, the code rate level L of the (k + 1) th fragment code rate is judged (k+1)jSwitch to transitional code rate level L ktIf the flow is finished, otherwise, turning to step S3;
s5, judging whether the playing buffer code rate deviation rate is larger than the second code rate deviation rate or not, and the playing buffer q of the client when the kth video clip is downloaded kIf the bit rate is greater than the first play cache and less than the second play cache, the bit rate level L of the (k + 1) th segment code rate is determined (k+1)jSwitch to target state L kbIf the code rate is higher than the threshold value, the process is ended, otherwise, the process is continued; wherein the target state L kbRepresenting the target bitrate level of the kth video segment, i.e. the bitrate level closest to the average bandwidth, L kb∈{L k1,...,L k(i-1),L ki,L k(i+1),....,L kK};
S6, carrying out pause request operation with pause time tau sThe code rate level L of the k +1 th segment code rate (k+1)jRate level L for switching to k-th video segment ki
Preferably, when i is equal to 1 or i is equal to K, the code rate level of the K +1 th segment code rate cannot be decreased or increased, and the code rate level of the K +1 th segment code rate remains unchanged, that is, remains the located code rate level of the K-th segment code rate.
Further, Q of k +1 th segment code rate k+1_maxThe method comprises the following steps:
Figure BDA0001509047090000091
wherein the content of the first and second substances,
Figure BDA0001509047090000092
represents the QoE influencing factor when the bitrate level of the (k + 1) th video clip is kept unchanged, indicating a code rate level of L k(i+1)The QoE of the user's mobile terminal, indicating a code rate level of L k(i-1)QoE influencing factor of (1), wherein L k(i+1)Representing the bitrate level of the i +1 th of the k-th video segment, L k(i-1)Representing the rate level of the i-1 th video segment; i ∈ {1, 2., K }.
Preferably, the QoE impact includes:
Q k=aQ_m-bQ_σ
where { a, b | a + b ═ 1, a >0, b >0} is a coefficient of two influence factors, Q _ m represents the influence of video quality on QoE, and Q _ σ represents the influence of fluency of playback on QoE.
Preferably, the Q _ m indicating the impact of the video quality on the QoE includes:
Q_m=ln(m k+ε)
the Q _ σ represents the influence of the fluency of the play on the QoE, including:
Figure BDA0001509047090000095
wherein ε and
Figure BDA0001509047090000096
the above formula shows that the higher the video code rate, the smaller the mean square error, the better the video playing fluency, and m is kAnd σ kAre directly related to the bitrate of the video segment.
Further, the method can be used for preparing a novel materialSaid play-out buffer estimate q k+1_tThe method comprises the following steps:
Figure BDA0001509047090000097
wherein, tau sRepresenting pause time, T representing duration of a video segment, v k+1Indicating the bitrate of the (k + 1) th video segment.
q k+1Representing that the playing cache when the download of the (k + 1) th segment is finished is the playing cache when the download of the (k + 1) th segment is started, the segment length T is added, and then the time required for downloading the (k + 1) th segment is subtracted; wherein q is k+1I.e. the buffer time consumed by the player during the download. In addition, if the bandwidth is too high and there is a possibility of overflow of the play-out buffer, a pause request mechanism is needed to prevent buffer overflow, and the pause time is τ s
Further, the code rate state switching formula corresponds to a code rate grade state; the code rate level state comprises: a code rate level transition state, a code rate level target state, a code rate level holding state, a code rate level plus one state, a code rate level minus one state and a code rate level pause request state.
Preferably, the code rate state switching formula includes:
wherein L is kiIndicates the bitrate level, L, of the kth video segment ktIndicating a transitional code rate level, L kbIndicating the target state, i.e. the code rate level closest to the average bandwidth, L (k+1)jIndicates the code rate level, L, of the k +1 th video segment k(i+1)Representing the bitrate level of the i +1 th of the k-th video segment, L k(i-1)Representing the rate level of the i-1 th video segment; i ∈ {1, 2., K }.
Selecting Q under the condition of meeting the requirements of play cache and code rate offset rate at a certain threshold value k+1_maxThe corresponding code rate. Based on formA video bitrate level state transition diagram of the dynamic adaptive video bitrate switching method of the state machine is shown in fig. 2. On the premise of meeting the total switching criterion, the code rate level after the ascending or descending operation is required to belong to a code rate level set { L ] which is preset to represent the k-th video clip k1,...,L k(i-1),L ki,L k(i+1),....,L kKIn which L is k1<...<L k(i-1)<L ki<L k(i+1)<....<L kKThe state transition conditions 1 to 5 in fig. 2 can be expressed as:
condition 1:
Figure BDA0001509047090000102
that is, the play cache q of the client when the kth video clip is downloaded kGreater than the first play buffer q minAnd is smaller than the second play buffer q maxAnd rate offset ratio theta kGreater than the first code rate offset rate and less than the second code rate offset rate theta maxAnd QoE influence factor maximum of k +1 th video segment code rate
Figure BDA0001509047090000111
At this time, L (k+1)j=L kiSwitching the code rate grade of the k +1 th video segment to the code rate grade of the k video segment;
condition 2:
Figure BDA0001509047090000112
that is, the play cache q of the client when the kth video clip is downloaded kGreater than the first play buffer q minAnd is smaller than the second play buffer q maxAnd rate offset ratio theta kGreater than the first code rate offset rate and less than the second code rate offset rate theta maxAnd QoE impact factor maximum Q of k +1 th video segment code rate k+1_maxIs composed of
Figure BDA0001509047090000113
Time, simultaneously, the (i + 1) th of the k-th video segmentIs less than or equal to the Kth code rate level of the kth video segment, at this time, L (k+1)j=L k(i+1)Switching the code rate grade of the k +1 th video segment to the code rate grade of the i +1 th video segment;
condition 3:
Figure BDA0001509047090000114
that is, the playing buffer q of the client end when the kth video clip is downloaded kGreater than the first play buffer q minAnd is smaller than the second play buffer q maxAnd rate offset ratio theta kGreater than the first code rate offset rate and less than the second code rate offset rate theta maxAnd QoE impact factor maximum Q of k +1 th video segment code rate k+1_maxIs composed of At the same time, the code rate grade of the (i-1) th video segment is less than or equal to the code rate grade of the 1 st video segment, and at the moment, L (k+1)j=L k(i-1)Switching the code rate grade of the (k + 1) th video segment to the code rate grade of the (i-1) th video segment;
next, the analysis is performed for the condition 4 when θ kmax&&q min<q k<q maxWhen the play buffer is within the specific threshold, that is, when the play buffer is smaller than the second play buffer and larger than the first play buffer, the situation of buffer overflow or play pause caused by buffer shortage will not occur, but the shift of the average code rate of the N segments relative to the average bandwidth is large, so that the L is divided into L segments kiSwitch to be closest to b NCode rate level L of kb. Thus, condition 4 is:
condition 4: theta kmax&&q min<q k<q max
In addition, in the initial stage of video request, in order to ensure the lowest possible initial playing time delay T sSetting the initial code rate to L k1When broadcastingThe play cache reaches a first play cache q minWhen the formula 0 is not more than theta k≤θ maxCan directly get the initial code rate from L k1Is lifted to L kbThe method does not need to go through the stage of gradually increasing the code rate, thereby providing the high code rate segment for the client as soon as possible, and at the moment, L (k+1)j=L kbThat is, the bitrate level of the (k + 1) th video segment is switched to the target bitrate level of the kth video segment.
Condition 5: q. q.s k≤q min
If condition 5 is satisfied, and L kiWhen the corresponding code rate is high, in order to avoid the great negative effect of code rate sudden drop on the QoE as much as possible, a transition code rate needs to be set to reduce the amplitude of code rate drop. Let { L kt|L kt=L k(i-2n)And i-2n>0, n is 1,2,3 k+1_tIn order to calculate the playing buffer estimated value after setting the k +1 th segment code rate as the transition code rate, when q is k≤q k+1_tWhen the current k-th video segment is in the code rate level L, the code rate of the current k-th video segment is determined according to the code rate level L, namely the estimated playing cache of the next segment after the code rate is reduced by 2n levels is larger than the current playing cache, and the operation can enable the playing cache to show an ascending trend kiSwitch to transitional rate level L kt(ii) a Otherwise, the current code rate grade L kiDown to the initial code rate level L k1
Condition 6: q. q.s k≥q max
In the case that the play cache satisfies the condition 6, an operation of a pause request is required, when q is k<q maxThen, the client can continue to request the video clip from the server, and at this time, L (k+1)j=L kiThat is, the bitrate level of the k +1 th video segment is still equal to the bitrate level L of the k-th video segment ki
The invention adopts the design idea of a state machine to analyze and control the code rate switching process; the state machine controls code rate switching by monitoring the numerical value change of the QoE influence factors and fully utilizing the relation between the influence factors and each code rate state, so that the switching process has better QoE. In DASH-based video transmission systems, the main influencing factors of QoE are the following four: video quality, fluency of playing, playing pause times and pause duration, and initial playing time delay.
Setting a transitional code rate level L ktIn order to avoid the negative influence on QoE caused by code rate shock drop under the condition that the bandwidth fluctuation occurs or the playing cache of a client is insufficient, the code rate L is set kbThe level is to improve the bandwidth utilization rate in the video clip request process, and the purpose of setting the pause request state is to avoid wasting the bandwidth and overflowing the buffer after the play buffer reaches a certain threshold. Assume that the code rate level of the k-th segment is L ki
Preferably, the average code rate m kThe method comprises the following steps:
Figure BDA0001509047090000131
wherein v is iCode rate L of expression grade kiThe corresponding code rate.
Preferably, the fluency of the playing is represented by a mean square error σ kA characterization comprising:
Figure BDA0001509047090000132
however, only q will be used when making rate switch decisions min<q k<q maxAs a premise, the k +1 th segment rate is set as Q k+1_maxThe corresponding code rate often causes frequent switching of the code rate; q k+1_maxMost likely to be obtained under the condition of code rate grade maintenance or code rate grade plus one, and after a certain time of high code rate, the play buffer is lower than q minThen, a code rate reduction operation is required, the code rate is gradually increased after a certain time, and the process is repeated. Aiming at the problem, the invention introduces the code rate offset rate theta kI.e. the absolute value of the shift rate of the average code rate of the N video segments with respect to the average bandwidth, preferably, the rate shift rate θ kThe method comprises the following steps:
Figure BDA0001509047090000133
wherein, b NRepresenting the average bandwidth of N video segments, m kRepresenting the average bitrate of N video segments.
The invention considers the play fluency in QoE influence factors, the code rate switching amplitude is taken as one of important influence factors, especially when the play cache is lower than a certain threshold, play pause can be caused, the play pause can be intuitively felt by a user, the code rate reduction operation is needed at the moment, but the code rate is suddenly reduced when the code rate is directly switched to the initial code rate, so that a corresponding transition state L is needed to be set for code rate switching kt. Simultaneously, considering the network bandwidth utilization rate in the video transmission process, the code rate level L closest to the average bandwidth kbSet to one of the target states.
Definition of theta maxIs the maximum threshold of code rate deviation, i.e. the second code rate deviation rate theta of the present invention maxPreferably, the first bitrate offset rate is 0, so that the bitrate offset rate is kept within a certain range, and when the video bitrate and the network bandwidth are kept consistent within a certain range, a stabilizing effect can be exerted on the play cache, so that the bitrate is prevented from being periodically switched as much as possible, and the limiting condition is expressed by the following formula:
0≤θ k≤θ max
video quality in QoE-influencing factors by average bitrate m of N video segments kTo quantitatively describe, the fluency of the playing, namely the code rate switching frequency and amplitude, can be described by the mean square deviation sigma of the code rates of the N segments kTo quantify the description.
Definition of q min、q maxBuffer storage q for playing respectively kI.e. the first play buffer q of the present invention minSecond play buffer q max(ii) a The client end plays and caches the requested kth video segment, and the client end has different code rates due to the fact that the video segments have different code ratesThe playing cache stored by the client can not directly correspond to the duration of the playable content, so the playable duration of the video clip cached by the client is directly adopted to represent the playing cache, and q is ensured kThe problems of playing pause or buffer overflow and the like caused by insufficient buffer can be avoided by keeping the buffer within a certain range.
When q is kWhen the two threshold ranges are exceeded, the code rate needs to be switched according to a certain criterion so as to keep the code rate within the threshold. Because the condition of playing pause is caused by insufficient playing buffer, and the influence of playing pause on the watching process of a client is most intuitive, the method adopted by the invention firstly needs to enable q to be the most kSatisfies the formula q min<q k<q max. Meanwhile, the video quality and the playing fluency can be intuitively felt by the client in the watching process, so that the Q needs to be maximized when the next bitrate segment is requested k+1
As an alternative, the present invention assumes a video bitrate level { L } stored in the server k1,L k2,...,L k5|L k1<L k2<...<L k5300Kbps,700Kbps,1500Kbps,2500Kbps and 3500Kbps, each video clip has a fixed length of 2 seconds, the entire video has a length of 500 seconds, ε and take 1 and both influencers a and b take 0.5. Definition b NAverage transmission bandwidth of N video clips recently requested when the kth video clip is downloaded, b kAverage transmission bandwidth for downloading the k-th video segment, q kFor the play cache of the client when the kth video clip is downloaded kCode rate of the k-th segment, L kiIs the code rate v kAnd the corresponding code rate levels, wherein the most recently requested N video clips in the kth video clip are the kth-N +1 video clip to the kth video clip. Assuming that the network bandwidth changes during video transmission as shown in fig. 4, the bandwidth is in rapid change during the whole transmission.
To reduce as much as possibleSetting the initial code rate of the client request to L with small initial time delay k1300Kbps, i.e. the initial state of the state machine is set to 300Kbps, three thresholds q in the state transition condition are set min、q maxAnd theta max10 seconds, 90 seconds and 0.25 respectively, the number of video segments N required for calculating the average code rate and the average bandwidth is set to 6, and the pause time tau sIt was 10 seconds. Assuming that the video segments are continuously requested, the average bitrate m thereof kMean square error σ kAnd average bandwidth b NIt can be calculated from the following formula:
Figure BDA0001509047090000151
Figure BDA0001509047090000153
wherein v is iCode rate L of expression grade kiCorresponding code rate, b pRepresenting the bandwidth of the p-th video segment;
as shown in fig. 3, the initial network bandwidth is set to 2000Kbps, and the initial bitrate level is set to 300Kbps, so the play buffer rises rapidly in the initial stage, when the play buffer reaches the set first play buffer q minThen, the rate offset ratio theta is set at this time kA second code rate offset rate theta greater than a set threshold value maxAccording to the state transition condition 4, the state machine directly changes the code rate from the initial code rate L k1Is lifted to L kbThe method does not need to go through the stage of gradually increasing the code rate, thereby providing the high-code-rate fragments for the client as soon as possible. As can be seen from fig. 4, when the play buffer reaches 10 seconds, according to the state transition condition 4, the bit rate offset rate θ is equal to kGreater than a set second code rate offset rate theta maxI.e. 0.25 later, the client requested rate segment quickly rises from the initial rate level of 300Kbps to the nearest average bandwidth b NCode rate level L of kbI.e. 1500 Kbps.
When the transmission proceeds to 285 seconds, the play cache of the client is lower than the first play cache q minAccording to the state transition condition 5, the code rate is switched to the transition code rate L kt。L ktThe specific value of (a) requires the calculation of q k+1_tJudging whether the condition q is satisfied k≤q k+1_t. At 285 s, the code rate is 2500Kbps, and according to the state transition condition 5, the code rate is firstly reduced by two levels, namely 700Kbps, and q is obtained by calculation k+1_tSatisfies the condition q k≤q k+1_tThen the code rate is switched to 700 Kbps. When the play cache is promoted, the formula q is satisfied again min<q k<q maxThen, the code rate deviation rate satisfies 0 ≦ theta k≤θ maxThen L will be k(i-1)、L kiAnd L k(i+1)That is, QoE is calculated for 300Kbps,700Kbps and 1500Kbps, respectively, and Q is calculated k+1Thus, when the code rate is 1500Kbps, Q can be obtained k+1_maxSo the code rate is switched to 1500 Kbps.
The state transition condition 1, the condition 2 and the condition 3 are also respectively satisfied at different time, and corresponding code rate switching operation is carried out. Because the client play cache does not exceed the second play cache q in the whole process of requesting the video maxI.e. the length of the video segment does not exceed the second play buffer q maxThe set time is 90 seconds, so that the playback is not tentative.
The invention analyzes QoE influence factors in the video watching process, analyzes and controls the code rate self-adaption process by adopting a state machine, takes the relation between the numerical value change of the influence factors and the code rate as the condition of state transition according to a certain criterion, provides higher video code rate for customers under the condition of ensuring less code rate switching times, and avoids the occurrence of the conditions of code rate step, sudden drop and the like as much as possible, and the code rate offset rate theta kThe initial code rate can be switched to the high code rate quickly by introducing the method, and meanwhile, the lower initial playing time delay can be ensured, so that better QoE is provided.
The invention can provide higher video code rate for the client under the condition of ensuring less code rate switching times, avoids the conditions of code rate step, sudden drop and the like as much as possible, can quickly switch the initial code rate to the high code rate at the initial stage of the fragment request, and can ensure lower initial playing time delay, thereby providing better QoE.
Furthermore, the terms "first", "second", "third", "fourth" are used for descriptive purposes only and are not to be construed as indicating or implying a relative importance or implicitly indicating the number of technical features indicated, whereby the features defined as "first", "second", "third", "fourth" may explicitly or implicitly include at least one such feature.
Finally, it is noted that the above-mentioned preferred embodiments illustrate rather than limit the invention, and that, although the invention has been described in detail with reference to the above-mentioned preferred embodiments, it will be understood by those skilled in the art that various changes in form and detail may be made therein without departing from the scope of the invention as defined by the appended claims.

Claims (6)

1. A code rate switching method for dynamic self-adaptive video transmission based on a state machine is characterized by comprising the following steps:
the server side slices the stored video, and each video clip has K different code rate grades;
the client calculates the average code rate m of N video clips which have finished downloading kMean square error sigma corresponding to code rates of N video segments kAnd average bandwidth b N
Obtaining the code rate deviation rate theta kAnd the playing buffer q of the client when the kth video clip is downloaded k
According to the playing buffer q of the client when the kth video clip is downloaded kDifferent range of (2) and code rate offset rate theta kThe (k + 1) th video segment is positioned in the code rate level L (k+1)jFrom the bitrate level L of the kth video segment kiCode rate switching according to code rate state switching formulaWherein the K different code rate levels comprise:
{L k1,...,L k(i-1),L ki,L k(i+1),....,L kK},L kirepresenting the bitrate grade of the ith video clip, namely the bitrate grade of the kth video clip, wherein i belongs to {1,2,. multidata, K }, and j belongs to {1,2,. multidata, K }; l is k1<...<L k(i-1)<L ki<L k(i+1)<....<L kKThe N video segments that have completed downloading include: from the k-N +1 th video segment to the k-th video segment;
the process of switching the code rate according to the code rate state switching formula comprises the following steps:
condition 1:
Figure FDA0002261046620000011
that is, the play cache q of the client when the kth video clip is downloaded kGreater than the first play buffer q minAnd is smaller than the second play buffer q maxAnd rate offset ratio theta kGreater than the first code rate offset rate and less than the second code rate offset rate theta maxAnd QoE impact factor maximum Q of k +1 th video segment code rate k+1_maxIs composed of
Figure FDA0002261046620000012
At this time, L (k+1)j=L kiSwitching the code rate grade of the k +1 th video segment to the code rate grade of the k video segment;
condition 2:
Figure FDA0002261046620000013
that is, the play cache q of the client when the kth video clip is downloaded kGreater than the first play buffer q minAnd is smaller than the second play buffer q maxAnd rate offset ratio theta kGreater than the first code rate offset rate and less than the second code rate offset rate theta maxAnd QoE impact factor maximum Q of k +1 th video segment code rate k+1_maxIs composed of
Figure FDA0002261046620000021
Meanwhile, the code rate grade of the (i + 1) th video clip is less than or equal to the code rate grade of the Kth video clip, and at the moment, L (k+1)j=L k(i+1)Switching the code rate grade of the k +1 th video segment to the code rate grade of the i +1 th video segment;
condition 3: that is, the playing buffer q of the client end when the kth video clip is downloaded kGreater than the first play buffer q minAnd is smaller than the second play buffer q maxAnd rate offset ratio theta kGreater than the first code rate offset rate and less than the second code rate offset rate theta maxAnd QoE impact factor maximum Q of k +1 th video segment code rate k+1_maxIs composed of At the same time, the code rate grade of the (i-1) th video segment is less than or equal to the code rate grade of the 1 st video segment, and at the moment, L (k+1)j=L k(i-1)Switching the code rate grade of the (k + 1) th video segment to the code rate grade of the (i-1) th video segment;
condition 4: theta kmax&&q min<q k<q max
When the play cache reaches the first play cache q minWhen the formula 0 is not more than theta k≤θ maxCan directly get the initial code rate from L k1Is lifted to L kbAt this time, L (k+1)j=L kbThat is, the bit rate level of the (k + 1) th video segment is switched to the target bit rate level of the k-th video segment;
condition 5: q. q.s k≤q min
If condition 5 is satisfied, { L } is set kt|L kt=L k(i-2n)And i-2n>0, n is 1,2,3 k+1_tIn order to calculate the playing buffer estimated value after setting the k +1 th segment code rate as the transition code rate, when q is k≤q k+1_tWhen the current k-th video segment is in the code rate level L, namely the estimated playing cache of the next segment with the code rate reduced by 2n levels is larger than the current playing cache kiSwitch to transitional rate level L kt(ii) a Otherwise, the current code rate grade L kiDown to the initial code rate level L k1
Condition 6: q. q.s k≥q max
When the play cache meets the condition 6, the operation of a pause request needs to be performed; when q is k<q maxThen the client continues to request the video clip from the server, at this time, L (k+1)j=L kiThat is, the bitrate level of the k +1 th video segment is still equal to the bitrate level L of the k-th video segment ki
The code rate offset rate theta kThe method comprises the following steps:
Figure FDA0002261046620000031
wherein, b NMean bandwidth, m, representing the latest N video segments downloaded kIndicating the average bitrate of the latest N downloaded video segments.
2. The method of claim 1, wherein the buffer q is cached according to a playback time of the client when the kth video segment is completely downloaded kAnd the code rate offset rate theta kThe (k + 1) th video segment is positioned in the code rate level L (k+1)jFrom the bitrate level L of the kth video segment kiThe code rate switching according to the code rate state switching formula comprises the following steps:
s1, judging when the download of the kth video clip is finishedClient play cache q kWhether the bit rate is greater than the first play buffer and less than the second play buffer, and the bit rate offset rate theta kWhether the code rate deviation rate is larger than the first code rate deviation rate and smaller than the second code rate deviation rate or not is judged, if yes, the maximum value Q of the QoE influence factors of the code rate of the (k + 1) th video clip is calculated k+1_maxCorresponding code rate level L maxThe code rate level L of the k +1 th segment code rate (k+1)jSwitching to the code rate level L maxIf not, go to step S2;
s2, judging the playing buffer q of the client when the kth video clip is downloaded kIf the number of the first play buffers is smaller than the first play buffer, go to step S3 if the number of the first play buffers is smaller than the first play buffer, otherwise go to step S5;
s3, rate level L of the kth video clip kiTwo levels are decreased to obtain a transition code rate level L ktJudging whether the conditional transition code rate level L is satisfied kt≥L k1If yes, setting the k +1 th video clip code rate as a transition code rate level L ktThen, the obtained play buffer estimated value q is calculated k+1_tAnd step S4 is repeated, otherwise, the code rate level L of the k +1 th fragment code rate is calculated (k+1)jIs set to L k1And the process ends, wherein the code rate level L is transited ktRepresenting the transitional code rate level of the kth video clip; l is kt∈{L k1,...,L k(i-1),L ki,L k(i+1),....,L kK};
S4, judging the playing buffer q of the client when the kth video clip is downloaded kWhether or not it is smaller than the play buffer estimation value q k+1_tIf the bit rate is less than the preset value, the code rate level L of the (k + 1) th fragment code rate is judged (k+1)jSwitch to transitional code rate level L ktIf the flow is finished, otherwise, turning to step S3;
s5, judging whether the playing buffer code rate deviation rate is larger than the second code rate deviation rate or not, and the playing buffer q of the client when the kth video clip is downloaded kIf the bit rate is greater than the first play cache and less than the second play cache, the bit rate level L of the (k + 1) th segment code rate is determined (k+1)jSwitch to target state L kbThe level of the code rate of (a),ending the process, otherwise, continuing to enter the next step; wherein the target state L kbRepresenting the target bitrate level of the kth video segment, i.e. the bitrate level closest to the average bandwidth, L kb∈{L k1,...,L k(i-1),L ki,L k(i+1),....,L kK};
S6, carrying out pause request operation with pause time tau sThe code rate level L of the k +1 th segment code rate (k+1)jSwitching to the code rate level L of the kth video segment ki
3. The method of claim 2, wherein the QoE impact factor maximum Q for calculating the bitrate of the (k + 1) th video segment is calculated k+1_maxCorresponding code rate level L maxThe method comprises the following steps:
Figure FDA0002261046620000041
wherein the content of the first and second substances,
Figure FDA0002261046620000042
indicating the QoE influencing factor when the bitrate level of the (k + 1) th video clip is kept unchanged, i.e. the bitrate level of the (k + 1) th video clip is kept at L kiA temporal QoE impact factor;
Figure FDA0002261046620000043
indicating a code rate level of L k(i+1)The QoE of the user's mobile terminal,
Figure FDA0002261046620000044
indicating a code rate level of L k(i-1)The QoE influence factor of (k + 1) th video clip code rate, the QoE influence factor maximum value Q k+1_maxCorresponding code rate level L maxThe method comprises the following steps: l is max∈{L ki,L k(i+1),L k(i-1)}; wherein L is k(i+1)I < th > representing k < th > video segmentCode rate level of +1, L k(i-1)Representing the rate level of the i-1 th video segment; i ∈ {1, 2., K }.
4. The method of claim 2, wherein the playback buffer estimate q is a bit rate estimate for a state machine based dynamic adaptive video transmission k+1_tThe method comprises the following steps:
Figure FDA0002261046620000045
wherein, tau sRepresenting pause time, T representing duration of a video segment, v k+1Indicating the bitrate of the (k + 1) th video segment.
5. The method of claim 1, wherein the bit rate state switching formula corresponds to a bit rate class state; the code rate level state comprises: a code rate level transition state, a code rate level target state, a code rate level holding state, a code rate level plus one state, a code rate level minus one state and a code rate level pause request state.
6. The method according to any of claims 1-5, wherein the bitrate state switching formula comprises:
wherein L is kiIndicates the bitrate level, L, of the kth video segment ktIndicating a transitional code rate level, L kbIndicating the target state, i.e. the code rate level closest to the average bandwidth, L (k+1)jIndicates the code rate level, L, of the k +1 th video segment k(i+1)Representing the bitrate level of the i +1 th of the k-th video segment, L k(i-1)I-1 of the k video segmentThe code rate level of (2); i ∈ {1, 2., K }.
CN201711344574.0A 2017-12-15 2017-12-15 State machine based code rate switching method for dynamic self-adaptive video transmission Active CN108063955B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711344574.0A CN108063955B (en) 2017-12-15 2017-12-15 State machine based code rate switching method for dynamic self-adaptive video transmission

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711344574.0A CN108063955B (en) 2017-12-15 2017-12-15 State machine based code rate switching method for dynamic self-adaptive video transmission

Publications (2)

Publication Number Publication Date
CN108063955A CN108063955A (en) 2018-05-22
CN108063955B true CN108063955B (en) 2020-02-11

Family

ID=62138946

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711344574.0A Active CN108063955B (en) 2017-12-15 2017-12-15 State machine based code rate switching method for dynamic self-adaptive video transmission

Country Status (1)

Country Link
CN (1) CN108063955B (en)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108833995B (en) * 2018-06-08 2020-10-27 西安交通大学 Transmission method of self-adaptive streaming media in wireless network environment
CN108924667B (en) * 2018-08-03 2021-01-15 阳雨哲 Available bandwidth self-adaptive video fragment request method supporting QoE maximization
CN109040855B (en) * 2018-09-03 2021-01-29 重庆邮电大学 Wireless DASH streaming media code rate smooth self-adaptive transmission method
CN109379632B (en) * 2018-10-25 2020-02-14 中国地质大学(武汉) Code rate gradual switching method and system for dynamic self-adaptive HTTP (hyper text transport protocol) stream
CN109348265A (en) * 2018-11-27 2019-02-15 湖南国科微电子股份有限公司 Based on the live broadcasting method and system under HLS multi-code stream mode
CN109996087B (en) * 2019-03-21 2020-04-24 武汉大学 Code rate self-adaption method and device for live video broadcast based on finite state machine
CN110087109B (en) * 2019-04-19 2020-09-29 中国科学院信息工程研究所 Video code rate self-adaption method and device, electronic equipment and storage medium
CN110267100B (en) * 2019-07-12 2022-01-25 北京达佳互联信息技术有限公司 Code rate switching method and device for FLV (flash video), electronic equipment and storage medium
CN110460875A (en) * 2019-08-05 2019-11-15 北京达佳互联信息技术有限公司 A kind of switching method of video code rate, device, electronic equipment and storage medium

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101330352A (en) * 2008-05-06 2008-12-24 华中科技大学 Method for controlling self-adaption code rate for flow media transmission
CN102957672A (en) * 2011-08-25 2013-03-06 中国电信股份有限公司 Method, client side and system for self-adaptive playing of FLV (flash video) media streams
CN104159109A (en) * 2014-05-28 2014-11-19 百视通网络电视技术发展有限责任公司 Bit rate control method and system based on VBR video encoding
CN105263037A (en) * 2014-07-18 2016-01-20 中国科学院声学研究所 Self-adaptive streaming method based on client cache
CN105872615A (en) * 2016-06-27 2016-08-17 北京邮电大学 Method and device for adjusting video transmission code rates
CN106507024A (en) * 2016-11-17 2017-03-15 北京数码视讯技术有限公司 A kind of self-adaption code rate method of adjustment and device
CN106993237A (en) * 2017-04-13 2017-07-28 中北大学 Dynamic self-adapting code rate selection method based on MPEG DASH agreements

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8352996B2 (en) * 2008-06-27 2013-01-08 Microsoft Corporation Adaptive video switching for variable network conditions

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101330352A (en) * 2008-05-06 2008-12-24 华中科技大学 Method for controlling self-adaption code rate for flow media transmission
CN102957672A (en) * 2011-08-25 2013-03-06 中国电信股份有限公司 Method, client side and system for self-adaptive playing of FLV (flash video) media streams
CN104159109A (en) * 2014-05-28 2014-11-19 百视通网络电视技术发展有限责任公司 Bit rate control method and system based on VBR video encoding
CN105263037A (en) * 2014-07-18 2016-01-20 中国科学院声学研究所 Self-adaptive streaming method based on client cache
CN105872615A (en) * 2016-06-27 2016-08-17 北京邮电大学 Method and device for adjusting video transmission code rates
CN106507024A (en) * 2016-11-17 2017-03-15 北京数码视讯技术有限公司 A kind of self-adaption code rate method of adjustment and device
CN106993237A (en) * 2017-04-13 2017-07-28 中北大学 Dynamic self-adapting code rate selection method based on MPEG DASH agreements

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"基于HTTP的动态自适应流技术综总数";朱晓晨,沈苏彬;《系统仿真学报》;20131130;第25卷(第11期);正文第2522-2533页全文 *

Also Published As

Publication number Publication date
CN108063955A (en) 2018-05-22

Similar Documents

Publication Publication Date Title
CN108063955B (en) State machine based code rate switching method for dynamic self-adaptive video transmission
CN109040855B (en) Wireless DASH streaming media code rate smooth self-adaptive transmission method
US20210367993A1 (en) Methods and devices for efficient adaptive bitrate streaming
CN110248247B (en) Embedded dynamic video playing control method and device based on network throughput
EP3022884B1 (en) Quality optimization with buffer and horizon constraints in adaptive streaming
CN110198495B (en) Method, device, equipment and storage medium for downloading and playing video
KR102472155B1 (en) How to Broadcast Streaming Content in a Peer to Peer (P2P) Network
CN108833996B (en) Service node selection, update and code rate self-adaption method in distributed DASH system
Zhou et al. A control-theoretic approach to rate adaption for DASH over multiple content distribution servers
EP2383999A1 (en) Controlling an adaptive streaming of digital content
CN106686409B (en) Streaming media code rate self-adaption method and device, server and terminal
Zhou et al. Buffer-based smooth rate adaptation for dynamic HTTP streaming
Zhou et al. TFDASH: A fairness, stability, and efficiency aware rate control approach for multiple clients over DASH
Zhang et al. LAPAS: Latency-aware playback-adaptive streaming
Koffka et al. A DASH Survey: the ON-OFF Traffic Problem and Contemporary Solutions
Kim et al. Content-aware rate adaptation scheme to improve stability in HTTP Adaptive Streaming
Togou et al. An elastic dash-based bitrate adaptation scheme for smooth on-demand video streaming
Martín et al. Q-learning based control algorithm for HTTP adaptive streaming
CN113207015B (en) Task scheduling strategy generation method and device, storage medium and computer equipment
Park et al. Client-side rate adaptation scheme for HTTP adaptive streaming based on playout buffer model
Mushtaq et al. Regulating QoE for adaptive video streaming using BBF method
Coutinho et al. Just-in-time proactive caching for dash video streaming
Bezerra et al. DBuffer: A state machine oriented control system for DASH
Kang A Novel Bit Rate Adaptation using Buffer Size Optimization for Video Streaming
Park et al. Queueing theoretic approach to playout buffer model for HTTP Adaptive Streaming

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant