Das Graphics Interchange Format

Größe: px
Ab Seite anzeigen:

Download "Das Graphics Interchange Format"

Transkript

1 Das Graphics Interchange Format Matthias Kloppenborg 7. Mai 2008 Vorwort Dieser Artikel gibt eine allgemeine Einführung in das GIF. Im ersten Abschnitt wird auf die Geschichte des GIF eingegangen. Die Fähigkeiten von GIF werden kurz angeschnitten und in den nachfolgenden Abschnitten wird auf die Implementierungsdetails eingegangen. Im Speziellen bezieht sich dieses Dokument auf die Spezifikation 89a. Der für die Kompression verwendete LZW-Algorithmus wird ebenfalls anhand eines Beispiels erläutert. Inhaltsverzeichnis 1 Der geschichtliche Hintergrund vom GIF 2 2 Der Aufbau einer Datei nach GIF-Spezifikation 89a Der Header Die Bildschirmbeschreibung Die Farbpaletten Die Bildbeschreibung Das Zeilensprungverfahren im GIF (Abbildung 1) Die Rasterdaten Der Erweiterungsblock Erweiterung für Grafikkontrolle Erweiterung für Kommentare Erweiterung für ASCII Text Erweiterung für Anwendungen Der Lempel-Ziv-Welch-Algorithmus zur Kompression 10 4 Quellen 10 1

2 1 DER GESCHICHTLICHE HINTERGRUND VOM GIF 2 1 Der geschichtliche Hintergrund vom GIF CompuServe präsentierte im Jahre 1987 das GIF als freie und offene Spezifikation. Nicht nur die gute Komprimierung und die Fähigkeit, das Zeilensprungverfahren anwenden zu können, ließen das GIF zu einem beliebten Format im World Wide Web werden. Auch die Übertragung von Farbbildern war zur damaligen Zeit nicht Standard und mit den Neuerungen in der Spezifikation 89a vervielfältigten sich die Möglichkeiten. Als nun CompuServe das GIF und damit auch die Spezifikation 87a präsentierte, fiel es zunächst niemandem auf, dass der dort zur Komprimierung eingesetzte LZW-Algorithmus lizenzrechtlich bedenklich war. Die anfängliche Euphorie wich bald einer Phase der Verwirrung und Konfrontation. Der in GIF verwendete LZW- Algorithmus verwendete Prozeduren, die sowohl Unisys als auch IBM im Vorfeld patentiert worden waren. Im Dezember des Jahres 2004 gaben Unisys und CompuServe bekannt, dass Entwickler, die weiterhin mit den von Unisys patentierten Technologien, welche im Zusammenhang mit dem GIF-Format stehen, arbeiten wollten, von nun an Lizenzgebühren zu zahlen hatten. Diese Gebühren, die zu Beginn nur für kommerzielle Software zu zahlen waren, wurden alsbald auch auf kostenlose Software ausgeweitet. Dies war ein zu erwartender Schritt von Unisys, da die kommerziellen Hersteller nach Einführung der Gebühren Teile ihrer Software, die der Erstellung von GIF-Dateien dienten, als kostenlose Erweiterungen zur Verfügung stellten. Verwirrung entstand, da im World Wide Web das Gerücht verbreitet wurde, dass sowohl für Programme zum Erstellen als auch für Programme zum Anzeigen von GIF-Dateien Gebühren zu entrichten wären. Dies führte letztlich dazu, das CompuServe die Planung von GIF24 als freie, offene und gebührenfreie Spezifikation unterstützte, welche dann später zu Gunsten der Entwicklung von PNG verwendet werden konnte. Tatsache ist jedoch, dass Programme, welche GIF-Dateien nur auslesen, nicht von der Gebührenpflicht betroffen sind. Trotz der Entwicklung von PNG und JPEG, finden GIF-Dateien noch heute Verwendung im World Wide Web und sind beliebt durch ihre Fähigkeit zur Animation und Transparenz.

3 2 DER AUFBAU EINER DATEI NACH GIF-SPEZIFIKATION 89A 3 2 Der Aufbau einer Datei nach GIF-Spezifikation 89a Der Aufbau einer GIF-Datei nach Spezifikation 89a lässt sich anhand einer einfachen Grammatik darstellen. < GIF-Datei > := Header < logischer Bildschirm > < Daten* > GIF-Endsymbol < logischer Bildschirm> := Bildschirmbschreibung [globale Farbpalette] < Daten > := < Grafikblock > < spezieller Block > < Grafikblock > := [Erweiterung zur Grafikkontrolle] < Block zur Darstellung > < Block zur Darstellung> := < Palettengrafik > < Erweiterung zur Darstellung von ASCII Text > < Palettengrafik > := Bildbeschreibung [lokale Farbpalette] Rasterdaten < spezieller Block > := Erweiterung für Anwendungen Erweiterung für Kommentare Die mit < und > geklammerten Begriffe sind Nichtterminale. Die mit [ und ] geklammerten Begriffe sind optional. Das * bedeutet, dass dieser Block mehrfach vorkommen kann. Sind Begriffe durch getrennt, so ist dies als exklusiv oder zu verstehen. Ungeklammerte Begriffe sind Terminale und werden im Folgenden erläutert. 2.1 Der Header Anhand des Headers, welcher grade einmal sechs Byte groß ist, kann man die GIF-Datei als solche erkennen. In den ersten drei Bytes ist die sogenannte Signatur gespeichert, anhand der man erkennen kann, dass die folgenden Daten eine GIF-Datei beschreiben. Die Versionsnummer beschreibt die Spezifikation, anhand derer die Datei erstellt wurde. Es gibt zwei verschiedene Spezifikationen: 87a und 89a. Neuerungen in der Spezifikation 89a sind z.b der Farbwert für Transparenz, die Fähigkeit der Animation und die Möglichkeit zur Darstellung von ASCII-Text. Header gif 89a Die Bildschirmbeschreibung Die Bildschirmbeschreibung enthält die globalen Parameter für alle enthaltenen Rasterbilder, so zum Beispiel die Dimensionen des logische Bildschirms, Informationen über die zu verwendeten Farbpaletten, die Hintergrundfarbe des logischen Bildschirms und die Farbtiefe. Aus den ersten vier Bytes lassen sich Höhe und Breite des logischen Bildschirms auslesen. Das anschließende Byte muss bitweise interpretiert werden: Ist das erste Bit auf Eins gesetzt so existiert eine globale Farbpalette und diese folgt auf die Bildschirmbeschreibung. Bei einem Wert von Null existiert diese Farbpalette nicht. Implementierungsabhängig können lokale Farbpaletten verwendet werden oder es wird eine Farbpalette aus dem Speicher verwendet. Die folgenden drei Bits zeigen an, wie viele Bits pro Primärfarbe im Originalbild zur Verfügung standen. Zu dem gespeicherten Wert addiert man eins hinzu, um den korrekten Wert zu erhalten. Speichern diese Bits beispielsweise den Dezimalwert drei, so standen im Originalbild vier Bits pro Primärfarbe zur Verfügung um das Bild herzustellen. Das fünfte Bit gibt an, ob die globale Farbpalette sortiert ist. Die Sortierung hängt ab von der Häufigkeit der Verwendung des Farbindexes in den Rasterdaten. Je öfter der Farbindex verwendet wird,

4 2 DER AUFBAU EINER DATEI NACH GIF-SPEZIFIKATION 89A 4 desto eher findet man den Wert in der Farbpalette, wenn man diese von Null an aufsteigend durchsucht. Die letzten drei Bits zeigen an, wieviele Bits pro Pixel zur Adressierung der Farbindizes verwendet werden. Aus diesem Wert x lässt sich mit folgender Formel die Größe der Farbpalette errechnen. 2 (x+1) (1) Das nächste Byte wird als Verweis auf einen Eintrag in der Farbpalette interpretiert und gibt die Hintergrundfarbe des logischen Bildschirms an. Die Bildschirmbeschreibung endet mit einem Byte, anhand dessen Wert y man näherungsweise das Verhältnis von Pixelhöhe zu Pixelbreite im Ursprungsbild errechnen kann. Die Formel für die Berechnung der Näherung: V erhältnis = (y + 15) : 64 (2) Bei einem Wert y von 255 lautet das Ergebnis der Gleichung 4,21, das Verhältnis von Pixelbreite zu Pixelhöhe ist also 4:1. Ist der Wert von y mit 1 angegeben, so lautet das Ergebnis Das Verhältnis ist damit 1:4. Liest man an der Stelle ein Nullbyte ein, so gibt es keine Informationen zum Verhältnis. Aufbau der Bildschirmbeschreibung Breite des Bildschirms in Pixeln 2 Bytes Höhe des Bildschirms in Pixeln 2 Bytes 1 Byte Bit für Globale Farbpalette 1 Bit Bits pro Primärfarbe im Originalbild 3 Bit Bit für Sortierung der Farbpalette 1 Bit Bits pro Pixel 3 Bit Farbindex für Hintergrundfarbe 1 Byte Verhältnis von Höhe zu Breite eines Pixels 1 Byte 2.3 Die Farbpaletten Die Farben, die in einer GIF-Datei verwendet werden, werden in Farbpaletten organisiert. Es besteht sowohl die Möglichkeit eine globale Farbpaletten zu beschreiben, als auch lokale Farbpaletten für jedes einzelne Rasterbild zu definieren. Eine Farbpalette kann, egal ob lokal oder global, bis zu 256 Farben speichern. Definiert man sowohl globale als auch lokale Farbpaletten, werden die Farbeinträge der lokalen Farbpaletten verwendet. Um eine Farbe aus dem RGB-Farbraum zu beschreiben verwendet man drei Bytes, jeweils eines pro Grundfarbe. Die Indizes der Farbpalette verweisen nun direkt auf einen solchen Dreierblock von Bytes. Um einen hellen Blauton zu erhalten, wie er zum Beispiel bei der Darstellung eines Himmels genutzt werden könnte, speichert man folgende Werte. Der Aufbau der Farbpaletten Rotwert: = 104 Grünwert: = 171 Blauwert: = 204 Diese drei Werte beschreiben eine Farbe in der Farbpalette und lassen sich anschließend über einen Index adressieren. Der Index lässt sich mit nur einem Byte beschreiben, wodurch die Größe der Farbpalette auf 768 Bytes beschränkt ist.

5 2 DER AUFBAU EINER DATEI NACH GIF-SPEZIFIKATION 89A Die Bildbeschreibung Die Bildbeschreibung enthält Informationen zum einzelnen Rasterbild. GIF-Dateien können mehrere einzelne Rasterbilder enthalten, die sich zu einem Gesamtbild oder einer Animation verknüpfen lassen. Jedes Rasterbild kann zur Darstellung auf eine eigene lokale Farbpalette zugreifen, oder die globale Farbpalette verwenden. Das erste Byte der Bildschirmbeschreibung enthält ein Komma, das als Trennsymbol für die einzelnen Rasterbilder dient. Die folgenden vier Bytes geben die Koordinaten an, an denen mit der Darstellung des Rasterbildes begonnen wird. Dabei bezeichnen je zwei Bytes den linken, sowie den oberen Abstand zum Rand des in der Bildschirmbeschreibung definierten logischen Bildschirms. Die Breite, sowie die Höhe des Rasterbildes, werden ebenfalls mit je zwei Bytes angegeben. Das letzte Byte der Bildbeschreibung ist wie folgt aufgeteilt. Das erste Bit zeigt an, ob für das Rasterbild eine eigene lokale Farbpalette definiert ist, ob also nach den Bytes der Bildbeschreibung eine Farbpalette zu erwarten ist. Der Aufbau der Farbpaletten wurde im vorherigen Abschnitt bereits beschrieben. Das zweite Bit zeigt an, wie die Rasterdaten zu interpretieren sind. Ist dieses Bit gesetzt, so sind die Rasterdaten im Zeilensprungverfahren gespeichert. Ist dies nicht der Fall, so können die Rasterdaten sequentiell ausgelesen und dargestellt werden. Das dritte Bit gibt an, ob die lokale Farbpalette sortiert ist. Die folgenden zwei Bits sind laut Spezifikation reserviert und müssen mit Null belegt werden. Die letzten drei Bits geben, genau wie zuvor in der Bildschirmbeschreibung erläutert, an, wieviele Bits pro Pixel zur Adressierung der Farbindizes verwendet werden. Außerdem lässt sich mit der Formel 1, wenn vorhanden, die Größe der lokalen Farbpalette errechnen. Der Aufbau der Bildschirmbeschreibung Komma als Trennzeichen Abstand, in Pixeln, zum linken Rand des logischen Bildschirms 2 Bytes Abstand, in Pixeln, zum oberen Rand des logischen Bildschirms 2 Bytes Breite des Bildes 2 Bytes Höhe des Bildes 2 Bytes 1 Byte Bit für lokale Farbpalette 1 Bit Bit für Zeilensprungverfahren 1 Bit Bit für Sortierung 1 Bit Reserviert mit Null 2 Bits Bits pro Pixel 3 Bit Das Zeilensprungverfahren im GIF (Abbildung 1) Bei dieser speziellen Anwendung des Verfahrens wird zunächste nur jede achte, dann jede vierte, anschließend jede zweite Zeile und letztendlich die verbliebenen Zeilen in den Rasterdaten gespeichert. Beim Auslesen werden diese dann jeweils in acht-, vier-, zwei- und einfacher Höhe dargestellt. Dies ermöglicht einen schnellen Bildaufbau, der Betrachter erhält somit zu Beginn eine grobe Übersicht des Bildes, deren Auflösung sich stets verdoppelt, bis das Rasterbild vollends aufgebaut ist. 2.5 Die Rasterdaten Nachdem nun die Rahmendaten für das Rasterbild festgelegt sind, startet die Beschreibung der eigentlichen Bilddaten. Zu Beginn der Rasterdaten steht ein Byte, das die Anzahl an Bits pro Codewort ausgibt. Arbeitet man mit nur 17 Farben, so würde dieses Byte mit initialisiert, da fünf Bits zur Darstellung benötigt

6 2 DER AUFBAU EINER DATEI NACH GIF-SPEZIFIKATION 89A 6 Abbildung 1: Das Zeilensprungverfahren im GIF würden, bei 70 Farben wäre der Wert also Das nächste Byte beschreibt, wie viele Bytes in dem nun folgenden Datenblock übertragen werden. An diesem Punkt müsste man nun zeilenweise, von oben beginnend, für jedes Pixel einen Verweis auf eine Farbe aus der Farbpalette speichern. Da dies jedoch zu einer recht großen GIF-Datei führen würde, werden die Rasterdaten laut Spezifikation mit dem Lempel-Ziv-Welch- Algorithmus komprimiert. Dieser Algorithmus dient der Mustererkennung, so dass man eben nicht für jedes einzelne Pixel ein Byte übertragen muss. Für die erkannten Muster generiert der Lempel-Ziv-Welch-Kodierer eine Codetabelle. Reicht die Anzahl an Bits, die zur Übertragung genutzt werden dürfen, nicht mehr aus, so wird einfach ein weiteres Bit hinzugenommen. Dies lässt sich, wie später erläutert wird, leicht in den Dekodierungsvorgang einbauen. Die unkomprimierten Rasterdaten werden auf die so erzeugte Codetabelle abgebildet, und die erzeugte Folge von Codewörtern ersetzt die unkomprimierten Rasterdaten im GIF. Das Besondere am Lempel-Ziv-Welch-Algorithmus ist, dass die Codetabelle nicht Teil der GIF-Datei ist, sondern vom Decoder aus den komprimierten Rasterdaten erstellt werden kann. Die Anzahl an Bits, die für einen Verweis in diese Codetabelle zu Beginn benötigt werden, kann, wie bereits erwähnt, aus dem ersten Byte der Rasterdaten ausgelesen werden. Die komprimierten Rasterdaten, welche ja nun bitweise vorliegen, werden zu Byteketten verbunden und können dann als Datenblock gespeichert werden. Nachdem nun klar ist, wie groß ein Codewort ist und wie viele Bytes sich in einem Datenblock befinden, können die LZW-komprimierten Datenbytes übertragen werden. Am Ende der Rasterdaten steht als Endzeichen ein Nullbyte. Der Aufbau der Rasterdaten Die Anzahl an Bits pro Codewort zu Beginn sind abhängig von der Größe der zugeordneten Farbpalette Anzahl an Bits pro Codewort 1 Byte Anzahl an Bytes im folgenden Datenblock 1 Byte Datenblock siehe eine Zeile höher Ist ein Datenblock verarbeitet, so gibt es zwei Möglichkeiten: 0. Es folgt erneut ein Datenblock, dem natürlich wieder ein Byte zur Beschreibung der Länge des Datenblocks voransteht. 1. Endzeichen für Rasterdaten

7 2 DER AUFBAU EINER DATEI NACH GIF-SPEZIFIKATION 89A Der Erweiterungsblock Die Unterschiede zwischen der Spezifikation 87a und 89a sind nicht gravierend. Es finden sich jedoch in der Spezifikation 89a konkrete Implementierungen des in der Spezifikation 87a vorgestellten Erweiterungsblockes. Implementierte Erweiterungen sind: Erweiterung für Grafikkontrolle (vor Bildbeschreibung) Erweiterung für Kommentare Erweiterung für ASCII-Text Erweiterung für Anwendungen Erweiterung für Grafikkontrolle Der Erweiterungsblock für die Grafikkontrolle ermöglicht zum Beispiel das Erstellen von Animationen. Das erste Byte enthält, wie bei jeder Erweiterung, die Bits zur Darstellung eines Ausrufezeichens. Um die Erweiterung als Grafikkontrolle zu identifizieren, enthält das nächste Byte den Dezimalwert 249. Das dritte Byte beschreibt die Anzahl an Bytes bis zum Endzeichen. Das folgende Byte wird bitweise betrachtet: Laut Spezifikation sind die ersten drei Bits reserviert und standardmäßig mit Null zu belegen. Die folgenden drei Bits zeigen an, wie mit dem folgenden Rasterbild, beziehungsweise mit dem folgenden ASCII-Text Erweiterungsblock, zu verfahren ist, nachdem die Anzeige stattgefunden hat. Die vordefinierten Werte und ihre Bedeutung werden im Folgenden dargestellt. Nachdem der folgende Block ausgelesen und angezeigt wurde, 0. muss der Decoder nicht reagieren. 1. wird die Anzeige belassen wie sie ist. 2. werden die Pixel des logischen Bildschirms, die zur Anzeige benutzt wurden, wieder auf die Hintergrundfarbe gesetzt. 3. werden die Pixel des logischen Bildschirms, die zur Anzeige benutzt wurden, auf den Wert vor der Anzeige des Blocks gesetzt. Die übrigen Belegungen der drei Bits sind nicht definiert. Das folgende Bit zeigt an, ob während der Anzeige des Bildes eine Eingabe durch den Nutzer erwartet wird. Wie diese Eingabe auszusehen hat, ist abhängig von der Implementierung der Anwendungsprogramme, die mit der GIF-Datei arbeiten wollen. Ist dieses Bit gesetzt, so wartet das Programm bis zum Ablauf der Verzögerungszeit auf Eingaben vom Benutzer und fährt danach fort mit der Verarbeitung weiterer Datenblöcke der GIF-Datei. Es wird empfohlen, dass wenn dieses Bit gesetzt ist, auch eine Verzögerungszeit angegeben wird. Das letzte Bit gibt an, ob im Grafikkontrollblock der Index für die Transparenz gesetzt ist. Im fünften und sechsten Byte, ist der Wert für die Verzögerungszeit gespeichert. Der enthaltene Wert beschreibt die Verzögerungszeit in Hundertstel einer Sekunde. Ist das Bit für Eingaben durch den Benutzer nicht gesetzt, so wird für die Dauer der Verzögerunszeit gewartet, bevor mit der Verarbeitung der folgenden Blöcke begonnen wird. Das vorletzte Byte der Erweiterung zur Grafikkontrolle gibt den Index des transparenten Farbwertes an. Der Abschluss des Erweiterungsblockes ist am letzten Byte zu erkennen, welches den Wert Null speichert. Der Aufbau der Erweiterung zur Grafikkontrolle Allgemeines Startsymbol für Erweiterungen Symbol zur Identifizierung als Erweiterung zur Grafikkontrolle

8 2 DER AUFBAU EINER DATEI NACH GIF-SPEZIFIKATION 89A 8 Anzahl an Bytes bis zum Endzeichen Byte Reserviert mit Null 3 Bits Verfahren nach Anzeige 3 Bits Nutzereingaben 1 Bit Transparenz-Bit1 Bit Verzögerungszeit 2 Bytes Index für die tranparente Farbe 1 Byte Endsymbol Erweiterung für Kommentare In dem Erweiterungsblock für Kommentare lassen sich Metainformationen zur GIF-Datei abspeichern, wie zum Beispiel eine Beschreibung des Inhaltes oder den Namen des Urhebers. Die Erweiterung beginnt mit dem Startsymbol, zur Identifizierung dient wieder das zweite Bit, das den dezimalen Wert 254 speichert. Anschließend können beliebig viele Datenblöcke folgen, denen ein Byte voransteht, das die Anzahl an Bytes im Datenblock angibt. Der Aufbau der Erweiterung für Kommentare Allgemeines Startsymbol für Erweiterungen Symbol zur Identifizierung als Erweiterung für Kommentare Anzahl an Bytes im folgenden Datenblock 1 Byte Datenblock siehe eine Zeile höher Endsymbol Erweiterung für ASCII Text Die Darstellung von Text wird durch diese Erweiterung extrem vereinfacht. Da eine solche Erweiterung in der Spezifikation 87a nicht angedacht war, müssen viele Parameter in diesen Block integriert werden. Das Startsymbol ist wie bei jeder Erweiterung der dezimale Wert 33. Das identifizierende Byte speichert den Dezimalwert 1. Das folgende Byte gibt die Anzahl an Bytes an, die zur Parametrisierung der eigentlichen ASCII-Daten dienen. Dieser Wert ist fest angegeben mit 12 Bytes. Die nächsten Bytes beschreiben die Maße des Gitters, in dem der Text dargestellt wird, linker und rechter Abstand zum Rand des logischen Bildschirms (je zwei Bytes), sowie Breite und Höhe des Gitters in Pixeln (je zwei Bytes). Um nun herausfinden zu können, wieviel Text gespeichert werden kann, benötigt man noch Breite und Höhe der Buchstaben (je 1 Byte). Zur Verwendung des Erweiterungsblocks für Text benötigt man eine globale Farbpalette, denn die folgenden zwei Bytes beschreiben Text- und Hintergrundfarbe und enthalten Verweise auf Einträge in die globale Farbpalette. Nachdem nun alle Parameter angegeben sind, folgen die Datenblöcke mit den eigentlichen ASCII-Kodierungen, denen jeweils ein Byte vorangeht, welches die Länge des Datenblocks angibt. Beendet wird auch diese Erweiterung mit einem Nullbyte.

9 2 DER AUFBAU EINER DATEI NACH GIF-SPEZIFIKATION 89A 9 Der Aufbau der Erweiterung für ASCII-Text Allgemeines Startsymbol für Erweiterungen Symbol zur Identifizierung als Erweiterung zur Darstellung von ASCII-Text Anzahl an Bytes der zur Darstellung benötigten Parameter Linker Startpunkt des Gitters, in dem der Text dargestellt wird 2 Bytes Oberer Startpunkt des Gitters, in dem der Text dargestellt wird 2 Bytes Breite des Gitters, in dem der Text dargestellt wird 2 Bytes Höhe des Giters, in dem der Text dargestellt wird 2 Bytes Breite eines Buchstabens 1 Byte Höhe eines Buchstabens 1 Byte Textfarbe 1 Byte Hintergrundfarbe 1 Byte Anzahl an Bytes im folgenden Datenblock 1 Byte Datenblock siehe eine Zeile höher Endsymbol Erweiterung für Anwendungen Die Erweiterungen für Anwendungen dienen zum Beispiel der Darstellung von Endlosschleifen, wie sie oft im Internet zu finden sind. Das erste Byte beschreibt das allgemeine Startymbol für Erweiterungen. Durch den Wert des folgenden Bytes, Dezimalwert 255, ist die Erweiterung für Anwendungen zu erkennen. Die nächsten acht Bytes speichern ASCII-codierte Buchstaben, die sich zur Ausgabe in den Programmen verwenden lassen. Anhand eines Algorithmus können die Anwendungen einen 24-stelligen Binärschlüssel generieren, anhand dessen sich das Programm authentifizieren lässt. Dieser wird in die folgenden drei Bits geschrieben. Es folgen die Blöcke mit den eigentlichen Anwendungsdaten, denen jeweils ein Byte vorangeht, das die Länge des Datenblocks beschreibt. Letztendlich folgt das Nullbyte. Aufbau der Erweiterung für Anwendungen Allgemeines Startsymbol für Erweiterungen Symbol zur Identifizierung als Erweiterungsblock für Anwendungen Anzahl an Bytes der für die Anwendung benötigten Parameter Bytes zur Identifizierung der Anwendung 8 Bytes Bytes zur Authentifikation der Anwendung 3 Bytes Anzahl an Bytes im folgenden Datenblock 1 Byte Datenblock siehe eine Zeile höher Endsymbol

10 3 DER LEMPEL-ZIV-WELCH-ALGORITHMUS ZUR KOMPRESSION 10 3 Der Lempel-Ziv-Welch-Algorithmus zur Kompression Der LZW-Algorithmus wurde 1984 von Terry A. Welch in der Arbeit A technique for high-performance data compression vorgestellt. Ein Nachteil des Algorithmus ist, das die Symbole immer so groß sind wie der Tabellenindex, das bedeutet, dass uncodierte Symbole mehr Bits benötigen als ursprünglich. Der Algorithmus war einfach und gut dokumentiert und wurde zu einer berühmten Technik um Daten zu komprimieren. So wird LZW nicht nur im GIF, sondern auch in der TIFF-Spezifikation erwähnt, sowie in verschiedenen Komprimierungsprogrammen. Die Funktionsweise des Algorithmus, wie er bei der Erstellung von GIF-Dateien benutzt wird, wird im Folgenden dargestellt. Es wird angenommen, es existiert eine Farbpalette, deren enthaltene Farben mit den Indizes Null und Eins angesprochen werden können. Die Codetabelle wird zu Beginn mit den Werten für die Indizes gefüllt. Zusätzlich erstellt man zwei neue Einträge. Zum Einen einen Code, mit dem die Codetabelle gelöscht werden kann, zum Anderen einen Code, der das Ende der LZW-Daten bedeutet. Diese Codetabelle füllt man nun weiter mit Mustern, die man beim Einlesen der Farbwerte für ein Rasterbild erhält. Dazu liest man die Rasterdaten ein und versucht die gelesenen Werte durch Zeichen in der Codetabelle zu ersetzen. Findet man ein Muster aus dem Eingabestrom in der Symboltabelle, so schreibt man den zugehörigen Code in die komprimierten Daten, und erstellt einen neuen Eintrag in der Codetabelle für dieses Muster, inklusive dem nachfolgenden Zeichen. Ein Beispiel: Eingabe Erkannt Geschrieben Neues Codewort <4> <5> <5> 000<6> <7> <4> 101<8> Wie zu erkennen ist, lassen sich somit mehrere Zeichen mit einer Anzahl an Bits beschreiben, die man für gewöhnlich für nur ein Zeichen verwendet hätte. Den komprimierten Datenstrom zu dekomprimieren erweist sich als schwierig. Schaut man sich Beispiele zur Dekompression im World Wide Web an, so werden diese entweder anhand von unkomprimierten oder anhand von ausgesuchten Daten dargestellt. Nimmt man jedoch ein eigenes einfaches Beispiel, so führt dies zu Problemen, wie in der folgenden Tabelle zu erkennen ist. Eingabe Erster Buchstabe Geschrieben Neues Codewort 10< 5 >0< 4 > < 5 >0< 4 > < 4 > < 5 >0< 4 >1??? Der Dekomprimierungsvorgang bricht an dieser Stelle ohne Erfolg ab, da kein geeignetes Zeichen in der Codetabelle gefunden werden kann. 4 Quellen Alle Informationen stammen von folgende Websites und wurden frei vom Englischen ins Deutsche übersetzt technique for.pdf

11 4 QUELLEN

Digitale Bilddateien

Digitale Bilddateien ARBEITSBLATT 1 Digitale Bilddateien Gängige Bildformate und deren Speicherbedarf Unkomprimierte Bilddateien Öffnen Sie in Photopaint die Datei beauty.tga! Beauty.tga ein virtueller Männertraum, generiert

Mehr

Bildbearbeitung: Grafikformate II und Farbmodelle

Bildbearbeitung: Grafikformate II und Farbmodelle Michael Gieding Bildbearbeitung: Grafikformate II und Farbmodelle Folien zur gleichnamigen Lehrveranstaltung PH-Heidelberg, Sommersemester 2004 Wiederholung Folie 1: Speicherplatzberechnungen Grafikformate

Mehr

Digital Imaging Einführung

Digital Imaging Einführung Tutorium Digital Imaging Einführung 7./14. Juli 2004 Martin Stricker martin.stricker@rz.hu-berlin.de Bilder bestehen aus Pixeln Die Maße eines Bildes bestimmen sich aus Breite x Höhe in Pixeln (Auflösung)

Mehr

10%, 7,57 kb 20%, 5,3 kb 30%, 4,33 kb 40%, 3,71 kb 50%, 3,34 kb. 60%, 2,97 kb 70%, 2,59 kb 80%, 2,15 kb 90%, 1,62 kb 99%, 1,09 kb

10%, 7,57 kb 20%, 5,3 kb 30%, 4,33 kb 40%, 3,71 kb 50%, 3,34 kb. 60%, 2,97 kb 70%, 2,59 kb 80%, 2,15 kb 90%, 1,62 kb 99%, 1,09 kb Die Komprimierung: Die Abkürzung JPG (oder auch JPEG) steht für "Joint Photographic Experts Group". Dieses Bildformat ist nach der Expertengruppe, die es erfunden hat, benannt. Die Komprimierung empfiehlt

Mehr

Universität Trier. Fachbereich IV. Wintersemester 2004/2005. Wavelets made easy. Kapitel 2 Mehrdimensionale Wavelets und Anwendungen

Universität Trier. Fachbereich IV. Wintersemester 2004/2005. Wavelets made easy. Kapitel 2 Mehrdimensionale Wavelets und Anwendungen Universität Trier Fachbereich IV Wintersemester 2004/2005 Wavelets made easy Kapitel 2 Mehrdimensionale Wavelets und Anwendungen Thomas Queckbörner 16.11.2004 Übersicht des Kapitels: 1. Einführung 2. Zweidimensionale

Mehr

2. Digitale Codierung und Übertragung

2. Digitale Codierung und Übertragung 2. Digitale Codierung und Übertragung 2.1 Informationstheoretische Grundlagen 2.2 Verlustfreie universelle Kompression 2.3 Digitalisierung, Digitale Medien Ludwig-Maximilians-Universität München, Medieninformatik,

Mehr

Dynamisches Huffman-Verfahren

Dynamisches Huffman-Verfahren Dynamisches Huffman-Verfahren - Adaptive Huffman Coding - von Michael Brückner 1. Einleitung 2. Der Huffman-Algorithmus 3. Übergang zu einem dynamischen Verfahren 4. Der FGK-Algorithmus 5. Überblick über

Mehr

Beschreibung GNU Image Manipulation Program. Eine Bilddatei mit GIMP speichern

Beschreibung GNU Image Manipulation Program. Eine Bilddatei mit GIMP speichern Beschreibung GNU Image Manipulation Program Teil 007 Eine Bilddatei mit GIMP speichern Ein Bild, das Sie zur Bearbeitung geöffnet haben, sollten Sie zunächst unter einem anderen Dateinamen in einer neuen

Mehr

16. März Kommunikation der Universität Basel. Das digitale Bild. Bildaufbau Bildformate. Matthias Geering, Sprache & Kommunikation 1

16. März Kommunikation der Universität Basel. Das digitale Bild. Bildaufbau Bildformate. Matthias Geering, Sprache & Kommunikation 1 16. März 2017 Kommunikation der Universität Basel Das digitale Bild Bildaufbau Bildformate Matthias Geering, Sprache & Kommunikation 1 Der Aufbau des digitalen Bildes Matthias Geering, Sprache & Kommunikation

Mehr

DIGITALISIERUNG VON BILDERN. Ivana

DIGITALISIERUNG VON BILDERN. Ivana DIGITALISIERUNG VON BILDERN Ivana WAS IST DIGITALISIERUNG? Begriff aus dem Lateinischen Überprüfung analoger Größen diskrete Werte Produkt = Digitalisat Analoge Speicherung von Informationen auf digitalen

Mehr

Aufgabe 2 -Grafische Messwertdarstellung. Labor Mikrocontroller mit NUC130. Prof. Dr.-Ing. F. Kesel Dipl.-Ing. (FH) J.Hampel Dipl.-Ing. (FH) A.

Aufgabe 2 -Grafische Messwertdarstellung. Labor Mikrocontroller mit NUC130. Prof. Dr.-Ing. F. Kesel Dipl.-Ing. (FH) J.Hampel Dipl.-Ing. (FH) A. Aufgabe 2 -Grafische Messwertdarstellung Labor Mikrocontroller mit NUC130 Prof. Dr.-Ing. F. Kesel Dipl.-Ing. (FH) J.Hampel Dipl.-Ing. (FH) A. Reber 22.10.2014 Inhalt 1 Einführung und Grundlagen... 2 1.1

Mehr

Komprimieren von Bildern

Komprimieren von Bildern Komprimieren von Bildern Weshalb komprimiert man Bilder? Internet-Browser können lediglich eine begrenzte Zahl von Bilddateien lesen: Dies sind die Formate.gif,.jpg und.png. Man kann Bilder jedoch in einer

Mehr

Digitale Bildverarbeitung (DBV)

Digitale Bildverarbeitung (DBV) Digitale Bildverarbeitung (DBV) Prof. Dr. Ing. Heinz Jürgen Przybilla Labor für Photogrammetrie Email: heinz juergen.przybilla@hs bochum.de Tel. 0234 32 10517 Sprechstunde: Montags 13 14 Uhr und nach Vereinbarung

Mehr

Kompressionsverfahren für Texte

Kompressionsverfahren für Texte Kompressionsverfahren für Texte Prof. Dr. S. Albers Prof. Dr. Th. Ottmann 1 Zeichenkettenverarbeitung Suche in Texten, Textindizes Mustererkennung (Pattern-Matching) Verschlüsseln Komprimiern Analysieren

Mehr

Eine verlustbehaftete Komprimierung ist es, wenn wir einige Kleidungsstücke zu

Eine verlustbehaftete Komprimierung ist es, wenn wir einige Kleidungsstücke zu Komprimierungen In Netzwerken müssen viele Daten transportiert werden. Dies geht natürlich schneller, wenn die Datenmengen klein sind. Um dies erreichen zu können werden die Daten komprimiert. Das heisst,

Mehr

16 - Kompressionsverfahren für Texte

16 - Kompressionsverfahren für Texte 16 - Kompressionsverfahren für Texte Prof. Dr. S. Albers Kompressionsverfahren für Texte Verlustfreie Kompression Original kann perfekt rekonstruiert werden Beispiele: Huffman Code, Lauflängencodierung,

Mehr

Funktionen in JavaScript

Funktionen in JavaScript Funktionen in JavaScript Eine Funktion enthält gebündelten Code, der sich in dieser Form wiederverwenden lässt. Mithilfe von Funktionen kann man denselben Code von mehreren Stellen des Programms aus aufrufen.

Mehr

Bildgrösse Millionen Farben. Breite in Pixel Höhe in Pixel Farbtiefe in Bit : 8 = Bildgrösse in Byte

Bildgrösse Millionen Farben. Breite in Pixel Höhe in Pixel Farbtiefe in Bit : 8 = Bildgrösse in Byte Inhaltsverzeichnis Bildgrösse... 1 Bildformate... 2 Scannen... 3 Grösse ändern... 3 Freistellen... 4 Rotieren... 4 Farben anpassen... 4 Kopieren / Einfügen... 5 Zusammenarbeit mit anderen Programmen...

Mehr

Schnelle Ladezeiten sind das A & O für eine gelungene Website

Schnelle Ladezeiten sind das A & O für eine gelungene Website Schnelle Ladezeiten sind das A & O für eine gelungene Website Der Klick weg von einer Website ist eben das: bloß ein Klick entfernt. Und wer die Geduld seiner Besucher auf die Probe stellt, der riskiert

Mehr

Digitale Bilder. Ein Referat von Jacqueline Schäfer und Lea Pohl Am

Digitale Bilder. Ein Referat von Jacqueline Schäfer und Lea Pohl Am Digitale Bilder Ein Referat von Jacqueline Schäfer und Lea Pohl Am 06.05.2015 Inhaltsverzeichnis Einheiten Grafiktypen Bildformate Farbtiefe Farbbilder/ Farbräume Quellen Einführung in die Bildverarbeitung

Mehr

Übung zur Vorlesung. Digitale Medien. Vorlesung: Heinrich Hußmann Übung: Renate Häuslschmid, Hanna Schneider

Übung zur Vorlesung. Digitale Medien. Vorlesung: Heinrich Hußmann Übung: Renate Häuslschmid, Hanna Schneider Übung zur Vorlesung Digitale Medien Vorlesung: Heinrich Hußmann Übung: Renate Häuslschmid, Hanna Schneider Wintersemester 2015/16 Wiederholung: LZW-Komprimierung Idee: Nicht einzelne Zeichen werden günstig

Mehr

Algorithmus zur komprimierten Übertragung von Textdaten an mobile Endgeräte

Algorithmus zur komprimierten Übertragung von Textdaten an mobile Endgeräte Fachhochschule Wedel Seminararbeit Algorithmus zur komprimierten Übertragung von Textdaten an mobile Endgeräte Sven Reinck 7. Januar 2007 Inhaltsverzeichnis Inhaltsverzeichnis Motivation 2 Wörterbuch 2.

Mehr

Digitale Medien. Übung zur Vorlesung. Vorlesung: Heinrich Hußmann Übung: Renate Häuslschmid

Digitale Medien. Übung zur Vorlesung. Vorlesung: Heinrich Hußmann Übung: Renate Häuslschmid Übung zur Vorlesung Digitale Medien Vorlesung: Heinrich Hußmann Übung: Renate Häuslschmid Wintersemester 2016/17 Häufige Fehler beim Blatt 2 1 c) -> nicht erfüllte Fano-Bedingung bei dem Code 2 a) -> falscher

Mehr

Kennen, können, beherrschen lernen was gebraucht wird

Kennen, können, beherrschen lernen was gebraucht wird Inhaltsverzeichnis Inhaltsverzeichnis... 1 Einbinden von Grafiken... 2 Grafiken in den Text einbinden... 2 Grafikverweise... 2 Verweise auf Bilder in Unterverzeichnissen... 2 Verweise auf Bilder im darüber

Mehr

Datenkompression. 1 Allgemeines. 2 Verlustlose Kompression. Holger Rauhut

Datenkompression. 1 Allgemeines. 2 Verlustlose Kompression. Holger Rauhut Datenkompression Holger Rauhut 1. September 2010 Skript für die Schülerwoche 2010, 8.-11.9.2010 Hausdorff Center for Mathematics, Bonn 1 Allgemeines Datenkompression hat zum Ziel, Daten in digitaler Form,

Mehr

Klausur Digitale Medien

Klausur Digitale Medien Klausur Digitale Medien Sommersemester 2003 LMU München LFE Medieninformatik Prof. H. Hußmann Dauer: 90 Minuten Auf jedes Blatt sind Name und Matrikelnummer einzutragen! Blätter ohne Namen oder ohne Matrikelnummer

Mehr

Bilder im BMP Format (1)

Bilder im BMP Format (1) Bilder im BMP Format (1) Eines der ältesten Bildformate ist das so genannte Bitmap Format. Entsprechende Dateien werden mit der Endung bmp gekennzeichnet. Wesentliche Eigenschaften von BMP Bildern sind:

Mehr

1.Workshop Kamera Einstellungen, Basiswissen Lightroom.

1.Workshop Kamera Einstellungen, Basiswissen Lightroom. 1.Workshop Kamera Einstellungen, Basiswissen Lightroom. 10.02.2017 Workshop 2017 www.fototeam-mattigtal.at 1 Workshop 2017 www.fototeam-mattigtal.at 2 Fotos von SD Karte laden und Ordner anlegen Ordner

Mehr

Probeklausur Digitale Medien

Probeklausur Digitale Medien Probeklausur Digitale Medien Wintersemester 2007 / 2008 LMU München LFE Medieninformatik Prof. H. Hußmann Dauer: 90 Minuten Zugelassene Hilfsmittel: Unterlagen zur Vorlesung und Übung Digitale Medien,

Mehr

Abbildtreue und Kompression gescannter Dokumente bei PDF/A

Abbildtreue und Kompression gescannter Dokumente bei PDF/A Abbildtreue und Kompression gescannter Dokumente bei PDF/A Empfehlungen geeigneter Einstellungen Datum: 29.11.2013 Autor: Axel Rehse Thomas Zellmann LuraTech Imaging GmbH LuraTech Europe GmbH Inhalt Einleitung...

Mehr

Geschichte Eigenschaften von PNG Bits n Bytes Verfahren zur Kompression/Dekompression Fazit (Vorteile,Nachteile) Das PNG-Dateiformat

Geschichte Eigenschaften von PNG Bits n Bytes Verfahren zur Kompression/Dekompression Fazit (Vorteile,Nachteile) Das PNG-Dateiformat ralf.treu@informatik.uni-oldenburg.de 1. April 2008 Inhalt 1 Geschichte 2 Eigenschaften von PNG 3 Bits n Bytes 4 Verfahren zur Kompression/Dekompression 5 Fazit (Vorteile,Nachteile) Die Vor-Geschichte

Mehr

5. Licht, Farbe und Bilder

5. Licht, Farbe und Bilder 5. Licht, Farbe und Bilder 5.1 Licht und Farbe: Physikalische und physiologische Aspekte 5.2 Farbmodelle 5.3 Raster-Bilddatenformate Grundbegriffe für Bildspeicherung und -Bearbeitung Bitmap-Formate Verlustfrei

Mehr

Funktionen in JavaScript

Funktionen in JavaScript Funktionen in JavaScript Eine Funktion enthält gebündelten Code, der sich in dieser Form wiederverwenden lässt. Es können ganze Programmteile aufgenommen werden. Mithilfe von Funktionen kann man denselben

Mehr

Automatische Ballerkennung

Automatische Ballerkennung 7. Juli 2008 1 Grundlegende Vorgehensweise 2 Einführung VCAM von Mikrotron profil kann geladen werden, Bilder werden angezeigt und können gespeichert werden VCAM von Mikrotron profil kann geladen werden,

Mehr

Grafikformate. Grafikformate. Digitale Bildverarbeitung Bildkompression

Grafikformate. Grafikformate. Digitale Bildverarbeitung Bildkompression Digitale Bildverarbeitung Bildkompression Einleitung Datenmenge für ein unkomprimiertes Bild Verwendungszweck des Bildes Bild soll weiterverarbeitet werden Bild soll archiviert werden Bild soll per E-Mail

Mehr

Bilddateien. Für die Speicherung von Bilddaten existieren zwei grundsätzlich unterschiedliche Verfahren. Bilder können als

Bilddateien. Für die Speicherung von Bilddaten existieren zwei grundsätzlich unterschiedliche Verfahren. Bilder können als Computerdateien Alle Dateien auf dem Computer, egal ob nun Zeichen (Text), Bilder, Töne, Filme etc abgespeichert wurden, enthalten nur eine Folge von Binärdaten, also Nullen und Einsen. Damit die eigentliche

Mehr

Grundlagen von Rasterdaten

Grundlagen von Rasterdaten LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS DATABASE Kapitel 7: Grundlagen von Rasterdaten Skript zur Vorlesung Geo-Informationssysteme Wintersemester 2014/15 Ludwig-Maximilians-Universität

Mehr

Strings. Daten aus Dateien einlesen und in Dateien speichern.

Strings. Daten aus Dateien einlesen und in Dateien speichern. Strings. Daten aus Dateien einlesen und in Dateien speichern. Strings Ein String ist eine Zeichenkette, welche von MATLAB nicht als Programmcode interpretiert wird. Der Ausdruck 'a' ist ein String bestehend

Mehr

6. Komprimierung. (Text)komprimierung ist ein Wechsel der Repräsentation von Daten, so daß sie weniger

6. Komprimierung. (Text)komprimierung ist ein Wechsel der Repräsentation von Daten, so daß sie weniger Komprimierung 6. Komprimierung (Text)komprimierung ist ein Wechsel der Repräsentation von Daten, so daß sie weniger Platz brauchen Motivation: beschleunigt Plattenzugriffe oder Datenübertragungen Voraussetzung:

Mehr

Textkompression. Komprimierung von Daten. Runlength Komprimierung (2) Runlength Komprimierung (1) Herkömmliche Kodierung. Runlength Komprimierung (3)

Textkompression. Komprimierung von Daten. Runlength Komprimierung (2) Runlength Komprimierung (1) Herkömmliche Kodierung. Runlength Komprimierung (3) Komprimierung von Daten Textkompression Effiziente Algorithmen VU 2.0 WS 2008/09 Bin Hu Ziel: Platz und Zeit sparen Kompression durch - Effiziente Kodierung - Verminderung der Redundanzen (verlustfrei)

Mehr

Name: «Nachname», «Vorname»

Name: «Nachname», «Vorname» Klausur in 12.1 Themen: Textverarbeitung, Tabellenkalkulation, Grafikformate, Geschichte der Informatik, Zahlsysteme (Bearbeitungszeit: 90 Minuten) Name: «Nachname», «Vorname» 2 VP 8 VP 0 Speichern Sie

Mehr

Medienarchitektur AVI. ein Vortrag von Christian Beugel

Medienarchitektur AVI. ein Vortrag von Christian Beugel Medienarchitektur AVI ein Vortrag von Christian Beugel Agenda Einführung Geschichte Aufbau Anwendung Vor- und Nachteile Perspektive Zusammenfassung Quellen Einführung AVI steht für Audio Video Interleaved

Mehr

JPEG - Kompression. Steffen Grunwald, Christiane Schmidt, Stephan Weck TIT01EGR BA-Mannheim 21. Mai 2002

JPEG - Kompression. Steffen Grunwald, Christiane Schmidt, Stephan Weck TIT01EGR BA-Mannheim 21. Mai 2002 JPEG - Kompression Steffen Grunwald, Christiane Schmidt, Stephan Weck TIT01EGR BA-Mannheim 21. Mai 2002 Inhaltsverzeichnis 1 Entwicklung von JPEG 2 1.1 Was heisst und was ist JPEG?................... 2

Mehr

Datenbanken und Informationssysteme. Bildbearbeitung. DI (FH) Levent Öztürk

Datenbanken und Informationssysteme. Bildbearbeitung. DI (FH) Levent Öztürk Datenbanken und Informationssysteme DBI2 Bildbearbeitung DI (FH) Levent Öztürk Inhalt GIMP Vektorgrafik, Pixelgrafik Pixel, Punkt und co. Dpi, ppi Komprimierung Grafikformate BMP JPG GIF PNG TIFF Übungen

Mehr

Malen nach Zahlen - Bilddarstellung

Malen nach Zahlen - Bilddarstellung Übung 2 Malen nach Zahlen - Bilddarstellung Zusammenfassung Computer speichern Bilder, Fotos und Zeichnungen nur mithilfe von Zahlen. In dieser Übung wird veranschaulicht, wie Computer das eigentlich machen.

Mehr

Algorithmen und Datenstrukturen 2

Algorithmen und Datenstrukturen 2 Algorithmen und Datenstrukturen 2 Sommersemester 2006 6. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik studla@bioinf.uni-leipzig.de Datenkomprimierung Bei den meisten bisher betrachteten

Mehr

Kennen, können, beherrschen lernen was gebraucht wird

Kennen, können, beherrschen lernen was gebraucht wird Inhaltsverzeichnis Inhaltsverzeichnis... 1 Tags (Befehle)... 1 Erste Texte im Browser... 2 Das HTML Grundgerüst... 2 Ihre erste echte Webseite... 2 Texte... 3 Textabsatz und Zeilenumbruch... 3 Einen Zeilenumbruch

Mehr

Bilddatenformate BMP GIF JPG. Digitale Bildverarbeitung Liedtke 7.1. Bezeichnung: Microsoft Windows Bitmap, BMP, DIB

Bilddatenformate BMP GIF JPG. Digitale Bildverarbeitung Liedtke 7.1. Bezeichnung: Microsoft Windows Bitmap, BMP, DIB Bilddatenformate BMP Bezeichnung: Microsoft Windows Bitmap, BMP, DIB Format: Raster Farben: 1 Bit (s/w), 4 Bit (16 Farben), 8 Bit (256 Farben), 24 Bit (16,7 Mio. Farben) Kompression: Keine (meist) oder

Mehr

Filterprogrammierung in Gimp

Filterprogrammierung in Gimp Rüdiger Timpe Alexander Bertschik Filterprogrammierung in Gimp Ein Vortrag im Rahmen des Seminars Manipulation und Verarbeitung digitaler Bilder Inhalt Aufgabenstellung und Motivation...3 Auswahl der Filter...3

Mehr

Autor: Armin Oblin Matrikelnummer: 0648632 Studienkennzahl: 066, 856. Dokumentation zum Programm1:

Autor: Armin Oblin Matrikelnummer: 0648632 Studienkennzahl: 066, 856. Dokumentation zum Programm1: Dokumentation zum Programm1: PHP Programmierung: Rasterbildmanipulation großer und kleiner Maßstab, DHM Klassifizierung und kartographische Aufbereitung: Erstellung von 2 DHMs mit entsprechenden farbhypsometrischen

Mehr

Basisinformationstechnologie II

Basisinformationstechnologie II Basisinformationstechnologie II Sommersemester 2014 28. Mai 2014 Algorithmen der Bildverarbeitung I: Kompression Universität zu Köln. Historisch-Kulturwissenschaftliche Informationsverarbeitung Jan G.

Mehr

Ziv-Lempel-Kompression von André Lichei

Ziv-Lempel-Kompression von André Lichei Ziv-Lempel-Kompression von André Lichei Einführung: Die wichtigsten Ansprüche,die an einen Komprimierungs-Algorithmus gestellt werden, sind: - eine hohe Komprimierungsrate - für alle Typen von Daten (

Mehr

Basisinformationstechnologie II

Basisinformationstechnologie II Basisinformationstechnologie II Sommersemester 2015 13. Mai 2015 Algorithmen der Bildverarbeitung I: Kompression Universität zu Köln. Historisch-Kulturwissenschaftliche Informationsverarbeitung Dr. Jan

Mehr

Optimalcodierung. Thema: Optimalcodierung. Ziele

Optimalcodierung. Thema: Optimalcodierung. Ziele Optimalcodierung Ziele Diese rechnerischen und experimentellen Übungen dienen der Vertiefung der Kenntnisse im Bereich der Optimalcodierung, mit der die Zeichen diskreter Quellen codiert werden können.

Mehr

Einleitung. Kapitel 1

Einleitung. Kapitel 1 Kapitel 1 Einleitung In diesem Abschnitt geben wir einen kurzen Überblick über den Inhalt der Vorlesung. Wir werden kurz die wesentlichen Probleme erläutern, die wir ansprechen wollen. Wir werden auch

Mehr

Vorbemerkungen. Die Programmieroberfläche des ClassPad

Vorbemerkungen. Die Programmieroberfläche des ClassPad Vorbemerkungen Erfahrungen zeigen, dass die Programmiermöglichkeiten des ClassPad im Unterricht kaum genutzt werden. Dabei bieten aus unserer Sicht viele Situationen die Gelegenheit, die Programmieroberfläche

Mehr

MDE-Konfigurationsprogramm Version 1.12

MDE-Konfigurationsprogramm Version 1.12 MDE-Konfigurationsprogramm Version 1.12 Der MDE-Konfigurator bietet die Möglichkeit den Ablauf der Datenerfassung in einem weiten Bereich durch eine Konfigurationsdatei (MDEKonf.ctl) zu steuern. In der

Mehr

FARBEN IM INTERNET FARBWERTE, FARBTIEFEN IN DER BILDBEARBEITUNG

FARBEN IM INTERNET FARBWERTE, FARBTIEFEN IN DER BILDBEARBEITUNG FARBEN IM INTERNET FARBWERTE, FARBTIEFEN IN DER BILDBEARBEITUNG Unter dem Begriff Farbtiefe versteht man die Anzahl der pro Pixel zur Verfügung stehenden Bits zur Speicherung der Farbinformationen. Die

Mehr

Turing Maschine. Thorsten Timmer. SS 2005 Proseminar Beschreibungskomplexität bei Prof. D. Wotschke. Turing Maschine SS 2005 p.

Turing Maschine. Thorsten Timmer. SS 2005 Proseminar Beschreibungskomplexität bei Prof. D. Wotschke. Turing Maschine SS 2005 p. Thorsten Timmer SS 2005 Proseminar Beschreibungskomplexität bei Prof. D. Wotschke Turing Maschine SS 2005 p. 1/35 Inhalt Einführung Formale Definition Berechenbare Sprachen und Funktionen Berechnung ganzzahliger

Mehr

Grafikformate. Auflösung Farbtiefe Farbmodelle

Grafikformate. Auflösung Farbtiefe Farbmodelle Farblehre Grafikformate Auflösung Farbtiefe Farbmodelle Grafikformate 1. Auflösung Je höher die Auflösung umso besser das Bild. niedrig mittel hoch 09.03.2007 2 Auflösung 1cm 1cm 1 Pixel pro cm Auflösung

Mehr

Datenbanken und Informationssysteme. Bildbearbeitung. DI (FH) Levent Öztürk

Datenbanken und Informationssysteme. Bildbearbeitung. DI (FH) Levent Öztürk Datenbanken und Informationssysteme DBI2 Bildbearbeitung DI (FH) Levent Öztürk Inhalt GIMP Vektorgrafik, Pixelgrafik Pixel, Punkt und co. Dpi, ppi Komprimierung Grafikformate BMP JPG GIF PNG TIFF Übungen

Mehr

Farbtiefe. Gängige Farbtiefen

Farbtiefe. Gängige Farbtiefen Farbtiefe Die Anzahl der darstellbaren Farben ist abhängig von den Farbabstufungen, die in einem Pixel gespeichert werden. Die Anzahl der darstellbaren Farbtöne wird als Farbtiefe bezeichnet. Die Farbtiefe

Mehr

In diesem Abschnitt wollen wir uns mit der Architektur von Datenbank Managements Systemen beschäftigen.

In diesem Abschnitt wollen wir uns mit der Architektur von Datenbank Managements Systemen beschäftigen. 1 In diesem Abschnitt wollen wir uns mit der Architektur von Datenbank Managements Systemen beschäftigen. Zunächst stellt sich die Frage: Warum soll ich mich mit der Architektur eines DBMS beschäftigen?

Mehr

Web Datei Formate GIF JPEG PNG SVG. Einleitung. GIF Graphic Interchange Format. JPEG Joint Photographic Expert Group. PNG Portable Network Graphic

Web Datei Formate GIF JPEG PNG SVG. Einleitung. GIF Graphic Interchange Format. JPEG Joint Photographic Expert Group. PNG Portable Network Graphic Einleitung Graphic Interchange Format Joint Photographic Expert Group Portable Network Graphic scalabel Vector Graphic Fazit Übungsaufgabe Speichern Einleitung Das Web ist eines der wichtigsten Medien

Mehr

Praktikum zur Vorlesung Einführung in die Programmierung WS 14/15 Blatt 3

Praktikum zur Vorlesung Einführung in die Programmierung WS 14/15 Blatt 3 Michael Jugovac Dominik Kopczynski Jan Quadflieg Till Schäfer Stephan Windmüller Dortmund, den 30. Oktober 2014 Praktikum zur Vorlesung Einführung in die Programmierung WS 14/15 Blatt 3 Es können 12 (+5

Mehr

Stefan Schröder Hard- und Softwareentwicklungen. Anleitung TSImport. Zum Neetzekanal Brietlingen

Stefan Schröder Hard- und Softwareentwicklungen. Anleitung TSImport. Zum Neetzekanal Brietlingen Stefan Schröder Hard- und Softwareentwicklungen Anleitung TSImport Stefan Schröder Hard- und Softwareentwicklungen Zum Neetzekanal 19 21382 Brietlingen e-mail: schroeder@sshus.de Internet: http://www.sshus.de

Mehr

Web-fähige Grafiken erstellen. PRODUKT: CorelDRAW 8

Web-fähige Grafiken erstellen. PRODUKT: CorelDRAW 8 TITEL: Web-fähige Grafiken erstellen PRODUKT: CorelDRAW 8 Überblick Mit der Entstehung des World Wide Web/Internet entstand auch ein Bedarf an Grafiken, die sich schnell laden lassen und auf dem Bildschirm

Mehr

Seminar über Algorithmen, SS2004. Textkompression. von Christian Grümme und Robert Hartmann

Seminar über Algorithmen, SS2004. Textkompression. von Christian Grümme und Robert Hartmann Seminar über Algorithmen, SS2004 Textkompression von Christian Grümme und Robert Hartmann 1. Einleitung Textkompression wird zur Verringerung des Speicherbedarfs und der Übertragungskapazität von allgemeinen

Mehr

3. Aufgabe: Bitmap-Datei

3. Aufgabe: Bitmap-Datei 1 Einleitung 3. Aufgabe: Bitmap-Datei In dieser Programmieraufgabe soll eine Grafik erstellt und gespeichert werden. Es wurde das Bitmap-Format von Microsoft gewählt, da es recht einfach erstellt und von

Mehr

Die Grafikformate GIF und PNG

Die Grafikformate GIF und PNG MULTIMEDIADATENFORMATE Seminar im WS 02/03 Freie Universität Berlin Institut für Informatik Dozent: Gerald Friedland Die Grafikformate GIF und PNG Autor: Annette Kaudel Inhaltsverzeichnis 1 Einleitung...4

Mehr

Bildschirmauflösungen im Vergleich (verkleinert!)

Bildschirmauflösungen im Vergleich (verkleinert!) Bildschirmauflösungen im Vergleich (verkleinert!) nun zur Farbtheorie... Die Farbräume RGB CMYK Rot, Grün, Blau addieren sich zu weißem Licht - Additive Lichtmischung Cyan, Magenta, Yellow verschlucken

Mehr

ImageReady. office@wofi.at www.wofi.at

ImageReady. office@wofi.at www.wofi.at ImageReady office@wofi.at www.wofi.at Inhaltsverzeichnis Inhaltsverzeichnis 0. EINLEITUNG...3 0.1. Was ist ImageReady?...3 0.2. So wechseln Sie zwischen ImageReady und Photoshop...3 0.3. Slices...3 0.3.1.

Mehr

1.2 Dateiformate. max. 1,5 MB / Sekunde o Bild Sequenzen für alle in Schleife abzuspielenden Videos: BMP, PNG, JPG. bis zu 1.

1.2 Dateiformate. max. 1,5 MB / Sekunde o Bild Sequenzen für alle in Schleife abzuspielenden Videos: BMP, PNG, JPG. bis zu 1. Seite 1 von 7 Die ARTMOS GmbH bietet Ihnen an, inspirierende und eindrucksvolle Animationen für die LED Kugel zu erstellen. Sollten Sie sich entscheiden diesen Service in Anspruch zu nehmen, wird ARTMOS

Mehr

Bedienungsanleitung M-Box / L-Box / C-Box

Bedienungsanleitung M-Box / L-Box / C-Box Der BOBE Interface-Box Kommandostring Rev 8 Als Kommandostring bezeichnet man die Zeichenfolge, die zur Interface-Box gesendet werden muss, damit diese Aktionen wie das Einlesen von Messmitteln ausführt

Mehr

Herausgeber: Im Auftrag von: Kontakt: Heike Neuroth Hans Liegmann Achim Oßwald Regine Scheffel Mathias Jehn Stefan Strathmann

Herausgeber: Im Auftrag von: Kontakt: Heike Neuroth Hans Liegmann Achim Oßwald Regine Scheffel Mathias Jehn Stefan Strathmann Herausgeber: Heike Neuroth Hans Liegmann Achim Oßwald Regine Scheffel Mathias Jehn Stefan Strathmann Im Auftrag von: nestor Kompetenznetzwerk Langzeitarchivierung und Langzeitverfügbarkeit digitaler Ressourcen

Mehr

Arbeiten mit der Shell Teil 2

Arbeiten mit der Shell Teil 2 Arbeiten mit der Shell Teil 2 Linux-Kurs der Unix-AG Zinching Dang 9. Mai 2017 Übersicht Wiederholung & Vertiefung Ausgaben umleiten Shellbefehle Befehle & Optionen Zusammenfassung & Ausblick Beispielanwendung

Mehr

QR Code. Christina Nemecek, Jessica Machrowiak

QR Code. Christina Nemecek, Jessica Machrowiak QR Code Christina Nemecek, Jessica Machrowiak 1 Inhaltsangabe. Einführung Definition Entstehung Grundlagen Aufbau Fehlertoleranz und -erkennung Generieren des QR Codes Lesen des QR Codes Quellen 2 Einführung.

Mehr

Hauptdiplomklausur Informatik Februar 2006: Multimedia Systems

Hauptdiplomklausur Informatik Februar 2006: Multimedia Systems Universität Mannheim Fakultät für Mathematik und Informatik Lehrstuhl für Praktische Informatik IV Prof. Dr.-Ing. W. Effelsberg Hauptdiplomklausur Informatik Februar 2006: Multimedia Systems Name: Matrikel-Nr.:

Mehr

Arbeiten mit der Shell Teil 2

Arbeiten mit der Shell Teil 2 Arbeiten mit der Shell Teil 2 Linux-Kurs der Unix-AG Zinching Dang 22. November 2016 Übersicht Ausgaben umleiten Wiederholung & Vertiefung Shellbefehle Befehle & Optionen Beispielanwendung zu Pipes Zusammenfassung

Mehr

Spezifikationen für die Datenträgerlöschung mit GDisk

Spezifikationen für die Datenträgerlöschung mit GDisk Spezifikationen für die Datenträgerlöschung mit GDisk Dieses Kapitel behandelt die folgenden Themen: Informationen zu diesem Dokument Informationen zu den Spezifikationen für die Datenträgerlöschung mit

Mehr

Untersuchung des Huffman- Algorithmus auf seine Effizienz

Untersuchung des Huffman- Algorithmus auf seine Effizienz Untersuchung des Huffman- Algorithmus auf seine Effizienz :) Wettbewerb "Jugend Forscht" 2004 Markus Kramer (19 Jahre) Arbeitsgemeinschaft "Jugend Forscht" des Christian-Gymnasiums Hermannsburg Leitung:

Mehr

Dateinamen für die tägliche Datenverteilung (Download)

Dateinamen für die tägliche Datenverteilung (Download) Dateinamen für die tägliche Datenverteilung (Download) 1. Namen der ZIP-Dateien Die Namen der zum Download bereitgestellten ZIP-Archive sind folgendermaßen aufgebaut: _group__.zip

Mehr

Kompressionsverfahren

Kompressionsverfahren Kompressionsverfahren Quelle: Steinmetz, Ralf: Multimedia-Technologie: Einführung und Grundlagen, Springer, Verlag Verlustlose Kompressionsalgorithmen RLC Huffman Adaptive Huffman Kodierung Arithmetische

Mehr

Wie kann ich in der Backstage-Ansicht eigene Dokumentationen einbinden?

Wie kann ich in der Backstage-Ansicht eigene Dokumentationen einbinden? Wie kann ich in der Backstage-Ansicht eigene Dokumentationen einbinden? Anforderung Durch die Bearbeitung einer XML-Datei können Sie Ihre eigenen Dokumentationen (z.b. PDF-Dateien, Microsoft Word Dokumente

Mehr

Übung zur Vorlesung. Digitale Medien. Vorlesung: Heinrich Hußmann Übung: Renate Häuslschmid, Hanna Schneider

Übung zur Vorlesung. Digitale Medien. Vorlesung: Heinrich Hußmann Übung: Renate Häuslschmid, Hanna Schneider Übung zur Vorlesung Digitale Medien Vorlesung: Heinrich Hußmann Übung: Renate Häuslschmid, Hanna Schneider Wintersemester 2015/16 Bildgröße und Auflösung Beispiel: Bild mit 2560 x 1920 Pixel Größe. Breite

Mehr

Grundlagen digitaler Bildbearbeitung

Grundlagen digitaler Bildbearbeitung Grundlagen digitaler Bildbearbeitung Folie 2 Inhaltsübersicht Bitmaps und Vektorgrafiken Grafikformate Farbräume und Farbmodelle Farbmodus (Farbtiefe) Bildauflösung Webfarben Folie 3 Bitmaps und Vektorgrafiken

Mehr

Übrigens: um den Algorithmus im Unterricht einzuführen, sind keine Formeln notwendig! Warum reicht die normale ASCII-Codierung nicht aus?

Übrigens: um den Algorithmus im Unterricht einzuführen, sind keine Formeln notwendig! Warum reicht die normale ASCII-Codierung nicht aus? Huffman-Code Dieser Text ist als Hintergrundinformation ausschliesslich für die Lehrperson gedacht. Der Text ist deshalb eher technisch gehalten. Er lehnt sich an das entsprechende Kapitel in "Turing Omnibus"

Mehr

Übersicht. Aktivitäten-Auswahl-Problem. Greedy Algorithmen. Aktivitäten-Auswahl-Problem. Aktivitäten-Auswahl-Problem. Datenstrukturen & Algorithmen

Übersicht. Aktivitäten-Auswahl-Problem. Greedy Algorithmen. Aktivitäten-Auswahl-Problem. Aktivitäten-Auswahl-Problem. Datenstrukturen & Algorithmen Datenstrukturen & Algorithmen Übersicht Greedy Algorithmen Einführung Aktivitäten-Auswahl-Problem Huffman Codierung Matthias Zwicker Universität Bern Frühling 2009 2 Greedy Algorithmen Entwurfsstrategie

Mehr

JPEG, MPEG & Co. Alex Titze Angewandte Informatik FHTW-Berlin

JPEG, MPEG & Co. Alex Titze Angewandte Informatik FHTW-Berlin Referat KIM Alex Titze Angewandte Informatik FHTW-Berlin 76900504811 Einleitung JPEG Geschichte & Überblick Komprimierungsablauf Farbformat DCT (Diskrete Cosinus Transformation) Quantisierung Koeffizientenkodierung

Mehr

Gängige Grafikformate

Gängige Grafikformate Gängige Grafikformate Inhalt: 1. pixelorientierte Grafikformate 1.1 Das Format GIF 1.2 Das Format JPG 1.3 Das Fomat JPEG 2000 1.4 Das Format PNG 2. vektororientierte Grafikformate 2.1 Das Format SVG 1.1

Mehr

Praktikum Grundlagen von Hardwaresystemen Sommersemester Versuch 6: Computergrafik und Sprites

Praktikum Grundlagen von Hardwaresystemen Sommersemester Versuch 6: Computergrafik und Sprites Praktikum Grundlagen von Hardwaresystemen Sommersemester 2007 Versuch 6: Computergrafik und Sprites 28. Juni 2007 Fachbereich 12: Informatik und Mathematik Institut für Informatik Professur für Technische

Mehr

Anzeigenerstellung. Inhaltsverzeichnis

Anzeigenerstellung. Inhaltsverzeichnis Inhaltsverzeichnis Anmeldung... 2 Anzeigeninformationen... 3 Wählen sie einen Eintrag... 3 Kategorienauswahl... 4 Kurz- und Langbeschreibung... 5 Begriffe für die Suche... 6 Kontaktdaten... 7 SEO... 8

Mehr

Eigenschaften von Kompressionsverfahren

Eigenschaften von Kompressionsverfahren 6 Textkompression Eigenschaften von Kompressionsverfahren Das Ziel der Datenkompression ist es, eine gegebene Information (Datenquelle) auf eine kompaktere Weise zu repräsentieren. Dies geschieht, indem

Mehr

ADS: Algorithmen und Datenstrukturen 2

ADS: Algorithmen und Datenstrukturen 2 ADS: Algorithmen und Datenstrukturen 2 5. Vorlesung Uwe Quasthoff Abteilung Automatische Sprachverarbeitung Institut für Informatik Universität Leipzig 9. Mai 2012 1 / 35 Datenkompression Bisheriges Hauptziel

Mehr

JPEG-Format GIF-Format PNG-Format

JPEG-Format GIF-Format PNG-Format Bauinformatik I: Bildbearbeitung -Pixelbilder- 07 VL B S.1 Thema: Bildbearbeitung -Pixelbilder- Datei-Formate "Die Bilderwelt teilt sich in zwei Lager": Pixel- und Vektorgrafik. Vektor-Formate Vektorgrafiken

Mehr

NICHT TRIVIAL: MAKROVARIABLEN - GLOBAL ODER LOKAL

NICHT TRIVIAL: MAKROVARIABLEN - GLOBAL ODER LOKAL WEBINAR@LUNCHTIME NICHT TRIVIAL: MAKROVARIABLEN - GLOBAL ODER LOKAL FRAGE Antworten EINSTIEGSFRAGE Wie werden die Makrovariablen durch Call Symput erstellt Global, lokal, teils-teils oder gar nicht? %macro

Mehr

Anleitung für Benutzer

Anleitung für Benutzer Anleitung für Benutzer Rechtliche Hinweise ICOMP_Pro-dgi/pko-24012012-01 Urheberrechte Copyrights 2011 2012 I.R.I.S. Alle Rechte vorbehalten. Die Urheberrechte zur IRISCompressor-Software und dieser Veröffentlichung

Mehr

Der Rumpf. Titel Seite 3

Der Rumpf. Titel Seite 3 Grundzüge des Web-Designs Es gibt verschiedene Elemente der Darstellung, die im Design immer wieder vorkommen Diese sind z.b. Textblöcke, Bilder, Überschriften, Absätze etc. Titel Seite 1 Diese Elemente

Mehr

int i=1; //Integerzahl i anlegen und mit 1 initialisieren float wert; //Floatzahl deklarieren scanf( %f,&wert); //Wert über Tastatur eingeben

int i=1; //Integerzahl i anlegen und mit 1 initialisieren float wert; //Floatzahl deklarieren scanf( %f,&wert); //Wert über Tastatur eingeben Datenfelder (Array) Seite 1 von 7 Bei den bisherigen Programmen wurde für jede verwendete Variable (oder für jedes Objekt) ein eigener Typ und Name vergeben. Die Initialisierung, d.h. die Belegung mit

Mehr

Digitale Fotografie für das Web Wintersemester 2013/2014 MEINF4330

Digitale Fotografie für das Web Wintersemester 2013/2014 MEINF4330 Digitale Fotografie für das Web Wintersemester 2013/2014 MEINF4330 Grundlagen der digitalen Fotografie 05.12.2013 Version 1.0 Digitalisierung zunächst 2^n diskrete Grauwerte 2 3 Workflow 4 Sensoren Typen

Mehr