CN112929700A - Video stream dynamic switching method based on cloud mobile phone - Google Patents

Video stream dynamic switching method based on cloud mobile phone Download PDF

Info

Publication number
CN112929700A
CN112929700A CN202110133685.7A CN202110133685A CN112929700A CN 112929700 A CN112929700 A CN 112929700A CN 202110133685 A CN202110133685 A CN 202110133685A CN 112929700 A CN112929700 A CN 112929700A
Authority
CN
China
Prior art keywords
video stream
coding rate
stream data
bandwidth
adjustment
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.)
Pending
Application number
CN202110133685.7A
Other languages
Chinese (zh)
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.)
Fujian Duoduoyun Technology Co ltd
Original Assignee
Fujian Duoduoyun Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujian Duoduoyun Technology Co ltd filed Critical Fujian Duoduoyun Technology Co ltd
Priority to CN202110133685.7A priority Critical patent/CN112929700A/en
Publication of CN112929700A publication Critical patent/CN112929700A/en
Pending legal-status Critical Current

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/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23406Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving management of server-side video buffer
    • 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/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2402Monitoring of the downstream path of the transmission network, e.g. bandwidth available
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

The invention provides a video stream dynamic switching method based on a cloud mobile phone, which is characterized in that a network bandwidth estimation unit evaluates the current network bandwidth according to the download rate of a downloaded video stream data fragment and the capacity of a current video cache unit, and a coding rate adjustment unit selects the video stream data fragment to download according to the evaluated network bandwidth and a coding rate adjustment strategy. According to the method and the device, the network condition is evaluated and analyzed, and the corresponding coding rate is converted according to a certain conversion relation to be dynamically adjusted so as to ensure that the video stream is smooth and the user experience is improved.

Description

Video stream dynamic switching method based on cloud mobile phone
[ technical field ] A method for producing a semiconductor device
The invention relates to the technical field of video stream switching, in particular to a video stream dynamic switching method based on a cloud mobile phone.
[ background of the invention ]
Because the network bandwidth fluctuates greatly when the network transmits data, bit rate decision is performed only according to the throughput of the network, and certain one-sidedness exists, if the buffer state is not considered in the decision, a series of conditions affecting the user viewing experience, such as buffer overflow, frequent bit rate switching and the like, are likely to occur. How to dynamically switch video streams based on a cloud computing service platform to ensure the video streams to be smooth becomes a technical problem which needs to be solved urgently.
[ summary of the invention ]
The application provides a video stream dynamic switching method based on a cloud mobile phone, so as to solve one or more of the above-mentioned technical problems. The dynamic switching method of the application takes the bandwidth state and the cache state as main parameters for dynamic switching. Firstly, a network bandwidth estimation unit evaluates the current network bandwidth according to the download rate of the downloaded video stream data fragments and the capacity of a current video cache unit, and then an encoding rate adjustment unit selects the video stream data fragments to download according to the evaluated network bandwidth and an encoding rate adjustment strategy. According to the method and the device, the network condition is evaluated and analyzed, and the corresponding coding rate is converted according to a certain conversion relation to be dynamically adjusted so as to ensure that the video stream is smooth and the user experience is improved.
The technical scheme adopted by the application is as follows:
a video stream dynamic switching method based on a cloud mobile phone is applied to a dynamic switching module, the dynamic switching module is composed of a network bandwidth estimation unit, a coding rate adjustment unit and a video cache unit, and the method specifically comprises the following steps:
step 1, a network bandwidth estimation unit estimates the current network bandwidth according to the download rate of downloaded video stream data fragments and the area capacity of a current video cache unit to obtain a final bandwidth estimation value, and sends the final bandwidth estimation value to an encoding rate adjustment unit;
and 2, selecting a corresponding coding rate by the coding rate adjusting unit according to the final bandwidth evaluation value and the coding rate adjusting strategy to download the video stream data segment.
Further, the network bandwidth estimation unit includes a first bandwidth estimation module, a bandwidth state evaluation module, and a cache state evaluation module.
Further, in step 1, evaluating the current network bandwidth to obtain a final bandwidth evaluation value, specifically including the following steps:
step 101, a first time bandwidth estimation module performs a first time network bandwidth estimation according to the coding rate of the video stream data segment to obtain a first time network bandwidth estimation value musAnd sending the first-time network bandwidth evaluation value to a bandwidth state evaluation module;
102, the bandwidth state evaluation module evaluates the first network bandwidth evaluation value mu according to the obtained network bandwidth jitter amplitude valuesCarrying out first adjustment;
103, the cache state evaluation module evaluates the first adjusted network bandwidth evaluation value mu according to the area capacity of the video cache units2Performing second adjustment;
and step 104, sending the final bandwidth evaluation value to a coding rate adjusting unit, and adjusting the coding rate by the coding rate adjusting unit according to the final bandwidth evaluation value.
Further, the first-time network bandwidth evaluation value musCalculated using the following formula:
Figure BDA0002926308030000031
in the above formula, W represents the number of the latest downloaded video stream data segments, bk-iRepresenting the coding rate, omega, of the k-i th video stream data segmentiRepresenting segments i of video stream dataWeight value, omega, corresponding to the coding rateiThe calculation is made by the following formula:
Figure BDA0002926308030000032
where ω is a preset parameter, and ω is equal to 0.4.
Further, in step 102, the first-time network bandwidth evaluation value μ is evaluatedsThe first adjustment is carried out, and specifically comprises the following steps:
step 1021, calculating a standard deviation δ of the coding rates of the W video stream data segments, and calculating a fluctuation coefficient θ of the real bandwidth according to the standard deviation δ, wherein a calculation formula of the fluctuation coefficient θ is as follows:
θ=δ/μs
wherein, the standard deviation δ adopts the following calculation formula:
Figure BDA0002926308030000033
step 1022, adjusting the coefficient ρ by the bandwidthvThe bandwidth mu evaluated by the network bandwidth estimation unitsPerforming a first evaluation value adjustment to obtain a first adjusted network bandwidth evaluation value mus2The calculation formula used is as follows:
μs2=ρvs
where ρ isvFor bandwidth adjustment factor, pvThe calculation formula of (a) is as follows:
ρv vρ+(1- vρ)(1-min(θ,1))2
where ρ is v Denotes ρvLower threshold of [ rho ] v Equal to 0.3.
Further, in step 103, the first adjusted network bandwidth evaluation value μ is evaluateds2And (3) performing second adjustment, and calculating by adopting the following formula:
μs3=ρbs2
where ρ isbIndicates the buffer adjustment factor, mus2Represents the estimated network bandwidth value, mu, after the first adjustments3Representing the final bandwidth evaluation value after the second adjustment;
the cache adjustment coefficient ρbCalculated using the following formula:
Figure BDA0002926308030000041
in the above-mentioned formula, bρand
Figure BDA0002926308030000042
adjusting coefficients rho for the buffers, respectivelybLower and upper threshold values of, BkFor the area size of the video buffer unit before receiving the Kth video stream data segment, BmaxThe maximum value and the lower threshold value of the area capacity of the video buffer unit
Figure BDA0002926308030000043
Is 1.5, upper threshold bρIs 0.4.
Further, in step 2, the coding rate adjustment strategy includes the following two adjustment strategies:
when the number of the downloaded video stream data fragments is less than or equal to phi, the adjustment strategy enters a quick start stage, and an encoding rate adjustment unit downloads the video stream data fragments with the lowest quality level;
a second adjustment strategy, when the number of the downloaded video stream data segments is larger than phi, the adjustment strategy enters a slow progressive adjustment stage, if the area capacity of the video cache unit is larger than the upper threshold B of the coding rateupAnd then, the coding rate adjusting unit selects and downloads the video stream data segment with the highest quality level.
Further, the starting time of the gradual and gradual adjustment phase includes:the first starting time is if the area capacity B of the current video cache unitcurGreater than the upper threshold B of the coding rateupAnd finally the bandwidth evaluation value mus3Coding rate R one level higher than current coding rate valuecur+1I.e. satisfies the condition mus3>Rcur+1&Bcur[i]>BupAnd when the current playing quality level of the video stream data fragment is higher than the current playing quality level, the coding rate adjusting unit selects the video stream data fragment which is higher than the current playing quality level by one level to perform stable switching, wherein the video stream data fragment which is higher than the current playing quality level by one level has the coding rate which is higher than the current coding rate value by one level.
Further, the starting time of the gradual and gradual adjustment phase includes: the second starting time is if the area capacity B of the video buffer unitcurLess than the lower threshold B of the coding ratedownAnd finally the bandwidth evaluation value mus3Less than the current encoding rate value RcurI.e. satisfies the condition mus3<Rcur&Bcur[i]<BdownAnd when the current playing quality level of the video stream data fragment is higher than the current playing quality level, the coding rate adjusting unit selects the video stream data fragment with the first level lower than the current playing quality level to perform stable switching, wherein the video stream data fragment with the first level lower than the current playing quality level has the coding rate with the first level lower than the current coding rate value.
Furthermore, the third starting opportunity is suitable for the situation that the bandwidth suddenly drops or fluctuates sharply downwards, and the coding rate adjusting unit needs to start a protection strategy for the video cache unit;
if the reduction amount of the area capacity of the video cache unit after the last video stream data segment is downloaded is larger than the bandwidth collapse threshold, or if the area capacity of the video cache unit is smaller than the minimum value B of the area capacity of the video cache unitminWhen the minimum coding rate R of a video stream data segment is selected, i.e. when the following conditions are metminTo ensure the playing of the video stream data segment to be smooth;
Figure BDA0002926308030000051
under the above conditions, Bcur[i-1]The area capacity of the current video cache unit when the ith-1 video stream data segment is being downloaded; rminThe lowest coding rate of the video stream data segment; r is the playing time length of the video stream data fragment, and r is 0.6 s; b isminIs the minimum value of the area capacity of the video buffer unit.
Through the embodiment of the application, the following technical effects can be obtained: by evaluating and analyzing the network condition, the corresponding coding rate is converted according to a certain conversion relation and dynamically adjusted to ensure the smoothness of the video stream, and the user experience is improved.
[ description of the drawings ]
In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings needed to be used in the embodiments or the prior art descriptions will be briefly described below, and it is obvious that the drawings in the following description are some embodiments of the present application, and those skilled in the art can also obtain other drawings according to the drawings without inventive labor.
Fig. 1 is a schematic structural diagram of a cloud mobile phone service system;
fig. 2 is a flowchart illustrating a video stream dynamic switching method.
[ detailed description ] embodiments
In order to make the objects, technical solutions and advantages of the embodiments of the present application clearer, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application, and it is obvious that the described embodiments are some embodiments of the present application, but not all embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present application.
The device state notification method is applied to a cloud mobile phone service system, and fig. 1 is a schematic view of a composition structure of the cloud mobile phone service system. The cloud mobile phone service system comprises a user terminal 1 and a cloud mobile phone service center 2, wherein the user terminal performs data interaction with the cloud mobile phone service system through a wireless network.
The cloud mobile phone service center comprises a dynamic switching module, and the dynamic switching module is composed of a network bandwidth estimation unit, a coding rate adjustment unit and a video cache unit.
According to the dynamic switching method, firstly, a network bandwidth estimation unit evaluates the current network bandwidth according to the downloading rate of the downloaded video stream data fragments and the area capacity of a current video cache unit, and then, a coding rate adjustment unit selects the video stream data fragments to download according to the evaluated network bandwidth and a coding rate adjustment strategy. According to the method and the device, the network condition is evaluated and analyzed, and the corresponding coding rate is converted according to a certain conversion relation to be dynamically adjusted so as to ensure that the video stream is smooth and the user experience is improved.
Fig. 2 is a flowchart illustrating a video stream dynamic switching method. The video stream dynamic switching method comprises the following steps:
step 1, a network bandwidth estimation unit estimates the current network bandwidth according to the download rate of downloaded video stream data fragments and the area capacity of a current video cache unit to obtain a final bandwidth estimation value, and sends the final bandwidth estimation value to an encoding rate adjustment unit;
and 2, selecting a corresponding coding rate by the coding rate adjusting unit according to the final bandwidth evaluation value and the coding rate adjusting strategy to download the video stream data segment.
The network bandwidth estimation unit comprises a first bandwidth estimation module, a bandwidth state evaluation module and a cache state evaluation module.
In step 1, evaluating the current network bandwidth to obtain a final bandwidth evaluation value, specifically including the following steps:
step 101, a first time bandwidth estimation module performs a first time network bandwidth estimation according to the coding rate of the video stream data segment to obtain a first time network bandwidth estimation value musAnd bringing the first secondary network bandThe bandwidth evaluation value is sent to a bandwidth state evaluation module;
in the first bandwidth estimation module, a sliding observation window is preset, the sliding observation window is used for viewing W video stream data fragments which are downloaded latest, different weight values are respectively set for the downloading rates of the W video stream data fragments by using an exponential weight method aiming at the W video stream data fragments which are downloaded latest, the weight value of the video stream data fragment which is more recent in downloading time in the W video stream data fragments is higher, and the purpose of setting the weight value is to ensure that the result of network bandwidth estimation is closer to the actual network bandwidth in the downloading process of the video stream data fragments.
Assuming that k is the number of the previous video stream data segment, the weight value corresponding to the download rate of the video stream data segment k is ω, and the weight value ω corresponding to the encoding rate of the video stream data segment i (k-W < i ≦ k) is ωiEqual to omega (1-omega)k-iAnd carrying out normalization processing on the weight value.
The first-time network bandwidth evaluation value musCalculated using the following formula:
Figure BDA0002926308030000081
in the above formula, W represents the number of the latest downloaded video stream data segments, bk-iRepresenting the coding rate, omega, of the k-i th video stream data segmentiRepresenting a weight value, ω, corresponding to the coding rate of a segment i of the video stream dataiThe calculation is made by the following formula:
Figure BDA0002926308030000082
the method comprises the steps that omega is a preset parameter and meets the condition that omega belongs to (0, 1), the larger the value of omega is, the closer the estimated bandwidth is to the actual situation in the downloading process of a video stream data fragment, but the larger the value of omega is, the more frequent the downloading rate switching of the video stream data fragment becomes, and the user experience is influenced to a certain extent, so that the value of omega needs to be determined by comprehensive consideration, and through repeated tests, when omega is equal to 0.4, the actual degree of the estimated bandwidth and the switching frequency of the rate can be considered, so that omega is equal to 0.4 in the technical scheme of the application;
102, the bandwidth state evaluation module evaluates the first network bandwidth evaluation value mu according to the obtained network bandwidth jitter amplitude valuesCarrying out first adjustment;
the first network bandwidth evaluation value mu evaluated by the network bandwidth evaluation unit in the transmission process of the video stream data segment if the bandwidth frequently fluctuatessThe bandwidth may be larger than the actual bandwidth, and thus, the video buffer unit may underflow, so that the video playing is interrupted or discontinuous, and the video viewing experience of the user is seriously affected. In order to reduce the influence on the video playing effect caused by frequent fluctuation of bandwidth, a bandwidth state evaluation module evaluates the first network bandwidth evaluation value and carries out first adjustment on the bandwidth evaluation value;
evaluating the first-time network bandwidth value mu in step 102sThe first adjustment is carried out, and specifically comprises the following steps:
step 1021, calculating a standard deviation δ of the coding rates of the W video stream data segments, and calculating a fluctuation coefficient θ of the real bandwidth according to the standard deviation δ, wherein a calculation formula of the fluctuation coefficient θ is as follows:
θ=δ/μs
wherein, the standard deviation δ adopts the following calculation formula:
Figure BDA0002926308030000091
step 1022, adjusting the coefficient ρ by the bandwidthvThe bandwidth mu evaluated by the network bandwidth estimation unitsPerforming a first evaluation value adjustment to obtain a first adjusted network bandwidth evaluation value mus2The calculation formula used is as follows:
μs2=ρvs
where ρ isvFor bandwidth adjustment factor, pvThe calculation formula of (a) is as follows:
ρv vρ+(1- vρ)(1-min(θ,1))2
where ρ is v Denotes ρvLower threshold of [ rho ] v Equal to 0.3;
in the above calculation formula, the bandwidth adjustment coefficient ρvThe coding rate relative to the bandwidth evaluation value mu for describing the W video stream data segmentssThe fluctuation range of (2); when the download rate of the W video stream data segments slightly fluctuates, for example, near the average value of the download rate, that is, the fluctuation coefficient θ of the real bandwidth is within a preset fluctuation tolerance threshold, the real bandwidth is in a relatively stable state, and the bandwidth adjustment coefficient ρ isvIs close to 1, and the estimated bandwidth mu is obtained by the formulasThe adjustment amplitude is small; conversely, when the download rate of the W video stream data segments fluctuates slightly, that is, the fluctuation coefficient θ of the real bandwidth is greater than the preset fluctuation tolerance threshold, the bandwidth adjustment coefficient ρ isvIs close to the pvLower threshold value ρ of v The estimated bandwidth mu is calculated by the above formulasThe adjustment amplitude is large, and the applicant repeatedly tests when rho is larger v When the value of (1) is 0.3, the condition of buffer underflow caused by severe fluctuation of bandwidth can be effectively avoided;
103, the cache state evaluation module evaluates the first adjusted network bandwidth evaluation value mu according to the area capacity of the video cache units2Performing second adjustment;
the cache state evaluation module evaluates the capacity of the video cache unit and evaluates the network bandwidth evaluation value mu according to the evaluation results2And performing second adjustment, wherein the following two conditions are included: 1) evaluating the value mu of the network bandwidth when the capacity of the video buffer unit reaches the underflow threshold values2A second adjustment is made to make its value smaller, making it possible to select a video stream data segment of low coding rate. In this case, in order to reduce the probability of occurrence of video playback interruption or interruption and quickly write data into the buffer area in the video buffer unit for filling, it is necessary to have the network bandwidth estimation value μs2Becomes small so that a video stream data segment of a low coding rate can be selected. 2) Evaluating the value mu of the network bandwidth when the capacity of the video buffer unit reaches the overflow threshold values2The second adjustment is made to make its value large, making it possible to select a video stream data segment of high encoding rate. In this case, in order to reduce the probability of video playing interruption or interruption, data needs to be written into the buffer area in the video buffer unit for filling, and the estimated bandwidth μ needs to be adjustedsThe value of the video buffer unit is increased, so that the video stream data fragment with high speed can be selected, and the situation that the network bandwidth cannot be fully utilized due to the area saturation of the video buffer unit can be avoided.
In step 103, the first adjusted network bandwidth evaluation value μ is evaluateds2And (3) performing second adjustment, and calculating by adopting the following formula:
μs3=ρbs2
where ρ isbIndicates the buffer adjustment factor, mus2Represents the estimated network bandwidth value, mu, after the first adjustments3Representing the final bandwidth estimate after the second adjustment;
the cache adjustment coefficient ρbCalculated using the following formula:
Figure BDA0002926308030000111
in the above-mentioned formula, bρand
Figure BDA0002926308030000112
are respectively a cacheAdjustment coefficient rhobLower and upper threshold values of, BkFor the area size of the video buffer unit before receiving the Kth video stream data segment, BmaxThe maximum value and the lower threshold value of the area capacity of the video buffer unit
Figure BDA0002926308030000113
Is 1.5, upper threshold bρIs 0.4;
and step 104, sending the final bandwidth evaluation value to a coding rate adjusting unit, and adjusting the coding rate by the coding rate adjusting unit according to the final bandwidth evaluation value.
The coding rate adjusting unit is used for setting the area capacity and the adjusting strategy of the video caching unit;
in the coding rate adjusting unit, the bandwidth estimation value is used as one of the judgment conditions for coding rate selection, meanwhile, the area capacity of the video cache unit is also used as the other judgment condition for comprehensive consideration, when the two conditions of the bandwidth estimation value and the area capacity are required to be met, the adjusting strategy setting unit starts to adjust the coding rate, and two parameters are used in the area capacity judgment condition and are respectively the coding rate upper limit threshold value BupAnd a lower threshold value B of the coding ratedown
Upper threshold value B of coding rateupThe calculation formula of (a) is as follows:
Figure BDA0002926308030000121
lower threshold value B of coding ratedownThe calculation formula of (a) is as follows:
Figure BDA0002926308030000122
wherein R iskThe coding rate corresponding to the quality level of the kth video stream data fragment; b ismaxFor said video buffer unitMaximum value of area capacity; l is the highest quality level of the video stream data fragment; rLThe highest coding rate corresponding to the quality level of the video stream data fragment; rcurIs the current encoding rate value; rcur+1The current coding rate value is one level higher than the coding rate;
the upper threshold B of the coding rateupDetermined by the coding rate of the current video stream data segment, only when the area capacity of the video buffer unit is larger than the coding rate upper limit threshold BupThen, the coding rate adjusting unit selects and downloads the video stream data segment with the highest quality level; only when the area capacity of the video buffer unit is smaller than the lower threshold B of the coding ratedownThen, the encoding rate adjustment unit selects the video stream data segment with the lowest download quality level.
In step 2, the coding rate adjustment strategy includes the following two adjustment strategies:
when the number of the downloaded video stream data fragments is less than or equal to phi, the adjustment strategy enters a quick start stage, and an encoding rate adjustment unit downloads the video stream data fragments with the lowest quality level;
under the adjustment strategy, if the area capacity of the video buffer unit is smaller than the lower limit threshold B of the coding ratedownThen, the encoding rate adjustment unit selects the video stream data segment with the lowest download quality level. The purpose of this strategy is to control the start-up time as much as possible, reduce latency, and prevent the area capacity of the video buffer unit from overflowing downwards by writing it as quickly as possible.
A second adjustment strategy, when the number of the downloaded video stream data segments is larger than phi, the adjustment strategy enters a slow progressive adjustment stage, if the area capacity of the video cache unit is larger than the upper threshold B of the coding rateupThen, the coding rate adjusting unit selects and downloads the video stream data segment with the highest quality level;
the start-up opportunities in the gradual incremental adjustment phase include the following three cases:
the first starting time is if the area capacity B of the current video cache unitcurGreater than the upper threshold B of the coding rateupAnd finally the bandwidth evaluation value mus3Coding rate R one level higher than current coding rate valuecur+1I.e. satisfies the condition mus3>Rcur+1&Bcur[i]>BupWhen the current playing quality is higher than the current playing quality, the coding rate adjusting unit selects a video stream data segment with a level higher than the current playing quality to perform stable switching, wherein the video stream data segment with the level higher than the current playing quality has a coding rate with a level higher than the current coding rate value;
the second starting time is if the area capacity B of the video buffer unitcurLess than the lower threshold B of the coding ratedownAnd finally the bandwidth evaluation value mus3Less than the current encoding rate value RcurI.e. satisfies the condition mus3<Rcur&Bcur[i]<BdownWhen the current playing quality level is higher than the current playing quality level, the coding rate adjusting unit selects a video stream data segment lower than the current playing quality level by one level to perform stable switching, wherein the video stream data segment lower than the current playing quality level by one level has a coding rate lower than the current coding rate value by one level;
the third starting time is suitable for the condition that the bandwidth suddenly drops or severely fluctuates downwards, and the coding rate adjusting unit needs to start a protection strategy aiming at the video cache unit;
if the reduction amount of the area capacity of the video cache unit after the last video stream data segment is downloaded is larger than the bandwidth collapse threshold, or if the area capacity of the video cache unit is smaller than the minimum value B of the area capacity of the video cache unitminWhen the minimum coding rate R of a video stream data segment is selected, i.e. when the following conditions are metminTo ensure the playing of the video stream data segment to be smooth;
Figure BDA0002926308030000141
under the above conditions, Bcur[i-1]The area capacity of the current video cache unit when the ith-1 video stream data segment is being downloaded; rminThe lowest coding rate of the video stream data segment; r is the playing time length of the video stream data fragment, and r is 0.6 s; b isminThe minimum value of the area capacity of the video cache unit is obtained;
Bcur[i-1]-Bcur[i]if the length of time for accommodating the video stream data segment reduced by the video cache unit after downloading the previous video stream data segment is greater than the following bandwidth collapse threshold, which indicates that the actual bandwidth at the moment is rapidly decreasing, it is necessary to select the lowest encoding rate R of the video stream data segmentminThe smooth playing of the video can be ensured as much as possible; b iscur[i]<BminWhen the capacity of the video buffer unit is smaller than the minimum value of the capacity, for example, 9s, and the capacity of the video buffer unit may be exhausted in a short time, the lowest coding rate R of the video stream data segment needs to be selectedminTherefore, smooth playing of the video can be ensured, and user experience is met.
According to the technical scheme, the bandwidth estimation value can be closer to the real-time bandwidth through secondary adjustment, the dynamic adjustment switching is more stable and smooth through establishing the corresponding relation between the regional capacity threshold value and the coding code rate adjustment strategy, and the watching experience of a user can be well guaranteed.
In some embodiments, part or all of the computer program may be loaded and/or installed onto the device via ROM. When being loaded and executed, may carry out one or more of the steps of the method described above.
The functions described above in this disclosure may be performed at least in part by one or more hardware logic components. For example, without limitation, exemplary types of hardware logic components that may be used include: a Field Programmable Gate Array (FPGA), an Application Specific Integrated Circuit (ASIC), an Application Specific Standard Product (ASSP), a system on a chip (SOC), a load programmable logic device (CPLD), and the like.
Program code for implementing the methods of the present disclosure may be written in any combination of one or more programming languages. These program codes may be provided to a processor or controller of a general purpose computer, special purpose computer, or other programmable data processing apparatus, such that the program codes, when executed by the processor or controller, cause the functions/operations specified in the flowchart and/or block diagram to be performed. The program code may execute entirely on the machine, partly on the machine, as a stand-alone software package partly on the machine and partly on a remote machine or entirely on the remote machine or server.
In the context of this disclosure, a machine-readable medium may be a tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. The machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of a machine-readable storage medium would include an electrical connection based on one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
Further, while operations are depicted in a particular order, this should be understood as requiring that such operations be performed in the particular order shown or in sequential order, or that all illustrated operations be performed, to achieve desirable results. Under certain circumstances, multitasking and parallel processing may be advantageous. Likewise, while several specific implementation details are included in the above discussion, these should not be construed as limitations on the scope of the disclosure. Certain features that are described in the context of separate embodiments can also be implemented in combination in a single implementation. Conversely, various features that are described in the context of a single implementation can also be implemented in multiple implementations separately or in any suitable subcombination.
Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.

Claims (10)

1. A video stream dynamic switching method based on a cloud mobile phone is applied to a dynamic switching module, wherein the dynamic switching module is composed of a network bandwidth estimation unit, a coding rate adjustment unit and a video cache unit, and the method is characterized by specifically comprising the following steps:
step 1, a network bandwidth estimation unit estimates the current network bandwidth according to the download rate of downloaded video stream data fragments and the area capacity of a current video cache unit to obtain a final bandwidth estimation value, and sends the final bandwidth estimation value to an encoding rate adjustment unit;
and 2, selecting a corresponding coding rate by the coding rate adjusting unit according to the final bandwidth evaluation value and the coding rate adjusting strategy to download the video stream data segment.
2. The video stream dynamic switching method according to claim 1, wherein the network bandwidth estimation unit comprises a first time bandwidth estimation module, a bandwidth status evaluation module, and a buffer status evaluation module.
3. The video stream dynamic switching method according to claim 1, wherein in step 1, the current network bandwidth is evaluated to obtain a final bandwidth evaluation value, and the method specifically comprises the following steps:
step 101, a first time bandwidth estimation module performs a first time network bandwidth estimation according to the coding rate of the video stream data segment to obtain a first time network bandWide evaluation value μsAnd sending the first-time network bandwidth evaluation value to a bandwidth state evaluation module;
102, the bandwidth state evaluation module evaluates the first network bandwidth evaluation value mu according to the obtained network bandwidth jitter amplitude valuesCarrying out first adjustment;
103, the cache state evaluation module evaluates the first adjusted network bandwidth evaluation value mu according to the area capacity of the video cache units2Performing second adjustment;
and step 104, sending the final bandwidth evaluation value to a coding rate adjusting unit, and adjusting the coding rate by the coding rate adjusting unit according to the final bandwidth evaluation value.
4. The video stream dynamic switching method according to one of claims 1 to 3, wherein the first time network bandwidth evaluation value μsCalculated using the following formula:
Figure FDA0002926308020000021
in the above formula, W represents the number of the latest downloaded video stream data segments, bk-iRepresenting the coding rate, omega, of the k-i th video stream data segmentiRepresenting a weight value, ω, corresponding to the coding rate of a segment i of the video stream dataiThe calculation is made by the following formula:
Figure FDA0002926308020000022
where ω is a preset parameter, and ω is equal to 0.4.
5. The video stream dynamic switching method according to one of claims 1 to 4, wherein in step 102, the first time network bandwidth evaluation value μsThe first adjustment is carried out, and specifically comprises the following steps:
step 1021, calculating a standard deviation δ of the coding rates of the W video stream data segments, and calculating a fluctuation coefficient θ of the real bandwidth according to the standard deviation δ, wherein a calculation formula of the fluctuation coefficient θ is as follows:
θ=δ/μs
wherein, the standard deviation δ adopts the following calculation formula:
Figure FDA0002926308020000023
step 1022, adjusting the coefficient ρ by the bandwidthvThe bandwidth mu evaluated by the network bandwidth estimation unitsPerforming a first evaluation value adjustment to obtain a first adjusted network bandwidth evaluation value mus2The calculation formula used is as follows:
μs2=ρvs
where ρ isvFor bandwidth adjustment factor, pvThe calculation formula of (a) is as follows:
ρv vρ+(1- vρ)(1-min(θ,1))2
where ρ isvDenotes ρvLower threshold of [ rho ] v Equal to 0.3.
6. The video stream dynamic switching method according to one of claims 1 to 4, wherein in step 103, the first adjusted estimated value μ of network bandwidth is evaluateds2And (3) performing second adjustment, and calculating by adopting the following formula:
μs3=ρbs2
where ρ isbIndicates the buffer adjustment factor, mus2Represents the estimated network bandwidth value, mu, after the first adjustments3Representing the final bandwidth evaluation value after the second adjustment;
the cache adjustment coefficient ρbCalculated using the following formula:
Figure FDA0002926308020000031
in the above-mentioned formula, bρand
Figure FDA0002926308020000032
adjusting coefficients rho for the buffers, respectivelybLower and upper threshold values of, BkFor the area size of the video buffer unit before receiving the Kth video stream data segment, BmaxThe maximum value and the lower threshold value of the area capacity of the video buffer unit
Figure FDA0002926308020000033
Is 1.5, upper threshold bρIs 0.4.
7. The video stream dynamic switching method according to one of claims 1 to 4, wherein in step 2, the encoding rate adjustment strategies include the following two adjustment strategies:
when the number of the downloaded video stream data fragments is less than or equal to phi, the adjustment strategy enters a quick start stage, and an encoding rate adjustment unit downloads the video stream data fragments with the lowest quality level;
a second adjustment strategy, when the number of the downloaded video stream data segments is larger than phi, the adjustment strategy enters a slow progressive adjustment stage, if the area capacity of the video cache unit is larger than the upper threshold B of the coding rateupAnd then, the coding rate adjusting unit selects and downloads the video stream data segment with the highest quality level.
8. The video stream dynamic switching method according to claim 7, wherein the starting time of the slow gradual adjustment phase comprises: the first starting time is if the area capacity B of the current video cache unitcurGreater than the upper threshold B of the coding rateupAnd at mostFinal bandwidth estimate μs3Coding rate R one level higher than current coding rate valuecur+1I.e. satisfies the condition mus3>Rcur+1&Bcur[i]>BupAnd when the current playing quality level of the video stream data fragment is higher than the current playing quality level, the coding rate adjusting unit selects the video stream data fragment which is higher than the current playing quality level by one level to perform stable switching, wherein the video stream data fragment which is higher than the current playing quality level by one level has the coding rate which is higher than the current coding rate value by one level.
9. The video stream dynamic switching method according to claim 7, wherein the starting time of the slow gradual adjustment phase comprises: the second starting time is if the area capacity B of the video buffer unitcurLess than the lower threshold B of the coding ratedownAnd finally the bandwidth evaluation value mus3Less than the current encoding rate value RcurI.e. satisfies the condition mus3<Rcur&Bcur[i]<BdownAnd when the current playing quality level of the video stream data fragment is higher than the current playing quality level, the coding rate adjusting unit selects the video stream data fragment with the first level lower than the current playing quality level to perform stable switching, wherein the video stream data fragment with the first level lower than the current playing quality level has the coding rate with the first level lower than the current coding rate value.
10. The method of claim 7, wherein the third starting time is suitable for a situation where bandwidth suddenly drops or fluctuates downward severely, and the coding rate adjustment unit needs to start a protection policy for the video buffer unit;
if the reduction amount of the area capacity of the video cache unit after the last video stream data segment is downloaded is larger than the bandwidth collapse threshold, or if the area capacity of the video cache unit is smaller than the minimum value B of the area capacity of the video cache unitminWhen the minimum coding rate R of a video stream data segment is selected, i.e. when the following conditions are metminTo ensure the playing of the video stream data segment to be smooth;
Figure FDA0002926308020000051
under the above conditions, Bcur[i-1]The area capacity of the current video cache unit when the ith-1 video stream data segment is being downloaded; rminThe lowest coding rate of the video stream data segment; r is the playing time length of the video stream data fragment, and r is 0.6 s; b isminIs the minimum value of the area capacity of the video buffer unit.
CN202110133685.7A 2021-02-01 2021-02-01 Video stream dynamic switching method based on cloud mobile phone Pending CN112929700A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110133685.7A CN112929700A (en) 2021-02-01 2021-02-01 Video stream dynamic switching method based on cloud mobile phone

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110133685.7A CN112929700A (en) 2021-02-01 2021-02-01 Video stream dynamic switching method based on cloud mobile phone

Publications (1)

Publication Number Publication Date
CN112929700A true CN112929700A (en) 2021-06-08

Family

ID=76169068

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110133685.7A Pending CN112929700A (en) 2021-02-01 2021-02-01 Video stream dynamic switching method based on cloud mobile phone

Country Status (1)

Country Link
CN (1) CN112929700A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115022717A (en) * 2022-05-31 2022-09-06 北京字跳网络技术有限公司 Data downloading method and device, computer equipment and storage medium
WO2023045392A1 (en) * 2021-09-26 2023-03-30 华为技术有限公司 Cloud mobile phone implementation method and apparatus

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108184152A (en) * 2018-01-03 2018-06-19 湖北大学 A kind of DASH Transmission systems two benches client code rate selection method
CN109379632A (en) * 2018-10-25 2019-02-22 中国地质大学(武汉) A kind of progressive switching method of code rate and system of dynamic self-adapting HTTP stream
CN112104879A (en) * 2020-11-13 2020-12-18 腾讯科技(深圳)有限公司 Video coding method and device, electronic equipment and storage medium

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108184152A (en) * 2018-01-03 2018-06-19 湖北大学 A kind of DASH Transmission systems two benches client code rate selection method
CN109379632A (en) * 2018-10-25 2019-02-22 中国地质大学(武汉) A kind of progressive switching method of code rate and system of dynamic self-adapting HTTP stream
CN112104879A (en) * 2020-11-13 2020-12-18 腾讯科技(深圳)有限公司 Video coding method and device, electronic equipment and storage medium

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
涂大喜; 蒋宇浩; 徐成; 余林琛: "动态自适应的HTTP流码率渐进切换算法", 《计算机应用》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023045392A1 (en) * 2021-09-26 2023-03-30 华为技术有限公司 Cloud mobile phone implementation method and apparatus
CN115022717A (en) * 2022-05-31 2022-09-06 北京字跳网络技术有限公司 Data downloading method and device, computer equipment and storage medium
CN115022717B (en) * 2022-05-31 2023-11-07 北京字跳网络技术有限公司 Data downloading method, device, computer equipment and storage medium

Similar Documents

Publication Publication Date Title
EP3022884B1 (en) Quality optimization with buffer and horizon constraints in adaptive streaming
CN109379632B (en) Code rate gradual switching method and system for dynamic self-adaptive HTTP (hyper text transport protocol) stream
CN107613330B (en) A kind of video code rate adaptive approach
CN109302623B (en) QoE model-based dynamic adaptive video transmission method
CN108924667B (en) Available bandwidth self-adaptive video fragment request method supporting QoE maximization
CN112929700A (en) Video stream dynamic switching method based on cloud mobile phone
EP1471707B1 (en) Data reception and playback apparatus, method, processing program
CN109218847B (en) Download control method and device and multimedia terminal
US8578436B2 (en) Method for two time-scales video stream transmission control
CN110022498B (en) Method and device for realizing code rate switching
CN108063955B (en) State machine based code rate switching method for dynamic self-adaptive video transmission
CN107135411B (en) Method for adjusting video code rate and electronic equipment
CN111182352B (en) Adaptive code stream control device and method for video playing
CN112714315B (en) Layered buffering method and system based on panoramic video
CN107534618B (en) Transmission device, transmission method, and program
CN102724502B (en) The control method of code check and device in a kind of Video coding
US10389785B2 (en) Method for adaptively streaming an audio/visual material
CN107659601B (en) code rate self-adaption method based on HTTP self-adaption flow
US8612552B2 (en) Method for buffering streaming data and a terminal device
CN111031347A (en) Video processing method and device, electronic equipment and storage medium
US9924167B2 (en) Video quality measurement considering multiple artifacts
CN113207015B (en) Task scheduling strategy generation method and device, storage medium and computer equipment
US20220286721A1 (en) A media client with adaptive buffer size and the related method
CN112422962A (en) Method and device for controlling video coding layer
CN113422958B (en) Method, system and medium for controlling size of video coding frame layer code stream

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
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20210608

WD01 Invention patent application deemed withdrawn after publication