home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #27 / NN_1992_27.iso / spool / comp / compress / 3865 < prev    next >
Encoding:
Text File  |  1992-11-17  |  2.6 KB  |  57 lines

  1. Newsgroups: comp.compression
  2. Path: sparky!uunet!caen!saimiri.primate.wisc.edu!usenet.coe.montana.edu!bithead
  3. From: bithead@cs.montana.edu (Bob Wall)
  4. Subject: Re: Need a compressor for sparse bit datastream
  5. Message-ID: <1992Nov16.232015.15970@coe.montana.edu>
  6. Keywords: compression technique
  7. Sender: usenet@coe.montana.edu (USENET News System)
  8. Organization: Dept. of Computer Science, MSU, Bozeman Mt 59717
  9. References: <1992Nov13.120505.29654@spectrum.xerox.com>
  10. Date: Mon, 16 Nov 1992 23:20:15 GMT
  11. Lines: 44
  12.  
  13. In article <1992Nov13.120505.29654@spectrum.xerox.com> landells.sbd-e@rx.xerox.com writes:
  14. >I have an application that generates binary output.  The output is relatively random, but there are approximately twice as many off bits as on bits.  My objective is to compress this as much as possible.  
  15. >
  16. >I have tried several 'standard' compressors, arj 2.2, lharc, pkzip 1.1, and have only managed to achieve very minimal compression in the order of 4% at best (on a 40K file).  Now I know that a truly random binary datastream cannot be compressed, but I was kind of hoping for better than 4%.  Am I missing something fundamental, or is this really the best that can be achieved?  
  17. >
  18. >If there is a technique to compress this type of data, I would appreciate some pointers to some source code that implements it.
  19. >
  20. >
  21. >Richard Landells  (landells.sbd-e@rx.xerox.com)
  22. >Rank Xerox System Centre
  23.  
  24.    You might try a variation of arithmetic coding referred to as the BAC
  25. (Binary Arithmetic Code).  It is described in the paper
  26.  
  27.    Glen G. Langdon, Jr. and Jorma Rissanenm, "A Simple General Binary Source
  28.       Code," _IEEE Transactions on Information Theory_, Vol. IT-28, No. 5,
  29.       Sept. 1982, pp. 800-803.
  30.  
  31.    I implemented this once, and I remember that it did OK on binary data
  32. streams where the frequency of one bit was substantially higher than the
  33. frequency of the other bit (and I would classify 2 to 1 as substantially
  34. higher) but I don't remember just what compression ratio OK would be.
  35.  
  36.    It's a pretty simple algorithm, although the article is written in
  37. math, instead of English  B^(.  A more straightforward explanation (in
  38. near-English) is given in
  39.  
  40.    Glen G. Langdon, Jr., "An Introduction to Arithmetic Coding," _IBM
  41.       Journal of Research and Development_, Vol. 28, No. 2, March 1984,
  42.       pp. 135-149.
  43.  
  44.    This article also has some other references that might help, although I
  45. haven't tracked them down.
  46.  
  47.  
  48. Hope this helps,
  49. Bob
  50.  
  51.  
  52. -- 
  53. =============================================================================
  54.   bithead@fubar.cs.montana.edu          (Bob Wall,  CS grad student)
  55.    "Software means never having to say you're finished."
  56.             --J. D. Hildebrand in UNIX REVIEW
  57.