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ʻllanadi. 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ʻllanadi. 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ʻllanadi 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: 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 codice_1 codice_2, alfanumerik kodlash qoʻllanadi. 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ʻllanishini koʻrsatuvchi belgi boʻlib xizmat qiladi. U quyidagi maʼnolarga ega: 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 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ʻllanishi 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: 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ʻllanadi.