الانتقال إلى المحتوى
QRCodeMax.Vip

كيف يعمل رمز QR: الوحدات وأنماط التحديد وتصحيح الأخطاء

جولة بلغة بسيطة في ما تفعله مربعات رمز QR فعلاً: كيف تحدد الكاميرا موقع الشبكة، وتقرأ البيانات، وتعالج الخدوش والبقع بفضل تصحيح الأخطاء المدمج.

بقلم QRCodeMax.Vip 6 دقيقة قراءة

رمز QR ليس سوى شبكة من مربعات سوداء وبيضاء تقرأها الكاميرا كسلسلة طويلة من الأصفار والآحاد. المربعات الثلاثة الكبيرة في الزوايا تخبر هاتفك أين الرمز وفي أي اتجاه يواجهه، بينما تحمل بقية النمط بياناتك مع نسخ احتياطية مدمجة تتيح للرمز النجاة من الخدوش والبقع والملصقات. إليك كيف يعمل كل جزء، بلغة مبسطة.

من صورة الكاميرا إلى شبكة من الوحدات

عندما توجّه الكاميرا نحو رمز QR، تكون المهمة الأولى للتطبيق هي تحويل الصورة إلى شيء يستطيع الحاسوب معالجته. تُحوَّل الصورة إلى الأبيض والأسود عبر عتبة سطوع: كل ما هو أغمق من الحد يصبح أسود، وكل ما هو أفتح يصبح أبيض. الصور الضبابية أو المظللة تجعل هذه الخطوة أصعب، ولهذا فإن الرمز الواضح في إضاءة جيدة يُمسح بموثوقية أكبر.

أصغر مربع في النمط يسمى "الوحدة" (module). بالنسبة إلى القارئ، كل وحدة هي بت واحد من المعلومات — الوحدة الداكنة تمثل قيمة ثنائية، والفاتحة تمثل القيمة الأخرى. كل ما ستراه لاحقاً، من المربعات الكبيرة في الزوايا إلى البيانات نفسها، ليس سوى وحدات مرتبة على شبكة.

يحيط بالرمز هامش فارغ يسمى "المنطقة الهادئة" (quiet zone)، عرضه أربع وحدات بحسب العرف. يمنح الكاميرا حافة نظيفة للكشف، ويفصل الرمز عن الخلفيات المزدحمة. الرمز المطبوع ملاصقاً لرسومات أخرى أصعب في المسح لهذا السبب بالضبط.

أنماط التحديد الثلاثة

في ثلاث زوايا — العلوية اليسرى والعلوية اليمنى والسفلية اليسرى — تجد أبرز ملامح رمز QR: مربع كبير من حلقات متداخلة، بحلقة خارجية داكنة، ثم حلقة فاتحة، ثم مركز داكن صلب بحجم 3×3. هذه هي "أنماط التحديد" (finder patterns)، وهي تحل أول مشكلة تواجه أي ماسح: أين الرمز، وفي أي اتجاه هو؟

يبحث الماسح عنها بتمرير خط عبر الصورة ومراقبة إيقاع محدد جداً. الخط الذي يمر بوسط نمط التحديد يعبر: داكن، فاتح، داكن، فاتح، داكن، بعرض بنسبة 1:1:3:1:1 — وحدة داكنة، وحدة فاتحة، ثلاث داكنات، ثم وحدة ووحدة من جديد. هذا التوقيع مميز بما يكفي ليتمايز عن أي شيء آخر تقريباً في الصورة.

لماذا ثلاثة أنماط تحديد لا أربعة؟ ثلاث زوايا تكفي لتحديد مربع، والزاوية الناقصة تحمل معنى: تخبر القارئ أي جهة هي "الأعلى". حتى لو مسحت الرمز مقلوباً أو جانباً، يعرف القارئ تماماً كيف يدير الشبكة قبل فك ترميزها.

أنماط التوقيت والمحاذاة

معرفة مواقع الزوايا ليست كافية. إذا صُوِّر الرمز بزاوية مائلة أو طُبع على سطح منحنٍ، قد تمتد الشبكة بينها أو تنحرف. بنيتان إضافيتان تحفظان دقتها.

نمط التوقيت (timing pattern) خط متقطع من وحدات داكنة وفاتحة متبادلة يمتد بين أنماط التحديد — واحد على طول الأعلى وآخر على طول الجانب الأيسر. يعمل مثل المسطرة: بعدّ التبادلات، يؤكد القارئ الحجم الدقيق للوحدات وكيفية تباعد الشبكة عبر الرمز كله.

نمط المحاذاة (alignment pattern) مربع متداخل أصغر، عرضه خمس وحدات، يظهر اعتباراً من الإصدار 2، ويوضع نحو الزاوية السفلية اليمنى. الرموز الأكبر تحمل عدة أنماط منها. كل نمط يعمل كمعلم إضافي يمكّن القارئ من قياس التشوه في جزئه من الشبكة وتصحيحه — أمر أساسي عندما يلتف الرمز حول زجاجة أو يوضع على ملصق مجعّد قليلاً.

الإصدارات من 1 إلى 40

تأتي رموز QR في 40 حجماً تسمى الإصدارات (versions). الإصدار 1 شبكة 21×21 وحدة. كل إصدار يزيد أربعة وحدات لكل ضلع، فالإصدار 2 هو 25×25، والإصدار 3 هو 29×29، وهكذا حتى الإصدار 40 بحجم 177×177.

الشبكة الأكبر تعني مساحة أكبر للبيانات. كقاعدة تقريبية، الإصدارات الأكبر تتسع لنحو 7000 رقم، بينما يتناسب رابط قصير براحة تامة في رمز أصغر بكثير. السعة الدقيقة تعتمد أيضاً على ما تُرمّزه — الأرقام تُحزم بكثافة أكبر من النص — وعلى مستوى تصحيح الأخطاء الذي تختاره.

لهذا السبب أيضاً تتباين الرموز المولّدة كثيراً في مظهرها. تختار أدوات الترميز أصغر إصدار يتسع للمحتوى، فالرابط القصير ينتج رمزاً خفيفاً بوحدات عريضة، بينما ينتج الرابط الطويل نمطاً كثيفاً دقيقاً.

رموز البيانات ورموز تصحيح الأخطاء

بعد أن تحتل الأنماط البنيوية مساحتها، تحمل المساحة المتبقية الحمولة. تُجمع البتات في مجموعات من ثماني وحدات تسمى "الرموز الثمانية" (codewords) — كل واحدة بايت واحد من المعلومات.

هناك نوعان. رموز البيانات تحمل المحتوى الفعلي: الرابط أو النص أو أي شيء آخر يرمّزه الرمز. أما رموز تصحيح الأخطاء فهي نسخ احتياطية من نوع ذكي، تُحسب من البيانات باستخدام فرع من الرياضيات يسمى ترميز Reed–Solomon — من نفس عائلة التقنيات التي حمّت البيانات على الأقراص المضغوطة وأقراص DVD. يستخدمها القارئ للتحقق من البيانات وإصلاح أي نقص فيها.

تقدم رموز QR أربعة مستويات لتصحيح الأخطاء، اسمها L وM وQ وH. تقريباً، تستطيع استعادة نحو 7% أو 15% أو 25% أو 30% من الرموز الثمانية على الترتيب. المقايضة هي المساحة: كلما ارتفع المستوى، زادت حصة النسخ الاحتياطية من الرمز وقلّت حصة البيانات، فقد يحتاج المحتوى نفسه إلى إصدار أكبر.

لهذا يستطيع رمز QR وضع شعار فوق منتصفه أن يُمسح رغم ذلك: اختار المصمم مستوى تصحيح أخطاء عالياً وترك الرموز الاحتياطية تمتص المنطقة المغطاة.

الأقنعة

لو تُركت للصدفة، قد تنتج البيانات الخام شبكة ذات مظهر مزعج: بقع فارغة كبيرة، أو عناقيد من المربعات تحاكي بالصدفة نمط تحديد فتُربك الماسح. الحل هو "الأقنعة" (masking).

تأخذ أداة الترميز أحد ثمانية أنماط أقنعة معرّفة مسبقاً — رقعة شطرنج، خطوط أفقية أو عمودية، وتصاميم متكررة مشابهة — وتعكس كل وحدة يقابلها مربع داكن في القناع. البيانات نفسها لا تتغير؛ يتغير مظهرها فقط، والانعكاس قابل للعكس تماماً.

تجرب الأداة الأقنعة الثمانية كلها، وتقيّم كل نتيجة بقواعد عقوبات (تتابعات طويلة من اللون نفسه، أنماط تشبه أنماط التحديد، توزيع غير متوازن أكثر من اللازم للمناطق الداكنة والفاتحة)، وتحتفظ بالقناع صاحب أقل عقوبة. ويُسجَّل القناع المستخدم في شريط صغير من "معلومات التنسيق" بجوار أنماط التحديد — مكتوب مرتين احتياطاً، حتى لا يترك ركن مخدوش القارئ في حيرة.

لهذا السبب أيضاً يمكن للرابط نفسه، إذا رُمِّز بأداتين مختلفتين، أن ينتج رمزين مختلفين بصرياً. كلاهما صحيح؛ اختارا قناعين مختلفين فحسب.

مثال عملي صغير

خذ النص "HI". يكتب المُرمِّز أولاً بضع بتات تمهيدية — نوع البيانات التالية وطولها — ثم المحتوى نفسه. كل حرف يُخزن في ثماني بتات: H تصبح 01001000 وI تصبح 01001001. تلك الست عشرة بتة تصبح ست عشرة وحدة على الشبكة، بت لكل وحدة.

تُرصّ البتات في الشبكة في شرائح من عمودين تتعقب صعوداً وهبوطاً انطلاقاً من الزاوية السفلية اليمنى، متجاوزة مناطق أنماط التحديد والتوقيت والتنسيق. بعد البيانات تأتي كتلة من رموز تصحيح الأخطاء، محسوبة منها وموضوعة إلى جانبها. أخيراً يُطبَّق القناع المختار، فيعكس بعض الوحدات ليكسر أي أنماط غير محظوظة.

هذه هي الوصفة كاملة: البنية أولاً، ثم البيانات، ثم النسخ الاحتياطية، ثم القناع. كل رمز QR مسحته في حياتك هو هذا الإجراء نفسه مكرراً على نطاق أوسع.

الخلاصة الأساسية

رمز QR صورة تصف نفسها بنفسها. أنماط التحديد تقول "أنا هنا، وهذا اتجاهي الصحيح"؛ أنماط التوقيت والمحاذاة تسوّي الشبكة؛ الإصدار يحدد الحجم؛ الرموز الثمانية تحمل بياناتك مع نسخ احتياطية مدمجة؛ والقناع يبقي النمط كله مقروءاً. في المرة القادمة التي تمسح فيها رمزاً — أو تولّد رمزك الخاص على QRCodeMax.Vip — قرّب الصورة وسترى كل هذه الأجزاء تعمل معاً.

الأسئلة الشائعة

ما وظيفة المربعات الثلاثة الكبيرة في رمز QR؟
هي أنماط التحديد. تمكّن الكاميرا من تحديد موقع الرمز في أي مكان بالصورة ومعرفة اتجاهه، لأن الزاوية الرابعة الناقصة تُظهر أي جهة هي الأعلى.
ماذا يحدث إذا تضرر جزء من رمز QR أو غُطي؟
يعيد تصحيح الأخطاء بناء البيانات المفقودة. حسب المستوى المستخدم (L أو M أو Q أو H)، يمكن أن يُغطى نحو 7% إلى 30% من الرمز ويبقى قابلاً للمسح.
لماذا تبدو بعض رموز QR أكثر كثافة من غيرها؟
تعتمد الكثافة على الإصدار (من 1 إلى 40) ومستوى تصحيح الأخطاء. بيانات أكثر أو حماية أعلى تتطلب شبكة أكبر، أي وحدات أكثر وأصغر.
ما هي المنطقة الهادئة؟
هي الهامش الفارغ حول الرمز، عرضه أربع وحدات بحسب العرف. تساعد الكاميرا على فصل الرمز عن خلفيته، وبدونها يصبح المسح أقل موثوقية.
هل تستخدم كل رموز QR القناع نفسه؟
لا. تجرب أداة التوليد الأقنعة الثمانية كلها، وتختار الأفضل قراءةً، وتسجل اختيارها داخل الرمز ليتمكن الماسح من التراجع عنه.