Abstract:
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.
Abstract:
A device includes an input array register, a determining component and a computing component. The input array register stores a sorted list of n elements as an input array having size n, n being an integer greater than or equal to two. The determining component creates a list of m elements as a mask array having a size m, m being an integer greater than or equal to one, one of the m elements being based on two adjacent of the n elements of the input array. The computing component performs a mathematical operation between the input array and the mask array to generate a list of p elements as an output array having a size p, p being an integer greater than or equal to 0, the p elements identifying unique elements within the n elements.