ระบบแก้ไขข้อผิดพลาด (error correction) ของ QR Code คือข้อมูลสำรองที่ฝังไว้ในโค้ด ทำให้ยังสแกนได้แม้บางส่วนสกปรก เสียหาย หรือถูกบัง มีสี่ระดับ คือ L กู้ข้อมูลได้ราว 7% M ราว 15% Q ราว 25% และ H ราว 30% ระดับยิ่งสูงยิ่งทนทาน แต่ก็ทำให้โค้ดแน่นขึ้น
ระบบแก้ไขข้อผิดพลาดของ QR Code ทำงานอย่างไร
QR Code ไม่ได้เก็บข้อความของคุณแค่ครั้งเดียวแล้วหวังว่าจะไม่มีอะไรเสียหาย ตอนสร้างโค้ด ข้อมูลจะถูกแบ่งเป็นบล็อกไบต์ที่เรียกว่า codeword แล้วคำนวณ codeword สำหรับแก้ไขข้อผิดพลาดเพิ่มเข้าไป โดยใช้วิธีทางคณิตศาสตร์ที่เรียกว่า Reed–Solomon ซึ่งเป็นเทคนิคตระกูลเดียวกับที่ใช้มาหลายสิบปีในแผ่น CD, DVD และการส่งข้อมูล
เมื่อมือถือสแกนโค้ด มันจะอ่าน codeword ทั้งหมด ถ้าบางส่วนอ่านไม่ออกหรือผิดเพราะรอยขีดข่วน คราบสกปรก หรือโลโก้ที่วางทับ สแกนเนอร์จะใช้ codeword สำรองคำนวณว่าส่วนที่หายไปควรเป็นอะไร ตราบใดที่ความเสียหายยังอยู่ในขอบเขตที่ระดับนั้นรับได้ การสแกนก็สำเร็จ และคุณจะไม่รู้เลยว่ามีอะไรผิดปกติ
ระดับแก้ไขข้อผิดพลาดถูกบันทึกไว้ในพื้นที่เล็ก ๆ ของโค้ดที่เรียกว่า format information ซึ่งเก็บไว้สองชุด เพื่อให้สแกนเนอร์อ่านได้อย่างแน่นอน
สี่ระดับ: L, M, Q และ H
แต่ละระดับแลกพื้นที่เก็บข้อมูลกับความทนทาน ตัวเลขด้านล่างคือสัดส่วนโดยประมาณของข้อมูลในโค้ดที่กู้คืนได้
- ระดับ L (Low) ราว 7% เก็บข้อมูลได้มากที่สุดในโค้ดที่เล็กที่สุด เหมาะกับงานในร่มที่สะอาด หรือแสดงบนหน้าจอ ซึ่งไม่น่าจะเสียหาย
- ระดับ M (Medium) ราว 15% สมดุลและเป็นค่าเริ่มต้นที่ใช้กันทั่วไป เหมาะกับสิ่งพิมพ์ส่วนใหญ่ เช่น ใบปลิว เมนู และนามบัตร
- ระดับ Q (Quartile) ราว 25% ป้องกันเพิ่มสำหรับโค้ดที่อาจสกปรกหรือสึกหรอ เช่น บนบรรจุภัณฑ์ ฉลาก หรือในโรงงาน
- ระดับ H (High) ราว 30% ทนทานที่สุด มักเลือกใช้กับป้ายกลางแจ้ง สภาพแวดล้อมที่โหดร้าย หรือโค้ดที่มีโลโก้ตรงกลาง
ตัวเลขเหล่านี้หมายถึงข้อมูลที่กู้คืนได้ ไม่ได้แปลว่า "ปิดภาพได้ 30%" ความเสียหายในตำแหน่งที่ผิด โดยเฉพาะบนสี่เหลี่ยมใหญ่สามอันที่มุม อาจทำให้โค้ดสแกนไม่ได้แม้พื้นที่ที่เสียหายจะน้อยก็ตาม
ข้อแลกเปลี่ยน: ความทนทานกับความแน่น
การแก้ไขข้อผิดพลาดไม่ได้มาฟรี codeword สำรองใช้พื้นที่ภายในโค้ด สำหรับเนื้อหาเดียวกัน ระดับที่สูงขึ้นหมายถึง
- โมดูลมากขึ้น ซึ่งคือช่องสี่เหลี่ยมขาวดำเล็ก ๆ
- "เวอร์ชัน" ของ QR ใหญ่ขึ้น ซึ่งมีตั้งแต่ 21 × 21 โมดูลที่เวอร์ชัน 1 ไปจนถึง 177 × 177 ที่เวอร์ชัน 40
- ช่องสี่เหลี่ยมแต่ละช่องเล็กลงเมื่อพิมพ์ในขนาดเท่าเดิม
ช่องที่เล็กลงทำให้กล้องแยกแยะได้ยากขึ้น โดยเฉพาะจากระยะไกล ในที่แสงน้อย หรือบนมือถือรุ่นเก่า ดังนั้นการเลือกระดับ H ให้ที่อยู่เว็บยาว ๆ บนฉลากเล็กจิ๋วอาจทำให้โค้ดเชื่อถือได้น้อยลง ไม่ใช่มากขึ้น
วิธีแก้มักเป็นการลดข้อมูล ลิงก์สั้นอย่าง qr-th.com/r/ ที่ใช้ในโค้ดไดนามิกของ QR-TH ช่วยให้เนื้อหาสั้น ทำให้มีพื้นที่พอสำหรับระดับแก้ไขข้อผิดพลาดที่สูงขึ้นโดยโค้ดไม่แน่นเกินไป บทความ QR Code แบบคงที่กับแบบไดนามิก อธิบายว่าลิงก์สั้นทำงานอย่างไร
ควรเลือกระดับไหน?
ใช้แนวทางง่าย ๆ นี้
- แสดงบนหน้าจอหรือพิมพ์ใช้ในร่มที่สะอาด? ระดับ L หรือ M ก็เพียงพอ
- สื่อการตลาดที่พิมพ์ทั่วไป เช่น เมนู ใบปลิว หรือโปสเตอร์? ระดับ M เป็นค่าเริ่มต้นที่เชื่อถือได้
- มีโอกาสถลอก เปียก สกปรก หรือถูกบังบางส่วน? เลือก Q
- มีโลโก้ตรงกลาง ป้ายกลางแจ้ง หรือสภาพแวดล้อมโหด? เลือก H และเก็บข้อมูลให้สั้น
- ไม่ว่าจะเลือกระดับไหน ให้ทดสอบโค้ดที่พิมพ์แล้ว กับมือถือหลายเครื่อง ในระยะและแสงจริง
เครื่องสร้าง QR Code หลายตัวเลือกระดับที่เหมาะสมให้อัตโนมัติ และมักเพิ่มระดับให้เมื่อใส่โลโก้ ถ้าเครื่องมือของคุณให้เลือกเองได้ ให้คิดถึงสถานที่ที่โค้ดจะถูกใช้งาน แทนที่จะตั้งสูงสุดเสมอ
ระบบแก้ไขข้อผิดพลาดกับโลโก้
การวางโลโก้กลาง QR Code ใช้ได้เพราะระบบแก้ไขข้อผิดพลาด โลโก้บังโมดูลบางส่วน และสแกนเนอร์สร้างส่วนนั้นขึ้นใหม่จากข้อมูลสำรอง กฎไม่กี่ข้อช่วยให้ใช้งานได้อย่างมั่นใจ
- ใช้ระดับ H หรืออย่างน้อย Q เมื่อใส่โลโก้
- ให้โลโก้เล็กพอสมควรและอยู่ตรงกลาง เผื่อระยะห่างจากขีดจำกัดการกู้คืนไว้มาก ๆ เพราะความเสียหายในโลกจริง แสงสะท้อน และภาพเบลอก็ใช้ "งบ" การแก้ไขข้อผิดพลาดเช่นกัน
- ห้ามบังสี่เหลี่ยม finder ใหญ่สามอันที่มุม หรือขอบว่างรอบโค้ด
- รักษาคอนทราสต์ระหว่างโค้ดกับพื้นหลังให้ชัด
อ่านคำแนะนำการออกแบบเพิ่มเติมได้ในบทความ ออกแบบ QR Code ให้สวยและสแกนติด
สิ่งที่ระบบแก้ไขข้อผิดพลาดช่วยไม่ได้
ระบบนี้ทรงพลัง แต่ก็มีขีดจำกัด มันช่วยโค้ดที่มีปัญหาเหล่านี้ไม่ได้
- คอนทราสต์ต่ำ เช่น เทาอ่อนบนขาว หรือสีเข้มบนสีเข้ม
- ไม่มีขอบว่าง เพราะพิมพ์ชิดกราฟิกอื่น
- สี่เหลี่ยม finder ที่มุมเสียหาย
- ช่องสี่เหลี่ยมเล็กเกินกว่าจะแยกแยะได้ที่ระยะสแกน
- ภาพบิดเบี้ยวมาก เช่น บนพื้นผิวที่โค้งมาก
- แสงสะท้อนจากการเคลือบเงาที่กลบพื้นที่ขนาดใหญ่
ระบบแก้ไขข้อผิดพลาดยังไม่ได้ทำให้โค้ดปลอดภัยขึ้นด้วย QR Code ระดับ H ก็ยังพาไปเว็บอันตรายได้ และสติกเกอร์ปลอมที่แปะทับโค้ดจริงก็สแกนได้อย่างสมบูรณ์แบบ ถ้าไม่แน่ใจเกี่ยวกับโค้ดไหน ให้ สแกน QR Code ออนไลน์ ด้วย QR-TH ก่อน เพื่อดูปลายทางก่อนเปิดอะไรทั้งนั้น
FAQ
ระดับแก้ไขข้อผิดพลาดของ QR Code ระดับไหนดีที่สุด?
ไม่มีระดับที่ดีที่สุดระดับเดียว M เป็นค่าเริ่มต้นที่ดีสำหรับงานพิมพ์ส่วนใหญ่ ส่วน H เหมาะกับโค้ดที่มีโลโก้และงานกลางแจ้งหรือสภาพแวดล้อมโหด เลือกตามสถานที่ที่จะใช้โค้ด
ระดับแก้ไขข้อผิดพลาดที่สูงขึ้นทำให้ QR Code ใหญ่ขึ้นไหม?
สำหรับข้อมูลเดียวกัน ใช่ มันเพิ่มจำนวนโมดูล ดังนั้นโค้ดที่พิมพ์จะใหญ่ขึ้น หรือแต่ละช่องจะเล็กลง
ใส่โลโก้ใน QR Code ได้ทุกอันไหม?
ได้ก็ต่อเมื่อมีระดับแก้ไขข้อผิดพลาดพอจะชดเชยพื้นที่ที่ถูกบัง จึงควรใช้ Q หรือ H ให้โลโก้เล็กและห่างจากสี่เหลี่ยมที่มุม และทดสอบทุกครั้งก่อนพิมพ์
เปลี่ยนระดับแก้ไขข้อผิดพลาดหลังพิมพ์ได้ไหม?
ไม่ได้ ระดับนี้เป็นส่วนหนึ่งของลวดลายที่พิมพ์ไปแล้ว ถ้าต้องการเปลี่ยน ต้องสร้างและพิมพ์โค้ดใหม่
อยากได้โค้ดที่อ่านได้ในการใช้งานจริงใช่ไหม? สร้างด้วย เครื่องสร้าง QR Code ฟรี ของ QR-TH เก็บเนื้อหาให้สั้น และทดสอบกับมือถือสองสามเครื่องก่อนสั่งพิมพ์