Abstract:
An apparatus for encoding an image and an apparatus for decoding an image are presented. An image contains one or more regions. For encoding the image, the image is decomposed into one or more regions and a region is evaluated to determine whether the region meets a predetermined compressions acceptability criteria. The region is then encoded in response to the transformed and quantized region meeting the predetermined compression acceptability criteria. For decoding the image, a region of the image is selected and the selected region is decoded using metadata associated with the selected region. The metadata includes transformation quantization settings and information describing an aspect ratio used to compress the region.
Abstract:
A method and apparatus is provided for block based compression of a texture using hardware supported compression formats. The method comprises dividing a texture into a plurality of blocks, for each block, determining a transform for use with the block to minimize an error metric, encoding at least one characteristic of the transform into a plurality of bits otherwise available to represent reference component values, and compressing the block.
Abstract:
A filtering method and apparatus for anti-aliasing takes advantage of improved existing hardware by using as input the data stored in the multisampling anti-aliasing (MSAA) buffers after rendering. The standard hardware box-filter is then replaced with a more intelligent resolve implemented using shader programs. Embodiments find scene edges using existing samples generated by Graphics Processing Unit (GPU) hardware. Using samples from a footprint larger than a single pixel, a gradient is calculated matching the direction of an edge. A non-linear filter over contributing samples in the direction of the gradient gives the final result.
Abstract:
A processing unit, method, and medium for decompressing or generating textures within a graphics processing unit (GPU). The textures are compressed with a variable-rate compression scheme such as JPEG. The compressed textures are retrieved from system memory and transferred to local cache memory on the GPU without first being decompressed. A table is utilized by the cache to locate individual blocks within the compressed texture. A decompressing shader processor receives compressed blocks and then performs on-the-fly decompression of the blocks. The decompressed blocks are then processed as usual by a texture consuming shader processor of the GPU.
Abstract:
A processing unit, method, and medium for decompressing or generating textures within a graphics processing unit (GPU). The textures are compressed with a variable-rate compression scheme such as JPEG. The compressed textures are retrieved from system memory and transferred to local cache memory on the GPU without first being decompressed. A table is utilized by the cache to locate individual blocks within the compressed texture. A decompressing shader processor receives compressed blocks and then performs on-the-fly decompression of the blocks. The decompressed blocks are then processed as usual by a texture consuming shader processor of the GPU.
Abstract:
A method for compressing an image includes decomposing the image into one or more regions. A region of the image is selected to be evaluated. The selected region is transformed and quantized if the region does not meet a predetermined compression acceptability criteria. The predetermined compression acceptability criteria may include a specific bit rate, a specific image quality, or combinations thereof. If the region does not meet the predetermined compression acceptability criteria after the region has been transformed and quantized, then the transformation and quantization settings are adjusted and the region is transformed and quantized using the adjusted settings. The region is then encoded when the predetermined compression acceptability criteria has been reached. The encoding may include additional compression stages.
Abstract:
A filtering method and apparatus for anti-aliasing takes advantage of improved existing hardware by using as input the data stored in the multisampling anti-aliasing (MSAA) buffers after rendering. The standard hardware box-filter is then replaced with a more intelligent resolve implemented using shader programs. Embodiments find scene edges using existing samples generated by Graphics Processing Unit (GPU) hardware. Using samples from a footprint larger than a single pixel, a gradient is calculated matching the direction of an edge. A non-linear filter over contributing samples in the direction of the gradient gives the final result.
Abstract:
A processing unit, method, and medium for decompressing or generating textures within a graphics processing unit (GPU). The textures are compressed with a variable-rate compression scheme such as JPEG. The compressed textures are retrieved from system memory and transferred to local cache memory on the GPU without first being decompressed. A table is utilized by the cache to locate individual blocks within the compressed texture. A decompressing shader processor receives compressed blocks and then performs on-the-fly decompression of the blocks. The decompressed blocks are then processed as usual by a texture consuming shader processor of the GPU.
Abstract:
A method and apparatus is provided for block based compression of a texture using hardware supported compression formats. The method comprises dividing a texture into a plurality of blocks, for each block, determining a transform for use with the block to minimize an error metric, encoding at least one characteristic of the transform into a plurality of bits otherwise available to represent reference component values, and compressing the block.
Abstract:
A processing unit, method, and medium for decompressing or generating textures within a graphics processing unit (GPU). The textures are compressed with a variable-rate compression scheme such as JPEG. The compressed textures are retrieved from system memory and transferred to local cache memory on the GPU without first being decompressed. A table is utilized by the cache to locate individual blocks within the compressed texture. A decompressing shader processor receives compressed blocks and then performs on-the-fly decompression of the blocks. The decompressed blocks are then processed as usual by a texture consuming shader processor of the GPU.