×

Method of encoding and storing in a machine control computer a compressed data lookup table

  • US 7,079,056 B2
  • Filed: 01/15/2003
  • Issued: 07/18/2006
  • Est. Priority Date: 01/15/2003
  • Status: Active Grant
First Claim
Patent Images

1. A method of compressing digital data from an uncompressed data lookup table into an encoded, addressable, compressed data lookup table and storing the compressed data lookup table in a memory of a machine control computer, the uncompressed data lookup table comprising a plurality of uncompressed numerical data items having a single predetermined uncompressed data bit length in a row/column structure and the machine control computer being programmed to perform data lookup procedures with specification of a row and column of the uncompressed data lookup table, the method comprising the steps:

  • scanning the uncompressed data lookup table for compressible and uncompressible data items,defining a plurality of code descriptors for compressible data items, each of the code descriptors having a first predetermined number of bits describing a code type and a second predetermined number of bits for defining a run length of data items, each of the code types specifying a different compressed data item bit length less than the single predetermined uncompressed data bit length;

    for each unique uncompressible data, storing the unique uncompressible data item in the compressed data lookup table and defining a code descriptor for the unique uncompressible data item having a first predetermined number of bits identifying the memory location of the stored unique uncompressible data item and a second predetermined number of bits for defining a run length of the unique uncompressible data itemencoding and storing in the compressed data lookup table data specifying the number of rows and the number of columns of the uncompressed data lookup table;

    generating and storing in the compressed data lookup table an encoded code/data string by encoding and storing each row of uncompressed data items in the uncompressed data lookup table that is not identical to a previously encoded and stored row according to the following steps, beginning at the first column of the row;

    (a) beginning with the next uncompressed data item in the row that has not been encoded, determining a run of consecutive uncompressed data items within the row for which a single one of the code descriptors is most appropriate and storing the most appropriate code descriptor encoded with the run length of the determined run,(b) if and only if the stored most appropriate code descriptor is a code descriptor for compressible items, storing compressed data items for the run following the code descriptor in column order, each of the compressed data items having a bit length equal to the bit length indicated by the code type thereof and including all significant bits of the corresponding uncompressed data item; and

    (c) repeating steps (a) and (b) to the end of the row; and

    assembling and storing in the compressed data lookup table a row descriptor array comprising the locations in the compressed code data string of the code descriptors associated with the first uncompressed data item of each row, with the entry in the array for any row of the uncompressed data lookup table that is omitted being the same as that of the previous encoded and stored row to which it is identical, whereby the row descriptor array provides indexing of the initial column of each row of the compressed data lookup table for a table lookup operation with a specified row and column; and

    storing the compressed data lookup table in the memory of a machine control computer.

View all claims
  • 2 Assignments
Timeline View
Assignment View
    ×
    ×