QR Code ทำงานอย่างไร

ชื่ออื่น: การเข้ารหัส QR Code, การถอดรหัส QR Code

คำนิยาม

QR Code ทำงานโดยแปลงข้อมูลเป็นโค้ดเวิร์ด เพิ่มรหัสแก้ไขข้อผิดพลาดแบบ Reed–Solomon แล้ววางบิตลงในตารางรอบลวดลายตายตัวที่ช่วยให้กล้องหา ปรับให้ตรง และอ่านโค้ดได้

จากข้อมูลสู่ลวดลาย

การสร้าง QR Code เริ่มจากเลือกโหมดการเข้ารหัสที่เหมาะกับข้อมูล ได้แก่ ตัวเลข ตัวอักษรและตัวเลข ไบต์ หรือคันจิ ตัวเข้ารหัสแปลงข้อมูลเป็นบิต แบ่งเป็นโค้ดเวิร์ดขนาด 8 บิต และเพิ่มโค้ดเวิร์ดแก้ไขข้อผิดพลาดแบบ Reed–Solomon ตามระดับที่เลือก จากนั้นเลือกเวอร์ชันที่เล็กที่สุดที่ใส่ข้อมูลได้

โค้ดเวิร์ดถูกวางลงในตารางตามเส้นทางซิกแซกที่ข้ามลวดลายตายตัว สุดท้ายตัวเข้ารหัสใช้มาสก์หนึ่งในแปดแบบเพื่อทำลายพื้นที่ว่างกว้าง ๆ หรือรูปร่างที่สับสน และบันทึกมาสก์กับระดับการแก้ไขข้อผิดพลาดไว้ใน Format Information

  • เลือกโหมดการเข้ารหัส
  • เข้ารหัสข้อมูลและเพิ่มโค้ดเวิร์ดแก้ไขข้อผิดพลาด
  • เลือกเวอร์ชัน (ขนาด)
  • วาง Finder, Timing และ Alignment Pattern
  • เติมโมดูลข้อมูล
  • ใช้มาสก์ที่ดีที่สุดในแปดแบบและเขียน Format Information

จากภาพกล้องสู่ข้อมูล

การถอดรหัสทำขั้นตอนเดียวกันย้อนกลับ เครื่องสแกนหา Finder Pattern ทั้งสาม ซึ่งอัตราส่วนสีเข้มต่อสีอ่อน 1:1:3:1:1 โดดเด่นจากภาพส่วนใหญ่ แล้วใช้ร่วมกับ Timing และ Alignment Pattern เพื่อสร้างแผนที่ตาราง จากนั้นอ่าน Format Information ถอดมาสก์ และรวบรวมโค้ดเวิร์ด

การถอดรหัส Reed–Solomon จะซ่อมโค้ดเวิร์ดที่อ่านผิด ภายในขีดจำกัดของระดับการแก้ไขข้อผิดพลาด ถ้าเสียหายมากเกินไป โค้ดจะอ่านไม่ได้แทนที่จะคืนข้อมูลผิด นี่คือเหตุที่ QR Code แทบไม่ให้ผลเป็นข้อมูลเพี้ยน

ทำไมขนาดและคอนทราสต์จึงสำคัญ

ทุกขั้นตอนขึ้นอยู่กับความสามารถของกล้องในการแยกโมดูลสีเข้มจากสีอ่อน โมดูลเล็ก คอนทราสต์ต่ำ แสงสะท้อน ภาพเบลอ หรือไม่มีขอบเงียบ ล้วนทำให้โมดูลที่กำกวมมากขึ้น และการแก้ไขข้อผิดพลาดรับได้จำกัด การทำให้ข้อมูลสั้น คอนทราสต์เข้ม และขอบโล่ง ทำให้ตัวถอดรหัสทำงานง่ายที่สุด

คำถามที่พบบ่อย

มือถือรู้ได้อย่างไรว่า QR Code อยู่ตรงไหน

มันมองหา Finder Pattern สี่เหลี่ยมใหญ่สามอันที่มุม อัตราส่วน 1:1:3:1:1 ที่เป็นเอกลักษณ์ทำให้เครื่องสแกนพบได้จากทุกมุมและคำนวณทิศทางได้

ทำไม QR Code ต้องมี Mask Pattern

มาสก์สลับโมดูลตามลวดลายที่กำหนด เพื่อให้โค้ดเลี่ยงพื้นที่ทึบกว้าง ๆ และรูปร่างที่คล้าย Finder Pattern ตัวเข้ารหัสลองมาสก์ทั้งแปดแบบและเลือกแบบที่อ่านได้น่าเชื่อถือที่สุด

อ่าน QR Code กลับหัวได้ไหม

ได้ Finder Pattern บอกทิศทางให้เครื่องสแกน จึงอ่าน QR Code ได้ในทุกการหมุน

แหล่งที่มาและมาตรฐาน

คำศัพท์ทั้งหมด