Video processing method and device, computing equipment and storage medium

By analyzing the texture complexity of the image blocks in the video frame and determining the sharpening intensity parameters, the problems of insufficient high-frequency noise and details in video frames in the prior art are solved, and clearer video processing effects and encoding efficiency are achieved.

CN119130855APending Publication Date: 2024-12-13HUAWEI CLOUD COMPUTING TECHNOLOGIES CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202311125382.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-06-08
Filing Date
2023-09-01
Publication Date
2024-12-13

Smart Images

  • Figure CN119130855A_ABST
    Figure CN119130855A_ABST
Patent Text Reader

Abstract

The invention discloses a video processing method and device, computing equipment and a storage medium, and belongs to the field of video processing. The method comprises the steps that first video data are acquired, the first video data are obtained by decoding an original video code stream corresponding to the first video data, and the first video data comprise a plurality of first video frames; determining texture complexity information corresponding to a plurality of image blocks included in the first video frame; based on the texture complexity information corresponding to the plurality of image blocks, sharpening intensity parameters corresponding to the plurality of image blocks are determined, and the sharpening intensity parameters of at least two image blocks in the image blocks included in the plurality of first video frames are different; and sending a target video code stream based on the first video data and the sharpening intensity parameters corresponding to the image blocks included in the plurality of first video frames, the target video code stream being a coded code stream. In other words, different image blocks in the video frame are processed through different sharpening intensity parameters, and the sharpening degree of the rich-texture area in the video frame is enhanced.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application claims priority to Chinese patent application No. 202310681335.3, filed on June 8, 2023, and entitled “A video encoding method, device and system”, the entire contents of which are incorporated by reference into this application. Technical Field

[0002] The present application relates to the field of video processing, and in particular to a video processing method, apparatus, computing device and storage medium. Background Art

[0003] Sharpening is an image enhancement technology that aims to improve the clarity and detail of an image. Image sharpening can compensate for the image's outline, enhance the image's edges and grayscale transitions, and make the image clearer overall. Video sharpening is essentially sharpening each video frame.

[0004] In the related art, similar to image sharpening technology, video sharpening usually uses algorithms such as convolution filtering and nonlinear filtering to sharpen all pixels in each video frame to compensate for the outline of the video frame and make the details of the video frame clearer.

[0005] However, after sharpening the video in the above manner, unnecessary high-frequency information (such as high-frequency noise) in the video frame may be enhanced, resulting in a large amount of jumping random noise in the original flat area of ​​the video frame; at the same time, for the area with rich texture in the video frame, the local detail information after sharpening may not be rich enough due to insufficient sharpening. Summary of the invention

[0006] The present application provides a video processing method, apparatus, computing device and storage medium, which can use different sharpening intensity parameters to perform targeted processing on image blocks in video frames to enhance detail information and texture information in video frames. The technical solution is as follows:

[0007] In a first aspect, a video processing method is provided, which is applied to a server, and the method includes: obtaining first video data, where the first video data is obtained by decoding an original video code stream corresponding to the first video data, and the first video data includes multiple first video frames; determining texture complexity information corresponding to multiple image blocks included in the first video frame; based on the texture complexity information corresponding to the multiple image blocks, determining sharpening intensity parameters corresponding to the multiple image blocks, where at least two image blocks among the image blocks included in the multiple first video frames have different sharpening intensity parameters; based on the first video data and the sharpening intensity parameters corresponding to the image blocks included in the multiple first video frames, sending a target video code stream, where the target video code stream is an encoded code stream.

[0008] In an embodiment of the present application, when processing the first video data, the server performs texture analysis and sharpening analysis on each image block based on the image blocks included in the multiple first video frames, so as to determine the sharpening intensity parameter corresponding to the image block by analyzing the texture complexity information of the image block, thereby sending the target video code stream based on the first video data and the sharpening intensity parameters corresponding to the image blocks included in the multiple first video frames. That is, the embodiment of the present application does not perform sharpening analysis in the dimension of the entire video frame, but performs sharpening analysis in the dimension of the image blocks included in the video frame. Therefore, the sharpening analysis granularity is more detailed, and the determined sharpening intensity parameters of the image blocks are also more targeted. Compared with the video sharpening scheme with global unified sharpening strength, each image block in the video frame is sharpened and analyzed to determine the sharpening strength parameters corresponding to each image block. For different image blocks in the video frame, the determined sharpening strength parameters may also be different. In this way, different image blocks in the video frame are sharpened with different sharpening strength parameters, which can enhance the sharpening degree of the texture-rich areas in the video frame, making the contour information and detail information in the video frame clearer; at the same time, the random noise in the smooth area of ​​the video frame is reduced, saving the bit rate and bandwidth when encoding the video frame.

[0009] Optionally, the target video code stream includes a sharpening information code stream and a first video code stream; sending the target video code stream based on the sharpening strength parameters corresponding to the first video data and the image blocks included in the multiple first video frames includes: encoding the first video data to obtain the first video code stream; encoding the sharpening strength parameters corresponding to the image blocks included in the multiple first video frames into the sharpening information code stream; and sending the sharpening information code stream and the first video code stream.

[0010] Optionally, the target video code stream includes a second video code stream; sending the target video code stream based on the sharpening intensity parameters respectively corresponding to the image blocks included in the first video data and the multiple first video frames includes: encoding the sharpening intensity parameters respectively corresponding to the image blocks included in the first video data and the multiple first video frames to obtain the second video code stream; sending the second video code stream.

[0011] That is, the first video data and the sharpening intensity parameters corresponding to the image blocks included in the multiple first video frames can be encoded together. In this case, the target video code stream is an encoded code stream; the first video data can also be encoded separately, and the sharpening intensity parameters corresponding to the image blocks included in the multiple first video frames can be encoded respectively. In this case, the target video code stream includes two encoded code streams, which is not limited to this embodiment of the present application.

[0012] Optionally, the method also includes: receiving a sharpening adjustment coefficient configured by a user; and determining the sharpening strength parameters corresponding to the multiple image blocks respectively based on the texture complexity information corresponding to the multiple image blocks respectively, including: determining the sharpening strength parameters corresponding to the multiple image blocks respectively based on the sharpening adjustment coefficient and the texture complexity information corresponding to the multiple image blocks respectively.

[0013] That is, taking into account that different users have different demands for video sharpening intensity, in order to meet the subjective needs of different users, when performing sharpening analysis on image blocks to determine the sharpening intensity parameters corresponding to the image blocks, the sharpening adjustment details configured by the user can also be combined to determine the final sharpening intensity parameters.

[0014] Optionally, the texture complexity information includes variance; and determining the sharpening intensity parameters corresponding to the multiple image blocks respectively based on the texture complexity information respectively corresponding to the multiple image blocks includes: if the variance of the first image block is less than a first variance threshold, determining that the first image block does not need to be sharpened, and the first image block is any image block among the multiple image blocks; if the variance of the first image block is greater than the first variance threshold, determining that the first image block needs to be sharpened, and determining the sharpening intensity parameter of the first image block based on the variance of the first image block.

[0015] Optionally, the method also includes: if the variance of the first image block is less than a second variance threshold, determining that a sharpening intensity parameter of the first image block is less than zero, wherein the second variance threshold is less than the first variance threshold, and the sharpening intensity parameter is less than zero, indicating that noise reduction processing is performed on the first image block.

[0016] That is, when the texture complexity information includes variance, in combination with the first variance threshold and the second variance threshold, it can be determined whether the processing method of the first image block is noise reduction processing, sharpening processing or no processing, thereby performing noise reduction processing or sharpening processing on the first image block based on the sharpening intensity parameter.

[0017] Optionally, the texture complexity information includes a quantization parameter; and determining the sharpening intensity parameters corresponding to the multiple image blocks respectively based on the texture complexity information respectively corresponding to the multiple image blocks includes: if the quantization parameter of the first image block is greater than a first quantization threshold, determining that the first image block does not need to be sharpened, and the first image block is any one of the multiple image blocks; if the quantization parameter of the first image block is less than the first quantization threshold, determining that the first image block needs to be sharpened, and determining the sharpening intensity parameter of the first image block based on the quantization parameter of the first image block.

[0018] Optionally, the method also includes: if the quantization parameter of the first image block is greater than a second quantization threshold, determining that a sharpening intensity parameter of the first image block is less than zero, wherein the second quantization threshold is greater than the first quantization threshold, and the sharpening intensity parameter is less than zero, indicating that noise reduction processing is performed on the first image block.

[0019] Similarly, when the texture complexity information includes a quantization parameter, in combination with the first quantization threshold and the second quantization threshold, it can be determined whether the processing method of the first image block is noise reduction processing, sharpening processing or no processing, thereby performing noise reduction processing or sharpening processing on the first image block based on the sharpening intensity parameter.

[0020] Optionally, the method also includes: receiving a video sharpening instruction, the video sharpening instruction being used to indicate that a video sharpening function is enabled; in response to the video sharpening instruction, executing the step of determining sharpening intensity parameters corresponding to the multiple image blocks respectively based on texture complexity information corresponding to the multiple image blocks respectively.

[0021] That is, whether the server performs sharpening analysis on the decoded first video data to determine the sharpening intensity parameters of each image block during the process of decoding, processing and encoding the original video data can also be controlled / interfered by the user.

[0022] In a second aspect, a video processing method is provided, the method comprising: obtaining first video data, the first video data being obtained by decoding an original video code stream corresponding to the first video data, the first video data comprising multiple first video frames; determining texture complexity information respectively corresponding to multiple image blocks included in the first video frame; based on the texture complexity information respectively corresponding to the multiple image blocks, determining sharpening intensity parameters respectively corresponding to the multiple image blocks, the sharpening intensity parameters of at least two image blocks among the image blocks included in the multiple first video frames being different; based on the sharpening intensity parameters respectively corresponding to the image blocks included in the multiple first video frames, processing the multiple first video frames to obtain second video data.

[0023] Optionally, the method also includes: obtaining a sharpening adjustment coefficient configured by the user; and determining the sharpening strength parameters corresponding to the multiple image blocks respectively based on the texture complexity information corresponding to the multiple image blocks respectively, including: determining the sharpening strength parameters corresponding to the multiple image blocks respectively based on the sharpening adjustment coefficient and the texture complexity information corresponding to the multiple image blocks respectively.

[0024] Optionally, the texture complexity information includes variance and / or quantization parameter.

[0025] In an embodiment of the present application, for the first video data, texture analysis and sharpening analysis can be performed on each image block based on the image blocks included in the multiple first video frames, so as to determine the sharpening intensity parameters corresponding to each image block by analyzing the texture complexity information of the image block, and thus process the image blocks of each first video frame based on the sharpening intensity parameters respectively corresponding to the image blocks included in the multiple first video frames. That is, the embodiment of the present application does not perform sharpening processing in the dimension of the entire video frame, but performs sharpening processing in the dimension of the image blocks included in the video frame, so the sharpening processing granularity is finer, and the determined sharpening intensity parameters of the image blocks are also more targeted. Compared with the video sharpening scheme with global unified sharpening strength, the video frame is divided into image blocks for sharpening analysis to determine the sharpening strength parameters corresponding to the image blocks. For different image blocks in the video frame, the determined sharpening strength parameters may also be different. In this way, different image blocks in the video frame are sharpened with different sharpening strength parameters. This can enhance the sharpening degree of the texture-rich areas in the video frame, making the contour information and detail information in the video frame clearer; at the same time, it reduces the random noise in the smooth areas of the video frame, saving the bit rate and bandwidth when encoding the video frame.

[0026] In a third aspect, a video processing device is provided, wherein the video processing device has the function of implementing the video processing method in the first aspect. The video processing device includes at least one module, and the at least one module is used to implement the video processing method provided in the first aspect.

[0027] In a fourth aspect, a video processing device is provided, wherein the video processing device has the function of implementing the video processing method in the second aspect. The video processing device includes at least one module, and the at least one module is used to implement the video processing method provided in the second aspect.

[0028] In a fifth aspect, a computing device cluster is provided, the computing device cluster comprising at least one computing device, each computing device comprising a processor and a memory; the processor of the at least one computing device is used to execute instructions stored in the memory of the at least one computing device, so that the computing device cluster executes the video processing method provided in the first aspect above, or executes the video processing method provided in the second aspect above.

[0029] Optionally, each computing device may further include a communication bus, which is used to establish a connection between the processor and the memory.

[0030] Optionally, each computing device may further include a communication interface, where the communication interface is used to implement communication between the computing device and other devices or a communication network.

[0031] In a sixth aspect, a computer-readable storage medium is provided, wherein instructions are stored in the storage medium. When the instructions are executed on a computing device, the computing device executes the video processing method provided in the first aspect or the second aspect.

[0032] In a seventh aspect, a computer program product comprising instructions is provided, and when the instructions are executed on a computing device, the computing device executes the video processing method provided in the first aspect or the second aspect. In other words, a computer program is provided, and when the computer program is executed on a computing device, the computing device executes the video processing method provided in the first aspect or the second aspect.

[0033] The technical effects obtained in the above-mentioned second to seventh aspects are similar to the technical effects obtained by the corresponding technical means in the first aspect, and will not be repeated here. BRIEF DESCRIPTION OF THE DRAWINGS

[0034] Figure 1 is a flow chart of a video processing method provided by an embodiment of the present application;

[0035] Figure 2 is a schematic diagram of a video sharpening processing flow provided in an embodiment of the present application;

[0036] Figure 3 It is a schematic diagram of a video processing flow in a live transcoding scenario provided by an embodiment of the present application;

[0037] Figure 4 It is a schematic diagram of another video processing flow in a live transcoding scenario provided by an embodiment of the present application;

[0038] Figure 5 It is a schematic diagram of another video processing flow in the live transcoding scenario provided by an embodiment of the present application;

[0039] Figure 6 is a flowchart of another video processing method provided by an embodiment of the present application;

[0040] Figure 7 is a structural schematic diagram of a video processing device provided in an embodiment of the present application;

[0041] Figure 8 is a structural schematic diagram of another video processing device provided in an embodiment of the present application;

[0042] Fig. 9 is a schematic diagram of the structure of a computing device provided in an embodiment of the present application;

[0043] Fig.10 is a schematic diagram of the structure of a computing device cluster provided in an embodiment of the present application;

[0044] Fig.11 It is a schematic diagram of the network connection relationship of a computing device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0045] In order to make the objectives, technical solutions and advantages of the embodiments of the present application clearer, the implementation methods of the present application will be further described in detail below in conjunction with the accompanying drawings.

[0046] Before explaining the video processing method provided in the embodiment of the present application, the application scenario of the embodiment of the present application is first introduced.

[0047] Sharpening is an image enhancement technique that aims to improve the clarity and details of an image. It is commonly used in signal processing, digital image processing, and computer vision. Generally speaking, image sharpening can be divided into the following two categories: differential-based image sharpening and amplitude spectrum-based image sharpening. Among them, differential-based image sharpening algorithms include Laplace transform, Sobel operator, Prewitt operator, Roberts operator, etc., which detect edge information and detail information in the image by calculating the difference between pixels, and enhance these edge information and detail information to enhance the overall clarity of the image. The amplitude spectrum-based image sharpening algorithm uses the Fourier transform of the image to analyze its frequency components and filters the image information according to different frequency weights. The high-pass filter can enhance high-frequency details, and the low-pass filter can reduce high-frequency noise. By using these filters to sharpen the image, its detail information and texture feature information are highlighted.

[0048] Based on the idea of ​​image sharpening, video sharpening uses algorithms such as convolution filtering and nonlinear filtering to sharpen all pixels in each video frame to compensate for the contour information of the video frame, making the details of the video frame clearer. In other words, by sharpening each video frame in the video, the sharpening of the entire video is achieved.

[0049] In some embodiments, video sharpening can be applied in live transcoding service scenarios. Live transcoding service is to decode, convert formats, adjust resolution, encode and process the video code stream generated by live broadcast to meet the requirements and display effects of different audiences for live content.

[0050] Among them, the process of the entire live transcoding service is as follows: before the live broadcast begins, the anchor end collects the video signal and audio signal during the anchor's live broadcast through professional equipment or mobile phones and other anchor end devices to obtain the original video data, and encodes the original video data to obtain the original video code stream, and then uploads the original video code stream to the transcoding server through the push stream protocol. After the transcoding server receives the original video code stream sent by the anchor end, it first decodes the original video code stream to obtain reconstructed video data, which includes multiple reconstructed video frames. Then, the transcoding server sharpens each reconstructed video frame to obtain a reconstructed video frame after sharpening, and performs format transcoding, resolution adjustment and other transcoding processing on the reconstructed video frame according to the transcoding parameters, and then encodes the transcoded video data to obtain video code streams of different formats. Then, the transcoding server quickly transmits the transcoded video code streams of different formats to different audience end devices through the content delivery network (CDN), so that the audience end device decodes the received video code stream and renders it through the audience end device.

[0051] In some embodiments, video sharpening can also be applied in a scenario where a computing device processes a video. After generating or receiving video data, the computing device sequentially performs sharpening processing on each video frame in the video data to obtain a sharpened video frame.

[0052] The computing device may be a terminal device that collects video data; it may also be a server that processes video, that is, the server decodes and sharpens the received video stream; it may also be a terminal device that receives the video stream and decodes, sharpens, and plays the video stream. The embodiment of the present application does not limit the type of computing device.

[0053] However, when the related technology performs video sharpening, it is necessary to use the same sharpening intensity parameter for all pixels in each video frame, that is, to use a global unified sharpening method to sharpen the video frame. After the video is sharpened in this way, unnecessary high-frequency information (such as high-frequency noise) in the video frame may be enhanced, resulting in a large amount of jumping random noise in the original flat area of ​​the video frame; at the same time, for the area with rich texture in the video frame, the local detail information after sharpening is not rich enough due to insufficient sharpening intensity.

[0054] Based on this, an embodiment of the present application provides a video processing method, which determines the sharpening intensity parameter corresponding to each image block by analyzing the texture complexity information corresponding to multiple image blocks included in each video frame in the video data. In this way, when processing the video data, each image block can be processed in a targeted manner according to the sharpening intensity parameter corresponding to each image block, thereby enhancing the detail information and texture information in the video frame, thereby improving the overall clarity of the video.

[0055] It should be understood that the video sharpening scenario in the above example is intended to more clearly illustrate the technical solution of the embodiment of the present application, and does not constitute a limitation on the technical solution provided in the embodiment of the present application. Ordinary technicians in this field can know that with the emergence of new video processing scenarios, the technical solution provided in the embodiment of the present application is also applicable to similar technical problems.

[0056] Please refer to Figure 1 , Figure 1 This is a flowchart of a video processing method provided in an embodiment of the present application. The method can be applied in a server and includes the following steps.

[0057] Step 101: Acquire first video data, where the first video data is obtained by decoding an original video code stream corresponding to the first video data, and the first video data includes a plurality of first video frames.

[0058] The original video code stream may be a video code stream sent by a terminal device, or a video code stream sent by another server. The embodiment of the present application does not limit the source of the original video code stream.

[0059] After the server obtains the first video data by decoding the original video code stream, each first video frame in the first video data can be divided into a plurality of non-overlapping image blocks, so as to facilitate subsequent texture analysis and sharpening analysis of each first video frame in the image block dimension. The block processing of the video frame can be referred to in the relevant technology, and the embodiment of the present application will not be described in detail here.

[0060] As an example, the image block may be a largest coding unit (LCU), a coding tree unit (CTU) or a coding unit (CU) divided in the first video frame. The embodiment of the present application does not limit the type of the image block.

[0061] Step 102: Determine texture complexity information corresponding to a plurality of image blocks included in the first video frame.

[0062] Among them, texture complexity information indicates the complexity of the texture features of the image block, and texture is a visual feature that reflects the homogeneous phenomenon in the image, embodies the intrinsic properties of the object surface, and contains important information about the structural organization and arrangement of the object surface and their connection with the surrounding environment.

[0063] As an example, texture complexity can reflect the flatness / undulation of the image in the image block. The more complex the texture, the greater the undulation; the simpler the texture, the flatter the image. Texture complexity can also reflect the amount of detail information contained in the image block. The more complex the texture, the more detail information it contains; the simpler the texture, the less detail information it contains.

[0064] In some embodiments, the texture complexity information of the image block includes variance and / or quantization parameter (QP).

[0065] The variance can be the variance of the pixel values ​​in the image block, or the variance of other information of the pixels in the image block. Since the variance is a measure of the discreteness of a random variable or a set of data, for an image block, the simpler the texture of the image block, the smaller the variance of the image block; the more complex the texture of the image block, the larger the variance of the image block. The quantization parameter is the quantization accuracy of the bit number when encoding the image block. The larger the quantization parameter, the larger the transform coefficients of the value range will be quantized to the same output, which usually brings greater distortion and lower bit rate; on the contrary, the smaller the quantization parameter, the smaller the transform coefficients of the value range will be quantized to the same output, which usually brings less distortion and corresponds to a higher bit rate. When encoding an image block, the quantization parameter is determined according to the amount of information contained in the image block. The more complex the texture of the image block, the more detail information it contains. During encoding, a higher bit rate is required to encode it to reduce information loss. Therefore, the quantization parameter is smaller. On the contrary, the simpler the texture of the image block, the less detail information it contains. During encoding, the compression ratio can be increased and a lower bit rate can be used to encode it. Therefore, the quantization parameter is larger.

[0066] It should be understood that since the embodiment of the present application performs sharpening analysis and processing on the first video data, it is necessary to execute steps 102 and 103 in sequence for each first video frame included in the first video data to determine the sharpening intensity parameters corresponding to the multiple image blocks included in each first video frame.

[0067] Step 103: Based on the texture complexity information respectively corresponding to the multiple image blocks, determine the sharpening strength parameters respectively corresponding to the multiple image blocks, and the sharpening strength parameters of at least two image blocks among the image blocks included in the multiple first video frames are different.

[0068] It should be understood that at least two image blocks with different sharpening strength parameters may be in the same first video frame or in different video frames, and the embodiments of the present application do not limit this. For a first video frame, the sharpening strength parameters corresponding to the multiple image blocks included therein may be the same or different, and the embodiments of the present application do not limit this.

[0069] Since the determination process of the sharpening intensity parameters corresponding to the multiple image blocks is the same, one of the image blocks will be taken as an example for introduction. For the convenience of description, the image block is called the first image block. Since the texture complexity information corresponding to the first image block can be a variance, a quantization parameter, or a variance and a quantization parameter, when the texture complexity information corresponding to the first image block is different, the implementation method of determining the sharpening intensity parameter corresponding to the first image block based on the texture complexity information corresponding to the first image block is also different. They will be introduced separately below.

[0070] In the first implementation method, the texture complexity information includes variance. In this case, if the variance of the first image block is less than a first variance threshold, it is determined that the first image block does not need to be sharpened; if the variance of the first image block is greater than the first variance threshold, it is determined that the first image block needs to be sharpened, and the sharpening intensity parameter of the first image block is determined based on the variance of the first image block.

[0071] Wherein, when it is determined that the first image block does not need to be sharpened, the sharpening strength parameter of the first image block can be set to zero. The sharpening strength parameter being zero indicates that the first image block does not need to be processed. When the variance of the first image block is equal to the first variance threshold, it can be determined that the first image block does not need to be sharpened, or it can be determined that the first image block needs to be sharpened, and the embodiment of the present application does not limit this.

[0072] Optionally, when it is determined that the first image block does not need to be sharpened, it can also be determined whether the first image block needs to be subjected to noise reduction processing. That is, if the variance of the first image block is less than the second variance threshold, it is determined that the sharpening strength parameter of the first image block is less than zero, wherein the second variance threshold is less than the first variance threshold, and the sharpening strength parameter is less than zero, indicating that the first image block needs to be subjected to noise reduction processing.

[0073] In other words, if the variance of the first image block is less than the second variance threshold, it is determined that the first image block needs to be denoised, and thus the sharpening intensity parameter of the first image block is determined based on the variance of the first image block, and the sharpening intensity parameter during the denoising process is less than zero.

[0074] In this case, when the first image block is larger than the second variance threshold and smaller than the first variance threshold, the sharpening intensity parameter of the first image block is determined to be zero, that is, there is no need to perform sharpening processing or noise reduction processing on the first image block.

[0075] In the case where it is determined that the first image block needs to be sharpened or denoised, the implementation process of determining the sharpening intensity parameter of the first image block based on the variance of the first image block may be: based on the variance of the first image block, determining a first variance range in which the variance of the first image block is located from multiple variance ranges; and determining a first sharpening parameter corresponding to the first variance range as the sharpening intensity parameter of the first image block.

[0076] Among them, the multiple variance ranges respectively correspond to a sharpening parameter, which indicates the intensity of the sharpening processing on the image block. Therefore, when the sharpening parameter is greater than zero, it indicates that the image block is sharpened to achieve the effect of enhancing the texture detail information in the image block; when the sharpening parameter is less than zero, a negative sharpening parameter is used to sharpen the image block, which is equivalent to performing noise reduction processing on the image block to achieve the effect of filtering out high-frequency noise in the image block.

[0077] As an example, the corresponding relationship between the variance range and the sharpening parameter is shown in Table 1 below:

[0078] Table 1

[0079] Variance Range Sharpening parameters [S1, S2] W11 [S3, S4] W12 [S5, S6] W13 [S7, S8] -W14 [S9, S10] -W15 [S11, S12] -W16

[0080] Referring to Table 1 above, after determining the variance of the first image block, the first variance range and the first sharpening parameter are determined from the above 6 variance ranges. For example, if the variance of the first image block is within the variance range [S7, S8], the first sharpening parameter is determined to be -W14; for another example, if the variance of the first image block is within the variance range [S3, S4], the first sharpening parameter is determined to be W12.

[0081] It should be noted that the endpoint values ​​of the various variance ranges in Table 1 may be the same, that is, the multiple variance ranges correspond to a continuous numerical range; of course, the endpoint values ​​of the various variance ranges in Table 1 may also be different, that is, the multiple variance ranges correspond to multiple discontinuous numerical ranges, and the embodiments of the present application do not limit this.

[0082] Since the larger the sharpening parameter, the more obvious the effect of enhancing the detail information during the sharpening process, but it is also easy to introduce noise information, therefore, the sharpening parameters shown in Table 1 can be adaptively adjusted according to the actual sharpening requirements. For example, if you do not mind the introduction of some noise information during the processing while enhancing the detail information, you can increase the sharpening parameter to enhance the intensity of the sharpening process. If you need to reduce the noise information while enhancing the detail information, you can reduce the sharpening parameter to reduce the noise information introduced during the sharpening process to ensure the information accuracy of the video frame. The embodiments of the present application are not limited to this.

[0083] Optionally, the correspondence between the above-mentioned variance range and sharpening parameters can be set and adjusted based on human experience; or a large number of images can be used to train the neural network model, and the correspondence between the variance range and the sharpening parameters can be determined through the neural network model. The embodiments of the present application do not limit this.

[0084] In the second implementation method, the texture complexity information includes a quantization parameter. In this case, if the quantization parameter of the first image block is greater than a first quantization threshold, it is determined that the first image block does not need to be sharpened; if the quantization parameter of the first image block is less than the first quantization threshold, it is determined that the first image block needs to be sharpened, and the sharpening intensity parameter of the first image block is determined based on the quantization parameter of the first image block.

[0085] Wherein, when it is determined that the first image block does not need to be sharpened, the sharpening intensity parameter of the first image block can be set to zero. The sharpening intensity parameter being zero indicates that the first image block does not need to be processed. When the quantization parameter of the first image block is equal to the first quantization threshold, it can be determined that the first image block does not need to be sharpened, or it can be determined that the first image block needs to be sharpened, and the embodiments of the present application do not limit this.

[0086] Optionally, when it is determined that the first image block does not need to be sharpened, it can also be determined whether the first image block needs to be subjected to noise reduction processing. That is, if the quantization parameter of the first image block is greater than the second quantization threshold, it is determined that the sharpening intensity parameter of the first image block is less than zero, wherein the second quantization threshold is greater than the first quantization threshold, and the sharpening intensity parameter is less than zero, indicating that the first image block is subjected to noise reduction processing.

[0087] In other words, if the quantization parameter of the first image block is greater than the second quantization threshold, it is determined that the first image block needs to be denoised, and thus the sharpening intensity parameter of the first image block is determined based on the quantization parameter of the first image block, and the sharpening intensity parameter during the denoising process is less than zero.

[0088] In this case, when the first image block is larger than the first quantization threshold and smaller than the second quantization threshold, the sharpening intensity parameter of the first image block is determined to be zero, that is, there is no need to perform sharpening processing or noise reduction processing on the first image block.

[0089] When it is determined that the first image block needs to be sharpened or denoised, the implementation process of determining the sharpening intensity parameter of the first image block based on the quantization parameter of the first image block can be: based on the quantization parameter of the first image block, determine a first quantization range in which the quantization parameter of the first image block is located from multiple quantization ranges; and determine a second sharpening parameter corresponding to the first quantization range as the sharpening intensity parameter of the first image block.

[0090] Among them, the multiple quantization ranges respectively correspond to a sharpening parameter, and the sharpening parameter indicates the intensity of the sharpening processing on the image block. Therefore, when the sharpening parameter is greater than zero, it indicates that the image block is sharpened to achieve the effect of enhancing the texture detail information in the first image block; when the sharpening parameter is less than zero, a negative sharpening parameter is used to sharpen the image block, which is equivalent to performing noise reduction processing on the image block to achieve the effect of filtering out high-frequency noise in the first image block.

[0091] As an example, the corresponding relationship between the quantization range and the sharpening parameter is shown in Table 2 below:

[0092] Table 2

[0093] Quantization range Sharpening parameters [Q1, Q2] W21 [Q3, Q4] W22 [Q5, Q6] W23 [Q7, Q8] -W24 [Q9, Q10] -W25 [Q11, Q12] -W26

[0094] Referring to Table 2 above, after determining the quantization parameter of the first image block, the first quantization range and the second sharpening parameter are first determined from the above 6 quantization ranges. For example, if the quantization parameter Q of the first image block is in the quantization range [Q9, Q10], the second sharpening parameter is determined to be -W25; for another example, if the quantization parameter Q of the first image block is in the quantization range [Q5, Q6], the second sharpening parameter is determined to be W23.

[0095] Similarly, the endpoint values ​​of each quantization range in Table 2 can be the same, that is, the multiple quantization ranges correspond to a continuous numerical range; of course, the endpoint values ​​of each quantization range in Table 2 can also be different, that is, the multiple quantization ranges correspond to multiple discontinuous numerical ranges, and the embodiments of the present application do not limit this.

[0096] Since the larger the sharpening parameter, the more obvious the effect of enhancing the detail information during the sharpening process, but it is also easy to introduce noise information, therefore, the sharpening parameters shown in Table 2 can be adaptively adjusted according to the actual sharpening requirements. For example, if you do not mind the slight noise information introduced during the processing while enhancing the detail information, you can increase the sharpening parameter to enhance the intensity of the sharpening process. If you need to reduce the noise information while enhancing the detail information, you can reduce the sharpening parameter to reduce the noise information introduced during the sharpening process to ensure the information accuracy of the video frame. The embodiments of the present application are not limited to this.

[0097] Optionally, the correspondence between the above-mentioned quantization range and sharpening parameters can be set and adjusted based on human experience; or a large number of images can be used to train the neural network model, and the correspondence between the quantization range and the sharpening parameters can be determined through the neural network model. The embodiments of the present application do not limit this.

[0098] In a third implementation method, the texture complexity information includes variance and quantization parameter. In this case, if the variance of the first image block is less than a first variance threshold, or the quantization parameter of the first image block is greater than the first quantization threshold, it is determined that the first image block does not need to be sharpened; if the variance of the first image block is greater than the first variance threshold, and the quantization parameter of the first image block is less than the first quantization threshold, it is determined that the first image block needs to be sharpened, and a first sharpening parameter of the first image block is determined based on the variance of the first image block, a second sharpening parameter of the first image block is determined based on the quantization parameter of the first image block, and a sharpening intensity parameter of the first image block is determined based on the first sharpening parameter and the second sharpening parameter.

[0099] Similarly, when the variance of the first image block is equal to the first variance threshold, or the quantization parameter of the first image block is equal to the first quantization threshold, it is determined that the first image block does not need to be sharpened; or when the variance of the first image block is equal to the first variance threshold, or the quantization parameter of the first image block is equal to the first quantization threshold, it is determined that the first image block needs to be sharpened, and the embodiments of the present application do not limit this.

[0100] That is, when the texture complexity information includes two pieces of information, namely, variance and quantization parameter, if it is determined based on one of the information that the first image block does not need to be sharpened, then it is determined that the first image block does not need to be sharpened. When it is determined based on both pieces of information that the first image block needs to be sharpened, the sharpening intensity parameter of the first image block is determined based on the variance and quantization parameter.

[0101] The implementation process of determining the first sharpening parameter of the first image block based on the variance can refer to the first implementation method and Table 1 mentioned above, and will not be repeated here; the implementation process of determining the second sharpening parameter of the first image block based on the quantization parameter can refer to the second implementation method and Table 2 mentioned above, and will not be repeated here.

[0102] As an example, the result of an operation such as a mean value, a weighted sum, or a product of the first sharpening parameter and the second sharpening parameter is determined as a sharpening intensity parameter of the first image block.

[0103] In addition, if it is determined based on one information of the variance and the quantization parameter that the first image block needs to be sharpened, and it is determined based on the other information that the first image block needs to be denoised, that is, the processing methods of the first image block determined based on the two information are different, the first image block can be sharpened according to the sharpening strength parameter determined by one of the information; the first image block can also be denoised according to the sharpening strength parameter determined by the other information; or the first image block can be not processed when the processing methods determined by the two information are different. The embodiments of the present application do not impose any restrictions on this.

[0104] In some embodiments, different users have different requirements for video sharpening strength. Therefore, in order to meet the subjective needs of different users, when the server performs sharpening analysis on the image block to determine the sharpening strength parameter corresponding to the image block, it can also determine the final sharpening strength parameter in combination with the user's video sharpening requirements. That is, before executing the above step 103, the server can also receive the sharpening adjustment coefficient configured by the user, thereby determining the sharpening strength parameters corresponding to the multiple image blocks respectively based on the sharpening adjustment coefficient and the texture complexity information corresponding to the multiple image blocks respectively.

[0105] The sharpening adjustment coefficient configured by the user is a global sharpening coefficient, which acts on all image blocks included in the first video data.

[0106] When configuring the sharpening adjustment coefficient, the user can configure the sharpening intensity parameter by entering a specific numerical value, can configure the sharpening intensity parameter by selecting a given level, or can configure the sharpening intensity parameter by adjusting a sliding bar, and the embodiments of the present application do not limit this.

[0107] Similar to the above, taking the first image block as an example, when the texture complexity information corresponding to the first image block is different, the implementation methods of determining the sharpening intensity parameter corresponding to the first image block based on the sharpening adjustment coefficient and the texture complexity information corresponding to the first image block are also different. They will be introduced separately below.

[0108] In the first case, the texture complexity information includes variance. At this time, if the variance of the first image block is less than the first variance threshold, it is determined that the first image block does not need to be sharpened; if the variance of the first image block is greater than the first variance threshold, it is determined that the first image block needs to be sharpened, and the sharpening intensity parameter of the first image block is determined based on the variance of the first image block and the sharpening adjustment coefficient.

[0109] Similarly, when the variance of the first image block is equal to the first variance threshold, it can be determined that the first image block does not need to be sharpened, or it can be determined that the first image block needs to be sharpened, and the embodiment of the present application does not limit this.

[0110] The implementation process of determining the sharpening intensity parameter of the first image block based on the variance of the first image block and the sharpening adjustment coefficient may be: based on the variance of the first image block, determining a first variance range in which the variance of the first image block is located from multiple variance ranges; based on the first sharpening parameter corresponding to the first variance range and the sharpening adjustment coefficient, determining the sharpening intensity parameter of the first image block.

[0111] As an example, the sharpening intensity parameter of the first image block may be determined based on the result of operations such as the sum, product or weighted sum of the first sharpening parameter and the sharpening adjustment coefficient, but the embodiment of the present application does not impose any limitation on this.

[0112] In the second case, the texture complexity information includes a quantization parameter. At this time, if the quantization parameter of the first image block is greater than the first quantization threshold, it is determined that the first image block does not need to be sharpened; if the quantization parameter of the first image block is less than the first quantization threshold, it is determined that the first image block needs to be sharpened, and the sharpening intensity parameter of the first image block is determined based on the quantization parameter of the first image block and the sharpening adjustment coefficient.

[0113] Similarly, when the quantization parameter of the first image block is equal to the first quantization threshold, it can be determined that the first image block does not need to be sharpened, or it can be determined that the first image block needs to be sharpened, and the embodiment of the present application does not limit this.

[0114] The implementation process of determining the sharpening intensity parameter of the first image block based on the quantization parameter of the first image block and the sharpening adjustment coefficient can be: based on the quantization parameter of the first image block, determine the first quantization range in which the quantization parameter of the first image block is located from multiple quantization ranges; based on the second sharpening parameter corresponding to the first quantization range and the sharpening adjustment coefficient, determine the sharpening intensity parameter of the first image block.

[0115] Similarly, the sharpening intensity parameter of the first image block can be determined based on the sum, product or weighted sum of the second sharpening parameter and the sharpening adjustment coefficient, and the embodiment of the present application does not limit this.

[0116] In the third case, the texture complexity information includes variance and quantization parameter. At this time, if the variance of the first image block is less than the first variance threshold, or the quantization parameter of the first image block is greater than the first quantization threshold, it is determined that the first image block does not need to be sharpened; if the variance of the first image block is greater than the first variance threshold, and the quantization parameter of the first image block is less than the first quantization threshold, it is determined that the first image block needs to be sharpened, and the first sharpening parameter of the first image block is determined based on the variance of the first image block, the second sharpening parameter of the first image block is determined based on the quantization parameter of the first image block, and the sharpening intensity parameter of the first image block is determined based on the first sharpening parameter, the second sharpening parameter and the sharpening adjustment coefficient.

[0117] Similarly, when the variance of the first image block is equal to the first variance threshold, or the quantization parameter of the first image block is equal to the first quantization threshold, it is determined that the first image block does not need to be sharpened; or when the variance of the first image block is equal to the first variance threshold, or the quantization parameter of the first image block is equal to the first quantization threshold, it is determined that the first image block needs to be sharpened, and the embodiments of the present application do not limit this.

[0118] The implementation process of determining the sharpening intensity parameter of the first image block based on the first sharpening parameter, the second sharpening parameter and the sharpening adjustment coefficient may be: determining the third sharpening parameter based on the first sharpening parameter and the second sharpening parameter, and determining the sharpening intensity parameter of the first image block based on the third sharpening parameter and the sharpening adjustment coefficient.

[0119] Similarly, the third sharpening parameter can be determined based on the mean, weighted sum, product and other calculation results of the first sharpening parameter and the second sharpening parameter, and the sharpening intensity parameter of the first image block can be determined based on the sum, product or weighted sum of the third sharpening parameter and the sharpening adjustment coefficient. The embodiments of the present application do not impose any restrictions on this.

[0120] The detailed implementation process of the above three situations is the same as the detailed implementation process of the above three implementation methods. The detailed implementation process of these three situations will not be repeated here. Please refer to the above description.

[0121] In some embodiments, whether the server performs sharpening analysis on the decoded first video data to determine the sharpening intensity parameter of each image block during the process of decoding, processing and encoding the original video data can also be controlled / interfered by the user. That is, the server can also receive a video sharpening instruction, which is used to indicate that the video sharpening function is enabled; in response to the video sharpening instruction, the above step 103 is executed.

[0122] That is, for the server, whether it executes the above step 103 depends on whether it receives a video sharpening instruction. The video sharpening instruction can be triggered by the administrator of the server, the sender of the original video stream, or the receiver of the target video stream, which is not limited in the embodiment of the present application.

[0123] Step 104: Based on the first video data and the sharpening strength parameters respectively corresponding to the image blocks included in the plurality of first video frames, a target video code stream is sent, where the target video code stream is an encoded code stream.

[0124] That is, based on the first video data and the sharpening intensity parameters respectively corresponding to the image blocks included in the multiple first video frames, a target video code stream is generated; and the target video code stream is sent.

[0125] The target video bitstream generated according to the sharpening strength parameters corresponding to the first video data and the image blocks included in the plurality of first video frames can be one encoded bitstream or two encoded bitstreams. When the target video bitstreams are different, the process of generating the target video bitstreams is also different. They will be introduced below respectively.

[0126] In the first implementation method, the target video code stream includes a sharpening information code stream and a first video code stream. In this case, the implementation process of generating the target video code stream can be: encoding the first video data to obtain the first video code stream; encoding the sharpening intensity parameters corresponding to the image blocks included in the multiple first video frames into the sharpening information code stream.

[0127] That is, the server encodes the first video data and the sharpening intensity parameters corresponding to the image blocks included in the plurality of first video frames respectively, obtains two encoded code streams, and sends the two encoded code streams separately. In this case, the server needs to send two code streams.

[0128] In the second implementation method, the target video code stream includes a second video code stream. In this case, the implementation process of generating the target video code stream can be: encoding the sharpening intensity parameters corresponding to the first video data and the image blocks included in the multiple first video frames to obtain the second video code stream; and sending the second video code stream.

[0129] The syntax element of the sharpening intensity parameter may be at the image block level, and when encoding each image block, the sharpening intensity parameter corresponding to the image block is encoded into the bitstream. For each image block, the syntax element of the sharpening intensity parameter of the image block may be located at any position in the syntax element of the image block, and the position may be determined based on the coding protocol agreed upon by the transmitter and the receiver.

[0130] As an example, for any image block, the encoding method of the syntax element of its sharpening intensity parameter can be Golomb coding, arithmetic coding, etc., and the number of encoding bits can be several bits, which is not limited in the embodiments of the present application.

[0131] In this case, the generated target video bitstream includes an encoded bitstream, and the server only needs to send one bitstream.

[0132] It should be noted that after generating the target video code stream, the server can store the target video code stream locally, and then, in response to the user's request, send the target video code stream to the target device corresponding to the user; or after obtaining the target video code stream, the target code stream can be directly sent to the target device. The target device can be the terminal device of the original video code stream provider, the terminal device of the user who plays or uses the target video code stream, the background server of other services, the transit server in the video transcoding system, etc. That is, the embodiment of the present application does not limit the receiving device of the target video code stream, and the server can send it to any device after generating the target video code stream.

[0133] In some embodiments, after receiving the target video code stream, the target device may decode the target video code stream to obtain reconstructed video data including multiple reconstructed video frames and sharpening intensity parameters corresponding to the image blocks included in the multiple reconstructed video frames. Then, the target device processes the image blocks included in each reconstructed video according to the sharpening intensity parameters corresponding to the image blocks included in the multiple reconstructed video frames.

[0134] Based on the above description, there are three processing methods for each image block, namely, noise reduction processing, sharpening processing, and no processing. When the image block is subjected to noise reduction processing or sharpening processing based on the sharpening strength parameter, the processing logic of each image block is similar, and one of the image blocks is used as an example for introduction. For ease of description, the image block is referred to as the second image block.

[0135] In a possible implementation manner, based on the sharpening strength parameter of the second image block, an unsharp mask (USM) algorithm is used to process the second image block.

[0136] The USM algorithm processes the second image block using the following formula (1).

[0137] y(n,m)=x(n,m)+w(x(n,m)-g(n,m)) (1)

[0138] Wherein, x(n, m) is the second image block before processing, y(n, m) is the image block after processing, g(n, m) is the reference image block after smoothing, and w is the sharpening strength parameter. When w is greater than zero, the USM algorithm performs sharpening processing on the second image block through the above formula (1); when w is less than zero, the USM algorithm performs noise reduction processing on the second image block through the above formula (1).

[0139] Take the USM algorithm for sharpening the second image block as an example, see Figure 2 , the sharpening process of the second image block is: apply a Gaussian blur filter to the second image block x(n, m) to obtain a smoothed reference image block g(n, m). Then, based on the reference image block g(n, m), subtract the reference image block g(n, m) from the second image block x(n, m) to extract the high-frequency image z(n, m). Then, multiply each pixel in the high-frequency image z(n, m) by the sharpening strength parameter w to obtain an enhanced high-frequency image. The enhanced high-frequency image is weighted averaged with the image block x(n, m) to obtain the enhanced image y(n, m) after sharpening.

[0140] It should be noted that, in practical applications, other algorithms may be used to perform noise reduction or sharpening processing on image blocks, not limited to the above-mentioned USM algorithm. The embodiment of the present application does not limit the type of algorithm used for noise reduction and sharpening processing.

[0141] In summary, in the embodiment of the present application, when processing the first video data, the server can perform texture analysis and sharpening analysis on each image block based on the image blocks included in the multiple first video frames, so as to determine the sharpening intensity parameters corresponding to the image blocks by analyzing the texture complexity information of the image blocks, thereby sending the target video code stream based on the sharpening intensity parameters corresponding to the first video data and the image blocks included in the multiple first video frames. That is, the embodiment of the present application does not perform sharpening analysis in the dimension of the entire video frame, but performs sharpening analysis in the dimension of the image blocks included in the video frame. Therefore, the sharpening analysis granularity is more detailed, and the determined sharpening intensity parameters of the image blocks are also more targeted. Compared with the video sharpening scheme with global unified sharpening strength, each image block in the video frame is sharpened and analyzed to determine the sharpening strength parameters corresponding to each image block. For different image blocks in the video frame, the determined sharpening strength parameters may also be different. In this way, different image blocks in the video frame are sharpened with different sharpening strength parameters, which can enhance the sharpening degree of the texture-rich areas in the video frame, making the contour information and detail information in the video frame clearer; at the same time, the random noise in the smooth area of ​​the video frame is reduced, saving the bit rate and bandwidth when encoding the video frame.

[0142] See the previous introduction. Figure 1 The video processing method shown can be applied in a variety of video processing scenarios. Next, the video processing method is explained by taking the live transcoding service scenario as an example.

[0143] In order to alleviate the computing pressure on the viewer side and better integrate with the codec module in the transcoding server, the sharpening analysis can be placed in the transcoding server in the cloud to directly use some intermediate results of the encoding pre-analysis to assist in the sharpening analysis, perform high-intensity sharpening on the complex texture areas in the video frame, and choose low-intensity sharpening or no sharpening for the flat areas.

[0144] In some embodiments, see Figure 3 or Figure 4 The provided video transcoding flow chart, the cloud transcoding server may include a decoding module, an encoding module and a sharpening analysis module, wherein the encoding module includes an encoding pre-analysis unit and an encoding unit. The viewer end device includes a user adjustment module, a sharpening information analysis module, a decoding module and a sharpening module.

[0145] Based on this, in the live transcoding service scenario, the video processing flow provided by the embodiment of the present application is: after the transcoding server receives the original video code stream sent by the anchor end, the original video code stream is decoded by the decoding module to obtain the reconstructed first video data, and the first video data includes multiple first video frames. Then, in the process of transcoding the first video data according to the transcoding parameters, the encoding module analyzes the texture complexity information corresponding to the multiple image blocks included in each first video frame through the encoding pre-analysis unit, and inputs the texture complexity information corresponding to the image blocks included in the multiple first video frames into the sharpening analysis module, so that the sharpening analysis module determines the sharpening intensity parameter corresponding to each image block based on the texture complexity information corresponding to the image blocks. Finally, the encoding module encodes the sharpening intensity parameters corresponding to the first video data and the image blocks included in the multiple first video frames to obtain the target video code stream, and sends the target video code stream to the audience end device. After receiving the target video code stream, the viewer end device decodes the target video code stream through the decoding module to obtain reconstructed video data, which includes multiple reconstructed video frames, and obtains the sharpening intensity parameters corresponding to the image blocks included in the multiple reconstructed video frames from the target video code stream through the sharpening information parsing module. Then, the sharpening module processes the image blocks included in the multiple reconstructed video frames respectively according to the sharpening intensity parameters corresponding to the image blocks included in the multiple reconstructed video frames.

[0146] Whether the sharpening analysis module in the transcoding server performs sharpening analysis on the image block to determine the sharpening strength parameter of the image block depends on whether the video sharpening function of the sharpening analysis module is enabled. That is, after the sharpening analysis module receives the video sharpening instruction sent by the user adjustment module in the viewer-end device, the sharpening analysis module is in an enabled state and performs the sharpening analysis on the image block to determine the sharpening strength parameter of the image block; if the video sharpening instruction is not received, the sharpening analysis module is in a disabled state and does not perform the operation of determining the sharpening strength parameter of the image block.

[0147] Optionally, in response to user operations, the audience-end device may also send a user-configured sharpening adjustment coefficient to the sharpening analysis module through the user adjustment module, so that the sharpening analysis module determines the sharpening intensity parameters corresponding to the image blocks included in the multiple first video frames according to the sharpening adjustment coefficient and the texture complexity information corresponding to the image blocks included in the multiple first video frames.

[0148] Furthermore, the transcoding server can send the sharpening intensity parameters corresponding to the image blocks included in the multiple first video frames to the viewer-end device, so that the viewer-end device can perform frame-by-frame sharpening processing and rendering and playback on the received video data according to the sharpening intensity parameters of the image blocks.

[0149] As described above, since there are two implementation methods for generating the target video code stream, the transcoding server also includes the following two methods for sending the target video code stream to the viewer device.

[0150] The first implementation method is Figure 3 As shown, the transcoding server directly encodes and compresses the sharpening intensity parameters corresponding to the image blocks included in the multiple first video frames calculated by the sharpening analysis module to obtain a sharpening information code stream; at the same time, the first video data is encoded according to the transcoding parameters to obtain a transcoded first video code stream, and then the first video code stream and the sharpening information code stream are sent to the viewer-end device.

[0151] Based on this, after receiving the first video code stream and the sharpening information code stream, the viewer end device decodes the first video code stream through the decoding module to obtain reconstructed video data, which includes multiple reconstructed video frames. At the same time, the sharpening information code stream is decoded by the sharpening information parsing module to obtain sharpening intensity parameters corresponding to the image blocks included in the multiple reconstructed video frames; the sharpening module processes the reconstructed image blocks included in the multiple reconstructed video frames according to the sharpening intensity parameters corresponding to the image blocks included in the multiple reconstructed video frames.

[0152] The second implementation method is Figure 4As shown, the transcoding server encodes the sharpening intensity parameters corresponding to the image blocks included in the multiple first video frames calculated by the sharpening analysis module and the first video data together to obtain a second video code stream, and then sends the second video code stream to the viewer terminal device.

[0153] Based on this, after receiving the second video code stream, the viewer end device decodes the second video code stream through the decoding module to obtain reconstructed video data and sharpening coding information, and sends the sharpening coding information to the sharpening information parsing module, which determines the sharpening intensity parameters corresponding to the image blocks included in the multiple reconstructed video frames. Then, the sharpening module processes the reconstructed image blocks included in the multiple reconstructed video frames according to the sharpening intensity parameters corresponding to the image blocks included in the multiple reconstructed video frames.

[0154] In some embodiments, the transcoding server further includes a sharpening unit. In this case, the viewer end device may include a sharpening module or may not include a sharpening module, and the present application embodiment does not limit this. In some embodiments, the sharpening unit may be located in the encoding module of the transcoding server or may not be located in the encoding module.

[0155] like Figure 5 As shown, in the encoding module, based on the sharpening strength parameters corresponding to each image block, the sharpening unit can process the image blocks included in multiple first video frames separately based on the sharpening strength parameters corresponding to each image block to obtain processed video data, and encode the processed video data through the encoding unit to obtain a third video stream, and then send the third video stream to the viewer-end device.

[0156] That is, the transcoding server decodes, sharpens and transcodes the original video code stream, and the target video code stream sent to the viewer end device may include the third video code stream. After receiving the third video code stream, the viewer end device can directly render and play after decoding, without sharpening the reconstructed video data.

[0157] It should be noted that when the above transcoding server executes the video processing method provided in the embodiment of the present application, only the above functional modules are used as examples. In actual applications, more or fewer modules may be included, and the embodiment of the present application does not limit this. Similarly, the above viewer-end device is also only used as an example for illustration. In actual applications, the viewer-end device may also include more or fewer modules, and the embodiment of the present application does not limit this. In other embodiments provided in the present application, the terminal device can include Figure 5 The modules in the transcoding server are based on Figure 6 The method performs the video sharpening process.

[0158] Please refer to Figure 6 , Figure 6 1 is a flowchart of another video processing method provided in an embodiment of the present application, which can be applied to any computing device, which can be a server or a terminal device. The method includes the following steps.

[0159] Step 601: Acquire first video data, where the first video data is obtained by decoding an original video code stream corresponding to the first video data. The first video data includes a plurality of first video frames, and each first video frame includes a plurality of image blocks.

[0160] Similar to the above step 101, the embodiment of the present application does not limit the source of the original video code stream. After decoding the original video code stream to obtain the first video data, each first video frame is divided into a plurality of non-overlapping image blocks, and the following steps 602 to 604 are performed on each image block.

[0161] Step 602: Determine texture complexity information corresponding to a plurality of image blocks included in the first video frame.

[0162] The texture complexity information includes variance and / or quantization parameter. The implementation logic of step 602 is similar to that of step 102. The implementation process and related explanations thereof can refer to step 102, which will not be described again.

[0163] Step 603: Based on the texture complexity information respectively corresponding to the multiple image blocks, determine the sharpening strength parameters respectively corresponding to the multiple image blocks, and the sharpening strength parameters of at least two image blocks among the image blocks included in the multiple first video frames are different.

[0164] For any image block among the multiple image blocks, when the sharpening strength parameter of the image block is greater than zero, it is indicated to perform sharpening processing on the image block according to the sharpening strength parameter; when the sharpening strength parameter of the image block is less than zero, it is indicated to perform noise reduction processing on the image block according to the sharpening strength parameter; when the sharpening strength parameter of the image block is equal to zero, there is no need to process the image block.

[0165] In some embodiments, different users have different requirements for video sharpening intensity. Therefore, users can set the sharpening adjustment coefficient based on their own subjective needs, so that the computing device can determine the sharpening intensity parameters of the image block in combination with the sharpening adjustment coefficient configured by the user.

[0166] That is, before executing the above step 603, the computing device may also receive a sharpening adjustment coefficient configured by the user, thereby determining the sharpening intensity parameters corresponding to the multiple image blocks respectively based on the sharpening adjustment coefficient and the texture complexity information corresponding to the multiple image blocks respectively.

[0167] It should be noted that the implementation logic of step 603 is similar to that of the above step 103. Its implementation process and related explanations can refer to the above step 103 and will not be repeated here.

[0168] Step 604: Based on the sharpening intensity parameters respectively corresponding to the image blocks included in the multiple first video frames, the multiple first video frames are processed to obtain second video data.

[0169] That is, after determining the sharpening strength parameter of each image block, the image blocks included in the multiple first video frames can be processed according to the sharpening strength parameter corresponding to each image block to obtain the second video data.

[0170] It should be noted that the implementation logic of step 604 is similar to the process of the target device processing the reconstructed video data in the previous embodiment. Its implementation process and related explanations can be referred to the previous explanations and will not be repeated here.

[0171] In summary, in an embodiment of the present application, when processing the first video data, the computing device can perform texture analysis and sharpening analysis on each image block based on the image blocks included in the multiple first video frames, so as to determine the sharpening intensity parameters corresponding to each image block by analyzing the texture complexity information of the image block, thereby processing the image blocks of each first video frame based on the sharpening intensity parameters respectively corresponding to the image blocks included in the multiple first video frames. That is, the embodiment of the present application does not perform sharpening processing in the dimension of the entire video frame, but performs sharpening processing in the dimension of the image blocks included in the video frame. Therefore, the sharpening processing granularity is finer, and the determined sharpening intensity parameters of the image blocks are also more targeted. Compared with the video sharpening scheme with global unified sharpening strength, the video frame is divided into image blocks for sharpening analysis to determine the sharpening strength parameters corresponding to the image blocks. For different image blocks in the video frame, the determined sharpening strength parameters may also be different. In this way, different image blocks in the video frame are sharpened with different sharpening strength parameters. This can enhance the sharpening degree of the texture-rich areas in the video frame, making the contour information and detail information in the video frame clearer; at the same time, it reduces the random noise in the smooth areas of the video frame, saving the bit rate and bandwidth when encoding the video frame.

[0172] See also Figure 7 , Figure 7 is a schematic diagram of the structure of a video processing device provided in an embodiment of the present application. The video processing device can be implemented as part or all of a server by software, hardware, or a combination of both to execute Figure 1 See the video processing method shown in Figure 7 The video processing device 700 includes: a video acquisition module 701, a texture analysis module 702, a sharpening analysis module 703 and a video sending module 704.

[0173] The video acquisition module 701 is used to acquire first video data, where the first video data is obtained by decoding an original video code stream corresponding to the first video data, and the first video data includes a plurality of first video frames;

[0174] The texture analysis module 702 is used to determine the texture complexity information corresponding to the multiple image blocks included in the first video frame;

[0175] A sharpening analysis module 703, configured to determine sharpening strength parameters corresponding to the plurality of image blocks respectively based on texture complexity information corresponding to the plurality of image blocks respectively, wherein the sharpening strength parameters of at least two image blocks among the image blocks included in the plurality of first video frames are different;

[0176] The video sending module 704 is used to send a target video code stream based on the first video data and the sharpening strength parameters respectively corresponding to the image blocks included in the multiple first video frames, where the target video code stream is an encoded code stream.

[0177] Optionally, the target video bitstream includes a sharpening information bitstream and a first video bitstream;

[0178] The video sending module 704 includes:

[0179] A first encoding unit, used for encoding the first video data to obtain a first video code stream;

[0180] A second encoding unit, used for encoding sharpening intensity parameters respectively corresponding to the image blocks included in the plurality of first video frames into a sharpening information bit stream;

[0181] The sending unit is used to send the sharpening information code stream and the first video code stream.

[0182] Optionally, the target video code stream includes a second video code stream;

[0183] The video sending module 704 includes:

[0184] A third encoding unit, configured to encode the first video data and the sharpening intensity parameters respectively corresponding to the image blocks included in the plurality of first video frames, to obtain a second video code stream;

[0185] The sending unit is used to send the second video code stream.

[0186] Optionally, the video processing device 700 further includes:

[0187] A configuration module, used for receiving a sharpening adjustment coefficient configured by a user;

[0188] The sharpening analysis module is also used to:

[0189] Based on the sharpening adjustment coefficient and the texture complexity information respectively corresponding to the multiple image blocks, the sharpening intensity parameters respectively corresponding to the multiple image blocks are determined.

[0190] Optionally, the texture complexity information includes variance;

[0191] The sharpening analysis module is also used to:

[0192] If the variance of the first image block is less than the first variance threshold, it is determined that the first image block does not need to be sharpened, and the first image block is any one of the multiple image blocks;

[0193] If the variance of the first image block is greater than the first variance threshold, it is determined that the first image block needs to be sharpened, and a sharpening intensity parameter of the first image block is determined based on the variance of the first image block.

[0194] Optionally, the video processing device 700 further includes:

[0195] The noise reduction analysis module is used to determine that the sharpening intensity parameter of the first image block is less than zero if the variance of the first image block is less than a second variance threshold, wherein the second variance threshold is less than the first variance threshold, and the sharpening intensity parameter is less than zero, indicating that noise reduction processing is performed on the first image block.

[0196] Optionally, the texture complexity information includes a quantization parameter;

[0197] The sharpening analysis module is also used to:

[0198] If the quantization parameter of the first image block is greater than the first quantization threshold, it is determined that the first image block does not need to be sharpened, and the first image block is any one of the multiple image blocks;

[0199] If the quantization parameter of the first image block is less than the first quantization threshold, it is determined that the first image block needs to be sharpened, and a sharpening intensity parameter of the first image block is determined based on the quantization parameter of the first image block.

[0200] Optionally, the video processing device 700 further includes:

[0201] The noise reduction analysis module is used to determine that the sharpening intensity parameter of the first image block is less than zero if the quantization parameter of the first image block is greater than the second quantization threshold, wherein the second quantization threshold is greater than the first quantization threshold and the sharpening intensity parameter is less than zero, indicating that noise reduction processing is performed on the first image block.

[0202] Optionally, the video processing device 700 further includes:

[0203] A receiving module, used for receiving a video sharpening instruction, where the video sharpening instruction is used for indicating that a video sharpening function is enabled;

[0204] The sharpening analysis module is also used to respond to the video sharpening instruction and execute the step of determining the sharpening intensity parameters corresponding to the multiple image blocks respectively based on the texture complexity information corresponding to the multiple image blocks respectively.

[0205] In an embodiment of the present application, when processing the first video data, the video processing device can perform texture analysis and sharpening analysis on each image block based on the image blocks included in the multiple first video frames, so as to determine the sharpening intensity parameters corresponding to the image blocks by analyzing the texture complexity information of the image blocks, thereby sending the target video code stream based on the first video data and the sharpening intensity parameters corresponding to the image blocks included in the multiple first video frames. That is, the embodiment of the present application does not perform sharpening analysis in the dimension of the entire video frame, but performs sharpening analysis in the dimension of the image blocks included in the video frame. Therefore, the sharpening analysis granularity is more detailed, and the determined sharpening intensity parameters of the image blocks are also more targeted. Compared with the video sharpening scheme with global unified sharpening strength, each image block in the video frame is sharpened and analyzed to determine the sharpening strength parameters corresponding to each image block. For different image blocks in the video frame, the determined sharpening strength parameters may also be different. In this way, different image blocks in the video frame are sharpened with different sharpening strength parameters, which can enhance the sharpening degree of the texture-rich areas in the video frame, making the contour information and detail information in the video frame clearer; at the same time, the random noise in the smooth area of ​​the video frame is reduced, saving the bit rate and bandwidth when encoding the video frame.

[0206] It should be noted that: when the video processing device provided in the above embodiment processes the first video data, only the division of the above functional modules is used as an example. In actual applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above. Figure 1 The video processing method embodiments shown belong to the same concept, and their specific implementation processes are detailed in the method embodiments, which will not be repeated here.

[0207] See also Figure 8 , Figure 8 is a schematic diagram of a video processing device provided in an embodiment of the present application. The video processing device can be implemented by software, hardware, or a combination of both to form part or all of a computing device to perform Figure 5 See the video processing method shown in Figure 8 The video processing device 800 includes: a video acquisition module 801, a texture analysis module 802, a sharpening analysis module 803 and a video processing module 804.

[0208] The video acquisition module 801 is used to acquire first video data, where the first video data is obtained by decoding an original video code stream corresponding to the first video data, and the first video data includes a plurality of first video frames;

[0209] The texture analysis module 802 is used to determine the texture complexity information corresponding to the multiple image blocks included in the first video frame;

[0210] A sharpening analysis module 803, configured to determine sharpening strength parameters corresponding to the plurality of image blocks respectively based on texture complexity information corresponding to the plurality of image blocks respectively, wherein the sharpening strength parameters of at least two image blocks among the image blocks included in the plurality of first video frames are different;

[0211] The video processing module 804 is used to process the multiple first video frames based on the sharpening intensity parameters respectively corresponding to the image blocks included in the multiple first video frames to obtain second video data.

[0212] Optionally, the video processing device 800 further includes:

[0213] A configuration module, used to obtain a sharpening adjustment coefficient configured by a user;

[0214] The sharpening analysis module is also used to:

[0215] Based on the sharpening adjustment coefficient and the texture complexity information respectively corresponding to the multiple image blocks, the sharpening intensity parameters respectively corresponding to the multiple image blocks are determined.

[0216] Optionally, the texture complexity information includes variance and / or quantization parameter.

[0217] In an embodiment of the present application, when processing the first video data, the video processing device can perform texture analysis and sharpening analysis on each image block based on the image blocks included in the multiple first video frames, so as to determine the sharpening intensity parameters corresponding to each image block by analyzing the texture complexity information of the image block, thereby processing the image blocks of each first video frame based on the sharpening intensity parameters respectively corresponding to the image blocks included in the multiple first video frames. That is, the embodiment of the present application does not perform sharpening processing in the dimension of the entire video frame, but performs sharpening processing in the dimension of the image blocks included in the video frame. Therefore, the sharpening processing granularity is finer, and the determined sharpening intensity parameters of the image blocks are also more targeted. Compared with the video sharpening scheme with global unified sharpening strength, the video frame is divided into image blocks for sharpening analysis to determine the sharpening strength parameters corresponding to the image blocks. For different image blocks in the video frame, the determined sharpening strength parameters may also be different. In this way, different image blocks in the video frame are sharpened with different sharpening strength parameters. This can enhance the sharpening degree of the texture-rich areas in the video frame, making the contour information and detail information in the video frame clearer; at the same time, it reduces the random noise in the smooth areas of the video frame, saving the bit rate and bandwidth when encoding the video frame.

[0218] It should be noted that: when the video processing device provided in the above embodiment processes the first video data, only the division of the above functional modules is used as an example. In actual applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above. Figure 6 The video processing method embodiments shown belong to the same concept, and their specific implementation processes are detailed in the method embodiments, which will not be repeated here.

[0219] See also Fig. 9 , Fig. 9 900 is a schematic diagram of a computing device provided in an embodiment of the present application, wherein the computing device 900 includes: a bus 902, a processor 904, a memory 906, and a communication interface 908. The processor 904, the memory 906, and the communication interface 908 communicate with each other via the bus 902. The computing device 900 may be a server or a terminal device. The embodiment of the present application does not limit the number of processors and memories in the computing device 900.

[0220] The bus 902 may be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus. The bus may be divided into an address bus, a data bus, a control bus, etc. For ease of representation, Fig. 9 The bus 902 may include a path for transmitting information between various components of the computing device 900 (eg, the memory 906, the processor 904, and the communication interface 908).

[0221] The processor 904 may include any one or more of a central processing unit (CPU), a graphics processing unit (GPU), a microprocessor (MP), or a digital signal processor (DSP).

[0222] The memory 906 may include a volatile memory, such as a random access memory (RAM). The processor 904 may also include a non-volatile memory, such as a read-only memory (ROM), a flash memory, a hard disk drive (HDD), or a solid state drive (SSD).

[0223] In the embodiment of the present application, the memory 906 stores executable program codes, and the processor 904 executes the executable program codes to respectively implement the functions of the aforementioned video acquisition module 701, texture analysis module 702, sharpening analysis module 703 and video sending module 704, thereby implementing Figure 1 That is, the memory 906 stores the video processing method for executing the above Figure 1 Instructions for the video processing method shown.

[0224] It should be noted that Fig. 9 Only the above mentioned Figure 1 The program code of the video processing method shown in FIG. 1 is used as an example for explanation. Of course, the memory 906 can also store Figure 6The instructions of the video processing method shown enable the processor 904 to execute the executable program code to respectively implement the functions of the aforementioned video acquisition module 801, texture analysis module 802, sharpening analysis module 803 and video processing module 804.

[0225] The communication interface 908 uses a transceiver module such as, but not limited to, a network interface card or a transceiver to implement communication between the computing device 900 and other devices or communication networks.

[0226] The embodiment of the present application also provides a computing device cluster. The computing device cluster includes at least one computing device. The computing device can be a server, for example, a central server, an edge server, or a local server in a local data center. In some embodiments, the computing device can also be a terminal device such as a desktop computer, a laptop computer, or a smart phone.

[0227] like Fig.10 As shown, the computing device cluster includes at least one computing device 900. The memory 906 in one or more computing devices 90 in the computing device cluster may store the same Figure 1 Instructions for the video processing method shown.

[0228] In some possible implementations, the memory 906 of one or more computing devices 900 in the computing device cluster may also store partial instructions for executing the video processing method. In other words, the combination of one or more computing devices 900 may jointly execute instructions for executing the video processing method. Figure 1 Instructions for the video processing method shown.

[0229] It should be noted that the memory 906 in different computing devices 900 in the computing device cluster can store different instructions, which are respectively used to execute part of the functions of the video processing device. That is, the instructions stored in the memory 906 in different computing devices 900 can implement the functions of one or more modules among the video acquisition module 701, the texture analysis module 702, the sharpening analysis module 703 and the video sending module 704.

[0230] It should be noted that Fig.10 Only the above mentioned Figure 1 The video processing method shown in the figure is used as an example for explanation. Of course, the memory 906 can also store Figure 6 The instructions of the video processing method shown enable the processor 904 to execute the executable program code to respectively implement the functions of the aforementioned video acquisition module 801, texture analysis module 802, sharpening analysis module 803 and video processing module 804.

[0231] In some possible implementations, one or more computing devices in the computing device cluster may be connected via a network, which may be a wide area network or a local area network, etc. Fig.11 A possible implementation is shown, such as Fig.11 As shown, two computing devices 900A and 900B are connected via a network. Specifically, they are connected to the network via a communication interface in each computing device.

[0232] Using computing device clusters to achieve the above Figure 1 As an example, in the video processing method shown in Fig.11 In the illustrated implementation, the memory 906 in the computing device 900A stores instructions for executing the functions of the video acquisition module 701 and the video transmission module 704. Meanwhile, the memory 906 in the computing device 900B stores instructions for executing the functions of the texture analysis module 702 and the sharpening analysis module 703.

[0233] Fig.11 The connection method between the computing device clusters shown can be based on the fact that the video processing method provided in the present application may need to texture a large amount of original videos and determine the sharpening intensity parameters of the image blocks included in the video frames to process the videos or guide other devices to process the videos. Therefore, it is considered that the functions implemented by the texture analysis module 702 and the sharpening analysis module 703 are handed over to the computing device 900B to execute, so as to reduce the computational complexity of the computing device 900A.

[0234] It should be understood that Fig.11 The functions of the computing device 900A shown in FIG. 9A may also be completed by multiple computing devices 900. Similarly, the functions of the computing device 900B may also be completed by multiple computing devices 900.

[0235] The present application embodiment also provides another computing device cluster. The connection relationship between the computing devices in the computing device cluster can be similar to that of Fig.10 and Fig.11 Connection mode of computing device cluster. The difference is that the memory 906 in one or more computing devices 900 in the computing device cluster may store the same instructions for executing the video processing method.

[0236] In some possible implementations, the memory 906 of one or more computing devices 900 in the computing device cluster may also store partial instructions for executing the video processing method. In other words, the combination of one or more computing devices 900 may jointly execute instructions for executing the video processing method.

[0237] The present application also provides a computer program product including instructions. The computer program product may be a software or program product including instructions that can be run on a computing device or stored in any available medium. When the computer program product is run on at least one computing device, the at least one computing device executes the above Figure 1 or Figure 6 The video processing method shown.

[0238] The present application also provides a computer-readable storage medium. The computer-readable storage medium can be any available medium that can be stored by a computing device or a data storage device such as a data center that contains one or more available media. The available medium can be a magnetic medium (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid-state hard disk). The computer-readable storage medium includes instructions that instruct the computing device to execute the above Figure 1 or Figure 6 The video processing method shown.

[0239] It should be understood that the "multiple" mentioned herein refers to two or more. In the description of the embodiments of the present application, unless otherwise specified, " / " means or, for example, A / B can mean A or B; "and / or" in this article is only a description of the association relationship of the associated objects, indicating that there can be three relationships, for example, A and / or B can mean: A exists alone, A and B exist at the same time, and B exists alone. In addition, in order to facilitate the clear description of the technical solution of the embodiments of the present application, in the embodiments of the present application, the words "first", "second" and the like are used to distinguish between the same items or similar items with basically the same functions and effects. Those skilled in the art can understand that the words "first", "second" and the like do not limit the quantity and execution order, and the words "first", "second" and the like do not limit them to be necessarily different.

[0240] It should be noted that the information (including but not limited to user device information, user personal information, etc.), data (including but not limited to data used for analysis, stored data, displayed data, etc.) and signals involved in the embodiments of the present application are all authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data need to comply with relevant laws, regulations and standards of relevant countries and regions.

[0241] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit it. Although the present application has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some of the technical features therein. However, these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the protection scope of the technical solutions of the embodiments of the present application.

Claims

1. A video processing method, characterized in that: Applied to a server, the method comprises: Acquire first video data, where the first video data is obtained by decoding an original video code stream corresponding to the first video data, and the first video data includes a plurality of first video frames; Determining texture complexity information corresponding to a plurality of image blocks included in the first video frame; Determine, based on texture complexity information respectively corresponding to the plurality of image blocks, sharpening intensity parameters respectively corresponding to the plurality of image blocks, wherein at least two image blocks among the image blocks included in the plurality of first video frames have different sharpening intensity parameters; Based on the sharpening strength parameters respectively corresponding to the image blocks included in the first video data and the multiple first video frames, a target video code stream is sent, and the target video code stream is an encoded code stream.

2. The method according to claim 1, characterized in that The target video code stream includes a sharpening information code stream and a first video code stream; The sending of the target video code stream based on the sharpening strength parameters respectively corresponding to the image blocks included in the first video data and the plurality of first video frames comprises: Encoding the first video data to obtain the first video code stream; Encoding the sharpening intensity parameters respectively corresponding to the image blocks included in the plurality of first video frames into the sharpening information bitstream; The sharpening information code stream and the first video code stream are sent.

3. The method according to claim 1, characterized in that The target video code stream includes a second video code stream; The sending of the target video code stream based on the sharpening strength parameters respectively corresponding to the image blocks included in the first video data and the plurality of first video frames comprises: Encoding the first video data and the sharpening intensity parameters respectively corresponding to the image blocks included in the plurality of first video frames to obtain the second video bitstream; Send the second video code stream.

4. The method according to any one of claims 1 to 3, characterized in that: The method further comprises: receiving a sharpening adjustment factor configured by a user; The determining, based on the texture complexity information respectively corresponding to the plurality of image blocks, the sharpening intensity parameters respectively corresponding to the plurality of image blocks comprises: Based on the sharpening adjustment coefficient and the texture complexity information respectively corresponding to the multiple image blocks, the sharpening intensity parameters respectively corresponding to the multiple image blocks are determined.

5. The method according to any one of claims 1 to 4, characterized in that: The texture complexity information includes variance; The determining, based on the texture complexity information respectively corresponding to the plurality of image blocks, the sharpening intensity parameters respectively corresponding to the plurality of image blocks comprises: If the variance of the first image block is less than the first variance threshold, it is determined that the first image block does not need to be sharpened, and the first image block is any one of the multiple image blocks; If the variance of the first image block is greater than the first variance threshold, it is determined that the first image block needs to be sharpened, and a sharpening intensity parameter of the first image block is determined based on the variance of the first image block.

6. The method according to claim 5, characterized in that The method further comprises: If the variance of the first image block is less than a second variance threshold, it is determined that the sharpening intensity parameter of the first image block is less than zero, wherein the second variance threshold is less than the first variance threshold, and the sharpening intensity parameter is less than zero, indicating that noise reduction processing is performed on the first image block.

7. The method according to any one of claims 1 to 6, characterized in that: The texture complexity information includes a quantization parameter; The determining, based on the texture complexity information respectively corresponding to the plurality of image blocks, the sharpening intensity parameters respectively corresponding to the plurality of image blocks comprises: If the quantization parameter of the first image block is greater than the first quantization threshold, it is determined that the first image block does not need to be sharpened, and the first image block is any one of the multiple image blocks; If the quantization parameter of the first image block is less than the first quantization threshold, it is determined that the first image block needs to be sharpened, and a sharpening intensity parameter of the first image block is determined based on the quantization parameter of the first image block.

8. The method according to claim 7, characterized in that The method further comprises: If the quantization parameter of the first image block is greater than the second quantization threshold, it is determined that the sharpening intensity parameter of the first image block is less than zero, wherein the second quantization threshold is greater than the first quantization threshold, and the sharpening intensity parameter is less than zero, indicating that noise reduction processing is performed on the first image block.

9. The method according to any one of claims 1 to 8, characterized in that The method further comprises: receiving a video sharpening instruction, wherein the video sharpening instruction is used to indicate that a video sharpening function is enabled; In response to the video sharpening instruction, a step of determining sharpening intensity parameters corresponding to the multiple image blocks respectively based on texture complexity information corresponding to the multiple image blocks respectively is executed.

10. A video processing method, characterized in that: The method comprises: Acquire first video data, where the first video data is obtained by decoding an original video code stream corresponding to the first video data, and the first video data includes a plurality of first video frames; Determining texture complexity information corresponding to a plurality of image blocks included in the first video frame; Determine, based on texture complexity information respectively corresponding to the plurality of image blocks, sharpening intensity parameters respectively corresponding to the plurality of image blocks, wherein the sharpening intensity parameters of at least two image blocks among the image blocks included in the plurality of first video frames are different; Based on the sharpening intensity parameters respectively corresponding to the image blocks included in the multiple first video frames, the multiple first video frames are processed to obtain second video data.

11. The method according to claim 10, characterized in that The method further comprises: Get the sharpening adjustment coefficient configured by the user; The determining, based on the texture complexity information respectively corresponding to the plurality of image blocks, the sharpening intensity parameters respectively corresponding to the plurality of image blocks comprises: Based on the sharpening adjustment coefficient and the texture complexity information respectively corresponding to the multiple image blocks, the sharpening intensity parameters respectively corresponding to the multiple image blocks are determined.

12. The method according to claim 10 or 11, characterized in that The texture complexity information includes variance and / or quantization parameter.

13. A video processing device, characterized in that: Applied to a server, the device comprises: A video acquisition module, used to acquire first video data, where the first video data is obtained by decoding an original video code stream corresponding to the first video data, and the first video data includes a plurality of first video frames; A texture analysis module, used to determine texture complexity information corresponding to each of the plurality of image blocks included in the first video frame; a sharpening analysis module, configured to determine sharpening strength parameters corresponding to the plurality of image blocks respectively based on texture complexity information corresponding to the plurality of image blocks respectively, wherein the sharpening strength parameters of at least two image blocks among the image blocks included in the plurality of first video frames are different; The video sending module is used to send a target video code stream based on the sharpening strength parameters respectively corresponding to the image blocks included in the first video data and the multiple first video frames, and the target video code stream is an encoded code stream.

14. The device according to claim 13, characterized in that The target video code stream includes a sharpening information code stream and a first video code stream; The video sending module comprises: A first encoding unit, configured to encode the first video data to obtain the first video code stream; A second encoding unit, configured to encode sharpening intensity parameters respectively corresponding to the image blocks included in the plurality of first video frames into the sharpening information bitstream; A sending unit is used to send the sharpening information code stream and the first video code stream.

15. The device according to claim 13, characterized in that The target video code stream includes a second video code stream; The video sending module comprises: A third encoding unit, configured to encode the first video data and the sharpening intensity parameters respectively corresponding to the image blocks included in the plurality of first video frames, to obtain the second video code stream; A sending unit is used to send the second video code stream.

16. The device according to any one of claims 13 to 15, characterized in that: The device also includes: A configuration module, used for receiving a sharpening adjustment coefficient configured by a user; The sharpening analysis module is further used for: Based on the sharpening adjustment coefficient and the texture complexity information respectively corresponding to the multiple image blocks, the sharpening intensity parameters respectively corresponding to the multiple image blocks are determined.

17. The device according to any one of claims 13 to 16, characterized in that: The texture complexity information includes variance; The sharpening analysis module is further used for: If the variance of the first image block is less than the first variance threshold, it is determined that the first image block does not need to be sharpened, and the first image block is any one of the multiple image blocks; If the variance of the first image block is greater than the first variance threshold, it is determined that the first image block needs to be sharpened, and a sharpening intensity parameter of the first image block is determined based on the variance of the first image block.

18. The device according to claim 17, characterized in that The device also includes: A noise reduction analysis module is used to determine that a sharpening intensity parameter of the first image block is less than zero if the variance of the first image block is less than a second variance threshold, wherein the second variance threshold is less than the first variance threshold, and the sharpening intensity parameter is less than zero, indicating that noise reduction processing is performed on the first image block.

19. The device according to any one of claims 13 to 18, characterized in that: The texture complexity information includes a quantization parameter; The sharpening analysis module is further used for: If the quantization parameter of the first image block is greater than the first quantization threshold, it is determined that the first image block does not need to be sharpened, and the first image block is any one of the multiple image blocks; If the quantization parameter of the first image block is less than the first quantization threshold, it is determined that the first image block needs to be sharpened, and a sharpening intensity parameter of the first image block is determined based on the quantization parameter of the first image block.

20. The device according to claim 19, characterized in that The device also includes: A noise reduction analysis module is used to determine that a sharpening intensity parameter of the first image block is less than zero if the quantization parameter of the first image block is greater than a second quantization threshold, wherein the second quantization threshold is greater than the first quantization threshold, and the sharpening intensity parameter is less than zero, indicating that noise reduction processing is performed on the first image block.

21. The device according to any one of claims 13 to 20, characterized in that The device also includes: A receiving module, used for receiving a video sharpening instruction, wherein the video sharpening instruction is used for indicating that a video sharpening function is enabled; The sharpening analysis module is also used to respond to the video sharpening instruction and execute the step of determining the sharpening intensity parameters corresponding to the multiple image blocks respectively based on the texture complexity information corresponding to the multiple image blocks respectively.

22. A video processing device, characterized in that: The device comprises: A video acquisition module, used to acquire first video data, where the first video data is obtained by decoding an original video code stream corresponding to the first video data, and the first video data includes a plurality of first video frames; A texture analysis module, used to determine texture complexity information corresponding to each of the plurality of image blocks included in the first video frame; a sharpening analysis module, configured to determine sharpening strength parameters corresponding to the plurality of image blocks respectively based on texture complexity information corresponding to the plurality of image blocks respectively, wherein the sharpening strength parameters of at least two image blocks among the image blocks included in the plurality of first video frames are different; The video processing module is used to process the multiple first video frames based on the sharpening intensity parameters respectively corresponding to the image blocks included in the multiple first video frames to obtain second video data.

23. The device according to claim 22, characterized in that The device also includes: A configuration module, used to obtain a sharpening adjustment coefficient configured by a user; The sharpening analysis module is further used for: Based on the sharpening adjustment coefficient and the texture complexity information respectively corresponding to the multiple image blocks, the sharpening intensity parameters respectively corresponding to the multiple image blocks are determined.

24. The device according to claim 22 or 23, characterized in that The texture complexity information includes variance and / or quantization parameter.

25. A computing device cluster, characterized in that: comprising at least one computing device, each computing device comprising a processor and a memory; The processor of the at least one computing device is used to execute instructions stored in the memory of the at least one computing device, so that the computing device cluster executes the video processing method as described in any one of claims 1-9, or executes the video processing method as described in any one of claims 10-12.

26. A computer program product comprising instructions, characterized in that When the instruction is executed by a computing device cluster, the computing device cluster executes the video processing method according to any one of claims 1 to 9, or executes the video processing method according to any one of claims 10 to 12.

27. A computer-readable storage medium, characterized in that: The method comprises computer program instructions. When the computer program instructions are executed by a computing device cluster, the computing device cluster executes the video processing method according to any one of claims 1 to 9, or executes the video processing method according to any one of claims 10 to 12.