Method and apparatus for filtering video data using a programmable graphics processor
First Claim
1. A non-transitory computer-readable medium including a shader program that, when executed by a programmable graphics processor, causes the programmable graphics processor to:
- select a scaling filter to be applied to a source image to produce a destination image, wherein the scaling filter is stored within a filter texture map and is associated with a unique texture identification, and data associated with each pixel in the destination image includes a pair of filter texture map coordinates;
obtain a filter kernel phase for each pixel in the destination image; and
extract a fractional portion of each scaling filter texture map coordinate for each pixel in the destination image, wherein the fractional portion is used as the filter kernel phase for accessing the filter texture map.
0 Assignments
0 Petitions
Accused Products
Abstract
Video filtering using a programmable graphics processor is described. The programmable graphics processor may be programmed to complete a plurality of video filtering operations in a single pass through a fragment-processing pipeline within the programmable graphics processor. Video filtering functions such as deinterlacing, chroma up-sampling, scaling, and deblocking may be performed by the fragment-processing pipeline. The fragment-processing pipeline may be programmed to perform motion adaptive deinterlacing, wherein a spatially variant filter determines, on a pixel basis, whether a “bob”, a “blend”, or a “weave” operation should be used to process an interlaced image.
-
Citations
10 Claims
-
1. A non-transitory computer-readable medium including a shader program that, when executed by a programmable graphics processor, causes the programmable graphics processor to:
-
select a scaling filter to be applied to a source image to produce a destination image, wherein the scaling filter is stored within a filter texture map and is associated with a unique texture identification, and data associated with each pixel in the destination image includes a pair of filter texture map coordinates; obtain a filter kernel phase for each pixel in the destination image; and extract a fractional portion of each scaling filter texture map coordinate for each pixel in the destination image, wherein the fractional portion is used as the filter kernel phase for accessing the filter texture map. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A computing system, comprising:
a processor configured to execute a shader program comprising an instruction to; select a scaling filter to be applied to a source image to produce a destination image, wherein the scaling filter is stored within a filter texture map and is associated with a unique texture identification, and data associated with each pixel in the destination image includes a pair of filter texture map coordinates; obtain a filter kernel phase for each pixel in the destination image; and extract a fractional portion of each scaling filter texture map coordinate for each pixel in the destination image, wherein the fractional portion is used as the filter kernel phase for accessing the filter texture map. - View Dependent Claims (7, 8, 9, 10)
Specification