home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Crawly Crypt Collection 2
/
crawlyvol2.bin
/
graphics
/
gvw_jpg2
/
jpeg_gvs.ger
< prev
next >
Wrap
Text File
|
1995-01-10
|
11KB
|
259 lines
Dokumentation zum GEM-View Speichermodul JPEG.GVS
"""""""""""""""""""""""""""""""""""""""""""""""""
(C) by Guido Vollbeding, Jan 10 1995
""""""""""""""""""""""""""""""""""""
Neuerungen
##########
- Code-Optimierungen im Huffman-Encoder -> effektiv etwa 10 %
Geschwindigkeitssteigerung (ein 'Abfallprodukt' entsprechender
Arbeiten am Decoder für 1stGuide :-).
- Korrektur bzgl. Sondertasten-Abfrage.
May 14 1994:
- Dialoghandling nach Load/Save korrigiert für bestimmte
altmodische Fileselektoren wie dem Original-TOS-Teil.
- Kleine Code-Optimierungen in der Farbkonvertierung.
May 12 1994:
- Erste Version.
Einleitung
##########
Hier ist es also nun endlich, das vielgewünschte JPEG-Speicher-
modul zu dem hervorragenden Shareware-Programm GEM-View (Version
3.xx) von Dieter Fiebelkorn. Da mich in letzter Zeit immer mehr
Leute immer öfter damit nervten (Hallo Dieter, Georg, Harald,
...), habe ich mal für einige Tage alles andere fallenlassen und
in intensiver Arbeit dieses Teil fertiggestellt.
Installation
############
Ungeachtet der internen Komplexität der Sache ist die Benutzung
denkbar einfach: Kopieren Sie einfach die Datei JPEG.GVS in den
GVWSAVE-Ordner Ihrer GEM-View-Installation.
Innerhalb von GEM-View können Sie nun dieses Modul wie jedes
andere auch auswählen. Beachten Sie bitte, daβ das Modul aus-
schlieβlich True-Color-Bilder verarbeitet und demzufolge nur dann
zur Verfügung steht, wenn Sie in den Speicher- und Konvertie-
rungsdialogen den TC-Button aktivieren. Mit Hilfe des GEM-View-
Konvertierungsmoduls ist es unabhängig von der Bildschirmauflö-
sung (also auch in Monochrom) möglich, True-Color-Bilder zu
wandeln.
Der Fortgang des Speicherprozesses wird im GEM-View-Protokoll-
fenster durch eine Reihe von Punkten nach dem Dateinamen ange-
zeigt. Insgesamt erscheinen 8 Punkte. Bei erfolgreicher Beendi-
gung der Speicherung wird der erreichte Komprimierungsgrad
(Verhältnis von Originalbildgröβe zur JPG-Dateigröβe) angezeigt.
Optionen
########
Wenn Sie beim Eintritt in die Speicherfunktion die Alternate-
Taste gedrückt halten, erscheint ein Dialog, wo Sie einige JPEG-
Komprimierungsparameter festlegen können.
Alternativ dazu können die Parameter auch "offline" festgelegt
werden, wenn Sie das Modul auβerhalb von GEM-View, also vom
Desktop aus, als Programm starten. Dabei erscheint haargenau der
gleiche Dialog wie als Modul in GEM-View.
Um dies zu erreichen, können sie beispielsweise das Modul in
JPEG.PRG oder JPEG.APP umbenennen. Eleganter und bequemer ist es
aber, wenn Sie in Ihre NEWDESK.INF-Datei folgende Zeile an der
angegebenen Stelle einfügen:
...
#W 00 00 06 01 34 09 00 @
#G 03 04 000 C:\1STGUIDE.ACC@ *.*@ @
#G 03 FF 000 *.AC*@ @ @
#G 03 FF 000 *.GV?@ @ @ <<--
#G 03 FF 000 *.APP@ @ @
#G 03 FF 000 *.PRG@ @ @
...
Damit ersparen Sie sich das lästige Umbenennen und können jeder-
zeit beliebige GEM-View-Module vom Desktop aus als Programm
starten.
Die bei Start als Programm vorgenommenen Änderungen haben natür-
lich nur dann eine Wirkung, wenn sie mittels des Save-Buttons
abgespeichert werden.
Die Methode des Dialogaufrufs mittels Alternate ist konsistent
mit dem in GEM-View verwendeten Verfahren beim Laden von Bildern
mit der Alternate-Taste.
Falls Ihnen dies aus irgendwelchen Gründen trotzdem nicht zusagen
sollte, besteht im Dialog die Möglichkeit, stattdessen eine
beliebige Kombination der Sondertasten Shift/Control/Alternate
als Aufrufbedingung festzulegen. Dabei bedeutet ein selektierter
Button, daβ die Taste gedrückt sein muβ, ansonsten nicht
gedrückt. Das heiβt beispielsweise, wenn Sie alle Knöpfe dese-
lektieren, daβ in diesem Fall der Dialog normalerweise IMMER
erscheint. Damit könnte man also bei Konvertierung mehrerer
Bilder für jedes einzelne bequem individuelle Parameter unmit-
telbar vor der Speicherung festlegen. Das Drücken einer beliebi-
gen Statustaste unterdrückt in diesem Fall den Dialog.
Kommen wir nun zur Beschreibung der eigentlichen Parameter:
Quality
-------
Der wichtigste Parameter ist sicherlich die Qualitätsvorgabe.
Möglich sind hier Werte zwischen 0 und 100 %. Standardmäβig ist
der Wert auf 75 % voreingestellt. Dies garantiert in den aller-
meisten Fällen einen guten Kompromiβ zwischen Bildqualität und
erreichbarer Komprimierung. Die Bildqualität kann hierbei als
sehr gut bezeichnet werden, die erreichten Komprimierungsfaktoren
liegen etwa zwischen 10:1 und 20:1, je nach Bildinhalt.
Zur Kontrolle der resultierenden Bildqualität sollten Sie das
gespeicherte Bild in einer möglichst hohen Bildschirm-Farbtiefe
(!) wieder einladen und einschätzen. Dazu können Sie entweder
GEM-View selbst verwenden, oder Anwender von 1STGUIDE können
natürlich auch dieses verwenden.
Sollte Ihnen der Bildeindruck hierbei nicht ganz zusagen, so
können Sie den Qualitätswert schrittweise solange um eine paar
Prozent anheben, bis Sie mit dem Resultat zufrieden sind. Dabei
sollten Werte über etwa 95 % vermieden werden: Die Filegröβe
steigt dramatisch, ohne einen sichtbaren Qualitätsgewinn ver-
zeichnen zu können.
Andererseits: Wenn es Ihnen mehr auf möglichst kleine Filegröβen
ankommt, können Sie den Wert bis etwa 50 % herabsetzen. Kleinere
Werte sollten Sie vermeiden, wenn das Bild nicht deutlich in
seiner Qualität beeinträchtigt werden soll.
Entropy Optimization
--------------------
Die Einschaltung dieser Option macht das resultierende File etwas
kleiner, aber die Komprimierung dauert länger und benötigt sehr
viel mehr Speicherplatz! Bildqualität und Dekomprimierungsge-
schwindigkeit werden aber NICHT beeinfluβt!
Diese Option wird zur Zeit noch nicht unterstützt, ist aber für
zukünftige Versionen geplant.
Smoothing
---------
Dieser Wert dient zur Filterung der Eingangsdaten zwecks Elimi-
nierung störenden Bildrauschens. Dies ist vor allem bei der
Komprimierung geditherter Palettenbilder sinnvoll. Hierbei ist
von vornherein die Qualität durch das sichtbare Dithering beein-
trächtigt, und auβerdem kann dadurch die JPEG-Komprimierung nicht
richtig greifen, so daβ unnötig groβe Files entstehen. Das
Smoothing (Glätten) vermindert diese nachteiligen Effekte.
Diese Option wird zur Zeit noch nicht unterstützt, da es für
reine True-Color-Bilder auch nicht nötig ist. Sollte ich mich mal
zur Unterstützung von reduzierten Palettenbildern durchringen,
wird diese Option aktivierbar.
Greyscale Output
----------------
Wird diese Option eingeschaltet, so wird ein reines Graustufen-
bild erzeugt, die Farbinformation geht also vollständig verloren.
ACHTUNG! Manche Programme können solche Files nicht einlesen! Das
ist aber eine Unzulänglichkeit dieser Programme. Vergewissern Sie
sich, wenn Sie die Files in einem bestimmten Programm verwenden
wollen, daβ dieses damit zurecht kommt. GEMVIEW und 1STGUIDE
haben damit keine Probleme!
Die resultierenden Files sind natürlich etwas kleiner und können
schneller dekodiert werden. Der (entsprechend berechnete, d.h.
nur auf die Grauwert-Information bezogene) Komprimierungsgrad ist
allerdings vergleichsweise gering (bei Q = 75 % etwa 5:1), da die
Farbkomponenten normalerweise stärker komprimiert werden können
(allein schon durch das Color-Subsampling).
Weitergabe
##########
Ich habe mich entschlossen, dieses Projekt als reine FREEWARE
herauszugeben, obwohl eine Menge Arbeit darin steckt und in
Zukunft noch investiert werden soll.
Das Paket, bestehend aus den folgenden 3 Dateien:
JPEG.GVS -> das eigentliche GEM-View-Modul, auch
startbar als PRG oder APP;
JPEG_GVS.GER -> dieser Text als deutsche Anleitung;
JPEG_GVS.ENG -> die englische Anleitung
darf also beliebig frei in vollständiger und unveränderter Form
weitergegeben werden. Jegliche kommerzielle Verbreitung (auch PD-
Versände o.ä.) ist hiervon ausdrücklich ausgeschlossen, denn es
ist nicht einzusehen, daβ jemand anders etwas verdienen soll,
wenn ich selber auch nichts damit verdiene.
Für irgendwelche Schäden übernehme ich keinerlei Haftung. Gewisse
Datenverluste sind allerdings beabsichtigt ;-). Das liegt in der
Natur der Sache. Lassen Sie also beim Einsatz groβe Sorgfalt
walten und beachten Sie obige Hinweise!
Für Anfragen, Hinweise, Kritik (konstruktive!) oder Dankesbezei-
gungen bin ich wie folgt erreichbar:
Guido Vollbeding
Turmstraβe 61
D-06110 Halle (Saale)
(Germany)
Email: Guido Vollbeding @ HAL (Mausnetz)
Bankverbindung:
Stadt- u. Saalkreissparkasse Halle
Blz.: 800 537 62
Kto.: 486 260 725
Auf Anfragen kann ich vorzugsweise nur dann reagieren, wenn sie
von registrierten 1STGUIDE-Benutzern kommen.
Es sollte sich von selbst verstehen, daβ, wer dieses Modul
einsetzt, registrierter GEMVIEW-Anwender zu sein hat!
Ach ja: Eine DSP-Unterstützung für den Falcon ist derzeit nicht
geplant. Allerdings habe ich schon viel Mühe auf die Optimierung
der Routinen 'verschwendet', ein biβchen ist aber für zukünftige
Versionen noch drin. Insbesondere der Code der DCT-Kernroutine
gefällt mir noch nicht so richtig, da lohnt es sich vor allem,
noch eine gehörige Portion Gehirnschmalz in den Assembler zu
investieren :-)...
Als Entwicklungsumgebung wird natürlich Pure-C eingesetzt (was
sonst ?).
Literatur
#########
Wer sich näher mit der Theorie hinter JPEG befassen möchte, dem
sei folgender Grundlagenartikel als Einstiegslektüre empfohlen:
Wallace, Gregory K. "The JPEG Still Picture Compression Standard"
Communications of the ACM, April 1991 (vol. 34, no. 4), pp. 30-44
Am Ende dieses Artikels findet sich auch eine weitergehende
umfassende Literaturliste.
Schluβworte
###########
Ein herzlicher Dank geht an dieser Stelle an Dieter Fiebelkorn
für die (langjährige) fruchtbare Kooperation.
Erst die Flexibilität und der Komfort von GEM-View haben es
ermöglicht, daβ nun zusammen mit dem vorliegenden Modul eine für
meine Begriffe ideale Plattform zur JPEG-Compression zur Verfü-
gung steht.
Ein weiterer Dank gebührt natürlich der Independent JPEG Group,
deren excellente Sourcen überhaupt die Basis meiner Arbeiten
bildeten, und ohne die das Thema JPEG wohl noch lange Zeit reine
Theorie geblieben wäre.
Viel Spaβ nun mit dem Modul, und möge jetzt eine Flut wunder-
schöner JPEG-Motive über uns hereinbrechen...