การแก้ไขข้อผิดพลาดของ 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 ของคุณทนความเสียหายได้จริงแค่ไหน
ให้ทดสอบโค้ดที่พิมพ์จริงแทนการเชื่อเปอร์เซ็นต์ตามมาตรฐาน ระดับบอกคุณว่ามีงบเท่าไร ส่วนงานพิมพ์บอกว่างบนั้นถูกใช้ไปแล้วเท่าไร ขั้นตอนด้านล่างใช้เวลาราวสิบห้านาที และให้ตัวเลขที่คุณเชื่อถือได้ ตัวตรวจสอบ QR Codeอ่านระดับกลับออกมาจากไฟล์ที่เสร็จแล้ว และควรเริ่มจากตรงนี้ก่อน เพราะไฟล์ที่ส่งออกไม่ได้มีระดับตามที่ตั้งไว้ในตัวสร้างเสมอไป
- สร้างโค้ดด้วยการตั้งค่าสุดท้าย. เนื้อหาเดียวกัน ระดับการแก้ไขข้อผิดพลาดเดียวกัน โลโก้เดียวกัน ส่งออกเป็น SVG
- พิมพ์ด้วยการตั้งค่าและวัสดุของงานจริง. เครื่องพิมพ์เดียวกัน กระดาษเดียวกัน การเคลือบเดียวกัน ปรู๊ฟจากเครื่องเลเซอร์บนกระดาษออฟฟิศทำนายพฤติกรรมของกระดาษแข็งไม่เคลือบไม่ได้
- สแกนงานพิมพ์ที่ยังไม่เสียหายที่ระยะที่ตั้งใจไว้ด้วยมือถือสองเครื่อง. เครื่องหนึ่ง iOS อีกเครื่อง Android ใช้กล้องในเครื่อง ถ้าล้มเหลวตั้งแต่ตรงนี้ ให้หยุดแล้วแก้เรื่องขนาดหรือคอนทราสต์ก่อนไปทดสอบความเสียหาย
- ปิดพื้นที่ 10% ของสัญลักษณ์ตรงกลางด้วยเทปทึบแสง. สำหรับโค้ดขนาด 25 mm สี่เหลี่ยมขนาด 8 × 8 mm ใกล้เคียง 10% แล้วสแกนอีกครั้ง
- เพิ่มพื้นที่ที่ถูกปิดทีละ 5% จนกว่าโค้ดจะสแกนไม่ผ่าน. บันทึกเปอร์เซ็นต์สุดท้ายที่ยังใช้ได้ นั่นคือความทนทานจริงของคุณ
- ทำซ้ำโดยย้ายความเสียหายไปไว้ที่ขอบด้านหนึ่งและพาดมุมหนึ่ง. โดยเลี่ยงลายระบุตำแหน่ง ความเสียหายที่ขอบมักล้มเหลวเร็วกว่าความเสียหายตรงกลาง
- ทำซ้ำภายใต้แสงจริง. พื้นที่ขายจริง ร้านอาหารตอนกลางคืน ทางเดินในคลังสินค้า
- เทียบผลกับระดับตามมาตรฐาน. ถ้าโค้ดระดับ H ล้มเหลวตั้งแต่ถูกปิด 12% แปลว่างบที่เหลือถูกคุณภาพงานพิมพ์กินไปแล้ว ให้ขยายโค้ด ทำให้ URL สั้นลง หรือย้ายไปใช้พื้นผิวที่ดูดซับน้อยกว่า
บันทึกตัวเลขนั้นไว้ มันคือตัวเลขที่มีประโยชน์ที่สุดเพียงตัวเดียวที่ควรมีก่อนตัดสินใจพิมพ์ทั้งชุด
ข้อผิดพลาดที่พบบ่อยเมื่อเลือกระดับการแก้ไขข้อผิดพลาด
ข้อผิดพลาดที่พบบ่อยที่สุดคือการเลือก H เป็นค่าเริ่มต้นด้วยความเชื่อว่าการป้องกันที่มากกว่าย่อมปลอดภัยกว่าเสมอ เมื่อ URL ยาวและพิมพ์ที่ขนาดเล็ก H ให้โค้ดที่แน่นกว่าและล้มเหลวบ่อยกว่าเวอร์ชัน M ที่มันเข้าไปแทนที่
| ควรทำ | เพราะอะไร |
|---|---|
| ทำให้ URL สั้นลงก่อนจะเพิ่มระดับ | อักขระที่น้อยลงหมายถึงเวอร์ชันสัญลักษณ์ที่ต่ำลง โมดูลที่ใหญ่ขึ้น และค่าเผื่อในโลกจริงที่มากกว่าการเปลี่ยนระดับใด ๆ จะให้ได้ |
| ตรวจว่าระดับที่สูงขึ้นหนึ่งขั้นทำให้ขนาดตารางเปลี่ยนหรือไม่ | ความจุขยับเป็นขั้น การเพิ่มระดับจึงมักไม่มีต้นทุน |
| ใช้ H กับโค้ดกลางแจ้ง งานอุตสาหกรรม และบรรจุภัณฑ์ | การเสียดสีและสภาพอากาศลบโมดูลออกไปอย่างถาวร ซึ่งเป็นสิ่งที่ความจุสำหรับกู้คืนมีไว้รับมือพอดี |
| ทดสอบตัวอย่างที่พิมพ์แล้วโดยทำให้เสียหายจริง | เปอร์เซ็นต์ตามมาตรฐานเป็นเพดาน ไม่ใช่การรับประกัน |
| ไม่ควรทำ | เพราะอะไร |
|---|---|
| ใช้ H เพื่อชดเชยโค้ดที่เล็กเกินไป | โมดูลที่เล็กลงทำให้ล้มเหลวมากกว่าที่การแก้ไขข้อผิดพลาดจะซ่อมได้ |
| ใช้งบกู้คืนทั้งหมดไปกับโลโก้ | ข้อผิดพลาดจากงานพิมพ์ แสงสะท้อน และโฟกัส เบิกจากงบก้อนเดียวกัน แล้วจะไม่เหลืออะไรเลย |
| คิดว่า H คุ้มครองลายระบุตำแหน่ง | ไม่มีระดับการแก้ไขข้อผิดพลาดใดคุ้มครองมัน ลายระบุตำแหน่งที่ถูกบังหมายถึงการตรวจจับไม่พบ |
| หวังพึ่งการแก้ไขข้อผิดพลาดให้รอดจากการไม่มีพื้นที่ว่างรอบโค้ด | การตรวจจับล้มเหลวก่อนที่การถอดรหัสจะเริ่ม ความจุสำหรับกู้คืนจึงไม่เคยถูกใช้เลย |
| เพิ่มระดับหลังจากโค้ดล้มเหลวในหน้างาน | ให้วินิจฉัยคอนทราสต์ ขนาด และแสงก่อน ระดับแทบไม่เคยเป็นสาเหตุ |
สร้าง QR Code ของคุณ
ฟรี ไม่ต้องสมัครบัญชี ไม่มีลายน้ำ เลือกรูปทรง ใส่โลโก้ ตรวจคอนทราสต์ แล้วส่งออกเป็น SVG, PDF, EPS หรือ PNG ได้ โค้ดแบบสแตติกที่ไม่มีค่าสมัครสมาชิกอยู่เบื้องหลัง
สร้าง QR CodeQuestions? 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 เข้า Figma เป็นเวกเตอร์ที่แก้ไขได้
เส้นทางของ SVG ผ่านคลิปบอร์ดเข้าสู่ Figma สิ่งที่อยู่ในเลเยอร์ที่วางลงไปจริง ๆ การแก้ไขแบบใดที่ยังทำให้โค้ดสแกนได้ และเวิร์กโฟลว์นี้เทียบกับปลั๊กอิน Figma อย่างไร
SVG vs PNG vs PDF vs EPS: ไฟล์ QR Code แบบไหนไปที่ไหน
กฎบรรทัดเดียวของแต่ละฟอร์แมต ไฟล์ PNG SVG PDF และ EPS ของ KoloQR บรรจุอะไรไว้จริง ๆ แต่ละแบบถูกปฏิเสธที่ไหน และจะแปลงระหว่างกันโดยไม่ทำลายโค้ดได้อย่างไร
ทำไม QR Code ถึงสแกนไม่ติด และจะรู้ได้อย่างไรว่าเป็นปัญหาแบบไหน
สามทางที่ QR Code ล้มเหลว - ไม่ถูกตรวจจับเลย อ่านได้ไม่ดี หรืออ่านได้สมบูรณ์แต่ปลายทางพัง - และวิธีที่อาการบอกคุณว่าเป็นแบบไหนก่อนจะวัดอะไรทั้งนั้น
ความละเอียดของ QR Code: ต้องใช้กี่พิกเซลและกี่ DPI กันแน่
สูตรสำหรับงานพิมพ์ เพดานพิกเซลของไฟล์ PNG ขนาดที่พบบ่อย ขนาดโมดูลเป็นมิลลิเมตร และข้อผิดพลาดเรื่องความละเอียดที่ทำให้ QR Code ที่พิมพ์ออกมาสแกนไม่ผ่าน
ทำไมต้อง KoloQR?
- สร้าง QR Code สำหรับเว็บไซต์ เมนู Wi-Fi ไฟล์ PDF และนามบัตร
- ปรับแต่งสี โลโก้ และรูปทรงที่ไม่เหมือนใคร
- ดาวน์โหลดไฟล์ PNG และ SVG คุณภาพสูง
- ออกแบบมาเพื่อทั้งงานพิมพ์และงานดิจิทัล

