> exp | golomb | h264 <

// Exponential-Golomb – standardowy kod o zmiennej długości w kompresji wideo

0 znaków
0 znaków

>> funkcje

[H.264/H.265]

Standard wideo

Używany w kodekach H.264/AVC i H.265/HEVC.

[ADAPTIVE]

Wiele rzędów

Różne wartości k dla różnych rozkładów.

[SIGNED]

Obsługa liczb ze znakiem

Wbudowane odwzorowanie liczb całkowitych ze znakiem.

>> informacje techniczne

Jak działa kodowanie Exp-Golomb

Kody Exp-Golomb rzędu k kodują nieujemną liczbę całkowitą n w następujący sposób: 1) Dodaj 1 do n, aby otrzymać codeNum, 2) Podziel przez 2^k, aby otrzymać iloraz q i resztę r, 3) Zapisz q zer, następnie 1, a potem r w k bitach. Dla k=0 jest to równoważne z kodem Eliasa Gamma. Dla liczb ze znakiem mapowanie jest następujące: n>0 → 2n-1, n≤0 → -2n.

Przykłady Exp-Golomb

Rząd k=0 (standard):
0 → 1
1 → 010
2 → 011
3 → 00100

Rząd k=1:
0 → 10
1 → 11
2 → 010
3 → 011

Tryb ze znakiem (k=0):
0 → 1 (mapuje na 0)
1 → 010 (mapuje na 1)
-1 → 011 (mapuje na 2)
2 → 00100 (mapuje na 3)

Dlaczego warto używać Exp-Golomb

  • Elementy składni H.264/H.265
  • Kodowanie wektorów ruchu
  • Poziomy współczynników
  • Prosta implementacja sprzętowa
  • Dopasowanie do rozkładu danych

>> najczęstsze pytania

Czym jest kodowanie Exp-Golomb?

Exponential-Golomb to uniwersalny kod o zmiennej długości szeroko stosowany w standardach kompresji wideo, takich jak H.264 i H.265. Uogólnia kod Eliasa Gamma z parametrem k, który pozwala dostosować się do różnych rozkładów danych.

Jak wybrać rząd k?

k=0 (standardowy Exp-Golomb) sprawdza się dla małych liczb całkowitych o rozkładzie zbliżonym do wykładniczego. Większe wartości k są lepsze dla większych liczb lub bardziej równomiernych rozkładów. Kodeki wideo często używają k=0 dla elementów składni i adaptacyjnego k dla reszt.

Dlaczego używa się go w wideo?

Exp-Golomb jest idealny do wideo, ponieważ: 1) jest prosty do implementacji w sprzęcie, 2) nie wymaga tablic wyszukiwania, 3) dobrze odpowiada statystycznemu rozkładowi danych wideo, 4) zapewnia dobrą kompresję dla wektorów ruchu i współczynników transformaty.

Exp-Golomb vs inne kody?

W porównaniu z Huffmanem: prostszy, bez tablic, ale mniej optymalny. W porównaniu z kodowaniem arytmetycznym: znacznie prostszy, lecz o mniejszym stopniu kompresji. Exp-Golomb stanowi kompromis między prostotą a efektywnością, idealny do kodowania wideo w czasie rzeczywistym.