Rodzaje dwuwymiarowych kodów kreskowych. Różnica między piętrowymy i macierzowymi kodami 2D.
Historia wynalezienia kodów kreskowych 2D
Od wielu lat kody kreskowe służą jako identyfikatory różnych wyrobów i towarów, których dekodowanie wymaga specjalnych urządzeń – skanerów kodów kreskowych. W artykule poświęconym historii powstania kodu kreskowego opisaliśmy chronologię pojawienia się kodu nadającego się do odczytu maszynowego. Koncepcja automatycznej identyfikacji za pomocą kodów kreskowych polega na tym, że na opakowaniu/etykiecie produktu znajduje się unikalny numer, zakodowany w postaci czarno-białych pasków, który stanowi klucz do bazy danych zawierającej szczegółowe informacje o produkcie. Tak, z kodu kreskowego można się czegoś dowiedzieć, na przykład uzyskać dane o kraju pochodzenia. Możesz o tym przeczytać w naszym artykule z tabelą kodów kreskowych krajów. Na przykład, znając kod kreskowy Polski, a mianowicie pierwsze cyfry 590, można dowiedzieć się, że produkt został wyprodukowanyw Polsce.
Jednak ograniczenia dotyczące liniowych kodów kreskowych jako klucza do bazy danych i informacji o produkcie/przedmiocie mogą się różnić w zależności od firmy. Komunikację z magazynem danych w celu uzyskania szczegółowych informacji zapewnia czytnik kodów kreskowych. Jednak wielu użytkowników musiało zakodować większą ilość informacji. Potrzebowali kodu kreskowego, który by pełnił funkcję „mobilnej bazy danych”, a nie klucza do niej. Pomysł stworzenia mobilnej bazy danych zaczął się rozwijać już dawno temu.
Pierwszym krokiem w kierunku zmian były kody kreskowe Code 39 i Code 128. Wczesne kody kreskowe (podobnie jak większość kodów kreskowych nadal używanych do identyfikacji towarów) składały się wyłącznie z cyfr. Pierwszym krokiem w kierunku dwuwymiarowych kodów kreskowych był Code 39. Code 39 został opracowany przez Davida Allaya i Raya Stevensa z Intermec w 1974 roku. Różnica polegała na tym, że można go kodować zarówno cyframi, jak i literami, a także niektórymi symbolami.
Następnie kod został poprawiony i ulepszony, aby zmniejszyć obszar potrzebny do umieszczenia zakodowanych informacji. W 1981 roku firma Computer Identics Corporation stworzyła bardziej kompaktowy Code 128.
Pierwszy kod 2D i skaner od Intermec.
W 1988 roku Intermec Corp. tworzy pierwszy piętrowy kod kreskowy 2D, Code 49. Aby szybko odczytywać takie kody kreskowe firma Intermec wynalazła nowe dwuwymiarowe skanery kodów kreskowych.
Rodzaje kodów 2D
Dwuwymiarowe kody kreskowe 2D (Two-dimensional code lub 2D code) można podzielić na dwie klasy – piętrowe oraz macierzowe.
Stacked symbology
Symbolika wielorzędowa (multi-row symbology) lub piętrowa (stacked symbology) już sama nazwa dokładniej oddaje istotę szeregu liniowych (1D) kodów kreskowych umieszczonych jeden na drugim. Dane są kodowane jako wiele linii kresek i spacji o zmiennej szerokości. Niektóre przykłady popularnych typów kodów kreskowych 2D to PDF417, MicroPDF417, Codablock i GS1 DataBar.
Matrix code
Nazwa kod matrycowy (Matrix code) służy do oznaczenia kodów dwuwymiarowych opartych na położeniu czarnych kropek (elementów) wewnątrz matrycy w formie kwadratu lub prostokąta. Pole jest ograniczone liniami prostymi po obu stronach. Przestrzeń kodowa jest wypełniona naprzemiennymi modułami dwóch kolorów (przeważnie czarnego i białego).
Rodzaje kodów kreskowych. Jaka jest różnica między 1D a 2D?
Konwencjonalny liniowy kod kreskowy 1D charakteryzuje się „redundancjią pionową”, co oznacza, że te same informacje są powtarzane w pionie. Jest to prawdziwie jednowymiarowy kod kreskowy. Wysokość kreski można zmniejszyć bez utraty informacji. Jednakże redundancja pionowa pozwala kodowi kreskowemu z defektami druku (takimi jak plamy lub przerwy) zachować czytelność.
Kod dwuwymiarowy zawiera informacje zarówno w poziomie, jak i w pionie. Tak naprawdę każdy drukowany tekst jest odpowiednikiem dwuwymiarowego kodu. Ponieważ oba kierunki zawierają informacje, tracona jest możliwość wykorzystania redundancji pionowej. Aby zapobiec błędom odczytu i zapewnić szybkość odczytu, należy zastosować inną technologię. Walka z błędami jest zapewniona po prostu - większość kodów dwuwymiarowych wykorzystuje specjalne sumy kontrolne, które pozwalają zagwarantować ważność wprowadzonych informacji.
Historia rozwoju kodów kreskowych 2D
Początkowo opracowywano kody dwuwymiarowe do stosowania tam, gdzie nie ma wystarczającej ilości miejsca na umieszczenie konwencjonalnego kodu kreskowego. Pierwszym zastosowaniem takich symboli było pakowanie leków w służbie zdrowia. Opakowania te charakteryzują się niewielkimi rozmiarami i niewielką ilością miejsca na umieszczenie kodu kreskowego. Przemysł elektroniczny również wykazał zainteresowanie kodami o dużej gęstości i kodami dwuwymiarowymi ze względu na zmniejszenie rozmiarów komponentów i produktów. Później możliwość kodowania mobilnych baz danych sprawiła, że kody 2D stały się atrakcyjne w zastosowaniach, w których minimalizacja rozmiaru kodu nie była już głównym wymogiem. Na przykład zakodowanie imienia i nazwiska, adresu, nazwy firmy, linku do menu restauracji lub adresu strony internetowej firmy.
Obecnie opracowano ponad 20 różnych typów dwuwymiarowych kodów kreskowych. Najpopularniejsze kody to PDF417, QR code, Datamatrix, Aztec.
PDF417
Symbolika piętrowa PDF417 została wprowadzona w 1991 roku przez firmę Symbol Technologies (obecnie część Zebra Technologies). https://en.wikipedia.org/wiki/PDF417. PDF oznacza Portable Data File, symbol kodu kreskowego składający się z 17 modułów, każdy zawiera 4 kreski i spacje (stąd liczba 417). Struktura kodu umożliwia kodowanie maksymalnej liczby 1000 do 2000 symboli w jednym kodzie przy gęstości informacji od 100 do 340 symboli. Każdy kod zawiera początkowe i końcowe grupy kresek, które zwiększają wysokość kodu kreskowego. Kod PDF417 odczytywany jest za pomocą specjalnego skanera laserowego lub CCD. Do wydrukowania kodu należy używać drukarek o dobrej rozdzielczości (termotransferowe lub termiczne drukarki do etykiet). Micro PDF417 wywodzi się z kodu PDF417. Kod ma ograniczony zestaw rozmiarów znaków i stały poziom korekcji błędów dla każdego rozmiaru znaku.
Aztec Code
Aztec Code został wprowadzony przez Andy’ego Longacre’a w 1995 roku. Aztec Code został zaprojektowany tak, aby był łatwy do drukowania i łatwy do rozszyfrowania. Kod kreskowy to kwadratowa matryca z koncentrycznymi kwadratami pośrodku, które służą do określenia położenia kodu względem skanera i linijki pomiarowej wzdłuż krawędzi kodu. Najmniejszy kod kreskowy Aztec Code ma powierzchnię 15x15 modułów, największy - 151x151. Minimalny Aztec Code koduje 13 cyfr lub 12 liter, a maksymalny koduje 3832 cyfry, czyli 3067 liter, czyli 1914 bajtów danych. Oprócz danych można zakodować dwa znaki serwisowe. Symbole nie wymagają wolnej strefy wokół kodu kreskowego. Small Aztec Code to specjalna mobilna wersja Aztec Code do kodowania krótkich wiadomości (do 95 znaków).
Data Matrix
Kod z firmy ID Matrix, który pojawił się w 1987 roku, jest dwuwymiarowym kodem zaprojektowanym tak, aby pomieścić dużą ilość informacji na ograniczonej powierzchni. Kod kreskowy Data Matrix może przechowywać od jednego do 500 znaków. Kod można skalować od gęstości 1 milicala do obszaru 14 cali. Oznacza to, że kod Data Matrix ma teoretyczną maksymalną gęstość 500 milionów symboli na cal! W praktyce gęstość jest oczywiście ograniczona rozdzielczością urządzeń drukujących (drukarek etykiet) oraz możliwościami urządzeń odczytujących – skanerów kodów kreskowych i kolektorów danych. Kod ma kilka innych interesujących funkcji. Ponieważ informacja jest kodowana poprzez bezwzględne położenie elementu w kodzie, kod nie jest tak wrażliwy na wady druku jak tradycyjny kod kreskowy. Schemat kodowania charakteryzuje się wysokim stopniem redundancji, dane są rozproszone w obrębie symbolu kodu kreskowego. Pozwala to zachować czytelność kodu w przypadku jego częściowego uszkodzenia lub utraty części kodu. Każdy kod ma linijki pomiarowe, które wyglądają jak linia ciągła wzdłuż jednej krawędzi symbolu i równomiernie rozmieszczone kwadratowe kropki tego samego rozmiaru wzdłuż drugiej krawędzi. Linijki te służą do określenia orientacji i gęstości kodu. Istnieją dwa główne zestawy znaków. Wykorzystują kodowanie splotowe do korekcji błędów. Najbardziej popularne w przypadku Datamatrix jest etykietowanie małych elementów, takich jak komponenty elektroniczne i płytki drukowane urządzeń elektronicznych. Aplikacje te wykorzystują zdolność Datamatrix do pomieszczenia około 50 znaków w kodzie 3 mm oraz fakt, że kod można odczytać przy kontraście druku wynoszącym 20%.
QR code
QR code (Quick response code) — to dwuwymiarowy kod matrycowy do szybkiego odczytu, opracowany przez DENSO WAVE w 1994 roku. Został zarejestrowany w standardzie ITS AIMI w 1997 roku. Kod Micro QR został ustandaryzowany w 2004 roku. Najmniejszy element (czarny lub biały kwadrat) kodu QR nazywa się „modułem”. Kod QR składa się z kombinacji czarno-białych modułów, wzorców pozycji, wzorców czasu, informacji o formacie zawierających numery poziomów korekcji błędów i maski, obszaru danych oraz kodu korekcji błędów.
Pozycja kodu QR jest określana za pomocą wzorców pozycjonowania, które umożliwiają szybki odczyt. Szablony pozycjonowania znajdują się w trzech rogach kodów QR. (Micro QR ma jeden.)
Stosowanie kodów kreskowych 2D
Obecnie kod kreskowy PDF417 jest bardzo szeroko stosowany do kodowania informacji o alkoholach i wyrobach tytoniowych. Kod QR można odczytać na smartfonach i innych urządzeniach wyposażonych w aparat. Kody QR są powszechnie używane do udostępniania linków do stron internetowych, zwłaszcza z menu, danymi kontaktowymi lub dokonywaniem płatności. Skanując kod QR, klienci mogą przejść bezpośrednio do strony docelowej lub dokonać odprawy lub zarejestrować śię w lokalizacji, bez konieczności kontaktu z pracownikiem czy wzywania pomocy.
Liczba skanów kodów QR wzrosła o 57% na całym świecie, w 50 krajach o najwyższym współczynniku skanowania. Penetracja smartfonów powoduje gwałtowny wzrost skanowania kodów QR na całym świecie. Według Statisty w 2022 r. około 89 milionów użytkowników telefonów komórkowych w USA korzystało z kodów QR, co oznacza wzrost o 26% w porównaniu z 2020 r.
Źródła:
https://en.wikipedia.org/wiki/Code_39
https://www.stonybrook.edu/commcms/libspecial/collections/manuscripts/aidc/aidchistory_allais.pdf
https://www.encyclopedia.com/books/politics-and-business-magazines/intermec-technologies-corporation
https://www.amazon.com/Barcode-Paul-V-McEnroe-ebook/dp/B0CCY9L8ZH
https://www.referenceforbusiness.com/history/He-Ja/Intermec-Technologies-Corporation.html#b
https://www.denso-wave.com/en/technology/vol1.html
https://www.findlight.net/blog/technology-behind-barcode-scanners/