0% found this document useful (0 votes)
74 views23 pages

FH Offenburg Bildverarbeitung Bildformate

The document discusses the structure and components of GIF image files. A GIF file consists of a header with metadata, an optional global color map, and blocks for each image including descriptor blocks, optional local color maps, and raster data blocks. It uses LZW compression to reduce file size while still allowing for fast image display. GIF supports up to 256 colors and is a widely used standard for image storage and sharing.

Uploaded by

fuzzy_mouse
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
74 views23 pages

FH Offenburg Bildverarbeitung Bildformate

The document discusses the structure and components of GIF image files. A GIF file consists of a header with metadata, an optional global color map, and blocks for each image including descriptor blocks, optional local color maps, and raster data blocks. It uses LZW compression to reduce file size while still allowing for fast image display. GIF supports up to 256 colors and is a widely used standard for image storage and sharing.

Uploaded by

fuzzy_mouse
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 23

FH Offenburg Bildverarbeitung Bildformate

Uwe Bayer , EN 8 , SS 96 Seite 1


FH Offenburg Bildverarbeitung Bildformate

INHALT
1 GIF....................................................................................................................................................................... 3
1.1 ALLGEMEINES .................................................................................................................................................... 3
1.2 AUFBAU ............................................................................................................................................................. 3
1.2.1 Logical Screen Descriptor Block................................................................................................................ 4
1.2.2 Global Color Map ...................................................................................................................................... 4
1.2.3 Image Descriptor Block.............................................................................................................................. 5
1.2.4 Extension Block .......................................................................................................................................... 5
1.2.4.1 Extension Block Version "87a" ............................................................................................................................. 6
1.2.4.2 Extension Block Version "89a" ............................................................................................................................. 6
1.2.5 Raster Data Block....................................................................................................................................... 8
1.2.5.1 Raster Data Block Version "87a"........................................................................................................................... 8
1.2.5.2 Raster Data Block Version "89a"........................................................................................................................... 8
1.3 DER LZW - ALGORITHMUS ................................................................................................................................ 9
2 JPEG.................................................................................................................................................................. 10
2.1 ALLGEMEINES .................................................................................................................................................. 10
2.2 DIE BASISMETHODEN ....................................................................................................................................... 10
2.2.1 Informationserhaltende Kompression ...................................................................................................... 10
2.2.2 Kompression mit Verlusten....................................................................................................................... 10
2.3 DER YCBCR - FARBRAUM ................................................................................................................................. 12
2.4 FARBSUBSAMPLING .......................................................................................................................................... 12
2.5 DISKRETE KOSINUSTTRANSFORMATION ........................................................................................................... 12
2.6 QUANTISIERUNG............................................................................................................................................... 13
2.7 DIE DATENKOMPRESSION ................................................................................................................................. 14
2.7.1 Variable Length Integers.......................................................................................................................... 14
2.7.2 Huffman - Codierung................................................................................................................................ 14
2.7.3 Arithmetische Codierung.......................................................................................................................... 15
2.8 DAS JPEG INTERCHANGE FORMAT .................................................................................................................. 15
3 MPEG................................................................................................................................................................ 16
3.1 ALLGEMEINES .................................................................................................................................................. 16
3.2 MPEG - ANWENDUNGEN ................................................................................................................................. 16
3.2.1 MPEG 1.................................................................................................................................................... 16
3.2.2 MPEG 2.................................................................................................................................................... 16
3.3 DAS MPEG - VERFAHREN ............................................................................................................................... 17
3.3.1 Schichten .................................................................................................................................................. 17
3.3.2 Das Grundprinzip..................................................................................................................................... 17
3.3.3 Die Bildtypen ............................................................................................................................................ 18
3.3.4 Bewegungskompensation.......................................................................................................................... 18
3.3.5 Reduktionsmethode bei Realvideo ............................................................................................................ 19
3.4 DER AUFBAU.................................................................................................................................................... 19
3.4.1 Die Blockebene......................................................................................................................................... 20
3.4.2 Die Makroebene ....................................................................................................................................... 21
3.4.3 Die Slice - Ebene ...................................................................................................................................... 21
3.4.4 Die Picture - Ebene .................................................................................................................................. 21
3.4.5 Die Group - of - Picture - Ebene ( GOP ) ................................................................................................ 21
3.4.6 Die Sequence - Ebene............................................................................................................................... 22
3.5 UNTERSCHIEDE MPEG 1 - MPEG 2 ................................................................................................................ 22
4 LITERATURVERZEICHNIS......................................................................................................................... 23

Uwe Bayer , EN 8 , SS 96 Seite 2


FH Offenburg Bildverarbeitung Bildformate

1 GIF

1.1 Allgemeines

Das GIF - Format ( Graphics Interchange Format ) wurde von CompuServe auf den Markt
gebracht . Es duerfte das gebruchlichste Format zur Bildspeicherung sein . Wohl alle
Grafikprogramme und Scanner untersttzen diesen Standard . Es ist nahezu hardware -
unabhngig . Die maximale Gre eines Bildes betrgt 64Kb * 64 Kb Pixels und bis zu 256
Farben aus 16 Millionen mglichen Farben knnen dargestellt werden . Durch die verwendete
Komprimierung und Dekomprimierung ist eine schnelle Bildwiedergabe mglich . In einer
Datei knnen mehrere Bilder untergebracht werden . Von GIF existieren die Versionen
"GIF87a" und "GIF89a" jeweils nach dem Entstehungsjahr benannt .
GIF nutzt zur Datenkompression den LZW - Algorithmus . Er wurde 1984 bei der Firma
Unisys entwickelt .

1.2 Aufbau

Jedes Bild wird als eine Reihe verschieden groer , rechteckiger Teilbilder definiert , die auf
einem Hintergrund mit festgelegter Farbe liegen . Die unbedeckten Hintergrundflchen
knnen auer acht gelassen werden , was Speicherplatz einspart . Jedes dieser Teilbilder hat
einen eigenen Datenblock , im dem alle wesentlichen Daten gespeichert sind . Die gesamte
Datei ist aus mehreren Teilblcken zusammengesetzt .

Eine GIF -Datei ist folgendermaen aufgebaut :

Bytes Bedeutung
3 Signatur "GIF"
3 GIF - Standard ( "87a" oder "89a" )
7 Logical Screen Descriptor Block
n Global Color Map ( optional )
Fr jedes Teilbild folgt :
n Extension Block (optional)
n Image Descriptor Block
n Local Color Map (optional)
n Raster Data Block
Nach dem letzten Raster Block folgt :
n Extension Block (optional)
1 Terminator
Abbildung 1-1 : Aufbau einer GIF-Datei

Uwe Bayer , EN 8 , SS 96 Seite 3


FH Offenburg Bildverarbeitung Bildformate

1.2.1 Logical Screen Descriptor Block


In diesem Block sind Daten enthalten , die sie sich auf das gesamte Bild beziehen . Sie geben
den Bereich an , in dem das Bild angezeigt wird , sowie Farbinformationen zur Darstellung
des Bildes .

Bytes Bedeutung
2 Logical Screen Width
Breite des logischen Bildschirms in Pixeln
2 Logical Screen Hight
Hhe des logischen Bildschirms in Pixeln
1 Resolution Flag
Bit 7 : Global Color Map Flag
0 : keine Global Color Map
1 : Global Color Map folgt nach Logical Screen Descriptor Block
Bit 6-4: Color Resolution Der angegebene Wert ist um 1 zu erhhen , er gibt dann
die Anzahl der Bits an, die zur Festlegung der RGB-Anteile in der Farb-
tabelle zur Verfgung stehen
Bit 3 : in "87a" nicht benutzt
in "89a" :
0 : Global Color Map nicht sortiert
1 : Global Color Map nach abnehmender Wichtigkeit sortiert
Bit 2-0: Anzahl der Bits pro Pixel
Der Angegebene Wert ist um 1 zu erhhen , Gre der Global Color Map :
2Wert+1 Eintrge
1 Hintergrundfarbe : wird aus der Global Color Map ausgewhlt und gibt die Farbe der
Pixel an , die nicht von einem Bild bedeckt sind .
1 Pixel Aspect Ratio : Seitenverhltnis des Pixels im Bild ( Breite/Hhe) ,der Wert liegt
zwischen 1 und 255 , das Seitenverhltnis ergibt sich aus ( Wert +15 ) / 64
Abbildung 1-2 : Logical Descriptor Block

1.2.2 Global Color Map


Ist Bit 7 im Resolution Flag des Logical Srceen Descriptor Blocks auf "1" gesetzt , so wird
eine Global Color Map benutzt . Sie wird fr die Bilder verwendet , die keine Local Color
Map nutzen . Sie enthlt maximal 256 Eintrge an Farben oder Graustufen . Jeder Eintrag
besteht aus 3 Bytes , die jeweils die Rot-, Grn- und Blauintensitt festlegt ( RGB). "255/0/0"
wre somit Rot , "0/0/0" Wei . Die Farbtabelle kann somit bis zu 256 von 16 Millionen
mglichen Farbwerten beinhalten .

Byte Inhalt
1 Rotanteil fr Farbe mit Index 0
2 Grnanteil fr Farbe mit Index 0
3 Blauanteil fr Farbe mit Index 0

Rotanteil fr Farbe mit Index n (max 255)


Grnanteil fr Farbe mit Index n (max 255)
Blauanteil fr Farbe mit Index n (max 255)

Uwe Bayer , EN 8 , SS 96 Seite 4


FH Offenburg Bildverarbeitung Bildformate

Abbildung 1-3 : Global Color Map

1.2.3 Image Descriptor Block

Hier wird die Gre eines Teilbildes und seine Koordinaten festgelegt . Der Block ist
folgendermaen aufgebaut :

Byte Bedeutung
1 Image Separator Header ( , )
2 linke Position des Bildes : Abstand vom linken Rand in Pixel des logical Screen
2 obere Position des Bildes : Abstand vom oberen Rand in Pixel des logical Screen
2 Breite des Bildes in Pixel
2 Hhe des Bildes in Pixel
1 Flag:
Bit 7 : Local Color Table Flag
0 : Local Color Table existiert nicht , Global Color Table wird benutzt
1 : Local Color Table existiert , Farben des Bildes beziehen sich auf diese
Tabelle . Die Local Color Table steht direkt hinter dem Image Descriptor .
Bit 6 : Interlace Flag
Dieses Flag gibt an , in welcher Reihenfolge die horizontalen Punktreihen des
Bildes gespeichert werden .
0 : sequentieller Modus : Bild wird Zeile fr Zeile ausgegeben von oben nach
unten
1 : interlaced Modus : Bild wird in vier Schritten aufgebaut :
1. Zeilen 0 , 8 , 16 ...
2. Zeilen 4 , 12 , 20 ...
3. Zeilen 2 , 6 , 10 ...
4 . restliche Zeilen 1 , 3, 5 ...
Vorteil : Bei einer bertragung hat man ein immer deutlicher werdendes
Bild
Bit 5 : Sort Flag : Ist dieses Bit gesetzt , wird die Local Color Table nach ab -
nehmender Wichtigkeit der Farben sortiert . Die am meisten vorkommenden
Farben stehen am Anfang . Ist die Darstellung aller Farben nicht mglich,
kann
eine Auswahl getroffen werden .
Bit 4-3 : reserviert
Bit 2-0 : "87a" : Anzahl der Bits pro Bildpunkt
"89a" : Gre der Local Color Table : 3*2Wert+1 Bytes
Abbildung 1-4 : Image Descriptor Block

1.2.4 Extension Block

Die optionalen Erweiterungsblcke knnen vor dem GIF - Terminator oder vor jedem Image
Descriptor Block stehen . Die enthaltenen Daten geben Auskunft ber die benutzte
Sowftware,
das bilderzeugende Gert , den Bildaufbau . Die Versionen "87a" und "89a" unterscheiden
sich hierin .

Uwe Bayer , EN 8 , SS 96 Seite 5


FH Offenburg Bildverarbeitung Bildformate

1.2.4.1 Extension Block Version "87a"

Bytes Bedeutung
1 GIF - Extension Block Header ( ! )
1 Extension Function Code : Zusatzfunktion mit Angaben zu folgenden Daten
1 Lnge des folgenden Datenblocks
n Datenblock

1 Lnge des folgenden Datenblocks


n Datenblock
1 Block Terminator ( 00h )
Abbildung 1-5 : Extension Block "87a"

1.2.4.2 Extension Block Version "89a"

In dieser Version unterscheidet man 4 verschiedene Erweiterungsblcke : Graphics Control


Extension , Comment Extension , Plain Text Extension und Application Extension .

Graphics Control Extension

Bytes Bedeutung
1 GIF - Extension Block Header ( ! )
1 Identifikation als Graphics Control Extension ( F9h )
1 Gre des Blocks : Anzahl der Bytes zwischen diesem Block und Block Terminator
fester Wert 4
1 Packed Fields
Bit 7-5 : reserviert
Bit 4-2 : Disposal Method : gibt an ,wie das Bild nach der ersten Anzeige auf dem
Bildschirm behandelt wird
0 : keine Aktion
1 : keine Verschiebung des Bildes
2 : Bild mit Hintergrundfarbe berschreiben
3 : Bild mit vorhergehendem Bild berschreiben
4-7 : nicht benutzt ( 0 )
Bit 1 : User Input Flag : gesetzt , wenn Benutzereingabe vor Fortsetzung erwartet
wird
Bit 0 : Transparent Color Flag
1 : Color Index ( s.u. ) enthlt Daten
0 : kein Color Index vorhanden
1 Delay Time : gibt die Zeit in 1/100 s an ,die gewartet wird , bevor die Prsentation
weitergeht . Ist dieses und User Input Flag gesetzt , wird fortgefahren , wenn eine
von beiden Aktionen erfolgt ist .
1 Color Index : Pixel mit der entsprechenden Farbe werden nicht verndert , es wird
mit dem nchsten Bildpunkt fortgefahren
1 Block Terminator ( 0 )
Abbildung 1-6 : Graphics Control Extension

Uwe Bayer , EN 8 , SS 96 Seite 6


FH Offenburg Bildverarbeitung Bildformate

Comment Extension Block

Dieser Block enthlt Text mit zustzlichen Informationen zu den Bildern . Er ist
ausschlielich fr den Benutzer und nicht fr die Anwendung gedacht . Der Kommentar
macht Angaben zur Quelle des Bildes, dem Autor , der Software , Datum . Einige
Grafikprogramme zeigen diese Informationen bei Aufruf des Bildes an .

Bytes Bedeutung
1 Extension Block Header ( 21h )
1 Identifikation als Comment Extension Block ( Feh )
... Comment Data : Aufteilung der Daten in Unterblcke von bis zu 255 Bytes . Jeder
Unterblock beginnt mit seiner Gre .
1 Block Terminator ( 0 )
Abbildung 1-7 : Comment Extension Block

Plain Text Extension Block

Hier ist Text enthalten und die notwendigen Parameter , um diesen Text als Grafik darstellen
zu knnen . Der Text wird innerhalb eines im Block festgelegten Feldes angezeigt , jedes
Zeichen erhlt sein eigenes Feld .

Bytes Beschreibung
1 Extension Block Header ( 21h )
1 Identifikation als Plain Text Extension Block ( 01h )
1 Block Size : Anzahl der Bytes von diesem Feld bis zum Text Background Index
fester Wert 12
2 Text Grid Left Position : Spaltennummer ( in Pixel ) der linken Ecke des Textgitters
von der linken Ecke des logischen Bildschirms aus
2 Text Grid Top Position : Zeilennummer der oberen Ecke des Textgitters
2 Text Grid Width : Breite des Textgitters in Pixel
2 Text Grid Height : Hhe des Textgitters in Pixel
1 Character Cell Width : Breite jeder Zelle im Gitterfeld in Pixel
1 Character Cell Height : Hhe jeder Zelle im Gitterfeld in Pixel
1 Text Foreground Color Index : Index der Textvordergrundfarbe aus der Global
Color Map
1 Text Background Color Index : Index der Texthintergrundfarbe aus der Global Color
Map
... Plain Text Data : Unterteilung der Daten in Unterblcke von bis zu 255 Bytes . Jeder
Unterblock beginnt mit seiner Gre .
1 Block Terminator ( 0 )
Abbildung 1-8 : Plain Text Extension Block

Uwe Bayer , EN 8 , SS 96 Seite 7


FH Offenburg Bildverarbeitung Bildformate

Application Extension Block

Dieser Block enthlt Daten fr Anwendungen , diese knnen nur von den Anwendnungen
selbst gelesen werden .

Bytes Beschreibung
1 Extension Block Header ( 21h )
1 Identifikation als Application Block Extension ( FF h )
1 Block Size : Anzahl der Bytes von diesem Feld bis zum Application Authentication
Code , fester Wert 11
8 Application Identifier : Folge von bis zu 8 ASCII Zeichen um die Anwendung zu
erkennen . Wird dieser Wert erkannt , wird der Rest des Blocks gelesen und
ensprechend gehandelt . Wird der Wert nicht erkannt , wird der Rest des Blocks
zwar gelesen , aber nicht beachtet .
3 Application Authentication Code : Beinhaltet Seriennummer , Versionsnummer oder
ASCII-Code, um um Anwendung zu erkennen .
... Application Data : Daten fr die spezielle Anwenung
1 Block-Terminator ( 0 )
Abbildung 1-9 : Plain Text Extension Block

1.2.5 Raster Data Block

Hier wird wieder zwischen Version "87a" und Version "89a" unterschieden .

1.2.5.1 Raster Data Block Version "87a"

Bytes Beschreibung
1 Anzahl Bits pro Pixel
4 Zahl der Bytes im folgenden Datenblock
... Datenbytes
Die Farbindizes der Bildpunkte werden nach dem LZW - Algorithmus abgespeichert
, und zwar von links nach rechts und im sequentiellen Modus von oben nach unten .
Ist das Interlaceed Flag gesetzt , liegen die Zeilen im dafr bentigten Format vor .
1 Block Terminator ( 0 )
Abbildung 1-10 : Raster Data Block "87a"

1.2.5.2 Raster Data Block Version "89a"

Bytes Beschreibung
1 LZW code size
Gibt bei der LZW - Kompression die Anzahl von Bits an , die fr die Indizes in dere
Code Tabelle anfnglich benutzt werden .
folgender Abschnitt wird so oft wie ntig wiederholt :
1 Gre des Datenblocks ( max. 255 )
... Datenbytes

1 Blockterminator ( 0)

Uwe Bayer , EN 8 , SS 96 Seite 8


FH Offenburg Bildverarbeitung Bildformate

Abbildung 1-11 : Raster Data Block "89a"

1.3 Der LZW - Algorithmus


Der LZW - Algorithmus ist recht gebruchlich . Seine verlustfreie Datenkompression ist auch
im dem Grafikformat TIFF zu finden . Er ist Teil der V.42bs Modem Kompressionsstandard .
1977 wurde der LZ77 - Algorithmus von Lempel und Ziv erzeugt , der in den
Archivierungsprogrammen compress , zoo , lha , pkzip und arj zu finden ist .
1984 hat Welch fr Unisys eine Abwandlung fr Diskcontroller daraus entwickelt .
Der Algorithmus baut eine Art bersetzungstabelle aus den Daten des unkomprimierten
Datenstroms auf . Teildaten die eingehen werden mit der Tabelle verglichen und erhalten
einen Code , falls sie schon in der Tabelle stehen . Ist dieser Teildatenstrom nicht in der
Tabelle zu finden , wird er hinzugefgt und sein Code wird weitergeleitet . Die Codetabelle
kann aus bis zu 4096 Eintrgen bestehen .

Uwe Bayer , EN 8 , SS 96 Seite 9


FH Offenburg Bildverarbeitung Bildformate

2 JPEG

2.1 Allgemeines

Da die Bildinformation nicht 1:1 erhalten bleiben mu , damit sich das rekonstruierte Bild
nicht sichtbar vom Original unterscheidet , wurde das JPEG - Verfahren entwickelt . JPEG
steht fr Joint Picture Expert Group . Es wurde 1993 als Standard festgeschrieben . JPEG ist
kein eigentliches Dateiformat sondern mehr eine Ansammlung von Algorithmen zur
Kompression . Je nach Anwendung knnen gewnschte Teile ausgewhlt werden fr
verschiedene Anfordungen .
Bei der Entwicklung von JPEG sollten folgende Anforderungen eingehalten werden :
Verfahren zur Kompression ohne Datenverlust
Verfahren zur Kompression mit Datenverlust , aber einstellbare Kompressionrate
vertretbare Komplexitt der Algorithmen
anwendbar fr alle Arten von unbewegten Bildern

2.2 Die Basismethoden

JPEG unterscheidet grundstzlich zwei Methoden :


- informationserhaltendes Kompressionverfahren
- verlustbehaftetes Kompressionverfahren

2.2.1 Informationserhaltende Kompression

Bei diesem Verfahren werden die Bilddaten so komprimiert , da nach der Dekompression
das ursprngliche Bild wieder zur Verfgung steht . Hier arbeitet JPEG im lossless mode .
Bei der Komprimierung werden zunchst die Daten in Deskriptoren umgewandelt und diese
anschlieend in einer Tabelle abgelegt . Diese werden dann entsprechend codiert .
Beim lossless mode wird die differentielle Pulscodemodulation verwendet . Dafr kann die
Huffman - Codierung und das binr arithmetische Codieren verwendet werden . Dieser Modus
wird dann verwendet , wenn keine Fehler vorkommen drfen , ansonsten wird er weniger
angewendet , da die Kompressionsrate nicht sehr hoch ist .

2.2.2 Kompression mit Verlusten

Bei Verlusten geht nicht die Bildqualitt verloren , sondern Information auf die man
verzichten kann , da man mit JPEG Kompressionraten von 20:1 erreicht , ohne da sich das
dekomprimierte Bild wesentlich vom Original unterscheidet .
Bei diesem Verfahren eignet sich die 8x8 diskrete Kosinustransformation ( DCT ) am besten .
Hierfr wurde der Baseline Codec festgelegt , nach dem alle DCT Verfahren arbeiten . Er ist
folgendermaen aufgebaut :

Uwe Bayer , EN 8 , SS 96 Seite 10


FH Offenburg Bildverarbeitung Bildformate

1. Konvertierung des Bildes in den YCbCr - Farbraum


2. Farb - Subsampling
3. Diskrete Kosinustransformation ( DCT )
4. Quantisieren der DCT - Koeffizienten
5. Codieren der Koeffizienten

FDCT Quantisierung Codierung 10011011

Tabellen Tabellen

IDCT Dequantisierung Codierung 10011011

Abbildung 2-1 : Baseline Codec

Folgende Operationsmoden benutzen die diskrete Kosinustransformation :

Sequential Mode :
Hier codiert man die Bilddaten von links oben nach rechts unten . Falls ein Bild aus
mehreren Komponenten besteht , werden diese nicht nacheinander sondern
berlappend behandelt . Dadurch ist es mglich , die Bilddaten gleich auszugeben ,
man mu nicht die Abarbeitung der einzelnen Komponenten abwarten . Dieser Mode
kann bei allen Anwendungen verwendet werden , er hat die besten Kompressionraten
und kann leicht verwirklicht werden .

Progressive Mode :
Das Bild wird hier in mehreren Durchlufen bearbeitet , wobei immer nur ein Teil der
Koeffizienten codiert wird . Es gibt zwei Methoden : die Zusamenfassung der
Koeffizienten in Frequenzbndern und Beginn der Codierung bei den niedrigen
Frequenzen und die bertragung der Koeffizienten mit immer besser werdender
Genauigkeit . Betrachtet man die einzelnen Durchlufe , so ist das Bild zu Beginn
unscharf wird jedoch zunehmend schrfer .

Hierachical Mode :
Er ist eine andere Art des Progressive Mode . Hier werden eine Menge von Bildern mit
immer grober werdender Auflsung verwendet , die durch downsampling ( filtern mit
einem Tiefpa und Mittelung ber mehrere Pixel ) erzeugt werden . Erst wird das Bild
mit der kleinsten Auflsung codiert . Man nimmt dies nun zur Vorhersage fr das
nchste Bild mit einer besseren Auflsung . Dies luft solange , bis die volle
Auflsung erreicht ist .

Uwe Bayer , EN 8 , SS 96 Seite 11


FH Offenburg Bildverarbeitung Bildformate

2.3 Der YCbCr - Farbraum

Hierbei handelt es sich um ein Helligkeit - Farbigkeit - Modell , bei dem der RGB - Farbwert
in eine Grundhelligkeit Y und in zwei Komponenten Cb und Cr umgerechnet wird . Cb ist ein
Ma fr die Abweichung von der Mittelfarbe Grau in Richtung Blau , Cr ist die Differenz in
Richtung Rot . Die meiste Information steckt in der Grundhelligkeit Y , man braucht nur
noch die Abweichungen nach Rot und Blau .

Umrechnung von RGB nach YCbCr :

Y 0.299 0.587 0114


. R

Cb = 01687
. 0.3313 0.5 = G
C 0.5
0.4187 0.0813 B

r

Umrechnung von YCbCr nach RGB :

R 1 0 1402
. Y

G = 1 0.3441 0. 714 = Cb

B 1 1772 . 0 Cr

2.4 Farbsubsampling

Man kann an der Ortsauflsung von Cb und Cr sparen , da das Auge feine rtliche
Unterschiede nur schwer wahrnimmt . Man mittelt Cb und Cr in Gebieten von 2x2 Pixeln und
codiert die gemittelen Werte des gesamten Gebietes , anstatt Cb und Cr in jedem Punkt zu
codieren .

2.5 Diskrete Kosinusttransformation

Das Auge kann weiche Farbbergnge schlechter auflsen als geringe


Helligkeitsunterschiede.
Bei Farbunterschieden , die das Auge besser auflst spricht man von niedrigen Ortsfrequenzen
bei schlechterer Auflsung von hohen Ortsfrequenzen . Bei der DCT werden nun hohe
Ortsfrequenzen herausgefiltert und diese schlechter oder berhaupt nicht codiert .
Die vorliegenden , vorzeichenlosen Integerzahlen werden in eine fr die DCT geeignete Form
gebracht . Im Baseline Codec ist die Genauigkeit 8 Bit, so da der neue Nullpunkt beim
ursprnglichen Wert 128 liegt . Die Bilddaten werden dann in Blcken mit 8x8 Pixeln
gerastert. Dieser Block wird als Vektor eines geeigneten Vektorraums angenommen . Die
DCT nimmt einen Basiswechsel vor . Nun werden als Basisvektoren 64 Blcke mit 8x8
Pixeln genommen , die bezglich des Vektorraums eine Orthonormalbasis bilden . Man erhlt
die Basisvektoren mit der folgenden Formel :

Uwe Bayer , EN 8 , SS 96 Seite 12


FH Offenburg Bildverarbeitung Bildformate

1 7 7
( 2 x + 1)u ( 2 y + 1)u
Cu,v = u v cos cos
4 x=0 y =0 16 16

Dadurch erhlt man 64 eindeutige Koeffizienten , die den Anteil des jeweiligen Basisblocks
am Bilddatenblock darstellen .
Die Koeffizienten werden folgendermaen berechnet :

1 7 7

F ( u, v ) = u v f ( i, j ) cos ( 2 i + 1) u cos ( 2 j + 1) v
4 i= 0 j =0 16 16

F(u,v) : DCT - Koeffizient

Zur Rcktransformation in die Ursprungsform bentigt man folgende Formel :

1 7 7
f ( i, j ) = u v F ( u, v )cos ( 2 i + 1) u cos ( 2 j + 1) v
4 u= 0 v = 0 16 16

f(i,j) : geshifteter Pixelwert

Bei der Codierung und Decodierung treten schon Verluste auf , da die Kosinus - und
Sinusfunktionen nur begrenzt dargestellt werden knnen .

2.6 Quantisierung

Durch die Quantisierung ist es mglich den Kompressionparameter frei zu gestalten . Mehrere
benachbarte Werte werden auf einen neuen Wert abgebildet , wobei die Koeffizienten durch
einen Quantisierungfaktor geteilt und auf den nchsten Intergerwert gerundet werden . Man
benutzt die folgende Gleichung :

1 F ( u, v )
F Q ( u, v ) = +
2 q ( u, v )

Es enstehen nun Informationsverluste , da bei der Rckrechnung die quantisierten Werte nicht
auf die Ursprungswerte zurckfhren . Je grer der Quantisierungsfaktor gewhlt wird ,
desto grer sind die Verluste .
Bei JPEG kann man nun die Kompressionrate als Parameter einstellen , bei der Kompression
werden dann die entsprechenden Quantisierungfaktoren gewhlt .

Uwe Bayer , EN 8 , SS 96 Seite 13


FH Offenburg Bildverarbeitung Bildformate

2.7 Die Datenkompression

Die bisherigen Verfahren sind nur eine recht grobe Transformation der Bilddaten . Diese
Daten werden in einen kompakteren Code abgespeichert , wobei JPEG mehrere Verfahren zur
Verfgung stellt :
- Variable Length Integers , anstatt Integers fester Lnge
- Huffman - Algorithmus
- arithmetisches Codieren

2.7.1 Variable Length Integers

Mu man kleine Zahlen abspeichern , knnte man eine niedrigere Genauigkeit nehmen und
somit Platz sparen .Hat man ein feste Genauigkeit brauchen kleine Zahlen den gleichen Raum
wie groe Zahlen . Bei den Variable Length Integers ( VLI ) wird mit variabler Lnge codiert .
Um die ursprnglichen Werte wieder zu erhalten , u die Lnge des Wertes bei der Codierung
mit angegeben werden . Eine Zahl hat nun die folgende VLI - Darstellung :

Bits Wert
0 0
1 -1 , 1
2 -3 ,-2 , 2 , 3
3 -7 , ... , -4 , 4 , ... , 7
4 -15 , ... , -8 , 8 , ... 15

15 -32767 , ... , -16384 , 16384 , ... , 32767


Abbildung 2-2 : VLI - Darstellung

Einige Beispiele fr den VLI - Code :

Zahl Bits , Vorzeichen , Code


0 000.
-1 001.1
4 001.0.00
-21 101.1.0101
124 111.0.111100
Abbildung 2-3 : VLI -Code

2.7.2 Huffman - Codierung

Auf die Huffman - Codierung wird hier nicht nher eingegangen da sie Thema eines anderen
Referates ist .
Daten aus dem lossless mode werden unverndert weiterverarbeitet .
Daten aus der DCT werden nochmals umformiert , um ein mglichst gute Ergebniss aus der
Huffman - Codierung zu erhalten .

Uwe Bayer , EN 8 , SS 96 Seite 14


FH Offenburg Bildverarbeitung Bildformate

2.7.3 Arithmetische Codierung

Hier wird versucht Zeichen mglichst genau mit der idealen Bitlnge darzustellen .
Die Verteilung eines Zeichens wird in einem Kontext betrachtet . Ein Nullkoeffizient bei
hohen Frequenzen ist wahrscheinlicher als ein Nullkoeffizient bei niedrigen Frequenzen . Die
Null hat somit eine vom Kontext abhngige Verteilung . Der Null wird demzufolge nicht nur
eine Codefolge zugewiesen , sondern mehrere .Im Vergleich zum Huffman - Code lt sich
die durchschnittliche Zeichenlnge somit reduzieren .
Fr die Erstellung des statistischen Modells ordnet der arithmetische Codierer dem Zeichen
ein Intervall entsprechend der Gre der Wahrscheinlichkeit zu . Bei jedem zustzlichen
Zeichen werden die entsprechenden Intervalle geteilt , da der Kontext betrachtet werden mu .

2.8 Das JPEG Interchange Format

Fr die komprimierten Bilder wurde kein allgemein verwendbares Dateiformat festgelegt ,


sondern nur das JPEG Interchange Format , das der Darstellung des Datenstroms dient .
Mit Hilfe von Marken werden die komprimierten Daten strukturiert . Jedes Markensegment
beginnt mit FF . Es knnen zum Auffllen mehrere FF vorangehen . Da die Markensegmente
von variabler Lnge sind , geben am Anfang zwei Bytes diese an .
Es sind noch Codesegmente enthalten , in denen Daten der Codierer stehen .
Ein Datenstrom fngt mit einer SOI - Marke ( start of image ) an und hrt mit einer EOI
Marke ( end of image ) auf . Dazwischen liegen ein oder mehrere Framesegmente , die mit
einer SOF - Marke starten .
Ein Framesegment enhlt wiederum ein oder mehrere Scansegmente beginnend mit der SOS -
Marke .Sie kennzeichnen den Beginn eines Bilddurchlaufs .

Uwe Bayer , EN 8 , SS 96 Seite 15


FH Offenburg Bildverarbeitung Bildformate

3 MPEG

3.1 Allgemeines

MPEG steht fr Motion Picture Expert Group, eine Arbeitsgruppe der ISO , deren Aufgabe es
ist , Normen und Standards fr digitale Video- und Audiokompression zu definieren und zwar
fr die Bereiche Heimanwendung ( MPEG 1 ) und Studio (MPEG 2 ) .
Der in MPEG verwendete Komprimierungsalgorithmus beruht auf der Bewegungs-
kompensation . Da sich zwei aufeinander folgende Bilder derselben Szene nur wenig
unterscheiden , kann man , anstatt beide Vollbilder mit hohem Speicheraufwand zu codieren,
die vernderten Details erfassen und weiterverarbeiten . Dabei kann zwischen verschiedenen
Bildtypen unterschieden werden .

3.2 MPEG - Anwendungen

3.2.1 MPEG 1

Diese Norm wird in in der PC - Welt und im Unterhaltungsmarkt eingesetzt . Dabei wird eine
bertragungsrate von bis zu 1.5 Mbit/s eingesetzt ( single-speed CD-ROM ) . Hhere
bertragungsraten knnen bei digitalen Verfahren wie z.B. HDSL ( High bit rate Digital
Subscriber Line/Link ) angewendet werden .
Beispiele :
Video - CD
CD - i
CD - Karaoke
Videospiele
Video - bertragungen ( ISDN )

3.2.2 MPEG 2

Diese Norm wurde im Hinblick auf digitales Fernsehen definiert , sie untersttzt das
Zeilensprungverfahren und verschiedene Bildformate ( 4:3 , 16:9 ). Die
Kompressionverfahren sind die gleichen wie in MPEG 1 . Nur in der Detailebene erfogten
Verbesserungen .
MPEG 2 wird bei Satellitenfernsehen , Kabelsystemen und Video on demand verwendet
(werden) . Folgende Anwendungen sollen machbar sein :
wahlfreier Zugriff innerhalb des Videos
schnelles Vor - und Zurcksuchen
reverse play
Editierbarkeit
fr den Endkunden finanzierbar

Uwe Bayer , EN 8 , SS 96 Seite 16


FH Offenburg Bildverarbeitung Bildformate

3.3 Das MPEG - Verfahren

3.3.1 Schichten

Es wird in Systemschicht und Kompressionsschicht aufgeteilt . Diese beiden Schichten sind


wiederum aufgeteilt .
Die Systemschicht gibt an , wie Bitstrme von Audio - und Videodaten und privaten Daten zu
einem Bitstrom zusammengefat werden . Zur synchronisierten Wiedergabe von Bild und Ton
werden Zeitmarken ( Presentation Time Stamp ) eingefgt .
Die Systemschicht ist unterteilt in Packet - Layer und Pack - Layer . Packets beinhalten die
Headerinformation und nur Daten einer Art . Im Pack werden die Packets aneinander gereiht .

Diese Daten werden von den Kompressionsschichten fr Audio und Video codiert .

H H H
e e e
Packets a Audio- a Video - a private
d paket d paket d Daten
e e e
r r r

H
e
a Video - Video - Video - Audio -
Pack d paket 1 paket 2 paket 3 paket 1
e
r
Abbildung 3-1 : Systemschicht

3.3.2 Das Grundprinzip

In einer Folge von bewegten Bildern unterscheiden sich die aufeinanderfolgenden Bildern nur
gering mit Ausnahme von Szenenwechseln . Die Bilddetails werden sich kontinuierlich von
einem Bild zum nchsten fortsetzen , zum Beispiel ein vorbeifahrendes Auto . MPEG arbeitet
hier nun mit der Motion Compensation . Ein Vektor beschreibt nun die Bewegung des Autos .
Da man das Auto als ein Objekt nur schwer erfassen kann , untersucht man Makroblcke mit
einer Gre von 16x16 Pixeln . Als nchstes wird die Differenz aus dem realen Makroblock
aus Bild 1 und dem verschobenen Makroblock aus Bild 2 gebildet . Dieses Fehlerbild wird
zusammen mit dem Verschiebungsvektor codiert und gespeichert . Wenn der Unterschied
zwischen den Blcken minimalist. kann auf eine Codierung verzichtet werden und somit
reduziert sich der Speicheraufwand .

Uwe Bayer , EN 8 , SS 96 Seite 17


FH Offenburg Bildverarbeitung Bildformate

MPEG legt den Aufbau von komprimierten Video fest . Die Aufnahme der Bewegungs-
kompensation hat verschiedenen Freiheiten , so da das endgltige Video von den
Codierungsalgorithmen abhngt .

3.3.3 Die Bildtypen

Man unterscheidet Intra , Predicted und Bidirectional predicted Bilder.


Bei intracodierten Bildern werden alle Daten aus dem digitalen Vollbild codiert . Bei I -
Bildern wird somit keine Bewegtbildkompensation angewendet . Jeder MPEG - Datenstrom
beginnt mit einem I - Bild . Es ist Ausgangspunkt fr die P - und B - Bilder .
Das P -Bild ensteht aus der Differenz zwischen dem momentanen Bild und dem am
naheliegendsten I - oder P - Bild .
B - Bilder werden aus verangegangen und nachfolgenden I - oder P - Bildern abgeleitet .

I B B P B B P

Abbildung 3-2 : Verweisstruktur

3.3.4 Bewegungskompensation

Darunter versteht man , da Bildinformationen , die durch Koordinatenverschiebungen


innerhalb einer Bildsequenz entstehen , nur durch einen Vektor mit Referenzierung auf den
Urblock codiert werden . Man kann jedoch davon ausgehen , da ein Bilddetail ber eine
Folge von mehreren Bildern hinweg nicht immer gleich bleibt . Im Fall von Realvideo wird
sich ein Pixelblock durch ein vorhandenes Grundrauschen immer ein wenig vom
vorhergehenden unterscheiden . Verndert eine Person ihre Position , so wird der Sitz oder die
Schatierung der Kleidung eine Vernderung aufweisen . Wenn diese Bildunterschiede nun
von Bedeutung sind , mu auer dem Motion - Vektor zustzlich noch ein Fehlerbild codiert
werden .
Will man nun wissen , wohin sich ein Pixelblock bewegt , mu der Encoder in der
Umgebung des vorangegangenen Ausgangsblocks nach einem Pixelblock suchen , der die
grtmglichste hnlichkeit hat . Als Entscheidungskriterium kann z.B. der mittlere
quadratische Abstand der Werte der beiden 16x16 Pixelblcke angewendet werden . Man
bildet die Differenzen aller Luminanzwerte und Chrominanzwerte zwischen dem
Originalblock und dem aktuellen Block , quadriert diese und addiert sie auf . So kann man die
hnlichkeit der beiden Blcke errechnen .
Hat sich ein Block ohne Vernderungen weiterbewegt , ist die Differenz Null . Der Encoder
whlt den Pixelblock mit dem kleinsten quadratischen Abstand zum Original .Wrde man alle
denkbaren Verschiebungen innerhalb des Suchbereichs berechnen , wre dies eine recht
aufwendige Methode . Die Auflsung bei der Suche nach dem besten Motion - Vektor betrgt

Uwe Bayer , EN 8 , SS 96 Seite 18


FH Offenburg Bildverarbeitung Bildformate

dabei ein Pixel oder ein halbes Pixel . Die Vektoren , die fr die Codirung benutzt werden ,
haben eine Auflsung von bis zu einem halben Pixel . Bei dem erheblichen Rechenaufwand
greift man auf verschiedene Suchstragien zu :
Das Gitter der 48x48 ganzzahligen Verschiebungen wird abgesucht , anschlieend werden
die 8 benachbarten Positionen im Abstand von einem halben Pixel geprft
Erst wird ein grobes Raster mit mehreren Pixeln genutzt , anschlieend wird es um den
besten Wert herum feiner . Vorteil : weniger Schritte ; Nachteil : Wahrscheinlichkeit
geringer , den optimalen Vektor zu finden

Whrend JPEG um den Faktor 20 bis 25 verdichtet , kann MPEG durch das Motion -
Compensation - Verfahren das Dreifache erreichen . Da bei MPEG 1 vor der eigentlichen
Kompression auf das CIF - Format ( Common Intermidiate Format , 352x288 Pixel -> ganz-
zahlige Aufteilung in 16x16 Blcke ) umgerechnet wird , erhlt man Verdichtungen um den
Faktor 240 .

3.3.5 Reduktionsmethode bei Realvideo

Die Auflsung bei digitalem Video ist 720x480 Pixel bei 60 Hz ( NTSC ) oder 720x576 Pixel
bei 50 Hz ( PAL ) .Die Auflsung verringert man horizontal und vertikal um die Hlfte .
Horizontal verwendet man eine gewichtete Mittelung eines Pixels mit den spter entfernten
Nachbarpixeln . Vertikal kann genauso vorgegangen werden , oder man lt jede zweite Zeile
weg. Man halbiert die vertikale Chrominanz - Auflsung ein weiteres mal .
Die Abtastwerte werden zu 8x8 Matrizen zusammengefat , wobei vier davon einen
Makroblock bilden . Die Reduzierung der Auflsung wird mit Dezimationsfiltern realisiert .
Bei der Darstellung wird der Vorgang gerade umgehrt . Zwischen den Werten werden Nullen
eingesetzt und anschlieend eine gewichtete Mittelung vorgenommen . Die Gewichtung sind
hier die Filterkoeffizienten eines Interpolationsfilters .

3.4 Der Aufbau

Hier wird beschrieben , wie die verfgbaren Daten schichtweise miteinander verbunden
werden.

Sequence - Layer
Group - of - Picture - Layer
Picture -Layer
Slice -Layer
Macro - Layer
Block - Layer
Abbildung 3-3 : Aufbau der Schichten

Uwe Bayer , EN 8 , SS 96 Seite 19


FH Offenburg Bildverarbeitung Bildformate

3.4.1 Die Blockebene

Auf dieser untersten Ebene wird ein Block von 8x8 Pixeln mit Original - oder
Fehlerbildinformationen als quantisierte und Huffman - codierte DCT - Koeffizienten
abgelegt .

Uwe Bayer , EN 8 , SS 96 Seite 20


FH Offenburg Bildverarbeitung Bildformate

3.4.2 Die Makroebene

Hier liegen die Angaben , wo sich der Makroblock im Bild befindet und welcher Art dieser
Makroblock ist ( I , P , B ) . Der Encoder mu bei P - und B - Bildern verschiedene
Entscheidungen fllen .
bei P - Bildern :
Motion Compensation anwenden
Bei zu groer Fehlerfortpflanzung intracodieren
bei Verwendung eines Verschiebungsvektors Fehlerbild codieren
bei B - Bildern :
Erzeugung aus zurckliegenden Referenzbildern
Erzeugung aus zuknftigen Referenzbildern
Erzeugung aus zurckliegenden und zuknftigen Referenzbildern
Auf der Makroebene kann der Encoder ber die Quantisierung entscheiden . Dies beeinflut
auch die Gre des Datenstroms im Hinblick auf den Decoder . Es ist auch entscheidend dafr
ob ein Fehlerbild codiert wird .

3.4.3 Die Slice - Ebene

Unter Slices versteht man Streifen von aufeinanderfolgenden Makroblcken . Decoder sind in
der Lage einzelne Slices zu decodieren , ohne auf andere zugreifen zu mssen . Tritt ein
Fehler auf , ist nur der einzelne Streifen betroffen , das restliche Bild bleibt unberhrt davon .
Die Streifen knnen wahllos im Bild positioniert sein .

3.4.4 Die Picture - Ebene

Hier stehen die Informationen zur Decodierung eines Bildes . Der Header enthlt die
Information , als wievieltes Bild der Group of Pictures das Bild dargestellt wird . Wegen der
zurckliegenden Referenzbildern bei B - Bildern mssen die Bilder fr den Decoder in in
anderer Reihenfolge vorliegen . Die Art des Bildes ( I , P , B ) ist auch hinterlegt .

3.4.5 Die Group - of - Picture - Ebene ( GOP )

Hier fat man eine beliebige Anzahl von Bildern in natrlicher Abfolge zu Gruppen von
Bildern zusammen . Mindestens ein I - Bild mu in jeder Gruppe vorhanden sein .

Uwe Bayer , EN 8 , SS 96 Seite 21


FH Offenburg Bildverarbeitung Bildformate

3.4.6 Die Sequence - Ebene

Eine oder mehrere Bildgruppen werden hier zusammengefat . Folgende Parameter sind im
Header abgespeichert :
Bildhhe
Bildbreite
Bildwiederholrate
Bildformat
Bitrate
Puffergre

3.5 Unterschiede MPEG 1 - MPEG 2

Wert MPEG 1 MPEG 2


Gre/Pixel (Standard ,50 %) 360x288 (352x240) 360x288 (352x240)
Gre/Pixel (Standard,100 %) ----------------------------------- 720x596 (704x480)
Gre/Pixel (HDTV 4:3) ----------------------------------- 1440x1152 (high 1440 level)
Gre/Pixel (HDTV 16:9) ----------------------------------- 1920x1080 (high level)
Farbformat ( YCbCr) 4:2:0 4:2:2
Bildwiederholrate 30 pps 30 pps
Bitrate 1.862Mbits/s 2 bis 15 Mbits/s
Interlace nein ja
Ton - Verfahren Standard ( 2- Kanal) Surround - Sound
Abbildung 3-4 : Unterschiede MPEG1 - MPEG2

Uwe Bayer , EN 8 , SS 96 Seite 22


FH Offenburg Bildverarbeitung Bildformate

4 Literaturverzeichnis
1 DOS 4'90

2 Ecyclopedia of grafics file format


James D. Murray & William VanRyper
O'Reilly & Associates , Inc .
ISBN 1-56592-058-9

3 World Wide Web


Multimedia Seminar 94/95
http://i31www.ira.uka.de/~semin94/Seminar.html

4 CompuServe,
Graphics Interchange Format (GIF)

5 C. von Roques,
JPEG/MPEG Bilddatenkompression
Seminar : Innovative Programmiermethoden fr graphische Systeme,
Universitt Karlsruhe, Inst. f. Betriebs- und Dialogsysteme, 1994

6 M. Chang, G.G. Langdon und J. Murphy,


Effects of Coefficient Coding on JPEG Baseline Image Compression,
University of California, April 1991

7 G.K. Wallace,
The JPEG Still Picture Compression Standard
Dez. 91, IEEE Transactions on Consumer Electronics

8 W.B. Pennebaker und J.L. Mitchell:


JPEG, Still Image Data Compression Standard,
Van Nostrand Reinhold, New York, 1993

9 J. Buck,
Das MPEG-Verfahren,
mc, Franzis-Verlag, Mnchen, April 1994

10 D. Le Gall,
Digital Image and Video Standards,
Communications of the ACM Vol. 34 No.4, April 1991

Uwe Bayer , EN 8 , SS 96 Seite 23

You might also like