Image quality evaluation method and device, video playing method and device, electronic equipment, storage medium and program product
By transcoding and feature extraction of the original video, and performing image quality evaluation based on complexity and transcoding features, the problem of poor playback effect of transcoded video is solved, achieving higher accuracy in image quality evaluation and network bandwidth utilization efficiency.
Patent Information
- Application Number
- CN202511054270.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-07-29
- Publication Date
- 2025-11-04
AI Technical Summary
Existing technologies for evaluating the image quality of transcoded videos have low accuracy, resulting in poor playback quality of transcoded videos.
By transcoding the original video, we can obtain its complexity features and the transcoding features of the transcoded video. We can then use these features to evaluate the image quality, determine the optimal bitrate, and adjust the playback bitrate based on the evaluation results.
It improved the accuracy of image quality assessment results, optimized the playback effect of transcoded videos, and improved the utilization efficiency of network bandwidth.
Smart Images

Figure CN120897076A_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of video technology, and more particularly to a method for image quality evaluation, a method for video playback, an apparatus, an electronic device, a storage medium, and a program product. Background Technology
[0002] Currently, in some applications, the server can transcode the original video to obtain a transcoded video; the client can then play the transcoded video. However, in related technologies, the accuracy of image quality assessment results based on transcoded videos is low, leading to poor playback quality of the transcoded videos. Summary of the Invention
[0003] This disclosure provides a method for image quality assessment, a method for video playback, an apparatus, an electronic device, a storage medium, and a program product to improve the accuracy of image quality assessment results when performing image quality assessment based on transcoded video, thereby improving the playback effect of transcoded video.
[0004] In a first aspect, embodiments of this disclosure provide an image quality evaluation method, including:
[0005] The original video is transcoded to obtain a transcoded video of the original video at at least one bitrate level.
[0006] Obtain the complexity features of the original video and the transcoding features of the transcoded video;
[0007] Based on the complexity features and the transcoding features, the image quality of the bitrate is evaluated to obtain the image quality evaluation result of the bitrate.
[0008] Secondly, embodiments of this disclosure provide a video playback method, including:
[0009] The image quality evaluation result of at least one bitrate level of the original video is obtained, and the first bitrate level corresponding to the first transcoded video currently being played is determined. The image quality evaluation result is determined based on the complexity features of the original video and the transcoding features of the transcoded video of the original video at at least one bitrate level. The transcoded video includes the first transcoded video.
[0010] Based on the image quality assessment results, the first bitrate level is adjusted to obtain the second bitrate level;
[0011] Play the original video as a second transcoded video at the second bitrate.
[0012] Thirdly, embodiments of this disclosure also provide an image quality evaluation device, comprising:
[0013] The transcoding module is used to transcode the original video to obtain a transcoded video of the original video at at least one bitrate level.
[0014] The feature acquisition module is used to acquire the complexity features of the original video and the transcoding features of the transcoded video.
[0015] The image quality evaluation module is used to evaluate the image quality of the bitrate based on the complexity features and the transcoding features, and to obtain the image quality evaluation result of the bitrate.
[0016] Fourthly, embodiments of this disclosure also provide a video playback device, including:
[0017] The result acquisition module is used to acquire the image quality evaluation result of at least one bitrate level of the original video and determine the first bitrate level corresponding to the first transcoded video currently being played. The image quality evaluation result is determined based on the complexity features of the original video and the transcoding features of the transcoded video of the original video at at least one bitrate level. The transcoded video includes the first transcoded video.
[0018] A bitrate adjustment module is used to adjust the first bitrate level based on the image quality evaluation result to obtain a second bitrate level.
[0019] The video playback module is used to play the original video as a second transcoded video at the second bitrate level.
[0020] Fifthly, embodiments of this disclosure also provide an electronic device, including:
[0021] One or more processors;
[0022] Memory, used to store one or more programs.
[0023] When the one or more programs are executed by the one or more processors, the one or more processors implement the image quality evaluation method or video playback method as described in the embodiments of this disclosure.
[0024] Sixthly, embodiments of this disclosure also provide a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the image quality evaluation method or video playback method as described in embodiments of this disclosure.
[0025] In a seventh aspect, embodiments of this disclosure also provide a computer program product that, when executed by a computer, enables the computer to implement the image quality evaluation method or video playback method as described in embodiments of this disclosure.
[0026] The image quality evaluation method, video playback method, apparatus, electronic device, storage medium, and program product provided in this disclosure evaluate image quality based on the complexity characteristics of the original video before transcoding and the transcoding characteristics of the transcoded video. This improves the accuracy of the image quality evaluation results, thereby improving the accuracy of the transcoding level adjusted when playing the video based on the image quality evaluation results, and improving the image quality of the played video and the utilization efficiency of network bandwidth. Attached Figure Description
[0027] The above and other features, advantages, and aspects of the embodiments of this disclosure will become more apparent from the accompanying drawings and the following detailed description. Throughout the drawings, the same or similar reference numerals denote the same or similar elements. It should be understood that the drawings are schematic, and the originals and elements are not necessarily drawn to scale.
[0028] Figure 1 A schematic flowchart illustrating an image quality evaluation method provided in this embodiment of the disclosure;
[0029] Figure 2 A flowchart illustrating a video playback method provided in an embodiment of this disclosure;
[0030] Figure 3 A flowchart illustrating another video playback method provided in this embodiment of the present disclosure;
[0031] Figure 4 This is a schematic diagram of an image quality assessment and video playback process provided in an embodiment of the present disclosure;
[0032] Figure 5 A structural block diagram of an image quality evaluation device provided in an embodiment of this disclosure;
[0033] Figure 6 A structural block diagram of a video playback device provided in an embodiment of this disclosure;
[0034] Figure 7 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this disclosure. Detailed Implementation
[0035] Embodiments of this disclosure will now be described in more detail with reference to the accompanying drawings. While some embodiments of this disclosure are shown in the drawings, it should be understood that this disclosure can be implemented in various forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided to provide a more thorough and complete understanding of this disclosure. It should be understood that the accompanying drawings and embodiments of this disclosure are for illustrative purposes only and are not intended to limit the scope of protection of this disclosure.
[0036] It should be understood that the steps described in the method embodiments of this disclosure may be performed in different orders and / or in parallel. Furthermore, the method embodiments may include additional steps and / or omit the steps shown. The scope of this disclosure is not limited in this respect.
[0037] The term "comprising" and its variations as used herein are open-ended inclusions, meaning "including but not limited to". The term "based on" means "at least partially based on". The term "one embodiment" means "at least one embodiment"; the term "another embodiment" means "at least one additional embodiment"; the term "some embodiments" means "at least some embodiments". Definitions of other terms will be given in the description below.
[0038] It should be noted that the concepts of "first" and "second" mentioned in this disclosure are used only to distinguish different devices, modules or units, and are not used to limit the order of functions performed by these devices, modules or units or their interdependencies.
[0039] It should be noted that the terms "a" and "a plurality of" used in this disclosure are illustrative rather than restrictive, and those skilled in the art should understand that, unless otherwise expressly indicated in the context, they should be understood as "one or more".
[0040] The names of messages or information exchanged between multiple devices in the embodiments of this disclosure are for illustrative purposes only and are not intended to limit the scope of such messages or information.
[0041] It is understood that before using the technical solutions disclosed in the various embodiments of this disclosure, users should be informed of the types, scope of use, and usage scenarios of the personal information involved in this disclosure in an appropriate manner in accordance with relevant laws and regulations, and user authorization should be obtained.
[0042] For example, upon receiving a user's active request, a prompt message is sent to the user to explicitly inform them that the requested operation will require the acquisition and use of the user's personal information. This allows the user to independently choose whether to provide personal information to the software or hardware, such as the electronic device, application, server, or storage medium performing the operations of this disclosed technical solution, based on the prompt message.
[0043] As an optional but non-limiting implementation, in response to a user's active request, sending a prompt message to the user can be done via a pop-up window, where the prompt message can be presented in text format. Furthermore, the pop-up window can also include a selection control allowing the user to choose "agree" or "disagree" to provide personal information to the electronic device.
[0044] It is understood that the above notification and user authorization process are merely illustrative and do not constitute a limitation on the implementation of this disclosure. Other methods that comply with relevant laws and regulations may also be applied to the implementation of this disclosure.
[0045] It is understood that the data involved in this technical solution (including but not limited to the data itself, the acquisition or use of the data) shall comply with the requirements of relevant laws, regulations and related provisions.
[0046] Figure 1 This is a flowchart illustrating an image quality evaluation method provided in an embodiment of this disclosure. The method can be executed by an image quality evaluation device, which can be implemented in software and / or hardware and can be configured in an electronic device, typically a computer, mobile phone, or tablet. The image quality evaluation method provided in this disclosure is applicable to scenarios involving image quality evaluation of transcoded videos at different bitrates. Figure 1 As shown, the image quality evaluation method provided in this embodiment may include:
[0047] S101. Transcode the original video to obtain a transcoded video of the original video at at least one bitrate level.
[0048] In this context, "original video" can be understood as the video data currently undergoing transcoding, such as the source material that needs transcoding. The source material refers to the original data file of the corresponding video, which can be the original source material or an enhanced source material obtained by enhancing the original source material. The following explanation uses an enhanced source material obtained by enhancing the original source material as an example. Enhancement processing can involve a series of processes such as noise reduction, sharpening, contrast enhancement, and / or color enhancement to improve the quality, clarity, and contrast of the source material, thereby improving the display effect or information content of the image or video. This embodiment does not limit the method of enhancing the original source material. The type of original video is not limited; for example, the original video can be a short video or a long video such as a film or television work.
[0049] Video transcoding can be understood as converting the original video into a transcoded video with different bitrate levels. These bitrate levels can be understood as levels based on the transcoding bitrate; different bitrate levels correspond to different transcoding bitrates. For example, these bitrate levels may include, but are not limited to, low-definition levels (e.g., bitrate within the range of 0.5–2 Mbps), high-definition levels (e.g., bitrate within the range of 2–5 Mbps), full high-definition levels (e.g., bitrate within the range of 5–8 Mbps), Blu-ray levels (e.g., bitrate within the range of 10–20 Mbps), and / or ultra-high-definition levels (e.g., bitrate within the range of 25–50 Mbps), etc. The specific level division can be flexibly configured according to needs.
[0050] Transcoded video can be understood as video obtained by transcoding the original video. Transcoded videos corresponding to different bitrate levels have different bitrates, resulting in different levels of resolution. Bitrate refers to the amount of data generated by a single channel per unit of time.
[0051] Specifically, when there is an original video to be transcoded, such as when a transcoding instruction for the original video is received, the original video can be transcoded based on the corresponding transcoding bitrate for each or a subset of pre-set bitrate levels, resulting in a transcoded video of the original video at that specific bitrate. Therefore, by transcoding the original video at different bitrate levels, transcoded videos of the original video at different bitrate levels can be obtained.
[0052] S102. Obtain the complexity features of the original video and the transcoding features of the transcoded video.
[0053] The complexity features of the original video can be understood as features used to describe the complexity of the original video. Optionally, the complexity features include spatial complexity features and / or temporal complexity features. Spatial Information (SI) features can be used to measure the richness of spatial detail in a single video frame; video frames with higher spatial complexity typically contain more texture, lines, and / or detail information. Temporal Information (TI) features can be used to measure the differences between video frames; for example, temporal complexity features can be used to describe dynamic changes, temporal relationships, and / or motion characteristics between video frames. Both spatial and temporal complexity features can have multiple dimensions to further improve the accuracy of image quality assessment results.
[0054] The transcoding features of a transcoded video can be features related to the transcoding attributes of the transcoded video at the time of transcoding. Optionally, the transcoding features include bitstream features and / or similarity features.
[0055] The bitstream characteristics of the transcoded video can be understood as the characteristics of the transcoded video related to its bitstream attributes during the transcoding process. For example, the bitstream characteristics include at least one of the encoding parameter characteristics, coding unit characteristics, prediction unit characteristics, and transform unit characteristics of the transcoded video. The encoding parameter characteristics can be understood as the characteristics of the quantization parameters (QP) of at least a portion of the video frames when transcoding the original video to this transcoded video, such as the average, maximum, and / or minimum values of the quantization parameters of at least a portion of the video frames. These at least a portion of the video frames may include, for example, keyframes (Intra Frames, I-frames), predictive frames (P-frames), and / or bidirectional predictive frames (B-frames), etc. The following explanation uses B-frames as an example of at least a portion of the video frames. The coding unit characteristics can be understood as the characteristics of the coding units (CUs) when transcoding the original video to this transcoded video, such as the values of the coding units. Prediction unit features can be understood as the characteristics of the prediction unit (PU) when the original video is transcoded to this transcoded video, such as the mean or mode of the prediction unit. The mode represents the value that appears most frequently in a set of data (such as the values of each prediction unit), thus reflecting the central tendency of this set of data. Transform unit features can be understood as the characteristics of the transform unit (TU) when the original video is transcoded to this transcoded video, such as the values of the prediction unit.
[0056] The similarity features of transcoded videos can be understood as the similarity features between the transcoded video and the original video before transcoding. For example, the similarity features include at least one of the mean squared error (MSE), peak signal-to-noise ratio (PSNR), and texture similarity features between the transcoded video and the original video in at least some video channels. The at least some video channels include at least one of a luma channel, a first chroma channel, and a second chroma channel. These at least some video channels may include, for example, the luma channel Y, the first chroma channel U, and / or the second chroma channel V. In some examples, the similarity features of the transcoded video may include the mean squared error (MSE), peak signal-to-noise ratio (PSNR), and texture similarity index measure (SSIM) between the transcoded video and the original video in the luma channel Y, the first chroma channel U, and the second chroma channel V, respectively, to further enrich the extracted similarity features and thus further improve the accuracy of the image quality assessment results.
[0057] Specifically, after transcoding the original video to obtain transcoded videos at at least one bitrate level, the complexity features of the original video can be obtained, such as the spatial complexity features and / or temporal complexity features. Furthermore, for each bitrate level or a subset of bitrate levels of the transcoded video, the transcoding features of this transcoded video can be obtained, such as the bitstream features of this transcoded video and / or the similarity features between this transcoded video and the original video. This facilitates subsequent image quality evaluation of this bitrate level based on the complexity features of the original video and the transcoding features of the transcoded video at the corresponding bitrate level.
[0058] In this embodiment, the method for obtaining the complexity features of the original video can be set as needed. In some examples, the complexity features of the original video can be calculated based on preset spatial operators and preset temporal operators.
[0059] Optionally, obtaining the complexity features of the original video includes: obtaining at least a portion of the video frames of the original video; calculating the gradient information of the original video at each moment based on the at least a portion of the video frames; statistically analyzing the complexity information of the original video at each moment using preset spatial operators based on the gradient information, wherein the preset spatial operators include a minimum value, a maximum value, an average value, or a variance; and determining the complexity features of the original video using preset temporal operators based on the complexity information, wherein the preset temporal operators include a minimum value, a maximum value, an average value, or a variance.
[0060] The aforementioned video frames used to extract complexity features may include, for example, video frames in the luminance channel Y, video frames in the first chroma channel U, and / or video frames in the second chroma channel V. The following explanation uses the extraction of complexity features from the original video based on video frames in the luminance channel Y as an example. Gradient information can be understood as the grayscale change information at each pixel in the image, such as the intensity and / or direction of the grayscale change. Preset spatial operators can be used to perform local or global operations on the pixel values of a single video frame, such as calculating the minimum, maximum, average, and / or variance of the gradient information of at least some pixels in the video frame, to obtain the complexity information at each moment. Preset temporal operators can dynamically analyze and calculate the temporal relationship between multiple video frames in a video frame sequence, such as calculating the minimum, maximum, average, and / or variance of the complexity information between adjacent video frames, to obtain the complexity features of the original video. Both the preset spatial domain operator and the preset temporal domain operator can be set as needed. For example, the preset spatial domain operator and the preset temporal domain operator can be the minimum value, maximum value, average value and variance, respectively. Thus, at least 16 dimensions of complexity features of the original video can be obtained, which further improves the comprehensiveness of the obtained complexity features and thus further improves the accuracy of the image quality evaluation results.
[0061] Specifically, at least some video frames of the original video can be acquired, such as acquiring each video frame of the original video in the luminance channel Y; the gradient information of the original video at each moment can be calculated based on the acquired video frames, such as using the Sobel gradient operator to calculate the gradient information of the original video at each moment based on the acquired video frames; then, a preset spatial domain operator can be used to statistically analyze the complexity information of the original video at each moment based on the gradient information of the original video; and a preset temporal domain operator can be used to determine the complexity characteristics of the original video at each moment based on the complexity information of the original video.
[0062] In some examples, it is assumed that the original video has N video frames in the luminance channel Y, and the i-th video frame in the original video is frame. i The preset spatial operator is F. s The preset time-domain operator is F. t When calculating the spatial complexity (SI) features of the original video, the Sobel gradient operator can be used first to calculate the spatial texture gradient (i.e., spatial gradient information) at each time step, and then the spatial complexity is calculated using a preset spatial complexity operator F. s The space complexity value (i.e., space complexity information) is calculated at each time step, and then the time-domain statistical computation function F is used. t The overall space complexity of the original video can be calculated using the following formula:
[0063] SI = F t {F s (Sobel(frame1),F s (Sobel(frame2),...,F s Sobel(frame) N )}
[0064] Among them, F s and F t Each of these can be at least represented as minimum, maximum, mean, and variance, thus allowing the use of different F values. s and F t Combining calculations yields the spatial complexity features of the original video in at least 16 dimensions.
[0065] When calculating the temporal complexity (TI) feature of the original video, the Sobel gradient operator can be used first to calculate the temporal gradient information (i.e., temporal gradient information) at each time step, and then the spatial complexity can be calculated using a predefined spatial domain operator F. s The time complexity value (i.e., time complexity information) is calculated at each time step, and then the time-domain statistical computation function F is used. t The overall temporal complexity of the original video can be calculated using the following formula:
[0066] TI=F t {F s (Sobel(frame2-frame1),F s (Sobel(frame3-frame2),...,F s Sobel(frame) N -frame N-1}
[0067] Similarly, F s and F t Each of these can be at least represented as minimum, maximum, mean, and variance, thus allowing the use of different F values. s and F t Combinatorial calculations yielded temporal complexity features of the original video in at least 16 dimensions.
[0068] S103. Based on the complexity features and the transcoding features, perform image quality evaluation on the bitrate level to obtain the image quality evaluation result of the bitrate level.
[0069] The image quality evaluation result for a specific bitrate can be an assessment of the picture quality of the transcoded video at that bitrate. This picture quality can be determined based on multiple attributes such as image sharpness, clarity, lens distortion, chromatic aberration, resolution, color gamut, color purity (color saturation), and / or color balance. For example, this image quality evaluation result can include an image quality score; a higher score indicates better picture quality at the corresponding bitrate, and a lower score indicates worse picture quality.
[0070] Specifically, after obtaining the complexity features of the original video and the transcoding features of the transcoded video at a certain bitrate, the image quality of this bitrate can be evaluated based on these complexity features and transcoding features to obtain the image quality evaluation result for this bitrate. For example, the image quality of this bitrate can be evaluated based on at least one dimension of the spatial complexity features of the original video, at least one dimension of the temporal complexity features of the original video, the bitstream features of the transcoded video, and the similarity features between the transcoded video and the original video to obtain the image quality score for this bitrate, which serves as the image quality evaluation result for this bitrate.
[0071] In this embodiment, the method for determining the image quality score of the bitrate level is not limited. For example, the image quality score of this bitrate level can be calculated based on a pre-set evaluation strategy (such as an evaluation function). Alternatively, the image quality score of the bitrate level can be determined by a pre-trained image quality evaluation model. For example, the spatial and temporal complexity features of the original video, as well as the bitstream features and / or similarity features of the transcoded video at each bitrate level, can be input into the pre-trained image quality evaluation model. The image quality evaluation model can then perform image quality evaluation on each bitrate level based on the input features, and obtain the image quality score of each bitrate level output by the image quality evaluation model to further improve the accuracy of the determined image quality score. In this case, optionally, the step of evaluating the image quality of the bitrate level based on the complexity feature and the transcoding feature to obtain the image quality evaluation result of the bitrate level includes: for a preset bitrate level among the at least one bitrate level, inputting the complexity feature and the transcoding feature of the transcoded video under the preset bitrate level into a pre-trained image quality evaluation model; obtaining the image quality score output by the image quality evaluation model as the image quality evaluation result of the preset bitrate level. The image quality evaluation model can be a model with image quality evaluation functionality, and its type is not limited; for example, it can be a large language model or a non-large language model.
[0072] In this embodiment, after obtaining the image quality evaluation result for at least one bitrate level of the original video, the image quality evaluation result can be stored and / or output. For example, the image quality evaluation result can be stored in the cloud, and when a client needs to play a transcoded video obtained by transcoding the original video, such as when a client needs to play a video based on the original video, the stored image quality evaluation results for each bitrate level of the original video can be sent to the client so that the client can adaptively select playback levels based on the image quality evaluation result when playing the transcoded video. In this case, optionally, after obtaining the image quality evaluation result for the bitrate level, the method further includes: storing the image quality evaluation result for the at least one bitrate level, wherein the stored image quality evaluation result is used for the client to adjust the bitrate level during the playback of the transcoded video.
[0073] The image quality evaluation method provided in this embodiment transcodes the original video to obtain a transcoded video at at least one bitrate level. It acquires the complexity features of the original video and the transcoding features of the transcoded video at each bitrate level. Based on the complexity features of the original video and the transcoding features of the transcoded video at each bitrate level, it performs image quality evaluation on each bitrate level to obtain the image quality evaluation result for each bitrate level. This embodiment utilizes the above technical solution to perform image quality evaluation based on the complexity features of the original video before transcoding and the transcoding features of the transcoded video, which improves the accuracy of the image quality evaluation results. This, in turn, improves the accuracy of the transcoding level adjustment when playing the video based on the image quality evaluation results, thereby improving the image quality of the played video and the utilization efficiency of network bandwidth.
[0074] Figure 2 This is a flowchart illustrating a video playback method provided in an embodiment of this disclosure. The method can be executed by a video playback device, which can be implemented in software and / or hardware and can be configured in an electronic device, typically a computer, mobile phone, or tablet computer. The video playback method provided in this disclosure is applicable to scenarios where bitrate adjustment is performed based on the image quality evaluation results of transcoded video. Figure 2 As shown, the video playback method provided in this embodiment may include:
[0075] S201. Obtain the image quality evaluation result of at least one bitrate level of the original video, and determine the first bitrate level corresponding to the first transcoded video currently being played, wherein the image quality evaluation result is determined based on the complexity characteristics of the original video and the transcoding characteristics of the transcoded video of the original video at at least one bitrate level, and the transcoded video includes the first transcoded video.
[0076] The original video can have multiple bitrate levels, and different bitrate levels can correspond to different transcoded videos of the original video, i.e., different transcoded videos exist. In other words, different transcoded videos can correspond to different bitrate levels, such as having different bitrates. The first transcoded video can be understood as the transcoded video currently being played by the client among the various transcoded videos of the original video. It can be the transcoded video played before the client adjusts the bitrate based on the image quality assessment results; or it can be the transcoded video played after the client adjusts the bitrate based on the image quality assessment results. The first bitrate level can be the bitrate level corresponding to the first transcoded video. It can be the bitrate level before the bitrate adjustment based on the image quality assessment results, such as the bitrate level determined by the network speed when the client initially plays the transcoded video of the original video; or it can be the bitrate level obtained after the client adjusts the bitrate based on the image quality assessment results. This embodiment does not limit this.
[0077] Specifically, the server can evaluate the image quality of the original video at each bitrate level based on the complexity characteristics of the original video and the transcoding characteristics of the transcoded video at at least one bitrate level, obtaining the image quality evaluation results for each bitrate level of the original video, such as obtaining the image quality score for each bitrate unit of the original video. When the client needs to play the transcoded video of the original video, it can obtain the video information of the original video, such as obtaining the image quality evaluation results of at least one bitrate level of the original video, and / or the video data of the transcoded video (such as the first transcoded video) at a certain bitrate level (such as the first bitrate level), and play the transcoded video at this bitrate level based on this video data.
[0078] For example, when the client meets the bitrate adjustment requirement, such as when the bitrate adjustment cycle is reached, it can determine the bitrate corresponding to the first transcoded video it is currently playing, that is, determine the first bitrate before this adjustment, so that the second bitrate to be adjusted can be determined based on this first bitrate.
[0079] In this embodiment, for the case where the first bitrate is the bitrate initially determined by the client based on the network speed, for example, the client can perform a preliminary bitrate selection based on the current network speed, such as determining the maximum playback bitrate max_rate = a × net_speed based on the user's current network speed. 2 The algorithm calculates +b×net_speed+c, and selects a bitrate that does not exceed this maximum playback bitrate (max_rate) as the initial playback bitrate. Alternatively, it selects a bitrate that is closest to and does not exceed this maximum playback bitrate. Here, max_rate is the maximum playback bitrate, net_speed is the current network speed, and a, b, and c are pre-set parameters whose specific values can be obtained through experimentation or other methods. This embodiment does not impose restrictions on the specific values of a, b, and c.
[0080] S202. Based on the image quality evaluation results, adjust the first bitrate level to obtain the second bitrate level.
[0081] In this embodiment, after determining the first bitrate level, a second bitrate level to be adjusted can be determined based on the image quality evaluation results of at least one level of the original video and this first bitrate level. This second bitrate level can be understood as the adjusted bitrate level, that is, the bitrate level obtained by adjusting the first bitrate level.
[0082] For example, the decision to adjust the first bitrate to an adjacent bitrate can be determined based on the image quality assessment results of the first bitrate and its adjacent bitrates. This could be achieved by considering the relative magnitude or difference between the image quality assessment results of the first bitrate and its adjacent bitrates. Alternatively, in some instances, the decision can be further made by combining the bitrate difference between the first bitrate and its adjacent bitrates, and so on.
[0083] In this process, the bitrate levels of the original video can be sorted in ascending order of bitrate. The adjacent bitrate levels of the first bitrate level can be any bitrate level adjacent to the first bitrate level in this sorting, such as the bitrate level one level higher or lower than the first bitrate level. A bitrate level one level higher than the first bitrate level can be understood as a bitrate level adjacent to the first bitrate level with a higher bitrate. Similarly, a bitrate level one level lower than the first bitrate level can be understood as a bitrate level adjacent to the first bitrate level with a lower bitrate.
[0084] S203. Play the original video as a second transcoded video at the second bitrate.
[0085] In this step, after determining the second bitrate level, the bitrate level currently used by the client to play the transcoded video can be switched from the first bitrate level to the second bitrate level. For example, video data of the second transcoded video at the second bitrate level can be obtained, and the currently playing video data can be switched from the video data of the first transcoded video to the video data of this transcoded video. For example, playback of the video data of the first transcoded video can be stopped, and the playback progress of the first transcoded video at the time of stopping can be used as the playback progress of the second transcoded video. Playback of the video data of the second transcoded video can then continue, thereby adjusting the currently used transcoding level.
[0086] In some examples, after changing the current transcoding rate from the first bitrate to the second bitrate, the transcoded video can be played using this second bitrate until the transcoded video finishes playing, thus reducing the number of times the bitrate needs to be adjusted.
[0087] In some examples, the currently used transcoding level can be dynamically adjusted during the playback of the transcoded video to further improve the video playback effect on the client. Optionally, after playing the second transcoded video of the original video at the second bitrate level, the process further includes: using the second bitrate level as the first bitrate level, using the second transcoded video as the first transcoded video, and returning to perform the operation of adjusting the first bitrate level based on the image quality evaluation result until the second transcoded video finishes playing. For example, after adjusting the currently used transcoding level from the first bitrate level to the second bitrate level, this second bitrate level can be used as the new first bitrate level, the currently playing second transcoded video can be used as the new first transcoded video, and when the bitrate level adjustment conditions are met, returning to execute S202 to readjust the currently used transcoding level of the transcoded video based on the image quality evaluation result until the second transcoded video finishes playing.
[0088] The video playback method provided in this embodiment obtains the image quality evaluation result of at least one bitrate level of the original video and determines the first bitrate level corresponding to the first transcoded video currently being played. This image quality evaluation result is determined based on the complexity characteristics of the original video and the transcoding characteristics of the transcoded video of the original video at at least one bitrate level. The transcoded video of the original video includes the first transcoded video. The first bitrate level is adjusted based on the image quality evaluation results of at least some bitrate levels to obtain a second bitrate level. The second transcoded video corresponding to the second bitrate level is then played. This embodiment utilizes the above technical solution to perform image quality evaluation based on the complexity characteristics of the original video before transcoding and the transcoding characteristics of the transcoded video obtained from transcoding. Adjusting the current transcoding level based on the image quality evaluation result improves the accuracy of the image quality evaluation result, thereby improving the accuracy of the transcoding level adjusted when playing video based on the image quality evaluation result, and ultimately improving the image quality of the played video and the utilization efficiency of network bandwidth.
[0089] Figure 3 This is a flowchart illustrating another video playback method provided in this embodiment. The solution in this embodiment can be combined with one or more optional solutions in the above embodiments. Optionally, the image quality evaluation result includes an image quality score, and adjusting the first bitrate level based on the image quality evaluation result to obtain a second bitrate level includes: determining the level difference information between the adjacent bitrate levels of the first bitrate level and the first bitrate level, the level difference information including the image quality score difference and / or bitrate change rate; adjusting the first bitrate level based on the level difference information to obtain a second bitrate level.
[0090] Correspondingly, such as Figure 3 As shown, the video playback method provided in this embodiment may include:
[0091] S301. Obtain the image quality evaluation result of at least one bitrate level of the original video, and determine the first bitrate level corresponding to the first transcoded video currently being played, wherein the image quality evaluation result is determined based on the complexity characteristics of the original video and the transcoding characteristics of the transcoded video of the original video at at least one bitrate level, and the transcoded video includes the first transcoded video.
[0092] S302. Determine the bit rate difference information between the adjacent bit rate levels of the first bit rate level and the first bit rate level, wherein the bit rate difference information includes the difference in image quality score and / or the bit rate change rate.
[0093] The bitrate difference information between adjacent bitrate levels and the first bitrate level can be used to indicate the differences between the corresponding bitrate levels, such as differences in image quality and / or bitrate differences. This image quality difference may include, for example, differences in image quality scores and / or rates of change in image quality scores; the following explanation uses the difference in image quality scores as an example. Similarly, this bitrate difference may include, for example, differences in bitrate and / or rates of change in bitrate; the following explanation uses the rate of change in bitrate as an example.
[0094] Specifically, based on the image quality assessment results and / or corresponding bitrates of the first bitrate level and its adjacent levels, the difference information between the first bitrate level and its adjacent levels can be determined. For example, the difference between the first bitrate level and the lower bitrate level (such as the difference in image quality score) and / or the difference in bitrate (such as the bitrate change rate) can be determined; and / or, the difference in image quality (such as the difference in image quality score) and / or the difference in bitrate (such as the bitrate change rate) between the higher bitrate level and the first bitrate level can be determined, and so on.
[0095] S303. Adjust the first bitrate level based on the bitrate difference information to obtain the second bitrate level.
[0096] In this step, the first bitrate can be adjusted based on the difference information between the first bitrate and its adjacent bitrates. For example, it can be determined whether to adjust the first bitrate and / or adjust the first bitrate to a certain adjacent bitrate based on whether the difference information between the first bitrate and its adjacent bitrates meets a preset condition, etc.
[0097] The preset conditions can be set as needed. For example, these preset conditions can be associated with the image quality difference and / or bitrate difference between the adjacent bitrate levels of the first bitrate level and the first bitrate level. The following example illustrates how these preset conditions are associated with the image quality score difference and bitrate change rate between the adjacent bitrate levels of the first bitrate level and the first bitrate level.
[0098] In some implementations, adjusting the first bitrate level based on the level difference information to obtain the second bitrate level includes: if the level difference information meets a first preset condition, then reducing the first bitrate level by one bitrate level to obtain the second bitrate level, wherein the first preset condition includes a first image quality score difference between the first bitrate level and the lower bitrate level being less than or equal to a first difference threshold, and the first bitrate change rate of the lower bitrate level relative to the first bitrate level being greater than or equal to a first change rate threshold.
[0099] For example, if the difference in image quality score between the first bitrate level and the bitrate level below the first bitrate level is less than or equal to the first difference threshold (this indicates that reducing the bitrate level will not lead to a significant drop in image quality), and the rate of change in bitrate between the first bitrate level and the bitrate level below the first bitrate level is greater than or equal to the first rate of change threshold (this indicates that reducing the bitrate level can reduce the bitrate to a certain extent, improving the smoothness of playback), then the first bitrate level can be reduced by one bitrate level as the second bitrate level, that is, the bitrate level below the first bitrate level is used as the second bitrate level.
[0100] The first preset condition can be considered as the preset condition that must be met between the first bitrate level and the bitrate level below it when the first bitrate level is reduced. The first image quality score difference can be the difference in image quality scores between the first bitrate level and the bitrate level below it, such as the difference between their image quality scores. The first bitrate change rate can be understood as the absolute bitrate change rate of the bitrate level below the first bitrate level relative to the first bitrate level (i.e., the absolute value of the bitrate change rate), which can be the ratio of the difference between the bitrate corresponding to the first bitrate level and the bitrate corresponding to the bitrate level below the first bitrate level to the bitrate corresponding to the first bitrate level. Both the first difference threshold and the first change rate threshold can be flexibly set as needed. Taking a maximum score of 100 as an example, the first difference threshold can be set to 3, 5, or 7, etc.; the first change rate threshold can be set to 4%, 5%, or 6%, etc.
[0101] In some examples, assume the current bitrate selection result (i.e., the first bitrate level) is the kth level (sorted by bitrate from smallest to largest). If the (k-1)th level exists, and let the difference in the first image quality score between the kth and (k-1)th levels be d_gearvqm1, and let the first bitrate change rate between the kth and (k-1)th levels (i.e., (bitrate of the kth level - bitrate of the (k-1)th level) / bitrate of the kth level × 100%) be d_br1, if d_gearvqm1 ≤ downshift_gvqm_delta_max (i.e., the first difference threshold) and d_br1 ≥ downshift_br_delta_min (i.e., the first change rate threshold), then the current transcoding level can be downgraded to k-1, that is, the (k-1)th level is taken as the second bitrate level.
[0102] In some implementations, adjusting the first bitrate level based on the level difference information to obtain the second bitrate level includes: if the level difference information meets a second preset condition, then raising the first bitrate level by one bitrate level to obtain the second bitrate level, wherein the second preset condition includes a second image quality score difference between the higher bitrate level and the first bitrate level being greater than or equal to a second difference threshold, and the second bitrate change rate of the higher bitrate level relative to the first bitrate level being less than or equal to a second change rate threshold.
[0103] For example, if the difference in image quality score between the first bitrate level and the next higher bitrate level is greater than or equal to the second difference threshold (indicating that increasing the bitrate level will significantly improve image quality), and the rate of change in bitrate between the first bitrate level and the next higher bitrate level is less than or equal to the second rate of change threshold (indicating that increasing the bitrate level will not cause a significant increase in bitrate and there is a high probability that it will not cause playback stuttering), then the first bitrate level can be increased by one bitrate level as the second bitrate level, that is, the bitrate level higher than the first bitrate level is used as the second bitrate level.
[0104] The second preset condition can be considered as the preset condition that must be met between the higher bitrate level and the first bitrate level when the first bitrate level is increased. The second image quality score difference can be the difference in image quality score between the higher bitrate level and the first bitrate level, such as the difference between their image quality scores. The second bitrate change rate can be understood as the absolute bitrate change rate of the higher bitrate level relative to the first bitrate level (i.e., the absolute value of the bitrate change rate), which can be the ratio of the difference between the bitrate corresponding to the higher bitrate level and the bitrate corresponding to the first bitrate level to the bitrate corresponding to the first bitrate level. The relative size between the second difference threshold and the first difference threshold is not limited. For example, the second difference threshold can be greater than, less than, or equal to the first difference threshold. In some examples, the second difference threshold can be greater than the first difference threshold to avoid frequent bitrate increases affecting the playback smoothness of the transcoded video. There is no limit to the relative magnitude between the second rate of change threshold and the first rate of change threshold. For example, the first rate of change threshold can be greater than, less than, or equal to the first rate of change threshold. The following explanation uses the example of the second rate of change threshold being equal to the first rate of change threshold. Both the second difference threshold and the second rate of change threshold can be flexibly set as needed. Taking a maximum score of 100 as an example, the first difference threshold can be set to 9, 10, or 11, etc.; the second rate of change threshold can be set to 4%, 5%, or 6%, etc.
[0105] In some examples, assume the current bitrate selection result (i.e., the first bitrate level) is level k (sorted by bitrate from smallest to largest). If level k+1 exists, and let the difference in the second quality score between level k+1 and level k be d_gearvqm2, and let the second bitrate change rate between level k+1 and level k be d_br2 (i.e., (bitrate of level k+1 - bitrate of level k) / bitrate of level k × 100%), if d_gearvqm2 ≥ downshift_gvqm_delta_max (i.e., the second difference threshold) and d_br2 ≤ downshift_br_delta_min (i.e., the second change rate threshold), then the current transcoding level can be upgraded to level k+1, that is, level k+1 is taken as the second bitrate level.
[0106] In this embodiment, if the difference information between the adjacent bitrate levels of the first bitrate level and the first bitrate level simultaneously meets the first preset condition and the second preset condition, it can be determined based on the preset settings whether to increase, decrease, or keep the first bitrate level unchanged; or the utility of increasing and decreasing the bitrate level can be calculated separately, and it can be determined based on this whether to increase or decrease the bitrate level, so as to further improve the accuracy of the level adjustment.
[0107] Optionally, adjusting the first bitrate level based on the level difference information to obtain the second bitrate level further includes: in response to the level difference information simultaneously satisfying the first preset condition and the second preset condition, calculating the downgrading utility and upgrading utility of the first bitrate level respectively; adjusting the first bitrate level based on the downgrading utility and the upgrading utility to obtain the second bitrate level.
[0108] The down-rate utility can be used to measure the usefulness of downgrading the first bitrate level, such as to measure the value of downgrading the first bitrate level. For example, the down-rate utility can be calculated based on the first image quality score difference and the first bitrate change rate. For example, the first image quality score difference can be multiplied by a first coefficient (such as 0.01) to reduce the first image quality score difference to the range of 0 to 1, and the sum of the resulting product and the first bitrate change rate can be used as the down-rate utility of the first bitrate level.
[0109] Upgrade utility can be used to measure the usefulness of adjusting the first bitrate level, such as to measure the value of upgrading the first bitrate level. For example, upgrade utility can be calculated based on the second quality score difference and the second bitrate change rate. For example, the second quality score difference can be multiplied by a second coefficient (such as 0.01) to reduce the second quality score difference to the range of 0 to 1, and the difference between the resulting product and the second bitrate change rate can be calculated as the upgrade utility of the first bitrate level.
[0110] Specifically, when the difference information between the adjacent bitrate levels of the first bitrate level and the first bitrate level simultaneously meets the first preset condition and the second preset condition, the practicality of downgrading the first bitrate level can be calculated based on the first image quality score difference and the first bitrate change rate, and the practicality of upgrading the first bitrate level can be calculated based on the second image quality score difference and the second bitrate change rate.
[0111] Then, the adjustment of the first bitrate level can be determined based on the practicality of downgrading and upgrading. For example, the adjustment can be based on the relative magnitude between the practicality of downgrading and upgrading: if the practicality of downgrading is greater than or equal to the practicality of upgrading, the first bitrate level is lowered by one level; if the practicality of downgrading is less than the practicality of upgrading, the first bitrate level is increased by one level. Alternatively, the adjustment can be based on the difference between the practicality of upgrading and downgrading: if the difference is greater than or equal to a preset difference threshold, the first bitrate level is increased by one level; if the difference is less than the preset difference threshold, the first bitrate level is lowered by one level, and so on. The preset difference threshold can be set as needed, such as 0.01, 0.03, or 0.04, etc.
[0112] Furthermore, if the bit difference information between the adjacent bit rate bits of the first bit rate ...
[0113] S304. Play the original video as a second transcoded video at the second bitrate.
[0114] The video playback method provided in this embodiment adjusts the first bitrate level based on the difference information between the adjacent levels of the first bitrate level and the first bitrate level, which can further improve the accuracy of the adjustment result of the first bitrate level, and thus further improve the video playback effect of the client.
[0115] In some alternative implementations, taking user-generated content (UGC) video-on-demand scenarios as an example, a full-reference scheme or a no-reference scheme can generally be used for quality level adjustment. However, the quality level adjustment schemes in related technologies are not very effective. For example, the Video Multimethod Assessment Fusion (VMAF) algorithm is only suitable for measuring the distortion of a single transcoding stage; and the VMAF algorithm and the Video Multimethod Assessment Fusion-High Dynamic Range (VMAF-HDR) standard generally only focus on full-parameter quality assessment algorithms for long video streaming media, requiring reference to a large dataset. No-reference solutions typically use a single metric. A single no-reference metric cannot fully address the image quality across different stages, including submission, enhancement, transcoding, and playback, and is relatively expensive. For example, the Universal Video Quality Model (UVQ) algorithm is a no-reference algorithm that solves the end-to-end problem using a no-reference (NR) algorithm. Its training dataset consists of thousands of source videos and tens of thousands of transcoded videos. Key Video Quality (KVQ) uses a large number of open-source datasets, such as more than 4,000 videos, and its internal algorithm requires an even larger dataset. Its overall approach is similar to UVQ, using a no-reference algorithm applied across the entire business chain.
[0116] Therefore, this embodiment provides a low-cost, low-latency, and high-accuracy image quality metric: Gear Video Quality Metric (GearVQM). This metric is used on the client side to assist in playback selection, optimize user experience, and improve network bandwidth utilization efficiency. Specifically, it can assess the image quality loss caused by scaling and encoding algorithms to aid in playback selection decisions.
[0117] For example, existing transcoding schemes in related technologies suffer from cost and latency issues. UGC short video platforms may need to handle hundreds of millions of user uploads daily. Each video generates 5-10 or even more transcoded videos of different specifications. These transcoded videos are then distributed to terminal devices, and the optimal playback level is selected based on factors such as video quality, user device, and network speed. Real-time quality evaluation and scoring of all levels places a significant strain on computing resources. The solution provided in this embodiment fully utilizes the characteristics of the transcoding process, achieving a low-cost, low-latency transcoded video quality evaluation scheme.
[0118] Furthermore, the GearVQM image quality assessment method provided in this embodiment can fully utilize various features available in the transcoding process, including source complexity, transcoding features, and similarity enhancements, to enhance fine-grained perception of scaling and encoding impairments, thereby achieving more accurate image quality assessment. This enables comprehensive coverage of mainstream transcoding levels with almost no additional computational cost, significantly improving the accuracy and efficiency of transcoding quality assessment.
[0119] Figure 4 This embodiment provides a schematic diagram of an image quality assessment and video playback process, such as... Figure 4 As shown, the solution provided in this embodiment can be described as follows:
[0120] A1. Extract features during the server-side transcoding process.
[0121] GearVQM relies on various feature calculations, including the spatial information (SI) and temporal information (TI) features of the video source (i.e., the original video), as well as the bitstream features and similarity features of the transcoded video, specifically:
[0122] SI and TI features are the spatial texture and temporal motion statistics of the video, respectively. Let i represent the video frame number i = 1, 2, ..., N. First, the Sobel gradient operator is used to calculate the spatial texture gradient and temporal motion information gradient at each time step. Then, the spatial texture gradient and temporal motion information gradient are calculated using the spatial statistical operator F. s The space and time complexity values are calculated at each time step, and finally the time-domain statistical computation function F is used. t The spatial and temporal complexity values of the entire video are obtained. Fs and Ft can each be at least the minimum, maximum, average, and variance, respectively. Thus, different combinations of Fs and Ft can be used to calculate the spatial complexity features and temporal complexity features of the original video in at least 16 dimensions, and then obtain the complexity feature FeatureSet_SITI with at least 32 dimensions.
[0123] Bitstream features are the usable information in the video bitstream after the video of this bitrate is encoded, including QP, CU block size, etc. For example, the bitstream feature FeatureSet_Stream = {average QP value of B-frame, minimum QP value of B-frame, maximum QP value of B-frame, CU value of B-frame, PU value of B-frame, TU value of B-frame, ...}.
[0124] The similarity features include MSE, PSNR, and SSIM of the transcoded video relative to the source (i.e., the original video) on the luminance channel Y, chrominance channel U (i.e., the first chrominance channel), and chrominance channel V (i.e., the second chrominance channel). Specifically, the similarity feature FeatureSet_Sim = {MSE_Y, MSE_U, MSE_V, PSNR_Y, PSNR_U, PSNR_V, SSIM_Y, SSIM_U, SSIM_V}.
[0125] A2. Prediction of transcoded video quality.
[0126] This embodiment provides a method for evaluating the image quality of video transcoding levels, covering all transcoded videos at low cost, and calculating in real time. The GearVQM score can be obtained when the video is transcoded, ensuring that the image quality information is available when the video is sent to the client for playback.
[0127] Each transcoding level generates a GearVQM score, reflecting the quality of the video at that level. The score ranges from 0 to 100, with higher scores indicating better video quality. The greater the difference in GearVQM scores between two levels, the greater the difference in their playback performance. The GearVQM score is obtained by aggregating the above features: GearVQM = SVR(FeatureSet_SITI, FeatureSet_Stream, FeatureSet_Sim).
[0128] A3. Adaptive file selection capability based on image quality signal.
[0129] When a playback device (such as a client) selects a playback level, it makes a decision based on device and network speed conditions, and then further adjusts the video quality based on the differences between the video levels.
[0130] During the initial file selection based on network speed, the maximum playback bitrate can be determined according to the user's current network speed: max_rate = a × net_speed 2 +b×net_speed+c selects the bitrate that does not exceed the upper limit of max_rate as the playback bitrate.
[0131] After that, adaptive playback selection can be performed based on the image quality signal.
[0132] For example, suppose the current selection result is the kth level (sorted by bitrate from smallest to largest). If the (k-1)th level exists, and let the difference in the first image quality score between the kth and (k-1)th levels be d_gearvqm1, and let the first bitrate change rate between the kth and (k-1)th levels (i.e., (bitrate of the kth level - bitrate of the (k-1)th level) / bitrate of the kth level × 100%) be d_br1, if d_gearvqm1 ≤ downshift_gvqm_delta_max (i.e., the first difference threshold) and d_br1 ≥ downshift_br_delta_min (i.e., the first change rate threshold), then the current transcoding level can be downgraded to k-1, that is, the (k-1)th level is taken as the second bitrate level.
[0133] If the (k+1)th level exists, and let the difference between the second image quality score of the (k+1)th level and the kth level be d_gearvqm2, and let the second bitrate change rate between the (k+1)th level and the kth level be d_br2 (i.e., (bitrate of the (k+1)th level - bitrate of the kth level) / bitrate of the kth level × 100%). If d_gearvqm2 ≥ downshift_gvqm_delta_max (i.e., the second difference threshold) and d_br2 ≤ downshift_br_delta_min (i.e., the second change rate threshold), then the current transcoding level can be upgraded to k+1, that is, the (k+1)th level is taken as the second bitrate level.
[0134] For cases where both of the above conditions are met, the first bitrate level can be adjusted based on the utility of downgrading (downgrading) and the utility of upgrading (upgrading) to obtain the second bitrate level. For example, if utility (upgrading) - utility (downgrading) ≥ upshift_util_diff_min (i.e., the preset difference threshold), then upgrading is performed; otherwise, downgrading is performed.
[0135] This leads to a leading transcoding video quality assessment solution in the on-demand short video industry. When applied to the client-side playback selection process, it can improve video quality during playback, optimize bandwidth utilization efficiency, and provide users with a better viewing experience.
[0136] Figure 5 This is a structural block diagram of an image quality evaluation device provided in an embodiment of this disclosure. The device can be implemented by software and / or hardware, and can be configured in an electronic device, typically a computer, mobile phone, or tablet computer. It can evaluate the image quality of transcoded videos at different bitrates by executing an image quality evaluation method. Figure 5 As shown, the image quality evaluation device provided in this embodiment may include: a transcoding processing module 501, a feature acquisition module 502, and an image quality evaluation module 503, wherein,
[0137] The transcoding processing module 501 is used to transcode the original video to obtain a transcoded video of the original video at at least one bitrate level.
[0138] The feature acquisition module 502 is used to acquire the complexity features of the original video and the transcoding features of the transcoded video.
[0139] The image quality evaluation module 503 is used to evaluate the image quality of the bitrate based on the complexity features and the transcoding features, and to obtain the image quality evaluation result of the bitrate.
[0140] The image quality evaluation device provided in this embodiment transcodes the original video using a transcoding processing module to obtain a transcoded video of the original video at at least one bitrate level. It then acquires the complexity features of the original video and the transcoding features of the transcoded video at each bitrate level using a feature acquisition module. Finally, the image quality evaluation module evaluates the image quality of each bitrate level based on the complexity features of the original video and the transcoding features of the transcoded video at each bitrate level, obtaining the image quality evaluation result for each bitrate level. This embodiment utilizes the above technical solution to perform image quality evaluation based on the complexity features of the original video before transcoding and the transcoding features of the transcoded video, which improves the accuracy of the image quality evaluation results. This, in turn, improves the accuracy of the transcoding level adjustment when playing the video based on the image quality evaluation results, thereby improving the image quality of the played video and the utilization efficiency of network bandwidth.
[0141] Optionally, the feature acquisition module 502 may be specifically used to: acquire at least a portion of the video frames of the original video; calculate the gradient information of the original video at each moment based on the at least a portion of the video frames; statistically analyze the complexity information of the original video at each moment using preset spatial operators based on the gradient information, wherein the preset spatial operators include a minimum value, a maximum value, an average value, or a variance; and determine the complexity features of the original video using preset temporal operators based on the complexity information, wherein the preset temporal operators include a minimum value, a maximum value, an average value, or a variance.
[0142] Optionally, the complexity features include spatial complexity features and / or temporal complexity features.
[0143] Optionally, the transcoding features include bitstream features and / or similarity features, wherein the bitstream features include at least one of the encoding parameter features, coding unit features, prediction unit features, and transform unit features of the transcoded video; the similarity features include at least one of the mean square error features, peak signal-to-noise ratio features, and texture similarity features of the transcoded video and the original video in at least some video channels, wherein the at least some video channels include at least one of the luminance channel, the first chroma channel, and the second chroma channel.
[0144] Optionally, the image quality evaluation module 503 may be specifically used to: input the complexity features and the transcoding features of the transcoded video under the preset bitrate for a preset bitrate in the at least one bitrate level into a pre-trained image quality evaluation model; obtain the image quality score output by the image quality evaluation model as the image quality evaluation result of the preset bitrate level.
[0145] Furthermore, the image quality evaluation device may further include: a result storage module, used to store the image quality evaluation results of at least one bitrate level after obtaining the image quality evaluation results of the bitrate level, wherein the stored image quality evaluation results are used by the client to adjust the bitrate level during the playback of the transcoded video.
[0146] The image quality evaluation apparatus provided in this disclosure can execute the image quality evaluation method provided in any embodiment of this disclosure, and has the corresponding functional modules and beneficial effects for executing the image quality evaluation method. Technical details not described in detail in this embodiment can be found in the image quality evaluation method provided in any embodiment of this disclosure.
[0147] Figure 6 This is a structural block diagram of a video playback device provided in an embodiment of this disclosure. The device can be implemented by software and / or hardware, and can be configured in an electronic device, typically a computer, mobile phone, or tablet computer. It can adjust the bitrate based on the image quality evaluation results of the transcoded video by executing a video playback method. Figure 6 As shown, the video playback device provided in this embodiment may include: a result acquisition module 601, a gear adjustment module 602, and a video playback module 603, wherein,
[0148] The result acquisition module 601 is used to acquire the image quality evaluation result of at least one bitrate level of the original video and determine the first bitrate level corresponding to the first transcoded video currently being played. The image quality evaluation result is determined based on the complexity features of the original video and the transcoding features of the transcoded video of the original video at at least one bitrate level. The transcoded video includes the first transcoded video.
[0149] The bitrate adjustment module 602 is used to adjust the first bitrate level based on the image quality evaluation result to obtain a second bitrate level;
[0150] The video playback module 603 is used to play the original video as a second transcoded video at the second bitrate level.
[0151] The video playback device provided in this embodiment obtains the image quality evaluation results of at least one bitrate level of the original video through a result acquisition module, and determines the first bitrate level corresponding to the first transcoded video currently being played. This image quality evaluation result is determined based on the complexity characteristics of the original video and the transcoding characteristics of the transcoded video of the original video at at least one bitrate level. The transcoded video of the original video includes the first transcoded video. A bitrate adjustment module adjusts the first bitrate level based on the image quality evaluation results of at least some bitrate levels to obtain a second bitrate level. A video playback module plays the second transcoded video corresponding to the second bitrate level. This embodiment utilizes the above technical solution to perform image quality evaluation based on the complexity characteristics of the original video before transcoding and the transcoding characteristics of the transcoded video, and adjusts the current transcoding level based on the image quality evaluation results. This improves the accuracy of the image quality evaluation results, thereby improving the accuracy of the transcoding level adjusted when playing video based on the image quality evaluation results, and ultimately improving the image quality of the played video and the utilization efficiency of network bandwidth.
[0152] Optionally, the image quality evaluation result includes an image quality score, and the bitrate adjustment module 602 includes: an information determination unit, used to determine the bitrate difference information between the adjacent bitrate levels of the first bitrate level and the first bitrate level, the bitrate difference information including the image quality score difference and / or the bitrate change rate; and a bitrate adjustment unit, used to adjust the first bitrate level based on the bitrate difference information to obtain a second bitrate level.
[0153] Optionally, the bitrate adjustment unit may be specifically used to: if the bitrate difference information meets a first preset condition, then lower the first bitrate level by one bitrate level to obtain a second bitrate level, wherein the first preset condition includes a first image quality score difference between the first bitrate level and the lower bitrate level being less than or equal to a first difference threshold, and the first bitrate change rate of the lower bitrate level relative to the first bitrate level being greater than or equal to a first change rate threshold; and / or, if the bitrate difference information meets a second preset condition, then raise the first bitrate level by one bitrate level to obtain a second bitrate level, wherein the second preset condition includes a second image quality score difference between the higher bitrate level and the first bitrate level being greater than or equal to a second difference threshold, and the second bitrate change rate of the higher bitrate level relative to the first bitrate level being less than or equal to a second change rate threshold.
[0154] Optionally, the gear adjustment unit can also be used to: in response to the gear difference information simultaneously satisfying the first preset condition and the second preset condition, calculate the downgrading utility and upgrading utility of the first bitrate gear respectively; adjust the first bitrate gear based on the downgrading utility and the upgrading utility to obtain a second bitrate gear.
[0155] Furthermore, the video playback device may also include: a return adjustment module, configured to, after playing the second transcoded video of the original video at the second bitrate level, use the second bitrate level as the first bitrate level, use the second transcoded video as the first transcoded video, and return to perform the operation of adjusting the first bitrate level based on the image quality evaluation result, until the second transcoded video finishes playing.
[0156] The video playback device provided in this disclosure can execute the video playback method provided in any embodiment of this disclosure, and has the corresponding functional modules and beneficial effects for executing the video playback method. Technical details not described in detail in this embodiment can be found in the video playback method provided in any embodiment of this disclosure.
[0157] The following is for reference. Figure 7 The diagram illustrates a structural schematic of an electronic device (e.g., a server or terminal device) 700 suitable for implementing embodiments of the present disclosure. The terminal device in the embodiments of the present disclosure may include, but is not limited to, mobile terminals such as mobile phones, laptops, digital broadcast receivers, PDAs (personal digital assistants), PADs (tablet computers), PMPs (portable multimedia players), in-vehicle terminals (e.g., in-vehicle navigation terminals), and fixed terminals such as digital TVs and desktop computers. Figure 7 The electronic device shown is merely an example and should not be construed as limiting the functionality and scope of the embodiments disclosed herein.
[0158] like Figure 7 As shown, the electronic device 700 may include a processing unit (e.g., a central processing unit, a graphics processor, etc.) 701, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 702 or a program loaded from a storage device 708 into a random access memory (RAM) 703. The RAM 703 also stores various programs and data required for the operation of the electronic device 700. The processing unit 701, ROM 702, and RAM 703 are interconnected via a bus 704. An input / output (I / O) interface 705 is also connected to the bus 704.
[0159] Typically, the following devices can be connected to I / O interface 705: input devices 706 including, for example, touchscreens, touchpads, keyboards, mice, cameras, microphones, accelerometers, gyroscopes, etc.; output devices 707 including, for example, liquid crystal displays (LCDs), speakers, vibrators, etc.; storage devices 708 including, for example, magnetic tapes, hard disks, etc.; and communication devices 709. Communication device 709 allows electronic device 700 to communicate wirelessly or wiredly with other devices to exchange data. Although Figure 7An electronic device 700 with various devices is shown; however, it should be understood that it is not required to implement or possess all of the devices shown. More or fewer devices may be implemented or possessed alternatively.
[0160] In particular, according to embodiments of this disclosure, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, embodiments of this disclosure include a computer program product comprising a computer program carried on a non-transitory computer-readable medium, the computer program containing program code for performing the methods shown in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via communication device 709, or installed from storage device 708, or installed from ROM 702. When the computer program is executed by processing device 701, it performs the functions defined in the methods of embodiments of this disclosure.
[0161] It should be noted that the computer-readable medium described in this disclosure can be a computer-readable signal medium or a computer-readable storage medium, or any combination thereof. A computer-readable storage medium can be, for example,—but not limited to—an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of a computer-readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination thereof. In this disclosure, a computer-readable storage medium can be any tangible medium containing or storing a program that can be used by or in connection with an instruction execution system, apparatus, or device. In this disclosure, a computer-readable signal medium can include a data signal propagated in baseband or as part of a carrier wave, carrying computer-readable program code. Such propagated data signals can take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. A computer-readable signal medium can be any computer-readable medium other than a computer-readable storage medium, which can send, propagate, or transmit a program for use by or in connection with an instruction execution system, apparatus, or device. The program code contained on the computer-readable medium can be transmitted using any suitable medium, including but not limited to: wires, optical fibers, RF (radio frequency), etc., or any suitable combination thereof.
[0162] In some implementations, clients and servers can communicate using any currently known or future-developed network protocol such as HTTP (Hypertext Transfer Protocol) and can interconnect with digital data communication (e.g., communication networks) of any form or medium. Examples of communication networks include local area networks (“LANs”), wide area networks (“WANs”), the Internet (e.g., the Internet of Things), and peer-to-peer networks (e.g., ad hoc peer-to-peer networks), as well as any currently known or future-developed networks.
[0163] The aforementioned computer-readable medium may be included in the aforementioned electronic device; or it may exist independently and not assembled into the electronic device.
[0164] The aforementioned computer-readable medium carries one or more programs that, when executed by the electronic device, cause the electronic device to: transcode the original video to obtain a transcoded video of the original video at at least one bitrate level; acquire the complexity features of the original video and acquire the transcoding features of the transcoded video; and, based on the complexity features and the transcoding features, perform a quality assessment of the bitrate level to obtain a quality assessment result for the bitrate level. Alternatively...
[0165] The process involves obtaining the image quality evaluation results for at least one bitrate level of the original video, determining the first bitrate level corresponding to the currently played first transcoded video, wherein the image quality evaluation results are determined based on the complexity features of the original video and the transcoding features of the transcoded video of the original video at at least one bitrate level, and the transcoded video includes the first transcoded video; adjusting the first bitrate level based on the image quality evaluation results to obtain a second bitrate level; and playing the second transcoded video of the original video at the second bitrate level.
[0166] Computer program code for performing the operations of this disclosure can be written in one or more programming languages or a combination thereof, including but not limited to object-oriented programming languages such as Java, Smalltalk, and C++, as well as conventional procedural programming languages such as the "C" language or similar programming languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving remote computers, the remote computer can 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 can be connected to an external computer (e.g., via the Internet using an Internet service provider).
[0167] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of this disclosure. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.
[0168] The units described in the embodiments of this disclosure can be implemented in software or hardware. The names of modules do not, in some cases, constitute a limitation on the unit itself.
[0169] The functions described above in this document can be performed, at least in part, by one or more hardware logic components. For example, exemplary types of hardware logic components that can be used, without limitation, include: Field Programmable Gate Arrays (FPGAs), Application-Specific Integrated Circuits (ASICs), Application Standard Products (ASSPs), System-on-Chip (SoCs), Complex Programmable Logic Devices (CPLDs), and so on.
[0170] In the context of this disclosure, a machine-readable medium can be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can be, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.
[0171] According to one or more embodiments of this disclosure, Example 1 provides an image quality evaluation method, including:
[0172] The original video is transcoded to obtain a transcoded video of the original video at at least one bitrate level.
[0173] Obtain the complexity features of the original video and the transcoding features of the transcoded video;
[0174] Based on the complexity features and the transcoding features, the image quality of the bitrate is evaluated to obtain the image quality evaluation result of the bitrate.
[0175] According to one or more embodiments of this disclosure, Example 2, based on the method described in Example 1, includes obtaining the complexity features of the original video, comprising:
[0176] Obtain at least a portion of the video frames from the original video;
[0177] Calculate the gradient information of the original video at each moment based on at least some of the video frames;
[0178] The complexity information of the original video at each moment is statistically analyzed based on the gradient information using preset spatial domain operators, wherein the preset spatial domain operators include minimum value, maximum value, average value or variance respectively;
[0179] The complexity features of the original video are determined based on the complexity information using preset time-domain operators, wherein the preset time-domain operators include minimum value, maximum value, average value, or variance.
[0180] According to one or more embodiments of this disclosure, Example 3 describes the method according to Example 1, wherein the complexity features include spatial complexity features and / or temporal complexity features.
[0181] According to one or more embodiments of this disclosure, Example 4 describes the transcoding features according to Example 1, including bitstream features and / or similarity features, wherein,
[0182] The bitstream features include at least one of the following: encoding parameter features, encoding unit features, prediction unit features, and transform unit features of the transcoded video;
[0183] The similarity features include at least one of the mean square error features, peak signal-to-noise ratio features, and texture similarity features between the transcoded video and the original video in at least some video channels, wherein the at least some video channels include at least one of the luminance channel, the first chroma channel, and the second chroma channel.
[0184] According to one or more embodiments of this disclosure, Example 5 describes the method described in any of Examples 1-4, wherein the step of evaluating the image quality of the bitrate based on the complexity feature and the transcoding feature to obtain the image quality evaluation result of the bitrate includes:
[0185] For a preset bitrate among the at least one bitrate level, the complexity feature and the transcoding feature of the transcoded video under the preset bitrate level are input into a pre-trained image quality evaluation model.
[0186] The image quality score output by the image quality evaluation model is obtained and used as the image quality evaluation result for the preset bitrate level.
[0187] According to one or more embodiments of this disclosure, Example 6, based on any one of Examples 1-4, further includes, after obtaining the image quality evaluation result for the bitrate level:
[0188] The image quality evaluation results of the at least one bitrate level are stored, wherein the stored image quality evaluation results are used by the client to adjust the bitrate level during the playback of the transcoded video.
[0189] According to one or more embodiments of this disclosure, Example 7 provides a video playback method, including:
[0190] The image quality evaluation result of at least one bitrate level of the original video is obtained, and the first bitrate level corresponding to the first transcoded video currently being played is determined. The image quality evaluation result is determined based on the complexity features of the original video and the transcoding features of the transcoded video of the original video at at least one bitrate level. The transcoded video includes the first transcoded video.
[0191] Based on the image quality assessment results, the first bitrate level is adjusted to obtain the second bitrate level;
[0192] Play the original video as a second transcoded video at the second bitrate.
[0193] According to one or more embodiments of this disclosure, Example 8 describes the method described in Example 7, wherein the image quality assessment result includes an image quality score, and the step of adjusting the first bitrate level based on the image quality assessment result to obtain a second bitrate level includes:
[0194] Determine the bit rate difference information between the adjacent bit rate levels of the first bit rate level and the first bit rate level, wherein the bit rate difference information includes the difference in image quality score and / or the bit rate change rate;
[0195] The first bitrate level is adjusted based on the bitrate difference information to obtain the second bitrate level.
[0196] According to one or more embodiments of this disclosure, Example 9 describes the method described in Example 8, wherein adjusting the first bitrate level based on the bitrate difference information to obtain a second bitrate level includes:
[0197] If the bitrate difference information meets a first preset condition, then the first bitrate level is reduced by one bitrate level to become the second bitrate level. The first preset condition includes that the first image quality score difference between the first bitrate level and the lower bitrate level is less than or equal to a first difference threshold, and that the first bitrate change rate of the lower bitrate level relative to the first bitrate level is greater than or equal to a first change rate threshold; and / or
[0198] If the bit rate difference information meets the second preset condition, the first bit rate level is increased by one bit rate level as the second bit rate level. The second preset condition includes that the second image quality score difference between the higher bit rate level and the first bit rate level is greater than or equal to the second difference threshold, and the second bit rate change rate of the higher bit rate level relative to the first bit rate level is less than or equal to the second change rate threshold.
[0199] According to one or more embodiments of this disclosure, Example 10, based on the method described in Example 8, further includes adjusting the first bitrate level based on the bitrate difference information to obtain a second bitrate level:
[0200] In response to the gear difference information simultaneously satisfying the first preset condition and the second preset condition, the downgrading utility and upgrading utility of the first bitrate gear are calculated respectively.
[0201] The first bitrate level is adjusted based on the downgrade utility and the upgrade utility to obtain the second bitrate level.
[0202] According to one or more embodiments of this disclosure, Example 11, based on any one of Examples 7-10, further includes, after playing the second transcoded video of the original video at the second bitrate, the method:
[0203] The second bitrate level is used as the first bitrate level, the second transcoded video is used as the first transcoded video, and the operation of adjusting the first bitrate level based on the image quality evaluation result is returned until the second transcoded video finishes playing.
[0204] According to one or more embodiments of this disclosure, Example 12 provides an image quality evaluation apparatus, comprising:
[0205] The transcoding module is used to transcode the original video to obtain a transcoded video of the original video at at least one bitrate level.
[0206] The feature acquisition module is used to acquire the complexity features of the original video and the transcoding features of the transcoded video.
[0207] The image quality evaluation module is used to evaluate the image quality of the bitrate based on the complexity features and the transcoding features, and to obtain the image quality evaluation result of the bitrate.
[0208] According to one or more embodiments of this disclosure, Example 13 provides a video playback device, including:
[0209] The result acquisition module is used to acquire the image quality evaluation result of at least one bitrate level of the original video and determine the first bitrate level corresponding to the first transcoded video currently being played. The image quality evaluation result is determined based on the complexity features of the original video and the transcoding features of the transcoded video of the original video at at least one bitrate level. The transcoded video includes the first transcoded video.
[0210] A bitrate adjustment module is used to adjust the first bitrate level based on the image quality evaluation result to obtain a second bitrate level.
[0211] The video playback module is used to play the original video as a second transcoded video at the second bitrate level.
[0212] According to one or more embodiments of this disclosure, Example 14 provides an electronic device comprising:
[0213] One or more processors;
[0214] Memory, used to store one or more programs.
[0215] When the one or more programs are executed by the one or more processors, the one or more processors implement the image quality evaluation method as described in any one of Examples 1-6 or the video playback method as described in any one of Examples 7-11.
[0216] According to one or more embodiments of the present disclosure, Example 15 provides a computer-readable storage medium having a computer program stored thereon that, when executed by a processor, implements the image quality evaluation method as described in any one of Examples 1-6 or the video playback method as described in any one of Examples 7-11.
[0217] According to one or more embodiments of this disclosure, Example 16 provides a computer program product that, when executed by a computer, causes the computer to implement the image quality evaluation method as described in any one of Examples 1-6 or the video playback method as described in any one of Examples 7-11.
[0218] The above description is merely a preferred embodiment of this disclosure and an explanation of the technical principles employed. Those skilled in the art should understand that the scope of this disclosure is not limited to technical solutions formed by specific combinations of the above-described technical features, but should also cover other technical solutions formed by arbitrary combinations of the above-described technical features or their equivalents without departing from the above-described concept. For example, technical solutions formed by substituting the above features with (but not limited to) technical features disclosed in this disclosure that have similar functions.
[0219] Furthermore, while the operations are described in a specific order, this should not be construed as requiring these operations to be performed in the specific order shown or in a sequential order. In certain environments, multitasking and parallel processing may be advantageous. Similarly, while several specific implementation details are included in the above discussion, these should not be construed as limiting the scope of this disclosure. Certain features described in the context of individual embodiments may also be implemented in combination in a single embodiment. Conversely, various features described in the context of a single embodiment may also be implemented individually or in any suitable sub-combination in multiple embodiments.
[0220] Although the subject matter has been described using language specific to structural features and / or methodological logic, it should be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or actions described above. Rather, the specific features and actions described above are merely illustrative examples of implementing the claims.
Claims
1. A method for evaluating image quality, characterized in that, include: The original video is transcoded to obtain a transcoded video of the original video at at least one bitrate level. Obtain the complexity features of the original video and the transcoding features of the transcoded video; Based on the complexity features and the transcoding features, the image quality of the bitrate is evaluated to obtain the image quality evaluation result of the bitrate.
2. The method according to claim 1, characterized in that, The process of obtaining the complexity features of the original video includes: Obtain at least a portion of the video frames from the original video; Calculate the gradient information of the original video at each moment based on at least some of the video frames; The complexity information of the original video at each moment is statistically analyzed based on the gradient information using preset spatial domain operators, wherein the preset spatial domain operators include minimum value, maximum value, average value or variance respectively; The complexity features of the original video are determined based on the complexity information using preset time-domain operators, wherein the preset time-domain operators include minimum value, maximum value, average value, or variance.
3. The method according to claim 1, characterized in that, The complexity features include spatial complexity features and / or temporal complexity features.
4. The method according to claim 1, characterized in that, The transcoding features include bitstream features and / or similarity features, wherein, The bitstream features include at least one of the following: encoding parameter features, encoding unit features, prediction unit features, and transform unit features of the transcoded video; The similarity features include at least one of the mean square error features, peak signal-to-noise ratio features, and texture similarity features between the transcoded video and the original video in at least some video channels, wherein the at least some video channels include at least one of the luminance channel, the first chroma channel, and the second chroma channel.
5. The method according to any one of claims 1-4, characterized in that, The step of evaluating the image quality of the bitrate based on the complexity features and the transcoding features to obtain the image quality evaluation result of the bitrate includes: For a preset bitrate among the at least one bitrate level, the complexity feature and the transcoding feature of the transcoded video under the preset bitrate level are input into a pre-trained image quality evaluation model. The image quality score output by the image quality evaluation model is obtained and used as the image quality evaluation result for the preset bitrate level.
6. The method according to any one of claims 1-4, characterized in that, After obtaining the image quality evaluation result for the bitrate level, the method further includes: The image quality evaluation results of the at least one bitrate level are stored, wherein the stored image quality evaluation results are used by the client to adjust the bitrate level during the playback of the transcoded video.
7. A video playback method, characterized in that, include: The image quality evaluation result of at least one bitrate level of the original video is obtained, and the first bitrate level corresponding to the first transcoded video currently being played is determined. The image quality evaluation result is determined based on the complexity features of the original video and the transcoding features of the transcoded video of the original video at at least one bitrate level. The transcoded video includes the first transcoded video. Based on the image quality assessment results, the first bitrate level is adjusted to obtain the second bitrate level; Play the original video as a second transcoded video at the second bitrate.
8. The method according to claim 7, characterized in that, The image quality assessment result includes an image quality score. Adjusting the first bitrate level based on the image quality assessment result to obtain a second bitrate level includes: Determine the bit rate difference information between the adjacent bit rate levels of the first bit rate level and the first bit rate level, wherein the bit rate difference information includes the difference in image quality score and / or the bit rate change rate; The first bitrate level is adjusted based on the bitrate difference information to obtain the second bitrate level.
9. The method according to claim 8, characterized in that, The step of adjusting the first bitrate level based on the bitrate difference information to obtain the second bitrate level includes: If the bitrate difference information meets a first preset condition, then the first bitrate level is reduced by one bitrate level to become the second bitrate level. The first preset condition includes that the first image quality score difference between the first bitrate level and the lower bitrate level is less than or equal to a first difference threshold, and that the first bitrate change rate of the lower bitrate level relative to the first bitrate level is greater than or equal to a first change rate threshold; and / or If the bit rate difference information meets the second preset condition, the first bit rate level is increased by one bit rate level as the second bit rate level. The second preset condition includes that the second image quality score difference between the higher bit rate level and the first bit rate level is greater than or equal to the second difference threshold, and the second bit rate change rate of the higher bit rate level relative to the first bit rate level is less than or equal to the second change rate threshold.
10. The method according to claim 9, characterized in that, The step of adjusting the first bitrate level based on the bitrate difference information to obtain the second bitrate level further includes: In response to the gear difference information simultaneously satisfying the first preset condition and the second preset condition, the downgrading utility and upgrading utility of the first bitrate gear are calculated respectively. The first bitrate level is adjusted based on the downgrade utility and the upgrade utility to obtain the second bitrate level.
11. The method according to any one of claims 7-10, characterized in that, After playing the second transcoded video of the original video at the second bitrate, the method further includes: The second bitrate level is used as the first bitrate level, the second transcoded video is used as the first transcoded video, and the operation of adjusting the first bitrate level based on the image quality evaluation result is returned until the second transcoded video finishes playing.
12. An image quality evaluation device, characterized in that, include: The transcoding module is used to transcode the original video to obtain a transcoded video of the original video at at least one bitrate level. The feature acquisition module is used to acquire the complexity features of the original video and the transcoding features of the transcoded video. The image quality evaluation module is used to evaluate the image quality of the bitrate based on the complexity features and the transcoding features, and to obtain the image quality evaluation result of the bitrate.
13. A video playback device, characterized in that, include: The result acquisition module is used to acquire the image quality evaluation result of at least one bitrate level of the original video and determine the first bitrate level corresponding to the first transcoded video currently being played. The image quality evaluation result is determined based on the complexity features of the original video and the transcoding features of the transcoded video of the original video at at least one bitrate level. The transcoded video includes the first transcoded video. A bitrate adjustment module is used to adjust the first bitrate level based on the image quality evaluation result to obtain a second bitrate level. The video playback module is used to play the original video as a second transcoded video at the second bitrate level.
14. An electronic device, characterized in that, include: At least one processor; as well as A memory communicatively connected to the at least one processor; wherein, The memory stores a computer program that can be executed by the at least one processor, the computer program being executed by the at least one processor to enable the at least one processor to perform the image quality evaluation method of any one of claims 1-6 or the video playback method of any one of claims 7-11.
15. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer instructions that cause a processor to execute the image quality evaluation method of any one of claims 1-6 or the video playback method of any one of claims 7-11.
16. A computer program product, characterized in that, The computer program product includes a computer program, which, when executed by a processor, is the image quality evaluation method according to any one of claims 1-6 or the video playback method according to any one of claims 7-11.