Indexdaten
PL-Nummer 101
LFC-Nummer 3
Erstellung 21.12.2024

Autor:

Sikoninien
Mitglied des Ältestenrathes
Planteam Servernetzwerk
Pl 101
APNG-Dateiformat

1 Über diese Norm

Diese Norm bildet den aktuellen Stand und die aktuellen Konventionen des innerhalb des Planteam Servernetzwerkes verwendeten APNG-Dateiformates ab und sollte insofern in keinster Weise als durchdacht verstanden werden.

2 Über das APNG-Dateiformat

Das APNG-Dateiformat ist ein Dateiformat, um Ton in Bilddateien zu speichern. Zur Umwandlung werden die ältere SoundPNG-Implementierung in Python und die jüngere APNG-Implementierung in C++ verwendet. Im Zusammenhang mit der älteren Variante fällt auch die Abkürzung SPNG. Diese Norm behandelt lediglich das zugrundeliegende Dateiformat. Dateien in diesem Format werden durch die Dateiendung .apng kenntlich gemacht, sofern sie nicht die Dateiendung des zugrundeliegenden Bildtypes tragen 3.

3 Grundkonzept der Dateistruktur

Diese Norm definiert die Codierung der Daten innerhalb der Bilddatei. Der zugrundeliegende Bildtyp ist zumeist eine Portable Network Graphic (PNG), jedoch werden teilweise auch JPEGs verwendet. Theoretisch kann das Layout auf jede Bilddatei mit 8-Bit-RGB-Werten angewandt werden.

4 Daten im Bild

Die Pixel im Bild werden von links nach rechts und von oben nach unten gelesen. Das Bild ist immer quadratisch. Jedes Pixel sollte dabei 8 Bit umfassende Rot-, Grün- und Blau- Daten besitzen. Durch das Format wird jedem Pixel ein Festkommawert zugeordnet, der für das Intervall \([-1; 1]\) geeignet ist. Dieser berechnet sich wie folgt: \[ p = \frac{r \cdot 256^2 + g \cdot 256 + b - 8388608}{10^7} \] \[ \begin{aligned} r & : \text{Rot-Kanal, } 0 \leq r \leq 255 \\ g & : \text{Grün-Kanal, } 0 \leq g \leq 255 \\ b & : \text{Blau-Kanal, } 0 \leq b \leq 255 \end{aligned} \] Die Sequenz aller Werte wird als PCM verwendet. Die Rate in Hertz wird dabei durch das letzte Sample, also das Pixel rechts unten im Bild codiert. Auch die Rate ist in genanntem Festkommaformat gespeichert und muß deshalb mit \(10^7\) multipliziert und gerundet werden. Zwischen dem Ende der PCM-Daten und der Rate im letzten Pixel befindet sich zumeist ein Padding aus schwarzen Pixeln, da das Bild immer quadratisch ist.

5 Besonderheiten bei der APNG Implementierung

Da die APNG-Implementierung beim Erstellen von Dateien nur ganzzahliges 16-Bit-PCM einliest, werden die beiden Bytes direkt ohne vorherige Umwandlung in den Rot und Grün Kanal weitergeleitet. Der Blau Kanal wird aus einem Durchschnittswert der beiden anderen Kanäle besetzt, wodurch sich das andere Erscheinungsbild der durch das APNG Programm generierten APNG-Dateien erklären läßt.

101 — APNG-Dateiformat

Version 1 (Ändern)
Datum 31.02.2024
Erstellt 21.12.2024
Maintainer wediaklup
Größe 6.21 KiB
Errata (Anzeigen)

Ursprung

Entwurf Erstellt
LFC 3 root 31.10.24

Versionsgeschichte

Revision Antrag Entwurf Erstellt Übernommen