FH Offenburg Bildverarbeitung Bildformate
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
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 .
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
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
Byte Inhalt
1 Rotanteil fr Farbe mit Index 0
2 Grnanteil fr Farbe mit Index 0
3 Blauanteil fr Farbe mit Index 0
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
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 .
Bytes Bedeutung
1 GIF - Extension Block Header ( ! )
1 Extension Function Code : Zusatzfunktion mit Angaben zu folgenden Daten
1 Lnge des folgenden Datenblocks
n Datenblock
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
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
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
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
Hier wird wieder zwischen Version "87a" und Version "89a" unterschieden .
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"
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)
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
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 .
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 :
Tabellen Tabellen
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 .
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 .
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 .
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
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
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 .
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
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
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 .
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 .
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.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
3.3.1 Schichten
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
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 .
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 .
I B B P B B P
3.3.4 Bewegungskompensation
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 .
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 .
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
Auf dieser untersten Ebene wird ein Block von 8x8 Pixeln mit Original - oder
Fehlerbildinformationen als quantisierte und Huffman - codierte DCT - Koeffizienten
abgelegt .
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 .
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 .
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 .
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 .
Eine oder mehrere Bildgruppen werden hier zusammengefat . Folgende Parameter sind im
Header abgespeichert :
Bildhhe
Bildbreite
Bildwiederholrate
Bildformat
Bitrate
Puffergre
4 Literaturverzeichnis
1 DOS 4'90
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
7 G.K. Wallace,
The JPEG Still Picture Compression Standard
Dez. 91, IEEE Transactions on Consumer Electronics
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