kodieren | dekodieren | komprimieren

> exp | golomb | h264 <

// Exponential-Golomb – Standard-Code mit variabler Länge in der Videokompression

0 Zeichen
0 Zeichen

>> funktionen

[H.264/H.265]

Video-Standard

Wird in den Codecs H.264/AVC und H.265/HEVC verwendet.

[ADAPTIVE]

Mehrere Ordnungen

Verschiedene k-Werte für unterschiedliche Verteilungen.

[SIGNED]

Unterstützung für Vorzeichen

Eingebaute Abbildung für vorzeichenbehaftete Ganzzahlen.

>> technische details

Wie Exp-Golomb-Codierung funktioniert

Exp-Golomb-Codes der Ordnung k codieren eine nichtnegative Ganzzahl n wie folgt: 1) Addiere 1 zu n, um codeNum zu erhalten, 2) Teile durch 2^k, um Quotient q und Rest r zu bekommen, 3) Schreibe q Nullen, dann 1 und anschließend r in k Bits. Für k=0 entspricht dies Elias-Gamma. Für vorzeichenbehaftete Zahlen gilt das Mapping: n>0 → 2n-1, n≤0 → -2n.

Exp-Golomb-Beispiele

Ordnung k=0 (Standard):
0 → 1
1 → 010
2 → 011
3 → 00100

Ordnung k=1:
0 → 10
1 → 11
2 → 010
3 → 011

Vorzeichenmodus (k=0):
0 → 1 (abbildet auf 0)
1 → 010 (abbildet auf 1)
-1 → 011 (abbildet auf 2)
2 → 00100 (abbildet auf 3)

Warum Exp-Golomb verwenden

  • H.264/H.265-Syntaxelemente
  • Codierung von Bewegungsvektoren
  • Koeffizientenpegel
  • Einfache Hardware-Implementierung
  • Anpassung an Datenverteilungen

>> häufig gestellte fragen

Was ist Exp-Golomb-Codierung?

Exponential-Golomb-Codierung ist ein universeller Code mit variabler Länge, der in Videokompressionsstandards wie H.264 und H.265 intensiv eingesetzt wird. Er verallgemeinert die Elias-Gamma-Codierung mit einem Parameter k, der die Anpassung an verschiedene Datenverteilungen erlaubt.

Wie wähle ich die Ordnung k?

k=0 (Standard-Exp-Golomb) eignet sich gut für kleine Ganzzahlen mit annähernd exponentieller Verteilung. Größere k-Werte sind besser für größere Zahlen oder gleichmäßigere Verteilungen. Videocodecs verwenden oft k=0 für Syntaxelemente und adaptives k für Residuen.

Warum wird es in der Videoverarbeitung verwendet?

Exp-Golomb ist ideal für Video, weil: 1) die Implementierung in Hardware sehr einfach ist, 2) keine Nachschlagetabellen benötigt werden, 3) es gut zur statistischen Verteilung von Videodaten passt und 4) eine gute Kompression für Bewegungsvektoren und Transformationskoeffizienten liefert.

Exp-Golomb im Vergleich zu anderen Codes?

Im Vergleich zu Huffman: einfacher und tabellenlos, aber weniger optimal. Im Vergleich zur arithmetischen Codierung: deutlich einfacher, jedoch mit geringerer Kompression. Exp-Golomb bietet einen guten Kompromiss aus Einfachheit und Effizienz und eignet sich hervorragend für Echtzeit-Videocodierung.