Two component texture map compression
First Claim
Patent Images
1. A method of compressing and decompressing data, said method comprising:
- reducing a first multi-bit value comprising N+1 bits and a second multi-bit value comprising N+1 bits to respective first and second strings of N bits each;
storing said first and second strings of N bits in a particular order relative to one another in a memory-resident compression block; and
using said particular order in which said first and second strings of N bits are stored in said compression block to derive a first single-bit value, wherein said first single-bit value has one binary value if said first multi-bit value is stored before said second multi-bit value in said compression block and otherwise said first single-bit value has the other binary value, wherein said first single-bit value is appended as the least significant bit of one of said first and second strings of N bits to reconstruct said one of said first and second strings as N+1 bits.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods and systems for compressing and decompressing data are described. A first value of N+1 bits and a second value of N+1 bits are reduced to strings of N bits each. The first and second strings of N bits are stored in a particular order relative to one another in a compression block. The particular order in which the first and second strings of N bits are stored in the compression block is used to derive a bit value that is then used in combination with one of the strings of N bits to reconstruct that string as N+1 bits.
-
Citations
37 Claims
-
1. A method of compressing and decompressing data, said method comprising:
-
reducing a first multi-bit value comprising N+1 bits and a second multi-bit value comprising N+1 bits to respective first and second strings of N bits each; storing said first and second strings of N bits in a particular order relative to one another in a memory-resident compression block; and using said particular order in which said first and second strings of N bits are stored in said compression block to derive a first single-bit value, wherein said first single-bit value has one binary value if said first multi-bit value is stored before said second multi-bit value in said compression block and otherwise said first single-bit value has the other binary value, wherein said first single-bit value is appended as the least significant bit of one of said first and second strings of N bits to reconstruct said one of said first and second strings as N+1 bits. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A computer system comprising:
-
a processor; and a memory unit coupled to said processor, said memory unit containing instructions that when executed implement a method for compressing and decompressing data, said method comprising; reducing a first multi-bit value comprising N+1 bits and a second multi-bit value comprising N+1 bits to respective first and second strings of N bits each; storing said first and second strings of N bits in a particular order relative to one another in a memory-resident compression block; and using said particular order in which said first and second strings of N bits are stored in said compression block to derive a first single-bit value, wherein said first single-bit value has one binary value if said first multi-bit value is stored before said second multi-bit value in said compression block and otherwise said first multi-bit value has the other binary value, wherein said first multi-bit value is appended as the least significant bit of one of said first and second strings of N bits to reconstruct said one of said first and second strings as N+1 bits. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A computer-readable memory unit having computer-readable program instructions stored therein for causing a computer system to perform a method comprising:
-
reducing a first multi-bit value comprising N+1 bits and a second multi-bit value comprising N+1 bits to respective first and second strings of N bits each; storing said first and second strings of N bits in a particular order relative to one another in a memory-resident compression block; and using said particular order in which said first and second strings of N bits are stored in said compression block to derive a first single-bit value, wherein said first single-bit value has one binary value if said first multi-bit value is stored before said second multi-bit value in said compression block and otherwise said first single-bit value has the other binary value, wherein said first single-bit value is appended as the least significant bit of one of said first and second strings of N bits to reconstruct said one of said first and second strings as N+1 bits. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26, 27)
-
-
28. A computer-readable memory unit having a block of compressed data stored therein for causing a functional change in the operation of a device, said block of compressed data comprising:
-
a first portion and a second portion for storing a first multi-bit value and a second multi-bit value comprising N bits each, said first and second multi-bit values stored in said block of compressed data in a particular order relative to one another; and a first plurality of portions for storing bit codes for a first set of data values that are indexed to a first range of values that are interpolated from said first and second multi-bit values; wherein said particular order in which said first and second multi-bit values of N bits are stored in said block of compressed data is used to derive a first single-bit value, wherein said first single-bit value has one binary value if said first multi-bit value is stored before said second multi-bit value in said compression block and otherwise said first single-bit value has the other binary value, wherein said first single-bit value is appended as the least significant bit to one of said first and second multi-bit values of N bits to create a value comprising N+1 bits. - View Dependent Claims (29, 30, 31, 32, 33, 34)
-
-
35. A method of compressing and decompressing data, said method comprising:
-
reading a first value in a compression block, wherein said first value is a signed value comprising N bits and normalized to the range of [−
1, 1], said N bits having a value substantially in the range of [−
2N−
1, 2N−
1−
1]; andusing said first value to identify a type of compression used to encode data in said compression block, wherein if said first value is −
2N−
1 then a first type of compression is used and otherwise a second type of compression is used;wherein according to said first type of compression said compression block comprises; a portion for storing said first value; and a plurality of portions for storing compressed data values; and wherein according to said second type of compression said compression block comprises; a first portion for storing said first value and a second portion for storing a second value, said first and second values stored in said compression block in a particular first order relative to one another, wherein said particular first order is used to derive a first bit value that is then appended to one of said first and second values to create a value comprising N+1 bits; and a first plurality of portions for storing bit codes for a first set of data values that are indexed to a first range of values that are interpolated from said first and second values. - View Dependent Claims (36, 37)
-
Specification