Vimage Special

Großbilder und Riesenbilder

Großbilder und Riesenbilder sind zwei spezielle Bildzugriffsverfahren zur Bearbeitung sehr großer Bilder.

Großbilder

 

Großbilder verbrauchen etwa 1/8 des normalen Hauptspeicherplatzes und können bis etwa 15000 Zeilen und Spalten haben.

 

Großbildalgorithmen werden für geometrische Transformationen bereitgestellt. Diese Algorithmen arbeiten weitgehend genauso wie ihre normalen „Geschwister“.

 

Es ist aber zu beachten:

 

• Es sind nur Werte 0 … 255 möglich

• Nachkommastellen gehen verloren

• Um Hauptspeicher zu sparen, sollten alle nicht benötigten Bildregister freigegeben werden

   (Register-Schalttafel: Platz schaffen).


Riesenbilder

Riesenbilder verbrauchen nur noch etwa 1/1000 des normalen Hauptspeicherplatzes und können bis etwa 50000 Zeilen und Spalten haben.

 

Es gibt folgende Riesenbildprogramme:

 

• Bilder in Kacheln zerlegen/wieder zusammensetzen

• Bilder verkleinern/vergrößern

• Bilder mit mehreren Bändern in Einzelbänder zerlegen/wieder kombinieren

• Bildgröße ändern

• Bilder observieren/kompromittieren

• Bilder konvertieren

• Bilder verknüpfen

 

Die einzelnen Bildkacheln kann man mit den gewöhnlichen Verfahren bearbeiten. Anschließend werden die Bilder wieder zusammengesetzt.

Riesenbilder kacheln

Die Zerlegung von Riesenbildern in rechteckige Teilbildausschnitte heißt Kachelung. Kacheln sind gewöhnliche Fixbilder in Bildsätzen, die zusammen ein Riesenbild ergeben. Die Kacheln eines Riesenbildes gliedern sich vertikal in Streifen und horizontal in Zonen. Es sind bis zu 250 x 250 Kacheln möglich.

 

Die Streifen tragen die Ziffern 001, 002, 003, 004999.

 

Die Zonen werden mit Buchstaben bezeichnet, wobei das %-Zeichen der Null entspricht. So laufen die Zonen %a, %b, %c ... %x, %y, %z, a%, aa , ab, ac ... ax, ay, az, b%, ba, bb, bc ... bx, by, bz, c%, ca, cb, cc ... usw.

 

Für die Dateinamen wird hieraus unter Vorsetzung eines Unterstrichs ein Kachelsuffix gebildet. Dieser wird dem Riesenbildnamen angefügt. So bezeichnet z. B. Bild_%c012.fix die 12. Kachel in der 3. Zone des Großbildes Bild.fix.

 

Die Kacheln laufen von links oben nach rechts unten. Dadurch laufen Bildzeilen und Kachelzonen entgegengesetzt. Die unterste Zeile der untersten Zone ist die Zeile mit der Bildkoordinate x=1.

 

Nach ihrer Bearbeitung können die Kacheln wieder passgenau zu Riesenbildern zusammengesetzt werden. Das hierbei aufgebaute Riesenbild erhält den Suffix _renew an den Dateinamen angehängt. Bild_renew.fix ist also ein Riesenbild, welches aus den Kacheln des Bildes Bild.fix neu aufgebaut wurde. Achtung: Es erfolgt keine Sicherheitsabfrage, eventuell vorhandene Bilder Bild_renew.fix werden überschrieben!

 

Alle Kacheln haben immer genau die gleiche Größe. Wenn sich die Zeilenzahl (Spaltenzahl) des Riesenbildes nicht ohne Rest durch die Zonenzahl (Streifenzahl) teilen lässt, werden rechts und oben Leerpixel ergänzt. Das wiederzusammengesetzte Bild kann also etwas größer werden, als das Urbild.

 

Das „Fliesenleger-Paradoxon“: Wenn man 512 Zeilen in 28 Zonen kachelt, so ergeben sich mit 512:28=18,28, also 19 Zeilen pro Kachel. Das wiederzusammengesetzte Bild hat 19*28=532 Zeilen. Nun ist aber schon 19*27 bereits 513 und damit größer als 512. Die gesamte oberste Kachel ist folglich überflüssige Leerpixel-Ergänzung. 27 Kacheln hätten es auch getan. Hätte das Programm aber in 27 Zonen gekachelt, hätte es seine Aufgabe, 28 Kacheln zu erzeugen nicht erfüllt. Und 28 Kacheln á 18 Zeilen ergeben nur 504 Zeilen. Fazit: Vor dem Fliesen kaufen die Wand ausmessen!

Riesenbilder verkleinern

Die Verkleinerung von Riesenbildern hat grundsätzlich ein anderes Ziel als die gewöhnliche Bildverkleinerung. Hauptaufgabe ist nicht Änderung einer bestimmten Geometrie in eine andere Geometrie, sondern die Verminderung der Datenmenge.

 

Es sind ganzzahlige Verkleinerungen 2 … 20 möglich.

 

Im Gegensatz zur normalen Bildverkleinerung kann die Riesenbildverkleinerung zusätzlich ein Anti-Aliasing mit Hilfe von verschiedenen Bildfiltern vornehmen. So lassen sich kleine Details, die infolge der Verkleinerung in den Subpixelbereich gelangen, bestmöglich erhalten.

 

Es gibt vier Filtermodelle:

 

Ohne Filter (Modell=0): Alle Neupunkte werden direkt aus (lückigen) Altpunkten gewonnen. Kein Aliasing. Dünne Details können verloren gehen. Gleicher Algorithmus wie bei der (gewöhnlichen) Verkleinerung des Geometrie-Menüs.

 

Fein glättend (Modell=1): Glättung der Quellbilddaten mit 3*3-Gaußfilter vor der Verkleinerung. Optimal für Verkleinerungen von 2 bis 3.

 

Glättend (Modell=2): Glättung der Quellbilddaten mit 5*5-Gaußfilter vor der Verkleinerung. Optimal für Verkleinerungen von 4 bis 8.

 

Konzentrierend (Modell=3): Filterung der Quellbilddaten mit Restaurationsfilter 5*5 nach Meier/Schwarzbach vor der Verkleinerung. Leicht schärfesteigernd und kantenbetonend. Optimal für Verkleinerungen von 4 bis 8.  

Riesenbilder in einzelne Bänder separieren

Bänder erhalten ebenfalls Suffixe ähnlich den Kacheln. Die Einzelbänder werden mit den Suffixen nach dem Schema  _#0001,  _#0002,  _#0003 benannt, beginnend bei Band 1. So bezeichnet z. B. Bild_#0002.fix das 2. Band des Riesenbildes Bild.fix.

 

Nach ihrer Bearbeitung mit gewöhnlichen Verfahren können die Bänder wieder zu Riesenbildern zusammengesetzt werden. Das hierbei aufgebaute Riesenbild erhält den Suffix _combi an den Dateinamen angehängt. Bild_combi.fix ist also ein Riesenbild, welches aus den Einzelbändern des Bildes Bild.fix neu aufgebaut wurde.

 

Der Radiotype bleibt in den Einzelbändern für das Kombinieren erhalten.

Riesenbildgröße verändern

Die Funktion erlaubt eine Ausschnittsänderung, also Zeilen (Spalten) unten/oben (rechts/links) hinzufügen oder entfernen. Ein Resampling findet nicht statt.

Riesenbilder observieren und kompromittieren

Observieren heißt, einen Riesenbild-Steuerdatenkopf in den Akkumulator zu lesen. Dort können dann Änderungen an den Steuerdaten erfolgen. Beispielsweise kann man so ein Riesenbild mit einer Georeferenzierung versehen. Anschließend kann mit der Funktion „Riesenbild kompromittieren“ wieder in die Datei zurückgeschrieben werden. So lassen sich Steuerdaten von Bilddateien ändern, die wegen ihrer Größe nicht mehr geöffnet werden können. Anmerkung: Parameter wie Zeilenzahl, Spaltenzahl, Datentyp etc. können durch das kompromittieren nicht geändert werden.

Riesenbilder verknüpfen

Hier sind einige der Bildverknüpfungen des Arithmetikmenüs im Riesenbildmodus realisiert.

Riesenbilder konvertieren

Hier kann der Datentyp eines Bildes geändert werden. Ebenfalls ist es möglich, die Grauwerte mit einem Faktor zu multiplizieren, sowie einen Summanden zu addieren.

Weitere Suffixe

Ein weiterer Dateisuffix der Form _00000 (bis _36000 laufend) hat mit Riesenbildern nichts zu tun. Er wird im Kontext Animation von Kartennetzentwürfen vom RTA-Animator genutzt um in Bildreihen die geographische Länge in 1/100 Grad zu kennzeichnen.



Was sich hinter Großbildern und Riesenbildern verbirgt

Die gewöhnliche Art und Weise, wie Vimage auf in Fixbildern befindliche Bilddaten zugreift heißt Matrixzugriff. Im Matrixzugriff werden Fixbilddateien „als Bildmatrix“ komplett im Hauptspeicher gehalten und es wird für jeden Grauwert eine Single-Gleitkommazahl (4 Byte) gespeichert.

 

Hinter Groß- und Riesenbildern verbergen sich zwei alternative Bildzugriffsverfahren, Bytezugriff und Zeilenzugriff.

 

Großbilder bearbeiten, heißt den Bytezugriff nutzen. Die Bilder werden zwar nach wie vor komplett im Hauptspeicher gehalten, es gibt aber nur noch ein Byte pro Grauwert. Da auch noch anderweitig Speicher gespart wird, verringert sich der Speicherbedarf auf etwa 1/8. Großbilder können etwa bis 15000 Zeilen/Spalten haben.

 

Riesenbilder bearbeiten heißt, ausschließlich in Zeilenzugriff lesen und schreiben. Hier werden die Bilddateien nicht mehr komplett, sondern nur noch in einzelnen Zeilen im Hauptspeicher gehalten. Die Bilddatei wird durch ein besonderes Verfahren geöffnet und dabei an das Programm gebunden (gemountet). Bei der Bildbearbeitung kommt es zu einem zeilenweisen Datenaustausch zwischen gemounteter Bilddatei und einzelnen im Hauptspeicher gehaltenen Einzelbildzeilen. Diese Vorgänge heißen Blocken und Entblocken. So verringert sich der Speicherbedarf auf etwa 1/1000 und weniger. Nach Abschluss der Bearbeitung wird die Bilddatei dismountet.

 

Riesenbilder können praktisch bis etwa 50000 Zeilen/Spalten haben.



(Auszug aus: Vimage-Buch, 3. Aufl., Kapitel 4.6)

-SP-85-00

Zum Seitenanfang