> aritmetische codering | fractionele bits | optimaal <
// Aritmetische codering - codering met fractionele bits dicht bij de entropiegrens
Bijna optimaal
Benadert de theoretische entropiegrens voor een hoge compressie-efficiëntie.
Fractionele bits
Codeert symbolen met fractionele bits op basis van hun waarschijnlijkheid.
Streaming
Kan data stapsgewijs coderen en decoderen terwijl deze binnenkomt.
>> technische informatie
Hoe aritmetische codering werkt:
Aritmetische codering stelt een volledig bericht voor als één enkel getal in het interval [0,1). Elk symbool verkleint dit interval op basis van zijn waarschijnlijkheid. Het uiteindelijke interval wordt gecodeerd als een binaire breuk, waardoor compressie zeer dicht bij de entropiegrens wordt bereikt.
Coderingsproces:
Tekst: "AAB" Waarschijnlijkheden: 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) Uitvoer: elk getal in [0.30, 0.45) Binair: 0.010011...
Waarom aritmetische codering gebruiken:
- >Beste compressieverhoudingen
- >Benadert de entropiegrens
- >Werkt met willekeurige waarschijnlijkheden
- >Gebruikt in JPEG2000/H.264
- >Patenten verlopen (2024)
>> veelgestelde vragen
Wat is aritmetische codering?
Aritmetische codering is een vorm van entropiecodering die een reeks symbolen omzet in één enkel fractioneel getal. In tegenstelling tot Huffman-codering, die hele bits gebruikt, kan aritmetische codering fractionele bits per symbool gebruiken.
Waarom is het beter dan Huffman?
Aritmetische codering kan compressie bereiken die willekeurig dicht bij de entropiegrens ligt, terwijl Huffman beperkt is tot hele bits per symbool. Bij sterk scheve waarschijnlijkheidsverdelingen kan aritmetische codering aanzienlijk beter presteren.
Wat is de precisieparameter?
De precisie bepaalt het aantal bits dat wordt gebruikt voor interne berekeningen. Hogere precisie maakt het mogelijk langere berichten te coderen, maar vereist ook meer geheugen. Voor korte teksten zijn 16 bits meestal voldoende.
Waar wordt aritmetische codering gebruikt?
Aritmetische codering wordt gebruikt in moderne compressiestandaarden zoals H.264/H.265-video, JPEG2000-afbeeldingen en de DEFLATE64-modus van ZIP. Voorheen was het gepatenteerd, maar de belangrijkste patenten zijn verlopen.