تصحیح خطای کیو آر کد یک افزونگی داخلی است که اجازه میدهد کد حتی وقتی بخشی از آن کثیف، آسیبدیده یا پوشیده است، اسکن شود. چهار سطح وجود دارد: L حدود ۷٪ داده را بازیابی میکند، M حدود ۱۵٪، Q حدود ۲۵٪ و H حدود ۳۰٪. سطوح بالاتر مقاومترند اما کد را متراکمتر میکنند.
تصحیح خطای کیو آر کد چطور کار میکند؟
کیو آر کد متن شما را فقط یک بار ذخیره نمیکند و به امید شانس رها نمیکند. هنگام ساخت کد، داده به بلوکهایی از بایتها به نام «کلمه کد» (Codeword) تقسیم میشود و کلمههای کد اضافهای برای تصحیح خطا محاسبه و افزوده میشوند. این کار با یک روش ریاضی به نام تصحیح خطای رید-سولومون (Reed–Solomon) انجام میشود؛ همان خانوادهای از روشها که دهها سال در سیدی، دیویدی و انتقال داده به کار رفته است.
وقتی گوشی کد را اسکن میکند، همه کلمههای کد را میخواند. اگر بعضی از آنها به خاطر خراش، لکه یا لوگویی که رویشان است ناخوانا یا اشتباه باشند، اسکنر با کمک کلمههای کد اضافه حساب میکند بخشهای گمشده چه بودهاند. تا وقتی آسیب در حدی باشد که سطح انتخابشده از پسش برمیآید، اسکن موفق است و شما اصلاً متوجه نمیشوید مشکلی وجود داشته.
سطح تصحیح خطا در بخش کوچکی از کد به نام «اطلاعات قالب» (Format Information) ثبت میشود که دو بار ذخیره شده تا اسکنر بتواند با اطمینان آن را بخواند.
چهار سطح: L، M، Q و H
هر سطح، فضای ذخیرهسازی را با مقاومت معاوضه میکند. درصدهای زیر مقدار تقریبی دادهای است که میشود بازیابی کرد.
- سطح L (کم)، حدود ۷٪. بیشترین داده در کوچکترین کد. مناسب برای کاربردهای تمیز، داخل ساختمان و روی صفحه نمایش که احتمال آسیب کم است.
- سطح M (متوسط)، حدود ۱۵٪. پیشفرضی متعادل و رایج. مناسب برای بیشتر مواد چاپی مثل تراکت، منو و کارت ویزیت.
- سطح Q (ربع)، حدود ۲۵٪. محافظت بیشتر برای کدهایی که ممکن است کثیف یا فرسوده شوند، مثل بستهبندی، برچسب یا محیط کارگاه.
- سطح H (بالا)، حدود ۳۰٪. بیشترین مقاومت. اغلب برای تابلوهای بیرونی، محیطهای سخت یا کدهایی با لوگو در وسط انتخاب میشود.
این اعداد درباره داده قابلبازیابیاند، نه اینکه «میتوانید ۳۰٪ تصویر را بپوشانید». آسیب در جای نامناسب، بهویژه روی سه مربع بزرگ گوشهها، میتواند جلوی اسکن را بگیرد، حتی اگر مساحت آسیبدیده کم باشد.
معاوضه: مقاومت در برابر تراکم
تصحیح خطا رایگان نیست. کلمههای کد اضافه داخل کد جا میگیرند. برای محتوای یکسان، سطح بالاتر یعنی:
- ماژولهای بیشتر، یعنی مربعهای کوچک سیاه و سفید
- «نسخه» (Version) بزرگتر کیو آر کد، که از ۲۱ × ۲۱ ماژول در نسخه ۱ تا ۱۷۷ × ۱۷۷ در نسخه ۴۰ متغیر است
- مربعهای تکی کوچکتر وقتی در اندازه فیزیکی یکسان چاپ میشوند
تشخیص مربعهای کوچکتر برای دوربین سختتر است، بهویژه از دور، در نور کم یا با گوشیهای قدیمی. پس انتخاب سطح H برای یک آدرس طولانی روی برچسبی ریز میتواند کد را کماعتمادتر کند، نه مطمئنتر.
راهحل معمولاً کم کردن داده است. یک لینک کوتاه، مثل لینکهای qr-th.com/r/ که کدهای پویای QR-TH استفاده میکنند، محتوا را کوتاه نگه میدارد. این کار جا برای سطح تصحیح خطای بالاتر باز میکند، بیآنکه کد بیش از حد متراکم شود. راهنمای ما درباره کیو آر کد ثابت و پویا توضیح میدهد لینکهای کوتاه چطور کار میکنند.
کدام سطح را انتخاب کنیم؟
از این راهنمای ساده استفاده کنید:
- روی صفحه نمایش یا چاپ تمیز داخل ساختمان؟ سطح L یا M کافی است.
- مواد تبلیغاتی چاپی معمولی، مثل منو، تراکت یا پوستر؟ سطح M پیشفرضی مطمئن است.
- احتمال خراشیدگی، خیس شدن، کثیف شدن یا پوشیده شدن بخشی از کد هست؟ Q را انتخاب کنید.
- لوگو در وسط، تابلوی بیرونی یا شرایط سخت؟ H را انتخاب کنید و داده را کوتاه نگه دارید.
- هر سطحی انتخاب کردید، کد چاپی را تست کنید؛ روی چند گوشی، در فاصله و نور واقعی.
بسیاری از سازندههای کیو آر کد خودکار سطح معقولی انتخاب میکنند و اغلب وقتی لوگو اضافه میکنید آن را بالا میبرند. اگر ابزارتان اجازه انتخاب میدهد، به جای اینکه همیشه بیشترین سطح را بزنید، به جایی فکر کنید که کد قرار است در آن باشد.
تصحیح خطا و لوگو
گذاشتن لوگو در وسط کیو آر کد به لطف تصحیح خطا ممکن است: لوگو بعضی ماژولها را پنهان میکند و اسکنر آنها را از داده اضافه بازسازی میکند. چند قانون این کار را مطمئن نگه میدارد:
- هنگام افزودن لوگو از سطح H، یا دستکم Q، استفاده کنید.
- لوگو را نسبتاً کوچک و در مرکز نگه دارید. فاصله زیادی تا حداکثر سطح بازیابی بگذارید، چون آسیبهای دنیای واقعی، برق زدن و تاری هم از همین «بودجه خطا» مصرف میکنند.
- هرگز سه مربع بزرگ یاب در گوشهها یا منطقه آرام دور کد را نپوشانید.
- کنتراست میان کد و زمینه را قوی نگه دارید.
برای نکات طراحی بیشتر، مقاله ما درباره اصول طراحی کیو آر کد را بخوانید.
تصحیح خطا چه چیزهایی را درست نمیکند؟
تصحیح خطا قدرتمند است اما محدودیت دارد. کدی با این مشکلات را نجات نمیدهد:
- کنتراست ضعیف، مثل خاکستری روشن روی سفید یا تیره روی تیره
- نبودن منطقه آرام، چون کد مستقیم کنار گرافیکهای دیگر چاپ شده
- آسیب به الگوهای یاب در گوشهها
- مربعهایی که در فاصله اسکن برای تشخیص خیلی کوچکاند
- اعوجاج شدید، مثلاً روی سطحی با انحنای زیاد
- بازتاب روکش براق که بخشهای بزرگی را محو میکند
تصحیح خطا کد را امنتر هم نمیکند. کیو آر کدی با سطح H هنوز میتواند به سایتی خطرناک اشاره کند و برچسب کلاهبرداری که روی کد واقعی چسبانده شده، کاملاً بینقص اسکن میشود. اگر درباره کدی مطمئن نیستید، اول با QR-TH کیو آر کد را آنلاین اسکن کنید تا پیش از باز شدن هر چیزی، مقصد را ببینید.
سوالات متداول
بهترین سطح تصحیح خطای کیو آر کد کدام است؟
یک سطح بهترین وجود ندارد. M پیشفرض خوبی برای بیشتر کاربردهای چاپی است و H برای لوگو و شرایط بیرونی یا سخت مناسب است. بر اساس جایی که کد استفاده میشود انتخاب کنید.
آیا سطح تصحیح خطای بالاتر کیو آر کد را بزرگتر میکند؟
برای داده یکسان، بله. ماژولهای بیشتری اضافه میکند؛ پس یا کد چاپی بزرگتر میشود یا مربعهای تکی کوچکتر.
آیا میتوانم روی هر کیو آر کدی لوگو بگذارم؟
فقط اگر تصحیح خطای کافی برای پوشش بخش پنهانشده وجود داشته باشد؛ پس از Q یا H استفاده کنید. لوگو را کوچک و دور از مربعهای گوشه نگه دارید و همیشه پیش از چاپ تست کنید.
آیا بعد از چاپ میتوانم سطح تصحیح خطا را عوض کنم؟
خیر. سطح بخشی از الگوی چاپشده است. برای تغییرش باید کد جدیدی بسازید و چاپ کنید.
کدی میخواهید که در دنیای واقعی خوانا بماند؟ با سازنده رایگان کیو آر کد در QR-TH یکی بسازید، محتوا را کوتاه نگه دارید و پیش از چاپ آن را روی چند گوشی تست کنید.