An adaptive bit rate adjustment method and apparatus

CN119854589BActive Publication Date: 2026-10-09BEIJING UNIV OF POSTS & TELECOMM
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411841453.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-12-13
Publication Date
2026-10-09
Estimated Expiration
2044-12-13

AI Technical Summary

Technical Problem

目前的自适应比特率算法存在无法根据不同的网络条件准确的调整比特率的问题,影响视频质量,降低用户体验

Benefits of technology

[0036]As can be seen from the above, the adaptive bit rate adjustment method and apparatus provided in this application obtain congestion window data and congestion status, calculate transmission rate control parameters based on the congestion window data and congestion status, and select a target bit rate from a preset bit rate set that maximizes the target function based on a pre-constructed objective function. This allows for dynamic adjustment of the bit rate according to different congestion states and the transmission rate control parameters of the transmitter, ensuring the quality of user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119854589B_ABST
    Figure CN119854589B_ABST
Patent Text Reader

Abstract

The embodiment of the present application provides a kind of adaptive bit rate adjustment method and device, by obtaining congestion window data and congestion state, according to congestion window data and congestion state, calculate sending rate control parameter, based on the target function constructed in advance, select the target bit rate that makes the target function reach maximum value from the preset bit rate set.This application can dynamically adjust bit rate according to different congestion state and the sending rate control parameter of sending terminal, guarantee user experience quality.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of video processing technology, and in particular to an adaptive bitrate adjustment method and apparatus. Background Technology

[0002] With the rapid development of mobile internet, video streaming services have been widely applied in various fields. Video streaming services are characterized by high real-time requirements, and users are highly sensitive to video quality and playback smoothness. Adaptive bitrate algorithms for video streaming are a key technology for video streaming services. They dynamically adjust the bitrate at the receiving end based on network conditions to achieve optimal video quality and user experience. However, current adaptive bitrate algorithms suffer from the problem of not being able to accurately adjust the bitrate according to different network conditions, affecting video quality and reducing user experience. Summary of the Invention

[0003] In view of this, the purpose of this application is to provide an adaptive bit rate adjustment method and apparatus.

[0004] To achieve the above objectives, embodiments of this application provide an adaptive bit rate adjustment method, comprising:

[0005] Obtain congestion window data and congestion status;

[0006] Calculate the transmission rate control parameters based on the congestion window data and congestion status;

[0007] Based on a pre-constructed objective function, a target bit rate is selected from a preset set of bit rates that maximizes the objective function; wherein, the objective function includes the quality of the video segment with bit rate as a variable, and the download time of the video segment with bit rate as a variable, based on the transmission rate control parameter.

[0008] Optionally, the objective function is:

[0009]

[0010] Where B is the set of bit rates, α1 and α2 are weights, and a k+1,t+1 It is the bit rate of video segment k+1 at time t+1, q(a k+1,t+1 ) represents the quality of video segment k+1, a k,t q(a) is the bit rate of video segment k at time t. k,t T(a) represents the quality of video segment k, where T(a) is the quality of the video segment k. k+1,t+1 ) is the download time of video segment k+1 at time t+1, and P is the buffer length when downloading video segment k+1 at time t+1.

[0011] Optionally, the download time of the video segment is determined based on the transmission rate control parameter and the size of the video segment; different bit rates correspond to different video segment sizes.

[0012] Optionally, the congestion window data includes a congestion window and a round-trip time estimate, and the calculation of the transmission rate control parameters based on the congestion window data and the congestion state includes:

[0013] When it is determined that the congestion avoidance phase is in effect based on the congestion state, the method for calculating the transmission rate control parameters is as follows:

[0014]

[0015] Specifically, γ is set to 1.2 when the congestion threshold is reached, and to 1 in other cases, CWND t Let t be the congestion window value at time t, and rtt be the estimated round-trip time at time t.

[0016] Optionally, the congestion window data includes a congestion window and a round-trip time estimate, and the calculation of the transmission rate control parameters based on the congestion window data and the congestion state includes:

[0017] When the congestion avoidance phase is determined based on the congestion state, the congestion window value is increased using an additive growth method. The method for calculating the transmission rate control parameter is as follows:

[0018]

[0019] Among them, CWND t-1 It is the congestion window value at time t-1, RTT. t-1 It is the estimated round-trip time at time t-1.

[0020] This application also provides an adaptive bit rate adjustment device, including:

[0021] The acquisition module is used to acquire congestion window data and congestion status;

[0022] The calculation module is used to calculate the transmission rate control parameters based on the congestion window data and the congestion status.

[0023] A bitrate adjustment module is used to select a target bitrate from a preset set of bitrates based on a pre-constructed target function, so that the target function reaches its maximum value; wherein, the target function includes the quality of video segments with bitrate as a variable, and the download time of sending video segments with bitrate as a variable based on the sending rate control parameters.

[0024] Optionally, the objective function is:

[0025]

[0026] Where B is the set of bit rates, α1 and α2 are weights, and a k+1,t+1 It is the bit rate of video segment k+1 at time t+1, q(a k+1,t+1 ) represents the quality of video segment k+1, a k,t q(a) is the bit rate of video segment k at time t. k,t T(a) represents the quality of video segment k, where T(a) is the quality of the video segment k. k+1,t+1 ) is the download time of video segment k+1 at time t+1, and P is the buffer length when downloading video segment k+1 at time t+1.

[0027] Optionally, the download time of the video segment is determined based on the transmission rate control parameter and the size of the video segment; different bit rates correspond to different video segment sizes.

[0028] Optionally, the congestion window data includes the congestion window and round-trip time estimates;

[0029] The calculation module is configured to calculate the transmission rate control parameters when it is determined that the congestion avoidance phase is underway based on the congestion state, using the following method:

[0030]

[0031] Specifically, γ is set to 1.2 when the congestion threshold is reached, and to 1 in other cases, CWND t Let t be the congestion window value at time t, and rtt be the estimated round-trip time at time t.

[0032] Optionally, the congestion window data includes the congestion window and round-trip time estimates;

[0033] The calculation module is used to increase the congestion window value using an additive growth method when it is determined that the congestion avoidance phase is underway based on the congestion state. The method for calculating the transmission rate control parameter is as follows:

[0034]

[0035] Among them, CWND t-1 It is the congestion window value at time t-1, RTT. t-1 It is the estimated round-trip time at time t-1.

[0036] As can be seen from the above, the adaptive bit rate adjustment method and apparatus provided in this application obtain congestion window data and congestion status, calculate transmission rate control parameters based on the congestion window data and congestion status, and select a target bit rate from a preset bit rate set that maximizes the target function based on a pre-constructed objective function. This allows for dynamic adjustment of the bit rate according to different congestion states and the transmission rate control parameters of the transmitter, ensuring the quality of user experience. Attached Figure Description

[0037] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0038] Figure 1 This is a schematic diagram of the method flow of an embodiment of this application;

[0039] Figure 2 This is a block diagram of the device structure according to an embodiment of this application;

[0040] Figure 3 This is a block diagram of the electronic device structure according to an embodiment of this application. Detailed Implementation

[0041] To make the objectives, technical solutions, and advantages of this disclosure clearer, the following detailed description is provided in conjunction with specific embodiments and the accompanying drawings.

[0042] It should be noted that, unless otherwise defined, the technical or scientific terms used in the embodiments of this application should have the ordinary meaning understood by one of ordinary skill in the art to which this disclosure pertains. The terms "first," "second," and similar terms used in the embodiments of this application do not indicate any order, quantity, or importance, but are merely used to distinguish different components. Terms such as "comprising" or "including" mean that the element or object preceding the word encompasses the elements or objects listed after the word and their equivalents, without excluding other elements or objects. Terms such as "connected" or "linked" are not limited to physical or mechanical connections, but can include electrical connections, whether direct or indirect. Terms such as "upper," "lower," "left," and "right" are only used to indicate relative positional relationships; when the absolute position of the described object changes, the relative positional relationship may also change accordingly.

[0043] like Figure 1 As shown in the embodiments of this application, the adaptive bit rate adjustment method includes:

[0044] S101: Obtain congestion window data and congestion status;

[0045] In this embodiment, the congestion window data and congestion status of the sending end are obtained. The congestion window data includes the current congestion window value, round-trip time estimate, previous maximum window, congestion threshold, etc. In some methods, the various congestion window data can be obtained by parsing relevant parameters in the structure. For example, the current congestion window value can be obtained by parsing the parameter `snd_cwnd`, the previous maximum window can be obtained by parsing the parameter `last_max_cwnd`, and the round-trip time estimate can be obtained by parsing the parameter `rcv_rtt_est`. The congestion status includes slow start, congestion avoidance, fast retransmission, fast recovery, etc., which can be determined by calling relevant functions related to congestion and combining them with the congestion window data. The methods for obtaining the congestion window data and congestion status are not described in detail.

[0046] S102: Calculate the transmission rate control parameters based on the congestion window data and congestion status;

[0047] In this embodiment, after obtaining the congestion window data and congestion status, the transmission rate control parameter is calculated based on the current congestion window value and round-trip time estimate, combined with the network congestion status. The sending end then determines the rate at which it sends data packets based on this transmission rate control parameter.

[0048] In some methods, when determining whether to enter the congestion avoidance phase based on the congestion state, the method for calculating the transmission rate control parameters is as follows:

[0049]

[0050] Specifically, when the congestion threshold is reached, γ is set to 1.2; otherwise, it is set to 1. (CWND) t The current congestion window value, i.e., the congestion window value at time t; rtt t This is the current round-trip time estimate, i.e., the round-trip time estimate at time t.

[0051] S103: Based on a pre-constructed objective function, select a target bit rate from a preset set of bit rates that maximizes the objective function; wherein, the objective function includes the quality of the video segment with bit rate as the variable, and the download time of the video segment with bit rate as the variable and based on the transmission rate control parameter.

[0052] In this embodiment, the user experience quality of the video streaming service is:

[0053]

[0054] Among them, b k T(b) is the bit rate of video segment k. kq(b) is the download time of video segment k, and q(b) is the download time of video segment k. k ) represents the quality of video segment k, which can be calculated using conventional quality calculation methods. P is the buffer length when downloading video segment k. max{T(b k )-P,0} represents the stuttering time caused by downloading video segment k, where K is the total number of video segments.

[0055] At each moment of the total video download time T, if video segment k is downloaded, set the bit rate a for downloading video segment k. t =b k If no video segment is downloaded, set the bitrate to 'a'. t If = 0, then the user experience quality of the adaptive bit rate method is defined as:

[0056]

[0057] This definition guarantees that when there is no data being downloaded, the quality change is 0, and the download time T(a t This can accurately reflect whether data has been downloaded.

[0058] With the goal of maximizing user experience quality, an objective function is constructed. A target bit rate is selected from a pre-defined set of bit rates to maximize the objective function, thereby achieving the best user experience quality. The established objective function is as follows:

[0059]

[0060] Where B is the set of bit rates, α1 and α2 are weights, and a k+1,t+1 It is the bit rate of video segment k+1 at time t+1, q(a k+1,t+1 ) represents the quality of video segment k+1, a k,t q(a) is the bit rate of video segment k at time t. k,t T(a) represents the quality of video segment k, where T(a) is the quality of the video segment k. k+1,t+1 Let be the download time of video segment k+1 at time t+1, and P be the buffer length when downloading video segment k+1 at time t+1. The objective function is to find the optimal bitrate for the next time step based on parameters such as the current network state and bitrate. Determining the target bitrate achieves high-quality video segments, minimal buffering, and the best user experience.

[0061] In some embodiments, the download time of a video segment is determined based on the transmission rate control parameters and the size of the video segment. Specifically, the download time T(a k+1,t+1 The relationship between the transmission rate control parameter and the bit rate can be expressed as:

[0062]

[0063] Among them, pr τ It is the transmission rate control parameter, S(a) k+1,t+1 ) is a bit rate k+1,t+1 At that time, the size of video segment k+1, i.e., different bitrates correspond to different video segment sizes. When a specific bitrate is selected from the bitrate set, the size of the corresponding video segment can be determined. Based on the size of the video segment and the calculated transmission rate control parameters, the download time of that video segment can be determined.

[0064] The adaptive bitrate adjustment method provided in this embodiment obtains the congestion window data and congestion status of the sending end, calculates the transmission rate control parameters based on the congestion window data and congestion status, determines the target bitrate that achieves the best user experience quality based on the transmission rate control parameters, the quality of video segments, the buffer length of the receiving end, etc., sends a playback request carrying the target bitrate to the sending end, and the sending end sends the video stream corresponding to the target bitrate to the receiving end.

[0065] In some specific embodiments, the adaptive bit rate adjustment method of this application is applied to the Cubic congestion control algorithm. During the congestion avoidance phase, when the congestion window is increased using the bic_update function, the transmission rate control parameters are calculated and determined according to formula (1), and the congestion window is calculated using CWND. t =C(tK) 3 +w max w max The congestion window value in the event of a data loss is defined; parameters C and K can be obtained from the relevant parameters of the structure. The congestion window is increased using the `cong_avoid_ai` function, which employs an additive growth method. The calculation method for the transmission rate control parameters is as follows:

[0066]

[0067] Among them, CWND t-1 It is the congestion window value at time t-1, RTT. t-1 It is the estimated round-trip time at time t-1.

[0068] When reversing a misjudgment of congestion, the transmission rate control parameters are set as follows:

[0069]

[0070] When the congestion window gradually shrinks to the congestion threshold, and the end_cwnd_reduction function is called, the transmission rate control parameters are set to:

[0071]

[0072] The adaptive bit rate adjustment method provided in this application obtains congestion window data and congestion status, determines appropriate transmission rate control parameters based on the congestion window data and congestion status, and the receiving end uses the constructed objective function to select a target bit rate from the bit rate set that maximizes the objective function based on the transmission rate control parameters, so as to achieve the best user experience quality and thus achieve the effect of accurately adjusting the target bit rate under different network conditions.

[0073] It should be noted that the method in this embodiment can be executed by a single device, such as a computer or server. The method can also be applied in a distributed scenario, where multiple devices cooperate to complete the task. In such a distributed scenario, one of these devices may execute only one or more steps of the method in this embodiment, and the multiple devices will interact with each other to complete the method described.

[0074] It should be noted that the above description describes specific embodiments of this specification. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recorded in the claims may be performed in a different order than that shown in the embodiments and still achieve the desired results. Furthermore, the processes depicted in the drawings do not necessarily require the specific or sequential order shown to achieve the desired results. In some embodiments, multitasking and parallel processing are also possible or may be advantageous.

[0075] like Figure 2 As shown in the figure, this application embodiment also provides an adaptive bit rate adjustment device, including:

[0076] The acquisition module is used to acquire congestion window data and congestion status;

[0077] The calculation module is used to calculate the transmission rate control parameters based on the congestion window data and the congestion status.

[0078] A bitrate adjustment module is used to select a target bitrate from a preset set of bitrates based on a pre-constructed target function, so that the target function reaches its maximum value; wherein, the target function includes the quality of the video segment with bitrate as a variable, and the download time of the video segment with bitrate as a variable, based on the transmission rate control parameter.

[0079] For ease of description, the above devices are described in terms of function, divided into various modules. Of course, in implementing the embodiments of this application, the functions of each module can be implemented in one or more software and / or hardware.

[0080] The apparatus described above is used to implement the corresponding methods in the foregoing embodiments and has the beneficial effects of the corresponding method embodiments, which will not be repeated here.

[0081] Figure 3 This embodiment illustrates a more specific hardware structure of an electronic device, which may include a processor 1010, a memory 1020, an input / output interface 1030, a communication interface 1040, and a bus 1050. The processor 1010, memory 1020, input / output interface 1030, and communication interface 1040 are interconnected internally via the bus 1050.

[0082] The processor 1010 can be implemented using a general-purpose CPU (Central Processing Unit), microprocessor, application-specific integrated circuit (ASIC), or one or more integrated circuits, and is used to execute relevant programs to implement the technical solutions provided in the embodiments of this specification.

[0083] The memory 1020 can be implemented in the form of ROM (Read Only Memory), RAM (Random Access Memory), static storage device, dynamic storage device, etc. The memory 1020 can store the operating system and other applications. When the technical solutions provided in the embodiments of this specification are implemented by software or firmware, the relevant program code is stored in the memory 1020 and is called and executed by the processor 1010.

[0084] The input / output interface 1030 is used to connect input / output modules to realize information input and output. Input / output modules can be configured as components within the device (not shown in the figure) or externally connected to the device to provide corresponding functions. Input devices may include keyboards, mice, touchscreens, microphones, various sensors, etc., while output devices may include displays, speakers, vibrators, indicator lights, etc.

[0085] The communication interface 1040 is used to connect a communication module (not shown in the figure) to enable communication between this device and other devices. The communication module can communicate via wired means (such as USB, Ethernet cable, etc.) or wireless means (such as mobile network, WIFI, Bluetooth, etc.).

[0086] Bus 1050 includes a pathway for transmitting information between various components of the device, such as processor 1010, memory 1020, input / output interface 1030, and communication interface 1040.

[0087] It should be noted that although the above-described device only shows the processor 1010, memory 1020, input / output interface 1030, communication interface 1040, and bus 1050, in specific implementations, the device may also include other components necessary for normal operation. Furthermore, those skilled in the art will understand that the above-described device may only include the components necessary for implementing the embodiments of this specification, and not necessarily all the components shown in the figures.

[0088] The electronic devices described above are used to implement the corresponding methods in the foregoing embodiments and have the beneficial effects of the corresponding method embodiments, which will not be repeated here.

[0089] The computer-readable medium of this embodiment includes permanent and non-permanent, removable and non-removable media, and information storage can be implemented by any method or technology. Information can be computer-readable instructions, data structures, program modules, or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, CD-ROM, digital versatile optical disc (DVD) or other optical storage, magnetic tape, magnetic magnetic disk storage or other magnetic storage devices, or any other non-transfer medium that can be used to store information accessible by a computing device.

[0090] Those skilled in the art should understand that the discussion of any of the above embodiments is merely exemplary and is not intended to imply that the scope of this disclosure (including the claims) is limited to these examples; within the framework of this disclosure, the technical features of the above embodiments or different embodiments can also be combined, the steps can be implemented in any order, and there are many other variations of different aspects of the embodiments of this application as described above, which are not provided in the details for the sake of brevity.

[0091] Additionally, to simplify the description and discussion, and to avoid obscuring the embodiments of this application, the well-known power / ground connections to integrated circuit (IC) chips and other components may or may not be shown in the provided drawings. Furthermore, the apparatus may be shown in block diagram form to avoid obscuring the embodiments of this application, and this also takes into account the fact that the details of the implementation of these block diagram apparatuses are highly dependent on the platform on which the embodiments of this application will be implemented (i.e., these details should be fully understood by those skilled in the art). While specific details (e.g., circuits) have been set forth to describe exemplary embodiments of this disclosure, it will be apparent to those skilled in the art that the embodiments of this application can be implemented without these specific details or with variations thereof. Therefore, these descriptions should be considered illustrative rather than restrictive.

[0092] Although this disclosure has been described in conjunction with specific embodiments thereof, many substitutions, modifications, and variations of these embodiments will be apparent to those skilled in the art from the foregoing description. For example, other memory architectures (e.g., dynamic RAM (DRAM)) may be used with the embodiments discussed.

[0093] The embodiments of this application are intended to cover all such substitutions, modifications, and variations that fall within the broad scope of the appended claims. Therefore, any omissions, modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the embodiments of this application should be included within the protection scope of this disclosure.

Claims

1. An adaptive bit rate adjustment method, characterized in that, include: Obtain congestion window data and congestion status; wherein, the congestion window data includes the congestion window and round-trip time estimate; Based on congestion window data and congestion status, the transmission rate control parameters are calculated, including: when it is determined from the congestion status that the congestion avoidance phase is in progress, the congestion window value is increased using an additive growth method. The method for calculating the transmission rate control parameters is as follows: (6) in, It is the congestion window value at time t-1. It is the estimated round-trip time at time t-1; Based on a pre-constructed objective function, a target bit rate is selected from a preset set of bit rates that maximizes the objective function; wherein, the objective function includes the quality of the video segment with bit rate as a variable, and the download time of the video segment with bit rate as a variable and based on the transmission rate control parameter. The objective function is: (4) in, It is the set of bit rates, It's weight. It is the bit rate of video segment k+1 at time t+1. It refers to the quality of video segment k+1. It is the bit rate of video segment k at time t. It refers to the quality of video segment k. It is the download time of video segment k+1 at time t+1. It is the buffer length when downloading video segment k+1 at time t+1; The download time of the video segment is determined based on the sending rate control parameter and the size of the video segment, as follows: (5) in, These are transmission rate control parameters. Is the bit rate At that time, the size of video segment k+1 varies depending on the bit rate.

2. The method according to claim 1, characterized in that, The step of calculating the transmission rate control parameters based on congestion window data and congestion status also includes: When reversing a misjudgment of congestion, the method for calculating the transmission rate control parameters is as follows: (7).

3. The method according to claim 1, characterized in that, The step of calculating the transmission rate control parameters based on congestion window data and congestion status also includes: When the congestion window gradually shrinks to the congestion threshold, and the end_cwnd_reduction function is called, the method for calculating the transmission rate control parameters is as follows: (8)。 4. An adaptive bit rate adjustment device, characterized in that, include: The acquisition module is used to acquire congestion window data and congestion status; wherein, the congestion window data includes the congestion window and round-trip time estimate; The calculation module is used to calculate the transmission rate control parameters based on congestion window data and congestion status, including: when it is determined from the congestion status that the congestion avoidance phase is in progress, increasing the congestion window value using an additive growth method; the method for calculating the transmission rate control parameters is as follows: (6) in, It is the congestion window value at time t-1. It is the estimated round-trip time at time t-1; A bitrate adjustment module is used to select a target bitrate from a preset set of bitrates based on a pre-constructed target function, so that the target function reaches its maximum value; wherein, the target function includes the quality of the video segment with bitrate as a variable, and the download time of the video segment with bitrate as a variable based on the transmission rate control parameter. The objective function is: (4) in, It is the set of bit rates, It's weight. It is the bit rate of video segment k+1 at time t+1. It refers to the quality of video segment k+1. It is the bit rate of video segment k at time t. It refers to the quality of video segment k. It is the download time of video segment k+1 at time t+1. It is the buffer length when downloading video segment k+1 at time t+1; The download time of the video segment is determined based on the sending rate control parameter and the size of the video segment, as follows: (5) in, These are transmission rate control parameters. Is the bit rate At that time, the size of video segment k+1 varies depending on the bit rate.

5. The apparatus according to claim 4, characterized in that, The calculation module is configured to calculate the transmission rate control parameters when a misjudgment of congestion is reversed. (7)。 6. The apparatus according to claim 4, characterized in that, The calculation module calculates the transmission rate control parameters by calling the end_cwnd_reduction function when the congestion window gradually shrinks to the congestion threshold. (8)。

Citation Information

Patent Citations

  • Live broadcast video stream code rate self-adaption method capable of expanding video coding

    CN117014619A

  • Video stream bit rate self-adaption method and device based on bandwidth prediction

    CN119071576A