Documente online.
Zona de administrare documente. Fisierele tale
Am uitat parola x Creaza cont nou



January 31, 1993 (Go Cowboys!!!)

YUVPAK is distributed WITHOUT ANY WARRANTY; without even the implied




Fractal Image Compression

(Color Targa Version)

***** WHATS NEW? *****

1. Images are stored in 40 bits per transform... but still only 34 bits

are significant. If anybody wants to help with that... let me know.

2. All .ifs files begin with a 12 byte header. It contains info that I

wanted... but didn't want to write down. Such as compression time, rms

tolerance, and plenty of room for growth.

3. The go32 environment variable still has to be set for every program included.

4. Compression ranges between 10 and 45 to 1.

***** Introduction *****

I posted this program to let some of the folks on the net know

what's going on in the area of FRACTAL IMAGE COMPRESSION.

For references:

ftp the file /pub/inls-ucsd/fractal-2.0.tar at

This is Yuval Fisher's paper... not mine. It is in POSTSCRIPT.

If you don't have ftp access, I will be uploading this document in a short

time to local bbses.

The compression is a 2-level quadtree compression. If you read the paper

I use ranges of 8x8 and 4x4. If you don't read the paper... then you won't

know what I'm talking about, but it's not really important.

I really need to get more images to compress. If you would like something

compressed... get it to 256x256 and 24 bit color and in .TGA or .TIF format.

Sharp images with good contrast are preferred... grain kills!

If I think the image is worthy of my time... (it probably will be)

I'll be glad to post a copy somewhere.


The program YUVUNPAK.EXE performs a decompression of images

compressed using YUVPAK.EXE. (now included in this distribution)

YUVUNPAK was written in 'C', and compiled using GCC 1.09 for MSDOS systems.

The source is included, along with some sample compressed images.

(I'm a mathematician, not a 'C' programmer... I just dabble in 'C',

no hate mail, please)

The files YUVUNPAK.EXE and YUVPAK.EXE are stubbized (gcc talk). GO32.EXE

must be in the path.


YUVUNPAK.EXE and YUVPAK.EXE will run only on a 386 or higher.

A math coprocessor is really required.

I recommend at least 1 meg of memory, but it will be _slow_.

It is very fast as long as is doesn't have to page to disk.

Drivers for supported video cards are included.

You'll have to decide by the driver filename whether there is

one for your card. These come straight from GCC 1.09 distribution.

You need to set the following environment variables:

set 387=yes

set GO32=driver "your .grd driver here, no quotes" gw 640 gh 480

The program is written to display at 640x480 with 256 shades of gray.

(of course we know vga cards only display 6 bits worth)

The 640x480 will allow you to see all of the data mentioned below.

If all you can get is 320x200x256... it will run but you'll be missing


syntax is:

YUVUNPAK foo.ifs foo.tga

To decompress 'peppers.ifs':

YUVUNPAK peppers.ifs peppersc.tga (don't use a name that is already


The peppers should appear... if not, check the parameters and make sure

your GO32 variable is set to the right card.

After that the file peppersc.tga will be viewable. You will probably

have to dither it down to 256 colors to view it. I recommend PICLAB's

makepal option.

If you wish to compress your own files, they need to be 256x256 with

24 bits of color. Only .TGA is supported currently. Syntax is

YUVPAK rms infile.tga outfile.ifs (the extensions are required)

rms is a numerical value set by you. It will affect the quality

and compression time. A higher value will decrease quality

and compression time. I usually use a value of 4.

There is very little error checking, so be careful and don't walk on any

saved images.


The images are _not_ stored optimally. I'm still working on the actual

compression routines, so I'm not concerned with writing the files out

optimally just yet. My thesis doesn't have to be finished until

June 1993, so don't expect anything soon.

Each transformation uses 40 bits of storage, but only 34 bits

are significant. (I _think_ it will come down to 32 bits per

transformation with no loss of quality)

The number of transformations displayed at decompression time.

There is also a 12 byte header. The header info is for my benefit.

It does not have anything to do with the actual decompression.

Thanks to DJ Delorie who made this work possible by porting

GCC to MSDOS. Send him money:

DJ Delorie

24 Kirsten Ave

Rochester NH 03867-2954

YUVPAK 2.0 is distributed WITHOUT ANY WARRANTY; without even the implied


I can be contacted at

Copyright (C) 1993 WD Young

Document Info

Accesari: 1726
Apreciat: hand-up

Comenteaza documentul:

Nu esti inregistrat
Trebuie sa fii utilizator inregistrat pentru a putea comenta

Creaza cont nou

A fost util?

Daca documentul a fost util si crezi ca merita
sa adaugi un link catre el la tine in site

in pagina web a site-ului tau. - coduri postale, contabile, CAEN sau bancare

Politica de confidentialitate | Termenii si conditii de utilizare

Copyright Contact (SCRIGROUP Int. 2024 )