Zum Hauptinhalt springen

3.1.2. Skippable Frames (Überspringbare Rahmen)

+==============+============+===========+
|| Magic_Number | Frame_Size | User_Data |
+==============+============+===========+
|| 4 bytes | 4 bytes | n bytes |
+--------------+------------+-----------+

Tabelle 19: Überspringbare Rahmen

Überspringbare Rahmen ermöglichen das Einfügen von benutzerdefinierten Metadaten in einen Stream verketteter Rahmen.

Die in dieser Spezifikation definierten überspringbaren Rahmen sind mit überspringbaren Rahmen in [LZ4] kompatibel.

Aus Sicht eines kompatiblen Decoders müssen überspringbare Rahmen nur übersprungen werden, ihr Inhalt wird ignoriert, und die Dekodierung wird nach dem überspringbaren Rahmen fortgesetzt.

Es sollte beachtet werden, dass überspringbare Rahmen verwendet werden können, um verkettete Rahmenströme zu markieren, jeden Typ von Tracking-Informationen einzubetten (sogar nur einen Universally Unique Identifier (UUID)). Benutzer, die wachsam gegenüber solchen Möglichkeiten sind, sollten verkettete Rahmenströme scannen, um zu versuchen, solche Rahmen zur Analyse oder Entfernung zu erkennen.

Feldbeschreibungen

Magic_Number (Magische Zahl)

Größe: 4 Bytes, Little-Endian-Format
Wert: 0x184D2A5?, was jeden Wert von 0x184D2A50 bis 0x184D2A5F bedeutet

Alle 16 Werte identifizieren gültig überspringbare Rahmen. Diese Spezifikation legt keine spezifische Markierungsmethode für überspringbare Rahmen fest.

Bereich der magischen Zahl:

  • Minimalwert: 0x184D2A50
  • Maximalwert: 0x184D2A5F
  • Gesamt: 16 gültige magische Zahlen

Frame_Size (Rahmengröße)

Größe: 4 Bytes, Little-Endian-Format, vorzeichenlose 32 Bit
Bedeutung: Die Größe der nachfolgenden User_Data in Bytes (ohne die magische Zahl und das Größenfeld selbst)

Dies bedeutet, dass User_Data nicht größer als (2^32 - 1) Bytes sein kann.

Maximale User_Data-Größe: 4.294.967.295 Bytes (ca. 4 GB)

User_Data (Benutzerdaten)

Größe: Variabel (durch Frame_Size angegeben)
Inhalt: Beliebige Daten

Dieses Feld kann beliebigen Inhalt haben. Die Daten werden vom Decoder übersprungen.

Verwendungsszenarien

1. Metadaten-Einbettung

  • Versionsinformationen
  • Erstellungszeitstempel
  • Autorinformationen
  • Lizenzdaten

2. Wasserzeichen und Tracking

  • UUID-Einbettung
  • Quellenverfolgung
  • Vertriebskanalidentifikation

3. Anwendungsspezifische Daten

  • Benutzerdefinierte Header
  • Anwendungskonfiguration
  • Erweiterte Informationen

Kompatibilitätshinweise

Decoder-Verhalten

Ein spezifikationskonformer Decoder muss:

  1. Magische Zahl erkennen: Magische Zahlen im Bereich 0x184D2A5? erkennen
  2. Größe lesen: Das Frame_Size-Feld analysieren
  3. Daten überspringen: Frame_Size Bytes von User_Data überspringen
  4. Dekodierung fortsetzen: Nach dem überspringbaren Rahmen mit der Verarbeitung fortfahren

Encoder-Empfehlungen

Encoder können:

  1. Beliebige Platzierung: Überspringbare Rahmen an jeder Position im Rahmenstrom einfügen
  2. Mehrere Rahmen: Mehrere überspringbare Rahmen einfügen
  3. Benutzerdefinierte Markierung: Eine der 16 magischen Zahlen für interne Markierung verwenden

Sicherheitsüberlegungen

Datenschutzprobleme

Überspringbare Rahmen können verwendet werden für:

  • Datenstrom-Tracking
  • Einbettung versteckter Informationen
  • Identifizierung der Datenquelle

Empfohlene Maßnahmen

Für datenschutzbewusste Benutzer:

  1. Scan-Erkennung: Eingabestrom scannen, um überspringbare Rahmen zu erkennen
  2. Inhaltsanalyse: Inhalt von User_Data untersuchen
  3. Selektive Entfernung: Überspringbare Rahmen nach Bedarf entfernen
  4. Protokollierung: Erkannte überspringbare Rahmen zur Prüfung protokollieren

Beispiele

UUID einbetten

Magic_Number: 0x184D2A50
Frame_Size: 16 (0x10000000, Little-Endian)
User_Data: [16-Byte-UUID]

Zeitstempel einbetten

Magic_Number: 0x184D2A51
Frame_Size: 8
User_Data: [8-Byte-Unix-Zeitstempel]

Kompatibilität mit LZ4

Das Format überspringbarer Rahmen ist mit LZ4 kompatibel und ermöglicht:

  • Formatübergreifende Tool-Interoperabilität
  • Einheitliche Metadatenverarbeitung
  • Vereinfachte Decoder-Implementierung

Hinweis: Überspringbare Rahmen beeinflussen nicht den Inhalt der dekomprimierten Daten, nur die Metadaten des Streams.