CN116248973A - Bandwidth estimation method, device, equipment and storage medium - Google Patents
Bandwidth estimation method, device, equipment and storage medium Download PDFInfo
- Publication number
- CN116248973A CN116248973A CN202310299153.XA CN202310299153A CN116248973A CN 116248973 A CN116248973 A CN 116248973A CN 202310299153 A CN202310299153 A CN 202310299153A CN 116248973 A CN116248973 A CN 116248973A
- Authority
- CN
- China
- Prior art keywords
- bandwidth estimation
- bandwidth
- estimation
- candidate
- packet loss
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network 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/63—Control 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/647—Control 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/64723—Monitoring of network processes or resources, e.g. monitoring of network load
- H04N21/64738—Monitoring network characteristics, e.g. bandwidth, congestion level
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
- H04L43/0894—Packet rate
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Multimedia (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
The application provides a bandwidth estimation method, a device, equipment and a storage medium, wherein the bandwidth estimation method comprises the following steps: acquiring a previous best bandwidth estimation; calculating bandwidth estimation based on delay according to the feedback information of the transmission packet; acquiring a transmitting end updating bandwidth updated by a transmitting end based on the packet loss rate; according to the bandwidth estimation based on the delay, the updated bandwidth and the previous optimal bandwidth estimation iteration, updating candidate bandwidth estimation, and determining optimal candidate bandwidth estimation from the candidate bandwidth estimation based on an objective function calculated in the iteration process; and taking the optimal bandwidth estimation as a current optimal bandwidth estimation. The method and the device improve the bandwidth estimation accuracy.
Description
Technical Field
The present disclosure relates to the field of communications technologies, and in particular, to a method, an apparatus, a device, and a storage medium for bandwidth estimation.
Background
The current bandwidth estimation method of the video stream in the video conference is mainly used for coping with the bandwidth estimation under the condition of no packet loss or small packet loss rate, and is not applicable to the condition of higher packet loss rate, such as the condition that the packet loss rate exceeds 10%. In sendsidebandwidth estimation implementation of Webrtc (Web Real-Time Communication ), bandwidth is adjusted downwards when the packet loss rate exceeds 10% by default, and for continuous packet loss, bandwidth estimation results are always minimized when the packet loss rate exceeds 10%. The LossBasedBweV2 (second version of bandwidth estimation based on packet loss rate) is implemented for the continuous packet loss case, but can only adapt to the case of small packet loss rate.
Thus, how to improve the bandwidth estimation accuracy is a technical problem to be solved by those skilled in the art.
Disclosure of Invention
In order to overcome the defects in the prior art, the application provides a bandwidth estimation method, a device, equipment and a storage medium, so that the bandwidth estimation precision is improved.
According to one aspect of the present application, there is provided a bandwidth estimation method, including:
acquiring a previous best bandwidth estimation;
calculating bandwidth estimation based on delay according to the feedback information of the transmission packet;
acquiring a transmitting end updating bandwidth updated by a transmitting end based on the packet loss rate;
according to the bandwidth estimation based on the delay, the updated bandwidth and the previous optimal bandwidth estimation iteration, updating candidate bandwidth estimation, and determining optimal candidate bandwidth estimation from the candidate bandwidth estimation based on an objective function calculated in the iteration process; and
and taking the optimal bandwidth estimation as a current optimal bandwidth estimation.
In some embodiments of the present application, the objective function is a joint probability distribution function based on an estimated packet loss rate, the objective function is calculated based on the candidate bandwidth estimate and first and second derivatives of the candidate bandwidth estimate by the objective function,
the first derivative of the candidate bandwidth estimation by the objective function is obtained through conversion according to the first derivative of the candidate bandwidth estimation by the estimated packet loss rate and the first derivative of the estimated packet loss rate by the objective function;
and the second derivative of the target function to the candidate bandwidth estimation is obtained by conversion according to the first derivative of the estimated packet loss rate to the candidate bandwidth estimation and the second derivative of the target function to the estimated packet loss rate.
In some embodiments of the present application, the candidate bandwidth estimation is iteratively updated by using a coordinate descent method and a newton iteration method, where the candidate bandwidth estimation includes a continuous packet loss rate and a receiver-side bandwidth estimation updated by a receiver based on the continuous packet loss rate, and in the iterative update process of the candidate bandwidth estimation, the continuous packet loss rate and the receiver-side bandwidth estimation of the candidate bandwidth estimation are alternately updated.
In some embodiments of the present application, in an iterative update process of the candidate bandwidth estimate, the iterative update process is exited in response to a value of a current objective function being less than a value of a previous objective function.
In some embodiments of the present application, the bandwidth estimation based on delay is obtained by using estimation method based on delay, and calculating the bandwidth estimation based on delay according to feedback information of the transmission packet includes:
and adjusting the input code rate of the delay-based estimation method according to the continuous packet loss rate of the previous optimal bandwidth estimation.
In some embodiments of the present application, the optimal bandwidth estimation limits the bandwidth estimation upper limit of the sender update bandwidth.
In some embodiments of the present application, the bandwidth estimation method is implemented based on sendsidebandwidthoperation and LossBasedBweV2 of webtc.
According to still another aspect of the present application, there is also provided a bandwidth estimation apparatus, including:
a previous best bandwidth estimation acquisition module configured to acquire a previous best bandwidth estimation;
a delay-based bandwidth estimation calculation module configured to calculate a delay-based bandwidth estimation from the transmission packet feedback information;
the sending end updating bandwidth acquisition module is configured to acquire the sending end updating bandwidth updated by the sending end based on the packet loss rate;
an optimal candidate bandwidth estimation determining module configured to iteratively update candidate bandwidth estimates from the delay-based bandwidth estimates, an updated bandwidth, and a previous optimal bandwidth estimate, based on an objective function calculated in an iterative process, to determine an optimal candidate bandwidth estimate from the candidate bandwidth estimates; and
the current best bandwidth estimation determination module is configured to take the optimal bandwidth estimation as the current best bandwidth estimation.
According to still another aspect of the present application, there is also provided an electronic device including: a processor; a storage medium having stored thereon a computer program which, when executed by the processor, performs the steps as described above.
According to yet another aspect of the present application, there is also provided a storage medium having stored thereon a computer program which, when executed by a processor, performs the steps as described above.
Therefore, compared with the prior art, the scheme provided by the application has the following advantages:
compared with the method for carrying out bandwidth estimation by singly using bandwidth estimation based on delay or updating bandwidth, or selecting bandwidth from a plurality of candidate bandwidths to calculate an objective function, the method has the advantages that as the single bandwidth estimation has single estimation mode, the problem of estimation fluctuation and the problem of poor estimation precision easily occur in actual use, the method can update the candidate bandwidth estimation according to the bandwidth estimation based on delay, the updated bandwidth and the previous optimal bandwidth estimation iteration, and can synthesize the advantages of various bandwidth estimation based on the bandwidth estimation obtained by using different estimation modes, thereby improving the bandwidth estimation precision; the iterative mode is used for determining the current optimal bandwidth estimation according to the previous optimal bandwidth estimation, so that the estimation can be ensured to be stable.
Drawings
The above and other features and advantages of the present application will become more apparent by describing in detail exemplary embodiments thereof with reference to the attached drawings.
Fig. 1 shows a flowchart of a bandwidth estimation method according to an embodiment of the present application.
Fig. 2 shows a flow chart of a bandwidth estimation method according to a specific embodiment of the present application.
Fig. 3 shows a block diagram of a bandwidth estimation apparatus according to an embodiment of the present application.
Fig. 4 schematically illustrates a computer-readable storage medium in an exemplary embodiment of the present disclosure.
Fig. 5 schematically illustrates a schematic diagram of an electronic device in an exemplary embodiment of the present disclosure.
Detailed Description
Example embodiments will now be described more fully with reference to the accompanying drawings. However, the exemplary embodiments may be embodied in many forms and should not be construed as limited to the examples set forth herein; rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the concept of the example embodiments to those skilled in the art. The described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.
Furthermore, the drawings are only schematic illustrations of the present application and are not necessarily drawn to scale. The same reference numerals in the drawings denote the same or similar parts, and thus a repetitive description thereof will be omitted. Some of the block diagrams shown in the figures are functional entities and do not necessarily correspond to physically or logically separate entities. These functional entities may be implemented in software or in one or more hardware modules or integrated circuits or in different networks and/or processor devices and/or microcontroller devices.
The flow diagrams depicted in the figures are exemplary only and not necessarily all steps are included. For example, some steps may be decomposed, and some steps may be combined or partially combined, so that the order of actual execution may be changed according to actual situations.
In order to overcome the defects in the prior art, the application provides a bandwidth estimation method, a device, equipment and a storage medium, so that the bandwidth estimation precision is improved.
Referring first to fig. 1, fig. 1 shows a flowchart of a bandwidth estimation method according to an embodiment of the present application. The bandwidth estimation method provided by the application comprises the following steps:
step S110: the previous best bandwidth estimate is obtained.
Specifically, the previous optimal bandwidth estimation is the optimal bandwidth estimation obtained at the previous time of the bandwidth estimation, that is, the current optimal bandwidth estimation obtained at the previous time of performing steps S110 to S150.
Step S120: and calculating bandwidth estimation based on delay according to the feedback information of the transmission packet.
Specifically, the receiving of the feedback information of the transmission packet may be implemented through a transport packet feedback, where the transport packet feedback is an entry for processing after receiving the feedback information of the transmission packet, and a time interval of the feedback information of the transmission packet may be set as required. The bandwidth estimation based on delay can be estimated and obtained by adopting an estimation method based on delay.
Step S130: and acquiring the update bandwidth of the transmitting end based on the update of the packet loss rate.
Specifically, the update bandwidth of the transmitting end can be estimated and obtained by adopting a sendsidebandwidth estimation mode. The present application is not limited thereto, and the update bandwidth of the transmitting end may be updated and adjusted based on the previous best bandwidth estimation on the basis of sendsidebandwidth estimation.
Step S140: and iteratively updating candidate bandwidth estimates according to the bandwidth estimates based on the delay, the updated bandwidth and the previous optimal bandwidth estimates, and determining the optimal candidate bandwidth estimates from the candidate bandwidth estimates based on an objective function calculated in the iterative process.
In particular, the present application may implement a variety of different iterative updating approaches, which will be described in the following discussion.
Step S150: and taking the optimal bandwidth estimation as a current optimal bandwidth estimation.
Therefore, in the bandwidth estimation method provided by the application, compared with the method of singly using the bandwidth estimation based on delay or updating the bandwidth to perform the bandwidth estimation or selecting the bandwidth from a plurality of candidate bandwidths to calculate the objective function, the single bandwidth estimation is single in estimation mode, so that the problem of estimation fluctuation easily occurs in actual use.
In some specific implementations, the bandwidth estimation method can be implemented based on SendSideBandwidthEstimation and lossbusedwv 2 of webtc, so that the bandwidth estimation accuracy can be improved while the existing bandwidth estimation algorithm is not affected by the variation of the existing bandwidth estimation algorithm.
In some embodiments, the objective function is a joint probability distribution function based on estimated packet loss rates. The objective function may be calculated from the candidate bandwidth estimates. Specifically, the first derivative and the second derivative of the objective function with respect to the candidate bandwidth estimation are obtained according to the first derivative of the estimated packet loss rate with respect to the candidate bandwidth estimation, and the first derivative and the second derivative of the objective function with respect to the estimated packet loss rate. Thus, by the derivative relation, the objective function can be calculated based on the candidate bandwidth estimation. The calculation mode can be directly modified into a LossBasedBweV2 corresponding interface (LossBasedBweV 2:: getDerivatives interface).
In some implementations of the foregoing calculation method, the candidate bandwidth estimation may include a continuous packet loss rate information_loss and a receiving-end bandwidth estimation loss_limited_bandwidth updated by the receiving-end based on the continuous packet loss rate. The estimated packet loss rate loss_pro for a single packet can be calculated according to the following formula:
the setting_rate is a Sending code rate in a corresponding statistic time, and the setting_rate can be stored in a lossbusedbwev 2: in an observationjarray, each element in the array approximately corresponds to statistics in an observationjduration_lower_bound time.
The derivatives of loss_pro to the input_loss and loss_limited_bandwidth are respectively:
the objective function J (loss_pro) obtained based on the joint probability distribution of estimated packet loss rate is:
wherein N is loss(i) The packet loss number in the corresponding statistical time is calculated. N (N) recv(i) For the number of packets received in the corresponding statistics time. N (N) loss(i) N recv(i) Can be stored in the LossBasedBweV2:: observations _ array as the sensing _ rate.
The first and second derivatives of the objective function for loss_pro are respectively:
according to the chain law, the first and second derivatives of the objective function for the input_loss and loss_limited_bandwidth can be obtained:
according to the above formula, calculation of an objective function based on candidate bandwidth estimation can be achieved.
In some embodiments, the candidate bandwidth estimates are iteratively updated using a coordinate descent method and a newton iteration method. In the iterative updating process of the candidate bandwidth estimation, the continuous packet loss rate of the candidate bandwidth estimation and the bandwidth estimation of the receiving end are updated alternately so as to maximize the objective function step by step.
Therefore, the method and the device can update the receiving end bandwidth estimation based on the continuous packet loss rate in the iteration process, and update the continuous packet loss rate based on the receiving end bandwidth estimation.
In some embodiments, in an iterative update process of the candidate bandwidth estimate, the iterative update process is exited in response to a value of a current objective function being less than a value of a previous objective function. Since the iterative updating gradually maximizes the objective function, if the objective function is reduced, the updating process can be exited in time, and redundant objective function calculation is avoided.
In some embodiments, the delay-based bandwidth estimation is obtained using a delay-based estimation method, and the calculating the delay-based bandwidth estimation based on the transmission packet feedback information includes: and adjusting the input code rate of the delay-based estimation method according to the continuous packet loss rate of the previous optimal bandwidth estimation. Specifically, in the case of higher packet loss rate, the input code rate of the delay-based estimation method is only representative of the code rate size received by the receiving end, and the received code rate is smaller than the sending code rate due to the effect of continuous packet loss, so the embodiment corrects the input code rate by the continuous packet loss rate input_loss of the previous best bandwidth estimation to estimate the sending code rate. For example, the input code rate correction may be made as: the acknowleded_bit/(1-lnthert_loss). The present application is not limited thereto, and other transmission code rate estimation methods and input code rate correction methods are all within the protection scope of the present application.
In some embodiments, the optimal bandwidth estimate limits the bandwidth estimate upper limit of the sender's updated bandwidth. Specifically, if the bandwidth estimated in lossbusedbwev 2 is directly taken as the output of sendsidebandwidth estimation, the bandwidth estimation obtained in this way may fluctuate greatly, which affects the stability of the whole system. Therefore, the embodiment combines the original algorithm in the SendSideBandwidth estimation to adjust the update bandwidth of the transmitting end, wherein the original algorithm in the SendSideBandwidth estimation is to adjust the bandwidth according to the relation between the real-time packet loss rate and the threshold value in the update Estimate function. In this embodiment, the updated bandwidth of the transmitting end may be adjusted by the difference between the real-time packet loss rate and the index_loss, and the adjusted updated bandwidth of the transmitting end may not be directly validated, but may be re-evaluated in lossbusedbwev 2 as one of the candidate bandwidths and the bandwidth estimation upper limit is calculated, and the updated bandwidth of the transmitting end is limited in turn, and may be finally used as the final estimation result of sendsidebandwidth estimation. In this embodiment, the LossBasedBweV2 may only be responsible for the estimation of the index_loss and the determination of the upper limit of the bandwidth estimation based on packet loss. The update estimate function may be invoked periodically or upon updating the packet loss rate. Further, the optimal bandwidth estimation and the delay-based bandwidth estimation may simultaneously limit the upper limit of the update bandwidth of the transmitting end.
Referring now to fig. 2, fig. 2 illustrates a flow chart of a bandwidth estimation method according to a specific embodiment of the present application. In fig. 2, the first receiving the feedback information of the transport packet, specifically, may be implemented by a transport packet feedback, where the revealing procedure receives the feedback information of the transport packet and then performs the processing on the entry, and the time interval of the feedback information of the transport packet may be set as required, for example, may be 100 ms.
Step S201: and adjusting the input code rate of the delay-based estimation method according to the continuous packet loss rate of the previous optimal bandwidth estimation, and calculating the bandwidth estimation based on delay.
Step S202: the previous best bandwidth estimate is obtained.
Step S203: and acquiring the update bandwidth of the transmitting end based on the update of the packet loss rate.
Step S204: and updating the candidate bandwidth estimation according to the bandwidth estimation based on the delay, the updated bandwidth and the previous optimal bandwidth estimation.
Step S205: and judging whether to end the iteration.
If the determination in step S205 is yes, step S210 is executed: and adjusting the input code rate of the delay-based estimation method according to the continuous packet loss rate of the previous optimal bandwidth estimation, and calculating the bandwidth estimation based on delay.
If the determination in step S205 is negative, step S206 is executed: and iteratively updating the candidate bandwidth estimation by adopting a coordinate descent method and a Newton iteration method.
Step S207: an objective function is calculated.
Step S208: and judging whether the objective function is larger than the maximum objective function.
If the determination in step S208 is yes, step S209 is executed: and recording the current objective function as the value of the maximum objective function, and recording the corresponding candidate bandwidth estimation. After step S209, step S205 is performed.
If step S208 is negative, step S205 is executed.
After receiving the transmission feedback information, step S211 may also be executed: and updating the statistical value. The updated statistics may be used in iterative updating of candidate bandwidth estimates and in computation of objective functions. The statistic value can include the number N of lost packets in the corresponding statistic time loss(i) Corresponding to the number N of received packets in the statistical time recv(i) The sending code rate sensing_rate and the like in the corresponding statistical time are stored in the LossBasedBweV2: values in the obsessions_array.
Therefore, the embodiment can accurately estimate the continuous packet loss rate index_loss, does not influence the original bandwidth estimation scheme in webrtc, and solves the problem of bandwidth estimation under the continuous packet loss scene.
The foregoing illustrates various implementations of the present application, which are not limited thereto, and in various embodiments, the addition, omission, and sequential transformation of steps are all within the scope of the present application; the embodiments may be implemented alone or in combination.
The bandwidth estimation apparatus 300 provided in the present application is described below with reference to fig. 3. The bandwidth estimation apparatus 300 includes a previous best bandwidth estimation acquisition module 310, a delay-based bandwidth estimation calculation module 320, a sender update bandwidth acquisition module 330, an optimal candidate bandwidth estimation determination module 340, and a current best bandwidth estimation determination module 350.
The previous best bandwidth estimate acquisition module 310 is configured to acquire a previous best bandwidth estimate;
the delay-based bandwidth estimation calculation module 320 is configured to calculate a delay-based bandwidth estimation from the transmission packet feedback information;
the sender update bandwidth obtaining module 330 is configured to obtain a sender update bandwidth updated by the sender based on the packet loss rate;
the optimal candidate bandwidth estimation determination module 340 is configured to iteratively update candidate bandwidth estimates from the delay-based bandwidth estimates, updated bandwidths, and previous optimal bandwidth estimates, and determine optimal candidate bandwidth estimates from the candidate bandwidth estimates based on an objective function calculated in an iterative process; and
the current best bandwidth estimation determination module 350 is configured to take the optimal bandwidth estimation as the current best bandwidth estimation.
Compared with the method of singly using bandwidth estimation based on delay or updating bandwidth to perform bandwidth estimation or selecting bandwidth from a plurality of candidate bandwidths to calculate an objective function, the bandwidth estimation device provided by the application has the advantages that the single bandwidth estimation is single in estimation mode, so that the problem of estimation fluctuation and the problem of poor estimation precision easily occur in actual use, and the bandwidth estimation device can synthesize the advantages of various bandwidth estimation based on the bandwidth estimation obtained by using different estimation modes according to the bandwidth estimation based on delay, the updating bandwidth and the previous optimal bandwidth estimation; the iterative mode is used for determining the current optimal bandwidth estimation according to the previous optimal bandwidth estimation, so that the estimation can be ensured to be stable.
The bandwidth estimation apparatus 300 may be implemented by software, hardware, firmware, or any combination thereof. Fig. 3 is a schematic illustration of the bandwidth estimation apparatus 300 provided in the present application, and the splitting, merging, and adding of the modules are all within the protection scope of the present application without departing from the concept of the present application.
In an exemplary embodiment of the present disclosure, there is also provided a computer-readable storage medium, on which a computer program is stored, which program, when being executed by, for example, a processor, may implement the steps of the bandwidth estimation method described in any of the above embodiments. In some possible embodiments, the various aspects of the present application may also be implemented in the form of a program product comprising program code for causing a terminal device to carry out the steps according to the various exemplary embodiments of the present application as described in the above-mentioned bandwidth estimation method section of the present specification, if the program product is run on the terminal device.
Referring to fig. 4, a program product 800 for implementing the above-described method according to an embodiment of the present application is described, which may employ a portable compact disc read only memory (CD-ROM) and include program code, and may be run on a terminal device, such as a personal computer. However, the program product of the present application is not limited thereto, and in this document, a readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
The program product may employ any combination of one or more readable media. The readable medium may be a readable signal medium or a readable storage medium. The readable storage medium can be, for example, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or a combination of any of the foregoing. More specific examples (a non-exhaustive list) of the readable storage medium would include the following: an electrical connection having one or more wires, a portable disk, a hard disk, random Access Memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
The computer readable storage medium may include a data signal propagated in baseband or as part of a carrier wave, with readable program code embodied therein. Such a propagated data signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination of the foregoing. A readable storage medium may also be any readable medium that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. Program code embodied on a readable storage medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
Program code for carrying out operations of the present application may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, C++ or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code may execute entirely on the tenant computing device, partially on the tenant device, as a stand-alone software package, partially on the tenant computing device, partially on a remote computing device, or entirely on a remote computing device or server. In the case of remote computing devices, the remote computing device may be connected to the tenant computing device through any kind of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or may be connected to an external computing device (e.g., connected through the internet using an internet service provider).
In an exemplary embodiment of the present disclosure, an electronic device is also provided, which may include a processor, and a memory for storing executable instructions of the processor. Wherein the processor is configured to perform the steps of the bandwidth estimation method of any of the embodiments described above via execution of the executable instructions.
Those skilled in the art will appreciate that the various aspects of the present application may be implemented as a system, method, or program product. Accordingly, aspects of the present application may be embodied in the following forms, namely: an entirely hardware embodiment, an entirely software embodiment (including firmware, micro-code, etc.) or an embodiment combining hardware and software aspects may be referred to herein as a "circuit," module "or" system.
An electronic device 600 according to this embodiment of the present application is described below with reference to fig. 5. The electronic device 600 shown in fig. 5 is merely an example and should not be construed as limiting the functionality and scope of use of embodiments of the present application.
As shown in fig. 5, the electronic device 600 is embodied in the form of a general purpose computing device. Components of electronic device 600 may include, but are not limited to: at least one processing unit 610, at least one memory unit 620, a bus 630 connecting the different system components (including the memory unit 620 and the processing unit 610), a display unit 640, etc.
Wherein the storage unit stores program code that is executable by the processing unit 610 such that the processing unit 610 performs steps according to various exemplary embodiments of the present application described in the above-described bandwidth estimation method section of the present specification. For example, the processing unit 610 may perform the steps as shown in fig. 1.
The memory unit 620 may include readable media in the form of volatile memory units, such as Random Access Memory (RAM) 6201 and/or cache memory unit 6202, and may further include Read Only Memory (ROM) 6203.
The storage unit 620 may also include a program/utility 6204 having a set (at least one) of program modules 6205, such program modules 6205 including, but not limited to: an operating system, one or more application programs, other program modules, and program data, each or some combination of which may include an implementation of a network environment.
The electronic device 600 may also communicate with one or more external devices 700 (e.g., keyboard, pointing device, bluetooth device, etc.), one or more devices that enable a tenant to interact with the electronic device 600, and/or any device (e.g., router, modem, etc.) that enables the electronic device 600 to communicate with one or more other computing devices. Such communication may occur through an input/output (I/O) interface 650. Also, electronic device 600 may communicate with one or more networks such as a Local Area Network (LAN), a Wide Area Network (WAN), and/or a public network, such as the Internet, through network adapter 660. The network adapter 660 may communicate with other modules of the electronic device 600 over the bus 630. It should be appreciated that although not shown, other hardware and/or software modules may be used in connection with electronic device 600, including, but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, data backup storage systems, and the like.
From the above description of embodiments, those skilled in the art will readily appreciate that the example embodiments described herein may be implemented in software, or may be implemented in software in combination with the necessary hardware. Thus, the technical solution according to the embodiments of the present disclosure may be embodied in the form of a software product, which may be stored in a non-volatile storage medium (may be a CD-ROM, a usb disk, a mobile hard disk, etc.) or on a network, and includes several instructions to cause a computing device (may be a personal computer, a server, or a network device, etc.) to perform the above-described bandwidth estimation method according to the embodiments of the present disclosure.
Therefore, compared with the prior art, the scheme provided by the application has the following advantages:
compared with the method for carrying out bandwidth estimation by singly using bandwidth estimation based on delay or updating bandwidth, or selecting bandwidth from a plurality of candidate bandwidths to calculate an objective function, the method has the advantages that as the single bandwidth estimation has single estimation mode, the problem of estimation fluctuation and the problem of poor estimation precision easily occur in actual use, the method can update the candidate bandwidth estimation according to the bandwidth estimation based on delay, the updated bandwidth and the previous optimal bandwidth estimation iteration, and can synthesize the advantages of various bandwidth estimation based on the bandwidth estimation obtained by using different estimation modes, thereby improving the bandwidth estimation precision; the iterative mode is used for determining the current optimal bandwidth estimation according to the previous optimal bandwidth estimation, so that the estimation can be ensured to be stable.
Other embodiments of the disclosure will be apparent to those skilled in the art from consideration of the specification and practice of the disclosure disclosed herein. This application is intended to cover any adaptations, uses, or adaptations of the disclosure following, in general, the principles of the disclosure and including such departures from the present disclosure as come within known or customary practice within the art to which the disclosure pertains. It is intended that the specification and examples be considered as exemplary only, with a true scope and spirit of the disclosure being indicated by the following claims.
Claims (10)
1. A method of bandwidth estimation, comprising:
acquiring a previous best bandwidth estimation;
calculating bandwidth estimation based on delay according to the feedback information of the transmission packet;
acquiring a transmitting end updating bandwidth updated by a transmitting end based on the packet loss rate;
according to the bandwidth estimation based on the delay, the updated bandwidth and the previous optimal bandwidth estimation iteration, updating candidate bandwidth estimation, and determining optimal candidate bandwidth estimation from the candidate bandwidth estimation based on an objective function calculated in the iteration process; and
and taking the optimal bandwidth estimation as a current optimal bandwidth estimation.
2. The method of bandwidth estimation according to claim 1, wherein the objective function is a joint probability distribution function based on an estimated packet loss rate, the objective function being calculated based on the candidate bandwidth estimate and first and second derivatives of the candidate bandwidth estimate by the objective function,
the first derivative of the candidate bandwidth estimation by the objective function is obtained through conversion according to the first derivative of the candidate bandwidth estimation by the estimated packet loss rate and the first derivative of the estimated packet loss rate by the objective function;
and the second derivative of the target function to the candidate bandwidth estimation is obtained by conversion according to the first derivative of the estimated packet loss rate to the candidate bandwidth estimation and the second derivative of the target function to the estimated packet loss rate.
3. The bandwidth estimation method according to claim 1, wherein the candidate bandwidth estimation is iteratively updated by a coordinate descent method and a newton iteration method, the candidate bandwidth estimation includes a continuous packet loss rate and a receiver-side bandwidth estimation updated by the receiver-side based on the continuous packet loss rate, and the continuous packet loss rate and the receiver-side bandwidth estimation of the candidate bandwidth estimation are alternately updated during the iterative update of the candidate bandwidth estimation.
4. The bandwidth estimation method according to claim 1, wherein in the iterative update process of the candidate bandwidth estimation, the iterative update process is exited in response to a value of a current objective function being smaller than a value of a previous objective function.
5. The method for estimating bandwidth according to claim 1, wherein the delay-based bandwidth estimation is obtained by using a delay-based estimation method, and the calculating the delay-based bandwidth estimation based on the feedback information of the transmission packet includes:
and adjusting the input code rate of the delay-based estimation method according to the continuous packet loss rate of the previous optimal bandwidth estimation.
6. The bandwidth estimation method according to claim 1, wherein the optimal bandwidth estimation limits a bandwidth estimation upper limit of the transmission-side update bandwidth.
7. The bandwidth estimation method according to claim 1, wherein the bandwidth estimation method is implemented based on sendsidebandwidothestimate and lossbusev 2 of webtc.
8. A bandwidth estimation apparatus, comprising:
a previous best bandwidth estimation acquisition module configured to acquire a previous best bandwidth estimation;
a delay-based bandwidth estimation calculation module configured to calculate a delay-based bandwidth estimation from the transmission packet feedback information;
the sending end updating bandwidth acquisition module is configured to acquire the sending end updating bandwidth updated by the sending end based on the packet loss rate;
an optimal candidate bandwidth estimation determining module configured to iteratively update candidate bandwidth estimates from the delay-based bandwidth estimates, an updated bandwidth, and a previous optimal bandwidth estimate, based on an objective function calculated in an iterative process, to determine an optimal candidate bandwidth estimate from the candidate bandwidth estimates; and
the current best bandwidth estimation determination module is configured to take the optimal bandwidth estimation as the current best bandwidth estimation.
9. An electronic device, the electronic device comprising:
a processor;
a memory having stored thereon a computer program which, when executed by the processor, performs:
a bandwidth estimation method according to any one of claims 1 to 7.
10. A storage medium having a computer program stored thereon, the computer program when executed by a processor performing:
a bandwidth estimation method according to any one of claims 1 to 7.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310299153.XA CN116248973A (en) | 2023-03-24 | 2023-03-24 | Bandwidth estimation method, device, equipment and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310299153.XA CN116248973A (en) | 2023-03-24 | 2023-03-24 | Bandwidth estimation method, device, equipment and storage medium |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116248973A true CN116248973A (en) | 2023-06-09 |
Family
ID=86631345
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310299153.XA Pending CN116248973A (en) | 2023-03-24 | 2023-03-24 | Bandwidth estimation method, device, equipment and storage medium |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116248973A (en) |
-
2023
- 2023-03-24 CN CN202310299153.XA patent/CN116248973A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20230017335A (en) | Buffer processing methods, devices, apparatuses and computer storage media | |
CN114091617A (en) | Federal learning modeling optimization method, electronic device, storage medium, and program product | |
CN113453045B (en) | Network bandwidth prediction method, system, device and storage medium | |
CN108733508B (en) | Method and system for controlling data backup | |
CN109981225B (en) | Code rate estimation method, device, equipment and storage medium | |
CN113327598B (en) | Model training method, voice recognition method, device, medium and equipment | |
CN114039703B (en) | Data transmission method, device, equipment and medium | |
CN114389975B (en) | Network bandwidth estimation method, device and system, electronic equipment and storage medium | |
CN111768790B (en) | Method and device for transmitting voice data | |
CN112634904B (en) | Hotword recognition method, device, medium and electronic equipment | |
EP4187882B1 (en) | Data transmission method and apparatus, device, storage medium, and computer program product | |
US11709619B2 (en) | Method, electronic device, and computer program product for processing data | |
CN112669870B (en) | Training method and device for voice enhancement model and electronic equipment | |
CN115801639B (en) | Bandwidth detection method and device, electronic equipment and storage medium | |
CN116248973A (en) | Bandwidth estimation method, device, equipment and storage medium | |
CN112187684A (en) | Soft demodulation method, device, receiver and storage medium | |
CN114900477B (en) | Message processing method, server, electronic equipment and storage medium | |
CN111800223A (en) | Method, device and system for generating sending message and processing receiving message | |
CN110401603B (en) | Method and device for processing information | |
CN115695853A (en) | Video processing method, electronic device and computer program product | |
CN113612710B (en) | Channel prediction method, device, equipment and medium | |
US20230236795A1 (en) | Data processing method implemented at edge switch, electronic device, and program product | |
CN113676397B (en) | Spatial position data processing method and device, storage medium and electronic equipment | |
CN110647519B (en) | Method and device for predicting missing attribute value in test sample | |
CN118316790B (en) | Communication data transmission method, device, equipment and storage medium |
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 |