intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Đề tài: Nghiên cứu QR Code và Ứng dụng

Chia sẻ: Xabi Alonso | Ngày: | Loại File: DOC | Số trang:33

491
lượt xem
82
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Mã QR (tạm dịch là mã đáp ứng nhanh) là một loại ma trận mã vạch( hay mã vạch hai chiều) ban đầu được thiết kế cho nền công nghiệp ô tô Nhật Bản. Các mã QR được sử dụng phổ biến nhất ở Nhật Bản và hiện là loại mã hai chiều thông dụng nhất ở Nhật Bản. Gần đây, hệ thống mã QR đã trở nên phổ biến bên ngoài ngành công nghiệp ô tô do khả năng đọc nhanh và dung lượng lưu trữ lớn hơn so với tiêu chuẩn mã vạch UPC....

Chủ đề:
Lưu

Nội dung Text: Đề tài: Nghiên cứu QR Code và Ứng dụng

  1. HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG ­­­­­­­­­­                           BÁO CÁO BÀI TẬP NHÓM CHUYÊN ĐỀ Đề tài: Nghiên cứu QR Code và Ứng dụng Giảng viên  : Nguyễn Quỳnh Chi Lớp             : D09HTTT1 Sinh viên thực hiện: • Nguyễn Trần Đức • Nguyễn Trung Kiên • Trần Doãn Hảo
  2. • Đào Tiến Đạt • Vi Thanh Tùng Hà Nội,4/2013 Phần I: Tổng Quan 1. QR Code: Mã vạch thế hệ mới Mã QR (tạm dịch là mã đáp ứng nhanh) là một loại ma trận mã vạch( hay mã vạch  hai chiều) ban đầu được thiết kế cho nền công nghiệp ô tô Nhật Bản. Các mã QR  được sử dụng phổ biến nhất ở Nhật Bản và hiện là loại mã hai chiều thông dụng nhất  ở Nhật Bản. Gần đây, hệ thống mã QR đã trở nên phổ biến bên ngoài ngành công  nghiệp ô tô do khả năng đọc nhanh và dung lượng lưu trữ lớn hơn so với tiêu chuẩn  mã vạch UPC. Hình ảnh mã QR Code
  3. Một mã QR được đọc bởi một đầu đọc mã vạch, chẳng hạn như một máy ảnh, một  điện thoại di động, một điện thoại thông minh, hoặc một webcam, và sử dụng thuật  toán sửa lỗi Reed­Solomon. Mã QR được phát minh tại Nhật Bản bởi công ty Denso Wave( công ty con của  Toyota) vào năm 1994 để theo dõi xe trong sản xuất.  Các mã QR nhỏ nhất là 21x21 pixel, và lớn nhất là 177x177. Các kích thước được  gọi là phiên bản. Kích thước 21x21 pixel là phiên bản 1, 25x25 là phiên bản 2, và cứ  tiếp tục như thế. Kích thước 177x177 là phiên bản 40. 2. Sử dụng Ban đầu được thiết kế cho mục đích sử dụng công nghiệp, mã QR đã trở nên phổ  biến trong quảng cáo của người tiêu dùng. Điện thoại thông minh của người dùng có  thể cài đặt một ứng dụng với một máy quét QR­code có thể đọc được một mã hiển thị  và chuyển đổi nó vào một URL chỉ đến trang web của một công ty, cửa hàng, hoặc  sản phẩm liên quan đến mã cung cấp thông tin cụ thể bằng trình duyệt web của điện  thoại. "In the shopping industry, knowing what causes the consumers to be motivated  when approaching products by the use of QR codes, advertisers and marketers can  use the behavior of scanning to get consumers to buy, causing it to have the best  impact on ad and marketing design" ­ Tolliver­Walker, Heidi (2011). Kết quả là, mã  QR đã trở thành một trọng tâm của quảng cáo chiến lược, vì nó cung cấp truy cập  nhanh và dễ dàng đến trang web của thương hiệu. Ngoài việc tiện lợi cho người tiêu  dùng, tầm quan trọng của điều này khả năng là nó làm tăng tỷ lệ chuyển đổi (có  nghĩa là, làm tăng cơ hội có thể liên lạc với các quảng cáo sẽ chuyển đổi để bán),  bằng cách đưa người xem đến trang web của nhà quảng cáo ngay lập tức. Mã QR lưu trữ địa chỉ và Uniform Resource Locators (URL) có thể xuất hiện trên  các tạp chí, trên các chữ ký, trên xe buýt, trên thẻ kinh doanh, hoặc trên hầu hết các  đối tượng cần sử dụng thông tin. Người sử dụng với một máy ảnh điện thoại được  trang bị một ứng dụng đọc chính xác có thể quét hình ảnh của mã QR để hiển thị văn  bản, thông tin liên lạc, kết nối với một mạng không dây , hoặc mở một trang web trong 
  4. trình duyệt của điện thoại. Mã QR cũng có thể nối tiếp đến một vị trí nơi mà mã đã  được quét. Hoặc các ứng dụng quét mã QR truy xuất thông tin địa lý bằng cách sử  dụng GPS và tế bào tam giác tháp (aGPS) hoặc URL được mã hóa trong mã QR  chính nó được liên kết với một vị trí. Phần II: Đặc Điểm của QR Code 1. So sánh QR code và BarCode QR Code chứa đựng thông tin một địa chỉ web, thời gian diễn ra một sự kiện, thông  tin liên hệ  địa chỉ email, tin nhắn SMS, nội dung ký tự văn bản hay thậm chí là thông  tin định vị vị trí địa lý. Tùy thuộc thiết bị đọc mã QR mà bạn dùng khi quét, nó sẽ dẫn  bạn tới một trang web, gọi đến một số điện thoại, xem một tin nhắn... QR code cũng tương tự mã vạch truyền thống tuy nhiên điểm khác nhau giữa QR  code và mã vạch truyền thống là lượng dữ liệu chúng nắm giữ hay chia sẻ. Các mã vạch truyền thống có các đường vạch thẳng dài một chiều và chỉ có thể  lưu giữ 20 số chữ số, trong khi QR code hai chiều có thể lưu giữ thông tin hàng ngàn  ký tự chữ số. QR code nắm giữ nhiều thông tin hơn và tính chất dễ dùng sẽ giúp ích  rất nhiều cho các doanh nghiệp vừa và nhỏ. 2. Ưu điểm • Mã vạch QR là một loại mã vạch hai chiều có nhiều tính năng ưu việt do Công  ty Denso của Nhật Bản phát minh. Mã vạch QR có khả năng mã hóa nhiều  thông tin, giải mã nhanh, khả năng sửa lỗi cao(có thể đọc được mã bị mờ hoặc  mất đi một phần) và có thể mã hóa được ký tự Kanji và chữ tiếng Việt. Thông  qua việc tích hợp vào các thiết bị điện thoại di động, mã QR đang được các  công ty Nhật Bản phát triển thành các giải pháp thông minh cho thương mại  qua di động…
  5. • Một mã QR có thể chứa đựng thông tin một địa chỉ web (URL), thời gian diễn ra  một sự kiện, thông tin liên hệ (như vCard), địa chỉ email, tin nhắn SMS, nội  dung ký tự văn bản hay thậm chí là thông tin định vị vị trí địa lý. Tùy thuộc thiết  bị đọc mã QR mà bạn dùng khi quét, nó sẽ dẫn bạn tới một trang web, gọi đến  một số điện thoại, xem một tin nhắn… 3. Nhược điểm Những ứng dụng trong tương lai dành cho mã vạch QR code là rất lớn, nhưng mã  vạch này cũng có những hạn chế nhất định như sau: • QR code đòi hỏi phải có phần mềm đọc mã trên điện thoại, và nếu mã này xuất  hiện ngoài trời như trên billboard, bến xe… có thể những chướng ngại vật khác  sẽ hạn chế khả năng nhận dạng của máy. Bạn phải có smart phone tích hợp  camera mới đọc được mã. • QR code cũng không có tính lan truyền (viral) như hình thức nhắn tin SMS… • Hơn nữa, tuy QR code cực kỳ phổ biến tại Nhật Bản, song nhìn chung loại mã  này vẫn còn khá mới mẻ. Thông thường doanh nghiệp phải giải thích và hướng  dẫn khách hàng cách sử dụng. 4. Khả năng lưu trữ của QR code Số lượng dữ liệu có thể được lưu trữ trong các biểu tượng QR code phụ thuộc vào  kiểu dữ liệu (hình thức hoặc tập ký tự đầu vào), phiên bản (1,…,40, mô tả kích thước  của QR Code), và mức độ sửa lỗi. Khả năng lưu trữ tối đa cho 40­L symbols (ở phiên  bản 40, mức sửa lỗi là L): Khả năng lưu trữ ký tự tối đa (40­L)
  6. Chế độ đầu vào Ký tự tối đa Bit/char Ký tự khả dụng, bộ mã hoá mặc định Số đơn thuần    7,089 3⅓ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 Chữ và số 4,296 5½ 0–9, A–Z (chỉ chữ hoa), cách, $, %, *, +, -, ., /, : Số nhị phân 2953 8 ISO 8859-1 Kanji/Kana 1817 13 Shift JIS X 0208 Một vài ví dụ về QR Code: Phiên bản 1(21x21) :  Phiên bản 2(25x25) :  Phiên bản 3(29x29) : Phiên bản 4 (33x33) : “Ver1” “Version2” “Version 3 QR code” “Version 4 QR code, up to 50 char” 5. Khả năng sửa lỗi Mức L:     7% số từ mã (codeword) có thể được phục hồi. Mức M:    15% số từ mã có thể được phục hồi. Mức Q:     25% số từ mã có thể được phục hồi. Mức H:     30% số từ mã có thể được phục hồi.
  7. Phần III: Thuật toán QR Code 1. Phân tích dữ liệu Một mã QR mã hoá một chuỗi văn bản. Các mã QR chuẩn có bốn kiểu mã hoá  văn bản: số, chữ và số, nhị phân, và Kanji. Mỗi kiểu mã hoá văn bản như một chuỗi  nhị phân (gồm 1 và 0), nhưng mỗi kiểu sử dụng một phương thức khác nhau để  chuyển đổi văn bản sang chuỗi nhị phân. Mỗi phương thức được tối ưu hoá để tạo  ra chuỗi nhị phân ngắn nhất có thể cho một loại dữ liệu. Phần này giải thích làm thế  nào để xác định kiểu để sử dụng. Các kiểu mã QR
  8. Bốn kiểu mã hoá bao gồm các loại sau:  Kiểu số: gồm các chữ số thập phân từ 0 đến 9  Kiểu chuỗi: các chữ số thập phân từ 0 đến 9, các chữ cái in hoa, và các ký  tự đặc biệt $,%, *, +, ­,., /, và khoảng trống  Kiểu nhị phân: kiểu này dành cho bộ ký tự  ISO­8859­1  Kiểu Kanji: cho các ký tự sử dụng 2 byte từ tập ký tự Shift JIS Cách chọn kiểu dữ liệu hiệu quả nhất Để chọn kiểu dữ liệu hiệu quả cho mã QR, kiểm tra các ký tự đầu vào theo các  điều kiện sau đây: ­ Nếu chuỗi đầu vào chỉ gồm các chữ số thập phân, sử dụng kiểu số ­ Nếu kiểu số không áp dụng được, và tất cả các ký tự trong chuỗi đầu vào có  thể tìm thấy cột bên trái của bảng chữ và số thì ta chọn kiểu chuỗi. ­ Nếu có một ký tự không có trong cột bên trái của bảng chữ và số nhưng có  thể mã hoá được theo tiêu chuẩn ISO­8859­1 thì ta sử dụng kiểu nhị phân ­ Nếu tất cả các ký tự đều thuộc bộ ký tự Shift JIS thì ta sử dụng kiểu Kanji. 2. Mã hoá dữ liệu Bước 1: chọn mức sửa lỗi Trước khi mã hoá dữ liệu, ta sẽ chọn một mức sửa lỗi. Như đã đề cập trong phần  tổng quan, mã QR sử dụng bộ sửa lỗi Reed­Solomon. Tiến trình này tạo ra mã sửa  lỗi (bytes ) dựa trên dữ liệu đã được mã hoá. Một bộ đọc mã QR có thể sử dụng các  byte sửa lỗi để xác định nếu nó không thể đọc dữ liệu một cách chính xác, và mã  sửa lỗi có thể sử dụng để sửa lỗi. Có 4 mức sửa lỗi: L, M, Q, H Cấp độ sửa lỗi Khả năng sửa lỗi L Phục hồi 7% dữ liệu
  9. M Phục hồi 15% dữ liệu Q Phục hồi 25% dữ liệu H Phục hồi 30% dữ liệu Bước 2: xác định phiên bản nhỏ nhất cho dữ liệu Các kích cỡ khác nhau của mã QR được gọi là phiên bản. chúng có bốn mươi  phiên bản. Phiên bản nhỏ nhất là 1 (21x21 pixels), phiên bản 2 (25x25 pixels), lớn  nhất là phiên bản 40 (177x177 pixels). Mỗi phiên bản lớn hơn phiên bản trước đó 4  pixels. Mỗi phiên bản có khả năng tối đa nhất định, tuỳ thuộc vào kiểu sử dụng. Ngoài  ra, mức độ sửa lỗi hạn chế khả năng tiếp tục. Bảng khả năng các ký tự liệt kê các  khả năng của các phiên bản QR cho một kiểu mã hoá nhất định và mức sửa lỗi. Xác định phiên bản nhỏ nhất: Tại điểm này, đếm số ký tự cần mã hoá, và xác định phiên bản nhỏ nhất có thể  chứa các ký tự để mã hoá và đưa ra mức độ sửa lỗi. Ví dụ, cụm từ HELLO WORLD có 11 ký tự. Nếu mã hoá với mức sửa lỗi Q, theo  bảng khả năng các ký tự, phiên bản 1 sử dụng mức sửa lỗi Q chỉ có thể chứa 10 ký  tự trong kiểu chữ và số. Do đó, phiên bản nhỏ nhất có thể sử dụng là 2. Bước 3: thêm bộ hiển thị kiểu Mỗi kiểu mã hoá có bốn bit bộ hiển thị kiểu xác định nó. Dữ liệu được mã hoá  phải bắt đầu với bộ hiển thị kiểu thích hợp xác định kiểu được sử dụng cho các bit  đến sau nó. Bảng sau liệt kê các bộ hiển thị kiểu cho mỗi kiểu Ví dụ, nếu mã hoá HELLO WORLD ở kiểu chữ và số, bộ hiển thị kiểu là 0010 Mode Name Mode Indicator Numeric Mode 0001 Alphanumeric Mode 0010
  10. Byte Mode 0100 Kanji Mode 1000 ECI Mode 0111 Bước 4: thêm bộ đếm ký tự Trong bước này, chúng ta xác định có bao nhiêu ký tự trong thông điệp, và  chuyển độ dài đó thành một số nhị phân. Với chuỗi HELLO WORLD, có 11 ký tự kể cả khoảng trắng. Ta chuyển 11 sang  nhị phân, được 1011. Xem danh sách ở dưới. Khi mã hóa độ dài của dữ liệu, chúng ta mã hóa nó sử  dụng một số lượng bit đặc tả. Như đã nói ở đầu, chúng ta sử dụng QR code phiên  bản 1, vậy nên chúng ta cần sử dụng 9 bit để mã hóa độ dài dữ liệu. Ta thêm số 0  vào đầu chuỗi cho đên khi đủ 9 bit: 000001011. Phiên bản 1 tới 9 ­ Kiểu số: 10 bits ­ Kiểu chuỗi: 9 bits ­ Kiểu nhị phân: 8 bits ­ Kiểu Nhật ngữ: 8 bits Phiên bản 10 tới 26 ­ Kiểu số: 12 bits ­ Kiểu chuỗi: 11 bits ­ Kiểu nhị phân: 16 ­ Kiểu Nhật ngữ: 10 bits
  11. Phiên bản 27 tới 40 ­ Kiểu số: 14 bits ­ Kiểu chuỗi: 13 bits ­ Kiểu nhị phân: 16 bits ­ Kiểu Nhật ngữ: 12 bits Tới đây chuỗi nhị phân chúng ta là: 0010 000001011. Bước 5: mã hoá theo kiểu đã chọn Tiến trình mã hoá theo các kiểu: ­   Mã hoá kiểu số    ­   Mã hoá kiểu chữ và số    ­   Mã hoã kiểu nhị phân   Để mã hóa chuỗi ký tự, ta chia chuỗi thành các cặp ký tự: HE,LL,O ,WO,RL,D. Với mỗi cặp ký tự, ta lấy giá trị mã ASCII của ký tự đầu nhân với 45, sau đó cộng  với giá trị mã ASCII của ký tự sau. Sau đó chuyển kết quả thu được thành một  chuỗi nhị phân 11 bit. Đối với các ký tự không có cặp, tao lấy giá trị mã ASCII của nó rồi chuyển thành  chuỗi nhị phân 6 bit. Đối với các chế độ khác: kiểu số, kiểu nhị phân, kiểu Nhật ngữ, tao sử dụng  phương thức khác để mã hóa dữ liệu. Bộ hiển thị kiểu Bộ hiển thị đếm ký tự Dữ liệu mã hoá 0010 000001011 01100001011  01111000110  10001011100 10110111000  10011010100  001101
  12. Bước 6: hoàn thành các bit Với chuỗi bit thu được ở trên, ta phải chắc chắn rằng nó có đủ độ dài. Điều này phụ  thuộc vào việc có bao nhiêu bit chúng ra cần để tạo phiên bản và sửa lỗi. Với QR code phiên bản 1, sửa lỗi mức độ Q. Nếu chuỗi bit nhỏ ít hơn 104, ta phải thêm  4 số 0 vào cuối chuỗi. Nếu thêm 4 số 0 được một chuỗi nhiều hơn 104, ta chỉ cần thêm số  0 cho tới khi nào đủ 104 bit. Chuỗi của chúng ta có 59 bit, ta thêm 4 số 0 vào cuối chuỗi. (Còn nếu chuỗi có 102 bit  thì ta thêm 2 số 0). Chuỗi của ta bây giờ là: 0010 000001011 01100001011 01111000110 10001011100 10110111000  10011010100 001101 0000 Bước 7: Thêm các từ vào cuối nếu chuỗi quá ngắn Nếu chuỗi bit của chúng ta vẫn chưa đủ dài, có hai chuỗi con đặc biệt:  11101100 và 00010001. Ta thêm thay phiên hai chuỗi con này vào chuối chuỗi của  chúng ta. Chuỗi của chúng ta chỉ có 10 chuỗi con, cần phải thêm vào 3 chuỗi con nữa.  Bắt đầu thêm 11101100, sau đó thêm 00010001, rồi tới 11101100. Nếu cần nhiều  hơn thì cứ thêm lần lượt như vậy cho tới khi đủ số chuỗi con. Chuỗi của chúng ta bây giờ: 00100000 01011011 00001011 01111000 11010001 01110010 11011100  01001101 01000011 01000000 11101100 00010001 11101100 3. Tạo mã sửa lỗi QR code bao gồm bộ mã sửa lỗi. Các khối dữ liệu dự phòng đảm bảo rằng mã  QR code vẫn được đọc cho dù có một phần không đọc được.
  13. Bước 1: Tìm ra có bao nhiêu mã sửa lỗi cần được tạo Bước đầu tiên để tạo mã sửa lỗi là xác định có bao nhiêu từ để tạo cho phiên  bản QR và mức độ sửa lỗi. Tham khảo thêm bảng sửa lỗi.  Version  Total Number of  EC  Number  Number of Data  Total Data  and  Data Codewords  Codeword of  Codewords in  Codewords EC  for this Version  s Per  Blocks in  Each of Group  Level and EC Level Block Group 1 1's Blocks 1­L 19 7 1 19 (19*1) = 19 1­M 16 10 1 16 (16*1) = 16 1­Q 13 13 1 13 (13*1) = 13 1­H 9 17 1 9 (9*1) = 9 2­L 34 10 1 34 (34*1) = 34 Xem bảng ở trên, chúng ta cần 13 mã sửa lỗi. Bước 2: Tạo một thông điệp đa thức Chúng ta chuyển 13 khối dữ liệu ở trên thành dạng thập phân: 00100000 01011011 00001011 01111000 11010001 01110010 11011100  01001101 01000011 01000000 11101100 00010001 11101100 Ta được: 32, 91, 11, 120, 209, 114, 220, 77, 67, 64, 236, 17, 236 Các số này sẽ là hệ số của đa thức. Ta có: 32x25 + 91x24 + 11x23 + 120x22 + 209x21 + 114x20 + 220x19 + 77x18 + 67x17 +   64x16 + 236x15 + 17x14 + 236x13
  14. Lũy thừa của số hạng đầu tiên được tính: Số khối dữ liệu + số mã sửa lỗi ­1 Ở đây là 13+13­1=25. Vậy nên số hạng đầu tiên là 32x25 . Bước 3: Tạo bộ tạo đa thức Tiếp theo ta sẽ tạo một bộ tạo đa thức. Ta chia thông điệp đa thức bởi bộ tạo  này để tạo mã sửa lỗi. Các bộ tạo đa thức đến từ một cái gì đó gọi là một trường hữu hạn , cũng được  biết đến như là một trường Galois. Các mã QR sử dụng một trường Galois có 256  yếu tố, có nghĩa là, mục đích của chúng ta, rằng những con số mà chúng ta sẽ  được giao dịch với sẽ luôn luôn tối đa là 255 và ít nhất là 0. Để thực hiện việc phân chia đa thức, chúng ta sẽ được chuyển đổi qua lại giữa  các ký hiệu α (alpha) và các số nguyên. Alpha và các giá trị số nguyên từ bảng log  và antilog. Bộ tạo đa thức luôn luôn có dạng (x – α) (x – α 2) … (x – α t), , t  tương đương với  số lượng mã sửa lỗi cần thiết trừ đi 1.Chúng ta cần 13 mã sửa lỗi, do đó, t trong  trường hợp này là 12. Ta thức hiện triển khai tất cả các thành phần (x – α) cho tới khi chúng ta được  đa thức. Công việc này thực hiện bằng tay khá phức tạp, sử dụng generator  polynomial tool. Ở đây chúng ta tạo 13 mã sửa lỗi: 0 25 74 24 152 23 176 22 100 21 86 20 100 19 106 18 104 17 α x  + α x  + α x  + α x  + α x  + α x  + α x  + α x  + α x  +  130 16 218 15 206 14 140 13 78 12 α x  + α x  + α x  + α x + α x Dưới đây, tôi cho thấy từng bước của việc phân chia đa thức cần thiết để tạo ra  mã sửa lỗi. Nếu bạn muốn xem các bước này được thực hiện cho một đa thức tin  nhắn khác nhau và số lượng từ ECC, truy cập trang show division steps. Kết quả của bước này ta được mã sửa lỗi: 168 72 22 82 217 54 156 0 46 15 180 122 16
  15. Ta đặt đoạn mã sửa lỗi sau đoạn mã dữ liệu: 32 91 11 120 209 114 220 77 67 64 236 17 236 168 72 22 82 217 54 156 0 46  15 180 122 16 Chuyển qua nhị phân: 00100000 01011011 00001011 01111000 11010001 01110010 11011100  01001101 01000011 01000000 11101100 00010001 11101100 10101000  01001000 00010110 01010010 11011001 00110110 10011100 00000000  00101110 00001111 10110100 01111010 00010000 4. Chọn mẫu mặt nạ phù hợp Bây giờ chúng ta đã mã hóa các dữ liệu, tất cả những gì còn lại là chọn mẫu mặt  nạ phù hợp. Một mẫu mặt nạ thay đổi theo các bit, theo một quy tắc cụ thể. Các  mẫu mặt nạ được định nghĩa trong tiêu chuẩn mã QR. Có 8 mẫu mặt nạ. Xem danh sách các kiểu mặt nạ QR . Sử dụng mô hình mặt  nạ cho phép chúng tôi để tạo ra tám mã QR khác nhau và sau đó chọn một trong  đó sẽ được dễ dàng nhất cho một đầu đọc QR để quét. Một đặc biệt mã QR có thể  có các mẫu nhất định hoặc những đặc điểm mà làm cho nó khó khăn cho thiết bị  đọc QR chính xác quét mã QR. Ví dụ, nếu điểm ảnh của cùng một màu sắc xảy ra  gần nhau, một đầu đọc QR có thể gặp khó khăn khi đọc chính xác các điểm ảnh. Mỗi mô hình mặt nạ tạo ra một mã QR code khác nhau. Sau khi chúng ta tạo ra  các mã khác nhau QR trong nội bộ, chúng tôi cung cấp cho mỗi một số điểm xử  phạt theo các quy tắc quy định trong tiêu chuẩn mã QR. Sau đó, chúng ta cho ra  mã QR có số điểm tốt nhất. Tạo mã QR code: Với QR code phiên bản 1, ta cần một ma trận 21×21.
  16. Tất cả các mã QR code đều có một vài mẫu nhận diện chắc chắc phải đc thể  hiện. Ở hình bên dưới, có ba vị trí nhận diện được đặt ở trên cùng bên trái, trên  cùng bên phải và dưới cùng bên trái của ma trận. Các mã QR code còn có một  pixel đen ở bên phải của vị trí nhận diện bên dưới cùng bên trái. Ngoài ra còn có  mẫu timing. Vị trí điều chỉnh mô hình Từ ví dụ này là chỉ mã hóa một phiên bản 1 mã QR, chúng ta không cần thêm  bất kỳ mô hình điều chỉnh vị trí. Tuy nhiên, nếu chúng ta đã mã hóa một mã QR  phiên bản 2 hoặc lớn hơn, chúng tôi sẽ thêm các mẫu điều chỉnh vị trí ma  trận. Bảng dưới đây liệt kê các tọa độ của nơi để đặt các mô hình điều chỉnh vị  trí. Xem ví dụ ở bảng dưới đây.
  17. Ví dụ, hình ảnh dưới đây cho thấy các mô hình điều chỉnh vị trí cho phiên bản  mã QR 8. Mỗi mô hình điều chỉnh vị trí là một điểm ảnh màu đen bao quanh bởi  các điểm ảnh màu trắng được bao quanh bởi các điểm ảnh màu đen. Theo bảng  trên, cho phiên bản mã QR 8, vị trí các mô hình điều chỉnh 6, 24, và 42. Như ta  thấy trong hình ảnh, mô hình điều chỉnh vị trí được đặt ở tất cả các giao điểm của  ba con số này, ngoại trừ đã có lớn hơn mô hình phát hiện vị trí không đặt mô hình  điều chỉnh vị trí trên hàng đầu của các mô hình phát hiện vị trí trong góc của mã  QR.
  18. Thêm thông tin Loại Các thông tin về mức độ sửa lỗi và mô hình mặt nạ được mã hóa ở dạng dải với  các cạnh của các mẫu phát hiện vị trí. Bảng sau đây hiển thị các bit thông tin các loại được yêu cầu cho các cấp, sửa  lỗi khác nhau và các mẫu mặt nạ.
  19. Trong ví dụ Hello World, mô hình mặt nạ tốt nhất là 0. Chúng ta đang sử dụng  mức độ hiệu chỉnh lỗi Q, vì vậy các chuỗi loại thông tin là 011010101011111. Như  trong hình trên, các chuỗi loại thông tin được hiển thị hai lần. Một trong số đó là  dưới hai mô hình phát hiện vị trí hàng đầu, bắt đầu từ bên trái. Nó bỏ qua quá khứ  mô hình thời gian và phần dữ liệu của lưới. Điều thứ hai là quyền của các mẫu phát  hiện vị trí, bắt đầu từ phía dưới, bỏ qua dấu chấm đen, phần dữ liệu, và mô hình  thời gian. Cả hai sọc cùng một chuỗi: 011010101011111. Thêm thông tin phiên bản Nếu mã QR của bạn là phiên bản 7 hoặc lớn hơn, bạn cần phải thêm các bit  thông tin phiên bản ma trận. Đây là những được đặt ở bên trái của mô hình trên bên  phải phát hiện vị trí và trên các mô hình phát hiện vị trí phía dưới bên trái, như thể  hiện trong hình ảnh dưới đây, trong đó có một phiên bản 9 Mã QR. Bảng sau đây cho thấy một danh sách của các bit thông tin phiên bản cần thiết  cho mỗi phiên bản. Những bit được đặt trong cấu hình sau đây trong các vị trí được  chỉ định trong hình trên:
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2