Kleurencodes voor blinden

Op Utrecht Centraal heeft men in september wat nieuws bedacht: tussen de geleidelijnen voor blinden en slechtzienden zijn mozaïeken geplaatst van gekleurde vierkantjes. Hoe werken deze vierkantjes? In dit stukje geef ik wat opties van hoe het technisch zou kunnen werken.

De stickers zien er als volgt uit:

Het eerste wat opvalt is dat ze duidelijk voor een computer gemaakt zijn, en niet voor mensen. Ook logisch, want blinden kunnen over het algemeen vrij slecht kleuren herkennen. De codes lijken een beetje op QR-codes, maar ze werken anders. Bij QR-codes is elk vierkantje donker of licht, kleur heeft geen betekenis. Het maakt voor een computer niet uit of je een QR-code in het donkerrood, zwart of pimpelpaars print, zolang het contrast tussen de lichte en donkere kleur maar groot genoeg is.

Het tweede wat opvalt is dat ze vrij weinig vierkantjes hebben: slechts vijf bij vijf. Ter vergelijking, hier is een eenvoudige QR-code:

Goed, wat zou je in theorie kunnen met die kleine, gekleurde codes?

Laten we beginnen met uitrekenen hoeveel opslagruimte zo’n kleurcode heeft. Er zijn vijf bij vijf vierkantjes, dus 25 in totaal. Eén hoek is altijd zwart, ik neem aan zodat de computer weet wat onder, boven, links en rechts is, dus blijven er 24 vierkantjes over. Er zijn 4 mogelijke kleuren (rood, groen, blauw, zwart), dus elk vierkantje kan vier toestanden hebben. Informatici zeggen dat je dan twee bits aan informatie hebt per vierkantje. (Een bit is een 1 of een 0, dus twee mogelijkheden. Met twee bits kun je 0 0, 0 1, 1 0 of 1 1 maken, dus vier mogelijkheden, dus vandaar dat vier mogelijkheden gelijk staat aan twee bits aan informatie.) Met 24 vierkantjes heb je dus 24 x 2 = 48 bits aan informatie in totaal. En dat zal in de praktijk minder zijn, want ik neem aan dat er maar één hoek zwart mag zijn, en dat er nog wat bits nodig zijn voor foutcorrectie. Dus zeg 40 bits.

Omgerekend is dat 5 bytes. Dat is veel te weinig voor een algemeen toepasbare code, zoals de standaard QR-code. Een link opslaan gaat al niet, wil je bijvoorbeeld een link naar https://rutgerkok.nl opslaan, dan kom je met die vijf bytes maar tot “https“. Dat schiet niet op.

Je moet dus iets specifieks gaan ontwerpen. Eén oplossing is door een slim codeersysteem op te zetten. Bijvoorbeeld: de eerste bit is 0 voor “linksaf” of 1 voor “rechtsaf”, de tweede is 0 voor “lift” en 1 voor “trap”, bits drie t/m zeven slaan een getal op van 1 t/m 32 om het spoornummer aan te geven, enzovoort. Het is krap, zeker als je niet alleen de afslag maar ook de andere richtingen wil beschrijven, maar in theorie kan het.

Een andere oplossing is het opzoeksysteem. Hier is je code simpelweg één getal. Met 40 bits kun je alle getallen van 1 t/m 240 = 1 099 511 627 776 opslaan. Je kunt vervolgens in de app een tabel opslaan, die betekenis geeft aan elk getal:

Nummer Instructie
1Links de trap naar spoor 1-4, rechts de lift. Rechtdoor voor spoor 5 – 21.
2Links de trap naar spoor 5-7, rechts de lift, maar die is helaas buiten werking. Rechtdoor voor spoor 8 – 21.
3Hier links vindt u de Kiosk, met vandaag in de aanbieding: cappucino voor €2,50
Enzovoort

Je kunt nu veel meer informatie geven; de computer hoeft alleen te weten welk van de 1 099 511 627 776 mogelijke zinnen hij hoeft weer te geven. Je hoeft niet met een vast stramien te werken voor berichten. Je kunt dus afwijkende berichten toevoegen, zoals die over de Kiosk in het voorbeeld. Het nadeel is wel dat je moet zorgen dat deze tabel steeds bijgewerkt wordt. Als iemand een gangpad afsluit, dan moet je nu de app bijwerken via het internet, in plaats van dat je gewoon een paar stickers vervangt. Als iemand zijn app niet op tijd bijwerkt, dan raakt die persoon verdwaald.

Ok, tot zover de mogelijke systemen. Welk systeem is in gebruik?

Op internet staat daar niet direct informatie over. Het dichtst in de buurt komt dit bericht van Prorail. Kennelijk moet je een smartphone-app gebruiken. Op hun webpagina staat één foto waar de app zichtbaar is.

We willen graag zien wat er op het scherm staat, om zo een idee te krijgen hoe de app werkt. Alleen: de resolutie van de foto is helaas te laag om de tekst op de app te kunnen lezen. We hebben een foto op hogere resolutie nodig. Nou is er in dit geval een trucje om aan die foto te komen. Het webadres van de foto is namelijk https://www.prorail.nl/contentassets/4cd55744a3aa4127bb026a8ace4a6bbb/proef-voor-visueel-beperkten-op-den-haag.jpg?width=850&height=390&mode=crop. Je ziet hier width=850 en height=390 staan. Dit is voor de webserver de instructie om de foto naar die resolutie te verkleinen. Als je alles na het vraagteken weglaat, dan krijg je dit webadres: https://www.prorail.nl/contentassets/4cd55744a3aa4127bb026a8ace4a6bbb/proef-voor-visueel-beperkten-op-den-haag.jpg. En voilà: dat is de foto op de oorspronkelijke resolutie.

Op die foto kunnen we wél voldoende inzoomen, met dit als resultaat:

Dat is al leesbaar, zolang je niet blind bent tenminste. Ik neem aan dat de app de tekst ook voorleest. Er staat: “Richt met de camera op een tag om deze te lezen”. In het groene vlak eronder staat: “Attentievlak. 8 bestemmingen beschreven. Rechts af naar sporen 10, 11 en 12, via het OV-chipkaart poortje [Toon bestemmingen]”. Dat zijn twee spelfouten, het moet “Rechtsaf” en “OV-chipkaartpoortje” zijn, maar blinden kunnen de tekst toch niet lezen dus een kniesoor die daar op let.

Goed, dat verklapt het eigenlijk al: de app werkt met het opzoeksysteem. Er zijn acht bestemmingen beschreven in het attentievlak, kennelijk de naam voor die QR-kleurencode. Met het codeersysteem zou je voor 40 bits en acht bestemmingen dan 5 bits overhouden per bestemming. Dat zijn 32 mogelijkheden, veel te weinig om een bestemming te beschrijven.

Nou, mysterie opgelost. Volgende vraag is of het ook een beetje handig werkt, want je hebt nu wel je handen vol. In één hand een stok, in de andere je smartphone. Een soort geleidestok met een 360-graden-camera erop zou handiger zijn, maar dat zal wel duur en diefstalgevoelig zijn. Zegt de politieagent straks: “Nou meneer de slechtziende, kunt u mij even beschrijven hoe de dief eruit zag?”

Geef een reactie