Kod QR

Z Wikipedii, wolnej encyklopedii

Kod QR (ang. Quick Response, szybka odpowiedź) – alfanumeryczny, dwuwymiarowy, matrycowy, kwadratowy kod graficzny, opracowany przez japońskie przedsiębiorstwo 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.

Alfabet w kodzie QR
Przykład kodu QR

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 coraz wyższa. Można się z nimi spotkać w coraz większej ilości miejsc, takich jak reklamy, strony internetowe, czy gry komputerowe.

Odmiany[edytuj | edytuj kod]

Ramka QR z płótnem w kształcie koła i logo Wikipedii

Kod QR 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)[1] lub 984 znaków UTF-8[2].

Dopuszczalne wymiary kodu wynoszą 21×21 modułów do 177×177 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. Uniform Symbol Specifications) przez organizację AIM Global (Association for Automatic Identification and Mobility) 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 Międzynarodowa Organizacja Normalizacyjna włączyła ją jako standard ISO/IEC18004.

Budowa kodu[edytuj | edytuj kod]

Kod QR 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 liczba 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ęść. Na wzór wyszukiwania składają się trzy wzory pozycji (każdy stanowi kilkumoduł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ę z dwóch linii 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 57×57 modułów) dla poziomu korekcji L pozwala na zapisanie 652 cyfr, a dla poziomu H – 288 cyfr[3].

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[4]. 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 od wersji 11 czytnik kodów QR jest wbudowany w systemową aplikację Aparat. W starszych systemach czytnik nie jest domyślnie obecny, ale w App Store jest dostępnych 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[edytuj | edytuj kod]

Bibliografia[edytuj | edytuj kod]

Linki zewnętrzne[edytuj | edytuj kod]