Løsningsforslag - oppgaver i Avsnitt 7.2.2


Oppgave 1

a) I teorien kan komprimeringen av meldingen "ABBABABAC" lagres med 50 biter siden det er 4 tall mindre enn 256 (8 biter) og 2 øvrige tall (9 biter). Men så enkelt er det ikke. Når dette er lagret bitvis vil det først komme tre tall med 8 biter, så to med 9 biter og til slutt et med 8 biter. Men ved lesing må det være et system som vet hvor mange biter som skal leses for å kunne si når bitene til ett tall slutter og dermed bitene til neste tall begynner. Dette blir tatt opp i Avsnitt 7.2.5.

b) I teorien kan komprimeringen av "AAAAAAAAAAA" lagres med 43 biter. Se kommentarene under a).

Oppgave 2

runde   c   ordbok   s   utskrift kode nestekode
0A A 65256
1AAA - 256A6565257
2A AA 256 
3AAAA - 257A25665258
4A AA 256 
5A AAA 257 
6AAAAA - 258A25765259
7A AA 256 
8A AAA 257 
9A AAAA 258 
10AAAAAA - 259A25865260
11A AA 256 
12A AAA 257 
13A AAAA 258 
14A AAAAA 259 
15AAAAAAA - 260A25965261
16   65  

Oppgave 3

a)

runde   c   ordbok   s   utskrift kode nestekode
0A A 65256
1BAB - 256B6566257
2ABA - 257A6665258
3AAA - 258A6565259
4B AB 256 
5BABB - 259B25666260
6A BA 257 
7ABAA-260A25765261
8A AA 258 
9BAAB-261B25866262
10BBB-262B6666263
11B BB 262 
12CBBC-263C26267264
13   67  

b)

runde   c   ordbok   s   utskrift kode nestekode
0A A 65256
1BAB - 256B6566257
2ABA - 257A6665258
3B AB 256 
4AABA - 258A25665259
5B AB 256 
6A ABA 258 
7ABAB - 259B25866260
8A BA 257 
9BBAB - 260B25766261
10A BA 257 
11B BAB 260 
12   260  

c)

runde   c   ordbok   s   utskrift kode nestekode
0M M 77256
1IMI - 256I7773257
2SIS - 257S7383258
3SSS - 258S8383259
4ISI - 259I8373260
5S IS 257 
6SISS - 260S25783261
7I SI 259 
8PSIP - 261P25980262
9PPP - 262P8080263
10IPI - 263I8073264
11   73  

d) Legg merke til at her blir komprimeringen like stor som det vi startet med:

runde   c   ordbok   s   utskrift kode nestekode
0A A 65256
1AAA - 256A6565257
2BAB - 257B6566258
3ABA - 258A6665259
4CAC - 259C6567260
5ACA - 260A6765261
6DAD - 261D6568262
7ADA - 262A6865263
8EAE - 263E6569264
9AEA - 264A6965265
10FAF - 265F6570266
11AFA - 266A7065267
12GAG - 267G6571268
13   71  

Oppgave 4

Flg. eksempel inneholder det hollandske flagget i to versjoner der begge har GIF-format. De inneholder nøyaktig samme antall piksler. Den ene er en rotasjon av den andre. Men den som har stripene horisontalt komprimeres bedre fordi det der er lengre sekvenser (av piksler) med samme farge.

     
423 byter 567 byter

Hvis vi isteden bruker PNG-format, vil det ikke bli noen forskjell siden PNG bruker en helt annen idé i komprimeringsalgoritmen enn GIF. Vi ser også at PNG komprimerer vesentlig bedre enn GIF i disse tilfellene.

     
247 byter 248 byter