[alt.graphics.pixutils] Image file format poll results

raveling@Unify.com (Paul Raveling) (02/13/91)

	With 108 responses, the results are in for the poll on image
	file formats.  	It shows 99 different formats in use, with GIF
	by far the most popular.

		Actually it's much more than 99:  Many summarized
		as a single format have different "subformats", such as
		PBM, PGM and PPM in the PBMPLUS set, and monochrome,
		color mapped, and 24-bit RGB in many others such as
		Sun rasterfiles.

	Beyond the counts that follow, here are some observations
	based on comments in the responses:

	--  Most respondents use several formats because they have to
	    in order to import and export images, but would prefer
	    to use only one format.

	    ..  The PBM/PGM/PPM (PBMPLUS) formats are particularly
		popular because they're used by the PBMPLUS package
		for converting between other image formats.  They're
		often, if not usually, used for intermediate files rather
		than as a "source or destination" format.

	--  Many if not most respondents are unhappy to varying degrees
	    with the formats they [have to] use.

	--  Popularity often depends a lot how long a given format
	    has been around and what platforms support it.

	--  The main (frequently unsatisfied) needs expressed are for
	    simplicity, capability, and compression.

	--  The group looking for simplicity in the file format seems
	    to be the largest.  Those looking for capability, such as
	    as gamma correction data, are present in lesser numbers but
	    are still a strong contingent.  Almost everyone wants
	    good data compression.  Many want to use image formats
	    supported well on PC's.

	    ..  At least one format, TIFF, has gets opposing reviews
		from opposite sides:  Some looking for capability think
		it's great, some looking for simplicity don't like it.

	    ..	Utah RLE is another preferred format for those looking
		for capability.

	    ..	GIF89a is prone to "too complex" opinions, and has only
		rare use at present.  Essentially all of the respondents
		using GIF are using GIF87a.

	--  The number of responses listing file formats they'd like
	    to use was fairly small, but most of the interest went to
	    JPEG, sometimes with phrasing such as  "Something with better
	    compression, mature JPEG possibly".


	**  A couple conclusions (IMHO):

	    ..	We need to define some genuine "ultimate" standards.
		It should now be feasible to define a standard
		for a simple image file format.  It's a bit early
		to define a "full capability" format, but it's not
		too early to begin seriously working toward defining
		one.

	    ..	Standards should be chosen on the basis of their
		technical and functional merit, rather than pure
		popularity.  Any emerging standard will need support
		for importing a large number of old image formats.

	    ..	Most popular formats, especially GIF87a, are
		inappropriate to adopt as is for a standard.

	    ..	For lossless data compression, I agree with those
		who like to treat this as a separate issue:  Define
		the image file format without compression, then
		compress the entire file via something such as
		the Unix "compress" utility.

	    ..  For maximum data compression, with some loss allowed,
		it may be necessary to embed compression in the file
		format.  The only serious candidate for compression
		with loss allowed at present is JPEG, and it's too
		early to judge its success.

	    ..  If ultimate standards are to be accepted, it will be
		necessary to have them supported by virtually all
		major vendors of workstations, PC's, and other image-using
		systems.  Are any established consortiums prepared
		to participate in this?

		
------------------------------------------------------------------------
	Results follow below, in descending order by frequency of
	reported use and by alphabetic order for each frequency.
------------------------------------------------------------------------

    File formats in use:

	56	GIF
	32	PBM/PGM/PPM	(PBMPLUS)
	32	TIFF
	28	Sun rasterfile
	25	Homebrew (see note at end of list)
	16	Utah RLE
	15	Postscript (including Encapsulated Postscript)
	13	XBM (X11R4 bitmap)
	11	XWD
	10	Targa (TGA)
	9	FITS
	9	SGI (Silicon Graphics format[s?])
	7	IFF (Amiga)
	7	PICT
	7	PICT2
	6	PCX (Windows)
	5	BMP (Windows)
	4	FBM
	4	GEM (.IMG)
	4	HDF
	4	HIPS
	3	ILBM (Amiga)
	3	viff
	3	MacPaint
	3	MTV "PIC"
	2	BRL-CAD (.pix, .bw formats)
	2	Group 3 FAX
	2	JPEG
	2	Pixar (pic)
	2	"Various medical formats"
	2	Xim
	1	Acorn RISC OS Sprite
	1	AIM/Wild Vision Hawk V9 512x256y 12 bit colour
	1	AIM/Wild Vision Hawk V10 files 256x256y256g
	1	Analyze (Mayo Clinic)
	1	Apollo GPR images
	1	ArVis 15 bit HIP.+LOP. sprites
	1	Atari Spectrum 512
	1	AVS Image and volume
	1	big
	1	CCIR 601 PAL/NTSC image YUV encoded
	1	CDF
	1	CGM
	1	CT2T
	1	CUT (DrHalo)
	1	CVL (Computer Vision Lab, University of Maryland)
	1	DDES
	1	Degas PI1, PI2, PI3 images
	1	dem
	1	dlg
	1	DVI (Imagen)
	1	elas
	1	Electronic Art's IFF ILBM pictures
	1	EPS
	1	FaceSaver
	1	flux (apE Ohio)
	1	GE Signa
	1	Giffer
	1	GL
	1	Group 4 FAX
	1	HPGL
	1	IFF (Sun)
	1	Img (Img Software Set)
	1	img (Interleaf)
	1	Irlam Instruments 200dpi 24bpp colour scanner
	1	IRAF
	1	IT8.4
	1	LLVS
	1	MacDraw
	1	MIDAS
	1	MILLIPEDE PRISMA 768x576y 8 bit colour images
	1	PC EGA .DSP images 640x350y16c
	1	.PIC
	1	PICIO
	1	Pineapple 16 bit per pixel image
	1	ProArtisan compressed pictures 640x256y256c
	1	QRT 24 bit .raw images
	1	RIFF
	1	RIX Softworks ColoRIX 8 bit per pixel files
	1	RT 24 bit run length coded image. files
	1	SCODL
	1	SDS
	1	Translator Clear format
	1	System 600 (International Imaging Systems)
	1	TimeStep satellite image 800x800y256g
	1	TimeStep satellite image 128x256y256g & RGB separations
	1	Universal Plane Format (extended LLVS)
	1	University of North Carolina
	1	UNIX rle format [Utah?]
	1	Versatek CMYK rasterfile
	1	VIS
	1	Vitec
	1	Watford digitiser pictures 512x256y64g & RGB separations
	1	Wavefront raster file
	1	WordPerfect WPG
	1	xfig
	1	Xgiff
	1	ZSoft .PCX files [same as "Windows" .PCX files?]
	1	4sight

    Notes:

	"Homebrew" includes 15 variants of raw raster data, 9 "own" formats
	that apparently are more elaborate, and 1 modified
	Sun rasterfile format


    File formats that respondents Would like to use or are considering using:

	9	JPEG (Often "Something with better compression, mature JPEG possibly")
	2	FITS
	2	GIF
	1	Amiga SHAM
	1	Dynamic Hi-res
	1	HDF
	1	MPEG
	1	TIFF



------------------
Paul Raveling
Raveling@Unify.com

buck@nrl-cmf.UUCP (Loren Buchanan) (02/13/91)

In article <1991Feb12.120203@Unify.com> raveling@Unify.com (Paul Raveling) writes:
>	--  Most respondents use several formats because they have to
>	    in order to import and export images, but would prefer
>	    to use only one format.

Well, actually I would like to use 4 different formats that are all in
the same family.  These would be in order of size: PostScript hex format
(without any header information), a binary version, a lossless compressed
version, and a lossy compressed version.  By family I mean that they all
have the same row-column-[rank (or whatever you want to call the third
dimension)] ordering, a minimal amount of header information (but the
header can point to external sources of info.).

>	**  A couple conclusions (IMHO):
>
>	    ..	We need to define some genuine "ultimate" standards.
>		It should now be feasible to define a standard
>		for a simple image file format.  It's a bit early
>		to define a "full capability" format, but it's not
>		too early to begin seriously working toward defining
>		one.

Well it is actually underway right now.  DIN (the German standards
organization [equivalent to ANSI, BSI, etc.] is working on defining
Image Interchange Format (IIF) which is intended to be compatible with 
the proposed Programmer's Imaging Kernal (PIK) standard (being defined
by X3H3).  X3H3 is an Accredited Standards Committee operating under
ANSI rules.

>
>	    ..	Standards should be chosen on the basis of their
>		technical and functional merit, rather than pure
>		popularity.  Any emerging standard will need support
>		for importing a large number of old image formats.

Formal standards are usually created by political action within a 
committee.  Large customers (U.S. Government, General Motors, Boeing,
etc.) can force the adoption of standards that are not always the
best.  I think I better stop here before I get on a soapbox ;-).

The following are either formal standards or are in the process of
being defined as a formal standard (ANSI and/or ISO).  The problem
with these, is that they are being defined for use with a particular
application set, not as a general purpose image file format.

>	15	Postscript (including Encapsulated Postscript)
>	13	XBM (X11R4 bitmap)
>	11	XWD
>	2	Group 3 FAX
>	2	JPEG
>	1	CCIR 601 PAL/NTSC image YUV encoded
>	1	CGM
>	1	Group 4 FAX
>	1	IT8.4

The real problem is that there are so many different kinds of applications
that images are used with, that there is no one format that will work
reasonably well with all of them.  The good news is that we are at least
ensured of employent for some time to come.

B Cing U

Buck

GUTEST8@cc1.kuleuven.ac.be (Ives Aerts) (02/14/91)

In article <1991Feb12.120203@Unify.com>, raveling@Unify.com (Paul Raveling)
says:
>   -- lots of data excluded --
>        7       IFF (Amiga)
>        3       ILBM (Amiga)
>        1       Electronic Art's IFF ILBM pictures
>        1       IFF (Sun)

These are all the same format so the votes should be counted
together. (I'm not sure about Sun IFF though, but IFF should
be the same on all computers)

>        1       Amiga SHAM

This is a display mode of the Amiga, not a graphics file format.

>
>------------------
>Paul Raveling
>Raveling@Unify.com
------------------------------------------------------------------------
      Ives Aerts           |          IBM definition SY-34378
GUTEST8@BLEKUL11.BITNET    |   A signature consists of sequences of
gutest8@cc1.kuleuven.ac.be | non-blank characters separated by blanks.
------------------------------------------------------------------------

davidsen@sixhub.UUCP (Wm E. Davidsen Jr) (02/16/91)

In article <1991Feb12.120203@Unify.com> raveling@Unify.com (Paul Raveling) writes:

| 	    ..  If ultimate standards are to be accepted, it will be
| 		necessary to have them supported by virtually all
| 		major vendors of workstations, PC's, and other image-using
| 		systems.  Are any established consortiums prepared
| 		to participate in this?

  Well, no, actually. If GIF is supported by major vendors of
workstations is news to me. If was developed for Compu$erve, and they
has PC and Mac (and maybe Amiga) viewers written for it. Better viewers,
and viewers for other machines were written by private individuals,
small companies, etc.

  PMBPLUS is based on the work of one person, augmented by the work of
many others, and as far as I know is supported by the public in general,
not any commercial companies.

  Perhaps you should develop some really good format and let the public
make it popular because it's better than all the rest. If it's good,
people will write versions for many machines. If the first
implementation is good it will port to many machines without much
effort.

  If you have a good idea it will take off unless you work hard to hold
it down. Examples are GNU software, netnews, X-windows, GIF, ZIP, etc.
There's no need at all for commercial involvement. If you have a bad
idea, the only way to make it common is to have IBM adopt it as a
standard, and *nothing* will make it popular.
-- 
bill davidsen - davidsen@sixhub.uucp (uunet!crdgw1!sixhub!davidsen)
    sysop *IX BBS and Public Access UNIX
    moderator of comp.binaries.ibm.pc and 80386 mailing list
"Stupidity, like virtue, is its own reward" -me

zap@lysator.liu.se (Zap Andersson) (02/26/91)

G'day.

The file format polling had (a lot) incorrect entries, and I will adress
one subject: Amiga (Electronic arts) IFF here.

IFF stands for Interchange File Format and is NOT (and will never be) an
image file format per se. IFF is really just a way to structure data, in
FORM's and LIST's and PROP's and all that things (like a C struct).
 
IFF dictates the structure of a file. Then certain TYPES of IFF files exist,
such as ILBM (ILBM is an IFF FORM). This can be found in the beginning of an
Amiga picture: FORM ILBM it says! (Advanced, eh?)

ILBM stands for InterLeaved Bit Map, and is an image file format supporting 
colormapped images. The format does not really dictate a bit count limit, but
it is probably in practice only up to 8 bits.

ILBM does compressin, simple run-length encoding.

Since the IFF format can include data sets (chunks) that are application-
specific by giving a four-letter word ;-) as cunk name, and the length of
the chunk (so readers that doesn't know this chunk can skip it) it can
really contain ANY data along with the picture, gamma correction, name of
author, or shoe number of authors wives lovers daughters cat's former owner.
 
IFF is defined by Electronic Arts. If you count the 'poll' list and count
together all different mentions of IFF it comes very high on the list, above
Targa, even. 

So I wonder, why is the computer industry so keen on reinventing the wheel
over and over? The IFF format is an EXCELLENT structure for files, not only
images (There are IFF's for formatted text, 8SVX (8 bit sampled sound) and
SMUS for Simple Musical Score!!) And the ILBM format is really simple and
somewhat effective (It does compress, but the code to dompress and de-compres
is really simple). Why don't we all use IFF? Could any one person answer me
that?


Just some thoughts, really...

--
* * * * * * * * * * * * * * * * *          (This rent for space)
* My signature is smaller than  * Be warned! The letter 'Z' is Copyright 1991
* yours!  - zap@lysator.liu.se  * by Zap Inc. So are the colors Red, Green and
* * * * * * * * * * * * * * * * * Greenish-yellow (Blue was taken by IBM) 

knoll@well.sf.ca.us (John Knoll) (02/28/91)

Oh, come on. "The IFF format is an EXCELLENT structure...."  I disagree
in that the image format (ILBM) really bites.

The pixel values are stored in bitplanes, so if you want to read the value
of a single pixel of an 8-bit image, you have to access 8 bytes in different
locations, mask out the bits you don't want, and assemble a real byte.

I find this kinda stupid.

kdarling@hobbes.ncsu.edu (Kevin Darling) (03/01/91)

knoll@well.sf.ca.us (John Knoll) writes:
> Oh, come on. "The IFF format is an EXCELLENT structure...."  I disagree
>in that the image format (ILBM) really bites.
> The pixel values are stored in bitplanes, so if you want to read the value
>of a single pixel of an 8-bit image, you have to access 8 bytes in different
>locations, mask out the bits you don't want, and assemble a real byte.
> I find this kinda stupid.

Actually, up until a few weeks ago, I'd have agreed.  Since then I've
been thinking about the best format for exchanging picture files, and
I must admit that a variable number of planes makes sense from the
standpoint of only transmitting what is needed.

Altho I'd be happy if even-byte counts (8/16/24 planes) instead went
as chunky <grin>.  best - kevin <kdarling@catt.ncsu.edu>

xanthian@zorch.SF-Bay.ORG (Kent Paul Dolan) (03/02/91)

In article <23390@well.sf.ca.us> knoll@well.sf.ca.us (John Knoll) writes:

> Oh, come on. "The IFF format is an EXCELLENT structure...." I disagree
> in that the image format (ILBM) really bites.

> The pixel values are stored in bitplanes, so if you want to read the
> value of a single pixel of an 8-bit image, you have to access 8 bytes
> in different locations, mask out the bits you don't want, and assemble
> a real byte.

> I find this kinda stupid.

And in turn I find your reply a bit parochial; you are talking about
_exchange_ standards, and the world is not all the eight bit deep VGA
display hardware in front of you.

ILBM != IFF.  It is merely an available encoding registered and supported
in the IFF standard.

The ILBM (InterLeaved BitMap, if memory serves) format is an excellent
choice for an _exchange_ format, since the calculations for storing and
retrieving, say, six bit deep data for an eight bit display device are
much more straightforward from individual bitplanes than the shifts and
masks that would be needed to pull that data out of a format that stored
the first four pixels in three bytes like this:

	11111122 22223333 33444444

Also, on a guess, packing with a "compress" type algorithm should be much
more effective bitplane by bitplane, than for the above mess, which
destroys runs of identical pixels by the byte embedding.

More important, though, is that IFF is a standard container for standard
encodings, and you are perfectly free to (and, more likely than not,
someone already has) define an encoding key called "PAK8" instead of
"ILBM" and store your data as eight bit pixels if that makes you happier.

Of course, if you choose so parochial an encoding, few users of
incompatible machines will bother to recognize your "PAK8" coding, but
the VGA users will still be able to use it among themselves.

The rule for an IFF "chunk" is, if a decoder/displayer doesn't recognize
the code quadbyte, it is supposed to skip the associated data and go on
to what it can handle; this is again excellent functionality in an
_exchange_ standard.

A little knowledge goes a long way in criticizing someone else's posting.

Kent, the man from xanth.
<xanthian@Zorch.SF-Bay.ORG> <xanthian@well.sf.ca.us>

nv89-nun@dront.nada.kth.se (Nicklas Ungman) (03/06/91)

In article <1991Mar2.075356.9352@zorch.SF-Bay.ORG> xanthian@zorch.SF-Bay.ORG (Kent Paul Dolan) writes:

   The ILBM (InterLeaved BitMap, if memory serves) format is an excellent
   choice for an _exchange_ format, since the calculations for storing and
   retrieving, say, six bit deep data for an eight bit display device are
   much more straightforward from individual bitplanes than the shifts and
   masks that would be needed to pull that data out of a format that stored
   the first four pixels in three bytes like this:

	   11111122 22223333 33444444

   Also, on a guess, packing with a "compress" type algorithm should be much
   more effective bitplane by bitplane, than for the above mess, which
   destroys runs of identical pixels by the byte embedding.


The problem with ILBM as an exchange format is when reading a six bit deep
image and there's no CAMG chunk, you have no idea what so ever if it's HAM,
Halfbrite or something else. You have to guess or even ASK the user !!!
I think it's really stupid to not save all information needed.

You're right that PackBits (which ILMB use) packes better on individual
bitplanes. However, if you use LZW compression it's usually better to
use bit chunks. And I think LZW does usually beat PackBits (although I
have no proof for this)


   More important, though, is that IFF is a standard container for standard
   encodings, and you are perfectly free to (and, more likely than not,
   someone already has) define an encoding key called "PAK8" instead of
   "ILBM" and store your data as eight bit pixels if that makes you happier.

   The rule for an IFF "chunk" is, if a decoder/displayer doesn't recognize
   the code quadbyte, it is supposed to skip the associated data and go on
   to what it can handle; this is again excellent functionality in an
   _exchange_ standard.


If everybody defined their own standard chunks there would no longer be any
standard chunks.


   Kent, the man from xanth.
   <xanthian@Zorch.SF-Bay.ORG> <xanthian@well.sf.ca.us>



/Nixxon

xanthian@zorch.SF-Bay.ORG (Kent Paul Dolan) (03/08/91)

Note followups!

nv89-nun@dront.nada.kth.se (Nicklas Ungman) writes:
> xanthian@zorch.SF-Bay.ORG (Kent Paul Dolan) writes:

{An ongoing conversation, talking about the IFF standard]

   More important, though, is that IFF is a standard container for standard
   encodings, and you are perfectly free to (and, more likely than not,
   someone already has) define an encoding key called "PAK8" instead of
   "ILBM" and store your data as eight bit pixels if that makes you happier.

   The rule for an IFF "chunk" is, if a decoder/displayer doesn't recognize
   the code quadbyte, it is supposed to skip the associated data and go on
   to what it can handle; this is again excellent functionality in an
   _exchange_ standard.


>If everybody defined their own standard chunks there would no longer be any
>standard chunks.

True if the story ended there, but there is a registration process so
that if the Mac people wanted to register a BHX4 container name for the
very common BinHex4.0 exchange format, they could assure that there were
no collisions with other vendors' container names, and also (optionally)
furnish a publically usable specification for that format, so that John
or Jill Programmer could write a BHX4 handler for _any_ machine to which
the encased data was of interest.

It is also permissible to register a container name for a proprietary
format. Though that dooms it as an exchange format, doing so does make
it possible for a vendor to mix the proprietary containers with other
containers in an IFF file, and know that on processing an IFF file, if
that container name is seen, it is in the vendor's proprietary format,
and the vendor provided handler should be invoked and can be invoked
safely. At least one music program did/does use such a proprietary
format.

The proof of the pudding, etc., is that the vendor/format/implementation
mix in IFF files on the Amiga (and perhaps other machines, I'm no expert
here) has been quite successful. You can build an IFF that looks like a
Chinese restaurant menu of containers, and pass the file to various
handlers, and each does all and only what it can with the encoded data.

For example, an IFF file might contain text, graphics, and picture
containers, which can be separately accessed by pagers or editors or
voice synthasizers for the text, viewers or paint programs for the
graphics, and players or synthasizers or samplers for the music,
depending on what interests the particular user, then passed off to a
kitchen sink style special purpose handler that animates the graphics,
plays the music, reads the text aloud, and scrolls the text in a "closed
caption" window, all at once.

I don't claim it is easy, merely that IFF makes it possible, and that
such usage is common on the Amiga.

Contrariwise, such complexity is not mandated for an IFF file, merely
available.

Kent, the man from xanth.
<xanthian@Zorch.SF-Bay.ORG> <xanthian@well.sf.ca.us>
--
By the way, I think the term of art is more like "hunk" than "container",
but I hope the latter is clearer to the person not associated with the IFF
standard.