Patent Publication Number: US-6219716-B1

Title: System for bidirectional transfer of concurrently compressed divided groups of data to be distributed, concurrently expanded, and combined using unique data group identifiers

Description:
BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     The present invention relates to a system and an apparatus for compressing and expanding data, and more particularly to a system and an apparatus for compressing data, transferring the compressed data, and expanding the compressed data into original data. 
     2. Description of the Related Art 
     Heretofore, apparatus which exchange data therebetween often incorporate a system for compressing data, transferring the compressed data, and expanding the compressed data into original data in order to reduce the memory size which stores data to be transferred, reduce the amount of data to be transferred, and shorten the period of time required to transfer data. 
     FIG. 1 of the accompanying drawings shows a conventional data compressing and expanding system for transferring data between two apparatus  110   a,    110   b.  The apparatus  110   a,    110   b  have respective compressing units  111   a,    111   b  for compressing data to be transferred, and respective expanding units  112   a,    112   b  for expanding compressed data that have been transferred. The conventional data compressing and expanding system includes a storage  120  connected between the apparatus  110   a,    110   b  for temporarily storing transferred data. While data is shown as being transferred between the two apparatus in the conventional data compressing and expanding system, data may be transferred between a plurality of apparatus. 
     Data processing operation of the conventional data compressing and expanding system will be described below with reference to FIGS. 1 and 2 of the accompanying drawings. It is assumed that data will be transferred from the apparatus  110   a  to the apparatus  110   b.    
     First, a string of byte data to be transferred is compressed into a compressed string of byte data by a compression processor or compression software in the compressing unit  111   a.    
     The compressed string of byte data is sent from the compressing unit  111   a  to the storage  120 , and temporarily stored in the storage  120 . 
     Thereafter, the stored compressed string of byte data is read out of the storage  120 , and transferred to the apparatus  110   b.  The compressed string of byte data may not be stored in the storage  120 , but may be transferred directly to the apparatus  110   b.    
     The compressed string of byte data which has been transferred to the apparatus  110   b  is expanded by an expansion processor or expansion software in the expanding unit  112   b,  thereby recovering the uncompressed string of byte data. 
     Most of the time required for the conventional data compressing and expanding system to transfer data is spent by compressing and expanding the data. There are limitations on efforts to reduce the time needed to compress and expand data. Since it is difficult to shorten the time required to transfer data, the time required to transfer data tends to increase if the amount of data to be transferred increases. 
     SUMMARY OF THE INVENTION 
     It is therefore an object of the present invention to provide a system and an apparatus for compressing and expanding data to shorten a period of time required to transfer the compressed data. 
     According to the present invention, when data is divided into a plurality of strings of byte data by dividing means, the divided strings of byte data are concurrently compressed by compressing means and transferred from one apparatus to another apparatus. Thereafter, the strings of byte data which have been transferred are concurrently expanded by expanding means, thus restoring the uncompressed strings of byte data. 
     Since the divided strings of byte data are concurrently compressed and expanded, the time required to transfer the data is shortened. 
     The above and other objects, features, and advantages of the present invention will become apparent from the following description with references to the accompanying drawings which illustrate an example of the present invention. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 is a block diagram of a conventional data compressing and expanding system; 
     FIG. 2 is a diagram showing a data processing sequence of the conventional data compressing and expanding system shown in FIG. 1; 
     FIG. 3 is a block diagram of a data compressing and expanding system according to the present invention; and 
     FIG. 4 is a diagram showing a data processing sequence of the data compressing and expanding system shown in FIG.  3 . 
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT 
     FIG. 3 shows in block form a data compressing and expanding system according to the present invention. 
     As shown in FIG. 3, the data compressing and expanding system transfers data between two apparatus  10   a,    10   b.  The apparatus  10   a,    10   b  have respective dividing units  13   a,    13   b  for dividing data to be transferred, respective compressing units  11   a,    11   b  for compressing the data divided by the dividing units  13   a,    13   b,  respective Fi/Fo (First-in, First-out) storage units  14   a,    14   b  for temporarily storing the data compressed by the compressing units  11   a,    11   b,  respective mixing units  15   a,    15   b  for reading and mixing the data stored in the Fi/Fo storage units  14   a,    14   b,  respective distributing units  16   a,    16   b  for distributing transferred data, respective Fi/Fo storage units  17   a,    17   b  for temporarily storing the data distributed by the distributing units  16   a,    16   b,  respective expanding units  12   a,    12   b  for reading the stored data from the Fi/Fo storage units  17   a,    17   b  and expanding the read data, and respective combining units  18   a,    18   b  for combining the data expanded by the expanding units  12   a,    12   b.    
     Data is transferred between the apparatus  10   a,    10   b  through either a storage medium  21  which stores the transferred data or a communication medium  22  that interconnects the apparatus  10   a,    10   b.  While data is shown as being transferred between the two apparatus  10   a,    10   b,  data may be transferred between a plurality of apparatus. 
     A data processing sequence of the data compressing and expanding system will be described below with reference to FIGS. 3 and 4. It is assumed that data is transferred from the apparatus  10   a  to the apparatus  10   b.    
     A string of byte data to be transferred is divided into a plurality of strings of N bytes by the dividing unit  13   a.  In the illustrated embodiment, as shown in FIG. 4, a string of byte data An, Bn, Cn, Dn (n=0, 1, 2, . . . ) is divided into four divided strings  1 ˜ 4  of byte data. 
     The divided strings  1 ˜ 4  of byte data from the dividing unit  13   a  are then compressed by compression processors or compression software in the compressing unit  11   a,  and the compressed strings an, bn, cn, dn of byte data are outputted and stored in the Fi/Fo storage unit  14   a.  At this time, the divided strings  1 ˜ 4  of byte data are concurrently compressed by the compressing unit  11   a.    
     Then, the compressed strings an, bn, cn, dn of byte data are read from the Fi/Fo storage unit  14   a,  and supplied to the mixing unit  15   a,  which adds headers HA, HB, HC, HD as identifiers for identifying the compressed strings an, bn, cn, dn of byte data, respectively, to the compressed strings an, bn, cn, dn of byte data, and mixes the compressed strings an, bn, cn, dn of byte data and the added headers HA, HB, HC, HD. 
     Thereafter, the compressed strings an, bn, cn, dn of byte data which are mixed with the headers HA, HB, HC, HD added thereto are transferred through the storage medium  21  or the communication medium  22  to the apparatus  10   b.    
     When the compressed strings an, bn, cn, dn of byte data with the headers HA, HB, HC, HD added thereto reach the apparatus  10   b,  the distributing unit  16   b  distributes the compressed strings an, bn, cn, dn of byte data based on the added headers HA, HB, HC, HD, and outputs the compressed strings an, bn, cn, dn of byte data to the Fi/Fo storage unit  17   b,  where they are stored. 
     The expanding unit  12   b  then reads the compressed strings an, bn, cn, dn of byte data from the Fi/Fo storage unit  17   b,  and expands the compressed strings an, bn, cn, dn of byte data back into the divided strings  1 ˜ 4  of byte data. At this time, the compressed strings an, bn, cn, dn of byte data are concurrently expanded into the divided strings  1 ˜ 4  of byte data by the expanding unit  12   b.    
     Subsequently, the combining unit  18   b  combines the divided strings  1 ˜ 4  of byte data expanded by the expanding unit  12   b,  thereby recovering the uncompressed string of byte data in the apparatus  10   a.    
     While a preferred embodiment of the present invention has been described using specific terms, such description is for illustrative purposes only, and it is to be understood that changes and variations may be made without departing from the spirit or scope of the following claims.