Szukaj Pokaż menu
Witaj nieznajomy(a) zaloguj się lub dołącz do nas
…NIECODZIENNIK SATYRYCZNO-PROWOKUJĄCY

Tajemnice kodów QR

37 105  
598   59  
Zastanawialiście się kiedyś, jak działają kody QR? To, że są skanowane przez aparaty naszych telefonów to dość oczywiste, ale jak są w nich zapisane informacje i w jaki sposób nasze telefony wiedzą, jak je odczytać? To bardziej skomplikowane, niż mogłoby się wydawać na pierwszy rzut oka.



Kod QR to skrót od Quick Response code i został wymyślony przez firmę współpracującą z Toyotą, która szukała sposobu na śledzenie położenia części samochodowych w magazynie. Dobrze nam znane kody paskowe okazały się niewystarczające – aby je odczytać, czytnik musi został przyłożony pod właściwym kątem, zawierają niewiele danych w stosunku do swojej powierzchni, a stosunkowo niewielkie uszkodzenie kodu powoduje, że staje się on nieczytelny. Kod QR rozwiązał te niedogodności i nie tylko...

Poniżej widzicie przykład zapisania adresu naszej strony w kodzie paskowym i kodzie QR.



To co jako pierwsze rzuca się w oczy w kodzie QR to trzy duże kwadraty, nazywamy je wzorami wyszukiwania (ang. finder patterns), pomagają one kamerze czy czytnikowi rozpoznać, że ma do czynienia z kodem QR i że powinien zacząć go interpretować. W czwartym narożniku znajduje się czwarty kwadrat, ale inny od pozostałych trzech – to wzór pozycji (ang. aligment pattern), który orientuje kod i mówi czytnikowi, jaka jest jego orientacja.




To były dość oczywiste elementy, teraz zrobi się trudniej, ale i dużo ciekawiej. Pewnie nigdy nie zwróciliście uwagi, ale kody posiadają dwie linie (pionową i poziomą) naprzemiennie umieszczonych białych i czarnych punktów – to wzór synchronizacji (ang. timing pattern). Te punkty mówią czytnikowi, jakiej wielkości modułów (poszczególnych punktów) powinien się spodziewać oraz jakiej wielkości będzie cały kod.




Wielkość całego kodu nazywamy wersją – wersja 1 jest najmniejsza, wersja 40 największa.




Informacje dotyczące formatu zapisane są w dwóch paskach położonych w pobliżu wzorów wyszukiwania. Informacje te są zdublowane, aby były dostępne nawet w sytuacji, kiedy tylko część kodu jest czytelna.




Informacje o formacie zawierają trzy kluczowe parametry: maskę, poziom korekcji błędów oraz format korekcji błędów.




Poziom korekcji błędów informuje, jak duża część powierzchni kodu zawiera właściwe dane, a jaka część zawiera dane korekcji błędów. Im więcej danych korekcji, tym bardziej może zostać uszkodzony kod i nadal będzie można go odczytać, więc jeśli planujesz wywiesić swój kod np. na wlepce na zewnątrz, lepiej zastosować wyższy poziom korekcji błędów.




Poniżej widzicie „uszkodzony” kod QR, a mimo to Wasz telefon będzie w stanie go odczytać.




Teraz robi się ciekawiej – co to jest ta tajemnicza maska? Czytniki kodów QR działają najlepiej, kiedy na obrazku znajduje się taka sama ilość koloru białego i czarnego, ale kodując pewne dane, moglibyśmy uzyskać nieregularne plamy bieli i czerni. Maska to naprawia. Na wygenerowany kod nakładana jest maska i wszystkie punkty, które znajdują się pod czarnymi obszarami maski, zostają odwrócone kolorystycznie – białe stają się czarne, a czarne stają się białe.




W kodach występuje 8 standardowych wzorów masek. Generator tworzący kod próbuje nałożyć je wszystkie i porównuje uzyskany rezultat, następnie wybiera najlepszy (najbardziej równomierne rozłożenie kolorów) i zapisuje w kodzie informację, którą maskę należy użyć, aby odczytać kod.






Dopiero teraz przechodzimy do właściwych danych. Dość nietypowo, ale dane rozpoczynają się w prawym dolnym rogu i są zapisywane (i odczytywane) w pionowych liniach. Pierwszy blok danych mówi czytnikowi, w jaki sposób zakodowano dane, a kolejny blok informuje, jakiej długości są dane. W przykładowym obrazku każdy znak zajmuje 8 bitów (czyli osiem punktów kodu) składających się na bajt, a całość informacji ma 24 bajty.






Całą pozostałą wolną przestrzeń zajmują dane korekcji błędów, dzięki którym można odczytać kod nawet kiedy jego część jest zasłonięta lub zniszczona. Korekcja błędów to obszerna dziedzina wiedzy, z której można by się doktoryzować, więc nie będziemy się tu zagłębiać w algorytmy korekcji.




A najlepsze jest to, że Denso Wave – firma, która opracowała standard kodów QR – nigdy nie ograniczyła dostępu do swojego patentu i zezwoliła na nieograniczone jego wykorzystanie.
1

Oglądany: 37105x | Komentarzy: 59 | Okejek: 598 osób

Dobra, dobra. Chwila. Chcesz sobie skomentować lub ocenić komentujących?

Zaloguj się lub zarejestruj jako nieustraszony bojownik walczący z powagą
Najpotworniejsze ostatnio
Najnowsze artykuły

18.04

17.04

Starsze historie

Sprawdź swoją wiedzę!
Jak to drzewiej bywało