Experience evaluation method and related apparatus

By analyzing multi-period statistical information and indicator changes of the target video stream, the problem of inaccurate evaluation of audio and video experience in existing technologies has been solved, and a more accurate experience evaluation has been achieved under weak network adversarial mechanisms.

CN122457585APending Publication Date: 2026-07-24HUAWEI TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
HUAWEI TECH CO LTD
Filing Date
2025-01-22
Publication Date
2026-07-24

Smart Images

  • Figure CN122457585A_ABST
    Figure CN122457585A_ABST
Patent Text Reader

Abstract

Embodiments of the present application provide an experience evaluation method and related device to improve the accuracy of audio and video experience evaluation. The method comprises: obtaining statistical information of N periods of a target video stream, the statistical information of each period being obtained by statistics of M target indicators of the target video stream, and the change range of the statistical values of the target indicators in different periods being used to determine the change of the weak network confrontation strength of the target video stream. The weak network confrontation is an action for guaranteeing the experience of the target video stream when the network performance is degraded, and the N periods are consecutive periods in the time domain. According to the statistical information of the N periods, it is determined whether the experience of the target video stream in a first period is degraded, and the first period is one of the N periods.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of computer networks, and in particular to an experience evaluation method and related apparatus. Background Technology

[0002] The development of internet technology has dramatically changed people's work and lifestyles. Based on internet technology, data from various audio and video applications can be transmitted in real time, making people's work and lives richer, more convenient, and more efficient. For example, the internet has made remote work commonplace, allowing employees of the same company located in different offices to collaborate efficiently as a team through online video conferencing tools. Online voice / video calling tools make it easier for people to stay connected. Live streaming and online games provide a wealth of entertainment options.

[0003] The audio and video streams generated by real-time audio and video applications such as online video conferencing, online voice / video calls, and live streaming need to be transmitted from terminal devices to servers via the network, and then from servers to other terminal devices that are the communication counterparts. This results in a long audio stream transmission path, and since network packet loss or jitter is inevitable, it may cause the audio and video played on terminal devices to stutter, affecting the end user experience.

[0004] Network performance typically impacts audio and video experience. Network performance metrics such as latency, packet loss rate, and jitter can be used to evaluate audio and video experience. However, the same packet loss rate or jitter can cause audio and video degradation in some scenarios but not in others. Therefore, it's not possible to directly determine whether audio and video experience has degraded based solely on whether network metrics like packet loss rate and jitter exceed thresholds. Consequently, related technologies cannot accurately assess the audio and video experience during meetings. Summary of the Invention

[0005] This application provides an experience evaluation method and related apparatus to solve the problem of inaccurate evaluation of video experience.

[0006] The first aspect provides an experience evaluation method. The method can be implemented by an analyzer or a network device. The method includes: acquiring statistical information for N periods of a target video stream. The statistical information for each period is obtained by statistically analyzing M target indicators of the target video stream. The variation range of the statistical values ​​of the target indicators in different periods is used to determine the change in the weak network adversarial strength of the target video stream. Weak network adversarial behavior refers to actions taken to ensure the experience of the target video stream when network performance deteriorates. The N periods are consecutive periods in the time domain, where N is an integer greater than or equal to 2, and M is an integer greater than or equal to 1. Based on the statistical information of the N periods, it is determined whether the experience of the target video stream deteriorates in the first period, where the first period is one of the N periods. By analyzing the variation range of the statistical values ​​corresponding to at least one target indicator in the N periods, the cause of the change in the statistical values ​​of the target indicators of the target video stream can be accurately identified, i.e., it can be determined whether the change in the statistical values ​​of the target indicators of the target video stream is caused by changes in the weak network adversarial strength, thereby obtaining a more accurate evaluation result.

[0007] In one possible implementation, the M target metrics include at least one of throughput, packet count, and average packet length. Throughput is statistically defined as the ratio of the total number of bits forwarded by the network device in a given period to the duration of that period. Packet count is statistically defined as the total number of packets forwarded by the network device in a given period. Average packet length is statistically defined as the average length of packets forwarded by the network device in a given period. Since the M target metrics are affected by changes in the strength of weak network attacks, the variation in the target metrics over N periods can determine whether changes in the strength of weak network attacks exist in the target video stream, thus enabling a more accurate determination of whether the target video stream experiences performance degradation.

[0008] In one possible implementation, M first baseline values ​​corresponding to the target video stream are obtained. Each of the M first baseline values ​​corresponds one-to-one with M target indicators. The first baseline value for each target indicator is obtained based on the statistical values ​​of the target indicator over at least two target periods. The absolute value of the increase between the statistical values ​​of the target indicator over at least two target periods is less than the statistical value change threshold corresponding to the target indicator. The at least two target periods are continuous in the time domain. Determining whether the target video stream experiences experience degradation in the first period based on the statistical information of N periods includes: determining whether the target video stream experiences experience degradation in the first period based on the statistical information of N periods and the M first baseline values. A first baseline value corresponding to a target indicator is a reference value for the statistical value of that target indicator over one period. This first limit value is obtained based on the statistical values ​​of that target indicator over K periods when the target video stream is stable. Based on the first limit value of a certain target indicator, the change range of that target indicator in subsequent periods can be determined more accurately, thereby improving the accuracy of the evaluation.

[0009] In one possible implementation, the statistical information for N periods includes the statistical information for the first period, which includes the first statistical values ​​corresponding to M target indicators. Based on the statistical information for N periods and the M first baseline values, it is determined whether the target video stream experiences degradation in the first period, including: in response to the absolute value of the first growth value corresponding to each of the M target indicators being less than the baseline comparison threshold corresponding to the target indicator, it is determined that the target video stream does not experience degradation in the first period. The first growth value corresponding to the target indicator is the growth value between the first statistical value corresponding to the target indicator and the first baseline value corresponding to the target indicator.

[0010] In one possible implementation, the N periods also include a second period and a third period, with the first period preceding the second period and the third period preceding the first period. The statistical information for the N periods includes the statistical information for the first period, the second period, and the third period. The statistical information for the first period includes the first statistical values ​​corresponding to M target indicators, the statistical information for the second period includes the second statistical values ​​corresponding to the M target indicators, and the statistical information for the third period includes the third statistical values ​​corresponding to the M target indicators. Based on the statistical information for the N periods and the M first baseline values, it is determined whether the target video stream experiences degradation in the first period, including: responding to the absolute value of the first growth value corresponding to the first indicator being greater than or equal to the baseline comparison threshold corresponding to the first indicator, and the second growth value between the maximum and minimum values ​​of the first statistical value, the second statistical value, and the third statistical value corresponding to the first indicator. If the statistical value jump threshold corresponding to the first indicator is greater than or equal to the statistical value jump threshold corresponding to the first indicator, and the third statistical value, the first statistical value, and the second statistical value corresponding to the first indicator satisfy a monotonically increasing or monotonically decreasing relationship, it is determined that the target video stream does not have experience degradation in the first period. The first indicator is one of M target indicators. The statistical value jump threshold corresponding to the first indicator is greater than the baseline comparison threshold corresponding to the first indicator. Alternatively, if the absolute value of the first growth value corresponding to the first indicator is greater than or equal to the baseline comparison threshold corresponding to the first indicator, and the second growth value is greater than or equal to the statistical value jump threshold, and the absolute value of the third growth value between the first statistical value and the second statistical value corresponding to the first indicator is less than the statistical value change threshold corresponding to the first indicator, it is determined that the target video stream does not have experience degradation in the first period. The statistical value change threshold corresponding to the first indicator is less than the baseline comparison threshold corresponding to the first indicator.

[0011] In one possible implementation, in response to the absolute value of the first growth value corresponding to the first indicator being greater than or equal to the baseline comparison threshold corresponding to the first indicator, and the second growth value being less than the statistical value jump threshold corresponding to the first indicator, it is determined that the target video stream has experience degradation in the first period; or in response to the absolute value of the first growth value corresponding to the first indicator being greater than or equal to the baseline comparison threshold corresponding to the first indicator, and the third statistical value, the second statistical value, and the second statistical value corresponding to the first indicator not satisfying a monotonically increasing or monotonically decreasing relationship, and the absolute value of the third growth value being greater than or equal to the statistical value change threshold corresponding to the first indicator, it is determined that the target video stream has experience degradation in the first period.

[0012] In one possible implementation, the N periods also include a second period and a third period, with the first period preceding the second period and the third period preceding the first period. The statistical information for the N periods includes the statistical information for the first period, the second period, and the third period. The statistical information for the first period includes the first statistical values ​​corresponding to M target indicators, the statistical information for the second period includes the second statistical values ​​corresponding to the M target indicators, and the statistical information for the third period includes the third statistical values ​​corresponding to the M target indicators. Based on the statistical information for the N periods and the M first baseline values, it is determined whether the target video stream experiences degradation in the first period, including: responding to the absolute value of the first increase value corresponding to the second indicator being greater than or equal to the baseline ratio corresponding to the second indicator. If the target video stream does not degrade in the first period, and the second statistical value corresponding to the second indicator is less than or equal to the stream closure threshold, and the absolute value of the first statistical value corresponding to the third indicator and the fourth growth value corresponding to the third indicator is less than the statistical value change threshold corresponding to the third indicator; the second indicator is throughput, number of packets, or average packet length, and the third indicator is average packet length; or if the absolute value of the first growth value corresponding to the second indicator is greater than or equal to the baseline comparison threshold corresponding to the second indicator, and the second statistical value corresponding to the second indicator is less than or equal to the stream closure threshold, and the absolute value of the fourth growth value is greater than or equal to the statistical value change threshold corresponding to the third indicator, the target video stream degrades in the first period.

[0013] In one possible implementation, the N periods include a second period and a third period, with the first period preceding the second period and the third period preceding the first period. The statistical information for the N periods includes the statistical information for the first period, the second period, and the third period. The statistical information for the first period includes the first statistical value corresponding to M target indicators, the statistical information for the second period includes the second statistical value corresponding to M target indicators, and the statistical information for the third period includes the third statistical value corresponding to M target indicators. Based on the statistical information for the N periods, it is determined whether the target video stream experiences degradation in the first period, including: in response to the third statistical value corresponding to the second indicator being less than or equal to the stream closure threshold, and the absolute value of the fifth increase value of the first statistical value corresponding to the third indicator and the fifth statistical value corresponding to the third indicator being less than the statistical value change threshold corresponding to the third indicator, it is determined that the target video stream does not experience degradation in the first period; the second indicator is throughput, number of packets, or average packet length, and the third indicator is average packet length; or in response to the third statistical value corresponding to the second indicator being less than or equal to the stream closure threshold, and the absolute value of the fifth increase value being greater than or equal to the statistical value change threshold corresponding to the third indicator, it is determined that the target video stream experiences degradation in the first period.

[0014] In one possible implementation, in response to the absence of degradation in the target video stream, statistical information for K periods is obtained. The statistical information for each of the K periods includes statistical values ​​corresponding to M target indicators. The difference between the statistical values ​​corresponding to the fourth indicator in any two periods of the K periods is less than the statistical value change threshold corresponding to the fourth indicator. The fourth indicator is one of the M target indicators, and K is an integer greater than or equal to 2. Based on the statistical information of the K periods, the second baseline value corresponding to the fourth indicator is obtained.

[0015] In one possible implementation, the method is applied to a network device, where the target video stream is a sub-stream of the target session packet stream corresponding to the target video application. The target session packet stream includes at least two sub-streams, where the packets of the at least two sub-streams have the same flow identifier but different synchronization source identifiers. The network device is deployed in the forwarding path of the target video stream. The method further includes: identifying packets belonging to the target session packet stream among the packets forwarded by the network device based on the flow identifier; and identifying packets belonging to the target video stream among the packets in the target session packet stream based on the synchronization source identifier.

[0016] In one possible implementation, the method is applied to a network device deployed in the forwarding path of the target video stream. Obtaining statistical information of the target video stream over N periods includes: performing statistics on M target indicators of the target video stream in each of the N periods to obtain statistical information for the N periods.

[0017] In one possible implementation, the method is applied to an analyzer to obtain statistical information for N periods of the target video stream, including receiving statistical information for N periods from a network device deployed in the forwarding path of the target video stream.

[0018] The second aspect provides an experience evaluation method. This method is applied to network devices. The method includes: acquiring statistical information of N cycles of a target video stream, where the statistical information of each cycle is obtained by statistically analyzing M target indicators of the target video stream within the cycle. The variation range of the statistical values ​​of the target indicators in adjacent cycles is used to determine the change in the weak network adversarial strength of the target video stream. Weak network adversarial refers to the behavior used to ensure the experience of the target video stream when network performance deteriorates. The N cycles are consecutive cycles in the time domain, where N is an integer greater than or equal to 2 and M is an integer greater than or equal to 1; and sending the statistical information of the N cycles.

[0019] In one possible implementation, the M target metrics include at least one of throughput, number of packets, and average packet length; the throughput statistic is the ratio of the total number of bits of the target video stream forwarded by the network device in one period to the duration of one period; the number of packets statistic is the total number of packets of the target video stream forwarded by the network device in one period; and the average packet length statistic is the average length of the packets of the target video stream forwarded by the network device in one period.

[0020] In one possible implementation, sending N cycles of statistical information includes sending N cycles of statistical information via a network telemetry protocol or a simple network management protocol.

[0021] In one possible implementation, the target video stream is a sub-stream in the target session message stream corresponding to the target video application. The target session message stream includes at least two sub-streams, and the messages of the at least two sub-streams have the same flow identifier but different synchronization source identifiers. The network device is deployed in the forwarding path of the target video stream. The method further includes: identifying the messages belonging to the target session message stream in the messages forwarded by the network device based on the flow identifier; and identifying the messages belonging to the target video stream in the target session message stream based on the synchronization source identifier.

[0022] The third aspect provides an experience evaluation device. This device is applied to an analyzer or to a network device. The device includes: a processing module for acquiring statistical information for N cycles of a target video stream. The statistical information for each cycle is obtained by statistically analyzing M target indicators of the target video stream. The variation range of the statistical values ​​of the target indicators in different cycles is used to determine the change in the weak network adversarial strength of the target video stream. Weak network adversarial behavior refers to actions taken to ensure the experience of the target video stream when network performance deteriorates. The N cycles are consecutive cycles in the time domain, where N is an integer greater than or equal to 2, and M is an integer greater than or equal to 1. The processing module is also used to determine, based on the statistical information of the N cycles, whether the experience of the target video stream deteriorates in the first cycle, where the first cycle is one of the N cycles.

[0023] In one possible implementation, the M target metrics include at least one of throughput, number of packets, and average packet length; the throughput statistic is the ratio of the total number of bits of the target video stream forwarded by the network device in one period to the duration of one period; the number of packets statistic is the total number of packets of the target video stream forwarded by the network device in one period; and the average packet length statistic is the average length of the packets of the target video stream forwarded by the network device in one period.

[0024] In one possible implementation, a processing module is used to acquire M first baseline values ​​corresponding to the target video stream. Each of the M first baseline values ​​corresponds one-to-one with M target indicators. The first baseline value corresponding to each target indicator is obtained based on the statistical values ​​of the target indicator over at least two target periods. The absolute value of the increase in the statistical values ​​of the target indicator over at least two target periods is less than the statistical value change threshold corresponding to the target indicator. The at least two target periods are continuous in the time domain. Determining whether the target video stream experiences experience degradation in the first period based on the statistical information of N periods includes: the processing module is used to determine whether the target video stream experiences experience degradation in the first period based on the statistical information of N periods and the M first baseline values.

[0025] In one possible implementation, the statistical information for N periods includes the statistical information for the first period, which includes the first statistical values ​​corresponding to M target indicators. The processing module is configured to determine that the target video stream does not experience degradation in the first period if the absolute value of the first growth value corresponding to each of the M target indicators is less than the baseline comparison threshold corresponding to the target indicator. The first growth value corresponding to the target indicator is the growth value between the first statistical value corresponding to the target indicator and the first baseline value corresponding to the target indicator.

[0026] In one possible implementation, the N periods also include a second period and a third period, with the first period preceding the second period and the third period preceding the first period. The statistical information of the N periods includes the statistical information of the first period, the second period, and the third period. The statistical information of the first period includes the first statistical value corresponding to M target indicators, the statistical information of the second period includes the second statistical value corresponding to M target indicators, and the statistical information of the third period includes the third statistical value corresponding to M target indicators. A processing module is used to respond to the following: the absolute value of the first growth value corresponding to the first indicator is greater than or equal to the baseline comparison threshold corresponding to the first indicator; the second growth value between the maximum and minimum values ​​of the first, second, and third statistical values ​​corresponding to the first indicator is greater than or equal to the statistical value jump threshold corresponding to the first indicator; and the third, first, and second statistical values ​​corresponding to the first indicator satisfy a monotonically increasing or monotonically decreasing relationship. This determines that the target video stream does not experience degradation in the first period. The first indicator is one of the M target indicators, and the statistical value jump threshold corresponding to the first indicator is greater than the baseline comparison threshold corresponding to the first indicator. Alternatively, a processing module is configured to determine, in response to the absolute value of the first growth value corresponding to the first indicator being greater than or equal to the baseline comparison threshold corresponding to the first indicator, and the second growth value being greater than or equal to the statistical value jump threshold, and the absolute value of the third growth value between the first statistical value corresponding to the first indicator and the second statistical value corresponding to the first indicator being less than the statistical value change threshold corresponding to the first indicator, that the target video stream does not experience degradation in the first period, and the statistical value change threshold corresponding to the first indicator is less than the baseline comparison threshold corresponding to the first indicator.

[0027] In one possible implementation, the processing module is configured to determine that the target video stream has experience degradation in the first period in response to the absolute value of the first growth value corresponding to the first indicator being greater than or equal to the baseline comparison threshold corresponding to the first indicator, and the second growth value being less than the statistical value jump threshold corresponding to the first indicator; or the processing module is configured to determine that the target video stream has experience degradation in the first period in response to the absolute value of the first growth value corresponding to the first indicator being greater than or equal to the baseline comparison threshold corresponding to the first indicator, and the third statistical value, the second statistical value, and the second statistical value corresponding to the first indicator not satisfying a monotonically increasing or monotonically decreasing relationship, and the absolute value of the third growth value being greater than or equal to the statistical value change threshold corresponding to the first indicator.

[0028] In one possible implementation, the N cycles also include a second cycle and a third cycle, with the first cycle preceding the second cycle and the third cycle preceding the first cycle. The statistical information of the N cycles includes the statistical information of the first cycle, the statistical information of the second cycle, and the statistical information of the third cycle. The statistical information of the first cycle includes the first statistical value corresponding to the M target indicators, the statistical information of the second cycle includes the second statistical value corresponding to the M target indicators, and the statistical information of the third cycle includes the third statistical value corresponding to the M target indicators. A processing module is configured to determine that the target video stream does not degrade in the first period in response to the absolute value of the first growth value corresponding to the second indicator being greater than or equal to the baseline comparison threshold corresponding to the second indicator, and the second statistical value corresponding to the second indicator being less than or equal to the stream closure threshold, and the absolute value of the fourth growth value of the first statistical value corresponding to the third indicator and the third statistical value corresponding to the third indicator being less than the statistical value change threshold corresponding to the third indicator; the second indicator is throughput, number of packets, or average packet length, and the third indicator is average packet length; or a processing module is configured to determine that the target video stream degrades in the first period in response to the absolute value of the first growth value corresponding to the second indicator being greater than or equal to the baseline comparison threshold corresponding to the second indicator, and the second statistical value corresponding to the second indicator being less than or equal to the stream closure threshold, and the absolute value of the fourth growth value being greater than or equal to the statistical value change threshold corresponding to the third indicator.

[0029] In one possible implementation, the N periods include a second period and a third period, with the first period preceding the second period and the third period preceding the first period. The statistical information for the N periods includes the statistical information for the first period, the second period, and the third period. The statistical information for the first period includes the first statistical value corresponding to M target indicators, the statistical information for the second period includes the second statistical value corresponding to the M target indicators, and the statistical information for the third period includes the third statistical value corresponding to the M target indicators. A processing module is configured to determine that the target video stream does not degrade in the first period if the third statistical value corresponding to the second indicator is less than or equal to a stream closure threshold, and the absolute value of the fifth increase value of the first statistical value corresponding to the third indicator and the fifth statistical value corresponding to the second indicator is less than a statistical value change threshold corresponding to the third indicator; the second indicator is throughput, number of packets, or average packet length, and the third indicator is average packet length. Alternatively, a processing module is configured to determine that the target video stream degrades in the first period if the third statistical value corresponding to the second indicator is less than or equal to a stream closure threshold, and the absolute value of the fifth increase value is greater than or equal to a statistical value change threshold corresponding to the third indicator.

[0030] In one possible implementation, the processing module is used to obtain statistical information for K periods in response to the absence of degradation in the target video stream. The statistical information for each of the K periods includes statistical values ​​corresponding to M target indicators. The difference between the statistical values ​​corresponding to the fourth indicator in any two periods of the K periods is less than the statistical value change threshold corresponding to the fourth indicator. The fourth indicator is one of the M target indicators, and K is an integer greater than or equal to 2. The processing module is used to obtain the second baseline value corresponding to the fourth indicator based on the statistical information of the K periods.

[0031] In one possible implementation, the device is applied to a network device. The target video stream is a sub-stream within the target session message stream corresponding to the target video application. The target session message stream includes at least two sub-streams, where the packets of the at least two sub-streams have the same flow identifier but different synchronization source identifiers. The network device is deployed in the forwarding path of the target video stream. The processing module is used to identify, based on the flow identifier, packets belonging to the target session message stream among the packets forwarded by the network device; and to identify, based on the synchronization source identifier, packets belonging to the target video stream within the target session message stream.

[0032] In one possible implementation, the device is applied to a network device deployed in the forwarding path of the target video stream. A processing module is used to statistically analyze M target metrics of the target video stream over N periods, thereby obtaining statistical information for N periods.

[0033] In one possible implementation, the device is used in an analyzer that also includes a transceiver module for receiving statistical information from a network device deployed in the forwarding path of the target video stream for N cycles.

[0034] The fourth aspect provides an experience evaluation device. This device is applied to network equipment. The device includes: a processing module for acquiring statistical information for N cycles of a target video stream. The statistical information for each cycle is obtained by statistically analyzing M target indicators of the target video stream within that cycle. The variation in the statistical values ​​of the target indicators in adjacent cycles is used to determine the change in the weak network adversarial strength of the target video stream. Weak network adversarial behavior refers to actions taken to ensure the experience of the target video stream when network performance deteriorates. The N cycles are consecutive cycles in the time domain, where N is an integer greater than or equal to 2, and M is an integer greater than or equal to 1. A transceiver module is used to transmit the statistical information for the N cycles.

[0035] In one possible implementation, the M target metrics include at least one of throughput, number of packets, and average packet length; the throughput statistic is the ratio of the total number of bits of the target video stream forwarded by the network device in one period to the duration of one period; the number of packets statistic is the total number of packets of the target video stream forwarded by the network device in one period; and the average packet length statistic is the average length of the packets of the target video stream forwarded by the network device in one period.

[0036] In one possible implementation, the transceiver module is used to send statistical information for N cycles via a network telemetry protocol or a simple network management protocol.

[0037] In one possible implementation, the target video stream is a sub-stream within the target session message stream corresponding to the target video application. The target session message stream includes at least two sub-streams, where the message streams of the at least two sub-streams have the same flow identifier but different synchronization source identifiers. The network device is deployed in the forwarding path of the target video stream. The processing module is used to identify, based on the flow identifier, the messages forwarded by the network device that belong to the target session message stream; and based on the synchronization source identifier, to identify the messages within the target session message stream that belong to the target video stream.

[0038] Fifthly, an experience evaluation device is provided, including a processor and an interface circuit. The interface circuit is used to receive signals from other devices outside the experience evaluation device and transmit them to the processor, or to send signals from the processor to other devices outside the experience evaluation device. The processor is used to implement the methods in the first aspect and any possible implementations of the first aspect through logic circuits or execution code instructions. The experience evaluation device can be a copy unit, a memory controller, or a memory module.

[0039] In a sixth aspect, a computer-readable storage medium is provided, which stores a computer program or instructions that, when executed by a processor, implement the methods of the first aspect and any possible implementation thereof.

[0040] In a seventh aspect, a computer program product storing instructions is provided, which, when executed by a processor, implements the methods described in the first aspect and any possible implementation thereof.

[0041] Eighthly, a chip is provided, comprising a processor and potentially a memory, for implementing the methods of the first aspect and any possible implementation thereof. The chip system may be composed of a chip or may include chips and other discrete devices. Attached Figure Description

[0042] Figure 1A schematic diagram of the fixed header structure for the Real-Time Transmission Protocol;

[0043] Figure 2a A schematic diagram of an experience evaluation system provided in this application;

[0044] Figure 2b A schematic diagram of another experience evaluation system provided for this application;

[0045] Figure 2c This is a schematic diagram of media stream transmission based on a selective forwarding unit architecture;

[0046] Figure 2d This is a schematic diagram of media streaming based on a mesh architecture.

[0047] Figure 3 A flowchart illustrating an experience evaluation method provided in this application;

[0048] Figure 4 This is a schematic diagram of a multi-party video communication scenario;

[0049] Figure 5a A diagram illustrating the transmission of FEC redundancy messages;

[0050] Figure 5b A diagram illustrating the change in the number of packets / throughput per unit time of the target video stream when increasing FEC redundancy.

[0051] Figure 5c A diagram illustrating the change in the statistical value of message count / throughput when adding FEC redundancy rate to network device statistics;

[0052] Figure 6a A diagram illustrating the change in the number of packets / throughput per unit time of the target video stream when reducing video frame rate / resolution;

[0053] Figure 6b A diagram illustrating the changes in the number of messages / throughput when network devices reduce video frame rate / resolution.

[0054] Figure 7a This is a schematic diagram illustrating a scenario where the target video stream switches from a large video window to a small video window, or vice versa.

[0055] Figure 7b A schematic diagram illustrating a scenario where the window for the target video stream switches from full-screen mode to a small window mode;

[0056] Figure 7c This diagram illustrates the change in the statistical values ​​of network device packet count / throughput when the video window size changes.

[0057] Figure 8A diagram illustrating the changes in the statistical values ​​of network device packet count / throughput when the target video stream is closed and opened;

[0058] Figure 9 A schematic diagram illustrating the process by which a network device, based on statistical information from N periods, determines whether a target video stream experiences degradation in the first period;

[0059] Figure 10 A schematic diagram illustrating the process by which another network device provided in this application determines whether a target video stream experiences degradation in the first period based on statistical information from N periods;

[0060] Figure 11 A flowchart illustrating another experience evaluation method provided in this application;

[0061] Figure 12 A schematic diagram of the structure of an experience evaluation device provided in this application;

[0062] Figure 13 A schematic diagram of another experience evaluation device provided in this application. Detailed Implementation

[0063] The embodiments of this application are described below with reference to the accompanying drawings. Obviously, the described embodiments are only a part of the embodiments of this application, and not all of them. As those skilled in the art will understand, with the development of technology and the emergence of new scenarios, the technical solutions provided by the embodiments of this application are also applicable to similar technical problems.

[0064] The terms "first," "second," etc., used in the specification, claims, and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. "A plurality of" means two or more.

[0065] The term “exemplary” as used herein means “serving as an example, embodiment, or illustration.” Any embodiment illustrated herein as “exemplary” is not necessarily to be construed as superior to or better than other embodiments.

[0066] The following is an explanation of the relevant terms used in this application.

[0067] 1. Weak network confrontation

[0068] For real-time audio and video calls, network complexity, heterogeneity, protocol non-standardization, network anomalies, network errors, and other characteristics that disrupt the network environment are all referred to as weak networks. Weak network environments cannot provide high-quality network transmission; for the receiving end, this means the inability to receive continuous packets, causing audio and video stuttering and other issues that directly impact the user experience, leading to product quality problems or customer complaints.

[0069] Weak network countermeasures typically refer to a series of actions (also known as strategies or measures) taken to ensure the continuity, stability, and reliability of network communication and services when network connections are unstable, bandwidth is limited, or other network quality issues exist. Examples include: sending forward error correction messages, packet retransmission, reducing video stream frame rate / resolution, increasing jitter buffer size, data compression, adaptive bit rate, and multipath transmission.

[0070] 2. Jitter buffer

[0071] Jitter buffers are a measure used to address inconsistent message arrival times in network communication, especially in real-time audio and video transmission. Due to the complexity and unpredictability of networks, messages may experience varying delays during transmission, leading to disordered message order or uneven time intervals at the receiving end. This phenomenon is called "jitter." Jitter can severely impact audio and video quality, causing intermittent sound or stuttering video.

[0072] A jitter buffer is essentially a buffer used to temporarily store received messages. It's set up at the receiver to smooth the data stream. To combat jitter, the jitter buffer applies a delay to each message before playback, ensuring all messages are processed within a relatively stable time interval. This guarantees that even if some messages arrive slightly later, they can still be decoded and played in the correct order.

[0073] 3. Degraded user experience

[0074] In this embodiment, experience degradation refers to a decline in user experience caused by stuttering or other issues during audio and video playback. This document may sometimes use descriptions such as "experience degradation exists in the target session message stream," which refers to non-ideal phenomena such as stuttering occurring during audio and video playback based on the target session message stream, leading to a degraded user experience.

[0075] 4. Real-Time Transport Protocol (RTP)

[0076] RTP is an application layer protocol based on the User Datagram Protocol (UDP) for transmitting real-time audio and video data over Internet Protocol (IP) networks. It is characterized by low reliability, low latency, and minimal delay, allowing real-time data to be transmitted to the receiving end with minimal delay. The RTP protocol supports both unicast (one-to-one / point-to-point) and multicast (one-to-many) communication modes.

[0077] RTP messages include a fixed header, optional payload header extensions, and a payload. For example... Figure 1 As shown, the RTP fixed header (12 bytes) includes:

[0078] Version (V): 2 bits, representing the version number of the RTP protocol.

[0079] Padding (P): 1 bit. If set to 1, it indicates that there are extra padding bytes at the end of the message, used to align or hide the message length.

[0080] Extension (X): 1 bit. If set to 1, it indicates that this message contains an extended header, which follows immediately after the standard header.

[0081] Contribution Source Count (CSRC Count, CC): 4 bits, specifies the number of Contribution Source Identifiers (CSRCs), which are located after a fixed header and are used to identify multiple sources that participate in the mix of tracks or other combined content.

[0082] Tag (M): 1 bit. The meaning of the tag bit depends on the specific application. For example, in a video stream, it can represent a keyframe.

[0083] Payload Type (PT): 7 bits, defines the format of the payload, i.e., the type of media encoding it carries, such as G.711 audio, H.264 video, etc. Different payload types have different interpretation rules.

[0084] Sequence Number (SN): 16 bits, incremented each time a new RTP message is sent. The receiver can use it to detect lost messages and reconstruct the correct playback order.

[0085] Timestamp: 32 bits, reflecting the time point of the first byte of payload data, typically based on the sampling clock frequency. For audio, this might be the number of samples per second; for video, it might be the frame rate.

[0086] Synchronization source identifier (SSRC): 32 bits, uniquely identifies a synchronization source in a session. Each synchronization source in a session has a unique SSRC value.

[0087] Contributing Source Identifier (CSRC): 0 to 15 32-bit fields. When there is mixing or merging of multiple input sources, the CSRC identifiers of all contributors are listed here.

[0088] Real-time video communication places high demands on network performance; packet loss or jitter in the network can cause video playback stuttering. Therefore, the network needs to support the ability to assess the video experience online, proactively determine if the video experience has deteriorated, and automatically trigger fault diagnosis and repair or network optimization processes when the experience deteriorates, thereby ensuring a good user experience.

[0089] Currently, the approach to evaluating video experience involves assessing multiple network performance metrics of the video stream. Specifically, network devices measure the quality of the video stream's transmission over the network, such as packet loss rate, latency, and jitter, and periodically report these metrics to the network management system. Based on the measurement results of packet loss rate, latency, and jitter for each period, the network management system calculates a meeting experience score for each period using mathematical formulas. For example, the experience score formula is: Video Experience Score = Packet Loss Rate Weight * Packet Loss Rate + Latency Weight * Latency + Jitter Weight * Jitter, thereby evaluating the quality of the video experience based on this score.

[0090] However, the same packet loss rate or jitter can cause stuttering in some scenarios but not in others. Therefore, it's impossible to directly determine audio stuttering based solely on whether network performance metrics such as packet loss, latency, and jitter exceed thresholds. For example, the packet loss rate for each statistical period is not the total packet loss rate, failing to reflect the distribution of packet loss—that is, whether it's random or continuous. Random and continuous packet loss have significantly different impacts on video experience; continuous packet loss has a greater impact than random packet loss. Therefore, relying solely on metrics like packet loss rate cannot accurately assess audio experience.

[0091] Furthermore, the weak network protection mechanisms in video applications can also affect the accuracy of experience assessments. For example, before these mechanisms are activated, a 20% random packet loss significantly degrades the voice experience, but after activation, a 50% random packet loss rate does not noticeably worsen the experience. Therefore, assessing video experience based on network performance metrics such as packet loss, latency, and jitter has relatively low accuracy.

[0092] In view of this, embodiments of this application provide an experience evaluation method. In this method, a network device periodically performs statistical analysis on M target metrics of a target video stream to obtain statistical information for the target video stream in each period. The statistical information for each period includes statistical values ​​corresponding to the M target metrics. In this embodiment, the variation in the statistical value of each of the M target metrics in different periods can reflect the change in the weak network adversarial strength of the target video stream. Therefore, based on the statistical information from at least two periods, it is possible to determine whether the experience of the target video stream has deteriorated.

[0093] The basic principle of packet loss measurement using the above-described technical solution in this application embodiment is as follows: When the target video application determines that the target video stream has experienced a degraded user experience, the target video application will implement weak network countermeasures to ensure the user experience of the target video stream. These weak network countermeasures will cause changes in the statistical values ​​of relevant indicators (e.g., M target indicators) of the target video stream. Therefore, based on statistical information from at least two periods, the changes in the statistical values ​​of the target indicators can be determined, and thus, based on these changes, it can be determined whether the target video stream has experienced a degraded user experience. For example, if the changes in the statistical values ​​of the target indicators (range, trend, etc.) are consistent with the changes in the statistical values ​​of the target indicators caused by the implementation of weak network countermeasures, then it can be considered that the target video stream has experienced a degraded user experience. If the changes in the statistical values ​​of the target indicators (range, trend, etc.) are inconsistent with the changes in the statistical values ​​of the target indicators caused by the implementation of weak network countermeasures, then it can be considered that the target video stream has not experienced a degraded user experience.

[0094] The following section provides a detailed introduction to this technical solution from multiple perspectives, including application scenarios, hardware devices, software devices, and methodologies.

[0095] To address the aforementioned technical problems, this application provides the following embodiments.

[0096] The following section provides a detailed introduction to this technical solution from multiple perspectives, including application scenarios, hardware devices, software devices, and methodologies.

[0097] The following are examples illustrating the application scenarios of embodiments of this application.

[0098] like Figure 2a and Figure 2b As shown, Figure 2a A schematic diagram of a network architecture for a communication system provided in this application; Figure 2b This application provides a schematic diagram of the network architecture of another communication system. The communication system includes at least two terminal devices and at least one network device. Optionally, the communication system also includes an analyzer.

[0099] In one possible implementation, the communication system also includes an application server. For example, such as... Figure 2aAs shown, the communication system includes an application server, at least two terminal devices, and at least two network devices. Each terminal device accesses the network wirelessly or via a wired connection and connects to the application server through at least one network device. For example, the terminal device may be associated with a wireless access point (AP) and further connected to the application server through network forwarding devices such as access switches, aggregation switches, and routers. Alternatively, the terminal device may be connected to a base station and further connected to the application server through network forwarding devices such as core network equipment and routers. Yet another example is that the terminal device may be connected to an access switch via a network cable and further connected to the application server through network forwarding devices such as aggregation switches and routers; or, the terminal device may only be connected to the application server through an access switch. The analyzer is connected to at least one network device.

[0100] In another possible implementation, the communication system does not include an application server. For example... Figure 2b As shown, the communication system includes at least two terminal devices and at least one network device. Figure 2b The communication system shown is deployed within the same local area network (LAN), allowing media streams between terminal devices to bypass the application server. In one possible scenario, multiple terminal devices are connected to the same access switch. In another possible scenario, multiple terminal devices are connected to different network devices, in which case the terminal devices are connected through at least two network devices. The analyzer is connected to at least one network device.

[0101] Figure 2a and Figure 2bIn the communication system shown, the terminal device is used to collect audio and video data, and / or, the terminal device is used to play audio and video based on the received audio and video data. Specifically, the terminal device has an audio and video application client installed, which is used to realize real-time audio and video communication between multiple terminal devices. Audio and video applications include network video conferencing applications, network video call applications, or network live streaming applications, such as Tencent Video and Zoom video communication. Audio and video applications can be standalone software or tools (functional modules) embedded in software. The terminal device sending the media stream is equipped with a camera, so that the audio and video application installed on the terminal device can call the camera to collect video data. Optionally, the terminal device sending the media stream is equipped with a microphone, so that the audio and video application installed on the terminal device can call the microphone to collect audio data. Optionally, the terminal device and microphone and / or camera are integrated. Optionally, the terminal device and microphone and / or camera are separate, with the microphone and / or camera connected to the terminal device via wired or wireless means. The terminal device receiving the media stream is equipped with a display screen, through which an audio / video application client installed on the terminal device plays the video image obtained from parsing the video data. Optionally, the terminal device receiving the media stream is equipped with a speaker, through which the audio / video application client installed on the terminal device plays the audio obtained from parsing the audio data. Optionally, the terminal device, display screen, and / or speaker are integrated into one unit. Optionally, the terminal device, display screen, and / or speaker are separate units, with the display screen and / or speaker connected to the terminal device via wired or wireless means.

[0102] In terms of product form, terminal devices can include handheld devices with communication functions, in-vehicle devices, wearable devices, or computing devices. For example, terminal devices can be mobile phones, tablets, computers with wireless communication functions, virtual reality (VR) terminal devices, augmented reality (AR) terminal devices, smartwatches, smart bracelets, smart glasses, terminal devices in Internet of Things (IoT) systems, or desktop computers, etc., without limitation.

[0103] The terminal devices differ depending on the scenario. For example, when users use audio / video applications outdoors, the terminal device might be a mobile phone, tablet, laptop, or smart wearable device with audio and / or video capture capabilities. Conversely, when users use real-time audio / video applications indoors, such as in an office, the terminal device could be a laptop or desktop computer with audio and / or video capture capabilities. Furthermore, different terminal devices participating in an audio / video session can be of the same type or different types; there are no restrictions here. Terminal devices can use different network connection methods to connect to network devices in different scenarios, including wired and wireless connections.

[0104] Figure 2a and Figure 2b In the communication system shown, network devices are used to forward media streams from terminal devices. Network devices include, but are not limited to: routers, switches, firewall devices, base stations, access points (APs), or access controllers (ACs).

[0105] In this embodiment, the network devices in the communication system include at least one target network device. The target network device is further configured to statistically analyze M target indicators of the forwarded target video stream in each cycle, obtaining statistical information of the target video stream in each cycle. That is, the statistical information in each cycle includes statistical values ​​corresponding to the M target indicators. The variation range of the statistical values ​​of each target indicator in different cycles can be used to determine the change in the weak network adversarial strength of the target video stream. The target video stream is one video stream among the media streams forwarded by the target network device.

[0106] Optionally, the network device is also used to determine whether the target video stream has experienced performance degradation based on statistical information over N periods.

[0107] Optionally, the network device is also used to send statistical information for each period of the target video stream to the analyzer. In this case, the analyzer is used to determine whether the target video stream has experienced performance degradation based on the statistical information for N periods of the target video stream. The analyzer is a device with computing power, such as a computer, server, or server cluster.

[0108] Figure 2aIn the communication system shown, the application server maintains session connections between different terminal devices based on the media streams of audio and video applications from the terminal devices. The application server transmits audio, video, and multimedia files via the network in a streaming manner. It forwards media streams from any terminal device to other terminal devices within the same session, thus enabling audio and video communication between different terminal devices within the same session. The application server can be deployed in a public cloud or in a data center built by a video conferencing vendor. The application server receives media streams uploaded by terminal devices and is responsible for switching and directly forwarding the streaming media, or for decoding, merging, transcoding, and then forwarding the media streams. This application does not limit the type of application server; for example, the application server may be a Complex Instruction Set Computer (CISC) server, a Reduced Instruction Set Computing (RISC) server, or a Very Long Instruction Word (VLIM) server.

[0109] Figure 2a The communication system shown is suitable for a selective forwarding unit (SFU) architecture. The SFU architecture is used for real-time audio and video communication. In the SFU architecture, the application server acts as a media stream router, receiving media streams from terminal devices and forwarding them to other terminal devices as needed.

[0110] For example, with Figure 2a Taking the communication system shown as an example, if terminal device 1, terminal device 2, and terminal device 3 are all participants in audio and video communication, they will all share one stream sent to the application server. The application server can then forward each stream to the two terminal devices other than the one sharing the stream. Figure 2c As shown, terminal device 1 sends a media stream to the application server. After receiving the media stream, the application server sends it to terminal devices 2 and 3. Similarly, terminal device 2 sends a media stream to the application server, which then sends it to terminal devices 1 and 3. Terminal device 3 sends a media stream to the application server, which then sends it to terminal devices 1 and 2.

[0111] It is understood that media stream transmission is directional. Generally, the media stream sent from the terminal device to the application server is called the uplink media stream, and the media stream sent from the application server to the terminal device is called the downlink media stream. Furthermore, the media stream described in this application includes video streams, or media streams that include both audio and video streams; this will be consistently stated here and will not be elaborated further below.

[0112] Figure 2b The communication system shown is suitable for a mesh architecture. In a mesh architecture, terminal devices establish session connections with each other. In a multi-party communication scenario, any two terminal devices establish a session connection, forming a mesh structure. For example, as... Figure 2d As shown, three terminal devices, terminal device 1, terminal device 2, and terminal device 3, engage in many-to-many communication. When terminal device 1 shares a media stream, it needs to send the media stream to both terminal device 2 and terminal device 3. Similarly, when terminal device 2 shares a media stream, it needs to send data to both terminal device 1 and terminal device 3, and so on.

[0113] It should be noted that, Figure 2a , Figure 2b , Figure 2c and Figure 2d The communication system illustrated is for illustrative purposes only and is not intended to limit the technical solutions of this application. Those skilled in the art should understand that in specific implementations, the communication system may also include other devices, and the number of network devices, application servers, and terminal devices can be determined according to specific needs; this application does not impose any limitations in this regard.

[0114] The following describes in detail, through method embodiments, how a network device / analyzer obtains statistical information of multiple cycles of a target video stream, and how the network device / analyzer determines whether the target video stream has experience degradation based on the statistical information of multiple cycles.

[0115] Figure 3 This is a flowchart illustrating an experience evaluation method provided in this application. The execution entity of this embodiment is... Figure 2a or Figure 2b The network device in the context refers to any network device along the forwarding path of the target video stream. For example... Figure 3 As shown, this embodiment includes at least steps S301 and S302.

[0116] S301, the network device acquires statistical information of N periods of the target video stream. The statistical information of each period is obtained by statistically analyzing M target indicators of the target video stream. The change range of the statistical values ​​of the target indicators in different periods is used to determine the change of the weak network confrontation strength of the target video stream. Weak network confrontation is the behavior used to ensure the experience of the target video stream when the network performance deteriorates. The N periods are continuous periods in the time domain, where N is an integer greater than or equal to 2 and M is an integer greater than or equal to 1.

[0117] In this embodiment, the network device identifies the target video stream and performs statistical analysis on M target indicators of the target video stream in each cycle, thereby obtaining statistical information of the target video stream corresponding to each cycle. That is, the statistical information for each cycle includes the statistical values ​​corresponding to the M target indicators of the target video stream. Any two adjacent cycles are continuous in the time domain, and each cycle has the same length, thus enabling more accurate statistical information. The length of each cycle is 100 milliseconds (ms), 200 ms, 500 ms, 1 second (s), 2 seconds, 5 seconds, 8 seconds, or 10 seconds, etc. Of course, the length of the cycle can be longer or shorter, and this application does not impose any limitations on this.

[0118] The network device acquires statistical information from N periods out of multiple cycles, and then assesses whether there is experience degradation in the first period of the N periods based on the statistical information of the N periods. The N periods are consecutive periods in the time domain, thus enabling more accurate acquisition of the changes in the statistical value of the target indicator within the N periods. N is an integer greater than or equal to 2, such as N being 2, 3, 4, or 5. Of course, the value of N can also be larger, and there is no restriction here. Optionally, the statistical information of the N periods is the statistical information of the most recently acquired N periods in the time domain, thus enabling timely evaluation of the experience of the target video stream.

[0119] In this embodiment, the target video stream is an independent video stream. That is, the target video stream is used only to transmit video data captured by one camera on the terminal device. Alternatively, the target video stream is a sub-stream within the target session message stream corresponding to the target video application. The target session message stream is a message stream corresponding to a session established based on the target video application. Optionally, in Figure 2a In the scenario shown, the target session message stream is the downlink message stream forwarded by the application server to the terminal device. Optionally, in Figure 2b In the scenario shown, the target session message stream is a message stream sent from one terminal device to another terminal device.

[0120] The target session message stream includes at least two sub-streams. Data transmitted in one sub-stream originates from the same signal source (camera or microphone), while data transmitted in different sub-streams originates from different signal sources. Optionally, the at least two sub-streams include at least one video sub-stream and at least one audio sub-stream. Alternatively, the at least two sub-streams may include at least two video sub-streams. For example, in a one-to-one video communication scenario, the target session message stream includes one video sub-stream and one audio sub-stream. Also, for example, in a multi-party video communication scenario, the at least two sub-streams may include at least two video sub-streams (e.g., the source terminal devices of at least two video sub-streams have their microphones muted / are muted from speaking), or the at least two sub-streams may include at least two video sub-streams and at least one audio sub-stream.

[0121] The target video stream is one of the at least two sub-streams in the target session packet stream. Optionally, when the session packet stream includes at least two video sub-streams, the network device performs statistical and experience evaluation on M target metrics for each video sub-stream in the target session packet stream, where the target video stream is any one of the at least two video sub-streams. Optionally, when the session packet stream includes at least two video sub-streams, the target video stream is the video sub-stream with the highest throughput among the at least two video sub-streams. Since larger video windows require higher resolution or frame rates to play video at the receiving end of the target video stream, the video sub-streams corresponding to larger video windows have higher throughput. Therefore, the video window corresponding to the video sub-stream with the highest throughput occupies the largest area on the receiving end screen. The larger the video window area, the greater the impact of the video quality played within the video window on the user experience. Statistically evaluating the video sub-stream with the highest throughput ensures effective evaluation of the video session experience while reducing the number of video streams that the network device needs to statistically evaluate, thereby reducing the implementation complexity and cost of the network device.

[0122] For example, in Figure 4In the scenario shown, taking a video conferencing application as the target video application, assume that terminal devices 1, 2, 3, and 4 participate in the same video conference through their respective installed video conferencing application clients. The application servers corresponding to these client clients have established session connections with terminal devices 1, 2, 3, and 4, respectively. Taking the playback of media streams from terminal devices 1, 2, and 3 on terminal device 4 as an example, after receiving media stream 1 (assuming it includes audio and video streams 1) from terminal device 1, the application server sends media stream 1 to terminal device 4 through its session connection. After receiving media stream 2 (assuming it includes audio and video streams 2) from terminal device 2, the application server sends media stream 2 to terminal device 4 through its session connection. After receiving media stream 3 (assuming it includes audio and video streams 3) from terminal device 3, the application server sends media stream 3 to terminal device 4 through its session connection. The message stream transmitted between the application server and terminal device 4 is the target session message stream corresponding to terminal device 4. This target session message stream includes video stream 1, audio stream 1, video stream 2, audio stream 2, audio stream 3, and video stream 3. Video stream 1 is a video sub-stream, audio stream 1 is an audio sub-stream, video stream 2 is a video sub-stream, audio stream 2 is an audio sub-stream, video stream 3 is a video sub-stream, and audio stream 3 is an audio sub-stream. In one possible implementation, the target video stream is any one of video streams 1, 2, and 3. In another possible implementation, assuming the largest video window on the terminal device 4's screen plays the video corresponding to video stream 3, video stream 3 is the sub-stream with the highest throughput in the target session message stream, and the network device identifies video stream 3 as the target video stream. The above is a simplified explanation of the transmission process of media streams related to video conferencing. In specific implementation scenarios, the application server may make certain adjustments and modifications to media streams from different terminal devices when forwarding media streams. Media streams are audio streams and / or video streams.

[0123] Since the target video stream is a sub-stream within the target session packet stream, network devices need to identify not only the target session packet stream but also the target video stream within it. The following explains how network devices identify the target session packet stream and how they identify the target video stream within it.

[0124] Packets within the same flow share the same flow identifier, allowing network devices to identify the flow to which a packet belongs. The following example, using a packet forwarded by a network device (hereinafter referred to as packet A), illustrates how the network device identifies whether packet A belongs to the target session's packet flow. The network device uses the same method to identify other packets. Specifically, after receiving packet A, the network device retrieves the flow identifier from packet A. If the flow identifier of packet A is the same as the flow identifier of the target session's packet flow, then packet A belongs to the target session's packet flow; that is, packet A is a packet within the target session's packet flow. If the flow identifier of packet A is different from the flow identifier of the target session's packet flow, then packet A does not belong to the target session's packet flow. The flow identifier can be a triple (source IP, destination IP, protocol number), a quadruple (source IP, destination IP, source port, destination port), or a quintuple (source IP, destination IP, source port, destination port, protocol number), etc.

[0125] In real-time audio and video communication, the RTP protocol is often used to transmit audio and video data. In this embodiment, messages using the message format defined in the RTP protocol are referred to as RTP messages. For example... Figure 1 As shown, the header of an RTP message includes an SSRC field. The synchronization source information (SSRC identifier) ​​in the SSRC field is used to identify a signal source. For example, a camera in a terminal device is a signal source, and a microphone in a terminal device is a signal source. Different signal sources in the same session correspond to different SSRC identifiers, meaning that the SSRC identifier can uniquely identify a sub-stream in the target session's message flow.

[0126] Therefore, when the packets in the target session packet stream are RTP packets, in scenarios where the same session includes multiple sub-streams (multiple signal sources), the network device further identifies whether the packet belongs to the target video stream based on the synchronization source information in the packet. The following describes the method used by the network device to identify whether packet B belongs to the target video stream, using a packet from the target session packet stream (hereinafter referred to as packet B). The same method is used for other packets. Specifically, after determining that packet B belongs to the target session packet stream, the network device further obtains the synchronization source information in packet B. If the synchronization source information of packet B is the same as the synchronization source information of the target video stream, then packet B can be determined to belong to the target video stream. If the stream identifier of packet B is different from the stream identifier of the target video stream, then packet B cannot be confirmed to belong to the target video stream. Thus, the network device can obtain the statistical information of the target video stream in each period based on the packets in the target video stream.

[0127] Network devices need to know the stream identifier and synchronization source information of the target video stream before they can identify it. The stream identifier and synchronization source information of the target video stream are either pre-configured on the network device, or generated by the network device. The following describes several possible implementation methods for network devices to obtain the stream identifier and synchronization source information of the target video stream.

[0128] In one possible implementation, the network management system (controller) sends a configuration message to the network device. The configuration message includes the stream identifier and synchronization source information of the target video stream. The network device stores the stream identifier and synchronization source information of the target video stream, so that it can subsequently identify packets belonging to the target video stream based on the stream identifier and synchronization source information of the target video stream.

[0129] In another possible implementation, the network device is configured to statistically monitor M metrics of the video sub-stream of the target application / target application type. In this case, the network device generates the stream identifier and synchronization source information of the target video stream. The target application is a specific application, such as Huawei Cloud Meeting or Tencent Meeting. The application type is used to classify applications; one application type includes multiple applications with the same or similar functions. The target application type is one of several application types. Examples of target application types include video conferencing, voice communication, or live streaming. In this case, the target session packet stream is a session packet stream corresponding to the application within the target application / target application type, forwarded by the network device.

[0130] The following example, using a single session packet flow f forwarded over a network, illustrates how network devices obtain flow identifiers and synchronization source information. The network device processes other forwarded session packet flows using the same method. For instance, the network device uses application identification technology to identify the application / application type of one or more packets in session packet flow f. Examples of application identification technologies include deep packet inspection, deep flow inspection, artificial intelligence, or Smart Application Control (SAC). If the application / application type corresponding to session packet flow f is the target application / target application type, the network device obtains the flow identifier of session packet flow f from the packets of session packet flow f and retrieves the synchronization source information from the packets of flow f. If session packet flow f includes multiple sub-flows, the network device retrieves the synchronization source information corresponding to the multiple sub-flows of session packet flow f from the different packets of session packet flow f. For example, a session message flow f includes sub-flows f1 and f2. The network device obtains the synchronization source information SSRC1 of sub-flow f1 from message C of session message flow f, and obtains the synchronization source information SSRC2 of sub-flow f2 from message D of session message flow f. Thus, based on the synchronization source information, the network device can distinguish each sub-flow in the session message flow.

[0131] When a session packet stream f comprises multiple sub-streams, the network device further identifies which sub-streams of packet stream f are video streams. Generally, because the amount of video data is greater than that of audio data, within the same time period, the throughput / number of packets / average packet length of the video stream is significantly greater than that of the audio stream. Optionally, the network device can statistically analyze the throughput / number of packets / average packet length of each sub-stream of session packet stream f within a preset time period, and identify the sub-streams with throughput exceeding a threshold / number of packets exceeding a threshold / average packet length exceeding a threshold as video streams. Optionally, the network device can statistically analyze the throughput / number of packets / average packet length of each sub-stream of session packet stream f within a preset time period, and identify the sub-stream with the highest throughput / number of packets / average packet length as video streams. Assuming the network device determines that sub-stream f2 of session packet stream f is a video stream, the network device stores the stream identifier of sub-stream f2 (the stream identifier of sub-stream f2 is the same as the stream identifier of session packet stream f) and synchronization source information. Subsequently, the network device can identify the packets in sub-stream f2 of session packet stream f based on the stream identifier of session packet stream f and the synchronization source information SSRC2 of sub-stream f2 of packet stream f, and then perform statistics on M target indicators of sub-stream f2 of session packet stream f and evaluate the experience of sub-stream f2.

[0132] It is understandable that, since the target session packet stream is a session packet stream corresponding to the target application / target application type forwarded by the network device, and the target video stream is a video sub-stream in the session packet stream, the method by which the network device obtains the stream identifier and synchronization source information of the target video stream is the same as the method by which the network device obtains the stream identifier and synchronization source information of the sub-stream f2 of the session packet stream f, and will not be repeated here.

[0133] After identifying the packets in the target video stream based on the stream identifier and synchronization source information, the network device performs statistics on M target indicators of the target video stream within the corresponding period.

[0134] The meaning of the M target indicators will be explained first, and then the statistical analysis of each target indicator by the network device will be explained.

[0135] In this embodiment, the change in the statistical value of each of the M target indicators over adjacent periods reflects the change in the weak network confrontation intensity of the target video stream. Weak network confrontation refers to the measures (behaviors / methods) taken by the application server or terminal device to ensure the video stream experience is degraded. The target indicator is an indicator whose statistical value changes accordingly with the change in the weak network confrontation intensity. Alternatively, a change in the statistical value of an indicator will cause a change in the weak network confrontation intensity. Therefore, based on the change in the statistical value of the target indicator over adjacent periods, the change in the weak network confrontation intensity can be determined, thereby determining whether the target video stream has experienced experience degradation.

[0136] Different network vulnerability countermeasures affect different metrics. Since there are many network vulnerability countermeasures, the metrics affected are also numerous, and it's impossible to list them all here. Network vulnerability countermeasures include, but are not limited to, Forward Error Correction (FEC) and reducing video frame rate / resolution. The following sections will explain two network vulnerability countermeasures—Forward Error Correction and reducing video frame rate / resolution—and the target metrics affected by each of these measures. The intensity changes of each network vulnerability countermeasure during experience degradation, the statistical changes of the corresponding target metrics, and the statistical methods for each target metric will also be explained.

[0137] Weak network countermeasure 1: Forward error correction

[0138] Real-time video applications, such as video conferencing and live streaming, are highly sensitive to latency and packet loss. When packet loss occurs in the network, video applications may experience stuttering, screen tearing, and other issues, severely impacting the user experience. When packet loss in the target video stream leads to a degraded experience, the sender (application server or terminal device) adds a Forward Error Correction (FEC) message carrying verification information to the original message. The receiver then decodes and recovers the lost message based on the received FEC message, ensuring a smooth video playback experience. The original message, also known as the normal message, carries the video data. The forward error correction message, also known as the redundant message, carries data obtained by the sender of the target video stream through FEC encoding of the original message using an FEC encoding algorithm. Examples of FEC encoding algorithms include Exclusive OR (XOR) encoding and Reed-Solomon (RS) encoding.

[0139] For example, such as Figure 5aAs shown, the sending end of the target video stream uses the FEC encoding algorithm to perform FEC encoding on m original packets in the target video stream to be sent, obtaining n forward error correction (FEC) packets. The sending end of the target video stream sends the m original packets and the n FEC packets within the time intervals that would normally be used to send the m original packets. The n FEC packets are sent along with the target video stream. The receiving end of the target video stream receives at least k packets from the m original packets and the n FEC packets, thus restoring the m original packets and enabling the receiving end of the target video stream to play the video smoothly. Here, k is an integer greater than or equal to m and less than or equal to m+n.

[0140] The error correction capability (ability to recover lost original packets) of FEC is related to the FEC redundancy rate. The FEC redundancy rate is the ratio of the number of forward error correction packets to the number of original packets, i.e., FEC redundancy rate = n / m. A higher FEC redundancy rate results in more forward error correction packets and a greater number of recoverable lost original packets. Conversely, a lower FEC redundancy rate results in fewer forward error correction packets and a smaller number of recoverable lost original packets.

[0141] Changes in network quality can alter the viewing experience of the target video stream. For example, when packet loss in the target video stream changes from random to continuous, the viewing experience deteriorates. Conversely, when packet loss changes from continuous to random, the viewing experience improves. Therefore, the sender of the target video stream can adaptively adjust the Forward Error Correction (FEC) redundancy rate based on these changes (reported back from the receiver to the sender). This increases the FEC redundancy rate when the viewing experience deteriorates, effectively increasing the number of forward error correction (FEC) packets in the target video stream. This allows more lost original packets to be recovered, ensuring a smooth playback experience. For instance, with m=5, before the viewing experience deteriorates, the FEC redundancy rate is 20%, meaning one FEC packet is generated for every five original packets. When the viewing experience deteriorates, the FEC redundancy rate increases to 40%, generating two FEC packets for every five original packets. When the target video stream provides a normal experience, the sender of the target video stream maintains the current FEC redundancy rate, meaning the number of forward error correction packets remains unchanged. When network quality improves and the packet loss rate decreases, the sender of the target video stream reduces the FEC redundancy rate, meaning it reduces the number of forward error correction packets.

[0142] For example, such as Figure 5bAs shown, before time t1, the sender of the target video stream did not increase the FEC redundancy rate, and the FEC redundancy rate was 20%. The number of packets of the target video stream sent by the sender was relatively stable (and correspondingly, the throughput of the target video stream was also relatively stable). At time t1, in response to the degradation of the target video stream, the sender increased the FEC redundancy rate to 40%. Subsequently, the number of packets of the target video stream sent by the sender per unit time increased significantly (and correspondingly, the throughput of the target video stream also increased significantly). Correspondingly, at time t2, the network device received packets sent by the sender of the target video stream after increasing the FEC redundancy rate. If an FEC redundancy rate of 40% can guarantee the experience of the target video stream, then the sender of the target video stream does not need to further increase the FEC redundancy rate, and the number of packets of the target video stream remains relatively stable for a period of time after time t2. If the target video stream experiences further degradation, the sender of the target video stream will increase the FEC redundancy rate at time t3 in response to the degradation, reaching a redundancy rate of 60%. Subsequently, the number of packets sent by the sender of the target video stream per unit time will increase significantly (correspondingly, the throughput of the target video stream will also increase significantly). Correspondingly, the network device will receive the packets sent by the sender of the target video stream after increasing the FEC redundancy rate at time t4.

[0143] It can be seen that when the sender of the target video stream employs FEC (Forward Error Correction), a weak network countermeasure, every m original packets in the target video stream will generate n forward error correction packets, significantly increasing the number of packets in the target video stream. Furthermore, due to the transmission of more packets in the target video stream per unit time, the throughput of the target video stream also increases. Further, when the experience of the target video stream deteriorates, the FEC redundancy rate increases (i.e., the FEC strength increases), which further increases the number of forward error correction packets in the target video stream, leading to a further increase in the number of packets and throughput of the target video stream. In other words, changes in the FEC strength of the target video stream will lead to changes in the number of packets and the throughput of the target video stream.

[0144] Therefore, the M target metrics can include throughput and / or packet count. Network devices periodically calculate the throughput / packet count of the target video stream, obtaining statistical values ​​for the throughput / packet count of the target video stream in each period. The throughput statistic is the ratio of the total number of bits of the target video stream forwarded by the network device within a period to the duration of the period. The packet count statistic is the total number of packets of the target video stream forwarded by the network device within a period.

[0145] The following describes the method for network devices to calculate the throughput / number of packets of the target video stream in period i, using any one period (e.g., period i) as an example. The method for network devices to calculate the throughput / number of packets of the target video stream in other periods is the same as the method for network devices to calculate the throughput / number of packets of the target video stream in period i.

[0146] The network device identifies packets belonging to the target video stream among the packets forwarded in period i, and counts the number of packets belonging to the target video stream forwarded within period i, thus obtaining a statistical value of the number of packets belonging to the target video stream in period i. For example, after the start of period i, the network device records the number v of packets belonging to the target video stream currently received. Each time the network device receives a packet belonging to the target video stream in period i, it updates the count value v = v + 1. After the end of period i, the count value v recorded by the network device is the statistical value of the number of packets belonging to the target video stream in period i.

[0147] The network device identifies the packets belonging to the target video stream in the packets forwarded in period i, and obtains the length (number of bits) of each packet belonging to the target video stream. The network device sums the lengths of all packets belonging to the target video stream forwarded in period i to obtain the total length corresponding to period i. The total length corresponding to period i is divided by the duration of period i to obtain the statistical value of the throughput of period i.

[0148] Degradation of the target video stream experience leads to an increase in FEC redundancy, which in turn increases the number of packets / throughput of the target video stream. This can be reflected in the changes in throughput / number of packets between adjacent periods and the statistical values ​​of video frame rate / resolution.

[0149] For example, such as Figure 5c As shown, Figure 5c In order to be in Figure 5b The scenario shown illustrates the trend of throughput / packet count statistics across multiple adjacent periods obtained from network device statistics. Specifically, time t2 falls within period 3, and time t4 falls within period 7. It can be observed that increasing the FEC redundancy rate at time t1 leads to a decrease in throughput / packet count and a significant increase in video frame rate / resolution statistics in periods 3 and 4. Similarly, increasing the FEC redundancy rate at time t3 leads to a decrease in throughput / packet count and a significant increase in video frame rate / resolution statistics in period 7.

[0150] Therefore, based on the relationship between the deterioration of the target video stream experience and changes in FEC redundancy rate, and the causal relationship between changes in FEC redundancy rate and the magnitude of changes in the throughput / packet count statistics, given the magnitude of the change in the throughput / packet count statistics, we can infer the change in FEC redundancy rate and thus determine whether the target video stream experience has deteriorated. Generally, a single FEC redundancy rate adjustment will result in a change of 10% to 30% in the throughput / packet count statistics.

[0151] Second countermeasure against weak networks: reduce video frame rate / resolution

[0152] When the target video stream experiences degradation, sending forward error correction messages can improve the experience, allowing the receiving end to play the video smoothly. However, sending forward error correction messages increases the bandwidth resources required by the target video stream. Especially when network congestion occurs, sending too many forward error correction messages can further exacerbate the network burden, leading to a further degradation of the target video stream experience.

[0153] When forward error correction can no longer guarantee the experience of the target video stream, the sender of the target video stream will consider network bandwidth limited. At this point, it will reduce the video frame rate and / or resolution to decrease the network bandwidth requirements of the target video stream. The receiver of the target video stream can reduce both the video frame rate and resolution simultaneously, or only the video frame rate, or only the video resolution. As the experience of the target video stream continues to deteriorate, it can be countered by alternating between reducing the video frame rate and reducing the video resolution until the experience of the target video stream no longer deteriorates.

[0154] Reducing the video frame rate, such as from 30 frames per second to 20 frames per second, or from 25 frames per second to 15 frames per second, will reduce the number of frames of images that need to be sent, resulting in a significant reduction in the amount of video data that the target video stream needs to transmit, thus reducing the throughput of the target video stream.

[0155] Reducing the video resolution, such as from 1080p to 720p, or from 720p to 360p, reduces the amount of data per frame. This significantly reduces the amount of video data that the target video stream needs to transmit, thus reducing the throughput of the target video stream. Furthermore, because the amount of data per frame is smaller, the amount of video data that each packet in the target video stream needs to carry is smaller, thereby reducing the packet length in the target video stream.

[0156] For example, taking the impact of reduced resolution on message length / throughput as an example, such as Figure 6aAs shown, before time t5, the sender of the target video stream did not reduce the video resolution; the video resolution was 1080p. The packet length and throughput of the target video stream sent by the sender remained relatively stable. At time t5, in response to the degradation of the target video stream, the sender reduced the video resolution to 720p. Subsequently, the packet length of the target video stream sent by the sender decreased significantly, and the throughput also decreased significantly. Correspondingly, the network device received the packet sent by the sender of the target video stream after reducing the video resolution at time t6. If a video resolution of 720p can guarantee the viewing experience of the target video stream, the sender does not need to further reduce the video resolution, and the throughput and packet length of the target video stream remain relatively stable for a period after time t6. If the target video stream experiences further degradation, the sender of the target video stream will further reduce the video resolution at time t7 in response to the degradation, lowering it to 360p. Subsequently, the packet length of the target video stream packets sent by the sender will be significantly reduced, and the throughput of the target video stream will also be significantly reduced. Correspondingly, the network device will receive packets sent by the sender of the target video stream after further reducing the video resolution at time t8.

[0157] It's important to note that reducing the FEC redundancy rate also leads to a decrease in the throughput of the target video stream, but the magnitude of this decrease is less than that caused by reducing the video frame rate / resolution. For example, each reduction in FEC redundancy rate typically results in a throughput reduction of less than 30%, while reducing the video frame rate / resolution often leads to a throughput reduction greater than 30%. For instance, reducing the redundancy rate from 30% to 20% results in a throughput reduction of approximately 12.5%. Reducing the resolution from 1080p to 720p results in a throughput reduction of approximately 55.6%. Reducing the video frame rate from 30 frames per second to 20 frames per second results in a throughput reduction of approximately 33%. Therefore, the magnitude of the throughput reduction can distinguish whether the decrease is due to reducing the FEC redundancy rate or reducing the video frame rate / resolution.

[0158] Therefore, optionally, the M target metrics include throughput and / or average packet length. The network device periodically calculates the throughput / average packet length of the target video stream, obtaining a statistical value for the throughput / average packet length of the target video stream in each period. The statistical value for average packet length is the average length of packets from the target video stream forwarded by the network device within one period.

[0159] The following explanation uses the statistical value of the average packet length of the target video stream in period i as an example. The method by which the network device obtains the statistical value of the average packet length of the target video stream in other periods is the same as the method for obtaining the statistical value of the average packet length of the target video stream in period i. The network device obtains the packet length of each packet in the target video stream forwarded within period i, and counts the number q of packets in the target video stream forwarded within period i. The network device then divides the sum of the packet lengths of the q packets in the target video stream forwarded within period i by the number q to obtain the statistical value corresponding to the average packet length of the target video stream in period i.

[0160] The degradation of the target video stream experience leads to a reduction in video frame rate / resolution, which in turn results in a decrease in the throughput / average message length of the target video stream. This can be reflected in the changes in the statistical values ​​corresponding to the throughput / average message length between adjacent periods.

[0161] For example, such as Figure 6b As shown, Figure 6b In order to be in Figure 6a The diagram illustrates the changing trends of throughput / average packet length statistics across multiple periods, obtained from network device statistics, in the illustrated scenario. Specifically, time t6 falls within period n+2, and time t8 falls within period n+6. It can be observed that when the sender of the target video stream reduces the video frame rate / resolution at time t5, the throughput / average packet length statistics for the target video stream significantly decrease in periods n+2 and n+3. Similarly, when the sender of the target video stream reduces the video frame rate / resolution at time t7, the throughput / average packet length statistics for the target video stream significantly decrease in period n+6.

[0162] Therefore, based on the relationship between the degradation of the target video stream experience and changes in video frame rate / resolution, and the causal relationship between changes in video frame rate / resolution and the magnitude of changes in the statistical values ​​of throughput / average message length, given the magnitude of changes in the statistical values ​​of throughput / average message length, we can infer the changes in video frame rate / resolution in reverse, thereby determining whether the target video stream experience has degraded. Generally, a single adjustment to the video frame rate / resolution results in a 30% to 80% change in the statistical values ​​of throughput / average message length. It should be noted that in this embodiment, the magnitude of changes in throughput / average message length is calculated based on the number of pixels. In reality, the actual value may vary due to factors such as the encoding algorithm and the complexity of the content in the video image. However, changes in the number of pixels are the main factor affecting the changes in throughput, message count, and average message length of the target video stream, and the actual values ​​of the magnitude of changes in throughput / message count / average message length will not deviate significantly from the theoretical values ​​obtained based on the number of pixels. The method for calculating the magnitude of changes in throughput / message count / average message length in the following text is similar.

[0163] In this embodiment, the change in the strength of weak network countermeasures can refer to the change in the strength of a single weak network countermeasure. For example, the change in the strength of forward error correction (FEC) is a change in the FEC redundancy rate; increasing the FEC redundancy rate increases the strength of weak network countermeasures, while decreasing it decreases. For example, further reducing the frame rate / resolution can also increase the strength of weak network countermeasures. In one possible scenario, the change in the strength of weak network countermeasures can be the addition of more weak network countermeasures. For example, if FEC can no longer guarantee the experience of the target video stream, reducing the frame rate / resolution to ensure the experience can be considered as increasing the strength of weak network countermeasures.

[0164] In this embodiment, the M target metrics include at least one of throughput, number of packets, and average packet length.

[0165] S302, the network device determines whether the target video stream experiences degradation in the first period based on statistical information from N periods. The first period is one of the N periods.

[0166] Based on statistical information from N periods, the variation range of the statistical value of each target indicator can be obtained. By determining whether the variation range of the statistical value of the target indicator is within the range of variation caused by changes in the strength of weak network countermeasures, it can be determined whether the target video stream experiences degradation in the first period. Here, the first period is one of the N periods.

[0167] Besides changes in the strength of weak network countermeasures such as forward error correction and reduction of video frame rate / resolution, which can cause changes in the statistical values ​​of the M target metrics, there are other non-experience degradation factors that can also cause changes in the statistical values ​​of the M target metrics. For example, changes in the size of the video window corresponding to the target video stream at the receiving end, or the opening or closing of the target video stream. Therefore, it is necessary to identify and differentiate the reasons for changes in the statistical values ​​of the target metrics in order to more accurately assess the experience of the target video stream.

[0168] The following sections describe the characteristics of changes in the statistical values ​​of the target metrics caused by changes in the size of the video window and the opening and closing of the target video stream, and explain the differences between these changes and those caused by changes in the strength of weak network countermeasures such as forward error correction and reduction of video frame rate / resolution.

[0169] 1. Changes in video window size

[0170] Changes in video window size include both decreasing and increasing the video window area. A larger video window allows for a higher frame rate and resolution of the video being played, requiring the sender to transmit higher frame rate and resolution video data, resulting in higher packet count, throughput, and average packet length. Conversely, a smaller video window allows for a lower frame rate and resolution of the video being played. To conserve bandwidth and reduce the computational resources required for decoding the video stream at the receiver, the sender transmits lower frame rate and resolution video data, resulting in lower packet count, throughput, and average packet length. Therefore, if the video window corresponding to the target video stream decreases in size, the packet count, throughput, and average packet length of the target video stream will increase. Conversely, if the video window corresponding to the target video stream increases in size, the packet count, throughput, and average packet length of the target video stream will decrease.

[0171] In one possible scenario, such as Figure 7a As shown, at the receiving end of the target video stream, the user graphical interface of the audio / video application client is a speaker view. The speaker view includes a large video window and at least one small video window. The video window size changes as the video window playing the target video stream switches from the large video window to the small video window, or vice versa. The large video window plays video at, for example, a resolution of 1080p and a frame rate of, for example, 30 frames per second. The small video window plays video at, for example, a resolution of 480p and a frame rate of, for example, 25 frames per second. It can be calculated that switching the target video stream's video window from the large video window to the small video window reduces throughput by approximately 83.5%. Alternatively, switching the target video stream's video window from the small video window to the large video window increases throughput by approximately 500%.

[0172] In another possible scenario, such as Figure 7b As shown, at the receiving end of the target video stream, the video window size changes between the user graphical interface of the audio / video application client in full-screen mode and the user graphical interface of the audio / video application client in small window mode (or floating window mode). The area of ​​the video window in small window mode is significantly smaller than that in full-screen mode. In full-screen mode, the video window plays video at a resolution of, for example, 1080p and a frame rate of, for example, 30 frames per second. In small window mode, the video window plays video at a resolution of, for example, 360p and a frame rate of, for example, 30 frames per second. It can be calculated that when the video window corresponding to the target video stream is switched from a large video window to a small video window, the throughput decreases by approximately 88.9%. Alternatively, when the video window corresponding to the target video stream is switched from small window mode to full-screen mode, the throughput increases by approximately 400%.

[0173] While resizing the video window causes changes in video frame rate and resolution, leading to a significant decrease in the throughput, number of packets, and average packet length of the target video stream, the magnitude of this change differs from the magnitude caused by a deterioration in response experience. Specifically, resizing the video window is a one-step process, resulting in a larger change in frame rate and resolution. For example, a sudden drop in video resolution from 1080p to 480p, or from 720p to 360p, accompanied by a decrease in frame rate; or a sudden increase in video resolution from 480p to 1080p, or from 360p to 720p, also accompanied by an increase in frame rate. This causes a large jump in the throughput, number of packets, and average packet length of the target video stream within a short period. When the target video stream experience deteriorates, the sending end of the target video stream gradually reduces the video frame rate / resolution to balance video smoothness and clarity. For example, the video resolution is reduced from 1080p to 720p, and the frame rate is reduced from 30 frames per second to 25 frames per second. If reducing the video frame rate / resolution still cannot guarantee a satisfactory experience, the video resolution is further reduced from 720p to 480p, and the frame rate is reduced from 25 frames per second to 20 frames per second.

[0174] It can be seen that the decrease in video frame rate / resolution due to video experience degradation is significantly smaller than the decrease in video frame rate / resolution caused by switching the video window from large to small. Therefore, within the same duration, the first change in the statistical values ​​of throughput / number of packets / average packet length of the target video stream caused by video experience degradation is significantly smaller than the second change in the statistical values ​​of throughput / number of packets / average packet length of the target video stream caused by switching the video window from large to small. For example, the first change in throughput is between 30% and 80%, while the second change is between 80% and 100%.

[0175] Furthermore, the third change in the throughput / packet count caused by a single increase in FEC redundancy rate is between 10% and 30%, which is much smaller than the fourth change in the throughput / packet count of the target video stream caused by switching the video window from small to large. For example, the fourth change in the throughput count is greater than 200%.

[0176] Besides the larger magnitude of the second variation, the impact of video window size changes on the statistical values ​​of throughput / number of packets / average packet length has some other characteristics. For example... Figure 7cAs shown, when the user experience is not degraded, after the video window size corresponding to the target video stream changes, the statistical values ​​of throughput / number of packets / average packet length remain stable in subsequent cycles. Furthermore, after the video window size changes, the statistical values ​​of throughput / number of packets / average packet length show a monotonically increasing or decreasing trend over several consecutive cycles.

[0177] Therefore, by analyzing the magnitude of changes in the statistical values ​​of throughput, number of packets, and average packet length of the target video stream, it is possible to distinguish whether the changes are caused by changes in the video window size or by changes in the strength of weak network countermeasures. Optionally, further combining the changing trends of the statistical values ​​of throughput, number of packets, and average packet length over multiple periods can more accurately assess whether the target video stream has experienced performance degradation.

[0178] Second, turn the target video stream on and off.

[0179] At the start of a video communication session, or during a video communication session, if a user joins the video communication, a new video substream will be added (started) to the target session message stream. If a user leaves the video communication session, a new video substream will be removed (closed) from the target session message stream.

[0180] The following describes the changes in the statistical values ​​of the M target metrics of the target video stream before and after the target video stream is enabled.

[0181] like Figure 8 As shown, in period 1 before the target video stream is started, the network device cannot obtain the statistical values ​​of the M target metrics of the target video stream, or in other words, the statistical values ​​of the M target metrics of the target video stream are 0. In period 1, the statistical value of the number of packets of the target video stream is 0 (or close to 0), the statistical value of the throughput is 0 megabits per second (Mbps), and the average packet length is 0 bits.

[0182] After the target video stream is initiated, it arrives at the network device in cycle 2. The throughput, number of packets, and average packet length statistics for cycle 2 increase. For example, in cycle 2, the target video stream throughput is 0.8 Mbps, the number of packets is 5000, and the average packet length is 980 bits.

[0183] The throughput and number of packets of the target video stream increased in period 3 compared to period 2, while the average packet length remained similar. For example, in period 3, the throughput of the target video stream was 1.6 Mbps, the number of packets was 10,000, and the average packet length was 1020 bits.

[0184] Assuming no degradation in the target video stream's experience, the throughput and packet count statistics for the target video stream in cycle 4 are close to or the same as those in cycle 3. For example, in cycle 4, the target video stream's throughput is 1.5 Mbps, the packet count is 9600, and the average packet length is 1000 bits.

[0185] The throughput and packet count statistics for cycle 2 are lower than those for cycle 3. This is because the start time of cycle 2 and the arrival time of the target video stream after it starts are not synchronized. The network device only receives packets from the target video stream during a portion of cycle 2. For example, the target video stream arrives at the network device at a time ta1 within cycle 2, with cycle 2 starting at ta0 and ending at ta2. In scenario 1, if time ta1 is greater than time ta0, the network device can only receive packets from the target video stream during a portion of cycle 2 (from time ta1 to time ta2). Therefore, the throughput and packet count statistics for the target video stream in cycle 2 are lower than those in cycle 3. In scenario 2, if time ta1 is the same as time ta0, or if time ta1 and time ta0 are very close, the network device receives packets from the target video stream almost throughout cycle 2. In this case, the throughput and packet count statistics for the target video stream in cycles 2 and 3 are the same or close. Figure 8 Let's take scenario one as an example.

[0186] Therefore, the pattern of changes in throughput and packet count statistics caused by enabling the target video stream is as follows: in the period preceding the period in which the throughput and packet count statistics begin to increase, the throughput, packet count, and average packet length statistics of the target video stream are 0 or close to 0. When the pattern of changes in throughput / packet count / average packet length statistics for multiple consecutive periods matches the pattern of changes in throughput / packet count / average packet length statistics caused by enabling the target video stream, it can be considered that the changes in throughput or packet count statistics are caused by disabling the target video stream, and thus it can be considered that there is no degradation in the target video stream experience.

[0187] Optionally, the user experience of the target video stream can be further assessed more accurately by comparing the changes in the statistical values ​​of the average message length across multiple adjacent periods to determine whether the experience is degraded. For example, if the change in the statistical values ​​of the average message length between adjacent periods (such as period 2 and period 3) is less than the average message length threshold, it can be confirmed that the target video stream does not have a degraded experience. If the change in the statistical values ​​of the average message length between adjacent periods (such as period 2 and period 3) is greater than or equal to the average message length threshold, it can be confirmed that the target video stream has a degraded experience. The average message length threshold can be a value between 3% and 10%, such as 3%, 5%, 8%, 10%, etc. Of course, the average message length threshold can also be larger or smaller, and this application does not impose any limitations on this.

[0188] The following describes the changes in the statistical values ​​of the M target metrics of the target video stream before and after it was closed.

[0189] like Figure 8 As shown, in period 4 before the target video stream is shut down, the network device acquires statistical values ​​of M target metrics for the target video stream. The statistical values ​​of the M target metrics in period 4 are at a high level. For example, in period 4, the statistical value of the target video stream's throughput is 1.5 Mbps, the statistical value of the number of packets is 9600, and the average packet length is 1000 bits.

[0190] After the target video stream is shut down, the network device will not receive any packets from the target video stream at some point within period 5, and the statistics for throughput, number of packets, and average packet length in period 5 will decrease. For example, in period 5, the throughput of the target video stream is 1.1 Mbps, the number of packets is 7000, and the average packet length is 990 bits.

[0191] If the network device does not receive any packets from the target video stream in period 6, the statistical values ​​of the M target metrics for the target video stream will further decrease. For example, in period 6, the throughput of the target video stream is 0 Mbps, the number of packets is 0, and the average packet length is 0 bits.

[0192] Therefore, the pattern of changes in throughput and packet count statistics caused by closing the target video stream is as follows: in the period following the initial decrease in throughput and packet count statistics, the throughput, packet count, and average packet length statistics of the target video stream are 0 or close to 0. When the pattern of changes in throughput or packet count statistics for multiple consecutive periods matches the pattern of changes in throughput and packet count statistics caused by opening the target video stream, it can be considered that the change in throughput or packet count statistics is caused by opening the target video stream, and thus it can be considered that there is no degradation in the target video stream experience.

[0193] Optionally, the performance of the target video stream can be further assessed by comparing the changes in the statistical values ​​of the average message length across multiple adjacent periods to determine whether the experience of the target video stream has deteriorated, thus providing a more accurate evaluation of the stream's performance. For example, if the change in the statistical values ​​of the average message length between adjacent periods (such as periods 4 and 5) is less than the average message length threshold, it can be confirmed that the target video stream does not experience deterioration. If the change in the statistical values ​​of the average message length between adjacent periods (such as periods 4 and 5) is greater than or equal to the average message length threshold, it can be confirmed that the target video stream does experience deterioration.

[0194] As the analysis above shows, based on the variation range and trend of the statistical values ​​of the M target indicators of the target video stream, it is possible to determine whether the variation of the statistical values ​​of the target indicators is caused by changes in the strength of weak network adversarial forces (indicating experience degradation) or by changes in the video window size or by opening / closing the video stream (indicating no experience degradation), thereby achieving an accurate assessment of the experience of the target video stream.

[0195] The following describes several possible implementations of a network device determining whether a target video stream experiences degradation in the first period based on statistical information from N periods. Of course, the implementation methods used in this application to determine whether a target video stream experiences degradation in the first period based on statistical information from N periods are not limited to these.

[0196] In one possible implementation, N=2. The network device determines whether it experiences performance degradation in the first period based on the variation of statistical values ​​of M target indicators across two adjacent periods. For example, the N periods may also include a third period, which is temporally adjacent and continuous with the first period, and which is temporally earlier than the first period.

[0197] The M target metrics include at least one of throughput, number of packets, and average message length. For example, the M target metrics include only throughput. Or, the M target metrics include only the number of packets. Or, the M target metrics include any two of throughput, number of packets, and average message length. Or, the M target metrics include all three of throughput, number of packets, and average message length.

[0198] like Figure 9 As shown, this embodiment uses throughput as an example of M target indicators to describe a method for evaluating whether a target video stream experiences degradation in the first period based on statistical information from the third period and the first period. The statistical information from the third period includes the third statistical value of throughput, and the statistical information from the first period includes the first statistical value of throughput.

[0199] S901, obtain the first statistical value of throughput and the seventh growth value of the third statistical value of throughput.

[0200] In one possible implementation, the seventh growth value is the difference between the first statistical value of throughput and the third statistical value of throughput, that is, the seventh growth value is obtained by subtracting the third statistical value of throughput from the first statistical value of throughput.

[0201] In another possible implementation, the seventh growth value is the growth rate of the first statistic of throughput compared to the third statistic of throughput. That is, the seventh growth value is obtained by dividing the difference between the first statistic of throughput and the third statistic of throughput by the first statistic of throughput.

[0202] The seventh growth value represents the increase in throughput from the statistical value in the first period to the statistical value in the third period. A positive seventh growth value indicates a positive increase in throughput from the first period to the third period. A negative seventh growth value indicates a negative increase in throughput from the first period to the third period. The seventh growth value can also be 0, meaning the first and third statistical values ​​of throughput are the same.

[0203] S902, determine whether the absolute value of the seventh growth value is less than the first threshold Th1.

[0204] The first threshold is used to determine whether the seventh growth value is within the normal fluctuation range; that is, the first threshold is used to limit a reasonable fluctuation range. For example, when the network experiences a small amount of random packet loss, or when the complexity of the video content changes, the throughput statistics will fluctuate slightly, but these situations will not affect the video experience.

[0205] Therefore, when -Th1 < seventh growth value < Th1, that is, when the absolute value of the seventh growth value is less than the first threshold, it can be considered that the target video stream has no degradation in the first cycle experience, and the network device executes S906.

[0206] When the absolute value of the seventh growth value is greater than or equal to the first threshold, it indicates that the growth of the first statistical value of throughput compared to the third statistical value of throughput exceeds the normal fluctuation range, and further judgment is needed as to whether it is caused by changes in the intensity of weak network confrontation.

[0207] If the seventh growth value is positive, it is necessary to further distinguish whether the seventh growth value is caused by increasing FEC strength (increasing FEC redundancy rate), or by increasing the size of the video window, opening the target video stream, or increasing the video frame rate / resolution. In this case, S903 will be executed.

[0208] If the seventh growth value is negative, it is necessary to further distinguish whether the seventh growth value is caused by reducing the video frame rate / resolution, or by reducing the FEC intensity, or by reducing the size of the video window, or by closing the target video stream. In this case, S904 will be executed.

[0209] S903, determine whether the seventh growth value is greater than or equal to the second threshold.

[0210] The second threshold is used to determine whether the seventh increase is a significant increase. The second threshold is greater than the first threshold, and it is greater than the increase in throughput statistics caused by increasing FEC redundancy, but less than the increase in throughput statistics caused by increasing video frame rate / resolution. Since the increase in throughput statistics caused by increasing the video window size, opening the target video stream, or increasing the video frame rate / resolution is greater than the increase in throughput statistics caused by increasing FEC redundancy, a comparison with the second threshold can determine whether the seventh increase is caused by non-experience-degrading factors such as increasing the video window size, opening the target video stream, or increasing the video frame rate / resolution.

[0211] If the seventh growth value is greater than or equal to the second threshold, it indicates that the first statistical value of throughput has increased significantly compared to the third statistical value of throughput. The seventh growth value may be caused by the video window being enlarged, the target video stream being opened, or the video frame rate / resolution being increased. Therefore, it can be determined that the experience of the target video stream has not degraded in the first cycle, and the network device executes S906.

[0212] If the seventh growth value is less than the second threshold, it indicates that the seventh growth value may be caused by increasing the FEC redundancy rate. It can be assumed that the target video stream experiences degradation in the first cycle, and the network device executes S907.

[0213] S904, determine whether the absolute value of the seventh growth value is greater than or equal to the third threshold.

[0214] The third threshold is used to determine whether the seventh increase value represents a significant decrease. The third threshold is greater than the first threshold, and also greater than the decrease in throughput caused by reducing the video frame rate / resolution, but less than the decrease in throughput caused by shrinking the video window or closing the target video stream. Since the decrease in throughput caused by shrinking the video window or closing the target video stream is greater than the decrease in throughput caused by reducing FEC redundancy and reducing video frame rate / resolution, a comparison with the third threshold can determine whether the seventh increase value is caused by non-experience-degrading factors such as shrinking the video window or closing the target video stream.

[0215] If the absolute value of the seventh growth value is greater than or equal to the third threshold, it indicates that the first statistical value of throughput has decreased significantly compared to the third statistical value of throughput. The seventh growth value may be caused by the video window shrinking or the target video stream being closed. Therefore, it can be determined that the experience of the target video stream has not deteriorated in the first cycle, and the network device executes S906.

[0216] If the absolute value of the seventh growth value is less than the second threshold, it indicates that the seventh growth value may be caused by reducing the FEC redundancy rate or by reducing the video frame rate / resolution. Further differentiation is needed, and the network device should execute S905.

[0217] S905, determine whether the absolute value of the seventh growth value is greater than or equal to the fourth threshold.

[0218] The fourth threshold is less than the third threshold, and while it is greater than the decrease in throughput caused by reducing the FEC redundancy rate, it is less than the decrease in throughput caused by reducing the video frame rate / resolution. Since the decrease in throughput caused by reducing the video frame rate / resolution is greater than the decrease caused by reducing the FEC redundancy rate, comparing the seventh increase value with the fourth threshold allows us to distinguish whether the seventh increase value is caused by reducing the FEC redundancy rate or reducing the video frame rate / resolution.

[0219] If the absolute value of the seventh growth value is greater than or equal to the fourth threshold, it indicates that the seventh growth value is caused by a reduction in video frame rate / resolution. It can be determined that the target video stream experiences degradation in the first cycle, and the network device executes S907.

[0220] If the absolute value of the seventh growth value is less than the fourth threshold, it indicates that the seventh growth value is caused by the reduction of FEC redundancy rate. It can be determined that the target video stream has no experience degradation in the first cycle, and the network device executes S906.

[0221] Alternatively, among the M target metrics, including average message length, the S905 can also determine whether the seventh increase in throughput is due to a reduction in FEC redundancy or a reduction in video frame rate / resolution by measuring the change between the first and third statistical values ​​of the average message length. Since reducing FEC redundancy does not affect message length, the difference between the first and third statistical values ​​of the average message length is relatively small. However, reducing the video frame rate / resolution will shorten message length, and correspondingly, the statistical value of the average message length will decrease.

[0222] S905 can determine whether the absolute value of the eighth growth value is greater than or equal to the fifth threshold. The eighth growth value is the difference or growth rate between the first statistical value of the average message length and the third statistical value of the average message length. The fifth threshold is less than the decrease in the statistical value of the average message length caused by reducing the video frame rate / resolution, and the fifth threshold is greater than the normal change range of the average message length.

[0223] Therefore, when the absolute value of the eighth growth value is greater than or equal to the fifth threshold, it indicates that the eighth growth value of the average packet length is caused by a reduction in video frame rate / resolution, resulting in a degraded experience of the target video stream in the first cycle, and the network device executes S907. When the absolute value of the eighth growth value is less than the fifth threshold, it indicates that the change in the statistical value of the average packet length is small, the seventh growth value of throughput is caused by a reduction in FEC redundancy, the target video stream does not experience a degraded experience in the first cycle, and the network device executes S906.

[0224] S906, the target video stream did not experience degradation in the first cycle.

[0225] S907, the target video stream experiences degradation in the first cycle.

[0226] Alternatively, the target metrics in S901-S907 can be replaced with the number of packets. Based on the first statistical value of the number of packets in the first period and the third statistical value of the number of packets in the third period, the judgment process in S901-S907 can also be followed to assess whether the target video stream experiences degradation in the first period.

[0227] Figure 9 This paper illustrates a method for assessing whether a target video stream experiences experience degradation in the first period based on the variation magnitude of statistical values ​​of M target indicators across two adjacent periods. In another implementation, N is an integer greater than or equal to 3, meaning that the assessment of whether a target video stream experiences experience degradation in the first period is based on the variation magnitude and trend of statistical values ​​of M target indicators across more adjacent periods.

[0228] like Figure 10 As shown, Figure 10 This application provides a flowchart illustrating a method for evaluating the experience of a target video stream based on statistical information over N periods. Figure 10 Taking N periods, including the first, second, and third periods, as an example, this section explains the implementation method of evaluating the experience of a target video stream based on statistical information from N periods. The first, second, and third periods are three consecutive periods in the temporal domain, with the third period preceding the first period in the temporal domain, and the first period preceding the second period in the temporal domain. The statistical information from the N periods includes the statistical information from the first period, which includes the first statistical value corresponding to each of the M target indicators. The statistical information from the N periods also includes the statistical information from the second period, which includes the second statistical value corresponding to each of the M target indicators. Finally, the statistical information from the N periods includes the statistical information from the third period, which includes the third statistical value corresponding to each of the M target indicators.

[0229] S1001, determine whether the target video stream has a first baseline value corresponding to M target indicators.

[0230] The baseline value corresponding to the target indicator is obtained from the statistical value of the target indicator over K periods when the target video stream is stable. K is an integer greater than or equal to 2. The K periods are continuous in the time domain. Target video stream stability means that the statistical values ​​of the M target indicators of the target video stream remain stable for at least K consecutive periods. For example, the statistical value of the target indicator remaining stable for at least K consecutive periods means that the difference between the statistical values ​​of any two periods of the target indicator is less than the statistical value change threshold corresponding to the target indicator. Alternatively, the statistical value of the target indicator remaining stable for at least K consecutive periods means that the difference between the maximum and minimum values ​​of the target indicator over at least K periods (the difference is obtained by subtracting the minimum value from the maximum value, or the range of change between the minimum and maximum values) is less than the statistical value change threshold corresponding to the target indicator.

[0231] There are several ways to determine the baseline value corresponding to a target indicator. For example, taking any one of M target indicators (e.g., target indicator A) as an example, the baseline value corresponding to target indicator A is the median value of the statistical values ​​of target indicator A over K periods when the target video stream is stable. Another example is that the baseline value corresponding to target indicator A is the average value of the statistical values ​​of target indicator A over K periods when the target video stream is stable. Yet another example is that the baseline value corresponding to target indicator A is the maximum / minimum value of the statistical values ​​of target indicator A over K periods when the target video stream is stable. Yet another example is that the baseline value corresponding to target indicator A is the average between the maximum and minimum values ​​of the statistical values ​​of target indicator A over K periods when the target video stream is stable. Of course, there are other ways to determine the baseline value corresponding to a target indicator, which will not be listed here. Optionally, the method for determining the baseline value corresponding to different target indicators can be the same. Optionally, the method for determining the baseline value corresponding to different target indicators can be different.

[0232] The threshold for statistical value changes corresponding to the target indicator is used to determine whether the change in the statistical value of the target indicator is a fluctuation within the normal range or an abnormal fluctuation. Factors that may cause abnormal fluctuations in the statistical value of the target indicator include changes in the strength of weak network attacks, changes in the size of the video window, and opening / closing the target video stream.

[0233] The threshold values ​​for statistical changes corresponding to different target metrics can be the same or different. When M target metrics include throughput, the threshold value for statistical changes corresponding to throughput is any value between 5% and 10%. When M target metrics include message count, the threshold value for statistical changes corresponding to throughput is any value between 2% and 10%. When M target metrics include average message length, the threshold value for statistical changes corresponding to throughput is any value between 5% and 10%.

[0234] Optionally, the baseline value corresponding to the target indicator is dynamically changing. For example, taking any one of the M target indicators (e.g., referred to as target indicator A) as an example, if the statistical value of target indicator A is stable within time period 1 (including at least K periods), the baseline value 1 corresponding to target indicator A is obtained based on the statistical value of target indicator A within the K periods of time period 1. If, within time period 2 after time period 1, the statistical value of target indicator A is affected by changes in the intensity of weak network confrontation, and the change in the statistical value of target indicator A is large (the change in the statistical value of target indicator A is greater than the change threshold of the statistical value of target indicator A compared with the baseline value 1), and within time period 3 after time period 2 (including at least K periods), the statistical value of target indicator A is stable, then the network device obtains the baseline value 2 corresponding to target indicator A based on the statistical value of target indicator A within the K periods of time period 3.

[0235] The first baseline value corresponding to the target indicator is the baseline value corresponding to the current target indicator. This first baseline value serves as the current reference value for the target indicator. Therefore, comparing the statistical values ​​of the target indicator in subsequent periods with the same reference value allows for a more accurate determination of changes in the statistical values ​​of the target indicator.

[0236] If not, meaning the target video stream does not have a first baseline value corresponding to M target indicators, it indicates that the target video stream may be a new stream and it has not remained stable for K consecutive periods, then execute S1002.

[0237] If so, that is, if there are M target indicators corresponding to the first baseline values ​​in the target video stream, then it is necessary to further compare the first statistical values ​​of the M target indicators in the first period with the first baseline values ​​of the corresponding target indicators, and then execute S1005.

[0238] S1002, determine whether the third statistical value corresponding to the throughput is less than or equal to the flow closure threshold corresponding to the throughput.

[0239] The stream closure threshold is used to determine whether the target video stream was closed before the first period (i.e., the third period), or whether the target video stream existed in the third period, thereby determining whether the target video stream was open in the first period. In one possible implementation, the stream closure threshold for the target metric is 0 Mbps. In another possible implementation, the stream closure threshold is a value close to 0, such as 0.01 Mbps, 0.02 Mbps, 0.05 Mbps, or 0.1 Mbps.

[0240] If the third statistic corresponding to the throughput is less than the stream closing threshold corresponding to the throughput, it means that the target video stream is closed (or does not exist) in the first cycle, and S1003 is executed.

[0241] If the third statistical value corresponding to the throughput is greater than the stream closing threshold corresponding to the throughput, it means that the target video stream has been opened in the first cycle, and S1004 is executed.

[0242] S1003, determine whether the fourth growth value between the second statistical value and the first statistical value of the average message length is less than the statistical value change threshold corresponding to the average message length.

[0243] The statistical change threshold corresponding to the average message length is used to determine whether the message length variation in the target video stream is within the normal range. The statistical change threshold corresponding to the average message length is, for example, 5%, 8%, or 10%.

[0244] If the target video stream does not experience degradation, although there is a significant increase in throughput in the first and second cycles when the video stream is started, the statistical values ​​of the average packet length in the first and second cycles are relatively stable because there is no change in video frame rate / resolution.

[0245] If the fourth growth value is less than the statistical value change threshold corresponding to the message length, it means that the fourth growth value of the throughput is caused by the opening of the target video stream. The target video stream does not have experience degradation in the first cycle, so execute S1013.

[0246] Optionally, after determining that the fourth increase in throughput is caused by the activation of the target video stream, and after the target video stream remains stable for K consecutive cycles, a second baseline value corresponding to the M target indicators is determined based on the statistical values ​​of the M target indicators over the K cycles. The calculation method for the second baseline value can be found in the relevant description of S1001, and will not be repeated here.

[0247] If the fourth growth value is greater than or equal to the statistical value change threshold corresponding to the message length, the target video stream has a degraded experience in the first cycle, and S1014 is executed.

[0248] S1004, determine whether the absolute value of the sixth growth value between the second statistical value of throughput and the first statistical value is less than the statistical value change threshold corresponding to throughput, and determine whether the fourth growth value between the second statistical value of average message length and the first statistical value is less than the statistical value change threshold corresponding to message length.

[0249] The statistical threshold for throughput variation is used to determine whether the change in throughput is within the normal range. The statistical threshold for throughput variation is, for example, 5%, 8%, or 10%.

[0250] When the target video stream is first started, if there is no degradation in the experience of the target video stream, the throughput of the target video will increase for a maximum of two consecutive cycles, and then the throughput will start to stabilize.

[0251] If the sixth growth value is less than the statistical value change threshold corresponding to throughput, and the fourth growth value is less than the statistical value change threshold corresponding to message length, it indicates that the statistical value of the target video stream's throughput has stabilized in the first and second periods. The target video stream does not experience any experience degradation in the first period; proceed to S1013.

[0252] If the sixth growth value is greater than or equal to the statistical value change threshold corresponding to throughput, it indicates that the growth of the statistical value corresponding to throughput has exceeded two cycles, or that the throughput has experienced a situation of first increasing and then decreasing in a short period of time. In addition to the throughput change caused by starting the target video stream, there are other experience degradation factors causing fluctuations in the statistical value of throughput. And / or, if the fourth growth value is greater than or equal to the statistical value change threshold corresponding to the packet length, the target video stream has experience degradation in the first cycle, and S1014 is executed.

[0253] S1005, determine whether the second statistical value of throughput is less than the corresponding flow closure threshold.

[0254] Determining whether the second statistical value of throughput is less than the corresponding stream closure threshold can help determine whether the target video stream was closed in the second cycle after the first cycle, and whether the change in throughput was caused by closing the target video stream. Closing the target video stream is a normal operation and is not considered a factor that degrades the user experience.

[0255] If the second statistical value of the throughput is less than the corresponding stream closing threshold, that is, the throughput of the target video stream in the second period is 0 Mbps or very close to 0 Mbps, it means that the target video stream has been closed in the second period, and S1006 is executed.

[0256] If the second statistic of throughput is greater than or equal to the corresponding flow closure threshold, execute S1007.

[0257] S1006, determine whether the fifth growth value between the third statistical value and the first statistical value of the average message length is less than the statistical value change threshold corresponding to the average message length.

[0258] Before closing the target video stream, if there is no experience degradation in the target video stream, the statistical value of the average packet length of the target video is stable. If the statistical value of the average packet length is unstable between the third period and the first period, it indicates that there is experience degradation in the target video stream before it is closed.

[0259] If the fifth growth value is less than the statistical value change threshold corresponding to the average message length, the target video stream does not have experience degradation in the first period, and S1013 is executed.

[0260] If the fifth growth value is greater than or equal to the statistical value change threshold corresponding to the average message length, the target video stream has a degraded experience in the first period, and S1014 is executed.

[0261] S1007, obtain the first increase value between the first statistical value of throughput and the first baseline value of throughput.

[0262] The first increase value between the first statistical value of throughput and the first baseline value of throughput can more accurately reflect the magnitude of the change in throughput.

[0263] In one possible implementation, the first growth value is a first statistical value of throughput minus a first baseline value of throughput. In another possible implementation, the first growth value is the increase in the first statistical value of throughput relative to the first baseline value.

[0264] After calculating the first increase in throughput, execute S1008.

[0265] S1008, determine whether the absolute value of the first growth value is less than the baseline judgment threshold corresponding to the throughput.

[0266] The baseline judgment threshold is used to determine whether the change in the first statistical value of throughput relative to the first baseline value of throughput is normal. The baseline judgment threshold for throughput is, for example, 5%, 8%, or 10%.

[0267] If the absolute value of the first growth value is less than the baseline judgment threshold corresponding to the throughput, it means that the change of the first statistical value of the throughput relative to the first baseline value is within the normal range, and the target video stream does not have experience degradation in the first period, so execute S1013.

[0268] If the absolute value of the first increase value is greater than or equal to the baseline judgment threshold corresponding to the throughput, it means that the change of the first statistical value of the throughput relative to the first baseline value exceeds the normal range. It is necessary to further determine whether the first increase value of the throughput is caused by the change in FEC intensity or by the opening / closing of the target video stream, and execute S1009.

[0269] S1009, obtain the second growth value between the maximum and minimum values ​​among the first, second, and third statistical values ​​corresponding to the throughput.

[0270] Since the timing of network devices receiving changes in FEC strength, adjustments to video frame rate / resolution, changes in video window size, and the activation of the target video stream is unlikely to coincide with the start of a cycle, the throughput statistics may show consecutive increases or decreases over two cycles. The magnitude of change in statistics between adjacent cycles may not represent the true magnitude of change. Therefore, obtaining the throughput statistics for the cycles before and after the first cycle, and then obtaining the second increase value between the maximum and minimum values ​​of the first, second, and third statistical values ​​corresponding to the throughput, allows for a more accurate assessment of the throughput change magnitude and, consequently, a more precise evaluation of the target video stream's performance.

[0271] After calculating the second increase in throughput, execute S1010.

[0272] S1010, determine whether the second growth value of throughput is greater than or equal to the statistical value jump threshold corresponding to throughput.

[0273] As discussed above, the change in throughput caused by resizing the video window is significantly greater than the change in throughput caused by reducing the video frame rate / resolution due to experience degradation. Resizing the video window can cause a jump in throughput statistics.

[0274] The threshold for a statistical jump in throughput must be greater than the change in throughput caused by reducing the video frame rate / resolution, but less than the change in throughput caused by resizing the video window. For example, this threshold could be between 75% and 80%.

[0275] If the second increase value of throughput is greater than or equal to the statistical value jump threshold corresponding to throughput, it indicates that the change in the statistical value of throughput is large, which may be caused by adjusting the window size. Execute S1011.

[0276] The second increase in throughput is less than the statistical threshold for throughput, indicating that the change in throughput is caused by a reduction in video frame rate / resolution. The target video stream has a degraded experience in the first cycle, so S1014 is executed.

[0277] S1011, determine whether the third, first, and second statistical values ​​of throughput are monotonically increasing or monotonically decreasing.

[0278] The throughput change caused by adjusting the video window size is unidirectional; it will not show a pattern of first increasing and then decreasing, or first decreasing and then increasing.

[0279] If the third statistical value, the first statistical value, and the second statistical value of throughput satisfy a monotonically increasing or monotonically decreasing relationship, it indicates that the second increase in throughput is caused by adjusting the video window size, and the target video stream does not experience degradation in the first cycle. Execute S1013.

[0280] Optionally, after determining that the second increase in throughput is caused by adjusting the video window size, and after the target video stream remains stable for K consecutive cycles, a second baseline value corresponding to the M target indicators is determined based on the statistical values ​​of the M target indicators over the K cycles. The calculation method for the second baseline value can be found in the relevant description in S1001, and will not be repeated here.

[0281] If the third statistical value, the first statistical value, and the second statistical value of throughput do not satisfy a monotonically increasing or monotonically decreasing relationship, execute S1012.

[0282] S1012, determine whether the third growth value between the first and second statistical values ​​of throughput is less than the statistical value change threshold corresponding to throughput.

[0283] If the target video stream experience is not degraded, after adjusting the video window size causes an increase or decrease in the throughput statistics, the throughput statistics in subsequent adjacent periods will stabilize. Therefore, determining whether the third increase value between the first and second throughput statistics is less than the threshold value corresponding to the throughput statistics change can help determine whether the throughput statistics are stable in the first and second periods after adjusting the video window size.

[0284] If the third growth value is less than the statistical value change threshold corresponding to the throughput, the target video stream does not have experience degradation in the first period, and S1013 is executed.

[0285] If the third growth value is greater than or equal to the statistical value change threshold corresponding to the throughput, the target video stream has a degraded experience in the first period, and S1014 is executed.

[0286] S1013, Determine that the target video stream does not experience degradation in the first cycle.

[0287] S1014, It is determined that the target video stream has a degraded experience in the first cycle.

[0288] It should be noted that steps S1001-S1014 are illustrated using M target metrics, including throughput, as an example. The throughput in any step S1001-S1014 can be replaced with the number of packets. The logic for determining the number of packets is consistent with the logic for determining throughput. Of course, since changes in the statistical value of throughput are positively correlated with changes in the statistical value of the number of packets, the M target metrics can simultaneously include both the number of packets and throughput.

[0289] Optionally, after determining that the target video stream has a degraded experience in the first period, the network device can also issue an alarm indicating that the target video stream has a degraded experience in the first period, so as to remind staff to take measures to resolve the network performance degradation problem.

[0290] In this embodiment, by analyzing the variation range of statistical values ​​corresponding to at least one target indicator over N periods, the cause of the variation in the statistical values ​​of the target video stream's target indicator can be accurately identified. Specifically, it can be determined whether the variation is caused by changes in the strength of weak network adversarial forces, changes in the video window size, or opening / closing the target video stream, or whether the variation is a normal fluctuation. When it is determined that the variation in the statistical values ​​of the target video stream's target indicator is caused by changes in the strength of weak network adversarial forces, it can be determined that the target video stream experiences experience degradation in the first period. When it is determined that the variation in the statistical values ​​of the target video stream's target indicator is caused by changes in the video window size or opening / closing the target video stream, it can be determined that the target video stream does not experience experience degradation in the first period, thus obtaining a more accurate evaluation result.

[0291] Optionally, the present invention includes Figure 3 The experience evaluation method described in the illustrated embodiments is performed by a single network device. Optionally, the present invention includes... Figure 3 The experience evaluation method described in the illustrated embodiments is performed jointly by network devices and an analyzer. (See attached...) Figure 9 A schematic diagram is provided showing how the experience evaluation method described in the embodiments of the present invention is jointly performed by network devices and analyzers.

[0292] like Figure 11 As shown, Figure 11 This is a flowchart illustrating another experience evaluation method provided in this application. This embodiment is... Figure 2a or Figure 2b The network devices and analyzers in the process execute the steps. This embodiment includes steps S1101-S1103.

[0293] S1101, the network device acquires statistical information of N periods of the target video stream. The statistical information of each period is obtained by statistically analyzing M target indicators of the target video stream within the period. The change range of the statistical values ​​of the target indicators in adjacent periods is used to determine the change in the weak network confrontation strength of the target video stream. The weak network confrontation is the behavior used to ensure the experience of the target video stream when the network performance deteriorates. The N periods are consecutive periods in the time domain.

[0294] Where N is an integer greater than or equal to 2, and M is an integer greater than or equal to 1.

[0295] A method for network devices to obtain corresponding statistical information by statistically analyzing M target metrics of the target video stream in each cycle has been developed. Figure 3 The corresponding embodiment S301 has been described in detail, so it will not be repeated here.

[0296] S1102, the network device sends statistical information for N periods to the analyzer.

[0297] Accordingly, the analyzer receives statistical information from the network device for N periods. That is, the analyzer acquires statistical information for N periods.

[0298] In one possible implementation, the statistical information for N periods is sent separately by the network device to the analyzer, for example, the statistical information for each period is carried in different packets. In another possible implementation, the statistical information for N periods is sent simultaneously by the network device to the analyzer, for example, the statistical information for N periods is carried in the same packet.

[0299] Network devices can collect and send periodic statistics to an analyzer via the Telemetry protocol. In Telemetry, network devices can push these statistics to the analyzer, enabling more efficient data transmission. Alternatively, network devices can collect and send periodic statistics to the analyzer via the Simple Network Management Protocol (SNMP). In SNMP, the analyzer can send a request message to the network device requesting statistics for at least one period, and the network device responds by sending the corresponding analysis data to the analyzer. Of course, network devices can also send statistics to the analyzer based on other network management protocols, such as NetFlow, sFlow, NetStream, and Packet Capturing.

[0300] S1103, the analyzer determines whether there is experience degradation in the target video stream in the first period based on statistical information from N periods.

[0301] In this embodiment, the analyzer analyzes the statistical information of N periods to determine whether the target video stream has experience degradation in the first period.

[0302] The analyzer uses statistical information from N periods to determine the specific implementation of whether the target video stream experiences experience degradation in the first period. (See also...) Figure 3 The relevant operations performed by the network device in S302 of the corresponding embodiment will not be described in detail here.

[0303] Optionally, after determining that the target video stream has a degraded experience in the second period, the analyzer can also issue an alarm indicating that the target video stream has a degraded experience in the first period, so as to remind staff to take measures to resolve the network performance degradation problem.

[0304] In this embodiment, the network device statistically analyzes M target metrics of the target video stream to obtain statistical information for each period, which is then sent to the analyzer. Based on the statistical values ​​of the target metrics across multiple periods, the analyzer can accurately identify the causes of changes in the statistical values ​​of the target video stream's target metrics. Specifically, it determines whether the changes are caused by variations in the strength of weak network attacks, changes in the video window size, or opening / closing the target video stream, or whether the changes are normal fluctuations. When it is determined that the changes in the statistical values ​​of the target video stream's target metrics are caused by variations in the strength of weak network attacks, it can be determined that the target video stream experiences experience degradation in the first period. When it is determined that the changes in the statistical values ​​of the target video stream's target metrics are caused by changes in the video window size or opening / closing the target video stream, it can be determined that the target video stream does not experience experience degradation in the first period, thus obtaining a more accurate evaluation result.

[0305] Based on the same inventive concept, this application also provides... Figure 3 The network device in the corresponding embodiment, or Figure 11 The analyzer in the corresponding embodiment corresponds to the device embodiment. For example... Figure 12 As shown, Figure 12 This is a schematic diagram of the structure of an experience evaluation device provided in this application. The experience evaluation device 1200 can be applied to... Figure 2a or Figure 2b The analyzer in the context, the experience evaluation device 1200 can be an analyzer, or a software module or hardware module (such as a chip) within the analyzer. Alternatively, the experience evaluation device 1200 can be applied to... Figure 2a or Figure 2b The network device in question, the experience evaluation device 1200 can be a network device, or a software module or hardware module (such as a chip) in the network device.

[0306] Processing module 1201 is used to acquire statistical information of N cycles of the target video stream. The statistical information of each cycle is obtained by statistically analyzing M target indicators of the target video stream. The variation of the statistical values ​​of the target indicators in different cycles is used to determine the variation of the weak network adversarial strength of the target video stream. Weak network adversarial is the behavior used to ensure the experience of the target video stream when the network performance deteriorates. The N cycles are consecutive cycles in the time domain, where N is an integer greater than or equal to 2 and M is an integer greater than or equal to 1. Processing module 1201 is used to determine whether the experience of the target video stream deteriorates in the first cycle based on the statistical information of the N cycles. The first cycle is one of the N cycles.

[0307] In one possible implementation, the M target metrics include at least one of throughput, number of packets, and average packet length; the throughput statistic is the ratio of the total number of bits of the target video stream forwarded by the network device in one period to the duration of one period; the number of packets statistic is the total number of packets of the target video stream forwarded by the network device in one period; and the average packet length statistic is the average length of the packets of the target video stream forwarded by the network device in one period.

[0308] In one possible implementation, processing module 1201 is used to acquire M first baseline values ​​corresponding to the target video stream. Each of the M first baseline values ​​corresponds one-to-one with M target indicators. The first baseline value corresponding to each target indicator is obtained based on the statistical values ​​of the target indicator over at least two target periods. The absolute value of the increase between the statistical values ​​of the target indicator over at least two target periods is less than the statistical value change threshold corresponding to the target indicator. The at least two target periods are continuous in the time domain. Determining whether the target video stream experiences degradation in the first period based on the statistical information of N periods includes: processing module 1201 is used to determine whether the target video stream experiences degradation in the first period based on the statistical information of N periods and the M first baseline values.

[0309] In one possible implementation, the statistical information for N periods includes the statistical information for the first period, which includes the first statistical values ​​corresponding to M target indicators. The processing module 1201 is configured to determine that the target video stream does not experience degradation in the first period if the absolute value of the first growth value corresponding to each of the M target indicators is less than the baseline comparison threshold corresponding to the target indicator. The first growth value corresponding to the target indicator is the growth value between the first statistical value corresponding to the target indicator and the first baseline value corresponding to the target indicator.

[0310] In one possible implementation, the N periods also include a second period and a third period, with the first period preceding the second period and the third period preceding the first period. The statistical information of the N periods includes the statistical information of the first period, the second period, and the third period. The statistical information of the first period includes the first statistical value corresponding to M target indicators, the statistical information of the second period includes the second statistical value corresponding to M target indicators, and the statistical information of the third period includes the third statistical value corresponding to M target indicators. The processing module 1201 is configured to determine that the target video stream does not experience degradation in the first period if the absolute value of the first growth value corresponding to the first indicator is greater than or equal to the baseline comparison threshold corresponding to the first indicator, and the second growth value between the maximum and minimum values ​​of the first, second, and third statistical values ​​corresponding to the first indicator is greater than or equal to the statistical value jump threshold corresponding to the first indicator, and the third, first, and second statistical values ​​corresponding to the first indicator satisfy a monotonically increasing or monotonically decreasing relationship. The first indicator is one of the M target indicators, and the statistical value jump threshold corresponding to the first indicator is greater than the baseline comparison threshold corresponding to the first indicator. Alternatively, the processing module 1201 is configured to, in response to the absolute value of the first growth value corresponding to the first indicator being greater than or equal to the baseline comparison threshold corresponding to the first indicator, and the second growth value being greater than or equal to the statistical value jump threshold, and the absolute value of the third growth value between the first statistical value corresponding to the first indicator and the second statistical value corresponding to the first indicator being less than the statistical value change threshold corresponding to the first indicator, determine that the target video stream does not experience degradation in the first period, and the statistical value change threshold corresponding to the first indicator is less than the baseline comparison threshold corresponding to the first indicator.

[0311] In one possible implementation, the processing module 1201 is configured to determine that the target video stream has experience degradation in the first period in response to the absolute value of the first growth value corresponding to the first indicator being greater than or equal to the baseline comparison threshold corresponding to the first indicator, and the second growth value being less than the statistical value jump threshold corresponding to the first indicator; or the processing module 1201 is configured to determine that the target video stream has experience degradation in the first period in response to the absolute value of the first growth value corresponding to the first indicator being greater than or equal to the baseline comparison threshold corresponding to the first indicator, and the third statistical value, the second statistical value, and the second statistical value corresponding to the first indicator not satisfying a monotonically increasing or monotonically decreasing relationship, and the absolute value of the third growth value being greater than or equal to the statistical value change threshold corresponding to the first indicator.

[0312] In one possible implementation, the N cycles also include a second cycle and a third cycle, with the first cycle preceding the second cycle and the third cycle preceding the first cycle. The statistical information of the N cycles includes the statistical information of the first cycle, the statistical information of the second cycle, and the statistical information of the third cycle. The statistical information of the first cycle includes the first statistical value corresponding to the M target indicators, the statistical information of the second cycle includes the second statistical value corresponding to the M target indicators, and the statistical information of the third cycle includes the third statistical value corresponding to the M target indicators. Processing module 1201 is configured to determine that the target video stream does not degrade in the first period in response to the absolute value of the first growth value corresponding to the second indicator being greater than or equal to the baseline comparison threshold corresponding to the second indicator, and the second statistical value corresponding to the second indicator being less than or equal to the stream closure threshold, and the absolute value of the fourth growth value of the first statistical value corresponding to the third indicator and the third statistical value corresponding to the third indicator being less than the statistical value change threshold corresponding to the third indicator; the second indicator is throughput, number of packets, or average packet length, and the third indicator is average packet length; or processing module 1201 is configured to determine that the target video stream degrades in the first period in response to the absolute value of the first growth value corresponding to the second indicator being greater than or equal to the baseline comparison threshold corresponding to the second indicator, and the second statistical value corresponding to the second indicator being less than or equal to the stream closure threshold, and the absolute value of the fourth growth value being greater than or equal to the statistical value change threshold corresponding to the third indicator.

[0313] In one possible implementation, the N periods include a second period and a third period, with the first period preceding the second period and the third period preceding the first period. The statistical information for the N periods includes the statistical information for the first period, the second period, and the third period. The statistical information for the first period includes the first statistical value corresponding to M target indicators, the statistical information for the second period includes the second statistical value corresponding to M target indicators, and the statistical information for the third period includes the third statistical value corresponding to M target indicators. The processing module 1201 is configured to determine that the target video stream does not degrade in the first period if the third statistical value corresponding to the second indicator is less than or equal to a stream closure threshold, and the absolute value of the fifth increase value of the first statistical value corresponding to the third indicator and the fifth statistical value corresponding to the second indicator is less than a statistical value change threshold corresponding to the third indicator; the second indicator is throughput, number of packets, or average packet length, and the third indicator is average packet length. Alternatively, the processing module 1201 is configured to determine that the target video stream degrades in the first period if the third statistical value corresponding to the second indicator is less than or equal to a stream closure threshold, and the absolute value of the fifth increase value is greater than or equal to a statistical value change threshold corresponding to the third indicator.

[0314] In one possible implementation, the processing module 1201 is used to obtain statistical information for K periods in response to the absence of degradation in the target video stream. The statistical information for each of the K periods includes statistical values ​​corresponding to M target indicators. The difference between the statistical values ​​corresponding to the fourth indicator in any two periods of the K periods is less than the statistical value change threshold corresponding to the fourth indicator. The fourth indicator is one of the M target indicators, and K is an integer greater than or equal to 2. The processing module 1201 is used to obtain the second baseline value corresponding to the fourth indicator based on the statistical information of the K periods.

[0315] In one possible implementation, the device is applied to a network device. The target video stream is a sub-stream within the target session message stream corresponding to the target video application. The target session message stream includes at least two sub-streams, where the stream identifiers of the packets in the at least two sub-streams are the same, but the synchronization source identifiers are different. The network device is deployed in the forwarding path of the target video stream. The processing module 1201 is used to identify, based on the stream identifier, packets belonging to the target session message stream forwarded by the network device; and to identify, based on the synchronization source identifier, packets belonging to the target video stream within the target session message stream.

[0316] In one possible implementation, the device is applied to a network device deployed in the forwarding path of the target video stream. The processing module 1201 is used to statistically analyze M target metrics of the target video stream over N periods, thereby obtaining statistical information for N periods.

[0317] In one possible implementation, the device is used in an analyzer, which also includes a transceiver module 1202 for receiving statistical information from a network device deployed in the forwarding path of the target video stream for N cycles.

[0318] The fourth aspect provides an experience evaluation device. This device is applied to network equipment. The device includes: a processing module 1201, used to acquire statistical information for N cycles of a target video stream. The statistical information for each cycle is obtained by statistically analyzing M target indicators of the target video stream within the cycle. The variation range of the statistical values ​​of the target indicators in adjacent cycles is used to determine the change in the weak network adversarial strength of the target video stream. Weak network adversarial behavior refers to actions taken to ensure the experience of the target video stream when network performance deteriorates. The N cycles are consecutive cycles in the time domain, where N is an integer greater than or equal to 2, and M is an integer greater than or equal to 1. A transceiver module 1202 is used to transmit the statistical information for the N cycles.

[0319] In one possible implementation, the M target metrics include at least one of throughput, number of packets, and average packet length; the throughput statistic is the ratio of the total number of bits of the target video stream forwarded by the network device in one period to the duration of one period; the number of packets statistic is the total number of packets of the target video stream forwarded by the network device in one period; and the average packet length statistic is the average length of the packets of the target video stream forwarded by the network device in one period.

[0320] In one possible implementation, the transceiver module 1202 is used to send statistical information for N cycles via a network telemetry protocol or a simple network management protocol.

[0321] In one possible implementation, the target video stream is a sub-stream within the target session message stream corresponding to the target video application. The target session message stream includes at least two sub-streams, where the message streams of the at least two sub-streams have the same flow identifier but different synchronization source identifiers. The network device is deployed in the forwarding path of the target video stream. The processing module 1201 is used to identify, based on the flow identifier, the message belonging to the target session message stream among the messages forwarded by the network device; and to identify, based on the synchronization source identifier, the message belonging to the target video stream within the target session message stream.

[0322] like Figure 13 As shown, Figure 13 This is a schematic diagram of another experience evaluation device provided in this application. In this embodiment, the experience evaluation device 1300 may be... Figure 2a or Figure 2b Network devices within. Alternatively, the experience evaluation device 1300 can be used for... Figure 2a or Figure 2b The analyzer in the program.

[0323] The experience evaluation device 1300 includes a bus 1301, a processor 1302, a communication interface 1303, and a memory 1304. The processor 1302, the memory 1304, and the communication interface 1303 communicate with each other via the bus 1301.

[0324] Bus 1301 can be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. Buses can be divided into address buses, data buses, control buses, etc. For ease of representation, Figure 13 The bus is represented by a single thick line, but this does not mean that there is only one bus or one type of bus.

[0325] The processor 1302 can be any one or more of the following processors: central processing unit (CPU), graphics processing unit (GPU), microprocessor (MP), or digital signal processor (DSP).

[0326] Memory 1304 may include volatile memory, such as random access memory (RAM). Memory 1304 may also include non-volatile memory, such as read-only memory (ROM), flash memory, hard disk drive (HDD), or solid state drive (SSD).

[0327] The memory 1304 can be used to store software code related to the experience evaluation method, and the processor 1302 can execute the steps of the experience evaluation method and can also schedule other units to achieve the corresponding functions.

[0328] It should be understood that the experience evaluation device 1300 can be a centralized or distributed device, and the processor 1302 in the experience evaluation device 1300 can be a hardware circuit (such as an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), a general-purpose processor, a digital signal processor (DSP), a microprocessor or a microcontroller, etc.) or a combination of these hardware circuits. For example, the processor can be a hardware system with instruction execution capabilities, such as a CPU or a DSP, or a hardware system without instruction execution capabilities, such as an ASIC or an FPGA, or a combination of the aforementioned hardware systems without instruction execution capabilities and hardware systems with instruction execution capabilities.

[0329] This application also provides a computer-readable storage medium storing a computer program thereon, which, when executed by a computer, implements the experience evaluation method flow of the above-described method embodiments.

[0330] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.

[0331] This application also provides a computer-readable storage medium storing a computer program thereon, which, when executed by a computer, implements the experience evaluation method flow of the above-described method embodiments.

[0332] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.

[0333] In the several embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces, indirect coupling or communication connection between devices or units, and may be electrical or other forms.

[0334] The units described as discrete components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0335] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.

[0336] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, all or part of the technical solution of this application can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.

Claims

1. An experience evaluation method, characterized in that, The method includes: Statistical information of N periods of the target video stream is obtained. The statistical information of each period is obtained by statistically analyzing M target indicators of the target video stream. The variation of the statistical values ​​of the target indicators in different periods is used to determine the variation of the weak network confrontation strength of the target video stream. The weak network confrontation is the behavior used to ensure the experience of the target video stream when the network performance deteriorates. The N periods are continuous periods in the time domain, where N is an integer greater than or equal to 2 and M is an integer greater than or equal to 1. Based on the statistical information of the N periods, it is determined whether the target video stream experiences degradation in the first period, where the first period is one of the N periods.

2. The method according to claim 1, characterized in that, The M target metrics include at least one of throughput, number of packets, and average packet length; The throughput statistic is the ratio of the total number of bits of the target video stream forwarded by the network device within a period to the duration of a period. The statistical value of the number of packets is the total number of packets that the network device forwards to the target video stream within one period; The statistical value of the average message length is the average length of the messages forwarded by the network device for the target video stream within a period.

3. The method according to claim 1 or 2, characterized in that, The method further includes: M first baseline values ​​corresponding to the target video stream are obtained. The M first baseline values ​​correspond one-to-one with the M target indicators. The first baseline value corresponding to each target indicator is obtained based on the statistical value of the target indicator in at least two target periods. The absolute value of the growth value between the statistical values ​​of the target indicator in the at least two target periods is less than the statistical value change threshold corresponding to the target indicator. The at least two target periods are continuous in the time domain. Determining whether the target video stream experiences degradation in the first period based on the statistical information of the N periods includes: Based on the statistical information of the N periods and the M first baseline values, it is determined whether the target video stream experiences degradation in the first period.

4. The method according to claim 3, characterized in that, The statistical information for the N periods includes the statistical information for the first period, and the statistical information for the first period includes the first statistical values ​​corresponding to the M target indicators. Determining whether the target video stream experiences experience degradation in the first period based on the statistical information for the N periods and the M first baseline values ​​includes: In response to the fact that the absolute value of the first growth value corresponding to each of the M target indicators is less than the baseline comparison threshold corresponding to the target indicator, it is determined that the target video stream does not have experience degradation in the first period, and the first growth value corresponding to the target indicator is the growth value between the first statistical value corresponding to the target indicator and the first baseline value corresponding to the target indicator.

5. The method according to claim 3 or 4, characterized in that, The N periods also include a second period and a third period, where the first period precedes the second period and the third period precedes the first period. The statistical information for the N periods includes the statistical information for the first period, the second period, and the third period. The statistical information for the first period includes the first statistical values ​​corresponding to the M target indicators, the statistical information for the second period includes the second statistical values ​​corresponding to the M target indicators, and the statistical information for the third period includes the third statistical values ​​corresponding to the M target indicators. Determining whether the target video stream experiences experience degradation in the first period based on the statistical information for the N periods and the M first baseline values ​​includes: In response to the absolute value of the first growth value corresponding to the first indicator being greater than or equal to the baseline comparison threshold corresponding to the first indicator, and the second growth value between the maximum and minimum values ​​of the first statistical value, the second statistical value, and the third statistical value corresponding to the first indicator being greater than or equal to the statistical value jump threshold corresponding to the first indicator, and the third statistical value, the first statistical value, and the second statistical value corresponding to the first indicator satisfying a monotonically increasing or monotonically decreasing relationship, it is determined that the target video stream does not experience degradation in the first period, wherein the first indicator is one of the M target indicators, and the statistical value jump threshold corresponding to the first indicator is greater than the baseline comparison threshold corresponding to the first indicator; or In response to the absolute value of the first growth value corresponding to the first indicator being greater than or equal to the baseline comparison threshold corresponding to the first indicator, and the second growth value being greater than or equal to the statistical value jump threshold, and the absolute value of the third growth value between the first statistical value corresponding to the first indicator and the second statistical value corresponding to the first indicator being less than the statistical value change threshold corresponding to the first indicator, it is determined that the target video stream does not have experience degradation in the first period, and the statistical value change threshold corresponding to the first indicator is less than the baseline comparison threshold corresponding to the first indicator.

6. The method according to claim 5, characterized in that, The method further includes: In response to the absolute value of the first growth value corresponding to the first indicator being greater than or equal to the baseline comparison threshold corresponding to the first indicator, and the second growth value being less than the statistical value jump threshold corresponding to the first indicator, it is determined that the target video stream has experience degradation in the first period; or In response to the absolute value of the first growth value corresponding to the first indicator being greater than or equal to the baseline comparison threshold corresponding to the first indicator, and the third statistical value, the second statistical value, and the second statistical value corresponding to the first indicator not satisfying a monotonically increasing or monotonically decreasing relationship, and the absolute value of the third growth value being greater than or equal to the statistical value change threshold corresponding to the first indicator, it is determined that the target video stream has experience degradation in the first period.

7. The method according to claim 3, characterized in that, The N periods also include a second period and a third period, where the first period precedes the second period and the third period precedes the first period. The statistical information for the N periods includes the statistical information for the first period, the second period, and the third period. The statistical information for the first period includes the first statistical values ​​corresponding to the M target indicators, the statistical information for the second period includes the second statistical values ​​corresponding to the M target indicators, and the statistical information for the third period includes the third statistical values ​​corresponding to the M target indicators. Determining whether the target video stream experiences experience degradation in the first period based on the statistical information for the N periods and the M first baseline values ​​includes: In response to the absolute value of the first growth value corresponding to the second indicator being greater than or equal to the baseline comparison threshold corresponding to the second indicator, and the second statistical value corresponding to the second indicator being less than or equal to the stream closure threshold, and the absolute value of the fourth growth value of the first statistical value corresponding to the third indicator and the third statistical value corresponding to the third indicator being less than the statistical value change threshold corresponding to the third indicator, it is determined that the target video stream does not degrade in the first period; the second indicator is throughput, number of packets, or average packet length, and the third indicator is average packet length; or In response to the absolute value of the first growth value corresponding to the second indicator being greater than or equal to the baseline comparison threshold corresponding to the second indicator, and the second statistical value corresponding to the second indicator being less than or equal to the stream closure threshold, and the absolute value of the fourth growth value being greater than or equal to the statistical value change threshold corresponding to the third indicator, it is determined that the target video stream has degraded in the first period.

8. The method according to claim 1 or 2, characterized in that, The N periods include a second period and a third period, where the first period precedes the second period and the third period precedes the first period. The statistical information for the N periods includes the statistical information for the first period, the second period, and the third period. The statistical information for the first period includes the first statistical value corresponding to the M target indicators, the statistical information for the second period includes the second statistical value corresponding to the M target indicators, and the statistical information for the third period includes the third statistical value corresponding to the M target indicators. Determining whether the target video stream experiences experience degradation in the first period based on the statistical information of the N periods includes: In response to the third statistical value corresponding to the second indicator being less than or equal to the stream closure threshold, and the absolute value of the fifth increase value of the first statistical value corresponding to the third indicator and the fifth statistical value corresponding to the third indicator being less than the statistical value change threshold corresponding to the third indicator, it is determined that the target video stream does not degrade in the first period; the second indicator is throughput, number of packets, or average packet length, and the third indicator is average packet length; or In response to the third statistical value corresponding to the second indicator being less than or equal to the stream closure threshold, and the absolute value of the fifth growth value being greater than or equal to the statistical value change threshold corresponding to the third indicator, it is determined that the target video stream has degraded in the first period.

9. The method according to claim 5 or 8, characterized in that, The method further includes: In response to the absence of degradation in the target video stream, statistical information for K periods is obtained. The statistical information for each of the K periods includes the statistical values ​​corresponding to the M target indicators. The difference between the statistical values ​​corresponding to the fourth indicator in any two periods of the K periods is less than the statistical value change threshold corresponding to the fourth indicator. The fourth indicator is one of the M target indicators, and K is an integer greater than or equal to 2. Based on the statistical information of the K periods, the second baseline value corresponding to the fourth indicator is obtained.

10. The method according to any one of claims 1 to 9, characterized in that, The method is applied to a network device, wherein the target video stream is a sub-stream in the target session packet stream corresponding to the target video application, the target session packet stream includes at least two sub-streams, the packets of the at least two sub-streams have the same stream identifier but different synchronization source identifiers, the network device is deployed in the forwarding path of the target video stream, and the method further includes: Based on the flow identifier, identify the packets belonging to the target session packet flow among the packets forwarded by the network device; Based on the synchronization source identifier, identify the packets belonging to the target video stream in the target session packet stream.

11. The method according to any one of claims 1 to 10, characterized in that, The method is applied to a network device deployed in the forwarding path of the target video stream. The acquisition of statistical information for N periods of the target video stream includes: The M target indicators of the target video stream are statistically analyzed within the N periods to obtain the statistical information for the N periods.

12. The method according to any one of claims 1 to 9, characterized in that, The method is applied to the analyzer, and the acquisition of statistical information for N periods of the target video stream includes: Receive statistical information from a network device that is deployed in the forwarding path of the target video stream for N periods.

13. An experience assessment method, characterized in that, Applied to network devices, the method includes: Statistical information of N periods of the target video stream is obtained. The statistical information of each period is obtained by statistically analyzing M target indicators of the target video stream within the period. The change range of the statistical values ​​of the target indicators in adjacent periods is used to determine the change in the weak network confrontation strength of the target video stream. The weak network confrontation is the behavior used to ensure the experience of the target video stream when the network performance deteriorates. The N periods are consecutive periods in the time domain, where N is an integer greater than or equal to 2 and M is an integer greater than or equal to 1. Send statistical information for the N periods.

14. The method according to claim 13, characterized in that, The M target metrics include at least one of throughput, number of packets, and average packet length; The throughput statistic is the ratio of the total number of bits of the target video stream forwarded by the network device within a period to the duration of a period. The statistical value of the number of packets is the total number of packets that the network device forwards to the target video stream within one period; The statistical value of the average message length is the average length of the messages forwarded by the network device for the target video stream within a period.

15. The method according to claim 13 or 14, characterized in that, Sending the statistical information for the N cycles includes: The statistical information for the N periods is transmitted via the Telemetry protocol or the Simple Network Management Protocol.

16. The method according to any one of claims 13 to 15, characterized in that, The target video stream is a sub-stream within the target session message stream corresponding to the target video application. The target session message stream includes at least two sub-streams, where the flow identifiers of the packets in the at least two sub-streams are the same, but the synchronization source identifiers are different. The network device is deployed in the forwarding path of the target video stream. The method further includes: Based on the flow identifier, identify the packets belonging to the target session packet flow among the packets forwarded by the network device; Based on the synchronization source identifier, identify the packets belonging to the target video stream in the target session packet stream.

17. An experience assessment device, characterized in that, The apparatus includes modules for implementing the method as claimed in any one of claims 1 to 16.

18. An experience assessment device, characterized in that, Including processor and memory: The processor is configured to execute a computer program or instructions stored in the memory, wherein when the processor executes the computer program or instructions, the method described in any one of claims 1 to 16 is performed.

19. A chip, characterized in that, The method includes a processor coupled to a memory for executing a computer program or instructions stored in the memory, wherein when the processor executes the computer program or instructions, the method described in any one of claims 1 to 16 is performed.

20. A computer-readable storage medium, characterized in that, The computer stores instructions that, when executed on the computer, cause the computer to perform the method as described in any one of claims 1 to 16.

21. A computer program product, characterized in that, The device stores computer-readable instructions that, when read and executed by the experience evaluation device, cause the experience evaluation device to perform the method as described in any one of claims 1 to 16.