← Back to Patent Explorer
US5838964A Expired / Lapsed US ⏱️ 0.0 years remaining

Dynamic numeric compression methods

Assignee: Individual
•
Filing: 1995-06-26
•
Granted: 1998-11-17
•
Expires: 2015-06-26
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A dynamic numeric compression method that groups like elements of a data stream and stores the methodology steps to form the groupings so that the data stream can be recovered completely upon decompression. The grouping is accomplished moving an element until it is adjacent a like element wherein the adjacent like element is moved and the original element is returned to the front or its original place in the file. The process is continued until all like elements are positioned at the opposite end of the file resulting in a unique number of moves being required to group a known number of elements in a file of known size together. To decompress, the known size data file is recreated and then filled with elements by reversing the move process.

Inventors

  • 👤 David R. Gubser

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-03 21:40
CPC Classifications
H; H03; H03M; H03M7/00; H03M7/30; H03M7/46; Y; Y10; Y10S; Y10S707/00; Y10S707/99941; Y10S707/99942

Claims Analysis

Total Claims: 41
Claim 1
Independent Claim 197 words
A numeric method to compress a digital data file including the steps of: (a) determining and storing numbers present as elements in the data; and then for at least all types of elements but one present, (b) determining and storing the number of the element present; (c) determining and storing the location in the data of the first one of the element; (d) determining and storing the location in the data of the last one of the element; (e) determining and storing the count of movements required to move a group of the element together toward an end element by moving the opposite end element until it is adjacent an element, moving the adjacent element toward the end element while moving the opposite end element back to its original position and so on until the elements of a single type are grouped together; and (f) organizing the stored types of elements, numbers of element, locations of first and last element, and count, and a representation of the number of bytes used to express such stored types of elements, numbers of element, locations of first and last element, and count, into a representation of the digital data file.
Claim 2
Dependent Claim 197 words
A numeric method to compress a digital data file including the steps of: (a) determining and storing numbers present as elements in the data; and then for at least all types of elements but one present, (b) determining and storing the number of the element present; (c) determining and storing the location in the data of the first one of the element; (d) determining and storing the location in the data of the last one of the element; (e) determining and storing the count of movements required to move a group of the element together toward an end element by moving the opposite end element until it is adjacent an element, moving the adjacent element toward the end element while moving the opposite end element back to its original position and so on until the elements of a single type are grouped together; and (f) organizing the stored types of elements, numbers of element, locations of first and last element, and count, and a representation of the number of bytes used to express such stored types of elements, numbers of element, locations of first and last element, and count, into a representation of the digital data file.
Claim 3
Dependent Claim 74 words
The numeric method to compress digital data as defined in claim 1 including the additional step of: providing a header to the representation of digital data that at least includes: a representation of the length of the header; a representation of the size of the digital data file; a representation of the number of times said numeric method has been used on the digital data file; and the identity of the digital data file.
Claim 4
Dependent Claim 135 words
The numeric method to compress digital data as defined in claim 1 including the additional steps of: setting a maximum count; determining when movement of a group of an element together will exceed the maximum count; reducing the group of an element that exceeds the maximum count until the maximum count is not exceeded; and representing the type of element of the group, numbers of the element in the group, locations of first and last element of the group, and count to move the group together, and a representation of the number of bytes used to express such type of element of the group, numbers of the element in the group, locations of first and last element of the group, and count to move the group together, into a representation of the group of elements.
Claim 5
Dependent Claim 80 words
The numeric method to compress digital data as defined in claim 3 including the additional step of: providing a header to the representation of digital data that at least includes: a representation of the length of the header; a representation of the size of the digital data file; a representation of the number of times said numeric method has been used on the digital data file; a representation of the maximum count; and the identity of the digital data file.
Claim 6
Dependent Claim 97 words
The numeric method to compress digital data as defined in claim 3 including the additional step of: providing a header to the representation of digital data that at least includes: a representation of the length of the header; a representation of the size of the digital data file; a representation of the number of times said numeric method has been used on the digital data file; a representation of the maximum count; a representation of the amount of memory allocated to the original digital data file size for processing; and the identity of the digital data file.
Claim 7
Dependent Claim 28 words
The numeric method to compress digital data as defined in claim 1 including the additional step of: converting the digital data file into simple HEX before step (a).
Claim 8
Dependent Claim 45 words
The numeric method to compress digital data as defined in claim 1 including the additional steps of: converting the digital data file into simple HEX before step (a); and performing the steps (a) through (f) separately for odd and even positions in the simple HEX.
Claim 9
Dependent Claim 57 words
The numeric method to compress digital data as defined in claim 1 wherein if only one of a type of element is present so that the location of the first and last element is the same, then concatenate the result of step (f) by eliminating a representation of the location of the last element and the count.
Claim 10
Dependent Claim 33 words
The numeric method to compress digital data as defined in claim 1 including the additional step of: converting the digital data file into a base 2 less than 2 8 before step (a).
Claim 11
Dependent Claim 19 words
The numeric method to compress digital data as defined in claim 1 wherein the element zero is not processed.
Claim 12
Dependent Claim 37 words
The numeric method to compress digital data as defined in claim 1 including the additional step of: determining the element type most numerous in the digital data file; and block procession of the element type most numerous.
Claim 13
Dependent Claim 44 words
The numeric method to compress digital data as defined in claim 1 including the additional step of: generating a lookup table of counts having ordinates of range between elements and number of elements, wherein step (e) includes determining the count from the lookup table.
Claim 14
Dependent Claim 44 words
The numeric method to compress digital data as defined in claim 1 wherein step (e) includes determining the count (A) from the formula ##EQU6## where y is the range or number of spaces to move and I is the total number of elements moving.
Claim 15
Dependent Claim 74 words
The numeric method to compress digital data as defined in claim 1 including the additional step of: generating a lookup table of counts having ordinates of range between elements and number of elements, wherein step (e) includes determining the count either from the lookup table or from the formula ##EQU7## where A is the count, y is the range or number of spaces to move and I is the total number of elements moving.
Claim 16
Dependent Claim 96 words
The numeric method to compress digital data as defined in claim 14 including the additional step of: providing a header to the representation of digital data that at least includes: a representation of the length of the header; a representation of the size of the digital data file; a representation of the number of times the numeric method has been used on the digital data file; a representation of the maximum count; and a representation of whether the lookup table, the formula or a combination of both was used to determine the count in step (e).
Claim 17
Dependent Claim 136 words
The numeric method to compress digital data as defined in claim 1 including the additional steps of: setting a maximum count; determining when movement of a group of an element together will exceed the maximum count; reducing the group of an element that exceeds the maximum count until the maximum count is not exceeded; and representing the type of element of the group, numbers of the element in the group, locations of first and last element of the group, and the count to move the group together, and a representation of the number of bytes used to express such type of element of the group, numbers of the element in the group, locations of first and last element of the group, and count to move the group together, into a representation of the group of elements.
Claim 18
Dependent Claim 80 words
The numeric method to compress digital data as defined in claim 16 including the additional step of: providing a header to the representation of digital data that at least includes: a representation of the length of the header; a representation of the size of the digital data file; a representation of the number of times the numeric method has been used on the digital data file; a representation of the maximum count; and the identity of the digital data file.
Claim 19
Dependent Claim 67 words
The numeric method to compress digital data as defined in claim 1 wherein the representations are temporarily stored in a first representation table of fixed size, including the additional step of: concatenating the first representation table into a second representation table by eliminating space therefrom for element types that are not present; and reducing space for element types that can be represented in less than six bytes.
Claim 20
Dependent Claim 108 words
The numeric method to compress digital data as defined in claim 18 including the additional step of: providing a header to the representation of digital data that at least includes: a representation of the length of the header; a representation of the size of the digital data file; a representation of the number of times the numeric method has been used on the digital data file; a representation of the number of data files that have been compressed; a representation of the number of files that have been concatenated; a representation of the order and direction of the concatenated files; and the identity of the digital data files.
Claim 21
Dependent Claim 27 words
The numeric method to compress digital data as defined in claim 1 wherein the data is a text file and the representations of spaces are not processed.
Claim 22
Dependent Claim 33 words
The numeric method to compress digital data as defined in claim 1 wherein the data is a text file in hexadecimal form and even number zeros and representations of spaces are not processed.
Claim 23
Dependent Claim 57 words
The numeric method to compress digital data as defined in claim 1 including the additional step of: removing all of the occurrences of an element in the data file after such element has been processed in steps (b) through (f) whereby the file size is reduced prior to performing steps (b) through (f) on the next element.
Claim 24
Dependent Claim 31 words
The numeric method to compress digital data as defined in claim 22 wherein the element first processed in steps (b) through (f) is the first element that occurs in the file.
Claim 25
Dependent Claim 31 words
The numeric method to compress digital data as defined in claim 22 wherein the element first processed in steps (b) through (f) is the last element that occurs in the file.
Claim 26
Dependent Claim 32 words
The numeric method to compress digital data as defined in claim 22 wherein the element first processed in steps (b) through (f) is the first non-zero element that occurs in the file.
Claim 27
Dependent Claim 32 words
The numeric method to compress digital data as defined in claim 22 wherein the element first processed in steps (b) through (f) is the last non-zero element that occurs in the file.
Claim 28
Dependent Claim 33 words
The numeric method to compress digital data as defined in claim 1 wherein the data is a text file in hexadecimal form and even number zeros and representations of spaces are not processed.
Claim 29
Dependent Claim 75 words
The numeric method to compress digital data as defined in claim 1 wherein before steps (b) through (f) are performed for an element, determining if at least one space is present between all occurrences of the element, and if so offsetting toward the last occurrence of the element all but the last of such elements by the largest number of spaces present between all occurrences of the element, and recording the offset for decompression purposes.
Claim 30
Dependent Claim 37 words
The numeric method to compress digital data as defined in claim 28 including performing step (e) from opposite ends of the offset elements and recording which step (e) results in a smaller count and such smaller count.
Claim 31
Dependent Claim 75 words
The numeric method to compress digital data as defined in claim 1 wherein before steps (b) through (f) are performed for an element, determining if at least one space is present between all occurrences of the element, and if so offsetting toward the first occurrence of the element all but the first of such elements by the largest number of spaces present between all occurrences of the element, and recording the offset for decompression purposes.
Claim 32
Dependent Claim 37 words
The numeric method to compress digital data as defined in claim 30 including performing step (e) from opposite ends of the offset elements and recording which step (e) results in a smaller count and such smaller count.
Claim 33
Independent Claim 152 words
A method of compressing digital data into a form that can be decompressed to the original data that includes: determining the pattern of occurrence of a first element type present in the digital data between two elements of the first element type by: determining the total count of element movements toward a stationary element that would be required to move all of the elements of the first element type together by moving one of the two elements toward the other of the two elements, which is the stationary element, until the moving element is adjacent another of the elements of the first element type, moving the adjacent element one position toward the stationary element of the two elements while resetting the moving element of the two elements back to its original position and so on until all of the elements of the first element type are grouped together adjacent the stationary element.
Claim 34
Independent Claim 152 words
A method of compressing digital data into a form that can be decompressed to the original data that includes: determining the pattern of occurrence of a first element type present in the digital data between two elements of the first element type by: determining the total count of element movements toward a stationary element that would be required to move all of the elements of the first element type together by moving one of the two elements toward the other of the two elements, which is the stationary element, until the moving element is adjacent another of the elements of the first element type, moving the adjacent element one position toward the stationary element of the two elements while resetting the moving element of the two elements back to its original position and so on until all of the elements of the first element type are grouped together adjacent the stationary element.
Claim 35
Dependent Claim 157 words
The method of compressing digital data into a form that can be decompressed to the original data in accordance with claim 32 further including: determining the pattern of occurrence of a second element type present in the digital data between two elements of the second element type by: determining the total count of element movements toward a stationary element that would be required to move all of the elements of the second element type together by moving one of the two elements toward the other of the two elements, which is the stationary element, until the moving element is adjacent another of the elements of the second element type, moving the adjacent element one position toward the stationary element of the two elements while resetting the moving element of the two elements back to its original position and so on until all of the elements of the second element type are grouped together adjacent the stationary element.
Claim 36
Dependent Claim 61 words
The method of compressing digital data into a form that can be decompressed to the original data in accordance with claim 32 further including: determining the pattern of occurrence of at least all but one of other element types present in the digital data in the same manner as the determination of the pattern of occurrence of the first element type.
Claim 37
Dependent Claim 75 words
The method of compressing digital data into a form that can be decompressed to the original data in accordance with claim 34 wherein during the step of determining the pattern of occurrence of at least all but one of other element types present in the digital data in the same manner as the determination of the pattern of occurrence of the first element type, the pattern of occurrence of zero is determined in another manner.
Claim 38
Dependent Claim 80 words
The method of compressing digital data into a form that can be decompressed to the original data in accordance with claim 32 further including: temporarily storing the representations of the pattern of occurrence along with number of occurrences, location of first occurrence and location of last occurrence in the form of representation digital data; determining the patterns of occurrence of the elements of the representation of digital data; and recursively temporarily store and determine until no appreciable compression takes place.
Claim 39
Dependent Claim 47 words
The method of compressing digital data into a form that can be decompressed to the original data in accordance with claim 36 further including: determining the element whose representation of pattern of occurrence is largest; and eliminate that representation of determining the pattern of occurrence from storage.
Claim 40
Independent Claim 179 words
A method of decompressing a block of digital data of known size that has been compressed by determining the pattern of occurrence of at least all but one element types present in the digital data by determining the total count of element movements toward a stationary element that would be required to move all of the elements of each element type together by moving one of the two elements toward the other of the two elements, which is the stationary element, until the moving element is adjacent another of the elements of the first element type, moving the adjacent element one position toward the stationary element of the two elements while resetting the moving element of the two elements back to its original position and so on until all of the elements of the first element type are grouped together adjacent the stationary element including the steps of: (a) establishing a matrix of the known original size; and (b) reversing the element movement process for each element until the matrix is filled with at least all but one element.
Claim 41
Independent Claim 179 words
A method of decompressing a block of digital data of known size that has been compressed by determining the pattern of occurrence of at least all but one element types present in the digital data by determining the total count of element movements toward a stationary element that would be required to move all of the elements of each element type together by moving one of the two elements toward the other of the two elements, which is the stationary element, until the moving element is adjacent another of the elements of the first element type, moving the adjacent element one position toward the stationary element of the two elements while resetting the moving element of the two elements back to its original position and so on until all of the elements of the first element type are grouped together adjacent the stationary element including the steps of: (a) establishing a matrix of the known original size; and (b) reversing the element movement process for each element until the matrix is filled with at least all but one element.

References Cited (Backward Citations)

US3728684A Cited
US4468732A Cited
US5140692A Cited
US5627995A Cited
US5627590A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2001-11-16 2002-05-18 2002-11-17 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2005-11-16 2006-05-18 2006-11-17 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2009-11-16 2010-05-18 2010-11-17 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag