US3656178A - Data compression and decompression system - Google Patents
Data compression and decompression system Download PDFInfo
- Publication number
- US3656178A US3656178A US857707A US3656178DA US3656178A US 3656178 A US3656178 A US 3656178A US 857707 A US857707 A US 857707A US 3656178D A US3656178D A US 3656178DA US 3656178 A US3656178 A US 3656178A
- Authority
- US
- United States
- Prior art keywords
- string
- units
- type
- memory
- storing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
- 230000006837 decompression Effects 0.000 title claims abstract description 28
- 238000013144 data compression Methods 0.000 title description 3
- 238000000034 method Methods 0.000 claims abstract description 35
- 238000007906 compression Methods 0.000 claims abstract description 22
- 230000006835 compression Effects 0.000 claims abstract description 22
- 238000012856 packing Methods 0.000 claims abstract description 4
- 238000012360 testing method Methods 0.000 claims description 3
- 230000002349 favourable effect Effects 0.000 claims 4
- 238000012217 deletion Methods 0.000 claims 2
- 230000037430 deletion Effects 0.000 claims 2
- 238000012545 processing Methods 0.000 abstract description 2
- 230000007423 decrease Effects 0.000 description 7
- 238000012546 transfer Methods 0.000 description 5
- 102100034609 Ankyrin repeat domain-containing protein 17 Human genes 0.000 description 4
- 101000924481 Homo sapiens Ankyrin repeat domain-containing protein 17 Proteins 0.000 description 4
- 239000007787 solid Substances 0.000 description 2
- 244000309464 bull Species 0.000 description 1
- 244000309466 calf Species 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- VLCQZHSMCYCDJL-UHFFFAOYSA-N tribenuron methyl Chemical compound COC(=O)C1=CC=CC=C1S(=O)(=O)NC(=O)N(C)C1=NC(C)=NC(OC)=N1 VLCQZHSMCYCDJL-UHFFFAOYSA-N 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/3066—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction by means of a mask or a bit-map
Definitions
- PATENTEDAPR 1 1 1912 SHEET 1; 0F 30 EXECUTIVE POINTERS LINK ADDRESS (BADDL BYTES) FIG. 12
- FIG. 18A I BLTHAYY SUPERSCH D aAooL, aLFAsT CSCREEN 706 FIG. 18A
Abstract
A high speed, multistage, compressor-decompressor system for processing arbitrary bit strings by reversibly removing redundant information. Alphanumeric information is processed by Type 1 compression which involves removing patterns of contiguous bytes and replacing each removed pattern by decompression information which takes considerably less storage space, and Type 2 compression which involves removing individual redundant bytes and constructing a bit map identifying the location of the removed bytes. Numerical information is processed by a compression technique involving truncation, recursive differencing, sequence removal, packing, and then utilizing the Type 1 and Type 2 compression which are used in conjunction with alphanumeric information. The information which is to be compressed is arranged in strings of bytes and any information defining removal of redundant information from a string is kept together with the string. As a result, each string is selfdefined in the sense that it contains all information needed to decompress that string.
Description
United States Patent De Maine et al.
[54] DATA COMPRESSION AND DECOMPRESSION SYSTEM [72] Inventors: Paul A. D. De Maine; Gordon K. Springer,
both of State College, Pa.
LAD. D e Maine, B. A Mgrron, and K. Kloss, The Solid System 11; Numeric Compression The Solid System 111; Alphanumeric Compression Nat. Bureau of Standards Technical Note 413, Aug. 15,1967
[451 Apr. 11, 1972 R.W. Bemer, Data Compression System, IBM Tech. Disc. Bull. Vol. 3, No. 8, Jan. 1961 Primary Examiner-Raulfe B. Zache Assistant Examiner-Sydney R. Chirlin Attorney-Robert S. Dunham, P. E. Henninger, Lester W. Clark, Gerald W. Griffin, Thomas F. Maran, Howard .1.
Churchill, R. Bradlee Boal, Christopher C. Dunham, Robert [5 7] ABSTRACT A high speed, multistage, compressor-decompressor system for processing arbitrary bit strings by reversibly removing redundant information. Alphanumeric information is processed by Type 1 compression which involves removing patterns of contiguous bytes and replacing each removed pattern by decompression information which takes considerably less storage space, and Type 2 compression which involves removing individual redundant bytes and constructing a bit map identifying the location of the removed bytes. Numerical information is processed by a compression technique involving truncation, recursive differencing, sequence removal, packing, and then utilizing the Type 1 and Type 2 compression which are used in conjunction with alphanumeric information. The information which is to be compressed is arranged in strings of bytes and any information defining removal of redundant information from a string is kept together with the string. As a result, each string is self-defined in the sense that it contains all information needed to decompress that string.
25 Claims, 38 Drawing Figures SANPAKD PATENTEuIPRITIIm 1 3,656,178
SHEET mar 30 sET ALL YES REGISTERS AND F COUNTERS IS THIS TYPE 2 COMPRESSION FIG. 1A
COMPUTE sAvINe RATIO AND FIND OUT WHETHER TO ADD, DELETE, OR UPDATE PCORDSI FIND ALL l2 AVAILABLE CODES.
STORE lN LEXICON ARE THERE ANY coDEs LEFT AVAILABLE FOR SUBSTITUTION FOR A PATTERN ANY CODES AVAILABL SET COUNTERS R AND RM A B UPDATE COUNTERS SELECT coDE FROM U No 807 LEXICON ARRAY I P {30 RM=RM-l LDAD IRE wITH ADDRESS OF MATCH 36 FROM TL (IR4) (94) m TWIN/(IRS.- E PAUL A.D. de MAINE INGER m- AY GORDON K AA 34 v LERNER DAVID 8I BEHR ATTORN E YS PAIENTEBIPII I I I972 SHEET SET UP COUNTERS AND REGISTERS FOR TYPE 2 COMPRESSION SET UP COUNTERS AND REGISTERS FOR FAST MODE GET NEXT TYPE 2 CODE TO SEARCH STRING FOR GET NEXT PCORD O SEARCH FOR IN STRING FIG. 1B
WAS THERE A SAVINGS GO TO POINT MARKED K SET UP COUNTERS TO ASSEMBLE LEXICON GO TO POINT MARKED L ARE THERE ANY ANY MORE TYPE 2 CODES GO TO POINT MARKED J ANY MORE PCORDS FOR THIS ENGTH TH ERE A SAVINGS RRL JII,CS4
ANY MORE TYPE 2 CODES ARE THERE ANY YES RELOAD REG. 8: IRR AND BRANCH SAVINGS SAVINGSR PATENTED PR 1 1 m2 SHEET 830F310 UN UNLN 20mm wooo mkmJwQ PATENTEIJIPII I I I972 SET NDR IN SOSIIRI) ZERO. MAKE SOSIIRI) NEGATIVE USED).
SHEET OSUF 3'0 LOGICAL ADD THE LAST 4 BITS OF NUMBER AT LOCATION OIBRYY) WITH ITSELF AND THE SHIFT RESULT TO RIGHT 8 BITS, TRUNCATION WITH ROUNDING STORE STORE IO LSX(IRI)/2.0 IN BWXIIRII lN BWX (IRI) 7 FIND MIN (1R4) 2'8 2 x v 234 STORE 0.0 ,E Q JQZ IN BWX (IR'I IN SUBSTRING 236 V I INCREASE SETI 220 BRYY BY 4 FIND THE MIN '98 YM (1R|I= 1R4 I DECREASE 1R3 (1R4) 8 THE DUMI=IIR5-1R4I BY 4 MAX.IIR5) IN /BWX (IRI I SUBSTRING 238 (6(BRYY I 222 0 200 IF SE I g DUMI B O YM(1R|)=(IR4+1R5I 61.08364 /2 so 1R5=I YMIIRI )I DEc E vQI I igm I224 BRYY 8Y4 (:52 a CSI5 SHIFT 6(BRYY) LOGICAL LEFT REPLACE GIBRYYI a STORE IN E6(BRYY)YM(IRI)J LOAD IRS 8| /BWX(IR|) CHECKIIRI) BRYY FROM cs2 a cs I5 LOAD BRYY r 228 AND [R3 FROM SUBTRACT TRUN Csls CS2 YMIIRIIFROM 6(BRYY) O'YYIYY l IR3=IR34 230 244 A BRYY=BRYY +4 2I4 INCREASE BRYY BY 4 DECREASE o I ma BY 4 so 50 IF 0 FIG.
PATENTEDIPR I I I972 3. 656, 1 78 SHEET 06 (1F 30 IE H I? 5 EW TTN I I sTo II: IRI a |R5 I 2$8RIHIIRTOII$3I I IN a IR3) AND .1 ADD FOUR TO IR4 I DUMIIIM) LOAD BRYY FROM LOAD I CSISIDECREASE I I FROM BRYY I I |R3 BY FOUR, I D I INCREASE IR3v8IIR4 I I BY FouRsToREIRe I w BEGIN THE FLOAD me I GIIRZI I I SIGNIFICANT I R BRYY OM e( I I I E LTI 'I'BRIED IN RT I INCREASE IR4,IR5a I I E B S O I I IR6 BY4,88II I EAEH \A I2R STORE IRS IN 9(IR3).INCREASE IR3, IR5 BI BRYY BY FOUR. LOAD IRG FROM GIBRYY). DECREASE IRI BY ONE.
TRANSFER IR? BYTES FROM 9(IR2) TO 6(IR3) STORE IR6 IN DUMI. ASSEMBLE THE CONDENSED SUBSTRING LOAD BRYY a I I IRIWITH IR28I9 I so I M355? RI CONDENSED STRINGS II IIRS+IR4 IS N0.0F I
\BYTES (III) I W I.
LOAD IR4,IR5 8IIR7 WITH ZERO LOAD IR6 8IlR4 WITH ONE 8 GIBRY LOAD IR4 POSITIVE BI IR? WITH ONE MOVE lR4-IR5 LEFT ONE BIT. INCREASE IR6 BY ONE LOAD IR4 WITH IR7. SHIFT IR4-IR5 RT. ONE
ADD IR6 TO IRS LOGICAL STORE IRS IN GIBRYY).
ADD FOUR TO BRYY. SUBSTRACT FOUR FROM IR3.
PATENTEDIPIIII I972 I SNUPAKC I SHEET 070F 3O TRUNCATION MAKE IRS POSITIVE ADD IR5 TO IRS LOAD IRI,IR3 AND BRYY FROM CS2,
I oAD IR2,|R3 a BRYY FROM cs3, (:54 a csI5:IRe, IRI,IR4 T0 IR? WITH ZERO LOAD IR? FROM GIBRYY) IF I R7-IRO MAKE IRO POSITIVE ADD IR5 TO IRG ADD IRG TO IR4 HAS IR4 OVERFLOWED YES LOAD IRB FROM IR7 IR5 WITH ZERO INCREASE B RYY BY FOUR DECR-EASE IR3 BY FOUR ITRTIEURSTRFIE INDEX IR3=NO. OF BYTES I Nos. IN suBsTRINs IR5= NO. OF CONSECUTIVE IEQUELLEILEQEFLSJ INCREASE IR5 BY ONE LOAD IRI WITH 'TFFFFFFF' cs4 a CSIS BRYY=ADDRESS l I RIDE-155W I SUBSTRING STEP (a) CONVERTED TO I INTEGERS AND I HAS IRG OVERFLOWED ADD IRS TOIR4 STORE IR4 IN IRI LOAD BRYY FROM Calf) WITH ZERO THE SUM OF I ABS. INTEGERS \L L JIBE I SUBTRACT [R6 FROM GIBRYY) 8| STORE DIFF. IN IR4. LOAD BRY WITH POSITIVE IR7 IF BRY- LOAD IRS FROM GIBRYY) INCREASE IR5 BY ONE PATENTEIII-PII II Ian 3,656,178
SHEET O8BF 30 '*G a -PTQKIE hl I l mERF Bic-1m? TFE" ADD IRs To sAvE IR8 IN wcD PACKING OF E 1 POSITIVE IRe INIRe I SETALL REGISTERS INTEGERS IN ARRAY ADD 1R0 To IR4 AND INDICATORS 9(BRYYHNTO ARRAYI I \E Y L J I SETKMZASKI AND L @EI E M s HAS No LOAD FROM LOAD IRI FROM sEouENcEs I ovERFLowED IR? INCREASE [R5 BY ONE DUMI. SHIFT IRI CONDENSED I LEFT 3 BITS \LN S'EEP (P I I I-o lBNYCgfiSLEOlXgR I LOAD IR8,CS6 AND BRYY BIIRI FROM I cs7 WITH ZERO CSI5 a cs2 I l4-K INSERT IN ExTRAcT FROM mEK :2 lS SOSURDLOAD R7: 9(BRYY) THE usED TO I NO. OF SIGN BITS ExTRAcT THIS I h ZERO I86 I INTo IR3I ADD NO. FROM RT. I L I ONE TO IR8 Il3 l J UENC'NG ,'u BsTIN CONDENSAT'ON [F 0 TRANSFER CS6 TO I AND COUNT cs7 AND STORE PROCEDURES |R3-cs6 "IT 0 IR? BY FOUR Z HAS IRs OVERFLOWED LOADIR3 BI |R2 WITH CS6 BI ZERO MULTIPLY |R2 BY IRB AND STORE THE ANSWER IN |R3 S INcREAsE BRYY BY LOAD RYY a FOURDECREASE IR3 FROM IR? BY FOUR csIs a cs4 LOAD IRe WITH 0 0(8RYY) H DEcREAsE IRB BY l E ONE.TRAN$FER ADD FOUR T0 CS7 T0 C56 BRYY. SUBTRACT FOUR FROM 0 m3 DIvIDE cs5 BY 0 IR8.QUOT|ENT a REMAINDER K so LOAD IRI FROM STORED IR4. INcREAsE AND (WCD +4) NDR BY ONE F N 0 USE MASK2 TO ExTRAcT No. OF SIGNIFICANT BITs LOAD R FROM DIBRYITIIEN OUBRYY) SUBTRACT (A COMPACT INTEGER Ims FROM 00mm IN 9(BRY) IN RIGHT III/III IHG I RUMIHI IR3 BITS OF IR2 FIG. 6B
PATENTEIIIPII I I I972 SHEET 090F130 M PAEFIN'G P T q T I gEEII/IENT? IF I MOVE REGISTERS BEING PACKED LOAD BRY,IR5 AND IRO a IRI INTO DOUBLE BRYY FROM CSIS, LEFT IRS BITS REG|STER5 C53 AND 1R6 I \L i-L J I I Wa N5 3'5"? ADD LOGICAL SUBTRACT BRY BYTES m I IIIEREIS E BRY FROMIRS ADD COMPRESSED I cs4 T0 BRY I BY FOUR.SUBTRACT 'N I ONE FROM |R8 SHIFT REGISTERS IRQ 8 IRI LEFT LOGICAL(WCD+4) BITS INSERT RT. FIVE I WEIEI=I )F BITS F cs8 INTO SEGMENTS IN THE THE LEFT FIVE \DOUBLE WORD LOAD BRY FROM BRYY MOVE DOUBLE WORD IN MASK4 INTO 6(IR6) INCREASE IRS BY EIGHT YES STORE IRS-IRI IN MASK4 AND 'ee' IN CORDI LOAD me a lRl WITH ZERO STORE 56 IN CS5 TRANSFER MASK4 TO IRS. INCREASE IRS BY EIGHT MOVE THE IR5 BYTES OF UNCOMPRESSED INFO. FROM 6(BRY) TO 9(BRYY) LOAD IR9,IR| AND BRYY FROM csI, (:32 a CS|5.STORE IR6 IN cs4 a J l INSERT NDR AND JI IN SOSHRI) LOAD IRB FROM WCD BRANCH TO BRADD EID \ CONSTRUCTED I I I I I I I I I I I I T 2775 TT PAIENIEIIAPRIIIHIZ SET ALL INDICATORS AND REGISTERS CONSTRUCT IN MASK2 THE MASK FOR EXTRACTING NS AND NOS LOAD IRE 8 IR3 WITH DOUBLE WORD FROM GIBRYY) INCREASE BRYY BY EIGHT DECREASE IR7 BY EIGHT EXTRACT NS FROM IR2 WITH MASK2 INTO IRS 8: NS (RT ADJUSTED) COMPUTE THE NUMBER OFBITS/ SEGMENT FROM IRQ 8 C55 IN IR4 CONSTRUCT MASK FOR EXTRACTING SEGMENTS IN SHIFT DOUBLE REGISTER IR2-IR3 LEFT LOGICAL 8. LOAD IR5 FROM CS5 MASKI I I EXTRACT NOS FROM IRE WITH MASK2 INTO LSX SHIFT IR2 IR3 LEFT LOGICAL 8 INCREASE IRI BY FOUR EXTRACT SEGMENT FROM m2 INTO IR5 SHEET ET JT M I BRY a BRYY I I CONTAIN ADDRESS OF I DOUBLE WORD I Nos: NO OF CONDENSED ESTSW LEFT-MOST I FIVE BITS OF I ERWKINE IETI FOR THE FIRST DOUBLE WORD I L9 F A R RAY YL I 555 13 THE I NUMBER OF I CONDENSED STRINGS IN IL E E LJ EXPAND SEGMENT IN IR5 TO FULL WORD AND STORE IN LSX (IRI) LOAD IR5 WITH NS AND SUBTRACT ONE STORE IR5 IN NS SHIFT IRZ-IR3 LEFT LOGICAL IR4 BITS SUBTRACT ONE FROM IRS STORE IRB IN CS7 LOAD IRG AND IRI WITH NS AND ZERO EXTRACT SEGMENT FROM IR2 INTO IR5 FIG. 7A
DECREASE IRS BY ONE.STORE IRG IN CS7 PATENTEDIIIR II I972 EXPAND SEGMENT IN IR5 AND STORE IN DUNIIIRI).
ADD FOUR TO IRI SHEET SAVE BRYY 8| BRY IN CS9 8s CSIOI LOAD IRS FROM BRYY 8 SUBTRACT BRY GEENTTIBE -I OF TRANSFER I OF INFORMATION I IN ARRAY DUNI T O ARRAY YY ADD IR7 a C53 TO BRYY. SUBTRACT EJE E E S ONE FROM BRYY LQE l 'i I Dm N TAT I S SUBTRACT IRs AND THE ASDRESS I ADD IRI T0 BRYY OF THE BYTE IaIZBRNYCSS ON RT HAND I I ll I I EE ALL Q E I R-2.IS T R E I ADD cs3 TO R7 IN R2 NUMBER OF BYTESI RM vc e, IR2,BRY, 9,8RYY
IROTTE OF F2 7 BYTES CREATED I IE E E E J RELOAD BRYY, BRY AND |R2 FROM CS9, CSIO 8 OS I I TRANSFER IRI BYTES F ROM DUNI TO HOLE (6(BRY)) ADD IRI TO BRY THEN STORE IN BRYY LOAD IRI WITH ZERO SHIFT IR2-IR3 LEFT LOGICAL ONE SEGMENT(IR4I DECREASE IRS BY ONE LOAD IRS AND IRS FROM CS4 AND LSX. LOAD IRI 8I |R2 WITH ZERO EEOINNINI; i
OF THE EXPANSION OF I CONDENSED PAIENTEIIM'R 1 1 m2 SHEET [JIR PARM l sosu I CHECK I I sos (2) CHECK (2) BWX (2) I mm) BYTES =4 LSUBSTRINEI Lsu BSTRING Q & SUBSTRINGTVI FIG. 6
SOS
LSX
FORMATTYPE COPAK COMPRESSOR OPTION E AND/OR F E AND/OR F USE SANPAKC ONLY USE SANPAKC ONLY USE SNUPAKII) THEN SANPAKC USE SNUPAKIZ) THEN SANPAKC USE SNUPAKI3I THEN SANPAKC DON'T USE SNUPAK OR SANPAKC WRITE THE RESI- DENT MB IN CURR E NT LOCATION FIG. .9
REWRITE THE RE- SIDENT MB IN LOCATION CURRENT READ MB IN LOCATION ADDRESS BIT 02 OFF BIT OI OFF LOAD CURRENT UPDATE EMPTY BIT 80-OFF BIT OZ-ON SET CURRENT mm FIG. 11
moqmohm FIG. 13
BD(|) LD( I) RFILE MAIN FILE JMM) SIIEET 15UF 3O IMACH|NE-INDEPENDENT INSTRUCTION SET I LAST CODING LEVEL CONTAINING ASSEMBLY LANGUAGE L 1 1 4 A 4 1 A A A [CODING LEVEL 7 I E 1 1 1 1 1 1 1E LCODING LEVEL 6 1 I I I I I EODING LEVEL 5 LCODING LEVEL 4 MACROPAK CODING LEVEL 3 SERVICE MACROS [RESERVE I I ASSEMBLY LANGUAGE FIG. 14
CONTROL ROUTINE T T T SRI SR2 SR3 SRZA SR3A SRBB 1 n In FIG. 15
I BLTHAYY SUPERSCH D aAooL, aLFAsT CSCREEN 706 FIG. 18A
SSEARCH Y FIG. 183
Y FIG. 20A
Claims (25)
1. Method of utilizing a digital computer system including memory and control sections comprising the steps of: a. storing in the memory a string comprising a set of multibit information units; b. identifying and storing in the memory a LEXICON table comprising Type 1 codes defined as units which are of the same format as the stored string units and which do not occur in the stored string; c. searching the stored string for the presence of a plurality of patterns of contiguous string units which patterns are repeated in the string, and identifying such repeated patterns; d. replacing each of the patterns of a plurality of repeated patterns identified in the preceding step by a unique Type 1 code from the LEXICON table; e. storing in the memory decompression information associated with the string and defining the replacement carried out in the preceding step; and f. storing in the memory a PCORD table containing one pattern from each plurality of identical patterns which have been replaced by a Type 1 code.
2. Method as in claim 1 including computing and storing in the memory a savings ratio indicative of the saving in the length of the stored string achieved through replacing by a Type 1 code string pattern identical to patterns stored in the PCORD table to thereby associate a savings ratio with each pattern stored in the PCORD table.
3. Method as in claim 2 including: defining a maximum value for the number of patterns that can be stored in the PCORD table; testing before storing a pattern in the PCORD table if the PCORD table is full; if the PCORD table is full, testing if the savings ratio of the pattern to be stored in the PCORD table is more favorable than the least favorable savings ratio of the patterns already in the PCORD table; and, if the answer is yes, removing the pattern with the least favorable savings ratio from the PCORD table and storing therein the pattern with the more favorable savings ratio.
4. Method of utilizing a digital computer having memory and control sections to decompress a string compressed by the method of claim 1 comprising: a. storing the compressed string an the decompression information in the memory; b. identifying from the decompression information a Type 2 code and the pattern replaced by it; c. locating in the compressed string Type 2 codes identical to the Type 2 code identified in the preceding step; and d. replacing each Type 2 code located in the preceding step by the pattern identified in the identifying step.
5. Method of utilizing a digital computer system including memory and control Sections comprising the steps of: a. storing in the memory a string comprising a set of multibit information units; b. identifying and storing in the memory a LEXICON table comprising Type 1 codes defined as units which are of the same format as the stored string units and which do not occur in the stored string; c. storing in a PCORD table in the memory a list of PCORD patterns each composed of a plurality of units of the same format as the units of the stored string; d. searching the stored string for a plurality of patterns each composed of contiguous units and each identical to a PCORD pattern; e. identifying such patterns for replacement by Type 1 codes; f. replacing each of the patterns of a plurality of repeated patterns identified in the preceding step by a unique Type 1 code from the LEXICON table; and g. storing in the memory decompression information associated with the string and defining the replacement carried out in the preceding step.
6. Method as in claim 5 including defining prior to the searching step if the stored string is to be subjected to slow mode compression or to a fast mode compression, and - if slow mode compression is defined - searching in the searching step for a plurality of patterns each composed of contiguous units and identifying such patterns for replacement by Type 1 codes without reference to the PCORD patterns stored in the PCORD table, but - if fast mode compression is defined - searching in the searching step only for repeating patterns identical to PCORD patterns from the PCORD table.
7. Method of utilizing a digital computer system including memory and control sections comprising the steps of storing in the memory a string comprising a set of multibit information units; identifying and storing in the memory a LEXICON table comprising Type 1 codes defined as units which are of the same format as the stored string units and which do not occur in the stored string; searching the stored string for the presence of a plurality of patterns of contiguous string units which patterns are repeated in the string, and identifying such repeated patterns; replacing each of the patterns of a plurality of repeated patterns identified in the preceding step by a unique Type 1 code from the LEXICON table; storing in the memory decompression information associated with the string and defining the replacement carried out in the preceding step; including in said identifying and storing step the substep of identifying and storing in the LEXICON table Type 2 codes defined as units which are of the same format as the stored string units and which occur in the stored string at least a preselected number of times, and including the additional steps of: searching the stored string for string units identical to Type 2 codes stored in the LEXICON portion of the memory in the preceding step; constructing and storing in the memory a bit map identifying the locations in the stored string of units identical to a Type 2 code and occurring at least a preselected number of times in the string; removing from the string the units identified in the preceding step; and storing in the memory decompression information associated with the string and comprising the bit map and one of the removed string units.
8. Method of utilizing a digital computer system including memory and control sections comprising the steps of: a. storing in the memory a string comprising a set of multibit information units; b. identifying and storing in the memory a LEXICON table comprising Type 1 codes defined as units which are of the same format as the stored string; units and which do not occur in the stored string; c. searching the stored string for the presence of a plurality of patterns of contiguous string units which patterns are repeated in the string, and identifying such repeated patterns; d. replaCing each of the patterns of a plurality of repeated patterns identified in the preceding step by a unique Type 1 code from the LEXICON table; and e. storing in the memory decompression information associated with the string and defining the replacement carried out in the preceding step; f. storing in the memory a PCORD table containing preselected Type 2 codes each of the same format as the units of the stored string; g. searching the stored string for units which are identical to a Type 2 code and which occur in the string at least a preselected number of times; h. removing from the string units identified in the preceding step; i. constructing a bit map identifying the locations of the removed units; and j. storing in the memory decompression information associated with the string and comprising the bit map and one of the removed string units.
9. Method as in claim 8 including: defining prior to the step of searching the stored string for units identical to Type 2 codes if the stored string is to be subjected to fast mode compression or to slow mode compression; if slow mode compression is defined identifying and storing in said identifying and storing step in the LEXICON table Type 2 codes defined as identical in format with the units of the stored string and occurring in the string at least a preselected number of times, searching the stored string for string units identical to a Type 2 code from the LEXICON table of the memory and occurring at least a preselected number of times in the stored string, and then proceeding to the bit map constructing step without recourse to the table of Type 2 codes; but if fast mode compression is defined, then searching the stored string for units identical to Type 2 codes from the PCORD table of Type 2 codes without recourse to the LEXICON portion of the memory.
10. Method of utilizing a digital computer having memory and control sections to decompress a string compressed by the method of claim 8 comprising the steps of: a. storing the compressed string and the decompression information associated with the string in the memory; b. identifying from the decompression information a Type 1 code and the pattern replaced by it; c. locating in the compressed string Type 1 codes identical to the Type 1 code identified in the preceding step; d. replacing each Type 1 code located in the preceding step by the pattern identified in step b; e. identifying from the decompression information a bit map and one of the string units removed in conjunction with constructing the bit map; and f. storing the removed string unit in the places in the string identified by the bit map and expanding the string accordingly.
11. Method of utilizing a digital computer system including memory and control sections comprising the steps of: a. storing in the memory a string comprising a set of multibit information units; b. storing in a PCORD table in the memory at least one PCORD pattern composed of a plurality of units which are of the same format as the units of the stored string; c. searching the stored string for the presence of a plurality of patterns each composed of contiguous string units and each identical to a PCORD pattern, and identifying such string patterns if any are found; and d. replacing each of the string patterns identified in the preceding step by a Type 1 code defined as a unit which is of the same format as the string units but which does not occur in the stored string.
12. Method of utilizing a digital computer having memory and control sections to decompress a string compressed by the method of claim 11 comprising the steps of: a. identifying a Type 1 code which has replaced a pattern and the pattern replaced by the code; b. replacing each Type 1 code identical to the identified code and occurring in the striNg by the pattern identified in the preceding step; and c. expanding the string by a number of units equal to the difference between the number of units in the replaced patterns and the number of Type 1 codes which have been replaced by patterns.
13. Method of utilizing a digital computer system including memory and control sections comprising the steps of: a. storing in the memory a string comprising a set of multibit information units; b. identifying and storing in a LEXICON table in the memory Type 2 codes defined as units which are of the same format as the stored string units and which occur in the stored string at least a preselected number of times; c. searching the stored string for units identical to a Type 2 code and identifying the locations in the string of such identical units; d. constructing and storing in the memory a bit map identifying the locations in the stored string of units identified in the preceding step; e. removing from the string the identified units; and f. storing in the memory decompression information associated with the string and comprising the bit map and one of the removed string units.
14. Method of utilizing a digital computer having memory and control sections to decompress a string compressed by the method of claim 13 comprising the steps of: a. storing the compressed string and the decompression information in the memory; b. identifying from the decompression information a bit map and a string unit removed in conjunction with constructing the bit map; and c. inserting the string unit identified in the preceding step in the locations in the string identified by the bit map and expanding the string accordingly.
15. Method of utilizing a computer system including memory and control sections comprising the steps of: a. storing in the memory a string composed of a number of multibit information units; b. storing in a PCORD table in the memory Type 2 codes defined as units which are of the same format as the stored string units; c. searching the stored string for units which are identical to a Type 2 code from the PCORD table and which occur at least a pre-selected number of times, and identifying such units if any are found; d. constructing a bit map identifying the locations in the stored string of units identified in the preceding step; and e. removing from the string the identified units and storing in the memory together with the string the bit map and one of the removed string units.
16. Method of utilizing a digital computer having byte-oriented memory and control sections to compress information supplied in the form of a string comprising a set of bytes of information bits, comprising the steps of: a. using the value of each byte of the string to address a 256byte table in which each byte address corresponds to a unique one of the 256 possible bit configurations of a byte and each byte address contains a count of the number of times the byte address has been addressed; b. storing an indication of the address of each byte address of the 256 byte table that has not been addressed in the course of step (a) in a LEXICON table to compile thereby a set of Type 1 codes which are bytes that do not occur in the string; c. detecting the occurrence in the string of a group of non-overlapping patterns, if any, of R contiguous bytes (R is an integer greater than 1) which patterns are identical with each other; d. replacing each of the patterns detected in the course of step c. with an identical Type 1 code selected from available Type 1 codes in the LEXICON table and compressing the string to eliminate the space vacated because of the difference in length between each such replaced pattern of R bytes and the one byte Type 1 code replacing it; e. associating with the string decompression information comprising the Type 1 code used in the course of step d and one of the replaced patterns of R bytes; f. changing the value of R and repeating steps c through e for as long as both i the combined length of the Type 1 codes used as pattern replacements and the decompression information is less than the combined length of the replaced patterns and ii. previously unused Type 1 codes are available in the LEXICON table; and g. storing a pattern from each group of patterns of R bytes which has been deleted from the string in a PCORD table.
17. Method as in claim 16 including storing a pattern from each group of patterns of R bytes which has been deleted from the string in a PCORD TABLE; associating with each pattern in the PCORD table a savings ratio indicative of the degree of compression of the string resulting from the deletion of said pattern from the string.
18. Method as in claim 17 including: limiting the capacity of the PCORD table; checking whether the PCORD table is full when an attempt is made to include therein a new pattern; and, in case the PCORD table is full, storing the new pattern in the PCORD table and deleting from the PCORD table the pattern having the lowest associated savings ratio, but only if said lowest savings ratio is lower than the savings ratio of the new pattern.
19. Method of utilizing a digital computer having memory and control sections to decompress a string compressed by the method of claim 16 comprising the steps of: a. storing the compressed string and the decompression information in the memory; b. identifying from the decompression information a Type 1 code and the pattern of R bytes replaced by it; c. locating in the compressed string Type 1 codes identical to the Type 1 code identified in the preceding step; d. replacing each Type 1 code located in the preceding step by the pattern of R contiguous bytes identified in step b; and e. expanding the string by a number of bytes equal to the difference between the number of bytes of the patterns replacing the Type 1 codes and the number of replaced Type 1 codes.
20. Method of utilizing a digital computer having memory and control sections to compress numeric information supplied in the form of a first string comprising a set of words A, B, C, D, E. . . . , each word containing a number, comprising the steps of: a. recursively differencing by i. adding the absolute value of the contents of the words of the first string to obtain a first sum; ii. generating from the first string a second string having the same number of words, each word except the first having a value equal to the difference between the correspondingly located word of the first string and the next preceding word of the first string, whereby the second string comprises words A, A-B, B-C, C-D, D-E, . . . , and adding the absolute values of the words of the second string to obtain a second sum; iii. comparing the magnitudes of the first and the second sums and, continuing to step (b) if the first sum is less than the second sum, but continuing to substep (iv) if the magnitude of the first sum is greater than or equal to the magnitude of the second sum; iv. generating from the second string generated in substep (ii) a third string in the same manner as in substep (ii), whereby the third string comprises words A, A-(A-B), (A-B)-(B-C), (B-C)-(C-D), (C-D)-(D-E), ... , and repeating substeps i and ii by considering each newly generated string as a second string and considering the previously generated string as a first string; b. detecting sequences of identical words; c. determining if the replacement of such sequences by defined decompression information would result in saving in string length and proceeding to step (d) if saving is indicated but proceeding to step (e) if no saving is indicated; d. deleting each detected sequence of identical wordS and associating with the string decompression information comprising the value of the deleted word, the number of deleted words and the address in the string prior to deletion at which the deleted sequence started, and compressing the string to take up the space vacated by the deleted words; and e. packing the words of the string into double words, each double word having a set of bits designating the total number of and a set of bits storing values of words packed in the double word, each word occupying a fixed number of bit positions, said fixed number determined by the number of significant bits of the highest value word packed in the double word.
21. Method as in claim 20 including converting floating point numbers contained in the words A, B, C, D, E, . . . , into integer numbers by a logical right shift truncation process.
22. Method as in claim 21 including: placing each integer number in the string into a four byte word; searching the string to find a minimum and maximum value of the words; storing said maximum and minimum values; determining the median value by dividing the sum of the minimum and maximum values by 2; recording said median value; subtracting the recorded median value from each word in the string; associating with the string decompression information defining the above steps; and storing the decompression information.
23. Method as in claim 21 including: providing a value LSX indicating the degree of accuracy at which the information stored in the string is to be maintained; dividing LSX by 2 and storing the result; finding the minimum value of the words in the string; subtracting from each word of the string the minimum value and dividing the difference by the value LSX over 2; and rounding by removing all digits to the right of the decimal point in the words leaving only the digits to the left of the decimal point.
24. Method as in claim 21 including: locating in the string composed of integer numbers each contained in a word any patterns of words which patterns are composed of a plurality of contiguous words identical to each other; replacing each such pattern by two new words one of which is a count of the number of the words repeated in the pattern and the other one of which is a copy of the word which is repeated in the pattern, and associating with the string a third new word indicating the location in the string of the pattern which is replaced by said two new words.
25. Method of utilizing a digital computer having memory and control sections to decompress strings compressed by the method of claim 20 comprising the steps of: a. storing in the memory the packed string and its decompression information; b. unpacking the packed string double words by reference to the set of bits designating the total number of words packed in the double words and to the set of bits storing the values of words to generate unpacked words; c. if sequences of words were deleted in the course of compressing the string, utilizing the decompression information to replace in the string the deleted words; and d. if second or subsequent string were generated during compression, carrying out the reverse of the second and subsequent string generating step to regenerate the original string of words A, B, C, D, E, . . . .
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US85770769A | 1969-09-15 | 1969-09-15 |
Publications (1)
Publication Number | Publication Date |
---|---|
US3656178A true US3656178A (en) | 1972-04-11 |
Family
ID=25326570
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US857707A Expired - Lifetime US3656178A (en) | 1969-09-15 | 1969-09-15 | Data compression and decompression system |
Country Status (1)
Country | Link |
---|---|
US (1) | US3656178A (en) |
Cited By (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3772654A (en) * | 1971-12-30 | 1973-11-13 | Ibm | Method and apparatus for data form modification |
US4021782A (en) * | 1974-01-07 | 1977-05-03 | Hoerning John S | Data compaction system and apparatus |
US4056809A (en) * | 1975-04-30 | 1977-11-01 | Data Flo Corporation | Fast table lookup apparatus for reading memory |
US5363098A (en) * | 1993-10-25 | 1994-11-08 | Digital Equipment Corporation | Byte aligned data compression |
US5414425A (en) * | 1989-01-13 | 1995-05-09 | Stac | Data compression apparatus and method |
US5542068A (en) * | 1991-12-10 | 1996-07-30 | Microsoft Corporation | Method and system for storing floating point numbers to reduce storage space |
US5546575A (en) * | 1994-05-23 | 1996-08-13 | Basil E. Potter & Associates, Inc. | Encoding method for compressing a tabular database by selecting effective compression routines for each field and structure of partitions of equal sized records |
US5673209A (en) * | 1995-03-29 | 1997-09-30 | International Business Machines Corporation | Apparatus and associated method for compressing and decompressing digital data |
US5710719A (en) * | 1995-10-19 | 1998-01-20 | America Online, Inc. | Apparatus and method for 2-dimensional data compression |
US5940833A (en) * | 1996-07-12 | 1999-08-17 | Microsoft Corporation | Compressing sets of integers |
US6006232A (en) * | 1997-10-21 | 1999-12-21 | At&T Corp. | System and method for multirecord compression in a relational database |
US6145068A (en) * | 1997-09-16 | 2000-11-07 | Phoenix Technologies Ltd. | Data transfer to a non-volatile storage medium |
US20030016820A1 (en) * | 2001-06-22 | 2003-01-23 | Volpert Thomas R. | System and method for data encryption |
US6512515B1 (en) | 1999-09-18 | 2003-01-28 | Wildtangent | Data compression through motion and geometric relation estimation functions |
US6577769B1 (en) | 1999-09-18 | 2003-06-10 | Wildtangent, Inc. | Data compression through adaptive data size reduction |
US20050025232A1 (en) * | 2003-07-28 | 2005-02-03 | International Business Machines Corporation | Apparatus, system and method for data compression using irredundant patterns |
US20050151836A1 (en) * | 2004-01-09 | 2005-07-14 | Ni Hong T. | Video conferencing system |
US20050160401A1 (en) * | 1999-10-16 | 2005-07-21 | Computer Associates Think, Inc. | System and method for adding user-defined objects to a modeling tool |
US20060225030A1 (en) * | 1999-10-16 | 2006-10-05 | Deffler Tad A | Method and System for Generating Dynamic Comparison Models |
US20080209149A1 (en) * | 2003-07-01 | 2008-08-28 | Universitat Stuttgart | Processor Architecture for Exact Pointer Identification |
US20090055315A1 (en) * | 1996-06-05 | 2009-02-26 | Fraud Control System.Com | Method Of Billing A Purchase Made Over A Computer Network |
US20100049726A1 (en) * | 2008-08-19 | 2010-02-25 | Netapp, Inc. | System and method for compression of partially ordered data sets |
US7711685B1 (en) * | 1998-10-16 | 2010-05-04 | Computer Associates Think, Inc. | Method and system for an extensible macro language |
US20120056763A1 (en) * | 2010-09-08 | 2012-03-08 | Giovanni Motta | Systems and methods for data compression |
US8190513B2 (en) | 1996-06-05 | 2012-05-29 | Fraud Control Systems.Com Corporation | Method of billing a purchase made over a computer network |
US20130159264A1 (en) * | 2008-08-25 | 2013-06-20 | Taizo Shirai | Data conversion device, data conversion method, and program |
US8630942B2 (en) | 1996-06-05 | 2014-01-14 | Fraud Control Systems.Com Corporation | Method of billing a purchase made over a computer network |
US20140164376A1 (en) * | 2012-12-06 | 2014-06-12 | Microsoft Corporation | Hierarchical string clustering on diagnostic logs |
US20210182257A1 (en) * | 2019-12-11 | 2021-06-17 | Alibaba Group Holding Limited | Method and system to compress decimal and numeric data in database |
US11218452B2 (en) * | 2016-07-11 | 2022-01-04 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and arrangement for selectively migrating data of a virtualized network function |
US20220368345A1 (en) * | 2021-05-17 | 2022-11-17 | Radu Mircea Secareanu | Hardware Implementable Data Compression/Decompression Algorithm |
US11748923B2 (en) | 2021-11-12 | 2023-09-05 | Rockwell Collins, Inc. | System and method for providing more readable font characters in size adjusting avionics charts |
US11842429B2 (en) | 2021-11-12 | 2023-12-12 | Rockwell Collins, Inc. | System and method for machine code subroutine creation and execution with indeterminate addresses |
US11887222B2 (en) | 2021-11-12 | 2024-01-30 | Rockwell Collins, Inc. | Conversion of filled areas to run length encoded vectors |
US11915389B2 (en) | 2021-11-12 | 2024-02-27 | Rockwell Collins, Inc. | System and method for recreating image with repeating patterns of graphical image file to reduce storage space |
US11954770B2 (en) | 2021-11-12 | 2024-04-09 | Rockwell Collins, Inc. | System and method for recreating graphical image using character recognition to reduce storage space |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3237170A (en) * | 1962-07-17 | 1966-02-22 | Ibm | Adaptive data compactor |
US3273130A (en) * | 1963-12-04 | 1966-09-13 | Ibm | Applied sequence identification device |
US3289169A (en) * | 1962-09-27 | 1966-11-29 | Beckman Instruments Inc | Redundancy reduction memory |
US3310786A (en) * | 1964-06-30 | 1967-03-21 | Ibm | Data compression/expansion and compressed data processing |
US3413611A (en) * | 1966-01-17 | 1968-11-26 | Pfuetze David | Method and apparatus for the compaction of data |
US3422403A (en) * | 1966-12-07 | 1969-01-14 | Webb James E | Data compression system |
US3490690A (en) * | 1964-10-26 | 1970-01-20 | Ibm | Data reduction system |
US3535696A (en) * | 1967-11-09 | 1970-10-20 | Webb James E | Data compression system with a minimum time delay unit |
-
1969
- 1969-09-15 US US857707A patent/US3656178A/en not_active Expired - Lifetime
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3237170A (en) * | 1962-07-17 | 1966-02-22 | Ibm | Adaptive data compactor |
US3289169A (en) * | 1962-09-27 | 1966-11-29 | Beckman Instruments Inc | Redundancy reduction memory |
US3273130A (en) * | 1963-12-04 | 1966-09-13 | Ibm | Applied sequence identification device |
US3310786A (en) * | 1964-06-30 | 1967-03-21 | Ibm | Data compression/expansion and compressed data processing |
US3490690A (en) * | 1964-10-26 | 1970-01-20 | Ibm | Data reduction system |
US3413611A (en) * | 1966-01-17 | 1968-11-26 | Pfuetze David | Method and apparatus for the compaction of data |
US3422403A (en) * | 1966-12-07 | 1969-01-14 | Webb James E | Data compression system |
US3535696A (en) * | 1967-11-09 | 1970-10-20 | Webb James E | Data compression system with a minimum time delay unit |
Non-Patent Citations (2)
Title |
---|
P.A.D. de Maine, B. A. Marron, and K. Kloss, The Solid System II; Numeric Compression The Solid System III; Alphanumeric Compression Nat. Bureau of Standards Technical Note 413, Aug. 15, 1967 * |
R.W. Bemer, Data Compression System, IBM Tech. Disc. Bull. Vol. 3, No. 8, Jan. 1961 * |
Cited By (50)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3772654A (en) * | 1971-12-30 | 1973-11-13 | Ibm | Method and apparatus for data form modification |
US4021782A (en) * | 1974-01-07 | 1977-05-03 | Hoerning John S | Data compaction system and apparatus |
US4056809A (en) * | 1975-04-30 | 1977-11-01 | Data Flo Corporation | Fast table lookup apparatus for reading memory |
US5414425A (en) * | 1989-01-13 | 1995-05-09 | Stac | Data compression apparatus and method |
US5463390A (en) * | 1989-01-13 | 1995-10-31 | Stac Electronics, Inc. | Data compression apparatus and method |
US5506580A (en) * | 1989-01-13 | 1996-04-09 | Stac Electronics, Inc. | Data compression apparatus and method |
US5542068A (en) * | 1991-12-10 | 1996-07-30 | Microsoft Corporation | Method and system for storing floating point numbers to reduce storage space |
US5363098A (en) * | 1993-10-25 | 1994-11-08 | Digital Equipment Corporation | Byte aligned data compression |
US5546575A (en) * | 1994-05-23 | 1996-08-13 | Basil E. Potter & Associates, Inc. | Encoding method for compressing a tabular database by selecting effective compression routines for each field and structure of partitions of equal sized records |
US5673209A (en) * | 1995-03-29 | 1997-09-30 | International Business Machines Corporation | Apparatus and associated method for compressing and decompressing digital data |
US5710719A (en) * | 1995-10-19 | 1998-01-20 | America Online, Inc. | Apparatus and method for 2-dimensional data compression |
US8630942B2 (en) | 1996-06-05 | 2014-01-14 | Fraud Control Systems.Com Corporation | Method of billing a purchase made over a computer network |
US8229844B2 (en) | 1996-06-05 | 2012-07-24 | Fraud Control Systems.Com Corporation | Method of billing a purchase made over a computer network |
US20090055315A1 (en) * | 1996-06-05 | 2009-02-26 | Fraud Control System.Com | Method Of Billing A Purchase Made Over A Computer Network |
US8190513B2 (en) | 1996-06-05 | 2012-05-29 | Fraud Control Systems.Com Corporation | Method of billing a purchase made over a computer network |
US5940833A (en) * | 1996-07-12 | 1999-08-17 | Microsoft Corporation | Compressing sets of integers |
US6145068A (en) * | 1997-09-16 | 2000-11-07 | Phoenix Technologies Ltd. | Data transfer to a non-volatile storage medium |
US6006232A (en) * | 1997-10-21 | 1999-12-21 | At&T Corp. | System and method for multirecord compression in a relational database |
US7711685B1 (en) * | 1998-10-16 | 2010-05-04 | Computer Associates Think, Inc. | Method and system for an extensible macro language |
US6512515B1 (en) | 1999-09-18 | 2003-01-28 | Wildtangent | Data compression through motion and geometric relation estimation functions |
US6697530B2 (en) | 1999-09-18 | 2004-02-24 | Wildtangent, Inc. | Data compression through adaptive data size reduction |
US6577769B1 (en) | 1999-09-18 | 2003-06-10 | Wildtangent, Inc. | Data compression through adaptive data size reduction |
US20050160401A1 (en) * | 1999-10-16 | 2005-07-21 | Computer Associates Think, Inc. | System and method for adding user-defined objects to a modeling tool |
US20060225030A1 (en) * | 1999-10-16 | 2006-10-05 | Deffler Tad A | Method and System for Generating Dynamic Comparison Models |
US7734457B2 (en) | 1999-10-16 | 2010-06-08 | Computer Associates Think, Inc. | Method and system for generating dynamic comparison models |
US7382878B2 (en) * | 2001-06-22 | 2008-06-03 | Uponus Technologies, Llc | System and method for data encryption |
US20030016820A1 (en) * | 2001-06-22 | 2003-01-23 | Volpert Thomas R. | System and method for data encryption |
US20080209149A1 (en) * | 2003-07-01 | 2008-08-28 | Universitat Stuttgart | Processor Architecture for Exact Pointer Identification |
US8473722B2 (en) * | 2003-07-01 | 2013-06-25 | Universitaet Stuttgart | Processor architecture for exact pointer identification |
US20050025232A1 (en) * | 2003-07-28 | 2005-02-03 | International Business Machines Corporation | Apparatus, system and method for data compression using irredundant patterns |
US7479905B2 (en) * | 2003-07-28 | 2009-01-20 | International Business Machines Corporation | Apparatus, system and method for data compression using irredundant patterns |
US20050151836A1 (en) * | 2004-01-09 | 2005-07-14 | Ni Hong T. | Video conferencing system |
WO2010021698A2 (en) * | 2008-08-19 | 2010-02-25 | Netapp, Inc. | System and method for compression of partially ordered data sets |
US20100049726A1 (en) * | 2008-08-19 | 2010-02-25 | Netapp, Inc. | System and method for compression of partially ordered data sets |
WO2010021698A3 (en) * | 2008-08-19 | 2010-04-22 | Netapp, Inc. | System and method for compression of partially ordered data sets |
US8250043B2 (en) | 2008-08-19 | 2012-08-21 | Netapp, Inc. | System and method for compression of partially ordered data sets |
US8843457B2 (en) * | 2008-08-25 | 2014-09-23 | Sony Corporation | Data conversion device, data conversion method, and program |
US20130159264A1 (en) * | 2008-08-25 | 2013-06-20 | Taizo Shirai | Data conversion device, data conversion method, and program |
US8228216B2 (en) * | 2010-09-08 | 2012-07-24 | Hewlett-Packard Development Company, L.P. | Systems and methods for data compression |
US20120056763A1 (en) * | 2010-09-08 | 2012-03-08 | Giovanni Motta | Systems and methods for data compression |
US20140164376A1 (en) * | 2012-12-06 | 2014-06-12 | Microsoft Corporation | Hierarchical string clustering on diagnostic logs |
US11218452B2 (en) * | 2016-07-11 | 2022-01-04 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and arrangement for selectively migrating data of a virtualized network function |
US20210182257A1 (en) * | 2019-12-11 | 2021-06-17 | Alibaba Group Holding Limited | Method and system to compress decimal and numeric data in database |
US20220368345A1 (en) * | 2021-05-17 | 2022-11-17 | Radu Mircea Secareanu | Hardware Implementable Data Compression/Decompression Algorithm |
US11677416B2 (en) * | 2021-05-17 | 2023-06-13 | Radu Mircea Secareanu | Hardware implementable data compression/decompression algorithm |
US11748923B2 (en) | 2021-11-12 | 2023-09-05 | Rockwell Collins, Inc. | System and method for providing more readable font characters in size adjusting avionics charts |
US11842429B2 (en) | 2021-11-12 | 2023-12-12 | Rockwell Collins, Inc. | System and method for machine code subroutine creation and execution with indeterminate addresses |
US11887222B2 (en) | 2021-11-12 | 2024-01-30 | Rockwell Collins, Inc. | Conversion of filled areas to run length encoded vectors |
US11915389B2 (en) | 2021-11-12 | 2024-02-27 | Rockwell Collins, Inc. | System and method for recreating image with repeating patterns of graphical image file to reduce storage space |
US11954770B2 (en) | 2021-11-12 | 2024-04-09 | Rockwell Collins, Inc. | System and method for recreating graphical image using character recognition to reduce storage space |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US3656178A (en) | Data compression and decompression system | |
JP2502469B2 (en) | Method and means for providing a static dictionary structure for compressing character data and decompressing compressed data | |
US3694813A (en) | Method of achieving data compaction utilizing variable-length dependent coding techniques | |
US9390098B2 (en) | Fast approximation to optimal compression of digital data | |
US4959785A (en) | Character processing system with spelling check function that utilizes condensed word storage and indexed retrieval | |
US6119120A (en) | Computer implemented methods for constructing a compressed data structure from a data string and for using the data structure to find data patterns in the data string | |
US7103608B1 (en) | Method and mechanism for storing and accessing data | |
CN105191144B (en) | Compression set, compression method, decompression device, decompressing method and information processing system | |
CN105846825A (en) | Compression method, decompression method, compression device and decompresssion device | |
JPH06508228A (en) | Relational Database Memory Utilization Analyzer | |
CN112800008A (en) | Compression, search and decompression of log messages | |
JPH0710048B2 (en) | Method for detecting and compressing runs of the same continuous data unit | |
CN109582231B (en) | Data storage method and device, electronic equipment and storage medium | |
WO1997043708A1 (en) | Method and apparatus for recording and reading date data having coexisting formats | |
US5502439A (en) | Method for compression of binary data | |
US5710919A (en) | Record compression | |
US8463759B2 (en) | Method and system for compressing data | |
US9424293B2 (en) | Row, table, and index compression | |
US3646524A (en) | High-level index-factoring system | |
CN112152631A (en) | Method and device for coding and decoding variable-length time string | |
CN115765754A (en) | Data coding method and coded data comparison method | |
US3597745A (en) | Method for arrangement and indexing of digital data in storage | |
CN109271463B (en) | Method for recovering inodb compressed data of MySQL database | |
JP5336645B1 (en) | Recording medium recording multiple multiplier division software | |
Cooper | The storage problem. |