বাংলায় জানার নতুন ঠিকানা

কিউআর কোডের ছোট ছোট কালো বর্গের মধ্যে তথ্য লুকিয়ে থাকে কীভাবে? জানুন এর বিস্ময়কর প্রযুক্তি

  • Author: Admin
  • September 06, 2026
কিউআর কোডের ছোট ছোট কালো বর্গের মধ্যে তথ্য লুকিয়ে থাকে কীভাবে? জানুন এর বিস্ময়কর প্রযুক্তি
কালো-সাদা বর্গের ভেতরে লুকিয়ে থাকা ডিজিটাল তথ্যের বিজ্ঞান

কোনো দোকানে মূল্য পরিশোধ করতে, একটি ওয়েবসাইট খুলতে, রেস্তোরাঁর খাবারের তালিকা দেখতে কিংবা কোনো পণ্যের বিস্তারিত তথ্য জানতে এখন শুধু একটি বর্গাকার কালো-সাদা নকশার দিকে মুঠোফোনের ক্যামেরা ধরলেই চলে। বাইরে থেকে দেখলে কিউআর কোডকে এলোমেলোভাবে সাজানো অসংখ্য ছোট কালো ও সাদা বর্গের সমষ্টি বলে মনে হয়। কিন্তু এই আপাত বিশৃঙ্খলার ভেতরে রয়েছে অত্যন্ত সুশৃঙ্খল একটি তথ্যসংরক্ষণ ব্যবস্থা। প্রতিটি অংশের অবস্থান, রং এবং বিন্যাস নির্দিষ্ট নিয়ম অনুসরণ করে তৈরি হয়। কোথায় তথ্য থাকবে, কোথায় কোডের অবস্থান শনাক্ত করার চিহ্ন থাকবে, কোথায় ত্রুটি সংশোধনের তথ্য থাকবে—সবকিছুর জন্যই রয়েছে নির্দিষ্ট কাঠামো।

কিউআর কোডকে বোঝার সবচেয়ে সহজ উপায় হলো প্রথমে এটিকে ছোট ছোট ঘরের একটি বিশাল ছক হিসেবে কল্পনা করা। এই ক্ষুদ্র বর্গাকার ঘরগুলোকে সাধারণভাবে মডিউল বলা হয়। প্রতিটি ঘর কালো অথবা সাদা হতে পারে। ডিজিটাল যন্ত্র তথ্যকে মূলত দুই ধরনের অবস্থার মাধ্যমে প্রকাশ করতে পারে—শূন্য এবং এক। তাই কিউআর কোডের কালো ও সাদা ঘরের বিন্যাসকে নির্দিষ্ট নিয়ম অনুসারে দ্বিমিক তথ্যে রূপান্তর করা সম্ভব। তবে কালো মানেই সব ক্ষেত্রে সরাসরি এক এবং সাদা মানেই শূন্য—বিষয়টি এতটা সরল নয়। কারণ চূড়ান্ত কিউআর নকশায় তথ্যের ওপর একটি বিশেষ মুখোশ প্রয়োগ করা হয়। ফলে কোন ঘর থেকে শূন্য বা এক পাওয়া যাবে, তা নির্ধারণ করতে পাঠক যন্ত্রকে সেই মুখোশের নিয়মও জানতে হয়।

একটি কিউআর কোডের আকার সব সময় সমান নয়। সবচেয়ে ছোট প্রচলিত সংস্করণে এক পাশ বরাবর একুশটি করে মডিউল থাকে। অর্থাৎ পুরো ছকে একুশ গুণ একুশ ঘর থাকে। সংস্করণ যত বাড়তে থাকে, প্রতি ধাপে এক পাশের দৈর্ঘ্যে চারটি করে মডিউল যোগ হয়। সবচেয়ে বড় মানসম্মত সংস্করণে এক পাশ বরাবর একশ সাতাত্তরটি মডিউল থাকতে পারে। কিন্তু এই সব ঘর ব্যবহারকারীর মূল তথ্য বহন করে না। উল্লেখযোগ্য অংশ কোডের নিজস্ব কাঠামো, অবস্থান শনাক্তকরণ, সমন্বয়, সংস্করণ পরিচয় এবং ত্রুটি সংশোধনের কাজে ব্যবহৃত হয়।

কিউআর কোডের দিকে তাকালে প্রথমেই তিন কোণে তিনটি বড় কালো-সাদা বর্গাকার নকশা চোখে পড়ে। এগুলো তথ্যের অংশ নয়; এগুলো অবস্থান শনাক্তকারী চিহ্ন। মুঠোফোনের ক্যামেরা যখন কোনো কিউআর কোড দেখে, তখন এই তিনটি বিশেষ নকশা শনাক্ত করে বুঝতে পারে ছবিটির কোন অংশে কিউআর কোড রয়েছে এবং সেটি কোন দিকে ঘোরানো আছে। তিনটি কোণে চিহ্ন থাকার কারণে কোডটি সোজা, কাত হয়ে কিংবা উল্টো অবস্থায় থাকলেও পাঠক ব্যবস্থা তার অভিমুখ নির্ধারণ করতে পারে।

এই বড় বর্গগুলোর নকশাও ইচ্ছামতো তৈরি নয়। কেন্দ্র থেকে বাইরের দিকে কালো ও সাদা অঞ্চলের নির্দিষ্ট অনুপাত থাকার কারণে ছবি বিশ্লেষণকারী ব্যবস্থা এগুলোকে সাধারণ লেখা, ছবি বা অন্যান্য বর্গাকার নকশা থেকে আলাদা করতে পারে। ক্যামেরার ছবির মধ্যে এমন বৈশিষ্ট্য পাওয়ার পর সম্ভাব্য তিনটি অবস্থান শনাক্তকারী চিহ্নের পারস্পরিক অবস্থান পরীক্ষা করা হয়। সেগুলো সঠিক জ্যামিতিক সম্পর্ক তৈরি করলে যন্ত্র ধরে নিতে পারে যে এখানে একটি কিউআর কোড থাকার সম্ভাবনা অত্যন্ত বেশি।

কিউআর কোডের চারপাশে সাধারণত একটি খালি সাদা অঞ্চল রাখা হয়। এটি নিছক সৌন্দর্যের জন্য নয়। এই অঞ্চল কোডটিকে আশপাশের লেখা, ছবি বা অন্য নকশা থেকে আলাদা করে। ফলে পাঠক ব্যবস্থা কোথায় কিউআর কোডের সীমানা শেষ হয়েছে তা সহজে বুঝতে পারে। চারপাশের এই ফাঁকা অঞ্চল যথেষ্ট না থাকলে কিংবা এর ওপর অন্য কোনো নকশা চলে এলে কিছু পাঠক যন্ত্রের পক্ষে কোড শনাক্ত করা কঠিন হতে পারে।

তিনটি বড় অবস্থান চিহ্নের পাশাপাশি কিউআর কোডে আরও কিছু কাঠামোগত নকশা থাকে। এর মধ্যে রয়েছে সময় নির্ধারণকারী বিন্যাস। সাধারণত পালাক্রমে কালো ও সাদা মডিউলের একটি রেখা দুই দিক বরাবর বিস্তৃত থাকে। এর সাহায্যে পাঠক ব্যবস্থা প্রতিটি মডিউলের আকার এবং ছকের ঘরগুলোর সঠিক অবস্থান নির্ধারণ করতে পারে। ক্যামেরায় তোলা ছবিতে একটি কিউআর কোড হয়তো একেবারে সোজা থাকবে না; সেটি দূরে, কাত হয়ে কিংবা সামান্য বিকৃত অবস্থায় থাকতে পারে। এই কাঠামোগত সংকেতগুলো সেই বিকৃত ছবিকে যৌক্তিক ছকে ফিরিয়ে আনতে সাহায্য করে।

বড় আকারের কিউআর কোডে অতিরিক্ত সমন্বয় চিহ্নও থাকে। এগুলো ছোট লক্ষ্যবস্তুর মতো বর্গাকার নকশা। কাগজ বাঁকা হয়ে গেলে, কোনো বোতল বা বাক্সের বক্র পৃষ্ঠে কোড ছাপা হলে অথবা ক্যামেরার দৃষ্টিকোণের কারণে নকশাটি বিকৃত দেখালে এই সমন্বয় চিহ্নগুলো বিশেষভাবে গুরুত্বপূর্ণ হয়ে ওঠে। পাঠক ব্যবস্থা এগুলোর পরিচিত অবস্থান ব্যবহার করে ছবির জ্যামিতিক বিকৃতি হিসাব করে প্রকৃত ছক পুনর্গঠন করতে পারে।

এবার প্রশ্ন হলো, একটি লেখা বা ওয়েব ঠিকানা কীভাবে এই ছকের মধ্যে ঢোকে? ধরুন একটি নির্দিষ্ট লেখা কিউআর কোডে সংরক্ষণ করা হবে। প্রথমে নির্মাতা ব্যবস্থা নির্ধারণ করে তথ্যটি কোন ধরনের। শুধু সংখ্যা থাকলে এক ধরনের সংকোচন পদ্ধতি ব্যবহার করা যায়, সংখ্যা ও নির্দিষ্ট ইংরেজি অক্ষরের সমন্বয় হলে আরেক ধরনের পদ্ধতি কার্যকর হতে পারে, আবার সাধারণ বাইটভিত্তিক তথ্যের জন্য আলাদা সংকেতায়ন ব্যবহৃত হয়। উদ্দেশ্য হলো যত কম দ্বিমিক অঙ্ক ব্যবহার করে সম্ভব তথ্যটিকে প্রকাশ করা।

তথ্যের শুরুতেই সাধারণত একটি মোড নির্দেশক রাখা হয়। এটি পরবর্তী অংশের তথ্য কীভাবে ব্যাখ্যা করতে হবে তা পাঠককে জানায়। এরপর থাকে কতটি অক্ষর বা তথ্য একক রয়েছে তার নির্দেশনা। তারপর প্রকৃত তথ্যকে নির্দিষ্ট নিয়মে দ্বিমিক অঙ্কে রূপান্তর করা হয়। অর্থাৎ কিউআর কোডের ভেতরে শুধু মূল লেখাই থাকে না; সেই লেখাকে কীভাবে পড়তে হবে তার নির্দেশনাও সঙ্গে সংরক্ষিত থাকে।

শুধু সংখ্যার উদাহরণ ধরলে বিষয়টি আরও পরিষ্কার হয়। সংখ্যাগুলোকে একটির পর একটি আলাদা অক্ষর হিসেবে সংরক্ষণ না করে কয়েকটি সংখ্যা একসঙ্গে নিয়ে একটি মান হিসেবে দ্বিমিক রূপ দেওয়া যায়। এতে জায়গা সাশ্রয় হয়। একইভাবে সীমিত অক্ষরসমষ্টি ব্যবহার করা তথ্যের জন্যও তুলনামূলক দক্ষ সংকেতায়ন সম্ভব। কিন্তু যেসব তথ্যের অক্ষরসম্ভার অনেক বড়, সেগুলোর জন্য বেশি নমনীয় পদ্ধতির প্রয়োজন হয়। তাই একই দৈর্ঘ্যের দুটি দৃশ্যমান লেখা কিউআর কোডে সব সময় সমান জায়গা নাও নিতে পারে।

মূল তথ্যকে দ্বিমিক ধারায় রূপান্তর করার পরও কাজ শেষ হয় না। প্রয়োজন অনুযায়ী সমাপ্তি নির্দেশক এবং অতিরিক্ত পূরণকারী অঙ্ক যোগ করা হয়, যাতে তথ্য নির্ধারিত ধারণক্ষমতার সঙ্গে সামঞ্জস্যপূর্ণ হয়। এরপর তথ্যকে নির্দিষ্ট দৈর্ঘ্যের শব্দ বা অংশে ভাগ করা হয়। এই ধাপটি গুরুত্বপূর্ণ, কারণ পরবর্তী ত্রুটি সংশোধন প্রক্রিয়া এই তথ্যখণ্ডগুলোর ওপর কাজ করবে।

কিউআর কোডের সবচেয়ে অসাধারণ বৈশিষ্ট্যগুলোর একটি হলো ত্রুটি সংশোধন। কোডের সামান্য অংশ নষ্ট, ময়লা, আঁচড়যুক্ত বা আংশিক ঢাকা থাকলেও অনেক ক্ষেত্রে সেটি পড়া যায়। কারণ মূল তথ্যের পাশাপাশি অতিরিক্ত সংশোধনী তথ্যও সংরক্ষণ করা হয়। এর জন্য রিড–সলোমন নামে পরিচিত একটি গাণিতিক ত্রুটি সংশোধন কৌশল ব্যবহৃত হয়। এই পদ্ধতিতে মূল তথ্য থেকে অতিরিক্ত সংশোধনী সংকেত তৈরি করা হয়। পরে কিছু অংশ ভুলভাবে পড়া বা হারিয়ে গেলেও অবশিষ্ট তথ্য ও সংশোধনী অংশ ব্যবহার করে অনেক ত্রুটি শনাক্ত এবং সংশোধন করা সম্ভব হয়।

এখানে একটি গুরুত্বপূর্ণ বিষয় হলো, কিউআর কোড নষ্ট হয়ে গেলেই যন্ত্র ছবির অনুপস্থিত অংশকে আন্দাজ করে বসে না। বরং আগে থেকেই যোগ করা গাণিতিক অতিরিক্ত তথ্য ব্যবহার করে হারিয়ে যাওয়া বা ভুল তথ্য পুনর্গঠনের চেষ্টা করে। তাই ত্রুটি সহনশীলতা আসলে পরিকল্পিত অতিরিক্ততার ফল। যত বেশি ত্রুটি সংশোধনের ক্ষমতা রাখা হয়, মূল তথ্যের জন্য তত কম জায়গা অবশিষ্ট থাকে। অর্থাৎ নির্ভরযোগ্যতা এবং ধারণক্ষমতার মধ্যে একটি বাস্তব সমঝোতা রয়েছে।

কিউআর কোডে সাধারণভাবে চারটি ত্রুটি সংশোধন স্তর ব্যবহার করা যায়। নিম্ন স্তরে মূল তথ্য রাখার জায়গা বেশি পাওয়া যায়, কিন্তু ক্ষতি সহ্য করার ক্ষমতা তুলনামূলক কম। উচ্চ স্তরে সংশোধনী তথ্য বেশি রাখা হয়, ফলে কোডের বড় অংশ ক্ষতিগ্রস্ত হলেও তথ্য উদ্ধারের সম্ভাবনা বাড়ে। বহুল প্রচলিত একটি সরল ব্যাখ্যায় বিভিন্ন স্তরকে আনুমানিক সাত, পনেরো, পঁচিশ এবং ত্রিশ শতাংশ পর্যন্ত ক্ষতি সামলানোর সক্ষমতার সঙ্গে তুলনা করা হয়। তবে এগুলোকে ছবির ঠিক ওই শতাংশ অংশ যেকোনোভাবে ঢেকে দিলেও অবশ্যই পড়বে—এমন নিশ্চয়তা হিসেবে দেখা ঠিক নয়। ক্ষতি কোথায় হয়েছে এবং কোন গুরুত্বপূর্ণ কাঠামো আক্রান্ত হয়েছে, তার ওপর ফল নির্ভর করে।

তথ্য ও ত্রুটি সংশোধনী অংশ প্রস্তুত হওয়ার পর এগুলো নির্দিষ্ট নিয়মে পরস্পরের সঙ্গে বিন্যস্ত করা হয়। এরপর কিউআর ছকের যেসব ঘর অবস্থান চিহ্ন, সময় নির্ধারণকারী নকশা, সমন্বয় চিহ্ন এবং অন্যান্য কাঠামোগত কাজের জন্য সংরক্ষিত নয়, সেসব স্থানে তথ্য বসানো শুরু হয়। তথ্য সাধারণত নিচের ডান অংশের কাছাকাছি থেকে দুই ঘর চওড়া উল্লম্ব পথে ওপর-নিচে আঁকাবাঁকা গতিতে বসতে থাকে। কোনো সংরক্ষিত অংশ সামনে পড়লে সেটিকে এড়িয়ে পরবর্তী উপযুক্ত ঘরে তথ্য বসানো হয়। ফলে বাইরে থেকে নকশাটি এলোমেলো মনে হলেও প্রতিটি তথ্যবাহী ঘরের অবস্থান কঠোর নিয়মে নির্ধারিত।

কিন্তু সরাসরি তথ্য বসিয়ে দিলেই একটি সমস্যা দেখা দিতে পারে। কোনো তথ্যের দ্বিমিক বিন্যাসের কারণে যদি বিশাল কালো অঞ্চল, দীর্ঘ কালো-সাদা রেখা বা অবস্থান শনাক্তকারী চিহ্নের মতো বিভ্রান্তিকর নকশা তৈরি হয়, তাহলে ক্যামেরার পক্ষে কোড পড়া কঠিন হতে পারে। এই সমস্যা কমাতে কিউআর কোডে মুখোশ প্রয়োগ করা হয়। কয়েকটি পূর্বনির্ধারিত মুখোশের নিয়ম সম্ভাব্য নকশার ওপর পরীক্ষা করা হয় এবং কোনটি সবচেয়ে পাঠযোগ্য বিন্যাস তৈরি করে তা নির্বাচন করা হয়।

মুখোশ মূল তথ্য ধ্বংস করে না। এটি নির্দিষ্ট গাণিতিক নিয়ম অনুযায়ী কিছু তথ্যবাহী ঘরের অবস্থা উল্টে দেয়। যেখানে নিয়ম প্রযোজ্য, সেখানে কালো সাদা বা সাদা কালো হতে পারে। পাঠক যন্ত্র কোডের ভেতর সংরক্ষিত বিন্যাসসংক্রান্ত তথ্য থেকে জানতে পারে কোন মুখোশ ব্যবহৃত হয়েছে। এরপর বিপরীত প্রক্রিয়া চালিয়ে মূল দ্বিমিক তথ্য ফিরিয়ে আনে। এই কারণেই দৃশ্যমান কালো ও সাদা বর্গকে সরাসরি এক ও শূন্য হিসেবে পড়ে ফেললেই সঠিক বার্তা পাওয়া যায় না।

কিউআর কোডে বিন্যাসসংক্রান্ত আলাদা তথ্যও থাকে। সেখানে ত্রুটি সংশোধনের স্তর এবং ব্যবহৃত মুখোশ সম্পর্কে সংকেত সংরক্ষিত হয়। বড় সংস্করণের কোডে সংস্করণ সম্পর্কিত অতিরিক্ত তথ্যও রাখা হয়। অর্থাৎ পাঠককে কেবল মূল তথ্য দেওয়া হয় না; পুরো ছকটি কীভাবে ব্যাখ্যা করতে হবে তার জন্য প্রয়োজনীয় নির্দেশনাও একই কোডের মধ্যে অন্তর্ভুক্ত থাকে।

এখন ধরা যাক, আপনি মুঠোফোনের ক্যামেরা দিয়ে একটি কিউআর কোডের দিকে তাকালেন। প্রথমে ক্যামেরা একটি ছবি সংগ্রহ করে। সফটওয়্যার ছবির উজ্জ্বলতা ও বৈপরীত্য বিশ্লেষণ করে সম্ভাব্য কালো-সাদা অঞ্চল আলাদা করার চেষ্টা করে। তারপর অবস্থান শনাক্তকারী তিনটি বড় নকশা খোঁজা হয়। সেগুলো পাওয়া গেলে তাদের অবস্থান থেকে কোডের সীমানা, ঘূর্ণন এবং সম্ভাব্য দৃষ্টিকোণ নির্ণয় করা হয়।

এরপর ছবিটি জ্যামিতিকভাবে সংশোধন করা হয়। বাস্তবে ক্যামেরা হয়তো কোডটির ঠিক সামনে ছিল না। ফলে ছবিতে একটি নিখুঁত বর্গ ট্রাপিজিয়ামের মতো দেখাতে পারে। পাঠক ব্যবস্থা এই দৃষ্টিকোণজনিত বিকৃতি সংশোধন করে এমন একটি ভার্চুয়াল ছক তৈরি করে, যেখানে প্রতিটি মডিউলের কেন্দ্রের নমুনা নেওয়া সম্ভব। তখন কোন ঘর কালো এবং কোনটি সাদা তা অনেক বেশি নির্ভুলভাবে নির্ধারণ করা যায়।

এরপর সময় নির্ধারণকারী নকশা, সমন্বয় চিহ্ন এবং অন্যান্য কাঠামো ব্যবহার করে ছকের মাপ ও বিন্যাস নিশ্চিত করা হয়। বিন্যাস তথ্য পড়ে ত্রুটি সংশোধনের স্তর এবং মুখোশ জানা যায়। মুখোশ সরানোর পর তথ্যবাহী ঘরগুলো থেকে দ্বিমিক অঙ্ক নির্ধারিত ক্রমে সংগ্রহ করা হয়। সেগুলোকে আবার তথ্যখণ্ডে সাজিয়ে ত্রুটি সংশোধন প্রক্রিয়ার মধ্য দিয়ে নেওয়া হয়। কোনো অংশ ভুল পড়া হয়ে থাকলে এবং সংশোধনসীমার মধ্যে থাকলে তা ঠিক করার চেষ্টা করা হয়।

এরপর মোড নির্দেশক দেখে বোঝা যায় তথ্যটি কীভাবে ব্যাখ্যা করতে হবে। অক্ষরসংখ্যা সম্পর্কিত অংশ পড়ে তথ্যের দৈর্ঘ্য জানা যায়। তারপর দ্বিমিক তথ্যকে আবার সংখ্যা, অক্ষর বা বাইটভিত্তিক তথ্যে রূপান্তর করা হয়। সবকিছু ঠিক থাকলে কয়েক মুহূর্ত আগের আপাত অর্থহীন কালো-সাদা নকশা থেকে একটি ওয়েব ঠিকানা, পরিচিতি, বার্তা, সংযোগসংক্রান্ত তথ্য কিংবা অন্য কোনো ডিজিটাল তথ্য বেরিয়ে আসে।

এই প্রক্রিয়ার একটি গুরুত্বপূর্ণ দিক হলো কিউআর কোড নিজে কোনো ওয়েবসাইটের সঙ্গে যোগাযোগ করে তথ্য এনে দেয় না। সাধারণ কিউআর কোড মূলত তথ্য বহন করে। যদি তার মধ্যে একটি ওয়েব ঠিকানা রাখা থাকে, স্ক্যান করার পর মুঠোফোন সেই ঠিকানা শনাক্ত করে এবং ব্যবহারকারী অনুমতি দিলে অন্তর্জালের মাধ্যমে সংশ্লিষ্ট পাতায় যেতে পারে। ফলে কিউআর কোডে পুরো একটি ওয়েবসাইট থাকে না; সাধারণত থাকে সেই ওয়েবসাইটে পৌঁছানোর ঠিকানা।

একইভাবে মূল্য পরিশোধের কিউআর কোডেও দৃশ্যমান বর্গগুলোর মধ্যে সরাসরি অর্থ থাকে না। সেখানে নির্দিষ্ট নিয়মে সাজানো এমন তথ্য থাকতে পারে যা একটি অর্থপ্রদানকারী অ্যাপকে বলে দেয় কোন হিসাব, প্রতিষ্ঠান বা লেনদেনসংক্রান্ত পরিচয়ের সঙ্গে কাজ করতে হবে। প্রকৃত অর্থ স্থানান্তর পরে সংশ্লিষ্ট আর্থিক ব্যবস্থার মাধ্যমে সম্পন্ন হয়। কিউআর কোড এখানে তথ্য আদান-প্রদানের দ্রুত মাধ্যম হিসেবে কাজ করে।

কিউআর কোডের ধারণক্ষমতাও সীমাহীন নয়। কী ধরনের তথ্য রাখা হচ্ছে, কোন সংস্করণ ব্যবহার করা হচ্ছে এবং কত উচ্চ ত্রুটি সংশোধন স্তর নির্বাচন করা হয়েছে—এসবের ওপর ধারণক্ষমতা নির্ভর করে। শুধু সংখ্যা হলে সর্বোচ্চ আকারের মানসম্মত কিউআর কোডে সাত হাজারের বেশি অঙ্ক রাখা সম্ভব। অক্ষরভিত্তিক বা বাইটভিত্তিক তথ্যের ক্ষেত্রে ধারণক্ষমতা কমে যায়। আবার উচ্চ ত্রুটি সংশোধন স্তর নির্বাচন করলে সংশোধনী তথ্য বেশি জায়গা নেয় বলে মূল তথ্যের ধারণক্ষমতাও কমে।

এই সীমাবদ্ধতার কারণেই অত্যন্ত বড় নথি বা ছবি সরাসরি কিউআর কোডে রাখা সাধারণত ব্যবহারিক নয়। বরং অনলাইনে সংরক্ষিত তথ্যের একটি ছোট ঠিকানা কিউআর কোডে রাখা অনেক বেশি কার্যকর। এতে কোডটি ছোট ও তুলনামূলক সহজ থাকে এবং দ্রুত পড়া যায়। এমনকি একই কিউআর কোড রেখে অনলাইনের গন্তব্য পরিবর্তনের সুবিধা দিতে অনেক সেবা মধ্যবর্তী পুনর্নির্দেশ ব্যবস্থাও ব্যবহার করে। তখন দৃশ্যমান কিউআর কোড অপরিবর্তিত থাকলেও শেষ পর্যন্ত ব্যবহারকারীকে কোথায় পাঠানো হবে তা সার্ভারপক্ষ থেকে বদলানো সম্ভব।

কালো বর্গগুলোর আকারও বাস্তবে গুরুত্বপূর্ণ। খুব ছোট করে ছাপা হলে ক্যামেরা আলাদা মডিউল নির্ভুলভাবে শনাক্ত করতে পারে না। আবার নিম্নমানের ছাপা, অতিরিক্ত ঝাপসা ছবি, দুর্বল বৈপরীত্য, প্রতিফলিত পৃষ্ঠ বা অস্বাভাবিক রঙ ব্যবহার করলে পাঠযোগ্যতা কমতে পারে। কালো ও সাদা ব্যবহার বাধ্যতামূলক না হলেও পটভূমি এবং তথ্যবাহী মডিউলের মধ্যে যথেষ্ট বৈপরীত্য থাকা জরুরি। বিশেষ করে অবস্থান শনাক্তকারী নকশাগুলো স্পষ্ট থাকা দরকার।

অনেক সময় কিউআর কোডের মাঝখানে প্রতিষ্ঠানের প্রতীক বা ছোট ছবি বসানো হয়। এটি সম্ভব হওয়ার একটি প্রধান কারণ ত্রুটি সংশোধন ব্যবস্থা। মাঝের কিছু তথ্যবাহী ঘর ঢেকে গেলেও পর্যাপ্ত সংশোধনী তথ্য থাকলে পাঠক ব্যবস্থা মূল তথ্য উদ্ধার করতে পারে। কিন্তু এরও সীমা রয়েছে। খুব বড় প্রতীক বসালে, গুরুত্বপূর্ণ অবস্থান চিহ্ন ঢেকে ফেললে অথবা ত্রুটি সংশোধনের সক্ষমতার তুলনায় বেশি তথ্য নষ্ট করলে কোডটি আর পড়া যাবে না। তাই নকশার সৌন্দর্য বাড়ানোর সময় পাঠযোগ্যতার প্রকৌশলগত সীমা মানা জরুরি।

আরেকটি আকর্ষণীয় বিষয় হলো, একই তথ্য থেকে তৈরি সব কিউআর কোড দেখতে সব সময় একেবারে একই রকম নাও হতে পারে। কোন সংস্করণ বেছে নেওয়া হয়েছে, কোন ত্রুটি সংশোধন স্তর ব্যবহৃত হয়েছে, তথ্য কীভাবে সংকেতায়িত হয়েছে এবং কোন মুখোশ নির্বাচিত হয়েছে—এসব সিদ্ধান্তের কারণে দৃশ্যমান নকশায় পার্থক্য তৈরি হতে পারে। অর্থাৎ দৃশ্যমান বর্গগুলোর বিন্যাস তথ্যের পাশাপাশি নির্মাণপদ্ধতির সিদ্ধান্তও বহন করে।

কিউআর কোডকে তাই শুধু কালো ও সাদা বর্গে লেখা একটি বার্তা ভাবলে এর প্রকৃত প্রকৌশল বোঝা যায় না। এটি একই সঙ্গে তথ্য সংকেতায়ন, দ্বিমিক উপস্থাপন, জ্যামিতিক অবস্থান শনাক্তকরণ, দৃষ্টিকোণ সংশোধন, ত্রুটি নিয়ন্ত্রণ এবং ছবি বিশ্লেষণের সমন্বিত ব্যবস্থা। একটি ছোট বর্গাকার নকশা যেন পাঠক যন্ত্রকে ধাপে ধাপে বলে দেয়—আমাকে কোথায় খুঁজবে, আমি কোন দিকে আছি, আমার ঘরগুলো কত বড়, কোন অংশ তথ্য, কোন মুখোশ ব্যবহার করা হয়েছে, কতটা ত্রুটি সংশোধন করতে হবে এবং শেষ পর্যন্ত তথ্যকে কীভাবে অর্থপূর্ণ রূপে ফিরিয়ে আনতে হবে।

সবচেয়ে বিস্ময়কর ব্যাপার হলো, এই পুরো প্রক্রিয়া সাধারণত আমাদের চোখের সামনে এক সেকেন্ডেরও কম সময়ে ঘটে যায়। আমরা ক্যামেরা ধরার পর শুধু একটি ঠিকানা বা বার্তা ভেসে উঠতে দেখি। কিন্তু এর পেছনে ক্যামেরার ছবি বিশ্লেষণ, বিশেষ নকশা শনাক্তকরণ, জ্যামিতিক সংশোধন, মডিউল নমুনা গ্রহণ, মুখোশ অপসারণ, দ্বিমিক তথ্য পুনর্গঠন, গাণিতিক ত্রুটি সংশোধন এবং মূল বার্তা উদ্ধার—একের পর এক বহু ধাপ সম্পন্ন হয়।

তাই কিউআর কোডের ছোট ছোট কালো বর্গ আসলে কোনো এলোমেলো নকশা নয়। প্রতিটি গুরুত্বপূর্ণ অঞ্চল একটি নির্দিষ্ট কাজ করে এবং পুরো ছকটি এমনভাবে নির্মিত যে যন্ত্র খুব দ্রুত ও নির্ভরযোগ্যভাবে সেটিকে পড়তে পারে। আমরা যেখানে শুধু অসংখ্য কালো-সাদা ঘর দেখি, একটি মুঠোফোন সেখানে দেখে সুনির্দিষ্ট গাণিতিক কাঠামো, দ্বিমিক তথ্য এবং নিজেকে পড়ার নির্দেশনাসহ একটি পূর্ণাঙ্গ ডিজিটাল বার্তা। ছোট একটি বর্গাকার ছবির মধ্যে এতগুলো প্রকৌশলগত ধারণার সমন্বয়ই কিউআর কোডকে আধুনিক তথ্য আদান-প্রদানের অন্যতম সহজ অথচ অত্যন্ত দক্ষ প্রযুক্তিতে পরিণত করেছে।


You may also like