Kernel: Python 2 (SageMath)
Exercici AvCont-5: Codificació Rice
In [11]:
a) ¿Cuántos bits son necesarios para codificar todos los enteros entre -1023 y +1023 (en codificación binaria natural con bit de signo)?
In [12]:
Es necesiten 11.0 bits
b) Calculad el código Rice de todos los enteros N entre -1023 y +1023 con M = 32.
In [13]:
Código RICE | Valor de N | |
---|---|---|
0 | 01111111111111111111111111111111011111 | -1023 |
1 | 01111111111111111111111111111111011110 | -1022 |
2 | 01111111111111111111111111111111011101 | -1021 |
3 | 01111111111111111111111111111111011100 | -1020 |
4 | 01111111111111111111111111111111011011 | -1019 |
5 | 01111111111111111111111111111111011010 | -1018 |
6 | 01111111111111111111111111111111011001 | -1017 |
7 | 01111111111111111111111111111111011000 | -1016 |
8 | 01111111111111111111111111111111010111 | -1015 |
9 | 01111111111111111111111111111111010110 | -1014 |
10 | 01111111111111111111111111111111010101 | -1013 |
11 | 01111111111111111111111111111111010100 | -1012 |
12 | 01111111111111111111111111111111010011 | -1011 |
13 | 01111111111111111111111111111111010010 | -1010 |
14 | 01111111111111111111111111111111010001 | -1009 |
15 | 01111111111111111111111111111111010000 | -1008 |
16 | 01111111111111111111111111111111001111 | -1007 |
17 | 01111111111111111111111111111111001110 | -1006 |
18 | 01111111111111111111111111111111001101 | -1005 |
19 | 01111111111111111111111111111111001100 | -1004 |
20 | 01111111111111111111111111111111001011 | -1003 |
21 | 01111111111111111111111111111111001010 | -1002 |
22 | 01111111111111111111111111111111001001 | -1001 |
23 | 01111111111111111111111111111111001000 | -1000 |
24 | 01111111111111111111111111111111000111 | -999 |
25 | 01111111111111111111111111111111000110 | -998 |
26 | 01111111111111111111111111111111000101 | -997 |
27 | 01111111111111111111111111111111000100 | -996 |
28 | 01111111111111111111111111111111000011 | -995 |
29 | 01111111111111111111111111111111000010 | -994 |
... | ... | ... |
2017 | 11111111111111111111111111111111000010 | 994 |
2018 | 11111111111111111111111111111111000011 | 995 |
2019 | 11111111111111111111111111111111000100 | 996 |
2020 | 11111111111111111111111111111111000101 | 997 |
2021 | 11111111111111111111111111111111000110 | 998 |
2022 | 11111111111111111111111111111111000111 | 999 |
2023 | 11111111111111111111111111111111001000 | 1000 |
2024 | 11111111111111111111111111111111001001 | 1001 |
2025 | 11111111111111111111111111111111001010 | 1002 |
2026 | 11111111111111111111111111111111001011 | 1003 |
2027 | 11111111111111111111111111111111001100 | 1004 |
2028 | 11111111111111111111111111111111001101 | 1005 |
2029 | 11111111111111111111111111111111001110 | 1006 |
2030 | 11111111111111111111111111111111001111 | 1007 |
2031 | 11111111111111111111111111111111010000 | 1008 |
2032 | 11111111111111111111111111111111010001 | 1009 |
2033 | 11111111111111111111111111111111010010 | 1010 |
2034 | 11111111111111111111111111111111010011 | 1011 |
2035 | 11111111111111111111111111111111010100 | 1012 |
2036 | 11111111111111111111111111111111010101 | 1013 |
2037 | 11111111111111111111111111111111010110 | 1014 |
2038 | 11111111111111111111111111111111010111 | 1015 |
2039 | 11111111111111111111111111111111011000 | 1016 |
2040 | 11111111111111111111111111111111011001 | 1017 |
2041 | 11111111111111111111111111111111011010 | 1018 |
2042 | 11111111111111111111111111111111011011 | 1019 |
2043 | 11111111111111111111111111111111011100 | 1020 |
2044 | 11111111111111111111111111111111011101 | 1021 |
2045 | 11111111111111111111111111111111011110 | 1022 |
2046 | 11111111111111111111111111111111011111 | 1023 |
2047 rows × 2 columns
c.1) ¿Para qué rango de valores de N, el código Rice requiere menos bits que la codificación binaria natural con bit de signo?
In [18]:
11
RICE comprime de -127 a 127
In [19]:
2047
c.2) Si la mayoría de datos a codificar pertenecen a este rango (rango de entrada óptima), el uso de código Rice será aconsejable (habrá ahorro de bits) ¿Cuál es el máximo ahorro de bits?
In [21]:
El ahorro máximo es de 4 bits
d.1) ¿Para qué valor de M el rango de entrada óptima se extiende entre -255 y +255?
In [23]:
El valor de M que su entrada óptima se extiende desde -255 hasta 255 es 128
d.2) ¿Cuál es el máximo ahorro de bits ahora?
In [24]:
Cuando M es 128 el máximo ahorro es 3
e.1) ¿Cuál es el mayor valor de M que permite lograr un máximo ahorro de hasta 6 bits?
In [25]:
El valor de M más grande que permite ahorrar hasta 6 bits es 16
e.2) ¿Cuál es el rango de entrada óptima ahora?
In [26]:
El rango de entrada óptimo cuando M=16 es desde 79 hasta -79
In [ ]: