CN112929700A - Video stream dynamic switching method based on cloud mobile phone - Google Patents
Video stream dynamic switching method based on cloud mobile phone Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 34
- 239000012634 fragment Substances 0.000 claims abstract description 42
- 238000011156 evaluation Methods 0.000 claims description 66
- 239000000872 buffer Substances 0.000 claims description 37
- 238000004364 calculation method Methods 0.000 claims description 18
- 230000000750 progressive effect Effects 0.000 claims description 3
- 230000009467 reduction Effects 0.000 claims description 3
- 239000004576 sand Substances 0.000 claims description 3
- 238000006243 chemical reaction Methods 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/23406—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving management of server-side video buffer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/24—Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
- H04N21/2402—Monitoring of the downstream path of the transmission network, e.g. bandwidth available
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/266—Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
- H04N21/2662—Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
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
[ 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:
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:
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:
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:
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=ρv*μs
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=ρb*μs2
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:
in the above-mentioned formula, bρandadjusting 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 unitIs 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;
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:
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:
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:
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:
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=ρv*μs
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=ρb*μs2
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:
in the above-mentioned formula, bρandare 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 unitIs 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:
lower threshold value B of coding ratedownThe calculation formula of (a) is as follows:
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;
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:
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:
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:
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=ρv*μs
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=ρb*μs2
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:
in the above-mentioned formula, bρandadjusting 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 unitIs 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;
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.
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)
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)
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 |
-
2021
- 2021-02-01 CN CN202110133685.7A patent/CN112929700A/en active Pending
Patent Citations (3)
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)
Title |
---|
涂大喜; 蒋宇浩; 徐成; 余林琛: "动态自适应的HTTP流码率渐进切换算法", 《计算机应用》 * |
Cited By (3)
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 |