Jitter buffer adjustment method, system and device and storage medium
By combining the jitter value samples of the anti-packet loss strategy and the data transmission strategy, the jitter reference value is determined and the jitter buffer length is adjusted, which solves the jitter buffer adjustment error problem caused by the anti-packet loss strategy and improves the smoothness and user experience of data transmission. .
Patent Information
- Application Number
- CN202411362662.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-27
- Publication Date
- 2025-01-24
AI Technical Summary
In the case of fewer network packet loss, the data sample size of network jitter value introduced by the anti-packet loss strategy is small, resulting in jitter buffer adjustment errors and affecting the data transmission effect.
By obtaining the first network jitter sample set and second network jitter sample set of data packet transmission in the setting period, combined with the jitter sample and data transmission strategy of the anti -foil strategy, the jitter sample detected by the data transmission strategy, determine the reference value of the jitter. And adjust the length of the jitter based on jitter reference value.
It improves the accuracy of jitter buffer adjustment, avoids data playback stuck, and improves the smoothness and data transmission effect of data playback.
Smart Images

Figure CN119363692A_ABST
Abstract
Description
Technical Field
[0001] The embodiments of the present application relate to the technical field of data transmission, and in particular to a jitter buffer adjustment method, system, device and storage medium. Background Art
[0002] At present, in the audio and video data transmission scenario, the UDP protocol (User Datagram Protocol) is mainly used for communication between data senders and receivers. In the case of poor communication network, some packet loss and jitter may occur in the network during data transmission. Therefore, corresponding anti-packet loss and anti-jitter strategies are usually adopted to deal with packet loss and jitter to ensure data transmission quality. When implementing the anti-jitter strategy, the NetEQ (Network Equalizer) module is usually used to calculate the network jitter and adjust the size of the jitter buffer to ensure smooth audio playback. The NetEQ module selects a jitter reference value based on the network jitter value of the data packet over a period of time, and adjusts the jitter buffer length based on the jitter reference value to ensure that the jitter buffer meets the expected size of the anti-jitter strategy and the anti-packet loss strategy.
[0003] However, when network packet loss is relatively low, the data sample size of the network jitter value introduced by anti-packet loss is relatively small. This part of the samples is likely to be ignored when the NetEQ module selects the jitter reference value, resulting in jitter buffer adjustment errors, which in turn causes the jitter buffer to fail to reach the size expected by the anti-packet loss strategy, affecting the data transmission effect. Summary of the invention
[0004] The embodiments of the present application provide a jitter buffer adjustment method, system, device and storage medium, which can accurately adjust the jitter buffer in combination with the network jitter value introduced by the anti-packet loss strategy, optimize the data transmission effect, and solve the technical problem of jitter buffer adjustment error caused by the anti-packet loss strategy.
[0005] In a first aspect, an embodiment of the present application provides a jitter buffer adjustment method, including:
[0006] Obtain a first network jitter sample set and a second network jitter sample set of data packet transmission within a set time period, the first network jitter sample set is used to store jitter value samples introduced based on a data packet anti-loss strategy, and the second network jitter sample set is used to store jitter value samples detected based on a set data transmission strategy;
[0007] Determine a first reference value based on the first network jitter sample set, determine a second reference value based on the first network jitter sample set and the second network jitter sample set, and select a maximum value between the first reference value and the second reference value as the jitter reference value;
[0008] The real-time jitter buffer length of the jitter buffer is compared based on the jitter reference value, and the real-time jitter buffer length is adjusted according to the comparison result.
[0009] In a second aspect, an embodiment of the present application provides a jitter buffer adjustment system, including:
[0010] An acquisition module, configured to acquire a first network jitter sample set and a second network jitter sample set of data packets transmitted within a set period of time, wherein the first network jitter sample set is used to store jitter value samples introduced based on a data packet anti-loss strategy, and the second network jitter sample set is used to store jitter value samples detected based on a set data transmission strategy;
[0011] a selection module configured to determine a first reference value based on the first network jitter sample set, determine a second reference value based on the first network jitter sample set and the second network jitter sample set, and select a maximum value between the first reference value and the second reference value as the jitter reference value;
[0012] The adjustment module is configured to compare the real-time jitter buffer length of the jitter buffer area based on the jitter reference value, and adjust the real-time jitter buffer length according to the comparison result.
[0013] In a third aspect, an embodiment of the present application provides a jitter buffer adjustment device, including:
[0014] memory and one or more processors;
[0015] The memory is configured to store one or more programs;
[0016] When the one or more programs are executed by the one or more processors, the one or more processors implement the jitter buffer adjustment method as described in the first aspect.
[0017] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium, wherein the computer-readable storage medium stores computer-executable instructions, and when the computer-executable instructions are executed by a computer processor, the jitter buffer adjustment method as described in the first aspect is configured to be executed.
[0018] In a fifth aspect, an embodiment of the present application provides a computer program product, which includes instructions. When the instructions are executed on a computer or a processor, the computer or the processor executes the jitter buffer adjustment method as described in the first aspect.
[0019] The embodiment of the present application obtains the first network jitter sample set and the second network jitter sample set of data packet transmission within a set time period, the first network jitter sample set is used to store the jitter value samples introduced based on the data packet anti-packet loss strategy, and the second network jitter sample set is used to store the jitter value samples detected based on the set data transmission strategy; determines the first reference value based on the first network jitter sample set, determines the second reference value based on the first network jitter sample set and the second network jitter sample set, and selects the maximum value of the first reference value and the second reference value as the jitter reference value; compares the real-time jitter buffer length of the jitter buffer based on the jitter reference value, and adjusts the real-time jitter buffer length according to the comparison result. By adopting the above technical means, by combining the jitter value samples introduced based on the data packet anti-packet loss strategy and the jitter value samples detected based on the set data transmission strategy to determine the jitter reference value, and adjusting the jitter buffer based on the jitter reference value, the jitter buffer can be better combined with the network jitter value introduced by the anti-packet loss strategy to adjust the jitter buffer, improve the accuracy of the jitter buffer adjustment, and thus avoid the situation of data playback jamming, improve the smoothness of data playback, optimize the data transmission effect, and optimize the user experience. BRIEF DESCRIPTION OF THE DRAWINGS
[0020] Figure 1 is a flow chart of a jitter buffer adjustment method provided by an embodiment of the present application;
[0021] Figure 2 is a flow chart of the anti-packet loss strategy in an embodiment of the present application;
[0022] Figure 3 is a jitter buffer adjustment flow chart in an embodiment of the present application;
[0023] Figure 4 Schematic diagram of the distribution of anti-shake value samples in the embodiment of the present application
[0024] Figure 5 is a flow chart of the anti-jitter strategy in an embodiment of the present application;
[0025] Figure 6 is a structural schematic diagram of a jitter buffer adjustment system provided in an embodiment of the present application;
[0026] Figure 7 It is a structural schematic diagram of a jitter buffer adjustment device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0027] In order to make the purpose, technical scheme and advantages of the present application clearer, the specific embodiments of the present application are further described in detail below in conjunction with the accompanying drawings. It is understood that the specific embodiments described herein are only used to explain the present application, rather than to limit the present application. It should also be noted that, for the convenience of description, only the part related to the present application but not all the contents are shown in the accompanying drawings. Before discussing the exemplary embodiments in more detail, it should be mentioned that some exemplary embodiments are described as processes or methods depicted as flow charts. Although the flow chart describes each operation (or step) as a sequential process, many of the operations therein can be implemented in parallel, concurrently or simultaneously. In addition, the order of each operation can be rearranged. The process can be terminated when its operation is completed, but it can also have additional steps not included in the accompanying drawings. The process can correspond to a method, a function, a procedure, a subroutine, a subprogram, etc.
[0028] The jitter buffer adjustment method provided in the present application aims to determine a jitter reference value by combining jitter value samples introduced based on a data packet anti-loss strategy and jitter value samples detected based on a set data transmission strategy, and perform jitter buffer adjustment based on the jitter reference value to improve the accuracy of jitter buffer adjustment and improve the smoothness of data playback.
[0029] In relevant audio and video data transmission scenarios, anti-packet loss and anti-jitter processing are generally performed. Common anti-packet loss strategies include ARQ (retransmission after packet loss) and FEC (forward error correction); common audio anti-jitter strategies include NetEQ. In most scenarios, the above anti-packet loss and anti-jitter strategies can achieve better results.
[0030] However, anti-jitter and anti-packet loss are not well coordinated, because NetEQ will perform jitter distribution statistics based on the received packets and select a quantile as an important reference value base_target_level for adjusting the data size in the jitter buffer. In the packet loss scenario with a relatively high rtt (round-trip delay), the anti-packet loss strategy tends to give up retransmission, resulting in relatively less packet loss retransmission data, and relatively fewer network jitter value samples for this part of the data packets. This part of the samples is likely to be ignored when the NetEQ module selects the jitter reference value, and the anti-packet loss and anti-jitter strategies are not linked to each other, resulting in jitter buffer adjustment errors, which in turn causes the jitter buffer to fail to reach the size expected by the anti-packet loss strategy, and data playback is stuck. Based on this, a jitter buffer adjustment method of an embodiment of the present application is provided to solve the technical problem of jitter buffer adjustment errors caused by anti-packet loss strategies.
[0031] Example:
[0032] Figure 1A flow chart of a jitter buffer adjustment method provided in an embodiment of the present application is given. The jitter buffer adjustment method provided in this embodiment can be executed by a jitter buffer adjustment device. The jitter buffer adjustment device can be implemented by software and / or hardware. The jitter buffer adjustment device can be composed of two or more physical entities or one physical entity. Generally speaking, the jitter buffer adjustment device can be a terminal device such as a computer, a mobile phone, or a tablet.
[0033] The following description is made by taking the jitter buffer adjustment device as an example of the main body for executing the jitter buffer adjustment method. Figure 1 , the jitter buffer adjustment method specifically includes:
[0034] S110. Obtain a first network jitter sample set and a second network jitter sample set for data packet transmission within a set time period, wherein the first network jitter sample set is used to store jitter value samples introduced based on a data packet anti-loss strategy, and the second network jitter sample set is used to store jitter value samples detected based on a set data transmission strategy.
[0035] During the jitter buffer adjustment process, the present application determines the jitter value samples introduced based on the data packet anti-packet loss strategy by linking the anti-packet loss strategy, and determines the jitter reference value based on this part of the samples, and then adjusts the jitter buffer based on the jitter reference value.
[0036] Specifically, by configuring a set period for collecting jitter value samples, the start time and end time of the set period are determined. The set period can be set according to actual needs, for example, it can be the past one minute, five minutes, ten minutes, etc. Then, during the data packet transmission process of the set period, the data packet transmission is monitored to collect jitter value samples:
[0037] Among them, when the anti-packet loss strategy is triggered (such as retransmission after data packet loss, forward error correction, etc.), the network jitter caused by these events is recorded. The jitter value can be calculated by comparing the difference between the expected arrival time and the actual arrival time. For retransmitted data packets, the jitter value includes the delay of the original transmission and the additional delay introduced by the retransmission. The calculation method of the jitter value can be set according to actual needs, and there is no fixed restriction here. The jitter value calculated based on the data packet anti-packet loss strategy is used as a sample and stored in the first network jitter sample set in chronological order.
[0038] On the other hand, during the normal transmission of data packets, jitter monitoring is performed according to the set data transmission strategy (such as a fixed sending interval, transmission protocol, etc.). The jitter value is also calculated by comparing the difference between the expected arrival time and the actual arrival time. The jitter value here reflects the real-time status of network transmission. The calculated jitter value is used as a sample and stored in the second network jitter sample set in chronological order. It should be noted that setting a data transmission strategy means that the network status is normal and there is no need to perform a data transmission strategy under the condition of data packet retransmission.
[0039] Each jitter value sample is accompanied by a timestamp for subsequent processing and analysis in chronological order. After the first network jitter sample set and the second network jitter sample set are collected, they can be used for subsequent network status analysis and jitter buffer adjustment.
[0040] Specifically, refer to Figure 2 , the above data packet anti-loss strategy includes:
[0041] S1001, determining the round trip delay of the current data transmission and the time difference between the lost packet data and the first sending of the retransmission request;
[0042] S1002: Compare the set maximum retransmission waiting time based on the round-trip delay and the time difference, and trigger a retransmission request for the lost packet data according to the comparison result.
[0043] During the data packet transmission process, a maximum retransmission wait time max_wait_ms is introduced to relax the restrictions on the retransmission request for data packet loss at the receiving end. By setting a reasonable maximum retransmission wait time, the time can take into account the fluctuation of network delay and the real-time requirements of the application, and reduce data packet loss by increasing the retransmission cost. Every time packet loss is detected, the above-mentioned RTT measurement and time difference calculation are performed. Then, the maximum retransmission wait time set is compared based on the round-trip delay and the time difference. According to the comparison result, if the retransmission condition is met, a retransmission request is sent. When the maximum retransmission wait time set is compared based on the round-trip delay and the time difference, the retransmission request can be triggered based on the difference between the round-trip delay and the time difference and the maximum retransmission wait time, when the difference is less than the set threshold.
[0044] Optionally, based on the round-trip delay and the time difference, a maximum retransmission waiting time is set, and a retransmission request for the packet loss data is triggered according to the comparison result, including:
[0045] When the sum of the round-trip delay and the time difference is less than or equal to the set maximum retransmission waiting time, a retransmission request for the lost packet data is triggered.
[0046] When (rtt+timeElapsed)<=max_wait_ms, a retransmission request for data packet loss is triggered, where timeElapsed is the time difference from the first sending of the retransmission request, and rtt is the round-trip delay.
[0047] This anti-packet loss strategy based on RTT and time difference can effectively deal with the packet loss problem in the network and ensure the integrity and reliability of the data through a reasonable retransmission mechanism. At the same time, the retransmission strategy can be dynamically adjusted according to changes in network conditions to improve the efficiency and stability of data transmission.
[0048] Optionally, the maximum retransmission waiting time is set according to a data transmission scenario type, where the data transmission scenario type includes an interactive live broadcast scenario and a non-interactive live broadcast scenario.
[0049] The setting of the maximum retransmission wait time is crucial to ensure the reliability and real-time performance of data transmission. Depending on the type of data transmission scenario, the maximum retransmission wait time can be adjusted. In interactive live broadcast scenarios, real-time and low latency are the primary considerations. Real-time interaction between viewers and anchors requires extremely low latency in data transmission. Therefore, when setting the maximum retransmission wait time, it is necessary to meet low latency and user experience requirements. In non-interactive live broadcast scenarios, the real-time requirements are relatively low, but the reliability of data transmission is still important. Therefore, when setting the maximum retransmission wait time, it is necessary to ensure data reliability and network stability. Based on this, the present application adjusts the above-mentioned maximum retransmission wait time max_wait_ms according to real-time performance. For example, real-time interactive live broadcast can be set within 400ms, while in non-interactive live viewing scenarios, it can be set to a larger maximum retransmission wait time. In this way, by flexibly setting the maximum retransmission wait time, a balanced adjustment of the reliability and real-time performance of data transmission can be achieved.
[0050] S120: Determine a first reference value based on the first network jitter sample set, determine a second reference value based on the first network jitter sample set and the second network jitter sample set, and select a maximum value between the first reference value and the second reference value as the jitter reference value.
[0051] Further, based on the first network jitter sample set, a reference value is determined using a statistical method (such as calculating the average, median, percentile, etc.) or a set algorithm. This reference value should be able to represent the typical level or a certain critical level of the network jitter in the sample set (such as the 95% percentile indicates that the jitter will not exceed this value in 95% of the time).
[0052] On the other hand, a similar method is used to determine a second reference value by considering both the first network jitter sample set and the second network jitter sample set. The second reference value is intended to capture the jitter conditions in the two sample sets and represent the jitter level that may be encountered under a wider range of network conditions.
[0053] Then the first reference value is compared with the second reference value, and the maximum value is selected as the final jitter reference value. In this way, even in changing network conditions or different scenarios, the jitter reference value can be ensured to be high enough to cope with the maximum possible jitter, thereby protecting the stability and reliability of network services.
[0054] Reference Figure 4 , jitter value sample test distribution, where the horizontal axis is time and the vertical axis is the jitter value. The sample data can be simply divided into two parts, Sample0 is the normal network jitter, that is, the jitter value sample detected based on the set data transmission strategy; Sample1 is the jitter value sample introduced by anti-packet loss (generally speaking, the jitter introduced by anti-packet loss is larger than the normal network jitter). By determining the network jitter sample sets Sample0 and Sample1 from the above, the jitter reference value can be selected.
[0055] Optionally, determining the first reference value based on the first network jitter sample set, and determining the second reference value based on the first network jitter sample set and the second network jitter sample set includes:
[0056] A jitter value sample of a first specified percentile is selected as a first reference value based on the first network jitter sample set, and a jitter value sample of a second specified percentile is selected as a second reference value based on the first network jitter sample set and the second network jitter sample set.
[0057] Based on the network jitter sample sets Sample0 and Sample1 determined above, the formula for determining the first reference value is f(Sample1, N1), the formula for determining the second reference value is f(Sample0+Sample1, N2), and f(s, x) is the x quantile of sample s.
[0058] Similarly, the first specified percentile and the second specified percentile are set according to the data transmission scenario type, which includes an interactive live broadcast scenario and a non-interactive live broadcast scenario. By determining whether the current scene type is an interactive live broadcast scenario or a non-interactive live broadcast scenario, the appropriate percentile can be selected as the first specified percentile and the second specified percentile according to the scene type. For example, N1 and N2 are fixed percentile values. In real-time interactive live broadcast, N1 and N2 can be set to 90%, while in non-interactive live broadcast, N1 and N2 can be set to values closer to 100%. For interactive live broadcast scenarios and non-interactive live broadcast scenarios, these two scenarios have different requirements for real-time and reliability, so appropriate percentiles are selected to determine the jitter reference value to improve the accuracy of jitter buffer adjustment.
[0059] Based on the first reference value and the second reference value determined above, the maximum value of the first reference value and the second reference value is selected as the jitter reference value. The calculation formula of the jitter reference value base_target_level_fix is expressed as follows:
[0060] base_target_level_fix=max(f(Sample0+Sample1,N),f(Sample1,N))
[0061] By combining the jitter value sample data introduced by anti-packet loss into the jitter reference value calculation, the jitter buffer adjustment strategy is combined with the anti-packet loss strategy to reduce the occurrence of late packets. The jitter reference value can be flexibly set according to different data transmission scenario types to ensure the stability and reliability of network services.
[0062] S130 : Compare the real-time jitter buffer length of the jitter buffer area based on the jitter reference value, and adjust the real-time jitter buffer length according to the comparison result.
[0063] In the process of audio and video transmission, the jitter buffer continuously receives and caches data packets to deal with the delay and packet loss caused by network jitter. At this time, by monitoring the current length of the jitter buffer in real time, the real-time jitter buffer length can be obtained by calculating the total time or total number of cached data packets in the buffer.
[0064] The jitter buffer length monitored in real time is then compared with the jitter reference value determined above. According to the comparison result, the system dynamically adjusts the length of the jitter buffer to adapt to changes in network conditions.
[0065] Optionally, adjusting the real-time jitter buffer length according to the comparison result includes:
[0066] S1301: when the jitter reference value is greater than the real-time jitter buffer length, reduce the data playback speed to increase the real-time jitter buffer length;
[0067] S1302: When the jitter reference value is smaller than the real-time jitter buffer length, increase the data playback speed to reduce the real-time jitter buffer length.
[0068] If the jitter reference value is greater than the real-time jitter buffer length, the data playback speed can be reduced, thereby slowing down the data consumption speed of the jitter buffer, thereby increasing the real-time jitter buffer length. If the jitter reference value is less than the real-time jitter buffer length, the data playback speed can be increased, thereby increasing the data consumption speed of the jitter buffer, thereby reducing the real-time jitter buffer length, thereby smoothly outputting audio and video data and reducing freezes and interruptions.
[0069] In this way, the jitter reference value is accurately determined through the jitter value samples introduced by the anti-packet loss strategy, which improves the linkage between anti-packet loss and anti-jitter, ensures that the jitter reference value is calculated accurately, and avoids jitter buffer adjustment deviations caused by calculation errors.
[0070] For example, refer to Figure 5 Taking audio data playback as an example, the network jitter value samples of normal audio data transmission within a period of time and the jitter value samples introduced based on the anti-packet loss strategy are counted. Then, the jitter reference value is selected by combining the two parts of samples with reference to the above jitter reference value calculation process. Based on the jitter reference value comparison with the real-time jitter buffer length, if the jitter reference value ratio is greater than the real-time jitter buffer length, the audio playback speed is reduced; if the jitter reference value ratio is less than the real-time jitter buffer length, the audio playback speed is increased; if the jitter reference value ratio is equal to the real-time jitter buffer length, no jitter buffer adjustment is performed. In this way, adaptive and accurate jitter buffer adjustment is achieved.
[0071] In the above, by obtaining the first network jitter sample set and the second network jitter sample set of data packet transmission within a set time period, the first network jitter sample set is used to store the jitter value samples introduced based on the data packet anti-packet loss strategy, and the second network jitter sample set is used to store the jitter value samples detected based on the set data transmission strategy; the first reference value is determined based on the first network jitter sample set, the second reference value is determined based on the first network jitter sample set and the second network jitter sample set, and the maximum value of the first reference value and the second reference value is selected as the jitter reference value; the real-time jitter buffer length of the jitter buffer is compared based on the jitter reference value, and the real-time jitter buffer length is adjusted according to the comparison result. By adopting the above technical means, by combining the jitter value samples introduced based on the data packet anti-packet loss strategy and the jitter value samples detected based on the set data transmission strategy to determine the jitter reference value, and adjusting the jitter buffer based on the jitter reference value, the jitter buffer can be better combined with the network jitter value introduced by the anti-packet loss strategy to adjust the jitter buffer, improve the accuracy of the jitter buffer adjustment, and thus avoid the situation of data playback jamming, improve the smoothness of data playback, optimize the data transmission effect, and optimize the user experience.
[0072] Based on the above embodiments, Figure 6 This is a schematic diagram of the structure of a jitter buffer adjustment system provided by the present application. Figure 6 The jitter buffer adjustment system provided in this embodiment specifically includes: an acquisition module 21, a selection module 22 and an adjustment module 23.
[0073] Among them, the acquisition module 21 is configured to acquire a first network jitter sample set and a second network jitter sample set of data packet transmission within a set time period, the first network jitter sample set is used to store jitter value samples introduced based on the data packet anti-packet loss strategy, and the second network jitter sample set is used to store jitter value samples detected based on the set data transmission strategy;
[0074] The selection module 22 is configured to determine a first reference value based on the first network jitter sample set, determine a second reference value based on the first network jitter sample set and the second network jitter sample set, and select a maximum value between the first reference value and the second reference value as the jitter reference value;
[0075] The adjustment module 23 is configured to compare the real-time jitter buffer length of the jitter buffer area based on the jitter reference value, and adjust the real-time jitter buffer length according to the comparison result.
[0076] Specifically, the packet loss prevention strategy includes:
[0077] Determine the round-trip delay of the current data transmission and the time difference between the lost packet data and the first retransmission request;
[0078] The maximum retransmission waiting time is set based on the round-trip delay and the time difference, and a retransmission request for the lost packet data is triggered according to the comparison result.
[0079] The maximum retransmission waiting time set based on the round-trip delay and the time difference comparison is used to trigger a retransmission request for the lost packet data according to the comparison result, including:
[0080] When the sum of the round-trip delay and the time difference is less than or equal to the set maximum retransmission waiting time, a retransmission request for the lost packet data is triggered.
[0081] The maximum retransmission waiting time is set according to the data transmission scenario type, and the data transmission scenario type includes an interactive live broadcast scenario and a non-interactive live broadcast scenario.
[0082] Specifically, determining a first reference value based on a first network jitter sample set, and determining a second reference value based on the first network jitter sample set and a second network jitter sample set includes:
[0083] A jitter value sample of a first specified percentile is selected as a first reference value based on the first network jitter sample set, and a jitter value sample of a second specified percentile is selected as a second reference value based on the first network jitter sample set and the second network jitter sample set.
[0084] The first designated percentile and the second designated percentile are set according to a data transmission scenario type, where the data transmission scenario type includes an interactive live broadcast scenario and a non-interactive live broadcast scenario.
[0085] Specifically, adjusting the real-time jitter buffer length according to the comparison result includes:
[0086] When the jitter reference value is greater than the real-time jitter buffer length, the data playback speed is reduced to increase the real-time jitter buffer length;
[0087] When the jitter reference value is smaller than the real-time jitter buffer length, the data playing speed is increased to reduce the real-time jitter buffer length.
[0088] In the above, by obtaining the first network jitter sample set and the second network jitter sample set of data packet transmission within a set time period, the first network jitter sample set is used to store the jitter value samples introduced based on the data packet anti-packet loss strategy, and the second network jitter sample set is used to store the jitter value samples detected based on the set data transmission strategy; the first reference value is determined based on the first network jitter sample set, the second reference value is determined based on the first network jitter sample set and the second network jitter sample set, and the maximum value of the first reference value and the second reference value is selected as the jitter reference value; the real-time jitter buffer length of the jitter buffer is compared based on the jitter reference value, and the real-time jitter buffer length is adjusted according to the comparison result. By adopting the above technical means, by combining the jitter value samples introduced based on the data packet anti-packet loss strategy and the jitter value samples detected based on the set data transmission strategy to determine the jitter reference value, and adjusting the jitter buffer based on the jitter reference value, the jitter buffer can be better combined with the network jitter value introduced by the anti-packet loss strategy to adjust the jitter buffer, improve the accuracy of the jitter buffer adjustment, and thus avoid the situation of data playback jamming, improve the smoothness of data playback, optimize the data transmission effect, and optimize the user experience.
[0089] The jitter buffer adjustment system provided in the embodiment of the present application can be configured to execute the jitter buffer adjustment method provided in the above embodiment, and has corresponding functions and beneficial effects.
[0090] Based on the above practical example, the embodiment of the present application further provides a jitter buffer adjustment device, referring to Figure 7, the jitter buffer adjustment device includes: a processor 31, a memory 32, a communication module 33, an input device 34 and an output device 35. The memory, as a computer-readable storage medium, can be configured to store software programs, computer executable programs and modules, such as program instructions / modules corresponding to the jitter buffer adjustment method described in any embodiment of the present application (for example, an acquisition module, a selection module and an adjustment module in the jitter buffer adjustment system). The communication module is configured to perform data transmission. The processor executes various functional applications and data processing of the device by running the software programs, instructions and modules stored in the memory, that is, implements the above-mentioned jitter buffer adjustment method. The input device can be configured to receive input digital or character information, and generate key signal input related to user settings and function control of the device. The output device may include a display device such as a display screen. The jitter buffer adjustment device provided above can be configured to execute the jitter buffer adjustment method provided in the above-mentioned embodiment, and has corresponding functions and beneficial effects.
[0091] On the basis of the above embodiments, the embodiments of the present application further provide a computer-readable storage medium, wherein the computer-readable storage medium stores computer-executable instructions, wherein the computer-executable instructions are configured to execute a jitter buffer adjustment method when executed by a computer processor, and the storage medium may be any of various types of memory devices or storage devices. Of course, the computer-executable instructions of the computer-readable storage medium provided in the embodiments of the present application are not limited to the jitter buffer adjustment method described above, and may also execute related operations in the jitter buffer adjustment method provided in any embodiment of the present application.
[0092] On the basis of the above embodiments, the embodiments of the present application also provide a computer program product. The technical solution of the present application is essentially or the part that contributes to the prior art or all or part of the technical solution can be embodied in the form of a software product. The computer program product is stored in a storage medium, and includes a number of instructions for enabling a computer device, a mobile terminal or a processor therein to execute all or part of the steps of the jitter buffer adjustment method described in each embodiment of the present application.
Claims
1. A jitter buffer adjustment method, characterized in that: include: Obtain a first network jitter sample set and a second network jitter sample set of data packet transmission within a set time period, wherein the first network jitter sample set is used to store jitter value samples introduced based on a data packet anti-loss strategy, and the second network jitter sample set is used to store jitter value samples detected based on a set data transmission strategy; Determine a first reference value based on the first network jitter sample set, determine a second reference value based on the first network jitter sample set and the second network jitter sample set, and select a maximum value between the first reference value and the second reference value as the jitter reference value; The real-time jitter buffer length of the jitter buffer area is compared based on the jitter reference value, and the real-time jitter buffer length is adjusted according to the comparison result.
2. The jitter buffer adjustment method according to claim 1, characterized in that: The determining a first reference value based on the first network jitter sample set, and determining a second reference value based on the first network jitter sample set and the second network jitter sample set, comprises: A jitter value sample of a first specified percentile is selected as a first reference value based on the first network jitter sample set, and a jitter value sample of a second specified percentile is selected as a second reference value based on the first network jitter sample set and the second network jitter sample set.
3. The jitter buffer adjustment method according to claim 2, characterized in that: The first designated percentile and the second designated percentile are set according to a data transmission scenario type, and the data transmission scenario type includes an interactive live broadcast scenario and a non-interactive live broadcast scenario.
4. The jitter buffer adjustment method according to claim 1, characterized in that: The adjusting the real-time jitter buffer length according to the comparison result includes: When the jitter reference value is greater than the real-time jitter buffer length, reducing the data playback speed to increase the real-time jitter buffer length; When the jitter reference value is smaller than the real-time jitter buffer length, the data playing speed is increased to reduce the real-time jitter buffer length.
5. The jitter buffer adjustment method according to claim 1, characterized in that: The data packet anti-loss strategy includes: Determine the round-trip delay of the current data transmission and the time difference between the lost packet data and the first retransmission request; A maximum retransmission waiting time is set based on the comparison between the round-trip delay and the time difference, and a retransmission request for the lost packet data is triggered according to the comparison result.
6. The jitter buffer adjustment method according to claim 5, characterized in that: The setting of the maximum retransmission waiting time based on the comparison of the round-trip delay and the time difference, and triggering a retransmission request for the lost packet data according to the comparison result, includes: When the sum of the round-trip delay and the time difference is less than or equal to the set maximum retransmission waiting time, a retransmission request for the lost packet data is triggered.
7. The jitter buffer adjustment method according to claim 5, characterized in that: The maximum retransmission waiting time is set according to a data transmission scenario type, and the data transmission scenario type includes an interactive live broadcast scenario and a non-interactive live broadcast scenario.
8. A jitter buffer adjustment system, characterized in that: include: An acquisition module, configured to acquire a first network jitter sample set and a second network jitter sample set of data packet transmission within a set time period, wherein the first network jitter sample set is used to store jitter value samples introduced based on a data packet anti-loss strategy, and the second network jitter sample set is used to store jitter value samples detected based on a set data transmission strategy; a selection module configured to determine a first reference value based on the first network jitter sample set, determine a second reference value based on the first network jitter sample set and the second network jitter sample set, and select a maximum value between the first reference value and the second reference value as a jitter reference value; The adjustment module is configured to compare the real-time jitter buffer length of the jitter buffer area based on the jitter reference value, and adjust the real-time jitter buffer length according to the comparison result.
9. A jitter buffer adjustment device, characterized in that: include: memory and one or more processors; The memory is configured to store one or more programs; When the one or more programs are executed by the one or more processors, the one or more processors implement the jitter buffer adjustment method as described in any one of claims 1-7.
10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer-executable instructions, and when the computer-executable instructions are executed by a computer processor, the computer-executable instructions are configured to execute the jitter buffer adjustment method according to any one of claims 1 to 7.
11. A computer program product, characterized in that The computer program product includes instructions, and when the instructions are executed on a computer or a processor, the computer or the processor executes the jitter buffer adjustment method according to any one of claims 1 to 7.