> exp | golomb | h264 <

// Exponential-Golomb – standardkod med variabel längd för videokomprimering

0 tecken
0 tecken

>> funktioner

[H.264/H.265]

Videostandard

Används i H.264/AVC- och H.265/HEVC-codecs.

[ADAPTIVE]

Flera ordningar

Olika k-värden för olika fördelningar.

[SIGNED]

Stöd för tecken

Inbyggd avbildning för heltal med tecken.

>> teknisk information

Hur Exp-Golomb-kodning fungerar

Exp-Golomb-koder av ordning k kodar ett icke-negativt heltal n så här: 1) Lägg till 1 till n för att få codeNum, 2) Dela med 2^k för att få kvot q och rest r, 3) Skriv q nollor, sedan 1 och sedan r på k bitar. För k=0 är detta likvärdigt med Elias Gamma. För heltal med tecken används avbildningen: n>0 → 2n-1, n≤0 → -2n.

Exempel på Exp-Golomb

Ordning k=0 (standard):
0 → 1
1 → 010
2 → 011
3 → 00100

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

Teckenläge (k=0):
0 → 1 (avbildas till 0)
1 → 010 (avbildas till 1)
-1 → 011 (avbildas till 2)
2 → 00100 (avbildas till 3)

Varför använda Exp-Golomb

  • H.264/H.265-syntaxelement
  • Kodning av rörelsevektorer
  • Kofficientnivåer
  • Enkel hårdvaruimplementering
  • Anpassning till datafördelningen

>> vanliga frågor

Vad är Exp-Golomb-kodning?

Exponential-Golomb är en universell kod med variabel längd som används i stor utsträckning i videokomprimeringsstandarder som H.264 och H.265. Den generaliserar Elias Gamma-kodning med en parameter k som gör det möjligt att anpassa sig till olika datafördelningar.

Hur väljer jag ordning k?

k=0 (standard Exp-Golomb) fungerar bra för små heltal med ungefär exponentiell fördelning. Högre k-värden är bättre för större tal eller mer jämna fördelningar. Videocodecs använder ofta k=0 för syntaxelement och adaptivt k för residualer.

Varför används den i video?

Exp-Golomb är idealisk för video eftersom: 1) den är enkel att implementera i hårdvara, 2) inga uppslagstabeller krävs, 3) den passar bra till den statistiska fördelningen av videodata, 4) den ger bra kompression för rörelsevektorer och transformkoefficienter.

Exp-Golomb jämfört med andra koder?

Jämfört med Huffman: enklare, utan tabeller, men mindre optimal. Jämfört med aritmetisk kodning: mycket enklare, men med lägre kompression. Exp-Golomb ger en bra balans mellan enkelhet och effektivitet och är perfekt för videokodning i realtid.