การแก้ไขข้อผิดพลาดของ QR Code: L, M, Q และ H ทำงานอย่างไรจริง ๆ
โดยทีม KoloQRพื้นฐาน

การแก้ไขข้อผิดพลาดคือข้อมูลสำรองที่ถูกสร้างไว้ใน QR Code ซึ่งทำให้เครื่องสแกนสร้างข้อมูลกลับคืนได้เมื่อบางส่วนของสัญลักษณ์เสียหายหรือถูกบัง ในแง่หนึ่ง QR Code เก็บเนื้อหาของมันไว้สองชั้น ชั้นหนึ่งเป็นข้อมูล อีกชั้นเป็นข้อมูลกู้คืนที่คำนวณขึ้นทางคณิตศาสตร์และกระจายอยู่ทั่วสัญลักษณ์ ถ้าบางส่วนของโค้ดถูกขีดข่วน เลอะ พับ หรือถูกโลโก้บังไว้ เครื่องสแกนจะสร้างชิ้นส่วนที่หายไปกลับคืนจากส่วนที่ยังเหลืออยู่
ประเด็นสำคัญ
- การแก้ไขข้อผิดพลาดคือข้อมูลสำรองที่ถูกสร้างไว้ใน QR Code ซึ่งทำให้เครื่องสแกนสร้างข้อมูลกลับคืนได้เมื่อบางส่วนของสัญลักษณ์เสียหายหรือถูกบัง
- สี่ระดับที่กำหนดไว้ใน ISO/IEC 18004 กู้คืนข้อมูลของโค้ดได้ราว 7% (L) 15% (M) 25% (Q) และ 30% (H)
- การแก้ไขข้อผิดพลาดที่สูงขึ้นลดความจุข้อมูล URL เดิมจึงต้องใช้เวอร์ชันสัญลักษณ์ที่ใหญ่ขึ้น และเมื่อพิมพ์ที่ความกว้างเท่าเดิม นั่นหมายถึงโมดูลที่เล็กลงและการสแกนที่ยากขึ้น
- การแก้ไขข้อผิดพลาดซ่อมได้เฉพาะพื้นที่ข้อมูล ความเสียหายที่ลายระบุตำแหน่ง ลายจับจังหวะ หรือพื้นที่ว่างรอบโค้ด มักทำให้โค้ดอ่านไม่ได้ ไม่ว่าจะใช้ระดับใดก็ตาม
- การแก้ไขข้อผิดพลาดชดเชยให้กับคอนทราสต์ที่ต่ำ ภาพเบลอ แสงสะท้อน หรือโค้ดที่พิมพ์เล็กเกินไปไม่ได้ เพราะสิ่งเหล่านั้นทำให้ทั้งสัญลักษณ์แย่ลงพร้อมกัน ไม่ใช่เฉพาะบริเวณใดบริเวณหนึ่ง
การแก้ไขข้อผิดพลาดของ QR Code คืออะไร?
กลไกเบื้องหลังคือการเข้ารหัสแบบ Reed–Solomon ซึ่งเป็นตระกูลเดียวกับที่ใช้กับแผ่น CD และการส่งสัญญาณในห้วงอวกาศลึก การเข้ารหัสแบบ Reed–Solomon คือวิธีที่สร้างโค้ดเวิร์ดสำหรับการแก้ไขข้อผิดพลาดของ QR Code และสร้างข้อมูลที่หายไปกลับคืนจากโค้ดเวิร์ดที่ยังสมบูรณ์อยู่ มันทำงานกับโค้ดเวิร์ด ไม่ใช่กับช่องสี่เหลี่ยมทีละช่อง โค้ดเวิร์ดคือกลุ่มของแปดโมดูลที่ QR Code ถือเป็นหนึ่งหน่วย ซึ่งอาจเป็นข้อมูลหนึ่งหน่วยหรือการแก้ไขข้อผิดพลาดหนึ่งหน่วย
การแก้ไขข้อผิดพลาดถูกเลือกครั้งเดียวตอนสร้างโค้ด แล้วถูกอบไว้ในตัวสัญลักษณ์ ระดับที่ใช้ถูกเขียนไว้ในข้อมูลรูปแบบข้าง ๆ ลายระบุตำแหน่ง เครื่องสแกนใดก็อ่านได้ว่าใช้ระดับไหน ระดับการแก้ไขข้อผิดพลาดของ QR Code ที่พิมพ์แล้วเปลี่ยนภายหลังไม่ได้ การเปลี่ยนหมายถึงการสร้างโค้ดใหม่และพิมพ์ใหม่
ระดับการแก้ไขข้อผิดพลาด L, M, Q และ H หมายถึงอะไร?
ระดับการแก้ไขข้อผิดพลาดของ QR ทั้งสี่ระดับกู้คืนโค้ดเวิร์ดของโค้ดได้ราว 7% (L) 15% (M) 25% (Q) และ 30% (H) QR Code ทุกอันใช้ระดับใดระดับหนึ่งเพียงระดับเดียว ระดับที่สูงขึ้นเพิ่มโค้ดเวิร์ดสำหรับกู้คืน ซึ่งทำให้เหลือโค้ดเวิร์ดสำหรับข้อมูลจริงของคุณน้อยลงที่ขนาดสัญลักษณ์เท่าเดิม
| ระดับ | การกู้คืนตามมาตรฐาน | ไบต์ที่เวอร์ชัน 1 (21×21) | ไบต์ที่เวอร์ชัน 10 (57×57) | การใช้งานทั่วไป |
|---|---|---|---|---|
| L (Low) | ~7% | 17 | 271 | หน้าจอ แอป URL ยาว ๆ และพื้นผิวสะอาดในร่ม |
| M (Medium) | ~15% | 14 | 213 | ค่าเริ่มต้นที่พบบ่อย งานพิมพ์ทั่วไป |
| Q (Quartile) | ~25% | 11 | 151 | โลโก้เล็กตรงกลาง สื่อที่ถูกหยิบจับหรืออยู่กลางแจ้ง |
| H (High) | ~30% | 7 | 119 | โลโก้ใหญ่ขึ้น การทำเครื่องหมายในงานอุตสาหกรรม การเสียดสี การตากแดดตากฝน |
เปอร์เซ็นต์เหล่านี้บอกถึงโค้ดเวิร์ด ไม่ใช่พื้นที่ผิว และเป็นค่าตามมาตรฐานมากกว่าค่าที่แม่นยำ เวอร์ชัน 1 ทำให้เห็นการคำนวณได้ชัด สัญลักษณ์นี้มีทั้งหมด 26 โค้ดเวิร์ด และ Reed–Solomon ซ่อมได้ถึงครึ่งหนึ่งของโค้ดเวิร์ดสำหรับแก้ไขข้อผิดพลาดในบล็อกหนึ่ง หักด้วยส่วนสำรองเล็กน้อยที่มาตรฐานกันไว้เพื่อลดความเสี่ยงที่จะถอดรหัสได้ข้อมูลผิด
| ระดับ (เวอร์ชัน 1) | โค้ดเวิร์ดข้อมูล | โค้ดเวิร์ด EC | โค้ดเวิร์ดที่ซ่อมได้ | สัดส่วนจาก 26 โค้ดเวิร์ด |
|---|---|---|---|---|
| L | 19 | 7 | 2 | 8% |
| M | 16 | 10 | 4 | 15% |
| Q | 13 | 13 | 6 | 23% |
| H | 9 | 17 | 8 | 31% |
ในสัญลักษณ์ที่ใหญ่ขึ้น ข้อมูลถูกแบ่งเป็นบล็อก Reed–Solomon หลายบล็อก และโค้ดเวิร์ดถูกสลับกระจายไปทั่วทั้งสัญลักษณ์ รอยเปื้อนจุดเดียวจึงถูกกระจายไปยังหลายบล็อก และแต่ละบล็อกซ่อมส่วนของตัวเอง การสลับกระจายนี่เองคือเหตุผลที่คราบกาแฟที่มุมหนึ่งมักรอดมาได้ และเป็นเหตุผลที่เปอร์เซ็นต์ตามมาตรฐานยังใช้เป็นแนวทางได้ดี แม้การซ่อมจะเกิดขึ้นทีละบล็อกก็ตาม
ควรใช้การแก้ไขข้อผิดพลาดระดับไหน?
ใช้ M กับ QR Code ที่พิมพ์ส่วนใหญ่ ใช้ Q หรือ H เมื่อมีโลโก้วางอยู่บนโค้ดหรือพื้นผิวต้องเจอการใช้งานหนัก และใช้ L เฉพาะบนหน้าจอ หรือเมื่อเนื้อหายาวและโค้ดต้องคงความหยาบไว้ M คือระดับที่เครื่องมือสร้างโค้ดส่วนใหญ่ตั้งเป็นค่าเริ่มต้น และสำหรับโปสเตอร์ ใบปลิว เมนู หรือนามบัตรที่จะไม่ถูกครูดถูกขูด M คือคำตอบที่ถูกต้อง
หลักการตัดสินใจ:
- ถ้าโค้ดจะแสดงบนหน้าจอ ให้เลือก L หน้าจอไม่มีฝุ่น ไม่มีการพับ และมีคอนทราสต์ที่สมบูรณ์ ความจุสำหรับกู้คืนจึงเป็นข้อมูลสำรองที่เสียเปล่าและทำให้โค้ดแน่นขึ้นเฉย ๆ
- ถ้าโค้ดพิมพ์ลงกระดาษและไม่มีโลโก้ ให้เลือก M M ครอบคลุมการหยิบจับตามปกติ การแผ่ของหมึก และรอยเลอะเล็กน้อย
- ถ้าโค้ดมีโลโก้ตรงกลาง ให้เลือก Q เป็นอย่างต่ำ และเลือก H ถ้าโลโก้ใหญ่ โลโก้กินความจุสำหรับกู้คืนที่ควรจะเอาไว้รับข้อผิดพลาดจากงานพิมพ์และการสแกน
- ถ้าโค้ดจะอยู่กลางแจ้ง อยู่บนบรรจุภัณฑ์ อยู่บนเครื่องจักร หรืออยู่ที่ใดก็ตามที่มันจะถูกถู ถูกพับ หรือตากแดดตากฝน ให้เลือก H การเสียดสีลบโมดูลออกไปอย่างถาวร
- ถ้าเนื้อหายาวและโค้ดต้องเล็กเท่าเดิม ให้เลือก L หรือ M แล้วไปทำให้เนื้อหาสั้นลงแทน การเพิ่มระดับให้กับ URL ที่ยาวบังคับให้สัญลักษณ์แน่นขึ้น ซึ่งมักเป็นความเสี่ยงที่ใหญ่กว่า
ตัวอย่างที่สวนทางกันช่วยให้เห็นภาพ QR-bill ของสวิตเซอร์แลนด์ ซึ่งเป็นมาตรฐานการชำระเงินของสวิตเซอร์แลนด์และลิกเตนสไตน์ กำหนดการแก้ไขข้อผิดพลาดระดับ M สัญลักษณ์ขนาดตายตัว 46 × 46 mm ขนาดโมดูลขั้นต่ำ 0.4 mm และกากบาทสวิสขนาด 7 × 7 mm ตรงกลางโค้ด กากบาทนั้นกินพื้นที่ราว 2.3% ของสัญลักษณ์ มาตรฐานการธนาคารระดับประเทศวางโลโก้บน QR Code ที่ระดับ M ได้ เพราะโลโก้เล็กและขนาดโมดูลถูกรับประกันไว้แล้ว ระดับ H ไม่ใช่ข้อบังคับสำหรับการมีโลโก้ แต่เป็นการชดเชยให้กับโลโก้ที่ใหญ่
การแก้ไขข้อผิดพลาดเปลี่ยนขนาดของ QR Code ที่พิมพ์อย่างไร
การเพิ่มระดับการแก้ไขข้อผิดพลาดทำให้แต่ละโมดูลเล็กลงเมื่อพิมพ์ที่ความกว้างเท่าเดิม เพราะข้อมูลชุดเดิมต้องใช้เวอร์ชันสัญลักษณ์ที่สูงขึ้นซึ่งมีโมดูลต่อด้านมากกว่า นี่คือข้อแลกเปลี่ยนที่คนส่วนใหญ่มองข้าม ระดับที่ป้องกันความเสียหายก็เพิ่มความหนาแน่นที่ทำให้สแกนไม่ผ่านตั้งแต่แรกเช่นกัน
ลองใช้ URL ยาว 44 อักขระ เช่น https://koloqr.com/qr-codes-for/coffee-shops เข้ารหัสในโหมดไบต์และพิมพ์ที่ความกว้าง 25 mm:
| ระดับ | เวอร์ชันสัญลักษณ์ | ตาราง | ความกว้างโมดูลที่ 25 mm | ความกว้างสัญลักษณ์ขั้นต่ำเมื่อโมดูล 0.4 mm |
|---|---|---|---|---|
| L | 3 | 29 × 29 | 0.86 mm | 11.6 mm |
| M | 4 | 33 × 33 | 0.76 mm | 13.2 mm |
| Q | 4 | 33 × 33 | 0.76 mm | 13.2 mm |
| H | 5 | 37 × 37 | 0.68 mm | 14.8 mm |
ตารางนี้บอกสองเรื่อง เรื่องแรก การย้ายจาก L ไป H ทำให้แต่ละโมดูลเล็กลงราว 21% ที่ขนาดพิมพ์เท่าเดิม บนกระดาษที่ดูดซับ นั่นคือความต่างระหว่างโมดูลที่คมกับโมดูลที่ซึมเข้าหากัน เรื่องที่สอง M และ Q ให้เวอร์ชันสัญลักษณ์เดียวกันสำหรับเนื้อหาชุดนี้ แปลว่า Q ได้มาฟรี โค้ดขนาดเท่ากัน โมดูลเท่ากัน แต่กู้คืนได้ 25% แทนที่จะเป็น 15%
ให้ตรวจเรื่องที่สองนี้ทุกครั้ง เพราะความจุขยับเป็นขั้น การขึ้นระดับการแก้ไขข้อผิดพลาดหนึ่งขั้นจึงมักไม่มีต้นทุนเลย สร้างโค้ดที่ระดับที่คุณเลือก จดขนาดตารางไว้ แล้วสร้างใหม่ที่ระดับสูงขึ้นหนึ่งขั้นเพื่อเทียบกัน ถ้าตารางเท่าเดิม ให้เลือกระดับที่สูงกว่า
โลโก้ปิดทับ QR Code ได้มากแค่ไหน?
โลโก้ตรงกลางที่กินพื้นที่ไม่เกินราว 20% ของ QR Code กู้คืนได้อย่างน่าเชื่อถือที่ระดับ H ในงานพิมพ์ส่วนใหญ่ เพดานทางทฤษฎีที่ H อยู่ใกล้ 30% แต่การใช้งบกู้คืนทั้งหมดไปกับโลโก้ทำให้ไม่เหลืออะไรไว้รับการแผ่ของหมึก แสงสะท้อน รอยนิ้วมือ หรือกล้องที่โฟกัสไม่เข้าเล็กน้อย และข้อผิดพลาดเหล่านั้นก็เบิกจากงบก้อนเดียวกัน
หลักที่ใช้ได้จริงและตรวจง่าย โลโก้วงกลมที่มีเส้นผ่านศูนย์กลางครึ่งหนึ่งของความกว้างของ QR Code กินพื้นที่ราว 20% ของสัญลักษณ์ ส่วนโลโก้สี่เหลี่ยมที่ด้านยาว 0.45 เท่าของความกว้างโค้ดก็กินพื้นที่ราวเท่ากัน อยู่ในกรอบนี้แล้วระดับ H จะยังเหลือความจุสำรองอยู่ราวหนึ่งในสาม
กฎที่สำคัญกว่าตัวเลขเปอร์เซ็นต์:
- วางโลโก้ไว้ตรงกลาง โลโก้ที่อยู่กึ่งกลางกระจายความเสียหายอย่างสม่ำเสมอไปทั่วบล็อก Reed–Solomon ที่สลับกันอยู่ ส่วนโลโก้ขนาดเท่ากันที่วางเยื้องออกไปจะกระจุกความเสียหายไว้ที่เดียวและมีโอกาสทำให้บล็อกใดบล็อกหนึ่งหมดความจุมากกว่า
- อย่าให้โลโก้แตะลายระบุตำแหน่งทั้งสามจุด สี่เหลี่ยมใหญ่ที่มุมเหล่านั้นคือสิ่งที่เครื่องสแกนใช้หาโค้ดตั้งแต่แรก และไม่มีการแก้ไขข้อผิดพลาดคุ้มครองมันเลย
- ใส่พื้นหลังทึบให้โลโก้ โลโก้ที่วางทับโมดูลโดยตรงด้วยพื้นหลังโปร่งใสจะสร้างครึ่งโมดูลที่คลุมเครือตามขอบ ซึ่งทำให้เกิดข้อผิดพลาดที่ตัวถอดรหัสยังต้องใช้ความจุไปซ่อมอยู่ดี
- บนสัญลักษณ์เวอร์ชัน 7 ขึ้นไป ให้ระวังลายจัดแนว เวอร์ชัน 7 ขึ้นไปวางลายจัดแนวไว้ในพื้นที่ข้อมูลด้วย รวมถึงบริเวณใกล้กึ่งกลาง โลโก้ใหญ่ตรงกลางอาจฝังกลบลายเหล่านั้นไปหนึ่งจุด ซึ่งมักยังสแกนได้เมื่อส่องตรง ๆ แต่ล้มเหลวได้เมื่อส่องเอียงหรืออยู่บนพื้นผิวโค้ง
- ทดสอบโค้ดที่พิมพ์จริง ไม่ใช่ภาพตัวอย่างบนหน้าจอ โลโก้ที่ใช้ได้ตอนซูม 400% บนจอ อาจล้มเหลวที่ขนาด 25 mm บนกระดาษไม่เคลือบ
KoloQR ซึ่งเป็นเครื่องมือสร้าง QR Code ฟรีที่ทำโค้ดทรงกลมและทรงกำหนดเองได้ รองรับการวางโลโก้และให้คุณตั้งระดับการแก้ไขข้อผิดพลาดก่อนส่งออกไฟล์ รูปทรงโมดูลแบบตกแต่ง เช่น จุดมุมมนหรือโมดูลวงกลม ลดพื้นที่หมึกของแต่ละโมดูลลง จึงกินค่าเผื่อชุดเดียวกับที่การแก้ไขข้อผิดพลาดมีไว้ให้ การตกแต่งไม่เคยทำให้การสแกนดีขึ้น การแก้ไขข้อผิดพลาดต่างหากที่รับส่วนต่างนั้นไว้ ดูQR Code ที่ทำแบรนด์ เพื่อเห็นว่าในทางปฏิบัติหน้าตาเป็นอย่างไร
ส่วนไหนของ QR Code ที่การแก้ไขข้อผิดพลาดซ่อมไม่ได้
การแก้ไขข้อผิดพลาดคุ้มครองเฉพาะพื้นที่ข้อมูล ลายเชิงโครงสร้างที่เครื่องสแกนต้องใช้ก่อนจะถอดรหัสอะไรได้เลยนั้นไม่อยู่ในความคุ้มครองของ Reed–Solomon ความเสียหายตรงนั้นจึงมักถึงตาย ไม่ว่าโค้ดจะถูกสร้างที่ระดับ L หรือ H
- ลายระบุตำแหน่ง สี่เหลี่ยมซ้อนกันสามชุดที่มุมบนซ้าย บนขวา และล่างซ้าย บอกเครื่องสแกนว่าสัญลักษณ์อยู่ตรงไหนและหมุนไปทางใด ไม่มีข้อมูลสำรองใดคุ้มครองมัน การบังไปหนึ่งจุดมักหมายความว่าโค้ดจะไม่ถูกตรวจพบเลย
- พื้นที่ว่างรอบโค้ด พื้นที่ว่างรอบโค้ด (quiet zone) คือขอบว่างกว้างสี่โมดูลรอบ QR Code ที่ทำให้เครื่องสแกนรู้ว่าสัญลักษณ์เริ่มต้นและสิ้นสุดตรงไหน ข้อความ เส้นกรอบ หรือภาพถ่ายที่ล้ำเข้ามาในขอบนั้นทำให้การตรวจจับพัง ทั้งที่ทุกโมดูลในตัวโค้ดยังสมบูรณ์
- ลายจับจังหวะ เส้นโมดูลเดี่ยวสลับสีที่พาดระหว่างลายระบุตำแหน่งเป็นตัวกำหนดตารางโมดูล ความเสียหายตรงนี้ทำให้การอ่านทั้งหมดเคลื่อนออกจากแนว
- ลายจัดแนว มีตั้งแต่เวอร์ชัน 2 ขึ้นไป ทำหน้าที่แก้ความบิดเบี้ยวจากมุมมอง การเสียไปหนึ่งจุดมักรอดได้เมื่อสแกนตรง ๆ บนพื้นผิวเรียบ และรอดยากกว่ามากบนขวดโค้งหรือป้ายที่ส่องเฉียง
ข้อมูลรูปแบบเป็นข้อยกเว้น แถบโมดูลข้างลายระบุตำแหน่งที่บันทึกระดับการแก้ไขข้อผิดพลาดและรูปแบบมาสก์นั้นถูกคุ้มครองด้วยรหัส BCH ของตัวเอง และถูกเก็บไว้สองชุดในสัญลักษณ์ มันจึงทนความเสียหายได้พอสมควรด้วยตัวเอง
สิ่งที่การแก้ไขข้อผิดพลาดไม่ได้ป้องกัน
การแก้ไขข้อผิดพลาดซ่อมความเสียหายเฉพาะจุด ไม่ใช่คุณภาพที่ตกลงทั้งภาพ การเพิ่มระดับจาก M เป็น H ไม่ช่วยอะไรเลยกับโค้ดที่เล็กเกินไป จางเกินไป เบลอ หรืออยู่ในแสงที่แย่ เพราะปัญหาเหล่านั้นกระทบทุกโมดูลพร้อมกัน และไม่เหลือบริเวณที่ยังดีให้ตัวถอดรหัสใช้สร้างข้อมูลกลับคืน
ความล้มเหลวที่การเพิ่มระดับการแก้ไขข้อผิดพลาดจะแก้ไม่ได้:
- โค้ดที่พิมพ์เล็กเกินไปสำหรับข้อมูลที่บรรจุ เมื่อโมดูลเล็กกว่าราว 0.4 mm ในงานพิมพ์ กล้องมือถือจะแยกตารางได้ยาก การเพิ่มระดับยิ่งทำให้โมดูลเล็กลงและปัญหาแย่ลง
- คอนทราสต์ต่ำ เครื่องสแกนต้องเห็นความต่างระหว่างสว่างกับเข้มอย่างชัดเจน โค้ดสีเทาจาง ๆ บนพื้นสีครีมล้มเหลวทุกระดับ
- การกลับสี โมดูลสีอ่อนบนพื้นเข้มไม่ได้รองรับกันทั่วไป แอปสแกนหลายตัวและกล้องในเครื่องคาดว่าจะเป็นสีเข้มบนพื้นสว่าง
- แสงสะท้อนและการเคลือบ ผิวเคลือบเงาใต้ไฟสปอตไลต์สะท้อนเข้ากล้องและกลบทั้งสัญลักษณ์
- ภาพเบลอจากการเคลื่อนไหวและแสงน้อย ทั้งสองอย่างทำให้ทั้งภาพแย่ลง ไม่ใช่แค่มุมใดมุมหนึ่ง
- URL ปลายทางที่ผิดหรือตายไปแล้ว การแก้ไขข้อผิดพลาดรับประกันว่าเครื่องสแกนอ่านสตริงที่เข้ารหัสไว้ได้ถูกต้อง แต่ไม่ได้บอกอะไรเลยว่าที่อยู่นั้นยังเปิดอยู่หรือไม่
เมื่อโค้ดล้มเหลวเป็นครั้งคราวในหน้างาน แต่ตัวอย่างที่พิมพ์ออกมาดูสะอาด สาเหตุแทบทุกครั้งคือขนาดโมดูล คอนทราสต์ หรือแสง ไม่ใช่ระดับการแก้ไขข้อผิดพลาด
การแก้ไขข้อผิดพลาดบนหน้าจอเทียบกับในงานพิมพ์
บนหน้าจอ ระดับ L มักเป็นตัวเลือกที่ดีกว่า ส่วนในงานพิมพ์ M คือพื้นขั้นต่ำที่สมเหตุสมผล QR Code บนจอแสดงผลไม่ต้องเจอความเสี่ยงทางกายภาพที่การแก้ไขข้อผิดพลาดมีไว้รับมือเลย ไม่มีการแผ่ของหมึก ไม่มีการพับ ไม่มีการเสียดสี ไม่มีฝุ่น ความจุสำหรับกู้คืนจึงไม่ได้ซื้ออะไรเลย และโมดูลที่เพิ่มขึ้นก็ทำให้โค้ดแน่นกว่าที่จำเป็น
ข้อควรคำนึงเฉพาะหน้าจอ โค้ดที่แสดงบนมือถือเครื่องหนึ่งและถูกสแกนด้วยมือถืออีกเครื่องต้องสู้กับแสงสะท้อนและความสว่างของจอ ซึ่งการแก้ไขข้อผิดพลาดที่สูงขึ้นไม่ได้ช่วยเลย ให้เพิ่มขนาดที่แสดงและเพิ่มความสว่างหน้าจอแทน
ข้อควรคำนึงเฉพาะงานพิมพ์ กระดาษที่ดูดซับทำให้หมึกแผ่ และแต่ละโมดูลขยายเข้าไปหาเพื่อนบ้านเล็กน้อย การขยายของจุดนั้นเป็นแหล่งข้อผิดพลาดจริง และเป็นสิ่งที่ระดับ M กับ Q รับไว้พอดี กระดาษเคลือบแผ่น้อยกว่า ส่วนกระดาษหนังสือพิมพ์ กระดาษคราฟท์ และผ้าแผ่มากกว่า ให้ส่งออกเป็น SVG แทน PNG ที่ถูกขยาย เพื่อให้โมดูลคงรูปทรงเรขาคณิตที่แม่นยำที่ความละเอียดของเครื่องพิมพ์ โดย KoloQR ส่งออกได้ทั้ง PNG และ SVG
วิธีทดสอบว่า QR Code ของคุณทนความเสียหายได้จริงแค่ไหน
ให้ทดสอบโค้ดที่พิมพ์จริงแทนการเชื่อเปอร์เซ็นต์ตามมาตรฐาน ระดับบอกคุณว่ามีงบเท่าไร ส่วนงานพิมพ์บอกว่างบนั้นถูกใช้ไปแล้วเท่าไร ขั้นตอนด้านล่างใช้เวลาราวสิบห้านาที และให้ตัวเลขที่คุณเชื่อถือได้
- สร้างโค้ดด้วยการตั้งค่าสุดท้าย. เนื้อหาเดียวกัน ระดับการแก้ไขข้อผิดพลาดเดียวกัน โลโก้เดียวกัน ส่งออกเป็น SVG
- พิมพ์ด้วยการตั้งค่าและวัสดุของงานจริง. เครื่องพิมพ์เดียวกัน กระดาษเดียวกัน การเคลือบเดียวกัน ปรู๊ฟจากเครื่องเลเซอร์บนกระดาษออฟฟิศทำนายพฤติกรรมของกระดาษแข็งไม่เคลือบไม่ได้
- สแกนงานพิมพ์ที่ยังไม่เสียหายที่ระยะที่ตั้งใจไว้ด้วยมือถือสองเครื่อง. เครื่องหนึ่ง iOS อีกเครื่อง Android ใช้กล้องในเครื่อง ถ้าล้มเหลวตั้งแต่ตรงนี้ ให้หยุดแล้วแก้เรื่องขนาดหรือคอนทราสต์ก่อนไปทดสอบความเสียหาย
- ปิดพื้นที่ 10% ของสัญลักษณ์ตรงกลางด้วยเทปทึบแสง. สำหรับโค้ดขนาด 25 mm สี่เหลี่ยมขนาด 8 × 8 mm ใกล้เคียง 10% แล้วสแกนอีกครั้ง
- เพิ่มพื้นที่ที่ถูกปิดทีละ 5% จนกว่าโค้ดจะสแกนไม่ผ่าน. บันทึกเปอร์เซ็นต์สุดท้ายที่ยังใช้ได้ นั่นคือความทนทานจริงของคุณ
- ทำซ้ำโดยย้ายความเสียหายไปไว้ที่ขอบด้านหนึ่งและพาดมุมหนึ่ง. โดยเลี่ยงลายระบุตำแหน่ง ความเสียหายที่ขอบมักล้มเหลวเร็วกว่าความเสียหายตรงกลาง
- ทำซ้ำภายใต้แสงจริง. พื้นที่ขายจริง ร้านอาหารตอนกลางคืน ทางเดินในคลังสินค้า
- เทียบผลกับระดับตามมาตรฐาน. ถ้าโค้ดระดับ H ล้มเหลวตั้งแต่ถูกปิด 12% แปลว่างบที่เหลือถูกคุณภาพงานพิมพ์กินไปแล้ว ให้ขยายโค้ด ทำให้ URL สั้นลง หรือย้ายไปใช้พื้นผิวที่ดูดซับน้อยกว่า
บันทึกตัวเลขนั้นไว้ มันคือตัวเลขที่มีประโยชน์ที่สุดเพียงตัวเดียวที่ควรมีก่อนตัดสินใจพิมพ์ทั้งชุด
ข้อผิดพลาดที่พบบ่อยเมื่อเลือกระดับการแก้ไขข้อผิดพลาด
ข้อผิดพลาดที่พบบ่อยที่สุดคือการเลือก H เป็นค่าเริ่มต้นด้วยความเชื่อว่าการป้องกันที่มากกว่าย่อมปลอดภัยกว่าเสมอ เมื่อ URL ยาวและพิมพ์ที่ขนาดเล็ก H ให้โค้ดที่แน่นกว่าและล้มเหลวบ่อยกว่าเวอร์ชัน M ที่มันเข้าไปแทนที่
| ควรทำ | เพราะอะไร |
|---|---|
| ทำให้ URL สั้นลงก่อนจะเพิ่มระดับ | อักขระที่น้อยลงหมายถึงเวอร์ชันสัญลักษณ์ที่ต่ำลง โมดูลที่ใหญ่ขึ้น และค่าเผื่อในโลกจริงที่มากกว่าการเปลี่ยนระดับใด ๆ จะให้ได้ |
| ตรวจว่าระดับที่สูงขึ้นหนึ่งขั้นทำให้ขนาดตารางเปลี่ยนหรือไม่ | ความจุขยับเป็นขั้น การเพิ่มระดับจึงมักไม่มีต้นทุน |
| ใช้ H กับโค้ดกลางแจ้ง งานอุตสาหกรรม และบรรจุภัณฑ์ | การเสียดสีและสภาพอากาศลบโมดูลออกไปอย่างถาวร ซึ่งเป็นสิ่งที่ความจุสำหรับกู้คืนมีไว้รับมือพอดี |
| ทดสอบตัวอย่างที่พิมพ์แล้วโดยทำให้เสียหายจริง | เปอร์เซ็นต์ตามมาตรฐานเป็นเพดาน ไม่ใช่การรับประกัน |
| ไม่ควรทำ | เพราะอะไร |
|---|---|
| ใช้ H เพื่อชดเชยโค้ดที่เล็กเกินไป | โมดูลที่เล็กลงทำให้ล้มเหลวมากกว่าที่การแก้ไขข้อผิดพลาดจะซ่อมได้ |
| ใช้งบกู้คืนทั้งหมดไปกับโลโก้ | ข้อผิดพลาดจากงานพิมพ์ แสงสะท้อน และโฟกัส เบิกจากงบก้อนเดียวกัน แล้วจะไม่เหลืออะไรเลย |
| คิดว่า H คุ้มครองลายระบุตำแหน่ง | ไม่มีระดับการแก้ไขข้อผิดพลาดใดคุ้มครองมัน ลายระบุตำแหน่งที่ถูกบังหมายถึงการตรวจจับไม่พบ |
| หวังพึ่งการแก้ไขข้อผิดพลาดให้รอดจากการไม่มีพื้นที่ว่างรอบโค้ด | การตรวจจับล้มเหลวก่อนที่การถอดรหัสจะเริ่ม ความจุสำหรับกู้คืนจึงไม่เคยถูกใช้เลย |
| เพิ่มระดับหลังจากโค้ดล้มเหลวในหน้างาน | ให้วินิจฉัยคอนทราสต์ ขนาด และแสงก่อน ระดับแทบไม่เคยเป็นสาเหตุ |
Questions? Answered
ใช้ Q เป็นอย่างต่ำ และใช้ H ถ้าโลโก้กินพื้นที่เกินราว 15% ของโค้ด ให้วางโลโก้ไว้กึ่งกลาง บนพื้นหลังทึบ และไม่เกินราว 20% ของพื้นที่สัญลักษณ์เมื่อใช้ระดับ H เท่านี้จะเหลือความจุสำหรับกู้คืนไว้ให้ข้อผิดพลาดจากงานพิมพ์และกล้อง ซึ่งเบิกจากงบก้อนเดียวกับโลโก้
ไม่เสมอไป ระดับที่สูงขึ้นรับความเสียหายได้มากกว่า แต่ลดความจุข้อมูล เนื้อหาชุดเดิมจึงต้องใช้เวอร์ชันสัญลักษณ์ที่ใหญ่ขึ้นและมีโมดูลเล็กลงเมื่อพิมพ์ที่ความกว้างเท่ากัน สำหรับ URL ยาวบนโค้ดที่พิมพ์เล็ก ระดับ M มักสแกนได้น่าเชื่อถือกว่าระดับ H
ไม่ได้ ระดับถูกเข้ารหัสไว้ในข้อมูลรูปแบบของสัญลักษณ์และเป็นตัวกำหนดว่าทั้งโค้ดถูกสร้างขึ้นอย่างไร จึงแก้ภายหลังไม่ได้ ให้สร้างโค้ดใหม่ด้วยระดับใหม่แล้วพิมพ์ใหม่ ถ้าปลายทางต้องเปลี่ยนด้วย นั่นเป็นอีกปัญหาหนึ่ง เพราะโค้ดแบบสแตติกชี้ไปยัง URL ที่ตายตัว
ตามปกติเครื่องสแกนจะรายงานว่าอ่านไม่สำเร็จ แทนที่จะคืนข้อมูลที่ผิด QR Code กันโค้ดเวิร์ดสำหรับป้องกันการถอดรหัสผิดไว้จำนวนหนึ่งในสัญลักษณ์ขนาดเล็กที่สุด เพื่อลดโอกาสที่โค้ดซึ่งเสียหายจะถูกถอดออกมาเป็นค่าที่ดูสมเหตุสมผลแต่ผิด
ไม่ ลายระบุตำแหน่งทั้งสามจุด ลายจับจังหวะ และพื้นที่ว่างรอบโค้ด ไม่มีการแก้ไขข้อผิดพลาดคุ้มครอง เครื่องสแกนต้องใช้สิ่งเหล่านี้เพื่อหาตำแหน่งและจัดแนวสัญลักษณ์ก่อนเริ่มถอดรหัส การบังไปหนึ่งจุดจึงมักหมายความว่าโค้ดจะไม่ถูกตรวจพบเลย แม้จะอยู่ที่ระดับ H และพื้นที่ข้อมูลจะสมบูรณ์ก็ตาม
สาเหตุตามปกติคือขนาดโมดูลหรือคอนทราสต์ ไม่ใช่ความเสียหาย ระดับ H ลดความจุข้อมูล สัญลักษณ์จึงแน่นขึ้นเมื่อพิมพ์ที่ความกว้างเท่าเดิม ลองวัดโมดูลหนึ่งช่อง ถ้าต่ำกว่าราว 0.4 mm ในงานพิมพ์ กล้องมือถือจะอ่านยากไม่ว่าจะใช้ระดับใด ให้ขยายโค้ดหรือทำให้ URL สั้นลง
เครื่องมือสร้างส่วนใหญ่ตั้งค่าเริ่มต้นไว้ที่ระดับ M ซึ่งกู้คืนได้ราว 15% ค่าเริ่มต้นนี้เป็นการประนีประนอมที่สมเหตุสมผลสำหรับงานพิมพ์ แต่ควรตรวจสอบมากกว่าจะเดาเอา เพราะบางเครื่องมือตั้งค่าเริ่มต้นไว้ที่ L และบางเครื่องมือเพิ่มระดับให้เองเงียบ ๆ เมื่อคุณใส่โลโก้ ซึ่งเปลี่ยนทั้งเวอร์ชันสัญลักษณ์และความหนาแน่นตอนพิมพ์
แทบไม่มี ระดับที่สูงขึ้นเพิ่มจำนวนโมดูล กล้องจึงต้องแยกตารางที่แน่นขึ้นเล็กน้อย และตัวถอดรหัสต้องรัน Reed-Solomon นานขึ้นเล็กน้อย แต่บนฮาร์ดแวร์มือถือสมัยใหม่ ความต่างนั้นไม่รู้สึกได้ ความเร็วในการสแกนถูกกำหนดโดยแสง ระยะโฟกัส และขนาดโมดูลมากกว่ามาก
ไม่ได้ โค้ดเวิร์ดสำหรับแก้ไขข้อผิดพลาดถูกคำนวณขึ้นทางคณิตศาสตร์จากเนื้อหา และไม่มีเนื้อหาอิสระของตัวเอง สิ่งใดก็ตามที่ดูเหมือนเพิ่มชั้นซ่อนเข้าไป ไม่ว่าจะเป็นรูปทรง สี หรือภาพที่ซ้อนทับ ล้วนเป็นการตกแต่งที่กินความจุสำหรับกู้คืน ไม่ใช่ช่องทางข้อมูลชุดที่สอง
สำรวจต่อ
หน้าที่ต่อจากหน้านี้ - บริบทเดียวกัน โค้ดชนิดเดียวกัน หรือสิ่งที่ต้องตัดสินใจต่อไป
QR Code สไตล์แบรนด์
ทำให้ QR Code เข้ากับแบรนด์ด้วยโลโก้ สี และรูปทรงเฉพาะ โดยไม่ต้องแลกกับการสแกน
เมนูร้านอาหาร
ป้ายตั้งโต๊ะและบรรจุภัณฑ์ซื้อกลับที่เปิดเมนูล่าสุดได้ในการสแกนครั้งเดียว แก้ราคาที่เดียวแล้วทุกโต๊ะเห็นทันที ไม่ต้องพิมพ์ใหม่
ร้านค้าปลีก
ข้อมูลสินค้า สต๊อก และลิงก์รีวิว บนป้ายบนชั้น กระจกหน้าร้าน และป้ายที่แคชเชียร์
QR Code ทรงวงกลม
โมดูลทรงกลมและกรอบวงกลม สำหรับที่รองแก้ว ตราประทับ และบัตรผู้ร่วมงาน ที่โค้ดสี่เหลี่ยมไม่เคยวางลงตัว
QR Code กับบาร์โค้ด: ต่างกันอย่างไร และควรใช้แบบไหนเมื่อไร
ความจุ อุปกรณ์ที่ใช้สแกน ขนาดพิมพ์ ความทนต่อความเสียหาย และค่าใช้จ่าย เปรียบเทียบบาร์โค้ดเชิงเส้นกับ QR Code แบบเคียงข้างกัน พร้อมหลักในการเลือก
ความละเอียดของ QR Code: ต้องใช้กี่พิกเซลและกี่ DPI กันแน่
สูตรสำหรับงานพิมพ์ เพดานพิกเซลของไฟล์ PNG ขนาดที่พบบ่อย ขนาดโมดูลเป็นมิลลิเมตร และข้อผิดพลาดเรื่องความละเอียดที่ทำให้ QR Code ที่พิมพ์ออกมาสแกนไม่ผ่าน
ทำไมต้อง KoloQR?
- สร้าง QR Code สำหรับเว็บไซต์ เมนู Wi-Fi ไฟล์ PDF และนามบัตร
- ปรับแต่งสี โลโก้ และรูปทรงที่ไม่เหมือนใคร
- ดาวน์โหลดไฟล์ PNG และ SVG คุณภาพสูง
- ออกแบบมาเพื่อทั้งงานพิมพ์และงานดิจิทัล
