CN112601073B - Encoder evaluation method, encoder evaluation device, computer device, and storage medium - Google Patents

Encoder evaluation method, encoder evaluation device, computer device, and storage medium Download PDF

Info

Publication number
CN112601073B
CN112601073B CN202011377813.4A CN202011377813A CN112601073B CN 112601073 B CN112601073 B CN 112601073B CN 202011377813 A CN202011377813 A CN 202011377813A CN 112601073 B CN112601073 B CN 112601073B
Authority
CN
China
Prior art keywords
curve
coding
parameter
encoder
quality
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
CN202011377813.4A
Other languages
Chinese (zh)
Other versions
CN112601073A (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 CN202011377813.4A priority Critical patent/CN112601073B/en
Publication of CN112601073A publication Critical patent/CN112601073A/en
Application granted granted Critical
Publication of CN112601073B publication Critical patent/CN112601073B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N17/00Diagnosis, testing or measuring for television systems or their details
    • 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/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/154Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

The application relates to an encoder evaluation method, an encoder evaluation device, a computer device and a storage medium. The method comprises the following steps: obtaining a code rate distortion curve of a reference encoder to obtain a first curve; obtaining a code rate distortion curve of a candidate encoder to obtain a second curve; respectively acquiring values corresponding to current coding parameters from the first curve and the second curve, and determining a curve section; according to the curve interval, the first curve and the second curve, calculating a quality evaluation value corresponding to the current coding parameter; and screening candidate encoders corresponding to the current coding parameters from the reference encoder and the candidate encoders according to the quality evaluation value. And independently evaluating the coding quality corresponding to the current coding parameter, namely evaluating the coding quality under the specific coding parameter to realize the local optimization of the coding.

Description

Encoder evaluation method, encoder evaluation device, computer device, and storage medium
Technical Field
The present disclosure relates to the field of computer technologies, and in particular, to an encoder evaluation method, an encoder evaluation device, a computer device, and a storage medium.
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. The coding quality is generally determined by two indexes of distortion and code rate after coding: the smaller the distortion, the smaller the code rate, the better the coding quality. Among the metrics for measuring the coding distortion are PSNR, SSIM, etc.
In general, when comparing the coding performance of 2 encoders or 2 sets of parameters, a plurality of different QPs or code rates need to be tested, so as to obtain 2 RD curves which are formed by combining 2 sets of RD points, so as to calculate the coding quality evaluation parameters of the whole RD curve (code rate distortion curve) section, wherein the coding quality evaluation parameters comprise BD-rate, BD-PSNR and the like.
In actual usage scenarios or parameter tuning, it is often necessary to compare local coding quality of different encoders or different coding parameters of the same encoder. The coding quality evaluation parameter of the whole RD curve section can only evaluate the whole coding quality of the coder, and cannot evaluate the local coding quality.
Disclosure of Invention
In order to solve the technical problems, the application provides an encoder evaluation method, an encoder evaluation device, a computer device and a storage medium.
The application provides an encoder evaluation method, which comprises the following steps:
obtaining a code rate distortion curve of a reference encoder to obtain a first curve;
obtaining a code rate distortion curve of a candidate encoder to obtain a second curve;
respectively acquiring values corresponding to current coding parameters from the first curve and the second curve, and determining a curve section;
according to the curve interval, the first curve and the second curve, calculating a quality evaluation value corresponding to the current coding parameter;
and screening target encoders corresponding to the current coding parameters from the reference encoder and the candidate encoders according to the quality evaluation value.
The application provides an encoder evaluation device, including:
the curve acquisition module is used for acquiring the code rate distortion curve of the reference encoder to obtain a first curve and acquiring the code rate distortion curve of the candidate encoder to obtain a second curve;
the curve interval determining module is used for respectively acquiring values corresponding to the current coding parameters from the first curve and the second curve to determine a curve interval;
the quality evaluation module is used for calculating a quality evaluation value corresponding to the current coding parameter according to the curve interval, the first curve and the second curve;
and the encoder determining module is used for screening out target encoders corresponding to the current encoding parameters from the reference encoder and the candidate encoders according to the quality evaluation value.
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 encoder evaluation method described above when the computer program is executed.
A computer readable storage medium having stored thereon a computer program which, when executed by a processor, implements the steps of the encoder evaluation method described above.
The encoder evaluation method, the encoder evaluation device, the computer equipment and the storage medium, wherein the method comprises the following steps: obtaining a code rate distortion curve of a reference encoder to obtain a first curve; obtaining a code rate distortion curve of a candidate encoder to obtain a second curve; respectively acquiring values corresponding to current coding parameters from a first curve and a second curve, and determining a curve section; calculating a quality evaluation value corresponding to the current coding parameter according to the curve interval, the first curve and the second curve; and screening target encoders corresponding to the current encoding parameters from the reference encoder and the candidate encoders according to the quality evaluation values. And independently evaluating the coding quality corresponding to the current coding parameter, namely evaluating the coding quality under the specific coding parameter to realize the local optimization of the coding.
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 an encoder evaluation method in one embodiment;
FIG. 2 is a flow diagram of a method of encoder evaluation in one embodiment;
FIG. 3 is a schematic diagram of RD curves in one embodiment;
FIG. 4 is a schematic diagram of RD curves in one embodiment;
FIG. 5 is a block diagram of an encoder evaluation apparatus in one embodiment;
fig. 6 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 an encoder evaluation method in one embodiment. Referring to fig. 1, the encoder evaluation method is applied to an encoder evaluation system. The encoder evaluation system includes a terminal 110 and a server 120. The terminal 110 and the server 120 are connected through a network. The terminal 110 or the server 120 obtains a first curve by acquiring a code rate distortion curve of a reference encoder; obtaining a code rate distortion curve of a candidate encoder to obtain a second curve; respectively acquiring values corresponding to current coding parameters from the first curve and the second curve, and determining a curve section; according to the curve interval, the first curve and the second curve, calculating a quality evaluation value corresponding to the current coding parameter; and screening target encoders corresponding to the current coding parameters from the reference encoder and the candidate encoders according to the quality evaluation value.
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.
As shown in fig. 2, in one embodiment, an encoder evaluation method 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 encoder evaluation method specifically includes the steps of:
step S201, obtaining a code rate distortion curve of a reference encoder to obtain a first curve.
Step S202, obtaining a code rate distortion curve of the candidate encoder to obtain a second curve.
Step S203, the corresponding values of the current coding parameters are obtained from the first curve and the second curve respectively, and the curve section is determined.
Step S204, calculating a quality evaluation value corresponding to the current coding parameter according to the curve section, the first curve and the second curve.
Step S205, a target encoder corresponding to the current coding parameter is screened from the reference encoder and the candidate encoder according to the quality evaluation value.
Specifically, a Rate-Distortion Curve (RD Curve), the encoder obtains different encoding results under different parameter settings, each result includes a set of code Rate and Distortion, i.e., an RD point, and all RD points are connected to form the RD Curve. The first curve refers to a curve drawn from values and coding parameters obtained after the encoding is performed according to the reference encoder and the coding parameters. The code rate refers to the number of data bits transmitted per unit time, and a common unit of the code rate is Kbps (kilobits per second). The current coding parameter may be any number of coding parameters, which may be Quantization Parameter (QP) or code rate, etc. If the coding parameter is QP/rate point, then multiple QP/rate points are included. The second curve refers to a curve drawn from values and coding parameters obtained after the encoding is performed according to the candidate encoder and the coding parameters. The second curve may also refer to a curve drawn according to the value corresponding to each coding parameter in the first curve and the coding parameter, where the value corresponding to the current coding parameter is a value obtained after the candidate encoder executes the coding. The values obtained after the encoding are the distortion value and the code rate point. The smaller the distortion, the smaller the code rate, the better the coding quality.
In one embodiment, the reference encoder and the candidate encoder may be the same encoder or may be different encoders. If the reference encoder and the candidate encoder are the same encoder, the encoding condition corresponding to the candidate encoder and the encoding condition corresponding to the reference encoder are not identical. The coding conditions include a coding acceleration algorithm, coding parameters, values corresponding to the parameters, and the like.
The curve section refers to a section 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 quality evaluation value is a quality evaluation value of the candidate encoder with respect to the reference encoder when measuring the current encoding parameter. The quality value becomes 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 candidate 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, peak-to-noise ratio) at the same code rate is higher.
And if the result corresponding to the quality evaluation value is that the candidate encoder is better than the reference encoder, the candidate encoder is used as the optimal encoder, otherwise, the reference encoder is used as the optimal encoder.
The encoder evaluation method comprises the following steps: obtaining a code rate distortion curve of a reference encoder to obtain a first curve; obtaining a code rate distortion curve of a candidate encoder to obtain a second curve; respectively acquiring values corresponding to current coding parameters from a first curve and a second curve, and determining a curve section; calculating a quality evaluation value corresponding to the current coding parameter according to the curve interval, the first curve and the second curve; and screening target encoders corresponding to the current encoding parameters from the reference encoder and the candidate encoders according to the quality evaluation values. And independently evaluating the coding quality corresponding to the current coding parameter, namely evaluating the coding quality under the specific coding parameter to realize the local optimization of the coding.
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 the 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 candidate 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 by the candidate encoder and the encoding parameter. The encoding quality parameters of the candidate encoders are directly adopted to generate curves, data used in the subsequent quality evaluation process are 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 candidate 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 candidate encoder is used to perform the coding of the resulting coding quality parameter. 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, and determining a curve section according to the first threshold value and the 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 reduced 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 encoding with 2 encoders (reference encoder and candidate 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 (candidate 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 one specific embodiment, two encoders are shown as 2 RD curves at 3 QP points (26/32/38) in FIG. 3. 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 the calculation amount is needed to be saved, after 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 with the data of the anchor at qp=26 and 38, so as to obtain the RD curve of the encoder to be tested, and the two RD curves are shown in fig. 4 below. 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.
The coding quality of the encoder can be measured locally by testing the BD-rate and/or BD-PSNR at a specific QP/code rate. The encoder may be optimized or more specifically parametrized, the encoding tools may be added or the fast algorithms may be added by mass analysis of each part of the encoder.
FIG. 2 is a flow chart of an encoder evaluation method 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. 5, there is provided an encoder evaluation apparatus 300 including:
the curve acquisition module 301 is configured to acquire a code rate distortion curve of the reference encoder to obtain a first curve, and acquire a code rate distortion curve of the candidate encoder to obtain a second curve;
the curve section determining module 302 is configured to obtain values corresponding to current coding parameters from the first curve and the second curve, respectively, and determine a curve section;
the quality evaluation module 303 is configured to calculate a quality evaluation value corresponding to the current encoding parameter according to the curve section, the first curve and the second curve;
the encoder determining module 304 is configured to screen candidate encoders corresponding to the current encoding parameters from the reference encoder and the candidate encoders according to the quality evaluation value.
In one embodiment, the encoder evaluation apparatus 300 further includes:
the coding parameter acquisition module is used for acquiring a plurality of coding parameters, wherein the current coding parameter is any one coding parameter of the plurality of coding parameters;
the quality parameter acquisition module is used for acquiring a first coding quality parameter corresponding to each coding parameter, wherein the first coding quality parameter is obtained when a reference encoder and the coding parameters are adopted to execute coding;
and the curve generating module is used for generating the first curve according to each coding parameter and the corresponding first coding quality parameter.
In one embodiment, the quality parameter obtaining module is further configured to obtain a second encoding quality parameter corresponding to each encoding parameter, where the second encoding quality parameter is a quality parameter obtained when encoding is performed by using the candidate encoder and the encoding parameter;
in this embodiment, the curve generating module is further configured to generate a second curve according to each encoding parameter and the corresponding second encoding quality parameter.
In one embodiment, the quality parameter obtaining module is further configured to obtain a current encoding quality parameter corresponding to the current encoding parameter, where the current encoding quality parameter is a quality parameter obtained when encoding is performed by using the candidate encoder and the current encoding parameter, and replace an encoding quality parameter corresponding to the current encoding parameter in the first encoding quality parameter by using the current encoding quality parameter corresponding to the current encoding parameter, so as to obtain a second encoding quality parameter corresponding to each encoding parameter;
in this embodiment, the curve generating module is further configured to generate a second curve according to each encoding parameter and the corresponding second encoding quality parameter.
In one embodiment, the curve interval includes a first threshold and a second threshold, the first threshold being less than the second threshold;
the curve interval determining module is used for obtaining a value corresponding to a current coding parameter in a first curve 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, and determining a curve section according to the first threshold value and the second threshold value.
In one embodiment, the encoder evaluation apparatus 300 further includes:
the threshold adjustment module is used for adjusting the first threshold according to a first preset mode to obtain a first adjustment threshold, and adjusting the second threshold according to a second preset mode to obtain a second adjustment threshold, wherein the threshold of the curve section is the first adjustment threshold and the second adjustment threshold respectively.
FIG. 6 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. 6, the computer device is connected to the processor, memory, network interface, input device and display screen via 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 that, when executed by a processor, causes the processor to implement an encoder evaluation method. The internal memory may also have stored therein a computer program which, when executed by the processor, causes the processor to perform the encoder evaluation method. 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. 6 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 encoder evaluation apparatus provided herein may be implemented in the form of a computer program that is executable on a computer device as shown in fig. 6. The memory of the computer device may store various program modules constituting the encoder evaluation apparatus, such as a curve acquisition module 301, a curve section determination module 302, a quality evaluation module 303, and an encoder determination module 304 shown in fig. 5. The computer program constituted by the respective program modules causes the processor to execute the steps in the encoder evaluation method of the respective embodiments of the present application described in the present specification.
For example, the computer apparatus shown in fig. 6 may obtain a first curve by performing the acquisition of the code rate distortion curve of the reference encoder by the curve acquisition module 301 in the encoder evaluation apparatus shown in fig. 5, and obtain a second curve by acquiring the code rate distortion curve of the candidate encoder. The computer device may determine the curve interval by executing the curve interval determination module 302 to obtain values corresponding to the current encoding parameters from the first curve and the second curve, respectively. The computer device may calculate a quality evaluation value corresponding to the current encoding parameter by executing the quality evaluation module 303 according to the curve section, the first curve and the second curve. The computer device may perform screening of the target encoder corresponding to the current encoding parameter from the reference encoder and the candidate encoder according to the quality evaluation value through the encoder determination module 304.
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 of any of the embodiments of the encoder evaluation method 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, implements the steps of any of the embodiments of the encoder evaluation method 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 processor of the computer device reads the computer instructions from the computer readable storage medium, and the processor executes the computer instructions, so that the computer device performs the steps of any of the embodiments of the encoder evaluation method 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 (9)

1. A method of encoder evaluation, the method comprising:
obtaining a code rate distortion curve of a reference encoder to obtain a first curve, wherein the first curve comprises obtaining a plurality of coding parameters, and the current coding parameter is any one of the 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 the reference encoder and the coding parameters are adopted to execute coding; generating the first curve according to each coding parameter and the corresponding first coding quality parameter;
obtaining a second curve by obtaining code rate distortion curves of candidate encoders, wherein the second curve comprises obtaining second encoding quality parameters corresponding to each encoding parameter, and the second encoding quality parameters are obtained when encoding is performed by adopting the candidate encoders and the encoding parameters; generating the second curve according to each coding parameter and the corresponding second coding quality parameter;
respectively acquiring values corresponding to the current coding parameters from the first curve and the second curve, and determining a curve section;
according to the curve interval, the first curve and the second curve, calculating a quality evaluation value corresponding to the current coding parameter;
and screening target encoders corresponding to the current coding parameters from the reference encoder and the candidate encoders according to the quality evaluation value.
2. The method according to claim 1, wherein after the obtaining the first coding quality parameter corresponding to each coding parameter, further comprises:
acquiring a current coding quality parameter corresponding to the current coding parameter, wherein the current coding quality parameter is a quality parameter obtained when the candidate 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 adopting the current coding quality parameters corresponding to the current coding parameters to obtain second coding quality parameters corresponding to each coding parameter;
and generating the second curve according to each coding parameter and the corresponding second coding quality parameter.
3. The method of claim 1, wherein the curve interval includes a first threshold and a second threshold, the first threshold is smaller than the second threshold, the values corresponding to the current coding parameters are obtained from the first curve and the second curve, respectively, and determining the curve interval includes:
acquiring a value corresponding to the current coding parameter in the first curve to obtain a first reference value;
acquiring a value corresponding to the current coding parameter in the second curve to obtain a second reference value;
taking the minimum value of the first reference value and the second reference value as the first threshold value;
taking the minimum value of the first reference value and the second reference value as the second threshold value;
and determining the curve section according to the first threshold value and the second threshold value.
4.A method according to claim 3, wherein after said taking the minimum of said first reference value and said second reference value as said second threshold value, further comprising:
adjusting the first threshold according to a first preset mode to obtain a first adjustment threshold;
and adjusting the second threshold according to a second preset mode to obtain a second adjustment threshold, wherein the threshold of the curve section is the first adjustment threshold and the second adjustment threshold respectively.
5. The method of claim 1, wherein the coding parameters comprise quantization parameters and/or code rates.
6. The method according to claim 1, wherein the quality evaluation value comprises a BD-rate and/or BD-PSNR corresponding value.
7. An encoder evaluation device, the device comprising:
the curve acquisition module is used for acquiring a code rate distortion curve of the reference encoder to obtain a first curve, and comprises the steps of 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 the reference encoder and the coding parameters are adopted to execute coding; generating a first curve according to each coding parameter and the corresponding first coding quality parameter, and obtaining a code rate distortion curve of a candidate coder to obtain a second curve, wherein the second coding quality parameter corresponding to each coding parameter is obtained when the candidate coder and the coding parameters are adopted to execute coding; generating the second curve according to each coding parameter and the corresponding second coding quality parameter;
the curve interval determining module is used for respectively acquiring values corresponding to the current coding parameters from the first curve and the second curve to determine a curve interval;
the quality evaluation module is used for calculating a quality evaluation value corresponding to the current coding parameter according to the curve interval, the first curve and the second curve;
and the encoder determining module is used for screening target encoder candidate encoders corresponding to the current encoding parameters from the reference encoder and the candidate encoders according to the quality evaluation value.
8. 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 6 when the computer program is executed by the processor.
9. 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 6.
CN202011377813.4A 2020-11-30 2020-11-30 Encoder evaluation method, encoder evaluation device, computer device, and storage medium Active CN112601073B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011377813.4A CN112601073B (en) 2020-11-30 2020-11-30 Encoder evaluation method, encoder evaluation device, computer device, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011377813.4A CN112601073B (en) 2020-11-30 2020-11-30 Encoder evaluation method, encoder evaluation device, computer device, and storage medium

Publications (2)

Publication Number Publication Date
CN112601073A CN112601073A (en) 2021-04-02
CN112601073B true CN112601073B (en) 2023-05-05

Family

ID=75187419

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011377813.4A Active CN112601073B (en) 2020-11-30 2020-11-30 Encoder evaluation method, encoder evaluation device, computer device, and storage medium

Country Status (1)

Country Link
CN (1) CN112601073B (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102780885A (en) * 2012-07-23 2012-11-14 深圳广晟信源技术有限公司 Rate distortion optimization method
CN102984545A (en) * 2012-12-12 2013-03-20 北京视博云科技有限公司 Encoding method and device for video resources
CN103918262A (en) * 2011-06-14 2014-07-09 王舟 Method and system for structural similarity based rate-distortion optimization for perceptual video coding
CN108769685A (en) * 2018-06-05 2018-11-06 腾讯科技(深圳)有限公司 The method, apparatus and storage medium of detection image compression coding efficiency

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102636099B1 (en) * 2016-12-22 2024-02-13 삼성전자주식회사 Apparatus and method for encoding video adjusting quantization parameter
CN109819263B (en) * 2017-11-22 2022-08-19 腾讯科技(深圳)有限公司 Video coding method, video coding device, computer equipment and storage medium

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103918262A (en) * 2011-06-14 2014-07-09 王舟 Method and system for structural similarity based rate-distortion optimization for perceptual video coding
CN102780885A (en) * 2012-07-23 2012-11-14 深圳广晟信源技术有限公司 Rate distortion optimization method
CN102984545A (en) * 2012-12-12 2013-03-20 北京视博云科技有限公司 Encoding method and device for video resources
CN108769685A (en) * 2018-06-05 2018-11-06 腾讯科技(深圳)有限公司 The method, apparatus and storage medium of detection image compression coding efficiency

Also Published As

Publication number Publication date
CN112601073A (en) 2021-04-02

Similar Documents

Publication Publication Date Title
US11032539B2 (en) Video coding method, computer device, and storage medium
CN111953966B (en) Method, device, server and storage medium for testing codes
JP7024098B2 (en) Video coding methods, computer equipment, and storage media
KR20120004370A (en) Selecting encoding types and predictive modes for encoding video data
CN110880014B (en) Data processing method, device, computer equipment and storage medium
CN110582008B (en) Video quality evaluation method and device
CN113938682A (en) Video coding method and device and electronic equipment
CN112149797A (en) Neural network structure optimization method and device and electronic equipment
EP1615172B1 (en) Method and device for choosing a mode of coding
CN110245147B (en) Block chain data processing method and device, readable storage medium and computer equipment
CN107329881B (en) Application system performance test method and device, computer equipment and storage medium
CN112601073B (en) Encoder evaluation method, encoder evaluation device, computer device, and storage medium
US20130064461A1 (en) Irreversible compression apparatus, and method and program for controlling operation of same
US11763158B2 (en) Method for automatic hybrid quantization of deep artificial neural networks
CN112601088B (en) Method, apparatus, computer device and storage medium for adjusting encoder parameters
CN108810543B (en) Video coding compensation method and device and electronic equipment
CN114138634B (en) Test case selection method and device, computer equipment and storage medium
CN112584147B (en) Method, apparatus, computer device and storage medium for adjusting encoder parameters
CN110795255B (en) Data batch value adjusting method and device, readable storage medium and equipment
CN112601074B (en) Method and device for evaluating encoder, computer equipment and storage medium
CN110049339A (en) Prediction direction choosing method, device and storage medium in image coding
CN108599976B (en) Network quality evaluation model construction method and device and computer equipment
CN109347691B (en) Data sampling method, device and equipment for Web service
CN107613292B (en) Image complexity evaluation method and device
Cheon et al. Ambiguity-based evaluation of objective quality metrics for image compression

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