Method and apparatus for filtering video data using a programmable graphics processor
AssigneeNVIDIA Corporation
InventorsStephen D. Lew, Garry W. Amann, Hassane S. Azar
Life of this patent
Estimating the term…
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.
Claims15
A computer-implemented method for performing video filtering, the method comprising:
- generating codewords for shader program instructions, wherein the codewords specify performing a scaling function;
- receiving pixel data associated with a pixel within a video frame into a shading pipeline within a programmable graphics processor;
- extracting fractional portions from texture coordinates associated with the pixel to use as a filter kernel phase;
- accessing a plurality of filter values using the filter kernel phase;
- and
- applying the plurality of filter values to the pixel data to produce scaled pixel data within a scaled video frame.
A method for performing video filtering, the method comprising:
- receiving pixel data associated with a pixel within a video frame into a shading pipeline within a programmable graphics processor;
- extracting fractional portions from texture coordinates associated with the pixel to produce a filter kernel phase within the shading pipeline using a shader program;
- accessing a plurality of filter values using the filter kernel phase using the shader program;
- and
- applying the plurality of filter values to the pixel data to produce scaled pixel data within a scaled video frame using the shader program.
A computing system comprising:
- a host processor;
- a host memory, the host memory storing programs for the host processor;
- a system interface configured to interface with the host processor;
- and
- a programmable graphics processor for performing video filtering configured to:
- generate codewords for shader program instructions, wherein the codewords specify performing a scaling function,
- receive pixel data associated with a pixel within a video frame into a shading pipeline within a programmable graphics processor,
- extract fractional portions from texture coordinates associated with the pixel to use as a filter kernel phase,
- access a plurality of filter values using the filter kernel phase, and
- apply the plurality of filter values to the pixel data to produce scaled pixel data within a scaled video frame.
Dependencies are inferred from the claim text.