Adaptive sharpening for blocks of upsampled pixels
AssigneeImagination Technologies Limited
InventorsJames Imber, Joseph Heyward, Kristof Beets, John Viljoen
Life of this patent
Estimating the term…
Abstract
Methods and processing modules apply adaptive sharpening, for a block of input pixels for which upsampling is performed, to determine a block of output pixels. A block of upsampled pixels is obtained based on the block of input pixels. One or more range kernels is determined based on a plurality of upsampled pixels of the block of upsampled pixels. Each of the one or more range kernels is combined with a sharpening kernel to determine one or more bilateral sharpening kernels. The one or more bilateral sharpening kernels are used to determine the output pixels of the block of output pixels.
Claims20
A method of applying adaptive sharpening, for a block of input pixels for which upsampling is performed, to determine a block of output pixels, the method comprising:
- obtaining a block of upsampled pixels based on the block of input pixels;
- determining one or more range kernels based on a plurality of upsampled pixels of the block of upsampled pixels;
- combining each of the one or more range kernels with a sharpening kernel to determine one or more bilateral sharpening kernels, wherein the sharpening kernel is an unsharp mask kernel, wherein the unsharp mask kernel has a plurality of unsharp mask values, wherein the unsharp mask value K(x) at a position, x, relative to the centre of the unsharp mask kernel has a value given by K(x)=I(x)+s(I(x)−G(x), where I(x) is a value at position x within an identity kernel representing the identity function, and where G(x) is a value at position x within a spatial Gaussian kernel representing a spatial Gaussian function, and s is a scale factor wherein the unsharp mask kernel, the identity kernel and the spatial Gaussian kernel are the same size and shape as each other;
- and
- using the one or more bilateral sharpening kernels to determine the output pixels of the block of output pixels.
A processing module configured to apply adaptive sharpening, for a block of input pixels for which upsampling is performed, to determine a block of output pixels, the processing module comprising output pixel determination logic configured to:
- receive a block of upsampled pixels based on the block of input pixels;
- determine one or more range kernels based on a plurality of upsampled pixels of the block of upsampled pixels;
- combine each of the one or more range kernels with a sharpening kernel to determine one or more bilateral sharpening kernels, wherein the sharpening kernel is an unsharp mask kernel, wherein the unsharp mask kernel has a plurality of unsharp mask values, wherein the unsharp mask value K(x) at a position, x, relative to the centre of the unsharp mask kernel has a value given by K(x)=I(x)+s(I(x)−G(x)), where I(x) is a value at position x within an identity kernel representing the identity function, and where G(x) is a value at position x within a spatial Gaussian kernel representing a spatial Gaussian function, and s is a scale factor, wherein the unsharp mask kernel, the identity kernel and the spatial Gaussian kernel are the same size and shape as each other;
- and
- use the one or more bilateral sharpening kernels to determine the output pixels of the block of output pixels.
A non-transitory computer readable storage medium having stored thereon an integrated circuit definition dataset that, when processed in an integrated circuit manufacturing system, configures the integrated circuit manufacturing system to manufacture a processing module which is configured to apply adaptive sharpening, for a block of input pixels for which upsampling is performed, to determine a block of output pixels, the processing module comprising output pixel determination logic configured to:
- receive a block of upsampled pixels based on the block of input pixels;
- determine one or more range kernels based on a plurality of upsampled pixels of the block of upsampled pixels;
- combine each of the one or more range kernels with a sharpening kernel to determine one or more bilateral sharpening kernels, wherein the sharpening kernel is an unsharp mask kernel, wherein the unsharp mask kernel has a plurality of unsharp mask values, wherein the unsharp mask value K(x) at a position, x, relative to the centre of the unsharp mask kernel has a value given by K(x)=I(x)+s(I(x)−G(x), where I(x) is a value at position x within an identity kernel representing the identity function, and where G(x) is a value at position x within a spatial Gaussian kernel representing a spatial Gaussian function, and s is a scale factor, wherein the unsharp mask kernel, the identity kernel and the spatial Gaussian kernel are the same size and shape as each other;
- and
- use the one or more bilateral sharpening kernels to determine the output pixels of the block of output pixels.
Dependencies are inferred from the claim text.