home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #20 / NN_1992_20.iso / spool / comp / sys / cbm / 3705 < prev    next >
Encoding:
Internet Message Format  |  1992-09-15  |  2.1 KB

  1. Path: sparky!uunet!sun-barr!ames!ncar!noao!arizona!mcbride
  2. From: mcbride@cs.arizona.edu (Chris M. McBride)
  3. Newsgroups: comp.sys.cbm
  4. Subject: Re: compression format questions, and an idea
  5. Summary: variation on runlength
  6. Keywords: compression
  7. Message-ID: <22166@optima.cs.arizona.edu>
  8. Date: 16 Sep 92 03:48:24 GMT
  9. References: <cdminter.716601761@icaen.uiowa.edu>
  10. Sender: news@cs.arizona.edu
  11. Organization: U of Arizona CS Dept, Tucson
  12. Lines: 36
  13.  
  14. In article <cdminter.716601761@icaen.uiowa.edu> cdminter@icaen.uiowa.edu (Corey D Minter) writes:
  15.  
  16. >2) Recently i was reading up on some methods of compression when i
  17. >    thought up the following idea.  It has the advantage i think
  18. >    that it would be fast to decompress (though slow to compress),
  19. >    and it doesn't consume any memory with tables in either compression
  20. >    or decompression.  So i am asking for your comment/flame/opinion
  21. >    on this.  I'm not trying to propose some new standard (who wants
  22. >    one).
  23. >
  24. >        1) store data as is until an ESCAPE character is read
  25. >        2) 2 ESCAPES signals that an ESCAPE should really be stored
  26. >        3) otherwise the ESCAPE is followed by:
  27. >               a) byte packed with NUMBER_OF_REPETITIONS and 
  28. >                  NUMBER_OF_BYTES - 4 (possibly nibblewise)
  29. >               b) word with address of data to be used (could be a
  30. >                  relative or absolute address
  31. >
  32. <etc>
  33.  
  34. This is only a slight variation on Run length compression. It has some
  35. pissibilities, but I see some problems. Lets assume you use 0 as an
  36. escape character (that would elimate runs of 0 lengths)
  37. Then we have a number(or numbers) to specify repeats, reptitions(A
  38. nybble may not be the best, because then you are limited to 15 or 16)
  39. How do you specify that what follows is an address. or data?
  40.  
  41. The best way to perform this copmpression would proabbly be to keep 
  42. a list of data, and then a list of pointers to the data. (With bytes
  43. and reps, all though some will only have repeats of 1)
  44. One question I have, is how do you determine when you have a string
  45. that already occurs, or to start another `string?
  46.  
  47. Chris
  48.  
  49.  
  50.