Movatterモバイル変換


[0]ホーム

URL:


CN105338422A - Smoothing method of network transmission speed of video image data - Google Patents

Smoothing method of network transmission speed of video image data
Download PDF

Info

Publication number
CN105338422A
CN105338422ACN201410253012.5ACN201410253012ACN105338422ACN 105338422 ACN105338422 ACN 105338422ACN 201410253012 ACN201410253012 ACN 201410253012ACN 105338422 ACN105338422 ACN 105338422A
Authority
CN
China
Prior art keywords
video
data
delivery network
network
time delay
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201410253012.5A
Other languages
Chinese (zh)
Other versions
CN105338422B (en
Inventor
徐炳炎
凌在龙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Hikvision Digital Technology Co Ltd
Original Assignee
Hangzhou Hikvision Digital 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 Hangzhou Hikvision Digital Technology Co LtdfiledCriticalHangzhou Hikvision Digital Technology Co Ltd
Priority to CN201410253012.5ApriorityCriticalpatent/CN105338422B/en
Publication of CN105338422ApublicationCriticalpatent/CN105338422A/en
Application grantedgrantedCritical
Publication of CN105338422BpublicationCriticalpatent/CN105338422B/en
Activelegal-statusCriticalCurrent
Anticipated expirationlegal-statusCritical

Links

Landscapes

Abstract

The invention discloses a smoothing method of a network transmission speed of a video image data. The method comprises the following steps: writing a video code stream into a buffer area; calculating code stream change of a video encoder; according to a relation between the size of video data in a current buffer area and a time delay allowed by a video transmission network, obtaining a speed to be transmitted, and comparing the speed to be transmitted with video transmission network bandwidth and a maximum fluctuation value of the video code stream in the video transmission network so as to determine an actual transmission speed; and if duration for transmitting the video data in the buffer area by use of the actual transmission speed exceeds a sampling period, according to the size of the data of the current buffer area and the time delay allowed by the network, adjusting a transmission speed of a next period. According to the invention, the network transmission speed of the video image data can be smoothed continuously according to a desired direction, finally realizes smooth transmission of the video image data in the video transmission network, and accordingly, avoids the possibility of instant overshoot of network data, data loss, network congestion and even network paralysis.

Description

The smoothing method of the network transmission rate of vedio data
Technical field
The present invention relates to transmission of video images field, the video image smoothing method particularly in a kind of transmission of video images process.
Background technology
At video monitoring, in the application such as the network teleconference, video image plays end from Real-time Collection up to video image, needs through links such as collection, buffering and Internet Transmissions.
As shown in Figure 1, the video data that video capture front end collects is after video encoder 1 is encoded, video data is stored in buffering area 2 by write pointer 11 by video encoder 1, network is sent out stream device 3 and is read by the video data deposited in buffering area by read pointer 31, and is sent by video delivery network 4.Video encoder 1 safeguards write pointer 11, and when video data is stored in buffering area 2 by write pointer 11, the position of write pointer 11 in buffering area 2 can upgrade along with the write of video data; Network is sent out stream device 3 and is safeguarded read pointer 31, and when video data reads from buffering area 2 by read pointer 31, the position of read pointer 31 in buffering area 2 can upgrade along with the reading of video data.In the art, the quantity that network sends out stream device 3 can be 1 or multiple, and each network sends out the read pointer 31 that oneself is safeguarded separately by stream device 3, and in addition, network is sent out stream device 3 and multithreading also can be adopted to realize.
The renewal speed of write pointer 11 reflects the output speed of video encoder 1, network sends out stream device 3 by the control to read pointer 31, just scalable video data code flow is sent to the speed of video delivery network 4, stream of video data is sent to the smoothness (or uniformity) of the speed of video delivery network 4, be reflected on video delivery network 4, be the flatness of network data flow.
At video image Real-time Collection, when video delivery network sends the video data collected in real time: on the one hand, because the pictured scene change of the video image gathered is random, and then the original data volume difference collected is very large, on the other hand, video compression algorithm have employed the method that in frame, (I frame) and interframe (P frame) are compressed, wherein, I frame is also key frame, it is the important frame in interframe compression coding, I frame is the coded frame of full frame compression, only use the data of I frame with regard to restructural complete image during decoding, I frame does not need with reference to other pictures and generates, and P frame is predicted by the P frame before it or I frame, P frame compares and P frame before it or the identical information between I frame or data, namely consider that the characteristic of moving carries out interframe compression, P frame carrys out distilled edition frame data according to this frame and the difference of adjacent former frame (I frame or P frame), like this, due to the heterogeneity of I frame and P frame, cause the video data volume difference after compressing very large.
Due to the reason of this two aspect, finally be reflected on transmitted data on network and will become very unsmooth, the phenomenon of the overshoot of network data can be there is, in addition, in practical application, there is the constraints such as bandwidth restriction, like this, the overshoot of network data may cause loss of data, or large number quipments occurs mass data simultaneously, network congestion will be caused, even network paralysis.
Therefore, to the smoothing process of vedio data, be that Logistics networks data overshoot do not occur, avoid the important means of network congestion and network paralysis.
In prior art, existing people have employed the method to the smoothing process of vedio data for this situation.The method for smoothing network transmission bit-rate of such as, in patent CN102355577A disclosed a kind of multi-view video streams, is further divided into two-level cache by transmission buffer area, and data is set to valve value and calculates.The method can buffered data to a certain extent, and then it is level and smooth to reach network, but the method also has obvious deficiency, such as, need two core buffers, lack dynamic realtime adjustment, only smoothing etc. by the threshold value preset, lack the strain to real-time transmission rate.
Summary of the invention
In view of this, the invention provides a kind of smoothing method of network transmission rate of vedio data, to detect in real time current transmission bandwidth, and then dynamic conditioning transmission speed, reach the object that code check is level and smooth.
The technical scheme of the application is achieved in that
A smoothing method for the network transmission rate of vedio data, is included in the following process performed in each videograph sampling period:
Within the current video record sampling period, video code flow is write buffering area;
Calculate the code stream change of the video encoder in described current video record sampling period;
Obtain video data size in current buffer;
According to video data size in described current buffer and video delivery network allow the relation of time delay, obtain the speed to be sent of described video data;
By described speed to be sent, the fluctuation maximum in video delivery network compares with current video transmission network bandwidth and video code flow respectively, to determine actual transmission rate;
Described actual transmission rate is adopted to send video data in described buffering area.
Further, if the video data duration used adopting described actual transmission rate to send in described buffering area exceedes the described sampling period, then adjust video data size and video delivery network in described current buffer allow the relation of time delay, to adopt within the next videograph sampling period.
Further, the code stream change of the video encoder in described calculating described current video record sampling period, adopts following formula to carry out:
ΔS=S-S0
Wherein, Δ S is the code stream change of the video encoder in current video record sampling period, and S is the code flow of the video encoder in current video record sampling period, S0for the code flow of the video encoder in last videograph sampling period.
Further, according to video data size in described current buffer and video delivery network allow the relation of time delay, obtain the speed to be sent of described video data, comprising:
In described buffering area, arrange first threshold point and Second Threshold point, wherein first threshold point is less than Second Threshold point;
When the video data volume cushioned in described buffering area is less than first threshold point, following formula is adopted to obtain described speed to be sent:
V=V0-2×ΔST+Δx+Δy
When the video data volume cushioned in described buffering area is between described first threshold point and Second Threshold point, following formula is adopted to obtain described speed to be sent:
V=V0+ΔST+Δx+Δy
When the video data volume cushioned in described buffering area is greater than Second Threshold point, following formula is adopted to obtain described speed to be sent:
V=V0+2×ΔST+Δx+Δy
Wherein, V is speed to be sent, V0for being sent to the final transmission rate of network in the last videograph sampling period, T is the videograph sampling period, and Δ y is one-level modifying factor, and Δ x is the Second level amendment factor.
Further, the fluctuation maximum of described video code flow in video delivery network equals the product of video image target smooth value and video delivery network code check.
Further, by described speed to be sent, the fluctuation maximum in video delivery network compares with current video transmission network bandwidth and video code flow respectively, to determine actual transmission rate, comprising:
Minimum value in fluctuation maximum three in video delivery network of described speed to be sent, current video transmission network bandwidth, video code flow is defined as actual transmission rate.
Further, 3/8 of the amount of buffered data that described first threshold point allows for described video delivery network time delay, 5/8 of the amount of buffered data that described Second Threshold point allows for described video delivery network time delay.
Further, when the video data volume cushioned in described buffering area is more than or equal to 0, and be less than 1/8 of the amount of buffered data that described video delivery network time delay allows, described one-level modifying factor Δ y is-0.15;
When the video data volume cushioned in described buffering area is more than or equal to 1/8 of the amount of buffered data that described video delivery network time delay allows, and when being less than 2/8 of the amount of buffered data that described video delivery network time delay allows, described one-level modifying factor Δ y is-0.1;
When the video data volume cushioned in described buffering area is more than or equal to 2/8 of the amount of buffered data that described video delivery network time delay allows, and when being less than 3/8 of the amount of buffered data that described video delivery network time delay allows, described one-level modifying factor Δ y is-0.05;
When the video data volume cushioned in described buffering area is more than or equal to 3/8 of the amount of buffered data that described video delivery network time delay allows, and when being less than or equal to 5/8 of the amount of buffered data that described video delivery network time delay allows, described one-level modifying factor Δ y is 0;
When the video data volume cushioned in described buffering area is greater than 5/8 of the amount of buffered data that described video delivery network time delay allows, and when being less than or equal to 6/8 of the amount of buffered data that described video delivery network time delay allows, described one-level modifying factor Δ y is 0.05;
When the video data volume cushioned in described buffering area is greater than 6/8 of the amount of buffered data that described video delivery network time delay allows, and when being less than or equal to 7/8 of the amount of buffered data that described video delivery network time delay allows, described one-level modifying factor Δ y is 0.1;
When the video data volume cushioned in described buffering area is greater than 7/8 of the amount of buffered data that described video delivery network time delay allows, and when being less than or equal to 8/8 of the amount of buffered data that described video delivery network time delay allows, described one-level modifying factor Δ y is 0.15.
Further, the described Second level amendment factor is determined by the following method:
According to video encoder code check, setting the 3rd threshold point and the 4th threshold point, wherein the 3rd threshold point is less than the 4th threshold point;
The actual code flow in 1 second before 2 seconds to current time before statistics current time, be designated as the first actual code flow, before statistics current time, 1 second is to the actual code flow of current time, is designated as the second actual code flow;
When the first actual code flow and the second actual code flow are all lower than described 3rd threshold point:
Δx=-P3-ST
When the first actual code flow and the second actual code flow are all higher than described 4th threshold point:
Δx=P4-ST
Wherein, P3be the 3rd threshold point, P4be the 4th threshold point, T is the videograph sampling period, and S is the code flow of the video encoder in current video record sampling period, and Δ x is the described Second level amendment factor.
Further, described 3rd threshold point is the 3/4, four threshold point of described video encoder code check is 5/4 of described video encoder code check, namely
P3=34×P0,P4=54×P0
Wherein, P0for described video encoder code check.
As can be seen from such scheme, adopt the smoothing method of the network transmission rate of vedio data of the present invention, bring great improvement can to the fluctuation of video delivery network code check, video delivery network code check fluctuation range can be remained in a less scope.Adopt the smoothing method of the network transmission rate of vedio data of the present invention, the network transmission rate of vedio data can be made constantly smoothing according to the direction of anticipation, and finally realize the level and smooth transmission of vedio data in video delivery network, and then avoid the overshoot of network data, loss of data, the network congestion even possibility of network paralysis.Compared with prior art, method of the present invention only used single buffer district, decreases the space hold of buffering area; Carry out dynamic conditioning by the instantaneous output variable of encoder, the maximum delay of permission, network smoothing target value to send out flow rate and reach the level and smooth object of network; The reliability that flow rate ensure that system cloud gray model is sent out by two modifying factor dynamic conditioning.
Accompanying drawing explanation
Fig. 1 is for video data is from video encoder to the process schematic uploaded network and experience;
Fig. 2 is the schematic diagram of the smoothing method of the network transmission rate of vedio data of the present invention;
Fig. 3 is the schematic diagram arranging first threshold point and Second Threshold point;
Fig. 4 is the determination process schematic of the Second level amendment factor in the present invention;
Fig. 5 is the schematic diagram arranging the 3rd threshold point and the 4th threshold point;
Fig. 6 is the smoothing method embodiment flow chart of the network transmission rate of vedio data of the present invention;
Fig. 7 is the embodiment flow chart adjusting the Second level amendment factor in the present invention;
Video delivery network code check fluctuation situation schematic diagram when Fig. 8 is the smoothing method of the network transmission rate not adopting vedio data of the present invention;
Fig. 9 is the video delivery network code check fluctuation situation schematic diagram after the smoothing method of the network transmission rate adopting vedio data of the present invention.
Embodiment
In order to make object of the present invention, technical scheme and advantage clearly understand, to develop simultaneously embodiment referring to accompanying drawing, the present invention is described in further detail.
As shown in Figure 2, the smoothing method of the network transmission rate of vedio data of the present invention mainly comprises the following steps.
Step 1, within the current video record sampling period, video code flow is write buffering area.
Wherein, can refer to shown in Fig. 1, be video encoder by write pointer, process video code flow being write buffering area of realization, the process that video code flow to be write buffering area by write pointer by video encoder is that this area has, and repeats no more herein.
The videograph sampling period, namely be used for adjusting cycle of network transmission rate of vedio data, the smooth effect of its fineness on the network transmission rate of vedio data has important impact, if the videograph sampling period is too little, concussion may be caused, if the videograph sampling period is too large, level and smooth effect may do not had.Also need the time factor considering that program code performs simultaneously.As a specific embodiment, under Linux system (operating system to be the dispatching cycle of thread 10ms), the smooth effect desired value of the network transmission rate of vedio data is 10%, determining the videograph sampling period is 1/16 second, and namely each videograph sampling period is about 62.5ms.When running under other system system, or when described smooth effect desired value changes, videograph sampling period needs adjust.Generally, smooth effect desired value is less, and the sample frequency of videograph will increase.
Step 2, calculate the described current video record sampling period video encoder code stream change.
In this step 2, the code stream of the video encoder in current video record sampling period described in following formulae discovery is adopted to change:
ΔS=S-S0
Wherein, Δ S is the code stream change of the video encoder in current video record sampling period, and S is the code flow of the video encoder in current video record sampling period, S0for the code flow of the video encoder in last videograph sampling period.
Video data size in step 3, acquisition current buffer.
Because when video data is stored in buffering area by write pointer, write pointer position in the buffer can upgrade along with the write of video data; When video data reads from buffering area by read pointer, read pointer position in the buffer can upgrade along with the reading of video data.Therefore, in this step 3, the position in described buffering area by read pointer and write pointer, and then determine video data size in current buffer.
Step 4, according to video data size in described current buffer and video delivery network allow the relation of time delay, obtain the speed to be sent of described video data.
Time delay (delay) time of network, be important performance index in field of video monitoring, refer to and collect image sees image time difference to terminal, in the present invention, delay time specially refers to the time delay that video delivery network allows.Delay time and Rate smoothing desired value have the relation mutually restricting and mutually transform.Such as, the delay time allowed when demand is 1 second, then can accomplish the definitely level and smooth of Internet Transmission code stream in theory, i.e. the effect of straight line.
The amount of buffered data that video delivery network time delay allows obtains by following formula:
The amount of buffered data that video delivery network time delay allows=video delivery network code check/network delay time
The code check of such as video delivery network is 1Mbps, permission network delay time is 40ms, the amount of buffered data that then in buffering area, video delivery network time delay allows is 1Mbps × 40/1000S=40K, and the amount of buffered data that this video delivery network time delay allows exports the transient change of data for relaxing encoder.
Smooth value, namely code stream peak value in Internet Transmission exceedes the largest percentage that code check value allows.Such as, if smooth target value is 10%, namely code stream peak value in Internet Transmission is maximum can not exceed 10% of code check value, if code check is 1Mbps, then under the requirement of smooth target value, network transmission speed is maximum can not more than 1.1Mpbs, and this can convert the maximum permissible value of transmission rate to.
Be buffered in acting as in smoothing process to increase instantaneously when video encoder exports, first video data can be put into buffering area cushions, when the data that video encoder exports reduce, from the data supply cushioned before buffering area, level and smooth effect can be arrived.Therefore the determination of threshold point just has the process how utilizing buffering area.
As shown in Figure 3, in described buffering area, the amount of buffered data allowed according to described video delivery network time delay, arranges first threshold point P1with Second Threshold point P2, wherein first threshold point P1be less than Second Threshold point P2.
Find according to a large amount of test values, when 3/8 of the amount of buffered data that described first threshold point allows for described video delivery network time delay, the amount of buffered data that described Second Threshold point allows for described video delivery network time delay 5/8 time, effectiveness comparison is desirable, so just there is the cushion space of 3/8 excessive for taking precautions against buffered data, and the reduction that the data with existing supply video encoder data of 3/8 export.Therefore, as a specific embodiment, 3/8 of the amount of buffered data that described first threshold point allows for described video delivery network time delay, 5/8 of the amount of buffered data that described Second Threshold point allows for described video delivery network time delay.
According to above-mentioned explanation, in this step 4, obtain the speed to be sent of described video data particular by following method.
When the video data volume cushioned in described buffering area is less than first threshold point P1time, adopt following formula to obtain described speed to be sent:
V=V0-2×ΔST+Δx+Δy---(1)
When the video data volume cushioned in described buffering area is positioned at described first threshold point P1with Second Threshold point P2between time, adopt following formula obtain described speed to be sent:
V=V0+ΔST+Δx+Δy---(2)
When the video data volume cushioned in described buffering area is greater than Second Threshold point P2time, adopt following formula to obtain described speed to be sent:
V=V0+2×ΔST+Δx+Δy---(3)
Wherein, V is speed to be sent, V0for being sent to the final transmission rate of network in the last videograph sampling period, T is the videograph sampling period, and Δ y is one-level modifying factor, and Δ x is the Second level amendment factor.
In described current buffer video data size and video delivery network allow the relation of time delay, be three formula of above-mentioned three conditions.
Step 5, by described speed to be sent, the fluctuation maximum in video delivery network compares with current video transmission network bandwidth and video code flow respectively, to determine actual transmission rate.
Wherein, the fluctuation maximum of described video code flow in video delivery network equals the product of video image target smooth value and video delivery network code check.Such as, if video image target smooth value is decided to be 10%, video delivery network code check 1Mbps, then the fluctuation maximum of video code flow in video delivery network is 1Mbps × 10%=1.1Mbps, and namely the fluctuation range of video code flow in video delivery network is maximum can not more than 1.1Mbps.
In this step 5, specifically the minimum value in fluctuation maximum three in video delivery network of described speed to be sent, current video transmission network bandwidth, video code flow is defined as actual transmission rate.Even described speed to be sent is minimum in this three, then speed to be sent is defined as actual transmission rate, if current video transmission network bandwidth is minimum in this three, then current video transmission network bandwidth is defined as actual transmission rate, if the fluctuation maximum of video code flow in video delivery network is minimum in this three, then the fluctuation maximum of video code flow in video delivery network is defined as actual transmission rate.Speed to be sent, current video transmission network bandwidth first can be compared to determine a less value by concrete realization flow, then the fluctuation maximum in video delivery network compares using the minimum value this time compared as actual transmission rate by this less value and video code flow.
Step 6, described actual transmission rate is adopted to send video data in described buffering area.
When performing this step 6, needing to record simultaneously and adopt described actual transmission rate to send video data in described buffering area duration used, to use subsequently.
If the video data duration used that step 7 adopts described actual transmission rate to send in described buffering area exceedes the described sampling period, then adjust video data size and video delivery network in described current buffer allow the relation of time delay, to adopt within the next videograph sampling period.
Adjust video data size and video delivery network in described current buffer allow the relation of time delay, be the one-level modifying factor Δ y in adjustment formula (1), formula (2) and formula (3), as a specific embodiment, the span of Δ y is 0 ~ 0.15.
The adjustment process of one-level modifying factor comprises:
When the video data volume cushioned in described buffering area is more than or equal to 0, and when being less than 1/8 of the amount of buffered data that described video delivery network time delay allows, described one-level modifying factor Δ y is-0.15;
When the video data volume cushioned in described buffering area is more than or equal to 1/8 of the amount of buffered data that described video delivery network time delay allows, and when being less than 2/8 of the amount of buffered data that described video delivery network time delay allows, described one-level modifying factor Δ y is-0.1;
When the video data volume cushioned in described buffering area is more than or equal to 2/8 of the amount of buffered data that described video delivery network time delay allows, and when being less than 3/8 of the amount of buffered data that described video delivery network time delay allows, described one-level modifying factor Δ y is-0.05;
When the video data volume cushioned in described buffering area is more than or equal to 3/8 of the amount of buffered data that described video delivery network time delay allows, and when being less than or equal to 5/8 of the amount of buffered data that described video delivery network time delay allows, described one-level modifying factor Δ y is 0;
When the video data volume cushioned in described buffering area is greater than 5/8 of the amount of buffered data that described video delivery network time delay allows, and when being less than or equal to 6/8 of the amount of buffered data that described video delivery network time delay allows, described one-level modifying factor Δ y is 0.05;
When the video data volume cushioned in described buffering area is greater than 6/8 of the amount of buffered data that described video delivery network time delay allows, and when being less than or equal to 7/8 of the amount of buffered data that described video delivery network time delay allows, described one-level modifying factor Δ y is 0.1;
When the video data volume cushioned in described buffering area is greater than 7/8 of the amount of buffered data that described video delivery network time delay allows, and when being less than or equal to 8/8 of the amount of buffered data that described video delivery network time delay allows, described one-level modifying factor Δ y is 0.15.
In said method of the present invention, as shown in Figure 4, the Second level amendment factor is determined by following process.
Step a1, code check according to video encoder, setting the 3rd threshold point and the 4th threshold point, wherein the 3rd threshold point is less than the 4th threshold point.
With reference to shown in Fig. 5, suppose that wherein shadow region is the code check of video encoder, the 3rd threshold point P3with the 4th threshold point P4be arranged at the both sides of the code check of video encoder respectively, and the 3rd threshold point P3be less than the 4th threshold point P4.As a specific embodiment, the 3rd threshold point P33/4 of the code check of video encoder can be set to, the 4th threshold point P45/4 of the code check of video encoder can be set to, namely
P3=34×P0,P4=54×P0
Wherein, P3be the 3rd threshold point, P4be the 4th threshold point, T is the videograph sampling period, P0for video encoder code check, wherein, video encoder code check sets when configuring video encoder, and after having set video encoder code check, video encoder just can carry out work.
Such as, the code check of video encoder is 2Mbps, then the 3rd threshold point P3be 3/4 × 2Mbps=1.5Mbps, the 4th threshold point P4be 5/4 × 2Mbps=2.5Mbps.
The actual code flow in 1 second before 2 seconds to current time before step a2, statistics current time, be designated as the first actual code flow, before statistics current time, 1 second is to the actual code flow of current time, is designated as the second actual code flow.
In this step, the actual code flow in 1 second before 2 seconds to current time before statistics current time, be by sampling periods all in 1 second before 2 seconds to current time before current time send video data size add up, if 1 second was made up of N (N >=1) the individual sampling period, then the video data that the N number of sampling period before adding up current time before 2 seconds to current time in 1 second sends.Such as, if a sampling period is 62.5ms, so just be made up of 16 (62.5ms × 16=1S) sampling periods for 1 second, so in this step, the actual code flow in 1 second before 2 seconds to current time before statistics current time, the size of the video data that 16 sampling periods before being then statistics current time before 2 seconds to current time in 1 second send also adds up, and then the actual code flow before determining current time before 2 seconds to current time in 1 second.In like manner, before statistics current time, 1 second is to the actual code flow of current time, be by be by all sampling periods in 1 second current time before current time send video data size add up.
In practice, if current time, after having added up the first actual code flow and the second actual code flow, when the next timing statistics point in 1 second, directly using the first actual code flow of the second actual code flow of current time as next timing statistics point, and can need not re-start statistics at next timing statistics point.
Step a3, comparing according to the first actual code flow and the second actual code flow and described 3rd threshold point and the 4th threshold point, determine whether the adjustment Second level amendment factor.
Particularly, when the first actual code flow and the second actual code flow are all lower than described 3rd threshold point, perform step a4, when the first actual code flow and the second actual code flow are all higher than described 4th threshold point, perform step a5, and do not carry out the adjustment of the Second level amendment factor in other cases.
Step a4, when the first actual code flow and the second actual code flow are all lower than described 3rd threshold point, following formula is adopted to adjust the Second level amendment factor:
Δx=-P3-ST
Wherein, P3be the 3rd threshold point, P4be the 4th threshold point, T is the videograph sampling period, and S is the code flow of the video encoder in current video record sampling period, and Δ x is the described Second level amendment factor.
Step a5, when the first actual code flow and the second actual code flow are all higher than described 4th threshold point, following formula is adopted to adjust the Second level amendment factor:
Δx=P4-ST
Wherein, P3be the 3rd threshold point, P4be the 4th threshold point, T is the videograph sampling period, and S is the code flow of the video encoder in current video record sampling period, and Δ x is the described Second level amendment factor.
Below in conjunction with a specific embodiment, method of the present invention is further described.
As shown in Figure 6, the smoothing method embodiment flow process of the network transmission rate of vedio data of the present invention comprises each step following.
Step b1, record the sampling period in, in buffering area, upgrade video code flow by write pointer, enter step b2 afterwards.
In this step b1, video code flow is updated in buffering area by write pointer by video encoder, by the renewal of write pointer position in the buffer, can learn the most end position of the video code flow be updated in buffering area.
The code stream change of step b2, the video encoder calculated in the current video record sampling period, enters step b3 afterwards.
The code stream change of the video encoder in this step b2 refers to the difference of video encoder output code flow in former and later two sampling periods, namely
ΔS=S-S0
Wherein, Δ S is the code stream change of the video encoder in current video record sampling period, and S is the code flow of the video encoder in current video record sampling period, S0for the code flow of the video encoder in last videograph sampling period.
Step b3, by read pointer and write pointer the actual size of video data in the position calculation current buffer of buffering area, enter step b4 afterwards.
Because when video data is stored in buffering area by write pointer, write pointer position in the buffer can upgrade along with the write of video data; When video data reads from buffering area by read pointer, read pointer position in the buffer can upgrade along with the reading of video data.Therefore, in this step, the position in described buffering area by read pointer and write pointer, and then determine video data size in current buffer.
Step b4, according to the actual size of video data in current buffer and video delivery network allow the relation of time delay, calculate the speed to be sent of video data, enter step b5 afterwards.
In this step b4, by arranging first threshold point P in the buffer1with Second Threshold point P2(Fig. 3 shown in), and the speed to be sent of described video data is obtained particular by following method.
When the video data volume cushioned in described buffering area is less than first threshold point P1time, adopt following formula to obtain described speed to be sent:
V=V0-2×ΔST+Δx+Δy---(1)
When the video data volume cushioned in described buffering area is positioned at described first threshold point P1with Second Threshold point P2between time, adopt following formula obtain described speed to be sent:
V=V0+ΔST+Δx+Δy---(2)
When the video data volume cushioned in described buffering area is greater than Second Threshold point P2time, adopt following formula to obtain described speed to be sent:
V=V0+2×ΔST+Δx+Δy---(3)
Wherein, V is speed to be sent, V0for being sent to the final transmission rate of network in the last videograph sampling period, T is the videograph sampling period, and Δ y is one-level modifying factor, and Δ x is the Second level amendment factor, and the span of Δ y is 0 ~ 0.15.
Step b5, speed to be sent and the current video transmission network bandwidth that detects to be compared, if speed to be sent is less than the current bandwidth detected, then bring speed to be sent into step b6, otherwise bring current video transmission network bandwidth into step b6.
Step b6, the value of being brought into by step b5 and the video code flow fluctuation maximum in video delivery network compares, if the value that step b5 brings into is less than the fluctuation maximum of video code flow in video delivery network, then the value that step b5 brings into is defined as actual transmission rate, otherwise the fluctuation maximum of video code flow in video delivery network is defined as actual transmission rate, enters step b7 afterwards.
Step b7, the video data adopted in described actual transmission rate transmission buffering area, enter step b8 afterwards.
Whether the time adopting the video data in described actual transmission rate transmission buffering area to use in step b8, determining step b7 exceedes the record sampling period, if yes then enter step b9, otherwise enters step b10.
Step b9, adjustment one-level modifying factor, and return step b1 in the next record sampling period.
In this step b9, the method for adjustment of one-level modifying factor Δ y is:
When the video data volume cushioned in buffering area is more than or equal to 0, and when being less than 1/8 of the amount of buffered data that video delivery network time delay allows, Δ y=-0.15; When the video data volume cushioned in buffering area is more than or equal to 1/8 of the amount of buffered data that video delivery network time delay allows, and when being less than 2/8 of the amount of buffered data that video delivery network time delay allows, Δ y=-0.1; When the video data volume cushioned in buffering area is more than or equal to 2/8 of the amount of buffered data that video delivery network time delay allows, and when being less than 3/8 of the amount of buffered data that described video delivery network time delay allows, Δ y=-0.05; When the video data volume cushioned in buffering area is more than or equal to 3/8 of the amount of buffered data that video delivery network time delay allows, and when being less than or equal to 5/8 of the amount of buffered data that video delivery network time delay allows, Δ y=0; When the video data volume cushioned in buffering area is greater than 5/8 of the amount of buffered data that video delivery network time delay allows, and when being less than or equal to 6/8 of the amount of buffered data that video delivery network time delay allows, Δ y=0.05; When the video data volume cushioned in buffering area is greater than 6/8 of the amount of buffered data that video delivery network time delay allows, and when being less than or equal to 7/8 of the amount of buffered data that video delivery network time delay allows, Δ y=0.1; When the video data volume cushioned in buffering area is greater than 7/8 of the amount of buffered data that video delivery network time delay allows, and when being less than or equal to 8/8 of the amount of buffered data that video delivery network time delay allows, Δ y=0.15.
Step b10, the remaining time in this record of dormancy sampling period, and return step b1 in the next record sampling period.
After said process, if one-level modifying factor Δ y adjusts, just new one-level modifying factor Δ y can be used within the next record sampling period to carry out the determination of the speed to be sent of step b4, and then determine new actual transmission rate by step b5 subsequently and step b6 within the next record sampling period, and then the video data in new actual transmission rate transmission buffering area can be adopted within the next record sampling period in step b7.Repeatedly carrying out through said process, along with the continuous adjustment of the one-level modifying factor Δ y recorded each time in the sampling period.
For Second level amendment factor Δ x, Main Function is the reliability of guarantee system, if the adjustment of one-level modifying factor Δ y ensure that the stable operation of system, namely the adjustment of one-level modifying factor Δ y ensure that the level and smooth transmission of vedio data in video delivery network, then can not use Second level amendment factor Δ x, otherwise need the reliability using Second level amendment factor Δ x and then the system of guarantee.
As shown in Figure 7, the embodiment flow process adjusting Second level amendment factor Δ x in the present invention comprises the following steps.
Step c1, setting the 3rd threshold point P3with the 4th threshold point P4, wherein the 3rd threshold point P3for the 3/4, four threshold point P of video encoder code check4for 5/4 of video encoder code check.
Step c2, the video data volume sent to video delivery network in cumulative each videograph sampling period, and enter step c3.
Step c3, according in added up each videograph sampling period to video delivery network send the video data volume, the actual code flow in 1 second before 2 seconds to current time before statistics current time, be designated as the first actual code flow, before statistics current time, 1 second is to the actual code flow of current time, is designated as the second actual code flow.
Step c4, when the first actual code flow and the second actual code flow are all lower than described 3rd threshold point:
Δx=-P3-ST
When the first actual code flow and the second actual code flow are all higher than described 4th threshold point:
Δx=P4-ST
Do not carry out the adjustment of the Second level amendment factor in other cases;
Wherein, P3be the 3rd threshold point, P4be the 4th threshold point, T is the videograph sampling period, and S is the code flow of the video encoder in current video record sampling period, and Δ x is the described Second level amendment factor.
Step c5, the Second level amendment factor Δ x obtained in step c4 is sent to formula (1), formula (2) and formula (3), for network transmission rate level and smooth of vedio data.
As shown in Figure 8, for not adopting the video delivery network code check fluctuation situation schematic diagram during smoothing method of the network transmission rate of vedio data of the present invention; As shown in Figure 9, for adopt the network transmission rate of vedio data of the present invention smoothing method after video delivery network code check fluctuation situation schematic diagram.By the contrast of Fig. 8 and Fig. 9, can find out, after adopting the smoothing method of network transmission rate of vedio data of the present invention, bring great improvement to the fluctuation of video delivery network code check, video delivery network code check fluctuation range can be remained in a less scope.Adopt the smoothing method of the network transmission rate of vedio data of the present invention, the network transmission rate of vedio data can be made constantly smoothing according to the direction of anticipation, and finally realize the level and smooth transmission of vedio data in video delivery network, and then avoid the overshoot of network data, loss of data, the network congestion even possibility of network paralysis.
The foregoing is only preferred embodiment of the present invention, not in order to limit the present invention, within the spirit and principles in the present invention all, any amendment made, equivalent replacement, improvement etc., all should be included within the scope of protection of the invention.

Claims (10)

CN201410253012.5A2014-06-092014-06-09The smoothing method of the network transmission rate of vedio dataActiveCN105338422B (en)

Priority Applications (1)

Application NumberPriority DateFiling DateTitle
CN201410253012.5ACN105338422B (en)2014-06-092014-06-09The smoothing method of the network transmission rate of vedio data

Applications Claiming Priority (1)

Application NumberPriority DateFiling DateTitle
CN201410253012.5ACN105338422B (en)2014-06-092014-06-09The smoothing method of the network transmission rate of vedio data

Publications (2)

Publication NumberPublication Date
CN105338422Atrue CN105338422A (en)2016-02-17
CN105338422B CN105338422B (en)2018-11-13

Family

ID=55288644

Family Applications (1)

Application NumberTitlePriority DateFiling Date
CN201410253012.5AActiveCN105338422B (en)2014-06-092014-06-09The smoothing method of the network transmission rate of vedio data

Country Status (1)

CountryLink
CN (1)CN105338422B (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
CN111083430A (en)*2018-10-182020-04-28杭州海康威视系统技术有限公司Image acquisition method and device, electronic equipment and storage medium
CN111954007A (en)*2020-07-142020-11-17烽火通信科技股份有限公司VBR video rapid smooth sending method and device in UDP live broadcast
CN113099488A (en)*2019-12-232021-07-09中国移动通信集团陕西有限公司Method, device, computing equipment and computer storage medium for solving network congestion
CN113573062A (en)*2020-04-292021-10-29华为技术有限公司 Traffic shaping method, device and electronic device
US11632580B2 (en)2018-12-292023-04-18Zhejiang Dahua Technology Co., Ltd.Systems and methods for multi-video stream transmission
WO2023087177A1 (en)*2021-11-172023-05-25Intel CorporationMethod and system of video coding with fast low-latency bitstream size control

Citations (6)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US20050100100A1 (en)*2003-11-122005-05-12Sony CorporationApparatus and method for use in providing dynamic bit rate encoding
CN101075957A (en)*2007-06-262007-11-21上海大学Method for controlling AVS fluid-medium transmission
CN101123606A (en)*2007-07-132008-02-13上海广电(集团)有限公司中央研究院AVS transmission control method based on real time transmission protocol or real time control protocol
CN101296184A (en)*2008-05-302008-10-29华为技术有限公司 Method, system and device for data transmission
US20110270913A1 (en)*2010-04-292011-11-03Irdeto Corporate B.V.Controlling an adaptive streaming of digital content
CN102325274A (en)*2011-10-132012-01-18浙江万里学院A kind of video flowing transfer control method of network bandwidth adaptive

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US20050100100A1 (en)*2003-11-122005-05-12Sony CorporationApparatus and method for use in providing dynamic bit rate encoding
CN101075957A (en)*2007-06-262007-11-21上海大学Method for controlling AVS fluid-medium transmission
CN101123606A (en)*2007-07-132008-02-13上海广电(集团)有限公司中央研究院AVS transmission control method based on real time transmission protocol or real time control protocol
CN101296184A (en)*2008-05-302008-10-29华为技术有限公司 Method, system and device for data transmission
US20110270913A1 (en)*2010-04-292011-11-03Irdeto Corporate B.V.Controlling an adaptive streaming of digital content
CN102325274A (en)*2011-10-132012-01-18浙江万里学院A kind of video flowing transfer control method of network bandwidth adaptive

Cited By (11)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
CN111083430A (en)*2018-10-182020-04-28杭州海康威视系统技术有限公司Image acquisition method and device, electronic equipment and storage medium
CN111083430B (en)*2018-10-182021-04-23杭州海康威视系统技术有限公司Image acquisition method and device, electronic equipment and storage medium
US11632580B2 (en)2018-12-292023-04-18Zhejiang Dahua Technology Co., Ltd.Systems and methods for multi-video stream transmission
CN113099488A (en)*2019-12-232021-07-09中国移动通信集团陕西有限公司Method, device, computing equipment and computer storage medium for solving network congestion
CN113099488B (en)*2019-12-232024-04-09中国移动通信集团陕西有限公司Method, device, computing equipment and computer storage medium for solving network congestion
CN113573062A (en)*2020-04-292021-10-29华为技术有限公司 Traffic shaping method, device and electronic device
WO2021218479A1 (en)*2020-04-292021-11-04华为技术有限公司Traffic shaping method and apparatus, and electronic device
CN113573062B (en)*2020-04-292023-12-29华为技术有限公司Traffic shaping method and device and electronic equipment
CN111954007A (en)*2020-07-142020-11-17烽火通信科技股份有限公司VBR video rapid smooth sending method and device in UDP live broadcast
CN111954007B (en)*2020-07-142022-03-25烽火通信科技股份有限公司VBR video rapid smooth sending method and device in UDP live broadcast
WO2023087177A1 (en)*2021-11-172023-05-25Intel CorporationMethod and system of video coding with fast low-latency bitstream size control

Also Published As

Publication numberPublication date
CN105338422B (en)2018-11-13

Similar Documents

PublicationPublication DateTitle
CN105338422A (en)Smoothing method of network transmission speed of video image data
KR100357689B1 (en)Apparatus for real time transmission of variable bit rate mpeg video traffic with consistent quality
JP5745098B2 (en) Video data quality evaluation method and video data quality evaluation device
CN104519325B (en)A kind of adaptive support method of wireless video monitoring system based on 4G network
CN102630013B (en)Bit rate control video compression method and device on basis of scene switching
CN106993190B (en)Software-hardware synergism coding method and system
WO2013159502A1 (en)Video quality evaluation method and device
CN101835043B (en)Adaptive bandwidth desktop sharing method based on block encoding
JP2012516644A5 (en)
CN101084678A (en)Rate control with buffer underflow prevention
CN105828069A (en)Encoder adaptive adjustment method based on subjective quality evaluation
CN103354618A (en)HLS-based multi-scenario streaming media adaptive live broadcast method
CN102427532B (en)Multipath video adapting coding transmission method under limited bandwidth and transmission system thereof
CN101895788B (en)Method and system for objectively evaluating video coding performance
CN104469367A (en)Video bitrate control method based on frame loss and quantization parameter adjustment
CN102098547A (en)Transmission method of self-adaptive/real-time high-definition video for embedded network
CN102246531A (en)Multiplexed video streaming
CN101466035A (en)Method for distributing video image set bit based on H.264
CN111246262A (en)Code scheduling control method and scheduling controller
Zahran et al.OSCAR: An optimized stall-cautious adaptive bitrate streaming algorithm for mobile networks
WO2012001339A1 (en)Video streaming
CN104754335A (en)Video coding rate control method
CN101335891B (en)Video rate control method and video rate controller
WO2024120214A1 (en)Coding control method and apparatus, and device, storage medium and product
CN109587438B (en) A Differentiated Video Content Service Method for Intelligent Video Surveillance

Legal Events

DateCodeTitleDescription
C06Publication
PB01Publication
C10Entry into substantive examination
SE01Entry into force of request for substantive examination
GR01Patent grant
GR01Patent grant

[8]ページ先頭

©2009-2025 Movatter.jp