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

โดยทีม KoloQRพื้นฐาน

ระดับการแก้ไขข้อผิดพลาดของ QR Code ทั้งสี่ระดับเป็นตัวอักษรขนาดใหญ่บนแผ่นสี่เหลี่ยมมุมมน Q M L และ H เหนือแถบมุมมนที่เขียนว่า "Error Correction"

การแก้ไขข้อผิดพลาดคือข้อมูลสำรองที่ถูกสร้างไว้ใน 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%17271หน้าจอ แอป URL ยาว ๆ และพื้นผิวสะอาดในร่ม
M (Medium)~15%14213ค่าเริ่มต้นที่พบบ่อย งานพิมพ์ทั่วไป
Q (Quartile)~25%11151โลโก้เล็กตรงกลาง สื่อที่ถูกหยิบจับหรืออยู่กลางแจ้ง
H (High)~30%7119โลโก้ใหญ่ขึ้น การทำเครื่องหมายในงานอุตสาหกรรม การเสียดสี การตากแดดตากฝน
ตัวเลขความจุมาจากตารางความจุอักขระของ ISO/IEC 18004 ในโหมดไบต์

เปอร์เซ็นต์เหล่านี้บอกถึงโค้ดเวิร์ด ไม่ใช่พื้นที่ผิว และเป็นค่าตามมาตรฐานมากกว่าค่าที่แม่นยำ เวอร์ชัน 1 ทำให้เห็นการคำนวณได้ชัด สัญลักษณ์นี้มีทั้งหมด 26 โค้ดเวิร์ด และ Reed–Solomon ซ่อมได้ถึงครึ่งหนึ่งของโค้ดเวิร์ดสำหรับแก้ไขข้อผิดพลาดในบล็อกหนึ่ง หักด้วยส่วนสำรองเล็กน้อยที่มาตรฐานกันไว้เพื่อลดความเสี่ยงที่จะถอดรหัสได้ข้อมูลผิด

ระดับ (เวอร์ชัน 1)โค้ดเวิร์ดข้อมูลโค้ดเวิร์ด ECโค้ดเวิร์ดที่ซ่อมได้สัดส่วนจาก 26 โค้ดเวิร์ด
L19728%
M1610415%
Q1313623%
H917831%

ในสัญลักษณ์ที่ใหญ่ขึ้น ข้อมูลถูกแบ่งเป็นบล็อก 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
L329 × 290.86 mm11.6 mm
M433 × 330.76 mm13.2 mm
Q433 × 330.76 mm13.2 mm
H537 × 370.68 mm14.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 ของคุณทนความเสียหายได้จริงแค่ไหน

ให้ทดสอบโค้ดที่พิมพ์จริงแทนการเชื่อเปอร์เซ็นต์ตามมาตรฐาน ระดับบอกคุณว่ามีงบเท่าไร ส่วนงานพิมพ์บอกว่างบนั้นถูกใช้ไปแล้วเท่าไร ขั้นตอนด้านล่างใช้เวลาราวสิบห้านาที และให้ตัวเลขที่คุณเชื่อถือได้

  1. สร้างโค้ดด้วยการตั้งค่าสุดท้าย. เนื้อหาเดียวกัน ระดับการแก้ไขข้อผิดพลาดเดียวกัน โลโก้เดียวกัน ส่งออกเป็น SVG
  2. พิมพ์ด้วยการตั้งค่าและวัสดุของงานจริง. เครื่องพิมพ์เดียวกัน กระดาษเดียวกัน การเคลือบเดียวกัน ปรู๊ฟจากเครื่องเลเซอร์บนกระดาษออฟฟิศทำนายพฤติกรรมของกระดาษแข็งไม่เคลือบไม่ได้
  3. สแกนงานพิมพ์ที่ยังไม่เสียหายที่ระยะที่ตั้งใจไว้ด้วยมือถือสองเครื่อง. เครื่องหนึ่ง iOS อีกเครื่อง Android ใช้กล้องในเครื่อง ถ้าล้มเหลวตั้งแต่ตรงนี้ ให้หยุดแล้วแก้เรื่องขนาดหรือคอนทราสต์ก่อนไปทดสอบความเสียหาย
  4. ปิดพื้นที่ 10% ของสัญลักษณ์ตรงกลางด้วยเทปทึบแสง. สำหรับโค้ดขนาด 25 mm สี่เหลี่ยมขนาด 8 × 8 mm ใกล้เคียง 10% แล้วสแกนอีกครั้ง
  5. เพิ่มพื้นที่ที่ถูกปิดทีละ 5% จนกว่าโค้ดจะสแกนไม่ผ่าน. บันทึกเปอร์เซ็นต์สุดท้ายที่ยังใช้ได้ นั่นคือความทนทานจริงของคุณ
  6. ทำซ้ำโดยย้ายความเสียหายไปไว้ที่ขอบด้านหนึ่งและพาดมุมหนึ่ง. โดยเลี่ยงลายระบุตำแหน่ง ความเสียหายที่ขอบมักล้มเหลวเร็วกว่าความเสียหายตรงกลาง
  7. ทำซ้ำภายใต้แสงจริง. พื้นที่ขายจริง ร้านอาหารตอนกลางคืน ทางเดินในคลังสินค้า
  8. เทียบผลกับระดับตามมาตรฐาน. ถ้าโค้ดระดับ 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 คุณภาพสูง
  • ออกแบบมาเพื่อทั้งงานพิมพ์และงานดิจิทัล
สร้าง QR Code
QR Code สีดำธรรมดาวางข้าง QR Code เดียวกันที่ออกแบบใหม่เป็นทรงกลมด้วยสีของแบรนด์