Methods and systems for bitrate control of video encoding systems

The method and system for bitrate control in video encoding systems adjust target bitrates based on complexity and residual data to optimize resource usage and maintain image quality, addressing the inefficiencies of dynamically changing data amounts in multi-channel encoding.

WO2025152735A1PCT designated stage expired Publication Date: 2025-07-24ZHEJIANG DAHUA TECH CO LTD
View PDF 8 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2024/142253
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-01-18
Filing Date
2024-12-25
Publication Date
2025-07-24

AI Technical Summary

Technical Problem

Existing video encoding systems with multiple channels struggle to effectively manage bitrate control due to dynamically changing data amounts, leading to resource waste and inconsistent image quality across channels.

Method used

A method and system for bitrate control that involves determining a total reference bitrate and complexity degree of each encoding channel, adjusting target bitrates to maintain a deviation within a threshold, and utilizing residual stream data amounts to optimize resource usage and ensure image quality.

Benefits of technology

This approach enhances bandwidth efficiency and maintains consistent image quality by dynamically adjusting bitrates based on complexity and residual data, effectively utilizing resources and reducing waste.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024142253_24072025_PF_FP_ABST
    Figure CN2024142253_24072025_PF_FP_ABST
Patent Text Reader

Abstract

Embodiments of the present disclosure provide a method, system, and storage medium for bitrate control of a video encoding system including a plurality of encoding channels. The method comprises obtaining a total reference bitrate of the plurality of the encoding channels of the video encoding system; determining a complexity degree of an image frame obtained by each encoding channel of the plurality of encoding channels at a first time; determining, according to the total reference bitrate and the complexity degree of the image frame obtained by each of the plurality of encoding channels, a target bitrate of each of at least a portion of the plurality of encoding channels at a second time, wherein a deviation between a total target bitrate of the plurality of encoding channels and the total reference bitrate satisfies a condition.
Need to check novelty before this filing date? Find Prior Art

Description

METHODS AND SYSTEMS FOR BITRATE CONTROL OF VIDEO ENCODING SYSTEMSCROSS-REFERENCE TO RELATED APPLICATIONS

[0001] This application claims priority to Chinese Patent Application No. 202410075957.6 filed on January 18, 2024, the contents of which are incorporated herein by reference.TECHNICAL FIELD

[0002] The present disclosure relates to the field of video processing, and in particular, to methods and systems for bitrate control of a video encoding system including a plurality of encoding channels.BACKGROUND

[0003] The video encoding system including a plurality of encoding channels can process a plurality of video data sources simultaneously and independently based on the plurality of encoding channels. For different encoding channels, the video encoding system may control the bitrate of each of the different encoding channels independently. However, the data amount of the video data source changes dynamically. The independent bitrate control of different encoding channels cannot effectively save the bandwidth and / or improve the quality of image frames obtained from the different encoding channels.

[0004] Therefore, it is desirable to provide methods and systems for bitrate control of a video encoding system including a plurality of encoding channels, which can reduce the waste of device resources and ensures the processing effect when processing video data with a dynamically changing data amount.SUMMARY

[0005] According to an aspect of the present disclosure, a method for bitrate control of a video encoding system including a plurality of encoding channels is provided. The method may include: obtaining a total reference bitrate of the plurality of the encoding channels of the video encoding system; determining a complexity degree of an image frame obtained by each encoding channel of the plurality of encoding channels at a first time; determining, according to the total reference bitrate and the complexity degree of the image frame obtained by each of the plurality of encoding channels, a target bitrate of each of at least a portion of the plurality of encoding channels at a second time, wherein a deviation between a total target bitrate of the plurality of encoding channels and the total reference bitrate satisfies a condition.

[0006] According to an aspect of the present disclosure, a system is provided. The system may include at least one storage medium storing a set of instructions and at least one processor configured to communicate with the at least one storage medium. When executing the set of instructions, the at least one processor may be directed to cause the system to perform operations including: obtaining a total reference bitrate of the plurality of the encoding channels of the video encoding system; determining a complexity degree of an image frame obtained by each encoding channel of the plurality of encoding channels at a first time; determining, according to the total reference bitrate and the complexity degree of the image frame obtained by each of the plurality of encoding channels, a target bitrate of each of at least a portion of the plurality of encoding channels at a second time, wherein a deviation between a total target bitrate of the plurality of encoding channels and the total reference bitrate satisfies a condition.

[0007] According to yet another aspect of the present disclosure, a non-transitory computer readable medium is provided. The non-transitory computer readable medium may include at least one set of instructions. When executed by at least one processor of a computer device, the at least one set of instructions may direct the at least one processor to perform operations including: obtaining a total reference bitrate of the plurality of the encoding channels of the video encoding system; determining a complexity degree of an image frame obtained by each encoding channel of the plurality of encoding channels at a first time; determining, according to the total reference bitrate and the complexity degree of the image frame obtained by each of the plurality of encoding channels, a target bitrate of each of at least a portion of the plurality of encoding channels at a second time, wherein a deviation between a total target bitrate of the plurality of encoding channels and the total reference bitrate satisfies a condition.BRIEF DESCRIPTION OF THE DRAWINGS

[0008] The present disclosure is further described in terms of exemplary embodiments. These exemplary embodiments are described in detail with reference to the drawings. These embodiments are non-limiting exemplary embodiments, in which like reference numerals represent similar structures throughout the several views of the drawings, and wherein:

[0009] FIG. 1 is a diagram illustrating an exemplary application scenario of a video encoding system including a plurality of encoding channels according to some embodiments of the present disclosure;

[0010] FIG. 2 is a schematic diagram illustrating an exemplary system 200 for bitrate control of a video encoding system including a plurality of encoding channels according to some embodiments of the present disclosure;

[0011] FIG. 3 is a flowchart illustrating an exemplary process for bitrate control of a video encoding system including a plurality of encoding channels according to some embodiments of the present disclosure;

[0012] FIG. 4 is a schematic diagram illustrating a complexity degree of an image frame according to some embodiments of the present disclosure;

[0013] FIG. 5 is a flowchart illustrating an exemplary process for adjusting a bitrate of an encoding channel based on a residual stream data amount according to some embodiments of the present disclosure;

[0014] FIG. 6 is a schematic diagram illustrating an exemplary first time and an exemplary second time according to some embodiments of the present disclosure;

[0015] FIG. 7 is a flowchart illustrating an exemplary process for adjusting a bitrate of an encoding channel based on a residual stream data amount according to some embodiments of the present disclosure;

[0016] FIG. 8 is a schematic diagram illustrating adjusting a bitrate of an encoding channel based on a residual stream data amount according to some embodiments of the present disclosure;

[0017] FIG. 9 is a flowchart illustrating an exemplary process for adjusting a bitrate of an encoding channel based on a residual stream data amount according to some embodiments of the present disclosure;

[0018] FIG. 10 is a flowchart illustrating an exemplary process for adjusting a bitrate of an encoding channel based on a reference relationship according to some embodiments of the present disclosure;

[0019] FIG. 11 is a flowchart illustrating an exemplary process for bitrate control provided by the present disclosure;

[0020] FIG. 12 is a flowchart illustrating another exemplary process for bitrate control provided by the present disclosure;

[0021] FIG. 13 is a schematic diagram illustrating an exemplary device for bitrate control provided by the present disclosure; and

[0022] FIG. 14 is a schematic diagram illustrating an exemplary computer-readable storage medium provided in the present disclosure.DETAILED DESCRIPTION

[0023] In order to more clearly illustrate the technical solutions relating to the embodiments of the present disclosure, a brief introduction of the drawings referred to the description of the embodiments is provided below. Obviously, the drawings described below are only some examples or embodiments of the present disclosure. Those having ordinary skills in the art, without further creative efforts, may apply the present disclosure to other similar scenarios according to these drawings. Unless obviously obtained from the context or the context illustrates otherwise, the same numeral in the drawings refers to the same structure or operation.

[0024] It should be understood that the “system, ” “device, ” “unit, ” and / or “module” used herein are one method to distinguish different components, elements, parts, sections, or assemblies of different levels. However, if other words can achieve the same purpose, the words can be replaced by other expressions.

[0025] As used in the disclosure and the appended claims, the singular forms “a, ” “an, ” and “the” include plural referents unless the content clearly dictates otherwise; the plural forms may be intended to include singular forms as well. In general, the terms “comprise, ” “comprises, ” and / or “comprising, ” “include, ” “includes, ” and / or “including, ” merely prompt to include steps and elements that have been clearly identified, and these steps and elements do not constitute an exclusive listing. The methods or devices may also include other steps or elements.

[0026] The flowcharts used in the present disclosure illustrate operations that the system implements according to the embodiment of the present disclosure. It should be understood that the foregoing or following operations may not necessarily be performed exactly in order. Instead, the operations may be processed in reverse order or simultaneously. Besides, one or more other operations may be added to these processes, or one or more operations may be removed from these processes.

[0027] FIG. 1 is a diagram illustrating an exemplary application scenario of a video encoding system including a plurality of encoding channels according to some embodiments of the present disclosure.

[0028] In some embodiments, as shown in FIG. 1, the video encoding system may include a video acquisition device 110, a processing device 120, a terminal device 130, a storage device 140, and / or a network 150.

[0029] The video acquisition device 110 refers to an apparatus configured to obtain and record a video signal. For example, the video acquisition device 110 may include a digital video camera 110-1, a security surveillance camera system 110-2, a drone camera (not shown) , a video conferencing system (not shown) , etc. In some embodiments, the video acquisition device 110 may communication with at least one component of the video encoding system 100 including a plurality of encoding channels via the network 150. For example, the video acquisition device 110 may send the video data to the processing device 130 via the network 150.

[0030] The processing device 120 may be configured to process data and / or information from the at least one component of the video encoding system 100. For example, the processing device 120 may include an encoder including a plurality of encoding channels. The processing device 120 may encode video data obtained from the video acquisition device 110 and / or transmit the encoded video data to other components of the video encoding system 100 and / or other devices. As a further example, the processing device 120 may determine the complexity degree of an image frame obtained by each encoding channel of the plurality of encoding channels at a first time. As another example, the processing device 120 may determine, according to a total reference bitrate and the complexity degree of the image frame obtained by each of the plurality of encoding channels, a target bitrate of the encoding channel. The processing device 120 may encode the video data acquired by the video acquisition device 110 at the first time and / or after the first time and before a second time based on the determined target bitrate of the each encoding channel.

[0031] In some embodiments, the processing device 120 may include a central processing unit (CPU) , a digital signal processor (DSP) , a system-on-chip (SoC) , a microcontroller unit (MCU) , a computer, a user console, or the like, or any combination thereof. In some embodiments, the processing device may include a single server or a server group. The server group may be centralized or distributed. In some embodiments, the processing device may be local or remote. In some embodiments, the processing device may be implemented on a cloud platform. Merely by way of example, a cloud platform may include a private cloud, a public cloud, a hybrid cloud, a community cloud, a distributed cloud, an inter-cloud, a multi-cloud, or the like, or any combination thereof. In some embodiments, the processing device 120 may be integrated into the video acquisition device 110.

[0032] The terminal device 130 may realize the interaction between the user and the video encoding system. In some embodiments, the terminal device 130 may obtain an encoding parameter (e.g., an encoding resolution, a frame rate, a total reference bitrate) set by the user. In some embodiments, the terminal device 130 may include other devices with input and / or output functions such as a mobile device 130-1, a tablet computer 130-2, a laptop computer 130-3, or the like, or any combination thereof. In some embodiments, the terminal device 130 may display an image (e.g., an image frame) to the user. In some embodiments, the terminal device 130 may be a portion of the processing device 120.

[0033] The storage device 140 may be configured to store data, instructions, and / or any other information. For example, the storage device may store the video data, the video parameter, etc. In some embodiments, the storage device may include a random access memory (RAM) , a read-only memory (ROM) , a mass storage, a removable storage device, a volatile read-and-write memory, or the like, or any combination thereof. In some embodiments, the storage device may be integrated or included in one or more other components (e.g., the video acquisition device 110, the processing device 120, the terminal device 130) of the video encoding system 100 including a plurality of encoding channels.

[0034] The network 150 may facilitate exchange of information and / or data. In some embodiments, one or more components (e.g., the video acquisition device 110, the processing device 120, the terminal device 130, the storage device 140) of the video encoding system 100 including a plurality of encoding channels may send information and / or data to other components of the video encoding system 100 including a plurality of encoding channels via the network 150. For example, the processing device 120 may obtain the video data from the video acquisition device 110 via the network 150. As another example, the processing device 120 may obtain the video parameter set by the user from the terminal device 130 via the network 150. In some embodiments, the network 150 may include a wired network, a wireless network or any combination thereof. In some embodiments, the network 150 may include a cable network, an optical fiber network, a telecommunication network, an Internet, a local area network (LAN) , a wide area network (WAN) , a wireless local area network (WLAN) , a metropolitan area network (MAN) , a public switched telephone network (PSTN) , a Bluetooth network, a Zigbee network (ZigBee) , a near-field communication (NFC) , an in-device bus, an in-device lines, a cable connection, or the like, or any combination thereof. In some embodiments, the network connection between the components of the video encoding system 100 including a plurality of encoding channels may be realized using the one or more modes. In some embodiments, the network may include a topological structure such as point-to-point topological structure, a shared topological structure, a centralized topological structure, or the like, or any combination thereof.

[0035] It should be noted that the descriptions of the video encoding system is merely provided for the purposes of illustration, and not intended to limit the scope of the present disclosure. For those skilled in the art, multiple variations and modifications may be made under the teachings of the present disclosure. For example, the video encoding system may also include a database, an information source, etc. As another example, the video encoding system may be implemented on other devices to achieve similar or different functions. However, these variations and modifications do not depart from the scope of the present disclosure.

[0036] FIG. 2 is a schematic diagram illustrating an exemplary system 200 for bitrate control of a video encoding system including a plurality of encoding channels according to some embodiments of the present disclosure. As shown in FIG. 2, the system 200 for bitrate control of a video encoding system including a plurality of encoding channels may include an obtaining module 210, a determination module 220, and / or an adjustment module 230.

[0037] The obtaining module 210 may obtain a total reference bitrate of the plurality of the encoding channels of the video encoding system.

[0038] The determination module 220 may determine a complexity degree of an image frame obtained by each encoding channel of the plurality of encoding channels at a first time.

[0039] The adjustment module 230 may determine, according to the total reference bitrate and the complexity degree of the image frame obtained by each of the plurality of encoding channels, a target bitrate of each of at least a portion of the plurality of encoding channels that is at a second time. A deviation between a total target bitrate of the plurality of encoding channels and the total reference bitrate may be smaller than a threshold.

[0040] In some embodiments, the obtaining module 210, the determination module 220, and / or the adjustment module 230 may be implemented on a same processing device or different processing devices.

[0041] FIG. 3 is a flowchart illustrating an exemplary process for bitrate control of a video encoding system including a plurality of encoding channels according to some embodiments of the present disclosure. In some embodiments, the processing device 120 and / or the video encoding system 200 including a plurality of encoding channels may perform various operations of the process 300 for bitrate control. In some embodiments, the processing device 120 may adjust the bitrate of each of at least a portion of the plurality of encoding channels periodically. In other words, the processing device 120 may perform process 300 at regular intervals. The processing device 120 may sample the image frame from each encoding channel at regular intervals. In some embodiments, the processing device 120 may adjust the bitrate of each of at least a portion of the plurality of encoding channels aperiodically. In other words, the processing device 120 may perform process 300 at irregular intervals. The length of an interval between two adjacent adjustments may be 30 ms, 33 ms, 35 ms, 40 ms, 45 ms, etc.

[0042] In 310, a total reference bitrate of a plurality of encoding channels of a video encoding system may be obtained. Specifically, operation 310 may be performed by the obtaining module 210.

[0043] The video encoding system may be configured to encode video data. In some embodiments, the video encoding system may include an encoder configured to encode video data. In some embodiments, the video encoding system may include an encoder configured to encode video data and a decoder configured to decode encoded video data.

[0044] The video encoding system may obtain the video data from a video source, preprocess (e.g., crop, scale, color correct, etc. ) , compress and encode, post-process (e.g., add a watermark, adjust the bitrate, etc. ) the video data, and the processed video data may be output in a format suitable for storage or transmission.

[0045] The video encoding system may process (e.g., encode) video data through the plurality of encoding channels. An encoding channel refers to a set of resources and technical components used to process a single video input stream.

[0046] In some embodiments, the video encoding system may divide the obtained video data acquired by a same video acquisition device into different portions and the plurality of encoding channels may encode the different portions of the video data in parallel.

[0047] In some embodiments, the plurality of encoding channels of the video encoding system may simultaneously process a plurality of video input sources (e.g., video data from different video acquisition devices) and provide independent video encoding and output for each input source. For example, the plurality of encoding channels of the video encoding system may be connected to a plurality of cameras and provide independent encoding for a video stream of each camera. As a further example, a security surveillance camera system may be used to monitor, based on the plurality of encoding channels of the video encoding system, a plurality of entrances or critical regions simultaneously. As still a further example, a video conferencing system may display, based on the plurality of encoding channels of the video encoding system, multi-party videos simultaneously.

[0048] In some embodiments, an encoding channel may encode video data by applying a bitrate control mode. Exemplary stream control modes may include a constant bitrate (CBR) mode, a constrained variable bit rate, etc. In some embodiments, different encoding channels may apply the same bitrate control mode.

[0049] For example, the bitrate control mode of each encoding channel may be the CBR mode. In some embodiments, by applying the CBR, each of the plurality of encoding channels may have a reference bitrate. For different encoding channels, the reference bitrates may be the same or different.

[0050] The total reference bitrate refers to a sum of reference bitrates of the plurality of encoding channels. In some embodiments, the obtaining module 210 may obtain the reference bitrate of an encoding channel set by a user through an interactive interface of the terminal device 130. In some embodiments, the obtaining module 210 may obtain, according to an encoding parameter (e.g., an encoding resolution, frame rate) set by the user, the reference bitrate of an encoding channel based on a preset algorithm. The obtaining module 210 may determine the total reference bitrate based on the reference bitrates of the plurality of encoding channels.

[0051] In some embodiments, the total reference bitrate of the plurality of encoding channels may be set by a user or a default setting of the system 100. For example, the system 100 may set the total reference bitrate of the plurality of encoding channels according to the capacity of a hard disk of the system 100.

[0052] In 320, a complexity degree of an image frame obtained by each encoding channel of the plurality of encoding channels at a first time may be determined. In some embodiments, operation 320 may be performed by the determination module 220 or the processing device 120.

[0053] In some embodiments, the processing device 120 may adjust the bitrate of each of at least a portion of the plurality of encoding channels periodically. In other words, the processing device 120 may perform process 300 at regular intervals. The processing device 120 may sample the image frame from each encoding channel at regular intervals. In some embodiments, the processing device 120 may adjust the bitrate of each of at least a portion of the plurality of encoding channels aperiodically. In other words, the processing device 120 may perform process 300 at irregular intervals. The processing device 120 may sample the image frame in video data obtained by each encoding channel at irregular intervals. The first time refers to a time to acquire an image frame for determining the complexity degree. The first time may be a time in an interval between two adjacent adjustments (including a previous adjustment and a last adjustment) of the bitrate of an encoding channel or a time when the last adjustment (also referred to as a current adjustment) of the two adjacent adjustments of the bitrate of the encoding channel is performed. In other words, the first time is between a previous adjustment of the bitrate and the current adjustment of the bitrate of an encoding channel or the time when the current adjustment of the bitrate of the encoding channel is performed (e.g., the second time) . The second time may be a time when the current adjustment of the bitrate of an encoding channel is performed. The second time may also be referred to as a current time. In some embodiments, the first time may be before or the same as the second time.

[0054] For example, FIG. 6 is a schematic diagram illustrating an exemplary first time and an exemplary second time according to some embodiments of the present disclosure. As shown in FIG. 6, the second time may be TB, TB1 refers to a previous second time for performing the previous adjustment of the bitrate of an encoding channel. TB2 refers to a next time (i.e., the current time) for performing adjustment of the bitrate of the encoding channel. The interval between TB1 and TB2 may be equal to the length of an adjustment period for bitrate adjustment. The length of the adjustment period for bitrate adjustment (e.g., 5 ms) may be determined based on a user setting. The first time may be TA1 (i.e., before the second time) or TB2 (i.e., the same as the second time) .

[0055] The bitrate of an encoding channel at a time point in an interval between two adjacent adjustments of the bitrate of the encoding channel may be the same as the bitrate of the encoding channel after the previous adjustment is performed on the bitrate of the encoding channel.

[0056] In some embodiments, the determination module 220 may obtain, based on the user setting, one or more image frames at the first time. For example, the first time in the video data may correspond to 5 image frames, and the determination module 220 may extract 1 image frame from the 5 image frames, or 2 image frames based on a preset frame extraction ratio of 0.4.

[0057] The complexity degree of the image frame refers to a complexity degree of information contained in the image frame. When a plurality of image frames are obtained at the first time, the complexity degree of the image frame may be determined based on an average or a weighted average of the complexity degrees of the plurality of image frames.

[0058] In some embodiments, the determination module 220 may determine the complexity degree of the image frame obtained at the first time according to one or more moving objects in the image frame. A moving object refers to an object that is or may be displaced.

[0059] Specifically, the determination module 220 may identify the one or more moving objects in the image frame obtained at the first time. Merely by way of example, the determination module 220 may identify the one or more moving objects from the image frame obtained at the first time through an inter-frame deviation manner, an optical flow manner, a feature matching manner, a background subtraction manner, or the like, or any combination thereof. As another example, the moving object may be a user-specified object (e.g., a pedestrian, an animal, etc. ) that may be displaced, the determination module 220 may identify a pedestrian through an image recognition algorithm from the image frame obtained at the first time. The image recognition algorithm may include, but is not limited to, a visual geometry group network (VGG) model, an inception NET model, a fully convolutional networks (FCN) model, a mask-region convolutional neural networks (Mask-RCNN) model, etc.

[0060] Further, the determination module 220 may determine the complexity degree of the image frame obtained at the first time according to a percentage of a region where the moving object of the image frame is located to a region of the image frame obtained at the first time. The region where the moving object is located may be a region consisting of pixels or image blocks (where a size of the image block may be determined based on the setting) occupied by the moving object, or may be a smallest region containing the moving object, which may not be limited in the embodiments of the present disclosure. FIG. 4 is a schematic diagram illustrating a complexity degree of an image frame according to some embodiments of the present disclosure. For example, as shown in FIG. 4, the region where the moving object is located may be represented by an area in the dashed box. If the region where the moving object is located accounts for 1 / 5 of the image frame, the complexity degree of the image frame may be 0.2.

[0061] In some embodiments of the present disclosure, the complexity degree of the image frame may be determined according to the percentage of the region where the moving object is located to the region of the image frame, which may enable the channel bitrate determined based on the image complexity degree to be able to process the dynamic picture in the image frame, thereby ensuring the quality of the processed video data.

[0062] In some embodiments, the determination module 220 may determine the complexity degree of the image frame obtained at the first time according to an image feature of the image frame obtained at the first time. The image feature of the image frame may include, but is not limited to, a color feature (e.g., luminance, grayscale, levels, etc. ) , a shape feature, a texture feature, a spatial relationship feature, etc. For example, the determination module 220 may extract the color feature of the image frame obtained at the first time through a manner such as color histogram, color-self similarity (CSS) , etc. As another example, the determination module 220 may extract the shape feature of the image frame obtained at the first time through a manner such as Fourier transform, shape factor, wavelet Deor, etc. As another example, the determination module 220 may extract the texture feature of the image frame obtained at the first time through a manner such as grayscale symbiosis matrix (GLCM) , Laplacian operator, etc. As yet another example, the determination module 220 may extract a spatial feature of the image frame obtained at the first time through a manner such as a census transform histogram (CENTRIST) feature, a Canny edge detection algorithm, a Sobel operator, etc. Further, the determination module 220 may determine the complexity degree of the image frame according to a vector of the image features. For example, taking the spatial feature extracted through the Canny edge detection algorithm as an example, the greater the count of edge pixels represented by the spatial feature is, the higher the complexity of the corresponding image frame may be.

[0063] In some embodiments of the present disclosure, the complexity degree of the image frame may be determined based on the image feature, which may enable the channel bitrate determined based on the image complexity degree to be able to process complex textures, images, etc., in the image frame, thereby ensuring the quality of the processed video data.

[0064] In 330, a target bitrate of each of at least a portion of the plurality of encoding channels at a second time may be determined according to the total reference bitrate and the complexity degree of the image frame obtained by each of the plurality of encoding channels. Specifically, the operation 330 may be performed by the adjustment module 230.

[0065] A deviation between a total target bitrate of target bitrates of the plurality of encoding channels and the total reference bitrate may satisfy a condition. In some embodiments, a deviation between the total target bitrate of target bitrates of the plurality of encoding channels and the total reference bitrate may denoted by a difference between the total target bitrate and the total reference bitrate. The deviation between the total target bitrate of target bitrates of the plurality of encoding channels and the total reference bitrate satisfying the condition may include that the difference between the total target bitrate and the total reference bitrate is smaller than or equal to a threshold. The threshold may be determined based on a user setting. For example, the threshold may be equal to 0. In some embodiments, the deviation between the total target bitrate of the target bitrates of the plurality of encoding channels and the total reference bitrate may be denoted by a ratio of the difference between the total target bitrate and the total reference bitrate. The deviation between the total target bitrate of target bitrates of the plurality of encoding channels and the total reference bitrate satisfying the condition may include that a ratio of the difference between the total target bitrate and the total reference bitrate to the total reference bitrate is less than a threshold, e.g., 0.1%, 0.5%, 15, etc.

[0066] In some embodiments, the adjustment module 230 may obtain a residual stream data amount based on the total reference bitrate, and determine, based on the residual stream data amount and the complexity degree of the image frame obtained by each encoding channel, the target bitrate of each of at least a portion of the plurality of encoding channels at the second time after the first time. More descriptions regarding the obtaining a residual stream data amount based on the total reference bitrate, and determining, based on the residual stream data amount and the complexity degree of the image frame obtained by each encoding channel, the target bitrate of each of at least a portion of the plurality of encoding channels at the second time after the first time may be found in FIG. 5 and the relevant descriptions thereof.

[0067] In some embodiments, the adjustment module 230 may determine, based on a reference relationship between a complexity degree and a bitrate, the target bitrate of each of at least a portion of the plurality of encoding channels at the second time according to the total reference bitrate and the complexity degree of the image frame obtained by each encoding channel. More descriptions regarding the determining, based on a reference relationship, the target bitrate of each of at least a portion of the plurality of encoding channels at the second time according to the total reference bitrate and the complexity degree of the image frame obtained by each encoding channel may be found in FIG. 10 and the relevant descriptions thereof.

[0068] In some embodiments of the present disclosure, the target bitrate of each of at least a portion of the plurality of encoding channels at the second time after the first time may be determined according to the total reference bitrate and the complexity degree of the image frame, which makes the adjusted total bitrate change less and ensures the image quality of the processed video data.

[0069] In some embodiments, the processing device 120 may adjust the bitrate of each of the at least a portion of the plurality of encoding channels based on the determined target bitrate. For example, if the determined target bitrate of an encoding channel is different from the current bitrate of the encoding channel (i.e., the target bitrate determined in a previous adjustment) , the processing device 120 may adjust the current bitrate of the encoding channel as the determined target bitrate. If the determined target bitrate of an encoding channel is the same as the current bitrate of the encoding channel (i.e., the target bitrate determined in a previous adjustment) , the processing device 120 may not adjust the current bitrate of the encoding channel. The processing device 120 may encode video data obtained at the second time and / or after the second time based on the adjusted bitrate of each of the at least a portion of the plurality of encoding channels.

[0070] FIG. 5 is a flowchart illustrating an exemplary process for adjusting a bitrate of an encoding channel based on a residual stream data amount according to some embodiments of the present disclosure. In some embodiments, operation 330 may be performed according to process 500 shown in FIG. 5.

[0071] In 510, an actual amount of stream data (also referred to as actual stream data amount) generated by the plurality of encoding channels may be determined.

[0072] For example, as shown in FIG. 6, the second time TB1 may be a current turn-on time of a bitrate M1. A time between the second time TB1 and the first time TA1 may be a time elapsed after the current bitrate is turned on, i.e., an elapsed time of the bitrate M1. A length of time (e.g., 1 s, 2 s) between the second time and the first time may be set by the user, or may be an inter-frame interval time (e.g., 33 ms, 40 ms) .

[0073] In some embodiments, the actual stream data amount may be the total amount of stream data generated from the time when the plurality of encoding channels starts to encode video data (also referred to as a starting time) to the second time.

[0074] In some embodiments, the adjustment module 230 may obtain the actual stream data amount from the encoder.

[0075] In 520, a residual stream data amount may be determined based on the total reference bitrate and the actual stream data amount.

[0076] The residual stream data amount refers to a stream data amount cumulatively saved by the plurality of encoding channels until the second time from the starting time. Specifically, the adjustment module 230 may determine, based on the total reference bitrate and the second time, a corresponding reference stream data amount, and determine, based on the reference stream data amount and the actual stream data amount, the residual stream data amount.

[0077] Merely by way of example, the residual stream data amount may be determined according to equation (1) . S2=C×TL-S1,                          (1) where C denotes the total reference bitrate, TL denotes the length of time between the second time  and the starting time, S1 denotes the actual stream data amount, and S2 denotes the residual stream data amount.

[0078] For example, if the total reference bitrate is 3600 kbps, the length of time TL is 40 ms, the actual stream data amount S1 is 120 kbits, the corresponding residual stream data amount S2 may be equal to (3600 kbps × 40ms-120 kbits = 144 kbits) .

[0079] In 530, the target bitrate of each encoding channel may be determined based on the residual stream data amount and the complexity degree of the image frame.

[0080] In some embodiments, the adjustment module 230 may determine the target bitrate of each encoding channel according to the residual stream data amount, the complexity degree of the image frame, and one or more reference conditions. The reference condition may be related to the residual stream data amount and the complexity degree of the image frame.

[0081] In some embodiments, in response to determining that at least one of the one or more reference conditions is satisfied, the adjustment module 430 may determine the target bitrate of the encoding channel according to a reference rule. The reference rule refers to a rule for adjusting a bitrate of the encoding channel.

[0082] Merely by way of example, the reference rule may be related to a reference bitrate, a first bitrate, and a second bitrate. The reference bitrate may be greater than the first bitrate and smaller than the second bitrate. In some embodiments, the first bitrate and the second bitrate may be set based on the reference bitrate. For example, if the reference bitrate is 400 kbps, the first bitrate may be set to be 70%of the reference bitrate (i.e., 280 kbps) , and the second bitrate may be set to be 130%of the reference bitrate (i.e., 520 kpbs) . In some embodiments, the adjustment module 230 may determine one of the first bitrate, the reference bitrate, and the second bitrate to be the target bitrate based on the reference rule. More descriptions regarding the determining the target bitrate of the encoding channel according to the reference rule related to the reference bitrate, the first bitrate, and the second bitrate may be found in FIG. 7, FIG. 8, and the relevant descriptions thereof.

[0083] FIG. 8 is a schematic diagram illustrating adjusting a bitrate of an encoding channel based on a residual stream data amount according to some embodiments of the present disclosure. Merely by way of example, as shown in FIG. 8, at least one of the one or more reference conditions may include condition A. The condition A is satisfied when the current bitrate at the first time is a reference bitrate, a complexity degree of an image frame obtained at the first time is smaller than or equal to the first complexity degree threshold, and the residual stream data amount is smaller than or equal to a second data amount threshold. At this time, the complexity degree of the image frame may be relatively small, a stream data amount required for the corresponding encoding channel may be relatively small. The adjustment module 230 may determine the first bitrate as the target bitrate of the encoding channel. The first bitrate is less than the reference bitrate.

[0084] For example, if the current bitrate at the first time is same as the reference bitrate of 400 kbps, the complexity degree of 0.2 of the image frame obtained at the first time is smaller than or equal to the first complexity degree threshold of 0.3, and the residual stream data amount is smaller than or equal to the second data amount threshold Smax, the first bitrate 280 kbps may be determined as the target bitrate, so that the corresponding encoding channel may save the residual data amount of (400-280=120) kbits per second, thereby ensuring that the target bitrate of 280 kbps satisfies the image quality level of the image frame with the complexity degree of 0.2 at the same time.

[0085] As yet another example, as shown in FIG. 8, at least one of the one or more reference conditions may include Condition B. The condition B being satisfied may include that when the bitrate at the first time is a second bitrate exceeding the reference bitrate, the complexity degree of the image frame obtained at the first time is smaller than or equal to the second complexity degree threshold, or the residual stream data amount is smaller than or equal to the first data amount threshold. At this time, the complexity degree of the image frame may be not relatively large, the stream data amount required for the corresponding encoding channel may be not relatively large, or the residual stream data amount may continue saving the residual data amount. The adjustment module 230 may determine the reference bitrate as the target bitrate of the encoding channel.

[0086] For example, if the current bitrate at the first time is the same as the second bitrate of 520 kbps, the complexity degree of 0.3 of the image frame obtained at the first time is smaller than or equal to the second complexity degree threshold of 0.6, and the residual stream data amount is smaller than or equal to the first data amount threshold Smin, the reference bitrate of 400 kbps may be determined as the target bitrate, thereby ensuring that the target bitrate of 400 kbps satisfies the image quality level of the image frame with the complexity degree.

[0087] Merely by way of example, as shown in FIG. 8, the at least one of the one or more reference conditions may include Condition C. Condition C being satisfied may include that when the bitrate at the first time is the reference bitrate, the complexity degree of the image frame obtained at the first time is greater than the second complexity degree threshold, and the residual stream data amount is greater than the first data amount threshold. At this time, the complexity degree of the image frame may be relatively large, the stream data amount required for the corresponding encoding channel may be relatively large. The adjustment module 230 may determine the second bitrate as the target bitrate of the encoding channel.

[0088] For example, if the current bitrate at the first time is same as the reference bitrate of 400 kbps, the complexity degree of 0.7 of the image frame obtained at the first time is greater than the second complexity degree threshold of 0.6, and the residual stream data amount is greater than the first data amount threshold Smin, the second bitrate of 520 kbps may be determined as the target bitrate, so that the residual stream data amount may additionally provide the corresponding encoding channel with a residual data amount of (520-400=120) kbits per second, thereby ensuring that the target bitrate of 520 kbps satisfies the image quality level of the image frame with the complexity degree of 0.7.

[0089] As yet another example, as shown in FIG. 8, the at least one of the one or more reference conditions may include condition D. Condition D being satisfied may include that when the bitrate at the first time is the first bitrate, the complexity degree of the image frame obtained at the first time is greater than the first complexity degree threshold, or the residual stream data amount is greater than the second data amount threshold. At this time, the complexity degree of the image frame may be not relatively small, the stream data amount required for the corresponding encoding channel may be not relatively small, or the residual data amount may provide the stream data amount for the encoding channel. The adjustment module 230 may determine the reference bitrate as the target bitrate of the encoding channel.

[0090] For example, if the current bitrate at the first time is same as the first bitrate of 280 kbps, the complexity degree of 0.5 of the image frame obtained at the first time is greater than the first complexity degree threshold of 0.3, or the residual stream data amount is greater than the second data amount threshold Smax, the reference bitrate of 400 kbps may be determined as the target bitrate, so that the residual stream data amount may additionally provide the corresponding encoding channel with a residual data amount of (400-280=120) kbits per second, thereby ensuring that the target bitrate of 400 kbps satisfies the image quality level of the image frame with the complexity degree of 0.5.

[0091] In some embodiments of the present disclosure, when the image complexity degree is relatively small and / or the residual stream data amount is relatively small, the bitrate of the encoding channel may be decreased, so that the encoding channel may satisfy the video data processing demand without consuming the residual stream data amount, and the residual stream data amount may be saved at the same time. When the complexity degree of the image frame is relatively large and / or the residual stream data amount is relatively large, the bitrate of the encoding channel may be upwardly adjusted, so that the encoding channel may provide more resources for the encoding channel to ensure the image quality of the image frame of the relatively high complexity degree without increasing the total bitrate of the plurality of encoding channels.

[0092] In some embodiments of the present disclosure, the reference rule may be related to the first bitrate, the reference bitrate, and the second bitrate, and one of the first bitrate, the reference bitrate, and the second bitrate may be determined as the target bitrate, which, simplifies the adjustment rule, and facilitates the calculation of the residual stream data amount, thereby improving the efficiency of the system.

[0093] As yet another example, the reference rule may be related to a reference relationship between the complexity degree of an image frame and the bitrate. More descriptions regarding the determining the target bitrate of the encoding channel based on the reference rule related to the reference relationship between the complexity degree of the image frame and the bitrate may be found in FIG. 9 and the relevant descriptions thereof.

[0094] In some embodiments, the adjustment module 430 may determine a current bitrate (i.e., the target bitrate of the encoding channel determined in a previous adjustment) of the encoding channel as the target bitrate of the encoding channel in response to determining that each of the one or more reference conditions is not satisfied.

[0095] In some embodiments of the present disclosure, the residual stream data amount may be determined based on the total reference bitrate and the actual stream data amount, and the target bitrate of each encoding channel may be determined based on the residual stream data amount and the complexity degree of the image frame, so that the total bitrate of the plurality of encoding channels may be controlled, idle resources of the device may be used effectively, and the quality of the processed video data may be guaranteed.

[0096] FIG. 7 is a flowchart illustrating an exemplary process for adjusting a bitrate of an encoding channel based on a residual stream data amount according to some embodiments of the present disclosure. Operations 530 may be performed according to process 700.

[0097] In 710, in response to determining that a first condition is satisfied, the reference rule may include determining a target bitrate by decreasing the bitrate of the encoding channel at the first time.

[0098] The first condition being satisfied may include a complexity degree of an image frame being smaller than or equal to a complexity degree threshold, and / or a residual stream data amount being smaller than or equal to a data amount threshold. The complexity degree threshold and / or the residual stream data amount may be a default setting of the system or set by a user.

[0099] Understandably, when the complexity degree of the image frame is smaller than or equal to the complexity degree threshold, the stream data amount required may be relatively small. When the residual stream data amount is smaller than or equal to the data amount threshold, the encoding channel may save more stream data amount. Therefore, the adjustment module 230 may determine a relatively low target bitrate by decreasing, based on the reference rule, the bitrate of the encoding channel at the first time.

[0100] In some embodiments, the complexity degree threshold may be a boundary value configured to determine the complexity degree of the image frame. When the complexity degree of the image frame is smaller than or equal to 0.5, the complexity degree may be relatively low. When the complexity degree of the image frame is greater than 0.5, the complexity degree may be relatively high.

[0101] In some embodiments, the data amount threshold refers to a boundary value configured to determine a residual data amount. When the residual data amount is smaller than or equal to the data amount threshold, the residual stream data amount may fail to provide the stream data amount for the encoding channel. When the residual data amount is greater than the data amount threshold, there may be no need to continue saving the residual data amount.

[0102] When the complexity degree of the image frame is smaller than or equal to the complexity degree threshold, the stream data amount required is relatively small. When the residual data amount is smaller than or equal to the data amount threshold, the encoding channel may save more stream data amount. Therefore, the adjustment module 230 may determine a relatively low target bitrate by upwardly adjusting, based on the reference rule, the bitrate of the encoding channel at the first time.

[0103] In 720, in response to determining that the second condition is satisfied, the reference rule may include determining the target bitrate by upwardly adjusting the bitrate of the encoding channel at the first time.

[0104] The second condition being satisfied may include the complexity degree of the image frame being greater than or equal to the complexity degree threshold, and / or the residual stream data amount being greater than or equal to the data amount threshold.

[0105] When the complexity degree of the image frame is greater than the complexity degree threshold, a relatively large stream data amount may be required. When the residual stream data amount is greater than the data amount threshold, a larger stream data amount may be provided to the encoding channel. Thereby, the adjustment module 230 may determine a relatively high target bitrate by upwardly adjusting, based on the reference rule, the bitrate of the encoding channel at the first time.

[0106] FIG. 9 is a flowchart illustrating an exemplary process for adjusting a bitrate of an encoding channel based on a residual stream data amount according to some embodiments of the present disclosure. The process 800 shown in FIG. 8 may be configured to implement the operation 530.

[0107] In 910, at least one of the one or more reference conditions being satisfied may be determined.

[0108] More descriptions regarding the residual stream data amount may be found in FIG. 8 and the relevant descriptions thereof, which will not be repeated herein. The one or more reference conditions may include conditions A-D as described in FIG. 8.

[0109] In 920, a target bitrate of the encoding channel may be determined based on a reference relationship and a complexity degree of an image frame.

[0110] In some embodiments, the reference relationship may present a corresponding relationship between ranges of the complexity degrees and bitrate values. The reference relationship may include different ranges of the complexity degree and corresponding bitrate values. For example, as shown in FIG. 9, when the complexity degree is between 0 and 0.1, the corresponding bitrate value may be 100 kbps; when the complexity degree is between 0.1 and 0.3, the corresponding bitrate value may be 150 kbps; and when the complexity degree is between 0.3 and 0.4, the corresponding bitrate value may be 200 kbps. As another example, when the complexity degree is between 0 and 0.1, the corresponding bitrate value may be 90 kbps, 100 kbps, 110 kbps; when the complexity degree is between 0.1 and 0.3, the corresponding bitrate value may be 120 kbps, 130 kbps, 140 kbps 150 kbps, 160 kbps; and when the complexity degree is between 0.3 and 0.4, the corresponding bitrate value may be 170 kbps, 180 kbps, 190 kbps, 200 kbps; etc. In some embodiments, the reference relationship may present a corresponding relationship between different values of the complexity degrees and bitrate values. Each of different values of the complexity degrees may correspond to a bitrate value.

[0111] In some embodiments, the reference relationship may be a function, a curve, etc., with the complexity degree as an independent variable and the bitrate value as a dependent variable. In some embodiments, the reference relationship may be a default value determined based on empirical values or may be set by the user.

[0112] Based on the reference relationship, at least one bitrate value corresponding to the complexity degree of the image frame may be determined. For example, if the complexity degree of the image frame obtained at the first time is 0.2, the at least one bitrate value corresponding to the complexity degree of the image frame may be determined to be 150 kbps based on the reference relationship. As another example, if the complexity degree of the image frame obtained at the first time is 0.2, the at least one bitrate value corresponding to the complexity degree of the image frame determined based on the reference relationship may include 120 kbps, 130 kbps, 140 kbps, 150 kbps, and 160 kbps.

[0113] In 930, target bitrates of the plurality of encoding channels may be adjusted based on the total reference bitrate.

[0114] Merely by way of example, the adjustment module 230 may determine an adjustment factor based on a sum of the target bitrate of the plurality of encoding channels and the total reference bitrate. For example, based on the sum of the bitrate values of the plurality of encoding channels of 2500 kbps and the total reference bitrate of 2000 kbps, the adjustment factor may be determined to be 2000 / 2500=0.8. Further, the adjustment module 230 may adjust the target bitrate corresponding to the encoding channel based on the adjustment factor. For example, based on the adjustment factor of 0.8 and the target bitrate of 150 kbps, the target bitrate corresponding to the encoding channel may be adjusted to be 150×0.8=120 kbps.

[0115] As yet another example, when the encoding channel corresponds to the plurality of target bitrates, the adjustment module 230 may determine one of the plurality of target bitrate based on the total reference bitrate, so that a deviation between the total target bitrate and the total reference bitrate may be smaller than a threshold.

[0116] In some embodiments of the present disclosure, the reference relationship may include different complexity degrees of image frames corresponding to bitrate values, and when the complexity degree of the image frame is relatively small and / or the residual data amount is relatively small or when the complexity degree of the image frame is relatively large and / or the residual data amount is relatively large, the bitrate of the encoding channel may be adjusted based on the reference relationship, so that, on the one hand, the residual stream data amount may be saved based on the residual stream data amount, so as to ensure that the sum of the bitrates of the plurality of encoding channels is constrained by the total reference bitrate, and, on the other hand, the target bitrate of the encoding channel may ensure the image quality of the image frame.

[0117] FIG. 10 is a flowchart illustrating an exemplary process for adjusting a bitrate of an encoding channel based on a reference relationship according to some embodiments of the present disclosure. The process 900 shown in FIG. 9 may be configured to implement the operation 330.

[0118] In 1010, a reference relationship between a bitrate and a complexity degree of an image frame obtained by each of the plurality of encoding channels may be obtained.

[0119] In some embodiments, the reference relationship may include different ranges of the complexity degree and corresponding bitrate intervals. For example, as shown in FIG. 10, when the complexity degree is between 0 and 0.1, the corresponding bitrate interval may be 100 kbps ~150 kbps; when the complexity degree is between 0.1 and 0.3, the corresponding bitrate interval may be 150 kbps ~ 200 kbps; and when the complexity degree is between 0.3 and 0.4, the corresponding bitrate interval may be 200 kbps ~300 kbps. In some embodiments, the reference relationship may include different values of the complexity degree and corresponding bitrate intervals. Each of the different values of the complexity degree may correspond to a bitrate interval. In some embodiments, the reference relationship may include different values of the complexity degree and corresponding bitrate values. Each of the different values of the complexity degree may correspond to multiple bitrate values.

[0120] In some embodiments, the reference relationship may be a default value determined based on empirical values or may be set by a user.

[0121] In 1020, a bitrate interval or multiple bitrate values corresponding to the complexity degree of the image frame obtained by each of the plurality of encoding channels may be determined based on the reference relationship.

[0122] For example, as shown in FIG. 9, if the complexity degree of the image frame obtained at the first time is 0.2, the bitrate interval corresponding to the complexity degree of the image frame may be determined based on the reference relationship to be 150 kbps ~200 kbps.

[0123] In 1030, the target bitrate of the each encoding channel may be determined based on the bitrate interval or the multiple bitrate values corresponding to the encoding channel and the total reference bitrate.

[0124] The bitrate interval is the range within which the target bitrate of an encoding channel may exist. Specifically, the adjustment module 230 may determine an interval of a sum of bitrates of the plurality of encoding channels based on lower limits and upper limits of the bitrate intervals of the plurality of encoding channels. For example, a lower limit of the interval of the sum of the bitrates of the n encoding channels may be equal to a sum of the lower limits of the bitrate intervals of encoding channel 1, encoding channel 2, ... encoding channel n (i.e., Lmin= L1min+L2min+... Lnmin) . An upper limit of the interval of the sum of the bitrates of the n encoding channels may be equal to a sum of the upper limits of the bitrate intervals of encoding channel 1, encoding channel 2, ... encoding channel n (i.e., Lmax=L1max+L2max+... Lnmax) .

[0125] Further, the adjustment module 230 may determine the target bitrate of the each encoding channel based on the interval of the sum of the bitrates of the plurality of encoding channels and the total reference bitrate. For example, when the total reference bitrate is smaller than or equal to the lower limit of the interval corresponding to the sum of the bitrates of the encoding channels, the adjustment module 230 may directly determine the lower limit of the bitrate interval of each encoding channel as the corresponding target bitrate. When the total reference bitrate is greater than or equal to the upper limit of the interval corresponding to the sum of the bitrates of the encoding channels, the adjustment module 230 may directly determine the upper limit of the bitrate interval of each encoding channel as the corresponding target bitrate. When the total reference bitrate is greater than the lower limit of the interval corresponding to the sum of the bitrates of the encoding channels and is smaller than the upper limit of the interval corresponding to the sum of the bitrates of the encoding channels, the adjustment module 230 may determine a corresponding initial bitrate based on an intermediate value of the bitrate interval of each encoding channel, and determine target bitrates of the plurality of encoding channels based on the initial bitrates and the total reference bitrate of the plurality of encoding channels.

[0126] In some embodiments, the adjustment module 230 may determine the target bitrate of an encoding channel from the bitrate interval of the encoding channel and the sum of the target bitrates of the plurality of encoding channels may be the same as or similar to the total reference bitrate.

[0127] More descriptions regarding the determining, according to the bitrate values corresponding to the image frames and the total reference bitrate of the plurality of encoding channels, the target bitrates of the plurality of encoding channels may be found in operation 930, which will not be repeated herein.

[0128] In some embodiments of the present disclosure, the bitrate interval corresponding to the encoding channel may be determined based on the reference relationship, so that the target bitrate determined based on the bitrate interval may ensure the image quality of the image frame. At the same time, the target bitrate may be determined from the bitrate interval based on the total reference bitrate, so that the total bitrate of the plurality of encoding channels may be constrained by the total reference bitrate, thereby realizing the bitrate control.

[0129] FIG. 11 is a flowchart illustrating an exemplary process for bitrate control provided by the present disclosure. It should be noted that the embodiment is not limited to the process order shown in FIG. 11 if there is substantially the same result. As shown in FIG. 11, the embodiment may include the following operations.

[0130] In 1110, a control bitrate may be respectively preset for a plurality of channels.

[0131] The plurality of channels may all adopt the CBR bitrate control mode, i.e., an initial fixed bitrate value may be preset for each channel. The fixed bitrate may be the control bitrate of the channel. A sum of the control bitrates of all channels may be the total bitrate of the device.

[0132] The control bitrate of each channel may be set by the user through an interface, or may be obtained by automatically calculating according to a preset algorithm according to the configuration of the encoding resolution and / or the frame rate. The way of setting the control bitrate of each channel may include, but is not limited to, the above way. An independent control bitrate may be preset for each channel, which may flexibly adjust the compression efficiency of each channel to meet a specific scene or user requirement.

[0133] In 1120, a water storage capacity of a bitrate reservoir may be obtained by calculating a cumulative deviation between the sum of the control bitrates of the plurality of channels and a sum of actual stream data amounts of the plurality of channels. The water storage capacity may be configured to represent a cumulatively-saved stream data amount, or the water storage capacity may be configured to represent a cumulatively-wasted stream data amount.

[0134] The water storage capacity of the bitrate reservoir may be obtained by calculating the cumulative deviation between the sum of the control bitrates of the plurality of channels and the sum of actual stream data amounts of the plurality of channels, and the bitrate of each channel may be adjusted based on an image complexity degree of each channel and the current water storage capacity.

[0135] The bitrate reservoir may be configured to store the stream data amount saved / wasted by the actual stream data amount of each channel compared to a preset control bitrate of each channel, and the water storage capacity of the bitrate reservoir may be configured to represent the stream data amount saved / wasted over a period of time. In one embodiment, the bitrate reservoir may be configured to store the saved stream data amount, so that the water storage capacity of the bitrate reservoir may be calculated by subtracting the sum of actual stream data amounts of the plurality of channels over a total time from a product of the total time and the sum of the control bitrates of the plurality of channels. In another example, the product of the total time and the sum of the control bitrates of the plurality of channels may represent a preset product. If the bitrate reservoir is configured to represent the wasted stream data amount over a period of time, the wasted stream data amount may be calculated by subtracting the preset product from the sum of the actual stream data amounts of the plurality of channels over the total time.

[0136] In 1130, the bitrate of each channel may be adjusted based on a result of comparing the image complexity degree of each channel with an image complexity degree threshold, and a result of comparing a current water storage capacity and a water storage capacity threshold.

[0137] The image complexity degree of each channel may be obtained by performing motion detection, a calculation such as image texture complexity degree, etc., on a real-time image of each channel. For example, the image complexity degree of each channel may be obtained by performing the motion detection on the real-time image of each channel. Specifically, motion in the video may be detected by comparing a pixel change between adjacent frames. A result of the motion detection may be configured to quantify the intensity or percentage of motion in an image. An image with a relatively large amount of motion may be usually considered relatively complex. The image complexity degree of each channel may be obtained by performing the texture complexity degree calculation on the real-time image of each channel. Specifically, the image complexity degree may be evaluated by analyzing the color distribution and texture of the image. The complex image may contain rich color variations and texture details.

[0138] Based on the real-time image complexity degree of each channel obtained, the bitrate of each channel may be adjusted in combination with the deviation between the sum of the control bitrates of the plurality of channels obtained by the presetting through the operation 1110 and the sum of the actual stream data amounts of the plurality of channels.

[0139] In a specific embodiment, a current image complexity degree and water storage capacity may be obtained. The water storage capacity may be configured to represent a current cumulatively-saved stream data amount. The bitrate of each channel may be adjusted based on the image complexity degree of each channel and the current water storage capacity. Specifically, when the image complexity degree of a continuously preset frame of one channel is smaller than or equal to the complexity degree threshold, and / or the current water storage capacity is smaller than or equal to the water storage capacity threshold, the bitrate of the channel may be decreased. When the image complexity degree of one channel is greater than or equal to the complexity degree threshold, and / or the current water storage capacity is greater than or equal to the water storage capacity threshold, the bitrate of the channel may be upwardly adjusted. The operation may be returned to be executed that the water storage capacity of the bitrate reservoir is obtained by performing the calculation on the cumulative deviation between the sum of the control bitrates of the plurality of channels and the sum of the actual stream data amounts of the plurality of channels.

[0140] There may be one or more complexity degree thresholds and water storage capacity thresholds according to actual needs. Exemplarily, the complexity degree threshold may include a first complexity degree threshold and a second complexity degree threshold. The first complexity degree threshold may be smaller than the second complexity degree threshold. The water storage capacity threshold may include a first water storage capacity threshold and a second water storage capacity threshold. The first water storage capacity threshold may be greater than the second water storage capacity threshold. During the encoding process, when the image complexity degree of the continuously preset frame of one channel is smaller than or equal to the complexity degree threshold, and / or the current water storage capacity is smaller than or equal to the water storage capacity threshold, the bitrate of the channel being decreased may include the following cases.

[0141] (1) If the image complexity degree of the continuously preset frame of one channel is smaller than or equal to the first complexity degree threshold, the water storage capacity is smaller than the first water storage capacity threshold, and the bitrate of the channel is currently configured as the control bitrate (also referred to as the reference bitrate) of the channel, the bitrate of the channel may be decreased and configured as a first bitrate of the channel.

[0142] (2) If the image complexity degree of consecutive preset frame of one channel is smaller than or equal to the second complexity degree threshold, or the water storage capacity is smaller than or equal to the second water storage capacity threshold, and the bitrate of the channel is currently configured as a second bitrate of the channel, the bitrate of the channel may be decreased and configured as the control bitrate of the channel.

[0143] During the encoding process, when the image complexity degree of one channel is greater than or equal to the complexity degree threshold, and / or the water storage capacity is greater than or equal to the water storage capacity threshold, the bitrate of the channel being upwardly adjusted may include the following cases.

[0144] (1) If the image complexity degree of one channel is greater than or equal to the first complexity degree threshold, or the water storage capacity is greater than the first water storage capacity threshold, and the bitrate of the channel is currently configured as the first bitrate of the channel, the bitrate of the channel may be upwardly adjusted and configured as the control bitrate of the channel.

[0145] (2) If the image complexity degree of one channel is greater than the second complexity degree threshold, the water storage capacity is greater than or equal to the second water storage capacity threshold, and the bitrate of the channel is currently configured as the control bitrate of the channel, the bitrate of the channel may be upwardly adjusted and configured as the second bitrate of the channel.

[0146] The control bitrate of the channel is greater than the first bitrate of the channel and smaller than the second bitrate of the channel. The control bitrate of the channel may be the fixed bitrate value of the channel preset at the beginning of the encoding. The bitrate of the first bitrate of the channel may be configured to be smaller than the control bitrate of the channel, and the specific value may be set according to the actual situation, for example, the bitrate of the first bitrate of the channel may be set to be 70%of the control bitrate. The bitrate of the second bitrate of the channel may be configured to be greater than the control bitrate of the channel, and the specific value may also be set according to the actual situation, for example, the bitrate of the second bitrate of the channel may be set to be 130%of the control bitrate.

[0147] In other embodiments, the bitrate of each channel may be adjusted every preset time based on the image complexity degree of each channel and the current water storage capacity. The independent encoding and bitrate control may be performed on the bitrate of videos of the different channels, so that equalization of the video quality of each channel and improvement of the overall transmission efficiency can be achieved.

[0148] FIG. 12 is a flowchart illustrating another exemplary process for bitrate control provided by the present disclosure. It should be noted that the embodiment is not limited to the process order shown in FIG. 12 if there is substantially a same result. As shown in FIG. 12, the embodiment may include the following operations.

[0149] In 1210, control bitrates of all channels may be respectively preset and take effect, and a bitrate reservoir may be initialized to be 0.

[0150] When the encoding starts, all the encoding channels of the device may adopt the CBR bitrate control mode. According to an encoding resolution, a frame rate, etc. of each channel, initial fixed bitrate values may be set for all the channels of the current device respectively as the control bitrates of all the channels and take effect when the encoding starts.

[0151] The bitrate reservoir represents a deviation between a sum of control bitrates of a plurality of channels and a sum of actual stream data amounts of the plurality of channels. An upper limit SMAX of the water storage capacity may be set as a water storage capacity threshold (i.e., a maximum saved stream data amount that can be stored) . SMAX is measured in kilobytes, and may be usually determined based on the demand and performance of the system, or may be dynamically adjusted based on a factor such as network conditions, device performance, or user experience. At the beginning of the encoding, a variable S of the reservoir may be initialized to be 0, which represents that no residual stream data is stored at the beginning. The upper limit value SMAX of the water storage capacity may correspond to the first water storage capacity threshold. When S=0, the upper limit value SMAX of the water storage capacity may correspond to the second water storage capacity threshold. The first water storage capacity threshold may be greater than the second water storage capacity threshold.

[0152] In 1220, current image complexity degrees of all current channels may be obtained.

[0153] The image complexity degree of each channel may be obtained by performing motion detection, a calculation such as image texture complexity degree, etc., on the real-time image of each channel. The specific calculation manner may be found in the operation S120, which will not be repeated herein.

[0154] In 1230, the bitrate of each channel may be adjusted according to a preset rule.

[0155] After the encoding mode is turned on, the bitrate of each channel may be adjusted according to the preset rule. A and B denote a first complexity degree threshold and a second complexity degree threshold of the image, respectively. The first complexity degree threshold may be smaller than the second complexity degree threshold. A corresponding image complexity degree threshold may be set according to specific needs. F denotes a complexity degree of a real-time image of a current channel. When F ≤ A, the complexity degree of the current image may be relatively low. When F≥B, the complexity degree of the current image may be relatively high. When A<F<B, the complexity degree of the image may be medium. m denotes a constant (i.e., a count of consecutive frames set as needed) .

[0156] In the embodiment, bitrate configuration of each channel of the device may be set to include three states (i.e., a control bitrate state, a first bitrate state, and a second bitrate state) . The control bitrate may be greater than a first bitrate and smaller than a second bitrate. An initial state of each channel may be the control bitrate state. The bitrate configuration in the first bitrate state may be smaller than the control bitrate value, for example, the bitrate may be set to be 70%of the control bitrate value. The bitrate configuration in the second bitrate state may be larger than the control bitrate value, for example, the bitrate may be set to be 130%of the control bitrate value. The specific value may be adjusted accordingly according to the actual situation.

[0157] In one embodiment, the preset rule for adjusting the bitrate configuration of each channel may include the following cases.

[0158] (1) If S<SMAX and a consecutive mth F≤A, the bitrate reservoir may be not full, and the image may last for a relatively long time and have a relatively low complexity degree. In this case, if the channel is in the control bitrate state, the control bitrate state may be adjusted to the first bitrate state to save the bitrate and not affect the image quality.

[0159] (2) If S>0 and Current F≥B, the bitrate reservoir may be not empty, and the current picture complexity degree may be relatively high. In this case, if the channel is in the control bitrate state, the control bitrate state may be switched to the second bitrate state to improve the image quality.

[0160] (3) If S≥SMAX or the current F>A, the reservoir may be full, or the current picture complexity degree may be not low. In this case, if the channel is in the first bitrate state, the first bitrate state may be switched to the control bitrate state to stop water storage or ensure image quality.

[0161] (4) if S≤0 or the consecutive mth F<B, the reservoir may be empty, or the image complexity degree may last for a period of time, and the complexity degree may be not high. In this case, if the channel is in the second bitrate state, the second bitrate state may be switched to the control bitrate to stop consuming the reservoir.

[0162] In 1240, the bitrate reservoir may be updated.

[0163] After encoding is started and the water storage capacity of the reservoir is initialized to be 0, the water storage capacity of the reservoir may be calculated and the bitrates of some channels may be adjusted based on operation 1230. After the adjustment is completed, the bitrate reservoir may be updated, i.e., the water storage capacity of the reservoir may be recalculated. After a preset time (T) is waited for, operation 1220 and operation 1230 may be executed again to adjust the bitrate of each channel based on a current water storage capacity and the image complexity degree of each channel again. In this way, the bitrate of each channel may be continuously adjusted and controlled through the scheme of the embodiment, and a fixed bitrate configuration of each channel may be dynamically adjusted according to the image complexity degree and a surplus of the bitrate reservoir.

[0164] After the bitrate reservoir is updated, the preset time (T) may be waited for, so that the system may perform other operations within the interval. The waiting time may be set according to the actual situation. For example, according to a frame interval time, 33 milliseconds or 40 milliseconds may be chosen as the preset time.

[0165] When the water storage capacity of the reservoir is calculated, each channel may be traversed. The sum of the control bitrates of all encoding channels, the sum of the actual stream data amounts of all encoding channels at a current moment. For each encoding channel, the deviation (i.e., bitrate deviation) between the control bitrate and the actual stream data amount of the encoding channel may be calculated. A current cumulative deviation value may be obtained by accumulating the deviation values, and the current cumulative deviation value may be taken as the water storage capacity of the bitrate reservoir. Specifically, the water storage S of the current bitrate reservoir may be calculated by the following equation (2) , where S denotes a stream data amount cumulatively saved by the channel in kb: S=C × t -S1                        (2)

[0166] where C denotes the sum of the control bitrates of all encoding channels in kbps, t denotes a total time, S1 denotes the actual stream data amount generated by the encoding of all channels since the encoding mode is turned, in kb.

[0167] Further, the total time t may be a time elapsed since the encoding mode is turned on in seconds, that is, a time calculated since the reservoir is initialized to be 0. In other embodiments, the total time t may also be a time calculated from a most recent end time of the bitrate adjustment of each channel.

[0168] FIG. 13 is a schematic diagram illustrating an exemplary electronic device for bitrate control provided by the present disclosure. The device 1300 for bitrate control may include a storage 1310 and a processor 1320 connected to each other. The storage 1310 may be configured to store a computer program. When executed by the processor 1320, the computer program may be configured to implement the method for bitrate control in the above embodiment.

[0169] The method of the embodiment may be in the form of the computer program. Therefore, the present disclosure proposes a computer-readable storage medium. See FIG. 14. FIG. 14 is a schematic diagram illustrating an exemplary computer-readable storage medium provided in the present disclosure. The computer-readable storage medium 1400 may be configured to store a computer program 1410. The computer program may implement the method for bitrate control in the above embodiment when executed.

[0170] The computer-readable storage medium 1400 may include various mediums that can store program code such as a server, a universal serial bus (USB) flash disk, a removable hard disk, a read-only memory (ROM) , a random access memory (RAM) , a diskette, or an optical disk, etc.

[0171] The beneficial effects of embodiments of the present disclosure may include, but are not limited to: (1) It should be noted that the beneficial effects that may be generated by different embodiments are different, and the beneficial effects that may be generated in different embodiments may be any one or a combination of the above, or any other beneficial effect that may be obtained.

[0172] Having thus described the basic concepts, it may be rather apparent to those skilled in the art after reading this detailed disclosure that the foregoing detailed disclosure is intended to be presented by way of example only and is not limiting. Although not explicitly stated here, those skilled in the art may make various modifications, improvements and amendments to the present disclosure. These alterations, improvements, and modifications are intended to be suggested by this disclosure, and are within the spirit and scope of the exemplary embodiments of this disclosure.

[0173] Moreover, certain terminology has been used to describe embodiments of the present disclosure. For example, the terms “one embodiment, ” “an embodiment, ” and / or “some embodiments” mean that a particular feature, structure or characteristic described in connection with the embodiment is included in at least one embodiment of the present disclosure. Therefore, it is emphasized and should be appreciated that two or more references to “an embodiment” or “one embodiment” or “an alternative embodiment” in various parts of this specification are not necessarily all referring to the same embodiment. In addition, some features, structures, or features in the present disclosure of one or more embodiments may be appropriately combined.

[0174] Furthermore, the recited order of processing elements or sequences, or the use of numbers, letters, or other designations therefore, is not intended to limit the claimed processes and methods to any order except as may be specified in the claims. Although the above disclosure discusses through various examples what is currently considered to be a variety of useful embodiments of the disclosure, it is to be understood that such detail is solely for that purpose, and that the appended claims are not limited to the disclosed embodiments, but, on the contrary, are intended to cover modifications and equivalent arrangements that are within the spirit and scope of the disclosed embodiments. For example, although the implementation of various components described above may be embodied in a hardware device, it may also be implemented as a software only solution, e.g., an installation on an existing server or mobile device.

[0175] Similarly, it should be appreciated that in the foregoing description of embodiments of the present disclosure, various features are sometimes grouped together in a single embodiment, figure, or description thereof for the purpose of streamlining the disclosure aiding in the understanding of one or more of the various embodiments. However, this disclosure does not mean that the present disclosure object requires more features than the features mentioned in the claims. Rather, claimed subject matter may lie in less than all features of a single foregoing disclosed embodiment.

[0176] In some embodiments, the numbers expressing quantities or properties used to describe and claim certain embodiments of the present disclosure are to be understood as being modified in some instances by the term “about, ” “approximate, ” or “substantially. ” For example, “about, ” “approximate, ” or “substantially” may indicate ±20%variation of the value it describes, unless otherwise stated. Accordingly, in some embodiments, the numerical parameters set forth in the written description and attached claims are approximations that may vary depending upon the desired properties sought to be obtained by a particular embodiment. In some embodiments, the numerical parameters should be construed in light of the number of reported significant digits and by applying ordinary rounding techniques. Notwithstanding that the numerical ranges and parameters setting forth the broad scope of some embodiments of the present disclosure are approximations, the numerical values set forth in the specific examples are reported as precisely as practicable.

[0177] Each of the patents, patent applications, publications of patent applications, and other material, such as articles, books, specifications, publications, documents, things, and / or the like, referenced herein is hereby incorporated herein by this reference in its entirety for all purposes, excepting any prosecution file history associated with same, any of same that is inconsistent with or in conflict with the present document, or any of same that may have a limiting affect as to the broadest scope of the claims now or later associated with the present document. By way of example, should there be any inconsistency or conflict between the description, definition, and / or the use of a term associated with any of the incorporated material and that associated with the present document, the description, definition, and / or the use of the term in the present document shall prevail.

[0178] In closing, it is to be understood that the embodiments of the present disclosure disclosed herein are illustrative of the principles of the embodiments of the present disclosure. Other modifications that may be employed may be within the scope of the present disclosure. Thus, by way of example, but not of limitation, alternative configurations of the embodiments of the present disclosure may be utilized in accordance with the teachings herein. Accordingly, embodiments of the present disclosure are not limited to that precisely as shown and described.

Claims

1.A method for bitrate control of a video encoding system including a plurality of encoding channels, comprising:obtaining a total reference bitrate of the plurality of the encoding channels of the video encoding system;determining a complexity degree of an image frame obtained by each encoding channel of the plurality of encoding channels at a first time;determining, according to the total reference bitrate and the complexity degree of the image frame obtained by each of the plurality of encoding channels, a target bitrate of each of at least a portion of the plurality of encoding channels at a second time, wherein a deviation between a total target bitrate of the plurality of encoding channels and the total reference bitrate satisfies a condition.2.The method of claim 1, wherein the determining, according to the total reference bitrate and the complexity degree of the image frame obtained by each of the plurality of encoding channels, a target bitrate of each of at least a portion of the plurality of encoding channels at a second time after the first time includes:determining an actual stream data amount generated until the second time by the plurality of encoding channels;determining, based on the total reference bitrate and the actual stream data amount, a residual stream data amount; andfor one of the plurality of encoding channels, determining the target bitrate of the encoding channel based on the residual stream data amount and the complexity degree of the image frame.3.The method of claim 2, wherein the determining the target bitrate of the encoding channel based on the residual stream data amount and the complexity degree of the image frame includes:determining the target bitrate of the encoding channel according to the residual stream data amount, the complexity degree of the image frame, and one or more reference conditions, the one or more reference conditions being related to the residual stream data amount and the complexity degree of the image frame.4.The method of claim 3, wherein the determining the target bitrate of the encoding channel according to the residual stream data amount, the complexity degree of the image frame, and one or more reference conditions includes:determining the target bitrate of the encoding channel according to a reference rule in response to determining that at least one of the one or more reference conditions is satisfied; anddetermining a bitrate of the encoding channel at the first time as the target bitrate of the encoding channel in response to determining that each of the one or more reference conditions is not satisfied.5.The method of claim 4, whereinthe one or more reference conditions include a first condition and a second condition;the first condition being satisfied includes the complexity degree of the image frame being smaller than or equal to a complexity degree threshold, and / or the residual stream data amount being smaller than or equal to a data amount threshold, and the reference rule includes determining the target bitrate by decreasing the bitrate of the encoding channel at the first time; andthe second condition being satisfied includes the complexity degree of the image frame obtained at the first time being greater than or equal to the complexity degree threshold, and / or the residual stream data amount being greater than or equal to the data amount threshold, and the reference rule includes determining the target bitrate by upwardly adjusting the bitrate of the encoding channel at the first time.6.The method of claim 4, whereinthe reference rule is related to a first bitrate, a reference bitrate, and a second bitrate, the reference bitrate being greater than the first bitrate and smaller than the second bitrate;the determining the target bitrate of the encoding channel according to a reference rule in response to determining that the at least one of the one or more reference conditions is satisfied includes:in response to determining that the at least one of the one or more reference conditions is satisfied, determining one of the first bitrate, the reference bitrate, and the second bitrate as the target bitrate.7.The method of claim 6, wherein the at least one reference condition being satisfied includes thatwhen the bitrate at the first time is the reference bitrate, the complexity degree of the image frame is smaller than or equal to a first complexity degree threshold, and the residual stream data amount is smaller than or equal to a second data amount threshold,the determining one of the first bitrate, the reference bitrate, and the second bitrate as the target bitrate includes determining the first bitrate as the target bitrate of the encoding channel.8.The method of claim 6, wherein the at least one reference condition being satisfied includes that:when the bitrate at the first time is the second bitrate, the complexity degree of the image frame is smaller than or equal to a second complexity degree threshold, or the residual stream data amount is smaller than or equal to a first data amount threshold,the determining one of the first bitrate, the reference bitrate, and the second bitrate as the target bitrate includes determining the reference bitrate as the target bitrate of the encoding channel.9.The method of claim 6, wherein the at least one reference condition being satisfied includes:when the bitrate at the first time is the reference bitrate, the complexity degree of the image frame is greater than a second complexity degree threshold, and the residual stream data amount is greater than a first data amount threshold, the determining one of the first bitrate, the reference bitrate, and the second bitrate as the target bitrate includes determining the second bitrate as the target bitrate of the encoding channel.10.The method of claim 6, wherein the at least one reference condition being satisfied includes that:when the bitrate at the first time is the first bitrate, the complexity degree of the image frame is greater than a first complexity degree threshold, or the residual stream data amount is greater than a second data amount threshold,the determining one of the first bitrate, the reference bitrate, and the second bitrate as the target bitrate includes determining the reference bitrate as the target bitrate of the encoding channel.11.The method of claim 4, whereinthe reference rule includes:a reference relationship between the complexity degree of the image frame and the bitrate corresponding to the encoding channel; and the determining the target bitrate of the encoding channel according to the reference rule in response to determining that at least one of the one or more reference conditions is satisfied includes:in response to determining that the at least one of the one or more reference conditions is satisfied, determining the target bitrate of the encoding channel based on the total reference bitrate, the reference relationship, and the complexity degree of the image frame.12.The method of claim 11, wherein the reference relationship includes different complexity degrees of image frames corresponding to bitrate values; and the determining the target bitrate of the encoding channel based on the total reference bitrate, the reference relationship, and the complexity degree of the image frame includes:determining the bitrate values corresponding to the complexity degrees of the image frames based on the reference relationship when the reference condition is satisfied; anddetermining, according to the bitrate values corresponding to the image frames and the total reference bitrate, target bitrates of the encoding channels.13.The method of claim 1, wherein the determining, according to the total reference bitrate and the complexity degree of the image frame obtained by each of the plurality of encoding channels, a target bitrate of each of at least a portion of the plurality of encoding channels includes:obtaining a reference relationship between a bitrate and a complexity degree of an image frame, the reference relationship including different complexity degrees of image frames corresponding bitrate intervals of the encoding channels;determining, based on the reference relationship, a bitrate interval corresponding to the complexity degree of an image frame obtained at the first time; anddetermining, based on the bitrate interval corresponding to the each encoding channel and the total reference bitrate, the target bitrate of the each encoding channel.14.The method of claim 1, wherein a bitrate control mode of the each encoding channel is a constants bit rate (CBR) mode.15.The method of claim 1, wherein the determining a complexity degree of an image frame obtained by each encoding channel of the plurality of encoding channels at a first time includes:identifying a moving object in the image frame obtained at the first time; anddetermining the complexity degree of the image frame obtained at the first time according to a percentage of a region where the moving object in the image frame obtained at the first time is located to a region of the image frame obtained at the first time.16.The method of claim 1, wherein the determining a complexity degree of an image frame obtained by each encoding channel of the plurality of encoding channels at a first time includes:determining the complexity degree of the image frame obtained at the first time according to an image feature of the image frame obtained at the first time.17.A system, comprising:at least one storage medium storing a set of instructions; andat least one processor configured to communicate with the at least one storage medium, wherein when executing the set of instructions, the at least one processor is directed to cause the system to perform operations including:obtaining a total reference bitrate of the plurality of the encoding channels of the video encoding system;determining a complexity degree of an image frame obtained by each encoding channel of the plurality of encoding channels at a first time;determining, according to the total reference bitrate and the complexity degree of the image frame obtained by each of the plurality of encoding channels, a target bitrate of each of at least a portion of the plurality of encoding channels at a second time, wherein a deviation between a total target bitrate of the plurality of encoding channels and the total reference bitrate satisfies a condition.18.A non-transitory computer readable medium, comprising at least one set of instructions, wherein when executed by at least one processor of a computer device, the at least one set of instructions directs the at least one processor to perform operations including:obtaining a total reference bitrate of the plurality of the encoding channels of the video encoding system;determining a complexity degree of an image frame obtained by each encoding channel of the plurality of encoding channels at a first time;determining, according to the total reference bitrate and the complexity degree of the image frame obtained by each of the plurality of encoding channels, a target bitrate of each of at least a portion of the plurality of encoding channels at a second time, wherein a deviation between a total target bitrate of the plurality of encoding channels and the total reference bitrate satisfies a condition.

Citation Information

Patent Citations

  • Code rate control method and device and electronic equipment

    CN116962699A

  • Code rate control method and device and computer readable storage medium

    CN117596395A

  • Bitrate allocation for a multichannel media stream

    US10812550B1

  • Video encoding with content adaptive resource allocation

    US20180367808A1

  • Bitrate control method for video coding

    US20210329254A1