CN113747253B - Network bandwidth determining method, video RTP receiving end and storage medium - Google Patents

Network bandwidth determining method, video RTP receiving end and storage medium Download PDF

Info

Publication number
CN113747253B
CN113747253B CN202110943778.6A CN202110943778A CN113747253B CN 113747253 B CN113747253 B CN 113747253B CN 202110943778 A CN202110943778 A CN 202110943778A CN 113747253 B CN113747253 B CN 113747253B
Authority
CN
China
Prior art keywords
threshold
count value
delay
network
jitter
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110943778.6A
Other languages
Chinese (zh)
Other versions
CN113747253A (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.)
China Mobile Communications Group Co Ltd
China Mobile Hangzhou Information Technology Co Ltd
Original Assignee
China Mobile Communications Group Co Ltd
China Mobile Hangzhou Information 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 China Mobile Communications Group Co Ltd, China Mobile Hangzhou Information Technology Co Ltd filed Critical China Mobile Communications Group Co Ltd
Priority to CN202110943778.6A priority Critical patent/CN113747253B/en
Publication of CN113747253A publication Critical patent/CN113747253A/en
Application granted granted Critical
Publication of CN113747253B publication Critical patent/CN113747253B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • H04N21/6437Real-time Transport Protocol [RTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64723Monitoring of network processes or resources, e.g. monitoring of network load
    • H04N21/64738Monitoring network characteristics, e.g. bandwidth, congestion level

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The invention discloses a network bandwidth determining method, a video real-time transmission protocol RTP receiving end and a computer readable storage medium. The method is applied to an RTP receiving end and comprises the following steps: determining queuing delay of RTP packets, and determining a dynamic delay threshold according to the queuing delay; updating a jitter count value according to a comparison result of the queuing delay and the dynamic delay threshold, wherein the jitter count value comprises a first count value corresponding to the number of times that the queuing delay is greater than the dynamic delay threshold and a second count value corresponding to the number of times that the dynamic delay threshold is greater than the queuing delay; determining a network load state according to the first count value and/or the second count value; and determining the network bandwidth according to the network load state. The invention aims to achieve the effect of improving the accuracy of the network bandwidth estimation result.

Description

Network bandwidth determining method, video RTP receiving end and storage medium
Technical Field
The present invention relates to the field of communications technologies, and in particular, to a method for determining a network bandwidth, a RTP receiving end and a computer readable storage medium.
Background
The bandwidth adaptive capacity of the real-time communication system is an important guarantee that the services such as video call and video conference can be normally performed in most network environments. And most important is the bandwidth adaptation capability to estimate the network load state more accurately.
In the related art, a queuing delay is generally estimated by an arrival time, and congestion of a network is considered to occur when the queuing delay exceeds a predetermined threshold, thereby estimating a network load state. However, in actual network conditions, the distribution and variation of queuing delays varies from network environment to network environment. For example, in the network environment such as the first fourth generation mobile communication technology 4G or the wireless communication technology WIFI, the queuing delay has the characteristics of large distribution difference, obvious jitter amplitude and the like. Therefore, when a real-time network bandwidth estimation result is determined based on a magnitude relation between a predetermined threshold and queuing delay, erroneous judgment is liable to occur.
The foregoing is provided merely for the purpose of facilitating understanding of the technical solutions of the present invention and is not intended to represent an admission that the foregoing is prior art.
Disclosure of Invention
The invention mainly aims to provide a network bandwidth determining method, a video real-time transmission protocol RTP receiving end and a computer readable storage medium, and aims to achieve the effect of improving the network performance of a wireless dual-frequency router.
In order to achieve the above object, the present invention provides a method for determining a network bandwidth, which is applied to an RTP receiving end of a video real-time transmission protocol, wherein the method for determining the network bandwidth includes:
determining queuing delay of RTP packets, and determining a dynamic delay threshold according to the queuing delay;
updating a jitter count value according to a comparison result of the queuing delay and the dynamic delay threshold, wherein the jitter count value comprises a first count value corresponding to the number of times that the queuing delay is greater than the dynamic delay threshold and a second count value corresponding to the number of times that the dynamic delay threshold is greater than the queuing delay;
determining a network load state according to the first count value and/or the second count value;
and determining the network bandwidth according to the network load state.
Optionally, the step of determining the network load status according to the first count value and/or the second count value includes:
when the first count value is larger than a jitter threshold value, judging that the network load state is network overload;
when the first count value is smaller than or equal to the jitter threshold value and the second count value is larger than the jitter threshold value, judging that the network load state is network underload;
and when the first count value is smaller than or equal to the jitter threshold value and the second count value is smaller than or equal to the jitter threshold value, judging that the network load state is full.
Optionally, after the first count value is determined to be greater than the jitter threshold, if the jitter threshold is greater than a minimum value corresponding to the jitter threshold, subtracting one from the jitter threshold; and after the first count value is smaller than or equal to the jitter threshold value and the second count value is larger than the jitter threshold value, if the jitter threshold value is smaller than the maximum value corresponding to the jitter threshold value, adding one to the jitter threshold value.
Optionally, the step of determining the network bandwidth according to the network load state includes:
acquiring a mapping relation of the jitter threshold association, and determining a bandwidth adjusting parameter according to the mapping relation and the jitter threshold;
and acquiring an initial network bandwidth, and determining the network bandwidth according to the initial network bandwidth and the bandwidth adjusting parameter.
Optionally, the step of updating the jitter count value according to the comparison result of the queuing delay and the dynamic delay threshold value includes:
when the dynamic time delay threshold is detected to be updated, acquiring the updated dynamic time delay threshold and queuing time delay;
when the queuing delay is greater than the dynamic delay threshold, the first count value is incremented by one;
and when the dynamic delay threshold is greater than the queuing delay, adding one to the second count value.
Optionally, the step of determining the queuing delay of the RTP packet and determining the dynamic delay threshold according to the queuing delay includes:
determining an arrival time point of the RTP packet, and obtaining the queuing delay according to the arrival time;
and updating a current delay threshold according to the queuing delay, and taking the updated current delay threshold as the dynamic delay threshold.
Optionally, after the step of determining the network bandwidth according to the network load status, the method further includes:
and feeding the network bandwidth back to a video RTP transmitting end so that the video RTP transmitting end can adjust the video data code rate according to the network bandwidth.
In addition, in order to achieve the above object, the present invention further provides a video real-time transport protocol RTP receiving end, where the video real-time transport protocol RTP receiving end includes a memory, a processor, and a network bandwidth determining program stored in the memory and capable of running on the processor, where the network bandwidth determining program when executed by the processor implements the steps of the network bandwidth determining method as described above.
In addition, in order to achieve the above objective, the present invention further provides a video real-time transport protocol RTP receiving end, where the video real-time transport protocol RTP receiving end includes:
the acquisition module is used for acquiring the actually measured received signal strength indication RSSI of the access equipment;
the determining module is used for determining related information of a current access frequency band corresponding to the access equipment when the actually measured RSSI of the access equipment is in a preset intensity interval, wherein the related information comprises access duration, utilization rate and/or allocable resource ratio between a frequency band to be switched and the current access frequency band corresponding to the current access frequency band;
and the guiding module is used for guiding the access equipment to switch the frequency band when the related information meets the preset condition.
In addition, in order to achieve the above object, the present invention also provides a computer-readable storage medium having stored thereon a network bandwidth determination program which, when executed by a processor, implements the steps of the network bandwidth determination method as described above.
The network bandwidth determining method, the video real-time transmission protocol RTP receiving end and the computer readable storage medium provided by the embodiment of the invention are characterized in that the queuing delay of an RTP packet is firstly determined, a dynamic delay threshold is determined according to the queuing delay, then a jitter count value is updated according to a comparison result of the queuing delay and the dynamic delay threshold, wherein the jitter count value comprises a first count value corresponding to the number of times that the queuing delay is larger than the dynamic delay threshold, and a second count value corresponding to the number of times that the dynamic delay threshold is larger than the queuing delay, further a network load state is determined according to the first count value and/or the second count value, and finally the network bandwidth is determined according to the network load state. The estimated value of the network bandwidth of the current network can be determined by the dynamic time delay threshold and the jitter times of the network, the network load state and other comprehensive factors. Thereby achieving the effect of improving the accuracy of the network bandwidth estimation result.
Drawings
FIG. 1 is a schematic diagram of a terminal structure of a hardware operating environment according to an embodiment of the present invention;
FIG. 2 is a flow chart illustrating an embodiment of a method for determining network bandwidth according to the present invention;
FIG. 3 is a diagram of an RTP system framework according to an embodiment of the present invention;
fig. 4 is a schematic diagram of an execution flow of a dynamic delay threshold determining manner according to an embodiment of the present invention;
fig. 5 is a schematic diagram of an execution flow of a network status determination method according to an embodiment of the present invention;
fig. 6 is a schematic diagram of an execution flow of a network bandwidth determining method according to an embodiment of the present invention;
FIG. 7 is a schematic flow chart of an alternative embodiment of the present invention;
fig. 8 is a schematic diagram of modularization of an RTP receiving end according to an embodiment of the invention.
The achievement of the objects, functional features and advantages of the present invention will be further described with reference to the accompanying drawings, in conjunction with the embodiments.
Detailed Description
It should be understood that the specific embodiments described herein are for purposes of illustration only and are not intended to limit the scope of the invention.
As shown in fig. 1, fig. 1 is a schematic diagram of a terminal structure of a hardware running environment according to an embodiment of the present invention.
As shown in fig. 1, the control terminal may include: a processor 1001, such as a CPU, a network interface 1003, memory 1004, and a communication bus 1002. Wherein the communication bus 1002 is used to enable connected communication between these components. The network interface 1003 may optionally include a standard wired interface, a wireless interface (e.g., WI-FI interface). The memory 1004 may be a high-speed RAM memory or a stable memory (non-volatile memory), such as a disk memory. The memory 1004 may also optionally be a storage device separate from the processor 1001 described above.
It will be appreciated by those skilled in the art that the terminal structure shown in fig. 1 is not limiting of the terminal and may include more or fewer components than shown, or may combine certain components, or a different arrangement of components.
As shown in fig. 1, an operating system, a network communication module, and a network bandwidth determination program may be included in the memory 1004, which is a type of computer storage medium.
In the terminal shown in fig. 1, the processor 1001 may be configured to call a determination program of network bandwidth stored in the memory 1004, and perform the following operations:
determining queuing delay of RTP packets, and determining a dynamic delay threshold according to the queuing delay;
updating a jitter count value according to a comparison result of the queuing delay and the dynamic delay threshold, wherein the jitter count value comprises a first count value corresponding to the number of times that the queuing delay is greater than the dynamic delay threshold and a second count value corresponding to the number of times that the dynamic delay threshold is greater than the queuing delay;
determining a network load state according to the first count value and/or the second count value;
and determining the network bandwidth according to the network load state.
Further, the processor 1001 may call a determination program of the network bandwidth stored in the memory 1004, and further perform the following operations:
when the first count value is larger than a jitter threshold value, judging that the network load state is network overload;
when the first count value is smaller than or equal to the jitter threshold value and the second count value is larger than the jitter threshold value, judging that the network load state is network underload;
and when the first count value is smaller than or equal to the jitter threshold value and the second count value is smaller than or equal to the jitter threshold value, judging that the network load state is full.
Further, the processor 1001 may call a determination program of the network bandwidth stored in the memory 1004, and further perform the following operations:
acquiring a mapping relation of the jitter threshold association, and determining a bandwidth adjusting parameter according to the mapping relation and the jitter threshold;
and acquiring an initial network bandwidth, and determining the network bandwidth according to the initial network bandwidth and the bandwidth adjusting parameter.
Further, the processor 1001 may call a determination program of the network bandwidth stored in the memory 1004, and further perform the following operations:
when the dynamic time delay threshold is detected to be updated, acquiring the updated dynamic time delay threshold and queuing time delay;
when the queuing delay is greater than the dynamic delay threshold, the first count value is incremented by one;
and when the dynamic delay threshold is greater than the queuing delay, adding one to the second count value.
Further, the processor 1001 may call a determination program of the network bandwidth stored in the memory 1004, and further perform the following operations:
determining an arrival time point of the RTP packet, and obtaining the queuing delay according to the arrival time;
and updating a current delay threshold according to the queuing delay, and taking the updated current delay threshold as the dynamic delay threshold.
Further, the processor 1001 may call a determination program of the network bandwidth stored in the memory 1004, and further perform the following operations:
and feeding the network bandwidth back to a video RTP transmitting end so that the video RTP transmitting end can adjust the video data code rate according to the network bandwidth.
Video traffic occupies a significant part of a real-time communication system. Video services have large bandwidth occupation, low data redundancy, and are very sensitive to the available bandwidth of the network compared to voice data. When the network quality is poor, the phenomena of blocking, screen-display, frame freezing and the like are easy to occur. In some extreme scenarios, the network may even be completely blocked, thereby affecting other services such as voice services.
Therefore, in order to guarantee the quality of video service, the adaptation capability of the real-time communication system to the network bandwidth needs to be improved while the network bandwidth is improved.
The bandwidth adaptation capability mainly has two points, namely, the client can output video data with different code rates under different network environments. For example, wired networks generally have better network conditions and thus may prioritize video quality, providing the best video quality. In the environments of 4G networks, WIFI networks, etc., the data traffic limitation and the available bandwidth limitation are considered. Requiring a relatively small output code rate but acceptable video quality. And the network state can change along with time in the same network environment, so that when the network is congested, the client can timely reduce the output code rate to avoid complete network blocking. And after the network state is recovered, the code rate can be timely recovered, and the service use is recovered.
In either case, the client's estimation of the network load state is the basis for implementing bandwidth adaptation capability.
In the related art, the most common method in network load estimation is to estimate queuing delay through arrival time, and consider that the network is congested when the queuing delay increases to a certain threshold. Therefore, to accurately judge the network load state, the judgment threshold value of queuing delay is a key point.
In the actual network condition, the distribution and the change of queuing delay in different network environments are different, such as the queuing delay distribution is stable under a wired network, the jitter amplitude is small, and at the moment, whether the network is overloaded can be easily judged by a simple fixed threshold method. However, in network environments such as 4G or WIFI, queuing delay has the characteristics of large distribution difference, obvious jitter amplitude and the like. Therefore, in network environments such as 4G or WIFI, a simple fixed threshold method is adopted to determine a real-time network bandwidth estimation result, and the defect that misjudgment is easy to occur exists.
In order to solve the above-mentioned drawbacks of the related art, an embodiment of the present invention provides a method for estimating a network bandwidth, which determines an estimated value of a network bandwidth of a current network by using multiple comprehensive factors such as a dynamic delay threshold, a jitter frequency of the network, a network load state, and the like. The method aims to achieve the effect of improving the accuracy of the network bandwidth estimation result. The present invention is further illustrated by the following examples.
In one embodiment, referring to fig. 2, the method for determining the network bandwidth includes the following steps:
step S10, determining queuing delay of RTP packets, and determining a dynamic delay threshold according to the queuing delay;
step S20, updating a jitter count value according to a comparison result of the queuing delay and the dynamic delay threshold, wherein the jitter count value comprises a first count value corresponding to the number of times that the queuing delay is greater than the dynamic delay threshold and a second count value corresponding to the number of times that the dynamic delay threshold is greater than the queuing delay;
step S30, determining a network load state according to the first count value and/or the second count value;
and step S40, determining the network bandwidth according to the network load state.
Referring to fig. 3, an RTP system framework is shown. In a video call process, an RTP data transmitting end (hereinafter referred to as an RTP transmitting end) may perform video encoding and data packing after video is acquired. The RTP data is then transmitted to the server over an upstream data transmission channel. After receiving the RTP data, the server may send the RTP data to a video RTP receiving end (hereinafter referred to as an RTP receiving end) through a downlink data transmission channel. After the RTP data is received by the RTP receiving end, the RTP data packet can be unpacked. And then video decoding and video rendering are carried out based on the video data obtained by the unpacking so as to output video.
Therefore, in order to determine the network load status of the transport network between the RTP sender and the RTP receiver, that is, determine the bandwidth estimation value of the transport network between the RTP sender and the RTP receiver, the above-mentioned network bandwidth determination method may be performed by the RTP receiver, thereby determining the bandwidth estimation value of the transport network between the RTP sender and the RTP receiver. After the RTP receiving end determines the network bandwidth, a bandwidth estimation result (hereinafter referred to as the network bandwidth) may be fed back to the RTP sending end through a network link, so that the RTP sending end may adjust the video code rate based on the network bandwidth. Thereby improving the stability of the RTP system.
In this embodiment, the RTP receiving end determines an arrival time point of the RTP packet first, and performs filtering processing to obtain a queuing delay corresponding to the RTP packet. It will be appreciated that the effect of the filtering of the arrival time points is to smooth the arrival time. Thus, in some embodiments, it may be selectively set whether a filtering process is required for the arrival time. Alternatively, as an implementation, the filtering process for the arrival time point may be implemented by a kalman filter. This allows for a better calculation of the queuing delay while the filtering process is performed. Of course, in its implementation, it may be implemented in other manners, which are not limited in this embodiment.
Further, after determining the queuing delay of the RTP packet, the stored current delay threshold value can be updated, and the updated current delay threshold value is used as a dynamic delay threshold value.
The current delay threshold T may be illustratively calculated based on the following formula t Updating to obtain a dynamic time delay threshold T:
Figure GDA0003910720400000081
where D is the determined queuing delay, Δt is the interval time from the last update, k u And k d The speed-up factor and the speed-down factor are fixed values respectively. The proposal adopts a method of fast expansion and slow reduction to update the threshold value, namely k u And k d Satisfy |k u |>|k d Constraint of I, and k u Positive value, k d Is negative.
In the above, queuing delay D and current delay threshold T t And comparing, and calculating according to different calculation modes according to the comparison result. In both cases, due to k u And k d Different value settings will result in a calculation result from T t Become larger or smaller. The time delay threshold rise process is changed into a time delay threshold fall process. For example, on the first start-up, the new threshold will change from the initial threshold to another value, and whether it is increasing or decreasing depends on the current queuing delay D.
It should be noted that, in the implementation process, an initial threshold may be preset, for example, T is set to 25 ms. When the step is started for the first time, T t Is the initial threshold 25. The determined queuing delay is the queuing delay in the current flow. The value may be less than the initial threshold or greater than the initial threshold. The threshold T will be close to the actual queuing delay D after several updates. Therefore, the initial value of T has less effect on the system.
Furthermore, the thresholds are typically closed to actual calculated queuing delays during the update process. Consider the case where queuing delay is too large or becomes large, which is a poor network condition. By adjusting k u And k d The update mechanism is set to a fast-expanding mechanism. So that the threshold updates will get closer to the actual queuing delay faster. Conversely, network restoration or network state will preferably manifest as a reduced queuing delay, at which point the threshold reduction process is implemented by a slow-down mechanism. Thus, when the threshold value is larger, the overall system keeps higher conservation. The estimated value of the bandwidth will not be easily increased. Conversely, when the threshold is smaller, the system will be more aggressive and will flash the bandwidth estimation resultsAnd (5) quickly adjusting. Therefore, the fast-rising and slow-falling threshold updating method enables the whole system to follow a conservation principle for network environments with larger queuing delay and more frequent queuing delay jitter.
In a specific application scenario, please refer to fig. 4, in a process of determining a dynamic delay threshold, queuing delay D is taken as an input, where D is in units of milliseconds.
The time interval delta can then be calculated t Wherein the time interval Δt is the difference of the current millisecond timestamp minus the last millisecond timestamp. Optionally, if the last millisecond timestamp is an invalid value, updating the last millisecond timestamp to be the current millisecond timestamp. And skips the update. If the last millisecond time stamp is not an invalid value, the last millisecond time stamp is updated to be the current millisecond time stamp.
Further, condition judgment is carried out, a calculation mode is determined according to a judgment result, and a corresponding dynamic time delay threshold T is calculated.
Optionally, after determining the calculation result, the calculation result may be further limited in scope, for example, between [0,1000 ]. Wherein the units are milliseconds.
Optionally, the queuing delay D and/or the current delay threshold T may also be determined before the condition determination is made t Whether it is an invalid value. If yes, the updating process is ended. Otherwise, executing the condition judgment.
Further, after the dynamic delay threshold is determined, a jitter count value may be updated according to a comparison result between the queuing delay and the dynamic delay threshold, where the jitter count value includes a first count value N corresponding to a number of times the queuing delay is greater than the dynamic delay threshold d And the dynamic time delay threshold is larger than a second count value N corresponding to the queuing time delay times t
Optionally, after determining a dynamic delay threshold, a magnitude relationship between the queuing delay and the dynamic delay threshold may be determined. When the queuing delay is greater than the dynamic delay threshold, the first count value is incremented by one; and when the dynamic delay threshold is greater than the queuing delay, adding one to the second count value. Thus, if either the first count value or the second count value is continuously accumulating, this will indicate that the queuing delay has a significant tendency to change, rather than temporarily jitter.
Further, after the jitter count value is updated, the network load state may be determined according to the first count value and/or the second count value corresponding to the updated jitter count value.
For example, referring to fig. 5, in the first count value N d When the jitter threshold value d is larger than the jitter threshold value d, judging the network load state as network overload; at the first count value N d Is less than or equal to the jitter threshold d, and the second count value N t When the jitter threshold value d is larger than the jitter threshold value d, judging the network load state as network underload; at the first count value N d And when the second count value Nt is smaller than or equal to the jitter threshold d, judging that the network load state is full.
Alternatively, the first count value N may also be determined d After the jitter threshold value d is larger than the jitter threshold value d, if the jitter threshold value d is larger than the minimum value d corresponding to the jitter threshold value d min Subtracting one from the jitter threshold d; at the time of determining the first count value N d Is less than or equal to the jitter threshold d, and the second count value N t After the jitter threshold value d is larger than the jitter threshold value d, if the jitter threshold value d is smaller than the maximum value d corresponding to the jitter threshold value d max The jitter threshold d is increased by one. Alternatively, the initial value of the jitter threshold may be set to be equal to the maximum value d max Equal, the maximum value d max Can be set to 8, the minimum value d min May be set to 2. Thus, as the jitter threshold changes, the sensitivity to network state interpretation also changes. Generally, the smaller the jitter threshold value, the greater the network state judgment sensitivity. And network overload may result in a smaller jitter threshold. Therefore, when the network is overloaded, the system is more sensitive to the network queuing delay, and the network overload state is triggered more, so that the bandwidth estimation value is reduced. This is also the protection to be adopted when the threshold is largePrinciple of conservation.
It will be appreciated that, since the first count value is an accumulation generated when queuing delay is continuously large, and this process will cause the dynamic delay threshold to rapidly increase, when determining the network load state, the magnitude relationship between the first count value and the jitter threshold may be determined first, which is also for the purpose of following the conservation principle when the dynamic delay threshold is large.
Further, after determining the network state, the network bandwidth may be determined based on the network state.
For example, a mapping relationship associated with the jitter threshold may be obtained, a bandwidth adjustment parameter may be determined according to the mapping relationship and the jitter threshold, and then an initial network bandwidth may be obtained, and the network bandwidth may be determined according to the initial network bandwidth and the bandwidth adjustment parameter.
It should be noted that, the bandwidth condition parameter is a corresponding value when the jitter threshold value is mapped to another value range. Thereby, the purpose of determining the network bandwidth by taking the jitter threshold value as an anchor point can be realized.
As an alternative embodiment, referring to fig. 6, an estimation of the available bandwidth (hereinafter referred to as network bandwidth) B may be performed according to a network load status. There will be different processes depending on the three network load conditions. The bandwidth condition parameters m and n in the following formulas are non-negative constants, which function to further linearly map the value range of the jitter threshold d.
Specifically, if the current network state is a network underload state, the network bandwidth B is calculated according to the following formula:
B=B t (m+nd)
wherein B is t For an initial network bandwidth, wherein, at the first time, the network bandwidth B is determined, the initial network bandwidth B t And (3) setting a value in advance, otherwise, setting the network bandwidth to be determined last time.
If the current network state is the network full state, judging whether the duration time of the network full state continuously reaches (20-d) s, and if the duration time condition is met, calculating the network bandwidth according to a calculation formula corresponding to the network underload state. Otherwise, the initial network bandwidth is taken as the network bandwidth.
If the current network state is a network overload state, calculating a network bandwidth B according to the following formula:
B=B t (m-nd)
wherein Bt is an initial network bandwidth, where, in the first time, the network bandwidth B is determined, where the initial network bandwidth Bt is a preset value, otherwise, it is the network bandwidth determined last time.
In the present embodiment, when realized based on the above-described method, the bandwidth is roughly divided into three states, i.e., a bandwidth is increased, a bandwidth is decreased, and a bandwidth is maintained. The full load state triggers the growth, which is to avoid the system falling into the local oscillation state, and is a growth detection mechanism. The jitter threshold d affects the rate of change of the bandwidth estimate and the full state growth detection interval, respectively. Generally, when d is smaller, the network state is in overload or triggers overload state for many times, and the bandwidth estimation value has smaller change amplitude and larger increase detection interval. The opposite is true when the value of d is large.
Optionally, referring to fig. 7, as an alternative embodiment, after the step S40, the method further includes:
and step S50, feeding the network bandwidth back to a video RTP transmitting end so that the video RTP transmitting end can adjust the video data code rate according to the network bandwidth.
This achieves the effect of improving the smoothness of the RTP process.
In the technical scheme disclosed in this embodiment, the queuing delay of the RTP packet is determined first, a dynamic delay threshold is determined according to the queuing delay, then, a jitter count value is updated according to a comparison result of the queuing delay and the dynamic delay threshold, wherein the jitter count value includes a first count value corresponding to the number of times that the queuing delay is greater than the dynamic delay threshold, and a second count value corresponding to the number of times that the dynamic delay threshold is greater than the queuing delay, and then, a network load state is determined according to the first count value and/or the second count value, and finally, a network bandwidth is determined according to the network load state. The estimated value of the network bandwidth of the current network can be determined by the dynamic time delay threshold and the jitter times of the network, the network load state and other comprehensive factors. Thereby achieving the effect of improving the accuracy of the network bandwidth estimation result.
In addition, the embodiment of the invention also provides a video real-time transmission protocol RTP receiving end, which comprises: the system comprises a memory, a processor and a network bandwidth determining program stored in the memory and capable of running on the processor, wherein the network bandwidth determining program realizes the steps of the network bandwidth determining method according to the various embodiments when being executed by the processor.
In addition, referring to fig. 8, an embodiment of the present invention further provides a RTP receiver 100, where the RTP receiver 100 includes:
a determining module 101, configured to determine a queuing delay of an RTP packet, and determine a dynamic delay threshold according to the queuing delay;
an updating module 102, configured to update a jitter count value according to a comparison result of the queuing delay and the dynamic delay threshold, where the jitter count value includes a first count value corresponding to a number of times the queuing delay is greater than the dynamic delay threshold, and a second count value corresponding to a number of times the dynamic delay threshold is greater than the queuing delay;
a determining module 103, configured to determine a network load status according to the first count value and/or the second count value;
a processing module 104, configured to determine a network bandwidth according to the network load status.
Furthermore, the embodiments of the present invention also provide a computer-readable storage medium having stored thereon a network bandwidth determining program which, when executed by a processor, implements the steps of the network bandwidth determining method described in the above embodiments.
It should be noted that, in this document, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or system that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or system. Without further limitation, an element defined by the phrase "comprising one … …" does not exclude the presence of other like elements in a process, method, article, or system that comprises the element.
The foregoing embodiment numbers of the present invention are merely for the purpose of description, and do not represent the advantages or disadvantages of the embodiments.
From the above description of the embodiments, it will be clear to those skilled in the art that the above-described embodiment method may be implemented by means of software plus a necessary general hardware platform, but of course may also be implemented by means of hardware, but in many cases the former is a preferred embodiment. Based on such understanding, the technical solution of the present invention may be embodied essentially or in a part contributing to the prior art in the form of a software product stored in a storage medium (e.g. ROM/RAM, magnetic disk, optical disk) as described above, comprising instructions for causing a video real time transport protocol RTP receiving end (e.g. a mobile phone, a tablet computer or a PC, etc.) to perform the method according to the embodiments of the present invention.
The foregoing description is only of the preferred embodiments of the present invention, and is not intended to limit the scope of the invention, but rather is intended to cover any equivalents of the structures or equivalent processes disclosed herein or in the alternative, which may be employed directly or indirectly in other related arts.

Claims (9)

1. The method for determining the network bandwidth is characterized by being applied to a video real-time transmission protocol RTP receiving end, and comprises the following steps:
determining queuing delay of RTP packet, and determining dynamic delay threshold according to the queuing delay, wherein the current delay threshold T t Make a more compactThe formula for obtaining the dynamic time delay threshold T is as follows:
Figure QLYQS_1
wherein D is the queuing delay, deltat is the interval time from the last update, ku and kd are respectively fixed values of a speed-up factor and a speed-down factor, so as to realize the updating of the threshold value in a fast-up and slow-down way;
updating a jitter count value according to a comparison result of the queuing delay and the dynamic delay threshold, wherein the jitter count value comprises a first count value corresponding to the number of times that the queuing delay is greater than the dynamic delay threshold and a second count value corresponding to the number of times that the dynamic delay threshold is greater than the queuing delay;
determining a network load state according to the first count value and/or the second count value, wherein when the first count value is greater than a jitter threshold, the network load state is determined to be network overload, when the first count value is less than or equal to the jitter threshold and the second count value is greater than the jitter threshold, the network load state is determined to be network underload, and when the first count value is less than or equal to the jitter threshold and the second count value is less than or equal to the jitter threshold, the network load state is determined to be network full load;
and determining the network bandwidth according to the network load state.
2. The method according to claim 1, wherein after determining that the first count value is greater than the jitter threshold, if the jitter threshold is greater than a minimum value corresponding to the jitter threshold, the jitter threshold is decremented by one; and after the first count value is smaller than or equal to the jitter threshold value and the second count value is larger than the jitter threshold value, if the jitter threshold value is smaller than the maximum value corresponding to the jitter threshold value, adding one to the jitter threshold value.
3. The method according to any one of claims 1 to 2, wherein the step of determining the network bandwidth according to the network load status includes:
acquiring a mapping relation of the jitter threshold association, and determining a bandwidth adjusting parameter according to the mapping relation and the jitter threshold;
and acquiring an initial network bandwidth, and determining the network bandwidth according to the initial network bandwidth and the bandwidth adjusting parameter.
4. The method for determining network bandwidth according to claim 1, wherein the step of updating the jitter count value based on a comparison result of the queuing delay and the dynamic delay threshold value comprises:
when the dynamic time delay threshold is detected to be updated, acquiring the updated dynamic time delay threshold and queuing time delay;
when the queuing delay is greater than the dynamic delay threshold, the first count value is incremented by one;
and when the dynamic delay threshold is greater than the queuing delay, adding one to the second count value.
5. The method for determining network bandwidth according to claim 1, wherein the step of determining a queuing delay of the RTP packet and determining a dynamic delay threshold according to the queuing delay comprises:
determining an arrival time point of the RTP packet, and obtaining the queuing delay according to the arrival time;
and updating a current delay threshold according to the queuing delay, and taking the updated current delay threshold as the dynamic delay threshold.
6. The method for determining network bandwidth according to claim 1, further comprising, after the step of determining network bandwidth according to the network load status:
and feeding the network bandwidth back to a video RTP transmitting end so that the video RTP transmitting end can adjust the video data code rate according to the network bandwidth.
7. The video real-time transmission protocol RTP receiving end is characterized in that the video real-time transmission protocol RTP receiving end comprises: memory, a processor and a network bandwidth determination program stored on the memory and executable on the processor, which when executed by the processor, implements the steps of the network bandwidth determination method according to any one of claims 1 to 6.
8. The video real-time transmission protocol RTP receiving end is characterized in that the video real-time transmission protocol RTP receiving end comprises:
a determining module, configured to determine a queuing delay of an RTP packet, and determine a dynamic delay threshold according to the queuing delay, where the current delay threshold T t Updating to obtain the dynamic time delay threshold T according to the following formula:
Figure QLYQS_2
wherein D is the queuing delay, deltat is the interval time from the last update, ku and kd are respectively fixed values of a speed-up factor and a speed-down factor, so as to realize the updating of the threshold value in a fast-up and slow-down way;
the updating module is used for updating a jitter count value according to a comparison result of the queuing time delay and the dynamic time delay threshold, wherein the jitter count value comprises a first count value corresponding to the number of times that the queuing time delay is larger than the dynamic time delay threshold and a second count value corresponding to the number of times that the dynamic time delay threshold is larger than the queuing time delay;
the judging module is used for determining a network load state according to the first count value and/or the second count value, wherein the network load state is judged to be network overload when the first count value is larger than a jitter threshold value, the network load state is judged to be network underload when the first count value is smaller than or equal to the jitter threshold value and the second count value is larger than the jitter threshold value, and the network load state is judged to be network full when the first count value is smaller than or equal to the jitter threshold value and the second count value is smaller than or equal to the jitter threshold value;
and the processing module is used for determining the network bandwidth according to the network load state.
9. A computer-readable storage medium, wherein a network bandwidth determination program is stored on the computer-readable storage medium, which when executed by a processor, implements the steps of the network bandwidth determination method according to any one of claims 1 to 6.
CN202110943778.6A 2021-08-17 2021-08-17 Network bandwidth determining method, video RTP receiving end and storage medium Active CN113747253B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110943778.6A CN113747253B (en) 2021-08-17 2021-08-17 Network bandwidth determining method, video RTP receiving end and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110943778.6A CN113747253B (en) 2021-08-17 2021-08-17 Network bandwidth determining method, video RTP receiving end and storage medium

Publications (2)

Publication Number Publication Date
CN113747253A CN113747253A (en) 2021-12-03
CN113747253B true CN113747253B (en) 2023-04-28

Family

ID=78731405

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110943778.6A Active CN113747253B (en) 2021-08-17 2021-08-17 Network bandwidth determining method, video RTP receiving end and storage medium

Country Status (1)

Country Link
CN (1) CN113747253B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115118636B (en) * 2022-06-13 2024-05-14 北京达佳互联信息技术有限公司 Method and device for determining network jitter state, electronic equipment and storage medium

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2535819B (en) * 2015-07-31 2017-05-17 Imagination Tech Ltd Monitoring network conditions
CN109257295B (en) * 2018-09-28 2021-11-05 宁波大学 Time delay driven congestion control method based on AQM algorithm
CN109905326A (en) * 2019-03-26 2019-06-18 武汉大学 A kind of rate drawdown parameter optimization method based on the Congestion Level SPCC factor
CN112752119B (en) * 2019-10-31 2023-12-01 中兴通讯股份有限公司 Delay error correction method, terminal equipment, server and storage medium
CN112118191B (en) * 2020-09-18 2023-07-28 首都师范大学 Multipath transmission congestion control method, device, control equipment and storage medium

Also Published As

Publication number Publication date
CN113747253A (en) 2021-12-03

Similar Documents

Publication Publication Date Title
CN110266551B (en) Bandwidth prediction method, device, equipment and storage medium
CN111683393B (en) Adaptive congestion control method for dynamically adjusting gain coefficient
US8125910B2 (en) Communication system
CN106301684B (en) Media data transmission method and device
KR101107945B1 (en) Reducing packet loss for a packet data service during congestion in a transport network
US6452950B1 (en) Adaptive jitter buffering
KR102350504B1 (en) Apparatus and method for controlling downlink throughput in communication system
CN106255149B (en) Media data transmission method and device
US8004989B2 (en) Controlling a window for congestion control in a network
US9510354B2 (en) Method and a device for low intrusive fast estimation of the bandwidth available between two IP nodes
EP1278353A2 (en) Dynamic jitter buffering for voice-over-ip and other packet-based communication systems
WO2017000719A1 (en) Congestion control method and device based on queue delay
KR20160144257A (en) Method and apparatus for control transmission base on transmision control protocol in a communication system
US20160156563A1 (en) Network Assisted Rate Adaptation
Kühlewind et al. Using data center TCP (DCTCP) in the Internet
KR20170135107A (en) Data Transmission Method and Computing Apparatus Provided with Data Transmission Function
CN111726301B (en) Congestion control method and system for guaranteeing video quality in real-time video
US20130083656A1 (en) Method and Arrangement for Detecting Congestion in a Communications Network
WO2015069944A1 (en) Systems and methods for proactive congestion detection in radio access networks
CN113747253B (en) Network bandwidth determining method, video RTP receiving end and storage medium
JP2013535852A (en) Communication device, method, and computer-implementable product for admission control
KR101818243B1 (en) Method and Apparatus for Adaptive Buffer Management in Communication Systems
WO2011013768A1 (en) Wireless terminal and transmission speed prediction method
CN112422356A (en) Method and device for determining network state
Nihei et al. QoE maximizing bitrate control for live video streaming on a mobile uplink

Legal Events

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