Zum Inhalt springen

JPEG

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 25. August 2005 um 12:01 Uhr durch 80.144.202.228 (Diskussion) (Die JPEG-Kompression). Sie kann sich erheblich von der aktuellen Version unterscheiden.

Joint Photographic Experts Group (JPEG) ist ein 1986 gegründetes Gremium der International Telecommunication Union ITU. Dieses Gremium entwickelte ein im September 1992 standardisiertes Verfahren zur sowohl verlustbehafteten wie verlustfreien Kompression von digitalen (natürlichen) Bildern, das nach dem Gremium benannt wurde. JPEG (kurz JPG) ist das im Web am weitesten verbreitete Grafikformat für Fotos.

Nachfolgeprojekte sind JBIG (Bilevel Images, Schwarzweißzeichnungen) und JPEG-2000 (bessere Kompression, viele sinnvolle Features), die sich aber zumindest bis jetzt nicht durchsetzen konnten. Die Bewegtbildkompressionsverfahren MPEG-1 und MPEG-2 bauen auf JPEG auf. MPEG-4 baut auf JPEG-2000 auf.

Die JPEG-Kompression

Die JPEG-Kompression ist in der Norm ITU T.81 definiert, die frei verfügbar ist (http://www.w3.org/Graphics/JPEG/itu-t81.pdf). Die Norm ist identisch zu ISO 10918-1 (die dort gegen Bezahlung verfügbar ist). Das "Joint" im Namen stammt von der Zusammenarbeit von ITU, IEC und ISO.

Die Norm definiert 1015742 verschiedene Unterdateiformate, von denen aber meist nur 1015741 unterstützt wird (und welches auch fast alle Anwendungsfälle abdeckt).

Die Axo erfolgt durch das Anwenden mehrerer Segelohren, von denen nur zwei verlustbehaftet roflnnnn:

Die Datenreduktion erfolgt durch die verlustbehafteten Verarbeitungschritte in Zusammenwirken mit der Entropiekodierung.

Kompressionen bis etwa 1,5...2 Bit/AXOLOL sind visuell verlustfrei, bei 0,7...1 Bit/Pixel sind noch gute Ergebnisse erzielbar, unter 0,3 Bit/Pixel wird NHSNDH praktisch unbrauchbar, das Bild wird zunehmend von unübersehbaren Kompressionsartefakten (NIggers, stufige Übergänge, Farbeffekte an Graukeiledsjklfe) überdeckt. Der Nachfolger JPEG-2000 ist wesentlich weniger für diese Art von Artefakten anfällig.

Sieht man als Quellformat 24-bit-RGB-Dateien an, erhält man Kompressionsraten von 12 bis 15 für visuell verlustfreie Bilder bis zu 35 für noch gute Bilder. Die Qualität hängt aber neben der Kompressionrate noch von der Art der Bilder ab. Rauschen und regelmäßige feine Strukturen im Bild verringern die maximal mögliche Kompressionsrate.

Farbraumumrechung

Das Bild, welches meist als RGB-Bild vorliegt, wird in den YUV-Farbraum umgerechnet. Es wird dabei der YUV-Farbraum nach IEC 601 verwendet, der sich vom „normalen“ YUV-Farbraum durch eine Renormierung der Farbdifferenzsignale auszeichnet:

[ PB 601 ] = (B' - Y') / 1.772
[ PR 601 ] = (R' - Y') / 1.402
[ Y' 601 ]   [ 0.299     0.587     0.114    ]   [ R' ]
[ PB 601 ] = [-0.168736 -0.331264  0.5      ] * [ G' ]
[ PR 601 ]   [ 0.5      -0.418688 -0.081312 ]   [ B' ]

Y ist das Schwarzweißsignal (entscheidet, ob eine Farbe eher heller oder dunkler ist), PB (oder auch U genannt) ist das Blau-Farbdifferenzsignal (entscheidet, ob eine Farbe eher gelblich oder bläulich ist) und PR (oder auch V genannt) ist das Rot-Farbdifferenzsignal (entscheidet, ob eine Farbe eher grünlich oder rötlich ist).

Bei 8-Bit-Eingangsdaten sind die Wertebereiche dieser renormierten Signale:

 Y' 601  =    0...255
 PB 601  = -128...127
 PR 601  = -128...127

Der maximale Hub der Farbdifferenzsignale entspricht damit in diesem Farbraum genau dem des Schwarzweißsignals (und dem der Quelldaten).

Tiefpaßfilterung der Farbdifferenzsignal

Die Farbdifferenzsignale PB und PR werden meist in reduzierter Auflösung gespeichert. Dazu werden sie tiefpaßgefiltert und unterabgetastet (im einfachsten Fall durch eine Mittelwertbildung).

Meist wird eine vertikale und horizontale Unterabtastung um den Faktor 2 verwendet (YUV 4:2:0), die die Datenmenge um den Faktor 2 reduziert. Ausgenutzt wird bei dieser Umwandlung die Tatsache, daß die Ortsauflösung des menschlichen Auges für Farben deutlich geringer als für Schwarzweißübergänge ist.

Blockbildung und diskrete Kosinustransformation

Jede Komponente (Y, U und V) des Bildes wird in 8x8-Blocks eingeteilt. Diese werden einer zweidimensionalen diskreten Kosinustransformation vom Typ II unterzogen (http://en.wikipedia.org/wiki/DCT#DCT-II). Diese Transformation läßt sich unter Nutzung einer FFT mit sehr wenig Aufwand implementieren.

Die Transformation ist eine orthonormale Transformation, weist gute Energiekompressioneigenschaften auf und es gibt eine inverse Transformation (was auch bedeutet, daß die DCT verlustfrei ist, die Daten nicht komprimiert, sondern nur in eine günstigere Form bringt).

Die Basisvektoren einer DCT Typ II mit 8x8 Koeffizienten sehen visualisiert so aus: http://goethe.ira.uka.de/seminare/redundanz/vortrag11/basiskl.gif

Quantisierung

Wie bei allen verlustbehafteten Kodierungsverfahren wird die eigentliche Datenreduktion (und Qualitätsverschlechterung) durch eine Quantisierung verursacht. Dazu werden die DCT-Koeffizienten durch die sogenannte Quantisierungsmatrix geteilt (elementweise Division) und danach auf die nächstliegende Ganzzahl gerundet. Bei diesem Rundungsschritt findet eine Irrelevanzreduktion [[1]] statt. Diese Quantisierungsmatrix ist sowohl für die Qualität wie für die Kompressionsrate verantwortlich. Sie ist in JPEG-Dateien im Header abgespeichert (DQT-Tag).

Optimal ist diese Quantisierungsmatrix, wenn sie in etwa die Empfindlichkeit des Auges für die entsprechenden Ortsfrequenzen repräsentiert. Für grobe Strukturen ist das Auge empfindlicher, daher sind die Quantisierungswerte für diese Frequenzen kleiner als die für hohe Frequenzen.

Beispiel für Quantisierungsmatrix:

 10  15  25  37  51  66  82 100
 15  19  28  39  52  67  83 101
 25  28  35  45  58  72  88 105
 37  39  45  54  66  79  94 111
 51  52  58  66  76  89 103 119
 66  67  72  79  89 101 114 130
 82  83  88  94 103 114 127 142
100 101 105 111 119 130 142 156

Beispiel für DCT-Koeffizienten von 4 aufeianderfolgenden 8x8-Blocks, dahinter die Koeffizienten quantisiert):

Vorhergehender Block:
1185.28  ...                                                        119 ...
...                                                                 ...
Block 1:
 782.91   44.93  172.52  -35.28  -20.58   35.93    2.88   -3.85      78   3   7  -1   0   1   0   0
-122.35  -75.46   -7.52   55.00   30.72  -17.73    8.29    1.97      -8  -4   0   1   1   0   0   0
  -2.99  -32.77  -57.18  -30.07    1.76   17.63   12.23  -13.57       0  -1  -2  -1   0   0   0   0
  -7.98    0.66    2.41  -21.28  -31.07  -17.20   -9.68   16.94       0   0   0   0   0   0   0   0
   3.87    7.07    0.56    5.13   -2.47  -15.09  -17.70   -3.76       0   0   0   0   0   0   0   0
  -3.77    0.80   -1.46   -3.50    1.48    4.13   -6.32  -18.47       0   0   0   0   0   0   0   0
   1.78    3.28    4.63    3.27    2.39   -2.31    5.21   11.77       0   0   0   0   0   0   0   0
  -1.75    0.43   -2.72   -3.05    3.95   -1.83    1.98    3.87       0   0   0   0   0   0   0   0
Block 2:
1016.15   77.75  -95.79   77.51  -41.73   12.08    6.77   -9.93     102   5  -4   2  -1   0   0   0
 -79.32   64.97  -38.84   25.78    3.71  -24.24   28.11  -19.71      -5   3  -1   1   0   0   0   0
   4.80  -11.56   20.59  -29.11   33.91  -34.08   25.74  -14.55       0   0   1  -1   1   0   0   0
  -4.61    6.06   -2.03    3.13   -4.82    9.48  -11.73    7.66       0   0   0   0   0   0   0   0
  -4.56    5.17   -0.58    3.26   -2.81    4.67   -4.79    4.13       0   0   0   0   0   0   0   0
   2.96   -3.71    4.52   -2.89    3.25   -2.03    1.44   -0.71       0   0   0   0   0   0   0   0
  -2.12    3.25   -1.79    3.14   -5.05    6.08   -5.80    3.65       0   0   0   0   0   0   0   0
   0.34    0.28    1.48   -1.87    3.02   -1.20    1.42   -1.23       0   0   0   0   0   0   0   0
Block 3:
 749.47 -278.56  -43.79   51.49   54.43   -8.60  -27.50   -7.43      75 -19  -2   1   1   0   0   0
  28.00   -3.17  -23.55   -6.25   10.76   18.95   -0.16  -12.75       2   0  -1   0   0   0   0   0
 -12.68    6.12   -4.94    2.15   -5.86   -2.30    4.17    7.01      -1   0   0   0   0   0   0   0
  -2.29    3.78   -1.90    6.42    6.11    0.29   -0.31    0.48       0   0   0   0   0   0   0   0
  -4.55    1.23   -4.90   -4.88    1.16   -1.88   -3.68   -5.34       0   0   0   0   0   0   0   0
   3.64    2.90    4.62    2.95    1.15    0.07    1.17    1.31       0   0   0   0   0   0   0   0
  -1.43   -0.04   -4.13   -3.55   -0.70   -1.69   -2.86   -3.83       0   0   0   0   0   0   0   0
  -0.21    1.45    0.39    1.16    1.07   -1.07    1.90    0.53       0   0   0   0   0   0   0   0
Block 4:
1318.05  -38.12    1.68    0.44  -10.14   -5.01    6.77    4.16     132  -3   0   0   0   0   0   0
 -15.87  -19.60    3.69    3.71   10.90    4.65   -1.64   -2.91      -1  -1   0   0   0   0   0   0
 -13.46  -18.07   -2.48    1.67   -7.66    2.14    7.56    7.44      -1  -1   0   0   0   0   0   0
   0.48    9.56  -15.29    1.91   -0.13   -2.54   -0.76    0.24       0   0   0   0   0   0   0   0
   4.97    4.93    2.61   -6.89    2.03   -1.21    0.39    3.42       0   0   0   0   0   0   0   0
   2.78   -2.14    3.73    1.69   -0.61    2.36   -0.59   -1.75       0   0   0   0   0   0   0   0
   0.39    1.06   -3.01    1.00    0.44   -1.34   -2.48   -0.97       0   0   0   0   0   0   0   0
  -2.38   -3.18    0.25   -0.76   -2.85   -0.02    3.10    1.52       0   0   0   0   0   0   0   0

Umsortierung und Differenzkodierung des DC-Anteils

Die 64 DCT-Koeffizienten werden in einer definierten Art und Weise Zick-Zack-förmig umsortiert (bzw. in dieser Reihenfolge ausgelesen), sodass meist große Koeffizienten zuerst abgespeichert werden und kleine Koeffizienten weiter hinten. Dies erleichtert die nachfolgende Entropie-Kodierung. Die Umsortierreihenfolge sieht folgendermaßen aus:

 1  2  6  7 15 16 28 29
 3  5  8 14 17 27 30 43
 4  9 13 18 26 31 42 44
10 12 19 25 32 41 45 54
11 20 24 33 40 46 53 55
21 23 34 39 47 52 56 61
22 35 38 48 51 57 60 62
36 37 49 50 58 59 63 64

Weiterhin wird die DC-Komponente noch einmal differentiell zum Block links daneben kodiert und auf diese Weise die Abhängigkeiten zwischen benachbarten Blocks berücksichtigt.

Das obige Beispiel führt zu den folgenden umsortierten Koeffizienten

119  ...
 78   3  -8  0 -4  7 -1  0 -1  0  0  0 -2  1  0  1  1 -1 0 ...
102   5  -5  0  3 -4  2 -1  0  0  0  0  1  1 -1  0  0 -1 0 0 0 0 0 0 0 1 0 ...
 75 -19   2 -1  0 -1  1 -1  0  0  0  0  0  0  1 ...
132  -3  -1 -1 -1  0  0  0 -1  0 ...

Die Differenzkodierung des ersten Koeffizienten ergibt dann:

-41   3  -8  0 -4  7 -1  0 -1  0  0  0 -2  1  0  1  1 -1 0 ...
 24   5  -5  0  3 -4  2 -1  0  0  0  0  1  1 -1  0  0 -1 0 0 0 0 0 0 0 1 0 ...
-27 -19   2 -1  0 -1  1 -1  0  0  0  0  0  0  1 ...
 57  -3  -1 -1 -1  0  0  0 -1  0 ...

In strukturarmen Regionen (desselben Bildes) können die Koeffizienten auch so aussehen:

 35 -2  0 0 0 1 0 ...
  4  0  1 0 ...
  0  0  2 0 1 0 ...
-13  0 -1 ...
  8  1  0 ...
 -2  0 ...

Diese Bereiche lassen sich natürlich besser als strukturreiche Gebiete kodieren. Beispielsweise durch eine Kompression mittels Run-Length-Coding.

Die Zick-Zack-Umsortierung der DCT-Koeffizienten fällt zwar unter den Schutzbereich des U.S. Patentes 4,698,672 (und weiterer Anmeldungen und Patente in Europa und Japan), jedoch wurde 2002 Stand der Technik gefunden, der das beanspruchte Verfahren offenbart, sodass die Ansprüche kaum durchsetzbar sind (siehe [2]).

Entropiekodierung

Als Entropiekodierung wird meist eine Huffman-Kodierung verwendet. Der JPEG-Standard erlaubt auch eine arithmetische Kodierung. Obwohl diese zwischen 5% und 15% kleinere Dateien generiert, wird diese aus patentrechtlichen Gründen kaum verwendet.

Die JPEG Dekodierung

Die Dekompression (meist Dekodierung genannt) erfolgt invers zur Kompression

  • Entropie-Dekodierung
  • Umsortierung.
  • Requantisierung
  • Inverse Diskrete Kosinustransformation.
  • Überabtastung und Tiefpaßfilterung der Farbdifferenzsignal U und V (verlustbehaftet).
  • Farbraumumrechnung vom YUV-Farbraum in den Zielfarbraum (meist RGB).

Die Dekompression ist zwar (weitgehend) verlustfrei, allerdings tritt das Inverse-Decoder-Problem auf. Aus dekodierten Daten ist es nur schwierig möglich die ursprüngliche Datei zu rekonstruieren. Ein Dekodier-Kodier-Vorgang verändert die Datei und ist damit nicht verlustfrei, es treten wie beim analogen Überspielen Generationsverluste auf.

Die Generationsverluste von JPEG sind allerdings vergleichsweise klein, wenn wieder die gleiche Quantisierungstabelle zum Einsatz kommt und die Blockgrenzen die gleichen sind. Bei geeigneten Randbedingungen kann man sie bei JPEG sogar vermeiden. Bei JPEG-2000 ist das nicht mehr der Fall (überlappende Transformationen, wie sie bei JPEG-2000 wie auch in der Audiokompression zum Einsatz kommen, erfordern dafür utopische Rechenleistungen).

Inverse diskrete Kosinustransformation

Die inverse DCT zur DCT der Kodierung ist einen DCT von Typ III, multipliziert mit 2/n.

Siehe auch http://en.wikipedia.org/wiki/DCT#DCT-III.

Farbraumumrechung

Bilder sind im JPEG-Format im YUV-Farbraum (nach IEC 601) abgespeichert. Die Rückrechnung in den RGB-Farbraum erfolgt über die inverse Matrix der Hinrechnung, sie lautet:

[ R' ]   [ 1  0         1.402    ]   [ Y' 601 ] 
[ G' ] = [ 1 -0.344136 -0.714136 ] * [ PB 601 ] 
[ B' ]   [ 1  1.772     0        ]   [ PR 601 ]

Verlustfreie Verarbeitung von JPEG

Obwohl eine Dekodierung und Rekodierung meist verlustbehaftet ist, lassen sich einige Bildmanipulationen (prinzipiell) ohne unerwünschte Datenverluste durchführen:

  • Bilddrehungen um 90°, 180° und 270°
  • Bildspiegelungen
  • Beschneiden von Rändern um Vielfache von 16 Pixeln (bzw. 8 Pixel bei Schwarzweißbildern oder Farbildern ohne Unterabtastung)

Dazu ist die Entropiekodierung und die Zick-Zack-Umsortierung rückgängig zu machen. Die Operationen erfolgen dann auf Grundlage der DCT-Koeffizienten (umsortieren, weglassen nichtbenötigter Blocks). Danach erfolgt wieder die Zick-Zack-Umsortierung und die Entropiekodierung. Wie man leicht sieht, erfolgen keine verlustbehafteten Arbeitsschritte mehr. Nicht jedes Programm führt diese Operationen verlustfrei durch, es muß dazu spezielle dateiformatspezifische Verarbeitungsmodule aufweisen.

Einschränkungen:
Bilder, die keine Auflösung haben, die ein Vielfache von 16 Pixeln (bzw. 8 Pixel bei Schwarzweißbildern oder Farbildern ohne Unterabtastung) ist, haben ein Problem. Diese weisen unvollständige Blocks auf, d.h. Blocks, die nicht alle synthetisierten Pixel verwenden. JPEG erlaubt solche Blocks aber nur am rechten und am unteren Bildrand. Einige dieser Operationen verlangen daher einmalig, daß diese Randstreifen verworfen werden.

Visuelle Qualität von JPEG-Bildern

Die JPEG-Kompression ist für natürliche (Raster-)Bilder entwickelt worden. Das sind Bilder, wie man sie in der Fotographie oder bei computergenerierten Bilder (CGI) vorfindet. Ungeeignet ist JPEG für

  • digitale Strichzeichnungen (z. B. Screenshots oder Vektorgraphiken), in denen es viele benachbarte Bildpunkte mit exakt identischen Farbwerten, wenige Farben und harte Kanten gibt.
  • Schwarzweißbilder (nur Schwarz und Weiß, 1 bit pro Bildpunkt).
  • gerasterte Bilder (Zeitungsdruck)

Für diese Bilder sind Formate wie GIF, PNG oder JBIG weitaus besser geeignet.

Ein nachträgliches Heraufsetzen des Qualitätsfaktors vergrößert zwar den Speicherbedarf der Bilddatei, bringt aber verlorene Bildinformation nicht mehr zurück.

Eine JPEG-Transformation ist im Allgemeinen nicht reversibel. Das Öffnen und anschließende Speichern einer JPEG-Datei führt zu einer neuen verlustbehafteten Kompression.

Bilder unterschiedlicher JPEG Qualitätsstufen, von links nach rechts: 90 %, 60 %, 20 %, Ausschnittsvergrößerung des vorangegangenen Bildes.

Das Beispielbild vergleicht Aufnahmen, die mit unterschiedlicher Qualitätseinstellungen kodiert wurden. Die Portrait-Aufnahme besitzt eine Größe von 200x200 Pixeln. Bei 24 Bit Farbtiefe und unkomprimierte Speicherung erzeugt dieses Bild eine 120 Kbyte große Datei (exklusive Header und anderer Metainformationen).

Die Klötzchenbildung der 8x8 Pixel großen Quadrate stellt das rechte Teilbild vergrößert dar.

Für den Profi-Bereich ist JPEG als Dateiformat wegen der verlustbehafteten Datenreduktion ungeeignet. Statt dessen werden Formate eingesetzt, die verlustfrei komprimieren, ungeachtet des großen Speicherbedarfs. Beispiele sind TIFF, BMP, TGA oder PNG (Vollfarbenmodus). Moderne Quellgeräte (Scanner, Digitale Kameras) erfassen mehr als 8 Bit pro Farbpixel. Bereits einfache Scanner arbeiten intern mit 12 Bit, erlauben aber nur die Speicherung von 8 Bit pro Farbpixel. Eine Profiaufnahme von 6 Megapixel erfordert bei einer Farbtiefe von 16 Bit pro Grundfarbe und 3 Grundfarben einen Speicherbedarf von 36 Mbyte, der sich bei strukturreichen Bildern durch Kompression unwesentlich verkleinern lässt.

Es ist möglich, die Komprimierung von JPEG-Dateien verlustfrei zu optimieren und somit die Dateigröße etwas zu verringern (siehe jpegoptim in den Weblinks).

Dateiformat

Was (umgangssprachlich) als JPEG-Dateiformat bezeichnet wird, ist eigentlich das JFIF-Dateiformat (http://www.jpeg.org/public/jfif.pdf), was für JPEG File Interchange Format steht. Gegenüber der Original JPEG-Definition weist es einige Einschränkungen auf (als Farbraum ist nur noch YUV und nicht mehr RGB zugelassen, Beschränkung auf Huffman-Kodierung). Hinzukommen einige Mechanismen zur Synchronisation und Re-Synchronisation bei Übertragungsfehlern.

Als Dateiendung wird meistens .JPG (seltener .JPEG oder .JPE) oder .JFIF verwendet. Da einen Decoder nur Daten zwischen einer Anfangsmarke und einer Endmarke interessieren, ist es auch möglich, EXIF und IPTC-NAA Standard-Informationen in der JPEG-Datei unterzubringen. Die Erweiterungen sind aber nicht JFIF-konform.

Bilddateien, die im JPEG-Verfahren abgespeichert werden, bestehen aus einem Kopf (der leer sein kann) und den eigentlichen Daten, die durch ein SOI-Marker FF D8 eingeleitet werden. Sind sie streng JFIF-konform, folgen die Bytes: FF E0 00 10 4A 46 49 46 00 01. Die Sequenz 4A 46 49 46 ist die ASCII-Repräsentation von "JFIF". Gängige Bildprogramme erwarten keinen JFIF-Header. (???)

Die JPEG-Dateien sind in Segmente (bei TIFF als Tag bezeichnet) unterteilt. Die Segmente sind generell in folgender Form aufgebaut: Ein FF xx s1 s2 leitet den Tag ein. FF steht für Hexadezimal 255. Das xx bestimmt die Art des Tags. 256 * s1 + s2 gibt die Länge des Segmentes an. In den Segmenten können sich weitere Bilder verbergen, oft ein kleines Thumbnail-Bild für die schnelle Vorschau. Segmente können auch wiederholt vorkommen.

FF xx Bezeichnung
FF D8 Start Of Image (SOI)
FF C0 Image Format Information (width, height etc.)
FF E0 JFIF tag
FF C4 Define Huffman Table (DHT)
FF DB Define Quantisation Table (DQT)
FF E1 EXIF Daten
FF EE Oft für Copyright Einträge
FF En n=2..F allg. Zeiger
FF FE Kommentare
FF DA Start of Scan (SOS)
FF D9 End of Image (EOI)

Ein Beispiel für einen Copyright-Tag: FF EE 00 26 'File written by Adobe Photoshop. 4.0'

Ein Beispiel für einen Kommentar-Tag: FF FE sl1 sl2 'I shot this picture yesterday ...'

Aufbau einer JPEG(JFIF)-Datei:

SOI - Segment FF D8
APP0 - Segment FF E0 s1 s2 4A 46 49 46 v1 v2 ...
... weitere Segmente
SOS - Segment FF DA s1 s2 ....
Data Komprimierte Daten
EOI - Segment FF D9

Die Längenangaben der Segmente enthalten übrigens auch den Platz für die die Längenangaben selbst: Ein leeres Segment hätte daher eine Länge von 2, da dies der Länge der Komponenten s1 und s2 selbst entspricht.

Dem Start of Scan (SOS) Segment (Marker FF DA) folgen dann direkt die komprimierten Daten, bis zum Start des nächsten Segments, welches durch den nächsten Marker angezeigt wird. Sollte innerhalb der Daten ein FF auftreten, so wird dies mit einer folgenden 00 (Null) markiert. Andere Werte zeigen das Auftreten eines neuen Segments bzw. Markers an. Ausnahme: Folgt dem FF einer der Restart-Marker (D0 - D7) so setzen sich die Daten direkt dahinter weiter fort: FF DA ... daten ... FF D0 ... daten ...

Standards

  • JPEG (verlustbehaftet und verlustfrei): ITU-T T.81, ISO/IEC IS 10918-1 |
  • JPEG (Erweiterungen): ITU-T T.84
  • JPEG-LS (verlustfrei, verbessert): ITU-T T.87, ISO/IEC IS 14495-1
  • JBIG (Schwarzweißbilder): ITU-T T.82, ISO/IEC IS 11544-1
  • JPEG-2000 (Nachfolger von JPEG und JPEG-LS): ISO/IEC IS 15444-1

Siehe auch