Method and apparatus for filtering video data using a programmable graphics processor
First Claim
1. 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.
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.
18 Citations
15 Claims
-
1. 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. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. 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. - View Dependent Claims (8, 9, 10, 11)
-
-
12. 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. - View Dependent Claims (13, 14, 15)
-
Specification