A jitter delay estimation method, device, equipment, storage medium and product

CN116471401BActive Publication Date: 2026-09-08GUANGZHOU BAIGUOYUAN INFORMATION TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310473880.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-04-27
Publication Date
2026-09-08
Estimated Expiration
2043-04-27

AI Technical Summary

Technical Problem

[0004]本申请实施例提供一种抖动延时估算方法、装置、设备、存储介质及产品,以解决相关技术中抖动延时的估算准确度较差的技术问题,有效提高对抖动延时的估算准确度

Benefits of technology

[0018] This application embodiment determines the basic delay time of an image frame and the additional delay time corresponding to out-of-order frames or abnormal transmission frames, and determines the target delay time based on the basic delay time and the additional delay time. The basic delay time takes into account the delay caused by frame size changes and network noise, and the additional delay time takes into account the delay caused by out-of-order frames or abnormal transmission frames. It covers jitter caused by frame size changes, network noise, out-of-order frame arrival and frame transmission anomalies, and estimates jitter delay more comprehensively and accurately, thereby improving the accuracy of jitter delay estimation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116471401B_ABST
    Figure CN116471401B_ABST
Patent Text Reader

Abstract

Embodiments of the present application provide a jitter delay estimation method, device, equipment, storage medium and product. The technical solution provided by the embodiments of the present application determines the basic delay time of the image frame, and the corresponding additional delay time in the case that the image frame is an out-of-order frame or an abnormal transmission frame, and determines the target delay time based on the basic delay time and the additional delay time. The basic delay time takes into account the delay caused by frame size change and network noise, and the additional delay time takes into account the delay caused by out-of-order frames or abnormal transmission frames. The jitter delay is covered by frame size change, network noise, frame out-of-order arrival and frame abnormal transmission, which more comprehensively and accurately estimates the jitter delay and improves the estimation accuracy of the jitter delay.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of communication technology, and in particular to a jitter delay estimation method, apparatus, device, storage medium, and product. Background Technology

[0002] In live video streaming scenarios, to ensure smooth video playback, some video frames are typically buffered to combat network jitter. For example, buffering video frames by setting a delay time can effectively improve video playback smoothness.

[0003] Latency is typically set based on estimated jitter latency. Determining a reasonable buffer length is a key factor in balancing smooth video playback and real-time performance. A buffer that is too low for the estimated latency cannot effectively combat network jitter, while a buffer that is too high will increase playback delay. Currently, jitter latency is generally estimated simply based on the enqueue time difference between consecutive video frames, resulting in poor accuracy. Summary of the Invention

[0004] This application provides a jitter delay estimation method, apparatus, device, storage medium, and product to solve the technical problem of poor jitter delay estimation accuracy in related technologies, and effectively improve the estimation accuracy of jitter delay.

[0005] In a first aspect, embodiments of this application provide a jitter delay estimation method, including:

[0006] Determine the base delay time corresponding to the image frame, the base delay time including a first delay time caused by frame size change and a second delay time caused by network noise;

[0007] In the case that the image frame is an out-of-order frame or a transmission error frame, the additional delay time corresponding to the image frame is determined, and the additional delay time includes a third delay time caused by the out-of-order frame or a fourth delay time caused by the transmission error frame.

[0008] The target delay time is determined based on the base delay time and the additional delay time.

[0009] In a second aspect, embodiments of this application provide a jitter latency estimation device, including a basic latency module, an additional latency module, and a latency estimation module, wherein:

[0010] The basic delay module is configured to determine the basic delay time corresponding to the image frame. The basic delay time includes a first delay time caused by frame size changes and a second delay time caused by network noise.

[0011] The additional delay module is configured to determine the additional delay time corresponding to the image frame when the image frame is an out-of-order frame or a transmission abnormal frame. The additional delay time includes a third delay time caused by the out-of-order frame or a fourth delay time caused by the transmission abnormal frame.

[0012] The delay estimation module is configured to determine the target delay time based on the base delay time and the additional delay time.

[0013] In a third aspect, embodiments of this application provide a jitter latency estimation device, including: a memory and one or more processors;

[0014] The memory is used to store one or more programs;

[0015] When the one or more programs are executed by the one or more processors, the one or more processors implement the jitter delay estimation method as described in the first aspect.

[0016] In a fourth aspect, embodiments of this application provide a non-volatile storage medium for storing computer-executable instructions, which, when executed by a computer processor, are used to perform the jitter delay estimation method as described in the first aspect.

[0017] In a fifth aspect, embodiments of this application provide a computer program product comprising a computer program stored in a computer-readable storage medium, wherein at least one processor of the device reads from the computer-readable storage medium and executes the computer program, causing the device to perform the jitter delay estimation method as described in the first aspect.

[0018] This application embodiment determines the basic delay time of an image frame and the additional delay time corresponding to out-of-order frames or abnormal transmission frames, and determines the target delay time based on the basic delay time and the additional delay time. The basic delay time takes into account the delay caused by frame size changes and network noise, and the additional delay time takes into account the delay caused by out-of-order frames or abnormal transmission frames. It covers jitter caused by frame size changes, network noise, out-of-order frame arrival and frame transmission anomalies, and estimates jitter delay more comprehensively and accurately, thereby improving the accuracy of jitter delay estimation. Attached Figure Description

[0019] Figure 1 This is a flowchart of a jitter delay estimation method provided in an embodiment of this application;

[0020] Figure 2 This is a flowchart of another jitter delay estimation method provided in the embodiments of this application;

[0021] Figure 3This is a schematic diagram of a first delay time determination process provided in an embodiment of this application;

[0022] Figure 4 This is a schematic diagram of a second delay time determination process provided in an embodiment of this application;

[0023] Figure 5 This is a schematic diagram of the structure of a jitter delay estimation device provided in an embodiment of this application;

[0024] Figure 6 This is a schematic diagram of the structure of a jitter delay estimation device provided in an embodiment of this application. Detailed Implementation

[0025] To make the objectives, technical solutions, and advantages of this application clearer, specific embodiments of this application will be described in further detail below with reference to the accompanying drawings. It should be understood that the specific embodiments described herein are merely for explaining this application and not for limiting it. It should also be noted that, for ease of description, only the parts relevant to this application are shown in the drawings, not all of them. Before discussing exemplary embodiments in more detail, it should be mentioned that some exemplary embodiments are described as processes or methods depicted as flowcharts. Although the flowcharts describe operations (or steps) as sequential processes, many of these operations can be performed in parallel, concurrently, or simultaneously. Furthermore, the order of the operations can be rearranged. The process can be terminated when its operation is completed, but additional steps not included in the drawings may also be present. The above processes can correspond to methods, functions, procedures, subroutines, subroutines, etc.

[0026] The jitter latency estimation method provided in this application can be applied to video live streaming scenarios, such as jitter latency estimation in multi-person video room scenarios. It aims to determine the target latency by considering the basic latency of image frames and the additional latency corresponding to out-of-order or abnormally transmitted frames. This effectively covers jitter caused by frame size changes, network noise, out-of-order frame arrival, and abnormal frame transmission, providing a more comprehensive and accurate jitter latency estimation and improving the accuracy of jitter latency estimation. Traditional jitter latency estimation schemes generally involve: 1. Updating the jitter estimation algorithm based on the frame delay (FramePushTimeGap, e.g., determined by the enqueue time difference) and the current frame size, and obtaining a jitter latency estimate (JitterBufferEstimate); 2. Updating the peak detection strategy based on the frame delay and jitter latency estimate to obtain additional jitter latency, which is then added to the jitter latency estimate; 3. Linearly amplifying the jitter latency estimate according to configured parameters to obtain the final jitter latency estimate. However, due to network conditions, existing jitter latency estimation schemes overlay unnecessary estimates when the network is good, while the overlaid estimates are insufficient when the network is poor, failing to adapt well to network conditions and resulting in poor jitter latency estimation accuracy. Therefore, this application provides a jitter latency estimation method according to an embodiment of the present application to solve the technical problem of poor jitter latency estimation accuracy in existing jitter latency estimation schemes.

[0027] Figure 1 A flowchart of a jitter delay estimation method provided in an embodiment of this application is given. The jitter delay estimation method provided in this embodiment of the application can be executed by a jitter delay estimation device, which can be implemented by hardware and / or software and integrated into a jitter delay estimation device.

[0028] The following description uses a jitter delay estimation device to perform a jitter delay estimation method as an example. (Reference) Figure 1 The jitter delay estimation method includes:

[0029] S110: Determine the base delay time corresponding to the image frame. The base delay time includes a first delay time caused by frame size changes and a second delay time caused by network noise.

[0030] The image frames provided in this solution can be understood as video stream image frames received by the jitter latency estimation device. For example, when the jitter latency estimation device is used in a multi-person video room scenario with live video streaming, it receives the video stream sent by the server in real time and performs jitter latency estimation based on the video frames in the video stream.

[0031] For example, after receiving an image frame, a base delay time for that image frame is determined, wherein the base delay time includes a first delay time and a second delay time. Optionally, the first delay time may be determined based on the change in frame size of the image frame relative to the previous image frame; that is, the first delay time can be understood as the delay time caused by the change in frame size between the received and received image frames. The second delay time may be determined based on network noise (which may be network noise caused by network transmission rate or network queuing delay); that is, the second delay time can be understood as the delay time caused by network noise during network transmission.

[0032] S120: In the case that the image frame is an out-of-order frame or a transmission error frame, determine the additional delay time corresponding to the image frame. The additional delay time includes a third delay time caused by the out-of-order frame or a fourth delay time caused by the transmission error frame.

[0033] It needs to be explained that the out-of-order frames provided in this solution can be understood as image frames that did not arrive according to their sequence numbers. Normally, image frames are sent sequentially according to their sequence numbers. However, due to network, equipment, and other reasons, some image frames may arrive at the receiving end out of order (i.e., out-of-order arrival). In this case, the out-of-order image frames are called out-of-order frames. Transmission error frames can be understood as image frames that arrive in sequence, but are received within a higher jitter range.

[0034] For example, it is determined whether an image frame is an out-of-order frame or a transmission error frame, and when the image frame is an out-of-order frame or a transmission error frame, the additional delay time corresponding to that image frame is determined. The additional delay time provided by this solution includes a third delay time caused by the out-of-order frame or a fourth delay time caused by the transmission error frame. That is, when the image frame is an out-of-order frame, the third delay time caused by the out-of-order frame is determined, and this third delay time is the additional delay time corresponding to the current image frame; while when the image frame is a transmission error frame, the fourth delay time caused by the transmission error frame is determined, and this fourth delay time is the additional delay time corresponding to the current image frame.

[0035] S130: Determine the target delay time based on the base delay time and the additional delay time.

[0036] For example, after determining the base delay time and the additional delay time, the target delay time corresponding to the current image frame is determined based on the base delay time and the additional delay time. Determining the target delay time based on the base delay time and the additional delay time can be achieved by adding the base delay time and the additional delay time together, or by weighting and summing the base delay time and the additional delay time according to a set proportional coefficient.

[0037] In one possible embodiment, when the image frame is neither an out-of-order frame nor a transmission error frame, the target delay time is determined based on the base delay time, and there is no need to determine an additional delay time. In another possible embodiment, after determining the target delay time, the delay time of the video frame can be adjusted based on the target delay time, thereby more accurately adjusting the video frame buffer duration to combat network jitter and effectively improve video playback smoothness.

[0038] The above method determines the basic delay time of an image frame and the additional delay time corresponding to out-of-order or abnormally transmitted image frames. The target delay time is then determined based on the basic and additional delay times. The basic delay time takes into account the delay caused by frame size changes and network noise, while the additional delay time takes into account the delay caused by out-of-order or abnormally transmitted frames. This method covers jitter caused by frame size changes, network noise, out-of-order arrival of frames, and abnormal frame transmission, thus providing a more comprehensive and accurate estimate of jitter delay and improving the accuracy of jitter delay estimation.

[0039] Based on the above embodiments, Figure 2 A flowchart of another jitter delay estimation method provided in an embodiment of this application is given, which is a concretization of the jitter delay estimation method described above. (Reference) Figure 2 The jitter delay estimation method includes:

[0040] S210: Determine the first delay time corresponding to the image frame based on the frame size of the image frame, the first maximum size associated with the previous image frame, and the first average size.

[0041] When determining the basic delay time corresponding to an image frame, this scheme can determine the first delay time based on the frame size change and the second delay time based on the network noise, and then determine the basic delay time based on the first delay time and the second delay time.

[0042] For example, the frame size of the current image frame, as well as the first maximum size and first average size associated with the previous image frame, are obtained. It should be explained that the previous image frame provided in this solution is the image frame targeted in the previous jitter delay estimation, and the second maximum size and second average size determined in the previous jitter delay estimation are the first maximum size and first average size associated with the previous image frame in the current jitter delay estimation. It can be understood that after completing the current jitter delay estimation, the second maximum size and second average size of the current image frame determined in this estimation will be the first maximum size and first average size associated with the current image frame in the next jitter delay estimation.

[0043] Furthermore, based on the frame size of the current image frame, the first maximum size associated with the previous image frame, and the first average size, the first delay time caused by the frame size change corresponding to the current image frame is calculated.

[0044] In one possible embodiment, such as Figure 3 As shown in the schematic diagram of the first delay time determination process, the jitter delay estimation method provided in this solution, when determining the first delay time corresponding to an image frame based on the frame size of the image frame, the first maximum size associated with the previous image frame, and the first average size, includes:

[0045] S211: Determine the second maximum size of the image frame from the frame size of the image frame and the first maximum size associated with the previous image frame based on the first smoothing coefficient.

[0046] S212: Determine the second average size corresponding to the image frame based on the second smoothing coefficient, the third smoothing coefficient, the frame size of the image frame, and the first average size associated with the previous image frame.

[0047] S213: Determine the first delay time corresponding to the image frame based on the second maximum size, the second average size, and the first delay time calculation parameters.

[0048] For example, a second maximum size corresponding to the current image frame is determined from the frame size of the image frame and the first maximum size associated with the previous image frame, based on a set first smoothing coefficient. The second maximum size corresponding to the current image frame will be used as the first maximum size associated with that image frame in the next jitter delay estimation.

[0049] In one embodiment, when determining the second maximum size corresponding to an image frame based on the frame size of the image frame and the first maximum size associated with the previous image frame using a first smoothing coefficient, the maximum value among the product of the first smoothing coefficient and the first maximum size associated with the previous image frame, and the frame size of the image frame, can be determined as the second maximum size corresponding to the current image frame. For example, the second maximum size corresponding to an image frame can be determined based on the following formula:

[0050] maxFrameSize2=max(a*maxFrameSize1,curFrameSize)

[0051] Where maxFrameSize2 is the second maximum size corresponding to the image frame, maxFrameSize1 is the first maximum size associated with the previous image frame, curFrameSize is the frame size of the image frame, and a is a pre-set first smoothing coefficient, for example, a = 0.9999.

[0052] Furthermore, the second average size corresponding to the current image frame is determined based on the set second smoothing coefficient, third smoothing coefficient, frame size of the image frame, and the first average size associated with the previous image frame. The second average size corresponding to the current image frame will be used as the first average size associated with that image frame in the next jitter delay estimation.

[0053] In one embodiment, when determining the second average size corresponding to an image frame based on a second smoothing coefficient, a third smoothing coefficient, the frame size of the image frame, and a first average size associated with the previous image frame, it can be determined by summing the product of the second smoothing coefficient and the first average size associated with the previous image frame, and the product of the third smoothing coefficient and the frame size of the image frame. For example, the second average size corresponding to an image frame can be determined based on the following formula for determining the second average size:

[0054] avgFrameSize2=a2*avgFrameSize1+a3*curFrameSize

[0055] Where avgFrameSize2 is the second average size corresponding to the image frame, avgFrameSize1 is the first average size associated with the previous image frame, a2 is a pre-set second smoothing coefficient, for example a2 = 0.97, and a3 is a pre-set third smoothing coefficient, for example a3 = 0.03.

[0056] Furthermore, the first delay time corresponding to the current image frame is determined based on the second maximum size, the second average size, and the first delay time calculation parameters determined above. The first delay time calculation parameters provided by this scheme can be determined based on the network transmission rate during the video frame transmission process.

[0057] In one embodiment, when determining the first delay time corresponding to an image frame based on the second maximum size, the second average size, and the first delay time calculation parameter, it can be determined by multiplying the difference between the second maximum size and the second average size with the first delay time calculation parameter. For example, the formula for calculating the first delay time corresponding to an image frame is: DT11 = (maxFrameSize - avgFrameSize) * Theta[0], where Theta[0] is the first delay time calculation parameter.

[0058] This scheme accurately determines the second maximum size and the first average size of the image frame by using the first smoothing coefficient, the second smoothing coefficient, the third smoothing coefficient, the frame size of the image frame, and the first maximum size and the second average size associated with the previous image frame. It also accurately determines the first delay time of the image frame based on the second maximum size, the second average size, and the first delay time calculation parameter determined based on the network transmission rate. This allows for a more accurate estimation of the first delay time caused by changes in frame size, thus improving the accuracy of jitter delay estimation.

[0059] S220: Determine the second delay time corresponding to the image frame based on the frame delay of the image frame relative to the previous image frame, the size difference of the first frame, the first delay time calculation parameters, the second delay time calculation parameters, and the update coefficient.

[0060] For example, the frame delay (FrameDelay) of an image frame relative to the previous image frame is determined. The frame delay can be determined based on the difference between the arrival time difference of the current image frame relative to the previous image frame and the difference between the acquisition time difference of the current image frame relative to the previous image frame. That is, FrameDelay = arrival time difference of the current image frame relative to the previous image frame - acquisition time difference of the current image frame relative to the previous image frame. The acquisition time can be the generation time of the image frame (the current image frame and the previous image frame), such as the time when the camera acquires the corresponding image frame.

[0061] Furthermore, the frame sizes of the current image frame and the previous image frame are determined, and the first frame size difference between the current image frame and the previous image frame is determined. Further, the second delay time corresponding to the current image frame is determined based on the frame delay between the current image frame and the previous image frame, the first frame size difference, the first delay time calculation parameters, the second delay time calculation parameters, and the update coefficient.

[0062] In this scheme, the first delay time calculation parameter can be determined based on the network transmission rate, and the second delay time calculation parameter can be determined based on the network queuing delay. In one embodiment, the first delay time calculation parameter can be determined based on a Kalman filter estimation of the network transmission rate during image frame transmission (for example, the first delay time can be determined based on the reciprocal of the channel transmission rate), and the second delay time calculation parameter can be determined based on a Kalman filter estimation of the network queuing delay during image frame transmission.

[0063] In one possible embodiment, such as Figure 4A schematic diagram of a second delay time determination process is provided. The jitter delay estimation method provided in this solution, when determining the second delay time corresponding to an image frame based on the frame delay of the image frame relative to the previous image frame, the size difference of the first frame, the first delay time calculation parameters, the second delay time calculation parameters, and the update coefficient, includes:

[0064] S221: Determine the first noise deviation of the image frame based on the frame delay of the image frame relative to the previous image frame, the first frame size difference, the first delay time calculation parameter, and the second delay time calculation parameter.

[0065] For example, the frame size of the current image frame and the previous image frame are determined, and the first frame size difference of the image frame relative to the previous image frame is calculated based on the frame size of the current image frame and the previous image frame.

[0066] Furthermore, the first noise deviation corresponding to the current image frame is determined based on the frame delay of the image frame relative to the previous image frame, the first frame size difference, the first delay time calculation parameter, and the second delay time calculation parameter.

[0067] In one possible embodiment, when determining the first noise deviation based on the frame delay, the first frame size difference, the first delay time calculation parameter, and the second delay time calculation parameter, this solution may determine it based on the difference between the sum of the frame delay, the product of the first delay time calculation parameter and the first frame size difference, and the second delay time calculation parameter. For example, the first noise deviation of an image frame can be determined based on the following first noise deviation calculation formula:

[0068] D_DT1=FrameDelay-(Theta[0]*DeltaFS+Theta[1])

[0069] Where D_DT1 is the first noise deviation of the image frame, FrameDelay is the frame delay of the image frame relative to the previous image frame, DeltaFS is the first frame size difference of the image frame relative to the previous image frame, Theta[0] is the first delay time calculation parameter, and Theta[1] is the second delay time calculation parameter.

[0070] S222: Determine the second average network noise of the image frame based on the update coefficient, the first average network noise associated with the previous image frame, and the first noise deviation.

[0071] For example, an update coefficient and the first average network noise associated with the previous image frame are determined. The update coefficient is related to the frame rate of the image frame, and the lower the frame rate of the image frame, the smaller the corresponding update coefficient, indicating that the current noise is larger and the noise variance is more affected by the current noise. It should be explained that the previous image frame provided in this solution is the image frame used in the previous jitter delay estimation, and the second average network noise determined in the previous jitter delay estimation is the first average network noise associated with the previous image frame in the current jitter delay estimation. It can be understood that after completing the current jitter delay estimation, the second average network noise of the current image frame determined in this calculation will be the first average network noise associated with the current image frame in the next jitter delay estimation.

[0072] Furthermore, the second average network noise of the current image frame is determined based on the update coefficients, the first average network noise associated with the previous image frame, and the first noise deviation. In one embodiment, when determining the second average network noise of the current image frame based on the update coefficients, the first average network noise associated with the previous image frame, and the first noise deviation, it can be calculated by weighted summation of the first average network noise and the first noise deviation based on the update coefficients. For example, the second average network noise of the current image frame can be determined based on the following second average network noise calculation formula:

[0073] avgNoise2=alpha*avgNoise1+(1-alpha)*D_DT1

[0074] Where avgNoise2 is the second average network noise of the current image frame, avgNoise1 is the first average network noise associated with the previous image frame, alpha is the update coefficient, and D_DT1 is the first noise deviation of the image frame.

[0075] S223: Determine the second network noise variance of the image frame based on the update coefficient, the first network noise variance associated with the previous image frame, the second average network noise, and the first noise bias.

[0076] For example, the first network noise variance associated with the previous image frame is determined. It should be explained that the previous image frame provided in this solution is the image frame used in the previous jitter delay estimation, and the second network noise variance determined in the previous jitter delay estimation is the first network noise variance associated with the previous image frame in the current jitter delay estimation. It can be understood that after completing the current jitter delay estimation, the second network noise variance of the current image frame determined in this calculation will be the first network noise variance associated with the current image frame in the next jitter delay estimation.

[0077] Furthermore, the second network noise variance of the current image frame is determined based on the aforementioned determined update coefficients, the first network noise variance, the second average network noise, and the first noise deviation. In one possible embodiment, when determining the second network noise variance of the image frame based on the update coefficients, the first network noise variance, the second average network noise, and the first noise deviation, it can be obtained by weighted averaging the update coefficients with the squares of the differences between the first network noise variance and the first noise deviation and the second average network noise. For example, the second network noise variance of the image frame can be determined based on the following second network noise variance calculation formula:

[0078] varNoise2=alpha*varNoise1+(1-alpha)*(D_DT1-avgNoise2) 2

[0079] Where varNoise2 is the second network noise variance of the image frame, varNoise1 is the first network noise variance associated with the previous image frame, D_DT1 is the first noise bias of the image frame, avgNoise2 is the second average network noise of the current image frame, and alpha is the update coefficient.

[0080] S224: Determine the second delay time corresponding to the image frame based on the second network noise variance, the first scaling factor, and the adjustment factor.

[0081] For example, the second delay time corresponding to the current image frame is determined based on the second network noise variance determined above, the preset first scaling factor, and the adjustment factor. In one embodiment, the second delay time can be determined based on the difference between the product of the second network noise variance and the first scaling factor and the adjustment factor. For example, the formula for calculating the second delay time corresponding to the image frame is: DT12 = b1 * sqrt(varNoise2) - c, where b1 is the first scaling factor, for example b1 = 2.33, c is the adjustment factor, for example c = 30, and sqrt() is the square root calculation.

[0082] This solution accurately determines the first noise deviation of an image frame based on frame delay, first frame size difference, first delay time calculation parameters, and second delay time calculation parameters; accurately determines the second average network noise based on update coefficient, first average network noise, and first noise deviation; and accurately determines the second delay time based on second network noise variance, first proportionality coefficient, and adjustment coefficient. This allows for a more accurate estimation of the second delay time caused by network noise, thus improving the accuracy of jitter delay estimation.

[0083] S230: Determine the base delay time corresponding to the image frame based on the first delay time and the second delay time.

[0084] For example, after determining the first delay time and the second delay time, the base delay time corresponding to the current image frame is determined based on the first delay time and the second delay time. In one embodiment, the base delay time corresponding to the image frame can be determined based on the sum of the first delay time and the second delay time: DT1 = DT11 + DT12, where DT11 is the first delay time and DT12 is the second delay time.

[0085] This solution accurately determines the first delay time caused by frame size changes based on the frame size, the first maximum size, and the first average size of the image frame; accurately determines the second delay time caused by network noise based on the frame delay, the first frame size difference, the first delay time calculation parameters, the second delay time calculation parameters, and the update coefficient; and determines the base delay time caused by frame size changes and network noise based on the first and second delay times, thereby improving the accuracy of jitter delay estimation.

[0086] S240: In the case that the image frame is an out-of-order frame or a transmission error frame, determine the additional delay time corresponding to the image frame. The additional delay time includes a third delay time caused by the out-of-order frame or a fourth delay time caused by the transmission error frame.

[0087] In one possible embodiment, the jitter delay estimation method provided by this solution, before determining the additional delay time corresponding to the image frame when the image frame is an out-of-order frame or a transmission abnormal frame, further includes: determining whether the image frame is an out-of-order frame based on the frame sequence number of the image frame; and determining whether the image frame is a transmission abnormal frame based on the first noise deviation, the second network noise variance, and the second scaling factor of the image frame when the image frame is not an out-of-order frame.

[0088] For example, the frame number of the currently received image frame and the frame number of the previously received image frames are determined. Based on the comparison of frame numbers between image frames, it is determined whether the currently received image frame is out of order. Generally, if there is a frame number among the previously received image frames that is less than the frame number of the currently received image frame, the current image frame is considered out of order; otherwise, it is considered not out of order. When an image frame is determined to be out of order, a third delay time caused by the out-of-order frame can be determined, thereby determining the additional delay time corresponding to the current image frame.

[0089] Furthermore, when the image frame is not an out-of-order frame, the first noise deviation, the second network noise variance, and the second proportional coefficient of the image frame are used to determine whether the image frame is a transmission abnormal frame. When determining whether the image frame is a transmission abnormal frame, the fourth delay time caused by the transmission abnormal frame can be determined, thereby determining the additional delay time corresponding to the current image frame.

[0090] In one embodiment, when determining whether an image frame is a transmission anomaly frame, it can be determined whether a first noise deviation is greater than the product of a second proportional coefficient and a second network noise variance. For example, it can be determined whether D_DT exceeds b2*sqrt(varNoise2), where b2 is a pre-set second proportional coefficient, for example, b2=15. When the first noise deviation is greater than the product of the second proportional coefficient and the second network noise variance, the image frame is considered a transmission anomaly frame. When the first noise deviation is within the product of the second proportional coefficient and the second network noise variance, the image frame is considered not a transmission anomaly frame, and no additional delay time needs to be calculated. In one embodiment, the determination of whether an image frame is an out-of-order frame can be performed after determining the first delay time corresponding to the image frame, and the determination of whether an image frame is a transmission anomaly frame can be performed after determining that the image frame is not an out-of-order frame and after determining the delay time calculation parameters.

[0091] This solution accurately determines out-of-order frames based on the frame sequence number of the image frame, and accurately determines abnormal transmission frames based on the first noise deviation, the second network noise variance, and the second proportional coefficient of the image frame, thereby determining whether additional delay time needs to be calculated, effectively improving the efficiency and accuracy of jitter delay estimation.

[0092] In one possible embodiment, the jitter delay estimation method provided by this solution, when determining the additional delay time corresponding to an image frame in the case that the image frame is an out-of-order frame or a frame with transmission abnormality, includes:

[0093] S241: In the case that the image frame is out of order, determine the third delay time caused by the out-of-order frame, and determine the additional delay time corresponding to the image frame based on the third delay time.

[0094] For example, when an image frame is determined to be an out-of-order frame, a third delay time caused by the out-of-order frame is determined, and the third delay time is determined as the additional delay time corresponding to the current image frame.

[0095] In one possible embodiment, the jitter delay estimation method provided by this solution, when determining the third delay time caused by the out-of-order frames in the case of out-of-order image frames, includes:

[0096] S2411: Determine the second noise deviation of the image frame based on the frame delay of the image frame relative to the previous image frame, the set second frame size difference, the first delay time calculation parameter, and the second delay time calculation parameter. The first delay time calculation parameter is determined based on the network transmission rate, and the second delay time calculation parameter is determined based on the network queuing delay.

[0097] S2412: Based on the second noise deviation and the second delay time, determine the third delay time caused by the out-of-order frames.

[0098] In this scheme, the first delay time calculation parameter is determined based on the network transmission rate, and the second delay time calculation parameter is determined based on the network queuing delay. For example, the second noise deviation of the current image frame is calculated based on the frame delay of the image frame relative to the previous image frame, the set second frame size difference, the first delay time calculation parameter, and the second delay time calculation parameter.

[0099] In one possible embodiment, when determining the second noise deviation based on the frame delay, the second frame size difference, the first delay time calculation parameter, and the second delay time calculation parameter, this solution may determine it based on the difference between the sum of the frame delay and the product of the first delay time calculation parameter and the second frame size difference, and the sum of the second delay time calculation parameter. For example, the second noise deviation of an image frame can be determined based on the following second noise deviation calculation formula:

[0100] D_DT2=FrameDelay-(Theta[0]*DeltaFS+Theta[1])

[0101] Where D_DT2 is the second noise deviation of the image frame, FrameDelay is the frame delay of the image frame relative to the previous image frame, DeltaFS is the set frame size difference, for example, DeltaFS=0, Theta[0] is the first delay time calculation parameter, and Theta[1] is the second delay time calculation parameter.

[0102] Furthermore, a third delay time caused by out-of-order frames is determined based on the second noise deviation and the second delay time determined above. In one embodiment, the third delay time can be determined by the difference between the second noise deviation and the second delay time, for example, the third delay time DT21 = D_DT2 - DT12, where D_DT2 is the second noise deviation, DT12 is the second delay time, and DT12 = b1 * sqrt(varNoise2) - c, where b1 is a set first proportional coefficient and c is a set adjustment coefficient.

[0103] This solution determines the second noise deviation of an image frame based on the frame delay, the second frame size difference, the first delay time calculation parameter, and the second delay time calculation parameter. It then accurately determines the third delay time caused by out-of-order frames based on the second noise deviation and the second delay time, effectively covering the jitter caused by out-of-order frame arrival. This provides a more comprehensive and accurate estimate of jitter delay, thus improving the accuracy of jitter delay estimation.

[0104] S242: In the case that the image frame is a transmission error frame, determine the fourth delay time caused by the transmission error frame, and determine the additional delay time corresponding to the image frame based on the fourth delay time.

[0105] For example, when an image frame is determined to be a transmission error frame, a fourth delay time caused by the transmission error frame is determined, and this fourth delay time is set as the additional delay time corresponding to the current image frame. This solution effectively covers the jitter caused by out-of-order arrival of frames and frame transmission errors by determining whether the image frame is an out-of-order frame or a transmission error frame to be used as the additional delay time, thus providing a more comprehensive and accurate estimate of jitter delay and improving the accuracy of jitter delay estimation.

[0106] In one possible embodiment, when the jitter delay estimation method provided by this solution determines the fourth delay time caused by the abnormal transmission frame in the case that the image frame is a transmission abnormal frame, it may be as follows: when the image frame is a transmission abnormal frame, the fourth delay time caused by the abnormal transmission frame is determined based on the first noise deviation, the second network noise variance, and the second scaling factor of the image frame.

[0107] For example, when an image frame is determined to be a transmission anomaly frame, a fourth delay time caused by the transmission anomaly frame is determined based on a first noise deviation, a second network noise variance, and a second scaling factor. In one embodiment, the difference between the product of the first noise deviation and the second scaling factor and the second network noise variance can be used as the fourth delay time. For example, the fourth delay time DT22 = D_DT - b2 * sqrt(varNoise2), where D_DT is the first noise deviation, varNoise2 is the second network noise variance, and b2 is a pre-set second scaling factor.

[0108] This solution accurately determines the fourth delay time caused by abnormal transmission frames by using the first noise deviation, the second network noise variance, and the second proportionality coefficient. It effectively covers the jitter caused by abnormal transmission frames, and estimates jitter delay more comprehensively and accurately, thereby improving the accuracy of jitter delay estimation.

[0109] S250: Determine the target delay time based on the base delay time and the additional delay time.

[0110] In one possible embodiment, the jitter delay estimation method provided by this solution, after determining the additional delay time corresponding to the image frame when the image frame is an out-of-order frame or a transmission abnormal frame, further includes: adding the additional delay time and the recording time to the additional delay queue corresponding to the additional delay time of the image frame.

[0111] For example, the jitter latency estimation device provided in this solution is configured with an extra delay queue (ExtraDelaySeries) for recording the extra delay time and recording time corresponding to multiple image frames (the current image frame and multiple previous image frames). In each jitter latency estimation process, when determining the extra delay time corresponding to an image frame in the case of an out-of-order frame or a frame with transmission abnormality, the current time is determined and used as the recording time, and the extra delay time and the corresponding recording time are added to the extra delay queue.

[0112] In one embodiment, the jitter latency estimation method provided by this solution, when determining the target latency based on the base latency and the additional latency, includes:

[0113] S251: Within a time interval of a set time length, based on multiple additional delay times recorded in the additional delay queue and their corresponding recording times, determine additional delay samples that decay over time corresponding to multiple additional delay times.

[0114] S252: Determine the target additional delay time from multiple additional delay samples, and determine the target delay time based on the base delay time and the target additional delay time.

[0115] For example, multiple additional delay times and their corresponding recording times are obtained from the additional delay queue within a time interval of a set time length, and based on the obtained multiple additional delay times and their corresponding recording times, additional delay samples corresponding to the obtained multiple additional delay times that decay over time are determined.

[0116] For example, assuming the current time is Tnow and the set time length is N seconds (e.g., 10 seconds), the time interval is [Tnow-N, Tnow]. Additional delay times within [Tnow-N, Tnow] are retrieved from the additional delay queue, and additional delay samples corresponding to these additional delay times are determined based on the set time decay processing strategy. For example, an additional delay sample can be represented as: Xn*(Tn-(Tnow-N)) / N, where n is the nth additional delay time retrieved, Xn is the nth additional delay time retrieved, and Tn is the record time corresponding to the nth additional delay time retrieved.

[0117] Furthermore, the multiple additional delay samples identified above are sorted, and the target additional delay time is determined from these multiple additional delay samples. Optionally, the target additional delay time can be determined from the sorted additional delay samples according to a set position, for example, the additional delay sample at the 95th percentile of the sorted samples can be used as the target additional delay time.

[0118] Furthermore, the target delay time is determined based on the base delay time and the target additional delay time determined above. For example, the sum of the base delay time and the target additional delay time is used as the target delay time corresponding to the current image frame.

[0119] This solution records the additional delay time and recording time corresponding to each image frame through an additional delay queue. This facilitates the determination of multiple additional delay samples corresponding to multiple additional delay times based on the multiple additional delay times and their corresponding recording times recorded in the additional delay queue. The target additional delay time is then determined from these multiple additional delay samples. The target additional delay time effectively covers jitter caused by out-of-order frame arrival and frame transmission anomalies, providing a more comprehensive and accurate estimate of jitter latency. Furthermore, the recorded additional delay time decays over time, more reasonably balancing the impact of the additional delay times corresponding to different image frames on the target additional delay time. The change in the target additional delay time is smoother, improving the accuracy of jitter latency estimation and allowing for more accurate adjustment of video frame buffer duration to combat network jitter, effectively improving video playback smoothness.

[0120] The above describes a method that determines the basic latency of an image frame and the additional latency corresponding to out-of-order or abnormally transmitted frames. The target latency is then determined based on both the basic and additional latency. The basic latency considers latency caused by frame size changes and network noise, while the additional latency considers latency caused by out-of-order or abnormally transmitted frames. This method covers jitter caused by frame size changes, network noise, out-of-order frame arrival, and abnormal frame transmission, providing a more comprehensive and accurate estimate of jitter latency and improving the accuracy of jitter latency estimation. Furthermore, by accurately determining the first latency caused by frame size changes based on the image frame size, the first maximum size, and the first average size, and accurately determining the second latency caused by network noise based on the frame latency, the first frame size difference, the first latency calculation parameters, the second latency calculation parameters, and the update coefficient, the basic latency caused by frame size changes and network noise is determined based on both the first and second latency, further improving the accuracy of jitter latency estimation. Meanwhile, it covers jitter caused by frame transmission anomalies and out-of-order frame arrivals. By superimposing the additional frame delays caused by these two situations, it achieves more accurate network condition and jitter latency estimation, better adapts to network conditions, and effectively reduces overall playback latency and stuttering in multi-person video room scenarios.

[0121] Figure 5 This is a schematic diagram of a jitter delay estimation device provided in an embodiment of this application. (Reference) Figure 5 The jitter delay estimation device includes a basic delay module 51, an additional delay module 52, and a delay estimation module 53.

[0122] The basic delay module 51 is configured to determine the basic delay time corresponding to the image frame. The basic delay time includes a first delay time caused by frame size changes and a second delay time caused by network noise. The additional delay module 52 is configured to determine the additional delay time corresponding to the image frame when the image frame is an out-of-order frame or a transmission abnormal frame. The additional delay time includes a third delay time caused by an out-of-order frame or a fourth delay time caused by a transmission abnormal frame. The delay estimation module 53 is configured to determine the target delay time based on the basic delay time and the additional delay time.

[0123] The above method determines the basic delay time of an image frame and the additional delay time corresponding to out-of-order or abnormally transmitted image frames. The target delay time is then determined based on the basic and additional delay times. The basic delay time takes into account the delay caused by frame size changes and network noise, while the additional delay time takes into account the delay caused by out-of-order or abnormally transmitted frames. This method covers jitter caused by frame size changes, network noise, out-of-order arrival of frames, and abnormal frame transmission, thus providing a more comprehensive and accurate estimate of jitter delay and improving the accuracy of jitter delay estimation.

[0124] In one possible embodiment, the base delay module 51 is configured to determine the base delay time corresponding to the image frame as follows:

[0125] The first delay time corresponding to the image frame is determined based on the frame size of the image frame, the first maximum size associated with the previous image frame, and the first average size.

[0126] The second delay time corresponding to the image frame is determined based on the frame delay of the image frame relative to the previous image frame, the size difference of the first frame, the first delay time calculation parameter, the second delay time calculation parameter, and the update coefficient. The first delay time calculation parameter is determined based on the network transmission rate, and the second delay time calculation parameter is determined based on the network queuing delay.

[0127] The base delay time corresponding to the image frame is determined based on the first delay time and the second delay time.

[0128] In one possible embodiment, when the basic delay module 51 determines the first delay time corresponding to the image frame based on the frame size of the image frame, the first maximum size associated with the previous image frame, and the first average size, it is configured as follows:

[0129] The second maximum size of the image frame is determined based on the frame size of the image frame and the first maximum size associated with the previous image frame, using the first smoothing coefficient.

[0130] The second average size of the image frame is determined based on the second smoothing coefficient, the third smoothing coefficient, the frame size of the image frame, and the first average size associated with the previous image frame.

[0131] The first delay time corresponding to the image frame is determined based on the second maximum size, the second average size, and the first delay time calculation parameters.

[0132] In one possible embodiment, when the basic delay module 51 determines the second delay time corresponding to the image frame based on the frame delay of the image frame relative to the previous image frame, the first frame size difference, the first delay time calculation parameters, the second delay time calculation parameters, and the update coefficient, it is configured as follows:

[0133] The first noise deviation of the image frame is determined based on the frame delay of the image frame relative to the previous image frame, the size difference of the first frame, the first delay time calculation parameter, and the second delay time calculation parameter.

[0134] The second average network noise of the image frame is determined based on the update coefficients, the first average network noise associated with the previous image frame, and the first noise deviation.

[0135] The second network noise variance of the image frame is determined based on the update coefficients, the first network noise variance associated with the previous image frame, the second average network noise, and the first noise bias.

[0136] The second delay time corresponding to the image frame is determined based on the second network noise variance, the first scaling factor, and the adjustment factor.

[0137] In one possible embodiment, the jitter delay estimation device further includes an out-of-order judgment module and an anomaly judgment module. The out-of-order judgment module is configured to determine whether an image frame is an out-of-order frame based on the frame sequence number of the image frame. The anomaly judgment module is configured to determine whether an image frame is a transmission anomaly frame based on a first noise deviation, a second network noise variance, and a second proportional coefficient of the image frame if the image frame is not an out-of-order frame.

[0138] In one possible embodiment, when the additional delay module 52 determines the additional delay time corresponding to the image frame in the case that the image frame is an out-of-order frame or a transmission error frame, it is configured as follows:

[0139] In the case of out-of-order image frames, determine the third delay time caused by the out-of-order frames, and determine the additional delay time corresponding to the image frames based on the third delay time;

[0140] In the case of an image frame being a transmission anomaly frame, a fourth delay time caused by the transmission anomaly frame is determined, and an additional delay time corresponding to the image frame is determined based on the fourth delay time.

[0141] In one possible embodiment, when the additional delay module 52 determines the third delay time caused by the out-of-order frame in the case of an out-of-order image frame, it is configured as follows:

[0142] The second noise deviation of the image frame is determined based on the frame delay of the image frame relative to the previous image frame, the set second frame size difference, the first delay time calculation parameter, and the second delay time calculation parameter. The first delay time calculation parameter is determined based on the network transmission rate, and the second delay time calculation parameter is determined based on the network queuing delay.

[0143] Based on the second noise bias and the second delay time, the third delay time caused by out-of-order frames is determined.

[0144] In one possible embodiment, when the additional delay module 52 determines the fourth delay time caused by the transmission anomaly frame in the case that the image frame is a transmission anomaly frame, it is configured as follows:

[0145] In the case of an image frame being a transmission anomaly frame, the fourth delay time caused by the transmission anomaly frame is determined based on the first noise deviation of the image frame, the second network noise variance, and the second scaling factor.

[0146] In one possible embodiment, the jitter delay estimation device further includes a queue update module, which is configured to add the additional delay time and the recording time to the additional delay queue corresponding to the additional delay time of the image frame after the additional delay module 52 determines the additional delay time corresponding to the image frame in the case that the image frame is an out-of-order frame or a transmission abnormal frame.

[0147] When determining the target delay time based on the base delay time and the additional delay time, the delay estimation module 53 is configured as follows:

[0148] Within a time interval of a set duration, based on multiple additional delay times recorded in the additional delay queue and their corresponding recording times, additional delay samples corresponding to multiple additional delay times that decay over time are determined;

[0149] The target additional delay time is determined from multiple additional delay samples, and the target delay time is determined based on the base delay time and the target additional delay time.

[0150] It is worth noting that in the embodiments of the jitter delay estimation device described above, the various units and modules included are only divided according to functional logic, but are not limited to the above division, as long as the corresponding functions can be achieved; in addition, the specific names of each functional unit are only for easy differentiation and are not used to limit the protection scope of the embodiments of the present invention.

[0151] This application also provides a jitter delay estimation device, which can integrate the jitter delay estimation apparatus provided in this application. Figure 6 This is a schematic diagram of a jitter delay estimation device provided in an embodiment of this application. (Reference) Figure 6 The jitter delay estimation device includes: an input device 63, an output device 64, a memory 62, and one or more processors 61; the memory 62 is used to store one or more programs; when one or more programs are executed by one or more processors 61, the one or more processors 61 implement the jitter delay estimation method provided in the above embodiments. The jitter delay estimation device, apparatus, and computer provided above can be used to execute the jitter delay estimation method provided in any of the above embodiments, and have corresponding functions and beneficial effects.

[0152] This application also provides a non-volatile storage medium storing computer-executable instructions, which, when executed by a computer processor, are used to perform the jitter latency estimation method provided in the above embodiments. Of course, the computer-executable instructions provided in this application are not limited to the jitter latency estimation method provided above; they can also perform related operations in the jitter latency estimation method provided in any embodiment of this application. The jitter latency estimation apparatus, device, and storage medium provided in the above embodiments can execute the jitter latency estimation method provided in any embodiment of this application. Technical details not described in detail in the above embodiments can be found in the jitter latency estimation method provided in any embodiment of this application.

[0153] Based on the above embodiments, this application also provides a computer program product. The technical solution of this application, in essence or in other words, 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 several instructions to cause a computer device, mobile terminal, or processor therein to execute all or part of the steps of the jitter delay estimation method provided in the various embodiments of this application.

Claims

1. A jitter delay estimation method, characterized in that, include: Determine the base delay time corresponding to the image frame, the base delay time including a first delay time caused by frame size change and a second delay time caused by network noise; In the case that the image frame is an out-of-order frame or a transmission abnormal frame, the additional delay time corresponding to the image frame is determined. The additional delay time includes a third delay time caused by the out-of-order frame or a fourth delay time caused by the transmission abnormal frame. The transmission abnormal frame is an image frame received in a high jitter range. The target delay time is determined based on the base delay time and the additional delay time.

2. The jitter delay estimation method according to claim 1, characterized in that, The determination of the basic delay time corresponding to the image frame includes: The first delay time corresponding to the image frame is determined based on the frame size of the image frame, the first maximum size associated with the previous image frame, and the first average size. The second delay time corresponding to the image frame is determined based on the frame delay of the image frame relative to the previous image frame, the size difference of the first frame, the first delay time calculation parameter, the second delay time calculation parameter, and the update coefficient. The first delay time calculation parameter is determined based on the network transmission rate, and the second delay time calculation parameter is determined based on the network queuing delay. The base delay time corresponding to the image frame is determined based on the first delay time and the second delay time.

3. The jitter delay estimation method according to claim 2, characterized in that, Determining the first delay time corresponding to the image frame based on the image frame size, the first maximum size associated with the previous image frame, and the first average size includes: The second maximum size corresponding to the image frame is determined based on the frame size of the image frame and the first maximum size associated with the previous image frame, using a first smoothing coefficient. The second average size of the image frame is determined based on the second smoothing coefficient, the third smoothing coefficient, the frame size of the image frame, and the first average size associated with the previous image frame. Based on the second maximum size, the second average size, and the first delay time calculation parameters, the first delay time corresponding to the image frame is determined.

4. The jitter delay estimation method according to claim 2, characterized in that, The step of determining the second delay time corresponding to the image frame based on the frame delay of the image frame relative to the previous image frame, the first frame size difference, the first delay time calculation parameters, the second delay time calculation parameters, and the update coefficient includes: The first noise deviation of the image frame is determined based on the frame delay of the image frame relative to the previous image frame, the first frame size difference, the first delay time calculation parameter, and the second delay time calculation parameter; The second average network noise of the image frame is determined based on the update coefficient, the first average network noise associated with the previous image frame, and the first noise deviation. The second network noise variance of the image frame is determined based on the update coefficient, the first network noise variance associated with the previous image frame, the second average network noise, and the first noise deviation. The second delay time corresponding to the image frame is determined based on the second network noise variance, the first scaling factor, and the adjustment factor.

5. The jitter delay estimation method according to claim 4, characterized in that, Before determining the additional delay time corresponding to the image frame when the image frame is an out-of-order frame or a transmission error frame, the method further includes: Determine whether the image frame is out of order based on the frame sequence number of the image frame; If the image frame is not an out-of-order frame, it is determined whether the image frame is a transmission abnormal frame based on the first noise deviation, the second network noise variance, and the second scaling factor of the image frame.

6. The jitter delay estimation method according to claim 4, characterized in that, The step of determining the additional delay time corresponding to the image frame when the image frame is an out-of-order frame or a transmission error frame includes: In the case that the image frame is out of order, a third delay time caused by the out-of-order frame is determined, and an additional delay time corresponding to the image frame is determined based on the third delay time; In the case that the image frame is a transmission error frame, a fourth delay time caused by the transmission error frame is determined, and an additional delay time corresponding to the image frame is determined based on the fourth delay time.

7. The jitter delay estimation method according to claim 6, characterized in that, In the case that the image frame is an out-of-order frame, determining the third delay time caused by the out-of-order frame includes: The second noise deviation of the image frame is determined based on the frame delay of the image frame relative to the previous image frame, the set second frame size difference, the first delay time calculation parameter, and the second delay time calculation parameter. The first delay time calculation parameter is determined based on the network transmission rate, and the second delay time calculation parameter is determined based on the network queuing delay. Based on the second noise deviation and the second delay time, a third delay time caused by out-of-order frames is determined.

8. The jitter delay estimation method according to claim 6, characterized in that, In the case that the image frame is a transmission error frame, determining the fourth delay time caused by the transmission error frame includes: In the case that the image frame is a transmission abnormal frame, the fourth delay time caused by the transmission abnormal frame is determined based on the first noise deviation, the second network noise variance, and the second scaling factor of the image frame.

9. The jitter delay estimation method according to claim 1, characterized in that, After determining the additional delay time corresponding to the image frame when the image frame is an out-of-order frame or a transmission error frame, the method further includes: Add the additional delay time and the recording time to the additional delay queue corresponding to the additional delay time of the image frame; Determining the target delay time based on the base delay time and the additional delay time includes: Within a time interval of a set duration, based on the multiple additional delay times recorded in the additional delay queue and their corresponding recording times, additional delay samples corresponding to the multiple additional delay times that decay over time are determined; The target additional delay time is determined from the plurality of additional delay samples, and the target delay time is determined based on the base delay time and the target additional delay time.

10. A jitter delay estimation device, characterized in that, It includes a basic latency module, an additional latency module, and a latency estimation module, among which: The basic delay module is configured to determine the basic delay time corresponding to the image frame. The basic delay time includes a first delay time caused by frame size changes and a second delay time caused by network noise. The additional delay module is configured to determine an additional delay time corresponding to the image frame when the image frame is an out-of-order frame or a transmission abnormal frame. The additional delay time includes a third delay time caused by the out-of-order frame or a fourth delay time caused by the transmission abnormal frame. The transmission abnormal frame is an image frame received in a high jitter range. The delay estimation module is configured to determine the target delay time based on the base delay time and the additional delay time.

11. A jitter delay estimation device, characterized in that, include: Memory and one or more processors; The memory is used 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 latency estimation method as described in any one of claims 1-9.

12. A non-volatile storage medium for storing computer-executable instructions, characterized in that, The computer-executable instructions, when executed by a computer processor, are used to perform the jitter delay estimation method as described in any one of claims 1-9.

13. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by the processor, it implements the jitter delay estimation method according to any one of claims 1-9.

Citation Information

Patent Citations

  • Device and method used for controlling jitter buffer

    CN103888381A

  • Video frame playing method and system

    CN113727185A