Texture pipeline with online variable rate dictionary compression

US9947071B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9947071-B2
Application numberUS-201514742291-A
CountryUS
Kind codeB2
Filing dateJun 17, 2015
Priority dateJun 27, 2014
Publication dateApr 17, 2018
Grant dateApr 17, 2018

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A graphics system supports variable rate compression and decompression of texture data and color data. An individual block of data is analyzed to determine a compression data type from a plurality of different compression data types having different compression lengths. The compression data types may include a compression data type for a block having a constant (flat) pixel value over n×n pixels, compression data type in which a subset of 3 or 4 values represents a plane or gradient, and wavelet or other compression type to represent higher frequency content. Additionally, metadata indexing provides information to map between an uncompressed address to a compressed address. To reduce the storage requirement, the metadata indexing permits two or more duplicate data blocks to reference the same piece of compressed data.

First claim

Opening claim text (preview).

What is claimed is: 1. A method of variable rate compression of pixel or texel color values in a texture pipeline of graphics processing system, comprising: analyzing a set of blocks of color values of one of a texture and an image, wherein the one of the texture and the image is divided into the set of blocks of color values, each of the blocks of color values comprising a region of n×n pixels or texels (n being a natural number); for each individual block of color values, independently determining an associated data type of a plurality of data types based on the individual block of color values, each of the plurality of data types having a different compressed length with each data type having an associated compression type, the plurality of data types comprising a flat data type, a planar data type, and one of a wavelet data type and a spline data type; for each block of color values, compressing color data of each block based on the determined associated data type, the determined associated data type being one of the flat data type, the planar data type, the wavelet data type, or a spline data type; for each compressed block of color values, generating metadata defining a mapping between an uncompressed texture address space of each block to a compressed texture address space and which indicates the data type of each block; and decompressing a block of pixels by accessing a dictionary value and using the dictionary value to generate uncompressed color data for a plurality of data blocks. 2. The method of claim 1 , wherein duplicative blocks in the set of blocks are indexed to a single instance of representative compressed data. 3. The method of claim 2 , further comprising generating a dictionary, wherein the metadata defines an index to representative compressed data in the dictionary. 4. The method of claim 1 , wherein the flat data type is one in which all of the color values of the block have the same value and a single representative color value is compressed to represent the data of the block. 5. The method of claim 4 , wherein the planar data type is one in which three color values are used to represent the color values of the block. 6. The method of claim 5 , wherein one of a wavelet compression and a spline compression is used to compress the color values of the block associated with a corresponding one of the wavelet data type and the spline data type. 7. The method of claim 1 , wherein the compression is performed at runtime for a dynamic texture. 8. The method of claim 1 , further comprising of variable rate decompression of a block of pixels, including utilizing the metadata to identify compressed data for the block and the compression type and performing decompression using a decoder selected for the compression type to obtain uncompressed color data for the block. 9. The method of claim 8 , wherein a decompressor receives an uncompressed address miss from a cache and in response accesses metadata and dictionary or compressed values and performs decoding to generate decompressed data for the cache. 10. The method of claim 9 , wherein the variable rate compression and decompression are performed at least in part in hardware. 11. The method of claim 1 , wherein the variable rate compression is lossless compression and a data block that cannot be compressed within a maximum size limit is stored as an uncompressed block. 12. The method of claim 1 , wherein the variable rate compression includes compressing texture data into compressed data and storing the compressed data as a transformed texture in an on-chip L2 cache memory. 13. The method of claim 12 , further comprising in response to a cache memory miss, using the metadata to determine the address of the compressed texture data, retrieving the compressed texture data, decoding the compressed texture data, and providing uncompressed texture data to the cache memory. 14. A graphics processing unit, comprising: a texture pipeline including: a compressor to perform variable rate compression of blocks of data of a texture by: analyzing the blocks of data of the texture, the texture being divided into the blocks of data, each of the blocks of data comprising a region of n×n pixels or texels (n being a natural number); for each individual block of data, independently determining an associated data type of a plurality of data types based on the individual block of data, each of the plurality of data types having a different compressed length with each data type having an associated compression type, the plurality of data types comprising a flat data type, a planar data type, and one of a wavelet data type and a spline data type; for each block of data, compressing data of each block based on the determined associated data type, the determined associated data type being one of the flat data type, the planar data type, the wavelet data type, or a spline data type; and a decompressor to perform decompression of the compressed data by accessing a dictionary value and using the dictionary value to generate uncompressed color data for a plurality of data blocks. 15. The graphics processing unit of claim 14 , wherein for a set of duplicate blocks having generating identical compressed values the compressor stores a single representative compressed value and each instance in the set of duplicate blocks is indexed to the same representative compressed value. 16. The graphics processing unit of claim 14 , wherein the flat data type is one in which all color values of a block have the same value and the compressor stores a single representative color value to represent the block. 17. The graphics processing unit of claim 16 , wherein the planar data type is one in which three color values are used to represent color data of the block. 18. The graphics processing unit of claim 14 , wherein the graphics processing unit performs compression at runtime for dynamic textures. 19. The graphics processing unit of claim 14 , further comprising on-chip L1 and L2 cache memory, wherein the graphics processing unit performs variable rate compression of texture data stored in the L2 cache and the decompressor decompresses the compressed data stored in the L2 cache.

Assignees

Inventors

Classifications

  • Filling planar surfaces by adding surface attributes, e.g. adding colours or textures · CPC title

  • Physics · mapped topic

  • Specific encoding of data in memory or cache · CPC title

  • G06T1/60Primary

    Memory management · CPC title

  • Tiling · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9947071B2 cover?
A graphics system supports variable rate compression and decompression of texture data and color data. An individual block of data is analyzed to determine a compression data type from a plurality of different compression data types having different compression lengths. The compression data types may include a compression data type for a block having a constant (flat) pixel value over n×n pixel…
Who is the assignee on this patent?
Samsung Electronics Co Ltd
What technology area does this patent fall under?
Primary CPC classification G06T1/60. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 17 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).