Abstract:
A system and method for cryptographically securing a graphics system connectable via an external bus to a computing system, the graphics system including a graphics processor, a video memory and a memory controller for controlling the flow of data to and from the video memory. The graphics system further includes a copy engine for copying data between a system memory of the computing system and the video memory, where this copy engine acts independently of the graphics processor of the graphics system. The present invention enables the copy engine of the graphics system to decrypt encrypted data in the course of copying data from the system memory to the video memory and to encrypt unencrypted data in the course of copying data from the video memory to the system memory. Thus, cryptographic protection of secure content may be assured by the graphics system without the excessive usage of its primary resources for this non-graphical purpose.
Abstract:
In accordance with one embodiment a graphics processing system is configured to switch from a processing of a primitive associated with a first context to a processing of a command list associated with a second context where the primitive includes a plurality of regions. The system includes a plurality of processing modules and at least one module of the plurality of processing modules is configured to receive a request to switch to the second context. In one embodiment, the plurality of processing modules includes a first module that is configured to, following a receipt of the request by the at least one module, to complete a processing of at least one region selected from among the plurality of regions before interrupting the processing of the primitive prior to completion and processing at least a part of the command list associated with the second context; and a second module configured to provide data concerning the primitive to the first module following a processing of the primitive by the second module. The graphics processing system may also include a memory configured to save a state of the second module, where the state corresponds to the state of the second module when processing the primitive associated with the first context.
Abstract:
A graphics processing device for converting coefficients in a video data stream from a first type, e.g., frequency-domain, to a second type, e.g., color-domain. The device includes an input for receiving the video data stream including a set of coefficients of the first type and a storage medium holding a data structure containing a first set of coefficients of the second type. The device further includes a processor communicating with the input and with the storage medium. The processor uses the data structure to convert the set of coefficients of the first type to a second set of coefficients of the second type. The device also includes an output in communication with said processor, for releasing an output video data stream including the second set of coefficients of the second type. The same data structure is used repeatedly for each incoming set of coefficients of the first type, thus allowing a transform, such as an IDCT, to be computed efficiently.
Abstract:
A pixel shader program for execution by a processing unit in a graphics processing module is designed to execute a color space processing function on individual pixels of a video image. The color space processing function is broken down into series of steps, each of which is amenable to representation by an individual instruction taken from an instruction set. The instructions cause the processor to load pixel color data into first memory elements, to read the first memory elements as well as second memory elements containing pre-loaded parameters representative of the color space processing function and to generate a processed set of color data for each pixel by manipulating the first and second memory elements. In this way, color space processing functionality, such as color space conversion and procamp controls, is provided without the need for specialized hardware and without encroaching upon the computational efficiency of the host CPU.
Abstract:
A method of motion compensation within a displayable video stream using shared resources of a Graphics Processor Unit (GPU). Image data including a sequential series of image frames is recieved. Each frame includes any one or more: frame-type; image texture; and motion vector information. At least a current image frame in analysed, and the shared resources of the GPU are controlled to generate a motion compensated image frame corresponding to the current image frame, using one or more GPU commands.
Abstract:
A primitive of a base mesh having at least three base vertices is dynamically tessellated to enable smooth changes in detail of an image rendered on a screen. A respective floating point vertex tessellation value (Fv) is assigned to each base vertex of the base mesh, based on a desired level of detail in the rendered image. For each edge of the primitive: a respective floating point edge tessellation rate (Fe) of the edge is calculated using the respective vertex tessellation values (Fv) of the base vertices terminating the edge. A position of at least one child vertex of the primitive is then calculated using the respective calculated edge tessellation rate (Fe). By this means, child vertices of the primitive can be generated coincident with a parent vertex, and smoothly migrate in response to changing vertex tessellation values of the base vertices of the primitive.