CA1181867A - Data compression process - Google Patents

Data compression process

Info

Publication number
CA1181867A
CA1181867A CA000402653A CA402653A CA1181867A CA 1181867 A CA1181867 A CA 1181867A CA 000402653 A CA000402653 A CA 000402653A CA 402653 A CA402653 A CA 402653A CA 1181867 A CA1181867 A CA 1181867A
Authority
CA
Canada
Prior art keywords
group
location
entry
list
index
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
Application number
CA000402653A
Other languages
French (fr)
Inventor
Karl E. Heinz
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=6132019&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=CA1181867(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Individual filed Critical Individual
Application granted granted Critical
Publication of CA1181867A publication Critical patent/CA1181867A/en
Expired legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion 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/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

TITLE OF THE INVENTION
Data compression process ABSTRACT OF THE DISCLOSURE

In a process for compressing redundant sequences of serial data elements divided into sequence components each having any number of data elements and a closing character, the first and second elements of a sequence are combined to form a first pair which is stored with its code designation in a group list, That code designation and the third element form a second pair which is also stored with its code designation. That code designation and the following element form a further pair which receives a code designation, and so forth, until the closing character which, with the code designation of the preceding pair, forms a last pair which is again stored with a code. For second and subsequent sequences, the above steps are repeated, with checking for identity between the first pair of the second sequence component and the first pair of the first or one of the further components. If no identity, procedure is as with the first sequence, while if there is identity, the code designation of the first pair is combined with the third element and a check is again made for identity between the further pair of this sequence and the further pair of the first or a further component sequence. If there is identity, the code designation of the further pair is combined with the following element, and so on, to the end of identity between the pairs. The code designation of the last identical pair is stored in the list, and further elements are then processed as required. In a compressed data sequence list, each component sequence is identified by the code designation of its last pair. The compressed sequence is decompressed by calling up the first code designation of the compressed list, checking whether the first member of the pair is code designation or element; if an element, output of the pair, and repeat the procedure for all subsequent code designations, if a code designation, checking is repeated for the pair denoted by the code designation, until reaching an initial group having an element as first member, followed by output of the pair and the second member of all previously processed pairs. The procedure is then repeated for all subsequent code designations.

Description

~ 7 BACKG~OUND OI~ TY~ INVENTX0~1 The ~p~esent invelltion relates generally to a process ~or the compression of redlmdant sequences of serial data elements and more partlcularly a prccess for the compresslon 5 of red~ndant sequences of serial da~a elements, which are divided lnto partial sequ~nces or sequence components each having any number o~ da-ta elements and a closing character, and also a process for decompression of such compressed sequences of serial data elements~
Communications and specifically data sequences are ~requently reclundant to a high degree, that is to say, they contain a substantially larger number o~ data elements or characters than would be required ~or representing the information contained in the communication message. An example in this respect is the transmission o~ telev.ision pictures wherein the fields which are successively recorded and then stored or transmitted are iden-tical, in regard to those ar~as of a sGene which have not e~perienced any change in regard *o the position, brightness or colour o~ the picture points or elements. This is generally the situation wi.th the major part of all picture points or elements Therefore, in a known process ~or reducing the degree of redundancy in television pîctures, the transmission o~ signals is restricted to those picture points or groups o~ pic-ture poin-tsp in which there has been a change between the fields.
There are of course other examples o~ redundancy sltuati.ons similar -to that described above with ref2rEnce to televi~i.on transmission9 such as for example language t~x-ts which tend to be redundan-t to a high degree 9 ~or -they use inter alla units of a ~ic-tionary which are very ~ften m~de Up Gf .ider,tl~al sequence componen-~s c~ smal:L~r ~its ~`or ~ .
exampLe lettcrs3. ~

S UM~A RY OF THE INV'ENT I ON
An object of the present invention is to provide a data compression process such as easily and automatically, that is to say, mechanically, to reduce the redundancy in sequences of serial data elements. A further object of the invention is to provide a data compressio~ process which simplifies the processing and in particular storage and transmission of compressed sequences.
Still another object of the present invention is to provide a method of automatically combining sequences of serial data elements, by means of a data compression process.
In accordance with another aspect of the invention there is provided a process for the compression of redundant sequences of serial data elements which are divided into sequence components each having any number of data elements and a closing character, comprising the following steps: I. for the first sequence component:
Al) the first and second elements are combined to form a first pair group which receives a code designation and which is stored together therewith in a group list; A2) the code designation of the first pair group and the third element are combined to form a further pair group which receives a code designation and which is stored together therewith in the group list; and A3) the code designation of the further pair group and the following element are ~-L~

combined to form a further pair group which receives a code designation, and so forth, to the closing character which with the o~de designation ofthe preceding pair group forms a last pair group which in turn receives a code designation and which is stored together therewith in the group list; II. for the second and further sequence components: A~) steps Al through A3 are repeated, but with checking as to whether the first pair group is identical with the first pair group of the ~irst sequence component or one of the further sequence components; if no, then proceed as in respect of the first sequence component; if yes, the code designation of the first pair group is combined with the third element and a check is again made as to whether that further pair group is identical with a further pair group of said first or said further sequence component; if yes the code designation of the further pair group is combined with the following element, and so forth, to the end of identity between the groups; A5) the code designation of the last identical pair group is stored in the group list and any further elements which occur are processed in accordance with step A3; and A6) each sequence component is identified in a compressed data sequence list by the code designation of its last pair group.

.$~

i7 The expression 'sequence of serial data elements' is used in accordance with this invention to denote any kinds of such sequences, for example the successively scanned and reproduced picture points or elements of television pictures, letters, figures, characters of a language or text, and other sequences of data elements or information units. Typical examples in respect of 'sequence components', as referred to hereinbefore, are the lines of a television picture which contain a predetermined number of data elements in the form of picture points, or texts whose words, each having a number of data elements in the form of letters, figures or characters, ~orm the sequence components. The 'closing character' separates the individual sequence components from each other. It may be a particular character from the stock of characters employed, or it may comprise a character sequence, or may even simply be just an empty space or a gap between the sequence components.
For a given sequence of serial data elements, for example for a given language text, the lists which are derived and stored in accordance with the process of the present invention occupy only a substantially smaller storage space than the data sequence itself. This applies when long redundant data sequences are processed. Thus for example, when dealing with a text of considerable leng-th 9 virtually all data elements (letters cmd characters) and virtually all sequence components (words) will have occurred 5 a~ter just a short time, so that further processing of the text only resu:Lts in a slight increase in -the size of the group list, with an individual entry in the compressed list.
W~en transmi~ting da-ta sequences, it is possible for the llsts which are drawn up in accordance with the process of the pre~ent inven-tion to be transmitted9 but it is also possible, for a given type of data se~uences, for example texts in the German language, -to draw up a group lis-t once and for all 7 using the appropria-te dictionary for the sequence components (words); the group list d.rawn up is -then available at the transmitting and receiving ends, so -that only -the compressed list has to be -transmitted, for given textsO
A similar situation also applies in regard to -the storage of da~a sequences.
In a development o~ the basic principle of the invention9 it is possi~le to use a group list with three location groups, the index of the third location or place in each group being the code designation of that group. Such a procedure includes f in respeGt o~ the first sequence component:
1) entry of the first element o~ the sequence component at the ~irst location of a group in the gI'OUp list ~ith three-location groups, the index of the third location of each group being -the code designation thereof,
2) entry o~ -the second element at the second location of -the group;
3) en-~,ry o~ the :Lndex o~ t~e -~hird location as code designatlon a-t the first location of a further group on the list;
~ ) exltry of the index of the first position o~ the further grollp in accordance with step 3) above at the third location o~ the preceding group;
5) en-try of the *ollowin~ element; at the second locat.ion o~ a ~urther group;
6) entry of -the inclex of the third location as code designation a-t the first location o~ a further group of the list;
7~ entry of the index of the firs-t location of the further group, in accordance with step 6) above, at the third location o~ the precedlng group;
8~ repetition of steps 5) to 7) of this procedure for all following elements of the sequence ~,omponent including the closing character~ and 9~ en-try of the index for the third location of -the group 9 which contains the closing character at the second location~ at a first location of a compressed data sequence list, and -transferring the index of tha-t location to -the third location o~ the closing character group; and in respec-t of further sequence components:
10) checking whether there is in the list a group which contains -the ~irst element at the first location and the second element a~t -the second location; if no~ go to step 11) below9 i~ yes, go to step 12) below;
lla) entry o~ -the firs-t and second elements at the first and second locations respeGti~ely o.~ a ~urther group in the lis-t, llb) carry out .~-teps 3) -through ~);
12) check whether the group set forth in s-tep 10) above is followed by a group which contains the ~ollowing element at the second location; i~ no, go -to step 13~;
5 i~ yes , go to step 14);
13) carry out step 6) for the group set for~h in s-tep 10), and steps 8) and 9) above;
14) check whether -the following group as set ~orth in step 12) is in turn followed by a group whlch con-tains the ~ollowing element at the second loca-tion; i~ no~ go to step 15) below, if yesp go to step 16) below;
15) carry out steps 6) and 7) ~or the ~ollowing group of step 12~ 9 and steps ~) and 9); and 16) repea-t step 14) for the next following group.
For the purposes o~ decompressing a sequence compressed as set ~orth above, the procedure involves:
1) calling up the flrst en-try of the compressed llst;
2) checking whether the entry is the index fcr -the third location of a group in the list; if no, output the entry and go -to step 6) below9 if yes, go to step 3) below;
3) check whether the entry at the first location of the group is the index for the third location o~ a preceding group in the list, If no9 output the entry of the first and second locations of the group and go to step 6) belowg if yes7 go to step 4) below;
4) repea-t the check o~ step 3) above ~or the preceding group, until reaching an initial or opening group in -the list o~ groups t in respect o~ ~'n.ich ~he ent.ry at the ~irst location is an element;
5) outpu t 0~ the en-try of the first and second locations of -the op~ning ~roup and the second :I.ocatlon o~f all groups which have been previously run through, includ.~ng the gro~lp set forth in step 2) above; and
6) repeat -the procedure for the next entry of the compressed lis-to A simplifica-tion ln the group list ~or searching operatlons is ach_e~ed when the entry o~ a following element at the second location of a group i5 ef:Eected only when that element has not already been entered at the first or second location o~ a preceding group. In that case~ inst.ead o~ the element~ only the index o~ the pre~ious entry is u-tilised. In another procedural opera-tion~ after en-try o~
the lndex o~ the third location o~ a group at -the ~irst location of a further group, a check may be madè -to ascertain whether that index is already en-tered a-t *he first location o~ a preceding group, and then poss.ibly to replace the preceding entry, Another development o~ the in~ention provides that it. is not the elements of a sequence themselves which are en-tered in the group list, but instead9 to simpli~y re~erencing and searching opera-tions 9 the da-ta elemen-ts are ~irst entered in a special character list when each such data element firs-t occurs; with the data elements entered in -the list having allocated thereto Q code in the ~orm o~ the character list index ~hich is then used in the group list or the compressed data sequence list, ~n addl-tion~ the character list contains 9 in respect o~ each data element, the respective index o~ the group list or -the compressed data sequence list, ~or -the f ib st ocourrence o~ the ele~2ent~
Re~erence may be made to claim 9 herc-ina~ter ~or ^the s-teps o~ the operating procedllre involved, and ~o claim 1 here:1.naf'cer :f`or the stc~ps o~ the a.ssoc:1.atecl data decompress:i.on process. The above-described ways of: simpl:iPying the group list may also be employed in -this con-tex-t.
A possible way of reducing the group llsts prov:ides that, :instead o:~' using a group lis-t with three~location groups~ the group list used has only two~location groups, Instead o~ using -the index of the t~lird location as the code designation for the respec-tively preceding group 9 the i.ndex o~ the firs-t location o~ each subsequent group is used as the code designation ~or the respective directly preceding group. ReferenGe may be made to claim 15 hereina~ter ~or the steps involved ln that opera-ting procedure~ and to claim 16 for the associated data decompression process~ Once again9 the above-discussed ways o~ simplifying the group list may also be applied to the two-location group lists men-tioned above. It is also possible additlonally to draw up a character list and to replace the data elements in the group list and the compressed da-ta sequence lis-t, in which respec-t reference may be made to claims 21 and 22 hereina~terO
~0 For the purposes of simpli~ying searching operations in -the compressed data sequence list~ a further aspect o~
the invention provides that 9 in a similar manner as in regard to the entries in the group list~ af-ter entry o~ a code designation in the compressed data sequence list, a check is made whether that code designation has already been entered at a previous location, If that is ~ound -to be the case~ the pre~ious entry is replaced by the index o~ the location ~ust being conside:~edO
I~, when dealing with texts which are divided on a li~e bas.is~ each line shift i.s to be detectedg a~ter 2 g:iven n~lmber of words or elements, a further aspect o~`-the inverl~:Lon provides tha-t in each case the code ~lesigrlation o~ the~ group contain:in~ the last element o:E a line has a negative slgn~
Memory stores can be easily enlarged or lnterconnected in succession, in a further aspec-t o~ the inven-tion) in that -the s-tores used ~or storage o~ the lists are connec-ted together sequentially and re~erences ln the lists 9 which lead to a loca-tion beyond -the directly following s-tore or a higher location o~ -the directly ~ollowing store are provided wlth an identifica-tion means. The iden-tification means, which in the simplest situa-tion may be a nega-ti~e sign and the reference to a particular list~ then produces a ~ur-ther step in the process9 which comprises interrogating the particular list in which -the respective store alloca-tion and store location is specî~ied This aspect o~ -the invention applies in regard -to re~erences in all lists discussed, that is to say, character, group and compressed data sequence lis-ts.
As, in all situations, the re:~erences always lead -to higher locations, there is no need for iden-tification in regard to a ~eference to a lower location in a direc-tly adjoining store.
A ~urther aspect of -the invention is directed to use of the data compression process in accordance ~ h the present invention~ which is concerned wlth automatically comblning such sequences o~ serial data elements, wherein the 2~ junction or node points o~ the combination are ~ormed by identical sequence componentsO The identical sequence components may be established in the associated compressed data sequence lists o~ the sequences to be combined.
In that respect~ Yor the purposes of making a connection between a starting or initial point which ls in a .~irst seclu.ence an(1 a tar~e-t poin-l; which is i~l a seconc1 sequence~ the proGedure may involve seeking an ~dentical sequence component in the cornpressed da-ta sequence lists of the two sequencesD That presupposes -that there is a junction or node point between the two sequences in question. I*7 in a ~urther aspect of -the inventionT a connection is to be made between a starting point which is ~n a firs-t sequence and a -targe-t poin-t ~Jhich is in a second sequence whi.ch is not direc-tly combined wi-th a firs-t sequence, the compressed da-ta sequence lis-ts of the first and second sequences are each compared to the compressed da-ta sequence lists of further sequences, in order -to find a closed connecting pa-th by way of identical sequence componen-ts o~ two respective sequences ~hich are directly combined together~ m e search procedure may be substantially simp~i~ied by a fur-ther aspect o:E the invention which provides -tha-t the junc-tion or nodes points are stored in a separate list.
~ The above~described uses o~ the data compression and decompression processes of -the present invention may be used for example for determining cornec-tlons in a -transport systemp for example a rail networkO Direc-t connections between a starting point and a target po~t, that is to say for example be-tween -t~o stat~ns on the same line o~ track may then be found by the two poin-ts bei~ng disposed in the same sequence of serial data elementsy the sequence components representing for example stclt.ion names in R time-table or schedule as -the text~ II1 regard to a transportation change ('interchange'), the conneccions are ~ormed by the junction or node poin-ts of sequences which are combined togetherS for example the -timetab].es or sohedules for in~ersecting ~ a~
-transporta~ion lilles wi-th in-tercharlf,e statlons, In such a sys-tem, it is pos~ible for -the stored da-ta -to have ~urther data associated -therewith~ for example dis-tance~ -time in~ormation in regard -to arrival and departure (schedule), and so onO In this way9 information abou-t possible existing connectiolls between any points in a network or system can be provide~ rapidly and without a large amount of computa-t:Lon and s-torageO
EXAMPLES
Modes of procedure in accordance with the principles o~ the present invention are described hereinafter with re~erence to simple Ex~mples~ each of which is concerned wi-th a data sequence which serially contRins the two words 'ABER' (being the German word for BUT) and ~ABEND' (being the German word for EVENING)~ each o~ which has a terminal or closing charac-ter (~).
Table 1 below shows the ori~inal da-ta sequence list:
Table 1 Data se~uence list Xndex Element ~ R
7 B
8 E
9 N
D
11 *
Group list I and compressed list I as shown in Tables 2 and 3 belo~ are -then made up5 using the steps o~ the process which i.5 set ~orth in claim 3 hereina~ter7 to which re~erence ~s therefore directed:

Table ~ '~ab~e ~
Grou~ :L~st I Com~:ressed li.st I
IndexEn-try Index Entry.
100 ~ 1000 111 101 B 1001 lZ0 102 1~3
10~ 106 l~O~ O~rll~r 110 * (119) 000 ___ ~0 ~_~
115 ~14 119 *
_ 01 There~ore, with regard to the first sequenGe cornponen~t 9 that is to say9 the first word 'ABER *'~ step 1) recited in claim 3 is performed first, whereby the ~`irst element A is entered at the location bearing the index 100 of the group list I 7 -the first three-lGcation group comprising the three locations 100, 101 and 1020 Step 2 o~ the process recited in claim 3 is then perfo~ned, and the second element B is entered at the second location 101. Recited step 3) results in the index 102 of the third loca-tion being entered~ as the code designation of the group, at the first location 103 of the second group.
The index 103 of the first loca-tion is then entered at the third location 102 o~ the firs-t group~ as recited in ste~ 4~ of clairl~ 1. The following element E is then d entered ~-t the second location 10l~ of the second ~roup~
and th.is is then 40110wed b~ step ~ of -the process recited in claim 3, whereby the lndex 105 o~ the thlrd location in the group is entered at the first location 106 in the third group~ The bracketed entry 112 is disregarded ~or the time being~ After step 7 of the process recited in claim 3 has been performed, whereby the index 106 of the first loca-tion has been entered at the third location 105 of the second group, steps 5 through 7 of the claim 3 process are repeated in respect Gf the fur-ther elements E, R and -~ o.~ the first word 'ABEX *~. The closing charac-ter * is then finally entered a-t location llOo Here too -the bracketed entry 119 is disregarded for the time beingO The index 111 .in respect of the third location of the associated group .is then entered at the first location 1000 o~ the compressed list I set forth in Table 3.
In regard to the second or fur-ther sequence component9 that is to sayp the word 'ABEND ~' 9 the further steps o~ the method reci-ted as steps 10) through 16) in claim 3 are then performed. Firstlyg the checking operation shows that the first group 100 through 102 in -the group list contains the first element A at the first location 100 and the second element B at -the second location 101, Consequently~ the procedure goes to step 12 of the proc2ss recited in claim 3. It is established tha-t the group 100 through 102 which is found as a result of the checking operation of step 12 is followed by a group 103 through 105 which contains the following element E of 'AB~ND', at the second lccation 10~ The procedure then goes to step ~4) o~ the process recited 1n claim 3~ Here, the check:i.ng oF,erati.orl per:formed shows t,hat lrl this case the group 103 throu~h 10~ is not ~ol].owed by a group wh:ach conta:irls the followin~ ele7nen-t N a-t the second locationg Instead7 the ~ollowing group 106 -through 10~ contains the element R at the se¢ond locationO Therefore~ step 15) o~ the process recited in clai.m 3 is to be per~ormed so that step 6) is ~irst carried out3 whereby the index 105 of~-the third loca-tion o~ -the group is entered as -the code designat,ion at the ~irs-t location 112 of a ~ur-ther group 112 through lll~
Per~ormance of ~urther steps 8) and 9) of the process reci-ted in claim 3 -~hen results in the specified entries in the group list and entry of -the index 120 at the sècond location 1001 of the compressed 11st I.
The decompression procedure may be easily ~ollowed by re~erring to the steps set fort,h in claim 4 hereinafter and Tables 2 and 3 9 to which attention should there~ore now be directed. After the ~irst entry 111 o~ the compressed data sequence list has been callecl up, the checking operatlon which is set ~orth in s-tep ~) o~ claim 4 shows that the entry called up is an index in respect of the third location oX the group lOg through 111 in the grol~p list. Further checking as set ~orth in s~ep 3) of claim 4 shows that the entry 108 at the first location o~ the group is once again the index ln respect o~ the third location o~ the preceding group 106 through 1080 By -twice repeating the checking operation~ with the same result, the procedure reaches the first group 100 through 102 in respeot of which the entry at the ~irst location is the element A~ By output o~ the entry A and B at the ~irst and second looations respeGtively o~ ~he lnitial group and the second location 104~ 107V 110 o.f a:ll groups ~rhich have been prev:i.ously run -thro~gh, the original word '~BER *' i6 obtainedO The bracketed expresslon~
once agaln re~ain disregarded ~or the time being~
In regard to the second entry 120 in the compressed list, the checking operation in accordance with step 2) in claim 4 again shows tha-t this ls -the index in respect o~
the third loca-tion of -the group 118 through 120 in -the group list. The next checking operation in accordance with step 3) in claim 4 also shows t;hat the en-try 117 at the ~irst location of that group ~s the index of the third location of ~he preceding group 115 to 117D The sr~e also applies to the next check7ng operation as set for-th in step 3) 9 ~or the entry 114 at the location 115 is once again the index in respect o~ the third loca-tion of the group 112 through 114. The next checking operation in accordance with that step in claim 1~ also shows that the en-try 105 at -the ~irst looation 112 is the index for the third location o~ the preceding group 103 through 105. The same result is achieved with the ~urther checking operation~ which reaches the initial group 100 -through 102. The procedure then comprises outpu-t of the -t~Jo elemen-ts A9 B o~ the inltial group and the second elemen-ts E, N, D, * o~ the respective groups 103 through 1059 112 through 114, 115 -through 117 and 118 through 12U.
In one aspect o~ -the data compression process in accordance with the principles of this invention, after entry o~ the following elemen-t * at the second location 119 of the group 11~ through 1209 a check is made whether tha-t element is already entered at -the f.irst or second location 109 and 110 respeotively of the preceding group 109 through 111~ In fact9 it is found that the element * ls 7~

'7 already e~terecl a-t the second locati.o~ L0~ The earl:i.er entry is -then replace~ by ~he index 119 o:r.-the second entry so tha-t the bracke-ted term 119 now occurs a-t the location 110~ In decompression of the compressed da-tap be~ore ou-tput of the entry 119 of the second loca-tion 110 of the group 10'3 -to 111 ? a check is made as -to whether the entry is an index ln respect of the first or second locations o~ a subsequent group (-that is -to say~ group 118 through 120~, If yes~ the check :~or the entry * at -the firs-t or second locations of the subsequent group and possibly ~urther groups are repeated9 until reaching an element (*) and output of that element. Thus9 in th.is example, the checking step in respect o~ the second location 110 of the group 109 through 111 reveals that the entry 119 is in ~act the index in respec-t of -the second location of the group 118 -through 120, so that the elemen-t * is then outputtedO
Another embodiment in accordance with the principles of the process according to the invention provides that9 after entry of the lndex, for example in this case 105~
o~ the first location of a groupy for example in -this case the group 103 through 105, at the ~irst location, for example 112, of the further group 112 through 114, a check is made whether that index 105 has already been entered a-t the firs-t location 106 of -the preceding group a-t 106 through 108.
If so~ ~hen that preceding entry is replaced by the index 112 of the entry in the ~urther grou.p 112 -through 114.
In ~act, in the example under ~onsidera-tion here9 this operating procedure resul-ts in the en-try 105 at -the lo~ation 106 being replaced by the lndex 112 9 SC) tha-t the bracketed term then a:l~o applies here~ In decorrlpr~ss:ing the compres~
data~ ln general terlns9 be~`o:re step 3) o:~ the procet-,s set forth in cl.aim Ll is per~or~-ned, a check is made to ascer-taln whether the entry, in this example the entry 1129 at the first location, ~or example 106~ of a group 106 through 108~ is the index 112 in respect o~ the ~irst location of a subsequen-t group 112 through 114. If yes, the checking operation in respect o~ the entry 105 at the first locati.on 11.2 is repeated 9 until reaching an .index 105 ~or the third location of a preceding group~
Reference will now be made -to Tables 4 and 5 of which Table 4 shows the character list o~ the embodiment o~ the i~vention, while Table 5 shows the group list II:
Table ~ Table 5 Character list Group lis-t II
Index Element Location of Index Entry the group li s~; 100 1Ol r 3 ~1~
110 5 (119) 0- 0 _ _ Tl ~li~

117 11~
--~r-In Table L~, in accordance with the process set ~orth in claim 9 hereina~ter, to which reference may conveniently be made, .instead of the elementsg .it is the respective index o~ t~l* character list whicll is entered in a group list XI as shown in Tahl.e 5 The individual s-teps of .~

the process wil I be re~d:ily ~o lowed by re~'erring -to claim ~3, in order to avoid repe-tition herelnc The associated compressecl da-t~ sequence l:is-t i5 once again -the lis-t set ~or-th in Table 3 The steps of the process for decompression of the compressed sequence of serial data elements are set forth in claim 10 to which re~erence may conveniently be made at this point9 ~or the sake o~ avoiding repe-ti-tion~ In group listII~ it will be noted that the bracketed terms at loca-tions 106 and 110 do not ini-tially apply, in a similar manner to the bracketed terms 112 and 119 in group list I described above~
The b~acketed terms are then subsequently en-tered, in accordance with the procedural steps set forth in claim 11 and claim 13 respectively, to which re~erence may be made.
The character list set out in Table 4 substantially ~acilitates searching opera-tions ~or finding given keywords because the elements do not occur in scattered ~orm in the group l:ist, but are combined together in the short character list~ The associated en-tries of the respecti-~re location in the group list and the compressed data sequence lis~
respec-tivelyg at which the corres~onding element is to be ~ound~ permi-t immediate access to the group list and -to the compressed data sequence list respectively.
Reference will now be made to Tables 6 and 7:
Table 6 Table 7 ____ _ _______ Reduced ~rouP list I Com~ressed list II
Index F,n-try Index Entry iZ~ 02 10~ E

R

L1~3 10` ~10~

*
11r~

~ ~ & ~
GeneI'L'.. tion 0~' t}lC' reduced grollp l:i~;t I o~ Ta~le 6 and the associate~l compressed list iI o~ Table 7 can once aga:in be reaclily appreciated by referrirlg -to the steps of the process set ~or-th in claiml59 to whlch reference may conveniently be made for the avoidance of repetitionO ~le same also applies in regard to the reduced group list II
set ~or-th in Table 8 below9 for which the s-teps of the process set for-th in claim 21 -to which xeference is now made are per:~ormed:

Table_8 Reduced ~rou~ lis-t II
IndexEntry ~01 ~7~
10~ 1000 109 10~ OL~

111' The a~sociated character list is -the list set ~orth in Table ~ above~ Re~erence may now be convenien-tly made to claims 16 ~nd 22 respectively9 for the steps o~ the respective data decompression processes. Once againy the bracketed terms represent the additional developments 9 simllarly to -those described hereinbefore.
The following Example will now be givenp in regard ^to the ~urther a~spect of the in-~ention which relates to uses thereo~ in the autvmatic combination or ~ntercomm-~nication o~ sequence~s o~` serial data elements~

Three sequexlces of seri.al data elements wi~l be considered9 the partial sequences or sequenGe componen-ts of which represent for example poin-ts (stations) on -three connecting lines or tracks~ The three sequences themselves each des.i~nate gi~en colmections on the -tracks or lines~
Unlike the abo~e-discussed Exa~ples~ the sequence componellts in this Ex~nple, -tha-t i5 to say7 the points9 are here represented by letters, ~or the purposes o~
simplification. The compressed data sequence lis-ts for the three sequences read as follo~Ys:
A B C D E F G C H I J K L H M
The lis-t of junction or node points for the combina-tions as between the three sequences is then as ~ollowsp with each indiv:ldual ~alue being designated by the ini-tial point o~ a connection, ~he node poin-t or points and the ~inal or terminal point of the connection:
A C F / A C G / A C H / A C I / B C F / ... / A C H J /
A C H ~
The components .in~ol~r~d in the connection A/J are ~0 therefore:
A C - C H H J.
Vario~s other modifications and alterations may b~
made in accordance with the principles of the present invention without thereby depar-tin~ from the spirit and 2~ scope thereo~.

Claims (34)

Claims:
1. A process for the compression of redundant sequences of serial data elements which are divided into sequence components each having any number of data elements and a closing character, comprising the following steps:
I. for the first sequence component:
A1) the first and second elements are combined to form a first pair group which receives a code designation and which is stored together therewith in a group list;
A2) the code designation of the first pair group and the third element are combined to form a further pair group which receives a code designation and which is stored together therewith in the group list; and A3) the code designation of the further pair group and the following element are combined to form a further pair group which receives a code designation, and so forth, to the closing character which with the code designation of the preceding pair group forms a last pair group which in turn receives a code designation and which is stored together therewith in the group list;
II. for the second and further sequence components:
A4) steps Al through A3 are repeated, but with checking as to whether the first pair group is identical with the first pair group of the first sequence component or one of the further sequence components; if no, then proceed as in respect of the first sequence component; if yes, the code designation of the first pair group is combined with the third element and a check is again made as to whether that further pair group is identical with a further pair group of said first or said further sequence component;
if yes the code designation of the further pair group is combined with the following element, and so forth, to the end of identity between the groups;
A5) the code designation of the last identical pair group is stored in the group list and any further elements which occur are processed in accordance with step A3; and A6) each sequence component is identified in a compressed data sequence list by the code designation of its last pair group.
2. A process for the decompression of a sequence of serial data elements compressed as set forth in claim 1, comprising the following steps:
B1) calling up the first code designation in the compressed data sequence list;
B2) checking whether the first member of the group identifed by the code designation is a code designtion or an element; if an element, output of the pair group and go to step B5, if a code designation, to to step B3;
B3) repeating the checking operation of step B2 for the group designated by the code designation, until reaching an initial group, of which the first member is an element;
B4) output of the said initial group and the second member of all groups which have been previously run through; and B5) repeating the procedure for all subsequent code designations in the compressed data sequence list.
3. A data compression process as set forth in claim 1 comprising the following steps:
I. for the first component sequence:
C1) entry of the first element at the first location of a group in the group list with three-location groups, wherein the index of the third location of each group is the code designation of that group;
C2) entry of the second element at the second location of the group of the group list;
C3) entry of the index of the third location of a group as a code designation at the first location of a further group of the group list;
C4) entry of the index of the first location of the further group of step C3 at the third location of the preceding group;
C5) entry of the following element at the second location of a further group of the group list;
C6) entry of the index of the third location of a group as a code designation at the first location of a further group of the group list;
C7) entry of the index of the first location of the further group set forth in step C6 at the third location of the preceding group;
C8) repetition of steps C5 through C7 for all following elements of the sequence component including the closing character; and C9) entry of the index for the third location of the group which contains the closing character at the second location, at a first location of a compressed data sequence list, and transfer of the index of said location to the third location of the closing character group;
II. for the further sequence components:
C10) checking whether the group list includes a group which contains the first element at the first location and the second element at the second location; if no, go to step C11 below, if yes, go to step Cl2 below;
C11a) entry of the first and second elements at the first and second locations respectively of a further group in the group list;
C11b) performance of steps C3 through C9 above;
C12) checking whether the group set forth in step C10 above is followed by a further group which contains the following element at a second location; if no, go to step C13 below, if yes, go to step C14 below;
C13) performance of step C6 above for the group set forth in step C10, and steps C8 and C9;
C14) checking whether said following group set forth in step C12 is in turn followed by a group which contains the following element at a second location; if no, go to step C15 below, if yes, go to step C16 below;
C15) performance of steps C6 and C7 for said following group set forth in step C12 above, and steps C8 and C9; and C16) repetition of step C14 for the next following group.
4. A process for decompression of a sequence compressed as set forth in claim 3, comprising the following steps:
I.
D1) calling up the first entry of the compressed data sequence list;
D2) checking whether the entry is the index in respect of the third location of a group in the list; if no, output of the entry and go to step D6 below, if yes, go to step D3;
D3) checking whether the entry at the first location of the group is the index in respect of the third location of a preceding group in the group list; if no, output of the entry of the first and second locations of the group and go to step D6 below, if yes, go to step D4 below;
D4) repeating the checking operation of step D3 above in respect of the preceding group, until reaching an initial group in the group list, in which the entry at the first location is an element;
D5) output of the entry of the first and second locations of said initial group and the second location of all groups which have been previously run through, including the group set forth in step D2 above; and D6) repeating the procedure for the next entry of the compressed data sequence list.
5. A data compression process as set forth in claim 3 wherein, after the entry of a following element at the second location of a further group, a check is made as to whether said element has already been entered at one of the first and second locations of a preceding group and if yes, said preceding entry is replaced by the index of the entry in said further group.
6. A process for the decompression of a sequence compressed as set forth in claim 5, wherein, before output of the entry of the second location of a group, a check is made whether the entry is an index in respect of one of the first and second locations of a subsequent group and if yes, the checking operation in respect of the entry at said one of said first and second locations of said subsequent group and possibly further groups is repeated until an element is reached, for output thereof.
7. A data compression process as set forth in claim 3 wherein, after the entry of the index of the third location of a group at the first location of a further group, a check is made as to whether said index has already been entered at the first location of a preceding group and if yes, said preceding entry is replaced by the index of the entry in the further group.
8. A process for the decompression of a sequence compressed as set forth in claim 7 comprising the following steps:
I.
E1) calling up the first entry of the compressed data sequence list;
E2) checking whether the entry is the index in respect of the third location of a group in the list; if no, output of the entry and go to step E6 below, if yes, go to step E3;
E3) checking whether the entry at the first location of the group is the index in respect of the third location of a preceding group in the group list; if no, output of the entry of the first and second locations of the group and go to step E6 below, if yes, go to step E4 below;
E4) repeating the checking operation of step E3 above in respect of the preceding group, until reaching an initial group in the group list, in which the entry at the first location is an element;
E5) output of the entry of the first and second locations of said initial group and the second location of all groups which have been previously run through, including the group set forth in step E2 above; and E6) repeating the procedure for the next entry of the compressed data sequence list, wherein before step E3 is carried out, a check is made as to whether the entry at the first location of a group is the index in respect of the first location of a subsequent group and if yes, the checking operation in respect of the entry at the first location of said subsequent group is repeated until reaching an index in respect of the third location of a preceding group.
9. A data compression process as set forth in claim 1 comprising the following steps:
I. for the first sequence component;

F1) entry of the first element at a first location of a first column of a character list;
F2) entry of the character list index in respect of said first element at the first location of a group in a group list having three-location groups, wherein the index of the third location of each group is the code designation of that group;
F3) entry of the index of the first location of said group as set forth in step F2 in the second column of the character list at said first location of step F1;
F4) checking whether the second element is already present in the first column of the character list and if no, entry of the second element at the subsequent location in the first column of the character list;
F5) entry of the character list index in respect of the second element at the second location of the first mentioned group of the group list;
F6) entry of the index in respect of the second location of the first-mentioned group in the second column of the character list at the location set forth in step F4 above;
F7) entry of the index of the third location of the first-mentioned group as the code designation of the group at the first location of a further group of the list;
F8) entry of the index of the first location of said further group at the third location of the preceding group;
F9) checking whether the following element is already present in the first column of the character list and if no, entry at the following location in the first column of the character list;
F10) entry of the character list index in respect of the following element at the second location of a further group in the group list;
F11) entry of the index of the second location of said further group in the second column of the character list at the location set forth in step F9 above;
F12) entry of the index of the second location of said group as the code designation at the first location of another group of said list;
F13) entry of the index of the first location of said another group at the third location of the preceding group;
F14) repetition of steps F9 through F13 above for all following elements of the sequence component including the closing character;
F15) entry of the group list index in respect of the third location of the group which contains the closing character at its second location, at a first location in a compressed data sequence list, and transfer of the index of said location of said compressed data sequence list to the third location of said group containing said closing character at its second location;
II. for the further sequence components:
F16) checking whether the first element of the following sequence component is already present in the first column of the character list and if no, entry at the following location of the first column;
F17) repetition of step F16 in respect of the second element of the following sequence component;
F18) checking whether a group is present in the group list, which contains the character list index of the first element at the first location and the character list index of the second element at the second location, and if no, to to step F19, if yes, go to step F20;
F19a) entry of the character list index in respect of the first and second elements at the first and second locations respectively of a further group in the group list;
F19b) entry of the group list index in respect of the first and second elements in the second column of the character list at the locations set forth in step F16 and step F17 respectively if there is still no group list entry thereat;
F19c) performance of steps F7 through F15;
F20) checking whether said group set forth in step F18 above is followed by a further group which contains the character list index of the following element at its second location; if no, to to step F21, if yes, go to step F22;
F21) performance of steps F12 and F13 in respect of the group set forth in step F18 above, and steps F14 and F15;
F22) checking whether the following group set forth in step F20 above is in turn followed by a group which contains the character list index of the following element at its second location; if no, go to step F23, if yes, to to step F24;
F23) performance of steps F12 and F13 in respect of said following group set forth in step F20 above, and steps F14 and F15; and F24) repetition of step F22 in respect of the next following group.
10. A process for the decompression of a sequence of serial data elements compressed as set forth in claim 9, comprising the following steps:
I.
G1) calling up the first entry of the compressed data sequence list;
G2) checking whether the entry is an index in respect of the third location of a group in the group list, if no, output of the entry and go to step G6 below, if yes, go to step G3 below;
G3) checking whether the entry at the first location of the group is the index in respect of the third location of a preceding group in the group list; if no, output of the entry of the first and second locations of the group and to go step G6 below, if yes, to to step G4 below;
G4) repetition of the checking operation set forth in step G3 above in respect of the preceding group, until reaching an initial group in the group list, in respect of which the entry at the first location of the character list index is an element;
G5) output of the entry of the first and second locations of the initial group and the second location of all groups which have been previously run through, including the group set forth in step G2 above;
G6) repeating the procedure for the next entry on the compressed data sequence list; and G7) translating the specified character list indexes.
11. A data compression process as set forth in claim 9 wherein, after entry of the character list index in respect of a following element at the second location of a further group, as set forth in step F10 of claim 9, checking whether the character list index has already been entered at one of the first and second locations of a preceding group and if yes, said preceding entry is replaced by the group list index of the entry in said further group.
12. A process for the decompression of a sequence compressed as set forth in claim 11 wherein, before output of the entry of the second location of a group of the group list, a check is made whether the entry is a group list index in respect of one of the first and second locations of a subsequent group and if yes, the checking operation in respect of the entry at said one of said first and second locations of the subsequent group and possibly further groups is repeated, until a character list index is reached, for output thereof.
13. A data compression process as set forth in claim 9 wherein, after entry of the index of the third location of a group of the group list at the first location of a further group as set forth in step F12 of claim 9, a check is made as to whether said index is already entered at the first location of a preceding group and if yes, said preceding entry is replaced by the group list index of the entry in said further group.
14. A process for the decompression of a sequence compressed as set forth in claim 13 comprising the following steps:
I.
H1) calling up the first entry of the compressed data sequence list;
H2) checking whether the entry is an index in respect of the third location of a group in the group list, if no, output of the entry and go to step H6 below, if yes, go to step H3 below;
H3) checking whether the entry at the first location of the group is the index in respect of the third location of a preceding group in the group list; if no, output of the entry of the first and second locations of the group and to go step H6 below, if yes, to to step H4 below;
H4) repetition of the checking operation set forth in step H3 above in respect of the preceding group, until reaching an initial group in the group list, in respect of which the entry at the first location of the character list index is an element;
H5) output of the entry of the first and second locations of the initial group and the second location of all groups which have been previously run through, including the group set forth in step H2 above;
H6) repeating the procedure for the next entry on the compressed data sequence list; and H7) translating the specified character list indexes, wherein before step H3 is carried out, a check is made whether the entry from the first location of a group is the index in respect of the first location of a subsequent group and if yes, the checking operation in respect of the entry at said first location is repeated until an index is reached in respect of the third location of a preceding group.
15. A data compression process as set forth in claim 1 comprising the following steps:
I. for the first sequence component:
J1) entry of the first element at the first location of a group in a group list having two-location groups, wherein the index of the first location of each group is the code designation in respect of the respective directly preceding group;
J2) entry of the second element at the second location of said group of the group list;
J3) entry of the index of the first location of another group of the group list at said first location thereof;

J4) entry of the following element at the second location of said another group of the group list;
J5) entry of the index of the first location of a further group of the group list at the first location thereof;
J6) repetition of steps J4 and J5 in respect of all following elements of the sequence component, including the closing character;
J7) entry of the index in respect of the first location following that group which contains the closing character at the second location thereof, at a first location of a compressed data sequence list, and transfer of the index of said first location of said first compressed data sequence list to the first location following the said group containing said closing character;
II. for the further sequence components:
J8) checking whether there is a group in the group list which contains the first element at its first location and the second element at its second location, if no, go to step J9 below, if yes, go to step J10 below;
J9a) entry of the first and second elements at the first and second locations respectively of another group in the group list;
J9b) performance of steps J3 to J7 above;
J10) checking whether the group set forth in step J8 above is followed by a group which contains the following element at its second location, if no, go to step J11 below, if yes, go to step J12 below;

J11) performance of step J5 in respect of said group set forth in step J8 above, and steps J6 and J7;
J12) checking whether the said following group set forth in step J10 above is in turn followed by a group which contains the following element at its second location, if no, go to step J13 below, if yes, go to step J14 below;
J13) performance of step J5 in respect of said following group set forth in step J10, and steps J6 and J7; and J14) repetition of step J12 in respect of the next following group.
16. A process for the decompression of a sequence of serial data elements compressed as set forth in claim 15, comprising the following steps:
K1) calling up the first entry of the compressed data sequence list;
K2) checking whether the entry at the first location of the group is the index of said first location, if no, output of the entry of the first and second locations of the group and go to step K5 below, if yes, go to step K3 below;
K3) repeating the checking operation set forth in step K2 above in respect of the preceding group, until reaching an initial group in the group list, in respect of which the entry at the first location is an element;

K4) output of the entry of the first and second locations of the initial group and the second location of all groups which have been previously run through, including the group set forth in step K2 above, and K5) repeating the procedure for the next entry on the compressed data sequence list.
17. A data compression process as set forth in claim 15 wherein, after entry of the following element at the second location of a further group as set forth in step J4, checking whether the element has already been entered at one of the first and second locations of a preceding group and if yes, said preceding entry is replaced by the index of the entry in said further group.
18. A process for the decompression of a sequence compressed as set forth in claim 17 comprising the following steps:
R1) calling up the first entry of the compressed data sequence list;
R2) checking whether the entry at the first location of the group is the index of said first location, if no, output of the entry of the first and second locations of the group and go to step R5 below, if yes, go to step R3 below;
R3) repeating the checking operation set forth in step R2 above in respect of the preceding group, until reaching an initial group in the group list, in respect of which the entry at the first location is an element;

R4) output of the entry of the first and second locations of the initial group and the second location of all groups which have been previously run through, including the group set forth in step R2 above; and R5) repeating the procedure for the next entry on the compressed data sequence list, wherein before output of the entry of the second location of a group of the group list, as set forth in step R4, a check is made as to whether the entry is an index in respect of one of the first and second locations of a subsequent group and if yes, the checking operation in respect of the entry at said one of said first and second locations of said subsequent group and possibly further groups is repeated, until an element is reached, for output thereof.
19. A data compression process as set forth in claim 15 wherein, after entry of the index of the first location of a group of the group list at the first location of a further group, a check is made as to whether said index has already been entered at said first location of said first-mentioned group and if yes, said preceding entry is replaced by the index of the entry in said further group.
20. A process for the decompression of a sequence compressed as set forth in claim 19 comprising the following steps:
L1) calling up the first entry of the compressed data sequence list;

L2) checking whether the entry at the first location of the group is the index of said first location, if no, output of the entry of the first and second locations of the group and go to step L5 below, if yes, go to step L3 below;
L3) repeating the checking operation set forth in step L2 above in respect of the preceding group, until reaching an initial group in the group list, in respect of which the entry at the first location is an element;
L4) output of the entry of the first and second locations of the initial group and the second location of all groups which have been previously run through, including the group set forth in step L2 above; and L5) repeating the procedure for the next entry on the compressed data sequence list, wherein before step L2 is carried out, a check is made whether the entry at the first location of a group is the index in respect of the first location of a subsequent group and if yes, checking in respect of the entry at the first location is repeated until an index in respect of the first location of a preceding group is reached.
21. A data compression process as set forth in claim 1 comprising the following steps:
I. for the first sequence component:
M1) entry of the first element at a location in a first column of a character list;
M2) entry of the character list index in respect of the first element at the first location of a group in a group list comprising two-location groups, wherein the index of the first location of each group is the code designation in respect of the respective directly preceding group;
M3) entry of the index of the first location of said group set forth in step M2 above in the second column of the character list at said first-mentioned location set forth in step M1 above;
M4) checking whether the second element is already present in the first column of the character list and if no, entry of said second element at the following location in the first column of the character list;
M5) entry of the character list index in respect of the second element at the second location in the first-mentioned group of the group list;
M6) entry of the index of the second location of the first-mentioned group in the second column of the character list at the location as set forth in step M4 above;
M7) entry of the index of the first location of another group of the group list at said first location thereof;
M8) checking whether the following element is already present in the first column of the character list and if no, entry at the following location of the first column of the character list;
M9) entry of the character list index in respect of the following element at the second location of said another group of the group list;

M10) entry of the index of the second location of said another group in the second column in the character list at the location as set forth in step M8;
M11) entry of the index of the first location of a further group of the group list at said first location thereof;
M12) repetition of steps M8 through M11 above in respect of all following elements of the sequence component, including the closing character; and M13) entry of the group list index in respect of the first location following that group which contains the character list index of the closing character at its second location, at a first location of a compressed data sequence list, and transfer of the index of said first location of said compressed data sequence list to the first location following the said group containing said closing character;
II. for the further sequence components:
M14) checking whether the first element of the following sequence component is already present in the first column of the character list and if no, entry at the following location in the first column of the character list;
M15) repeating step M14 in respect of the second element of said following sequence component;
M16) checking whether the group list has a group which contains the character list index of the first element at the first location of said group and the character list index of the second element at the second location of said group; if no, go to step M17, if yes, go to step M18;
M17a) entry of the character list index in respect of the first and second elements at the first and second locations of another group in the group list;
M17b) entry of the group list index in respect of the first and second elements in the second column of the character list at the locations as set forth in steps M14 and M15 respectively, if there is still no group list entry thereat;
M17c) carrying out steps M7 to M13 above;
M18) checking whether the group set forth in step M16 above is followed by another group which contains the character list index of the following element at the second location thereof, if no, go to step M19 below, if yes, go to step M20 below;
M19) carrying out step M11 above in respect of the group set forth in step M16 above, and steps M12 and M13 above;
M20) checking whether said following group as set forth in step M18 above is in turn followed by a group which contains the character list index of the following element at the second location thereof, if no, go to step M21 below, if yes, go to step M22 below;
M21) carrying out step M11 above in respect of said following group as set forth in step M18 above, and steps M12 and M13 above; and M22) repeating step M20 in respect of the next following group.
22. A process for the decompression of a sequence of serial data elements compressed as set forth in claim 21 comprising the following steps:
N1) calling up the first entry of the compressed data sequence list;
N2) checking whether the entry at the first location of the group is the index of said first location, of no, output of the entry of the first and second locations of the group and go to step N5 below, if yes, go to step N3 below;
N3) repeating the checking operation of step N2 above for the preceding group until reaching an initial group in the group list, in respect of which the entry at the first location thereof is the character list index of an element;
N4) output of the entry of the first and second locations of the initial group and the second location of all groups which have been previously run through, including the group set forth in step N2 above;
N5) repeating the procedure for the next entry of the compressed data sequence list; and N6) translating the outputted character list indexes into the data elements by means of the character list.
23. A data compression process as set forth in claim 21 wherein, after entry of the character list index in respect of a following element at the second location of a further group as set forth in step M9, a check is made as to whether the character list index has already been entered at one of the first and second locations of a preceding group and if yes, said preceding entry is replaced by the group list index of the entry in said further group.
24. A process for the decompression of a sequence compressed a set forth in claim 23 comprising the following steps:
P1) calling up the first entry of the compressed data sequence list;
P2) checking whether the entry at the first location of the group is the index of said first location, of no, output of the entry of the first and second locations of the group and go to step P5 below, if yes, go to step P3 below;
P3) repeating the checking operation of step P2 above for the preceding group until reaching an initial group in the group list, in respect of which the entry at the first location thereof is the character list index of an element;
P4) output of the entry of the first and second locations of the initial group and the second location of all groups which have been previously run through, including the group set forth in step P2 above;

P5) repeating the procedure for the next entry of the compressed data sequence list; and P6) translating the outputted character list indexes into the data elements by means of the character list, wherein before output of the entry of the second location of a group of the group list as set forth in step P4, a check is made as to whether the entry is a group list index in respect of one of the first and second locations of a subsequent group and if yes, the checking operation in respect of the entry at said one of said first and second locations of said subsequent group and possibly further groups is repeated until a character list index is reached, for output thereof.
25. A data compression process as set forth in claim 21 wherein, after entry of the index of the first location of a group of the group list at the first location of a further group, as set forth in step M11, a check is made as to whether said idex has already been entered at said first location of said first-mentioned group and if yes, said preceding entry is replaced by the group list index of the entry in said further group.
26. A process for the decompresssion of a sequence compressed as set forth in claim 25 wherein, before step M2 is carried out, a check is made as to whether the entry at the first location of a group is the index in respect of the first location of a subsequent group and if yes, the operation in respect of checking the entry at the first location of a group is repeated until an index in respect of the first location of a preceding group is reached.
27. A process as set forth in claim 1 wherein, after entry of a code designation in the compressed data sequence list, a check is made as to whether said code designation is already entered at a preceding location and if yes, said preceding entry is replaced by the index of the entry which has just been made.
28. A process as set forth in claim 1 for texts which are divided on the basis of lines; letters, characters and spaces of the text representing the elements and words of the text representing the sequence components, wherein the lines are each subject to at least one governing factor from the group comprising a predetermined maximum number of words and a predetermined maximum number of elements, wherein, for the purposes of identifying line changes, the respective code designation of the group containing the last element of a line has a negative sign allocated thereto.
29. A process as set forth in claim 1 wherein the stores used for storing the lists form a sequentially connected array and references in the lists leading to a location on the other side of the respective directly following store or a reference to a higher location in the directly following store are provided with an identification.
30. Use of the data compression process as set forth in claim 1 for automatically combining sequences of serial data elements wherein the nodes of the combination are formed by identical sequence components.
31. Use as set forth in claim 30 wherein, for the purposes of making a connection between an initial point which is in a first sequence and a target point which is in a second sequence, an identical sequence is sought in the compressed data sequence lists of the two sequences.
32. Use as set forth in claim 30 wherein, for the purposes of making a connection between an initial point which is in a first sequence and a target point which is in a second sequence that is not directly combined with the first sequence, the compressed data sequence list of the first and second sequences are each compared to the compressed data sequence lists of further sequences, in order to find a closed connecting path by way of identical sequence components of a respective two directly inter-connected sequences.
33. Use as set forth in claim 30 wherein said nodes are stored in a separate list.
34. A data processing method including compression of redundant sequences of serial data elements which are divided into sequence components each having any number of data elements and a closing character, comprising the following steps:
I. for the first sequence component:
1) the first and second elements are combined to form a first pair group which receives a code designation and which is stored together therewith in a group list;
2) the code designation of the first pair group and the third element are combined to form a further pair group which receives a code designation and which is stored together therewith in the group list; and 3) the code designation of the further pair group and the following element are combined to form a further pair group which receives a code designation, and so forth, to the closing character which with the code designation of the preceding pair group forms a last pair group which in turn receives a code designation and which is stored together therewith in the group list;
II. for the second and further sequence components:
4) steps 1 through 3 are repeated, but with checking as to whether the first pair group is identical with the first pair group of the first sequence component or one of the further sequence components;
if no, then proceed as in respect of the first sequence component;
if yes, the code designation of the first pair group is combined with the third element and a check is again made as to whether that further pair group is identical with the further pair group of said first or said further sequence component;
if yes the code designation of the further pair group is combined with the following element, and so forth, to the end of identity between the groups;
5) the code designation of the last identical pair group is stored in the group list and any further elements which occur are processed in accordance with step 3; and 6) each sequence component is identified in a compressed data sequence list by the code designation of its last pair group;
and decompression of the compressed sequence comprising the following steps:
7) calling up the first code designation in the compressed data sequence list;
8) checking whether the first member of the group identifed by the code designation is a code designation or an element; if an element, output of the pair group and go to step 11, if a code designation, go to step 9;
9) repeating the checking operation of step 8 for the group designated by the code designation, until reaching an initial group, of which the first member is an element;
10) output of the said initial group and the second member of all groups which have been previously run through; and 11) repeating the procedure for all subsequent code designations in the compressed data sequence list.
CA000402653A 1981-05-12 1982-05-11 Data compression process Expired CA1181867A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE19813118676 DE3118676A1 (en) 1981-05-12 1981-05-12 METHOD FOR COMPRESSING REDUNDANT FOLLOWS OF SERIAL DATA ELEMENTS
DEP3118676.9 1981-05-12

Publications (1)

Publication Number Publication Date
CA1181867A true CA1181867A (en) 1985-01-29

Family

ID=6132019

Family Applications (1)

Application Number Title Priority Date Filing Date
CA000402653A Expired CA1181867A (en) 1981-05-12 1982-05-11 Data compression process

Country Status (4)

Country Link
EP (1) EP0065665A1 (en)
CA (1) CA1181867A (en)
DE (1) DE3118676A1 (en)
IN (1) IN156654B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4558302A (en) * 1983-06-20 1985-12-10 Sperry Corporation High speed data compression and decompression apparatus and method
GB2172127B (en) * 1985-03-06 1988-10-12 Ferranti Plc Data compression system

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3490690A (en) * 1964-10-26 1970-01-20 Ibm Data reduction system
CA1005916A (en) * 1972-08-16 1977-02-22 International Business Machines Corporation Video compaction for printed text
DE2460147C2 (en) * 1974-12-19 1983-05-05 Ibm Deutschland Gmbh, 7000 Stuttgart Arrangement for decompressing compressed information for characters to be displayed which are composed of black and white areas
US4044347A (en) * 1975-05-19 1977-08-23 International Business Machines Corporation Variable-length to fixed-length conversion of minimum-redundancy codes
US4054951A (en) * 1976-06-30 1977-10-18 International Business Machines Corporation Data expansion apparatus

Also Published As

Publication number Publication date
IN156654B (en) 1985-10-05
DE3118676C2 (en) 1989-05-11
DE3118676A1 (en) 1982-12-02
EP0065665A1 (en) 1982-12-01

Similar Documents

Publication Publication Date Title
US4491934A (en) Data compression process
US4044347A (en) Variable-length to fixed-length conversion of minimum-redundancy codes
EP0577330B1 (en) Improved variable length decoder
US5173695A (en) High-speed flexible variable-length-code decoder
US6876774B2 (en) Method and apparatus for compressing data string
US5208593A (en) Method and structure for decoding Huffman codes using leading ones detection
BR8500199A (en) PROCESS FOR TRANSMITTING INFORMATION AND DEVICES ENCODER AND DECODER
EP0630547A1 (en) Picture data encoding method
US5594435A (en) Permutation-based data compression
US5541595A (en) Variable length code decoder for simultaneous decoding the most significant bits and the least significant bits of a variable length code
US5550542A (en) Variable length code look-up table having separate code length determination
CA1181867A (en) Data compression process
CN112100455B (en) LZW dictionary searching method based on character string parallel search
US7286264B2 (en) None-of-the-above digital halftone compression and decompression
Northcott On the notion of a first neighbourhood ring with an application to the AF+ BΦ theorem
Moharir Signal design
US4039948A (en) Multi-channel differential pulse code modulation system
Ryabko Comments on" A source matching approach to finding minimax codes" by Davisson, LD and Leon-Garcia, A.
Wehrung Monoids of intervals of ordered abelian groups
Mahajan Zernike annular polynomials for imaging systems with annular pupils
JP3346626B2 (en) Data compression device
US5351046A (en) Method and system for compacting binary coded decimal data
JP3199291B2 (en) Method of configuring Huffman decoding table
WO1998039723A3 (en) Improvements relating to data compression
US20040098653A1 (en) Decomposer for parallel turbo decoding, process and integrated circuit

Legal Events

Date Code Title Description
MKEC Expiry (correction)
MKEX Expiry