Motion estimation aided noise reduction
US-9131073-B1 · Sep 8, 2015 · US
US11051046B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11051046-B2 |
| Application number | US-202016988978-A |
| Country | US |
| Kind code | B2 |
| Filing date | Aug 10, 2020 |
| Priority date | Jul 22, 2013 |
| Publication date | Jun 29, 2021 |
| Grant date | Jun 29, 2021 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
The disclosure provides a noise filter. The noise filter includes a motion estimation (ME) engine. The ME receives a current frame and a reference frame. The current frame comprising a current block and the reference frame includes a plurality of reference blocks. The ME engine generates final motion vectors. The current block comprises a plurality of current pixels. A motion compensation unit generates a motion compensated block based on the final motion vectors and the reference frame. The motion compensated block includes a plurality of motion compensated pixels. A weighted average filter multiplies each current pixel of the plurality of current pixels and a corresponding motion compensated pixel of the plurality of motion compensated pixels with a first weight and a second weight respectively. The weighted average filter generates a filtered block. A blockiness removal unit is coupled to the weighted average filter and removes artifacts in the filtered block.
Opening claim text (preview).
What is claimed is: 1. A noise filter comprising: a motion estimation (ME) engine configured to receive a current frame and a reference frame, the current frame comprising a current block and the reference frame comprising a plurality of reference blocks, the ME engine configured to generate final motion vectors, the current block comprises a plurality of current pixels; a motion compensation unit coupled to the ME engine and configured to generate a motion compensated block based on the final motion vectors and the reference frame, the motion compensated block comprises a plurality of motion compensated pixels; a weighted average filter configured to multiply each current pixel of the plurality of current pixels and a corresponding motion compensated pixel of the plurality of motion compensated pixels with a first weight and a second weight respectively, wherein the product of the current pixels and the first weight is summed with the product of the corresponding motion compensated pixels and the second weight to generate a filtered block; and a blockiness removal unit coupled to the weighted average filter and configured to remove artifacts in the filtered block, wherein the ME engine is configured to estimate a cost function between the current block and the reference block, the cost function is estimated by summing the SAD, between the current block and the reference block, and a product of a motion smoothness value (MSV) and the motion vector cost between the current block and the reference block. 2. The noise filter of claim 1 further comprising a motion smoothness factor (MSF) engine coupled to the ME engine and configured to estimate the motion smoothness value (MSV) corresponding to the current block, wherein the MSV is estimated from a current noise level and the MSV is defined between a maximum MSV and a minimum MSV. 3. The noise filter of claim 2 , wherein the MSV is equal to the minimum MSV when a sum of the motion vectors associated with the current block and the motion vectors associated with a set of adjacent blocks is above a predefined threshold. 4. The noise filter of claim 2 , wherein the current noise level is estimated between the current frame and the reference frame by averaging SAD for all blocks with motion vectors below a predefined threshold. 5. The noise filter of claim 1 , wherein the ME engine is configured to select a final SAD and the final motion vectors associated with the current block corresponding to a reference block of the plurality of reference blocks for which the cost function is minimum. 6. The noise filter of claim 5 , wherein the ME engine is configured to estimate chrominance motion vectors associated with the current block, wherein the chrominance motion vectors are estimated from the final motion vectors and a last bit of the final motion vectors is masked with zero when the final motion vectors are odd. 7. The noise filter of claim 6 , wherein the ME engine is configured to estimate a chrominance SAD between the current block and the reference block for which the cost function is minimum, the chrominance SAD is estimated from the chrominance motion vectors. 8. A noise filter comprising: a motion estimation (ME) engine configured to receive a current frame and a reference frame, the current frame comprising a current block and the reference frame comprising a plurality of reference blocks, the ME engine configured to generate final motion vectors, the current block comprises a plurality of current pixels; a motion compensation unit coupled to the ME engine and configured to generate a motion compensated block based on the final motion vectors and the reference frame, the motion compensated block comprises a plurality of motion compensated pixels; a weighted average filter configured to multiply each current pixel of the plurality of current pixels and a corresponding motion compensated pixel of the plurality of motion compensated pixels with a first weight and a second weight respectively, wherein the product of the current pixels and the first weight is summed with the product of the corresponding motion compensated pixels and the second weight to generate a filtered block; and a blockiness removal unit coupled to the weighted average filter and configured to remove artifacts in the filtered block, wherein the ME engine is configured to estimate a combined SAD associated with the current block by summing the final SAD and the chrominance SAD. 9. A noise filter comprising: a motion estimation (ME) engine configured to receive a current frame and a reference frame, the current frame comprising a current block and the reference frame comprising a plurality of reference blocks, the ME engine configured to generate final motion vectors, the current block comprises a plurality of current pixels; a motion compensation unit coupled to the ME engine and configured to generate a motion compensated block based on the final motion vectors and the reference frame, the motion compensated block comprises a plurality of motion compensated pixels; a weighted average filter configured to multiply each current pixel of the plurality of current pixels and a corresponding motion compensated pixel of the plurality of motion compensated pixels with a first weight and a second weight respectively, wherein the product of the current pixels and the first weight is summed with the product of the corresponding motion compensated pixels and the second weight to generate a filtered block; a blockiness removal unit coupled to the weighted average filter and configured to remove artifacts in the filtered block; and a weight computation unit coupled to the ME engine and configured to estimate the first weight and the second weight using a combined SAD associated with the current block, an average combined SAD associated with a previous frame and a blending factor. 10. The noise filter of claim 9 , wherein the blending factor for a motion block is lower than the blending factor for a static block. 11. The noise filter of claim 9 , wherein the blending factor is defined between a maximum blending factor and a minimum blending factor such that the blending factor for the motion block is minimum blending factor and the blending factor for the static block is between the maximum blending factor and the minimum blending factor. 12. A noise filter coupled to a spatial filter, the noise filter comprising: a motion estimation (ME) engine configured to receive a current frame and a reference frame, the current frame comprising a current block and the reference frame comprising a plurality of reference blocks, the ME engine configured to generate final motion vectors, the current block comprises a plurality of current pixels; a motion compensation unit coupled to the ME engine and configured to generate a motion compensated block based on the final motion vectors and the reference frame, the motion compensated block comprises a plurality of motion compensated pixels; a weighted average filter configured to multiply each current pixel of the plurality of current pixels and a corresponding motion compensated pixel of the plurality of motion compensated pixels with a first weight and a second weight respectively, wherein the product of the current pixels and the first weight is summed with the product of the corresponding motion compensated pixels and the second weight to generate a filtered block; and a blockiness removal unit coupled to the weighted average filter and configured to remove artifacts in the filtered block, the spatial filter comprising: a median filter configured to receive a filtered pixel of the plurality of filtered pixels from the noise filter and
involving filtering within a prediction loop · CPC title
the region being a block, e.g. a macroblock · CPC title
involving reduction of coding artifacts, e.g. of blockiness · CPC title
Filters, e.g. for pre-processing or post-processing (sub-band filter banks H04N19/635) · CPC title
Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.