Video bitrate adjustment methods, devices, equipment and media

By clustering video bitrate and indicator data of network devices during video calls, key sampling points are selected. Based on the number and rules of these sampling points, the video bitrate is adjusted, which solves the problem of low accuracy in video bitrate adjustment and improves the quality of video calls.

CN118828111BActive Publication Date: 2025-10-31CHINA MOBILE M2M +2
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202311757849.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-12-19
Publication Date
2025-10-31
Estimated Expiration
2043-12-19

AI Technical Summary

Technical Problem

The accuracy of video bitrate adjustment in existing technologies is low, resulting in poor video call quality.

Method used

By acquiring sampling points of video bitrate and multiple indicator data of network devices during video calls, clustering processing is performed to filter out sampling points that meet preset conditions, and the video bitrate is adjusted based on the number and rules of these sampling points.

Benefits of technology

It enables real-time and accurate adjustment of video bitrate, improving the quality of video calls.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118828111B_ABST
    Figure CN118828111B_ABST
Patent Text Reader

Abstract

This application provides a video bitrate adjustment method, apparatus, device, and medium, including: during a video call between a first device and a second device via a network device, acquiring the video bitrate of the network device at a first moment, and N indicator data within a first time period before the first moment; when the video bitrate is within a preset range, for each of the N indicator data, performing clustering processing on multiple sampling points of the indicator data to obtain the number of first sampling points among the multiple sampling points of the indicator data that meet preset conditions; acquiring target indicator data of the network device within a second time period, and determining the number of second sampling points among the multiple sampling points of the target indicator data that meet preset conditions; adjusting the video bitrate based on the number of first sampling points, the number of second sampling points, and preset rules. This application embodiment improves the accuracy of video bitrate adjustment.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application belongs to the field of communication technology, and in particular relates to a video bitrate adjustment method, apparatus, device and medium. Background Technology

[0002] In real-world applications, the high speed, low latency, and large bandwidth of 5G networks provide a reliable technical foundation for the real-time transmission of ultra-high-definition video, enabling video calling services to offer mobile users a new calling experience. Since video bitrate is closely related to video call quality, existing technologies typically negotiate a video bitrate between the data receiver and sender during the session establishment phase to ensure quality. However, this bitrate is merely an empirical value, leading to low accuracy in subsequent bitrate adjustments and consequently, poor video call quality. Summary of the Invention

[0003] This application provides a video bitrate adjustment method, apparatus, device, and medium that can ensure the quality of video calls by adjusting the video bitrate in a timely and accurate manner.

[0004] In a first aspect, embodiments of this application provide a video bitrate adjustment method, the method comprising:

[0005] During a video call between the first device and the second device via a network device, the video bitrate of the network device at the first moment is obtained, as well as N indicator data points within the first time period before the first moment, where N is greater than or equal to 2, and each indicator data point includes multiple sampling points.

[0006] When the video bitrate is within a preset range, for each of the N index data, clustering is performed on multiple sampling points of the index data to obtain the number of first sampling points of the first sampling point that meets the preset conditions among the multiple sampling points of the index data.

[0007] The target indicator data of the network device is acquired in the second time period, and the number of second sampling points that meet the preset conditions among the multiple sampling points of the target indicator data is determined. The target indicator data is determined based on the number of first sampling points corresponding to N indicator data in the first time period. The second time period is earlier than the first time period.

[0008] The video bitrate is adjusted based on the number of first and second sampling points of the target indicator data and preset rules.

[0009] In an optional implementation of the first aspect, for each of the N index data, clustering is performed on multiple sampling points of the index data to obtain the number of first sampling points that satisfy a preset condition among the multiple sampling points of the index data, including:

[0010] For each of the N index data points, determine the sampling distance between each sampling point among the multiple sampling points of the index data and the preset sampling point of the index data;

[0011] From multiple sampling points, determine the first sampling point whose sampling distance is greater than a preset distance threshold, and determine the number of the first sampling points.

[0012] In an optional implementation of the first aspect, before acquiring the target indicator data of the network device in a second time period and determining the number of second sampling points among multiple sampling points of the target indicator data that satisfy a preset condition, the method further includes:

[0013] From N data points, determine the data point with the largest number of first sampling points as the target data point.

[0014] In one optional implementation of the first aspect, adjusting the video bitrate based on the number of first sampling points, the number of second sampling points, and preset rules of the target indicator data includes:

[0015] The target values ​​are determined as the difference between the number of the first sampling points and the number of the second sampling points, and the ratio between the first and second sampling points.

[0016] Adjust the video bitrate based on the target value and preset rules.

[0017] In an optional implementation of the first aspect, before acquiring the target indicator data of the network device in a second time period and determining the number of second sampling points among multiple sampling points of the target indicator data that satisfy a preset condition, the method further includes:

[0018] From N data points, the data points with a first sampling point count greater than a preset value are selected as the target data points.

[0019] In one optional implementation of the first aspect, the target indicator data includes M indicator data, where N is greater than or equal to M, and M is greater than or equal to 2.

[0020] Based on the number of first and second sampling points of the target indicator data and preset rules, the video bitrate is adjusted, including:

[0021] For each of the M index data, the first value is determined as the ratio between the difference between the number of first sampling points and the number of second sampling points corresponding to the index data and the number of second sampling points of the index data.

[0022] The target value is obtained by performing a weighted summation of the M first values ​​based on preset weights.

[0023] Adjust the video bitrate based on the target value and preset rules.

[0024] In an alternative implementation of the first aspect, the N metrics data include at least two of packet loss rate, packet jitter, latency, and rate.

[0025] Secondly, embodiments of this application provide a video bitrate adjustment device, the device comprising:

[0026] The acquisition module is used to acquire the video bitrate of the network device at the first moment and N indicator data in the first time period before the first moment during the video call between the first device and the second device through the network device. N is greater than or equal to 2, and each indicator data includes multiple sampling points.

[0027] The clustering module is used to perform clustering processing on multiple sampling points of each of the N index data when the video bitrate is within a preset range, so as to obtain the number of first sampling points of the first sampling point that meets the preset conditions among the multiple sampling points of the index data.

[0028] The acquisition module is also used to acquire the target indicator data of the network device in the second time period, and determine the number of second sampling points that meet the preset conditions among the multiple sampling points of the target indicator data. The target indicator data is determined based on the number of first sampling points corresponding to the N indicator data in the first time period. The second time period is earlier than the first time period.

[0029] The adjustment module is used to adjust the video bitrate based on the number of first and second sampling points of the target indicator data and preset rules.

[0030] Thirdly, an electronic device is provided, comprising: a memory for storing computer program instructions; and a processor for reading and executing the computer program instructions stored in the memory to perform a video bitrate adjustment method provided in any optional embodiment of the first aspect.

[0031] Fourthly, a computer storage medium is provided, on which computer program instructions are stored, which, when executed by a processor, implement the video bitrate adjustment method provided by any optional implementation of the first aspect.

[0032] Fifthly, a computer program product is provided, wherein instructions in the computer program product, when executed by a processor of an electronic device, cause the electronic device to perform a video bitrate adjustment method provided by any optional embodiment of the first aspect.

[0033] In this embodiment, during a video call between a first device and a second device via a network device, the video bitrate of the network device at a first moment and N indicator data points within a first time period prior to the first moment can be obtained. Since each indicator data point can include multiple sampling points, clustering can be performed on the multiple sampling points of each of the N indicator data points for each indicator data point when the video bitrate is within a preset range. This yields the number of first sampling points among the multiple sampling points of the indicator data that satisfy preset conditions. Furthermore, the target indicator data of the network device within a second time period can be obtained, and the number of second sampling points among the multiple sampling points of the target indicator data that satisfy preset conditions can be determined. Based on this, the video bitrate can be adjusted according to the number of first sampling points, the number of second sampling points, and preset rules of the target indicator data. Thus, target indicator data with a significant impact on the video call can be selected from multiple indicator data points, and real-time adjustment of the video bitrate can be achieved based on the relevant information of the target indicator data, improving the accuracy of video bitrate adjustment. Attached Figure Description

[0034] To more clearly illustrate the technical solutions of the embodiments of this application, the accompanying drawings used in the embodiments of this application will be briefly introduced below. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0035] Figure 1 This is a flowchart illustrating a video bitrate adjustment method provided in an embodiment of this application;

[0036] Figure 2 This is a flowchart illustrating another video bitrate adjustment method provided in an embodiment of this application;

[0037] Figure 3 This is a schematic diagram of index data clustering provided in an embodiment of this application;

[0038] Figure 4 This is a schematic diagram of the structure of a video bitrate adjustment device provided in an embodiment of this application;

[0039] Figure 5 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. Detailed Implementation

[0040] The features and exemplary embodiments of various aspects of this application will be described in detail below. To make the objectives, technical solutions, and advantages of this application clearer, the application will be further described in detail below with reference to the accompanying drawings and specific embodiments. It should be understood that the specific embodiments described herein are only intended to explain this application and not to limit it. For those skilled in the art, this application can be implemented without some of these specific details. The following description of the embodiments is merely to provide a better understanding of this application by illustrating examples.

[0041] It should be noted that, in this document, relational terms such as "first" and "second" are used merely to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising..." does not exclude the presence of additional identical elements in the process, method, article, or apparatus that includes the element.

[0042] In this article, the term "and / or" is merely a description of the relationship between related objects, indicating that there can be three relationships. For example, A and / or B can represent three situations: A exists alone, A and B exist simultaneously, and B exists alone.

[0043] To address the issue of low accuracy in video bitrate adjustment in existing technologies, this application provides a video bitrate adjustment method, apparatus, device, and medium. During a video call between a first device and a second device via a network device, the method acquires the video bitrate of the network device at a first moment, and N indicator data points within a first time period prior to the first moment. Since each indicator data point can include multiple sampling points, clustering can be performed on the multiple sampling points of each of the N indicator data points for each indicator data point when the video bitrate is within a preset range. This yields the number of first sampling points among the multiple sampling points of the indicator data that satisfy preset conditions. Furthermore, the method can acquire the target indicator data of the network device within a second time period and determine the number of second sampling points among the multiple sampling points of the target indicator data that satisfy preset conditions. Based on this, the video bitrate can be adjusted according to the number of first sampling points, the number of second sampling points, and preset rules of the target indicator data. This allows for the selection of target indicator data points that have a significant impact on the video call from multiple indicator data points, enabling real-time adjustment of the video bitrate based on the relevant information of the target indicator data, thus improving the accuracy of video bitrate adjustment.

[0044] The video bitrate adjustment method provided in this application will be described in detail below with reference to the accompanying drawings and specific embodiments.

[0045] Figure 1 This is a flowchart illustrating a video bitrate adjustment method provided in an embodiment of this application.

[0046] like Figure 1 As shown, the execution subject of this video bitrate adjustment method can be the target device, and the method can specifically include the following steps:

[0047] S110: During a video call between the first device and the second device via the network device, the video bitrate of the network device at the first moment, and N indicator data within the first time period before the first moment are obtained.

[0048] The target device can be either the first device or the second device mentioned above, and both the first device and the second device include, but are not limited to, electronic devices with communication functions such as mobile phones and tablets. Furthermore, the first time period mentioned above can be a pre-set time period based on actual experience or circumstances; for example, the first time period can be 10 seconds or 30 seconds, without further limitation.

[0049] In some embodiments, the N metrics mentioned above may include at least two of packet loss rate, packet jitter, latency, and speed, without further limitation. N is greater than or equal to 2 and is a positive integer. Furthermore, each of the above metrics may include multiple sampling points.

[0050] Specifically, during a video call between the first device and the second device via a network device, the target device can monitor the media data packets sent by the network device. These media data packets may include the video bitrate of the network device at a first moment, as well as N indicator data points within a first time period prior to the first moment.

[0051] S120, when the video bitrate is within a preset range, for each of the N index data, clustering is performed on multiple sampling points of the index data to obtain the number of first sampling points of the first sampling point that meets the preset conditions among the multiple sampling points of the index data.

[0052] The preset range can be pre-set based on actual experience or circumstances, and is not specifically limited here. In addition, the above preset conditions can be pre-set based on actual experience or circumstances, and are used to filter sampling points that have a greater impact on video calls from multiple sampling points, and are not further limited here.

[0053] Specifically, after acquiring the video bitrate of the network device at a first moment and N indicator data within a first time period prior to that first moment, if the video bitrate at that first moment is within a preset range, the target device can perform clustering processing on multiple sampling points of each of the aforementioned N indicator data to obtain the number of first sampling points among the multiple sampling points of the indicator data that satisfy the preset conditions. It should be noted that clustering algorithms can be used to cluster the multiple sampling points of the indicator data; the clustering algorithm used here is existing technology and will not be explained in detail here.

[0054] S130, acquire the target indicator data of the network device in the second time period, and determine the number of second sampling points that meet the preset conditions among the multiple sampling points of the target indicator data.

[0055] The second time mentioned above can be a time period preset based on actual experience or circumstances. This second time can be 10 seconds or 30 seconds, and no specific limitation is made here.

[0056] In addition, in some embodiments, the target index data is determined based on the number of first sampling points corresponding to each of the N index data.

[0057] Specifically, after obtaining the number of first sampling points corresponding to the first sampling points of the N indicator data, the target device can first determine the target indicator data from the multiple indicator data based on the number of first sampling points corresponding to the N indicator data. Based on this, the terminal device can obtain the target indicator data of the network device in the second time period and determine the number of second sampling points of the second sampling points of the multiple sampling points of the target indicator data that meet the above preset conditions.

[0058] S140 adjusts the video bitrate based on the number of first and second sampling points of the target indicator data and preset rules.

[0059] Among them, the preset rules can be rules that are set in advance based on actual experience or circumstances, and no further restrictions are imposed here.

[0060] After the target device determines the number of the first sampling points and the number of the second sampling points of the target indicator data, the terminal device can adjust the video bitrate in real time based on the number of the first sampling points, the number of the second sampling points of the target indicator data, and the preset rules.

[0061] Specifically, the target device can send a Temporary Maximum Media Stream Bitrate Notification (TMMBR) message to the network device to request the network device to adjust the video bitrate.

[0062] Additionally, in one example, suppose the aforementioned preset range could be (b min b max ), where b min It can be a minimum video bitrate preset based on actual experience or circumstances; correspondingly, b max This could be a pre-set maximum video bitrate based on practical experience or circumstances. Therefore, after the target device obtains the video bitrate of the network device at the first moment, if the video bitrate is within (b... min b max Within this range, the video bitrate can be adjusted using the video bitrate adjustment method provided in this application embodiment; if the video bitrate is within (0, b... min Within the range of [ ], the target device can determine the minimum video bitrate b. min Adjust the video bitrate; if the video bitrate is at [b max (+∞), the target device can be based on the maximum video bitrate b max Adjust the video bitrate.

[0063] In this embodiment, during a video call between a first device and a second device via a network device, the video bitrate of the network device at a first moment and N indicator data points within a first time period prior to the first moment can be obtained. Since each indicator data point can include multiple sampling points, clustering can be performed on the multiple sampling points of each of the N indicator data points for each indicator data point when the video bitrate is within a preset range. This yields the number of first sampling points among the multiple sampling points of the indicator data that satisfy preset conditions. Furthermore, the target indicator data of the network device within a second time period can be obtained, and the number of second sampling points among the multiple sampling points of the target indicator data that satisfy preset conditions can be determined. Based on this, the video bitrate can be adjusted according to the number of first sampling points, the number of second sampling points, and preset rules of the target indicator data. Thus, target indicator data with a significant impact on the video call can be selected from multiple indicator data points, and real-time adjustment of the video bitrate can be achieved based on the relevant information of the target indicator data, improving the accuracy of video bitrate adjustment.

[0064] In one embodiment, such as Figure 2 As shown, the above S120 may specifically include the following steps:

[0065] S210, for each of the N index data, determine the sampling distance between each sampling point among the multiple sampling points of the index data and the preset sampling point of the index data.

[0066] The preset sampling points can be standard sampling points pre-set based on actual experience or circumstances, and are not subject to further restrictions here. Specifically, after the target device acquires N indicator data, since each indicator data can include multiple sampling points, based on this, for each indicator data in the N indicator data, the sampling distance between each of the multiple sampling points of the indicator data and the preset sampling point of the indicator data is determined, thus obtaining multiple sampling distances corresponding to the indicator data.

[0067] In one example, the above S210 satisfies the following formula (1):

[0068]

[0069] Among them, Distance(T) i C ik ) represents the distance from the k-th sampling point of index data i to the preset sampling point T. i The sampling distance, T i C represents the preset sampling point of index i, which can be continuously adjusted according to the optimization depth. ik This represents the index value at the kth sampling point of index i.

[0070] S220, determine the first sampling point whose sampling distance is greater than a preset distance threshold from multiple sampling points, and determine the number of the first sampling points.

[0071] The aforementioned preset distance threshold can be set in advance based on actual experience or circumstances, and no specific limitations are made here.

[0072] Specifically, after obtaining the distances from multiple sampling points corresponding to each of the N index data, the target device can determine the first sampling point whose sampling distance is greater than a preset distance threshold from the multiple sampling points of the index based on the multiple sampling distances corresponding to the index data, and determine the number of the first sampling points of the first sampling point.

[0073] In one example, assume the preset sampling point for the packet loss rate is T. L =5%, within time T, the target device received 2 packet loss statistics, with packet loss rates of C respectively. L1 =4%, C L2 =10%, then the Euclidean distance between the statistical value of the two packet loss rates and the preset sampling points is calculated as shown in formulas (2) and (3):

[0074]

[0075]

[0076] Assuming a preset distance threshold Distance(T) L The calculation result shows that the packet loss rate C is 0.03. L1 Euclidean distance (Distance(T)) L If C1)) < 0.03, the impact on video calls is smaller, and it is classified into the near-end cluster of the packet loss rate index, that is... Figure 3 The near-end cluster of index i in the data. Packet loss rate C L2 Euclidean distance (Distance(T)) L A value of C2) > 0.03 indicates a greater impact on video calls, placing it in the far-end cluster of the packet loss rate index. Figure 3 The indicator i represents the remote cluster. Therefore, C can be selected from the two packet loss rates mentioned above. L2 This is the first sampling point.

[0077] It should also be noted that if the N metrics include packet loss rate L, packet jitter M, latency J, and network speed F, the video bitrate adjustment method provided in the above embodiments of this application can divide each metric into two levels, as shown in Table 1: unacceptable (the sampling points farthest from the preset sampling point among the multiple sampling points of the metric, i.e., the sampling points that have a greater impact on video calls among the multiple sampling points of the metric, also corresponding to the sampling points in the aforementioned far-end cluster) and acceptable (the sampling points closest to the preset sampling point among the multiple sampling points of the metric, i.e., the sampling points that have a smaller impact on video calls among the multiple sampling points of the metric, also corresponding to the sampling points in the aforementioned near-end cluster). Based on this, the division result of each metric in the N metrics can be shown in Table 1:

[0078] Table 1

[0079]

[0080] Based on this, the number of sampling points corresponding to different levels of each indicator can be statistically obtained, as shown in Table 2:

[0081] Table 2

[0082]

[0083] Taking packet loss rate L as an example, b_L1 is the number of sampling points in the multiple sampling points of packet loss rate L that are at an unacceptable level, which also corresponds to the number of the first sampling points mentioned above, and b_L2 is the number of sampling points in the multiple sampling points of packet loss rate L that are at an acceptable level.

[0084] Based on this, and using the number of first sampling points for each of the above-mentioned indicator data, the priority level of each indicator data can be obtained. This priority level is determined by the impact of each indicator data on the video call; that is, the larger the number of first sampling points for the indicator data, the greater its impact on the video call, and the higher its corresponding priority. In one example, the priority levels of the above-mentioned indicator data can be shown in Table 3:

[0085] Table 3

[0086] Indicator data Priority Packet loss rate L high speed F middle Packet jitter M Low Delay J least

[0087] In this embodiment, for each indicator data, the sampling distance between multiple sampling points in the indicator data and a preset sampling point can be calculated. Then, based on the sampling distance, clustering processing of multiple sampling points of the indicator data can be achieved, which makes it easier to filter out the sampling points in the indicator data that have a greater impact on call instructions.

[0088] In one embodiment, prior to S130, the video bitrate adjustment method described above may further include the following steps:

[0089] From N data points, determine the data point with the largest number of first sampling points as the target data point.

[0090] Specifically, after obtaining the number of first sampling points corresponding to the N index data, the target device can first select the index data corresponding to the largest number of first sampling points as the target index data based on the number of first sampling points corresponding to the N index data.

[0091] In this embodiment, the most important indicator affecting the quality of video calls can be determined from N indicator data based on the number of first sampling points of each indicator data. This facilitates subsequent adjustment of the video bitrate based on the most important indicator data affecting the quality of video calls, thereby improving the accuracy of video bitrate adjustment.

[0092] Based on this, in one embodiment, the above-mentioned S140 may specifically include the following steps:

[0093] The target values ​​are determined as the difference between the number of the first sampling points and the number of the second sampling points, and the ratio between the first and second sampling points.

[0094] Adjust the video bitrate based on the target value and preset rules.

[0095] Specifically, the target device can first determine the difference between the number of first sampling points and the number of second sampling points, and then determine the ratio between the difference and the number of second sampling points as the target value, and then adjust the video bitrate based on the target value and preset rules.

[0096] In one example, if the target value calculated above is -10%, the target device can send a TMMBR message to the network device to notify the network device to increase the video bitrate by 10% based on the current video bitrate. If the target value calculated above is 10%, the target device can send a TMMBR message to the network device to notify the network device to decrease the video bitrate by 10% based on the current video bitrate. If the target value calculated above is within the range of (-10%, 10%), the target device can send a TMMBR message to the network device to notify the network device to maintain the current video bitrate.

[0097] In this embodiment, the video bitrate can be accurately adjusted based on the relevant information of the target indicator data that has the greatest impact on video calls selected from N indicator data, thereby improving the accuracy of the video bitrate.

[0098] In one embodiment, prior to S130, the video bitrate adjustment method described above may further include the following steps:

[0099] From N data points, the data points with a first sampling point count greater than a preset value are selected as the target data points.

[0100] The preset value can be a value set in advance based on actual situation or experience, and no further restrictions are imposed here.

[0101] Specifically, after obtaining the number of first sampling points corresponding to the first sampling points of the N indicator data, the target device can first filter out the indicator data whose number of first sampling points is greater than a preset value from the N indicator data, and determine the indicator data as the target indicator data.

[0102] In this embodiment, the target indicator data that has a significant impact on video calls can be accurately selected from the N indicator data based on the number of first sampling points corresponding to the N indicator data. This allows for accurate adjustment of the video bitrate based on the relevant information of the target indicator data, thereby improving the accuracy of the video bitrate.

[0103] Based on this, in one embodiment, the target indicator data mentioned above may include M indicator data, where N is greater than or equal to M, and M is greater than or equal to 2. The aforementioned S140 may specifically include the following steps:

[0104] For each of the M index data, a first value is determined as the difference between the number of first sampling points and the number of second sampling points corresponding to the index data, and the ratio between the difference and the number of second sampling points of the index data. The M first values ​​are then weighted and summed based on preset weights to obtain the target value. The video bitrate is then adjusted based on the target value and preset rules.

[0105] The preset weights can be weights pre-set based on actual experience or circumstances, and no further restrictions are imposed here.

[0106] Specifically, since the aforementioned target indicator data may include M indicator data, the target device can determine the difference between the number of first sampling points and the number of second sampling points corresponding to each of the M indicator data. This difference can then be used as the ratio of the second sampling points of the indicator data to a first value, thus obtaining M first differences. Based on this, the target device can perform a weighted summation of the M first differences according to preset weights to obtain a target value. Furthermore, the video bitrate can be adjusted based on this target value and preset rules.

[0107] In one example, if the target value calculated above is -10%, the target device can send a TMMBR message to the network device to notify the network device to increase the video bitrate by 10% based on the current video bitrate. If the target value calculated above is 10%, the target device can send a TMMBR message to the network device to notify the network device to decrease the video bitrate by 10% based on the current video bitrate. If the target value calculated above is within the range of (-10%, 10%), the target device can send a TMMBR message to the network device to notify the network device to maintain the current video bitrate.

[0108] In this embodiment, the video bitrate can be accurately adjusted based on the relevant information of the target indicator data that has a significant impact on video calls, which can be accurately selected from N indicator data, thereby improving the accuracy of the video bitrate.

[0109] Based on the same inventive concept, this application also provides a video bitrate adjustment device. This video bitrate adjustment device can be applied to the accessed device. (Specifically combined with...) Figure 4 The video bitrate adjustment device provided in the embodiments of this application will be described in detail.

[0110] Figure 4 This is a schematic diagram of the structure of a video bitrate adjustment device provided in an embodiment of this application.

[0111] like Figure 2 As shown, the video bitrate adjustment device 400 may include: an acquisition module 410, a clustering processing module 420, and an adjustment module 430.

[0112] The acquisition module 410 is used to acquire the video bitrate of the network device at the first moment and N indicator data in the first time period before the first moment during the video call between the first device and the second device through the network device. N is greater than or equal to 2, and each indicator data includes multiple sampling points.

[0113] The clustering processing module 420 is used to perform clustering processing on multiple sampling points of each of the N index data when the video bitrate is within a preset range, so as to obtain the number of first sampling points of the first sampling point that meets the preset conditions among the multiple sampling points of the index data.

[0114] The acquisition module 410 is also used to acquire the target indicator data of the network device in the second time period, and determine the number of second sampling points that meet the preset conditions among the multiple sampling points of the target indicator data. The target indicator data is determined based on the number of first sampling points corresponding to the N indicator data in the first time period. The second time period is earlier than the first time period.

[0115] The adjustment module 430 is used to adjust the video bitrate based on the number of first sampling points, the number of second sampling points, and preset rules of the target indicator data.

[0116] In one embodiment, the video bitrate adjustment device described above may further include a determination module.

[0117] The determination module is used to determine the sampling distance between each sampling point among multiple sampling points of the indicator data and the preset sampling point of the indicator data for each of the N indicator data.

[0118] The determination module is also used to determine the first sampling point whose sampling distance is greater than a preset distance threshold from multiple sampling points, and to determine the number of the first sampling points.

[0119] In one embodiment, the determining module mentioned above is further configured to determine the target indicator data as the indicator data with the largest number of first sampling points from N indicator data before acquiring the target indicator data of the network device in the second time period and determining the number of second sampling points of the second sampling points that meet the preset conditions among the multiple sampling points of the target indicator data.

[0120] In one embodiment, the determining module mentioned above is further used to determine the difference between the number of first sampling points and the number of second sampling points, and the ratio between the difference and the number of second sampling points, as target values;

[0121] The aforementioned adjustment module is specifically used to adjust the video bitrate based on the target value and preset rules.

[0122] In one embodiment, the determining module mentioned above is further configured to determine, before acquiring the target indicator data of the network device in the second time period and determining the number of second sampling points of the second sampling points that meet the preset conditions among the multiple sampling points of the target indicator data, the indicator data whose number of first sampling points is greater than the preset value is the target indicator data.

[0123] In one embodiment, the target indicator data includes M indicator data, where N is greater than or equal to M, and M is greater than or equal to 2; the video bitrate adjustment device mentioned above also includes a weighted summation module.

[0124] The aforementioned determining module is also used to determine, for each of the M index data, the first value is the ratio between the difference between the number of first sampling points corresponding to the index data and the number of second sampling points corresponding to the index data, and the ratio between the difference between the difference between the first sampling points corresponding to the index data and the number of second sampling points corresponding to the index data.

[0125] The weighted summation module is used to perform weighted summation on M first values ​​based on preset weights to obtain the target value.

[0126] The adjustment module is specifically used to adjust the video bitrate based on the target value and preset rules.

[0127] In this embodiment, during a video call between a first device and a second device via a network device, the video bitrate of the network device at a first moment and N indicator data points within a first time period prior to the first moment can be obtained. Since each indicator data point can include multiple sampling points, clustering can be performed on the multiple sampling points of each of the N indicator data points for each indicator data point when the video bitrate is within a preset range. This yields the number of first sampling points among the multiple sampling points of the indicator data that satisfy preset conditions. Furthermore, the target indicator data of the network device within a second time period can be obtained, and the number of second sampling points among the multiple sampling points of the target indicator data that satisfy preset conditions can be determined. Based on this, the video bitrate can be adjusted according to the number of first sampling points, the number of second sampling points, and preset rules of the target indicator data. Thus, target indicator data with a significant impact on the video call can be selected from multiple indicator data points, and real-time adjustment of the video bitrate can be achieved based on the relevant information of the target indicator data, improving the accuracy of video bitrate adjustment.

[0128] The various modules in the video bitrate adjustment device provided in this application embodiment can achieve... Figure 1 or Figure 2 The method steps of the illustrated embodiment, and the corresponding technical effects they achieve, will not be described in detail here for the sake of brevity.

[0129] Figure 5 A schematic diagram of the hardware structure of the electronic device provided in an embodiment of this application is shown.

[0130] An electronic device may include a processor 501 and a memory 502 storing computer program instructions.

[0131] Specifically, the processor 501 may include a central processing unit (CPU), an application-specific integrated circuit (ASIC), or one or more integrated circuits that can be configured to implement the embodiments of this application.

[0132] Memory 502 may include mass storage for data or instructions. For example, and not limitingly, memory 502 may include a hard disk drive (HDD), floppy disk drive, flash memory, optical disk, magneto-optical disk, magnetic tape, or Universal Serial Bus (USB) drive, or a combination of two or more of these. Where appropriate, memory 502 may include removable or non-removable (or fixed) media. Where appropriate, memory 502 may be internal or external to the integrated gateway disaster recovery device. In a particular embodiment, memory 502 is non-volatile solid-state memory.

[0133] Memory may include read-only memory (ROM), random access memory (RAM), disk storage media devices, optical storage media devices, flash memory devices, and electrical, optical, or other physical / tangible memory storage devices. Therefore, typically, memory includes one or more tangible (non-transitory) computer-readable storage media (e.g., memory devices) encoded with software including computer-executable instructions, and when the software is executed (e.g., by one or more processors), it is operable to perform the operations described with reference to the methods according to one aspect of this disclosure.

[0134] The processor 501 reads and executes computer program instructions stored in the memory 502 to implement any of the video bitrate adjustment methods in the above embodiments.

[0135] In one example, the electronic device may also include a communication interface 503 and a bus 510. Wherein, as... Figure 5 As shown, the processor 501, memory 502, and communication interface 503 are connected through bus 510 and complete communication with each other.

[0136] The communication interface 503 is mainly used to realize communication between various modules, devices, units and / or equipment in the embodiments of this application.

[0137] Bus 510 includes hardware, software, or both, that couples components of an online data traffic metering device together. For example, and not limitingly, the bus may include an Accelerated Graphics Port (AGP) or other graphics bus, an Enhanced Industry Standard Architecture (EISA) bus, a Front Side Bus (FSB), HyperTransport (HT) interconnect, an Industry Standard Architecture (ISA) bus, an Infinite Bandwidth Interconnect, a Low Pin Count (LPC) bus, a memory bus, a Microchannel Architecture (MCA) bus, a Peripheral Component Interconnect (PCI) bus, a PCI-Express (PCI-X) bus, a Serial Advanced Technology Attachment (SATA) bus, a Video Electronics Standards Association Local (VLB) bus, or other suitable buses, or combinations of two or more of these. Where appropriate, bus 510 may include one or more buses. Although specific buses are described and illustrated in embodiments of this application, any suitable bus or interconnect is contemplated herein.

[0138] Furthermore, in conjunction with the video bitrate adjustment method in the above embodiments, this application embodiment can provide a computer storage medium for implementation. This computer storage medium stores computer program instructions; when these computer program instructions are executed by a processor, they implement the video bitrate adjustment method provided in this application embodiment.

[0139] This application also provides a computer program product in which instructions, when executed by the processor of an electronic device, cause the electronic device to perform the video bitrate adjustment method provided in this application.

[0140] It should be clarified that this application is not limited to the specific configurations and processes described above and shown in the figures. For the sake of brevity, detailed descriptions of known methods are omitted here. In the above embodiments, several specific steps are described and shown as examples. However, the method process of this application is not limited to the specific steps described and shown. Those skilled in the art can make various changes, modifications, and additions, or change the order of steps, after understanding the spirit of this application.

[0141] The functional blocks shown in the above block diagram can be implemented as hardware, software, firmware, or a combination thereof. When implemented in hardware, they can be, for example, electronic circuits, application-specific integrated circuits (ASICs), appropriate firmware, plug-ins, function cards, etc. When implemented in software, the elements of this application are programs or code segments used to perform the required tasks. Programs or code segments can be stored on a machine-readable medium or transmitted over a transmission medium or communication link via data signals carried on a carrier wave. "Machine-readable medium" can include any medium capable of storing or transmitting information. Examples of machine-readable media include electronic circuits, semiconductor memory devices, ROM, flash memory, erasable ROM (EROM), floppy disks, CD-ROMs, optical disks, hard disks, fiber optic media, radio frequency (RF) links, etc. Code segments can be downloaded via computer networks such as the Internet, intranets, etc.

[0142] It should also be noted that the exemplary embodiments mentioned in this application describe methods or systems based on a series of steps or apparatus. However, this application is not limited to the order of the above steps; that is, the steps can be performed in the order mentioned in the embodiments, or in a different order, or several steps can be performed simultaneously.

[0143] The aspects of this disclosure have been described above with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this disclosure. It should be understood that each block in the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable video bitrate adjustment device to produce a machine such that these instructions, executable via the processor of the computer or other programmable video bitrate adjustment device, enable the implementation of the functions / actions specified in one or more blocks of the flowchart illustrations and / or block diagrams. Such a processor can be, but is not limited to, a general-purpose processor, a special-purpose processor, a special application processor, or a field-programmable logic circuit. It is also understood that each block in the block diagrams and / or flowchart illustrations, and combinations of blocks in the block diagrams and / or flowchart illustrations, can also be implemented by special-purpose hardware performing the specified functions or actions, or can be implemented by a combination of special-purpose hardware and computer instructions.

[0144] The above are merely specific embodiments of this application. Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the systems, modules, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here. It should be understood that the protection scope of this application is not limited thereto. Any person skilled in the art can easily conceive of various equivalent modifications or substitutions within the technical scope disclosed in this application, and these modifications or substitutions should all be covered within the protection scope of this application.

Claims

1. A video bitrate adjustment method, characterized in that, The method includes: During a video call between the first device and the second device via a network device, the video bitrate of the network device at a first moment and N indicator data within a first time period before the first moment are obtained, where N is greater than or equal to 2, and each indicator data includes multiple sampling points, and the N indicator data includes at least two of packet loss rate, packet jitter, latency and speed. When the video bitrate is within a preset range, for each of the N index data, clustering is performed on multiple sampling points of the index data to obtain the number of first sampling points of the first sampling point that meets the preset conditions among the multiple sampling points of the index data. The target indicator data of the network device is obtained in a second time period, and the number of second sampling points that meet the preset conditions among multiple sampling points of the target indicator data is determined. The target indicator data is determined based on the number of first sampling points corresponding to N indicator data in the first time period. The second time period is earlier than the first time period. The target value is determined by the difference between the number of the first sampling points and the number of the second sampling points of the target indicator data, and the ratio between the first sampling point and the second sampling point. The video bitrate is adjusted based on the target value and preset rules.

2. The method according to claim 1, characterized in that, For each of the N indicator data, clustering is performed on multiple sampling points of the indicator data to obtain the number of first sampling points that satisfy a preset condition among the multiple sampling points of the indicator data, including: For each of the N index data, determine the sampling distance between each sampling point among multiple sampling points of the index data and the preset sampling point of the index data; From the plurality of sampling points, determine the first sampling point whose sampling distance is greater than a preset distance threshold, and determine the first sampling point number of the first sampling point.

3. The method according to claim 1, characterized in that, Before acquiring the target indicator data of the network device in the second time period and determining the number of second sampling points that satisfy the preset conditions among the multiple sampling points of the target indicator data, the method further includes: The target indicator data is determined from the N indicator data, based on the indicator data with the largest number of first sampling points.

4. The method according to claim 1, characterized in that, Before acquiring the target indicator data of the network device in the second time period and determining the number of second sampling points that satisfy the preset conditions among the multiple sampling points of the target indicator data, the method further includes: From the N index data, the index data whose number of the first sampling points is greater than a preset value is determined as the target index data.

5. The method according to claim 4, characterized in that, The target indicator data includes M indicator data, where N is greater than or equal to M, and M is greater than or equal to 2; The determination of the target indicator data as the target value by the difference between the number of the first sampling points and the number of the second sampling points, and the ratio between the difference and the number of the second sampling points, includes: For each of the M index data, a first value is determined as the ratio between the difference between the number of first sampling points corresponding to the index data and the number of second sampling points corresponding to the index data and the number of second sampling points of the index data. The target value is obtained by weighted summation of the M first values ​​based on preset weights.

6. A video bitrate adjustment device, characterized in that, The device includes: The acquisition module is used to acquire, during a video call between the first device and the second device via the network device, the video bitrate of the network device at a first moment, and N indicator data within a first time period before the first moment, where N is greater than or equal to 2, each indicator data includes multiple sampling points, and the N indicator data includes at least two of packet loss rate, packet jitter, latency and speed. The clustering processing module is used to perform clustering processing on multiple sampling points of each of the N index data when the video bitrate is within a preset range, so as to obtain the number of first sampling points of the first sampling point that meets the preset conditions among the multiple sampling points of the index data. The acquisition module is further configured to acquire the target indicator data of the network device in a second time period, and determine the number of second sampling points that meet the preset conditions among the multiple sampling points of the target indicator data. The target indicator data is determined based on the number of first sampling points corresponding to N indicator data in the first time period, and the second time period is earlier than the first time period. The determination module is used to determine the target value as the difference between the number of the first sampling points and the number of the second sampling points of the target indicator data and the ratio between the first sampling point and the number of the second sampling points. The adjustment module is used to adjust the video bitrate based on the target value and preset rules.

7. An electronic device, characterized in that, The device includes: a processor and a memory storing computer program instructions; The processor reads and executes the computer program instructions to implement the video bitrate adjustment method as described in any one of claims 1-5.

8. A computer storage medium, characterized in that, The computer storage medium stores computer program instructions, which, when executed by a processor, implement the video bitrate adjustment method as described in any one of claims 1-5.

Citation Information

Patent Citations

  • Transmission rate adjusting method and device and data transmission system

    CN116567104A

  • Data sending method and device, equipment and storage medium

    CN117201418A