TIÊU CHUẨN QUỐC GIA TCVN 7825:2019 (ISO/IEC 15420:2009) VỀ CÔNG NGHỆ THÔNG TIN – KỸ THUẬT PHÂN ĐỊNH VÀ THU THẬP DỮ LIỆU TỰ ĐỘNG – YÊU CẦU KỸ THUẬT MÃ VẠCH EAN/UPC

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

TIÊU CHUẨN QUỐC GIA

TCVN 7825:2019

ISO/IEC 15420:2009

CÔNG NGHỆ THÔNG TIN – KĨ THUẬT PHÂN ĐỊNH VÀ THU THẬP DỮ LIỆU TỰ ĐỘNG – YÊU CẦU KỸ THUẬT MÃ VẠCH EAN/UPC

Information technology – Automatic identification and data capture techniques – EAN/UPC bar code symbology specification

Lời nói đầu

TCVN 7825:2019 thay thế TCVN 7825:2007.

TCVN 7825:2019 hoàn toàn tương đương ISO/IEC 15420:2009.

TCVN 7825:2019 do Tiểu Ban kĩ thuật Tiêu chuẩn TCVN/JTC1/SC31 “Thu thập 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ông nghệ mã vạch dựa trên việc nhận dạng các dấu hiệu mã hóa dưới dạng vạch và khoảng trống có các kích thước xác định. Có nhiều phương pháp mã hóa thông tin dưới dạng mã vạch, gọi là mã hóa bằng vạch. EAN/UPC là một loại mã vạch. Các quy tắc xác định việc chuyển các kí tự thành các dấu hiệu vạch và khoảng trống, và các đặc trưng quan trọng khác của mỗi mã vạch gọi là quy định kỹ thuật của mã vạch này.

Tiêu chuẩn này làm tài liệu tham chiếu quy định trong bộ tài liệu “quy định kĩ thuật chung của GS1”. GS1 quản lý hệ thống mã số để đảm bảo các mã phân định được cấp cho từng vật phẩm cụ thể là đơn nhất trên toàn cầu và được xác định theo một cách nhất quán. Lợi ích chủ yếu đối với người sử dụng hệ thống GS1 là có sẵn mã phân định đơn nhất để dùng trong các giao dịch thương mại của họ. Xem Phụ lục C để có toàn cảnh của hệ thống GS1.

CHÚ THÍCH  GS1 là một hiệp hội toàn cầu hợp nhất hai tổ chức trước đây có tên là EAN quốc tế và Hội đồng mã thống nhất (UCC – Uniform Code Council).

Các nhà sản xuất thiết bị mã vạch và người dùng công nghệ mã vạch yêu cầu có các quy định kĩ thuật mã vạch được tiêu chuẩn hóa và phát hành rộng rãi để họ có thể tham chiếu khi thiết kế thiết bị và phần mềm.

 

CÔNG NGHỆ THÔNG TIN – KĨ THUẬT PHÂN ĐỊNH VÀ THU THẬP DỮ LIỆU TỰ ĐỘNG – YÊU CẦU KỸ THUẬT MÃ VẠCH EAN/UPC

Information technology – Automatic identification and data capture techniques – EAN/UPC 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ã vạch EAN/UPC. Tiêu chuẩn này quy định các đặc tính mã vạch EAN/UPC, mã hóa kí tự dữ liệu, kích thước, dung sai, thuật toán giải mã và các thông số sẽ được xác định bởi ứng dụng. Tiêu chuẩn này quy định các chuỗi tiền tố phân định mã vạch cho mã vạch EAN/UPC.

Nội dung dữ liệu và các quy tắc quản lý sử dụng mã vạch không thuộc phạm vi tiêu chuẩn này mà được quy định trong tài liệu Quy định kĩ thuật chung của GS1 (xem phần thư mục).

2  Tài liệu viện dẫn

Các tài liệu viện dẫn sau rất 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 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 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, bổ sung (nếu có).

TCVN 7626:2019 (ISO/IEC 15416:2016), 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.

TCVN 8656-1:2010 (ISO/IEC 19762-1:2008), Công nghệ thông tin – Kĩ thuật phân định và thu nhận dữ liệu tự động (AIDC) – Thuật ngữ hài hòa – Phần 1: Thuật ngữ liên quan đến AIDC.

TCVN 8656-2:2011 (ISO/IEC 19762-2:2008), Công nghệ thông tin – Kĩ thuật phân định và thu nhận dữ liệu tự động (AIDC) – Thuật ngữ hài hòa – Phần 2: Phương tiện đọc quang học.

ISO/IEC 646:1991, Information technology – ISO 7-bit coded character set for information interchange (Công nghệ thông tin – Bộ kí tự mã hóa ISO 7-bit dành cho trao đổi thông tin).

3  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 sau đây:

3.1

Mã vạch phụ (add-on symbol)

Mã vạch dùng để mã hóa các thông tin phụ thêm vào thông tin trong mã chính mà nó đi cùng.

3.2

Dấu hiệu phụ (auxiliary pattern)

Dấu hiệu gồm vạch và khoảng trống thể hiện các thành phần không mang dữ liệu của mã vạch.

VÍ DỤ  các dấu hiệu cảnh báo và các dấu phân cách giữa các kí tự.

3.3

Dấu phân cách (delineator)

Dấu hiệu phụ dùng để tách các kí tự trong một mã vạch phụ.

3.4

Trạng thái chẵn (even parity)

Một đặc tính của mã hóa kí tự mã vạch, trong đó kí tự này chứa một số chẵn các mô đun tối.

3.5

Tổ chức thành viên GS1 (GS1 member organisation)

Cơ quan chịu trách nhiệm quản lý hệ thống GS1 và duy trì ngân hàng mã số trong một lãnh thổ xác định.

3.6

Hệ thống GS1 (GS1 system)

Các quy định kĩ thuật, các tiêu chuẩn và hướng dẫn do tổ chức GS1 quản trị.

3.7

Mã toàn cầu phân định thương phẩm GTIN (Global Trade Item Number)

Mã số được dùng để phân định đơn nhất thương phẩm trên toàn cầu và độ dài kí tự có thể bao gồm từ 8, 12, 13 hay 14 kí tự số.

3.8

Dấu hiệu cảnh báo (guard pattern)

Một dấu hiệu phụ gồm các vạch và khoảng trống tương ứng với dấu hiệu bắt đầu hoặc kết thúc trong các mã vạch khác, hoặc dùng để ngăn cách hai nửa của một mã vạch.

3.9

Hệ số phóng đại (magnification factor)

Một hệ số nhân không đổi của các kích thước danh nghĩa của một mã vạch EAN/UPC.

3.10

Bộ số (number set)

Một dãy 10 dấu hiệu các vạch và khoảng trống của trạng thái chẵn hoặc lẻ mã hóa các chữ số từ 0 đến 9.

3.11

Trạng thái l (odd parity)

Một đặc tính của mã hóa kí tự mã vạch, trong đó kí tự này chứa một số lẻ các mô đun tối.

3.12

Mã hóa trạng thái biến đổi (variable parity encodation)

Quá trình mã hóa thông tin phụ trong một họ các kí tự mã vạch bằng cách kết hợp các kí tự trạng thái lẻ và chẵn để mã hóa hoàn toàn các chữ số hoặc để kiểm tra.

3.13

Nén số không (zero-suppression)

Quá trình bỏ các số không khỏi những vị trí riêng trong chuỗi dữ liệu GTIN-12 để mã hóa chúng ở định dạng UPC-E.

4  Yêu cầu chung

4.1  Các đặc trưng của mã vạch

Các đặc trưng của EAN/UPC là:

  1. a) Bộ kí tự mã hóa: chữ số (0 đến 9) tức là các kí tự ASCII từ 48 đến 57 theo ISO 646:
  2. b) Loại mã vạch: liên tục;
  3. c) Số yếu tố cho mỗi kí tự mã vạch: 4, bao gồm 2 vạch và 2 khoảng trống, mỗi vạch hay khoảng trống rộng 1, 2, 3 hoặc 4 mô đun (các dấu hiệu phụ có số yếu tố khác đi);
  4. d) Kí tự tự kiểm tra: có;
  5. e) Chiều dài chuỗi dữ liệu mã hóa: cố định (8, 12 hoặc 13 kí tự gồm cả số kiểm tra tùy theo từng loại mã vạch);
  6. f) Giải mã theo nhiều hướng: có;
  7. g) Số kiểm tra mã vạch: một, bắt buộc (xem A.1);
  8. h) Mật độ kí tự mã vạch: 7 mô đun cho một kí tự mã vạch;
  9. i) Số yếu tố không dữ liệu, không gồm số kiểm tra hay các vùng trống:

– 11 mô đun đối với mã vạch EAN-13, EAN-8 và UPC-A;

– 9 mô đun đối với mã vạch UPC-E.

4.2  Cấu trúc mã vạch

4.2.1  Loại mã vạch

Có 4 loại mã vạch EAN/UPC đó là:

– EAN-13, UPC-A và UPC-E, tất cả các loại này có thể đi cùng với mã vạch phụ;

– EAN-8.

Bốn loại mã vạch trên được mô tả trong điều 4.2.3.1 đến 4.2.3.4 và các mã vạch phụ tùy chọn được mô tả trong điều 4.2.3.5.

4.2.2  Mã hóa mã vạch

4.2.2.1  Kí tự mã vạch

Các kí tự mã vạch phải mã hóa các giá trị chữ số bằng các kí tự 7 mô đun được lựa chọn từ các bộ số khác nhau A, B, và C, như cho trong Bảng 1:

Bảng 1 – Các bộ chữ số A, B và C

Giá trị chữ số Bộ A các chiều rộng yếu tố Bộ B các chiều rộng yếu tố Bộ C các chiều rộng yếu tố
  S B S B S B S B B S B S
0 3 2 1 1 1 1 2 3 3 2 1 1
1 2 2 2 1 1 2 2 2 2 2 2 1
2 2 1 2 2 2 2 1 2 2 1 2 2
3 1 4 1 1 1 1 4 1 1 4 1 1
4 1 1 3 2 2 3 1 1 1 1 3 2
5 1 2 3 1 1 3 2 1 1 2 3 1
6 1 1 1 4 4 1 1 1 1 1 1 4
7 1 3 1 2 2 1 3 1 1 3 1 2
8 1 2 1 3 3 1 2 1 1 2 1 3
9 3 1 1 2 2 1 1 3 3 1 1 2
CHÚ THÍCH  S chỉ khoảng trống (sáng), B chỉ vạch (tối), và các chiều rộng yếu tố tính theo mô đun.

Phụ lục D minh họa Bảng 1 bằng hình vẽ. Tổng số mô đun của vạch trong mỗi kí tự mã vạch quyết định trạng thái của nó. Các kí tự mã vạch trong bộ số A là các kí tự trạng thái lẻ. Các kí tự mã vạch trong bộ số B và C là các kí tự trạng thái chẵn. Các kí tự của bộ số C là phản chiếu gương của các kí tự bộ số B.

Các kí tự mã vạch trong bộ số A và B luôn luôn bắt đầu ở bên trái bằng một mô đun sáng và kết thúc ở bên phải bằng một mô đun tối. Các kí tự mã vạch trong bộ số C bắt đầu ở bên trái bằng một mô đun tối và kết thúc ở bên phải bằng một mô đun sáng.

Một kí tự dữ liệu thông thường phải được thể hiện bằng một kí tự mã vạch. Nhưng trong những trường hợp riêng xác định dưới đây (xem điều 4.2.3.1, 4.2.3.4, 4.2.3.5) tổ hợp các bộ số trong một mã vạch có thể tự thể hiện hoặc là dữ liệu hoặc là giá trị kiểm tra. Kĩ thuật này được gọi là mã hóa trạng thái biến đổi.

4.2.2.2  Mã hóa dấu hiệu phụ

Các dấu hiệu phụ phải được tổ hợp như nêu trong Bảng 2.

Bảng 2 – Các dấu hiệu phụ

Dấu hiệu phụ Số mô đun Chiều rộng yếu tố tính theo mô đun
S B S B S B
Dấu hiệu cảnh báo thường 3   1 1 1    
Dấu hiệu cảnh báo trung tâm 5 1 1 1 1 1  
Dấu hiệu cảnh báo đặc biệt 6 1 1 1 1 1 1
Dấu hiệu cảnh báo phụ 4   1 1 2    
Dấu ngăn cách phụ 2 1 1        
CHÚ THÍCH  S chỉ yếu tố khoảng trống (sáng), B chỉ yếu tố vạch (tối).

Phụ lục D minh họa các dấu hiệu này bằng hình vẽ.

Dấu hiệu cảnh báo thường tương ứng với các dấu hiệu bắt đầu và kết thúc trong các mã vạch khác. Dấu hiệu cảnh báo đặc biệt được dùng làm dấu hiệu kết thúc trong mã vạch UPC-E.

4.2.3  Định dạng mã vạch

4.2.3.1  Mã vạch EAN-13

Mã vạch EAN-13 có cấu tạo như dưới đây, tính từ trái sang phải:

– vùng trống bên trái;

– dấu hiệu cảnh báo thường;

– 6 kí tự mã vạch từ bộ số A và B phù hợp với Bảng 3;

– dấu hiệu cảnh báo trung tâm;

– 6 kí tự mã vạch từ bộ số C;

– dấu hiệu cảnh báo thường;

– vùng trống bên phải.

Kí tự mã vạch tận cùng bên phải mã hóa số kiểm tra được tính theo Phụ lục A.1.

Vì mã vạch EAN-13 chỉ chứa 12 kí tự mã vạch nhưng mã hóa 13 chữ số về dữ liệu (bao gồm cả số kiểm tra), nên giá trị của chữ số phụ, tức là kí tự ở tận cùng bên trái của chuỗi dữ liệu, phải được mã hóa bằng việc trộn trạng thái khác nhau của bộ số A và B cho 6 kí tự mã vạch của nửa bên trái mã vạch. Hệ thống mã hóa cho các giá trị của chữ số đứng đầu được quy định trong Bảng 3. Hình 1 là một ví dụ của mã vạch EAN-13.

CHÚ THÍCH  Các dấu hiệu vạch UPC-A (xem Điều 4.2.3.3) là bộ con của EAN-13, mặc dù có yêu cầu về thông tin người có thể đọc được, bố cục mã vạch và vùng trống.

Bảng 3 – Nửa bên trái của mã vạch EAN-13

Chữ số đầu tiên được mã hóa một cách ngầm định Các bộ chữ số để mã hóa nửa bên trái của mã vạch EAN-13
Vị trí kí tự mã vạch
1 2 3 4 5 6
1 A A B A B B
2 A A B B A B
3 A A B B B A
4 A B A A B B
5 A B B A A B
6 A B B B A A
7 A B A B A B
8 A B A B B A
9 A B B A B A

CHÚ THÍCH  Các chuỗi 13 kí tự số được in trong EAN-13 bắt đầu với một số từ 1 đến 9, các chuỗi 13 kí tự số bắt đầu bằng số 0 (ví dụ GTIN-12) được in bằng việc sử dụng UPC-A hay UPC-E.

Hình 1 – Mã vạch EAN-13

4.2.3.2  Mã vạch EAN-8

Mã vạch EAN-8 có cấu tạo như dưới đây, tính từ trái sang phải:

– vùng trống bên trái;

– dấu hiệu cảnh báo thường;

– 4 kí tự mã vạch từ bộ số A;

– dấu hiệu cảnh báo trung tâm;

– 4 kí tự mã vạch từ bộ số C;

– dấu hiệu cảnh báo thường;

– vùng trống bên phải.

Kí tự mã vạch tận cùng bên phải mã hóa số kiểm tra được tính theo Phụ lục A.1. Hình 2 cho thấy một ví dụ mã vạch EAN-8.

Hình 2 – Mã vạch EAN-8

4.2.3.3  Mã vạch UPC-A

Mã vạch UPC-A có cấu tạo như dưới đây, tính từ trái sang phải:

– vùng trống bên trái;

– dấu hiệu cảnh báo thường;

– 6 kí tự mã vạch từ bộ số A;

– dấu hiệu cảnh báo trung tâm;

– 6 kí tự mã vạch từ bộ số C;

– dấu hiệu cảnh báo thường;

– vùng trống bên phải.

Kí tự mã vạch tận cùng bên phải mã hóa số kiểm tra được tính theo Phụ lục A.1. Hình 3 cho thấy ví dụ về một mã vạch UPC-A.

Mã vạch UPC-A mã hóa ngầm chữ số không (0) ở đằng trước cấu trúc dữ liệu GTIN-12.

Hình 3 – Mã vạch UPC-A

4.2.3.4  Mã vạch UPC-E

4.2.3.4.1  Cấu trúc mã vạch UPC-E

Mã vạch UPC-E có cấu tạo như dưới đây, tính từ trái sang phải:

– vùng trống bên trái;

– dấu hiệu cảnh báo thường;

– 6 kí tự mã vạch từ bộ số A và B theo Bảng 4;

– dấu hiệu cảnh báo đặc biệt;

– vùng trống bên phải.

Mã vạch UPC-E chỉ có thể sử dụng để mã hóa cấu trúc dữ liệu GTIN-12 với số đầu tiên là số không và chứa bốn hoặc năm số không tiếp theo tại những vị trí xác định, như cho trong Bảng 5. Những số không này được loại bỏ khỏi dữ liệu khi mã hóa bằng phương pháp nén số không mô tả trong 4.2.3.4.2. Hình 4 cho thấy một ví dụ mã vạch UPC-E.

Hình 4 – Mã vạch UPC-E (mã hóa “0 07834 00009 1” bằng cách nén số không). Mã vạch UPC-E mã hóa ngầm chữ số không (0) ở đằng trước cấu trúc dữ liệu GTIN-12.

4.2.3.4.2  Mã hóa mã vạch UPC-E

Thuật toán dưới đây mô tả việc mã hóa một chuỗi dữ liệu phù hợp với nén số không:

1) Giả sử D1, D2, D3….D12 biểu thị các kí tự dữ liệu GTIN-12 (bao gồm cả số kiểm tra). D1 phải luôn luôn bằng 0. D12 phải là số kiểm tra mã vạch tính theo thuật toán trong Phụ lục A.1. Giả sử X1, X2, …X6 biểu thị sáu kí tự mã vạch trong mã vạch UPC-E cuối cùng.

2) Chuyển đổi D2 đến D11 thành một chuỗi kí tự mã vạch bằng cách loại bỏ những số không theo các quy tắc như sau:

  1. a) Nếu D11 bằng 5, 6, 7, 8 hoặc 9

D7 đến D10 tất cả đều bằng 0

D6 khác 0

thì D7 đến D10 không được mã hóa.

Kí tự mã vạch: X1 X2 X3 X4 X5 X6
Kí tự dữ liệu: D2 D3 D4 D5 D6 D11
  1. b) Nếu D6 đến D10 đều bằng 0

D5 khác 0

thì D6 đến D10 không được mã hóa và X6 = 4.

Kí tự mã vạch: X1 X2 X3 X4 X5 X6
Kí tự dữ liệu: D2 D3 D4 D5 D11 4
  1. c) Nếu D4 bằng 0, 1 hoặc 2

D5 đến D8 đều bằng 0

thì D5 đến D8 không được mã hóa.

Kí tự mã vạch: X1 X2 X3 X4 X5 X6
Kí tự dữ liệu: D2 D3 D9 D10 D11 D4
  1. d) Nếu D4 bằng 3, 4, 5, 6, 7, 8 hoặc 9

D5 đến D9 đều bằng 0

thì D5 đến D9 không được mã hóa và X6 = 3.

Kí tự mã vạch: X1 X2 X3 X4 X5 X6
Kí tự dữ liệu: D2 D3 D4 D10 D11 3

3) Việc quyết định các bộ số để mã hóa ngầm định D12 theo bảng 4.

4) Mã hóa các kí tự mã vạch X1 đến X6 bằng cách dùng các bộ số A và B như quy định trong bước 3.

Bảng 4 – Các bộ số cho mã vạch UPC-E

Giá trị của chữ số kiểm tra D12 Các bộ số dùng để mã hóa mã vạch UPC-E
Vị trí kí tự mã vạch
1 2 3 4 5 6
0 B B B A A A
1 B B A B A A
2 B B A A B A
3 B B A A A B
4 B A B B A A
5 B A A B B A
6 B A A A B B
7 B A B A B A
8 B A B A A B
9 B A A B A B

VÍ DỤ 1:

Dữ liệu ban đầu Sau khi nén số không Quy tắc
0 1 2 3 4 5 0 0 0 0 5 8 1 2 3 4 5 5 2a
Các bộ số để mã hóa số kiểm tra 8 B A B A A B  

VÍ DỤ 2:

Dữ liệu ban đầu Sau khi nén số không Quy tắc
0 4 5 6 7 0 0 0 0 0 8 0 4 5 6 7 8 4 2b
Các bộ số để mã hóa số kiểm tra 0 B B B A A A  

VÍ DỤ 3:

Dữ liệu ban đầu Sau khi nén số không Quy tắc
0 3 4 0 0 0 0 0 5 6 7 3 3 4 5 6 7 9 2c
Các bộ số để mã hóa số kiểm tra 3 B B A A A B  

VÍ DỤ 4:

Dữ liệu ban đầu Sau khi nén số không Quy tắc
0 9 8 4 0 0 0 0 0 7 5 1 9 8 4 7 5 3 2d
Các bộ số để mã hóa số kiểm tra 3 B B A B A A  

CHÚ THÍCH  Các bộ số được dùng để mã hóa ngầm định số kiểm tra được cho thấy trong cột “sau khi nén số không”.

4.2.3.4.3  Giải mã mã vạch UPC-E

Độ lệch của cấu trúc dữ liệu 12 chữ số khỏi các kí tự mã hóa trong mã vạch UPC-E có thể được thực hiện theo Bảng 5, sử dụng chữ số tại vị trí P6 làm khóa.

Bảng 5 – Giải mã mã vạch UPC-E

Các chữ số được mã hóa trong vạch UPC-EA Chữ số được giải mãB
Số ở đầuC P1 P2 P3 P4 P5 P6 Số kiểm traD D1 D2 D3 D4 D5 D6 D7 D8 D9 D10 D11 D12
(0) X1 X2 X3 X4 X5 0 (C) (0) X1 X2 0 0 0 0 0 X3 X4 X5 (C)
(0) X1 X2 X3 X4 X5 1 (C) (0) X1 X2 1 0 0 0 0 X3 X4 X5 (C)
(0) X1 X2 X3 X4 X5 2 (C) (0) X1 X2 2 0 0 0 0 X3 X4 X5 (C)
(0) X1 X2 X3 X4 X5 3 (C) (0) X1 X2 X3 0 0 0 0 0 X4 X5 (C)
(0) X1 X2 X3 X4 X5 4 (C) (0) X1 X2 X3 X4 0 0 0 0 0 X5 (C)
(0) X1 X2 X3 X4 X5 5 (C) (0) X1 X2 X3 X4 X5 0 0 0 0 5 (C)
(0) X1 X2 X3 X4 X5 6 (C) (0) X1 X2 X3 X4 X5 0 0 0 0 6 (C)
(0) X1 X2 X3 X4 X5 7 (C) (0) X1 X2 X3 X4 X5 0 0 0 0 7 (C)
(0) X1 X2 X3 X4 X5 8 (C) (0) X1 X2 X3 X4 X5 0 0 0 0 8 (C)
(0) X1 X2 X3 X4 X5 9 (C) (0) X1 X2 X3 X4 X5 0 0 0 0 9 (C)
A Các kí tự mã vạch tại các vị trí P1, P2, …P5 của mã vạch UPC-E được thể hiện bằng X1, X2, …X5.
B Các chữ số không được chèn trở lại được chỉ ra ở dạng in đậm và gạch chân.
C Chữ số không đầu tiên của mã vạch UPC-E mà không được mã hóa trực tiếp, được chỉ ra là “(0)”.
D Chữ số kiểm tra của GTIN-12 được mã hóa ngầm định trong mã vạch UPC-E được chỉ ra là “(C)”.

4.2.3.5  Mã vạch phụ

4.2.3.5.1  Tổng quan

Các mã vạch phụ ban đầu đã được thiết kế để dùng cùng với mã vạch EAN/UPC trên các ấn phẩm nhiều kì và sách bìa mềm. Vì độ an toàn kém nên chúng chỉ được sử dụng giới hạn tại những nơi có quy tắc về quy định kĩ thuật áp dụng quản lý định dạng dữ liệu và nội dung đảm bảo an toàn thích hợp.

4.2.3.5.2  Mã vạch phụ 2 chữ số

Mã vạch phụ 2 chữ số có thể được dùng kèm với mã vạch EAN-13, UPC-A hoặc UPC-E. Mã vạch phụ được đặt tại vị trí tiếp sau vùng trống bên phải của mã vạch chính và có cấu tạo như sau:

– dấu hiệu cảnh báo phụ;

– chữ số đầu tiên của số phụ từ bộ số A hoặc B;

– dấu hiệu phân cách phụ;

– chữ số thứ hai của số phụ từ bộ số A hoặc B;

– vùng trống bên phải.

Mã vạch phụ không có dấu hiệu cảnh báo bên phải. Chúng không có số kiểm tra hiện rõ. Việc kiểm tra được thực hiện thông qua việc trộn các bộ số (A hoặc B) dùng cho 2 chữ số. Việc chọn các bộ số được kết nối với giá trị của số phụ được trình bày trong Bảng 6.

Bảng 6 – Các bộ số dành cho mã vạch phụ 2 chữ số

Giá trị của số phụ Chữ số bên trái Chữ số bên phải
Bội số của 4 (00, 04, 08,…96) A A
Bội số của 4+1 (01, 05,…97) A B
Bội số của 4+2 (02, 06, …98) B A
Bội số của 4+3 (03, 07,…99) B B

Hình 5 cho thấy một ví dụ mã vạch UPC-A cùng với mã vạch phụ 2 chữ số.

Hình 5 – Mã vạch UPC-A cùng với mã vạch phụ 2 chữ số

4.2.3.5.3  Mã vạch phụ 5 chữ số

Mã vạch phụ 5 chữ số có thể dùng kết hợp với các mã vạch EAN-13, UPC-A hoặc UPC-E. Mã vạch phụ được đặt tiếp theo vùng trống bên phải của mã vạch chính, và có cấu tạo như sau:

– dấu hiệu cảnh báo phụ;

– chữ số thứ nhất của mã số phụ từ bộ số A hoặc B;

– dấu hiệu phân cách phụ;

– chữ số thứ hai của mã số phụ từ bộ số A hoặc B;

– dấu hiệu phân cách phụ;

– chữ số thứ ba của mã số phụ từ bộ số A hoặc B;

– dấu hiệu phân cách phụ;

– chữ số thứ tư của mã số phụ từ bộ số A hoặc B;

– dấu hiệu phân cách phụ;

– chữ số thứ năm của mã số phụ từ bộ số A hoặc B;

– vùng trống bên phải.

Mã vạch phụ này không có dấu hiệu cảnh báo bên phải. Chúng không có số kiểm tra hiện rõ. Việc kiểm tra được thực hiện thông qua việc phối hợp các bộ số (A hoặc B) dùng cho 5 chữ số. Giá trị v được xác định bằng quy tắc sau:

1) tổng các chữ số ở vị trí 1, 3 và 5;

2) nhân kết quả của bước 1 với 3;

3) tổng các chữ số còn lại (vị trí 2 và 4);

4) nhân kết quả của bước 3 với 9;

5) tổng kết quả của bước 2 và 4;

6) giá trị của v là chữ số hàng đơn vị (số có thứ tự thấp nhất) của kết quả ở bước 5.

VÍ DỤ  Tính giá trị của v cho mã số phụ 86104:

Bước 1: 8 + 1 + 4 = 13

Bước 2: 13 x 3 = 39

Bước 3: 6 + 0 = 6

Bước 4: 6 x 9 = 54

Bước 5: 39 + 54 = 93

Bước 6: v = 3.

Sau đó các bộ số được xác định bằng cách sử dụng Bảng 7.

Bảng 7 – Các bộ số dành cho mã vạch phụ 5 chữ số

Giá trị của v Các bộ số dành cho các kí tự mã vạch
1 2 3 4 5
0 B B A A A
1 B A B A A
2 B A A B A
3 B A A A B
4 A B B A A
5 A A B B A
6 A A A B B
7 A B A B A
8 A B A A B
9 A A B A B

Ví dụ, vì v = 3 nên chuỗi bộ số dùng để mã hóa giá trị 86104 là B A A A B.

Hình 6 cho thấy ví dụ về một mã vạch EAN-13 với mã vạch phụ 5 chữ số.

Hình 6 – Mã vạch EAN-13 với mã vạch phụ 5 chữ số.

4.3  Kích thước và dung sai

4.3.1  Cơ sở của phép đo

Kích thước mã vạch EAN/UPC có thể được tham chiếu tới một bộ kích thước đã được xác định gọi là mã vạch cỡ danh định. Về mặt lịch sử, GS1 (xem Phụ lục C) đã quy định mã vạch kích thước danh định có kích thước tính bằng cả đơn vị inch và đơn vị đo lường, tương ứng kích thước X là 0,013 inch (0,3302 mm) và 0,33 mm. Việc chuyển đổi chính xác các kích thước theo đơn vị inch sang đơn vị đo lường khác nhau nhỏ hơn 0,1% từ các kích thước theo đơn vị đo lường danh định. Một trong hai đơn vị đo nêu trên, được áp dụng nhất quán cho tất cả các kích thước mã vạch, sẽ được chấp nhận theo mục đích của tiêu chuẩn này, mặc dù chỉ có các kích thước theo đơn vị đo lường sẽ được chỉ ra trong các mục sau đây và trong phụ lục E. Xem phụ lục E để thiết kế kích thước của mã vạch kích thước danh định.

4.3.2  Chiều rộng yếu tố hẹp (X)

Chiều rộng danh định của yếu tố hẹp trong mã vạch cỡ danh định phải bằng 0,33 mm.

4.3.3  Chiều cao vạch

Chiều cao danh định của vạch trong mã vạch cỡ danh định phải bằng:

– các mã vạch EAN-13, UPC-A và UPC-E: 22,85 mm;

– mã vạch EAN-8: 18,23 mm;

– mã vạch phụ: 21,9 mm.

Trong mã vạch EAN-13, EAN-8, UPC-A và UPC-E các vạch tạo thành các dấu hiệu cảnh báo bên trái, trung tâm và bên phải phải kéo dài xuống phía dưới là 5X, tức là 1,65 mm. Điều này cũng áp dụng đối với các vạch của kí tự mã vạch đầu tiên và cuối cùng của mã vạch UPC-A.

4.3.4  Vùng trống

Những kích thước vùng trống tối thiểu khác nhau, được quy định cho các loại mã vạch khác nhau, do kích cỡ và vị trí của các kí tự người đọc.

Chiều rộng tối thiểu của vùng trống:

– mã vạch EAN-13: bên trái, 11X; bên phải, 7X;

– mã vạch UPC-A: 9X;

– mã vạch UPC-E: bên trái, 9X; bên phải, 7X;

– mã vạch EAN-8: 7X;

– mã vạch phụ (tất cả): bên phải, 5X.

Một công cụ có ích giúp cho việc duy trì vùng trống trong một số quá trình sản xuất là đưa kí tự “nhỏ hơn” (<) và/hoặc “lớn hơn” (>) vào trường người đọc, chúng cần phải được đặt ngang với góc của vùng trống. Nếu công cụ này được sử dụng, (các) kí tự cần phải đặt theo thiết kế thích hợp trong Phụ lục E.

4.3.5  Vị trí mã vạch phụ

Mã vạch phụ không được xâm phạm vào vùng trống bên phải của mã vạch chính. Khoảng cách tối đa giữa vạch cảnh báo ngoài cùng bên phải của mã vạch chính và vạch đầu tiên của mã vạch phụ phải là 12X.

Đầu dưới của các vạch trong mã vạch phụ đặt ngang hàng với đầu dưới của các vạch cảnh báo của mã vạch chính.

4.3.6  Các chiều rộng của yếu tố

Chiều rộng của mỗi vạch và khoảng trống phải được xác định bởi bội số của kích thước X với chiều rộng tính bằng mô đun của mỗi vạch và khoảng trống (1, 2, 3 hoặc 4). Có một ngoại lệ đối với giá trị các chữ số 1, 2, 7 và 8. Đối với các kí tự này, các vạch và khoảng trống sẽ phải giảm đi hoặc tăng lên 1/13 mô đun, để nâng cao độ tin cậy khi quét. Điều này phải được thực hiện bằng cách giữ nguyên không đổi số đo từ một rìa đến rìa tương ứng và chiều rộng tổng cộng của kí tự mã vạch (xem ví dụ cho ở Phụ lục G.3).

Việc giảm hoặc tăng tính theo milimet của các vạch và khoảng trống cho các kí tự 1, 2, 7 và 8 cho trong Bảng 8.

Bảng 8 – Sự giảm/ tăng đối với các kí tự 1, 2, 7 và 8

Giá trị kí tự Bộ số A Bộ số B và C
Vạch Khoảng trống Vạch Khoảng trống
1 -0,025 +0,025 +0,025 -0,025
2 -0,025 +0,025 +0,025 -0,025
7 +0,025 -0,025 -0,025 +0,025
8 +0,025 -0,025 -0,025 +0,025

CHÚ THÍCH  Các thiết bị đã có và ảnh minh họa để tạo mã vạch đang sử dụng giá trị 0,030 mm cho hệ số giảm/ tăng có thể tiếp tục được làm việc như cũ.

4.3.7  Chiều rộng mã vạch

Chiều rộng mã vạch tính theo mô đun (gồm cả vùng trống tối thiểu) được cho trong Bảng 9.

Bảng 9 – Chiều rộng mã vạch tính theo mô đun

Loại mã vạch Chiều rộng
EAN-13 113
UPC-A 113
EAN-8 81
UPC-E 67
Mã vạch phụ 2 chữ số 25
Mã vạch phụ 5 chữ số 52
EAN-13 hoặc UPC-A + Mã vạch phụ 2 chữ số 138
UPC-E + Mã vạch phụ 2 chữ số 92
EAN-13 hoặc UPC-A + Mã vạch phụ 5 chữ số 165
UPC-E + Mã vạch phụ 5 chữ số 119

4.3.8  Hệ số phóng đại

Mã vạch có thể được làm cho nhỏ lại hoặc to lên so với cỡ danh định bằng cách áp dụng một hệ số phóng đại không đổi trong khoảng 0,8 đến 2,0 cho tất cả các kích thước.

Hệ số phóng đại của mã vạch phụ sẽ phải giống hệt hệ số phóng đại của mã vạch chính mà nó đi kèm.

CHÚ THÍCH  Trong các ứng dụng được quy định trong tài liệu Quy định kĩ thuật chung của GS1, mã vạch có thể được làm cho nhỏ lại hoặc to lên so với cỡ danh định bằng cách áp dụng một hệ số phóng đại không đổi trong khoảng 0,8 đến 2,0 cho tất cả các kích thước. Theo các trường hợp ngoại lệ được quy định trong tài liệu Quy định kĩ thuật chung của GS1, phạm vi này sẽ được mở rộng từ 0,75 đến 2,0. Khi hệ số phóng đại được làm cho nhỏ lại dưới 0,8 trong các ứng dụng này, các vùng trống tối thiểu và độ cao của mã vạch không được làm cho nhỏ lại dưới các kích thước có thể áp dụng cho mã vạch có độ phóng đại 0,8.

4.3.9  Dung sai kích thước

Dung sai của yếu tố có tính lịch sử cho trong phụ lục F đã được thay thế bởi các quy định kĩ thuật về thử trong 4.5.

4.4  Thuật toán giải mã tham chiếu

Các hệ thống đọc mã vạch được thiết kế để đọc các mã vạch không hoàn thiện đến một phạm vi nhất định mà thuật toán thực tế cho phép. Phần này mô tả thuật toán giải mã tham chiếu được dùng để quyết định giải mã và độ giải mã trong kiểm định mã vạch theo 4.5.

Đối với mỗi kí tự mã vạch, giả thiết S là chiều rộng tổng đo được của kí tự. Giá trị S được dùng để xác định giá trị ngưỡng tham chiếu (RT). Sau đó số đo từ một rìa tới rìa tương tự (e) được so sánh với ngưỡng tham chiếu (RT) để xác định giá trị E. Giá trị của kí tự được xác định từ giá trị E đến giá trị b theo Bảng 10.

Giá trị e1 được xác định như là số đo từ rìa đầu tiên của một vạch tới rìa đầu tiên của vạch liền kề. Giá trị e2 được xác định như là số đo từ rìa cuối cùng của một vạch tới rìa cuối cùng của vạch liền kề. Các giá trị b1 và b2 là kích thước từ rìa đầu tiên của một vạch tới rìa cuối cùng của chính vạch đó. Đối với các bộ số A và B, rìa bên phải của một trong hai vạch được coi như là rìa đầu tiên, trong khi đó đối với bộ số C rìa bên trái của các vạch được coi như là rìa đầu tiên, như được minh họa ở Hình 7.

Hình 7 – Số đo giải mã kí tự mã vạch

Các ngưỡng tham chiếu RT1, RT2, RT3, RT4 RT5 bằng:

RT1 = (1,5/7)S;

RT2 = (2,5/7)S;

RT3 = (3,5/7)S;

RT4 = (4,5/7)S;

RT5 = (5,5/7)S.

Trong mỗi kí tự, số đo e1 e2 được so sánh với ngưỡng tham chiếu. Giá trị nguyên tương ứng E1E2 được coi như bằng 2, 3, 4 hoặc 5 như sau:

Nếu RT1 ≤ ei < RT2, thì Ei = 2;

Nếu RT2 ≤ ei < RT3, thì Ei = 3;

Nếu RT3 ≤ ei < RT4, thì Ei = 4;

Nếu RT4 ≤ ei < RT5, thì Ei = 5.

Nếu khác đi thì kí tự bị lỗi

Trong Bảng 10, dùng giá trị E1E2 để quyết định sơ bộ cho giá trị kí tự mã vạch.

Bảng 10 – Bảng giải mã EAN/UPC

Kí tự Bộ số Quyết định sơ bộ Quyết định thứ hai
E1 E2 7(b1 + b2)/S xem chú thích
0 A 2 3  
1 A 3 4 ≤ 4
2 A 4 3 ≤ 4
3 A 2 5  
4 A 5 4  
5 A 4 5  
6 A 5 2  
7 A 3 4 > 4
8 A 4 3 > 4
9 A 3 2  
0 B và C 5 3  
1 B và C 4 4 > 3
2 B và C 3 3 > 3
3 B và C 5 5  
4 B và C 2 4  
5 B và C 3 5  
6 B và C 2 2  
7 B và C 4 4 ≤ 3
8 B và C 3 3 ≤ 3
9 B và C 4 2  
CHÚ THÍCH  b1 và b2 là các chiều rộng của 2 yếu tố vạch, xem Hình 7.

Kí tự được quyết định một cách đơn nhất đối với mọi tổ hợp của E1E2 trừ bốn trường hợp sau:

E1 = 3 và E2 = 4 (các kí tự 1 và 7 trong bộ số A);

E1 = 4 và E2 = 3 (các kí tự 2 và 8 trong bộ số A);

E1 = 4 và E2 = 4 (các kí tự 1 và 7 trong các bộ số B và C);

E1 = 3 và E2 = 3 (các kí tự 2 và 8 trong các bộ số B và C).

Những trường hợp này yêu cầu chiều rộng kết hợp của hai vạch phải được thử như sau:

Đối với E1 = 3 và E2 = 4:

Kí tự là “1” nếu: 7 x (b1 + b2) / S ≤ 4;

Kí tự là “7” nếu: 7 x (b1 + b2) / S > 4.

Đối với E1 = 4 và E2 = 3:

Kí tự là “2” nếu: 7 x (b1 + b2) / S ≤ 4;

Kí tự là “8” nếu: 7 x (b1 + b2) / S > 4.

Đối với E1 = 4 và E2 = 4:

Kí tự là “1” nếu: 7 x (b1 + b2) / S > 3;

Kí tự là “7” nếu: 7 x (b1 + b2) / S ≤ 3.

Đối với E1 = 3 và E2 = 3:

Kí tự là “2” nếu: 7 x (b1 + b2) / S > 3;

Kí tự là “8” nếu: 7 x (b1 + b2) / S ≤ 3.

Các yêu cầu đối với (b1 + b2) được cho trong Bảng 10

Các thủ tục tương tự cũng được dùng để giải mã các kí tự mã vạch trong các mã vạch phụ.

Sử dụng Hình 8, xác định số đo S thích hợp để tính giá trị ngưỡng tham chiếu RT1RT2 áp dụng cho các dấu hiệu phụ của mã vạch chính. Đối với mỗi mã vạch hoặc nửa mã vạch, số đo giá trị e1 của dấu hiệu phụ thích hợp sau đó được so sánh với ngưỡng tham chiếu để lập giá trị số nguyên Ei. Các giá trị E1, E2, E3 E4 đã được xác định phải phù hợp với các giá trị của dấu hiệu phụ như cho trong Bảng 11. Nếu không mã vạch bị lỗi.

Hình 8 – Các số đo của dấu hiệu phụ

Bảng 11 – Các giá trị E của dấu hiệu phụ của mã vạch chính

Các dấu hiệu cảnh báo phụ E1 E2 E3 E4
Dấu hiệu cảnh báo thường 2      
Trung tâm (nửa trái) 2 2 2  
Trung tâm (nửa phải)   2 2 2
Dấu hiệu cảnh báo đặc biệt 2 2 2 2

Khi tất cả các kí tự mã vạch và dấu hiệu phụ đã được giải mã, kiểm định rằng tổ hợp các dấu hiệu chẵn lẻ đáp ứng các yêu cầu đối với loại mã vạch xác định. Đối với mã vạch EAN-13, tạo chữ số ở đầu ngầm định từ các giá trị chẵn lẻ của sáu kí tự mã vạch đầu tiên, theo Bảng 3. Đối với mã vạch UPC-E, tạo số kiểm tra ngầm định từ các giá trị chẵn lẻ của sáu kí tự mã vạch đầu tiên, theo Bảng 4 và khôi phục cấu trúc dữ liệu GTIN-12. Đối với tất cả các mã vạch, kiểm tra xem số kiểm tra mã vạch đã đúng chưa.

4.5  Chất lượng mã vạch

4.5.1  Phương pháp kiểm tra

Để kiểm định một mã vạch có đáp ứng các quy định kĩ thuật nêu trong tiêu chuẩn này hay không, mã vạch phải được kiểm tra bằng việc sử dụng quy định kĩ thuật về kiểm tra nêu trong TCVN 7626. TCVN 7626 quy định điều kiện tiêu chuẩn để đo và phân cấp mã vạch, như được bổ sung tại Điều 4.5.2. TCVN 7626 quy định điều kiện; quy định phương pháp xác định phân cấp chất lượng tổng thể dựa trên các thuộc tính đã biết của mã vạch. Phải sử dụng thuật toán giải mã tham chiếu nêu tại Điều 4.4 tiêu chuẩn này để đánh giá các thông số “giải mã” và “độ giải mã” theo TCVN 7626.

TCVN 7626 cho phép chuẩn cứ đạt/ không đạt bổ sung được quy định bởi một quy định kĩ thuật về mã vạch. Đối với EAN/UPC, chuẩn cứ bổ sung được nêu trong Điều 4.5.3. Bất kì một đồ thị đặc tính phản xạ quét nào không đáp ứng quy định này phải nhận được cấp 0.

TCVN 7626 quy định cấp mã vạch tổng thể phải được thể hiện trong công thức ở ví dụ sau

1,5/10/660

trong đó:

– 1,5 là cấp chất lượng tổng thể của mã vạch;

– 10 là số tham chiếu lỗ đo (trong ví dụ này đường kính là 0,25 mm);

– 660 là bước sóng đáp ứng đỉnh tính bằng nm.

Theo quy định kĩ thuật chung của GS1, phân cấp tối thiểu của mã vạch đối với EAN/UPC là 1,5/06/670.

Phân cấp tối thiểu là 1,5/06/670 áp dụng cho mã vạch cuối cùng tại điểm sử dụng. Nên cố gắng đạt phân cấp mã vạch cao hơn tại chỗ in để cho phép những sai lệch do quá trình in và sự giảm cấp có thể xảy ra do bao gói, bảo quản và vận chuyển. Nếu có thể, khuyến nghị phân cấp mã vạch khi in phải bằng hoặc vượt quá 2,5/06/670.

Quy định kĩ thuật lúc ban đầu của UCC và EAN xác định các điều kiện quang học theo đó EAN/UPC phải được quét. Các điều kiện theo truyền thống này phải được thay thế bằng quy định kĩ thuật về kiểm tra nêu trong phần này.

4.5.2  Độ giải mã

4.5.2.1  Độ giải mã kí tự đối với các kí tự mã vạch tiêu chuẩn

Giá trị độ giải mã V phải được tính toán cho mỗi kí tự mã vạch theo bộ {0, 3, 4, 5, 6, 9} như quy định trong TCVN 7626.

4.5.2.2  Độ giải mã kí tự đối với 1, 2, 7 và 8

Giá trị độ giải mã V được tính toán cho mỗi kí tự mã vạch theo bộ {1, 2, 7, 8}.

Đối với i = 1 và 2 và j = 2, 3, 4:

K = giá trị nhỏ nhất { | ei – RTj | }

V1 = K/(S/14)

Đối với các kí tự 1, 2, 7 hoặc 8 trạng thái lẻ, giá trị V2 được cho bằng:

V2 = [ | (7/S) (chiều rộng kết hợp của cả hai vạch) – 4| ] / (15/13)

Đối với các kí tự 1, 2, 7 hoặc 8 trạng thái chẵn, giá trị V2 được cho bằng:

V2 = [ | (7/S) (chiều rộng kết hợp của cả hai vạch) – 3 | ] / (15/13)

Đối với mỗi kí tự 1, 2, 7 hoặc 8 giá trị độ giải mã V bằng giá trị nào nhỏ hơn trong V1 hoặc V2.

4.5.2.3  Độ giải mã đối với các dấu hiệu phụ

Giá trị độ giải mã V đối với các dấu hiệu phụ phải được tính toán giống như đối với các kí tự mã vạch tiêu chuẩn (n, k), nhưng sử dụng các giá trị của n, k và S như sau. Vạch ngoài cùng bên trái và dấu hiệu cảnh báo bên phải không được tính gộp vào trong tính toán này.

Đối với các dấu hiệu cảnh báo thường bên trái và bên phải của các mã vạch EAN-13, EAN-8 và UPC-A, n = 2, k = 1; S sẽ là giá trị của S đối với kí tự mã vạch tiếp ngay bên phải hoặc bên trái tương ứng của dấu hiệu cảnh báo thường. Đối với dấu hiệu cảnh báo đặc biệt ở cuối bên phải của mã vạch UPC-E, n = 4, k = 2; S sẽ là giá trị của S đối với kí tự mã vạch ngay sau bên trái của dấu hiệu cảnh báo đặc biệt.

Đối với dấu hiệu cảnh báo trung tâm của mã vạch EAN-13 và UPC-A, n = 4, k = 2. Trước hết, tính V1 đối với bốn yếu tố đầu tiên (khoảng trống – vạch – khoảng trống – vạch) sử dụng giá trị S đối với kí tự mã vạch ở ngay bên trái của dấu hiệu cảnh báo trung tâm; sau đó tính V2 đối với bốn yếu tố cuối cùng (vạch – khoảng trống – vạch – khoảng trống) sử dụng giá trị S đối với kí tự mã vạch ngay bên phải của dấu hiệu cảnh báo trung tâm. Giá trị của V đối với dấu hiệu cảnh báo trung tâm sẽ là giá trị thấp hơn trong V1 và V2.

4.5.3  Chuẩn cứ phụ

TCVN 7626 cho phép chuẩn cứ phụ đạt / không đạt được quy định bởi một quy định kỹ thuật về mã vạch. Đối với mã vạch EAN/UPC, các kích thước vùng trống tối thiểu được cho trong Điều 4.3.4. Bất kì một đồ thị đặc tính phản xạ quét riêng rẽ nào không đạt những yêu cầu này sẽ phải nhận phân cấp bằng “0”.

Độ rộng tối thiểu của các vùng trống đo được:

– Mã vạch EAN-13: bên trái 10X; bên phải 6,2X;

– Mã vạch UPC-A: 8X;

– Mã vạch UPC-E: bên trái 8X; bên phải 6,2X;

– Mã vạch EAN-8: 6,2X;

– (Tất cả) mã vạch phụ: bên phải 4,2X.

Mã vạch đạt phân cấp dưới mức quy định tại Điều 4.3.8 về Hệ số phóng đại phải nhận được phân cấp bằng 0.

CHÚ THÍCH  Việc chọn dung sai về lịch sử đã căn cứ vào tài liệu hướng dẫn về chất lượng của U.P.C. Vì đã không bao gồm EAN-13 và EAN-8, dung sai tương tự đạt được đã được chọn cho các mã vạch này.

4.6  Các thông số do ứng dụng quy định

Chỉ có GS1 được quyền quy định các thông số ứng dụng quy định cho mã vạch EAN/UPC. Quy định kĩ thuật chung của hệ thống GS1 quy định các thông số sau đây:

– nội dung dữ liệu;

– lựa chọn loại mã vạch và sử dụng các mã vạch phụ;

– Các phạm vi kích thước X và độ cao cho phép của mã vạch.

4.7  Diễn dịch người đọc

Diễn dịch người đọc được quy định trong phụ lục A.2.

4.8  Dữ liệu được truyền

Ứng dụng chủ yếu của EAN/UPC sử dụng các giao thức phụ thuộc vào hệ thống để dữ liệu được truyền từ máy đọc tới điểm tính tiền hoặc thiết bị khác.

Nếu không có giao thức truyền được xác định trước giữa máy đọc và ứng dụng, thì việc truyền các số phân định mã vạch phải tạo thuận lợi cho thiết bị đọc. Dữ liệu truyền đi phải bao gồm số phân định mã vạch tiếp theo là dữ liệu đã giải mã, như quy định trong phụ lục B.

4.9  Hướng dẫn áp dụng

Các hướng dẫn áp dụng thực tế mã vạch này được cho trong phụ lục G.

 

Phụ lục A

(quy định)

Các đặc trưng phụ

A.1  Số kiểm tra

Số kiểm tra bắt buộc của EAN/UPC là chữ số cuối cùng bên phải được mã hóa trong EAN-13, UPC-A và EAN-8. Để tính số kiểm tra hoặc là kiểm định lại số kiểm tra trong trường hợp nó đã có, có thể sử dụng thuật toán sau đây:

1) Lập một bảng có số cột bằng chiều dài của mã số xác định:

– 13 cho GTIN-13;

– 12 cho GTIN-12;

– 8 cho GTIN-8.

CHÚ THÍCH  Cả mã vạch UPC-A và UPC-E đều mã hóa mã số GTIN-12.

2) Cấp hệ số trọng lượng:

Đối với GTIN-13 1 3 1 3 1 3 1 3 1 3 1 3 1
Đối với GTIN-12   3 1 3 1 3 1 3 1 3 1 3 1
Đối với GTIN-8           3 1 3 1 3 1 3 1

3) Đặt các chữ số của mã số đúng vào các vị trí của nó. Nếu chưa có số kiểm tra thì để cột cuối cùng bên phải trống.

4) Nhân mỗi chữ số của mã số với hệ số trọng lượng của nó.

5) Tổng các kết quả.

6) Chia tổng đó cho 10 để tìm số dư. Nếu số kiểm tra đã được ghi vào cột ngoài cùng bên phải, thì số dư phải bằng 0. (Nếu số dư không bằng 0, thì hoặc là dữ liệu đã sai hoặc tính toán sai). Nếu chưa có số kiểm tra, thì thực hiện bước 7.

7) Xác định số kiểm tra

  1. i) Nếu số dư bằng 0, thì số kiểm tra bằng 0.
  2. ii) Nếu số dư không bằng 0, thì số kiểm tra bằng 10 trừ đi số dư.

VÍ DỤ cho GTIN-8

Bước 2: 3 1 3 1 3 1 3 1
Bước 3: 5 4 4 9 0 1 0  
Bước 4: 15 4 12 9 0 1 0  
Bước 5: Tổng bằng 41      

Bước 6: 41 chia cho 10 bằng 4 dư 1

Bước 7: 10 – 1 = 9; do đó số kiểm tra bằng 9

Mã số GTIN-8 đầy đủ là : 54490109

A.2  Diễn dịch người đọc

Các chữ số người đọc phải được in bên dưới mã vạch chính và bên trên mã vạch phụ. Phải sử dụng một phông chữ rõ ràng cho chữ số người đọc, ví dụ OCR-B như quy định trong tiêu chuẩn ISO 1073-2. Phông này chỉ dùng để tham chiếu như một giao diện tiêu chuẩn thuận tiện và không có mục đích đọc hay kiểm định các kí tự này bằng máy. Các loại phông và các cỡ kí tự thay thế hợp lý khác cũng được chấp nhận nếu nó rõ ràng dễ đọc.

Tất cả các kí tự được mã hóa cho EAN-13, UPC-A, EAN-8 và các mã vạch phụ phải được thể hiện dưới dạng người đọc. Đối với mã vạch UPC-E, sáu chữ số được mã hóa trực tiếp cùng với các số “0” ở đầu và số kiểm tra mã hóa ngầm định phải được thể hiện dưới dạng người đọc được. Hình 1, 2, 3, 4, 5 và 6 minh họa từng loại mã vạch gồm cả chữ số người đọc được.

Chiều cao của các chữ số này trong mã vạch có cỡ danh định là 2,75 mm. Khoảng cách tối thiểu giữa đỉnh của chữ số và chân của vạch phải bằng 0,5X.

Trong mã vạch EAN-13, chữ số tận cùng bên trái, được mã hóa bằng trạng thái chẵn lẻ khác nhau, được in bên trái của dấu hiệu cảnh báo bắt đầu ngang hàng với các chữ số khác.

Đối với mã vạch UPC-A và UPC-E, cỡ của chữ số đầu tiên và cuối cùng phải giảm đến chiều rộng lớn nhất tương đương bằng 4 mô đun. Chiều cao này cũng được giảm một cách tỷ lệ. Cạnh phải của chữ số đầu tiên được đặt cách cạnh bên trái của vạch cảnh báo tận cùng bên trái là 5 mô đun. Cạnh trái của chữ số cuối cùng được đặt cách cạnh phải của vạch cảnh báo tận cùng bên phải là 5 mô đun đối với mã vạch UPC-A và 3 mô đun đối với mã vạch UPC-E. Rìa phía dưới của chữ số đầu tiên và cuối cùng phải đặt ngang hàng với các chữ số giữ nguyên cỡ còn lại.

Diễn dịch người đọc của mã vạch phụ được đặt bên trên mã vạch phụ. Các chữ số phải có cùng chiều cao với chữ số của mã vạch chính. Rìa phía trên của các chữ số được đặt ngang với rìa phía trên của các vạch trong mã vạch chính. Khoảng cách tối thiểu giữa đáy của chữ số và đỉnh của các vạch phải là 0,5X.

 

Phụ lục B

(quy định)

Số phân định mã vạch

Số phân định mã vạch có thể được một máy đọc được lập trình thích hợp thêm vào như là một phần đầu của dữ liệu mã hóa. Số phân định mã vạch được cấp cho EAN/UPC trong ISO/IEC 15424 là:

]Em

trong đó:

] thể hiện kí tự 93 ASCII,

E là kí tự mã hóa cho mã vạch EAN/UPC và

m là kí tự biến đổi như trong bảng B.1 dưới đây, Các giá trị cho phép của m là 0, 1, 2, 3, 4.

Mã vạch EAN/UPC cùng với mã vạch phụ có thể coi hoặc là như hai mã vạch riêng biệt, mỗi mã vạch được truyền tách biệt với số phân định mã vạch riêng của nó, hoặc là như một gói dữ liệu đơn. Người dùng có thể chọn một trong hai phương pháp này.

Mã vạch UPC-A và UPC-E mã hóa ngầm định một số không ở đầu và được truyền đi như là các chuỗi 13 kí tự. Tất cả dữ liệu phải được truyền như là dữ liệu ASCII tuân theo ISO/IEC 646.

Bảng B.1 – Các giá trị ca m cho EAN/UPC

Giá trị m Lựa chọn
0 Gói dữ liệu tiêu chuẩn, tức là 13 chữ số đối với EAN-13, UPC-A và UPC-E (không chứa dữ liệu phụ)
1 Chỉ có dữ liệu phụ hai chữ số
2 Chỉ có dữ liệu phụ năm chữ số
3 Gói dữ liệu kết hợp gồm 13 chữ số từ mã vạch EAN-13, UPC-A hoặc UPC-E và 2 hoặc 5 chữ số từ mã vạch phụ
4 Gói dữ liệu bao gồm 8 chữ số từ mã vạch EAN-8

Số phân định mã vạch này không được mã hóa trong mã vạch, nhưng được phát bởi thiết bị giải mã sau khi giải mã và được truyền đi như là phần đầu của thông điệp dữ liệu.

Các giá trị của m được cấp trước đây (8, 9, A, B, C) nay đều bãi bỏ.

 

Phụ lục C

(tham khảo)

Khái quát về hệ thống GS1

GS1 là tổ chức quản lý mã số phân định toàn cầu, hợp nhất hai tổ chức trước đây có tên là EAN quốc tế và Hội đồng mã thống nhất (UCC – Uniform Code Council). Hệ thống GS1 được duy trì thông qua một mạng lưới các cơ quan quốc gia và liên quốc gia gọi là các tổ chức thành viên, có tên gọi là GS1 sau đó là tên quốc gia sở tại, ví dụ GS1 Mỹ hay GS1 Pháp. Ứng dụng chung nhất của mã số phân định GS1 là trong phạm vi phân định sản phẩm. Nhưng các mã số có thể được dùng để phân định các đối tượng khác trong phạm vi các quy tắc thông dụng của hệ thống GS1.

Nguyên tắc cơ bản của tiêu chuẩn phân định là các mã số không mang tính hàm ý. Bản thân mã số không mang bất kì một thông tin nào về đối tượng mà nó phân định. Nó không phân định quốc gia xuất xứ, nhà cung cấp, loại hoặc giá của đối tượng.

Nhưng các mã số được cấu trúc để cho phép quản lý hệ thống và đảm bảo tính đơn nhất của mã số trên toàn cầu.

Quy định kĩ thuật về ứng dụng được nêu trong tài liệu Quy định kĩ thuật chung của GS1 là sẵn có tại các tổ chức GS1 thành viên

Địa chỉ của văn phòng GS1:

GS1

Blue Tower

Avenue Louise 326

BE1050 Brussels

Belgium

T +32 2 788 78 00

www.gs1.org

Phụ lục D

(tham khảo)

Minh họa các bộ số A, B và C và các dấu hiệu phụ

Hình D.1 – Thể hiện bằng đồ họa các bộ số A, B và C

Hình D.2 – Thể hiện bằng đồ họa các dấu hiệu phụ

 

Phụ lục E

(tham khảo)

Bản vẽ kích thước của mã vạch cỡ danh định

CHÚ THÍCH 1  Theo 4.3.1, các kích thước được sử dụng trong hình vẽ của Phụ lục này căn cứ vào kích thước X theo đơn vị đo lường là 0,33 mm.

CHÚ THÍCH 2  Đối với các biến thể của họ mã vạch EAN/UPC được minh họa ở Phụ lục này, một kích thước cụ thể có thể chỉ được thể hiện trong một hình. Tất cả các kích thước có thể đạt được theo 4.3.

Hình E.1 – EAN-13

Hình E.2 – UPC-A

Hình E.3 – Ví dụ về biến thể UPC-A

Hình E.4 – EAN-8

Hình E.5 – UPC-E

Hình E.6 – UPC-A với mã vạch phụ 2 chữ số

Hình E.7 – EAN-13 với mã vạch phụ 5 chữ số

 

Phụ lục F

(tham khảo)

Dung sai kích thước truyền thống

Các dung sai mô tả trong phụ lục này được quy định trong tài liệu quy định kĩ thuật trước đó đối với việc in theo yêu cầu hay thiết bị in mã trong cửa hàng. Mặc dù các dung sai này vẫn còn có ích để kiểm soát quá trình hoặc là để hướng dẫn phát triển thiết bị in, chúng đã bị hủy bỏ bởi các quy định kĩ thuật về thử ở Điều 4.5, cả đối với tiêu chuẩn này và trong tài liệu quy định kĩ thuật chung của GS1.

Có 3 dung sai khác nhau áp dụng cho mã vạch EAN/UPC. Chúng được minh họa trong hình F.1 và được định nghĩa như sau:

– Tb là dung sai của chiều rộng vạch hoặc khoảng trống (ba kích thước có chỉ số ‘b’ trên hình F.1);

– Te là dung sai tiếp giáp (giới hạn) vạch và khoảng trống trong một kí tự mã vạch và được minh họa như hai kích thước có chỉ số ‘e’ trên hình F.1. Các kích thước này được đo từ lề đầu của một vạch tới lề đầu của vạch tiếp sau, hoặc là lề cuối của một vạch tới lề cuối của vạch tiếp sau;

– Tp là dung sai áp dụng cho chiều rộng tổng của một kí tự mã vạch (kích thước có chỉ số ‘p’ trên hình F.1.).

Hình F.1 – Các số đo dung sai

Các giá trị của dung sai Tb, Te,Tp đối với hệ số phóng đại M đã cho được xác định bằng:

– Nếu M ≤ 1, Tb = ± (X – 0,229) mm;

– Nếu M > 1, Tb = ± (0,470X – 0,055) mm;

Te = ± 0,147X;

Tp = ± 0,290X.

Trong trường hợp khoảng trống đầu của một kí tự từ bộ số A hoặc B, hoặc là khoảng trống cuối của một kí tự từ bộ số C, không áp dụng dung sai Tb. Tuy nhiên, chiều rộng của khoảng trống này không bao giờ được nhỏ hơn 0,200 mm.

Hình F.2 – Dung sai được tính cho các giá trị khác nhau của X

Định nghĩa về độ tương phản của bản in PCS được bỏ đi trong tiêu chuẩn này và tài liệu quy định kĩ thuật chung của GS1. Để biết thêm thông tin về PCS, xem TCVN 7626, Phụ lục I.

 

Phụ lục G

(tham khảo)

Hướng dẫn đọc và in

G.1  Tính tương hợp phân biệt tự động

Mã vạch EAN/UPC có thể được đọc bởi các thiết bị giải mã được lập trình thích hợp được thiết kế để tự động phân biệt chúng với các mã vạch khác.

Bộ mã vạch có giá trị được giải mã phải được giới hạn trong một phạm vi cần cho một ứng dụng nào đó với độ an toàn đọc tối đa.

G.2  Xem xét hệ thống

Điều quan trọng là các thành phần khác nhau (máy in, nhãn, máy đọc, cơ sở dữ liệu) được lắp đặt để hoạt động cùng với nhau trong một hệ thống. Một sai sót trong bất kì thành phần nào, hoặc là sự không ăn khớp giữa chúng, có thể làm giảm tính năng chung của hệ thống.

G.3  Xem xét về in

Phần mềm đồ họa dùng để tạo mã vạch trên máy in điểm phải chia độ vạch và khoảng trống chính xác theo đỉnh chấm của máy in sử dụng. Đối với mã vạch EAN/UPC, số chấm tạo thành mỗi mô đun phải là một giá trị nguyên cố định và không đổi. Vì vậy một máy in cho trước chỉ có thể in một bộ nhất định của độ phóng đại mã vạch.

Giảm hoặc tăng các vạch và khoảng trống trong kí tự mã vạch 1, 2, 7 và 8 (xem 4.3.6) được thực hiện bằng cách thay đổi một số nguyên chấm tại chu vi vạch/khoảng trống từ tối sang sáng hoặc ngược lại miễn là giải pháp của máy in thực hiện chức năng này một cách hoàn hảo. Tương tự, việc bù cho sự tăng (hoặc giảm) chiều rộng vạch được thực hiện bằng cách thay đổi một số nguyên các chấm tại mỗi chu vi vạch – tới – khoảng trống từ tối sang sáng (hoặc tứ sáng sang tối). Hoặc sự điều chỉnh này thay đổi số đo rìa tới rìa tương ứng hoặc là chiều rộng kí tự mã vạch tổng cộng. Nếu không theo những nguyên tắc này sẽ làm giảm cấp chất lượng mã vạch và làm cho mã vạch không đọc được.

G.4  Ví dụ của người lập trình

Các nguyên tắc nói ở G.3 có thể được giảm đi tới những quy tắc sau đây đối với những file thiết kế mã vạch kĩ thuật số dựa trên vec-tơ:

1) Chuyển độ phóng đại mong muốn thành cỡ mô đun tính theo chấm làm tròn tới số nguyên gần nhất với điều kiện độ phóng đại mã vạch tối thiểu đạt được.

2) Chia số nguyên chấm theo mô đun cho 13 và làm tròn tới số nguyên gần nhất. Giá trị này được dùng để giảm hoặc tăng vạch và khoảng trống trong các kí tự 1, 2, 7, và 8.

3) Quyết định số chấm tương ứng với việc bù mong muốn để thống nhất tăng chiều rộng vạch và làm tròn tới số nguyên lớn hơn liền kề.

4) Áp dụng kết quả trên đây để quyết định số chấm của từng vạch và khoảng trống trong mã vạch.

VÍ DỤ

Sử dụng file thiết kế mã vạch kĩ thuật số dựa trên vec-tơ với thiết bị ảnh 50 chấm trên milimet, tạo một mã vạch có độ phóng đại 90% có độ giảm chiều rộng vạch 0,11 mm.

– Cỡ mô đun của 50 chấm/mm * 0,9 mag * 0,33 mm/mô đun = 14,85, làm tròn tới 14 chấm trên mô đun. Độ phóng đại thực tế trở thành 0,8480.

– Bù của 1, 2, 7, 8 là (14 chấm/mô đun) / 13 = 1,077, làm tròn tới 1 chấm.

– Bù nở chiều rộng vạch là 0,11 mm * 50 chấm/mm = 5,5, làm tròn lên 6 chấm.

Quá trình này dẫn đến kết quả là số đếm chấm sẽ như sau đây đối với vạch và khoảng trống trong các dấu hiệu phụ và các kí tự mã vạch 0, 3, 4, 5, 6, và 9 như minh họa trong Bảng G.1.

Bảng G.1 – Sửa lỗi chấm đối với giải pháp ảnh và giảm chiều rộng vạch

Số đếm mô đun Số đếm chấm
  Vạch Khoảng trống
1 8 20
2 22 34
3 36 48
4 50 62

Đối với các kí tự mã vạch 1, 2, 7, và 8, số đếm chấm của mỗi vạch và khoảng trống, được minh họa trong bảng G.1 sẽ thay đổi một chấm theo hướng dấu + và – chỉ ra trong bảng 8. Ví dụ, kí tự mã vạch 1 trong bộ số B (xem Bảng 1) sẽ có số đếm chấm như trong Bảng G.2.

Bảng G.2 – Sửa lỗi chấm đối với kí tự mã vạch 1, bộ số B

Khoảng trống Vạch Khoảng trống Vạch
19 23 33 23

 

Thư mục tài liệu tham khảo

[1] ISO 1073-2:1976 Alphanumeric character sets for optical recognition – Part 2: Character set OCR-B – Shapes and dimensions of the printed image (Các bộ kí tự chữ cái và chữ số để nhận dạng quang học – Phần 2: Bộ kí tự OCR-B – Hình dạng và kích thước của hình ảnh được in).

[2] 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ã vạch)).

[3] Quy định kĩ thuật chung của GS1 (GS1, Brussels, Bỉ).

 

MỤC LỤC

Lời nói đầu

Lời giới thiệu

1  Phạm vi áp dụng

2  Tài liệu viện dẫn

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

4  Yêu cầu chung

4.1  Các đặc trưng của mã vạch

4.2  Cấu trúc mã vạch

4.2.1  Loại mã vạch

4.2.2  Mã hóa mã vạch

4.2.3  Định dạng mã vạch

4.3  Kích thước và dung sai

4.3.1  Cơ sở đo

4.3.2  Độ rộng của yếu tố hẹp

4.3.3  Độ cao của vạch

4.3.4  Vùng trống

4.3.5  Vị trí của mã vạch phụ

4.3.6  Độ rộng của yếu tố

4.3.7  Độ rộng của mã vạch

4.3.8  Hệ số phóng đại

4.3.9  Dung sai kích thước

4.4  Thuật toán giải mã tham chiếu

4.5  Chất lượng mã vạch

4.5.1  Phương pháp kiểm tra

4.5.2  Độ giải mã

4.5.3  Chuẩn cứ phụ

4.6  Các thông số do người dùng quy định

4.7  Diễn dịch người đọc

4.8  Dữ liệu được truyền

4.9  Hướng dẫn áp dụng

Phụ lục A (quy định) Các đặc trưng phụ

Phụ lục B (quy định) Số phân định mã vạch

Phụ lục C (tham khảo) Khái quát về hệ thống GS1

Phụ lục D (tham khảo) Minh họa các bộ số A, B và C và các dấu hiệu phụ

Phụ lục E (tham khảo) Bản vẽ kích thước của mã vạch cỡ danh định

Phụ lục F (tham khảo) Dung sai kích thước truyền thống

Phụ lục G (tham khảo) Hướng dẫn đọc và in

Thư mục tài liệu tham khảo

TIÊU CHUẨN QUỐC GIA TCVN 7825:2019 (ISO/IEC 15420:2009) VỀ CÔNG NGHỆ THÔNG TIN – KỸ THUẬT PHÂN ĐỊNH VÀ THU THẬP DỮ LIỆU TỰ ĐỘNG – YÊU CẦU KỸ THUẬT MÃ VẠCH EAN/UPC
Số, ký hiệu văn bản TCVN7825:2019 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 Sở hữu công nghiệp
Giao dịch điện tử
Ngày ban hành 01/01/2019
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