Video quality evaluation method and device, computer equipment and storage medium
By jitter buffering, segment analysis and encoding tree coding processing of video data in the digital medical field, and calculating video quality scores, the problem that traditional methods are difficult to accurately evaluate video data quality is solved, and efficient and accurate video quality evaluation is achieved.
Patent Information
- Application Number
- CN202411566609.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-05
- Publication Date
- 2025-02-28
AI Technical Summary
In the field of digital health, traditional methods are difficult to fully and accurately evaluate the quality of video data, especially when facing large-scale video data, inefficiency becomes a bottleneck.
By obtaining the video data to be evaluated, jitter buffering is performed to obtain a standard video data stream, and then performing fragment analysis of the data stream, encoding the video stream segments based on the encoding tree encoding method, determining whether the video encoding unit is in a non-skip mode, and calculating the video quality score based on the preset image sequence set parameters.
It realizes reference-free and accurate evaluation of the quality of video data to be evaluated, and improves the efficiency and accuracy of video data evaluation.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of image processing technology, specifically to the field of digital medicine, and in particular to a video quality assessment method, apparatus, computer equipment and storage medium. Background Art
[0002] In the field of digital medicine, video quality assessment is a critical technical challenge. With the rapid development of applications such as telemedicine, online diagnosis and treatment, and medical image analysis, video data has become an important part of medical information. However, traditional methods often find it difficult to fully and accurately assess the quality of these video data, especially when faced with large-scale video data, and inefficiency becomes a major bottleneck.
[0003] Video data itself has multi-level structural characteristics, including continuity in the temporal dimension and complexity in the spatial dimension. These characteristics make video quality assessment particularly complex. How to effectively extract and analyze these multi-dimensional features and associate them with human subjective perception has become a core problem that needs to be solved in the field of video quality assessment. In digital medicine, the quality of video is directly related to the doctor's accurate judgment of the patient's condition, so the assessment requirements for video quality are more stringent.
[0004] In addition, jitter, distortion and other problems may occur during the transmission and processing of video data, which will seriously affect the accuracy of video quality assessment. At the same time, videos of different types and contents have different quality requirements. For example, medical imaging videos have much higher requirements for clarity and detail than ordinary videos. Therefore, how to establish a universal and flexible evaluation standard to meet the quality assessment needs of different types of videos is also a major challenge facing the digital medical field. In practical applications, video quality assessment also needs to find a balance between accuracy and efficiency. With the continuous growth of medical video data, the demand for large-scale video processing is becoming increasingly urgent. Therefore, developing an efficient and accurate video quality assessment method is of great significance to improving the service quality and efficiency of digital medicine. Summary of the invention
[0005] The purpose of the embodiments of the present application is to provide a video quality assessment method, apparatus, computer equipment and storage medium to solve the problem that the quality of the video data to be assessed cannot be accurately assessed without reference.
[0006] In order to solve the above technical problems, the embodiment of the present application provides a video quality assessment method, which adopts the following technical solution:
[0007] Acquire the video data to be evaluated, perform jitter buffering processing on the video data to be evaluated, and obtain a standard video data stream;
[0008] Parsing the standard video data stream to obtain video stream segments;
[0009] Encoding the video stream segment based on a coding tree encoding method to obtain a video encoding unit;
[0010] Determining whether the video encoding unit is in a non-skip mode;
[0011] If the video encoding unit is in non-skip mode, calculating an average value of a unit quantization parameter of the video encoding unit according to a preset image sequence set parameter as a video quality score;
[0012] The video quality score is compared with a preset video quality threshold to obtain a video quality result.
[0013] Furthermore, the step of performing jitter buffering processing on the video data to be evaluated to obtain a standard video data stream specifically includes:
[0014] Obtaining frame rate parameters and resolution parameters of the video data to be evaluated;
[0015] Determine a jitter buffer interval of the video data to be evaluated according to the frame rate parameter and the resolution parameter;
[0016] The pixel data of the video data to be evaluated is resampled, and the resampled pixel data is filled into the jitter buffer to obtain the standard video data stream.
[0017] Furthermore, the step of parsing the standard video data stream to obtain video stream segments specifically includes:
[0018] Identify the abstraction layer unit type corresponding to the standard video data stream;
[0019] Parsing a corresponding image parameter set according to the abstraction layer unit type;
[0020] The segment is parsed according to the image parameter set to obtain the video stream segment.
[0021] Furthermore, the step of encoding the video stream segment based on the coding tree encoding method to obtain a video encoding unit specifically includes:
[0022] Obtaining fragment pixel data of the video stream fragment;
[0023] Determine a corresponding coding tree structure according to the fragment pixel data;
[0024] The corresponding fragment pixel data is encoded according to the coding tree structure to obtain the video encoding unit.
[0025] Further, the step of determining whether the video encoding unit is in non-skip mode specifically includes:
[0026] Obtaining a mode element value corresponding to the video encoding unit;
[0027] identifying whether the pattern element value is zero;
[0028] If the mode element value is zero, the video coding unit is identified as non-skip mode.
[0029] Furthermore, the step of calculating the average value of the unit quantization parameter of the video encoding unit as the video quality score according to the preset image sequence set parameters specifically includes:
[0030] Acquire the image sequence set parameters, wherein the image sequence set parameters include an inter-frame similarity threshold and an intra-frame similarity threshold of the image sequence set;
[0031] Calculating the inter-frame similarity between the adjacent video encoding units and the intra-frame similarity of the pixels inside the video encoding units;
[0032] Determine whether the inter-frame similarity and the intra-frame similarity of the video encoding unit are both correspondingly greater than or equal to the inter-frame similarity threshold and the intra-frame similarity threshold;
[0033] If the inter-frame similarity and the intra-frame similarity are both correspondingly greater than or equal to the inter-frame similarity threshold and the intra-frame similarity threshold, calculating the quantization parameter value of the video encoding unit according to a preset quantization parameter calculation formula;
[0034] Total quantization parameter values of all video encoding units are counted, and the unit quantization parameter average value is calculated according to the total quantization parameter value and the number of the video encoding units, and the unit quantization parameter average value is used as the video quality score.
[0035] Furthermore, the step of comparing the video quality score with a preset video quality threshold to obtain a video quality result specifically includes:
[0036] Identify the video type corresponding to the video data to be evaluated;
[0037] Searching for a corresponding video quality threshold in a preset video quality threshold table according to the video type;
[0038] Determining whether the video quality score is greater than or equal to the video quality threshold;
[0039] If the video quality score is greater than or equal to the video quality threshold, the video data to be evaluated is judged as a qualified video;
[0040] If the video quality score is less than the video quality threshold, the video data to be evaluated is determined to be an unqualified video.
[0041] In order to solve the above technical problems, the embodiment of the present application further provides a video quality assessment device, which adopts the following technical solution:
[0042] A video buffer module, used for acquiring video data to be evaluated, performing jitter buffering processing on the video data to be evaluated, and obtaining a standard video data stream;
[0043] A video parsing module, used for parsing the standard video data stream to obtain video stream segments;
[0044] A video encoding module, used for encoding the video stream segment based on a coding tree encoding method to obtain a video encoding unit;
[0045] A unit determination module, used to determine whether the video encoding unit is in a non-skip mode;
[0046] A score calculation module, configured to calculate an average value of a unit quantization parameter of the video encoding unit as a video quality score according to a preset image sequence set parameter if the video encoding unit is in a non-skip mode;
[0047] The result determination module is used to compare the video quality score with a preset video quality threshold to obtain a video quality result.
[0048] In order to solve the above technical problems, the embodiment of the present application further provides a computer device, which adopts the following technical solution:
[0049] A computer device comprises a memory and a processor, wherein the memory stores computer-readable instructions, and the processor implements the steps of any one of the above video quality assessment methods when executing the computer-readable instructions.
[0050] In order to solve the above technical problems, the embodiment of the present application further provides a computer-readable storage medium, which adopts the following technical solution:
[0051] A computer-readable storage medium stores computer-readable instructions, and when the computer-readable instructions are executed by a processor, the steps of the video quality assessment method described in any one of the above items are implemented.
[0052] Compared with the prior art, the embodiment of the present application has the following beneficial effects: the embodiment obtains the video data to be evaluated, performs jitter buffering processing on the video data to be evaluated, and obtains a standard video data stream; performs segment parsing on the standard video data stream to obtain a video stream segment; performs encoding processing on the video stream segment based on the coding tree encoding method to obtain a video encoding unit; determines whether the video encoding unit is in a non-skip mode; if the video encoding unit is in a non-skip mode, calculates the unit quantization parameter average value of the video encoding unit according to the preset image sequence set parameters as the video quality score; compares the video quality score with the preset video quality threshold to obtain a video quality result. Thus, the quality of the video data to be evaluated can be effectively evaluated accurately without reference, and the evaluation efficiency and accuracy of the video data to be evaluated can be improved. BRIEF DESCRIPTION OF THE DRAWINGS
[0053] In order to more clearly illustrate the scheme in the present application, a brief introduction is given below to the drawings required for use in the description of the embodiments of the present application. Obviously, the drawings described below are some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.
[0054] Figure 1 is an exemplary system architecture diagram to which the present application may be applied;
[0055] Figure 2 A flowchart of an embodiment of a video quality assessment method according to the present application;
[0056] Figure 3 yes Figure 2 A flowchart of a specific implementation of step S10;
[0057] Figure 4 yes Figure 2 A flowchart of a specific implementation of step S20;
[0058] Figure 5 yes Figure 2 A flowchart of a specific implementation of step S30;
[0059] Figure 6 yes Figure 2 A flowchart of a specific implementation of step S40;
[0060] Figure 7 yes Figure 2 A flowchart of a specific implementation of step S50;
[0061] Figure 8 yes Figure 2A flowchart of a specific implementation of step S70;
[0062] Fig. 9 is a structural schematic diagram of an embodiment of a video quality assessment device according to the present application;
[0063] Fig.10 It is a structural diagram of an embodiment of a computer device according to the present application. DETAILED DESCRIPTION
[0064] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as those commonly understood by technicians in the technical field of the present application; the terms used in the specification of the application herein are only for the purpose of describing specific embodiments and are not intended to limit the present application; the terms "including" and "having" and any variations thereof in the specification and claims of the present application and the above-mentioned drawings are intended to cover non-exclusive inclusions. The terms "first", "second", etc. in the specification and claims of the present application or the above-mentioned drawings are used to distinguish different objects, not to describe a specific order.
[0065] Reference to "embodiments" herein means that a particular feature, structure, or characteristic described in conjunction with the embodiments may be included in at least one embodiment of the present application. The appearance of the phrase in various locations in the specification does not necessarily refer to the same embodiment, nor does it refer to non-related or alternative embodiments that are mutually exclusive with other embodiments. It is explicitly and implicitly understood by those skilled in the art that the embodiments described herein may be combined with other embodiments.
[0066] In order to enable those skilled in the art to better understand the solution of the present application, the technical solution in the embodiments of the present application will be clearly and completely described below in conjunction with the accompanying drawings.
[0067] like Figure 1 As shown, the system architecture 100 may include a terminal device 101, a network 102 and a server 103. The terminal device 101 may be a laptop 1011, a tablet computer 1012 or a mobile phone 1013. The network 102 is used to provide a medium for a communication link between the terminal device 101 and the server 103. The network 102 may include various connection types, such as wired, wireless communication links or optical fiber cables.
[0068] The user can use the terminal device 101 to interact with the server 103 through the network 102 to receive or send messages, etc. Various communication client applications can be installed on the terminal device 101, such as web browser applications, shopping applications, search applications, instant messaging tools, email clients, social platform software, etc.
[0069] The terminal device 101 can be any electronic device with a display screen and supporting web browsing. In addition to a laptop computer 1011, a tablet computer 1012 or a mobile phone 1013, the terminal device 101 can also be an e-book reader, an MP3 player (Moving Picture Experts Group Audio Layer III), an MP4 (Moving Picture Experts Group Audio Layer IV), a laptop computer, a desktop computer, etc.
[0070] The server 103 may be a server that provides various services, such as a background server that provides support for a web page displayed on the terminal device 101 .
[0071] It should be noted that the video quality assessment method provided in the embodiment of the present application is generally executed by a server / terminal device, and accordingly, the video quality assessment device is generally arranged in the server / terminal device.
[0072] It should be understood that Figure 1 The number of terminal devices, networks and servers in the embodiment is only for illustration. Any number of terminal devices, networks and servers may be provided according to the implementation requirements.
[0073] Continue to refer Figure 2 , shows a flow chart of an embodiment of a method for video quality assessment according to the present application. The video quality assessment method comprises the following steps:
[0074] Step S10, obtaining the video data to be evaluated, performing jitter buffering processing on the video data to be evaluated, and obtaining a standard video data stream;
[0075] In this embodiment, the video data to be evaluated can be video stream data in high real-time scenarios such as video calls or video conferences, and the standard video data stream is the video stream data obtained after jitter buffer processing. Jitter buffer processing is used to deal with problems such as packet loss, disorder and delayed arrival caused by network jitter, so as to ensure the smooth playback of audio and video streams. Jitter buffer processing is implemented by buffering data in a jitter buffer. A jitter buffer is a buffer set at the receiving end, which is used to store and adjust the order of packets of the received video data to be evaluated to reduce jitter during playback. The steps of jitter buffer processing include receiving packets: the receiving end receives packets of the video data to be evaluated through the underlying network protocol (such as UDP); packet sorting: sorting the packets according to the timestamp and sequence number of the packets; buffer management: dynamically adjusting the size of the jitter buffer according to network conditions, which can be achieved through statistical information collected by the RTCP protocol; packet loss processing: if packet loss is detected, a NACK message can be sent to request the sender to retransmit the lost packet; packet retrieval and playback: according to the timestamp and current playback time of the packet, retrieve the packet from the jitter buffer for decoding and playback.
[0076] Step S20, performing segment parsing on the standard video data stream to obtain video stream segments;
[0077] In this embodiment, the video stream segments refer to the smaller units of video data into which the standard video data stream is divided. The video stream segments are divided based on the image parameter set. The image parameter set includes a series of parameters related to image quality and content. These parameters can be used to describe the basic attributes, color information, texture characteristics, spatial structure, etc. of the image. These parameters are used to guide the division of the video stream segments. By parsing the standard video data stream segments, video stream segments that are convenient for subsequent encoding processing are obtained.
[0078] Step S30, encoding the video stream segment based on a coding tree encoding method to obtain a video encoding unit;
[0079] In this embodiment, the video stream fragment is encoded based on the coding tree unit (CTU) structure in HEVC (High Efficiency Video Coding). The video coding tree unit is also called CTU. CTU is the basic unit for encoding in HEVC, and its size is usually 64x64 pixels. The coding tree structure is a hierarchical structure used to organize and manage coding units (CU), prediction units (PU) and transform units (TU) in HEVC. It allows the encoder to flexibly select coding units of different sizes and shapes for encoding according to the complexity and characteristics of the video content, thereby improving the coding efficiency and compression performance. The coding tree structure adopts a quadtree structure. In the quadtree parsing process, the video stream fragment is divided into a series of video coding units (CU) through the quadtree structure. The division process needs to be reversely parsed in the decoding stage to correctly reconstruct the video content. The decoder reads the relevant information in the coded bitstream (such as the quadtree partition flag, CU size, etc.) and reconstructs the quadtree structure of the CTU based on this information.
[0080] Step S40, determining whether the video encoding unit is in non-skip mode;
[0081] In this embodiment, whether it belongs to non-skip mode is determined according to the mode element value of the video coding unit, and the mode element value is the cu_skip_flag value corresponding to the video coding unit, wherein cu_skip_flag is an important mode element value, which is used to indicate whether the current coding unit (Coding Unit, CU) adopts skip mode (Skip Mode). Skip mode is a simplified coding mode used to improve coding efficiency, especially when the image content is relatively flat or the prediction is very accurate. If the value of cu_skip_flag is 0, the current coding unit does not belong to skip mode, that is, it is in non-skip mode. If the value of cu_skip_flag is 1, the current coding unit belongs to skip mode.
[0082] Step S50, if the video encoding unit is in non-skip mode, calculating the average value of the unit quantization parameter of the video encoding unit according to the preset image sequence set parameters as the video quality score;
[0083] In this embodiment, the image sequence set parameters include an inter-frame similarity threshold and an intra-frame similarity threshold of the image sequence set. The inter-frame similarity threshold refers to a threshold used to determine the similarity between two adjacent frames in an image sequence. The inter-frame similarity is used to evaluate the changes or similarities between adjacent frames to determine whether there is significant motion, scene change or other important events. The intra-frame similarity threshold refers to a threshold used to determine the similarity between different regions within a frame in an image sequence. The intra-frame similarity threshold is used to evaluate the similarity between different regions within a frame to perform operations such as image segmentation, target detection or image stitching. The unit quantization parameter average value of the video coding unit refers to the qp average value corresponding to the video coding unit, where the qp value is also called the quantization parameter, which is an important parameter used to control image quality and compression rate in video coding. The qp average value is the average value of the qp value corresponding to the video coding unit of the video data to be evaluated. According to the ITU-T H.265 standard, the quantization parameter qp ranges from 0 to 51 integers, which actually corresponds to the H.264 encoding quantization step qstep (0.625 to 224). Therefore, the higher the qp value, the lower the corresponding video quality. The unit quantization parameter average value is used as the video quality score, which effectively facilitates the subsequent video quality evaluation of the video data to be evaluated.
[0084] Step S60, if the video encoding unit is in skip mode, calculating a unit quantization parameter value of the video encoding unit according to a preset image sequence set parameter, and saving the unit quantization parameter value to a parameter value record table;
[0085] In this embodiment, the skip mode corresponds to the video coding unit with cu_skip_flag being 1. Since the predicted pixel residual and inter-frame predicted motion residual in the video coding unit with cu_skip_flag being 1 are extremely low and almost occupy no HEVC code stream data, the corresponding unit quantization parameter value weight can be set for this type of video coding unit in a specific implementation, and then a weighted average is performed to obtain the video quality score of the corresponding video coding unit in the skip mode, and the video quality score is added to the video quality score of the above-mentioned video coding unit in the non-skip mode to obtain the total video quality score for judging the video quality result.
[0086] Step S70: Compare the video quality score with a preset video quality threshold to obtain a video quality result.
[0087] In this embodiment, the preset video quality threshold is a pre-set judgment threshold. In this embodiment, multiple video quality thresholds can be set to judge the video quality level, for example, the video quality level is divided into excellent, good, general, poor, etc., and the video quality thresholds correspond to 100-75, 74-50, 49-25, and 24-0. By dividing the video quality into different levels, it is effectively convenient to perform different video optimization processing according to different levels of video quality.
[0088] In this embodiment, the above method can be applied to a medical service system, in which the quality of the video data to be evaluated is evaluated, so as to facilitate real-time improvement of the video data. Specifically, in this embodiment, the medical service system can be one or more of a medical insurance system and a disease insurance system, the video data to be evaluated can be remote video data that is communicated in real time through a mobile device or a PC-side system, the video quality threshold is stored in the medical insurance system and the disease insurance system and is obtained from the database of the above system, and the video quality evaluation result is generated by the above system through the method of this embodiment and stored in the system database for preservation.
[0089] This embodiment obtains the video data to be evaluated, performs jitter buffering processing on the video data to be evaluated, and obtains a standard video data stream; performs segment parsing on the standard video data stream to obtain a video stream segment; performs encoding processing on the video stream segment based on the coding tree encoding method to obtain a video encoding unit; determines whether the video encoding unit is in a non-skip mode; if the video encoding unit is in a non-skip mode, calculates the unit quantization parameter average value of the video encoding unit according to the preset image sequence set parameters as a video quality score; compares the video quality score with a preset video quality threshold to obtain a video quality result. This effectively realizes an accurate evaluation of the quality of the video data to be evaluated without reference, and improves the evaluation efficiency and accuracy of the video data to be evaluated.
[0090] refer to Figure 3 In some optional implementations of this embodiment, step S10 includes the following steps:
[0091] Step S101, obtaining frame rate parameters and resolution parameters of the video data to be evaluated;
[0092] In this embodiment, the frame rate parameter refers to the number of frames displayed per second in the video, and the resolution parameter refers to the size of the video image, which is usually expressed in pixels (width×height). The corresponding frame rate parameter and resolution parameter can be obtained from the video data to be evaluated through a video analysis tool.
[0093] Step S102, determining a jitter buffer space of the video data to be evaluated according to the frame rate parameter and the resolution parameter;
[0094] In this embodiment, a jitter buffer is a mechanism for smoothing the fluctuation of data arrival time in a video stream, and a certain number of video frames are stored at the receiving end to cope with network delay and jitter, thereby ensuring that the video can be played continuously and smoothly. The size of the jitter buffer can be determined according to the frame rate parameter and the resolution parameter. A larger jitter buffer can accommodate more data fluctuations, but may also increase the playback delay; a smaller jitter buffer may not be able to effectively cope with data fluctuations, resulting in unsmooth playback.
[0095] Step S103 , resampling the pixel data of the video data to be evaluated, and filling the resampled pixel data into the jitter buffer to obtain the standard video data stream.
[0096] In this embodiment, resampling refers to resampling the pixel data of the video image to change the resolution or format of the image, and the pixel data of the video data to be evaluated after the resampling process is filled into the jitter buffer to prevent packet loss, jitter or disorder in transmission due to network congestion or other factors, resulting in incomplete video frame reception.
[0097] This embodiment obtains the frame rate parameters and resolution parameters of the video data to be evaluated; determines the jitter buffer space of the video data to be evaluated according to the frame rate parameters and the resolution parameters; resamples the pixel data of the video data to be evaluated, and fills the resampled pixel data into the jitter buffer space, thereby effectively obtaining a well-buffered standard video data stream, avoiding the loss of video data during the buffering process, and facilitating subsequent fragment parsing processing.
[0098] refer to Figure 4 In some optional implementations of this embodiment, step S20 includes the following steps:
[0099] Step S201, identifying the abstraction layer unit type corresponding to the standard video data stream;
[0100] In this embodiment, in video coding standards (such as H.264 / AVC, H.265 / HEVC, etc.), the NAL unit is the basic unit of encoded video data. Each NAL unit includes a NAL header and a raw byte sequence payload (RBSP), and the NAL header contains NAL unit type information to indicate the type and purpose of the NAL unit. This is done by reading specific bytes (such as the first byte) of the NAL header, which contains the encoding of the NAL unit type. According to the NAL unit type, subsequent processing steps can be determined, such as parsing image parameter sets, decoding video data, etc.
[0101] Step S202, parsing a corresponding image parameter set according to the abstraction layer unit type;
[0102] In this embodiment, the image parameter set includes a sequence parameter set SPS and a picture parameter set PPS, which is a structure defined in the video coding standard and is used to store parameters and information required for decoding the video. SPS contains parameters related to the entire video sequence, such as video width, height, frame rate, bit depth, etc., and PPS contains parameters related to a single video frame or video segment, such as encoding mode, quantization parameter, etc. After identifying that the NAL unit type is SPS or PPS, it is necessary to parse the NAL unit to extract the image parameter set, and the parameters and information stored therein can be extracted by decoding and parsing the RBSP.
[0103] Step S203: performing segment parsing according to the image parameter set to obtain the video stream segment.
[0104] In this embodiment, segment parsing refers to the process of dividing the video data stream into smaller units (such as video frames or video segments), and decoding and processing them according to the image parameter set. The segments obtained through the segment parsing can be a single video frame, a group of continuous video frames, or a video data block with specific attributes. The steps of segment parsing include: using the parameters and information of the image parameter set to traverse the video data stream, and determining the start and end positions of each segment according to the NAL unit type and the image parameter set, and then decoding and processing each segment to extract video data and generate video stream segments that can be used for playback or further processing.
[0105] This embodiment identifies the abstract layer unit type corresponding to the standard video data stream; parses the corresponding image parameter set according to the abstract layer unit type; and performs fragment parsing according to the image parameter set, thereby effectively obtaining video stream fragments of key parts in the standard video data stream to facilitate subsequent encoding processing.
[0106] refer to Figure 5 In some optional implementations of this embodiment, step S30 includes the following steps:
[0107] Step S301, obtaining pixel data of the video stream segment;
[0108] In this embodiment, the fragment pixel data is the pixel data corresponding to the video stream fragment, and the pixel data is used to represent the color and brightness information of each pixel in the video frame, which is the basis of video encoding and decoding. The fragment pixel data can be obtained by extracting the pixel value in the frame data of the video stream fragment.
[0109] Step S302, determining a corresponding coding tree structure according to the fragment pixel data;
[0110] In this embodiment, the coding tree structure is a structure used in the video coding standard to represent the spatial division of video data, and optimizes the coding efficiency by dividing the video frame into smaller blocks (called coding units CU, prediction units PU or transform units TU). In this embodiment, the coding tree structure adopts a quadtree, and analyzes the fragment pixel data to identify the similarity, texture complexity and other characteristics between different regions, and then divides the video frame into smaller blocks using a recursive or iterative method based on the above characteristics, and constructs a coding tree structure.
[0111] Step S303: Encode the corresponding fragment pixel data according to the coding tree structure to obtain the video coding unit.
[0112] In this embodiment, the coding tree structure first regards the entire video frame or image area as an initial coding unit. For each current initial coding unit, the coding tree structure will decide whether to split it into four smaller sub-coding units. If the decision is to split, the current initial coding unit will be split into four sub-coding units of equal size, and the same quadtree splitting decision process will be recursively applied to each sub-coding unit. After the sub-coding units are determined, the coding tree structure will encode the pixel data in these units. The encoding process can reduce data redundancy by using prediction (such as intra-frame prediction or inter-frame prediction), and then apply transformation (such as discrete cosine transform DCT) and quantization to further compress the data. Finally, the quantized transform coefficients will be entropy encoded (such as CABAC or CAVLC) to generate the final coded bit stream to generate a video coding unit.
[0113] This embodiment obtains fragment pixel data of the video stream fragment; determines the corresponding coding tree structure according to the fragment pixel data; and encodes the corresponding fragment pixel data according to the coding tree structure, thereby effectively obtaining a video coding unit based on the coding tree coding structure to facilitate subsequent quadtree parsing processing.
[0114] Continue to refer Figure 6In some optional implementations of this embodiment, step S40 includes the following steps:
[0115] Step S401, obtaining a mode element value corresponding to the video encoding unit;
[0116] In this embodiment, the mode element value is cu_skip_flag of the video coding unit. cu_skip_flag is a binary flag used to indicate whether the current video coding unit uses the skip mode, which can be obtained by parsing the video coding unit.
[0117] Step S402, identifying whether the pattern element value is zero;
[0118] In this embodiment, the decoder determines whether the current CU adopts the skip mode according to the value of cu_skip_flag. If cu_skip_flag is 1, the decoder adopts the skip mode to reconstruct the current video coding unit; if it is 0, the decoder parses and reconstructs the current video coding unit according to the normal encoding process.
[0119] Step S403, if the mode element value is zero, identifying the video encoding unit as a non-skip mode;
[0120] In this embodiment, the non-skip mode means that the encoder performs detailed encoding processing on each image block, including prediction, transformation, quantization, entropy encoding and other steps. In this mode, the encoding information of each image block is generated independently and does not depend on the information of adjacent blocks. By identifying whether the video encoding unit is in the non-skip mode, it is effectively determined whether the subsequent unit quantization parameter average value calculation is required.
[0121] Step S404: if the mode element value is not zero, identifying the video encoding unit as a skip mode.
[0122] In this embodiment, the skip mode is a special encoding mode. During the encoding process, for certain image blocks (such as CU, PU, etc.), if they have a high similarity with adjacent encoded blocks, the encoder can choose to skip the detailed encoding of these blocks, and directly copy the encoding information (such as motion vector, reference frame, quantization parameter, etc.) of the adjacent encoded blocks for reconstruction. By identifying whether the video encoding unit is in skip mode, it is effectively determined whether the subsequent unit quantization parameter average calculation is required.
[0123] This embodiment obtains the mode element value corresponding to the video encoding unit; identifies whether the mode element value is zero; if the mode element value is zero, the video encoding unit is identified as a non-skip mode; if the mode element value is not zero, the video encoding unit is identified as a skip mode. Thus, the mode corresponding to the video encoding unit is effectively identified, so as to facilitate the subsequent acquisition of the video quality score according to the corresponding mode.
[0124] Continue to refer Figure 7 In some optional implementations of this embodiment, step S50 includes the following steps:
[0125] Step S501, obtaining the image sequence set parameters, wherein the image sequence set parameters include an inter-frame similarity threshold and an intra-frame similarity threshold of the image sequence set;
[0126] In this embodiment, the corresponding image sequence set parameters can be extracted from the database through the sequence set parameter extraction identifier. The sequence set parameter extraction identifier is unique identification information of the image sequence set parameters and is used for matching query in the database to obtain the image sequence set parameters.
[0127] Step S502, calculating the inter-frame similarity between the adjacent video encoding units and the intra-frame similarity of the pixels inside the video encoding units;
[0128] In this embodiment, the inter-frame similarity is calculated by comparing the pixel values, color difference values, and contrast of the adjacent video encoding units, and the intra-frame similarity is obtained by calculating the variance and standard deviation of the pixel values in the video encoding units.
[0129] Step S503, determining whether the inter-frame similarity and the intra-frame similarity of the video encoding unit are both correspondingly greater than or equal to the inter-frame similarity threshold and the intra-frame similarity threshold;
[0130] In this embodiment, the inter-frame similarity and intra-frame similarity of the video encoding unit are compared with the inter-frame similarity threshold and the intra-frame similarity threshold to determine whether the inter-frame similarity is greater than or equal to the inter-frame similarity threshold and whether the intra-frame similarity is greater than or equal to the intra-frame similarity threshold. The determination condition is satisfied only when the inter-frame similarity is greater than or equal to the inter-frame similarity threshold and the intra-frame similarity is greater than or equal to the intra-frame similarity threshold.
[0131] Step S504, if the inter-frame similarity and the intra-frame similarity are both correspondingly greater than or equal to the inter-frame similarity threshold and the intra-frame similarity threshold, then calculating the quantization parameter value of the video encoding unit according to a preset quantization parameter calculation formula;
[0132] In this embodiment, in the HEVC standard, the quantization parameter QP has a linear correlation with the quantization step size Qstep. For every increase of 6 in QP, Qstep doubles. The quantization process can use the quantization parameter calculation formula: l = floor (c / Qstep + f), where c represents the coefficient, Qstep represents the quantization step size, l represents the quantized value, floor is a floor rounding function, and f controls the rounding relationship. The quantization parameter value of the video encoding unit is calculated by the above quantization parameter calculation formula.
[0133] Step S505, if the inter-frame similarity and the intra-frame similarity are not both correspondingly greater than or equal to the inter-frame similarity threshold and the intra-frame similarity threshold, skipping the quantization parameter calculation of the video encoding unit;
[0134] In this embodiment, when at least one of the inter-frame similarity and the intra-frame similarity does not satisfy the corresponding inter-frame similarity threshold and the intra-frame similarity threshold, the quantization parameter calculation of the video encoding unit is skipped.
[0135] Step S506, counting the total quantization parameter values of all video encoding units, and calculating the unit quantization parameter average value according to the total quantization parameter value and the number of the video encoding units, and using the unit quantization parameter average value as the video quality score.
[0136] In this embodiment, the unit quantization parameter average value = total quantization parameter value / number of video encoding units, and the total quantization parameter value can be obtained by summing the quantization parameter values of all video encoding units. The unit quantization parameter average value can be converted into a video quality score in percentage, which can be converted based on the following formula: text video quality score = 100×(1-(maximum QP value-reference point) / (unit quantization parameter average value-reference point)).
[0137] In this embodiment, the image sequence set parameters are obtained, wherein the image sequence set parameters include an inter-frame similarity threshold and an intra-frame similarity threshold of the image sequence set; the inter-frame similarity between the front and rear adjacent video encoding units and the intra-frame similarity of the internal pixels of the video encoding unit are calculated; it is determined whether the inter-frame similarity and the intra-frame similarity of the video encoding unit are both correspondingly greater than or equal to the inter-frame similarity threshold and the intra-frame similarity threshold; if the inter-frame similarity and the intra-frame similarity are both correspondingly greater than or equal to the inter-frame similarity threshold and the intra-frame similarity threshold, the quantization parameter value of the video encoding unit is calculated according to a preset quantization parameter calculation formula; if the inter-frame similarity and the intra-frame similarity are not both correspondingly greater than or equal to the inter-frame similarity threshold and the intra-frame similarity threshold, the quantization parameter calculation of the video encoding unit is skipped; the total quantization parameter values of all video encoding units are counted, and the unit quantization parameter average value is calculated according to the total quantization parameter value and the number of the video encoding units, and the unit quantization parameter average value is used as the video quality score. Thereby, the video quality score can be effectively obtained according to the quantization parameter value corresponding to the video encoding unit, so as to facilitate the subsequent output of the video quality result.
[0138] Continue to refer Figure 8 In some optional implementations of this embodiment, step S70 includes the following steps:
[0139] Step S701, identifying the video type corresponding to the video data to be evaluated;
[0140] In this embodiment, the video type may be identified through metadata (such as file name, tag, description, etc.) or content analysis (such as scene recognition, audio features, etc.) of the video data to be evaluated.
[0141] Step S702, searching a preset video quality threshold table for a corresponding video quality threshold according to the video type;
[0142] In this embodiment, the video quality threshold table lists different video types and their corresponding quality thresholds. The table can be searched in a database through the threshold table extraction identifier to obtain the video quality threshold corresponding to the video type to be evaluated.
[0143] Step S703, determining whether the video quality score is greater than or equal to the video quality threshold;
[0144] In this embodiment, by comparing the video quality score with the video quality threshold, it is possible to determine whether the video quality score is greater than or equal to the video quality threshold.
[0145] Step S704: if the video quality score is greater than or equal to the video quality threshold, the video data to be evaluated is determined to be a qualified video;
[0146] In this embodiment, when it is determined that the video data to be evaluated is a qualified video, corresponding prompt information can be generated and sent to the system display interface for display to facilitate subsequent processing.
[0147] Step S705: If the video quality score is less than the video quality threshold, the video data to be evaluated is determined to be an unqualified video.
[0148] In this embodiment, when the video data to be evaluated is determined to be an unqualified video, corresponding prompt information can be generated and sent to the system display interface for display, so as to facilitate subsequent optimization processing of the video data to be evaluated.
[0149] This embodiment identifies the video type corresponding to the video data to be evaluated; searches for the corresponding video quality threshold in a preset video quality threshold table according to the video type; determines whether the video quality score is greater than or equal to the video quality threshold; if the video quality score is greater than or equal to the video quality threshold, the video data to be evaluated is determined to be a qualified video; if the video quality score is less than the video quality threshold, the video data to be evaluated is determined to be an unqualified video. Thus, the corresponding video quality result is effectively output according to the video quality score of the video data to be evaluated, so as to achieve accurate evaluation of the video quality of the video data to be evaluated.
[0150] Those skilled in the art can understand that all or part of the processes in the above-mentioned embodiments can be implemented by instructing the relevant hardware through computer-readable instructions, and the computer-readable instructions can be stored in a computer-readable storage medium. When the program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, the aforementioned storage medium can be a non-volatile storage medium such as a disk, an optical disk, a read-only memory (ROM), or a random access memory (RAM).
[0151] It should be understood that, although the steps in the flowchart of the accompanying drawings are displayed in sequence as indicated by the arrows, these steps are not necessarily executed in sequence in the order indicated by the arrows. Unless otherwise specified herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least a part of the steps in the flowchart of the accompanying drawings may include multiple sub-steps or multiple stages, and these sub-steps or stages are not necessarily executed at the same time, but can be executed at different times, and their execution order is not necessarily sequential, but can be executed in turn or alternately with other steps or at least a part of the sub-steps or stages of other steps.
[0152] Further references Fig. 9 , as a response to the above Figure 1 The present application provides an embodiment of a video quality assessment device. Figure 1 Corresponding to the method embodiment shown, the device can be specifically applied to various electronic devices.
[0153] like Fig. 9 As shown, the video quality assessment device 900 described in this embodiment includes: a video buffer module 901, a video analysis module 902, a video encoding module 903, a unit analysis module 904, a unit judgment module 905, a score calculation module 906, a parameter recording module 907, and a result determination module 908. Among them:
[0154] The video buffer module 901 is used to obtain the video data to be evaluated, perform jitter buffering processing on the video data to be evaluated, and obtain a standard video data stream;
[0155] The video parsing module 902 is used to parse the standard video data stream to obtain video stream segments;
[0156] A video encoding module 903, configured to encode the video stream segment based on a coding tree encoding method to obtain a video encoding unit;
[0157] The unit determination module 904 is used to determine whether the video encoding unit is in a non-skip mode;
[0158] A score calculation module 905, configured to calculate an average value of a unit quantization parameter of the video encoding unit as a video quality score according to a preset image sequence set parameter if the video encoding unit is in a non-skip mode;
[0159] A parameter recording module 906 is configured to calculate a unit quantization parameter value of the video encoding unit according to a preset image sequence set parameter if the video encoding unit is in skip mode, and save the unit quantization parameter value to a parameter value recording table;
[0160] The result determination module 907 is used to compare the video quality score with a preset video quality threshold to obtain a video quality result.
[0161] By adopting the above-mentioned video quality assessment device, this embodiment can obtain the video data to be assessed, perform jitter buffering processing on the video data to be assessed to obtain a standard video data stream; perform segment analysis on the standard video data stream to obtain a video stream segment; perform encoding processing on the video stream segment based on the coding tree encoding method to obtain a video encoding unit; determine whether the video encoding unit is in a non-skip mode; if the video encoding unit is in a non-skip mode, calculate the unit quantization parameter average value of the video encoding unit according to the preset image sequence set parameters as the video quality score; compare the video quality score with the preset video quality threshold to obtain a video quality result. This effectively realizes an accurate assessment of the quality of the video data to be assessed without reference, and improves the assessment efficiency and accuracy of the video data to be assessed.
[0162] To solve the above technical problems, the present application also provides a computer device. Fig.10 , Fig.10 This is a basic structural block diagram of the computer device in this embodiment.
[0163] The computer device 9 includes a memory 91, a processor 92, and a network interface 93 that are interconnected and communicated through a system bus. It should be noted that the figure only shows a computer device 9 with components 91-93, but it should be understood that it is not required to implement all the components shown, and more or fewer components can be implemented instead. Among them, those skilled in the art can understand that the computer device here is a device that can automatically perform numerical calculations and / or information processing according to pre-set or stored instructions, and its hardware includes but is not limited to microprocessors, application specific integrated circuits (Application Specific Integrated Circuit, ASIC), programmable gate arrays (Field-Programmable Gate Array, FPGA), digital processors (Digital Signal Processor, DSP), embedded devices, etc.
[0164] The computer device may be a computing device such as a desktop computer, a notebook, a PDA, a cloud server, etc. The computer device may interact with a user through a keyboard, a mouse, a remote controller, a touch pad, or a voice control device.
[0165] The memory 91 includes at least one type of readable storage medium, and the readable storage medium includes flash memory, hard disk, multimedia card, card-type memory (for example, SD or DX memory, etc.), random access memory (RAM), static random access memory (SRAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), programmable read-only memory (PROM), magnetic memory, disk, optical disk, etc. In some embodiments, the memory 91 can be an internal storage unit of the computer device 9, such as a hard disk or memory of the computer device 9. In other embodiments, the memory 91 can also be an external storage device of the computer device 9, such as a plug-in hard disk, a smart memory card (Smart Media Card, SMC), a secure digital (Secure Digital, SD) card, a flash card (FlashCard), etc. equipped on the computer device 9. Of course, the memory 91 can also include both the internal storage unit of the computer device 9 and its external storage device. In this embodiment, the memory 91 is generally used to store the operating system and various application software installed on the computer device 9, such as computer-readable instructions of the video quality assessment method, etc. In addition, the memory 91 can also be used to temporarily store various types of data that have been output or are to be output.
[0166] The processor 92 may be a central processing unit (CPU), a controller, a microcontroller, a microprocessor, or other data processing chips in some embodiments. The processor 92 is generally used to control the overall operation of the computer device 9. In this embodiment, the processor 92 is used to run computer-readable instructions stored in the memory 91 or process data, such as computer-readable instructions for running the video quality assessment method.
[0167] The network interface 93 may include a wireless network interface or a wired network interface. The network interface 93 is generally used to establish a communication connection between the computer device 9 and other electronic devices.
[0168] By adopting the above-mentioned computer device, this embodiment can obtain the video data to be evaluated, perform jitter buffering processing on the video data to be evaluated to obtain a standard video data stream; perform segment parsing on the standard video data stream to obtain a video stream segment; perform encoding processing on the video stream segment based on the coding tree encoding method to obtain a video encoding unit; determine whether the video encoding unit is in a non-skip mode; if the video encoding unit is in a non-skip mode, calculate the unit quantization parameter average value of the video encoding unit according to the preset image sequence set parameters as the video quality score; compare the video quality score with the preset video quality threshold to obtain a video quality result. This effectively realizes the accurate evaluation of the quality of the video data to be evaluated without reference, and improves the evaluation efficiency and accuracy of the video data to be evaluated.
[0169] The present application also provides another implementation, namely, providing a computer-readable storage medium, wherein the computer-readable storage medium stores computer-readable instructions, and the computer-readable instructions can be executed by at least one processor to enable the at least one processor to perform the steps of the video quality assessment method as described above.
[0170] By adopting the above-mentioned computer-readable storage medium, this embodiment can obtain the video data to be evaluated, perform jitter buffering processing on the video data to be evaluated to obtain a standard video data stream; perform segment parsing on the standard video data stream to obtain a video stream segment; perform encoding processing on the video stream segment based on the coding tree encoding method to obtain a video encoding unit; determine whether the video encoding unit is in a non-skip mode; if the video encoding unit is in a non-skip mode, calculate the unit quantization parameter average value of the video encoding unit according to the preset image sequence set parameters as the video quality score; compare the video quality score with the preset video quality threshold to obtain a video quality result. This effectively realizes the accurate evaluation of the quality of the video data to be evaluated without reference, and improves the evaluation efficiency and accuracy of the video data to be evaluated.
[0171] Through the description of the above implementation methods, those skilled in the art can clearly understand that the above-mentioned embodiment methods can be implemented by means of software plus a necessary general hardware platform, and of course by hardware, but in many cases the former is a better implementation method. Based on such an understanding, the technical solution of the present application, or the part that contributes to the prior art, can be embodied in the form of a software product, which is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk), and includes a number of instructions for a terminal device (which can be a mobile phone, computer, server, air conditioner, or network device, etc.) to execute the methods described in each embodiment of the present application.
[0172] Obviously, the embodiments described above are only some embodiments of the present application, rather than all embodiments. The preferred embodiments of the present application are given in the accompanying drawings, but they do not limit the patent scope of the present application. The present application can be implemented in many different forms. On the contrary, the purpose of providing these embodiments is to make the understanding of the disclosure of the present application more thorough and comprehensive. Although the present application is described in detail with reference to the aforementioned embodiments, for those skilled in the art, it is still possible to modify the technical solutions recorded in the aforementioned specific implementation methods, or to perform equivalent replacement of some of the technical features therein. Any equivalent structure made using the contents of the specification and drawings of this application, directly or indirectly used in other related technical fields, is similarly within the scope of patent protection of this application.
[0173] The non-Company software tools or components appearing in the embodiments of this application are merely examples and do not represent actual use.
Claims
1. A video quality assessment method, characterized in that: The steps include: Acquire the video data to be evaluated, perform jitter buffering processing on the video data to be evaluated, and obtain a standard video data stream; Parsing the standard video data stream to obtain video stream segments; Encoding the video stream segment based on a coding tree encoding method to obtain a video encoding unit; Determining whether the video encoding unit is in a non-skip mode; If the video encoding unit is in non-skip mode, calculating an average value of a unit quantization parameter of the video encoding unit according to a preset image sequence set parameter as a video quality score; The video quality score is compared with a preset video quality threshold to obtain a video quality result.
2. The video quality assessment method according to claim 1, characterized in that: The step of performing jitter buffering processing on the video data to be evaluated to obtain a standard video data stream specifically includes: Obtaining frame rate parameters and resolution parameters of the video data to be evaluated; Determine a jitter buffer interval of the video data to be evaluated according to the frame rate parameter and the resolution parameter; The pixel data of the video data to be evaluated is resampled, and the resampled pixel data is filled into the jitter buffer to obtain the standard video data stream.
3. The video quality assessment method according to claim 1, characterized in that: The step of parsing the standard video data stream to obtain video stream segments specifically includes: Identify the abstraction layer unit type corresponding to the standard video data stream; Parsing a corresponding image parameter set according to the abstraction layer unit type; The segment is parsed according to the image parameter set to obtain the video stream segment.
4. The video quality assessment method according to claim 1, characterized in that: The step of encoding the video stream segment based on the coding tree encoding method to obtain a video encoding unit specifically includes: Obtaining fragment pixel data of the video stream fragment; Determine a corresponding coding tree structure according to the fragment pixel data; The corresponding fragment pixel data is encoded according to the coding tree structure to obtain the video encoding unit.
5. The video quality assessment method according to claim 1, characterized in that: The step of determining whether the video encoding unit is in a non-skip mode specifically includes: Obtaining a mode element value corresponding to the video encoding unit; identifying whether the pattern element value is zero; If the mode element value is zero, the video coding unit is identified as non-skip mode.
6. The video quality assessment method according to claim 1, characterized in that: The step of calculating the average value of the unit quantization parameter of the video encoding unit as the video quality score according to the preset image sequence set parameters specifically includes: Acquire the image sequence set parameters, wherein the image sequence set parameters include an inter-frame similarity threshold and an intra-frame similarity threshold of the image sequence set; Calculating the inter-frame similarity between the adjacent video encoding units and the intra-frame similarity of the pixels inside the video encoding units; Determine whether the inter-frame similarity and the intra-frame similarity of the video encoding unit are both correspondingly greater than or equal to the inter-frame similarity threshold and the intra-frame similarity threshold; If the inter-frame similarity and the intra-frame similarity are both correspondingly greater than or equal to the inter-frame similarity threshold and the intra-frame similarity threshold, calculating the quantization parameter value of the video encoding unit according to a preset quantization parameter calculation formula; Total quantization parameter values of all video encoding units are counted, and the unit quantization parameter average value is calculated according to the total quantization parameter value and the number of the video encoding units, and the unit quantization parameter average value is used as the video quality score.
7. The video quality assessment method according to claim 1, characterized in that: The step of comparing the video quality score with a preset video quality threshold to obtain a video quality result specifically includes: Identify the video type corresponding to the video data to be evaluated; Searching for a corresponding video quality threshold in a preset video quality threshold table according to the video type; Determining whether the video quality score is greater than or equal to the video quality threshold; If the video quality score is greater than or equal to the video quality threshold, the video data to be evaluated is determined to be a qualified video; If the video quality score is less than the video quality threshold, the video data to be evaluated is determined to be an unqualified video.
8. A video quality assessment device, characterized in that: include: A video buffer module, used for acquiring video data to be evaluated, performing jitter buffering processing on the video data to be evaluated, and obtaining a standard video data stream; A video parsing module, used for parsing the standard video data stream to obtain video stream segments; A video encoding module, used for encoding the video stream segment based on a coding tree encoding method to obtain a video encoding unit; A unit determination module, used to determine whether the video encoding unit is in a non-skip mode; A score calculation module, configured to calculate an average value of a unit quantization parameter of the video encoding unit as a video quality score according to a preset image sequence set parameter if the video encoding unit is in a non-skip mode; The result determination module is used to compare the video quality score with a preset video quality threshold to obtain a video quality result.
9. A computer device, characterized in that: The method comprises a memory and a processor, wherein the memory stores computer-readable instructions, and the processor implements the steps of the video quality assessment method according to any one of claims 1 to 7 when executing the computer-readable instructions.
10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer-readable instructions, and when the computer-readable instructions are executed by a processor, the steps of the video quality assessment method according to any one of claims 1 to 7 are implemented.
Citation Information
Cited By
Monitoring analysis method and analysis system for set top box application
CN119893216A
A monitoring analysis method and analysis system for a set-top box application
CN119893216B