WO2021135702A1 - 一种视频去噪方法和电子设备 - Google Patents
一种视频去噪方法和电子设备 Download PDFInfo
- Publication number
- WO2021135702A1 WO2021135702A1 PCT/CN2020/129864 CN2020129864W WO2021135702A1 WO 2021135702 A1 WO2021135702 A1 WO 2021135702A1 CN 2020129864 W CN2020129864 W CN 2020129864W WO 2021135702 A1 WO2021135702 A1 WO 2021135702A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- image
- gpu
- denoising
- video frame
- block
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/70—Denoising; Smoothing
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/50—Image enhancement or restoration using two or more images, e.g. averaging or subtraction
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20021—Dividing image into blocks, subimages or windows
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20172—Image enhancement details
- G06T2207/20192—Edge enhancement; Edge preservation
Definitions
- This application relates to the field of image processing technology, and in particular to a video denoising method and an electronic device.
- the existing image denoising algorithms include pixel-based denoising algorithms, block matching-based denoising algorithms, transform domain-based denoising algorithms, and machine learning denoising algorithms. In actual use, these algorithms either have poor denoising effect, or the algorithm takes a long time to execute.
- Non-local Bayes (NLB) denoising algorithm is a compromise choice in denoising effect and execution time obtained by experiments in recent years.
- the NLB denoising method is a two-step denoising.
- a negative definite matrix may appear due to the subtraction operation of the covariance matrix, which makes the image denoising effect not completely stable.
- the embodiments of the present application provide a video denoising method and a corresponding electronic device to improve the stability of the denoising effect.
- an embodiment of the present application discloses a video denoising method, which is applied to an electronic device having a central processing unit (CPU) and an image processing unit GPU.
- the method includes:
- the CPU obtains video data, and decodes the video data to obtain a video frame image
- the GPU loads the video frame image from the CPU
- the GPU denoises the video frame image according to a preset non-local average NLM denoising algorithm to obtain a first image
- the GPU performs denoising on the first image according to a preset non-local Bayesian NLB denoising algorithm to obtain a second image;
- the CPU obtains the second image from the GPU, and encodes the second image to obtain denoised video data.
- the embodiment of the application also discloses a video denoising method, which is applied to an electronic device with a CPU and a GPU, and the method includes:
- the CPU obtains video data, and decodes the video data to obtain a video frame image
- the GPU loads the video frame image from the CPU
- the GPU uses a preset first image denoising algorithm to denoise the video frame image process to obtain the first image, or uses a preset first image denoising algorithm to denoise the video frame Image process denoising to obtain a first image, and using a preset second image denoising algorithm to denoise the first image to obtain a second image;
- the CPU obtains a first image from the GPU and encodes the first image to obtain denoised video data; or obtains a second image from the GPU and encodes the second image to obtain Video data after denoising.
- the embodiment of the application also discloses an electronic device, including a central processing unit CPU and an image processor GPU;
- the CPU includes:
- the video data decoding module is used to obtain video data, and decode the video data to obtain a video frame image
- a video data encoding module configured to obtain a second image from the GPU, and encode the second image to obtain denoised video data
- the GPU includes:
- a video frame image loading module configured to load the video frame image from the CPU
- the first image denoising module is configured to denoise the video frame image according to a preset non-local average NLM denoising algorithm to obtain a first image;
- the second image denoising module is used to denoise the first image according to a preset non-local Bayesian NLB denoising algorithm to obtain a second image.
- the embodiment of the application also discloses an electronic device, including a CPU and a GPU;
- the CPU includes:
- the video data decoding module is used to obtain video data, and decode the video data to obtain a video frame image
- the video data encoding module is configured to obtain a first image from the GPU, and encode the first image to obtain denoised video data; or, obtain a second image from the GPU, and perform analysis on the second image.
- the image is encoded to obtain the denoised video data;
- the GPU includes:
- a video frame image loading module configured to load the video frame image from the CPU
- a noise level determining module configured to determine the noise level of the video frame image
- the image denoising module is configured to use a preset first image denoising algorithm to process the video frame image to obtain the first image according to the noise level, or use a preset first image denoising algorithm to The video frame image process denoises to obtain a first image, and a preset second image denoising algorithm is used to denoise the first image to obtain a second image.
- the embodiment of the present application also discloses a device, including: a processor, a memory, and a computer program stored on the memory and capable of running on the processor.
- the computer program is executed by the processor, the implementation is as follows: Steps of any of the video denoising methods described above.
- the embodiment of the present application also discloses a computer-readable storage medium, the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps of the video denoising method as described in any of the above are implemented .
- the NLM denoising algorithm is used to replace the NLB denoising algorithm to perform the first denoising, avoiding the use of the NLB denoising algorithm in the first step. Denoising, leading to the problem of unstable denoising effect.
- FIG. 1 is a flowchart of steps of a video denoising method provided by an embodiment of the present application
- FIG. 2 is a flowchart of the steps of another video denoising method provided by an embodiment of the present application
- FIG. 3 is a schematic diagram of a first search box corresponding to a first sub-image in an embodiment of the present application
- FIG. 4 is a flowchart of the steps of another video denoising method provided by an embodiment of the present application.
- FIG. 5 is a structural block diagram of an electronic device provided by an embodiment of the present application.
- Fig. 6 is a structural block diagram of another electronic device provided by an embodiment of the present application.
- the NLB denoising method uses two-step denoising.
- the reason for the two-step denoising is that the denoising effect of the NLB algorithm depends on the accuracy of the grouping of similar blocks.
- the first step due to the presence of noise, the grouping of blocks will be disturbed.
- the image with a lot of noise interference removed will be more accurate for block matching.
- the original noisy image and the denoised image are divided into blocks according to the denoised image, and the noisy image is used in the NLB algorithm for denoising again.
- Another reason is that the mean and variance of the image after denoising is closer to the image without noise.
- the NLB denoising algorithm is:
- P is the estimation of the image block after denoising
- Is the expectation of a noisy image block
- ⁇ is the noise variance
- the traditional NLB denoising method adopts the NLB denoising algorithm in two steps of denoising.
- denoising in one step is the NLB denoising algorithm in two steps of denoising.
- One of the core concepts of the embodiments of the present application is that the two-step denoising mechanism of the NLB denoising method is used, and the two steps of denoising can be optimized separately.
- non-local mean NLM (non-local means) denoising can be used in the first step of denoising.
- the NLM denoising algorithm is used to denoise, the NLB denoising is used for the second denoising.
- the NLM denoising algorithm is also optimized and accelerated in the embodiment of the present application.
- the embodiment of the present application also optimizes the NLB denoising algorithm and accelerates the operation.
- the above-mentioned improved algorithm is not only suitable for video denoising, but also for denoising images in other fields, such as drone images, remote sensing images, scanned images, fax images, medical images, military reconnaissance images, and so on.
- Step 101 The CPU obtains video data, and decodes the video data to obtain a video frame image
- the user can input the captured video to an electronic device with a CPU and GPU for denoising processing.
- the CPU obtains the video data taken by the user, decodes the video data into multiple video frame images, and performs image denoising processing by the GPU.
- both CPU and GPU can run image denoising algorithms. Based on the structural characteristics of GPU, GPU is more suitable for image processing.
- the execution process of the image denoising algorithm can be improved according to the multi-threaded parallel structure of the GPU, and the image denoising process can be accelerated by the GPU to shorten the processing time.
- Step 102 The GPU loads the video frame image from the CPU;
- the GPU can allocate the video memory size according to the size of the video frame image, and load the video frame image into the video memory.
- Step 103 The GPU denoises the video frame image according to a preset non-local average NLM denoising algorithm to obtain a first image;
- the NLB denoising method uses two-step denoising.
- the two-step denoising is implemented by using the NLB denoising algorithm.
- the NLM denoising algorithm is used to replace the NLB denoising algorithm to perform the first step of denoising.
- Step 104 The GPU denoises the first image according to a preset non-local Bayesian NLB denoising algorithm to obtain a second image;
- the GPU uses the NLB denoising algorithm to denoise each pixel of the first image to obtain the second image.
- Step 105 The CPU obtains the second image from the GPU, and encodes the second image to obtain denoised video data.
- the CPU encodes all the second images to obtain the denoised video data.
- the NLM denoising algorithm is used to replace the NLB denoising algorithm to perform the first denoising, avoiding the use of the NLB denoising algorithm in the first step. Denoising, leading to the problem of unstable denoising effect.
- FIG. 2 there is shown a step flow chart of another video denoising method provided by an embodiment of the present application.
- the modified method is applied to an electronic device with a central processing unit (CPU) and an image processing unit (GPU).
- the specific method may include the following steps :
- Step 201 The CPU obtains video data, and decodes the video data to obtain a video frame image
- Step 202 The CPU fills the video frame image
- the image block is usually determined with the pixel as the center. For example, a 5x5 image block is determined by one pixel. For the pixels on the border of the video frame, the image block cannot be determined with it as the center, so the image block matching operation cannot be performed. Therefore, it is necessary to fill in the original video frame image, so that the pixels of the original boundary can also perform the operation of the image block without separate judgment.
- Step 203 The GPU loads the video frame image from the CPU;
- the GPU is loaded from the CPU, and the video frame image is filled by the CPU.
- Step 204 The GPU denoises the video frame image according to a preset non-local average NLM denoising algorithm to obtain a first image;
- the NLM denoising algorithm is optimized to improve the effect of image denoising.
- a reference block for each pixel in the image, construct a patch with it as the center, called a reference block, for example, an image block with a size of 5x5; then construct a patch with the reference block as the center Search box, such as a 16x16 search box.
- search for similar image blocks of the reference image block in the search box Specifically, for each pixel in the search box, use this point as the center to construct an adjacent image block, and then determine whether the adjacent image block is Similar image blocks.
- the similarity of two image blocks can be measured by pixel distance. Compare the pixel distance between all pixels in the two image blocks:
- i is the reference image block
- j is the adjacent image block.
- the 25 pixels of one image block are sequentially set to the pixel distance of the pixel at the corresponding position of the other image block.
- the pixel distance is measured in absolute value.
- the pixel distance refers to the difference in pixel values. For example, if the value of one pixel is 255 and the value of another pixel is 240, the pixel distance is 15.
- the adjacent image block is considered to be a similar image block.
- Z(i) is a normalized parameter, that is, the sum of all weights.
- h 2 is the size of the image block.
- the existing weight calculation method only considers the pixel distance, and the traditional NLM algorithm will blur the edges of the image while denoising.
- the calculation method of the weight is improved, and the weight is calculated by considering the coordinate distance, which improves the edge preservation of the algorithm and better preserves the details of the image edge after denoising.
- the coordinate distance refers to the distance between two pixels in the image, that is, the closer the point to the reference point, the greater the weight.
- the weight can be specifically calculated according to the following formula:
- C(i) is a normalized parameter, Is the original pixel distance, which represents the pixel distance of the entire image block; d(i,j) represents the pixel distance between pixel i and pixel j.
- D(i,j) represents the coordinate distance between the pixel point i and the pixel point j
- ⁇ s is the variance of the pixel distance
- the curve of the weight function is made steeper through the function f(x), which can reduce the weight of image blocks with lower similarity.
- Similar image blocks of the reference image block will include the reference image block itself, so the reference image block itself occupies a large weight. If the center pixel of the reference block itself is a noise point, it will not be conducive to noise removal.
- This embodiment of this application has been improved by multiplying the weight of the reference image block itself by a coefficient less than 1 (for example, 0.5), by reducing the weight of the reference image block itself, thereby reducing the pixel itself is a single point of noise. The error.
- the step 204 may include the following sub-steps:
- Sub-step S11 the GPU allocates threads to the pixels of the video frame image
- the GPU executes the improved NLM algorithm for the pixel allocation thread of the video frame image.
- the GPU can allocate a thread for multiple pixels, that is, a thread sequentially denoises multiple pixels according to the improved NLM algorithm; the GPU can also One thread is allocated to one pixel, that is, one thread only denoises one pixel according to the improved NLM algorithm.
- GPU acceleration algorithm execution with a unified computing device architecture may also be used.
- GPU threads are organized in a grid, and each grid contains several thread blocks. Many threads in the same thread block have the same instruction address, which can not only execute in parallel, but also share memory (Shared memory) realizes intra-block communication.
- each thread block is allocated to the hardware streaming processor SM (Streaming Multiprocessor) to perform operations; and the threads in the thread block will use warp as a unit to perform grouping calculations on the threads.
- SM streaming Multiprocessor
- the warp size of CUDA is all 32, which means that 32 threads will be combined into a warp to execute together.
- the instructions executed by the threads in the same warp are the same, but the processed data is different.
- a stream processor can only execute one warp in a thread block at a time.
- the thread block is usually set to a multiple of 32. For example, the thread block can be set to 8x8, 16x16, 32x32 and other sizes.
- the feature settings based on CUDA are optimized as follows:
- the GPU divides the video frame image into a plurality of first sub-images; the GPU allocates threads corresponding to pixels belonging to the same first sub-image to the same thread block; The GPU allocates the data required for the execution of the NLM denoising algorithm to the thread block; when the threads in the same thread block are executed according to the warp, the threads in the warp coordinate the required data
- the shared memory of the GPU is read.
- the video frame image is divided into multiple 8x8 sub-images, and the threads responsible for processing the pixels of this sub-image are allocated to the same thread block. If each pixel in the sub-image is in charge of one thread, that is, 64 threads are responsible for an 8x8 sub-image, the size of the thread block can be set to 64, and the thread block with the size of 64 is executed in two warps.
- the data required by the thread block to execute the NLM denoising algorithm refers to the data of the search box.
- FIG. 3 is a schematic diagram of the first search box corresponding to the first sub-image in an embodiment of this application.
- search for a first similar image block corresponding to the first reference image block centered on this pixel in the same first search box For a pixel in the same first sub-image, search for a first similar image block corresponding to the first reference image block centered on this pixel in the same first search box. Since the threads of the same first sub-image are in the same thread block, the data of the first search box can be read to the shared memory based on the cooperative operation of the threads in the same thread block.
- each thread needs to read the 16x16 search box.
- the thread block of size 64 each thread only needs to read 4 pixels to the shared memory, which greatly reduces the amount of data read by the thread and improves the processing speed of the algorithm.
- the current NLM denoising algorithm provided by Opencv reads data on the global memory of the GPU, which is a very slow data reading method.
- the embodiment of the present application can greatly increase the data reading speed by reading all the data required by the NLM denoising algorithm into the shared memory.
- Sub-step S12 the thread determines the first reference image block of the pixel and the corresponding first similar image block
- the thread searches for the first similar image block corresponding to the first reference image block in the first search box. Specifically, the thread determines an adjacent image block with each pixel in the first search box as the center, and then determines whether all adjacent image blocks are similar image blocks. In some cases, a large number of first similar image blocks may be found (for example, hundreds of first similar image blocks). If the subsequent algorithm operation process is executed with a large number of similar blocks, it will take up too much memory. Because the GPU algorithm is not suitable for occupying too much memory, it is not suitable for sorting, and it is not suitable for further filtering among the first similar images found.
- the search area may be reduced, so that all adjacent image blocks in the first search box are not judged whether they are the first similar image blocks; and According to the preset first pixel interval, adjacent image blocks are selected to determine whether they are the first similar image blocks.
- the sub-step S12 may further include:
- Sub-step S121 the thread determines the first reference image block with the pixel as the center
- Sub-step S122 the thread obtains the corresponding first search box from the shared memory of the GPU;
- the thread can obtain the corresponding first search box from the shared memory .
- sub-step S123 the thread determines the first similar image block corresponding to the first reference image block in the first search box at a preset first pixel interval.
- Sub-step S13 the thread determines the pixel distance and the coordinate distance of the first similar image relative to the first reference image block
- the thread calculates the weight of the first similar image block by using the pixel distance and the coordinate distance;
- sub-step S15 the thread uses the weight of the first similar image block to determine the pixel value of the pixel after denoising
- the weighted average value of the weights of the similar image blocks and the pixel values of the central pixels of the similar image blocks is used as the denoised pixel value of the central pixel of the reference image block.
- the GPU uses all the images determined by the denoised pixels as the first image.
- Step 205 The GPU denoises the first image according to a preset non-local Bayesian NLB denoising algorithm to obtain a second image;
- the GPU uses the NLB denoising algorithm to denoise each pixel of the first image to obtain the second image.
- Step 206 The CPU obtains the second image from the GPU, and encodes the second image to obtain denoised video data.
- the CPU encodes all the second images to obtain the denoised video data.
- the embodiment of the application also optimizes the NLB denoising algorithm.
- P is the estimated value of the image block after denoising
- the mean value of the noisy image block The mean value of the noisy image block
- the covariance matrix of the noisy image block ⁇ is the noise variance.
- the formula for the first step of denoising is:
- Is the estimated value of the image block after the first step of denoising Is the estimated value of the image block after denoising in the second step, Is the mean value of the image block in the image after the first step of denoising, It is the covariance matrix of the image block in the image after the first step of denoising.
- the second step denoising formula is improved as:
- the mean value of the image blocks in the original image is taken into the calculation of the mean, instead of the mean value of the image blocks in the image after the first step of denoising. Therefore, the second step of denoising can recover some The detailed information of the original image.
- the step 206 may specifically include the following sub-steps:
- Sub-step S21 the GPU allocates threads to the pixels of the first image
- the feature settings based on CUDA are optimized as follows:
- the GPU After the GPU allocates threads, the GPU divides the first image into a plurality of second sub-images; the GPU allocates threads corresponding to pixels belonging to the same second sub-image to the same thread block; The GPU allocates the data required for the execution of the NLB denoising algorithm to the thread block; when the threads in the same thread block are executed according to the warp, the threads in the warp coordinate the required data
- the shared memory of the GPU is read.
- the data required by the thread block to execute the NLB denoising algorithm refers to the data of the search box.
- the same second search box is set for the pixels in the same second sub-image. For example, for a pixel in the same second sub-image, search for a second similar image block corresponding to a second reference image block centered on this pixel in the same second search box. Since the threads of the same second sub-image are in the same thread block, the data of the second search box can be read to the shared memory based on the cooperative operation of the threads in the same thread block. After reading the data required to execute the NLB denoising algorithm into the shared memory, all threads in the same thread block can read the data from the shared memory.
- the number of registers in the GPU is limited, that is, the variables that can be opened on the GPU are limited, and the number of registers used (the number of variables) will affect concurrency.
- the NLB denoising algorithm is more complicated and needs to use more local variables. Therefore, in the actual code implementation, on the one hand, it is necessary to allow the subsequent steps of the algorithm to re-use the previously opened array and so on. On the other hand, let the most frequently used variables in the algorithm be stored in the register.
- the NLB denoising algorithm requires a large amount of local memory to store information such as similar blocks due to the need to calculate the covariance matrix. Therefore, a large amount of memory multiplexing can be used in the embodiments of the present application to reduce memory overhead.
- Sub-step S22 the thread determines the second reference image block of the pixel and the corresponding second similar image block
- the thread searches for the second similar image block corresponding to the second reference image block in the second search box. Specifically, the thread determines a neighboring image block with each pixel in the second search box as the center, and then performs all the neighboring images The block judges whether it is a similar image block.
- the sub-step S22 may further include:
- sub-step S221 the thread determines the second reference image block with the pixel as the center
- Sub-step S222 the thread obtains the corresponding second search box from the shared memory of the GPU;
- the thread can obtain the corresponding second search box from the shared memory .
- the thread determines the second similar image block corresponding to the second reference image block in the second search box at a preset second pixel interval.
- Sub-step S23 the thread uses the second similar image block and the second reference image block to calculate the covariance matrix of the second reference image block;
- the covariance matrix of the second reference image block is the second step denoising formula after the above improvement
- the thread uses the first reference image block and the first similar image block to calculate the average value of the first reference image block;
- the mean value of the first reference image block is in the above-mentioned improved second step denoising formula It needs to be calculated based on the first reference image block of the determined pixel and the corresponding first similar image block in the original video frame image.
- the thread uses the covariance matrix of the second reference image block and the mean value of the first reference image block to calculate the denoised pixel value of the second reference image block;
- the estimated value after denoising of the second reference image block can be obtained according to the improved second step denoising formula described above.
- sub-step S26 the thread uses all denoised second reference image blocks containing the same pixel to determine the denoised pixel value of the pixel.
- all pixels in the second reference image block are denoised. That is, a pixel is denoised in the second reference image block centered on it, but also denoised in the second reference image block centered on other pixels. Therefore, a pixel will have more than one pixel.
- the final estimated value of a pixel after denoising is: the average value of the estimated value of the pixel of all the second reference image blocks after the denoising of the pixel.
- the GPU uses all the images determined by the denoised pixels as the second image.
- the GPU may also determine the noise level of the video frame image; if the noise level is greater than or equal to the preset noise level threshold, the GPU pair The first image is denoised according to a preset non-local Bayesian NLB denoising algorithm to obtain a second image. If the noise level is less than the preset noise level threshold, the GPU does not perform denoising on the first image according to the preset non-local Bayesian NLB denoising algorithm to obtain the second image; the noise level is determined by The noise variance sigma is measured.
- the noise level threshold is 10
- the noise level of the video frame image is less than 10
- only the NLM denoising algorithm is needed for denoising; if the noise level is greater than or equal to 10, the NLM denoising is used After the algorithm performs denoising, the NLB denoising algorithm is used to denoise.
- the step of determining the noise level of the video frame image by the GPU may include:
- the GPU determines the number of loaded video frame images; if the number of loaded video frame images is less than a preset frame number threshold, the GPU determines the noise level of the video frame images at a preset frame interval; the GPU The average value of the multiple noise levels determined is used as the noise level of the video frame image. If the number of the loaded video frame images is greater than or equal to the preset frame number threshold, the GPU selects a preset number of video frame images from the loaded video frame images; the GPU sets the preset number According to the preset frame interval, determine the noise level of the video frame image; the GPU will determine the average value of the multiple noise levels obtained as the noise level of the video frame image.
- the preset frame number threshold is 500
- an image is taken every other frame to evaluate its noise level
- the noise level of all images in the entire video is the average value of the calculated noise level.
- the noise level of all images in the entire video is the average value of the calculated noise level.
- the NLM denoising algorithm is used to replace the NLB denoising algorithm to perform the first denoising, avoiding the use of the NLB denoising algorithm in the first step. Denoising, leading to the problem of unstable denoising effect.
- FIG. 4 there is shown a step flow chart of another video denoising method provided by an embodiment of the present application.
- the modified method is applied to an electronic device with a central processing unit CPU and an image processor GPU.
- the specific steps may include the following steps :
- Step 401 The CPU obtains video data, and decodes the video data to obtain a video frame image;
- the CPU may also fill in the video frame image.
- Step 402 the GPU loads the video frame image from the CPU
- Step 403 The GPU determines the noise level of the video frame image
- the step 403 may include: the GPU determines the number of loaded video frame images; if the number of the loaded video frame images is less than the preset number of frames threshold, the GPU presses the preset The frame interval determines the noise level of the video frame image; the GPU determines the average value of the multiple noise levels obtained as the noise level of the video frame image.
- the GPU selects a preset number of video frame images from the loaded video frame images; the GPU sets the preset number According to the preset frame interval, determine the noise level of the video frame image; the GPU will determine the average value of the multiple noise levels obtained as the noise level of the video frame image.
- the GPU uses a preset first image denoising algorithm to process the video frame image to obtain the first image according to the noise level, or uses a preset first image denoising algorithm to obtain the first image. Denoising the video frame image process to obtain a first image, and using a preset second image denoising algorithm to denoise the first image to obtain a second image;
- the step 404 may include sub-steps:
- sub-step S31 when the noise level is less than a preset noise level threshold, the GPU uses a preset first image denoising algorithm to denoise the video frame image to obtain a first image;
- the sub-step S31 may include: the GPU allocates a thread to the pixels of the video frame image; the thread determines the first reference image block of the pixel and the corresponding first similar image block; the thread determines the The pixel distance and the coordinate distance of the first similar image relative to the first reference image block; the thread uses the pixel distance and the coordinate distance to calculate the weight of the first similar image block; the thread uses the The weight of the first similar image block determines the pixel value after the denoising of the pixel; the GPU uses all the images determined by the denoised pixel as the first image.
- the GPU uses a preset first image denoising algorithm to process the video frame image to obtain a first image, and uses The preset second image denoising algorithm denoises the first image to obtain the second image.
- the sub-step S32 may include:
- the GPU allocates threads to the pixels of the video frame image; the thread determines the first reference image block of the pixel and the corresponding first similar image block; the thread determines that the first similar image is relative to the first similar image The pixel distance and coordinate distance of a reference image block; the thread uses the pixel distance and the coordinate distance to calculate the weight of the first similar image block; the thread uses the weight of the first similar image block to determine The pixel value after the denoising of the pixel; the GPU uses all the images determined by the denoised pixels as the first image.
- the GPU allocates threads to the pixels of the first image; the thread determines the second reference image block of the pixel and the corresponding second similar image block; the thread uses the second similar image block and the A second reference image block, calculating the covariance matrix of the second reference image block; the thread uses the first reference image block and the first similar image block to calculate the mean value of the first reference image block; The thread uses the covariance matrix of the second reference image block and the mean value of the first reference image block to calculate the pixel value of the second reference image block after denoising; For all denoised second reference image blocks, determine the denoised pixel value of the pixel; the GPU uses all the denoised pixels to determine the image as the second image.
- step 405 the CPU obtains a first image from the GPU, and encodes the first image to obtain denoised video data; or, obtains a second image from the GPU, and compares the second image Perform encoding to obtain denoised video data.
- the GPU evaluates the noise level of the video frame image, and the GPU selects different denoising strategies according to different noise levels. Then the denoising work is performed frame by frame, and the video frame image after the noise is removed will be encoded.
- the encoded video occupies less memory; for videos with obvious noise, the user's subjective experience can also be significantly improved after denoising.
- FIG. 5 there is shown a structural block diagram of an electronic device provided by an embodiment of the present application, which may specifically include a central processing unit CPU51 and an image processor GPU52;
- the CPU 51 may include:
- the video data decoding module 511 is configured to obtain video data, and decode the video data to obtain a video frame image
- the video data encoding module 512 is configured to obtain a second image from the GPU, and encode the second image to obtain denoised video data;
- the GPU52 may include:
- the video frame image loading module 521 is configured to load the video frame image from the CPU
- the first image denoising module 522 is configured to denoise the video frame image according to a preset non-local average NLM denoising algorithm to obtain a first image;
- the second image denoising module 523 is configured to denoise the first image according to a preset non-local Bayesian NLB denoising algorithm to obtain a second image.
- the first image denoising module 522 may include:
- the first thread allocation sub-module is used to allocate threads to the pixels of the video frame image
- the first image determination sub-module is configured to use all the images determined by the denoised pixels as the first image
- the thread may include:
- the first block matching module is used to determine the first reference image block of the pixel and the corresponding first similar image block;
- a distance determining module configured to determine the pixel distance and coordinate distance of the first similar image relative to the first reference image block
- a weight calculation module for the thread to calculate the weight of the first similar image block by using the pixel distance and the coordinate distance;
- the first pixel estimation module is configured to use the weight of the first similar image block to determine the pixel value of the pixel after denoising.
- the second image denoising module 523 may include:
- the second thread allocation sub-module is used to allocate threads to the pixels of the first image
- the second image determination sub-module is configured to use all the images determined by the denoised pixels as the first image
- the thread may include:
- the second block matching module is used to determine the second reference image block of the pixel and the corresponding second similar image block
- a covariance matrix calculation module configured to calculate the covariance matrix of the second reference image block by using the second similar image block and the second reference image block;
- An image block average value calculation module configured to use the first reference image block and the first similar image block to calculate the average value of the first reference image block
- An image block pixel estimation module configured to use the covariance matrix of the second reference image block and the mean value of the first reference image block to calculate the denoised pixel value of the second reference image block;
- the second pixel estimation module is configured to use all denoised second reference image blocks containing the same pixel to determine the denoised pixel value of the pixel.
- the GPU 52 may further include:
- the noise level determining module is configured to determine the noise level of the video frame image before the second image denoising module performs denoising on the first image according to a preset NLB denoising algorithm to obtain the second image ;
- the second image denoising module includes:
- the second image denoising sub-module is configured to denoise the first image according to the preset non-local Bayesian NLB denoising algorithm if the noise level is greater than or equal to the preset noise level threshold, Get the second image.
- the GPU 52 may further include:
- the first sub-image segmentation module is configured to segment the video frame image into a plurality of first sub-images after the first thread allocation sub-module allocates threads to the pixels of the video frame image;
- the first thread block configuration module is used to configure threads corresponding to pixels belonging to the same first sub-image to the same thread block;
- the first data allocation module is configured to allocate the data required when the NLM denoising algorithm is executed to the thread block;
- the thread may also include:
- the first cooperative reading module is configured to read the required data to the shared memory of the GPU when the threads in the same thread block execute according to the warp.
- the GPU 52 may further include:
- the second sub-image segmentation module is configured to segment the first image into a plurality of second sub-images after the second thread allocation sub-module allocates threads to the pixels of the video frame image;
- the second thread block configuration module is used to configure threads corresponding to pixels belonging to the same second sub-image to the same thread block;
- the second data allocation module is configured to allocate the data required when the NLB denoising algorithm is executed to the thread block;
- the thread may also include:
- the second cooperative reading module is used for cooperatively reading the required data to the shared memory of the GPU when the threads in the same thread block are executed according to the warp.
- the first block matching module may include:
- the first reference image block determination sub-module is configured to determine the first reference image block with the pixel as the center;
- the first search box obtaining sub-module is used to obtain the corresponding first search box from the shared memory of the GPU;
- the first similar image block determination submodule is configured to determine the first similar image block corresponding to the first reference image block in the first search box according to a preset first pixel interval.
- the second block matching module may include:
- the second reference image block determining sub-module is configured to determine the second reference image block with the pixel as the center;
- the second search box obtaining sub-module is used to obtain the corresponding second search box from the shared memory of the GPU;
- the second similar image block determination submodule is configured to determine a second similar image block corresponding to the second reference image block in the second search box according to a preset second pixel interval.
- the noise level determining module may include:
- the image number determination sub-module is used to determine the number of loaded video frame images
- the first noise level determining sub-module is configured to determine the noise level of the video frame image according to the preset frame interval if the number of the loaded video frame images is less than the preset frame number threshold;
- the second noise level determining sub-module is configured to use the determined average value of multiple noise levels as the noise level of the video frame image.
- the noise level determining module may further include:
- the video frame image selection sub-module is configured to select a preset number of video frame images from the loaded video frame images if the number of the loaded video frame images is greater than or equal to the preset frame number threshold;
- the third noise level determining sub-module is configured to determine the noise level of the video frame image according to the preset frame interval for the preset number of video frame images;
- the fourth noise level determination sub-module is used to use the determined average value of multiple noise levels as the noise level of the video frame image.
- the CPU 51 may further include:
- the image filling module is used to fill the video frame image after the video data decoding module decodes the video data to obtain the video frame image.
- the NLM denoising algorithm is used to replace the NLB denoising algorithm to perform the first denoising, avoiding the use of the NLB denoising algorithm in the first step. Denoising, leading to the problem of unstable denoising effect.
- FIG. 6 there is shown a structural block diagram of another electronic device provided by an embodiment of the present application, which may specifically include a central processing unit CPU61 and an image processor GPU62;
- the CPU 61 may include:
- the video data decoding module 611 is configured to obtain video data, and decode the video data to obtain a video frame image
- the video data encoding module 612 is configured to obtain a first image from the GPU, and encode the first image to obtain denoised video data; or, obtain a second image from the GPU, and perform processing on the first image. Two images are encoded to obtain denoised video data;
- the GPU 62 may include:
- the video frame image loading module 621 is configured to load the video frame image from the CPU
- the noise level determining module 622 is configured to determine the noise level of the video frame image
- the image denoising module 623 is configured to use a preset first image denoising algorithm to process the video frame image to obtain a first image according to the noise level, or use a preset first image denoising algorithm Denoising the video frame image to obtain a first image, and using a preset second image denoising algorithm to denoise the first image to obtain a second image.
- the image denoising module 623 may include:
- the first image denoising sub-module is configured to use a preset first image denoising algorithm to denoise the video frame image to obtain a first image when the noise level is less than a preset noise level threshold;
- the second image denoising sub-module is configured to use the preset first image denoising algorithm to denoise the video frame image to obtain the first image when the noise level is greater than or equal to the preset noise level threshold. , And use a preset second image denoising algorithm to denoise the first image to obtain a second image.
- the first image denoising submodule may include:
- the first thread allocation unit is used to allocate threads to the pixels of the video frame image
- the first image determining unit is configured to use all the images determined by the denoised pixels as the first image
- the thread may include:
- the first block matching module is used to determine the first reference image block of the pixel and the corresponding first similar image block;
- a distance determining module configured to determine the pixel distance and coordinate distance of the first similar image relative to the first reference image block
- a weight calculation module configured to calculate the weight of the first similar image block by using the pixel distance and the coordinate distance
- the first pixel estimation module is configured to use the weight of the first similar image block to determine the pixel value of the pixel after denoising.
- the second image denoising submodule may include:
- the second thread allocation unit is used to allocate threads to the pixels of the first image
- the second image determining unit is configured to use all the images determined by denoising pixels as the first image
- the thread may include:
- the second block matching module is used to determine the second reference image block of the pixel and the corresponding second similar image block
- a covariance matrix calculation module configured to calculate the covariance matrix of the second reference image block by using the second similar image block and the second reference image block;
- An image block average value calculation module configured to use the first reference image block and the first similar image block to calculate the average value of the first reference image block
- An image block pixel estimation module configured to use the covariance matrix of the second reference image block and the mean value of the first reference image block to calculate the denoised pixel value of the second reference image block;
- the second pixel estimation module is configured to use all denoised second reference image blocks containing the same pixel to determine the denoised pixel value of the pixel.
- the GPU evaluates the noise level of the video frame image, and the GPU selects different denoising strategies according to different noise levels. Then the denoising work is performed frame by frame, and the video frame image after the noise is removed will be encoded.
- the encoded video occupies less memory; for videos with obvious noise, the user's subjective experience can also be significantly improved after denoising.
- the description is relatively simple, and for related parts, please refer to the part of the description of the method embodiment.
- the embodiment of the present application also provides a device, including:
- It includes a processor, a memory, and a computer program stored on the memory and capable of running on the processor.
- the computer program is executed by the processor, each process of the foregoing video denoising method embodiment is realized, and the same The technical effect, in order to avoid repetition, will not be repeated here.
- the embodiments of the present application also provide a computer-readable storage medium on which a computer program is stored.
- a computer program is stored on which a computer program is stored.
- the computer program is executed by a processor, each process of the above-mentioned video denoising method embodiment is realized, and the same technology can be achieved. The effect, in order to avoid repetition, will not be repeated here.
- any reference signs placed between parentheses should not be constructed as a limitation to the claims.
- the word “comprising” does not exclude the presence of elements or steps not listed in the claims.
- the word “a” or “an” preceding an element does not exclude the presence of multiple such elements.
- the application can be realized by means of hardware including several different elements and by means of a suitably programmed computer. In the unit claims listing several devices, several of these devices may be embodied in the same hardware item.
- the use of the words first, second, and third, etc. do not indicate any order. These words can be interpreted as names.
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Image Processing (AREA)
Abstract
Description
Claims (19)
- 一种视频去噪方法,其特征在于,应用于具有中央处理器CPU和图像处理器GPU的电子设备,所述方法包括:所述CPU获取视频数据,并对所述视频数据进行解码得到视频帧图像;所述GPU从所述CPU加载所述视频帧图像;所述GPU对所述视频帧图像按照预设的非局部平均值NLM去噪算法进行去噪,得到第一图像;所述GPU对所述第一图像按照预设的非局部贝叶斯NLB去噪算法进行去噪,得到第二图像;所述CPU从所述GPU获取所述第二图像,并对所述第二图像进行编码得到去噪后的视频数据。
- 根据权利要求1所述的方法,其特征在于,所述GPU对所述视频帧图像按照预设的非局部平均值NLM去噪算法进行去噪,得到第一图像,包括:所述GPU对所述视频帧图像的像素点分配线程;所述线程确定像素点的第一参考图像块和对应的第一相似图像块;所述线程确定所述第一相似图像相对所述第一参考图像块的像素距离和坐标距离;所述线程采用所述像素距离和所述坐标距离,计算所述第一相似图像块的权重;所述线程采用所述第一相似图像块的权重确定所述像素点去噪后的像素值;所述GPU将所有去噪后的像素点确定的图像作为第一图像。
- 根据权利要求2所述的方法,其特征在于,所述GPU对所述第一图像按照预设的非局部贝叶斯NLB去噪算法进行去噪,得到第二图像,包括:所述GPU对所述第一图像的像素点分配线程;所述线程确定像素点的第二参考图像块和对应的第二相似图像块;所述线程采用所述第二相似图像块与所述第二参考图像块,计算所述第二参考图像块的协方差矩阵;所述线程采用所述第一参考图像块和所述第一相似图像块,计算所述第一参考图像块的均值;所述线程采用所述第二参考图像块的协方差矩阵和所述第一参考图像块的均值,计算所述第二参考图像块去噪后的像素值;所述线程采用包含同一像素点的所有去噪后的第二参考图像块,确定该像素点去噪后的像素值;所述GPU将所有去噪后的像素点确定的图像作为第二图像。
- 根据权利要求1所述的方法,其特征在于,在所述GPU对所述第一图像,按照预设的NLB去噪算法进行去噪,得到第二图像,之前还包括:所述GPU确定所述视频帧图像的噪声等级;所述GPU对所述第一图像按照预设的非局部贝叶斯NLB去噪算法进行去噪,得到第二图像,包括:若所述噪声等级大于或等于所述预设噪声等级阈值,则所述GPU对所述第一图像按照预设的非局部贝叶斯NLB去噪算法进行去噪,得到第二图像。
- 根据权利要求2所述的方法,其特征在于,在所述GPU对所述视频帧图像的像素点分配线程之后,还包括:所述GPU将所述视频帧图像切分为多个第一子图像;所述GPU将属于同一第一子图像的像素点对应的线程,配置到同一线程块;所述GPU对所述线程块,分配在执行所述NLM去噪算法时所需要的数据;在同一线程块中的线程按照线程束执行时,所述线程束中的线程将所述所需的数据协同读取到所述GPU的共享内存。
- 根据权利要求3所述的方法,其特征在于,所述GPU对所述第一图像的像素点分配线程之后,还包括:所述GPU将所述第一图像切分为多个第二子图像;所述GPU将属于同一第二子图像的像素点对应的线程,配置到同一线程块;所述GPU对所述线程块,分配在执行所述NLB去噪算法时所需要的数据;在同一线程块中的线程按照线程束执行时,所述线程束中的线程将所述所需的数据协同读取到所述GPU的共享内存。
- 根据权利要求2所述的方法,其特征在于,所述线程确定像素点的第一参考图像块和对应的第一相似图像块,包括:所述线程以像素点为中心确定第一参考图像块;所述线程从所述GPU的共享内存,获取对应的第一搜索框;所述线程按预设第一像素间隔,在所述第一搜索框内的确定第一参考图像块对应的第一相似图像块。
- 根据权利要求3所述的方法,其特征在于,所述线程确定像素点的第二参考图像块和对应的第二相似图像块,包括:所述线程以像素点为中心确定第二参考图像块;所述线程从所述GPU的共享内存,获取对应的第二搜索框;所述线程按预设第二像素间隔,在所述第二搜索框内的确定第二参考图像块对应的第二相似图像块。
- 根据权利要求4所述的方法,其特征在于,所述GPU确定所述视频帧图像的噪声等级,包括:所述GPU确定加载的视频帧图像的数目;若所述加载的视频帧图像的数目小于预设帧数目阈值,则所述GPU按预设帧间隔,确定视频帧图像的噪声等级;所述GPU将确定得到的多个噪声等级的平均值,作为视频帧图像的噪声等级。
- 根据权利要求9所述的方法,其特征在于,所述GPU确定所述视频帧图像的噪声等级,还包括:若所述加载的视频帧图像的数目大于或等于所述预设帧数目阈值,则所述GPU从加载的视频帧图像中选取预设数目的视频帧图像;所述GPU对所述预设数目的视频帧图像,按预设帧间隔,确定视频帧图像的噪声等级;所述GPU将确定得到的多个噪声等级的平均值,作为视频帧图像的噪声等级。
- 根据权利要求1所述的方法,其特征在于,在所述CPU对所述视频数据进行解码得到视频帧图像之后,还包括:所述CPU对所述视频帧图像进行填充。
- 一种视频去噪方法,其特征在于,应用于具有CPU和GPU的电子设备,所述方法包括:所述CPU获取视频数据,并对所述视频数据进行解码得到视频帧图像;所述GPU从所述CPU加载所述视频帧图像;所述GPU确定所述视频帧图像的噪声等级;所述GPU根据所述噪声等级,采用预设的第一图像去噪算法对所述视频帧图像进程去噪得到第一图像,或者,采用预设的第一图像去噪算法对所述视频帧图像进程去噪得到第一图像,并采用预设的第二图像去噪算法对所述第一图像进行去噪得到第二图像;所述CPU从所述GPU获取第一图像,并对所述第一图像进行编码得到去噪后的视频数据;或者,从所述GPU获取第二图像,并对所述第二图像进行编码得到去噪后的视频数据。
- 根据权利要求12所述的方法,其特征在于,所述GPU根据所述噪声等级,采用预设的第一图像去噪算法对所述视频帧图像进程去噪得到第一图像,或者,采用预设的第一图像去噪算法对所述视频帧图像进程去噪得到第一图像,并采用预设的第二图像去噪算法对所述第一图像进行去噪得到第二图像,包括:当所述噪声等级小于预设噪声等级阈值时,所述GPU采用预设的第一图像去噪算法对所述视频帧图像进程去噪得到第一图像;当所述噪声等级大于或等于所述预设噪声等级阈值时,所述GPU采用预设的第一图像去噪算法对所述视频帧图像进程去噪得到第一图像,并采用预设的第二图像去噪算法对所述第一图像进行去噪得到第二图像。
- 根据权利要求13所述的方法,其特征在于,所述GPU采用预设的第一图像去噪算法对所述视频帧图像进程去噪得到第一图像,包括:所述GPU对所述视频帧图像的像素点分配线程;所述线程确定像素点的第一参考图像块和对应的第一相似图像块;所述线程确定所述第一相似图像相对所述第一参考图像块的像素距离和坐标距离;所述线程采用所述像素距离和所述坐标距离,计算所述第一相似图像块的权重;所述线程采用所述第一相似图像块的权重确定所述像素点去噪后的像素值;所述GPU将所有去噪后的像素点确定的图像作为第一图像。
- 根据权利要求14所述的方法,其特征在于,所述GPU采用预设的第二图像去噪算法对所述第一图像进行去噪得到第二图像,包括:所述GPU对所述第一图像的像素点分配线程;所述线程确定像素点的第二参考图像块和对应的第二相似图像块;所述线程采用所述第二相似图像块与所述第二参考图像块,计算所述第二参考图像块的协方差矩阵;所述线程采用所述第一参考图像块和所述第一相似图像块,计算所述第一参考图像块的均值;所述线程采用所述第二参考图像块的协方差矩阵和所述第一参考图像块的均值,计算所述第二参考图像块去噪后的像素值;所述线程采用包含同一像素点的所有去噪后的第二参考图像块,确定该像素点去噪后的像素值;所述GPU将所有去噪后的像素点确定的图像作为第二图像。
- 一种电子设备,其特征在于,包括:中央处理器CPU和图像处理器GPU;所述CPU包括:视频数据解码模块,用于获取视频数据,并对所述视频数据进行解码得到视频帧图像;视频数据编码模块,用于从所述GPU获取第二图像,并对所述第二图像进行编码得到去噪后的视频数据;所述GPU包括:视频帧图像加载模块,用于从所述CPU加载所述视频帧图像;第一图像去噪模块,用于对所述视频帧图像按照预设的非局部平均值NLM去噪算法进行去噪,得到第一图像;第二图像去噪模块,用于对所述第一图像按照预设的非局部贝叶斯NLB去噪算法进行去噪,得到第二图像。
- 一种电子设备,其特征在于,包括CPU和GPU;所述CPU包括:视频数据解码模块,用于获取视频数据,并对所述视频数据进行解码得到视频帧图像;视频数据编码模块,用于从所述GPU获取第一图像,并对所述第一图像进行编码得到去噪后的视频数据;或者,从所述GPU获取第二图像,并对所述第二图像进行编码得到去噪后的视频数据;所述GPU包括:视频帧图像加载模块,用于从所述CPU加载所述视频帧图像;噪声等级确定模块,用于确定所述视频帧图像的噪声等级;图像去噪模块,用于根据所述噪声等级,采用预设的第一图像去噪算法对所述视频帧图像进程去噪得到第一图像,或者,采用预设的第一图像去噪算法对所述视频帧图像进程去噪得到第一图像,并采用预设的第二图像去噪算法对所述第一图像进行去噪得到第二图像。
- 一种装置,其特征在于,包括:处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1-11或12-15中任一项所述的视频去噪方法的步骤。
- 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如权利要求1-11或12-15中任一项所述的视频去噪方法的步骤。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| EP20908710.5A EP4086840B1 (en) | 2019-12-31 | 2020-11-18 | Video denoising method and electronic device |
| US17/789,974 US12354242B2 (en) | 2019-12-31 | 2020-11-18 | Method for denoising videos and electronic device therefor |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201911418935.0A CN111179201B (zh) | 2019-12-31 | 2019-12-31 | 一种视频去噪方法和电子设备 |
| CN201911418935.0 | 2019-12-31 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2021135702A1 true WO2021135702A1 (zh) | 2021-07-08 |
Family
ID=70650721
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2020/129864 Ceased WO2021135702A1 (zh) | 2019-12-31 | 2020-11-18 | 一种视频去噪方法和电子设备 |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US12354242B2 (zh) |
| EP (1) | EP4086840B1 (zh) |
| CN (1) | CN111179201B (zh) |
| WO (1) | WO2021135702A1 (zh) |
Families Citing this family (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN111179201B (zh) * | 2019-12-31 | 2023-04-11 | 广州市百果园信息技术有限公司 | 一种视频去噪方法和电子设备 |
| CN112702605B (zh) * | 2020-12-24 | 2024-10-29 | 百果园技术(新加坡)有限公司 | 视频转码系统、视频转码方法、电子设备和存储介质 |
| US12597102B2 (en) * | 2021-04-28 | 2026-04-07 | Asml Netherlands B.V. | Image enhancement in charged particle inspection |
| US20230102843A1 (en) * | 2021-09-27 | 2023-03-30 | Nvidia Corporation | User-configurable memory allocation |
| CN114648469B (zh) * | 2022-05-24 | 2022-09-27 | 上海齐感电子信息科技有限公司 | 视频图像去噪方法及其系统、设备和存储介质 |
| CN116596789B (zh) * | 2023-05-18 | 2025-10-21 | 青岛海洋科技中心 | 非局部均值滤波去噪的加速方法 |
| CN116681616B (zh) * | 2023-06-09 | 2025-10-21 | 中国人民解放军国防科技大学 | 一种基于自监督学习的卷积神经网络图像去噪方法 |
| CN117094906A (zh) * | 2023-08-23 | 2023-11-21 | 和也健康科技有限公司 | 基于n2v和emi移除算法的电磁成像检测双重去噪方法及装置 |
| CN117196979B (zh) * | 2023-09-06 | 2026-04-17 | 普联技术有限公司 | 图像噪声处理方法、装置、电子设备及存储介质 |
| CN117218032A (zh) * | 2023-09-26 | 2023-12-12 | 北京瞰瞰智能科技有限公司 | 图像快速降噪的方法、装置、计算机设备及存储介质 |
| CN117011193B (zh) * | 2023-09-28 | 2023-12-05 | 生态环境部长江流域生态环境监督管理局生态环境监测与科学研究中心 | 一种轻量化凝视卫星视频去噪方法及去噪系统 |
| CN118338074B (zh) * | 2024-06-12 | 2024-08-20 | 广州市艾索技术有限公司 | 一种多媒体音视频数据管理系统 |
Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN102254323A (zh) * | 2011-06-10 | 2011-11-23 | 西安电子科技大学 | 基于treelet融合和水平集分割的遥感图像变化检测 |
| CN102393955A (zh) * | 2011-07-18 | 2012-03-28 | 西安电子科技大学 | 用于图像复原的全信息非局部约束全变分方法 |
| CN107085833A (zh) * | 2017-04-13 | 2017-08-22 | 长安大学 | 基于梯度倒数自适应开关均中值融合的遥感图像滤波方法 |
| CN107292851A (zh) * | 2017-07-14 | 2017-10-24 | 重庆理工大学 | 一种基于伪3d变换的bm3d图像降噪方法 |
| US20180089864A1 (en) * | 2016-09-23 | 2018-03-29 | Carestream Health, Inc. | Cbct image processing method |
| CN109360156A (zh) * | 2018-08-17 | 2019-02-19 | 上海交通大学 | 基于生成对抗网络的图像分块的单张图像去雨方法 |
| CN111179201A (zh) * | 2019-12-31 | 2020-05-19 | 广州市百果园信息技术有限公司 | 一种视频去噪方法和电子设备 |
Family Cites Families (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP4993403B2 (ja) * | 2006-06-02 | 2012-08-08 | 富士ゼロックス株式会社 | 画像処理装置、画像符号化装置、画像復号化装置、画像処理システム及びプログラム |
| CN103745447B (zh) * | 2014-02-17 | 2016-05-25 | 东南大学 | 一种非局部均值滤波的快速并行实现方法 |
| US10607321B2 (en) * | 2016-06-22 | 2020-03-31 | Intel Corporation | Adaptive sharpness enhancement control |
| US10511846B1 (en) * | 2016-09-01 | 2019-12-17 | Google Llc | Real-time adaptive video denoiser with moving object detection |
| US10469876B2 (en) * | 2016-12-22 | 2019-11-05 | Mediatek Inc. | Non-local adaptive loop filter combining multiple denoising technologies and grouping image patches in parallel |
| CN107730464B (zh) * | 2017-10-09 | 2021-03-30 | 四川大学 | 基于块匹配的图像降噪并行算法 |
| US10643308B2 (en) * | 2017-10-11 | 2020-05-05 | Gopro, Inc. | Double non-local means denoising |
| US11216912B2 (en) * | 2017-10-18 | 2022-01-04 | Gopro, Inc. | Chrominance denoising |
| KR102324609B1 (ko) * | 2017-12-22 | 2021-11-10 | 한국전자통신연구원 | 다지점 영상회의 장치 및 그 제어 방법 |
| CN109615591A (zh) * | 2018-11-27 | 2019-04-12 | 东莞信大融合创新研究院 | 一种基于gpu并行加速的三维块匹配降噪方法 |
-
2019
- 2019-12-31 CN CN201911418935.0A patent/CN111179201B/zh active Active
-
2020
- 2020-11-18 WO PCT/CN2020/129864 patent/WO2021135702A1/zh not_active Ceased
- 2020-11-18 EP EP20908710.5A patent/EP4086840B1/en active Active
- 2020-11-18 US US17/789,974 patent/US12354242B2/en active Active
Patent Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN102254323A (zh) * | 2011-06-10 | 2011-11-23 | 西安电子科技大学 | 基于treelet融合和水平集分割的遥感图像变化检测 |
| CN102393955A (zh) * | 2011-07-18 | 2012-03-28 | 西安电子科技大学 | 用于图像复原的全信息非局部约束全变分方法 |
| US20180089864A1 (en) * | 2016-09-23 | 2018-03-29 | Carestream Health, Inc. | Cbct image processing method |
| CN107085833A (zh) * | 2017-04-13 | 2017-08-22 | 长安大学 | 基于梯度倒数自适应开关均中值融合的遥感图像滤波方法 |
| CN107292851A (zh) * | 2017-07-14 | 2017-10-24 | 重庆理工大学 | 一种基于伪3d变换的bm3d图像降噪方法 |
| CN109360156A (zh) * | 2018-08-17 | 2019-02-19 | 上海交通大学 | 基于生成对抗网络的图像分块的单张图像去雨方法 |
| CN111179201A (zh) * | 2019-12-31 | 2020-05-19 | 广州市百果园信息技术有限公司 | 一种视频去噪方法和电子设备 |
Non-Patent Citations (4)
| Title |
|---|
| LIANG GUANGSHUN, WANG RI-WEI;WEN XIAN-BIN: "Image Denoising based on Bilateral Filtering and Non-Local Means", GUANGDIANZI-JIGUANG - JOURNAL OF OPTRONICS-LASER, TIANJIN DAXUE JIDIAN FENXIAO, TIANJIN, CN, vol. 26, no. 11, 1 November 2015 (2015-11-01), CN, pages 2231 - 2235, XP055828216, ISSN: 1005-0086, DOI: 10.16136/j.joel.2015.11.0554 * |
| See also references of EP4086840A4 * |
| SUN YUZHE, LU LEI;LUO XIAOSHU;GUO LEI;HAO ZHANLONG;TANG TANG: "Image Denoising Based on Bilateral Filtering Combined with Non-local Means Filtering", JOURNAL OF GUANGXI NORMAL UNIVERSITY (NATURAL SCIENCE EDITION), vol. 35, no. 2, 1 April 2017 (2017-04-01), pages 32 - 38, XP055828217, ISSN: 1001-6600, DOI: 10.16088/j.issn.1001-6600.2017.02.005 * |
| ZHANG FANG: "Research on Image Poisson Denoising", INFORMATION SCIENCE AND TECHNOLOGY, CHINESE MASTER’S THESES FULL-TEXT DATABASE, 15 February 2018 (2018-02-15), XP055828218 * |
Also Published As
| Publication number | Publication date |
|---|---|
| CN111179201A (zh) | 2020-05-19 |
| EP4086840A4 (en) | 2024-06-12 |
| CN111179201B (zh) | 2023-04-11 |
| US12354242B2 (en) | 2025-07-08 |
| EP4086840B1 (en) | 2026-04-01 |
| EP4086840A1 (en) | 2022-11-09 |
| US20220392019A1 (en) | 2022-12-08 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN111179201B (zh) | 一种视频去噪方法和电子设备 | |
| US20230080693A1 (en) | Image processing method, electronic device and readable storage medium | |
| US20210287047A1 (en) | Training method for image processing model, image processing method, network device, and storage medium | |
| CN117408890A (zh) | 一种视频图像传输质量增强方法及系统 | |
| CN113344804B (zh) | 一种弱光图像增强模型的训练方法和弱光图像增强方法 | |
| CN111047543B (zh) | 图像增强方法、装置和存储介质 | |
| JP5440241B2 (ja) | 画像強調装置、画像強調方法及び画像強調プログラム | |
| CN115439384B (zh) | 一种无鬼影多曝光图像融合方法、装置 | |
| Hou et al. | Underwater image dehazing and denoising via curvature variation regularization | |
| CN112085705A (zh) | 一种基于改进樽海鞘群算法的图像分割方法及装置 | |
| WO2021232963A1 (zh) | 视频去噪方法、装置、移动终端和存储介质 | |
| Conde et al. | Raw image reconstruction from RGB on smartphones. NTIRE 2025 challenge report | |
| US20250363791A1 (en) | System and Method for Low-Light Image Enhancement Using Hierarchical Adaptive Wavelet Decomposition with Cross-Scale Feature Fusion | |
| CN118488219B (zh) | 一种用于无人机航拍的图像压缩方法及装置 | |
| CN107330863B (zh) | 一种基于噪声估计的图像去噪方法 | |
| Mori et al. | Fast template matching based on normalized cross correlation using adaptive block partitioning and initial threshold estimation | |
| CN121527577A (zh) | 一种基于多尺度特征解耦与动态融合的图像质量优化方法 | |
| CN119027341B (zh) | 视频处理方法、系统、装置、设备及介质 | |
| CN113627342B (zh) | 视频深度特征提取优化的方法、系统、设备及存储介质 | |
| CN114550173B (zh) | 图像预处理方法、装置、电子设备以及可读存储介质 | |
| CN118747833B (zh) | 光源估计模型训练、光源估计方法和装置 | |
| CN117692652B (zh) | 一种基于深度学习的可见光与红外视频融合编码方法 | |
| CN116681618B (zh) | 图像去噪方法、电子设备及存储介质 | |
| CN113438386A (zh) | 一种应用于视频处理的动静判定方法及装置 | |
| CN109584275B (zh) | 一种目标跟踪方法、装置、设备和存储介质 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 20908710 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| ENP | Entry into the national phase |
Ref document number: 2020908710 Country of ref document: EP Effective date: 20220801 |
|
| WWG | Wipo information: grant in national office |
Ref document number: 17789974 Country of ref document: US |
|
| WWG | Wipo information: grant in national office |
Ref document number: 2020908710 Country of ref document: EP |






