An image denoising method, device, chip and module equipment

By acquiring the pixel values ​​of the image and the previous frame, noise estimation information, scene information, and complexity information are determined. Denoising is then performed by combining the position of detail pixels, which solves the problem of poor image denoising effect in existing technologies and achieves more efficient image denoising effect and improved image quality.

CN115829871BActive Publication Date: 2026-04-17UNISOC CHONGQING TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
UNISOC CHONGQING TECH CO LTD
Filing Date
2022-12-07
Publication Date
2026-04-17

AI Technical Summary

Technical Problem

Existing technologies have poor denoising effects in the image denoising process, resulting in image distortion and blurring, making it difficult to effectively improve the accuracy and effectiveness of image denoising.

Method used

By acquiring the pixel values ​​of the image and the previous frame, noise estimation information, scene information, and complexity information are determined. This information is used to adjust the noise estimation, and noise reduction is performed by combining the position of detail pixels. Low-pass filtering and threshold judgment techniques are used to improve the accuracy of noise detection and the ability to preserve image details.

Benefits of technology

It improves the effectiveness and accuracy of image denoising, reduces ghosting and blurring after denoising, and enhances the quality of the image.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115829871B_ABST
    Figure CN115829871B_ABST
Patent Text Reader

Abstract

The application discloses an image denoising method and device, a chip and a module equipment. The method comprises the following steps: obtaining a first pixel value of a first image and a second pixel value of a second image, the second image being a previous frame image of the first image; determining first noise point estimation information, scene information and complexity information based on the first pixel value and the second pixel value; determining the position of a detail pixel point based on the first pixel value; adjusting the first noise point estimation information based on the scene information, the complexity information and the position of the detail pixel point to obtain second noise point estimation information; and performing denoising processing on the first pixel value based on the second noise point estimation information and the second pixel value to obtain a third pixel value of the first image. The method described in the application is beneficial to improving the effectiveness and accuracy of image denoising and improving the quality of an image.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of computers, and more particularly to an image denoising method, apparatus, chip, and module device. Background Technology

[0002] Currently, image images are often subject to interference from photographic equipment and the external environment during digitization and transmission, resulting in various noise interferences or contamination. Although existing technologies (such as mean filtering algorithms and transform domain filtering algorithms) can effectively remove this noise, it comes at a cost, such as image blurring and ghosting during the denoising process, leading to image distortion. Therefore, improving the effectiveness and accuracy of image denoising and enhancing image quality remains a problem to be solved. Summary of the Invention

[0003] This application provides an image denoising method, apparatus, chip, and module device, which can improve the effectiveness and accuracy of image denoising and enhance the quality of image images.

[0004] In a first aspect, this application provides an image denoising method, the method comprising: acquiring a first pixel value of a first image and a second pixel value of a second image, wherein the second image is a previous frame of the first image; determining first noise estimation information, scene information, and complexity information based on the first pixel value and the second pixel value; determining the position of detail pixels based on the first pixel value; adjusting the first noise estimation information based on the scene information, the complexity information, and the position of the detail pixels to obtain second noise estimation information; and performing denoising processing on the first pixel value based on the second noise estimation information and the second pixel value to obtain a third pixel value of the first image.

[0005] Based on the method described in the first aspect, noise estimation information is adjusted by utilizing scene information, complexity information, and the position of detail pixels, thereby flexibly denoising the image. While improving the effectiveness and accuracy of image denoising, the original details in the image are preserved, and phenomena such as ghosting and blurring after noise removal are minimized, thus improving the quality of the image.

[0006] In one possible implementation, determining first noise estimation information, scene information, and complexity information based on the first pixel value and the second pixel value includes: calculating a first difference between the first pixel value and the second pixel value; and determining the first noise estimation information, scene information, and complexity information based on the first difference and the first pixel value. This approach utilizes the differences between the first image and the second image for detection and analysis, which helps improve the accuracy of noise estimation, scene prediction, and complexity analysis.

[0007] In one possible implementation, determining the first noise estimation information based on the first difference and the first pixel value includes: calculating a first variance of the first difference and a second variance of the first pixel value; determining the minimum variance from the first variance and the second variance; and performing low-pass filtering on the minimum variance to obtain the first noise estimation information. This approach avoids misjudgment of noise caused by the image's own energy, thus improving the accuracy of noise estimation.

[0008] In one possible implementation, determining scene information based on the first difference and the first pixel value includes: determining N absolute difference sums based on the pixel values ​​of N consecutive first pixel value matrices from multiple first pixel values ​​of the first image, where N is a positive integer; determining the maximum absolute difference sum from the N absolute difference sums; and determining the scene information as a static scene if the maximum absolute difference sum is less than a first threshold. This method can effectively determine static scene information and improve the accuracy of static scene detection.

[0009] In one possible implementation, the method further includes: acquiring brightness information and noise level information of the first image; determining a second threshold based on the brightness information; determining a third threshold based on the noise level information; determining a fourth threshold based on the first noise estimation information; calculating the sum of the second threshold, the third threshold, and the fourth threshold; and determining the scene information as a dynamic scene if the sum of the maximum absolute differences is greater than the sum of the values. Based on this approach, using three thresholds can increase the accuracy of dynamic scene detection.

[0010] In one possible implementation, determining complexity information based on the first difference and the first pixel value includes: calculating a third difference of the second pixel value; determining the maximum variance from the first variance, the second variance, and the third difference; calculating a second difference between the maximum variance and the minimum variance; and determining complexity information based on the second difference and the brightness information of the first image. This method effectively determines complexity information, improving the flexibility and effectiveness of image denoising.

[0011] In one possible implementation, determining the location of a detail pixel based on the first pixel value includes: determining M fourth variances based on the pixel values ​​of M consecutive second pixel value matrices from a plurality of first pixel values ​​in the first image, where M is an odd number greater than zero; determining a target variance based on the M fourth variances; if the target variance is greater than a fifth threshold, then determining the location of the pixel corresponding to the center pixel value matrix of the M second pixel value matrices as the location of the detail pixel; if the target variance is less than or equal to the fifth threshold, then determining the location of the pixel corresponding to the center pixel value matrix of the M second pixel value matrices as not the location of the detail pixel. Based on this method, using the variance results to determine the location of the detail pixel helps improve the accuracy of determining the location of the detail pixel.

[0012] In one possible implementation, the first noise estimation information is adjusted based on the scene information, the complexity information, and the position of the detail pixel to obtain the second noise estimation information. This includes: determining the adjustment intensity based on the scene information, the complexity information, and the position of the detail pixel; and adjusting the first noise estimation information based on the adjustment intensity to obtain the second noise estimation information. This approach helps improve the effectiveness and accuracy of image denoising, enhances image quality, and preserves the original details of the image.

[0013] In one possible implementation, denoising the first pixel value based on the second noise estimation information and the second pixel value to obtain the third pixel value of the first image includes: determining a first quantity based on the second noise estimation information and the first pixel value in the target pixel value matrix of the first image; and determining a first pixel value total based on each fourth pixel value in the target pixel value matrix and a first weight value corresponding to each fourth pixel value, wherein the fourth pixel value is a pixel value within the estimation range corresponding to the second noise estimation information in the target pixel value matrix, the first quantity is the number of pixels corresponding to the fourth pixel value, and the first pixel value total is a weighted sum of all fourth pixel values; determining a second quantity based on the second noise estimation information and the second pixel value in the target pixel value matrix of the second image; and determining a third pixel value based on each fifth pixel value in the target pixel value matrix. The total value of the second pixel is determined by a second weight value corresponding to each fifth pixel value. The fifth pixel value is a pixel value within the estimation range corresponding to the second noise estimation information in the target pixel value matrix. The second quantity is the number of pixels corresponding to the fifth pixel value. The total value of the second pixel is the weighted sum of all fifth pixel values. A pixel mean is determined based on the first quantity, the second quantity, the total value of the first pixel, and the total value of the second pixel. The pixel mean is the sum of the total value of the first pixel and the total value of the second pixel divided by the sum of the first quantity and the second quantity. A fusion coefficient is used to fuse the pixel mean and the target pixel values ​​in the target pixel value matrix to obtain a third pixel value. This third pixel value is the denoised pixel value of the target pixel. The fusion coefficient is determined based on the scene information, the complexity information, and the position of the detail pixels. This method helps improve the quality of image denoising.

[0014] Secondly, this application provides an image denoising apparatus, comprising: an acquisition unit, configured to acquire a first pixel value of a first image and a second pixel value of a second image, wherein the second image is a previous frame of the first image; a determination unit, configured to determine first noise estimation information, scene information, and complexity information based on the first pixel value and the second pixel value; the determination unit is further configured to determine the position of detail pixels based on the first pixel value; a processing unit, configured to adjust the first noise estimation information based on the scene information, the complexity information, and the position of the detail pixels to obtain second noise estimation information; the processing unit is further configured to perform denoising processing on the first pixel value based on the second noise estimation information and the second pixel value to obtain a third pixel value of the first image.

[0015] Thirdly, this application provides a chip including a processor and a communication interface, wherein the processor is configured to cause the chip to perform the methods described in the first aspect above or any possible implementation thereof.

[0016] Fourthly, this application provides a module device, which includes a communication module, a power module, a storage module, and a chip, wherein: the power module is used to provide electrical energy to the module device; the storage module is used to store data and instructions; the communication module is used for internal communication within the module device, or for communication between the module device and external devices; and the chip is used to execute the methods in the first aspect above or any possible implementation thereof.

[0017] Fifthly, embodiments of the present invention disclose an image denoising apparatus, which includes a memory and a processor. The memory is used to store a computer program, which includes program instructions. The processor is configured to invoke the program instructions to execute the method described in the first aspect or any possible implementation thereof.

[0018] In a sixth aspect, this application provides a computer-readable storage medium storing computer-readable instructions that, when executed on an image denoising apparatus, cause the image denoising apparatus to perform the methods described in the first aspect or any possible implementation thereof.

[0019] In a seventh aspect, this application provides a computer program or computer program product, including code or instructions that, when executed on a computer, cause the computer to perform the method as described in the first aspect or any possible implementation thereof. Attached Figure Description

[0020] To more clearly illustrate the technical solutions in the embodiments of this application, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0021] Figure 1 This is a schematic flowchart of an image denoising method provided in an embodiment of this application;

[0022] Figure 2 This is a schematic diagram of a first pixel value, a second pixel value, and a first difference provided in an embodiment of this application;

[0023] Figure 3 This is a schematic diagram of a first pixel value matrix provided in an embodiment of this application;

[0024] Figure 4 This is a schematic diagram of a first function curve provided in an embodiment of this application;

[0025] Figure 5 This is a schematic diagram of a second function curve provided in an embodiment of this application;

[0026] Figure 6 This is a schematic diagram of a third function curve provided in an embodiment of this application;

[0027] Figure 7 This is a schematic diagram of a fourth function curve provided in an embodiment of this application;

[0028] Figure 8 This is a flowchart illustrating a method for determining the position of detail pixels according to an embodiment of this application;

[0029] Figure 9 This is a schematic diagram of a first weight value and a target pixel value matrix provided in an embodiment of this application;

[0030] Figure 10 This is a schematic diagram of the structure of an image denoising device provided in an embodiment of this application;

[0031] Figure 11 This is a schematic diagram of another image denoising device provided in an embodiment of this application;

[0032] Figure 12 This is a schematic diagram of the structure of a module device provided in an embodiment of this application. Detailed Implementation

[0033] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.

[0034] The terminology used in the following embodiments of this application is for the purpose of describing particular embodiments only and is not intended to be limiting of this application. As used in the specification and appended claims of this application, the singular expressions “a,” “an,” “the,” “the,” “the,” and “this” are intended to include the plural expressions as well, unless the context clearly indicates otherwise. It should also be understood that the term “and / or” as used in this application refers to and includes any or all possible combinations of one or more of the listed items.

[0035] It should be noted that the terms "first," "second," "third," etc., used in the specification, claims, and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of this application described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the term "comprising" and any variations thereof are intended to cover a non-exclusive inclusion; for example, a process, method, system, product, or server that includes a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to these processes, methods, products, or devices.

[0036] To improve the effectiveness and accuracy of image denoising and enhance image quality, this application provides an image denoising method. In its implementation, the aforementioned image denoising method can be executed by a terminal device. The terminal device is described below:

[0037] Terminal devices include devices that provide voice and / or data connectivity to users. For example, a terminal device is a device with wireless transceiver capabilities that can be deployed on land, including indoors or outdoors, handheld, wearable, or vehicle-mounted; it can also be deployed on water (such as on ships); and it can be deployed in the air (such as on airplanes, balloons, and satellites). The terminal can be a mobile phone, tablet computer, computer with wireless transceiver capabilities, virtual reality (VR) terminal device, augmented reality (AR) terminal device, wireless terminal in industrial control, vehicle-mounted terminal device, wireless terminal in self-driving, wireless terminal in remote medical care, wireless terminal in smart grid, wireless terminal in transportation safety, wireless terminal in smart city, wireless terminal in smart home, wearable terminal device, etc. The embodiments in this application do not limit the application scenarios. A terminal may also be referred to as a terminal device, user equipment (UE), access terminal device, vehicle-mounted terminal, industrial control terminal, UE unit, UE station, mobile station, mobile station, remote station, remote terminal device, mobile device, UE terminal device, terminal device, wireless communication device, UE agent, or UE device, etc. A terminal can be fixed or mobile. In the embodiments of this application, the device used to implement the functions of the terminal device can be the terminal device itself, or it can be any device capable of supporting the terminal device in implementing those functions, such as a chip system or a combination of devices or components capable of implementing the functions of the terminal device. This device can be installed in the terminal device.

[0038] The image denoising method provided in this application is further described in detail below. Please refer to... Figure 1 , Figure 1 This is a schematic flowchart of an image denoising method provided in an embodiment of this application. Figure 1 As shown, the image denoising method includes the following steps S101 to S105. Figure 1 The method shown is executed by a terminal device (such as the terminal device mentioned above). Alternatively, Figure 1 The method shown is executed by a chip, chip system, or processor in the terminal device. Alternatively, Figure 1 The execution entity of the method shown can also be a logic module or software capable of implementing all or part of the functions of the terminal device. This application does not limit the execution entity of the image denoising method in its embodiments. Figure 1 The following explanation uses a terminal device as the executing entity. Specifically:

[0039] S101, The terminal device obtains the first pixel value of the first image and the second pixel value of the second image.

[0040] In this embodiment, the second image is the frame preceding the first image. The terminal device can extract the first pixel value of the first image and the second pixel value of the second image using software tools (such as function commands). A pixel value refers to the value assigned by a computer when an image is digitized. The first pixel value of the first image can include multiple values, and the second pixel value of the second image can also include multiple values. Of course, the first pixel value of the first image can be all pixel values ​​in the first image, or it can be a pixel value from a pixel value matrix in the first image; this is not limited here. Similarly, the second pixel value of the second image can be all pixel values ​​in the second image, or it can be a pixel value from a pixel value matrix in the second image (the pixel value matrix corresponding to the first image); this is not limited here.

[0041] S102, The terminal device determines the first noise estimation information, scene information and complexity information based on the first pixel value and the second pixel value.

[0042] In this embodiment, the first noise estimation information refers to the estimated noise in the first image; the scene information refers to whether the scene of the first image is static or dynamic; and the complexity information refers to whether the complexity of the first image belongs to an intensity region, a normal region, or a weak region. The terminal device can use the first pixel value and the second pixel value for detection and analysis to obtain the first noise estimation information, scene information, and complexity information.

[0043] In one possible implementation, when the terminal device determines the first noise estimation information, scene information, and complexity information based on the first pixel value and the second pixel value, the specific implementation method can be: calculating a first difference between the first pixel value and the second pixel value; and determining the first noise estimation information, scene information, and complexity information based on the first difference and the first pixel value. That is, before determining the first noise estimation information, scene information, and complexity information, it is necessary to perform a difference operation on the first pixel value and the second pixel value, utilizing the difference between the first image and the second image for noise estimation, which helps improve the accuracy of noise estimation, scene prediction, and complexity analysis. For example, if the first pixel value is 9 and the second pixel value is 5, then the first difference is 4.

[0044] Optionally, the specific implementation method for the terminal device to determine the first noise estimation information, scene information, and complexity information based on the first difference and the first pixel value is as follows:

[0045] (1) First noise estimation information

[0046] When the terminal device determines the first noise estimation information based on the first difference and the first pixel value, the specific implementation method can be as follows: calculate the first variance of the first difference and the second variance of the first pixel value; determine the minimum variance from the first variance and the second variance; perform low-pass filtering on the minimum variance to obtain the first noise estimation information. Based on this method, it is possible to avoid misjudgment of noise caused by the energy of the image itself and improve the accuracy of noise estimation.

[0047] In practical implementation, variance is an indicator that measures the degree of variation of a pixel. The terminal device can use formula (1) to calculate the first variance of the first difference and the second variance of the first pixel value. Formula (1) is as follows:

[0048] V = N * sum(x) 2 )-(sum(x) 2 (1)

[0049] Where N is the number of pixel values, x is the pixel value, sum is the summation operation, and V is the variance.

[0050] For example, suppose the first pixel value, the second pixel value, and the first difference are as follows: Figure 2 As shown, using formula (1), the first variance of the first difference can be calculated as 20, and the second variance of the first pixel value is 254. The minimum variance between the first and second variances is the first variance, which is 20. Then, a 3-tap low-pass filter can be used to perform low-pass filtering on this first variance (i.e., the minimum variance) to obtain the first noise estimation information.

[0051] (2) Scene information (such as static scene or dynamic scene)

[0052] When a terminal device determines scene information based on the first difference and the first pixel value, the specific implementation method may be:

[0053] A. Static Scene

[0054] The terminal device determines N absolute difference sums based on the pixel values ​​of N consecutive first pixel value matrices among multiple first pixel values ​​of the first image, where N is a positive integer; the terminal device determines the maximum absolute difference sum from the N absolute difference sums; if the maximum absolute difference sum is less than a first threshold, the terminal device determines that the scene information is a static scene.

[0055] In the specific implementation, the first threshold is a preset threshold. Based on this method, static scene information can be effectively determined, improving the accuracy of static scene detection.

[0056] like Figure 3 As shown, Figure 3The first image is defined as three consecutive 3×3 first pixel value matrices: 3×3 first pixel value matrix 1, 3×3 first pixel value matrix 2, and 3×3 first pixel value matrix 3. The terminal device first calculates the sum of the absolute differences in the horizontal direction corresponding to these three 3×3 first pixel value matrices, namely, absolute difference sum 1, absolute difference sum 2, and absolute difference sum 3. For example, absolute difference sum 1 is the sum of all absolute differences (such as absolute difference 1, absolute difference 2, etc.) in 3×3 first pixel value matrix 1. Then, the largest absolute difference sum is determined from absolute difference sum 1, absolute difference sum 2, and absolute difference sum 3, which is absolute difference sum 1. If absolute difference sum 1 is less than a first threshold, the scene information of the first image is considered a static scene.

[0057] B. Dynamic Scenes

[0058] The terminal device acquires the brightness information and noise level information of the first image; the terminal device determines a second threshold based on the brightness information; the terminal device determines a third threshold based on the noise level information; the terminal device determines a fourth threshold based on the first noise estimation information; the terminal device calculates the total value of the second threshold, the third threshold, and the fourth threshold; if the sum of the maximum absolute differences is greater than the total value, the terminal device determines that the scene information is a dynamic scene.

[0059] Since the pixel difference (i.e. the first difference) changes constantly in a dynamic environment, if the threshold is fixed, it will not only lead to misjudgment of the scene, but also cause errors in the judgment of noise. Therefore, three thresholds are used to increase the accuracy of dynamic scene detection.

[0060] In practical implementation, the terminal device can extract the brightness information and noise level information of the first image using software tools. Then, the brightness information is used in a first function (such as...). Figure 4 The second threshold is determined from the function curve shown. When the brightness information (i.e., blk_avg) is greater than motion_th_bnd*4, the second threshold is motion_th_base; when the brightness information is less than motion_th_bnd*4, the second threshold is motion_th_base+(motion_th_bnd*4-blk_avg). Both motion_th_bnd and motion_th_base are preset values.

[0061] Furthermore, noise level information is utilized in the second function (such as...) Figure 5 The third threshold is determined from the function curve shown. For example, when the noise level is 8, the third threshold is 40.

[0062] Furthermore, the first noise estimation information is used in the third function (such as...) Figure 6The fourth threshold is determined from the function curve shown. Here, the third function can be a function generated using software tools. For example, when the first noise estimation information is 8, the fourth threshold is 50.

[0063] Finally, the second threshold, the third threshold, and the fourth threshold are added together to obtain a total value. If the sum of the previously calculated maximum absolute differences is greater than this total value, the scene information of the first image is considered to be a dynamic scene.

[0064] (3) Complexity information

[0065] When the terminal device determines the complexity information based on the first difference and the first pixel value, the specific implementation method may be: calculating the third difference of the second pixel value; determining the maximum variance from the first variance, the second variance and the third difference; calculating the second difference between the maximum variance and the minimum variance; and determining the complexity information based on the second difference and the brightness information of the first image.

[0066] In other words, the largest variance among the first, second, and third variances can be considered the total energy of noise plus image content. The smallest variance among the first and second variances can be considered the noise energy. The second difference between the largest and smallest variances (i.e., the largest variance minus the smallest variance) is the actual energy of the image content. Based on the actual energy of the image content (i.e., the second difference) and the brightness information of the first image, the complexity information of the first image can be determined. This complexity information can include weak regions, strong regions, and normal regions, which can be used to divide the noise reduction intensity. That is, if the complexity information is in a weak region, the noise reduction intensity is reduced; if the complexity information is in a strong region, the noise reduction intensity is increased; if the complexity information is in a normal region, the normal noise reduction intensity is maintained. Based on this method, the complexity information can be effectively determined, improving the flexibility and effectiveness of image denoising.

[0067] In the specific implementation, the terminal device first calculates the third difference of the second pixel value using the above formula (1), then determines the maximum variance and the minimum variance, and performs a difference operation on the maximum variance and the minimum variance to obtain the second difference (i.e., vmax). The second difference here is the energy of the actual content of the image. Then, the terminal device uses the brightness information of the first image obtained and the calculated second difference in the fourth function (such as... Figure 7The complexity information is determined from the function curve shown. Here, the fourth function can be a function generated using software tools. For example, assuming the brightness information (i.e., blk_avg) is Q, then based on blk_avg, vmax_th_hi_dyna is determined to be P, and vmax_th_lo_dyna is determined to be R. If vmax is greater than P, the complexity information is in the weak region; if vmax is less than or equal to P, and vmax is greater than or equal to R, the complexity information is in the normal region; if vmax is less than R, the complexity information is in the strong region.

[0068] S103, The terminal device determines the position of the detail pixel based on the first pixel value.

[0069] In this embodiment, the terminal device needs to determine the location of the detail pixels in order to preserve the details in the image and improve the accuracy of image denoising.

[0070] In one possible implementation, when the terminal device determines the position of a detail pixel based on the first pixel value, the specific implementation method can be as follows: M fourth variances are determined based on the pixel values ​​of M consecutive second pixel value matrices from multiple first pixel values ​​of the first image, where M is an odd number greater than zero; a target variance is determined based on the M fourth variances; if the target variance is greater than a fifth threshold, the position of the pixel corresponding to the center pixel value matrix of the M second pixel value matrices is determined to be the position of the detail pixel; if the target variance is less than or equal to the fifth threshold, the position of the pixel corresponding to the center pixel value matrix of the M second pixel value matrices is determined not to be the position of the detail pixel. Based on this method, using the variance result to determine the position of the detail pixel is beneficial to improving the accuracy of determining the position of the detail pixel.

[0071] like Figure 8 As shown, Figure 8The first image contains five consecutive 5×5 second pixel value matrices, namely 5×5 second pixel value matrix 1, 5×5 second pixel value matrix 2, 5×5 second pixel value matrix 3, 5×5 second pixel value matrix 4, and 5×5 second pixel value matrix 5. 5×5 second pixel value matrix 3 is the center pixel value matrix. The terminal device first calculates the fourth variance of these five 5×5 second pixel value matrices, namely fourth variance 1, fourth variance 2, fourth variance 3, fourth variance 4, and fourth variance 5. Then, it calculates the third difference between two adjacent fourth variances, namely third difference 1, third difference 2, third difference 3, and third difference 4. Finally, it adds the third difference 1, third difference 2, third difference 3, and third difference 4 together to obtain a target variance. If the target variance is greater than the fifth threshold, then the position of the pixel corresponding to the 5×5 second pixel value matrix 3 is determined to be the position of the detail pixel; if the target variance is less than or equal to the fifth threshold, then the position of the pixel corresponding to the 5×5 second pixel value matrix 3 is determined not to be the position of the detail pixel.

[0072] S104. The terminal device adjusts the first noise estimation information based on the scene information, the complexity information, and the position of the detail pixel to obtain the second noise estimation information.

[0073] In this embodiment, the intensity of the adjustment of the first noise estimation information by the terminal device depends on the scene information, the complexity information and the position of the detail pixel, which is beneficial to improving the effectiveness and accuracy of image denoising, enhancing the quality of the image, and preserving the original details of the image.

[0074] In one possible implementation, when the terminal device adjusts the first noise estimation information based on the scene information, the complexity information, and the position of the detail pixel to obtain the second noise estimation information, the specific implementation method can be: determining the adjustment intensity based on the scene information, the complexity information, and the position of the detail pixel; adjusting the first noise estimation information based on the adjustment intensity to obtain the second noise estimation information. Here, the adjustment intensity can be understood as a scaling factor of the estimation range corresponding to the first noise estimation information. The estimation range corresponding to the first noise estimation information can be adjusted according to this adjustment intensity.

[0075] For example, if the scene information of the first image is a static scene, and the complexity information is a weak region or a position of detail pixels, then the adjustment intensity is set to 0.3. If the complexity information is a strong region, then the adjustment intensity is set to 0.6. For other cases, the adjustment intensity is set to 0.5. The terminal device adjusts the first noise estimation information according to the determined adjustment intensity, that is, it uses software tools to adjust the estimation range (such as a curve) corresponding to the first noise estimation information according to the adjustment intensity, thus obtaining the second noise estimation information.

[0076] S105, the terminal device performs denoising processing on the first pixel value based on the second noise estimation information and the second pixel value to obtain the third pixel value of the first image.

[0077] In one possible implementation, when the terminal device performs denoising processing on the first pixel value based on the second noise estimation information and the second pixel value to obtain the third pixel value of the first image, the specific implementation may include the following steps s11 to s14:

[0078] s11. The terminal device determines a first quantity based on the second noise estimation information and the first pixel value in the target pixel value matrix of the first image, and determines the total value of the first pixel value based on each fourth pixel value in the target pixel value matrix and the first weight value corresponding to each fourth pixel value.

[0079] In a specific implementation, the fourth pixel value is the pixel value within the estimation range corresponding to the second noise estimation information in the target pixel value matrix, the first quantity is the number of pixels corresponding to the fourth pixel value, and the total value of the first pixel value is the weighted sum of all fourth pixel values. The target pixel value matrix of the first image can be understood as a rectangular window, and the target pixel value matrix may include multiple such windows.

[0080] like Figure 9 As shown, the target pixel value matrix is ​​a 5×5 pixel value matrix among multiple first pixel values ​​of the first image. The terminal device determines the pixel values ​​that fall within the estimation range corresponding to the second noise estimation information in the target pixel value matrix, i.e., the fourth pixel values, and counts the number of pixels corresponding to the fourth pixel values ​​as 12, i.e., the first quantity is 12. Then, each fourth pixel value is multiplied by the first weight value corresponding to each fourth pixel value and then summed to obtain the total value of the first pixel values, which is 53.5.

[0081] s12. The terminal device determines a second quantity based on the second noise estimation information and the second pixel value in the target pixel value matrix of the second image, and determines the total value of the second pixel value based on each fifth pixel value in the target pixel value matrix and the second weight value corresponding to each fifth pixel value.

[0082] In a specific implementation, the fifth pixel value is the pixel value within the estimation range corresponding to the second noise estimation information in the target pixel value matrix, the second quantity is the number of pixels corresponding to the fifth pixel value, and the total value of the second pixel value is the weighted sum of all fifth pixel values.

[0083] Similarly, for example, the terminal device determines the pixel value that falls within the estimation range corresponding to the second noise estimation information, i.e., the fifth pixel value, and counts the number of pixels corresponding to the fifth pixel value as 12, i.e., the first quantity is 12. Then, each fifth pixel value is multiplied by the second weight value corresponding to each fifth pixel value and then summed to obtain the total value of the second pixel value, which is 50.5.

[0084] s13. The terminal device determines the average pixel value based on the first quantity, the second quantity, the total value of the first pixel value, and the total value of the second pixel value.

[0085] In a specific implementation, the average value of a pixel is the sum of the total value of the first pixel and the total value of the second pixel, divided by the sum of the first quantity and the second quantity.

[0086] For example, if the sum of the first pixel value (i.e., 53.5) and the second pixel value (i.e., 50.5) is 104, and the sum of the first quantity (i.e., 12) and the second quantity (i.e., 12) is 24, then the pixel average is 4.3.

[0087] s14. The terminal device performs a fusion process on the mean value of the pixel and the target pixel value in the target pixel value matrix based on the fusion coefficient to obtain the third pixel value.

[0088] In the specific implementation, the third pixel value is the pixel value after denoising the target pixel value, and the fusion coefficient is determined based on the scene information, the complexity information, and the position of the detail pixel. The terminal device can use formula (2) to fuse the pixel mean and the target pixel value. Formula (2) is as follows:

[0089] W=α*F1+(1-α)*F2 (2)

[0090] Where α is the fusion coefficient, which can be determined by analyzing the scene information, complexity information, and the position of the detail pixel using software tools (for example, firstly, if the scene information is a static scene, or the complexity information is a weak region, or the position of the target pixel value is the position of the detail pixel, then the fusion coefficient is a weak fusion coefficient, i.e., 0.3; secondly, if the complexity information is a strong region, then the fusion coefficient is a strong fusion coefficient, i.e., 0.6; finally, in other cases, the normal fusion coefficient, i.e., 0.5, is used); F1 is the pixel mean, F2 is the target pixel value, and W is the third pixel value.

[0091] For example Figure 9 As shown, assuming α is 0.6, the average pixel value is 4.3, and the target pixel value is 5, after fusion processing using formula (2), the third pixel value is 4.58, that is, the pixel value obtained after denoising the target pixel value is 4.58.

[0092] Furthermore, the terminal device can adjust the target pixel values ​​in the target pixel value matrix to the third pixel values. In other words, the target pixel values ​​in each target pixel value matrix can be denoised using pixel values ​​within the noise estimation range of the target pixel value matrix. By adjusting the target pixel values ​​to the third pixel values ​​obtained through fusion processing, the terminal device achieves denoising of the target pixel values. Of course, all first pixel values ​​in the first image can be considered as target pixel values ​​(i.e., the target pixel value is any one of multiple first pixel values). These values ​​are placed in the target pixel value matrix, and denoising is performed on each first pixel value in the same way, thus achieving denoising of the entire first image. This method helps improve the quality of image denoising.

[0093] In one possible implementation, the method further includes: the terminal device performing dithering processing on the third pixel value based on preset random noise to obtain the sixth pixel value of the first image. That is, the third pixel value may exhibit block effect during the denoising process. Block effect refers to the phenomenon where, as the bit rate decreases, quantization becomes coarser, resulting in discontinuities at block boundaries and significant defects in the reconstructed image. In this case, preset random noise, such as dithering, can be used to eliminate block effect, thereby improving the quality of image denoising.

[0094] It can be seen that, based on Figure 1 The described method uses scene information, complexity information, and the position of detail pixels to adjust the noise estimation information, thereby flexibly denoising the image. While improving the effectiveness and accuracy of image denoising, it preserves the original details in the image, minimizes ghosting and blurring after noise removal, and improves the quality of the image.

[0095] Please see Figure 10 , Figure 10 This is a schematic diagram of an image denoising device provided in an embodiment of the present invention. The image denoising device can be a near-end device or a device with near-end device functionality (e.g., a chip). Specifically, as shown... Figure 10 As shown, the image denoising apparatus 1000 may include an acquisition unit 1001, a determination unit 1002, and a processing unit 1003. Wherein:

[0096] The acquisition unit 1001 is used to acquire the first pixel value of the first image and the second pixel value of the second image, wherein the second image is the previous frame image of the first image;

[0097] The determining unit 1002 is used to determine first noise estimation information, scene information, and complexity information based on the first pixel value and the second pixel value;

[0098] The determining unit 1002 is also used to determine the position of the detail pixel based on the first pixel value;

[0099] The processing unit 1003 is used to adjust the first noise estimation information based on the scene information, the complexity information and the position of the detail pixel to obtain the second noise estimation information;

[0100] The processing unit 1003 is further configured to perform denoising processing on the first pixel value based on the second noise estimation information and the second pixel value to obtain the third pixel value of the first image.

[0101] In one possible implementation, the determining unit 1002, when determining the first noise estimation information, scene information, and complexity information based on the first pixel value and the second pixel value, may specifically be used to: calculate the first difference between the first pixel value and the second pixel value; and determine the first noise estimation information, scene information, and complexity information based on the first difference and the first pixel value.

[0102] In one possible implementation, the determining unit 1002, when determining the first noise estimation information based on the first difference and the first pixel value, may specifically be used to: calculate the first variance of the first difference and the second variance of the first pixel value; determine the minimum variance from the first variance and the second variance; and perform low-pass filtering on the minimum variance to obtain the first noise estimation information.

[0103] In one possible implementation, the determining unit 1002, when determining scene information based on the first difference and the first pixel value, may specifically be used to: determine N absolute difference sums based on the pixel values ​​of N consecutive first pixel value matrices among multiple first pixel values ​​of the first image, where N is a positive integer; determine the maximum absolute difference sum from the N absolute difference sums; if the maximum absolute difference sum is less than a first threshold, then determine that the scene information is a static scene.

[0104] In one possible implementation, the determining unit 1002 is further configured to: acquire brightness information and noise level information of the first image; determine a second threshold based on the brightness information; determine a third threshold based on the noise level information; determine a fourth threshold based on the first noise estimation information; calculate the total value of the second threshold, the third threshold, and the fourth threshold; and if the sum of the maximum absolute differences is greater than the total value, determine that the scene information is a dynamic scene.

[0105] In one possible implementation, the determining unit 1002, when determining complexity information based on the first difference and the first pixel value, may specifically be used to: calculate a third difference of the second pixel value; determine the maximum variance from the first variance, the second variance, and the third difference; calculate a second difference between the maximum variance and the minimum variance; and determine complexity information based on the second difference and the brightness information of the first image.

[0106] In one possible implementation, the determining unit 1002, when determining the position of the detail pixel based on the first pixel value, may specifically be used to: determine M fourth variances based on the pixel values ​​of M consecutive second pixel value matrices among multiple first pixel values ​​of the first image, where M is an odd number greater than zero; determine a target variance based on the M fourth variances; if the target variance is greater than a fifth threshold, then determine the position of the pixel corresponding to the center pixel value matrix of the M second pixel value matrices as the position of the detail pixel; if the target variance is less than or equal to the fifth threshold, then determine the position of the pixel corresponding to the center pixel value matrix of the M second pixel value matrices as not the position of the detail pixel.

[0107] In one possible implementation, when the processing unit 1003 adjusts the first noise estimation information based on the scene information, the complexity information, and the position of the detail pixel to obtain the second noise estimation information, it can specifically be used to: determine the adjustment intensity based on the scene information, the complexity information, and the position of the detail pixel; and adjust the first noise estimation information based on the adjustment intensity to obtain the second noise estimation information.

[0108] In one possible implementation, when processing unit 1003 performs denoising processing on the first pixel value based on the second noise estimation information and the second pixel value to obtain the third pixel value of the first image, it may specifically be used to: determine a first quantity based on the second noise estimation information and the first pixel value in the target pixel value matrix of the first image, and determine a first pixel value total based on each fourth pixel value in the target pixel value matrix and the first weight value corresponding to each fourth pixel value, wherein the fourth pixel value is a pixel value within the estimation range corresponding to the second noise estimation information in the target pixel value matrix, the first quantity is the number of pixels corresponding to the fourth pixel value, and the first pixel value total is the weighted sum of all fourth pixel values; determine a second quantity based on the second noise estimation information and the second pixel value in the target pixel value matrix of the second image, and determine a third pixel value based on the second pixel value in the target pixel value matrix of the second image. The total value of the second pixel value is determined by each fifth pixel value and the second weight value corresponding to each fifth pixel value. The fifth pixel value is the pixel value within the estimation range corresponding to the second noise estimation information in the target pixel value matrix. The second quantity is the number of pixels corresponding to the fifth pixel value. The total value of the second pixel value is the weighted sum of all fifth pixel values. The pixel mean is determined based on the first quantity, the second quantity, the total value of the first pixel value, and the total value of the second pixel value. The pixel mean is the sum of the total value of the first pixel value and the total value of the second pixel value divided by the sum of the first quantity and the second quantity. The pixel mean and the target pixel value in the target pixel value matrix are fused based on the fusion coefficient to obtain the third pixel value. The third pixel value is the pixel value after denoising the target pixel value. The fusion coefficient is determined based on the scene information, the complexity information, and the position of the detail pixel.

[0109] This application also provides a chip that can execute the relevant steps of the terminal device in the foregoing method embodiments. The chip includes a processor and a communication interface. The processor is configured to perform the following operations: acquiring a first pixel value of a first image and a second pixel value of a second image, wherein the second image is a frame preceding the first image; determining first noise estimation information, scene information, and complexity information based on the first pixel value and the second pixel value; determining the position of detail pixels based on the first pixel value; adjusting the first noise estimation information based on the scene information, the complexity information, and the position of the detail pixels to obtain second noise estimation information; and performing denoising processing on the first pixel value based on the second noise estimation information and the second pixel value to obtain a third pixel value of the first image.

[0110] In one possible implementation, when determining first noise estimation information, scene information, and complexity information based on the first pixel value and the second pixel value, the chip may specifically be used to: calculate a first difference between the first pixel value and the second pixel value; and determine the first noise estimation information, scene information, and complexity information based on the first difference and the first pixel value.

[0111] In one possible implementation, when determining the first noise estimation information based on the first difference and the first pixel value, the chip may specifically be used to: calculate the first variance of the first difference and the second variance of the first pixel value; determine the minimum variance from the first variance and the second variance; and perform low-pass filtering on the minimum variance to obtain the first noise estimation information.

[0112] In one possible implementation, when determining scene information based on the first difference and the first pixel value, the chip may specifically be used to: determine N absolute difference sums based on the pixel values ​​of N consecutive first pixel value matrices among multiple first pixel values ​​of the first image, where N is a positive integer; determine the maximum absolute difference sum from the N absolute difference sums; if the maximum absolute difference sum is less than a first threshold, then determine that the scene information is a static scene.

[0113] In one possible implementation, the chip is further configured to: acquire brightness information and noise level information of the first image; determine a second threshold based on the brightness information; determine a third threshold based on the noise level information; determine a fourth threshold based on the first noise estimation information; calculate the total value of the second threshold, the third threshold, and the fourth threshold; and if the sum of the maximum absolute differences is greater than the total value, determine that the scene information is a dynamic scene.

[0114] In one possible implementation, when determining complexity information based on the first difference and the first pixel value, the chip may specifically be used to: calculate a third difference of the second pixel value; determine the maximum variance from the first variance, the second variance, and the third difference; calculate a second difference between the maximum variance and the minimum variance; and determine complexity information based on the second difference and the brightness information of the first image.

[0115] In one possible implementation, when determining the position of a detail pixel based on the first pixel value, the chip may specifically: determine M fourth variances based on the pixel values ​​of M consecutive second pixel value matrices among multiple first pixel values ​​of the first image, where M is an odd number greater than zero; determine a target variance based on the M fourth variances; if the target variance is greater than a fifth threshold, determine the position of the pixel corresponding to the center pixel value matrix of the M second pixel value matrices as the position of the detail pixel; if the target variance is less than or equal to the fifth threshold, determine the position of the pixel corresponding to the center pixel value matrix of the M second pixel value matrices as not the position of the detail pixel.

[0116] In one possible implementation, when the chip adjusts the first noise estimation information based on the scene information, the complexity information, and the position of the detail pixel to obtain the second noise estimation information, it can specifically be used to: determine the adjustment intensity based on the scene information, the complexity information, and the position of the detail pixel; and adjust the first noise estimation information based on the adjustment intensity to obtain the second noise estimation information.

[0117] In one possible implementation, when the chip performs denoising processing on the first pixel value based on the second noise estimation information and the second pixel value to obtain the third pixel value of the first image, it can specifically be used to: determine a first quantity based on the second noise estimation information and the first pixel value in the target pixel value matrix of the first image, and determine a first pixel value total based on each fourth pixel value in the target pixel value matrix and the first weight value corresponding to each fourth pixel value, wherein the fourth pixel value is a pixel value within the estimation range corresponding to the second noise estimation information in the target pixel value matrix, the first quantity is the number of pixels corresponding to the fourth pixel value, and the first pixel value total is the weighted sum of all fourth pixel values; determine a second quantity based on the second noise estimation information and the second pixel value in the target pixel value matrix of the second image, and determine a third pixel value based on each fourth pixel value in the target pixel value matrix. The fifth pixel value and the second weight value corresponding to each fifth pixel value determine the total value of the second pixel value. The fifth pixel value is the pixel value within the estimation range corresponding to the second noise estimation information in the target pixel value matrix. The second quantity is the number of pixels corresponding to the fifth pixel value. The total value of the second pixel value is the weighted sum of all fifth pixel values. The pixel mean is determined based on the first quantity, the second quantity, the total value of the first pixel value, and the total value of the second pixel value. The pixel mean is the sum of the total value of the first pixel value and the total value of the second pixel value divided by the sum of the first quantity and the second quantity. The pixel mean and the target pixel value in the target pixel value matrix are fused based on the fusion coefficient to obtain the third pixel value. The third pixel value is the pixel value after denoising the target pixel value. The fusion coefficient is determined based on the scene information, the complexity information, and the position of the detail pixel.

[0118] For each device or product applied to or integrated into a chip, each of its modules can be implemented using hardware methods such as circuits, or at least some modules can be implemented using software programs that run on the processor integrated inside the chip, and the remaining (if any) modules can be implemented using hardware methods such as circuits.

[0119] Please see Figure 11 , Figure 11 This is a schematic diagram of an image denoising device according to an embodiment of the present invention. The image denoising device 1100 may include a memory 1101 and a processor 1102. Optionally, it may also include a communication interface 1103. The memory 1101, processor 1102, and communication interface 1103 are connected via one or more communication buses. The communication interface 1103 is controlled by the processor 1102 for sending and receiving information.

[0120] Memory 1101 may include read-only memory and random access memory, and provides instructions and data to processor 1102. A portion of memory 1101 may also include non-volatile random access memory.

[0121] Communication interface 1103 is used to receive or send data.

[0122] Processor 1102 can be a central processing unit (CPU), but it can also be other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor can be a microprocessor; optionally, processor 1102 can also be any conventional processor. Wherein:

[0123] Memory 1101 is used to store program instructions.

[0124] Processor 1102 is used to call program instructions stored in memory 1101.

[0125] The processor 1102 calls the program instructions stored in the memory 1101, causing the image denoising device 1100 to execute the method executed by the terminal device in the above method embodiment.

[0126] like Figure 12 As shown, Figure 12This is a schematic diagram of the structure of a module device provided in an embodiment of this application. The module device 1200 can perform the relevant steps of the near-end device in the aforementioned method embodiment. The module device 1200 includes: a communication module 1201, a power module 1202, a storage module 1203, and a chip 1204.

[0127] The power module 1202 is used to provide power to the module device; the storage module 1203 is used to store data and instructions; the communication module 1201 is used for internal communication within the module device or for communication between the module device and external devices; and the chip 1204 is used to execute the method executed by the near-end device in the above method embodiment.

[0128] It should be noted that, Figures 10-12 For details not mentioned in the corresponding embodiments and the specific implementation methods of each step, please refer to [link to relevant documentation]. Figure 1 The embodiments shown and the foregoing content will not be repeated here.

[0129] This application also provides a computer-readable storage medium storing instructions that, when executed on a processor, enable the implementation of the method flow described in the above method embodiments.

[0130] This application also provides a computer program product, which, when run on a processor, enables the implementation of the method flow described in the above method embodiments.

[0131] Regarding the modules / units included in the various devices and products described in the above embodiments, they can be software modules / units, hardware modules / units, or a combination of both. For example, for various devices and products applied to or integrated into a chip, all of their modules / units can be implemented using hardware methods such as circuits, or at least some modules / units can be implemented using software programs that run on the chip's integrated processor, while the remaining (if any) modules / units can be implemented using hardware methods such as circuits. For various devices and products applied to or integrated into a chip module, all of their modules / units can be implemented using hardware methods such as circuits. Different modules / units can be located in the same part (e.g., chip, circuit module, etc.) or different components of the chip module, or at least some modules / units... It can be implemented using software programs that run on the processor integrated within the chip module. The remaining (if any) modules / units can be implemented using hardware methods such as circuits. For various devices and products applied to or integrated into the terminal, the modules / units they contain can all be implemented using hardware methods such as circuits. Different modules / units can be located in the same component (e.g., chip, circuit module, etc.) or different components within the terminal. Alternatively, at least some modules / units can be implemented using software programs that run on the processor integrated within the terminal, while the remaining (if any) modules / units can be implemented using hardware methods such as circuits.

[0132] It should be noted that, for the sake of simplicity, the foregoing method embodiments are all described as a series of actions. However, those skilled in the art should understand that this application is not limited to the described order of actions, as some operations can be performed in other orders or simultaneously according to this application. Furthermore, those skilled in the art should also understand that the embodiments described in the specification are preferred embodiments, and the actions and modules involved are not necessarily essential to this application.

[0133] The descriptions of the various embodiments provided in this application can be referenced mutually. Each embodiment has its own emphasis, and parts not described in detail in a certain embodiment can be referred to the relevant descriptions of other embodiments. For the sake of convenience and brevity, for example, the functions and operations of the various devices and equipment provided in the embodiments of this application can be referred to the relevant descriptions of the method embodiments of this application. The method embodiments and the device embodiments can also be referenced, combined or cited from each other.

[0134] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some or all of the technical features therein. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of this application.

Claims

1. An image denoising method, characterized in that, The method includes: Obtain the first pixel value of the first image and the second pixel value of the second image, wherein the second image is the previous frame of the first image; Calculate the first difference between the first pixel value and the second pixel value; First noise estimation information, scene information, and complexity information are determined based on the first difference and the first pixel value; wherein, the first noise estimation information is obtained by low-pass filtering the minimum variance, and the minimum variance is determined from the first variance of the first difference and the second variance of the first pixel value; The position of the detail pixel is determined based on the first pixel value; The first noise estimation information is adjusted based on the scene information, the complexity information, and the position of the detail pixels to obtain the second noise estimation information; A first quantity is determined based on the second noise estimation information and the first pixel value in the target pixel value matrix of the first image, and a first pixel value is determined based on each fourth pixel value in the target pixel value matrix and the first weight value corresponding to each fourth pixel value. The fourth pixel value is the pixel value within the estimation range corresponding to the second noise estimation information in the target pixel value matrix. The first quantity is the number of pixels corresponding to the fourth pixel value. The first pixel value is the weighted sum of all fourth pixel values. A second quantity is determined based on the second noise estimation information and the second pixel value in the target pixel value matrix of the second image, and a second pixel value is determined based on each fifth pixel value in the target pixel value matrix and the second weight value corresponding to each fifth pixel value. The fifth pixel value is the pixel value within the estimation range corresponding to the second noise estimation information in the target pixel value matrix. The second quantity is the number of pixels corresponding to the fifth pixel value. The second pixel value is the weighted sum of all fifth pixel values. The pixel mean is determined based on the first quantity, the second quantity, the total first pixel value, and the total second pixel value, wherein the pixel mean is the sum of the total first pixel value and the total second pixel value divided by the sum of the first quantity and the second quantity; The pixel mean and the target pixel value in the target pixel value matrix are fused based on the fusion coefficient to obtain a third pixel value. The third pixel value is the pixel value after denoising the target pixel value. The fusion coefficient is determined based on the scene information, the complexity information and the position of the detail pixel.

2. The method of claim 1, wherein, The step of determining scene information based on the first difference and the first pixel value includes: N absolute difference sums are determined based on the pixel values ​​of N consecutive first pixel value matrices among multiple first pixel values ​​of the first image, where N is a positive integer; Determine the maximum absolute difference sum from the N absolute difference sums; If the sum of the maximum absolute differences is less than the first threshold, then the scene information is determined to be a static scene.

3. The method of claim 2, wherein, The method further includes: Obtain the brightness information and noise level information of the first image; A second threshold is determined based on the brightness information; A third threshold is determined based on the noise level information; The fourth threshold is determined based on the first noise estimation information; Calculate the total value of the second threshold, the third threshold, and the fourth threshold; If the sum of the maximum absolute differences is greater than the total value, then the scene information is determined to be a dynamic scene.

4. The method of claim 1, wherein, The step of determining complexity information based on the first difference and the first pixel value includes: Calculate the third difference of the second pixel value; Determine the maximum variance from the first variance, the second variance, and the third variance; Calculate the second difference between the maximum variance and the minimum variance; Complexity information is determined based on the second difference and the brightness information of the first image.

5. The method of claim 1, wherein, Determining the position of the detail pixel based on the first pixel value includes: Based on the pixel values ​​of M consecutive second pixel value matrices among multiple first pixel values ​​of the first image, M fourth variances are determined, where M is an odd number greater than zero; The target variance is determined based on the M fourth variances; If the target variance is greater than the fifth threshold, then the position of the pixel corresponding to the center pixel value matrix of the M second pixel value matrices is determined as the position of the detail pixel. If the target variance is less than or equal to the fifth threshold, then it is determined that the position of the pixel corresponding to the center pixel value matrix of the M second pixel value matrices is not the position of the detail pixel.

6. The method of any one of claims 1-5, wherein, The step of adjusting the first noise estimation information based on the scene information, the complexity information, and the position of the detail pixels to obtain the second noise estimation information includes: The adjustment intensity is determined based on the scene information, the complexity information, and the position of the detailed pixels; The first noise estimation information is adjusted based on the adjustment intensity to obtain the second noise estimation information.

7. An image denoising apparatus characterized by comprising: The device includes: The acquisition unit is used to acquire the first pixel value of the first image and the second pixel value of the second image, wherein the second image is the previous frame image of the first image; A determining unit is configured to calculate a first difference between the first pixel value and the second pixel value; The determining unit is further configured to determine first noise estimation information, scene information, and complexity information based on the first difference and the first pixel value; wherein the first noise estimation information is obtained by low-pass filtering the minimum variance, and the minimum variance is determined from the first variance of the first difference and the second variance of the first pixel value; The determining unit is further configured to determine the position of the detail pixel based on the first pixel value; The processing unit is used to adjust the first noise estimation information based on the scene information, the complexity information, and the position of the detail pixel to obtain the second noise estimation information; The processing unit is further configured to determine a first quantity based on the second noise estimation information and the first pixel value in the target pixel value matrix of the first image, and to determine a first pixel value total based on each fourth pixel value in the target pixel value matrix and the first weight value corresponding to each fourth pixel value, wherein the fourth pixel value is a pixel value within the estimation range corresponding to the second noise estimation information in the target pixel value matrix, the first quantity is the number of pixels corresponding to the fourth pixel value, and the first pixel value total is the weighted sum of all fourth pixel values; The processing unit is further configured to determine a second quantity based on the second noise estimation information and the second pixel value in the target pixel value matrix of the second image, and to determine a total second pixel value based on each fifth pixel value in the target pixel value matrix and the second weight value corresponding to each fifth pixel value, wherein the fifth pixel value is a pixel value within the estimation range corresponding to the second noise estimation information in the target pixel value matrix, the second quantity is the number of pixels corresponding to the fifth pixel value, and the total second pixel value is a weighted sum of all fifth pixel values; The processing unit is further configured to determine a pixel average value based on the first quantity, the second quantity, the first total pixel value, and the second total pixel value, wherein the pixel average value is the sum of the first total pixel value and the second total pixel value divided by the sum of the first quantity and the second quantity; The processing unit is further configured to perform fusion processing on the mean pixel value and the target pixel value in the target pixel value matrix based on the fusion coefficient to obtain a third pixel value. The third pixel value is the pixel value after denoising the target pixel value. The fusion coefficient is determined based on the scene information, the complexity information and the position of the detail pixel.

8. A chip, characterized by It includes a processor and a communication interface, the processor being configured to cause the chip to perform the method as described in any one of claims 1 to 6.

9. A modular device, characterized by The module device includes a communication module, a power module, a storage module, and a chip, wherein: The power module is used to provide electrical energy to the module device; The storage module is used to store data and instructions; The communication module is used for internal communication within the module device, or for communication between the module device and external devices; The chip is used to perform the method as described in any one of claims 1 to 6.

10. An image denoising apparatus characterized by comprising: The device includes a memory and a processor, the memory being used to store a computer program, the computer program including program instructions, and the processor being configured to invoke the program instructions to cause the image denoising apparatus to perform the method as described in any one of claims 1 to 6.

11. A computer readable storage medium, characterized in that, The computer-readable storage medium stores computer-readable instructions that, when executed on the image denoising apparatus, cause the image denoising apparatus to perform the method of any one of claims 1 to 6.

Citation Information

Patent Citations

  • Video denoising processing method and device based on fixed scene

    CN103428409A

  • Image denoising method and device

    CN111445402A