Joint Photographic Experts Group
Us der alemannische Wikipedia, der freie Dialäkt-Enzyklopedy
Joint Photographic Experts Group (JPEG) [dʒɔɪnt ˌfəʊtəˈgɹæfɪk ˈɛkspɜːts gɹuːp, ˈdʒeɪpɛg] isch ä 1986 gründets Gremium vun de International Telecommunication Union (ITU). Des Gremium het äim September 1992 standardisierts Vofahre zuer sowohl voluschtbhaftete wiä voluschtfreye Kompression vun digitale (natürlichi) Bilder entwicklet, wue nochm Gremium bnennt worre isch. JPEG (au JPG) isch s im Web om witeschte vobreitete Grafikformat fier Photos.
Nachfolgprojekt sin JBIG (Bilevel Images, Schwarzweisszeichnunge) un JPEG-2000 (bssri Kompression, vieli sinnvolli Features), wue sich abr zuemindescht bies jetztert nit durchsetze het kinne. D Bewegtbildkompressionsvofahren MPEG-1 un MPEG-2 boue uff JPEG uff.
Inhaltsverzeichnis |
[ändere] D JPEG-Kompression
D JPEG-Kompression isch in de Norm ITU T.81 definiert, wue frey vofügbar isch ([1], PDF). D Norm ischt identisch zue ISO 10918-1 (wue dert gege Bzahlung vofügbar isczh). S "Joint" im Nome stommt vun de Zämmeärbet vun de ITU, vum IEC un de ISO.
D Norm tuet 41 voschiedeni Untrdateiformt definiere, vun denne abr meischt nuer eins unterschtützt werre tuet (un wue au fascht alli Onwendunsfäll abdeckt).
D Kompression tuet duerch s Onwende vun mehreri Voarbeitungsschritt erfolge, vun denne nuer zwey vpluschtbhaftet sin. De JPEG Lossless Mode zuer voluschtfreye Kompression vowendet ä völligs ondres Vofahre (prädiktivr Koder un Entropiekodierung) uff des hier nit näher igonge wird.
- Farbroumumrechnung vum (meischt) RGB-Farbroum in de YUV-Farbroum (noch IEC 601).
- Tiefpassfiltrung un Unterabtaschtung vun de Farbdifferenzsignal U un V (voluschtbhaftet).
- Yteilung in 8×8-Blöck un diskret Kosinustrasnformation vun denne Blöck.
- Quantisierung (voluschtbhaftet).
- Umsortierung.
- Entropiekodierung.
Diä Datereduktion tuet duerch d voluschtbhaftete Voarbeitungschritt in Zommewirkung mit de Entropiekodierung erfolge.
Kompressionen bies ugfähr 1,5...2 Bit/Pixel sin visuell voluschtfrey, bie 0,7...1 Bit/Pixel sin noch gueti Ergebniss erzielbar, untr 0,3 Bit/Pixel tuet JPEG praktisch ubrouchbar werre, s Bild wierd zuenehmend vun uübersehbari Kompressionsartefakte (Blockbildung, stuffigi Übergäng, Farbeffekt on Graukeile) yberdeckt. De Nochfolgr JPEG-2000 isch wesentlich winigr fier diä Art vun Artefakte ofällig.
Guckt ma als Quellformat 24-Bit-RGB-Dateie ô, tuet ma Kompressionsrate vun 12 bies 15 fyr visuell voluschtfreye Bilder bies zue 35 fier noch guete Bilder, erhalte. D Qualität tuet abr nebe de Kompressionrat noch vun de Art vun de Bilder abhänge. Rausche un regelmäsigi feini Strukture im Bild voringre d maximal möglich Kompressionsrat.
[ändere] Farbroumumrechung
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 Intensitätssignal (Luminanz) (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 Intensitätssignals (und dem der Quelldaten).
[ändere] Tiefpassfilterung vun de Farbdifferenzsignale
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 jeweils um den Faktor 2 verwendet (YUV 4:2:0), die die Datenmenge um den Faktor 4 reduziert. Bei dieser Umwandlung wird die Tatsache ausgenutzt, dass die Ortsauflösung des menschlichen Auges für Farben deutlich geringer als für Schwarzweißübergänge ist.
[ändere] Blockbildung un diskreti Kosinustransformation
Jede Komponente (Y, U und V) des Bildes wird in 8×8-Blöcke eingeteilt. Diese werden einer zweidimensionalen diskreten Kosinustransformation (DCT) unterzogen. Diese Transformation lässt sich unter Nutzung einer fast Fourier transform (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, dass die DCT verlustfrei ist, die Daten nicht komprimiert, sondern nur in eine günstigere Form bringt).
[ändere] 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 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 8×8-Blöcke, 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
[ändere] Umsortierung un Differenzkodierung vum Gleichschtromonteyl
Die 64 Koeffizienten der diskreten Cosinus-Transformation werden anhand der Frequenz sortiert. Dadurch ergibt sich eine Zick-Zack-förmige Reihenfolge, beginnend mit dem Gleichstromanteil mit der Frequenz 0. Nach dem englischen Direct Current wird er mit DC abgekürzt, hier bezeichnet er die mittlere Helligkeit. Die Koeffizienten mit hohem Wert stehen nun meist zuerst 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 der Gleichstromanteil 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 US-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]).
[ändere] Entropiekodierung
Als Entropiekodierung wird meist eine Huffman-Kodierung verwendet. Der JPEG-Standard erlaubt auch eine arithmetische Kodierung. Obwohl diese zwischen 5 und 15 Prozent kleinere Dateien generiert, wird sie aus patentrechtlichen Gründen kaum verwendet.
[ändere] D 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-Dekoder-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).
[ändere] Inversi diskret Kosinustransformation
Die inverse DCT zur DCT der Kodierung ist einen DCT von Typ III, multipliziert mit 2/n.
Luege au en:Discrete cosine transform#DCT-III.
[ändere] Farbroumumrechung
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 ]
[ändere] Voluschtfreyi Voarbeitung vun 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 Blöcke). 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 muss dazu spezielle dateiformatspezifische Verarbeitungsmodule aufweisen. Bei dem verbreiteten Bildbearbeitungsprogrammen ist das meist nicht der Fall, da diese in der Regel die Datei komplett dekodieren und dann mit diesen Daten arbeiten.
Einschränkungen:
Bilder, die keine Auflösung haben, die ein Vielfaches von 16 Pixeln (bzw. 8 Pixel bei Schwarzweißbildern oder Farbildern ohne Unterabtastung) ist, haben ein Problem. Diese weisen unvollständige Blöcke auf, das heißt, Blöcke, die nicht alle synthetisierten Pixel verwenden. JPEG erlaubt solche Blöcke aber nur am rechten und am unteren Bildrand. Einige dieser Operationen verlangen daher einmalig, dass diese Randstreifen verworfen werden.
[ändere] Visuelli Qualität vun JPEG-Bilder
Die JPEG-Kompression ist für natürliche (Raster-)Bilder entwickelt worden. Das sind Bilder, wie man sie in der Fotografie 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 (Rastergrafik (bitmap), 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.
Das Beispielbild vergleicht Aufnahmen, die mit unterschiedlicher Qualitätseinstellungen kodiert wurden. Die Portrait-Aufnahme besitzt eine Größe von 200×200 Pixeln. Bei 24 Bit Farbtiefe und unkomprimierter Speicherung erzeugt dieses Bild eine 120 Kbyte große Datei (exklusive Header und anderer Metainformationen).
Die Klötzchenbildung der 8×8 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).
[ändere] Dateiformat
Was (umgangssprachlich) als JPEG-Dateiformat bezeichnet wird, ist eigentlich das JFIF-Dateiformat ([3], 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. Hinzugekommen sind einige Mechanismen zur Synchronisation und Re-Synchronisation bei Übertragungsfehlern.
Als Dateiendung wird meistens .JPG (seltener .JPEG oder .JPE) oder .JFIF verwendet. Da einen Dekoder 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 einen 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 ist ein hexadezimaler Wert und entspricht dezimal 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. Einzelne Segmente können mehrfach 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 s1 s2 '"I Shot The Sheriff" is a "Yesterday"'s song ;-). This photo shot is dated ...'
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 Längenangaben selbst: Ein leeres Segment hat daher die Länge 2, da dies der Länge der Komponenten s1 und s2 selbst entspricht.
Auf das Start-of-Scan-(SOS)-Segment (Marker FF DA
) folgen direkt die komprimierten Daten, bis zum Start des nächsten Segments, das 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 ...
[ändere] 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): ITU-T T.800, ISO/IEC IS 15444-1
- JPEG-2000 (Erweiterungen): ITU-T T.801
[ändere] Luege au
- EXIF
- GIF
- PNG
- MPEG
- Langzeitarchivierung
- Gibbssches Phänomen
[ändere] Ekschterni Syte
- Offizielle JPEG-Website
- Mathematik zur JPEG-Kompression
- faqs.org: Introduction to JPEG
- Speichergröße von JPEG manuell verringern
- Grafikformate fürs Web: Unterschiede JPEG, GIF, PNG
- jpegoptim, verringert verlustfrei die Dateigröße von JPEG-Dateien (für Unix)
- Windows-Portierung von jpegoptim
Dr Artikel basiert uf ´ra freie Ibersetzung vum Artikel „Joint Photographic Experts Group“ us dr dytsche Wikipedia. E Lischte mit de dörtige Autore kasch dörte aluege