> kodowanie arytmetyczne | bity ułamkowe | optymalne <

// Kodowanie arytmetyczne – kodowanie z użyciem bitów ułamkowych zbliżone do granicy entropii

[OPTIMAL]

Bliskie optimum

Osiąga współczynniki kompresji bardzo bliskie teoretycznej granicy entropii.

[FRACTIONAL]

Bity ułamkowe

Koduje symbole przy użyciu bitów ułamkowych zależnych od prawdopodobieństwa.

[STREAMING]

Przetwarzanie strumieniowe

Może kodować i dekodować dane stopniowo, w miarę ich napływu.

>> informacje techniczne

Jak działa kodowanie arytmetyczne:

Kodowanie arytmetyczne reprezentuje całą wiadomość jako jedną liczbę z przedziału [0,1). Każdy symbol zawęża ten przedział w zależności od swojego prawdopodobieństwa. Końcowy przedział jest kodowany jako ułamkowa liczba binarna, co daje kompresję bardzo bliską granicy entropii.

Proces kodowania:

Tekst: "AAB" Prawdopodobieństwa: A=0.67, B=0.33 1. Start: [0, 1) 2. 'A': [0, 0.67) 3. 'A': [0, 0.45) 4. 'B': [0.30, 0.45) Wynik: dowolna liczba z przedziału [0.30, 0.45) Binarnie: 0.010011...

Dlaczego używać kodowania arytmetycznego:

  • >Bardzo dobre współczynniki kompresji
  • >Zbliża się do granicy entropii
  • >Obsługuje dowolne rozkłady prawdopodobieństwa
  • >Wykorzystywane w JPEG2000/H.264
  • >Wygasłe patenty (2024)

>> najczęstsze pytania

Czym jest kodowanie arytmetyczne?

Kodowanie arytmetyczne to rodzaj kodowania entropijnego, który zamienia sekwencję symboli w jedną liczbę ułamkową. W przeciwieństwie do kodowania Huffmana, które używa całych bitów, kodowanie arytmetyczne może używać bitów ułamkowych na symbol.

Dlaczego jest lepsze od Huffmana?

Kodowanie arytmetyczne może osiągnąć kompresję dowolnie bliską granicy entropii, podczas gdy Huffman jest ograniczony do całych bitów na symbol. Przy silnie skośnych rozkładach prawdopodobieństwa kodowanie arytmetyczne może być znacznie skuteczniejsze.

Czym jest parametr precyzji?

Precyzja określa liczbę bitów używanych w obliczeniach wewnętrznych. Wyższa precyzja pozwala kodować dłuższe wiadomości, ale wymaga więcej pamięci. Dla krótkich tekstów zwykle wystarcza 16 bitów.

Gdzie stosuje się kodowanie arytmetyczne?

Kodowanie arytmetyczne jest używane w nowoczesnych standardach kompresji, takich jak wideo H.264/H.265, obrazy JPEG2000 oraz tryb DEFLATE64 w ZIP. Wcześniej było objęte patentami, lecz kluczowe patenty wygasły.

Inne języki