TIÊU CHUẨN QUỐC GIA TCVN 7322:2009 (ISO/IEC 18004:2006) VỀ CÔNG NGHỆ THÔNG TIN – KỸ THUẬT PHÂN ĐỊNH VÀ THU NHẬN DỮ LIỆU TỰ ĐỘNG – YÊU CẦU KỸ THUẬT ĐỐI VỚI MÃ HÌNH QR CODE 2005

Hiệu lực: Còn hiệu lực

TIÊU CHUẨN QUỐC GIA

TCVN 7322:2009

ISO/IEC 18004:2006

CÔNG NGHỆ THÔNG TIN – KỸ THUẬT PHÂN ĐỊNH VÀ THU NHẬN DỮ LIỆU TỰ ĐỘNG – YÊU CẦU KỸ THUẬT ĐỐI VỚI MÃ HÌNH QR CODE 2005

Information technology – Automatic identification and data capture techniques – QR code 2005 bar code symbology specification

Lời nói đầu

TCVN 7322: 2009 thay thế TCVN 7322: 2003.

TCVN 7322: 2009 hoàn toàn tương đương với ISO/IEC 18004:2006.

TCVN 7322: 2009 do Tiểu ban kỹ thuật tiêu chuẩn quốc gia TCVN/JTC1/ SC 31 “Thu nhận dữ liệu tự động” biên soạn, Tổng cục Tiêu chuẩn Đo lường Chất lượng đề nghị, Bộ Khoa học và Công nghệ công bố.

Lời giới thiệu

Cần phải phân biệt bốn thành viên trong họ QR code tuy khác nhau về mặt kỹ thuật, nhưng lại có liên hệ chặt chẽ với nhau, bốn thành viên này thể hiện một quá trình phát triển như sau:

– QR code Model 1 là bản ghi quy định kỹ thuật gốc về QR code và được mô tả trong tài liệu Quy định kỹ thuật 97-001 về mã vạch của quốc tế AIM.

– QR code Model 2 là dạng nâng cao của QR code với các đặc tính bổ sung (chủ yếu là sự bổ sung các mẫu căn chuẩn để trợ giúp sự điều hướng trong các mã lớn hơn) và là cơ sở cho lần xuất bản đầu tiên của ISO/IEC 18004.

– QR code 2005 (cơ sở cho lần xuất bản thứ hai của ISO/IEC 18004) rất giống với QR code Model và, trong định dạng QR code của nó, chỉ khác biệt về sự bổ sung khả năng mã vạch có thể xuất hiện trong hướng hình ảnh phản chiếu, cơ cấu đảo chiều của hệ số phản xạ (mã vạch nhạt màu in trên nền đậm màu) và sự lựa chọn để quy định các bộ ký tự khác đối với sự xác lập mặc định đã biết.

– Định dạng Micro QR code (cũng được quy định trong tiêu chuẩn này) là một biến thể của QR code 2005 với một số rút gọn các môđun tiêu đề và một phạm vi các cỡ bị giới hạn, cho phép thể hiện một lượng dữ liệu từ nhỏ đến vừa vào trong một mã hình nhỏ, đặc biệt phù hợp với việc tạo mã trực tiếp lên các phần và các phần hợp thành và phù hợp với các ứng dụng có diện tích gắn mã hạn chế.

QR code 2005 là một loại mã hình, dạng ma trận, gồm một tập hợp các môđun vuông danh định được sắp xếp thành Mẫu hình vuông, bao gồm một mẫu tìm kiếm đơn nhất đặt ở ba góc của mã vạch (đối với mã hình Micro QR code, thì chỉ đặt ở một góc) với mục tiêu trợ giúp việc xác định vị trí, kích cỡ và độ nghiêng của mã một cách dễ dàng. Có nhiều kích cỡ khác nhau của mã được đưa ra, cùng với bốn mức độ sửa lỗi. Kích cỡ của môđun do người sử dụng tự tạo lập cho phép tạo mã bằng nhiều kĩ thuật khác nhau.

QR code Model 2 tương thích hoàn toàn với các hệ thống đọc QR code 2005.

Khuyến nghị chỉ sử dụng QR code Model 1 trong các ứng dụng thuộc hệ thống đóng và không yêu cầu thiết bị phù hợp với tiêu chuẩn này phải hỗ trợ Model 1. Vì QR code 2005 được khuyến nghị sử dụng trong các ứng dụng thuộc hệ thống mở, mới, tiêu chuẩn này quy định đầy đủ về QR code 2005 và liệt kê các điểm khác biệt giữa QR code Model 1 và QR code 2005 trong Phụ lục N.

 

CÔNG NGHỆ THÔNG TIN – KỸ THUẬT PHÂN ĐỊNH VÀ THU NHẬN DỮ LIỆU TỰ ĐỘNG – YÊU CẦU KỸ THUẬT ĐỐI VỚI MÃ HÌNH QR CODE 2005

Information technology – Automatic identification and data capture techniques – QR code 2005 bar code symbology specification

1. Phạm vi áp dụng

Tiêu chuẩn này quy định các yêu cầu đối với mã hình được gọi là QR code 2005. Tiêu chuẩn này quy định các đặc tính của mã hình QR code 2005, phương pháp mã hóa ký tự dữ liệu, định dạng mã vạch, các đặc tính về kích thước, các quy tắc sửa lỗi, thuật toán giải mã tham chiếu, các yêu cầu về chất lượng tạo mã và các tham số ứng dụng cho người sử dụng lựa chọn, và liệt kê các đặc tính của mã hình QR code Model 1 khác với mã hình QR code 2005 trong phụ lục tham khảo.

2. Tính phù hợp

Mã hình QR code 2005 (và thiết bị được thiết kế để tạo hoặc để đọc mã hình QR code 2005) phải được coi như đã phù hợp với tiêu chuẩn này nếu chúng quy định hay hỗ trợ các đặc tính đã định trong tiêu chuẩn này.

Thiết bị phù hợp với tiêu chuẩn này có thể không đọc được mã vạch phù hợp với các yêu cầu đối với QR code Model 1, như được quy định trong TCVN 7322:2003 (ISO/IEC 18004:2000).

Thiết bị phù hợp với tiêu chuẩn này có thể đọc được mã vạch phù hợp với các yêu cầu đối với QR code Model 2, như được quy định trong TCVN 7322:2003 (ISO/IEC 18004:2000).

Thiết bị đọc phù hợp với TCVN 7322:2003 (ISO/IEC 18004:2000) không có khả năng đọc tất cả mã vạch phù hợp với tiêu chuẩn này. Những thiết bị như vậy không có khả năng đọc mã vạch có tận dụng các đặc tính bổ sung của QR code 2005.

Thiết bị in phù hợp với TCVN 7322:2003 (ISO/IEC 18004:2000) không có khả năng in tất cả mã vạch quy định trong tiêu chuẩn này. Những thiết bị như vậy không có khả năng in mã vạch tận dụng các đặc tính bổ sung của QR code 2005.

Tuy nhiên, cũng phải chú ý rằng, QR code 2005 là dạng mã hình được khuyến nghị cho các ứng dụng thuộc hệ thống mở và mới.

3. Tiêu chuẩn viện dẫn

Các tài liệu viện dẫn sau là cần thiết cho việc áp dụng tiêu chuẩn này. Đối với các tài liệu viện dẫn ghi năm công bố thì áp dụng phiên bản được nêu. Đối với các tài liệu viện dẫn không ghi năm công bố thì áp dụng phiên bản mới nhất, bao gồm cả các sửa đổi.

ISO/IEC 8859-1:1998, Information technology – 8-bit single-byte coded graphic character sets – Part 1: Latin alphabet No.1 (Công nghệ thông tin – Các bộ ký tự đồ họa được mã hóa bai đơn 8-bit – Phần 1: Bảng chữ cái Latinh số 1)

ISO/IEC 15415, Information technology – Automatic identification and data capture techniques – Bar code print quality test specification – Two-dimensional symbols (Công nghệ thông tin – Kỹ thuật phân định và thu nhận dữ liệu tự động – Yêu cầu kỹ thuật đối với kiểm tra chất lượng in mã vạch – Mã vạch hai chiều)

ISO/IEC 15424, Information technology – Automatic identification and data capture techniques – Data carrier identifiers (including symbology identifiers). (Công nghệ thông tin – Kỹ thuật phân định và thu nhận dữ liệu tự động – Số phân định vật mang dữ liệu (bao gồm cả s phân định mã hình).

ISO/IEC 19762-1, Information technology – Automatic identification and data capture (AIDC) techniques – Harmonized vocabulary – Part 1: General terms relating to AIDC (Công nghệ thông tin – Kỹ thuật phân định và thu nhận dữ liệu tự động (AIDC) – Từ vựng được hài hòa – Phần 1: Các thuật ngữ chung liên quan đến AIDC)

ISO/IEC 19762-2, Information technology – Automatic identification and data capture (AIDC) techniques – Harmonized vocabulary – Part 2: Optically readable media (ORM) (Công nghệ thông tin – Kỹ thuật phân định và thu nhận dữ liệu tự động (AIDC) – Từ vựng được hài hòa – Phần 2: Phương tiện có khả năng đọc về mặt quang học (ORM))

JIS X 0201, 7-bit and 8-bit character sets for Information Interchange. (Bộ ký tự 7-bit và 8-bit dùng để trao đổi thông tin)

JIS X 0208:1997, 7-bit and 8-bit double byte coded KANJI sets for Information Interchange. (Bộ KANJI được mã hóa byte đôi 7-bit và 8-bit dùng để trao đổi thông tin)

AIM, International Technical Specification, Extended Channel Interpretations (Phương thức dịch kênh mở rộng. Quy định kỹ thuật quốc tế, AIM):

– Part 1: ldentification schemes and protocols (Phần 1: Lược đồ và giao thức nhận dạng)

– Part 2: Registration procedure for coded character sets and other data formats (Phần 2: Thủ tục đăng ký các bộ ký tự được mã hóa và các dạng dữ liệu khác)

– Character set register (Đăng ký bộ ký tự).

AIM International symbology specification 97-001, QR code (Quy định kỹ thuật mã vạch của quốc tế AIM 97-001, QRcode)

GS1 general specification, GS1 (Quy định kỹ thuật chung của tổ chức GS1).

4. Thuật ngữ và định nghĩa, ký hiệu toán học và lôgic, chữ viết tắt và quy ước

4.1. Thuật ngữ và định nghĩa

Tiêu chuẩn này sử dụng các thuật ngữ và định nghĩa nêu trong ISO/IEC 19762-1 và ISO/IEC 19762-2 và các thuật ngữ dưới đây:

4.1.1Mẫu căn chuẩn (Alignment pattern)

Mẫu tham chiếu được cố định ở những vị trí xác định trong một mã hình ma trận, cho phép phần mềm giải mã tái đồng bộ ánh xạ tọa độ của môđun ảnh trong trường hợp có biến dạng hình ảnh với số lượng vừa phải.

4.1.2Chỉ dấu đếm ký tự (Character count indicator)

Chuỗi bit quy định độ dài dòng dữ liệu trong một mode.

4.1.3Áp mặt nạ dữ liệu (Data masking)

Quá trình áp dụng phép toán logic XOR cho mẫu bit trong vùng mã hóa với một mẫu mặt nạ dữ liệu để tạo ra một mã hình có số lượng môđun tối và sáng cân bằng hơn và làm giảm sự xuất hiện các mẫu ảnh hưởng tới việc xử lý nhanh hình ảnh.

4.1.4Số tham chiếu mẫu mặt nạ dữ liệu (Data mask pattern reference)

Số phân định 3-bit của các mẫu mặt nạ dữ liệu áp dụng cho mã hình.

4.1.5Vùng mã hóa (Encoding region)

Vùng của mã hình không thuộc phạm vi được choán giữ bởi các mẫu chức năng, được sử dụng để mã hóa dữ liệu và các từ mã sửa lỗi và dành cho thông tin về định dạng và cỡ hình.

4.1.6Tập con loại trừ (Exclusive subset)

Tập hợp con các ký tự trong phạm vi bộ ký tự của mode không chung với bộ ký tự giới hạn hơn của mode khác.

4.1.7Mẫu mở rộng (Extension pattern)

Mu chức năng không mã hóa dữ liệu trong mã hình Model 1.

4.1.8Thông tin định dạng (Format information)

Mu được mã hóa chứa thông tin về các ký tự mã hình, đóng vai trò cốt yếu cho phép phần còn lại của vùng mã hóa được giải mã.

4.1.9Mã QR (QR code)

Thuộc về mã hình QR code 2005 được nhận dạng là các cỡ hình từ 1 đến 40, khác biệt với các mã hình Micro QR code.

4.1.10Mu chức năng (Function pattern)

Thành phần ở trên đầu của mã hình (mẫu tìm kiếm, dấu phân cách, mẫu căn chỉnh và mẫu căn chuẩn) cần cho việc định vị mã hình hoặc nhận dạng các đặc điểm của nó để hỗ trợ việc giải mã.

4.1.11Áp mặt nạ (Masking)

Quá trình áp dụng phép toán logic XOR cho mẫu bit trong vùng mã hình với một mẫu mặt nạ để làm giảm sự xuất hiện các mẫu ảnh hưởng tới việc xử lý nhanh hình ảnh.

4.1.12. Micro

Thuộc về mã hình QR code 2005 được nhận dạng là các cỡ hình từ M1 đến M4, khác biệt với các mã hình QR code.

4.1.13Mode (Mode)

Phương pháp thể hiện bộ ký tự đã cho bằng một dòng bit.

4.1.14Chỉ báo mode (Mode indicator)

Số phân định 4 bit chỉ ra chế độ mà chuỗi dữ liệu tiếp theo được mã hóa.

4.1.15Bit độn thêm (Padding Bit)

Bit 0, không thể hiện dữ liệu, thường được sử dụng để lấp chỗ trống của từ mã cuối cùng sau dấu kết thúc trong dòng bit dữ liệu.

4.1.16Mẫu tìm kiếm (Finder pattern)

Một trong ba thành phần đồng nhất của mẫu tìm kiếm trong mã hình QR code.

4.1.17Bit dư (Remainder bit)

Bit 0, không thể hiện dữ liệu, được sử dụng để lp chỗ trống của vùng mã hóa mã hình sau ký tự mã hình cuối cùng, khi phạm vi của vùng mã hóa có sẵn cho các ký tự mã hình không chia được một cách chính xác thành các ký tự mã hình 8-bit.

4.1.18Từ mã dư (Remainder codeword)

Từ mã thêm vào, đặt sau các từ mã sửa lỗi, được sử dụng để lấp chỗ trống của từ mã để hoàn chỉnh mã hình nếu tổng số từ mã dữ liệu và sửa lỗi không lấp đầy dung lượng danh định của nó một cách chính xác.

4.1.19Đoạn (Segment)

Chuỗi dữ liệu được mã hóa theo các quy tắc của ECI hoặc chế độ mã hóa.

4.1.20Dấu phân cách (Separator)

Mẫu chức năng gồm tất cả các môđun sáng, độ rộng bằng 1 môđun, phân cách các mẫu tìm kiếm với phần còn lại của mã hình.

4.1.21Số mã hình (Symbol number)

Trường 3 bit chỉ ra cỡ mã hình và mức sửa lỗi được áp dụng, được sử dụng như một phần của thông tin định dạng trong mã hình Micro QR code.

4.1.22Dấu kết thúc (Terminator)

Mẫu bit về số đã biết (tùy thuộc vào mã hình) của tất cả các bit 0 được sử dụng để kết thúc dòng bit thể hiện dữ liệu.

4.1.23Mu căn chỉnh (Timing pattern)

Chuỗi môđun tối và sáng luân phiên nhau cho phép xác định các tọa độ của môđun trong mã hình.

4.1.24Cỡ hình (Version)

Cỡ của mã hình được thể hiện bằng vị trí của nó trong chuỗi các cỡ hình cho phép đối với mã hình Micro QR code từ 11 x 11 môđun (cỡ hình M1) đến 17 x 17 môđun (cỡ hình M4), hoặc đối với mã hình QR code từ 21 x 21 môđun (cỡ hình 1) đến 177 x 177 môđun (c hình 40).

CHÚ THÍCH Có thể thêm hậu tố mức sửa lỗi áp dụng cho mã hình vào cỡ hình đã biết, ví dụ cỡ hình 4-L hoặc cỡ hình M3-Q.

4.1.25Thông tin cỡ hình (Version information)

Mu được mã hóa trong các mã hình QR code 2005 chứa thông tin về cỡ mã hình cùng các bit sửa lỗi cho dữ liệu này.

4.2. Ký hiệu toán học và lôgic

Các ký hiệu toán học sử dụng trong các công thức và các phương trình được xác định sau khi chúng xuất hiện trong công thức hay phương trình.

Trong tiêu chuẩn này, các phép toán sẽ sử dụng các ký hiệu sau:

div phần nguyên
mod số dư
XOR hàm logic hoặc loại trừ cho kết quả bằng 1 chỉ khi nào hai giá trị đầu vào không giống nhau. Hàm này được ký hiệu là Å.

4.3. Chữ viết tắt

BCH     Bose-Chaudhuri-Hocquenghem

ECI       Extended Channel Interpretation (phương thức dịch kênh mở rộng)

RS        Reed-Solomon

4.4. Quy ước

4.4.1. Vị trí của môđun

Để dễ dàng xem xét, vị trí của môđun được xác định theo hoành độ và tung độ trong mã hình dưới dạng (i,j) trong đó i chỉ hàng (đếm từ trên xuống) và j chỉ cột (đếm từ trái sang phải) tại vị trí mà môđun sẽ được đặt, bắt đầu đếm từ số 0. Như vậy, môđun có tọa độ (0,0) sẽ nằm ở góc trên cùng bên trái của mã hình.

4.4.2. Ký pháp Byte

Giá trị của Byte được biểu diễn theo hệ thập lục phân (cơ số 16).

4.4.3. Số tham chiếu c hình

Đối với mã hình QR code, các cỡ mã hình được đ cập dưới dạng cỡ hình V-E trong đó V là số cỡ hình (từ 1 đến 40) và E là mức sửa lỗi (L, M, Q, H).

Đối với mã hình Micro QR code, các cỡ mã hình được đề cập dưới dạng cỡ hình MV-E trong đó chữ cái M chỉ ra định dạng của Micro QR code và V (với phạm vi từ 1 đến 4) và E (với các giá trị L, M và Q) có ý nghĩa như đã nêu ở trên.

5. Mô tả mã hình

5.1. Những đặc trưng cơ bản

QR code 2005 là mã hình dạng ma trận có những đặc trưng sau:

a) Định dạng:

1) QR code, với toàn bộ phạm vi các khả năng và dung lượng dữ liệu lớn nhất;

2) Micro QR code, với phần đầu được giảm bớt, một vài hạn chế về khả năng và dung lượng dữ liệu bị cắt giảm (so với mã hình QR code).

b) Bộ ký tự mã hóa:

1) dữ liệu số (số từ 0 – 9);

2) dữ liệu chữ số (số từ 0 – 9; chữ cái hoa từ A – Z; chín ký tự khác: dấu cách, $ % * + – . / :);

3) dữ liệu byte (mặc định: ISO/IEC 8859-1; hoặc các bộ khác nếu không được xác định (xem 6.3.4));

4) Các ký tự Kanji. Các ký tự Kanji trong QR code 2005 có thể được nén trong 13 bit.

c) Thể hiện dữ liệu:

Một môđun tối thường là số 1 hệ nhị phân và một môđun sáng thường là số 0 hệ nhị phân. Tuy nhiên cần xem thêm 5.2 để biết thêm chi tiết về sự đảo chiều của hệ số phản xạ

d) Cỡ của mã hình (không bao gồm vùng trống):

1) Mã hình Micro QR code: từ 11 x 11 môđun đến 17 x 17 môđun (các cỡ hình từ M1 đến M4, tăng dần mỗi lần mỗi cạnh 2 môđun);

2) Mã hình QR code: từ 21 x 21 môđun đến 177 x 177 môđun (các cỡ hình từ 1 đến 40, tăng dần mỗi lần mỗi cạnh 4 môđun).

e) Số lượng ký tự dữ liệu trong mỗi mã hình

1) cỡ mã hình Micro QR code lớn nhất, cỡ hình M4-L:

– dữ liệu số: 35 ký tự

– dữ liệu chữ số: 21 ký tự

– dữ liệu byte: 15 ký tự

– dữ liệu Kanji: 9 ký tự

2) cỡ mã hình QR code lớn nhất, cỡ hình 40-L:

– dữ liệu số: 7 089 ký tự

– dữ liệu chữ số: 4 296 ký tự

– dữ liệu byte: 2 953 ký tự

– dữ liệu Kanji: 1 817 ký tự

f) Các mức sửa lỗi có thể chọn lựa:

Có 4 mức sửa lỗi RS (gọi là L, M, Q và H theo thứ tự tăng dần về khả năng) cho phép khôi phục từ mã của mã hình:

– L 7%

– M 15%

– Q 25%

– H 30%

Đối với mã hình Micro QR code, không có mức sửa lỗi H. Đối với mã hình Micro QR code cỡ hình M1, khả năng RS chỉ được giới hạn đến sự phát hiện ra lỗi.

g) Kiểu mã:

Ma trận

h) Sự độc lập về hướng:

Có (cả sự xoay vòng và phản xạ)

Hình 1 minh họa mã hình QR code 2005 cỡ hình 1 có màu thông thường và với sự đảo chiều của hệ số phản xạ (xem 5.2), ở c hai hướng thông thường và hình phản chiếu.

Hình 2 minh họa mã hình Micro QR code 2005 cỡ hình M2 có màu thông thường và với sự đảo chiều của hệ số phản xạ (xem 5.2), ở cả hai hướng thông thường và hình phản chiếu.

5.2. Tóm tắt các đặc tính bổ sung

Việc sử dụng các đặc tính bổ sung dưới đây là tùy chọn trong QR code 2005:

– Kết ni có cấu trúc

Đặc tính này cho phép các file dữ liệu được thể hiện một cách lôgic và liên tục trong tối đa 16 mã hình QR code 2005. Có thể quét theo trình tự bất kì các mã này để tái tạo lại dữ liệu nguồn một cách chính xác. Không có kết nối có cấu trúc cho mã Micro.

– Phương thức dịch kênh m rộng

Cơ chế này cho phép mã hóa dữ liệu sử dụng các bộ ký tự khác với bộ ký tự mã hóa mặc định (ví dụ như các bộ chữ Ả rập, Siri, Hy Lạp) và các bộ dịch dữ liệu khác (chẳng hạn như khối dữ liệu sử dụng được xác định theo chuẩn nén) hoặc các yêu cầu đặc thù của ngành công nghiệp khác. Trong mã hình Micro QR code chỉ có phương thức dịch mặc định, không có các phương thức dịch kênh mở rộng khác.

– Sự đảo chiều của hệ số phản xạ

Các mã hình được nhằm để đọc khi bị tạo mã sao cho hình ảnh hoặc là tối trên sáng hoặc là sáng trên tối (xem Hình 1 và 2). Các quy định kỹ thuật trong tiêu chuẩn này căn cứ vào hình ảnh tối trên nền sáng, vì thế trong trường hợp mã hình được chế tạo ra có số tham chiếu hệ số phản xạ đo chiều đến môđun tối hoặc sáng thì lần lượt phải coi đó là các số tham chiếu đến môđun sáng hoặc tối.

– Hình phn chiếu

Sự sắp xếp các môđun nêu trong tiêu chuẩn này thể hiện hướng “thông thường” của mã hình. Tuy nhiên, có thể giải mã được mã hình với sự sắp xếp các môđun đã được đổi chỗ ở bên. Khi xem xét mẫu tìm kiếm tại góc trên cùng bên trái, góc trên cùng bên phải và góc dưới cùng bên trái mã hình, ảnh hưởng của hình phản chiếu là làm thay đổi các vị trí hàng và cột của các môđun.

Hình 1 – Ví dụ về mã hình QR code 2005 mã hóa dòng chữ “QR Code Symbol” – (a) hướng thông thường và sự sắp xếp hệ số phản xạ thông thường; (b) hướng thông thường và hệ số phản xạ đảo chiều; (c) hướng hình phản chiếu và sự sắp xếp hệ số phản xạ thông thường; (d) hướng hình phản chiếu và hệ số phản xạ đảo chiều

Hình 2 – Ví dụ về mã hình Micro QR code cỡ hình M2 mã hóa dòng số “01234567” – (a) hướng thông thường và sự sắp xếp hệ số phản xạ thông thường; (b) hướng thông thường và hệ số phản xạ đảo chiều; (c) hướng hình phản chiếu và sự sắp xếp hệ số phản xạ thông thường; (d) hướng hình phản chiếu và hệ số phản xạ đảo chiều

CHÚ THÍCH Các dấu ở góc trong Hình 1 và 2 chỉ rõ sự mở rộng của vùng trống.

5.3. Cấu trúc mã hình

Mỗi một mã hình QR code 2005 phải được tạo bởi các môđun vuông danh định được xếp theo một ma trận vuông và s bao hàm một vùng mã hóa và các mẫu chức năng, được gọi là mẫu tìm kiếm, dấu phân cách, mẫu căn chỉnh và mẫu căn chuẩn. Các mẫu chức năng không mã hóa dữ liệu. Bốn phía của mã sẽ được bao bọc bởi một đường viền trống. Hình 3 mô tả cấu trúc của mã hình cỡ 7. Hình 4 mô tả cấu trúc của mã hình cỡ M3.

Hình 3 – Cấu trúc của mã hình QR code 2005

Hình 4 – Cấu trúc của mã hình Micro QR code cỡ hình M3

5.3.1. C hình và kích thước mã hình

5.3.1.1. Mã hình QR code

Có 40 cỡ mã hình QR code 2005 được gọi là cỡ hình 1, cỡ hình 2… cỡ hình 40. Cỡ hình 1 gồm 21 x 21 môđun, cỡ hình 2 gồm 25 x 25 môđun, và cứ như vậy mỗi cỡ hình sau tăng thêm 4 môđun mỗi cạnh cho đến cỡ hình thứ 40 là 177 x 177 môđun. Hình 5 đến Hình 10 mô tả cấu trúc của các cỡ hình 1, 2, 6, 7, 14, 21 và 40.

Hình 5 – Mã hình cỡ 1 và 2

Hình 6 – Mã hình cỡ 6

Hình 7 – Mã hình cỡ 7

Hình 8 – Mã hình cỡ 14

Hình 9 – Mã hình cỡ 21

Hình 10 – Mã hình cỡ 40

5.3.1.2. Mã hình Micro QR code

Có 4 cỡ mã hình Micro QR code là M1, M2, M3 và M4. Cỡ hình M1 gồm 11 x 11 môđun, cỡ hình M2 gồm 13 x 13 môđun, cỡ hình M3 gồm 15 x 15 môđun và cỡ hình M4 gồm 17 x 17 môđun, có nghĩa là mỗi cỡ hình sau tăng thêm 2 môđun mỗi cạnh. Hình 11 mô tả cấu trúc cỡ hình từ M1 đến M4 của Micro QR code.

CHÚ THÍCH Hai định dạng của mã hình M3 được chỉ ra, chỉ khác ở vị trí đt từ mã theo mức sửa lỗi.

Hình 11 – Các cỡ hình của mã hình Micro QR code

5.3.2. Mẫu tìm kiếm

5.3.2.1. Mã hình QR code

Có 3 mẫu tìm kiếm giống nhau đặt tương ứng ở góc trên bên trái, góc trên bên phải và góc dưới bên trái của mã hình như minh họa ở Hình 3. Mỗi mẫu tìm kiếm có thể được xem như 3 hình vuông đồng tâm chồng lên nhau và được tạo bởi 7 x 7 môđun tối, 5 x 5 môđun sáng và 3 x 3 môđun tối. Tỉ lệ độ rộng của môđun trong mỗi mẫu tìm kiếm là 1 : 1 : 3 : 1 : 1 như minh họa ở Hình 12. Mã hình này được ưu tiên mã hóa sao cho ít có khả năng tìm thấy được những mẫu tương tự ở bất kì vị trí nào trong mã hình, cho phép nhận dạng mã hình QR code 2005 một cách nhanh chóng trong trường nhìn. Việc nhận dạng được ba mẫu định vị tạo nên mẫu tìm kiếm sẽ cho ta định rõ được vị trí và hướng quay của mã hình trong trường nhìn.

5.3.2.2. Mã hình Micro QR code

Một mẫu tìm kiếm đơn lẻ, như được quy định trong 5.3.2.1, được đặt ở góc trên bên trái của mã hình như minh họa ở Hình 4. Việc nhận dạng mẫu tìm kiếm này cùng các mẫu căn chỉnh sẽ cho ta định rõ được vị trí, cỡ và hướng quay của mã hình trong trường nhìn.

Hình 12 – Cấu trúc mu tìm kiếm

5.3.3. Dấu phân cách

Dấu phân cách với độ rộng 1 môđun, được tạo bởi toàn môđun sáng, được đặt giữa mẫu tìm kiếm và vùng mã hóa, như minh họa ở Hình 3 và 4.

5.3.4. Mẫu căn chỉnh

Mẫu căn chỉnh theo chiều ngang và chiều dọc tương ứng bao gồm một dòng hoặc một cột rộng 1 môđun xen kẽ giữa môđun sáng và môđun tối, bắt đầu và kết thúc bởi một môđun tối. Các mẫu này cho phép xác định mật độ và cỡ mã hình và chúng cung cấp vị trí dữ liệu để xác định các tọa độ của môđun.

Trong mã hình QR code, mẫu căn chỉnh theo chiều ngang chạy qua dòng 6 của mã hình giữa những dấu phân cách đối với các mẫu tìm kiếm ở bên trên; mẫu căn chỉnh theo chiều dọc tương tự chạy xuống theo cột 6 của mã hình giữa những dấu phân cách đối với các mẫu tìm kiếm phía bên trái. Xem Hình 3.

Trong mã hình Micro QR code, mẫu căn chỉnh theo chiều ngang chạy qua dòng 0 của mã hình  phía bên phải dấu phân cách đến lề phải của mã hình; mẫu căn chỉnh theo chiều dọc tương tự chạy xuống theo cột 0 của mã hình phía bên dưới dấu phân cách đến lề dưới cùng của mã hình. Xem Hình 4.

5.3.5. Mẫu căn chuẩn

Các mẫu căn chuẩn chỉ được thể hiện trong mã hình QR code c hình 2 hoặc lớn hơn. Mỗi mẫu căn chuẩn có thể được xem như ba hình vuông đồng tâm chồng lên nhau và được tạo bởi 5 x 5 môđun tối, 3 x 3 môđun sáng và một môđun tối đơn lẻ ở trung tâm. Số mẫu căn chuẩn phụ thuộc cỡ của mã hình và chúng được đặt trong tất cả các mã hình của cỡ hình 2 hoặc lớn hơn ở các vị trí được quy định trong Phụ lục E.

5.3.6. Vùng mã hóa

Vùng này bao gồm các ký tự mã hình thể hiện dữ liệu, thể hiện từ mã sửa lỗi, thông tin định dạng và thông tin cỡ hình khi có thể. Tham khảo 6.7.1 để xem chi tiết về các ký tự của mã hình. Tham khảo 6.9 để xem chi tiết về thông tin định dạng. Tham khảo 6.10 để xem chi tiết về thông tin c hình.

5.3.7. Vùng trống

Đây là vùng không có bất kì dấu hiệu nào khác, bao quanh ở bốn phía của mã hình. Giá trị hệ số phản xạ danh định của nó phải bằng với giá trị hệ số phản xạ danh định của các môđun sáng.

Đối với mã hình QR code, vùng trống phải có chiều rộng là 4X.

Đối với mã hình Micro QR code, vùng trống phải có chiều rộng là 2X.

6. Yêu cầu kỹ thuật

6.1. Khái quát về quá trình mã hóa

Điều này nêu khái quát các bước cần thiết để chuyển đổi dữ liệu đầu vào thành mã hình QR code 2005.

Bước 1: Phân tích dữ liệu

Phân tích dòng dữ liệu đầu vào để xác định tính đa dạng của các ký tự khác nhau sẽ được mã hóa. Dạng QR code (nhưng không phải là dạng Micro QR code) hỗ trợ đặc tính Phương thức dịch kênh mở rộng, cho phép mã hóa dữ liệu khác với bộ ký tự mặc định. QR code 2005 bao gồm một số mode (xem 6.3) cho phép các tập con ký tự khác nhau được chuyển đổi thành các ký tự mã hình một cách hiệu quả. Khi cần thiết có thể chuyển đổi giữa các mode với nhau để đạt được sự chuyển đổi dữ liệu thành dòng nhị phân một cách hiệu quả nhất. Chọn mức tìm lỗi và sửa lỗi theo yêu cầu. Nếu người sử dụng chưa quy định cỡ của mã hình phải sử dụng thì chọn cỡ hình nhỏ nhất phù hợp với dữ liệu. Danh sách đầy đủ về cỡ hình và dung lượng mã hình được nêu ở Bảng 1.

Bước 2: Mã hóa dữ liệu

Chuyển đổi các ký tự dữ liệu thành một dòng bit theo các quy tắc về mode được sử dụng như đã nêu ở 6.4.2 đến 6.4.6, khi cần thay đổi mode thì chèn chỉ dấu mode ở đoạn đầu của mỗi đoạn mode mới và một dấu kết thúc ở đoạn cuối của chuỗi dữ liệu. Chia dòng bit kết quả thành các từ mã 8-bit. Thêm ký tự độn cho đủ với yêu cầu về số từ mã dữ liệu của cỡ hình khi cần thiết.

Bước 3: Mã sửa lỗi

Chia chuỗi từ mã thành một số khối theo yêu cầu (xem Bảng 9) để có thể áp dụng các thuật toán sửa lỗi. Tạo ra các từ mã sửa lỗi cho mỗi khối, gắn từ mã sửa lỗi vào cuối chuỗi từ mã dữ liệu.

Bước 4: Gói tin cuối về cấu trúc.

Chèn dữ liệu và từ mã sửa lỗi từ mỗi khối như mô tả  6.6 (bước 3) và thêm các bit dư nếu cần.

Bước 5: Đặt môđun vào ma trận

Đặt các môđun của từ mã vào ma trận cùng với mẫu tìm kiếm, dấu phân cách, mẫu căn chỉnh và (nếu được yêu cầu) mẫu căn chuẩn

Bước 6: Áp mt nạ dữ liệu

Áp dụng mẫu áp mặt nạ dữ liệu lần lượt cho vùng mã hóa của mã hình. Đánh giá kết quả và chọn mẫu tối ưu hóa sự cân đối giữa môđun sáng, môđun tối và tối thiểu hóa sự xuất hiện của mẫu không mong muốn.

Bước 7: Thông tin định dạng và c hình

Tạo thông tin định dạng và cỡ hình (nếu có) rồi hoàn thiện mã hình.

Bảng 1 – Dung lượng dữ liệu của tất cả các cỡ hình của QR code

Cỡ hình

Số môđun/ mặt (A)

Môđun mẫu chức năng (B)

Môđun thông tin định dạng và cỡ hình (C)

Môđun dữ liệu trừ (C) (D= A2-B-C)

Dung lượng dữ liệu [từ mã]a (E)

Các bit dư

M1

11

70

15

36

5

0

M2

13

74

15

80

10

0

M3

15

78

15

132

17

0

M4

17

82

15

192

24

0

1

21

202

31

208

26

0

2

25

235

31

359

44

7

3

29

243

31

567

70

7

4

33

251

31

807

100

7

5

37

259

31

1 079

134

7

6

41

267

31

1 383

172

7

7

45

390

67

1 568

196

0

8

49

398

67

1 936

242

0

9

53

406

67

2 336

292

0

10

57

414

67

2 768

346

0

11

61

422

67

3 232

404

0

12

65

430

67

3 728

466

0

13

69

438

67

4 256

532

0

14

73

611

67

4 651

581

3

15

77

619

67

5 243

655

3

16

81

627

67

5 867

733

3

17

85

635

67

6 523

815

3

18

89

643

67

7 211

901

3

19

93

651

67

7 931

991

3

20

97

659

67

8 683

1 085

3

21

101

882

67

9 252

1 156

4

22

105

890

67

10 068

1 258

4

23

109

898

67

10 916

1 364

4

24

113

906

67

11 796

1 474

4

25

117

914

67

12 708

1 588

4

26

121

922

67

13 652

1 706

4

27

125

930

67

14 628

1 828

4

28

129

1 203

67

15 371

1 921

3

29

133

1 211

67

16 411

2 051

3

30

137

1 219

67

17 483

2 185

3

31

141

1 227

67

18 587

2 323

3

32

145

1 235

67

19 723

2 465

3

33

149

1 243

67

20 891

2 611

3

34

153

1 251

67

22 091

2 761

3

35

157

1 574

67

23 008

2 876

0

36

161

1 582

67

24 272

3 034

0

37

165

1 590

67

25 568

3 196

0

38

169

1 598

67

26 896

3 362

0

39

173

1 606

67

28 256

3 532

0

40

177

1 614

67

29 648

3 706

0

a Tất cả các từ mã đều có độ dài 8 bit, trừ các cỡ hình M1 và M3 với từ mã dữ liu cuối là có đ dài 4 bit.

6.2. Phân tích dữ liệu

Phân tích dòng dữ liệu đầu vào để xác định nội dung của nó, lựa chọn ECI mặc định hoặc ECI khác thích hợp và mode phù hợp để mã hóa mỗi chuỗi như mô tả ở 6.4. Mỗi mode từ mode số đến mode Kanji đều cần nhiều bit hơn cho mỗi ký tự. Có thể chuyển từ mode này sang mode khác ngay trong một mã hình để tối thiểu hóa độ dài dòng bit cho dữ liệu, những phần đó có thể được mã hóa một cách hiệu quả hơn trong một mode hơn là trong những phần khác, ví dụ những chuỗi số tiếp sau bởi chuỗi chữ số. Theo lý thuyết, phương pháp hiệu quả nhất là mã hóa dữ liệu trong một mode cần ít bit nhất cho ký tự dữ liệu, nhưng do có một vài bit phát sinh dưới dạng chỉ báo mode và chỉ dấu đếm ký tự mỗi lần có sự thay đổi mode, thì mã hóa dữ liệu có thể không tạo ra dòng bit tổng thể ngắn nhất khi thay đổi mode cho số ít các ký tự. Ngoài ra, vì dung lượng của mã hình tăng lên theo các bước riêng từ cỡ hình này tới cỡ hình tiếp theo, do đó đối với tất cả các trường hợp không phải lúc nào cũng cần sự chuyển đổi có hiệu quả cao nhất. Hướng dẫn về tối thiểu hóa độ dài dòng bit được nêu trong Phụ lục J. Trong mã hình Micro QR code, có giới hạn về các mode có sẵn trong các cỡ hình nhỏ hơn. Phụ lục J.2 nêu các cỡ hình của mã hình Micro QR code phù hợp với các sự kết hợp khác nhau của hai mode.

6.3. Các mode

Các mode được chỉ ra dưới đây là dựa trên các giá trị ký tự và các phép gán ứng với ECI mặc định. Khi bất kì một ECI nào khác được sử dụng (chỉ trong mã hình QR code), các giá trị byte phải được sử dụng để chọn mode nén dữ liệu tối ưu hơn là sử dụng các phép gán ký tự riêng biệt. Ví dụ: Mode số sẽ phù hợp hơn nếu có một chuỗi giá trị byte dữ liệu nằm trong khoảng 30 HEX đến 39 HEX Trong trường hợp đó sự rút gọn sẽ được thực hiện bằng cách sử dụng dạng số hoặc chữ số tương đương mặc định của các giá trị byte.

6.3.1. Mode phương thức dịch kênh mở rộng (ECI)

Giao thức phương thức dịch kênh mở rộng (ECI) được quy định trong quy định kỹ thuật quốc tế của AIM Inc. về các phương thức dịch kênh mở rộng, cho phép dòng dữ liệu đầu ra có cách dịch nghĩa khác với cách dịch nghĩa của bộ ký tự mặc định. Giao thức ECI được xác định một cách nhất quán với một số mã hình. Giao thức ECI đưa ra một phương pháp nhất quán để đặc tả cách dịch nghĩa riêng biệt cho các giá trị byte trước khi in và sau khi giải mã. Giao thức ECI không được hỗ trợ trong mã hình Micro QR code.

Cách dịch nghĩa mặc định cho QR code 2005 là ECI 000003 thể hiện bộ ký tự theo ISO/IEC 8859-1.

Các ứng dụng quốc tế sử dụng các bộ ký tự khác phải dùng giao thức ECI. Ví dụ, cách dịch nghĩa tương ứng với các bộ ký tự JIS8 và Shift JIS là ECI 000020.

Ảnh hưởng của mode ECI là việc thêm một chuỗi ký tự trống ECI tại điểm đó vào trong dữ liệu. Ngay lập tức mode đó sẽ bị theo sau bởi một chỉ báo mode khác (ví dụ để mã hóa dữ liệu có hiệu quả) và duy trì hiệu lực đến tận khi kết thúc gói tin hoặc một chỉ báo mode ECI tiếp theo.

6.3.2. Mode số

Mode số mã hóa dữ liệu từ bộ số thập phân (từ 0 đến 9) (các giá trị byte từ 30HEX đến 39HEX). Ở mật độ bình thường, 3 ký tự dữ liệu được thể hiện bằng 10 bit.

6.3.3. Mode chữ s

Mode chữ số mã hóa dữ liệu từ một tập 45 ký tự, tức là: 10 số (0 đến 9) (các giá trị byte từ 30HEX đến 39HEX ), 26 ký tự chữ cái (A đến Z) (các giá trị byte từ 41HEX đến 5AHEX ), và 9 kí hiệu (dấu cách, $, %, *, +, -, ., /, :) (các giá trị byte tương ứng 20HEX, 24HEX, 25HEX, 2AHEX, 2BHEX, 2DHEX đến 2FHEX, 3AHEX ). Thông thường, 2 ký tự đầu vào được thể hiện bởi 11 bit.

Mode chữ số không có sẵn trong mã hình Micro QR code cỡ hình M1.

6.3.4. Mode byte

Trong mode này, dữ liệu được mã hóa ở mật độ 8 bit trên một ký tự.

Trong khi thực hiện ứng dụng đặc thù hoặc khi thực hiện mang tính quốc gia thuộc hệ thống đóng về QR code 2005, có thể quy định một bộ ký tự 8-bit khác cho mode byte, ví dụ như được quy định trong một phần phù hợp nào đó của ISO/IEC 8859. Tuy nhiên, khi quy định bộ ký tự khác, các bên có ý định đọc mã hình QR code 2005 yêu cầu được thông báo về bộ ký tự thích hợp trong quy định kỹ thuật ứng dụng đã biết hoặc bằng thỏa thuận song phương.

Mode byte không có sẵn trong mã hình Micro QR code cỡ hình M1 hoặc M2.

6.3.5. Mode Kanji

Mode Kanji mã hóa có hiệu quả các ký tự Kanji phù hợp với hệ thống Shift JIS dựa trên JIS X 0208. Các giá trị Shift JIS được dịch chuyển từ các giá trị JIS X 0208. Tham khảo JIS X 0208 để xem chi tiết sự thể hiện được mã hóa của Shift. Mỗi giá trị ký tự 2 byte được nén thành một từ mã nhị phân 13

Khi bộ ký tự quy định cho mode byte 8-bit sử dụng các giá trị byte thuộc phạm vi từ 81HEX đến 9FHEX và/ hoặc từ E0HEX đến EBHEX, có thể không có khả năng sử dụng mode Kanji một cách rõ ràng, vì các hệ thống đọc sẽ không có khả năng xác định từ dữ liệu đã được truyền đi xem các giá trị byte như vậy có phải là byte đầu của ký tự byte đôi hay không. Có thể đạt được một dòng bit ngắn hơn bằng cách sử dụng các quy tắc về nén mode Kanji khi một chuỗi phù hợp các giá trị byte xuất hiện trong dữ liệu (có nghĩa là các byte đầu thuộc phạm vi từ 81HEX đến 9FHEX và/ hoặc từ E0HEX đến EBHEX tiếp đến là các byte theo sau thuộc phạm vi từ 40HEX đến FCHEX loại trừ 7FHEX hoặc EBHEX tiếp đến là 40HEX đến BFHEX. Hình H.1 minh họa bằng đồ thị các phối hợp byte nói trên.

Mode Kanji không có sẵn trong mã hình Micro QR code cỡ hình M1 hoặc M2.

6.3.6. Các mode hỗn hợp

Mã hình QR code 2005 có thể chứa các chuỗi dữ liệu kết hợp vi bất kì mode nào được mô tả trong 6.3.1 đến 6.3.8. Mã hình Micro QR code có thể chứa các chuỗi dữ liệu kết hợp với bất kì mode nào sẵn có cho cỡ mã hình đã biết và được mô tả trong 6.3.2 đến 6.3.6.

Tham khảo Phụ lục J xem hướng dẫn về việc chọn phương thức hiệu quả nhất để thể hiện một dòng dữ liệu đầu vào cho trước theo nhiều mode trong mã hình QR code, và tham khảo Phụ lục J.3 xem các cỡ hình sẵn có của mã hình Micro QR code đối với các phối hợp dữ liệu đã cho theo 2 mode.

6.3.7. Mode kết nối có cấu trúc

Mode kết nối có cấu trúc được sử dụng để chia dữ liệu mã hóa từ một gói tin vào một số mã hình QR code. Tất cả các mã cần được đọc và gói tin dữ liệu có thể được tái lập theo thứ tự chính xác. Phần đầu kết nối có cấu trúc được mã hóa trong mỗi mã hình để xác định độ dài của chuỗi và vị trí mã hình trong chuỗi, kiểm soát xem các mã hình được đọc có ở cùng một gói tin hay không. Tham khảo Điều 7 để xem chi tiết về việc mã hóa trong mode này.

Mode kết nối có cấu trúc không có sn đối với mã hình Micro QR code.

6.3.8. Mode FNC 1

Mode FNC 1 được sử dụng cho những gói tin chứa các dạng dữ liệu đặc thù. Trong “vị trí đầu tiên”, nó chỉ rõ dữ liệu được định dạng theo Quy định kỹ thuật của GS1. Trong “vị trí thứ hai”, nó chỉ rõ dữ liệu được định dạng theo ứng dụng của ngành công nghiệp đặc thù đã thống nhất trước đó với AIM quốc tế. Mode FNC1 áp dụng cho toàn bộ mã hình và không chịu ảnh hưởng của các chỉ báo mode theo sau.

CHÚ THÍCH “vị trí đầu tiên” và “vị trí thứ hai” không chỉ vị trí trên thực tế mà dựa trên các vị trí của ký tự trong mã vạch GS1-128, khi được sử dụng theo cách tương đương.

Mode FNC1 không có sẵn đối với mã hình Micro QR code.

6.4. Mã hóa dữ liệu

6.4.1. Chuỗi dữ liệu

Dữ liệu đầu vào được chuyển đổi thành một dòng bit bao gồm một hoặc nhiều đoạn, mỗi đoạn ở trong một mode riêng rẽ. Trong ECI mặc định, dòng bit được bắt đầu với chỉ báo mode đầu tiên. Nếu ECI đầu tiên khác với ECI mặc định, dòng bit sẽ bắt đầu với phần đầu của ECI theo sau bởi đoạn đu tiên đã biết.

Phần đầu của ECI (nếu có) bao gồm:

– Chỉ báo mode ECI (4 bit)

– Mã hiệu ECI (8,16 hay 24 bit)

Phần đầu của ECI bắt đầu với bit đầu tiên (quan trọng nhất) của chỉ báo mode ECI và kết thúc với bit cuối cùng (ít quan trọng nhất) của mã hiệu ECI.

Phần còn lại của dòng bit sau đó sẽ được tạo bởi các đoạn, mỗi đoạn bao gồm:

– Chỉ báo mode

– Chỉ dấu đếm ký tự

– Dòng bit dữ liệu

Mỗi đoạn mode bắt đầu với bit đầu tiên (quan trọng nhất) của chỉ báo mode và kết thúc với bit cuối cùng (ít quan trọng nhất) của dòng bit dữ liệu. Sẽ không có dấu phân cách rõ ràng giữa các đoạn vì độ dài của chúng được xác định rõ ràng theo nguyên tắc của mode đang được sử dụng và số ký tự dữ liệu đầu vào.

Để mã hóa một chuỗi dữ liệu đầu vào theo một mode cho trước, phải tiến hành theo các bước đã được chỉ rõ ở 6.4.2 đến 6.4.7. Bảng 2 quy định chỉ báo mode cho mỗi mode. Bảng 3 định rõ độ dài của chỉ dấu đếm ký tự, chỉ dấu này khác nhau tùy theo mode và cỡ của mã hình đang sử dụng.

Bảng 2 – Chỉ báo mode đối với QR code 2005

Mode

Mã hình QR code

Mã hình Micro QR code

Cỡ hình

Tất cả

M1

M2

M3

M4

Độ dài của chỉ báo mode (bit)

4

0

1

2

3

ECI

0111

n/a

n/a

n/a

n/a

Số

0001

n/a

0

00

000

Chữ số

0010

n/a

1

01

001

Byte

0100

n/a

n/a

10

010

Kanji

1000

n/a

n/a

11

011

Kết nối có cấu trúc

0011

n/a

n/a

n/a

n/a

FNC 1

0101 (Vị trí đầu tiên)

1001 (Vị trí thứ hai)

n/a

n/a

n/a

n/a

Dấu kết thúc

(Kết thúc gói tin) a

0000

000

00000

0000000

000000000

a Dấu kết thúc không phải là chỉ báo mode như vậy.

Bảng 3 – Số bit trong chỉ dấu đếm ký tự đối với QR code 2005

Cỡ hình

Mode số

Mode chữ số

Mode byte

Mode Kanji

M1

3

n/a

n/a

n/a

M2

4

3

n/a

n/a

M3

5

4

4

3

M4

6

5

5

4

1 đến 9

10

9

8

8

10 đến 26

12

11

16

10

27 đến 40

14

13

16

12

Đoạn cuối của dữ liệu trong một mã hình hoàn chỉnh được chỉ ra bởi dấu kết thúc bao gồm từ 3 đến 9 bit 0 (xem Bảng 2), được bỏ qua hoặc viết tắt nếu dung lượng còn lại của mã hình sau khi dòng bit dữ liệu nhỏ hơn 4 bit. Dấu kết thúc không phải là một chỉ báo mode như vậy.

6.4.2. Mode phương thức dịch kênh mở rộng (ECI)

Mode này, được sử dụng để mã hóa dữ liệu theo các cách dịch nghĩa khác nhau của các giá trị byte (ví dụ, các bộ ký tự khác nhau) phù hợp với quy định kĩ thuật AIM ECI, là quy định về quá trình tiền xử lý loại dữ liệu này, được kích hoạt bởi việc sử dụng chỉ báo mode 0111.

Phương thức dịch kênh mở rộng chỉ có thể được sử dụng bởi các máy đọc có khả năng chuyển mã phân định mã hình. Những máy đọc không thể chuyển mã phân định mã hình thì cũng sẽ không thể chuyển dữ liệu từ bất kỳ mã hình nào có chứa ECI.

Dữ liệu ECI đầu vào phải được xử lý bởi hệ thống mã hóa như là một loạt các giá trị byte.

Dữ liệu trong chuỗi ECI có thể được mã hóa theo bất kỳ chế độ nào hoặc theo những chế độ cho phép mã hóa giá trị byte của dữ liệu một cách hiệu quả nhất, không kể đến mức độ quan trọng của chúng. Ví dụ: Một chuỗi byte trong khoảng từ 30HEX đến 39HEX có thể được mã hóa theo chế độ số (xem 6.4.3) như là một chuỗi số từ 0 đến 9 tuy rằng nó có thể không thực sự đại diện cho dữ liệu số. Để xác định được giá trị của chỉ dấu đếm ký tự, phải sử dụng một số byte (hoặc, trong chế độ Kanji, một số cặp byte).

6.4.2.1.  hiệu ECI

Mỗi phương thức dịch kênh m rộng được gán mã hiệu bằng một số có 6 chữ số, mã số này sẽ được mã hóa vào mã hình QR code 2005 thành một, hai hoặc ba từ mã đầu tiên theo sau chỉ báo mode ECI. Nguyên tắc mã hóa được chỉ rõ trong Bảng 4. Mã hiệu ECI xuất hiện trong dữ liệu được mã hóa như ký tự 5CHEX (ký hiệu \ hay dấu gạch chéo ngược trong ISO/IEC 8859-1, ký hiệu ¥ hay Yên trong JIS8) theo sau bởi số gán có 6 chữ số. Khi ký tự 5CHEX mang giá trị đúng, nó phải được nhân đôi trong dòng dữ liệu trước khi mã hóa vào mã hình mà giao thức ECI áp dụng.

Khi bắt gặp ký tự 5CHEX xuất hiện đơn độc trong dữ liệu nhập vào máy giải mã, một chỉ báo mode ECI sẽ được chèn vào theo sau bởi mã hiệu ECI. Khi bắt gặp ký tự 5CHEX đôi, nó sẽ được mã hóa thành hai byte 5CHEX.

Trong quá trình giải mã, mẫu nhị phân của từ mã hiệu ECI đầu tiên (tức là từ mã tiếp sau chỉ báo mode trong mode ECI), xác định độ dài của chuỗi mã hiệu ECI. Số các bit 1 trước bit 0 đầu tiên chỉ rõ số từ mã bổ sung sau khi bit 0 đầu tiên được sử dụng để đại diện cho số gán ECI. Chuỗi bit sau bit 0 đầu tiên là dãy nhị phân đại diện cho số gán ECI. Phép gán ECI đã được đánh số thấp hơn có thể được mã hóa theo nhiều cách nhưng khuyến khích cách mã hóa ngắn nhất.

Bảng 4 – Mã hóa số gán ECI

Giá trị gán ECI

Số từ mã

Các giá trị từ mã

000000 đến 000127

1

0bbbbbbb

000000 đến 016383

2

10bbbbbb bbbbbbbb

000000 đến 999999

3

110bbbbb bbbbbbbb bbbbbbbb
    Nơi nào có b…b là giá trị nhị phân của số gán ECI

VÍ DỤ

Giả sử dữ liệu được mã hóa bằng tiếng Hy Lạp, sử dụng bộ ký tự ISO 8859-7 (ECI 000009) theo mã hình c 1 – H

Dữ liệu được mã hóa: \000009ABGDE (các giá trị ký tự A1HEX, A2HEX, A3HEX, A4HEX, A5HEX)
Chuỗi bit trong mã hình:
Chỉ báo mode ECI: 0111
Số gán ECI (000009): 00001001
Chỉ báo mode (byte): 0100
Chỉ dấu đếm ký tự (5): 00000101
Dữ liệu: 10100001 10100010 10100011 10100100 10100101
Dòng bit cuối cùng: 0111 00001001 0100 00000101 10100001 10100010 1010011 10100100 10100101
Xem ví dụ về việc chuyển dữ liệu tiếp sau việc giải mã ở 13.3.

6.4.2.2. ECI đa bội (Multiple ECIs)

Tham khảo quy định kỹ thuật AIM ECI về những quy tắc xác định ảnh hưởng của mã hiệu ECI tiếp sau trong đoạn dữ liệu ECI. Ví dụ, dữ liệu áp dụng bộ ký tự ECI có thể được mã hóa hoặc nén bằng một bộ ECI phi ký tự, ECI này có thể cùng tồn tại với ECI ban đầu hoặc bộ ký tự ECI thứ hai có tác dụng ngừng ECI thứ nhất và bắt đầu một phân đoạn ECI mới. Mã hiệu ECI xuất hiện ở đâu trong dữ liệu, nơi đó phải được mã hóa vào mã hình QR code 2005 phù hợp với 6.4.2.1 và phải bắt đầu một đoạn mode mới.

6.4.2.3. Các ECI và kết nối có cấu trúc

Bất cứ (các) ECI đã được kích hoạt nào cũng phải áp dụng các quy tắc đã được định rõ ở trên và theo quy định kỹ thuật AIM ECI cho đến phần cuối của dữ liệu đã được mã hóa hoặc khi có sự thay đổi về ECI (được báo hiệu bởi chỉ báo mode 0111). Nếu dữ liệu đã được mã hóa theo (các) ECI mở rộng thành hai hoặc nhiều mã hình trong mode kết nối có cấu trúc, thì sẽ cần phải cung cấp phần đầu ECI bao gồm chỉ báo mode ECI và số mã hiệu ECI cho mỗi ECI được sử dụng, tiếp ngay sau phần đầu của kết nối có cấu trúc, ở các mã hình tiếp sau nơi ECI vẫn tiếp tục được sử dụng.

6.4.3. Mode số

Dòng dữ liệu đầu vào được chia thành các nhóm 3 số và mỗi nhóm được chuyển đổi thành dạng nhị phân tương đương 10 bit. Nếu số các con số đầu vào không phải là bội số của 3, thì 1 hoặc 2 con số cuối sẽ được chuyển đổi tương ứng thành 4 hoặc 7 bit. Dữ liệu nhị phân sau đó sẽ được nối với nhau và gắn chỉ báo mode và chỉ dấu đếm ký tự ở đầu. Chỉ báo mode trong chế độ số hoặc là có 4 bit đối với mã hình QR code hoặc là có số bit như quy định ở Bảng 2 đối với mã hình Micro QR code và chỉ dấu đếm ký tự có số bit như quy định ở Bảng 3. Số ký tự dữ liệu đầu vào được chuyển đổi thành dạng nhị phân tương đương và được thêm vào như là chỉ dấu đếm ký tự sau chỉ báo mode và trước chuỗi dữ liệu nhị phân.

VÍ DỤ 1 (đối với mã hình cỡ 1-H)

Dữ liệu đầu vào: 01234567  
1. Chia thành các nhóm 3 số: 012 345 67
2. Chuyển đổi mỗi nhóm thành dạng nhị phân tương đương: 012 → 0000001100
345 → 0101011001
67 → 1000011
3. Nối dữ liệu nhị phân thành chuỗi: 0000001100 0101011001 1000011
4. Chuyển đổi chỉ dấu đếm ký tự thành dạng nhị phân(10 bits đối với cỡ hình 1-H):
Số ký tự dữ liệu đầu vào 8 → 0000001000
5. Thêm chỉ báo mode 0001 và chỉ dấu đếm ký tự vào dữ liệu nhị phân:

0001 0000001000 0000001100 0101011001 1000011

VÍ DỤ 2 (cho mã hình Micro QR code cỡ M3-M)

Dữ liệu đầu vào: 0123456789012345
1. Chia thành các nhóm 3 số: 012 345 678 901 234 5
2. Chuyển đổi mỗi nhóm thành dạng nhị phân tương đương: 012 = 0000001100
345 = 0101011001
678 = 1010100110
901 = 1110000101
234 = 0011101010
= 0101
3. Nối dữ liệu nhị phân thành chuỗi  

0000001100 0101011001 1010100110 1110000101 0011101010 0101

4. Chuyển đổi chỉ dấu đếm ký tự thành dạng nhị phân (5 bit đối với cỡ hình M3-M)

Số ký tự dữ liệu đu vào: 16 = 10000

5. Thêm chỉ báo mode (00 đối với cỡ hình M3-M) và chỉ dấu đếm ký tự vào dữ liệu nhị phân:

00 1000 0000001100 0101011001 1010100110 1110000101 0011101010 0101

Đối với bất kỳ số ký tự dữ liệu nào, độ dài của dòng bit trong mode số cho trước được tính theo công thức sau:

B M + C+ 10(D DIV 3) + R

trong đó:

B = số bit trong dòng bit

M = số bit trong chỉ báo mode (4 đối với mã hình QR code, hoặc như được nêu trong Bảng 2 đối với mã hình Micro QR code)

C = số bit trong chỉ dấu đếm ký tự (từ Bảng 3)

D = số ký tự dữ liệu đầu vào

R = 0 nếu (D MOD 3)= 0

R = 4 nếu (D MOD 3)= 1

R = 7 nếu (D MOD 3)= 2

6.4.4. Mode chữ số

Mỗi ký tự dữ liệu đầu vào được gán cho một giá trị ký tự V từ 0 đến 44 trong Bảng 5.

Bảng 5 – Bảng mã hóa/ giải mã đối với mode chữ số

Ký tự

Giá Trị

Ký tự

Giá trị

Ký tự

Giá trị

Ký tự

Giá trị

Ký tự

Giá trị

Ký tự

Giá trị

Ký tự

Giá trị

Ký tự

Giá trị

0

0

6

6

C

12

I

18

O

24

U

30

Dấu cách

36

.

42

1

1

7

7

D

13

J

19

P

25

V

31

$

37

/

43

2

2

8

8

E

14

K

20

Q

26

W

32

%

38

:

44

3

3

9

9

F

15

L

21

R

27

X

33

*

39

 

 

4

4

A

10

G

16

M

22

S

28

Y

34

+

40

 

 

5

5

B

11

H

17

N

23

T

29

Z

35

41

 

 

Các ký tự dữ liệu đầu vào được chia thành những nhóm hai ký tự được mã hóa thành mã nhị phân 11 bit. Giá trị ký tự của ký tự đầu tiên được nhân với 45 và cộng với giá trị ký tự của số thứ hai. Tổng đó sẽ được chuyển đổi thành số nhị phân 11 bit. Nếu số ký tự dữ liệu đầu vào không chia hết cho 2, giá trị ký tự của ký tự cuối cùng sẽ được mã hóa thành số nhị phân 6 bit. Dữ liệu nhị phân sau đó sẽ được nối lại và gắn chỉ báo mode và chỉ dấu đếm ký tự ở đầu. Chỉ báo mode trong chế độ chữ số hoặc là có 4 bit đối với mã hình QR code hoặc là có số bit như được quy định trong Bảng 2 đối với mã hình Micro QR code, và chỉ dấu đếm ký tự có số bit như được quy định trong Bảng 3. Số ký tự dữ liệu đầu vào được chuyển đổi thành dạng nhị phân tương đương và được thêm vào làm chỉ dấu đếm ký tự sau chỉ báo Mode và trước chuỗi dữ liệu nhị phân.

Trong mã hình mode FNC1, ký tự FNC1 có thể xuất hiện trong dữ liệu đã biết. Nó được thể hiện theo mode chữ số bằng ký tự %. Tham khảo 6.4.8.1, 6.4.8.2 và 13.4 để biết thêm chi tiết về việc mã hóa và chuyển giao của FNC1 và %.

VÍ DỤ (cho mã hình c 1-H)

Dữ liệu đầu vào: AC-42
1. Xác định giá trị ký tự theo Bảng 5: AC-42 → (10,12,41,4,2)
2. Chia kết quả thành nhóm 2 giá trị thập phân: (10,12) (41,4) (2)
3. Chuyển đổi mỗi nhóm thành dạng nhị phân tương đương 11 bit:
  (10,12) 10*45+12 → 462 → 00111001110

(41,4) 41*45+4 →1849  11100111001

(2) → 2 → 000010

4. Nối dữ liệu nhị phân thành chuỗi: 00111001110 11100111001 000010
5. Chuyển đổi chỉ dấu đếm ký tự thành nhị phân (9 bit cho cỡ hình 1-H).

Số ký tự dữ liệu đầu vào:

5 → 000000101
6. Thêm chỉ báo mode 0010 và chỉ dấu đếm ký tự vào dữ liệu nhị phân:

0010 000000101 00111001110 11100111001 000010

Với bất kỳ số ký tự dữ liệu nào, độ dài của dòng bit theo chế độ chữ số được tính theo công thức sau:

B M + C+11 (D DIV 2) + 6(D MOD 2)

trong đó:

B = số bit trong dòng bit

M = số bit trong chỉ báo mode (4 đối với mã hình QR code, hoặc như được nêu trong Bảng 2 đối với mã hình Micro QR code)

C = số bit trong chỉ dấu đếm ký tự (từ Bảng 3)

D = số ký tự dữ liệu đầu vào

6.4.5. Mode byte

Trong mode này, một từ mã 8 bit trực tiếp thể hiện giá trị byte của ký tự dữ liệu đầu vào, tức là mật độ 8 bit/1 ký tự.

Bng 6 – Bảng mã hóa/ giải mã đối với bộ ký tự lSO/IEC 8859-1

Byte

Char.

Byte

Char.

Byte

Char.

Byte

Char.

Byte

Char.

Byte

Char.

Byte

Char.

Byte

Char.

0

NUL

32

space

64

@

96

`

128

 

160

NBSP

192

À

224

à

1

SOH

33

!

65

A

97

a

129

 

161

¡

193

Á

225

á

2

STX

34

66

B

98

b

130

 

162

¢

194

Â

226

â

3

ETX

35

#

67

C

99

c

131

 

163

£

195

Ã

227

ã

4

EOT

36

$

68

D

100

d

132

 

164

¤

196

Ä

228

ä

5

ENQ

37

%

69

E

101

e

133

 

165

¥

197

Å

229

å

6

ACK

38

&

70

F

102

f

134

 

166

¦

198

Æ

230

æ

7

BEL

39

71

G

103

g

135

 

167

§

199

Ç

231

ç

8

BS

40

(

72

H

104

h

136

 

168

¨

200

È

232

è

9

HT

41

)

73

I

105

I

137

 

169

©

201

É

233

é

10

LF

42

*

74

J

106

j

138

 

170

ª

202

Ê

234

ê

11

VT

43

+

75

K

107

k

139

 

171

«

203

Ë

235

ë

12

FF

44

,

76

L

108

I

140

 

172

¬

204

Ì

236

ì

13

CR

45

77

M

109

m

141

 

173

SHY

205

Í

237

í

14

SO

46

.

78

N

110

n

142

 

174

®

206

Î

238

î

15

SI

47

/

79

O

111

o

143

 

175

¯

207

Ï

239

ï

16

DLE

48

0

80

P

112

p

144

 

176

°

208

Ð

240

ð

17

DC1

49

1

81

Q

113

q

145

 

177

±

209

Ñ

241

ñ

18

DC2

50

2

82

R

114

r

146

 

178

²

210

Ò

242

ò

19

DC3

51

3

83

S

115

s

147

 

179

³

211

Ó

243

ó

20

DC4

52

4

84

T

116

t

148

 

180

´

212

Ô

244

ô

21

NAK

53

5

85

U

117

u

149

 

181

µ

213

Õ

245

õ

22

SYN

54

6

86

V

118

v

150

 

182

214

Ö

246

ö

23

ETB

55

7

87

W

119

w

151

 

183

·

215

×

247

÷

24

CAN

56

8

88

X

120

x

152

 

184

¸

216

Ø

248

ø

25

EM

57

9

89

Y

121

y

153

 

185

¹

217

Ù

249

ù

26

SUB

58

:

90

Z

122

z

154

 

186

º

218

Ú

250

ú

27

ESC

59

;

91

[

123

{

155

 

187

»

219

Û

251

û

28

FS

60

92

\

124

I

156

 

188

¼

220

Ü

252

ü

29

GS

61

=

93

]

125

}

157

 

189

½

221

Ý

253

ý

30

RS

62

94

^

126

~

158

 

190

¾

222

Þ

254

þ

31

US

63

?

95

_

127

DEL

159

 

191

¿

223

ß

255

ÿ

CHÚ THÍCH 1 Trong bộ ký tự JIS8 (xem Bảng H.1), các giá trị byte từ 80HEX đến 9FHEX và từ E0HEX đến FFHEX là các giá trị không được cấp nhưng được dự trữ lại. Một vài giá trị này được sử dụng làm byte đầu tiên trong bộ ký tự Shift JIS (xem Bng H.2) và có thể được sử dụng để phân biệt giữa các bộ ký tự JIS8 và Shift JIS, hoặc để tạo thuận lợi cho việc thực hiện nén mode Kanji. JIS X 0208 nêu chi tiết về sự thể hiện được mã hóa của shift.

CHÚ THÍCH 2 Các giá trị byte từ 00HEX đến 9FHEX trong bộ ký tự JIS8 tương ứng với ISO/IEC 8859-1 và ISO/IEC 646 IRV, trừ các giá trị 5CHEX và 7EHEX.

Dữ liệu nhị phân sau đó được nối với nhau và gắn chỉ báo mode và chỉ dấu đếm ký tự ở đầu. Chỉ báo mode trong mode byte hoặc là có 4 bit đối với mã hình QR code hoặc là có số bit như quy định ở Bảng 2 đối vi mã hình Micro QR code và chỉ dấu đếm ký tự có số bit như quy định ở Bảng 3. Số ký tự dữ liệu đầu vào được chuyển đổi thành dạng nhị phân tương đương và được thêm vào sau chỉ báo mode và trước chuỗi dữ liệu nhị phân.

Với bất kì số ký tự dữ liệu nào, độ dài của dòng bit trong mode byte được tính theo công thức sau:

B = M + C + 8D

trong đó:

= số bit trong dòng bit

M = số bit trong chỉ báo mode (4 bit đối với mã hình QR code hoặc là có số bit như quy định ở Bảng 2 đối với mã hình Micro QR code)

C = số bit trong chỉ dấu đếm ký tự (từ Bảng 3)

D = số ký tự dữ liệu đầu vào.

6.4.6. Mode Kanji

Trong hệ thống Shift JIS, các ký tự Kanji được thể hiện bằng một tổ hợp 2 byte. Các giá trị byte này được dịch chuyển từ các giá trị JIS X 0208. Tham khảo JIS X 0208 để xem chi tiết sự thể hiện Shift mã hóa. Các ký tự dữ liệu đầu vào theo mode Kanji được rút gọn thành các từ mã nhị phân 13 bit được chỉ rõ dưới đây. Dữ liệu nhị phân sau đó được nối với nhau và gắn chỉ báo mode và chỉ dấu đếm ký tự ở đầu. Chỉ báo mode theo chế độ số hoặc là có 4 bit đối với mã hình QR code hoặc là có số bit như quy định ở Bảng 2 đối với mã hình Micro QR code và chỉ dấu đếm ký tự có số bit như quy định ở Bảng 3. S ký tự dữ liệu đầu vào được chuyển đổi thành dạng nhị phân tương đương và được thêm vào thành ch dấu đếm ký tự sau chỉ báo mode và trước chuỗi dữ liệu nhị phân.

1. Với các ký tự có giá trị Shift JIS từ 8140HEX đến 9FFCHEX:

a) Lấy giá trị Shift JIS trừ đi 8140HEX ;

b) Nhân giá trị byte quan trọng nhất của kết quả vừa rồi với C0HEX ;

c) Cộng giá trị byte kém quan trọng nhất với kết quả của bước (b);

d) Chuyển đổi kết quả thành dòng nhị phân 13 bit.

2. Với các ký tự có giá trị Shift JIS từ E040HEX đến EBBFHEX ;

a) Lấy giá trị Shift JIS trừ đi C140HEX;

b) Nhân giá trị byte quan trọng nhất của kết quả vừa rồi với C0HEX;

c) Cộng giá trị byte kém quan trọng nhất với kết quả của bước (b);

d) Chuyển đổi kết quả thành dòng nhị phân 13 bit.

VÍ DỤ:

Ký tự đầu vào

(Giá trị Shift JIS) 935F E4AA
1. Trừ đi 8140 hay C140 935F – 8140 = 121F E4AA – C140 = 236A
2. Nhân giá trị byte quan trọng nhất với C0 12 x C= D80 23 x C0= 1A40
3. Cộng với giá trị byte ít quan trọng nhất D80 + 1F= D9F 1A40 + 6A= 1AAA
4. Chuyển đổi thành nhị phân 13 bit 0D9F → 0 1101 1001 1111 1AAA → 1 1010 1010 1010

3. Với tất cả các ký tự:

e) Đặt trước chuỗi nhị phân thể hiện các ký tự dữ liệu đầu vào một chỉ báo mode (từ Bảng 2) và một chỉ dấu đếm ký tự dạng nhị phân tương đương (số bit được quy định trong các Bảng);

Với bất kì số ký tự dữ liệu nào, độ dài của dòng bit trong mode Kanji được tính theo công thức sau:

B = M + C 13D

trong đó:

B = số bit trong dòng bit

M = số bit trong chỉ báo mode (4 bit đối với mã hình QR code hoặc là có số bit như quy định ở Bảng 2 đối với mã hình Micro QR code)

C = số bit trong chỉ dấu đếm ký tự (từ Bảng 3)

D = số ký tự dữ liệu đầu vào.

6.4.7. Các mode hỗn hợp

Mã hình có thể tùy chọn chứa các chuỗi dữ liệu ở một chế độ và sau đó thay đổi chế độ nếu nội dung của dữ liệu yêu cầu, hoặc là có mục đích tăng mật độ mã hóa. Tham khảo Phụ lục J đ xem hướng dẫn. Mỗi đoạn dữ liệu được mã hóa theo một mode phù hợp như đã chỉ ra ở 6.4.2 đến 6.4.6 với chỉ báo mode/ chỉ dấu đếm ký tự/ dữ liệu có cấu trúc cơ bản và tiếp ngay sau bài chỉ báo mode bắt đầu một đoạn tiếp theo. Hình 13 minh họa cho cấu trúc của dữ liệu bao gồm n đoạn.

Đoạn 1

Đoạn 2

….

Đoạn n

 

Chỉ báo mode 1

Chỉ dấu đếm ký tự

Dữ liệu

Chỉ báo mode 2

Chỉ dấu đếm ký tự

Dữ liệu

…….

Chỉ báo mode n

Ch dấu đếm ký tự

Dữ liệu

Dấu kết thúc

Hình 13 – Định dạng dữ liệu mode hỗn hợp

6.4.8. Mode FNC 1

Trong mã hình QR code, có hai chỉ báo mode được sử dụng cùng với những mode khác được nêu ở 6.3.1 đến 6.3.8 và 6.4.2 đến 6.4.7 để xác định mã hình mã hóa gói tin được định dạng theo ngành công nghiệp đặc thù hoặc theo các quy định kỹ thuật ứng dụng đã xác định từ trước. Những mode này (cùng với dữ liệu tham số liên quan) đứng trước (các) chỉ báo mode được sử dụng để mã hóa dữ liệu một cách hiệu quả. Khi sử dụng những chỉ báo mode này, bộ giải mã cần phải chuyển mã phân định mã hình theo quy định ở 13.2 và Phụ lục F.

6.4.8.1. FNC 1 ở vị trí đầu tiên

CHÚ THÍCH “vị trí đầu tiên” không được sử dụng theo nghĩa đen mà là tham chiếu mang tính lịch sử về vị trí của ký tự mã hình FNC1 trong mã vạch GS1-128.

Chỉ báo mode này xác định mã hình mã hóa dữ liệu được định dạng theo tiêu chuẩn về số phân định ứng dụng GS1. Để thực hiện mục tiêu này, nó chỉ được sử dụng một lần trong mã hình và được đặt ngay trước chỉ báo mode đầu tiên được sử dụng để mã hóa dữ liệu một cách hiệu quả (số, chữ số, byte hoặc Kanji), và đặt sau bất kỳ ECI hoặc phần đầu của kết nối có cấu trúc nào. Vị trí nào mà quy định kỹ thuật GS1 tìm thấy ký tự FNC1 (trong các mã hình khác có sử dụng ký tự đặc biệt này) được sử dụng làm dấu phân cách trường dữ liệu (tức là, ở đoạn cuối của trường dữ liệu có độ dài thay đổi), thì mã hình QR code 2005 phải sử dụng ký tự % trong mode chữ số hoặc ký tự GS (giá trị byte 1DHEX) trong mode byte để thực hiện chức năng này. Nếu ký tự % xuất hiện như là một phần của dữ liệu, nó phải được mã hóa là %%. Bộ giải mã bắt gặp % trong mã hình này phải chuyển nó thành giá trị 1DHEX của ASCII/JIS 8 và nếu gặp %% thì nó phải được chuyển thành một ký tự % đơn lẻ.

VÍ DỤ 1

Dữ liệu đầu vào: 0104912345123459 (Số phân định ứng dụng 01 = mã số vật phẩm GS1, độ dài cố định; dữ liệu: 04912345123459)

15970331 (S phân định ứng dụng 15 = “Sử dụng trước ngày có dạng YYMMDD, độ dài cố định; dữ liệu: 31 tháng 3 năm 1997)

30128 (S phân định ứng dụng 30 = số lượng, độ dài thay đổi; dữ liệu: 128) (yêu cầu ký tự dấu phân cách)

10ABC123 (Số phân định ứng dụng 10 = số lô, độ dài thay đổi; dữ liệu: ABC123)

Dữ liệu được mã hóa:

01049123451234591597033130128%10ABC123

Chuỗi bit trong mã hình:

0101 (ch báo mode, FNC1 ở vị trí đầu tiên)

0001 (chỉ báo mode, mode số)

0000011101 (chỉ dấu đếm ký tự, 29)

các bit dữ liệu đối với 01049123451234591597033130128>

0010 (ch báo mode, mode chữ số)

000001001 (ch dấu đếm ký tự, 9)

các bit dữ liệu đối với %10ABC123>

Chuyển d liệu (xem 13.2 và Phụ lục F)

]Q301049123451234591597033130128<1 DHEX>10ABC123

VÍ DỤ 2 Mã hóa/ chuyển ký tự % trong dữ liệu:

Dữ liệu đầu vào: 123%

Mã hóa thành: 123%%

Chuyển thành: 123%

6.4.8.2. FNC1 ở vị trí thứ hai

CHÚ THÍCH “vị trí thứ hai” không được sử dụng theo nghĩa đen mà là tham chiếu mang tính lịch sử về vị trí của ký tự mã hình FNC1 trong mã vạch GS1-128.

Chỉ báo mode này xác định mã hình được định dạng theo ngành công nghiệp đặc thù hoặc theo quy định kĩ thuật ứng dụng đã thống nhất trước đó với AIM quốc tế. Theo ngay sau là một từ mã 1 byte có giá trị là giá trị của chỉ báo ứng dụng đã được gán để xác định quy định kỹ thuật mà AIM quốc tế quan tâm. Để thực hiện mục tiêu này, nó chỉ được sử dụng một lần trong mã hình và được đặt ngay trước chỉ báo mode đầu tiên để mã hóa dữ liệu một cách hiệu quả (số, chữ số, byte hoặc Kanji) và đặt sau bất kỳ ECI hoặc phần đầu kết nối có cấu trúc nào. Một chỉ báo ứng dụng có thể có dạng của bất kỳ ký tự chữ Latinh đơn lẻ nào trong tập hợp {a đến z, A đến Z} (đại diện bởi giá trị ASCII của ký tự cộng với 100) hay một số hai chữ số (đại diện trực tiếp bởi giá trị chữ số đó) và phải được bộ giải mã chuyển đi giống như ký tự đầu tiên hoặc hai ký tự đứng ngay trước dữ liệu. Vị trí nào mà quy định kỹ thuật ứng dụng tìm thấy ký tự FNC1 (trong các mã hình khác có sử dụng ký tự đặc biệt này) được sử dụng làm dấu phân cách trường dữ liệu, thì mã hình QR code 2005 phải sử dụng ký tự % trong mode chữ số hoặc ký tự GS (ASCII/JIS8 giá trị 1DHEX) trong mode byte để thực hiện chức năng này. Nếu ký tự % xuất hiện như là một phần của dữ liệu, nó phải được mã hóa là %%. Bộ giải mã bắt gặp % trong mã hình này phải chuyển nó thành giá trị 1DHEX của ASCII/JIS 8 và nếu gặp %% thì nó phải được chuyển thành một ký tự % đơn lẻ.

VÍ DỤ:

CHÚ THÍCH Chỉ báo ứng dụng 37 chưa được gán ở thời điểm công bố cho bất kỳ tổ chức nào và nội dung dữ liệu của ví dụ này là hoàn toàn tùy ý.

Ch dấu ứng dụng:          37

Dữ liệu đầu vào:             AA1234BBB112text text text text<CR>

Chuỗi bit trong mã hình:   1001 (chỉ báo mode, FNC1 ở vị trí thứ hai)

                                      00100101 (chỉ báo ứng dụng, 37)

                                      0010 (chỉ báo mode, mode chữ số)

                                      000001100 (chỉ dấu đếm ký tự, 12)

<các bit dữ liệu đối với AA1234BBB112>

                                      0100 (chỉ báo mode, mode byte)

                                      00010100 (chỉ dấu đếm ký tự, 20)

các bit dữ liệu đối với text text text text<CR>>

Chuyển dữ liệu:               ]Q537AA1234BBB112text text text text<CR>

6.4.9. Dấu kết thúc

Đoạn cuối dữ liệu trong mã hình được báo hiệu bởi chuỗi dấu kết thúc của các bit 0, như đã quy định trong Bảng 2, được bổ sung vào dòng bit dữ liệu theo sau đoạn mode cuối cùng. Phải bỏ qua dấu kết thúc nếu dòng bit dữ liệu đã lấp đầy dung lượng của mã hình, hoặc được viết tắt nếu dung lượng còn lại của mã hình ít hơn 4 bit.

6.4.10. Chuyển đổi dòng bit thành từ mã

Các dòng bit phù hợp với mỗi đoạn mode phải được nối theo trật tự. Dấu kết thúc phải được bổ sung vào dòng bit hoàn chỉnh như quy định ở 6.4.9. Dòng bit gói tin kết quả sau đó phải được chia thành các từ mã. Tất cả các từ mã đều có độ dài 8 bit, ngoại trừ các từ mã đối với ký tự mã hình của dữ liệu cuối cùng trong mã hình Micro QR code cỡ hình M1 và M3 có độ dài 4 bit. Nếu độ dài dòng bit không kết thúc ở đường ranh giới của từ mã, các bit độn thêm với giá trị nhị phân 0 phải được thêm vào sau bit cuối cùng (bit ít quan trọng nhất) của dòng dữ liệu để m rộng nó tới đường ranh giới của từ mã. Dòng bit của gói tin đã biết sau đó phải được mở rộng để lấp đầy dung lượng dữ liệu của mã hình phù hợp với cỡ hình và mức sửa lỗi, như đã quy định trong Bảng 8, bằng cách thêm lần lượt các từ mã độn 11101100 và 00010001. Đối với mã hình Micro QR code cỡ hình M1 và M3, từ mã của dữ liệu cuối cùng có độ dài 4 bit. Từ mã độn sử dụng trong vị trí ký tự mã hình thể hiện dữ liệu cuối cùng trong mã hình Micro QR code cỡ hình M1 và M3 phải được thể hiện là 0000. Một loạt các từ mã kết quả, chuỗi từ mã dữ liệu, sau đó được xử lý như quy định trong 6.5 để thêm các từ mã sửa lỗi vào gói tin. Trong một số cỡ hình nhất định của mã hình, có thể cần phải thêm 3, 4 hoặc 7 bit dư (tất cả có giá trị bằng 0) vào đoạn cuối của gói tin, sau từ mã sửa lỗi cuối cùng, để lấp đầy dung lượng mã hình một cách chính xác (xem Bảng 1).

Bảng 7- Số ký tự mã hình và dung lượng dữ liệu đầu vào đối với QR code 2005

Cỡ hình

Mức sửa lỗi

Số từ mã dữ liệu

Số bit dữ liệu

Dung lượng dữ liệu

S

Chữ số

Byte

Kanji

M1

Chỉ sửa lỗi

3

20

5

M2

L

5

40

10

6

M

4

32

8

5

M3

L

11

84

23

14

9

6

M

9

68

18

11

7

4

M4

L

16

128

35

21

15

9

M

14

112

30

18

13

8

Q

10

80

21

13

9

5

1

L

19

152

41

25

17

10

M

16

128

34

20

14

8

Q

13

104

27

16

11

7

H

9

72

17

10

7

4

2

L

34

272

77

47

32

20

M

28

224

63

38

26

16

Q

22

176

48

29

20

12

H

16

128

34

20

14

8

3

L

55

440

127

77

53

32

M

44

352

101

61

42

26

Q

34

272

77

47

32

20

H

26

208

58

35

24

15

4

L

80

640

187

114

78

48

M

64

512

149

90

62

38

Q

48

384

111

67

46

28

H

36

288

82

50

34

21

5

L

108

864

255

154

106

65

M

86

688

202

122

84

52

Q

62

496

144

87

60

37

H

46

368

106

64

44

27

6

L

136

1 088

322

195

134

82

M

108

864

255

154

106

65

Q

76

608

178

108

74

45

H

60

480

139

84

58

36

7

L

156

1 248

370

224

154

95

M

124

992

293

178

122

75

Q

88

704

207

125

86

53

H

66

528

154

93

64

39

8

L

194

1 552

461

279

192

118

M

154

1 232

365

221

152

93

Q

110

880

259

157

108

66

H

86

688

202

122

84

52

9

L

232

1 856

552

335

230

141

M

182

1 456

432

262

180

111

Q

132

1 056

312

189

130

80

H

100

800

235

143

98

60

10

L

274

2 192

652

395

271

167

M

216

1 728

513

311

213

131

Q

154

1 232

364

221

151

93

H

122

976

288

174

119

74

11

L

324

2 592

772

468

321

198

M

254

2 032

604

366

251

155

Q

180

1 440

427

259

177

109

H

140

1 120

331

200

137

85

12

L

370

2 960

883

535

367

226

M

290

2 320

691

419

287

177

Q

206

1 648

489

296

203

125

H

158

1 264

374

227

155

96

13

L

428

3 424

1 022

619

425

262

M

334

2 672

796

483

331

204

Q

244

1 952

580

352

241

149

H

180

1 440

427

259

177

109

14

L

461

3 688

1 101

667

458

282

M

365

2 920

8 71

528

362

223

Q

261

2 088

621

376

258

159

H

197

1 576

468

283

194

120

15

L

523

4 184

1 250

758

520

320

M

415

3 320

991

600

412

254

Q

295

2 360

703

426

292

180

H

223

1 784

530

321

220

136

16

L

589

4 712

1 408

854

586

361

M

453

3 624

1 082

656

450

227

Q

325

2 600

775

470

322

198

H

253

2 024

602

365

250

154

17

L

647

5 176

1548

938

644

397

M

507

4 056

1212

734

504

310

Q

367

2 936

876

531

364

224

H

283

2 264

674

408

208

173

18

L

721

5 768

1 725

1 046

718

442

M

563

4 504

1 346

816

560

345

Q

397

3 176

948

574

394

243

H

313

2 504

746

452

310

191

19

L

795

6 360

1 903

1 153

792

488

M

627

5 016

1 500

909

624

384

Q

445

3 560

1 063

644

442

272

H

341

2 728

813

493

338

208

20

L

861

6 888

2 061

1 249

858

528

M

669

5 352

1 600

970

666

410

Q

485

3 880

1 159

702

482

297

H

385

3 080

919

557

382

235

21

L

932

7 456

2 232

1 352

929

572

M

714

5 712

1 708

1 035

711

438

Q

512

4 096

1 224

742

509

314

H

406

3 248

969

587

403

248

22

L

1 006

8 048

2 409

1 460

1 003

618

M

782

6 256

1 872

1 134

779

480

Q

568

4 544

1 358

832

565

348

H

442

3 536

1 056

640

439

270

23

L

1 094

8 752

2 620

1 588

1 091

672

M

860

6 880

2 059

1 248

857

528

Q

614

4 912

1 468

890

611

376

H

464

3 712

1 108

672

461

284

24

L

1 174

9 392

2 812

1 704

1 171

721

M

914

7 312

2 188

1 326

911

561

Q

664

5 312

1 588

963

661

407

H

514

4 112

1 228

744

511

315

25

L

1 276

10 208

3 057

1 853

1 273

784

M

1 000

8 000

2 395

1 451

997

614

Q

718

5 744

1 718

1 041

715

440

H

538

4 304

1 286

779

535

330

26

L

1 370

10 960

3 283

1 990

1 367

842

M

1 062

8 496

2 544

1 542

1 059

652

Q

754

6 032

1 804

1 094

751

462

H

596

4 768

1 425

864

593

365

27

L

1 468

11 744

3 517

2 132

1 465

902

M

1 128

9 024

2 701

1 637

1 125

692

Q

808

6 464

1 933

1 172

805

496

H

628

5 024

1 501

910

625

385

28

L

1 531

12 248

3 669

2 223

1 528

940

M

1 193

9 544

2 857

1 732

1 190

732

Q

871

6 968

2 085

1 263

868

534

H

661

5 288

1 581

958

658

405

29

L

1 631

13 048

3 909

2 369

1 628

1 002

M

1 267

10 136

3 035

1 839

1 264

778

Q

911

7 288

2 181

1 322

908

559

H

701

5 608

1 677

1 016

698

430

30

L

1 735

13 880

4 158

2 520

1 732

1066

M

1 373

10 984

3 289

1 994

1 370

843

Q

985

7 880

2 358

1 429

982

604

H

745

5 960

1 782

1 080

742

457

31

L

1 843

14 744

4 417

2 677

1 840

1132

M

1 455

11 640

3 486

2 113

1 452

894

Q

1 033

8 264

2 473

1 499

1 030

634

H

793

6 344

1 897

1 150

790

486

32

L

1955

15 640

4 686

2 840

1 952

1201

M

1541

12 328

3 693

2 238

1 538

947

Q

1115

8 920

2 670

1 618

1 112

684

H

845

6 760

2 022

1 226

842

518

33

L

2 071

16 568

4 965

3 009

2 068

1 273

M

1 631

13 048

3 909

2 369

1 628

1 002

Q

1 171

9 368

2 805

1 700

1 168

719

H

901

7 208

2 157

1 307

898

553

34

L

2 191

17 528

5 253

3 183

2 188

1 347

M

1 725

13 800

4 134

2 506

1 722

1 060

Q

1 231

9 848

2 949

1 787

1 228

756

H

961

7 688

2 301

1 394

958

590

35

L

2 306

18 448

5 529

3 351

2 303

1 417

M

1 812

14 496

4 343

2 632

1 809

1 113

Q

1 286

10 288

3 081

1 867

1 283

790

H

986

7 888

2 361

1 431

983

605

36

L

2 434

19 472

5 836

3 537

2 431

1 496

M

1 914

15 312

4 588

2 780

1 911

1 176

Q

1 354

10 832

3 244

1 966

1 351

832

H

1 054

8 432

2 524

1 530

1 051

647

37

L

2 566

20 528

6 153

3 729

2 563

1 577

M

1 992

15 936

4 775

2 894

1 989

1 224

Q

1 426

11 408

3 417

2 071

1 423

876

H

1 096

8 768

2 625

1 591

1 093

673

38

L

2 702

21 616

6 479

3 927

2 699

1 661

M

2 102

16 816

5 039

3 054

2 099

1 292

Q

1 502

12 016

3 599

2 181

1 499

923

H

1 142

9 136

2 735

1 658

1 139

701

39

L

2 812

22 496

6 743

4 087

2 809

1 729

M

2 216

17 728

5 313

3 220

2 213

1 362

Q

1 582

12 656

3 791

2 298

1 579

972

H

1 222

9 776

2 927

1 774

1 219

750

40

L

2 956

23 648

7 089

4 296

2 953

1 817

M

2 334

18 672

5 596

3 391

2 331

1 435

Q

1 666

13 328

3 993

2 420

1 663

1 024

H

1 276

10 208

3 057

1 852

1 273

784

CHÚ THÍCH 1 Tất cả các từ mã đều có độ dài 8 bit, ngoại trừ từ mã của dữ liệu cuối cùng đối với cỡ hình M1 và M3 có độ dài 4 bit.

CHÚ THÍCH 2 S bit dữ liệu bao gồm cả các bit cho chỉ báo mode và chỉ dấu đếm ký tự.

6.5. Sửa lỗi

6.5.1. Dung lượng sửa lỗi

QR CODE 2005 sử dụng việc mã hóa kiểm soát lỗi RS để phát hiện và sửa lỗi. Một loạt từ mã sửa lỗi được tạo ra và thêm vào chuỗi từ mã dữ liệu để cho phép mã hình có thể chịu sự hư hỏng mà không mất dữ liệu. Có 4 mức sửa lỗi cho người sử dụng lựa chọn, như trình bày ở Bảng 8, tạo khả năng khôi phục lại một số lượng hư hỏng như sau:

Bảng 8  Các mức sửa lỗi

Mức sửa lỗi

% Dung lượng khôi phục (xấp xỉ)

L

7

M

15

Q

25

H

30

Phụ lục K.2 nêu hướng dẫn về mức sửa lỗi phù hợp được áp dụng cho mã hình.

Mức sửa lỗi H là không sẵn có trong mã hình Micro QR code.

Các từ mã sửa lỗi có thể sửa hai loại từ mã bị lỗi, vết xóa (các từ mã bị lỗi ở những vị trí đã biết) và các lỗi (các từ mã bị lỗi ở những vị trí chưa biết). Vết xóa là một ký tự mã hình không quét được hoặc không giải mã được. Lỗi là một ký tự mã hình bị giải mã sai. Vì QR code 2005 là một mã hình có dạng ma trận, nên một sai sót khi chuyển đổi môđun từ tối thành sáng hoặc ngược lại sẽ dẫn đến sự giải mã nhầm ký tự mã hình bị ảnh hưởng tưởng như đúng nhưng lại là một từ mã khác. Sai lỗi như vậy gây ra dạng lỗi thay thế trong dữ liệu sẽ cần hai từ mã sửa lỗi để sửa nó.

Số vết xóa và lỗi có thể sửa được tính theo công thức sau đây:

e + 2 t  d-p

trong đó:

e = số vết xóa

t = số lỗi

d = số từ mã sửa lỗi

p = số từ mã bảo vệ giải mã nhầm

Trong trường hợp chung, p = 0. Tuy nhiên, nếu phần lớn dung lượng sửa lỗi được sử dụng để sửa vết xóa thì sẽ tăng khả năng không phát hiện ra lỗi. Bất cứ khi nào số vết xóa lớn hơn một nửa số từ mã sửa lỗi, p = 3. Đối với các mã hình nhỏ có từ mã sửa lỗi nhỏ hơn 8, không được sử dụng phép sửa vết xóa (e = 0 và p > 0).

Ví dụ, trong mã hình cỡ 6-H có tổng cộng 172 từ mã, trong đó có 112 từ mã sửa lỗi (còn lại là 60 từ mã dữ liệu). 112 từ mã sửa lỗi này có thể sửa 56 lỗi giải mã nhầm hoặc lỗi thay thế, tức là 56/172 hay 32,6 % dung lượng mã hình.

Trong công thức trên, phải gán các giá trị sau cho p:

– p = 3 trong các mã hình cỡ 1-L và M2-L;

– p = 2 trong các mã hình cỡ 1-M, 2-L, M1, M2-M, M3-L và M4-L,

– p = 1 trong các mã hình cỡ 1-Q, 1-H và 3-L,

 p = 0 trong các trường hợp khác.

Khi p > 0 thì có (tức là 1, 2 hay 3) từ mã đóng vai trò là các từ mã tìm lỗi và ngăn chặn sự chuyển dữ liệu từ các mã hình có số lỗi lớn hơn dung lượng sửa lỗi, e phải nhỏ hơn d/2. Ví dụ: trong mã hình cỡ 2-L, tổng số các từ mã là 44; trong đó có 34 từ mã dữ liệu và 10 từ mã sửa lỗi. Từ Bảng 9 có thể thấy rằng dung lượng sửa lỗi là 4 lỗi (khi e = 0). Thay thế vào công thức trên,

0 + (2 x 4) = 10  2

có nghĩa là sửa 4 lỗi chỉ cần 8 từ mã sửa lỗi; vì vậy hai từ mã sửa lỗi còn lại có thể tìm thêm các lỗi phụ khác (nhưng chưa chính xác) và mã hình sẽ không thể giải mã được nếu có nhiều hơn 4 lỗi.

Dựa vào cỡ hình và mức sửa lỗi, chuỗi từ mã dữ liệu phải được chia nhỏ thành một hoặc nhiều khối, thuật toán sửa lỗi phải được áp dụng riêng rẽ cho từng khối. Đối với mỗi cỡ hình và mức sửa lỗi, Bảng 9 liệt kê tổng số từ mã, tổng số từ mã sửa lỗi, cấu trúc và số khối sửa lỗi.

Nếu cần phải thêm các bit dư để lấp đầy các môđun còn lại trong dung lượng mã hình đối với các cỡ mã hình nhất định thì tất cả sẽ là các bit 0.

Bảng 9 – Các đặc tính sửa lỗi đối với QR code 2005

Cỡ hình

Tổng số từ mã

Mức sửa lỗi

Số từ mã sửa lỗi

Giá trị của p

Số khối sửa lỗi

Mã sửa lỗi trên mỗi khối (c, k, r)a

M1

5

Ch phát hin lỗi

2

2

1

(5,3,0)b

M2

10

L

M

5

6

3

2

1

1

(10,5,1)b

(10,4,2)b

M3

17

L

M

6

8

2

1

1

(17,11,2)b

(17,9,4)b

M4

24

L

M

Q

8

10

14

2

0

0

1

1

1

(24,16,3) b

(24,14,5) b

(24,10,7) b

 

 

L

7

3

1

(26,19,2) b

1

26

M

10

2

1

(26,16,4) b

 

 

Q

13

1

1

(26,13,6) b

 

 

H

17

1

1

(26,9,8) b

 

 

L

10

2

1

(44,34,4) b

2

44

M

16

0

1

(44,28,8)

 

 

Q

22

0

1

(44,22,11)

 

 

H

28

0

1

(44,16,14)

 

 

L

15

1

1

(70,55,7) b

3

70

M

26

0

1

(70,44,13)

 

 

Q

36

0

2

(35,17,9)

 

 

H

44

0

2

(35,13,11)

 

 

L

20

 

1

(100,80,10)

4

100

M

36

0

2

(50,32,9)

 

 

Q

52

 

2

(50,24,13)

 

 

H

64

 

4

(25,9,8)

 

 

L

26

 

1

(134,108,13)

 

 

M

48

 

2

(67,43,12)

5

134

Q

72

0

2

2

(33,15,9)

(34,16,9)

 

 

H

88

 

2

2

(33,11,11)

(34,12,11)

 

 

L

36

 

2

(86,68,9)

6

172

M

64

0

4

(43,27,8)

 

 

Q

96

 

4

(43,19,12)

 

 

H

112

 

4

(43,15,14)

 

 

L

40

 

2

(98,78,10)

 

 

M

72

 

4

(49,31,9)

7

196

Q

108

0

2

(32,14,9)

 

 

 

 

 

4

(33,15,9)

 

 

H

130

 

4

(39,13,13)

 

 

 

 

 

1

(40,14,13)

 

 

L

48

 

2

(121,97,12)

 

 

M

88

 

2

(60,38,11)

 

 

 

 

 

2

(61,39,11)

8

242

Q

132

0

4

(40,18,11)

 

 

 

 

 

2

(41,19,11)

 

 

H

156

 

4

(40,14,13)

 

 

 

 

 

2

(41,15,13)

 

 

L

60

 

2

(146,116,15)

 

 

M

110

 

3

(58,36,11)

 

 

 

 

 

2

(59,37,11)

9

292

Q

160

0

4

(36,16,10)

 

 

 

 

 

4

(37,17,10)

 

 

H

192

 

4

(36,12,12)

 

 

 

 

 

4

(37,13,12)

 

 

L

72

 

2

(86,68,9)

 

 

 

 

 

2

(87,69,9)

 

 

M

130

 

4

(69,43,13)

 

 

 

 

 

1

(70,44,13)

10

346

Q

192

0

6

(43,19,12)

 

 

 

 

 

2

(44,20,12)

 

 

H

224

 

6

(43,15,14)

 

 

 

 

 

2

(44,16,14)

 

 

L

80

 

4

(101,81,10)

 

 

M

150

 

1

(80,50,15)

 

 

 

 

 

4

(81,51,15)

11

404

Q

224

0

4

(50,22,14)

 

 

 

 

 

4

(51,23,14)

 

 

H

264

 

3

(36,12,12)

 

 

 

 

 

8

(37,13,12)

 

 

L

96

 

2

(116,92,12)

 

 

 

 

 

2

(117,93,12)

 

 

M

176

 

6

(58,36,11)

 

 

 

 

 

2

(59,37,11)

12

466

Q

260

0

4

(46,20,13)

 

 

 

 

 

6

(47,21,13)

 

 

H

308

 

7

(42,14,14)

 

 

 

 

 

4

(43,15,14)

 

 

L

104

 

4

(133,107,13)

 

 

M

198

 

8

(59,37,11)

 

 

 

 

 

1

(60,38,11)

13

532

Q

288

0

8

(44,20,12)

 

 

 

 

 

4

(45,21,12)

 

 

H

352

 

12

(33,11,11)

 

 

 

 

 

4

(34,12,11)

 

 

L

120

 

3

(145,115,15)

 

 

 

 

 

1

(146,116,15)

 

 

M

216

 

4

(64,40,12)

 

 

 

 

 

5

(65,41,12)

14

581

Q

320

0

11

(36,16,10)

 

 

 

 

 

5

(37,17,10)

 

 

H

385

 

11

(36,12,12)

 

 

 

 

 

5

(37,13,12)

 

 

L

132

 

5

(109,87,11)

 

 

 

 

 

1

(110,88,11)

 

 

M

240

 

5

(65,41,12)

 

 

 

 

 

5

(66,42,12)

15

655

Q

360

0

5

(54,24,15)

 

 

 

 

 

7

(55,25,15)

 

 

H

432

 

11

(36,12,12)

 

 

 

 

 

7

(37,13,12)

 

 

L

144

 

5

(122,98,12)

 

 

 

 

 

1

(123,99,12)

 

 

M

280

 

7

(73,45,14)

 

 

 

 

 

3

(74,46,14)

16

733

Q

408

0

15

(43,19,12)

 

 

 

 

 

2

(44,20,12)

 

 

H

480

 

3

(45,15,15)

 

 

 

 

 

13

(46,16,15)

 

 

L

168

 

1

(135,107,14)

 

 

 

 

 

5

(136,108,14)

 

 

M

308

 

10

(74,46,14)

 

 

 

 

 

1

(75,47,14)

17

815

Q

448

0

1

(50,22,14)

 

 

 

 

 

15

(51,23,14)

 

 

H

532

 

2

(42,14,14)

 

 

 

 

 

17

(43,15,14)

 

 

L

108

 

5

(150,120,15)

 

 

 

 

 

1

(151,121,15)

 

 

M

338

 

9

(69,43,13)

 

 

 

 

 

4

(70,44,13)

18

901

Q

504

0

17

(50,22,14)

 

 

 

 

 

1

(51,23,14)

 

 

H

588

 

2

(42,14,14)

 

 

 

 

 

19

(43,15,14)

 

 

L

196

 

3

(141,113,14)

 

 

 

 

 

4

(142,114,14)

 

 

M

364

 

3

(70,44,13)

 

 

 

 

 

11

(71,45,13)

19

991

Q

546

0

17

(47,21,13)

 

 

 

 

 

4

(48,22,13)

 

 

H

650

 

9

(39,13,13)

 

 

 

 

 

16

(40,14,13)

 

 

L

224

 

3

5

(135,107,14)

(136,108,14)

 

 

M

416

 

3

13

(67,41,13)

(68,42,13)

20

1 085

Q

600

0

15

5

(54,24,15)

(55,25,15)

 

 

H

700

 

15

10

(43,15,14)

(44,16,14)

 

 

L

224

 

4

4

(144,116,14)

(145,117,14)

 

 

M

442

 

17

(68,42,13)

21

1 156

Q

644

0

17

6

(50,22,14)

(51,23,14)

 

 

H

750

 

19

6

(46,16,15)

(47,17,15)

 

 

L

252

 

2

7

(139,111,14)

(140,112,14)

22

1 258

M

476

0

17

(74,46,14)

 

 

Q

690

 

7

16

(54,24,15)

(55,25,15)

 

 

H

816

 

34

(37,13,12)

 

 

L

270

 

4

(151,121,15)

(152,122,15)

23

1 364

M

504

0

4

14

(75,47,14)

(76,48,14)

 

 

Q

750

 

11

14

(54,24,15)

(55,25,15)

 

 

H

900

 

16

14

(45,15,15)

(46,16,15)

 

 

L

300

 

6

4

(147,117,15)

(148,118,15)

24

1 474

M

560

0

6

14

(73,45,14)

(74,46,14)

 

 

Q

810

 

11

16

(54,24,15)

(55,25,15)

 

 

H

960

 

30

2

(46,16,15)

(47,17,15)

 

 

L

312

 

8

(132,106,13)

 

 

 

 

 

4

(133,107,13)

 

 

 

 

 

8

(75,47,14)

25

1 588

M

588

0

13

(76,48,14)

 

 

Q

870

 

7

(54,24,15)

 

 

 

 

 

22

(55,25,15)

 

 

H

1050

 

22

(45,15,15)

 

 

 

 

 

13

(46,16,15)

 

 

L

336

 

10

(142,114,14)

 

 

 

 

 

2

(143,115,14)

 

 

 

 

 

19

(74,46,14)

26

1 706

M

644

0

4

(75,47,14)

 

 

Q

952

 

28

(50,22,14)

 

 

 

 

 

6

(51,23,14)

 

 

H

1110

 

33

(46,16,15)

 

 

 

 

 

4

(47,17,15)

 

 

L

360

 

8

(152,122,15)

 

 

 

 

 

4

(153,123,15)

 

 

 

 

 

22

(73,45,14)

27

1 828

M

700

0

3

(74,46,14)

 

 

Q

1020

 

8

(53,23,15)

 

 

 

 

 

26

(54,24,15)

 

 

H

1200

 

12

(45,15,15)

 

 

 

 

 

28

(46,16,15)

 

 

L

390

 

3

(147,117,15)

 

 

 

 

 

10

(148,118,15)

 

 

 

 

 

3

(73,45,14)

28

1 921

M

728

0

23

(74,46,14)

 

 

Q

1050

 

4

(54,24,45)

 

 

 

 

 

31

(55,25,15)

 

 

H

1260

 

11

(45,15,15)

 

 

 

 

 

31

(46,16,15)

 

 

L

420

 

7

(146,116,15)

 

 

 

 

 

7

(147,117,15)

 

 

 

 

 

21

(73,45,14)

29

2 051

M

784

0

7

(74,46,14)

 

 

Q

1140

 

1

(53,23,15)

 

 

 

 

 

37

(54,24,15)

 

 

H

1350

 

19

(45,15,15)

 

 

 

 

 

26

(46,16,15)

 

 

L

450

 

5

(145,115,15)

 

 

 

 

 

10

(146,116,15)

 

 

 

 

 

19

(75,47,14)

30

2 185

M

812

0

10

(76,48,14)

 

 

Q

1200

 

15

(54,24,15)

 

 

 

 

 

25

(55,25,15)

 

 

H

1440

 

23

(45,15,15)

 

 

 

 

 

25

(46,16,15)

 

 

L

480

 

13

(145,115,15)

 

 

 

 

 

3

(146,116,15)

 

 

 

 

 

2

(74,46,14)

31

2 323

M

868

 

29

(75,47,14)

 

 

Q

1 290

 

42

(54,24,15)

 

 

 

 

 

1

(55,25,15)

 

 

H

1 530

 

23

(45,15,15)

 

 

 

 

 

28

(46,16,15)

 

 

L

510

 

17

(145,115,15)

 

 

 

 

 

10

(74,46,14)

32

2 465

M

924

0

23

(75,47,14)

 

 

Q

1 350

 

10

(54,24,15)

 

 

 

 

 

35

(55,25,15)

 

 

H

1 620

 

19

(45,15,15)

 

 

 

 

 

35

(46,16,15)

 

 

L

540

 

17

(145,115,15)

 

 

 

 

 

1

(146,116,15)

 

 

 

 

 

14

(74,46,14)

33

2611

M

980

0

21

(75,47,14)

 

 

Q

1440

 

29

(54,24,15)

 

 

 

 

 

19

(55,25,15)

 

 

H

1710

 

11

(45,15,15)

 

 

 

 

 

46

(46,16,15)

 

 

L

570

 

13

(145,115,15)

 

 

 

 

 

6

(146,116,15)

 

 

 

 

 

14

(74,46,14)

34

2 761

M

1 036

0

23

(75,47,14)

 

 

Q

1 530

 

44

(54,24,15)

 

 

 

 

 

7

(55,25,15)

 

 

H

1 800

 

59

(46,16,15)

 

 

 

 

 

1

(47,17,15)

 

 

L

570

 

12

(151,121,15)

 

 

 

 

 

7

(152,122,15)

 

 

 

 

 

12

(75,47,14)

35

2 876

M

1 064

0

26

(76,48,14)

 

 

Q

1 590

 

39

(54,24,15)

 

 

 

 

 

14

(55,25,15)

 

 

H

1 890

 

22

(45,15,15)

 

 

 

 

 

41

(46,16,15)

 

 

L

600

 

6

(151,121,15)

 

 

 

 

 

14

(152,122,15)

 

 

 

 

 

6

(75,47,14)

36

3 034

M

1 120

0

34

(76,48,14)

 

 

Q

1 680

 

46

(54,24,15)

 

 

 

 

 

10

(55,25,15)

 

 

H

1 980

 

2

(45,15,15)

 

 

 

 

 

64

(46,16,15)

 

 

L

630

 

17

(152,122,15)

 

 

 

 

 

4

(153,123,15)

 

 

 

 

 

29

(74,46,14)

37

3196

M

1204

0

14

(75,47,14)

 

 

Q

1770

 

49

(54,24,15)

 

 

 

 

 

10

(55,25,15)

 

 

H

2 100

 

24

(45,15,15)

 

 

 

 

 

46

(46,16,15)

 

 

L

660

 

4

(152,122,15)

 

 

 

 

 

18

(153,123,15)

 

 

 

 

 

13

(74,46,14)

38

3362

M

1 260

0

32

(75,47,14)

 

 

Q

1 860

 

48

(54,24,15)

 

 

 

 

 

14

(55,25,15)

 

 

H

2 220

 

42

(45,15,15)

 

 

 

 

 

32

(46,16,15)

 

 

L

720

 

20

(147,117,15)

 

 

 

 

 

4

(148,118,15)

 

 

 

 

 

40

(75,47,14)

39

3 532

M

1 316

0

7

(76,48,14)

 

 

Q

1 950

 

43

(54,24,15)

 

 

 

 

 

22

(55,25,15)

 

 

H

2 310

 

10

(45,15,15)

 

 

 

 

 

67

(46,16,15)

 

 

L

750

 

19

(148,118,15)

 

 

 

 

 

6

(149,119,15)

 

 

 

 

 

18

(75,47,14)

40

3 706

M

1 372

0

31

(76,48,14)

 

 

Q

2 040

 

34

(54,24,15)

 

 

 

 

 

34

(55,25,15)

 

 

H

2 430

 

20

(45,15,15)

 

 

 

 

 

61

(46,16,15)

a c = tổng số từ – mã, k = số từ – mã dữ liệu, r = số dung lượng sửa lỗi.
b Dung lượng sửa lỗi nhỏ hơn mt nửa số từ mã sửa lỗi sẽ làm giảm khả năng giải mã sai.

6.5.2. Tạo từ mã sửa lỗi

Từ mã dữ liệu kể cả từ mã độn khi cần thiết phải được chia thành một số khối như minh họa trong Bảng 9. Từ mã sửa lỗi phải được phân chia cho mỗi khối và gắn với từ mã dữ liệu.

CHÚ THÍCH Mã hình Micro QR code bao gồm một khối đơn lẻ.

S học đa thức đối với QR code 2005 phải được tính toán bằng việc sử dụng số học theo từng bit modulo 2 và theo từng byte modulo 100011101. Đây là trường Galois trên 28 với 100011101 thể hiện đa thức x8 + x4 + x3 + x+1.

Từ mã dữ liệu là những hệ số của lũy thừa trong đa thức trong đó hệ số của lũy thừa bậc cao nhất sẽ là từ mã dữ liệu đầu tiên và hệ số của lũy thừa có bậc thấp nhất sẽ là từ mã dữ liệu cuối cùng đứng ngay trước từ mã sửa lỗi đầu tiên.

Từ mã sửa lỗi là số dư còn lại sau khi chia tổng từ mã dữ liệu cho đa thức g(x) được dùng cho mã sửa lỗi (xem Phụ lục A). Hệ số của bậc cao nhất của số dư sẽ là từ mã sửa lỗi đầu tiên và hệ số bậc 0 sẽ là từ mã sửa lỗi cuối cùng và là từ mã cuối cùng trong khối.

CHÚ THÍCH Nếu phép tính này được thực hiện bởi “phép chia đáng kể” thì đa thức dữ liệu của mã hình phải được nhân trước tiên với xk.

Ba mươi mốt đa thức sinh khác nhau được sử dụng để tạo từ mã sửa lỗi đối với QR code 2005, được trình bày trong Phụ lục A.

Việc tạo từ mã sửa lỗi có thể được thiết lập theo sơ đồ Hình 14. Các thanh ghi từ b0 tới bk-1 đều được khởi tạo các số 0. Có hai giai đoạn tạo bộ mã hóa. Giai đoạn đầu tiên với bộ phận chuyển mạch ở vị trí dưới cùng, từ mã dữ liệu sẽ được chuyển tới đầu ra và tới mạch. Giai đoạn đầu sẽ hoàn thành sau xung đồng hồ. Trong giai đoạn hai (từ xung đồng hồ thứ n+1 tới n+k), với bộ phận chuyển mạch ở vị trí trên thì từ mã sửa lỗi từ εk-1 tới ε0 sẽ được tạo ra bằng việc chuyển các thanh ghi theo thứ tự trong khi vẫn giữ dữ liệu đầu vào bằng 0.

Å = GF (256) Cộng

Ä = GF(256) Nhân

Hình 14 – Sơ đ mã hóa từ mã sửa lỗi

6.6. Thiết lập chuỗi từ mã gói tin cuối cùng

Tổng số từ mã trong gói tin luôn tương đương với tổng số từ mã có th xuất hiện trong mã hình, như trình bày trong Bảng 7 và Bảng 9.

Để thiết lập chuỗi từ mã cuối cùng (dữ liệu cộng với từ mã sửa lỗi và từ mã dư nếu cần thiết) cần phải thực hiện theo những bước sau:

1. Chia chuỗi từ mã dữ liệu thành n khối như đã quy định trong Bảng 9 tùy theo cỡ hình và mức sửa lỗi (hoặc một khối đơn lẻ đối với mã hình Micro QR code).

2. Với mỗi khối dữ liệu, hãy tính toán một khối từ mã sửa lỗi tương ứng như quy định trong 6.5.2 và Phụ lục A.

3. Ghép thành chuỗi cuối bằng việc lấy dữ liệu và từ mã sửa lỗi từ mỗi khối theo thứ tự: Ví dụ, nếu có bốn khối thì chuỗi cuối sẽ là: khối dữ liệu 1, từ mã 1; khối dữ liệu 2, từ mã 1…; khi dữ liệu 4, từ mã 1; khối dữ liệu 1, từ mã 2;… và tương tự tới khối dữ liệu 3, từ mã cuối cùng; khối dữ liệu 4, từ mã cuối cùng; sau đó khối sửa lỗi 1, từ mã 1; khối sửa lỗi 2, từ mã 1;… và tương tự tới khối sửa lỗi 4, từ mã cuối cùng. Mã hình QR code 2005 QR chứa dữ liệu và các khối sửa lỗi mà những khối này sẽ luôn phủ kín toàn bộ dung lượng từ mã của mã hình. Tuy nhiên, trong những cỡ hình nhất định của QR code có một số môđun sẵn có cho dữ liệu và từ mã sửa lỗi không phải chính xác là bội số của 8, có thể cần tới 3, 4 hoặc 7 bit dư được thêm vào dòng bit của gói tin cuối cùng nhằm phủ kín một cách chính xác một số môđun trong vùng mã hóa này.

Khối (hay những khối) dữ liệu ngắn nhất phải được xếp đầu tiên trong chuỗi và tất cả những từ mã dữ liệu phải được sắp xếp trong mã hình ngay trước từ mã sửa lỗi đầu tiên. Chẳng hạn như mã hình cỡ 5-H bao gồm bốn khối dữ liệu và bốn khối sửa lỗi, hai thành phần đầu của mỗi khối chứa 11 từ mã dữ liệu và 22 mã từ sửa lỗi tương ứng, trong khi đó cặp thứ ba và thứ tư chứa 12 từ mã dữ liệu và 22 từ mã sửa lỗi tương ứng. Trong mã hình này, sự sắp xếp ký tự có thể được mô tả theo Hình 15. Mỗi hàng trong hình tương ứng với một khối từ mã dữ liệu (ký hiệu là Dn) theo sau là một khối những từ mã sửa lỗi (ký hiệu là En); chuỗi sắp xếp ký tự trong mã hình sẽ được hình thành bằng cách đọc từ trên xuống lần lượt các cột của hình.

Hình 15  Thiết lập chuỗi từ mã gói tin cuối cùng

Khi đó, chuỗi từ mã gói tin cuối cùng của mã hình cỡ 5-H sẽ là:

D1, D12, D23, D35, D2, D13, D24, D36,…D11, D22, D33, D45, D34, D46, E1, E23, E45, E67, E2, E24E46, E68,… E22, E44, E66, E88. Dung lượng môđun trong mã hình được lấp đầy bằng việc bổ sung 7 bit dư (0) cần thiết sau từ mã cuối cùng.

6.7. Sắp xếp từ mã trong ma trận

6.7.1. Trình bày ký tự trong mã hình

Trong mã hình QR code 2005 có hai loại ký tự mã hình, ký tự bình thường và không bình thường. Việc sử dụng chúng tùy thuộc vào vị trí của chúng trong mã hình, có liên quan tới những ký tự mã hình khác và các mẫu chức năng khác.

Phải trình bày hầu hết các từ mã trong khối môđun bình thường cỡ 2 x 4. Có hai cách sắp xếp những khối này, theo chiều dọc (với 2 môđun chiều rộng và 4 môđun chiều cao) và nếu cần thiết thì sắp xếp đổi hướng, xếp theo chiều ngang (với 4 môđun chiều rộng và 2 môđun chiều cao). Những ký tự mã hình không bình thường được sử dụng khi thay đổi hướng hay trong những vùng lân cận với mẫu căn chuẩn hoặc mẫu chc năng khác. Xem các ví dụ nêu trong Hình 16,17 và 18.

6.7.2. Sắp xếp mẫu chức năng

Phải thiết lập một ma trận vuông trống với một số môđun dọc và ngang tương ứng với cỡ hình đang sử dụng. Các vị trí tương ứng với những mẫu tìm kiếm, dấu phân cách, mẫu căn chỉnh và mẫu căn chuẩn phải được lấp đầy bởi các môđun tối hoặc sáng cho thích hợp. Các vị trí môđun đối với thông tin định dạng và thông tin về cỡ hình phải tạm thời được để trống phía bên trái. Những vị trí trống này được mô tả trong Hình 19 và 20 chung cho mọi cỡ hình (mặc dù thông tin về cỡ hình không được thể hiện trong các mã có cỡ hình 1 đến 6). Phụ lục E quy định việc định vị mẫu căn chuẩn.

6.7.3. Sắp xếp ký tự trong mã hình

Trong vùng mã hóa của mã hình QR code 2005, các ký tự mã hình được đặt trong những cột rộng 2 môđun bắt đầu từ góc dưới bên phải của mã hình và luân phiên chạy lên hay chạy xuống từ phải qua trái. Nguyên tắc chi phối việc sắp các ký tự và các bit trong phạm vi các ký tự này sẽ được minh họa dưới đây. Hình 19 và 20 minh họa các mã có cỡ hình 2 và 7 áp dụng nguyên tắc này.

a) Chuỗi sắp xếp bit trong cột phải từ phải qua trái và hoặc là đi lên hoặc đi xuống tùy theo hướng sắp xếp của ký tự trong mã hình.

b) Bit quan trọng nhất (như bit thứ 7) của mỗi từ mã phải được đặt tại vị trí môđun trống đầu tiên. Chuỗi những bit sau phải được đặt tại những vị trí môđun tiếp theo. Do đó bit quan trọng nhất sẽ chiếm môđun thấp hơn bên phải của ký tự mã hình bình thường nếu hướng sắp xếp đi lên, và chiếm môđun cao hơn bên phải nếu hướng sắp xếp đi xuống. Tuy nhiên nó có thể chiếm môđun thấp hơn bên trái của ký tự mã hình không bình thường nếu ký tự trước đó kết thúc ở cột môđun phía bên phải (xem Hình 18).

Hình 16 – Sắp xếp bit trong ký tự mã hình bình thường theo hướng đi lên và đi xuống

c) Khi ký tự mã hình chạm biên ngang của mẫu căn chuẩn hoặc của mẫu căn chỉnh ở cả hai cột môđun thì nó sẽ tiếp tục ở trên hay ở dưới mẫu với giả định rằng các vùng mã hóa là liên tục.

d) Khi chạm tới biên trên hoặc biên dưới vùng ký tự của mã hình (nghĩa là vin mã hình, thông tin định dạng, thông tin cỡ hình hoặc dấu phân cách) thì tất cả các bit dư còn lại trong từ mã phải được đặt trong những cột tiếp theo về bên trái. Hướng sắp xếp sẽ đảo ngược.

Hình 17 – Ví dụ về sắp xếp bit trong ký tự mã hình (i) bình thường và (ii) không bình thường khi hướng sắp xếp thay đổi

e) Khi cột môđun bên phải của cột ký tự mã hình chạm tới mẫu căn chuẩn hoặc vùng chứa thông tin cỡ hình, thì các bit phải được sắp xếp để hình thành nên một ký tự mã hình không bình thường, trải dọc theo cột môđun đơn bên cạnh mẫu căn chuẩn hoặc mẫu thông tin cỡ hình. Nếu ký tự kết thúc trước hai cột trống dành cho ký tự mã hình tiếp theo thì bit quan trọng nhất của ký tự tiếp theo phải được đặt trong cột đơn.

Hình 18 – Ví dụ về sắp xếp bit ở cạnh mẫu căn chuẩn

Có một phương pháp sắp xếp khác trong mã hình có thể tạo ra cùng một kết quả như vậy, đó là xem những chuỗi từ mã xen kẽ như là một dòng bit đơn lẻ được sắp xếp (bắt đầu bằng bit quan trọng nhất) trong những cột rộng 2 môđun chạy lên trên hoặc chạy xuống từ phải sang trái mã hình. Trong mỗi cột, các bit được sắp xếp luân phiên tại những môđun phải và trái, dịch chuyển lên phía trên hoặc xuống phía dưới tùy theo hướng sắp xếp và bỏ qua những khu vực chứa mẫu chức năng, việc thay đổi hướng ở phía trên cùng hoặc dưới cùng của các cột. Phải luôn đặt mỗi bit ở vị trí môđun trống đầu tiên.

Khi dung lượng dữ liệu của mã hình không thể chia chẵn thành một số ký tự mã hình 8-bit thì phải sử dụng một số bit dư thích hợp (3, 4 hoặc 7 như trong Bảng 1) để lấp đầy dung lượng mã hình. Những bit dư này phải luôn luôn có giá trị bằng 0 trước khi áp mặt nạ dữ liệu theo 6.8.

Hình 19 – Sắp xếp ký tự mã hình trong mã hình cỡ 2-M

D1-D13

Khối dữ liệu 1

D14  D26

Khối dữ liệu 2

D27 – D39

Khối dữ liệu 3

D40 – D52

Khối dữ liệu 4

D53 – D66

Khối dữ liệu 5

E1 – E26

Khối sửa lỗi 1

E27 – E52

Khối sửa lỗi 2

E53 – E78

Khối sửa lỗi 3

E79  E104

Khối sửa lỗi 4

E105  E130

Khi sửa lỗi 5

Hình 20 – Sắp xếp ký tự mã hình trong mã hình cỡ 7-H

Các nguyên tắc giống hệt như vậy cũng áp dụng cho mã hình Micro QR code. Không có các ký tự mã hình không bình thường trong những mã hình này và một ngoại lệ duy nhất là D3 trong mã hình cỡ M1, D11 trong mã hình cỡ M3-L và D9 trong mã hình cỡ M3-M là một khối 4 môđun vuông 2 x 2.

6.8. Áp mặt nạ

Để việc đọc QR code 2005 chính xác hơn thì nên sắp xếp các môđun sáng và tối theo một cách cân đối trong mã hình. Mẫu môđun 1011101 thường được tìm thấy đặc biệt trong mẫu tìm kiếm phải được tránh ở các vùng khác trong mã hình nếu có thể. Để đáp ứng được những điều kiện trên, phải áp mặt nạ dữ liệu theo những bước sau đây:

1. Áp mặt nạ dữ liệu không được áp dụng cho các mẫu chức năng.

2. Chuyển đổi mẫu môđun đã cho trong những vùng mã hóa (ngoại trừ thông tin định dạng và thông tin cỡ hình) với nhiều mẫu ma trận liên tiếp thông qua phép toán logic XOR. Đối với phép toán XOR, hãy đặt mẫu môđun lần lượt trên mỗi mẫu ma trận áp mặt nạ dữ liệu và đảo ngược những môđun (từ sáng sang tối, hoặc ngược lại) tương ứng với các môđun tối của mẫu áp mặt nạ dữ liệu.

3. Sau đó đánh giá tất cả các mẫu đã được chuyển đổi bằng cách tính điểm phạt đối với những tính năng không mong đợi ở mỗi kết quả chuyển đổi.

4. Chọn mẫu có điểm phạt thấp nhất.

6.8.1. Mu mặt nạ dữ liệu

Bảng 10 cho thấy bảng tham chiếu mẫu mặt nạ dữ liệu (tham chiếu hệ nhị phân để sử dụng trong thông tin định dạng) và điều kiện để tạo mẫu mặt nạ dữ liệu. Mẫu mặt nạ dữ liệu được tạo ra bằng cách xác định bất kỳ môđun nào là tối trong vùng mã hóa (trừ vùng dành cho thông tin định dạng và thông tin cỡ hình) nếu điều kiện đúng; trong mệnh đề điều kiện thì là vị trí hàng của môđun trong câu hỏi và j là vị trí cột, với (i,j)= (0,0) đối với môđun phía trên cùng bên trái trong mã hình.

Bảng 10 – Các điều kiện để tạo mẫu mặt nạ dữ liệu

Tham chiếu mẫu mặt nạ dữ liệu đối với mã hình QR code

Tham chiếu mẫu mặt nạ dữ liệu đối với mã hình Micro QR code

Điều kiện

000

 

(i+j) mod 2 = 0

001

00

i mod 2 = 0

010

 

j mod 3 = 0

011

 

(i+j) mod 3 = 0

100

01

((i div 2) + (j div 3)) mod 2 = 0

101

 

((i j) mod 2 + (i j) mod 3) = 0

110

10

((i j) mod 2 + (i j) mod 3) mod 2 = 0

111

11

((i j) mod 2 + (i j) mod 3) mod 2 = 0

Hình 21 cho thấy tất cả những mẫu mặt nạ dữ liệu, được minh họa trong mã hình cỡ 1. Hình 23 mô phỏng hiệu quả của việc áp mặt nạ dữ liệu có sử dụng tham chiếu mẫu mặt nạ dữ liệu từ 000 tới 111.

((i j) mod 2 + (i+j) mod 3) mod 2 = 0 ((i j) mod 2 + (i j) mod 3) mod 2 = 0

Hình 21 – Mẫu mặt nạ dữ liệu của mã hình cỡ 1

CHÚ THÍCH 1 Ba bit dưới mỗi mẫu đại diện cho tham chiếu mẫu mặt nạ dữ liệu.

CHÚ THÍCH 2 Phương trình bên dưới tham chiếu mẫu mặt nạ dữ liệu cho thấy điều kiện tạo mẫu mặt nạ dữ liệu; những môđun thỏa mãn được điều kiện có màu tối.

Hình 22 dưới đây chỉ ra bốn mẫu áp mặt nạ dữ liệu trống áp dụng cho mã hình Micro QR code cỡ hình M-4.

Hình 22 – Các mẫu mặt nạ dữ liệu áp dụng cho mã hình Micro QR code cỡ hình M-4

Hình 23 – Sự mô phỏng quá trình áp mặt nạ dữ liệu trong mã hình QR code

6.8.2. Đánh giá kết quả áp mặt nạ dữ liệu

6.8.2.1. Đánh giá mã hình QR code

Sau khi thực hiện hoạt động áp mặt nạ dữ liệu lần lượt với mỗi mẫu mặt nạ dữ liệu, kết quả phải được đánh giá bằng cách tính điểm phạt cho mỗi lần xuất hiện những tính năng sau đây. Số điểm càng cao thì càng khó chấp nhận kết quả. Trong Bảng 11 dưới đây, từ biến số N1 tới biến số N4 đại diện cho những điểm phạt có trọng số đối với những tính năng không mong đợi (N1=3, N2=3, N3=40, N4=10), i là số lượng những môđun cạnh nhau có cùng màu vượt quá 5, và k là tỷ suất độ lệch của tỷ lệ các môđun tối chiếm trong mã hình từ 50% trong mỗi bước 5%. Mặc dù thao tác áp mặt nạ dữ liệu ch thực hiện trên vùng mã hóa của mã hình không kể thông tin định dạng, nhưng vùng được đánh giá kết quả vẫn là toàn bộ mã hình.

Bảng 11 – Tính điểm các kết quả áp mặt nạ dữ liệu

Tính năng

Điều kiện đánh giá

Điểm

Các môđun kề nhau trong hàng/ trong cột có cùng màu Số môđun = (5 + i) N1 + i
Khối các môđun cùng màu Cỡ khối = m x n N2 x (m – 1) x (n – 1)
Mẫu tỷ lệ 1 : 1 : 3 : 1 : 1

(tối:sáng:tối:sáng:tối) trong hàng/ cột, có vùng sáng độ rộng 4 môđun đi trước hoặc theo sau.

Sự tồn tại của mẫu N3
T lệ các môđun tối trong toàn bộ mã hình 50 ± ( 5 x k)% đến

50 ± ( 5 x (k + 1))%

N4 x k

Phải chọn mẫu mặt nạ dữ liệu có điểm phạt thấp nhất cho mã hình.

6.8.2.2. Đánh giá mã hình Micro QR code

Sau khi thực hiện hoạt động áp mặt nạ dữ liệu trên vùng mã hóa của mã hình lần lượt với mỗi mẫu mặt nạ dữ liệu, phải đánh giá các kết quả bằng cách tính điểm phạt đối với một số môđun tối trong mỗi cặp hai đường rìa không phải là mẫu căn chỉnh. Số điểm càng thấp thì càng khó chấp nhận kết quả. Trong những mã vạch này, cấn có nhiều môđun tối hơn trong đường rìa nhằm phân biệt vùng trống với vùng mã hóa một cách hiệu quả hơn.

Lần lượt với mỗi mẫu mặt nạ dữ liệu, đếm số môđun tối trong các đường rìa bên dưới và bên phải mã hình (trừ môđun cuối cùng của mẫu căn chỉnh). Điểm đánh giá được tính theo công thức sau:

Nếu SUM1 ≤ SUM2

Điểm đánh giá = SUM1 x 16 + SUM2

Nếu SUM1 > SUM2

Điểm đánh giá= SUM2 x 16 + SUM1

Trong đó:

SUM= số môđun tối trong đường rìa bên phải

SUM2 = số môđun tối trong đường rìa bên dưới

SUM1 > SUM2

Điểm đánh giá = SUM2 x 16 + SUM1

= (6 x 16 ) + 8

= 104

Hình 24 – Đánh giá các kết quả của việc áp mặt nạ trong mã hình Micro QR code

Phải chọn mẫu mặt nạ dữ liệu có kết quả điểm cao nhất cho mã hình.

6.9. Thông tin định dạng

6.9.1. Mã hình QR code

Thông tin định dạng là một chuỗi 15 bit chứa 5 bit dữ liệu, với 10 bit sửa lỗi được tính toán bằng cách sử dụng mã BCH(15, 5). Chi tiết về việc tính số liệu sửa lỗi cho thông tin định dạng được quy định trong Phụ lục C. Hai bit dữ liệu đầu tiên chứa mức sửa lỗi của mã hình, được chỉ ra trong Bảng 12.

Bảng 12 – Chỉ dấu mức sửa lỗi đối với mã hình QR code

Mức sửa lỗi

Chỉ dấu dạng nhị phân

L

01

M

00

Q

11

H

10

Từ bit dữ liệu thứ 3 tới bit dữ liệu thứ 5 của thông tin định dạng chứa phần tham chiếu mẫu mặt nạ dữ liệu trong Bảng 10 ở trên đối với mẫu được chọn theo 6.8.2

10 bit sửa lỗi phải được tính toán như quy định trong Phụ lục C và được nối với 5 bit dữ liệu.

Thông tin định dạng đã sửa lỗi gồm 15 bit sau đó phải được XOR với mẫu mặt nạ 101010000010010 để đảm bảo rằng không có tổ hợp nào của mức sửa lỗi và mẫu mặt nạ dữ liệu có thể tạo ra một dòng dữ liệu toàn 0.

Thông tin định dạng đã áp mặt nạ xong phải được đặt tương ứng vào những vùng dành cho nó trong mã hình như minh họa trong Hình 25. Chú ý rằng thông tin định dạng xuất hiện hai lần trong mã hình để dự phòng bởi vì việc giải mã chính xác thông tin định dạng đóng vai trò cốt yếu đối với việc giải mã toàn bộ mã hình. Bit kém quan trọng nhất của thông tin định dạng được đặt trong môđun số 0, và bit quan trọng nhất sẽ đặt trong môđun số 14 trong Hình 25. Môđun trong vị trí (4V + 9, 8) trong đó V là số cỡ hình, phải luôn có màu tối và không phải là một phần của thông tin định dạng.

VÍ DỤ

Gi sử mức sửa lỗi là M 00
và tham chiếu mẫu mặt nạ dữ liệu là 101
Dữ liệu 00101
Bit BCH 001011100
Chui bit chưa áp mặt nạ 001010011011100
Mẫu mặt nạ để thực hiện XOR 101010000010010
Mu môđun thông tin định dạng 100000011001110

Hình 25- Xác định vị trí của thông tin định dạng

6.9.2. Mã hình Micro QR code

Thông tin định dạng là một chuỗi 15 bit chứa 5 bit dữ liệu, với 10 bit sửa lỗi được tính toán bằng cách sử dụng mã BCH(15, 5). Chi tiết về việc tính số liệu sửa lỗi cho thông tin định dạng được quy định trong Phụ lục C. Ba bit dữ liệu đu tiên chứa số mã hình (dạng nhị phân) phân định mức sửa lỗi và cỡ hình như được chỉ ra trong Bảng 13.

Bảng 13 – Số mã hình đối với mã hình Micro QR code

Số mã hình

C hình

Mức sửa lỗi

Chỉ dấu dạng nhị phân

0

M1

Chỉ sửa lỗi

000

1

M2

L

001

2

M2

M

010

3

M3

L

011

4

M3

M

100

5

M4

L

101

6

M4

M

110

7

M4

Q

111

Từ bit dữ liệu thứ 4 tới bit dữ liệu thứ 5 của thông tin định dạng chứa phần tham chiếu mẫu mặt nạ dữ liệu được cho trong Bảng 10 đối với mẫu được chọn theo 6.8.2

10 bit sửa lỗi phải được tính toán như quy định trong Phụ lục C và được nối với 5 bit dữ liệu.

Thông tin định dạng đã sửa lỗi gồm 15 bit sau đó phải được XOR với mẫu bit 100010001000101 để đảm bảo rằng không có tổ hợp nào của số mã hình và mẫu mt nạ dữ liệu có thể tạo ra một dòng dữ liệu toàn 0.

Thông tin định dạng đã áp mặt nạ xong phải được đặt tương ứng vào những vùng dành cho nó trong mã hình như minh họa trong Hình 25 hoặc 26, tùy thuộc vào loại mã hình. Bit kém quan trọng nhất của thông tin định dạng được đạt trong môđun số 0, và bit quan trọng nhất được đặt trong môđun số 14 trong Hình 24 và 25.

VÍ DỤ

Số mã hình 0: 000
Tham chiếu mẫu mặt nạ dữ liệu: 11
Bit dữ liệu (số mã hình, tham chiếu mẫu mt nạ dữ liệu): 00011
Bit BCH: 1101011001
Chuỗi bit chưa áp mặt nạ: 000111101011001
Mẫu mặt nạ để thực hiện XOR: 100010001000101
Mu môđun thông tin định dạng: 100101100011100

Hình 26 – Các v trí bit của thông tin định dạng của mã hình Micro QR code

6.10. Thông tin cỡ hình

Thông tin cỡ hình được đưa vào trong mã hình QR code cỡ hình 7 hoặc lớn hơn. Thông tin c hình là một chuỗi 18-bit chứa 6 bit dữ liệu, với 12 bit sửa lỗi được tính toán bằng cách sử dụng mã Golay (18, 6). Tham khảo Phụ lục D để biết thêm chi tiết về việc tính toán sửa lỗi đối với thông tin cỡ hình. Sáu bit dữ liệu nói trên chứa cỡ hình của mã, trước tiên là bit quan trọng nhất.

Phải tính 12 bit sửa lỗi nói trên theo các bước nêu ở Phụ lục D và được nối với 6 bit dữ liệu.

Không có thông tin cỡ hình nào gây ra một dòng dữ liệu toàn 0 bởi vì chỉ có các cỡ hình từ 7 đến 40 chứa thông tin cỡ hình. Vì vậy việc áp mặt nạ không áp dụng đối với thông tin cỡ hình.

Phải đặt thông tin cỡ hình trong vùng dành cho nó trong mã hình như minh họa ở Hình 27. Chú ý rằng thông tin cỡ hình xuất hiện 2 lần trong mã hình để dự phòng vì việc giải mã chính xác thông tin cỡ hình đóng vai trò cốt yếu để giải mã toàn bộ mã hình. Bit kém quan trọng nhất của thông tin cỡ hình sẽ được đặt trong các môđun số 0 và bit quan trọng nhất sẽ được đặt trong các môđun số 17, như minh họa ở Hình 28.

VÍ DỤ

Số cỡ hình: 7
Dữ liệu: 000111
Bit BCH: 110010010100
Mẫu môđun thông tin định dạng: 000111110010010100

Vùng thông tin cỡ hình là một khối 6 x 3 môđun bên trên mẫu căn chỉnh và ngay ở phía trái của dấu phân cách mẫu tìm kiếm trên cùng bên phải, và là khối 3 x 6 môđun về phía trái của mẫu căn chỉnh và ngay trên dấu phân cách tìm mẫu tìm kiếm dưới cùng bên trái.

Hình 27 – Xác định vị trí của thông tin cỡ hình

Hình 28 – Sắp xếp môđun trong thông tin cỡ hình

7. Kết nối có cấu trúc

7.1. Những nguyên tắc cơ bản

Kết nối có cấu trúc không sn có với mã hình Micro QR code.

Có thể kết nối tối đa 16 mã hình QR code 2005 với nhau trong một khuôn dạng có cấu trúc. Nếu mã hình là một phần của gói tin kết nối có cấu trúc thì nó sẽ được chỉ ra bởi một khối đầu trong năm phần hai vị trí ký tự mã hình đầu tiên.

Chỉ báo mode kết nối có cấu trúc 0011 được đạt ở trong bốn vị trí bit quan trọng nhất trong ký tự mã hình đầu tiên.

Tiếp ngay sau nó là hai từ mã kết nối có cấu trúc, bao trùm bốn bit kém quan trọng nhất của ký tự mã hình đầu tiên, ký tự mã hình thứ hai và bốn bit quan trọng nhất của ký tự mã hình thứ ba. Từ mã đầu tiên là chỉ báo chuỗi mã hình (xem 7.2). Từ mã thứ hai là dữ liệu dạng chẵn lẻ (xem 7.3) và giống nhau trong mọi mã hình của gói tin, cho phép nó được kiểm chứng lại rằng tất cả mọi mã hình được đọc ra đều là thành phần của cùng một gói tin có dạng kết nối có cấu trúc. Sau phần đầu sẽ là từ mã dữ liệu của mã hình bắt đầu bằng chỉ báo mode đầu tiên. Nếu một hoặc nhiều ECI khác với ECI ngầm định đang sử dụng, thì phần đầu của mỗi ECI sẽ chứa chỉ báo mode ECI và mã hiệu ECI, tiếp theo sau là phần đầu của bộ kết nối có cấu trúc.

Phần dưới của Hình 29 cho thấy một ví dụ về bốn mã hình kết nối có cấu trúc, với cùng một kiểu dữ liệu như mã hình bên trên.

Hình 29- Mã hình đơn lẻ (bên trên) và một loạt mã hình dạng kết nối có cấu trúc (bên dưới) mã hóa thông điệp

ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ”

7.2. Chỉ báo chuỗi mã hình

Từ mã này cho thấy vị trí của mã hình trong bộ mã hình (có thể lên tới 16 mã) QR code 2005 trong khuôn dạng kết nối có cấu trúc (dạng m trong n mã hình). Bốn bit đầu tiên của từ mã này xác định vị trí của một mã hình cụ thể. Bốn bit cuối cùng xác định tổng số mã hình được liên kết trong khuôn dạng kết nối có cấu trúc. Các mẫu 4 bit là tương đương nhị phân tương ứng của (m -1) và (n -1).

VÍ DỤ

Để chỉ ra mã hình thứ ba của một bộ 7 mã hình, khi đó sẽ được mã hóa như sau:

Vị trí thứ 3: 0010

Tổng 7 mã hình: 0110

Mu bit: 00100110

7.3. Dữ liệu chẵn lẻ

Dữ liệu chẵn lẻ là một byte 8 bit theo sau bộ chỉ báo chuỗi mã hình. Dữ liệu chẵn lẻ là giá trị đạt được bằng cách áp dụng phép toán XOR theo từng byte đối với các giá trị byte của tất cả những dữ liệu đầu vào ban đầu trước khi chia thành những khối mã hình. Chỉ báo mode, chỉ dấu đếm ký tự, các bit đệm, dấu kết thúc và ký tự đệm sẽ không tham gia vào quá trình tính toán. Dữ liệu đầu vào tượng trưng cho việc tính toán này là các giá trị JIS Shift kiểu hai byte đối với ký tự Kanji (mỗi byte sẽ được xử lý độc lập với nhau trong phép toán XOR, đầu tiên quan trọng nhất) và các giá trị 8 bit đối với những ký tự khác như mô tả trong Bảng 6. Các giá trị kiểu byte của chế độ ECI sẽ được hình thành sau khi việc mã hóa hoặc nén dữ liệu được sử dụng để tính toán.

Chẳng hạn,  được chia thành “0123”, “4567” và “89  “ như sau:

Khối mã hình thứ nhất (“0123”) – tương ứng giá trị hệ thập lục phân là 30, 31, 32, 33

Khối mã hình thứ hai (“4567”) – tương ứng giá trị hệ thập lục phân là 34, 35, 36, 37

Khối mã hình thứ ba (“89  “) – tương ứng với giá trị hệ thập lục phân là 38, 39, 93FA, 967B

Dữ liệu chẵn lẻ được đếm từ  bằng tiến hành XOR dữ liệu theo từng byte.

30 Å 31 Å 32 Å 33 Å 34 Å 35 Å 36 Å 37 Å 38 Å 39 Å 93 Å FA Å 96 Å 7B= 85

Chú ý rằng việc tính toán dữ liệu chẵn lẻ có thể được thực hiện hoặc trước khi dữ liệu được chuyển vào máy in hoặc trong khi đang ở trong máy in, trên cơ sở dung lượng của máy in.

8. Đánh dấu và in mã hình

8.1. Kích thước

Mã hình QR code 2005 phải tuân theo những kích thước sau đây:

Cỡ X: độ rộng của một môđun phải được quy định bởi việc ứng dụng, có xem xét tới công nghệ quét được sử dụng và công nghệ tạo mã hình.

Cỡ Y độ cao của một môđun sẽ bằng với kích thước cỡ X

Vùng trống tối thiểu: Bằng 2X (đối với mã hình Micro QR code) hoặc 4X (đối với mã hình QR code) ở tất cả bốn cạnh

8.2. Diễn giải cho người đọc

Do mã hình QR code 2005 có khả năng mã hóa hàng ngàn ký tự nên việc diễn giải các ký tự dữ liệu cho người đọc có thể hiểu được là một điều không thực tế. Một cách khác hay hơn là nên kèm theo mã hình đoạn mô t thay vì nội dung toàn văn.

Không quy định cỡ và phông chữ và vì vậy có thể in gói tin ở bất kỳ đâu trong vùng bao quanh mã hình. Diễn giải cho người đọc không được viết đè lên mã hình hay vùng trống.

8.3. Hướng dẫn tạo mã

Có thể in hoặc tạo mã hình QR code 2005 bằng việc sử dụng một số công nghệ khác nhau. Phụ lục K cung cấp cho người sử dụng hướng dẫn này.

9. Chất lượng mã hình

9.1. Phương pháp

Phải đánh giá chất lượng mã hình QR code 2005 bằng việc sử dụng hướng dẫn về chất lượng bản in mã vạch ma trận 2D như đã quy định trong ISO/IEC 15415, được bổ sung và thay đổi như dưới đây.

Một vài công nghệ tạo mã hình có thể không có khả năng tạo mã hình phù hợp với tiêu chuẩn này nếu không có sự phòng ngừa đặc biệt. Phụ lục M bổ sung hướng dẫn để trợ giúp tất cả các hệ thống in đạt được mã hình QR code 2005 có giá trị.

9.2. Các thông số về chất lượng mã hình

9.2.1. Sự hư hại của mẫu cố định

Phụ lục G quy định phép đo và cơ sở phân cấp đối với sự hư hại của mẫu cố định.

9.2.2. Cấp tổng thể của mã hình và cấp độ quét

Cấp độ quét phải là các cấp thấp nhất đối với độ tương phản của mã hình, biến điệu, sự hư hại của mẫu cố định, giải mã, sự không đều trục, sự không đồng nhất của lưới và sự sửa lỗi không được sử dụng trong một hình ảnh riêng lẻ của mã hình. Cấp tổng thể của mã hình là trung bình số học của các cấp độ quét riêng lẻ đối với một số hình ảnh mã hình được thử nghiệm.

9.2.3. Sự không đồng nhất của lưới

Lưới lý tưởng được tính bằng cách sử dụng mẫu tìm kiếm và mẫu căn chuẩn làm điểm luận cứ, và được xác định bằng cách sử dụng thuật toán giải mã tham chiếu (xem điều 11).

9.3. Các phép đo kiểm soát quá trình

Một số công cụ và phương pháp có thể được sử dụng để thực hiện các phép đo hữu ích đối với việc theo dõi và kiểm soát quá trình tạo mã hình QR code 2005. Phụ lục M mô tả các phép đo này. Các công nghệ này không dùng để kiểm tra chất lượng in mã hình đã được tạo ra (một phương pháp đã biết được nêu ở phần đầu của điều này và Phụ lục G chính là phương pháp cần đến để đánh giá chất lượng in mã hình) nhưng chúng mang lại nhiều chỉ dẫn hay về việc liệu quá trình in mã hình có tạo ra mã hình dùng được hay không.

10. Khái quát về quy trình giải mã

Các bước giải mã từ việc đọc một mã hình QR code 2005 cho tới việc đưa ra các ký tự của dữ liệu đều được thực hiện ngược với quy trình mã hóa. Hình 30 minh họa quy trình này.

1. Xác định và thu nhận hình ảnh của mã hình. Nhận biết các môđun tối và môđun sáng như là một chuỗi các bit “0” và “1”. Phân định chiều phân cực của hệ số phản xạ từ việc tạo màu môđun của mẫu tìm kiếm.

2. Đọc thông tin định dạng. Gỡ mẫu áp mặt nạ và thực hiện sửa lỗi trên các môđun thông tin định dạng khi cần thiết; nếu đọc tốt, mã hình có sự định hướng bình thường còn nếu không hãy thử giải mã hình ảnh phản chiếu của thông tin định dạng. Phân định mức sửa lỗi, hoặc là trực tiếp trong mã hình QR code hoặc là từ số mã hình Micro QR code và tham chiếu mẫu mặt nạ dữ liệu.

3. Đọc thông tin cỡ hình (nếu có), sau đó xác định cỡ hình của mã hình (từ số mã hình trong trường hợp của mã hình Micro QR code).

4. Gỡ mẫu áp mặt nạ dữ liệu bằng việc áp dụng phép toán XOR lên mẫu bit của vùng mã hóa bằng mẫu mặt nạ dữ liệu trong đó tham chiếu của nó được lấy ra từ thông tin định dạng.

5. Đọc các ký tự mã hình theo các quy tắc sắp xếp đối với mô hình này, phục hồi dữ liệu và từ mã sửa lỗi của gói tin.

6. Phát hiện lỗi sai bằng việc sử dụng từ mã sửa lỗi tương ứng với thông tin về cấp độ. Nếu phát hiện ra các lỗi sai thì hãy sửa chúng.

7. Phân đoạn từ mã dữ liệu theo chỉ báo mode và chỉ dấu đếm ký tự.

8. Cuối cùng, giải mã các ký tự dữ liệu tùy theo (các) mode đang sử dụng và cho ra kết quả.

Hình 30 – Các bước giải QR code 2005

11. Thuật toán giải mã tham chiếu đối với QR code 2005

Thuật toán giải mã tham chiếu này tìm kiếm mã hình trong hình ảnh và giải mã nó. Thuật toán giải mã này đề cập tới các trạng thái tối và sáng trong hình ảnh.

a) Xác định ngưỡng tổng quát bằng việc lấy giá trị trung bình cộng của hệ số phản xạ lớn nhất và nhỏ nhất trong hình ảnh. Chuyển đổi hình ảnh thành một tập hợp các điểm ảnh tối và sáng bằng cách sử dụng ngưỡng tổng quát.

b) Xác định mẫu tìm kiếm. Mu tìm kiếm trong QR code 2005 bao gồm 3 mẫu tìm kiếm giống nhau được đặt ở ba trong tổng số bốn góc của mã hình. Mu tìm kiếm trong Micro QR code là một mẫu tìm kiếm đơn lẻ. Như quy định ở 5.3.2, các độ rộng của môđun trong mỗi mẫu tìm kiếm tạo nên một trình tự tối – sáng – tối – sáng – tối có độ rộng tương ứng của mỗi phần tử của chúng chia theo tỉ lệ 1 : 1 : 3 : 1 : 1. Để phục vụ cho thuật toán này, dung sai của mỗi một độ rộng này là 0,5 (có nghĩa là phạm vi từ 0,5 tới 1,5 cho hộp một môđun và 2,5 tới 3,5 cho hộp vuông ba môđun).

1) Khi phát hiện ra một vùng có thể phù hợp hãy lưu ý vị trí của điểm đầu tiên A và điểm cuối cùng B. Tại các điểm này, một đường các điểm ảnh trong hình ảnh sẽ gặp phải các đường rìa ngoài cùng của mẫu tìm kiếm (xem Hình 31). Lặp lại các bước này đối với các đường điểm ảnh kế tiếp trong hình ảnh cho đến khi tất cả các đường đi qua hộp trung tâm của mẫu tìm kiếm nằm trên trục X của hình ảnh đã được nhận dạng.

Hình 31 – Đường quét trong mẫu tìm kiếm

2) Lặp lại bước 1) với các cột điểm ảnh đi qua hộp trung tâm của mẫu tìm kiếm nằm trên trục y của hình ảnh.

3) Định vị tâm của mẫu. Dựng một đường thẳng đi qua các trung điểm của hai điểm A và B nằm trên các đường điểm ảnh xa nhất ngang qua hộp trung tâm của mẫu tìm kiếm trên trục X. Dựng một đường thẳng tương tự qua hai điểm A và B trên các cột điểm ảnh xa nhất ngang qua hộp trung tâm trên trục y. Giao của hai đường này chính là tâm của mẫu.

4) Lặp lại các bước từ 1) tới 3) để xác định tâm của hai mẫu định vị còn lại.

5) Nếu không phát hiện ra vùng phù hợp nào, hãy đảo màu của các điểm nh sáng và tối và bắt đầu lại vào lúc bắt đầu bước b) để cố gắng giải mã hình như là mã có hệ số phản xạ đảo chiều.

6) Nếu xác định được một mẫu đơn lẻ nhưng không thể xác định được thêm hai mẫu tìm kiếm nữa, cố gắng giải mã hình như là mã hình Micro QR code bằng cách bước vào giải mã tham chiếu mã hình Micro QR code (từ bước m).

c) Xác định hướng quay của mã hình bằng việc phân tích các tọa độ tâm của mẫu tìm kiếm nhằm nhận dạng mẫu nào là mẫu phía trên bên trái trong mã hình và góc quay của mã hình.

d) Xác định a) khoảng cách D bao trùm toàn bộ độ rộng của mã hình từ tâm của mẫu định vị phía trên bên trái tới tâm của mẫu tìm kiếm phía trên bên phải b) độ rộng của hai mẫu WUL và WUR như minh họa ở Hình 31.

Hình 32 – Các mẫu tìm kiếm phía trên

e) Tính kích thước danh định X của mã hình

X= (WUL + WUR)/14

f) Xác định tạm thi cỡ hình V của mã hình

V= [(D/X -10/4

g) Nếu cỡ hình tạm thời của mã hình là 6 hoặc nhỏ hơn thì cỡ này sẽ được lấy làm cỡ hình chuẩn.

Nếu cỡ hình tạm thời của mã hình là 7 hoặc lớn hơn thì thông tin cỡ hình được giải mã như sau:

1) Chia độ rộng WUR của mẫu tìm kiếm phía trên bên phải cho 7 để tính cỡ của môđun CPUR

CPUR= WUR / 7

2) Tìm các đường trợ giúp AC và AB từ các điểm A, B và C. Các đường này đi qua tâm của ba mẫu tìm kiếm như minh họa ở Hình 32 bên dưới. Lưới lấy mẫu cho mỗi tâm môđun trong vùng thông tin cỡ hình 1 được xác định căn cứ vào các đường thẳng song song với đường trợ giúp, căn cứ vào tọa độ trung tâm của các mẫu tìm kiếm và cỡ môđun CPUR. Các giá trị nhị phân 0 và 1 được xác định từ mẫu tối và sáng trên lưới lấy mẫu.

Hình 33 – Các mẫu tìm kiếm và thông tin cỡ hình

3) Xác định cỡ hình bằng cách dò tìm và sửa các lỗi, nếu có, dựa trên Bảng cho trong Phụ lục D.2.

4) Nếu phát hiện ra các lỗi vượt quá khả năng sửa lỗi, hãy tính độ rộng WDL của mẫu tìm kiếm dưới cùng bên trái theo trình tự từ các bước a), b), c) như trên để giải mã thông tin cỡ hình 2.

h) Đối với mã có cỡ hình 1, xác định lại X bằng khoảng cách trung bình giữa các tâm điểm của các môđun tối và sáng trong mẫu căn chỉnh. Một cách tương tự, tính toán kích thước Y bằng khoảng cách trung bình giữa các tâm điểm của các môđun tối và sáng trong mẫu căn chỉnh bên trái. Thiết lập một lưới lấy mẫu trên cơ sở (a) đường nằm ngang chạy qua mẫu căn chỉnh phía trên vi các đường song song với nó  khoảng cách Y theo chiều thẳng đứng, kết hợp sáu đường phía trên đường tham chiếu nằm ngang và một số đường nằm phía dưới theo yêu cầu cho cỡ mã hình, và (b) đường nằm dọc chạy qua mẫu căn chỉnh bên trái với các đường song song với nó ở khoảng cách X theo chiều ngang, kết hợp sáu đường ở bên trái của đường tham chiếu dọc với một số đường nằm ở phía phải nó theo yêu cầu cho cỡ mã hình. Đối với mã có cỡ hình 2 và lớn hơn, xác định tọa độ trung tâm của từng mẫu căn chuẩn từ các tọa độ như được quy định ở 5.3.5 và Phụ lục E và thiết lập các lưới lấy mẫu với các đường được đặt cách nhau một khoảng bằng nhau giữa những điểm này.

Hình 34 – Các mẫu tìm kiếm và mẫu căn chuẩn

1) Chia độ rộng WUL của mẫu tìm kiếm trên cùng bên trái PUL cho 7 để tính cỡ môđun CPUL.

CPUL= WUL / 7

2) Xác định các tọa độ trung tâm tạm thời của các mẫu căn chuẩn P1 và P2 (xem Hình 33), dựa vào tọa độ trung tâm A của mẫu tìm kiếm trên cùng bên trái PUL, các đường thẳng song song với các đường trợ giúp AB và AC xác định được ở 7c) và môđun cỡ CPUL.

3) Quét đường viền bao ngoài hình vuông trắng trong mẫu căn chuẩn P1 và P2 bắt đầu từ điểm ảnh của tọa độ trung tâm tạm thời nhằm tìm kiếm các tọa độ trung tâm Xi và Yj thực (xem Hình 34)

Hình 35 – Các tọa độ trung tâm của mẫu căn chuẩn

4) Ước lượng tọa độ trung tâm tạm thời của mẫu căn chuẩn P3, dựa vào tọa độ trung tâm của mẫu tìm kiếm trên cùng bên trái PUL và các tọa độ trung tâm thực của mẫu căn chuẩn P1 và P2 xác định được ở bước 3).

5) Xác định tọa độ trung tâm thực của mẫu căn chuẩn P3 theo quy trình tương tự ở bước 3).

6) Xác định khoảng cách Lx từ tâm của mẫu căn chuẩn P2 ti tâm của mẫu căn chuẩn P3 và khoảng cách LY từ tâm của mẫu căn chuẩn P1 tới tâm của mẫu căn chuẩn P3. Chia Lx và Ly cho độ dãn đã được xác định của các mẫu căn chuẩn nhằm có được bước môđun CPX ở phía bên dưới và CPY ở phía bên phải của vùng trên cùng bên trái của mã hình (xem Hình 35)

CPx= Lx / AP

CPy= Ly / AP

trong đó AP là khoảng cách tính theo môđun của các tâm của mẫu căn chuẩn (xem Bảng E.1).

Đồng thời, xác định khoảng cách LX‘ theo chiều ngang từ tọa độ trung tâm của mẫu tìm kiếm trên cùng bên trái PUL tới các tọa độ trung tâm của mẫu căn chuẩn P1, và khoảng cách theo chiều thẳng đứng LY‘ từ tọa độ trung tâm của mẫu tìm kiếm trên cùng bên trái PUL tới các tọa độ trung tâm của mẫu căn chuẩn P2. Chia LX‘ và LY‘ theo công thức dưới đây nhằm xác định được bước môđun CPX‘ ở phía trên cùng và CPY‘ ở phía trái trong vùng trên cùng bên trái của mã hình.

CPX‘= LX‘ / (Tung độ của môđun trung tâm của mẫu căn chuẩn P1

– Tung độ của môđun trung tâm của mẫu tìm kiếm trên cùng bên trái PUL)

CPY‘= LY‘ / (Hoành độ của môđun trung tâm của mẫu căn chuẩn P2

– Hoành độ của môđun trung tâm của mẫu tìm kiếm trên cùng bên trái PUL)

Hình 36 – Vùng trên bên trái mã hình

7) Xác định lưới lấy mẫu bao phủ vùng trên cùng bên trái mã hình căn cứ vào các bước môđun CPX, CPX, CPY và CPY‘ thể hiện ở mỗi phía trong vùng trên cùng bên trái của mã hình.

8) Tương tự, xác định lưới lấy mẫu cho vùng trên cùng bên phải (được bao phủ bởi mẫu tìm kiếm trên cùng bên phải PUR, các mẫu căn chuẩn P1, P3, và P4) và vùng dưới cùng bên trái (được bao phủ bởi mẫu tìm kiếm trên cùng bên phi PUR, các mẫu căn chuẩn P2, P3 và P5) của mã hình.

9) Đối với mẫu căn chuẩn P6 (xem Hình 36), ước lượng tọa độ trung tâm tạm thời của nó từ các bước môđun CPX‘ và CPY, các giá trị của mẫu căn chuẩn được xác định từ các độ giãn của mẫu căn chuẩn P3, P4 và P5, các đường hướng dẫn đi qua trọng tâm của các mẫu căn chuẩn P3 và P4, P3 và P5 một cách lần lượt và các tọa độ trung tâm của các mẫu này.

Hình 37 – Vùng dưới bên phải mã hình

10) Lăp lại các bước từ 5) tới 8) để xác định lưới lấy mẫu cho vùng dưới cùng bên phải mã hình.

11) Các nguyên tắc như vậy cũng được áp dụng để xác định lưới lấy mẫu cho bất kỳ vùng nào của mã hình chưa được bao phủ.

i) Lấy mẫu một vùng 3 x 3 ảnh điểm của hình ảnh, được đặt vào giữa trên mỗi giao điểm của các đường lưới và xác định xem nó là tối hay sáng dựa vào ngưỡng tổng quát. Dựng một ánh xạ ma trận bit các môđun tối là số 1 trong hệ nhị phân và các môđun sáng là số 0 trong hệ nhị phân.

j) Giải mã thông tin định dạng kế cận với mẫu tìm kiếm trên cùng bên trái như quy định ở Phụ lục C.2 để thu được mức sửa lỗi và mẫu áp mặt nạ dữ liệu đã áp dụng cho mã hình. Nếu phát hiện các lỗi vượt quá khả năng sửa lỗi của thông tin định dạng, tiến hành quy trình tương tự để giải mã thông tin định dạng kế cận với mẫu tìm kiếm phía dưới bên trái và phía trên bên phải.

k) Nếu không thể nhận được dòng bit thông tin có giá trị về định dạng, xác định xem liệu nó có phải là một dòng có giá trị nếu đọc được theo hướng ngược lại hay không và nếu đúng như vậy thì cố gắng tiếp tục giải mã như mã hình ảnh phản chiếu với hoành độ và tung độ của hình ảnh được truyền đi.

l) Làm đến bước y.

m) Đối với mã hình Micro QR code, xác định các góc quay khả thi của mã hình bằng cách phân tích các góc của các đường từ bước b3) liên quan đến các trục cảm biến của hình ảnh, là JJ + 90°, J + 180° và J + 270°.

n) Vẽ đồ thị ba đường thẳng song song với mỗi trục của mẫu tìm kiếm và được đặt cách đều nhau ngang qua mẫu và đo các khoảng cách từ điểm A đến điểm B trên mỗi đường.

o) Tính kích thước X của môđun tạm thời của mã hình trên mỗi trục bằng một phần bảy giá trị trung bình của ba đoạn AB có được từ bước n.

p) Lần lượt lấy từng cạnh của đường viền mẫu tìm kiếm, kéo dài một đường thẳng ra ngoài từ mẫu tìm kiếm theo c hai hướng, song song với đường rìa và cách rìa 0,5 X.

q) Tìm các mẫu căn chỉnh:

1) Nhận dạng hai đường rìa của mẫu tìm kiếm trên danh nghĩa vuông góc với nhau, mỗi đường có cả:

i) một vùng trống có độ rộng ít nhất bằng 1,5 X theo mỗi hướng;

ii) các vùng sáng và tối đan xen được đặt cách đều nhau một khoảng 1X vào giữa từ đường rìa của mẫu tìm kiếm theo hướng ngược lại (mẫu căn chỉnh phù hợp).

2) Kiểm tra xem trong mỗi mẫu căn chỉnh phù hợp có cùng một số môđun tối hay không và kiểm tra xem con số này có nằm trong phạm vi từ hai đến năm hay không.

r) Xác định cỡ hình tạm thời của mã hình từ số các yếu tố tối trong mẫu căn chỉnh:

– Nếu có hai yếu tố tối, cỡ mã hình là M1;

– Nếu có ba yếu tố tối, cỡ mã hình là M2;

– Nếu có ba yếu tố tối, cỡ mã hình là M3;

– Nếu có năm yếu tố tối, cỡ mã hình là M4.

s) Từ tâm của môđun tối đầu tiên trong mỗi cạnh của các mẫu căn chỉnh kẻ một đường thẳng song song với cạnh liền kề của mẫu tìm kiếm cắt đường tương ứng từ cạnh khác và lấy mẫu một vùng 3 x 3 ảnh điểm của hình ảnh cách nhau một khoảng 1X dọc theo đường thẳng đó để xác định tình trạng sáng và tối của mỗi môđun của thông tin định dạng. Xác định dòng bit thông tin định dạng bằng cách lấy các ảnh điểm tối là số 1 trong hệ nhị phân và các ảnh điểm sáng là số 0 trong hệ nhị phân.

t) Sử dụng phép toán logic XOR lên dòng bit với mẫu cho trong 6.9.2 để thoát ra khỏi chế độ áp mặt nạ thông tin định dạng và giải mã thông tin định dạng đó (áp dụng quy trình sửa lỗi nêu trong Phụ lục B nếu cần thiết) để thu được số mã hình (và sau là cỡ hình và mức sửa lỗi của mã hình) và mẫu mặt nạ dữ liệu áp dụng cho mã hình.

u) Nếu dòng bit thông tin định dạng không phải là một chuỗi có giá trị, xác định xem liệu nó có phải là một chuỗi có giá trị nếu đọc được theo hướng ngược lại hay không và nếu đúng như vậy thì cố gắng tiếp tục giải mã như mã hình ảnh phản chiếu với hoành độ và tung độ của hình ảnh được truyền đi. Nếu không có nhiều hơn hai bit khác với chuỗi có giá trị nêu trong Phụ lục C, thay thế chuỗi này và giải mã thông tin cỡ hình đã thay thế để có được số mã hình và mẫu áp mặt nạ dữ liệu.

v) Xác nhn bước môđun X trong mỗi trục bằng cách chia độ rộng tổng, từ đường rìa bên ngoài của mẫu tìm kiếm ngay cạnh vùng trống tới đường rìa bên ngoài của môđun tối cuối cùng trong mẫu căn chỉnh, cho số môđun tương ứng với cỡ hình của mã.

w) Dựng một lưới lấy mẫu, theo cỡ hình của mã, gồm các đường thng được đặt cách nhau một khoảng 1X theo mỗi trục, song song với nhau và với cạnh của mẫu tìm kiếm và chạy từ trọng tâm của các môđun thuộc mẫu căn chỉnh và từ các vị trí tương tự trong mẫu tìm kiếm.

x) Lấy mẫu một vùng 3 x 3 ảnh điểm của hình ảnh được đặt vào giữa trên mỗi giao điểm của các đường lưới và xác định xem nó là tối hay sáng dựa vào ngưỡng tổng quát. Dựng một ánh xạ ma trận bit các môđun tối là số 1 trong hệ nhị phân và các môđun sáng là số 0 trong hệ nhị phân.

y) Sử dụng phép toán lôgic XOR lên mẫu áp mặt nạ dữ liệu bằng vùng mã hóa của mã hình để thoát ra khỏi chế độ áp mặt nạ dữ liệu và phục hồi các ký tự mã hình thể hiện từ mã sửa lỗi và dữ liệu. Bước này ngược với tác động của quá trình áp mặt nạ dữ liệu đã áp dụng trong quy trình mã hóa.

z) Xác định các từ mã của mã hình theo quy tắc sắp xếp nêu trong 6.7.3

aa) Sắp xếp lại trình tự từ mã thành các khối theo yêu cầu đối với cỡ mã hình và mức sửa lỗi bằng cách đảo ngược lại quy trình xen kẽ như nêu trong mục 6.6 bước 3.

bb) Thực hiện quy trình tìm kiếm và giải mã sửa lỗi nêu trong Phụ lục B để sửa lỗi và vết xóa ở khả năng sửa lỗi lớn nhất đối với mức sửa lỗi và cỡ mã hình.

cc) Khôi phục lại dòng bit của gói tin gốc bằng cách ghép các khối dữ liệu thành chuỗi.

dd) Chia nhỏ dòng bit dữ liệu thành các phân đoạn, mỗi phân đoạn bắt đầu bằng một chỉ báo mode và độ dài của các phân đoạn này được xác định bằng chỉ dấu đếm ký tự theo sau chỉ báo mode.

ee) Giải mã từng phân đoạn theo các quy tắc đối với chế độ đang sử dụng.

12. Khả năng phân biệt tự động

QR code 2005 có thể được sử dụng trong môi trường phân biệt tự động với một số các mã hình khác (xem Phụ lục L). Mặc dù các mã hình Model 1 và QR 2005 có thể được phân biệt tự động bằng việc phân tích mẫu mặt nạ thông tin định dạng, các mã hình Model 1 không được sử dụng trong cùng môi trường với mã hình QR code 2005.

13. Dữ liệu được chuyển giao

13.1. Các nguyên tắc chung

Sự chuyển giao dữ liệu phải bao gồm tất cả các ký tự của dữ liệu được mã hóa. Không được chuyển giao các mẫu chức năng, thông tin cỡ hình và thông tin định dạng, các ký tự sửa lỗi, các ký tự thêm và ký tự dư. Chế độ chuyển giao mặc định đối với tất cả các dữ liệu phải là các byte.

Khối truyền đầu có cấu trúc không được chuyển giao bởi các bộ giải mã chạy trong mode lưu bộ đệm có nhiệm vụ tái lặp lại toàn bộ gói tin trước khi chuyển giao. Nếu bộ giải mã đang chạy trong mode không lưu bộ đệm thì khối truyền đầu có cấu trúc phải được chuyển thành hai byte đầu tiên của mỗi mã hình. Các bộ dịch phức tạp hơn bao gồm cả sự chuyển dữ liệu trong phương thức dịch kênh mở rộng được trình bày dưới đây.

13.2. Số phân định mã hình

ISO/IEC 15424 quy định quy trình chuẩn cho việc báo cáo mã hình đã được đọc cùng với các bộ lựa chọn đã được cài đặt trong bộ giải mã và bất kỳ một điểm đặc biệt nào gặp phải trong mã hình.

Một khi cấu trúc của dữ liệu (bao gồm cả việc sử dụng ECI) được nhận dạng, số phân định mã hình thích hợp phải được bộ giải mã thêm vào như là phần đầu đối với dữ liệu được chuyển giao; nếu sử dụng các ECI, số phân định mã hình là thực sự cần thiết. Xem Phụ lục F để tham khảo số phân định mã hình và các giá trị lựa chọn áp dụng cho QR code 2005.

13.3. Các phương thức dịch kênh mở rộng (ECI)

Trong các hệ thống h trợ giao thức ECI, mỗi khi chuyển dữ liệu cần phải chuyển cả số phân định mã hình. Bất kỳ khi nào xuất hiện chỉ báo mode ECI thì chỉ báo này phải được chuyển thành ký tự thoát 5CHEX (thể hiện ký tự dấu vạch chéo ngược “\” trong ISO/IEC 8859-1 và trong quy định kỹ thuật AIM ECI và phản ánh ký tự”¥ * trong JIS X 0201). (Các) từ mã này thể hiện mã hiệu ECI được chuyển thành con số 6 chữ số bằng cách đảo ngược các quy tắc đã nêu trong Bảng 4. Sáu chữ số này phải được chuyển giao ngay lập tức thành các giá trị 8-bit tương ứng trong dải từ 30HEX tới 39HEX tiếp theo ký tự thoát.

Phần mềm ứng dụng khi gặp cụm ký tự \nnnnnn sẽ giải nghĩa tất cả các ký tự liên tiếp này như là một mã hiệu ECI được định nghĩa bởi mã hiệu 6 chữ số. Bộ dịch này vẫn còn có hiệu qu cho đến khi:

 phần cuối của dữ liệu được mã hóa;

– một sự thay đổi đối với phương thức ECI mới được tạo mã bằng chỉ báo mode 0111, đối tượng của các nguyên tắc theo quy định kỹ thuật AIM ECI.

Khi chuyển đổi thành phương thức dịch mặc định, bộ giải mã phải thông báo trình tự thoát thích hợp như là tiền tố của dữ liệu.

Nếu ký tự 5CHEX cần được sử dụng như là dữ liệu được mã hóa, sự chuyển giao phải được tiến hành như sau: bất kỳ khi nào ký tự 5CHEX biến th như một dữ liệu, hai byte của giá trị sẽ được chuyển, tuy vậy một biến thể đơn lẻ luôn luôn là một ký tự thoát và biến thể kép chỉ ra dữ liệu thực.

VÍ DỤ 1

a) Dữ liệu được mã hóa (hex): 41 42 43 5C 31 32 33 34

Dữ liệu được chuyển thành: 41 42 43 5C 5C 31 32 33 34

b) Dữ liệu được mã hóa: <further data> theo ABC được mã hóa theo các quy tắc đối với ECI 123456

Dữ liệu được chuyển thành: 41 42 43 5C 31 32 33 34 35 36 <further data>

 DỤ 2 (sử dụng dữ liệu trong 6.4.2.1)

Gói tin bao gồm chỉ báo mode ECI/ mã hiệu ECI/ ch báo mode/ chỉ dấu đếm ký tự/ dữ liệu ở dưới dạng

0111 00001001 0100 00000101 10100001 10100010 10100011 10100100 10100101

Số phân định mã hình: ]Q2 (xem Phụ lục F) phải được thêm vào khi có sự chuyển dữ liệu.

Chuyển thành (các giá trị hex.): 5D 51 32 5C 30 30 30 30 30 39 A1 A2 A3 A4 A5

Dữ liệu được mã hóa trong ECI 000009: ABGDE

Trong mode kết nối có cấu trúc, khi gặp chỉ báo mode ECI ở đầu mã hình, các ký tự dữ liệu tiếp theo phải được xem như là (các) mode ECI đang chạy ở phần cuối của mã hình có trước.

CHÚ THÍCH Ký tự 5CHEX tương đương với ký tự dấu vạch chéo ngược “\” trong ISO/IEC 8859-1 và “¥ trong JIS X 0201.

13.4. FNC 1

Trong các mode có ký tự FNC1 ẩn ở vị trí đầu tiên hoặc thứ hai, ký tự ẩn này không thể được chuyển trực tiếp bởi vì không có giá trị byte tương ứng với nó. Vì vậy, cần thiết phải chỉ ra sự hiện hữu của nó ở vị trí đầu tiên hoặc thứ hai bằng việc chuyển các số phân định mã hình thích hợp (]Q3]Q4]Q5 hay ]Q6). Ở các vị trí khác trong mã hình thì tùy theo các quy định kỹ thuật ứng dụng có liên quan có thể xuất hiện chỉ dấu phân cách trường dữ liệu, được thể hiện trong mode chữ số bằng ký tự % và trong mode byte bằng ký tự GS (ASCII/JIS8 giá trị 1DHEX). Trong cả hai trường hợp, bộ giải mã phải chuyển giao ASCII/JIS8 giá trị 1DHEX.

Nếu trong các mã hình ở mode FNC1 thì ký tự % cần được mã hóa như là dữ liệu trong khi đó ở mode chữ số thì nó phải được thể hiện trong mã hình bằng %%. Nếu gặp ký tự kép này thì bộ giải mã sẽ chuyển thành ký tự % đơn.

 

Phụ lục A

(quy định)

Các đa thức sinh tìm lỗi và sửa lỗi

Đa thức sinh kiểm tra ký tự được sử dụng để phân chia đa thức từ mã dữ liệu, trong đó mỗi từ mã là hệ số của đa thức chia theo cấp bậc giảm dần. Các hệ số của số dư trong phép chia này chính là các giá trị của từ mã sửa lỗi.

Bảng A.1 chỉ ra các đa thức sinh đối với các mã sửa lỗi được sử dụng cho mỗi cỡ hình và mức, cho mọi mã hình QR code 2005. Có thể tham khảo Bảng 9 để biết một số từ mã sửa lỗi được yêu cầu cho một cỡ hình và một mức sửa lỗi đặc biệt. Trong Bảng A.1, a là phần tử nguyên thủy 2 theo GF(28). Mỗi một đa thức sinh là kết quả của các đa thức bậc một: X-20, X-21,…, X-2n-1 trong đó n là bậc của đa thức sinh.

Bảng A.1 – Các đa thức sinh đối với các từ mã sửa lỗi RS

 

Phụ lục B

(quy định)

Các bước giải mã sửa lỗi

Lấy mã hình cỡ 1-M làm ví dụ. Với mã hình này, mã (26, 16, 4) RS dưới GF(28) được dùng để sửa lỗi. Giả sử mã sau khi gỡ mặt nạ dữ liệu khỏi mã hình là:

R = (r0, r1 , r2 ,…. r25)

Hay là,

R(x)= r0+ r1x + r2x2+…+ r25x25

ri(i= 0-25) là một phần tử của GF(28)

(i) Tính toán các tập hợp n (trong đó n bằng số từ mã sẵn có để sửa lỗi, cho bởi (c – k – p) như nêu trong Bảng 9).

Tìm tập hợp Si(i= 0-(n – 1))

S0= R(1)= r0 + r1 + r2 + … + r25

S1= R(a)=r0 + r1a + r2a2 + … + r25a25

….

….

S7R(a7)= r0r1a7r2a14 +… + r25a175

trong đó a là phần tử nguyên thủy của GF(28)

(ii) Tìm vị trí lỗi

S0s – S1s3 + S2s2 – S3s1 + S4 = 0

S1s4 – S2s3 + S3s2 – S4s1 + S5 = 0

S2s4 – S3s3 + S4s2 – S5s1 + S6 = 0

S3s4 – S4s3 + S5s2 – S6s1 + S7 0

Sử dụng công thức trên để tìm biến si (= 1-4) cho từng vị trí lỗi

Sau đó thay biến si đối với đa thức dưới đây và thay lần lượt từng phần tử của GF(28).

s(x)= s4 + s3xs2x2 + s1x3 + x4

Đến đây, lỗi tìm thấy ở chữ số thứ j (đếm từ số thứ 0) cho phần tử aj làm cho s (a) = 0

(iii) Tìm kích thước lỗi

Gi sử bước (ii) tìm thấy lỗi ở chữ số j1, j2, j4, sau đây sẽ tìm kích thước lỗi.

Y1aj1 + Y2aj2 + Y3aj3 + Y4aj4 = S0

Y1a2j1 + Y2a2j2 + Y3a2j3 + Y4a2j4 = S1

Y1a3j1 + Y2a3j2 + Y3a3j3 + Y4a3j4 = S2

Y1a4j1 + Y2a4j2 + Y3a4j3 + Y4a4j4 = S3

Giải phương trình trên để tìm ra kích thước từng lỗi Yi(i= 1- 4).

(iv) Sửa lỗi

Sửa lỗi bằng cách cộng phần bù giá trị kích thước lỗi vào từng vị trí bị lỗi.

 

Phụ lục C

(quy định)

Thông tin định dạng

Thông tin định dạng bao gồm một chuỗi 15 bit, trong đó có 5 bit dữ liệu và 10 bit sửa lỗi BCH. Phụ lục này mô tả cách tính toán các bit sửa lỗi và quá trình giải mã sửa lỗi.

C.1. Cách tính toán bit sửa lỗi

Phải sử dụng mã BCH (15,5) để sửa lỗi. Đa thức mà hệ số của nó là dòng bit dữ liệu thì phải được chia cho đa thức sinh G(x)= x10 + x8 + x5 + x4 + x2 + x + 1. Chuỗi hệ số của đa thức dư phải được nối thêm vào dòng bit dữ liệu để tạo thành dòng mã (15,5) BCH. Cuối cùng, việc áp mặt nạ phải được thực hiện bằng cách áp dụng phép toán logic XOR trên dòng bit với 101010000010010 (đối với mã hình QR code) hoặc 100010001000101 (đối với mã hình Micro QR code) để đảm bảo mẫu bit thông tin định dạng không phải toàn các chữ số 0 đối với bất kỳ tổ hợp của mẫu mặt nạ dữ liệu và mức sửa lỗi.

VÍ DỤ

Mức sửa lỗi M; mẫu mặt nạ dữ liệu 101

Chuỗi nhị phân: 00101

Đa thức: x2 + 1

Nâng lên lũy thừa theo (15-5) được: x12 x10

Chia cho G(x)= (x10 + x+ x5 + x4 + x2 + x + 1)x2 + (x7+ x6 + x+ x3 +x2)

Cộng thêm chuỗi hệ số của đa thức dư ở trên vào dòng dữ liệu thông tin định dạng:

00101 + 0011011100 -> 001010011011100

Thực hiện phép toán logic XOR với mặt nạ 101010000010010

Kết quả: 100000011001110

Đặt các bit này vào vùng thông tin định dạng như mô tả ở 6.9.

C.2. Các bước giải mã sửa lỗi

Tách mặt nạ của các môđun thông tin định dạng bằng cách thực hiện phép toán logic XOR trên chuỗi bit với mẫu mặt nạ 101010000010010 (đối với mã hình QR code) hoặc 100010001000101 (đối với mã hình Micro QR code).

Khoảng cách Hamming của mã sửa lỗi sử dụng trong thông tin định dạng là 7, nó tạo điều kiện sa được đến 3 lỗi bit. Có 32 chuỗi bit có giá trị đối với thông tin định dạng, vì vậy việc gii mã bằng cách sử dụng Bảng C.1 làm bảng tra cứu là có hiệu quả. Các chuỗi bit đọc được từ vùng thông tin định dạng của mã hình sẽ được so sánh với 32 dòng bit thông tin định dạng có giá trị trong Bảng C.1 trên cơ sở từng bit. Dòng bit từ Bảng C.1 gần sát nhất với dòng bit đọc được từ mã hình sẽ được chọn, đưa ra các dòng khác nhau 3 bit hay ít hơn.

VÍ DỤ (đối với mã hình QR code)

Dòng bit đọc được từ vùng thông tin định dạng: 000011101001001

Dòng bit gần sát nhất từ bảng: 000111101011001

Vì chỉ có 2 bit khác nhau giữa hai dòng bit, phép so sánh này là đạt, nên định dạng mã hình được xác nhận là sử dụng mức sửa mi M với mẫu áp mt nạ 011.

Bảng C.1 Các chuỗi bit thông tin định dạng có giá trị

Chuỗi trước khi áp mặt nạ

Chuỗi sau khi áp mặt nạ (Mã hình QR code)

Chuỗi sau khi áp mặt nạ (Mã hình Micro QR code)

Bit dữ liệu

Bit sửa lỗi

Nhị phân

hex

Nhị phân

hex

00000

0000000000

101010000010010

5412

100010001000101

4445

00001

0100110111

101000100100101

5125

100000101110010

4172

00010

1001101110

101111001111100

5E7C

100111000101011

4E2B

00011

1101011001

101101101001011

5B4B

100101100011100

4B1C

00100

0111101011

100010111111001

45F9

101010110101110

55AE

00101

0011011100

100000011001110

40CE

101000010011001

5099

00110

1110000101

100111110010111

4F97

101111111000000

5FC0

00111

1010110010

100101010100000

4AA0

101101011110111

5AF7

01000

1111010110

111011111000100

77C4

110011110010011

6793

01001

1011100001

111001011110011

72F3

110001010100100

62A4

01010

0110111000

111110110101010

7DAA

110110111111101

6DFD

01011

0010001111

111100010011101

789D

110100011001010

68CA

01100

1000111101

110011000101111

662F

111011001111000

7678

01101

1100001010

110001100011000

6318

111001101001111

734F

01110

0001010011

110110001000001

6C41

111110000010110

7C16

01111

0101100100

110100101110110

6976

111100100100001

7921

10000

1010011011

001011010001001

1689

000011011011110

06DE

10001

1110101100

001001110111110

13BE

000001111101001

03E9

10010

0011110101

001110011100111

1CE7

000110010110000

0CB0

10011

0111000010

001100111010000

19D0

000100110000111

0987

10100

1101110000

000011101100010

0762

001011100110101

1735

10101

1001000111

000001001010101

0255

001001000000010

1202

10110

0100011110

000110100001100

0D0C

001110101011011

1D5B

10111

0000101001

000100000111011

083B

001100001101100

186C

11000

0101001101

011010101011111

355F

010010100001000

2508

11001

0001111010

011000001101000

3068

010000000111111

203F

11010

1100100011

011111100110001

3F31

010111101100110

2F66

11011

1000010100

011101000000110

3A06

010101001010001

2A51

11100

0010100110

010010010110100

24B4

011010011100011

34E3

11101

0110010001

010000110000011

2183

011000111010100

31D4

11110

1011001000

010111011011010

2EDA

011111010001101

3E8D

11111

1111111111

010101111101101

2BED

011101110111010

3BBA

 

Phụ lục D

(quy định)

Thông tin cỡ hình

Thông tin cỡ hình chứa một chuỗi 18 bit bao gồm 6 bit dữ liệu và 12 bit sửa lỗi Golay. Phụ lục này mô tả cách tính toán các bit sửa lỗi và quá trình giải mã sửa lỗi.

D.1Cách tính toán bit sửa lỗi.

Phải sử dụng mã Golay (18,6) để sửa lỗi. Những đa thức mà hệ số là dòng bit dữ liệu phải được phân theo đa thức tổng quát G(x)= X12 + X11 + X10 + X9 + X8 + X5 + X2 + 1. Chuỗi hệ số của đa thức dư phải được nối thêm vào dòng bit dữ liệu để tạo thành dòng mã Golay (18,6).

Ví DỤ

Cỡ hình 7
Chuỗi nhị phân: 000111
Đa thức: x2 + x + 1
Nâng lên lũy thừa bậc (18-6) được: x14 x13 + x12
Chia cho G(x) = (x12 + x11 + x10 + x9 + x+ x+ x2 + 1) x2 + (x11 + x10 + x7x4 + x2)

Cộng thêm chuỗi hệ số của đa thức dư trên đây vào dòng dữ liệu thông tin cỡ hình.

000111 +110010010100 -> 000111110010010100

Đặt các bit này vào các vùng thông tin cỡ hình như nêu trong 6.10.

Bảng D.1 dưới đây sẽ cho thấy dòng bit thông tin cỡ hình đầy đủ của từng cỡ hình.

D.2. Các bước giải mã sửa lỗi

Khoảng cách Hamming của mã sửa lỗi sử dụng trong thông tin c hình là 8, nó tạo điều kiện sa được đến 3 lỗi bit. Có 34 chuỗi bit có giá trị đối với thông tin cỡ hình, vì vậy việc giải mã bằng cách sử dụng Bảng D.1 làm bảng tra cứu là có hiệu quả. Các chuỗi bit đọc được từ vùng thông tin cỡ hình của mã hình sẽ được so sánh với 34 dòng bit thông tin cỡ hình có giá trị trong Bảng D.1 trên cơ sở từng bit. Dòng bit từ Bảng D.1 gần sát nhất với dòng bit đọc được từ mã hình đã được lấy, với điều kiện là các dòng chỉ khác nhau 3 bit hay ít hơn sau khi so sánh.

VÍ DỤ

Dòng bit đọc được từ vùng thông tin c hình: 000111110110010100

Dòng bit gần sát nhất từ bảng: 000111110010010100

Vì chỉ có 1 bit khác nhau giữa hai dòng bit, phép so sánh này là đạt, nên cỡ mã hình được xác nhận là 7.

Bảng D.1 – Dòng bit thông tin cỡ hình cho từng cỡ hình

Cỡ hình

Dòng bit thông tin cỡ hình

Tương đương hệ 16

7

00 0111 1100 1001 0100

07C94

8

00 1000 0101 1011 1100

085BC

9

00 1001 1010 1001 1001

09A99

10

00 1010 0100 1101 0011

0A4D3

11

00 1011 1011 1111 0110

0BBF6

12

00 1100 0111 0110 0010

0C762

13

00 1101 1000 0100 0111

0D847

14

00 1110 0110 0000 1101

0E60D

15

00 1111 1001 0010 1000

0F928

16

01 0000 1011 0111 1000

10B78

17

01 0001 0100 0101 1101

1145D

18

01 0010 1010 0001 0111

12A17

19

01 0011 0101 0011 0010

13532

20

01 0100 1001 1010 0110

149A6

21

01 0101 0110 1000 0011

15683

22

01 0110 1000 1100 1001

168C9

23

01 0111 0111 1110 1100

177EC

24

01 1000 1110 1100 0100

18EC4

25

01 1001 0001 1110 0001

191E1

26

01 1010 1111 1010 1011

1AFAB

27

01 1011 0000 1000 1110

1B08E

28

01 1100 1100 0001 1010

1CC1A

29

01 1101 0011 0011 1111

1D33F

30

01 1110 1101 0111 0101

1ED75

31

01 1111 0010 0101 0000

1F250

32

10 0000 1001 1101 0101

209D5

33

10 0001 0110 1111 0000

216F0

34

10 0010 1000 1011 1010

228BA

35

10 0011 0111 1001 1111

2379F

36

10 0100 1011 0000 1011

24B0B

37

10 0101 0100 0010 1110

2542E

38

10 0110 1010 0110 0100

26A64

39

10 0111 0101 0100 0001

27541

40

10 1000 1100 0110 1001

28C69

 

Phụ lục E

(quy định)

Vị trí của mẫu căn chuẩn

Mu căn chuẩn được b trí đối xứng hai bên đường chéo chạy từ góc trên bên trái xuống góc dưới bên phải của mã hình. Chúng được bố trí càng đều nhau càng tốt giữa mẫu căn chỉnh và phía đối diện của mã hình, những khoảng không bằng nhau sẽ được đặt vào giữa mẫu căn chỉnh và mẫu căn chuẩn đầu tiên bên trong mã hình.

Bảng E.1 dưới đây cho thấy số lượng mẫu căn chuẩn và hoành độ và tung độ của môđun trung tâm của từng mẫu căn chuẩn đối với mỗi cỡ hình.

Bảng E.1 – Hoành độ/ tung độ của môđun trung tâm của các mẫu căn chuẩn

Cỡ hình

S lượng mẫu căn chuẩn

Hoành độ/ tung độ của môđun trung tâm

1

0

 

 

 

 

 

 

 

2

1

6

18

 

 

 

 

 

3

1

6

22

 

 

 

 

 

4

1

6

26

 

 

 

 

 

5

1

6

30

 

 

 

 

 

6

1

6

34

 

 

 

 

 

7

6

6

22

38

 

 

 

 

8

6

6

24

42

 

 

 

 

9

6

6

26

46

 

 

 

 

10

6

6

28

50

 

 

 

 

11

6

6

30

54

 

 

 

 

12

6

6

32

58

 

 

 

 

13

6

6

34

62

 

 

 

 

14

13

6

26

46

66

 

 

 

15

13

6

26

48

70

 

 

 

16

13

6

26

50

74

 

 

 

17

13

6

30

54

78

 

 

 

18

13

6

30

56

82

 

 

 

19

13

6

30

58

86

 

 

 

20

13

6

34

62

90

 

 

 

21

22

6

28

50

72

94

 

 

22

22

6

26

50

74

98

 

 

23

22

6

30

54

78

102

 

 

24

22

6

28

54

80

106

 

 

25

22

6

32

58

84

110

 

 

26

22

6

30

58

86

114

 

 

27

22

6

34

62

90

118

 

 

28

33

6

26

50

74

98

122

 

29

33

6

30

54

78

102

126

 

30

33

6

26

52

78

104

130

 

31

33

6

30

56

82

108

134

 

32

33

6

34

60

86

112

138

 

33

33

6

30

58

86

114

142

 

34

33

6

34

62

90

118

146

 

35

46

6

30

54

78

102

126

150

36

46

6

24

50

76

102

128

154

37

46

6

28

54

80

106

132

158

38

46

6

32

58

84

110

136

162

39

46

6

26

54

82

110

138

166

40

46

6

30

58

86

114

142

170

Ví dụ, trong mã cỡ hình 7 bảng này xác định được các giá trị 6, 22 và 38. Vì vậy, các mẫu căn chuẩn được tập trung tại các vị trí (dòng, cột) (6, 22), (22, 6), (22, 22), (22, 38), (38, 22), (38, 38). Chú ý rằng các tọa độ (6, 6), (6, 38), (38, 6) đã bị các mẫu tìm kiếm chiếm giữ, do đó không được dùng cho mẫu căn chuẩn.

 

Phụ lục F

(quy định)

Số phân định mã hình

Số phân định mã hình được cấp cho QR code 2005 trong ISO/IEC 15424, nó phải được thêm vào phần đầu của dữ liệu được giải mã nhờ một bộ giải mã thích hợp, là:

]Qm

trong đó:

là số phân định mã hình (ASCII giá trị 93)

Q là ký tự mã dành cho mã hình QR code 2005

m là ký tự thay đổi, có một trong những giá trị được xác định tại Bảng F1.

Bảng F1 – Chọn số phân định mã hình và giá trị thay đổi

Giá trị thay đổi

Chọn

0

Mã hình Model 1

1

Mã hình Model 2, không áp dụng giao thức ECI

2

Mã hình Model 2, áp dụng giao thức ECI

3

Mã hình Model 2, không áp dụng giao thức ECI, FNC1 tại vị trí đầu tiên

4

Mã hình Model 2, áp dụng giao thức ECI, FNC1 tại vị trí đầu tiên

5

Mã hình Model 2, không áp dụng giao thức ECI, FNC1 tại vị trí thứ hai

6

Mã hình Model 2, áp dụng giao thức ECI, FNC1 tại v trí thứ hai

Các giá trị của m có thể là 0, 1, 2, 3, 4, 5, 6.

 

Phụ lục G

(quy định)

Chất lượng in QR code 2005 – Các khía cạnh đặc thù của mã hình

Bởi có sự khác biệt về các cấu trúc mã hình và các thuật toán giải mã tham chiếu nên ảnh hưởng của các thông số nhất định đến hiệu suất đọc mã hình có thể khác nhau. ISO/IEC 15415 quy định các yêu cầu kỹ thuật của mã hình để xác định việc phân cấp các thuộc tính nhất định riêng biệt về mã hình. Vì vậy, phụ lục này quy định phương pháp phân cấp sự hư hỏng mẫu c định và các thông số bổ sung (thông tin định dạng và thông tin cỡ hình) sẽ được sử dụng khi áp dụng ISO/IEC 15415 cho QR code 2005.

G.1. Sự hư hỏng mẫu cố định

G.1.1. Các đặc tính được đánh giá

G.1.1.1. Mã hình QR code

Các đặc tính được đánh giá là:

· Ba đoạn ở góc, mỗi đoạn bao gồm:

○ mẫu tìm kiếm 7 x 7,

○ các dấu phân cách có độ rộng 1X bao quanh hai cạnh phía bên trong mẫu tìm kiếm,

○ phần vùng trống tối thiểu có độ rộng bốn môđun (hoặc nhiều hơn nếu ứng dụng quy định) được mở rộng ra một độ dài 15 môđun dọc theo hai cạnh phía ngoài mẫu tìm kiếm.

· Hai mẫu căn chỉnh của các môđun sáng và tối đan xen kết nối các góc trong của các mẫu tìm kiếm.

· Các mẫu căn chuẩn 5 x 5 (nếu có, trong mã hình Model 2 cỡ hình 2 hoặc lớn hơn).

Các đặc tính liệt kê ở trên phải được đánh giá là sáu đoạn, đó là:

· ba đoạn ở góc (các mẫu tìm kiếm với các dấu phân cách kèm theo và phần vùng trống đã biết) (tương ứng là các đoạn A1, A2 và A3),

· hai mẫu căn chỉnh (tương ứng là các đoạn B1 và B2),

· một đoạn đơn bao gồm tất cả các mẫu căn chuẩn (đoạn C).

Khi một mẫu căn chỉnh cắt một mẫu căn chuẩn, năm môđun trùng với mẫu căn chuẩn được đánh giá là phần của mẫu căn chỉnh và của cả mẫu căn chuẩn.

Ví dụ, trong mã hình cỡ 7 (45 x 45 môđun), mỗi đoạn A chiếm 168 môđun; mỗi đoạn B dài 29 môđun và đoạn C chiếm tổng số 150 môđun (có nghĩa là 6 x 25).

Hình G.1 dưới đây minh họa những đoạn này, trong trường hợp mã hình cỡ 7. A1, A2 và A3 chỉ ba đoạn ở góc; B1 và B2 chỉ hai đoạn của mẫu căn chỉnh và C chỉ đoạn C đơn lẻ (bao gồm 6 mẫu căn chuẩn).

Hình G.1 – Các đoạn mẫu cố định của QR code 2005

G.1.1.2. Mã hình Micro QR code

Các đặc tính được đánh giá là:

· Đoạn ở góc, bao gồm:

○ mẫu tìm kiếm,

○ các dấu phân cách có độ rộng 1X liền kề với hai cạnh phía bên trong mẫu tìm kiếm,

○ phần vùng trống tối thiểu có độ rộng hai môđun (hoặc nhiều hơn nếu ứng dụng quy định) được mở rộng ra một độ dài 11 môđun dọc theo hai cạnh phía ngoài mẫu tìm kiếm.

· Hai mẫu căn chỉnh của các môđun sáng và tối đan xen chạy dọc theo cạnh trên cùng và bên trái mã hình từ mẫu tìm kiếm.

Các đặc tính liệt kê ở trên phải được đánh giá là ba đoạn, đó là:

· đoạn ở góc (mẫu tìm kiếm với các dấu phân cách kèm theo và phần vùng trống đã biết) (đoạn A), chiếm 104 môđun,

· hai mẫu căn chỉnh (tương ứng là các đoạn B1 và B2),

Ví dụ, trong mã hình cỡ M4 (17 x 17 môđun), mỗi đoạn B có độ dài 9 môđun.

Hình G.2 dưới đây minh họa những đoạn này, trong trường hợp mã hình cỡ M4. A chỉ đoạn ở góc; B1 và B2 chỉ hai đoạn của mẫu căn chỉnh.

Hình G.2 – Các đoạn mẫu cố định của Micro QR code 2005

G.1.2. Phân cấp hư hỏng của mẫu cố định

Phải phân cấp sự hư hỏng của mỗi đoạn trên cơ sở sự biến điệu của các môđun riêng tạo nên nó.

Phải lần lượt áp dụng thủ tục dưới đây cho mỗi đoạn.

a) Từ hình ảnh trên thang độ xám chuẩn của mã hình, tìm cấp biến điệu cho mỗi môđun căn cứ vào các giá trị quy định trong ISO/IEC 15415. Vì trạng thái tự nhiên sáng hoặc tối theo dự kiến của một môđun xác định là biết được, nên bất kỳ môđun nào dự kiến là tối nhưng lại có hệ số phản xạ trên ngưỡng tổng quát và bất kỳ môđun nào dự kiến là sáng nhưng lại có hệ số phản xạ dưới ngưỡng tổng quát phải được phân cấp biến điệu ở cấp 0.

b) Đối với mỗi mức về cấp biến điệu, giả sử tất cả các môđun không đạt được cấp đó hoặc một cấp cao hơn là các lỗi về môđun, và nhận được một cấp hư hỏng phỏng đoán căn cứ vào ngưỡng về cấp đã biết được nêu trong Bảng G.1. Lấy giá trị thấp hơn mức về cấp biến điệu và cấp hư hỏng phỏng đoán, cấp hư hỏng phỏng đoán được xác định như sau:

1) Đối với mỗi đoạn A1, A2 và A3 hoặc đoạn A trong mã hình Micro QR code, đếm số lỗi môđun.

2) Đối với các đoạn B1 và B2, đếm số lỗi môđun. Biểu diễn con số này thành tỷ lệ của con số tổng các môđun trong đoạn.

3) Đối với các đoạn B1 và B2, lấy các nhóm năm môđun liền kề và tiến hành cùng đoạn đã biết theo các bước của một môđun, kiểm tra xác nhận trong tất cả nhóm năm môđun liền kề không có nhiều hơn hai môđun bị hư hỏng; nếu phép kiểm tra này không đạt, cấp của đoạn đó phải là 0. Phép kiểm tra này không áp dụng cho Micro QR code.

4) Đối với đoạn C (chỉ với mã hình QR code), đếm số mẫu căn chuẩn có một lỗi về môđun. Thể hiện con số này thành tỷ lệ của số mẫu căn chuẩn trong mã hình.

5) Gán một cấp hư hỏng phỏng đoán cho mỗi đoạn căn cứ vào ngưỡng về cấp được nêu trong Bảng G.1.

c) Cấp hư hỏng của mẫu cố định đối với đoạn đã biết phải là cấp thu được cao nhất đối với tất cả các mức về cấp biến điệu.

Bảng G.1 – Ngưỡng về cấp đối với sự hư hỏng của mẫu cố định trong QR code 2005

Đoạn A1, A2 và A3 (QR code);
Đoạn A (Micro QR code)

Đoạn B1 và B2 (QR code)

Đoạn B1 và B2 (Micro QR code)

Đoạn C (QR code)

Cấp

Số các lỗi môđun

Tỷ lệ của tổng môđun với các lỗi môđun

Tỷ lệ của tổng môđun với các lỗi môđun

Tỷ lệ của các mẫu căn chuẩn với các lỗi môđun

 

0

0%

0%

0%

4

1

 7%

 

 10%

3

2

 11 %

≤ 30 %

 20 %

2

3

≤ 14 %

 

≤ 30 %

1

≥ 4

> 14 %

> 30 %

> 30 %

0

G.2. Phân cấp các thông số bổ sung

Mã hình QR code 2005 có một bộ đôi các môđun thể hiện thông tin xác định sự định dạng của mã hình, và các mã hình cỡ 7 đến 40 cũng có một bộ đôi các môđun thể hiện thông tin xác định cỡ của mã hình. Mã hình Micro QR code có một bộ đơn các môđun thể hiện thông tin xác định sự định dạng của mã hình. Dữ liệu này yêu cầu được tìm ra một cách xác thực vào giai đoạn sớm của quá trình giải mã và nếu nó không thể giải mã được thì phần còn lại của mã hình cũng không thể giải mã được. Vì lý do này, các khối môđun thông tin định dạng và thông tin cỡ hình được phân cấp riêng biệt (giống với phương pháp đối với sự hư hại của mẫu cố định), và các cấp của chúng được tính vào trong sự xác định cấp tổng thể của mã hình.

G.2.1. Phân cấp thông tin định dạng

Đối với mỗi khối thông tin định dạng, xác định cấp cho khối theo phương pháp sau:

a) Từ hình ảnh trên thang độ xám chuẩn của mã hình, tìm cấp biến điệu cho mỗi môđun căn cứ vào các giá trị quy định trong ISO/IEC 15415. Vì trạng thái tự nhiên sáng hoặc tối theo dự kiến của một môđun xác định là biết được sau khi giải mã, nên bất kỳ môđun nào dự kiến là tối nhưng lại có hệ số phản xạ trên ngưỡng tổng quát và bất kỳ môđun nào dự kiến là sáng nhưng lại có hệ số phản xạ dưới ngưỡng tổng quát phải được phân cấp biến điệu ở cấp 0. Nếu không thể giải mã thông tin cỡ hình trong khối thì cấp cho khối phải là 0.

b) Đối với mỗi mức về cấp biến điệu:

1) Gi sử tất cả các môđun không đạt được cấp biến điệu đó hoặc một cấp cao hơn là các lỗi về môđun, và nhận được một cấp phỏng đoán căn cứ vào Bảng G.3:

Bảng G.2 – Phân cấp phỏng đoán thông tin định dạng

Số lỗi môđun

Cấp

0

4

1

3

2

2

3

1

≥ 4

0

2) Chọn giá trị thấp hơn cấp MOD và cấp phỏng đoán ở mỗi mức làm cấp cho mức đó, như được chỉ rõ ở Bảng G.4.

3) Cấp cho khối đã biết phải là cấp thu được cao nhất, như được chỉ rõ ở Bảng G.4.

Bảng G.3 – Ví dụ về phân cấp khối thông tin định dạng

Cấp biến điệu

Cấp phỏng đoán

Giá trị thấp hơn các cấp

4

2

2

3

2

2

2

3

2

1

3

1

0

4

0

 

Cấp (cao nhất) được chọn

2

c) Cấp thông tin định dạng phải là:

1) Đối với mã hình QR code, giá trị trung bình của các cấp của hai khối thông tin định dạng, được làm tròn lên số nguyên tiếp theo nếu cần thiết.

2) Đối với mã hình Micro QR code, xác định cấp theo bước 2 c).

G.2.2. Phân cấp thông tin cỡ hình (mã hình QR code)

Đối với mỗi khối thông tin cỡ hình, xác định cấp cho khối đó theo phương pháp sau.

a) Tìm cấp biến điệu cho mỗi môđun căn cứ vào các giá trị quy định trong ISO/IEC 15415. Vì trạng thái tự nhiên sáng hoặc tối theo dự kiến của một môđun xác định là biết được sau khi giải mã, nên bất kỳ môđun nào dự kiến là tối nhưng lại có hệ số phản xạ trên ngưỡng tổng quát và bất kỳ môđun nào dự kiến là sáng nhưng lại có hệ số phản xạ dưới ngưỡng tổng quát phải được phân cấp biến điệu  cấp 0. Nếu không thể giải được mã thông tin cỡ hình trong khối, thì cấp cho khối phải là 0.

b) Đối với mỗi mức về cấp biến điệu:

1) Giả sử tất cả các môđun không đạt được cấp biến điệu đó hoặc một cấp cao hơn là các lỗi về môđun, và nhận được một cấp phỏng đoán căn cứ vào Bảng G.5:

Bảng G.4 – Phân cấp phỏng đoán thông tin cỡ hình

Số lỗi môđun

Cấp

0

4

1

3

2

2

3

1

≥ 4

0

2) Chọn giá trị thấp hơn cấp MOD và cấp phỏng đoán ở mỗi mức làm cấp cho mức đó, như được chỉ rõ ở Bảng G.6.

3) Cấp cho khối đã biết phải là cấp thu được cao nhất, như được chỉ rõ ở Bảng G.6.

Bảng G.5 – Ví dụ về phân cấp khối thông tin cỡ hình

Cấp biến điệu

Cấp phỏng đoán

Giá trị thấp hơn của các cấp

4

2

2

3

2

2

2

3

2

1

3

1

0

4

0

 

Cấp (cao nhất) được chọn

2

c) Cấp thông tin cỡ hình phải là giá trị trung bình các cấp của hai khối thông tin cỡ hình, được làm tròn lên số nguyên tiếp theo nếu cần thiết.

G.3. Cấp độ quét

Cấp độ quét phải là giá trị thấp nhất của các cấp đối với các thông số chuẩn được đánh giá theo ISO/IEC 15415 cùng với các cấp đối với sự hư hỏng mẫu cố định, thông tin định dạng và (khi thích hợp) thông tin cỡ hình được đánh giá theo phụ lục này.

 

Phụ lục H

(tham khảo)

Các bộ ký tự JIS8 và Shift JIS

Bảng H.1 – Bộ ký tự 8-bit đối với JIS X 0201 (JIS8)

Hình H.1 dưới đây ch ra các vùng mức mã 256 x 256 bị choán bởi các ký tự byte đôi Shift JIS.

Hình H.1 – Các giá trị của ký tự Shift JIS

Theo JIS X 0208:1997, Phụ lục 1, các byte đầu và các byte theo sau trong phạm vi những vùng tô đậm được gán cho các ký tự Shift JIS Kanji. Bất kỳ cặp đôi các byte nào trong những vùng này đều có thể được mã hóa bằng cách sử dụng giản đồ nén mode Kanji.

 

Phụ lục I

(tham khảo)

Ví dụ về mã hóa mã hình

I.1. Khái quát

Phụ lục này  tả cách mã hóa dòng dữ liệu 01234567 vào trong cả mã hình QR code và mã hình Micro QR code.

I.2. Mã hóa mã hình QR code

Dòng dữ liệu nói trên sẽ được mã hóa vào trong mã hình cỡ 1-M, sử dụng mode số phù hợp với 6.4.3. Bước 1:

Mã hóa dữ liệu

– Chia thành các nhóm gồm ba số và chuyển mỗi nhóm sang hệ nhị phân thành từng cụm 10 hay 7 bit tương ứng.

012->0000001100

345->0101011001

67 ->1000011

– Chuyển chỉ dấu đếm ký tự sang hệ nhị phân (10 bit đối với cỡ hình 1-M)

Chỉ dấu đếm ký tự (8) 0000001000

– Kết nối chỉ báo mode đối với mode số (0001), chỉ dấu đếm ký tự, dữ liệu nhị phân và dấu kết thúc (0000)

0001 0000001000 0000001100 0101011001 1000011 0000

– Chia thành các từ mã 8 bit, thêm bit độn (được gạch chân để làm rõ) khi cần.

00010000 00100000 00001100 01010110 01100001 10000000

– Thêm từ mã độn cho đủ dung lượng từ mã dữ liệu của mã hình (đối với cỡ hình 1-M có 16 từ mã dữ liệu, vì vậy cần phải có 10 từ mã độn (được gạch chân để làm rõ), cho kết quả:

00010000 00100000 00001100 01010110 01100001 10000000 11101100 00010001 11101100 00010001 11101100 00010001 11101100 00010001 11101100 00010001

Bước 2: Tạo từ mã sửa lỗi

Sử dụng thuật toán RS để tạo số lượng từ mã sửa lỗi cần thiết (đối với mã hình cỡ 1-M sẽ cần 10 từ mã), chúng (được gạch chân để làm rõ) phải được gắn thêm vào dòng bit, kết quả được:

00010000 00100000 00001100 01010110 01100001 10000000 11101100 00010001 11101100 00010001 11101100 00010001 11101100 00010001 11101100 00010001 10100101 00100100 11010100 11000001 11101101 00110110 11000111 10000111 00101100 01010101

Bước 3: Đặt môđun vào ma trận

Vì chỉ có một khối sửa lỗi đơn trong mã hình cỡ 1-M, nên không cần thêm gì vào trong ví dụ này. Mẫu tìm kiếm, dấu phân cách và mẫu căn chỉnh được đặt vào ma trận 21 x 21 trống và các vị trí môđun cho thông tin định dạng được tạm thời để trống. Các từ mã ở bước 2 được đặt vào ma trận cho phù hợp với 6.7.3 cho kết quả là sự sắp xếp như được minh họa trong Hình 1.1.

Hình 1.1 – Các môđun dữ liệu được đặt vào mã hình trước khi áp mặt nạ dữ liệu

Bước 4: Chọn mẫu áp mặt nạ dữ liệu

Áp dụng lần lượt các mẫu áp mặt nạ dữ liệu nêu ở 6.8.1 và đánh giá kết quả theo 6.8.2. Mẫu áp mặt nạ dữ liệu đã chọn là tham chiếu 010.

Bước 5: Thông tin định dạng

Mức sửa lỗi là M và mẫu áp mặt nạ dữ liệu là 011. Do vậy, từ 6.9.1 các bit dữ liệu của thông tin định dạng sẽ là 00 010.

Phép toán sửa lỗi BCH đưa ra 1001101110 như một chuỗi bit được thêm vào dữ liệu, đưa ra:

000101001101110 như là thông tin định dạng không được áp mặt nạ.

Áp dụng phép toán logic XOR cho dòng bit này với mặt nạ 101010000010010:

000101001101110 (dòng bit thô)

101010000010010 (mặt nạ)

101111001111100 (thông tin định dạng được đặt vào trong mã hình)

Bước 6: Cấu trúc mã hình cuối cùng

Đưa mẫu áp mặt nạ dữ liệu đã chọn vào vùng mã hóa của mã hình như nêu trong 6.8, và thêm các môđun thông tin định dạng vào các vị trí dự trữ ở bước 3. Mã hình cuối cùng được minh họa ở Hình I.2.

Hình I.2 – Mã hình cuối cùng cỡ 1-M mã hóa 01234567

I.3. Mã hóa mã hình Micro QR code

Dòng dữ liệu 01234567 sẽ được mã hóa vào mã hình cỡ M2 với mức sửa lỗi là L, sử dụng mode số phù hợp với 6.4.3.

Bước 1: Mã hóa dữ liệu

– Chia thành các nhóm gồm ba số và chuyển mỗi nhóm sang hệ nhị phân thành từng cụm 10 hay 7 bit tương ứng.

012 → 0000001100

345 → 0101011001

67 → 1000011

– Chỉ báo mode đối với mode số trong cỡ hình M2 là 0

– Chỉ dấu đếm ký tự là 8; chuyển sang hệ nhị phân (4 bit đối với cỡ hình M2-L):

Chỉ dấu đếm ký tự (8) 1000

– Dấu kết thúc đối với cỡ hình M2 là 5 bit không, 00000

– Kết nối chỉ báo mode đối với mode số (0), chỉ dấu đếm ký tự (1000), dữ liệu nhị phân và dấu kết thúc (0000)

1000 0000001100 0101011001 1000011 00000

– Chia thành các từ mã 8 bit, thêm 3 bit độn (được gạch chân để làm rõ) vì từ mã cuối cùng chỉ có 5 bit.

01000000 00011000 1010110 11000011 00000000

– Không yêu cầu thêm từ mã độn để làm đủ dung lượng từ mã dữ liệu của mã hình (đối với cỡ hình M2- L, có 5 từ mã dữ liệu).

Bước 2: Tạo từ mã sửa lỗi

Sử dụng thuật toán RS để tạo số lượng từ mã sửa lỗi cần thiết (đối vi mã hình cỡ M2-L sẽ cần 5 từ mã), chúng (được gạch chân để làm rõ) phải được gắn thêm vào dòng bit, kết quả được:

01000000 00011000 10101100 11000011 00000000 10000110 00001101 00100010 10101110 00110000

Bước 3: Đặt môđun vào ma trận

Mu tìm kiếm và mẫu căn chỉnh được đặt vào ma trận 13 x 13 trống và các vị trí môđun cho thông tin định dạng được tạm thời để trống. Các từ mã ở bước 2 được đặt vào ma trận phù hợp với 6.7.3. Hình I.3 minh họa sự sắp xếp môđun này.

Hình I.3 – Các môđun dữ liệu được đặt vào mã hình trước khi áp mặt nạ dữ liệu

Bước 4: Chọn mẫu áp mặt nạ dữ liệu

Áp dụng lần lượt các mẫu áp mặt nạ dữ liệu nêu ở 6.8.1 và đánh giá kết quả theo 6.8.2. Mẫu áp mặt nạ dữ liệu đã chọn là tham chiếu 01. Áp dụng mẫu áp mặt nạ dữ liệu đã chọn vào vùng mã hóa của ma trận theo 6.8

Bước 5: Thông tin định dạng

Số mã hình đối với mã hình M2-L là 1, được thể hiện ở dạng nhị phân là 001, và mẫu áp mặt nạ dữ liệu là 01. Do vậy, các bit dữ liệu của thông tin định dạng sẽ là 001 01.

Phép toán sửa lỗi BCH đưa ra 0011011100 như một chuỗi bit được thêm vào dữ liệu, đưa ra:

001010011011100 như là thông tin định dạng không được áp mặt nạ.

Áp dụng phép toán logic XOR cho dòng bit này với mặt nạ 100010001000101:

001010011011100 (dòng bit thô)

100010001000101 (mặt nạ)

101000010011001 (thông tin định dạng được đặt vào trong mã hình)

Bước 6: Cấu trúc mã hình cuối cùng

Thêm các môđun thông tin định dạng vào các vị trí dự trữ ở bước 3. Mã hình cuối cùng được minh họa ở hình I.4.

Hình 1.4 – Mã hình cuối cùng cỡ M2-L mã hóa 01234567

 

Phụ lục J

(tham khảo)

Tối ưu hóa độ dài dòng bit

J.1. Khái quát

Như mô tả trong tiêu chuẩn này, QR code 2005 đưa ra nhiều mode mã hóa mà mỗi mode lại khác nhau về số lượng bit cần có để thể hiện dòng dữ liệu. Vì có sự đan cài giữa các bộ ký tự của mỗi mode – ví dụ, dữ liệu số có thể được mã hóa theo mode số, chữ số và bytet, và dữ liệu chữ số Latinh có thể được mã hóa theo mode chữ số và byte – phần mềm tạo mã hình có thể cần chọn mode hợp lý nhất để mã hóa các ký tự dữ liệu xuất hiện trong một hay nhiều mode.

Có thể chọn mã hình QR code hay mã hình Micro QR code.

Phải thực hiện ngay từ đầu việc chọn lựa mode và cũng có thể thay đổi mode ở khoảng giữa của dòng dữ liệu.

Có một số cách tiếp cận khác nhau có thể được chấp nhận để tối thiểu hóa độ dài dòng bit. Thuật toán này chẳng những cần thiết để xem xét chuỗi ký tự tức thời mà còn cần để xem xét từ đầu khi sang chuỗi dữ liệu tiếp theo để hin thị tiêu đề chuyển mode. Thuật ngữ “tập con loại tr” được sử dụng trong phụ lục này như là một cách tham chiếu tắt đến bộ các ký tự trong phạm vi bộ ký tự của mode không chung với bộ ký tự giới hạn hơn của mode khác như được nêu dưới đây và trong Bảng J.1.

– Tập con loại trừ dạng số là bộ các giá trị theo hệ thập lục phân (cơ số 16) từ 30 đến 39 (các con số từ 0 đến 9).

– Tập con loại trừ dạng chữ số là bộ các giá trị theo hệ thập lục phân (cơ số 16) từ 20, 24, 25, 2A, 2B, 2D đến 2F, 3A và từ 41 đến 5A, được sắp xếp như là {A – Z, dấu cách, $ % * + – . / :}.

CHÚ THÍCH 1 Tập con này không gồm các con số.

– Tập con loại trừ dạng byte bao gồm các giá trị theo hệ thập lục phân (cơ số 16) từ 00 đến FF nhưng loại trừ các giá trị theo hệ thập lục phân (cơ số 16) từ 20, 24, 25, 2A, 2B, 2D đến 3A và 41 đến 5A.

CHÚ THÍCH 2 Các giá trị loại trừ được chứa trong các tập con loại trừ dạng số và dạng chữ số.

Bảng J.1 – Các giá trị dạng byte của tập con loại trừ đối với các mode của QR code 2005

Tập con loại trừ

Các giá trị byte (theo hộ thập lục phân (cơ số 16))

Dạng số 30 đến 39
Dạng chữ số 20, 24, 25, 2A, 2B, 2D đến 2F, 3A và 41 đến 5A
Byte 00 đến 1F, 21 đến 23, 26 đến 29, 2C, 3B đến 40, 5B đến FF (không tính đến các giá trị dự trữ từ 80 đến 9F và E0 đến FF)
Kanji Tất cả các byte đôi trong các phạm vi đã quy định trong Phụ lục H.

Các hiệu quả nén được nêu ở 6.4.3 tới 6.4.6 cần được diễn giải cẩn thận. Sự phối hợp tốt nhất cho một bộ dữ liệu đã cho có thể không phải là cái có ít bit nhất cho mỗi ký tự dữ liệu. Nếu yêu cầu mức độ nén cao nhất thì cần phải thêm bit để thay đổi mode (thêm chỉ báo mode và chỉ dấu đếm ký tự). Cũng phải chú ý rằng dù cho số lượng từ mã đã được tối thiểu hóa, dòng từ mã đôi khi cần phải được mở rộng để lấp đầy mã hình. Quá trình lấp đầy được thực hiện bằng cách sử dụng ký tự độn.

J.2. Tối ưu hóa đối với mã hình QR code

Đối với mã hình QR code, những chỉ dẫn dưới đây thiết lập cơ sở cho một thuật toán khả thi để xác định dòng bit ngắn nhất cho bất kỳ dữ liệu đầu vào nào.

Số lượng ký tự được đặt trong dấu ngoặc vuông, ví dụ [5, 7, 9là khả thi tương ứng với các cỡ hình 1 – 9, 10  26 và 27  40.

a) Chọn mode ban đầu:

1) Nếu phần đầu của dữ liệu đầu vào nằm trong tập con loại trừ của bộ ký tự byte, chọn mode byte;

2) Nếu phần đầu của byte đầu vào nằm trong tập con loại trừ thuộc byte đầu Kanji và byte tiếp sau nằm trong tập con loại trừ thuộc byte theo đuôi Kanji, VÀ dữ liệu tiếp theo nằm trong tập ký tự loại trừ dạng số hoặc dạng chữ số, chọn mode Kanji, NGOÀI RA nếu dữ liệu tiếp theo nằm trong tập ký tự loại trừ của byte VÀ các cặp byte [5, 5, 6tiếp sau thậm chí cũng nằm trong các tập con loại trừ Kanji, chọn mode byte;

3) Nếu phần đầu của dữ liệu đầu vào nằm trong tập con loại trừ của bộ ký tự chữ số VÀ nếu có ít hơn [6, 78ký tự theo sau bởi dữ liệu từ phần còn lại của bộ ký tự byte THÌ chọn mode byte, NẾU KHÔNG thì chọn mode chữ số.

4) Nếu phần đầu của dữ liệu là số VÀ nếu có ít hơn [4, 4, 5ký tự theo sau bởi dữ liệu từ tập con loại trừ của bộ ký tự byte THÌ chọn mode byte, HOẶC NẾU có ít hơn [6, 7, 8ký tự theo sau bởi dữ liệu từ tập con loại trừ của bộ ký tự chữ số THÌ chọn mode chữ số, NU KHÔNG thì chọn mode số.

b) Khi đang trong mode byte:

1) Nếu có một chuỗi ít nhất [9,12,13cặp byte từ bộ Kanji xuất hiện trước nhiều dữ liệu là tập con loại trừ của bộ ký tự byte, chuyển sang mode Kanji;

2) Nếu có một chuỗi ít nhất [11,15,16ký tự từ tập con loại trừ của bộ ký tự chữ số xuất hiện trước nhiều dữ liệu từ tập con loại trừ của bộ ký tự byte, chuyển sang mode chữ số;

3) Nếu có một chuỗi ít nhất [6,8,9ký tự số xuất hiện trước nhiều dữ liệu từ tập con loại trừ của bộ ký tự byte, chuyển sang mode số;

4) Nếu có một chuỗi ít nhất [6,7,8ký tự số xuất hiện trước nhiều dữ liệu từ tập con loại trừ của bộ ký tự chữ số, chuyển sang mode số.

c) Khi đang ở trong mode chữ số:

1) Nếu có một hoặc nhiều ký tự Kanji xuất hiện thì chuyển sang mode Kanji;

2) Nếu có một hoặc nhiều ký tự từ tập con loại trừ của bộ ký tự byte xuất hiện thì chuyển sang mode byte;

3) Nếu có một chuỗi ít nhất [13,15,17ký tự số xuất hiện trước nhiều dữ liệu từ tập con loại trừ của bộ ký tự chữ số thì chuyển sang mode số.

d) Khi đang ở trong mode số:

1) Nếu có một hoặc nhiều ký tự Kanji xuất hiện thì chuyển sang mode Kanji.

2) Nếu có một hoặc nhiều ký tự từ tập con loại trừ của bộ ký tự byte xuất hiện thì chuyển sang mode byte.

3) Nếu có một hoặc nhiều ký tự từ tập con loại trừ của bộ ký tự chữ số xuất hiện thì chuyển sang mode chữ số.

J.3. Tối ưu hóa đối với mã hình Micro QR code

J.3.1. Các nguyên tắc tối ưu hóa

Giả sử rằng dữ liệu để mã hóa là các tập con loại trừ của không nhiều hơn hai mode và gi sử rằng tất cả dữ liệu trong mỗi tập con được nhóm lại cùng nhau (ví dụ “123abcdef), có thể chọn từ Bảng J.2 một thuật toán dùng để xác định dòng bit ngắn nhất cho dữ liệu Micro QR code. Có thể mở rộng những nguyên tắc này để phục vụ cho nhiều hơn hai mode, nhưng phải cẩn trọng đối với việc dòng bit nhận được sẽ khớp với một trong số các mã hình có sẵn.

Vì các mode thấp hơn sử dụng ít bit hơn cho mỗi ký tự so với các mode cao hơn, có một điểm mà tại đó tiêu đề m rộng của chỉ báo mode bổ sung và chỉ dấu đếm ký tự đối với sự thay đổi của mode được bù lại bởi mật độ mã hóa lớn hơn của mode thấp hơn. Bảng J.2 chỉ ra số ký tự tối thiểu liên tiếp trong mode thấp hơn để đạt được một dòng bit tổng ngắn hơn bằng cách thay đổi mode. Đối với trường hợp có ít ký tự hơn, việc mã hóa tất cả dữ liệu trong mode cao hơn sẽ cho một dòng bit ngắn hơn.

Bảng J.2 – Các ký tự tối thiểu trong mode thp hơn để tối thiểu hóa độ dài dòng bit bằng cách thay đổi mode

Kết hợp mode

Mã hình M2

Mã hình M3

Mã hình M4

Số + chữ số

3 số

4 số

5 số

Số + byte 8-bit

n/a

2 số

3 số

Chữ số + byte

n/a

3 chữ số

4 chữ số

Số + Kanji

n/a

1 số

2 số

Chữ số + Kanji

n/a

1 chữ số

2 chữ số

Byte + Kanji

n/a

2 8-bit

2 8-bit

J.3.2. Dung lượng của mã hình Micro QR code

Dựa trên nguyên tắc của bảng ở trên và các dung lượng của nhiều cỡ mã hình, các Hình từ J.1 đến J.6 dưới đây minh họa, đối với mỗi kết hợp mode, các trường hợp tùy chọn có sẵn để mã hóa các lượng dữ liệu cho trước vào kết hợp mode.

Các tiêu đề theo hàng và cột phân định số ký tự trong mỗi mode. Các hình minh họa cỡ mã hình và mức sửa lỗi, bỏ qua chữ M đầu tiên; vì vậy, ví dụ, 4Q chỉ mã hình cỡ M4 với mức sửa lỗi Q. Đối với bất kỳ sự kết hợp giữa ký tự và mode đã cho, cỡ mã hình có sẵn là những cỡ nằm ở giao điểm giữa hàng và cột thích hợp và là những cỡ nằm ở bên phải hoặc bên dưới giao điểm này.

Ví dụ, nếu dòng dữ liệu là “123456abcdefgh”, bao gồm sáu ký tự số và tám ký tự từ bộ ký tự chữ số, Hình J.1 chỉ ra dữ liệu này sẽ khớp với mã hình cỡ M3-L (tổng của 77 bit bao gồm các chỉ báo mode và các chỉ dấu đếm ký tự), hoặc mã hình cỡ M4-M hoặc mã hình cỡ M4-L (81 bit cho mỗi mã). Các trường hợp tùy chọn có thể bị thu hẹp xuống dưới bởi khoảng trống sẵn có hoặc bởi mức sửa lỗi theo yêu cầu.

Hình J.1 – Dung lượng của mã hình Micro QR code – dữ liệu số và chữ số

Hình J.2 – Dung lượng của mã hình mã Micro QR – d liệu số và byte

Hình J.3 – Dung lượng của mã hình mã Micro QR – dữ liệu chữ số và byte

Hình J.4 – Dung lượng của mã hình mã Micro QR – dữ liệu số và Kanji

Hình J.5 – Dung lượng của mã hình mã Micro QR – dữ liệu chữ số và Kanji

Hình J.6 – Dung lượng của mã hình mã Micro QR – dữ liệu byte và Kanji

 

Phụ lục K

(tham khảo)

Hướng dẫn cho người sử dụng việc in và quét mã hình QR code 2005

K.1. Khái quát

Bất cứ việc áp dụng QR code 2005 nào cũng phải được xem xét như là một giải pháp hệ thống tổng thể. Tất cả những thành phần mã hóa/ giải mã mã hình (những thiết bị tạo mã bề mặt hay máy in, nhãn, máy đọc) được cài đặt cần phải vận hành đồng thời như một hệ thống. Lỗi trục trặc ở bất cứ khâu nào của chuỗi này, hay sự không tương thích giữa chúng, có thể làm ảnh hưởng đến hiệu năng của toàn bộ hệ thống.

Trong khi việc tuân thủ theo các quy định kĩ thuật là một chìa khóa để đảm bảo cho sự thành công của toàn bộ hệ thống, thì cũng phải xem xét đến những nhân tố khác cũng ảnh hưởng đến hiệu năng của hệ thống. Những hướng dẫn sau đây nêu một vài nhân tố cần chú ý khi quy định hay áp dụng các hệ thống mã vạch hay mã ma trận.

a) Lựa chọn mật độ in chấp nhận những giá trị dung sai mà công nghệ tạo mã hoặc in được sử dụng có thể đạt được. Phải đảm bảo rằng kích thước của môđun là bội số của kích thước ảnh điểm đầu in (theo hướng song song hay vuông góc với hướng in). Cũng phải đảm bảo rng bất cứ sự điều chỉnh để đạt được độ lợi (độ mất mát) khi in được thực hiện bằng cách thay đổi số lượng các ảnh điểm như nhau từ tối sang sáng (hoặc từ sáng sang tối) trên tất cả đường biên tối sang sáng của các môđun riêng lẻ hoặc các nhóm môđun tối cạnh nhau để chắc chắn rằng khoảng cách các trung tâm môđun là không đổi, mặc dù sự thể hiện dưới dạng bit-map các môđun tối (hoặc sáng) riêng rẽ được điều chỉnh kích thước để phù hợp với hướng bù.

b) Lựa chọn thiết bị đọc với giải pháp phù hợp với mật độ và chất lượng mã hình do công nghệ tạo mã hoặc in ấn tạo ra.

c) Bảo đảm rằng các tính chất quang học của mã hình in ra là tương thích với bước sóng của nguồn sáng hay bộ cảm biến của máy quét.

d) Phải kiểm tra xác nhận lại sự tương thích của mã hình về cấu hình bao gói hoặc ghi nhãn cuối cùng. Lp dán đè lên, khả năng nhìn xuyên qua và bề mặt cong hay bất thường có thể ảnh hưởng đến khả năng đọc mã hình.

Cần phải tính đến những ảnh hưởng của sự phản xạ đặc biệt từ các bề mặt bóng của mã hình. Hệ thống quét phải tính đến những thay đổi của sự tán xạ giữa điểm sáng và tối.  một vài góc độ quét, thành phần phản chiếu của tia sáng phản chiếu có thể vượt xa thành phần khuếch tán mong muốn, làm thay đổi hiệu năng quét. Trong những trường hợp bề mặt của vật liệu hay các phần có th bị thay đổi, mờ xỉn, những bề mặt không bóng có thể giúp giảm thiểu những hiệu ứng phản chiếu. Nếu điều đó không thể thực hiện được thì phải bảo đảm sự chiếu sáng của mã hình để đọc được tốt nhất những thành phần tương phản mong muốn.

K.2. Sự lựa chọn mức sửa lỗi của người sử dụng

Người sử dụng phải xác định mức độ sửa lỗi phù hợp để thích ứng với các yêu cầu ứng dụng. Như đã trình bày ở Bảng 8, có bốn mức từ L đến H cung cấp khả năng tăng dần về việc phát hiện và sửa lỗi, đi kèm với việc tăng kích thước đối với độ dài một gói tin đã cho. Ví dụ, mã hình cỡ 20-Q có thể chứa đến 485 từ mã dữ liệu, nhưng nếu chấp nhận mức sửa lỗi thấp hơn thì cùng dữ liệu như vậy cũng có thể được thể hiện bằng mã hình cỡ 15-L (dung lượng chính xác là 523 từ mã dữ liệu).

Mức sửa lỗi được xác định tùy theo:

– mức độ dự kiến về chất lượng mã hình: chất lượng mong đợi càng thấp thì phải áp dụng mức sửa lỗi càng cao;

– tầm quan trọng của tỷ lệ đọc thành công cao trong lần đọc đầu tiên;

– cơ hội quét lại trong trường hợp không đọc được;

– những ràng buộc về không gian có thể làm giảm cơ hội sử dụng mức sửa lỗi cao hơn.

Mức sửa lỗi L là thích hợp cho mã hình chất lượng cao và/ hoặc nhu cầu về mã hình nhỏ nhất có thể đối vi dữ liệu đã cho. Mức M là mức “chuẩn” đưa ra một sự dung hòa tốt giữa kích cỡ nhỏ và độ tin cậy khá. Mức Q là mức “tin cậy cao” và thích hợp đối với các ứng dụng quan trọng hơn hoặc chất lượng in kém trong khi mức H đưa ra mức độ tin cậy lớn nhất có thể đạt được.

 

Phụ lục L

(tham khảo)

Sự tự phân biệt

Có thể đọc được QR code 2005 bằng những máy giải mã được lập trình phù hợp, được thiết kế để tự động phân biệt QR code 2005 với những mã hình khác. Một máy đọc QR code 2005 được lập trình hợp lí sẽ không giải mã nhầm một mã hình khác thành một mã hình QR code 2005 có giá trị; tuy nhiên các mã hình một chiều ngắn có thể được nhận dạng nhầm thành bất kỳ mã hình ma trận nào trong đó có cả QR code 2005.

Mặc dù máy giải mã phù hợp có thể phân biệt tự động mã hình QR code Model 1 với mã hình QR code 2005, vẫn đặc biệt khuyến nghị không sử dụng lẫn lộn hai loại mã hình này.

Cần phải hạn chế tập hợp các mã hình phù hợp với máy giải mã trong một ứng dụng nào đó để tối đa hóa việc bảo mật khi đọc mã.

 

Phụ lục M

(tham khảo)

Kĩ thuật kiểm soát quá trình

Phụ lục này mô tả các công cụ và các thủ tục cần thiết để giám sát và kiểm soát quá trình tạo mã hình QR code 2005 có thể quét được. Những kĩ thuật này không phải để kiểm tra chất lượng in của mã hình đã được tạo ra – phương pháp quy định ở điều 9 và Phụ lục G là phương pháp cần thiết để đánh giá chất lượng mã hình – nhưng chúng mang lại những chỉ dẫn một cách riêng lẻ và tập trung rằng liệu quá trình tạo mã hình có tạo được những mã hình khả thi hay không.

M.1. Độ tương phản của mã hình

Hầu hết những thiết bị kiểm tra mã vạch một chiều đều có mode phản xạ kế hay mode để vẽ đồ thị đặc tính phản xạ quét và/hoặc báo cáo độ tương phản mã hình, như quy định trong TCVN 7626 (ISO/IEC 15416), từ các mẫu quét không giải mã được. Ngoại trừ những mã hình đòi hỏi cấu hình chiếu sáng đặc biệt, việc đọc độ tương phản mã hình có thể đạt được bằng cách sử dụng lỗ đo 0,150mm hoặc 0,250mm ở bước sóng 660nm – hoặc là giá trị độ tương phản của mã hình đã được báo cáo, các độ trệch của đồ thị đặc tính phản xạ quét từ lớn nhất đến bé nhất, hoặc là sự khác nhau giữa việc đọc phản xạ kế lớn nhất và bé nhất – đã được phát hiện để liên kết với giá trị độ tương phản của mã hình xuất phát từ hình ảnh. Cụ thể, việc đọc này có thể được sử dụng để kiểm tra độ tương phản của mã hình có ở mức cao hơn mức tối thiu cho phép đối với cấp chất lượng mã hình mong đợi.

M.2. Đánh giá sự không đều theo trục

Đối với mã hình QR code, phải đo khoảng cách từ cạnh trái của mẫu tìm kiếm ở góc trên bên trái đến cạnh phải của mẫu tìm kiếm ở góc trên bên phải, và đo khoảng cách từ cạnh trên của mẫu tìm kiếm ở góc trên bên trái đến cạnh dưới của mẫu tìm kiếm ở góc dưới bên trái. Đối với mã hình Micro QR code, phải đo khoảng cách từ cạnh trái của mẫu tìm kiếm ở góc trên bên trái đến cạnh phải của môđun xa nhất bên phải trong mẫu căn chỉnh bên trên, và đo khoảng cách từ cạnh trên của mẫu tìm kiếm ở góc trên bên trái đến cạnh dưới của môđun thấp nhất trong mẫu căn chỉnh bên trái. Chia các khoảng cách này cho số môđun theo kích thước đó. Ví dụ: Một mã hình cỡ 2 thì chia cho 25. Thay thế các kết quả này cho XAVG và YAVG theo công thức ở G.2.4 và phân cấp kết quả để đánh giá sự không đều theo trục.

M.3. Kiểm tra bằng mắt về sự biến dạng và sai lỗi của mã hình

Việc tiếp tục kiểm tra bằng mắt đối với mẫu tìm kiếm và mẫu căn chỉnh trong mã hình mẫu có thể giám sát một mặt quan trọng của quá trình tạo mã.

Mã ma trận dễ mắc lỗi do sự biến dạng bộ phận của lưới ma trận. Bất kì sự biến dạng nào như vậy có thể thấy bằng mắt hoặc ở bờ cong của mẫu tìm kiếm hoặc ở khoảng trống không bằng phng trong mẫu căn chỉnh xen kẽ nhau chạy giữa mẫu tìm kiếm và được căn chỉnh với đường biên bên trong của chúng.

Mẫu tìm kiếm và khu vực vùng trống liền kề phải luôn là khoảng tối và sáng liên tục. Các lỗi trong cơ chế in có thể tạo ra các sai lỗi dưới dạng các đường sọc sáng hoặc tối xuyên suốt mã hình là bằng chứng nhìn thấy bằng mắt rõ ràng ở nơi chúng đi ngang qua mẫu tìm kiếm hoặc vùng trống. Phải sửa các lỗi có hệ thống như vậy trong quá trình in.

M.4. Đánh giá độ dãn khi in

Có thể sử dụng thiết bị kiểm tra mã vạch một chiều có khả năng cung cấp các phép đo trực tiếp các mẫu vạch và khoảng trống để đánh giá độ lợi hoặc độ mất mát khi in theo cả trục hoành và trục tung, bằng cách đo dọc theo hai đường quét ở các góc phải đi qua mẫu tìm kiếm và cắt khối môđun trung tâm 3 x 3. Phân tích đầu ra có thể tìm thấy mẫu vạch/khoảng trống/vạch/khoảng trống/vạch; có thể đánh giá độ lợi (hoặc độ mất mát) khi in bằng cách so sánh năm độ rộng của yếu tố đo được với tỷ lệ độ rộng chuẩn 1 : 1 : 3 : 1 : 1.

 

Phụ lục N

(tham khảo)

Những đặc điểm của mã hình Model 1

N.1. Mã hình QR code Model 1

Model 1 của QR code, như quy định trong AIM ISS 97-001, là dạng mã hình được sử dụng đầu tiên cho một số ứng dụng thuộc hệ thống đóng hoặc hệ thống trước đây, nhưng không được khuyến khích sử dụng cho các ứng dụng thuộc hệ thống mở hay hệ thống mới, và không phù hợp cho các ứng dụng mà dung lượng dữ liệu có vẻ nhiều. Về mọi mặt, nó tuân theo những quy định kĩ thuật giống như QR code 2005 nhưng khác ở một số khía cạnh quan trọng như được nêu chi tiết trong phụ lục này.

N.1.1. Những đặc điểm tổng quát của Model 1

a) Kích thước mã hình (không bao gồm vùng trống)

Từ 21 x 21 môđun đến 73 x 73 môđun (cỡ hình 1 đến cỡ hình 14, mỗi bậc tăng lên 4 môđun ở mỗi chiều)

b) Dung lượng dữ liệu tối đa (đối với kích thước mã hình lớn nhất với mức sửa lỗi thấp nhất, cỡ hình 14-L)

– dữ liệu kiểu số: 1 167 ký tự

– dữ liệu kiểu chữ số: 707 ký tự

– dữ liệu kiểu byte: 486 ký tự

– dữ liệu kiểu Kanji: 299 ký tự

c) Cấu trúc và các đặc điểm của mã hình so sánh với QR code 2005:

 mẫu căn chuẩn: mã hình Model 1 không có mẫu căn chuẩn

 mẫu mở rộng: mã hình Model 1 có mẫu m rộng ở bên dưới phía phải

– thông tin cỡ hình: mã hình Model 1 không có thông tin cỡ hình

– sự sắp xếp ký tự mã hình: như đã nói ở trên, việc sắp xếp ký tự mã hình tuân theo các qui tắc khác nhau

– mã hình Model 1 không hỗ trợ giao thức ECI

– mã hình Model 1 không hỗ trợ hình ảnh phản chiếu

– mã hình Model 1 không hỗ trợ sự đảo chiều của hệ số phản xạ

d) Sửa lỗi: Từ mã phát hiện và sửa lỗi được tính giống như ở QR code 2005 nhưng số lượng và kích thước của khối sửa lỗi cho mỗi cỡ hình là khác nhau. Dữ liệu và các khối từ mã sửa lỗi không phải là chủ điểm của việc chèn thêm.

Hình N.1 dưới đây minh họa cấu trúc của mã hình QR code Model 1 cỡ 7.

Hình N.1 – Cấu trúc mã hình QR code Model 1

N.1.2. Cỡ hình và kích thước của mã hình

Chỉ có 14 kích thước đối với mã hình Model 1, từ cỡ hình 1 đến cỡ hình 14, những kích thước này giống với những kích thước của mã hình Model 2 với cùng số cỡ hình, như nêu ở 5.3.1. Do đó, các mã hình cỡ 1 có kích thước là 21 x 21 môđun và mã hình cỡ 14 có kích thước là 73 x 73 môđun. Bảng N.1 cho biết dung lượng dữ liệu của tất cả mã hình Model 1 ở các mức sửa lỗi khác nhau.

Bảng N.1 – Dung lượng dữ liệu của tất cả cỡ hình QR code Model 1

C hình

Số lượng môđun/ cnh (A)

Các môđun mẫu chức năng (B)

Các môđun thông tin dạng (C)

Các môđun dữ liệu loại tr (C)

(D= A2-B-C)

Dung lượng dữ liệu [từ mã]*

(E)

1

21

206

31

204

26

2

25

230

31

364

46

3

29

238

31

572

72

4

33

262

31

796

100

5

37

270

31

1 068

134

6

41

294

31

1 356

170

7

45

302

31

1 692

212

8

49

326

31

2 044

256

9

53

334

31

2 444

306

10

57

358

31

2 860

358

11

61

366

31

3 324

416

12

65

390

31

3 804

476

13

69

398

31

4 332

542

14

73

422

31

4 876

610

CHÚ THÍCH Từ mã đầu tiên có độ dài 4 bit. Tất cả những từ mã sau dài 8 bit. Từ mã đầu tiên, 4 bit, từ mã dữ liệu sẽ được thêm vào ở đằng trước các số 0000 làm cho nó dài 8 bit để tạo ra các từ mã sửa lỗi.

N.2. Các quy định kỹ thuật chi tiết

Tham khảo AIM ISS 97-001 để có được thông tin đầy đủ về việc đọc và in mã hình model 1.

 

THƯ MỤC TÀI LIỆU THAM KHẢO

[1] TCVN 7626 (ISO/IEC 15416) Công nghệ thông tin – Kỹ thuật phân định và thu nhận dữ liệu tự động – Yêu cầu kỹ thuật đối với kiểm tra chất lượng in mã vạch – Mã vạch một chiều

[2] TCVN 6755 (ISO/IEC 15417) Công nghệ thông tin – Kỹ thuật phân định và thu nhận dữ liệu tự động – Yêu cầu kỹ thuật về mã vạch GS1-128

[3] ISO/IEC 646, Information technology – ISO 7-bit coded character set for information interchange (Công nghệ thông tin – Bộ ký tự mã hóa theo ISO 7-bit cho trao đổi thông tin)

[4] ISO/IEC 8859-2:1999, Information technology – 8-bit single-byte coded graphic character sets – Part 2: Latin alphabet No.2 (Công nghệ thông tin – Các bộ ký tự đồ họa mã hóa byte đơn 8-bit – Phần 2: Chữ cái latinh số 2)

[5] ISO/IEC 8859-3:1999, Information technology – 8-bit single-byte coded graphic character sets – Part 3: Latin alphabet No.3 (Công nghệ thông tin – Các bộ ký tự đồ họa mã hóa byte đơn 8-bit – Phần 3: Chữ cái latinh số 3)

[6] ISO/IEC 8859-4:1999, Information technology – 8-bit single-byte coded graphic character sets – Part 4: Latin alphabet No.4 (Công nghệ thông tin – Các bộ ký tự đồ họa mã hóa byte đơn 8-bit – Phần 4: Chữ cái latinh số 4)

[7] ISO/IEC 8859-5:1999, Information technology – 8-bit single-byte coded graphic character sets – Part 5: Latin/ Cyrillic alphabet (Công nghệ thông tin – Các bộ ký tự đồ họa mã hóa byte đơn 8-bit – Phần 5: Chữ cái latinh/ kirin)

[8] ISO/IEC 8859-6:1999, Information technology – 8-bit single-byte coded graphic character sets – Part 6: Latin/ Arabic alphabet (Công nghệ thông tin – Các bộ ký tự đồ họa mã hóa byte đơn 8-bit – Phần 6: Chữ cái latinh/ A-rập )

[9] ISO/IEC 8859-7:2003, Information technology – 8-bit single-byte coded graphic character sets – Part 7: Latin/ Greek alphabet (Công nghệ thông tin – Các bộ ký tự đ họa mã hóa byte đơn 8-bit – Phần 8: Chữ cái latinh/ Hy lạp)

[10] ISO/IEC 8859-8:1999, Information technology – 8-bit single-byte coded graphic character sets – Part 8: Latin/ Hebrew alphabet (Công nghệ thông tin – Các bộ ký tự đồ họa mã hóa byte đơn 8-bit – Phần 8: Chữ cái latinh/ Do Thái)

[11] ISO/IEC 8859-9:1999, Information technology – 8-bit single-byte coded graphic character sets – Part 9: Latin alphabet No.5 (Công nghệ thông tin – Các bộ ký tự đồ họa mã hóa byte đơn 8-bit – Phần 9: Chữ cái latinh số 5)

[12] ISO/IEC 8859-10:1998, lnformation technology – 8-bit single-byte coded graphic character sets – Part 10: Latin alphabet No.6 (Công nghệ thông tin – Các bộ ký tự đồ họa mã hóa byte đơn 8-bit – Phần 2: Chữ cái latinh số 6)

[13] ISO/IEC 8859-11:2001, Information technology – 8-bit single-byte coded graphic character sets – Part 11: Latin/ Thai alphabet (Công nghệ thông tin – Các bộ ký tự đồ họa mã hóa byte đơn 8-bit – Phần 2: Chữ cái latinh/Thái)

[14] ISO/IEC 8859-13:1998, lnformation technology – 8-bit single-byte coded graphic character sets – Part 13: Latin alphabet No.7 (Công nghệ thông tin – Các bộ ký tự đồ họa mã hóa byte đơn 8-bit – Phần 13: Chữ cái latinh số 7)

[15] ISO/IEC 8859-14:1998, lnformation technology – 8-bit single-byte coded graphic character sets – Part 14: Latin alphabet No.8 (Celtic) (Công nghệ thông tin – Các bộ ký tự đồ họa mã hóa byte đơn 8-bit – Phần 14: Chữ cái latinh số 8)

[16] ISO/IEC 8859-15:1999, Information technology – 8-bit single-byte coded graphic character sets – Part 15: Latin alphabet No.9 (Công nghệ thông tin – Các bộ ký tự đồ họa mã hóa byte đơn 8-bit – Phần 2: Chữ cái latinh số 9)

[17] ISO/IEC 8859-16:2001, Information technology – 8-bit single-byte coded graphic character sets – Part 16: Latin alphabet No. 10 (Công nghệ thông tin – Các bộ ký tự đồ họa mã hóa byte đơn 8-bit – Phần 16: Chữ cái latinh số 10).

 

MỤC LỤC

Lời nói đầu

Lời giới thiệu

1. Phạm vi áp dụng

2. Tính phù hợp

3. Tiêu chuẩn viện dẫn

4. Thuật ngữ và định nghĩa, ký hiệu toán học và lôgic, chữ viết tắt và quy ước

4.1. Thuật ngữ và định nghĩa

4.2. Ký hiệu toán học và lôgic

4.3. Chữ viết tắt

4.4. Các quy ước

5. Mô t mã hình

5.1. Những đặc trưng cơ bản

5.2. Tóm tắt các đặc tính bổ sung

5.3. Cấu trúc mã hình

5.3.1. Cỡ hình và kích thước mã hình

5.3.2. Mu tìm kiếm

5.3.3. Dấu phân cách

5.3.4. Mẫu căn chỉnh

5.3.5. Mẫu căn chuẩn

5.3.6. Vùng mã hóa

5.3.7. Vùng trống

6. Yêu cầu kỹ thuật

6.1. Khái quát về quá trình mã hóa

6.2. Phân tích dữ liệu

6.3. Các mode

6.3.1. Mode phương thức dịch kênh mở rộng (ECI)

6.3.2. Mode số

6.3.3. Mode chữ số

6.3.4. Mode byte

6.3.5. Mode Kanji

6.3.6. Các mode hỗn hợp

6.3.7. Mode kết nối có cấu trúc

6.3.8. Mode FNC 1

6.4. Mã hóa dữ liệu

6.4.1. Chuỗi dữ liệu

6.4.2. Mode phương thức dịch kênh mở rộng (ECI)

6.4.3. Mode số

6.4.4. Mode chữ số

6.4.5. Mode byte

6.4.6. Mode Kanji

6.4.7. Các mode hỗn hợp

6.4.8. Mode FNC 1

6.4.9. Dấu kết thúc

6.4.10. Chuyển đổi dòng bit thành từ mã

6.5. Sửa lỗi

6.5.1. Dung lượng sửa lỗi

6.5.2. Tạo từ mã sửa lỗi

6.6. Thiết lập chuỗi từ mã gói tin cui cùng

6.7.Sắp xếp từ mã trong ma trận

6.7.1. Trình bày ký tự trong mã hình

6.7.2. Sắp xếp mẫu chức năng

6.7.3. Sắp xếp ký tự trong mã hình

6.8. Áp mặt nạ

6.8.1. Mẫu mặt nạ dữ liệu

6.8.2. Đánh giá kết quả áp mặt nạ dữ liệu

6.9. Thông tin định dạng

6.9.1. Mã hình QR code

6.9.2. Mã hình Micro QR code

6.10. Thông tin cỡ hình

7. Kết nối có cấu trúc

7.1. Những nguyên tắc cơ bản

7.2. Chỉ báo chuỗi mã hình

7.3. Dữ liệu chẵn lẻ

8. Đánh dấu và in mã hình

8.1. Kích thước

8.2. Diễn giải cho người đọc

8.3. Hướng dẫn tạo mã

9. Chất lượng mã hình

9.1. Phương pháp

9.2. Các thông số về chất lượng mã hình

9.2.1. Sự hư hại của mẫu cố định

9.2.2. Cấp tổng thể của mã hình và cấp độ quét

9.2.3. Sự không đồng nhất của lưới

9.3. Các phép đo kiểm soát quá trình

10. Khái quát về quy trình giải mã

11. Thuật toán giải mã tham chiếu đối với QR code 2005

12. Khả năng phân biệt tự động

13. Dữ liệu được chuyển giao

13.1. Các nguyên tắc chung

13.2. Số phân định mã hình

13.3. Các phương thức dịch kênh mở rộng (ECI)

13.4. FNC1

Phụ lục A (quy định)

Phụ lục B (quy định)

Phụ lục C (quy định)

Phụ lục D (quy định)

Phụ lục E (quy định)

Phụ lục F (quy định)

Phụ lục G (quy định)

Phụ lục H (tham khảo)

Phụ lục I (tham khảo)

Phụ lục J (tham khảo)

Phụ lục K (tham khảo)

Phụ lục L (tham khảo)

Phụ lục M (tham khảo)

Phụ lục N (tham khảo)

Thư mục tài liệu tham khảo

TIÊU CHUẨN QUỐC GIA TCVN 7322:2009 (ISO/IEC 18004:2006) VỀ CÔNG NGHỆ THÔNG TIN – KỸ THUẬT PHÂN ĐỊNH VÀ THU NHẬN DỮ LIỆU TỰ ĐỘNG – YÊU CẦU KỸ THUẬT ĐỐI VỚI MÃ HÌNH QR CODE 2005
Số, ký hiệu văn bản TCVN7322:2009 Ngày hiệu lực
Loại văn bản Tiêu chuẩn Việt Nam Ngày đăng công báo
Lĩnh vực Lĩnh vực khác
Ngày ban hành
Cơ quan ban hành Tình trạng Còn hiệu lực

Các văn bản liên kết

Văn bản được hướng dẫn Văn bản hướng dẫn
Văn bản được hợp nhất Văn bản hợp nhất
Văn bản bị sửa đổi, bổ sung Văn bản sửa đổi, bổ sung
Văn bản bị đính chính Văn bản đính chính
Văn bản bị thay thế Văn bản thay thế
Văn bản được dẫn chiếu Văn bản căn cứ

Tải văn bản