Provided by: manpages-de_4.26.0-1_all 

BEZEICHNUNG
PPM - Netpbm-Farbbild-Format
BESCHREIBUNG
Dieses Programm ist Teil von netpbm(1).
Das PPM-Format ist der kleinste gemeinsame Nenner der Farbbild-Formate.
Es sollte erwähnt werden, dass dieses Format äußerst ineffizient ist. Es ist höchst redundant und enthält
viele Informationen, die das menschliche Auge nicht wahrnehmen kann. Außerdem beinhaltet dieses Format
abgesehen von grundlegenden Farben nur wenig Bildinformationen. Das bedeutet, dass Sie gegebenenfalls
eine Verknüpfung mit einer Datei in diesem Format mit anderen unabhängigen Informationen herstellen
müssen, um sie sinnvoll nutzen zu können. Allerdings ist es sehr einfach Programme zu schreiben und zu
analysieren, die dieses Format verarbeiten.
Es ist darauf hinzuweisen, dass Dateien, abgesehen von der exakten Semantik der Musterwerte, häufig in
jeder Hinsicht zu diesem Format konform sind. Diese Dateien sind durch ihre Art und Weise der Verwendung
von PPM als Zwischenformat nützlich. Informell werden sie als PPM-Dateien bezeichnet. Aber um absolut
genau zu sein sollten Sie die Abweichung zu echtem PPM angeben. Ein Beispiel ist »PPM, das die Farben
Rot, Grün und Blau benutzt, wie sie auch der fragliche Scanner verwendet«.
Der Name »PPM« ist ein Akronym, das vom englischen »Portable-Pixel-Map« abgeleitet ist. Bilder in diesem
Format (oder einem Vorgänger) wurden früher auch »Portable-Pixmaps« genannt.
DAS FORMAT
Die Formatdefinition ist wie folgt. Sie können die C-Unterprogramm-Bibliothek libnetpbm(1) verwenden, um
das Format auf bequeme und exakte Art und Weise zu lesen und zu interpretieren.
Eine PPM-Datei besteht aus einer Reihe von einem oder mehreren PPM-Bildern. Vor, nach oder zwischen den
Bildern befinden sich weder Daten, Begrenzungs- oder Füllzeichen.
Jedes PPM-Bild hat folgende Bestandteile:
• Eine »magische Zahl«, um den Dateityp zu identifizieren. Die »magische Zahl« eines PPM-Bildes sind
die zwei Zeichen »P6«.
• Leerraumzeichen (Leerzeichen, Tabulatoren, Wagenrückläufe, Zeilenumbrüche).
• Eine Breite, dezimal in ASCII-Zeichen formatiert.
• Leerraumzeichen.
• Eine Höhe, wieder dezimal in ASCII.
• Leerraumzeichen.
• Der maximale Farbwert (»Maxwert«), wieder dezimal in ASCII. Er muss kleiner als 65536 und größer
als Null sein.
• Ein einzelnes Leerraumzeichen (normalerweise ein Zeilenumbruch).
• Ein Raster von »Höhe« Reihen in der Reihenfolge von oben nach unten. Jede Reihe besteht aus
»Breite« Pixel von links nach rechts. Jedes Pixel besteht aus den drei Werten für Rot, Grün und
Blau in dieser Reihenfolge. Jeder Wert wird durch eine reine Binärzahl mit einem oder zwei Byte
repräsentiert. Wenn »Maxwert« kleiner als 256 ist, dann ist es ein Byte, ansonsten sind es zwei
Byte. Das höherwertige Byte ist das erste Byte.
Eine Zeile in einem Bild ist horizontal. Eine Spalte ist vertikal. Die Pixel in dem Bild sind
quadratisch und fortlaufend.
Die Musterwerte im Raster sind »nichtlinear«. Sie sind im Pixel proportional zur Intensität von
Rot, Grün und Blau gemäß der Empfehlung ITU-R BT.709 und mit der Gamma-Funktion gemäß BT.709
gewichtet. (Diese Übertragungsfunktion spezifiziert die Zahl Gamma zu 2,2 und weist für niedrige
Intensitäten einen linearen Bereich auf). Ein Wert von »Maxwert« für alle drei Musterwerte
entspricht CIE-D65-weiß und ist die hellste Farbe in dem Farbraum, der zum dem Bild passt (der
Farbraum entspricht der Menge aller Farben aller Bilder, mit denen dieses Bild verglichen werden
könnte).
Der Wertebereich von Kanalwerten (16-240) von BT.709 ist für PPM irrelevant.
Die Empfehlung ITU-R BT.709 ist eine Umbenennung der früheren CCIR-Empfehlung 709. Als die CCIR um
das Jahr 2000 in der ITU als ihrer Elternorganisation aufging, wurde der Standard umbenannt.
Dieses Dokument hat sich früher auf den Standard als CIE-Empfehlung 709 bezogen. Heutzutage ist es
aber unklar, ob die CIE jemals einen solchen Standard finanziert hat.
Beachten Sie, dass das neuere »sRGB« ein weiterer verbreiteter Farbraum ist. Eine gebräuchliche
Variante von PPM verwendet diesen anstatt des spezifizierten Farbraums. Sie können pnmgamma(1) zur
Umwandlung zwischen dieser Variante und echtem PPM verwenden.
Beachten Sie, dass eine gebräuchliche Variante vom PPM Format die Werte »linear« verwendet, dass
heißt wie oben beschrieben, nur ohne die Gamma-Anpassung. pnmgamma(1) akzeptiert eine solche
PPM-Variante als Eingabe und erzeugt echtes PPM als Ausgabe.
Zeichenketten, die mit einem »#« beginnen, können wie bei PBM(1) Kommentare sein.
Beachten Sie, dass Sie pamdepth(1) verwenden können, um zwischen dem Format mit einem Byte pro Wert und
zwei Byte pro Wert zu konvertieren.
Alle Zeichen, auf die sich hier bezogen wird, sind ASCII-kodiert. »newline« (zu deutsch »Zeilenumbruch«)
entspricht dem ASCII-Zeichen, das als »Line-Feed« oder »LF« bekannt ist. Ein »white space« (zu deutsch
»Leerraumzeichen«) ist »Space« (Leerzeichen), »LF« (Zeilenumbruch), »TAB« (Tabulator), »VT« (vertikaler
Tabulator) oder »FF« (Seitenvorschub) (dies dind die Zeichen, die die Funktion isspace() aus
Standard-ANSI-C als »White Space« bezeichnet).
Gewöhnliches PPM
Es gibt eine weitere Version des PPM-Formats, die ziemlich selten ist: das »plain«-PPM-Format. Das obige
Format, das im Allgemeinen als normal angesehen wird, ist als »raw«-PPM-Format (zu deutsch »roh«)
bekannt. Lesen Sie die Diskussion in pbm(1) bezüglich der Beziehung zwischen dem »plain«- und dem
»raw«-Format und ihrer Verwendung.
Die Unterschiede zu dem »plain«-Format sind folgende:
• Es gibt genau ein Bild in einer Datei.
• Die »magische Zahl« ist »P3« anstatt »P6«.
• Jeder Wert in dem Raster wird durch eine ASCII-Dezimalzahl (von beliebiger Größe) dargestellt.
• Jeder Wert in dem Raster hat sowohl vorab als auch abschließend ein Leerraumzeichen. Zwischen zwei
Werten muss mindestens ein Leerraumzeichen stehen, es gibt aber keine maximale Anzahl. Es gibt
keine besondere Trennung zwischen zwei Pixeln, nur die notwendige Trennung zwischen dem Blau-Wert
eines Pixels zum Rot-Wert des nächsten Pixels.
• Keine Zeile sollte länger als 70 Zeichen sein.
Hier ist ein kleines Beispielbild in diesem Format.
P3
# feep.ppm
4 4
15
0 0 0 0 0 0 0 0 0 15 0 15
0 0 0 0 15 7 0 0 0 0 0 0
0 0 0 0 0 0 0 15 7 0 0 0
15 0 15 0 0 0 0 0 0 0 0 0
Es gibt am Ende jeder dieser Zeilen ein Zeilenumbruchzeichen.
Programme, die dieses Format lesen, sollten so nachsichtig wie möglich sein und alles akzeptieren, was
entfernt nach einem PPM-Bild aussieht.
INTERNET-MEDIENTYP
Für PPM wurde kein Internet-Medientyp (auch MIME-Typ, Content-Typ) bei der IANA registriert, jedoch ist
der Wert image/x-portable-pixmap gebräuchlich.
Beachten Sie, dass der PNM-Internet-Medientyp image/x-portable-anymap ebenfalls verwendet wird.
DATEINAME
Es gibt keine Anforderungen an den Namen einer PPM-Datei. Die Konvention ist aber, die Endung ».ppm« zu
verwenden. In Fällen, in denen es unbequem ist, zwischen den verschiedenen Unterformaten von PNM zu
unterscheiden, ist die Verwendung von »pnm« ebenfalls üblich.
KOMPATIBILITÄT
Vor April 2000 konnte der »Maxwert« einer PPM-Datei nicht größer als 255 sein. Es konnte deshalb nicht
mehr als ein Byte pro Wert enthalten. Alte Programme verlassen sich möglicherweise darauf.
Vor Juli 2000 konnte in einer PPM-Datei maximal ein Bild enthalten sein. Deshalb ignorieren die meisten
Werkzeuge zur Verarbeitung von PPM-Dateien sämtliche Daten nach dem ersten Bild; sie werden nicht
eingelesen.
SIEHE AUCH
pnm(1), pgm(1), pbm(1), pam(1), Programme, die PPM verarbeiten(1)
URSPRUNG DES DOKUMENTS
Diese Handbuchseite wurde vom Netpbm-Werkzeug »makeman« aus der HTML-Quelle erstellt. Das Hauptdokument
befindet sich unter
http://netpbm.sourceforge.net/doc/ppm.html
ÜBERSETZUNG
Die deutsche Übersetzung dieser Handbuchseite wurde von Christoph Brinkhaus <c.brinkhaus@t-online.de>
erstellt.
Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer
bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.
Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die
Mailingliste der Übersetzer.
Netpbm-Dokumentation 9. Oktober 2016 PPM-Formatspezifikation(5)