Video coding quality evaluation method, device, electronic device, storage medium and program product

By using transcoding to generate index information and performing direct evaluation in the video encoding and decoding quality evaluation, the problem of time-consuming and complexity in the existing technology is solved, and efficient and accurate video encoding and decoding quality evaluation is achieved.

CN118450116BActive Publication Date: 2025-08-22MOORE THREADS TECH CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202410550998.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-05-06
Publication Date
2025-08-22
Estimated Expiration
2044-05-06

AI Technical Summary

Technical Problem

The existing video codec quality evaluation methods have problems such as long time, high cost, complex evaluation process and difficult to quantify accurately. Especially in the case of multiple formats and parameters, the evaluation time has increased exponentially, affecting efficiency.

Method used

By obtaining the first encoding file of the test video, transcoding is used to generate the second encoding file, and index information is generated during the transcoding process, the quality evaluation of the transcoding part is directly carried out, the encoding and decoding evaluation process is simplified, and objective indicators and algorithms are used for evaluation, and subjective evaluation is supported to ensure accuracy.

Benefits of technology

The video encoding and codec quality evaluation process is simplified, the evaluation complexity and time is reduced, the evaluation efficiency and practicality are improved, and the efficient evaluation of different encoding and codec formats is achieved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118450116B_ABST
    Figure CN118450116B_ABST
Patent Text Reader

Abstract

The present disclosure relates to a method, apparatus, electronic device, storage medium, and program product for evaluating video codec quality. The method comprises: obtaining a first encoded file of a test video; transcoding the first encoded file using a device under test based on a codec format to obtain a second encoded file of the test video; and performing a quality evaluation on the second encoded file to obtain a quality evaluation result of the codec format under test on the device under test.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of computer technology, and in particular to a method for evaluating video coding and decoding quality, a device for evaluating video coding and decoding quality, an electronic device, a computer-readable storage medium, and a computer program product. Background Art

[0002] With the rapid development of multimedia technology, video codec technology has been widely used in various fields, including daily life, entertainment, education, and work. To ensure that video quality meets user needs, video codec quality evaluation is particularly important. Currently, video codec quality evaluation is mainly divided into two categories: subjective evaluation and objective evaluation.

[0003] Subjective evaluation relies primarily on human visual perception and brain processing, with testers providing a subjective assessment of video quality. For example, subjective evaluation results of video quality can be collected through questionnaires, scoring tables, and interviews. While subjective evaluation methods can truly reflect the human eye's perception of video quality, they require recruiting a team of testers, providing a testing environment, and collecting evaluation data. This process is time-consuming and costly, and is limited by the number of testers and their availability. Furthermore, repeated evaluations over extended periods can lead to tester fatigue, affecting the accuracy of the evaluation results. Furthermore, subjective evaluation results are often qualitative, making precise quantitative analysis difficult.

[0004] Objective evaluation uses computer algorithms and mathematical models to automatically evaluate video quality without human intervention. Objective evaluation can use indicators and algorithms such as PSNR (Peak Signal-to-Noise Ratio), SSIM (Structural Similarity Index), VMAF (Video Multi-method Assessment Fusion) to quantify video quality, and is efficient and accurate. However, there are many objective evaluation algorithms, and each algorithm has its applicable scenarios and limitations. In addition, when it is necessary to combine subjective and objective evaluations, the number of test items and evaluation time will be the sum of the two.

[0005] In addition, in related technologies, both subjective and objective evaluations have the problem of complex evaluation processes. The file-level unpacking and packaging operations involved in the encoding and decoding process, as well as the frequent reading and writing of files, result in long waiting times for actual tests. When it is necessary to evaluate the quality of video encoding and decoding in multiple formats, different encoding parameters such as bit rates, GOP (Group of Pictures) parameters, and resolutions can be orthogonally combined to produce different test cases, resulting in an exponential increase in test duration, which seriously affects the efficiency of the evaluation. Although increasing hardware investment can reduce time consumption, this input-output ratio is not suitable for all teams. Summary of the Invention

[0006] The present disclosure provides a technical solution for evaluating video encoding and decoding quality.

[0007] According to one aspect of the present disclosure, a method for evaluating video encoding and decoding quality is provided, comprising:

[0008] Obtaining a first encoded file of a test video;

[0009] Transcoding the first encoded file based on the codec format to be tested by the device to be tested to obtain a second encoded file of the test video;

[0010] A quality evaluation is performed on the second encoded file to obtain a quality evaluation result of the codec format to be tested on the device to be tested.

[0011] In one possible implementation,

[0012] The method further includes: in a process of transcoding the first encoded file, generating first index information corresponding to a transcoded portion of the first encoded file;

[0013] The performing quality evaluation on the second encoded file includes: performing quality evaluation on a portion of the second encoded file corresponding to the first index information.

[0014] In a possible implementation, the performing quality evaluation on the portion corresponding to the first index information in the second encoded file includes:

[0015] Parsing the first index information to determine a target starting position and a target length of a portion of the first encoded file that has been transcoded and has not yet been quality-assessed, in the second encoded file;

[0016] extracting a target portion from the second encoded file according to the target starting position and the target length;

[0017] A quality assessment is performed on the target portion.

[0018] In a possible implementation, performing quality evaluation on the second encoded file to obtain a quality evaluation result of the codec format to be tested on the device to be tested includes:

[0019] An objective quality evaluation is performed on the second encoded file to obtain an objective quality evaluation result of the codec format to be tested on the device to be tested.

[0020] In a possible implementation, the objective quality evaluation of the second encoded file to obtain an objective quality evaluation result of the codec format to be tested on the device to be tested includes:

[0021] Using a preset indicator and / or algorithm, comparing the quality of the second encoded file with that of the first encoded file to obtain a quality calculation result of the second encoded file;

[0022] An objective quality evaluation result of the codec format to be tested on the device to be tested is determined according to a quality calculation result of the second encoded file.

[0023] In a possible implementation, after obtaining the quality calculation result of the second encoded file, the method further includes:

[0024] The quality calculation result of the second encoded file is persistently stored.

[0025] In a possible implementation, determining, based on the quality calculation result of the second encoded file, an objective quality evaluation result of the codec format to be tested on the device to be tested includes:

[0026] generating, according to a quality calculation result of the second encoded file, second index information corresponding to a portion of the second encoded file with abnormal quality;

[0027] An objective quality evaluation result of the codec format to be tested on the device to be tested is determined according to the second index information, or according to the second index information and the quality calculation result.

[0028] In a possible implementation, the performing quality evaluation on the second encoded file to obtain a quality evaluation result of the codec format to be tested on the device to be tested further includes:

[0029] In response to the objective quality evaluation failing, a subjective quality evaluation result of the codec format to be tested on the device to be tested is obtained.

[0030] According to one aspect of the present disclosure, a device for evaluating video encoding and decoding quality is provided, comprising:

[0031] An acquisition module, configured to acquire a first encoded file of a test video;

[0032] a transcoding module, configured to transcode the first encoded file based on the codec format to be tested by the device to be tested, to obtain a second encoded file of the test video;

[0033] The quality evaluation module is used to perform quality evaluation on the second encoded file to obtain a quality evaluation result of the codec format to be tested on the device to be tested.

[0034] In one possible implementation,

[0035] The apparatus further includes: a generating module configured to generate, during the process of transcoding the first encoded file, first index information corresponding to a transcoded portion of the first encoded file;

[0036] The quality evaluation module is used to perform quality evaluation on the portion of the second encoded file corresponding to the first index information.

[0037] In a possible implementation, the quality assessment module is used to:

[0038] Parsing the first index information to determine a target starting position and a target length of a portion of the first encoded file that has been transcoded and has not yet been quality-assessed, in the second encoded file;

[0039] extracting a target portion from the second encoded file according to the target starting position and the target length;

[0040] A quality assessment is performed on the target portion.

[0041] In a possible implementation, the quality assessment module is used to:

[0042] An objective quality evaluation is performed on the second encoded file to obtain an objective quality evaluation result of the codec format to be tested on the device to be tested.

[0043] In a possible implementation, the quality assessment module is used to:

[0044] Using a preset indicator and / or algorithm, comparing the quality of the second encoded file with that of the first encoded file to obtain a quality calculation result of the second encoded file;

[0045] An objective quality evaluation result of the codec format to be tested on the device to be tested is determined according to a quality calculation result of the second encoded file.

[0046] In a possible implementation, the apparatus further includes:

[0047] A storage module is used to persistently store the quality calculation result of the second encoded file.

[0048] In a possible implementation, the quality assessment module is used to:

[0049] generating, according to a quality calculation result of the second encoded file, second index information corresponding to a portion of the second encoded file with abnormal quality;

[0050] An objective quality evaluation result of the codec format to be tested on the device to be tested is determined according to the second index information, or according to the second index information and the quality calculation result.

[0051] In a possible implementation, the quality assessment module is used to:

[0052] In response to the objective quality evaluation failing, a subjective quality evaluation result of the codec format to be tested on the device to be tested is obtained.

[0053] According to one aspect of the present disclosure, an electronic device is provided, comprising: one or more processors; a memory for storing executable instructions; wherein the one or more processors are configured to call the executable instructions stored in the memory to execute the above method.

[0054] According to one aspect of the present disclosure, a computer-readable storage medium is provided, on which computer program instructions are stored. When the computer program instructions are executed by a processor, the above method is implemented.

[0055] According to one aspect of the present disclosure, a computer program product is provided, including a computer-readable code, or a non-volatile computer-readable storage medium carrying the computer-readable code. When the computer-readable code runs in an electronic device, a processor in the electronic device executes the above method.

[0056] In an embodiment of the present disclosure, a first encoded file of a test video is obtained, the first encoded file is transcoded by the device under test based on the codec format to be tested to obtain a second encoded file of the test video, and quality evaluation is performed on the second encoded file to obtain a quality evaluation result of the codec format to be tested on the device under test. Therefore, when evaluating different video codec formats on the device under test, the encoding evaluation process and the decoding evaluation process are simplified into the same process through transcoding, and there is no need to repeatedly read the uncompressed Y4M file or repeatedly encode the uncompressed Y4M file, thereby simplifying the video codec quality evaluation process, reducing the complexity of the video codec quality evaluation, reducing the video codec quality evaluation time, and improving the efficiency and practicality of the video codec quality evaluation.

[0057] It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the disclosure.

[0058] Further features and aspects of the present disclosure will become apparent from the following detailed description of exemplary embodiments with reference to the attached drawings. BRIEF DESCRIPTION OF THE DRAWINGS

[0059] The accompanying drawings herein are incorporated into and constitute a part of the specification. These drawings illustrate embodiments consistent with the present disclosure and, together with the specification, are used to explain the technical solutions of the present disclosure.

[0060] Figure 1 A comparison diagram is shown between a video codec quality evaluation process in related art and a video codec quality evaluation process provided by an embodiment of the present disclosure.

[0061] Figure 2 A flowchart of a method for evaluating video encoding and decoding quality provided by an embodiment of the present disclosure is shown.

[0062] Figure 3 A comparison diagram is shown between a video encoding quality evaluation process in related art and a video encoding and decoding quality evaluation process provided by an embodiment of the present disclosure.

[0063] Figure 4 A schematic diagram illustrating a method for evaluating video encoding and decoding quality provided by an embodiment of the present disclosure is shown.

[0064] Figure 5 A block diagram of a device for evaluating video encoding and decoding quality provided by an embodiment of the present disclosure is shown.

[0065] Figure 6 A block diagram of an electronic device 1900 provided by an embodiment of the present disclosure is shown. DETAILED DESCRIPTION

[0066] Various exemplary embodiments, features, and aspects of the present disclosure will be described in detail below with reference to the accompanying drawings. The same reference numerals in the accompanying drawings represent elements with the same or similar functions. Although various aspects of the embodiments are shown in the accompanying drawings, the drawings are not necessarily drawn to scale unless otherwise indicated.

[0067] The word “exemplary” is used exclusively herein to mean “serving as an example, example, or illustration.” Any embodiment described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other embodiments.

[0068] The term "and / or" herein simply describes an association relationship between associated objects, indicating that three relationships can exist. For example, "A and / or B" can represent the existence of three situations: A alone, A and B simultaneously, and B alone. Furthermore, the term "at least one" herein refers to any combination of at least two of any one or more of a plurality of items. For example, "at least one of A, B, and C" can represent any one or more elements selected from the set consisting of A, B, and C.

[0069] In addition, numerous specific details are provided in the following detailed description to better illustrate the present disclosure. Those skilled in the art will appreciate that the present disclosure can be practiced without certain specific details. In some instances, methods, means, components, and circuits well known to those skilled in the art are not described in detail in order to highlight the main points of the present disclosure.

[0070] Video codec quality evaluation refers to the process of evaluating and testing the image quality of videos during the encoding and decoding processes. During video encoding and compression, the encoder converts the original video data into a smaller format that is easier to transmit and store, while the decoder is responsible for restoring this compressed data back to the original, playable video data. During this process, video quality may be lost due to factors such as compression algorithms or errors during transmission. Video codec quality evaluation is necessary to assess the extent of this loss and ensure that the video quality after compression and decompression (i.e., encoding and decoding) still meets user requirements.

[0071] The disclosed embodiment provides a method for evaluating the quality of video codecs, by obtaining a first encoded file of a test video, transcoding the first encoded file based on the codec format to be tested by a device to be tested, obtaining a second encoded file of the test video, and performing quality evaluation on the second encoded file to obtain a quality evaluation result of the codec format to be tested on the device to be tested. Therefore, when evaluating different video codec formats on the device to be tested, the encoding evaluation process and the decoding evaluation process are simplified into the same process through transcoding, and there is no need to repeatedly read uncompressed Y4M files or repeatedly encode uncompressed Y4M files, thereby simplifying the evaluation process of video codec quality, reducing the complexity of video codec quality evaluation, reducing the evaluation time of video codec quality, and improving the efficiency and practicality of video codec quality evaluation.

[0072] Figure 1 A comparison diagram showing the video encoding and decoding quality evaluation process in the related art and the video encoding and decoding quality evaluation process provided by the embodiment of the present disclosure is shown. Figure 1In the figure, the part above the thick arrow (i.e., in the dotted box) is the video codec quality evaluation process in the related art, and the part below the thick arrow is the video codec quality evaluation process provided by the embodiment of the present disclosure.

[0073] like Figure 1 As shown, in the related art, the video encoding quality and video decoding quality are evaluated separately. For example, the sum of the number of evaluations of video encoding quality and video decoding quality is n, and the number of abnormal retests is N, then the total number of evaluations in the related art is n+N.

[0074] In the embodiment of the present disclosure, transcoding is used to cover decoding and encoding, and the results are tested once. Therefore, the total number of evaluations in the video codec quality evaluation process provided by the embodiment of the present disclosure is n / 2 + N. As can be seen, compared with related technologies, the embodiment of the present disclosure can simplify the video codec quality evaluation process.

[0075] The following describes in detail the video encoding and decoding quality evaluation method provided by the embodiment of the present disclosure with reference to the accompanying drawings.

[0076] Figure 2 A flow chart of a method for evaluating the quality of video coding and decoding provided by an embodiment of the present disclosure is shown. In one possible implementation, the execution subject of the method for evaluating the quality of video coding and decoding may be a device for evaluating the quality of video coding and decoding. For example, the method for evaluating the quality of video coding and decoding may be executed by a terminal device or a server or other electronic device. The terminal device may be a user equipment (UE), a mobile device, a user terminal, a terminal, a cellular phone, a cordless phone, a personal digital assistant (PDA), a handheld device, a computing device, a vehicle-mounted device or a wearable device, etc. In some possible implementations, the method for evaluating the quality of video coding and decoding may be implemented by a processor calling computer-readable instructions stored in a memory. As Figure 2 As shown, the method for evaluating video encoding and decoding quality includes steps S21 to S23.

[0077] In step S21, a first encoded file of a test video is obtained.

[0078] In step S22, the first encoded file is transcoded by the device under test based on the codec format under test to obtain a second encoded file of the test video.

[0079] In step S23, a quality evaluation is performed on the second encoded file to obtain a quality evaluation result of the codec format to be tested on the device to be tested.

[0080] In an embodiment of the present disclosure, a test video may represent a video used to test the quality of video codecs on a device under test. The first encoded file of the test video may be an encoded file that complies with a specific industry or international standard (such as H.264, H.265, VP9, ​​etc.). The first encoded file can be used to test the performance, compatibility, and image quality of the codec in the device under test. Since the first encoded file follows a standard format, the consistency and comparability of the test can be ensured. For example, the first encoded file may be an .mp4 file, encoded using H.264, with a resolution of 1920x1080 and a frame rate of 30fps.

[0081] In a possible implementation, the first encoded file of the test video may be stored in an object storage service so as to be accessed and shared at any time.

[0082] In a possible implementation, when different video codec formats are evaluated in the device under test, the same first encoded file can be used. Figure 1 In the example shown, the first encoded file may be the “encoded file” on the left side of “transcoding”.

[0083] In the embodiments of the present disclosure, the device under test may also be referred to as a test object, etc., which is not limited here. For example, the device under test may be a graphics card, etc.

[0084] In an embodiment of the present disclosure, transcoding the first encoded file based on the codec format to be tested by the device under test to obtain a second encoded file of the test video may include: decoding the first encoded file using the decoding format corresponding to the first encoded file by the device under test to obtain a first decoded file corresponding to the first encoded file, and encoding the first decoded file based on the encoding format in the codec format to be tested to obtain the second encoded file. When decoding the first encoded file, either hard decoding or soft decoding may be used.

[0085] In one possible implementation, the method further includes: in the process of transcoding the first encoded file, generating first index information corresponding to the transcoded part of the first encoded file; and performing quality evaluation on the second encoded file, including: performing quality evaluation on the part corresponding to the first index information in the second encoded file.

[0086] In this implementation, during the transcoding process of a first encoded file, first index information corresponding to a transcoded portion of the first encoded file may be generated. The transcoded portion of the first encoded file may refer to a portion of the first encoded file that has been decoded and encoded. The first index information may indicate index information corresponding to the transcoded portion of the first encoded file. The first index information may include information such as a timestamp, a frame number, and a keyframe position, which is not limited herein.

[0087] In this implementation, a transcoding tool that supports an indexing function can be used to transcode the first encoded file to generate first index information. As an example of this implementation, the ffmpeg media processing framework can be used to transcode the first encoded file, and a specific plug-in can be loaded to enable the first encoded file to generate independent first index information after transcoding. The first index information can be used to help quickly locate a specific part in the video, such as quickly locating a certain time point in the video. In this example, a NUT (New Universal Transport) container can be created. The NUT container is a self-contained container that can integrate video data and index information. By adopting the NUT container, it is possible to store video data and index information simultaneously in a single file.

[0088] Figure 3 A comparison diagram showing the video encoding quality evaluation process in the related art and the video encoding and decoding quality evaluation process provided by the embodiment of the present disclosure is shown. Figure 3 In FIG, the video encoding quality evaluation process in the related art is shown above the thick arrow, and the video encoding and decoding quality evaluation process provided by the embodiment of the present disclosure is shown below the thick arrow. Figure 3 As shown, in the related art, the encoded file is decoded and quality data is calculated only after the encoding of the uncompressed Y4M file is completed. In the embodiment of the present disclosure, by generating first index information corresponding to the transcoded portion of the first encoded file during the transcoding process, the transcoded portion of the first encoded file can be immediately decoded and quality data calculated (for example, the quality calculation result can be determined) without waiting for the first encoded file to be fully transcoded. Therefore, by adopting the embodiment of the present disclosure, the effect of real-time detection and reduced testing time can be achieved.

[0089] As an example of this implementation, the performing quality evaluation on the portion corresponding to the first index information in the second encoded file includes: in response to the generation of the first index information, performing quality evaluation on the portion corresponding to the first index information in the second encoded file.

[0090] In this example, once the corresponding first index information for any portion of the first encoded file is generated, this index information can be immediately used to directly retrieve the data for that portion and perform quality assessment. In other words, in this example, the generation of the first index information can be tracked in real time. Once the first index information for a portion is ready, the data for that portion can be quickly located and extracted, and then quality assessment can be performed, thus achieving instant assessment of each portion of the encoded file. This immediate response mechanism avoids the long waiting times that may exist in traditional assessment methods, making the assessment process more efficient.

[0091] This example generates quality assessment of the portion of the second encoded file corresponding to the first index information in response to the first index information, thereby enabling instant acquisition of each portion of the encoded file for assessment without waiting for the entire file to be processed, thereby shortening the time required for assessment.

[0092] As an example of this implementation method, the quality assessment of the part corresponding to the first index information in the second encoded file includes: parsing the first index information, determining the target starting position and target length of the part of the first encoded file that has been transcoded and not yet quality assessed in the second encoded file; extracting the target part from the second encoded file based on the target starting position and the target length; and performing quality assessment on the target part.

[0093] In this example, by parsing the first index information, the portion of the first encoded file that has been transcoded and has not yet undergone quality evaluation can be located in the second encoded file, that is, the target starting position and target length of the portion of the first encoded file that has been transcoded and has not yet undergone quality evaluation in the second encoded file can be determined. The target starting position can represent the starting position of the portion of the first encoded file that has been transcoded and has not yet undergone quality evaluation in the second encoded file, and the target length can represent the length of the portion of the first encoded file that has been transcoded and has not yet undergone quality evaluation in the second encoded file.

[0094] Based on the target starting position and target length obtained through parsing, a corresponding target portion can be extracted from the second encoded file. The target portion can be a portion of the second encoded file that starts at the target starting position and has a length equal to the target length. After extracting the target portion from the second encoded file, a quality assessment can be performed on the target portion.

[0095] In this example, by parsing the first index information, the target starting position and target length of the part of the first encoded file that has been transcoded and has not yet been quality evaluated are determined in the second encoded file. Based on the target starting position and the target length, the target part is extracted from the second encoded file, and the quality evaluation of the target part is performed, thereby shortening the time required for the evaluation.

[0096] In one possible implementation, if the first index information exists, the corresponding part in the second encoded file can be read according to the first index information and an objective quality evaluation can be performed; if the first index information does not exist, the second encoded file can be directly read and an objective quality evaluation can be performed.

[0097] In one possible implementation, performing quality evaluation on the second encoded file to obtain a quality evaluation result of the codec format to be tested on the device to be tested includes: performing objective quality evaluation on the second encoded file to obtain an objective quality evaluation result of the codec format to be tested on the device to be tested.

[0098] In this implementation, the quality evaluation result of the codec format to be tested on the device to be tested may include an objective quality evaluation result of the codec format to be tested on the device to be tested.

[0099] As an example of this implementation, a corresponding quality calculation module can be matched according to the loaded quality detection configuration file, and the second encoded file can be objectively evaluated by the corresponding quality calculation module. Among them, the quality calculation module can include an SSIM (Structural Similarity Index) quality calculation module, a PSNR (Peak Signal-to-Noise Ratio) quality calculation module, a VMAF (Video Multi-method Assessment Fusion) quality calculation module, etc., which are not limited here.

[0100] As an example of this implementation, before performing video codec quality evaluation on the device under test, a quality test can be performed on the test video to obtain a quality test value for the test video. This quality test value can then be saved as quality reference data for the test video. In this example, based on the quality reference data for the test video and the quality test value of the second encoded file, an objective quality evaluation result for the codec format under test on the device under test can be obtained.

[0101] In one possible implementation, the objective quality evaluation of the second encoded file to obtain the objective quality evaluation result of the codec format to be tested on the device to be tested includes: using preset indicators and / or algorithms to perform quality detection on the second encoded file to obtain the quality calculation result of the second encoded file; and determining the objective quality evaluation result of the codec format to be tested on the device to be tested based on the quality calculation result of the second encoded file.

[0102] Among them, the preset indicators and algorithms may include at least one of SSIM, PSNR, VMAF, etc., which are not limited here.

[0103] In this implementation, a quality detection value of the second encoded file can be obtained based on a preset indicator and / or algorithm, and the quality detection value of the second encoded file can be compared with the quality reference data of the test video to obtain a quality calculation result of the second encoded file. After obtaining the quality calculation result of the second encoded file, the quality calculation result of the second encoded file can be processed to obtain an objective quality evaluation result of the codec format to be tested on the device under test, or the quality calculation result of the second encoded file can be directly used as the objective quality evaluation result of the codec format to be tested on the device under test.

[0104] In a possible implementation, after obtaining the quality calculation result of the second encoded file, the method further includes: persistently storing the quality calculation result of the second encoded file.

[0105] In this implementation, the quality calculation result of the second encoded file can be saved in CSV (Comma-Separated Values) or other persistent storage formats, which is not limited here.

[0106] In this implementation, after obtaining the quality calculation result of the second encoded file, the quality calculation result of the second encoded file is persistently stored, thereby enabling the quality calculation result of the second encoded file to be reused.

[0107] In a possible implementation, after the quality detection value of the second encoded file is obtained, the quality detection value of the second encoded file may be persistently stored.

[0108] In one possible implementation, determining the objective quality evaluation result of the codec format to be tested on the device to be tested based on the quality calculation result of the second encoded file includes: generating second index information corresponding to the part with abnormal quality in the second encoded file based on the quality calculation result of the second encoded file; determining the objective quality evaluation result of the codec format to be tested on the device to be tested based on the second index information, or based on the second index information and the quality calculation result.

[0109] In this implementation, an index can be created for the abnormal results to facilitate quick location of the part with abnormal quality. The second index information may include information such as a timestamp, a frame number, and a quality calculation result, which is not limited here.

[0110] As an example of this implementation, an objective quality evaluation result of the codec format under test on the device under test can be determined based on the second index information and the quality calculation result. In one example, the objective quality evaluation result of the codec format under test on the device under test can include the second index information and the quality calculation result. That is, the objective quality evaluation result of the codec format under test on the device under test can include both quality information corresponding to portions with abnormal quality and information corresponding to portions with normal quality.

[0111] As another example of this implementation, an objective quality evaluation result of the codec format under test on the device under test can be determined based on the second index information. In one example, the objective quality evaluation result of the codec format under test on the device under test can include the second index information. In this example, the objective quality evaluation result of the codec format under test on the device under test can only include quality information corresponding to the portion with abnormal quality.

[0112] In a possible implementation, performing quality evaluation on the second encoded file to obtain a quality evaluation result of the codec format to be tested on the device to be tested further includes: in response to a failure of the objective quality evaluation, obtaining a subjective quality evaluation result of the codec format to be tested on the device to be tested.

[0113] In this implementation, the quality evaluation result of the codec format to be tested on the device to be tested may include a subjective quality evaluation result of the codec format to be tested on the device to be tested.

[0114] Figure 4 A schematic diagram of a method for evaluating video encoding and decoding quality provided by an embodiment of the present disclosure is shown. Figure 4As shown, when objective quality evaluation fails (for example, assertion error or failure to detect), subjective quality evaluation can be performed by testers.

[0115] In this implementation, by responding to the failure of the objective quality evaluation, the subjective quality evaluation result of the codec format to be tested on the device to be tested is obtained, thereby reducing the content required for the tester to operate, but the coverage of the overall evaluation remains unchanged, thereby reducing the overall complexity of the test.

[0116] In one possible implementation, when the objective quality evaluation results are abnormal, a tester may conduct a subjective retest to improve the accuracy of the evaluation results.

[0117] In one possible implementation, test cases and scheduling scripts can be managed and version controlled using a code repository (such as GitHub, GitLab, etc.) to ensure consistency and repeatability of tests.

[0118] In a possible implementation, after obtaining the quality evaluation result of the codec format to be tested on the device to be tested, the method further includes: generating a visual test report according to the quality evaluation result.

[0119] The video encoding and decoding quality evaluation method provided by the embodiments of the present disclosure can be applied to technical fields such as software engineering, software testing, and video encoding and decoding, and is not limited here.

[0120] The following describes a specific application scenario to illustrate the video encoding and decoding quality evaluation method provided by the embodiment of the present disclosure.

[0121] In this application scenario, a test configuration file can be determined based on the tester's selection. The test configuration file may include the path to the first encoded file of the test video, a codec configuration file, a quality detection configuration file, quality reference data for the test video, and so on. For example, the test configuration file may be a YAML file.

[0122] The path to the first encoded file of the test video can be used to obtain the first encoded file of the test video. The codec configuration file can be used to configure the codec, such as the codec format, bit rate, resolution, frame rate, etc. The quality detection configuration file can be used to configure the quality detection indicators, algorithms, etc.

[0123] The device under test can transcode a first encoded file of a test video based on a codec configuration file to obtain a second encoded file of the test video. The first encoded file can be transcoded using the ffmpeg media processing framework, and a specific plug-in can be loaded to enable the first encoded file to generate independent first index information after transcoding. During the transcoding of the first encoded file, in response to the generation of first index information corresponding to any portion of the first encoded file, the portion can be obtained for quality assessment based on the first index information corresponding to the portion.

[0124] In the process of performing quality evaluation on the second encoded file, an objective quality evaluation may be performed first. If the objective quality evaluation fails, a subjective quality evaluation may be performed.

[0125] It is understood that the above-mentioned various method embodiments mentioned in this disclosure can be combined with each other to form combined embodiments without violating the principle logic. Due to space limitations, this disclosure will not go into details. It is understood by those skilled in the art that in the above-mentioned methods of specific implementation, the specific execution order of each step should be determined by its function and possible internal logic.

[0126] In addition, the present disclosure also provides a video codec quality evaluation device, an electronic device, a computer-readable storage medium, and a computer program product, all of which can be used to implement any video codec quality evaluation method provided by the present disclosure. The corresponding technical solutions and technical effects can be found in the corresponding records in the method section and will not be repeated here.

[0127] Figure 5 FIG. 1 is a block diagram of a device for evaluating video encoding and decoding quality provided by an embodiment of the present disclosure. Figure 5 As shown, the video encoding and decoding quality evaluation device includes:

[0128] An acquisition module 51 is configured to acquire a first encoded file of a test video;

[0129] The transcoding module 52 is configured to transcode the first encoded file based on the codec format to be tested by the device to be tested to obtain a second encoded file of the test video;

[0130] The quality evaluation module 53 is configured to perform a quality evaluation on the second encoded file to obtain a quality evaluation result of the codec format to be tested on the device to be tested.

[0131] In one possible implementation,

[0132] The apparatus further includes: a generating module configured to generate, during the process of transcoding the first encoded file, first index information corresponding to a transcoded portion of the first encoded file;

[0133] The quality evaluation module 53 is configured to perform quality evaluation on the portion of the second encoded file corresponding to the first index information.

[0134] In a possible implementation, the quality assessment module 53 is configured to:

[0135] In response to the generation of the first index information, a quality assessment is performed on a portion of the second encoded file corresponding to the first index information.

[0136] In a possible implementation, the quality assessment module 53 is configured to:

[0137] Parsing the first index information to determine a target starting position and a target length of a portion of the first encoded file that has been transcoded and has not yet been quality-assessed in the second encoded file;

[0138] extracting a target portion from the second encoded file according to the target starting position and the target length;

[0139] A quality assessment is performed on the target portion.

[0140] In a possible implementation, the quality assessment module 53 is configured to:

[0141] An objective quality evaluation is performed on the second encoded file to obtain an objective quality evaluation result of the codec format to be tested on the device to be tested.

[0142] In a possible implementation, the quality assessment module 53 is configured to:

[0143] Using a preset indicator and / or algorithm, comparing the quality of the second encoded file with that of the first encoded file to obtain a quality calculation result of the second encoded file;

[0144] An objective quality evaluation result of the codec format to be tested on the device to be tested is determined according to a quality calculation result of the second encoded file.

[0145] In a possible implementation, the apparatus further includes:

[0146] A storage module is used to persistently store the quality calculation result of the second encoded file.

[0147] In a possible implementation, the quality assessment module 53 is configured to:

[0148] generating, according to a quality calculation result of the second encoded file, second index information corresponding to a portion of the second encoded file with abnormal quality;

[0149] An objective quality evaluation result of the codec format to be tested on the device to be tested is determined according to the second index information, or according to the second index information and the quality calculation result.

[0150] In a possible implementation, the quality assessment module 53 is configured to:

[0151] In response to the objective quality evaluation failing, a subjective quality evaluation result of the codec format to be tested on the device to be tested is obtained.

[0152] In some embodiments, the functions or modules included in the device provided by the embodiments of the present disclosure can be used to execute the method described in the above method embodiments. Its specific implementation and technical effects can refer to the description of the above method embodiments. For the sake of brevity, they will not be repeated here.

[0153] The present disclosure also provides a computer-readable storage medium having computer program instructions stored thereon, wherein the computer program instructions, when executed by a processor, implement the above method. The computer-readable storage medium may be a non-volatile computer-readable storage medium or a volatile computer-readable storage medium.

[0154] The embodiment of the present disclosure further provides a computer program, comprising a computer-readable code. When the computer-readable code is executed in an electronic device, a processor in the electronic device executes the above method.

[0155] An embodiment of the present disclosure further provides a computer program product, including computer-readable code, or a non-volatile computer-readable storage medium carrying the computer-readable code. When the computer-readable code runs in an electronic device, a processor in the electronic device executes the above method.

[0156] An embodiment of the present disclosure also provides an electronic device, comprising: one or more processors; a memory for storing executable instructions; wherein the one or more processors are configured to call the executable instructions stored in the memory to execute the above method.

[0157] The electronic device may be provided as a terminal, a server, or other forms of devices.

[0158] Figure 6 FIG1 shows a block diagram of an electronic device 1900 provided by an embodiment of the present disclosure. For example, the electronic device 1900 can be provided as a server or a terminal. Figure 6The electronic device 1900 includes a processing component 1922, which further includes one or more processors, and a memory resource represented by a memory 1932 for storing instructions executable by the processing component 1922, such as an application. The application stored in the memory 1932 may include one or more modules, each corresponding to a set of instructions. In addition, the processing component 1922 is configured to execute the instructions to perform the above-described method.

[0159] The electronic device 1900 may further include a power supply component 1926 configured to perform power management of the electronic device 1900, a wired or wireless network interface 1950 configured to connect the electronic device 1900 to a network, and an input / output interface 1958 (I / O interface). The electronic device 1900 may operate based on an operating system stored in the memory 1932, such as a Microsoft Server operating system (Windows Server 2003). TM ), a graphical user interface operating system launched by Apple (MacOS X TM ), a multi-user, multi-process computer operating system (Unix TM ), a free and open source Unix-like operating system (Linux TM ), an open-source Unix-like operating system (FreeBSD TM ) or similar.

[0160] In an exemplary embodiment, a non-volatile computer-readable storage medium is also provided, such as a memory 1932 including computer program instructions that can be executed by the processing component 1922 of the electronic device 1900 to perform the above method.

[0161] The present disclosure may be a system, method and / or computer program product. The computer program product may include a computer-readable storage medium carrying computer-readable program instructions for causing a processor to implement various aspects of the present disclosure.

[0162] A computer-readable storage medium can be a tangible device that can hold and store instructions for use by an instruction execution device. A computer-readable storage medium can be, for example, but not limited to, an electrical storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination thereof. More specific examples (a non-exhaustive list) of computer-readable storage media include: a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanical encoding device, such as a punch card or a raised structure in a groove on which instructions are stored, and any suitable combination thereof. As used herein, a computer-readable storage medium is not to be construed as a transient signal per se, such as a radio wave or other freely propagating electromagnetic wave, an electromagnetic wave propagating through a waveguide or other transmission medium (e.g., a light pulse through a fiber optic cable), or an electrical signal transmitted through an electrical wire.

[0163] The computer-readable program instructions described herein can be downloaded from a computer-readable storage medium to each computing / processing device, or downloaded to an external computer or external storage device via a network, such as the Internet, a local area network, a wide area network, and / or a wireless network. The network can include copper transmission cables, fiber optic transmission, wireless transmission, routers, firewalls, switches, gateway computers, and / or edge servers. The network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and forwards the computer-readable program instructions to be stored in the computer-readable storage medium in each computing / processing device.

[0164] The computer program instructions for performing the operations of the present disclosure may be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state setting data, or source code or object code written in any combination of one or more programming languages, including object-oriented programming languages ​​such as Smalltalk, C++, and conventional procedural programming languages ​​such as "C" language or similar programming languages. Computer-readable program instructions may be executed entirely on a user's computer, partially on a user's computer, as an independent software package, partially on a user's computer, partially on a remote computer, or entirely on a remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer via any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., utilizing an Internet service provider to connect via the Internet). In some embodiments, an electronic circuit, such as a programmable logic circuit, a field programmable gate array (FPGA), or a programmable logic array (PLA), may be personalized by utilizing the state information of the computer-readable program instructions. The electronic circuit may execute the computer-readable program instructions, thereby realizing various aspects of the present disclosure.

[0165] Various aspects of the present disclosure are described herein with reference to flowcharts and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the present disclosure. It should be understood that each block of the flowcharts and / or block diagrams, and combinations of blocks in the flowcharts and / or block diagrams, can be implemented by computer-readable program instructions.

[0166] These computer-readable program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device, thereby producing a machine, so that when these instructions are executed by the processor of the computer or other programmable data processing device, a device is generated that implements the functions / actions specified in one or more blocks in the flowchart and / or block diagram. These computer-readable program instructions can also be stored in a computer-readable storage medium, where these instructions cause the computer, programmable data processing device, and / or other device to operate in a specific manner. Thus, the computer-readable medium storing the instructions comprises an article of manufacture that includes instructions for implementing various aspects of the functions / actions specified in one or more blocks in the flowchart and / or block diagram.

[0167] Computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device so that a series of operational steps are performed on the computer, other programmable data processing apparatus, or other device to produce a computer-implemented process, thereby causing the instructions executed on the computer, other programmable data processing apparatus, or other device to implement the functions / actions specified in one or more blocks in the flowchart and / or block diagram.

[0168] The flow charts and block diagrams in the accompanying drawings show the possible architecture, functions and operations of the systems, methods and computer program products according to multiple embodiments of the present disclosure. In this regard, each box in the flow chart or block diagram can represent a part of a module, program segment or instruction, and the part of the module, program segment or instruction contains one or more executable instructions for realizing the prescribed logical function. In some alternative implementations, the functions marked in the box can also occur in a sequence different from that marked in the accompanying drawings. For example, two consecutive boxes can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram and / or flow chart, and the combination of the boxes in the block diagram and / or flow chart can be implemented by a dedicated hardware-based system that performs the prescribed function or action, or can be implemented by a combination of dedicated hardware and computer instructions.

[0169] The computer program product may be implemented in hardware, software, or a combination thereof. In one embodiment, the computer program product is implemented as a computer storage medium. In another embodiment, the computer program product is implemented as a software product, such as a software development kit (SDK).

[0170] The above description of the various embodiments tends to emphasize the differences between the various embodiments. The same or similar aspects can be referenced with each other and will not be repeated herein for the sake of brevity.

[0171] If the technical solutions of the embodiments of the present disclosure involve personal information, the products applying the technical solutions of the embodiments of the present disclosure have clearly informed the personal information processing rules and obtained the individual's voluntary consent before processing the personal information. If the technical solutions of the embodiments of the present disclosure involve sensitive personal information, the products applying the technical solutions of the embodiments of the present disclosure have obtained the individual's separate consent before processing the sensitive personal information, and at the same time meet the "explicit consent" requirement. For example, on personal information collection devices such as cameras, clear and prominent signs are set to inform that the personal information collection scope has been entered and personal information will be collected. If the individual voluntarily enters the collection scope, it is deemed that they agree to the collection of their personal information; or on the personal information processing device, when the personal information processing rules are notified by obvious signs / information, the individual's authorization is obtained through pop-up information or by asking the individual to upload their personal information. The personal information processing rules may include information such as the personal information processor, the purpose of personal information processing, the processing method, and the type of personal information processed.

[0172] While various embodiments of the present disclosure have been described above, the above descriptions are illustrative, non-exhaustive, and not intended to be limiting of the disclosed embodiments. Many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of the described embodiments. The terminology used herein is selected to best explain the principles of the embodiments, their practical applications, or improvements to existing technologies, or to enable others skilled in the art to understand the embodiments disclosed herein.

Claims

1. A method for evaluating video encoding and decoding quality, characterized in that: include: Obtaining a first encoded file of a test video; Transcoding the first encoded file based on the codec format to be tested by the device under test to obtain a second encoded file of the test video, and generating first index information corresponding to the transcoded portion of the first encoded file during the transcoding of the first encoded file; Performing a quality evaluation on the second encoded file to obtain a quality evaluation result of the codec format to be tested on the device to be tested; The performing quality assessment on the second encoded file includes: in response to the generation of the first index information, parsing the first index information, determining a target starting position and a target length of a portion of the first encoded file that has been transcoded and has not yet been quality assessed in the second encoded file; extracting a target portion from the second encoded file based on the target starting position and the target length; and performing quality assessment on the target portion. The quality evaluation of the second encoded file to obtain the quality evaluation result of the codec format to be tested on the device to be tested includes: using preset indicators and / or algorithms to compare the quality of the second encoded file with that of the first encoded file to obtain a quality calculation result of the second encoded file; generating second index information corresponding to the part with abnormal quality in the second encoded file based on the quality calculation result of the second encoded file; and determining the objective quality evaluation result of the codec format to be tested on the device to be tested based on the second index information, or based on the second index information and the quality calculation result.

2. The method according to claim 1, characterized in that After obtaining the quality calculation result of the second encoded file, the method further includes: The quality calculation result of the second encoded file is persistently stored.

3. The method according to claim 1, characterized in that The performing of quality evaluation on the second encoded file to obtain a quality evaluation result of the codec format to be tested on the device to be tested further includes: In response to the objective quality evaluation failing, a subjective quality evaluation result of the codec format to be tested on the device to be tested is obtained.

4. A device for evaluating video encoding and decoding quality, characterized in that: include: An acquisition module, configured to acquire a first encoded file of a test video; a transcoding module, configured to transcode the first encoded file based on the codec format to be tested by the device to be tested, to obtain a second encoded file of the test video; a generating module, configured to generate, during transcoding of the first encoded file, first index information corresponding to a transcoded portion of the first encoded file; A quality evaluation module, configured to perform a quality evaluation on the second encoded file to obtain a quality evaluation result of the codec format to be tested on the device to be tested; The quality assessment module is configured to: in response to the generation of the first index information, parse the first index information, determine a target starting position and a target length of a portion of the first encoded file that has been transcoded and has not yet been quality assessed in the second encoded file; extract a target portion from the second encoded file based on the target starting position and the target length; and perform quality assessment on the target portion; The quality evaluation module is further configured to: compare the quality of the second encoded file with that of the first encoded file using a preset indicator and / or algorithm to obtain a quality calculation result of the second encoded file; and generate second index information corresponding to the portion of the second encoded file having abnormal quality based on the quality calculation result of the second encoded file; An objective quality evaluation result of the codec format to be tested on the device to be tested is determined according to the second index information, or according to the second index information and the quality calculation result.

5. An electronic device, characterized in that: include: one or more processors; a memory for storing executable instructions; The one or more processors are configured to call the executable instructions stored in the memory to execute the method according to any one of claims 1 to 3.

6. A computer-readable storage medium having computer program instructions stored thereon, characterized in that: When the computer program instructions are executed by a processor, the method according to any one of claims 1 to 3 is implemented.

7. A computer program product comprising computer-readable code, or a non-volatile computer-readable storage medium carrying computer-readable code, characterized in that: When the computer-readable code is executed in an electronic device, a processor in the electronic device executes the method according to any one of claims 1 to 3.

Citation Information

Patent Citations

  • Method of realizing detection on broken screen defect in video file based on video decoder

    CN104202611A

  • Transcoding quality evaluation method and device, electronic equipment and computer storage medium

    CN112153379A

  • Transcoding performance test method and device, electronic equipment and readable storage medium

    CN115767073A