WO1995019662B1 - Data compression apparatus and method - Google Patents
Data compression apparatus and methodInfo
- Publication number
- WO1995019662B1 WO1995019662B1 PCT/US1994/014823 US9414823W WO9519662B1 WO 1995019662 B1 WO1995019662 B1 WO 1995019662B1 US 9414823 W US9414823 W US 9414823W WO 9519662 B1 WO9519662 B1 WO 9519662B1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- history buffer
- match
- subsequence
- offset
- digital sequence
- Prior art date
Links
- 238000007906 compression Methods 0.000 title abstract 3
- 238000001514 detection method Methods 0.000 claims 5
- 230000003139 buffering Effects 0.000 claims 2
- 238000000034 method Methods 0.000 abstract 1
- 238000005070 sampling Methods 0.000 abstract 1
Abstract
Apparatus and method for compression of a digital sequence. The compressed sequence may be buffered and a compression procedure altered depending on buffer usage. This altering may include changing the depth of searching for matches performed in linked lists depending on the amount of the sequence being buffered. An adjacent element can be found in a linked list using a pointer, and a match can also be found in a history buffer using the same pointer. Frequency values may be updated for symbols based on a sampled subset of the symbols, and a token may be derived, such as by Huffman encoding, for each symbol from the updated frequency values. A subsequence may be encoded using an offset referenced to an earlier match. An insert pointer and a check pointer into a history buffer may be maintained, and a determination can be made as to whether accessing the history buffer is valid based on these check pointers. The maximum amount of the history buffer in which accessing is valid may be set. Decompression of sequences is also presented.
Claims
AMENDED CLAIMS
[received by the International Bureau on 13 July 1995 (13.07.95); original claims 1-26 cancelled; remaining claims unchanged (2 pages)]
27. Apparatus for compressing a digital sequence, comprising: a history buffer for receiving and buffering the digital sequence, match detection logic responsive to the history buffer, for detecting matches between a present subsequence in a history buffer and a previous subsequence in a history buffer, and coding logic responsive to the match detection logic to selectively encode a matched present subsequence as either an absolute offset referenced to the previous subsequence or a relative offset referenced to an earlier match.
28. The apparatus of claim 27 wherein the coding logic further includes logic to generate an indicator for indicating whether the matched present subsequence is encoded as an absolute offset or a relative offset.
29. A method of compressing a digital sequence, comprising: detecting a first match between a first and a second subsequence in the digital sequence, detecting a second match between a third and a fourth subsequence in the digital sequence, the first and second subsequences being different from the third and fourth subsequences, and encoding the fourth subsequence using an offset referenced to the first match.
30. The method of claim 29 wherein the step of encoding is performed in response to a further step of determining, the step of determining including determining whether to encode the fourth subsequence using an offset referenced to the first match instead of an offset from the beginning of a history buffer.
31. The method of claim 29 further including the step of receiving packet-switched data as the digital sequence.
32. A method of decompressing a digital sequence, comprising: receiving a first match token, after receiving the first match token, receiving a second match token including an offset,
determining the position of a subsequence in a history buffer based on the offset and the first match token, and substituting the subsequence for the second match token in the digital sequence.
33. The method of claim 32 further including the step of reading an offset mode indication from the second match token to determine that the step of determining is to be based on the second match token and the offset instead of being based on the offset alone.
34. Apparatus for compressing a digital sequence, comprising: a history buffer for receiving and buffering the digital sequence, match detection logic responsive to the history buffer, for detecting matches between a present subsequence in a history buffer and a previous subsequence in a history buffer, and control logic for identifying a portion of the history buffer as a valid portion, the control logic further being responsive to the match detection logic to determine whether the matches detected by the match detection logic are within the valid portion of the history buffer.
35. The apparatus of claim 34 wherein the control logic is further operations to control the maximum size of the valid portion of the history buffer.
36. A method of compressing a digital sequence, comprising: maintaining an insert pointer and a check pointer into a history buffer, inserting characters at the insert pointer, accessing the history buffer to search for matches in the history buffer, and determining whether the step of accessing the history buffer is valid based on the insert and check pointers.
37. The method of claim 36 wherein the step of maintaining includes maintaining the check pointer to set the maximum amount of the history buffer in which the step of determining will determine that the step of accessing is valid.
38. The method of claim 37 further including the step of initializing the buffer by setting the insert and check pointers to be equal.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US18118794A | 1994-01-13 | 1994-01-13 | |
US08/181,187 | 1994-01-13 |
Publications (2)
Publication Number | Publication Date |
---|---|
WO1995019662A1 WO1995019662A1 (en) | 1995-07-20 |
WO1995019662B1 true WO1995019662B1 (en) | 1995-08-10 |
Family
ID=22663256
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US1994/014823 WO1995019662A1 (en) | 1994-01-13 | 1994-12-21 | Data compression apparatus and method |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO1995019662A1 (en) |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7190284B1 (en) | 1994-11-16 | 2007-03-13 | Dye Thomas A | Selective lossless, lossy, or no compression of data based on address range, data type, and/or requesting agent |
JP2840589B2 (en) * | 1996-02-09 | 1998-12-24 | 富士通株式会社 | Data compression device and data decompression device |
GB9606465D0 (en) * | 1996-03-27 | 1996-06-05 | Memory Corp Plc | Data conversion device |
GB2323754B (en) * | 1997-01-30 | 2002-03-20 | Peter Graham Craven | Lossless compression using iir prediction filters |
US6879266B1 (en) | 1997-08-08 | 2005-04-12 | Quickshift, Inc. | Memory module including scalable embedded parallel data compression and decompression engines |
US5945933A (en) * | 1998-01-27 | 1999-08-31 | Infit Ltd. | Adaptive packet compression apparatus and method |
US6393149B2 (en) * | 1998-09-17 | 2002-05-21 | Navigation Technologies Corp. | Method and system for compressing data and a geographic database formed therewith and methods for use thereof in a navigation application program |
IL127434A0 (en) * | 1998-12-07 | 1999-10-28 | Rdc Comm Ltd | Apparatus and methods for real time lossless compression |
US7129860B2 (en) | 1999-01-29 | 2006-10-31 | Quickshift, Inc. | System and method for performing scalable embedded parallel data decompression |
US6822589B1 (en) | 1999-01-29 | 2004-11-23 | Quickshift, Inc. | System and method for performing scalable embedded parallel data decompression |
US6819271B2 (en) | 1999-01-29 | 2004-11-16 | Quickshift, Inc. | Parallel compression and decompression system and method having multiple parallel compression and decompression engines |
US7538694B2 (en) | 1999-01-29 | 2009-05-26 | Mossman Holdings Llc | Network device with improved storage density and access speed using compression techniques |
US6885319B2 (en) | 1999-01-29 | 2005-04-26 | Quickshift, Inc. | System and method for generating optimally compressed data from a plurality of data compression/decompression engines implementing different data compression algorithms |
US6208273B1 (en) | 1999-01-29 | 2001-03-27 | Interactive Silicon, Inc. | System and method for performing scalable embedded parallel data compression |
US6236341B1 (en) * | 2000-03-16 | 2001-05-22 | Lucent Technologies Inc. | Method and apparatus for data compression of network packets employing per-packet hash tables |
US6523102B1 (en) | 2000-04-14 | 2003-02-18 | Interactive Silicon, Inc. | Parallel compression/decompression system and method for implementation of in-memory compressed cache improving storage density and access speed for industry standard memory subsystems and in-line memory modules |
US6515598B2 (en) * | 2000-12-22 | 2003-02-04 | Cilys 53, Inc. | System and method for compressing and decompressing data in real time |
WO2003032296A1 (en) * | 2001-10-03 | 2003-04-17 | Sony Corporation | Encoding apparatus and method, decoding apparatus and method, and recording medium recording apparatus and method |
US6657565B2 (en) * | 2002-03-21 | 2003-12-02 | International Business Machines Corporation | Method and system for improving lossless compression efficiency |
US8514697B2 (en) | 2010-01-08 | 2013-08-20 | Sycamore Networks, Inc. | Mobile broadband packet switched traffic optimization |
US9325625B2 (en) | 2010-01-08 | 2016-04-26 | Citrix Systems, Inc. | Mobile broadband packet switched traffic optimization |
US8560552B2 (en) | 2010-01-08 | 2013-10-15 | Sycamore Networks, Inc. | Method for lossless data reduction of redundant patterns |
US8775776B2 (en) | 2012-01-18 | 2014-07-08 | International Business Machines Corporation | Hash table using hash table banks |
US10432216B1 (en) * | 2017-06-05 | 2019-10-01 | Amazon Technologies, Inc. | Configurable compression circuit |
CN108233942B (en) * | 2018-01-08 | 2022-02-22 | 武汉斗鱼网络科技有限公司 | Method and device for data storage and computer equipment |
CN116886104B (en) * | 2023-09-08 | 2023-11-21 | 西安小草植物科技有限责任公司 | Intelligent medical data analysis method based on artificial intelligence |
CN117294397B (en) * | 2023-11-27 | 2024-02-20 | 深圳市正东兴通讯设备有限公司 | Wireless communication data storage method and system |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3605032A1 (en) * | 1986-02-18 | 1987-08-20 | Thomson Brandt Gmbh | DIGITAL MESSAGE TRANSMISSION METHOD |
GB8722394D0 (en) * | 1987-09-23 | 1987-10-28 | British Telecomm | Video coder |
US5159336A (en) * | 1991-08-13 | 1992-10-27 | Iomega Corporation | Tape controller with data compression and error correction sharing a common buffer |
US5140321A (en) * | 1991-09-04 | 1992-08-18 | Prime Computer, Inc. | Data compression/decompression method and apparatus |
-
1994
- 1994-12-21 WO PCT/US1994/014823 patent/WO1995019662A1/en active Application Filing
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO1995019662B1 (en) | Data compression apparatus and method | |
CN108880556B (en) | LZ 77-based lossless data compression method, error code recovery method, encoder and decoder | |
US5374916A (en) | Automatic electronic data type identification process | |
US4955066A (en) | Compressing and decompressing text files | |
CA2299902C (en) | Method and apparatus for data compression using fingerprinting | |
US5870036A (en) | Adaptive multiple dictionary data compression | |
US7770091B2 (en) | Data compression for use in communication systems | |
WO1995019662A1 (en) | Data compression apparatus and method | |
KR100353171B1 (en) | Method and apparatus for performing adaptive data compression | |
EP0313191B1 (en) | Data compression system with expansion protection | |
EP0795965A2 (en) | System for maintaining a data base log | |
EP1744461A2 (en) | Data compression | |
JPH04503421A (en) | Adaptive data compression device for tape drive systems | |
CA2260883A1 (en) | Data compression and decompression system with immediate dictionary updating interleaved with string search | |
KR100314419B1 (en) | Method and apparatus for encoding strained Rempel-Jib 1 | |
EP0199088A2 (en) | Method and apparatus for modifying a run-length limited code | |
JP2004518327A (en) | Data compression method using identifier to refer to strings in reverse | |
JPH07212241A (en) | System for compressing voice and thawing it in digital way real-time-wise | |
JP2003526986A (en) | Arithmetic decoding of arithmetically encoded information signals | |
US6405155B2 (en) | Data logging | |
KR100703577B1 (en) | Coupled error code protection for multi-mode vocoders | |
GB2360915A (en) | Run length compression encoding of selected bits of data words | |
US6107989A (en) | Adaptive cursor for interpreting displays of grouped data words | |
KR940003661B1 (en) | Data condensing and expanding method of pulse code modulation system | |
US6819272B2 (en) | System, method and computer readable medium for compressing a data sequence for partial decompressing |