CN117478516A - Bandwidth allocation method, device, electronic equipment, medium and product - Google Patents

Bandwidth allocation method, device, electronic equipment, medium and product Download PDF

Info

Publication number
CN117478516A
CN117478516A CN202311552977.XA CN202311552977A CN117478516A CN 117478516 A CN117478516 A CN 117478516A CN 202311552977 A CN202311552977 A CN 202311552977A CN 117478516 A CN117478516 A CN 117478516A
Authority
CN
China
Prior art keywords
bandwidth allocation
bandwidth
gear
media stream
preset
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202311552977.XA
Other languages
Chinese (zh)
Inventor
陶雪锋
吴灿锐
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Zitiao Network Technology Co Ltd
Original Assignee
Beijing Zitiao Network 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 Beijing Zitiao Network Technology Co Ltd filed Critical Beijing Zitiao Network Technology Co Ltd
Priority to CN202311552977.XA priority Critical patent/CN117478516A/en
Publication of CN117478516A publication Critical patent/CN117478516A/en
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0896Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/80Actions related to the user profile or the type of traffic
    • H04L47/803Application aware
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/80Actions related to the user profile or the type of traffic
    • H04L47/805QOS or priority aware

Abstract

The embodiment of the disclosure discloses a bandwidth allocation method, a device, electronic equipment, a storage medium and a product, wherein the method comprises the following steps: acquiring coding attribute information, bandwidth allocation priority and allocable bandwidth of a plurality of types of media streams in a target communication link; based on the bandwidth allocation sequence corresponding to the bandwidth allocation priority, allocating bandwidth for each type of media stream in sequence according to the preset bandwidth allocation gear configuration until no bandwidth can be allocated or the highest bandwidth allocation gear is reached; in each preset bandwidth allocation gear, determining a bandwidth allocation result of each type of media stream according to the real-time network state and the coding attribute information of the target communication link; the coding attribute information includes a reference coding rate value that matches each preset bandwidth allocation gear. The technical scheme of the embodiment of the disclosure can realize stepwise multiple bandwidth allocation, and bandwidth reallocation is performed on the basis of guaranteeing basic operation of media streams with different priorities so as to simultaneously meet the bandwidth requirements of the media streams with different priorities.

Description

Bandwidth allocation method, device, electronic equipment, medium and product
Technical Field
The embodiment of the disclosure relates to the technical field of communication, in particular to a bandwidth allocation method, a device, electronic equipment, a medium and a product.
Background
In the process of network data transmission, especially when packet loss and network congestion occur, in order to control the sending code rate not to exceed the detection bandwidth, bandwidth allocation is required to be carried out on different stream media data which are sent simultaneously.
However, at present, bandwidth allocation is mostly carried out in one time according to the coding rate requirement, and then is corrected according to the priority of the media stream; or apportioned as desired. The above manner may cause that the lowest bandwidth of the low priority data stream is not satisfied, so that the data cannot be sent; it may not be possible to meet the higher quality experience of high priority media streams.
Disclosure of Invention
The present disclosure provides a bandwidth allocation method, apparatus, electronic device, medium, and product, which can allocate bandwidth by a stepwise multiple bandwidth allocation policy on the basis of guaranteeing basic operation of media streams of each priority, so as to simultaneously satisfy bandwidth requirements of media streams of different priorities.
In a first aspect, an embodiment of the present disclosure provides a bandwidth allocation method, including:
Acquiring coding attribute information, bandwidth allocation priority and allocatable bandwidth of a plurality of types of media streams in a target communication link;
based on the bandwidth allocation sequence corresponding to the bandwidth allocation priority, allocating bandwidth for each type of media stream in sequence according to a preset bandwidth allocation gear configuration until no bandwidth can be allocated or the highest bandwidth allocation gear is reached;
in each preset bandwidth allocation gear, determining a bandwidth allocation result of each type of media stream according to the real-time network state of the target communication link and the coding attribute information;
the coding attribute information comprises a reference coding code rate value matched with each preset bandwidth allocation gear.
In a second aspect, an embodiment of the present disclosure further provides a bandwidth allocation apparatus, including:
the bandwidth allocation parameter acquisition module is used for acquiring coding attribute information, bandwidth allocation priority and allocatable bandwidth of a plurality of types of media streams in the target communication link;
the bandwidth allocation module is used for allocating bandwidth to each type of media stream in sequence according to the bandwidth allocation sequence corresponding to the bandwidth allocation priority and the preset bandwidth allocation gear configuration until no bandwidth can be allocated or the highest bandwidth allocation gear is reached;
In each preset bandwidth allocation gear, determining a bandwidth allocation result of each type of media stream according to the real-time network state of the target communication link and the coding attribute information;
the coding attribute information comprises a reference coding code rate value matched with each preset bandwidth allocation gear.
In a third aspect, embodiments of the present disclosure further provide an electronic device, including:
one or more processors;
storage means for storing one or more programs,
the one or more programs, when executed by the one or more processors, cause the one or more processors to implement the bandwidth allocation method as described in any of the embodiments of the present disclosure.
In a fourth aspect, the disclosed embodiments also provide a storage medium containing computer-executable instructions, which when executed by a computer processor, are for performing the bandwidth allocation method according to any of the disclosed embodiments.
In a fifth aspect, the disclosed embodiments also provide a computer program product comprising a computer program which, when executed by a processor, implements a bandwidth allocation method according to any of the embodiments of the invention.
According to the embodiment of the disclosure, coding attribute information, bandwidth allocation priority and allocatable bandwidth of a plurality of types of media streams in a target communication link are acquired; based on the bandwidth allocation sequence corresponding to the bandwidth allocation priority, allocating bandwidth for each type of media stream in sequence according to the preset bandwidth allocation gear configuration until no bandwidth can be allocated or the highest bandwidth allocation gear is reached; in each preset bandwidth allocation gear, determining a bandwidth allocation result of each type of media stream according to the real-time network state and the coding attribute information of the target communication link; the coding attribute information includes a reference coding rate value that matches each preset bandwidth allocation gear. The technical scheme of the embodiment of the disclosure solves the problem that the existing bandwidth allocation strategy can not simultaneously consider the bandwidth requirements of the high-priority media stream and the low-priority media stream, and can reallocate the bandwidth on the basis of guaranteeing the basic operation of each priority media stream through the stepped multiple bandwidth allocation strategy so as to simultaneously meet the bandwidth requirements of the media streams with different priorities.
Drawings
The above and other features, advantages, and aspects of embodiments of the present disclosure will become more apparent by reference to the following detailed description when taken in conjunction with the accompanying drawings. The same or similar reference numbers will be used throughout the drawings to refer to the same or like elements. It should be understood that the figures are schematic and that elements and components are not necessarily drawn to scale.
Fig. 1 is a schematic flow chart of a bandwidth allocation method according to an embodiment of the disclosure;
fig. 2 is a schematic flow chart of a bandwidth allocation method according to an embodiment of the disclosure;
fig. 3 is a flowchart of a bandwidth allocation method according to an embodiment of the present disclosure;
fig. 4 is a schematic diagram of an example bandwidth allocation provided by an embodiment of the present disclosure;
fig. 5 is a schematic structural diagram of a bandwidth allocation apparatus according to an embodiment of the present disclosure;
fig. 6 is a schematic structural diagram of an electronic device according to an embodiment of the disclosure.
Detailed Description
Embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. While certain embodiments of the present disclosure have been shown in the accompanying drawings, it is to be understood that the present disclosure may be embodied in various forms and should not be construed as limited to the embodiments set forth herein, but are provided to provide a more thorough and complete understanding of the present disclosure. It should be understood that the drawings and embodiments of the present disclosure are for illustration purposes only and are not intended to limit the scope of the present disclosure.
It should be understood that the various steps recited in the method embodiments of the present disclosure may be performed in a different order and/or performed in parallel. Furthermore, method embodiments may include additional steps and/or omit performing the illustrated steps. The scope of the present disclosure is not limited in this respect.
The term "including" and variations thereof as used herein are intended to be open-ended, i.e., including, but not limited to. The term "based on" is based at least in part on. The term "one embodiment" means "at least one embodiment"; the term "another embodiment" means "at least one additional embodiment"; the term "some embodiments" means "at least some embodiments. Related definitions of other terms will be given in the description below.
It should be noted that the terms "first," "second," and the like in this disclosure are merely used to distinguish between different devices, modules, or units and are not used to define an order or interdependence of functions performed by the devices, modules, or units.
It should be noted that references to "one", "a plurality" and "a plurality" in this disclosure are intended to be illustrative rather than limiting, and those of ordinary skill in the art will appreciate that "one or more" is intended to be understood as "one or more" unless the context clearly indicates otherwise.
It will be appreciated that prior to using the technical solutions disclosed in the embodiments of the present disclosure, the user should be informed and authorized of the type, usage range, usage scenario, etc. of the personal information related to the present disclosure in an appropriate manner according to the relevant legal regulations.
For example, in response to receiving an active request from a user, a prompt is sent to the user to explicitly prompt the user that the operation it is requesting to perform will require personal information to be obtained and used with the user. Thus, the user can autonomously select whether to provide personal information to software or hardware such as an electronic device, an application program, a server or a storage medium for executing the operation of the technical scheme of the present disclosure according to the prompt information.
As an alternative but non-limiting implementation, in response to receiving an active request from a user, the manner in which the prompt information is sent to the user may be, for example, a popup, in which the prompt information may be presented in a text manner. In addition, a selection control for the user to select to provide personal information to the electronic device in a 'consent' or 'disagreement' manner can be carried in the popup window.
It will be appreciated that the above-described notification and user authorization process is merely illustrative and not limiting of the implementations of the present disclosure, and that other ways of satisfying relevant legal regulations may be applied to the implementations of the present disclosure.
It will be appreciated that the data (including but not limited to the data itself, the acquisition or use of the data) involved in the present technical solution should comply with the corresponding legal regulations and the requirements of the relevant regulations.
Fig. 1 is a flow chart of a bandwidth allocation method provided by an embodiment of the present disclosure, where the embodiment of the present disclosure is applicable to a situation where bandwidth allocation is performed for a plurality of different types of media streams in one communication link, and especially a weak network scenario where network status fluctuates during real-time communication. The method may be performed by a bandwidth allocation device, which may be implemented in the form of software and/or hardware, alternatively by an electronic device, which may be a mobile terminal, a PC-side or a server, etc.
As shown in fig. 1, the bandwidth allocation method includes:
s110, obtaining coding attribute information, bandwidth allocation priority and allocatable bandwidth of a plurality of kinds of media streams in a target communication link.
The communication link may be any connection path established between two parties with data interaction, and data transmission and information exchange may be performed based on the connection path. The target communication link may be any communication link that needs bandwidth allocation during data transmission. Such as a data communication link during live broadcast or a data communication link during video call.
The media stream may be a data stream streamed in the target communication link. Depending on the type of data or the purpose of the data, multiple types of media streams, such as audio streams, video streams, and shared streams, may be included in the target communication link at the same time.
In the process of transmitting each media stream, bandwidth is allocated in advance according to the coding requirement of each type of media stream. In the case of a better network state, each media stream can obtain enough bandwidth for 'higher quality' data transmission. The "higher quality" may be determined by evaluation from the perspective of the receiving side of the media stream data, such as the sharpness of the video or the degree of audio jamming. When there is a fluctuation in the network state and the estimated bandwidth result cannot meet the above-mentioned "higher quality" data transmission, bandwidth allocation needs to be performed more carefully to meet the quality of user experience in the case of weak networks as much as possible.
Then, the coding attribute information, the bandwidth allocation priority, and the allocatable bandwidth are all parameters required in determining the bandwidth allocation result. The coding attribute information may be a coding code rate value corresponding to each type of media stream. Different code rate values correspond to different data qualities, and the size of the code rate value is proportional to the data quality (e.g., video frame sharpness). The coding attribute information may include a plurality of preset coding code rate values matched with each type of media stream, such as a preset minimum coding code rate value, a preset maximum coding code rate value, and coding code rate values corresponding to different degrees of data quality. For example, the reference coding rate value corresponding to each type of media stream in the lowest preset bandwidth allocation gear may be a preset minimum coding rate for each type of media stream; the reference coding rate value corresponding to each type of media stream in the highest preset bandwidth allocation gear can be the preset maximum coding rate of each type of media stream.
It is understood that the code rate values corresponding to the different degrees of data quality may be any value between a preset minimum code rate value and a preset maximum code rate value. The bandwidth allocation priority may be used to determine the order in which bandwidth is allocated for each type of media stream, with a higher priority for a first allocation and a lower priority for a second allocation. The allocatable bandwidth may be a bandwidth value determined from the bandwidth estimation result, which is the total bandwidth that the target communication link may allocate for use. The allocatable bandwidth may be part or all of the bandwidth estimation result, and may be determined according to the bandwidth usage in the actual traffic scenario.
And S120, based on the bandwidth allocation sequence corresponding to the bandwidth allocation priority, according to a preset bandwidth allocation gear, sequentially performing bandwidth allocation on the media streams of each class from low to high in sequence until no bandwidth can be allocated or the highest bandwidth allocation gear is reached.
The preset bandwidth allocation gear is a bandwidth allocation policy set for more efficient bandwidth allocation in the present embodiment. Different preset bandwidth allocation gears correspond to different bandwidth values, and the higher the bandwidth allocation gears are, the larger the corresponding bandwidth values which can be allocated to each type of media stream are.
In particular, the allocation may be performed starting from the lowest preset bandwidth allocation gear (noted as first gear). If the bandwidth allocation policy of the first gear is according to the bandwidth allocation order corresponding to the bandwidth allocation priority, allocating bandwidth for each type of media stream successively. If the allocable bandwidth is already allocated in the first gear bandwidth allocation process, the bandwidth allocation work is completed. If, in the bandwidth allocation process of the first gear, after each type of media stream is allocated to obtain the bandwidth corresponding to the current bandwidth allocation gear, the bandwidth is further allocated according to the bandwidth allocation policy of the second gear adjacent to the lowest preset bandwidth allocation gear until no bandwidth is allocated or the highest bandwidth allocation gear is reached. In the highest bandwidth allocation gear, each type of media stream data is encoded and transmitted with the highest encoding rate, so that the experience quality of the media stream data is ensured.
Further, the bandwidth allocation policy in each preset bandwidth allocation gear may be that a bandwidth allocation result of each type of the media stream is determined according to the real-time network state and the coding attribute information of the target communication link; the coding attribute information comprises a reference coding code rate value matched with each preset bandwidth allocation gear. The real-time network state can be represented by data such as packet loss rate, data round-trip transmission delay, data retransmission rate, and forward error correction related parameters. The redundancy rate in the process of bandwidth allocation can be determined through the real-time network state, so that the final bandwidth allocation result is determined according to the coding rate value of each type of media stream in the corresponding bandwidth allocation gear.
The step-by-step and layer-by-layer progressive bandwidth allocation is performed on each type of media stream, so that the media streams with different priorities can be allocated to obtain a certain bandwidth for data transmission from the lowest standard, and the data transmission of each type of media stream is ensured. Under the condition that the allocable bandwidth is enough, each media stream can be allocated with more bandwidth according to the bandwidth allocation priority, so that the data quality of the media stream is improved.
According to the technical scheme, coding attribute information, bandwidth allocation priority and allocatable bandwidth of a plurality of types of media streams in a target communication link are acquired; based on the bandwidth allocation sequence corresponding to the bandwidth allocation priority, allocating bandwidth for each type of media stream in sequence according to the preset bandwidth allocation gear configuration until no bandwidth can be allocated or the highest bandwidth allocation gear is reached; in each preset bandwidth allocation gear, determining a bandwidth allocation result of each type of media stream according to the real-time network state and the coding attribute information of the target communication link; the coding attribute information includes a reference coding rate value that matches each preset bandwidth allocation gear. The technical scheme of the embodiment of the disclosure solves the problem that the existing bandwidth allocation strategy can not simultaneously consider the bandwidth requirements of the high-priority media stream and the low-priority media stream, and can reallocate the bandwidth on the basis of guaranteeing the basic operation of each priority media stream through the stepped multiple bandwidth allocation strategy so as to simultaneously meet the bandwidth requirements of the media streams with different priorities.
Fig. 2 is a flow chart of a bandwidth allocation method according to an embodiment of the present disclosure, which further illustrates a process of reallocating the remaining bandwidth based on the above embodiment, so as to achieve more sufficient bandwidth utilization. The method may be performed by a bandwidth allocation device, which may be implemented in the form of software and/or hardware, optionally by an electronic device, which may be a mobile terminal, a PC-side or a server, etc.
As shown in fig. 2, the bandwidth allocation method includes:
s210, obtaining coding attribute information, bandwidth allocation priority and allocatable bandwidth of a plurality of kinds of media streams in a target communication link.
And S220, based on the bandwidth allocation sequence corresponding to the bandwidth allocation priority, according to a preset bandwidth allocation gear, sequentially performing bandwidth allocation on the media streams of each class from low to high in sequence until no bandwidth can be allocated or the highest bandwidth allocation gear is reached.
The preset bandwidth allocation gear is a bandwidth allocation policy set for more efficient bandwidth allocation in the present embodiment. Different preset bandwidth allocation gears correspond to different bandwidth values, and the higher the bandwidth allocation gears are, the larger the corresponding bandwidth values which can be allocated to each type of media stream are.
In particular, the allocation may be performed starting from the lowest preset bandwidth allocation gear (noted as first gear). If the bandwidth allocation policy of the first gear is according to the bandwidth allocation order corresponding to the bandwidth allocation priority, allocating bandwidth for each type of media stream successively. If the allocable bandwidth is already allocated in the first gear bandwidth allocation process, the bandwidth allocation work is completed. If, in the bandwidth allocation process of the first gear, after each type of media stream is allocated to obtain the bandwidth corresponding to the current bandwidth allocation gear, the bandwidth is further allocated according to the bandwidth allocation policy of the second gear adjacent to the lowest preset bandwidth allocation gear until no bandwidth is allocated or the highest bandwidth allocation gear is reached. In the highest bandwidth allocation gear, each type of media stream data is encoded and transmitted with the highest encoding rate, so that the experience quality of the media stream data is ensured.
Further, the bandwidth allocation policy in each preset bandwidth allocation gear may be that a bandwidth allocation result of each type of the media stream is determined according to the real-time network state and the coding attribute information of the target communication link; the coding attribute information comprises a reference coding code rate value matched with each preset bandwidth allocation gear. The real-time network state can be represented by data such as packet loss rate, data round-trip transmission delay, data retransmission rate, and forward error correction related parameters. The redundancy rate in the process of bandwidth allocation can be determined through the real-time network state, so that the final bandwidth allocation result is determined according to the coding rate value of each type of media stream in the corresponding bandwidth allocation gear. The calculation process of the multiplying power in real time can be expressed as the following calculation process: real-time redundancy ratio= (retransmission budget code rate/historical statistical code rate value in last bandwidth allocation period) +forward error correction ratio calculated based on preset forward error correction policy. The historical statistic coding code rate value refers to the code rate of the pure media stream packets except the retransmission data packet and the forward error correction data packet counted in the preset historical time.
In an alternative embodiment, in the preset bandwidth allocation gear, the bandwidth redundancy factor corresponding to the lowest preset bandwidth allocation gear may be set to zero. And in the preset bandwidth allocation gear, the bandwidth redundancy rate corresponding to the highest preset bandwidth allocation gear is set as the preset maximum redundancy rate. The preset maximum redundancy rate is usually fixed to be 4 times, so that 70% packet loss scenes can be resisted.
S230, determining whether residual bandwidth exists in each type of media stream.
In this step, after the bandwidth allocation step is completed, the actual bandwidth utilization of each type of media stream is analyzed. Some media stream data, although allocated sufficient bandwidth, may not be fully utilized by its allocated bandwidth during data transmission. For example, when video picture content corresponding to video stream data encoded content is still pictures, consumed bandwidth is very low. Illustratively, if a video stream is divided into 1000kbps bandwidth, but it actually occupies only 100kbps bandwidth, then 900kbps bandwidth is wasted.
The residual bandwidth of each type of media stream is the unused bandwidth determined by subtracting the utilized bandwidth value from the assigned bandwidth value after each type of media stream is assigned with a certain bandwidth.
And S240, under the condition that any type of media stream has residual bandwidth, distributing the residual bandwidth according to the bandwidth distribution priority of each type of media stream without residual bandwidth until no residual bandwidth exists.
In case there is remaining bandwidth for any type of media stream, this indicates that there is also bandwidth available for allocation. To further increase bandwidth utilization, the remaining bandwidth is allocated to other media streams that do not have remaining bandwidth.
Specifically, the residual bandwidth allocation order of each type of the media stream without residual bandwidth can be determined according to the bandwidth allocation priority; and based on the residual bandwidth allocation sequence, allocating the residual bandwidth to each type of media stream without residual bandwidth according to a preset minimum coding rate of each type of media stream until no bandwidth can be allocated.
Wherein the order of bandwidth allocation may be the reverse order of bandwidth allocation priority, e.g., bandwidth allocation is prioritized for media streams with relatively low bandwidth allocation priority in each type of media stream where no bandwidth remains. This is because, in general, media streams with lower bandwidth allocation priorities are less likely to be allocated to bandwidth for sufficiently high quality data transmission, which may further guarantee the basic operation of low priority media streams.
According to the technical scheme, coding attribute information, bandwidth allocation priority and allocable bandwidth of each type of media stream in a target communication link are obtained; based on the bandwidth allocation sequence corresponding to the bandwidth allocation priority, sequentially allocating bandwidth for each type of media stream from low to high according to a preset bandwidth allocation gear until no bandwidth can be allocated or the highest bandwidth allocation gear is reached; further, determining whether the residual bandwidth exists in each type of media stream, and if the residual bandwidth exists in any type of media stream, allocating the residual bandwidth according to the bandwidth allocation priority of each type of media stream without the residual bandwidth until no residual bandwidth exists. The technical scheme of the embodiment of the disclosure solves the problem that the existing bandwidth allocation strategy can not simultaneously consider the bandwidth requirements of high-priority media streams and low-priority media streams, and can reallocate the bandwidth on the basis of guaranteeing the basic operation of each priority media stream through a stepwise multiple bandwidth allocation strategy so as to simultaneously meet the bandwidth requirements of the media streams with different priorities, and further reallocate the allocated and unused residual bandwidth, thereby fully improving the bandwidth utilization rate.
Fig. 3 is a schematic flow chart of a bandwidth allocation method according to an embodiment of the present disclosure, and on the basis of the foregoing embodiment, in a process of implementing the flow chart of the bandwidth allocation method, a situation of performing bandwidth allocation gear setting is further explained. The method may be performed by a bandwidth allocation device, which may be implemented in the form of software and/or hardware, optionally by an electronic device, which may be a mobile terminal, a PC-side or a server, etc.
As shown in fig. 3, the bandwidth allocation method includes:
s310, obtaining coding attribute information, bandwidth allocation priority and allocatable bandwidth of a plurality of kinds of media streams in a target communication link.
In this embodiment, four bandwidth allocation gears are preset, bandwidth allocation is primarily performed, and specific setting conditions of each preset bandwidth allocation gear may refer to the schematic diagram shown in fig. 4.
S320, bandwidth allocation is sequentially carried out on the media streams of each type according to a first preset bandwidth allocation gear based on the bandwidth allocation sequence corresponding to the bandwidth allocation priority.
The first preset bandwidth allocation gear is the lowest gear for bandwidth allocation for the first time.
And in the first preset bandwidth allocation gear, according to the bandwidth allocation priority, allocating according to the minimum coding rate of each media stream. If the first preset bandwidth allocation gear is allocated once, the lowest working interval of the audio and video streams can be met under the condition of not considering the network. If the network is normal, the audio and video call is normal, but the condition of video blurring and sound roughness can occur. If the network has packet loss, the media stream data is not basically analyzed and displayed. I.e. the quality of the data of each media stream is relatively low when the allocation is performed only according to the first preset bandwidth allocation gear.
And in the process of carrying out bandwidth allocation according to the first preset bandwidth allocation gear, if the allocable bandwidths are allocated completely, ending the bandwidth allocation process.
S330, under the condition that the allocatable bandwidth exists, bandwidth allocation is sequentially carried out on the media streams of each type according to a second preset bandwidth allocation gear based on the bandwidth allocation sequence corresponding to the bandwidth allocation priority.
In the second preset bandwidth allocation gear, according to the bandwidth allocation priority, the bandwidth of each media stream can be allocated to a minimum code rate, wherein the minimum code rate is the product of the minimum coding code rate in the step and the current real-time redundancy rate. If the bandwidth of each media stream is only allocated to the second preset bandwidth allocation gear, the data stream can be transmitted when the packet loss condition exists in the network, if the data stream can normally communicate in the audio/video communication scene, but the video is blurred and the sound is rough.
And in the process of carrying out bandwidth allocation according to the second preset bandwidth allocation gear, if the allocable bandwidths are allocated completely, ending the bandwidth allocation process.
And S340, under the condition that the allocatable bandwidth exists, based on the bandwidth allocation sequence corresponding to the bandwidth allocation priority, sequentially performing bandwidth allocation for each type of media stream according to a third preset bandwidth allocation gear.
And in a third preset bandwidth allocation gear, according to the bandwidth allocation priority, the bandwidth of each media stream can be allocated to an optimal code rate, wherein the optimal code rate is the product of a preset maximum coding code rate and the current real-time redundancy rate. If each media stream bandwidth is only allocated to the third preset bandwidth allocation gear, the data stream transmission quality is relatively high when the network has packet loss. If the voice call is in the audio-video call scene, the voice call can be normally performed, but the video picture is high-definition and the voice is clear.
And in the process of carrying out bandwidth allocation according to the third preset bandwidth allocation gear, if the allocable bandwidths are allocated completely, ending the bandwidth allocation process.
And S350, under the condition that the allocatable bandwidth exists, bandwidth allocation is sequentially carried out on the media streams of each type according to a fourth preset bandwidth allocation gear based on the bandwidth allocation sequence corresponding to the bandwidth allocation priority.
In the fourth preset bandwidth allocation gear, according to the bandwidth allocation priority, the bandwidth of each media stream can be allocated to a maximum code rate, wherein the maximum code rate is the product of a preset maximum coding code rate and a preset maximum redundancy rate. If the bandwidth of each media stream is allocated to the fourth preset bandwidth allocation gear, when the packet loss rate is large under the condition of extreme fluctuation of the network, normal conversation can be performed under the scene of audio-video conversation, the video picture is high-definition, and the sound is clear. The allocatable bandwidth can be allocated after passing through four preset bandwidth allocation gears, and if not, the bandwidth allocation process is stopped.
S360, determining whether the residual bandwidth exists in each type of media stream, and if the residual bandwidth exists in any type of media stream, distributing the residual bandwidth according to the bandwidth distribution priority of each type of media stream without the residual bandwidth until no residual bandwidth exists.
According to the technical scheme, through presetting four bandwidth allocation gears, when bandwidth allocation is needed, coding attribute information, bandwidth allocation priority and allocatable bandwidth of a plurality of types of media streams in a target communication link are obtained; based on the bandwidth allocation sequence corresponding to the bandwidth allocation priority, sequentially performing bandwidth allocation for each type of media stream according to a first preset bandwidth allocation gear; under the condition that the allocatable bandwidth exists, based on the bandwidth allocation sequence corresponding to the bandwidth allocation priority, sequentially performing bandwidth allocation on each type of media stream according to a second preset bandwidth allocation gear; under the condition that the allocatable bandwidth exists, based on the bandwidth allocation sequence corresponding to the bandwidth allocation priority, sequentially performing bandwidth allocation on each type of media stream according to a third preset bandwidth allocation gear; under the condition that the allocatable bandwidth exists, based on the bandwidth allocation sequence corresponding to the bandwidth allocation priority, sequentially performing bandwidth allocation on each type of media stream according to a fourth preset bandwidth allocation gear; and determining whether the residual bandwidth exists in each type of media stream, and if the residual bandwidth exists in any type of media stream, distributing the residual bandwidth according to the bandwidth distribution priority of each type of media stream without the residual bandwidth until no residual bandwidth exists. The technical scheme of the embodiment of the disclosure solves the problem that the existing bandwidth allocation strategy can not simultaneously consider the bandwidth requirements of high-priority media streams and low-priority media streams, and can reallocate the bandwidth on the basis of guaranteeing the basic operation of each priority media stream through a stepwise multiple bandwidth allocation strategy so as to simultaneously meet the bandwidth requirements of the media streams with different priorities, and further reallocate the allocated and unused residual bandwidth, thereby fully improving the bandwidth utilization rate.
Fig. 5 is a schematic diagram of a bandwidth allocation apparatus according to an embodiment of the present disclosure, where the bandwidth allocation apparatus is suitable for use in a situation where bandwidth allocation is performed for a plurality of different types of media streams in a communication link, and in particular, a weak network scenario where network status fluctuates during real-time communication. The bandwidth allocation device may be implemented in software and/or hardware, and may be configured in an electronic device, where the electronic device may be a mobile terminal, a PC or a server.
As shown in fig. 5, the bandwidth allocation apparatus includes: a bandwidth allocation parameter acquisition module 410 and a bandwidth allocation module 420.
The bandwidth allocation parameter obtaining module 410 is configured to obtain coding attribute information, bandwidth allocation priority and allocatable bandwidth of a plurality of types of media streams in the target communication link; the bandwidth allocation module 420 is configured to allocate bandwidth to each type of the media stream in sequence according to a preset bandwidth allocation gear configuration based on a bandwidth allocation order corresponding to the bandwidth allocation priority, until no bandwidth can be allocated or a highest bandwidth allocation gear is reached; wherein, in each of the preset bandwidth allocation gear, the bandwidth allocation module 420 is specifically configured to determine a bandwidth allocation result of each type of the media stream according to the real-time network state of the target communication link and the coding attribute information; the coding attribute information comprises a reference coding code rate value matched with each preset bandwidth allocation gear.
According to the technical scheme, coding attribute information, bandwidth allocation priority and allocable bandwidth of each type of media stream in a target communication link are obtained; based on the bandwidth allocation sequence corresponding to the bandwidth allocation priority, allocating bandwidth for each type of media stream in sequence according to the preset bandwidth allocation gear configuration until no bandwidth can be allocated or the highest bandwidth allocation gear is reached; in each preset bandwidth allocation gear, determining a bandwidth allocation result of each type of media stream according to the real-time network state and the coding attribute information of the target communication link; the coding attribute information includes a reference coding rate value that matches each preset bandwidth allocation gear. The technical scheme of the embodiment of the disclosure solves the problem that the existing bandwidth allocation strategy can not simultaneously consider the bandwidth requirements of the high-priority media stream and the low-priority media stream, and can reallocate the bandwidth on the basis of guaranteeing the basic operation of each priority media stream through the stepped multiple bandwidth allocation strategy so as to simultaneously meet the bandwidth requirements of the media streams with different priorities.
In an alternative embodiment, the bandwidth allocation module 420 is specifically configured to:
determining a real-time bandwidth redundancy rate according to the real-time network state;
Respectively calculating the product result of the real-time bandwidth redundancy rate and the reference coding code rate value corresponding to each type of media stream in the current preset bandwidth allocation gear;
and determining the product result as a bandwidth allocation result of each type of the media stream in the current preset bandwidth allocation gear.
In an alternative embodiment, in the preset bandwidth allocation gear, the bandwidth redundancy factor corresponding to the lowest preset bandwidth allocation gear is set to zero.
In an alternative embodiment, in the preset bandwidth allocation gear, the bandwidth redundancy factor corresponding to the highest preset bandwidth allocation gear is set to a preset maximum redundancy factor.
In an optional implementation manner, the reference coding rate value corresponding to each type of media stream in the lowest preset bandwidth allocation gear is a preset minimum coding rate of each type of media stream;
and the reference coding code rate value corresponding to each type of media stream in the highest preset bandwidth allocation gear is the preset maximum coding code rate of each type of media stream.
In an alternative embodiment, the bandwidth allocation module 420 is further configured to:
determining whether residual bandwidth exists in each type of media stream;
And under the condition that the residual bandwidth exists in any type of media stream, distributing the residual bandwidth according to the bandwidth distribution priority of each type of media stream without the residual bandwidth until no residual bandwidth exists.
In an alternative embodiment, the bandwidth allocation module 420 is specifically configured to:
determining a residual bandwidth allocation order of each type of the media streams without residual bandwidth according to the bandwidth allocation priority;
and based on the residual bandwidth allocation sequence, allocating the residual bandwidth to each type of media stream without residual bandwidth according to a preset minimum coding rate of each type of media stream until no bandwidth can be allocated.
The bandwidth allocation device provided by the embodiment of the disclosure can execute the bandwidth allocation method provided by any embodiment of the disclosure, and has the corresponding functional modules and beneficial effects of the execution method.
It should be noted that each unit and module included in the above apparatus are only divided according to the functional logic, but not limited to the above division, so long as the corresponding functions can be implemented; in addition, the specific names of the functional units are also only for convenience of distinguishing from each other, and are not used to limit the protection scope of the embodiments of the present disclosure.
Fig. 6 is a schematic structural diagram of an electronic device according to an embodiment of the disclosure. Referring now to fig. 6, a schematic diagram of an electronic device (e.g., a terminal device or server in fig. 6) 500 suitable for use in implementing embodiments of the present disclosure is shown. The terminal devices in the embodiments of the present disclosure may include, but are not limited to, mobile terminals such as mobile phones, notebook computers, digital broadcast receivers, PDAs (personal digital assistants), PADs (tablet computers), PMPs (portable multimedia players), in-vehicle terminals (e.g., in-vehicle navigation terminals), and the like, and stationary terminals such as digital TVs, desktop computers, and the like. The electronic device shown in fig. 6 is merely an example and should not be construed to limit the functionality and scope of use of the disclosed embodiments.
As shown in fig. 6, the electronic device 500 may include a processing means (e.g., a central processing unit, a graphics processor, etc.) 501, which may perform various appropriate actions and processes according to a program stored in a Read Only Memory (ROM) 502 or a program loaded from a storage means 508 into a Random Access Memory (RAM) 503. In the RAM 503, various programs and data required for the operation of the electronic apparatus 500 are also stored. The processing device 501, the ROM 502, and the RAM 503 are connected to each other via a bus 504. An edit/output (I/O) interface 505 is also connected to bus 504.
In general, the following devices may be connected to the I/O interface 505: input devices 506 including, for example, a touch screen, touchpad, keyboard, mouse, camera, microphone, accelerometer, gyroscope, etc.; an output device 507 including, for example, a Liquid Crystal Display (LCD), a speaker, a vibrator, and the like; storage 508 including, for example, magnetic tape, hard disk, etc.; and communication means 509. The communication means 509 may allow the electronic device 500 to communicate with other devices wirelessly or by wire to exchange data. While fig. 6 shows an electronic device 500 having various means, it is to be understood that not all of the illustrated means are required to be implemented or provided. More or fewer devices may be implemented or provided instead.
In particular, according to embodiments of the present disclosure, the processes described above with reference to flowcharts may be implemented as computer software programs. For example, embodiments of the present disclosure include a computer program product comprising a computer program embodied on a non-transitory computer readable medium, the computer program comprising program code for performing the method shown in the flow chart. In such an embodiment, the computer program may be downloaded and installed from a network via the communication means 509, or from the storage means 508, or from the ROM 502. The above-described functions defined in the methods of the embodiments of the present disclosure are performed when the computer program is executed by the processing device 501.
The names of messages or information interacted between the various devices in the embodiments of the present disclosure are for illustrative purposes only and are not intended to limit the scope of such messages or information.
The electronic device provided by the embodiment of the present disclosure and the bandwidth allocation method provided by the foregoing embodiment belong to the same inventive concept, and technical details not described in detail in the present embodiment may be referred to the foregoing embodiment, and the present embodiment has the same beneficial effects as the foregoing embodiment.
The present disclosure also provides a computer storage medium having stored thereon a computer program which, when executed by a processor, implements the bandwidth allocation method provided by the above embodiments.
It should be noted that the computer readable medium described in the present disclosure may be a computer readable signal medium or a computer readable storage medium, or any combination of the two. The computer readable storage medium can be, for example, but 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 of the computer-readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this disclosure, a computer-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. In the present disclosure, however, the computer-readable signal medium may include a data signal propagated in baseband or as part of a carrier wave, with the computer-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 computer readable signal medium may also be any computer readable medium that is not a computer readable storage medium and 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 computer readable medium may be transmitted using any appropriate medium, including but not limited to: electrical wires, fiber optic cables, RF (radio frequency), and the like, or any suitable combination of the foregoing.
In some implementations, the clients, servers may communicate using any currently known or future developed network protocol, such as HTTP (HyperText Transfer Protocol ), and may be interconnected with any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a local area network ("LAN"), a wide area network ("WAN"), the internet (e.g., the internet), and peer-to-peer networks (e.g., ad hoc peer-to-peer networks), as well as any currently known or future developed networks.
The computer readable medium may be contained in the electronic device; or may exist alone without being incorporated into the electronic device.
The computer readable medium carries one or more programs which, when executed by the electronic device, cause the electronic device to:
acquiring coding attribute information, bandwidth allocation priority and allocatable bandwidth of a plurality of types of media streams in a target communication link;
based on the bandwidth allocation sequence corresponding to the bandwidth allocation priority, allocating bandwidth for each type of media stream in sequence according to a preset bandwidth allocation gear configuration until no bandwidth can be allocated or the highest bandwidth allocation gear is reached;
In each preset bandwidth allocation gear, determining a bandwidth allocation result of each type of media stream according to the real-time network state of the target communication link and the coding attribute information;
the coding attribute information comprises a reference coding code rate value matched with each preset bandwidth allocation gear.
Computer program code for carrying out operations of the present disclosure may be written in one or more programming languages, including, but not limited to, an object oriented programming language such as Java, smalltalk, C ++ and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any kind of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or may be connected to an external computer (for example, through the Internet using an Internet service provider).
The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
The units involved in the embodiments of the present disclosure may be implemented by means of software, or may be implemented by means of hardware. The name of the unit does not in any way constitute a limitation of the unit itself, for example the first acquisition unit may also be described as "unit acquiring at least two internet protocol addresses".
The functions described above herein may be performed, at least in part, by one or more hardware logic components. For example, without limitation, exemplary types of hardware logic components that may be used include: a Field Programmable Gate Array (FPGA), an Application Specific Integrated Circuit (ASIC), an Application Specific Standard Product (ASSP), a system on a chip (SOC), a Complex Programmable Logic Device (CPLD), and the like.
In the context of this disclosure, a machine-readable medium may be a tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. The machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. The machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of a machine-readable storage medium would include an electrical connection based on one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
The disclosed embodiments also provide a computer program product comprising a computer program which, when executed by a processor, implements a bandwidth allocation method as provided by any of the embodiments of the disclosure.
Computer program product in an implementation, computer program code for carrying out operations of the present disclosure may be written in one or more programming languages, including an object oriented programming language such as Java, smalltalk, C ++ and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any kind of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or may be connected to an external computer (for example, through the Internet using an Internet service provider).
According to one or more embodiments of the present disclosure, there is provided a bandwidth allocation method, the method comprising:
acquiring coding attribute information, bandwidth allocation priority and allocatable bandwidth of a plurality of types of media streams in a target communication link;
based on the bandwidth allocation sequence corresponding to the bandwidth allocation priority, allocating bandwidth for each type of media stream in sequence according to a preset bandwidth allocation gear configuration until no bandwidth can be allocated or the highest bandwidth allocation gear is reached;
in each preset bandwidth allocation gear, determining a bandwidth allocation result of each type of media stream according to the real-time network state of the target communication link and the coding attribute information;
the coding attribute information comprises a reference coding code rate value matched with each preset bandwidth allocation gear.
According to one or more embodiments of the present disclosure, there is provided a bandwidth allocation method [ example two ] further comprising:
in some optional implementations, in each of the preset bandwidth allocation steps, determining a bandwidth allocation result of each type of the media stream according to the real-time network state of the target communication link and the coding attribute information includes:
Determining a real-time bandwidth redundancy rate according to the real-time network state;
respectively calculating the product result of the real-time bandwidth redundancy rate and the reference coding code rate value corresponding to each type of media stream in the current preset bandwidth allocation gear;
and determining the product result as a bandwidth allocation result of each type of the media stream in the current preset bandwidth allocation gear.
According to one or more embodiments of the present disclosure, there is provided a bandwidth allocation method, including:
in some optional implementations, in the preset bandwidth allocation gear, the bandwidth redundancy factor corresponding to the lowest preset bandwidth allocation gear is set to zero.
According to one or more embodiments of the present disclosure, there is provided a bandwidth allocation method [ example four ], further comprising:
in some optional implementations, in the preset bandwidth allocation gear, the bandwidth redundancy factor corresponding to the highest preset bandwidth allocation gear is set to a preset maximum redundancy factor.
According to one or more embodiments of the present disclosure, there is provided a bandwidth allocation method [ example five ]:
in some optional implementations, the reference coding rate value corresponding to each type of the media stream in the lowest preset bandwidth allocation gear is a preset minimum coding rate of each type of the media stream;
And the reference coding code rate value corresponding to each type of media stream in the highest preset bandwidth allocation gear is the preset maximum coding code rate of each type of media stream.
According to one or more embodiments of the present disclosure, there is provided a bandwidth allocation method [ example six ], further comprising:
in some optional implementations, the bandwidth allocation method further includes:
determining whether residual bandwidth exists in each type of media stream;
and under the condition that the residual bandwidth exists in any type of media stream, distributing the residual bandwidth according to the bandwidth distribution priority of each type of media stream without the residual bandwidth until no residual bandwidth exists.
According to one or more embodiments of the present disclosure, there is provided a code rate adjustment bandwidth allocation method, further comprising:
in some alternative implementations, allocating the residual bandwidth according to a bandwidth allocation priority of each type of the media stream for which the residual bandwidth does not exist, includes:
determining a residual bandwidth allocation order of each type of the media streams without residual bandwidth according to the bandwidth allocation priority;
and based on the residual bandwidth allocation sequence, allocating the residual bandwidth to each type of media stream without residual bandwidth according to a preset minimum coding rate of each type of media stream until no bandwidth can be allocated.
According to one or more embodiments of the present disclosure, there is provided a bandwidth allocation apparatus, comprising:
the bandwidth allocation parameter acquisition module is used for acquiring coding attribute information, bandwidth allocation priority and allocatable bandwidth of a plurality of types of media streams in the target communication link;
the bandwidth allocation module is used for allocating bandwidth to each type of media stream in sequence according to the bandwidth allocation sequence corresponding to the bandwidth allocation priority and the preset bandwidth allocation gear configuration until no bandwidth can be allocated or the highest bandwidth allocation gear is reached;
in each preset bandwidth allocation gear, determining a bandwidth allocation result of each type of media stream according to the real-time network state of the target communication link and the coding attribute information;
the coding attribute information comprises a reference coding code rate value matched with each preset bandwidth allocation gear.
According to one or more embodiments of the present disclosure, there is provided a bandwidth allocation apparatus [ example nine ] further comprising:
in an alternative embodiment, the bandwidth allocation module is specifically configured to:
determining a real-time bandwidth redundancy rate according to the real-time network state;
Respectively calculating the product result of the real-time bandwidth redundancy rate and the reference coding code rate value corresponding to each type of media stream in the current preset bandwidth allocation gear;
and determining the product result as a bandwidth allocation result of each type of the media stream in the current preset bandwidth allocation gear.
According to one or more embodiments of the present disclosure, there is provided a bandwidth allocation apparatus [ example ten ], further comprising:
in an alternative embodiment, in the preset bandwidth allocation gear, the bandwidth redundancy factor corresponding to the lowest preset bandwidth allocation gear is set to zero.
According to one or more embodiments of the present disclosure, there is provided a bandwidth allocation apparatus [ example eleven ], further comprising:
in an alternative embodiment, in the preset bandwidth allocation gear, the bandwidth redundancy factor corresponding to the highest preset bandwidth allocation gear is set to a preset maximum redundancy factor.
According to one or more embodiments of the present disclosure, there is provided a bandwidth allocation apparatus [ example twelve ], further comprising:
in an optional implementation manner, the reference coding rate value corresponding to each type of media stream in the lowest preset bandwidth allocation gear is a preset minimum coding rate of each type of media stream;
And the reference coding code rate value corresponding to each type of media stream in the highest preset bandwidth allocation gear is the preset maximum coding code rate of each type of media stream.
According to one or more embodiments of the present disclosure, there is provided a bandwidth allocation apparatus [ example thirteenth ], further comprising:
in an alternative embodiment, the bandwidth allocation module is further configured to:
determining whether residual bandwidth exists in each type of media stream;
and under the condition that the residual bandwidth exists in any type of media stream, distributing the residual bandwidth according to the bandwidth distribution priority of each type of media stream without the residual bandwidth until no residual bandwidth exists.
According to one or more embodiments of the present disclosure, there is provided a bandwidth allocation apparatus [ example fourteen ], further comprising:
in an alternative embodiment, the bandwidth allocation module is specifically configured to:
determining a residual bandwidth allocation order of each type of the media streams without residual bandwidth according to the bandwidth allocation priority;
and based on the residual bandwidth allocation sequence, allocating the residual bandwidth to each type of media stream without residual bandwidth according to a preset minimum coding rate of each type of media stream until no bandwidth can be allocated.
The foregoing description is only of the preferred embodiments of the present disclosure and description of the principles of the technology being employed. It will be appreciated by persons skilled in the art that the scope of the disclosure referred to in this disclosure is not limited to the specific combinations of features described above, but also covers other embodiments which may be formed by any combination of features described above or equivalents thereof without departing from the spirit of the disclosure. Such as those described above, are mutually substituted with the technical features having similar functions disclosed in the present disclosure (but not limited thereto).
Moreover, although operations are depicted in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order. In certain circumstances, multitasking and parallel processing may be advantageous. Likewise, while several specific implementation details are included in the above discussion, these should not be construed as limiting the scope of the present disclosure. Certain features that are described in the context of separate embodiments can also be implemented in combination in a single embodiment. Conversely, various features that are described in the context of a single embodiment can also be implemented in multiple embodiments separately or in any suitable subcombination.
Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are example forms of implementing the claims.

Claims (11)

1. A method for bandwidth allocation, comprising:
acquiring coding attribute information, bandwidth allocation priority and allocatable bandwidth of a plurality of types of media streams in a target communication link;
based on the bandwidth allocation sequence corresponding to the bandwidth allocation priority, allocating bandwidth for each type of media stream in sequence according to a preset bandwidth allocation gear configuration until no bandwidth can be allocated or the highest bandwidth allocation gear is reached;
in each preset bandwidth allocation gear, determining a bandwidth allocation result of each type of media stream according to the real-time network state of the target communication link and the coding attribute information;
the coding attribute information comprises a reference coding code rate value matched with each preset bandwidth allocation gear.
2. The method of claim 1, wherein in each of the preset bandwidth allocation steps, determining a bandwidth allocation result of each type of the media stream according to the real-time network state of the target communication link and the coding attribute information, comprises:
Determining a real-time bandwidth redundancy rate according to the real-time network state;
respectively calculating the product result of the real-time bandwidth redundancy rate and the reference coding code rate value corresponding to each type of media stream in the current preset bandwidth allocation gear;
and determining the product result as a bandwidth allocation result of each type of the media stream in the current preset bandwidth allocation gear.
3. The method according to claim 2, wherein, among the preset bandwidth allocation gears, a bandwidth redundancy factor corresponding to a lowest preset bandwidth allocation gear is set to zero.
4. The method according to claim 2, wherein, among the preset bandwidth allocation gears, a bandwidth redundancy factor corresponding to a highest preset bandwidth allocation gear is set to a preset maximum redundancy factor.
5. The method according to any one of claims 1-4, wherein the reference code rate value corresponding to each type of the media stream in the lowest preset bandwidth allocation gear is a preset minimum code rate for each type of the media stream;
and the reference coding code rate value corresponding to each type of media stream in the highest preset bandwidth allocation gear is the preset maximum coding code rate of each type of media stream.
6. The method as recited in claim 1, further comprising:
determining whether residual bandwidth exists in each type of media stream;
and under the condition that the residual bandwidth exists in any type of media stream, distributing the residual bandwidth according to the bandwidth distribution priority of each type of media stream without the residual bandwidth until no residual bandwidth exists.
7. The method of claim 6, wherein allocating the remaining bandwidth according to a bandwidth allocation priority of each type of the media stream for which there is no remaining bandwidth, comprises:
determining a residual bandwidth allocation order of each type of the media streams without residual bandwidth according to the bandwidth allocation priority;
and based on the residual bandwidth allocation sequence, allocating the residual bandwidth to each type of media stream without residual bandwidth according to a preset minimum coding rate of each type of media stream until no bandwidth can be allocated.
8. A bandwidth allocation apparatus, comprising:
the bandwidth allocation parameter acquisition module is used for acquiring coding attribute information, bandwidth allocation priority and allocatable bandwidth of a plurality of types of media streams in the target communication link;
The bandwidth allocation module is used for allocating bandwidth to each type of media stream in sequence according to the bandwidth allocation sequence corresponding to the bandwidth allocation priority and the preset bandwidth allocation gear configuration until no bandwidth can be allocated or the highest bandwidth allocation gear is reached;
in each preset bandwidth allocation gear, determining a bandwidth allocation result of each type of media stream according to the real-time network state of the target communication link and the coding attribute information;
the coding attribute information comprises a reference coding code rate value matched with each preset bandwidth allocation gear.
9. An electronic device, the electronic device comprising:
one or more processors;
storage means for storing one or more programs,
the one or more programs, when executed by the one or more processors, cause the one or more processors to implement the bandwidth allocation method of any of claims 1-7.
10. A computer readable storage medium having stored thereon a computer program, which when executed by a processor implements the bandwidth allocation method according to any of claims 1-7.
11. A computer program product comprising a computer program which, when executed by a processor, implements the bandwidth allocation method according to any of claims 1-7.
CN202311552977.XA 2023-11-20 2023-11-20 Bandwidth allocation method, device, electronic equipment, medium and product Pending CN117478516A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311552977.XA CN117478516A (en) 2023-11-20 2023-11-20 Bandwidth allocation method, device, electronic equipment, medium and product

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311552977.XA CN117478516A (en) 2023-11-20 2023-11-20 Bandwidth allocation method, device, electronic equipment, medium and product

Publications (1)

Publication Number Publication Date
CN117478516A true CN117478516A (en) 2024-01-30

Family

ID=89623712

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311552977.XA Pending CN117478516A (en) 2023-11-20 2023-11-20 Bandwidth allocation method, device, electronic equipment, medium and product

Country Status (1)

Country Link
CN (1) CN117478516A (en)

Similar Documents

Publication Publication Date Title
US7856501B2 (en) Network traffic prioritization
US11509744B2 (en) Resource request management using bandwidth allocation and time slots
CN112312137A (en) Video transmission method and device, electronic equipment and storage medium
CN113992967B (en) Screen projection data transmission method and device, electronic equipment and storage medium
CN111147606B (en) Data transmission method, device, terminal and storage medium
CN112954354B (en) Video transcoding method, device, equipment and medium
CN112312229A (en) Video transmission method and device, electronic equipment and storage medium
CN112199174A (en) Message sending control method and device, electronic equipment and computer readable storage medium
CN114466226B (en) Bandwidth duration duty cycle determination method, device, equipment and computer readable medium
CN110768861B (en) Method, device, medium and electronic equipment for obtaining overtime threshold
CN117478516A (en) Bandwidth allocation method, device, electronic equipment, medium and product
CN114584826B (en) Video dynamic downloading method and device, electronic equipment and storage medium
CN113535645B (en) Display method and device of shared document, electronic equipment and storage medium
CN114979762A (en) Video downloading and transmission method, device, terminal equipment, server and medium
CN116346743A (en) Bandwidth control method, device, equipment and storage medium
CN112887742B (en) Live stream processing method, device, equipment and storage medium
CN117544517A (en) Exit bandwidth management method, device, electronic equipment, medium and product
CN117746872A (en) Audio encoding method, device, equipment and storage medium
CN117857849A (en) Bandwidth allocation method, device, equipment and storage medium
CN115174948B (en) Scheduling method and device based on transcoding resources
CN115037986B (en) Video self-adaptive playing method and device
CN115103023B (en) Video caching method, device, equipment and storage medium
CN113891392B (en) Congestion control method, device, equipment and storage medium
CN113452953B (en) Video stream transmission control method, device, equipment and medium
EP3982637A1 (en) Transparency superimposition method for virtual set top box, virtual set top box 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