IP Library Granted Patent US 12,125,173
Granted Patent B2
US 12,125,173 · App. 17/624,237 · Granted Oct 22, 2024

Video denoising method and device, and computer readable storage medium

Inventors: Jisong Ai (Guangdong, CN); Ke Xu (Guangdong, CN); Dehui Kong (Guangdong, CN); Ning Wang (Guangdong, CN); Xin Liu (Guangdong, CN); Jing You (Guangdong, CN); Fang Zhu (Guangdong, CN)
Assignee: SANECHIPS TECHNOLOGY CO., LTD.
G06T5/70G06T7/248G06T2207/10016G06T2207/20021G06T2207/20076
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,125,173
App. No.
17/624,237
Granted
Oct 22, 2024
Kind
B2
Abstract

The present disclosure discloses a video denoising method and device, and a computer-readable storage medium. The video denoising method includes: dividing each video frame in an input video frame sequence into sub-image blocks, and calculating a block variance of each of the sub-image blocks; calculating an average variance of the sub-image blocks in a current video frame according to the calculated block variances, determining a noise level of the current video frame according to the average variance, selecting a denoise strength and a noise characteristic curve that match the noise level; and denoising the current video frame according to the denoise strength and the noise characteristic curve.

Claims (68)

1. A video denoising method, comprising:

dividing each video frame in an input video frame sequence into sub-image blocks, and calculating a block variance of each of the sub-image blocks;

calculating an average variance of sub-image blocks in a current video frame according to calculated block variances of the sub-image blocks in the current video frame, determining a noise level of the current video frame according to the average variance, and selecting a denoise strength and a noise characteristic curve that match the noise level; and

denoising the current video frame according to the denoise strength and the noise characteristic curve,

wherein calculating the block variance of each of the sub-image blocks comprises:

calculating a spatial variance of each of the sub-image blocks;

calculating a temporal variance between each of the sub-image block in the current video frame and a sub-image block in a corresponding position in a previous video frame of the current video frame; and

selecting a smaller value of the spatial variance and the temporal variance as the block variance of each of the sub-image block.

2. The method according to claim 1 , wherein calculating the average variance of the sub-image blocks in the current video frame according to the calculated block variances of the sub-image blocks in the current video frame comprises:

sorting the block variances of the sub-image blocks in the current video frame in an ascending order; and

accumulating sorted first n block variances of sub-image blocks, and taking a ratio of an accumulated sum of the block variances to the n as the average variance of the sub-image blocks in the current video frame, wherein the n is a natural number greater than 1.

3. The method according to claim 1 , wherein determining the noise level of the current video frame according to the average variance comprises:

in response to the average variance being less than a preset variance value, determining the noise level of the current video frame as 0; and

in response to the average variance being greater than or equal to the preset variance value, taking the average variance as the noise level of the current video frame.

4. The method according to claim 1 , wherein after determining the noise level of the current video frame according to the average variance, and before selecting the denoise strength and the noise characteristic curve that match the noise level, the method further comprises:

calculating an average value of the noise levels of the current video frame and m video frames prior to the current video frame, wherein m is a natural number greater than 1; and

taking the calculated average value of the noise levels as a smoothed noise level of the current video frame.

5. The method according to claim 1 , wherein the denoise strength comprises a spatial denoise strength and a temporal denoise strength;

denoising the current video frame according to the denoise strength and the noise characteristic curve comprises:

performing a spatial denoising on the current video frame according to the spatial denoise strength and the noise characteristic curve;

estimating a motion strength and a motion vector of each of the sub-image blocks of the current video frame according to the current video frame and a previous video frame of the current video frame; and

obtaining a weight of each pixel point in the current video frame according to the estimated motion strength, and obtaining positions of pixel points participating in a temporal denoising in the previous video frame according to the estimated motion vectors, and performing a weighted average denoising on the pixel points in the current video frame subjected to the spatial denoising and pixel points in the previous video frame pointed to by the motion vectors corresponding to the pixel points in the current video frame to obtain denoised pixel points.

6. The method according to claim 5 , wherein an algorithm of the spatial denoising is a block matching and 3D filtering, BM3D, denoising algorithm, and a proportionately scaling operation is performed on a Wiener coefficient in a Wiener filtering operation of the BM3D denoising algorithm according to a brightness value of the pixel points in the current video frame and the noise characteristic curve.

7. A non-transitory computer-readable storage medium, configured to store at least one program, the at least one program being executable by at least one processor, to perform a video denoising method, comprising:

dividing each video frame in an input video frame sequence into sub-image blocks, and calculating a block variance of each of the sub-image blocks;

calculating an average variance of sub-image blocks in a current video frame according to calculated block variances of the sub-image blocks in the current video frame, determining a noise level of the current video frame according to the average variance, and selecting a denoise strength and a noise characteristic curve that match the noise level; and

denoising the current video frame according to the denoise strength and the noise characteristic curve,

wherein calculating the block variance of each of the sub-image blocks comprises:

calculating a spatial variance of each of the sub-image blocks;

calculating a temporal variance between each of the sub-image block in the current video frame and a sub-image block in a corresponding position in a previous video frame of the current video frame; and

selecting a smaller value of the spatial variance and the temporal variance as the block variance of each of the sub-image block.

8. The non-transitory computer-readable storage medium according to claim 7 , wherein calculating the average variance of the sub-image blocks in the current video frame according to the calculated block variances of the sub-image blocks in the current video frame comprises:

sorting the block variances of the sub-image blocks in the current video frame in an ascending order; and

accumulating sorted first n block variances of sub-image blocks, and taking a ratio of an accumulated sum of the block variances to the n as the average variance of the sub-image blocks in the current video frame, wherein the n is a natural number greater than 1.

9. The non-transitory computer-readable storage medium according to claim 7 , wherein determining the noise level of the current video frame according to the average variance comprises:

in response to the average variance being less than a preset variance value, determining the noise level of the current video frame as 0; and

in response to the average variance being greater than or equal to the preset variance value, taking the average variance as the noise level of the current video frame.

10. The non-transitory computer-readable storage medium according to claim 7 , wherein after determining the noise level of the current video frame according to the average variance, and before selecting the denoise strength and the noise characteristic curve that match the noise level, the method further comprises:

calculating an average value of the noise levels of the current video frame and m video frames prior to the current video frame, wherein m is a natural number greater than 1; and

taking the calculated average value of the noise levels as a smoothed noise level of the current video frame.

11. The non-transitory computer-readable storage medium according to claim 7 , wherein the denoise strength comprises a spatial denoise strength and a temporal denoise strength;

denoising the current video frame according to the denoise strength and the noise characteristic curve comprises:

performing a spatial denoising on the current video frame according to the spatial denoise strength and the noise characteristic curve;

estimating a motion strength and a motion vector of each of the sub-image blocks of the current video frame according to the current video frame and a previous video frame of the current video frame; and

obtaining a weight of each pixel point in the current video frame according to the estimated motion strength, and obtaining positions of pixel points participating in a temporal denoising in the previous video frame according to the estimated motion vectors, and performing a weighted average denoising on the pixel points in the current video frame subjected to the spatial denoising and pixel points in the previous video frame pointed to by the motion vectors corresponding to the pixel points in the current video frame to obtain denoised pixel points.

12. The non-transitory computer-readable storage medium according to claim 11 , wherein an algorithm of the spatial denoising is a block matching and 3D filtering, BM3D, denoising algorithm, and a proportionately scaling operation is performed on a Wiener coefficient in a Wiener filtering operation of the BM3D denoising algorithm according to a brightness value of the pixel points in the current video frame and the noise characteristic curve.

13. A video denoising device, comprising a processor and a memory, wherein the processor and the memory are connected to each other by an electrical coupling, and the processor is configured to execute a program stored in the memory, so as to perform a video denoising method, comprising:

dividing each video frame in an input video frame sequence into sub-image blocks, and calculating a block variance of each of the sub-image blocks;

calculating an average variance of sub-image blocks in a current video frame according to calculated block variances of the sub-image blocks in the current video frame, determining a noise level of the current video frame according to the average variance, and selecting a denoise strength and a noise characteristic curve that match the noise level; and

denoising the current video frame according to the denoise strength and the noise characteristic curve,

wherein calculating the block variance of each of the sub-image blocks comprises:

calculating a spatial variance of each of the sub-image blocks;

calculating a temporal variance between each of the sub-image block in the current video frame and a sub-image block in a corresponding position in a previous video frame of the current video frame; and

selecting a smaller value of the spatial variance and the temporal variance as the block variance of each of the sub-image block.

14. The video denoising device according to claim 13 , wherein calculating the average variance of the sub-image blocks in the current video frame according to the calculated block variances of the sub-image blocks in the current video frame comprises:

sorting the block variances of the sub-image blocks in the current video frame in an ascending order; and

accumulating sorted first n block variances of sub-image blocks, and taking a ratio of an accumulated sum of the block variances to the n as the average variance of the sub-image blocks in the current video frame, wherein the n is a natural number greater than 1.

15. The video denoising device according to claim 13 , wherein determining the noise level of the current video frame according to the average variance comprises:

in response to the average variance being less than a preset variance value, determining the noise level of the current video frame as 0; and

in response to the average variance being greater than or equal to the preset variance value, taking the average variance as the noise level of the current video frame.

16. The video denoising device according to claim 13 , wherein after determining the noise level of the current video frame according to the average variance, and before selecting the denoise strength and the noise characteristic curve that match the noise level, the method further comprises:

calculating an average value of the noise levels of the current video frame and m video frames prior to the current video frame, wherein m is a natural number greater than 1; and

taking the calculated average value of the noise levels as a smoothed noise level of the current video frame.

17. The video denoising device according to claim 13 , wherein the denoise strength comprises a spatial denoise strength and a temporal denoise strength;

denoising the current video frame according to the denoise strength and the noise characteristic curve comprises:

performing a spatial denoising on the current video frame according to the spatial denoise strength and the noise characteristic curve;

estimating a motion strength and a motion vector of each of the sub-image blocks of the current video frame according to the current video frame and a previous video frame of the current video frame; and

obtaining a weight of each pixel point in the current video frame according to the estimated motion strength, and obtaining positions of pixel points participating in a temporal denoising in the previous video frame according to the estimated motion vectors, and performing a weighted average denoising on the pixel points in the current video frame subjected to the spatial denoising and pixel points in the previous video frame pointed to by the motion vectors corresponding to the pixel points in the current video frame to obtain denoised pixel points.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 16, 2023
From: ZTE CORPORATION
To: SANECHIPS TECHNOLOGY CO., LTD.
Reel/Frame 062777/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 28, 2022
From: AI, JISONG; XU, KE; KONG, DEHUI; WANG, NING; LIU, XIN; YOU, JING; ZHU, FANG
To: ZTE CORPORATION
Reel/Frame 061248/0608 →