CN117354524A - Method, device, equipment and computer medium for testing coding performance of encoder - Google Patents
Method, device, equipment and computer medium for testing coding performance of encoder Download PDFInfo
- Publication number
- CN117354524A CN117354524A CN202311644833.7A CN202311644833A CN117354524A CN 117354524 A CN117354524 A CN 117354524A CN 202311644833 A CN202311644833 A CN 202311644833A CN 117354524 A CN117354524 A CN 117354524A
- Authority
- CN
- China
- Prior art keywords
- coding
- encoder
- target
- target video
- preset
- 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.)
- Granted
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 209
- 238000000034 method Methods 0.000 title claims abstract description 77
- 238000011156 evaluation Methods 0.000 claims abstract description 52
- 230000008569 process Effects 0.000 claims abstract description 22
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 19
- 238000013441 quality evaluation Methods 0.000 claims abstract description 14
- 230000015654 memory Effects 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 14
- 238000003860 storage Methods 0.000 claims description 13
- 238000005516 engineering process Methods 0.000 abstract description 19
- 238000004891 communication Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 230000006835 compression Effects 0.000 description 4
- 238000007906 compression Methods 0.000 description 4
- 230000004927 fusion Effects 0.000 description 4
- 238000012812 general test Methods 0.000 description 3
- 238000011056 performance test Methods 0.000 description 3
- 238000012163 sequencing technique Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000002860 competitive effect Effects 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 239000002245 particle Substances 0.000 description 2
- 238000013139 quantization Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/154—Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N21/44008—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics in the video stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N21/4402—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
The application discloses a method, a device, equipment and a computer medium for testing the coding performance of an encoder, which can be applied to various scenes such as cloud technology, cloud games, video conferences, video calls and the like. The method comprises the following steps: acquiring a plurality of video segments of a target test object in the running process; aiming at each video segment, encoding the video segment to obtain an encoding result; obtaining a decoding result of decoding the encoding result; based on the video segments and the decoding results, evaluating the coding difficulty of the video segments by utilizing a video quality evaluation algorithm to obtain a plurality of evaluation results corresponding to the video segments, wherein the level of the coding difficulty is indicated by the numerical value of the evaluation result; selecting a plurality of target video segments from a plurality of video segments based on the plurality of evaluation results; and testing the coding performances of the first coder and the second coder according to the multiple target video segments to obtain the performance comparison results of the first coder and the second coder aiming at the multiple target video frames, thereby improving the accuracy of testing the coding performances of the coder.
Description
Technical Field
The present application relates to the field of coding and decoding technologies, and in particular, to a method, an apparatus, a device, and a computer medium for testing coding performance of an encoder.
Background
In the related art, when testing the coding performance of different encoders and the difference of the coding performance of different coding optimization algorithms, the CTCs need to be according to corresponding CTCs (Common Test Conditions, general test conditions), wherein the CTCs include coding test sequences, coding configuration, coding parameters, quality evaluation methods, and the like.
However, for different video coding standards, the same set of general test conditions are used in the preparation, including coding test sequences, coding configurations (such as full-frame coding, etc.), coding parameters (such as QP, etc.), quality evaluation criteria, etc. covering various video types and different resolutions that may be encountered. However, when selecting a test sequence, it is generally considered to cover various screen scenes that may be encountered in life as much as possible, and when preparing coding configuration and coding parameters, it is also considered to cover various network conditions and application scenes as much as possible. But the definition, picture complexity, color distribution, motion complexity, resolution and frame rate of most of the applicable picture contents are different from those of the cloud games, and the picture contents of the cloud games are higher in definition, richer in color, higher in motion complexity, higher in resolution and higher in frame rate. Based on the existing general test mode, the coding performance of the encoder suitable for the cloud game cannot be effectively tested, and when the coding performance of the encoder suitable for the cloud game scene is tested through the related technology, the accuracy of the test is lower.
Disclosure of Invention
The embodiment of the application provides a method, a device, equipment and a computer medium for testing the coding performance of an encoder, which can improve the testing accuracy of the coding performance of the encoder suitable for cloud game scenes.
In one aspect, a method for testing coding performance of an encoder is provided, the method comprising:
acquiring a plurality of video segments of a target test object in the running process;
encoding the video segments aiming at each video segment in the plurality of video segments to obtain an encoding result;
obtaining a decoding result after decoding the encoding result;
based on the video segments and the decoding results, the coding difficulty of the video segments is evaluated by utilizing a video quality evaluation algorithm, evaluation results corresponding to the video segments are obtained, a plurality of evaluation results corresponding to a plurality of video segments are further obtained, and the level of the coding difficulty is indicated by the numerical value of the evaluation result;
selecting a plurality of target video segments from the plurality of video segments based on the plurality of evaluation results;
and testing the coding performances of the first coder and the second coder according to the plurality of target video segments to obtain target coding performance comparison results of the first coder and the second coder aiming at the plurality of target video frames.
In another aspect, there is provided an encoder encoding performance testing apparatus, the apparatus comprising:
the acquisition unit is used for acquiring a plurality of video segments of the target test object in the running process;
the encoding unit is used for encoding the video segments aiming at each video segment in the plurality of video segments to obtain an encoding result;
the acquisition unit is also used for acquiring a decoding result after decoding the encoding result;
the evaluation unit is used for evaluating the coding difficulty of the video segment by utilizing a video quality evaluation algorithm based on the video segment and the decoding result to obtain evaluation results corresponding to the video segment, so as to obtain a plurality of evaluation results corresponding to a plurality of video segments, and the level of the coding difficulty is indicated by the numerical value of the evaluation result;
a selecting unit configured to select a plurality of target video segments from the plurality of video segments based on the plurality of evaluation results;
and the testing unit is used for testing the coding performances of the first coder and the second coder according to the plurality of target video segments to obtain target coding performance comparison results of the first coder and the second coder aiming at the plurality of target video frames.
In another aspect, a computer readable storage medium is provided, the computer readable storage medium storing a computer program adapted to be loaded by a processor for performing the steps of the method of any of the embodiments above.
In another aspect, a computer device is provided, the computer device comprising a processor and a memory, the memory having stored therein a computer program, the processor being adapted to perform the steps of the method of any of the embodiments above by invoking the computer program stored in the memory.
According to the embodiment of the application, the plurality of video segments of the target test object in the running process are obtained; encoding the video segments aiming at each video segment in the plurality of video segments to obtain an encoding result; obtaining a decoding result after decoding the encoding result; based on the video segments and the decoding results, the coding difficulty of the video segments is evaluated by utilizing a video quality evaluation algorithm, evaluation results corresponding to the video segments are obtained, a plurality of evaluation results corresponding to a plurality of video segments are further obtained, and the level of the coding difficulty is indicated by the numerical value of the evaluation result; selecting a plurality of target video segments from the plurality of video segments based on the plurality of evaluation results; and testing the coding performances of the first encoder and the second encoder according to the plurality of target video segments to obtain a scheme of comparing the target coding performances of the first encoder and the second encoder for the plurality of target video frames, selecting a test sequence based on the coding difficulties of different video segments in a target test object, namely the target video segments, and introducing the consideration of the coding difficulties related to the content in the video segments, wherein the analyzed particles are smaller, and more specifically. The target test object can be a video segment in various scenes such as cloud technology, cloud games, video conferences, video calls and the like, and the accuracy of testing the coding performance of the encoder can be improved.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings that are needed in the description of the embodiments will be briefly introduced below, it being obvious that the drawings in the following description are only some embodiments of the present application, and that other drawings may be obtained according to these drawings without inventive effort for a person skilled in the art.
Fig. 1 is a schematic view of a scenario provided in an embodiment of the present application.
Fig. 2 is a flowchart illustrating a method for testing coding performance of an encoder according to an embodiment of the present application.
Fig. 3 is a schematic structural diagram of an encoder coding performance testing device according to an embodiment of the present application.
Fig. 4 is a schematic structural diagram of a computer device according to an embodiment of the present application.
Detailed Description
The following description of the embodiments of the present application will be made clearly and fully with reference to the accompanying drawings, in which it is evident that the embodiments described are only some, but not all, of the embodiments of the present application. All other embodiments, which can be made by those skilled in the art based on the embodiments herein without making any inventive effort, are intended to be within the scope of the present application.
The embodiment of the application can be applied to various scenes such as cloud technology, cloud games, video conferences, video calls and the like, and the scheme will be described by taking the application to the cloud games as an example in afternoon.
The embodiment of the application provides a method, a device, equipment and a computer medium for testing the coding performance of an encoder. Specifically, the method for testing the coding performance of the encoder in the embodiment of the application may be executed by a computer device, where the computer device may be a device such as a terminal or a server. The terminal can be smart phones, tablet computers, notebook computers, intelligent voice interaction equipment, intelligent household appliances, wearable intelligent equipment, aircrafts, intelligent vehicle-mounted terminals and other equipment, and the terminal can also comprise a client, wherein the client can be a video client, a browser client or an instant messaging client and the like. The server may be an independent physical server, a server cluster or a distributed system formed by a plurality of physical servers, or a cloud server providing cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, content delivery networks (Content Delivery Network, CDN), basic cloud computing services such as big data and artificial intelligent platforms, and the like.
First, partial terms or terminology appearing in the course of describing the embodiments of the present application are explained as follows:
cloud technology (Cloud technology) refers to a hosting technology for integrating hardware, software, network and other series resources in a wide area network or a local area network to realize calculation, storage, processing and sharing of data. The cloud technology is based on the general names of network technology, information technology, integration technology, management platform technology, application technology and the like applied by the cloud computing business mode, can form a resource pool, and is flexible and convenient as required. Cloud computing technology will become an important support. Background services of technical networking systems require a large amount of computing, storage resources, such as video websites, picture-like websites, and more portals. Along with the high development and application of the internet industry, each article possibly has an own identification mark in the future, the identification mark needs to be transmitted to a background system for logic processing, data with different levels can be processed separately, and various industry data needs strong system rear shield support and can be realized only through cloud computing.
Cloud gaming (Cloud gaming), which may also be referred to as game on demand, is an online gaming technology based on Cloud computing technology. Cloud gaming technology enables lightweight devices (thin clients) with relatively limited graphics processing and data computing capabilities to run high quality games. In a cloud game scene, the game is not run in a player game terminal, but is run in a cloud server, the cloud server renders the game scene into a video and audio stream, and the video and audio stream is transmitted to the player game terminal through a network. The player game terminal does not need to have strong graphic operation and data processing capability, and only needs to have basic streaming media playing capability and the capability of acquiring player input instructions and sending the player input instructions to the cloud server.
CQP (Constant Quantizer Parameter, fixed quantization parameter): mainly used for adjusting the details of the image and finally achieving the effect of adjusting the picture quality. The CQP value is inversely proportional to the bit rate, and the smaller the CQP value, the higher the picture quality; conversely, the larger the CQP value, the lower the picture quality. PSNR (Peak Signal-to-Noise Ratio), peak Signal-to-Noise Ratio): is one of the indexes for measuring the image quality.
VMAF (Video Multimethod Assessment Fusion, video multiparty rating fusion) algorithm: the method is used for evaluating the definition and the reality of the video image, thereby providing basis for optimizing the environments such as video coding, transmission, display and the like.
I frame: an I-Frame or Key Frame or Intra Frame (I-Frame or Key-Frame or Intra-Frame) consists of only Intra-predicted macroblocks. Each macroblock in an I-frame can only match other macroblocks within the same frame, which can only be compressed using intra "spatial redundancy". Spatial redundancy is a term used to refer to the similarity between pixels of a single frame.
P frame: the P-frames represent predicted frames that can be compressed by temporal prediction in addition to spatial prediction, and reference previous frames for motion estimation.
B frame: the B frame may refer to frames appearing before and after it. B in the B frame represents Bi-Directional. If the video codec uses macroblock-based compression (e.g., H.264/AVC), then each macroblock in the B frame may: backward prediction (using future frames), forward prediction (using past frames), no inter-frame prediction, intra-frame only prediction, or skip entirely (intra-or inter-frame prediction). Since a B frame can reference and insert two (or more) frames (in the time dimension) that occur before and after it, it can significantly reduce the frame size while maintaining video quality. B-frames can take advantage of spatial redundancy and temporal redundancy (future frames and past frames) making it very useful in video compression.
CBR (Constant bit rate, fixed code rate): it means that the code rate of video coding is fixed and not affected by the complexity of the image. The CBR coding mode can ensure the stable code rate of the video, is suitable for scenes with fixed and stable network bandwidth, and is generally used for scenes such as live broadcasting, television broadcasting and the like.
VBR: (Variable Bit Rate ), means that different compression ratios are used to achieve equalization of picture quality and code rate. The overall code rate of the video can be dynamically changed according to the image, and the video can adapt to the change condition of network bandwidth. By continuously increasing and decreasing the video compression ratio, the difference between code rates can be reduced, thereby improving picture quality.
BDRate (Bitrate Distortion Rate) is an index for evaluating the coding performance of a video encoder by comparing the relationship between the code rate and distortion of two different encoders to measure the quality of the encoder.
Fig. 1 is a schematic diagram of a scenario of an embodiment of the present application, where the method for testing encoding performance of an encoder provided in the present application may be applied to any electronic device, such as a server 20, for testing a comparison result of encoding performance of two encoders, and further selecting an encoder with better performance as an actually used encoder. The decoder corresponding to the encoder may be applied to a terminal 10 having decoding capability, for example, a TV terminal, a PC terminal, a mobile phone terminal, etc., where the terminal 10 may be used for displaying a game picture, specifically, relevant data of the game picture may be obtained from a cloud and decoded by the decoder, and the game picture is displayed based on the decoding result.
The embodiments of the present application provide a method for testing coding performance of an encoder, where the method may be executed by a terminal or a server, or may be executed by the terminal and the server together; the embodiment of the application will be described by taking an example of an encoder coding performance test method executed by a server. Fig. 2 is a flowchart of an encoder coding performance testing method according to an embodiment of the present application, where the method includes the following steps S201 to S206:
s201, acquiring a plurality of video segments of a target test object in the running process;
in some optional embodiments of the present application, the target test object is an object for testing a performance comparison result of the first encoder and the second encoder, and specifically may refer to any game in a cloud game, any video conference content, or video of any video call, and so on.
Optionally, in S201, acquiring a plurality of video segments of the target test object during the running process may include: acquiring a preset video segment duration; and intercepting videos of the target test object in the running process into a plurality of video segments with the duration of a preset video segment, wherein the duration of each video segment is the duration of the preset video segment.
S202, coding the video segments aiming at each video segment in the video segments to obtain a coding result;
Optionally, a preset encoder may be used to encode each video segment according to the same encoding parameter and the encoding device, so as to obtain an encoding result.
S203, obtaining a decoding result after decoding the encoding result;
alternatively, a preset decoder may be used to decode each video segment according to the same decoding parameters and decoding device, so as to obtain a decoding result. Optionally, the pre-set decoder is adapted to the pre-set encoder.
S204, based on the video segments and the decoding results, evaluating the coding difficulty of the video segments by using a video quality evaluation algorithm to obtain evaluation results corresponding to the video segments, and further obtaining a plurality of evaluation results corresponding to the video segments, wherein the level of the coding difficulty is indicated by the numerical value of the evaluation result;
alternatively, the preset video quality evaluation algorithm may be a PSNR (Peak Signal-to-Noise Ratio) algorithm, or a VMAF (Video Multimethod Assessment Fusion, video multiparty evaluation fusion) algorithm.
Specifically, each video segment includes a plurality of image frames, and the decoding result includes decoded images corresponding to each of the plurality of image frames;
optionally, when the preset video quality evaluation algorithm is a PSNR algorithm, based on the video segment and the decoding result, the coding difficulty of the video segment is evaluated by using the video quality evaluation algorithm, so as to obtain an evaluation result corresponding to the video segment, which may be referred to as: and determining target peak signal-to-noise ratio information of the video segment and the decoding result by using a PSNR algorithm, wherein the target peak signal-to-noise ratio information is an evaluation result corresponding to the video segment.
Optionally, using the PSNR algorithm, determining the target peak signal-to-noise ratio information of the video segment and the decoding result may include the following S20421-S20424:
s20421, for each of a plurality of image frames in a video segment, acquiring a decoded image corresponding to the image frame from a decoding result;
s20422, determining mean square error information corresponding to the image frame based on the image frame and the decoded image;
alternatively, in the foregoing S20422, determining the mean square error information corresponding to the image frame based on the image frame and the decoded image may be performed by the following formula:
wherein I is an image frame, K is a decoded image, (I, j) is coordinates of a pixel, m×n is sizes of I and K, and MSE is mean square error information.
S20423, determining peak signal-to-noise ratio information corresponding to the image frames based on the mean square error information and the maximum pixel value in the image frames, and obtaining a plurality of peak signal-to-noise ratio information corresponding to the plurality of image frames;
optionally, in S20423, determining peak signal-to-noise ratio information corresponding to the image frame based on the mean square error information and the maximum pixel value in the image frame may be implemented by the following formula:
wherein PSNR is peak signal-to-noise ratio information in dB. MAX (MAX) I MAX is the maximum pixel value in an image frame when the image frame is a gray scale image I 255.
When the image frame is a color image, the MSE value of each of three color channels of the image frame, that is, the RGB channels, may be calculated and then averaged to obtain the PSNR.
S20424, determining target peak signal-to-noise ratio information of the video segment and the decoding result based on the plurality of peak signal-to-noise ratio information.
Optionally, in S20424, determining target peak signal-to-noise ratio information of the video segment and the decoding result based on the plurality of peak signal-to-noise ratio information may include: and taking the average value of the peak signal-to-noise ratio information as target peak signal-to-noise ratio information of the video segment and the decoding result.
S205, selecting a plurality of target video segments from the plurality of video segments based on a plurality of evaluation results;
in some alternative embodiments of the present application, a higher value of the evaluation result indicates a lower corresponding encoding difficulty, and a lower value of the evaluation result indicates a higher corresponding encoding difficulty.
In some optional embodiments of the present application, in S205, a plurality of target video segments are selected from a plurality of video segments based on a plurality of evaluation results, including the following S2051-S2055:
s2051, sequencing a plurality of evaluation results according to the sequence from the big value to the small value of the evaluation results to obtain a first sequencing result;
S2052, selecting second preset number of first evaluation results with the forefront ranking from the first ranking results;
s2053, selecting a third preset number of second evaluation results with the rearmost ranking from the first ranking results;
s2054, selecting a fourth preset number of third evaluation results in the middle of the ranking from the first sorting results;
optionally, the second preset number, the third preset number, and the third preset number may be the same or different.
S2055, using the video segment corresponding to the first evaluation result, the video segment corresponding to the second evaluation result, and the video segment corresponding to the third evaluation result as a plurality of target video segments.
Specifically, after determining the target test object, a test sequence for testing the comparison result of the target coding performances of the first encoder and the second encoder, that is, the plurality of target video segments, is determined.
According to the scheme, the corresponding number of video segments (such as video segments with the rank of 10%,50% and 90%) in the high, medium and low coding complexity of the target test object in the running process can be ensured to be selected as a test sequence, different picture complexity of the target test object can be ensured to be covered as much as possible, and the testing accuracy of the coding performance of the encoder is further improved.
S206, testing the coding performances of the first coder and the second coder according to the plurality of target video segments to obtain target coding performance comparison results of the first coder and the second coder aiming at the plurality of target video frames.
In some optional embodiments of the present application, in the foregoing S206, the encoding performance of the first encoder and the second encoder is tested according to the plurality of target video segments, to obtain the target encoding performance comparison result of the first encoder and the second encoder for the plurality of target video frames, which includes the following S2061-S2063:
s2061, acquiring a plurality of preset coding modes, wherein the plurality of preset coding modes comprise at least two coding modes: a first coding mode in which I frame coding is combined with B frame coding, a second coding mode in which I frame coding is combined with P frame coding, and a third coding mode in which I frame coding, P frame coding, and B frame coding are combined;
the first coding mode is a coding mode used by combining I frame coding and B frame coding, the second coding mode is a coding mode used by combining I frame coding and P frame coding, and the third coding mode is a coding mode used by combining I frame coding, P frame coding and B frame coding.
S2062, testing a first coding performance comparison result of the first coder and the second coder for each target video segment in the target video segments in a preset coding mode for each preset coding mode in a plurality of preset coding modes to obtain a group of first coding performance comparison results of the first coder and the second coder for the target video segment in the plurality of preset coding modes, wherein the target video segment corresponds to the group of first coding performance comparison results;
In some alternative embodiments of the present application, the performance of the first encoder and the second encoder may be compared by BD (Bjontegaard-Delta) bit rate.
In some optional embodiments of the present application, the manner in which the first encoder and the second encoder determine the comparison result of the first encoding performance for the target video segment may be referred to as the following formula:
BD = 10 * (log10(R1/R2) - log10(B1/B2))
wherein, R1 and R2 respectively represent a code rate (bit rate) of the first encoder and a code rate of the second encoder, and B1 and B2 respectively represent PSNR corresponding to encoding the target video segment with the first encoder and PSNR corresponding to encoding the target video segment with the second encoder, i.e. video quality. Specifically, if the video quality corresponding to the first encoder and the second encoder is the same, the smaller the BD is, the lower the code rate is; conversely, if the code rates of the first encoder and the second encoder are the same, the smaller the BD is, the higher the video quality is, and the BD is the first coding performance comparison result.
S2063, determining target coding performance comparison results of the first encoder and the second encoder for the target video frames based on the multiple groups of first coding performance comparison results corresponding to the target video segments.
In some embodiments, in S2063, determining a target coding performance comparison result of the first encoder and the second encoder for the plurality of target video frames based on the plurality of sets of first coding performance comparison results corresponding to the plurality of target video segments, including; and comparing the multiple groups of first coding performance corresponding to the multiple target video segments to obtain target coding performance comparison results of the first encoder and the second encoder for the multiple target video frames.
In the scheme, considering that the cloud game scene requires extremely low delay, the scheme of the application does not use the full I frame coding configuration with lower coding efficiency when selecting the coding configuration, and selects the coding mode of combining I frame coding with B frame coding or the coding mode of combining I frame coding with P frame coding, so that the corresponding coding efficiency can be improved.
In some optional embodiments of the present application, in the foregoing S206, the encoding performance of the first encoder and the second encoder is tested according to the plurality of target video segments, to obtain a target encoding performance comparison result of the first encoder and the second encoder for the plurality of target video frames, including the following S061-S063:
s061, a plurality of preset encoding modes are obtained, wherein the plurality of preset encoding modes comprise: fixed rate coding and variable bit rate coding;
S062, for each target video segment in a plurality of target video segments, for each preset coding mode in a plurality of preset coding modes, testing a second coding performance comparison result of the first coder and the second coder for coding the target video segment in the preset coding mode to obtain a set of second coding performance comparison results of the first coder and the second coder for coding the target video segment in the plurality of preset coding modes, wherein the target video segment corresponds to the set of second coding performance comparison results;
optionally, the determining manner of the second coding performance comparison result of the first encoder and the second encoder for the target video segment may refer to the determining manner of the first coding performance comparison result, which is not described herein.
S063, determining target coding performance comparison results of the first encoder and the second encoder aiming at a plurality of target video frames based on a plurality of groups of second coding performance comparison results corresponding to a plurality of target video segments.
In some embodiments, in S063, determining the target coding performance comparison results of the first encoder and the second encoder for the plurality of target video frames based on the plurality of sets of second coding performance comparison results corresponding to the plurality of target video segments may include comparing the plurality of sets of second coding performance comparison results corresponding to the plurality of target video segments as the target coding performance comparison results of the first encoder and the second encoder for the plurality of target video frames.
In other embodiments, in S206, the testing the coding performance of the first encoder and the second encoder according to the multiple target video segments to obtain the target coding performance comparison result of the first encoder and the second encoder for the multiple target video frames further includes S061-S062, in S2063, determining the target coding performance comparison result of the first encoder and the second encoder for the multiple target video frames based on the multiple sets of the first coding performance comparison results corresponding to the multiple target video segments, including: and determining target coding performance comparison results of the first encoder and the second encoder for the plurality of target video frames based on the plurality of groups of first coding performance comparison results corresponding to the plurality of target video segments and the plurality of groups of second coding performance comparison results corresponding to the plurality of target video segments.
Alternatively, the multiple sets of first coding performance comparison results corresponding to the multiple target video segments and the multiple sets of second coding performance comparison results corresponding to the multiple target video segments may be specifically used as target coding performance comparison results of the first encoder and the second encoder for the multiple target video frames.
In this application, considering that cloud game application is very dependent on the stability of the network, the size of the encoded code stream needs to be within the bearing range of the network transmission capability, so that the encoding mode of the fixed quantization parameter is not actually used, but the encoding mode of CBR or VBR is used. Therefore, when universal testing conditions of the cloud game are manufactured, the coding modes of the CBR and the VBR are selected as code control configuration parameters.
In some optional embodiments of the present application, in the foregoing S206, the encoding performance of the first encoder and the second encoder is tested according to the plurality of target video segments, to obtain a target encoding performance comparison result of the first encoder and the second encoder for the plurality of target video frames, including the following S61-S63:
s61, acquiring a plurality of preset code rates;
in some optional embodiments of the present application, in order to verify the coding effect under different code rates, and improve the test efficiency, about 4 preset code rates are generally selected.
Optionally, the plurality of preset code rates may include taking a highest code rate limited by the cloud game application scene as one of the preset code rates, and then selecting three preset code rates located at low, medium and high positions as uniformly as possible according to the actual code rate distribution situation of the online user.
S62, for each target video segment in a plurality of target video segments, testing a third coding performance comparison result of the first coder and the second coder for coding the target video segment with the preset code rate according to each preset code rate in a plurality of preset code rates to obtain a group of third coding performance comparison results of the first coder and the second coder for coding the target video segment with the preset code rates, wherein the target video segment corresponds to the group of third coding performance comparison results;
Optionally, the determining manner of the first coding performance comparison result between the first encoder and the second encoder in the third coding performance comparison result for the target video segment may be referred to as the determining manner of the first coding performance comparison result, which is not described herein again.
S63, determining target coding performance comparison results of the first coder and the second coder aiming at a plurality of target video frames based on a plurality of groups of third coding performance comparison results corresponding to a plurality of target video segments.
In some embodiments, in the foregoing S63, determining a target coding performance comparison result of the first encoder and the second encoder for the plurality of target video frames based on the plurality of sets of third coding performance comparison results corresponding to the plurality of target video segments, including; and taking a plurality of groups of third coding performance comparison results corresponding to the plurality of target video segments as target coding performance comparison results of the first coder and the second coder aiming at the plurality of target video frames.
In other embodiments, in the step S206, the encoding performance of the first encoder and the second encoder is tested according to the plurality of target video segments to obtain the target encoding performance comparison result of the first encoder and the second encoder for the plurality of target video frames, and the step S061-S062, and the step S61-S62, and the step S2063, determining the target encoding performance comparison result of the first encoder and the second encoder for the plurality of target video frames based on the plurality of sets of the first encoding performance comparison results corresponding to the plurality of target video segments, include: and determining target coding performance comparison results of the first encoder and the second encoder for the plurality of target video frames based on the plurality of groups of first coding performance comparison results corresponding to the plurality of target video segments, the plurality of groups of second coding performance comparison results corresponding to the plurality of target video segments and the plurality of groups of third coding performance comparison results corresponding to the plurality of target video segments.
Optionally, the multiple sets of first coding performance comparison results corresponding to the multiple target video segments, the multiple sets of second coding performance comparison results corresponding to the multiple target video segments, and the multiple sets of third coding performance comparison results corresponding to the multiple target video segments may be used as target coding performance comparison results of the first encoder and the second encoder for the multiple target video frames.
In some optional embodiments of the present application, in the foregoing S206, the encoding performance of the first encoder and the second encoder is tested according to the plurality of target video segments, to obtain the target encoding performance comparison result of the first encoder and the second encoder for the plurality of target video frames, which includes the following S611-S613:
s611, acquiring at least one frame rate corresponding to each target video segment in the plurality of target video segments;
in some alternative embodiments, a target video segment may include multiple frame rates, e.g., including both 60fps portions of the video segment and 120fps frames.
S612, testing fourth coding performance comparison results of the first coder and the second coder for coding the target video segment at the frame rate according to each frame rate in the at least one frame rate to obtain a group of fourth coding performance comparison results of the first coder and the second coder for coding the target video segment at the at least one frame rate, wherein the target video segment corresponds to the group of fourth coding performance comparison results;
Optionally, the determining manner of the fourth coding performance comparison result of the target video segment by the first encoder and the second encoder may refer to the determining manner of the first coding performance comparison result, which is not described herein.
S613, determining target coding performance comparison results of the first encoder and the second encoder for the plurality of target video frames based on the plurality of groups of fourth coding performance comparison results corresponding to the plurality of target video segments.
In some embodiments, in S613, determining the target coding performance comparison result of the first encoder and the second encoder for the plurality of target video frames based on the plurality of sets of fourth coding performance comparison results corresponding to the plurality of target video segments includes: and taking a plurality of groups of fourth coding performance comparison results corresponding to the plurality of target video segments as target coding performance comparison results of the first encoder and the second encoder aiming at the plurality of target video frames.
In other embodiments, in the step S206, the encoding performance of the first encoder and the second encoder is tested according to the plurality of target video segments to obtain the target encoding performance comparison result of the first encoder and the second encoder for the plurality of target video frames, and the steps further include the step S061-S062, the step S61-S62, and the step S611-S612, in the step S2063, the step of determining the target encoding performance comparison result of the first encoder and the second encoder for the plurality of target video frames based on the plurality of sets of the first encoding performance comparison results corresponding to the plurality of target video segments includes: and determining target coding performance comparison results of the first encoder and the second encoder for the target video frames based on the plurality of groups of first coding performance comparison results corresponding to the target video segments, the plurality of groups of second coding performance comparison results corresponding to the target video segments, the plurality of groups of third coding performance comparison results corresponding to the target video segments and the plurality of groups of fourth coding performance comparison results corresponding to the target video segments.
Optionally, a plurality of sets of first coding performance comparison results corresponding to the plurality of target video segments, a plurality of sets of second coding performance comparison results corresponding to the plurality of target video segments, a plurality of sets of third coding performance comparison results corresponding to the plurality of target video segments, and a plurality of sets of fourth coding performance comparison results corresponding to the plurality of target video segments may be used as target coding performance comparison results of the first encoder and the second encoder for the plurality of target video frames.
In some optional embodiments of the present application, the foregoing testing the coding performance of the first encoder and the second encoder according to the plurality of target video segments to obtain the target coding performance comparison result of the first encoder and the second encoder for the plurality of target video frames may further include the following S1-S3:
s1, acquiring at least one of the following: a plurality of preset coding modes, a plurality of preset coding modes and a plurality of preset code rates; wherein the plurality of preset encoding modes includes at least two encoding modes: a first coding mode in which I frame coding is combined with B frame coding, a second coding mode in which I frame coding is combined with P frame coding, and a third coding mode in which I frame coding, P frame coding, and B frame coding are combined; the plurality of preset encoding modes comprise: CBR and VBR;
S2, testing a fifth coding performance comparison result of the first coder and the second coder aiming at the target video frame aiming at each target video segment in a plurality of target video segments aiming at least one of the following information: each of the plurality of preset coding modes, each of the plurality of preset code rates;
s3, determining target coding performance comparison results of the first coder and the second coder aiming at the target video frames based on the fifth coding performance comparison results of the target video frames. Alternatively, a plurality of fifth encoding performance comparison results of the plurality of target video frames may be determined as target encoding performance comparison results of the first encoder and the second encoder for the plurality of target video frames.
In some optional embodiments of the present application, the method further comprises: acquiring a plurality of preset resolutions; the obtaining the multiple video segments of the target test object in the operation process includes: and acquiring a plurality of video segments of the target test object in the running process under the preset resolution according to each preset resolution in the plurality of preset resolutions.
In a cloud game scene, the related decoding device can comprise a plurality of different terminals such as a TV terminal, a PC terminal, a mobile phone terminal and the like, and the screen resolutions and hardware decoding capabilities of the different terminal devices are obviously different. And the resolution of the game screen is high, so that the capability of the terminal device needs to be considered when the resolution is selected, and some scenes with extremely low resolution can be eliminated, and specifically, the plurality of preset resolutions can comprise at least two of the following; 720p,1080p,2k,4k, etc.
In some alternative embodiments of the present application, the method further comprises the following S21-S24:
s21, acquiring a plurality of candidate objects;
the candidate object may be a cloud game, video conference content, or video of a video call.
Alternatively, the foregoing candidate object may be updated according to a preset update period.
S22, acquiring the number of times of starting the candidate objects in a first preset time period for each candidate object in the plurality of candidate objects to obtain a plurality of times of starting the candidate objects;
specifically, the number of times the candidate object is started refers to the number of times the application corresponding to the candidate object is started. The aforementioned first preset period of time may be 1 month, 1 year, etc., which is not limited in this application.
S23, determining a plurality of first alternative test objects based on a first preset number of alternative objects with the highest activated times in the activated times;
in some embodiments, in the foregoing S031, determining a plurality of first candidate test objects based on a first preset number of candidate objects with the highest number of activated times, including; and taking a first preset number of candidate objects with the highest activated times in the activated times as a plurality of first candidate test objects.
In some embodiments, the first preset number may be 4.
In other optional embodiments of the present application, the method further comprises;
acquiring total started times of a plurality of games started in a first preset time period;
in the step S031, a plurality of first candidate test objects are determined based on a first preset number of candidate objects with the highest corresponding activated times among the plurality of activated times, including; and taking a first preset number of candidate objects with the corresponding started times being highest in the started times, wherein the ratio of the started times to the total started times is larger than a preset ratio as a plurality of first candidate test objects.
Alternatively, the preset duty cycle may be 10%.
S24, determining a target test object based on the first candidate test objects.
In some optional embodiments of the present application, in the foregoing S24, determining the target test object based on the plurality of first candidate test objects may include; and taking the plurality of first candidate test objects as target test objects.
In other optional embodiments of the present application, in the foregoing S24, determining the target test object based on the plurality of first candidate test objects may include; any one of the plurality of first candidate test objects is determined to be the target test object. Correspondingly, after obtaining target coding performance comparison results of the first encoder and the second encoder for a plurality of target video frames, the method further comprises; and acquiring a new first alternative test object from the plurality of first alternative test objects as a new target test object, and returning to execute the step of acquiring the plurality of video segments of the target test object in the running process until the first alternative test objects in the plurality of first alternative test objects are traversed.
In some optional embodiments of the present application, the method further comprises the following S211-S213:
s211, acquiring a plurality of first categories to which a plurality of candidate objects belong;
optionally, when the candidate object is a cloud game, a first category may include any one of the following; open world games, strategy games, competitive games, and guess games.
S212, obtaining second categories to which a plurality of first candidate test objects belong;
optionally, when the candidate object is a cloud game, a second category may include any of the following; open world games, strategy games, competitive games, and guess games.
S213, determining a second alternative test object based on the alternative objects of which the categories of the plurality of alternative objects are not included in the second category;
specifically, in S213, determining the second candidate test object based on the candidate objects of which the category to which the plurality of candidate objects belongs is not included in the second category may include: sorting the candidate objects, of which the categories belong to, are not included in the second category, according to the started times in a second preset time period to obtain a second sorting result; and taking a fifth preset number of candidate objects with the highest starting times in the second sequencing result as second candidate test objects.
Alternatively, the first preset time period and the second preset time period may be the same. The fifth preset number may be 2.
Determining a target test object based on the first plurality of candidate test objects, comprising: a target test object is determined based on the plurality of first and second candidate test objects.
Optionally, determining the target test object based on the plurality of first candidate test objects and the second candidate test object may include; and taking the plurality of first alternative test objects and the second alternative test objects as target test objects.
Optionally, determining the target test object based on the plurality of first candidate test objects and the second candidate test object may include; and taking any one of the plurality of first alternative test objects and the second alternative test objects as a target test object. Correspondingly, after obtaining target coding performance comparison results of the first encoder and the second encoder for a plurality of target video frames, the method further comprises; and acquiring a new alternative test object from the plurality of first alternative test objects and the second alternative test objects as a new target test object, and returning to the step of acquiring the plurality of video segments of the target test object in the running process until each alternative test object in the plurality of first alternative test objects and the second alternative test objects is traversed.
In some alternative embodiments of the present application, the method further comprises the following S001-S003:
s001, opinion feedback information of a user aiming at a plurality of candidate objects is obtained;
alternatively, the opinion feedback information of the user for each candidate object may be obtained from a related server.
S002, determining an alternative object with an image question based on opinion feedback information;
s003, taking an alternative object with an image quality problem as a third alternative test object;
determining a target test object based on the plurality of first and second candidate test objects, comprising: a target test object is determined based on the plurality of first, second, and third candidate test objects.
Optionally, determining the target test object based on the plurality of first, second, and third candidate test objects may include; and taking the plurality of first alternative test objects, the second alternative test objects and the third alternative test objects as target test objects.
Optionally, determining the target test object based on the plurality of first, second, and third candidate test objects may include; any one of the first, second and third candidate test objects is taken as a target test object. Correspondingly, after obtaining target coding performance comparison results of the first encoder and the second encoder for a plurality of target video frames, the method further comprises; and acquiring a new alternative test object from the plurality of first alternative test objects, the second alternative test objects and the third alternative test objects as a new target test object, and returning to execute the step of acquiring the plurality of video segments of the target test object in the running process until each alternative test object in the plurality of first alternative test objects, the second alternative test objects and the third alternative test objects is traversed.
Through the scheme, the cloud game with the highest number of times of being started, namely the head game, can be covered
Some typical games are selected as supplements, and are embodied by adding game categories not included in the head game, and can also include game types with obvious image quality problems, and can also be added as test games. Thus, different picture contents can be ensured to be covered as much as possible.
In some optional embodiments of the present application, when determining the target coding performance comparison results of the first encoder and the second encoder for the multiple target video frames, PSNR with higher calculation efficiency and VMAF that better accords with subjective quality of human eyes may also be used, which is not limited in this application.
It should be noted that the second encoder in the present application may be an encoder in which parameters of the first encoder are adjusted, for example, the second encoder may be an encoder in which the first encoder is optimized. The second encoder in the present application may also be an entirely different encoder than the first encoder.
According to the embodiment of the application, the plurality of video segments of the target test object in the running process are obtained; encoding the video segments aiming at each video segment in the plurality of video segments to obtain an encoding result; obtaining a decoding result after decoding the encoding result; based on the video segments and the decoding results, the coding difficulty of the video segments is evaluated by utilizing a video quality evaluation algorithm, evaluation results corresponding to the video segments are obtained, a plurality of evaluation results corresponding to a plurality of video segments are further obtained, and the level of the coding difficulty is indicated by the numerical value of the evaluation result; selecting a plurality of target video segments from the plurality of video segments based on the plurality of evaluation results; and testing the coding performances of the first encoder and the second encoder according to the plurality of target video segments to obtain a scheme of comparing the target coding performances of the first encoder and the second encoder for the plurality of target video frames, selecting a test sequence based on the coding difficulties of different video segments in a target test object, namely the target video segments, and introducing the consideration of the coding difficulties related to the content in the video segments, wherein the analyzed particles are smaller, and more specifically. The target test object can be a video segment in various scenes such as cloud technology, cloud games, video conferences, video calls and the like, and the accuracy of testing the coding performance of the encoder can be improved.
All the above technical solutions may be combined to form an optional embodiment of the present application, which is not described here in detail.
In order to better implement the foregoing methods according to the embodiments of the present application, the embodiments of the present application further provide an apparatus for testing the encoding performance of an encoder, refer to fig. 3, and fig. 3 is a schematic structural diagram of the apparatus for testing the encoding performance of an encoder according to the embodiments of the present application. Wherein, the device includes:
an acquiring unit 31, configured to acquire a plurality of video segments of a target test object in a running process;
an encoding unit 32, configured to encode the video segments for each of the plurality of video segments, to obtain an encoding result;
an obtaining unit 31, configured to obtain a decoding result after decoding the encoding result;
the evaluation unit 33 is configured to evaluate the coding difficulty of the video segment by using a video quality evaluation algorithm based on the video segment and the decoding result, obtain evaluation results corresponding to the video segment, and further obtain multiple evaluation results corresponding to the multiple video segments, where the level of the coding difficulty is indicated by the numerical value of the evaluation result;
a selecting unit 34 for selecting a plurality of target video segments from the plurality of video segments based on the plurality of evaluation results;
And the testing unit 35 is configured to test the coding performance of the first encoder and the second encoder according to the multiple target video segments, so as to obtain a target coding performance comparison result of the first encoder and the second encoder for multiple target video frames.
In some optional embodiments of the present application, the apparatus is specifically configured to, when performing a test on coding performances of the first encoder and the second encoder according to a plurality of target video segments to obtain target coding performance comparison results of the first encoder and the second encoder for a plurality of target video frames:
acquiring a plurality of preset coding modes, wherein the plurality of preset coding modes comprise at least two coding modes: a first coding mode in which I frame coding is combined with B frame coding, a second coding mode in which I frame coding is combined with P frame coding, and a third coding mode in which I frame coding, P frame coding, and B frame coding are combined;
for each target video segment in a plurality of target video segments, testing a first coding performance comparison result of the first coder and the second coder for the target video segment in a preset coding mode according to each preset coding mode in a plurality of preset coding modes to obtain a group of first coding performance comparison results of the first coder and the second coder for the target video segment in the plurality of preset coding modes, wherein the target video segment corresponds to the group of first coding performance comparison results;
And determining target coding performance comparison results of the first encoder and the second encoder aiming at the target video frames based on the multiple groups of first coding performance comparison results corresponding to the target video segments.
In some optional embodiments of the present application, the apparatus is specifically configured to, when performing a test on coding performances of the first encoder and the second encoder according to a plurality of target video segments to obtain target coding performance comparison results of the first encoder and the second encoder for a plurality of target video frames:
acquiring a plurality of preset coding modes, wherein the plurality of preset coding modes comprise: fixed code rate encoded CBR and variable bit rate encoded VBR;
for each target video segment in a plurality of target video segments, testing a second coding performance comparison result of the first coder and the second coder for coding the target video segment in a preset coding mode according to each preset coding mode in a plurality of preset coding modes to obtain a group of second coding performance comparison results of the first coder and the second coder for coding the target video segment in a plurality of preset coding modes, wherein the target video segment corresponds to the group of second coding performance comparison results;
and determining target coding performance comparison results of the first encoder and the second encoder for the target video frames based on the multiple groups of second coding performance comparison results corresponding to the target video segments.
In some optional embodiments of the present application, the apparatus is specifically configured to, when performing a test on coding performances of the first encoder and the second encoder according to a plurality of target video segments to obtain target coding performance comparison results of the first encoder and the second encoder for a plurality of target video frames:
acquiring a plurality of preset code rates;
for each target video segment in a plurality of target video segments, testing a third coding performance comparison result of the first coder and the second coder for coding the target video segment with the preset code rate according to each preset code rate in a plurality of preset code rates to obtain a group of third coding performance comparison results of the first coder and the second coder for coding the target video segment with the preset code rates, wherein the target video segment corresponds to the group of third coding performance comparison results;
and determining target coding performance comparison results of the first coder and the second coder aiming at the target video frames based on a plurality of groups of third coding performance comparison results corresponding to the target video segments.
In some optional embodiments of the present application, the apparatus is specifically configured to, when performing a test on coding performances of the first encoder and the second encoder according to a plurality of target video segments to obtain target coding performance comparison results of the first encoder and the second encoder for a plurality of target video frames:
For each target video segment in a plurality of target video segments, acquiring at least one frame rate corresponding to the target video segment;
for each frame rate in at least one frame rate, testing fourth coding performance comparison results of the first coder and the second coder for coding the target video segment at the frame rate to obtain a group of fourth coding performance comparison results of the first coder and the second coder for coding the target video segment at the at least one frame rate, wherein the target video segment corresponds to the group of fourth coding performance comparison results;
and determining target coding performance comparison results of the first coder and the second coder aiming at the plurality of target video frames based on a plurality of groups of fourth coding performance comparison results corresponding to the plurality of target video segments.
In some optional embodiments of the present application, the foregoing apparatus is specifically configured to, when configured to test coding performances of the first encoder and the second encoder according to the plurality of target video segments, obtain target coding performance comparison results of the first encoder and the second encoder for the plurality of target video frames:
at least one of the following is obtained: a plurality of preset coding modes, a plurality of preset coding modes and a plurality of preset code rates; wherein the plurality of preset encoding modes includes at least two encoding modes: a first coding mode in which I frame coding is combined with B frame coding, a second coding mode in which I frame coding is combined with P frame coding, and a third coding mode in which I frame coding, P frame coding, and B frame coding are combined; the plurality of preset encoding modes comprise: CBR and VBR;
For each target video segment of the plurality of target video segments, testing a fifth coding performance comparison result of the first encoder and the second encoder for the target video frame for at least one of the following information: each of the plurality of preset coding modes, each of the plurality of preset code rates;
based on a plurality of fifth coding performance comparison results of the plurality of target video frames, determining a target coding performance comparison result of the first encoder and the second encoder for the plurality of target video frames.
In some optional embodiments of the present application, the apparatus is further configured to:
acquiring a plurality of preset resolutions;
the method for acquiring the multiple video segments of the target test object in the operation process comprises the following steps: and acquiring a plurality of video segments of the target test object in the running process under the preset resolution according to each preset resolution in the plurality of preset resolutions.
In some optional embodiments of the present application, the apparatus is further configured to:
acquiring a plurality of candidate objects;
for each candidate object in the plurality of candidate objects, acquiring the number of times of starting the candidate object in a first preset time period, and obtaining a plurality of times of starting the candidate object corresponding to the plurality of candidate objects;
Determining a plurality of first alternative test objects based on a first preset number of alternative objects with the highest activated times in the activated times;
a target test object is determined based on the first plurality of candidate test objects.
In some optional embodiments of the present application, the apparatus is further configured to:
acquiring a plurality of first categories to which a plurality of candidate objects belong;
acquiring a second category to which a plurality of first candidate test objects belong;
determining a second alternative test object based on alternative objects of which the category to which the plurality of alternative objects belongs is not included in the second category;
determining a target test object based on the first plurality of candidate test objects, comprising: a target test object is determined based on the plurality of first and second candidate test objects.
In some optional embodiments of the present application, the apparatus is further configured to:
obtaining opinion feedback information of a user aiming at a plurality of candidate objects;
determining an alternative object with the image question based on the opinion feedback information;
taking an alternative object with an image quality problem as a third alternative test object;
determining a target test object based on the plurality of first and second candidate test objects, comprising: a target test object is determined based on the plurality of first, second, and third candidate test objects.
The various elements described above may be implemented in whole or in part by software, hardware, or a combination thereof. The above units may be embedded in hardware or may be independent of a processor in the computer device, or may be stored in software in a memory in the computer device, so that the processor invokes and executes operations corresponding to the above units.
The encoder encoding performance test device may be integrated in a terminal or a server having a memory and a processor mounted thereto and having an arithmetic capability, or the encoder encoding performance test device may be the terminal or the server. In the present embodiment, the term "module" or "unit" refers to a computer program or a part of a computer program having a predetermined function, and works together with other relevant parts to achieve a predetermined object, and may be implemented in whole or in part by using software, hardware (such as a processing circuit or a memory), or a combination thereof. Also, a processor (or multiple processors or memories) may be used to implement one or more modules or units. Furthermore, each module or unit may be part of an overall module or unit that incorporates the functionality of the module or unit.
Optionally, the application further provides a computer device, including a memory and a processor, where the memory stores a computer program, and the processor executes the computer program to implement the steps in the above method embodiments.
Fig. 4 is a schematic structural diagram of a computer device provided in an embodiment of the present application, where the computer device may be a terminal or a server shown in fig. 1. As shown in fig. 4, the computer device 400 may include: a communication interface 401, a memory 402, a processor 403 and a communication bus 404. Communication interface 401, memory 402, and processor 403 communicate with each other via communication bus 404. The communication interface 401 is used for data communication of the computer device 400 with external devices. The memory 402 may be used to store software programs and modules, and the processor 403 may execute the software programs and modules stored in the memory 402, such as the software programs for corresponding operations in the foregoing method embodiments.
Alternatively, the processor 403 may invoke a software program and modules stored in the memory 402 to perform the steps of the method embodiments described above.
Optionally, the processor 403 may also invoke software programs and modules stored in the memory 402 to perform the steps of the method embodiments described above.
The present application also provides a computer-readable storage medium for storing a computer program. The computer readable storage medium may be applied to a computer device, and the computer program causes the computer device to execute corresponding processes in the methods in the embodiments of the present application, which are not described herein for brevity.
The present application also provides a computer program product comprising 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 executes corresponding flows in the methods in the embodiments of the present application, which are not described herein for brevity.
The present application also provides a computer program comprising 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 executes corresponding flows in the methods in the embodiments of the present application, which are not described herein for brevity.
The foregoing is merely specific embodiments of the present application, but the scope of the present application is not limited thereto, and any person skilled in the art can easily think about changes or substitutions within the technical scope of the present application, and the changes or substitutions are intended to be covered by the scope of the present application. Therefore, the protection scope of the present application shall be subject to the protection scope of the claims.
Claims (13)
1. A method for testing coding performance of an encoder, the method comprising:
acquiring a plurality of video segments of a target test object in the running process;
encoding the video segments aiming at each video segment in the plurality of video segments to obtain an encoding result;
obtaining a decoding result after decoding the encoding result;
based on the video segments and the decoding results, evaluating the coding difficulty of the video segments by using a video quality evaluation algorithm to obtain evaluation results corresponding to the video segments, and further obtaining a plurality of evaluation results corresponding to the video segments, wherein the level of the coding difficulty is indicated by the numerical value of the evaluation results;
selecting a plurality of target video segments from the plurality of video segments based on the plurality of evaluation results;
And testing the coding performances of the first coder and the second coder according to the target video segments to obtain target coding performance comparison results of the first coder and the second coder aiming at the target video frames.
2. The method of claim 1, wherein testing the encoding performance of the first encoder and the second encoder based on the plurality of target video segments to obtain a target encoding performance comparison result of the first encoder and the second encoder for the plurality of target video frames, comprises:
acquiring a plurality of preset coding modes, wherein the plurality of preset coding modes comprise at least two coding modes: a first coding mode in which I frame coding is combined with B frame coding, a second coding mode in which I frame coding is combined with P frame coding, and a third coding mode in which I frame coding, P frame coding, and B frame coding are combined;
for each target video segment of the target video segments, testing a first coding performance comparison result of the first coder and the second coder for the target video segment in the preset coding mode according to each preset coding mode of the preset coding modes to obtain a group of first coding performance comparison results of the first coder and the second coder for the target video segment in the preset coding modes, wherein the target video segment corresponds to the group of first coding performance comparison results;
And determining target coding performance comparison results of the first encoder and the second encoder aiming at the target video frames based on a plurality of groups of first coding performance comparison results corresponding to the target video segments.
3. The method of claim 1, wherein testing the encoding performance of the first encoder and the second encoder based on the plurality of target video segments to obtain a target encoding performance comparison result of the first encoder and the second encoder for the plurality of target video frames, comprises:
obtaining a plurality of preset coding modes, wherein the plurality of preset coding modes comprise: fixed code rate encoded CBR and variable bit rate encoded VBR;
for each target video segment in the target video segments, testing a second coding performance comparison result of the first coder and the second coder for coding the target video segment in the preset coding mode according to each preset coding mode in the preset coding modes to obtain a group of second coding performance comparison results of the first coder and the second coder for coding the target video segment in the preset coding modes, wherein the target video segment corresponds to the group of second coding performance comparison results;
And determining target coding performance comparison results of the first encoder and the second encoder aiming at the target video frames based on a plurality of groups of second coding performance comparison results corresponding to the target video segments.
4. The method of claim 1, wherein testing the encoding performance of the first encoder and the second encoder based on the plurality of target video segments to obtain a target encoding performance comparison result of the first encoder and the second encoder for the plurality of target video frames, comprises:
acquiring a plurality of preset code rates;
for each target video segment of the target video segments, testing a third coding performance comparison result of the first encoder and the second encoder for coding the target video segment with the preset code rate according to each preset code rate of the preset code rates to obtain a group of third coding performance comparison results of the first encoder and the second encoder for coding the target video segment with the preset code rates, wherein the target video segment corresponds to the group of third coding performance comparison results;
and determining target coding performance comparison results of the first encoder and the second encoder aiming at the target video frames based on a plurality of groups of third coding performance comparison results corresponding to the target video segments.
5. The method of claim 1, wherein testing the encoding performance of the first encoder and the second encoder based on the plurality of target video segments to obtain a target encoding performance comparison result of the first encoder and the second encoder for the plurality of target video frames, comprises:
for each target video segment in the plurality of target video segments, acquiring at least one frame rate corresponding to the target video segment;
for each frame rate of the at least one frame rate, testing fourth coding performance comparison results of the first encoder and the second encoder for coding the target video segment at the frame rate to obtain a group of fourth coding performance comparison results of the first encoder and the second encoder for coding the target video segment at the at least one frame rate, wherein the target video segment corresponds to the group of fourth coding performance comparison results;
and determining target coding performance comparison results of the first encoder and the second encoder aiming at the target video frames based on a plurality of groups of fourth coding performance comparison results corresponding to the target video segments.
6. The method of claim 1, wherein testing the encoding performance of the first encoder and the second encoder based on the plurality of target video segments to obtain a target encoding performance comparison result of the first encoder and the second encoder for the plurality of target video frames, comprises:
At least one of the following is obtained: a plurality of preset coding modes, a plurality of preset coding modes and a plurality of preset code rates; wherein the plurality of preset encoding modes includes at least two encoding modes: a first coding mode in which I frame coding is combined with B frame coding, a second coding mode in which I frame coding is combined with P frame coding, and a third coding mode in which I frame coding, P frame coding, and B frame coding are combined; the plurality of preset encoding modes comprise: CBR and VBR;
testing a fifth coding performance comparison result of the first encoder and the second encoder for the target video frame for at least one of the following information for each of the plurality of target video segments: each preset coding mode of the plurality of preset coding modes, and each preset code rate of the plurality of preset code rates;
a target coding performance comparison result of the first encoder and the second encoder for the plurality of target video frames is determined based on a plurality of fifth coding performance comparison results of the plurality of target video frames.
7. The method according to claim 1, wherein the method further comprises:
Acquiring a plurality of preset resolutions;
the method for acquiring the multiple video segments of the target test object in the operation process comprises the following steps: and acquiring a plurality of video segments of the target test object in the running process under the preset resolution according to each preset resolution in the plurality of preset resolutions.
8. The method according to claim 1, wherein the method further comprises:
acquiring a plurality of candidate objects;
for each candidate object in the plurality of candidate objects, acquiring the number of times of starting the candidate object in a first preset time period, and obtaining a plurality of times of starting the candidate object;
determining a plurality of first alternative test objects based on a first preset number of alternative objects with the highest activated times in the plurality of activated times;
the target test object is determined based on the plurality of first candidate test objects.
9. The method of claim 8, wherein the method further comprises:
acquiring a plurality of first categories to which the plurality of candidate objects belong;
acquiring second categories to which the plurality of first candidate test objects belong;
determining a second alternative test object based on alternative objects of which the category to which the plurality of alternative objects belongs is not included in the second category;
Determining the target test object based on the plurality of first candidate test objects includes: the target test object is determined based on the plurality of first candidate test objects and the second candidate test object.
10. The method according to claim 9, wherein the method further comprises:
obtaining opinion feedback information of a user aiming at the plurality of candidate objects;
determining an alternative object with an image question based on the opinion feedback information;
taking the candidate object with the image quality problem as a third candidate test object;
determining the target test object based on the plurality of first candidate test objects and the second candidate test object includes: the target test object is determined based on the plurality of first candidate test objects, the second candidate test object, and the third candidate test object.
11. An encoder coding performance testing apparatus, the apparatus comprising:
the acquisition unit is used for acquiring a plurality of video segments of the target test object in the running process;
the coding unit is used for coding the video segments aiming at each video segment in the plurality of video segments to obtain a coding result;
The acquisition unit is further used for acquiring a decoding result after decoding the encoding result;
the evaluation unit is used for evaluating the coding difficulty of the video segment by utilizing a video quality evaluation algorithm based on the video segment and the decoding result to obtain evaluation results corresponding to the video segment, so as to obtain a plurality of evaluation results corresponding to the video segments, wherein the level of the coding difficulty is indicated by the numerical value of the evaluation results;
a selecting unit configured to select a plurality of target video segments from the plurality of video segments based on the plurality of evaluation results;
and the testing unit is used for testing the coding performances of the first coder and the second coder according to the plurality of target video segments to obtain a target coding performance comparison result of the first coder and the second coder for the plurality of target video frames.
12. A computer readable storage medium, characterized in that the computer readable storage medium stores a computer program adapted to be loaded by a processor for performing the steps in the method according to any of claims 1-10.
13. A computer device, characterized in that it comprises a processor and a memory, in which a computer program is stored, the processor being adapted to perform the steps of the method according to any of claims 1-10 by calling the computer program stored in the memory.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311644833.7A CN117354524B (en) | 2023-12-04 | 2023-12-04 | Method, device, equipment and computer medium for testing coding performance of encoder |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311644833.7A CN117354524B (en) | 2023-12-04 | 2023-12-04 | Method, device, equipment and computer medium for testing coding performance of encoder |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117354524A true CN117354524A (en) | 2024-01-05 |
CN117354524B CN117354524B (en) | 2024-04-09 |
Family
ID=89371458
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311644833.7A Active CN117354524B (en) | 2023-12-04 | 2023-12-04 | Method, device, equipment and computer medium for testing coding performance of encoder |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117354524B (en) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1596540A (en) * | 2001-11-27 | 2005-03-16 | 汤姆森特许公司 | Method and system for video recording compilation |
US20190289296A1 (en) * | 2017-01-30 | 2019-09-19 | Euclid Discoveries, Llc | Video Characterization For Smart Encoding Based On Perceptual Quality Optimization |
CN112911281A (en) * | 2021-02-09 | 2021-06-04 | 北京三快在线科技有限公司 | Video quality evaluation method and device |
CN113873291A (en) * | 2021-09-24 | 2021-12-31 | 广州虎牙科技有限公司 | Video coding parameter combination determination method and device and server |
CN114241350A (en) * | 2021-11-09 | 2022-03-25 | 北京百度网讯科技有限公司 | Video coding test sequence determination method, related device and computer program product |
US20220232222A1 (en) * | 2020-01-22 | 2022-07-21 | Tencent Technology (Shenzhen) Company Limited | Video data processing method and apparatus, and storage medium |
CN115225902A (en) * | 2022-07-21 | 2022-10-21 | 北京蔚领时代科技有限公司 | High-resolution VR cloud game solution method based on scatter coding and computer equipment |
CN116233445A (en) * | 2023-05-10 | 2023-06-06 | 腾讯科技(深圳)有限公司 | Video encoding and decoding processing method and device, computer equipment and storage medium |
WO2023142716A1 (en) * | 2022-01-27 | 2023-08-03 | 腾讯科技(深圳)有限公司 | Encoding method and apparatus, real-time communication method and apparatus, device, and storage medium |
-
2023
- 2023-12-04 CN CN202311644833.7A patent/CN117354524B/en active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1596540A (en) * | 2001-11-27 | 2005-03-16 | 汤姆森特许公司 | Method and system for video recording compilation |
US20190289296A1 (en) * | 2017-01-30 | 2019-09-19 | Euclid Discoveries, Llc | Video Characterization For Smart Encoding Based On Perceptual Quality Optimization |
US20220232222A1 (en) * | 2020-01-22 | 2022-07-21 | Tencent Technology (Shenzhen) Company Limited | Video data processing method and apparatus, and storage medium |
CN112911281A (en) * | 2021-02-09 | 2021-06-04 | 北京三快在线科技有限公司 | Video quality evaluation method and device |
CN113873291A (en) * | 2021-09-24 | 2021-12-31 | 广州虎牙科技有限公司 | Video coding parameter combination determination method and device and server |
CN114241350A (en) * | 2021-11-09 | 2022-03-25 | 北京百度网讯科技有限公司 | Video coding test sequence determination method, related device and computer program product |
WO2023142716A1 (en) * | 2022-01-27 | 2023-08-03 | 腾讯科技(深圳)有限公司 | Encoding method and apparatus, real-time communication method and apparatus, device, and storage medium |
CN115225902A (en) * | 2022-07-21 | 2022-10-21 | 北京蔚领时代科技有限公司 | High-resolution VR cloud game solution method based on scatter coding and computer equipment |
CN116233445A (en) * | 2023-05-10 | 2023-06-06 | 腾讯科技(深圳)有限公司 | Video encoding and decoding processing method and device, computer equipment and storage medium |
Also Published As
Publication number | Publication date |
---|---|
CN117354524B (en) | 2024-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111277826B (en) | Video data processing method and device and storage medium | |
CN108810545B (en) | Method, apparatus, computer readable medium and electronic device for video encoding | |
CN114554211A (en) | Content adaptive video coding method, device, equipment and storage medium | |
US11647223B2 (en) | Dynamic motion vector referencing for video coding | |
CN112073735B (en) | Video information processing method and device, electronic equipment and storage medium | |
CN112533059B (en) | Image rendering method and device, electronic equipment and storage medium | |
CN106961603A (en) | Intracoded frame code rate allocation method and device | |
WO2021238546A1 (en) | Video encoding method, video playing back method, related devices and medium | |
CN113965751A (en) | Screen content coding method, device, equipment and storage medium | |
WO2023142716A1 (en) | Encoding method and apparatus, real-time communication method and apparatus, device, and storage medium | |
CN113259671B (en) | Loop filtering method, device, equipment and storage medium in video coding and decoding | |
CN115118964A (en) | Video encoding method, video encoding device, electronic equipment and computer-readable storage medium | |
CN112040234B (en) | Video encoding method, video decoding method, video encoding device, video decoding device, electronic equipment and storage medium | |
CN112040232B (en) | Real-time communication transmission method and device and real-time communication processing method and device | |
CN117354524B (en) | Method, device, equipment and computer medium for testing coding performance of encoder | |
CN113973202A (en) | Video encoding method, device, equipment and storage medium | |
CN116567242A (en) | Image processing method, device and equipment | |
CN115706808B (en) | Video processing method and device | |
Mazhar et al. | Efficient Video Encoding Acceleration for Cloud Gaming | |
CN116170609B (en) | Video transcoding method and device, live broadcast server, terminal equipment and storage medium | |
CN116708933B (en) | Video coding method and device | |
EP3989566A1 (en) | Motion information list construction method in video encoding and decoding, device, and apparatus | |
Dragić et al. | Power consumption and bandwidth savings with video transcoding to mobile device-specific spatial resolution | |
CN116016957A (en) | Video processing method and device, computer equipment and storage medium | |
CN116527928A (en) | Image encoding method and device, electronic device, storage medium, and program product |
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 |