Byte aligned data compression
First Claim
Patent Images
1. In a computer system, a method for compressing data comprising the steps of:
- storing the data into a first set of bytes of a memory of the computer system, each byte of said set of bytes including an identical number of bits for storing logical values;
classifying a byte of said first set of bytes as a gap byte if each bit of said byte stores the identical logical value, otherwise, classifying said byte as a map byte;
grouping adjacent identically classified bytes;
storing, in a second set of ordered bytes of said memory, for each group of gap bytes, a first bit sequence representative of the number of bits in said group of gap bytes;
storing, in said second ordered set of bytes, for each group of map bytes, a second bit sequence representative of the number of bits in said group of map bytes, said second set of bytes having an order corresponding to said first set of bytes.
3 Assignments
0 Petitions
Accused Products
Abstract
In a system for compressing, decompressing, and logically manipulating arbitrary bit-maps, the bit-map is aligned along byte boundaries. Each aligned byte is classified as a gap byte if all of the bits of the byte store the same logical value, otherwise the byte is classified as a non-gap byte. Adjacent bytes of the same class are grouped. Groups of gap bytes are encoded into an atomic sequence of bytes as a count of the number of bits included in the grouped gap bytes. Map bytes are duplicated in the atomic sequence and also associated with a count thereof.
-
Citations
9 Claims
-
1. In a computer system, a method for compressing data comprising the steps of:
-
storing the data into a first set of bytes of a memory of the computer system, each byte of said set of bytes including an identical number of bits for storing logical values; classifying a byte of said first set of bytes as a gap byte if each bit of said byte stores the identical logical value, otherwise, classifying said byte as a map byte; grouping adjacent identically classified bytes; storing, in a second set of ordered bytes of said memory, for each group of gap bytes, a first bit sequence representative of the number of bits in said group of gap bytes; storing, in said second ordered set of bytes, for each group of map bytes, a second bit sequence representative of the number of bits in said group of map bytes, said second set of bytes having an order corresponding to said first set of bytes. - View Dependent Claims (2, 3, 4, 5)
-
-
6. An apparatus for compressing data including:
-
a memory having a first set of bytes for storing the data, each byte including a plurality of bits for storing logical values representative of the data, said logical values being either a one or a zero; means for classifying a byte of said first set of bytes as a gap byte if all of said plurality of bits of said byte store the identical logical value, otherwise classifying said byte as a map byte; means for counting the number of bits in adjacent bytes having the identical classification; means for storing a first bit sequence representative of the counted number of bits in a second set of bytes of said memory for each group of adjacent gap bytes; means for storing a second bit sequence representative of the counted number of bits in said second set of bytes for each group of adjacent map bytes; means for storing said group of adjacent map bytes in said second set of bytes, the order of said first and second set of bytes corresponding to each other. - View Dependent Claims (7, 8)
-
-
9. A method for compressing data comprising the steps of:
-
storing the data into a source set of bytes of a storage device, each source byte having a plurality of bits, each of said bits to store a logical zero or a logical one; determining if all of said plurality of bits of a particular byte of said source set of bytes store the identical logical value; in response to a true determination, classifying said particular byte as a gap byte, otherwise classifying said particular byte as a map byte; grouping adjacent identically classified bytes of said source set of bytes; counting the number of said bits in each group of adjacent identically classified bytes; storing in a destination set of bytes of said storage device, for each group of classified gap bytes, a gap bit sequence representative of the number of said counted bits of said groups of gap bytes; storing in said destination set of bytes of said storage device, for each group of classified map bytes, a map bit sequence representative of the number of said counted bits of said groups of map bytes;
storing in said destination set of bytes of said storage device, each group of classified map bytes, the order of said source and destination sets of bytes corresponding to each other.
-
Specification