CN112584147B - Method, apparatus, computer device and storage medium for adjusting encoder parameters - Google Patents

Method, apparatus, computer device and storage medium for adjusting encoder parameters Download PDF

Info

Publication number
CN112584147B
CN112584147B CN202011377836.5A CN202011377836A CN112584147B CN 112584147 B CN112584147 B CN 112584147B CN 202011377836 A CN202011377836 A CN 202011377836A CN 112584147 B CN112584147 B CN 112584147B
Authority
CN
China
Prior art keywords
parameter
current
adjusted
value
encoder
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202011377836.5A
Other languages
Chinese (zh)
Other versions
CN112584147A (en
Inventor
张文杰
豆修鑫
许道远
樊鸿飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Kingsoft Cloud Network Technology Co Ltd
Original Assignee
Beijing Kingsoft Cloud Network Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Kingsoft Cloud Network Technology Co Ltd filed Critical Beijing Kingsoft Cloud Network Technology Co Ltd
Priority to CN202011377836.5A priority Critical patent/CN112584147B/en
Publication of CN112584147A publication Critical patent/CN112584147A/en
Application granted granted Critical
Publication of CN112584147B publication Critical patent/CN112584147B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation

Abstract

The application relates to a method, apparatus, computer device and storage medium for adjusting encoder parameters. The parameter adjusting process is a mode of solving multiple local optimizations, namely, firstly solving a local optimal solution with each parameter independent, and then solving a combined local optimal solution by integrating all the parameters. Sequencing according to the maximum coding performance of the single parameters, determining the sequence to be updated of each parameter value corresponding to each parameter according to the coding performance of each parameter value of the single parameter, and sequentially adjusting the parameter values of each parameter according to the sequence to be updated, so that the parameter values of each parameter are determined, and the complexity of the parameter determining process is reduced.

Description

Method, apparatus, computer device and storage medium for adjusting encoder parameters
Technical Field
The present disclosure relates to the field of computer technology, and in particular, to a method, an apparatus, a computer device, and a storage medium for adjusting encoder parameters.
Background
Video coding refers to the way in which files in the original video format are converted into files in another video format by compression techniques. The most important codec standards in video streaming are h.264, h.265, AVS, etc.
For different practical application scenes, different video types (such as games, sports, variety and the like), the coding quality can be improved by adjusting video coding parameters under the condition that the coding speed is not changed greatly, or the coding speed can be improved under the condition that the coding quality is not changed greatly. However, for different scenarios, it is a difficult problem to adjust which parameters, and how to adjust them.
The existing parameter adjustment mode is usually implemented by adopting a mode of fully arranging and combining parameters, 4 code rate points are required to be tested for each parameter to calculate the coding quality under the parameter as one of evaluation indexes, and all test sequences under the scene are required to be subjected to traversal test, so that the whole parameter adjustment process has high calculation complexity and long time consumption.
Disclosure of Invention
In order to solve the technical problems, the application provides a method, a device, a computer device and a storage medium for adjusting encoder parameters.
The application provides a method for adjusting encoder parameters, comprising the following steps:
acquiring a default value set of an original encoder;
acquiring coding performances of a plurality of candidate encoders, wherein each candidate encoder corresponds to a candidate parameter set, the candidate parameter set comprises parameters to be adjusted, a parameter value of one parameter to be adjusted in each candidate parameter set is different from the default value corresponding to the parameter to be adjusted, and a parameter value updating sequence of each parameter value of the parameter to be adjusted and a parameter updating sequence of the parameter to be adjusted are determined according to the coding performances of the candidate encoders;
And determining the target value of each parameter to be regulated in sequence according to the parameter to be updated sequence of each parameter to be regulated and the parameter value to be updated sequence of each parameter value of each parameter to be regulated.
The application provides an apparatus for adjusting encoder parameters, comprising:
the default value acquisition module is used for acquiring a default value set of the original encoder;
the performance acquisition module is used for acquiring the coding performance of a plurality of candidate encoders, each candidate encoder corresponds to one candidate parameter set, the candidate parameter set comprises parameters to be adjusted, the parameter value of one parameter to be adjusted in each candidate parameter set is different from the default value corresponding to the parameter to be adjusted, and the parameter value updating sequence of each parameter value of the parameter to be adjusted and the parameter updating sequence of the parameter to be adjusted are determined according to the coding performance of the candidate encoder;
and the parameter value determining module is used for sequentially determining the target value of each parameter to be adjusted according to the parameter to be updated sequence of each parameter to be adjusted and the parameter value to be updated sequence of each parameter value of each parameter to be adjusted.
A computer device comprising a memory, a processor and a computer program stored on the memory and executable on the processor, the processor implementing the steps of the above method of adjusting encoder parameters when the computer program is executed.
A computer readable storage medium having stored thereon a computer program which when executed by a processor performs the steps of the above-described method of adjusting encoder parameters.
The above method, apparatus, computer device and storage medium for adjusting encoder parameters, the method comprising: acquiring a default value set of an original encoder; acquiring coding performances of a plurality of candidate encoders, wherein each candidate encoder corresponds to a candidate parameter set, the candidate parameter set comprises parameters to be adjusted, and a parameter value of one parameter to be adjusted in each candidate parameter set is different from the default value corresponding to the parameter to be adjusted, and a parameter value to be updated sequence of each parameter value of the parameter to be adjusted and a parameter to be updated sequence of the parameter to be adjusted are determined according to the coding performances of the candidate encoders; and determining the target value of each parameter to be regulated in sequence according to the parameter to be updated sequence of each parameter to be regulated and the parameter value to be updated sequence of each parameter value of each parameter to be regulated. And the parameter value of each parameter to be adjusted is determined one by one according to the order of the parameter to be updated and the order of the parameter value to be updated, so that the complexity of the parameter determination process is reduced.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the invention and together with the description, serve to explain the principles of the invention.
In order to more clearly illustrate the embodiments of the invention or the technical solutions of the prior art, the drawings which are used in the description of the embodiments or the prior art will be briefly described, and it will be obvious to a person skilled in the art that other drawings can be obtained from these drawings without inventive effort.
FIG. 1 is a diagram of an application environment for a method of adjusting encoder parameters in one embodiment;
FIG. 2 is a flow diagram of a method of adjusting encoder parameters in one embodiment;
FIG. 3 is a graph illustrating a code rate and speed profile in one embodiment;
FIG. 4 is a schematic diagram of RD curves in one embodiment;
FIG. 5 is a schematic diagram of RD curves in one embodiment;
FIG. 6 is a block diagram of an apparatus for adjusting encoder parameters in one embodiment;
fig. 7 is an internal structural diagram of a computer device in one embodiment.
Detailed Description
For the purposes of making the objects, technical solutions and advantages of the embodiments of the present application more clear, the technical solutions of the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application, and it is apparent that the described embodiments are some embodiments of the present application, but not all embodiments. All other embodiments, which can be made by one of ordinary skill in the art without undue burden from the present disclosure, are within the scope of the present application based on the embodiments herein.
FIG. 1 is a diagram of an application environment for a method of adjusting encoder parameters in one embodiment. Referring to fig. 1, the method of adjusting encoder parameters is applied to a system of adjusting encoder parameters. The system for adjusting encoder parameters includes a terminal 110 and a server 120. The terminal 110 and the server 120 are connected through a network. The terminal 110 may be a desktop terminal or a mobile terminal, and the mobile terminal may be at least one of a mobile phone, a tablet computer, a notebook computer, and the like. The server 120 may be implemented as a stand-alone server or as a server cluster composed of a plurality of servers.
In one embodiment, as shown in FIG. 2, a method of adjusting encoder parameters is provided. The present embodiment is mainly exemplified by the application of the method to the terminal 110 (or the server 120) in fig. 1. Referring to fig. 2, the method for adjusting encoder parameters specifically includes the following steps:
step S201, a default set of values of the original encoder is obtained.
Step S202, the coding performance of a plurality of candidate encoders is acquired.
In this embodiment, each candidate encoder corresponds to a candidate parameter set, where the candidate parameter set includes parameters to be adjusted, and a parameter value of one parameter to be adjusted in each candidate parameter set is different from the default value corresponding to the parameter to be adjusted, where a parameter value to be updated sequence of each parameter value of the parameter to be adjusted and a parameter to be updated sequence of the parameter to be adjusted are determined according to coding performance of the candidate encoder.
Step S203, determining the target value of each parameter to be adjusted in turn according to the parameter to be updated sequence of each parameter to be adjusted and the parameter value to be updated sequence of each parameter value of each parameter to be adjusted.
Specifically, the original encoder refers to an encoder corresponding to a default value. The candidate encoder is an encoder obtained by adjusting each parameter value of default parameters of the original encoder according to a control variable method. The set of candidate parameters corresponding to the candidate encoder is different from the parameter values corresponding to the default set of values. The default values of different encoders are different, and when the parameter adjustment process is executed on the encoder, parameter adjustment is executed on all or part of parameters of the encoder, wherein the parameters to be adjusted are parameters to be adjusted. The parameters to be adjusted can be customized according to the requirements, such as code rate, quantization parameter, speed gear, control mode and the like.
In one embodiment, the parameters to be adjusted are selected from all parameters of the encoder based on correlations between the parameters, etc. If the method can be used for selecting partial parameters from all the parameters as parameters to be adjusted according to the physical meaning of the parameters or parameter adjustment experience and combining corresponding scenes.
In one embodiment, the parameters which are not to be adjusted at all are removed by the elimination method, and all the remaining parameters are taken as parameters to be adjusted. Each parameter to be adjusted needs to be provided with an adjustable parameter value, and the range of the parameter value can be set according to the original value range of the parameter, a default value and the like.
The coding performance is used for comprehensively evaluating the coding quality and coding speed of the encoder, wherein the coding quality can be represented by BD-rate, BD-PSNR, etc. The coding performance is equal to the weighted sum of the coding quality and the coding speed ratio. The weighting coefficients of the encoding quality and the encoding speed can be customized according to the requirements, such as being defined as a fixed value, or the weighting coefficients of the corresponding speed gears can be determined according to the encoding data of different speed gears. The parameters to be adjusted are all or part of the candidate parameters. The parameter value to be updated is positively correlated with the coding performance corresponding to the parameter value, namely, the value of the coding performance is also large, the coding performance corresponding to each parameter value of the parameter to be adjusted is ordered from the size as the parameter value to be updated is more advanced, and the parameter value to be updated of each parameter value of the parameter to be adjusted is obtained. And similarly, sorting according to the maximum coding performance of the parameters to be regulated, and obtaining the parameter to be updated sequence of each parameter to be regulated. As parameters to be adjusted include A, B and C, and a=xi (i=1, 2.), m), b=yi (i=1, 2,., n), c=zi (i=1, 2,., k), and if the maximum coding performance of A > the maximum coding performance of B > the maximum coding performance of C, the A, B and the C parameter to be updated are sequentially a first bit, a second bit and a third bit. The sequence to be updated of the parameter values of B and C is the same as the sequence of the coding performance corresponding to the parameter values of the parameter, and the sequence is from big to small. And determining the target value of each parameter to be regulated in sequence according to the parameter to be updated sequence of the parameter to be regulated and the parameter value to be updated sequence of the parameter value of each parameter to be regulated. Setting the parameter value of the parameter to be regulated in the encoder as a target value, taking the encoder updated with the parameter to be regulated in the encoder as a reference encoder, sequentially updating the parameter values of the corresponding parameters in the reference encoder according to the parameter to be updated sequence of each parameter value in the parameter to be regulated, obtaining new encoders, calculating the coding performance of each new encoder relative to the reference encoder, determining the target value of the next parameter to be regulated in the new encoder according to the coding performance of each new encoder relative to the reference encoder, taking the new encoder with the determined target value of the next parameter to be regulated as the reference encoder, entering the determining process of the next parameter to be regulated until the target value of each parameter to be regulated is determined, and completing the parameter regulating process to obtain the target encoder.
In one embodiment, the writing performance of the reference encoder is obtained, and the parameter tuning is stopped when the coding performance of the reference encoder is greater than or equal to the target coding performance. The parameter tuning process is quickened by setting a target value of the coding performance to finish parameter tuning in advance, and the target coding performance can be determined according to requirements.
In one embodiment, after obtaining the maximum coding performance of each parameter to be adjusted, the parameters to be adjusted may be classified according to the maximum coding performance, for example, the parameter to be adjusted with the maximum coding performance being greater than or equal to a preset threshold is determined as the parameter to be adjusted, otherwise, the parameter to be adjusted with the maximum coding performance being smaller than the parameter to be adjusted is determined as the parameter not to be adjusted. The adjustable parameters are further reduced through the coding performance, and the parameter adjusting process is quickened.
In one embodiment, after obtaining the coding performance corresponding to each parameter value of each parameter to be adjusted, the method may further classify each parameter value of the parameter to be adjusted according to the coding performance of each parameter value of the parameter to be adjusted, and use the parameter value with the coding performance greater than or equal to the preset performance value as the parameter value to be adjusted, otherwise, use the parameter value as the parameter value not to be adjusted. The adjustable parameter values are further reduced according to the coding performance, so that the parameter adjustment process is quickened.
In one embodiment, step S203 includes:
step S2031, obtaining the current parameters to be adjusted according to the order of the parameters to be updated, and obtaining the parameter values of the current parameters to be adjusted according to the order of the parameter values to be updated.
Specifically, according to the parameter to-be-updated sequence of each parameter to be adjusted, determining the current parameter to be adjusted, and if the current parameter to be adjusted is obtained for the first time, the maximum coding performance corresponding to the current parameter to be adjusted is the maximum value in the maximum coding performance of each parameter to be adjusted. And similarly, determining the current parameter value of the current parameter to be adjusted according to the parameter value updating sequence of each parameter value of each parameter to be adjusted. And the corresponding parameters to be adjusted and the corresponding parameter values are sequentially obtained according to the sequence to be updated of the sequence parameters and the sequence to be updated of the parameter values.
In step S2032, the encoding performance of the plurality of current encoders with respect to the last target encoder is acquired.
In this embodiment, the last target encoder is an encoder obtained by modifying a default value in the original encoder to a target value of an adjusted parameter, the adjusted parameter is a parameter whose parameter to be updated is located before a current parameter to be adjusted, and the current encoder replaces a parameter value corresponding to the last target encoder with each parameter value of the current parameter to be adjusted.
Step S2033, determining a target value of the current parameter to be adjusted according to the encoding performance of the current encoders relative to the previous target encoder, and setting the parameter value of the current parameter to be adjusted in the current encoder as the target value to obtain the current target encoder.
Step S2034, taking the current target encoder as the last target encoder, entering to obtain the current parameters to be adjusted according to the order of parameters to be updated, and obtaining the parameter values of the current parameters to be adjusted according to the order of parameter values to be updated until the target value of each parameter to be adjusted is determined.
Specifically, the last target encoder may be an original encoder or an encoder after performing parameter update on the original encoder, when the original encoder of the last target encoder indicates that the current parameter to be adjusted is the first parameter to be adjusted, the encoder corresponding to each parameter value of the first parameter to be adjusted has been determined with respect to the encoding performance of the original encoder, and then the target value of the first parameter to be adjusted is the parameter value corresponding to the maximum encoding performance of the first parameter to be adjusted. Otherwise, when the last target encoder is not the original encoder, the last target encoder is used as a reference encoder, and the last target encoder is sequentially updated according to the parameter value updating sequence of the parameter values of the current parameters to be adjusted, so as to obtain the current encoder corresponding to each parameter value. And performing coding by adopting the coder corresponding to each parameter value to obtain a coding result corresponding to each parameter value, calculating to obtain the coding performance of each parameter value according to the coding result of the current coder and the coding result of the reference coder of each parameter value, screening out the parameter value corresponding to the maximum coding performance from the coding performance of each parameter value, and taking the parameter value as the target value of the current parameter to be regulated.
And modifying the parameter value of the current parameter to be regulated in the previous target encoder into a target parameter value to obtain the current target encoder, taking the current target encoder as the previous target encoder, acquiring the next parameter to be regulated, taking the next parameter to be regulated as the current parameter to be regulated, and repeating the process until the target value of each parameter to be regulated is determined, thereby completing parameter regulation.
In one embodiment, the maximum coding performance of the current parameters to be adjusted is obtained according to the order in which the parameters are to be updated; when the coding performance of the current parameters to be adjusted is greater than or equal to a first threshold value, acquiring the current parameters to be adjusted according to the sequence of the parameters to be updated; and when the coding performance of the current parameter to be regulated is smaller than a first threshold value, setting the default value of the current parameter to be regulated as the target value of the current parameter to be regulated.
Specifically, the first threshold is a preset critical value, and is greater than or equal to the critical value, the current parameter to be adjusted is continuously updated, and if the current parameter to be adjusted is smaller than the critical value, the parameter adjustment process is stopped. Wherein the first threshold may be determined based on traffic demand or the encoder. If the first threshold is set to 0 or any other value, setting the first threshold to 0 indicates that adjusting the parameter has no improving effect, or negative effect, on the performance of the encoder. So the default value of the parameter to be adjusted is adopted as the target value. On the contrary, a target value needs to be determined from the parameter values of the parameters to be adjusted.
In one embodiment, according to the sequence in which parameter values are to be updated, the coding performance of each parameter value of the current parameter to be adjusted is obtained; when the coding performance of the current parameter value of the current parameter to be adjusted is greater than or equal to a second threshold value, executing to acquire the current parameter value of the current parameter to be adjusted according to the parameter value to be updated sequence; and stopping obtaining the current parameter value of the current parameter to be regulated when the coding performance of the current parameter value of the current parameter to be regulated is smaller than a second threshold value.
Specifically, the second threshold is a preset critical value, and is greater than or equal to the critical value, the current parameter value of the current parameter to be adjusted is continuously updated, and if the current parameter value is smaller than the critical value, the parameter adjusting process of the current parameter to be adjusted is stopped. Wherein the second threshold may be determined according to traffic requirements or an encoder. If the first threshold is set to 0 or any other value, setting the first threshold to 0 indicates that the parameter value that adjusts the parameter has no improving effect, or negative effect, on the performance of the encoder. So the default value of the parameter to be adjusted is adopted as the target value. Otherwise, the parameter adjusting process of the current parameter value in the parameters to be adjusted needs to be continuously executed until the target value of the parameters to be adjusted is determined.
In one embodiment, the encoding result of the last target encoder is obtained; obtaining the coding result of each current coder; and respectively calculating the coding performance according to the coding result of the last target coder and the coding result of each current coder to obtain the coding performance of each current coder.
Specifically, the coding result refers to a coding result obtained after the test sequence is coded, and the coding result comprises a code rate, distortion, a coding speed and the like. According to the code rate and the distortion, a code rate distortion curve can be drawn, and according to the code rate distortion curves of different encoders, the coding quality of the encoder can be calculated, wherein the coding quality refers to the coding quality of each current encoder by taking one of the encoders as a reference, namely the last target encoder as a reference, and the coding speed of the last target encoder as a reference. And determining the coding performance of each current coder according to the self-defined coding performance calculation mode. Such as weighting based on the speed ratio and the coding quality of the same current encoder, or directly taking the coding quality or speed ratio as the coding performance.
In one embodiment, according to the encoding result of the last target encoder and the encoding result of each current encoder, the encoding quality of each current encoder is calculated, and the speed ratio of each current encoder is calculated; and calculating the coding quality of each current coder and the weighting value of the corresponding speed ratio of the current coder to obtain the coding performance of each current coder.
Specifically, a weighted sum of the speed ratio and the coding quality of the same current encoder is calculated to obtain the coding performance of the current encoder. The weighting coefficients of the speed ratio and the encoding quality can be customized according to the requirements, such as being defined as fixed parameters, or corresponding weighting coefficients can be determined according to the speed profile of each encoder. The coding quality can be measured by using the indexes such as BD-rate and BD-PSNR for measuring quality.
In a specific embodiment, the weighting coefficients of the coding performance include: selecting any one preset speed gear from a plurality of preset speed gears of each speed gear of a reference encoder (the reference encoder is an original encoder or a last target encoder) as a reference gear; according to the coding result of the reference coder corresponding to the reference file, calculating BD-rate and corresponding speed ratio of other preset speed files relative to the reference file; drawing a code rate speed curve according to BD-rate and corresponding speed ratios of each preset speed gear relative to a reference gear; and determining the weighting coefficient of each preset speed file according to the corresponding slope of each preset speed file in the code rate speed curve.
In one embodiment, the weighting coefficient of the preset speed profile is used as the weighting coefficient of the BD-rate, and the coding performance corresponding to each preset speed profile is calculated according to the weighting coefficient, the BD-rate and the speed ratio of the BD-rate of each preset speed profile.
Specifically, the reference gear may be any one of preset speed gears, such as selecting the slowest or fastest speed gear as the reference gear. And taking the coding result corresponding to the reference file of the original coder as a reference coding result, and calculating BD-rate and speed ratio of the coding result of the preset speed file except the reference file relative to the coding result of the original coder. The speed improvement and the code rate saving are calculated according to the coding result of the reference coder and the coding result of the preset speed gear, a code rate speed curve is drawn according to the speed improvement and the code rate saving, the transverse axis of the code rate speed curve corresponds to the code rate increase percentage, and the vertical axis is the speed improvement percentage. And calculating a weighting coefficient corresponding to each preset speed gear according to the code rate speed curve. The weighting coefficient may be customized, for example, may be defined as a gradient of a connection between a preset speed gear and a preset speed gear adjacent to or spaced apart from each other by a preset number, may be a weighting value of a gradient of a connection between a preset speed gear and two adjacent preset speed gears, or may be a weighting value of a gradient of a connection between a part of preset speed gears and two adjacent preset speed gears, and a weighting coefficient of a part of preset speed gears is a gradient of a connection between adjacent preset speed gears. And taking the weighted coefficient of the preset speed file as the weighted coefficient of the BD-rate of the preset speed file, and calculating the corresponding coding performance of the preset speed file according to the weighted coefficient of the BD-rate of the preset speed file, the BD-rate of the preset speed file and the speed ratio of the preset speed file, so as to obtain the coding performance of each preset speed file by calculation. By adopting the slope of each encoder in the preset speed range, the proper weighting coefficient of each encoder in the preset speed range can be set in a targeted manner according to the original performance of the encoder. Thereby optimizing the encoder more accurately. The weighting coefficients of different encoders are different, and the slope is more accurate than the slope obtained by using an empirical value, because the slope is a value calculated according to actual encoded data, the empirical value is generally a statistical value, and the pertinence of the slope is stronger.
In one embodiment, determining the weighting coefficient of the preset speed profile according to the corresponding slope of each preset speed profile in the code rate speed profile includes: if the current preset speed gear is positioned at two ends of the code rate speed curve, taking the slope between the current preset speed gear and the adjacent preset speed gear as a weighting coefficient corresponding to the current preset speed gear; if the current preset speed gear is positioned in the middle of the code rate speed curve, calculating the slope between the current preset speed gear and the adjacent two preset speed gears respectively, and calculating the weighted value of the slope between the current preset speed gear and the adjacent two preset speed gears to obtain the weighted coefficient corresponding to the current preset speed gear.
Specifically, the preset speed files positioned in the middle of the code rate speed curve comprise two adjacent preset speed files, and the weighted value of the slope of the connecting line between the preset speed files and the adjacent two preset speed files is adopted as the corresponding slope of the preset speed files, namely the weighted coefficient of the preset speed files. And the preset speed gear positioned in the middle of the code rate speed curve, wherein the adjacent preset speed gears only comprise one, and the gradient of a connecting line between the preset speed gear and the preset speed gear which is only adjacent to the preset speed gear is adopted as the weighting coefficient corresponding to the preset speed gear.
In one embodiment, classifying a plurality of preset speed files to obtain a plurality of categories, wherein each category comprises at least one preset speed file, and each category corresponds to a preset weighting coefficient; and obtaining a preset weighting coefficient of each preset speed gear according to the category of each preset speed gear.
In this embodiment, the preset weighting coefficient of each preset speed is used as the weighting coefficient of the BD-rate of the preset speed, and the coding performance corresponding to each preset speed is calculated according to the BD-rate weighting coefficient of each preset speed, the BD-rate of the preset speed and the speed ratio of the preset speed.
Specifically, the preset speed gears are classified to obtain a plurality of categories, each category may include one or more preset speed gears, and the preset speed gears included in each category may be corresponding or different. The number of the divided categories and the number of the preset speed files corresponding to each category can be customized. If the encoder contains nine preset speed gears in total, three categories can be obtained by dividing the encoder equally, each category contains three preset speed gears, and the encoder can also be divided into first two categories, middle five categories and second two categories which correspond to one category respectively. It may be divided into two or four types. The preset weighting coefficients corresponding to each category are the same, and the preset weighting coefficient corresponding to each category is an empirical value. The empirical values are generally summarized by technicians after multiple experiments, and can better represent each category, so that the coding performance of each preset speed gear can be accurately calculated.
In one embodiment, the preset speed gear includes nine gears, and classifying the plurality of preset speed gears to obtain a plurality of categories includes: dividing a plurality of preset speed gears from slow speed to fast speed to obtain three categories, wherein each category comprises three preset speed gears of gears.
Specifically, the preset speed file in the encoder comprises nine files, and the three types are obtained by carrying out average division according to the speed file from slow to fast, wherein the preset weighting coefficients corresponding to each type are different. The faster the speed represented by the speed gear, the smaller the corresponding preset weighting coefficient.
In one embodiment, the three types in the gear classification module are a first type, a second type and a third type, respectively, the first type is faster than the second type in speed gear, the second type is faster than the third type in speed gear, the preset weighting coefficient corresponding to the third type is greater than the preset weighting coefficient corresponding to the second type, and the preset weighting coefficient corresponding to the second type is greater than the preset weighting coefficient corresponding to the first type.
In a specific embodiment, the encoding performance calculation of the encoder includes:
test reference encoder reference data (Anchor data):
testing the coding results (including coding quality and coding speed) of a reference coder at a plurality of code rate points (usually 4 commonly used code rate points) under each preset (preset speed gear) as Anchor data; the Anchor data is used as reference data for a new encoder (current encoder). Wherein the new encoder is an encoder obtained by adding parameter adjustment to the original encoder. Preset includes 9 gears, very slow (displabo), very slow (veryslow), slow (slow), medium speed (medium), fast (fast), very fast (veryfast), and very fast (superfast).
Calculating the weighting coefficients at each preset:
the weighting factor refers to the weighting factor for the BD-rate or speed ratio at the time of calculating the coding performance for each preset. Where coding performance=λ× (-bd_rate) + (speed ratio-100), or coding performance= (-bd_rate) +λ (speed ratio-100), where λ is a weighting coefficient. The lambda may be calculated using a fixed set of empirical values instead, such as lambda=5 when the preset is faster than fast, lambda=20 when the preset is slower than slow, and lambda=10 when the preset is between fast and slow. Or the corresponding slope of each preset may be determined, for example, the encoding result under a certain preset of the original encoder is selected as an Anchor '(the Anchor' is different from the Anchor herein, and is used as a reference of a new encoder, and the encoding results of all presets are included), the Anchor 'is used as a reference of a different preset of the same encoder, and only refers to the encoding result of a certain preset), the encoding result under each different preset is compared with the Anchor' to obtain a BD-rate and a coding speed ratio, and a speed-code rate diagram of a reference encoder is drawn, and the slope of each preset point is calculated as lambda of each preset, as shown in fig. 3.
A speed-code rate diagram of the encoder is shown in fig. 3. There are 9 different speed steps preset (from the slowest speed to the fastest speed) on the abscissa, the code rate increase (BD-rate) in% and the speed increase on the ordinate in times.
Fig. 3 calculates BD-rate and speed ratio of each preset relative to the displabo with a speed gear "displabo" as an anchor', for example, "fast" is improved by about 60 times relative to the displabo encoding speed, and the code rate is increased by about 28%. The slope at the fast point is calculated as the average value of the slopes of the two sections of connecting lines of medium-fast and fast-fast, and the average value is about 2.1. The lambda value calculations at the other points are similar, and the slopes of "placebo" and "superfast" at the two endpoints are the slope of the line connecting the placebo to the veryslow segment and the slope of the line connecting the veryfast to the superfast segment, respectively. The corresponding lambda values for each of the specific preset in fig. 3 are shown in table 1:
table 1 shows the lambda values corresponding to preset
Figure BDA0002807595380000111
Generally, as the encoder is optimized deeper, the slope of the velocity-code rate map is also higher, and the lambda value is also larger. The encoder thus continuously optimizes the process and continuously updates the speed-code rate map.
Testing the coding result of the new coder:
after the original encoder parameters are optimized, the new encoder is called, and the encoding result of the new encoder under each preset and the Anchor under other settings are tested. If the parameter tuning is performed, the parameters are consistent with the Anchor except the tuned parameters when testing the new encoder.
BD-rate and speed ratio were calculated:
The BD-rate and speed ratio of the new encoder at each preset is calculated by comparing the new encoding result with the Anchor.
Calculating coding performance:
from the calculated BD-rate and speed ratio at each preset, a new coding performance at each preset is calculated by the following formula coding performance = λ× (-bd_rate) + (speed ratio-100).
The BD-rate and speed ratio units are, the range of coding performance is (- +. ++ infinity A kind of electronic device.
For example, assuming that when a certain encoder is preset fast=10, it is newly added with a fast algorithm, the BD-rate of the encoder is 4.35% (the code rate is 4.35% greater under the same distortion), and the speed ratio is 122% (the speed is 1.22 times that of the encoder), the encoding performance is 10× (-4.35) + (122-100) = -21.5.
In one embodiment, for the formula: coding performance = λ× (-bd_rate) + (speed ratio-100), yielding: coding performance = (-bd_rate) +λ '(speed ratio-100), where λ' is the reciprocal of λ.
A threshold T (e.g., an empirical value of t=0) may be typically set, and if the coding performance > T, the coding performance after the tuning is considered to be improved, otherwise, the coding performance is indicated to be reduced. With the calculated coding performance, the coding tool can be quantitatively evaluated at each preset, guiding the decision of which preset is suitable for using the new coding parameters.
In one embodiment, calculating the encoding quality includes: obtaining a first curve by obtaining a code rate distortion curve of a reference encoder (original encoder/last target encoder), obtaining a second curve by obtaining a code rate distortion curve of a target encoder (current encoder), respectively obtaining values corresponding to current coding parameters from the first curve and the second curve, obtaining a determined curve interval, and calculating the coding quality corresponding to the current coding parameters of the current encoder according to the curve interval, the first curve and the second curve.
In particular, a curve interval refers to an interval that is composed of values of the current encoding parameter on the first curve and the second curve. If the current encoding parameter is qp=32, the corresponding value of qp=32 on the first curve is 42.39, and the corresponding value on the second curve is 41.60, the curve interval is [41.60, 42.39], where the curve interval can be adjusted according to the requirement, that is, the interval is adjusted according to the preset adjustment mode for adjusting the curve interval, such as expanding/shrinking the curve interval. The selection of whether to expand or contract the curve segment may be defined according to requirements.
The encoding quality is a value corresponding to the BD-rate, or a value corresponding to the BD-PSNR. The BD-rate is used for measuring an index of the coding quality of 2 encoders, and the physical meaning is the relative code rate difference value of the target encoder relative to the reference encoder under the same distortion. A BD-rate of less than 0 indicates that the encoder to be tested is better in quality than the anchor, and a larger negative value indicates better quality, i.e. more code rate is saved for the same distortion. BD-PSNR means the PSNR difference at the same code rate, and BD-PSNR greater than 0 means that the coding quality of the encoder to be tested is better, i.e. PSNR (Peak Signal to Noise Ratio ) at the same code rate is higher.
In one embodiment, before obtaining the code rate distortion curve of the reference encoder to obtain the first curve, the method further includes: acquiring a plurality of coding parameters, wherein the current coding parameter is any one coding parameter of the plurality of coding parameters; acquiring a first coding quality parameter corresponding to each coding parameter, wherein the first coding quality parameter is a quality parameter obtained when a reference encoder and the coding parameters are adopted to execute coding; and generating a first curve according to each coding parameter and the corresponding first coding quality parameter.
Specifically, when each coding parameter performs coding, a corresponding coding result can be obtained, the coding result comprises a code rate and distortion, a code rate distortion curve is drawn according to the code rate and the distortion, namely, the first coding quality parameter and the coding parameter are adopted to draw the code rate distortion curve, and a first curve is obtained.
In one embodiment, after obtaining the plurality of encoding parameters, further comprising: and acquiring a second coding quality parameter corresponding to each coding parameter, wherein the second coding quality parameter is a quality parameter obtained when a target encoder and the coding parameters are adopted to execute coding, and generating a second curve according to each coding parameter and the corresponding second coding quality parameter.
Specifically, the first curve and the second curve are generated in the same step. The second curve is a curve generated from the encoding quality parameter obtained after encoding is performed according to the target encoder and the encoding parameter. The encoding quality parameters of the target encoder are directly adopted to generate a curve, the data used in the subsequent quality evaluation process is more accurate, and the obtained evaluation result is more accurate.
In one embodiment, after obtaining the first coding quality parameter corresponding to each coding parameter, the method further includes: acquiring a current coding quality parameter corresponding to the current coding parameter, wherein the current coding quality parameter is a quality parameter obtained when a target encoder and the current coding parameter are adopted to execute coding; replacing the coding quality parameters corresponding to the current coding parameters in the first coding quality parameters by the current coding quality parameters corresponding to the current coding parameters to obtain second coding quality parameters corresponding to each coding parameter; and generating a second curve according to each coding parameter and the corresponding second coding quality parameter.
Specifically, for the coding quality parameter corresponding to the current coding parameter, that is, the current coding quality parameter, the coding quality parameter obtained by performing the coding using the target encoder is used. The coding quality parameters of the residual coding parameters are directly used as the data of the reference coder. And replacing the coding quality parameters corresponding to the current coding parameters in the first coding quality parameters by adopting the current coding quality parameters to obtain second coding quality parameters corresponding to each coding parameter, and generating a second curve by adopting each coding parameter and the corresponding second coding quality parameters. The method can save the coding process of the coding data of the non-test coding parameters, thereby saving the whole coding process.
In one embodiment, the curve section includes a first threshold and a second threshold, where the first threshold is smaller than the second threshold, and a value corresponding to a current coding parameter in the first curve is obtained to obtain a first reference value; obtaining a value corresponding to the current coding parameter in a second curve to obtain a second reference value; taking the minimum value of the first reference value and the second reference value as a first threshold value; and taking the minimum value of the first reference value and the second reference value as a second threshold value.
Specifically, the first threshold and the second threshold are respectively a lower limit value and an upper limit value in the curve section, the lower limit value and the upper limit value are respectively determined according to a minimum value and a maximum value in two reference values corresponding to the current parameter, and if the minimum value in the first reference value and the minimum value in the second reference value are directly used as the first threshold, the maximum value is used as the second threshold.
In one embodiment, the first threshold is adjusted according to a first preset mode to obtain a first adjustment threshold, the second threshold is adjusted according to a second preset mode to obtain a second adjustment threshold, and the thresholds of the curve sections are the first adjustment threshold and the second adjustment threshold respectively.
Specifically, the first preset manner and the second preset manner are predetermined manners for adjusting the threshold value. The first preset mode and the second preset mode are a group of corresponding adjusting modes. If the first preset mode is to decrease the value of the first threshold value, the second preset mode is to increase the value of the second threshold value, and the interval span of the whole curve interval is increased by decreasing the value of the first threshold value and increasing the value of the second threshold value. Or the first threshold value is increased through a first preset mode, and the second threshold value is smaller through a second preset mode, so that the span of the whole curve section becomes smaller. The span of the curve section is selected to be increased or decreased, the span can be determined according to actual conditions, if the span is large, the span is decreased, otherwise, the span of the section is increased.
In a specific embodiment, when determining the distortion interval (curve interval), the lower limit is equal to the smaller value of (D1, D2) minus 0.5 or multiplied by 0.99, and the upper limit is equal to the larger value of (D1, D2) plus 0.5 or multiplied by 1.11, etc., and the curve interval is increased in the above manner.
In a specific embodiment, the encoder evaluation method includes:
for the current coding parameter (target QP or target code rate), one or more QP/code rate points are respectively extended upwards and downwards by taking the target QP/code rate point as the center, and the specific extension mode can be customized. For example, when extending up and down by one point, the QP is typically increased by 6, decreased by 6, the code rate is multiplied by 2, divided by 2, etc.
Two RD curves were obtained by point-encoding with 2 encoders (reference encoder and target encoder) at multiple QP/rate points, respectively. If the calculation amount needs to be saved, only the encoding results of a plurality of QP/code rate points of the anchor (reference encoder) can be tested to draw an RD curve of the anchor, then only the encoding results of the encoder to be tested under the target QP/code rate are tested, and the RD point of the target QP in the RD curve of the anchor is replaced to obtain the RD curve of the encoder to be tested (target encoder).
And obtaining distortion values D1 and D2 of the 2 encoders at a specific QP/code rate point, determining a distortion interval of the QP/code rate point by the D1 and the D2, wherein the lower limit of the interval is a smaller value in (D1, D2), the upper limit of the interval is a larger value in (D1, D2), and calculating BD-rates and/or BD-PSNR of two RD curves in the distortion interval.
And similarly, acquiring code rates R1 and R2 of 2 encoders at a specific QP/code rate point, determining a code rate interval of the QP/code rate point, and calculating BD-rates and/or BD-PSNR of two RD curves in the code rate interval.
In a specific embodiment, two encoders are shown as 2 RD curves at 3 QP points (26/32/38) in FIG. 4. Anchor corresponds to data of [39.68, 42.39, 45.33]The encoder to be tested corresponds to data of [38.34, 41.60, 44.40]. To calculate the BD-rate of two encoders at qp=32, the distortion interval (curve interval) of 2 encoders at qp=32 is taken to be [41.60, 42.39]Only BD-rates within 2 RD curve distortion intervals are calculated, i.e. the coding quality at qp=32 is BD-rate qp32 =-22.34%。
If needed saveAnd after the calculated amount is calculated, the encoding results of a plurality of QPs of the anchor are tested to obtain the RD curve of the anchor, only the encoding results of the QP=32 of the encoder to be tested are tested, the encoding results of QP=26 and 38 are directly used by the anchor at the QP=26 and 38, the RD curve of the encoder to be tested is obtained, and the two RD curves are shown in figure 5.Anchor corresponds to data of [39.68, 42.39, 45.33]The encoder to be tested corresponds to data of [39.68, 41.60, 45.33]. Likewise take 2 encoders to have a distortion interval at QP32 of [41.60, 42.39 ]Only the BD-rate 'of 2 RD curves in the section of the section is calculated as the encoding quality at the QP32 is calculated as BD-rate' qp32 -23.74%. Under the condition of saving the calculated amount, the calculated BD-rate is not greatly different from the result under the complete calculated amount, but the calculation process of distortion values corresponding to other QPs of the encoder to be measured can be effectively saved.
In one embodiment, before step S202, the method further includes: acquiring a plurality of target test sequences corresponding to a scene; performing coding on each target test sequence by adopting an original coder to obtain a target coding result; each candidate encoder is adopted to execute encoding on each target test sequence, and a target encoding result of each candidate encoder is obtained; according to the target coding result corresponding to the current test sequence of the scene and the target coding result of each candidate coder of the current test sequence of the scene, calculating to obtain the target coding performance of each candidate coder of the current test sequence of the scene; and calculating the weighted average of the target coding performance of each candidate encoder of the plurality of test sequences of the scene to obtain the coding performance of each candidate encoder.
Specifically, the scenes can be customized according to requirements, such as defining the scenes as game scenes, variety scenes, sports scenes, education scenes and the like, and can be divided according to a horizontal screen and a vertical screen. The target test sequence is obtained by screening a plurality of original test sequences corresponding to the scene. When the test sequences corresponding to the scenes are screened, screening can be performed according to the characteristics of the video, such as quality, resolution, time domain, space domain and the like, the similar sequences are removed through characteristic screening, and the sequences with larger differences are reserved. The target test sequence may include all of the original test sequences in the scene, or may include only a part of the original test sequences. And performing coding on each original sequence through an original coder to obtain a corresponding coding result. The coding result includes coding quality and coding speed, the coding quality includes code rate and distortion. And performing coding on each target test sequence by adopting each candidate coder to obtain a coding result of each candidate coder. And calculating the target coding performance of each candidate coder of the same original test sequence according to the coding result and the target coding result of each candidate coder of the same test sequence. And calculating an average value of target coding performance of each candidate encoder of a plurality of target test sequences of the scene, and taking the average value as the coding performance of the candidate encoder. If the original test sequence corresponding to the scene A comprises 5, in the scene A, according to 5 target coding performances of the same candidate coding for executing coding on the 5 original test sequences, calculating a weighted average of 5 target coding performances of the same candidate coder to obtain a performance average of the candidate coder, and taking the performance average of the candidate coder as the coding performance. The weighting coefficients may be the same or different.
In one embodiment, a plurality of original test sequences corresponding to a scene are acquired; acquiring parameters of each original test sequence; and screening a plurality of target test sequences from the plurality of original test sequences according to the parameters of each original test sequence.
Specifically, the parameters of the original test sequences include the characteristics of the test sequences such as video quality, resolution, time domain, space domain and the like, so that the similarity is calculated according to the parameters between the original test sequences, and the target test sequence is determined according to the similarity. And a part of sequences reserved in the original test sequences with high similarity are used as target test sequences. If the similarity is higher than the original test sequence with the preset similarity threshold value, only one sequence is reserved as the target test sequence. Through screening the sequences, the sequences with larger differences are found out, so that the encoder after parameter adjustment can adapt to different situations of the same scene.
In a specific embodiment, the method for adjusting encoder parameters includes:
screening a modulation reference sequence:
and selecting all sequences corresponding to the scene in the universal test sequence as scene sequences according to the application scene. And then further screening the scene sequence, removing the similar sequence according to the characteristics of the quality, resolution, space domain, time domain complexity and the like of the video, and reserving the sequence differentiated in each dimension, wherein the screened video is used as a parameter adjusting sequence so as to improve parameter adjusting efficiency.
Using default parameter coding to obtain an anchor:
and determining default parameters (comprising preset speed grade, code control mode and the like) according to the use scenes of actual demands, and performing coding test on all scene sequences, wherein a plurality of code rate points (comprising default code rate points) are required to be coded during the test, so as to obtain the RD curve of each sequence in a section of code rate interval. And taking the coding result of each sequence under default parameters, including coding quality and coding speed, as an anchor, namely the coding performance before parameter adjustment.
It should be noted that, in general, the rate control manner and specific values are also fixed with the actual scenario. If the rate control is CBR and the default rate is assumed to be 500kbps, the multiple rate points tested may be 250kbps, 500kbps and 1000kbps. If the code control mode is CRF and the default value is assumed to be 28, the multiple code rate points tested may be 24, 28 and 32.
Determining parameters and candidate values to be adjusted:
the parameters of the encoder can be tens or hundreds, and partial parameters can be screened out from all the parameters as parameters to be adjusted according to the physical meaning of the parameters or parameter adjustment experience and combining with corresponding scenes. If it is impossible to determine which parameters are necessary parameters, the parameters which are not to be adjusted at all can be removed by a removal method, and all the remaining parameters can be adjusted. Meanwhile, for each parameter (parameter to be adjusted) to be adjusted, an adjustable candidate value (parameter value corresponding to the parameter to be adjusted) is required to be set, and the range of the candidate value can be set according to the value range interval and the default value of the parameter.
Testing the coding result of each candidate value of each parameter:
let us assume that a total of N parameters (P 1 ,P 2 ,...,P N ) Wherein the ith parameter has M candidate values (P i 1 ,P i 2 ,...,P i M ) And (3) using a control variable method, changing the value of only one parameter at a time, and sequentially testing the coding performance of all candidate values of all parameters in all modulation sequences. For the ith parameter, P will be i Successively set as P i 1 ,P i 2 ,...,P i M And keeping all other parameters at default values to obtain a coding result. (in the parameter tuning stage, the code rate point only needs to test the default value).
And combining the encoding result after each sequence parameter adjustment with the anchor data to obtain the BD-rate and the speed ratio of each candidate value of each parameter. Table 2 below shows the parameter values of a certain parameter and the parameter values of a certain candidate parameter. When calculating the BD-rate, the anchor data has three groups of data of code rate points (CRF=24/28/32), while the data of the parameter is actually only data of one code rate point (CRF=28 by default), the data of the other two points are complemented by the anchor data, and the local BD-rate is calculated by the 6 groups of data together.
BD-rate=cal_bdrate([(9982,45.9),(5793,44.0),(3171,42.3)],
[(9982,45.9),(4958,43.5),(3171,42.3)])
=4.35
The speed ratio is calculated by dividing the coding speed of the default code rate point in the parameter adjustment data by the speed of the same code rate point in the anchor (in%). A speed ratio greater than 100 indicates that the speed after the parameter adjustment becomes faster, and the larger the value of the speed ratio, the better.
Figure BDA0002807595380000181
Table 2 shows the parameter values and the parameter tuning results of one candidate value of the parameter
Figure BDA0002807595380000182
The results in table 2 show that the BD-rate is lost by 4.35% compared to the anchor, i.e., the code rate is increased by 4.35% for the same distortion, but the encoding speed is increased by 122% compared to the anchor.
After the BD-rate and the speed ratio of each candidate value of each parameter in each sequence are calculated, the arithmetic average value of BD-rates and the geometric average value of speed ratios of the candidate values in all the modulation sequences are obtained.
Calculating parameter performance and sequencing:
under different parameter settings, it may happen that the BD-rate is better but slower, or that the BD-rate is worse but faster, and it may also happen that both are better or worse, so we need a comprehensive index to measure the coding performance of each parameter candidate. Coding performance = λ× (-bd_rate) + (speed ratio-100).
Where λ=10, then the coding performance corresponding to table 2 in step 4 is-21.5:
coding performance = 10× (-4.35) + (122-100) = -21.5
For each parameter, the "coding performance" is calculated using the average of the BD-rates and the speed ratios of all candidates for that parameter, and all candidates for the same parameter are ranked using that performance. The performance of each parameter ranking the first candidate is then taken as the parameter performance for that parameter, and all test parameters are ranked by performance.
The following are illustrated: let us assume that we need to adjust N parameters in total (P 1 ,P 2 ,...,P N ) Wherein the ith parameter has M candidate values (P i 1 ,P i 2 ,...,P i M ). We first calculate the performance of each candidate value for each parameter:
Figure BDA0002807595380000191
for the ith parameter, ranking all candidate value performances to obtain
Figure BDA0002807595380000192
The candidate value sequence of the corresponding i-th parameter is as follows: />
Figure BDA0002807595380000193
Subsequently let the performance of each parameter equal to the performance of the candidate value for which the parameter is ranked first, i.e +.>
Figure BDA0002807595380000194
Finally, all parameter performance is sequenced to obtain X k1 >X k2 >…>X kN The corresponding parameter row names are: p (P) k1 ,P k2 ,…,P kN
Parameter combination test:
considering the coupling between coding parameters, the first candidate value of each parameter ranking cannot be directly set as the optimal parameter adjustment result, and the test needs to be adjusted together by multi-parameter combination.
And eliminating all parameters with negative parameter performance. Assuming that N parameters remain, ranking each parameter to the first candidate value
Figure BDA0002807595380000195
Subscript indicates parameter ordering, and superscript indicates candidate value ordering of each parameter) is set as a new default value and is coded, and a plurality of code rate points are coded to obtain a new anchor.
Then from the first ranked parameter P 1 Initially, the first M candidates with coding performance greater than zero are selected, keeping the other new default parameters unchanged (P 1 2 ,P 1 3 ,...,P 1 M ) Replacement P 1 1 And testing the coding quality and speed under a single code rate, and calculating the performance of each candidate value by combining the result of the new anchor. Will P 1 1 ,P 1 2 ,...,P 1 M The best value of the performance is determined as parameter P 1 Final tuning parameters of (a). Determine P 1 After the optimum value of (2), fixing it, and updating the anchor with the optimum result, then sequentially performing the following stepsP 2 ,P 3 ,...,P N And the same operation is carried out to obtain the final tuning parameters.
The whole scheme optimizes the number of the parameter-adjusting slave parameter-adjusting sequences, parameter-adjusting combination modes, frequency, code rate points to be tested and the like, and any process can also achieve the purpose without changing the traditional mode. And screening the parameter adjusting sequences, further only preserving one sequence for parameter adjustment, and verifying the optimization effect under the rest sequences after parameter adjustment is finished. When the anchor is obtained by default parameters, testing a plurality of code rate points to obtain an RD curve, wherein the number of the code rate points to be tested is more than or equal to 2, and the default values are covered. The BD-rate may be calculated using PSNR as an index of distortion, or using SSIM, VMAF, or other indexes.
FIG. 2 is a flow chart of a method of adjusting encoder parameters in one embodiment. It should be understood that, although the steps in the flowchart of fig. 2 are shown in sequence as indicated by the arrows, the steps are not necessarily performed in sequence as indicated by the arrows. The steps are not strictly limited to the order of execution unless explicitly recited herein, and the steps may be executed in other orders. Moreover, at least some of the steps in fig. 2 may include multiple sub-steps or stages that are not necessarily performed at the same time, but may be performed at different times, nor do the order in which the sub-steps or stages are performed necessarily performed in sequence, but may be performed alternately or alternately with at least a portion of the sub-steps or stages of other steps or other steps.
In one embodiment, as shown in FIG. 6, an apparatus 300 for adjusting encoder parameters is provided, comprising:
a default value obtaining module 301, configured to obtain a default value set of an original encoder;
the performance obtaining module 302 is configured to obtain encoding performance of a plurality of candidate encoders, where each candidate encoder corresponds to a candidate parameter set, the candidate parameter set includes parameters to be adjusted, a parameter value of one parameter to be adjusted in each candidate parameter set is different from the default value corresponding to the parameter to be adjusted, and a parameter value to be updated sequence of parameter values of the parameters to be adjusted and a parameter to be updated sequence of the parameters to be adjusted are determined according to the encoding performance of the candidate encoder;
the parameter value determining module 303 is configured to determine the target value of each parameter to be adjusted in sequence according to the parameter to be updated sequence of each parameter to be adjusted and the parameter value to be updated sequence of each parameter value of each parameter to be adjusted.
In one embodiment, the performance obtaining module 302 is further configured to determine a preset ranking of maximum coding performance of the parameters to be adjusted, and determine a parameter to be updated sequence of the corresponding parameters to be adjusted, where the preset ranking is a ranking from big to small; and (3) sequencing the preset coding performance of each parameter value of the parameters to be regulated, and determining the parameter value updating sequence of each parameter value of the corresponding parameters to be regulated.
In one embodiment, the parameter value determination module 303 includes:
the parameter acquisition sub-module is used for acquiring current parameters to be adjusted according to the sequence of the parameters to be updated and acquiring various parameter values of the current parameters to be adjusted according to the sequence of the parameter values to be updated;
the coding performance acquisition sub-module is used for acquiring coding performance of a plurality of current encoders relative to a previous target encoder, wherein the previous target encoder is an encoder obtained by modifying a default value in an original encoder into a target value of an adjusted parameter, the adjusted parameter is a parameter of which the parameter to be updated is positioned in front of the current parameter to be adjusted in sequence, and the current encoder is a parameter value corresponding to the previous target encoder by adopting each parameter value of the current parameter to be adjusted;
the parameter value determining submodule is used for determining a target value of a current parameter to be adjusted according to the coding performance of a plurality of current encoders relative to a previous target encoder, setting the parameter value of the current parameter to be adjusted in the current encoder as the target value and obtaining the current target encoder;
the parameter value determining submodule is further used for taking the current target encoder as the last target encoder, obtaining the current parameters to be adjusted according to the parameter to be updated sequence, and obtaining the parameter values of the current parameters to be adjusted according to the parameter value to be updated sequence until the target value of each parameter to be adjusted is determined.
In one embodiment, the parameter value determining submodule is further configured to, when the last target encoder is an original encoder, use a parameter value corresponding to a maximum coding performance of the current adjustment parameter as a target value of the current adjustment parameter;
and the parameter acquisition sub-module is used for acquiring the current parameters to be adjusted according to the sequence to be updated of the parameters when the last target encoder is not the original encoder, and acquiring the parameter values of the current parameters to be adjusted according to the sequence to be updated of the parameter values.
In one embodiment, the parameter value determining module 303 further includes:
the maximum coding performance acquisition sub-module is used for acquiring the maximum coding performance of the current parameters to be adjusted according to the sequence of the parameters to be updated;
the parameter acquisition submodule is used for acquiring the current parameters to be adjusted according to the sequence of the parameters to be updated when the coding performance of the current parameters to be adjusted is greater than or equal to a first threshold value;
the parameter value determining submodule is used for setting a default value of the current parameter to be adjusted as a target value of the current parameter to be adjusted when the coding performance of the current parameter to be adjusted is smaller than a first threshold value.
In one embodiment, the coding performance obtaining sub-module is configured to obtain, according to the order in which the parameter values are to be updated, the coding performance of each parameter value of the current parameter to be adjusted;
The parameter acquisition submodule is used for executing the acquisition of the current parameter value of the current parameter to be adjusted according to the parameter value to be updated sequence when the coding performance of the current parameter value of the current parameter to be adjusted is greater than or equal to a second threshold value;
and the parameter acquisition submodule is used for stopping acquiring the current parameter value of the current parameter to be adjusted when the coding performance of the current parameter value of the current parameter to be adjusted is smaller than a second threshold value.
In one embodiment, the coding performance obtaining sub-module is configured to obtain a coding result of a last target encoder; obtaining the coding result of each current coder; and respectively calculating the coding performance according to the coding result of the last target coder and the coding result of each current coder to obtain the coding performance of each current coder.
In one embodiment, the encoding performance obtaining sub-module is configured to calculate, according to the encoding result of the previous target encoder and the encoding result of each current encoder, the encoding quality of each current encoder, and the speed ratio of each current encoder; and calculating the coding quality of each current coder and the weighting value of the corresponding speed ratio of the current coder to obtain the coding performance of each current coder.
In one embodiment, the apparatus 300 for adjusting encoder parameters further includes:
the target test sequence acquisition module is used for acquiring a plurality of target test sequences corresponding to a scene;
the coding module is used for coding each target test sequence by adopting an original coder to obtain a target coding result; each candidate encoder is adopted to execute encoding on each target test sequence, and a target encoding result of each candidate encoder is obtained;
the performance calculation module is used for calculating the target coding performance of each candidate encoder of the current test sequence of the scene according to the target coding result corresponding to the current test sequence of the scene and the target coding result of each candidate encoder of the current test sequence of the scene; and calculating the weighted average of the target coding performance of each candidate encoder of the plurality of test sequences of the scene to obtain the coding performance of each candidate encoder.
In one embodiment, the target test sequence acquisition module is configured to acquire a plurality of original test sequences corresponding to a scene; acquiring parameters of each original test sequence; and screening a plurality of target test sequences from the plurality of original test sequences according to the parameters of each original test sequence.
FIG. 7 illustrates an internal block diagram of a computer device in one embodiment. The computer device may be specifically the terminal 110 (or the server 120) in fig. 1. As shown in fig. 7, the computer device is connected with a processor, a memory, a network interface, an input device, a camera, a sound collection device, a speaker and a display screen through a system bus. The memory includes a nonvolatile storage medium and an internal memory. The non-volatile storage medium of the computer device stores an operating system and may also store a computer program which, when executed by a processor, causes the processor to implement a method of adjusting encoder parameters. The internal memory may also have stored therein a computer program which, when executed by a processor, causes the processor to perform a method of adjusting encoder parameters. The display screen of the computer equipment can be a liquid crystal display screen or an electronic ink display screen, the input device of the computer equipment can be a touch layer covered on the display screen, can also be keys, a track ball or a touch pad arranged on the shell of the computer equipment, and can also be an external keyboard, a touch pad or a mouse and the like.
It will be appreciated by those skilled in the art that the structure shown in fig. 7 is merely a block diagram of some of the structures associated with the present application and is not limiting of the computer device to which the present application may be applied, and that a particular computer device may include more or fewer components than shown, or may combine certain components, or have a different arrangement of components.
In one embodiment, the apparatus for adjusting encoder parameters provided herein may be implemented in the form of a computer program that is executable on a computer device as shown in fig. 7. The memory of the computer device may store various program modules constituting the means for adjusting encoder parameters, such as the default value acquisition module 201, the performance acquisition module 202 and the parameter value determination module 203 shown in fig. 6. The computer program of each program module causes the processor to carry out the steps in the method of adjusting encoder parameters of each embodiment of the present application described in the present specification.
For example, the computer device shown in fig. 7 may perform the acquisition of the default set of values of the original encoder by means of a default value acquisition module 201 in the apparatus for adjusting encoder parameters as shown in fig. 6. The computer device may perform, by the performance acquisition module 202, acquiring coding performance of a plurality of candidate encoders, where each candidate encoder corresponds to a candidate parameter set, where the candidate parameter set includes parameters to be adjusted, a parameter value of one parameter to be adjusted in each candidate parameter set, different from a corresponding default value, where a parameter value to be updated sequence of each parameter value of the parameters to be adjusted is consistent with a preset ranking of the corresponding coding performance, and where the parameter to be updated sequence of each parameter to be adjusted is consistent with a preset ranking of a maximum coding performance of the corresponding parameter to be adjusted, and the preset ranking is from a large ranking to a small ranking. The computer device may determine the target value of each parameter to be adjusted in turn by performing the parameter value determining module 203 according to the parameter to be updated sequence of each parameter to be adjusted and the parameter value to be updated sequence of the respective parameter values of each parameter to be adjusted.
In one embodiment, a computer device is provided that includes a memory, a processor, and a computer program stored on the memory and executable on the processor, the processor implementing the steps in any one of the embodiments of the method of adjusting encoder parameters described above when the computer program is executed by the processor.
In one embodiment, a computer readable storage medium is provided having a computer program stored thereon which, when executed by a processor, performs the steps of any of the embodiments of the method of adjusting encoder parameters described above.
In one embodiment, a computer program product or computer program is provided that includes computer instructions stored in a computer readable storage medium. The computer instructions are read from a computer-readable storage medium by a processor of a computer device, and executed by the processor, cause the computer device to perform the steps of any of the embodiments of the method of adjusting encoder parameters described above.
Those skilled in the art will appreciate that all or part of the processes in the methods of the above embodiments may be implemented by a computer program for instructing relevant hardware, where the program may be stored in a non-volatile computer readable storage medium, and where the program, when executed, may include processes in the embodiments of the methods described above. Any reference to memory, storage, database, or other medium used in the various embodiments provided herein may include non-volatile and/or volatile memory. The nonvolatile memory can include Read Only Memory (ROM), programmable ROM (PROM), electrically Programmable ROM (EPROM), electrically Erasable Programmable ROM (EEPROM), or flash memory. Volatile memory can include Random Access Memory (RAM) or external cache memory. By way of illustration and not limitation, RAM is available in a variety of forms such as Static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double Data Rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), synchronous Link DRAM (SLDRAM), memory bus direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and memory bus dynamic RAM (RDRAM), among others.
It should be noted that in this document, relational terms such as "first" and "second" and the like are used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Moreover, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising one … …" does not exclude the presence of other like elements in a process, method, article, or apparatus that comprises the element.
The foregoing is only a specific embodiment of the invention to enable those skilled in the art to understand or practice the invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without departing from the spirit or scope of the invention. Thus, the present invention is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.

Claims (12)

1. A method of adjusting encoder parameters, the method comprising:
acquiring a default value set of an original encoder;
acquiring coding performances of a plurality of candidate encoders, wherein each candidate encoder corresponds to a candidate parameter set, the candidate parameter set comprises parameters to be adjusted, a parameter value of one parameter to be adjusted in each candidate parameter set is different from the default value corresponding to the parameter to be adjusted, and a parameter value updating sequence of each parameter value of the parameter to be adjusted and a parameter updating sequence of the parameter to be adjusted are determined according to the coding performances of the candidate encoders;
according to the parameter to-be-updated sequence of each parameter to be adjusted and the parameter value to-be-updated sequence of each parameter value of each parameter to be adjusted, sequentially determining the target value of each parameter to be adjusted;
the method for determining the parameter to be updated sequence of each parameter to be adjusted and the parameter value to be updated sequence of each parameter value of each parameter to be adjusted according to the coding performance of the coder comprises the following steps: determining a parameter to be updated sequence of the corresponding parameter to be adjusted according to a preset sequence of the maximum coding performance of the parameter to be adjusted, wherein the preset sequence is a sequence from big to small; and determining the parameter value to be updated sequence of the corresponding parameter values of the parameters to be adjusted according to the preset sequence of the coding performance of the parameter values of the parameters to be adjusted.
2. The method according to claim 1, wherein the sequentially determining the parameter value of each parameter to be adjusted according to the parameter to be updated sequence of each parameter to be adjusted and the parameter value to be updated sequence of the respective parameter value of each parameter to be adjusted comprises:
acquiring current parameters to be adjusted according to the parameter to be updated sequence, and acquiring each parameter value of the current parameters to be adjusted according to the parameter value to be updated sequence;
acquiring coding performances of a plurality of current encoders relative to a last target encoder, wherein the last target encoder is an encoder obtained by modifying a default value in the original encoder into a target value of an adjusted parameter, the adjusted parameter is a parameter of which the parameter to be updated is positioned before the current parameter to be adjusted in sequence, and the current encoder replaces a parameter value corresponding to the last target encoder by each parameter value of the current parameter to be adjusted;
determining a target value of the current parameter to be adjusted according to the coding performance of a plurality of current encoders relative to a previous target encoder, and setting the parameter value of the current parameter to be adjusted in the current encoder as the target value to obtain the current target encoder;
And taking the current target encoder as the last target encoder, entering the step of acquiring the current parameters to be regulated according to the sequence to be updated of the parameters, and acquiring the parameter values of the current parameters to be regulated according to the sequence to be updated of the parameter values until the target value of each parameter to be regulated is determined.
3. The method according to claim 2, wherein the method further comprises:
when the last target encoder is the original encoder, taking a parameter value corresponding to the maximum coding performance of the current parameter to be adjusted as a target value of the current parameter to be adjusted;
and when the last target encoder is not the original encoder, executing the step of acquiring the current parameters to be adjusted according to the sequence to be updated of the parameters and acquiring the parameter values of the current parameters to be adjusted according to the sequence to be updated of the parameter values.
4. The method according to claim 2, wherein the method further comprises:
obtaining the maximum coding performance of the current parameters to be adjusted according to the parameter to be updated sequence;
when the coding performance of the current parameters to be adjusted is greater than or equal to a first threshold value, executing the step of acquiring the current parameters to be adjusted according to the sequence to be updated of the parameters;
And when the coding performance of the current parameter to be regulated is smaller than the first threshold value, setting the default value of the current parameter to be regulated as the target value of the current parameter to be regulated.
5. The method according to claim 2, wherein the method further comprises:
acquiring the coding performance of each parameter value of the current parameter to be adjusted according to the parameter value to-be-updated sequence;
when the coding performance of the current parameter value of the current parameter to be adjusted is greater than or equal to a second threshold value, executing to acquire the current parameter value of the current parameter to be adjusted according to the parameter value to be updated sequence;
and stopping obtaining the current parameter value of the current parameter to be adjusted when the coding performance of the current parameter value of the current parameter to be adjusted is smaller than the second threshold value.
6. The method of claim 2, wherein the obtaining the coding performance of the plurality of current encoders relative to the last target encoder comprises:
acquiring the coding result of the last target coder;
obtaining the coding result of each current coder;
and respectively calculating the coding performance according to the coding result of the last target coder and the coding result of each current coder to obtain the coding performance of each current coder.
7. The method of claim 6, wherein the calculating the coding performance according to the coding result of the last target encoder and the coding result of each current encoder to obtain the coding performance of each current encoder includes:
according to the coding result of the last target coder and the coding result of each current coder, calculating to obtain the coding quality of each current coder and the speed ratio of each current coder;
and calculating the coding quality of each current coder and the weighted value of the corresponding speed ratio of the current coder to obtain the coding performance of each current coder.
8. The method according to claim 1, wherein the method further comprises:
acquiring a plurality of target test sequences corresponding to a scene;
performing coding on each target test sequence by adopting the original coder to obtain a target coding result;
performing coding on each target test sequence by adopting each candidate coder to obtain a target coding result of each candidate coder;
according to the target coding result corresponding to the current test sequence of the scene and the target coding result of each candidate coder of the current test sequence of the scene, calculating to obtain the target coding performance of each candidate coder of the current test sequence of the scene;
And calculating a weighted average of target coding performances of each candidate encoder of a plurality of test sequences of the scene to obtain the coding performances of each candidate encoder.
9. The method of claim 8, wherein the acquiring a plurality of target test sequences corresponding to a scene comprises:
acquiring a plurality of original test sequences corresponding to the scene;
acquiring parameters of each original test sequence;
and screening a plurality of target test sequences from a plurality of original test sequences according to parameters of each original test sequence.
10. An apparatus for adjusting encoder parameters, the apparatus comprising:
the default value acquisition module is used for acquiring a default value set of the original encoder;
the performance acquisition module is used for acquiring the coding performance of a plurality of candidate encoders, each candidate encoder corresponds to one candidate parameter set, the candidate parameter set comprises parameters to be adjusted, the parameter value of one parameter to be adjusted in each candidate parameter set is different from the default value corresponding to the parameter to be adjusted, and the parameter value updating sequence of each parameter value of the parameter to be adjusted and the parameter updating sequence of the parameter to be adjusted are determined according to the coding performance of the candidate encoder;
The parameter value determining module is used for sequentially determining the target value of each parameter to be adjusted according to the parameter to be updated sequence of each parameter to be adjusted and the parameter value to be updated sequence of each parameter value of each parameter to be adjusted;
the parameter value determining module is further configured to: determining a parameter to-be-updated sequence of each parameter to be adjusted and a parameter value to-be-updated sequence of each parameter value of each parameter to be adjusted according to the coding performance of the coder in the following manner: determining a parameter to be updated sequence of the corresponding parameter to be adjusted according to a preset sequence of the maximum coding performance of the parameter to be adjusted, wherein the preset sequence is a sequence from big to small; and determining the parameter value to be updated sequence of the corresponding parameter values of the parameters to be adjusted according to the preset sequence of the coding performance of the parameter values of the parameters to be adjusted.
11. A computer device comprising a memory, a processor and a computer program stored on the memory and executable on the processor, characterized in that the processor implements the steps of the method according to any one of claims 1 to 9 when the computer program is executed by the processor.
12. A computer readable storage medium, on which a computer program is stored, characterized in that the computer program, when being executed by a processor, implements the steps of the method of any of claims 1 to 9.
CN202011377836.5A 2020-11-30 2020-11-30 Method, apparatus, computer device and storage medium for adjusting encoder parameters Active CN112584147B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011377836.5A CN112584147B (en) 2020-11-30 2020-11-30 Method, apparatus, computer device and storage medium for adjusting encoder parameters

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011377836.5A CN112584147B (en) 2020-11-30 2020-11-30 Method, apparatus, computer device and storage medium for adjusting encoder parameters

Publications (2)

Publication Number Publication Date
CN112584147A CN112584147A (en) 2021-03-30
CN112584147B true CN112584147B (en) 2023-05-05

Family

ID=75126729

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011377836.5A Active CN112584147B (en) 2020-11-30 2020-11-30 Method, apparatus, computer device and storage medium for adjusting encoder parameters

Country Status (1)

Country Link
CN (1) CN112584147B (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8831089B1 (en) * 2006-07-31 2014-09-09 Geo Semiconductor Inc. Method and apparatus for selecting optimal video encoding parameter configurations
CN105828069A (en) * 2016-04-06 2016-08-03 上海交通大学 Encoder adaptive adjustment method based on subjective quality evaluation
CN108600756A (en) * 2018-05-04 2018-09-28 上海大学 Coding parameter self-adapting regulation method based on Monte Carlo method Markov chain
JP2019097128A (en) * 2017-11-27 2019-06-20 日本電信電話株式会社 Video image coding parameter adjustment device, video image coding parameter adjustment method, and program
CN110365981A (en) * 2019-07-10 2019-10-22 中移(杭州)信息技术有限公司 A kind of method for video coding, device, electronic equipment and storage medium

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2936926B1 (en) * 2008-10-06 2010-11-26 Thales Sa SYSTEM AND METHOD FOR DETERMINING ENCODING PARAMETERS

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8831089B1 (en) * 2006-07-31 2014-09-09 Geo Semiconductor Inc. Method and apparatus for selecting optimal video encoding parameter configurations
CN105828069A (en) * 2016-04-06 2016-08-03 上海交通大学 Encoder adaptive adjustment method based on subjective quality evaluation
JP2019097128A (en) * 2017-11-27 2019-06-20 日本電信電話株式会社 Video image coding parameter adjustment device, video image coding parameter adjustment method, and program
CN108600756A (en) * 2018-05-04 2018-09-28 上海大学 Coding parameter self-adapting regulation method based on Monte Carlo method Markov chain
CN110365981A (en) * 2019-07-10 2019-10-22 中移(杭州)信息技术有限公司 A kind of method for video coding, device, electronic equipment and storage medium

Also Published As

Publication number Publication date
CN112584147A (en) 2021-03-30

Similar Documents

Publication Publication Date Title
WO2021129086A1 (en) Traffic prediction method, device, and storage medium
US11483560B2 (en) Point cloud partition methods, encoder, and decoder
CN109002889A (en) Adaptive iteration formula convolutional neural networks model compression method
US20200374526A1 (en) Method, device, apparatus for predicting video coding complexity and storage medium
CN110442810B (en) Mobile terminal BIM model intelligent caching method based on deep FM recommendation algorithm
CN109978144B (en) Model compression method and system
CN111757110A (en) Video coding method, coding tree unit dividing method, system, device and readable storage medium
CN108322749B (en) RDOQ coefficient optimization method, RDOQ acceleration method and device
CN111612163A (en) Training method and device based on machine learning model
US20180096694A1 (en) Linear predictive coding apparatus, linear predictive decoding apparatus, and methods, programs and recording medium therefor
CN112584147B (en) Method, apparatus, computer device and storage medium for adjusting encoder parameters
CN104519362A (en) Video coding method for predicting depth similarity of adjacent frames
CN115379217A (en) Video coding processing method, device, equipment and storage medium
WO2013107037A1 (en) Blur measurement
US11763158B2 (en) Method for automatic hybrid quantization of deep artificial neural networks
CN109784705B (en) Method, device and storage medium for predicting oil production
CN112601088B (en) Method, apparatus, computer device and storage medium for adjusting encoder parameters
CN112601073B (en) Encoder evaluation method, encoder evaluation device, computer device, and storage medium
CN112601074B (en) Method and device for evaluating encoder, computer equipment and storage medium
US20060210183A1 (en) Decoding apparatus, dequantizing method, and program thereof
EP3434014A1 (en) Complexity control of video codec
CN108599976B (en) Network quality evaluation model construction method and device and computer equipment
CN111967616A (en) Automatic time series regression method and device
CN108012154B (en) Video coding method and device
Huang et al. JQF: Optimal JPEG quantization table fusion by simulated annealing on texture images and predicting textures

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant