ross@spam.ua.oz.au (Ross Williams) (06/20/91)
PROPOSAL FOR A DATA COMPRESSION INTERFACE STANDARD
==================================================
Author : Ross Williams.
Date : 20-Jun-1991.
There are now so many data compression algorithms with so many
different characteristics, written in so many different languages, on
so many different systems that there is pressing need for a
standardized data compression algorithm interface. A standardized
interface would yield the following benefits:
* The standard interface would allow programmers to code for
generic data compression and then quickly and easily swap between
various algorithms until they find the one best suited for thir
application. Writing glue code may be trivial, but if one has to
do it twenty times, it can become prohibitively time consuming.
* A standard interface would assist those cataloging and comparing
algorithms.
* A standard interface would encourage the designers of data
compression algorithms to provide conforming implementations.
* A standard interface would make it easy for programmers to write
programs that select from a range of data compression algorithms
at run time.
As far as I know, no such standard exists and so I have devised a
standard which I propose be used in all applications of general
purpose data compression algorithms. I am posting the standard and its
justification to comp.compression in the hope that after a few rounds
of critical discussion and revision an informal standard can be
settled upon. A later date, a standards committee could become
involved.
As it stands, my standard proposal is fairly rough. I look forward to
your assistance in knocking it into shape.
Ross Williams
ross@spam.ua.oz.au
Note 1: In the past when I have posted stuff, I have often received a
barrage of email which would have been best shared with the group. For
this exercise, which will be a group discussion, I suggest a bias for
posting.
Note 2: I am choosing to post this stuff instead of referring to an
ftp site, as every time I refer to something I have put in an ftp
site, I get a barrage of mail from people without ftp access wanting
me to email them a copy. This said, the files will be available in:
Machine : sirius.itd.adelaide.edu.au [IP=129.127.40.3]
Directory : ~pub/misc/
Files: : dc_stan_spec - The proposed standard.
dc_stan_just - Justification of the standard.
cm_header.h - Child standard for C programming
language.ronald@ecl014.UUCP (Ronald van Eijck) (06/22/91)
In article <858@spam.ua.oz> ross@spam.ua.oz.au (Ross Williams) writes: >PROPOSAL FOR A DATA COMPRESSION INTERFACE STANDARD >================================================== >Author : Ross Williams. >Date : 20-Jun-1991. > >There are now so many data compression algorithms with so many >different characteristics, written in so many different languages, on >so many different systems that there is pressing need for a >standardized data compression algorithm interface. A standardized >interface would yield the following benefits: > > * The standard interface would allow programmers to code for > generic data compression and then quickly and easily swap between > various algorithms until they find the one best suited for thir > application. Writing glue code may be trivial, but if one has to > do it twenty times, it can become prohibitively time consuming. > > * A standard interface would assist those cataloging and comparing > algorithms. > > * A standard interface would encourage the designers of data > compression algorithms to provide conforming implementations. > > * A standard interface would make it easy for programmers to write > programs that select from a range of data compression algorithms > at run time. > How about this: You have a standard command 'archive' (or whatever) with a standard syntax and a standard file format. in this format the filename etc are stored and there is an idenification code for every compression scheme. Now you have shared libraries that do the actual encoding/decoding. This would be a good solution for everybody. - The user has to know only one command syntax to do his work. - Archive shells do not have to support a lot of different syntaxes. - The programmer of a future compression scheme only has to make a library with the encoding/decoding routines. Ofcourse there this standard code has to be ported to a number of platforms but since almost every archive programm is ported anyway this is not much of a problem. Identification codes have to be obtained from some central point where all the codes are registered. Just my $.02, -- +-------------------------------------------------------------------------+ | Ronald van Eijck {eunet!}hp4nl!cbmnlux!ecl014!ronald | | | | We do the impossible at once for a miracle we need a little more time | +-------------------------------------------------------------------------+