Bandwidth-efficient processing of video images
First Claim
1. A method for processing video data in an apparatus including a computer processing module and a graphics processing module, comprising:
- receiving a principal video stream from a source via plural inputs to the graphics processing module, the plural inputs associated with respective components of the principal video stream;
receiving a video sub-stream containing supplemental information associated with the principal video stream via another input to the graphical processing module;
in a single stage operation, performing, by the graphics processing module, an operation on the principal video stream and combining the principal video stream with the video sub-stream to produce processed data, wherein the single stage operation requires only a single read transaction to perform the single stage operation; and
outputting the processed data,wherein each of the plural inputs for receiving the principal video stream and the other input for receiving the video sub-stream refer to separate inputs, andwherein the graphics processing module executes video processing tasks using a 3D graphics pipeline.
2 Assignments
0 Petitions
Accused Products
Abstract
A technique is described for performing multiple video processing tasks in a single operation, as opposed to serially. For instance, a technique is described for de-interlacing a principal video stream at the same time that at least one video sub-stream is combined with the principal video stream. Performing these tasks in a single call to a graphics processing unit, as opposed to staggered serial calls, reduces the bandwidth requirements of the processing operations. This, in turn, can enable a computing device to perform these multiple operations at full frame rate. In one implementation, different texturing units are respectively assigned to the principal video stream and the video sub-stream. The graphics processing unit interacts with these texturing units and associated memory locations substantially in parallel, thus providing the above-described bandwidth savings.
53 Citations
31 Claims
-
1. A method for processing video data in an apparatus including a computer processing module and a graphics processing module, comprising:
-
receiving a principal video stream from a source via plural inputs to the graphics processing module, the plural inputs associated with respective components of the principal video stream; receiving a video sub-stream containing supplemental information associated with the principal video stream via another input to the graphical processing module; in a single stage operation, performing, by the graphics processing module, an operation on the principal video stream and combining the principal video stream with the video sub-stream to produce processed data, wherein the single stage operation requires only a single read transaction to perform the single stage operation; and outputting the processed data, wherein each of the plural inputs for receiving the principal video stream and the other input for receiving the video sub-stream refer to separate inputs, and wherein the graphics processing module executes video processing tasks using a 3D graphics pipeline. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. An apparatus for processing video data, comprising:
-
a computer processing module for controlling the apparatus; a renderer module; a graphics processing module; and an interface module that couples the renderer module to the data processing module, wherein the renderer module includes logic configured to generate and provide instructions to the graphics processing module to execute at least the following functions in a single stage; a) performing an operation on a principal video stream received via plural inputs to the graphics processing module, the plural inputs associated with respective components of the principal video stream; and b) combining the received principal video stream with a video sub-stream, wherein the video sub-stream is received via another input to the graphics processing module, wherein the single stage operation requires only a single read transaction to perform the single stage operation, wherein each of the plural inputs for receiving the principal video stream and the other input for receiving the video sub-stream refer to separate inputs, and wherein the graphics processing module is configured to execute video processing tasks using a 3D graphics pipeline. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22, 23)
-
-
24. An apparatus for processing video data, comprising:
-
a memory; a computer processing module for controlling the apparatus, the computer processing module being coupled to the memory; a renderer module; a graphics processing module coupled to same memory as the computer processing module; and an interface module that couples the renderer module to the graphics processing module, wherein the renderer module includes logic configured to generate and provide instructions to the graphics processing module to execute at least the following functions in a single stage; a) performing an operation on a principal video stream received via plural inputs to the graphics processing module, the plural inputs associated with respective components of the principal video stream; and b) combining the received principal video stream with a video sub-stream, wherein the video sub-stream is received via another input to the graphics processing module, wherein the graphics processing module includes logic configured to receive the instructions provided by the renderer module, and in response thereto, execute the performing and the combining, wherein the single stage operation requires only a single read transaction to perform the single stage operation, wherein each of the plural inputs for receiving the principal video stream and the other input for receiving the video sub-stream refer to separate inputs, and wherein the graphics processing module is configured to execute video processing tasks using a 3D graphics pipeline. - View Dependent Claims (25)
-
-
26. An apparatus for processing video data, comprising:
-
computer processing means for controlling the apparatus; graphical processing means for performing graphical processing tasks, comprising; means for receiving a principal video stream from a source via plural inputs to the graphical processing means, the plural inputs associated with respective components of the principal video stream; means for receiving a video sub-stream containing supplemental information associated with the principal video stream via another input to the graphical processing means; means, in a single stage operation, for performing an operation on the principal video stream and combining the principal video stream with the video sub-stream to produce processed data, wherein the single stage operation requires only a single read transaction to perform the single stage operation; and means for outputting the processed data, wherein each of the plural inputs for receiving the principal video stream and the other input for receiving the video sub-stream refer to separate inputs, and wherein the graphics processing means is configured to execute video processing tasks using a 3D graphics pipeline. - View Dependent Claims (27)
-
-
28. A computer readable media having machine readable instructions stored thereon for use by an apparatus including a computer processing module and a graphics processing module, the instructions comprising:
-
logic associated with the graphics processing module configured to receive a principal video stream from a source via plural inputs of the graphical processing module, the plural inputs associated with respective components to the principal video stream; logic associated with the graphics processing module configured to receive a video sub-stream containing supplemental information associated with the principal video stream via another input to the graphical processing module; logic associated with the graphics processing module configured to, in a single stage operation, perform an operation on the principal video stream and combine the principal video stream with the video sub-stream to produce processed data, wherein the single stage operation requires only a single read transaction to perform the single stage operation; and logic configured to output the processed data, wherein each of the plural inputs for receiving the principal video stream and the other input for receiving the video sub-stream refer to separate inputs, and wherein the graphics processing module is configured to execute video processing tasks using a 3D graphics pipeline. - View Dependent Claims (29)
-
-
30. A method for processing video data using a graphics processing module, comprising:
-
receiving a principal video stream from a source via plural inputs to the graphics processing module, the plural inputs associated with respective components of the principal video stream; receiving a video sub-stream containing supplemental information associated with the principal video stream via another input to the graphics processing module; in a single stage operation, performing an operation on the principal video stream and combining the principal video stream with the video sub-stream to produce processed data, wherein the single stage operation involves reading first input data associated with the received principal video stream in parallel with second input data associated with the received video sub-stream data; and outputting the processed data, wherein each of the plural inputs for receiving the principal video stream and the other input for receiving the video sub-stream refer to separate inputs, and wherein the graphics processing module executes video processing tasks using a 3D graphics pipeline. - View Dependent Claims (31)
-
Specification