Presentasjon lastes. Vennligst vent

Presentasjon lastes. Vennligst vent

Digital Representasjon

Liknende presentasjoner


Presentasjon om: "Digital Representasjon"— Utskrift av presentasjonen:

1 Digital Representasjon
Frode Eika Sandnes

2 Læringsmål Hva er informasjon?
Hvordan lagres informasjon i datamaskinen? Hvordan og hvorfor komprimere informasjon? Hvordan og hvorfor kryptere informasjon?

3 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.

4 En bit

5 Dette er en bit Slå på Slå av

6 En byte

7 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.

8 Dette er en byte

9

10

11 Addressen til en byte Byte 1 Byte 2 Byte 3 Byte 4 Byte 5 Byte 6 Byte 7

12 Words – grupper på en eller flere bytes
Vanligvis er en word på 2 bytes, dvs 16 bits, eller 4 bytes, dvs 32 bits.

13 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

14 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 B er C er Merk at A og a har forskjellige koder Kinesisk bruker bla 2-bytes word representasjon i stedet, med mulighet for tegn.

15 Tekststrenger (Strings)
ASCII strenger er sekvenser med characters (eller bytes) ABC = Lengde på strengen Nullterminering (C/C++) Man hekter på tegnet NULL ( ) på slutten av strengen Ikke nullterminering (Java) Man bruker en annen måte å beksrive slutten på strengen, for eksempel lengde

16 Lagring av strenger Nullterminering frodeØkirstenØgeirØmark Lengde

17 Heltall (integere) Vi kan også bruke bytes eller words til å representere heltall = 0 = 1 = 2 = 3 = 4 = 5 = 6 = 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.

18 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”.

19 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 ( = 17) Flip alle bits ( ) Legg til 1 ( = -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.

20 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).

21 Flyttall Flyttall er en fellesbetegnelse for alle tall ”som har komma”
2.7 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

22 Flyttall Et flyttall består av Tallet er representert som
mantissa M eksponent E fortegn F (1 bit) Tallet er representert som Tall = (-1)FMBE B er basen og er gitt implisitt

23 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. Fortegns bit eksponent mantissa

24 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.

25 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 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.

26 Multimedia Lyd Bilde Video

27 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.

28 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)

29 Digitalisering Disse målingene kan representeres som en rekke tall, i.e. Bytes.

30 Sampling rate Dynamisk bredde 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.

31 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)

32

33 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.

34 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.

35 Bilder (raster) = 24 = 60 = 118 = 254 = 255 = 112 = 62 = 24

36 ”Commodore 64” grafikk

37 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

38 (0,255,0) (0,0,0) (0,255,255) (255,255,0) (255,255,255) (255,0,0) (0,0,255) (255,0,255)

39 Farge per pixel Dette tar mye plass (0,0,255) (0,0,255) (0,0,255)
(255,0,0) (256,256,0) Dette tar mye plass

40 Palette Vi lagrer en fargekode Ikke fargeverdien Paletten inneholder
2 3 1 Paletten inneholder fargeverdiene Palett: 1 = (0,0,255) 2 = (255,0,0) 3 = (255,255,0)

41 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.

42 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)

43 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%

44 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.

45 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.

46 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).

47 Kompresjon av bilder Ingen kompresjon Lossless Lossy
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

48 Run legnth encoding Vi bruker derfor mindre plass til å lagre.
3 hvie på rad 2 svarte på rad 3 hvite på rad Koding er derfor: 3,2,3 2,4,2 1,3,1,2,1 0,7,1 0,8 1,3,4 2,5,1 Forbedret med linje-wrap: 3,2,5 4,3 3,1,2,1 7,1 8 1,3,6 5,4 2,3 Vi bruker derfor mindre plass til å lagre.

49 300 x 300 100 x100 30 x 30

50 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

51 Packman beveger seg fremover
1 2 3

52 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.

53 Kryptering

54 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.


Laste ned ppt "Digital Representasjon"

Liknende presentasjoner


Annonser fra Google