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

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
• Đà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
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

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…
• 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.

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
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

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
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

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.
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
and EC
Level
Total Number of
Data Codewords
for this Version
and EC Level
EC
Codewords
Per Block
Number
of Blocks
in Group
1
Number of Data
Codewords in
Each of Group
1's Blocks
Total Data
Codewords
1-L 19 7 1 19 (19*1) = 19
1-M 16 10 1 16 (16*1) = 16

64x
16
+ 236x
15
+ 17x
14
+ 236x
13
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à
32x
25
.
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

+ α
100
x
19
+ α
106
x
18
+ α
104
x
17
+
α
130
x
16
+ α
218
x
15
+ α
206
x
14
+ α
140
x
13
+ α

Tạo mã QR code:
Với QR code phiên bản 1, ta cần một ma trận 21×21.
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.
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.
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ạ.
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ứ

Khi bạn thêm pixels, hãy chắc chắn để bỏ qua các mô hình thời gian.
Và các mẫu timing ở chiều dọc:
Hoàn tất mã QR code
Tiếp tục theo cách này cho đến khi tất cả của các điểm ảnh dữ liệu đã được
đặt. Sau đó, các mã QR là hoàn tất. Tuy nhiên, các đặc điểm kỹ thuật mã QR yêu
cầu bạn sử dụng các mô hình mặt nạ tốt nhất có thể.
Phần tạo mã chúng em sử dụng tools của jquery plugin, còn phần đọc mã thì
bây giờ hầu như smart phone nào cũng mặc định có chức năng này nên bọn em
không đi vào nghiên cứu sâu.
Phần IV: Ứng dụng của QR code
QR Code ban đầu được phục vụ cho công việc sản xuất ô tô với khả năng mang
nhiều dữ liệu mã hóa hơn, độ dung lỗi cao hơn và thời gian quét nhanh hơn. Sau
đó, khi các ứng dụng sử dụng QR Code trên điện thoại thông minh (smart phone)
xuất hiện thì QR Code dần được sử dụng rộng rãi hơn ở nhiều lĩnh vực. Một số ứng
dụng của mã QR ở Nhật Bản và châu Á gồm: ứng dụng của mã QR trong điện
thoại di động; thiết bị chữa trị và chuẩn đoán bệnh trong y học; mã vạch QR và
công nghệ nhận dạng bằng tần số sóng radio (RFID) ứng dụng trong chuỗi cung
ứng…
1. Sử dụng QR Code để quảng cáo
Pizza Digitale
Scholz & Friends, một trong những công ty quảng cáo lớn nhất ở châu Âu, đang
tìm kiếm thành viên mới gia nhập đội ngũ sáng tạo kỹ thuật số của họ. Như công
ty cho biết, "mật ong thu hút nhiều ruồi hơn giấm", vì vậy họ đã cố gắng một chiến
dịch tuyển dụng sáng tạo và quyến rũ - Pizza Digitale - một bánh pizza đặc biệt, đó
là trong bốn tuần thêm vào mỗi đơn hàng từ các nhân viên cơ quan lớn khác. Bánh
pizza được che phủ trong nước sốt cà chua, có hình dạng giống như một mã QR,
trực tiếp liên kết đến thông tin về lời mời làm việc. Kết quả - 12 cuộc phỏng vấn
việc làm và 2 đội mới cho các đơn vị kỹ thuật số của các cơ quan.
Qkies – bánh QR code có thể ăn được
Qkies là một sản phẩm độc đáo được tạo ra bởi công ty thương mại thực phẩm


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status