Codering van informatie



Dovnload 122.96 Kb.
Datum17.08.2016
Grootte122.96 Kb.


Codering van informatie

René Dohmen

Eerste versie: 8 november 2008

Deze versie: 26 oktober 2010



Inhoudsopgave

1.1 Coderingen

1.2 Coderingen voor stoplichten

1.2 Dodering van boter-kaas-en-eieren

2 Decoderen

3 Doderen van alfabetten


4 Coderen van kleuren


5 Foutdetectie


1.1 Coderingen

Om alles wat we zeggen op te kunnen schrijven is er complex systeem bedacht.

Allereerst zijn er de letters.
Ooit heb je geleerd dar je het teken a kunt uitspreken als a of aa.
Bovendien kun je met de letters iets opsommen: na opgave a komt opgave b.

Met die letters maken we woorden. Alleen al het uitspreken van die woorden is een ongewikkelde zaak.

Spreek je 'havik' uit als 'haa-vik', 'haa-viek','ha-vik' of 'ha-viek'?
Bij het meervoud van ijsbeer komt Jantje-snoeper-langs waardoor ijsberen met 1 ee voor de r geschreven wordt: ijsberen.

Spelling is dus een ingewikkelde zaak.

Dan hebben we nog de grammatica.

1.2 Coderingen voor stoplichten

Een monteur van de gemeente wordt er op uitgestuurd om vast te stellen welke verkeerslichten defect zijn.


Hij krijgt een plattegrond mee om bij elk verkeerslicht eventuele defecten te vermelden.
Bij elke licht staat hij een tijdje te wachten. Als alle lichten werken schrijft 'ok'.

Als er een licht defect is schrijft hij de eerste letter van de defecte lamp op.

De monteur heeft dus de volgende codes

defect codering

geen lamp defect Ok

rood defect R

oranje defect O

groen defect G

Na een tijd ontdekt hij echter dat sommige verkeerslichten uit staan en andere oranje staan te knipperen.


Bij een verkeerslicht dat uitstaat kun je niet vaststellen of er een lamp kapot is, maar er moet wellicht wel naar gekeken worden.
Bij een licht dat oranje knikkert zou wellicht de groene of de rode lamp defect kunnen zijn.
Bij een Nederlands stoplicht zijn de volgende toestanden mogelijk:
groen

oranje


rood

knipperend oranje

defect
Dat zijn vijf verschillende toestanden. Je zou die kunnen coderen door elke toestand een uniek nummer te geven:
toestand codering

groen 0


oranje 1

rood 2


knipperend oranje 3

defect 4


Of binair:
toestand codering

groen 000

oranje 001

rood 010


knipperend oranje 011

defect 100


Bij de laatst digitale codering schrijf je de digitale code voor de decimale getal.

Je hebt 3 bits nodig om deze codes op te kunnen schrijven, omdat je 3 bits nodig hebt voor de langste code (100). Bij de kortere codes moet je steeds voorloopnullen schrijven om toch 3 bits te krijgen.


Maar het kan best anders:
toestand codering

groen 00001

oranje 00010

rood 00100

knipperend oranje 01000

defect 10000


Ook op deze manier heeft elke toestand haar eigen bit. Voor elke toestand wordt nu één bit gebruikt. Deze manier van coderen neemt natuurlijk meer ruimte in beslag.

Het voordeel van deze methode is dat je ook de toestanden waarbij verschillende lampen tegelijkertijd aanstaan op een logische manier kunt coderen.


In Duitsland is de volgorde van de lichten bijvoorbeeld als volgt:
rood → rood + oranje → groen
De toestand rood + oranje heeft dan de volgende code: 00110

1.2 Coderingen voor het spelverloop van boter, kaas en eieren
We proberen nu om een codering voor het spelverloop van boter-kaas-en-eieren op te stellen.
methode 1

De bedoeling is dat je voor ieder stap in het spel een beschrijving geeft.


Je kunt bijvoorbeeld afspreken dat je iedere cel beschrijft door het nummer van de rij en het nummer van de kolom te noemen.





kolom 1

kolom 2

kolom 3

rij 1

1,1

1,2

1,3

rij 2

2,1

2,2

2,3

rij 3

3,1

3,2

3,3

Bovendien beschrijf je wat je in die cel zet: bolletje=0, kruisje=1


Beschrijf elke stap nu door eerste de rij te noemen, dan de kolom en tenslotte wat je in die cel zet:
(rij, kolom, wat)
Het spel zou bijvoorbeeld zo kunnen verlopen.
Speler 1 zet een kruisje in de middelste cel: 2,2,1

Daarna zet speler 2 een bolletje linksboven: 1,1,0

Speler 1 zet dan een kruisje midden onderin: 3,2,1
Het valt op dat de laatste getallen elkaar altijd afwisselen: 1,0,1,0,…


methode 2

We kunnen het aantal cijfers dat we moeten opschrijven beperken door de volgende extra afspraak te maken:


De eerste zet is altijd een kruisje.
We kunnen de drie zetten die je bij methode 1 gezien hebt nu wat korter opschrijven:
zet 1: 2,2

zet 2: 1,1

zet 3: 3,2


methode 3

Maar het kan nog wat korter als we de cellen op de volgende manier nummeren.




1

2

3

4

5

6

7

8

9

De eerste zet moet nog steeds een kruisje zijn!


Hetzelfde spel is nu op de volgende manier te coderen:
5

1

8


Deze methode kost maar 1/3 van de eerste methode!
Je ziet dat je één spel op verschillende manier kunt coderen.

Het is maar net welke afspraak je maakt.


Welke methode je het beste kunt gebruiken, hangt van andere factoren af.

Een programmeur van dit spel zal misschien methode 1 gebruiken. Op papier ben je met methode 3 misschien het beste af.



Opdracht 1.1
Kies (in overleg met je docent) een spel waarvan je de spelregels kent. Codeer dit spel.


2 Decoderen
Opdracht 2.1
Hieronder zie je een aantal gecodeerde berichten staan.
Je docent verdeelt deze berichten over de leerlingen van je klas.
De opdracht is eenvoudig: Decodeer het bericht!
Werk de decodering uit in een OpenOffice-presentatie die je aan je klasgenoten moet presenteren.


Bericht 1




bericht 2



bericht 3





bericht 4




bericht 5



3 coderingen van alfabetten
Braille
Braille is een codering van leestekens die voor blinden op de tast te lezen is.
Je kunt de code op de volgende pagina vinden:
http://nl.wikipedia.org/wiki/Braille
Voor elk teken zijn maximaal 3 regels nodig (bijvoorbeeld voor de letter Y). De tekens zijn maximaal 2 posities breed. Zo worden alle tekens dus in een cel van 2x3 gecodeerd.

Bij sommige codes blijft de eerste regel leeg (bijvoorbeeld bij de punt).

Hoofdletters worden geschreven door een hoofdletter teken te schrijven en daarna de betreffende letter.

Op een soortgelijke manier worden cijfers geschreven door een cijferteken te schrijven en daarna een letter. Op deze manier wordt van een A een 0 gemaakt.



Opdracht 3.1
a Schrijf je voornaam in Braille. Gebruik drie regels. Kies als lettertype Courier New (bij dit lettertype zijn alle letters even breed)

b Decodeer de volgende tekst van braille naar normale leestekens.

regel 1 . .. . . . .. . . .

regel 2 . . .. . . . ..

regel 3 . . . . .. . . .

Sophie


. . .. . . .

. . . .. . .

. . .
Je kunt meer lezen over Braille op de volgende website:
http://www.afb.org/braillebug/braille_deciphering.asp
Er zijn verschillende varianten van Braille. Hierover lees je meer op deze website:
http://homepages.cwi.nl/~dik/english/codes/braille.html
Je kunt zelfs wiskunde noteren in Braille, zie:
http://www.afb.org/braillebug/nemeth_braille.asp
Er bestaat een mooie variant die veel tekens in een cel van 2x4 codeert:
http://braillecode.com/8-dot-braille-alphabet.html

Barcodes
Barcodes of streepjescode kom je overal tegen. Elk product (behalve de verse groente; er worden nog geen komkommers met ingebouwde barcode gekweekt) in de supermarkt heeft er wel één.
Er zijn heel veel barcode-coderingen, zie:
http://nl.wikipedia.org/wiki/Streepjescode
Twee veel gebruikte coderingen zijn code 39 en EAN13.
Op de volgende Engelstalige pagina wordt uitgelegd hoe de codering van Code 39 werkt.
http://en.wikipedia.org/wiki/Code_39

Er zijn 4 mogelijkheden bij deze code (dit is codering 2 op de wikipedia pagina):


B → zwart breed

b → zwart smal

W → wit breed

w → wit smal

Volgens de tabel wordt de letter A dan: BwbwbWbwB
In internet zijn gratis fonts te vinden waarmee je code39 barcodes kunt maken. Bijvoorbeeld hier:
http://www.barcodesinc.com/free-barcode-font/
Als je dit lettertype installeert kunt je barcode typen.

Opdracht 3.2
Installeer een code 39 lettertype en schrijf je naam in code 39.

Sophie Lathouwers



Ascii
Als je het (binaire) getal 1000001 = 65 ziet kan dat van alles betekenen. Gewoon het getal 65, een beschrijving van een stap in een spel…

Omgekeerd is er geen enkele regel die van nature bepaald welke getal de letter ‘A’ zou kunnen coderen.



Vraag

hoe kun je een mens (of machine) doorgeven welk teken je bedoeld, als je alleen getallen mag gebruiken?


Oplossing

Maak een tabel waarin je aan elk teken een getal koppelt.

Lang geleden is er een tabel bedacht die vast legt welk getal bij een bepaald teken hoort. Deze tabel wordt de ascii-tabel genoemd. ASCII is een acroniem van American Standard Code for Information Interchange (Amerikaanse Standaard Code voor Informatie Uitwisseling).
Op http://www.ascii.nl/ kun je deze tabel bekijken. De hoofdletter A heeft als ascii-code 65. De kleine letter a heeft ascii-code 97.
De onderstaande tabel heb je nodig bij de volgende opgave.

Ascii-codes lopen van 0 tot en met 127. Dat zijn dus 128 codes. Er zijn dus per teken 7 bits nodig. Dat heeft te maken met het feit dat deze tabel ontworpen werd er in die tijd computers waren die met 7 bits rekenden.
Computers die met 8 bits reken(d)en, gebruikten het achtste bit soms voor foutdetectie (daarover later meer).
Opdracht 3.3
Met welke reeks ascii-codes kun je het volgende woord coderen:’brood’
98-114

b = 98


r = 114

o = 111


o = 111

d = 100


Opdracht 3.4
Decodeer de volgende boodschap van ascii-codes:
72 97 108 108 111 = Hallo


Extended ASCII
Met acht bits kun je 28=256 code maken. Naast de 128 codes uit de ascii-tabel, is er dus ruimte voor nóg 128 andere codes. Hierdoor konden ook bijzondere tekens (é, à, ± etc) in de tabel voorkomen.
Dat werd de extended ascii-tabel. Voor die tweede reeks van 128 codes bestaand overigens verschillende standaarden. Er is dus niet maar één extended ascii-tabel.

Unicode
Maar ook 256 codes zijn niet voldoende om alle tekens uit alle alfabetten van een code te voorzien. Daarom werd unicode bedacht:
http://www.unicode.org/
Unicode 1.0 bestond uit 256 tabellen van elk 256 tekens.

Arabisch tekens staan bijvoorbeeld in tabel 06. Je kunt deze tabellen op de website van unicode vinden in het menu onder: The unicode standard > Code Charts.


De standaard ascii-tabel staat onder Basic Latin. Verschillende vormen van extended ascii vindt je terug onder Latin Extended A, B, C, D en Additional.
In de laatste versie van 2009 (5.0) kunnen 220 + 216 – 1 (=1114111) symbolen gecodeerd worden.

Dat was o.a. nodig omdat alleen het Chinese schrift al meer dan 25000 tekens bevat.


Overzicht


soort codering

aantal bits

aantal codes

ASCII

7

128

ASCII + pariteitsbit

8

128

extended ASCII

8

256

Unicode 1

16

256x256=65536

Unicode 5.0

(zie tekst)

1114111


Niet-leesbare ASCII codes

Er zijn een aantal codes die niet horen bij leesbare tekens.


Als een leesbaar teken naar het scherm of naar een printer wordt gestuurd, verschijnt het op de plaats van de cursor. De cursor beweegt daarna één plaats naar rechts

Als een leesbaar teken naar een printer wordt gestuurd, verschijnt het op de plaats waar de printkop staat. De printkop beweegt daarna één plaat naar rechts.


De niet-leesbare teken wordt niet geprint. Als een niet-leesbaar teken naar een beeldscherm gestuurd wordt, verwerkt het BIOS dit teken.

Als het teken naar de printer gestuurd wordt, kan de printer er mee bestuurd worden.



Opdracht 3.5

Zoek de volgende 5 codes in de tabel op en leer hun betekenis van buiten:




  • Bij teken 7 staat BEL. Het printen van dit teken laat het piepje horen, dat standaard in elke PC zit. Zoek deze code in de tabel op.

  • De spatie heeft code 32. Zoek deze in de tabel op.

  • Teken 8 is de TAB. Hiermee spring je een eind naar rechts. Je kunt dat TAB in de kladblok gebruikten om een primitieve tabel te maken

  • Bij teken 10 staat LF, dat staat voor Line Feed.

  • Bij teken 13 staat CR, dat staat voor Carriage Return.


Meer over CR en LF
LF laat de cursor of printerkop naar de volgende regel gaan. Bij een printer betekent dit dat de papierrol een stukje doordraait. Bij een scherm gaat de cursor een regel omlaag. Als de cursor al op de onderste regel stond worden eerst alle regels één regel omhoog bewogen.
CR zet de cursor of de printerkop aan het begin van de huidige regel.
Bekijk het resultaat dat de volgende ascii-codes hebben:
Karel liepOp het gras
Dit wordt als volgt op een beeldscherm of printer weergegeven:
Karel liep

Op het gras


Wat veranderd er als je de weglaat?
De cursor springt niet meer naar het begin van de regel.
Karel liep

op het gras


Zonder springt de cursor alleen naar het begin van de regel:
De volgende tekens:
Karel liepOp het gras
hebben op een beeldscherm, dit resultaat:
Op het gras


Opdracht 3.6
Waar is de tekst ‘Karel liep’ gebleven?

Op een printer ziet het er verschrikkelijk uit. Kun je uitleggen waarom?

Als je een tekst in een tekstbestand opslaat wordt de ENTER nog steeds als opgeslagen. In het bestand staan op die plaats dus de ascii-code 10 en 13.

INTERMEZZO: Printers

Tegenwoordig zie je voornamelijk inktjet- en laserprinters. Nog niet zo lang geleden waren er ook andere printers.


daisywheel

Bij een Daisywheel (Nederlands: Margriet wiel) printer is er voor elk teken een printkop op een staafje bevestigd. Bij een typemachine is dat ook het geval.

Het verschil is dat bij een typemachine de hele staaf beweegt om de printkop tegen een lint met inkt aan te hameren.

Bij een Daisywheel printer wordt de printkop een klein beetje opzij geduwd (door de letter- striker) tegen het inktlint aan. Hieronder kun je dat zien.






matrix printer

Bij een matrix printer bestaat de printkop uit een aantal rijen met naaldjes.

De naaldjes kunnen uit de kop naar voor steken, of naar binnen getrokken worden.

Door de juiste naaldjes naar voor te steken kan de vorm van een teken gemaakt worden. Hieronder zijn dat de A en het plusteken.




Door het papier tegen de printkop te drukken met een inktlint ertussen worden de tekens afgedrukt.
4 Foutdetectie

Opdracht 4.1
Geef door de hele klas fluisterend een bericht door, bijvoorbeeld
GGTTCCAAG
Iedereen moet (onzichtbaar voor anderen) opschrijven wat hij/zij doorgegeven heeft.
Wat heeft de laatste in de rij gehoord?

Verzamelen de tussentijdse berichten en achterhaal wat er onderweg gebeurd is.

Zoals je bij het bekende spel gemerkt hebt gaat er nogal wat fout bij het doorgeven wat informatie. Mensen hebben als voordeel dat ze het bericht beter kunnen onthouden als het bericht betekenis heeft. Een betekenisloze boodschap als GGTTCCAAG is al moeilijker.


Pariteitsbit

Een pariteitsbit is een eenvoudige manier om te controleren of digitale gegevens (bits) geen fouten bevatten (foutdetectie).


Hieronder staan 7 bits waarvan er 4 een 1 zijn.


1

0

1

1

0

1

0



Omdat dit aantal even is wordt een 1 als pariteitsbit toegevoegd:




1

0

1

1

0

1

0

1

De volgende reeks bits heeft een oneven aantal enen, en krijgt daarom een 0 als pariteits bit.




0

0

0

0

0

0

0

0

Omdat in dit geval bij een even aantal 1-en een 1 als pariteitsbit genoteerd wordt, spreken we van even pariteit.

Er bestaat ook oneven pariteit. Er wordt dan een 1 als pariteitsbit genoteerd als het aantal 1-en oneven is.

Het pariteitsbit kan worden gebruikt om fouten te ontdekken die bij de opslag of verzending van gegevens kan ontstaan.


Stel dat het volgende byte verstuurd wordt:


1

0

1

1

0

1

0

1

en als volgt ontvangen wordt:




0

0

1

1

0

1

0

1

De ontvanger weet dan dat er iets mis gegaan is. Het pariteitsbit is immers 1. Er moet dus een even aantal enen in de boodschap staan. Het zijn er echter drie.



Opdracht 4.2
De ontvanger kan niet weten welk bit onjuist is. Kun je uitleggen waarom?

Als er 1 bit in het byte verandert kun je dat met een pariteitsbit ontdekken.

Twee verwisselingen echter niet. Als de ontvanger het onderstaande byte ontvangt, geeft het pariteitsbit de juiste waarde aan. Toch is het bericht veranderd.


0

0

0

1

0

1

0

1



Herhaling
Er is een heel eenvoudige manier om de ontvanger de mogelijkheid te geven om een boodschap te controleren: we sturen de boodschap méér dan één keer.

Pratend via een slechte telefoonverbinding doen we dat ook:


Piet: ‘blah blah, zoem zoem ruis’

Jan: ‘Ik kan het niet verstaan’

Piet:’zoem zoem, ruis, zoem”

Jan: ‘Ik kan je niet verstaan’

Piet: ‘bzzzz, rommel rommel’

Jan: ‘Ik kan je niet verstaan’


Jan is in dit geval degene die probeert om zijn boodschap duidelijk over te brengen door hem te herhalen. Misschien deed Piet dat ook wel, maar dat weten we niet omdat zijn berichten te sterk vervormd overkwamen. Als hij al herhaald, dan baatte dat evengoed niet.

Een mens kan ook harder gaat praten om duidelijker over te komen, maar dat is niet hetzelfde als herhalen.


Digitaal (met bits en bytes) kun je boodschappen ook herhaald sturen.

We willen het bericht 1010 versturen. In plaats van één 1 sturen we een byte met 8 énen. In plaats van één 0 sturen we een byte met acht nullen.


11111111 00000000 11111111 00000000

Als de ontvanger het volgende ontvangt kan hij met een redelijke waarschijnlijkheid vaststellen wat de zender stuurde:


11011111 00000100 10111011 00011000

Opdracht 4.3
Welke regel pas je toe om het oorspronkelijke bericht te achterhalen?

Een andere manier om de boodschap 1010 herhaald te sturen is zo:


1010 1010 1010 1010 1010 1010 1010 1010
De ontvanger zou dit kunnen ontvangen:
1010 1010 0010 1011 1011 1100 1010 1010

Opdracht 4.4
Welke methode zou de ontvanger nu kunnen gebruiken om te achterhalen wat de bedoelde boodschap was?

Is een boosdchap achtvoudig versturen is misschien wel wat te veel van het goed?



Opdracht 4.5
We willen de boodschap 0101 versturen. Voor de zekerheid verdubbelen we elk bit. We sturen dus 00 11 00 11.
De een slechte lijn ontvangt de ontvanger echter 01 10 01 10.

Wat zal de ontvanger concluderen?




Opdracht 4.6
We willen de boodschap 0101 versturen. Voor de zekerheid verdriedubbelen we elk bit. We sturen dus 000 111 000 111.
De een slechte lijn ontvangt de ontvanger echter 010 101 100 001.

Wat zal de ontvanger concluderen?



Bankrekeningnummers en de elfproef
Nee, het gaat nu niet over elfjes...

In rekeningnummers is ook een manier ingebouwd om fouten te kunnen detecteren.

Een bankrekeningnummer heeft negen cijfers.

Als voorbeeld nemen we het fictieve bankrekeningnummer 12.34.56.789.

Het eerste cijfer vermenigvuldig je met 9, het tweede cijfer met 8, het derde cijfer met 7, enzovoorts. De som van deze getallen moet deelbaar zijn door elf. In dit geval is de som 165, en dat is deelbaar door elf. Daardoor weten we dat 123456789 een correct bankrekeningnummer is. Deze methode heet de elfproef.

Indien één cijfer verkeerd wordt ingevoerd,voldoet de cijferreeks niet aan de elfproef. Bij meerdere verkeerd ingevoerde cijfers zou de elfproef wel kunnen voldoen. De kans dat dat gebeurt is echter zeer klein.


Opdracht 4.7

Controleer of het rekeningnummer 987654321 zou kunnen bestaan.


(todo Hamming codes)

5 Coderen van kleuren
Kleurmenging van basiskleuren met licht (bij verf is het iets anders)
Er zijn drie basiskleuren: Rood, Groen en Blauw.
Voor elke kleur kan de waarde 0 tot 255 gebruikt worden.

Bij 0 is de kleur compleet afwezig. Bij 255 staat de kleur maximaal aan.


Zo zijn er maximaal 256x256x256 is ruim 16,7 miljoen kleuren mogelijk
voorbeelden


kleur

R

G

B

blauw

0

0

255

rood

255

0

0

wit

255

255

255

zwart

0

0

0

We zeggen dat de RGB-code van blauw (0,0,255) is.


Er zijn 256 soorten grijs mogelijk. Precies tussen wit en zwart in zit:


kleur

R

G

B

Een soort grijs

128

128

128



Opslaan van een afbeeldingen met RGB-codes
Een afbeelding bestaat uit beeldpunten, ook wel pixels (uit het Engels: Picture Element) genoemd.
Een foto is bv. 800 pixels breed en 600 pixels hoog.
Een afbeelding is te bewaren door van elke pixels de RGB-code op te schrijven.
We beginnen linksboven en lopen dan naar rechts. Als het eind van de regel bereikt is gaan we verder aan het begin (links) van de volgende regel.
Een afbeelding van 800x600 pixels bevat 480000 beeldpunten. Voor elk beeldpunt zijn 3 bytes nodig. In totaal zijn dat 1440000 bytes = 1,44 MegaByte.
We zeggen dat de foto is opgeslagen als Bitmap. Deze bestanden hebben als extensie BMP.
In een JPG-bestand staat een foto veel kleiner opgeslagen. In deze bestanden staan echter niet precies dezelfde kleuren als in de originele afbeelding. Deze methode maakt o.a. gebruik van het feit dat ons oog kleine kleurverschillen niet kan zien. Deze methode maakt gebruikt van een ingewikkeld wiskundig gereedschap dat Descrete Cosinus Transformatie genoemd wordt. Dat wordt gecombineerd met Hufmann-compressie.

Als je zeker weet dat je afbeelding veel minder kleuren bevat, zijn er compactere manieren om een afbeelding op te slaan.



Zwart-wit afbeeldingen
Bij zwart-wit afbeeldingen zijn er maar twee kleuren: zwart en wit. Je kunt dus bijvoorbeeld afspreken wit=1 en zwart=0.

Je hebt dus maar 1 bit per pixel nodig. Voor een afbeelding van 800x600=480000 pixels zijn dus maar 480000 bits nodig. Dat is 60000 byte.




Paletten

Een andere manier om afbeeldingen compact op te kunnen slaan maar gebruik van paletten. Denk hierbij aan het palet dat een schilder gebruikt.



Elke kleur die gebruikt wordt krijgt een nummer. Van dat nummer wordt in een tabel (het palet) onthouden welke RGB-code erbij hoort.
bijvoorbeeld:

palletnummer

RGB-code

bijzonderheid

0

255,255,255

Wit

1

255,0,0

Rood

2

0,0,255

Blauw

3

71,128,87

een hele andere kleur

















Bij het GIF-bestandsformaat worden 256 kleuren opgeslagen in het palet.


Dat palet is dus een tabel waarin 256 RBG-codes genoteerd zijn.

Omdat elke RBG-code 3 bytes nodig heeft, zijn er 256x3=768 Bytes nodig voor de tabel.


Daarna wordt voor elke pixel alleen het nummer van de kleur opgeslagen. Daarvoor is maar 1 Byte nodig.

Opdracht 5.1
Leg waarom voor elke kleur één Byte nodig is.

Voor een afbeelding van 800x600 pixels zijn dan 768 + 800x600 = 768 + 480000 = 480768 Bytes nodig.

Dat is maar één-derde vergeleken met de methode waarbij je voor elk pixel de RGB-codes opslaat. Het nadeel is natuurlijk dat je maar maximaal 256 verschillende kleuren mag gebruiken.


Opdracht 5.2: Ingewikkelde coderingen voor kleuren
Een Google Nexus One Smartphone heeft een (voor 2010) heel bijzonder scherm.

Voor rood en blauw gebruikt het scherm 5 bits, voor groen 6 bits.



Een iPhone gebruikt voor elk van de drie basis-kleuren 6 bits.
Bereken voor beide telefoons het aantal kleuren dat het venster kan weergeven.
Zie ook:
http://www.mobilecrunch.com/2010/02/23/is-the-nexus-ones-display-inferior-to-the-iphones/




De database wordt beschermd door het auteursrecht ©opleid.info 2016
stuur bericht

    Hoofdpagina