Aufgabe 6: Ein JPEG-Decoder

Größe: px
Ab Seite anzeigen:

Download "Aufgabe 6: Ein JPEG-Decoder"

Transkript

1 Aufgabe 6: Ein JPEG-Decoder Einleitung JPEG ist ein populärer Standard zur Kompression von Bildern. Neben verlustfreien Kompressionsalgorithmen werden auch verlustbehaftete benutzt. Bei diesen wird die besondere Struktur von Bildern so ausgenutzt, daß der Informationsverlust der Kompression dem menschlichen Betrachter nur wenig auffällt. JPEG is nach seinen Schöpfern benannt, der Joint Photographic Expert Group. In JPEG werden verschiedene Techniken kombiniert: Huffman-Kodierung, Quantisierung, Fourier- Transformation, Differentielle Kodierung und andere. Ziel dieser Aufgabe ist es, ein C-Programm zu schreiben, welches eine JPEG-Datei der einfachsten und häufigsten Art (nicht-differentielle Huffman-Kodierung, drei Farbebenen, keine Zusatzfunktionen) dekodiert und dekomprimiert. Als Ergebnis soll eine Datei im PPM (portable pixmap)-format erzeugt werden. Digitalisierte Bilder: das PPM-Format Ein digitalisiertes Bild besteht aus einzelnen Bildpunkten, Pixel genannt. PPM ist eine naive Form der Speicherung dieser Pixel ohne jegliche Komprimierung oder Umordnung der Daten. Eine PPM-Datei beginnt mit einer Kennung. Das ist eine Zeile, die nur aus den 2 Zeichen P6 besteht. Es folgt eine Zeile, die aus 2 Zahlen besteht, der Breite w und Höhe h des Bildes in Pixel ( z.b ) und eine weitere Zeile, die für unsere Zwecke nur aus der Zahl 255 besteht. An diese 3 Zeilen schließt sich ein Strom von 3 w h Bytes an. Jeweils 3 Bytes kodieren Farbe und Helligkeit eines Pixels. Dazu wird jedes Byte als vorzeichenlose ganze Zahl zwischen 0 und 255 interpretiert. Die 3 Zahlen beschreiben die Intensität des Rot-, Grün- und Blauanteils (RGB-Kodierung): (0, 0, 0) ist Schwarz, (255, 255, 255) Weiß, (230, 230, 0) ein helles Gelb etc. Die Pixeldaten stehen einfach in Leserichtung (Zeile für Zeile von links nach rechts und oben nach unten) hintereinander. Huffman-Kodierung Die Huffman-Kodierung ist ein verlustfreier Kompressionsalgorithmus. Ein Alphabet soll so kodiert werden, daß die häufigere Zeichen durch kürzere Bit-Sequenzen dargestellt werden (ein Prinzip, von dem sich schon Samuel Morse bei der Erfindung seines Morsealphabets leiten ließ). Wie bei wohl allen Kompressionsalgorithmen ist das Entpacken wesentlich einfacher als das Packen. Letzteres erfordert eine umfangreiche Analyse der Input-Daten, ersteres bloß das Anwenden eines mitgelieferten Rezeptes. Das Rezept zur Huffman-Dekodierung läßt sich am einfachsten in Form einer Baumstruktur kodieren. Nehmen wir als Beispiel die Sprache Vokalisch, deren Alphabet die 5 Buchstaben A,E,I,O,U umfaßt. Der häufigste Buchstabe sei E, gefolgt von O,A,I und U. 0 1 E A 0 U I O Der Datenstrom wird mit Hilfe des Huffman-Baums so dekodiert: Wir starten an der Wurzel des Baumes (wie in der Informatik üblich, steht der Baum auf dem Kopf) und nehmen die Bitfolge als Wegbeschreibung: 0 heißt den linken Weg nehmen, 1 den rechten Weg nehmen. Wenn wir eine Zweigspitze erreicht haben, steht ein Buchstabe fest und wir beginnen wieder an der Wurzel. Damit führt uns 1011 zu I, 11 zu O und 1010 zu U, 0 zu E und 0 zu E: IOUEE. Obwohl wir es mit einem Code variabler Länge zu tun haben, ist kein spezielles Trennzeichen nötig. Natürlich ist die Kompression nicht optimal. Sie könnte verbessert werden, indem man Silben aus 2 Buchstaben in den Huffman-Baum aufnimmt, dann Silben aus 3 Buchstaben etc. 1

2 Der JPEG-Algorithmus verwendet mehrere Huffman-Bäume, allerdings auf recht indirekte Art und Weise. Beschreibung des JPEG-Formats Im Folgenden wird das JPEG-Format beschrieben, wobei die Kapitel dieser Beschreibung (Farbmodell, Downsampling, Quantisierung, Fourier-Transformation, Huffman-Dekodierung, Analyse der Datei) vom Dekompressor in umgekehrter Reihenfolge angewandt werden müssen. Farbmodell JPEG verwendet nicht das RGB-Farbmodell, sondern eines, das YUV genannt wird: 3 Zahlen beschreiben Helligkeit (Y), Blauanteil (U) und Rotanteil (V) eines Pixels. Die Umrechnung in RGB ist durch die lineare Transformation R G = Y 5 U B V möglich. Implementierungshinweis: Die YUV-Werte, die man nach Fourier-Transformation und Dequantisierung aus den JPEG-Daten erhält, sind vorzeichenbehaftet, liegen zwischen -128 und 127. Dasselbe gilt auch für die RGB-Werte, die obige Transformation liefert. Manchmal können sie auch über diesen Bereich hinausschießen. Um sie z.b. mit der Funktion putc (die ihr Argument zu einem unsigned char konvertiert) korrekt in eine PPM-Datei ausgeben zu können, empfiehlt es sich: a) 128 zu addieren, b) zu testen, ob der Wert nun zwischen 0 und 255 liegt und kleinere Werte durch 0, größere durch 255 zu ersetzen. Downsampling Zentrales Objekt der Kompressionsalgorithmen ist eine data unit. Dies ist eine 8 8-Matrix von Y-, U- oder V-Werten. Im einfachsten Fall beschreibt sie auch einen Bildausschnitt von 8 8 Pixeln. Durch eine (verlustbehaftete) Kompressionsmethode namens Downsampling kann sie jedoch auch die Informationen für bis zu Pixel enthalten. Dabei wird jeweils ein kleiner (z.b. 2 2) Block von Pixeln durch ein gemitteltes Pixel ersetzt. Üblicherweise wird das Downsampling nicht auf die Helligkeit (Y) angewendet, sondern nur auf die Farbkomponenten. Dadurch bleibt der wahrnehmbare Qualitätsverlust gering. Für jede der 3 Farbkomponenten YUV wird das Downsampling beschrieben durch 2 Parameter (h, w) (height, width): Blöcke aus h w Pixel wurden duch einen Pixel ersetzt. h und w können Werte zwischen 1 und 4 annehmen. Beim Entpacken muß also ein Upsampling durchgeführt werden, bei dem die 8 8-Matrix zu einer( 8h 8w-Matrix ) aufgebläht wird, indem man jeden Eintrag x durch eine h w-blockmatrix x x ersetzt. Für die Downsampling-Parameter h Y, h V, h U muß gelten kgv(h i ) = max(h i ) und kgv(w i ) = max(w i ). x Das Bild wird in kleine Rechtecke aus (8 max(h i ) 8 max(w i )) Pixel zerlegt, die MCUs (Minimal Coding Units) genannt werden. Nehmen wir an, die Y-Information wird nicht downsampled und die U- und V-Komponente werden um die Faktoren 2 2 bzw 4 4 downsampled. Dann beschreibt eine MCU Pixel des Bildes und sie ist kodiert durch 16 Y-data-units, 4 U-data-units und eine V-data-unit. In genau dieser Reihenfolge sind sie auch im Datenstrom gespeichert, wobei die 16 Y-data-units (und 4 U-data-units) in Lesereihenfolge zeilenweise von links nach rechts und oben nach unten abgespeichert sind. x kgv: kleinstes gemeinsames Vielfaches. Dies bedeutet einfach, daß die elementaren Quadrate oder Rechtecke, in die das Bild für die verschiedenen Farbkomponenten zerschnitten wird, ineinander aufgehen müssen. 2

3 Der Datenstrom, der das Gesamtbild beschreibt, besteht aus einer Folge von MCUs ([16Y, 4U, 1V ], [16Y, 4U, 1V ],...), ebenfalls in Lesereihenfolge. Nach der Dekomprimierung hat man ein Bild, dessen Größe ein Vielfaches der MCU-Größe ist. Um es auf die Größe (H, W ) des Originals zu bringen, muß man eventuell rechts und unten ein paar Pixel wegschneiden. Fourier-Transformation und Quantisierung Der Schlüssel zur hohen Kompressionsrate von JPEG ist, daß die Bilddaten nicht direkt komprimiert, sondern vorher Fourier-transformiert werden. Die verwendete spezielle Form der Fourier-Transformation wird als Diskrete Cosinus-Transformation (DCT) bezeichnet. Die DCT führt eine 8 8-Matrix von Farbwerten in eine 8 8-Matrix über, deren [0, 0]-Komponente den Mittelwert der Originaldaten beschreibt, die anderen beschreiben die Amplituden der verschiedenen Schwankungen um diesen Wert. Zur Rücktransformation sind folgende Schritte nötig: Die JPEG-Datei enthält für jede Komponente (Y, U und V) eine Quantisierungstabelle aus 64 ganzen Zahlen. Jede der 64 Zahlen du[i], i= einer data-unit ist mit der entsprechenden Zahl aus der Quantisierungstabelle zu multiplizieren. Das Ergebnis ist in Fließkommazahlen umzuwandeln. Aus diesen 64 Zahlen wird jetzt eine 8 8-Matrix aufgebaut. Um eine optimale Kompression zu erreichen, sind diese Zahlen allerdings nicht zeilen- oder spaltenweise angeordnet, sondern im Zigzag. Das folgende Codestück beschreibt die notwendige Umordnung: const int zigzag[8][8] ={ { 0, 1, 5, 6,14,15,27,28}, { 2, 4, 7,13,16,26,29,42}, { 3, 8,12,17,25,30,41,43}, { 9,11,18,24,31,40,44,53}, {10,19,23,32,39,45,52,54}, {20,22,33,38,46,51,55,60}, {21,34,37,47,50,56,59,61}, {35,36,48,49,57,58,62,63}}; for(i=0; i<8; i++) for(j=0; j<8; j++) mat[i][j] = du[ zigzag[i][j] ]; Auf jede Zeile dieser Matrix (gelesen als Vektor Y 0,..., Y 7 ) und anschließend auf jede Spalte des Ergebnisses ist die inverse DCT X i = Y j=1 Y j ((2i 2 cos + 1)j π ) 16 für i = anzuwenden. Die Fließkommazahlen werden in ganze Zahlen umgewandelt. Dabei ist zur Null hin zu runden: 3, 7 3; 12, Huffman-Dekodierung Zur Kodierung werden für jede der 3 Farbkomponenten 2 Huffman-Bäume verwendet, DC-Baum und AC-Baum genannt. Das Einlesen eines der 64 Werte du[i], i= einer data-unit aus dem Datenteil des SOS- Segments ist ein zweistufiger Prozeß, da nicht der Wert selbst, sondern seine Länge Huffmankodiert ist. 3

4 Der DC-Baum dient nur zum Einlesen des ersten Wertes du[0]: Lese Bits vom Datenstrom und laufe durch den DC-Baum, bis eine Spitze erreicht ist. Der an dieser Spitze gespeicherte Wert s gibt die Anzahl der nun einzulesenden Bits an. Die nächsten s Bits aus dem Datenstrom sind als positive ganze Zahl n zu interpretieren. Diese Zahl wird in eine vorzeichenbehaftete Zahl konvertiert nach der Vorschrift m = extend(n, s) { n if n 2 s 1 extend(n, s) = n s otherwise Dieser Wert m ist nur dann gleich du[0], wenn es sich um die erste data-unit des Bildes zu einer Farbkomponente handelt. Sonst ist m die Differenz zum Wert du[0] der vorhergehenden data-unit derselben Farbkomponente. Zur Dekodierung der übrigen 63 Werte wird der AC-Baum verwendet. Die an dessen Spitzen gespeicherten Bytes (Zahlen x zwischen 0 und 255) sind als zwei 4-Bit-Zahlen ( nibbles ) (r, s) = (x/16, mod (x, 16)) zu interpretieren. Die Dekodierung erfordert folgende Schritte: 1. Lese Bits aus dem Datenstrom ein, bis eine Spitze (r, s) des AC-Baumes ereicht ist. 2. Wenn r = s = 0, fülle die restlichen Felder von du[] mit Nullen, die data-unit ist fertig gelesen. 3. Wenn r > 0 ist, werden die nächsten r Felder in du[] mit Nullen gefüllt. 4. Dann werden die die nächsten s Bits aus dem Datenstrom gelesen und das Ergebnis von extend(n, s) wird in das nächste freie Feld von du[] gespeichert. 5. Wiederhole 1.-4., bis alle Felder von du[] gefüllt sind. Aufbau einer JPEG-Datei Eine JPEG-Datei besteht aus einer Folge von Segmenten verschiedenen Typs. Segmente beginnen mit 2 Startbytes, die den Segmenttyp kodieren, gefolgt von 2 Bytes, die die Länge L des Segments (ohne die beiden Startbytes) angeben und von L 2 Datenbytes. Eine Ausnahme sind die Segmente Start of Image (SOI) am Dateianfang und End of Image (EOI) am Dateiende, sie bestehen nur aus den 2 Bytes FFD8 (SOI) und FFD9 (EOI). In der folgenden Übersicht steht ein für ein Halbbyte (4 Bits), auch nibble genannt. SOI Start of Image FFD8 EOI End of Image FFD9 COM Comment FFFE L L-2 Bytes Kommentartext DQT Define Quantization Table FFDB 64 Bytes Bytes L = n L i 1 QT 1 i n QT n SOF Start of Frame FFC0 3 Bytes... 3 Bytes L = ne L cd H W ne Ebene 1 Ebene ne Jede Ebene hat den Aufbau i e w h n qt 4

5 DHT Define Huffman Table FFC4 16 Bytes data Bytes data L tc th ns[i] tc th ns[i] L = i=0 ns[i] i=0 ns[i] SOS Start of Scan FFDA 2 Bytes... 2 Bytes data L nc Komponente 1 Komponente nc 3 Bytes Jede Komponente hat den Aufbau i c td ta Es gibt noch eine Reihe weiterer Segmente. Wenn Segmente mit den Kennungen FFC1, FFC2, FFC3, FFC5, FFC6, FFC7, FFC9, FFCA, FFCB, FFCC, FFCD, FFCE oder FFCF auftauchen, soll unser Entpacker abbrechen. Sie bedeuten, daß noch andere Kompressionsalgorithmen (differentielle arithmetische Kodierung, differentielle Huffman-Kodierung u.a.) angewendet wurden. Andere Segmente der Form FF L-2 Bytes können ignoriert werden. Sie könenn z.b. thumbnails ( daumennagelgroße Varianten des Bildes, die ein Programm zur Vorschau o.ä. verwenden kann) enthalten. Beschreibung der Segmente DQT JPEG-Dateien können bis zu 4 Quantisierungstabellen enthalten (auch wenn die hier besprochene Variante nur 3 verwendet). Sie können durch mehrere DQT-Segmente oder gemeinsam in einem DQT-Segment gespeichert sein. Die Anzahl der Tabellen in einem DQT-Segment läßt sich aus der Längenangabe L ableiten. Jede Tabelle hat eine Nummer i n. Die Tabelle selbst besteht aus 64 Bytes, von denen jedes eine Zahl zwischen 0 und 255 repräsentiert. Implementierungshinweis: int i; i=getc(filepointer); liest ein Byte korrekt in diesem Sinne (als Zahl zwischen 0 und 255) ein, weil getc() das eingelesene Byte als unsigned char interpretiert. Ebenso kann man die durch 2 Bytes kodierten Zahlen (wie die Längenangabe L) einlesen: int i,l; i=getc(filepointer); L=256*i+getc(filepointer); SOF Ein Frame enthält globale Informationen über das Bild. dc (1 Byte) enthält die Farbtiefe (color depth). Für unsere Zwecke sollte sie 8 sein: Jeder Farbwert wird mit 8 Bit (einem Byte) kodiert. H und W (je 2 Byte) geben die tatsächliche Größe des Bildes (Höhe und Breite in Pixeln) an. ne (1 Byte) gibt die Anzahl der Farbkomponenten an. Unser Dekoder soll nur mit genau 3 Farbkomponenten umgehen können. Es gibt auch schwarzweiße JPEG-Dateien mit nur einer Farbkomponente. Es folgen jeweils 3 Bytes für jede Farbkomponente. Sie enthalten eine Nummer i e und die Downsampling-Parameter w und h dieser Farbkomponente sowie die Nummer der Quantisierungstabelle n qt, die für diese Komponente zu verwenden ist. Es ist die Tabelle zu verwenden, für die i n = n qt gilt. 5

6 DHT Implementierungshinweis: Aus diesen Daten läßt sich die Größe einer MCU sowie die Anzahl der MCUs berechnen. Hierbei ist daran zu denken, daß man aufrunden muß, wenn H oder W nicht durch die Höhe oder Breite einer MCU teilbar ist. Die nibbles h und w lassen sich so einlesen: int x,h,w; x=getc(filepointer); w=x/16; h=x%16; Für jede Farbkomponente Y,U und V werden 2 Huffman-Bäume benötigt, ein DC- und ein AC- Baum. Die Bäume können in einem odere mehreren DHT-Feldern beschrieben sein. Sie sind numeriert durch die nibbles tc und th. Wenn tc ungleich 0 ist, dient der Baum als AC-Baum, wenn tc gleich 0 ist, als DC-Baum. th ist seine Nummer. Es folgt eine 16 Bytes lange Liste ns[]. Die Bytes geben an, wieviele Huffman-Kodes der Länge 1 Bit, 2 Bit, Bit abgespeichert sind. (Für unseren Vokal-Beispielbaum hieße das ns = [1, 1, 1, 2, 0,...].) Danach folgt eine Liste der an den Zweigspitzen zu speichernden Daten, nach aufsteigender Länge der Kodes sortiert. Diese Liste ist somit 15 i=0 ns[i] Bytes lang. Die Daten sind Bytes, Zahlen zwischen 0 und 255. Bei den AC-Bäumen werden sie später als 2 nibbles interpretiert. Diese Daten bestimmen einen Baum eindeutig, wenn er so konstruiert wird, daß der Abstand Spitze-Wurzel von links nach rechts zunimmt. B A D E F G C H Ein Beispiel: Sei ns = [0, 1, 5, 1, 1] und die 8 Bytes in diesem Baum sind in der Reihenfolge BADEFG- CH gegeben. Damit sind die Huffman-Kodes B=00, A=010, D=011, E=100, F=101, G=110, C=1110, H= Die letzte Spitze bleibt leer. Implementierungshinweis: Material zu Bäumen und anderen Datenstrukturen findet man z.b. in R. Sedgewick, Algorithmen in C. Eine Möglichkeit ist, einen Knoten des Baumes als Struktur mit Zeigern auf die Unterknoten zu definieren und den Baum gemäß den DHT-Daten durch Aufrufe von createnode zu erzeugen. Dies kann z.b. auch rekursiv geschehen. struct node { unsigned char Item; struct node *l; struct node *r; }; struct node * createnode(unsigned char a){ struct node * x = malloc(sizeof(struct node)); x->l=0; x->r=0; x->item=a; return x; } SOS Das eigentliche Datenfeld. Bevor es losgeht mit dem Strom Huffman-kodierter und komprimierter MCUs, folgen nochmal Daten über die Farbkomponenten. Im nc-byte steht nochmal deren Anzahl, dann folgt für jede Komponente ein 2-Byte-Feld, das aus 3 Zahlen besteht: einem Index i c und den Nummern td und ta der für diese Komponente zu verwendenden DC- und AC-Huffmanbäume. Die Daten mit dem Index i c ergänzen die Daten aus dem SOF-Segment mit dem gleichen Index i e. Es folgen noch 3 Bytes, deren Inhalt für die hier beschriebene JPEG-Variante irrelevant ist. Beim Einlesen des folgenden Datenstroms ist eine Besonderheit zu beachten: Er endet, wenn ein neuer Segment-Markierer kommt, d.h., ein FF-Byte gefolgt von einem Byte ungleich 0. In der Regel wird das der EOI-Marker FFD9 und auch das Ende der Datei sein. Nun können solche Sequenzen natürlich auch als Teil der Bilddaten entstehen. Deshalb gilt eine Sonderregel: Wenn die Bilddaten ein FF-Byte enthalten, wird ihm ein zusätzliches 00-Byte angehängt. Dieses 00-Byte ist nicht Teil der Bilddaten und muß beim Einlesen herausgefiltert werden. 6

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

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

JPEG Kompression technische Realisierung

JPEG Kompression technische Realisierung Experimentalphysik V 20. Januar 2005 Schema der JPEG Kompression Farbraumkonvertierung RGB YCbCr Subsampling der Farbkomponenten Cb, Cr Zerlegung in Blöcke 8 8 2D Kosinustransformation (DCT) Quantisierung

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

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

Bildkompression InTh, 2005, JPEG, Hak, Rur, 1

Bildkompression InTh, 2005, JPEG, Hak, Rur, 1 Bildkompression InTh, 25, JPEG, Hak, Rur, 1 Referenzen [1] D Salomon, Data Compression, Springer, 24 [2] Prof Dr A Steffen, Kurs SU, ZHW, 1999-24 [3] G Wallace, The JPEG Still Picture Compression Standard,

Mehr

Kompressionsverfahren

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

Mehr

Verlustbehaftete Kompression. JPEG: Joint Photographic Experts Group

Verlustbehaftete Kompression. JPEG: Joint Photographic Experts Group Verlustbehaftete Kompression JPEG: Joint Photographic Experts Group ITU T8.1 definiert Zusammenarbeit von ITU, IEC, ISO Verfahren zur verlustbehafteten Bildkodierung (auch Verlustloser Modus vorhanden)

Mehr

ffl Die Portable Bitmap Utilities (PBM) manipulieren monochrome Bilder. ffl Die Portable Greymap Utilities (PGM) manipulieren Grauwert-Bilder.

ffl Die Portable Bitmap Utilities (PBM) manipulieren monochrome Bilder. ffl Die Portable Greymap Utilities (PGM) manipulieren Grauwert-Bilder. Kapitel 9 Pixeldateiformate Es gibt diverse Formate, in denen die generierten Grafiken abgespeichert werden können Stellvertretend soll hier nur auf 2 Formate eingegangen werden; eines, bei dem die Pixel

Mehr

JPEG. Seminar: Kompressionsalgorithmen. Ruslan Ragimov. 5. September 2012

JPEG. Seminar: Kompressionsalgorithmen. Ruslan Ragimov. 5. September 2012 JPEG Seminar: Kompressionsalgorithmen Ruslan Ragimov 5. September 2012 Zusammenfassung Die allgemeinen verlustfreien Verfahren zur Datenkompression können gute Kompressionsraten für verschiedene Dateitypen

Mehr

Kodierung. Kodierung von Zeichen mit dem ASCII-Code

Kodierung. Kodierung von Zeichen mit dem ASCII-Code Kodierung Kodierung von Zeichen mit dem ASCII-Code Weiterführende Aspekte zur Kodierung: Speicherplatzsparende Codes Fehlererkennende und -korrigierende Codes Verschlüsselnde Codes Spezielle Codes, Beispiel

Mehr

Multimediatechnik / Video

Multimediatechnik / Video Multimediatechnik / Video Video-Kompression Zusammenfassung http://www.nanocosmos.de/lietz/mtv 2009 1 Motivation: Video-Kompression Unkomprimierte Datenmengen sind zu groß! TV: 20 MB/s = 72 GB/h (720x576x2x25)

Mehr

J.P.E.G. Standard. J.P.E.G. Eigenschaften. J.P.E.G. System. JPEG Verschlüsselungsschritte. Farbmodell

J.P.E.G. Standard. J.P.E.G. Eigenschaften. J.P.E.G. System. JPEG Verschlüsselungsschritte. Farbmodell Inhaltsbasierte Bildsuche J.P.E.G = Joint Photographic Expert Group Informatica Feminale Universität Bremen, Aug. 2005 Maja Temerinac Albert-Ludwigs-Universität Freiburg J.P.E.G. Standard Standard zur

Mehr

Diskrete Cosinus-Transformation (DCT)

Diskrete Cosinus-Transformation (DCT) Diskrete Cosinus-Transformation (DCT) Prinzip von DCT: (in einer oder zwei Dimensionen...) Menge von Datenpunkten f(x) bzw. f(x,y) (für x,y = 1, N) Forward DCT (FDCT) Inverse DCT (IDCT) Rekonstruktion

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 5.4 Verlustbehaftete Kompression bei Bildern JPEG Weiterführende Literatur:

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

Proseminar Datenkomprimierung Dr. U. Tamm. JPEG - Kompression WS 2002/03. Torsten Zichner

Proseminar Datenkomprimierung Dr. U. Tamm. JPEG - Kompression WS 2002/03. Torsten Zichner Proseminar Datenkomprimierung Dr. U. Tamm JPEG - Kompression WS 2002/03 Torsten Zichner Inhaltsangabe: 1. Einleitung 2. JPEG Kompression 2.1. Konvertierung des Bildes in ein geeignetes Farbmodell 2.2.

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

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

GI Vektoren

GI Vektoren Vektoren Problem: Beispiel: viele Variablen vom gleichen Typ abspeichern Text ( = viele char-variablen), Ergebnisse einer Meßreihe ( = viele int-variablen) hierfür: Vektoren ( = Arrays = Feld ) = Ansammlung

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

Einführung in die Medieninformatik 1

Einführung in die Medieninformatik 1 Einführung in die Medieninformatik 1 Wintersemester 2007/08 Prof. Dr. Rainer Malaka, Digitale Medien Medieninformatik 1 1 Plan (vorläufig) 31.10. Einführung 7.11. Menschen: Wahrnehmung 14.11. Menschen:

Mehr

Zusatzaufgabe 3 für Informatiker

Zusatzaufgabe 3 für Informatiker Mathematisches Praktikum Sommersemester 2016 Prof. Dr. Wolfgang Dahmen Felix Gruber, Michael Rom Zusatzaufgabe 3 für Informatiker Bearbeitungszeit: drei Wochen (bis Montag, 18. Juli 2016) Mathematischer

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 VIDEO KOMPRESSION AM BEISPIEL DES JPEG-VERFAHRENS

DIGITALE VIDEO KOMPRESSION AM BEISPIEL DES JPEG-VERFAHRENS 1 DIGITALE VIDEO KOMPRESSION AM BEISPIEL DES JPEG-VERFAHRENS Um das digitale Schneiden von digitalisierten Bildern zu ermöglichen, ist es notwendig, die drastisch hohe Datenmenge, die für jedes Bild gespeichert

Mehr

Perlen der Informatik I Wintersemester 2012 Aufgabenblatt 6

Perlen der Informatik I Wintersemester 2012 Aufgabenblatt 6 Technische Universität München WS 2012 Institut für Informatik Prof. Dr. H.-J. Bungartz Prof. Dr. T. Huckle Prof. Dr. M. Bader Kristof Unterweger Perlen der Informatik I Wintersemester 2012 Aufgabenblatt

Mehr

Digitalisierung. analoges Signal PAM. Quantisierung

Digitalisierung. analoges Signal PAM. Quantisierung Digitalisierung U analoges Signal t U PAM t U Quantisierung t Datenreduktion Redundanzreduktion (verlustfrei): mehrfach vorhandene Informationen werden nur einmal übertragen, das Signal ist ohne Verluste

Mehr

Mathematisches Praktikum - SoSe 2014

Mathematisches Praktikum - SoSe 2014 Mathematisches Praktikum - SoSe 2014 Prof. Dr. Wolfgang Dahmen Felix Gruber, M. Sc., Christian Löbbert, M. Sc., Yuanjun Zhang, M. Sc., Klaus Kaiser, M. Sc. Zusatzaufgabe 3 für Informatiker Bearbeitungszeit:

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

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

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Universität Innsbruck Institut für Informatik Zweite Prüfung 16. Oktober 2008 Algorithmen und Datenstrukturen Name: Matrikelnr: Die Prüfung besteht aus 8 Aufgaben. Die verfügbaren Punkte für jede Aufgabe

Mehr

Grafikformate: JPG - PNG

Grafikformate: JPG - PNG Grafikformate: JPG - PNG JPG JPG ist die Kurzform von JPEG (Joint Photographic Experts Group) Das Dateiformat nennt sich eigentlich JFIF (JPEG File Interchange Format) Spezifikation Bezeichnungen JPEG

Mehr

Einführung Aufgabe 3 - MPEG. Tobias Reinsch 2011

Einführung Aufgabe 3 - MPEG. Tobias Reinsch 2011 Einführung Aufgabe 3 - MPEG Tobias Reinsch 2011 Allgemeines Aufgabe 3 - MPEG Ziel der Aufgabe Kennenlernen der Bildkodierungsverfahren des MPEG Standards Praktische Umsetzung dieser Techniken mit Java

Mehr

Datenkompression. Vortrag von Markus Durzinsky Student der Otto-von-Guericke-Universität Magdeburg

Datenkompression. Vortrag von Markus Durzinsky Student der Otto-von-Guericke-Universität Magdeburg Vortrag am 25. Januar 200 Werner von Siemens Gymnasium Magdeburg Zeitansatz: 5h (inklusive Programmieraufgaben) Datenkompression Vortrag von Markus Durzinsky Student der Otto-von-Guericke-Universität Magdeburg

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

Informatik-Seminar Thema 6: Bäume

Informatik-Seminar Thema 6: Bäume Informatik-Seminar 2003 - Thema 6: Bäume Robin Brandt 14. November 2003 1 Robin Brandt Informatik-Seminar 2003 - Thema 6: Bäume Übersicht Definition Eigenschaften Operationen Idee Beispiel Datendefinition

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

7. Organisation von Informationen

7. Organisation von Informationen Computeranwendung in der Chemie Informatik für Chemiker(innen) 7. Organisation von Informationen Jens Döbler 2003 "Computer in der Chemie", WS 2003-04, Humboldt-Universität VL7 Folie 1 Grundlagen Programme

Mehr

Proseminar. Thema: Shannon-Fano und Huffman Verfahren

Proseminar. Thema: Shannon-Fano und Huffman Verfahren Proseminar Datenkompression Thema: Shannon-Fano und Huffman Verfahren Gehalten am 27.11.2002 von Lars Donat 1. Huffman Code Bei diesem bereits 1951 von David A. Huffman veröffentlichtem Algorithmus handelt

Mehr

Molekulare Bioinformatik

Molekulare Bioinformatik Molekulare Bioinformatik Wintersemester 203/204 Prof. Thomas Martinetz Institut für Neuro- und Bioinformatik Universität zu Luebeck 07.0.204 Molekulare Bioinformatik - Vorlesung 0 Wiederhohlung Die Entropie

Mehr

4. Aufgabe: Medizinische Bilder

4. Aufgabe: Medizinische Bilder 4. Aufgabe: Medizinische Bilder 1 Einleitung In der modernen Medizin gibt es zahlreiche bildgebende Verfahren, die eine zuverlässige Diagnose unterstützen. Eine große Rolle spielen dabei das klassische

Mehr

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 16/17. Kapitel 14. Bäume. Bäume 1

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 16/17. Kapitel 14. Bäume. Bäume 1 Kapitel 14 Bäume Bäume 1 Ziele Den Begriff des Baums in der Informatik kennenlernen Bäume als verkettete Datenstruktur repräsentieren können Rekursive Funktionen auf Bäumen verstehen und schreiben können

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

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

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

Proseminar WS 2002/2003

Proseminar WS 2002/2003 Technische Universität Chemnitz Fakultät für Informatik Professur Theoretische Informatik Proseminar WS 2002/2003 Thema: Datenkompression Dynamisches / Adaptives Huffman-Verfahren Danny Grobe Rainer Kuhn

Mehr

Bildkompression Proseminar Datenkompression Daniel Koch

Bildkompression Proseminar Datenkompression Daniel Koch Bildkompression Proseminar Datenkompression Daniel Koch 0 Inhalt INHALT...1 VERLUSTFREIE KOMPRESSIONSVERFAHREN...2 VERLUSTBEHAFTETE KOMPRESSIONSVERFAHREN...3 YUV-FARBREDUKTION...3 QUANTISIERUNG...3 JPEG...4

Mehr

Kompressionsverfahren

Kompressionsverfahren Kompressionsverfahren Quelle: Steinmetz, Ralf: Multimedia-Technologie: Einführung und Grundlagen, Springer, Verlag Adaptive Huffman - Kodierung Nach 17 Zeichen: A(1),B(2),C(2),D(2),E(10) Kodierung A: 000

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

Beispielhafte Testfragen (auch aus Schülerreferaten, Fragen können redundant sein, keine Audio Kompression berücksichtigt):

Beispielhafte Testfragen (auch aus Schülerreferaten, Fragen können redundant sein, keine Audio Kompression berücksichtigt): Beispielhafte Testfragen (auch aus Schülerreferaten, Fragen können redundant sein, keine Audio Kompression berücksichtigt): Was versteht man unter PCM, DPCM, DM, ADPCM? Skizze! Was versteht man unter PCM

Mehr

{0,1} rekursive Aufteilung des Datenraums in die Quadranten NW, NE, SW und SE feste Auflösung des Datenraums in 2 p 2 p Gitterzellen

{0,1} rekursive Aufteilung des Datenraums in die Quadranten NW, NE, SW und SE feste Auflösung des Datenraums in 2 p 2 p Gitterzellen 4.4 MX-Quadtrees (I) MatriX Quadtree Verwaltung 2-dimensionaler Punkte Punkte als 1-Elemente in einer quadratischen Matrix mit Wertebereich {0,1} rekursive Aufteilung des Datenraums in die Quadranten NW,

Mehr

JPEG, MPEG & Co. - Alex Titze. JPEG, MPEG & Co. Alex Titze Referat WS 2004 Konzepte Interaktiver Medien FHTW Berlin.

JPEG, MPEG & Co. - Alex Titze. JPEG, MPEG & Co. Alex Titze Referat WS 2004 Konzepte Interaktiver Medien FHTW Berlin. JPEG, MPEG & Co. Alex Titze 76900504811 Referat WS 2004 Konzepte Interaktiver Medien FHTW Berlin Seite 1 von 12 Inhaltsverzeichnis 1 Einleitung (Abstract) 3 1.1 Deutsch 3 1.2 English 3 2 JPEG 4 2.1 Geschichte

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

Huffman-Kodierung. Fachbereich Medieninformatik. Hochschule Harz. Huffman-Kodierung. Referat. Henner Wöhler. Abgabe:

Huffman-Kodierung. Fachbereich Medieninformatik. Hochschule Harz. Huffman-Kodierung. Referat. Henner Wöhler. Abgabe: Fachbereich Medieninformatik Hochschule Harz Huffman-Kodierung Referat Henner Wöhler 11459 Abgabe: 15.01.2007 Inhaltsverzeichnis Einleitung...I 1. Entropiekodierung...1 1.1 Morse Code...2 1.2 Shannon-Fano-Kodierung...3

Mehr

Diskrete Cosinustransformation (DCT)

Diskrete Cosinustransformation (DCT) Fachbereich Medieninformatik Hochschule Harz Diskrete Cosinustransformation (DCT) Referat Björn Wöldecke 10954 Abgabe: 15.01.2007 Inhaltsverzeichnis Einleitung / Vorwort... 1. Methoden zur Datenreduktion...

Mehr

Technische Informatik - Eine Einführung

Technische Informatik - Eine Einführung Martin-Luther-Universität Halle-Wittenberg Fachbereich Mathematik und Informatik Lehrstuhl für Technische Informatik Prof. P. Molitor Technische Informatik - Eine Einführung Darstellung von Zeichen und

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

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

HTBL Steyr Bildkomprimierung Seite 1 von 9. Ernst Geretschläger

HTBL Steyr Bildkomprimierung Seite 1 von 9. Ernst Geretschläger HTBL Steyr Bildkomprimierung Seite von Ernst Geretschläger ernst.geretschlaeger@htl-steyr.ac.at Bildkomprimierung Mathematische / Fachliche Inhalte in Stichworten: Matrizenrechnung, diskrete Kosinustranformation

Mehr

Algorithmen, Datenstrukturen und Programmieren II SS 2001

Algorithmen, Datenstrukturen und Programmieren II SS 2001 Algorithmen, Datenstrukturen und Programmieren II SS 2001 1. InfixToPostfixConverter: Üblicherweise werden mathematische Ausdrücke in infix-notation geschrieben, d.h. der Operator steht zwischen den Operanden,

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

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders

Mehr

Übungen zu Programmierung I - Blatt 8

Übungen zu Programmierung I - Blatt 8 Dr. G. Zachmann A. Greß Universität Bonn Institut für Informatik II 1. Dezember 2004 Wintersemester 2004/2005 Übungen zu Programmierung I - Blatt 8 Abgabe am Mittwoch, dem 15.12.2004, 15:00 Uhr per E-Mail

Mehr

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny Grundlagen der Informatik Prof. Dr. Stefan Enderle NTA Isny 2 Datenstrukturen 2.1 Einführung Syntax: Definition einer formalen Grammatik, um Regeln einer formalen Sprache (Programmiersprache) festzulegen.

Mehr

Digitales Video. Digitales Video

Digitales Video. Digitales Video Digitales Video Analoges Signal ist durch Bildwandlung weitgehend quantisiert Zeitlich in Einzelbilder und räumlich in Zeilen Beim Einsatz eines CCD-Bildwandlers werden Bildpunkte gebildet Videosignal

Mehr

Einführung in die Informatik II Aus der Informationstheorie: Datenkompression

Einführung in die Informatik II Aus der Informationstheorie: Datenkompression Einführung in die Informatik II Aus der Informationstheorie: Datenkompression Prof. Bernd Brügge, Ph.D Institut für Informatik Technische Universität München Sommersemester 2 2. Juli 2 Copyright 2 Bernd

Mehr

Vorkurs Informatik WiSe 16/17

Vorkurs Informatik WiSe 16/17 Konzepte der Informatik Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 14.10.2016 Technische Universität Braunschweig, IPS Inhaltsverzeichnis Bildcodierung Huffman scher Algorithmus Verlustbehaftete

Mehr

4. Licht, Farbe und Bilder

4. Licht, Farbe und Bilder 4. Licht, Farbe und Bilder 4.1 Licht und Farbe: Physikalische und physiologische Aspekte 4.2 Farbmodelle 4.3 Raster-Bilddatenformate 4.4 Verlustbehaftete Kompression bei Bildern JPEG 4.5 Bewegte Bilder:

Mehr

Gierige Algorithmen Interval Scheduling

Gierige Algorithmen Interval Scheduling Gierige Algorithmen Interval Scheduling IntervalScheduling(s,f). n length[s] 2. A {} 3. j 4. for i 2 to n do 5. if s[i] f[j] then 6. A A {i} 7. j i 8. return A Gierige Algorithmen Interval Scheduling Beweisidee:

Mehr

Kodierungsalgorithmen

Kodierungsalgorithmen Kodierungsalgorithmen Komprimierung Verschlüsselung Komprimierung Zielsetzung: Reduktion der Speicherkapazität Schnellere Übertragung Prinzipien: Wiederholungen in den Eingabedaten kompakter speichern

Mehr

1.2.1 Analoges Speichern auf Vinyl Erläutern Sie die prinzipielle Funktionsweise von Langspielplatten bzw. Plattenspielern.

1.2.1 Analoges Speichern auf Vinyl Erläutern Sie die prinzipielle Funktionsweise von Langspielplatten bzw. Plattenspielern. 1 Digitalisierung https://de.wikipedia.org/wiki/digitalisierung 1.1 Was versteht man unter Digitalisierung 1.2 Digital vs. Analog 1.2.1 Analoges Speichern auf Vinyl Erläutern Sie die prinzipielle Funktionsweise

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

Seminar Kompressionsalgorithmen Huffman-Codierung, arithmetische Codierung

Seminar Kompressionsalgorithmen Huffman-Codierung, arithmetische Codierung Huffman-Codierung, arithmetische Codierung Theoretische Informatik RWTH-Aachen 4. April 2012 Übersicht 1 Einführung 2 3 4 5 6 Einführung Datenkompression Disziplin,die Kompressionsalgorithmen entwirft

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

Grundlagen der Informatik I Information und Daten

Grundlagen der Informatik I Information und Daten Grundlagen der Informatik I Information und Daten Literatur: Einführung in die Informatik, Gumm, H.-P./Sommer, M. Themen der heutigen Veranstaltung 1. Information und Daten 2. Bits 3. Bitfolgen 4. Hexziffern

Mehr

Arbeiten im Datennetz der Universität Regensburg

Arbeiten im Datennetz der Universität Regensburg Wiwi-Workshop Uni Regensburg August 2002 Arbeiten im Datennetz der Universität Regensburg - Das Komprimierungsprogramm Winzip - Dr. Wirtschaftswissenschaftliche Fakultät Gliederung Das Komprimierungsprogramm

Mehr

Übungspaket 32 Einfach verkettete, sortierte Liste

Übungspaket 32 Einfach verkettete, sortierte Liste Übungspaket 32 Einfach verkettete, sortierte Liste Übungsziele: Skript: 1. Aufbau einer einfach verketteten, sortierten Liste 2. Traversieren von Listen 3. Vereinfachung durch ein Dummy-Element Kapitel:

Mehr

LZSS und Deflate. Lars Kunert. April 18, Seminar Kompressionsalgorithmen RWTH Aachen

LZSS und Deflate. Lars Kunert. April 18, Seminar Kompressionsalgorithmen RWTH Aachen LZSS und Deflate Lars Kunert Seminar Kompressionsalgorithmen RWTH Aachen April 18, 2012 Übersicht 1 LZ - Storer, Szymanski (LZSS, 1982) 2 Deflate (1996) 3 Anwendung LZSS - 1 Verbesserungen gegenüber LZ77:

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

Fragen 1. Muss eine DTM ein Wort zu Ende gelesen haben, um es zu akzeptieren? a) Ja! b) Nein!

Fragen 1. Muss eine DTM ein Wort zu Ende gelesen haben, um es zu akzeptieren? a) Ja! b) Nein! 4 Turingmaschinen Eingabeband nicht nur lesen, sondern auch schreiben kann und die zudem mit ihrem Lese-Schreib-Kopf (LSK) nach links und rechts gehen kann. Das Eingabeband ist zudem in beide Richtungen

Mehr

6 Der Advanced Encryption Standard (AES)

6 Der Advanced Encryption Standard (AES) Stand: 9..25 Vorlesung Grundlagen und Methoden der Kryptographie Dietzfelbinger Dieser Abschnitt lehnt sich an die Beschreibung im Buch Kryptographische Systeme von Baumann, Franz und Ptzmann an. 6 Der

Mehr

Erinnerung Blockchiffre

Erinnerung Blockchiffre Erinnerung Blockchiffre Definition schlüsselabhängige Permutation Seien F, F 1 pt Algorithmen. F heißt schlüsselabhängige Permutation auf l Bits falls 1 F berechnet eine Funktion {0, 1} n {0, 1} l {0,

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

Arithmetisches Codieren

Arithmetisches Codieren Arithmetisches Codieren 1. Motivation: Als Alternative zum arithmetischen Codieren bot sich damals als effizientester Algorithmus das Huffmann-Coding an. Dieses jedoch hatte einen entscheidenden Nachteil:

Mehr

Einführung in die Informatik I

Einführung in die Informatik I Einführung in die Informatik I Das Rechnen in Zahlensystemen zur Basis b=2, 8, 10 und 16 Prof. Dr. Nikolaus Wulff Zahlensysteme Neben dem üblichen dezimalen Zahlensystem zur Basis 10 sind in der Informatik

Mehr

Teil VII. Hashverfahren

Teil VII. Hashverfahren Teil VII Hashverfahren Überblick 1 Hashverfahren: Prinzip 2 Hashfunktionen 3 Kollisionsstrategien 4 Aufwand 5 Hashen in Java Prof. G. Stumme Algorithmen & Datenstrukturen Sommersemester 2009 7 1 Hashverfahren:

Mehr

Binärbäume: Beispiel

Binärbäume: Beispiel Binärbäume Als Beispiel für eine interessantere dynamische Datenstruktur sehen wir uns jetzt Binärbäume an Ein Binärbaum wird rekursiv definiert: Er ist leer oder besteht aus einem Knoten (die Wurzel des

Mehr

M. Graefenhan 2000-12-07. Übungen zu C. Blatt 3. Musterlösung

M. Graefenhan 2000-12-07. Übungen zu C. Blatt 3. Musterlösung M. Graefenhan 2000-12-07 Aufgabe Lösungsweg Übungen zu C Blatt 3 Musterlösung Schreiben Sie ein Programm, das die Häufigkeit von Zeichen in einem eingelesenen String feststellt. Benutzen Sie dazu ein zweidimensionales

Mehr

Video. Grundlagen Videokompression

Video. Grundlagen Videokompression Video Grundlagen Videokompression Videokompression: Motion Compensation Video 1. Grundlagen der Videokompression Damit im Film Bewegung flüssig dargestellt werden kann, benötigt man ca. 15-25 Bilder pro

Mehr

Zusatzübung. Abgabetermin: Gruppe: G1 (Löberbauer) G2 (Prähofer) G3 (Prähofer)

Zusatzübung. Abgabetermin: Gruppe: G1 (Löberbauer) G2 (Prähofer) G3 (Prähofer) Zusatzübung Abgabetermin: 1. 3. 2006 Name: Matrikelnummer: Gruppe: G1 (Löberbauer) G2 (Prähofer) G3 (Prähofer) Aufgabe Punkte gelöst abzugeben schriftlich abzugeben elektronisch korr. Pkte Aufgabe 11.1

Mehr

Wann sind Codes eindeutig entschlüsselbar?

Wann sind Codes eindeutig entschlüsselbar? Wann sind Codes eindeutig entschlüsselbar? Definition Suffix Sei C ein Code. Ein Folge s {0, 1} heißt Suffix in C falls 1 c i, c j C : c i = c j s oder 2 c C und einen Suffix s in C: s = cs oder 3 c C

Mehr

Proseminar Datenkomprimierung Dr. U. Tamm. Bildkompression WS 2002/03. Florian Strunk

Proseminar Datenkomprimierung Dr. U. Tamm. Bildkompression WS 2002/03. Florian Strunk Proseminar Datenkomprimierung Dr. U. Tamm Bildkompression WS 2002/03 Florian Strunk Problematik: Die Datencodierung und Kompression ist so alt wie die Geschichte des Computers. Seit dem es hochauflösende

Mehr

Klasse räumlicher Indexstrukturen, die den Datenraum rekursiv in 4 gleich große Zellen unterteilen (Quadranten NW, NE, SW, SE)

Klasse räumlicher Indexstrukturen, die den Datenraum rekursiv in 4 gleich große Zellen unterteilen (Quadranten NW, NE, SW, SE) 4.4 Quadtrees Überblick Klasse räumlicher Indexstrukturen, die den Datenraum rekursiv in 4 gleich große Zellen unterteilen (Quadranten NW, NE, SW, SE) Verwaltung von Punkten, Kurven, Flächen usw., häufig

Mehr

Die Digitalisierung von Musik

Die Digitalisierung von Musik Die Digitalisierung von Musik 1 Analoges Speichern Speicherung von Musik auf einer LP Die Daten sind analog gespeichert Analysis 2 Digitale Datenerfassung 1.Sampling Das (akustische) elektrische Signal

Mehr

4.4 Quadtrees. Literatur

4.4 Quadtrees. Literatur 4.4 Quadtrees Überblick Klasse räumlicher Indexstrukturen, die den Datenraum rekursiv in 4 gleich große Zellen unterteilen (Quadranten NW, NE, SW, SE) Verwaltung von Punkten, Kurven, Flächen usw., häufig

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

Die (Un-)Sicherheit von DES

Die (Un-)Sicherheit von DES Die (Un-)Sicherheit von DES Sicherheit von DES: Bester praktischer Angriff ist noch immer die Brute-Force Suche. Die folgende Tabelle gibt eine Übersicht über DES Kryptanalysen. Jahr Projekt Zeit 1997

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

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