JPEG

JPEG
Felis silvestris silvestris small gradual decrease of quality.png
Ein Foto von a Europäischer Wildcat mit der Kompressionsrate abnimmt und damit die Qualität von links nach rechts zunimmt
Dateiname Erweiterung
.jpg, .jpeg, .jpe
.jif, .jfif, .jfi
Internet -Medientyp
Bild/JPEG
Typschlüssel JPEG
Uniform Typ Identifier (UTI) public.jpeg
magische Zahl ff d8 ff
Entwickelt von Gemeinsame fotografische Expertengruppe, IBM, Mitsubishi Electric, AT&T, Canon Inc.[1]
Erstveröffentlichung 18. September 1992; Vor 29 Jahren
Art des Formats Verlust Bildkompression Format
Standard ISO/IEC 10918, ITU-T T.81, ITU-T T.83, ITU-T T.84, ITU-T T.86
Webseite www.jpeg.org/JPEG/
Kontinuierlich variierte JPEG -Komprimierung (zwischen q = 100 und q = 1) für eine Bauch CT-Scan

JPEG (/ˈpɛɡ/ Jay-Anbindung)[2] ist eine häufig verwendete Methode von Verlustige Komprimierung zum Digitale Bilderinsbesondere für die Bilder, die von erstellt wurden von Digitale Fotografie. Der Grad der Komprimierung kann eingestellt werden, was einen wählbaren Kompromiss zwischen Speichergröße und ermöglicht Bildqualität. JPEG erreicht typischerweise eine Komprimierung von 10: 1 mit wenig wahrnehmbarem Verlust der Bildqualität.[3] Seit seiner Einführung im Jahr 1992 ist JPEG der am häufigsten verwendete Bildkompression Standard in der Welt,[4][5] und die am weitesten verbreitete Digital Bildformatmit mehreren Milliarden JPEG -Bildern, die jeden Tag ab 2015 produziert werden.[6]

Der Begriff "JPEG" ist ein Akronym für die Gemeinsame fotografische Expertengruppe, was den Standard 1992 geschaffen hat.[7] JPEG war größtenteils für die Verbreitung digitaler Bilder und verantwortlich Digitale Fotos im Internet und später sozialen Medien.[8]

JPEG -Komprimierung wird in einer Reihe von verwendet Bilddateiformate. Jpeg/Exif ist das am häufigsten verwendete Bildformat von Digitalkameras und andere fotografische Bildfassungsgeräte; zusammen mit JPEG/JfifEs ist das häufigste Format zum Speichern und Übertragen fotografische Bilder auf der Weltweites Netz.[9] Diese Formatvariationen werden oft nicht unterschieden und werden einfach als JPEG bezeichnet.

Das MIME -Medientyp für JPEG ist Bild/JPEGaußer in älteren Internet Explorer Versionen, die einen MIME -Typ bieten Bild/PJPEG Beim Hochladen von JPEG -Bildern.[10] JPEG -Dateien haben normalerweise eine Dateiname Erweiterung von .jpg oder .jpeg. JPEG/JFIF unterstützt eine maximale Bildgröße von 65.535 × 65.535 Pixel,[11] daher bis zu 4 Gigapixel für eine Seitenverhältnis von 1: 1. Im Jahr 2000 führte die JPEG -Gruppe ein Format ein, das ein Nachfolger sein sollte. JPEG 2000, aber es konnte das ursprüngliche JPEG nicht als dominantes Bildstandard ersetzen.[12]

Geschichte

Hintergrund

Die 1992 veröffentlichte ursprüngliche JPEG -Spezifikation implementiert Prozesse aus verschiedenen früheren Forschungsunterlagen und Patente zitiert von der Ccitt (jetzt Itu-t) und gemeinsame fotografische Expertengruppe.[1]

Die JPEG -Spezifikation zitiert Patente mehrerer Unternehmen. Die folgenden Patente bildeten die Grundlage für ihre arithmetische Kodierung Algorithmus.[1]

  • IBM
    • US -Patent 4.652.856 -4. Februar 1986-Kottappuram M. A. Mohiuddin und Jorma J. Rissanen-Multiplikationsfreier Multi-Alphabet-Arithmetikcode
    • US -Patent 4.905.297 - 27. Februar 1990 - G. Langdon, J. L. Mitchell, W.B. Pennebaker und Jorma J. Rissanen - arithmetisches Codierungs -Encoder- und Decodersystem
    • US -Patent 4.935.882 - 19. Juni 1990 - W.B. Pennebaker und J. L. Mitchell - Wahrscheinlichkeitsanpassung für arithmetische Codierer
  • Mitsubishi Electric
    • JP H02202267  (1021672) - 21. Januar 1989 - Toshihiro Kimura, Shigenori Kino, Fumitaka Ono, Masayuki Yoshida - Codierungssystem
    • JP H03247123  (2-46275) - 26. Februar 1990 - Fumitaka Ono, Tomohiro Kimura, Masayuki Yoshida und Shigenori Kino - Codierungsapparat und Codierungsmethode

In der JPEG -Spezifikation zitiert auch drei weitere Patente von IBM. Andere Unternehmen, die als Patentinhaber zitiert sind AT&T (zwei Patente) und Canon Inc.[1] In der Liste abwesend ist US -Patent 4.698.672, ausgefüllt von KompressionslaborsWen-hsiung Chen und Daniel J. Klenke im Oktober 1986. Das Patent beschreibt einen DCT-basierten Bildkomprimierungsalgorithmus und würde später 2002 eine Kontroverse sein (siehe Patent -Kontroverse unter).[13] Die JPEG-Spezifikation zitierte jedoch zwei frühere Forschungsarbeiten von Wen-Hsiung Chen, die 1977 und 1984 veröffentlicht wurde.[1]

JPEG -Standard

"Jpeg" steht für Gemeinsame fotografische Expertengruppe, Der Name des Komitees, der den JPEG -Standard erstellt hat, und auch andere noch Bildcodierungsstandards. Der "Joint" stand für ISO TC97 WG8 und Ccitt Sgviii. Die 1986 gegründete Gruppe entwickelte Ende der 1980er Jahre den JPEG -Standard. Die Gruppe veröffentlichte 1992 den JPEG -Standard.[4]

1987 wurde ISO TC 97 ISO/IEC JTC1 und 1992 wurde CCitt ITU-T. Derzeit ist JPEG auf der JTC1-Seite eine von zwei Untergruppen von ISO/IEC Gemeinsamer technischer Komitee 1, Unterausschuss 29, Arbeitsgruppe 1 (ISO/IEC JTC 1/SC 29/Wg 1) - mit dem Titel als Codierung von Standbildern.[14][15][16] Auf der ITU-T-Seite ist ITU-T SG16 der jeweilige Körper. Die ursprüngliche JPEG -Gruppe wurde 1986 organisiert.[17] Ausgabe des ersten JPEG -Standards im Jahr 1992, der im September 1992 als genehmigt wurde Itu-t Empfehlung T.81[18] und 1994 als ISO/IEC 10918-1.

Der JPEG -Standard gibt die an Codec, was definiert, wie ein Bild in einen Strom von komprimiert wird Bytes und dekomprimiert zurück in ein Bild, aber nicht das Dateiformat, das verwendet wird, um diesen Stream zu enthalten.[19] Das Exif und Jfif Standards definieren die häufig verwendeten Dateiformate für den Austausch von JPEG-komprimierten Bildern.

JPEG -Standards werden offiziell als benannt als Informationstechnologie-Digitale Komprimierung und Codierung von ständig Tonnen-Stillbildern. ISO/IEC 10918 besteht aus den folgenden Teilen:

Digitale Komprimierung und Codierung von ständigen Standbildern-Teile[15][17][20]
Teil ISO/IEC -Standard Itu-t rec. Erster Veröffentlichungsdatum Letzte Änderung Titel Beschreibung
Teil 1 ISO/IEC 10918-1: 1994 T.81 (09/92) 18. September 1992 Anforderungen und Richtlinien
Teil 2 ISO/IEC 10918-2: 1995 T.83 (11/94) 11. November 1994 Anforderungsprüfung Regeln und Überprüfungen für die Softwarekonformität (zu Teil 1).
Teil 3 ISO/IEC 10918-3: 1997 T.84 (07/96) 3. Juli 1996 1. April 1999 Erweiterungen Verlängerungen zur Verbesserung des Teil 1, einschließlich der Noch Bild -Austauschdateiformat (Spiff).[21]
Teil 4 ISO/IEC 10918-4: 1999 T.86 (06/98) 18. Juni 1998 29. Juni 2012 Registrierung von JPEG -Profilen, Spiff -Profilen, Spiff -Tags, Spiff -Farbräumen, Appn -Markierungen, Spiff -Komprimierungstypen und Registrierungsbehörden (Regaut) Methoden zur Registrierung einiger der Parameter zur Erweiterung von JPEG
Teil 5 ISO/IEC 10918-5: 2013 T.871 (05/11) 14. Mai 2011 JPEG -Datei Interchange Format (JFIF) Ein beliebtes Format, das das De -facto -Dateiformat für Bilder war, die vom JPEG -Standard codiert wurden. Im Jahr 2009 gründete das JPEG -Komitee eine Ad -hoc -Gruppe offiziell, um JFIF als JPEG Teil 5 zu standardisieren.[22]
Teil 6 ISO/IEC 10918-6: 2013 T.872 (06/12) Jun 2012 Anwendung auf Drucksysteme Gibt eine Untergruppe von Funktionen und Anwendungswerkzeugen für den Austausch von Bildern an, die zum Drucken gemäß ISO/IEC 10918-1 codiert sind.
Teil 7 ISO/IEC 10918-7: 2021 T.873 (06/21) Mai 2019 Juni 2021 Referenzsoftware Bietet Referenzimplementierungen des JPEG -Kerncodierungssystems

ECMA International Tr/98 Gibt das JPEG -Datei -Interchange -Format (JFIF) an; Die erste Ausgabe wurde im Juni 2009 veröffentlicht.[23]

Patent -Kontroverse

In 2002, Verzeihungsnetzwerke behauptete, dass es sich besitze und durchsetzen würde Patent Rechte an der JPEG -Technologie, die sich aus einem Patent ergibt, das am 27. Oktober 1986 eingereicht und am 6. Oktober 1987 gewährt wurde: US -Patent 4.698.672 durch KompressionslaborsWen-hsiung Chen und Daniel J. Klenke.[13][24] Während Forget zu dieser Zeit keine Kompressionslabors besitzte, verkaufte Chen später Kompressionslabor Cisco. Dies führte dazu, dass die Vergebung das Eigentum über das Patent erlangte.[13] Forgesents Ankündigung von 2002 führte zu einer Aufregung Unisys'Versucht, seine Rechte über den GIF -Bildkomprimierungsstandard zu gründen.

Das JPEG -Komitee untersuchte die Patentansprüche im Jahr 2002 und war der Ansicht, dass sie von ungültig gemacht wurden durch vorherige Kunst,[25] Eine Ansicht, die von verschiedenen Experten geteilt wird.[13][26]

Zwischen 2002 und 2004 konnte Engent durch die Lizenzierung ihres Patents an rund 30 Unternehmen etwa 105 Millionen US -Dollar erhalten. Im April 2004 verklagte Gurent 31 weitere Unternehmen, um weitere Lizenzzahlungen durchzusetzen. Im Juli desselben Jahres reichte ein Konsortium von 21 großen Computerunternehmen einen Gegensatz ein, um das Patent ungültig zu machen. Darüber hinaus startete Microsoft im April 2005 eine separate Klage gegen Engent.[27] Im Februar 2006 die US -amerikanisches Patent- und Markenbüro Einverstanden, das JPEG-Patent von Engent auf Ersuchen der öffentlichen Patentstiftung erneut zu untersuchen.[28] Am 26. Mai 2006 fand das USPTO das Patent für ungültig, basierend auf vorherige Kunst. Das USPTO stellte auch fest, dass Vergebung über die wusste vorherige KunstDoch es hat es absichtlich vermieden, dem Patentamt mitzuteilen. Dies macht jeden Appell, das Patent wieder einzubauen, und es ist höchst unwahrscheinlich, dass er erfolgreich ist.[29]

Engent besitzt auch ein ähnliches Patent, das von der gewährt wird Europäisches Patentamt Im Jahr 1994 ist unklar, wie durchsetzbar es ist.[30]

Zum 27. Oktober 2006 schien die 20-jährige Amtszeit des US-Patents abgelaufen zu sein, und im November 2006 erklärte sich vergib ein, die Durchsetzung von Patentansprüchen gegen die Verwendung des JPEG-Standards aufzugeben.[31]

Das JPEG -Komitee hat als eines ihrer ausdrücklichen Ziele, dass seine Standards (insbesondere ihre Basismethoden) ohne Zahlung von Lizenzgebühren umgesetzt werden können, und sie haben angemessene Lizenzrechte für ihre gesichert JPEG 2000 Standard von über 20 großen Organisationen.

Ab August 2007 behauptete ein anderes Unternehmen, Global Patent Holdings, LLC, dass sein Patent (Patent (US -Patent 5.253.341) Ausgestellt im Jahr 1993, wird durch das Herunterladen von JPEG-Bildern auf einer Website oder per E-Mail verletzt. Wenn nicht ungültig, kann dieses Patent für jede Website gelten, auf der JPEG -Bilder angezeigt werden. Das Patent wurde vom US -Patent- und Markenbüro von 2000 bis 2007 erneut untersucht. Im Juli 2007 widerrief das Patentbüro alle ursprünglichen Ansprüche des Patents, stellte jedoch fest, dass ein zusätzlicher Anspruch von Global Patent Holdings (Anspruch 17) gültig war.[32] Globale Patentbestände reichten daraufhin eine Reihe von Klagen ein, die auf Anspruch 17 seines Patents basierten.

In den ersten beiden Klagen nach der Überprüfung, die beide in Chicago, Illinois, eingereicht wurden, verklagten sich Global Patent Holdings die Green Bay Packers, CDW, Motorola, Apfel, Orbitz, Officemax, Raupe, Kraft und Peapod als Angeklagte. Eine dritte Klage wurde am 5. Dezember 2007 in Südflorida eingereicht ADT -Sicherheitsdienste, Autonation, Florida -Kristalle Corp., Hearusa, Movietickets.com, Ocwen Financial Corp. und Reifenreichund eine vierte Klage am 8. Januar 2008 in Südflorida gegen die Boca Raton Resort & Club. Eine fünfte Klage wurde gegen globale Patentbestände in Nevada eingereicht. Diese Klage wurde von eingereicht von Zappos.com, Inc., das angeblich durch globale Patentbestände bedroht wurde, und beantragte eine gerichtliche Erklärung, dass das 341 -Patent ungültig und nicht verletzt ist.

Globale Patentbestände hatten auch das '341 Patent verwendet, um ausgesprochene Kritiker breiter Softwarepatente zu verklagen oder zu bedrohen, darunter Gregory Aharonian[33] und der anonyme Betreiber eines Website -Blogs namens The "Patent -Troll -Tracker. "[34] Am 21. Dezember 2007 forderte der Patentanwalt Vernon Francissen aus Chicago das US -amerikanische Patent- und Markenbüro auf, den allein verbleibenden Anspruch auf das 341 -Patent auf der Grundlage neuer früherer Kunst erneut zu überprüfen.[35]

Am 5. März 2008 erklärte sich das US -amerikanische Patent- und Markenbüro bereit, das 341 -Patent erneut zu überprüfen, und stellte fest, dass die neue frühere Kunst erhebliche neue Fragen zur Gültigkeit des Patents aufgeworfen hat.[36] In Anbetracht der Überprüfung haben die beschuldigten Verletzer in vier der fünf anstehenden Klagen Anträge eingereicht, ihre Fälle bis zum Abschluss des US -Patent- und Markenbüros über die Überprüfung des 341 -Patents auszusetzen. Am 23. April 2008 erteilte ein Richter, der die beiden Klagen in Chicago, Illinois, die Anträge in diesen Fällen gewährt.[37] Am 22. Juli 2008 gab das Patentamt die erste "Büroklage" der zweiten Neuüberprüfung heraus und stellte den Anspruch auf basierend auf neunzehn getrennten Gründen für ungültig.[38] Am 24. November 2009 wurde ein Neuüberprüfungszertifikat ausgestellt, um alle Ansprüche zu kündigen.

Ab 2011 und ab Anfang 2013, eine Einheit namens Princeton Digital Image Corporation,[39] Der Sitz in Osttexas begann, eine große Anzahl von Unternehmen wegen mutmaßlicher Verstöße zu verklagen US -Patent 4.813.056. Princeton behauptet, dass der JPEG -Image -Komprimierungsstandard gegen das Patent von 056 verstößt und eine große Anzahl von Websites, Einzelhändlern, Kamera- und Geräteherstellern und -Tellern verklagt hat. Das Patent war ursprünglich im Besitz und wurde General Electric zugeordnet. Das Patent lief im Dezember 2007 ab, aber Princeton hat eine große Anzahl von Unternehmen wegen "Verstoßes gegen dieses Patent" verklagt. (Nach den US -Patentgesetzen kann ein Patentbesitzer bis zu sechs Jahre vor der Einreichung einer Klage wegen "früherer Verletzung" klagen, so New York und Delaware gegen mehr als 55 Unternehmen. Die Beteiligung von General Electric an der Klage ist unbekannt, obwohl Gerichtsakten darauf hinweisen, dass das Patent 2009 das Patent zugewiesen und bestimmte Rechte im Patent behält.[40]

Typische Verwendung

Der JPEG -Komprimierungsalgorithmus arbeitet auf Fotografien und Gemälden realistischer Szenen mit reibungslosen Variationen von Ton und Farbe von seiner besten Seite. Für die Webnutzung, bei der die Reduzierung der für ein Bild verwendeten Daten für die reaktionsschnelle Präsentation wichtig ist, machen die Komprimierungsvorteile von JPEG JPEG beliebt. Jpeg/Exif ist auch das häufigste Format, das von Digitalkameras gespeichert wird.

JPEG eignet sich jedoch nicht gut für Linienzeichnungen und andere Text- oder ikonische Grafiken, in denen die scharfen Kontraste zwischen benachbarten Pixeln auffällige Artefakte verursachen können. Solche Bilder werden besser in einem gespeichert Verlustloses Grafikformat wie zum Beispiel Tiff, GIF, Png, oder ein Rohbildformat. Der JPEG -Standard enthält einen verlustfreien Codierungsmodus, aber dieser Modus wird in den meisten Produkten nicht unterstützt.

Da ist die typische Verwendung von JPEG a Verlustige Komprimierung Methode, die die Bildtreue verringert, ist für die genaue Reproduktion von Bildgebungsdaten ungeeignet (wie einige wissenschaftliche und medizinische Bildgebungsanwendungen und bestimmte technische Angaben Bildverarbeitung Arbeit).

JPEG ist auch nicht gut für Dateien geeignet, die mehreren Änderungen unterzogen werden, da bei jedem Wiederverdiff des Bildes eine gewisse Bildqualität verloren geht Verlust der digitalen Generation für Details. Um den Verlust von Bildinformationen während der sequentiellen und sich wiederholenden Bearbeitung zu verhindern, kann die erste Bearbeitung in einem verlustfreien Format gespeichert werden, das anschließend in diesem Format bearbeitet und schließlich als JPEG zur Verteilung veröffentlicht wird.

JPEG -Komprimierung

JPEG verwendet eine verlustige Komprimierung basierend auf dem Diskrete Cosinus -Transformation (DCT). Diese mathematische Operation wandelt jeden Frame/Feld der Videoquelle aus der räumlichen (2D) Domäne in die Frequenzdomäne (a.k.a. Transformation Domain) um. Ein Wahrnehmungsmodell basiert lose auf dem menschlichen psychovisuellen System, die hochfrequente Informationen, d. H. Scharfe Übergänge in der Intensität und Farbfarbton, verwaltet. In der Transformationsdomäne wird der Prozess der Reduzierung von Informationen als Quantisierung bezeichnet. Einfacher ist die Quantisierung eine Methode zur optimalen Reduzierung einer großen Anzahl (mit unterschiedlichem Vorkommen jeder Zahl) in eine kleinere, und die Transform-Domäne ist eine bequeme Darstellung des Bildes, da die Hochfrequenzkoeffizienten, die weniger beitragen Für das Gesamtbild als andere Koeffizienten sind charakteristisch kleine Werte mit hoher Kompressibilität. Die quantisierten Koeffizienten werden dann sequenziert und verliertlos in den Ausgangsbitstream gepackt. Nahezu alle Software-Implementierungen von JPEG ermöglichen die Benutzersteuerung des Benutzers über das Komprimierungsverhältnis (sowie andere optionale Parameter), sodass der Benutzer die Bildqualität für kleinere Dateigröße einleiten kann. In eingebetteten Anwendungen (z. B. MinIDV, die ein ähnliches DCT-Kompressionsschema verwendet) sind die Parameter vorgewählt und für die Anwendung fixiert.

Die Komprimierungsmethode ist normalerweise VerlustDies bedeutet, dass einige Originalbildinformationen verloren gehen und nicht wiederhergestellt werden können, was sich möglicherweise auf die Bildqualität auswirkt. Es gibt eine optionale Verlustlos Modus im JPEG -Standard definiert. Dieser Modus wird jedoch in Produkten nicht weit verbreitet.

Es gibt auch eine verschachtelt progressiv JPEG -Format, in dem Daten in mehreren progressiv höheren Details komprimiert werden. Dies ist ideal für große Bilder, die beim Herunterladen einer langsamen Verbindung angezeigt werden, sodass eine angemessene Vorschau nach dem Empfangen nur einen Teil der Daten erhalten. Die Unterstützung für progressive JPEGs ist jedoch nicht universell. Wenn progressive JPEGs von Programmen erhalten werden, die sie nicht unterstützen (wie z. B. Versionen von Internet Explorer Vor Windows 7)[41] Die Software zeigt das Bild erst an, nachdem es vollständig heruntergeladen wurde.

Es gibt auch viele medizinische Bildgebungs-, Verkehrs- und Kameraanwendungen, die 12-Bit-JPEG-Bilder sowohl Graustufen als auch Farbe erstellen und verarbeiten. Das 12-Bit-JPEG-Format ist in einem erweiterten Teil der JPEG-Spezifikation enthalten. Der Libjpeg Codec unterstützt 12-Bit-JPEG und gibt es sogar eine Hochleistungsversion.[42]

Verlustlose Bearbeitung

Mehrere Änderungen an einem JPEG -Bild können verlierbar (dh ohne Rückzahlung und der damit verbundene Qualitätsverlust) durchgeführt werden : 2: 0 Chroma -Subsampling). Zu den Versorgungsunternehmen, die dies implementieren, gehören:

  • Jpegtran und seine GUI, jpegcrop.
  • Irfanview Verwenden Sie "JPG Lussless Crop (Plugin)" und "JPG Lossless Rotation (Plugin)", bei denen das Plugin jpg_transform installiert werden muss.
  • Faststone Image Viewer Verwenden von "Lustless Crop to File" und "JPEG Verlustloses Drehen".
  • Xnviewmp Verwenden von "JPEG Verlustloser Transformationen".
  • ACDSEE Unterstützt verlustfreie Rotation (aber nicht verlustfreies Zuschneiden) mit seiner Option "Streitkräfte verlustfreie JPEG -Operationen".

Blöcke können in Schritten von 90 Grad gedreht werden, in horizontalen, vertikalen und diagonalen Achsen umgeflippt und im Bild bewegt werden. Nicht alle Blöcke aus dem Originalbild müssen im geänderten verwendet werden.

Die obere und linke Kante eines JPEG -Bildes muss an einer 8 × 8 -Pixel -Blockgrenze liegen, aber die untere und rechte Kante muss dies nicht tun. Dies begrenzt das Mögliche Verlustlose Ernte Operationen und verhindert auch Flips und Drehungen eines Bildes, dessen untere oder rechte Kante für alle Kanäle nicht auf einer Blockgrenze liegt (da die Kante oben oder links enden würde, wo - wie oben erwähnt - eine Blockgrenze obligatorisch ist).

Rotationen, bei denen das Bild kein Vielfaches von 8 oder 16 ist, was von der Chroma -Subsabtastung abhängt, sind nicht verlustlos. Durch das Drehen eines solchen Bildes werden die Blöcke neu berechnet, was zu Qualitätsverlust führt.[43]

Bei Verwendung von verlustfreiem Zuschneiden, wenn sich die untere oder rechte Seite des Erntebereichs nicht an einer Blockgrenze befindet, sind die restlichen Daten aus den teilweise verwendeten Blöcken weiterhin in der verkürzten Datei vorhanden und können wiederhergestellt werden. Es ist auch möglich, zwischen Basis- und progressiven Formaten ohne Qualitätsverlust zu transformieren, da der einzige Unterschied die Reihenfolge ist, in der die Koeffizienten in die Datei platziert werden.

Darüber hinaus können mehrere JPEG -Bilder verliertlos verbunden werden, solange sie mit der gleichen Qualität gerettet wurden und die Kanten mit Blockgrenzen übereinstimmen.

JPEG -Dateien

Das Datei Format Bekannt als "JPEG Interchange Format" (JIF) ist in Anhang B des Standards angegeben. Dieses "reine" Dateiformat wird jedoch selten verwendet, vor allem aufgrund der Schwierigkeit der Programmiercodierer und Decoder, die alle Aspekte des Standards und aufgrund bestimmter Mängel des Standards vollständig implementieren:

  • Farbraumdefinition
  • Komponente Unterabtastung
  • Pixel -Seitenverhältnis Definition.

Mehrere zusätzliche Standards haben sich entwickelt, um diese Probleme anzugehen. Das erste davon, das 1992 veröffentlicht wurde, war die JPEG -Datei -Austauschformat (oder jfif), gefolgt in den letzten Jahren von Austauschbares Bilddateiformat (Exif) und ICC Farbprofile. Beide Formate verwenden das tatsächliche JIF -Byte -Layout, das aus verschiedenen besteht MarkierungenAber außerdem verwenden Sie einen der Erweiterungspunkte des JIF -Standards, nämlich die Anwendungsmarkierungen: JFIF verwendet App0, während EXIF ​​App1 verwendet. Innerhalb dieser Segmente der Datei, die für die zukünftige Verwendung im JIF -Standard gelassen wurden und nicht danach gelesen werden, fügen diese Standards spezifische Metadaten hinzu.

In gewisser Weise ist JFIF also eine abgeschnittene Version des JIF-Standards, da es bestimmte Einschränkungen (z. Metadaten. Die Dokumentation für die ursprünglichen JFIF -Standardzustände:[44]

Das JPEG -Datei -Interchange -Format ist ein minimales Dateiformat, mit dem JPEG Bitstreams zwischen einer Vielzahl von Plattformen und Anwendungen ausgetauscht werden können. Dieses minimale Format enthält keine der erweiterten Funktionen in der TIFF JPEG -Spezifikation oder einem anwendungsspezifischen Dateiformat. Es sollte auch nicht zum einzigen Zweck dieses vereinfachten Formats darin bestehen, den Austausch von JPEG -komprimierten Bildern zu ermöglichen.

Bilddateien, die JPEG -Komprimierung verwenden, werden häufig als "JPEG -Dateien" bezeichnet und in Varianten des JIF -Bildformats gespeichert. Die meisten Image -Capture -Geräte (z. B. Digitalkameras), die JPEG ausgeben, erstellen tatsächlich Dateien in der Exif Format, das Format, auf das die Kameraindustrie für Metadatenstabenden standardisiert hat. Da der EXIF ​​-Standard jedoch keine Farbprofile zulässt, speichert die meisten Bildbearbeitungssoftware JPEG in Jfif Format und enthält auch das App1-Segment aus der EXIF-Datei, um die Metadaten auf fast konforme Weise einzuschließen. Der JFIF -Standard wird etwas flexibel interpretiert.[45]

Streng genommen sind die JFIF- und EXIF ​​-Standards nicht kompatibel, da jeder angibt, dass sein Markersegment (App0 oder App1) zuerst angezeigt wird. In der Praxis enthalten die meisten JPEG -Dateien ein JFIF -Marker -Segment, das dem EXIF ​​-Header vorausgeht. Auf diese Weise können ältere Leser das ältere Format -JFIF -Segment korrekt verarbeiten, während neuere Leser auch das folgende EXIF ​​-Segment dekodieren, was weniger streng ist, dass es zuerst angezeigt wird.

JPEG Dateiname -Erweiterungen

Das Üblichste Dateiname -Erweiterungen Für Dateien, die die JPEG -Komprimierung verwenden, sind .jpg und .jpeg, obwohl .jpe, .jfif und .jif werden auch verwendet. Es ist auch möglich, dass JPEG -Daten in andere Dateitypen eingebettet werden - Tiff Codierte Dateien betten häufig ein JPEG -Bild als Miniaturansicht des Hauptbildes; und MP3 Dateien können einen JPEG von enthalten Deckblattkunst in dem ID3V2 Schild.

Farbprofil

Viele JPEG -Dateien betten eine ein ICC -Farbprofil (Farbraum). Häufig verwendete Farbprofile umfassen SRGB und Adobe RGB. Da diese Farbräume eine nichtlineare Transformation verwenden, die Dynamikbereich einer 8-Bit-JPEG-Datei beträgt ungefähr 11 Stopps; sehen Gamma -Kurve.

Wenn das Bild keine Farbprofilinformationen angibt (Informationennicht getagelt) Es wird angenommen, dass der Farbraum für die Darstellungszwecke auf Webseiten SRGB ist.[46][47]

Syntax und Struktur

Ein JPEG -Bild besteht aus einer Sequenz von Segmente, jeder beginnt mit a MarkerJeder von denen beginnt mit einem 0xff -Byte, gefolgt von einem Byte, das angibt, welche Art von Marker es ist. Einige Marker bestehen nur aus diesen beiden Bytes; Andere folgen zwei Bytes (hoch, dann niedrig), was die Länge der folgenden Marker-spezifischen Nutzlastdaten anzeigt. (Die Länge enthält die beiden Bytes für die Länge, jedoch nicht die beiden Bytes für den Marker.) Auf einige Marker folgt Entropie codiert Daten; Die Länge eines solchen Markers enthält nicht die Entropie-codierten Daten. Beachten Sie, dass aufeinanderfolgende 0xff -Bytes als Füllbytes für verwendet werden Polsterung Zwecke, obwohl diese Füllbyte-Polsterung immer nur für Marker nach entropiecodierten Scandaten stattfinden sollte (siehe Abschnitt JPEG-Spezifikation b.1.1.2 und e.1.2 für Details; speziell "in allen Fällen, in denen Marker nach dem Komprimieren angehängt werden Daten, optional 0xff -Füllbytes können dem Marker vorausgehen ").

Innerhalb der entropiecodierten Daten wird nach einem 0xff-Byte ein 0x00-Byte vom Encoder vor dem nächsten Byte eingefügt, so dass es keinen Marker gibt, in dem keine beabsichtigt ist und Rahmenfehler verhindert. Decoder müssen dieses 0x00 -Byte überspringen. Diese Technik, genannt Byte -Füllung (Siehe JPEG-Spezifikation Abschnitt F.1.2.3) wird nur auf die Entropie-codierten Daten angewendet, nicht um die Nutzlastdaten zu markieren. Beachten Sie jedoch, dass Entropie-codierte Daten einige eigene Marker aufweisen. Insbesondere die Reset-Marker (0xD0 bis 0xD7), die zum Isolieren unabhängiger Stücke von Entropie-codierten Daten verwendet werden, um parallele Decodierung zu ermöglichen, und Encoder können diese Reset-Marker in regelmäßigen Intervallen einfügen (obwohl nicht alle Encoderer dies tun).

Gemeinsame JPEG -Marker[48]
Kurzer Name Bytes Nutzlast Name Kommentare
Soi 0xff, 0xd8 keiner Bildstart
SOF0 0xff, 0xc0 variable Größe Start des Rahmens (Grundlinie DCT)) Zeigt an, dass dies eine Basis-DCT-basierte JPEG ist und die Breite, Höhe, Anzahl der Komponenten und Komponenten-Teilabtastungen angibt (z. B. 4: 2: 0).
SOF2 0xff, 0xc2 variable Größe Start des Rahmens (progressive DCT) Zeigt an, dass dies ein progressives DCT-basierter JPEG ist und die Breite, Höhe, Anzahl der Komponenten und Komponenten-Teilabtastungen angibt (z. B. 4: 2: 0).
DHT 0xff, 0xc4 variable Größe Definieren Sie die Huffman -Tabellen (en) Gibt einen oder mehrere Huffman -Tische an.
DQT 0xff, 0xdb variable Größe Definieren Sie die Quantisierungstabelle (en) Gibt einen oder mehrere Quantisierungstabellen an.
Dri 0xff, 0xdd 4 Bytes Definieren Sie das Neustartintervall Gibt das Intervall zwischen RST ann Markierungen in minimal codierten Einheiten (MCUs). Auf diesen Marker folgt zwei Bytes, die die feste Größe angeben, sodass er wie jedes andere Segment variabler Größe behandelt werden kann.
SOS 0xff, 0xda variable Größe SCAN -Beginn Beginnt einen Top-to-Bottom-Scan des Bildes. Bei Basis -DCT -JPEG -Bildern gibt es im Allgemeinen einen einzelnen Scan. Progressive DCT -JPEG -Bilder enthalten normalerweise mehrere Scans. Dieser Marker gibt an, welche Datenscheibe sie enthalten wird, und folgt sofort von entropiecodierten Daten.
RSTn 0xff, 0xdn (n= 0..7) keiner Neu starten Jeden eingefügt r Makroblocks, wo r ist das Neustartintervall, der von einem DRI -Marker festgelegt ist. Nicht verwendet, wenn es keinen DRI -Marker gab. Die niedrigen drei Bits des Markierungscode -Wertkreislaufs von 0 bis 7.
Appn 0xff, 0xen variable Größe Anwendungsspezifisch Zum Beispiel eine Exif Die JPEG -Datei verwendet einen App1 -Marker, um Metadaten zu speichern, die in einem strukturierten, der eng basiert Tiff.
Com 0xff, 0xfe variable Größe Kommentar Enthält einen Textkommentar.
Eoi 0xff, 0xd9 keiner Ende des Bildes

Da sind andere Start des Rahmens Marker, die andere Arten von JPEG -Codierungen einführen.

Da mehrere Anbieter dieselbe App verwenden könntenn Markierungsart, anwendungsspezifische Marker beginnen häufig mit einem Standard- oder Lieferantennamen (z. B. "exif" oder "adobe") oder einer anderen identifizierenden Zeichenfolge.

Bei einem Neustartmarker werden Block-zu-Block-Prädiktorvariablen zurückgesetzt und der Bitstream wird mit einer Bytegrenze synchronisiert. Neustart -Marker bieten Mittel für die Wiederherstellung nach Bitstream -Fehler, z. B. Übertragung über ein unzuverlässiger Netzwerk oder eine Dateibeschädigung. Da die Läufe von Makroblocks zwischen Neustartmarkern unabhängig dekodiert werden können, können diese Läufe parallel dekodiert werden.

JPEG -Codec -Beispiel

Obwohl eine JPEG -Datei auf verschiedene Arten codiert werden kann, wird sie am häufigsten mit der JFIF -Codierung durchgeführt. Der Codierungsprozess besteht aus mehreren Schritten:

  1. Die Darstellung der Farben im Bild wird von konvertiert RGB zu Y'cBCR, bestehend aus einem Luma Komponente (y '), die Helligkeit darstellt und zwei Chroma Komponenten, (cB und CR), darstellen Farbe. Dieser Schritt wird manchmal übersprungen.
  2. Die Auflösung der Chroma -Daten wird normalerweise um den Faktor 2 oder 3 verringert. Dies spiegelt die Tatsache wider, dass das Auge weniger empfindlich gegenüber feinen Farbdetails ist als für feine Helligkeitsdetails.
  3. Das Bild ist in Blöcke von 8 × 8 Pixel und für jeden Block jedes der y, c aufgeteiltB, und CR Daten unterziehen sich Diskrete Cosinus -Transformation (DCT). Ein DCT ähnelt a Fourier-Transformation in dem Sinne, dass es eine Art räumliche Frequenzspektrum erzeugt.
  4. Die Amplituden der Frequenzkomponenten sind quantisiert. Das menschliche Sehen ist viel empfindlicher für kleine Variationen in Farbe oder Helligkeit über große Bereiche als für die Stärke der Hochfrequenzhelligkeitsschwankungen. Daher werden die Größen der Hochfrequenzkomponenten mit einer geringeren Genauigkeit als die Niederfrequenzkomponenten gespeichert. Die Qualitätseinstellung des Encoder[49]) Affekte, inwieweit die Auflösung jeder Frequenzkomponente reduziert wird. Wenn eine übermäßige Einstellung von geringer Qualität verwendet wird, werden die Hochfrequenzkomponenten insgesamt verworfen.
  5. Die resultierenden Daten für alle 8 × 8 -Blöcke sind weiter mit einem verlustfreien Algorithmus komprimiert, einer Variante von Huffman Codierung.

Der Dekodierungsprozess kehrt diese Schritte außer dem um Quantisierung Weil es irreversibel ist. Im Rest dieses Abschnitts werden die Codierungs- und Dekodierungsprozesse ausführlicher beschrieben.

Codierung

Viele der Optionen im JPEG -Standard werden nicht häufig verwendet. Wie oben erwähnt, verwendet die meisten Bildsoftware das einfachere JFIF -Format beim Erstellen einer JPEG -Datei, die unter anderem die Codierungsmethode angibt. Hier finden Sie eine kurze Beschreibung einer der häufigsten Codierungsmethoden, wenn Sie auf einen Eingang mit 24 angewendet werden Bits pro Pixel (jeweils acht von rot, grün und blau). Diese bestimmte Option ist a Verlustige Datenkomprimierung Methode.

Farbraumtransformation

Zunächst sollte das Bild von konvertiert werden RGB (Standardmäßig SRGB,[46][47] aber andere Farbräume sind möglich) in einen anderen Farbraum genannt Y'cBCR (oder informell YCBCR). Es hat drei Komponenten y ', cB und CR: Die y 'Komponente repräsentiert die Helligkeit eines Pixels und die cB und CR Komponenten repräsentieren die Chrominanz (In blaue und rote Komponenten aufgeteilt). Dies ist im Grunde der gleiche Farbraum wie verwendet von Digitales Farbfernsehen sowie digitales Video einschließlich Video -DVDs. Sie sehenBCR Die Umwandlung von Farbraum ermöglicht eine größere Kompression ohne signifikanten Auswirkungen auf die Wahrnehmungsbildqualität (oder eine höhere Wahrnehmungsbildqualität für die gleiche Komprimierung). Die Komprimierung ist effizienter, da die Helligkeitsinformationen, die für die eventuelle Wahrnehmungsqualität des Bildes wichtiger sind, auf einen einzelnen Kanal beschränkt sind. Dies entspricht genauer der Wahrnehmung von Farbe im menschlichen visuellen System. Die Farbtransformation verbessert auch die Komprimierung durch statistische Dekorrelation.

Eine bestimmte Konvertierung in Y'CBCR wird im JFIF -Standard angegeben und sollte für die resultierende JPEG -Datei durchgeführt werden, um eine maximale Kompatibilität zu erhalten. Einige JPEG -Implementierungen im Modus "höchster Qualität" wenden diesen Schritt jedoch nicht an und behalten stattdessen die Farbinformationen in der RGB -Farbmodell,[50] wo das Bild in getrennten Kanälen für rot, grüne und blaue Helligkeitskomponenten gespeichert ist. Dies führt zu einer geringeren effizienten Komprimierung und würde wahrscheinlich nicht verwendet werden, wenn die Dateigröße besonders wichtig ist.

Downsampling

Aufgrund der Dichten von farb- und helligen sensitiven Rezeptoren im menschlichen Auge können Menschen in der Helligkeit eines Bildes (der Y'-Komponente) erheblich feines Details sehen als in der Farbton und der Farbsättigung eines Bildes (CB und CB und CR -Komponenten). Mit diesem Wissen können Encoder ausgelegt werden, um Bilder effizienter zu komprimieren.

Die Transformation in die Y'cBCR Farbmodell Ermöglicht den nächsten üblichen Schritt, die die räumliche Auflösung der CB- und CR -Komponenten (genannt "zu verringern.Downsampling" oder "Chroma -Subsampling"). Die Verhältnisse, bei denen der Downsampling normalerweise für JPEG -Bilder durchgeführt wird 4: 4: 4 (kein Downsampling), 4: 2: 2 (Reduktion um den Faktor 2 in horizontaler Richtung) oder (am häufigsten) 4: 2: 0 (Reduktion um den Faktor 2 sowohl in der horizontalen als auch in vertikalen Richtungen). Für den Rest des Kompressionsprozesses werden Y ', CB und CR getrennt und auf eine sehr ähnliche Weise verarbeitet.

Blockspaltung

Nach Teilabtastung, jeder Kanal muss in 8 × 8 Blöcke aufgeteilt werden. Abhängig von der Chroma -Teilabtastung liefert dieser minimale codierte Einheit (MCU) Blöcke der Größe 8 × 8 (4: 4: 4 - Keine Subsampling), 16 × 8 (4: 2: 2) oder am häufigsten 16 × 16 (4: 2: 0). Im Video-Kompression MCUs werden genannt Makroblocks.

Wenn die Daten für einen Kanal keine Ganzzahlzahl von Blöcken darstellen, muss der Encoder den verbleibenden Bereich der unvollständigen Blöcke mit irgendeiner Form von Dummydaten füllen. Das Füllen der Kanten mit einer festen Farbe (z. B. Schwarz) kann erstellen Artefakte klingeln entlang des sichtbaren Teils der Grenze; Die Wiederholung der Kantenpixel ist eine gemeinsame Technik, die solche Artefakte reduziert (aber nicht unbedingt beseitigt), und es können auch ausgefeiltere Grenzfüllungstechniken angewendet werden.

Diskrete Cosinus -Transformation

Das 8 × 8-Untermaterial in 8-Bit-Graustufen gezeigt

Als nächstes wird jeder 8 × 8 -Block jeder Komponente (y, cb, cr) in a umgewandelt Frequenzbereich Darstellung unter Verwendung eines normalisierten zweidimensionalen Typ-II Diskrete Cosinus -Transformation (DCT) siehe Zitat 1 in Diskrete Cosinus -Transformation. Der DCT wird manchmal als "Typ-II DCT" im Kontext einer Familie von Transformationen bezeichnet wie in Diskrete Cosinus -Transformationund die entsprechende Inverse (IDCT) wird als "Typ-III DCT" bezeichnet.

Als Beispiel könnte ein solches 8 × 8 8-Bit-Unterausgang sein:

Vor der Berechnung des DCT des 8 × 8 -Blocks werden seine Werte von einem positiven Bereich auf eins auf Null verschoben. Für ein 8-Bit-Bild fällt jeder Eintrag im ursprünglichen Block in den Bereich . Der Mittelpunkt des Bereichs (in diesem Fall, der Wert 128) wird von jedem Eintrag abzuziehen, um einen Datenbereich zu erzeugen, der auf Null zentriert ist, so dass der modifizierte Bereich ist . Dieser Schritt reduziert die Anforderungen an den Dynamikbereich in der folgenden DCT -Verarbeitungsstufe.

Dieser Schritt führt zu den folgenden Werten:

Der DCT transformiert einen 8 × 8 -Block der Eingabewerte in a lineare Kombination dieser 64 Muster. Die Muster werden als zweidimensionales DCT bezeichnet Basisfunktionenund die Ausgabewerte werden als bezeichnet als Umwandlung der Koeffizienten. Der horizontale Index ist und der vertikale Index ist .

Der nächste Schritt besteht darin, den zweidimensionalen DCT zu nehmen, der gegeben wird durch:

wo

  • ist die horizontale Raumfrequenzfür die ganzen Zahlen .
  • ist die vertikale räumliche Frequenz für die Ganzzahlen .
  • ist ein Normalisierungsskalierungsfaktor für die Transformation orthonormal
  • ist der Pixelwert bei Koordinaten
  • ist der DCT -Koeffizient bei Koordinaten

Wenn wir diese Transformation auf unserer Matrix oben ausführen, erhalten wir Folgendes (abgerundet auf die zwei Ziffern über den Dezimalpunkt hinaus):

Beachten Sie den oberen linken Eckeintrag mit der ziemlich großen Größe. Dies ist der Gleichstromkoeffizient (auch als konstante Komponente bezeichnet), der den Grundfarbton für den gesamten Block definiert. Die verbleibenden 63 Koeffizienten sind die Wechselstromkoeffizienten (auch als abwechselnde Komponenten bezeichnet).[51] Der Vorteil des DCT ist seine Tendenz, das meiste Signal in einer Ecke des Ergebniss zu aggregieren, wie oben zu sehen ist. Der Quantisierungsschritt, um zu folgen, betont diesen Effekt und reduziert gleichzeitig die Gesamtgröße der DCT -Koeffizienten, was zu einem Signal führt, das in der Entropiestufe leicht zu komprimieren ist.

Das DCT erhöht vorübergehend das Bittie der Daten, da die DCT-Koeffizienten eines 8-Bit/-Komponenten-Bildes bis zu 11 oder mehr Bits (abhängig von der Genuss der DCT-Berechnung) zum Speichern dienen. Dies kann den Codec zwingen, diese Koeffizienten vorübergehend vorübergehend zu verwenden, um diese Koeffizienten zu halten, und die Größe der Bilddarstellung an dieser Stelle verdoppelt. Diese Werte werden durch den Quantisierungsschritt typischerweise auf 8-Bit-Werte reduziert. Die vorübergehende Größe der Größe in diesem Stadium ist für die meisten JPEG -Implementierungen kein Leistungsanliegen, da in der Regel nur ein sehr kleiner Teil des Bildes zu einem bestimmten Zeitpunkt während des Bildcodierungs- oder Decodierungsprozesses in voller DCT -Form gespeichert wird.

Quantisierung

Das menschliche Auge ist gut darin, kleine Unterschiede zu sehen Helligkeit über einem relativ großen Bereich, aber nicht so gut darin, die genaue Festigkeit einer Hochfrequenzhelligkeitsvariation zu unterscheiden. Auf diese Weise kann man die Informationsmenge in den Hochfrequenzkomponenten erheblich reduzieren. Dies geschieht einfach, indem einfach jede Komponente in die Frequenzdomäne durch eine Konstante für diese Komponente geteilt und dann auf die nächste Ganzzahl rundet. Dieser Rundungsbetrieb ist der einzige verlustige Betrieb im gesamten Prozess (außer Chroma -Sub Sampling), wenn die DCT -Berechnung mit ausreichend hoher Genauigkeit durchgeführt wird. Infolgedessen ist es in der Regel der Fall, dass viele der höheren Frequenzkomponenten auf Null abgerundet werden und viele der Reste zu kleinen positiven oder negativen Zahlen werden, die viel weniger Bits benötigen.

Die Elemente in der Quantisierungsmatrix Steuern Sie das Komprimierungsverhältnis, wobei größere Werte eine größere Komprimierung erzeugen. Eine typische Quantisierungsmatrix (für eine Qualität von 50%, wie im ursprünglichen JPEG -Standard angegeben) ist wie folgt:

Die quantisierten DCT -Koeffizienten werden mit berechnet

wo ist die unangemessenen DCT -Koeffizienten; ist die Quantisierungsmatrix oben; und ist die quantisierten DCT -Koeffizienten.

Unter Verwendung dieser Quantisierungsmatrix mit der DCT -Koeffizientenmatrix von oben führt zu:

Links: Ein endgültiges Bild stammt aus einer Reihe von Basisfunktionen. Rechts: Jede der DCT -Basisfunktionen, die das Bild umfassen, und den entsprechenden Gewichtungskoeffizienten. Mitte: Die Basisfunktion nach der Multiplikation mit dem Koeffizienten: Diese Komponente wird dem endgültigen Bild hinzugefügt. Aus Gründen der Klarheit wird das 8 × 8 -Makroblock in diesem Beispiel durch 10 -fache unter Verwendung einer bilinearen Interpolation vergrößert.

Beispiel

Beachten Sie, dass die meisten der höhere Frequenzelemente des Unterblocks (d. H. Diejenigen mit einem x oder y Die räumliche Frequenz von mehr als 4) werden in Nullwerte quantisiert.

Entropie -Codierung

Zickzack -Bestellung von JPEG -Bildkomponenten

Entropie -Codierung ist eine spezielle Form von Verlustlose Datenkomprimierung. Es umfasst das Anordnen der Bildkomponenten in einem "Zickzack-"Auftragsbeschäftigung Kodierung der Lauflänge (RLE) -Algorithmus, der ähnliche Frequenzen zusammenfasst, die Längencodierung von Nullen und dann verwenden Huffman -Codierung auf was übrig bleibt.

Der JPEG -Standard ermöglicht Decoder auch, die Verwendung von zu unterstützen, aber nicht erforderlich arithmetische Kodierung, was der Huffman -Codierung mathematisch überlegen ist. Dieses Merkmal wurde jedoch selten verwendet, wie es historisch von erfasst wurde Patente Erfordernis von Lizenzgebühren, und weil es langsamer ist, im Vergleich zur Huffman-Codierung zu codieren und zu dekodieren. Die arithmetische Codierung macht Dateien in der Regel um 5–7% kleiner.

Der vorherige quantisierte Gleichstromkoeffizient wird verwendet, um den quantisierten DC -Koeffizienten des Stroms vorherzusagen. Der Unterschied zwischen den beiden ist eher codiert als der tatsächliche Wert. Die Codierung der 63 quantisierten Wechselstromkoeffizienten verwendet keine solche Vorhersageunterschiede.

Die Zickzacksequenz für die obigen quantisierten Koeffizienten ist unten gezeigt. (Das gezeigte Format dient nur zur einfachen Verständnis/Betrachtung.)

–26
–3 0
–3 –2 –6
2 –4 1 –3
1 1 5 1 2
–1 1 –1 2 0 0
0 0 0 –1 –1 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0
0 0 0 0
0 0 0
0 0
0

Wenn die i-Die Block wird durch dargestellt und Positionen innerhalb jedes Blocks werden durch dargestellt wo und und dann kann jeder Koeffizient im DCT -Bild als . Somit im obigen Schema die Reihenfolge der codierenden Pixel (für die i-Die Block) ist , , , , , , , usw.

Basis sequentiell JPEG -Kodier- und Dekodierungsprozesse

Dieser Codierungsmodus wird als Basislinie bezeichnet sequentiell Codierung. Baseline JPEG unterstützt auch progressiv Codierung. Während die sequentielle Codierung Koeffizienten eines einzelnen Blocks gleichzeitig (in Zickzack) codiert, codiert die progressive Codierung eine ähnliche Stapel von Koeffizienten aller Blöcke in einem GO (genannt a Scan), gefolgt von der nächsten Koeffizienten aller Blöcke und so weiter. Zum Beispiel, wenn das Bild in n 8 × 8 Blöcke unterteilt ist , dann codiert ein 3-Scan-Progressiv-Codierungskodier eine DC-Komponente, für alle Blöcke, d. h. für alle , im ersten Scan. Darauf folgt der zweite Scan, der einige weitere Komponenten codiert (unter der Annahme von vier weiteren Komponenten sind sie zu , immer noch im Zickzack) Koeffizienten aller Blöcke (so ist die Sequenz: ), gefolgt von allen verbleibenden Koeffizienten aller Blöcke im letzten Scan.

Sobald alle in ähnlichen positionierten Koeffizienten codiert wurden, ist die nächste Position, die codiert wird, die nächste im Zickzack-Durchlauf, wie in der obigen Abbildung angegeben. Es wurde festgestellt, dass das Grundlinie progressiv JPEG -Codierung verleiht normalerweise eine bessere Komprimierung im Vergleich zu Basis sequentiell JPEG Aufgrund der Möglichkeit, verschiedene Huffman-Tabellen zu verwenden (siehe unten), die auf unterschiedliche Frequenzen für jeden "Scan" oder "Pass" (einschließlich ähnlicher positionierter Koeffizienten enthält) zugeschnitten sind, ist der Unterschied jedoch nicht zu groß.

Im Rest des Artikels wird angenommen, dass das generierte Koeffizientenmuster auf den sequentiellen Modus zurückzuführen ist.

Um das oben generierte Koeffizientenmuster zu codieren, verwendet JPEG die Huffman -Codierung. Der JPEG-Standard bietet allgemeine Huffman-Tische. Encoder können sich auch dafür entscheiden, Huffman -Tabellen zu generieren, die für die tatsächlichen Frequenzverteilungen in den codierten Bildern optimiert sind.

Der Prozess der Codierung der quantisierten Zick-Zack-Daten beginnt mit einer unten erläuterten Kodierung von Lauflängen, wobei:

  • x ist der ungleich Null, quantisierte Wechselstromkoeffizient.
  • LAUFLÄNGE ist die Anzahl der Nullen, die vor diesem Wechselstromkoeffizienten ungleich Null geliefert wurden.
  • GRÖSSE ist die Anzahl der für die Darstellung erforderlichen Bits x.
  • AMPLITUDE ist die Bitrepräsentation von x.

Die Kodierung der Lauflänge funktioniert, indem jeder Wechselstromkoeffizient ungleich Null untersucht wird x und festzustellen, wie viele Nullen vor dem vorherigen Wechselstromkoeffizient kamen. Mit diesen Informationen werden zwei Symbole erstellt:

Symbol 1 Symbol 2
(Lauflänge, Größe) (AMPLITUDE)

Beide LAUFLÄNGE und GRÖSSE ruhen Sie sich auf demselben Byte aus, was bedeutet, dass jeweils nur vier Informationsbits enthält. Die höheren Bits befassen sich mit der Anzahl der Nullen, während die unteren Bits die Anzahl der Bits bezeichnen x.

Dies hat die unmittelbare Auswirkungen von Symbol 1 Nur Informationen zu den ersten 15 Nullen vor dem Wechselstromkoeffizienten ungleich Null speichern. JPEG definiert jedoch zwei spezielle Huffman -Code -Wörter. Eines ist es, die Sequenz vorzeitig zu beenden, wenn die verbleibenden Koeffizienten Null sind (als "Endof-Block" oder "EOB" bezeichnet) und ein anderer, wenn der Nellenlauf über 15 hinausgeht, bevor er einen Wechselstromkoeffizienten ungleich Null erreicht. In einem solchen Fall, in dem 16 Nullen vor einem gegebenen Wechselstromkoeffizienten ungleich Null auftreten, werden Symbol 1 ist "speziell" codiert wie: (15, 0) (0).

Der Gesamtprozess wird fortgesetzt, bis "EOB" - gekennzeichnet durch (0, 0) - erreicht ist.

In diesem Sinne wird die Sequenz von früher:

(0, 2) (-3); (1, 2) (-3); (0, 1) (-2); (0, 2) (-6); (0, 1) (2); (((0, 2); 0, 1) (-4); (0, 1) (1); (0, 2) (-3); (0, 1) (1); (0, 1) (1);
(0, 2) (5); (0, 1) (1); (0, 1) (2); (0, 1) (-1); (0, 1) (1); (0, 1 ) (-1); (0, 1) (2); (5, 1) (-1); (0, 1) (-1); (0, 0);

(Der erste Wert in der Matrix –26 ist der Gleichstromkoeffizient; er ist nicht auf die gleiche Weise codiert. Siehe oben.)

Von hier aus werden Frequenzberechnungen auf der Grundlage der Vorkommen der Koeffizienten durchgeführt. In unserem Beispielblock sind die meisten quantisierten Koeffizienten kleine Zahlen, denen nicht sofort ein Nullkoeffizient vorausgeht. Diese stärkeren Fälle werden durch kürzere Codewörter dargestellt.

Kompressionsverhältnis und Artefakte

Dieses Bild zeigt die Pixel, die zwischen einem nicht komprimierten Bild und demselben Bild unterscheiden, das mit einer Qualitätseinstellung von 50 komprimiert ist. Dunkler bedeutet einen größeren Unterschied. Beachten Sie insbesondere die Änderungen in der Nähe scharfer Kanten und eine blockähnliche Form.
Das Originalbild
Die komprimierten 8 × 8-Quadrate sind im skalierten Bild zusammen mit anderen visuellen Artefakten des Verlustige Komprimierung.

Das resultierende Komprimierungsverhältnis kann je nach Bedarf variiert werden, indem in den in der Quantisierungsphase verwendeten Divisoren mehr oder weniger aggressiv sein. Zehn zu einer Komprimierung führt normalerweise zu einem Bild, das nicht durch das Auge vom Original unterschieden werden kann. Ein Kompressionsverhältnis von 100: 1 ist normalerweise möglich, sieht jedoch deutlich aus Artefakt im Vergleich zum Original. Die entsprechende Komprimierung hängt von der Verwendung ab, auf die das Bild eingestellt wird.

Externes Bild
image icon Illustration der Edge -Geschäftigkeit[52]

Diejenigen, die das benutzen Weltweites Netz kann mit den Unregelmäßigkeiten vertraut sein Kompressionsartefakte Das erscheinen in JPEG -Bildern, die die Form von Rauschen um kontrastierende Kanten (insbesondere Kurven und Ecken) oder "blockige" Bilder annehmen können. Diese sind auf den Quantisierungsschritt des JPEG -Algorithmus zurückzuführen. Sie sind insbesondere um scharfe Ecken zwischen kontrastierenden Farben auffällig (Text ist ein gutes Beispiel, da es viele solcher Ecken enthält). Die analogen Artefakte in MPEG Video werden als bezeichnet als Mückenrauschen, Als resultierende "Edge -Geschäftigkeit" und falsche Punkte, die sich im Laufe der Zeit ändern, schwärmen Sie Mücken, die um das Objekt herumschwärmen.[52][53]

Diese Artefakte können reduziert werden, indem ein niedrigeres Maß an ausgewählt wird Kompression; Sie können vollständig vermieden werden, indem Sie ein Bild mit a speichern Verlustlos Dateiformat, obwohl dies zu einer größeren Dateigröße führt. Die Bilder erstellt mit Strahlung Programme haben spürbare blockige Formen auf dem Gelände. Bestimmte Artefakte mit niedriger Intensität Komprimierung sind möglicherweise akzeptabel, wenn sie einfach die Bilder betrachten, können jedoch hervorgehoben werden, wenn das Bild anschließend verarbeitet wird, was normalerweise zu inakzeptabler Qualität führt. Betrachten Sie das nachstehende Beispiel und demonstrieren Sie die Auswirkung einer verlustigen Komprimierung auf einen Kantenerkennung Verarbeitungsschritt.

Bild Verlustfreie Kompression Verlustige Komprimierung
Original Lossless-circle.png Lossy-circle.jpg
Verarbeitet von
Canny Edge -Detektor
Lossless-circle-canny.png Lossy-circle-canny.png

Einige Programme ermöglichen es dem Benutzer, den Betrag zu variieren, durch den einzelne Blöcke komprimiert werden. Eine stärkere Komprimierung wird auf Bereiche des Bildes angewendet, die weniger Artefakte zeigen. Auf diese Weise ist es möglich, die Größe der JPEG -Datei mit weniger Qualitätsverlust manuell zu reduzieren.

Seit der Quantisierungsstufe stets JPEG Standard ist immer ein verlustiger Kompressionscodec. (Informationen gehen sowohl bei der Quantisierung als auch bei der Abrunden der Gleitkomma-Zahlen verloren.) Auch wenn die Quantisierungsmatrix a ist Matrix derjenigen, Informationen werden im Rundungsschritt weiterhin verloren gehen.

Dekodierung

Die Dekodierung zum Anzeigen des Bildes besteht darin, alle oben genannten umgekehrt zu machen.

Einnahme der DCT -Koeffizientenmatrix (nach Hinzufügen der Differenz des Gleichstromkoeffizienten zurück)

und das zu nehmen Einstiegsprodukt Mit der Quantisierungsmatrix von oben führt

Das ähnelt stark der ursprünglichen DCT-Koeffizientenmatrix für den oberen linken Teil.

Der nächste Schritt besteht darin, das zweidimensionale inverse DCT (ein 2D-Typ-III-DCT) zu übernehmen, der angegeben wird:

wo

  • ist die Pixelreihe für die Ganzzahlen .
  • ist die Pixelspalte für die Ganzzahlen .
  • ist für die Ganzzahlen wie oben definiert .
  • ist der rekonstruierte ungefähre Koeffizient bei Koordinaten
  • ist der rekonstruierte Pixelwert bei Koordinaten

Rundung der Ausgabe in Ganzzahlwerte (da das Original -Ganzzahlwerte hatte) führt zu einem Bild mit Werten (immer noch um 128 verschoben).

Leichte Unterschiede sind zwischen dem Original (oben) und dem dekomprimierten Bild (unten) erkennbar, was in der unteren linken Ecke am leichtesten zu sehen ist.

und Hinzufügen von 128 zu jedem Eintrag

Dies ist das dekomprimierte Subimage. Im Allgemeinen kann der Dekompressionsprozess Werte außerhalb des ursprünglichen Eingangsbereichs von erzeugen . In diesem Fall muss der Decoder die Ausgangswerte abschneiden, um sie in diesem Bereich zu halten, um Überlauf beim Speichern des dekomprimierten Bildes mit der ursprünglichen Bittiefe zu verhindern.

Das dekomprimierte Subimage kann mit dem ursprünglichen Subimage (siehe auch Bilder rechts) verglichen werden, indem die Differenz (Original - unkomprimiert) in die folgenden Fehlerwerte verwendet werden:

mit einem durchschnittlichen absoluten Fehler von etwa 5 Werten pro Pixel (d. H.,, ).

Der Fehler ist in der unteren linken Ecke am auffälligsten, wo das untere Links-Pixel dunkler wird als das Pixel, der unmittelbar rechts ist.

Erforderliche Präzision

Die erforderliche Implementierungsgenauigkeit eines JPEG -Codec wird implizit durch die Anforderungen definiert, die für die Einhaltung des JPEG -Standards formuliert wurden. Diese Anforderungen sind in der ITU.T -Empfehlung T.83 | angegeben ISO/IEC 10918-2. Im Gegensatz zu MPEG -Standards und vielen späteren JPEG Ströme. Beispielsweise darf die Ausgabe einer Decoder -Implementierung einen Fehler einer Quantisierungseinheit in der DCT -Domäne nicht überschreiten, wenn sie auf die als Teil des oben genannten Standards bereitgestellten Referenztests angewendet werden. Obwohl es ungewöhnlich und im Gegensatz zu vielen anderen und moderneren Standards ist, ist itu.t t.83 | ISO/IEC 10918-2 formuliert keine Fehlergrenzen in der Bilddomäne.

Auswirkungen der JPEG -Komprimierung

JPEG-Komprimierungsartefakte mischen sich gut in Fotos mit detaillierten ungleichmäßigen Texturen ein und ermöglichen höhere Komprimierungsverhältnisse. Beachten Sie, wie sich ein höheres Kompressionsverhältnis zunächst auf die hochfrequenten Texturen in der oberen linken Ecke des Bildes auswirkt und wie die kontrastierenden Linien unscharf werden. Das sehr hohe Komprimierungsverhältnis beeinflusst die Bildqualität stark, obwohl die Gesamtfarben und die Bildform immer noch erkennbar sind. Die Präzision der Farben leiden jedoch weniger (für ein menschliches Auge) als die Präzision der Konturen (basierend auf Luminanz). Dies rechtfertigt die Tatsache, dass Bilder zuerst in einem Farbmodell transformiert werden sollten, das die Luminanz von den chromatischen Informationen trennt, bevor die chromatischen Ebenen (die möglicherweise auch quantifizieren können), um die Genauigkeit der Luminanzebene mit weiteren Informationsbits zu erhalten .

Beispielfotos

Visuelle Wirkung einer JPEG -Komprimierung auf Photoshop auf ein Bild von 4480 x 4480 Pixel

Zur Information würde das unkomprimierte 24-Bit-RGB-Bitmap-Bild unten (73.242 Pixel) 219.726 Bytes (ausgenommen alle anderen Informationsheader) erfordern. Die unten angegebenen Dateigrößen enthalten die internen JPEG -Informationsheader und einige Metadaten. Für Bilder von höchster Qualität (q = 100) sind etwa 8,25 Bit pro Farbpixel erforderlich. Bei Graustufenbildern reicht mindestens 6,5 Bit pro Pixel aus (für eine vergleichbare Q = 100 -Qualitätsfarbe sind etwa 25% mehr codierte Bits erforderlich). Das folgende Bild von höchster Qualität (q = 100) ist mit neun Bits pro Farbpixel codiert. Das Bild mit mittlerer Qualität (q = 25) verwendet ein Bit pro Farbpixel. Für die meisten Anwendungen sollte der Qualitätsfaktor nicht unter 0,75 Bit pro Pixel (q = 12,5) liegen, wie das Bild von geringer Qualität zeigt. Das Bild mit niedrigster Qualität verwendet nur 0,13 Bit pro Pixel und zeigt eine sehr schlechte Farbe. Dies ist nützlich, wenn das Bild in einer erheblich skalierten Größe angezeigt wird. Eine Methode zum Erstellen besserer Quantisierungsmatrizen für eine bestimmte Bildqualität mit PSNR Anstelle des Q -Faktors wird in Minguillón & Pujol (2001) beschrieben.[54]

Hinweis: Die obigen Bilder sind nicht IEEE / CCIR / Ebu Testbilderund die Encodereinstellungen sind nicht angegeben oder verfügbar.
Bild Qualität Größe (Bytes) Kompressionsrate Kommentar
JPEG example JPG RIP 100.jpg Höchste Qualität (q = 100) 81.447 2.7: 1 Extrem kleine Artefakte
JPEG example JPG RIP 050.jpg Hohe Qualität (q = 50) 14.679 15: 1 Anfangszeichen von Subimage -Artefakten
JPEG example JPG RIP 025.jpg Mittlere Qualität (q = 25) 9.407 23: 1 Stärkere Artefakte; Verlust von Hochfrequenzinformationen
JPEG example JPG RIP 010.jpg Niedrige Qualität (q = 10) 4,787 46: 1 Ein schwerer Verlust mit hoher Frequenz führt zu offensichtlichen Artefakten an Subimage -Grenzen ("Makroblocker")
JPEG example JPG RIP 001.jpg Niedrigste Qualität (q = 1) 1,523 144: 1 Extremer Farbverlust und Detail; Die Blätter sind nahezu nicht wiederzuerkennen.

Das Foto mittlerer Qualität verwendet nur 4,3% des für das unkomprimierten Bild erforderlichen Speicherplatzes, weist jedoch wenig spürbares Detailverlust oder sichtbare Artefakte auf. Sobald jedoch eine gewisse Komprimierung überschritten wird, zeigen komprimierte Bilder immer mehr sichtbare Defekte. Siehe den Artikel über Rate -Distortion -Theorie für eine mathematische Erklärung für diesen Schwellenwert -Effekt. Eine besondere Einschränkung von JPEG in dieser Hinsicht ist die nicht überladende 8 × 8-Block-Transformationsstruktur. Modernere Designs wie JPEG 2000 und JPEG XR Zeigen Sie einen anmutigeren Qualitätsabbau bei, wenn die Bitverwendung abnimmt - durch Verwendung von Transformationen mit einer größeren räumlichen Ausdehnung für die niedrigeren Frequenzkoeffizienten und unter Verwendung überlappender Transformationsbasisfunktionen.

Verlustlose weitere Komprimierung

Von 2004 bis 2008 entstanden neue Forschungsarbeiten zur weiteren Komprimierung der in JPEG -Bildern enthaltenen Daten, ohne das dargestellte Bild zu ändern.[55][56][57][58] Dies enthält Anwendungen in Szenarien, in denen das Originalbild nur im JPEG -Format erhältlich ist und seine Größe für die Archivierung oder Übertragung reduziert werden muss. Standard-allgemeine Komprimierungswerkzeuge für allgemeine Zwecke können JPEG-Dateien nicht wesentlich komprimieren.

Typischerweise nutzen solche Schemata Verbesserungen des naiven Schemas zur Codierung von DCT -Koeffizienten, was nicht berücksichtigt wird:

  • Korrelationen zwischen Größen der benachbarten Koeffizienten im selben Block;
  • Korrelationen zwischen Größen des gleichen Koeffizienten in benachbarten Blöcken;
  • Korrelationen zwischen Größen des gleichen Koeffizienten/Blocks in verschiedenen Kanälen;
  • Die Gleichstromkoeffizienten ähneln zusammen einer heruntergekommenen Version des Originalbildes multipliziert mit einem Skalierungsfaktor. Bekannte Programme für Verlustlose Kodierung von kontinuierlichen Bildern kann angewendet werden und etwas besser Komprimierung erreichen als die Huffman codiert DPCM Wird in JPEG verwendet.

Es gibt einige Standardoptionen, aber selten verwendet in JPEG bereits, um die Effizienz der Codierung von DCT -Koeffizienten zu verbessern: die arithmetische Kodierung Option und die progressive Codierungsoption (die niedrigere Bitrate erzeugt, da die Werte für jeden Koeffizienten unabhängig voneinander codiert werden und jeder Koeffizient eine signifikant unterschiedliche Verteilung hat). Moderne Methoden haben diese Techniken verbessert, indem sie Koeffizienten neu anordnen, um Koeffizienten mit größerer Größe zu gruppieren.[55] Verwendung benachbarter Koeffizienten und Blöcke zur Vorhersage neuer Koeffizientenwerte;[57] Aufgrund ihrer Statistiken und angrenzenden Werte basieren auf einer kleinen Anzahl von unabhängig codierten Modellen auf, die Blöcke oder Koeffizienten aufsteigen;[56][57] und zuletzt durch Dekodieren von Blöcken, Vorhersagen nachfolgender Blöcke in der räumlichen Domäne und dann codieren diese, um Vorhersagen für DCT -Koeffizienten zu erzeugen.[58]

In der Regel können solche Methoden vorhandene JPEG-Dateien zwischen 15 und 25 Prozent komprimieren und für JPEGs, die bei Einstellungen mit geringer Qualität komprimiert sind, können Verbesserungen von bis zu 65%erzeugen.[57][58]

Ein frei verfügbares Tool namens Packjpg[59] basiert auf dem Papier von 2007 "Verbesserte Redundanzreduzierung für JPEG -Dateien".

Abgeleitete Formate für stereoskopische 3D

JPEG Stereoskopisch

Ein Beispiel für eine stereoskopische .jps -Datei

JPS ist ein stereoskopisches JPEG -Bild, das zum Erstellen von 3D -Effekten aus 2D -Bildern verwendet wird. Es enthält zwei statische Bilder, eine für das linke Auge und eine für das rechte Auge; codiert als zwei Side-by-Side-Bilder in einer einzelnen JPG-Datei. JPEG Stereoskopisch (JPS, Extension .jps) ist ein JPEG-basiertes Format für stereoskopisch Bilder.[60][61] Es enthält eine Reihe von Konfigurationen, By-Side-Anordnung. Dieses Dateiformat kann als JPEG ohne spezielle Software angesehen werden oder zum Rendern in anderen Modi verarbeitet werden.

JPEG Multi-Picture-Format

JPEG Multi-Picture-Format (MPO, Erweiterung .MPO) ist ein JPEG-basiertes Format zum Speichern mehrerer Bilder in einer einzelnen Datei. Es enthält zwei oder mehr JPEG -Dateien, die zusammen verkettet wurden.[62][63] Es definiert auch ein JPEG App2 -Markersegment für die Bildbeschreibung. Verschiedene Geräte verwenden es, um 3D -Bilder zu speichern, wie z. Fujifilm finepix Real 3D W1, HTC EVO 3D, JVC GY-HMZ1U AVCHD/MVC Extension Camcorder, Nintendo 3ds, Panasonic Lumix DMC-TZ20, DMC-TZ30, DMC-TZ60, DMC-TS4 (FT4) und Sony DSC-HX7V. Andere Geräte speichern es "Vorschau -Bilder", die auf einem Fernseher angezeigt werden können.

In den letzten Jahren wurden aufgrund der zunehmenden Verwendung stereoskopischer Bilder viel Mühe von der wissenschaftlichen Gemeinschaft aufgewendet, um Algorithmen für Stereoskope zu entwickeln Bildkompression.[64][65]

Implementierungen

Eine sehr wichtige Implementierung eines JPEG -Codec ist die kostenlose Programmierbibliothek libjpeg der unabhängigen JPEG -Gruppe. Es wurde erstmals 1991 veröffentlicht und war der Schlüssel für den Erfolg des Standards.[66] Diese Bibliothek oder ein direktes Derivat davon wird in unzähligen Anwendungen verwendet. Jüngste Versionen führen proprietäre Erweiterungen ein die Abi -Kompatibilität mit früheren Versionen brach und die nicht durch den ITU | ISO/IEC -Standard bedeckt sind.

Im März 2017 veröffentlichte Google das Open -Source -Projekt Guetzli, das eine viel längere Codierungszeit für kleinere Dateigröße ausbaut (ähnlich was Zopfli tut für PNG und andere verlustfreie Datenformate).[67]

ITU | ISO/IEC Formalisierte JPEG-Referenzimplementierungen in ITU-T-Empfehlung T.873 | ISO/IEC 10918-7 im Jahr 2021.[68]

ISO/IEC Gemeinsame Fotografie -Expertengruppe Unterhält eine der beiden Referenzsoftware-Implementierungen, die beide Basis-JPEG (ISO/IEC 10918-1 und 18477–1) und) und codieren können. JPEG XT Erweiterungen (ISO/IEC 18477 Teile 2 und 6–9) sowie JPEG-LS (ISO/IEC 14495).[69]

Eine zweite Referenzimplementierung ist libjpeg-turbo [70] Dies ist ein Derivat der JPEG -Implementierung der nicht abhängigen JPEG -Gruppe, die auf hohe Leistung und Einhaltung des JPEG -Standards abgestimmt ist.

JPEG XT

JPEG XT (ISO/IEC 18477) wurde im Juni 2015 veröffentlicht. Es erweitert das Basis-JPEG-Format mit Unterstützung höherer Ganzzahl-Bit-Tiefen (bis zu 16 Bit), Bildgebung mit hoher Dynamikbereiche und Gleitkomma-Codierung, verlustfreier Codierung und Alpha-Kanal-Codierung. Erweiterungen sind mit dem Basis-JPEG/JFIF-Dateiformat und dem 8-Bit-Verlust-Komprimierungsbild rückwärts kompatibel. JPEG X verwendet ein erweiterbares Dateiformat basierend auf JFIF. Erweiterungsschichten werden verwendet, um die JPEG 8-Bit-Basisschicht zu ändern und das hochauflösende Bild wiederherzustellen. Die vorhandene Software ist vorwärts kompatibel und kann den Binärstrom von JPEG XT lesen, obwohl er nur die 8-Bit-Schicht der Basis dekodieren würde.[71]

JPEG XL

Seit August 2017 gab JTC1/SC29/WG1 eine Reihe von Entwürfen für Vorschläge für JPEG XL heraus - den Bildkomprimierungsstandard der nächsten Generation mit wesentlich besserer Komprimierungseffizienz (60% Verbesserung) im Vergleich zu JPEG.[72] Es wird erwartet HEVC HM, Daala und Webpund im Gegensatz zu früheren Bemühungen, JPEG zu ersetzen, um verlustfreie effizientere Empfehlungsverkehrs- und Speicheroption für herkömmliche JPEG -Bilder bereitzustellen.[73][74][75] Die Kernanforderungen umfassen die Unterstützung für sehr hochauflösende Bilder (mindestens 40 MP), 8–10 Bit pro Komponente, RGB/YCBCR/ICTCP-Farb-Codierung, animierte Bilder, Alpha-Kanal-Codierung, Rec. 709 Farbraum (SRGB) und Gamma-Funktion (2.4), Rec. 2100 breites Farbumfang Farbraum (Rec. 2020) und Hoher Dynamikbereich Übertragungsfunktionen (PQ und HLG) und eine qualitativ hochwertige Komprimierung synthetischer Bilder wie Bitmap-Schriftarten und Gradienten. Der Standard sollte auch höhere Bit -Tiefen (12–16 Bitgymphen- und schwimmende Punkte), zusätzliche Farbräume und Übertragungsfunktionen (z. B. log C C Arri), eingebettete Vorschaubilder, verlustfreier Alpha-Kanal-Codierung, Bildregion Codierung und Codierung mit niedriger Komplexität. Alle patentierten Technologien würden auf a lizenziert Gebührenfrei Basis. Die Vorschläge wurden bis September 2018 eingereicht, was im Juli 2019 zu einem Entwurf des Ausschusses führte. Das Dateiformat und das Kerncodierungssystem wurden am 13. Oktober 2021 bzw. 30. März 2022 offiziell standardisiert.[75][76][77][78]

Siehe auch

Verweise

  1. ^ a b c d e "T.81-Digitale Komprimierung und Codierung von ständigen Standbildern-Anforderungen und Richtlinien" (PDF). Ccitt. September 1992. Abgerufen 12. Juli 2019.
  2. ^ "Definition von" JPEG "". Collins English Dictionary. Abgerufen 2013-05-23.
  3. ^ Haines, Richard F.; Chuang, Sherry L. (1. Juli 1992). Die Auswirkungen der Videokomprimierung auf die Akzeptanz von Bildern zur Überwachung von Lebenswissenschaftenxperimenten (Technischer Bericht). NASA. NASA-TP-3239, A-92040, NAS 1.60: 3239. Abgerufen 2016-03-13. Die JPEG-Still-Image-Kompressionsniveaus, selbst mit dem großen Bereich von 5: 1 bis 120: 1 in dieser Studie ergab dies zu einem gleich hohen Maß an Akzeptanz
  4. ^ a b Hudson, Graham; Léger, Alain; Niss, Birger; Sebestyén, István; Vaaben, Jørgen (31. August 2018). "JPEG-1 Standard 25 Jahre: Vergangenheit, Gegenwart und zukünftige Gründe für einen Erfolg". Zeitschrift für elektronische Bildgebung. 27 (4): 1. doi:10.1117/1.jei.27.4.040901. S2CID 52164892.
  5. ^ "Das JPEG -Bildformat erklärt". Bt.com. BT -Gruppe. 31. Mai 2018. archiviert von das Original am 5. August 2019. Abgerufen 5. August 2019.
  6. ^ Baraniuk, Chris (15. Oktober 2015). "Kopierschutz könnte zu JPEGs kommen". BBC News. BBC. Abgerufen 13. September 2019.
  7. ^ "JPEG: 25 Jahre und Kein Bissschen Alt". Heise online (auf Deutsch). Oktober 2016. Abgerufen 5. September 2019.
  8. ^ "Was ist ein JPEG? Das unsichtbare Objekt, das Sie jeden Tag sehen". Der Atlantik. 24. September 2013. Abgerufen 13. September 2019.
  9. ^ "HTTP -Archiv - interessante Statistiken". httparchive.org. Abgerufen 2016-04-06.
  10. ^ Erkennung von MIME -Typen im Internet Explorer: Hochgeladene MIME -Typen hochgeladen (msdn.microsoft.com)
  11. ^ "JPEG -Datei Interchange -Format" (PDF). 3. September 2014. Archiviert aus dem Original am 3. September 2014. Abgerufen 16. Oktober 2017.{{}}: CS1 Wartung: Bot: Original -URL -Status unbekannt (Link)
  12. ^ "Warum JPEG 2000 nie abgenommen hat". American National Standards Institute. 10. Juli 2018. Abgerufen 13. September 2019.
  13. ^ a b c d Lemos, Robert (23. Juli 2002). "Patentwahrheit in der JPEG -Behauptung finden". CNET. Abgerufen 13. Juli 2019.
  14. ^ ISO/IEC JTC 1/SC 29 (2009-05-07). "ISO/IEC JTC 1/SC 29/WG 1 - Codierung von Standbildern (SC 29/WG 1 Struktur)". Archiviert von das Original Am 2013-12-31. Abgerufen 2009-11-11.
  15. ^ a b ISO/IEC JTC 1/SC 29. "Arbeitsprogramm (SC 29/WG 1)" zugewiesen) ". Archiviert von das Original Am 2013-12-31. Abgerufen 2009-11-07.
  16. ^ ISO. "JTC 1/SC 29 - Codierung von Audio-, Bild-, Multimedia- und Hypermedia -Informationen". Abgerufen 2009-11-11.
  17. ^ a b JPEG. "Joint Photographic Experts Group, JPEG Homepage". Abgerufen 2009-11-08.
  18. ^ "T.81: Informationstechnologie-Digitale Komprimierung und Codierung von ständigen Standbildern-Anforderungen und Richtlinien". Itu.int. Abgerufen 2009-11-07.
  19. ^ William B. Pennebaker; Joan L. Mitchell (1993). JPEG Still Bilddatenkomprimierungsstandard (3. Aufl.). Springer. p. 291. ISBN 978-0-442-01272-4.
  20. ^ ISO. "JTC 1/SC 29 - Codierung von Audio-, Bild-, Multimedia- und Hypermedia -Informationen". Abgerufen 2009-11-07.
  21. ^ "Spiff, noch Bild -Austauschdateiformat". Kongressbibliothek. 30. Januar 2012. Archiviert vom Original am 2018-07-31. Abgerufen 2018-07-31.
  22. ^ JPEG (2009-04-24). "JPEG XR gibt den FDIS -Status ein: JPEG -Datei -Interchange -Format (JFIF), um als JPEG Teil 5 standardisiert zu werden." (Pressemitteilung). Archiviert von das Original am 2009-10-08. Abgerufen 2009-11-09.
  23. ^ "JPEG -Datei Interchange Format (JFIF)". ECMA TR/98 1st Ed Ed. ECMA International. 2009. Abgerufen 2011-08-01.
  24. ^ "Vergebungs JPEG -Patent". SourceForge. 2002. Abgerufen 13. Juli 2019.
  25. ^ "In Bezug auf die jüngsten Patentansprüche". Jpeg.org. 2002-07-19. Archiviert von das Original Am 2007-07-14. Abgerufen 2011-05-29.
  26. ^ "JPEG und JPEG2000 - zwischen Patentstreit und Technologiewechsel". Archiviert vom Original am 17. August 2004. Abgerufen 2017-04-16.{{}}: CS1 Wartung: Bot: Original -URL -Status unbekannt (Link)
  27. ^ Kawamoto, Dawn (22. April 2005). "Grafikpatentanzug feuert in Microsoft zurück". CNET News. Abgerufen 2009-01-28.
  28. ^ "Markenbüro untersucht das Vergeben von JPEG Patent". Publish.com. 3. Februar 2006. archiviert von das Original am 2016-05-15. Abgerufen 2009-01-28.
  29. ^ "Uspto: Die breitesten Behauptungen, die Vergebung gegen JPEG Standard ungültig erklärt". Graklaw.net. 26. Mai 2006. Abgerufen 2007-07-21.
  30. ^ "Codierungssystem zur Reduzierung der Redundanz". Gauss.ffii.org. Archiviert von das Original Am 2011-06-12. Abgerufen 2011-05-29.
  31. ^ "JPEG Patentanspruch ergeben". Public Patent Foundation. 2. November 2006. Abgerufen 2006-11-03.
  32. ^ "Ex -parte -Examinierungszertifikat für US -Patent Nr. 5,253.341". Archiviert von das Original am 2. Juni 2008.
  33. ^ Arbeitsgruppe. "Rozmanith: Verwenden von Softwarepatenten, um Kritiker zum Schweigen zu bringen". EUpat.ffii.org. Archiviert von das Original Am 2011-07-16. Abgerufen 2011-05-29.
  34. ^ "Ein Kopfgeld von 5.000 US -Dollar, um Troll Tracker zu nennen: Ray Niro möchte wissen, wer all diese bösen Dinge über ihn sagt". Law.com. Abgerufen 2011-05-29.
  35. ^ Reimer, Jeremy (2008-02-05). "Jagd Trolle: Uspto hat gebeten, ein breites Bildpatent zu überprüfen". Arstechnica.com. Abgerufen 2011-05-29.
  36. ^ US -Patentbüro - Erteilung einer erneuten Prüfung auf 5.253.341 C1
  37. ^ "Richter legt JPEG Patent auf Eis". Techdirt.com. 2008-04-30. Abgerufen 2011-05-29.
  38. ^ "JPEG Patents Einzelanspruch lehnte ab (und schlug für ein gutes Maß nieder)". Techdirt.com. 2008-08-01. Abgerufen 2011-05-29.
  39. ^ Arbeitsgruppe. "Princeton Digital Image Corporation Homepage". Archiviert von das Original Am 2013-04-11. Abgerufen 2013-05-01.
  40. ^ Arbeitsgruppe. "Artikel über das Gericht für das Princeton Court bezüglich der GE -Lizenzvereinbarung". Archiviert von das Original Am 2016-03-09. Abgerufen 2013-05-01.
  41. ^ "Progressive Decoding -Übersicht". Microsoft Developer Network. Microsoft. Abgerufen 2012-03-23.
  42. ^ Fastvideo (Mai 2019). "12-Bit-JPEG-Encoder auf der GPU". Abgerufen 2019-05-06.
  43. ^ "Warum sollten Sie immer originale JPEG -Fotos verliert, die sich verliertlos drehen?". Petapixel.com. 14. August 2012. Abgerufen 16. Oktober 2017.
  44. ^ "JFIF -Dateiformat als PDF" (PDF).
  45. ^ Tom Lane (1999-03-29). "JPEG Bildkomprimierung FAQ". Abgerufen 2007-09-11. (Q 14: "Warum das Argument über Dateiformate?")
  46. ^ a b "Ein Standard -Standard -Farbraum für das Internet - SRGB". www.w3.org.
  47. ^ a b "IEC 61966-2-1: 1999/AMD1: 2003 | IEC Webstore". webstore.iec.ch.
  48. ^ "ISO/IEC 10918-1: 1993 (e) S.36".
  49. ^ Thomas G. Lane. "Erweiterte Funktionen: Auswahl der Komprimierungsparameter". Verwenden Sie die IJG JPEG -Bibliothek.
  50. ^ Ryan, Dan (2012-06-20). E - Lernmodule: DLR Associates Series. Autorenhaus. ISBN 9781468575200.
  51. ^ "DC / Wechselstromfrequenzfragen - Doom9 -Forum". Forum.doom9.org. Abgerufen 16. Oktober 2017.
  52. ^ a b PHUC-tue Le Dinh und Jacques Patry. Videokomprimierungsartefakte und MPEG -Rauschreduzierung Archiviert 2006-03-14 im Wayback -Maschine. Video Bildgebende Designline. 24. Februar 2006. Abgerufen am 28. Mai 2009.
  53. ^ "3,9 Mückenrauschen: Form der Edge -Geschäftigkeitsverzerrung manchmal mit Bewegung verbunden, gekennzeichnet durch bewegte Artefakte und/oder fleckige Geräuschmuster, die über den Objekten überlagert sind (ähnlich einer Mücke, die um den Kopf und die Schultern einer Person fliegt). "Itu-t rec. S. 930 (08/96) Grundsätze eines Referenzbeeinträchtigungssystems für Video Archiviert 2010-02-16 bei der Wayback -Maschine
  54. ^ Julià Minguillón, Jaume Pujol (April 2001). "JPEG Standard Uniform -Quantisierungsfehlermodellierung mit Anwendungen für sequentielle und progressive Betriebsmodi" (PDF). Elektronische Bildgebung. 10 (2): 475–485. Bibcode:2001jei .... 10..475m. doi:10.1117/1.1344592. HDL:10609/6263.
  55. ^ a b I. Bauermann und E. Steinbacj. Weitere verlustfreie Komprimierung von JPEG -Bildern. Proc. des Bildcodierungssymposiums (PCS 2004), San Francisco, USA, 15. bis 17. Dezember 2004.
  56. ^ a b N. Ponomarenko, K. Egiazarian, V. Lukin und J. Astola. Zusätzliche verlustfreie Komprimierung von JPEG -Bildern, Proc. des 4. intl. Symposium zur Bild- und Signalverarbeitung und -analyse (ISPA 2005), Zagreb, Kroatien, S. 117–120, 15. bis 17. September 2005.
  57. ^ a b c d M. Stirner und G. Seelmann. Verbesserte Redundanzreduzierung für JPEG -Dateien. Proc. des Bildcodierungssymposiums (PCS 2007), Lissabon, Portugal, 7. bis 9. November 2007
  58. ^ a b c Ichiro Matsuda, Yukio Nomoto, Kei Wakabayashi und Susumu Itoh. Verlustlose Neukodierung von JPEG-Bildern unter Verwendung von Blockadaptive Intra-Vorhersage. Proceedings der 16. Europäischen Signalverarbeitungskonferenz (EUSIPCO 2008).
  59. ^ "Neueste binäre Veröffentlichungen von Packjpg: v2.3a". 3. Januar 2008. archiviert von das Original am 23. Januar 2009.
  60. ^ J. Siragusa, D.C. Swift (1997). "Allgemeiner stereoskopischer Datendeskriptor" (PDF). Vrex, Inc., Elmsford, New York, USA. Archiviert von das Original (PDF) Am 2011-10-30.{{}}: CS1 Wartung: Verwendet Autorenparameter (Link)
  61. ^ Tim Kemp, JPS -Dateien
  62. ^ "Multi-Picture-Format" (PDF). 2009. archiviert von das Original (PDF) am 2016-04-05. Abgerufen 2015-12-30.
  63. ^ "MPO2stereo: Konvertieren Sie Fujifilm -MPO -Dateien in JPEG -Stereopaare", MTBS3D.com, abgerufen 12. Januar 2010
  64. ^ Alessandro Ortis; Sebastiano Battiato (2015), Sitnik, Robert; Puech, William (Hrsg.), "Eine neue schnelle Matching -Methode zur adaptiven Komprimierung stereoskopischer Bilder", Dreidimensionale Bildverarbeitung, Dreidimensionale Bildverarbeitung, Messung (3DIPM) und Anwendungen 2015, SPIE-Dreidimensionale Bildverarbeitung, Messung (3DIPM) und Anwendungen 2015,. 9393: 93930k, Bibcode:2015spie.9393e..0ko, doi:10.1117/12.2086372, S2CID 18879942, abgerufen 30. April 2015
  65. ^ Alessandro Ortis; Francesco Rundo; Giuseppe di Giore; Sebastiano Battiato, Adaptive Komprimierung stereoskopischer Bilder, Internationale Konferenz zur Bildanalyse und Verarbeitung (ICIAP) 2013, abgerufen 30. April 2015
  66. ^ "Überblick über JPEG". jpeg.org. Abgerufen 2017-10-16.
  67. ^ "Ankündigung von Guetzli: Ein neuer Open -Source -JPEG -Encoder". Research.googleblog.com. Abgerufen 16. Oktober 2017.
  68. ^ "ISO/IEC 10918-7: 2019 Informationstechnologie-Digitale Komprimierung und Codierung von ständigen Standbildern-Teil 7: Referenzsoftware". www.iso.org/standard/75845.html.
  69. ^ "JPEG - JPEG XT". jpeg.org.
  70. ^ "libjpeg-turbo". libjpeg-turbo.org.
  71. ^ "JPEG - JPEG XT". jpeg.org.
  72. ^ "JPEG - Bildkomprimierung der nächsten Generation (JPEG XL) Abschließender Entwurfsanruf für Vorschläge". Jpeg.org. Abgerufen 29. Mai 2018.
  73. ^ Alakuijala, Jyrki; Van Asseldonk, Ruud; Boukortt, Sami; Bruse, Martin; Comșa, iulia-maria; Firsching, Moritz; Fischbacher, Thomas; Kliuchnikov, Evgenii; Gomez, Sebastian; Obryk, Robert; Potempa, Krzysztof; Rhatushnyak, Alexander; Sneyers, Jon; Szabadka, Zoltan; Vandervenne, Lode; Verari, Luca; Wassenberg, Januar (2019-09-06). "JPEG XL-Bildkomprimierungsarchitektur der nächsten Generation und Codierungswerkzeuge". In Tescher, Andrew G; Ebrahimi, Touradj (Hrsg.). Anwendungen der digitalen Bildverarbeitung xlii. p. 20. doi:10.1117/12.2529237. ISBN 9781510629677. S2CID 202785129.
  74. ^ "Archivierte Kopie". Archiviert von das Original am 22. August 2019. Abgerufen 22. August 2019.{{}}: CS1 Wartung: Archiviertes Kopie als Titel (Link)
  75. ^ a b Rhatushnyak, Alexander; Wassenberg, Jan; Sneyers, Jon; Alakuijala, Jyrki; Vandevenne, Lode; Verari, Luca; Obryk, Robert; Szabadka, Zoltan; Kliuchnikov, Evgenii; Comsa, iulia-maria; Potempa, Krzysztof; Bruse, Martin; Firsching, Moritz; Khasanova, Renata; Ruud van Asseldonk; Boukortt, Sami; Gomez, Sebastian; Fischbacher, Thomas (2019). "Ausschussentwurf des JPEG XL -Bildcodierungssystems". Arxiv:1908.03565 [EESS.IV].
  76. ^ "N79010 Schlussaufruf für Vorschläge für einen Bildcodierungsstandard der nächsten Generation (JPEG XL)" (PDF). ISO/IEC JTC 1/SC 29/WG 1 (ITU-T SG16). Abgerufen 29. Mai 2018.
  77. ^ ISO/IEC 18181-1: 2022 Informationstechnologie-JPEG XL Bildcodierungssystem-Teil 1: Kerncodierungssystem
  78. ^ ISO/IEC 18181-2: 2021 Informationstechnologie-JPEG XL Bildcodierungssystem-Teil 2: Dateiformat

Externe Links