QR Code

Z Wikipedii

Skocz do: nawigacji, szukaj
Alfabet w QR Code
Przykład kodu QR Code
Welcome to Wikipedia! - zakodowane w QR Code

QR Code (QR jest skrótem od ang. Quick Response) – alfanumeryczny dwuwymiarowy matrycowy kwadratowy kod kreskowy wynaleziony przez japońską firmę Denso-Wave w 1994 roku. Jest to kod modularny i stałowymiarowy. Umożliwia kodowanie znaków Kanji/Kana, stąd jest popularny w Japonii. Dodatkowo pozwala na zakodowanie znaków należących do alfabetu arabskiego, greckiego, hebrajskiego lub cyrylicy jak również innych symboli określonych przez użytkownika. Występuje w dwóch odmianach: podstawowej (Model 1) oraz rozszerzonej (Model 2), która pozwala zakodować do 7089 znaków numerycznych, 4296 alfanumerycznych, 1817 znaków Kanji albo 2953 ośmiobitowych danych binarnych (bajtów)[1]. Dopuszczalne wymiary kodu wynoszą 21x21 modułów do 177x177 modułów drobne (w sumie istnieje czterdzieści dopuszczalnych wielkości (wersji)). Specyfikacja dopuszcza połączenie do 16 kodów celem zapisania większej ilości informacji. Budowa kodu umożliwia jego umieszczenie i odczyt na przedmiotach szybkoprzemieszczających się względem skanera (np. na przenośnikach). Symbolika jest również stosowana w różnych aplikacjach niezwiązanych z transportem przesyłek. Analogicznie do Semakodu można ja stosować do zapisywania i umieszczania w różnych miejscach adresów URL, a następnie odczytywać przy pomocy odpowiednio oprogramowanych urządzeń przenośnych. Takie zastosowanie jest szczególnie popularne w Japonii.

Spis treści

[edytuj] Standardy

W październiku 1997 symbolika została włączona do Wykazu Ujednoliconych Symbolik (ang. USS - Unform Symbol Specyfications) przez organizację AIM (Global Trade Association of the Automatic Identification & Data Capture Industry) jako ISS - QR Code. W marcu 1998 japońska organizacja JEIDA (Japanese Electronic Industry Development Association) włączyła ją jako standard JEIDA-55. W styczniu 1999 została standardem JIS (Japanese Industrial Standards) – JIS X 0510. W czerwcu 2000 organizacja ISO włączyła ją jako standard ISO/IEC18004.

[edytuj] Budowa kodu

Kod kreskowy QR Code z zaznaczonymi miejscami szczególnymi

Modułem w kodzie jest kwadrat mogący przybierać jeden z dwóch kolorów (ciemny lub jasny). Większa ilość modułów tworzy tzw. słowa kodowe, w których zapisana jest informacja o poszczególnych znakach. Wymiar modułu nie jest ściśle określony i zależy od możliwości urządzeń odczytujących i zapisujących. W związku z tym również wymiary całego kodu są zmienne. Zależą one dodatkowo od wybranej wersji kodu, która jest zależna od przyjętego poziomu korekcji błędów oraz ilości zapisanych danych.

W kodzie wykorzystuje się wzór wyszukiwania pozwalający czytnikowi odnalezienie poszczególnych miejsc w kodzie, względem których odczytywana jest pozostała jego część. Wzór wyszukiwania składa się na trzy wzory pozycji (każdy stanowi kilkomodułowy ciemny kwadrat otoczony jasną ramką, która jest otoczona ciemną ramką), które dodatkowo są oddzielone od danych jasną ramką o szerokości jednego modułu (tzw. separatorem). Oznaczenia wzorów pozycji są umieszczone w trzech narożnikach kodu.

Dodatkowo w kodzie występuje tzw. wzór synchronizacji składający się na dwie linie o szerokości jednego modułu, z których jedna przebiega poziomo, a druga pionowo pomiędzy wzorami pozycji. Linie te zawierają na przemian ułożone ciemne i jasne kropki. Dzięki nim możliwe jest określenie wersji, gęstości kodu oraz współrzędnych poszczególnych danych w nim zapisanych.

Model 2 kodu zawiera dodatkowy wzór osiowy. Pojedynczy element wzoru osiowego składa się z czarnego modułu otoczonego białą ramką, która otoczona jest czarną ramką. Ilość elementów wzoru zależna jest od rozmiarów kodu. Model 1 kodu zawierał inne wzory, które zostały umieszczone z myślą o jego rozszerzeniu (nie zostały wykorzystane).

W części danych oprócz samych danych umieszczone są informacje o formacie i wersji kodu oraz dane niezbędne do działania mechanizmów korekcji błędów. Dookoła kodu wymagane jest stosowanie marginesu o szerokości co najmniej czterech modułów.

Inną cechą kodu jest tzw. mechanizm maskowania, który powoduje, że jasne i ciemne moduły są rozłożone w miarę równomiernie, co skutkuje zwiększeniem szybkości przetwarzania obrazów przez skanery.

[edytuj] Mechanizm korekcji błędów

Specyfikacja udostępnia cztery poziomy korekcji i odzyskiwania danych (algorytm Reed-Solomon):

  • L – umożliwiający odzyskanie około 7 procent uszkodzonych danych.
  • M – umożliwiający odzyskanie około 15 procent uszkodzonych danych.
  • Q – umożliwiający odzyskanie około 25 procent uszkodzonych danych.
  • H – umożliwiający odzyskanie około 30 procent uszkodzonych danych.

Poziom korekcji wpływa na ilość danych możliwych do zapisania przez kod o określonych wymiarach (o określonej wersji). Na przykład wersja 10 (o rozmiarach 57x57 modułów) dla poziomu korekcji L pozwala na zapisanie 652 cyfr, a dla poziomu H – 288 cyfr[2].

[edytuj] Zobacz też

[edytuj] Bibliografia

[edytuj] Linki zewnętrzne

[edytuj] Przypisy

  1. Denso Wave Incorporated - About 2D Code
  2. (en)Szczegółowa tabela podająca zależności pomiędzy rozmiarem kodu, poziomem korekcji błędów i ilością danych możliwych do zakodowania na stronie qrcode.com
Utwórz książkę