Data compression method and system, and computer readable storage medium
By dividing the data into multiple segments and comparing it with the comparison frame, different parts and their data distances are output, and hexadecimal encoding and multiple LZ compression units are used for parallel processing, the problem of large data compression rate in the prior art is solved, and efficient data compression and high bandwidth processing are achieved.
Patent Information
- Application Number
- CN202111123996.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-09-24
- Publication Date
- 2025-03-11
- Estimated Expiration
- 2041-09-24
Smart Images

Figure CN113890541B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of data compression, and in particular to a data compression method and a data compression system for data with small changes. Background Art
[0002] In order to reduce the storage space of data or the transmission size of data, many methods for compressing data have emerged in the prior art.
[0003] Taking the simulation verification of the design on the FPGA platform as an example, a large number of logic signal values need to be sampled and stored during the simulation verification. The waveform display software reads these data to generate the waveform of the corresponding signal. Since the amount of data of these logic signal values is large, directly storing the original sampled data requires a lot of storage space, so it is necessary to compress these data before storing them.
[0004] How to use a compression method with a low compression ratio for such a large amount of data is a technical problem that needs to be solved urgently. Summary of the invention
[0005] In order to solve the technical problem of how to compress large amounts of data in the prior art, the present invention proposes a data compression method and system, and a computer-readable storage medium.
[0006] The data compression method proposed by the present invention comprises:
[0007] Step 1, dividing a frame of data corresponding to each sampling time into multiple segments of data that can be arranged into multiple rows and columns, and each segment of data can be uniquely identified by the sampling time, row number and column number;
[0008] Step 2, setting comparison frame data;
[0009] Step 3, read a frame of data as the current frame according to the order of sampling time, and compare each segment of data in the current frame with each segment of data in the corresponding row and column of the comparison frame;
[0010] Step 4: If the segment data corresponding to the current frame is different from the segment data corresponding to the comparison frame, then all the segment data of the current frame that are different from the segment data corresponding to the comparison frame and their data distances relative to the comparison frame are output, and the current frame is used as the comparison frame data and returned to step 3 to continue comparison until all frame data are processed;
[0011] Step 5: If the data of the current frame is the same as that of the comparison frame, the comparison frame remains unchanged and returns to step 3 to continue the comparison until all frame data are processed.
[0012] Furthermore, outputting all segment data of the current frame that are different from the corresponding segment data of the comparison frame and their data distance relative to the comparison frame includes the following elements: sampling time difference of the current frame relative to the comparison frame, numerical codes of all segment data that are different from the comparison frame, row codes, and column codes.
[0013] Furthermore, the numerical codes, row codes and column codes of all segment data that are different from the corresponding segment data of the comparison frame are expressed in hexadecimal, wherein the upper four bits are used to identify the type of element and the lower four bits are the value of the element.
[0014] Further, when the sampling time difference is less than 32, the sampling time difference is expressed in hexadecimal, the upper 4 bits of the sampling time difference are used to identify the sampling time difference less than 32, and the lower 4 bits are the value of the sampling time difference.
[0015] Further, when the sampling time difference is greater than or equal to 32, it includes:
[0016] Converting the sampling time difference into binary data;
[0017] Divide the binary data into at least one segment from low bits to high bits according to a first preset length, wherein the first preset length is less than or equal to 8;
[0018] Convert each piece of binary data into hexadecimal;
[0019] The upper 4 bits of the first hexadecimal data of the sampling time difference are used to identify a sampling time difference greater than 32, and the lower 4 bits are used to identify the number of segments into which the binary data is divided. The second and subsequent hexadecimal digits are the hexadecimal values corresponding to each segment of binary data.
[0020] Furthermore, the sampling time is represented by N, where N is a natural number greater than or equal to 1;
[0021] Furthermore, each frame of data is divided into multiple rows with 256 bits per row.
[0022] Furthermore, each row of data is divided into multiple columns with 4 bits per column.
[0023] Furthermore, the comparison frame data is an initial value defined by a user, or the comparison frame data is the first frame data arranged in chronological order of sampling time.
[0024] Furthermore, the data is waveform data.
[0025] Furthermore, the data compression method of the present invention further comprises:
[0026] Step 6, distributing the data outputted in step 4 to a plurality of LZ compression units for parallel processing according to a second preset length;
[0027] Step 7, multiple LZ compression units perform secondary compression on the data output from step 4;
[0028] Step 8: splice the data output by multiple LZ compression units to form complete compressed data.
[0029] The data compression system proposed by the present invention comprises:
[0030] The data input and unpacking module receives the sampled signal data and unpacks the data according to the data format; divides a frame of data corresponding to each sampling time into multiple segments of data that can be arranged in multiple rows and columns, and each segment of data can be uniquely identified by the sampling time, row number and column number;
[0031] The first-level compression module sets the comparison frame data, reads a frame of data as the current frame according to the order of sampling time, compares each segment of the current frame with each segment of the corresponding row and column of the comparison frame, and if the segment data corresponding to the current frame is different from the segment data corresponding to the comparison frame, then outputs all the segment data of the current frame that are different from the corresponding segment data of the comparison frame and their data distance relative to the comparison frame, and uses the current frame as the comparison frame data to continue to compare with the next frame data until all frame data are processed; if the data of the current frame is the same as that of the comparison frame, then the comparison frame remains unchanged and continues to be compared with the next frame data until all frame data are processed.
[0032] The data compression system of the present invention further comprises:
[0033] A data distribution module distributes the data output by the primary compression module;
[0034] A secondary compression module, wherein the secondary compression module includes a plurality of LZ compression units, and the plurality of LZ compression units process the data distributed by the data distribution module in parallel and re-compress the data using an LZ algorithm;
[0035] The data merging output module concatenates the data output by multiple LZ modules to form complete compressed data.
[0036] The computer-readable storage medium proposed in the present invention is used to store a computer program, and when the computer program is run, the data compression method described in the above technical solution is executed.
[0037] Compared with the prior art, the present invention has the advantages of simple encoding, easy implementation using logic circuits, and high data processing bandwidth. In addition, the data compression method and system of the present invention are particularly suitable for situations where the data change sampled at each sampling time is less than one-fourth of the total data volume. For example, waveform data has this feature. BRIEF DESCRIPTION OF THE DRAWINGS
[0038] The present invention is described in detail below with reference to the embodiments and accompanying drawings, wherein:
[0039] Figure 1 It is a schematic structural diagram of an embodiment of the present invention.
[0040] Figure 2 is a flow chart of an embodiment of the present invention. DETAILED DESCRIPTION
[0041] In order to make the technical problems, technical solutions and beneficial effects to be solved by the present invention more clearly understood, the present invention is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present invention and are not used to limit the present invention.
[0042] Thus, a feature indicated in this specification will be used to illustrate one of the features of an embodiment of the present invention, rather than implying that each embodiment of the present invention must have the described feature. In addition, it should be noted that this specification describes many features. Although some features can be combined together to illustrate possible system designs, these features can also be used in other combinations that are not explicitly described. Thus, unless otherwise stated, the described combinations are not intended to be limiting.
[0043] The principle of the present invention is described in detail below with reference to the accompanying drawings and embodiments.
[0044] like Figure 1 As shown, the data compression system of the present invention may only include a data input and unpacking module and a primary compression module in one embodiment. When the sampled data is waveform data, in a preferred embodiment, the data compression system of the present invention includes a data distribution module, a secondary compression module and a data merging and outputting module in addition to the data input and unpacking module and the primary compression module.
[0045] The data input and unpacking module is a module where the data sampling module (not shown) samples the signal data and sends it to the data input and unpacking module. After the data input and unpacking module unpacks the data according to the data format, it will form parallel frame data and send it to the primary compression module. The data input and unpacking module divides a frame of data corresponding to each sampling time into multiple segments of data that can be arranged in multiple rows and columns, and each segment of data can be uniquely identified by the sampling time, row number and column number. The data adoption module can be used as a module of the data compression system instead of a module of the data compression system. Here, the data input and unpacking module unpacks the data according to the data format, and the data format can be varied. For example, in one embodiment, the data format includes a frame header, data content and a CRC frame part. The frame header and the CRC frame part will be removed during compression, and only the data content part will be analyzed and compressed. In a further embodiment, the frame header can also contain some information required for compression, for example, the lower 48 bits of the frame header are timestamp information (timestamp information), indicating the starting timestamp value ts of the 32 frames of data in this package. 48-55bit is mode information. Different values of mode information represent different meanings. For example, if it is 0, there is 1 timestamp per data frame in this packet, and there are 32 timestamp data, corresponding to ts, ts+1, ts+2, ..., ts+31, and the data width of each timestamp is 256 bits; if it is 1, there is 1 timestamp per 2 data frames in this packet, and there are 16 timestamp data, corresponding to ts, ts+1, ts+2, ..., ts+15, and the data width of each timestamp is 512 bits; if it is 2, there is 1 timestamp per 4 data frames in this packet, and there are 8 timestamp data, corresponding to ts, ts+1, ts+2, ..., ts+7, and the data width of each timestamp is 1024 bits. When it is 3, the data frame in this packet has 1 timestamp every 8 frames, and there are 4 timestamp data in total, corresponding to ts, ts+1, ts+2, and ts+3 respectively. The data bit width of each timestamp is 2048 bits; when it is 4, the data frame in this packet has 1 timestamp every 16 frames, and there are 2 timestamp data in total, corresponding to ts and ts+1 respectively. The data bit width of each timestamp is 4096 bits; when it is 5, the data frame in this packet has 1 timestamp every 32 frames, and there is 1 timestamp data in total, corresponding to ts, and the data bit width of each timestamp is 8192 bits.
[0046] The first-level compression module compares the changes between the two frames of data received, and encodes and packages only the changed parts of the data in a specific format, thereby achieving the purpose of compressing the data.
[0047] The data compressed by the first-level compression module is output to the data distribution module. The data distribution module distributes the data output by the first-level compression module to each LZ compression unit of the second-level compression module according to a specific length. Multiple LZ compression units with lower input bandwidth can process input data with larger bandwidth in parallel. The data compressed by the LZ compression unit will be output to the data merging and output module. The data merging and output module will reintegrate and splice the data output by the second-level compression module to form complete compressed data, thereby completing the entire compression process.
[0048] The first-level compression module further includes a frame data bit change detection unit and a coding and packaging processing unit. The first unit divides the frame data into segments according to the sampling time sequence and the comparison frame. Each segment of data is compared one by one according to the bit. The segment data with value changes will be output, and the segment data without changes will not be output. The second unit encodes and packages the changed segment data to finally form compressed data. When the compressed data is waveform data, the first-level compression module mainly compresses the signal data with less or no changes in the waveform data.
[0049] There are multiple LZ compression units in the secondary compression module to process the data to be compressed in parallel. The LZ compression algorithm adopted by the LZ compression unit uses a dictionary to achieve compression, so it mainly compresses the periodically changing data in the waveform data, which can achieve a low compression rate and high compression efficiency.
[0050] like Figure 2 As shown, the main part of the data compression method of the present invention is the difference compression method. By using the difference compression method, a large amount of data with relatively small changes is compressed to achieve a lower compression rate. The compression process of the difference compression method is mainly completed by the above-mentioned primary compression module.
[0051] In one embodiment, the compression method of the present invention first divides a frame of data corresponding to each sampling time into multiple segments of data that can be arranged in multiple rows and columns by the data input and unpacking module, and each segment of data can be uniquely identified by the sampling time, row number and column number.
[0052] The first-level compression module needs to set the comparison frame data first. The initial value of the comparison frame data can be customized by the user, for example, the user sets a virtual frame with all bits set to 0. The comparison frame data can also be the first frame data of the sampled data.
[0053] After setting the comparison frame data, read a frame of data as the current frame according to the order of sampling time. For example, when the comparison frame data is a virtual frame, the current frame is the first frame of sampling data. If the comparison frame is the first frame of sampling data, the current frame is the second frame of sampling data.
[0054] The primary compression module compares each segment of the current frame with each segment of the corresponding row and column of the comparison frame. If the segment data corresponding to the current frame is different from the segment data corresponding to the comparison frame, then all the segment data of the current frame that is different from the corresponding segment data of the comparison frame and its data distance relative to the comparison frame are output, and the current frame is used as the comparison frame data to continue to be compared with the next frame data until all frame data are processed. If the data of the current frame is the same as that of the comparison frame, the comparison frame remains unchanged and continues to be compared with the next frame data until all frame data are processed. For example, the first frame data to the tenth frame data are exactly the same data, so when comparing to the eleventh frame data, the comparison frame data is still the first frame data. If the eleventh frame data is different from the first frame data at this time, the data distance between the different parts of the data and the first frame data is output, and then the comparison frame becomes the eleventh frame data.
[0055] Outputting all segment data of the current frame that are different from the corresponding segment data of the comparison frame and their data distance relative to the comparison frame includes the following elements: sampling time difference of the current frame relative to the comparison frame, numerical code, row code and column code of all segment data that are different from the comparison frame. The following takes waveform data as an example to introduce in detail the numerical code, row code, column code and sampling time difference of segment data.
[0056] The original waveform sampling data has one frame of data for each clock beat. Assuming the data bit width is M bits, the corresponding M signals are M sampling data in this clock beat. Each clock beat can be called a timestamp of the sampling time for a frame of sampling data. Therefore, the original waveform data is composed of many data frames with a width of M bits of timestamp.
[0057] Assume that the sampled data with a width of M bits can be divided into N rows according to a group of 256 bits, N=M / 256, the decimal part is rounded up, and the data of each row can be called a row of data under a timestamp, and the row number of the Nth row of data is row N. Each row of data with a width of 256 bits can be divided into 64 columns according to a group of 4 bits, and the number of each column can be called a col, for example, the 0th column can be called col 0. In this way, the sampled data with a width of M bits is divided into segment data that can be arranged in rows and columns, and each segment data is 4 bits. In this way, a certain 4-bit data of each timestamp can be expressed as timestamp t row n col y.
[0058] The 4-bit segment data divided into rows and columns needs to be converted into 8 bits. The conversion method is that the upper 4 bits are 0, representing the value of the numerical code, that is, the upper 4 bits identify the element type, and the lower 4 bits are valid data, that is, the specific value of the numerical code. The numerical code, row code and column code of the segment data are expressed in hexadecimal. For example, 0xa needs to be changed to 0x0a, where 0x is the hexadecimal identifier.
[0059] The row code (row n code) corresponding to a 4-bit segment data is 0x80+n, where n ranges from 0 to 63. Therefore, this method supports a maximum M value of 64*256bits=16384bits. The upper four bits 8 indicate the element type row code, and 0+n is valid data, that is, the specific value of the row code.
[0060] The column code (col y code) corresponding to a 4-bit segment data is 0x40+y, where y ranges from 0 to 63. The high four bits 4 indicate the element type column code, and 0+y is valid data, that is, the specific value of the column code.
[0061] There are two cases for encoding the sampling time difference m (delta timestamp m) corresponding to a 4-bit segment data. Taking the sampling time as N as an example, N is a natural number greater than or equal to, that is, the sampling time is expressed as 1, 2, 3, ...
[0062] The first case is when m<32: the code is 0xc0+m. When the sampling time difference is less than 32, the sampling time difference is expressed in hexadecimal, and the upper 4 bits c of the sampling time difference are used to identify the sampling time difference less than 32, and the lower 4 bits are the value of the sampling time difference.
[0063] The second case is when m≥32: the encoding is 0xe0+lenth, m[6:0], m[7:13]…, m[…]. The range of lenth is 1~15. lenth indicates the number of hexadecimal bytes that follow, that is, the length of the delta timestamp, and the value of the bytes after lenth. The upper two bits of each byte are 0, and the lower 6 bits represent the value of the delta timestamp. The specific processing process is:
[0064] First, convert the sampling time difference into binary data. For example, when the sampling time difference m is 100000, the corresponding binary data is 0b0000_0001_1000_0110_1010_0000.
[0065] According to the first preset length, the binary data is divided into at least one segment from the low bit to the high bit, and the first preset length is less than or equal to 8. In one embodiment, the first preset length is 6 bits, so the first 6 bits from the back to the front are 10_0000, which is converted into 8 bits and expressed in hexadecimal, which becomes 0x20, the second 6 bits are 0110_10, which is converted into 8 bits and expressed in hexadecimal, specifically 0x15, and the third 6 bits are 01_1000, which is converted into 8 bits and expressed in hexadecimal, specifically 0x18, so lenth can be confirmed to be 3, and the sampling time difference in the sampling distance is output as 0xe3, 0x20, 0x15, 0x18.
[0066] In the above process, the upper 4 bits of the first hexadecimal data of the sampling time difference are used to identify the sampling time difference greater than 32, and the lower 4 bits are used to identify the number of segments into which the binary data is divided. The second and subsequent hexadecimal digits are the hexadecimal values corresponding to each segment of binary data.
[0067] The following is a specific example to illustrate the process of the primary compression module comparing each frame of data with the comparison frame of data.
[0068] When a frame data is compared with a comparison frame data in groups of 4 bits, if all 4 bits are the same, the current frame data does not need to be encoded and output. If there are differences, the different 4-bit segment data will be output according to the encoding method described above, where the changing data in the same row uses the same row encoding, and each 4-bit segment data has a col encoding.
[0069] Each time a frame data is compared, the variable ts_cnt representing the current frame will increase by 1. If it is detected that the current frame data is different from the comparison frame data, the variable pre_ts_cnt representing the comparison frame will store the value of ts_cnt-1. At this time, the sampling time difference delta timestamp = ts_cnt - pre_ts_cnt; if they are the same, the value of pre_ts_cnt remains unchanged.
[0070] All 4-bit data with changes under the current timestamp share a delt timestamp code, that is, multiple segments of data at a sampling time share the same sampling time difference code.
[0071] For example, the values of the five segments of col 0, col 5, col 8 of row 0 and col 7, col 63 of row 1 are different from the data at the corresponding positions of the comparison frame. If the sampling time difference delta timestamp is 1, the output is 0xc1, 0x80 value0 0x40 value5 0x45 value8 0x48, 0x81 value7 0x47 value63 0x7F. Among them, 0xc1 is the encoding of the sampling time difference, 0x80 is the row encoding of row 0, value0 0x40 value5 0x45 value80x48 is the column encoding of col 0, col 5, col 8 of row 0, 0x81 is the row encoding of row 1, and value7 0x47value63 0x7F is the column encoding of col 7 and col 63 of row 1. If the sampling time difference delta timestamp is 100000, the output is 0xe3 0x20 0x15 0x18, 0x80 value0 0x40 value5 0x45 value8 0x48, 0x81 value7 0x47 value63 0x7F.
[0072] When the data is waveform data, the data compression method of the present invention may further include a secondary compression step.
[0073] The data output by the primary compression module is distributed to multiple LZ compression units for parallel processing according to a second preset length, the multiple LZ compression units perform secondary compression on the data output by the primary compression module, and finally the data output by the multiple LZ compression units are spliced to form complete compressed data.
[0074] The present invention performs two-level lossless compression processing on data in parallel, and has the advantages of low compression ratio and high compression rate compared with the existing compression method.
[0075] The present invention also protects a computer-readable storage medium for storing a computer program, which executes the above-mentioned data compression method of the present invention when the computer program is run.
[0076] The above description is only a preferred embodiment of the present invention and is not intended to limit the present invention. Any modifications, equivalent substitutions and improvements made within the spirit and principle of the present invention should be included in the protection scope of the present invention.
Claims
1. A data compression method, characterized in that: include: Step 1, dividing a frame of data corresponding to each sampling time into multiple segments of data that can be arranged into multiple rows and columns, and each segment of data can be uniquely identified by the sampling time, row number and column number; Step 2, setting comparison frame data; Step 3, read a frame of data as the current frame according to the order of sampling time, and compare each segment of data in the current frame with each segment of data in the corresponding row and column of the comparison frame; Step 4: If the segment data corresponding to the current frame is different from the segment data corresponding to the comparison frame, then all the segment data of the current frame that are different from the segment data corresponding to the comparison frame and their data distances relative to the comparison frame are output, and the current frame is used as the comparison frame data and returned to step 3 to continue comparison until all frame data are processed; Step 5: If the data of the current frame is the same as that of the comparison frame, the comparison frame remains unchanged and returns to step 3 to continue the comparison until all frame data are processed; Outputting all segment data of the current frame that are different from the corresponding segment data of the comparison frame and their data distance relative to the comparison frame includes the following elements: sampling time difference of the current frame relative to the comparison frame, numerical codes of all segment data that are different from the comparison frame, row codes, and column codes; The upper four bits of the numerical code, row code and column code of all segment data that are different from the corresponding segment data of the comparison frame are used to identify the type of element, and the lower four bits are the value of the element; When the sampling time difference is less than 32, the sampling time difference is expressed in hexadecimal, the upper 4 bits of the sampling time difference are used to identify the sampling time difference less than 32, and the lower 4 bits are the value of the sampling time difference; When the sampling time difference is greater than or equal to 32, it includes: Converting the sampling time difference into binary data; Divide the binary data into at least one segment from low bits to high bits according to a first preset length, wherein the first preset length is less than or equal to 8; Convert each piece of binary data into hexadecimal; The upper 4 bits of the first hexadecimal data of the sampling time difference are used to identify a sampling time difference greater than 32, and the lower 4 bits are used to identify the number of segments into which the binary data is divided. The second and subsequent hexadecimal digits are the hexadecimal values corresponding to each segment of binary data.
2. The data compression method according to claim 1, characterized in that: The numerical codes, row codes and column codes of all segment data that are different from the corresponding segment data of the comparison frame are expressed in hexadecimal.
3. The data compression method according to claim 1, characterized in that: The sampling time is represented by N, where N is a natural number greater than or equal to 1.
4. The data compression method according to claim 1, characterized in that: Each frame of data is divided into multiple rows with 256 bits per row.
5. The data compression method according to claim 1, wherein: Each row of data is divided into multiple columns with 4 bits per column.
6. The data compression method according to claim 1, wherein: The comparison frame data has an initial value that is user-defined, or the comparison frame data is the first frame data arranged in chronological order according to sampling time.
7. The data compression method according to claim 1, characterized in that: The data is waveform data.
8. The data compression method according to any one of claims 1 to 7, characterized in that: Also includes: Step 6, distributing the data outputted in step 4 to a plurality of LZ compression units for parallel processing according to a second preset length; Step 7, multiple LZ compression units perform secondary compression on the data output from step 4; Step 8: splice the data output by multiple LZ compression units to form complete compressed data.
9. A data compression system, characterized in that: include: The data input and unpacking module receives the sampled signal data and unpacks the data according to the data format; Divide a frame of data corresponding to each sampling time into multiple segments of data that can be arranged into multiple rows and columns, and each segment of data can be uniquely identified by the sampling time, row number and column number; The first-level compression module sets the comparison frame data, reads a frame of data as the current frame according to the order of sampling time, compares each segment of the current frame with each segment of the corresponding row and column of the comparison frame, and if the segment data corresponding to the current frame is different from the segment data corresponding to the comparison frame, then outputs all the segment data of the current frame that are different from the segment data corresponding to the comparison frame and their data distance relative to the comparison frame, and uses the current frame as the comparison frame data to continue to compare with the next frame data until all frame data are processed; if the data of the current frame is the same as that of the comparison frame, then the comparison frame remains unchanged and continues to be compared with the next frame data until all frame data are processed; Outputting all segment data of the current frame that are different from the corresponding segment data of the comparison frame and their data distance relative to the comparison frame includes the following elements: sampling time difference of the current frame relative to the comparison frame, numerical codes of all segment data that are different from the comparison frame, row codes, and column codes; The upper four bits of the numerical code, row code and column code of all segment data that are different from the corresponding segment data of the comparison frame are used to identify the type of element, and the lower four bits are the value of the element; When the sampling time difference is less than 32, the sampling time difference is expressed in hexadecimal, the upper 4 bits of the sampling time difference are used to identify the sampling time difference less than 32, and the lower 4 bits are the value of the sampling time difference; When the sampling time difference is greater than or equal to 32, it includes: Converting the sampling time difference into binary data; Divide the binary data into at least one segment from low bits to high bits according to a first preset length, wherein the first preset length is less than or equal to 8; Convert each piece of binary data into hexadecimal; The upper 4 bits of the first hexadecimal data of the sampling time difference are used to identify a sampling time difference greater than 32, and the lower 4 bits are used to identify the number of segments into which the binary data is divided. The second and subsequent hexadecimal digits are the hexadecimal values corresponding to each segment of binary data.
10. The data compression system according to claim 9, characterized in that Also includes: A data distribution module distributes the data output by the primary compression module; A secondary compression module, wherein the secondary compression module includes a plurality of LZ compression units, and the plurality of LZ compression units process the data distributed by the data distribution module in parallel and re-compress the data using an LZ algorithm; The data merging output module concatenates the data output by multiple LZ modules to form complete compressed data.
11. A computer-readable storage medium for storing a computer program, characterized in that: When the computer program is executed, the data compression method according to any one of claims 1 to 8 is executed.
Citation Information
Patent Citations
Data compression method and data decompression method
CN105049055A
Audio compression coding method
JP2000293200A