www.wikidata.de-de.nina.az
libjpeg ist eine vielgenutzte freie Programmbibliothek mit Funktionen zum Umgang mit dem Bilddatenformat JPEG Sie implementiert einen JPEG Codec Kodierung und Dekodierung sowie verschiedene Hilfsfunktionen zum Umgang mit JPEG Daten Sie ist in C geschrieben und wird als freie Software auch im Quelltext unter den Bedingungen einer eigenen liberalen BSD artigen Freie Software Lizenz verbreitet die im Wesentlichen eine Namensnennung verlangt 2 libjpegBasisdatenEntwickler Independent JPEG GroupErscheinungsjahr 7 Oktober 1991Aktuelle Version 9e 1 16 Januar 2022 Betriebssystem plattformunabhangigProgrammiersprache CKategorie ProgrammbibliothekLizenz BSD artig Freie Software ijg orgDie ursprungliche Variante wird von der Independent JPEG Group IJG herausgegeben und gepflegt Mittlerweile gibt es mehrere weitgehend kompatible Abspaltungen mit zusatzlichen Eigenschaften wie beispielsweise hoherer Kodiereffizienz Inhaltsverzeichnis 1 Hilfsprogramme 1 1 jpegtran 2 Geschichte 3 Abspaltungen 3 1 libjpeg turbo 3 2 mozjpeg 4 Weblinks 5 QuellenHilfsprogramme Bearbeiten nbsp Ubersicht der HilfsprogrammeDie folgenden Hilfsprogramme werden mit libjpeg ausgeliefert cjpeg und djpeg zur Konvertierung zwischen JPEG und einigen anderen gebrauchlichen Bilddateiformaten rdjpgcom und wrjpgcom zum Einfugen und Auslesen von Textkommentaren in JPEG Dateien und jpegtran ein Hilfsprogramm zum Transformieren bestehender JPEG Dateien jpegtran Bearbeiten nbsp jpegtran transformiert JPEG Daten ohne Neukodierung hier mit Oberflache CropGUI Das Kommandozeilenprogramm jpegtran bietet jeweils mehrere Funktionen zum Umformatieren und Umkodieren der Reprasentation der bestehenden DCT Koeffizienten zur Transformation der eigentlichen Bilddaten und zum Verwerfen von Zusatzdaten in JPEG Dateien Die Transformationen bezuglich der Reprasentation der Koeffizienten umfassen die Optimierung der Huffman Baume und Konvertierung zwischen Huffman und arithmetischer Kodierung in der Entropiekodierungs Schicht 3 4 5 sowie die Konvertierung zwischen sequenziellem und progressivem JPEG Diese Transformationen sind jeweils vollstandig verlustfrei und reversibel Die Bilddatentransformationen umfassen das Verwerfen von Farbkanalen Konvertierung zu Graustufenbild Rotieren und Spiegeln in 90 Grad Schritten Beschneiden entlang der Bildblockgrenzen 8 8 beziehungsweise 16 16 Pixel und Skalieren 6 Sie sind zumindest im Hinblick auf die letztlich erhaltenen Bilddatenanteile verlustfrei und reversibel Eine Dekomprimierung und Neukomprimierung der Daten durch die eine erneute Reduktion der Bildqualitat und damit ein Generationsverlust auftrate findet nicht statt Es gibt eine zugehorige Windows Anwendung namens Jpegcrop welche eine graphische Benutzeroberflache zu jpegtran bietet Fur unixoide Systeme wie GNU Linux gibt es die freie CropGUI mit ahnlicher Funktionalitat Geschichte BearbeitenDie JPEG Implementierung der Independent JPEG Group IJG wurde erstmals am 7 Oktober 1991 veroffentlicht und seither betrachtlich weiterentwickelt Die Entwicklung wurde anfangs namentlich hauptsachlich von Tom Lane getragen Die quelloffene Implementierung von der IJG war eines der wichtigsten Pakete quelloffener Software fur JPEG und auch ein Schlussel fur den Erfolg des Standards Es wurde von vielen Firmen in einer breiten Palette von Produkten wie Bildbearbeitungsprogrammen oder Webbrowsern eingesetzt 7 Fur die am 24 September 1994 veroffentlichte Version 5 wurde die gesamte Codebasis neugeschrieben Mit ihr wurden die Hilfsprogramme rdjpgcom und wrjpgcom zum Umgang mit eingebetteten Textkommentaren eingefuhrt Die am 2 August 1995 veroffentlichte Version 6 kam mit Unterstutzung fur progressives JPEG und erstmals mit dem Hilfsprogramm jpegtran Dieses wurde in Version 6b erweitert um die Funktionen zum Rotieren und Spiegeln sowie zur Farb Reduktion auf Graustufen Aus Version 6b von libjpeg vom 27 Marz 1998 entwickelte Miyasaka Masaru den Zweig libjpeg SIMD der x86 SIMD Optimierungen integrierte Zu diesem leisteten die Projekte TigerVNC und VirtualGL 2009 wesentliche Beitrage Auf dieser Basis entstand Anfang 2010 das libjpeg turbo Projekt 8 Die IJG brachte nach einem Fuhrungswechsel nach 11 Jahren ohne Veroffentlichung neue libjpeg Versionen 7 bis 9 heraus die jeweils die Kompatibilitat der Binarschnittstelle ABI zu vorhergehenden Versionen brachen 9 Die nach den 6er Versionen in Aussicht gestellten Weiterentwicklungen blieben aus 10 In Version 7 wurde Unterstutzung fur arithmetische Kodierung eingefuhrt welche zuvor aus patentrechtlichen Grunden abgelehnt worden war sowie ausserdem die Beschneide Funktion in jpegtran crop 10 Versionen 8 und 9 dienten im Wesentlichen der Einfuhrung von umstrittenen 11 inkompatiblen Formaterweiterungen Diese gelten weithin als ineffektiv und bestehenden standardisierten Losungen gegenuber als unterlegen 12 13 Ihre Standardisierung wurde nach Vorlage bei der ITU T abgelehnt Der ursprungliche Organisator Tom Lane und andere sprechen von einem Bruch mit den fruheren Zielen der IJG Am 4 Marz 2014 wurde die erste Version der dateigrossenoptimierenden Abspaltung mozjpeg veroffentlicht Fur diese uberarbeitete Josh Aas von Mozilla Research das Perl Skript jpegcrush vom x264 Hauptentwickler Loren Merritt und integrierte es in die Code Basis von libjpeg turbo 14 Am 10 Juli veroffentlichte Mozilla Version 2 0 die hauptsachlich Trellis Quantisierung nachrustet und nun auch baseline JPEGs weiter optimieren kann Facebook Inc Heute Meta Platforms spendete daraufhin 60 000 US Dollar fur die Entwicklung der nachsten Version 15 und CloudFlare beauftragte einen Entwickler mit der Weiterentwicklung 16 Abspaltungen BearbeitenBekanntere Abspaltungen sind das Projekt libjpeg turbo das sein Produkt auf Ausfuhrungsgeschwindigkeit optimiert und mozjpeg welches auf geringe Dateigrossen optimiert Daneben existiert eine libjpeg von der ISO die auf eine vollstandige Implementierung aller JPEG 1 Standards zielt 17 libjpeg turbo Bearbeiten libjpeg turbo nbsp BasisdatenEntwickler libjpeg turbo ProjectErscheinungsjahr 2010Aktuelle Version 1 5 1 21 September 2016 18 Betriebssystem PlattformunabhangigProgrammiersprache C 19 libjpeg turbo orglibjpeg turbo ist eine Abspaltung von libjpeg die SIMD Befehle zur Beschleunigung der Kodierung und Dekodierung von baseline JPEG nutzt Viele Projekte nutzen nun libjpeg turbo anstatt von libjpeg einschliesslich popularer GNU Linux Distributionen u A Debian Ubuntu Mageia Fedora Mozilla und Chrome 20 21 22 Manche Projekte haben sich ausser den Leistungsvorteilen auch zur Erhaltung der Binarschnittstellen Kompatibilitat zur alteren Version 6b von libjpeg fur libjpeg turbo entschieden 23 libjpeg turbo kann so ubersetzt werden dass die Binarschnittstelle kompatibel zu Version 7 oder 8 von libjpeg ist wobei nicht der volle Funktionsumfang neuerer IJG Veroffentlichungen umgesetzt wird 24 Das Projekt entschied sich gegen die Unterstutzung der SmartScale Formaterweiterung wobei es darauf verwies dass es keinen ITU T Standard darstellt und eigene Forschung anfuhrte die die Nutzlichkeit der Funktion anzweifeln lasst Weiterhin hat das libjpeg turbo Projekt entschieden Version 9 von libjpeg nicht nachzuahmen da dessen einzige neue Funktion nur das SmartScale Format betrifft 12 Daher werden die mit Version 8 und spateren Versionen von libjpeg erzeugte SmartScale Dateien von libjpeg turbo nicht korrekt dekomprimiert mozjpeg Bearbeiten libjpeg nbsp nbsp mozcjpeg probiert verschiedene Aufteilungen des DCT Koeffizienten SpektrumsBasisdatenMaintainer Josh AasEntwickler Mozilla ResearchErscheinungsjahr 4 Marz 2014Aktuelle Version 3 1 18 Mai 2015 Betriebssystem PlattformunabhangigProgrammiersprache C 19 github com mozilla mozjpegmozjpeg ist eine Abspaltung von libjpeg turbo von Josh Aas und anderen von Mozilla Research Es soll einer Beschleunigung der Ladezeiten von Webseiten dienen indem durch eine Verbesserung der Kodiereffizienz bei gleichbleibender Bildqualitat etwa 10 Prozent geringere Dateigrossen und damit verringerter Ubertragungszeiten erreicht werden Dazu soll ein hoherer Rechenaufwand bei der hier typischerweise einmaligen Kodierung der Dateien dienen Asymmetrie wobei die Formatkompatibilitat erhalten wird und auf Dekodierer Seite keine Anderungen notig werden Konkret wird dies durch Optimierung der Huffman Baume Einsatz progressiver Kodierung mit optimierter Aufteilung des DCT Koeffizienten Spektrums auf einzelne Durchlaufe und Nutzung von Trellis Quantisierung erreicht Dazu sind die Voreinstellungen entsprechend aggressiv auf die Minimierung von Dateigrossen optimiert mozjpeg baut neben libjpeg turbo auf jpegcrush einem Perl Skript von Loren Merritt auf 14 25 Weblinks Bearbeiten nbsp Commons libjpeg Sammlung von Bildern Videos und Audiodateien Webprasenz der Independent JPEG Group JPEGclub zusatzliche Funktionen fur libjpeg Binardateien von libjpeg fur Windows von GnuWin32 auf SourceForge net libjpeg turbo eine ABI API kompatible Abspaltung von libjpeg die x86 SIMD Befehle fur einen wesentlichen Geschwindigkeitsvorteil gegenuber der Referenzimplementierung nutzt Webprasenz von mozjpeg der auf Dateigrossenminimierung optimierten Abspaltung Josh Aas Robert Nyman August 2014 Using mozjpeg to Create Efficient JPEGs praktischer Uberblick zu mozjpeg englischsprachigQuellen Bearbeiten www ijg org Libjpeg License JPEG Reference In jpegclub org Abgerufen am 7 September 2016 Jpegcrop Preferences and Options description Filmic Games gt gt The greatest failure of our patent system was Memento des Originals vom 1 September 2012 im Internet Archive nbsp Info Der Archivlink wurde automatisch eingesetzt und noch nicht gepruft Bitte prufe Original und Archivlink gemass Anleitung und entferne dann diesen Hinweis 1 2 Vorlage Webachiv IABot filmicgames com 680385 Firefox does not show arithmetic coded jpegs New jpegtran features JPEG homepage http libjpeg turbo virtualgl org libjpeg API changes compatibility Memento des Originals vom 16 April 2014 im Internet Archive nbsp Info Der Archivlink wurde automatisch eingesetzt und noch nicht gepruft Bitte prufe Original und Archivlink gemass Anleitung und entferne dann diesen Hinweis 1 2 Vorlage Webachiv IABot upstream tracker org 9 Februar 2012 a b Mans Rullgard Hardwarebug org 4 August 2009 IJG is back Tom Lane 16 Januar 2013 jpeg 9 API ABI compatibility and the future role of this project a b What About libjpeg v9 libjpeg turbo team abgerufen am 8 Februar 2013 Mans Rullgard Hardwarebug org 1 Februar 2010 IJG swings again and misses a b Andre Kramer heise de Newsticker 14 Januar 2013 Mozilla Encoder verbessert JPEG Kompression Sebastian Gruner 16 Juli 2014 mozjpeg 2 0 Facebook unterstutzt JPEG Encoder von Mozilla http www soeren hentzschel at mozilla 2014 07 30 cloudflare moechte zu mozillas jpeg encoder beitragen https github com thorfdbg libjpeg Release 1 5 1 a b The libjpeg Open Source Project on Open Hub Languages Page In Open Hub abgerufen am 26 September 2018 Software That Uses or Provides libjpeg turbo 9 Februar 2012 Issue 48789 chromium Use libjpeg turbo instead of libjpeg 14 April 2011 Bug 698519 Update to libjpeg turbo 1 2 28 Februar 2012 libjpeg for F14 9 Februar 2012 libjpeg turbo README file Memento des Originals vom 12 August 2014 im Internet Archive nbsp Info Der Archivlink wurde automatisch eingesetzt und noch nicht gepruft Bitte prufe Original und Archivlink gemass Anleitung und entferne dann diesen Hinweis 1 2 Vorlage Webachiv IABot sourceforge net Andreas Donath golem de 6 Marz 2014 Mozilla will JPEGs besser komprimieren Abgerufen von https de wikipedia org w index php title Libjpeg amp oldid 216824193