Od pewnego czasu w Internecie, na mieście i produktach konsumenckich
funkcjonują sympatycznie wyglądające, modularne kompozycje zbudowane z
czarnych i białych kwadracików. Wbrew pozorom (jeśli jeszcze ktoś tego
nie wie) nie jest to zabieg artystyczny mający na celu upiększanie
naszego otoczenia, ale sprytnie wymyślony przez Japończyków sposób
kodowania informacji.
Zadanie - rozwiąż kod, przeczytaj tekst. |
QR CODE (skrót od Quick Response) to alfanumeryczny, dwuwymiarowy,
matrycowy, kwadratowy kod kreskowy opracowany już w 1994 roku przez
firmę Denso-Wave. Pozwala on na zapisanie, często długich, tekstowych (a
i nie tylko) informacji w różnych językach. Począwszy od znaków Kanji, a
skończywszy na alfabecie łacińskim.
Budowa kodu
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ą. 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.
Mechanizm korekcji błędów
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.
Zastosowanie w mobilnych systemach
Z kodów QR można korzystać na mobilnych systemach takich jak Android przy użyciu dedykowanych oprogramowań (ZXing). Przeglądarka w Androidzie wspiera przekierowania url
co pozwala na przesyłanie kodom QR metadanych do znajdujących się na
urządzeniu aplikacji. 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 natywnie obecny, ale ponad pięćdziesiąt płatnych i
bezpłatnych aplikacji jest dostępnych w markecie, które potrafią zarówno
odczytywać kody QR jak i je tworzyć. W urządzenia 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 zapowiadają możliwość dekodowania kodów QR.
Aktualnie brak narzędzi dekodujących kody QR z plików graficznych lub
przy użyciu kamer internetowych dla MacOS lub Linuxa w wersji PC co
czyni ten standard kodów nieużytecznym do przechowywania danych.
Podparte wiadomościami z wiki i innych źródeł.
Brak komentarzy:
Prześlij komentarz