Binární kódování čísel: Porovnání verzí

Z ZděchovNET
Skočit na navigaci Skočit na vyhledávání
Bez shrnutí editace
Bez shrnutí editace
Řádek 95: Řádek 95:
* Schopnost efektivně kódovat krátké bitové sekvence (i jednobitové)
* Schopnost efektivně kódovat krátké bitové sekvence (i jednobitové)
* Schopnost efektivně kódovat dlouhé bitové sekvence (i jednobitové)
* Schopnost efektivně kódovat dlouhé bitové sekvence (i jednobitové)

Jedním ze základních kritérií pro výběr vhodného kódování je právě schopnost kódovat dynamická čísla s režijními informacemi menšími než 0,5 pro celou škálu hodnot. Obecně vzato kódování, která mají nízkou efektivitu pro malé hodnoty pak mají vyšší efektivitu pro velké a naopak. Závislost poměru režijní informace u jednoduchých kódování má lineární charakter a naklonění této přímky pak zálež na režii kódu pro počáteční hodnotu nul. U kódování s exponenciálním růstem některé složky či u kódování s využitím rekurze pak s růstem hodnot efektivita kódování roste s růstem hodnoty.





Verze z 14. 1. 2011, 08:10

Se statickou velikostí

  • Mají pevný rozsah daný svou bitovou délkou
  • Snazší a efektivnější zpracování na počítači
Bitová šířka 1
Číslice Kódování
0 0
1 1
Bitová šířka 2
Číslice Kódování
0 00
1 01
2 10
3 11
Bitová šířka 3
Číslice Kódování
0 000
1 001
2 010
3 011
4 100
5 101
6 110
7 111
Bitová šířka 4
Číslice Kódování
0 0000
1 0001
2 0010
3 0011
4 0100
5 0101
6 0110
7 0111
8 1000
9 1001
10 1010
11 1011
12 1100
13 1101
14 1110
15 1111

S dynamickou velikostí

Požadavky:

  • Malé režijní informace, vysoká efektivita uložení dat
  • Výpočetní náročnost
  • Schopnost efektivně kódovat krátké bitové sekvence (i jednobitové)
  • Schopnost efektivně kódovat dlouhé bitové sekvence (i jednobitové)

Jedním ze základních kritérií pro výběr vhodného kódování je právě schopnost kódovat dynamická čísla s režijními informacemi menšími než 0,5 pro celou škálu hodnot. Obecně vzato kódování, která mají nízkou efektivitu pro malé hodnoty pak mají vyšší efektivitu pro velké a naopak. Závislost poměru režijní informace u jednoduchých kódování má lineární charakter a naklonění této přímky pak zálež na režii kódu pro počáteční hodnotu nul. U kódování s exponenciálním růstem některé složky či u kódování s využitím rekurze pak s růstem hodnot efektivita kódování roste s růstem hodnoty.


Se značkou pro pokračování

Vychází z kódování s pevnou šířkou, ale navíc určuje jednu hodnotu (zde nejvyšší číslo) jako ukončovací značku. Ve výsledku je tedy vždy obsažena na konci minimálně ukončovací značka.

  • Mohou růst do nekončena
  • Jejich generování i zpětná analýza je náročnější na výpočetní operace
Bitová šířka 1
Číslice Kódování
0 0
1 10
2 110
3 1110
4 11110
5 111110
6 1111110
7 11111110
8 111111110
9 1111111110
10 11111111110
11 111111111110
12 1111111111110
13 11111111111110
14 111111111111110
15 1111111111111110
... ...
Bitová šířka 2
Číslice Kódování Režie
0 00 0,5
1 01 0,5
2 10 0
3 11 00 0,5
4 11 01 0,25
5 11 10 0,25
6 11 11 00 0,5
7 11 11 01 0,5
8 11 11 10 0,33
9 11 11 11 00 0,5
10 11 11 11 01 0,5
11 11 11 11 10 0,5
12 11 11 11 11 00 0,6
13 11 11 11 11 01 0,6
14 11 11 11 11 10 0,6
15 11 11 11 11 11 00 0,66
... ...
Bitová šířka 3
Číslice Kódování Režie
0 000 0,66
1 001 0,66
2 010 0,33
3 011 0,33
4 100 0
5 101 0
6 110 0
7 111 000 0,5
8 111 001 0,33
9 111 010 0,33
10 111 010 0,33
11 111 011 0,33
12 111 100 0,33
13 111 101 0,33
14 111 110 0,33
15 111 111 000 0,55
... ...
Rostoucí šířka
Číslice Kódování Režie
0 0 0
1 1 00 0,66
2 1 01 0,33
3 1 10 0,33
4 1 11 000 0,5
5 1 11 001 0,5
6 1 11 010 0,5
7 1 11 011 0,5
8 1 11 100 0,33
9 1 11 101 0,33
10 1 11 110 0,33
11 1 11 111 0000 0,6
12 1 11 111 0001 0,6
13 1 11 111 0010 0,6
14 1 11 111 0011 0,6
15 1 11 111 0100 0,6
... ...

Se značkou pro ukončení

Bitová šířka 1
Číslice Kódování Režie
0 1 0
1 01 0,5
2 001 0,33
3 0001 0,5
4 00001 0,4
5 000001 0,5
6 0000001 0,57
7 00000001 0,71
8 000000001 0,55
9 0000000001 0,6
10 00000000001 0,63
11 000000000001 0,66
12 0000000000001 0,69
13 00000000000001 0,71
14 000000000000001 0,73
15 0000000000000001 0,76
... ...
Bitová šířka 2
Číslice Kódování Režie
0 11 0,5
1 00 11 0,75
2 01 11 0,5
3 10 11 0,5
4 00 00 11 0,5
5 00 01 11 0,5
6 00 10 11 0,5
7 01 00 11 0,5
8 01 01 11 0,33
9 01 10 11 0,33
10 10 00 11 0,33
11 10 01 11 0,33
12 10 10 11 0,33
13 00 00 00 11 0,5
14 00 00 01 11 0,5
15 00 00 10 11 0,5
... ...
Bitová šířka 3
Číslice Kódování Režie
0 111 0,66
1 000 111 0,83
2 001 111 0,66
3 010 111 0,66
4 011 111 0,5
5 100 111 0,5
6 101 111 0,5
7 110 111 0,5
8 000 000 111 0,55
9 000 001 111 0,55
10 000 010 111 0,55
11 000 011 111 0,55
12 000 100 111 0,55
13 000 101 111 0,55
14 000 110 111 0,55
15 000 000 000 111 0,66
... ...
Rostoucí šířka
Číslice Kódování Režie
0 1 0
1 0 11 0,66
2 0 00 111 0,66
3 0 01 111 0,66
4 0 00 000 1111 0,7
5 0 00 001 1111 0,7
6 0 00 010 1111 0,7
7 0 00 011 1111 0,7
8 0 00 100 1111 0,6
9 0 00 101 1111 0,6
10 0 00 110 1111 0,6
11 0 01 000 1111 0,6
12 0 01 001 1111 0,6
13 0 01 010 1111 0,6
14 0 01 011 1111 0,6
15 0 01 100 1111 0,6
... ...

S ukončovací sekvencí bitů

Je určena speciální sekvence bitů, která označuje konec čísla. Bity od začátku po tento konec jsou pak kódovány tak, aby se v nich daná sekvence nevyskytovala.

  • Náročné na kódování a dekódování
Ukončovací sekvence 1
Číslice Kódování Režie
0 1 0
1 01 0,5
2 001 0,33
3 0001 0,5
4 00001 0,4
5 000001 0,5
6 0000001 0,57
7 00000001 0,71
8 000000001 0,55
9 0000000001 0,6
10 00000000001 0,63
11 000000000001 0,66
12 0000000000001 0,69
13 00000000000001 0,71
14 000000000000001 0,73
15 0000000000000001 0,76
... ...
Ukončovací sekvence 11
Číslice Kódování Režie
0 11 0,5
1 011 0,66
2 0011 0,5
3 1011 0,5
4 00011 0,4
5 01011 0,4
6 10011 0,4
7 000011 0,5
8 001011 0,3
9 010011 0,3
10 100011 0,3
11 101011 0,3
12 0000011 0,42
13 0001011 0,42
14 0010011 0,42
15 0100011 0,42
... ...
Ukončovací sekvence 111
Číslice Kódování Režie
0 111 0,66
1 0111 0,75
2 00111 0,6
3 10111 0,6
4 000111 0,5
5 010111 0,5
6 100111 0,5
7 110111 0,5
8 0000111 0,43
9 0010111 0,43
10 0100111 0,43
11 0110111 0,43
12 1000111 043
13 1010111 0,43
14 1100111 0,43
15 00000111 0,5
... ...

Složené tvary

Délka a hodnota

Délka Hodnota

Unární délkou

Statická délka 0 + n
Číslice Kódování Režie
0 0 0
1 10 0 0,66
2 10 1 0,33
3 110 00 0,6
4 110 01 0,4
5 110 10 0,4
6 110 11 0,4
7 1110 000 0,57
8 1110 001 0,57
9 1110 010 0,57
10 1110 011 0,57
11 1110 100 0,57
12 1110 101 0,57
13 1110 110 0,57
14 1110 111 0,57
15 11110 0000 0,55
... ...
Statická délka 1 + n
Číslice Kódování Režie
0 0 0 0,5
1 0 1 0,5
2 10 00 0,5
3 10 01 0,5
4 10 10 0,25
5 10 11 0,25
6 110 000 0,5
7 110 001 0,5
8 110 010 0,33
9 110 011 0,33
10 110 100 0,33
11 110 101 0,33
12 110 110 0,33
13 110 111 0,33
14 1110 0000 0,5
15 1110 0001 0,5
... ...
Statická délka 2 + n
Číslice Kódování Režie
0 0 00 0,66
1 0 01 0,66
2 0 10 0,33
3 0 11 0,33
4 10 000 0,4
5 10 001 0,4
6 10 010 0,4
7 10 011 0,4
8 10 100 0,2
9 10 101 0,2
10 10 110 0,2
11 10 111 0,2
12 110 0000 0,42
13 110 0001 0,42
14 110 0010 0,42
15 110 0011 0,42
... ...
Statická délka exponenciální
Číslice Kódování Režie
0 0 0
1 10 0 0,66
2 10 1 0,33
3 110 00 0,6
4 110 01 0,4
5 110 10 0,4
6 110 11 0,4
7 1110 0000 0,62
8 1110 0001 0,5
9 1110 0010 0,5
10 1110 0011 0,5
11 1110 0100 0,5
12 1110 0101 0,5
13 1110 0110 0,5
14 1110 0111 0,5
15 1110 1000 0,5
... ...


Statická délka 1 + n s absolutní hodnotou
Číslice Kódování Režie
0 0 0 0,5
1 0 1 0,5
2 10 10 0,5
3 10 11 0,5
4 110 100 0,5
5 110 101 0,5
6 110 110 0,5
7 110 111 0,5
8 1110 1000 0,5
9 1110 1001 0,5
10 1110 1010 0,5
11 1110 1011 0,5
12 1110 1100 0,5
13 1110 1101 0,5
14 1110 1110 0,5
15 1110 1111 0,5
... ...


S rekurzivně kódovanou délkou

Zarovnání 2 bity
Číslice Kódování Režie
0 0 0 0,5
1 0 1 0,5
2 10 00 0,5
3 10 01 0,5
4 10 10 0,25
5 10 11 0,25
6 11 00 00 00 0,625
7 11 00 00 01 0,625
8 11 00 00 10 0,5
9 11 00 00 11 0,5
10 11 00 01 00 0,5
11 11 00 01 01 0,5
12 11 00 01 10 0,5
13 11 00 01 11 0,5
14 11 00 10 00 0,5
15 11 00 10 01 0,5
... ...
Zarovnání 2 bity menší růst
Číslice Kódování Režie
0 0 0 0,5
1 0 1 0,5
2 10 00 0,5
3 10 01 0,5
4 10 10 0,25
5 10 11 0,25
6 11 00 00 0,5
7 11 00 01 0,5
8 11 00 10 0,33
9 11 00 11 0,33
10 11 01 00 0,33
11 11 01 01 0,33
12 11 01 10 0,33
13 11 01 11 0,33
14 11 10 00 00 0,5
15 11 10 00 01 0,5
... ...