Video quality regulation and control method, device, equipment and computer program product
By constructing a quality utility function and optimizing bitrate allocation, the problem of uneven resource allocation in existing video transmission technologies is solved, achieving quality assurance of critical video streams and improving resource utilization efficiency, making it suitable for video transmission systems.
Patent Information
- Application Number
- CN202511679428.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-11-14
- Publication Date
- 2026-02-10
AI Technical Summary
In existing video transmission technologies, fixed bitrate control strategies result in the inability to guarantee the quality of critical business video, while non-critical video streams consume bandwidth resources, leading to low system resource utilization and an inability to achieve robustness and economy in complex network environments.
By acquiring the available bandwidth for the video transmission path design and the priority weights of the video streams, a quality utility function is constructed to dynamically optimize the bitrate allocation of the video streams. Combined with stream-level congestion information and service value, differentiated resource allocation is achieved.
When network congestion occurs, priority is given to ensuring the quality of high-value video streams, while low-priority streams are dynamically compressed to improve the reliability of critical business operations and overall resource utilization efficiency, thereby achieving precise video quality assurance and resource optimization under limited bandwidth.
Smart Images

Figure CN121509713A_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of video transmission technology, and in particular to a video quality control method, apparatus, electronic device, computer-readable storage medium, and computer program product. Background Technology
[0002] This section is intended to provide background or context for the embodiments of this disclosure as set forth in the claims. The description herein is not intended to be a prior art simply because it is included in this section.
[0003] Existing video transmission technologies suffer from a core flaw: a deep disconnect between service value assurance and network resource allocation. Specifically, they employ fixed, coarse-grained bitrate control strategies, failing to differentiate resource allocation based on the service value of the video content (such as critical operations versus static scenes). This results in indiscriminate degradation of all video streams during network congestion, compromising the quality of critical service footage; conversely, even with sufficient bandwidth, the system cannot dynamically enhance the clarity of high-value footage. Simultaneously, a large number of non-critical video streams continuously consume scarce bandwidth and storage resources, leading to low overall system resource utilization and severely limiting their robustness and cost-effectiveness in complex network environments. Summary of the Invention
[0004] The purpose of this disclosure is to provide a video quality control method, apparatus, electronic device, computer-readable storage medium, and computer program product that can improve the video quality of critical business video streams.
[0005] Other features and advantages of this disclosure will become apparent from the following detailed description, or may be learned in part from practice of this disclosure.
[0006] This disclosure provides a video quality control method, comprising: obtaining the designed available bandwidth corresponding to a video transmission path and the preset bitrate upper limit of each video stream on the video transmission path; obtaining the priority weight corresponding to each video stream on the video transmission path; determining the quality utility function value corresponding to each video stream according to the preset bitrate upper limit; wherein the quality utility function value is used to characterize video quality and is positively correlated with the preset bitrate upper limit; performing a weighted summation of the quality utility function values of each video stream based on the priority weight to obtain a total quality utility value; optimizing the preset bitrate upper limit of each video stream with maximizing the total quality utility value as the optimization objective and with the constraint that the sum of the bitrates of each video stream does not exceed the designed available bandwidth; and performing quality control on the video streams on the video transmission path according to the optimized bitrate obtained by the solution.
[0007] In some embodiments, the method further includes: obtaining stream-level congestion information for each video stream on the video transmission path, wherein the stream-level congestion information is determined based on at least one of video stream packet arrival time interval jitter, explicit congestion notification, and stream-level packet loss rate; wherein determining the quality utility function value corresponding to each video stream according to the preset bitrate upper limit includes: determining the quality utility function value corresponding to each video stream according to the preset bitrate upper limit and the stream-level congestion information.
[0008] In some embodiments, the flow-level congestion information includes a flow-level congestion index, which is positively correlated with the degree of flow congestion; wherein, when the flow-level congestion index is less than a preset congestion level, the correlation coefficient between the quality utility function value and the preset bitrate upper limit is a first value; wherein, when the flow-level congestion index is greater than or equal to the preset congestion level, the correlation coefficient between the quality utility function value and the preset bitrate upper limit is a second value, and the second value is greater than the first value.
[0009] In some embodiments, the second value is positively correlated with the flow-level congestion index.
[0010] In some embodiments, the video stream on the video transmission path includes a first video stream; wherein, the method further includes: obtaining the data packet arrival time interval jitter, explicit congestion notification, and stream-level packet loss rate of the first video stream; processing the data packet arrival time interval jitter, explicit congestion notification, and stream-level packet loss rate of the first video stream using a congestion control exponential function to determine the stream-level congestion index corresponding to the first video stream, wherein the data packet arrival time interval jitter, the explicit congestion notification, and the stream-level packet loss rate are all proportional to the stream-level congestion index.
[0011] In some embodiments, the video transmission path is used for video transmission between a first node and a second node; wherein, obtaining the data packet arrival time interval jitter, explicit congestion notification, and stream-level packet loss rate of the first video stream includes: deploying a lightweight probe agent on the video transmission path between the first node and the second node; and detecting the data packet arrival time interval jitter, explicit congestion notification, and stream-level packet loss rate of the first video stream through the lightweight probe agent.
[0012] In some embodiments, the video transmission path is used to transmit a target video stream sent from a third node to a fourth node; wherein, obtaining the priority weight corresponding to each video stream on the video transmission path includes: acquiring the target video through the third node; the third node encoding the target video through a video encoder to generate the target video stream; the third node analyzing the target video to obtain high-value targets in the target video and their confidence levels; determining the encoding complexity coefficient corresponding to the video encoder when encoding the target video; and determining the priority weight corresponding to the target video stream based on the confidence levels of the high-value targets and the encoding complexity coefficient.
[0013] In some embodiments, determining the encoding complexity coefficient corresponding to the video encoder when encoding the target video includes: tracking the computing power consumption and output bitstream characteristics of the video encoder through the third node; determining the current frame processing time based on the tracking results of the computing power consumption and output bitstream characteristics; and determining the encoding complexity coefficient based on the current frame processing time and the reference frame processing time.
[0014] This disclosure provides a video quality control device, including: an available bandwidth acquisition module, a priority weight acquisition module, a quality utility function determination module, a total quality utility value determination module, an optimization module, and a quality control module.
[0015] The available bandwidth acquisition module is used to acquire the designed available bandwidth corresponding to the video transmission path, as well as the preset bitrate upper limit of each video stream on the video transmission path. The priority weight acquisition module can be used to acquire the priority weight corresponding to each video stream on the video transmission path; the quality utility function determination module can be used to determine the quality utility function value corresponding to each video stream according to the preset bitrate upper limit; wherein the quality utility function value is used to characterize video quality and is positively correlated with the preset bitrate upper limit; the total quality utility value determination module can be used to obtain the total quality utility value by weighted summation of the quality utility function values of each video stream based on the priority weight; the optimization module can be used to optimize the preset bitrate upper limit of each video stream with the goal of maximizing the total quality utility value and the constraint that the sum of the bitrates of each video stream does not exceed the designed available bandwidth; the quality control module can be used to perform quality control on the video streams on the video transmission path according to the optimized bitrate obtained by the solution.
[0016] This disclosure provides an electronic device comprising: a memory and a processor; the memory for storing computer program instructions; and the processor for calling the computer program instructions stored in the memory to implement the video quality control method described above.
[0017] This disclosure provides a computer-readable storage medium storing computer program instructions to implement the video quality control method as described in any of the preceding embodiments.
[0018] This disclosure provides a computer program product or computer program that includes computer program instructions stored in a computer-readable storage medium. The computer program instructions are read from the computer-readable storage medium, and the processor executes the computer program instructions to implement the aforementioned video quality control method.
[0019] The video quality control method, apparatus, electronic device, computer-readable storage medium, and computer program product provided in this disclosure integrate business value perception into the resource allocation process by introducing video stream priority weights, thus realizing a shift from "one-size-fits-all" to "on-demand allocation." By constructing a quality utility function positively correlated with bitrate, a quantifiable quality benefit model is established for bandwidth resource investment. Finally, under an optimization framework aimed at maximizing the overall system quality utility, the optimal bitrate for each video stream is dynamically solved based on global bandwidth constraints. These combined technical means achieve precise quality assurance of key video streams and synergistic optimization of overall bandwidth resource utilization efficiency under limited bandwidth.
[0020] It should be understood that the above general description and the following detailed description are merely exemplary and do not limit this disclosure. Attached Figure Description
[0021] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this disclosure and, together with the description, serve to explain the principles of this disclosure. It is obvious that the drawings described below are merely some embodiments of this disclosure, and those skilled in the art can obtain other drawings based on these drawings without any inventive effort.
[0022] Figure 1 A schematic diagram of a scenario that can be applied to the video quality control method or video quality control device in the embodiments of this disclosure is shown.
[0023] Figure 2 This is a structural diagram of a video transmission scheme according to an exemplary embodiment.
[0024] Figure 3This is a flowchart illustrating a video quality control method according to an exemplary embodiment.
[0025] Figure 4 This is a schematic diagram of a video transmission framework according to an exemplary embodiment.
[0026] Figure 5 This is a flowchart illustrating a video quality control method according to an exemplary embodiment.
[0027] Figure 6 This is a flowchart illustrating a method for determining a flow-level congestion index according to an exemplary embodiment.
[0028] Figure 7 This is a flowchart illustrating a priority weight determination method according to an exemplary embodiment.
[0029] Figure 8 This is a flowchart illustrating a video quality control method according to an exemplary embodiment.
[0030] Figure 9 This is a block diagram illustrating a video quality control device according to an exemplary embodiment.
[0031] Figure 10 A schematic diagram of the structure of an electronic device suitable for implementing embodiments of the present disclosure is shown. Detailed Implementation
[0032] Exemplary embodiments will now be described more fully with reference to the accompanying drawings. However, these exemplary embodiments can be implemented in many forms and should not be construed as limited to the embodiments set forth herein; rather, they are provided so that this disclosure will be thorough and complete, and will fully convey the concept of the exemplary embodiments to those skilled in the art. The same reference numerals in the drawings denote the same or similar parts, and therefore repeated descriptions of them will be omitted.
[0033] Those skilled in the art will recognize that embodiments of this disclosure can be a system, apparatus, device, method, or computer program product. Therefore, this disclosure can be implemented in the following forms: entirely hardware, entirely software (including firmware, resident software, microcode, etc.), or a combination of hardware and software.
[0034] The features, structures, or characteristics described in this disclosure can be combined in any suitable manner in one or more embodiments. Numerous specific details are provided in the following description to give a thorough understanding of embodiments of this disclosure. However, those skilled in the art will recognize that the technical solutions of this disclosure can be practiced with one or more specific details omitted, or other methods, components, apparatuses, steps, etc., can be employed. In other instances, well-known methods, apparatuses, implementations, or operations are not shown or described in detail to avoid obscuring various aspects of this disclosure.
[0035] In this disclosure, the terms "module" or "unit" refer to a computer program or part of a computer program that has a predetermined function and works with other related parts to achieve a predetermined goal, and can be implemented wholly or partially using software, hardware (such as processing circuitry or memory), or a combination thereof. Similarly, a processor (or multiple processors or memory) can be used to implement one or more modules or units. Furthermore, each module or unit can be part of an overall module or unit that includes the functionality of that module or unit.
[0036] The accompanying drawings are merely illustrative of this disclosure, and the same reference numerals in the drawings denote the same or similar parts, thus omitting repeated descriptions of them. Some block diagrams shown in the drawings do not necessarily correspond to physically or logically independent entities. These functional entities may be implemented in software, in one or more hardware modules or integrated circuits, or in different network and / or processor devices and / or microcontroller devices.
[0037] The flowchart shown in the accompanying drawings is merely illustrative and does not necessarily include all content and steps, nor does it require execution in the described order. For example, some steps may be broken down, while others may be combined or partially combined; therefore, the actual execution order may change depending on the specific circumstances.
[0038] In the description of this disclosure, unless otherwise stated, " / " means "or," for example, A / B can mean A or B. "And / or" in this document is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A alone, A and B simultaneously, and B alone. Furthermore, "at least one" means one or more, and "multiple" means two or more. The terms "first," "second," etc., do not limit the quantity or order of execution, and "first," "second," etc., do not necessarily imply differences; the terms "contains," "includes," and "has" are used to indicate an open-ended meaning of inclusion and refer to the existence of additional elements / components / etc. besides those listed.
[0039] To better understand the above-mentioned objectives, features and advantages of the present invention, the present invention will be further described in detail below with reference to the accompanying drawings and specific embodiments. It should be noted that, unless otherwise specified, the embodiments and features in the embodiments of the present disclosure can be combined with each other.
[0040] The following section will first explain some of the terms used in the embodiments of this disclosure so that those skilled in the art can understand them.
[0041] A video codec is an algorithm or hardware / software system used to compress and decompress digital video data. Its core purpose is to significantly reduce the storage space and transmission bandwidth occupied by the original video data while maintaining acceptable video quality as much as possible. The "encoder" is responsible for efficiently compressing the original video, a process involving the removal of spatial, temporal, and psychovisual redundancy; while the "decoder" is responsible for restoring the compressed data into a playable video stream.
[0042] Flow-level congestion control is a mechanism for bandwidth management of individual data streams in network transmission. Its core objective is to prevent network links or routers from becoming congested due to excessive instantaneous data volume, while fairly sharing network bandwidth with other concurrent streams. Flow-level congestion control algorithms typically operate end-to-end, with the sender dynamically adjusting its transmission rate based on feedback from the receiver and perceived network conditions.
[0043] Cluster and edge collaboration is a distributed computing architecture model designed to effectively integrate and collaborate centralized cloud computing resources (clusters, typically data centers composed of a large number of high-performance servers) with edge computing nodes (edges, such as base stations, local servers, IoT gateways, and even terminal devices) located closer to the data source or user. The two systems synchronize and coordinate data, tasks, and states through efficient and reliable network connections, thereby optimizing overall system performance, efficiency, reliability, and user experience.
[0044] The preceding text introduced some terms and concepts involved in the embodiments of this disclosure. The following text introduces the technical features involved in the embodiments of this disclosure.
[0045] With technological advancements, higher demands are being placed on the transmission quality and resource efficiency of real-time video streams. Existing technologies employ encoding and decoding strategies with fixed bitrate caps, indiscriminately reducing the quality of all video streams during network congestion and failing to dynamically improve the clarity of critical scenes even with sufficient bandwidth. This leads to a significant disconnect between service value assurance and network resource allocation. During video transmission, encoder parameter adjustments and transmission path congestion are independent; network jitter can result in inconsistent video experiences. Furthermore, static and non-critical scenes may consume redundant bandwidth, preventing the system from recognizing the timely value of video content. These factors limit the robustness and cost-effectiveness of the system in complex scenarios.
[0046] The aforementioned technologies suffer from several problems: Traditional video transmission systems (such as surveillance systems) exhibit selective bottlenecks when handling multi-stream transmission. They lack flexible measures for adjusting focus based on actual business needs. Under normal circumstances, it's necessary to distinguish between critical business data and ordinary business footage. However, existing solutions employ a coarse-grained, uniform encoding and decoding strategy for all video streams. This coarse-grained processing can lead to indiscriminate video degradation during network congestion or bandwidth fluctuations. This can affect operators' judgment during critical periods. For example, if network fluctuations occur while the video capture point is performing business operations, the original video information may not be sufficient to assist experts in providing correct remote operational guidance.
[0047] In addition, since the existing solution adopts a coarse-grained and uniform encoding and decoding strategy for all video streams, some static monitoring scenarios often require a certain amount of bandwidth and storage to be continuously occupied. These resources will be deleted and updated as invalid information after a certain period of time. With a fixed upper limit on bandwidth and storage resources, it is difficult for the system to allocate more resources to video streams that have optimization needs.
[0048] To address the above issues, this application proposes a method that prioritizes video streams and monitors the system's network environment in real time, dynamically adjusting higher-priority video streams to obtain more resources, thereby optimizing resource utilization in large-scale video surveillance scenarios.
[0049] The present application will now describe in detail the exemplary embodiments of the present disclosure with reference to the accompanying drawings.
[0050] Figure 1 A schematic diagram of a scenario that can be applied to the video quality control method or video quality control device in the embodiments of this disclosure is shown.
[0051] Please refer to Figure 1 The diagram illustrates an implementation environment provided by an exemplary embodiment of this disclosure.
[0052] like Figure 1As shown, system architecture 100 may include terminal devices 101, 102, and 103, a network 104, and a server 105. Network 104 serves as the medium for providing communication links between terminal devices 101, 102, and 103 and server 105. Network 104 may include various connection types, such as wired or wireless communication links, or fiber optic cables, etc.
[0053] Users can use terminal devices 101, 102, and 103 to interact with server 105 via network 104 to receive or send messages, etc. Terminal devices 101, 102, and 103 can be various electronic devices with displays and web browsing capabilities, including but not limited to smartphones, tablets, laptops, desktop computers, wearable devices, virtual reality devices, smart home devices, etc.
[0054] Server 105 can be a server that provides various services, such as a backend management server that supports the devices operated by users using terminal devices 101, 102, and 103. The backend management server can analyze and process received requests and other data, and feed the processing results back to the terminal devices.
[0055] A server can be a standalone physical server, a server cluster or a distributed system consisting of multiple physical servers, or a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, CDN (Content Delivery Network), and big data and artificial intelligence platforms. This disclosure does not impose any restrictions on this.
[0056] Server 105 may, for example, obtain the designed available bandwidth corresponding to the video transmission path, and the preset bitrate upper limit of each video stream on the video transmission path; Server 105 may, for example, obtain the priority weight corresponding to each video stream on the video transmission path; Server 105 may, for example, determine the quality utility function value corresponding to each video stream based on the preset bitrate upper limit; wherein the quality utility function value is used to characterize video quality and is positively correlated with the preset bitrate upper limit; Server 105 may, for example, obtain a total quality utility value by weighted summing of the quality utility function values of each video stream based on the priority weight; Server 105 may, for example, optimize the preset bitrate upper limit of each video stream with the goal of maximizing the total quality utility value and the constraint that the sum of the bitrates of each video stream does not exceed the designed available bandwidth; Server 105 may, for example, perform quality control on the video streams on the video transmission path based on the optimized bitrate obtained from the solution.
[0057] It should be understood that Figure 1The number of terminal devices, networks, and servers shown is merely illustrative. Server 105 can be a single physical server or a combination of multiple servers. Depending on actual needs, it can have any number of terminal devices, networks, and servers.
[0058] Before detailing the technical solution of this application, let's first introduce the existing technical solutions.
[0059] Figure 2 This is a structural diagram of a video transmission scheme according to an exemplary embodiment.
[0060] like Figure 2 As shown, an existing video transmission system (such as a surveillance system) includes an edge acquisition node 201 and a cluster service node 202. The edge acquisition node 201 is responsible for acquiring video, encoding the video using a video codec, and finally uploading the encoded stream to the cluster service node 202 for processing.
[0061] Ideally, after the video capture terminal completes the video acquisition at the edge acquisition node, the captured video is transmitted through the backend network system to the monitoring center for unified management and processing. The acquired information is ultimately stored in the disk system's storage nodes. However, in reality, the captured video streams are usually subject to certain technical specifications before being allowed to access the network. Due to system cost limitations, the capabilities of acquisition terminals often vary, while design specifications uniformly limit their bandwidth and other resources, resulting in a certain degree of waste of system resources.
[0062] In addition, for large-scale video transmission systems (such as surveillance systems), the perception of network stability is not directly applied to optimizing actual business operations, and there is a disconnect between business priorities and actual resource allocation.
[0063] To address the two core problems in existing video transmission technologies—the disconnect between network congestion control and service demands, and the low resource utilization caused by static bitrate allocation—this application will employ a service value-driven dynamic bitrate adjustment mechanism. This will ensure that critical video streams maintain high-quality transmission even during network fluctuations, while simultaneously improving the overall efficiency of intelligent bandwidth resource allocation. This will enable the system to achieve both robust service assurance and resource economy in complex network environments.
[0064] Below, this application will provide a detailed description of the video quality control method with reference to specific embodiments.
[0065] Figure 3 This is a flowchart illustrating a video quality control method according to an exemplary embodiment. The method provided in this disclosure can be executed by any electronic device with computing power, for example, the method can be executed by the above-described... Figure 1The execution can be performed by a server or terminal device in the embodiments, or it can be performed by both a server and a terminal device. In the following embodiments, the server is used as the execution subject for illustration, but this disclosure is not limited to this.
[0066] Reference Figure 3 The video quality control method provided in this disclosure may include the following steps.
[0067] Step S302: Obtain the design available bandwidth corresponding to the video transmission path, and the preset bitrate upper limit of each video stream on the video transmission path.
[0068] Design available bandwidth refers to the maximum stable bandwidth capacity available for business data transmission on the video transmission path, as determined during the system planning phase. It is a hard constraint upper limit for global resource allocation.
[0069] The preset bitrate limit refers to the static threshold set for the highest data rate that a single video stream encoder is allowed to output in order to ensure transmission stability in a video communication system.
[0070] Step S304: Obtain the priority weight corresponding to each video stream on the video transmission path.
[0071] In some embodiments, the aforementioned priority weights may be fixed based on prior knowledge or dynamically determined based on the real-time content of the video; this application does not impose any restrictions on this.
[0072] In some embodiments, it is assumed that the video transmission path includes a first video stream and a second video stream.
[0073] For example, the priority of the first video stream can be restricted to be higher than that of the second video stream.
[0074] For example, in an industrial park monitoring system, all cameras installed inside hazardous chemical warehouses are preset to the highest priority (e.g., weight 0.9), cameras installed on main roads for monitoring vehicle traffic are preset to medium priority (e.g., weight 0.6), and cameras installed in ordinary office corridors are preset to the lowest priority (e.g., weight 0.3). In the event of network congestion, the system will prioritize video quality from the hazardous chemical warehouses, sacrificing the clarity of the corridor video.
[0075] For example, priorities can be determined based on the real-time status of the first and second video streams.
[0076] At some times, the first video stream may have a higher priority than the second video stream; in other embodiments, the second video stream may have a higher priority than the first video stream. In short, the relative priority of the first video stream and the second video stream can be dynamically changed.
[0077] Take smart city traffic monitoring systems as an example.
[0078] Initial state: The video streams of both roads (the first video stream and the second video stream) are normal and have the same priority weight (e.g., both are 0.5).
[0079] Status change: In the first video stream, the algorithm model detects a traffic accident (such as a vehicle collision or people being stranded).
[0080] Dynamic priority adjustment: The system immediately increases the priority weight of the first video stream to 0.95; the priority weight of the second video stream remains unchanged or is reduced to 0.05.
[0081] Effect: The system immediately allocates more bandwidth resources to the video stream at the accident site, ensuring that the command center can receive high-definition images for emergency dispatch, while the video from non-critical intersections is appropriately downgraded to free up bandwidth.
[0082] Step S306: Determine the quality utility function value corresponding to each video stream based on the preset bitrate upper limit; wherein the quality utility function value is used to characterize the video quality and is positively correlated with the preset bitrate upper limit.
[0083] The quality utility function aims to describe the subjective or objective video quality score that can be obtained when a specific bitrate is assigned to a video stream.
[0084] In some embodiments, the corresponding quality utility function value increases with increasing bitrate.
[0085] Step S308: The quality utility function values of each video stream are weighted and summed based on priority weights to obtain the total quality utility value.
[0086] The total quality utility value, which characterizes the overall service performance of the system, is obtained by multiplying the real-time calculated or preset quality utility function value of each video stream by its corresponding priority weight and then summing them up.
[0087] In some embodiments, the value of the above-mentioned quality utility function can be determined with reference to formula (1). .
[0088] (1)
[0089] in, Basic quality parameters, Let i be the current bitrate of the i-th video stream, where i is an integer greater than or equal to 1.
[0090] Step S310: With the goal of maximizing the total quality utility value, and with the constraint that the sum of the bitrates of each video stream does not exceed the designed available bandwidth, the preset bitrate upper limit of each video stream is optimized and solved.
[0091] In some embodiments, the above optimization problem can be expressed as formulas (2) to (3).
[0092] (2) (3) in This indicates the priority weight of video stream i. This indicates that the stream has a bitrate The quality utility function under the following conditions This represents the currently available bandwidth. Quality utility function. Let i be a piecewise function affected by the congestion parameter, where i is an integer greater than or equal to 1.
[0093] Step S312: Based on the optimized bitrate obtained from the solution, perform quality control on the video stream along the video transmission path.
[0094] In some embodiments, the optimized bitrate obtained by solving can be used as the upper limit of the bitrate of the corresponding video stream, thereby controlling the quality of the video stream.
[0095] Based on this reasoning, high-priority video streams can obtain higher bitrates, while low-priority videos will obtain lower bitrates.
[0096] Figure 4 This is a schematic diagram of a video transmission framework according to an exemplary embodiment.
[0097] refer to Figure 4 The aforementioned video transmission framework may include an edge acquisition node 401 and a cluster service node 402.
[0098] In some embodiments, the edge acquisition node 401 may include an edge acquisition module, which is deployed at the edge device in the monitoring site and is mainly responsible for real-time access of video streams, localized business value perception, and execution of optimization instructions. It includes three sub-modules: a video codec, a key stream identification model, and an edge controller.
[0099] The video codec is responsible for real-time compression and encoding of the raw video stream, generating the bitstream required for transmission, and outputting key encoding status information. The keystream identification model, as the core of edge perception, analyzes the incoming video content in real time. On one hand, it identifies specific high-value targets through lightweight visual analysis; on the other hand, it continuously monitors the encoder's operating status. The edge controller is responsible for receiving and parsing fine-grained control commands from the cluster service module. Based on the command content, it dynamically adjusts the operating parameters of the local video codec.
[0100] In some embodiments, the edge acquisition node described above can implement step S304.
[0101] like Figure 4 As shown, cluster service node 402 may include a cluster service module. This module can be deployed on the central server cluster and is responsible for aggregating global information, performing network diagnostics, making optimization decisions, and coordinating their execution. It includes four sub-modules: cluster congestion control, monitoring center, policy executor, and bandwidth optimization engine.
[0102] The cluster congestion control is responsible for real-time diagnosis of network transmission path congestion; the monitoring center provides visual monitoring of system operation status; the policy executor receives the optimization instruction set generated by the bandwidth optimization engine, parses and distributes the instructions, and ensures accurate matching and coordinated execution of the instructions with the target video stream ID (Identification); the bandwidth optimization engine receives the priority decision matrix from the edge and the stream-level congestion information from the cluster congestion control engine, and constructs and solves the optimization problem under the constraint of total available bandwidth.
[0103] In some embodiments, the cluster service node described above can complete any one of steps S302 to S312.
[0104] In some embodiments, after the bandwidth optimization engine receives the edge-aware priority weights, the system enters the global optimization decision-making phase. The core task of this phase is to achieve the optimal balance between ensuring the quality of critical video streams and overall bandwidth utilization under network resource constraints.
[0105] At this stage, the system introduces an optimization engine. This model uses the available bandwidth of the network design as a constraint, with the optimization objective being to improve the quality of high-weight videos.
[0106] The aforementioned technical solution achieves intelligent management of video transmission quality and network resource allocation. Specifically, the system dynamically identifies the service value of video streams and generates priority weights at the edge, and constructs a quality-utility optimization model based on bandwidth constraints and congestion status at the cluster side. Ultimately, it achieves differentiated service quality assurance through precise bitrate control—prioritizing the clarity of high-value video streams (such as hazardous materials monitoring and traffic accident footage) during network congestion, while dynamically compressing low-priority video streams (such as office corridor monitoring) to release bandwidth resources, thereby improving both critical service availability and overall network resource utilization efficiency under limited bandwidth conditions.
[0107] Figure 5 This is a flowchart illustrating a video quality control method according to an exemplary embodiment.
[0108] refer to Figure 5 The above-mentioned video quality control method may include the following steps.
[0109] Step S502: Obtain the design available bandwidth corresponding to the video transmission path, and the preset bitrate upper limit of each video stream on the video transmission path.
[0110] Step S504: Obtain the priority weight corresponding to each video stream on the video transmission path.
[0111] Step S506: Obtain the stream-level congestion information of each video stream on the video transmission path. The stream-level congestion information is determined based on at least one of the video stream's data packet arrival time interval jitter, explicit congestion notification, and stream-level packet loss rate.
[0112] In some embodiments, flow-level congestion information may include a flow-level congestion index, which may be positively correlated with the degree of congestion of the flow.
[0113] In some embodiments, the flow-level congestion index can be a value between 0 and 1.
[0114] Step S508: Determine the quality utility function value corresponding to each video stream based on the preset bitrate upper limit and stream-level congestion information.
[0115] In some embodiments, when the stream-level congestion index is less than a preset congestion level, the quality utility function value can be the first value of the correlation coefficient with the preset upper limit of bit rate.
[0116] In some embodiments, when the stream-level congestion index is greater than or equal to a preset congestion level, the quality utility function value can be a second value with a correlation coefficient of a preset upper limit of bit rate, and the second value is greater than the first value.
[0117] In some embodiments, the second value may be positively correlated with the flow-level congestion index.
[0118] In some embodiments, the quality utility function You can refer to formula (4) to determine it.
[0119] (4)
[0120] in, Basic quality parameters, The current bitrate, This is the congestion decay index (flow-level congestion index). This is the congestion index threshold.
[0121] According to the above formula (4), when the video stream is congested, more bitrate can be allocated to the video stream.
[0122] Combining the above formulas (2) to (4), it can be determined that for video streams with higher priority, more bitrate can be allocated; for some video streams that are more congested, more bitrate can also be allocated.
[0123] Step S510: The quality utility function values of each video stream are weighted and summed based on priority weights to obtain the total quality utility value.
[0124] Step S512: With the goal of maximizing the total quality utility value, and with the constraint that the sum of the bitrates of each video stream does not exceed the designed available bandwidth, the preset bitrate upper limit of each video stream is optimized and solved.
[0125] Step S514: Based on the optimized bitrate obtained from the solution, perform quality control on the video stream along the video transmission path.
[0126] This video quality control method comprehensively considers the priority weights of video streams and stream-level congestion information, aiming to maximize the overall quality utility. It dynamically optimizes the bitrate allocation of each video stream within the constraint of available bandwidth. Its technical advantage lies in its ability to intelligently adjust bitrate allocation based on network congestion and service priorities. This prioritizes the quality of high-priority video streams while providing appropriate bitrate compensation to congested streams, thereby optimizing overall video quality utility under bandwidth-constrained conditions.
[0127] Figure 6 This is a flowchart illustrating a method for determining a flow-level congestion index according to an exemplary embodiment.
[0128] In some embodiments, the video stream on the video transmission path may include a first video stream.
[0129] refer to Figure 6 The above-mentioned method for determining the flow-level congestion index may include the following steps.
[0130] Step S602: Obtain the data packet arrival time interval jitter, explicit congestion notification, and stream-level packet loss rate of the first video stream.
[0131] Data packet arrival time jitter: This measures the instability of data packet arrival times. In an ideal network, data packets should arrive at the receiver at a constant interval (e.g., one packet every 20 milliseconds). However, in reality, due to network queue delays, routing changes, and other factors, the interval between data packets can vary. This variation is called "jitter."
[0132] Explicit congestion notification: This refers to a mechanism where network devices (such as routers and switches) proactively report network congestion to both the sending and receiving ends. It's an "early warning" system, rather than waiting until data packets are lost to notify the system.
[0133] Stream-level packet loss rate: This refers to the proportion of data packets lost during the transmission of a video stream out of the total number of packets sent.
[0134] In some embodiments, the video transmission path can be used for the first node (e.g., Figure 4 The edge acquisition node or cluster service node shown) and the second node (such as Figure 4 Video transmission is performed between the cluster service nodes or edge acquisition nodes shown.
[0135] In some embodiments, obtaining the packet arrival time interval jitter, explicit congestion notification, and stream-level packet loss rate of the first video stream may include: deploying a lightweight probe agent on the video transmission path of the first node and the second node; and detecting the packet arrival time interval jitter, explicit congestion notification, and stream-level packet loss rate of the first video stream through the lightweight probe agent.
[0136] Step S604: The jitter of the data packet arrival time interval, explicit congestion notification, and stream-level packet loss rate of the first video stream are processed by the congestion control index function to determine the stream-level congestion index corresponding to the first video stream. The jitter of the data packet arrival time interval, explicit congestion notification, and stream-level packet loss rate are all proportional to the stream-level congestion index.
[0137] In some embodiments, lightweight probe agents can be deployed on critical network paths between edge nodes and service nodes. Each probe agent defines the ID tag of the corresponding stream by parsing the SSRC (Synchronization Source, used to uniquely identify the source of a data stream in an RTP session) field in the RTP (Real-time Transport Protocol) header, and binds the measurement data with a specific video stream ID.
[0138] The probe agent actively probes the video streams managed by the system by sending timestamped UDP (User Datagram Protocol Probe Packet) probe packets to the target service node according to the video stream ID. The probes include packet arrival time jitter, explicit congestion notifications based on the ECN (Explicit Congestion Notification) marker in the packet header, and stream-level packet loss rate. For each video stream ID, a dedicated congestion index CSI (stream-level congestion index) is calculated by integrating multi-source data, which can be determined, for example, by formula (5).
[0139] (5)
[0140] Where i represents the flow ID label, CSI_i represents the network congestion index of the flow ID, and f(·) is the congestion control index function (e.g., a weighted summation function), and i is an integer greater than or equal to 1.
[0141] The aforementioned method, by deploying a lightweight probe agent, proactively detects and integrates multi-dimensional data such as jitter, explicit congestion notifications, and packet loss rate for each video stream. It then uses a congestion control exponential function to generate a precisely quantified stream-level congestion index. This technology achieves a leap from macro-path monitoring to micro-stream-level perception, providing earlier and more refined insights into network congestion. This lays a reliable data foundation for subsequent intelligent dynamic allocation of video bitrate, ultimately achieving optimal overall video quality under bandwidth-constrained conditions.
[0142] Figure 7 This is a flowchart illustrating a priority weight determination method according to an exemplary embodiment.
[0143] In some embodiments, the video transmission path can be used to transmit data from a third node (such as...). Figure 4 (edge acquisition node in the middle) to the fourth node (such as Figure 4 The target video stream is sent by the cluster service node in the cluster.
[0144] refer to Figure 7 The above priority weight determination method may include the following steps.
[0145] Step S702: Acquire the target video through the third node.
[0146] In step S704, the third node encodes the target video using a video encoder to generate the target video stream.
[0147] Step S706: The third node analyzes the target video to obtain high-value targets in the target video and their confidence levels.
[0148] High-value targets can refer to specific visual objects, events, or states identified by edge-side intelligent analysis models in video streams within specific business scenarios, which can significantly enhance the business importance of that video stream.
[0149] Here, "high-value targets" can refer to visual objects or events that, once they appear in a video frame, mean that the video stream has higher business importance and needs to be prioritized for transmission quality assurance in a specific business scenario.
[0150] Its value does not come from the goal itself, but from the business semantics it represents.
[0151] From a technical implementation perspective, it can be a lightweight visual analysis model (such as object detection, image classification, or behavior recognition models) identifying a specific object or scene in a video stream in real time. "Confidence" is a probability value (usually between 0 and 1) output by the model, representing the model's degree of certainty regarding its recognition result. A higher confidence level indicates a greater likelihood that the target is a "high-value target."
[0152] From a business application perspective (to illustrate with an example): "High-value goals" depend entirely on the specific scenario in which the system is deployed.
[0153] In industrial safety inspection systems, high-value targets may include: flames, smoke, personnel trespassing into restricted areas, personnel not wearing safety helmets, and hazardous chemical leaks. The value in these situations lies in providing timely warnings to prevent safety accidents.
[0154] In a smart healthcare remote guidance system, high-value targets might include surgical instruments, specific organs or tissues, massive bleeding, or abnormal readings on vital signs monitors. The value lies in ensuring the smooth progress of surgery or diagnosis, and guaranteeing that critical information is transmitted to remote experts without delay or interruption.
[0155] In smart city traffic monitoring systems, high-value targets may include: traffic accidents (vehicle collisions), traffic congestion, illegal parking, and specific license plate numbers (such as monitored vehicles). The value in these cases lies in improving emergency response speed and processing efficiency.
[0156] Step S708: Determine the encoding complexity coefficient corresponding to the video encoder when encoding the target video.
[0157] In some embodiments, determining the encoding complexity coefficient corresponding to the video encoder when encoding the target video may include: tracking the computing power consumption and output bitstream characteristics of the video encoder through a third node; determining the current frame processing time based on the tracking results of the computing power consumption and output bitstream characteristics; and determining the encoding complexity coefficient based on the current frame processing time and the reference frame processing time.
[0158] Step S710: Determine the priority weight corresponding to the target video stream based on the confidence level and coding complexity coefficient of the high-value target.
[0159] In some embodiments, a pre-trained key flow recognition model may be deployed in the edge acquisition node.
[0160] In some embodiments, a key flow recognition model can be used to perform real-time priority analysis on video streams received from edge acquisition nodes. This stage includes two core dimensions: First, a lightweight visual model is used to analyze the image content and identify high-value targets (such as surgical instruments, hazardous chemicals, specific individuals, etc.). The model focuses on features such as target shape and motion patterns, generating a semantic confidence score T of 0-1. When a target scene is detected by the recognition model, it is determined that the scene has priority business value, and the video stream is considered a potential priority business stream. Second, encoding status monitoring: the recognition system tracks the encoder's computing power consumption curve and output bitstream characteristics in real time to obtain the encoding complexity coefficient Ccomp (current frame processing time / baseline frame processing time). If a sudden increase in computing power consumption is detected, it indicates an increase in image complexity (such as a sudden motion scene), or an abnormal increase in bitstream, indicating an increase in image information entropy (such as a burst of texture details).
[0161] After the identification system is activated, the system fuses features to construct a priority decision matrix and passes the matrix parameters to the bandwidth optimization engine and monitoring center. The priority decision matrix is shown in formula (6).
[0162] (6)
[0163] in, and Indicates semantic confidence and coding complexity The weight parameters, and Let m represent the perceptual parameter set of the first video capture point, and m represent the perceptual parameter set of the m-th video capture point. Since each video capture point focuses on different services, the corresponding semantic confidence and encoding complexity weight parameters are also different. m is an integer greater than 1.
[0164] In some embodiments, the semantic confidence (confidence) and coding complexity (coding complexity coefficient) of a certain video acquisition point can be weighted and summed to determine the priority weight of the video detected by that video acquisition point.
[0165] This technical solution constructs a precise priority determination mechanism for perceiving the criticality of business operations by integrating the semantic value and coding complexity of video content. Specifically, edge nodes simultaneously perform lightweight visual analysis and high-precision coding monitoring: the visual model identifies high-value targets in specific business scenarios (such as flames, surgical instruments, and traffic accidents) and outputs semantic confidence scores, while the coding monitoring module calculates complexity coefficients reflecting dynamic changes in the image in real time. Finally, priority is formed by weighted fusion of these two features. This dual-modal perception mechanism can identify both statically preset important targets and capture sudden dynamic scenes (such as violent movement and bursts of detail), ensuring that the system can accurately identify various critical business flows and providing intelligent, multi-dimensional decision-making basis for the precise control of subsequent bandwidth resources.
[0166] Figure 8 This is a flowchart illustrating a video quality control method according to an exemplary embodiment.
[0167] Combination Figure 4 The architecture diagram shown is as follows: Figure 8 The video quality control method shown may include the following steps.
[0168] I. Edge perception and priority feature extraction stage.
[0169] In the initial stage of system operation, the critical flow recognition model performs real-time priority analysis on the video streams input from edge acquisition node 401. This stage includes two core dimensions: First, it analyzes the image content using a lightweight visual model to identify high-value targets (such as surgical instruments, hazardous chemicals, specific individuals, etc.). The model focuses on features such as target shape and motion patterns, generating a semantic confidence score T of 0-1. When a target scene is detected by the recognition model, it is determined that the scene has priority business value, and the video stream is considered a potential priority business stream. Second, it monitors the encoding status. The recognition system tracks the encoder's computing power consumption curve and output bitstream characteristics in real time to obtain the encoding complexity coefficient Ccomp (current frame processing time / baseline frame processing time). If a sudden increase in computing power consumption is detected, it indicates an increase in image complexity (such as a sudden motion scene), or an abnormal increase in bitstream, indicating an increase in image information entropy (such as a burst of texture details).
[0170] In some embodiments, the edge detection node can determine a unique priority for each video acquisition point based on the above formula (6). For example, a weighted sum can be performed on each column, and then the weighted sum can be normalized to determine the priority weight corresponding to the video obtained by each video acquisition point.
[0171] After the identification system is activated, the system will fuse features to construct a priority decision matrix, and then pass the priority decision matrix and / or the priority corresponding to the video acquisition point to the bandwidth optimization engine and the monitoring center.
[0172] II. Network-based Joint Diagnosis Phase.
[0173] After completing edge awareness and priority feature extraction, the system enters the network joint diagnostic phase. The core innovation of this phase lies in the development of a video stream-level network probe tool, capable of independently measuring the congestion status of the transmission path for each video stream (identified by a unique video stream ID). Lightweight probe agents are deployed on critical network paths between edge nodes and service nodes. Each probe agent defines the corresponding stream's ID tag by parsing the SSRC field in the RTP header, binding the measurement data to a specific video stream ID.
[0174] The probe agent actively probes the video streams managed by the system by sending timestamped UDP probe packets to the target service node according to the video stream ID. The probes include packet arrival time jitter, explicit congestion notification based on the ECN tag in the packet header, and stream-level packet loss rate (detected by RTP sequence number). For each video stream ID, a dedicated congestion index (CSI) is calculated by integrating multi-source data, as detailed in formula (5).
[0175] III. Global Optimization Decision-Making Stage.
[0176] After the bandwidth optimization engine receives the priority decision matrix (and / or priority weights) from the edge awareness stage and the stream-level congestion information from the network diagnostic stage, the system enters the global optimization decision stage. The core task of this stage is to achieve the optimal balance between ensuring the quality of critical video streams and overall bandwidth utilization under the condition of limited network resources.
[0177] It should be noted that the aforementioned priority weights can also be calculated within the cluster service nodes, and this application does not impose any restrictions on this.
[0178] In this stage, the system introduces an optimization engine. First, the engine constructs a stream resource allocation model based on a priority decision matrix. This model uses the available bandwidth of the network design as a constraint and optimizes the quality of high-weight videos as the optimization objective. The system defines a quality utility function for each video stream, which maps bitrate and congestion information to a score for the estimated video quality. The optimization problem can be expressed as formulas (2) and (3).
[0179] At the start of optimization, a basic guaranteed bandwidth can be allocated to each video stream. Once the system identifies high-priority video streams, it iterative adjustments are made along the gradient direction of the quality-utility curve, while ensuring the quality of all streams. By analyzing the impact of bitrate increments on quality improvement, bandwidth is preferentially allocated to the video streams with the most significant utility improvements. Simultaneously, to avoid frequent fluctuations, a hysteresis adjustment mechanism is introduced. Parameter adjustments are only triggered when the change in quality prediction exceeds an adaptive threshold. A minimum adjustment interval is also set to ensure stable encoder operation.
[0180] After completing the optimization calculations, the system generates a set of refined control instructions for each video stream. These instructions include encoding parameter configurations specific to the video stream ID. For critical streams, the encoder parameters are adjusted and the bitrate cap is increased; for non-critical streams, the encoder parameters are adjusted and the maximum bitrate is constrained.
[0181] IV. Execution and Dynamic Update Phase.
[0182] After completing the global optimization decision, the system enters the execution and dynamic update phase. This phase, through the collaborative work of the edge controller and the policy executor, enables efficient execution of optimization instructions and adaptive system adjustments.
[0183] After the initial optimization is completed, the bandwidth optimization engine passes the optimized results to the policy executor. The executor encapsulates the optimization information using a protocol, retaining the video stream ID during encapsulation to ensure precise association between instructions and specific video streams. Then, it initiates a communication thread with the edge controller to issue instructions to the edge controller.
[0184] The edge controller parses the command content and identifies the operation type and parameter set corresponding to the video stream ID. Upon receiving new parameters, the video encoder immediately switches its operating mode, and after the parameters take effect, it sends an execution confirmation to the cluster via a heartbeat signal. During this process, a fast response channel is used for high-priority video streams, while a progressive compression strategy is applied to ordinary video streams, dynamically adjusting the compression ratio based on weight values. During real-time operation, the entire system dynamically adjusts and optimizes commands based on weight and congestion information fed back from the edge. During stable system operation, bandwidth constraints are gradually released as congestion eases, and the probe sampling frequency and optimization cycle are dynamically adjusted according to the service load.
[0185] This embodiment proposes a globally optimized architecture that integrates edge and cluster operations, overcoming the disconnect between network congestion control and video coding optimization in traditional solutions. This embodiment achieves the following: 1. The system independently measures the transmission path status for each video stream, overcoming the coarse-grained limitations of traditional device-level or port-level congestion detection; 2. When the system optimization engine iteratively allocates bitrate, adjustments are only triggered when the quality prediction change exceeds an adaptive threshold, and a minimum interval is set to avoid encoder instability caused by frequent fluctuations; 3. High-priority streams use a fast-response channel, while ordinary streams are subjected to progressive compression, balancing efficiency and stability.
[0186] This embodiment can achieve at least the following beneficial effects: 1. By jointly optimizing the system with the video stream-based congestion index and the edge-aware priority decision matrix, the bitrate of non-critical streams is dynamically reduced to alleviate congestion when the network is congested; at the same time, high quality is maintained for high-value streams, achieving the optimal balance between quality assurance of critical video streams and bandwidth resources in congested scenarios; 2. A global bandwidth optimization engine is designed to break through the traditional fixed bitrate upper limit, release bitrate constraints on high-priority streams, and apply dynamic compression to low-priority streams, significantly improving the service assurance rate of high-value videos and the overall bandwidth utilization rate.
[0187] The above embodiments may be applied in the following scenarios: 1. Industrial safety inspection system: prioritize bandwidth allocation and increase the upper limit of bit rate for video (high T) in hazardous chemical areas, and dynamically compress and release bandwidth for video in low-risk areas; 2. Smart city emergency command system: automatically identify video streams at the scene of emergencies as critical streams, transmit high-definition images beyond the preset bit rate limit, and control the degradation of video streams in non-emergency road conditions.
[0188] In summary, the above methods, on the one hand, analyze in real time at the edge video acquisition points whether the currently acquired information is critical to the business, and transmit key feature information to the monitoring center for collaborative judgment, thereby increasing the function of business priority; on the other hand, by monitoring and analyzing the cluster network congestion, the allocation of network resources to individual video acquisition points is dynamically adjusted, improving the network utilization of the system cluster, and the network status is fed back to the edge video encoder to further optimize the encoder's video processing. This improves the overall optimization performance of the system.
[0189] It should be particularly noted that the steps in each embodiment of the above video quality control method can be overlapped, substituted, added, or deleted. Therefore, these reasonable permutations and combinations of video quality control methods should also fall within the protection scope of this disclosure, and the protection scope of this disclosure should not be limited to the above embodiments.
[0190] Based on the same inventive concept, this disclosure also provides a video quality adjustment device, as described in the following embodiments. Since the principle by which this device solves the problem is similar to that of the method embodiments described above, the implementation of this device embodiment can refer to the implementation of the method embodiments described above, and repeated details will not be repeated.
[0191] Figure 9 This is a block diagram illustrating a video quality adjustment device according to an exemplary embodiment. (Refer to...) Figure 9 The video quality control device 900 provided in this embodiment may include: an available bandwidth acquisition module 901, a priority weight acquisition module 902, a quality utility function determination module 903, a total quality utility value determination module 904, an optimization module 905, and a quality control module 906.
[0192] The available bandwidth acquisition module 901 can be used to acquire the designed available bandwidth corresponding to the video transmission path, and the preset bitrate upper limit of each video stream on the video transmission path; the priority weight acquisition module 902 can be used to acquire the priority weight corresponding to each video stream on the video transmission path; the quality utility function determination module 903 can be used to determine the quality utility function value corresponding to each video stream according to the preset bitrate upper limit; wherein the quality utility function value is used to characterize video quality and is positively correlated with the preset bitrate upper limit; the total quality utility value determination module 904 can be used to obtain the total quality utility value by weighted summation of the quality utility function values of each video stream based on the priority weight; the optimization module 905 can be used to optimize the preset bitrate upper limit of each video stream with the goal of maximizing the total quality utility value and the constraint that the sum of the bitrates of each video stream does not exceed the designed available bandwidth; the quality control module 906 can be used to perform quality control on the video streams on the video transmission path according to the optimized bitrate obtained by the solution.
[0193] It should be noted that the available bandwidth acquisition module 901, priority weight acquisition module 902, quality utility function determination module 903, total quality utility value determination module 904, optimization module 905, and quality control module 906 mentioned above correspond to S202 to S212 in the method embodiment. The examples and application scenarios implemented by the above modules and corresponding steps are the same, but are not limited to the content disclosed in the above method embodiment. It should be noted that the above modules, as part of the device, can be executed in a computer system such as a set of computer-executable instructions.
[0194] In some embodiments, the video quality control device 900 may further include a stream-level congestion information acquisition module.
[0195] The stream-level congestion information acquisition module can be used to acquire the stream-level congestion information of each video stream on the video transmission path. The stream-level congestion information is determined based on at least one of the video stream's data packet arrival time interval jitter, explicit congestion notification, and stream-level packet loss rate.
[0196] The quality utility function determination module 903 may include a utility function value determination submodule.
[0197] The utility function value determination submodule can be used to determine the quality utility function value corresponding to each video stream based on the preset bitrate upper limit and the stream-level congestion information.
[0198] In some embodiments, the flow-level congestion information includes a flow-level congestion index, which is positively correlated with the degree of flow congestion; wherein, when the flow-level congestion index is less than a preset congestion level, the correlation coefficient between the quality utility function value and the preset bitrate upper limit is a first value; wherein, when the flow-level congestion index is greater than or equal to the preset congestion level, the correlation coefficient between the quality utility function value and the preset bitrate upper limit is a second value, and the second value is greater than the first value.
[0199] In some embodiments, the second value is positively correlated with the flow-level congestion index.
[0200] In some embodiments, the video stream on the video transmission path includes a first video stream; wherein, the video quality control device 900 may further include: a first video stream data acquisition module and a stream-level congestion index determination submodule.
[0201] The first video stream data acquisition module can be used to acquire the data packet arrival time interval jitter, explicit congestion notification, and stream-level packet loss rate of the first video stream; the stream-level congestion index determination submodule can be used to process the data packet arrival time interval jitter, explicit congestion notification, and stream-level packet loss rate of the first video stream through a congestion control index function to determine the stream-level congestion index corresponding to the first video stream, wherein the data packet arrival time interval jitter, the explicit congestion notification, and the stream-level packet loss rate are all proportional to the stream-level congestion index.
[0202] In some embodiments, the video transmission path is used for video transmission between a first node and a second node; wherein, obtaining the data packet arrival time interval jitter, explicit congestion notification, and stream-level packet loss rate of the first video stream includes: deploying a lightweight probe agent on the video transmission path between the first node and the second node; and detecting the data packet arrival time interval jitter, explicit congestion notification, and stream-level packet loss rate of the first video stream through the lightweight probe agent.
[0203] In some embodiments, the video transmission path is used to transmit a target video stream sent from a third node to a fourth node; wherein, obtaining the priority weight corresponding to each video stream on the video transmission path includes: acquiring the target video through the third node; the third node encoding the target video through a video encoder to generate the target video stream; the third node analyzing the target video to obtain high-value targets in the target video and their confidence levels; determining the encoding complexity coefficient corresponding to the video encoder when encoding the target video; and determining the priority weight corresponding to the target video stream based on the confidence levels of the high-value targets and the encoding complexity coefficient.
[0204] In some embodiments, determining the encoding complexity coefficient corresponding to the video encoder when encoding the target video includes: tracking the computing power consumption and output bitstream characteristics of the video encoder through the third node; determining the current frame processing time based on the tracking results of the computing power consumption and output bitstream characteristics; and determining the encoding complexity coefficient based on the current frame processing time and the reference frame processing time.
[0205] Since the functions of the device 900 have been described in detail in their respective method embodiments, they will not be repeated here.
[0206] The modules and / or submodules described in the embodiments of this disclosure can be implemented in software or hardware. The described modules and / or submodules can also be located in a processor. The names of these modules and / or submodules do not, in some cases, constitute a limitation on the module and / or submodule itself.
[0207] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present disclosure. In this regard, each block in a flowchart or block diagram may represent a portion of a module or program segment containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in a block diagram or flowchart, and combinations of blocks in a block diagram or flowchart, may be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer program instructions.
[0208] Furthermore, the above figures are merely illustrative of the processes included in the method according to exemplary embodiments of this disclosure and are not intended to be limiting. It is readily understood that the processes shown in the above figures do not indicate or limit the temporal order of these processes. Additionally, it is readily understood that these processes may be executed synchronously or asynchronously, for example, in multiple modules.
[0209] Figure 10 A schematic diagram of an electronic device suitable for implementing embodiments of the present disclosure is shown. It should be noted that... Figure 10 The illustrated electronic device 1000 is merely an example and should not be construed as limiting the functionality and scope of use of the embodiments disclosed herein.
[0210] like Figure 10 As shown, the electronic device 1000 includes a central processing unit (CPU) 1001, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 1002 or a program loaded from a storage section 1008 into a random access memory (RAM) 1003. The RAM 1003 also stores various programs and data required for the operation of the electronic device 1000. The CPU 1001, ROM 1002, and RAM 1003 are interconnected via a bus 1004. An input / output (I / O) interface 1005 is also connected to the bus 1004.
[0211] The following components are connected to I / O interface 1005: an input section 1006 including a keyboard, mouse, etc.; an output section 1007 including a cathode ray tube (CRT), liquid crystal display (LCD), etc., and speakers, etc.; a storage section 1008 including a hard disk, etc.; and a communication section 1009 including a network interface card such as a LAN card, modem, etc. The communication section 1009 performs communication processing via a network such as the Internet. A drive 1010 is also connected to I / O interface 1005 as needed. A removable medium 1011, such as a disk, optical disk, magneto-optical disk, semiconductor memory, etc., is installed on drive 1010 as needed so that computer programs read from it can be installed into storage section 1008 as needed.
[0212] In particular, according to embodiments of this disclosure, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, embodiments of this disclosure include a computer program product comprising a computer program carried on a computer-readable storage medium, the computer program containing computer program instructions for performing the methods shown in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via communication section 1009, and / or installed from removable medium 1011. When the computer program is executed by central processing unit (CPU) 1001, it performs the functions defined above in the system of this disclosure.
[0213] It should be noted that the computer-readable storage medium disclosed herein may be a computer-readable signal medium or a computer-readable storage medium, or any combination thereof. A computer-readable storage medium may be, for example,—but not limited to—an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of a computer-readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination thereof. In this disclosure, a computer-readable storage medium may be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, apparatus, or device. In this disclosure, a computer-readable signal medium may include a data signal propagated in baseband or as part of a carrier wave, carrying computer-readable computer program instructions. Such propagated data signals may take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. Computer-readable signal media can also be any computer-readable storage medium other than a computer-readable storage medium, which can send, propagate, or transmit a program for use by or in connection with an instruction execution system, apparatus, or device. Computer program instructions contained on a computer-readable storage medium can be transmitted using any suitable medium, including but not limited to: wireless, wire, optical fiber, RF, etc., or any suitable combination thereof.
[0214] In another aspect, this disclosure also provides a computer-readable storage medium, which may be included in the device described in the above embodiments; or it may exist independently and not assembled into the device. The computer-readable storage medium carries one or more programs, which, when executed by the device, enable the device to perform the following functions: obtaining the designed available bandwidth corresponding to the video transmission path, and the preset bitrate upper limit of each video stream on the video transmission path; obtaining the priority weight corresponding to each video stream on the video transmission path; determining the quality utility function value corresponding to each video stream based on the preset bitrate upper limit; wherein the quality utility function value is used to characterize video quality and is positively correlated with the preset bitrate upper limit; weighted summing of the quality utility function values of each video stream based on the priority weight to obtain a total quality utility value; optimizing the preset bitrate upper limit of each video stream with the goal of maximizing the total quality utility value and the constraint that the sum of the bitrates of each video stream does not exceed the designed available bandwidth; and performing quality control on the video streams on the video transmission path based on the optimized bitrate obtained from the solution.
[0215] According to one aspect of this disclosure, a computer program product or computer program is provided, comprising computer program instructions stored in a computer-readable storage medium. The computer program instructions are read from the computer-readable storage medium, and a processor executes the computer program instructions to implement the methods provided in various optional implementations of the above embodiments.
[0216] From the above description of the embodiments, those skilled in the art will readily understand that the exemplary embodiments described herein can be implemented by software or by combining software with necessary hardware. Therefore, the technical solutions of the embodiments of this disclosure can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (such as a CD-ROM, USB flash drive, or portable hard drive) and includes several computer program instructions to cause an electronic device (such as a server or terminal device) to execute the method according to the embodiments of this disclosure.
[0217] Other embodiments of this disclosure will readily occur to those skilled in the art upon consideration of the specification and practice disclosed herein. This disclosure is intended to cover any variations, uses, or adaptations of this disclosure that follow the general principles of this disclosure and include common knowledge or customary techniques in the art not disclosed herein. The specification and examples are to be considered exemplary only, and the true scope and spirit of this disclosure are indicated by the claims.
[0218] It should be understood that this disclosure is not limited to the detailed structures, drawing arrangements or implementations shown herein; rather, this disclosure is intended to cover various modifications and equivalent arrangements contained within the spirit and scope of the appended claims.
Claims
1. A video quality control method, characterized in that, include: Obtain the design available bandwidth corresponding to the video transmission path, and the preset bitrate upper limit of each video stream on the video transmission path; Obtain the priority weight corresponding to each video stream on the video transmission path; The quality utility function value corresponding to each video stream is determined based on the preset bitrate upper limit. The quality utility function value is used to characterize video quality and is positively correlated with the preset bitrate upper limit; The total quality utility value is obtained by weighting and summing the quality utility function values of each video stream based on the priority weights. With the goal of maximizing the total quality utility value, and with the constraint that the sum of the bitrates of each video stream does not exceed the designed available bandwidth, the preset bitrate upper limit of each video stream is optimized and solved. Based on the optimized bitrate obtained from the solution, the quality of the video stream on the video transmission path is adjusted.
2. The method according to claim 1, characterized in that, The method further includes: The stream-level congestion information of each video stream on the video transmission path is obtained. The stream-level congestion information is determined based on at least one of the video stream's data packet arrival time interval jitter, explicit congestion notification, and stream-level packet loss rate. The process of determining the quality utility function value for each video stream based on the preset bitrate upper limit includes: The quality utility function value corresponding to each video stream is determined based on the preset bitrate upper limit and the stream-level congestion information.
3. The method according to claim 2, characterized in that, The flow-level congestion information includes a flow-level congestion index, which is positively correlated with the degree of congestion of the flow. Wherein, when the flow-level congestion index is less than the preset congestion level, the correlation coefficient between the quality utility function value and the preset upper limit of bit rate is the first value; Wherein, when the flow-level congestion index is greater than or equal to the preset congestion level, the correlation coefficient between the quality utility function value and the preset upper limit of bit rate is a second value, and the second value is greater than the first value.
4. The method according to claim 3, characterized in that, The second value is positively correlated with the flow-level congestion index.
5. The method according to claim 3, characterized in that, The video stream on the video transmission path includes a first video stream; wherein, the method further includes: Obtain the data packet arrival time interval jitter, explicit congestion notification, and stream-level packet loss rate of the first video stream; The first video stream's packet arrival time jitter, explicit congestion notification, and stream-level packet loss rate are processed by a congestion control exponential function to determine the stream-level congestion index corresponding to the first video stream. The packet arrival time jitter, explicit congestion notification, and stream-level packet loss rate are all proportional to the stream-level congestion index.
6. The method according to claim 5, characterized in that, The video transmission path is used for video transmission between the first node and the second node; wherein, obtaining the data packet arrival time interval jitter, explicit congestion notification, and stream-level packet loss rate of the first video stream includes: Deploy lightweight probe agents on the video transmission paths of the first node and the second node; The lightweight probe agent detects the packet arrival time jitter, explicit congestion notification, and stream-level packet loss rate of the first video stream.
7. The method according to claim 1, characterized in that, The video transmission path is used to transmit the target video stream sent from the third node to the fourth node; wherein, obtaining the priority weight corresponding to each video stream on the video transmission path includes: The target video is acquired through the third node; The third node encodes the target video using a video encoder to generate the target video stream; The third node analyzes the target video to obtain high-value targets in the target video and their confidence levels; Determine the encoding complexity coefficient corresponding to the video encoder when encoding the target video; Based on the confidence level of the high-value target and the coding complexity coefficient, the priority weight corresponding to the target video stream is determined.
8. The method according to claim 7, characterized in that, Determining the encoding complexity coefficient of the video encoder when encoding the target video includes: The third node is used to track the computing power consumption and output bitstream characteristics of the video encoder. The processing time for the current frame is determined based on the tracking results of computing power consumption and output bitstream characteristics. The coding complexity coefficient is determined based on the current frame processing time and the reference frame processing time.
9. A video quality control device, characterized in that, include: Available bandwidth acquisition module is used to acquire the design available bandwidth corresponding to the video transmission path, as well as the preset bitrate upper limit of each video stream on the video transmission path; The priority weight acquisition module is used to acquire the priority weight corresponding to each video stream on the video transmission path; The quality utility function determination module is used to determine the quality utility function value corresponding to each video stream based on the preset bitrate upper limit; The quality utility function value is used to characterize video quality and is positively correlated with the preset bitrate upper limit; The total quality utility value determination module is used to obtain the total quality utility value by weighted summation of the quality utility function values of each video stream based on the priority weights. The optimization module is used to optimize the preset bitrate upper limit of each video stream with the goal of maximizing the total quality utility value and the constraint that the sum of the bitrates of each video stream does not exceed the designed available bandwidth. The quality control module is used to perform quality control on the video stream along the video transmission path based on the optimized bitrate obtained from the solution.
10. An electronic device, characterized in that, include: Memory and processor; The memory is used to store computer program instructions; the processor calls the computer program instructions stored in the memory to implement the video quality control method as described in any one of claims 1-8.
11. A computer-readable storage medium storing computer program instructions, characterized in that, When the computer program instructions are executed by the processor, they implement the video quality control method as described in any one of claims 1-8.
12. A computer program product comprising computer program instructions stored in a computer-readable storage medium, characterized in that, When the computer program instructions are executed by the processor, they implement the method according to any one of claims 1-8.