Subpixel Tekstcodering

Elke pixel op je monitor is in werkelijkheid opgebouwd uit drie subpixels: één rode, één groene en één blauwe. Op een LCD-monitor zijn subpixels meestal drie dunne strips naast elkaar geplaatst (hoewel ze op sommige monitoren als drie verticale balken zijn gerangschikt).

Fabrikanten hebben al enige tijd methoden ontwikkeld om de weergave van tekst en vormen te verzachten door gebruik te maken van deze verhoogde resolutie; Wikipedia kan dit waarschijnlijk veel beter uitleggen dan ik.

Ik dacht hierover na en besloot iets uit te proberen. Ik maakte een afbeelding die bij 12x zoom eruitziet als een paar onschuldige kolommen pixels. Echter, op een standaard LCD-monitor, als je heel dichtbij kijkt — of met een vergrootglas of digitale camera — zie je iets anders.

Vervolgens maakte ik een tweede afbeelding. Bij een vergroting van 1200% lijkt het een verzameling willekeurige pixels, maar als je goed naar het scherm kijkt, zien we het resultaat: door voor elk teken rasters van 2x5 te gebruiken, kun je gedetailleerdere tekens van 5x5-subpixels creëren.

Omdat de blauwe fosfor in de meest rechtse kolom nooit wordt gebruikt, kan deze dienen als scheidingsteken. Hierdoor kunnen tekens direct naast elkaar worden geplaatst zonder dat er een volledige pixel tussen zit. Desondanks zijn de tekens met het blote oog op werkelijk formaat iets beter herkenbaar.

De techniek is waarschijnlijk niet nuttig voor encryptie of steganografie, maar het ziet er wel cool uit. Het zou gebruikt kunnen worden om kleine tekst-"microdots" te maken om uit te wisselen met vrienden. Helaas kan het effect niet correct worden gezien op CRT-monitoren of sommige LCD's met andere subpixel-indelingen.

Ter illustratie is hier nog een verborgen bericht, waarbij de boodschap onthuld wordt na vergroting (12x).

Technische details:

  • Foto's: Genomen met een Canon PowerShot SD800 IS (7,1 megapixels) in Digital Macro-modus.
  • Beeldscherm: Afbeeldingen werden weergegeven op een Apple 30" Cinema Display.