QR-kod

QR-kodi ( — tezkor javob kodi; Abbreviatura: QR kod) — dastlab Yaponiyada avtomobil sanoati uchun ishlab chiqilgan matritsali shtrixkod (yoki ikki oʻlchovli shtrixkod) turidir. U Masahiro Xara tomonidan yaratilgan. Termin Denso soʻzidan olingan boʻlib, u Yaponiyada roʻyxatdan oʻtgan savdo brendlaridan biri hisoblanadi. Shtrixkod — biriktirilgan obyekt haqidagi maʼlumotlarni oʻz ichiga olgan, tegishli mashina oʻqiy oladigan optik yorliq sanaladi. QR-kodi maʼlumotlarni samarali saqlash uchun toʻrtta standartlashtirilgan kodlash tizimi (raqamli, alfanumerik, ikkilik va kanji)dan foydalanadi.

QR-kod tizimi tez va oson oʻqilishi va Universal Product Code kodlariga nisbatan yuqori sigʻimliligi tufayli avtomobil sanoatidan tashqarida ham keng ommalashgan. Bular jumlasiga, mahsulotni kuzatish, elementni identifikatsiya qilish, vaqtni kuzatish, hujjatlarni boshqarish va umumiy marketing kiradi.

QR-kod oq fonga toʻrtburchak joylashtirilgan qora kvadratli toʻrsimon shakllardan iborat boʻlib, ularni turli kamera qurilmalari orqali oʻqilishi va tasvir toʻgʻri aniqlanmaguncha  yordamida qayta ishlanishi mumkin. Soʻngra kerakli maʼlumotlar tasvirning gorizontal va vertikal qismlarida mavjud boʻlgan naqshlar yordamida chiqariladi.

Tavsif 
QR-kod yaratilmasdan oldin Denso zavodida komponentlarni skanerlash turli shtrix kodlari orqali amalga oshirilgan. Biroq, ularning soni 10 ga yaqin bo‘lganligi tufayli ish samaradorligi nihoyatda past bo‘lgan, oqibatda ishchilar tez charchayotganidan shikoyat qilishgan va oddiy shtrix-koddan ko‘ra ko‘proq maʼlumotni o‘z ichiga oladigan kod yaratishni so‘rashgan. Shundan soʻng Denso-Wave yuqori tezlikda komponentlarni skanerlashni yoʻlga qoʻyish uchun qoʻshimcha maʼlumotlarni oʻz ichiga oladigan kod yaratishga kirishdi. Bu borada Denso zavodining xodimi Masahiro Xara 1992-yildan yangi kodni ishlab chiqish ishlarini boshlab yuboradi. Masahiro Xara uchun QR-Kodni yaratish gʻoyasi tushlik payti ishxonada oʻynaladigan Go oʻyini jaroyonida tugʻilgan. Dizaynning maqsadi nafaqat kod maʼlumotlari miqdorini oshirish, balki „toʻgʻri va tez oʻqish“, uni yogʻli dogʻlar, kirlar va shikastlanishlarga chidamli qilish edi. QR-kod Yaponiyaning Denso-Wave kompaniyasi tomonidan 1994-yil ikki yillik tadqiqotlardan natijasida ommaga taqdim etilgan. U Kanban va Toyota ishlab chiqarish tizimi tomonidan avtomobil ehtiyot qismlari zavodlari va tarqatish markazlarida foydalanish uchun ishlab chiqilgan. Biroq, u yuqori darajadagi xatolarni aniqlash va tuzatish qobiliyatiga ega va ochiq manbali dasturda ishlab chiqarilganligi sababli, Toyota ishlab chiqarish taʼminot zanjirlarining tor doirasidan chiqib, boshqa sohalarda ham keng qoʻllanila boshlandi. Bu esa uning juda tez ommalashishiga olib keldi. QR-kod keyinchalik nafaqat Yaponiyada, balki butun dunyoda ham keng qoʻllanila boshlangan. Yaponiyada shtrix-kodlarning keng tarqalgani ulardagi shifrlangan maʼlumotlar miqdori tez orada sanoatga mos kelmay qolishiga olib keldi. Yaponlar grafik rasmli kichik hajmdagi maʼlumotlarni kodlashning yangi zamonaviy usullarini sinab koʻrish ishlarini boshlab yubordilar. QR-kodi dunyodagi eng koʻp ishlatiladigan 2D kod turlaridan biriga aylandi. QR-kodi spetsifikatsiyasi maʼlumotlar formatini tasvirlamaydi.

Yupqa nur bilan skanerlangan eski shtrix-koddan farqli oʻlaroq, QR-kodi sensor yoki kamera orqali ikki oʻlchamli tasvir sifatida aniqlanadi. Tasvirning burchaklaridagi uchta kvadrat va kod boʻylab kichikroq vaqt kvadratlari tasvir oʻlchami va yoʻnalishini normallashtirib turadi va nazorat oynasini tekshirish orqali ikkilik raqamlarga aylantiradi.

„QR-code“ belgisi DENSO korporatsiyasi tomonidan roʻyxatdan oʻtkazilgan savdo belgisi boʻlsa-da, kodlardan foydalanish uchun hech qanday royalti toʻlanmaydi va ISO standarti sifatida qabul qilinadi hamda nashr etiladi.

Eng koʻp QR-koddan foydalanvchilar quyidagi maʼlumotlar formatlarini qoʻllab-quvvatlaydi: URL, brauzer xatchoʻplari, Elektron pochta (mavzu qatori bilan), raqamga SMS (mavzu qatori bilan), MeCard, vCard, geografik koordinatalar va Wi-Fi tarmogʻiga ulanish uchun qoʻllaniladi.

Bundan tashqari, baʼzi dasturlar GIF, JPG, PNG yoki MID kabi formatlarda 4 KB dan kichik fayllarni va shifrlangan matnni taniy oladi, ammo bu formatlar keng ommalashmagan.

Ilova 
QR-kodlari Yaponiyada juda keng tarqalgan. 2000-yil boshida QR-kodlari mamlakatda shu qadar keng tarqaldiki, ularni koʻplab plakatlar, paketlar va tovarlarda uchratish mumkin edi. Yaponiyada bunday kodlar doʻkonlarda sotiladigan deyarli barcha tovarlarga qoʻllaniladi. Shu bilan birga ularda reklama bukletlari va maʼlumotnomalar joylashtiriladi. QR-kod yordamida yaponlar hatto turli tanlovlar va oʻyinlarni tashkil qilib kelishadi. Yaponiyaning yetakchi uyali aloqa operatorlari oʻzaro hamkorlikda QR-kodni aniqlash uchun o‘rnatilgan qo‘llab-quvvatlashga ega mobil telefonlarni o‘z brendi ostida ishlab chiqaradilar.

Hozirgi vaqtda QR-kodi boshqa Osiyo mamlakatlarida ham keng tarqalgan boʻlib, Yevropa va Shimoliy Amerikada ham ancha ommalashmoqda. U ayniqsa uyali aloqa foydalanuvchilari orasida katta eʼtirofga sazovor boʻldi. Bunda kerakli dasturni oʻrnatish orqali abonent oʻz telefoniga matnli maʼlumotlarni bir zumda kiritishi, Wi-Fi tarmogʻiga ulanishi, elektron pochta orqali xat yuborishi, manzillar kitobiga kontaktlarni qoʻshishi, veb-havolalar hamda SMS xabarlar yuborishi mumkin va h.k.

2011-yilda comScore tomonidan oʻtkazilgan tadqiqotlarga koʻra, 20 million AQSh fuqarosi QR-kodlarini skanerlash uchun mobil telefonlardan foydalanishgan.

Yaponiya, Avstriya va Rossiya qabristonlarida ham QR-kodlar qoʻllaniladi va ularda marhum haqidagi maʼlumotlar mavjud.

Xitoyning Xefey shahrida keksalarga QR-kodli nishonlar topshirilgan. Bu kabi QR-kodlar yordamida qariyalar adashib qolganlarida oʻz uylariga qaytishlari mumkin.

Emlanganlikni tasdiqlash uchun QR-kodlaridan foydalanish 
2021-yil bahorida COVID-19 ga qarshi ommaviy emlash boshlanishi bilan bir vaqtda dunyoning deyarli barcha mamlakatlarida emlash hujjatlari — raqamli yoki qog‘oz sertifikatlar shaklida chiqarila boshlandi va ularda maxsus QR-kodlar ham joylashtirildi. 2021-yil 9-noyabrga qadar Rossiya Federatsiyasining 77 ta subyektida emlash yoki kasallikni (COVID-19) tasdiqlovchi QR-kodlar joriy etildi. Tataristonda QR-kodlarining joriy etilishi metroga kirishda yo‘lovchilar va jamoat transporti konduktorlari o‘rtasida ko‘plab nizolarga sabab boʻldi.

Umumiy texnik maʼlumotlar 
Eng kichik QR-kodi (1-versiya) 21×21 piksel (chetidan tashqari), eng kattasi (40-versiya) 177×177 pikselni tashkil qiladi.

QR-kodlarining toʻrtta asosiy kodlash tizimi mavjud:

 Raqamli;
 Alfanumerik;
 Baytli;
 Kanji.

Bundan tashqari, „psevdo-kodlash“ ham mavjud: bunda maʼlumotlarda kodlash usulini koʻrsatish, uzun xabarni bir nechta kodlarga boʻlish va hokazo amallarni bajarish mumkin.

Kodda skanerni chalkashtirib yuboradigan elementlar yoʻqligi uchun maʼlumotlar maydoniga maxsus niqob bilan modul 2 qoʻshiladi. Toʻgʻri ishlaydigan enkoder barcha niqob variantlarini sinab koʻrishi, har biri uchun maxsus qoidalarga muvofiq jarima balllarini hisoblashi va eng muqobilini tanlashi kerak.

Mikro QR-kodi 

Alohida-alohida, sigʻimi 35 ta raqamgacha boʻlgan Mikro QR-kod mavjud.

QR-kodlaridagi xatolarni tuzatish darajasi Mikro QR-kodi toʻrtta versiyada keladi(M1-M4).

Maʼlumotlarni kodlash 
QR-kodida maʼlumotni kodlashning bir necha usullari mavjud boʻlib, maʼlum bir usulni tanlash qanday belgilar ishlatilishiga bogʻliq. Agar faqat 0 dan 9 gacha raqamlar ishlatilsa, raqamlarga qoʻshimcha ravishda lotin alifbosi, harflar, boʻsh joy va $%*±. /:, alfanumerik kodlash qoʻllaniladi. Bundan tashqari, xitoy va yapon belgilarni shifrlash uchun ishlatiladigan kanji kodlash va bayt kodlash turi ham mavjud. Har bir kodlash usulidan avval boʻsh bit ketma-ketligi yaratib olinadi, keyin esa u toʻldiriladi.

Raqamli kodlash 
Ushbu turdagi kodlash 3 ta belgi uchun 10 bitni talab qiladi. Belgilarning butun ketma-ketligi 3 ta raqamdan iborat guruhlarga boʻlinadi va har bir guruh (uch xonali son) 10 bitli ikkilik raqamga tarjima qilinadi va bit ketma-ketligiga qoʻshiladi. Agar belgilarning umumiy soni 3 karrali boʻlmasa va oxirida 2 ta belgi qolsa, hosil boʻlgan ikki xonali son 7 bit, agar 1 belgi boʻlsa, 4 bit bilan kodlanadi.

Misol uchun, kodlash kerak boʻlgan „12345678“ qatori mavjud. Ketma-ketlik raqamlarga boʻlinadi: 123, 456 va 78. Keyin har bir raqam ikkilik shaklga aylanadi: 0001111011, 0111001000, 1001110 va bir bitli oqimga birlashtiriladi: 0001111011011100110.

Alfanumerik kodlash 
Raqamli kodlashdan farqli oʻlaroq, 2 ta belgini kodlash uchun 11 bit maʼlumot talab qilinadi. Belgilar ketma-ketligi 2 guruhga boʻlinadi. Guruhda har bir belgi „Alfanumerik kodlashda belgilar qiymatlari“ jadvaliga muvofiq kodlanadi. Birinchi belgining qiymati 45 ga koʻpaytiriladi, keyin ikkinchi belgining qiymati ushbu mahsulotga qoʻshiladi. Olingan son 11 bitli ikkilik raqamga aylantiriladi va bitlar ketma-ketligiga qoʻshiladi. Agar oxirgi guruhda bitta belgi qolsa, uning qiymati 6 bitli raqam sifatida kodlanadi.

Namunaga qarang: „PROOF“.

Belgilar ketma-ketligini guruhlarga ajratiladi: PR, OO, F.

Har bir guruhga belgilar uchun mos qiymatlar topiladi (jadvalga qarang): PR — (25,27), OO — (24,24), F — (15).

Har bir guruh uchun qiymatlar topiladi: 25 × 45 + 27 = 1152, 24 × 45 + 24 = 1104, 15 = 15.

Har bir qiymat ikkilikga aylantiriladi: 1152 = 10010000000, 1104 = 10001010000.

Hosil boʻlgan ketma-ketlik: 1001000000010001010000001111.

Baytli kodlash 
Har qanday belgi baytli kodlanishi mumkin. Kirish belgilar oqimi har qanday kodlashda kodlanadi (UTF-8 da tavsiya etiladi), shundan soʻng ikkilik shaklga aylantiriladi va keyin bitta bit oqimiga birlashtiriladi.

Masalan, biz „Mir“ soʻzini Unicode (HEX) da UTF-8 da kodlaymiz: M — D09C; i — D0B8; p — D180. Biz har bir qiymatni ikkilik tizimga oʻtkazamiz: D0 = 11010000, 9C = 10011100, D0 = 11010000, B8 = 10111000, D1 = 11010001 va 80 = 10000000; bir bitli oqimga birlashtiramiz: 11010000 10011100 11010000 10111000 11010001 10000000.

Kanji 
Ierogliflarni (shuningdek, boshqa belgilarni) kodlash vizual tarzda idrok etilgan jadval yoki kodlari bilan ierogliflarning tasvirlari roʻyxatiga asoslanadi. Bunday jadval „character set“ deb ataladi. Yapon tili uchun ikkita belgilar jadvali asosiy ahamiyatga ega: JIS 0208:1997 va JIS 0212:1990. Ulardan ikkinchisi birinchisiga qoʻshimcha boʻlib xizmat qiladi. JIS 0208:1997 94 ta belgidan iborat 94 sahifaga boʻlingan. Masalan, 4-sahifa hiragana, 5-sahifa katakana, 7-sahifa kirill, 16—43 sahifa 1-darajali kanji va 48—83 sahifa 2-darajali kanji deb nomlanadi.

Xizmat maʼlumotlarini qoʻshish 
Kod versiyasi va kodlash aniqlagandan soʻng, xatolarni tuzatish darajasini aniqlash kerak. Jadvalda QR-kodining turli versiyalari uchun maksimal tuzatish darajalari koʻrsatilgan. Xatolarni tuzatish uchun 8 bitli kod soʻziga ega Reed-Solomon kodi ishlatiladi.

Jadval. Maʼlumotlarning maksimal miqdori.

Xatolarni tuzatish darajasi aniqlangandan soʻng, xizmat koʻrsatish maydonlarini qoʻshish kerak. Ular kodlash bosqichidan keyin olingan bit ketma-ketligidan oldin yoziladi hamda kodlash usuli va maʼlumotlar miqdorini koʻrsatadi. Kodlash usuli maydonining qiymati 4 bitdan iborat boʻlib, u oʻzgarmaydi. Lekin kodlash usuli qoʻllanilishini koʻrsatuvchi belgi boʻlib xizmat qiladi.

U quyidagi maʼnolarga ega:

 0001 raqamli kodlash uchun,
 0010 alfanumerik uchun
 0100 baytli uchun

Misol:

Oldingi bayt kodlash misolida „Mir“ soʻzi kodlangan boʻlib, natijada quyidagi ikkilik kodlar ketma-ketligi paydo boʻldi:

11010000 10011100 11010000 10111000 11010001 10000000, 48 bit maʼlumotni oʻz ichiga oladi.

Yoʻqolgan maʼlumotlarning 30% ini tiklashga imkon beruvchi xatolikni tuzatish darajasi H talab qilinsin. Jadvalga koʻra, QR-kodining optimal versiyasi maʼlumotlarning maksimal miqdoridan tanlanadi (bu holda, H xatolarni tuzatish darajasida 72 bit foydali maʼlumotlarni kodlash imkonini beruvchi 1-versiya hisoblanadi).

Kodlash usuli haqidagi maʼlumot: 0100 maydoni baytli kodlashga mos keladi.

Maʼlumotlar miqdorini koʻrsatish: bu ketma-ketlik 6 bayt maʼlumotni oʻz ichiga oladi.

Jadvalga koʻra, ikkilik raqamning kerakli uzunligi aniqlanadi — 8 bit. Yoʻqolgan nollar qoʻshiladi: 00000110.

Barcha maʼlumotlar <kodlash usuli> <maʻlumotlar miqdori> <maʻlumotlar> tartibida yoziladi, natijada bitlar ketma-ketligi hosil boʻladi:

0100 00000110 11010000 10011100 11010000 10111000 11010001 10000000.

Tuzatish baytlarini yaratish 
Jarayon Reed-Solomon algoritmiga asoslangan. U QR-kodidagi har bir maʼlumot blokiga qoʻllanilishi kerak. Avval yaratilishi kerak boʻlgan tuzatish baytlari soni aniqlanadi, soʻng esa bu maʼlumotlar asosida koʻphad avlod yaratiladi. Blokdagi tuzatish baytlari soni tanlangan kod versiyasi va xatolarni tuzatish darajasi bilan belgilanadi.

Quyidagi jadvalda koʻrishingiz mumkin:

Kod maydoniga maʼlumotlarni joylashtirish bosqichi 
QR-kodida majburiy maydonlar mavjudki, ular kodlangan maʼlumotni oʻz ichiga olmaydi, lekin dekodlash uchun maʼlumotlarni oʻz ichiga oladi.

Bu:

 qidiruv naqshlari
 Hizalama naqshlari
 Sinxronlash bantlari
 Niqob kodi va tuzatish darajasi
 Versiya kodi (7-versiyadan boshlab)

shuningdek, kod atrofida majburiy indent qoʻyish. Indent — oq modullar ramkasi, kengligi — 4 modul.

Qidiruv naqshlari — pastki oʻngdan tashqari burchaklardagi 3 kvadratdan iborat naqshlardir. Kodning joylashishini aniqlash uchun ishlatiladi. Ular 3x3 kvadrat qora modullardan iborat boʻlib, jami bu obyektlar 8×8 modul oʻlchamiga ega.

Hizalama naqshlari — ikkinchi versiyadan boshlab paydo boʻlib, kodni qoʻshimcha barqarorlashtirish hamda dekodlash paytida uni yanada aniqroq joylashtirish uchun ishlatiladi. Ular 1 ta qora moduldan iborat boʻlib, uning atrofida kengligi 1 boʻlgan oq modullar ramkasi, keyin esa qora modullarning yana bir ramkasiga ega. Hizalama naqshining umumiy oʻlchami 5x5. Hizalama naqshlari qidiruv naqshlari bilan bir-biriga mos kela olmaydi. Quyida markaziy qora modulning joylashuvi jadvali mavjud, u yerda gorizontal va vertikal boʻlishi mumkin boʻlgan koordinatalar raqamlari koʻrsatilgan.

Sinxronizatsiya chiziqlari — modullarning oʻlchamlarini aniqlash uchun ishlatiladi. Nivelirlash moduliga qatlam qoʻyilganda, u oʻzgarishsiz qolishi kerak. Sinxronizatsiya chiziqlari oʻzgaruvchan qora va oq modullar qatoriga oʻxshaydi.

Niqob va tuzatish darajasi kodi qidiruv naqshlari yonida joylashgan: yuqori oʻng tomonda (8 modul) va pastki oʻng tomonida (7 modul) va yuqori chap tomonda boʻsh joy bilan takrorlanadi. 7-hujayra — sinxronizatsiya chiziqlari ketadigan joy, bundan tashqari, gorizontal kod vertikal qismga, vertikal kod esa gorizontal qismga aloqasi bor.

Versiya kodi — kod versiyasini aniqlash uchun kerak. Ular yuqori chap tomonda va pastki chap tomonda joylashgan. Quyida kodlar jadvali mavjud, 1 — qora modul, 0 — oq.

Maʼlumotlarni kiritish 
Qolgan boʻsh joy 2 modul kengligidagi ustunlarga boʻlinadi va u yerda maʼlumotlar kiritiladi. Maʼlumotlarning birinchi biti pastki oʻng kvadratga, soʻng uning chap qoʻshnisiga, soʻngra birinchisidan yuqori boʻlganiga kiritiladi. Agar maʼlumot yetarli boʻlmasa, maydonlar shunchaki boʻsh qoladi (oq modullar). Bunday holda, har bir modulga niqob qoʻllaniladi.

Manbalar

Adabiyotlar 

 GOST R ISO/MEK 18004-2015 Informatsionnie texnologii. Texnologii avtomaticheskoy identifikatsii i sbora dannix. Spesifikatsiya simvoliki shtrixovogo koda QR Code.
 Bugaev L.. Mobilniy marketing. Kak zaryadit svoy biznes v mobilnom mire. M.: ISBN 978-5-9614-2222-1.

Havolalar 

  QR-kodam
Shtrixkodlar
Kodlash nazariyasi
Yapon brendlari
QR-kodi
Kodlar
Texnologiya