Image denoising method and apparatus

By updating multiple matrix processing technologies and combining time filtering methods, the problem of X-ray image noise reduction and object movement is solved, and the efficient clarity of the image is improved.

WO2025011199A1PCT designated stage expired Publication Date: 2025-01-16XIMU HIGH NEW TECH JIANGSU
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2024/094428
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-07-11
Filing Date
2024-05-21
Publication Date
2025-01-16

AI Technical Summary

Technical Problem

The prior art is difficult to take into account both image noise and object movement during X-ray image noise reduction. Commonly used noise reduction methods will lead to increased noise or blurred motion, making it difficult to find a balance point.

Method used

By initializing the pixel block matrix, interpolation position matrix, interpolation weight matrix, contrast and noise model ratio matrix, detection coefficient matrix, and pixel point coefficient matrix, these matrices are updated in turn to process the current frame image, based on the updated previous frame image and the current The frame image difference value obtains the updated image output, implementing time filtering to reduce noise and motion artifacts.

Benefits of technology

Effectively remove image noise and motion artifacts, improve image clarity, and adapt to the real-time needs of image processing.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024094428_16012025_PF_FP_ABST
    Figure CN2024094428_16012025_PF_FP_ABST
Patent Text Reader

Abstract

Disclosed in the present invention are an image denoising method and apparatus. The image denoising method comprises: S110, initializing a pixel block matrix, an interpolation position matrix, an interpolation weight matrix, a contrast-to-noise model ratio matrix, a detection coefficient matrix and a pixel point coefficient matrix; S120, successively updating the contrast-to-noise model ratio matrix, the detection coefficient matrix and the pixel point coefficient matrix, so as to process an input current image frame; S130, on the basis of the difference between an updated previous image frame and the current image frame and an updated pixel point coefficient matrix, acquiring an updated current image frame output; and S140, repeatedly executing steps S120-S130.
Need to check novelty before this filing date? Find Prior Art

Description

Image noise reduction method and device Technical Field

[0001] The present invention relates to the field of image imaging technology, and in particular to an image noise reduction method and device. Background Art

[0002] Image noise reduction has always been a crucial step in the post-processing of X-ray images, especially in operating room X-ray imaging applications. While X-ray doses are low, they are limited by the detector's quantum conversion efficiency (DQE), resulting in a significant amount of noise in the image. This severely interferes with doctors' diagnoses, especially when distinguishing anatomical structures with subtle attenuation differences. From the perspective of noise sources, X-ray image noise can be primarily categorized as quantum noise, electronic noise, and quantization noise. Quantum noise, caused by the randomness of the Poisson distribution of X-ray photons, dominates the noise spectrum.

[0003] Given the hardware conditions (tube dose, filtration, grids, detectors, and other imaging chain components), image noise reduction can be achieved through certain methods. Common noise reduction methods include spatial and temporal processing. Spatial processing involves filtering or iterative calculations on a single frame to preserve image edges and detail information and reduce noise. However, this processing method often alters the local features of the image, resulting in unnatural texture features. Temporal processing, on the other hand, primarily involves performing a weighted average of multiple frames in the temporal domain. This achieves good noise reduction when the imaged object is motionless, but severe motion blur occurs when objects in the field of view are moving. A common approach to addressing this problem in the prior art is to identify the object's motion and reduce the average weight of the moving portion to minimize blur. However, this results in increased noise, forcing a balance between noise and motion blur.

[0004] Summary of the Invention

[0005] The present invention aims to solve at least one of the technical problems existing in the prior art.

[0006] To this end, the present invention proposes an image denoising method and apparatus, which reduces image noise by performing temporal filtering while taking into account the motion state of objects in the image and reducing motion artifacts.

[0007] According to a first aspect of the present application, there is provided an image noise reduction method, comprising:

[0008] S110, initializing the pixel block matrix, interpolation position matrix, interpolation weight matrix, contrast and noise model ratio matrix, detection coefficient matrix and pixel point coefficient matrix;

[0009] S120, sequentially updating the contrast-to-noise model ratio matrix, the detection coefficient matrix, and the pixel coefficient matrix to process the input current frame image;

[0010] S130, obtaining an updated current frame image output based on the updated difference between the previous frame image and the current frame image, and the updated pixel coefficient matrix;

[0011] S140. Repeat steps S120 to S130.

[0012] In the above method, the step of obtaining the pixel block matrix includes: splitting the image of predetermined pixels into M*M BLOCKs, each BLOCK having a size of N*N pixels; M and N are integers greater than or equal to 1; calculating the index of the BLOCK where each pixel point is located, and filling the index of the BLOCK where each pixel point is located into the corresponding matrix position to obtain the pixel block matrix corresponding to the image.

[0013] In the above method, the steps of obtaining the interpolation position matrix and the interpolation weight matrix include: moving a predetermined number of pixels inward along the edge of the image to divide the image into a predetermined number of regions; calculating the value of the interpolation position and the value of the interpolation weight of each pixel point in the predetermined number of regions; filling the value of the interpolation position of each pixel point into the corresponding matrix position to obtain the interpolation position matrix corresponding to the image; filling the value of the interpolation weight of each pixel point into the corresponding matrix position to obtain the interpolation weight matrix corresponding to the image.

[0014] In the above method, the step of calculating the interpolation position value and the interpolation weight value of each pixel point in a predetermined number of areas includes: establishing an interpolation position index based on the position of the current pixel point and the area to which the current pixel point belongs; the current pixel point has four interpolation positions; and based on the interpolation position index, searching the pixel block matrix for the interpolation weight values ​​corresponding to the four interpolation positions of the current pixel point.

[0015]

[0014] In the above method, the step of updating the detection coefficient matrix includes: traversing each pixel point in the image and calculating the corresponding pixel index; using the pixel index as the index, inquiring the value of the interpolation position and the value of the interpolation weight of the current pixel point in the interpolation position matrix and the interpolation weight matrix; using the value of the interpolation position as the index, inquiring the corresponding contrast and noise model ratio in the updated contrast and noise model ratio matrix; weighted summing the corresponding contrast and noise model ratio and the corresponding interpolation weight value, and assigning the obtained value to the corresponding current element in the detection coefficient matrix.

[0016] In the above method, the step of updating the pixel point coefficient matrix includes: multiplying each element in the updated detection coefficient matrix by the noise reduction level, and assigning the obtained value to the corresponding element in the pixel point coefficient matrix to update the pixel point coefficient matrix.

[0017] In the above method, the step of obtaining the updated current frame image output based on the difference between the updated previous frame image and the current frame image, and the updated pixel coefficient matrix, includes: subtracting the updated previous frame image from the current frame image, multiplying the obtained difference by the updated pixel coefficient matrix, summing the obtained product value with the current frame image to obtain a corresponding result value; and assigning the corresponding result value to the current frame image to obtain an updated current frame image.

[0018] According to a second aspect of the present application, an image noise reduction method and apparatus is provided, comprising:

[0019] Initialization module, used to initialize the pixel block matrix, interpolation position matrix, interpolation weight matrix, contrast and noise model ratio matrix, detection coefficient matrix and pixel point coefficient matrix;

[0020]

[0019] A matrix update module, configured to update the contrast-to-noise model ratio matrix, the detection coefficient matrix, and the pixel coefficient matrix to process the input current frame image;

[0021]

[0020] An image update module is used to obtain an updated current frame image output based on the difference between the updated previous frame image and the current frame image, and the updated pixel coefficient matrix.

[0022] According to a third aspect of the present application, a terminal is provided, comprising a memory and a processor, wherein the memory stores a computer program executable on the processor, and the processor executes any one of the above-described image denoising methods when executing the computer program.

[0023] According to a fourth aspect of the present application, a computer-readable storage medium is provided, wherein the computer-readable storage medium includes a stored computer program, wherein when the computer program is executed by a processor, the terminal where the storage medium is located is controlled to execute any of the above-mentioned image denoising methods.

[0024] According to the technical solution provided by the present application, there are at least the following beneficial effects: after initializing the pixel block matrix, interpolation position matrix, interpolation weight matrix, contrast and noise model ratio matrix, detection coefficient matrix and pixel coefficient matrix, the contrast and noise model ratio matrix, detection coefficient matrix and pixel coefficient matrix are updated in sequence to process the input current frame image. Each time a frame image is processed, the contrast and noise model ratio matrix, detection coefficient matrix and pixel coefficient matrix are updated once, and the contrast and noise model ratio matrix, detection coefficient matrix and pixel coefficient matrix are updated in real time to adapt to the processing of subsequent images. Based on the difference between the updated previous frame image and the current frame image, and the updated pixel coefficient matrix, the updated current frame image output is obtained, and the image noise and motion artifacts of the updated current frame image are effectively removed, and the image is clear.

[0025] Other features and advantages of the present application will be described in the following description, and in part will become apparent from the description, or will be understood by practicing the present application. The purposes and other advantages of the present application can be achieved and obtained through the structures particularly pointed out in the description, claims and drawings. BRIEF DESCRIPTION OF THE DRAWINGS

[0026]

[0025] The above and / or additional aspects and advantages of the present invention will become apparent and readily understood from the description of the embodiments with reference to the following drawings, in which:

[0027] FIG1 is a flow chart of an image noise reduction method provided by an embodiment of the present application;

[0028]

[0027] FIG2 is a schematic diagram of image segmentation provided in an embodiment of the present application;

[0029] FIG3 is a schematic diagram of image segmentation provided in an embodiment of the present application;

[0030] FIG4 is an interpolation position diagram corresponding to each pixel point provided in an embodiment of the present application;

[0031] FIG5 is a schematic diagram of elements in an interpolation weight matrix provided in an embodiment of the present application;

[0032]

[0031] FIG6 is a schematic diagram of a noise model provided in an embodiment of the present application;

[0033] FIG7 is a schematic diagram of image element correction provided by an embodiment of the present application;

[0034]

[0033] FIG8 is a process diagram of image noise elimination provided by an embodiment of the present application;

[0035] FIG9 is a structural block diagram of an image noise reduction device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0036] In order to make the purpose, technical solutions and advantages of this application more clear, the following further describes this application in detail with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain this application and are not intended to limit this application.

[0037] It should be noted that although the device schematics illustrate functional module divisions and the flowcharts illustrate logical sequences, in certain circumstances, the steps shown or described may be performed in a sequence that differs from the module divisions in the device or the sequence in the flowcharts. The terms "first," "second," and so on, used in the specification, claims, and drawings, are used to distinguish similar objects and are not intended to describe a specific sequence or precedence.

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

[0039]

[0038] As shown in FIG1, the first embodiment of the present application provides an image noise reduction method, the method comprising the following steps:

[0040]

[0039] S110, initialize the pixel block matrix, interpolation position matrix, interpolation weight matrix, contrast and noise model ratio matrix, detection coefficient matrix and pixel point coefficient matrix.

[0041] In this step, as shown in Figure 2, a 1024*1024 pixel image is first divided into 16*16 blocks, each 64*64 pixels in size. The index of the block in which each pixel resides is then calculated. The pixel block matrix is ​​the same size as the image frame, and each element in the pixel block matrix represents the index of the block to which the corresponding pixel belongs. Therefore, by traversing the index of the block to which each pixel in the image frame belongs and filling the index of the block to which each pixel belongs into the corresponding matrix position, the pixel block matrix corresponding to the frame image can be obtained.

[0042] In this step, as shown in Figure 3, the image is divided into the first, second, ..., and ninth regions by moving 32 pixels inward along the edge of the image. The first region is the center region, the second, third, fourth, and fifth regions are the boundary regions, and the sixth, seventh, eighth, and ninth regions are the corner regions. The width and height of the first region are both integer multiples of a block, the height or width of the second, third, fourth, and fifth regions are half of a block, and the width and height of the sixth, seventh, eighth, and ninth regions are both half of a block.

[0043] In this step, the size of the interpolation position matrix and the interpolation weight matrix is ​​consistent with the size of a frame image. Before obtaining the interpolation position matrix and the interpolation weight matrix, the interpolation position value and the interpolation weight value of each pixel point in the above nine areas need to be calculated respectively. The specific process is as follows:

[0044] As shown in Figure 4, each pixel in each region has four interpolation positions, denoted by LU, LB, RU, and RB. Correspondingly, each pixel has four interpolation weights, each calculated as the product of the distance from the current pixel to the horizontal and vertical edges of the block in which it resides.

[0045] In the first area, the position of the current pixel minus half a BLOCK is recorded as G1 (the width and height of the BLOCK are 64, and half a BLOCK is 32). Then G1 is used as the interpolation position index to search in the pixel block matrix, and the found value is recorded as LU, RU=LU+1, LB=LU+16, and RB=LB+1. As shown in Figure 5, the interpolation weight corresponding to the current pixel at the interpolation position LU is the product of the distance from the current pixel to the right edge and bottom edge of the BLOCK where it is located, that is, (64-dx)*(64-dy), where dx and dy are the distances from the current pixel to the left edge and top edge of the BLOCK where it is located, respectively. Similarly, the interpolation weight values ​​corresponding to the current pixel at the interpolation positions LB, RU, and RB are (64-dx)*dy, dx*(64-dy), and dx*dy, respectively.

[0046] In the second region, the interpolation positions LU and RU for each pixel are both 0. The current pixel position minus half a block is denoted as G2. G2 is then used as the interpolation position index for lookup in the pixel block matrix. The resulting value is denoted as LB, where RB = LB + 1. For each pixel in the second region, the interpolation weights corresponding to interpolation positions LU, RU, LB, and UB are 0, 0, 64-dx, and dx, respectively.

[0047] In the third region, the interpolation positions LB and RB for each pixel are both 0. The current pixel position minus half a block is denoted as G3. G3 is then used as the interpolation position index for lookup in the pixel block matrix. The found value is denoted as LU, where RU = LU + 1. For each pixel in the third region, the interpolation weights corresponding to interpolation positions LU, RU, LB, and UB are 64-dx, dx, 0, and 0, respectively.

[0048] In the fourth region, the interpolation positions LU and LB for each pixel are both 0. The current pixel position minus half a block is denoted as G4. G4 is then used as the interpolation position index to search the pixel block matrix. The resulting value is denoted as RU, where RB = RU. For each pixel in the fourth region, the interpolation weights corresponding to interpolation positions LU, RU, LB, and UB are 0, 64-dy, 0, and dy, respectively.

[0049] For each pixel in the fifth region, the interpolation positions RU and RB are both 0. The current pixel position minus half a block is denoted as G5. G5 is then used as the interpolation position index to search the pixel block matrix. The resulting value is denoted as LU, where RU = LU. For each pixel in the fifth region, the interpolation weights corresponding to interpolation positions LU, RU, LB, and UB are 64-dy, 0, dy, and 0, respectively.

[0050] In the sixth region, the values ​​of the interpolation positions RU, RB, LU and LB of each pixel point are all 0, and the values ​​of the interpolation weights corresponding to each pixel point in the sixth region at the interpolation positions RU, RB, LU and LB are 0, 64*64, 0, 0 respectively.

[0051] In the seventh area, the values ​​of the interpolation positions RU, RB, LU and LB of each pixel point are 16*(16-1), 0, 0, 0, respectively, and the values ​​of the interpolation weights corresponding to the interpolation positions RU, RB, LU and LB of each pixel point in the seventh area are 64*64, 0, 0, 0, respectively.

[0052] In the eighth region, the values ​​of the interpolation positions RU, RB, LU and LB of each pixel point are 0, 0, 0, 16-1 respectively, and the values ​​of the interpolation weights corresponding to the interpolation positions RU, RB, LU and LB of each pixel point in the eighth region are 0, 0, 0, 64*64 respectively.

[0053] In the ninth region, the values ​​of the interpolation positions RU, RB, LU, and LB of each pixel point are 0, 0, 16*16-1, and 0, respectively, and the values ​​of the interpolation weights corresponding to the interpolation positions RU, RB, LU, and LB of each pixel point in the ninth region are 0, 0, 64*64, and 0, respectively.

[0054] Afterwards, the values ​​of the four interpolation positions corresponding to each pixel point in the nine areas are filled into the corresponding matrix positions to obtain the interpolation position matrix corresponding to the image; similarly, the values ​​of the interpolation weights corresponding to each pixel point at the four interpolation positions in the nine areas are filled into the corresponding matrix positions to obtain the interpolation weight matrix corresponding to the image.

[0055] In this step, the contrast-to-noise model ratio matrix size is 16*16, the initial value of each element in the matrix is ​​0, and each element in the matrix is ​​updated when processing each frame of the image.

[0056] In this step, the size of the detection coefficient matrix and the pixel coefficient matrix are both 1024*1024, the initial value of each element in the matrix is ​​0, and each element in the matrix is ​​updated when processing each frame of the image.

[0057] S120 , sequentially updating the contrast-to-noise model ratio matrix, the detection coefficient matrix, and the pixel coefficient matrix to process the input current frame image.

[0058] In the field of X-ray machines, X-ray images are captured in frames. Each frame is called an image, and the image size is a 16-bit 1024*1024 unsigned short integer. Each captured frame serves as input to the image denoising method. After processing, the method produces a clear image, free of noise and motion artifacts. This image is then displayed on the software interface for doctors to observe and diagnose.

[0059] In this step, contrast refers to the difference map between the previous frame image and the current frame image, that is, the absolute value of the difference between the pixel values ​​of the previous frame image and the current frame image, which is a matrix with a size of 1024*1024.

[0060] The noise model is a noise model established during the experiment. A series of continuous frames are collected, including all combinations of kV voltage (40kV: 80kV) and PMMA acrylic (0mm: 20mm: 180mm), to calculate the noise model that depends on voltage and brightness. In this case, the noise model can be used to estimate the noise of the pixel in the image based on its voltage and brightness. The noise model is essentially a function model about voltage (40kv-120kv) and brightness (grayscale value [0, 65535]), as shown in Figure 6. The function model inputs voltage and brightness and outputs noise. In actual application, when using the noise model, it is only necessary to read the model data from the bat file and put it into the query table. According to the voltage when the image was collected and the grayscale value (brightness) of the current frame, the query can be performed, as shown in formula (1). z=f(kv, bright) (1)

[0061] In this step, contrast is a 1024*1024 matrix, and the noise model is a scalar value calculated using experimental data according to formula (1). Therefore, the ratio of contrast to the noise model is the ratio of each element in the contrast matrix to the noise model. Each pixel corresponds to a block, and a block contains many pixels. The cumulative sum of the ratios of contrast to the noise model for all pixels in a block constitutes an element of the contrast to noise model ratio matrix. A frame of image is divided into 16*16 blocks, so the contrast to noise model ratio matrix is ​​a 16*16 matrix.

[0062] For each frame of image, subtract the previous frame and take the absolute value to get the contrast. Then compare it with the noise model to get the contrast and noise model ratio matrix. Then overwrite the previous value to achieve the purpose of updating.

[0063] In this step, after updating the contrast-to-noise model ratio matrix using the current frame image and the previous frame image, each element in the matrix is ​​then corrected using a piecewise function, as shown in Figure 7. When an element in the contrast-to-noise model ratio matrix is ​​greater than the first predetermined value Hi, the current element is changed to the first set value CoefHi; if the element in the contrast-to-noise model ratio matrix is ​​less than the second predetermined value Low, the current element is changed to the second set value CoefLow; if the element is between the first predetermined value Hi and the second predetermined value Low, the current element is updated using linear interpolation. It should be noted that the first predetermined value Hi, the second predetermined value Low, the first set value CoefHi, and the second set value CoefLow are empirical values ​​obtained through a large number of experiments.

[0064] In this step, each pixel in the image is traversed, and the corresponding pixel index is calculated. Using the pixel index as the index, the interpolation position matrix and the interpolation weight matrix are used to query the interpolation position LU, LB, RU, and RB values ​​of the current pixel and the corresponding interpolation weight value. Then, using the interpolation position value as the index, the contrast-to-noise model ratio is searched in the updated contrast-to-noise model ratio matrix. The contrast-to-noise model ratio is then weighted and summed with the corresponding interpolation weight value, and the final value is assigned to the current element of the detection coefficient matrix. After traversing the image, each element of the detection coefficient matrix is ​​updated.

[0065] In this step, the noise reduction level array is an integer array with 21 noise reduction levels. The array elements are obtained through experimental data, and the user can select a value in it as the noise reduction level; the size of the pixel coefficient matrix is ​​1024*1024, which is obtained by multiplying the updated detection coefficient matrix by the noise reduction level, that is, each element of the updated detection coefficient matrix is ​​multiplied by the noise reduction level, and then the obtained value is assigned to the corresponding element in the pixel coefficient matrix, thereby realizing the update of the pixel coefficient matrix.

[0066] S130 , obtaining an updated current frame image output based on the updated difference between the previous frame image and the current frame image, and the updated pixel coefficient matrix.

[0067] In this step, the updated previous frame image is subtracted from the current frame image, and the resulting difference is then multiplied by the updated pixel coefficient matrix. The resulting product is then added to the current frame image to obtain the corresponding result value; the corresponding result value is then assigned to the current frame image to obtain the updated current frame image. As shown in Figure 8, element A is a pixel in the updated previous frame image; the pixel corresponding to A and the current frame image is B, and AB is the pixel difference between the two frames; the pixel corresponding to A and the updated pixel coefficient matrix is ​​C; the pixel corresponding to A and the updated current frame image is E, where E = (AB) * C + B. The remaining pixels are updated similarly. At this point, the current frame image has been noise-eliminated.

[0068] S140. Repeat steps S120 to S130.

[0069] Before the next frame image arrives, the updated current frame image is first placed in the cache of the previous frame image to replace the updated previous frame image; when the next frame image is received, the next frame image is used as the current frame image to repeat steps S120 to S130 for processing.

[0070] The image denoising method described in this application reduces noise in each frame by performing temporal filtering, while also taking into account the motion of objects in the image and reducing motion artifacts. This image denoising method significantly improves image quality, helping doctors make more effective diagnoses.

[0071] The following are embodiments of the apparatus of the present application, which can be used to implement the method embodiments of the present application. For details not disclosed in the apparatus embodiments of the present application, please refer to the method embodiments of the present invention.

[0072] As shown in FIG9 , an embodiment of the present application provides an image noise reduction device, which includes an initialization module 81 , a matrix update module 82 and an image update module 83 .

[0073] in,

[0074] Initialization module 81, used to initialize the pixel block matrix, interpolation position matrix, interpolation weight matrix, contrast and noise model ratio matrix, detection coefficient matrix and pixel point coefficient matrix;

[0075] A matrix updating module 82 is used to update the contrast-to-noise model ratio matrix, the detection coefficient matrix, and the pixel coefficient matrix to process the input current frame image;

[0076] The image updating module 83 is configured to obtain an updated current frame image output based on the difference between the updated previous frame image and the current frame image, and the updated pixel coefficient matrix.

[0077] The above-mentioned image noise reduction method and noise reduction device can be applied to a mobile G-arm or C-arm X-ray machine system, and are suitable for solving the image blur problem caused by the physiological movement of human tissue in spinal-related surgery.

[0078] An embodiment of the present application further provides a terminal, including a memory and a processor, wherein the memory stores a computer program that can be run on the processor, and when the processor runs the computer program, the image noise reduction method shown in FIG1 is executed.

[0079] Specifically, a processor may be a CPU, a general-purpose processor, a DSP, an ASIC, an FPGA, or other programmable logic device, a transistor logic device, a hardware component, or any combination thereof. It may implement or execute the various exemplary logic blocks, modules, and circuits described in conjunction with the disclosure of this application. A processor may also be a combination that implements computing functions, such as a combination of one or more microprocessors, a combination of a DSP and a microprocessor, and the like.

[0080] Specifically, the processor is connected to the memory via a bus, which may include a path for transmitting information. The bus may be a PCI bus or an EISA bus, etc. The bus may be divided into an address bus, a data bus, a control bus, etc.

[0081] The memory may be a ROM or other type of static storage device that can store static information and instructions, a RAM or other type of dynamic storage device that can store information and instructions, or an EEPROM, CD-ROM or other optical disk storage, optical disc storage (including compact disc, laser disc, optical disc, digital versatile disc, Blu-ray disc, etc.), magnetic disk storage medium or other magnetic storage device, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and can be accessed by a computer, but is not limited to these.

[0082] Optionally, the memory is used to store the computer program code for executing the solution of the present application, and the processor controls the execution. The processor is used to execute the application program code stored in the memory to implement the operation of the image noise reduction device provided in the embodiment shown in Figure 9.

[0083] An embodiment of the present application further provides a computer-readable storage medium, which includes a stored computer program, wherein when the computer program is executed by a processor, the terminal where the storage medium is located is controlled to execute the image noise reduction method shown in FIG1 .

[0084] The device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate, i.e., they may be located in one place or distributed across multiple network units. Some or all of the modules may be selected based on actual needs to achieve the objectives of this embodiment.

[0085] Those skilled in the art will appreciate that all or some of the steps and systems in the method disclosed above can be implemented as software, firmware, hardware, and appropriate combinations thereof. Some physical components or all physical components can be implemented as software executed by a processor, such as a central processing unit, a digital signal processor, or a microprocessor, or implemented as hardware, or implemented as an integrated circuit, such as an application-specific integrated circuit. Such software can be distributed on a computer-readable medium, and the computer-readable medium can include computer storage media (or non-transitory media) and communication media (or temporary media). As known to those skilled in the art, the term computer storage media is included in any method or technology for storing information (such as computer-readable instructions, data structures, program modules, or other data) and is volatile and non-volatile, removable, and non-removable. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory, or other memory technology, CD-ROM, digital versatile disks (DVD), or other optical disk storage, magnetic cassettes, magnetic tapes, disk storage, or other magnetic storage devices, or any other medium that can be used to store desired information and can be accessed by a computer. Furthermore, as is well known to those skilled in the art, communication media typically embodies computer-readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave or other transport mechanism, and may include any information delivery media.

[0086] The above is a specific description of the preferred implementation of the present application, but the present application is not limited to the above implementation mode. Technical personnel familiar with the field can also make various equivalent modifications or substitutions without violating the spirit of the present application. These equivalent modifications or substitutions are all included in the scope defined by the claims of the present application.

Claims

1. An image denoising method, characterized in that: The following steps are involved: S110, initializing a pixel block matrix, an interpolation position matrix, an interpolation weight matrix, a contrast and noise model ratio matrix, a detection coefficient matrix, and a pixel point coefficient matrix; S120, sequentially updating the contrast and noise model ratio matrix, the detection coefficient matrix and the pixel coefficient matrix to process the input current frame image; S130, obtaining an updated current frame image output based on the updated difference between the previous frame image and the current frame image, and the updated pixel coefficient matrix; S140. Repeat steps S120 to S130.

2. The image denoising method according to claim 1, characterized in that: The step of obtaining the pixel block matrix comprises: Split the image of predetermined pixels into M*M blocks, each block has a size of N*N pixels; M and N are integers greater than or equal to 1; The index of the BLOCK where each pixel point is located is calculated, and the index of the BLOCK where each pixel point is located is filled into the corresponding matrix position to obtain the pixel block matrix corresponding to the image.

3. The image denoising method according to claim 1, characterized in that: The step of obtaining the interpolation position matrix and the interpolation weight matrix comprises: Moving inward along the edge of the image by a predetermined number of pixels to divide the image into a predetermined number of regions; Calculating the value of the interpolation position and the value of the interpolation weight of each pixel point in a predetermined number of regions; Fill the value of the interpolation position of each pixel point into the corresponding matrix position to obtain the interpolation position matrix corresponding to the image; The interpolation weight value of each pixel point is filled into the corresponding matrix position to obtain the interpolation weight matrix corresponding to the image.

4. The image denoising method according to claim 3, characterized in that: The step of calculating the value of the interpolation position and the value of the interpolation weight of each pixel point in the predetermined number of regions comprises: An interpolation position index is established according to the position of the current pixel and the region to which the current pixel belongs; the current pixel has four interpolation positions; Based on the interpolation position index, the values ​​of the interpolation weights respectively corresponding to the current pixel point at the four interpolation positions are searched in the pixel block matrix.

5. The image denoising method according to claim 4, characterized in that: The step of updating the detection coefficient matrix comprises: Traverse each pixel in the image and calculate the corresponding pixel index; Using the pixel index as the index, in the interpolation position matrix and the interpolation weight matrix, query the value of the interpolation position and the value of the interpolation weight of the current pixel point; Using the value of the interpolation position as an index, querying the corresponding contrast-to-noise model ratio in the updated contrast-to-noise model ratio matrix; The corresponding contrast-to-noise model ratio and the corresponding interpolation weight value are weighted and summed, and the obtained value is assigned to the corresponding current element in the detection coefficient matrix.

6. The image denoising method according to claim 1, characterized in that: The step of updating the pixel coefficient matrix comprises: Each element in the updated detection coefficient matrix is ​​multiplied by the noise reduction level, and the obtained value is assigned to the corresponding element in the pixel point coefficient matrix to update the pixel point coefficient matrix.

7. The image denoising method according to claim 1, characterized in that: The step of obtaining the updated current frame image output based on the difference between the updated previous frame image and the current frame image and the updated pixel coefficient matrix comprises: Subtracting the updated last frame image from the current frame image, multiplying the obtained difference by the updated pixel coefficient matrix, and summing the obtained product value with the current frame image to obtain a corresponding result value; The corresponding result value is assigned to the current frame image to obtain an updated current frame image.

8. An image noise reduction device, characterized in that: include: An initialization module is used to initialize the pixel block matrix, interpolation position matrix, interpolation weight matrix, contrast and noise model ratio matrix, detection coefficient matrix and pixel point coefficient matrix; A matrix updating module, used for updating the contrast and noise model ratio matrix, the detection coefficient matrix and the pixel coefficient matrix, so as to process the input current frame image; The image updating module is used to obtain the updated current frame image output based on the difference between the updated previous frame image and the current frame image, and the updated pixel coefficient matrix.

9. A terminal comprising a memory and a processor, wherein the memory stores a computer program that can be run on the processor, characterized in that: When the processor runs the computer program, the image noise reduction method according to any one of claims 1 to 7 is performed.

10. A computer-readable storage medium, characterized in that: The computer-readable storage medium includes a stored computer program, wherein when the computer program is executed by a processor, the terminal where the storage medium is located is controlled to execute the image noise reduction method according to any one of claims 1 to 7.

Citation Information

Patent Citations

  • Image enhancement method and device

    CN104680484A

  • Image denoising method, computer device and computer readable storage medium

    CN109639929A

  • Image noise reduction method and device, filtering data processing method and device and computer equipment

    CN115131229A

  • Image noise reduction method and device

    CN116862799A

  • Denoising method, terminal, and storage medium

    WO2021114868A1