Image quality optimization method, product, device and medium

By segmenting and transmitting the image quality level information of video clips on the video transcoding server, and optimizing the image quality based on this information on the client, the problem of inconsistent image quality of video clips is solved, and the effect of improving user experience without increasing bandwidth costs is achieved.

CN119484897BActive Publication Date: 2025-04-11MALANSHAN AUDIO & VIDEO LABORATORY
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202510053052.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-01-14
Publication Date
2025-04-11
Estimated Expiration
2045-01-14

AI Technical Summary

Technical Problem

During the video transcoding process, the image quality of low-complexity and high-complexity video clips is inconsistent, which affects the user's viewing experience. The prior art either increases bandwidth costs or consumes a large amount of end-side computing resources to optimize picture quality.

Method used

The video is transcoded on the server side, and the image quality level information of each code stream segment is determined in segments, and it is written into the supplementary enhancement information, and inserted before the start frame of the code stream segment. After receiving the client, the image quality optimization process is performed based on the image quality level information below the preset threshold.

Benefits of technology

In the absence of significantly increasing bandwidth costs, the client's computing resource consumption is reduced, thereby improving user experience and improving the consistency of video viewing quality.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119484897B_ABST
    Figure CN119484897B_ABST
Patent Text Reader

Abstract

The present application discloses a method, product, device and medium for optimizing image quality, which are applied to the field of video processing technology, including: transcoding a target video to obtain a video code stream; segmenting the video code stream and determining the image quality level information of each code stream segment respectively; writing the image quality level information of each code stream segment into supplementary enhancement information respectively, and inserting the supplementary enhancement information corresponding to each code stream segment before the start frame code stream data of each code stream segment to obtain a target code stream; transmitting the target code stream to a client, so that the client optimizes the image quality of the code stream segment whose image quality level information is lower than a preset threshold. In this way, the computing resource consumption of the client can be reduced without significantly increasing the bandwidth cost, thereby improving the user experience.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of video processing technology, and in particular to a method, product, device and medium for optimizing image quality. Background Art

[0002] When transcoding a video, different video clips in the transcoded complete video will have different image quality. Usually, the image quality of low-complexity clips is higher, while the image quality of high-complexity clips is lower, which affects the user's viewing experience. There are currently two solutions to this viewing quality problem. One is to optimize cloud transcoding to improve the quality of the transcoded video, but this will increase bandwidth costs; the other is to solve this problem through image processing on the viewing end, but this will consume a lot of computing resources on the end side and affect the user experience. Summary of the invention

[0003] In view of this, the purpose of this application is to provide a method, product, device and medium for optimizing image quality, which can reduce the computing resource consumption of the client without significantly increasing the bandwidth cost, thereby improving the user experience. The specific scheme is as follows:

[0004] In a first aspect, the present application discloses a method for optimizing image quality, which is applied to a server, and includes:

[0005] Transcode the target video to obtain a video stream;

[0006] Segmenting the video code stream, and determining the image quality level information of each code stream segment respectively;

[0007] The image quality level information of each bitstream segment is written into the supplementary enhancement information respectively, and the supplementary enhancement information corresponding to each bitstream segment is inserted before the starting frame bitstream data of each bitstream segment to obtain the target bitstream;

[0008] The target bitstream is transmitted to a client so that the client optimizes the image quality of the bitstream segments whose image quality level information is lower than a preset threshold.

[0009] Optionally, determine the image quality level information of each bitstream segment, including:

[0010] Obtain the quality evaluation index value of each video frame in the bitstream segment;

[0011] The average value of the quality evaluation index value of each video frame in the bitstream segment is calculated to obtain the image quality level information of the bitstream segment.

[0012] Optionally, the calculating the average of the quality evaluation index values ​​of the video frames in the bitstream segment to obtain the image quality level information of the bitstream segment includes:

[0013] Calculate the average value of the quality evaluation index value of each video frame in the bitstream segment;

[0014] Performing normalization processing on the mean to obtain a normalization processing result;

[0015] The image quality level information of the bitstream segment is determined based on the normalization processing result.

[0016] Optionally, the normalizing the mean to obtain a normalized result includes:

[0017] The mean is normalized using a first preset formula to obtain a normalized result, wherein the first preset formula is:

[0018] ;

[0019] in, is the normalized processing result, is the mean value, is the minimum value corresponding to the quality evaluation index, is the maximum value corresponding to the quality evaluation index.

[0020] Optionally, determining the image quality level information of the bitstream segment based on the normalization processing result includes:

[0021] The image quality level information of the bitstream segment is determined based on the normalization processing result using a second preset formula, wherein the second preset formula is:

[0022] ;

[0023] in, is the image quality level information, represents the rounding operation, and D is the upper limit of the target range.

[0024] In a second aspect, the present application discloses a method for optimizing image quality, which is applied to a client and includes:

[0025] Receive the target code stream transmitted by the server;

[0026] Parsing the supplementary enhancement information in the target bitstream to obtain image quality level information of the bitstream segments, wherein the supplementary enhancement information corresponding to each bitstream segment in the target bitstream is located before the start frame bitstream data of each bitstream segment;

[0027] If the image quality level information is lower than a preset threshold, performing image quality optimization processing on the bitstream segment;

[0028] If the image quality level information is greater than or equal to the preset threshold, the code stream segment is rendered and displayed.

[0029] Optionally, the preset threshold is a threshold determined based on a display screen size and / or processor performance of the client.

[0030] In a third aspect, the present application discloses a computer program product, including a computer program / instruction, which implements the aforementioned image quality optimization method when executed by a processor.

[0031] In a fourth aspect, the present application discloses an electronic device, including a memory and a processor, wherein:

[0032] The memory is used to store the computer program;

[0033] The processor is used to execute the computer program to implement the aforementioned image quality optimization method.

[0034] In a fifth aspect, the present application discloses a computer-readable storage medium for storing a computer program, wherein the computer program implements the aforementioned image quality optimization method when executed by a processor.

[0035] It can be seen from the above scheme that the present application provides a method for optimizing image quality, including: being applied to a server, including: transcoding a target video to obtain a video bitstream; segmenting the video bitstream, and determining the image quality level information of each bitstream segment respectively; writing the image quality level information of each bitstream segment into supplementary enhancement information respectively, and inserting the supplementary enhancement information corresponding to each bitstream segment before the starting frame bitstream data of each bitstream segment to obtain a target bitstream; transmitting the target bitstream to a client, so that the client optimizes the image quality of the bitstream segments whose image quality level information is lower than a preset threshold.

[0036] It can be seen that the beneficial effects of the present application are: determining the image quality level information of each stream segment in the transcoded video stream, writing it into the supplementary enhancement information, and inserting the supplementary enhancement information corresponding to each stream segment before the starting frame stream data of each stream segment, and transmitting it to the client. When decoding, the client parses the image quality level information in the supplementary enhancement information, optimizes the image quality of the stream segments whose image quality level information is lower than the preset threshold, and there is no need to optimize all the segments. In this way, the computing resource consumption of the client can be reduced without significantly increasing the bandwidth cost, thereby improving the user experience.

[0037] Correspondingly, the computer program product, device and readable storage medium provided by this application also have the above-mentioned technical effects. BRIEF DESCRIPTION OF THE DRAWINGS

[0038] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on the provided drawings without paying any creative work.

[0039] Figure 1 A flow chart of a method for optimizing image quality provided in an embodiment of the present application;

[0040] Figure 2 A flow chart of another method for optimizing image quality provided in an embodiment of the present application;

[0041] Figure 3 A schematic diagram of the collaboration between a server and a client of a picture quality optimization solution provided in an embodiment of the present application;

[0042] Figure 4 A server-side video processing flow chart provided in an embodiment of the present application;

[0043] Figure 5 A schematic diagram of video quality evaluation provided in an embodiment of the present application;

[0044] Figure 6 A schematic diagram of a client playback and display process provided in an embodiment of the present application;

[0045] Figure 7 A schematic diagram of the structure of an image quality optimization device provided in an embodiment of the present application;

[0046] Figure 8 A structural diagram of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0047] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.

[0048] When providing video services to users, the usual practice is to transcode the video source in the cloud into video files of different resolutions and bit rates, distribute them through CDN (Content Delivery Network), and provide them to users on different terminals (mobile devices, PCs (personal computers), TVs, etc.) for playback and viewing. A complete video usually contains various content segments, such as a simple dialogue scene and a fierce sports fighting scene, and the complexity of each segment is different. During the transcoding process, it is difficult to ensure that the quality of each encoded video segment is the same, especially when the encoding condition is a constant bit rate. When the bit rate is fixed, the quality of low-complexity segments is usually higher, while the quality of high-complexity segments is relatively poor.

[0049] When transcoding videos, a common problem is that the quality of different video clips in the transcoded complete video is different. Usually, the quality of low-complexity clips is higher, while the quality of high-complexity clips is lower, which affects the user's viewing experience. There are currently two solutions to this viewing quality problem. One is to optimize cloud transcoding to improve the quality of transcoded videos; the other is to solve this problem through image processing on the viewing end.

[0050] There are several common ways to optimize cloud transcoding. One is to increase the encoding bit rate, optimize the overall quality of the video, and ensure that the quality of the worst video clip is within an acceptable range. However, increasing the bit rate means increasing the CDN bandwidth cost. Another way is to adjust the target bit rate of each small video clip through bit rate control without changing the encoding target bit rate, so that the quality of different transcoded video clips is as close to the same as possible. However, due to the limitation of the overall target bit rate and the accuracy of the bit rate control algorithm, it is difficult to ensure that the quality of the encoded video clips is consistent.

[0051] The viewing end optimizes the image quality through image processing. Generally, the image quality of the video is improved through image processing after the video is decoded. Because the playback end cannot know the quality of the video, it can usually only turn on or off the option to optimize the image quality. When playing on the viewing end, turning on all image quality optimization will consume more computing resources on the end side, increase power consumption and heat, and affect the user experience.

[0052] Perform image processing before transcoding to improve the image quality before encoding and compression. However, if the operation is performed before transcoding, it will usually increase the bit rate after transcoding and increase bandwidth costs. Introducing a complex image processing process on the playback end to improve the user's viewing quality does not have bandwidth costs, but it will consume more computing resources on the end side, increase power consumption and heat, and affect the user experience. Existing solutions either optimize transcoding on the cloud or turn on image quality optimization by default on the end side, resulting in either increased bandwidth costs or a large amount of computing resources on the end side being consumed in the existing technical solutions, affecting the user experience. To this end, the present application provides a picture quality optimization solution that can reduce the client's computing resource consumption while avoiding a significant increase in bandwidth costs, thereby improving the user experience. The picture quality experience of users watching videos on the playback end is improved, with basically no increase in bandwidth costs, while reducing the consumption of computing resources on the end side.

[0053] See also Figure 1 As shown, the embodiment of the present application discloses a method for optimizing image quality, which is applied to a server and includes:

[0054] Step S11: transcode the target video to obtain a video code stream.

[0055] The video code stream can be understood as a data stream that is compressed and converted into a binary format by a video encoder into raw video data (such as uncompressed raw video frames).

[0056] The embodiment of the present application can divide the target video into video segments, and after all the video segments are transcoded separately, the bitstream data corresponding to all the video segments are combined to obtain a video bitstream with a target resolution and bitrate.

[0057] Step S12: segment the video code stream, and determine the image quality level information of each code stream segment respectively.

[0058] The image quality level information can be understood as information representing the image quality level of the bitstream segment. Image quality refers to the quality of the video frame. In the embodiment of the present application, the video bitstream is segmented to obtain each bitstream segment of the video bitstream, and the image quality level information of each bitstream segment is determined respectively.

[0059] The embodiment of the present application can obtain the quality evaluation index value of each video frame in the bitstream segment; calculate the average value of the quality evaluation index value of each video frame in the bitstream segment, and obtain the image quality level information of the bitstream segment.

[0060] The quality evaluation index includes but is not limited to any of PSNR (Peak Signal-to-Noise Ratio), SSIM (Structural Similarity Index), and VMAF (Visual Multimethod Assessment Fusion). In an optional implementation, the quality evaluation index value of each video frame can be determined during the transcoding process. In another optional implementation, the quality evaluation index value of each video frame can be calculated for the video bitstream after transcoding.

[0061] In an optional implementation, the average value of the quality evaluation index value of each video frame in the bitstream segment may be calculated to obtain the image quality level information of the bitstream segment, which may specifically include the following steps:

[0062] Step 00: Calculate the average value of the quality evaluation index of each video frame in the bitstream segment.

[0063] In this embodiment, a preset mean value calculation formula may be used to calculate the mean value of the quality evaluation index value of each video frame in the bitstream segment. The preset mean value calculation formula is:

[0064] ;

[0065] Where N represents the number of video frames in the bitstream segment. is the quality evaluation index value of the tth frame in the bitstream segment, is the mean value.

[0066] Step 01: normalize the mean to obtain a normalized result.

[0067] In an optional implementation, the mean value may be normalized using a first preset formula to obtain a normalized result, where the first preset formula is:

[0068] ;

[0069] in, is the normalized processing result, is the mean value, is the minimum value corresponding to the quality evaluation index, is the maximum value corresponding to the quality evaluation index.

[0070] It should be pointed out that because the data ranges of different quality evaluation indicators may be different, the embodiment of the present application normalizes the mean corresponding to the quality evaluation indicator value. And, it is normalized according to the maximum and minimum values ​​of the quality evaluation indicator. Among them, the maximum value of PSNR can be a preset value of 100, and the minimum value is 0. Because the maximum value of PSNR is infinite, the embodiment of the present application can set a maximum value. The maximum value of SSIM is 1, the minimum value is 0, and the maximum value of VMAF is 100, and the minimum value is 0.

[0071] Step 02: Determine the image quality level information of the bitstream segment based on the normalization processing result.

[0072] In an optional implementation, a second preset formula may be used to determine the image quality level information of the bitstream segment based on the normalization processing result, and the second preset formula is:

[0073] ;

[0074] in, is the image quality level information, Indicates the rounding operation, and D is the upper limit of the target range. The target range can be set according to actual needs. For example, if the level information is required to be a value within 100, D is 100.

[0075] Step S13: writing the image quality level information of each code stream segment into the supplementary enhancement information respectively, and inserting the supplementary enhancement information corresponding to each code stream segment before the start frame code stream data of each code stream segment to obtain the target code stream.

[0076] The embodiment of the present application can convert the image quality level information into binary code, write the binary code into the SEI (Supplemental Enhancement Information) of the code stream according to the format specified by the standard protocol of the video code stream (such as H.264, H.265, H.266, etc.), and insert the SEI before the starting frame code stream data of the code stream segment.

[0077] Step S14: Transmit the target bitstream to the client, so that the client can optimize the image quality of the bitstream segments whose image quality level information is lower than a preset threshold.

[0078] In the embodiment of the present application, the client optimizes the image quality of the code stream segment whose image quality level information is lower than the preset threshold, and then renders and displays it after the image quality is optimized. If the image quality level information is greater than or equal to the preset threshold, the code stream segment is directly rendered and displayed. The preset threshold is a threshold determined based on the display screen size and / or processor performance of the client. For example, if the screen size is large, the preset threshold can be set higher, and if the processor performance is relatively good, the preset threshold can also be set higher.

[0079] Among them, image quality optimization may include image enhancement or super-resolution reconstruction processing.

[0080] It can be seen that the embodiment of the present application determines the image quality level information of each stream segment in the transcoded video stream, writes it into the supplementary enhancement information, and inserts the supplementary enhancement information corresponding to each stream segment before the starting frame stream data of each stream segment, and transmits it to the client. When decoding, the client parses the image quality level information in the supplementary enhancement information, optimizes the image quality of the stream segments whose image quality level information is lower than the preset threshold, and there is no need to optimize all the segments. In this way, the computing resource consumption of the client can be reduced without significantly increasing the bandwidth cost, thereby improving the user experience.

[0081] See also Figure 2 As shown, the embodiment of the present application discloses a method for optimizing image quality, which is applied to a client and includes:

[0082] Step S21: receiving the target code stream transmitted by the server.

[0083] Step S22: parsing the supplementary enhancement information in the target bitstream to obtain the image quality level information of the bitstream segments, wherein the supplementary enhancement information corresponding to each bitstream segment in the target bitstream is located before the start frame bitstream data of each bitstream segment.

[0084] Step S23: If the image quality level information is lower than a preset threshold, the image quality optimization process is performed on the bitstream segment.

[0085] Step S24: If the image quality level information is greater than or equal to the preset threshold, the bitstream segment is rendered and displayed.

[0086] The preset threshold is a threshold determined based on the display screen size and / or processor performance of the client.

[0087] It can be seen that in the embodiment of the present application, the supplementary enhancement information corresponding to each code stream segment in the target code stream is before the starting frame code stream data of each code stream segment. When decoding, the client parses the image quality level information in the supplementary enhancement information, and optimizes the image quality of the code stream segments whose image quality level information is lower than the preset threshold. There is no need to optimize all the segments. In this way, the computing resource consumption of the client can be reduced without significantly increasing the bandwidth cost, thereby improving the user experience.

[0088] For further information, see Figure 3 As shown, Figure 3 This is a schematic diagram of the collaboration between the server and the client of a picture quality optimization solution disclosed in an embodiment of the present application. The embodiment of the present application may include two parts: server video processing and client playback and display. The video source (i.e., the target video) may be uploaded to the server, and the server video processing obtains the target bitstream, which is then transmitted to the client for playback and display.

[0089] For further information, please refer to the server video processing process. Figure 4 As shown, Figure 4 This is a flow chart of a video processing on the server disclosed in the embodiment of this application, which mainly includes: video transcoding, video quality evaluation, quality level classification, quality level encoding, and bitstream writing. The specific process is as follows:

[0090] Video transcoding module: Transcodes the uploaded video source file A (i.e., the target video) and uses slicing in the distributed system to divide the source file into small video segments. After all the segments are transcoded, the segment streams are combined to obtain video B with the target resolution and bit rate.

[0091] Video quality evaluation: Perform video quality evaluation on the obtained video file B. Evaluation indicators include but are not limited to PSNR, SSIM, VMAF, etc. Video quality evaluation can be divided into two cases, see Figure 5 As shown, Figure 5 A video quality evaluation schematic diagram provided in an embodiment of the present application may include the following steps:

[0092] (1) When transcoding, the values ​​of the quality evaluation indicators of the video (PSNR, SSIM, VMAF, etc.) have been output, and the process goes to step (3);

[0093] (2) When transcoding, there is no output quality evaluation index, and the value of the video quality evaluation index needs to be calculated. The evaluation index includes but is not limited to PSNR, SSIM, VMAF, etc.

[0094] (3) Divide the entire video into M video sub-segments ( , F is the total number of frames in the video sequence), the video quality statistics of each video sub-segment are shown in Formula 1; where Indicates the video quality of the nth segment ( ), N represents the number of video frames of the video sub-segment, is the quality value (PSNR, SSIM, VMAF, etc.) of the tth frame in the video sub-segment, and formula 1 is as follows:

[0095] .

[0096] Video quality level classification: Because different evaluation indicators may have different data ranges, the obtained video quality values ​​need to be Normalize (refer to formula 2, where and is the minimum and maximum value of the indicator), and then Re-map to get , the calculation formula is as shown in Formula 3, where D is the upper limit of the target range, , which means rounding the result. Formula 2 and Formula 3 are as follows:

[0097] ;

[0098] .

[0099] Furthermore, the obtained quality value (i.e., image quality level information) is converted into a binary code; the obtained binary code is written into the SEI parameter set of the bitstream according to the format specified by the standard protocol of the video bitstream (H.264, H.265, H.266, etc.), and the SEI information needs to be inserted before the starting frame bitstream data of the video sub-segment.

[0100] See also Figure 6 As shown, Figure 6 A schematic diagram of a client playback display process provided in an embodiment of the present application may include the following steps: decoding the SEI information of the video code stream to obtain , determine whether the video quality level meets the preset quality threshold Th (the upper limit of Th is D. If it is greater than Th, directly jump to the step of playing, rendering and displaying the video image. Otherwise, enter the step of optimizing the quality of the next video image, including but not limited to the steps of image enhancement and super resolution, and then play, render and display the video image.

[0101] In this way, the cloud (i.e., the server) is used to collaborate to improve the user's viewing quality experience. The video quality information obtained in the cloud transcoding process is transmitted to the user's viewing end. The end side decides whether to enable the image quality optimization algorithm based on the transcoded image quality of the video, and accurately optimizes the image quality of only low-quality video clips, effectively reducing the consumption of computing resources on the end side. In the cloud transcoding process, the image quality of the entire video file is counted by sub-segment, and different image quality evaluation indicators are normalized to a unified range and quantified into discrete image quality levels. The image quality level information is converted into binary code and written into the SEI information of the video bitstream to avoid separate transmission from the video stream, and to ensure the synchronization of image quality information and video clips. The playback end can flexibly set the quality level threshold to control in which quality range to enable image quality optimization. Different clients can select the corresponding threshold based on the computing power of the end side to achieve an optimal balance between viewing experience and power consumption.

[0102] It can be seen that the embodiment of the present application designs a cloud-coordinated image quality improvement system, including a server and a client, the server is the cloud, and the client is the user viewing end. When transcoding in the cloud, the image quality of each video clip after transcoding is calculated, the image quality is graded, and the image quality level of the video clip is written into the bitstream information and transmitted to the user viewing end. The viewing end decodes the image quality level information in the bitstream information, and only enables image quality optimization for video clips with poor image quality on the end side. This cloud-coordinated image quality optimization system, by transmitting the image quality information obtained by cloud transcoding to the viewing end, the viewing end player accurately enables the end-side image quality optimization function for clips with poor image quality as needed, effectively reducing the consumption of computing resources on the end side.

[0103] For further information, see Figure 7 As shown, the embodiment of the present application discloses a picture quality optimization device, which is applied to a server, including:

[0104] The target video transcoding module 11 is used to transcode the target video to obtain a video code stream;

[0105] The image quality level determination module 12 is used to segment the video code stream and determine the image quality level information of each code stream segment respectively;

[0106] The enhancement information inserting module 13 is used to write the image quality level information of each code stream segment into the supplementary enhancement information, and insert the supplementary enhancement information corresponding to each code stream segment before the start frame code stream data of each code stream segment to obtain the target code stream;

[0107] The target bitstream transmission module 14 is used to transmit the target bitstream to the client so that the client can optimize the image quality of the bitstream segments whose image quality level information is lower than a preset threshold.

[0108] It can be seen that the embodiment of the present application determines the image quality level information of each stream segment in the transcoded video stream, writes it into the supplementary enhancement information, and inserts the supplementary enhancement information corresponding to each stream segment before the starting frame stream data of each stream segment, and transmits it to the client. When decoding, the client parses the image quality level information in the supplementary enhancement information, optimizes the image quality of the stream segments whose image quality level information is lower than the preset threshold, and there is no need to optimize all the segments. In this way, the computing resource consumption of the client can be reduced without significantly increasing the bandwidth cost, thereby improving the user experience.

[0109] Furthermore, the embodiment of the present application discloses a device for optimizing image quality, which is applied to a client and includes:

[0110] The target code stream receiving module is used to receive the target code stream transmitted by the server;

[0111] A target code stream parsing module, used for parsing the supplementary enhancement information in the target code stream to obtain the image quality level information of the code stream segment, wherein the supplementary enhancement information corresponding to each code stream segment in the target code stream is before the start frame code stream data of each code stream segment;

[0112] A picture quality optimization processing module, configured to perform picture quality optimization processing on the bitstream segment if the picture quality level information is lower than a preset threshold;

[0113] The rendering and display module is used to render and display the code stream segment if the image quality level information is greater than or equal to the preset threshold.

[0114] The preset threshold is a threshold determined based on the display screen size and / or processor performance of the client.

[0115] It can be seen that in the embodiment of the present application, the supplementary enhancement information corresponding to each code stream segment in the target code stream is before the starting frame code stream data of each code stream segment. When decoding, the client parses the image quality level information in the supplementary enhancement information, and optimizes the image quality of the code stream segments whose image quality level information is lower than the preset threshold. There is no need to optimize all the segments. In this way, the computing resource consumption of the client can be reduced without significantly increasing the bandwidth cost, thereby improving the user experience.

[0116] Furthermore, an embodiment of the present application discloses a computer program product, including a computer program / instruction, which, when executed by a processor, implements the image quality optimization method disclosed in the aforementioned embodiment.

[0117] For the specific process of the above-mentioned image quality optimization method, reference may be made to the corresponding contents disclosed in the aforementioned embodiments, which will not be repeated here.

[0118] See also Figure 8 As shown, an embodiment of the present application discloses an electronic device 20, including a processor 21 and a memory 22; wherein the memory 22 is used to store a computer program; the processor 21 is used to execute the computer program, the image quality optimization method disclosed in the above embodiment.

[0119] For the specific process of the above-mentioned image quality optimization method, reference may be made to the corresponding contents disclosed in the aforementioned embodiments, which will not be repeated here.

[0120] Furthermore, the memory 22 as a carrier for storing resources may be a read-only memory, a random access memory, a magnetic disk or an optical disk, etc., and the storage method may be temporary storage or permanent storage.

[0121] In addition, the electronic device 20 also includes a power supply 23, a communication interface 24, an input / output interface 25 and a communication bus 26; wherein the power supply 23 is used to provide working voltage for each hardware device on the electronic device 20; the communication interface 24 can create a data transmission channel between the electronic device 20 and an external device, and the communication protocol it follows is any communication protocol that can be applied to the technical solution of the present application, and is not specifically limited here; the input / output interface 25 is used to obtain external input data or output data to the outside world, and its specific interface type can be selected according to specific application needs, and is not specifically limited here.

[0122] Furthermore, an embodiment of the present application also discloses a computer-readable storage medium for storing a computer program, wherein the computer program, when executed by a processor, implements the image quality optimization method disclosed in the aforementioned embodiment.

[0123] For the specific process of the above-mentioned image quality optimization method, reference may be made to the corresponding contents disclosed in the aforementioned embodiments, which will not be repeated here.

[0124] In this specification, each embodiment is described in a progressive manner, and each embodiment focuses on the differences from other embodiments. The same or similar parts between the embodiments can be referred to each other. For the device disclosed in the embodiment, since it corresponds to the method disclosed in the embodiment, the description is relatively simple, and the relevant parts can be referred to the method part.

[0125] The steps of the method or algorithm described in conjunction with the embodiments disclosed herein may be implemented directly using hardware, a software module executed by a processor, or a combination of the two. The software module may be placed in a random access memory (RAM), a memory, a read-only memory (ROM), an electrically programmable ROM, an electrically erasable programmable ROM, a register, a hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art.

[0126] The above is a detailed introduction to a method, product, device and medium for optimizing image quality provided by the present application. Specific examples are used in this article to illustrate the principles and implementation methods of the present application. The description of the above embodiments is only used to help understand the method of the present application and its core idea. At the same time, for those skilled in the art, according to the idea of ​​the present application, there will be changes in the specific implementation method and application scope. In summary, the content of this specification should not be understood as a limitation on the present application.

Claims

1. A method for optimizing image quality, characterized in that: Applied to the server, including: Transcode the target video to obtain a video stream; Segmenting the video code stream, and determining the image quality level information of each code stream segment respectively; The image quality level information of each bitstream segment is written into the supplementary enhancement information respectively, and the supplementary enhancement information corresponding to each bitstream segment is inserted before the starting frame bitstream data of each bitstream segment to obtain the target bitstream; Transmitting the target bitstream to a client so that the client optimizes the image quality of the bitstream segments whose image quality level information is lower than a preset threshold; the preset threshold is a threshold determined based on the display screen size and / or processor performance of the client; The image quality level information of each bitstream segment is determined, including: Obtain a quality evaluation index value for each video frame in a bitstream segment; the quality evaluation index is any of PSNR, SSIM, and VMAF; The average value of the quality evaluation index value of each video frame in the bitstream segment is calculated to obtain the image quality level information of the bitstream segment.

2. The image quality optimization method according to claim 1, characterized in that: Calculating the average of the quality evaluation index values ​​of each video frame in the bitstream segment to obtain the image quality level information of the bitstream segment includes: Calculate the average value of the quality evaluation index value of each video frame in the bitstream segment; Performing normalization processing on the mean to obtain a normalization processing result; The image quality level information of the bitstream segment is determined based on the normalization processing result.

3. The image quality optimization method according to claim 2, characterized in that: The mean is normalized to obtain a normalized result, including: The mean is normalized using a first preset formula to obtain a normalized result, wherein the first preset formula is: ; in, is the normalized processing result, is the mean value, is the minimum value corresponding to the quality evaluation index, is the maximum value corresponding to the quality evaluation index.

4. The image quality optimization method according to claim 3, characterized in that: Determining the image quality level information of the bitstream segment based on the normalization processing result includes: The image quality level information of the bitstream segment is determined based on the normalization processing result using a second preset formula, wherein the second preset formula is: ; in, is the image quality level information, represents the rounding operation, and D is the upper limit of the target range.

5. A method for optimizing image quality, characterized in that: Applied to the client, including: Receive the target code stream transmitted by the server; Parsing the supplementary enhancement information in the target bitstream to obtain image quality level information of the bitstream segment, wherein the supplementary enhancement information corresponding to each bitstream segment in the target bitstream is before the bitstream data of the starting frame of each bitstream segment; the image quality level information is information obtained by obtaining a quality evaluation index value of each video frame in the bitstream segment by the server and calculating an average value of the quality evaluation index values ​​of each video frame in the bitstream segment, wherein the quality evaluation index is any one of PSNR, SSIM, and VMAF; If the image quality level information is lower than a preset threshold, the image quality optimization processing is performed on the code stream segment; the preset threshold is a threshold determined based on the display screen size and / or processor performance of the client; If the image quality level information is greater than or equal to the preset threshold, the code stream segment is rendered and displayed.

6. A computer program product, characterized in that It includes a computer program / instruction, which, when executed by a processor, implements the image quality optimization method as described in any one of claims 1 to 5.

7. An electronic device, characterized in that: comprising a memory and a processor, wherein: The memory is used to store the computer program; The processor is used to execute the computer program to implement the image quality optimization method according to any one of claims 1 to 5.

8. A computer-readable storage medium, characterized in that: Used to store a computer program, wherein when the computer program is executed by a processor, the image quality optimization method according to any one of claims 1 to 5 is implemented.

Citation Information

Patent Citations

  • Self-adaptive sharpening decision-making method and device, equipment, storage medium and product

    CN117499707A

  • Self-adaptive video transcoding method based on terminal equipment environment

    CN117714790A

  • Video processing method and device, computer equipment, readable storage medium and program product

    CN118433449A