> exp | golomb | h264 <

// Exponential-Golomb – standard kode med variabel lengde for videokomprimering

0 tegn
0 tegn

>> funksjoner

[H.264/H.265]

Videostandard

Brukes i H.264/AVC- og H.265/HEVC-kodeker.

[ADAPTIVE]

Flere ordener

Forskjellige k-verdier for ulike fordelinger.

[SIGNED]

Støtte for fortegn

Innebygd mapping for heltall med fortegn.

>> tekniske detaljer

Hvordan Exp-Golomb-koding fungerer

Exp-Golomb-koder av orden k koder et ikke-negativt heltall n slik: 1) Legg til 1 til n for å få codeNum, 2) Del på 2^k for å få kvotient q og rest r, 3) Skriv q nuller, deretter 1 og så r på k biter. For k=0 er dette ekvivalent med Elias Gamma. For heltall med fortegn brukes mappingen: n>0 → 2n-1, n≤0 → -2n.

Eksempler på Exp-Golomb

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

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

Fortegnsmodus (k=0):
0 → 1 (tilordnes 0)
1 → 010 (tilordnes 1)
-1 → 011 (tilordnes 2)
2 → 00100 (tilordnes 3)

Hvorfor bruke Exp-Golomb

  • H.264/H.265-syntakselementer
  • Koding av bevegelsesvektorer
  • Koeffisientnivåer
  • Enkel maskinvareimplementering
  • Tilpasning til datafordelingen

>> ofte stilte spørsmål

Hva er Exp-Golomb-koding?

Exponential-Golomb er en universell variabel lengdekode som brukes mye i videokomprimeringsstandarder som H.264 og H.265. Den generaliserer Elias Gamma-koding med en parameter k som gjør det mulig å tilpasse seg ulike datafordelinger.

Hvordan velger jeg orden k?

k=0 (standard Exp-Golomb) fungerer godt for små heltall med omtrent eksponentiell fordeling. Høyere k-verdier er bedre for større tall eller mer jevne fordelinger. Videokodeker bruker ofte k=0 for syntakselementer og adaptiv k for residualer.

Hvorfor brukes det i video?

Exp-Golomb er ideelt for video fordi: 1) det er lett å implementere i maskinvare, 2) ingen oppslagstabeller kreves, 3) det passer godt til den statistiske fordelingen av videodata, 4) det gir god kompresjon for bevegelsesvektorer og transformasjonskoeffisienter.

Exp-Golomb sammenlignet med andre koder?

Sammenlignet med Huffman: enklere, uten tabeller, men mindre optimalt. Sammenlignet med aritmetisk koding: mye enklere, men med lavere kompresjon. Exp-Golomb gir et godt kompromiss mellom enkelhet og effektivitet, perfekt for videokoding i sanntid.