Method and apparatus for determining a rate control parameter

CN116233439BActive Publication Date: 2026-10-27HISENSE VISUAL TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202211602742.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-12-13
Publication Date
2026-10-27
Estimated Expiration
2042-12-13

AI Technical Summary

Technical Problem

[0004]本申请示例性的实施方式提供一种确定码率控制参数的方法及装置,用于解决在使用LCEVC编码器进行视频编码时无法通过码率控制参数对编码结果进行有效控制的问题

Benefits of technology

[0009]由以上技术方案可知,本申请一些实施例提供的确定码率控制参数的方法在确定第一视频的码率控制参数时,根据预设种群大小和参数组中的参数数量对粒子群优化PSO算法的种群进行初始化,然后根据第一适应函数、第一参考质量参数、第一参考码率以及各个粒子位置对应的参数组的第一质量参数和第一码率,获取所述种群中各个粒子的适应值,以及根据各个粒子的适应值更新搜索最优解和各个粒子的个体极值、位置以及速度,并根据更新后的各个粒子位置进行下一次迭代,最后在在迭代次数达到预设迭代次数时,根据所述搜索最优解确定所述第一视频的码率控制参数。由于所述参数组包括:低复杂度增强视频编码LCEVC编码器的第一增强层、第二增强层以及基本编码层的码率控制参数,而第一适应函数可以将预设编码器在目标码率下对所述第一视频进行编码获取的质量参数和码率作为参考,搜索使用LCEVC编码器对第一视频进行编码时的控制参数,因此本发明一些实施例可以搜索到一组控制参数使LCEVC编码器编码第一视频得到的码流的码率接近目标码率,且使LCEVC编码器编码第一视频后重建图像的质量相对最优,因此本申请一些实施例可解决在使用LCEVC编码器进行视频编码时无法通过码率控制参数对编码结果进行有效控制的问题。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116233439B_ABST
    Figure CN116233439B_ABST
Patent Text Reader

Abstract

Some embodiments of the present application provide a method and device for determining a code rate control parameter, relating to the technical field of video coding. The method comprises: initializing a population of a PSO algorithm; obtaining an adaptive value according to a first adaptive function, a first reference quality parameter, a first reference code rate, a first quality parameter and a first code rate; the first quality parameter and the first code rate are a quality parameter and a code rate obtained by an LCEVC encoder; the first reference quality parameter and the first reference code rate are a quality parameter and a code rate obtained by a preset encoder at a target code rate; updating the search optimal solution and individual extreme value, position and speed, position and speed according to the adaptive value, and performing the next iteration; when a preset number of iterations is reached, determining the code rate control parameter of the first video according to the search optimal solution. The problem that the encoding result cannot be effectively controlled by the code rate control parameter when using the LCEVC encoder to encode the video is solved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] Some embodiments of this application relate to the field of video coding technology. More specifically, they relate to a method and apparatus for determining bitrate control parameters. Background Technology

[0002] High-definition (HD) and ultra-high-definition (UHD) videos are increasingly favored by the public because they offer clearer image quality and more realistic perceived quality. However, as resolution and bit depth increase, the amount of video data also increases. To improve video compression efficiency and reduce data size, the Low Complexity Enhancement Video Coding (LCEVC) standard has been proposed.

[0003] The LCEVC encoder has three layers of rate control parameters: the basic encoder layer rate control parameter, the first enhancement layer rate control parameter, and the second enhancement layer rate control parameter. Furthermore, the encoding result of the LCEVC encoder is affected by the superposition of these three rate control parameters, rather than a simple linear addition. Therefore, it is difficult to determine the degree of control each of the basic encoder layer rate control parameter, the first enhancement layer rate control parameter, and the second enhancement layer rate control parameter has on the encoding result, making it difficult to effectively control the encoding result using the rate control parameters when using the LCEVC encoder. Summary of the Invention

[0004] Exemplary embodiments of this application provide a method and apparatus for determining bitrate control parameters, which solves the problem that the encoding result cannot be effectively controlled by bitrate control parameters when using an LCEVC encoder for video encoding.

[0005] The technical solutions provided by some embodiments of this application are as follows: In a first aspect, some embodiments of this application provide a method for determining bitrate control parameters, including: The population of the Particle Swarm Optimization (PSO) algorithm is initialized according to the preset population size and the number of parameters in the parameter set; the parameter set includes the bitrate control parameters of the first enhancement layer, the second enhancement layer, and the basic coding layer of the Low Complexity Enhanced Video Coding (LCEVC) encoder. The fitness value of each particle in the population is obtained based on the first fitness function, the first reference quality parameter, the first reference bitrate, and the first quality parameter and first bitrate of the parameter group corresponding to each particle position; the first quality parameter and first bitrate of any parameter group are respectively the quality parameter and bitrate obtained by the LCEVC encoder controlling the parameter group to encode the first video; the first reference quality parameter and the first reference bitrate are respectively the quality parameter and bitrate obtained by the preset encoder to encode the first video at the target bitrate; The optimal solution, individual extreme values, positions, and velocities of each particle are updated based on their fitness values, and the next iteration is performed based on the updated positions of each particle. When the number of iterations reaches the preset number of iterations, the bitrate control parameters of the first video are determined based on the optimal solution searched.

[0006] Secondly, some embodiments of this application provide an apparatus for determining bit rate control parameters, including: Memory, configured to store computer programs; The processor is configured to, when a computer program is invoked, cause the means for determining the bitrate control parameters to implement the method for determining the bitrate control parameters as described in the first aspect.

[0007] Thirdly, some embodiments of this application provide a computer-readable storage medium storing a computer program that, when executed by a computing device, causes the computing device to implement the method for determining bit rate control parameters as described in the first aspect.

[0008] Fourthly, some embodiments of this application provide a computer program product that, when run on a computer, enables the computer to implement the method for determining bitrate control parameters.

[0009] As can be seen from the above technical solutions, the method for determining bitrate control parameters provided in some embodiments of this application initializes the population of the Particle Swarm Optimization (PSO) algorithm according to the preset population size and the number of parameters in the parameter group when determining the bitrate control parameters of the first video. Then, according to the first fitness function, the first reference quality parameter, the first reference bitrate, and the first quality parameter and the first bitrate of the parameter group corresponding to each particle position, the fitness value of each particle in the population is obtained. The optimal solution for searching and the individual extreme values, positions, and velocities of each particle are updated according to the fitness values ​​of each particle. The next iteration is performed according to the updated positions of each particle. Finally, when the number of iterations reaches the preset number of iterations, the bitrate control parameters of the first video are determined according to the optimal solution for searching. Since the parameter set includes bitrate control parameters for the first enhancement layer, the second enhancement layer, and the basic coding layer of the LCEVC low-complexity enhanced video encoder, and the first adaptation function can use the quality parameters and bitrate obtained by the preset encoder encoding the first video at the target bitrate as a reference to search for control parameters when encoding the first video using the LCEVC encoder, some embodiments of the present invention can search for a set of control parameters that make the bitrate of the bitstream obtained by the LCEVC encoder encoding the first video close to the target bitrate, and make the quality of the reconstructed image after the LCEVC encoder encodes the first video relatively optimal. Therefore, some embodiments of the present application can solve the problem that the encoding result cannot be effectively controlled by bitrate control parameters when using the LCEVC encoder for video encoding. Attached Figure Description

[0010] To more clearly illustrate the implementation methods in some embodiments or related technologies of this application, the accompanying drawings used in the description of the embodiments or related technologies will be briefly introduced below. Obviously, the accompanying drawings described below are some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings.

[0011] Figure 1 The following is a schematic diagram of the structure of the LCEVC encoder in some embodiments of this application; Figure 2 A flowchart of a method for determining bit rate control parameters in some embodiments of this application is shown; Figure 3 A flowchart of a method for determining bit rate control parameters in some embodiments of this application is shown; Figure 4 A flowchart of a method for determining bit rate control parameters in some embodiments of this application is shown; Figure 5 A schematic diagram of the three parameter groups with the smallest fitness values ​​in some embodiments of this application is shown; Figure 6A schematic diagram of the first central parameter group is shown in some embodiments of this application; Figure 7 A schematic diagram of the first parameter set in some embodiments of this application is shown; Figure 8 A schematic diagram of the second parameter set in some embodiments of this application is shown; Figure 9 A schematic diagram of the four parameter groups with the smallest fitness values ​​in some embodiments of this application is shown; Figure 10 A schematic diagram of the second center parameter group is shown in some embodiments of this application; Figure 11 A schematic diagram of the third parameter set in some embodiments of this application is shown; Figure 12 A schematic diagram of the fourth parameter set in some embodiments of this application is shown. Detailed Implementation

[0012] To make the objectives and implementation methods of this application clearer, the exemplary implementation methods of this application will be clearly and completely described below with reference to the accompanying drawings of the exemplary embodiments of this application. Obviously, the exemplary embodiments described are only some embodiments of this application, and not all embodiments.

[0013] It should be noted that the brief descriptions of terms in this application are only for the convenience of understanding the embodiments described below, and are not intended to limit the embodiments of this application. Unless otherwise stated, these terms should be understood in their ordinary and common meaning.

[0014] The terms “comprising” and “having”, and any variations thereof, are intended to cover but not exclude inclusion, for example, a product or device that includes a range of components is not necessarily limited to all of the components that are clearly listed, but may include other components that are not clearly listed or that are inherent to such product or device.

[0015] The method for determining the bitrate control parameters provided in some embodiments of this application is used to obtain the bitrate control parameters of the first enhancement layer, the second enhancement layer, and the basic coding layer of the LCEVC encoder, and to obtain the encoding result of the LCEVC encoder encoding the video based on the bitrate control parameters of the first enhancement layer, the second enhancement layer, and the basic coding layer of the LCEVC encoder. Therefore, the structure of the LCEVC encoder is described first below.

[0016] Reference Figure 1As shown, the LCEVC encoder includes: a first downsampling layer 11, a second downsampling layer 12, a basic coding layer 13, a first upsampling layer 14, a first enhancement layer 15, a restoration layer 16, a fusion layer 17, a second upsampling layer 18, and a second enhancement layer 19.

[0017] The first downsampling layer 11 is used to downsample the video to be encoded in order to reduce the resolution of the video.

[0018] The second downsampling layer 12 is used to further downsample the output of the first downsampling layer 11 to further reduce the resolution of the video frames of the video to be encoded.

[0019] The basic coding layer 13 is used to encode the output of the second downsampling layer 12 through the basic layer encoder to generate the bitstream of the basic coding layer 13. It should be noted that the basic layer encoder can be any encoder, such as x264, x265, High Efficiency Video Coding (HEVC) encoder, Versatile Video Coding (VVC) encoder, etc.

[0020] The first upsampling layer 14 is used to upsample the coded reconstructed image of the basic coding layer 13 to improve the resolution of the coded reconstructed image of the basic coding layer 13.

[0021] The first enhancement layer 15 is used to calculate the residual (L1 residual) between the output of the first downsampling layer 11 and the output of the first upsampling layer 14, and to perform transformation, quantization and entropy encoding on the L1 residual in sequence to obtain the L1 enhancement coefficient.

[0022] The restoration layer 16 is used to sequentially perform inverse quantization, inverse transformation, and filtering on the data obtained by quantization from the first enhancement layer 15, as well as to obtain the output of the restoration layer 16.

[0023] The fusion layer 17 is used to add and fuse the output of the restoration layer 16 and the output of the first upsampling layer 14 to obtain the output of the fusion layer 17.

[0024] The second upsampling layer 18 is used to upsample the output of the fusion layer 17 to improve the resolution of the image output by the fusion layer 17.

[0025] The second enhancement layer 19 is used to calculate the residual (L2 residual) between the output of the second upsampling layer 18 and the original video to be encoded, and to sequentially perform temporal prediction, transformation, quantization and entropy coding on the L2 residual to obtain the L2 enhancement coefficients.

[0026] The quantization control parameters of the basic coding layer 13, the first enhancement layer 15, and the second upsampling layer 18 together constitute the rate control parameters of the LCEVC encoder. This can be described by the formula:

[0027] In the formula This indicates the input of the LCEVC encoder; This indicates the output of the LCEVC encoder. 、 and These represent functions for the second upsampling layer 18, the first enhancement layer 15, and the basic coding layer 13, respectively. , and These represent the rate control parameters for the basic coding layer 13, the first enhancement layer 15, and the second upsampling layer 18, respectively.

[0028] Some embodiments of this application provide a method for determining bitrate control parameters, see below. Figure 2 As shown, the method for determining the bit rate control parameters includes the following steps S201 to S208: S201. Initialize the population for the Particle Swarm Optimization (PSO) algorithm according to the preset population size and the number of parameters in the parameter group.

[0029] In the POS algorithm, population size refers to the number of particles (individuals) in the population. Theoretically, a larger population size leads to better results and more stable search results, but also increases the computational cost of the POS algorithm. Therefore, in practical applications, the preset population size can be set according to the requirements for stability and computational cost. For example, the preset population size can be 24.

[0030] In some embodiments, the process of randomly initializing the position and velocity of each particle in the population according to a preset population size and the number of parameters in the parameter group may include: First, setting the number of particles in the population according to the preset population size. Second, setting the dimension of particle position and velocity to 3 according to the number of parameters in the parameter group (the rate control parameters of the first enhancement layer, the second enhancement layer, and the basic coding layer of the LCEVC encoder, a total of three parameters). Finally, randomly assigning values ​​to each dimension of each particle position and velocity to complete the population initialization.

[0031] S202. Based on the first fitness function, the first reference quality parameter, the first reference code rate, and the first quality parameter and the first code rate of the parameter group corresponding to each particle position, obtain the fitness value of each particle in the population.

[0032] The search objective of some embodiments of this application is to find a set of bitrate control parameters (including bitrate control parameters for the first enhancement layer, second enhancement layer, and basic coding layer of the LCEVC encoder) that maximizes the quality of the image reconstructed by the LCEVC encoder at the target bitrate. To establish a reference for the quality of the image reconstructed by the LCEVC encoder at the target bitrate, some embodiments of this application first encode a first video at the target bitrate based on a preset encoder to obtain a first reference quality parameter and a first reference bitrate.

[0033] In some embodiments of this application, the preset encoder can be any encoder, for example, the preset encoder can be x264.

[0034] In some embodiments of this application, the first reference quality parameter refers to the quality parameter of the reconstructed image obtained by encoding the first video at a target bitrate using a preset encoder. For example, the first reference quality parameter may be a peak signal-to-noise ratio (PSNR), a Visual Multimethod Assessment Fusion (VMAF) parameter, etc.

[0035] In some embodiments, the implementation process of step S202 (obtaining the fitness value of each particle in the population based on the first fitness function, the first reference quality parameter, the first reference code rate, and the first quality parameter and the first code rate of the parameter group corresponding to each particle position) may include the following steps 203a to 202d: Step 202a: Obtain the parameter set corresponding to each particle position according to the fourth, fifth and sixth formulas.

[0036] The fourth formula is: .

[0037] The fifth formula is: .

[0038] The sixth formula is: .

[0039] in, These are the bitrate control parameters for the first enhancement layer in the parameter group corresponding to the particle position. These are the bitrate control parameters for the second enhancement layer in the parameter group corresponding to the particle position. These are the code rate control parameters for the basic coding layer in the parameter group corresponding to the particle position. 、 、 These represent the values ​​for different dimensions of the particle's position. 、 、 This is a constant set based on the value range of the bitrate control parameters of the first enhancement layer and the preset number of iterations. 、 、 This is a constant set based on the value range of the bitrate control parameters of the second enhancement layer and the preset number of iterations. 、 、 This is a constant set based on the range of values ​​for the bitrate control parameters of the basic coding layer and the preset number of iterations.

[0040] Specifically, since the bitrate control parameters of the first enhancement layer and the second enhancement layer of the LCEVC encoder have a value range of [1, 32767], and the bitrate control parameters of the basic coding layer have a value range of [100, 2100], when the preset iteration number is 10, the fourth, fifth, and sixth formulas can be as follows:

[0041]

[0042]

[0043] Step 202b: Obtain the first calculated value of the parameter group corresponding to each particle position.

[0044] Wherein, the first calculated value of the parameter group corresponding to any particle position is positively correlated with the mass difference of the parameter group corresponding to that particle position, and the mass difference of the parameter group corresponding to any particle position is the difference between the first mass parameter of the parameter group corresponding to that particle position and the first reference mass parameter.

[0045] That is, the larger the difference between the first mass parameter of the parameter group corresponding to the particle position and the first reference mass parameter, the larger the first calculated value of the parameter group corresponding to the particle position. Conversely, the smaller the difference between the first mass parameter of the parameter group corresponding to the particle position and the first reference mass parameter, the smaller the first calculated value of the parameter group corresponding to the particle position.

[0046] In some embodiments, obtaining the first calculated value of the parameter group corresponding to each particle position includes: The first calculated value of the parameter set corresponding to each particle position is calculated according to the first formula, which is:

[0047] in, This is the first calculated value of the parameter set corresponding to the particle's position. This is the first mass parameter of the parameter group corresponding to the particle's position. This is the first reference quality parameter.

[0048] Step 202c: Obtain the second calculated value of the parameter group corresponding to each particle position.

[0049] Wherein, the second calculated value of the parameter group corresponding to any particle position is positively correlated with the bit rate difference of the parameter group corresponding to that particle position, and the bit rate difference of the parameter group corresponding to any particle position is the absolute value of the difference between the first bit rate of the parameter group corresponding to that particle position and the first reference bit rate.

[0050] That is, the greater the difference between the first bitrate of the parameter group corresponding to the particle position and the first reference bitrate, the larger the second calculated value of the parameter group corresponding to the particle position. Conversely, the smaller the difference between the first bitrate of the parameter group corresponding to the particle position and the first reference bitrate, the smaller the second calculated value of the parameter group corresponding to the particle position.

[0051] In some embodiments, obtaining the second calculated value of the parameter group corresponding to each particle position includes: The second calculated value of the parameter set corresponding to each particle position is obtained according to the second formula, which is:

[0052] in, This is the second calculated value of the parameter set corresponding to the particle position. The first bitrate of the parameter group corresponding to the particle position. This is the first reference bit rate.

[0053] Step 202d: Obtain the fitness value of each particle in the population based on the first and second calculated values ​​of the parameter group corresponding to each particle position.

[0054] In some embodiments, the fitness value of each particle in the population is obtained based on the first and second calculated values ​​of the parameter set corresponding to each particle position, including: The fitness value of each particle in the population is calculated according to the third formula, which is:

[0055] in , The fitness value of particles in the population. This is the first calculated value of the parameter set corresponding to the particle's position. This is the second calculated value of the parameter set corresponding to the particle position.

[0056] When calculating the fitness value of the parameter set according to the third formula above, the smaller the fitness value of the particle, the better the encoded data obtained by the parameter set corresponding to the particle position.

[0057] In some embodiments, the fitness value of each particle in the population is obtained based on the first and second calculated values ​​of the parameter set corresponding to each particle position, including: The fitness value of each particle in the population is calculated according to the following formula, wherein the third formula is:

[0058] in, The fitness value of particles in the population. This is the first calculated value of the parameter set corresponding to the particle's position. This is the second calculated value of the parameter set corresponding to the particle position.

[0059] When calculating the fitness value of the parameter set according to the third formula above, the larger the fitness value of the particle, the better the encoded data obtained by the parameter set corresponding to the particle position.

[0060] S203. Update the search for the optimal solution and the individual extreme values, positions, and velocities of each particle based on the fitness values ​​of each particle.

[0061] The formula for calculating the fitness value of each particle in the population is: At that time, the optimal search solution and the individual extreme value, position and velocity of each particle are updated according to the fitness value of each particle, including: if the fitness value of a particle is less than the individual extreme value of the particle, then the individual extreme value of the particle is updated to the fitness value of the particle; if the fitness value of a particle is less than the optimal search solution, then the optimal search solution is updated to the fitness value of the particle.

[0062] The formula for calculating the fitness value of each particle in the population is: At that time, the optimal search solution and the individual extreme value, position and velocity of each particle are updated according to the fitness value of each particle, including: if the fitness value of a particle is greater than the individual extreme value of the particle, then the individual extreme value of the particle is updated to the fitness value of the particle; if the fitness value of a particle is greater than the optimal search solution, then the optimal search solution is updated to the fitness value of the particle.

[0063] S204. Determine whether the number of iterations has reached the preset number of iterations.

[0064] In some embodiments of this application, the preset number of iterations can be set according to the number of iterations required for the convergence process. For example, the preset number of iterations can be 10.

[0065] In step S204 above, if the number of iterations has not reached the preset number of iterations, the optimal search solution, the individual extreme values, positions, and velocities of each particle are updated according to the fitness values ​​of each particle, and the next iteration is performed based on the updated positions of each particle. That is, step S205 is executed, the positions and velocities of each particle are updated according to the optimal search solution and the individual extreme values ​​of each particle, and then the process returns to step S202.

[0066] In some embodiments, the velocity of each particle can be updated according to the following formula:

[0067] in, and Particles In the The second iteration and the first Speed ​​during each iteration A random decimal number between 0 and 1. and They represent particles respectively The position corresponding to the individual extreme value and the position corresponding to the current optimal solution. It is a particle In the Position in the next iteration. Inertia factor 、 This is the acceleration constant. For example, 、 、 They can be 1, 2, 2 respectively.

[0068] In some embodiments, the positions of individual particles can be updated according to the following formula:

[0069] in, and They represent particles respectively In the The second iteration and the first Position in the next iteration. Represents particles In the The speed during each iteration.

[0070] In step S204 above, if the number of iterations reaches the preset number of iterations, then step S206 is executed.

[0071] S206. Determine the bitrate control parameters of the first video based on the search optimal solution.

[0072] The parameter set corresponding to the optimal search solution is determined as the bitrate control parameter of the first video.

[0073] The following sections will explain the beneficial effects of the method for determining the bit rate control parameters provided in the above embodiment from two aspects: comparative experiments and complexity analysis.

[0074] Comparative experiment: When the LCEVC encoder is configured as LTM, the encoder of the basic coding layer of the LCEVC encoder is x264, the encoder used by the reference group (preset encoder) is x264, the bitrate control mode is Available Bit-Rate (ABR), the population size of the PSO algorithm is 24, the preset number of iterations is 10, and the dimension of particle position and velocity is 3, Tables 1 and 2 below show the encoding results of the video sequences BasketballDrive_1920x1080 and Cactus_1920x1080 at different target bitrates. LTM-PSNR and LTM-Bitrate represent the quality parameters and bitrate used in the reconstructed image after LTM encoding of the corresponding video sequence at the target bitrate, respectively. x264-PSNR and x264-Bitrate represent the quality parameters and bitrate used in the reconstructed image after x264 encoding of the corresponding sequence at the target bitrate, respectively. The units for target bitrate, LTM-Bitrate, and x264-Bitrate in the tables are all kbit / s.

[0075] Table 1

[0076] Table 2

[0077] The results in Tables 1 and 2 show that the parameter sets found in some embodiments of this application can make the LTM bitrate as close as possible to the encoding result of x264, while making the reconstructed image quality of LTM better than that of x264 at the same bitrate. Therefore, some embodiments of this application can find a set of bitrate control parameter combinations that enable the LCEVC encoder to obtain the best possible reconstructed image quality at the target bitrate.

[0078] Complexity analysis: If a full search is performed, theoretically 10⁸ searches are needed to find the optimal parameter set. If the search controls for the first enhancement layer, second enhancement layer, and basic coding layer of the LCEVC encoder are set to 1000, 1000, and 100 respectively... , , If the values ​​are 1000, 1000, and 100 respectively, and the population size is set to 24 and the preset number of iterations is 10, then only 24*10=240 searches are needed to find the optimal parameter set, which greatly reduces the number of searches.

[0079] Based on the above embodiments, some embodiments of this application provide a method for determining bitrate control parameters, which further includes: obtaining parameter groups corresponding to at least two videos respectively, and obtaining a first value range of the bitrate control parameters of the first enhancement layer, a second value range of the bitrate control parameters of the second enhancement layer, and a third value range of the bitrate control parameters of the basic coding layer according to the parameter groups corresponding to the at least two videos respectively. The method for obtaining the parameter groups corresponding to the at least two videos is the same as the method for obtaining the bitrate control parameters of the first video. To avoid redundancy, it will not be described in detail here.

[0080] In some embodiments, the parameter groups corresponding to the at least two videos, for obtaining the first value range of the bitrate control parameter of the first enhancement layer, include: The first value range is determined based on the first minimum value, the first maximum value, and the first preset range, wherein the first minimum value and the first maximum value are the minimum and maximum values ​​of the bitrate control parameters of the first enhancement layer in the parameter groups corresponding to the at least two videos, respectively.

[0081] In some embodiments, the first value range is: [ ];

[0082]

[0083] Among them, the and These are the minimum and maximum values ​​of the first preset range, respectively. , It is a constant; This is the first minimum value. This is the first maximum value.

[0084] For example, ; . = -1000, sw1_r = + 2000, and when When less than 500, Equal to 500, when When it is greater than 12000, It equals 12000.

[0085] In some embodiments, obtaining the second value range of the bitrate control parameter of the second enhancement layer based on the parameter groups corresponding to the at least two videos includes: The second value range is determined based on the second minimum value, the second maximum value, and the second preset range, wherein the second minimum value and the second maximum value are the minimum and maximum values ​​of the bitrate control parameters of the second enhancement layer in the parameter groups corresponding to the at least two videos, respectively.

[0086] In some embodiments, the first value range is: [ ];

[0087]

[0088] Among them, the and These are the minimum and maximum values ​​of the second preset range, respectively, C, It is a constant; This is the second minimum value. This is the second maximum value.

[0089] For example, ; .Right now, - 1000 = +2000, and when When less than 500, Equal to 500, when When it is greater than 8000, It equals 8000.

[0090] In some embodiments, obtaining the third value range of the bitrate control parameter of the basic coding layer based on the parameter groups corresponding to the at least two videos includes: The third value range is determined based on the third minimum value, the third maximum value, and the third preset range. The second minimum value and the second maximum value are the ratio of the minimum value to the target bitrate and the ratio of the maximum value to the target bitrate of the bitrate control parameter of the basic coding layer in the parameter group corresponding to the at least two videos, respectively.

[0091] In some embodiments, the first value range is: [ ];

[0092]

[0093] Among them, the and These are the minimum and maximum values ​​of the third preset range, respectively. E、 It is a constant; The ratio of the third minimum value to the target bit rate. It is the ratio of the third maximum value to the target bit rate.

[0094] For example, ; .Right now, = -0.1, = + 0.1, and when When less than 0.4, Equal to 0.4, when When it is greater than 0.95, It equals 0.95.

[0095] The above embodiments can obtain the first value range of the bitrate control parameter of the first enhancement layer, the second value range of the bitrate control parameter of the second enhancement layer, and the third value range of the bitrate control parameter of the basic coding layer based on the parameter groups corresponding to multiple videos.

[0096] As an extension and refinement of the above embodiments, some embodiments of this application also provide another method for determining bit rate control parameters, see below. Figure 3 As shown, the method for determining the bit rate control parameters includes the following steps S301 to S305: S301. Obtain the parameter groups corresponding to at least two videos.

[0097] The method for obtaining the parameter groups corresponding to at least two videos can be the same as the method for obtaining the bitrate control parameters of the first video in the above embodiment. To avoid redundancy, it will not be described in detail here.

[0098] S302. Based on the parameter groups corresponding to the at least two videos, obtain the first value range of the bitrate control parameter of the first enhancement layer, the second value range of the bitrate control parameter of the second enhancement layer, and the third value range of the bitrate control parameter of the basic coding layer.

[0099] The implementation of obtaining the first value range of the bitrate control parameters of the first enhancement layer, the second value range of the bitrate control parameters of the second enhancement layer, and the third value range of the bitrate control parameters of the basic coding layer can be the same as in the above embodiments. To avoid redundancy, it will not be described in detail here.

[0100] S303. Determine the target parameter group based on the first value range, the second value range, the third value range, the second fitness function, the second quality parameter, the second bit rate, the second reference quality parameter, and the second reference bit rate of each parameter group.

[0101] Wherein, the second quality parameter and the second bitrate of any parameter group are respectively the quality parameter and bitrate obtained by the LCEVC encoder controlling the parameter group to encode the second video; the second reference quality parameter and the second reference bitrate are respectively the quality parameter and bitrate obtained by the preset encoder to encode the second video at the target bitrate.

[0102] In some embodiments, the second fitness function may be:

[0103]

[0104]

[0105] in, This is the second mass parameter in the parameter group. This is the second reference quality parameter. The second bitrate of the parameter group. This is the second reference bit rate. These are the fitness values ​​for the parameter set.

[0106] S304. Determine the bitrate control parameters of the second video according to the target parameter group.

[0107] The above embodiments are based on the above embodiments. When encoding multiple videos, it is possible to first... Figure 2 The method for determining bitrate control parameters provided in the illustrated embodiment determines bitrate control parameters for at least two videos, and then obtains a first value range for the bitrate control parameters of the first enhancement layer, a second value range for the bitrate control parameters of the second enhancement layer, and a third value range for the bitrate control parameters of the basic coding layer based on the bitrate control parameters of the at least two videos. Furthermore, it determines the bitrate control parameters for other videos based on the first, second, and third value ranges. This method is more efficient than simply using the bitrate control parameters of the first enhancement layer, the second enhancement layer, and the third enhancement layer. Figure 2The method for determining bitrate control parameters provided in the illustrated embodiment determines the bitrate control parameters of a video by using the first value range, the second value range, the third value range, the second fitness function, the second quality parameter of each parameter group, the second bitrate, the second reference quality parameter, and the second reference bitrate. The computational workload of determining the target parameter group is smaller. Therefore, the embodiments of this application can reduce the computational workload when determining the bitrate control parameters of a video.

[0108] As an extension and refinement of the above embodiments, some embodiments of this application also provide another method for determining bit rate control parameters, see below. Figure 4 As shown, the method for determining the bit rate control parameters includes the following steps S401 to S416: S401. Obtain the parameter groups corresponding to at least two videos.

[0109] S402. Based on the parameter groups corresponding to at least two videos, obtain the first value range of the bitrate control parameter of the first enhancement layer, the second value range of the bitrate control parameter of the second enhancement layer, and the third value range of the bitrate control parameter of the basic coding layer.

[0110] S403. Determine whether the minimum value of the first value range is greater than a preset threshold.

[0111] In some embodiments, the preset threshold is 12000.

[0112] In step S403 above, if the minimum value of the first value range is greater than a preset threshold, then the following steps S404 to S409 are executed: S404. Divide the second value range into n-1 equal parts to obtain n first boundary values, and divide the third value range into m-1 equal parts to obtain m second boundary values.

[0113] In some embodiments, n=5 and m=4. That is, the second value range of the second enhancement layer is divided into four equal parts to obtain five first boundary values, and the third value range of the basic coding layer is divided into three equal parts to obtain four second boundary values.

[0114] S405. Combine the n first boundary values ​​and the m second boundary values ​​to obtain m*n parameter pairs.

[0115] For example, n=5, m=4, and the four first boundary values ​​are as follows: , , , The m second boundary values ​​are as follows: , , , , Then, step S405 above can obtain 20 parameter pairs, and the 20 parameter pairs are as follows: ( , ), ( , ), ( , ), ( , ), ( , ), ( , ), ( , ), ( , ), ( , ), ( , ), ( , ), ( , ), ( , ), ( , ), ( , ), ( , ), ( , ), ( , ), ( , ), ( , ).

[0116] S406. Generate m*n parameter groups based on the m*n parameter pairs and the preset bitrate control parameters of the first enhancement layer.

[0117] That is, a preset bitrate control parameter of the first enhancement layer is added to the m*n parameter pairs to generate m*n parameter groups.

[0118] As described in the example above, when the preset bitrate control parameter of the first enhancement layer is... And the 20 parameter pairs are as follows: ( , ), ( , ), ( , ), ( , ), ( , ), ( , ), ( , ), ( , ), ( , ), ( , ), ( , ), ( , ), ( , ), ( , ), ( , ), ( , ), ( , ), ( , ), ( , ), ( , When ), the 20 parameter groups are as follows: ( , , ), ( , , ), ( , , ), ( , , ), ( , , ), ( , , ), ( , , ), ( , , ), ( , , ), ( , , ), ( , , ), ( , , ), ( , , ), ( , , ), ( , , ), ( , , ), ( , , ), ( , , ), ( , , ), ( , , ).

[0119] S407. Calculate the fitness values ​​of the m*n parameter groups according to the second fitness function.

[0120] That is, the second quality parameter, second bit rate, second reference quality parameter, and second reference bit rate corresponding to each parameter group are substituted into the second fitness function for calculation.

[0121] S408. Determine the three optimal parameter sets among the m*n parameter sets based on their fitness values.

[0122] That is, select the three parameter groups with the smallest fitness values ​​from the m*n parameter groups.

[0123] S409. Determine the target parameter set based on the three optimal parameter sets.

[0124] For example, refer to Figure 5 As shown, Figure 5 The example given is n=5 and m=4. Let the positions corresponding to the three optimal parameter sets be a, b, and c. Then, step S409 above involves searching for the optimal parameter sets within the triangular region 51 with vertices a, b, and c. Considering that in actual encoding, the neighboring positions of the optimal parameter sets are also advantageous, and the encoding results of the parameter sets corresponding to positions closer to the optimal parameter sets will be correspondingly better, the parameter search problem can be viewed as a convex optimization problem, i.e., performing a finer-precision search within the triangular region 51 with vertices a, b, and c.

[0125] In some embodiments, the above step S409 (determining the target parameter set based on the optimal three parameter sets) is implemented by including the following steps 409a to S409e: Step 409a: Determine the first central parameter set based on the three optimal parameter sets.

[0126] The position corresponding to the first central parameter group is the weighted center of the positions corresponding to the three optimal parameter groups.

[0127] exist Figure 5 Based on the illustrated embodiment, referring to Figure 6 As shown, if the position corresponding to the first central parameter group is marked as p1, then the implementation method of determining the first central parameter group based on the optimal three parameter groups may include the following steps a to c: Step a: Calculate the weight values ​​corresponding to the three optimal parameter groups according to the tenth formula.

[0128] The tenth formula is: .in, The parameter set among the three optimal parameter sets The weight value, The parameter set among the three optimal parameter sets The fitness value.

[0129] Step b: Calculate the vector corresponding to the position of the first central parameter group according to the eleventh formula.

[0130] The eleventh formula is: ; in, Let p1 be the vector corresponding to the position of the first central parameter group. 、 、 These are the weight values ​​for the three optimal parameter sets, respectively. 、 、 These are vectors representing the corresponding positions of the three optimal parameter sets.

[0131] Step c: Determine the first center parameter group based on the vector corresponding to the position of the first center parameter group.

[0132] Step 409b: Determine the first transformation value and the second transformation value based on the second value range and the third value range, respectively.

[0133] In some embodiments, determining the first transformation value based on the second value range includes: determining the first transformation value according to an eighth formula, wherein the eighth formula is: , wherein For the first transformation value, the and stated These are the minimum and maximum values ​​of the second range of values, respectively.

[0134] In some embodiments, determining the second transformation value based on the third value range includes: determining the first transformation value according to a ninth formula, wherein the ninth formula is: , wherein The second transformation value, the and stated These are the minimum and maximum values ​​of the third value range, respectively.

[0135] Step 409c: Modify the rate control parameters of the second enhancement layer and the basic coding layer in the first center parameter group according to the first transformation value and the second change value respectively, and obtain the first parameter group set.

[0136] For example, refer to Figure 7 As shown, the first parameter set obtained by modifying the rate control parameters of the second enhancement layer and the rate control parameters of the basic coding layer in the first center parameter set according to the first transformation value and the second change value respectively can include a total of 9 parameter sets, and these 9 parameter sets are as follows: , , ), ( , , ), ( , , ), ( , , ), ( , , ), ( , , ), ( , , ), ( , , ), ( , , ).in,( , , The first central parameter group is defined as follows, and the positions corresponding to the nine parameter groups are respectively as shown in the figure. Figure 7 Point p1 and points p1_1 to p1_8 in the range.

[0137] Step 409d: Modify the rate control parameters of the second enhancement layer and the rate control parameters of the basic coding layer in the third parameter group according to the first transformation value and the second change value respectively to obtain the second parameter group set.

[0138] The third parameter group is the optimal parameter group among the m*n parameter groups.

[0139] For example, refer to Figure 8 As shown, Figure 8 The third parameter set is the optimal parameter set among the m*n parameter sets, and the parameter set corresponding to position a is the parameter set. , , For example, the second parameter set obtained by modifying the rate control parameters of the second enhancement layer and the rate control parameters of the basic coding layer in the third parameter set according to the first transformation value and the second change value respectively can include a total of 8 parameter sets, and these 8 parameter sets are as follows: ( , , ), ( , , ), ( , , ), ( , , ), ( , , ), ( , , ), ( , , ), ( , , ), and the positions corresponding to these 8 parameter groups are respectively as follows: Figure 8 Points a_1 to a_8 in the range.

[0140] Step 409e: Determine the target parameter set from the first parameter set and the second parameter set.

[0141] As described in the example above, the target parameter group is determined from the 9 parameter groups in the first parameter group set and the 8 parameter groups in the second parameter group set (a total of 17 parameter groups).

[0142] In some embodiments, step 409e (determining the target parameter set from the first parameter set and the second parameter set) is implemented by including the following steps 409e1 to 409e5: Step 409e1: Calculate the fitness values ​​of each parameter group in the first parameter set and the second parameter set according to the second fitness function.

[0143] Step 409e2: Calculate the correction value of each parameter group in the first parameter group set and the second parameter group set according to the seventh formula.

[0144] The seventh formula is:

[0145] in, These are the correction values ​​for the parameter group. The second bitrate of the parameter group. This is the second reference bit rate. This is the sign-resetting function.

[0146] Step 409e3: Based on the correction values ​​and adaptation values ​​of each parameter group in the first parameter group set and the second parameter group set, obtain the correction and adaptation values ​​of each parameter group in the first parameter group set and the second parameter group set.

[0147] In some embodiments, obtaining the correction and fitness values ​​of each parameter group in the first parameter set and the second parameter set based on the correction and fitness values ​​of each parameter group in the first parameter set and the second parameter set includes calculating the correction and fitness values ​​of each parameter group in the first parameter set and the second parameter set according to the following formula:

[0148] in, For the adjustment and fitness values ​​of the parameter set, The fitness value of the parameter set, Correction values ​​for the parameter group.

[0149] Step 409e4: Determine the target parameter set from the first parameter set and the second parameter set based on the correction and adaptation values ​​of each parameter set in the first parameter set and the second parameter set.

[0150] That is, the correction and fitness values ​​of each parameter group in the first parameter group set and the second parameter group set are calculated through the above steps 409e1 and S409e3, and then the target parameter group is determined from the first parameter group set and the second parameter group set based on the correction and fitness values ​​of each parameter group in the first parameter group set and the second parameter group set.

[0151] When the formula for calculating the corrected fitness value of the parameter set is: When the target parameter set is the parameter set with the smallest modified fitness value among the first parameter set set and the second parameter set set, the target parameter set is the parameter set with the smallest fitness value.

[0152] In step S403 above, if the minimum value of the first value range is less than the preset threshold, then the following steps S410 to S414 are executed: S410. Divide the first value range into x-1 equal parts to obtain x third boundary values, divide the second value range into y-1 equal parts to obtain y fourth boundary values, and divide the third value range into z-1 equal parts to obtain z fifth boundary values.

[0153] In some embodiments, x=5, y=5, z=4. That is, the first value range is divided into four equal parts to obtain five third boundary values, the second value range is divided into four equal parts to obtain five fourth boundary values, and the third value range is divided into three equal parts to obtain four fifth boundary values.

[0154] S411. Combine the x third boundary values, the y fourth boundary values, and the z fifth boundary values ​​to obtain x*y*z parameter groups.

[0155] If x=5, y=5, z=4, then by combining the 5 third boundary values, the 5 fourth boundary values, and the 4 fifth boundary values, a total of 5*5*4=100 parameter sets can be obtained.

[0156] S412. Obtain the fitness values ​​of the x*y*z parameter groups according to the second fitness function.

[0157] That is, the second quality parameter, second bit rate, second reference quality parameter, and second reference bit rate corresponding to each parameter group are substituted into the second fitness function for calculation.

[0158] S413. Determine the four optimal parameter groups among the x*y*z parameter groups based on their fitness values.

[0159] That is, select the four parameter groups with the smallest fitness values ​​from the x*y*z parameter groups.

[0160] S414. Determine the target parameter set based on the four optimal parameter sets.

[0161] For example, refer to Figure 9 As shown, Figure 9 The example given is x=5, y=5, z=4. Let the positions corresponding to the four optimal parameter sets be a, b, c, and d. Then, step S414 above involves searching for the optimal parameter set within the tetrahedron 91 with vertices a, b, c, and d. Considering that in actual encoding, the nearest points to the optimal position are also relatively good, and the encoding result of the parameter set corresponding to a position farther from the optimal position will be correspondingly worse, it is also considered a convex optimization problem, i.e., performing a finer-precision search within the tetrahedron with vertices a, b, c, and d.

[0162] In some embodiments, step S414 (determining the target parameter set based on the optimal four parameter sets) includes the following steps 414a to S414e: Step 414a: Determine the second central parameter set based on the four optimal parameter sets.

[0163] The position corresponding to the second center parameter group is the weighted center based on the positions corresponding to the four optimal parameter groups.

[0164] Reference Figure 10 As shown, the position corresponding to the second central parameter set is marked as p2. Then, determining the first central parameter set based on the optimal four parameter sets includes the following steps I to III: Step I: Calculate the weight values ​​corresponding to the four optimal parameter groups according to Formula Fifteen.

[0165] The fifteenth formula is: .in, The parameter set among the three optimal parameter sets The weight value, The parameter set is one of the four optimal parameter sets. The fitness value.

[0166] Step II: Calculate the vector corresponding to the position of the second central parameter group according to the sixteenth formula.

[0167] The sixteenth formula is: ;in, The vector corresponding to the position of the second center parameter group. , , , These are the weight values ​​for the four optimal parameter groups, respectively. 、 、 、 These are vectors representing the corresponding positions of the four optimal parameter sets.

[0168] Step III: Determine the second center parameter group based on the vector corresponding to the position of the second center parameter group.

[0169] Step 414b: Determine the third transformation value, the fourth transformation value, and the fifth transformation value based on the first value range, the second value range, and the third value range, respectively.

[0170] In some embodiments, determining the third transformation value based on the first value range includes: determining the third transformation value based on the first value range and a twelfth formula, wherein the twelfth formula is: , wherein For the first transformation value, the and stated These are the minimum and maximum values ​​within the first range of values, respectively.

[0171] In some embodiments, determining the fourth transformation value based on the second value range includes: determining the fourth transformation value based on the second value range and the thirteenth formula, wherein the thirteenth formula is: , wherein For the first transformation value, the and stated These are the minimum and maximum values ​​of the second range of values, respectively.

[0172] In some embodiments, determining the fifth transformation value based on the third value range includes: determining the fifth transformation value based on the third value range and a fourteenth formula, wherein the fourteenth formula is: , wherein The second transformation value, the and stated These are the minimum and maximum values ​​of the third value range, respectively.

[0173] Step 414c: Modify the rate control parameters of the first enhancement layer, the second enhancement layer, and the basic coding layer in the second center parameter set according to the third transformation value, the fourth transformation value, and the fifth transformation value, respectively, to obtain the third parameter set.

[0174] For example, refer to Figure 11As shown, the set of third parameter groups obtained by modifying the rate control parameters of the first enhancement layer, the second enhancement layer, and the basic coding layer in the second center parameter group according to the third transformation value, the fourth transformation value, and the fifth transformation value respectively includes 27 parameter groups centered on the position point p2 corresponding to the second center parameter group. These 27 parameter groups are formed by arranging and combining the following nine parameters: , , , , , , , , .in, , , These are the rate control parameters for the first enhancement layer, the second enhancement layer, and the basic coding layer, respectively, belonging to the second center parameter group. 、 、 These are the third transformation value, the fourth transformation value, and the fifth transformation value, respectively.

[0175] Step 414d: Modify the rate control parameters of the first enhancement layer, the second enhancement layer, and the basic coding layer in the fourth parameter group according to the third transformation value, the fourth transformation value, and the fifth transformation value, respectively, to obtain the fourth parameter group set.

[0176] The fourth parameter group is the optimal parameter group among the x*y*z parameter groups.

[0177] For example, refer to Figure 12 As shown, Figure 12 The example illustrates this by taking point c as the position corresponding to the optimal parameter group among the x*y*z parameter groups in the fourth parameter group. The bitrate control parameters of the first enhancement layer, the second enhancement layer, and the basic coding layer in the fourth parameter group are modified according to the third, fourth, and fifth transformation values, respectively. The resulting set of fourth parameter groups includes 26 parameter groups centered at point c corresponding to the second central parameter group. Figure 12 The parameter groups corresponding to midpoints 1 to 26), and each of these 26 parameter groups is formed by the following nine parameter combinations: , , , , , , , , .in, , , These are the third transformation value, the fourth transformation value, and the fifth transformation value, respectively. , , These are the rate control parameters for the first enhancement layer, the second enhancement layer, and the basic coding layer, respectively, in the fourth parameter group. , , These are the third transformation value, the fourth transformation value, and the fifth transformation value, respectively.

[0178] Step 414e: Determine the target parameter set from the third parameter set and the fourth parameter set.

[0179] As described in the example above, the target parameter set is determined from the 27 parameter sets in the third parameter set and the 26 parameter sets in the fourth parameter set.

[0180] In some embodiments, step 414e (determining the target parameter set from the third parameter set and the fourth parameter set) is implemented by including the following steps 414e1 to 414e5: Step 414e1: Calculate the fitness values ​​of each parameter group in the third parameter set and the fourth parameter set according to the second fitness function.

[0181] Step 414e2: Calculate the correction values ​​of each parameter group in the third parameter group set and the fourth parameter group set according to the seventeenth formula.

[0182] The seventeenth formula is:

[0183] in, These are the correction values ​​for the parameter group. The second bitrate of the parameter group. This is the second reference bit rate. This is the sign-resetting function.

[0184] Step 414e3: Based on the correction values ​​and adaptation values ​​of each parameter group in the third parameter group set and the fourth parameter group set, obtain the correction and adaptation values ​​of each parameter group in the third parameter group set and the fourth parameter group set.

[0185] In some embodiments, obtaining the correction and fitness values ​​of each parameter group in the third parameter set and the fourth parameter set based on the correction and fitness values ​​of each parameter group in the third parameter set and the fourth parameter set includes: calculating the correction and fitness values ​​of each parameter group in the third parameter set and the fourth parameter set according to the following formula:

[0186] in, For the adjustment and fitness values ​​of the parameter set, For the fitness values ​​of the parameter set, Correction values ​​for the parameter group.

[0187] Step 414e4: Determine the target parameter set from the third parameter set and the fourth parameter set based on the correction and adaptation values ​​of each parameter set in the third parameter set and the fourth parameter set.

[0188] That is, the correction fitness values ​​of each parameter group in the third parameter set and the fourth parameter set are calculated through the above steps 414e1 and S414e3, and then the target parameter set is determined from the third parameter set and the fourth parameter set based on the correction fitness values ​​of each parameter group in the third parameter set and the fourth parameter set.

[0189] When according to the formula When calculating the corrected fitness values ​​of each parameter group in the third parameter set and the fourth parameter set, the target parameter group is the parameter group with the smallest corrected fitness value in the third parameter set and the fourth parameter set.

[0190] Figure 5 In the method shown for determining the bitrate control parameters, the optimal parameter set can be obtained by performing 37 or 153 searches, compared to... Figure 1 The method shown requires 240 searches. Figure 5 The method for determining the bitrate control parameters shown can obtain better search results with less than 1 / 6 of the complexity. Therefore, the above embodiments can further reduce the amount of computation when determining the bitrate control parameters of the LCEVC encoder.

[0191] Based on the same inventive concept, as an implementation of the above method, some embodiments of this application also provide an apparatus for determining bitrate control parameters. The apparatus for determining bitrate control parameters includes: a memory configured to store a computer program; and a processor configured to, when the computer program is invoked, cause the apparatus for determining bitrate control parameters to implement the method for determining bitrate control parameters described in the first aspect.

[0192] In some embodiments, this application provides a computer-readable storage medium storing a computer program that, when executed by a computing device, causes the computing device to implement the method for determining bitrate control parameters as described in any of the above embodiments.

[0193] In some embodiments, this application provides a computer program product that, when run on a computer, enables the computer to implement the method for determining bitrate control parameters as described in any of the above embodiments.

[0194] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some or all of the technical features therein. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of this application.

[0195] For ease of explanation, the above description has been provided in conjunction with specific embodiments. However, the above exemplary discussion is not intended to be exhaustive or to limit the embodiments to the specific forms disclosed above. Various modifications and variations can be obtained based on the above teachings. The selection and description of the above embodiments are for the purpose of better explaining the principles and practical applications, thereby enabling those skilled in the art to better utilize the described embodiments and various different variations of embodiments suitable for specific use considerations.

Claims

1. A method for determining bit rate control parameters, characterized in that, include: The population of the Particle Swarm Optimization (PSO) algorithm is initialized according to the preset population size and the number of parameters in the parameter set; the parameter set includes the bitrate control parameters of the first enhancement layer, the second enhancement layer, and the basic coding layer of the Low Complexity Enhanced Video Coding (LCEVC) encoder. Obtain the first calculated value of the parameter group corresponding to each particle position. The first calculated value of the parameter group corresponding to any particle position is positively correlated with the mass difference of the parameter group corresponding to that particle position. The mass difference of the parameter group corresponding to any particle position is the difference between the first mass parameter of the parameter group corresponding to that particle position and the first reference mass parameter. Obtain the second calculated value of the parameter group corresponding to each particle position; the second calculated value of the parameter group corresponding to any particle position is positively correlated with the bitrate difference of the parameter group corresponding to that particle position, and the bitrate difference of the parameter group corresponding to any particle position is the absolute value of the difference between the first bitrate and the first reference bitrate of the parameter group corresponding to that particle position; the first quality parameter and the first bitrate of any parameter group are respectively the quality parameter and bitrate obtained by the LCEVC encoder controlling the parameter group to encode the first video; the first reference quality parameter and the first reference bitrate are respectively the quality parameter and bitrate obtained by the preset encoder to encode the first video at the target bitrate; The fitness value of each particle in the population is obtained based on the first and second calculated values ​​of the parameter group corresponding to each particle position. The optimal solution, individual extreme values, positions, and velocities of each particle are updated based on their fitness values, and the next iteration is performed based on the updated positions of each particle. When the number of iterations reaches the preset number of iterations, the bitrate control parameters of the first video are determined based on the optimal solution searched.

2. The method according to claim 1, characterized in that, The step of obtaining the fitness value of each particle in the population based on the first and second calculated values ​​of the parameter set corresponding to each particle position includes: The difference between the first calculated value and the second calculated value is calculated to obtain the fitness value of each particle in the population.

3. The method according to claim 1 or 2, characterized in that, The method further includes: Obtain the parameter sets corresponding to at least two videos; Based on the parameter groups corresponding to the at least two videos, obtain the first value range of the bitrate control parameter of the first enhancement layer, the second value range of the bitrate control parameter of the second enhancement layer, and the third value range of the bitrate control parameter of the basic coding layer.

4. The method according to claim 3, characterized in that, The method further includes: Based on the first value range, the second value range, the third value range, the second fitness function, the second quality parameter, the second bitrate, the second reference quality parameter, and the second reference bitrate of each parameter group, a target parameter group is determined; wherein, the second quality parameter and the second bitrate of any parameter group are respectively the quality parameter and bitrate obtained by the LCEVC encoder controlling the parameter group to encode the second video; the second reference quality parameter and the second reference bitrate are respectively the quality parameter and bitrate obtained by the preset encoder encoding the second video at the target bitrate; The bitrate control parameters for the second video are determined based on the target parameter set.

5. The method according to claim 4, characterized in that, The step of determining the target parameter set based on the first value range, the second value range, the third value range, the second fitness function, the second quality parameter of each parameter set, the second bitrate, the second reference quality parameter, and the second reference bitrate includes: Determine whether the minimum value of the first value range is greater than a preset threshold; If so, the second value range is divided into n-1 equal parts to obtain n first boundary values, and the third value range is divided into m-1 equal parts to obtain m second boundary values; By combining the n first boundary values ​​and the m second boundary values, m*n parameter pairs are obtained; Based on the m*n parameter pairs and the preset bitrate control parameters of the first enhancement layer, generate m*n parameter groups; The fitness values ​​of the m*n parameter groups are calculated according to the second fitness function; the second fitness function is used to calculate the fitness values ​​of the parameter groups based on the second quality parameter of the parameter groups, the second bitrate of the parameter groups, the second reference quality parameter, and the second reference bitrate; the second quality parameter and the second bitrate of the parameter groups are respectively the quality parameter and bitrate obtained by encoding the second video using the LCEVC encoder controlled by the parameter groups. Based on the fitness values ​​of the m*n parameter groups, determine the three optimal parameter groups among the m*n parameter groups; The target parameter set is determined based on the three optimal parameter sets.

6. The method according to claim 5, characterized in that, Determining the target parameter set based on the optimal three parameter sets includes: The first center parameter set is determined based on the three optimal parameter sets, and the position corresponding to the first center parameter set is the weighted center of the position corresponding to the three optimal parameter sets. The first transformation value and the second transformation value are determined based on the second value range and the third value range, respectively. Modify the rate control parameters of the second enhancement layer and the rate control parameters of the basic coding layer in the first center parameter group according to the first transformation value and the second transformation value respectively, and obtain the first parameter group set; Modify the rate control parameters of the second enhancement layer and the basic coding layer in the third parameter group according to the first transformation value and the second transformation value respectively, and obtain the second parameter group set. The third parameter group is the optimal parameter group among the m*n parameter groups. The target parameter set is determined from the first parameter set and the second parameter set.

7. The method according to claim 6, characterized in that, The step of determining the target parameter set corresponding to the second video based on the first value range, the second value range, the third value range, the second reference quality parameter, the second reference bitrate, and the hierarchical search algorithm further includes: If the minimum value of the first value range is less than the preset threshold, the first value range is divided into x-1 equal parts to obtain x third boundary values, the second value range is divided into y-1 equal parts to obtain y fourth boundary values, and the third value range is divided into z-1 equal parts to obtain z fifth boundary values. Combine the x third boundary values, the y fourth boundary values, and the z fifth boundary values ​​to obtain x*y*z parameter sets; The second fitness function is used to obtain the fitness values ​​of the x*y*z parameter groups; the second fitness function is used to calculate the fitness values ​​of the parameter groups based on the second quality parameter of the parameter groups, the second bitrate of the parameter groups, the second reference quality parameter, and the second reference bitrate; the second quality parameter and the second bitrate of the parameter groups are respectively the quality parameter and bitrate obtained by using the parameter groups to control the LCEVC encoder to encode the second video. Based on the fitness values ​​of the x*y*z parameter groups, determine the four optimal parameter groups among the x*y*z parameter groups; The target parameter set is determined based on the four optimal parameter sets.

8. The method according to claim 7, characterized in that, Determining the target parameter set based on the optimal four parameter sets includes: The second center parameter set is determined based on the four optimal parameter sets, and the position corresponding to the second center parameter set is the weighted center based on the positions corresponding to the four optimal parameter sets. The third transformation value, the fourth transformation value, and the fifth transformation value are determined based on the first value range, the second value range, and the third value range, respectively. Modify the rate control parameters of the first enhancement layer, the second enhancement layer, and the basic coding layer in the second center parameter group according to the third transformation value, the fourth transformation value, and the fifth transformation value respectively, and obtain the third parameter group set; The rate control parameters of the first enhancement layer, the second enhancement layer, and the basic coding layer in the fourth parameter group are modified respectively according to the third transformation value, the fourth transformation value, and the fifth transformation value to obtain the fourth parameter group set, which is the optimal parameter group among the x*y*z parameter groups; The target parameter set is determined from the third parameter set and the fourth parameter set.

9. A device for determining bit rate control parameters, characterized in that, include: Memory, configured to store computer programs; A processor is configured to, when a computer program is invoked, cause the means for determining the bitrate control parameters to implement the method for determining the bitrate control parameters as described in any one of claims 1-8.

Citation Information

Patent Citations

  • Channel code rate allocation method, system and remote image transfer system

    CN106416271A

  • Exchanging information in hierarchical video coding

    US20220182654A1