QR Code ทำงานอย่างไร: การเจาะลึกทางเทคนิค
QR Code ทำงานอย่างไร: การเจาะลึกทางเทคนิค
QR Code (Quick Response code) คือบาร์โค้ดเมทริกซ์สองมิติที่คิดค้นในปี 1994 โดย Denso Wave ซึ่งเป็นบริษัทในเครือของ Toyota ออกแบบมาเพื่อการถอดรหัสความเร็วสูง QR Code เก็บข้อมูลในตารางสี่เหลี่ยมสีดำและขาว (โมดูล) โดยใช้โหมดการเข้ารหัสมาตรฐานสี่โหมดและการแก้ไขข้อผิดพลาดแบบ Reed-Solomon ซึ่งแตกต่างจากบาร์โค้ดเชิงเส้นที่เข้ารหัสข้อมูลในมิติเดียว QR Code บรรจุข้อมูลทั้งในแนวนอนและแนวตั้ง สามารถเก็บตัวอักษรตัวเลขได้สูงสุด 7,089 ตัวในสัญลักษณ์เดียว
กายวิภาคของ QR Code
QR Code ทุกอันประกอบด้วยโซนการทำงานหลายโซน การเข้าใจส่วนประกอบเหล่านี้ช่วยให้คุณออกแบบโค้ดที่สแกนได้อย่างน่าเชื่อถือและเพิ่มความจุข้อมูลสูงสุด
รูปแบบค้นหา (Finder Patterns)
รูปแบบสี่เหลี่ยมที่เหมือนกันสามรูปแบบ อยู่ที่มุมซ้ายบน มุมขวาบน และมุมซ้ายล่าง รูปแบบค้นหาแต่ละอันประกอบด้วยสี่เหลี่ยมสีดำ 7x7 สี่เหลี่ยมสีขาว 5x5 และสี่เหลี่ยมสีดำ 3x3 ที่ศูนย์กลาง รูปแบบเหล่านี้ช่วยให้ซอฟต์แวร์สแกนตรวจจับตำแหน่ง การวางแนว และมุมของ QR Code ได้อย่างรวดเร็วโดยไม่คำนึงถึงการหมุน
รูปแบบการจัดตำแหน่ง (Alignment Patterns)
เครื่องหมายการลงทะเบียนขนาดเล็กกว่า (โดยทั่วไป 5x5 โมดูล) ที่ฝังอยู่ทั่วโค้ด รูปแบบการจัดตำแหน่งช่วยให้เครื่องสแกนแก้ไขการบิดเบี้ยวเมื่อโค้ดถูกพิมพ์บนพื้นผิวโค้ง เช่น บรรจุภัณฑ์สินค้าหรือกระป๋องเครื่องดื่ม โค้ดเวอร์ชัน 2 ขึ้นไปมีรูปแบบการจัดตำแหน่งอย่างน้อยหนึ่งอัน จำนวนจะเพิ่มขึ้นตามขนาดโค้ด
รูปแบบจังหวะ (Timing Patterns)
เส้นสีดำและขาวสลับกันที่วิ่งระหว่างรูปแบบค้นหา ทั้งในแนวนอนและแนวตั้ง โมดูลเหล่านี้กำหนดตำแหน่งแถวและคอลัมน์ของตารางข้อมูล ช่วยให้เครื่องสแกนกำหนดขนาดของแต่ละโมดูล
ข้อมูลรูปแบบ (Format Information)
พื้นที่เฉพาะใกล้กับรูปแบบค้นหาที่เข้ารหัสระดับการแก้ไขข้อผิดพลาดและรูปแบบมาสก์ เครื่องสแกนอ่านส่วนนี้ก่อนเพื่อรู้วิธีถอดรหัสข้อมูลที่เหลืออย่างถูกต้อง
พื้นที่ข้อมูลและการแก้ไขข้อผิดพลาด
โมดูลที่เหลือประกอบด้วยสองพื้นที่ที่แทรกสลับกัน: คำรหัสข้อมูล (เพย์โหลดที่เข้ารหัส) และคำรหัสการแก้ไขข้อผิดพลาด (ข้อมูลสำรองสำหรับการกู้คืนความเสียหาย) พื้นที่เหล่านี้จัดวางในรูปแบบบิตเฉพาะที่แตกต่างกันไปตามเวอร์ชันของ QR Code
พื้นที่เงียบ (Quiet Zone)
ขอบว่างที่จำเป็นอย่างน้อยสี่โมดูลรอบ QR Code ทั้งหมด หากไม่มีพื้นที่เงียบนี้ เครื่องสแกนไม่สามารถแยกโค้ดออกจากสิ่งรอบข้างได้อย่างน่าเชื่อถือ นี่เป็นหนึ่งในสาเหตุที่พบบ่อยที่สุดของการสแกนล้มเหลวในการออกแบบแบบกำหนดเอง
วิธีการเข้ารหัสข้อมูล
QR Code รองรับโหมดการเข้ารหัสที่แตกต่างกันสี่โหมด แต่ละโหมดปรับให้เหมาะกับประเภทข้อมูลที่แตกต่างกัน ตัวเข้ารหัสจะเลือกโหมดที่มีประสิทธิภาพสูงสุดโดยอัตโนมัติตามข้อมูลนำเข้าของคุณ
โหมดตัวเลข (Numeric Mode)
ปรับให้เหมาะสำหรับตัวเลข 0 ถึง 9 เท่านั้น นี่คือโหมดที่มีประสิทธิภาพด้านพื้นที่สูงสุด บรรจุตัวเลขสามตัวใน 10 บิต (เทียบกับ 8 บิตต่อไบต์ในไบนารีมาตรฐาน) ความจุสูงสุดที่เวอร์ชัน 40-L: 7,089 ตัวอักษร เหมาะสำหรับหมายเลขโทรศัพท์ รหัสสินค้า และรหัสตัวเลข
โหมดตัวอักษรผสมตัวเลข (Alphanumeric Mode)
เข้ารหัสตัวเลข (0-9) ตัวอักษรพิมพ์ใหญ่ (A-Z) และอักขระพิเศษเก้าตัว: เว้นวรรค, $, %, *, +, -, ., / และ : อักขระแต่ละคู่ถูกบีบอัดเป็น 11 บิต ความจุสูงสุด: 4,296 ตัวอักษร เหมาะที่สุดสำหรับ URL ที่หลีกเลี่ยงตัวอักษรพิมพ์เล็กและรหัสข้อความสั้น
โหมดไบต์ (Byte Mode)
เข้ารหัสอักขระ 8 บิตใดๆ โดยใช้การเข้ารหัส ISO-8859-1 (Latin-1) เมื่อเนื้อหามีตัวอักษรพิมพ์เล็ก ตัวอักษรผสม หรืออักขระ UTF-8 ตัวเข้ารหัสจะเปลี่ยนเป็นโหมดไบต์ ความจุสูงสุด: 2,953 ตัวอักษร นี่คือโหมดที่ยืดหยุ่นที่สุดและครอบคลุมกรณีการใช้งานทั่วไปส่วนใหญ่ เช่น URL แบบเต็มและข้อความผสม
โหมดคันจิ (Kanji Mode)
โหมดเฉพาะสำหรับอักขระญี่ปุ่นไบต์คู่ (การเข้ารหัส Shift JIS) อักขระคันจิแต่ละตัวถูกบีบอัดเป็น 13 บิตแทนที่จะเป็น 16 บิต ความจุสูงสุด: 1,817 ตัวอักษร ใช้งานน้อยกว่านอกประเทศญี่ปุ่นแต่แสดงให้เห็นถึงต้นกำเนิดของรูปแบบ
กระบวนการเข้ารหัสทีละขั้นตอน
- การวิเคราะห์ข้อมูล — ตัวเข้ารหัสวิเคราะห์เนื้อหาข้อมูลนำเข้าและเลือกโหมดที่มีประสิทธิภาพสูงสุด
- ตัวบ่งชี้โหมด — รหัส 4 บิตส่งสัญญาณว่าเลือกโหมดการเข้ารหัสใด
- จำนวนอักขระ — ลำดับบิตบันทึกความยาวของข้อมูล
- การเข้ารหัสข้อมูล — เนื้อหาถูกแปลงเป็นกระแสบิตโดยใช้โหมดที่เลือก
- ตัวสิ้นสุด — ลำดับการเติมข้อมูลสั้นๆ ทำเครื่องหมายจุดสิ้นสุดของข้อมูล
- การเติมบิต — ความจุที่เหลือถูกเติมด้วยบิต 0 และ 1 สลับกันเพื่อให้ถึงขอบเขตคำรหัสเต็ม
- การสร้างการแก้ไขข้อผิดพลาด — คำรหัส Reed-Solomon ถูกคำนวณและเพิ่มต่อท้าย
เวอร์ชันและขนาดของ QR Code
QR Code ถูกกำหนดไว้ 40 เวอร์ชัน ตั้งแต่เวอร์ชัน 1 (21x21 โมดูล) ถึงเวอร์ชัน 40 (177x177 โมดูล) แต่ละเวอร์ชันที่เพิ่มขึ้นเพิ่ม 4 โมดูลต่อด้าน
| เวอร์ชัน | ขนาด | ความจุตัวเลข (L) | การใช้งานทั่วไป | |---------|-----------|---------------------|-------------| | 1 | 21x21 | 41 | URL ง่ายๆ | | 2 | 25x25 | 77 | ลิงก์สั้น | | 4 | 33x33 | 187 | vCard, URL | | 6 | 41x33 | 322 | การตั้งค่า WiFi | | 10 | 57x57 | 652 | ข้อความขนาดกลาง | | 20 | 97x97 | 1,746 | เอกสาร | | 40 | 177x177 | 7,089 | ข้อมูลสูงสุด |
QR Code ที่ผู้บริโภคพบเห็นส่วนใหญ่ใช้เวอร์ชัน 2 ถึงเวอร์ชัน 10 เวอร์ชันที่สูงขึ้นมีโมดูลที่เล็กกว่า ซึ่งต้องการการพิมพ์ความละเอียดสูงกว่าและการสแกนที่แม่นยำกว่า
การแก้ไขข้อผิดพลาดแบบ Reed-Solomon
QR Code ใช้การแก้ไขข้อผิดพลาดแบบ Reed-Solomon แบ่งข้อมูลเป็นบล็อกและสร้างคำรหัสสำรองสำหรับแต่ละบล็อก มีสี่ระดับ:
- ระดับ L — กู้คืนข้อมูลที่เสียหายได้ 7% ความจุข้อมูลสูงสุด การป้องกันน้อยที่สุด
- ระดับ M — กู้คืนได้ 15% ตัวเลือกมาตรฐานสำหรับการใช้งานทั่วไป เครื่องสร้าง QR ส่วนใหญ่ใช้ระดับนี้เป็นค่าเริ่มต้น
- ระดับ Q — กู้คืนได้ 25% การป้องกันที่แข็งแกร่งสำหรับโค้ดบนสินค้าบรรจุภัณฑ์หรือสิ่งของที่ถูกจับบ่อย
- ระดับ H — กู้คืนได้ 30% การป้องกันสูงสุดสำหรับสภาพแวดล้อมกลางแจ้งหรืออุตสาหกรรม
ระบบการแก้ไขข้อผิดพลาดยังช่วยให้การฝังโลโก้และภาพกราฟิกใน QR Code เป็นที่นิยม โมดูลที่ถูกบดบังจะถูกสร้างใหม่จากข้อมูลสำรอง ตราบใดที่การบดบังไม่เกินความสามารถในการแก้ไขข้อผิดพลาด
กระบวนการสแกนทำงานอย่างไร
การสแกน QR Code สมัยใหม่เกี่ยวข้องกับกระบวนการที่ซับซ้อนที่ทำงานในเสี้ยววินาที:
- การตรวจจับ — กล้องจับภาพ และซอฟต์แวร์ค้นหารูปแบบค้นหาเพื่อกำหนดขอบเขตของโค้ด
- การแก้ไขมุมมอง — เครื่องสแกนใช้การแปลงทางเรขาคณิตเพื่อแก้ไขการมองในมุมเอียงและพื้นผิวโค้ง
- การทำไบนารี — ภาพถูกแปลงเป็นขาวดำล้วนโดยใช้การกำหนดเกณฑ์แบบปรับตัวเพื่อรองรับแสงที่แตกต่างกัน
- การสุ่มตัวอย่างโมดูล — เครื่องสแกนอ่านสีของแต่ละโมดูลที่จุดตัดของตาราง
- การถอดรหัสรูปแบบ — ระดับการแก้ไขข้อผิดพลาดและรูปแบบมาสก์ถูกดึงออกจากพื้นที่รูปแบบ
- การดึงข้อมูล — การมาสก์ถูกย้อนกลับ และกระแสบิตข้อมูลถูกอ่านตามลำดับที่กำหนด
- การตรวจสอบข้อผิดพลาด — การคำนวณซินโดรม Reed-Solomon ตรวจจับและแก้ไขข้อผิดพลาด
- การถอดรหัส — กระแสบิตที่สะอาดถูกแปลงกลับเป็นเนื้อหาต้นฉบับโดยใช้โหมดการเข้ารหัสที่ประกาศไว้
รูปแบบการมาสก์ (Masking Patterns)
QR Code ใช้หนึ่งในแปดรูปแบบการมาสก์ (หมายเลข 0 ถึง 7) กับพื้นที่ข้อมูลก่อนการแสดงผลสุดท้าย การมาสก์ช่วยให้การกระจายโมดูลสีดำและขาวสมดุล ป้องกันพื้นที่ว่างขนาดใหญ่ที่อาจทำให้เครื่องสแกนสับสน เครื่องสแกนอ่านการอ้างอิงมาสก์จากข้อมูลรูปแบบและย้อนกลับการมาสก์ระหว่างการถอดรหัส
Micro QR Code
รูปแบบที่เรียกว่า Micro QR Code ใช้รูปแบบค้นหาเพียงอันเดียว (แทนที่จะเป็นสามอัน) และมีสี่เวอร์ชันที่เล็กกว่า Micro QR Code มีประโยชน์สำหรับพื้นที่ขนาดเล็กมาก เช่น ชิ้นส่วนอิเล็กทรอนิกส์และอุปกรณ์การแพทย์ ด้วยความจุสูงสุด 355 ตัวอักษรตัวเลข
สร้าง QR Code ด้วยความมั่นใจ
การเข้าใจเทคโนโลยีพื้นฐานช่วยให้คุณสร้าง QR Code ที่สแกนได้อย่างน่าเชื่อถือในทุกสภาพแวดล้อม เครื่องสร้าง QR Code ออนไลน์ฟรี ของเราจัดการการตัดสินใจทางเทคนิคทั้งหมดโดยอัตโนมัติ — การเลือกเวอร์ชัน การปรับโหมดให้เหมาะสม การแก้ไขข้อผิดพลาด และการมาสก์ — เพื่อให้คุณได้โค้ดที่พร้อมใช้งานภายในไม่กี่วินาที เลือกจากรูปแบบ URL, ข้อความ, vCard, WiFi และอื่นๆ พร้อมตัวเลือกการปรับแต่งเต็มรูปแบบ