Så fungerar QR-koder

Kallas också: QR-kodning, QR-avkodning, how QR codes work

Definition

En QR-kod fungerar genom att data omvandlas till kodord, Reed–Solomon-felkorrigering läggs till och bitarna placeras i ett rutnät kring fasta mönster som hjälper en kamera att hitta, räta upp och läsa den.

Från data till mönster

Att skapa en QR-kod börjar med att välja ett kodningsläge som passar data: numeriskt, alfanumeriskt, byte eller kanji. Kodaren omvandlar data till bitar, delar upp dem i kodord om 8 bitar och lägger till Reed–Solomon-kodord för felkorrigering på vald nivå. Därefter väljer den den minsta version som ryms.

Kodorden läggs in i rutnätet i en sicksackbana som hoppar över de fasta mönstren. Till sist tillämpar kodaren ett av åtta maskmönster för att bryta upp stora tomma ytor eller förvirrande former, och registrerar masken och felkorrigeringsnivån i formatinformationen.

  • Välj kodningsläge
  • Koda data och lägg till kodord för felkorrigering
  • Välj version (storlek)
  • Placera sök-, synkroniserings- och justeringsmönster
  • Fyll i datamodulerna
  • Tillämpa den bästa av åtta masker och skriv formatinformationen

Från kamerabild till data

Avkodningen utför samma steg i omvänd ordning. Skannern hittar de tre sökmönstren, vars förhållande 1:1:3:1:1 mellan mörkt och ljust sticker ut i de flesta bilder, och använder dem tillsammans med synkroniserings- och justeringsmönstren för att kartlägga rutnätet. Den läser formatinformationen, tar bort masken och samlar in kodorden.

Reed–Solomon-avkodningen rättar sedan de kodord som lästs fel, upp till gränsen för felkorrigeringsnivån. Om för mycket är skadat misslyckas läsningen i stället för att ge felaktiga data, och det är därför QR-koder sällan ger förvrängda resultat.

Varför storlek och kontrast spelar roll

Varje steg förutsätter att kameran kan skilja mörka moduler från ljusa. Små moduler, låg kontrast, reflexer, oskärpa eller en saknad tystzon gör fler moduler osäkra, och felkorrigeringen klarar bara att ta upp så mycket. Korta data, stark kontrast och fri marginal ger avkodaren det enklaste jobbet.

Vanliga frågor

Hur vet en mobil var QR-koden finns?

Den letar efter de tre stora kvadratiska sökmönstren i hörnen. Deras särpräglade förhållande 1:1:3:1:1 gör att skannern hittar dem i vilken vinkel som helst och kan räkna ut orienteringen.

Varför har QR-koder ett maskmönster?

Masken vänder moduler i ett bestämt mönster så att koden undviker stora enfärgade ytor och former som liknar sökmönster. Kodaren prövar alla åtta masker och behåller den som läses mest tillförlitligt.

Kan en QR-kod läsas upp och ned?

Ja. Sökmönstren talar om orienteringen för skannern, så en QR-kod kan läsas i vilken rotation som helst.

Källor och standarder

Alla begrepp