> aritmetisk kodning | fraktionsbitar | optimal <
// Aritmetisk kodning – kodning med fraktionsbitar nära entropigränsen
Nästan optimal
Närmar sig den teoretiska entropigränsen för hög komprimeringseffektivitet.
Fraktionsbitar
Kodar symboler med fraktionella bitar baserat på sannolikhet.
Streaming
Kan koda och avkoda data stegvis allt eftersom de anländer.
>> teknisk information
Hur aritmetisk kodning fungerar:
Aritmetisk kodning representerar ett helt meddelande som ett enda tal i intervallet [0,1). Varje symbol gör intervallet smalare baserat på sin sannolikhet. Det slutliga intervallet kodas som en binär bråkdel, vilket ger komprimering mycket nära entropigränsen.
Kodningsprocess:
Text: "AAB" Sannolikheter: 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) Utdata: vilket tal som helst i [0.30, 0.45) Binärt: 0.010011...
Varför använda aritmetisk kodning:
- >Bättre komprimeringsgrad
- >Närmar sig entropigränsen
- >Hantera godtyckliga sannolikhetsfördelningar
- >Används i JPEG2000/H.264
- >Patent har löpt ut (2024)
>> vanliga frågor
Vad är aritmetisk kodning?
Aritmetisk kodning är en form av entropikodning som omvandlar en följd av symboler till ett enda bråktal. Till skillnad från Huffman-kodning, som använder hela bitar, kan aritmetisk kodning använda fraktionsbitar per symbol.
Varför är den bättre än Huffman?
Aritmetisk kodning kan nå komprimering godtyckligt nära entropigränsen, medan Huffman är begränsad till hela bitar per symbol. För starkt skeva sannolikheter kan aritmetisk kodning vara avsevärt bättre.
Vad är precisionsparametern?
Precisionen styr hur många bitar som används för interna beräkningar. Högre precision gör att längre meddelanden kan kodas, men kräver mer minne. För korta texter räcker 16 bitar oftast.
Var används aritmetisk kodning?
Aritmetisk kodning används i moderna komprimeringsstandarder som H.264/H.265-video, JPEG2000-bilder och ZIP:s DEFLATE64-läge. Tidigare var tekniken patenterad, men de viktigaste patenten har löpt ut.