digital representasjon
DESCRIPTION
Digital Representasjon. Frode Eika Sandnes. Læringsmål. Hva er informasjon? Hvordan lagres informasjon i datamaskinen? Hvordan og hvorfor komprimere informasjon? Hvordan og hvorfor kryptere informasjon?. Den fundamentale informasjonsbiten - bit. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Digital Representasjon](https://reader035.vdocuments.mx/reader035/viewer/2022081520/56815447550346895dc25726/html5/thumbnails/1.jpg)
Digital Representasjon
Frode Eika Sandnes
![Page 2: Digital Representasjon](https://reader035.vdocuments.mx/reader035/viewer/2022081520/56815447550346895dc25726/html5/thumbnails/2.jpg)
Læringsmål
• Hva er informasjon?
• Hvordan lagres informasjon i datamaskinen?
• Hvordan og hvorfor komprimere informasjon?
• Hvordan og hvorfor kryptere informasjon?
![Page 3: Digital Representasjon](https://reader035.vdocuments.mx/reader035/viewer/2022081520/56815447550346895dc25726/html5/thumbnails/3.jpg)
Den fundamentale informasjonsbiten - bit
• En bit er en verdi som kan ha to tilstander, strøm av eller strøm på.
• Ofte beskrives disse tilstandene som 0 eller 1, eller sannt eller usannt
• Et annet navn for en bit-verdi er boolean
• Bits er fundamentet for all informasjon som representeres i en datamaskin.
![Page 4: Digital Representasjon](https://reader035.vdocuments.mx/reader035/viewer/2022081520/56815447550346895dc25726/html5/thumbnails/4.jpg)
En bit
![Page 5: Digital Representasjon](https://reader035.vdocuments.mx/reader035/viewer/2022081520/56815447550346895dc25726/html5/thumbnails/5.jpg)
Dette er en bitSlå på
Slå av
![Page 6: Digital Representasjon](https://reader035.vdocuments.mx/reader035/viewer/2022081520/56815447550346895dc25726/html5/thumbnails/6.jpg)
En byte
![Page 7: Digital Representasjon](https://reader035.vdocuments.mx/reader035/viewer/2022081520/56815447550346895dc25726/html5/thumbnails/7.jpg)
Byte – en samling med 8 bits
• Historisk sett har det vært praktisk å organisere bits i grupper på 8 bits.
• En gruppe på 8 bits kalles en byte.• Minnet i datamaskinen er ofte organisert i bytes.• Hver byte har en adresse. Vi kan be om å se en
byte som ligger på en adresse. Eller vi kan bestemme hva som skal ligge på en addresse.
• Addressen er et tall som beskriver hvor i minnet byten ligger.
![Page 8: Digital Representasjon](https://reader035.vdocuments.mx/reader035/viewer/2022081520/56815447550346895dc25726/html5/thumbnails/8.jpg)
Dette er en byte
![Page 9: Digital Representasjon](https://reader035.vdocuments.mx/reader035/viewer/2022081520/56815447550346895dc25726/html5/thumbnails/9.jpg)
![Page 10: Digital Representasjon](https://reader035.vdocuments.mx/reader035/viewer/2022081520/56815447550346895dc25726/html5/thumbnails/10.jpg)
![Page 11: Digital Representasjon](https://reader035.vdocuments.mx/reader035/viewer/2022081520/56815447550346895dc25726/html5/thumbnails/11.jpg)
Addressen til en byte
Byte 1
Byte 2
Byte 7
Byte 9
Byte 3
Byte 6
Byte 8
Byte 5
Byte 4
![Page 12: Digital Representasjon](https://reader035.vdocuments.mx/reader035/viewer/2022081520/56815447550346895dc25726/html5/thumbnails/12.jpg)
Words – grupper på en eller flere bytes
• Vanligvis er en word på 2 bytes, dvs 16 bits, eller 4 bytes, dvs 32 bits.
![Page 13: Digital Representasjon](https://reader035.vdocuments.mx/reader035/viewer/2022081520/56815447550346895dc25726/html5/thumbnails/13.jpg)
Bytes og words kan representere mange tilstander
• En bit representerer 2 tilstander• Et word med n bits kan representere 2n tilstander, e.g.
En byte 28 = 256 verdier, en 2-byte word 216 = 65356• Dvs alle kombinasjonene av bitsene i word’en av og på.
– 000– 001– 010– 011– 100– 101– 110– 111
![Page 14: Digital Representasjon](https://reader035.vdocuments.mx/reader035/viewer/2022081520/56815447550346895dc25726/html5/thumbnails/14.jpg)
Bokstaver og tegn (characters)
• US-ASCII tegnsett beskrives med bytes på 8 bits.
• Vi har derfor 256 tegn, hvor hvert tegn har sin unike kode eller bit mønster
• A er 01000001• B er 01000010• C er 01000011• Merk at A og a har forskjellige koder• Kinesisk bruker bla 2-bytes word representasjon
i stedet, med mulighet for 65356 tegn.
![Page 15: Digital Representasjon](https://reader035.vdocuments.mx/reader035/viewer/2022081520/56815447550346895dc25726/html5/thumbnails/15.jpg)
Tekststrenger (Strings)
• ASCII strenger er sekvenser med characters (eller bytes)
• ABC = 01000001 01000010 01000011• Lengde på strengen
– Nullterminering (C/C++)• Man hekter på tegnet NULL (00000000) på slutten
av strengen
– Ikke nullterminering (Java)• Man bruker en annen måte å beksrive slutten på
strengen, for eksempel lengde
![Page 16: Digital Representasjon](https://reader035.vdocuments.mx/reader035/viewer/2022081520/56815447550346895dc25726/html5/thumbnails/16.jpg)
Lagring av strenger
• Nullterminering
• Lengde
frodeØkirstenØgeirØmark
5frode7kirsten4geir4mark
![Page 17: Digital Representasjon](https://reader035.vdocuments.mx/reader035/viewer/2022081520/56815447550346895dc25726/html5/thumbnails/17.jpg)
Heltall (integere)
• Vi kan også bruke bytes eller words til å representere heltall– 00000000 = 0– 00000001 = 1– 00000010 = 2– 00000011 = 3– 00000100 = 4– 00000101 = 5– 00000110 = 6– 00000111 = 7
• Med n bits kan vi representere 2n tall• Binærtall kan legges sammen og trekkes fra på samme
måte som du har lært på grunnskolen for titallsystemet.
![Page 18: Digital Representasjon](https://reader035.vdocuments.mx/reader035/viewer/2022081520/56815447550346895dc25726/html5/thumbnails/18.jpg)
Hva skjer hvis du legger samen to store tall?
• Tenk deg at du representerer to tall a og b med bytes, hvor a = 200 og b 220.
• Vi får da en overflow, fordi svaret (420) ikke kan representeres med en byte som kun kan representere max 255. Man kan få det feilaktige svaret av 164 hvis feilen ikke oppdages.
• Hva skjer hvis banken bruker for få bits og du setter inn for mange penger. Da kan noen av pengene ”forsvinne”.
![Page 19: Digital Representasjon](https://reader035.vdocuments.mx/reader035/viewer/2022081520/56815447550346895dc25726/html5/thumbnails/19.jpg)
Negative tall
• 2’s kompliment. En koding av tall som gjør at man lett kan bruke artmetiske operatsjoner (legge sammen og trekke fra) uten å bekymre seg for fortegn.
• Positive tall er representert direkte.• Negative tall
– Strart med den positive versionen (00010001 = 17)– Flip alle bits (11101110)– Legg til 1 (11101111 = -17)
• Husk at antall tilstander må foredels likt på negativ og positiv side av tallskalaen. E.g. En byte gir tall fra -127 til 127, i stedet for 0 til 255.
![Page 20: Digital Representasjon](https://reader035.vdocuments.mx/reader035/viewer/2022081520/56815447550346895dc25726/html5/thumbnails/20.jpg)
Pass på!!!
• En bank bruker 2’compliment for innskudds og lånekontoer.
• Tenk deg banken bruker for få bits.• Hvis du setter inn for mange penger kan
du risikere å få et veldig stort lån (ved overflow).
• Hvis du låner for mange penger kan du risikere å bli eier av veldig mange penger og få lånet strøket (underflow).
![Page 21: Digital Representasjon](https://reader035.vdocuments.mx/reader035/viewer/2022081520/56815447550346895dc25726/html5/thumbnails/21.jpg)
Flyttall
• Flyttall er en fellesbetegnelse for alle tall ”som har komma”– 2.7– 3.141592654– 1/3
• Flyttall er en tilnærming og ikke en eksakt representasjon.
• En dynamisk representasjon som likner på vitenskapelig notasjon, i.e.– 3.4x10-5
![Page 22: Digital Representasjon](https://reader035.vdocuments.mx/reader035/viewer/2022081520/56815447550346895dc25726/html5/thumbnails/22.jpg)
Flyttall
• Et flyttall består av – mantissa M– eksponent E– fortegn F (1 bit)
• Tallet er representert som– Tall = (-1)FMBE
• B er basen og er gitt implisitt
![Page 23: Digital Representasjon](https://reader035.vdocuments.mx/reader035/viewer/2022081520/56815447550346895dc25726/html5/thumbnails/23.jpg)
Flyttall
• Et word med n bits kan derfor deles i to biter, en for mantissa og en for eksponent
• Mantissaen avgjør nøyaktigheten av tallene. Mange bits gir god nøyaktighet
• Eksponenten avgjør størrelsen på tall som skal representeres. Mange bits dekker et stort tallområde
• Man må balansere tilgjengelig bits mellom mantissa og eksponent
• IEEE standard 754 er mest vanlig.
mantissaeksponentFortegns bit
![Page 24: Digital Representasjon](https://reader035.vdocuments.mx/reader035/viewer/2022081520/56815447550346895dc25726/html5/thumbnails/24.jpg)
Flyttall er unøyaktige
• Hva skjer hvis vi legger sammen et veldig stort og et veldig lite tall
• Svaret vil være lik det største tallet, fordi representasjonen ikke kan registrere det lille tallet i skyggen av det store.
• God regel: For å sikre mer nøyaktige utregninger bør tall summeres i økende rekkefølge.
![Page 25: Digital Representasjon](https://reader035.vdocuments.mx/reader035/viewer/2022081520/56815447550346895dc25726/html5/thumbnails/25.jpg)
Er det et null?
• Hvis du sjekker om et flyttall er null (0) må du være forsiktig.
• Eksakt null eksisterer ikke.• Vi bruker derfor en grenseverdi (epsilon), et velig
lite tall, for eksempel 0.0000001.• Hvis tallet er mindre enn epsilon og større enn –
epislon er tallet null.• Dette gjelder også sammenlikning med andre
tall.• Mange programmerere gjør feil her.
![Page 26: Digital Representasjon](https://reader035.vdocuments.mx/reader035/viewer/2022081520/56815447550346895dc25726/html5/thumbnails/26.jpg)
Multimedia
• Lyd
• Bilde
• Video
![Page 27: Digital Representasjon](https://reader035.vdocuments.mx/reader035/viewer/2022081520/56815447550346895dc25726/html5/thumbnails/27.jpg)
Lyd
• Lydbølger spres som bølger igjennom luft i form av fortetninger.
• Lydbølger kan fanges av mikrofoner og representeres som en tidsserie som beksriver lufttrykket i lydbølgen.
![Page 28: Digital Representasjon](https://reader035.vdocuments.mx/reader035/viewer/2022081520/56815447550346895dc25726/html5/thumbnails/28.jpg)
Digitalisering
• Lydbølgen er analog, dvs kontinuerlig
• Vi kan kun representere diskrete verdier digitalt.
• Digital representasjon er derfor en tilnærming av det originale signalet
• Selv om det digitale signalet er fysisk forskjellig fra det analoge så vil øret oppfatte det som ganske likt (persepsjon)
![Page 29: Digital Representasjon](https://reader035.vdocuments.mx/reader035/viewer/2022081520/56815447550346895dc25726/html5/thumbnails/29.jpg)
Digitalisering
Disse målingene kan representeres som en rekke tall, i.e. Bytes.
![Page 30: Digital Representasjon](https://reader035.vdocuments.mx/reader035/viewer/2022081520/56815447550346895dc25726/html5/thumbnails/30.jpg)
• Sampling rate– Hvor ofte vi måler signalet– Beskriver den øverste hørbare frekvensen
• Dynamisk bredde– Hvor nøyaktig vi tar hver måling– Beskriver hvor mye detaljer vi kan høre.
![Page 31: Digital Representasjon](https://reader035.vdocuments.mx/reader035/viewer/2022081520/56815447550346895dc25726/html5/thumbnails/31.jpg)
Aliasing effekter
Nyquist’s lov– For å fange opp en frekvens må vi sample
med dobbelt så stor frekvens.• Sammenlikn med å steke pizza, hvor ofte må du
kikke igjennom ovnsdøren før den er ferdig?– Hvir du gjør det for sjelden så blir pizzaen brent
– CD kvalitet er 44.1 KHz, fordi mennesker ikke kan høre frekvenser over 20 KHz (44.1 er mer enn dobbelt så mye som 20)
![Page 32: Digital Representasjon](https://reader035.vdocuments.mx/reader035/viewer/2022081520/56815447550346895dc25726/html5/thumbnails/32.jpg)
![Page 33: Digital Representasjon](https://reader035.vdocuments.mx/reader035/viewer/2022081520/56815447550346895dc25726/html5/thumbnails/33.jpg)
Psykoakustisk koding
• PCM (pulse coded modulation), for eksempel wav-filer, tar stor plass fordi hele bølgeformen er representert
• Moderne lydformater som for eksempel mp3, tar mye mindre plass.
• Disse er basert på psykoakustisk koding. Dette er en avansert teknikk som gjør at man kun lagrer informasjon i lydsignalet som er hørbart for mennesker. Annen informasjon blir ignorert.
• For eksempel, to toner med lik frekvens, der en har høyt volum og en har lavt volum – vi lagrer kun informasjonen om den med høyt volum, siden den overdøver den med lavt volum.
![Page 34: Digital Representasjon](https://reader035.vdocuments.mx/reader035/viewer/2022081520/56815447550346895dc25726/html5/thumbnails/34.jpg)
Bilder
• Bilder representeres med pixler, eller en matrise med punkter.
• I et svart/hvitt bilde er hvert punkt en bit.
• I et bilde med gråtoner er hvert punkt en byte
• I et fargebilde er hvert punkt et eller flere bytes.
![Page 35: Digital Representasjon](https://reader035.vdocuments.mx/reader035/viewer/2022081520/56815447550346895dc25726/html5/thumbnails/35.jpg)
Bilder (raster)
00011000 = 24
00111100 = 60
01110110 = 118
11111110 = 254
11111111 = 255
01110000 = 112
00111110 = 62
00011000 = 24
![Page 36: Digital Representasjon](https://reader035.vdocuments.mx/reader035/viewer/2022081520/56815447550346895dc25726/html5/thumbnails/36.jpg)
”Commodore 64” grafikk
![Page 37: Digital Representasjon](https://reader035.vdocuments.mx/reader035/viewer/2022081520/56815447550346895dc25726/html5/thumbnails/37.jpg)
Representere farger
• RGB – Rød, Grønn og Blå• Spesifisere en farge med å bruke en byte for
hver av fargende, totalt 3 bytes eller 24 bits.• Hver farge kan ha 256 verdier, og totalt kan man
representere 256 x 256 x 256 mulige farger• To strategier
– Farge per pixel– Palette
![Page 38: Digital Representasjon](https://reader035.vdocuments.mx/reader035/viewer/2022081520/56815447550346895dc25726/html5/thumbnails/38.jpg)
(0,0,0)(0,255,0)
(255,0,0) (0,0,255)
(255,255,255)
(255,255,0) (0,255,255)
(255,0,255)
![Page 39: Digital Representasjon](https://reader035.vdocuments.mx/reader035/viewer/2022081520/56815447550346895dc25726/html5/thumbnails/39.jpg)
Farge per pixel(0,0,255) (0,0,255)(0,0,255) (255,0,0)
(256,256,0)
Dette tar mye plass
![Page 40: Digital Representasjon](https://reader035.vdocuments.mx/reader035/viewer/2022081520/56815447550346895dc25726/html5/thumbnails/40.jpg)
Palette1 2 3 Vi lagrer en fargekode
Ikke fargeverdien
Paletten inneholder fargeverdiene
Palett:1 = (0,0,255)2 = (255,0,0)3 = (255,255,0)
![Page 41: Digital Representasjon](https://reader035.vdocuments.mx/reader035/viewer/2022081520/56815447550346895dc25726/html5/thumbnails/41.jpg)
Video
• Video er ganske enkelt visning av flere bilder i sekvens.
• Hvis man viser ca 25 bilder i sekundet i sekvens ser bevegelsene naturlig ut.
• Problemstillingen er at bilder tar stor plass, og mange bilder (25 per sekund) tar veldig mye plass.
• Video dreier seg derfor i stor grad om kompresjon.
![Page 42: Digital Representasjon](https://reader035.vdocuments.mx/reader035/viewer/2022081520/56815447550346895dc25726/html5/thumbnails/42.jpg)
Komprimering
• Komprimering (compression) brukes for å minske lagringsplassen for informasjon.
• Kan derfor presse mer informasjon inn på tilgjengelig plass.
• To hovedtyper– Lossless kompresjon
• Kompresjonen medfører ikke informasjonstap• tekstfiler
– Lossy kompresjon• Kompresjonen medfører informasjonstap, men det er
vanligvis ikke merkbart• Lyd, bilde og video (multimediainnhold)
![Page 43: Digital Representasjon](https://reader035.vdocuments.mx/reader035/viewer/2022081520/56815447550346895dc25726/html5/thumbnails/43.jpg)
Kompresjon av tekst
• Tekstkompresjon er vanligvis basert på det fenomenet av bokstaver forekommer med ujevn sannsynlighet. – E 12%– A 8%– N 7%– …– Z 0.1%
![Page 44: Digital Representasjon](https://reader035.vdocuments.mx/reader035/viewer/2022081520/56815447550346895dc25726/html5/thumbnails/44.jpg)
Tekstkompresjon
• Tekst komprimeres ved å erstatte ASCII koden med en annen binærkode– Tegn med høy forekomst får korte koder– Tegn med lav forekomst får lengre koder
• Vanligvis er alle ASCII tegn en byte (8-bits), men vi kan balansere tegnene annerledes ved å benytte for eksempel et Huffman tre.– Høyt forekommende tegn er kortere enn 8-bits– Lavt forekommende tegn kan være lengre enn 8-bits– Summen av alt blir totalt færre bits, og vi oppnår
kompresjon.
![Page 45: Digital Representasjon](https://reader035.vdocuments.mx/reader035/viewer/2022081520/56815447550346895dc25726/html5/thumbnails/45.jpg)
Kompresjon av lyd (delta-koding)
• For eksempel au filer (sun)
• Prinsippet er basert på fenomenet at nivået varierer lite mellom hver sample.
• I stedet for å lagre selve samplet lagrer vi forskjellen mellom to sampler (differansen) – eller delta’en som den også kalles.
![Page 46: Digital Representasjon](https://reader035.vdocuments.mx/reader035/viewer/2022081520/56815447550346895dc25726/html5/thumbnails/46.jpg)
Delta koding• For eksempel: Vi har
bølgeformen– 33, 34, 35, 37, 38, 37, 35, 25
• Differansen mellom tallparrene er:– 1,1,2,1,-1,-2,-10
• Hvis vi vet startverdien og differansene så kan vi restaurere det orginale signalet.
• Differansene tar mindre plass i minnet enn selve tallene.
• Delta koding kan også brukes til å lagre andre typer tidsserier og ikke bare lyd (EKG signaler, aksjekurser etc).
0
5
10
15
20
25
30
35
40
1 2 3 4 5 6 7 8
![Page 47: Digital Representasjon](https://reader035.vdocuments.mx/reader035/viewer/2022081520/56815447550346895dc25726/html5/thumbnails/47.jpg)
Kompresjon av bilder
• Ingen kompresjon– Raster – e.g. Windows BMP format
• Lossless– Run length encoding (Fax maskiner)– gif
• Lossy– Kompliserte algoritmer basert på menneskets
persepsjon av bilder. Fjerner detaljer mennesker ikke legger merke til eller kan skille.
– jpeg
![Page 48: Digital Representasjon](https://reader035.vdocuments.mx/reader035/viewer/2022081520/56815447550346895dc25726/html5/thumbnails/48.jpg)
Run legnth encoding3 hvie på rad 2 svarte på rad 3 hvite på rad
Koding er derfor:3,2,32,4,21,3,1,2,10,7,10,81,3,42,5,13,2,3
Vi bruker derfor mindre plass til å lagre.
Forbedret med linje-wrap:3,2,54,33,1,2,17,181,3,65,42,3
![Page 49: Digital Representasjon](https://reader035.vdocuments.mx/reader035/viewer/2022081520/56815447550346895dc25726/html5/thumbnails/49.jpg)
300 x 300
100 x100
30 x 30
![Page 50: Digital Representasjon](https://reader035.vdocuments.mx/reader035/viewer/2022081520/56815447550346895dc25726/html5/thumbnails/50.jpg)
Kompresjon av video
• Hovedprinsippet bak videokompresjon er at over tid er det lite variasjon i farge for enkelte pixler.
• For eksempel på en nyhetssending er det mest endring i bildet ved munnen og ansiktet på nyhetsreporteren
• Dette kan kombineres med teknikker for bildekompresjon og behoved for lagringskapasitet kan reduseres sterkt
![Page 51: Digital Representasjon](https://reader035.vdocuments.mx/reader035/viewer/2022081520/56815447550346895dc25726/html5/thumbnails/51.jpg)
Packman beveger seg fremover
1 2 3
![Page 52: Digital Representasjon](https://reader035.vdocuments.mx/reader035/viewer/2022081520/56815447550346895dc25726/html5/thumbnails/52.jpg)
Kryptering
• Kryptering vil si å skjule informasjon for uvedkommende som har tilgang til informasjonen. Vanligvis ved lagring eller kommunikasjon.
• Kravet til kryptering er at– Sender har en måte å kryptere dataene på.– Mottaker har en måte å dekryptere dataene på– Andre har ingen måte å dekryptere dataene på
• Til dette brukes vanligvis en hemmelig nøkkel.
![Page 53: Digital Representasjon](https://reader035.vdocuments.mx/reader035/viewer/2022081520/56815447550346895dc25726/html5/thumbnails/53.jpg)
Kryptering
![Page 54: Digital Representasjon](https://reader035.vdocuments.mx/reader035/viewer/2022081520/56815447550346895dc25726/html5/thumbnails/54.jpg)
Hvordan man kan kryptere
• Tenk deg vi skal sende tre hemmelige symboler fra A til B, dvs tallet 314
• Vi benytter oss av en nøkkel som er et annet tresiffret tall, for eksempel 216. Både sender og mottaker må ha kjennskap til denne koden.
• Vi kan kryptere med å trekke hvert tall fra hverandre, dvs 3-2=1, 1-1=0 og 4-6=8 (ruller rundt).
• Vi sender resultatet 108 fra A til B.• B kan nå legge beskjeden og koden sammen tall for tall,
og få 314.• Dette er et meget enkelt eksempel. Det er mange
spennende krypteringsalgoritmer og teknikker. Disse lærer du mer om i 2. og 3. år.