QR Code

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacja, szukaj
Alfabet w QR Code
Przykład kodu QR Code

QR Code (ang. Quick Response, QR: szybka odpowiedź) – alfanumeryczny, dwuwymiarowy, matrycowy, kwadratowy kod graficzny 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.

Charakterystyka[edytuj | edytuj kod]

Budowa kodu umożliwia jego umieszczenie i odczyt na przedmiotach szybko przemieszczają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 ją 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. W Polsce świadomość w zakresie techniki QR jest wciąż bardzo niska[1].

Odmiany[edytuj | edytuj kod]

QR Code 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, 2953 ośmiobitowych danych binarnych (bajtów)[2] lub 984 znaków UTF-8[3].

Dopuszczalne wymiary kodu wynoszą 21x21 modułów do 177x177 modułów. W sumie istnieje czterdzieści dopuszczalnych wielkości. Specyfikacja dopuszcza połączenie do 16 kodów celem zapisania większej ilości informacji.

Standardy[edytuj | edytuj kod]

W październiku 1997 symbolika została włączona do Wykazu Ujednoliconych Symboli (ang. USS – Uniform Symbol Specifications) 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.

Budowa kodu[edytuj | edytuj kod]

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 na 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ą. Liczba 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.

Mechanizm korekcji błędów[edytuj | edytuj kod]

Specyfikacja udostępnia cztery poziomy korekcji i odzyskiwania danych (algorytm Reeda-Solomona):

  • 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[4].

Obsługa przez oprogramowanie[edytuj | edytuj kod]

Z kodów QR można korzystać na mobilnych systemach przy użyciu wyspecjalizowanego oprogramowania. Android obsługuje przekierowania url co pozwala na przesyłanie kodom QR metadanych do znajdujących się na urządzeniu aplikacji [5]. System operacyjny Nokii Symbian wyposażony jest w skaner kodów kreskowych potrafiący czytać kody QR. Dla systemu Maemo czytnikiem kodów QR jest aplikacja mbarcode. W Apple iOS czytnik kodów QR nie jest domyślnie obecny, ale dostępnych w App Store jest wiele aplikacji, które potrafią zarówno odczytywać kody QR jak i je tworzyć. W urządzeniach BlackBerry, aplikacja App World potrafi odczytywać kody QR, rozpoznawać w nich adres WWW i wczytywać go w systemowej przeglądarce. Windows Phone 7.5 potrafi odczytywać kody QR i otwierać zawarty w nich adres WWW przy użyciu Bing Vision. Kody QR mogą być używane także na Nintendo 3DS.

W sieci znajduje się wiele stron, które zapewniają możliwość kodowania i dekodowania kodów QR.

Zobacz też[edytuj | edytuj kod]

Przypisy

Bibliografia[edytuj | edytuj kod]

Linki zewnętrzne[edytuj | edytuj kod]